diff --git a/GRIB_BLE_HUB/00_GribColor.sh b/GRIB_BLE_HUB/00_GribColor.sh new file mode 100644 index 0000000..301e372 --- /dev/null +++ b/GRIB_BLE_HUB/00_GribColor.sh @@ -0,0 +1,44 @@ +#!/bin/bash + +# ########## ########## ########## ########## ########## ########## ########## ########## +# shbaek: Constant +# ########## ########## ########## ########## ########## ########## ########## ########## +export MY_DONE=0 +export MY_SUCCESS=0 +export MY_OFF=0 + +export MY_ON=1 +export MY_FAIL=1 +export MY_ERROR=1 + +export MY_RESULT=0 + +export COLOR_BLACK="\e[30m" + +export COLOR_RED="\e[31m" +export COLOR_RED_BOLD="\e[1;31m" +export COLOR_RED_UNDER="\e[4;31m" +export COLOR_RED_BLINK="\e[5;31m" + +export COLOR_GREEN="\e[32m" +export COLOR_GREEN_BOLD="\e[1;32m" +export COLOR_GREEN_UNDER="\e[4;32m" +export COLOR_GREEN_BLINK="\e[5;32m" + +export COLOR_YELLOW="\e[33m" +export COLOR_YELLOW_BOLD="\e[1;33m" +export COLOR_YELLOW_UNDER="\e[4;33m" +export COLOR_YELLOW_BLINK="\e[5;33m" + +export COLOR_BLUE="\e[34m" +export COLOR_BLUE_BOLD="\e[1;34m" +export COLOR_BLUE_UNDER="\e[4;34m" +export COLOR_BLUE_BLINK="\e[5;34m" + +export COLOR_WHITE="\e[37m" +export COLOR_WHITE_BOLD="\e[1;37m" +export COLOR_WHITE_UNDER="\e[4;37m" +export COLOR_WHITE_BLINK="\e[5;37m" + + +export COLOR_END="\e[m" diff --git a/GRIB_BLE_HUB/config/grib.config b/GRIB_BLE_HUB/config/grib.config index aeba5a7..64f8ad7 100644 --- a/GRIB_BLE_HUB/config/grib.config +++ b/GRIB_BLE_HUB/config/grib.config @@ -1,27 +1,49 @@ # ########## ########## ########## ########## ########## ########## # shbaek: one M2M Server Info # ########## ########## ########## ########## ########## ########## -HUB_ID : ENG_HUB01 +HUB_ID : NONAME_HUB # ########## ########## ########## ########## ########## ########## # shbaek: one M2M Server Info # ########## ########## ########## ########## ########## ########## -PLATFORM_SERVER_IP : 166.104.112.34 -PLATFORM_SERVER_PORT : 8080 +# HY Server : 166.104.112.34 +# Test Server: 218.153.68.53 +# ########## ########## ########## ########## ########## ########## +PLATFORM_SERVER_IP : 166.104.112.34 +PLATFORM_SERVER_PORT : 8080 + +# ########## ########## ########## ########## ########## ########## +# shbaek: Authentication Server Info (Maybe... Same SI Server?) +# ########## ########## ########## ########## ########## ########## +AUTH_SERVER_IP : 166.104.112.34 +AUTH_SERVER_PORT : 8081 + +# ########## ########## ########## ########## ########## ########## +# shbaek: Semantic Data Analysis Server Info +# ########## ########## ########## ########## ########## ########## +SDA_SERVER_IP : 166.104.112.43 +SDA_SERVER_PORT : 20080 # ########## ########## ########## ########## ########## ########## # shbaek: MySQL Info # ########## ########## ########## ########## ########## ########## -MYSQL_DB_HOST : 127.0.0.1 -MYSQL_DB_PORT : 3306 -MYSQL_DB_USER : root -MYSQL_DB_PASSWORD : mysql +MYSQL_DB_HOST : 127.0.0.1 +MYSQL_DB_PORT : 3306 +MYSQL_DB_USER : root +MYSQL_DB_PASSWORD : mysql + +# ########## ########## ########## ########## ########## ########## +# shbaek: Auto Reset Timer +# ########## ########## ########## ########## ########## ########## +RESET_TIMER_USE : TRUE +RESET_TIME_HOUR : 6 # ########## ########## ########## ########## ########## ########## # shbaek: ETC # ########## ########## ########## ########## ########## ########## -GRIB_DEBUG_ONEM2M : FALSE -GRIB_DEBUG_BLE : FALSE -GRIB_DEBUG_THREAD : FALSE -GRIB_BLE_TOMBSTONE : FALSE +GRIB_DEBUG_ONEM2M : FALSE +GRIB_DEBUG_BLE : FALSE +GRIB_DEBUG_THREAD : FALSE +GRIB_TOMBSTONE_BLE : FALSE +GRIB_TOMBSTONE_HTTP : FALSE diff --git a/GRIB_BLE_HUB/grib b/GRIB_BLE_HUB/grib deleted file mode 100644 index 5a0271b..0000000 Binary files a/GRIB_BLE_HUB/grib and /dev/null differ diff --git a/GRIB_BLE_HUB/grib.cpp b/GRIB_BLE_HUB/grib.cpp deleted file mode 100644 index 88aa912..0000000 --- a/GRIB_BLE_HUB/grib.cpp +++ /dev/null @@ -1,639 +0,0 @@ -/* ********** ********** ********** ********** ********** ********** ********** ********** ********** ********** -shbaek: Include File -********** ********** ********** ********** ********** ********** ********** ********** ********** ********** */ -#include - -#include "include/grib_define.h" -#include "include/grib_onem2m.h" - -#include "include/grib_db.h" -#include "include/grib_ble.h" -#include "include/grib_regi.h" -#include "include/grib_thread.h" - -/* ********** ********** ********** ********** ********** ********** ********** ********** ********** ********** -shbaek: Global Variable -********** ********** ********** ********** ********** ********** ********** ********** ********** ********** */ -typedef enum -{//shbaek: Command Index - GRIB_CMD_NAME = 0, //shbaek: ./grib - GRIB_CMD_MAIN = 1, //shbaek: start, regi, debug, test, ... - GRIB_CMD_SUB = 2, - GRIB_CMD_ARG1 = 3, - GRIB_CMD_ARG2 = 4, - GRIB_CMD_ARG3 = 5, - GRIB_CMD_ARG4 = 5, - GRIB_CMD_MAX -}Grib_CmdIndex; - -void Grib_MenuHelp(void) -{ - GRIB_LOGD("\n"); - GRIB_LOGD("# ########## ########## ########## GRIB MENU ########## ########## ##########\n"); -// GRIB_LOGD("#\n"); - GRIB_LOGD("# grib version\n"); - GRIB_LOGD("# grib hub\n"); - GRIB_LOGD("# grib regi \"DEVICE ADDR\"\n"); - GRIB_LOGD("# grib deregi \"DEVICE ID\"\n"); - GRIB_LOGD("# grib db all\n"); - GRIB_LOGD("# grib db create\n"); - GRIB_LOGD("# grib db drop\n"); - GRIB_LOGD("# grib ble init\n"); - GRIB_LOGD("# grib ble sacn\n"); - GRIB_LOGD("# grib ble info \"DEVICE ADDR\"\n"); -// GRIB_LOGD("#\n"); - GRIB_LOGD("# ########## ########## ########## ######### ########## ########## ##########\n"); - GRIB_LOGD("\n"); - return; -} - -void Grib_MenuConfig(int argc, char **argv) -{ - int iRes = GRIB_ERROR; - Grib_ConfigInfo pConfigInfo; - - MEMSET(&pConfigInfo, 0x00, sizeof(Grib_ConfigInfo)); - - iRes = Grib_LoadConfig(&pConfigInfo); - - return; -} - -void Grib_MenuHub(int argc, char **argv) -{ - //3 shbaek: MAIN FUNCTION - GRIB_LOGD("# ##### ##### ##### ##### ##### GRIB START ##### ##### ##### ##### #####\n"); - GRIB_LOGD("# COMPILE TIME : %s %s\n", __DATE__, __TIME__); - - Grib_ThreadStart(); - return; -} - -void Grib_MenuRegi(int argc, char **argv) -{ - char* deviceAddr = NULL; - - //shbaek: You Must be Set Server Config. - Grib_SetServerConfig(); - - if(argc < GRIB_CMD_SUB+1) - { - GRIB_LOGD("# USAGE: grib regi \"DEVICE ADDR\"\n"); - return; - } - - deviceAddr = argv[GRIB_CMD_SUB]; - if(STRNCASECMP(deviceAddr, ONEM2M_URI_CONTENT_HUB, STRLEN(ONEM2M_URI_CONTENT_HUB))==0) - {//shbaek: Regi Hub Self - Grib_HubRegi(); - return; - } - else - {//shbaek: Regi BLE Device - Grib_DeviceRegi(deviceAddr); - } - - return; -} - -void Grib_MenuDeRegi(int argc, char **argv) -{ - char* deviceID = NULL; - - //shbaek: You Must be Set Server Config. - Grib_SetServerConfig(); - - if(argc < GRIB_CMD_SUB+1) - { - GRIB_LOGD("# USAGE: grib regi \"DEVICE ID\"\n"); - return; - } - - deviceID = argv[GRIB_CMD_SUB]; - Grib_DeviceDeRegi(deviceID); - return; -} - -void Grib_MenuBle(int argc, char **argv) -{ - int iRes = GRIB_ERROR; - char recvBuff[BLE_MAX_SIZE_RECV_MSG+1] = {'\0', }; - char* subMenu = NULL; - char* pSendMsg = NULL; - - char* deviceID = NULL; - char* deviceAddr = NULL; - - subMenu = GRIB_CMD_SUB[argv]; - - if(STRCASECMP(subMenu, "init") == 0) - {//shbaek: Avoid Permission Error - char* pCommand = "sudo ./grib ble sinit"; - char pLineBuffer[SIZE_1M] = {'\0', }; - int iSkipCount = 0; - - iRes = systemCommand(pCommand, pLineBuffer, sizeof(pLineBuffer)); - GRIB_LOGD("# COMMAND RESULT[%d]:\n\n%s\n", STRLEN(pLineBuffer),pLineBuffer+iSkipCount); - return; - } - if(STRCASECMP(subMenu, "scan") == 0) - {//shbaek: Avoid Permission Error - char* pCommand = "sudo ./grib ble sscan"; - char pLineBuffer[SIZE_1M] = {'\0', }; - int iSkipCount = 0; - - GRIB_LOGD("# BLE SCANNING ...\n"); - iRes = systemCommand(pCommand, pLineBuffer, sizeof(pLineBuffer)); - GRIB_LOGD("# COMMAND RESULT[%d]:\n%s\n", STRLEN(pLineBuffer), pLineBuffer+iSkipCount); - return; - } - if(STRCASECMP(subMenu, "sinit") == 0) - { - Grib_BleDeviceInit(); - } - if(STRCASECMP(subMenu, "sscan") == 0) - { - int iScanCount = 100;//shbaek: Default - - if(4 < argc)iScanCount = ATOI(GRIB_CMD_ARG1[argv]); - //GRIB_LOGD(" \n"); - - Grib_BleDeviceScan(iScanCount); - } - if(STRCASECMP(subMenu, "info") == 0) - { - Grib_DbRowDeviceInfo rowDeviceInfo; - if(argc < GRIB_CMD_ARG1+1) - { - GRIB_LOGD("# USAGE: grib ble info \"DEVICE ADDR\"\n"); - return; - } - deviceAddr = GRIB_CMD_ARG1[argv]; - STRINIT(rowDeviceInfo.deviceAddr, sizeof(rowDeviceInfo.deviceAddr)); - STRNCPY(rowDeviceInfo.deviceAddr, deviceAddr, STRLEN(deviceAddr)); - - Grib_BleDeviceInfo(&rowDeviceInfo); - } - if(STRCASECMP(subMenu, "send") == 0) - { - Grib_DbRowDeviceInfo rowDeviceInfo; - if(argc < GRIB_CMD_ARG3+1) - { - GRIB_LOGD("# USAGE: grib ble send \"DEVICE ADDR\" \"DEVICE ID\" \"SEND MSG\"\n"); - return; - } - - deviceAddr = GRIB_CMD_ARG1[argv]; - deviceID = GRIB_CMD_ARG2[argv]; - pSendMsg = GRIB_CMD_ARG3[argv]; - - Grib_BleSendMsg(deviceAddr, deviceID, pSendMsg, recvBuff); - - //GRIB_LOGD("# SEND MSG[%03d]: %s\n", STRLEN(pSendMsg), pSendMsg); - //GRIB_LOGD("# RECV MSG[%03d]: %s\n", STRLEN(recvBuff), recvBuff); - } - if(STRCASECMP(subMenu, "clean") == 0) - { - Grib_BleCleanAll(); - } - - return; -} - -void Grib_MenuDb(int argc, char **argv) -{ - int i = 0; - int x = 0; - int iRes = GRIB_ERROR; - int iDeviceCount = 0; - int iFuncCount = 0; - char* subMenu = NULL; - - char* deviceID = NULL; - - Grib_DbAll dbAll; - Grib_DbAll* pDbAll; - Grib_DbRowDeviceInfo* pRowDeviceInfo; - Grib_DbRowDeviceFunc* pRowDeviceFunc; - - subMenu = GRIB_CMD_SUB[argv]; - - if(STRCASECMP(subMenu, "create") == 0) - { - Grib_DbCreate(); - Grib_DbClose(); - } - if(STRCASECMP(subMenu, "drop") == 0) - { - Grib_DbDrop(); - Grib_DbClose(); - } - if(STRCASECMP(subMenu, "all") == 0) - { - Grib_DbToMemory(&dbAll); - pDbAll = &dbAll; - iDeviceCount = pDbAll->deviceCount; - - for(i=0; ippRowDeviceInfo[i]; - iFuncCount = pRowDeviceInfo->deviceFuncCount; - - GRIB_LOGD("\n"); - GRIB_LOGD("# ---------- ---------- ---------- ---------- ---------- ---------- ----------\n"); - GRIB_LOGD("# DEVICE ID : %s\n", pRowDeviceInfo->deviceID); - GRIB_LOGD("# DEVICE IF : %s\n", Grib_InterfaceToStr((Grib_DeviceIfType)pRowDeviceInfo->deviceInterface)); - GRIB_LOGD("# DEVICE ADDR : %s\n", pRowDeviceInfo->deviceAddr); - GRIB_LOGD("# DEVICE LOC : %s\n", pRowDeviceInfo->deviceLoc); - GRIB_LOGD("# DEVICE DESC : %s\n", pRowDeviceInfo->deviceDesc); - GRIB_LOGD("# REPORT CYCLE : %d\n", pRowDeviceInfo->reportCycle); - GRIB_LOGD("# DEVICE FCOUNT : %d\n", pRowDeviceInfo->deviceFuncCount); - - for(x=0; xppRowDeviceFunc[x]; - GRIB_LOGD("# FUNC INFO[%d/%d]: [%s][%s][0x%x]\n", x+1, iFuncCount, pRowDeviceFunc->funcName, pRowDeviceFunc->exRsrcID, pRowDeviceFunc->funcAttr); - //GRIB_LOGD("# NAME/RI/ATTR : [%s][%s][0x%x]\n", pRowDeviceFunc->funcName, pRowDeviceFunc->exRsrcID, pRowDeviceFunc->funcAttr); - } - } - GRIB_LOGD("\n"); - } - if(STRCASECMP(subMenu, "delete") == 0) - { - deviceID = GRIB_CMD_ARG1[argv]; - - iRes = Grib_DbDelDeviceFunc(deviceID); - if(iRes == GRIB_ERROR) - { - GRIB_LOGD("# DELETE DEVICE FUNC FAIL\n"); - return; - } - - iRes = Grib_DbDelDeviceInfo(deviceID); - if(iRes == GRIB_ERROR) - { - GRIB_LOGD("# DELETE DEVICE INFO FAIL\n"); - } - } - - - - return; -} - -void Grib_MenuXM2M(int argc, char **argv) -{ - int iRes = GRIB_ERROR; - - char* mainMenu = NULL; - char* subMenu = NULL; - - char* argNM = NULL; - char* argURI = NULL; - char* argCON = NULL; - char* argOrigin = NULL; - - OneM2M_ReqParam reqParam; - OneM2M_ResParam resParam; - - //shbaek: You Must be Set Server Config. - Grib_SetServerConfig(); - - if(argc < GRIB_CMD_SUB+1) - { - GRIB_LOGD("# NO SUB MENU\n"); - return; - } - - mainMenu = GRIB_CMD_MAIN[argv]; - subMenu = GRIB_CMD_SUB[argv]; - - if(STRCASECMP(subMenu, "cappentity") == 0) - { - if(argc < GRIB_CMD_ARG1+1) - { - GRIB_LOGD("# USAGE: grib xm2m cappentity \"DEVICE ID\"\n"); - return; - } - argNM = GRIB_CMD_ARG1[argv]; - GRIB_LOGD("# CREATE APP ENTITY: %s\n", argNM); - - STRINIT(&reqParam.xM2M_NM, sizeof(reqParam.xM2M_NM)); - STRNCPY(&reqParam.xM2M_NM, argNM, STRLEN(argNM)); - - iRes = Grib_AppEntityCreate(&reqParam, &resParam); - if(iRes == GRIB_ERROR) - { - strUpper(mainMenu); - strUpper(subMenu); - GRIB_LOGD("# %s %s MENU FAIL\n", mainMenu, subMenu); - } - - } - if(STRCASECMP(subMenu, "rappentity") == 0) - { - if(argc < GRIB_CMD_ARG1+1) - { - GRIB_LOGD("# USAGE: grib xm2m rappentity \"DEVICE ID\"\n"); - return; - } - argOrigin = GRIB_CMD_ARG1[argv]; - GRIB_LOGD("# RETRIEVE APP ENTITY: %s\n", argOrigin); - - STRINIT(&reqParam.xM2M_Origin, sizeof(reqParam.xM2M_Origin)); - STRNCPY(&reqParam.xM2M_Origin, argOrigin, STRLEN(argOrigin)); - - iRes = Grib_AppEntityRetrieve(&reqParam, &resParam); - if(iRes == GRIB_ERROR) - { - strUpper(mainMenu); - strUpper(subMenu); - GRIB_LOGD("# %s %s MENU FAIL\n", mainMenu, subMenu); - } - - } - if(STRCASECMP(subMenu, "dappentity") == 0) - { - if(argc < GRIB_CMD_ARG1+1) - { - GRIB_LOGD("# USAGE: grib xm2m dappentity \"DEVICE ID\"\n"); - return; - } - argOrigin = GRIB_CMD_ARG1[argv]; - GRIB_LOGD("# DELETE APP ENTITY: %s\n", argOrigin); - - STRINIT(&reqParam.xM2M_Origin, sizeof(reqParam.xM2M_Origin)); - STRNCPY(&reqParam.xM2M_Origin, argOrigin, STRLEN(argOrigin)); - - iRes = Grib_AppEntityDelete(&reqParam, &resParam); - if(iRes == GRIB_ERROR) - { - strUpper(mainMenu); - strUpper(subMenu); - GRIB_LOGD("# %s %s MENU FAIL\n", mainMenu, subMenu); - } - } - if(STRCASECMP(subMenu, "ccontainer") == 0) - { - if(argc < GRIB_CMD_ARG3+1) - { - GRIB_LOGD("# USAGE: grib xm2m ccontainer \"DEVICE ID\" \"URI\" \"NM\"\n"); - return; - } - - argOrigin = GRIB_CMD_ARG1[argv]; - argURI = GRIB_CMD_ARG2[argv]; - argNM = GRIB_CMD_ARG3[argv]; - - STRINIT(&reqParam.xM2M_Origin, sizeof(reqParam.xM2M_Origin)); - STRNCPY(&reqParam.xM2M_Origin, argOrigin, STRLEN(argOrigin)); - - STRINIT(&reqParam.xM2M_URI, sizeof(reqParam.xM2M_URI)); - STRNCPY(&reqParam.xM2M_URI, argURI, STRLEN(argURI)); - - STRINIT(&reqParam.xM2M_NM, sizeof(reqParam.xM2M_NM)); - STRNCPY(&reqParam.xM2M_NM, argNM, STRLEN(argNM)); - - iRes = Grib_ContainerCreate(&reqParam, &resParam); - if(iRes == GRIB_ERROR) - { - strUpper(mainMenu); - strUpper(subMenu); - GRIB_LOGD("# %s %s MENU FAIL\n", mainMenu, subMenu); - } - } - if(STRCASECMP(subMenu, "rcontainer") == 0) - { - if(argc < GRIB_CMD_ARG2+1) - { - GRIB_LOGD("# USAGE: grib xm2m rcontainer \"DEVICE ID\" \"URI\"\n"); - return; - } - - argOrigin = GRIB_CMD_ARG1[argv]; - argURI = GRIB_CMD_ARG2[argv]; - - STRINIT(&reqParam.xM2M_Origin, sizeof(reqParam.xM2M_Origin)); - STRNCPY(&reqParam.xM2M_Origin, argOrigin, STRLEN(argOrigin)); - - STRINIT(&reqParam.xM2M_URI, sizeof(reqParam.xM2M_URI)); - STRNCPY(&reqParam.xM2M_URI, argURI, STRLEN(argURI)); - - iRes = Grib_ContainerRetrieve(&reqParam, &resParam); - if(iRes == GRIB_ERROR) - { - strUpper(mainMenu); - strUpper(subMenu); - GRIB_LOGD("# %s %s MENU FAIL\n", mainMenu, subMenu); - } - } - if(STRCASECMP(subMenu, "dcontainer") == 0) - { - if(argc < GRIB_CMD_ARG2+1) - { - GRIB_LOGD("# USAGE: grib xm2m dcontainer \"DEVICE ID\" \"URI\"\n"); - return; - } - - argOrigin = GRIB_CMD_ARG1[argv]; - argURI = GRIB_CMD_ARG2[argv]; - - STRINIT(&reqParam.xM2M_Origin, sizeof(reqParam.xM2M_Origin)); - STRNCPY(&reqParam.xM2M_Origin, argOrigin, STRLEN(argOrigin)); - - STRINIT(&reqParam.xM2M_URI, sizeof(reqParam.xM2M_URI)); - STRNCPY(&reqParam.xM2M_URI, argURI, STRLEN(argURI)); - - iRes = Grib_ContainerDelete(&reqParam, &resParam); - if(iRes == GRIB_ERROR) - { - strUpper(mainMenu); - strUpper(subMenu); - GRIB_LOGD("# %s %s MENU FAIL\n", mainMenu, subMenu); - } - } - if(STRCASECMP(subMenu, "cinstance") == 0) - { - if(argc < GRIB_CMD_ARG3+1) - { - GRIB_LOGD("# USAGE: grib xm2m cinstance \"DEVICE ID\" \"URI\" \"CONTENT\"\n"); - return; - } - argOrigin = GRIB_CMD_ARG1[argv]; - argURI = GRIB_CMD_ARG2[argv]; - argCON = GRIB_CMD_ARG3[argv]; - - GRIB_LOGD("# CREATE INSTANCE: %s[CON:%s]\n", argURI, argCON); - - STRINIT(&reqParam.xM2M_Origin, sizeof(reqParam.xM2M_Origin)); - STRNCPY(&reqParam.xM2M_Origin, argOrigin, STRLEN(argOrigin)); - - STRINIT(&reqParam.xM2M_URI, sizeof(reqParam.xM2M_URI)); - SNPRINTF(&reqParam.xM2M_URI, sizeof(reqParam.xM2M_URI), "%s", argURI); - - STRINIT(&reqParam.xM2M_CNF, sizeof(reqParam.xM2M_CNF)); - SNPRINTF(&reqParam.xM2M_CNF, sizeof(reqParam.xM2M_CNF), "%s:0", HTTP_CONTENT_TYPE_TEXT); - - STRINIT(&reqParam.xM2M_CON, sizeof(reqParam.xM2M_CON)); - SNPRINTF(&reqParam.xM2M_CON, sizeof(reqParam.xM2M_CON), "%s", argCON); - - //2 shbaek: NEED: xM2M_URI, xM2M_Origin, xM2M_CNF[If NULL, Set Default "text/plain:0"], xM2M_CON - iRes = Grib_ContentInstanceCreate(&reqParam, &resParam); - if(iRes == GRIB_ERROR) - { - strUpper(mainMenu); - strUpper(subMenu); - GRIB_LOGD("# %s %s MENU FAIL\n", mainMenu, subMenu); - } - } - if(STRCASECMP(subMenu, "rinstance") == 0) - { - if(argc < GRIB_CMD_ARG2+1) - { - GRIB_LOGD("# USAGE: grib xm2m rinstance \"DEVICE ID\" \"URI\"\n"); - return; - } - argOrigin = GRIB_CMD_ARG1[argv]; - argURI = GRIB_CMD_ARG2[argv]; - - STRINIT(&reqParam.xM2M_Origin, sizeof(reqParam.xM2M_Origin)); - STRNCPY(&reqParam.xM2M_Origin, argOrigin, STRLEN(argOrigin)); - - STRINIT(&reqParam.xM2M_URI, sizeof(reqParam.xM2M_URI)); - SNPRINTF(&reqParam.xM2M_URI, sizeof(reqParam.xM2M_URI), "%s", argURI); - - iRes = Grib_ContentInstanceRetrieve(&reqParam, &resParam); - if(iRes == GRIB_ERROR) - { - strUpper(mainMenu); - strUpper(subMenu); - GRIB_LOGD("# %s %s MENU FAIL\n", mainMenu, subMenu); - } - } - - return; -} - -void Grib_MenuTest(int argc, char **argv) -{ - int iDelay = 0; - char recvBuff[BLE_MAX_SIZE_RECV_MSG+1] = {'\0', }; - char* subMenu = NULL; - char* pSendMsg = NULL; - - char* deviceID = NULL; - char* deviceAddr = NULL; - - - - subMenu = GRIB_CMD_SUB[argv]; - - if(STRCASECMP(subMenu, "loop") == 0) - { - if(argc < GRIB_CMD_ARG4+1) - { - GRIB_LOGD("# USAGE: grib ble send \"DEVICE ADDR\" \"DEVICE ID\" \"SEND MSG\" \"DELAY SEC\" \n"); - return; - } - - deviceAddr = GRIB_CMD_ARG1[argv]; - deviceID = GRIB_CMD_ARG2[argv]; - pSendMsg = GRIB_CMD_ARG3[argv]; - iDelay = ATOI(GRIB_CMD_ARG4[argv])+1; - - while(TRUE) - { - Grib_BleSendMsg(deviceAddr, deviceID, pSendMsg, recvBuff); - SLEEP(iDelay); - } - - //GRIB_LOGD("# SEND MSG[%03d]: %s\n", STRLEN(pSendMsg), pSendMsg); - //GRIB_LOGD("# RECV MSG[%03d]: %s\n", STRLEN(recvBuff), recvBuff); - } - - if(STRCASECMP(subMenu, "info") == 0) - { - Grib_HubRegi(); - Grib_SetServerConfig(); - Grib_UpdateHubInfo(); - return; - } - - return; -} - -int main(int argc, char **argv) -{ - char* mainMenu = NULL; - - if(argc < GRIB_CMD_MAIN+1) - { - Grib_MenuHelp(); - return GRIB_DONE; - } - mainMenu = GRIB_CMD_MAIN[argv]; - - //for(i=0; iauthServerIP, STRLEN(pConfigInfo->authServerIP)); + + gAuthServerPort = pConfigInfo->authServerPort; + + GRIB_LOGD("# AUTH SERVER CONFIG: %s:%d\n", gAuthServerIp, gAuthServerPort); + + return GRIB_SUCCESS; +} + +int Grib_AuthGatewayRegi(char* gatewayID) +{ + int iRes = GRIB_ERROR; + int iDBG = gDebugAuth; + + char httpHead[HTTP_MAX_SIZE_SEND_MSG/2] = {'\0',}; + char httpBody[HTTP_MAX_SIZE_SEND_MSG/2] = {'\0',}; + + Grib_HttpMsgInfo httpMsg; + + char sendBuff[HTTP_MAX_SIZE_SEND_MSG] = {'\0', }; + char recvBuff[HTTP_MAX_SIZE_RECV_MSG] = {'\0', }; + + if(STRLEN(gatewayID) <= 0) + { + GRIB_LOGD("# AUTH GW REGI: IN-VALID PARAM !!!\n"); + return GRIB_ERROR; + } + + if(iDBG)GRIB_LOGD("# GATEWAY ID: %s\n", gatewayID); + + if( STRLEN(gAuthServerIp)==0 || (gAuthServerPort==0) ) + { + Grib_AuthSetServerConfig(); + } + + SNPRINTF(httpBody, sizeof(httpBody), AUTH_BODY_FORMAT_GATEWAY_REGI, gatewayID); + SNPRINTF(httpHead, sizeof(httpHead), AUTH_HEAD_FORMAT_GATEWAY_REGI, + gAuthServerIp, gAuthServerPort, STRLEN(httpBody)); + + STRINIT(sendBuff, sizeof(sendBuff)); + SNPRINTF(sendBuff, sizeof(sendBuff), "%s%s", httpHead, httpBody); + + MEMSET(&httpMsg, 0x00, sizeof(Grib_HttpMsgInfo)); + httpMsg.serverIP = gAuthServerIp; + httpMsg.serverPort = gAuthServerPort; + httpMsg.LABEL= gatewayID; + httpMsg.sendBuff = sendBuff; + httpMsg.recvBuff = recvBuff; + + if(iDBG) + { + GRIB_LOGD("----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----\n"); + GRIB_LOGD("# AUTH GW REGI SEND[%d]:\n%s\n", STRLEN(sendBuff), sendBuff); + GRIB_LOGD("----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----\n"); + } + + iRes = Grib_HttpSendMsg(&httpMsg); + if(iRes <= 0) + { + GRIB_LOGD("# HTTP MSG SEND ERROR !!!\n"); + return GRIB_ERROR; + } + + if(iDBG) + { + GRIB_LOGD("----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----\n"); + GRIB_LOGD("# AUTH GW REGI RECV[%d]:\n%s\n", STRLEN(recvBuff), recvBuff); + GRIB_LOGD("----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----\n"); + } + + iRes = Grib_HttpResParser(&httpMsg); + if(iRes != GRIB_DONE) + { + GRIB_LOGD("# HTTP MSG PARSE ERROR !!!\n"); + return iRes; + } + + if(iDBG) + { + GRIB_LOGD("# REQ GATEWAY ID: %s\n", httpMsg.LABEL); + GRIB_LOGD("# RES STATUS MSG: %s [%d]\n", httpMsg.statusMsg, httpMsg.statusCode); + } + + if(httpMsg.statusCode != HTTP_STATUS_CODE_OK) + { + return GRIB_ERROR; + } + + return iRes; +} + +int Grib_AuthDeviceRegi(char* deviceID, char* devicePW) +{ + int iRes = GRIB_ERROR; + int iDBG = gDebugAuth; + + char httpHead[HTTP_MAX_SIZE_SEND_MSG/2] = {'\0',}; + char httpBody[HTTP_MAX_SIZE_SEND_MSG/2] = {'\0',}; + + Grib_HttpMsgInfo httpMsg; + + char sendBuff[HTTP_MAX_SIZE_SEND_MSG] = {'\0', }; + char recvBuff[HTTP_MAX_SIZE_RECV_MSG] = {'\0', }; + + if(STRLEN(deviceID) <= 0) + { + GRIB_LOGD("# AUTH DEVICE REGI: IN-VALID PARAM !!!\n"); + return GRIB_ERROR; + } + + if(STRLEN(devicePW) <= 0) + { + GRIB_LOGD("# AUTH DEVICE REGI: SET DEFAULT PASSWORD !!!\n"); + devicePW = AUTH_DEFAULT_DEVICE_PW; + } + + if(iDBG)GRIB_LOGD("# DEVICE ID: %s\n", deviceID); + + if( STRLEN(gAuthServerIp)==0 || (gAuthServerPort==0) ) + { + Grib_AuthSetServerConfig(); + } + + SNPRINTF(httpBody, sizeof(httpBody), AUTH_BODY_FORMAT_DEVICE_REGI, deviceID, devicePW); + SNPRINTF(httpHead, sizeof(httpHead), AUTH_HEAD_FORMAT_DEVICE_REGI, + gAuthServerIp, gAuthServerPort, STRLEN(httpBody)); + + STRINIT(sendBuff, sizeof(sendBuff)); + SNPRINTF(sendBuff, sizeof(sendBuff), "%s%s", httpHead, httpBody); + + MEMSET(&httpMsg, 0x00, sizeof(Grib_HttpMsgInfo)); + httpMsg.serverIP = gAuthServerIp; + httpMsg.serverPort = gAuthServerPort; + httpMsg.LABEL= deviceID; + httpMsg.sendBuff = sendBuff; + httpMsg.recvBuff = recvBuff; + + if(iDBG) + { + GRIB_LOGD("----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----\n"); + GRIB_LOGD("# AUTH DEVICE REGI SEND[%d]:\n%s\n", STRLEN(sendBuff), sendBuff); + GRIB_LOGD("----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----\n"); + } + + iRes = Grib_HttpSendMsg(&httpMsg); + if(iRes <= 0) + { + GRIB_LOGD("# HTTP MSG SEND ERROR !!!\n"); + return GRIB_ERROR; + } + + if(iDBG) + { + GRIB_LOGD("----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----\n"); + GRIB_LOGD("# AUTH DEVICE REGI RECV[%d]:\n%s\n", STRLEN(recvBuff), recvBuff); + GRIB_LOGD("----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----\n"); + } + + iRes = Grib_HttpResParser(&httpMsg); + if(iRes != GRIB_DONE) + { + GRIB_LOGD("# HTTP MSG PARSE ERROR !!!\n"); + return iRes; + } + + if(iDBG) + { + GRIB_LOGD("# REQ DEVICE ID : %s\n", httpMsg.LABEL); + GRIB_LOGD("# RES STATUS MSG: %s [%d]\n", httpMsg.statusMsg, httpMsg.statusCode); + } + + if(httpMsg.statusCode != HTTP_STATUS_CODE_OK) + { + return GRIB_ERROR; + } + + return iRes; +} + +int Grib_AuthDeviceInfo(char* deviceID, char* deviceInfo) +{ + int iRes = GRIB_ERROR; + int iDBG = gDebugAuth; + + char httpHead[HTTP_MAX_SIZE_SEND_MSG/2] = {'\0',}; + char httpBody[HTTP_MAX_SIZE_SEND_MSG/2] = {'\0',}; + + Grib_HttpMsgInfo httpMsg; + + char sendBuff[HTTP_MAX_SIZE_SEND_MSG] = {'\0', }; + char recvBuff[HTTP_MAX_SIZE_RECV_MSG] = {'\0', }; + + if(STRLEN(deviceID) <= 0) + { + GRIB_LOGD("# AUTH DEVICE INFO: IN-VALID PARAM !!!\n"); + return GRIB_ERROR; + } + + if(iDBG)GRIB_LOGD("# DEVICE ID: %s\n", deviceID); + + if( STRLEN(gAuthServerIp)==0 || (gAuthServerPort==0) ) + { + Grib_AuthSetServerConfig(); + } + + SNPRINTF(httpBody, sizeof(httpBody), AUTH_BODY_FORMAT_DEVICE_INFO, deviceID); + SNPRINTF(httpHead, sizeof(httpHead), AUTH_HEAD_FORMAT_DEVICE_INFO, + gAuthServerIp, gAuthServerPort, STRLEN(httpBody)); + + STRINIT(sendBuff, sizeof(sendBuff)); + SNPRINTF(sendBuff, sizeof(sendBuff), "%s%s", httpHead, httpBody); + + MEMSET(&httpMsg, 0x00, sizeof(Grib_HttpMsgInfo)); + httpMsg.serverIP = gAuthServerIp; + httpMsg.serverPort = gAuthServerPort; + httpMsg.LABEL= deviceID; + httpMsg.sendBuff = sendBuff; + httpMsg.recvBuff = recvBuff; + + if(iDBG) + { + GRIB_LOGD("----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----\n"); + GRIB_LOGD("# AUTH DEVICE INFO SEND[%d]:\n%s\n", STRLEN(sendBuff), sendBuff); + GRIB_LOGD("----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----\n"); + } + + iRes = Grib_HttpSendMsg(&httpMsg); + if(iRes <= 0) + { + GRIB_LOGD("# HTTP MSG SEND ERROR !!!\n"); + return GRIB_ERROR; + } + + if(iDBG) + { + GRIB_LOGD("----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----\n"); + GRIB_LOGD("# AUTH DEVICE INFO RECV[%d]:\n%s\n", STRLEN(recvBuff), recvBuff); + GRIB_LOGD("----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----\n"); + } + + iRes = Grib_HttpResParser(&httpMsg); + if(iRes != GRIB_DONE) + { + GRIB_LOGD("# HTTP MSG PARSE ERROR !!!\n"); + return iRes; + } + + if(iDBG) + { + GRIB_LOGD("# REQ DEVICE ID : %s\n", httpMsg.LABEL); + GRIB_LOGD("# RES STATUS MSG: %s [%d]\n", httpMsg.statusMsg, httpMsg.statusCode); + } + + if(httpMsg.statusCode != HTTP_STATUS_CODE_OK) + { + return GRIB_ERROR; + } + + if(deviceInfo != NULL) + { + MEMSET(deviceInfo, 0x00, sizeof(deviceInfo)); + MEMCPY(deviceInfo, recvBuff, STRLEN(recvBuff)); + deviceInfo[STRLEN(recvBuff)] = '\0'; + } + + return iRes; +} + +int Grib_AuthDeviceDeRegi(char* deviceID) +{ + int iRes = GRIB_ERROR; + int iDBG = TRUE; + + char httpHead[HTTP_MAX_SIZE_SEND_MSG/2] = {'\0',}; + char httpBody[HTTP_MAX_SIZE_SEND_MSG/2] = {'\0',}; + + Grib_HttpMsgInfo httpMsg; + + char sendBuff[HTTP_MAX_SIZE_SEND_MSG] = {'\0', }; + char recvBuff[HTTP_MAX_SIZE_RECV_MSG] = {'\0', }; + + if(STRLEN(deviceID) <= 0) + { + GRIB_LOGD("# AUTH DEVICE DE-REGI: IN-VALID PARAM !!!\n"); + return GRIB_ERROR; + } + + GRIB_LOGD("# DEVICE ID: %s\n", deviceID); + + if( STRLEN(gAuthServerIp)==0 || (gAuthServerPort==0) ) + { + Grib_AuthSetServerConfig(); + } + + SNPRINTF(httpBody, sizeof(httpBody), AUTH_BODY_FORMAT_DEVICE_DEREGI, deviceID); + SNPRINTF(httpHead, sizeof(httpHead), AUTH_HEAD_FORMAT_DEVICE_DEREGI, + gAuthServerIp, gAuthServerPort, STRLEN(httpBody)); + + STRINIT(sendBuff, sizeof(sendBuff)); + SNPRINTF(sendBuff, sizeof(sendBuff), "%s%s", httpHead, httpBody); + + MEMSET(&httpMsg, 0x00, sizeof(Grib_HttpMsgInfo)); + httpMsg.serverIP = gAuthServerIp; + httpMsg.serverPort = gAuthServerPort; + httpMsg.LABEL= deviceID; + httpMsg.sendBuff = sendBuff; + httpMsg.recvBuff = recvBuff; + + if(iDBG) + { + GRIB_LOGD("----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----\n"); + GRIB_LOGD("# AUTH DEVICE DE-REGI SEND[%d]:\n%s\n", STRLEN(sendBuff), sendBuff); + GRIB_LOGD("----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----\n"); + } + + iRes = Grib_HttpSendMsg(&httpMsg); + if(iRes <= 0) + { + GRIB_LOGD("# HTTP MSG SEND ERROR !!!\n"); + return GRIB_ERROR; + } + + if(iDBG) + { + GRIB_LOGD("----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----\n"); + GRIB_LOGD("# AUTH DEVICE DE-REGI RECV[%d]:\n%s\n", STRLEN(recvBuff), recvBuff); + GRIB_LOGD("----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----\n"); + } + + iRes = Grib_HttpResParser(&httpMsg); + if(iRes != GRIB_DONE) + { + GRIB_LOGD("# HTTP MSG PARSE ERROR !!!\n"); + return iRes; + } + + if(iDBG) + { + GRIB_LOGD("# REQ DEVICE ID : %s\n", httpMsg.LABEL); + GRIB_LOGD("# RES STATUS MSG: %s [%d]\n", httpMsg.statusMsg, httpMsg.statusCode); + } + + if(httpMsg.statusCode != HTTP_STATUS_CODE_OK) + { + return GRIB_ERROR; + } + + return iRes; +} + +int Grib_AuthGetPW(char* deviceID, char* devicePW) +{ + int i = 0; + int iRes = GRIB_ERROR; + int iDBG = gDebugAuth; + + char recvBuff[HTTP_MAX_SIZE_RECV_MSG] = {'\0', }; + char pswdBuff[SIZE_1K] = {'\0', }; + + char* strResponse = NULL; + char* strTagStart = NULL; + char* strTagEnd = NULL; + char* strValue = NULL; + char* strTemp = NULL; + + if(STRLEN(deviceID) <= 0) + { + GRIB_LOGD("# AUTH GET PASSWD: IN-VALID PARAM !!!\n"); + return GRIB_ERROR; + } + + iRes = Grib_AuthDeviceInfo(deviceID, recvBuff); + if(iRes != GRIB_DONE) + { + GRIB_LOGD("# AUTH GET PASSWD: GET DEVICE INFO ERROR !!!\n"); + return iRes; + } + + strResponse = STRDUP(recvBuff); + + strTagStart = "\\\"DEV_PWD\\\" : \\\""; + strTagEnd = "\\\" }\" }"; + strTemp = STRSTR(strResponse, strTagStart); + if(strTemp != NULL) + { + char *strValueEnd = NULL; + + //shbaek: Copy Value + strValue = strTemp+STRLEN(strTagStart); + + strValueEnd = STRSTR(strResponse, strTagEnd); + strValueEnd[0] = '\0'; + + STRINIT(pswdBuff, sizeof(pswdBuff)); + STRNCPY(pswdBuff, strValue, STRLEN(strValue)); + } + + if(iDBG) + { + GRIB_LOGD("\n"); + GRIB_LOGD("# AUTH GET DEVICE: %s\n", deviceID); + GRIB_LOGD("# AUTH GET PASSWD: %s\n", strValue); + } + + if(devicePW != GRIB_NOT_USED) + { + STRINIT(devicePW, sizeof(devicePW)); + STRNCPY(devicePW, pswdBuff, STRLEN(pswdBuff)); + devicePW[STRLEN(pswdBuff)] = '\0'; + } + + return iRes; +} + + diff --git a/GRIB_BLE_HUB/grib_ble.cpp b/GRIB_BLE_HUB/grib_ble.cpp index 4c879b3..2f1b483 100644 --- a/GRIB_BLE_HUB/grib_ble.cpp +++ b/GRIB_BLE_HUB/grib_ble.cpp @@ -1,278 +1,35 @@ /* ********** ********** ********** ********** ********** ********** ********** ********** ********** ********** shbaek: Include File ********** ********** ********** ********** ********** ********** ********** ********** ********** ********** */ -#include "include/grib_ble.h" +#include "grib_ble.h" -using namespace std; /* ********** ********** ********** ********** ********** ********** ********** ********** ********** ********** shbaek: Global Variable ********** ********** ********** ********** ********** ********** ********** ********** ********** ********** */ -static struct hci_dev_info di; -static volatile int signal_received = 0; - int gDebugBle = FALSE; -int gTombStone = FALSE; +int gBleTombStone = FALSE; + /* ********** ********** ********** ********** ********** ********** ********** ********** ********** ********** shbaek: Function ********** ********** ********** ********** ********** ********** ********** ********** ********** ********** */ -static void sigint_handler(int sig) -{ - signal_received = sig; -} - -static int read_flags(uint8_t *flags, const uint8_t *data, size_t size) -{ - size_t offset; - - if (!flags || !data) - return -EINVAL; - - offset = 0; - while (offset < size) { - uint8_t len = data[offset]; - uint8_t type; - - /* Check if it is the end of the significant part */ - if (len == 0) - break; - - if (len + offset > size) - break; - - type = data[offset + 1]; - - if (type == FLAGS_AD_TYPE) { - *flags = data[offset + 2]; - return 0; - } - - offset += 1 + len; - } - - return -ENOENT; -} - -static int check_report_filter(uint8_t procedure, le_advertising_info *info) -{ - uint8_t flags; - - /* If no discovery procedure is set, all reports are treat as valid */ - if (procedure == 0) - return 1; - - /* Read flags AD type value from the advertising report if it exists */ - if (read_flags(&flags, info->data, info->length)) - return 0; - - switch (procedure) { - case 'l': /* Limited Discovery Procedure */ - if (flags & FLAGS_LIMITED_MODE_BIT) - return 1; - break; - case 'g': /* General Discovery Procedure */ - if (flags & (FLAGS_LIMITED_MODE_BIT | FLAGS_GENERAL_MODE_BIT)) - return 1; - break; - default: - fprintf(stderr, "Unknown discovery procedure\n"); - } - - return 0; -} - -static int eir_parse_name(uint8_t *eir, size_t eir_len, char *buf, size_t buf_len) -{ - size_t offset; - - offset = 0; - while(offset < eir_len) - { - uint8_t field_len = eir[0]; - size_t name_len; - - /* Check for the end of EIR */ - if (field_len == 0) break; - if (offset + field_len > eir_len) goto failed; - - switch (eir[1]) - { - case EIR_NAME_SHORT: - case EIR_NAME_COMPLETE: - name_len = field_len - 1; - if (name_len > buf_len) goto failed; - - memcpy(buf, &eir[2], name_len); - return 1; - } - - offset += field_len + 1; - eir += field_len + 1; - } - -failed: - snprintf(buf, buf_len, "(unknown)"); - return 0; -} - - - -static int print_advertising_devices(int dd, uint8_t filter_type, int iScanCount) -{ - unsigned char buf[HCI_MAX_EVENT_SIZE], *ptr; - struct hci_filter nf, of; - struct sigaction sa; - socklen_t olen; - int len; - int iCount = 0; - int iMaxCount = 100; - -#if (FEATURE_IGNORE_DUPLICATE_ADDR == ON) - int idx = 0; - int noGet = TRUE; - bdaddr_t** ppAddrList; -#endif - - if(0 < iScanCount) - { - iMaxCount = iScanCount; - } - - olen = sizeof(of); - if (getsockopt(dd, SOL_HCI, HCI_FILTER, &of, &olen) < 0) { - printf("Could not get socket options\n"); - return -1; - } - - hci_filter_clear(&nf); - hci_filter_set_ptype(HCI_EVENT_PKT, &nf); - hci_filter_set_event(EVT_LE_META_EVENT, &nf); - - if (setsockopt(dd, SOL_HCI, HCI_FILTER, &nf, sizeof(nf)) < 0) { - printf("Could not set socket options\n"); - return -1; - } - - memset(&sa, 0, sizeof(sa)); - sa.sa_flags = SA_NOCLDSTOP; - sa.sa_handler = sigint_handler; - sigaction(SIGINT, &sa, NULL); - -#if (FEATURE_IGNORE_DUPLICATE_ADDR == ON) - ppAddrList = (bdaddr_t**) MALLOC(sizeof(bdaddr_t*) * iMaxCount); - for(idx=0; idxsubevent != 0x02) - goto done; - - /* Ignoring multiple reports */ - info = (le_advertising_info *) (meta->data + 1); - -#if (FEATURE_IGNORE_DUPLICATE_ADDR == ON) - noGet = TRUE; - for(idx=0; idxbdaddr, sizeof(bdaddr_t)) == 0) - {//shbaek: Find Duplicated Item - noGet = FALSE; - } - } - - if(noGet == TRUE) - {//shbaek: Take Item - memcpy(ppAddrList[iCount], &info->bdaddr, sizeof(bdaddr_t)); - } - else - {//shbaek: Throw Trash - iCount++; - continue; - } -#endif - if (check_report_filter(filter_type, info)) - { - char name[30]; - - memset(name, 0, sizeof(name)); - - ba2str(&info->bdaddr, addr); - if(eir_parse_name(info->data, info->length, name, sizeof(name) - 1)) - { - printf("%s %s\n", addr, name); - iCount++; - } - } - } - -done: - setsockopt(dd, SOL_HCI, HCI_FILTER, &of, sizeof(of)); - -#if (FEATURE_IGNORE_DUPLICATE_ADDR == ON) - if(ppAddrList != NULL) - { - for(idx=0; idxdebugBLE; + gBleTombStone = pConfigInfo->tombStoneBLE; - GRIB_LOGD("# BLE CONFIG DEBUG LOG: %d\n", gDebugBle); - GRIB_LOGD("# BLE CONFIG TOMBSTONE: %d\n", gTombStone); + if(gDebugBle)GRIB_LOGD("# BLE CONFIG DEBUG LOG: %d\n", gDebugBle); + if(gDebugBle)GRIB_LOGD("# BLE CONFIG TOMBSTONE: %d\n", gBleTombStone); return GRIB_SUCCESS; } @@ -289,12 +46,12 @@ void Grib_BleTombStone(Grib_BleLogInfo* pLogInfo) char pLogFilePath[SIZE_1K] = {'\0', }; char* pMsg = NULL; - if(gTombStone != TRUE) + if(gBleTombStone != TRUE) {//shbaek: Use Not TombStone return; } - SNPRINTF(pLogFilePath, sizeof(pLogFilePath), "%s/%04d%02d%02d_%02d%02d%02d_%s.log", BLE_FILE_PATH_LOG_ROOT, + SNPRINTF(pLogFilePath, sizeof(pLogFilePath), "%s/BLE_%04d%02d%02d_%02d%02d%02d_%s.log", BLE_FILE_PATH_LOG_ROOT, sysTime->tm_year+1900, sysTime->tm_mon+1, sysTime->tm_mday, sysTime->tm_hour, sysTime->tm_min, sysTime->tm_sec, pLogInfo->blePipe); @@ -332,7 +89,6 @@ void Grib_BleTombStone(Grib_BleLogInfo* pLogInfo) int Grib_BleCleanAll(void) { - int iRes = GRIB_ERROR; int iDBG = gDebugBle; const char* FUNC_TAG = "BLE-CLEAN"; @@ -340,7 +96,6 @@ int Grib_BleCleanAll(void) DIR* pDirInfo = NULL; struct dirent* pDirEntry = NULL; - struct stat fileStat; if(access(BLE_FILE_PATH_LOG_ROOT, F_OK) != 0) { @@ -365,7 +120,7 @@ int Grib_BleCleanAll(void) return GRIB_ERROR; } - while(pDirEntry=readdir(pDirInfo)) + while( (pDirEntry=readdir(pDirInfo)) != NULL) { STRINIT(pFilePath, sizeof(pFilePath)); SNPRINTF(pFilePath, sizeof(pFilePath), "%s/%s", BLE_FILE_PATH_PIPE_ROOT, pDirEntry->d_name); @@ -374,14 +129,13 @@ int Grib_BleCleanAll(void) unlink(pFilePath); } -FINAL: - if(iDBG)GRIB_LOGD("# %s: FINAL LABEL: %p\n", FUNC_TAG, pDirInfo); + GRIB_LOGD("# %s: DONE\n", FUNC_TAG); if(pDirInfo != NULL) { closedir(pDirInfo); } - return iRes; + return GRIB_DONE; } int Grib_BlePipeReCreate(char *pipeFilePath) @@ -392,7 +146,6 @@ int Grib_BlePipeReCreate(char *pipeFilePath) const int MAX_RETRY_COUNT_CREATE_PIPE = 10; DIR* pDirInfo = NULL; - struct dirent* pDirEntry = NULL; const char* FUNC_TAG = "BLE-PIPE"; if(access(pipeFilePath, F_OK) == 0) @@ -417,8 +170,6 @@ int Grib_BlePipeReCreate(char *pipeFilePath) if(iDBG)GRIB_LOGD("# %s: CREATE NEW PIPE: %s\n", FUNC_TAG, pipeFilePath); -FINAL: - if(iDBG)GRIB_LOGD("# %s: FINAL LABEL: %p\n", FUNC_TAG, pDirInfo); if(pDirInfo != NULL) { closedir(pDirInfo); @@ -436,7 +187,7 @@ int Grib_BleSendMsg(char* deviceAddr, char *pipeFileName, char* sendBuff, char* int iStatus = GRIB_ERROR; int pipeFileFD = GRIB_ERROR; - char pipeFilePath[SIZE_1K] = {NULL, }; + char pipeFilePath[SIZE_1K] = {'\0', }; pid_t processID = GRIB_ERROR; @@ -455,29 +206,27 @@ int Grib_BleSendMsg(char* deviceAddr, char *pipeFileName, char* sendBuff, char* if(iDBG) { - GRIB_LOGD("# %s-SEND: DEVICE ADDR : %s\n", pipeFileName, deviceAddr); - GRIB_LOGD("# %s-SEND: PIPE FILE : %s\n", pipeFileName, pipeFileName); + GRIB_LOGD("# %s-BLE : DEVICE ADDR : %s\n", pipeFileName, deviceAddr); + GRIB_LOGD("# %s-BLE : PIPE FILE : %s\n", pipeFileName, pipeFileName); } - GRIB_LOGD("# %s-SEND: SEND MSG[%03d]: %s\n", pipeFileName, STRLEN(sendBuff), sendBuff); + GRIB_LOGD("# %s-BLE : SEND MSG[%03d]: %s\n", pipeFileName, STRLEN(sendBuff), sendBuff); processID = fork(); if(processID == GRIB_ERROR) { - GRIB_LOGD("# %s-SEND: PROCESS FORK FAIL: %s[%d]\n", pipeFileName, LINUX_ERROR_STR, LINUX_ERROR_NUM); + GRIB_LOGD("# %s-BLE : PROCESS FORK FAIL: %s[%d]\n", pipeFileName, LINUX_ERROR_STR, LINUX_ERROR_NUM); return GRIB_ERROR; } - if(iDBG)GRIB_LOGD("# %s-SEND: FORK PROCESS ID: %d\n", pipeFileName, processID); + if(iDBG)GRIB_LOGD("# %s-BLE : FORK PROCESS ID: %d\n", pipeFileName, processID); STRINIT(pipeFilePath, sizeof(pipeFilePath)); SNPRINTF(pipeFilePath, sizeof(pipeFilePath), "%s/%s", BLE_FILE_PATH_PIPE_ROOT, pipeFileName); - if(iDBG)GRIB_LOGD("# %s-SEND: PIPE FILE PATH: %s\n", pipeFileName, pipeFilePath); + if(iDBG)GRIB_LOGD("# %s-BLE : PIPE FILE PATH: %s\n", pipeFileName, pipeFilePath); switch(processID) { case 0: { - char* pCMD = NULL; - #if (FEATURE_GRIB_BLE_EX==ON) //3 shbaek: Jump to Blecomm if(iDBG)GRIB_LOGD("# %s-SEND[CHILD]: JUMP BLE EXTEND\n", pipeFileName); @@ -567,14 +316,14 @@ int Grib_BleSendMsg(char* deviceAddr, char *pipeFileName, char* sendBuff, char* if(0 < pipeFileFD) { close(pipeFileFD); - pipeFileFD = NULL; + pipeFileFD = GRIB_ERROR; } break; } } - GRIB_LOGD("# %s-SEND: READ MSG[%03d]: %s\n", pipeFileName, STRLEN(recvBuff), recvBuff); + GRIB_LOGD("# %s-BLE : READ MSG[%03d]: %s\n", pipeFileName, STRLEN(recvBuff), recvBuff); if(STRNCASECMP(recvBuff, BLE_RESPONSE_STR_ERROR, STRLEN(BLE_RESPONSE_STR_ERROR)) == 0) { @@ -590,12 +339,12 @@ int Grib_BleSendMsg(char* deviceAddr, char *pipeFileName, char* sendBuff, char* bleLogInfo.bleRecvMsg = recvBuff; bleLogInfo.bleErrorMsg = pError; - GRIB_LOGD("# %s-SEND: # ##### ##### ##### ##### ##### ##### #####\n", pipeFileName); + GRIB_LOGD("# %s-BLE : # ##### ##### ##### ##### ##### ##### #####\n", pipeFileName); Grib_BleTombStone(&bleLogInfo); - GRIB_LOGD("# %s-SEND: # ERROR MSG : %s[%d]\n", pipeFileName, pError, iError); - GRIB_LOGD("# %s-SEND: # ##### ##### ##### ##### ##### ##### #####\n", pipeFileName); + GRIB_LOGD("# %s-BLE : # ERROR MSG : %s[%d]\n", pipeFileName, pError, iError); + GRIB_LOGD("# %s-BLE : # ##### ##### ##### ##### ##### ##### #####\n", pipeFileName); if(iError == BLE_ERROR_CODE_CRITICAL) {//3 shbaek: HCI DRIVER RESET @@ -616,7 +365,7 @@ int Grib_BleDetourInit(void) int iRes = GRIB_ERROR; int iSkipCount = 0; - char* pCommand = "sudo ./grib ble sinit"; + const char* pCommand = "sudo ./" BLE_GRIB_HCI_FILE_NAME " " BLE_GRIB_HCI_MENU_INIT; char pLineBuffer[SIZE_1M] = {'\0', }; iRes = systemCommand(pCommand, pLineBuffer, sizeof(pLineBuffer)); @@ -624,125 +373,9 @@ int Grib_BleDetourInit(void) return iRes; } -int Grib_BleDeviceInit(void) -{ - int dev_id, sock; - int i,ctl, err; - - GRIB_LOGD("# BLE DEVICE INIT START\n"); - - // Setting the stdout to line buffered, this forces a flush on every '\n' (newline). - // This will ensure that the python program consuming the output will not have any buffer issues. - setvbuf(stdout, (char *) NULL, _IOLBF, 0); - - // Opening a HCI socket - if ((ctl = socket(AF_BLUETOOTH, SOCK_RAW, BTPROTO_HCI)) < 0) - { - perror("Can't open HCI socket."); - return GRIB_ERROR; - } - - // Connecting to the device and attempting to get the devices info, if this errors, - // it implies the usb is not plugged in correctly or we may have a bad/dodgy bluetooth usb - if (ioctl(ctl, HCIGETDEVINFO, (void *) &di)) - { - perror("Can't get device info: Make sure the bluetooth usb is properly inserted. "); - return GRIB_ERROR; - } - - // Assigning the devices id - dev_id = di.dev_id; - - GRIB_LOGD("# HCI DEVICE DOWN\n"); - // Stop HCI device (e.g - bluetooth usb) - we are doing this to reset the adapter - if (ioctl(ctl, HCIDEVDOWN, dev_id) < 0) - { - fprintf(stderr, "Can't down device hci%d: %s (%d)\n", dev_id, strerror(errno), errno); - return GRIB_ERROR; - } - - GRIB_LOGD("# HCI DEVICE UP\n"); - // Start HCI device (e.g - bluetooth usb) - if (ioctl(ctl, HCIDEVUP,dev_id) < 0) - { - if (errno == EALREADY) return 0; - fprintf(stderr, "Can't init device hci%d: %s (%d)\n",dev_id, strerror(errno), errno); - return GRIB_ERROR; - } - - hci_close_dev(sock); - GRIB_LOGD("# BLE DEVICE INIT DONE\n"); - return 0; -} - -int Grib_BleDeviceScan(int iScanCount) -{ - int dev_id, sock; - int i, err; - - // Setting the stdout to line buffered, this forces a flush on every '\n' (newline). - // This will ensure that the python program consuming the output will not have any buffer issues. - setvbuf(stdout, (char *) NULL, _IOLBF, 0); - - Grib_BleDeviceInit(); - - GRIB_LOGD("# BLE DEVICE SCAN START\n\n"); - - // Assigning the devices id - dev_id = di.dev_id; - - // Opening the ble device adapter so we can start scanning for iBeacons - sock = hci_open_dev( dev_id ); - - // Ensure that no error occured whilst opening the socket - if (dev_id < 0 || sock < 0) - { - perror("opening socket"); - return GRIB_ERROR; - } - - // Setting the scan parameters - err = hci_le_set_scan_parameters(sock, 0x01, htobs(0x0010), htobs(0x0010), 0x00, 0x00, 10000); - if (err < 0) - { - perror("Set scan parameters failed"); - return GRIB_ERROR; - } - - // hci bluetooth library call - enabling the scan - err = hci_le_set_scan_enable(sock, 0x01, 0x00 , 10000); - if (err < 0) - { - perror("Enable scan failed"); - return GRIB_ERROR; - } - - // Our own print funtion based off the bluez print function - err = print_advertising_devices(sock, 0, iScanCount); - if (err < 0) - { - perror("Could not receive advertising events"); - return GRIB_ERROR; - } - - // hci bluetooth library call - disabling the scan - err = hci_le_set_scan_enable(sock, 0x00, 0x01, 10000); - if (err < 0) - { - perror("Disable scan failed"); - return GRIB_ERROR; - } - - hci_close_dev(sock); - GRIB_LOGD("# BLE DEVICE SCAN DONE\n"); - - return 0; -} - int Grib_BleDeviceInfo(Grib_DbRowDeviceInfo* pRowDeviceInfo) { int i = 0; - int iDBG = gDebugBle; int iRes = GRIB_ERROR; char recvBuff[BLE_MAX_SIZE_RECV_MSG+1] = {'\0', }; char* pSplitPoint = NULL; @@ -779,7 +412,7 @@ int Grib_BleDeviceInfo(Grib_DbRowDeviceInfo* pRowDeviceInfo) GRIB_LOGD("# BLE-INFO: GET DEVICE LOC FAIL: %s\n", pRowDeviceInfo->deviceLoc); return GRIB_FAIL; } - pRowDeviceInfo->deviceLoc; + //pRowDeviceInfo->deviceLoc; STRINIT(pRowDeviceInfo->deviceDesc, sizeof(pRowDeviceInfo->deviceDesc)); iRes = Grib_BleGetDeviceDesc(deviceAddr, deviceID, pRowDeviceInfo->deviceDesc); @@ -788,7 +421,7 @@ int Grib_BleDeviceInfo(Grib_DbRowDeviceInfo* pRowDeviceInfo) GRIB_LOGD("# BLE-INFO: GET DEVICE DESC FAIL: %s\n", pRowDeviceInfo->deviceDesc); return GRIB_FAIL; } - pRowDeviceInfo->deviceDesc; + //pRowDeviceInfo->deviceDesc; STRINIT(recvBuff, sizeof(recvBuff)); iRes = Grib_BleGetReportCycle(deviceAddr, deviceID, recvBuff); @@ -876,7 +509,7 @@ int Grib_BleGetDeviceID(char* deviceAddr, char* recvBuff) char sendBuff[BLE_MAX_SIZE_SEND_MSG+1] = {'\0', }; char* pTemp = NULL; char* pipeFileName = NULL; - char pipeFilePath[SIZE_1K] = {NULL, }; + char pipeFilePath[SIZE_1K] = {'\0', }; STRINIT(sendBuff, sizeof(sendBuff)); STRNCPY(sendBuff, BLE_CMD_GET_DEVICE_ID, STRLEN(BLE_CMD_GET_DEVICE_ID)); diff --git a/GRIB_BLE_HUB/grib_cas.cpp b/GRIB_BLE_HUB/grib_cas.cpp new file mode 100644 index 0000000..ee4234c --- /dev/null +++ b/GRIB_BLE_HUB/grib_cas.cpp @@ -0,0 +1,256 @@ +/* ********** ********** ********** ********** ********** ********** ********** ********** ********** ********** +shbaek: Include File +********** ********** ********** ********** ********** ********** ********** ********** ********** ********** */ +#include "grib_cas.h" + +/* ********** ********** ********** ********** ********** ********** ********** ********** ********** ********** +shbaek: Global Variable +********** ********** ********** ********** ********** ********** ********** ********** ********** ********** */ +int gDebugCas = FALSE; + +char casHubID[SIZE_1K]; +char casSignCert[SIZE_1K*10]; +/* ********** ********** ********** ********** ********** ********** ********** ********** ********** ********** */ +#define __CAS_FUNC__ +/* ********** ********** ********** ********** ********** ********** ********** ********** ********** ********** */ +int Grib_CasInit(char* hubID) +{ + int iRes = GRIB_ERROR; + + const char* FUNC_TAG = "CAS-INIT"; + char pathCurrunt[PATH_MAX] = {'\0', }; + char pathCasLib[PATH_MAX] = {'\0', }; + + if(hubID == NULL) + { + GRIB_LOGD("# %s: PARAM IS NULL !!!\n", FUNC_TAG); + return GRIB_ERROR; + } + + getcwd(pathCurrunt, sizeof(pathCurrunt)); + SNPRINTF(pathCasLib, sizeof(pathCasLib), "%s/%s", pathCurrunt, CAS_LIB_DIR_PATH); + + GRIB_LOGD("# %s: CAS HUB ID : %s\n", FUNC_TAG, hubID); + GRIB_LOGD("# %s: CAS LIB PATH: %s\n", FUNC_TAG, pathCasLib); + + iRes = TK_Init(pathCasLib); + if(iRes != GRIB_DONE) + { + GRIB_LOGD("# %s: TOOL KIT INIT ERROR !!!\n", FUNC_TAG); + goto FINAL; + } + + iRes = TK_IssueCert(hubID); + if(iRes != GRIB_DONE) + { + GRIB_LOGD("# %s: TOOL KIT GET CERT ERROR !!!\n", FUNC_TAG); + goto FINAL; + } + + STRINIT(casHubID, sizeof(casHubID)); + STRNCPY(casHubID, hubID, STRLEN(hubID)); + +#if __NOT_USED__ + STRINIT(casSignCert, sizeof(casSignCert)); + iRes = Grib_CasGetSignCert(casSignCert); + if(iRes != GRIB_DONE) + { + GRIB_LOGD("# %s: TOOL KIT INIT ERROR !!!\n", FUNC_TAG); + goto FINAL; + } +#endif + + GRIB_LOGD("# %s: TOOL KIT INIT DONE\n", FUNC_TAG); + + return GRIB_DONE; + +FINAL: + Grib_CasFinal(); + return iRes; +} + +int Grib_CasFinal(void) +{ + int iRes = GRIB_ERROR; + const char* FUNC_TAG = "CAS-FINAL"; + + iRes = TK_Final(); + if(iRes != GRIB_DONE) + { + GRIB_LOGD("# %s: TOOL KIT FINAL ERROR !!!\n", FUNC_TAG); + return GRIB_ERROR; + } + + if(STRLEN(casHubID) != 0) + { + STRINIT(casHubID, sizeof(casHubID)); + } + + if(STRLEN(casSignCert) != 0) + { + STRINIT(casSignCert, sizeof(casSignCert)); + } + + GRIB_LOGD("# %s: TOOL KIT FINAL DONE\n", FUNC_TAG); + + return GRIB_DONE; +} + + +//##### ##### ##### ##### ##### ##### ##### ##### ##### ##### ##### ##### ##### ##### +#define CAS_CERT_IGNORE_LF ON +//##### ##### ##### ##### ##### ##### ##### ##### ##### ##### ##### ##### ##### ##### + +int Grib_CasGetSignCert(char* pSignCert) +{ + int iRes = GRIB_ERROR; + int iDBG = gDebugCas; + const char* FUNC_TAG = "CAS-CERT"; + + char pathCasCert[PATH_MAX] = {'\0', }; + char pBuff[SIZE_1K*128] = {'\0', }; + char* pathHome = NULL; + + if(STRLEN(casHubID) == 0) + { + GRIB_LOGD("# %s: TOOL KIT IS NOT INIT !!!\n", FUNC_TAG); + return GRIB_ERROR; + } + +// pathHome = getenv("HOME"); //shbaek: Fail to root run + pathHome = "/home/pi"; + + SNPRINTF(pathCasCert, sizeof(pathCasCert), "%s/%s/%s/%s", + pathHome, CAS_SIGN_CERT_FILE_DIR, casHubID, CAS_SIGN_CERT_FILE_NAME); + + GRIB_LOGD("# %s: PATH: %s\n", FUNC_TAG, pathCasCert); + +#if (CAS_CERT_IGNORE_LF==ON) + iRes = Grib_ReadTextFile(pathCasCert, pBuff, READ_OPT_IGNORE_LF); +#else + iRes = Grib_ReadTextFile(pathCasCert, pBuff, GRIB_NOT_USED); +#endif + if(iRes != GRIB_DONE) + { + GRIB_LOGD("# %s: READ CERT FAIL !!!\n", FUNC_TAG); + return iRes; + } + + if(STRSTR(pBuff, CAS_SIGN_CERT_BEGIN) != NULL) + { + unsigned int SKIP_SIZE_HEAD = 0; + unsigned int SKIP_SIZE_TAIL = 0; + +#if (CAS_CERT_IGNORE_LF==ON) + SKIP_SIZE_HEAD = STRLEN(CAS_SIGN_CERT_BEGIN); + SKIP_SIZE_TAIL = STRLEN(CAS_SIGN_CERT_END); +#else + //shbaek: for LF + SKIP_SIZE_HEAD = STRLEN(CAS_SIGN_CERT_BEGIN)+1; + SKIP_SIZE_TAIL = STRLEN(CAS_SIGN_CERT_END)+1; +#endif + MEMCPY(pSignCert, pBuff+SKIP_SIZE_HEAD, STRLEN(pBuff)-(SKIP_SIZE_HEAD+SKIP_SIZE_TAIL)); + + } + if(iDBG)GRIB_LOGD("# %s: CERT[%d]: \n%s\n", FUNC_TAG, STRLEN(pSignCert), pSignCert); + + return iRes; +} + +int Grib_CasGetAuthKey(char* devID, char* keyBuff) +{ + int iRes = GRIB_ERROR; + int iDBG = gDebugCas; + const char* FUNC_TAG = "CAS-KEY"; + char *pAuthKey = NULL; + + if( (devID==NULL) || (keyBuff==NULL) ) + { + GRIB_LOGD("# %s: PARAM IS NULL !!!\n", FUNC_TAG); + return GRIB_ERROR; + } + + if(STRLEN(casHubID) == 0) + { + GRIB_LOGD("# %s: TOOL KIT IS NOT INIT !!!\n", FUNC_TAG); + return GRIB_ERROR; + } + + if(iDBG) + { + GRIB_LOGD("# %s: HUB ID[%03d]: %s\n", FUNC_TAG, STRLEN(casHubID), casHubID); + GRIB_LOGD("# %s: DEV ID[%03d]: %s\n", FUNC_TAG, STRLEN(devID), devID); + } + + iRes = TK_Sign(casHubID, devID, &pAuthKey); + if(iRes != GRIB_DONE) + { + GRIB_LOGD("\n"); + GRIB_LOGD("# %s: TOOL KIT SIGN ERROR !!!\n", FUNC_TAG); + return GRIB_ERROR; + } + + if(pAuthKey == NULL) + { + GRIB_LOGD("# %s: AUTH KEY IS NULL !!!\n", FUNC_TAG); + return GRIB_ERROR; + } + + MEMCPY(keyBuff, pAuthKey, STRLEN(pAuthKey)); + + GRIB_LOGD("# %s: [DEV: %s][KEY: %s]\n", FUNC_TAG, devID, pAuthKey); + + FREE(pAuthKey); + + return iRes; +} + +void Grib_CasTest(int argc, char **argv) +{ + int iRes = GRIB_ERROR; + const char* FUNC_TAG = "CAS-TEST"; + + char* hubID = TEST_CAS_HUB_ID; + char* devID = TEST_CAS_DEV_ID; + + char certBuff[SIZE_1K] = {'\0', }; + char keyBuff[CAS_AUTH_KEY_SIZE] = {'\0', }; + + Grib_ConfigInfo* pConfigInfo = NULL; + + GRIB_LOGD("# %s: START ##### ##### ##### ##### ##### #####\n", FUNC_TAG); + +#ifdef FEATURE_CAS + GRIB_LOGD("# %s: FEATURE_CAS ON!!!\n", FUNC_TAG); +#endif + + pConfigInfo = Grib_GetConfigInfo(); + + if( (pConfigInfo!=NULL) && (0hubID)) ) + { + hubID = pConfigInfo->hubID; + } + + if( (4<=argc) && (0hubID); + if(iRes != GRIB_DONE) + { + GRIB_LOGD("# %s: INIT FAIL !!!\n", FUNC_TAG); + return; + } + + iRes = Grib_CasGetAuthKey(devID, keyBuff); + if(iRes != GRIB_DONE) + { + GRIB_LOGD("# %s: GET AUTH KEY FAIL !!!\n", FUNC_TAG); + return; + } + GRIB_LOGD("# %s: AUTH KEY[%d]: %s\n", FUNC_TAG, STRLEN(keyBuff), keyBuff); + + GRIB_LOGD("# %s: DONE ##### ##### ##### ##### ##### #####\n", FUNC_TAG); + return; +} diff --git a/GRIB_BLE_HUB/grib_db.cpp b/GRIB_BLE_HUB/grib_db.cpp index 676d2c3..e9e7d02 100644 --- a/GRIB_BLE_HUB/grib_db.cpp +++ b/GRIB_BLE_HUB/grib_db.cpp @@ -2,7 +2,7 @@ shbaek: Include File ********** ********** ********** ********** ********** ********** ********** ********** ********** ********** */ -#include "include/grib_db.h" +#include "grib_db.h" /* ********** ********** ********** ********** ********** ********** ********** ********** ********** ********** shbaek: Global Variable @@ -24,28 +24,25 @@ shbaek: Function #define __GRIB_DB_BASIC__ int Grib_DbConfig(void) { - int iRes = GRIB_ERROR; - Grib_ConfigInfo pConfigInfo; - - MEMSET(&pConfigInfo, 0x00, sizeof(Grib_ConfigInfo)); + Grib_ConfigInfo* pConfigInfo = NULL; - iRes = Grib_LoadConfig(&pConfigInfo); - if(iRes != GRIB_DONE) + pConfigInfo = Grib_GetConfigInfo(); + if(pConfigInfo == NULL) { GRIB_LOGD("LOAD CONFIG ERROR !!!\n"); - return iRes; + return GRIB_ERROR; } STRINIT(gSqlHost, sizeof(gSqlHost)); - STRNCPY(gSqlHost, pConfigInfo.iotDbHost, STRLEN(pConfigInfo.iotDbHost)); + STRNCPY(gSqlHost, pConfigInfo->iotDbHost, STRLEN(pConfigInfo->iotDbHost)); STRINIT(gSqlUser, sizeof(gSqlUser)); - STRNCPY(gSqlUser, pConfigInfo.iotDbUser, STRLEN(pConfigInfo.iotDbUser)); + STRNCPY(gSqlUser, pConfigInfo->iotDbUser, STRLEN(pConfigInfo->iotDbUser)); STRINIT(gSqlPswd, sizeof(gSqlPswd)); - STRNCPY(gSqlPswd, pConfigInfo.iotDbPswd, STRLEN(pConfigInfo.iotDbPswd)); + STRNCPY(gSqlPswd, pConfigInfo->iotDbPswd, STRLEN(pConfigInfo->iotDbPswd)); - gSqlPort = pConfigInfo.iotDbPort; + gSqlPort = pConfigInfo->iotDbPort; GRIB_LOGD("# MY-SQL CONFIG HOST: %s\n", gSqlHost); GRIB_LOGD("# MY-SQL CONFIG PORT: %d\n", gSqlPort); @@ -67,7 +64,7 @@ int Grib_DbClose(void) STRINIT(gSqlHost, sizeof(gSqlHost)); STRINIT(gSqlUser, sizeof(gSqlUser)); STRINIT(gSqlPswd, sizeof(gSqlPswd)); - gSqlPort = NULL; + gSqlPort = 0; gSqlConnect = NULL; GRIB_LOGD("%s CLOSE DONE\n", LOG_TAG_DB); @@ -500,7 +497,6 @@ int Grib_DbDelDeviceFunc(char* deviceID) #define __GRIB_DB_UTIL__ int Grib_DbGetDeviceCount(void) { - int i = 0; int iRes = GRIB_ERROR; int iDeviceCount = -1; char sqlQuery[MYSQL_MAX_SIZE_QUERY+1] = {'\0', }; diff --git a/GRIB_BLE_HUB/grib_emulator b/GRIB_BLE_HUB/grib_emulator new file mode 100644 index 0000000..ca6adb4 Binary files /dev/null and b/GRIB_BLE_HUB/grib_emulator differ diff --git a/GRIB_BLE_HUB/grib_emulator.cpp b/GRIB_BLE_HUB/grib_emulator.cpp new file mode 100644 index 0000000..e9328ee --- /dev/null +++ b/GRIB_BLE_HUB/grib_emulator.cpp @@ -0,0 +1,493 @@ +/* ********** ********** ********** ********** ********** ********** ********** ********** ********** ********** */ +//shbaek: Include File +/* ********** ********** ********** ********** ********** ********** ********** ********** ********** ********** */ +#include "grib_define.h" +#include "grib_util.h" + +#include "grib_onem2m.h" + +#include "grib_sda.h" +#include "grib_auth.h" + +#ifdef FEATURE_CAS +#include "grib_cas.h" +#endif + +/* ********** ********** ********** ********** ********** ********** ********** ********** ********** ********** +shbaek: Define +********** ********** ********** ********** ********** ********** ********** ********** ********** ********** */ +#define GRIB_EMULATOR_SEPARATOR "," + +#define AUTH_REGI_TYPE_NONE 0 +#define AUTH_REGI_TYPE_GATEWAY 1 +#define AUTH_REGI_TYPE_DEVICE 2 + + +typedef struct +{ + int deviceType; + char deviceID[GRIB_MAX_SIZE_MIDDLE]; + char devicePW[GRIB_MAX_SIZE_MIDDLE]; +}GribEmul_AuthInfo; + +typedef struct +{ + char aeName[GRIB_MAX_SIZE_MIDDLE]; + char funcName[GRIB_MAX_SIZE_MIDDLE]; +}GribEmul_AeInfo; + +typedef struct +{ + char origin[GRIB_MAX_SIZE_MIDDLE]; + char uri[GRIB_MAX_SIZE_LONG]; + int maxValue; +}GribEmul_ReportInfo; + +/* ********** ********** ********** ********** ********** ********** ********** ********** ********** ********** +shbaek: Global Variable +********** ********** ********** ********** ********** ********** ********** ********** ********** ********** */ +char GRIB_PATH[MAXPATHLEN]; + +void GribEmul_MenuHelp(void) +{ + GRIB_LOGD("\n"); + GRIB_LOGD("# ########## ########## ########## GRIB MENU ########## ########## ##########\n"); + GRIB_LOGD("# grib_emulator auth \"FILE PATH\"\n"); + GRIB_LOGD("# grib_emulator ae \"FILE PATH\"\n"); + GRIB_LOGD("# grib_emulator report \"FILE PATH\"\n"); + GRIB_LOGD("# ########## ########## ########## ######### ########## ########## ##########\n"); + GRIB_LOGD("\n"); + return; +} + +void GribEmul_MenuAuth(int argc, char **argv) +{ + int i = 0; + int iRes = GRIB_ERROR; + int iDBG = FALSE; + int iTotal = 0; + int iFailCount = 0; + + FILE* pDataFile = NULL; + char* dataFilePath = NULL; + char pLineBuff[SIZE_1K] = {'\0', }; + char* pTemp = NULL; + char* pTrim = NULL; + char* pDeviceID = NULL; + char* pDevicePW = NULL; + + GribEmul_AuthInfo authList[SIZE_1K]; + + if(argc < GRIB_CMD_SUB+1) + { + GRIB_LOGD("# NO DATA FILE !!!\n"); + } + + dataFilePath = GRIB_CMD_SUB[argv]; + pDataFile = fopen(dataFilePath, "r"); + if(pDataFile == NULL) + { + GRIB_LOGD("# DATA FILE OPEN FAIL: %s[%d]\n", LINUX_ERROR_STR, LINUX_ERROR_NUM); + return; + } + + while(!feof(pDataFile)) + { + STRINIT(pLineBuff, sizeof(pLineBuff)); + MEMSET(&authList[i], 0x00, sizeof(GribEmul_AuthInfo)); + + if( fgets(pLineBuff, sizeof(pLineBuff)-1, pDataFile) == NULL ) + { + continue; + } + + if(iDBG)GRIB_LOGD("# LINE: %s\n", pLineBuff); + + pLineBuff[STRLEN(pLineBuff)-1] = '\0'; + pTrim = Grib_TrimAll(pLineBuff); + if(pTrim == NULL)continue; + + if(*pTrim == GRIB_HASH) + {//shbaek: It's Comment + continue; + } + else if(*pTrim == '\0') + {//shbaek: No Data + continue; + } + + if(STRLEN(pLineBuff) <= 1) + {//shbaek: Too Short? + continue; + } + + pTemp = STRSTR(pTrim, GRIB_EMULATOR_SEPARATOR); + if(pTemp == NULL) + {//shbaek: GateWay Type Regi + authList[i].deviceType = AUTH_REGI_TYPE_GATEWAY; + STRNCPY(authList[i].deviceID, pTrim, STRLEN(pTrim)); + } + else + {//shbaek: Device Type Regi + pDevicePW = &pTemp[1]; + *pTemp = '\0'; + pDeviceID = pTrim; + + authList[i].deviceType = AUTH_REGI_TYPE_DEVICE; + STRNCPY(authList[i].deviceID, pDeviceID, STRLEN(pDeviceID)); + STRNCPY(authList[i].devicePW, pDevicePW, STRLEN(pDevicePW)); + } + + if(iDBG)GRIB_LOGD("# LIST[%d] [ID: %s] [TYPE: %d] [PW: %s]\n", i, authList[i].deviceID, authList[i].deviceType, authList[i].devicePW); + + if((sizeof(authList)/sizeof(GribEmul_AuthInfo)) < i)break; //shbaek: Overflow + i++; + } + iTotal = i; + GRIB_LOGD("# LIST TOTAL COUNT: %d\n\n", iTotal); + + for(i=0; ifuncName, sizeof(pRowDeviceFunc->funcName)); + + STRNCPY(rowDeviceInfo.deviceID, aeList[i].aeName, STRLEN(aeList[i].aeName)); + STRNCPY(pRowDeviceFunc->funcName, aeList[i].funcName, STRLEN(aeList[i].funcName)); + +#ifdef FEATURE_CAS + iRes = Grib_AuthGetPW(rowDeviceInfo.deviceID, pAuthKey); + if(iRes == GRIB_DONE) + { + iRes = Grib_CreateOneM2MTree(&rowDeviceInfo, pAuthKey); + } +#else + iRes = Grib_CreateOneM2MTree(&rowDeviceInfo); +#endif + + if(iRes != GRIB_DONE)iFailCount++; + + GRIB_LOGD("# LIST[%d/%d] AE: %s : %s \n\n", i, iTotal-1, aeList[i].aeName, (iRes==GRIB_DONE)?"DONE":"FAIL"); + SLEEP(1); + } + + if(pRowDeviceFunc)FREE(pRowDeviceFunc); + + GRIB_LOGD("# LIST TOTAL COUNT: %d\n", iTotal); + GRIB_LOGD("# LIST ERROR COUNT: %d\n\n", iFailCount); + + return; +} + +void GribEmul_MenuReport(int argc, char **argv) +{ + int i = 0; + int iRes = GRIB_ERROR; + int iDBG = FALSE; + int iTotal = 0; + int iContentValue = 0; + int isFixValue = FALSE; + int iFailCount = 0; + int iLoopCount = 0; + + FILE* pDataFile = NULL; + char* dataFilePath = NULL; + char pLineBuff[SIZE_1K] = {'\0', }; + char* pTemp = NULL; + char* pTrim = NULL; + char* pOrigin = NULL; + char* pUri = NULL; + char* pMaxValue = NULL; + +#ifdef FEATURE_CAS + char pAuthKey[CAS_AUTH_KEY_SIZE] = {'\0', }; +#endif + + OneM2M_ReqParam reqParam; + OneM2M_ResParam resParam; + + GribEmul_ReportInfo reportList[SIZE_1K]; + + if(argc < GRIB_CMD_SUB+1) + { + GRIB_LOGD("# NO DATA FILE !!!\n"); + return; + } + + dataFilePath = GRIB_CMD_SUB[argv]; + pDataFile = fopen(dataFilePath, "r"); + if(pDataFile == NULL) + { + GRIB_LOGD("# DATA FILE OPEN FAIL: %s[%d]\n", LINUX_ERROR_STR, LINUX_ERROR_NUM); + return; + } + + if( (GRIB_CMD_ARG1+1 < argc) && (STRCASECMP(GRIB_CMD_ARG1[argv], "FIX")==0) ) + { + isFixValue = TRUE; + GRIB_LOGD("# REPORT CONTENT VALUE IS FIXED !!!\n"); + } + + while(!feof(pDataFile)) + { + STRINIT(pLineBuff, sizeof(pLineBuff)); + MEMSET(&reportList[i], 0x00, sizeof(GribEmul_AuthInfo)); + + if( fgets(pLineBuff, sizeof(pLineBuff)-1, pDataFile) == NULL ) + { + continue; + } + + if(iDBG)GRIB_LOGD("# LINE: %s\n", pLineBuff); + + pLineBuff[STRLEN(pLineBuff)-1] = '\0'; + pTrim = Grib_TrimAll(pLineBuff); + if(pTrim == NULL)continue; + + if(*pTrim == GRIB_HASH) + {//shbaek: It's Comment + continue; + } + else if(*pTrim == '\0') + {//shbaek: No Data + continue; + } + + if(STRLEN(pLineBuff) <= 1) + {//shbaek: Too Short? + continue; + } + + pTemp = STRSTR(pTrim, GRIB_EMULATOR_SEPARATOR); + if(pTemp == NULL) + {//shbaek: In-Valid Data + continue; + } + + pOrigin = pTrim; + *pTemp = '\0'; + pTrim = &pTemp[1]; + + pTemp = STRSTR(pTrim, GRIB_EMULATOR_SEPARATOR); + if(pTemp == NULL) + {//shbaek: In-Valid Data + continue; + } + + pUri = pTrim; + *pTemp = '\0'; + pMaxValue = &pTemp[1]; + + reportList[i].maxValue = ATOI(pMaxValue); + STRNCPY(reportList[i].origin, pOrigin, STRLEN(pOrigin)); + STRNCPY(reportList[i].uri, pUri, STRLEN(pUri)); + + if(iDBG)GRIB_LOGD("# LIST[%d] [ID: %s] [URI: %s] [MAX: %d]\n", i, + reportList[i].origin, reportList[i].uri, reportList[i].maxValue); + + if((sizeof(reportList)/sizeof(GribEmul_ReportInfo)) < i)break; //shbaek: Overflow + i++; + } + iTotal = i; + GRIB_LOGD("# LIST TOTAL COUNT: %d\n\n", iTotal); + +LOOP: + iLoopCount++; + for(i=0; i size) + break; + + type = data[offset + 1]; + + if (type == FLAGS_AD_TYPE) { + *flags = data[offset + 2]; + return 0; + } + + offset += 1 + len; + } + + return -ENOENT; +} + +static int check_report_filter(uint8_t procedure, le_advertising_info *info) +{ + uint8_t flags; + + /* If no discovery procedure is set, all reports are treat as valid */ + if (procedure == 0) + return 1; + + /* Read flags AD type value from the advertising report if it exists */ + if (read_flags(&flags, info->data, info->length)) + return 0; + + switch (procedure) { + case 'l': /* Limited Discovery Procedure */ + if (flags & FLAGS_LIMITED_MODE_BIT) + return 1; + break; + case 'g': /* General Discovery Procedure */ + if (flags & (FLAGS_LIMITED_MODE_BIT | FLAGS_GENERAL_MODE_BIT)) + return 1; + break; + default: + fprintf(stderr, "Unknown discovery procedure\n"); + } + + return 0; +} + +static int eir_parse_name(uint8_t *eir, size_t eir_len, char *buf, size_t buf_len) +{ + size_t offset; + + offset = 0; + while(offset < eir_len) + { + uint8_t field_len = eir[0]; + size_t name_len; + + /* Check for the end of EIR */ + if (field_len == 0) break; + if (offset + field_len > eir_len) goto failed; + + switch (eir[1]) + { + case EIR_NAME_SHORT: + case EIR_NAME_COMPLETE: + name_len = field_len - 1; + if (name_len > buf_len) goto failed; + + memcpy(buf, &eir[2], name_len); + return 1; + } + + offset += field_len + 1; + eir += field_len + 1; + } + +failed: + snprintf(buf, buf_len, "(unknown)"); + return 0; +} + +static int print_advertising_devices(int dd, uint8_t filter_type, int maxScanCount, int ignoreDulicate) +{ + unsigned char buf[HCI_MAX_EVENT_SIZE], *ptr; + struct hci_filter nf, of; + struct sigaction sa; + socklen_t olen; + int len; + int iCount = 0; + + int idx = 0; + int noGet = TRUE; + bdaddr_t** ppAddrList; + + olen = sizeof(of); + if (getsockopt(dd, SOL_HCI, HCI_FILTER, &of, &olen) < 0) { + printf("Could not get socket options\n"); + return -1; + } + + hci_filter_clear(&nf); + hci_filter_set_ptype(HCI_EVENT_PKT, &nf); + hci_filter_set_event(EVT_LE_META_EVENT, &nf); + + if (setsockopt(dd, SOL_HCI, HCI_FILTER, &nf, sizeof(nf)) < 0) { + printf("Could not set socket options\n"); + return -1; + } + + memset(&sa, 0, sizeof(sa)); + sa.sa_flags = SA_NOCLDSTOP; + sa.sa_handler = sigint_handler; + sigaction(SIGINT, &sa, NULL); + + if(ignoreDulicate) + { + ppAddrList = (bdaddr_t**) MALLOC(sizeof(bdaddr_t*) * maxScanCount); + for(idx=0; idxsubevent != 0x02) + goto done; + + /* Ignoring multiple reports */ + info = (le_advertising_info *) (meta->data + 1); + + if(ignoreDulicate) + { + noGet = TRUE; + for(idx=0; idxbdaddr, sizeof(bdaddr_t)) == 0) + {//shbaek: Find Duplicated Item + noGet = FALSE; + } + } + + if(noGet == TRUE) + {//shbaek: Take Item + memcpy(ppAddrList[iCount], &info->bdaddr, sizeof(bdaddr_t)); + } + else + {//shbaek: Throw Trash + iCount++; + continue; + } + } + if (check_report_filter(filter_type, info)) + { + char name[HCI_DEVICE_NAME_MAX_SIZE]; + + memset(name, 0, sizeof(name)); + + ba2str(&info->bdaddr, addr); + if(eir_parse_name(info->data, info->length, name, sizeof(name) - 1)) + { + printf("%s %s\n", addr, name); + iCount++; + } + } + } + +done: + setsockopt(dd, SOL_HCI, HCI_FILTER, &of, sizeof(of)); + + if(ignoreDulicate) + { + if(ppAddrList != NULL) + { + for(idx=0; idxtm_year+1900, sysTime->tm_mon+1, sysTime->tm_mday, + sysTime->tm_hour, sysTime->tm_min, sysTime->tm_sec, pLogInfo->httpSender); + + GRIB_LOGD("# HTTP TOMBSTONE NAME: %s\n", pLogFilePath); + + iFD = open(pLogFilePath, O_WRONLY|O_CREAT, 0666); + + pMsg = "# SENDER NAME: "; + write(iFD, pMsg, STRLEN(pMsg)); + write(iFD, pLogInfo->httpSender, STRLEN(pLogInfo->httpSender)); + write(iFD, GRIB_CRLN, STRLEN(GRIB_CRLN)); + + pMsg = "# SEND MSG : "; + write(iFD, pMsg, STRLEN(pMsg)); + write(iFD, GRIB_CRLN, STRLEN(GRIB_CRLN)); + write(iFD, pLogInfo->httpSendMsg, STRLEN(pLogInfo->httpSendMsg)); + write(iFD, GRIB_CRLN, STRLEN(GRIB_CRLN)); + + pMsg = "# ERROR MSG : "; + write(iFD, pMsg, STRLEN(pMsg)); + write(iFD, pLogInfo->httpErrMsg, STRLEN(pLogInfo->httpErrMsg)); + write(iFD, GRIB_CRLN, STRLEN(GRIB_CRLN)); + + close(iFD); +} + +int Grib_HttpConnect(char* serverIP, int serverPort) +{ + int iFD = GRIB_ERROR; + int iRes = GRIB_ERROR; + + timeval timeOut; + struct sockaddr_in serverAddr; + + iFD = socket(AF_INET, SOCK_STREAM, 0); + if(iFD < 0) + { + GRIB_LOGD("SOCKET OPEN FAIL: %s[%d]\n", LINUX_ERROR_STR, LINUX_ERROR_NUM); + return GRIB_ERROR; + } + + timeOut.tv_sec = HTTP_TIME_OUT_SEC_RECEIVE; + timeOut.tv_usec = GRIB_NOT_USED; + setsockopt(iFD, SOL_SOCKET, SO_RCVTIMEO, (char*)&timeOut, sizeof(timeval)); + + bzero(&serverAddr, sizeof(serverAddr)); + serverAddr.sin_family = AF_INET; + serverAddr.sin_addr.s_addr = inet_addr(serverIP); + serverAddr.sin_port = htons(serverPort); + + iRes = connect(iFD, (struct sockaddr *)&serverAddr, sizeof(serverAddr)); + if(iRes != GRIB_SUCCESS) + { + GRIB_LOGD("HTTP CONNECT FAIL: %s[%d]\n", LINUX_ERROR_STR, LINUX_ERROR_NUM); + return GRIB_ERROR; + } + + return iFD; +} + +int Grib_HttpConnectTimeOut(char* serverIP, int serverPort) +{ + int iFD = GRIB_ERROR; + int iRes = GRIB_ERROR; + + int iSize = 0; + int iCount = 0; + int iError = 0; + + int nonSocketStat = 0; + int orgSocketStat = 0; + + fd_set readSet; + fd_set writeSet; + + timeval recvTimeOut; + timeval connTimeOut; + struct sockaddr_in serverAddr; + + iFD = socket(AF_INET, SOCK_STREAM, GRIB_NOT_USED); + if(iFD < 0) + { + GRIB_LOGD("# SOCKET OPEN FAIL: %s[%d]\n", LINUX_ERROR_STR, LINUX_ERROR_NUM); + return GRIB_ERROR; + } + + //shbaek: Get Socket Stat + orgSocketStat = fcntl(iFD, F_GETFL, NULL); + if(orgSocketStat < 0) + { + GRIB_LOGD("# GET FILE STAT FAIL: %s[%d]\n", LINUX_ERROR_STR, LINUX_ERROR_NUM); + return GRIB_ERROR; + } + + //shbaek: Set Non-Block Stat + nonSocketStat = orgSocketStat | O_NONBLOCK; + iRes = fcntl(iFD, F_SETFL, nonSocketStat); + if(iRes < 0) + { + GRIB_LOGD("# SET NONBLOCK STAT FAIL: %s[%d]\n", LINUX_ERROR_STR, LINUX_ERROR_NUM); + return GRIB_ERROR; + } + + bzero(&serverAddr, sizeof(serverAddr)); + serverAddr.sin_family = AF_INET; + serverAddr.sin_addr.s_addr = inet_addr(serverIP); + serverAddr.sin_port = htons(serverPort); + + //shbaek: Connect + iRes = connect(iFD, (struct sockaddr *)&serverAddr, sizeof(serverAddr)); + if(iRes < 0) + { + if(LINUX_ERROR_NUM != EINPROGRESS) + {//shbaek: Connect Error + GRIB_LOGD("# HTTP CONNECT FAIL: %s[%d]\n", LINUX_ERROR_STR, LINUX_ERROR_NUM); + return GRIB_ERROR; + } + } + else + {//shbaek: One Shot Connected -> Restore Socket Stat + fcntl(iFD, F_SETFL, orgSocketStat); + return iFD; + } + + FD_ZERO(&readSet); + FD_SET(iFD, &readSet); + writeSet = readSet; + connTimeOut.tv_sec = HTTP_TIME_OUT_SEC_CONNECT; + connTimeOut.tv_usec = GRIB_NOT_USED; + + //shbaek: Wait Read & Write Set + iCount = select(iFD+1, &readSet, &writeSet, GRIB_NOT_USED, &connTimeOut); + if(iCount == 0) + { + //shbaek: Time Out + LINUX_ERROR_NUM = ETIMEDOUT; + GRIB_LOGD("# SELECT TIME OUT: %d SEC\n", HTTP_TIME_OUT_SEC_CONNECT); + return GRIB_ERROR; + } + + //shbaek: Check Read & Write Set + if( FD_ISSET(iFD, &readSet) || FD_ISSET(iFD, &writeSet) ) + { + iSize = sizeof(int); + iCount = getsockopt(iFD, SOL_SOCKET, SO_ERROR, &iError, (socklen_t *)&iSize); + if(iCount < 0) + { + GRIB_LOGD("# GET SOCKET OPTION FAIL: %s[%d]\n", LINUX_ERROR_STR, LINUX_ERROR_NUM); + return GRIB_ERROR; + } + } + else + { + //shbaek: Nobody Has Touched + GRIB_LOGD("# NOBODY HAS TOCHED SOCKET\n"); + return GRIB_ERROR; + } + + //shbaek: Restore Socket Stat + fcntl(iFD, F_SETFL, orgSocketStat); + if(iError) + { + LINUX_ERROR_NUM = iError; + GRIB_LOGD("# SET FILE STAT FAIL: %s[%d]\n", LINUX_ERROR_STR, LINUX_ERROR_NUM); + return GRIB_ERROR; + } + + //shbaek: Set Receive Time Out + recvTimeOut.tv_sec = HTTP_TIME_OUT_SEC_RECEIVE; + recvTimeOut.tv_usec = GRIB_NOT_USED; + setsockopt(iFD, SOL_SOCKET, SO_RCVTIMEO, (char*)&recvTimeOut, sizeof(timeval)); + + return iFD; +} + +int Grib_HttpResParser(Grib_HttpMsgInfo* pMsg) +{ + int i = 0; + int iRes = GRIB_ERROR; + int iLoopMax = 128; + int iDBG = gHttpDebug; + + char* strToken = NULL; + char* str1Line = NULL; + char* strResponse = NULL; + + char* strHttpVer = NULL; + char* strCodeNum = NULL; + char* strCodeMsg = NULL; + + if( (pMsg==NULL) || (pMsg->recvBuff==NULL) ) + { + GRIB_LOGD("# PARAM IS NULL\n"); + return GRIB_ERROR; + } + + //shbaek: Set Init. + pMsg->statusCode = HTTP_STATUS_CODE_UNKNOWN; + STRINIT(pMsg->statusMsg, sizeof(pMsg->statusMsg)); + + strToken = GRIB_CRLN; + strResponse = STRDUP(pMsg->recvBuff); + if(strResponse == NULL) + { + GRIB_LOGD("# RESPONSE COPY ERROR\n"); + goto FINAL; + } + + str1Line = STRTOK(strResponse, strToken); + if(str1Line == NULL) + { + GRIB_LOGD("# 1ST LINE IS NULL !!!\n"); + goto FINAL; + } + + iRes = STRNCMP(str1Line, HTTP_VERSION_1P1, STRLEN(HTTP_VERSION_1P1)); + if(iRes != 0) + {//shbaek: is not Same? Something Wrong + GRIB_LOGD("# 1ST LINE IS WRONG: %s\n", str1Line); + goto FINAL; + } + +/** + * shbaek: Ex) Response Status Code + * HTTP/1.1 200 OK + * HTTP/1.1 404 Not Found + * [1:Space] [3:Number Count] + */ + + strHttpVer = str1Line; + strCodeNum = strHttpVer+STRLEN(HTTP_VERSION_1P1)+1; + strCodeMsg = strCodeNum+3+1; + + *(strCodeNum-1) = NULL; + *(strCodeMsg-1) = NULL; + + pMsg->statusCode= ATOI(strCodeNum); + + STRINIT(pMsg->statusMsg, sizeof(pMsg->statusMsg)); + STRNCPY(pMsg->statusMsg, strCodeMsg, STRLEN(strCodeMsg)); + +FINAL: + if(strResponse!=NULL)FREE(strResponse); + + return GRIB_DONE; +} + +int Grib_Recv1Line(int iFD, char* lineBuff, int buffSize, int opt) +{ + int iCount = 0; + int iDBG = FALSE; + + char prevChar = '\0'; + char readChar = '\0'; + + while(recv(iFD, &readChar, sizeof(readChar), GRIB_NOT_USED) == sizeof(readChar)) + { + lineBuff[iCount] = readChar; + iCount++; + + if( (prevChar==GRIB_CR) && (readChar==GRIB_LN) ) + {//shbaek: Cut Line + break; + } + + prevChar = readChar; + + if(buffSize <= iCount) + {//shbaek: Limit Buff Size + break; + } + } + + if(iDBG)GRIB_LOGD("# RECV 1LINE: COUNT: %d\n", iCount); + + return iCount; +} + +int Grib_RecvChunked(int iFD, char* recvBuff, int buffSize, int opt) +{ + int iDBG = FALSE; + int iRes = GRIB_ERROR; + int iCount = 0; + int iTotal = 0; + int recvSize = 0; + + char* pEndPoint = "\r\n"; + + do{ + + STRINIT(gLineBuff, sizeof(gLineBuff)); + if(recvSize == 0)recvSize = buffSize; + else recvSize = recvSize+STRLEN(GRIB_CRLN); + + iCount = Grib_Recv1Line(iFD, gLineBuff, recvSize, GRIB_NOT_USED); + if(iCount < 0) + {//shbaek: Recv Error + GRIB_LOGD("# RECV CHUNKED FAIL: %s[%d]\n", LINUX_ERROR_STR, LINUX_ERROR_NUM); + return GRIB_FAIL; + } + else if( (iCount==3) && (gLineBuff[0]=='0') ) + {//shbaek: Recv End + if(iDBG)GRIB_LOGD("# NO MORE RECV DATA\n"); + + recvBuff[iTotal++]= GRIB_CR; + recvBuff[iTotal++]= GRIB_LN; + + break; + } + else if( (iCount <= HTTP_MAX_SIZE_CHUNKED_HEX_STR) && Grib_isHexString(gLineBuff, iCount-STRLEN(GRIB_CRLN))) + {//shbaek: Size Data + recvSize = strtol(gLineBuff, &pEndPoint, 16); + if(iDBG)GRIB_LOGD("# NEXT RECV SIZE[%d]: %s\n", recvSize, gLineBuff); + + } + else + {//shbaek: Real Data + int iCopySize = iCount; + + if( recvSize != buffSize) + { + if( (gLineBuff[iCount-2]=='\r') && (gLineBuff[iCount-1]=='\n') ) + { + iCopySize -= STRLEN(GRIB_CRLN); + if(iDBG)GRIB_LOGD("# END IS CR LF\n"); + } + } + MEMCPY(recvBuff+iTotal, gLineBuff, iCopySize); + + iTotal += iCopySize; + recvSize = 0; //shbaek: for Chunked Data Size + if(iDBG) + { + GRIB_LOGD("# RECV:%d COPY:%d TOTAL:%d\n", iCount, iCopySize, iTotal); + GRIB_LOGD("# ONLY DATA[%d]: %s\n", iCount, gLineBuff); + } + } + }while(iTotal < buffSize); + + + return iTotal; +} + +int Grib_HttpSendMsg(Grib_HttpMsgInfo* pMsg) +{ + int iCount = GRIB_ERROR; + int iTotal = GRIB_ERROR; + int iDBG = gHttpDebug; + + int iFD = 0; + int iError = FALSE; + + int isChunk = FALSE; + + int iTimeCheck = gHttpDebug; + time_t sysTimer; + struct tm *sysTime; + Grib_HttpLogInfo httpLogInfo; + + if( pMsg == NULL) + { + GRIB_LOGD("# HTTP SEND MSG PARAM NULL ERROR !!!\n"); + return GRIB_ERROR; + } + + if( (pMsg->serverIP==NULL) || (pMsg->serverPort==0) ) + { + GRIB_LOGD("# HTTP SERVER INFO NULL ERROR !!!\n"); + return GRIB_ERROR; + } + + if( STRLEN(pMsg->sendBuff) <= 0) + { + GRIB_LOGD("# HTTP SEND BUFFER EMPTY !!!\n"); + return GRIB_ERROR; + } + + iCount = -1; + iTotal = 0; + MEMSET(pMsg->recvBuff, GRIB_INIT, HTTP_MAX_SIZE_RECV_MSG); + MEMSET(&httpLogInfo, 0x00, sizeof(httpLogInfo)); + if( STRLEN(pMsg->LABEL) <= 0) + { + httpLogInfo.httpSender = HTTP_DEFAULT_SENDER; + } + else + { + httpLogInfo.httpSender = pMsg->LABEL; + } + httpLogInfo.httpSendMsg = pMsg->sendBuff; + + //shbaek: Server Connect. + iFD = Grib_HttpConnectTimeOut(pMsg->serverIP, pMsg->serverPort); + if(iFD < 0) + { + GRIB_LOGD("# HTTP CONNECT ERROR: %s:%d\n", pMsg->serverIP, pMsg->serverPort); + STRINIT(httpLogInfo.httpErrMsg, sizeof(httpLogInfo.httpErrMsg)); + SNPRINTF(httpLogInfo.httpErrMsg, sizeof(httpLogInfo.httpErrMsg), "%s [%s (%d)]", "CONNECT ERROR", LINUX_ERROR_STR, LINUX_ERROR_NUM); + iError = TRUE; + goto FINAL; + } + + if(iTimeCheck) + {//2 shbaek: TIME CHECK + sysTimer = time(NULL); + sysTime = localtime(&sysTimer); + GRIB_LOGD("# SEND BEGIN TIME: %02d:%02d:%02d\n", sysTime->tm_hour, sysTime->tm_min, sysTime->tm_sec); + } + + iCount = send(iFD, pMsg->sendBuff, STRLEN(pMsg->sendBuff), GRIB_NOT_USED); + if(iCount <= 0) + { + GRIB_LOGD("# SEND FAIL: %s[%d]\n", LINUX_ERROR_STR, LINUX_ERROR_NUM); + STRINIT(httpLogInfo.httpErrMsg, sizeof(httpLogInfo.httpErrMsg)); + SNPRINTF(httpLogInfo.httpErrMsg, sizeof(httpLogInfo.httpErrMsg), "%s [%s (%d)]", "SEND ERROR", LINUX_ERROR_STR, LINUX_ERROR_NUM); + iError = TRUE; + goto FINAL; + } + if(iDBG)GRIB_LOGD("# %s-HTTP-MSG: SEND DONE [TOTAL: %d]\n", httpLogInfo.httpSender, iCount); + + do{ + MEMSET(gLineBuff, 0x00, sizeof(gLineBuff)); +// iCount = recv(iFD, (pMsg->recvBuff+iTotal), (HTTP_MAX_SIZE_RECV_MSG-iTotal), GRIB_NOT_USED); + iCount = Grib_Recv1Line(iFD, gLineBuff, sizeof(gLineBuff), GRIB_NOT_USED); + if(iCount < 0) + { + GRIB_LOGD("# %s-HTTP-MSG: RECV FAIL: %s[%d]\n", httpLogInfo.httpSender, LINUX_ERROR_STR, LINUX_ERROR_NUM); + STRINIT(httpLogInfo.httpErrMsg, sizeof(httpLogInfo.httpErrMsg)); + SNPRINTF(httpLogInfo.httpErrMsg, sizeof(httpLogInfo.httpErrMsg), "%s [%s (%d)]", "RECV ERROR", LINUX_ERROR_STR, LINUX_ERROR_NUM); + iError = TRUE; + break; + } + else if(iCount == 0) + { + if(iDBG)GRIB_LOGD("# %s-HTTP-MSG: RECV DONE [TOTAL: %d]\n", httpLogInfo.httpSender, iTotal); + break; + } + else + { + MEMCPY(pMsg->recvBuff+iTotal, gLineBuff, iCount); + + iTotal += iCount; + //if(iDBG)GRIB_LOGD("# RECV: %d\n", iCount); + + if(!STRNCASECMP(gLineBuff, HTTP_TRANS_ENCODE_CHUNK, STRLEN(HTTP_TRANS_ENCODE_CHUNK))) + { + isChunk = TRUE; + if(iDBG)GRIB_LOGD("# TRANSFER ENCODING: CHUNKED !!!\n"); + iCount = Grib_RecvChunked(iFD, pMsg->recvBuff+iTotal, HTTP_MAX_SIZE_RECV_MSG-iTotal, GRIB_NOT_USED); + iTotal += iCount; + if(iDBG)GRIB_LOGD("# REAL DATA RECV DONE [TOTAL: %d]\n", iTotal); + break; + } + } + }while(iTotal < HTTP_MAX_SIZE_RECV_MSG); + +FINAL: + if(iTimeCheck) + {//2 shbaek: TIME CHECK + sysTimer = time(NULL); + sysTime = localtime(&sysTimer); + if(iDBG)GRIB_LOGD("# RECV DONE TIME : %02d:%02d:%02d\n", sysTime->tm_hour, sysTime->tm_min, sysTime->tm_sec); + } + + if(0 < iFD) close(iFD); + + if(iError) + { + GRIB_LOGD("# HTTP SEND ERROR: %s\n", httpLogInfo.httpErrMsg); + Grib_HttpTombStone(&httpLogInfo); + return GRIB_ERROR; + } + + return iTotal; +} + + diff --git a/GRIB_BLE_HUB/grib_hub b/GRIB_BLE_HUB/grib_hub new file mode 100644 index 0000000..4b07b6e Binary files /dev/null and b/GRIB_BLE_HUB/grib_hub differ diff --git a/GRIB_BLE_HUB/grib_hub.cpp b/GRIB_BLE_HUB/grib_hub.cpp new file mode 100644 index 0000000..b793228 --- /dev/null +++ b/GRIB_BLE_HUB/grib_hub.cpp @@ -0,0 +1,999 @@ +/* ********** ********** ********** ********** ********** ********** ********** ********** ********** ********** +shbaek: Include File +********** ********** ********** ********** ********** ********** ********** ********** ********** ********** */ +#include + +#include "grib_define.h" +#include "grib_onem2m.h" + +#include "grib_db.h" +#include "grib_ble.h" +#include "grib_regi.h" +#include "grib_thread.h" +#include "grib_sda.h" +#include "grib_auth.h" + +#ifdef FEATURE_CAS +#include "grib_cas.h" +#endif + +/* ********** ********** ********** ********** ********** ********** ********** ********** ********** ********** +shbaek: Global Variable +********** ********** ********** ********** ********** ********** ********** ********** ********** ********** */ + +void Grib_MenuHelp(void) +{ + GRIB_LOGD("\n"); + GRIB_LOGD("# ########## ########## ########## GRIB MENU ########## ########## ##########\n"); +// GRIB_LOGD("#\n"); + GRIB_LOGD("# grib version\n"); + GRIB_LOGD("# grib hub\n"); + GRIB_LOGD("# grib regi \"DEVICE ADDR\"\n"); + GRIB_LOGD("# grib deregi \"DEVICE ID\"\n"); + GRIB_LOGD("# grib db all\n"); + GRIB_LOGD("# grib db create\n"); + GRIB_LOGD("# grib db drop\n"); + GRIB_LOGD("# grib ble init\n"); + GRIB_LOGD("# grib ble sacn\n"); + GRIB_LOGD("# grib ble info \"DEVICE ADDR\"\n"); +// GRIB_LOGD("#\n"); + GRIB_LOGD("# ########## ########## ########## ######### ########## ########## ##########\n"); + GRIB_LOGD("\n"); + return; +} + +void Grib_MenuConfig(int argc, char **argv) +{ + Grib_ConfigInfo* pConfigInfo = NULL; + + pConfigInfo = Grib_GetConfigInfo(); + if(pConfigInfo == NULL) + { + GRIB_LOGD("LOAD CONFIG ERROR !!!\n"); + return; + } + + GRIB_LOGD("\n"); + GRIB_LOGD("# ########## ########## ########## GRIB CONFIG ########## ########## ##########\n"); + GRIB_LOGD("# HUB_ID : %s\n", pConfigInfo->hubID); + GRIB_LOGD("# PLATFORM_SERVER_IP : %s\n", pConfigInfo->platformServerIP); + GRIB_LOGD("# PLATFORM_SERVER_PORT: %d\n", pConfigInfo->platformServerPort); + GRIB_LOGD("# AUTH_SERVER_IP : %s\n", pConfigInfo->authServerIP); + GRIB_LOGD("# AUTH_SERVER_PORT : %d\n", pConfigInfo->authServerPort); + GRIB_LOGD("# SDA_SERVER_IP : %s\n", pConfigInfo->sdaServerIP); + GRIB_LOGD("# SDA_SERVER_PORT : %d\n", pConfigInfo->sdaServerPort); + GRIB_LOGD("# MYSQL_DB_HOST : %s\n", pConfigInfo->iotDbHost); + GRIB_LOGD("# MYSQL_DB_PORT : %d\n", pConfigInfo->iotDbPort); + GRIB_LOGD("# MYSQL_DB_USER : %s\n", pConfigInfo->iotDbUser); + GRIB_LOGD("# MYSQL_DB_PASSWORD : %s\n", pConfigInfo->iotDbPswd); + GRIB_LOGD("# GRIB_DEBUG_ONEM2M : %s\n", GRIB_BOOL_TO_STR(pConfigInfo->debugOneM2M)); + GRIB_LOGD("# GRIB_DEBUG_BLE : %s\n", GRIB_BOOL_TO_STR(pConfigInfo->debugBLE)); + GRIB_LOGD("# GRIB_DEBUG_THREAD : %s\n", GRIB_BOOL_TO_STR(pConfigInfo->debugThread)); + GRIB_LOGD("# GRIB_TOMBSTONE_BLE : %s\n", GRIB_BOOL_TO_STR(pConfigInfo->tombStoneBLE)); + GRIB_LOGD("# GRIB_TOMBSTONE_HTTP : %s\n", GRIB_BOOL_TO_STR(pConfigInfo->tombStoneHTTP)); + GRIB_LOGD("# ########## ########## ########## ######### ########## ########## ##########\n"); + GRIB_LOGD("\n"); + + return; +} + +void Grib_MenuHub(int argc, char **argv) +{ + int iRes = GRIB_ERROR; + const char* FUNC_TAG = "# GRIB-HUB:"; + Grib_ConfigInfo* pConfigInfo = NULL; + + //3 shbaek: MAIN FUNCTION + GRIB_LOGD("# ##### ##### ##### ##### ##### GRIB HUB START ##### ##### ##### ##### #####\n"); + GRIB_LOGD("# COMPILE TIME : %s %s\n", __DATE__, __TIME__); + + pConfigInfo = Grib_GetConfigInfo(); + if(pConfigInfo == NULL) + { + GRIB_LOGD("%s GET CONFIG ERROR !!!\n", FUNC_TAG); + return; + } + + //shbaek: Config + iRes = Grib_SetThreadConfig(); + if(iRes != GRIB_DONE) + { + GRIB_LOGD("%s SERVER CONFIG ERROR\n", FUNC_TAG); + return; + } + iRes = Grib_SiSetServerConfig(); + if(iRes != GRIB_DONE) + { + GRIB_LOGD("%s SERVER CONFIG ERROR\n", FUNC_TAG); + return; + } + iRes = Grib_BleConfig(); + if(iRes != GRIB_DONE) + { + GRIB_LOGD("%s BLE CONFIG ERROR\n", FUNC_TAG); + return; + } + + //shbaek: Init + iRes = Grib_BleDetourInit(); + if(iRes != GRIB_DONE) + { + GRIB_LOGD("%s BLE INIT FAIL\n", FUNC_TAG); + } + + iRes = Grib_BleCleanAll(); + if(iRes != GRIB_DONE) + { + GRIB_LOGD("%s BLE PIPE CLEAN FAIL\n", FUNC_TAG); + } + +#ifdef FEATURE_CAS + //shbaek: CAS Lib Init & Get Certification + iRes = Grib_CasInit(pConfigInfo->hubID); + if(iRes != GRIB_DONE) + { + GRIB_LOGD("%s: CAS INIT FAIL !!!\n", FUNC_TAG); + return; + } +#endif + + Grib_ThreadStart(); + return; +} + +void Grib_MenuRegi(int argc, char **argv) +{ + const char* FUNC_TAG = "# GRIB-REGI:"; + + int iRes = GRIB_ERROR; + char* deviceAddr = NULL; + char* option = NULL; + int optAuth = GRIB_NOT_USED; + + Grib_ConfigInfo* pConfigInfo = NULL; + + //shbaek: You Must be Set Server Config. + Grib_SiSetServerConfig(); + + if(argc < GRIB_CMD_SUB+1) + { + GRIB_LOGD("# USAGE: grib regi \"DEVICE ADDR\"\n"); + return; + } + +#ifdef FEATURE_CAS + pConfigInfo = Grib_GetConfigInfo(); + if(pConfigInfo == NULL) + { + GRIB_LOGD("%s GET CONFIG ERROR !!!\n", FUNC_TAG); + return; + } + + //shbaek: CAS Lib Init & Get Certification + iRes = Grib_CasInit(pConfigInfo->hubID); + if(iRes != GRIB_DONE) + { + GRIB_LOGD("%s: CAS INIT FAIL !!!\n", FUNC_TAG); + return; + } +#endif + + deviceAddr = argv[GRIB_CMD_SUB]; + + if(GRIB_CMD_ARG1 < argc) + { + option = argv[GRIB_CMD_ARG1]; + + if(STRNCASECMP(option, "NEW", STRLEN("NEW"))==0) + {//shbaek: Regi Hub Self + optAuth = AUTH_REGI_OPT_PW_OVER_WRITE; + } + + if(STRNCASECMP(option, "RE", STRLEN("RE"))==0) + {//shbaek: Regi Hub Self + optAuth = AUTH_REGI_OPT_PW_RE_USED; + } + } + + Grib_DeviceRegi(deviceAddr, optAuth); + return; +} + +void Grib_MenuDeRegi(int argc, char **argv) +{ + const char* FUNC_TAG = "# GRIB-DeREGI:"; + + int iRes = GRIB_ERROR; + Grib_ConfigInfo* pConfigInfo = NULL; + + int delOneM2M = FALSE; + char* deviceID = NULL; + char* option = NULL; + + //shbaek: You Must be Set Server Config. + Grib_SiSetServerConfig(); + + if(argc < GRIB_CMD_SUB+1) + { + GRIB_LOGD("# USAGE: grib deregi \"DEVICE ID\"\n"); + return; + } + +#ifdef FEATURE_CAS + pConfigInfo = Grib_GetConfigInfo(); + if(pConfigInfo == NULL) + { + GRIB_LOGD("%s GET CONFIG ERROR !!!\n", FUNC_TAG); + return; + } + + //shbaek: CAS Lib Init & Get Certification + iRes = Grib_CasInit(pConfigInfo->hubID); + if(iRes != GRIB_DONE) + { + GRIB_LOGD("%s: CAS INIT FAIL !!!\n", FUNC_TAG); + return; + } +#endif + + deviceID = argv[GRIB_CMD_SUB]; + + if(GRIB_CMD_ARG1 < argc) + { + option = argv[GRIB_CMD_ARG1]; + + if(STRNCASECMP(option, "ALL", STRLEN("ALL"))==0) + {//shbaek: Regi Hub Self + delOneM2M = TRUE; + } + } + + Grib_DeviceDeRegi(deviceID, delOneM2M); + return; +} + +void Grib_MenuBle(int argc, char **argv) +{ + char recvBuff[BLE_MAX_SIZE_RECV_MSG+1] = {'\0', }; + char* subMenu = NULL; + char* pSendMsg = NULL; + + char* deviceID = NULL; + char* deviceAddr = NULL; + + subMenu = GRIB_CMD_SUB[argv]; + + Grib_BleConfig(); + + if(STRCASECMP(subMenu, "init") == 0) + { + Grib_BleDetourInit(); + } + if(STRCASECMP(subMenu, "info") == 0) + { + Grib_DbRowDeviceInfo rowDeviceInfo; + if(argc < GRIB_CMD_ARG1+1) + { + GRIB_LOGD("# USAGE: grib ble info \"DEVICE ADDR\"\n"); + return; + } + deviceAddr = GRIB_CMD_ARG1[argv]; + STRINIT(rowDeviceInfo.deviceAddr, sizeof(rowDeviceInfo.deviceAddr)); + STRNCPY(rowDeviceInfo.deviceAddr, deviceAddr, STRLEN(deviceAddr)); + + Grib_BleDeviceInfo(&rowDeviceInfo); + } + if(STRCASECMP(subMenu, "send") == 0) + { + if(argc < GRIB_CMD_ARG3+1) + { + GRIB_LOGD("# USAGE: grib ble send \"DEVICE ADDR\" \"DEVICE ID\" \"SEND MSG\"\n"); + return; + } + + deviceAddr = GRIB_CMD_ARG1[argv]; + deviceID = GRIB_CMD_ARG2[argv]; + pSendMsg = GRIB_CMD_ARG3[argv]; + + Grib_BleSendMsg(deviceAddr, deviceID, pSendMsg, recvBuff); + + //GRIB_LOGD("# SEND MSG[%03d]: %s\n", STRLEN(pSendMsg), pSendMsg); + //GRIB_LOGD("# RECV MSG[%03d]: %s\n", STRLEN(recvBuff), recvBuff); + } + if(STRCASECMP(subMenu, "clean") == 0) + { + Grib_BleCleanAll(); + } + + return; +} + + +void Grib_MenuDb(int argc, char **argv) +{ + int i = 0; + int x = 0; + int iRes = GRIB_ERROR; + int iDeviceCount = 0; + int iFuncCount = 0; + char* subMenu = NULL; + + char* deviceID = NULL; + + Grib_DbAll dbAll; + Grib_DbAll* pDbAll; + Grib_DbRowDeviceInfo* pRowDeviceInfo; + Grib_DbRowDeviceFunc* pRowDeviceFunc; + + subMenu = GRIB_CMD_SUB[argv]; + + if(STRCASECMP(subMenu, "create") == 0) + { + Grib_DbCreate(); + Grib_DbClose(); + } + if(STRCASECMP(subMenu, "drop") == 0) + { + Grib_DbDrop(); + Grib_DbClose(); + } + if(STRCASECMP(subMenu, "all") == 0) + { + Grib_DbToMemory(&dbAll); + pDbAll = &dbAll; + iDeviceCount = pDbAll->deviceCount; + + for(i=0; ippRowDeviceInfo[i]; + iFuncCount = pRowDeviceInfo->deviceFuncCount; + + GRIB_LOGD("\n"); + GRIB_LOGD("# ---------- ---------- ---------- ---------- ---------- ---------- ----------\n"); + GRIB_LOGD("# DEVICE ID : %s\n", pRowDeviceInfo->deviceID); +// GRIB_LOGD("# DEVICE IF : %s\n", Grib_InterfaceToStr((Grib_DeviceIfType)pRowDeviceInfo->deviceInterface)); + GRIB_LOGD("# DEVICE ADDR : %s\n", pRowDeviceInfo->deviceAddr); +// GRIB_LOGD("# DEVICE LOC : %s\n", pRowDeviceInfo->deviceLoc); +// GRIB_LOGD("# DEVICE DESC : %s\n", pRowDeviceInfo->deviceDesc); + GRIB_LOGD("# REPORT CYCLE : %d\n", pRowDeviceInfo->reportCycle); +// GRIB_LOGD("# DEVICE FCOUNT : %d\n", pRowDeviceInfo->deviceFuncCount); + + for(x=0; xppRowDeviceFunc[x]; + GRIB_LOGD("# FUNC INFO[%d/%d]: [%s] [%s] [%s]\n", x+1, iFuncCount, pRowDeviceFunc->funcName, + pRowDeviceFunc->exRsrcID, Grib_FuncAttrToStr(pRowDeviceFunc->funcAttr)); + //GRIB_LOGD("# NAME/RI/ATTR : [%s][%s][0x%x]\n", pRowDeviceFunc->funcName, pRowDeviceFunc->exRsrcID, pRowDeviceFunc->funcAttr); + } + } + //GRIB_LOGD("\n"); + } + if(STRCASECMP(subMenu, "delete") == 0) + { + deviceID = GRIB_CMD_ARG1[argv]; + + iRes = Grib_DbDelDeviceFunc(deviceID); + if(iRes == GRIB_ERROR) + { + GRIB_LOGD("# DELETE DEVICE FUNC FAIL\n"); + return; + } + + iRes = Grib_DbDelDeviceInfo(deviceID); + if(iRes == GRIB_ERROR) + { + GRIB_LOGD("# DELETE DEVICE INFO FAIL\n"); + } + } + + return; +} + +void Grib_MenuXM2M(int argc, char **argv) +{ + const char* FUNC_TAG = "# GRIB-xM2M:"; + + int iRes = GRIB_ERROR; + + char* mainMenu = NULL; + char* subMenu = NULL; + + char* argNM = NULL; + char* argURI = NULL; + char* argCON = NULL; + char* argOrigin = NULL; + char* deviceID = NULL; + + OneM2M_ReqParam reqParam; + OneM2M_ResParam resParam; + +#ifdef FEATURE_CAS + char pAuthKey[CAS_AUTH_KEY_SIZE] = {'\0', }; + Grib_ConfigInfo* pConfigInfo = NULL; +#endif + + MEMSET(&reqParam, GRIB_INIT, sizeof(reqParam)); + MEMSET(&resParam, GRIB_INIT, sizeof(resParam)); + + //shbaek: You Must be Set Server Config. + Grib_SiSetServerConfig(); + + if(argc < GRIB_CMD_ARG1+1) + { + GRIB_LOGD("# NO CMD ARG\n"); + return; + } + + mainMenu = GRIB_CMD_MAIN[argv]; + subMenu = GRIB_CMD_SUB[argv]; + deviceID = GRIB_CMD_ARG1[argv]; + +#ifdef FEATURE_CAS + pConfigInfo = Grib_GetConfigInfo(); + if(pConfigInfo == NULL) + { + GRIB_LOGD("%s GET CONFIG ERROR !!!\n", FUNC_TAG); + return; + } + + //shbaek: CAS Lib Init & Get Certification + iRes = Grib_CasInit(pConfigInfo->hubID); + if(iRes != GRIB_DONE) + { + GRIB_LOGD("%s CAS INIT FAIL !!!\n", FUNC_TAG); + return; + } + + iRes = Grib_AuthGetPW(deviceID, pAuthKey); + if(iRes != GRIB_DONE) + { + GRIB_LOGD("%s %s GET AUTH PASSWORD ERROR !!!\n", FUNC_TAG, deviceID); + + iRes = Grib_CasGetAuthKey(deviceID, pAuthKey); + if(iRes != GRIB_DONE) + { + GRIB_LOGD("%s %s GET AUTH KEY ERROR !!!\n", FUNC_TAG, deviceID); + } + } + + reqParam.authKey = pAuthKey; +#endif + + if(STRCASECMP(subMenu, "cae") == 0) + { + if(argc < GRIB_CMD_ARG1+1) + { + GRIB_LOGD("# USAGE: grib xm2m cae \"DEVICE ID\"\n"); + return; + } + argNM = GRIB_CMD_ARG1[argv]; + GRIB_LOGD("# CREATE APP ENTITY: %s\n", argNM); + + STRINIT(&reqParam.xM2M_NM, sizeof(reqParam.xM2M_NM)); + STRNCPY(&reqParam.xM2M_NM, argNM, STRLEN(argNM)); + + iRes = Grib_AppEntityCreate(&reqParam, &resParam); + if(iRes == GRIB_ERROR) + { + strUpper(mainMenu); + strUpper(subMenu); + GRIB_LOGD("# %s %s MENU FAIL\n", mainMenu, subMenu); + } + + } + if(STRCASECMP(subMenu, "rae") == 0) + { + if(argc < GRIB_CMD_ARG1+1) + { + GRIB_LOGD("# USAGE: grib xm2m rae \"DEVICE ID\"\n"); + return; + } + argOrigin = GRIB_CMD_ARG1[argv]; + GRIB_LOGD("# RETRIEVE APP ENTITY: %s\n", argOrigin); + + STRINIT(&reqParam.xM2M_Origin, sizeof(reqParam.xM2M_Origin)); + STRNCPY(&reqParam.xM2M_Origin, argOrigin, STRLEN(argOrigin)); + + iRes = Grib_AppEntityRetrieve(&reqParam, &resParam); + if(iRes == GRIB_ERROR) + { + strUpper(mainMenu); + strUpper(subMenu); + GRIB_LOGD("# %s %s MENU FAIL\n", mainMenu, subMenu); + } + + } + if(STRCASECMP(subMenu, "dae") == 0) + { + if(argc < GRIB_CMD_ARG1+1) + { + GRIB_LOGD("# USAGE: grib xm2m dae \"DEVICE ID\"\n"); + return; + } + argOrigin = GRIB_CMD_ARG1[argv]; + GRIB_LOGD("# DELETE APP ENTITY: %s\n", argOrigin); + + STRINIT(&reqParam.xM2M_Origin, sizeof(reqParam.xM2M_Origin)); + STRNCPY(&reqParam.xM2M_Origin, argOrigin, STRLEN(argOrigin)); + + iRes = Grib_AppEntityDelete(&reqParam, &resParam); + if(iRes == GRIB_ERROR) + { + strUpper(mainMenu); + strUpper(subMenu); + GRIB_LOGD("# %s %s MENU FAIL\n", mainMenu, subMenu); + } + } + if(STRCASECMP(subMenu, "ccnt") == 0) + { + if(argc < GRIB_CMD_ARG3+1) + { + GRIB_LOGD("# USAGE: grib xm2m ccnt \"DEVICE ID\" \"URI\" \"NM\"\n"); + return; + } + + argOrigin = GRIB_CMD_ARG1[argv]; + argURI = GRIB_CMD_ARG2[argv]; + argNM = GRIB_CMD_ARG3[argv]; + + STRINIT(&reqParam.xM2M_Origin, sizeof(reqParam.xM2M_Origin)); + STRNCPY(&reqParam.xM2M_Origin, argOrigin, STRLEN(argOrigin)); + + STRINIT(&reqParam.xM2M_URI, sizeof(reqParam.xM2M_URI)); + STRNCPY(&reqParam.xM2M_URI, argURI, STRLEN(argURI)); + + STRINIT(&reqParam.xM2M_NM, sizeof(reqParam.xM2M_NM)); + STRNCPY(&reqParam.xM2M_NM, argNM, STRLEN(argNM)); + + iRes = Grib_ContainerCreate(&reqParam, &resParam); + if(iRes == GRIB_ERROR) + { + strUpper(mainMenu); + strUpper(subMenu); + GRIB_LOGD("# %s %s MENU FAIL\n", mainMenu, subMenu); + } + } + if(STRCASECMP(subMenu, "rcnt") == 0) + { + if(argc < GRIB_CMD_ARG2+1) + { + GRIB_LOGD("# USAGE: grib xm2m rcnt \"DEVICE ID\" \"URI\"\n"); + return; + } + + argOrigin = GRIB_CMD_ARG1[argv]; + argURI = GRIB_CMD_ARG2[argv]; + + STRINIT(&reqParam.xM2M_Origin, sizeof(reqParam.xM2M_Origin)); + STRNCPY(&reqParam.xM2M_Origin, argOrigin, STRLEN(argOrigin)); + + STRINIT(&reqParam.xM2M_URI, sizeof(reqParam.xM2M_URI)); + STRNCPY(&reqParam.xM2M_URI, argURI, STRLEN(argURI)); + + iRes = Grib_ContainerRetrieve(&reqParam, &resParam); + if(iRes == GRIB_ERROR) + { + strUpper(mainMenu); + strUpper(subMenu); + GRIB_LOGD("# %s %s MENU FAIL\n", mainMenu, subMenu); + } + } + if(STRCASECMP(subMenu, "dcnt") == 0) + { + if(argc < GRIB_CMD_ARG2+1) + { + GRIB_LOGD("# USAGE: grib xm2m dcnt \"DEVICE ID\" \"URI\"\n"); + return; + } + + argOrigin = GRIB_CMD_ARG1[argv]; + argURI = GRIB_CMD_ARG2[argv]; + + STRINIT(&reqParam.xM2M_Origin, sizeof(reqParam.xM2M_Origin)); + STRNCPY(&reqParam.xM2M_Origin, argOrigin, STRLEN(argOrigin)); + + STRINIT(&reqParam.xM2M_URI, sizeof(reqParam.xM2M_URI)); + STRNCPY(&reqParam.xM2M_URI, argURI, STRLEN(argURI)); + + iRes = Grib_ContainerDelete(&reqParam, &resParam); + if(iRes == GRIB_ERROR) + { + strUpper(mainMenu); + strUpper(subMenu); + GRIB_LOGD("# %s %s MENU FAIL\n", mainMenu, subMenu); + } + } + if(STRCASECMP(subMenu, "ccin") == 0) + { + if(argc < GRIB_CMD_ARG3+1) + { + GRIB_LOGD("# USAGE: grib xm2m ccin \"DEVICE ID\" \"URI\" \"CONTENT\"\n"); + return; + } + argOrigin = GRIB_CMD_ARG1[argv]; + argURI = GRIB_CMD_ARG2[argv]; + argCON = GRIB_CMD_ARG3[argv]; + + GRIB_LOGD("# CREATE INSTANCE: %s[CON:%s]\n", argURI, argCON); + + STRINIT(&reqParam.xM2M_Origin, sizeof(reqParam.xM2M_Origin)); + STRNCPY(&reqParam.xM2M_Origin, argOrigin, STRLEN(argOrigin)); + + STRINIT(&reqParam.xM2M_URI, sizeof(reqParam.xM2M_URI)); + SNPRINTF(&reqParam.xM2M_URI, sizeof(reqParam.xM2M_URI), "%s", argURI); + + STRINIT(&reqParam.xM2M_CNF, sizeof(reqParam.xM2M_CNF)); + SNPRINTF(&reqParam.xM2M_CNF, sizeof(reqParam.xM2M_CNF), "%s:0", HTTP_CONTENT_TYPE_TEXT); + + STRINIT(&reqParam.xM2M_CON, sizeof(reqParam.xM2M_CON)); + SNPRINTF(&reqParam.xM2M_CON, sizeof(reqParam.xM2M_CON), "%s", argCON); + + //2 shbaek: NEED: xM2M_URI, xM2M_Origin, xM2M_CNF[If NULL, Set Default "text/plain:0"], xM2M_CON + iRes = Grib_ContentInstanceCreate(&reqParam, &resParam); + if(iRes == GRIB_ERROR) + { + strUpper(mainMenu); + strUpper(subMenu); + GRIB_LOGD("# %s %s MENU FAIL\n", mainMenu, subMenu); + } + } + if(STRCASECMP(subMenu, "rcin") == 0) + { + if(argc < GRIB_CMD_ARG2+1) + { + GRIB_LOGD("# USAGE: grib xm2m rcin \"DEVICE ID\" \"URI\"\n"); + return; + } + argOrigin = GRIB_CMD_ARG1[argv]; + argURI = GRIB_CMD_ARG2[argv]; + + STRINIT(&reqParam.xM2M_Origin, sizeof(reqParam.xM2M_Origin)); + STRNCPY(&reqParam.xM2M_Origin, argOrigin, STRLEN(argOrigin)); + + STRINIT(&reqParam.xM2M_URI, sizeof(reqParam.xM2M_URI)); + SNPRINTF(&reqParam.xM2M_URI, sizeof(reqParam.xM2M_URI), "%s", argURI); + + iRes = Grib_ContentInstanceRetrieve(&reqParam, &resParam); + if(iRes == GRIB_ERROR) + { + strUpper(mainMenu); + strUpper(subMenu); + GRIB_LOGD("# %s %s MENU FAIL\n", mainMenu, subMenu); + } + } + + return; +} + +void Grib_MenuAuth(int argc, char **argv) +{ + const char* FUNC_TAG = "# GRIB-AUTH:"; + + int iRes = GRIB_ERROR; + + char* mainMenu = NULL; + char* subMenu = NULL; + char* pID = NULL; + char* pPW = NULL; + + if(STRLEN(GRIB_CMD_SUB[argv]) <= 0) + { + GRIB_LOGD("# USAGE: grib auth \"[gwRegi, devRegi, info, deRegi]\" \"Device ID\" \"PassWord\"\n"); + return; + } + + mainMenu = GRIB_CMD_MAIN[argv]; + subMenu = GRIB_CMD_SUB[argv]; + + //shbaek: You Must be Set Server Config. + Grib_AuthSetServerConfig(); + + if(STRCASECMP(subMenu, "gwRegi") == 0) + { + if(STRLEN(GRIB_CMD_ARG1[argv]) <= 0) + { + GRIB_LOGD("# USAGE: grib gwRegi \"GateWay ID\"\n"); + return; + } + pID = GRIB_CMD_ARG1[argv]; + GRIB_LOGD("%s GATEWAY ID: %s\n", FUNC_TAG, pID); + + iRes = Grib_AuthGatewayRegi(pID); + if(iRes == GRIB_ERROR) + { + strUpper(mainMenu); + strUpper(subMenu); + GRIB_LOGD("# %s %s MENU FAIL\n", mainMenu, subMenu); + } + } + + if(STRCASECMP(subMenu, "devRegi") == 0) + { + if(STRLEN(GRIB_CMD_ARG1[argv]) <= 0) + { + GRIB_LOGD("# USAGE: grib devRegi \"Device ID\" \"PassWord\"\n"); + return; + } + pID = GRIB_CMD_ARG1[argv]; + + if(STRLEN(GRIB_CMD_ARG2[argv]) <= 0) + { + pPW = AUTH_DEFAULT_DEVICE_PW; + } + pPW = GRIB_CMD_ARG2[argv]; + + iRes = Grib_AuthDeviceRegi(pID, pPW); + if(iRes == GRIB_ERROR) + { + strUpper(mainMenu); + strUpper(subMenu); + GRIB_LOGD("# %s %s MENU FAIL\n", mainMenu, subMenu); + } + } + + if(STRCASECMP(subMenu, "info") == 0) + { + if(STRLEN(GRIB_CMD_ARG1[argv]) <= 0) + { + GRIB_LOGD("# USAGE: grib info \"Device ID\"\n"); + return; + } + pID = GRIB_CMD_ARG1[argv]; + GRIB_LOGD("%s DEVICE ID: %s\n", FUNC_TAG, pID); + + iRes = Grib_AuthDeviceInfo(pID, GRIB_NOT_USED); + if(iRes == GRIB_ERROR) + { + strUpper(mainMenu); + strUpper(subMenu); + GRIB_LOGD("# %s %s MENU FAIL\n", mainMenu, subMenu); + } + } + if(STRCASECMP(subMenu, "pw") == 0) + { + if(STRLEN(GRIB_CMD_ARG1[argv]) <= 0) + { + GRIB_LOGD("# USAGE: grib pw \"Device ID\"\n"); + return; + } + pID = GRIB_CMD_ARG1[argv]; + GRIB_LOGD("%s DEVICE ID: %s\n", FUNC_TAG, pID); + + iRes = Grib_AuthGetPW(pID, GRIB_NOT_USED); + if(iRes == GRIB_ERROR) + { + strUpper(mainMenu); + strUpper(subMenu); + GRIB_LOGD("# %s %s MENU FAIL\n", mainMenu, subMenu); + } + } + if(STRCASECMP(subMenu, "deRegi") == 0) + { + if(STRLEN(GRIB_CMD_ARG1[argv]) <= 0) + { + GRIB_LOGD("# USAGE: grib gwRegi \"Device ID\"\n"); + return; + } + pID = GRIB_CMD_ARG1[argv]; + GRIB_LOGD("%s GATEWAY ID: %s\n", FUNC_TAG, pID); + + iRes = Grib_AuthDeviceDeRegi(pID); + if(iRes == GRIB_ERROR) + { + strUpper(mainMenu); + strUpper(subMenu); + GRIB_LOGD("# %s %s MENU FAIL\n", mainMenu, subMenu); + } + } + + return; +} + +void Grib_MenuCas(int argc, char **argv) +{ + int iDelay = 0; + char recvBuff[BLE_MAX_SIZE_RECV_MSG+1] = {'\0', }; + char* subMenu = NULL; + char* pSendMsg = NULL; + + char* deviceID = NULL; + char* deviceAddr = NULL; + +#ifdef FEATURE_CAS + Grib_CasTest(argc, argv); +#else + GRIB_LOGD("# FEATURE_CAS IS NOT DEFINE !!!\n"); +#endif + + return; +} + +void Grib_MenuTest(int argc, char **argv) +{ + int iDelay = 0; + char recvBuff[BLE_MAX_SIZE_RECV_MSG+1] = {'\0', }; + char* subMenu = NULL; + char* pSendMsg = NULL; + + char* deviceID = NULL; + char* deviceAddr = NULL; + + subMenu = GRIB_CMD_SUB[argv]; + + if(STRCASECMP(subMenu, "sda") == 0) + { + char deviceInfo[HTTP_MAX_SIZE_RECV_MSG] = {0x00, }; + + if(STRLEN(argv[GRIB_CMD_ARG1]) <= 0) + { + deviceID = TEST_SDA_DEVICE_ID; + } + else + { + deviceID = argv[GRIB_CMD_ARG1]; + } + Grib_SdaGetDeviceInfo(deviceID, deviceInfo); + return; + } + + if(STRCASECMP(subMenu, "cas") == 0) + { +#ifdef FEATURE_CAS + Grib_CasTest(argc, argv); +#else + GRIB_LOGD("# FEATURE_CAS IS NOT DEFINE !!!\n"); +#endif + return; + } + + if(STRCASECMP(subMenu, "print") == 0) + { + long stackLimit = Grib_GetStackLimit(); + printf("# ##### ##### ##### ##### ##### ##### ##### #####\n"); + printf("# TEST PRINT: %ld\n", stackLimit); + printf("# ##### ##### ##### ##### ##### ##### ##### #####\n"); + return; + } + + + if(STRCASECMP(subMenu, "ebase64") == 0) + { + char encBuff[HTTP_MAX_SIZE_RECV_MSG] = {0x00, }; + char* srcText = NULL; + + if(STRLEN(argv[GRIB_CMD_ARG1]) <= 0) + { + srcText = TEST_BASE64_ENC_SRC; + } + else + { + srcText = argv[GRIB_CMD_ARG1]; + } + Grib_Base64Encode(srcText, encBuff, GRIB_NOT_USED); + + GRIB_LOGD("# ##### ##### ##### ##### ##### ##### ##### #####\n"); + GRIB_LOGD("# SRC[%d]:\n%s\n", STRLEN(srcText), srcText); + GRIB_LOGD("# ##### ##### ##### ##### ##### ##### ##### #####\n"); + GRIB_LOGD("\n"); + GRIB_LOGD("# ##### ##### ##### ##### ##### ##### ##### #####\n"); + GRIB_LOGD("# ENC[%d]:\n%s\n", STRLEN(encBuff), encBuff); + GRIB_LOGD("# ##### ##### ##### ##### ##### ##### ##### #####\n"); + + return; + } + + if(STRCASECMP(subMenu, "dbase64") == 0) + { + char decBuff[HTTP_MAX_SIZE_RECV_MSG] = {0x00, }; + char* srcText = NULL; + + if(STRLEN(argv[GRIB_CMD_ARG1]) <= 0) + { + srcText = TEST_BASE64_DEC_SRC; + } + else + { + srcText = argv[GRIB_CMD_ARG1]; + } + Grib_Base64Decode(srcText, decBuff, GRIB_NOT_USED); + + GRIB_LOGD("# ##### ##### ##### ##### ##### ##### ##### #####\n"); + GRIB_LOGD("# SRC[%d]:\n%s\n", STRLEN(srcText), srcText); + GRIB_LOGD("# ##### ##### ##### ##### ##### ##### ##### #####\n"); + GRIB_LOGD("\n"); + GRIB_LOGD("# ##### ##### ##### ##### ##### ##### ##### #####\n"); + GRIB_LOGD("# DEC[%d]:\n%s\n", STRLEN(decBuff), decBuff); + GRIB_LOGD("# ##### ##### ##### ##### ##### ##### ##### #####\n"); + + return; + } + + return; +} + +int main(int argc, char **argv) +{ + char* mainMenu = NULL; + char GRIB_PATH[MAXPATHLEN]; + + if(argc < GRIB_CMD_MAIN+1) + { + Grib_MenuHelp(); + return GRIB_DONE; + } + mainMenu = GRIB_CMD_MAIN[argv]; + realpath(argv[0], GRIB_PATH); + + if(FALSE) + { + GRIB_LOGD("# GRIB_PATH: %s\n", GRIB_PATH); + for(int i=0; i -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "include/grib_define.h" -#include "include/grib_onem2m.h" +#include "grib_onem2m.h" /* ********** ********** ********** ********** ********** ********** ********** ********** ********** ********** shbaek: Global Variable ********** ********** ********** ********** ********** ********** ********** ********** ********** ********** */ - -char gServerIp[ONEM2M_MAX_SIZE_IP_STR+1]; -int gServerPort; -int gSocketFD; +char gSiServerIp[ONEM2M_MAX_SIZE_IP_STR+1]; +int gSiServerPort; int gDebugOneM2M; +//3 shbaek: Do Not Used ... +OneM2M_ReqParam gReqParam; +OneM2M_ResParam gResParam; + /* ********** ********** ********** ********** ********** ********** ********** ********** ********** ********** */ -#define __HTTP_FUNC__ +#define __ONEM2M_UTIL_FUNC__ /* ********** ********** ********** ********** ********** ********** ********** ********** ********** ********** */ -int Grib_SetServerConfig(void) +int Grib_SiSetServerConfig(void) { - //3 shbaek: [TBD] Load Config File int iRes = GRIB_ERROR; - Grib_ConfigInfo pConfigInfo; - - MEMSET(&pConfigInfo, 0x00, sizeof(Grib_ConfigInfo)); - - iRes = Grib_LoadConfig(&pConfigInfo); - if(iRes != GRIB_DONE) - { - GRIB_LOGD("# SERVCER CONFIG: LOAD CONFIG ERROR !!!\n"); - return iRes; - } - - STRINIT(gServerIp, sizeof(gServerIp)); - STRNCPY(gServerIp, pConfigInfo.platformServerIP, STRLEN(pConfigInfo.platformServerIP)); - - gServerPort = pConfigInfo.platformServerPort; - - gDebugOneM2M = pConfigInfo.debugOneM2M; - - GRIB_LOGD("# SERVER CONFIG: %s:%d\n", gServerIp, gServerPort); - - return GRIB_SUCCESS; -} - -int Grib_HttpConnect(char* serverIP, int serverPort) -{ - int i = 0; - int iFD = GRIB_ERROR; - int iRes = GRIB_ERROR; - - int iSize = 0; - int iCount = 0; - int iError = 0; - - int nonSocketStat = 0; - int orgSocketStat = 0; - - fd_set readSet; - fd_set writeSet; - - timeval recvTimeOut; - timeval connTimeOut; - struct sockaddr_in serverAddr; + Grib_ConfigInfo* pConfigInfo = NULL; - iFD = socket(AF_INET, SOCK_STREAM, GRIB_NOT_USED); - if(iFD < 0) + pConfigInfo = Grib_GetConfigInfo(); + if(pConfigInfo == NULL) { - GRIB_LOGD("# SOCKET OPEN FAIL: %s[%d]\n", LINUX_ERROR_STR, LINUX_ERROR_NUM); + GRIB_LOGD("LOAD CONFIG ERROR !!!\n"); return GRIB_ERROR; } - //shbaek: Get Socket Stat - orgSocketStat = fcntl(iFD, F_GETFL, NULL); - if(orgSocketStat < 0) - { - GRIB_LOGD("# GET FILE STAT FAIL: %s[%d]\n", LINUX_ERROR_STR, LINUX_ERROR_NUM); - goto ERROR; - } + STRINIT(gSiServerIp, sizeof(gSiServerIp)); + STRNCPY(gSiServerIp, pConfigInfo->platformServerIP, STRLEN(pConfigInfo->platformServerIP)); - //shbaek: Set Non-Block Stat - nonSocketStat = orgSocketStat | O_NONBLOCK; - iRes = fcntl(iFD, F_SETFL, nonSocketStat); - if(iRes < 0) - { - GRIB_LOGD("# SET NONBLOCK STAT FAIL: %s[%d]\n", LINUX_ERROR_STR, LINUX_ERROR_NUM); - goto ERROR; - } + gSiServerPort = pConfigInfo->platformServerPort; - bzero(&serverAddr, sizeof(serverAddr)); - serverAddr.sin_family = AF_INET; - serverAddr.sin_addr.s_addr = inet_addr(serverIP); - serverAddr.sin_port = htons(serverPort); + gDebugOneM2M = pConfigInfo->debugOneM2M; - //shbaek: Connect - iRes = connect(iFD, (struct sockaddr *)&serverAddr, sizeof(serverAddr)); - if(iRes < 0) - { - if(LINUX_ERROR_NUM != EINPROGRESS) - {//shbaek: Connect Error - GRIB_LOGD("# HTTP CONNECT FAIL: %s[%d]\n", LINUX_ERROR_STR, LINUX_ERROR_NUM); - goto ERROR; - } - } - else - {//shbaek: One Shot Connected -> Restore Socket Stat - fcntl(iFD, F_SETFL, orgSocketStat); - return iFD; - } + Grib_HttpSetDebug(gDebugOneM2M, pConfigInfo->tombStoneHTTP); + Grib_SdaSetDebug(gDebugOneM2M); - FD_ZERO(&readSet); - FD_SET(iFD, &readSet); - writeSet = readSet; - connTimeOut.tv_sec = HTTP_TIME_OUT_SEC_CONNECT; - connTimeOut.tv_usec = GRIB_NOT_USED; - - //shbaek: Wait Read & Write Set - iCount = select(iFD+1, &readSet, &writeSet, GRIB_NOT_USED, &connTimeOut); - if(iCount == 0) - { - //shbaek: Time Out - LINUX_ERROR_NUM = ETIMEDOUT; - GRIB_LOGD("# SELECT TIME OUT: %d SEC\n", HTTP_TIME_OUT_SEC_CONNECT); - goto ERROR; - } - - //shbaek: Check Read & Write Set - if( FD_ISSET(iFD, &readSet) || FD_ISSET(iFD, &writeSet) ) - { - iSize = sizeof(int); - iCount = getsockopt(iFD, SOL_SOCKET, SO_ERROR, &iError, (socklen_t *)&iSize); - if(iCount < 0) - { - GRIB_LOGD("# GET SOCKET OPTION FAIL: %s[%d]\n", LINUX_ERROR_STR, LINUX_ERROR_NUM); - goto ERROR; - } - } - else - { - //shbaek: Nobody Touched - GRIB_LOGD("# NOBODY TOCHED SOCKET\n"); - goto ERROR; - } - - //shbaek: Restore Socket Stat - fcntl(iFD, F_SETFL, orgSocketStat); - if(iError) - { - LINUX_ERROR_NUM = iError; - GRIB_LOGD("# SET FILE STAT FAIL: %s[%d]\n", LINUX_ERROR_STR, LINUX_ERROR_NUM); - goto ERROR; - } - - //shbaek: Set Receive Time Out - recvTimeOut.tv_sec = HTTP_TIME_OUT_SEC_RECEIVE; - recvTimeOut.tv_usec = GRIB_NOT_USED; - setsockopt(iFD, SOL_SOCKET, SO_RCVTIMEO, (char*)&recvTimeOut, sizeof(timeval)); - - return iFD; - -ERROR: - if(0 < iFD)close(iFD); - return GRIB_ERROR; -} - -int Grib_HttpSendMsg(char* pSendMsg, char* pRecvMsg) -{ - int iRes = GRIB_ERROR; - int iCount = GRIB_ERROR; - int iTotal = GRIB_ERROR; - int iDBG = gDebugOneM2M; - - int iFD = 0; - - int iTimeCheck = gDebugOneM2M; - time_t sysTimer; - struct tm *sysTime; - - //shbaek: Check Server Info - if( (gServerIp==NULL) || (gServerPort==0) ) - { - Grib_SetServerConfig(); - } - - //shbaek: Server Connect. - iFD = Grib_HttpConnect(gServerIp, gServerPort); - if(iFD == GRIB_ERROR) - { - GRIB_LOGD("SERVER CONNECT ERROR: %s:%d\n", gServerIp, gServerPort); - goto FINAL; - } - - if(STRLEN(pSendMsg) <= 0) - { - GRIB_LOGD("SEND MSG BUFFER EMPTY\n"); - goto FINAL; - } - - iCount = send(iFD, pSendMsg, STRLEN(pSendMsg), GRIB_NOT_USED); - if(iCount <= 0) - { - GRIB_LOGD("SEND FAIL: %s[%d]\n", LINUX_ERROR_STR, LINUX_ERROR_NUM); - goto FINAL; - } - - if(pRecvMsg == NULL) - { - //shbaek: Do Not Waiting for Response. - close(iFD); - return GRIB_DONE; - } - - MEMSET(pRecvMsg, GRIB_INIT, ONEM2M_MAX_SIZE_RECV_MSG+1); - iCount = -1; - iTotal = 0; - - if(iTimeCheck) - { - sysTimer = time(NULL); - sysTime = localtime(&sysTimer); - GRIB_LOGD("RECV TIME WAIT: %02d:%02d:%02d\n", sysTime->tm_hour, sysTime->tm_min, sysTime->tm_sec); - } - - do{ - iCount = recv(iFD, (pRecvMsg+iTotal), (ONEM2M_MAX_SIZE_RECV_MSG-iTotal), GRIB_NOT_USED); - if(iCount < 0) - { - GRIB_LOGD("RECV FAIL: %s[%d]\n", LINUX_ERROR_STR, LINUX_ERROR_NUM); - break; - } - else if(iCount == 0) - { - if(iDBG)GRIB_LOGD("RECV DONE\n"); - break; - } - else - { - iTotal += iCount; - if(iDBG)GRIB_LOGD("RECV:%d TOTAL:%d\n", iCount, iTotal); - } - }while(iTotal < ONEM2M_MAX_SIZE_RECV_MSG); - - if(iTimeCheck) - { - sysTimer = time(NULL); - sysTime = localtime(&sysTimer); - if(iDBG)GRIB_LOGD("RECV TIME DONE : %02d:%02d:%02d\n", sysTime->tm_hour, sysTime->tm_min, sysTime->tm_sec); - } - -FINAL: - if(0 < iFD) close(iFD); - else return GRIB_ERROR; - - return iTotal; -} - -int Grib_HttpResParser(OneM2M_ResParam *pResParam) -{ - int i = 0; - int iRes = GRIB_ERROR; - int iLoopMax = 128; - int iDBG = FALSE; - - char* strToken = NULL; - char* str1Line = NULL; - char* strResponse = NULL; - - char* strHttpVer = NULL; - char* strCodeNum = NULL; - char* strCodeMsg = NULL; - - if( (pResParam==NULL) || (pResParam->http_RecvData==NULL) ) - { - GRIB_LOGD("# PARAM IS NULL\n"); - return GRIB_ERROR; - } - - //shbaek: Set Init. - pResParam->http_ResNum = HTTP_STATUS_CODE_UNKNOWN; - STRINIT(pResParam->http_ResMsg, sizeof(pResParam->http_ResMsg)); - - strToken = GRIB_CRLN; - strResponse = STRDUP(pResParam->http_RecvData); - if(strResponse == NULL) - { - GRIB_LOGD("# RESPONSE COPY ERROR\n"); - goto FINAL; - } - - str1Line = STRTOK(strResponse, strToken); - if(str1Line == NULL) - { - GRIB_LOGD("# 1ST LINE IS NULL !!!\n"); - goto FINAL; - } - - iRes = STRNCMP(str1Line, HTTP_VERSION_1P1, STRLEN(HTTP_VERSION_1P1)); - if(iRes != 0) - {//shbaek: is not Same? Something Wrong - GRIB_LOGD("# 1ST LINE IS WRONG: %s\n", str1Line); - goto FINAL; - } - - //shbaek: HTTP/1.1 200 OK - //shbaek: HTTP/1.1 404 Not Found - //shbaek: [1:Space] [3:Number Count] - - strHttpVer = str1Line; - strCodeNum = strHttpVer+STRLEN(HTTP_VERSION_1P1)+1; - strCodeMsg = strCodeNum+3+1; - - *(strCodeNum-1) = NULL; - *(strCodeMsg-1) = NULL; - - pResParam->http_ResNum = ATOI(strCodeNum); - - STRINIT(pResParam->http_ResMsg, sizeof(pResParam->http_ResMsg)); - STRNCPY(pResParam->http_ResMsg, strCodeMsg, STRLEN(strCodeMsg)); - - // TODO: shbaek: Check & Exception Handle? - -FINAL: - if(strResponse!=NULL)FREE(strResponse); + GRIB_LOGD("# SERVER CONFIG: %s:%d\n", gSiServerIp, gSiServerPort); - return GRIB_DONE; + return GRIB_SUCCESS; } - int Grib_OneM2MResParser(OneM2M_ResParam *pResParam) { int i = 0; @@ -419,7 +122,7 @@ int Grib_OneM2MResParser(OneM2M_ResParam *pResParam) //shbaek: ##### ##### ##### ##### ##### ##### ##### ##### ##### ##### //shbaek: ##### ##### ##### ##### ##### ##### ##### ##### ##### ##### - //shbaek: [TBD] Find Only Resource ID Key + //shbaek: [TBD] Find Only Parent ID Key strKey = "\"pi\" : \""; strTemp = STRSTR(str1Line, strKey); if(strTemp != NULL) @@ -449,6 +152,174 @@ int Grib_OneM2MResParser(OneM2M_ResParam *pResParam) return GRIB_DONE; } +int Grib_OneM2MSendMsg(OneM2M_ReqParam *pReqParam, OneM2M_ResParam *pResParam) +{ + int iRes = GRIB_ERROR; + Grib_HttpMsgInfo httpMsg; + + //shbaek: Check Server Info + if( STRLEN(gSiServerIp)==0 || (gSiServerPort==0) ) + { + Grib_SiSetServerConfig(); + } + + MEMSET(&httpMsg, 0x00, sizeof(Grib_HttpMsgInfo)); + MEMSET(pResParam, 0x00, sizeof(OneM2M_ResParam)); + + + httpMsg.serverIP = gSiServerIp; + httpMsg.serverPort = gSiServerPort; + + httpMsg.LABEL = pReqParam->xM2M_Origin; + httpMsg.recvBuff = pResParam->http_RecvData; + + if(pReqParam->xM2M_ResourceType == ONEM2M_RESOURCE_TYPE_SEMANTIC_DESCRIPTOR) + {//shbaek: Too Large Data ... + httpMsg.sendBuff = pReqParam->http_SendDataEx; + if(gDebugOneM2M)GRIB_LOGD("# %s-xM2M-MSG: LARGE DATA: %d\n", pReqParam->xM2M_Origin, STRLEN(httpMsg.sendBuff)); + } + else + { + httpMsg.sendBuff = pReqParam->http_SendData; + } + + iRes = Grib_HttpSendMsg(&httpMsg); + if(iRes <= 0) + { + GRIB_LOGD("# %s-xM2M-MSG: MSG SEND ERROR !!!\n", pReqParam->xM2M_Origin); + return GRIB_ERROR; + } + + iRes = Grib_HttpResParser(&httpMsg); + if(iRes != GRIB_DONE) + { + GRIB_LOGD("# %s-xM2M-MSG: MSG PARSE ERROR !!!\n", pReqParam->xM2M_Origin); + return iRes; + } + + pResParam->http_ResNum = httpMsg.statusCode; + + STRINIT(pResParam->http_ResMsg, STRLEN(pResParam->http_ResMsg)); + STRNCPY(pResParam->http_ResMsg, httpMsg.statusMsg, STRLEN(httpMsg.statusMsg)); + + if( (httpMsg.statusCode==HTTP_STATUS_CODE_OK) || + (httpMsg.statusCode==HTTP_STATUS_CODE_CREATED)) + {//shbaek: SUCCESS CASE + return GRIB_DONE; + } + + if(gDebugOneM2M)GRIB_LOGD("# %s-xM2M-MSG: %s [%d]\n", pReqParam->xM2M_Origin, httpMsg.statusMsg, httpMsg.statusCode); + return GRIB_ERROR; +} + +int Grib_GetAttrExpireTime(char* attrBuff, TimeInfo* pTime) +{ + const char* EXPIRE_TIME_STR_FORMAT = "%04d%02d%02dT%02d%02d%02d"; + + time_t sysTimer; + TimeInfo *sysTime; + + if(attrBuff == NULL) + { + GRIB_LOGD("# PARAM IS NULL ERROR !!!\n"); + return GRIB_ERROR; + } + + sysTimer = time(NULL); + sysTime = localtime(&sysTimer); + + STRINIT(attrBuff, ONEM2M_EXPIRE_TIME_STR_SIZE); + + if(pTime == NULL) + { + STRNCPY(attrBuff, ONEM2M_FIX_ATTR_ET, STRLEN(ONEM2M_FIX_ATTR_ET)); + } + else + { + SNPRINTF(attrBuff, ONEM2M_EXPIRE_TIME_STR_SIZE, EXPIRE_TIME_STR_FORMAT, + sysTime->tm_year+1900+pTime->tm_year, sysTime->tm_mon+1+pTime->tm_mon, sysTime->tm_mday+pTime->tm_mday, + sysTime->tm_hour+pTime->tm_hour, sysTime->tm_min+pTime->tm_min, sysTime->tm_sec+pTime->tm_sec); + } + + return GRIB_DONE; +} + +int Grib_isAvailableExpireTime(char* xM2M_ExpireTime) +{ + int i = 0; + time_t sysTimer; + + TimeInfo *sysTime; + TimeInfo *expireTime; + + int isAvailable = FALSE; + int iSeek = 0; + char timeBuff[5] = {'\0', }; + + //shbaek: Ex)20991130T163430 + if( (xM2M_ExpireTime==NULL) || (STRLEN(xM2M_ExpireTime)<15) ) + { + GRIB_LOGD("# EXPIRE TIME INVALID ERROR !!!\n"); + return FALSE; + } + + sysTimer = time(NULL); + sysTime = localtime(&sysTimer); + + if(gDebugOneM2M)GRIB_LOGD("# EXPIRE TIME: %s\n", xM2M_ExpireTime); + + //shbaek: YYYY + STRINIT(timeBuff, sizeof(timeBuff)); + for(i=0; i<4; i++)timeBuff[i] = xM2M_ExpireTime[i]; + if((sysTime->tm_year+1900) < ATOI(timeBuff))return TRUE; + else if(ATOI(timeBuff) < (sysTime->tm_year+1900))return FALSE; + else iSeek = i; + + //shbaek: MM + STRINIT(timeBuff, sizeof(timeBuff)); + for(i=0; i<2; i++)timeBuff[i] = xM2M_ExpireTime[iSeek+i]; + if((sysTime->tm_mon+1) < ATOI(timeBuff))return TRUE; + else if(ATOI(timeBuff) < (sysTime->tm_mon+1))return FALSE; + else iSeek += i; + + //shbaek: DD + STRINIT(timeBuff, sizeof(timeBuff)); + for(i=0; i<2; i++)timeBuff[i] = xM2M_ExpireTime[iSeek+i]; + if((sysTime->tm_mday) < ATOI(timeBuff))return TRUE; + else if(ATOI(timeBuff) < (sysTime->tm_mday))return FALSE; + else iSeek += i; + + //shbaek: Skip 'T' + iSeek++; + + //shbaek: HH + STRINIT(timeBuff, sizeof(timeBuff)); + for(i=0; i<2; i++)timeBuff[i] = xM2M_ExpireTime[iSeek+i]; + if((sysTime->tm_hour) < ATOI(timeBuff))return TRUE; + else if(ATOI(timeBuff) < (sysTime->tm_hour))return FALSE; + else iSeek += i; + + //shbaek: MM + STRINIT(timeBuff, sizeof(timeBuff)); + for(i=0; i<2; i++)timeBuff[i] = xM2M_ExpireTime[iSeek+i]; + if((sysTime->tm_min) < ATOI(timeBuff))return TRUE; + else if(ATOI(timeBuff) < (sysTime->tm_min))return FALSE; + else iSeek += i; + iSeek += i; + + //shbaek: SS + STRINIT(timeBuff, sizeof(timeBuff)); + for(i=0; i<2; i++)timeBuff[i] = xM2M_ExpireTime[iSeek+i]; + if((sysTime->tm_sec) < ATOI(timeBuff))return TRUE; + else if(ATOI(timeBuff) < (sysTime->tm_sec))return FALSE; + else iSeek += i; + iSeek += i; + + return TRUE; +} + + + #define __ONEM2M_DEVICE_ID_FUNC__ //2 shbaek: NEED: xM2M_NM int Grib_AppEntityCreate(OneM2M_ReqParam *pReqParam, OneM2M_ResParam *pResParam) @@ -456,66 +327,75 @@ int Grib_AppEntityCreate(OneM2M_ReqParam *pReqParam, OneM2M_ResParam *pResParam) int iRes = GRIB_ERROR; int iDBG = gDebugOneM2M; - char httpHead[ONEM2M_MAX_SIZE_SEND_MSG/2] = {'\0',}; - char httpBody[ONEM2M_MAX_SIZE_SEND_MSG/2] = {'\0',}; + char httpHead[HTTP_MAX_SIZE_HEAD] = {'\0',}; + char httpBody[HTTP_MAX_SIZE_BODY] = {'\0',}; char xM2M_AttrLBL[ONEM2M_MAX_SIZE_BRIEF] = {'\0',}; char xM2M_AttrAPN[ONEM2M_MAX_SIZE_BRIEF] = {'\0',}; char xM2M_AttrAPI[ONEM2M_MAX_SIZE_BRIEF] = {'\0',}; - char* xM2M_AttrRR = "FALSE"; + char* xM2M_AttrRR = ONEM2M_FIX_ATTR_RR; + + char xM2M_AttrET[ONEM2M_MAX_SIZE_BRIEF] = {'\0',}; + char* xM2M_AttrRN = NULL; + +#ifdef FEATURE_CAS + char pAuthBase64Src[ONEM2M_MAX_SIZE_BRIEF] = {'\0',}; + char pAuthBase64Enc[ONEM2M_MAX_SIZE_BRIEF] = {'\0',}; +#endif STRINIT(pReqParam->xM2M_Origin, sizeof(pReqParam->xM2M_Origin)); STRNCPY(pReqParam->xM2M_Origin, pReqParam->xM2M_NM, STRLEN(pReqParam->xM2M_NM)); pReqParam->xM2M_Origin[STRLEN(pReqParam->xM2M_NM)+1] = NULL; - SNPRINTF(xM2M_AttrLBL, sizeof(xM2M_AttrLBL), "%s_AppEntity", pReqParam->xM2M_Origin); + SNPRINTF(xM2M_AttrLBL, sizeof(xM2M_AttrLBL), "%s_Label", pReqParam->xM2M_Origin); SNPRINTF(xM2M_AttrAPN, sizeof(xM2M_AttrAPN), "%s_AppName", pReqParam->xM2M_Origin); SNPRINTF(xM2M_AttrAPI, sizeof(xM2M_AttrAPI), "%s_AppID", pReqParam->xM2M_Origin); STRINIT(pReqParam->xM2M_ReqID, sizeof(pReqParam->xM2M_ReqID)); SNPRINTF(pReqParam->xM2M_ReqID, sizeof(pReqParam->xM2M_ReqID), "%s_ReqAppEntityCreate", pReqParam->xM2M_Origin); + Grib_GetAttrExpireTime(xM2M_AttrET, GRIB_NOT_USED); + xM2M_AttrRN = (char *)pReqParam->xM2M_NM; //shbaek: "X-M2M-NM" Change to "rn" on v2.0 + SNPRINTF(httpBody, sizeof(httpBody), ONEM2M_BODY_FORMAT_APP_ENTITY_CREATE, - xM2M_AttrLBL, xM2M_AttrAPN, xM2M_AttrAPI, gServerIp, gServerPort, xM2M_AttrRR); + xM2M_AttrLBL, xM2M_AttrAPN, xM2M_AttrAPI, gSiServerIp, gSiServerPort, xM2M_AttrRR, + xM2M_AttrRN, xM2M_AttrET); + +#ifdef FEATURE_CAS + SNPRINTF(pAuthBase64Src, sizeof(pAuthBase64Src), "%s:%s", pReqParam->xM2M_Origin, pReqParam->authKey); + Grib_Base64Encode(pAuthBase64Src, pAuthBase64Enc, GRIB_NOT_USED); +#endif SNPRINTF(httpHead, sizeof(httpHead), ONEM2M_HEAD_FORMAT_APP_ENTITY_CREATE, - gServerIp, gServerPort, ONEM2M_RESOURCE_TYPE_APP_ENTITY, STRLEN(httpBody), - pReqParam->xM2M_Origin, pReqParam->xM2M_ReqID, pReqParam->xM2M_NM); + gSiServerIp, gSiServerPort, ONEM2M_RESOURCE_TYPE_APP_ENTITY, STRLEN(httpBody), +#ifdef FEATURE_CAS + pAuthBase64Enc, +#endif + pReqParam->xM2M_Origin, pReqParam->xM2M_ReqID); STRINIT(pReqParam->http_SendData, sizeof(pReqParam->http_SendData)); SNPRINTF(pReqParam->http_SendData, sizeof(pReqParam->http_SendData), "%s%s", httpHead, httpBody); - GRIB_LOGD("----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----\n"); - GRIB_LOGD("# APP ENTITY CREATE[%d]:\n%s", STRLEN(pReqParam->http_SendData), pReqParam->http_SendData); - GRIB_LOGD("----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----\n"); + if(iDBG) + { + GRIB_LOGD(ONEM2M_1LINE_SEPERATOR); + GRIB_LOGD("# APP ENTITY CREATE SEND[%d]:\n%s", STRLEN(pReqParam->http_SendData), pReqParam->http_SendData); + GRIB_LOGD(ONEM2M_1LINE_SEPERATOR); + } - iRes = Grib_HttpSendMsg(pReqParam->http_SendData, pResParam->http_RecvData); - if(iRes <= 0) + iRes = Grib_OneM2MSendMsg(pReqParam, pResParam); + if(iRes != GRIB_DONE) { - GRIB_LOGD("# APP ENTITY CREATE ERROR\n"); + if(pResParam->http_ResNum == HTTP_STATUS_CODE_CONFLICT)GRIB_LOGD("# %s: APP ENTITY ALREADY EXIST ...\n", pReqParam->xM2M_Origin); + else GRIB_LOGD("# %s: APP ENTITY CREATE ERROR\n", pReqParam->xM2M_Origin); return GRIB_ERROR; } if(iDBG) { - GRIB_LOGD("----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----\n"); - GRIB_LOGD("# RECV MSG[%d]:\n%s\n", STRLEN(pResParam->http_RecvData), pResParam->http_RecvData); - GRIB_LOGD("----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----\n"); - } - - Grib_HttpResParser(pResParam); - if(pResParam->http_ResNum != HTTP_STATUS_CODE_CREATED) - {//shbaek: Need Not Continue. - if(pResParam->http_ResNum == HTTP_STATUS_CODE_CONFLICT) - {//shbaek: Already Exist is Not Error. - GRIB_LOGD("# ALREADY EXIST %s\n", pReqParam->xM2M_NM); - return GRIB_ERROR; - } - else - { - GRIB_LOGD("# HTTP RESULT: %s[%d]\n", pResParam->http_ResMsg, pResParam->http_ResNum); - return GRIB_ERROR; - } + GRIB_LOGD(ONEM2M_1LINE_SEPERATOR); + GRIB_LOGD("# APP ENTITY CREATE RECV[%d]:\n%s\n", STRLEN(pResParam->http_RecvData), pResParam->http_RecvData); + GRIB_LOGD(ONEM2M_1LINE_SEPERATOR); } iRes = Grib_OneM2MResParser(pResParam); @@ -524,9 +404,13 @@ int Grib_AppEntityCreate(OneM2M_ReqParam *pReqParam, OneM2M_ResParam *pResParam) GRIB_LOGD("# RESPONSE PARSING ERROR\n"); return GRIB_ERROR; } - GRIB_LOGD("# RESOURCE ID: [%s]\n", pResParam->xM2M_RsrcID); - GRIB_LOGD("# PARENTS ID: [%s]\n", pResParam->xM2M_PrntID); - + + if(iDBG) + { + GRIB_LOGD("# RESOURCE ID: [%s]\n", pResParam->xM2M_RsrcID); + GRIB_LOGD("# PARENTS ID: [%s]\n", pResParam->xM2M_PrntID); + } + return GRIB_SUCCESS; } @@ -536,7 +420,12 @@ int Grib_AppEntityRetrieve(OneM2M_ReqParam *pReqParam, OneM2M_ResParam *pResPara int iRes = GRIB_ERROR; int iDBG = gDebugOneM2M; - char httpHead[ONEM2M_MAX_SIZE_SEND_MSG/2] = {'\0',}; + char httpHead[HTTP_MAX_SIZE_HEAD] = {'\0',}; + +#ifdef FEATURE_CAS + char pAuthBase64Src[ONEM2M_MAX_SIZE_BRIEF] = {'\0',}; + char pAuthBase64Enc[ONEM2M_MAX_SIZE_BRIEF] = {'\0',}; +#endif STRINIT(pReqParam->xM2M_ReqID, sizeof(pReqParam->xM2M_ReqID)); SNPRINTF(pReqParam->xM2M_ReqID, sizeof(pReqParam->xM2M_ReqID), "%s_ReqAppEntityRetrieve", pReqParam->xM2M_Origin); @@ -544,21 +433,30 @@ int Grib_AppEntityRetrieve(OneM2M_ReqParam *pReqParam, OneM2M_ResParam *pResPara STRINIT(pReqParam->xM2M_URI, sizeof(pReqParam->xM2M_URI)); SNPRINTF(pReqParam->xM2M_URI, sizeof(pReqParam->xM2M_URI), "%s", pReqParam->xM2M_Origin); +#ifdef FEATURE_CAS + SNPRINTF(pAuthBase64Src, sizeof(pAuthBase64Src), "%s:%s", pReqParam->xM2M_Origin, pReqParam->authKey); + Grib_Base64Encode(pAuthBase64Src, pAuthBase64Enc, GRIB_NOT_USED); +#endif + SNPRINTF(httpHead, sizeof(httpHead), ONEM2M_HEAD_FORMAT_APP_ENTITY_RETRIEVE, - pReqParam->xM2M_URI, gServerIp, gServerPort, pReqParam->xM2M_Origin, pReqParam->xM2M_ReqID); + pReqParam->xM2M_URI, gSiServerIp, gSiServerPort, +#ifdef FEATURE_CAS + pAuthBase64Enc, +#endif + pReqParam->xM2M_Origin, pReqParam->xM2M_ReqID); STRINIT(pReqParam->http_SendData, sizeof(pReqParam->http_SendData)); SNPRINTF(pReqParam->http_SendData, sizeof(pReqParam->http_SendData), "%s", httpHead); if(iDBG) { - GRIB_LOGD("----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----\n"); - GRIB_LOGD("# APP ENTITY RETRIEVE[%d]:\n%s", STRLEN(pReqParam->http_SendData), pReqParam->http_SendData); - GRIB_LOGD("----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----\n"); + GRIB_LOGD(ONEM2M_1LINE_SEPERATOR); + GRIB_LOGD("# APP ENTITY RETRIEVE SEND[%d]:\n%s", STRLEN(pReqParam->http_SendData), pReqParam->http_SendData); + GRIB_LOGD(ONEM2M_1LINE_SEPERATOR); } - iRes = Grib_HttpSendMsg(pReqParam->http_SendData, pResParam->http_RecvData); - if(iRes <= 0) + iRes = Grib_OneM2MSendMsg(pReqParam, pResParam); + if(iRes != GRIB_DONE) { GRIB_LOGD("# APP ENTITY RETRIEVE ERROR\n"); return GRIB_ERROR; @@ -566,16 +464,9 @@ int Grib_AppEntityRetrieve(OneM2M_ReqParam *pReqParam, OneM2M_ResParam *pResPara if(iDBG) { - GRIB_LOGD("----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----\n"); - GRIB_LOGD("# RECV MSG[%d]:\n%s\n", STRLEN(pResParam->http_RecvData), pResParam->http_RecvData); - GRIB_LOGD("----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----\n"); - } - - Grib_HttpResParser(pResParam); - if(pResParam->http_ResNum != HTTP_STATUS_CODE_OK) - {//shbaek: Need Not Continue. - GRIB_LOGD("# HTTP RESULT: %s[%d]\n", pResParam->http_ResMsg, pResParam->http_ResNum); - return GRIB_ERROR; + GRIB_LOGD(ONEM2M_1LINE_SEPERATOR); + GRIB_LOGD("# APP ENTITY RETRIEVE RECV[%d]:\n%s\n", STRLEN(pResParam->http_RecvData), pResParam->http_RecvData); + GRIB_LOGD(ONEM2M_1LINE_SEPERATOR); } iRes = Grib_OneM2MResParser(pResParam); @@ -584,8 +475,11 @@ int Grib_AppEntityRetrieve(OneM2M_ReqParam *pReqParam, OneM2M_ResParam *pResPara GRIB_LOGD("# RESPONSE PARSING ERROR\n"); return GRIB_ERROR; } - //GRIB_LOGD("# RESOURCE ID: [%s]\n", pResParam->xM2M_RsrcID); - //GRIB_LOGD("# PARENTS ID: [%s]\n", pResParam->xM2M_PrntID); + if(iDBG) + { + GRIB_LOGD("# RESOURCE ID: [%s]\n", pResParam->xM2M_RsrcID); + GRIB_LOGD("# PARENTS ID: [%s]\n", pResParam->xM2M_PrntID); + } return GRIB_SUCCESS; } @@ -596,7 +490,12 @@ int Grib_AppEntityDelete(OneM2M_ReqParam *pReqParam, OneM2M_ResParam *pResParam) int iRes = GRIB_ERROR; int iDBG = gDebugOneM2M; - char httpHead[ONEM2M_MAX_SIZE_SEND_MSG/2] = {'\0',}; + char httpHead[HTTP_MAX_SIZE_HEAD] = {'\0',}; + +#ifdef FEATURE_CAS + char pAuthBase64Src[ONEM2M_MAX_SIZE_BRIEF] = {'\0',}; + char pAuthBase64Enc[ONEM2M_MAX_SIZE_BRIEF] = {'\0',}; +#endif STRINIT(pReqParam->xM2M_ReqID, sizeof(pReqParam->xM2M_ReqID)); SNPRINTF(pReqParam->xM2M_ReqID, sizeof(pReqParam->xM2M_ReqID), "%s_ReqAppEntityDelete", pReqParam->xM2M_Origin); @@ -604,21 +503,30 @@ int Grib_AppEntityDelete(OneM2M_ReqParam *pReqParam, OneM2M_ResParam *pResParam) STRINIT(pReqParam->xM2M_URI, sizeof(pReqParam->xM2M_URI)); SNPRINTF(pReqParam->xM2M_URI, sizeof(pReqParam->xM2M_URI), "%s", pReqParam->xM2M_Origin); +#ifdef FEATURE_CAS + SNPRINTF(pAuthBase64Src, sizeof(pAuthBase64Src), "%s:%s", pReqParam->xM2M_Origin, pReqParam->authKey); + Grib_Base64Encode(pAuthBase64Src, pAuthBase64Enc, GRIB_NOT_USED); +#endif + SNPRINTF(httpHead, sizeof(httpHead), ONEM2M_HEAD_FORMAT_APP_ENTITY_DELETE, - pReqParam->xM2M_URI, gServerIp, gServerPort, pReqParam->xM2M_Origin, pReqParam->xM2M_ReqID); + pReqParam->xM2M_URI, gSiServerIp, gSiServerPort, +#ifdef FEATURE_CAS + pAuthBase64Enc, +#endif + pReqParam->xM2M_Origin, pReqParam->xM2M_ReqID); STRINIT(pReqParam->http_SendData, sizeof(pReqParam->http_SendData)); SNPRINTF(pReqParam->http_SendData, sizeof(pReqParam->http_SendData), "%s", httpHead); if(iDBG) { - GRIB_LOGD("----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----\n"); - GRIB_LOGD("# APP ENTITY DELETE[%d]:\n%s", STRLEN(pReqParam->http_SendData), pReqParam->http_SendData); - GRIB_LOGD("----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----\n"); + GRIB_LOGD(ONEM2M_1LINE_SEPERATOR); + GRIB_LOGD("# APP ENTITY DELETE SEND[%d]:\n%s", STRLEN(pReqParam->http_SendData), pReqParam->http_SendData); + GRIB_LOGD(ONEM2M_1LINE_SEPERATOR); } - iRes = Grib_HttpSendMsg(pReqParam->http_SendData, pResParam->http_RecvData); - if(iRes <= 0) + iRes = Grib_OneM2MSendMsg(pReqParam, pResParam); + if(iRes != GRIB_DONE) { GRIB_LOGD("# APP ENTITY DELETE ERROR\n"); return GRIB_ERROR; @@ -626,16 +534,9 @@ int Grib_AppEntityDelete(OneM2M_ReqParam *pReqParam, OneM2M_ResParam *pResParam) if(iDBG) { - GRIB_LOGD("----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----\n"); - GRIB_LOGD("# RECV MSG[%d]:\n%s\n", STRLEN(pResParam->http_RecvData), pResParam->http_RecvData); - GRIB_LOGD("----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----\n"); - } - - Grib_HttpResParser(pResParam); - if(pResParam->http_ResNum != HTTP_STATUS_CODE_OK) - {//shbaek: Need Not Continue. - GRIB_LOGD("# HTTP RESULT: %s[%d]\n", pResParam->http_ResMsg, pResParam->http_ResNum); - return GRIB_ERROR; + GRIB_LOGD(ONEM2M_1LINE_SEPERATOR); + GRIB_LOGD("# APP ENTITY DELETE RECV[%d]:\n%s\n", STRLEN(pResParam->http_RecvData), pResParam->http_RecvData); + GRIB_LOGD(ONEM2M_1LINE_SEPERATOR); } return GRIB_SUCCESS; @@ -646,76 +547,81 @@ int Grib_AppEntityDelete(OneM2M_ReqParam *pReqParam, OneM2M_ResParam *pResParam) //2 shbaek: NEED: xM2M_URI, xM2M_Origin, xM2M_NM int Grib_ContainerCreate(OneM2M_ReqParam *pReqParam, OneM2M_ResParam *pResParam) { - char httpHead[ONEM2M_MAX_SIZE_SEND_MSG/2] = {'\0',}; - char httpBody[ONEM2M_MAX_SIZE_SEND_MSG/2] = {'\0',}; + char httpHead[HTTP_MAX_SIZE_HEAD] = {'\0',}; + char httpBody[HTTP_MAX_SIZE_BODY] = {'\0',}; int iRes = GRIB_ERROR; int iDBG = gDebugOneM2M; - char xM2M_AttrLBL[ONEM2M_MAX_SIZE_URI] = {'\0',}; - char xM2M_AttrET[ONEM2M_MAX_SIZE_BRIEF] = {'\0',}; //shbaek: expirationTime - unsigned long long int xM2M_AttrMNI = 0; //shbaek: maxNrOfInstances unsigned long long int xM2M_AttrMBS = 0; //shbaek: maxByteSize unsigned long long int xM2M_AttrMIA = 0; //shbaek: maxInstanceAge - char* strDate = "20191231"; - char* strTime = "122359"; - char* pTemp = NULL; + char xM2M_AttrLBL[ONEM2M_MAX_SIZE_URI] = {'\0',}; + char xM2M_AttrET[ONEM2M_MAX_SIZE_BRIEF] = {'\0',}; + char* xM2M_AttrRN = NULL; +#ifdef FEATURE_CAS + char pAuthBase64Src[ONEM2M_MAX_SIZE_BRIEF] = {'\0',}; + char pAuthBase64Enc[ONEM2M_MAX_SIZE_BRIEF] = {'\0',}; +#endif - xM2M_AttrMNI = 100; - xM2M_AttrMBS = 1024000ULL; - xM2M_AttrMIA = 36000; + xM2M_AttrMNI = ONEM2M_FIX_ATTR_MNI; + xM2M_AttrMBS = ONEM2M_FIX_ATTR_MBS; + xM2M_AttrMIA = ONEM2M_FIX_ATTR_MIA; STRNCPY(xM2M_AttrLBL, pReqParam->xM2M_URI, STRLEN(pReqParam->xM2M_URI)); - //SNPRINTF(xM2M_AttrLBL, sizeof(xM2M_AttrLBL), "%s_%s_Container", pReqParam->xM2M_Origin, pReqParam->xM2M_NM); - SNPRINTF(xM2M_AttrET, sizeof(xM2M_AttrET), "%sT%s", strDate, strTime); + SNPRINTF(xM2M_AttrLBL, sizeof(xM2M_AttrLBL), "%s_Label", pReqParam->xM2M_NM); STRINIT(pReqParam->xM2M_ReqID, sizeof(pReqParam->xM2M_ReqID)); - SNPRINTF(pReqParam->xM2M_ReqID, sizeof(pReqParam->xM2M_ReqID), "%s_ReqContainerCreate_%s", pReqParam->xM2M_Origin, pReqParam->xM2M_NM); - - SNPRINTF(httpBody, sizeof(httpBody), ONEM2M_BODY_FORMAT_CONTAINER_CREATE, - xM2M_AttrLBL, xM2M_AttrET, xM2M_AttrMNI, xM2M_AttrMBS, xM2M_AttrMIA); + SNPRINTF(pReqParam->xM2M_ReqID, sizeof(pReqParam->xM2M_ReqID), "%s_ReqContainerCreate", pReqParam->xM2M_Origin); - SNPRINTF(httpHead, sizeof(httpHead), ONEM2M_HEAD_FORMAT_CONTAINER_CREATE, - pReqParam->xM2M_URI, gServerIp, gServerPort, ONEM2M_RESOURCE_TYPE_CONTAINER, STRLEN(httpBody), - pReqParam->xM2M_Origin, pReqParam->xM2M_ReqID, pReqParam->xM2M_NM); + Grib_GetAttrExpireTime(xM2M_AttrET, GRIB_NOT_USED); + xM2M_AttrRN = (char *)pReqParam->xM2M_NM; //shbaek: "X-M2M-NM" Change to "rn" on v2.0 - STRINIT(pReqParam->http_SendData, sizeof(pReqParam->http_SendData)); - SNPRINTF(pReqParam->http_SendData, sizeof(pReqParam->http_SendData), "%s%s", httpHead, httpBody); + SNPRINTF(httpBody, sizeof(httpBody), ONEM2M_BODY_FORMAT_CONTAINER_CREATE, + xM2M_AttrLBL, xM2M_AttrMNI, xM2M_AttrMBS, xM2M_AttrMIA, + xM2M_AttrRN, xM2M_AttrET); - GRIB_LOGD("----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----\n"); - GRIB_LOGD("# CONTAINER CREATE[%d]:\n%s", STRLEN(pReqParam->http_SendData), pReqParam->http_SendData); - GRIB_LOGD("----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----\n"); +#ifdef FEATURE_CAS + SNPRINTF(pAuthBase64Src, sizeof(pAuthBase64Src), "%s:%s", pReqParam->xM2M_Origin, pReqParam->authKey); + Grib_Base64Encode(pAuthBase64Src, pAuthBase64Enc, GRIB_NOT_USED); +#endif - iRes = Grib_HttpSendMsg(pReqParam->http_SendData, pResParam->http_RecvData); - if(iRes <= 0) - { - GRIB_LOGD("# CONTAINER CREATE ERROR\n"); - return GRIB_ERROR; - } + SNPRINTF(httpHead, sizeof(httpHead), ONEM2M_HEAD_FORMAT_CONTAINER_CREATE, + pReqParam->xM2M_URI, gSiServerIp, gSiServerPort, ONEM2M_RESOURCE_TYPE_CONTAINER, STRLEN(httpBody), +#ifdef FEATURE_CAS + pAuthBase64Enc, +#endif + pReqParam->xM2M_Origin, pReqParam->xM2M_ReqID); + + STRINIT(pReqParam->http_SendData, sizeof(pReqParam->http_SendData)); + SNPRINTF(pReqParam->http_SendData, sizeof(pReqParam->http_SendData), "%s%s", httpHead, httpBody); if(iDBG) { - GRIB_LOGD("----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----\n"); - GRIB_LOGD("# RECV MSG[%d]:\n%s\n", STRLEN(pResParam->http_RecvData), pResParam->http_RecvData); - GRIB_LOGD("----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----\n"); + GRIB_LOGD(ONEM2M_1LINE_SEPERATOR); + GRIB_LOGD("# CONTAINER CREATE SEND[%d]:\n%s", STRLEN(pReqParam->http_SendData), pReqParam->http_SendData); + GRIB_LOGD(ONEM2M_1LINE_SEPERATOR); } - Grib_HttpResParser(pResParam); - if(pResParam->http_ResNum != HTTP_STATUS_CODE_CREATED) - {//shbaek: Need Not Continue. + iRes = Grib_OneM2MSendMsg(pReqParam, pResParam); + if(iRes != GRIB_DONE) + { if(pResParam->http_ResNum == HTTP_STATUS_CODE_CONFLICT) - {//shbaek: Already Exist is Not Error. - GRIB_LOGD("# ALREADY EXIST %s\n", pReqParam->xM2M_NM); - return GRIB_ERROR; - } - else { - GRIB_LOGD("# HTTP RESULT: %s[%d]\n", pResParam->http_ResMsg, pResParam->http_ResNum); - return GRIB_ERROR; + GRIB_LOGD("# %s: %s CONTAINER ALREADY EXIST ...\n", pReqParam->xM2M_Origin, pReqParam->xM2M_NM); } + else GRIB_LOGD("# %s: %s CONTAINER CREATE ERROR\n", pReqParam->xM2M_Origin, pReqParam->xM2M_NM); + + return GRIB_ERROR; + } + + if(iDBG) + { + GRIB_LOGD(ONEM2M_1LINE_SEPERATOR); + GRIB_LOGD("# CONTAINER CREATE RECV[%d]:\n%s\n", STRLEN(pResParam->http_RecvData), pResParam->http_RecvData); + GRIB_LOGD(ONEM2M_1LINE_SEPERATOR); } iRes = Grib_OneM2MResParser(pResParam); @@ -724,9 +630,13 @@ int Grib_ContainerCreate(OneM2M_ReqParam *pReqParam, OneM2M_ResParam *pResParam) GRIB_LOGD("# RESPONSE PARSING ERROR\n"); return GRIB_ERROR; } - GRIB_LOGD("# RESOURCE ID : [%s]\n", pResParam->xM2M_RsrcID); - GRIB_LOGD("# CONENT VALUE: [%s]\n", pResParam->xM2M_Content); - + + if(iDBG) + { + GRIB_LOGD("# PARENTS ID: [%s]\n", pResParam->xM2M_PrntID); + GRIB_LOGD("# RESOURCE ID: [%s]\n", pResParam->xM2M_RsrcID); + } + return GRIB_SUCCESS; } @@ -736,26 +646,40 @@ int Grib_ContainerRetrieve(OneM2M_ReqParam *pReqParam, OneM2M_ResParam *pResPara int iRes = GRIB_ERROR; int iDBG = gDebugOneM2M; - char httpHead[ONEM2M_MAX_SIZE_SEND_MSG/2] = {'\0',}; + char httpHead[HTTP_MAX_SIZE_HEAD] = {'\0',}; + +#ifdef FEATURE_CAS + char pAuthBase64Src[ONEM2M_MAX_SIZE_BRIEF] = {'\0',}; + char pAuthBase64Enc[ONEM2M_MAX_SIZE_BRIEF] = {'\0',}; +#endif STRINIT(pReqParam->xM2M_ReqID, sizeof(pReqParam->xM2M_ReqID)); SNPRINTF(pReqParam->xM2M_ReqID, sizeof(pReqParam->xM2M_ReqID), "%s_ReqContainerRetrieve", pReqParam->xM2M_Origin); +#ifdef FEATURE_CAS + SNPRINTF(pAuthBase64Src, sizeof(pAuthBase64Src), "%s:%s", pReqParam->xM2M_Origin, pReqParam->authKey); + Grib_Base64Encode(pAuthBase64Src, pAuthBase64Enc, GRIB_NOT_USED); +#endif + SNPRINTF(httpHead, sizeof(httpHead), ONEM2M_HEAD_FORMAT_CONTAINER_RETRIEVE, - pReqParam->xM2M_URI, gServerIp, gServerPort, pReqParam->xM2M_Origin, pReqParam->xM2M_ReqID); + pReqParam->xM2M_URI, gSiServerIp, gSiServerPort, +#ifdef FEATURE_CAS + pAuthBase64Enc, +#endif + pReqParam->xM2M_Origin, pReqParam->xM2M_ReqID); STRINIT(pReqParam->http_SendData, sizeof(pReqParam->http_SendData)); SNPRINTF(pReqParam->http_SendData, sizeof(pReqParam->http_SendData), "%s", httpHead); if(iDBG) { - GRIB_LOGD("----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----\n"); - GRIB_LOGD("# CONTAINER RETRIEVE[%d]:\n%s", STRLEN(pReqParam->http_SendData), pReqParam->http_SendData); - GRIB_LOGD("----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----\n"); + GRIB_LOGD(ONEM2M_1LINE_SEPERATOR); + GRIB_LOGD("# CONTAINER RETRIEVE SEND[%d]:\n%s", STRLEN(pReqParam->http_SendData), pReqParam->http_SendData); + GRIB_LOGD(ONEM2M_1LINE_SEPERATOR); } - iRes = Grib_HttpSendMsg(pReqParam->http_SendData, pResParam->http_RecvData); - if(iRes <= 0) + iRes = Grib_OneM2MSendMsg(pReqParam, pResParam); + if(iRes != GRIB_DONE) { GRIB_LOGD("# CONTAINER RETRIEVE ERROR\n"); return GRIB_ERROR; @@ -763,16 +687,9 @@ int Grib_ContainerRetrieve(OneM2M_ReqParam *pReqParam, OneM2M_ResParam *pResPara if(iDBG) { - GRIB_LOGD("----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----\n"); - GRIB_LOGD("# RECV MSG[%d]:\n%s\n", STRLEN(pResParam->http_RecvData), pResParam->http_RecvData); - GRIB_LOGD("----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----\n"); - } - - Grib_HttpResParser(pResParam); - if(pResParam->http_ResNum != HTTP_STATUS_CODE_OK) - {//shbaek: Need Not Continue. - GRIB_LOGD("# HTTP RESULT: %s[%d]\n", pResParam->http_ResMsg, pResParam->http_ResNum); - return GRIB_ERROR; + GRIB_LOGD(ONEM2M_1LINE_SEPERATOR); + GRIB_LOGD("# CONTAINER RETRIEVE RECV[%d]:\n%s\n", STRLEN(pResParam->http_RecvData), pResParam->http_RecvData); + GRIB_LOGD(ONEM2M_1LINE_SEPERATOR); } iRes = Grib_OneM2MResParser(pResParam); @@ -784,8 +701,8 @@ int Grib_ContainerRetrieve(OneM2M_ReqParam *pReqParam, OneM2M_ResParam *pResPara if(iDBG) { - GRIB_LOGD("# RESOURCE ID: [%s]\n", pResParam->xM2M_RsrcID); GRIB_LOGD("# PARENTS ID: [%s]\n", pResParam->xM2M_PrntID); + GRIB_LOGD("# RESOURCE ID: [%s]\n", pResParam->xM2M_RsrcID); } return GRIB_SUCCESS; @@ -797,29 +714,40 @@ int Grib_ContainerDelete(OneM2M_ReqParam *pReqParam, OneM2M_ResParam *pResParam) int iRes = GRIB_ERROR; int iDBG = gDebugOneM2M; - char httpHead[ONEM2M_MAX_SIZE_SEND_MSG/2] = {'\0',}; + char httpHead[HTTP_MAX_SIZE_HEAD] = {'\0',}; + +#ifdef FEATURE_CAS + char pAuthBase64Src[ONEM2M_MAX_SIZE_BRIEF] = {'\0',}; + char pAuthBase64Enc[ONEM2M_MAX_SIZE_BRIEF] = {'\0',}; +#endif STRINIT(pReqParam->xM2M_ReqID, sizeof(pReqParam->xM2M_ReqID)); SNPRINTF(pReqParam->xM2M_ReqID, sizeof(pReqParam->xM2M_ReqID), "%s_ReqContainerDelete", pReqParam->xM2M_Origin); - STRINIT(pReqParam->xM2M_URI, sizeof(pReqParam->xM2M_URI)); - SNPRINTF(pReqParam->xM2M_URI, sizeof(pReqParam->xM2M_URI), "%s", pReqParam->xM2M_Origin); +#ifdef FEATURE_CAS + SNPRINTF(pAuthBase64Src, sizeof(pAuthBase64Src), "%s:%s", pReqParam->xM2M_Origin, pReqParam->authKey); + Grib_Base64Encode(pAuthBase64Src, pAuthBase64Enc, GRIB_NOT_USED); +#endif SNPRINTF(httpHead, sizeof(httpHead), ONEM2M_HEAD_FORMAT_CONTAINER_DELETE, - pReqParam->xM2M_URI, gServerIp, gServerPort, pReqParam->xM2M_Origin, pReqParam->xM2M_ReqID); + pReqParam->xM2M_URI, gSiServerIp, gSiServerPort, +#ifdef FEATURE_CAS + pAuthBase64Enc, +#endif + pReqParam->xM2M_Origin, pReqParam->xM2M_ReqID); STRINIT(pReqParam->http_SendData, sizeof(pReqParam->http_SendData)); SNPRINTF(pReqParam->http_SendData, sizeof(pReqParam->http_SendData), "%s", httpHead); if(iDBG) { - GRIB_LOGD("----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----\n"); - GRIB_LOGD("# CONTAINER DELETE[%d]:\n%s", STRLEN(pReqParam->http_SendData), pReqParam->http_SendData); - GRIB_LOGD("----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----\n"); + GRIB_LOGD(ONEM2M_1LINE_SEPERATOR); + GRIB_LOGD("# CONTAINER DELETE SEND[%d]:\n%s", STRLEN(pReqParam->http_SendData), pReqParam->http_SendData); + GRIB_LOGD(ONEM2M_1LINE_SEPERATOR); } - iRes = Grib_HttpSendMsg(pReqParam->http_SendData, pResParam->http_RecvData); - if(iRes <= 0) + iRes = Grib_OneM2MSendMsg(pReqParam, pResParam); + if(iRes != GRIB_DONE) { GRIB_LOGD("# CONTAINER DELETE ERROR\n"); return GRIB_ERROR; @@ -827,16 +755,9 @@ int Grib_ContainerDelete(OneM2M_ReqParam *pReqParam, OneM2M_ResParam *pResParam) if(iDBG) { - GRIB_LOGD("----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----\n"); - GRIB_LOGD("# RECV MSG[%d]:\n%s\n", STRLEN(pResParam->http_RecvData), pResParam->http_RecvData); - GRIB_LOGD("----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----\n"); - } - - Grib_HttpResParser(pResParam); - if(pResParam->http_ResNum != HTTP_STATUS_CODE_OK) - {//shbaek: Need Not Continue. - GRIB_LOGD("# HTTP RESULT: %s[%d]\n", pResParam->http_ResMsg, pResParam->http_ResNum); - return GRIB_ERROR; + GRIB_LOGD(ONEM2M_1LINE_SEPERATOR); + GRIB_LOGD("# CONTAINER DELETE RECV[%d]:\n%s\n", STRLEN(pResParam->http_RecvData), pResParam->http_RecvData); + GRIB_LOGD(ONEM2M_1LINE_SEPERATOR); } return GRIB_SUCCESS; @@ -846,13 +767,20 @@ int Grib_ContainerDelete(OneM2M_ReqParam *pReqParam, OneM2M_ResParam *pResParam) //2 shbaek: NEED: xM2M_Origin int Grib_PollingChannelCreate(OneM2M_ReqParam *pReqParam, OneM2M_ResParam *pResParam) { - char httpHead[ONEM2M_MAX_SIZE_SEND_MSG/2] = {'\0',}; - char httpBody[ONEM2M_MAX_SIZE_SEND_MSG/2] = {'\0',}; + char httpHead[HTTP_MAX_SIZE_HEAD] = {'\0',}; + char httpBody[HTTP_MAX_SIZE_BODY] = {'\0',}; int iRes = GRIB_ERROR; int iDBG = gDebugOneM2M; char xM2M_AttrLBL[ONEM2M_MAX_SIZE_BRIEF] = {NULL,}; + char xM2M_AttrET[ONEM2M_MAX_SIZE_BRIEF] = {'\0',}; + char* xM2M_AttrRN = NULL; + +#ifdef FEATURE_CAS + char pAuthBase64Src[ONEM2M_MAX_SIZE_BRIEF] = {'\0',}; + char pAuthBase64Enc[ONEM2M_MAX_SIZE_BRIEF] = {'\0',}; +#endif STRINIT(pReqParam->xM2M_ReqID, sizeof(pReqParam->xM2M_ReqID)); SNPRINTF(pReqParam->xM2M_ReqID, sizeof(pReqParam->xM2M_ReqID), "%s_ReqPollingChannelCreate", pReqParam->xM2M_Origin); @@ -860,48 +788,49 @@ int Grib_PollingChannelCreate(OneM2M_ReqParam *pReqParam, OneM2M_ResParam *pResP STRINIT(pReqParam->xM2M_NM, sizeof(pReqParam->xM2M_NM)); STRNCPY(pReqParam->xM2M_NM, ONEM2M_URI_CONTENT_POLLING_CHANNEL, STRLEN(ONEM2M_URI_CONTENT_POLLING_CHANNEL)); - SNPRINTF(xM2M_AttrLBL, sizeof(xM2M_AttrLBL), "%s_PollingChannel", pReqParam->xM2M_Origin); + SNPRINTF(xM2M_AttrLBL, sizeof(xM2M_AttrLBL), "%s_Label", pReqParam->xM2M_NM); + + Grib_GetAttrExpireTime(xM2M_AttrET, GRIB_NOT_USED); + xM2M_AttrRN = (char *)pReqParam->xM2M_NM; //shbaek: "X-M2M-NM" Change to "rn" on v2.0 - SNPRINTF(httpBody, sizeof(httpBody), ONEM2M_BODY_FORMAT_POLLING_CHANNEL_CREATE, xM2M_AttrLBL); + SNPRINTF(httpBody, sizeof(httpBody), ONEM2M_BODY_FORMAT_POLLING_CHANNEL_CREATE, xM2M_AttrLBL, + xM2M_AttrRN, xM2M_AttrET); + +#ifdef FEATURE_CAS + SNPRINTF(pAuthBase64Src, sizeof(pAuthBase64Src), "%s:%s", pReqParam->xM2M_Origin, pReqParam->authKey); + Grib_Base64Encode(pAuthBase64Src, pAuthBase64Enc, GRIB_NOT_USED); +#endif SNPRINTF(httpHead, sizeof(httpHead), ONEM2M_HEAD_FORMAT_CONTAINER_CREATE, - pReqParam->xM2M_Origin, gServerIp, gServerPort, ONEM2M_RESOURCE_TYPE_POLLING_CHANNEL, STRLEN(httpBody), - pReqParam->xM2M_Origin, pReqParam->xM2M_ReqID, pReqParam->xM2M_NM); + pReqParam->xM2M_Origin, gSiServerIp, gSiServerPort, ONEM2M_RESOURCE_TYPE_POLLING_CHANNEL, STRLEN(httpBody), +#ifdef FEATURE_CAS + pAuthBase64Enc, +#endif + pReqParam->xM2M_Origin, pReqParam->xM2M_ReqID); STRINIT(pReqParam->http_SendData, sizeof(pReqParam->http_SendData)); SNPRINTF(pReqParam->http_SendData, sizeof(pReqParam->http_SendData), "%s%s", httpHead, httpBody); - GRIB_LOGD("----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----\n"); - GRIB_LOGD("# POLLING CHANNEL CREATE[%d]:\n%s", STRLEN(pReqParam->http_SendData), pReqParam->http_SendData); - GRIB_LOGD("----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----\n"); + if(iDBG) + { + GRIB_LOGD(ONEM2M_1LINE_SEPERATOR); + GRIB_LOGD("# POLLING CHANNEL CREATE SEND[%d]:\n%s", STRLEN(pReqParam->http_SendData), pReqParam->http_SendData); + GRIB_LOGD(ONEM2M_1LINE_SEPERATOR); + } - iRes = Grib_HttpSendMsg(pReqParam->http_SendData, pResParam->http_RecvData); - if(iRes <= 0) + iRes = Grib_OneM2MSendMsg(pReqParam, pResParam); + if(iRes != GRIB_DONE) { - GRIB_LOGD("# POLLING CHANNEL CREATE ERROR\n"); + if(pResParam->http_ResNum == HTTP_STATUS_CODE_CONFLICT)GRIB_LOGD("# %s: POLLING CHANNEL ALREADY EXIST ...\n", pReqParam->xM2M_Origin); + else GRIB_LOGD("# %s: POLLING CHANNEL CREATE ERROR\n", pReqParam->xM2M_Origin); return GRIB_ERROR; } if(iDBG) { - GRIB_LOGD("----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----\n"); - GRIB_LOGD("# RECV MSG[%d]:\n%s\n", STRLEN(pResParam->http_RecvData), pResParam->http_RecvData); - GRIB_LOGD("----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----\n"); - } - - Grib_HttpResParser(pResParam); - if(pResParam->http_ResNum != HTTP_STATUS_CODE_CREATED) - {//shbaek: Need Not Continue. - if(pResParam->http_ResNum == HTTP_STATUS_CODE_CONFLICT) - {//shbaek: Already Exist is Not Error. - GRIB_LOGD("# ALREADY EXIST %s\n", pReqParam->xM2M_NM); - return GRIB_ERROR; - } - else - { - GRIB_LOGD("# HTTP RESULT: %s[%d]\n", pResParam->http_ResMsg, pResParam->http_ResNum); - return GRIB_ERROR; - } + GRIB_LOGD(ONEM2M_1LINE_SEPERATOR); + GRIB_LOGD("# POLLING CHANNEL CREATE RECV[%d]:\n%s\n", STRLEN(pResParam->http_RecvData), pResParam->http_RecvData); + GRIB_LOGD(ONEM2M_1LINE_SEPERATOR); } iRes = Grib_OneM2MResParser(pResParam); @@ -910,8 +839,12 @@ int Grib_PollingChannelCreate(OneM2M_ReqParam *pReqParam, OneM2M_ResParam *pResP GRIB_LOGD("# RESPONSE PARSING ERROR\n"); return GRIB_ERROR; } - //GRIB_LOGD("# RESOURCE ID: [%s]\n", pResParam->xM2M_RsrcID); - //GRIB_LOGD("# PARENTS ID: [%s]\n", pResParam->xM2M_PrntID); + + if(iDBG) + { + GRIB_LOGD("# RESOURCE ID: [%s]\n", pResParam->xM2M_RsrcID); + GRIB_LOGD("# PARENTS ID: [%s]\n", pResParam->xM2M_PrntID); + } return GRIB_SUCCESS; } @@ -919,18 +852,23 @@ int Grib_PollingChannelCreate(OneM2M_ReqParam *pReqParam, OneM2M_ResParam *pResP //2 shbaek: NEED: xM2M_Origin xM2M_Func int Grib_SubsciptionCreate(OneM2M_ReqParam *pReqParam, OneM2M_ResParam *pResParam) { - char httpHead[ONEM2M_MAX_SIZE_SEND_MSG/2] = {'\0',}; - char httpBody[ONEM2M_MAX_SIZE_SEND_MSG/2] = {'\0',}; + char httpHead[HTTP_MAX_SIZE_HEAD] = {'\0',}; + char httpBody[HTTP_MAX_SIZE_BODY] = {'\0',}; int iRes = GRIB_ERROR; int iDBG = gDebugOneM2M; char xM2M_AttrLBL[ONEM2M_MAX_SIZE_BRIEF] = {'\0',}; - char xM2M_AttrET[ONEM2M_MAX_SIZE_BRIEF] = {'\0',}; + char xM2M_AttrENC[ONEM2M_MAX_SIZE_BRIEF] = {'\0',}; char xM2M_AttrNU[ONEM2M_MAX_SIZE_URI] = {'\0',}; - char* strDate = "20191231"; - char* strTime = "122359"; + char xM2M_AttrET[ONEM2M_MAX_SIZE_BRIEF] = {'\0',}; + char* xM2M_AttrRN = NULL; + +#ifdef FEATURE_CAS + char pAuthBase64Src[ONEM2M_MAX_SIZE_BRIEF] = {'\0',}; + char pAuthBase64Enc[ONEM2M_MAX_SIZE_BRIEF] = {'\0',}; +#endif STRINIT(pReqParam->xM2M_ReqID, sizeof(pReqParam->xM2M_ReqID)); SNPRINTF(pReqParam->xM2M_ReqID, sizeof(pReqParam->xM2M_ReqID), "%s_ReqSubsciptionCreate", pReqParam->xM2M_Origin); @@ -942,44 +880,53 @@ int Grib_SubsciptionCreate(OneM2M_ReqParam *pReqParam, OneM2M_ResParam *pResPara STRINIT(pReqParam->xM2M_NM, sizeof(pReqParam->xM2M_NM)); STRNCPY(pReqParam->xM2M_NM, ONEM2M_URI_CONTENT_SUBSCRIPTION, STRLEN(ONEM2M_URI_CONTENT_SUBSCRIPTION)); - SNPRINTF(xM2M_AttrLBL, sizeof(xM2M_AttrLBL), "%s_Subsciption", pReqParam->xM2M_Origin); - SNPRINTF(xM2M_AttrET, sizeof(xM2M_AttrET), "%sT%s", strDate, strTime); - SNPRINTF(xM2M_AttrNU, sizeof(xM2M_AttrNU), "http://%s:%d/herit-in/herit-cse/%s/pollingchannel/pcu", - gServerIp, gServerPort, pReqParam->xM2M_Origin); + SNPRINTF(xM2M_AttrLBL, sizeof(xM2M_AttrLBL), "%s_Label", pReqParam->xM2M_NM); + STRNCPY(xM2M_AttrENC, ONEM2M_FIX_ATTR_ENC, STRLEN(ONEM2M_FIX_ATTR_ENC)); + + SNPRINTF(xM2M_AttrNU, sizeof(xM2M_AttrNU), ONEM2M_FIX_ATTR_NU_FORMAT, + gSiServerIp, gSiServerPort, pReqParam->xM2M_Origin); + + Grib_GetAttrExpireTime(xM2M_AttrET, GRIB_NOT_USED); + xM2M_AttrRN = (char *)pReqParam->xM2M_NM; //shbaek: "X-M2M-NM" Change to "rn" on v2.0 SNPRINTF(httpBody, sizeof(httpBody), ONEM2M_BODY_FORMAT_SUBSCRIPTION_CREATE, - xM2M_AttrLBL, xM2M_AttrET, xM2M_AttrNU); + xM2M_AttrLBL, xM2M_AttrENC, xM2M_AttrNU, xM2M_AttrRN, xM2M_AttrET); + +#ifdef FEATURE_CAS + SNPRINTF(pAuthBase64Src, sizeof(pAuthBase64Src), "%s:%s", pReqParam->xM2M_Origin, pReqParam->authKey); + Grib_Base64Encode(pAuthBase64Src, pAuthBase64Enc, GRIB_NOT_USED); +#endif SNPRINTF(httpHead, sizeof(httpHead), ONEM2M_HEAD_FORMAT_SUBSCRIPTION_CREATE, - pReqParam->xM2M_URI, gServerIp, gServerPort, ONEM2M_RESOURCE_TYPE_SUBSCRIPTION, STRLEN(httpBody), - pReqParam->xM2M_Origin, pReqParam->xM2M_ReqID, pReqParam->xM2M_NM); + pReqParam->xM2M_URI, gSiServerIp, gSiServerPort, ONEM2M_RESOURCE_TYPE_SUBSCRIPTION, STRLEN(httpBody), +#ifdef FEATURE_CAS + pAuthBase64Enc, +#endif + pReqParam->xM2M_Origin, pReqParam->xM2M_ReqID); STRINIT(pReqParam->http_SendData, sizeof(pReqParam->http_SendData)); SNPRINTF(pReqParam->http_SendData, sizeof(pReqParam->http_SendData), "%s%s", httpHead, httpBody); - GRIB_LOGD("----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----\n"); - GRIB_LOGD("# SUBSCRIPTION CREATE[%d]:\n%s", STRLEN(pReqParam->http_SendData), pReqParam->http_SendData); - GRIB_LOGD("----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----\n"); + if(iDBG) + { + GRIB_LOGD(ONEM2M_1LINE_SEPERATOR); + GRIB_LOGD("# SUBSCRIPTION CREATE SEND[%d]:\n%s", STRLEN(pReqParam->http_SendData), pReqParam->http_SendData); + GRIB_LOGD(ONEM2M_1LINE_SEPERATOR); + } - iRes = Grib_HttpSendMsg(pReqParam->http_SendData, pResParam->http_RecvData); - if(iRes <= 0) + iRes = Grib_OneM2MSendMsg(pReqParam, pResParam); + if(iRes != GRIB_DONE) { - GRIB_LOGD("# SUBSCRIPTION CREATE ERROR\n"); + if(pResParam->http_ResNum == HTTP_STATUS_CODE_CONFLICT)GRIB_LOGD("# %s: SUBSCRIPTION ALREADY EXIST ...\n", pReqParam->xM2M_Origin); + else GRIB_LOGD("# %s: SUBSCRIPTION CREATE ERROR\n", pReqParam->xM2M_Origin); return GRIB_ERROR; } if(iDBG) { - GRIB_LOGD("----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----\n"); - GRIB_LOGD("# RECV MSG[%d]:\n%s\n", STRLEN(pResParam->http_RecvData), pResParam->http_RecvData); - GRIB_LOGD("----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----\n"); - } - - Grib_HttpResParser(pResParam); - if(pResParam->http_ResNum != HTTP_STATUS_CODE_CREATED) - {//shbaek: Need Not Continue. - GRIB_LOGD("# HTTP RESULT: %s[%d]\n", pResParam->http_ResMsg, pResParam->http_ResNum); - return GRIB_ERROR; + GRIB_LOGD(ONEM2M_1LINE_SEPERATOR); + GRIB_LOGD("# SUBSCRIPTION CREATE RECV[%d]:\n%s\n", STRLEN(pResParam->http_RecvData), pResParam->http_RecvData); + GRIB_LOGD(ONEM2M_1LINE_SEPERATOR); } iRes = Grib_OneM2MResParser(pResParam); @@ -988,9 +935,12 @@ int Grib_SubsciptionCreate(OneM2M_ReqParam *pReqParam, OneM2M_ResParam *pResPara GRIB_LOGD("# RESPONSE PARSING ERROR\n"); return GRIB_ERROR; } - //GRIB_LOGD("# RESOURCE ID: [%s]\n", pResParam->xM2M_RsrcID); - //GRIB_LOGD("# PARENTS ID: [%s]\n", pResParam->xM2M_PrntID); - + if(iDBG) + { + GRIB_LOGD("# RESOURCE ID: [%s]\n", pResParam->xM2M_RsrcID); + GRIB_LOGD("# PARENTS ID: [%s]\n", pResParam->xM2M_PrntID); + } + return GRIB_SUCCESS; } @@ -1002,27 +952,56 @@ int Grib_ContentInstanceCreate(OneM2M_ReqParam *pReqParam, OneM2M_ResParam *pRes int iRes = GRIB_ERROR; int iDBG = gDebugOneM2M; - char httpHead[ONEM2M_MAX_SIZE_SEND_MSG/2] = {'\0',}; - char httpBody[ONEM2M_MAX_SIZE_SEND_MSG/2] = {'\0',}; + char httpHead[HTTP_MAX_SIZE_HEAD] = {'\0',}; + char httpBody[HTTP_MAX_SIZE_BODY] = {'\0',}; char xM2M_AttrLBL[ONEM2M_MAX_SIZE_BRIEF] = {NULL,}; + char xM2M_AttrET[ONEM2M_MAX_SIZE_BRIEF] = {'\0',}; + + TimeInfo pTime; + +#ifdef FEATURE_CAS + char pAuthBase64Src[ONEM2M_MAX_SIZE_BRIEF] = {'\0',}; + char pAuthBase64Enc[ONEM2M_MAX_SIZE_BRIEF] = {'\0',}; +#endif STRINIT(pReqParam->xM2M_ReqID, sizeof(pReqParam->xM2M_ReqID)); SNPRINTF(pReqParam->xM2M_ReqID, sizeof(pReqParam->xM2M_ReqID), "%s_ReqContentInstanceCreate", pReqParam->xM2M_Origin); - if(pReqParam->xM2M_CNF == NULL) + if(STRLEN(pReqParam->xM2M_CNF) <= 1) {//shbaek: Default Type STRINIT(pReqParam->xM2M_CNF, sizeof(pReqParam->xM2M_CNF)); SNPRINTF(pReqParam->xM2M_CNF, sizeof(pReqParam->xM2M_CNF), "%s:0", HTTP_CONTENT_TYPE_TEXT); } - SNPRINTF(xM2M_AttrLBL, sizeof(xM2M_AttrLBL), "%s_ReportData", pReqParam->xM2M_Origin); + SNPRINTF(xM2M_AttrLBL, sizeof(xM2M_AttrLBL), "%s_ReportLabel", pReqParam->xM2M_Origin); + +#if __NOT_USED__ + MEMSET(&pTime, 0x00, sizeof(TimeInfo)); + pTime.tm_year = 1; +// pTime.tm_mon = 1; +// pTime.tm_mday = 1; +// pTime.tm_hour = 1; +// pTime.tm_min = 1; +// pTime.tm_sec = 1; + + Grib_GetAttrExpireTime(xM2M_AttrET, &pTime); +#endif + Grib_GetAttrExpireTime(xM2M_AttrET, GRIB_NOT_USED); SNPRINTF(httpBody, sizeof(httpBody), ONEM2M_BODY_FORMAT_CONTENT_INSTANCE_CREATE, - xM2M_AttrLBL, pReqParam->xM2M_CNF, pReqParam->xM2M_CON); + xM2M_AttrLBL, xM2M_AttrET, pReqParam->xM2M_CNF, pReqParam->xM2M_CON); + +#ifdef FEATURE_CAS + SNPRINTF(pAuthBase64Src, sizeof(pAuthBase64Src), "%s:%s", pReqParam->xM2M_Origin, pReqParam->authKey); + Grib_Base64Encode(pAuthBase64Src, pAuthBase64Enc, GRIB_NOT_USED); +#endif SNPRINTF(httpHead, sizeof(httpHead), ONEM2M_HEAD_FORMAT_CONTENT_INSTANCE_CREATE, - pReqParam->xM2M_URI, gServerIp, gServerPort, ONEM2M_RESOURCE_TYPE_CONTENT_INSTANCE, STRLEN(httpBody), + pReqParam->xM2M_URI, gSiServerIp, gSiServerPort, ONEM2M_RESOURCE_TYPE_CONTENT_INSTANCE, STRLEN(httpBody), +#ifdef FEATURE_CAS + pAuthBase64Enc, +#endif pReqParam->xM2M_Origin, pReqParam->xM2M_ReqID); STRINIT(pReqParam->http_SendData, sizeof(pReqParam->http_SendData)); @@ -1030,37 +1009,23 @@ int Grib_ContentInstanceCreate(OneM2M_ReqParam *pReqParam, OneM2M_ResParam *pRes if(iDBG) { - GRIB_LOGD("----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----\n"); - GRIB_LOGD("# CONTENT INSTANCE CREATE[%d]:\n%s", STRLEN(pReqParam->http_SendData), pReqParam->http_SendData); - GRIB_LOGD("----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----\n"); - } - - if(pResParam == NULL) - { - GRIB_LOGD("# CONTENT INSTANCE CREATE: IGNORE RESPONSE\n"); - iRes = Grib_HttpSendMsg(pReqParam->http_SendData, NULL); - return iRes; + GRIB_LOGD(ONEM2M_1LINE_SEPERATOR); + GRIB_LOGD("# CONTENT INSTANCE CREATE SEND[%d]:\n%s", STRLEN(pReqParam->http_SendData), pReqParam->http_SendData); + GRIB_LOGD(ONEM2M_1LINE_SEPERATOR); } - iRes = Grib_HttpSendMsg(pReqParam->http_SendData, pResParam->http_RecvData); - if(iRes <= 0) + iRes = Grib_OneM2MSendMsg(pReqParam, pResParam); + if(iRes != GRIB_DONE) { - GRIB_LOGD("# CONTENT INSTANCE CREATE ERROR\n"); + GRIB_LOGD("# %s: INSTANCE CREATE ERROR: %s [%d]\n", pReqParam->xM2M_Origin, pResParam->http_ResMsg, pResParam->http_ResNum); return GRIB_ERROR; } if(iDBG) { - GRIB_LOGD("----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----\n"); - GRIB_LOGD("# RECV MSG[%d]:\n%s\n", STRLEN(pResParam->http_RecvData), pResParam->http_RecvData); - GRIB_LOGD("----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----\n"); - } - - Grib_HttpResParser(pResParam); - if(pResParam->http_ResNum != HTTP_STATUS_CODE_CREATED) - {//shbaek: Need Not Continue. - GRIB_LOGD("# HTTP RESULT: %s[%d]\n", pResParam->http_ResMsg, pResParam->http_ResNum); - return GRIB_ERROR; + GRIB_LOGD(ONEM2M_1LINE_SEPERATOR); + GRIB_LOGD("# CONTENT INSTANCE CREATE RECV[%d]:\n%s\n", STRLEN(pResParam->http_RecvData), pResParam->http_RecvData); + GRIB_LOGD(ONEM2M_1LINE_SEPERATOR); } iRes = Grib_OneM2MResParser(pResParam); @@ -1069,8 +1034,12 @@ int Grib_ContentInstanceCreate(OneM2M_ReqParam *pReqParam, OneM2M_ResParam *pRes GRIB_LOGD("# RESPONSE PARSING ERROR\n"); return GRIB_ERROR; } - //GRIB_LOGD("# RESOURCE ID: [%s]\n", pResParam->xM2M_RsrcID); - //GRIB_LOGD("# PARENTS ID: [%s]\n", pResParam->xM2M_PrntID); + + if(iDBG) + { + GRIB_LOGD("# RESOURCE ID: [%s]\n", pResParam->xM2M_RsrcID); + GRIB_LOGD("# PARENTS ID: [%s]\n", pResParam->xM2M_PrntID); + } return GRIB_SUCCESS; } @@ -1080,26 +1049,40 @@ int Grib_ContentInstanceRetrieve(OneM2M_ReqParam *pReqParam, OneM2M_ResParam *pR { int iRes = GRIB_ERROR; int iDBG = gDebugOneM2M; - char httpHead[ONEM2M_MAX_SIZE_SEND_MSG] = {'\0',}; + char httpHead[HTTP_MAX_SIZE_HEAD] = {'\0',}; + +#ifdef FEATURE_CAS + char pAuthBase64Src[ONEM2M_MAX_SIZE_BRIEF] = {'\0',}; + char pAuthBase64Enc[ONEM2M_MAX_SIZE_BRIEF] = {'\0',}; +#endif STRINIT(pReqParam->xM2M_ReqID, sizeof(pReqParam->xM2M_ReqID)); SNPRINTF(pReqParam->xM2M_ReqID, sizeof(pReqParam->xM2M_ReqID), "%s_ReqContentInstanceRetrieve", pReqParam->xM2M_Origin); +#ifdef FEATURE_CAS + SNPRINTF(pAuthBase64Src, sizeof(pAuthBase64Src), "%s:%s", pReqParam->xM2M_Origin, pReqParam->authKey); + Grib_Base64Encode(pAuthBase64Src, pAuthBase64Enc, GRIB_NOT_USED); +#endif + SNPRINTF(httpHead, sizeof(httpHead), ONEM2M_HEAD_FORMAT_CONTENT_INSTANCE_RETRIEVE, - pReqParam->xM2M_URI, gServerIp, gServerPort, pReqParam->xM2M_Origin, pReqParam->xM2M_ReqID); + pReqParam->xM2M_URI, gSiServerIp, gSiServerPort, +#ifdef FEATURE_CAS + pAuthBase64Enc, +#endif + pReqParam->xM2M_Origin, pReqParam->xM2M_ReqID); STRINIT(pReqParam->http_SendData, sizeof(pReqParam->http_SendData)); SNPRINTF(pReqParam->http_SendData, sizeof(pReqParam->http_SendData), "%s", httpHead); if(iDBG) { - GRIB_LOGD("----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----\n"); - GRIB_LOGD("# CONTENT INST RETRIEVE[%d]:\n%s", STRLEN(pReqParam->http_SendData), pReqParam->http_SendData); - GRIB_LOGD("----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----\n"); + GRIB_LOGD(ONEM2M_1LINE_SEPERATOR); + GRIB_LOGD("# CONTENT INST RETRIEVE SEND[%d]:\n%s", STRLEN(pReqParam->http_SendData), pReqParam->http_SendData); + GRIB_LOGD(ONEM2M_1LINE_SEPERATOR); } - iRes = Grib_HttpSendMsg(pReqParam->http_SendData, pResParam->http_RecvData); - if(iRes <= 0) + iRes = Grib_OneM2MSendMsg(pReqParam, pResParam); + if(iRes != GRIB_DONE) { GRIB_LOGD("# CONTENT INST RETRIEVE ERROR\n"); return GRIB_ERROR; @@ -1107,16 +1090,9 @@ int Grib_ContentInstanceRetrieve(OneM2M_ReqParam *pReqParam, OneM2M_ResParam *pR if(iDBG) { - GRIB_LOGD("----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----\n"); - GRIB_LOGD("# RECV MSG[%d]:\n%s\n", STRLEN(pResParam->http_RecvData), pResParam->http_RecvData); - GRIB_LOGD("----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----\n"); - } - - Grib_HttpResParser(pResParam); - if(pResParam->http_ResNum != HTTP_STATUS_CODE_OK) - {//shbaek: Need Not Continue. - GRIB_LOGD("# HTTP RESULT: %s[%d]\n", pResParam->http_ResMsg, pResParam->http_ResNum); - return GRIB_ERROR; + GRIB_LOGD(ONEM2M_1LINE_SEPERATOR); + GRIB_LOGD("# CONTENT INST RETRIEVE RECV[%d]:\n%s\n", STRLEN(pResParam->http_RecvData), pResParam->http_RecvData); + GRIB_LOGD(ONEM2M_1LINE_SEPERATOR); } iRes = Grib_OneM2MResParser(pResParam); @@ -1126,8 +1102,11 @@ int Grib_ContentInstanceRetrieve(OneM2M_ReqParam *pReqParam, OneM2M_ResParam *pR return GRIB_ERROR; } - //GRIB_LOGD("# RESOURCE ID: [%s]\n", pResParam->xM2M_RsrcID); - //GRIB_LOGD("# PARENTS ID: [%s]\n", pResParam->xM2M_PrntID); + if(iDBG) + { + GRIB_LOGD("# RESOURCE ID: [%s]\n", pResParam->xM2M_RsrcID); + GRIB_LOGD("# PARENTS ID: [%s]\n", pResParam->xM2M_PrntID); + } return GRIB_SUCCESS; } @@ -1207,7 +1186,7 @@ int Grib_LongPollingResParser(OneM2M_ResParam *pResParam) if(iDBG)GRIB_LOGD("[%03d] RID:[%s]\n", i, pResParam->xM2M_RsrcID); continue;//3 shbaek: Next Line } - //shbaek: ##### ##### ##### ##### ##### ##### ##### ##### ##### ##### + //shbaek: ##### ##### ##### ##### ##### ##### ##### ##### ##### ##### //shbaek: Find Parents ID Tag strTagStart = ""; @@ -1223,14 +1202,36 @@ int Grib_LongPollingResParser(OneM2M_ResParam *pResParam) strValueEnd = STRSTR(str1Line, strTagEnd); strValueEnd[0] = NULL; - + STRINIT(pResParam->xM2M_PrntID, sizeof(pResParam->xM2M_PrntID)); STRNCPY(pResParam->xM2M_PrntID, strValue, STRLEN(strValue)); - + if(iDBG)GRIB_LOGD("[%03d] PID:[%s]\n", i, pResParam->xM2M_PrntID); continue;//3 shbaek: Next Line } + //shbaek: ##### ##### ##### ##### ##### ##### ##### ##### ##### ##### + //shbaek: Find Expire Time Tag + strTagStart = ""; + strTagEnd = ""; + strTemp = STRSTR(str1Line, strTagStart); + if(strTemp != NULL) + { + char *strValueEnd = NULL; + + //shbaek: Copy Value + strValue = strTemp+STRLEN(strTagStart); + if(iDBG)GRIB_LOGD("[%03d] TAG:[%s] TEMP VALUE:[%s]\n", i, strTagStart, strValue); + + strValueEnd = STRSTR(str1Line, strTagEnd); + strValueEnd[0] = NULL; + + STRINIT(pResParam->xM2M_ExpireTime, sizeof(pResParam->xM2M_ExpireTime)); + STRNCPY(pResParam->xM2M_ExpireTime, strValue, STRLEN(strValue)); + + if(iDBG)GRIB_LOGD("[%03d] ET:[%s]\n", i, pResParam->xM2M_ExpireTime); + continue;//3 shbaek: Next Line + } //shbaek: ##### ##### ##### ##### ##### ##### ##### ##### ##### ##### //shbaek: Find Content Tag @@ -1250,14 +1251,12 @@ int Grib_LongPollingResParser(OneM2M_ResParam *pResParam) STRINIT(pResParam->xM2M_Content, sizeof(pResParam->xM2M_Content)); STRNCPY(pResParam->xM2M_Content, strValue, STRLEN(strValue)); - + if(iDBG)GRIB_LOGD("[%03d] CON:[%s]\n", i, pResParam->xM2M_Content); break;//3 shbaek: Search More? } //shbaek: ##### ##### ##### ##### ##### ##### ##### ##### ##### ##### - - }while(i < iLoopMax); if(iDBG)GRIB_LOGD("===== ===== ===== ===== ===== ===== ===== ===== ===== =====\n"); @@ -1267,12 +1266,17 @@ int Grib_LongPollingResParser(OneM2M_ResParam *pResParam) return GRIB_DONE; } -//2 shbaek: NEED: xM2M_Origin +//2 shbaek: NEED: xM2M_Origin, [xM2M_URI: If NULL, Auto Set] int Grib_LongPolling(OneM2M_ReqParam *pReqParam, OneM2M_ResParam *pResParam) { int iRes = GRIB_ERROR; int iDBG = gDebugOneM2M; - char httpHead[ONEM2M_MAX_SIZE_SEND_MSG] = {'\0',}; + char httpHead[HTTP_MAX_SIZE_HEAD] = {'\0',}; + +#ifdef FEATURE_CAS + char pAuthBase64Src[ONEM2M_MAX_SIZE_BRIEF] = {'\0',}; + char pAuthBase64Enc[ONEM2M_MAX_SIZE_BRIEF] = {'\0',}; +#endif STRINIT(pReqParam->xM2M_ReqID, sizeof(pReqParam->xM2M_ReqID)); SNPRINTF(pReqParam->xM2M_ReqID, sizeof(pReqParam->xM2M_ReqID), "%s_ReqLongPolling", pReqParam->xM2M_Origin); @@ -1286,38 +1290,47 @@ int Grib_LongPolling(OneM2M_ReqParam *pReqParam, OneM2M_ResParam *pResParam) GRIB_LOGD("# LONG POLLING URI: %s\n", pReqParam->xM2M_URI); } + +#ifdef FEATURE_CAS + SNPRINTF(pAuthBase64Src, sizeof(pAuthBase64Src), "%s:%s", pReqParam->xM2M_Origin, pReqParam->authKey); + Grib_Base64Encode(pAuthBase64Src, pAuthBase64Enc, GRIB_NOT_USED); + + if(iDBG) + { + GRIB_LOGD("# LONG POLLING BASE64 SRC: %s\n", pAuthBase64Src); + GRIB_LOGD("# LONG POLLING BASE64 ENC: %s\n", pAuthBase64Enc); + } +#endif + SNPRINTF(httpHead, sizeof(httpHead), ONEM2M_HEAD_FORMAT_LONG_POLLING, - pReqParam->xM2M_URI, gServerIp, gServerPort, pReqParam->xM2M_Origin, pReqParam->xM2M_ReqID); + pReqParam->xM2M_URI, gSiServerIp, gSiServerPort, +#ifdef FEATURE_CAS + pAuthBase64Enc, +#endif + pReqParam->xM2M_Origin, pReqParam->xM2M_ReqID); STRINIT(pReqParam->http_SendData, sizeof(pReqParam->http_SendData)); SNPRINTF(pReqParam->http_SendData, sizeof(pReqParam->http_SendData), "%s", httpHead); if(iDBG) { - GRIB_LOGD("----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----\n"); - GRIB_LOGD("# LONG POLLING[%d]:\n%s", STRLEN(pReqParam->http_SendData), pReqParam->http_SendData); - GRIB_LOGD("----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----\n"); + GRIB_LOGD(ONEM2M_1LINE_SEPERATOR); + GRIB_LOGD("# LONG POLLING SEND[%d]:\n%s", STRLEN(pReqParam->http_SendData), pReqParam->http_SendData); + GRIB_LOGD(ONEM2M_1LINE_SEPERATOR); } - iRes = Grib_HttpSendMsg(pReqParam->http_SendData, pResParam->http_RecvData); - if(iRes <= 0) + iRes = Grib_OneM2MSendMsg(pReqParam, pResParam); + if(iRes != GRIB_DONE) { - GRIB_LOGD("# LONG POLLING ERROR\n"); + if(pResParam->http_ResNum != HTTP_STATUS_CODE_REQUEST_TIME_OUT)GRIB_LOGD("# LONG POLLING ERROR\n"); return GRIB_ERROR; } - Grib_HttpResParser(pResParam); - if(pResParam->http_ResNum != HTTP_STATUS_CODE_OK) - {//shbaek: Need Not Continue. - if(pResParam->http_ResNum == HTTP_STATUS_CODE_REQUEST_TIME_OUT) - { - if(iDBG)GRIB_LOGD("# %s-xM2M: LONG POLLING TIME OUT: %s[%d]\n", pReqParam->xM2M_Origin, pResParam->http_ResMsg, pResParam->http_ResNum); - } - else - { - GRIB_LOGD("# %s-xM2M: LONG POLLING HTTP RESULT: %s[%d]\n", pReqParam->xM2M_Origin, pResParam->http_ResMsg, pResParam->http_ResNum); - } - return GRIB_ERROR; + if(iDBG) + { + GRIB_LOGD(ONEM2M_1LINE_SEPERATOR); + GRIB_LOGD("# LONG POLLING RECV[%d]:\n%s\n", STRLEN(pResParam->http_RecvData), pResParam->http_RecvData); + GRIB_LOGD(ONEM2M_1LINE_SEPERATOR); } iRes = Grib_LongPollingResParser(pResParam); @@ -1335,13 +1348,152 @@ int Grib_LongPolling(OneM2M_ReqParam *pReqParam, OneM2M_ResParam *pResParam) return GRIB_SUCCESS; } +#define __ONEM2M_SEMANTIC_FUNC__ +//2 shbaek: NEED: xM2M_Origin +int Grib_SemanticDescriptorUpload(OneM2M_ReqParam *pReqParam, OneM2M_ResParam *pResParam) +{ + int iRes = GRIB_ERROR; + int iDBG = gDebugOneM2M; + + char httpHead[HTTP_MAX_SIZE_HEAD] = {'\0',}; + + char xM2M_AttrLBL[ONEM2M_MAX_SIZE_BRIEF] = {'\0',}; + char xM2M_AttrDCRP[ONEM2M_MAX_SIZE_BRIEF] = {'\0',}; + + char xM2M_AttrET[ONEM2M_MAX_SIZE_BRIEF] = {'\0',}; + char* xM2M_AttrRN = NULL; + +// char smdBuff[SDA_MAX_DEVICE_INFO] = {'\0',}; +// char xM2M_AttrDSP[SDA_MAX_DEVICE_INFO] = {'\0',}; +// char httpBody[HTTP_MAX_SIZE_BODY+SDA_MAX_DEVICE_INFO] = {'\0',}; + + char* smdBuff = NULL; + char* xM2M_AttrDSP = NULL; + char* httpBody = NULL; + char* httpSendMsg = NULL; + int httpSendMsgByte = 0; + +#ifdef FEATURE_CAS + char pAuthBase64Src[ONEM2M_MAX_SIZE_BRIEF] = {'\0',}; + char pAuthBase64Enc[ONEM2M_MAX_SIZE_BRIEF] = {'\0',}; +#endif + + //shbaek: Semantic Descriptor + smdBuff = (char *)MALLOC(SDA_MAX_DEVICE_INFO); + xM2M_AttrDSP = (char *)MALLOC(SDA_MAX_DEVICE_INFO); + + MEMSET(smdBuff, 0x00, SDA_MAX_DEVICE_INFO); + MEMSET(xM2M_AttrDSP, 0x00, SDA_MAX_DEVICE_INFO); + + iRes = Grib_SdaGetDeviceInfo(pReqParam->xM2M_Origin, smdBuff); + if(iRes != GRIB_DONE) + { + GRIB_LOGD("# %s: GET DEVICE INFO ERROR !!!\n", pReqParam->xM2M_Origin); + return GRIB_ERROR; + } + + Grib_Base64Encode(smdBuff, xM2M_AttrDSP, GRIB_NOT_USED); + if(smdBuff)FREE(smdBuff); + + pReqParam->xM2M_ResourceType = ONEM2M_RESOURCE_TYPE_SEMANTIC_DESCRIPTOR; + + xM2M_AttrRN = ONEM2M_URI_CONTENT_SEM_DEC; + if(iDBG)GRIB_LOGD("# RNAME: %s\n", xM2M_AttrRN); + + SNPRINTF(xM2M_AttrLBL, sizeof(xM2M_AttrLBL), "%s_SemanticDescriptorLabel", pReqParam->xM2M_Origin); + if(iDBG)GRIB_LOGD("# LABEL: %s\n", xM2M_AttrLBL); + + SNPRINTF(xM2M_AttrDCRP, sizeof(xM2M_AttrDCRP), "%s:1", HTTP_CONTENT_TYPE_RDF_XML); + if(iDBG)GRIB_LOGD("# DCRP: %s\n", xM2M_AttrDCRP); + + STRINIT(pReqParam->xM2M_ReqID, sizeof(pReqParam->xM2M_ReqID)); + SNPRINTF(pReqParam->xM2M_ReqID, sizeof(pReqParam->xM2M_ReqID), "%s_ReqSemanticDescriptorUpload", pReqParam->xM2M_Origin); + if(iDBG)GRIB_LOGD("# REQ ID: %s\n", pReqParam->xM2M_ReqID); + + Grib_GetAttrExpireTime(xM2M_AttrET, GRIB_NOT_USED); + if(iDBG)GRIB_LOGD("# Ex TIME: %s\n", xM2M_AttrET); + + //shbaek: HTTP Body + httpBody = (char *)MALLOC(HTTP_MAX_SIZE_BODY+STRLEN(xM2M_AttrDSP)+1); + MEMSET(httpBody, 0x00, HTTP_MAX_SIZE_BODY+STRLEN(xM2M_AttrDSP)+1); + SNPRINTF(httpBody, HTTP_MAX_SIZE_BODY+STRLEN(xM2M_AttrDSP)+1, ONEM2M_BODY_FORMAT_SEMANTIC_DESCRIPTOR_UPLOAD, + xM2M_AttrLBL, xM2M_AttrRN, xM2M_AttrET, xM2M_AttrDCRP, xM2M_AttrDSP); + if(xM2M_AttrDSP)FREE(xM2M_AttrDSP); + + +#ifdef FEATURE_CAS + SNPRINTF(pAuthBase64Src, sizeof(pAuthBase64Src), "%s:%s", pReqParam->xM2M_Origin, pReqParam->authKey); + Grib_Base64Encode(pAuthBase64Src, pAuthBase64Enc, GRIB_NOT_USED); +#endif + + SNPRINTF(httpHead, sizeof(httpHead), ONEM2M_HEAD_FORMAT_SEMANTIC_DESCRIPTOR_UPLOAD, + pReqParam->xM2M_Origin, gSiServerIp, gSiServerPort, ONEM2M_RESOURCE_TYPE_SEMANTIC_DESCRIPTOR, STRLEN(httpBody), +#ifdef FEATURE_CAS + pAuthBase64Enc, +#endif + pReqParam->xM2M_Origin, pReqParam->xM2M_ReqID); + + //shbaek: Send Message + httpSendMsgByte = STRLEN(httpHead)+STRLEN(httpBody)+1; + httpSendMsg = (char*)MALLOC(httpSendMsgByte); + STRINIT(httpSendMsg, httpSendMsgByte); + SNPRINTF(httpSendMsg, httpSendMsgByte, "%s%s", httpHead, httpBody); + + if(httpBody)FREE(httpBody); + pReqParam->http_SendDataEx = httpSendMsg; + + if(iDBG) + { + GRIB_LOGD(ONEM2M_1LINE_SEPERATOR); + GRIB_LOGD("# SEMANTIC DESCRIPTOR SEND[%d]:\n%s", STRLEN(pReqParam->http_SendDataEx), pReqParam->http_SendDataEx); + GRIB_LOGD(ONEM2M_1LINE_SEPERATOR); + } + + iRes = Grib_OneM2MSendMsg(pReqParam, pResParam); + if(iRes != GRIB_DONE) + { + if(pResParam->http_ResNum == HTTP_STATUS_CODE_CONFLICT)GRIB_LOGD("# %s: SEMANTIC DESCRIPTOR ALREADY EXIST ...\n", pReqParam->xM2M_Origin); + else GRIB_LOGD("# %s: SEMANTIC DESCRIPTOR UPLOAD ERROR\n", pReqParam->xM2M_Origin); + if(httpSendMsg)FREE(httpSendMsg); + return GRIB_ERROR; + } + if(httpSendMsg)FREE(httpSendMsg); + + if(iDBG) + { + GRIB_LOGD(ONEM2M_1LINE_SEPERATOR); + GRIB_LOGD("# SEMANTIC DESCRIPTOR RECV[%d]:\n%s\n", STRLEN(pResParam->http_RecvData), pResParam->http_RecvData); + GRIB_LOGD(ONEM2M_1LINE_SEPERATOR); + } + + iRes = Grib_OneM2MResParser(pResParam); + if(iRes != GRIB_DONE) + { + GRIB_LOGD("# RESPONSE PARSING ERROR\n"); + return GRIB_ERROR; + } + + if(iDBG) + { + GRIB_LOGD("# RESOURCE ID: [%s]\n", pResParam->xM2M_RsrcID); + GRIB_LOGD("# PARENTS ID: [%s]\n", pResParam->xM2M_PrntID); + } + + return iRes; +} + + #define __ONEM2M_ETC_FUNC__ +#ifdef FEATURE_CAS +int Grib_CreateOneM2MTree(Grib_DbRowDeviceInfo* pRowDeviceInfo, char* pAuthKey) +#else int Grib_CreateOneM2MTree(Grib_DbRowDeviceInfo* pRowDeviceInfo) +#endif { int i = 0; int iRes = GRIB_ERROR; - int useExe = FALSE; + int iDBG = gDebugOneM2M; OneM2M_ReqParam reqParam; OneM2M_ResParam resParam; @@ -1355,7 +1507,11 @@ int Grib_CreateOneM2MTree(Grib_DbRowDeviceInfo* pRowDeviceInfo) GRIB_LOGD("# CREATE-TREE: %s\n", pRowDeviceInfo->deviceID); MEMSET(&reqParam, GRIB_INIT, sizeof(OneM2M_ReqParam)); - MEMSET(&reqParam, GRIB_INIT, sizeof(OneM2M_ResParam)); + MEMSET(&resParam, GRIB_INIT, sizeof(OneM2M_ResParam)); + +#ifdef FEATURE_CAS + reqParam.authKey = pAuthKey; +#endif //1 shbaek: 1.App Entity //shbaek: Your Device ID @@ -1376,6 +1532,7 @@ int Grib_CreateOneM2MTree(Grib_DbRowDeviceInfo* pRowDeviceInfo) } //1 shbaek: 2-1.Polling Channel + MEMSET(&resParam, 0x00, sizeof(resParam)); //shbaek: Create Polling Channel Container(need xM2M_Origin) iRes = Grib_PollingChannelCreate(&reqParam, &resParam); if(iRes == GRIB_ERROR) @@ -1396,6 +1553,7 @@ int Grib_CreateOneM2MTree(Grib_DbRowDeviceInfo* pRowDeviceInfo) char* pFuncName = pRowDeviceFunc->funcName; //1 shbaek: 2-2.Function + MEMSET(&resParam, 0x00, sizeof(resParam)); STRINIT(&reqParam.xM2M_URI, sizeof(reqParam.xM2M_URI)); STRNCPY(&reqParam.xM2M_URI, reqParam.xM2M_Origin, STRLEN(reqParam.xM2M_Origin)); STRINIT(&reqParam.xM2M_NM, sizeof(reqParam.xM2M_NM)); @@ -1417,6 +1575,7 @@ int Grib_CreateOneM2MTree(Grib_DbRowDeviceInfo* pRowDeviceInfo) //1 shbaek: 3-1.Execute //shbaek: Set URI -> in/cse/"Device ID"/"Func" + MEMSET(&resParam, 0x00, sizeof(resParam)); STRINIT(&reqParam.xM2M_URI, sizeof(reqParam.xM2M_URI)); SNPRINTF(&reqParam.xM2M_URI, sizeof(reqParam.xM2M_URI), "%s/%s", reqParam.xM2M_Origin, pFuncName); STRINIT(&reqParam.xM2M_NM, sizeof(reqParam.xM2M_NM)); @@ -1427,6 +1586,7 @@ int Grib_CreateOneM2MTree(Grib_DbRowDeviceInfo* pRowDeviceInfo) { if(resParam.http_ResNum == HTTP_STATUS_CODE_CONFLICT) {//shbaek: Already Exist is Not Error. + MEMSET(&resParam, 0x00, sizeof(resParam)); STRINIT(&reqParam.xM2M_URI, sizeof(reqParam.xM2M_URI)); SNPRINTF(&reqParam.xM2M_URI, sizeof(reqParam.xM2M_URI), "%s/%s/%s", reqParam.xM2M_Origin, pFuncName, reqParam.xM2M_NM); Grib_ContainerRetrieve(&reqParam, &resParam); @@ -1440,10 +1600,11 @@ int Grib_CreateOneM2MTree(Grib_DbRowDeviceInfo* pRowDeviceInfo) //2 shbaek: NEED EXECUTE's RESOURCE ID STRINIT(pRowDeviceFunc->exRsrcID, sizeof(pRowDeviceFunc->exRsrcID)); STRNCPY(pRowDeviceFunc->exRsrcID, resParam.xM2M_RsrcID, STRLEN(resParam.xM2M_RsrcID)); - GRIB_LOGD("# %s EXECUTE RESOURCE ID: %s\n", pFuncName, pRowDeviceFunc->exRsrcID); + if(iDBG)GRIB_LOGD("# %s: %s EXECUTE RESOURCE ID: %s\n", pRowDeviceInfo->deviceID, pFuncName, pRowDeviceFunc->exRsrcID); //1 shbaek: 3-2.Status //shbaek: Set URI -> in/cse/"Device ID"/"Func" + MEMSET(&resParam, 0x00, sizeof(resParam)); STRINIT(&reqParam.xM2M_URI, sizeof(reqParam.xM2M_URI)); SNPRINTF(&reqParam.xM2M_URI, sizeof(reqParam.xM2M_URI), "%s/%s", reqParam.xM2M_Origin, pFuncName); STRINIT(&reqParam.xM2M_NM, sizeof(reqParam.xM2M_NM)); @@ -1465,6 +1626,7 @@ int Grib_CreateOneM2MTree(Grib_DbRowDeviceInfo* pRowDeviceInfo) } //1 shbaek: 3-3.Subscription + MEMSET(&resParam, 0x00, sizeof(resParam)); STRINIT(&reqParam.xM2M_Func, sizeof(reqParam.xM2M_Func)); STRNCPY(&reqParam.xM2M_Func, pFuncName, STRLEN(pFuncName)); //shbaek: Create Subscription(need xM2M_Origin, xM2M_Func) @@ -1483,6 +1645,28 @@ int Grib_CreateOneM2MTree(Grib_DbRowDeviceInfo* pRowDeviceInfo) } + if(pRowDeviceInfo->deviceInterface == DEVICE_IF_TYPE_INTERNAL) + {//3 shbaek: No Have Semantic Descriptor Type + if(gDebugOneM2M)GRIB_LOGD("# %s TREE: NO HAVE SEMANTIC DESCRIPTOR ...\n", pRowDeviceInfo->deviceID); + return GRIB_DONE; + } + + //1 shbaek: 2-3.Semantic Descriptor + //shbaek: Upload Semantic Descriptor(need xM2M_Origin) + iRes = Grib_SemanticDescriptorUpload(&reqParam, &resParam); + if(iRes != GRIB_DONE) + { + if(resParam.http_ResNum == HTTP_STATUS_CODE_CONFLICT) + {//shbaek: Already Exist is Not Error. + // TODO: shbaek: What Can I Do ... ? + } + else + { + GRIB_LOGD("# %s TREE: SEMANTIC DESCRIPTOR ERROR !!!\n", pRowDeviceInfo->deviceID); + //goto ERROR; + } + } + return GRIB_DONE; ERROR: @@ -1490,33 +1674,33 @@ int Grib_CreateOneM2MTree(Grib_DbRowDeviceInfo* pRowDeviceInfo) return GRIB_ERROR; } +#ifdef FEATURE_CAS +int Grib_UpdateHubInfo(char* pAuthKey) +#else int Grib_UpdateHubInfo(void) +#endif { int iRes = GRIB_ERROR; - char pIpAddr[128] = {'\0', }; + char pIpAddr[GRIB_MAX_SIZE_IP_STR] = {'\0', }; - Grib_ConfigInfo pConfigInfo; + Grib_ConfigInfo* pConfigInfo = NULL; OneM2M_ReqParam reqParam; OneM2M_ResParam resParam; STRINIT(pIpAddr, sizeof(pIpAddr)); - MEMSET(&pConfigInfo, 0x00, sizeof(Grib_ConfigInfo)); - MEMSET(&reqParam, 0x00, sizeof(OneM2M_ReqParam)); - MEMSET(&reqParam, 0x00, sizeof(OneM2M_ResParam)); - - GRIB_LOGD("# UPDATE HUB INFO: START\n"); - - GRIB_LOGD("# UPDATE HUB INFO: HUB VERSION: %s\n", GRIB_HUB_VERSION); + MEMSET(&reqParam, 0x00, sizeof(reqParam)); + MEMSET(&resParam, 0x00, sizeof(resParam)); - iRes = Grib_LoadConfig(&pConfigInfo); - if(iRes != GRIB_DONE) + pConfigInfo = Grib_GetConfigInfo(); + if(pConfigInfo == NULL) { - GRIB_LOGD("# UPDATE HUB INFO: LOAD CONFIG ERROR !!!\n"); - return iRes; + GRIB_LOGD("LOAD CONFIG ERROR !!!\n"); + return GRIB_ERROR; } - GRIB_LOGD("# UPDATE HUB INFO: HUB ID: %s\n", pConfigInfo.hubID); + + GRIB_LOGD("# UPDATE HUB INFO: %s: %s\n", pConfigInfo->hubID, GRIB_HUB_VERSION); iRes = Grib_GetIPAddr(pIpAddr); if(iRes != GRIB_DONE) @@ -1531,15 +1715,19 @@ int Grib_UpdateHubInfo(void) } STRINIT(reqParam.xM2M_Origin, sizeof(reqParam.xM2M_Origin)); - STRNCPY(reqParam.xM2M_Origin, pConfigInfo.hubID, STRLEN(pConfigInfo.hubID)); + STRNCPY(reqParam.xM2M_Origin, pConfigInfo->hubID, STRLEN(pConfigInfo->hubID)); STRINIT(reqParam.xM2M_URI, sizeof(reqParam.xM2M_URI)); SNPRINTF(reqParam.xM2M_URI, sizeof(reqParam.xM2M_URI), "%s/%s/%s", reqParam.xM2M_Origin, ONEM2M_URI_CONTENT_HUB, ONEM2M_URI_CONTENT_STATUS); - STRINIT(&reqParam.xM2M_CON, sizeof(reqParam.xM2M_CON)); + STRINIT(reqParam.xM2M_CON, sizeof(reqParam.xM2M_CON)); SNPRINTF(reqParam.xM2M_CON, sizeof(reqParam.xM2M_CON), ONEM2M_FORMAT_CONTENT_VALUE_HUB_INFO, - GRIB_HUB_VERSION, pConfigInfo.hubID, pIpAddr); + GRIB_HUB_VERSION, pConfigInfo->hubID, pIpAddr); + +#ifdef FEATURE_CAS + reqParam.authKey = pAuthKey; +#endif iRes = Grib_ContentInstanceCreate(&reqParam, &resParam); if(iRes == GRIB_ERROR) @@ -1554,56 +1742,68 @@ int Grib_UpdateHubInfo(void) } +#ifdef FEATURE_CAS +int Grib_UpdateDeviceInfo(Grib_DbAll *pDbAll, char* pAuthKey) +#else int Grib_UpdateDeviceInfo(Grib_DbAll *pDbAll) +#endif { int i = 0; int iRes = GRIB_ERROR; - Grib_ConfigInfo pConfigInfo; - - OneM2M_ReqParam reqParam; - OneM2M_ResParam resParam; + Grib_ConfigInfo* pConfigInfo = NULL; if(pDbAll == NULL) { + GRIB_LOGD("# DEVICE INFO NULL ERROR !!!\n"); return GRIB_ERROR; } - MEMSET(&reqParam, 0x00, sizeof(OneM2M_ReqParam)); - MEMSET(&reqParam, 0x00, sizeof(OneM2M_ResParam)); +#ifdef FEATURE_CAS + if(STRLEN(pAuthKey)<=1) + { + GRIB_LOGD("# AUTH INFO NULL ERROR !!!\n"); + return GRIB_ERROR; + } +#endif - GRIB_LOGD("# UPDATE DEVICE INFO: START\n"); + MEMSET(&gReqParam, 0x00, sizeof(gReqParam)); + MEMSET(&gResParam, 0x00, sizeof(gResParam)); - iRes = Grib_LoadConfig(&pConfigInfo); - if(iRes != GRIB_DONE) + pConfigInfo = Grib_GetConfigInfo(); + if(pConfigInfo == NULL) { - GRIB_LOGD("# UPDATE DEVICE INFO: LOAD CONFIG ERROR !!!\n"); - return iRes; + GRIB_LOGD("LOAD CONFIG ERROR !!!\n"); + return GRIB_ERROR; } - GRIB_LOGD("# UPDATE DEVICE INFO: HUB ID: %s\n", pConfigInfo.hubID); + GRIB_LOGD("# UPDATE DEVICE COUNT: %d EA\n", pDbAll->deviceCount); - STRINIT(reqParam.xM2M_Origin, sizeof(reqParam.xM2M_Origin)); - STRNCPY(reqParam.xM2M_Origin, pConfigInfo.hubID, STRLEN(pConfigInfo.hubID)); + STRINIT(gReqParam.xM2M_Origin, sizeof(gReqParam.xM2M_Origin)); + STRNCPY(gReqParam.xM2M_Origin, pConfigInfo->hubID, STRLEN(pConfigInfo->hubID)); - STRINIT(reqParam.xM2M_URI, sizeof(reqParam.xM2M_URI)); - SNPRINTF(reqParam.xM2M_URI, sizeof(reqParam.xM2M_URI), "%s/%s/%s", - reqParam.xM2M_Origin, ONEM2M_URI_CONTENT_DEVICE, ONEM2M_URI_CONTENT_STATUS); + STRINIT(gReqParam.xM2M_URI, sizeof(gReqParam.xM2M_URI)); + SNPRINTF(gReqParam.xM2M_URI, sizeof(gReqParam.xM2M_URI), "%s/%s/%s", + gReqParam.xM2M_Origin, ONEM2M_URI_CONTENT_DEVICE, ONEM2M_URI_CONTENT_STATUS); - STRINIT(&reqParam.xM2M_CON, sizeof(reqParam.xM2M_CON)); + STRINIT(gReqParam.xM2M_CON, sizeof(gReqParam.xM2M_CON)); for(i=0; ideviceCount; i++) { - if(i==0) - { - STRCAT(reqParam.xM2M_CON, pDbAll->ppRowDeviceInfo[i]->deviceID); - } - else + if(i != 0) { - STRCAT(reqParam.xM2M_CON, ", "); - STRCAT(reqParam.xM2M_CON, pDbAll->ppRowDeviceInfo[i]->deviceID); + STRCAT(gReqParam.xM2M_CON, ", "); } + + STRCAT(gReqParam.xM2M_CON, pDbAll->ppRowDeviceInfo[i]->deviceID); + STRCAT(gReqParam.xM2M_CON, "("); + STRCAT(gReqParam.xM2M_CON, pDbAll->ppRowDeviceInfo[i]->deviceAddr); + STRCAT(gReqParam.xM2M_CON, ")"); } - iRes = Grib_ContentInstanceCreate(&reqParam, &resParam); +#ifdef FEATURE_CAS + gReqParam.authKey = pAuthKey; +#endif + + iRes = Grib_ContentInstanceCreate(&gReqParam, &gResParam); if(iRes == GRIB_ERROR) { GRIB_LOGD("# UPDATE DEVICE INFO: CREATE INSTANCE ERROR !!!\n"); diff --git a/GRIB_BLE_HUB/grib_regi.cpp b/GRIB_BLE_HUB/grib_regi.cpp index 66285ee..da951f5 100644 --- a/GRIB_BLE_HUB/grib_regi.cpp +++ b/GRIB_BLE_HUB/grib_regi.cpp @@ -1,14 +1,17 @@ /* ********** ********** ********** ********** ********** ********** ********** ********** ********** ********** shbaek: Include File ********** ********** ********** ********** ********** ********** ********** ********** ********** ********** */ -#include "include/grib_regi.h" +#include "grib_regi.h" /* ********** ********** ********** ********** ********** ********** ********** ********** ********** ********** shbaek: Global Variable ********** ********** ********** ********** ********** ********** ********** ********** ********** ********** */ - +#ifdef FEATURE_CAS +int Grib_HubRegi(char* pAuthKey) +#else int Grib_HubRegi(void) +#endif { int i = 0; int iRes = GRIB_ERROR; @@ -16,29 +19,30 @@ int Grib_HubRegi(void) const int HUB_FUNC_COUNT = 2; const char* HUB_FUNC_NAME[HUB_FUNC_COUNT] = {ONEM2M_URI_CONTENT_HUB, ONEM2M_URI_CONTENT_DEVICE}; - Grib_ConfigInfo configInfo; + Grib_ConfigInfo* pConfigInfo = NULL; Grib_DbRowDeviceInfo rowDeviceInfo; - Grib_DbRowDeviceFunc* pRowDeviceFunc; + Grib_DbRowDeviceFunc* pRowDeviceFunc = NULL; OneM2M_ReqParam reqParam; OneM2M_ResParam resParam; - MEMSET(&configInfo, 0x00, sizeof(configInfo)); MEMSET(&rowDeviceInfo, 0x00, sizeof(rowDeviceInfo)); MEMSET(&reqParam, 0x00, sizeof(reqParam)); MEMSET(&resParam, 0x00, sizeof(resParam)); - iRes = Grib_LoadConfig(&configInfo); - if(iRes != GRIB_DONE) + pConfigInfo = Grib_GetConfigInfo(); + if(pConfigInfo == NULL) { - GRIB_LOGD("# LOAD CONFIG ERROR !!!\n"); - return iRes; + GRIB_LOGD("GET CONFIG ERROR !!!\n"); + return GRIB_ERROR; } - GRIB_LOGD("# HUB REGI: [ID: %s]\n", configInfo.hubID); + GRIB_LOGD("# HUB REGI: ID[%d]: %s\n", STRLEN(pConfigInfo->hubID), pConfigInfo->hubID); + + rowDeviceInfo.deviceInterface = DEVICE_IF_TYPE_INTERNAL; STRINIT(rowDeviceInfo.deviceID, sizeof(rowDeviceInfo.deviceID)); - STRNCPY(rowDeviceInfo.deviceID, configInfo.hubID, STRLEN(configInfo.hubID)); + STRNCPY(rowDeviceInfo.deviceID, pConfigInfo->hubID, STRLEN(pConfigInfo->hubID)); rowDeviceInfo.deviceFuncCount = 2; rowDeviceInfo.ppRowDeviceFunc = (Grib_DbRowDeviceFunc**)MALLOC(rowDeviceInfo.deviceFuncCount*sizeof(Grib_DbRowDeviceFunc*)); @@ -51,7 +55,13 @@ int Grib_HubRegi(void) STRNCPY(pRowDeviceFunc->funcName, HUB_FUNC_NAME[i], STRLEN(HUB_FUNC_NAME[i])); } + +#ifdef FEATURE_CAS + iRes = Grib_CreateOneM2MTree(&rowDeviceInfo, pAuthKey); +#else iRes = Grib_CreateOneM2MTree(&rowDeviceInfo); +#endif + if(iRes != GRIB_DONE) { GRIB_LOGD("# CREATE ONEM2M TREE ERROR\n"); @@ -66,13 +76,17 @@ int Grib_HubRegi(void) return iRes; } -int Grib_DeviceRegi(char* deviceAddr) +int Grib_DeviceRegi(char* deviceAddr, int optAuth) { int i = 0; int iRes = GRIB_ERROR; Grib_DbRowDeviceInfo rowDeviceInfo; - Grib_DbRowDeviceFunc* pRowDeviceFunc; + Grib_DbRowDeviceFunc* pRowDeviceFunc = NULL; + +#ifdef FEATURE_CAS + char pAuthKey[CAS_AUTH_KEY_SIZE] = {'\0', }; +#endif if(deviceAddr == NULL) { @@ -80,7 +94,9 @@ int Grib_DeviceRegi(char* deviceAddr) return GRIB_ERROR; } - MEMSET(&rowDeviceInfo, GRIB_INIT, sizeof(Grib_DbRowDeviceInfo)); + GRIB_LOGD("# DEVICE REGI OPT: %d\n", optAuth); + + MEMSET(&rowDeviceInfo, GRIB_INIT, sizeof(rowDeviceInfo)); STRNCPY(rowDeviceInfo.deviceAddr, deviceAddr, STRLEN(deviceAddr)); GRIB_LOGD("# ##### ##### ##### ##### CREATE DATABASE ##### ##### ##### #####\n"); @@ -90,7 +106,7 @@ int Grib_DeviceRegi(char* deviceAddr) GRIB_LOGD("# NEED NOT DB CREATE\n"); Grib_DbClose(); } - Grib_DbClose(); +// Grib_DbClose(); GRIB_LOGD("# ##### ##### ##### ##### GET BLE DEVICE INFO ##### ##### ##### #####\n"); iRes = Grib_BleDeviceInfo(&rowDeviceInfo); @@ -100,8 +116,38 @@ int Grib_DeviceRegi(char* deviceAddr) goto FINAL; } + if(optAuth == AUTH_REGI_OPT_PW_OVER_WRITE) + { + GRIB_LOGD("# TRY AUTH REGI ...\n"); + + iRes = Grib_AuthDeviceRegi(rowDeviceInfo.deviceID, GRIB_NOT_USED); + if(iRes != GRIB_DONE) + { + GRIB_LOGD("# AUTH REGI FAIL ...\n"); + } + } + +#ifdef FEATURE_CAS + if(optAuth == AUTH_REGI_OPT_PW_RE_USED) + { + iRes = Grib_AuthGetPW(rowDeviceInfo.deviceID, pAuthKey); + } + else + { + iRes = Grib_CasGetAuthKey(rowDeviceInfo.deviceID, pAuthKey); + } + + GRIB_LOGD("# DEVICE REGI: %s GET AUTH KEY: %s\n", rowDeviceInfo.deviceID, pAuthKey); +#endif + GRIB_LOGD("# ##### ##### ##### ##### CREATE ONEM2M TREE ##### ##### ##### #####\n"); + +#ifdef FEATURE_CAS + iRes = Grib_CreateOneM2MTree(&rowDeviceInfo, pAuthKey); +#else iRes = Grib_CreateOneM2MTree(&rowDeviceInfo); +#endif + if(iRes != GRIB_DONE) { GRIB_LOGD("# CREATE ONEM2M TREE ERROR\n"); @@ -140,24 +186,39 @@ int Grib_DeviceRegi(char* deviceAddr) return iRes; } -int Grib_DeviceDeRegi(char* deviceID) +int Grib_DeviceDeRegi(char* deviceID, int delOneM2M) { int iRes = GRIB_ERROR; OneM2M_ReqParam reqParam; OneM2M_ResParam resParam; +#ifdef FEATURE_CAS + char pAuthKey[CAS_AUTH_KEY_SIZE] = {'\0', }; +#endif + STRINIT(&reqParam.xM2M_Origin, sizeof(reqParam.xM2M_Origin)); STRNCPY(&reqParam.xM2M_Origin, deviceID, STRLEN(deviceID)); -/* - GRIB_LOGD("# ##### ##### ##### ##### DELETE APP ENTITY ##### ##### ##### #####\n"); - iRes = Grib_AppEntityDelete(&reqParam, &resParam); - if(iRes == GRIB_ERROR) + if(delOneM2M == TRUE) { - GRIB_LOGD("# DELETE APP ENTITY FAIL\n"); + GRIB_LOGD("# ##### ##### ##### ##### DELETE APP ENTITY ##### ##### ##### #####\n"); + +#ifdef FEATURE_CAS + iRes = Grib_CasGetAuthKey(deviceID, pAuthKey); + if(iRes != GRIB_DONE) + { + GRIB_LOGD("# DEVICE DEREGI: %s GET AUTH KEY ERROR !!!\n", deviceID); + } + reqParam.authKey = pAuthKey; +#endif + + iRes = Grib_AppEntityDelete(&reqParam, &resParam); + if(iRes == GRIB_ERROR) + { + GRIB_LOGD("# DELETE APP ENTITY FAIL\n"); + } } -*/ GRIB_LOGD("# ##### ##### ##### ##### DELETE DEVICE FUNC ##### ##### ##### #####\n"); iRes = Grib_DbDelDeviceFunc(deviceID); if(iRes == GRIB_ERROR) diff --git a/GRIB_BLE_HUB/grib_sda.cpp b/GRIB_BLE_HUB/grib_sda.cpp new file mode 100644 index 0000000..45f1616 --- /dev/null +++ b/GRIB_BLE_HUB/grib_sda.cpp @@ -0,0 +1,230 @@ +/* ********** ********** ********** ********** ********** ********** ********** ********** ********** ********** +shbaek: Include File +********** ********** ********** ********** ********** ********** ********** ********** ********** ********** */ +#include "grib_sda.h" + +/* ********** ********** ********** ********** ********** ********** ********** ********** ********** ********** +shbaek: Global Variable +********** ********** ********** ********** ********** ********** ********** ********** ********** ********** */ +int gDebugSda = FALSE; + +char gSdaServerIp[GRIB_MAX_SIZE_IP_STR+1]; +int gSdaServerPort; + +/* ********** ********** ********** ********** ********** ********** ********** ********** ********** ********** */ +#define __SDA_FUNC__ +/* ********** ********** ********** ********** ********** ********** ********** ********** ********** ********** */ +void Grib_SdaSetDebug(int iDebug) +{ + if(iDebug == TRUE) + { + gDebugSda = TRUE; + GRIB_LOGD("# SDA DEBUG: ON\n"); + } + + return; +} + +int Grib_SdaSetServerConfig(void) +{ + //3 shbaek: [TBD] Load Config File + int iRes = GRIB_ERROR; + Grib_ConfigInfo pConfigInfo; + + MEMSET(&pConfigInfo, 0x00, sizeof(Grib_ConfigInfo)); + + iRes = Grib_LoadConfig(&pConfigInfo); + if(iRes != GRIB_DONE) + { + GRIB_LOGD("# SDA SERVCER CONFIG: LOAD CONFIG ERROR !!!\n"); + return iRes; + } + + STRINIT(gSdaServerIp, sizeof(gSdaServerIp)); + STRNCPY(gSdaServerIp, pConfigInfo.sdaServerIP, STRLEN(pConfigInfo.sdaServerIP)); + + gSdaServerPort = pConfigInfo.sdaServerPort; + + GRIB_LOGD("# SDA SERVER CONFIG: %s:%d\n", gSdaServerIp, gSdaServerPort); + + return GRIB_SUCCESS; +} + +int Grib_SdaDeviceInfoParser(char* recvBuff, char* deviceInfo) +{ + int i = 0; + int iRes = GRIB_ERROR; + int iLoopMax = SIZE_1K; + int iDBG = FALSE; + + char* strToken = NULL; + char* str1Line = NULL; + char* strTemp = NULL; + + char* strKey = NULL; + char* strValue = NULL; + + char* strResponse = NULL; + + if( (recvBuff==NULL) || (deviceInfo==NULL) ) + { + GRIB_LOGD("# PARAMETER IS NULL !!!\n"); + return GRIB_ERROR; + } + + STRINIT(deviceInfo, sizeof(deviceInfo)); + + strToken = GRIB_CRLN; + strResponse = STRDUP(recvBuff); + if(strResponse == NULL) + { + GRIB_LOGD("# RECV BUFF COPY ERROR\n"); + return GRIB_ERROR; + } + + if(iDBG)GRIB_LOGD("===== ===== ===== ===== ===== ===== ===== ===== ===== =====\n"); + do{ + //shbaek: Cut 1 Line + if(i==0) + { + str1Line = STRTOK(strResponse, strToken); + } + else + { + str1Line = STRTOK(NULL, strToken); + } + + i++; + //if(iDBG)GRIB_LOGD("[%03d]%s\n", i, str1Line); + if(str1Line == NULL) + { + if(iDBG)GRIB_LOGD("END LINE: %d\n", i); + break; + } + + //shbaek: ##### ##### ##### ##### ##### ##### ##### ##### ##### ##### + //shbaek: [TBD] Find Only Device Information + strKey = "\"device_information\":\""; + strTemp = STRSTR(str1Line, strKey); + if(strTemp != NULL) + { + const char* strEndTag = "\\n"; + char *strValueEnd = NULL; + + if(iDBG)GRIB_LOGD("[%03d] KEY[%d]:%s\n", i, STRLEN(strKey), strKey); + if(iDBG)GRIB_LOGD("[%03d] TEMP VALUE[%d]:%s\n", i, STRLEN(strTemp), strTemp); + + //shbaek: Copy Value + strValue = strTemp+STRLEN(strKey); + if(iDBG)GRIB_LOGD("[%03d] START VALUE[%d]:%s\n", i, STRLEN(strValue), strValue); + if(iDBG)GRIB_LOGD("[%03d] END TAG[%d]:%s\n", i, STRLEN(strEndTag), strEndTag); + + strValueEnd = STRSTR(strValue, strEndTag); + if(strValueEnd == NULL) + {//shbaek: Not Found End Tag + GRIB_LOGD("[%03d] NOT FOUND TAG TAG !!!\n", i); + break; + } + strValueEnd[STRLEN(strEndTag)] = NULL; + + STRNCPY(deviceInfo, strValue, STRLEN(strValue)); + + if(iDBG)GRIB_LOGD("[%03d] LAST VALUE:[%s]\n", i, deviceInfo); + break;//3 shbaek: Search More? break -> continue + } + //shbaek: ##### ##### ##### ##### ##### ##### ##### ##### ##### ##### + }while(i < iLoopMax); + if(iDBG)GRIB_LOGD("===== ===== ===== ===== ===== ===== ===== ===== ===== =====\n"); + +FINAL: + if(strResponse!=NULL)FREE(strResponse); + + return GRIB_DONE; +} + +int Grib_SdaGetDeviceInfo(char* deviceID, char* deviceInfo) +{ + int iDBG = gDebugSda; + int iRes = GRIB_ERROR; + + Grib_HttpMsgInfo httpMsg; + + char sendBuff[HTTP_MAX_SIZE_SEND_MSG] = {'\0', }; + char recvBuff[SDA_MAX_DEVICE_INFO] = {'\0', }; + + if( (deviceID==NULL) || (deviceInfo==NULL) ) + { + GRIB_LOGD("# PARAMETER IS NULL !!!\n"); + return GRIB_ERROR; + } + + if( STRLEN(gSdaServerIp)==0 || (gSdaServerPort==0) ) + { + Grib_SdaSetServerConfig(); + } + + STRINIT(sendBuff, sizeof(sendBuff)); + STRINIT(recvBuff, sizeof(recvBuff)); + + SNPRINTF(sendBuff, sizeof(sendBuff), SDA_GET_DEVICE_INFO_FORMAT_HTTP, + deviceID, gSdaServerIp, gSdaServerPort); + + MEMSET(&httpMsg, 0x00, sizeof(Grib_HttpMsgInfo)); + httpMsg.serverIP = gSdaServerIp; + httpMsg.serverPort = gSdaServerPort; + httpMsg.LABEL= deviceID; + httpMsg.sendBuff = sendBuff; + httpMsg.recvBuff = recvBuff; + + if(iDBG) + { + GRIB_LOGD("----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----\n"); + GRIB_LOGD("# SDA GET DEV INFO SEND[%d]:\n%s", STRLEN(sendBuff), sendBuff); + GRIB_LOGD("----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----\n"); + } + + iRes = Grib_HttpSendMsg(&httpMsg); + if(iRes <= 0) + { + GRIB_LOGD("# HTTP MSG SEND ERROR !!!\n"); + return GRIB_ERROR; + } + + if(iDBG) + { + GRIB_LOGD("----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----\n"); + GRIB_LOGD("# SDA GET DEV INFO RECV[%d]:\n%s", STRLEN(recvBuff), recvBuff); + GRIB_LOGD("----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----\n"); + } + + iRes = Grib_HttpResParser(&httpMsg); + if(iRes != GRIB_DONE) + { + GRIB_LOGD("# HTTP MSG PARSE ERROR !!!\n"); + return iRes; + } + + if(iDBG) + { + GRIB_LOGD("# SDA REQ DEVICE ID : %s\n", httpMsg.LABEL); + GRIB_LOGD("# SDA RES STATUS MSG: %s [%d]\n", httpMsg.statusMsg, httpMsg.statusCode); + } + + if(httpMsg.statusCode != HTTP_STATUS_CODE_OK) + { + return GRIB_ERROR; + } + + iRes = Grib_SdaDeviceInfoParser(httpMsg.recvBuff, deviceInfo); + if(iRes != GRIB_DONE) + { + GRIB_LOGD("# DEVICE INFO PARSE ERROR !!!\n"); + return iRes; + } + + if(iDBG)GRIB_LOGD("# SDA DEVICE INFO[%d]:\n%s\n", STRLEN(deviceInfo), deviceInfo); + + return iRes; +} + + diff --git a/GRIB_BLE_HUB/grib_thread.cpp b/GRIB_BLE_HUB/grib_thread.cpp index 6ed1cfa..a048e1c 100644 --- a/GRIB_BLE_HUB/grib_thread.cpp +++ b/GRIB_BLE_HUB/grib_thread.cpp @@ -1,7 +1,7 @@ /* ********** ********** ********** ********** ********** ********** ********** ********** ********** ********** shbaek: Include File ********** ********** ********** ********** ********** ********** ********** ********** ********** ********** */ -#include "include/grib_thread.h" +#include "grib_thread.h" /* ********** ********** ********** ********** ********** ********** ********** ********** ********** ********** shbaek: Global Variable @@ -9,38 +9,33 @@ shbaek: Global Variable int gDebugThread; char* gHubID; -Grib_DbAll* gDbAll; +Grib_DbAll* gDbAll; Grib_HubThreadInfo* gHubThread; Grib_HubThreadInfo* gResetThread; Grib_DeviceThreadInfo** gDevThreadList; -#define TEST_SKIP_USE_ONEM2M OFF - /* ********** ********** ********** ********** ********** ********** ********** ********** ********** ********** shbaek: Function ********** ********** ********** ********** ********** ********** ********** ********** ********** ********** */ int Grib_SetThreadConfig(void) { - int iRes = GRIB_ERROR; - Grib_ConfigInfo pConfigInfo; - - MEMSET(&pConfigInfo, 0x00, sizeof(Grib_ConfigInfo)); + Grib_ConfigInfo* pConfigInfo = NULL; - iRes = Grib_LoadConfig(&pConfigInfo); - if(iRes != GRIB_DONE) + pConfigInfo = Grib_GetConfigInfo(); + if(pConfigInfo == NULL) { - GRIB_LOGD("LOAD CONFIG ERROR !!!\n"); - return iRes; + GRIB_LOGD("GET CONFIG ERROR !!!\n"); + return GRIB_ERROR; } - gDebugThread = pConfigInfo.debugThread; + gDebugThread = pConfigInfo->debugThread; if(gHubID != NULL) { FREE(gHubID); gHubID = NULL; } - gHubID = STRDUP(pConfigInfo.hubID); + gHubID = STRDUP(pConfigInfo->hubID); GRIB_LOGD("# SET THREAD DEBUG: %s\n", GRIB_BOOL_TO_STR(gDebugThread)); return GRIB_DONE; @@ -95,7 +90,7 @@ void *Grib_ContorolThread(void* threadArg) if(threadArg == NULL) { - GRIB_LOGD("0x%x THREAD INFO IS NULL", pthread_self()); + GRIB_LOGD("%ld THREAD INFO IS NULL", pthread_self()); return NULL; } @@ -107,12 +102,23 @@ void *Grib_ContorolThread(void* threadArg) pThreadInfo->controlThreadStatus = THREAD_STATUS_NONE; + GRIB_LOGD("# %s-CTR>: CONTROL THREAD START\n", deviceID); + MEMSET(&reqParam, GRIB_INIT, sizeof(OneM2M_ReqParam)); MEMSET(&reqParam, GRIB_INIT, sizeof(OneM2M_ResParam)); STRINIT(reqParam.xM2M_Origin, sizeof(reqParam.xM2M_Origin)); STRNCPY(reqParam.xM2M_Origin, deviceID, STRLEN(deviceID)); +#ifdef FEATURE_CAS + if(STRLEN(pThreadInfo->authKey)<=1) + { + GRIB_LOGD("# %s-CTR>: AUTH KEY IN-VALID ERROR !!!\n\n", deviceID); + return threadArg; + } + reqParam.authKey = pThreadInfo->authKey; +#endif + while(TRUE) { /* @@ -120,7 +126,7 @@ void *Grib_ContorolThread(void* threadArg) pThreadInfo->controlThreadStatus = THREAD_STATUS_POLLING; pthread_mutex_unlock(&pThreadInfo->threadMutex); */ - GRIB_LOGD("# %s-CTR>: POLLING START\n", deviceID); +// GRIB_LOGD("# %s-CTR>: POLLING START\n", deviceID); iRes = Grib_LongPolling(&reqParam, &resParam); if(iRes != GRIB_DONE) @@ -139,6 +145,12 @@ void *Grib_ContorolThread(void* threadArg) continue; } + if(Grib_isAvailableExpireTime(resParam.xM2M_ExpireTime) == FALSE) + { + GRIB_LOGD("# %s-CTR>: COMMAND TIME IS NOT AVAILABLE: %s\n", deviceID, resParam.xM2M_ExpireTime); + continue; + } + GRIB_LOGD("# %s-CTR>: COMMAND START\n", deviceID); cmdFuncName = cmdConValue = NULL; @@ -299,7 +311,7 @@ void* Grib_ReportThread(void* threadArg) if(threadArg == NULL) { - GRIB_LOGD("0x%x THREAD INFO IS NULL", pthread_self()); + GRIB_LOGD("%ld THREAD INFO IS NULL", pthread_self()); return NULL; } @@ -314,7 +326,7 @@ void* Grib_ReportThread(void* threadArg) iCycleTime = GRIB_DEFAULT_REPORT_CYCLE; } - GRIB_LOGD("# %s-RPT<: THREAD START\n", deviceID); +// GRIB_LOGD("# %s-RPT<: REPORT THREAD START\n", deviceID); MEMSET(&reqParam, GRIB_INIT, sizeof(OneM2M_ReqParam)); MEMSET(&reqParam, GRIB_INIT, sizeof(OneM2M_ResParam)); @@ -325,6 +337,15 @@ void* Grib_ReportThread(void* threadArg) STRINIT(&reqParam.xM2M_CNF, sizeof(reqParam.xM2M_CNF)); SNPRINTF(&reqParam.xM2M_CNF, sizeof(reqParam.xM2M_CNF), "%s:0", HTTP_CONTENT_TYPE_TEXT); +#ifdef FEATURE_CAS + if(STRLEN(pThreadInfo->authKey)<=1) + { + GRIB_LOGD("# %s-RPT<: AUTH KEY IN-VALID ERROR !!!\n\n", deviceID); + return threadArg; + } + reqParam.authKey = pThreadInfo->authKey; +#endif + while(TRUE) { // TODO: shbaek: GET FUNCTION's REPORT DATA @@ -414,19 +435,11 @@ void* Grib_ReportThread(void* threadArg) STRINIT(&reqParam.xM2M_CON, sizeof(reqParam.xM2M_CON)); STRNCPY(reqParam.xM2M_CON, pRes, STRLEN(pRes)); -#if (TEST_SKIP_USE_ONEM2M == OFF) iRes = Grib_ContentInstanceCreate(&reqParam, &resParam); -#else - iRes = GRIB_DONE; -#endif - if(iRes == GRIB_ERROR) - { - //3 shbaek: Scenario? - GRIB_LOGD("# %s-RPT<: REPORT ERROR !!!\n", deviceID); - continue; - } + + if(iRes == GRIB_DONE)GRIB_LOGD("# %s-RPT<: REPORT DONE\n", deviceID); + if(iRes == GRIB_ERROR)GRIB_LOGD("# %s-RPT<: REPORT ERROR !!!\n", deviceID); } - GRIB_LOGD("# %s-RPT<: REPORT DONE\n", deviceID); GRIB_LOGD("\n"); for(i=0; iresetTimerSwitch == FALSE) + { + GRIB_LOGD("# RESET-THREAD: SWITCH OFF !!!\n"); + return NULL; + } + + if( (pConfigInfo->resetTimeHour!=0) && (pConfigInfo->resetTimeHour<24) ) + { + intervalTime = pConfigInfo->resetTimeHour; + } + GRIB_LOGD("# RESET-THREAD: INTERVAL TIME: %d\n", intervalTime); + while(TRUE) { sysTimer = time(NULL); @@ -475,10 +511,10 @@ void* Grib_ResetThread(void* threadArg) if(iDBG)GRIB_LOGD("# RESET-THREAD: %02d:%02d:%02d\n", sysTime->tm_hour, sysTime->tm_min, sysTime->tm_sec); SLEEP(10); - if( ((sysTime->tm_hour%6)==0) && (sysTime->tm_min==0) ) + if( ((sysTime->tm_hour%intervalTime)==0) && (sysTime->tm_min==0) ) { char pBuff[GRIB_MAX_SIZE_BRIEF] = {'\0', }; - char* REBOOT_COMMAND = "sudo reboot"; + const char* REBOOT_COMMAND = "sudo reboot"; GRIB_LOGD("# RESET-THREAD: RESET TIME !!!\n"); SLEEP(10); @@ -491,27 +527,25 @@ void* Grib_ResetThread(void* threadArg) void* Grib_HubThread(void* threadArg) { - int i = 0; int iRes = GRIB_ERROR; int iDBG = gDebugThread; - int iTry = 0; - - OneM2M_ReqParam reqParam; - OneM2M_ResParam resParam; + int needRegi = FALSE; Grib_HubThreadInfo *pThreadInfo; char* deviceID = NULL; char* cmdConValue = NULL; - char* cmdFuncName = NULL; - int iTimeCheck = FALSE; - time_t sysTimer; - struct tm *sysTime; +#ifdef FEATURE_CAS + char pAuthKey[CAS_AUTH_KEY_SIZE] = {'\0', }; +#endif - if(gHubID == NULL) + OneM2M_ReqParam hubReqParam; + OneM2M_ResParam hubResParam; + + if( (gHubID==NULL) || (STRLEN(gHubID)<=1) ) { - GRIB_LOGD("# 0x%x HUB ID IS NULL", pthread_self()); + GRIB_LOGD("# %ld HUB ID IS NULL", pthread_self()); iRes = Grib_SetThreadConfig(); if(iRes != GRIB_DONE) @@ -520,61 +554,123 @@ void* Grib_HubThread(void* threadArg) } } - iRes = Grib_HubRegi(); + if(threadArg == NULL) + { + GRIB_LOGD("# %s: THREAD INFO IS NULL !!!\n", gHubID); + return NULL; + } + + //shbaek: Pre-Pare + pThreadInfo = (Grib_HubThreadInfo *)threadArg; + deviceID = gHubID; + + MEMSET(&hubReqParam, GRIB_INIT, sizeof(OneM2M_ReqParam)); + MEMSET(&hubResParam, GRIB_INIT, sizeof(OneM2M_ResParam)); + + STRNCPY(hubReqParam.xM2M_Origin, deviceID, STRLEN(deviceID)); + + +#ifdef FEATURE_CAS + iRes = Grib_CasGetAuthKey(deviceID, pAuthKey); if(iRes != GRIB_DONE) { - GRIB_LOGD("# %s: HUB TREE CREATE ERROR !!!\n", gHubID); + GRIB_LOGD("# %s: GET AUTH KEY ERROR !!!\n\n", deviceID); + return threadArg; } + //GRIB_LOGD("# %s: AUTH KEY: %s\n", deviceID, pAuthKey); +#endif - iRes = Grib_UpdateHubInfo(); +#ifdef FEATURE_CAS + hubReqParam.authKey = pAuthKey; +#endif + + STRINIT(hubReqParam.xM2M_URI, sizeof(hubReqParam.xM2M_URI)); + SNPRINTF(hubReqParam.xM2M_URI, sizeof(hubReqParam.xM2M_URI), "%s/%s/%s", + hubReqParam.xM2M_Origin, ONEM2M_URI_CONTENT_HUB, ONEM2M_URI_CONTENT_STATUS); + iRes = Grib_ContainerRetrieve(&hubReqParam, &hubResParam); if(iRes != GRIB_DONE) { - GRIB_LOGD("# %s: HUB INFO UPDATE ERROR !!!\n", gHubID); + if(hubResParam.http_ResNum == HTTP_STATUS_CODE_NOT_FOUND) + {//shbaek: Need Create Tree ... + needRegi = TRUE; + } } - if(threadArg == NULL) + STRINIT(hubReqParam.xM2M_URI, sizeof(hubReqParam.xM2M_URI)); + SNPRINTF(hubReqParam.xM2M_URI, sizeof(hubReqParam.xM2M_URI), "%s/%s/%s", + hubReqParam.xM2M_Origin, ONEM2M_URI_CONTENT_DEVICE, ONEM2M_URI_CONTENT_STATUS); + iRes = Grib_ContainerRetrieve(&hubReqParam, &hubResParam); + if(iRes != GRIB_DONE) { - GRIB_LOGD("# %s: THREAD INFO IS NULL", gHubID); - return NULL; + if(hubResParam.http_ResNum == HTTP_STATUS_CODE_NOT_FOUND) + {//shbaek: Need Create Tree ... + needRegi = TRUE; + } } - //shbaek: Pre-Pare - pThreadInfo = (Grib_HubThreadInfo *)threadArg; - deviceID = gHubID; + GRIB_LOGD("# %s: NEED CREATE TREE: %s\n", deviceID, GRIB_BOOL_TO_STR(needRegi)); - MEMSET(&reqParam, GRIB_INIT, sizeof(OneM2M_ReqParam)); - MEMSET(&reqParam, GRIB_INIT, sizeof(OneM2M_ResParam)); + if(needRegi == TRUE) + { +#ifdef FEATURE_CAS + iRes = Grib_HubRegi(pAuthKey); +#else + iRes = Grib_HubRegi(); +#endif + if(iRes != GRIB_DONE) + { + GRIB_LOGD("# %s: HUB TREE CREATE ERROR !!!\n", deviceID); + } + } +#ifdef FEATURE_CAS + iRes = Grib_UpdateHubInfo(pAuthKey); +#else + iRes = Grib_UpdateHubInfo(); +#endif + if(iRes != GRIB_DONE) + { + GRIB_LOGD("# %s: HUB INFO UPDATE ERROR !!!\n", deviceID); + } - STRINIT(reqParam.xM2M_Origin, sizeof(reqParam.xM2M_Origin)); - STRNCPY(reqParam.xM2M_Origin, deviceID, STRLEN(deviceID)); +#ifdef FEATURE_CAS + iRes = Grib_UpdateDeviceInfo(gDbAll, pAuthKey); +#else + iRes = Grib_UpdateDeviceInfo(gDbAll); +#endif + if(iRes != GRIB_DONE) + { + GRIB_LOGD("# %s: DEVICE INFO UPDATE ERROR !!!\n", deviceID); + } + + STRINIT(hubReqParam.xM2M_URI, sizeof(hubReqParam.xM2M_URI)); while(TRUE) { GRIB_LOGD("# %s: POLLING START\n", deviceID); - iRes = Grib_LongPolling(&reqParam, &resParam); + iRes = Grib_LongPolling(&hubReqParam, &hubResParam); if(iRes != GRIB_DONE) { - if(resParam.http_ResNum == HTTP_STATUS_CODE_REQUEST_TIME_OUT) + if(hubResParam.http_ResNum == HTTP_STATUS_CODE_REQUEST_TIME_OUT) { GRIB_LOGD("# %s: POLLING TIME OUT\n", deviceID); } else { - GRIB_LOGD("# %s: POLLING ERROR MSG: %s[%d]\n", deviceID, resParam.http_ResMsg, resParam.http_ResNum); + GRIB_LOGD("# %s: POLLING ERROR MSG: %s[%d]\n", deviceID, hubResParam.http_ResMsg, hubResParam.http_ResNum); SLEEP(1); } continue; } - cmdConValue = resParam.xM2M_Content; - GRIB_LOGD("# %s: COMMAND: %s\n", deviceID, cmdConValue); + cmdConValue = hubResParam.xM2M_Content; + if(iDBG)GRIB_LOGD("# %s: COMMAND: %s\n", deviceID, cmdConValue); if(STRCASECMP(cmdConValue, "reboot") == 0) { char pBuff[GRIB_MAX_SIZE_BRIEF] = {'\0', }; - char* REBOOT_COMMAND = "sudo reboot"; + const char* REBOOT_COMMAND = "sudo reboot"; GRIB_LOGD("# %s: RESET TIME !!!\n", deviceID); SLEEP(10); @@ -594,50 +690,12 @@ int Grib_ThreadStart(void) { int i = 0; int iRes = GRIB_ERROR; - int iDeviceCount = 0; - int iDeviceMaxCount = 0; + int DEVICE_MAX_COUNT = 0; - int iFuncCount = 0; - int iCheckCount = 0; - - Grib_DbRowDeviceInfo* pRowDeviceInfo; - Grib_DbRowDeviceFunc* pRowDeviceFunc; + Grib_DbRowDeviceInfo* pRowDeviceInfo = NULL; const char* FUNC_TAG = "# THREAD-START:"; - //shbaek: Config - iRes = Grib_SetThreadConfig(); - if(iRes != GRIB_DONE) - { - GRIB_LOGD("%s SERVER CONFIG ERROR\n", FUNC_TAG); - goto FINAL; - } - iRes = Grib_SetServerConfig(); - if(iRes != GRIB_DONE) - { - GRIB_LOGD("%s SERVER CONFIG ERROR\n", FUNC_TAG); - goto FINAL; - } - iRes = Grib_BleConfig(); - if(iRes != GRIB_DONE) - { - GRIB_LOGD("%s BLE CONFIG ERROR\n", FUNC_TAG); - goto FINAL; - } - - //shbaek: Init - iRes = Grib_BleDetourInit(); - if(iRes != GRIB_DONE) - { - GRIB_LOGD("%s BLE INIT FAIL\n", FUNC_TAG); - } - - iRes = Grib_BleCleanAll(); - if(iRes != GRIB_DONE) - { - GRIB_LOGD("%s BLE PIPE CLEAN FAIL\n", FUNC_TAG); - } - //shbaek: Pre-Pare iRes = Grib_DbCreate(); if(iRes != GRIB_DONE) @@ -646,7 +704,6 @@ int Grib_ThreadStart(void) Grib_DbClose(); } - gDbAll = (Grib_DbAll *)MALLOC(sizeof(Grib_DbAll)); MEMSET(gDbAll, GRIB_INIT, sizeof(Grib_DbAll)); @@ -657,49 +714,76 @@ int Grib_ThreadStart(void) goto FINAL; } - iDeviceMaxCount = gDbAll->deviceCount; - GRIB_LOGD("%s DEVICE ALL COUNT: %d\n", FUNC_TAG, iDeviceMaxCount); + DEVICE_MAX_COUNT = gDbAll->deviceCount; + GRIB_LOGD("%s DEVICE ALL COUNT: %d\n", FUNC_TAG, DEVICE_MAX_COUNT); - if(iDeviceMaxCount == 0) + if(DEVICE_MAX_COUNT == 0) { GRIB_LOGD("# ########## ########## ########## ##########\n"); GRIB_LOGD("%s NO REGISTERED DEVICES\n", FUNC_TAG); GRIB_LOGD("%s REGISTE YOUR DEVICE ... \n", FUNC_TAG); GRIB_LOGD("# ########## ########## ########## ##########\n"); - goto FINAL; - } - else - { - Grib_UpdateDeviceInfo(gDbAll); +// goto FINAL; } GRIB_LOGD("%s DEVICE INFO SETTING\n", FUNC_TAG); - gDevThreadList = (Grib_DeviceThreadInfo**)MALLOC(sizeof(Grib_DeviceThreadInfo*)*iDeviceMaxCount); - for(iDeviceCount=0; iDeviceCountpRowDeviceInfo = gDbAll->ppRowDeviceInfo[iDeviceCount]; + pRowDeviceInfo = gDevThreadList[i]->pRowDeviceInfo = gDbAll->ppRowDeviceInfo[i]; + + GRIB_LOGD("%s DEVICE[%d/%d] ID:%s ADDR:%s\n", FUNC_TAG, i, DEVICE_MAX_COUNT-1, + gDevThreadList[i]->pRowDeviceInfo->deviceID, gDevThreadList[i]->pRowDeviceInfo->deviceAddr); + +#ifdef FEATURE_CAS + iRes = Grib_CasGetAuthKey(gDevThreadList[i]->pRowDeviceInfo->deviceID, gDevThreadList[i]->authKey); + if(iRes != GRIB_DONE) + { + GRIB_LOGD("%s DEVICE[%d/%d] ID:%s GET AUTH KEY ERROR !!!\n", FUNC_TAG, i, DEVICE_MAX_COUNT-1, + gDevThreadList[i]->pRowDeviceInfo->deviceID); + } + else + { + GRIB_LOGD("%s DEVICE[%d/%d] ID:%s AUTH:%s\n", FUNC_TAG, i, DEVICE_MAX_COUNT-1, + gDevThreadList[i]->pRowDeviceInfo->deviceID, gDevThreadList[i]->authKey); + } + GRIB_LOGD("\n"); +#endif - GRIB_LOGD("%s DEVICE[%d/%d] ID:%s ADDR:%s\n", - FUNC_TAG, - iDeviceCount, iDeviceMaxCount, - gDevThreadList[iDeviceCount]->pRowDeviceInfo->deviceID, - gDevThreadList[iDeviceCount]->pRowDeviceInfo->deviceAddr); } GRIB_LOGD("%s ATTR/COND/MUTEX INIT\n", FUNC_TAG); //shbaek: Init - for(i=0; ithreadAttr); pthread_cond_init(&gDevThreadList[i]->threadCond, GRIB_NOT_USED); pthread_mutex_init(&gDevThreadList[i]->threadMutex, GRIB_NOT_USED); } + //3 shbaek: Hub Thread Init & Create + gHubThread = (Grib_HubThreadInfo*)MALLOC(sizeof(Grib_HubThreadInfo)); + MEMSET(gHubThread, 0x00, sizeof(Grib_HubThreadInfo)); + + pthread_attr_init(&gHubThread->threadAttr); + pthread_cond_init(&gHubThread->threadCond, GRIB_NOT_USED); + pthread_mutex_init(&gHubThread->threadMutex, GRIB_NOT_USED); + pthread_create(&gHubThread->threadID, &gHubThread->threadAttr, Grib_HubThread, (void *)gHubThread); + + //3 shbaek: Reset Thread Init & Create + gResetThread = (Grib_HubThreadInfo*)MALLOC(sizeof(Grib_HubThreadInfo)); + MEMSET(gResetThread, 0x00, sizeof(Grib_HubThreadInfo)); + + pthread_attr_init(&gResetThread->threadAttr); + pthread_cond_init(&gResetThread->threadCond, GRIB_NOT_USED); + pthread_mutex_init(&gResetThread->threadMutex, GRIB_NOT_USED); + pthread_create(&gResetThread->threadID, &gResetThread->threadAttr, Grib_ResetThread, (void *)gResetThread); + //shbaek: Create - for(i=0; ipRowDeviceInfo->deviceID; @@ -709,9 +793,7 @@ int Grib_ThreadStart(void) if(FUNC_ATTR_CHECK_CONTROL(iAttr)==TRUE) { GRIB_LOGD("%s %s CONTROL THREAD CREATE\n", FUNC_TAG, strDeviceID); -#if (TEST_SKIP_USE_ONEM2M == OFF) pthread_create(&gDevThreadList[i]->controlThreadID, NULL, Grib_ContorolThread, (void *)gDevThreadList[i]); -#endif SLEEP(1); } else @@ -731,28 +813,10 @@ int Grib_ThreadStart(void) } } - - //3 shbaek: Hub Thread Init & Create - gHubThread = (Grib_HubThreadInfo*)MALLOC(sizeof(Grib_HubThreadInfo)); - MEMSET(gHubThread, 0x00, sizeof(Grib_HubThreadInfo)); - - pthread_attr_init(&gHubThread->threadAttr); - pthread_cond_init(&gHubThread->threadCond, GRIB_NOT_USED); - pthread_mutex_init(&gHubThread->threadMutex, GRIB_NOT_USED); - pthread_create(&gHubThread->threadID, &gHubThread->threadAttr, Grib_HubThread, (void *)gHubThread); - - //3 shbaek: Reset Thread Init & Create - gResetThread = (Grib_HubThreadInfo*)MALLOC(sizeof(Grib_HubThreadInfo)); - MEMSET(gResetThread, 0x00, sizeof(Grib_HubThreadInfo)); - - pthread_attr_init(&gResetThread->threadAttr); - pthread_cond_init(&gResetThread->threadCond, GRIB_NOT_USED); - pthread_mutex_init(&gResetThread->threadMutex, GRIB_NOT_USED); - pthread_create(&gResetThread->threadID, &gResetThread->threadAttr, Grib_ResetThread, (void *)gResetThread); GRIB_LOGD("%s THREAD WAIT\n", FUNC_TAG); //shbaek: Wait - for(i=0; ipRowDeviceInfo->deviceID; @@ -788,7 +852,7 @@ int Grib_ThreadStart(void) GRIB_LOGD("%s THREAD FINAL\n", FUNC_TAG); if(gDevThreadList != NULL) { - for(i=0; ithreadMutex); FREE(gDevThreadList[i]); @@ -799,9 +863,9 @@ int Grib_ThreadStart(void) if(gDbAll != NULL) { - for(i=0; ippRowDeviceInfo[iDeviceCount]; + pRowDeviceInfo = gDbAll->ppRowDeviceInfo[i]; Grib_DbFreeRowFunc(pRowDeviceInfo->ppRowDeviceFunc, pRowDeviceInfo->deviceFuncCount); if(pRowDeviceInfo!=NULL)FREE(pRowDeviceInfo); } diff --git a/GRIB_BLE_HUB/grib_util.cpp b/GRIB_BLE_HUB/grib_util.cpp index dc9bedf..4e65d7a 100644 --- a/GRIB_BLE_HUB/grib_util.cpp +++ b/GRIB_BLE_HUB/grib_util.cpp @@ -2,22 +2,28 @@ shbaek: Include File ********** ********** ********** ********** ********** ********** ********** ********** ********** ********** */ -#include "include/grib_util.h" +#include "grib_util.h" /* ********** ********** ********** ********** ********** ********** ********** ********** ********** ********** shbaek: Global Variable ********** ********** ********** ********** ********** ********** ********** ********** ********** ********** */ +Grib_ConfigInfo gConfigInfo; + +const char BASE64TABLE[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="; + +/* ********** ********** ********** ********** ********** ********** ********** ********** ********** ********** +shbaek: Function +********** ********** ********** ********** ********** ********** ********** ********** ********** ********** */ char* Grib_Split(char* strSrc, char searchChar, int searchCount) { - int i=0; - int iCount = 0; + unsigned int iCount = 0; - int iTmpCount = 0; - int iSrcCount = 0; - int iMaxCount = 0; - - char tmpChar = NULL; - char static sTmpBuff[SIZE_1K]; + unsigned int iTmpCount = 0; + unsigned int iSrcCount = 0; + unsigned int iMaxCount = 0; + + char tmpChar = '\0'; + char static sTmpBuff[SIZE_1M]; STRINIT(sTmpBuff, sizeof(sTmpBuff)); @@ -29,6 +35,8 @@ char* Grib_Split(char* strSrc, char searchChar, int searchCount) do { + if(iMaxCount < iSrcCount)break; + tmpChar = strSrc[iSrcCount]; iSrcCount++; @@ -38,20 +46,19 @@ char* Grib_Split(char* strSrc, char searchChar, int searchCount) if(tmpChar == searchChar) { - if(iCount == searchCount)break; + if(iCount == (unsigned int)searchCount)break; iCount++; iTmpCount = 0; } - }while(tmpChar != NULL); + }while(tmpChar != '\0'); - sTmpBuff[iTmpCount-1] = NULL; + sTmpBuff[iTmpCount-1] = '\0'; return sTmpBuff; } int Grib_CountChar(char* strSrc, char c) { - int i=0; int iCount = 0; char temp = '\0'; @@ -72,6 +79,241 @@ int Grib_CountChar(char* strSrc, char c) return iCount; } +int Grib_isHexString(char* strNum, int checkSize) +{ + int i = 0; + int isHex = FALSE; + + if( (strNum==NULL) || (checkSize==0) ) + { + return FALSE; + } + + for(i=0; i> 2) & BIT_MASK_6; + encBuff[i] = BASE64TABLE[unit]; + i++; + + //shbaek: 2nd Unit Encode + unit = ((pSrc[0] & BIT_MASK_2) << 4) + ((pSrc[1] >> 4) & BIT_MASK_4); + encBuff[i] = BASE64TABLE[unit]; + i++; + + //shbaek: 3rd Unit Encode + unit = ((pSrc[1] & BIT_MASK_4) << 2) + ((pSrc[2] >> 6) & BIT_MASK_2); + encBuff[i] = BASE64TABLE[unit]; + i++; + + //shbaek: 4th Unit Encode + unit = (pSrc[2] & BIT_MASK_6); + encBuff[i] = BASE64TABLE[unit]; + i++; + + encSize += BASE64_ENC_SRC_BYTE; + } + + if( (srcSize%BASE64_ENC_SRC_BYTE) == 2 ) + { + pSrc = srcBuff + encSize; + unit = '\0'; + + //shbaek: 1st Unit Encode + unit = (pSrc[0] >> 2) & BIT_MASK_6; + encBuff[i] = BASE64TABLE[unit]; + i++; + + //shbaek: 2nd Unit Encode + unit = ((pSrc[0] & BIT_MASK_2) << 4) + ((pSrc[1] >> 4) & BIT_MASK_4); + encBuff[i] = BASE64TABLE[unit]; + i++; + + //shbaek: 3rd Unit Partial Encode + unit = ((pSrc[1] & BIT_MASK_4) << 2); + encBuff[i] = BASE64TABLE[unit]; + i++; + + //shbaek: 4th Unit Pad + encBuff[i] = BASE64_PAD; + i++; + } + + if( (srcSize%BASE64_ENC_SRC_BYTE) == 1 ) + { + pSrc = srcBuff + encSize; + unit = '\0'; + + //shbaek: 1st Unit Encode + unit = (pSrc[0] >> 2) & BIT_MASK_6; + encBuff[i] = BASE64TABLE[unit]; + i++; + + //shbaek: 2nd Unit Partial Encode + unit = ((pSrc[0] & BIT_MASK_2) << 4); + encBuff[i] = BASE64TABLE[unit]; + i++; + + //shbaek: 4th Unit Pad + encBuff[i] = BASE64_PAD; + i++; + + //shbaek: 4th Unit Pad + encBuff[i] = BASE64_PAD; + i++; + } + + encBuff[i] = '\0'; + + return GRIB_DONE; + +} + +int Grib_Base64Decode(char* srcBuff, char* decBuff, int opt) +{ + int i = 0; + int iRes = GRIB_ERROR; + int srcSize = 0; + int decSize = 0; + + int unit1 = 0; + int unit2 = 0; + int unit3 = 0; + int unit4 = 0; + + char* pSrc = NULL; + + if( (srcBuff==NULL) || (decBuff==NULL) ) + { + GRIB_LOGD("# BASE64 DEC: PARAM NULL ERROR !!!\n"); + return GRIB_ERROR; + } + + srcSize = STRLEN(srcBuff); + if(srcSize % BASE64_DEC_SRC_BYTE != 0) + {//shbaek: In-Valid Base64 Data Size + GRIB_LOGD("# BASE64 DEC: INVALID SOURCE SIZE !!!\n"); + return GRIB_ERROR; + } + + while( BASE64_DEC_SRC_BYTE <= (srcSize-decSize) ) + { + pSrc = srcBuff + decSize; + + unit1 = Grib_GetBase64Value(pSrc[0]); + unit2 = Grib_GetBase64Value(pSrc[1]); + unit3 = Grib_GetBase64Value(pSrc[2]); + unit4 = Grib_GetBase64Value(pSrc[3]); + + //shbaek: 1st Data Decode + decBuff[i] = (unit1 << 2) + (unit2 >> 4); + i++; + + //shbaek: 2nd Data Decode + decBuff[i] = (unit2 << 4) + (unit3 >> 2); + i++; + + //shbaek: 3rd Data Decode + decBuff[i] = (unit3 << 6) + unit4; + i++; + + decSize += BASE64_DEC_SRC_BYTE; + } + + decBuff[i] = '\0'; + + return GRIB_DONE; +} + + int skipSpace(char **str2Buff) { int iCount = 0; @@ -150,7 +392,7 @@ void mSleep(long long mSec) return; } -int systemCommand(char *pCommand, char *pLineBuffer, int iBufferSize) +int systemCommand(const char *pCommand, char *pLineBuffer, int iBufferSize) { FILE* fp = NULL; size_t readSize = 0; @@ -173,7 +415,7 @@ int systemCommand(char *pCommand, char *pLineBuffer, int iBufferSize) } pclose(fp); - pLineBuffer[readSize] = NULL; + pLineBuffer[readSize] = '\0'; return GRIB_DONE; } @@ -206,7 +448,7 @@ int Grib_GetIPAddr(char* pBuff) struct ifaddrs *ifp = NULL; struct ifaddrs *ifa = NULL; - char strIP[MAX_SIZE_IP_STR]; + char strIP[MAX_SIZE_IP_STR] = {'\0', }; const char* STR_LOCAL_HOST_IP = "127.0.0.1"; iRes = getifaddrs(&ifp); @@ -235,14 +477,12 @@ int Grib_GetIPAddr(char* pBuff) STRNCPY(pBuff, strIP, STRLEN(strIP)); } - return GRIB_DONE; } char* Grib_TrimAll(char *pSource) { - int i = 0; int iDBG = FALSE; int INDEX_TRIM = 0; int INDEX_SOURCE= 0; @@ -283,18 +523,133 @@ char* Grib_TrimAll(char *pSource) return pTrim; } +int Grib_WriteTextFile(char* filePath, char* pBuff, char* opt) +{ + int i = 0; + int iReadCount = 0; + int iTotalCount = 0; + int iCopyCount = 0; + + FILE *pFile = NULL; + char pLineBuff[SIZE_1K] = {'\0', }; + + if( (STRLEN(filePath)<=0) || (pBuff==NULL) ) + { + GRIB_LOGD("# INVALID PARAM\n"); + return GRIB_ERROR; + } + + if(opt == GRIB_NOT_USED) + { + opt = "w"; + } + + pFile = fopen(filePath, opt); + if(pFile == NULL) + { + GRIB_LOGD("# OPEN FILE FAIL: %s[%d]\n", LINUX_ERROR_STR, LINUX_ERROR_NUM); + return GRIB_ERROR; + } + + while(pBuff[i] != '\0') + { + if(fputc(pBuff[i], pFile) == EOF) + { + GRIB_LOGD("# WRITE COUNT: %d, CHAR: %c\n", i, pBuff[i]); + GRIB_LOGD("# WRITE FILE FAIL: %s[%d]\n", LINUX_ERROR_STR, LINUX_ERROR_NUM); + return GRIB_ERROR; + } + i++; + } + fclose(pFile); + + GRIB_LOGD("# WRITE TOTAL COUNT: %d\n", i); + + return GRIB_DONE; +} + +int Grib_ReadTextFile(char* filePath, char* pBuff, int opt) +{ + int iReadCount = 0; + int iTotalCount = 0; + int iCopyCount = 0; + + FILE *pFile = NULL; + char pLineBuff[SIZE_1K] = {'\0', }; + + if( (STRLEN(filePath)<=0) || (pBuff==NULL) ) + { + GRIB_LOGD("# INVALID PARAM\n"); + return GRIB_ERROR; + } + + pFile = fopen(filePath, "r"); + if(pFile == NULL) + { + GRIB_LOGD("# OPEN FILE FAIL: %s[%d]\n", LINUX_ERROR_STR, LINUX_ERROR_NUM); + return GRIB_ERROR; + } + + while(!feof(pFile)) + { + STRINIT(pLineBuff, sizeof(pLineBuff)); + + if( fgets(pLineBuff, sizeof(pLineBuff)-1, pFile) == NULL ) + { + continue; + } + iCopyCount = STRLEN(pLineBuff); + + if(opt == READ_OPT_IGNORE_LF)iCopyCount -= 1;//shbaek: for LF + + MEMCPY(pBuff+iTotalCount, pLineBuff, iCopyCount); + iTotalCount += iCopyCount; + } + + fclose(pFile); + + return GRIB_DONE; +} +Grib_ConfigInfo* Grib_GetConfigInfo(void) +{ + int iRes = GRIB_ERROR; + int LOOP = 10; + + if(gConfigInfo.isLoad) + { + return &gConfigInfo; + } + +LOAD_CONFIG: + LOOP--; + iRes = Grib_LoadConfig(&gConfigInfo); + if(iRes != GRIB_DONE) + { + SLEEP(1); + if(0platformServerIP, pValue, STRLEN(pValue)); continue; } - + if(STRNCMP(pTrim, GRIB_CONFIG_PLATFORM_SERVER_PORT, STRLEN(GRIB_CONFIG_PLATFORM_SERVER_PORT)) == 0) { pTemp = STRSTR(pTrim, GRIB_CONFIG_SEPARATOR); @@ -370,7 +726,72 @@ int Grib_LoadConfig(Grib_ConfigInfo* pConfigInfo) pConfigInfo->platformServerPort = ATOI(pValue); continue; } + + //shbaek: Authentication + if(STRNCMP(pTrim, GRIB_CONFIG_AUTH_SERVER_IP, STRLEN(GRIB_CONFIG_AUTH_SERVER_IP)) == 0) + { + pTemp = STRSTR(pTrim, GRIB_CONFIG_SEPARATOR); + if(pTemp == NULL) + { + GRIB_LOGD("# THIS LINE NOT \":\" EXIST\n"); + iRes = GRIB_ERROR; + continue; + } + pValue = &pTemp[1]; + + STRINIT(pConfigInfo->authServerIP, sizeof(pConfigInfo->authServerIP)); + STRNCPY(pConfigInfo->authServerIP, pValue, STRLEN(pValue)); + continue; + } + + if(STRNCMP(pTrim, GRIB_CONFIG_AUTH_SERVER_PORT, STRLEN(GRIB_CONFIG_AUTH_SERVER_PORT)) == 0) + { + pTemp = STRSTR(pTrim, GRIB_CONFIG_SEPARATOR); + if(pTemp == NULL) + { + GRIB_LOGD("# THIS LINE NOT \":\" EXIST\n"); + iRes = GRIB_ERROR; + continue; + } + pValue = &pTemp[1]; + + pConfigInfo->authServerPort = ATOI(pValue); + continue; + } + + //shbaek: Semantic Descriptor + if(STRNCMP(pTrim, GRIB_CONFIG_SDA_SERVER_IP, STRLEN(GRIB_CONFIG_SDA_SERVER_IP)) == 0) + { + pTemp = STRSTR(pTrim, GRIB_CONFIG_SEPARATOR); + if(pTemp == NULL) + { + GRIB_LOGD("# THIS LINE NOT \":\" EXIST\n"); + iRes = GRIB_ERROR; + continue; + } + pValue = &pTemp[1]; + + STRINIT(pConfigInfo->sdaServerIP, sizeof(pConfigInfo->sdaServerIP)); + STRNCPY(pConfigInfo->sdaServerIP, pValue, STRLEN(pValue)); + continue; + } + if(STRNCMP(pTrim, GRIB_CONFIG_SDA_SERVER_PORT, STRLEN(GRIB_CONFIG_SDA_SERVER_PORT)) == 0) + { + pTemp = STRSTR(pTrim, GRIB_CONFIG_SEPARATOR); + if(pTemp == NULL) + { + GRIB_LOGD("# THIS LINE NOT \":\" EXIST\n"); + iRes = GRIB_ERROR; + continue; + } + pValue = &pTemp[1]; + + pConfigInfo->sdaServerPort = ATOI(pValue); + continue; + } + + //shbaek: MySQL if(STRNCMP(pTrim, GRIB_CONFIG_MYSQL_DB_HOST, STRLEN(GRIB_CONFIG_MYSQL_DB_HOST)) == 0) { pTemp = STRSTR(pTrim, GRIB_CONFIG_SEPARATOR); @@ -433,7 +854,46 @@ int Grib_LoadConfig(Grib_ConfigInfo* pConfigInfo) STRNCPY(pConfigInfo->iotDbPswd, pValue, STRLEN(pValue)); continue; } + + //shbaek: Reset + if(STRNCMP(pTrim, GRIB_CONFIG_RESET_TIMER_USE, STRLEN(GRIB_CONFIG_RESET_TIMER_USE)) == 0) + { + pTemp = STRSTR(pTrim, GRIB_CONFIG_SEPARATOR); + if(pTemp == NULL) + { + GRIB_LOGD("# THIS LINE NOT \":\" EXIST\n"); + iRes = GRIB_ERROR; + continue; + } + pValue = &pTemp[1]; + + if( STRNCASECMP(pValue, GRIB_BOOL_TO_STR(TRUE), STRLEN(GRIB_BOOL_TO_STR(TRUE))) == 0) + { + pConfigInfo->resetTimerSwitch = TRUE; + } + else + { + pConfigInfo->resetTimerSwitch = FALSE; + } + continue; + } + if(STRNCMP(pTrim, GRIB_CONFIG_RESET_TIME_HOUR, STRLEN(GRIB_CONFIG_RESET_TIME_HOUR)) == 0) + { + pTemp = STRSTR(pTrim, GRIB_CONFIG_SEPARATOR); + if(pTemp == NULL) + { + GRIB_LOGD("# THIS LINE NOT \":\" EXIST\n"); + iRes = GRIB_ERROR; + continue; + } + pValue = &pTemp[1]; + + pConfigInfo->resetTimeHour = ATOI(pValue); + continue; + } + + //shbaek: ETC if(STRNCMP(pTrim, GRIB_CONFIG_DEBUG_ONEM2M, STRLEN(GRIB_CONFIG_DEBUG_ONEM2M)) == 0) { pTemp = STRSTR(pTrim, GRIB_CONFIG_SEPARATOR); @@ -449,6 +909,11 @@ int Grib_LoadConfig(Grib_ConfigInfo* pConfigInfo) { pConfigInfo->debugOneM2M = TRUE; } + else + { + pConfigInfo->debugOneM2M = FALSE; + } + continue; } @@ -467,6 +932,10 @@ int Grib_LoadConfig(Grib_ConfigInfo* pConfigInfo) { pConfigInfo->debugBLE = TRUE; } + else + { + pConfigInfo->debugBLE = FALSE; + } continue; } @@ -485,10 +954,15 @@ int Grib_LoadConfig(Grib_ConfigInfo* pConfigInfo) { pConfigInfo->debugThread = TRUE; } + else + { + pConfigInfo->debugThread = FALSE; + } + continue; } - if(STRNCMP(pTrim, GRIB_CONFIG_BLE_TOMBSTONE, STRLEN(GRIB_CONFIG_BLE_TOMBSTONE)) == 0) + if(STRNCMP(pTrim, GRIB_CONFIG_TOMBSTONE_BLE, STRLEN(GRIB_CONFIG_TOMBSTONE_BLE)) == 0) { pTemp = STRSTR(pTrim, GRIB_CONFIG_SEPARATOR); if(pTemp == NULL) @@ -501,8 +975,36 @@ int Grib_LoadConfig(Grib_ConfigInfo* pConfigInfo) if( STRNCASECMP(pValue, GRIB_BOOL_TO_STR(TRUE), STRLEN(GRIB_BOOL_TO_STR(TRUE))) == 0) { - pConfigInfo->bleTombStone = TRUE; + pConfigInfo->tombStoneBLE = TRUE; } + else + { + pConfigInfo->tombStoneBLE = FALSE; + } + + continue; + } + + if(STRNCMP(pTrim, GRIB_CONFIG_TOMBSTONE_HTTP, STRLEN(GRIB_CONFIG_TOMBSTONE_HTTP)) == 0) + { + pTemp = STRSTR(pTrim, GRIB_CONFIG_SEPARATOR); + if(pTemp == NULL) + { + GRIB_LOGD("# THIS LINE NOT \":\" EXIST\n"); + iRes = GRIB_ERROR; + continue; + } + pValue = &pTemp[1]; + + if( STRNCASECMP(pValue, GRIB_BOOL_TO_STR(TRUE), STRLEN(GRIB_BOOL_TO_STR(TRUE))) == 0) + { + pConfigInfo->tombStoneHTTP = TRUE; + } + else + { + pConfigInfo->tombStoneHTTP = FALSE; + } + continue; } @@ -520,14 +1022,16 @@ int Grib_LoadConfig(Grib_ConfigInfo* pConfigInfo) GRIB_LOGD("# MYSQL_DB_PORT : [%d]\n", pConfigInfo->iotDbPort); GRIB_LOGD("# MYSQL_DB_USER : [%s]\n", pConfigInfo->iotDbUser); GRIB_LOGD("# MYSQL_DB_PASSWORD : [%s]\n", pConfigInfo->iotDbPswd); + GRIB_LOGD("# RESET_TIMER_USE : [%d]\n", pConfigInfo->resetTimerSwitch); + GRIB_LOGD("# RESET_TIME_HOUR : [%d]\n", pConfigInfo->resetTimeHour); GRIB_LOGD("# GRIB_DEBUG_ONEM2M : [%d]\n", pConfigInfo->debugOneM2M); GRIB_LOGD("# GRIB_DEBUG_BLE : [%d]\n", pConfigInfo->debugBLE); GRIB_LOGD("# GRIB_DEBUG_THREAD : [%d]\n", pConfigInfo->debugThread); - GRIB_LOGD("# GRIB_BLE_TOMBSTONE : [%d]\n", pConfigInfo->bleTombStone); + GRIB_LOGD("# GRIB_TOMBSTONE_BLE : [%d]\n", pConfigInfo->tombStoneBLE); + GRIB_LOGD("# GRIB_TOMBSTONE_HTTP : [%d]\n", pConfigInfo->tombStoneHTTP); GRIB_LOGD("\n"); } -FINAL: if(iDBG)GRIB_LOGD("# LOAD CONFIG FINAL\n"); if(pTrim != NULL) @@ -540,9 +1044,11 @@ int Grib_LoadConfig(Grib_ConfigInfo* pConfigInfo) fclose(pConfigFile); pConfigFile = NULL; } - + if(iDBG)GRIB_LOGD("# LOAD CONFIG FILE DONE\n"); + pConfigInfo->isLoad = TRUE; + return iRes; } @@ -587,6 +1093,11 @@ const char* Grib_BleErrorToStr(Grib_BleErrorCode iType) switch(iType) { case BLE_ERROR_CODE_NONE: return "BLE_ERROR_CODE_NONE"; + case BLE_ERROR_CODE_GENERIC: return "BLE_ERROR_CODE_GENERIC"; + case BLE_ERROR_CODE_INVALID_COMMAND: return "BLE_ERROR_CODE_INVALID_COMMAND"; + case BLE_ERROR_CODE_SENSOR: return "BLE_ERROR_CODE_SENSOR"; + case BLE_ERROR_CODE_BLE: return "BLE_ERROR_CODE_BLE"; + case BLE_ERROR_CODE_NOT_YET_IMPLEMENT: return "BLE_ERROR_CODE_NOT_YET_IMPLEMENT"; case BLE_ERROR_CODE_BASE: return "BLE_ERROR_CODE_BASE"; case BLE_ERROR_CODE_INVALID_PARAM: return "BLE_ERROR_CODE_INVALID_PARAM"; case BLE_ERROR_CODE_CONNECT_FAIL: return "BLE_ERROR_CODE_CONNECT_FAIL"; @@ -599,3 +1110,55 @@ const char* Grib_BleErrorToStr(Grib_BleErrorCode iType) } } + +int Grib_RandNum(int iMin, int iRange) +{ + return ( iMin + (rand()%iRange) ); +} + +void Grib_PrintHex(const char* LABEL, char* pHexBuff, int iSize) +{ + int i = 0; + + GRIB_LOGD("# ##### ##### ##### ##### ##### ##### ##### #####\n"); + GRIB_LOGD("# %s[%d]:", LABEL, iSize); + + for(i=0; i + +#include "grib_define.h" +#include "grib_util.h" +//#include "grib_onem2m.h" + +#include "TrustNETCASCstk.h" +#include "TrustNETCASClient.h" + +/* ********** ********** ********** ********** ********** ********** ********** ********** ********** ********** */ +//shbaek: Define +/* ********** ********** ********** ********** ********** ********** ********** ********** ********** ********** */ +#define CAS_LIB_DIR_PATH "libs/cas_package" +#define CAS_FIX_AUTH_KEY_SIZE 16 //shbaek: From UNet +#define CAS_AUTH_KEY_SIZE 128 //shbaek: Just In Case ... + +#define CAS_SIGN_CERT_FILE_DIR "UNETsystem/TrustNETCAS/CertStorage/USER" +#define CAS_SIGN_CERT_FILE_NAME "signCert.pem" + +#define CAS_SIGN_CERT_BEGIN "-----BEGIN CERTIFICATE-----" +#define CAS_SIGN_CERT_END "-----END CERTIFICATE-----" + +/* ********** ********** ********** ********** ********** ********** ********** ********** ********** ********** */ +//shbaek: Function Prototype +/* ********** ********** ********** ********** ********** ********** ********** ********** ********** ********** */ +void Grib_CasTest(int argc, char **argv); + +int Grib_CasInit(char* hubID); +int Grib_CasFinal(void); + +int Grib_CasGetSignCert(char* pSignCert); +int Grib_CasGetAuthKey(char* devID, char* keyBuff); + +#endif diff --git a/GRIB_BLE_HUB/include/grib_define.h b/GRIB_BLE_HUB/include/grib_define.h index b0615c7..8d84360 100644 --- a/GRIB_BLE_HUB/include/grib_define.h +++ b/GRIB_BLE_HUB/include/grib_define.h @@ -22,7 +22,9 @@ shbaek: Include File /* ********** ********** ********** ********** ********** ********** ********** ********** ********** ********** shbaek: Define Basic Keyword ********** ********** ********** ********** ********** ********** ********** ********** ********** ********** */ -#define GRIB_HUB_VERSION "160830_CONNECT-TIME-OUT" +#define GRIB_HUB_VERSION "161205_ONE_M2M_v2.0" +#define GRIB_HUB "grib_hub" +#define GRIB_SCRIPT "grib.sh" #ifndef FALSE #define FALSE 0 @@ -94,6 +96,8 @@ shbaek: Define Constant #define GRIB_LN '\n' #define GRIB_CRLN "\r\n" +#define GRIB_FILE_PATH_LOG_ROOT "log" + #define GRIB_STR_OK "OK" #define GRIB_STR_ERROR "ERROR" @@ -139,7 +143,8 @@ shbaek: for Readability #endif #ifndef FREE -#define FREE(pMem) free((void *)pMem) +#define FREE(pMem) do{free((void *)pMem);\ + pMem=NULL;}while(FALSE) #endif #ifndef MEMCPY @@ -159,7 +164,7 @@ shbaek: for Readability #endif #ifndef STRLEN -#define STRLEN(strSrc) strlen((const char *)strSrc) +#define STRLEN(strSrc) (strSrc==NULL?0:strlen((const char *)strSrc)) #endif #ifndef STRDUP //shbaek: Return Allocated Another String Memory. @@ -241,6 +246,18 @@ shbaek: for Readability /* ********** ********** ********** ********** ********** ********** ********** ********** ********** ********** shbaek: Type Define ********** ********** ********** ********** ********** ********** ********** ********** ********** ********** */ +typedef enum +{//shbaek: Command Index + GRIB_CMD_NAME = 0, //shbaek: ./grib + GRIB_CMD_MAIN = 1, //shbaek: start, regi, debug, test, ... + GRIB_CMD_SUB = 2, + GRIB_CMD_ARG1 = 3, + GRIB_CMD_ARG2 = 4, + GRIB_CMD_ARG3 = 5, + GRIB_CMD_ARG4 = 5, + GRIB_CMD_MAX +}Grib_CmdIndex; + typedef enum { //shbaek: Provide Device's Interface Type @@ -248,11 +265,11 @@ typedef enum DEVICE_IF_TYPE_BLE = 1, DEVICE_IF_TYPE_ZIGBEE = 2, DEVICE_IF_TYPE_ZWAVE = 3, - DEVICE_IF_TYPE_EXTERNAL = 4, + DEVICE_IF_TYPE_INTERNAL = 4, //shbaek: No Have Semantic Descriptor + DEVICE_IF_TYPE_EXTERNAL = 5, DEVICE_IF_TYPE_MAX }Grib_DeviceIfType; - typedef enum { THREAD_STATUS_NONE = 0, @@ -264,18 +281,25 @@ typedef enum typedef enum { - BLE_ERROR_CODE_NONE = 0, - BLE_ERROR_CODE_BASE = 100, - BLE_ERROR_CODE_INVALID_PARAM = BLE_ERROR_CODE_BASE+1, - BLE_ERROR_CODE_CONNECT_FAIL = BLE_ERROR_CODE_BASE+2, - BLE_ERROR_CODE_SEND_FAIL = BLE_ERROR_CODE_BASE+3, - BLE_ERROR_CODE_RECV_FAIL = BLE_ERROR_CODE_BASE+4, - BLE_ERROR_CODE_INTERNAL = BLE_ERROR_CODE_BASE+5, - BLE_ERROR_CODE_INTERACTIVE = BLE_ERROR_CODE_BASE+6, - BLE_ERROR_CODE_CRITICAL = BLE_ERROR_CODE_BASE+99, + BLE_ERROR_CODE_NONE = 0, + BLE_ERROR_CODE_GENERIC = 1, + BLE_ERROR_CODE_INVALID_COMMAND = 2, + BLE_ERROR_CODE_SENSOR = 3, + BLE_ERROR_CODE_BLE = 4, + BLE_ERROR_CODE_NOT_YET_IMPLEMENT = 5, + + BLE_ERROR_CODE_BASE = 100, + BLE_ERROR_CODE_INVALID_PARAM = BLE_ERROR_CODE_BASE+1, + BLE_ERROR_CODE_CONNECT_FAIL = BLE_ERROR_CODE_BASE+2, + BLE_ERROR_CODE_SEND_FAIL = BLE_ERROR_CODE_BASE+3, + BLE_ERROR_CODE_RECV_FAIL = BLE_ERROR_CODE_BASE+4, + BLE_ERROR_CODE_INTERNAL = BLE_ERROR_CODE_BASE+5, + BLE_ERROR_CODE_INTERACTIVE = BLE_ERROR_CODE_BASE+6, + BLE_ERROR_CODE_CRITICAL = BLE_ERROR_CODE_BASE+99, BLE_ERROR_CODE_MAX }Grib_BleErrorCode; +typedef struct tm TimeInfo; /* ********** ********** ********** ********** ********** ********** ********** ********** ********** ********** shbaek: Feature ********** ********** ********** ********** ********** ********** ********** ********** ********** ********** */ diff --git a/GRIB_BLE_HUB/include/grib_hci.h b/GRIB_BLE_HUB/include/grib_hci.h new file mode 100644 index 0000000..e40f1a8 --- /dev/null +++ b/GRIB_BLE_HUB/include/grib_hci.h @@ -0,0 +1,63 @@ +#ifndef __GRIB_BLE_H__ +#define __GRIB_BLE_H__ + +/* ********** ********** ********** ********** ********** ********** ********** ********** ********** ********** +shbaek: Include File +********** ********** ********** ********** ********** ********** ********** ********** ********** ********** */ +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include + + +#include "grib_define.h" +//#include "grib_util.h" + +#include +#include +#include + + +/* ********** ********** ********** ********** ********** ********** ********** ********** ********** ********** */ +//shbaek: Define +/* ********** ********** ********** ********** ********** ********** ********** ********** ********** ********** */ +#define HCI_DEFAULT_SCAN_COUNT 100 +#define HCI_DEVICE_NAME_MAX_SIZE 128 + +/* ********** ********** ********** ********** ********** ********** ********** ********** ********** ********** */ +//shbaek: HCI TOOL DEPENDENCY +/* ********** ********** ********** ********** ********** ********** ********** ********** ********** ********** */ +#define FLAGS_AD_TYPE 0x01 +#define FLAGS_LIMITED_MODE_BIT 0x01 +#define FLAGS_GENERAL_MODE_BIT 0x02 + +#define EIR_FLAGS 0x01 /* flags */ +#define EIR_UUID16_SOME 0x02 /* 16-bit UUID, more available */ +#define EIR_UUID16_ALL 0x03 /* 16-bit UUID, all listed */ +#define EIR_UUID32_SOME 0x04 /* 32-bit UUID, more available */ +#define EIR_UUID32_ALL 0x05 /* 32-bit UUID, all listed */ +#define EIR_UUID128_SOME 0x06 /* 128-bit UUID, more available */ +#define EIR_UUID128_ALL 0x07 /* 128-bit UUID, all listed */ +#define EIR_NAME_SHORT 0x08 /* shortened local name */ +#define EIR_NAME_COMPLETE 0x09 /* complete local name */ +#define EIR_TX_POWER 0x0A /* transmit power level */ +#define EIR_DEVICE_ID 0x10 /* device ID */ + +/* ********** ********** ********** ********** ********** ********** ********** ********** ********** ********** +shbaek: Function Prototype +********** ********** ********** ********** ********** ********** ********** ********** ********** ********** */ + +#endif diff --git a/GRIB_BLE_HUB/include/grib_http.h b/GRIB_BLE_HUB/include/grib_http.h new file mode 100644 index 0000000..54287af --- /dev/null +++ b/GRIB_BLE_HUB/include/grib_http.h @@ -0,0 +1,152 @@ +#ifndef __GRIB_HTTP_H__ +#define __GRIB_HTTP_H__ + +/* ********** ********** ********** ********** ********** ********** ********** ********** ********** ********** +shbaek: Include File +********** ********** ********** ********** ********** ********** ********** ********** ********** ********** */ +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "grib_define.h" +#include "grib_util.h" + +/* ********** ********** ********** ********** ********** ********** ********** ********** ********** ********** +shbaek: Define Constant +********** ********** ********** ********** ********** ********** ********** ********** ********** ********** */ +#define HTTP_MAX_SIZE (SIZE_1K * 128) + +#define HTTP_MAX_SIZE_SEND_MSG HTTP_MAX_SIZE +#define HTTP_MAX_SIZE_RECV_MSG HTTP_MAX_SIZE + +#define HTTP_MAX_SIZE_HEAD (SIZE_1K * 8) //shbaek: Default 8KB. +#define HTTP_MAX_SIZE_BODY (HTTP_MAX_SIZE - HTTP_MAX_SIZE_HEAD) + +#define HTTP_MAX_SIZE_CHUNKED_HEX_STR 6 //shbaek: [Hex: ~4] [CR+LN] +#define HTTP_MAX_SIZE_IP_STR GRIB_MAX_SIZE_IP_STR + +#define HTTP_TIME_OUT_SEC_CONNECT 5 +#define HTTP_TIME_OUT_SEC_RECEIVE 100 //shbaek: Long Polling Time Out -> 90 Sec + +#define HTTP_VERSION_1P1 "HTTP/1.1" + +#define HTTP_METHOD_POST "POST" +#define HTTP_METHOD_GET "GET" +#define HTTP_METHOD_PUT "PUT" +#define HTTP_METHOD_DELETE "DELETE" + +#define HTTP_TRANS_ENCODE_CHUNK "Transfer-Encoding: chunked" + +#define HTTP_CONTENT_TYPE_TEXT "text/plain" +#define HTTP_CONTENT_TYPE_XML "application/xml" +#define HTTP_CONTENT_TYPE_JSON "application/json" +#define HTTP_CONTENT_TYPE_RDF_XML "application/rdf+xml" + +#define HTTP_CONTENT_TYPE_ONEM2M_RES_XML "application/vnd.onem2m-res+xml" +#define HTTP_CONTENT_TYPE_ONEM2M_RES_JSON "application/vnd.onem2m-res+json" + +#define HTTP_DEFAULT_SENDER "UN-KNOWN" +/* ********** ********** ********** ********** ********** ********** ********** ********** ********** ********** +shbaek: Define Type +********** ********** ********** ********** ********** ********** ********** ********** ********** ********** */ + +//shbaek: Too Many Type... Reffer To RFC 7231 +typedef enum +{ + HTTP_STATUS_CODE_UNKNOWN = -1, + + HTTP_STATUS_CODE_BASE_INFO = 100, + HTTP_STATUS_CODE_CONTINUE = 100, + HTTP_STATUS_CODE_SWITCHING_PROTOCOL = 101, + HTTP_STATUS_CODE_PROCESSING = 102, + + HTTP_STATUS_CODE_BASE_SUCCESS = 200, + HTTP_STATUS_CODE_OK = 200, + HTTP_STATUS_CODE_CREATED = 201, + HTTP_STATUS_CODE_ACCEPTED = 202, + HTTP_STATUS_CODE_NON_AUTH_INFO = 203, + HTTP_STATUS_CODE_NO_CONTENT = 204, + HTTP_STATUS_CODE_RESET_CONTENT = 205, + HTTP_STATUS_CODE_PARTIAL_CONTENT = 206, + HTTP_STATUS_CODE_MULTI_STATUS = 207, + HTTP_STATUS_CODE_ALREADY_REPORTED = 208, + + HTTP_STATUS_CODE_BASE_REDIRECTION = 300, + HTTP_STATUS_CODE_MULTIPLE_CHOICE = 300, + HTTP_STATUS_CODE_MOVED_PERMANENTLY = 301, + HTTP_STATUS_CODE_FOUND = 302, + HTTP_STATUS_CODE_SEE_OTHER = 303, + HTTP_STATUS_CODE_NOT_MODIFIED = 304, + HTTP_STATUS_CODE_USE_PROXY = 305, + HTTP_STATUS_CODE_TEMP_REDIRECT = 307, + HTTP_STATUS_CODE_PERMANENT_REDIRECT = 308, + + HTTP_STATUS_CODE_BASE_CLIENT_ERROR = 400, + HTTP_STATUS_CODE_BAD_REQUEST = 400, + HTTP_STATUS_CODE_UNAUTHORIZED = 401, + HTTP_STATUS_CODE_PAYMENT_REQUIRED = 402, + HTTP_STATUS_CODE_FORBIDDEN = 403, + HTTP_STATUS_CODE_NOT_FOUND = 404, + HTTP_STATUS_CODE_METHOD_NOT_ALLOW = 405, + HTTP_STATUS_CODE_NOT_ACCEPT = 406, + HTTP_STATUS_CODE_PROXY_AUTH_REQUIRED = 407, + HTTP_STATUS_CODE_REQUEST_TIME_OUT = 408, + HTTP_STATUS_CODE_CONFLICT = 409, + HTTP_STATUS_CODE_GONE = 410, + + HTTP_STATUS_CODE_BASE_SERVER_ERROR = 500, + HTTP_STATUS_CODE_INTERNAL_SERVER_ERROR = 501, + HTTP_STATUS_CODE_NOT_IMPLEMENT = 502, + HTTP_STATUS_CODE_BAD_GATEWAY = 503, + HTTP_STATUS_CODE_SERVICE_UNAVAILABLE = 504, + HTTP_STATUS_CODE_INSUFFICIENT_STORAGE = 507, + + HTTP_STATUS_CODE_MAX +}Http_StatusCode; + +typedef struct +{ + char* serverIP; + int serverPort; + + char* sendBuff; + char* recvBuff; + + int statusCode; + char statusMsg[GRIB_MAX_SIZE_MIDDLE]; + + char* LABEL; +}Grib_HttpMsgInfo; + +typedef struct +{ + char* httpSender; + char* httpSendMsg; + char httpErrMsg[GRIB_MAX_SIZE_MIDDLE]; +}Grib_HttpLogInfo; + + +/* ********** ********** ********** ********** ********** ********** ********** ********** ********** ********** +shbaek: Function Prototype +********** ********** ********** ********** ********** ********** ********** ********** ********** ********** */ +void Grib_HttpSetDebug(int iDebug, int iTombStone); + +void Grib_HttpTombStone(Grib_HttpLogInfo* pLogInfo); + +int Grib_HttpConnect(char* serverIP, int serverPort); +int Grib_HttpSendMsg(Grib_HttpMsgInfo* pMsg); +int Grib_HttpResParser(Grib_HttpMsgInfo* pMsg); + + +#endif diff --git a/GRIB_BLE_HUB/include/grib_onem2m.h b/GRIB_BLE_HUB/include/grib_onem2m.h index a843fcc..b7c182b 100644 --- a/GRIB_BLE_HUB/include/grib_onem2m.h +++ b/GRIB_BLE_HUB/include/grib_onem2m.h @@ -4,9 +4,22 @@ /* ********** ********** ********** ********** ********** ********** ********** ********** ********** ********** shbaek: Include File ********** ********** ********** ********** ********** ********** ********** ********** ********** ********** */ +#include +#include +#include +#include +#include +#include + #include "grib_define.h" #include "grib_db.h" #include "grib_util.h" +#include "grib_http.h" +#include "grib_sda.h" + +#ifdef FEATURE_CAS +#include "grib_cas.h" +#endif /* ********** ********** ********** ********** ********** ********** ********** ********** ********** ********** shbaek: Define Constant @@ -18,24 +31,8 @@ shbaek: Define Constant #define ONEM2M_MAX_SIZE_URI GRIB_MAX_SIZE_DLONG #define ONEM2M_MAX_SIZE_IP_STR GRIB_MAX_SIZE_IP_STR -#define ONEM2M_MAX_SIZE_SEND_MSG (SIZE_1K) -#define ONEM2M_MAX_SIZE_RECV_MSG (SIZE_1K * 4) - -#define HTTP_TIME_OUT_SEC_CONNECT 5 -#define HTTP_TIME_OUT_SEC_RECEIVE 100 //shbaek: Long Polling Time Out -> 90 Sec - -#define HTTP_VERSION_1P1 "HTTP/1.1" - -#define HTTP_METHOD_POST "POST" -#define HTTP_METHOD_GET "GET" -#define HTTP_METHOD_PUT "PUT" -#define HTTP_METHOD_DELETE "DELETE" - -#define HTTP_CONTENT_TYPE_TEXT "text/plain" -#define HTTP_CONTENT_TYPE_XML "application/xml" -#define HTTP_CONTENT_TYPE_JSON "application/json" -#define HTTP_CONTENT_TYPE_ONEM2M_RES_XML "application/vnd.onem2m-res+xml" -#define HTTP_CONTENT_TYPE_ONEM2M_RES_JSON "application/vnd.onem2m-res+json" +#define ONEM2M_MAX_SIZE_SEND_MSG HTTP_MAX_SIZE_SEND_MSG +#define ONEM2M_MAX_SIZE_RECV_MSG HTTP_MAX_SIZE_RECV_MSG //shbaek: 1. Device(=App Entity) Dir #define ONEM2M_URI_CONTENT_HUB "hub" @@ -51,33 +48,69 @@ shbaek: Define Constant #define ONEM2M_URI_CONTENT_LA "la" #define ONEM2M_URI_CONTENT_PCU "pcu" +#define ONEM2M_URI_CONTENT_SEM_DEC "semanticDescriptor" + + +/* ********** ********** ********** ********** ********** ********** ********** ********** ********** ********** +shbaek: Define Fixed Data +********** ********** ********** ********** ********** ********** ********** ********** ********** ********** */ +#define ONEM2M_FIX_ATTR_ET_DATE "20991231" +#define ONEM2M_FIX_ATTR_ET_TIME "122359" + +#define ONEM2M_FIX_ATTR_ET "20991231T235959" +//#define ONEM2M_FIX_ATTR_MNI INT_MAX +#define ONEM2M_FIX_ATTR_MNI 100 +#define ONEM2M_FIX_ATTR_MBS 1024000ULL +#define ONEM2M_FIX_ATTR_MIA 36000 +#define ONEM2M_FIX_ATTR_RR "FALSE" + +#define ONEM2M_FIX_ATTR_ENC "\"net\":[1,2,3,4]" + +#define ONEM2M_FIX_ATTR_NU_FORMAT "http://%s:%d" ONEM2M_URI_CONTENT_CSE "/%s/" \ + ONEM2M_URI_CONTENT_POLLING_CHANNEL "/" ONEM2M_URI_CONTENT_PCU + +#define ONEM2M_EXPIRE_TIME_STR_SIZE 16 + +#ifdef FEATURE_CAS //shbaek: TBD +#define CAS_HEAD_FORMAT_ATTR_AUTH_KEY "Authorization: Basic %s\r\n" +#else +#define CAS_HEAD_FORMAT_ATTR_AUTH_KEY "" +#endif /* ********** ********** ********** ********** APP ENTITY ********** ********** ********** ********** */ + #define ONEM2M_HEAD_FORMAT_APP_ENTITY_CREATE \ "POST /herit-in/herit-cse HTTP/1.1\r\n" \ "Host: %s:%d\r\n" \ + "Accept:application/vnd.onem2m-res+json\r\n" \ "Content-Type: application/vnd.onem2m-res+json; ty=%d\r\n" \ "Content-Length: %d\r\n" \ + CAS_HEAD_FORMAT_ATTR_AUTH_KEY \ "X-M2M-Origin: %s\r\n" \ "X-M2M-RI: %s\r\n" \ - "X-M2M-NM: %s\r\n" \ "\r\n" #define ONEM2M_BODY_FORMAT_APP_ENTITY_CREATE \ "{\r\n" \ - " \"lbl\": \"%s\",\r\n" \ - " \"apn\": \"%s\",\r\n" \ - " \"api\": \"%s\",\r\n" \ - " \"poa\": \"%s:%d\",\r\n" \ - " \"rr\": \"%s\"\r\n" \ + " \"ae\":\r\n" \ + " {\r\n" \ + " \"lbl\": [\"%s\"],\r\n" \ + " \"apn\": \"%s\",\r\n" \ + " \"api\": \"%s\",\r\n" \ + " \"poa\": \"%s:%d\",\r\n" \ + " \"rr\": \"%s\",\r\n" \ + " \"rn\": \"%s\",\r\n" \ + " \"et\": \"%s\"\r\n" \ + " }\r\n" \ "}\r\n" \ "\r\n" #define ONEM2M_HEAD_FORMAT_APP_ENTITY_RETRIEVE \ "GET /herit-in/herit-cse/%s HTTP/1.1\r\n" \ "Host: %s:%d\r\n" \ - "Content-Type:application/vnd.onem2m-res+json\r\n" \ "Accept:application/vnd.onem2m-res+json\r\n" \ + "Content-Type:application/vnd.onem2m-res+json\r\n" \ + CAS_HEAD_FORMAT_ATTR_AUTH_KEY \ "X-M2M-Origin: %s\r\n" \ "X-M2M-RI: %s\r\n" \ "\r\n" @@ -85,8 +118,9 @@ shbaek: Define Constant #define ONEM2M_HEAD_FORMAT_APP_ENTITY_DELETE \ "DELETE /herit-in/herit-cse/%s HTTP/1.1\r\n" \ "Host: %s:%d\r\n" \ - "Content-Type:application/vnd.onem2m-res+json\r\n" \ "Accept:application/vnd.onem2m-res+json\r\n" \ + "Content-Type:application/vnd.onem2m-res+json\r\n" \ + CAS_HEAD_FORMAT_ATTR_AUTH_KEY \ "X-M2M-Origin: %s\r\n" \ "X-M2M-RI: %s\r\n" \ "\r\n" @@ -96,29 +130,34 @@ shbaek: Define Constant #define ONEM2M_HEAD_FORMAT_CONTAINER_CREATE \ "POST /herit-in/herit-cse/%s HTTP/1.1\r\n" \ "Host: %s:%d\r\n" \ + "Accept:application/vnd.onem2m-res+json\r\n" \ "Content-Type: application/vnd.onem2m-res+json; ty=%d\r\n" \ "Content-Length: %d\r\n" \ + CAS_HEAD_FORMAT_ATTR_AUTH_KEY \ "X-M2M-Origin: %s\r\n" \ "X-M2M-RI: %s\r\n" \ - "X-M2M-NM: %s\r\n" \ "\r\n" - #define ONEM2M_BODY_FORMAT_CONTAINER_CREATE \ "{\r\n" \ - " \"lbl\": \"%s\",\r\n" \ - " \"et\": \"%s\",\r\n" \ - " \"mni\": \"%llu\",\r\n" \ - " \"mbs\": \"%llu\",\r\n" \ - " \"mia\": \"%llu\"\r\n" \ + " \"cnt\":\r\n" \ + " {\r\n" \ + " \"lbl\": [\"%s\"],\r\n" \ + " \"mni\": \"%llu\",\r\n" \ + " \"mbs\": \"%llu\",\r\n" \ + " \"mia\": \"%llu\",\r\n" \ + " \"rn\": \"%s\",\r\n" \ + " \"et\": \"%s\"\r\n" \ + " }\r\n" \ "}\r\n" \ "\r\n" #define ONEM2M_HEAD_FORMAT_CONTAINER_RETRIEVE \ "GET /herit-in/herit-cse/%s HTTP/1.1\r\n" \ "Host: %s:%d\r\n" \ - "Content-Type:application/vnd.onem2m-res+json\r\n" \ "Accept:application/vnd.onem2m-res+json\r\n" \ + "Content-Type:application/vnd.onem2m-res+json\r\n" \ + CAS_HEAD_FORMAT_ATTR_AUTH_KEY \ "X-M2M-Origin: %s\r\n" \ "X-M2M-RI: %s\r\n" \ "\r\n" @@ -126,8 +165,9 @@ shbaek: Define Constant #define ONEM2M_HEAD_FORMAT_CONTAINER_DELETE \ "DELETE /herit-in/herit-cse/%s HTTP/1.1\r\n" \ "Host: %s:%d\r\n" \ - "Content-Type:application/vnd.onem2m-res+json\r\n" \ "Accept:application/vnd.onem2m-res+json\r\n" \ + "Content-Type:application/vnd.onem2m-res+json\r\n" \ + CAS_HEAD_FORMAT_ATTR_AUTH_KEY \ "X-M2M-Origin: %s\r\n" \ "X-M2M-RI: %s\r\n" \ "\r\n" @@ -137,37 +177,49 @@ shbaek: Define Constant #define ONEM2M_HEAD_FORMAT_POLLING_CHANNEL_CREATE \ "POST /herit-in/herit-cse/%s HTTP/1.1\r\n" \ "Host: %s:%d\r\n" \ + "Accept:application/vnd.onem2m-res+json\r\n" \ "Content-Type: application/vnd.onem2m-res+json; ty=%d\r\n" \ "Content-Length: %d\r\n" \ + CAS_HEAD_FORMAT_ATTR_AUTH_KEY \ "X-M2M-Origin: %s\r\n" \ "X-M2M-RI: %s\r\n" \ - "X-M2M-NM: %s\r\n" \ "\r\n" #define ONEM2M_BODY_FORMAT_POLLING_CHANNEL_CREATE \ "{\r\n" \ - " \"lbl\": \"%s\"\r\n" \ + " \"pch\":\r\n" \ + " {\r\n" \ + " \"lbl\": [\"%s\"],\r\n" \ + " \"rn\": \"%s\",\r\n" \ + " \"et\": \"%s\"\r\n" \ + " }\r\n" \ "}\r\n" \ "\r\n" - #define ONEM2M_HEAD_FORMAT_SUBSCRIPTION_CREATE \ "POST /herit-in/herit-cse/%s HTTP/1.1\r\n" \ "Host: %s:%d\r\n" \ + "Accept:application/vnd.onem2m-res+json\r\n" \ "Content-Type: application/vnd.onem2m-res+json; ty=%d\r\n" \ "Content-Length: %d\r\n" \ - "Accept:application/vnd.onem2m-res+json\r\n" \ + CAS_HEAD_FORMAT_ATTR_AUTH_KEY \ "X-M2M-Origin: %s\r\n" \ "X-M2M-RI: %s\r\n" \ - "X-M2M-NM: %s\r\n" \ "\r\n" #define ONEM2M_BODY_FORMAT_SUBSCRIPTION_CREATE \ "{\r\n" \ - " \"lbl\": \"%s\",\r\n" \ - " \"et\": \"%s\",\r\n" \ - " \"enc\": { \"rss\":[\"1\",\"2\",\"3\",\"4\"] },\r\n" \ - " \"nu\": \"%s\"\r\n" \ + " \"sub\":\r\n" \ + " {\r\n" \ + " \"lbl\": [\"%s\"],\r\n" \ + " \"enc\":\r\n" \ + " {\r\n" \ + " %s\r\n" \ + " },\r\n" \ + " \"nu\": [\"%s\"],\r\n" \ + " \"rn\": \"%s\",\r\n" \ + " \"et\": \"%s\"\r\n" \ + " }\r\n" \ "}\r\n" \ "\r\n" @@ -176,26 +228,32 @@ shbaek: Define Constant #define ONEM2M_HEAD_FORMAT_CONTENT_INSTANCE_CREATE \ "POST /herit-in/herit-cse/%s HTTP/1.1\r\n" \ "Host: %s:%d\r\n" \ + "Accept:application/vnd.onem2m-res+json\r\n" \ "Content-Type: application/vnd.onem2m-res+json; ty=%d\r\n" \ "Content-Length: %d\r\n" \ + CAS_HEAD_FORMAT_ATTR_AUTH_KEY \ "X-M2M-Origin: %s\r\n" \ "X-M2M-RI: %s\r\n" \ "\r\n" - #define ONEM2M_BODY_FORMAT_CONTENT_INSTANCE_CREATE \ "{\r\n" \ - " \"lbl\": \"%s\",\r\n" \ - " \"cnf\": \"%s\",\r\n" \ - " \"con\": \"%s\"\r\n" \ + " \"cin\":\r\n" \ + " {\r\n" \ + " \"lbl\": [\"%s\"],\r\n" \ + " \"et\": \"%s\",\r\n" \ + " \"cnf\": \"%s\",\r\n" \ + " \"con\": \"%s\"\r\n" \ + " }\r\n" \ "}\r\n" \ "\r\n" #define ONEM2M_HEAD_FORMAT_CONTENT_INSTANCE_RETRIEVE \ "GET /herit-in/herit-cse/%s HTTP/1.1\r\n" \ "Host: %s:%d\r\n" \ - "Content-Type:application/vnd.onem2m-res+json\r\n" \ "Accept:application/vnd.onem2m-res+json\r\n" \ + "Content-Type:application/vnd.onem2m-res+json\r\n" \ + CAS_HEAD_FORMAT_ATTR_AUTH_KEY \ "X-M2M-Origin: %s\r\n" \ "X-M2M-RI: %s\r\n" \ "\r\n" @@ -203,8 +261,9 @@ shbaek: Define Constant #define ONEM2M_HEAD_FORMAT_LONG_POLLING \ "GET /herit-in/herit-cse/%s HTTP/1.1\r\n" \ "Host: %s:%d\r\n" \ - "Content-Type:application/vnd.onem2m-res+xml\r\n" \ "Accept:application/vnd.onem2m-res+xml\r\n" \ + "Content-Type:application/vnd.onem2m-res+xml\r\n" \ + CAS_HEAD_FORMAT_ATTR_AUTH_KEY \ "X-M2M-Origin: %s\r\n" \ "X-M2M-RI: %s\r\n" \ "\r\n" @@ -214,6 +273,32 @@ shbaek: Define Constant "[HUB_ID : %s], " \ "[HUB_IP : %s]" +#define ONEM2M_HEAD_FORMAT_SEMANTIC_DESCRIPTOR_UPLOAD \ + "POST /herit-in/herit-cse/%s HTTP/1.1\r\n" \ + "Host: %s:%d\r\n" \ + "Accept:application/vnd.onem2m-res+json\r\n" \ + "Content-Type: application/vnd.onem2m-res+json; ty=%d\r\n" \ + "Content-Length: %d\r\n" \ + CAS_HEAD_FORMAT_ATTR_AUTH_KEY \ + "X-M2M-Origin: %s\r\n" \ + "X-M2M-RI: %s\r\n" \ + "\r\n" + +#define ONEM2M_BODY_FORMAT_SEMANTIC_DESCRIPTOR_UPLOAD \ + "{\r\n" \ + " \"smd\":\r\n" \ + " {\r\n" \ + " \"lbl\": [\"%s\"],\r\n" \ + " \"rn\": \"%s\",\r\n" \ + " \"et\": \"%s\",\r\n" \ + " \"dcrp\": \"%s\",\r\n" \ + " \"dsp\": \"%s\"\r\n" \ + " }\r\n" \ + "}\r\n" \ + "\r\n" + + +#define ONEM2M_1LINE_SEPERATOR "# ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----\n" /* ********** ********** ********** ********** ********** ********** ********** ********** ********** ********** shbaek: Define Type ********** ********** ********** ********** ********** ********** ********** ********** ********** ********** */ @@ -244,69 +329,15 @@ typedef enum ONEM2M_RESOURCE_TYPE_REMOTE_CSE = 16, ONEM2M_RESOURCE_TYPE_REQUEST = 17, ONEM2M_RESOURCE_TYPE_SUBSCRIPTION = 23, + ONEM2M_RESOURCE_TYPE_SEMANTIC_DESCRIPTOR = 24, ONEM2M_RESOURCE_TYPE_MAX }OneM2M_ResourceType; -//shbaek: Too Many Type... Reffer To RFC 7231 -typedef enum -{ - HTTP_STATUS_CODE_UNKNOWN = -1, - - HTTP_STATUS_CODE_BASE_INFO = 100, - HTTP_STATUS_CODE_CONTINUE = 100, - HTTP_STATUS_CODE_SWITCHING_PROTOCOL = 101, - HTTP_STATUS_CODE_PROCESSING = 102, - - HTTP_STATUS_CODE_BASE_SUCCESS = 200, - HTTP_STATUS_CODE_OK = 200, - HTTP_STATUS_CODE_CREATED = 201, - HTTP_STATUS_CODE_ACCEPTED = 202, - HTTP_STATUS_CODE_NON_AUTH_INFO = 203, - HTTP_STATUS_CODE_NO_CONTENT = 204, - HTTP_STATUS_CODE_RESET_CONTENT = 205, - HTTP_STATUS_CODE_PARTIAL_CONTENT = 206, - HTTP_STATUS_CODE_MULTI_STATUS = 207, - HTTP_STATUS_CODE_ALREADY_REPORTED = 208, - - HTTP_STATUS_CODE_BASE_REDIRECTION = 300, - HTTP_STATUS_CODE_MULTIPLE_CHOICE = 300, - HTTP_STATUS_CODE_MOVED_PERMANENTLY = 301, - HTTP_STATUS_CODE_FOUND = 302, - HTTP_STATUS_CODE_SEE_OTHER = 303, - HTTP_STATUS_CODE_NOT_MODIFIED = 304, - HTTP_STATUS_CODE_USE_PROXY = 305, - HTTP_STATUS_CODE_TEMP_REDIRECT = 307, - HTTP_STATUS_CODE_PERMANENT_REDIRECT = 308, - - HTTP_STATUS_CODE_BASE_CLIENT_ERROR = 400, - HTTP_STATUS_CODE_BAD_REQUEST = 400, - HTTP_STATUS_CODE_UNAUTHORIZED = 401, - HTTP_STATUS_CODE_PAYMENT_REQUIRED = 402, - HTTP_STATUS_CODE_FORBIDDEN = 403, - HTTP_STATUS_CODE_NOT_FOUND = 404, - HTTP_STATUS_CODE_METHOD_NOT_ALLOW = 405, - HTTP_STATUS_CODE_NOT_ACCEPT = 406, - HTTP_STATUS_CODE_PROXY_AUTH_REQUIRED = 407, - HTTP_STATUS_CODE_REQUEST_TIME_OUT = 408, - HTTP_STATUS_CODE_CONFLICT = 409, - HTTP_STATUS_CODE_GONE = 410, - - HTTP_STATUS_CODE_BASE_SERVER_ERROR = 500, - HTTP_STATUS_CODE_INTERNAL_SERVER_ERROR = 501, - HTTP_STATUS_CODE_NOT_IMPLEMENT = 502, - HTTP_STATUS_CODE_BAD_GATEWAY = 503, - HTTP_STATUS_CODE_SERVICE_UNAVAILABLE = 504, - HTTP_STATUS_CODE_INSUFFICIENT_STORAGE = 507, - - HTTP_STATUS_CODE_MAX -}Http_StatusCode; - - typedef struct { + char* http_SendDataEx; //shbaek: If Too Large Data, Use This. ex)Semantic Descriptor char http_SendData[ONEM2M_MAX_SIZE_SEND_MSG+1]; -// char http_Version[ONEM2M_MAX_SIZE_BRIEF+1]; char http_Method[ONEM2M_MAX_SIZE_BRIEF+1]; int http_ContentLen; char http_ContentType[ONEM2M_MAX_SIZE_SHORT+1]; @@ -321,6 +352,10 @@ typedef struct char xM2M_CNF[ONEM2M_MAX_SIZE_SHORT+1]; char xM2M_CON[ONEM2M_MAX_SIZE_MIDDLE+1]; + +#ifdef FEATURE_CAS + char* authKey; +#endif }OneM2M_ReqParam; typedef struct @@ -344,8 +379,9 @@ typedef struct char xM2M_RsrcID[ONEM2M_MAX_SIZE_SHORT+1]; char xM2M_PrntID[ONEM2M_MAX_SIZE_SHORT+1]; char xM2M_Content[ONEM2M_MAX_SIZE_MIDDLE+1]; -}OneM2M_ResParam; + char xM2M_ExpireTime[ONEM2M_MAX_SIZE_BRIEF]; +}OneM2M_ResParam; /* ********** ********** ********** ********** ********** ********** ********** ********** ********** ********** shbaek: Define Macro @@ -362,8 +398,9 @@ shbaek: Define Macro /* ********** ********** ********** ********** ********** ********** ********** ********** ********** ********** shbaek: Function Prototype ********** ********** ********** ********** ********** ********** ********** ********** ********** ********** */ -int Grib_SetServerConfig(void); -int Grib_HttpConnect(char* serverIP, int serverPort); +int Grib_SiSetServerConfig(void); +int Grib_GetAttrExpireTime(char* attrBuff, TimeInfo* pTime); +int Grib_isAvailableExpireTime(char* xM2M_ExpireTime); //2 shbaek: NEED: xM2M_NM int Grib_AppEntityCreate(OneM2M_ReqParam *pReqParam, OneM2M_ResParam *pResParam); @@ -381,8 +418,6 @@ int Grib_ContainerDelete(OneM2M_ReqParam *pReqParam, OneM2M_ResParam *pResParam) //2 shbaek: NEED: xM2M_Origin int Grib_PollingChannelCreate(OneM2M_ReqParam *pReqParam, OneM2M_ResParam *pResParam); -//2 shbaek: NEED: xM2M_Origin xM2M_Func -int Grib_SubsciptionCreate(OneM2M_ReqParam *pReqParam, OneM2M_ResParam *pResParam); //2 shbaek: NEED: xM2M_URI, xM2M_Origin, xM2M_CNF[If NULL, Set Default "text/plain:0"], xM2M_CON int Grib_ContentInstanceCreate(OneM2M_ReqParam *pReqParam, OneM2M_ResParam *pResParam); @@ -392,10 +427,20 @@ int Grib_ContentInstanceRetrieve(OneM2M_ReqParam *pReqParam, OneM2M_ResParam *pR //2 shbaek: NEED: xM2M_Origin int Grib_LongPolling(OneM2M_ReqParam *pReqParam, OneM2M_ResParam *pResParam); +//2 shbaek: NEED: xM2M_Origin xM2M_Func +int Grib_SubsciptionCreate(OneM2M_ReqParam *pReqParam, OneM2M_ResParam *pResParam); -int Grib_CreateOneM2MTree(Grib_DbRowDeviceInfo* pRowDeviceInfo); + +#ifdef FEATURE_CAS +int Grib_UpdateHubInfo(char* pAuthKey); +int Grib_UpdateDeviceInfo(Grib_DbAll *pDbAll, char* pAuthKey); +int Grib_CreateOneM2MTree(Grib_DbRowDeviceInfo* pRowDeviceInfo, char* pAuthKey); +#else int Grib_UpdateHubInfo(void); int Grib_UpdateDeviceInfo(Grib_DbAll *pDbAll); +int Grib_CreateOneM2MTree(Grib_DbRowDeviceInfo* pRowDeviceInfo); +#endif + #endif diff --git a/GRIB_BLE_HUB/include/grib_regi.h b/GRIB_BLE_HUB/include/grib_regi.h index 42a3a78..7494271 100644 --- a/GRIB_BLE_HUB/include/grib_regi.h +++ b/GRIB_BLE_HUB/include/grib_regi.h @@ -11,8 +11,11 @@ shbaek: Include File #include "grib_db.h" #include "grib_ble.h" #include "grib_util.h" +#include "grib_auth.h" - +#ifdef FEATURE_CAS +#include "grib_cas.h" +#endif /* ********** ********** ********** ********** ********** ********** ********** ********** ********** ********** */ //shbaek: Define /* ********** ********** ********** ********** ********** ********** ********** ********** ********** ********** */ @@ -20,10 +23,13 @@ shbaek: Include File /* ********** ********** ********** ********** ********** ********** ********** ********** ********** ********** shbaek: Function Prototype ********** ********** ********** ********** ********** ********** ********** ********** ********** ********** */ -int Grib_HubRegi(void); - -int Grib_DeviceRegi(char* deviceAddr); -int Grib_DeviceDeRegi(char* deviceID); +int Grib_DeviceRegi(char* deviceAddr, int optAuth); +int Grib_DeviceDeRegi(char* deviceID, int delOneM2M); +#ifdef FEATURE_CAS +int Grib_HubRegi(char* pAuthKey); +#else +int Grib_HubRegi(void); +#endif #endif diff --git a/GRIB_BLE_HUB/include/grib_sda.h b/GRIB_BLE_HUB/include/grib_sda.h new file mode 100644 index 0000000..28ac9a3 --- /dev/null +++ b/GRIB_BLE_HUB/include/grib_sda.h @@ -0,0 +1,40 @@ +#ifndef __GRIB_SDA_H__ +#define __GRIB_SDA_H__ + +/* ********** ********** ********** ********** ********** ********** ********** ********** ********** ********** +shbaek: Include File +********** ********** ********** ********** ********** ********** ********** ********** ********** ********** */ + +#include "grib_define.h" +#include "grib_http.h" +#include "grib_util.h" + + +/* ********** ********** ********** ********** ********** ********** ********** ********** ********** ********** */ +//shbaek: Define +/* ********** ********** ********** ********** ********** ********** ********** ********** ********** ********** */ +#define SDA_MAX_DEVICE_INFO (HTTP_MAX_SIZE) + +#define SDA_GET_DEVICE_INFO_FORMAT_RAW \ + "GET http://%s:%d/sda/deviceinfo/deviceinfo?p=%s\r\n" + +#define SDA_GET_DEVICE_INFO_FORMAT_HTTP \ + "GET /sda/deviceinfo/deviceinfo?p=%s HTTP/1.1\r\n" \ + "Host: %s:%d\r\n" \ + "Content-Type:" HTTP_CONTENT_TYPE_JSON "\r\n" \ + "Accept:" HTTP_CONTENT_TYPE_JSON "\r\n" \ + "\r\n" + +/* + "http://166.104.112.43:20080/sda/deviceinfo/deviceinfo?p=ONSB_BleScanner01_001" +*/ + +/* ********** ********** ********** ********** ********** ********** ********** ********** ********** ********** +shbaek: Function Prototype +********** ********** ********** ********** ********** ********** ********** ********** ********** ********** */ +void Grib_SdaSetDebug(int iDebug); +int Grib_SdaSetServerConfig(void); + +int Grib_SdaGetDeviceInfo(char* deviceID, char* deviceInfo); + +#endif diff --git a/GRIB_BLE_HUB/include/grib_test.h b/GRIB_BLE_HUB/include/grib_test.h index 0c5d1cd..85f23da 100644 --- a/GRIB_BLE_HUB/include/grib_test.h +++ b/GRIB_BLE_HUB/include/grib_test.h @@ -40,4 +40,12 @@ shbaek: Define #define TEST_BLE_PIPE_FILE_NAME "TEST_PIPE_FILE" +#define TEST_SDA_DEVICE_ID "ONSB_BleScanner01_001" + +#define TEST_CAS_HUB_ID "LGU_SmartPlug_111111112" +#define TEST_CAS_DEV_ID "LGU_SmartPlug_111111113" + +#define TEST_BASE64_ENC_SRC "Grib Test Base 64 Text" +#define TEST_BASE64_DEC_SRC "R3JpYiBUZXN0IEJhc2UgNjQgVGV4dA==" + #endif diff --git a/GRIB_BLE_HUB/include/grib_thread.h b/GRIB_BLE_HUB/include/grib_thread.h index b3cc809..40edb8c 100644 --- a/GRIB_BLE_HUB/include/grib_thread.h +++ b/GRIB_BLE_HUB/include/grib_thread.h @@ -24,6 +24,10 @@ shbaek: Include File #include "grib_regi.h" +#ifdef FEATURE_CAS +#include "grib_cas.h" +#endif + /* ********** ********** ********** ********** ********** ********** ********** ********** ********** ********** */ //shbaek: Define /* ********** ********** ********** ********** ********** ********** ********** ********** ********** ********** */ @@ -40,6 +44,10 @@ typedef struct int controlThreadStatus; int reportThreadStatus; +#ifdef FEATURE_CAS + char authKey[CAS_AUTH_KEY_SIZE]; +#endif + Grib_DbRowDeviceInfo* pRowDeviceInfo; }Grib_DeviceThreadInfo; diff --git a/GRIB_BLE_HUB/include/grib_util.h b/GRIB_BLE_HUB/include/grib_util.h index 2f5a165..0def145 100644 --- a/GRIB_BLE_HUB/include/grib_util.h +++ b/GRIB_BLE_HUB/include/grib_util.h @@ -15,6 +15,7 @@ shbaek: Include File #include #include #include +#include #include "grib_define.h" @@ -28,59 +29,110 @@ shbaek: Include File #define GRIB_CONFIG_PLATFORM_SERVER_IP "PLATFORM_SERVER_IP" #define GRIB_CONFIG_PLATFORM_SERVER_PORT "PLATFORM_SERVER_PORT" + +#define GRIB_CONFIG_AUTH_SERVER_IP "AUTH_SERVER_IP" +#define GRIB_CONFIG_AUTH_SERVER_PORT "AUTH_SERVER_PORT" + +#define GRIB_CONFIG_SDA_SERVER_IP "SDA_SERVER_IP" +#define GRIB_CONFIG_SDA_SERVER_PORT "SDA_SERVER_PORT" + #define GRIB_CONFIG_MYSQL_DB_HOST "MYSQL_DB_HOST" #define GRIB_CONFIG_MYSQL_DB_PORT "MYSQL_DB_PORT" #define GRIB_CONFIG_MYSQL_DB_USER "MYSQL_DB_USER" #define GRIB_CONFIG_MYSQL_DB_PASSWORD "MYSQL_DB_PASSWORD" + +#define GRIB_CONFIG_RESET_TIMER_USE "RESET_TIMER_USE" +#define GRIB_CONFIG_RESET_TIME_HOUR "RESET_TIME_HOUR" + #define GRIB_CONFIG_DEBUG_ONEM2M "GRIB_DEBUG_ONEM2M" #define GRIB_CONFIG_DEBUG_BLE "GRIB_DEBUG_BLE" #define GRIB_CONFIG_DEBUG_THREAD "GRIB_DEBUG_THREAD" -#define GRIB_CONFIG_BLE_TOMBSTONE "GRIB_BLE_TOMBSTONE" +#define GRIB_CONFIG_TOMBSTONE_BLE "GRIB_TOMBSTONE_BLE" +#define GRIB_CONFIG_TOMBSTONE_HTTP "GRIB_TOMBSTONE_HTTP" + +#define READ_OPT_IGNORE_LF 0x0001 + +#define BIT_MASK_2 0x03 +#define BIT_MASK_4 0x0F +#define BIT_MASK_6 0x3F +#define BASE64_ENC_SRC_BYTE 3 +#define BASE64_DEC_SRC_BYTE 4 + +#define BASE64_PAD '=' typedef struct { + int isLoad; char hubID[DEVICE_MAX_SIZE_ID]; char platformServerIP[GRIB_MAX_SIZE_IP_STR]; unsigned int platformServerPort; + char authServerIP[GRIB_MAX_SIZE_IP_STR]; + unsigned int authServerPort; + + char sdaServerIP[GRIB_MAX_SIZE_IP_STR]; + unsigned int sdaServerPort; + char iotDbHost[GRIB_MAX_SIZE_IP_STR]; unsigned int iotDbPort; char iotDbUser[GRIB_MAX_SIZE_SHORT]; char iotDbPswd[GRIB_MAX_SIZE_SHORT]; + int resetTimerSwitch; + int resetTimeHour; + int debugThread; int debugOneM2M; int debugBLE; - int bleTombStone; - + int tombStoneBLE; + int tombStoneHTTP; + }Grib_ConfigInfo; /* ********** ********** ********** ********** ********** ********** ********** ********** ********** ********** shbaek: Function Prototype ********** ********** ********** ********** ********** ********** ********** ********** ********** ********** */ -int Grib_CountChar(char* arr, char c); -char* Grib_Split(char* arr, char c, int n); - -int skipSpace(char **str2Buff); -int strStartsWith(const char *line, const char *prefix); -int strLower(char *strBuff); -int strUpper(char *strBuff); -void mSleep(long long mSec); -int systemCommand(char *pCommand, char *pLineBuffer, int iBufferSize); -int Grib_LoadConfig(Grib_ConfigInfo* pConfigInfo); +int Grib_CountChar(char* arr, char c); +char* Grib_Split(char* arr, char c, int n); +int Grib_isHexString(char* strNum, int checkSize); -int Grib_GetHostName(char* pBuff); -int Grib_GetIPAddr(char* pBuff); +int skipSpace(char **str2Buff); +int strStartsWith(const char *line, const char *prefix); +int strLower(char *strBuff); +int strUpper(char *strBuff); +void mSleep(long long mSec); +int systemCommand(const char *pCommand, char *pLineBuffer, int iBufferSize); +int Grib_LoadConfig(Grib_ConfigInfo* pConfigInfo); +int Grib_GetHostName(char* pBuff); +int Grib_GetIPAddr(char* pBuff); const char* Grib_FuncAttrToStr(int iAttr); const char* Grib_InterfaceToStr(Grib_DeviceIfType iType); const char* Grib_ThreadStatusToStr(int iStatus); const char* Grib_BleErrorToStr(Grib_BleErrorCode iType); +Grib_ConfigInfo* Grib_GetConfigInfo(void); + +char* Grib_TrimAll(char *pSource); +int Grib_RandNum(int iMin, int iRange); + +int Grib_ReadTextFile(char* filePath, char* pBuff, int opt); + +void Grib_PrintHex(const char* LABEL, char* pHexBuff, int iSize); +void Grib_PrintOnlyHex(char* pHexBuff, int iSize); + +long Grib_GetStackLimit(void); + +int Grib_Base64Encode(char* srcBuff, char* encBuff, int opt); +int Grib_Base64Decode(char* srcBuff, char* decBuff, int opt); + +int Grib_ReadTextFile(char* filePath, char* pBuff, int opt); +int Grib_WriteTextFile(char* filePath, char* pBuff, char* opt); + #endif diff --git a/GRIB_BLE_HUB/libs/ble_extend/AUTHORS b/GRIB_BLE_HUB/libs/ble_extend/AUTHORS deleted file mode 100644 index 18e69ae..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/AUTHORS +++ /dev/null @@ -1,81 +0,0 @@ -Maxim Krasnyansky -Marcel Holtmann -Stephen Crane -Jean Tourrilhes -Jan Beutel -Ilguiz Latypov -Thomas Moser -Nils Faerber -Martin Leopold -Wolfgang Heidrich -Fabrizio Gennari -Brad Midgley -Henryk Ploetz -Philip Blundell -Johan Hedberg -Claudio Takahasi -Eduardo Rocha -Denis Kenzior -Frederic Dalleau -Frederic Danis -Luiz Augusto von Dentz -Fabien Chevalier -Ohad Ben-Cohen -Daniel Gollub -Tom Patzig -Kai Vehmanen -Vinicius Gomes -Alok Barsode -Bastien Nocera -Albert Huang -Glenn Durfee -David Woodhouse -Christian Hoene -Pekka Pessi -Siarhei Siamashka -Nick Pelly -Lennart Poettering -Gustavo Padovan -Marc-Andre Lureau -Bea Lam -Zygo Blaxell -Forrest Zhao -Scott Talbot -Ilya Rubtsov -Mario Limonciello -Filippo Giunchedi -Jaikumar Ganesh -Elvis Pfutzenreuter -Santiago Carot-Nemesio -José Antonio Santos Cadenas -Francisco Alecrim -Daniel Orstadius -Anderson Briglia -Anderson Lizardo -Bruna Moreira -Brian Gix -Andre Guedes -Sheldon Demario -Lucas De Marchi -Szymon Janc -Syam Sidhardhan -Paulo Alcantara -Jefferson Delfes -Andrzej Kaczmarek -Eder Ruiz Maria -Mikel Astiz -Chan-yeol Park -João Paulo Rechi Vita -Larry Junior -Raymond Liu -Radoslaw Jablonski -Rafal Michalski -Dmitriy Paliy -Bartosz Szatkowski -Lukasz Pawlik -Slawomir Bochenski -Wayne Lee -Ricky Yuen -Takashi Sasai -Andre Dieb Martins -Cristian Rodríguez diff --git a/GRIB_BLE_HUB/libs/ble_extend/COPYING b/GRIB_BLE_HUB/libs/ble_extend/COPYING deleted file mode 100644 index 6d45519..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/COPYING +++ /dev/null @@ -1,340 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 2, June 1991 - - Copyright (C) 1989, 1991 Free Software Foundation, Inc. - 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -License is intended to guarantee your freedom to share and change free -software--to make sure the software is free for all its users. This -General Public License applies to most of the Free Software -Foundation's software and to any other program whose authors commit to -using it. (Some other Free Software Foundation software is covered by -the GNU Library General Public License instead.) You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -this service if you wish), that you receive source code or can get it -if you want it, that you can change the software or use pieces of it -in new free programs; and that you know you can do these things. - - To protect your rights, we need to make restrictions that forbid -anyone to deny you these rights or to ask you to surrender the rights. -These restrictions translate to certain responsibilities for you if you -distribute copies of the software, or if you modify it. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must give the recipients all the rights that -you have. You must make sure that they, too, receive or can get the -source code. And you must show them these terms so they know their -rights. - - We protect your rights with two steps: (1) copyright the software, and -(2) offer you this license which gives you legal permission to copy, -distribute and/or modify the software. - - Also, for each author's protection and ours, we want to make certain -that everyone understands that there is no warranty for this free -software. If the software is modified by someone else and passed on, we -want its recipients to know that what they have is not the original, so -that any problems introduced by others will not reflect on the original -authors' reputations. - - Finally, any free program is threatened constantly by software -patents. We wish to avoid the danger that redistributors of a free -program will individually obtain patent licenses, in effect making the -program proprietary. To prevent this, we have made it clear that any -patent must be licensed for everyone's free use or not licensed at all. - - The precise terms and conditions for copying, distribution and -modification follow. - - GNU GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License applies to any program or other work which contains -a notice placed by the copyright holder saying it may be distributed -under the terms of this General Public License. The "Program", below, -refers to any such program or work, and a "work based on the Program" -means either the Program or any derivative work under copyright law: -that is to say, a work containing the Program or a portion of it, -either verbatim or with modifications and/or translated into another -language. (Hereinafter, translation is included without limitation in -the term "modification".) Each licensee is addressed as "you". - -Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running the Program is not restricted, and the output from the Program -is covered only if its contents constitute a work based on the -Program (independent of having been made by running the Program). -Whether that is true depends on what the Program does. - - 1. You may copy and distribute verbatim copies of the Program's -source code as you receive it, in any medium, provided that you -conspicuously and appropriately publish on each copy an appropriate -copyright notice and disclaimer of warranty; keep intact all the -notices that refer to this License and to the absence of any warranty; -and give any other recipients of the Program a copy of this License -along with the Program. - -You may charge a fee for the physical act of transferring a copy, and -you may at your option offer warranty protection in exchange for a fee. - - 2. You may modify your copy or copies of the Program or any portion -of it, thus forming a work based on the Program, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) You must cause the modified files to carry prominent notices - stating that you changed the files and the date of any change. - - b) You must cause any work that you distribute or publish, that in - whole or in part contains or is derived from the Program or any - part thereof, to be licensed as a whole at no charge to all third - parties under the terms of this License. - - c) If the modified program normally reads commands interactively - when run, you must cause it, when started running for such - interactive use in the most ordinary way, to print or display an - announcement including an appropriate copyright notice and a - notice that there is no warranty (or else, saying that you provide - a warranty) and that users may redistribute the program under - these conditions, and telling the user how to view a copy of this - License. (Exception: if the Program itself is interactive but - does not normally print such an announcement, your work based on - the Program is not required to print an announcement.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Program, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Program, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Program. - -In addition, mere aggregation of another work not based on the Program -with the Program (or with a work based on the Program) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may copy and distribute the Program (or a work based on it, -under Section 2) in object code or executable form under the terms of -Sections 1 and 2 above provided that you also do one of the following: - - a) Accompany it with the complete corresponding machine-readable - source code, which must be distributed under the terms of Sections - 1 and 2 above on a medium customarily used for software interchange; or, - - b) Accompany it with a written offer, valid for at least three - years, to give any third party, for a charge no more than your - cost of physically performing source distribution, a complete - machine-readable copy of the corresponding source code, to be - distributed under the terms of Sections 1 and 2 above on a medium - customarily used for software interchange; or, - - c) Accompany it with the information you received as to the offer - to distribute corresponding source code. (This alternative is - allowed only for noncommercial distribution and only if you - received the program in object code or executable form with such - an offer, in accord with Subsection b above.) - -The source code for a work means the preferred form of the work for -making modifications to it. For an executable work, complete source -code means all the source code for all modules it contains, plus any -associated interface definition files, plus the scripts used to -control compilation and installation of the executable. However, as a -special exception, the source code distributed need not include -anything that is normally distributed (in either source or binary -form) with the major components (compiler, kernel, and so on) of the -operating system on which the executable runs, unless that component -itself accompanies the executable. - -If distribution of executable or object code is made by offering -access to copy from a designated place, then offering equivalent -access to copy the source code from the same place counts as -distribution of the source code, even though third parties are not -compelled to copy the source along with the object code. - - 4. You may not copy, modify, sublicense, or distribute the Program -except as expressly provided under this License. Any attempt -otherwise to copy, modify, sublicense or distribute the Program is -void, and will automatically terminate your rights under this License. -However, parties who have received copies, or rights, from you under -this License will not have their licenses terminated so long as such -parties remain in full compliance. - - 5. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Program or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Program (or any work based on the -Program), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Program or works based on it. - - 6. Each time you redistribute the Program (or any work based on the -Program), the recipient automatically receives a license from the -original licensor to copy, distribute or modify the Program subject to -these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties to -this License. - - 7. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Program at all. For example, if a patent -license would not permit royalty-free redistribution of the Program by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Program. - -If any portion of this section is held invalid or unenforceable under -any particular circumstance, the balance of the section is intended to -apply and the section as a whole is intended to apply in other -circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system, which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 8. If the distribution and/or use of the Program is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Program under this License -may add an explicit geographical distribution limitation excluding -those countries, so that distribution is permitted only in or among -countries not thus excluded. In such case, this License incorporates -the limitation as if written in the body of this License. - - 9. The Free Software Foundation may publish revised and/or new versions -of the General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - -Each version is given a distinguishing version number. If the Program -specifies a version number of this License which applies to it and "any -later version", you have the option of following the terms and conditions -either of that version or of any later version published by the Free -Software Foundation. If the Program does not specify a version number of -this License, you may choose any version ever published by the Free Software -Foundation. - - 10. If you wish to incorporate parts of the Program into other free -programs whose distribution conditions are different, write to the author -to ask for permission. For software which is copyrighted by the Free -Software Foundation, write to the Free Software Foundation; we sometimes -make exceptions for this. Our decision will be guided by the two goals -of preserving the free status of all derivatives of our free software and -of promoting the sharing and reuse of software generally. - - NO WARRANTY - - 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY -FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN -OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES -PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED -OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS -TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE -PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, -REPAIR OR CORRECTION. - - 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR -REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, -INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING -OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED -TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY -YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER -PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE -POSSIBILITY OF SUCH DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - - -Also add information on how to contact you by electronic and paper mail. - -If the program is interactive, make it output a short notice like this -when it starts in an interactive mode: - - Gnomovision version 69, Copyright (C) year name of author - Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, the commands you use may -be called something other than `show w' and `show c'; they could even be -mouse-clicks or menu items--whatever suits your program. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the program, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the program - `Gnomovision' (which makes passes at compilers) written by James Hacker. - - , 1 April 1989 - Ty Coon, President of Vice - -This General Public License does not permit incorporating your program into -proprietary programs. If your program is a subroutine library, you may -consider it more useful to permit linking proprietary applications with the -library. If this is what you want to do, use the GNU Library General -Public License instead of this License. diff --git a/GRIB_BLE_HUB/libs/ble_extend/COPYING.LIB b/GRIB_BLE_HUB/libs/ble_extend/COPYING.LIB deleted file mode 100644 index 1f7c8cc..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/COPYING.LIB +++ /dev/null @@ -1,504 +0,0 @@ - GNU LESSER GENERAL PUBLIC LICENSE - Version 2.1, February 1999 - - Copyright (C) 1991, 1999 Free Software Foundation, Inc. - 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - -[This is the first released version of the Lesser GPL. It also counts - as the successor of the GNU Library Public License, version 2, hence - the version number 2.1.] - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -Licenses are intended to guarantee your freedom to share and change -free software--to make sure the software is free for all its users. - - This license, the Lesser General Public License, applies to some -specially designated software packages--typically libraries--of the -Free Software Foundation and other authors who decide to use it. You -can use it too, but we suggest you first think carefully about whether -this license or the ordinary General Public License is the better -strategy to use in any particular case, based on the explanations below. - - When we speak of free software, we are referring to freedom of use, -not price. Our General Public Licenses are designed to make sure that -you have the freedom to distribute copies of free software (and charge -for this service if you wish); that you receive source code or can get -it if you want it; that you can change the software and use pieces of -it in new free programs; and that you are informed that you can do -these things. - - To protect your rights, we need to make restrictions that forbid -distributors to deny you these rights or to ask you to surrender these -rights. These restrictions translate to certain responsibilities for -you if you distribute copies of the library or if you modify it. - - For example, if you distribute copies of the library, whether gratis -or for a fee, you must give the recipients all the rights that we gave -you. You must make sure that they, too, receive or can get the source -code. If you link other code with the library, you must provide -complete object files to the recipients, so that they can relink them -with the library after making changes to the library and recompiling -it. And you must show them these terms so they know their rights. - - We protect your rights with a two-step method: (1) we copyright the -library, and (2) we offer you this license, which gives you legal -permission to copy, distribute and/or modify the library. - - To protect each distributor, we want to make it very clear that -there is no warranty for the free library. Also, if the library is -modified by someone else and passed on, the recipients should know -that what they have is not the original version, so that the original -author's reputation will not be affected by problems that might be -introduced by others. - - Finally, software patents pose a constant threat to the existence of -any free program. We wish to make sure that a company cannot -effectively restrict the users of a free program by obtaining a -restrictive license from a patent holder. Therefore, we insist that -any patent license obtained for a version of the library must be -consistent with the full freedom of use specified in this license. - - Most GNU software, including some libraries, is covered by the -ordinary GNU General Public License. This license, the GNU Lesser -General Public License, applies to certain designated libraries, and -is quite different from the ordinary General Public License. We use -this license for certain libraries in order to permit linking those -libraries into non-free programs. - - When a program is linked with a library, whether statically or using -a shared library, the combination of the two is legally speaking a -combined work, a derivative of the original library. The ordinary -General Public License therefore permits such linking only if the -entire combination fits its criteria of freedom. The Lesser General -Public License permits more lax criteria for linking other code with -the library. - - We call this license the "Lesser" General Public License because it -does Less to protect the user's freedom than the ordinary General -Public License. It also provides other free software developers Less -of an advantage over competing non-free programs. These disadvantages -are the reason we use the ordinary General Public License for many -libraries. However, the Lesser license provides advantages in certain -special circumstances. - - For example, on rare occasions, there may be a special need to -encourage the widest possible use of a certain library, so that it becomes -a de-facto standard. To achieve this, non-free programs must be -allowed to use the library. A more frequent case is that a free -library does the same job as widely used non-free libraries. In this -case, there is little to gain by limiting the free library to free -software only, so we use the Lesser General Public License. - - In other cases, permission to use a particular library in non-free -programs enables a greater number of people to use a large body of -free software. For example, permission to use the GNU C Library in -non-free programs enables many more people to use the whole GNU -operating system, as well as its variant, the GNU/Linux operating -system. - - Although the Lesser General Public License is Less protective of the -users' freedom, it does ensure that the user of a program that is -linked with the Library has the freedom and the wherewithal to run -that program using a modified version of the Library. - - The precise terms and conditions for copying, distribution and -modification follow. Pay close attention to the difference between a -"work based on the library" and a "work that uses the library". The -former contains code derived from the library, whereas the latter must -be combined with the library in order to run. - - GNU LESSER GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License Agreement applies to any software library or other -program which contains a notice placed by the copyright holder or -other authorized party saying it may be distributed under the terms of -this Lesser General Public License (also called "this License"). -Each licensee is addressed as "you". - - A "library" means a collection of software functions and/or data -prepared so as to be conveniently linked with application programs -(which use some of those functions and data) to form executables. - - The "Library", below, refers to any such software library or work -which has been distributed under these terms. A "work based on the -Library" means either the Library or any derivative work under -copyright law: that is to say, a work containing the Library or a -portion of it, either verbatim or with modifications and/or translated -straightforwardly into another language. (Hereinafter, translation is -included without limitation in the term "modification".) - - "Source code" for a work means the preferred form of the work for -making modifications to it. For a library, complete source code means -all the source code for all modules it contains, plus any associated -interface definition files, plus the scripts used to control compilation -and installation of the library. - - Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running a program using the Library is not restricted, and output from -such a program is covered only if its contents constitute a work based -on the Library (independent of the use of the Library in a tool for -writing it). Whether that is true depends on what the Library does -and what the program that uses the Library does. - - 1. You may copy and distribute verbatim copies of the Library's -complete source code as you receive it, in any medium, provided that -you conspicuously and appropriately publish on each copy an -appropriate copyright notice and disclaimer of warranty; keep intact -all the notices that refer to this License and to the absence of any -warranty; and distribute a copy of this License along with the -Library. - - You may charge a fee for the physical act of transferring a copy, -and you may at your option offer warranty protection in exchange for a -fee. - - 2. You may modify your copy or copies of the Library or any portion -of it, thus forming a work based on the Library, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) The modified work must itself be a software library. - - b) You must cause the files modified to carry prominent notices - stating that you changed the files and the date of any change. - - c) You must cause the whole of the work to be licensed at no - charge to all third parties under the terms of this License. - - d) If a facility in the modified Library refers to a function or a - table of data to be supplied by an application program that uses - the facility, other than as an argument passed when the facility - is invoked, then you must make a good faith effort to ensure that, - in the event an application does not supply such function or - table, the facility still operates, and performs whatever part of - its purpose remains meaningful. - - (For example, a function in a library to compute square roots has - a purpose that is entirely well-defined independent of the - application. Therefore, Subsection 2d requires that any - application-supplied function or table used by this function must - be optional: if the application does not supply it, the square - root function must still compute square roots.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Library, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Library, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote -it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Library. - -In addition, mere aggregation of another work not based on the Library -with the Library (or with a work based on the Library) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may opt to apply the terms of the ordinary GNU General Public -License instead of this License to a given copy of the Library. To do -this, you must alter all the notices that refer to this License, so -that they refer to the ordinary GNU General Public License, version 2, -instead of to this License. (If a newer version than version 2 of the -ordinary GNU General Public License has appeared, then you can specify -that version instead if you wish.) Do not make any other change in -these notices. - - Once this change is made in a given copy, it is irreversible for -that copy, so the ordinary GNU General Public License applies to all -subsequent copies and derivative works made from that copy. - - This option is useful when you wish to copy part of the code of -the Library into a program that is not a library. - - 4. You may copy and distribute the Library (or a portion or -derivative of it, under Section 2) in object code or executable form -under the terms of Sections 1 and 2 above provided that you accompany -it with the complete corresponding machine-readable source code, which -must be distributed under the terms of Sections 1 and 2 above on a -medium customarily used for software interchange. - - If distribution of object code is made by offering access to copy -from a designated place, then offering equivalent access to copy the -source code from the same place satisfies the requirement to -distribute the source code, even though third parties are not -compelled to copy the source along with the object code. - - 5. A program that contains no derivative of any portion of the -Library, but is designed to work with the Library by being compiled or -linked with it, is called a "work that uses the Library". Such a -work, in isolation, is not a derivative work of the Library, and -therefore falls outside the scope of this License. - - However, linking a "work that uses the Library" with the Library -creates an executable that is a derivative of the Library (because it -contains portions of the Library), rather than a "work that uses the -library". The executable is therefore covered by this License. -Section 6 states terms for distribution of such executables. - - When a "work that uses the Library" uses material from a header file -that is part of the Library, the object code for the work may be a -derivative work of the Library even though the source code is not. -Whether this is true is especially significant if the work can be -linked without the Library, or if the work is itself a library. The -threshold for this to be true is not precisely defined by law. - - If such an object file uses only numerical parameters, data -structure layouts and accessors, and small macros and small inline -functions (ten lines or less in length), then the use of the object -file is unrestricted, regardless of whether it is legally a derivative -work. (Executables containing this object code plus portions of the -Library will still fall under Section 6.) - - Otherwise, if the work is a derivative of the Library, you may -distribute the object code for the work under the terms of Section 6. -Any executables containing that work also fall under Section 6, -whether or not they are linked directly with the Library itself. - - 6. As an exception to the Sections above, you may also combine or -link a "work that uses the Library" with the Library to produce a -work containing portions of the Library, and distribute that work -under terms of your choice, provided that the terms permit -modification of the work for the customer's own use and reverse -engineering for debugging such modifications. - - You must give prominent notice with each copy of the work that the -Library is used in it and that the Library and its use are covered by -this License. You must supply a copy of this License. If the work -during execution displays copyright notices, you must include the -copyright notice for the Library among them, as well as a reference -directing the user to the copy of this License. Also, you must do one -of these things: - - a) Accompany the work with the complete corresponding - machine-readable source code for the Library including whatever - changes were used in the work (which must be distributed under - Sections 1 and 2 above); and, if the work is an executable linked - with the Library, with the complete machine-readable "work that - uses the Library", as object code and/or source code, so that the - user can modify the Library and then relink to produce a modified - executable containing the modified Library. (It is understood - that the user who changes the contents of definitions files in the - Library will not necessarily be able to recompile the application - to use the modified definitions.) - - b) Use a suitable shared library mechanism for linking with the - Library. A suitable mechanism is one that (1) uses at run time a - copy of the library already present on the user's computer system, - rather than copying library functions into the executable, and (2) - will operate properly with a modified version of the library, if - the user installs one, as long as the modified version is - interface-compatible with the version that the work was made with. - - c) Accompany the work with a written offer, valid for at - least three years, to give the same user the materials - specified in Subsection 6a, above, for a charge no more - than the cost of performing this distribution. - - d) If distribution of the work is made by offering access to copy - from a designated place, offer equivalent access to copy the above - specified materials from the same place. - - e) Verify that the user has already received a copy of these - materials or that you have already sent this user a copy. - - For an executable, the required form of the "work that uses the -Library" must include any data and utility programs needed for -reproducing the executable from it. However, as a special exception, -the materials to be distributed need not include anything that is -normally distributed (in either source or binary form) with the major -components (compiler, kernel, and so on) of the operating system on -which the executable runs, unless that component itself accompanies -the executable. - - It may happen that this requirement contradicts the license -restrictions of other proprietary libraries that do not normally -accompany the operating system. Such a contradiction means you cannot -use both them and the Library together in an executable that you -distribute. - - 7. You may place library facilities that are a work based on the -Library side-by-side in a single library together with other library -facilities not covered by this License, and distribute such a combined -library, provided that the separate distribution of the work based on -the Library and of the other library facilities is otherwise -permitted, and provided that you do these two things: - - a) Accompany the combined library with a copy of the same work - based on the Library, uncombined with any other library - facilities. This must be distributed under the terms of the - Sections above. - - b) Give prominent notice with the combined library of the fact - that part of it is a work based on the Library, and explaining - where to find the accompanying uncombined form of the same work. - - 8. You may not copy, modify, sublicense, link with, or distribute -the Library except as expressly provided under this License. Any -attempt otherwise to copy, modify, sublicense, link with, or -distribute the Library is void, and will automatically terminate your -rights under this License. However, parties who have received copies, -or rights, from you under this License will not have their licenses -terminated so long as such parties remain in full compliance. - - 9. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Library or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Library (or any work based on the -Library), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Library or works based on it. - - 10. Each time you redistribute the Library (or any work based on the -Library), the recipient automatically receives a license from the -original licensor to copy, distribute, link with or modify the Library -subject to these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties with -this License. - - 11. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Library at all. For example, if a patent -license would not permit royalty-free redistribution of the Library by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Library. - -If any portion of this section is held invalid or unenforceable under any -particular circumstance, the balance of the section is intended to apply, -and the section as a whole is intended to apply in other circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 12. If the distribution and/or use of the Library is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Library under this License may add -an explicit geographical distribution limitation excluding those countries, -so that distribution is permitted only in or among countries not thus -excluded. In such case, this License incorporates the limitation as if -written in the body of this License. - - 13. The Free Software Foundation may publish revised and/or new -versions of the Lesser General Public License from time to time. -Such new versions will be similar in spirit to the present version, -but may differ in detail to address new problems or concerns. - -Each version is given a distinguishing version number. If the Library -specifies a version number of this License which applies to it and -"any later version", you have the option of following the terms and -conditions either of that version or of any later version published by -the Free Software Foundation. If the Library does not specify a -license version number, you may choose any version ever published by -the Free Software Foundation. - - 14. If you wish to incorporate parts of the Library into other free -programs whose distribution conditions are incompatible with these, -write to the author to ask for permission. For software which is -copyrighted by the Free Software Foundation, write to the Free -Software Foundation; we sometimes make exceptions for this. Our -decision will be guided by the two goals of preserving the free status -of all derivatives of our free software and of promoting the sharing -and reuse of software generally. - - NO WARRANTY - - 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO -WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. -EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR -OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY -KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE -LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME -THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN -WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY -AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU -FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR -CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE -LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING -RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A -FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF -SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Libraries - - If you develop a new library, and you want it to be of the greatest -possible use to the public, we recommend making it free software that -everyone can redistribute and change. You can do so by permitting -redistribution under these terms (or, alternatively, under the terms of the -ordinary General Public License). - - To apply these terms, attach the following notices to the library. It is -safest to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least the -"copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - -Also add information on how to contact you by electronic and paper mail. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the library, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the - library `Frob' (a library for tweaking knobs) written by James Random Hacker. - - , 1 April 1990 - Ty Coon, President of Vice - -That's all there is to it! - - diff --git a/GRIB_BLE_HUB/libs/ble_extend/ChangeLog b/GRIB_BLE_HUB/libs/ble_extend/ChangeLog deleted file mode 100644 index 1e7be52..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/ChangeLog +++ /dev/null @@ -1,1778 +0,0 @@ -ver 5.4: - Fix issue with invalid memory access and SDP service search. - Add support for available player changed event for controller. - Add support for UIDs changed event for AVRCP controller. - Add support for mandatory AVRCP pass-through operations. - Add support for Message Notification Service (MNS) server. - Add support for agent methods within command line client. - -ver 5.3: - Fix issue with registering invalid profiles. - Fix issue with inconsistent A2DP transport state. - Fix issue with A2DP resume while in configured state. - Fix issue with buffer overflow when processing SDP response. - Fix issue with missing range check for SDP attribute response. - Fix issue with missing validation of SDP data elements. - Fix issue with missing fallback to static hostname. - Fix issue with default adapter assignment. - -ver 5.2: - Fix issue with connection handling for Low Energy. - Fix issue with broken device discovery handling. - Fix issue with invalid memory access within A2DP. - Fix issue with handling empty path name of SetPath. - Fix issue with handling Message Access Profile filters. - Fix issue with handling network service unregistration. - Fix issue with not handling bogus device pairing results. - Fix issue with initial service discovery and profile manager. - Add support for AVRCP volume notifications. - Add support for AVRCP browsing commands. - -ver 5.1: - Fix issue with crash when removing OBEX session. - Fix issue with HID device disconnected from kernel. - Fix issue with buffer overflow when parsing HID SDP record. - Fix issue with SDP_TEXT_STR16 and SDP_URL_STR16 parsing. - Add support for integration with systemd's hostname daemon. - Add support for separate adapter alias property. - Add support for adapter and device modalias properties. - Add support for official BlueZ device information. - Add support for asynchronous management interface handling. - Add tool for testing management interface compliance. - Add tool for testing SDP qualification requirements. - Add tool for testing various EIR and AD data records. - -ver 5.0: - Introduce D-Bus Properties and ObjectManager interfaces. - Add support for generic profile interface. - Add support for global agent interface. - Add support for integrated OBEX daemon. - Add support for integrated hcidump utility. - Add support for Bluetooth tracing and monitor utility. - Add support for Bluetooth command line client utility. - Remove support for Handsfree gateway handling. - Remove support for GStreamer A2DP and SBC elements. - Disable default installation of Bluetooth library. - -ver 4.101: - Fix issue with missing BlueZ service file. - Fix issue with aborting A2DP setup during AVDTP start. - Fix issue with handling of multiple A2DP indication. - Fix issue with handling AVDTP abort with invalid SEID. - Fix issue with rejecting AVDTP abort commands. - Add support for handling AVDTP command collision. - -ver 4.100: - Fix issue with crashing when SCO connection fails. - Fix issue with HFP gateway failing on first GSM connection. - Fix issue with AVRCP and handling of vendor commands. - Fix issue with handling AVRCP subunit info command. - Fix issue with missing capability for AVRCP track reached end. - Fix issue with AVDTP signaling and GStreamer SBC NULL check. - Fix issue with AVDTP Reconfigure Reject message. - Fix issue with incorrect EIR length parsing. - Fix issue with SDP disconnect for HIDSDPDisable. - Fix issue with SDP interoperability with Mac OS X Lion. - Fix issue with reverse SDP discovery with some devices. - Fix issue with discovering state during power off operation. - Add support for AVRCP Volume Changed notifications. - Add support for AVRCP Set Absolute Volume handling. - Add support for display legacy PIN code agent method. - Add support for multiple media transports per endpoint. - Add support for discovering device information characteristics. - Add support for vendor source for Device ID setting. - Add support for immediate alert server. - Add support for link loss server. - - Notes: - This version requires D-Bus 1.4 or later. - This version requires GLib 2.28 or later. - -ver 4.99: - Fix issue with missing retries for BNEP connection setup. - Fix issue with not showing name if first EIR has no details. - Fix issue with running SDP discovery for LE devices. - Add support for GATT using 128-bit Bluetooth UUIDs. - Add support for retrieving key size information. - Add support for storing Long Term Keys. - Add support for Proximity Reporter API. - Add support for KeyboardDisplay IO capability. - Add support for version 1.0 of management API. - Add support for monitoring interface. - -ver 4.98: - Fix issue with adapter list upon initialization failure. - Fix issue with missing legacy property for Low Energy. - Fix issue with missing EIR information handling. - Fix issue with device address type tracking. - Fix issue with alert level characteristic. - Fix issue with headset shutdown handling. - Fix issue with Wiimote address handling. - Add support for advanced l2test options. - Add support for attribute protocol and multiple adapters. - -ver 4.97: - Update support for proximity profile. - Fix issue with SBC audio decoding quality. - Fix multiple issues with HFP support. - Fix multiple issues with A2DP support. - Fix multiple issues with AVDTP support. - Fix multiple issues with AVRCP support. - Add support for AVRCP meta-data transfer. - Add support for Bluetooth based thermometers. - -ver 4.96: - Fix issue with race condition in AVDTP stream start. - Fix issue with global adapter offline switching. - Fix issue with pairing and No Bonding devices. - Add support for Nintendo Wii Remote pairing. - -ver 4.95: - Fix issue with AVCTP replies with invalid PID. - Fix issue with AVRCP and unknown packet types. - Fix issue with AVRCP not using NOT_IMPLEMENTED correctly. - Fix issue with AVDTP discovery if all endpoints are in use. - Fix issue with invalid memory writes and media support. - Fix issue with not removing device alias and unbonding. - Fix issue with device disconnects and offline mode handling. - Add support for setting adapter name based on machine-info. - Add support for systemd service configuration. - -ver 4.94: - Fix issue with invalid read of memory in various modules. - Fix issue with buffer overflow when sending AVDTP commands. - Fix issue with response to vendor dependent AVRCP commands. - Fix issue with headset when not able to reply with ERROR. - Fix issue with crash when creating a device from storage. - Fix issue with handling non UTF-8 devices names. - Add support for improved discovery procedure. - -ver 4.93: - Fix issue with property type and Health Main channel. - Fix issue with crash when removing devices. - Add support for hid2hci and udev integration. - -ver 4.92: - Fix issue with handling of A2DP suspend response. - Fix issue with crashing when acquiring A2DP stream. - Fix issue with missing check for valid SCO before shutdown. - Fix issue with waiting for POLLERR when disconnecting SCO. - Fix issue with disconnect after primary service discovery. - Fix issue with attribute interface registration. - Add support for primary services over BR/EDR. - Add support for flushable packets of A2DP media. - -ver 4.91: - Fix issue with LMP version string and hciconfig. - Fix issue with missing discovery signal when scanning. - Fix issue with wrong state and canceling name resolving. - Fix issue with missing check during adapter initialization. - Fix issue with missing protocol not supported error and A2DP. - Fix issue with crash during driver unregistering and A2DP. - Fix issue with crash when receiving AVDTP close command. - Fix issue with remote SEP handling when A2DP codec changes. - Fix issue with SCO hangup handling and state changes. - Fix issue with security level and MCAP instances. - Fix issue with memory leak and HDP data channels. - Add support for discover characteristics by UUID to gatttool. - Add initial support for Out-of-Band association model. - Add initial support for SIM Access Profile. - -ver 4.90: - Fix issue with setting of global mode property. - Fix issue with handling of RequestSession responses. - Fix issue with TP_BNEP_CTRL_BV_01_C qualification test. - Fix issue with too short AVDTP request timeout. - Add support for SIM Access Profile manager. - Add support for new UUID utility functions. - Add support for attribute server notifications. - Add support for client characteristic configuration. - Update support for interactive GATT utility. - -ver 4.89: - Fix issue with name resolving when discovery is suspended. - Fix issue with parsing flags of advertising report. - Fix issue with SEP handling if interface is disabled. - Fix issue with device object creation on disconnect event. - Fix issue with indicators whenever the driver is initialized. - Fix issue with call indicator when parsing call info reply. - Fix issue with crash and allowed GATT MTU was too large. - Add support for SDP record of Primary GATT services. - Add support for interactive mode for GATT utility. - -ver 4.88: - Fix issue with HID channel reference count handling. - Fix issue with daemon exit on badly formatted AT+VTS. - Fix issue with crash while parsing of endpoint properties. - Fix issue with possible crash on AVDTP Suspend request timeout. - Fix issue with stopping inquiry before adapter is initialized. - Fix issue with creating device object when connection fails. - Fix issue with sending HCIDEVUP when adapter is already up. - Fix issue with handling bonding IO channel closing. - Fix agent cancellation in security mode 3 situations. - Update pairing code to support management interface. - -ver 4.87: - Fix issue with initialization when adapter is already up. - Fix issue with attribute server MTU and incoming connections. - Fix issue with duplicate characteristics after discovery. - -ver 4.86: - Revert wrong fix for SDP PDU size error response. - Fix various memory leaks in A2DP and AVDTP support. - Add Routing property to MediaTransport interface - Add proper tracking mechanism to NREC status. - Add READ_BLOB_REQUEST support to attribute server. - -ver 4.85: - Fix issue with event mask setting for older adapters. - Fix issue with device creation and pairing failures. - Add support for telephony support via oFono. - Add support for characteristic security level. - Update support for service registration. - -ver 4.84: - Fix issue with wrong parameters and device found signals. - Fix issue with leaking EIR data if RSSI does not change. - Fix issue with adapter initialization state. - Fix issue with closing of SDP server sockets. - -ver 4.83: - Fix issue with already connected HFP/HSP endpoints. - Fix missing reply when create device is canceled. - Fix memory leak within the attribute server. - Fix memory leak with unused extended inquiry name. - Fix setting paired state when device->authr is false. - Fix clearing authentication request for renewed keys. - Add support for storing link keys in runtime memory. - Update support for primary service discovery. - -ver 4.82: - Fix crash with mmap of files with multiples of page size. - Fix HFP response and hold (AT+BTRH) command response. - Fix device creation error response when powered off. - Fix device removal when connecting/browsing fails. - Add initial attribute permission implementation. - Add AVDTP SRC stream send buffer size verification. - Add support for setting link policy based on features. - -ver 4.81: - Fix issue with telephony driver initialization. - Fix issue with adapter services list initialization. - Fix crash after simultaneous authentication requests. - Add support for primary service search on device creation. - -ver 4.80: - Fix legacy link key storing for some buggy adapters. - Fix invalid memory access when EIR field length is zero. - Fix adapter initialization to wait for kernel HCI commands. - Fix initialization of adapters which are already up. - Fix possible race condition when initializing adapters. - Fix possible crashes when attempting to connect AVDTP. - Fix not aborting sink stream configuration on disconnect. - Fix not indicating disconnected state when connecting to AVDTP. - Fix not dropping AVDTP session when canceling stream setup. - Fix AVDTP abort not being send when the state is idle. - Fix regression with Low Energy and interleave discovery. - Add a new configuration option to disable Low Energy support. - Add iwmmxt optimization for SBC for ARM PXA series CPUs. - Update support for GATT Primary Service Discovery. - Update MCAP and HDP support. - -ver 4.79: - Fix issue with adapter initialization race condition. - Update new Bluetooth Management interface support. - -ver 4.78: - Fix various issues with AVDTP timer handling. - Fix various issues with handling of mode changes. - Fix issue with audio disconnect watch in connecting state. - Fix issue with handling call waiting indicators in telephony. - Fix issue with handling UUID parameter and RegisterEndpoint. - Add initial support for Bluetooth Management interface. - Add support for Application property to HealthChannel. - -ver 4.77: - Fix issue with device name and accessing already freed memory. - Fix issue with handling CHLD=0 command for handsfree. - Fix issue with manager properties and no adapters. - Fix issue with properties and broken service records. - Fix issue with A2DP playback and sample rate changes. - Update MCAP and HDP support. - -ver 4.76: - Fix issue in telephony driver with hanging up held call. - Fix issue in telephony driver with notifications when on hold. - Fix issue with blocking on setconf confirmation callback. - Fix issue with not always signaling new streams as sinks. - Fix issue with errors in case of endpoint request timeout. - Fix issue with HFP/HSP microphone and speaker gain values. - Add source if the device attempt to configure local sink stream. - Add PSM option for GATT/ATT over BR/EDR on gatttool. - Add support for GATT/ATT Attribute Write Request. - Update MCAP and HDP support. - -ver 4.75: - Fix use of uninitialized variable on legacy pairing. - Fix mismatch of attribute protocol opcode. - -ver 4.74: - Fix regression for Legacy Pairing. - Fix wrong PSM value for attribute protocol. - Fix issue with RSSI field in advertising reports. - Add support for Add BR/EDR and LE interleaved discovery. - Add support for GATT write characteristic value option. - Add support for specifying download address for AR300x. - -ver 4.73: - Fix problem with EIR data when setting the name. - Fix reading local name from command complete event. - Fix registering local endpoints with disabled socket interface. - Add support for more HCI operations using ops infrastructure. - Add support for GATT characteristic hierarchy. - Add support for GATT indications. - -ver 4.72: - Fix memory leak while connecting BTIO channels. - Fix crash with GStreamer plugin if SBC is not supported. - Fix issue with GATT server stop sending notifications. - Fix issue with GATT and dealing with the minimum MTU size. - Fix issue with file descriptor leak in GATT client. - Add support for UUID 128-bit handling in attribute client. - Add support for encoders/decoders for MTU Exchange. - Add support for the MTU Exchange procedure to the server. - Add support for a per channel MTU to the ATT server. - Add support for Characteristic interface. - Add support for new Media API and framework. - Add initial support for HDP plugin. - -ver 4.71: - Fix compilation when SBC support in not enabled. - Fix crash with RequestSession and application disconnects. - Fix memory leak and possible crash when removing audio device. - Fix issue with closing stream of locked sep when reconfiguring. - Fix issue where discovery could interfere with bonding. - Fix issue with Connected status when PS3 BD remote connects. - Fix issue with lifetime of fake input devices. - Add support for compile time option of oui.txt path. - Add support for printing IEEE1284 device ID for CUPS. - Add plugin for setting adapter class via DMI. - Add more features for attribute protocol and profile. - Add initial support for MCAP. - -ver 4.70: - Fix incoming call indication handling when in WAITING state. - Fix various SDP related qualification test case issues. - Fix logic to write EIR when SDP records are changed. - Fix UTF-8 validity check for remote names in EIR. - Add support for UUID-128 extended inquiry response. - Add service UUIDs from EIR to the DeviceFound signal. - Add fast connectable feature for Handsfree profile. - Add HCI command and event definitions for AMP support. - Add firmware download support for Qualcommh devices. - Add host level support for Atheros AR300x device. - Add initial support of ATT and GATT for basic rate. - -ver 4.69: - Fix issue with calling g_option_context_free() twice. - Fix inconsistencies with initial LE commands and events. - Add support for telephony ClearLastNumber method. - Add support for network server interface. - -ver 4.68: - Fix initialization of adapters in RAW mode. - Fix signal strength for HFP in Maemo's telephony support. - Add support for following the radio state via Maemo's MCE. - Add initial set of LE commands and events definitions. - Add mode option for L2CAP sockets to the BtIO API. - -ver 4.67: - Fix issue with authentication reply when bonding already completed. - Fix issue with not canceling authentication when bonding fails. - Fix issue with changed combination keys and temporary storage. - Fix issue with sdp_get_supp_feat library function. - Fix issue with missing unblock on device removal. - Fix issue with not waiting for mode change completion. - Add ARMv6 optimized version of analysis filter for SBC encoder. - -ver 4.66: - Fix regression with full debug enabling via SIGUSR2. - Fix redundant speaker/microphone gains being sent. - Fix not emitting PropertyChanged for SpeakerGain/MicrophoneGain. - Fix issue with storage usage when a record is not found in memory. - Fix issue with DiscoverServices not retrieving any records. - Fix audio profile disconnection order to match whitepaper. - Fix auto-accept confirmation when local agent has NoInputNoOutput. - Fix remote just-works SSP when MITM protection is required. - Fix performing dedicated bonding without MITM requirement. - Add support for storing debug link keys in runtime memory. - -ver 4.65: - Fix issues with general bonding being default setting now. - Fix driver removal upon device removal. - Add new "Blocked" property to device objects. - Add hciconfig support for blacklisting. - Add support for dynamic debug feature. - -ver 4.64: - Fix invalid memory access in headset_get_nrec function. - Fix issue with disconnect event on higher protocol layers. - Fix issue with list parsing in sdp_set_supp_features function. - Fix device object reference counting for SDP browse requests. - Add missing memory checks whenever memory is allocated for SDP. - Add support for exporting local services via D-Bus. - Add more L2CAP Enhanced Retransmission test options. - -ver 4.63: - Fix avdtp_abort not canceling pending requests. - Fix stale connection when abort gets rejected. - -ver 4.62: - Fix accidental symbol breakage with inquiry transmit power. - Fix using invalid data from previous headset connection. - Fix double free on AVDTP Abort response. - Fix possible crash while verifying AVDTP version. - Fix missing inuse flag when AVDTP stream is configured. - Add support for Bluetooth controller types. - -ver 4.61: - Fix issues with Read Inquiry Response Transmit Power Level. - Fix possible invalid read when removing a temporary device. - Fix mode restoration when remember_powered is false. - Fix conference call releasing in telephony-maemo. - Fix segmentation fault with authorization during headset disconnects. - Add support for handling unanswered AVDTP request on disconnect. - Add support for handling Inquiry Response Transmit Power Level. - Add support for caching of remote host features. - Add preliminary voice dialing support for HSP. - -ver 4.60: - Fix voice mailbox number reading from SIM. - Fix some races with D-Bus mainloop integration. - Add helpers for D-Bus signal watches. - -ver 4.59: - Add values for Bluetooth 4.0 specification. - Add SDP functions for HDP support. - Add test scripts for input and audio. - Fix missing close on BtIO create_io function. - Fix sending incorrect AVDTP commands after timeout occurs. - Fix timer removal when device disconnects unexpectedly. - Fix Extended Inquiry Response record for Device ID. - -ver 4.58: - Fix crash when adapter agent exists during authentication. - Fix CK-20W quirks for play and pause events. - -ver 4.57: - Fix unloading of drivers for uninitialized adapters. - Fix debug message to use requested and not opened SEID. - Fix codec selection for GStreamer plugin. - Fix deleting of SDP records during service updates. - Fix deleting of SDP records when a device is removed. - Fix handling when the SDP record is modified on remote device. - Fix potential buffer overflow by using snprintf instead of sprintf. - Fix const declarations for some storage function parameters. - -ver 4.56: - Add missing values from Bluetooth 3.0 specification. - Add proper tracking of device paired status. - Fix tracking of devices without permanently stored link key. - Fix issue with link key removal after connection failures. - Fix legacy pairing information based on remote host features. - Fix off-by-one issue with AVDTP capability parsing. - Fix AVRCP, AVCTP, AVDTP, A2DP and HFP version numbers. - Fix agent canceling before calling agent_destroy. - Fix service record parsing with an empty UUID list. - Fix various SDP related memory leaks. - -ver 4.55: - Add support for POSIX capabilities dropping. - Add special quirk for the Nokia CK-20W car kit. - Fix error code handling for AVDTP SetConfiguration response. - Fix updating out of range list when RSSI hasn't changed. - Fix various memory leaks and unnecessary error checks. - -ver 4.54: - Add introspection interface to output of introspection calls. - Fix stream handling when media transport disconnects prematurely. - Fix command timeout handling when there's no stream. - Fix headset_suspend_stream behavior for invalid states - Fix issue with AVDTP ABORTING state transition. - Fix issue with AVDTP suspend while closing. - -ver 4.53: - Fix issue with telephony connection state notifications. - Fix AVDTP stream leak for invalid media transport config. - Fix audio connection authorization handling with timeouts. - Fix race condition in authorizing audio connections. - Fix device authorized setting for AVRCP-only connections. - Fix duplicate attempts from device to connect signal channel. - -ver 4.52: - Add AVCTP support to test utility. - Fix AVDTP Abort when transport closes before response. - Fix authorization when the audio profiles are slow to connect. - Fix potential AVDTP reference leaks. - -ver 4.51: - Add utility for basic AVDTP testing. - Add support for configuring L2CAP FCS option. - Fix discovery mode for CUPS 1.4.x and later. - Fix global state tracking of audio service. - Fix last issues with the new build system. - -ver 4.50: - Fix issue with missing manual pages in distribution. - Fix issue with the configuration and state directories. - Fix issue with creating include directory. - Fix dependencies of include file generation. - -ver 4.49: - Add simple test program for basic GAP testing. - Add support for confirmation requests to agent example. - Add support for full non-recursive build. - Add five millisecond delay for Simple Pairing auto-accept. - Fix Class of Device setting when InitiallyPowered=false. - -ver 4.48: - Add library function for comparing UUID values. - Add support for creating all plugins as builtins. - Add support for async handling of service class changes. - Add support for source interface to audio IPC. - Fix device name settings when device is off or down. - Fix issue with enabled SCO server when not necessary. - Fix missing D-Bus access policy for CUPS backend. - Fix discovery results of CUPS backend. - Fix initialization handling of Maemo telephony. - -ver 4.47: - Add support for RFKILL unblock handling. - Add support for serial proxy configurations. - Add support for caching service class updates. - Fix issues with updating SDP service records. - Fix usage of limited discoverable mode. - Remove deprecated methods and signals for AudioSource. - -ver 4.46: - Add support for A2DP sink role. - Fix clearing svc_cache before the adapter is up. - Fix various pointer after free usages. - Fix various memory leaks. - -ver 4.45: - Fix UDEV_DATADIR fallback if pkg-config fails. - Fix adapter cleanup and setup prototypes. - Fix double-free with out-of-range devices. - Fix inband ring setting to be per-headset. - Fix handling of Maemo CSD startup. - -ver 4.44: - Add some missing manual pages. - Fix missing number prefix when installing udev rules. - Fix program prefix used in Bluetooth udev rules. - Fix three-way calling indicator order. - Fix downgrade/upgrade of callheld indicator. - Fix +CIEV sending when indicator value changes. - Fix signal handling for Maemo telephony driver. - Fix parsing issues with messages from Maemo CSD. - Fix issue with duplicate active calls. - -ver 4.43: - Add support for udev based on-demand startup. - Fix verbose error reporting of CUPS backend. - Fix various string length issues. - Fix issues with Maemo telephony driver. - Fix another device setup and temporary flag issue. - Fix and update example agent implementation. - -ver 4.42: - Add TI WL1271 to Texas Instruments chip list. - Add special udev mode to bluetoothd. - Fix regression when there is no agent registered. - Fix error return when bonding socket hang up. - Fix SCO server socket for HFP handsfree role. - Fix shutdown on SCO socket before closing. - Fix shutdown on A2DP audio stream channel before closing. - Fix issue with asserting on AVDTP reference count bugs. - Fix authorization denied issue with certain headsets. - Fix AVRCP UNITINFO and SUBUNIT INFO responses. - Fix discovery cancel issues in case SDP discovery fails. - -ver 4.41: - Fix pairing even if the ACL gets dropped before successful SDP. - Fix regression which caused device to be removed after pairing. - Fix HSP record fetching when remote device doesn't support it. - Fix SDP discovery canceling when clearing hs->pending. - Fix headset never connecting on the first attempt. - Fix headset state tracking if bt_search_service() fails. - Fix maximum headset connection count check. - Fix AVDTP Discover timeout handling. - Fix also UI_SET_KEYBIT for the new pause and play key codes. - -ver 4.40: - Add telephony driver for oFono telephony stack. - Add support for Dell specific HID proxy switching. - Add support for running hid2hci from udev. - Add mapping for AVRCP Play and Pause to dedicated key codes. - Fix AVRCP keycodes to better match existing X keymap support. - Fix various quoting issues within telephony support. - Fix memory allocation issue when generating PDUs for SDP. - Fix race condition on device removal. - Fix non-cancelable issue with CreateDevice method. - Fix non-working CancelDiscovery method call. - -ver 4.39: - Add workaround for dealing with unknown inquiry complete. - Fix discovering when using software scheduler. - Fix wrong NoInputNoOutput IO capability string. - Fix race condition with agent during pairing. - Fix agent cancellation for security mode 3 acceptor failure. - Fix temporary flag removal when device creation fails. - Fix hciattach to use ppoll instead of poll. - Fix service class update when adapter is down. - Fix service classes race condition during startup. - Fix release of audio client before freeing the device. - -ver 4.38: - Add support for builtin plugins. - Add framework for adapter operations. - Add constants for Enhanced Retransmission modes. - Fix HCI socket leak in device_remove_bonding. - Fix various format string issues. - Fix crashes with various free functions. - Fix issues with Headset and A2DP drivers to load again. - Fix sending AVRCP button released passthrough messages - Fix bug which prevent input devices to work after restart. - Fix issue with interpretation of UUID-128 as channel. - -ver 4.37: - Add version value for Bluetooth 3.0 devices. - Add additional L2CAP extended feature mask bits. - Add support for loading plugins in priority order. - Add support for more detailed usage of disconnect watches. - Add support for AVRCP volume control. - Add saturated clipping of SBC decoder output to 16-bit. - Fix potentially infinite recursion of adapter_up. - Fix SCO handling in the case of an incoming call. - Fix input service to use confirm callback. - Fix cleanup of temporary device entries from storage. - -ver 4.36: - Add proper tracking of AVCTP connect attempts. - Add support to channel pattern in Serial interface. - Fix A2DP sink crash if removing device while connecting. - Fix error handling if HFP indicators aren't initialized. - Fix segfault while handling an incoming SCO connection. - Fix Serial.Disconnect to abort connection attempt. - -ver 4.35: - Add support for Handsfree profile headset role. - Add additional checks for open SEIDs from clients. - Fix device removal while audio IPC client is connected. - Fix device removal when an authorization request is pending. - Fix incoming AVDTP connect while authorization in progress. - Fix disconnection timers for audio support. - Fix various potential NULL pointer deferences. - Fix callheld indicator value for multiple calls. - Fix voice number type usage. - Fix GDBus watch handling. - -ver 4.34: - Add support for version checks of plugins. - Add support for class property on adapter interface. - Add support for second SDP attempt after connection reset. - Add support for more detailed audio states. - Add support for HFP+A2DP auto connection feature. - Add support for new and improved audio IPC. - Add program for testing audio IPC interface. - Fix various AVDTP qualification related issues. - Fix broken SDP AttributeIdList parsing. - Fix invalid memory access of SDP URL handling. - Fix local class of device race conditions. - Fix issue with periodic inquiry on startup. - Fix missing temporary devices in some situations. - Fix SBC alignment issue for encoding with four subbands. - -ver 4.33: - Add Paired property to the DeviceFound signals. - Add support for Headset profile 1.2 version. - Fix broken network configuration when IPv6 is disabled. - Fix network regression that caused disconnection. - Fix SDP truncation of strings with NULL values. - Fix service discovery handling of CUPS helper. - -ver 4.32: - Fix broken SDP record handling. - Fix SDP data buffer parsing. - Fix more SDP memory leaks. - Fix read scan enable calls. - Fix A2DP stream handling. - -ver 4.31: - Add support for new BtIO helper library. - Fix AVDTP session close issue. - Fix SDP memory leaks. - Fix various uninitialized memory issues. - Fix duplicate signal emissions. - Fix property changes request handling. - Fix class of device storage handling. - -ver 4.30: - Add CID field to L2CAP socket address structure. - Fix reset of authentication requirements after bonding. - Fix storing of link keys when using dedicated bonding. - Fix storing of pre-Bluetooth 2.1 link keys. - Fix resetting trust settings on every reboot. - Fix handling of local name changes. - Fix memory leaks in hciconfig and hcitool - -ver 4.29: - Use AVRCP version 1.0 for now. - Decrease AVDTP idle timeout to one second. - Delay AVRCP connection when remote device connects A2DP. - Add workaround for AVDTP stream setup with broken headsets. - Add missing three-way calling feature bit for Handsfree. - Fix handsfree callheld indicator updating. - Fix parsing of all AT commands within the buffer. - Fix authentication replies when disconnected. - Fix handling of debug combination keys. - Fix handling of changed combination keys. - Fix handling of link keys when using no bonding. - Fix handling of invalid/unknown authentication requirements. - Fix closing of L2CAP raw socket used for dedicated bonding. - -ver 4.28: - Add AVDTP signal fragmentation support. - Add more SBC performance optimizations. - Add more SBC audio quality improvements. - Use native byte order for audio plugins. - Set the adapter alias only after checking the EIR data. - Fix auto-disconnect issue with explicit A2DP connections. - Fix invalid memory access of ALSA plugin. - Fix compilation with -Wsign-compare. - -ver 4.27: - Add more SBC optimization (MMX and ARM NEON). - Add BT_SECURITY and BT_DEFER_SETUP definitions. - Add support for deferred connection setup. - Add support for fragmentation of data packets. - Add option to trigger dedicated bonding. - Follow MITM requirements from remote device. - Require MITM for dedicated bonding if capabilities allow it. - Fix IO capabilities for non-pairing and pairing cases. - Fix no-bonding connections in non-bondable mode. - Fix new pairing detection with SSP. - Fix bonding with pre-2.1 devices and newer kernels. - Fix LIAC setting while toggling Pairable property. - Fix device creation for incoming security mode 3 connects. - Fix crash within A2DP with bogus pointer. - Fix issue with sdp_copy_record() function. - Fix crash with extract_des() if sdp_uuid_extract() fails. - -ver 4.26: - Use of constant shift in SBC quantization code. - Add possibility to analyze 4 blocks at once in encoder. - Fix correct handling of frame sizes in the encoder. - Fix for big endian problems in SBC codec. - Fix audio client socket to always be non-blocking. - Update telephony support for Maemo. - -ver 4.25: - Fix receiving data over the audio control socket. - Fix subbands selection for joint-stereo in SBC encoder. - Add new SBC analysis filter function. - -ver 4.24: - Fix signal emissions when removing adapters. - Fix missing adapter signals on exit. - Add support for bringing adapters down on exit. - Add support for RememberPowered option. - Add support for verbose compiler warnings. - Add more options to SBC encoder. - -ver 4.23: - Update audio IPC for better codec handling. - Fix bitstream optimization for SBC encoder. - Fix length header values of IPC messages. - Fix multiple coding style violations. - Fix FindDevice to handle temporary devices. - Add configuration option for DeviceID. - Add support for InitiallyPowered option. - Add missing signals for manager properties. - Add telephony support for Maemo. - -ver 4.22: - Add deny statements to D-Bus access policy. - Add support for LegacyPairing property. - Add support for global properties. - Add more commands to telephony testing script. - Add sender checks for serial and network interfaces. - Remove deprecated methods and signals from input interface. - Remove deprecated methods and signals from network interface. - Remove OffMode option and always use device down. - -ver 4.21: - Fix adapter initialization logic. - Fix adapter setup and start security manager early. - Fix usage issue with first_init variable. - -ver 4.20: - Cleanup session handling. - Cleanup mode setting handling. - Fix issue with concurrent audio clients. - Fix issue with HFP/HSP suspending. - Fix AT result code syntax handling. - Add Handsfree support for AT+NREC. - Add PairableTimeout adapter property. - -ver 4.19: - Fix installation of manual pages for old daemons. - Fix D-Bus signal emmissions for CreateDevice. - Fix issues with UUID probing. - Fix +BSRF syntax issue. - Add Pairable adapter property. - Add sdp_copy_record() library function. - -ver 4.18: - Fix release before close issue with RFCOMM TTYs. - Fix Connected property on input interface. - Fix DeviceFound signals during initial name resolving. - Fix service discovery handling. - Fix duplicate UUID detection. - Fix SBC gain mismatch and decoding handling. - Add more options to SBC encoder and decoder. - Add special any adapter object for service interface. - Add variable prefix to adapter and device object paths. - -ver 4.17: - Fix SBC encoder not writing last frame. - Fix missing timer for A2DP suspend. - Add more supported devices to hid2hci utility. - Add additional functionality to Handsfree support. - -ver 4.16: - Fix wrong parameter usage of watch callbacks. - Fix parameters for callback upon path removal. - Fix unloading of adapter drivers. - -ver 4.15: - Fix various A2DP state machine issues. - Fix some issues with the Handsfree error reporting. - Fix format string warnings with recent GCC versions. - Remove dependency on GModule. - -ver 4.14: - Fix types of property arrays. - Fix potential crash with input devices. - Fix PS3 BD remote input event generation. - Allow dynamic adapter driver registration. - Update udev rules. - -ver 4.13: - Fix service discovery and UUID handling. - Fix bonding issues with Simple Pairing. - Fix file descriptor misuse of SCO connections. - Fix various memory leaks in the device handling. - Fix AVCTP disconnect handling. - Fix GStreamer modes for MP3 encoding. - Add operator selection to Handsfree support. - -ver 4.12: - Fix crash with missing icon value. - Fix error checks of HAL plugin. - Fix SCO server socket cleanup on exit. - Fix memory leaks from DBusPendingCall. - Fix handling of pending authorization requests. - Fix missing protocol UUIDs in record pattern. - -ver 4.11: - Change SCO server socket into a generic one. - Add test script for dummy telephony plugin. - Fix uninitialized reply of multiple GetProperties methods. - -ver 4.10: - Fix memory leaks with HAL messages. - Add more advanced handsfree features. - Add properties to audio, input and network interfaces. - Stop device discovery timer on device removal. - -ver 4.9: - Fix signals for Powered and Discoverable properties. - Fix handling of Alias and Icon properties. - Fix duplicate entries for service UUIDs. - -ver 4.8: - Fix retrieving of formfactor value. - Fix retrieving of local and remote extended features. - Fix potential NULL pointer dereference during pairing. - Fix crash with browsing due to a remotely initated pairing. - -ver 4.7: - Fix pairing and service discovery logic. - Fix crashes during suspend and resume. - Fix race condition within devdown mode. - Add RequestSession and ReleaseSession methods. - Add Powered and Discoverable properties. - Add Devices property and deprecate ListDevices. - Add workaround for a broken carkit from Nokia. - -ver 4.6: - Fix Device ID record handling. - Fix service browsing and storage. - Fix authentication and encryption for input devices. - Fix adapter name initialization. - -ver 4.5: - Fix initialization issue with new adapters. - Send HID authentication request without blocking. - Hide the verbose SDP debug behind SDP_DEBUG. - Add extra UUIDs for service discovery. - Add SCO server socket listener. - Add authorization support to service plugin. - -ver 4.4: - Add temporary fix for the CUPS compile issue. - Add service-api.txt to distribution. - Mention the variable prefix of an object path - -ver 4.3: - Add dummy driver for telephony support. - Add support for discovery sessions. - Add service plugin for external services. - Various cleanups. - -ver 4.2: - Avoid memory copies in A2DP write routine. - Fix broken logic with Simple Pairing check and old kernels. - Allow non-bondable and outgoing SDP without agent. - Only remove the bonding for non-temporary devices. - Cleanup various unnecessary includes. - Make more unexported functions static. - Add basic infrastructure for gtk-doc support. - -ver 4.1: - Add 30 seconds timeout to BNEP connection setup phase. - Avoid memory copies in A2DP write routine for ALSA. - Make sure to include compat/sdp.h in the distribution. - -ver 4.0: - Initial public release. - -ver 3.36: - Add init routines for TI BRF chips. - Add extra attributes to the serial port record. - Add example record for headset audio gateway record. - Use Handsfree version 0x0105 for the gateway role. - Fix SDP record registration with specific record handles. - Fix BCSP sent/receive handling. - Fix various includes for cross-compilation. - Allow link mode settings for outgoing connections. - Allow bonding during periodic inquiry. - -ver 3.35: - Add two additional company identifiers. - Add UUID-128 support for service discovery. - Fix usage of friendly names for service discovery. - Fix authorization when experiemental is disabled. - Fix uninitialized variable in passkey request handling. - Enable output of timestamps for l2test and rctest. - -ver 3.34: - Replace various SDP functions with safe versions. - Add additional length validation for incoming SDP packets. - Use safe function versions for SDP client handling. - Fix issue with RemoveDevice during discovery procedure. - Fix collect for non-persistent service records. - -ver 3.33: - Add functions for reading and writing the link policy settings. - Add definition for authentication requirements. - Add support for handling Simple Pairing. - Add Simple Pairing support to Agent interface. - Add ReleaseMode method to Adapter interface. - Add DiscoverServices method to Device interface. - Remove obsolete code and cleanup the repository. - Move over to use the libgdbus API. - Enable PIE by default if supported. - -ver 3.32: - Add OCF constants for synchronous flow control enabling. - Add support for switching HID proxy devices from Dell. - Add more Bluetooth client/server helper functions. - Add support for input service idle timeout option. - Fix BNEP reconnection handling. - Fix return value for snd_pcm_hw_params() calls. - Use upper-case addresses for object paths. - Remove HAL support helpers. - Remove inotify support. - Remove service daemon activation handling. - Remove uneeded D-Bus API extension. - -ver 3.31: - Create device object for all pairing cases. - Convert authorization to internal function calls. - Add initial support for Headset Audio Gateway role. - Add generic Bluetooth helper functions for GLib. - Fix endiannes handling of connection handles. - Don't optimize when debug is enabled. - -ver 3.30: - Convert audio service into a plugin. - Convert input service into a plugin. - Convert serial service into a plugin. - Convert network service into a plugin. - Emit old device signals when a property is changed. - Fix missing DiscoverDevices and CancelDiscovery methods. - Add another company identifier. - Add basic support for Bluetooth sessions. - Add avinfo utility for AVDTP/A2DP classification. - Remove build option for deprecated sdpd binary. - -ver 3.29: - Introduce new D-Bus based API. - Add more SBC optimizations. - Add support for PS3 remote devices. - Fix alignment trap in SDP server. - Fix memory leak in sdp_get_uuidseq_attr function. - -ver 3.28: - Add support for MCAP UUIDs. - Add support for role switch for audio service. - Add disconnect timer for audio service. - Add disconnect detection to ALSA plugin. - Add more SBC optimizations. - Fix alignment issue of SDP server. - Remove support for SDP parsing via expat. - -ver 3.27: - Update uinput.h with extra key definitions. - Add support for input connect/disconnect callbacks. - Add ifdefs around some baud rate definitions. - Add another company identifier. - Add proper HFP service level connection handling. - Add basic headset automatic disconnect support. - Add support for new SBC API. - Fix SBC decoder noise at high bitpools. - Use 32-bit multipliers for further SBC optimization. - Check for RFCOMM connection state in SCO connect callback. - Make use of parameters selected in ALSA plugin. - -ver 3.26: - Fix compilation issues with UCHAR_MAX, USHRT_MAX and UINT_MAX. - Improve handling of different audio transports. - Enable services by default and keep old daemons disabled. - -ver 3.25: - Add limited support for Handsfree profile. - Add limited support for MPEG12/MP3 codec. - Add basic support for UNITINFO and SUBUNITINFO. - Add more SBC optimizations. - Fix external service (un)registration. - Allow GetInfo and GetAddress to fail. - -ver 3.24: - Add definitions for MDP. - Add TCP connection support for serial proxy. - Add fix for Logitech HID proxy switching. - Add missing macros, MIN, MAX, ABS and CLAMP. - Add more SBC encoder optimizations. - Add initial mechanism to handle headset commands. - Fix connecting to handsfree profile headsets. - Use proper function for checking signal name. - -ver 3.23: - Fix remote name request handling bug. - Fix key search function to honor the mmap area size. - Fix Avahi integration of network service. - Add new plugin communication for audio service. - Enable basic AVRCP support by default. - More optimizations to the SBC library. - Create common error definitions. - -ver 3.22: - Add missing include file from audio service. - Add SBC conformance test utility. - Add basic uinput support for AVRCP. - Fix L2CAP socket leak in audio service. - Fix buffer usage in GStreamer plugin. - Fix remote name request event handling. - -ver 3.21: - Add constant for Bluetooth socket options level. - Add initial AVRCP support. - Add A2DP sink support to GStreamer plugin. - Fix interoperability with A2DP suspend. - Fix sign error in 8-subband encoder. - Fix handling of service classes length size. - Store Extended Inquiry Response data information. - Publish device id information through EIR. - Support higher baud rates for Ericcson based chips. - -ver 3.20: - Fix GStreamer plugin file type detection. - Fix potential infinite loop in inotify support. - Fix D-Bus signatures for dict handling. - Fix issues with service activation. - Fix SDP failure handling of audio service. - Fix various memory leaks in input service. - Add secure device creation method to input service. - Add service information methods to serial service. - Add config file support to network service. - Add scripting capability to network service. - Add special on-mode handling. - Add optimization for SBC encoder. - Add tweaks for D-Bus 1.1.x libraries. - Add support for inquiry transmit power level. - -ver 3.19: - Limit range of bitpool announced while in ACP side. - Use poll instead of usleep to wait for worker thread. - Use default event mask from the specification. - Add L2CAP mode constants. - Add HID proxy support for Logitech diNovo Edge dongle. - Add refresh option to re-request device names. - Show correct connection link type. - -ver 3.18: - Don't allocate memory for the Bluetooth base UUID. - Implement proper locking for headsets. - Fix various A2DP SEP locking issues. - Fix and cleanup audio stream handling. - Fix stream starting if suspend request is pending. - Fix A2DP and AVDTP endianess problems. - Add network timeout and retransmission support. - Add more detailed decoding of EIR elements. - -ver 3.17: - Fix supported commands bit calculation. - Fix crashes in audio and network services. - Check PAN source and destination roles. - Only export the needed symbols for the plugins. - -ver 3.16: - Update company identifier list. - Add support for headsets with SCO audio over HCI. - Add support for auto-create through ALSA plugin. - Add support for ALSA plugin parameters. - Add GStreamer plugin with SBC decoder and encoder. - Fix network service NAP, GN and PANU servers. - Set EIR information from SDP database. - -ver 3.15: - Add A2DP support to the audio service. - Add proxy support to the serial service. - Extract main service class for later use. - Set service classes value from SDP database. - -ver 3.14: - Add missing signals for the adapter interface. - Add definitions and functions for Simple Pairing. - Add basic commands for Simple Pairing. - Add correct Simple Pairing and EIR interaction. - Add missing properties for remote information. - Add EPoX endian quirk to the input service. - Fix HID descriptor import and storage functions. - Fix handling of adapters in raw mode. - Fix remote device listing methods. - -ver 3.13: - Fix some issues with the headset support. - Fix concurrent pending connection attempts. - Fix usage of devname instead of netdev. - Add identifier for Nokia SyncML records. - Add command for reading the CSR chip revision. - Add generic CSR radio test support. - Update HCI command table. - -ver 3.12: - Add missing HCI command text descriptions - Add missing HCI commands structures. - Add missing HCI event structures. - Add common bachk() function. - Add support for limited discovery mode. - Add support for setting of event mask. - Add GetRemoteServiceIdentifiers method. - Add skeleton for local D-Bus server. - Add headset gain control methods. - Fix various headset implementation issues. - Fix various serial port service issues. - Fix various input service issues. - Let CUPS plugin discover printers in range. - Improve the BCM2035 UART init routine. - Ignore connection events for non-ACL links. - -ver 3.11: - Update API documentation. - Minimize SDP root records and browse groups. - Use same decoder for text and URL strings. - Fix URL data size handling. - Fix SDP pattern extraction for XML. - Fix network connection persistent state. - Add network connection helper methods. - Add initial version of serial port support. - Add class of device tracking. - -ver 3.10.1: - Add option to disable installation of manual pages. - Fix input service encryption setup. - Fix serial service methods. - Fix network service connection handling. - Provide a simple init script. - -ver 3.10: - Add initial version of network service. - Add initial version of serial service. - Add initial version of input service. - Add initial version of audio service. - Add authorization framework. - Add integer based SBC library. - Add version code for Bluetooth 2.1 specification. - Add ESCO_LINK connection type constant. - Export sdp_uuid32_to_uuid128() function. - -ver 3.9: - Add RemoteDeviceDisconnectRequested signal. - Add updated service framework. - Add embedded GLib library. - Add support for using system GLib library. - Create internal SDP server library. - -ver 3.8: - Sort discovered devices list based on their RSSI. - Send DiscoverableTimeoutChanged signal. - Fix local and remote name validity checking. - Add ListRemoteDevices and ListRecentRemoteDevices methods. - Add basic integration of confirmation concept. - Add support for service record description via XML. - Add support for external commands to the RFCOMM utility. - Add experimental service and authorization API. - Add functions for registering binary records. - -ver 3.7: - Fix class of device handling. - Fix error replies with pairing and security mode 3. - Fix disconnect method for RFCOMM connections. - Add match pattern for service searches. - Add support for prioritized watches. - Add additional PDU length checks. - Fix CSRC value for partial responses. - -ver 3.6.1: - Fix IO channel race conditions. - Fix pairing issues on big endian systems. - Fix pairing issues with page timeout errors. - Fix pairing state for security mode 3 requests. - Switch to user as default security manager mode. - -ver 3.6: - Update D-Bus based RFCOMM interface support. - Use L2CAP raw sockets for HCI connection creation. - Add periodic discovery support to the D-Bus interface. - Add initial support for device names via EIR. - Add proper UTF-8 validation of device names. - Add support for the J-Three keyboard. - Fix issues with the asynchronous API for SDP. - -ver 3.5: - Fix and cleanup watch functionality. - Add support for periodic inquiry mode. - Add support for asynchronous SDP requests. - Add more request owner tracking. - Add asynchronous API for SDP. - Document pageto and discovto options. - -ver 3.4: - Improve error reporting for failed HCI commands. - Improve handling of CancelBonding. - Fixed bonding reply message when disconnected. - Fix UUID128 string lookup handling. - Fix malloc() versus bt_malloc() usage. - -ver 3.3: - Don't change inquiry mode for Bluetooth 1.1 adapters. - Add udev rules for Bluetooth serial PCMCIA cards. - Add Cancel and Release methods for passkey agents. - Add GetRemoteClass method. - Convert to using ppoll() and pselect(). - Initialize allocated memory to zero. - Remove bcm203x firmware loader. - Remove kernel specific timeouts. - Add additional private data field for SDP sessions. - Add host controller to host flow control defines. - Add host number of completed packets defines. - Initialize various memory to zero before usage. - -ver 3.2: - Only check for the low-level D-Bus library. - Update possible device minor classes. - Fix timeout for pending reply. - Add more Inquiry with RSSI quirks. - Sleep only 100 msecs for device detection. - Don't send BondingCreated on link key renewal. - Allow storing of all UTF-8 remote device names. - Create storage filenames with a generic function. - Fix handling of SDP strings. - Add adapter type for SDIO cards. - Add features bit for link supervision timeout. - -ver 3.1: - Add missing placeholders for feature bits. - Fix handling of raw mode devices. - Fix busy loop in UUID extraction routine. - Remove inquiry mode setting. - Remove auth and encrypt settings. - -ver 3.0: - Implement the new BlueZ D-Bus API. - Fix broken behavior with EVT_CMD_STATUS. - Add features bit for pause encryption. - Add additional EIR error code. - Add more company identifiers. - Add another Phonebook Access identifier. - Update sniff subrating data structures. - -ver 2.25: - Use %jx instead of %llx for uint64_t and int64_t. - Allow null-terminated text strings. - Add UUID for N-Gage games. - Add UUID for Apple Macintosh Attributes. - Add Apple attributes and iSync records. - Add definitions for Apple Agent. - Add support for the Handsfree Audio Gateway service. - Add support for choosing a specific record handle. - Add support for dialup/telephone connections. - Add definitions for Apple Agent. - Add support for record handle on service registration. - -ver 2.24: - Fix display of SDP text and data strings. - Add support for device scan property. - Add support for additional access protocols. - Update the D-Bus policy configuration file. - -ver 2.23: - Update the new D-Bus interface. - Make dfutool ready for big endian architectures. - Add support for AVRCP specific service records. - Add support for writing complex BCCMD commands. - Add the new BCCMD interface utility. - Add MicroBCSP implementation from CSR. - Add constants and definitions for sniff subrating. - Add support for allocation of binary text elements. - Add HCI emulation tool. - Add fake HID support for old EPoX presenters. - Reject connections from unknown HID devices. - Fix service discovery deadlocks with Samsung D600 phones. - -ver 2.22: - Remove D-Bus 0.23 support. - Add initial version of the new D-Bus interface. - Add support for extended inquiry response commands. - Add support for the Logitech diNovo Media Desktop Laser. - Add compile time buffer checks (FORTIFY SOURCE). - Decode reserved LMP feature bits. - Fix errno overwrite problems. - Fix profile descriptor problem with Samsung phones. - -ver 2.21: - Move create_dirs() and create_file() into the textfile library. - Let textfile_put() also replace the last key value pair. - Fix memory leaks with textfile_get() usage. - Fix infinite loops and false positive matches. - Don't retrieve stored link keys for RAW devices. - Document the putkey and delkey commands. - Show supported commands also in clear text. - Support volatile changes of the BD_ADDR for CSR chips. - Add support for identification of supported commands. - Add missing OCF declarations for the security filter. - Add two new company identifiers. - -ver 2.20: - Add UUIDs for video distribution profile. - Add UUIDs for phonebook access profile. - Add attribute identifier for supported repositories. - Add definitions for extended inquiry response. - Add functions for extended inquiry response. - Add support for extended inquiry response. - Add support for HotSync service record. - Add support for ActiveSync service record. - Add ActiveSync networking support. - Fix D-Bus crashes with new API versions. - -ver 2.19: - Fix the GCC 4.0 warnings. - Fix the routing for dealing with raw devices. - Fix off by one memory allocation error. - Fix security problem with escape characters in device name. - Add per device service record functions. - Send D-Bus signals for inquiry results and remote name resolves. - Add support for device specific SDP records. - -ver 2.18: - Support D-Bus 0.23 and 0.33 API versions. - Support reading of complex BCCMD values. - Support minimum and maximum encryption key length. - Add support for reading and writing the inquiry scan type. - Add definitions for connection accept timeout and scan enable. - Add support for inquiry scan type. - Add tool for the CSR BCCMD interface. - Add first draft of the Audio/Video control utility. - Add disconnect timer support for the A2DP ALSA plugin. - Make SBC parameters configurable. - Replace non-printable characters in device names. - Remove hci_vhci.h header file. - Remove hci_uart.h header file. - -ver 2.17: - Set the storage directory through ${localstatedir}. - Add the textfile library for ASCII based file access. - Add support for return link keys event. - Add support for voice setting configuration. - Add support for page scan timeout configuration. - Add support for storing and deleting of stored link keys. - Add support for searching for services with UUID-128. - Add support for retrieving all possible service records. - Add support for a raw mode view of service records. - Add support for HID information caching in hidd. - Add support for authentication in pand and dund. - Add support for changing BD_ADDR of CSR chips. - Add pskey utility for changing CSR persistent storage values. - Add the firmware upgrade utility. - Add connection caching for the A2DP ALSA plugin. - Add functions for stored link keys. - Add definitions for PIN type and unit key. - Add SDP_WAIT_ON_CLOSE flag for sdp_connect(). - Include stdio.h in bluetooth.h header file. - Include sys/socket.h in the header files. - -ver 2.16: - Store link keys in ASCII based file format. - Support device name caching. - Support zero length data sizes in l2test. - Change default l2ping data size to 44 bytes. - Hide the server record and the public browse group root. - Read BD_ADDR if not set and if it is a raw device. - Add SDP language attributes. - Add support for browsing the L2CAP group. - Add support for stored pin codes for outgoing connections. - Add support for local commands and extended features. - Add support for reading CSR panic and fault codes. - Add config option for setting the inquiry mode. - Add OUI decoding support. - Use unlimited inquiry responses as default. - Use cached device names for PIN request. - Use the clock offset when getting the remote names. - Add function for reading local supported commands. - Add function for reading local extended features. - Add function for reading remote extended features. - Add function for getting the remote name with a clock offset. - Add function for extracting the OUI from a BD_ADDR. - Add inquiry info structure with RSSI and page scan mode. - Fix buffer allocation for features to string conversion. - Support inquiry with unlimited number of responses. - -ver 2.15: - Enable the RFCOMM service level security. - Add deprecated functions for reading the name. - Add command for reading the clock offset. - Add command for reading the clock. - Add function for reading the clock. - Add function for reading the local Bluetooth address. - Add function for reading the local supported features. - Don't configure raw devices. - Don't set inquiry scan or page scan on raw devices. - Don't show extended information for raw devices. - Support L2CAP signal sizes bigger than 2048 bytes. - Cleanup of the socket handling code of the test programs. - Use better way for unaligned access. - Remove sdp_internal.h and its usage. - -ver 2.14: - Make use of additional connection information. - Use library function for reading the RSSI. - Use library function for reading the link quality. - Use library function for reading the transmit power level. - Use library functions for the link supervision timeout. - Add tool for changing the device address. - Add function for reading the RSSI. - Add function for reading the link quality. - Add function for reading the transmit power level. - Add functions for the link supervision timeout. - Remove deprecated functions. - Update AM_PATH_BLUEZ macro. - -ver 2.13: - Use file permission 0600 for the link key file. - Add support for HID attribute descriptions. - Add support for Device ID attributes. - Add Device ID and HID attribute definitions. - Update the UUID constants and its translations. - Update L2CAP socket option definitions. - Update connection information definitions. - Various whitespace cleanups. - -ver 2.12: - Inherit the device specific options from the default. - Use --device for selecting the source device. - Add --nosdp option for devices with resource limitation. - Add support and parameter option for secure mode. - Add a lot of build ids and hardware revisions. - Add service classes and profile ids for WAP. - Add simple AM_PATH_BLUEZ macro. - Update UUID translation tables. - Correct kernel interface for CMTP and HIDP support. - -ver 2.11: - Initial support for the kernel security manager. - Various cleanups to avoid inclusion of kernel headers. - Fix output when the CUPS backend is called without arguments. - Fix problems with a 64 bit userland. - Use Bluetooth library functions if available. - Use standard numbering scheme of SDP record handles. - Use bit zero for vendor packets in the filter type bitmask. - Add SIM Access types for service discovery. - Add more audio/video profile translations. - Add another company identifier. - Add the missing HCI error codes. - Add RFCOMM socket options. - Add definition for the SECURE link mode. - Add functions for reading and writing the inquiry mode. - Add functions for AFH related settings and information. - Add version identifier for the Bluetooth 2.0 specification. - Add a master option to the hidd. - Add support for changing the link key of a connection. - Add support for requesting encryption on keyboards. - Add support for revision information of Digianswer devices. - Add support for the Zoom, IBM and TDK PCMCIA cards. - Add checks for the OpenOBEX and the ALSA libraries. - Add experimental mRouter support. - -ver 2.10: - Use a define for the configuration directory. - Fix string initialization for flags translation. - Fix and extend the unaligned access macros. - Make compiling with debug information optional. - Don't override CFLAGS from configure. - Check for usb_get_busses() and usb_interrupt_read(). - Add optional support for compiling with PIE. - Make installation of the init scripts optional. - Make compiling with debug information optional. - Don't override CFLAGS from configure. - -ver 2.9: - Retry SDP connect if busy in the CUPS backend. - Use packet type and allow role switch in hcitool. - Use the functions from the USB library for hid2hci. - Add Broadcom firmware loader. - Add EPoX endian quirk for buggy keyboards. - Add L2CAP info type and info result definitions. - Add value for L2CAP_CONF_RFC_MODE. - Change RSSI value to signed instead of unsigned. - Allow UUID32 values as protocol identifiers. - Update the autoconf/automake scripts. - -ver 2.8: - Use LIBS and LDADD instead of LDFLAGS. - Use HIDP subclass field for HID boot protocol. - Set olen before calling getsockopt() in pand. - Restore signals for dev-up script. - Add PID file support for pand. - Add size parameter to expand_name() in hcid. - Add support for audio source and audio sink SDP records. - Add support for HID virtual cable unplug. - Add support for AmbiCom BT2000C card. - Add defines and UUID's for audio/video profiles. - Add AVDTP protocol identifier. - Add HIDP subclass field. - Add PKGConfig support. - Fix the event code of inquiry with RSSI. - Remove dummy SDP library. - -ver 2.7: - Fix display of decoded LMP features. - Update company identifiers. - Add AFH related types. - Add first bits from EDR prototyping specification. - Add support for inquiry with RSSI. - Add HCRP related SDP functions. - Add HIDP header file. - Add support for getting the AFH channel map. - Add support for AFH mode. - Add support for inquiry mode. - Add Bluetooth backend for CUPS. - Add the hid2hci utility. - Add the hidd utility. - Add the pand utility. - Add the dund utility. - More endian bug fixes. - Give udev some time to create the RFCOMM device nodes. - Release the TTY if no device node is found. - New startup script for the Bluetooth subsystem. - Update to the autoconf stuff. - -ver 2.6: - Change default prefix to /usr. - Add manpages for hcid and hcid.conf. - Add the sdpd server daemon. - Add the sdptool utility. - Add the ciptool utility. - Add new company identifiers. - Add BNEP and CMTP header files. - Add the SDP library. - Use R2 for default value of pscan_rep_mode. - -ver 2.5: - Add decoding of Bluetooth 1.2 features. - Add link manager version parameter for Bluetooth 1.2. - Add new company identifiers. - Add D-Bus support for PIN request. - Support for transmit power level. - Support for park, sniff and hold mode. - Support for role switch. - Support for reading the clock offset. - Support for requesting authentication. - Support for setting connection encryption. - Show revision information for Broadcom devices. - Replace unprintable characters in device name. - Use R1 for default value of pscan_rep_mode. - Fix some 64-bit problems. - Fix some endian problems. - Report an error on PIN helper failure. - Update bluepin script for GTK2. - -ver 2.4: - Increase number of inquiry responses. - Support for transmit power level. - Display all 8 bytes of the features. - Add support for reading and writing of IAC. - Correct decoding class of device. - Use Ericsson revision command for ST Microelectronics devices. - Display AVM firmware version with 'revision' command. - New code for CSR specific revision information. - Support for ST Microelectronics specific initialization. - Support for 3Com card version 3.0. - Support for TDK, IBM and Socket cards. - Support for initial baud rate. - Update man pages. - Fixes for some memory leaks. - -ver 2.3: - Added const qualifiers to appropriate function arguments. - Minor fixes. - CSR firmware version is now displayed by 'revision' command. - Voice command is working properly on big endian machines. - Added support for Texas Bluetooth modules. - Added support for high UART baud rates on Ericsson modules. - BCSP initialization fixes. - Support for role switch command (hcitool). - RFCOMM config file parser fixes. - Update man pages. - Removed GLib dependency. - -ver 2.2: - Updated RFCOMM header file. - Additional HCI command and event defines. - Support for voice settings (hciconfig). - Minor hcitool fixes. - Improved configure script. - Added Headset testing tool. - Updated man pages. - RPM package. - -ver 2.1.1: - Resurrect hci_remote_name. - -ver 2.1: - Added hci_{read, write}_class_of_dev(). - Added hci_{read, write}_current_iac_lap(). - Added hci_write_local_name(). - Added RFCOMM header file. - Minor fixes. - Improved BCSP initialization (hciattach). - Support for displaying link quality (hcitool). - Support for changing link supervision timeout (hcitool). - New RFCOMM TTY configuration tool (rfcomm). - Minor fixes and updates. - -ver 2.0: - Additional company IDs. - BCSP initialization (hciattach). - Minor hciconfig fixes. - -ver 2.0-pr13: - Support for multiple pairing modes. - Link key database handling fixes. - -ver 2.0-pre12: - Removed max link key limit. Keys never expire. - Link key database is always updated. Reread PIN on SIGHUP (hcid). - Bluetooth script starts SDPd, if installed. - Other minor fixes. - -ver 2.0-pre11: - Improved link key management and more verbose logging (hcid). - Fixed scan command (hcitool). - -ver 2.0-pre10: - Fix hci_inquiry function to return errors and accept user buffers. - New functions hci_devba, hci_devid, hci_for_each_dev and hci_get_route. - Additional company IDs. - Makefile and other minor fixes. - Support for reading RSSI, remote name and changing - connection type (hcitool). - Device initialization fixes (hcid). - Other minor fixes and improvements. - Build environment cleanup and fixes. - -ver 2.0-pre9: - Improved bluepin. Working X authentication. - Improved hcitool. New flexible cmd syntax, additional commands. - Human readable display of the device features. - LMP features to string translation support. - Additional HCI command and event defines. - Extended hci_filter API. - -ver 2.0-pre8: - Additional HCI ioctls and defines. - All strings and buffers are allocated dynamically. - ba2str, str2ba automatically swap bdaddress. - Additional hciconfig commands. Support for ACL and SCO MTU ioctls. - Support for Inventel and COM1 UART based devices. - Minor hcitool fixes. - Improved l2test. New L2CAP test modes. - Minor fixes and cleanup. - -ver 2.0-pre7: - Bluetooth libraries and header files is now a separate package. - New build environment uses automake and libtool. - Massive header files cleanup. - Bluetooth utilities is now a separate package. - New build environment uses automake. - Moved all config files and security data to /etc/bluetooth. - Various cleanups. - -ver 2.0-pre6: - API cleanup and additions. - Improved hcitool. - l2test minor output fixes. - hciattach opt to display list of supported devices. - -ver 2.0-pre4: - HCI filter enhancements. - -ver 2.0-pre3: - Cleanup. - -ver 2.0-pre2: - Additional HCI library functions. - Improved CSR baud rate initialization. - PCMCIA scripts fixes and enhancements. - Documentation update. - -ver 2.0-pre1: - New UART initialization utility. - Hot plugging support for UART based PCMCIA devices. - SCO testing utility. - New authentication utility (bluepin). - Minor fixes and improvements. diff --git a/GRIB_BLE_HUB/libs/ble_extend/INSTALL b/GRIB_BLE_HUB/libs/ble_extend/INSTALL deleted file mode 100644 index 56b077d..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/INSTALL +++ /dev/null @@ -1,236 +0,0 @@ -Installation Instructions -************************* - -Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005 Free -Software Foundation, Inc. - -This file is free documentation; the Free Software Foundation gives -unlimited permission to copy, distribute and modify it. - -Basic Installation -================== - -These are generic installation instructions. - - The `configure' shell script attempts to guess correct values for -various system-dependent variables used during compilation. It uses -those values to create a `Makefile' in each directory of the package. -It may also create one or more `.h' files containing system-dependent -definitions. Finally, it creates a shell script `config.status' that -you can run in the future to recreate the current configuration, and a -file `config.log' containing compiler output (useful mainly for -debugging `configure'). - - It can also use an optional file (typically called `config.cache' -and enabled with `--cache-file=config.cache' or simply `-C') that saves -the results of its tests to speed up reconfiguring. (Caching is -disabled by default to prevent problems with accidental use of stale -cache files.) - - If you need to do unusual things to compile the package, please try -to figure out how `configure' could check whether to do them, and mail -diffs or instructions to the address given in the `README' so they can -be considered for the next release. If you are using the cache, and at -some point `config.cache' contains results you don't want to keep, you -may remove or edit it. - - The file `configure.ac' (or `configure.in') is used to create -`configure' by a program called `autoconf'. You only need -`configure.ac' if you want to change it or regenerate `configure' using -a newer version of `autoconf'. - -The simplest way to compile this package is: - - 1. `cd' to the directory containing the package's source code and type - `./configure' to configure the package for your system. If you're - using `csh' on an old version of System V, you might need to type - `sh ./configure' instead to prevent `csh' from trying to execute - `configure' itself. - - Running `configure' takes awhile. While running, it prints some - messages telling which features it is checking for. - - 2. Type `make' to compile the package. - - 3. Optionally, type `make check' to run any self-tests that come with - the package. - - 4. Type `make install' to install the programs and any data files and - documentation. - - 5. You can remove the program binaries and object files from the - source code directory by typing `make clean'. To also remove the - files that `configure' created (so you can compile the package for - a different kind of computer), type `make distclean'. There is - also a `make maintainer-clean' target, but that is intended mainly - for the package's developers. If you use it, you may have to get - all sorts of other programs in order to regenerate files that came - with the distribution. - -Compilers and Options -===================== - -Some systems require unusual options for compilation or linking that the -`configure' script does not know about. Run `./configure --help' for -details on some of the pertinent environment variables. - - You can give `configure' initial values for configuration parameters -by setting variables in the command line or in the environment. Here -is an example: - - ./configure CC=c89 CFLAGS=-O2 LIBS=-lposix - - *Note Defining Variables::, for more details. - -Compiling For Multiple Architectures -==================================== - -You can compile the package for more than one kind of computer at the -same time, by placing the object files for each architecture in their -own directory. To do this, you must use a version of `make' that -supports the `VPATH' variable, such as GNU `make'. `cd' to the -directory where you want the object files and executables to go and run -the `configure' script. `configure' automatically checks for the -source code in the directory that `configure' is in and in `..'. - - If you have to use a `make' that does not support the `VPATH' -variable, you have to compile the package for one architecture at a -time in the source code directory. After you have installed the -package for one architecture, use `make distclean' before reconfiguring -for another architecture. - -Installation Names -================== - -By default, `make install' will install the package's files in -`/usr/local/bin', `/usr/local/man', etc. You can specify an -installation prefix other than `/usr/local' by giving `configure' the -option `--prefix=PREFIX'. - - You can specify separate installation prefixes for -architecture-specific files and architecture-independent files. If you -give `configure' the option `--exec-prefix=PREFIX', the package will -use PREFIX as the prefix for installing programs and libraries. -Documentation and other data files will still use the regular prefix. - - In addition, if you use an unusual directory layout you can give -options like `--bindir=DIR' to specify different values for particular -kinds of files. Run `configure --help' for a list of the directories -you can set and what kinds of files go in them. - - If the package supports it, you can cause programs to be installed -with an extra prefix or suffix on their names by giving `configure' the -option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'. - -Optional Features -================= - -Some packages pay attention to `--enable-FEATURE' options to -`configure', where FEATURE indicates an optional part of the package. -They may also pay attention to `--with-PACKAGE' options, where PACKAGE -is something like `gnu-as' or `x' (for the X Window System). The -`README' should mention any `--enable-' and `--with-' options that the -package recognizes. - - For packages that use the X Window System, `configure' can usually -find the X include and library files automatically, but if it doesn't, -you can use the `configure' options `--x-includes=DIR' and -`--x-libraries=DIR' to specify their locations. - -Specifying the System Type -========================== - -There may be some features `configure' cannot figure out automatically, -but needs to determine by the type of machine the package will run on. -Usually, assuming the package is built to be run on the _same_ -architectures, `configure' can figure that out, but if it prints a -message saying it cannot guess the machine type, give it the -`--build=TYPE' option. TYPE can either be a short name for the system -type, such as `sun4', or a canonical name which has the form: - - CPU-COMPANY-SYSTEM - -where SYSTEM can have one of these forms: - - OS KERNEL-OS - - See the file `config.sub' for the possible values of each field. If -`config.sub' isn't included in this package, then this package doesn't -need to know the machine type. - - If you are _building_ compiler tools for cross-compiling, you should -use the `--target=TYPE' option to select the type of system they will -produce code for. - - If you want to _use_ a cross compiler, that generates code for a -platform different from the build platform, you should specify the -"host" platform (i.e., that on which the generated programs will -eventually be run) with `--host=TYPE'. - -Sharing Defaults -================ - -If you want to set default values for `configure' scripts to share, you -can create a site shell script called `config.site' that gives default -values for variables like `CC', `cache_file', and `prefix'. -`configure' looks for `PREFIX/share/config.site' if it exists, then -`PREFIX/etc/config.site' if it exists. Or, you can set the -`CONFIG_SITE' environment variable to the location of the site script. -A warning: not all `configure' scripts look for a site script. - -Defining Variables -================== - -Variables not defined in a site shell script can be set in the -environment passed to `configure'. However, some packages may run -configure again during the build, and the customized values of these -variables may be lost. In order to avoid this problem, you should set -them in the `configure' command line, using `VAR=value'. For example: - - ./configure CC=/usr/local2/bin/gcc - -causes the specified `gcc' to be used as the C compiler (unless it is -overridden in the site shell script). Here is a another example: - - /bin/bash ./configure CONFIG_SHELL=/bin/bash - -Here the `CONFIG_SHELL=/bin/bash' operand causes subsequent -configuration-related scripts to be executed by `/bin/bash'. - -`configure' Invocation -====================== - -`configure' recognizes the following options to control how it operates. - -`--help' -`-h' - Print a summary of the options to `configure', and exit. - -`--version' -`-V' - Print the version of Autoconf used to generate the `configure' - script, and exit. - -`--cache-file=FILE' - Enable the cache: use and save the results of the tests in FILE, - traditionally `config.cache'. FILE defaults to `/dev/null' to - disable caching. - -`--config-cache' -`-C' - Alias for `--cache-file=config.cache'. - -`--quiet' -`--silent' -`-q' - Do not print messages saying which checks are being made. To - suppress all normal output, redirect it to `/dev/null' (any error - messages will still be shown). - -`--srcdir=DIR' - Look for the package's source code in directory DIR. Usually - `configure' can determine that directory automatically. - -`configure' also accepts some other, not widely useful, options. Run -`configure --help' for more details. - diff --git a/GRIB_BLE_HUB/libs/ble_extend/Makefile b/GRIB_BLE_HUB/libs/ble_extend/Makefile deleted file mode 100644 index 2166f24..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/Makefile +++ /dev/null @@ -1,6178 +0,0 @@ -# Makefile.in generated by automake 1.11.6 from Makefile.am. -# Makefile. Generated from Makefile.in by configure. - -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software -# Foundation, Inc. -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - - - - - - - - - -am__make_dryrun = \ - { \ - am__dry=no; \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \ - | grep '^AM OK$$' >/dev/null || am__dry=yes;; \ - *) \ - for am__flg in $$MAKEFLAGS; do \ - case $$am__flg in \ - *=*|--*) ;; \ - *n*) am__dry=yes; break;; \ - esac; \ - done;; \ - esac; \ - test $$am__dry = yes; \ - } -pkgdatadir = $(datadir)/bluez -pkgincludedir = $(includedir)/bluez -pkglibdir = $(libdir)/bluez -pkglibexecdir = $(libexecdir)/bluez -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = armv7l-unknown-linux-gnueabihf -host_triplet = armv7l-unknown-linux-gnueabihf -bin_PROGRAMS = $(am__EXEEXT_1) $(am__EXEEXT_2) $(am__EXEEXT_3) -noinst_PROGRAMS = $(am__EXEEXT_4) $(am__EXEEXT_5) $(am__EXEEXT_6) \ - $(am__EXEEXT_7) -libexec_PROGRAMS = src/bluetoothd$(EXEEXT) obexd/src/obexd$(EXEEXT) -#am__append_1 = $(lib_headers) -#am__append_2 = lib/libbluetooth.la -DIST_COMMON = README $(am__configure_deps) $(am__include_HEADERS_DIST) \ - $(dist_man_MANS) $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ - $(srcdir)/Makefile.obexd $(srcdir)/Makefile.plugins \ - $(srcdir)/Makefile.tools $(srcdir)/config.h.in \ - $(top_srcdir)/configure $(top_srcdir)/lib/bluez.pc.in \ - $(top_srcdir)/src/bluetoothd.8.in AUTHORS COPYING COPYING.LIB \ - ChangeLog INSTALL NEWS TODO compile config.guess config.sub \ - depcomp install-sh ltmain.sh missing -#am__append_3 = gatt_example -#am__append_4 = plugins/gatt-example.c -#am__append_5 = neard sap -#am__append_6 = plugins/neard.c profiles/sap/main.c \ -# profiles/sap/manager.h \ -# profiles/sap/manager.c \ -# profiles/sap/server.h profiles/sap/server.c \ -# profiles/sap/sap.h profiles/sap/sap-dummy.c -#am__append_7 = profiles/sap/libsap.a -#am__append_8 = health -#am__append_9 = profiles/health/mcap_lib.h profiles/health/mcap_internal.h \ -# profiles/health/mcap.h profiles/health/mcap.c \ -# profiles/health/mcap_sync.c \ -# profiles/health/hdp_main.c profiles/health/hdp_types.h \ -# profiles/health/hdp_manager.h \ -# profiles/health/hdp_manager.c \ -# profiles/health/hdp.h profiles/health/hdp.c \ -# profiles/health/hdp_util.h profiles/health/hdp_util.c - -#am__append_10 = alert time proximity thermometer \ -# heartrate cyclingspeed -#am__append_11 = profiles/alert/server.c \ -# profiles/time/server.c \ -# profiles/proximity/main.c \ -# profiles/proximity/manager.h \ -# profiles/proximity/manager.c \ -# profiles/proximity/monitor.h \ -# profiles/proximity/monitor.c \ -# profiles/proximity/reporter.h \ -# profiles/proximity/reporter.c \ -# profiles/proximity/linkloss.h \ -# profiles/proximity/linkloss.c \ -# profiles/proximity/immalert.h \ -# profiles/proximity/immalert.c \ -# profiles/thermometer/thermometer.c \ -# profiles/heartrate/heartrate.c \ -# profiles/cyclingspeed/cyclingspeed.c -#am__append_12 = plugins/external-dummy.la -am__append_13 = client/bluetoothctl -am__append_14 = monitor/btmon -#am__append_15 = emulator/btvirt emulator/b1ee \ -# tools/mgmt-tester tools/gap-tester \ -# tools/bdaddr tools/avinfo tools/avtest \ -# tools/scotest tools/hcieventmask \ -# tools/hcisecfilter tools/hwdb tools/btmgmt \ -# tools/btattach tools/btsnoop tools/btiotest \ -# tools/mpris-player -am__append_16 = tools/hciattach tools/hciconfig tools/hcitool tools/hcidump \ - tools/rfcomm tools/rctest tools/l2test tools/l2ping \ - tools/sdptool tools/ciptool tools/bccmd - -am__append_17 = tools/csr_usb.c -am__append_18 = -lusb -am__append_19 = tools/hciattach.1 tools/hciconfig.1 \ - tools/hcitool.1 tools/hcidump.1 \ - tools/rfcomm.1 tools/rctest.1 tools/l2ping.1 \ - tools/sdptool.1 tools/ciptool.1 tools/bccmd.1 - -#am__append_20 = tools/hciattach.1 tools/hciconfig.1 \ -# tools/hcitool.1 tools/hcidump.1 \ -# tools/rfcomm.1 tools/rctest.1 tools/l2ping.1 \ -# tools/sdptool.1 tools/ciptool.1 tools/bccmd.1 - -udev_PROGRAMS = tools/hid2hci$(EXEEXT) -am__append_21 = tools/hid2hci.1 -#am__append_22 = tools/hid2hci.1 -#am__append_23 = tools/bdaddr.1 -am__append_24 = attrib/gatttool \ - tools/obex-client-tool tools/obex-server-tool - -#am__append_25 = profiles/iap/iapd -cups_PROGRAMS = profiles/cups/bluetooth$(EXEEXT) -#am__append_26 = pcsuite -#am__append_27 = obexd/plugins/pcsuite.c -am__append_28 = irmc pbap -am__append_29 = obexd/plugins/irmc.c obexd/plugins/pbap.c \ - obexd/plugins/vcard.h obexd/plugins/vcard.c \ - obexd/plugins/phonebook.h \ - obexd/plugins/phonebook-dummy.c -am__append_30 = $(rules_DATA) -TESTS = $(am__EXEEXT_7) -subdir = . -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ - $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ - configure.lineno config.status.lineno -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = config.h -CONFIG_CLEAN_FILES = src/bluetoothd.8 lib/bluez.pc -CONFIG_CLEAN_VPATH_FILES = -LIBRARIES = $(noinst_LIBRARIES) -ARFLAGS = cru -AM_V_AR = $(am__v_AR_$(V)) -am__v_AR_ = $(am__v_AR_$(AM_DEFAULT_VERBOSITY)) -am__v_AR_0 = @echo " AR " $@; -AM_V_at = $(am__v_at_$(V)) -am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) -am__v_at_0 = @ -profiles_sap_libsap_a_AR = $(AR) $(ARFLAGS) -profiles_sap_libsap_a_LIBADD = -am__profiles_sap_libsap_a_SOURCES_DIST = profiles/sap/sap.h \ - profiles/sap/sap-u8500.c -am__dirstamp = $(am__leading_dot)dirstamp -#am_profiles_sap_libsap_a_OBJECTS = \ -# profiles/sap/sap-u8500.$(OBJEXT) -profiles_sap_libsap_a_OBJECTS = $(am_profiles_sap_libsap_a_OBJECTS) -am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; -am__vpath_adj = case $$p in \ - $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ - *) f=$$p;; \ - esac; -am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; -am__install_max = 40 -am__nobase_strip_setup = \ - srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` -am__nobase_strip = \ - for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" -am__nobase_list = $(am__nobase_strip_setup); \ - for p in $$list; do echo "$$p $$p"; done | \ - sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ - $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ - if (++n[$$2] == $(am__install_max)) \ - { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ - END { for (dir in files) print dir, files[dir] }' -am__base_list = \ - sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ - sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' -am__uninstall_files_from_dir = { \ - test -z "$$files" \ - || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ - || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ - $(am__cd) "$$dir" && rm -f $$files; }; \ - } -am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(plugindir)" \ - "$(DESTDIR)$(bindir)" "$(DESTDIR)$(cupsdir)" \ - "$(DESTDIR)$(libexecdir)" "$(DESTDIR)$(udevdir)" \ - "$(DESTDIR)$(testdir)" "$(DESTDIR)$(man1dir)" \ - "$(DESTDIR)$(man8dir)" "$(DESTDIR)$(confdir)" \ - "$(DESTDIR)$(dbusdir)" "$(DESTDIR)$(dbussessionbusdir)" \ - "$(DESTDIR)$(dbussystembusdir)" "$(DESTDIR)$(pkgconfigdir)" \ - "$(DESTDIR)$(rulesdir)" "$(DESTDIR)$(statedir)" \ - "$(DESTDIR)$(systemdsystemunitdir)" \ - "$(DESTDIR)$(systemduserunitdir)" "$(DESTDIR)$(includedir)" -LTLIBRARIES = $(lib_LTLIBRARIES) $(noinst_LTLIBRARIES) \ - $(plugin_LTLIBRARIES) -lib_libbluetooth_private_la_LIBADD = -am__objects_1 = -am__objects_2 = lib/bluetooth.lo lib/hci.lo lib/sdp.lo -am__objects_3 = lib/uuid.lo -am_lib_libbluetooth_private_la_OBJECTS = $(am__objects_1) \ - $(am__objects_2) $(am__objects_1) $(am__objects_3) -lib_libbluetooth_private_la_OBJECTS = \ - $(am_lib_libbluetooth_private_la_OBJECTS) -AM_V_lt = $(am__v_lt_$(V)) -am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY)) -am__v_lt_0 = --silent -lib_libbluetooth_la_LIBADD = -am__lib_libbluetooth_la_SOURCES_DIST = lib/bluetooth.h lib/hci.h \ - lib/hci_lib.h lib/sco.h lib/l2cap.h lib/sdp.h lib/sdp_lib.h \ - lib/rfcomm.h lib/bnep.h lib/cmtp.h lib/hidp.h lib/bluetooth.c \ - lib/hci.c lib/sdp.c -#am_lib_libbluetooth_la_OBJECTS = $(am__objects_1) \ -# $(am__objects_2) -lib_libbluetooth_la_OBJECTS = $(am_lib_libbluetooth_la_OBJECTS) -lib_libbluetooth_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(AM_CFLAGS) $(CFLAGS) $(lib_libbluetooth_la_LDFLAGS) \ - $(LDFLAGS) -o $@ -#am_lib_libbluetooth_la_rpath = -rpath $(libdir) -plugins_external_dummy_la_LIBADD = -am__plugins_external_dummy_la_SOURCES_DIST = plugins/external-dummy.c -#am_plugins_external_dummy_la_OBJECTS = plugins/plugins_external_dummy_la-external-dummy.lo -plugins_external_dummy_la_OBJECTS = \ - $(am_plugins_external_dummy_la_OBJECTS) -plugins_external_dummy_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(plugins_external_dummy_la_CFLAGS) $(CFLAGS) \ - $(plugins_external_dummy_la_LDFLAGS) $(LDFLAGS) -o $@ -#am_plugins_external_dummy_la_rpath = -rpath \ -# $(plugindir) -am__EXEEXT_1 = client/bluetoothctl$(EXEEXT) -am__EXEEXT_2 = monitor/btmon$(EXEEXT) -am__EXEEXT_3 = tools/hciattach$(EXEEXT) \ - tools/hciconfig$(EXEEXT) tools/hcitool$(EXEEXT) \ - tools/hcidump$(EXEEXT) tools/rfcomm$(EXEEXT) \ - tools/rctest$(EXEEXT) tools/l2test$(EXEEXT) \ - tools/l2ping$(EXEEXT) tools/sdptool$(EXEEXT) \ - tools/ciptool$(EXEEXT) tools/bccmd$(EXEEXT) -#am__EXEEXT_4 = emulator/btvirt$(EXEEXT) \ -# emulator/b1ee$(EXEEXT) \ -# tools/mgmt-tester$(EXEEXT) \ -# tools/gap-tester$(EXEEXT) \ -# tools/bdaddr$(EXEEXT) tools/avinfo$(EXEEXT) \ -# tools/avtest$(EXEEXT) \ -# tools/scotest$(EXEEXT) \ -# tools/hcieventmask$(EXEEXT) \ -# tools/hcisecfilter$(EXEEXT) \ -# tools/hwdb$(EXEEXT) tools/btmgmt$(EXEEXT) \ -# tools/btattach$(EXEEXT) \ -# tools/btsnoop$(EXEEXT) \ -# tools/btiotest$(EXEEXT) \ -# tools/mpris-player$(EXEEXT) -am__EXEEXT_5 = attrib/gatttool$(EXEEXT) \ - tools/obex-client-tool$(EXEEXT) \ - tools/obex-server-tool$(EXEEXT) -#am__EXEEXT_6 = profiles/iap/iapd$(EXEEXT) -am__EXEEXT_7 = unit/test-eir$(EXEEXT) unit/test-uuid$(EXEEXT) \ - unit/test-textfile$(EXEEXT) unit/test-mgmt$(EXEEXT) \ - unit/test-sdp$(EXEEXT) unit/test-gdbus-client$(EXEEXT) \ - unit/test-gobex-header$(EXEEXT) \ - unit/test-gobex-packet$(EXEEXT) unit/test-gobex$(EXEEXT) \ - unit/test-gobex-transfer$(EXEEXT) \ - unit/test-gobex-apparam$(EXEEXT) unit/test-lib$(EXEEXT) -PROGRAMS = $(bin_PROGRAMS) $(cups_PROGRAMS) $(libexec_PROGRAMS) \ - $(noinst_PROGRAMS) $(udev_PROGRAMS) -am__attrib_gatttool_SOURCES_DIST = attrib/gatttool.c attrib/att.c \ - attrib/gatt.c attrib/gattrib.c btio/btio.c attrib/gatttool.h \ - attrib/grib_ble_extend.c \ - attrib/interactive.c attrib/utils.c src/log.c -am_attrib_gatttool_OBJECTS = attrib/gatttool.$(OBJEXT) \ - attrib/att.$(OBJEXT) attrib/gatt.$(OBJEXT) \ - attrib/gattrib.$(OBJEXT) btio/btio.$(OBJEXT) \ - attrib/interactive.$(OBJEXT) \ - attrib/grib_ble_extend.$(OBJEXT) \ - attrib/utils.$(OBJEXT) src/log.$(OBJEXT) -attrib_gatttool_OBJECTS = $(am_attrib_gatttool_OBJECTS) -attrib_gatttool_DEPENDENCIES = \ - lib/libbluetooth-private.la -am__client_bluetoothctl_SOURCES_DIST = gdbus/gdbus.h gdbus/mainloop.c \ - gdbus/watch.c gdbus/object.c gdbus/client.c gdbus/polkit.c \ - client/main.c client/display.h client/display.c client/agent.h \ - client/agent.c monitor/uuid.h monitor/uuid.c -am__objects_4 = gdbus/mainloop.$(OBJEXT) gdbus/watch.$(OBJEXT) \ - gdbus/object.$(OBJEXT) gdbus/client.$(OBJEXT) \ - gdbus/polkit.$(OBJEXT) -am_client_bluetoothctl_OBJECTS = $(am__objects_4) \ - client/main.$(OBJEXT) client/display.$(OBJEXT) \ - client/agent.$(OBJEXT) monitor/uuid.$(OBJEXT) -client_bluetoothctl_OBJECTS = $(am_client_bluetoothctl_OBJECTS) -client_bluetoothctl_DEPENDENCIES = -am__emulator_b1ee_SOURCES_DIST = emulator/b1ee.c monitor/mainloop.h \ - monitor/mainloop.c -#am_emulator_b1ee_OBJECTS = emulator/b1ee.$(OBJEXT) \ -# monitor/mainloop.$(OBJEXT) -emulator_b1ee_OBJECTS = $(am_emulator_b1ee_OBJECTS) -emulator_b1ee_LDADD = $(LDADD) -am__emulator_btvirt_SOURCES_DIST = emulator/main.c monitor/bt.h \ - monitor/mainloop.h monitor/mainloop.c emulator/server.h \ - emulator/server.c emulator/vhci.h emulator/vhci.c \ - emulator/btdev.h emulator/btdev.c emulator/bthost.h \ - emulator/bthost.c -#am_emulator_btvirt_OBJECTS = \ -# emulator/main.$(OBJEXT) \ -# monitor/mainloop.$(OBJEXT) \ -# emulator/server.$(OBJEXT) \ -# emulator/vhci.$(OBJEXT) \ -# emulator/btdev.$(OBJEXT) \ -# emulator/bthost.$(OBJEXT) -emulator_btvirt_OBJECTS = $(am_emulator_btvirt_OBJECTS) -emulator_btvirt_LDADD = $(LDADD) -am__monitor_btmon_SOURCES_DIST = monitor/main.c monitor/bt.h \ - monitor/mainloop.h monitor/mainloop.c monitor/display.h \ - monitor/display.c monitor/hcidump.h monitor/hcidump.c \ - monitor/btsnoop.h monitor/btsnoop.c monitor/control.h \ - monitor/control.c monitor/packet.h monitor/packet.c \ - monitor/l2cap.h monitor/l2cap.c monitor/uuid.h monitor/uuid.c \ - monitor/sdp.h monitor/sdp.c -am_monitor_btmon_OBJECTS = monitor/main.$(OBJEXT) \ - monitor/mainloop.$(OBJEXT) \ - monitor/display.$(OBJEXT) \ - monitor/hcidump.$(OBJEXT) \ - monitor/btsnoop.$(OBJEXT) \ - monitor/control.$(OBJEXT) \ - monitor/packet.$(OBJEXT) monitor/l2cap.$(OBJEXT) \ - monitor/uuid.$(OBJEXT) monitor/sdp.$(OBJEXT) -monitor_btmon_OBJECTS = $(am_monitor_btmon_OBJECTS) -monitor_btmon_DEPENDENCIES = \ - lib/libbluetooth-private.la -am__obexd_src_obexd_SOURCES_DIST = gdbus/gdbus.h gdbus/mainloop.c \ - gdbus/watch.c gdbus/object.c gdbus/client.c gdbus/polkit.c \ - btio/btio.h btio/btio.c gobex/gobex.h gobex/gobex.c \ - gobex/gobex-defs.h gobex/gobex-defs.c gobex/gobex-packet.c \ - gobex/gobex-packet.h gobex/gobex-header.c gobex/gobex-header.h \ - gobex/gobex-transfer.c gobex/gobex-debug.h \ - gobex/gobex-apparam.c gobex/gobex-apparam.h \ - obexd/plugins/filesystem.c obexd/plugins/filesystem.h \ - obexd/plugins/bluetooth.c obexd/plugins/pcsuite.c \ - obexd/plugins/opp.c obexd/plugins/ftp.c obexd/plugins/ftp.h \ - obexd/plugins/irmc.c obexd/plugins/pbap.c \ - obexd/plugins/vcard.h obexd/plugins/vcard.c \ - obexd/plugins/phonebook.h obexd/plugins/phonebook-dummy.c \ - obexd/plugins/mas.c obexd/src/map_ap.h \ - obexd/plugins/messages.h obexd/plugins/messages-dummy.c \ - obexd/client/mns.c obexd/client/map-event.h obexd/src/main.c \ - obexd/src/obexd.h obexd/src/plugin.h obexd/src/plugin.c \ - obexd/src/log.h obexd/src/log.c obexd/src/manager.h \ - obexd/src/manager.c obexd/src/obex.h obexd/src/obex.c \ - obexd/src/obex-priv.h obexd/src/mimetype.h \ - obexd/src/mimetype.c obexd/src/service.h obexd/src/service.c \ - obexd/src/transport.h obexd/src/transport.c obexd/src/server.h \ - obexd/src/server.c obexd/client/manager.h \ - obexd/client/manager.c obexd/client/session.h \ - obexd/client/session.c obexd/client/bluetooth.h \ - obexd/client/bluetooth.c obexd/client/sync.h \ - obexd/client/sync.c obexd/client/pbap.h obexd/client/pbap.c \ - obexd/client/ftp.h obexd/client/ftp.c obexd/client/opp.h \ - obexd/client/opp.c obexd/client/map.h obexd/client/map.c \ - obexd/client/transfer.h obexd/client/transfer.c \ - obexd/client/transport.h obexd/client/transport.c \ - obexd/client/dbus.h obexd/client/dbus.c obexd/client/driver.h \ - obexd/client/driver.c -am__objects_5 = gdbus/obexd-mainloop.$(OBJEXT) \ - gdbus/obexd-watch.$(OBJEXT) gdbus/obexd-object.$(OBJEXT) \ - gdbus/obexd-client.$(OBJEXT) gdbus/obexd-polkit.$(OBJEXT) -am__objects_6 = btio/obexd-btio.$(OBJEXT) -am__objects_7 = gobex/obexd-gobex.$(OBJEXT) \ - gobex/obexd-gobex-defs.$(OBJEXT) \ - gobex/obexd-gobex-packet.$(OBJEXT) \ - gobex/obexd-gobex-header.$(OBJEXT) \ - gobex/obexd-gobex-transfer.$(OBJEXT) \ - gobex/obexd-gobex-apparam.$(OBJEXT) -#am__objects_8 = \ -# obexd/plugins/obexd-pcsuite.$(OBJEXT) -am__objects_9 = obexd/plugins/obexd-irmc.$(OBJEXT) \ - obexd/plugins/obexd-pbap.$(OBJEXT) \ - obexd/plugins/obexd-vcard.$(OBJEXT) \ - obexd/plugins/obexd-phonebook-dummy.$(OBJEXT) -am__objects_10 = obexd/plugins/obexd-filesystem.$(OBJEXT) \ - obexd/plugins/obexd-bluetooth.$(OBJEXT) $(am__objects_8) \ - obexd/plugins/obexd-opp.$(OBJEXT) \ - obexd/plugins/obexd-ftp.$(OBJEXT) $(am__objects_9) \ - obexd/plugins/obexd-mas.$(OBJEXT) \ - obexd/plugins/obexd-messages-dummy.$(OBJEXT) \ - obexd/client/obexd-mns.$(OBJEXT) -am_obexd_src_obexd_OBJECTS = $(am__objects_5) $(am__objects_6) \ - $(am__objects_7) $(am__objects_10) \ - obexd/src/obexd-main.$(OBJEXT) \ - obexd/src/obexd-plugin.$(OBJEXT) obexd/src/obexd-log.$(OBJEXT) \ - obexd/src/obexd-manager.$(OBJEXT) \ - obexd/src/obexd-obex.$(OBJEXT) \ - obexd/src/obexd-mimetype.$(OBJEXT) \ - obexd/src/obexd-service.$(OBJEXT) \ - obexd/src/obexd-transport.$(OBJEXT) \ - obexd/src/obexd-server.$(OBJEXT) \ - obexd/client/obexd-manager.$(OBJEXT) \ - obexd/client/obexd-session.$(OBJEXT) \ - obexd/client/obexd-bluetooth.$(OBJEXT) \ - obexd/client/obexd-sync.$(OBJEXT) \ - obexd/client/obexd-pbap.$(OBJEXT) \ - obexd/client/obexd-ftp.$(OBJEXT) \ - obexd/client/obexd-opp.$(OBJEXT) \ - obexd/client/obexd-map.$(OBJEXT) \ - obexd/client/obexd-transfer.$(OBJEXT) \ - obexd/client/obexd-transport.$(OBJEXT) \ - obexd/client/obexd-dbus.$(OBJEXT) \ - obexd/client/obexd-driver.$(OBJEXT) -am__objects_11 = $(am__objects_1) -nodist_obexd_src_obexd_OBJECTS = $(am__objects_11) -obexd_src_obexd_OBJECTS = $(am_obexd_src_obexd_OBJECTS) \ - $(nodist_obexd_src_obexd_OBJECTS) -obexd_src_obexd_DEPENDENCIES = lib/libbluetooth-private.la -obexd_src_obexd_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(obexd_src_obexd_CFLAGS) $(CFLAGS) $(obexd_src_obexd_LDFLAGS) \ - $(LDFLAGS) -o $@ -am__profiles_cups_bluetooth_SOURCES_DIST = gdbus/gdbus.h \ - gdbus/mainloop.c gdbus/watch.c gdbus/object.c gdbus/client.c \ - gdbus/polkit.c profiles/cups/main.c profiles/cups/cups.h \ - profiles/cups/sdp.c profiles/cups/spp.c profiles/cups/hcrp.c -am_profiles_cups_bluetooth_OBJECTS = $(am__objects_4) \ - profiles/cups/main.$(OBJEXT) \ - profiles/cups/sdp.$(OBJEXT) \ - profiles/cups/spp.$(OBJEXT) \ - profiles/cups/hcrp.$(OBJEXT) -profiles_cups_bluetooth_OBJECTS = \ - $(am_profiles_cups_bluetooth_OBJECTS) -profiles_cups_bluetooth_DEPENDENCIES = \ - lib/libbluetooth-private.la -am__profiles_iap_iapd_SOURCES_DIST = gdbus/gdbus.h gdbus/mainloop.c \ - gdbus/watch.c gdbus/object.c gdbus/client.c gdbus/polkit.c \ - profiles/iap/main.c -#am_profiles_iap_iapd_OBJECTS = $(am__objects_4) \ -# profiles/iap/main.$(OBJEXT) -profiles_iap_iapd_OBJECTS = $(am_profiles_iap_iapd_OBJECTS) -profiles_iap_iapd_DEPENDENCIES = -am__src_bluetoothd_SOURCES_DIST = gdbus/gdbus.h gdbus/mainloop.c \ - gdbus/watch.c gdbus/object.c gdbus/client.c gdbus/polkit.c \ - plugins/hostname.c plugins/wiimote.c plugins/gatt-example.c \ - plugins/neard.c profiles/sap/main.c profiles/sap/manager.h \ - profiles/sap/manager.c profiles/sap/server.h \ - profiles/sap/server.c profiles/sap/sap.h \ - profiles/sap/sap-dummy.c profiles/audio/main.c \ - profiles/audio/manager.h profiles/audio/manager.c \ - profiles/audio/control.h profiles/audio/control.c \ - profiles/audio/avctp.h profiles/audio/avctp.c \ - profiles/audio/avrcp.h profiles/audio/avrcp.c \ - profiles/audio/device.h profiles/audio/device.c \ - profiles/audio/source.h profiles/audio/source.c \ - profiles/audio/sink.h profiles/audio/sink.c \ - profiles/audio/a2dp.h profiles/audio/a2dp.c \ - profiles/audio/avdtp.h profiles/audio/avdtp.c \ - profiles/audio/media.h profiles/audio/media.c \ - profiles/audio/transport.h profiles/audio/transport.c \ - profiles/audio/player.h profiles/audio/player.c \ - profiles/audio/a2dp-codecs.h profiles/network/manager.h \ - profiles/network/manager.c profiles/network/common.h \ - profiles/network/common.c profiles/network/server.h \ - profiles/network/server.c profiles/network/connection.h \ - profiles/network/connection.c profiles/input/manager.h \ - profiles/input/manager.c profiles/input/server.h \ - profiles/input/server.c profiles/input/device.h \ - profiles/input/device.c profiles/input/hog.c \ - profiles/input/uhid_copy.h profiles/input/suspend.h \ - profiles/input/suspend-dummy.c profiles/health/mcap_lib.h \ - profiles/health/mcap_internal.h profiles/health/mcap.h \ - profiles/health/mcap.c profiles/health/mcap_sync.c \ - profiles/health/hdp_main.c profiles/health/hdp_types.h \ - profiles/health/hdp_manager.h profiles/health/hdp_manager.c \ - profiles/health/hdp.h profiles/health/hdp.c \ - profiles/health/hdp_util.h profiles/health/hdp_util.c \ - profiles/gatt/gas.c profiles/scanparam/scan.c \ - profiles/deviceinfo/deviceinfo.c profiles/alert/server.c \ - profiles/time/server.c profiles/proximity/main.c \ - profiles/proximity/manager.h profiles/proximity/manager.c \ - profiles/proximity/monitor.h profiles/proximity/monitor.c \ - profiles/proximity/reporter.h profiles/proximity/reporter.c \ - profiles/proximity/linkloss.h profiles/proximity/linkloss.c \ - profiles/proximity/immalert.h profiles/proximity/immalert.c \ - profiles/thermometer/thermometer.c \ - profiles/heartrate/heartrate.c \ - profiles/cyclingspeed/cyclingspeed.c attrib/att.h \ - attrib/att-database.h attrib/att.c attrib/gatt.h attrib/gatt.c \ - attrib/gattrib.h attrib/gattrib.c attrib/gatt-service.h \ - attrib/gatt-service.c btio/btio.h btio/btio.c \ - src/bluetooth.ver src/main.c src/log.h src/log.c src/systemd.h \ - src/systemd.c src/rfkill.c src/hcid.h src/sdpd.h \ - src/sdpd-server.c src/sdpd-request.c src/sdpd-service.c \ - src/sdpd-database.c src/attrib-server.h src/attrib-server.c \ - src/sdp-xml.h src/sdp-xml.c src/sdp-client.h src/sdp-client.c \ - src/textfile.h src/textfile.c src/glib-helper.h \ - src/glib-helper.c src/uinput.h src/plugin.h src/plugin.c \ - src/storage.h src/storage.c src/agent.h src/agent.c \ - src/error.h src/error.c src/adapter.h src/adapter.c \ - src/profile.h src/profile.c src/device.h src/device.c \ - src/attio.h src/dbus-common.c src/dbus-common.h src/eir.h \ - src/eir.c src/shared/util.h src/shared/util.c \ - src/shared/mgmt.h src/shared/mgmt.c -am__objects_12 = gdbus/bluetoothd-mainloop.$(OBJEXT) \ - gdbus/bluetoothd-watch.$(OBJEXT) \ - gdbus/bluetoothd-object.$(OBJEXT) \ - gdbus/bluetoothd-client.$(OBJEXT) \ - gdbus/bluetoothd-polkit.$(OBJEXT) -#am__objects_13 = plugins/bluetoothd-gatt-example.$(OBJEXT) -#am__objects_14 = \ -# plugins/bluetoothd-neard.$(OBJEXT) \ -# profiles/sap/bluetoothd-main.$(OBJEXT) \ -# profiles/sap/bluetoothd-manager.$(OBJEXT) \ -# profiles/sap/bluetoothd-server.$(OBJEXT) \ -# profiles/sap/bluetoothd-sap-dummy.$(OBJEXT) -#am__objects_15 = \ -# profiles/health/bluetoothd-mcap.$(OBJEXT) \ -# profiles/health/bluetoothd-mcap_sync.$(OBJEXT) \ -# profiles/health/bluetoothd-hdp_main.$(OBJEXT) \ -# profiles/health/bluetoothd-hdp_manager.$(OBJEXT) \ -# profiles/health/bluetoothd-hdp.$(OBJEXT) \ -# profiles/health/bluetoothd-hdp_util.$(OBJEXT) -#am__objects_16 = \ -# profiles/alert/bluetoothd-server.$(OBJEXT) \ -# profiles/time/bluetoothd-server.$(OBJEXT) \ -# profiles/proximity/bluetoothd-main.$(OBJEXT) \ -# profiles/proximity/bluetoothd-manager.$(OBJEXT) \ -# profiles/proximity/bluetoothd-monitor.$(OBJEXT) \ -# profiles/proximity/bluetoothd-reporter.$(OBJEXT) \ -# profiles/proximity/bluetoothd-linkloss.$(OBJEXT) \ -# profiles/proximity/bluetoothd-immalert.$(OBJEXT) \ -# profiles/thermometer/bluetoothd-thermometer.$(OBJEXT) \ -# profiles/heartrate/bluetoothd-heartrate.$(OBJEXT) \ -# profiles/cyclingspeed/bluetoothd-cyclingspeed.$(OBJEXT) -am__objects_17 = plugins/bluetoothd-hostname.$(OBJEXT) \ - plugins/bluetoothd-wiimote.$(OBJEXT) $(am__objects_13) \ - $(am__objects_14) profiles/audio/bluetoothd-main.$(OBJEXT) \ - profiles/audio/bluetoothd-manager.$(OBJEXT) \ - profiles/audio/bluetoothd-control.$(OBJEXT) \ - profiles/audio/bluetoothd-avctp.$(OBJEXT) \ - profiles/audio/bluetoothd-avrcp.$(OBJEXT) \ - profiles/audio/bluetoothd-device.$(OBJEXT) \ - profiles/audio/bluetoothd-source.$(OBJEXT) \ - profiles/audio/bluetoothd-sink.$(OBJEXT) \ - profiles/audio/bluetoothd-a2dp.$(OBJEXT) \ - profiles/audio/bluetoothd-avdtp.$(OBJEXT) \ - profiles/audio/bluetoothd-media.$(OBJEXT) \ - profiles/audio/bluetoothd-transport.$(OBJEXT) \ - profiles/audio/bluetoothd-player.$(OBJEXT) \ - profiles/network/bluetoothd-manager.$(OBJEXT) \ - profiles/network/bluetoothd-common.$(OBJEXT) \ - profiles/network/bluetoothd-server.$(OBJEXT) \ - profiles/network/bluetoothd-connection.$(OBJEXT) \ - profiles/input/bluetoothd-manager.$(OBJEXT) \ - profiles/input/bluetoothd-server.$(OBJEXT) \ - profiles/input/bluetoothd-device.$(OBJEXT) \ - profiles/input/bluetoothd-hog.$(OBJEXT) \ - profiles/input/bluetoothd-suspend-dummy.$(OBJEXT) \ - $(am__objects_15) profiles/gatt/bluetoothd-gas.$(OBJEXT) \ - profiles/scanparam/bluetoothd-scan.$(OBJEXT) \ - profiles/deviceinfo/bluetoothd-deviceinfo.$(OBJEXT) \ - $(am__objects_16) -am__objects_18 = attrib/bluetoothd-att.$(OBJEXT) \ - attrib/bluetoothd-gatt.$(OBJEXT) \ - attrib/bluetoothd-gattrib.$(OBJEXT) \ - attrib/bluetoothd-gatt-service.$(OBJEXT) -am__objects_19 = btio/bluetoothd-btio.$(OBJEXT) -am_src_bluetoothd_OBJECTS = $(am__objects_12) $(am__objects_17) \ - $(am__objects_18) $(am__objects_19) \ - src/bluetoothd-main.$(OBJEXT) src/bluetoothd-log.$(OBJEXT) \ - src/bluetoothd-systemd.$(OBJEXT) \ - src/bluetoothd-rfkill.$(OBJEXT) \ - src/bluetoothd-sdpd-server.$(OBJEXT) \ - src/bluetoothd-sdpd-request.$(OBJEXT) \ - src/bluetoothd-sdpd-service.$(OBJEXT) \ - src/bluetoothd-sdpd-database.$(OBJEXT) \ - src/bluetoothd-attrib-server.$(OBJEXT) \ - src/bluetoothd-sdp-xml.$(OBJEXT) \ - src/bluetoothd-sdp-client.$(OBJEXT) \ - src/bluetoothd-textfile.$(OBJEXT) \ - src/bluetoothd-glib-helper.$(OBJEXT) \ - src/bluetoothd-plugin.$(OBJEXT) \ - src/bluetoothd-storage.$(OBJEXT) \ - src/bluetoothd-agent.$(OBJEXT) src/bluetoothd-error.$(OBJEXT) \ - src/bluetoothd-adapter.$(OBJEXT) \ - src/bluetoothd-profile.$(OBJEXT) \ - src/bluetoothd-device.$(OBJEXT) \ - src/bluetoothd-dbus-common.$(OBJEXT) \ - src/bluetoothd-eir.$(OBJEXT) \ - src/shared/bluetoothd-util.$(OBJEXT) \ - src/shared/bluetoothd-mgmt.$(OBJEXT) -nodist_src_bluetoothd_OBJECTS = $(am__objects_11) -src_bluetoothd_OBJECTS = $(am_src_bluetoothd_OBJECTS) \ - $(nodist_src_bluetoothd_OBJECTS) -src_bluetoothd_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(src_bluetoothd_CFLAGS) $(CFLAGS) $(src_bluetoothd_LDFLAGS) \ - $(LDFLAGS) -o $@ -tools_avinfo_SOURCES = tools/avinfo.c -tools_avinfo_OBJECTS = tools/avinfo.$(OBJEXT) -#tools_avinfo_DEPENDENCIES = \ -# lib/libbluetooth-private.la -tools_avtest_SOURCES = tools/avtest.c -tools_avtest_OBJECTS = tools/avtest.$(OBJEXT) -#tools_avtest_DEPENDENCIES = \ -# lib/libbluetooth-private.la -am__tools_bccmd_SOURCES_DIST = tools/bccmd.c tools/csr.h tools/csr.c \ - tools/csr_hci.c tools/csr_h4.c tools/csr_3wire.c \ - tools/csr_bcsp.c tools/ubcsp.h tools/ubcsp.c tools/csr_usb.c -am__objects_20 = tools/csr_usb.$(OBJEXT) -am_tools_bccmd_OBJECTS = tools/bccmd.$(OBJEXT) \ - tools/csr.$(OBJEXT) tools/csr_hci.$(OBJEXT) \ - tools/csr_h4.$(OBJEXT) tools/csr_3wire.$(OBJEXT) \ - tools/csr_bcsp.$(OBJEXT) tools/ubcsp.$(OBJEXT) \ - $(am__objects_20) -tools_bccmd_OBJECTS = $(am_tools_bccmd_OBJECTS) -am__DEPENDENCIES_1 = -tools_bccmd_DEPENDENCIES = lib/libbluetooth-private.la \ - $(am__DEPENDENCIES_1) -am__tools_bdaddr_SOURCES_DIST = tools/bdaddr.c src/oui.h src/oui.c -#am_tools_bdaddr_OBJECTS = tools/bdaddr.$(OBJEXT) \ -# src/oui.$(OBJEXT) -tools_bdaddr_OBJECTS = $(am_tools_bdaddr_OBJECTS) -#tools_bdaddr_DEPENDENCIES = \ -# lib/libbluetooth-private.la -tools_btattach_SOURCES = tools/btattach.c -tools_btattach_OBJECTS = tools/btattach.$(OBJEXT) -tools_btattach_LDADD = $(LDADD) -am__tools_btiotest_SOURCES_DIST = tools/btiotest.c btio/btio.h \ - btio/btio.c -#am_tools_btiotest_OBJECTS = \ -# tools/btiotest.$(OBJEXT) \ -# btio/btio.$(OBJEXT) -tools_btiotest_OBJECTS = $(am_tools_btiotest_OBJECTS) -#tools_btiotest_DEPENDENCIES = \ -# lib/libbluetooth-private.la -am__tools_btmgmt_SOURCES_DIST = tools/btmgmt.c src/glib-helper.c \ - src/eir.c src/shared/util.h src/shared/util.c \ - src/shared/mgmt.h src/shared/mgmt.c -#am_tools_btmgmt_OBJECTS = tools/btmgmt.$(OBJEXT) \ -# src/glib-helper.$(OBJEXT) src/eir.$(OBJEXT) \ -# src/shared/util.$(OBJEXT) \ -# src/shared/mgmt.$(OBJEXT) -tools_btmgmt_OBJECTS = $(am_tools_btmgmt_OBJECTS) -#tools_btmgmt_DEPENDENCIES = \ -# lib/libbluetooth-private.la -tools_btsnoop_SOURCES = tools/btsnoop.c -tools_btsnoop_OBJECTS = tools/btsnoop.$(OBJEXT) -tools_btsnoop_LDADD = $(LDADD) -tools_ciptool_SOURCES = tools/ciptool.c -tools_ciptool_OBJECTS = tools/ciptool.$(OBJEXT) -tools_ciptool_DEPENDENCIES = lib/libbluetooth-private.la -am__tools_gap_tester_SOURCES_DIST = gdbus/gdbus.h gdbus/mainloop.c \ - gdbus/watch.c gdbus/object.c gdbus/client.c gdbus/polkit.c \ - tools/gap-tester.c monitor/bt.h emulator/btdev.h \ - emulator/btdev.c emulator/bthost.h emulator/bthost.c \ - src/shared/hciemu.h src/shared/hciemu.c src/shared/tester.h \ - src/shared/tester.c -#am_tools_gap_tester_OBJECTS = $(am__objects_4) \ -# tools/gap-tester.$(OBJEXT) \ -# emulator/btdev.$(OBJEXT) \ -# emulator/bthost.$(OBJEXT) \ -# src/shared/hciemu.$(OBJEXT) \ -# src/shared/tester.$(OBJEXT) -tools_gap_tester_OBJECTS = $(am_tools_gap_tester_OBJECTS) -tools_gap_tester_DEPENDENCIES = -am__tools_hciattach_SOURCES_DIST = tools/hciattach.c tools/hciattach.h \ - tools/hciattach_st.c tools/hciattach_ti.c \ - tools/hciattach_tialt.c tools/hciattach_ath3k.c \ - tools/hciattach_qualcomm.c tools/hciattach_intel.c -am_tools_hciattach_OBJECTS = tools/hciattach.$(OBJEXT) \ - tools/hciattach_st.$(OBJEXT) \ - tools/hciattach_ti.$(OBJEXT) \ - tools/hciattach_tialt.$(OBJEXT) \ - tools/hciattach_ath3k.$(OBJEXT) \ - tools/hciattach_qualcomm.$(OBJEXT) \ - tools/hciattach_intel.$(OBJEXT) -tools_hciattach_OBJECTS = $(am_tools_hciattach_OBJECTS) -tools_hciattach_DEPENDENCIES = \ - lib/libbluetooth-private.la -am__tools_hciconfig_SOURCES_DIST = tools/hciconfig.c tools/csr.h \ - tools/csr.c -am_tools_hciconfig_OBJECTS = tools/hciconfig.$(OBJEXT) \ - tools/csr.$(OBJEXT) -tools_hciconfig_OBJECTS = $(am_tools_hciconfig_OBJECTS) -tools_hciconfig_DEPENDENCIES = \ - lib/libbluetooth-private.la -am__tools_hcidump_SOURCES_DIST = tools/hcidump.c tools/parser/parser.h \ - tools/parser/parser.c tools/parser/lmp.c tools/parser/hci.c \ - tools/parser/l2cap.h tools/parser/l2cap.c tools/parser/amp.c \ - tools/parser/smp.c tools/parser/att.c tools/parser/sdp.h \ - tools/parser/sdp.c tools/parser/rfcomm.h tools/parser/rfcomm.c \ - tools/parser/bnep.c tools/parser/cmtp.c tools/parser/hidp.c \ - tools/parser/hcrp.c tools/parser/avdtp.c tools/parser/avctp.c \ - tools/parser/avrcp.c tools/parser/sap.c tools/parser/obex.c \ - tools/parser/capi.c tools/parser/ppp.c tools/parser/tcpip.c \ - tools/parser/ericsson.c tools/parser/csr.c tools/parser/bpa.c -am_tools_hcidump_OBJECTS = tools/hcidump.$(OBJEXT) \ - tools/parser/parser.$(OBJEXT) \ - tools/parser/lmp.$(OBJEXT) \ - tools/parser/hci.$(OBJEXT) \ - tools/parser/l2cap.$(OBJEXT) \ - tools/parser/amp.$(OBJEXT) \ - tools/parser/smp.$(OBJEXT) \ - tools/parser/att.$(OBJEXT) \ - tools/parser/sdp.$(OBJEXT) \ - tools/parser/rfcomm.$(OBJEXT) \ - tools/parser/bnep.$(OBJEXT) \ - tools/parser/cmtp.$(OBJEXT) \ - tools/parser/hidp.$(OBJEXT) \ - tools/parser/hcrp.$(OBJEXT) \ - tools/parser/avdtp.$(OBJEXT) \ - tools/parser/avctp.$(OBJEXT) \ - tools/parser/avrcp.$(OBJEXT) \ - tools/parser/sap.$(OBJEXT) \ - tools/parser/obex.$(OBJEXT) \ - tools/parser/capi.$(OBJEXT) \ - tools/parser/ppp.$(OBJEXT) \ - tools/parser/tcpip.$(OBJEXT) \ - tools/parser/ericsson.$(OBJEXT) \ - tools/parser/csr.$(OBJEXT) \ - tools/parser/bpa.$(OBJEXT) -tools_hcidump_OBJECTS = $(am_tools_hcidump_OBJECTS) -tools_hcidump_DEPENDENCIES = lib/libbluetooth-private.la -tools_hcieventmask_SOURCES = tools/hcieventmask.c -tools_hcieventmask_OBJECTS = tools/hcieventmask.$(OBJEXT) -#tools_hcieventmask_DEPENDENCIES = \ -# lib/libbluetooth-private.la -tools_hcisecfilter_SOURCES = tools/hcisecfilter.c -tools_hcisecfilter_OBJECTS = tools/hcisecfilter.$(OBJEXT) -tools_hcisecfilter_LDADD = $(LDADD) -am__tools_hcitool_SOURCES_DIST = tools/hcitool.c src/oui.h src/oui.c -am_tools_hcitool_OBJECTS = tools/hcitool.$(OBJEXT) \ - src/oui.$(OBJEXT) -tools_hcitool_OBJECTS = $(am_tools_hcitool_OBJECTS) -tools_hcitool_DEPENDENCIES = lib/libbluetooth-private.la -tools_hid2hci_SOURCES = tools/hid2hci.c -tools_hid2hci_OBJECTS = tools/hid2hci.$(OBJEXT) -tools_hid2hci_DEPENDENCIES = -tools_hwdb_SOURCES = tools/hwdb.c -tools_hwdb_OBJECTS = tools/hwdb.$(OBJEXT) -#tools_hwdb_DEPENDENCIES = \ -# lib/libbluetooth-private.la -tools_l2ping_SOURCES = tools/l2ping.c -tools_l2ping_OBJECTS = tools/l2ping.$(OBJEXT) -tools_l2ping_DEPENDENCIES = lib/libbluetooth-private.la -tools_l2test_SOURCES = tools/l2test.c -tools_l2test_OBJECTS = tools/l2test.$(OBJEXT) -tools_l2test_DEPENDENCIES = lib/libbluetooth-private.la -am__tools_mgmt_tester_SOURCES_DIST = tools/mgmt-tester.c monitor/bt.h \ - emulator/btdev.h emulator/btdev.c emulator/bthost.h \ - emulator/bthost.c src/shared/util.h src/shared/util.c \ - src/shared/mgmt.h src/shared/mgmt.c src/shared/hciemu.h \ - src/shared/hciemu.c src/shared/tester.h src/shared/tester.c -#am_tools_mgmt_tester_OBJECTS = \ -# tools/mgmt-tester.$(OBJEXT) \ -# emulator/btdev.$(OBJEXT) \ -# emulator/bthost.$(OBJEXT) \ -# src/shared/util.$(OBJEXT) \ -# src/shared/mgmt.$(OBJEXT) \ -# src/shared/hciemu.$(OBJEXT) \ -# src/shared/tester.$(OBJEXT) -tools_mgmt_tester_OBJECTS = $(am_tools_mgmt_tester_OBJECTS) -#tools_mgmt_tester_DEPENDENCIES = \ -# lib/libbluetooth-private.la -am__tools_mpris_player_SOURCES_DIST = gdbus/gdbus.h gdbus/mainloop.c \ - gdbus/watch.c gdbus/object.c gdbus/client.c gdbus/polkit.c \ - tools/mpris-player.c -#am_tools_mpris_player_OBJECTS = $(am__objects_4) \ -# tools/mpris-player.$(OBJEXT) -tools_mpris_player_OBJECTS = $(am_tools_mpris_player_OBJECTS) -tools_mpris_player_DEPENDENCIES = -am__tools_obex_client_tool_SOURCES_DIST = gobex/gobex.h gobex/gobex.c \ - gobex/gobex-defs.h gobex/gobex-defs.c gobex/gobex-packet.c \ - gobex/gobex-packet.h gobex/gobex-header.c gobex/gobex-header.h \ - gobex/gobex-transfer.c gobex/gobex-debug.h \ - gobex/gobex-apparam.c gobex/gobex-apparam.h btio/btio.h \ - btio/btio.c tools/obex-client-tool.c -am__objects_21 = gobex/gobex.$(OBJEXT) gobex/gobex-defs.$(OBJEXT) \ - gobex/gobex-packet.$(OBJEXT) gobex/gobex-header.$(OBJEXT) \ - gobex/gobex-transfer.$(OBJEXT) gobex/gobex-apparam.$(OBJEXT) -am__objects_22 = btio/btio.$(OBJEXT) -am_tools_obex_client_tool_OBJECTS = $(am__objects_21) \ - $(am__objects_22) \ - tools/obex-client-tool.$(OBJEXT) -tools_obex_client_tool_OBJECTS = $(am_tools_obex_client_tool_OBJECTS) -tools_obex_client_tool_DEPENDENCIES = \ - lib/libbluetooth-private.la -am__tools_obex_server_tool_SOURCES_DIST = gobex/gobex.h gobex/gobex.c \ - gobex/gobex-defs.h gobex/gobex-defs.c gobex/gobex-packet.c \ - gobex/gobex-packet.h gobex/gobex-header.c gobex/gobex-header.h \ - gobex/gobex-transfer.c gobex/gobex-debug.h \ - gobex/gobex-apparam.c gobex/gobex-apparam.h btio/btio.h \ - btio/btio.c tools/obex-server-tool.c -am_tools_obex_server_tool_OBJECTS = $(am__objects_21) \ - $(am__objects_22) \ - tools/obex-server-tool.$(OBJEXT) -tools_obex_server_tool_OBJECTS = $(am_tools_obex_server_tool_OBJECTS) -tools_obex_server_tool_DEPENDENCIES = \ - lib/libbluetooth-private.la -tools_rctest_SOURCES = tools/rctest.c -tools_rctest_OBJECTS = tools/rctest.$(OBJEXT) -tools_rctest_DEPENDENCIES = lib/libbluetooth-private.la -tools_rfcomm_SOURCES = tools/rfcomm.c -tools_rfcomm_OBJECTS = tools/rfcomm.$(OBJEXT) -tools_rfcomm_DEPENDENCIES = lib/libbluetooth-private.la -tools_scotest_SOURCES = tools/scotest.c -tools_scotest_OBJECTS = tools/scotest.$(OBJEXT) -#tools_scotest_DEPENDENCIES = \ -# lib/libbluetooth-private.la -am__tools_sdptool_SOURCES_DIST = tools/sdptool.c src/sdp-xml.h \ - src/sdp-xml.c -am_tools_sdptool_OBJECTS = tools/sdptool.$(OBJEXT) \ - src/sdp-xml.$(OBJEXT) -tools_sdptool_OBJECTS = $(am_tools_sdptool_OBJECTS) -tools_sdptool_DEPENDENCIES = lib/libbluetooth-private.la -am_unit_test_eir_OBJECTS = unit/test-eir.$(OBJEXT) src/eir.$(OBJEXT) \ - src/glib-helper.$(OBJEXT) -unit_test_eir_OBJECTS = $(am_unit_test_eir_OBJECTS) -unit_test_eir_DEPENDENCIES = lib/libbluetooth-private.la -am_unit_test_gdbus_client_OBJECTS = $(am__objects_4) \ - unit/test-gdbus-client.$(OBJEXT) -unit_test_gdbus_client_OBJECTS = $(am_unit_test_gdbus_client_OBJECTS) -unit_test_gdbus_client_DEPENDENCIES = -am_unit_test_gobex_OBJECTS = $(am__objects_21) unit/util.$(OBJEXT) \ - unit/test-gobex.$(OBJEXT) -unit_test_gobex_OBJECTS = $(am_unit_test_gobex_OBJECTS) -unit_test_gobex_DEPENDENCIES = -am_unit_test_gobex_apparam_OBJECTS = $(am__objects_21) \ - unit/util.$(OBJEXT) unit/test-gobex-apparam.$(OBJEXT) -unit_test_gobex_apparam_OBJECTS = \ - $(am_unit_test_gobex_apparam_OBJECTS) -unit_test_gobex_apparam_DEPENDENCIES = -am_unit_test_gobex_header_OBJECTS = $(am__objects_21) \ - unit/util.$(OBJEXT) unit/test-gobex-header.$(OBJEXT) -unit_test_gobex_header_OBJECTS = $(am_unit_test_gobex_header_OBJECTS) -unit_test_gobex_header_DEPENDENCIES = -am_unit_test_gobex_packet_OBJECTS = $(am__objects_21) \ - unit/util.$(OBJEXT) unit/test-gobex-packet.$(OBJEXT) -unit_test_gobex_packet_OBJECTS = $(am_unit_test_gobex_packet_OBJECTS) -unit_test_gobex_packet_DEPENDENCIES = -am_unit_test_gobex_transfer_OBJECTS = $(am__objects_21) \ - unit/util.$(OBJEXT) unit/test-gobex-transfer.$(OBJEXT) -unit_test_gobex_transfer_OBJECTS = \ - $(am_unit_test_gobex_transfer_OBJECTS) -unit_test_gobex_transfer_DEPENDENCIES = -am_unit_test_lib_OBJECTS = unit/test-lib.$(OBJEXT) -unit_test_lib_OBJECTS = $(am_unit_test_lib_OBJECTS) -unit_test_lib_DEPENDENCIES = lib/libbluetooth-private.la -am_unit_test_mgmt_OBJECTS = unit/test-mgmt.$(OBJEXT) \ - src/shared/util.$(OBJEXT) src/shared/mgmt.$(OBJEXT) -unit_test_mgmt_OBJECTS = $(am_unit_test_mgmt_OBJECTS) -unit_test_mgmt_DEPENDENCIES = -am_unit_test_sdp_OBJECTS = unit/test-sdp.$(OBJEXT) \ - src/shared/util.$(OBJEXT) src/sdpd-database.$(OBJEXT) \ - src/sdpd-service.$(OBJEXT) src/sdpd-request.$(OBJEXT) -unit_test_sdp_OBJECTS = $(am_unit_test_sdp_OBJECTS) -unit_test_sdp_DEPENDENCIES = lib/libbluetooth-private.la -am_unit_test_textfile_OBJECTS = unit/test-textfile.$(OBJEXT) \ - src/textfile.$(OBJEXT) -unit_test_textfile_OBJECTS = $(am_unit_test_textfile_OBJECTS) -unit_test_textfile_DEPENDENCIES = -am_unit_test_uuid_OBJECTS = unit/test-uuid.$(OBJEXT) -unit_test_uuid_OBJECTS = $(am_unit_test_uuid_OBJECTS) -unit_test_uuid_DEPENDENCIES = lib/libbluetooth-private.la -SCRIPTS = $(test_SCRIPTS) -DEFAULT_INCLUDES = -I. -depcomp = $(SHELL) $(top_srcdir)/depcomp -am__depfiles_maybe = depfiles -am__mv = mv -f -COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ - $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ - $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ - $(AM_CFLAGS) $(CFLAGS) -AM_V_CC = $(am__v_CC_$(V)) -am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY)) -am__v_CC_0 = @echo " CC " $@; -CCLD = $(CC) -LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(AM_LDFLAGS) $(LDFLAGS) -o $@ -AM_V_CCLD = $(am__v_CCLD_$(V)) -am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY)) -am__v_CCLD_0 = @echo " CCLD " $@; -AM_V_GEN = $(am__v_GEN_$(V)) -am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) -am__v_GEN_0 = @echo " GEN " $@; -SOURCES = $(profiles_sap_libsap_a_SOURCES) \ - $(lib_libbluetooth_private_la_SOURCES) \ - $(lib_libbluetooth_la_SOURCES) \ - $(plugins_external_dummy_la_SOURCES) \ - $(attrib_gatttool_SOURCES) $(client_bluetoothctl_SOURCES) \ - $(emulator_b1ee_SOURCES) $(emulator_btvirt_SOURCES) \ - $(monitor_btmon_SOURCES) $(obexd_src_obexd_SOURCES) \ - $(nodist_obexd_src_obexd_SOURCES) \ - $(profiles_cups_bluetooth_SOURCES) \ - $(profiles_iap_iapd_SOURCES) $(src_bluetoothd_SOURCES) \ - $(nodist_src_bluetoothd_SOURCES) tools/avinfo.c tools/avtest.c \ - $(tools_bccmd_SOURCES) $(tools_bdaddr_SOURCES) \ - tools/btattach.c $(tools_btiotest_SOURCES) \ - $(tools_btmgmt_SOURCES) tools/btsnoop.c tools/ciptool.c \ - $(tools_gap_tester_SOURCES) $(tools_hciattach_SOURCES) \ - $(tools_hciconfig_SOURCES) $(tools_hcidump_SOURCES) \ - tools/hcieventmask.c tools/hcisecfilter.c \ - $(tools_hcitool_SOURCES) tools/hid2hci.c tools/hwdb.c \ - tools/l2ping.c tools/l2test.c $(tools_mgmt_tester_SOURCES) \ - $(tools_mpris_player_SOURCES) \ - $(tools_obex_client_tool_SOURCES) \ - $(tools_obex_server_tool_SOURCES) tools/rctest.c \ - tools/rfcomm.c tools/scotest.c $(tools_sdptool_SOURCES) \ - $(unit_test_eir_SOURCES) $(unit_test_gdbus_client_SOURCES) \ - $(unit_test_gobex_SOURCES) $(unit_test_gobex_apparam_SOURCES) \ - $(unit_test_gobex_header_SOURCES) \ - $(unit_test_gobex_packet_SOURCES) \ - $(unit_test_gobex_transfer_SOURCES) $(unit_test_lib_SOURCES) \ - $(unit_test_mgmt_SOURCES) $(unit_test_sdp_SOURCES) \ - $(unit_test_textfile_SOURCES) $(unit_test_uuid_SOURCES) -DIST_SOURCES = $(am__profiles_sap_libsap_a_SOURCES_DIST) \ - $(lib_libbluetooth_private_la_SOURCES) \ - $(am__lib_libbluetooth_la_SOURCES_DIST) \ - $(am__plugins_external_dummy_la_SOURCES_DIST) \ - $(am__attrib_gatttool_SOURCES_DIST) \ - $(am__client_bluetoothctl_SOURCES_DIST) \ - $(am__emulator_b1ee_SOURCES_DIST) \ - $(am__emulator_btvirt_SOURCES_DIST) \ - $(am__monitor_btmon_SOURCES_DIST) \ - $(am__obexd_src_obexd_SOURCES_DIST) \ - $(am__profiles_cups_bluetooth_SOURCES_DIST) \ - $(am__profiles_iap_iapd_SOURCES_DIST) \ - $(am__src_bluetoothd_SOURCES_DIST) tools/avinfo.c \ - tools/avtest.c $(am__tools_bccmd_SOURCES_DIST) \ - $(am__tools_bdaddr_SOURCES_DIST) tools/btattach.c \ - $(am__tools_btiotest_SOURCES_DIST) \ - $(am__tools_btmgmt_SOURCES_DIST) tools/btsnoop.c \ - tools/ciptool.c $(am__tools_gap_tester_SOURCES_DIST) \ - $(am__tools_hciattach_SOURCES_DIST) \ - $(am__tools_hciconfig_SOURCES_DIST) \ - $(am__tools_hcidump_SOURCES_DIST) tools/hcieventmask.c \ - tools/hcisecfilter.c $(am__tools_hcitool_SOURCES_DIST) \ - tools/hid2hci.c tools/hwdb.c tools/l2ping.c tools/l2test.c \ - $(am__tools_mgmt_tester_SOURCES_DIST) \ - $(am__tools_mpris_player_SOURCES_DIST) \ - $(am__tools_obex_client_tool_SOURCES_DIST) \ - $(am__tools_obex_server_tool_SOURCES_DIST) tools/rctest.c \ - tools/rfcomm.c tools/scotest.c \ - $(am__tools_sdptool_SOURCES_DIST) $(unit_test_eir_SOURCES) \ - $(unit_test_gdbus_client_SOURCES) $(unit_test_gobex_SOURCES) \ - $(unit_test_gobex_apparam_SOURCES) \ - $(unit_test_gobex_header_SOURCES) \ - $(unit_test_gobex_packet_SOURCES) \ - $(unit_test_gobex_transfer_SOURCES) $(unit_test_lib_SOURCES) \ - $(unit_test_mgmt_SOURCES) $(unit_test_sdp_SOURCES) \ - $(unit_test_textfile_SOURCES) $(unit_test_uuid_SOURCES) -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -man1dir = $(mandir)/man1 -man8dir = $(mandir)/man8 -NROFF = nroff -MANS = $(dist_man_MANS) $(man_MANS) -DATA = $(conf_DATA) $(dbus_DATA) $(dbussessionbus_DATA) \ - $(dbussystembus_DATA) $(pkgconfig_DATA) $(rules_DATA) \ - $(state_DATA) $(systemdsystemunit_DATA) \ - $(systemduserunit_DATA) -am__include_HEADERS_DIST = lib/bluetooth.h lib/hci.h lib/hci_lib.h \ - lib/sco.h lib/l2cap.h lib/sdp.h lib/sdp_lib.h lib/rfcomm.h \ - lib/bnep.h lib/cmtp.h lib/hidp.h -HEADERS = $(include_HEADERS) -ETAGS = etags -CTAGS = ctags -# If stdout is a non-dumb tty, use colors. If test -t is not supported, -# then this fails; a conservative approach. Of course do not redirect -# stdout here, just stderr. -am__tty_colors = \ -red=; grn=; lgn=; blu=; std=; \ -test "X$(AM_COLOR_TESTS)" != Xno \ -&& test "X$$TERM" != Xdumb \ -&& { test "X$(AM_COLOR_TESTS)" = Xalways || test -t 1 2>/dev/null; } \ -&& { \ - red=''; \ - grn=''; \ - lgn=''; \ - blu=''; \ - std=''; \ -} -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -distdir = $(PACKAGE)-$(VERSION) -top_distdir = $(distdir) -am__remove_distdir = \ - if test -d "$(distdir)"; then \ - find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \ - && rm -rf "$(distdir)" \ - || { sleep 5 && rm -rf "$(distdir)"; }; \ - else :; fi -GZIP_ENV = --best -DIST_ARCHIVES = $(distdir).tar.xz -distuninstallcheck_listfiles = find . -type f -print -am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \ - | sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$' -distcleancheck_listfiles = find . -type f -print -ACLOCAL = ${SHELL} /home/pi/20_GRIB_ICBMS_2ND/libs/ble_extend/missing --run aclocal-1.11 -AMTAR = $${TAR-tar} -AM_DEFAULT_VERBOSITY = 0 -AR = ar -AUTOCONF = ${SHELL} /home/pi/20_GRIB_ICBMS_2ND/libs/ble_extend/missing --run autoconf -AUTOHEADER = ${SHELL} /home/pi/20_GRIB_ICBMS_2ND/libs/ble_extend/missing --run autoheader -AUTOMAKE = ${SHELL} /home/pi/20_GRIB_ICBMS_2ND/libs/ble_extend/missing --run automake-1.11 -AWK = mawk -CC = gcc -CCDEPMODE = depmode=gcc3 -CFLAGS = -g -O2 -CPP = gcc -E -CPPFLAGS = -CYGPATH_W = echo -DBUS_CFLAGS = -I/usr/include/dbus-1.0 -I/usr/lib/arm-linux-gnueabihf/dbus-1.0/include -DBUS_CONFDIR = /etc -DBUS_LIBS = -ldbus-1 -DBUS_SESSIONBUSDIR = /usr/share/dbus-1/services -DBUS_SYSTEMBUSDIR = /usr/share/dbus-1/system-services -DEFS = -DHAVE_CONFIG_H -DEPDIR = .deps -DLLTOOL = false -DSYMUTIL = -DUMPBIN = -ECHO_C = -ECHO_N = -n -ECHO_T = -EGREP = /bin/grep -E -EXEEXT = -FGREP = /bin/grep -F -GLIB_CFLAGS = -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -GLIB_LIBS = -lglib-2.0 -GREP = /bin/grep -GTHREAD_CFLAGS = -GTHREAD_LIBS = -ICAL_CFLAGS = -ICAL_LIBS = -lical -licalss -licalvcal -lpthread -INSTALL = /usr/bin/install -c -INSTALL_DATA = ${INSTALL} -m 644 -INSTALL_PROGRAM = ${INSTALL} -INSTALL_SCRIPT = ${INSTALL} -INSTALL_STRIP_PROGRAM = $(install_sh) -c -s -LD = /usr/bin/ld -LDFLAGS = -LIBOBJS = -LIBS = -LIBTOOL = $(SHELL) $(top_builddir)/libtool -LIPO = -LN_S = ln -s -LTLIBOBJS = -MAINT = # -MAKEINFO = ${SHELL} /home/pi/20_GRIB_ICBMS_2ND/libs/ble_extend/missing --run makeinfo -MANIFEST_TOOL = : -MISC_CFLAGS = -MISC_LDFLAGS = -MKDIR_P = /bin/mkdir -p -NM = /usr/bin/nm -B -NMEDIT = -OBJDUMP = objdump -OBJEXT = o -OTOOL = -OTOOL64 = -PACKAGE = bluez -PACKAGE_BUGREPORT = -PACKAGE_NAME = bluez -PACKAGE_STRING = bluez 5.4 -PACKAGE_TARNAME = bluez -PACKAGE_URL = -PACKAGE_VERSION = 5.4 -PATH_SEPARATOR = : -PKG_CONFIG = /usr/bin/pkg-config -PKG_CONFIG_LIBDIR = -PKG_CONFIG_PATH = -RANLIB = ranlib -SED = /bin/sed -SET_MAKE = -SHELL = /bin/bash -STRIP = strip -SYSTEMD_SYSTEMUNITDIR = -SYSTEMD_USERUNITDIR = -UDEV_CFLAGS = -UDEV_DIR = /lib/udev -UDEV_LIBS = -ludev -USB_CFLAGS = -USB_LIBS = -lusb -VERSION = 5.4 -WARNING_CFLAGS = -abs_builddir = /home/pi/20_GRIB_ICBMS_2ND/libs/ble_extend -abs_srcdir = /home/pi/20_GRIB_ICBMS_2ND/libs/ble_extend -abs_top_builddir = /home/pi/20_GRIB_ICBMS_2ND/libs/ble_extend -abs_top_srcdir = /home/pi/20_GRIB_ICBMS_2ND/libs/ble_extend -ac_ct_AR = ar -ac_ct_CC = gcc -ac_ct_DUMPBIN = -am__include = include -am__leading_dot = . -am__quote = -am__tar = tar --format=posix -chf - "$$tardir" -am__untar = tar -xf - -bindir = ${exec_prefix}/bin -build = armv7l-unknown-linux-gnueabihf -build_alias = -build_cpu = armv7l -build_os = linux-gnueabihf -build_vendor = unknown -builddir = . -datadir = ${datarootdir} -datarootdir = ${prefix}/share -docdir = ${datarootdir}/doc/${PACKAGE_TARNAME} -dvidir = ${docdir} -exec_prefix = ${prefix} -host = armv7l-unknown-linux-gnueabihf -host_alias = -host_cpu = armv7l -host_os = linux-gnueabihf -host_vendor = unknown -htmldir = ${docdir} -includedir = ${prefix}/include/bluetooth -infodir = ${datarootdir}/info -install_sh = ${SHELL} /home/pi/20_GRIB_ICBMS_2ND/libs/ble_extend/install-sh -libdir = ${exec_prefix}/lib -libexecdir = ${exec_prefix}/libexec/bluetooth -localedir = ${datarootdir}/locale -localstatedir = /var -mandir = ${datarootdir}/man -mkdir_p = /bin/mkdir -p -oldincludedir = /usr/include -pdfdir = ${docdir} -prefix = /usr/local -program_transform_name = s,x,x, -psdir = ${docdir} -sbindir = ${exec_prefix}/sbin -sharedstatedir = ${prefix}/com -srcdir = . -sysconfdir = ${prefix}/etc -target_alias = -top_build_prefix = -top_builddir = . -top_srcdir = . -AM_MAKEFLAGS = --no-print-directory -lib_LTLIBRARIES = $(am__append_2) -noinst_LIBRARIES = $(am__append_7) -noinst_LTLIBRARIES = lib/libbluetooth-private.la -dist_man_MANS = $(am__append_19) $(am__append_21) -dist_noinst_MANS = -CLEANFILES = $(builtin_files) src/bluetooth.service \ - obexd/src/builtin.h $(builtin_files) obexd/src/obex.service \ - $(am__append_30) -EXTRA_DIST = src/bluetooth.service.in src/org.bluez.service \ - src/genbuiltin src/bluetooth.conf src/main.conf \ - profiles/network/network.conf profiles/input/input.conf \ - profiles/proximity/proximity.conf profiles/audio/audio.conf \ - $(am__append_20) $(am__append_22) $(am__append_23) \ - obexd/src/obex.service.in obexd/src/org.bluez.obex.service \ - obexd/src/genbuiltin tools/hid2hci.rules $(test_scripts) \ - doc/assigned-numbers.txt doc/supported-features.txt \ - doc/mgmt-api.txt doc/adapter-api.txt doc/device-api.txt \ - doc/agent-api.txt doc/profile-api.txt doc/network-api.txt \ - doc/media-api.txt doc/health-api.txt doc/sap-api.txt \ - doc/alert-api.txt doc/proximity-api.txt doc/heartrate-api.txt \ - doc/thermometer-api.txt doc/cyclingspeed-api.txt \ - doc/obex-api.txt doc/obex-agent-api.txt tools/magic.btsnoop -include_HEADERS = $(am__append_1) -AM_CFLAGS = $(WARNING_CFLAGS) $(MISC_CFLAGS) -I/usr/include/dbus-1.0 -I/usr/lib/arm-linux-gnueabihf/dbus-1.0/include \ - -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include $(am__empty) -AM_LDFLAGS = $(MISC_LDFLAGS) -dbusdir = /etc/dbus-1/system.d -dbus_DATA = src/bluetooth.conf -confdir = $(sysconfdir)/bluetooth -conf_DATA = -statedir = $(localstatedir)/lib/bluetooth -state_DATA = -#systemdsystemunitdir = -#systemdsystemunit_DATA = src/bluetooth.service -#dbussystembusdir = /usr/share/dbus-1/system-services -#dbussystembus_DATA = src/org.bluez.service -plugindir = $(libdir)/bluetooth/plugins -build_plugindir = $(plugindir) -#build_plugindir = $(abs_top_srcdir)/plugins/.libs -plugin_LTLIBRARIES = $(am__append_12) -lib_sources = lib/bluetooth.c lib/hci.c lib/sdp.c -lib_headers = lib/bluetooth.h lib/hci.h lib/hci_lib.h \ - lib/sco.h lib/l2cap.h lib/sdp.h lib/sdp_lib.h \ - lib/rfcomm.h lib/bnep.h lib/cmtp.h lib/hidp.h - -extra_headers = lib/mgmt.h lib/uuid.h lib/a2mp.h lib/amp.h -extra_sources = lib/uuid.c -local_headers = $(foreach file,$(lib_headers), lib/bluetooth/$(notdir $(file))) -BUILT_SOURCES = $(local_headers) src/builtin.h obexd/src/builtin.h -#lib_libbluetooth_la_SOURCES = $(lib_headers) $(lib_sources) -#lib_libbluetooth_la_LDFLAGS = $(AM_LDFLAGS) -version-info 19:1:16 -#lib_libbluetooth_la_DEPENDENCIES = $(local_headers) -lib_libbluetooth_private_la_SOURCES = $(lib_headers) $(lib_sources) \ - $(extra_headers) $(extra_sources) - -attrib_sources = attrib/att.h attrib/att-database.h attrib/att.c \ - attrib/gatt.h attrib/gatt.c \ - attrib/gattrib.h attrib/gattrib.c \ - attrib/gatt-service.h attrib/gatt-service.c - -gdbus_sources = gdbus/gdbus.h gdbus/mainloop.c gdbus/watch.c \ - gdbus/object.c gdbus/client.c gdbus/polkit.c - -btio_sources = btio/btio.h btio/btio.c -gobex_sources = gobex/gobex.h gobex/gobex.c \ - gobex/gobex-defs.h gobex/gobex-defs.c \ - gobex/gobex-packet.c gobex/gobex-packet.h \ - gobex/gobex-header.c gobex/gobex-header.h \ - gobex/gobex-transfer.c gobex/gobex-debug.h \ - gobex/gobex-apparam.c gobex/gobex-apparam.h - -builtin_modules = hostname wiimote $(am__append_3) $(am__append_5) \ - audio network input hog $(am__append_8) gatt scanparam \ - deviceinfo $(am__append_10) -builtin_sources = plugins/hostname.c plugins/wiimote.c $(am__append_4) \ - $(am__append_6) profiles/audio/main.c profiles/audio/manager.h \ - profiles/audio/manager.c profiles/audio/control.h \ - profiles/audio/control.c profiles/audio/avctp.h \ - profiles/audio/avctp.c profiles/audio/avrcp.h \ - profiles/audio/avrcp.c profiles/audio/device.h \ - profiles/audio/device.c profiles/audio/source.h \ - profiles/audio/source.c profiles/audio/sink.h \ - profiles/audio/sink.c profiles/audio/a2dp.h \ - profiles/audio/a2dp.c profiles/audio/avdtp.h \ - profiles/audio/avdtp.c profiles/audio/media.h \ - profiles/audio/media.c profiles/audio/transport.h \ - profiles/audio/transport.c profiles/audio/player.h \ - profiles/audio/player.c profiles/audio/a2dp-codecs.h \ - profiles/network/manager.h profiles/network/manager.c \ - profiles/network/common.h profiles/network/common.c \ - profiles/network/server.h profiles/network/server.c \ - profiles/network/connection.h profiles/network/connection.c \ - profiles/input/manager.h profiles/input/manager.c \ - profiles/input/server.h profiles/input/server.c \ - profiles/input/device.h profiles/input/device.c \ - profiles/input/hog.c profiles/input/uhid_copy.h \ - profiles/input/suspend.h profiles/input/suspend-dummy.c \ - $(am__append_9) profiles/gatt/gas.c profiles/scanparam/scan.c \ - profiles/deviceinfo/deviceinfo.c $(am__append_11) -builtin_nodist = -#profiles_sap_libsap_a_SOURCES = profiles/sap/sap.h profiles/sap/sap-u8500.c -#plugins_external_dummy_la_SOURCES = plugins/external-dummy.c -#plugins_external_dummy_la_LDFLAGS = $(AM_LDFLAGS) -module -avoid-version \ -# -no-undefined - -#plugins_external_dummy_la_CFLAGS = $(AM_CFLAGS) -fvisibility=hidden -src_bluetoothd_SOURCES = $(gdbus_sources) $(builtin_sources) \ - $(attrib_sources) $(btio_sources) \ - src/bluetooth.ver \ - src/main.c src/log.h src/log.c \ - src/systemd.h src/systemd.c \ - src/rfkill.c src/hcid.h src/sdpd.h \ - src/sdpd-server.c src/sdpd-request.c \ - src/sdpd-service.c src/sdpd-database.c \ - src/attrib-server.h src/attrib-server.c \ - src/sdp-xml.h src/sdp-xml.c \ - src/sdp-client.h src/sdp-client.c \ - src/textfile.h src/textfile.c \ - src/glib-helper.h src/glib-helper.c \ - src/uinput.h \ - src/plugin.h src/plugin.c \ - src/storage.h src/storage.c \ - src/agent.h src/agent.c \ - src/error.h src/error.c \ - src/adapter.h src/adapter.c \ - src/profile.h src/profile.c \ - src/device.h src/device.c src/attio.h \ - src/dbus-common.c src/dbus-common.h \ - src/eir.h src/eir.c \ - src/shared/util.h src/shared/util.c \ - src/shared/mgmt.h src/shared/mgmt.c - -src_bluetoothd_LDADD = lib/libbluetooth-private.la -lglib-2.0 -ldbus-1 \ - -ldl -lrt - -src_bluetoothd_LDFLAGS = $(AM_LDFLAGS) -Wl,--export-dynamic \ - -Wl,--version-script=$(srcdir)/src/bluetooth.ver - -src_bluetoothd_DEPENDENCIES = lib/libbluetooth-private.la \ - src/bluetooth.service - -src_bluetoothd_CFLAGS = $(AM_CFLAGS) -DBLUETOOTH_PLUGIN_BUILTIN \ - -DPLUGINDIR=\""$(build_plugindir)"\" - -src_bluetoothd_SHORTNAME = bluetoothd -builtin_files = src/builtin.h $(builtin_nodist) -nodist_src_bluetoothd_SOURCES = $(builtin_files) -man_MANS = src/bluetoothd.8 -test_scripts = test/sap_client.py test/bluezutils.py test/dbusdef.py \ - test/monitor-bluetooth test/list-devices test/test-discovery \ - test/test-manager test/test-adapter test/test-device \ - test/simple-agent test/simple-service test/simple-endpoint \ - test/test-sap-server test/test-proximity test/test-network \ - test/test-thermometer test/test-profile test/test-health \ - test/test-health-sink test/service-record.dtd \ - test/service-did.xml test/service-spp.xml test/service-opp.xml \ - test/service-ftp.xml test/simple-player test/test-nap \ - test/test-heartrate test/test-alert test/test-hfp \ - test/test-cyclingspeed -client_bluetoothctl_SOURCES = $(gdbus_sources) client/main.c \ - client/display.h client/display.c \ - client/agent.h client/agent.c \ - monitor/uuid.h monitor/uuid.c - -client_bluetoothctl_LDADD = -lglib-2.0 -ldbus-1 -lreadline -monitor_btmon_SOURCES = monitor/main.c monitor/bt.h \ - monitor/mainloop.h monitor/mainloop.c \ - monitor/display.h monitor/display.c \ - monitor/hcidump.h monitor/hcidump.c \ - monitor/btsnoop.h monitor/btsnoop.c \ - monitor/control.h monitor/control.c \ - monitor/packet.h monitor/packet.c \ - monitor/l2cap.h monitor/l2cap.c \ - monitor/uuid.h monitor/uuid.c \ - monitor/sdp.h monitor/sdp.c - -monitor_btmon_LDADD = lib/libbluetooth-private.la -#emulator_btvirt_SOURCES = emulator/main.c monitor/bt.h \ -# monitor/mainloop.h monitor/mainloop.c \ -# emulator/server.h emulator/server.c \ -# emulator/vhci.h emulator/vhci.c \ -# emulator/btdev.h emulator/btdev.c \ -# emulator/bthost.h emulator/bthost.c - -#emulator_b1ee_SOURCES = emulator/b1ee.c monitor/mainloop.h monitor/mainloop.c -#tools_mgmt_tester_SOURCES = tools/mgmt-tester.c monitor/bt.h \ -# emulator/btdev.h emulator/btdev.c \ -# emulator/bthost.h emulator/bthost.c \ -# src/shared/util.h src/shared/util.c \ -# src/shared/mgmt.h src/shared/mgmt.c \ -# src/shared/hciemu.h src/shared/hciemu.c \ -# src/shared/tester.h src/shared/tester.c - -#tools_mgmt_tester_LDADD = lib/libbluetooth-private.la -lglib-2.0 -#tools_gap_tester_SOURCES = $(gdbus_sources) \ -# tools/gap-tester.c monitor/bt.h \ -# emulator/btdev.h emulator/btdev.c \ -# emulator/bthost.h emulator/bthost.c \ -# src/shared/hciemu.h src/shared/hciemu.c \ -# src/shared/tester.h src/shared/tester.c - -#tools_gap_tester_LDADD = -lglib-2.0 -ldbus-1 -tools_hciattach_SOURCES = tools/hciattach.c tools/hciattach.h \ - tools/hciattach_st.c \ - tools/hciattach_ti.c \ - tools/hciattach_tialt.c \ - tools/hciattach_ath3k.c \ - tools/hciattach_qualcomm.c \ - tools/hciattach_intel.c - -tools_hciattach_LDADD = lib/libbluetooth-private.la -tools_hciconfig_SOURCES = tools/hciconfig.c tools/csr.h tools/csr.c -tools_hciconfig_LDADD = lib/libbluetooth-private.la -tools_hcitool_SOURCES = tools/hcitool.c src/oui.h src/oui.c -tools_hcitool_LDADD = lib/libbluetooth-private.la -lglib-2.0 -ludev -tools_hcidump_SOURCES = tools/hcidump.c \ - tools/parser/parser.h tools/parser/parser.c \ - tools/parser/lmp.c \ - tools/parser/hci.c \ - tools/parser/l2cap.h tools/parser/l2cap.c \ - tools/parser/amp.c \ - tools/parser/smp.c \ - tools/parser/att.c \ - tools/parser/sdp.h tools/parser/sdp.c \ - tools/parser/rfcomm.h tools/parser/rfcomm.c \ - tools/parser/bnep.c \ - tools/parser/cmtp.c \ - tools/parser/hidp.c \ - tools/parser/hcrp.c \ - tools/parser/avdtp.c \ - tools/parser/avctp.c \ - tools/parser/avrcp.c \ - tools/parser/sap.c \ - tools/parser/obex.c \ - tools/parser/capi.c \ - tools/parser/ppp.c \ - tools/parser/tcpip.c \ - tools/parser/ericsson.c \ - tools/parser/csr.c \ - tools/parser/bpa.c - -tools_hcidump_LDADD = lib/libbluetooth-private.la -tools_rfcomm_LDADD = lib/libbluetooth-private.la -tools_rctest_LDADD = lib/libbluetooth-private.la -tools_l2test_LDADD = lib/libbluetooth-private.la -tools_l2ping_LDADD = lib/libbluetooth-private.la -tools_sdptool_SOURCES = tools/sdptool.c src/sdp-xml.h src/sdp-xml.c -tools_sdptool_LDADD = lib/libbluetooth-private.la -lglib-2.0 -tools_ciptool_LDADD = lib/libbluetooth-private.la -tools_bccmd_SOURCES = tools/bccmd.c tools/csr.h \ - tools/csr.c tools/csr_hci.c tools/csr_h4.c \ - tools/csr_3wire.c tools/csr_bcsp.c tools/ubcsp.h \ - tools/ubcsp.c $(am__append_17) -tools_bccmd_LDADD = lib/libbluetooth-private.la \ - $(am__append_18) -udevdir = /lib/udev -tools_hid2hci_LDADD = -lusb -ludev -#tools_bdaddr_SOURCES = tools/bdaddr.c src/oui.h src/oui.c -#tools_bdaddr_LDADD = lib/libbluetooth-private.la -ludev -#tools_avinfo_LDADD = lib/libbluetooth-private.la -#tools_avtest_LDADD = lib/libbluetooth-private.la -#tools_scotest_LDADD = lib/libbluetooth-private.la -#tools_hcieventmask_LDADD = lib/libbluetooth-private.la -#tools_hwdb_LDADD = lib/libbluetooth-private.la -#tools_btmgmt_SOURCES = tools/btmgmt.c src/glib-helper.c src/eir.c \ -# src/shared/util.h src/shared/util.c \ -# src/shared/mgmt.h src/shared/mgmt.c - -#tools_btmgmt_LDADD = lib/libbluetooth-private.la -lglib-2.0 -#tools_btiotest_SOURCES = tools/btiotest.c btio/btio.h btio/btio.c -#tools_btiotest_LDADD = lib/libbluetooth-private.la -lglib-2.0 -#tools_mpris_player_SOURCES = $(gdbus_sources) tools/mpris-player.c -#tools_mpris_player_LDADD = -lglib-2.0 -ldbus-1 -attrib_gatttool_SOURCES = attrib/gatttool.c attrib/att.c attrib/gatt.c \ - attrib/gattrib.c btio/btio.c \ - attrib/gatttool.h attrib/interactive.c \ - attrib/grib_ble_extend.c \ - attrib/utils.c src/log.c - -attrib_gatttool_LDADD = lib/libbluetooth-private.la -lglib-2.0 -lreadline -tools_obex_client_tool_SOURCES = $(gobex_sources) $(btio_sources) \ - tools/obex-client-tool.c - -tools_obex_client_tool_LDADD = lib/libbluetooth-private.la \ - -lglib-2.0 -lreadline - -tools_obex_server_tool_SOURCES = $(gobex_sources) $(btio_sources) \ - tools/obex-server-tool.c - -tools_obex_server_tool_LDADD = lib/libbluetooth-private.la -lglib-2.0 -#profiles_iap_iapd_SOURCES = $(gdbus_sources) profiles/iap/main.c -#profiles_iap_iapd_LDADD = -lglib-2.0 -ldbus-1 -cupsdir = $(libdir)/cups/backend -profiles_cups_bluetooth_SOURCES = $(gdbus_sources) profiles/cups/main.c \ - profiles/cups/cups.h \ - profiles/cups/sdp.c \ - profiles/cups/spp.c \ - profiles/cups/hcrp.c - -profiles_cups_bluetooth_LDADD = -lglib-2.0 -ldbus-1 \ - lib/libbluetooth-private.la - -#systemduserunitdir = -#systemduserunit_DATA = obexd/src/obex.service -#dbussessionbusdir = /usr/share/dbus-1/services -#dbussessionbus_DATA = obexd/src/org.bluez.obex.service -obex_plugindir = $(libdir)/obex/plugins -obexd_builtin_modules = filesystem bluetooth $(am__append_26) opp ftp \ - $(am__append_28) mas mns -obexd_builtin_sources = obexd/plugins/filesystem.c \ - obexd/plugins/filesystem.h obexd/plugins/bluetooth.c \ - $(am__append_27) obexd/plugins/opp.c obexd/plugins/ftp.c \ - obexd/plugins/ftp.h $(am__append_29) obexd/plugins/mas.c \ - obexd/src/map_ap.h obexd/plugins/messages.h \ - obexd/plugins/messages-dummy.c obexd/client/mns.c \ - obexd/src/map_ap.h obexd/client/map-event.h -obexd_builtin_nodist = -obexd_src_obexd_SOURCES = $(gdbus_sources) $(btio_sources) $(gobex_sources) \ - $(obexd_builtin_sources) \ - obexd/src/main.c obexd/src/obexd.h \ - obexd/src/plugin.h obexd/src/plugin.c \ - obexd/src/log.h obexd/src/log.c \ - obexd/src/manager.h obexd/src/manager.c \ - obexd/src/obex.h obexd/src/obex.c obexd/src/obex-priv.h \ - obexd/src/mimetype.h obexd/src/mimetype.c \ - obexd/src/service.h obexd/src/service.c \ - obexd/src/transport.h obexd/src/transport.c \ - obexd/src/server.h obexd/src/server.c \ - obexd/client/manager.h obexd/client/manager.c \ - obexd/client/session.h obexd/client/session.c \ - obexd/client/bluetooth.h obexd/client/bluetooth.c \ - obexd/client/sync.h obexd/client/sync.c \ - obexd/client/pbap.h obexd/client/pbap.c \ - obexd/client/ftp.h obexd/client/ftp.c \ - obexd/client/opp.h obexd/client/opp.c \ - obexd/client/map.h obexd/client/map.c \ - obexd/client/transfer.h obexd/client/transfer.c \ - obexd/client/transport.h obexd/client/transport.c \ - obexd/client/dbus.h obexd/client/dbus.c \ - obexd/client/driver.h obexd/client/driver.c \ - obexd/src/map_ap.h - -obexd_src_obexd_LDADD = lib/libbluetooth-private.la \ - -lical -licalss -licalvcal -lpthread -ldbus-1 -lglib-2.0 -ldl - -obexd_src_obexd_LDFLAGS = -Wl,--export-dynamic -obexd_src_obexd_CFLAGS = -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -I/usr/include/dbus-1.0 -I/usr/lib/arm-linux-gnueabihf/dbus-1.0/include \ - -DOBEX_PLUGIN_BUILTIN \ - -DPLUGINDIR=\""$(obex_plugindir)"\" \ - -fPIC -D_FILE_OFFSET_BITS=64 - -obexd_src_obexd_CPPFLAGS = -I$(builddir)/lib -I$(builddir)/obexd/src \ - -I$(srcdir)/obexd/src -I$(srcdir)/btio \ - -I$(srcdir)/gobex -I$(srcdir)/gdbus - -obexd_src_obexd_SHORTNAME = obexd -obexd_builtin_files = obexd/src/builtin.h $(obexd_builtin_nodist) -nodist_obexd_src_obexd_SOURCES = $(obexd_builtin_files) -rulesdir = /lib/udev/rules.d -rules_DATA = tools/97-hid2hci.rules -#testdir = $(pkglibdir)/test -#test_SCRIPTS = $(test_scripts) -AM_CPPFLAGS = -I$(builddir)/lib -I$(builddir)/src -I$(srcdir)/src \ - -I$(srcdir)/gdbus -I$(srcdir)/btio - -unit_tests = unit/test-eir unit/test-uuid unit/test-textfile \ - unit/test-mgmt unit/test-sdp unit/test-gdbus-client \ - unit/test-gobex-header unit/test-gobex-packet unit/test-gobex \ - unit/test-gobex-transfer unit/test-gobex-apparam unit/test-lib -unit_test_eir_SOURCES = unit/test-eir.c src/eir.c src/glib-helper.c -unit_test_eir_LDADD = lib/libbluetooth-private.la -lglib-2.0 -unit_test_uuid_SOURCES = unit/test-uuid.c -unit_test_uuid_LDADD = lib/libbluetooth-private.la -lglib-2.0 -unit_test_textfile_SOURCES = unit/test-textfile.c src/textfile.h src/textfile.c -unit_test_textfile_LDADD = -lglib-2.0 -unit_test_mgmt_SOURCES = unit/test-mgmt.c \ - src/shared/util.h src/shared/util.c \ - src/shared/mgmt.h src/shared/mgmt.c - -unit_test_mgmt_LDADD = -lglib-2.0 -unit_test_sdp_SOURCES = unit/test-sdp.c \ - src/shared/util.h src/shared/util.c \ - src/sdpd.h src/sdpd-database.c \ - src/sdpd-service.c src/sdpd-request.c - -unit_test_sdp_LDADD = lib/libbluetooth-private.la -lglib-2.0 -unit_test_gdbus_client_SOURCES = $(gdbus_sources) unit/test-gdbus-client.c -unit_test_gdbus_client_LDADD = -lglib-2.0 -ldbus-1 -unit_test_gobex_SOURCES = $(gobex_sources) unit/util.c unit/util.h \ - unit/test-gobex.c - -unit_test_gobex_LDADD = -lglib-2.0 -unit_test_gobex_packet_SOURCES = $(gobex_sources) unit/util.c unit/util.h \ - unit/test-gobex-packet.c - -unit_test_gobex_packet_LDADD = -lglib-2.0 -unit_test_gobex_header_SOURCES = $(gobex_sources) unit/util.c unit/util.h \ - unit/test-gobex-header.c - -unit_test_gobex_header_LDADD = -lglib-2.0 -unit_test_gobex_transfer_SOURCES = $(gobex_sources) unit/util.c unit/util.h \ - unit/test-gobex-transfer.c - -unit_test_gobex_transfer_LDADD = -lglib-2.0 -unit_test_gobex_apparam_SOURCES = $(gobex_sources) unit/util.c unit/util.h \ - unit/test-gobex-apparam.c - -unit_test_gobex_apparam_LDADD = -lglib-2.0 -unit_test_lib_SOURCES = unit/test-lib.c -unit_test_lib_LDADD = lib/libbluetooth-private.la -lglib-2.0 -pkgconfigdir = $(libdir)/pkgconfig -#pkgconfig_DATA = lib/bluez.pc -DISTCHECK_CONFIGURE_FLAGS = --disable-datafiles --enable-library \ - --disable-systemd --disable-udev --disable-usb - -DISTCLEANFILES = $(pkgconfig_DATA) -MAINTAINERCLEANFILES = Makefile.in \ - aclocal.m4 configure config.h.in config.sub config.guess \ - ltmain.sh depcomp compile missing install-sh mkinstalldirs - -SED_PROCESS = $(AM_V_GEN)$(MKDIR_P) $(dir $@) && \ - $(SED) -e 's,@libexecdir\@,$(libexecdir),g' \ - < $< > $@ - -all: $(BUILT_SOURCES) config.h - $(MAKE) $(AM_MAKEFLAGS) all-am - -.SUFFIXES: -.SUFFIXES: .c .lo .o .obj -am--refresh: Makefile - @: -$(srcdir)/Makefile.in: # $(srcdir)/Makefile.am $(srcdir)/Makefile.plugins $(srcdir)/Makefile.tools $(srcdir)/Makefile.obexd $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - echo ' cd $(srcdir) && $(AUTOMAKE) --foreign'; \ - $(am__cd) $(srcdir) && $(AUTOMAKE) --foreign \ - && exit 0; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign Makefile -.PRECIOUS: Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - echo ' $(SHELL) ./config.status'; \ - $(SHELL) ./config.status;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \ - esac; -$(srcdir)/Makefile.plugins $(srcdir)/Makefile.tools $(srcdir)/Makefile.obexd: - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - $(SHELL) ./config.status --recheck - -$(top_srcdir)/configure: # $(am__configure_deps) - $(am__cd) $(srcdir) && $(AUTOCONF) -$(ACLOCAL_M4): # $(am__aclocal_m4_deps) - $(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) -$(am__aclocal_m4_deps): - -config.h: stamp-h1 - @if test ! -f $@; then rm -f stamp-h1; else :; fi - @if test ! -f $@; then $(MAKE) $(AM_MAKEFLAGS) stamp-h1; else :; fi - -stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status - @rm -f stamp-h1 - cd $(top_builddir) && $(SHELL) ./config.status config.h -$(srcdir)/config.h.in: # $(am__configure_deps) - ($(am__cd) $(top_srcdir) && $(AUTOHEADER)) - rm -f stamp-h1 - touch $@ - -distclean-hdr: - -rm -f config.h stamp-h1 -src/bluetoothd.8: $(top_builddir)/config.status $(top_srcdir)/src/bluetoothd.8.in - cd $(top_builddir) && $(SHELL) ./config.status $@ -lib/bluez.pc: $(top_builddir)/config.status $(top_srcdir)/lib/bluez.pc.in - cd $(top_builddir) && $(SHELL) ./config.status $@ - -clean-noinstLIBRARIES: - -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES) -profiles/sap/$(am__dirstamp): - @$(MKDIR_P) profiles/sap - @: > profiles/sap/$(am__dirstamp) -profiles/sap/$(DEPDIR)/$(am__dirstamp): - @$(MKDIR_P) profiles/sap/$(DEPDIR) - @: > profiles/sap/$(DEPDIR)/$(am__dirstamp) -profiles/sap/sap-u8500.$(OBJEXT): profiles/sap/$(am__dirstamp) \ - profiles/sap/$(DEPDIR)/$(am__dirstamp) -profiles/sap/libsap.a: $(profiles_sap_libsap_a_OBJECTS) $(profiles_sap_libsap_a_DEPENDENCIES) $(EXTRA_profiles_sap_libsap_a_DEPENDENCIES) profiles/sap/$(am__dirstamp) - $(AM_V_at)-rm -f profiles/sap/libsap.a - $(AM_V_AR)$(profiles_sap_libsap_a_AR) profiles/sap/libsap.a $(profiles_sap_libsap_a_OBJECTS) $(profiles_sap_libsap_a_LIBADD) - $(AM_V_at)$(RANLIB) profiles/sap/libsap.a -install-libLTLIBRARIES: $(lib_LTLIBRARIES) - @$(NORMAL_INSTALL) - @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \ - list2=; for p in $$list; do \ - if test -f $$p; then \ - list2="$$list2 $$p"; \ - else :; fi; \ - done; \ - test -z "$$list2" || { \ - echo " $(MKDIR_P) '$(DESTDIR)$(libdir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(libdir)" || exit 1; \ - echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \ - $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \ - } - -uninstall-libLTLIBRARIES: - @$(NORMAL_UNINSTALL) - @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \ - for p in $$list; do \ - $(am__strip_dir) \ - echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$f'"; \ - $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$f"; \ - done - -clean-libLTLIBRARIES: - -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES) - @list='$(lib_LTLIBRARIES)'; for p in $$list; do \ - dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ - test "$$dir" != "$$p" || dir=.; \ - echo "rm -f \"$${dir}/so_locations\""; \ - rm -f "$${dir}/so_locations"; \ - done - -clean-noinstLTLIBRARIES: - -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) - @list='$(noinst_LTLIBRARIES)'; for p in $$list; do \ - dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ - test "$$dir" != "$$p" || dir=.; \ - echo "rm -f \"$${dir}/so_locations\""; \ - rm -f "$${dir}/so_locations"; \ - done -install-pluginLTLIBRARIES: $(plugin_LTLIBRARIES) - @$(NORMAL_INSTALL) - @list='$(plugin_LTLIBRARIES)'; test -n "$(plugindir)" || list=; \ - list2=; for p in $$list; do \ - if test -f $$p; then \ - list2="$$list2 $$p"; \ - else :; fi; \ - done; \ - test -z "$$list2" || { \ - echo " $(MKDIR_P) '$(DESTDIR)$(plugindir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(plugindir)" || exit 1; \ - echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(plugindir)'"; \ - $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(plugindir)"; \ - } - -uninstall-pluginLTLIBRARIES: - @$(NORMAL_UNINSTALL) - @list='$(plugin_LTLIBRARIES)'; test -n "$(plugindir)" || list=; \ - for p in $$list; do \ - $(am__strip_dir) \ - echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(plugindir)/$$f'"; \ - $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(plugindir)/$$f"; \ - done - -clean-pluginLTLIBRARIES: - -test -z "$(plugin_LTLIBRARIES)" || rm -f $(plugin_LTLIBRARIES) - @list='$(plugin_LTLIBRARIES)'; for p in $$list; do \ - dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ - test "$$dir" != "$$p" || dir=.; \ - echo "rm -f \"$${dir}/so_locations\""; \ - rm -f "$${dir}/so_locations"; \ - done -lib/$(am__dirstamp): - @$(MKDIR_P) lib - @: > lib/$(am__dirstamp) -lib/$(DEPDIR)/$(am__dirstamp): - @$(MKDIR_P) lib/$(DEPDIR) - @: > lib/$(DEPDIR)/$(am__dirstamp) -lib/bluetooth.lo: lib/$(am__dirstamp) lib/$(DEPDIR)/$(am__dirstamp) -lib/hci.lo: lib/$(am__dirstamp) lib/$(DEPDIR)/$(am__dirstamp) -lib/sdp.lo: lib/$(am__dirstamp) lib/$(DEPDIR)/$(am__dirstamp) -lib/uuid.lo: lib/$(am__dirstamp) lib/$(DEPDIR)/$(am__dirstamp) -lib/libbluetooth-private.la: $(lib_libbluetooth_private_la_OBJECTS) $(lib_libbluetooth_private_la_DEPENDENCIES) $(EXTRA_lib_libbluetooth_private_la_DEPENDENCIES) lib/$(am__dirstamp) - $(AM_V_CCLD)$(LINK) $(lib_libbluetooth_private_la_OBJECTS) $(lib_libbluetooth_private_la_LIBADD) $(LIBS) -lib/libbluetooth.la: $(lib_libbluetooth_la_OBJECTS) $(lib_libbluetooth_la_DEPENDENCIES) $(EXTRA_lib_libbluetooth_la_DEPENDENCIES) lib/$(am__dirstamp) - $(AM_V_CCLD)$(lib_libbluetooth_la_LINK) $(am_lib_libbluetooth_la_rpath) $(lib_libbluetooth_la_OBJECTS) $(lib_libbluetooth_la_LIBADD) $(LIBS) -plugins/$(am__dirstamp): - @$(MKDIR_P) plugins - @: > plugins/$(am__dirstamp) -plugins/$(DEPDIR)/$(am__dirstamp): - @$(MKDIR_P) plugins/$(DEPDIR) - @: > plugins/$(DEPDIR)/$(am__dirstamp) -plugins/plugins_external_dummy_la-external-dummy.lo: \ - plugins/$(am__dirstamp) plugins/$(DEPDIR)/$(am__dirstamp) -plugins/external-dummy.la: $(plugins_external_dummy_la_OBJECTS) $(plugins_external_dummy_la_DEPENDENCIES) $(EXTRA_plugins_external_dummy_la_DEPENDENCIES) plugins/$(am__dirstamp) - $(AM_V_CCLD)$(plugins_external_dummy_la_LINK) $(am_plugins_external_dummy_la_rpath) $(plugins_external_dummy_la_OBJECTS) $(plugins_external_dummy_la_LIBADD) $(LIBS) -install-binPROGRAMS: $(bin_PROGRAMS) - @$(NORMAL_INSTALL) - @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \ - fi; \ - for p in $$list; do echo "$$p $$p"; done | \ - sed 's/$(EXEEXT)$$//' | \ - while read p p1; do if test -f $$p || test -f $$p1; \ - then echo "$$p"; echo "$$p"; else :; fi; \ - done | \ - sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \ - -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \ - sed 'N;N;N;s,\n, ,g' | \ - $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \ - { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \ - if ($$2 == $$4) files[d] = files[d] " " $$1; \ - else { print "f", $$3 "/" $$4, $$1; } } \ - END { for (d in files) print "f", d, files[d] }' | \ - while read type dir files; do \ - if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \ - test -z "$$files" || { \ - echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \ - $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \ - } \ - ; done - -uninstall-binPROGRAMS: - @$(NORMAL_UNINSTALL) - @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ - files=`for p in $$list; do echo "$$p"; done | \ - sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \ - -e 's/$$/$(EXEEXT)/' `; \ - test -n "$$list" || exit 0; \ - echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \ - cd "$(DESTDIR)$(bindir)" && rm -f $$files - -clean-binPROGRAMS: - @list='$(bin_PROGRAMS)'; test -n "$$list" || exit 0; \ - echo " rm -f" $$list; \ - rm -f $$list || exit $$?; \ - test -n "$(EXEEXT)" || exit 0; \ - list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ - echo " rm -f" $$list; \ - rm -f $$list -install-cupsPROGRAMS: $(cups_PROGRAMS) - @$(NORMAL_INSTALL) - @list='$(cups_PROGRAMS)'; test -n "$(cupsdir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(cupsdir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(cupsdir)" || exit 1; \ - fi; \ - for p in $$list; do echo "$$p $$p"; done | \ - sed 's/$(EXEEXT)$$//' | \ - while read p p1; do if test -f $$p || test -f $$p1; \ - then echo "$$p"; echo "$$p"; else :; fi; \ - done | \ - sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \ - -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \ - sed 'N;N;N;s,\n, ,g' | \ - $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \ - { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \ - if ($$2 == $$4) files[d] = files[d] " " $$1; \ - else { print "f", $$3 "/" $$4, $$1; } } \ - END { for (d in files) print "f", d, files[d] }' | \ - while read type dir files; do \ - if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \ - test -z "$$files" || { \ - echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(cupsdir)$$dir'"; \ - $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(cupsdir)$$dir" || exit $$?; \ - } \ - ; done - -uninstall-cupsPROGRAMS: - @$(NORMAL_UNINSTALL) - @list='$(cups_PROGRAMS)'; test -n "$(cupsdir)" || list=; \ - files=`for p in $$list; do echo "$$p"; done | \ - sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \ - -e 's/$$/$(EXEEXT)/' `; \ - test -n "$$list" || exit 0; \ - echo " ( cd '$(DESTDIR)$(cupsdir)' && rm -f" $$files ")"; \ - cd "$(DESTDIR)$(cupsdir)" && rm -f $$files - -clean-cupsPROGRAMS: - @list='$(cups_PROGRAMS)'; test -n "$$list" || exit 0; \ - echo " rm -f" $$list; \ - rm -f $$list || exit $$?; \ - test -n "$(EXEEXT)" || exit 0; \ - list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ - echo " rm -f" $$list; \ - rm -f $$list -install-libexecPROGRAMS: $(libexec_PROGRAMS) - @$(NORMAL_INSTALL) - @list='$(libexec_PROGRAMS)'; test -n "$(libexecdir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(libexecdir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(libexecdir)" || exit 1; \ - fi; \ - for p in $$list; do echo "$$p $$p"; done | \ - sed 's/$(EXEEXT)$$//' | \ - while read p p1; do if test -f $$p || test -f $$p1; \ - then echo "$$p"; echo "$$p"; else :; fi; \ - done | \ - sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \ - -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \ - sed 'N;N;N;s,\n, ,g' | \ - $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \ - { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \ - if ($$2 == $$4) files[d] = files[d] " " $$1; \ - else { print "f", $$3 "/" $$4, $$1; } } \ - END { for (d in files) print "f", d, files[d] }' | \ - while read type dir files; do \ - if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \ - test -z "$$files" || { \ - echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(libexecdir)$$dir'"; \ - $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(libexecdir)$$dir" || exit $$?; \ - } \ - ; done - -uninstall-libexecPROGRAMS: - @$(NORMAL_UNINSTALL) - @list='$(libexec_PROGRAMS)'; test -n "$(libexecdir)" || list=; \ - files=`for p in $$list; do echo "$$p"; done | \ - sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \ - -e 's/$$/$(EXEEXT)/' `; \ - test -n "$$list" || exit 0; \ - echo " ( cd '$(DESTDIR)$(libexecdir)' && rm -f" $$files ")"; \ - cd "$(DESTDIR)$(libexecdir)" && rm -f $$files - -clean-libexecPROGRAMS: - @list='$(libexec_PROGRAMS)'; test -n "$$list" || exit 0; \ - echo " rm -f" $$list; \ - rm -f $$list || exit $$?; \ - test -n "$(EXEEXT)" || exit 0; \ - list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ - echo " rm -f" $$list; \ - rm -f $$list - -clean-noinstPROGRAMS: - @list='$(noinst_PROGRAMS)'; test -n "$$list" || exit 0; \ - echo " rm -f" $$list; \ - rm -f $$list || exit $$?; \ - test -n "$(EXEEXT)" || exit 0; \ - list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ - echo " rm -f" $$list; \ - rm -f $$list -install-udevPROGRAMS: $(udev_PROGRAMS) - @$(NORMAL_INSTALL) - @list='$(udev_PROGRAMS)'; test -n "$(udevdir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(udevdir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(udevdir)" || exit 1; \ - fi; \ - for p in $$list; do echo "$$p $$p"; done | \ - sed 's/$(EXEEXT)$$//' | \ - while read p p1; do if test -f $$p || test -f $$p1; \ - then echo "$$p"; echo "$$p"; else :; fi; \ - done | \ - sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \ - -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \ - sed 'N;N;N;s,\n, ,g' | \ - $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \ - { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \ - if ($$2 == $$4) files[d] = files[d] " " $$1; \ - else { print "f", $$3 "/" $$4, $$1; } } \ - END { for (d in files) print "f", d, files[d] }' | \ - while read type dir files; do \ - if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \ - test -z "$$files" || { \ - echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(udevdir)$$dir'"; \ - $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(udevdir)$$dir" || exit $$?; \ - } \ - ; done - -uninstall-udevPROGRAMS: - @$(NORMAL_UNINSTALL) - @list='$(udev_PROGRAMS)'; test -n "$(udevdir)" || list=; \ - files=`for p in $$list; do echo "$$p"; done | \ - sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \ - -e 's/$$/$(EXEEXT)/' `; \ - test -n "$$list" || exit 0; \ - echo " ( cd '$(DESTDIR)$(udevdir)' && rm -f" $$files ")"; \ - cd "$(DESTDIR)$(udevdir)" && rm -f $$files - -clean-udevPROGRAMS: - @list='$(udev_PROGRAMS)'; test -n "$$list" || exit 0; \ - echo " rm -f" $$list; \ - rm -f $$list || exit $$?; \ - test -n "$(EXEEXT)" || exit 0; \ - list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ - echo " rm -f" $$list; \ - rm -f $$list -attrib/$(am__dirstamp): - @$(MKDIR_P) attrib - @: > attrib/$(am__dirstamp) -attrib/$(DEPDIR)/$(am__dirstamp): - @$(MKDIR_P) attrib/$(DEPDIR) - @: > attrib/$(DEPDIR)/$(am__dirstamp) -attrib/gatttool.$(OBJEXT): attrib/$(am__dirstamp) \ - attrib/$(DEPDIR)/$(am__dirstamp) -attrib/att.$(OBJEXT): attrib/$(am__dirstamp) \ - attrib/$(DEPDIR)/$(am__dirstamp) -attrib/gatt.$(OBJEXT): attrib/$(am__dirstamp) \ - attrib/$(DEPDIR)/$(am__dirstamp) -attrib/gattrib.$(OBJEXT): attrib/$(am__dirstamp) \ - attrib/$(DEPDIR)/$(am__dirstamp) -btio/$(am__dirstamp): - @$(MKDIR_P) btio - @: > btio/$(am__dirstamp) -btio/$(DEPDIR)/$(am__dirstamp): - @$(MKDIR_P) btio/$(DEPDIR) - @: > btio/$(DEPDIR)/$(am__dirstamp) -btio/btio.$(OBJEXT): btio/$(am__dirstamp) \ - btio/$(DEPDIR)/$(am__dirstamp) -attrib/interactive.$(OBJEXT): attrib/$(am__dirstamp) \ - attrib/$(DEPDIR)/$(am__dirstamp) -attrib/utils.$(OBJEXT): attrib/$(am__dirstamp) \ - attrib/$(DEPDIR)/$(am__dirstamp) -src/$(am__dirstamp): - @$(MKDIR_P) src - @: > src/$(am__dirstamp) -src/$(DEPDIR)/$(am__dirstamp): - @$(MKDIR_P) src/$(DEPDIR) - @: > src/$(DEPDIR)/$(am__dirstamp) -src/log.$(OBJEXT): src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp) -attrib/gatttool$(EXEEXT): $(attrib_gatttool_OBJECTS) $(attrib_gatttool_DEPENDENCIES) $(EXTRA_attrib_gatttool_DEPENDENCIES) attrib/$(am__dirstamp) - @rm -f attrib/gatttool$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(attrib_gatttool_OBJECTS) $(attrib_gatttool_LDADD) $(LIBS) -gdbus/$(am__dirstamp): - @$(MKDIR_P) gdbus - @: > gdbus/$(am__dirstamp) -gdbus/$(DEPDIR)/$(am__dirstamp): - @$(MKDIR_P) gdbus/$(DEPDIR) - @: > gdbus/$(DEPDIR)/$(am__dirstamp) -gdbus/mainloop.$(OBJEXT): gdbus/$(am__dirstamp) \ - gdbus/$(DEPDIR)/$(am__dirstamp) -gdbus/watch.$(OBJEXT): gdbus/$(am__dirstamp) \ - gdbus/$(DEPDIR)/$(am__dirstamp) -gdbus/object.$(OBJEXT): gdbus/$(am__dirstamp) \ - gdbus/$(DEPDIR)/$(am__dirstamp) -gdbus/client.$(OBJEXT): gdbus/$(am__dirstamp) \ - gdbus/$(DEPDIR)/$(am__dirstamp) -gdbus/polkit.$(OBJEXT): gdbus/$(am__dirstamp) \ - gdbus/$(DEPDIR)/$(am__dirstamp) -client/$(am__dirstamp): - @$(MKDIR_P) client - @: > client/$(am__dirstamp) -client/$(DEPDIR)/$(am__dirstamp): - @$(MKDIR_P) client/$(DEPDIR) - @: > client/$(DEPDIR)/$(am__dirstamp) -client/main.$(OBJEXT): client/$(am__dirstamp) \ - client/$(DEPDIR)/$(am__dirstamp) -client/display.$(OBJEXT): client/$(am__dirstamp) \ - client/$(DEPDIR)/$(am__dirstamp) -client/agent.$(OBJEXT): client/$(am__dirstamp) \ - client/$(DEPDIR)/$(am__dirstamp) -monitor/$(am__dirstamp): - @$(MKDIR_P) monitor - @: > monitor/$(am__dirstamp) -monitor/$(DEPDIR)/$(am__dirstamp): - @$(MKDIR_P) monitor/$(DEPDIR) - @: > monitor/$(DEPDIR)/$(am__dirstamp) -monitor/uuid.$(OBJEXT): monitor/$(am__dirstamp) \ - monitor/$(DEPDIR)/$(am__dirstamp) -client/bluetoothctl$(EXEEXT): $(client_bluetoothctl_OBJECTS) $(client_bluetoothctl_DEPENDENCIES) $(EXTRA_client_bluetoothctl_DEPENDENCIES) client/$(am__dirstamp) - @rm -f client/bluetoothctl$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(client_bluetoothctl_OBJECTS) $(client_bluetoothctl_LDADD) $(LIBS) -emulator/$(am__dirstamp): - @$(MKDIR_P) emulator - @: > emulator/$(am__dirstamp) -emulator/$(DEPDIR)/$(am__dirstamp): - @$(MKDIR_P) emulator/$(DEPDIR) - @: > emulator/$(DEPDIR)/$(am__dirstamp) -emulator/b1ee.$(OBJEXT): emulator/$(am__dirstamp) \ - emulator/$(DEPDIR)/$(am__dirstamp) -monitor/mainloop.$(OBJEXT): monitor/$(am__dirstamp) \ - monitor/$(DEPDIR)/$(am__dirstamp) -emulator/b1ee$(EXEEXT): $(emulator_b1ee_OBJECTS) $(emulator_b1ee_DEPENDENCIES) $(EXTRA_emulator_b1ee_DEPENDENCIES) emulator/$(am__dirstamp) - @rm -f emulator/b1ee$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(emulator_b1ee_OBJECTS) $(emulator_b1ee_LDADD) $(LIBS) -emulator/main.$(OBJEXT): emulator/$(am__dirstamp) \ - emulator/$(DEPDIR)/$(am__dirstamp) -emulator/server.$(OBJEXT): emulator/$(am__dirstamp) \ - emulator/$(DEPDIR)/$(am__dirstamp) -emulator/vhci.$(OBJEXT): emulator/$(am__dirstamp) \ - emulator/$(DEPDIR)/$(am__dirstamp) -emulator/btdev.$(OBJEXT): emulator/$(am__dirstamp) \ - emulator/$(DEPDIR)/$(am__dirstamp) -emulator/bthost.$(OBJEXT): emulator/$(am__dirstamp) \ - emulator/$(DEPDIR)/$(am__dirstamp) -emulator/btvirt$(EXEEXT): $(emulator_btvirt_OBJECTS) $(emulator_btvirt_DEPENDENCIES) $(EXTRA_emulator_btvirt_DEPENDENCIES) emulator/$(am__dirstamp) - @rm -f emulator/btvirt$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(emulator_btvirt_OBJECTS) $(emulator_btvirt_LDADD) $(LIBS) -monitor/main.$(OBJEXT): monitor/$(am__dirstamp) \ - monitor/$(DEPDIR)/$(am__dirstamp) -monitor/display.$(OBJEXT): monitor/$(am__dirstamp) \ - monitor/$(DEPDIR)/$(am__dirstamp) -monitor/hcidump.$(OBJEXT): monitor/$(am__dirstamp) \ - monitor/$(DEPDIR)/$(am__dirstamp) -monitor/btsnoop.$(OBJEXT): monitor/$(am__dirstamp) \ - monitor/$(DEPDIR)/$(am__dirstamp) -monitor/control.$(OBJEXT): monitor/$(am__dirstamp) \ - monitor/$(DEPDIR)/$(am__dirstamp) -monitor/packet.$(OBJEXT): monitor/$(am__dirstamp) \ - monitor/$(DEPDIR)/$(am__dirstamp) -monitor/l2cap.$(OBJEXT): monitor/$(am__dirstamp) \ - monitor/$(DEPDIR)/$(am__dirstamp) -monitor/sdp.$(OBJEXT): monitor/$(am__dirstamp) \ - monitor/$(DEPDIR)/$(am__dirstamp) -monitor/btmon$(EXEEXT): $(monitor_btmon_OBJECTS) $(monitor_btmon_DEPENDENCIES) $(EXTRA_monitor_btmon_DEPENDENCIES) monitor/$(am__dirstamp) - @rm -f monitor/btmon$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(monitor_btmon_OBJECTS) $(monitor_btmon_LDADD) $(LIBS) -gdbus/obexd-mainloop.$(OBJEXT): gdbus/$(am__dirstamp) \ - gdbus/$(DEPDIR)/$(am__dirstamp) -gdbus/obexd-watch.$(OBJEXT): gdbus/$(am__dirstamp) \ - gdbus/$(DEPDIR)/$(am__dirstamp) -gdbus/obexd-object.$(OBJEXT): gdbus/$(am__dirstamp) \ - gdbus/$(DEPDIR)/$(am__dirstamp) -gdbus/obexd-client.$(OBJEXT): gdbus/$(am__dirstamp) \ - gdbus/$(DEPDIR)/$(am__dirstamp) -gdbus/obexd-polkit.$(OBJEXT): gdbus/$(am__dirstamp) \ - gdbus/$(DEPDIR)/$(am__dirstamp) -btio/obexd-btio.$(OBJEXT): btio/$(am__dirstamp) \ - btio/$(DEPDIR)/$(am__dirstamp) -gobex/$(am__dirstamp): - @$(MKDIR_P) gobex - @: > gobex/$(am__dirstamp) -gobex/$(DEPDIR)/$(am__dirstamp): - @$(MKDIR_P) gobex/$(DEPDIR) - @: > gobex/$(DEPDIR)/$(am__dirstamp) -gobex/obexd-gobex.$(OBJEXT): gobex/$(am__dirstamp) \ - gobex/$(DEPDIR)/$(am__dirstamp) -gobex/obexd-gobex-defs.$(OBJEXT): gobex/$(am__dirstamp) \ - gobex/$(DEPDIR)/$(am__dirstamp) -gobex/obexd-gobex-packet.$(OBJEXT): gobex/$(am__dirstamp) \ - gobex/$(DEPDIR)/$(am__dirstamp) -gobex/obexd-gobex-header.$(OBJEXT): gobex/$(am__dirstamp) \ - gobex/$(DEPDIR)/$(am__dirstamp) -gobex/obexd-gobex-transfer.$(OBJEXT): gobex/$(am__dirstamp) \ - gobex/$(DEPDIR)/$(am__dirstamp) -gobex/obexd-gobex-apparam.$(OBJEXT): gobex/$(am__dirstamp) \ - gobex/$(DEPDIR)/$(am__dirstamp) -obexd/plugins/$(am__dirstamp): - @$(MKDIR_P) obexd/plugins - @: > obexd/plugins/$(am__dirstamp) -obexd/plugins/$(DEPDIR)/$(am__dirstamp): - @$(MKDIR_P) obexd/plugins/$(DEPDIR) - @: > obexd/plugins/$(DEPDIR)/$(am__dirstamp) -obexd/plugins/obexd-filesystem.$(OBJEXT): \ - obexd/plugins/$(am__dirstamp) \ - obexd/plugins/$(DEPDIR)/$(am__dirstamp) -obexd/plugins/obexd-bluetooth.$(OBJEXT): \ - obexd/plugins/$(am__dirstamp) \ - obexd/plugins/$(DEPDIR)/$(am__dirstamp) -obexd/plugins/obexd-pcsuite.$(OBJEXT): obexd/plugins/$(am__dirstamp) \ - obexd/plugins/$(DEPDIR)/$(am__dirstamp) -obexd/plugins/obexd-opp.$(OBJEXT): obexd/plugins/$(am__dirstamp) \ - obexd/plugins/$(DEPDIR)/$(am__dirstamp) -obexd/plugins/obexd-ftp.$(OBJEXT): obexd/plugins/$(am__dirstamp) \ - obexd/plugins/$(DEPDIR)/$(am__dirstamp) -obexd/plugins/obexd-irmc.$(OBJEXT): obexd/plugins/$(am__dirstamp) \ - obexd/plugins/$(DEPDIR)/$(am__dirstamp) -obexd/plugins/obexd-pbap.$(OBJEXT): obexd/plugins/$(am__dirstamp) \ - obexd/plugins/$(DEPDIR)/$(am__dirstamp) -obexd/plugins/obexd-vcard.$(OBJEXT): obexd/plugins/$(am__dirstamp) \ - obexd/plugins/$(DEPDIR)/$(am__dirstamp) -obexd/plugins/obexd-phonebook-dummy.$(OBJEXT): \ - obexd/plugins/$(am__dirstamp) \ - obexd/plugins/$(DEPDIR)/$(am__dirstamp) -obexd/plugins/obexd-mas.$(OBJEXT): obexd/plugins/$(am__dirstamp) \ - obexd/plugins/$(DEPDIR)/$(am__dirstamp) -obexd/plugins/obexd-messages-dummy.$(OBJEXT): \ - obexd/plugins/$(am__dirstamp) \ - obexd/plugins/$(DEPDIR)/$(am__dirstamp) -obexd/client/$(am__dirstamp): - @$(MKDIR_P) obexd/client - @: > obexd/client/$(am__dirstamp) -obexd/client/$(DEPDIR)/$(am__dirstamp): - @$(MKDIR_P) obexd/client/$(DEPDIR) - @: > obexd/client/$(DEPDIR)/$(am__dirstamp) -obexd/client/obexd-mns.$(OBJEXT): obexd/client/$(am__dirstamp) \ - obexd/client/$(DEPDIR)/$(am__dirstamp) -obexd/src/$(am__dirstamp): - @$(MKDIR_P) obexd/src - @: > obexd/src/$(am__dirstamp) -obexd/src/$(DEPDIR)/$(am__dirstamp): - @$(MKDIR_P) obexd/src/$(DEPDIR) - @: > obexd/src/$(DEPDIR)/$(am__dirstamp) -obexd/src/obexd-main.$(OBJEXT): obexd/src/$(am__dirstamp) \ - obexd/src/$(DEPDIR)/$(am__dirstamp) -obexd/src/obexd-plugin.$(OBJEXT): obexd/src/$(am__dirstamp) \ - obexd/src/$(DEPDIR)/$(am__dirstamp) -obexd/src/obexd-log.$(OBJEXT): obexd/src/$(am__dirstamp) \ - obexd/src/$(DEPDIR)/$(am__dirstamp) -obexd/src/obexd-manager.$(OBJEXT): obexd/src/$(am__dirstamp) \ - obexd/src/$(DEPDIR)/$(am__dirstamp) -obexd/src/obexd-obex.$(OBJEXT): obexd/src/$(am__dirstamp) \ - obexd/src/$(DEPDIR)/$(am__dirstamp) -obexd/src/obexd-mimetype.$(OBJEXT): obexd/src/$(am__dirstamp) \ - obexd/src/$(DEPDIR)/$(am__dirstamp) -obexd/src/obexd-service.$(OBJEXT): obexd/src/$(am__dirstamp) \ - obexd/src/$(DEPDIR)/$(am__dirstamp) -obexd/src/obexd-transport.$(OBJEXT): obexd/src/$(am__dirstamp) \ - obexd/src/$(DEPDIR)/$(am__dirstamp) -obexd/src/obexd-server.$(OBJEXT): obexd/src/$(am__dirstamp) \ - obexd/src/$(DEPDIR)/$(am__dirstamp) -obexd/client/obexd-manager.$(OBJEXT): obexd/client/$(am__dirstamp) \ - obexd/client/$(DEPDIR)/$(am__dirstamp) -obexd/client/obexd-session.$(OBJEXT): obexd/client/$(am__dirstamp) \ - obexd/client/$(DEPDIR)/$(am__dirstamp) -obexd/client/obexd-bluetooth.$(OBJEXT): obexd/client/$(am__dirstamp) \ - obexd/client/$(DEPDIR)/$(am__dirstamp) -obexd/client/obexd-sync.$(OBJEXT): obexd/client/$(am__dirstamp) \ - obexd/client/$(DEPDIR)/$(am__dirstamp) -obexd/client/obexd-pbap.$(OBJEXT): obexd/client/$(am__dirstamp) \ - obexd/client/$(DEPDIR)/$(am__dirstamp) -obexd/client/obexd-ftp.$(OBJEXT): obexd/client/$(am__dirstamp) \ - obexd/client/$(DEPDIR)/$(am__dirstamp) -obexd/client/obexd-opp.$(OBJEXT): obexd/client/$(am__dirstamp) \ - obexd/client/$(DEPDIR)/$(am__dirstamp) -obexd/client/obexd-map.$(OBJEXT): obexd/client/$(am__dirstamp) \ - obexd/client/$(DEPDIR)/$(am__dirstamp) -obexd/client/obexd-transfer.$(OBJEXT): obexd/client/$(am__dirstamp) \ - obexd/client/$(DEPDIR)/$(am__dirstamp) -obexd/client/obexd-transport.$(OBJEXT): obexd/client/$(am__dirstamp) \ - obexd/client/$(DEPDIR)/$(am__dirstamp) -obexd/client/obexd-dbus.$(OBJEXT): obexd/client/$(am__dirstamp) \ - obexd/client/$(DEPDIR)/$(am__dirstamp) -obexd/client/obexd-driver.$(OBJEXT): obexd/client/$(am__dirstamp) \ - obexd/client/$(DEPDIR)/$(am__dirstamp) -obexd/src/obexd$(EXEEXT): $(obexd_src_obexd_OBJECTS) $(obexd_src_obexd_DEPENDENCIES) $(EXTRA_obexd_src_obexd_DEPENDENCIES) obexd/src/$(am__dirstamp) - @rm -f obexd/src/obexd$(EXEEXT) - $(AM_V_CCLD)$(obexd_src_obexd_LINK) $(obexd_src_obexd_OBJECTS) $(obexd_src_obexd_LDADD) $(LIBS) -profiles/cups/$(am__dirstamp): - @$(MKDIR_P) profiles/cups - @: > profiles/cups/$(am__dirstamp) -profiles/cups/$(DEPDIR)/$(am__dirstamp): - @$(MKDIR_P) profiles/cups/$(DEPDIR) - @: > profiles/cups/$(DEPDIR)/$(am__dirstamp) -profiles/cups/main.$(OBJEXT): profiles/cups/$(am__dirstamp) \ - profiles/cups/$(DEPDIR)/$(am__dirstamp) -profiles/cups/sdp.$(OBJEXT): profiles/cups/$(am__dirstamp) \ - profiles/cups/$(DEPDIR)/$(am__dirstamp) -profiles/cups/spp.$(OBJEXT): profiles/cups/$(am__dirstamp) \ - profiles/cups/$(DEPDIR)/$(am__dirstamp) -profiles/cups/hcrp.$(OBJEXT): profiles/cups/$(am__dirstamp) \ - profiles/cups/$(DEPDIR)/$(am__dirstamp) -profiles/cups/bluetooth$(EXEEXT): $(profiles_cups_bluetooth_OBJECTS) $(profiles_cups_bluetooth_DEPENDENCIES) $(EXTRA_profiles_cups_bluetooth_DEPENDENCIES) profiles/cups/$(am__dirstamp) - @rm -f profiles/cups/bluetooth$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(profiles_cups_bluetooth_OBJECTS) $(profiles_cups_bluetooth_LDADD) $(LIBS) -profiles/iap/$(am__dirstamp): - @$(MKDIR_P) profiles/iap - @: > profiles/iap/$(am__dirstamp) -profiles/iap/$(DEPDIR)/$(am__dirstamp): - @$(MKDIR_P) profiles/iap/$(DEPDIR) - @: > profiles/iap/$(DEPDIR)/$(am__dirstamp) -profiles/iap/main.$(OBJEXT): profiles/iap/$(am__dirstamp) \ - profiles/iap/$(DEPDIR)/$(am__dirstamp) -profiles/iap/iapd$(EXEEXT): $(profiles_iap_iapd_OBJECTS) $(profiles_iap_iapd_DEPENDENCIES) $(EXTRA_profiles_iap_iapd_DEPENDENCIES) profiles/iap/$(am__dirstamp) - @rm -f profiles/iap/iapd$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(profiles_iap_iapd_OBJECTS) $(profiles_iap_iapd_LDADD) $(LIBS) -gdbus/bluetoothd-mainloop.$(OBJEXT): gdbus/$(am__dirstamp) \ - gdbus/$(DEPDIR)/$(am__dirstamp) -gdbus/bluetoothd-watch.$(OBJEXT): gdbus/$(am__dirstamp) \ - gdbus/$(DEPDIR)/$(am__dirstamp) -gdbus/bluetoothd-object.$(OBJEXT): gdbus/$(am__dirstamp) \ - gdbus/$(DEPDIR)/$(am__dirstamp) -gdbus/bluetoothd-client.$(OBJEXT): gdbus/$(am__dirstamp) \ - gdbus/$(DEPDIR)/$(am__dirstamp) -gdbus/bluetoothd-polkit.$(OBJEXT): gdbus/$(am__dirstamp) \ - gdbus/$(DEPDIR)/$(am__dirstamp) -plugins/bluetoothd-hostname.$(OBJEXT): plugins/$(am__dirstamp) \ - plugins/$(DEPDIR)/$(am__dirstamp) -plugins/bluetoothd-wiimote.$(OBJEXT): plugins/$(am__dirstamp) \ - plugins/$(DEPDIR)/$(am__dirstamp) -plugins/bluetoothd-gatt-example.$(OBJEXT): plugins/$(am__dirstamp) \ - plugins/$(DEPDIR)/$(am__dirstamp) -plugins/bluetoothd-neard.$(OBJEXT): plugins/$(am__dirstamp) \ - plugins/$(DEPDIR)/$(am__dirstamp) -profiles/sap/bluetoothd-main.$(OBJEXT): profiles/sap/$(am__dirstamp) \ - profiles/sap/$(DEPDIR)/$(am__dirstamp) -profiles/sap/bluetoothd-manager.$(OBJEXT): \ - profiles/sap/$(am__dirstamp) \ - profiles/sap/$(DEPDIR)/$(am__dirstamp) -profiles/sap/bluetoothd-server.$(OBJEXT): \ - profiles/sap/$(am__dirstamp) \ - profiles/sap/$(DEPDIR)/$(am__dirstamp) -profiles/sap/bluetoothd-sap-dummy.$(OBJEXT): \ - profiles/sap/$(am__dirstamp) \ - profiles/sap/$(DEPDIR)/$(am__dirstamp) -profiles/audio/$(am__dirstamp): - @$(MKDIR_P) profiles/audio - @: > profiles/audio/$(am__dirstamp) -profiles/audio/$(DEPDIR)/$(am__dirstamp): - @$(MKDIR_P) profiles/audio/$(DEPDIR) - @: > profiles/audio/$(DEPDIR)/$(am__dirstamp) -profiles/audio/bluetoothd-main.$(OBJEXT): \ - profiles/audio/$(am__dirstamp) \ - profiles/audio/$(DEPDIR)/$(am__dirstamp) -profiles/audio/bluetoothd-manager.$(OBJEXT): \ - profiles/audio/$(am__dirstamp) \ - profiles/audio/$(DEPDIR)/$(am__dirstamp) -profiles/audio/bluetoothd-control.$(OBJEXT): \ - profiles/audio/$(am__dirstamp) \ - profiles/audio/$(DEPDIR)/$(am__dirstamp) -profiles/audio/bluetoothd-avctp.$(OBJEXT): \ - profiles/audio/$(am__dirstamp) \ - profiles/audio/$(DEPDIR)/$(am__dirstamp) -profiles/audio/bluetoothd-avrcp.$(OBJEXT): \ - profiles/audio/$(am__dirstamp) \ - profiles/audio/$(DEPDIR)/$(am__dirstamp) -profiles/audio/bluetoothd-device.$(OBJEXT): \ - profiles/audio/$(am__dirstamp) \ - profiles/audio/$(DEPDIR)/$(am__dirstamp) -profiles/audio/bluetoothd-source.$(OBJEXT): \ - profiles/audio/$(am__dirstamp) \ - profiles/audio/$(DEPDIR)/$(am__dirstamp) -profiles/audio/bluetoothd-sink.$(OBJEXT): \ - profiles/audio/$(am__dirstamp) \ - profiles/audio/$(DEPDIR)/$(am__dirstamp) -profiles/audio/bluetoothd-a2dp.$(OBJEXT): \ - profiles/audio/$(am__dirstamp) \ - profiles/audio/$(DEPDIR)/$(am__dirstamp) -profiles/audio/bluetoothd-avdtp.$(OBJEXT): \ - profiles/audio/$(am__dirstamp) \ - profiles/audio/$(DEPDIR)/$(am__dirstamp) -profiles/audio/bluetoothd-media.$(OBJEXT): \ - profiles/audio/$(am__dirstamp) \ - profiles/audio/$(DEPDIR)/$(am__dirstamp) -profiles/audio/bluetoothd-transport.$(OBJEXT): \ - profiles/audio/$(am__dirstamp) \ - profiles/audio/$(DEPDIR)/$(am__dirstamp) -profiles/audio/bluetoothd-player.$(OBJEXT): \ - profiles/audio/$(am__dirstamp) \ - profiles/audio/$(DEPDIR)/$(am__dirstamp) -profiles/network/$(am__dirstamp): - @$(MKDIR_P) profiles/network - @: > profiles/network/$(am__dirstamp) -profiles/network/$(DEPDIR)/$(am__dirstamp): - @$(MKDIR_P) profiles/network/$(DEPDIR) - @: > profiles/network/$(DEPDIR)/$(am__dirstamp) -profiles/network/bluetoothd-manager.$(OBJEXT): \ - profiles/network/$(am__dirstamp) \ - profiles/network/$(DEPDIR)/$(am__dirstamp) -profiles/network/bluetoothd-common.$(OBJEXT): \ - profiles/network/$(am__dirstamp) \ - profiles/network/$(DEPDIR)/$(am__dirstamp) -profiles/network/bluetoothd-server.$(OBJEXT): \ - profiles/network/$(am__dirstamp) \ - profiles/network/$(DEPDIR)/$(am__dirstamp) -profiles/network/bluetoothd-connection.$(OBJEXT): \ - profiles/network/$(am__dirstamp) \ - profiles/network/$(DEPDIR)/$(am__dirstamp) -profiles/input/$(am__dirstamp): - @$(MKDIR_P) profiles/input - @: > profiles/input/$(am__dirstamp) -profiles/input/$(DEPDIR)/$(am__dirstamp): - @$(MKDIR_P) profiles/input/$(DEPDIR) - @: > profiles/input/$(DEPDIR)/$(am__dirstamp) -profiles/input/bluetoothd-manager.$(OBJEXT): \ - profiles/input/$(am__dirstamp) \ - profiles/input/$(DEPDIR)/$(am__dirstamp) -profiles/input/bluetoothd-server.$(OBJEXT): \ - profiles/input/$(am__dirstamp) \ - profiles/input/$(DEPDIR)/$(am__dirstamp) -profiles/input/bluetoothd-device.$(OBJEXT): \ - profiles/input/$(am__dirstamp) \ - profiles/input/$(DEPDIR)/$(am__dirstamp) -profiles/input/bluetoothd-hog.$(OBJEXT): \ - profiles/input/$(am__dirstamp) \ - profiles/input/$(DEPDIR)/$(am__dirstamp) -profiles/input/bluetoothd-suspend-dummy.$(OBJEXT): \ - profiles/input/$(am__dirstamp) \ - profiles/input/$(DEPDIR)/$(am__dirstamp) -profiles/health/$(am__dirstamp): - @$(MKDIR_P) profiles/health - @: > profiles/health/$(am__dirstamp) -profiles/health/$(DEPDIR)/$(am__dirstamp): - @$(MKDIR_P) profiles/health/$(DEPDIR) - @: > profiles/health/$(DEPDIR)/$(am__dirstamp) -profiles/health/bluetoothd-mcap.$(OBJEXT): \ - profiles/health/$(am__dirstamp) \ - profiles/health/$(DEPDIR)/$(am__dirstamp) -profiles/health/bluetoothd-mcap_sync.$(OBJEXT): \ - profiles/health/$(am__dirstamp) \ - profiles/health/$(DEPDIR)/$(am__dirstamp) -profiles/health/bluetoothd-hdp_main.$(OBJEXT): \ - profiles/health/$(am__dirstamp) \ - profiles/health/$(DEPDIR)/$(am__dirstamp) -profiles/health/bluetoothd-hdp_manager.$(OBJEXT): \ - profiles/health/$(am__dirstamp) \ - profiles/health/$(DEPDIR)/$(am__dirstamp) -profiles/health/bluetoothd-hdp.$(OBJEXT): \ - profiles/health/$(am__dirstamp) \ - profiles/health/$(DEPDIR)/$(am__dirstamp) -profiles/health/bluetoothd-hdp_util.$(OBJEXT): \ - profiles/health/$(am__dirstamp) \ - profiles/health/$(DEPDIR)/$(am__dirstamp) -profiles/gatt/$(am__dirstamp): - @$(MKDIR_P) profiles/gatt - @: > profiles/gatt/$(am__dirstamp) -profiles/gatt/$(DEPDIR)/$(am__dirstamp): - @$(MKDIR_P) profiles/gatt/$(DEPDIR) - @: > profiles/gatt/$(DEPDIR)/$(am__dirstamp) -profiles/gatt/bluetoothd-gas.$(OBJEXT): profiles/gatt/$(am__dirstamp) \ - profiles/gatt/$(DEPDIR)/$(am__dirstamp) -profiles/scanparam/$(am__dirstamp): - @$(MKDIR_P) profiles/scanparam - @: > profiles/scanparam/$(am__dirstamp) -profiles/scanparam/$(DEPDIR)/$(am__dirstamp): - @$(MKDIR_P) profiles/scanparam/$(DEPDIR) - @: > profiles/scanparam/$(DEPDIR)/$(am__dirstamp) -profiles/scanparam/bluetoothd-scan.$(OBJEXT): \ - profiles/scanparam/$(am__dirstamp) \ - profiles/scanparam/$(DEPDIR)/$(am__dirstamp) -profiles/deviceinfo/$(am__dirstamp): - @$(MKDIR_P) profiles/deviceinfo - @: > profiles/deviceinfo/$(am__dirstamp) -profiles/deviceinfo/$(DEPDIR)/$(am__dirstamp): - @$(MKDIR_P) profiles/deviceinfo/$(DEPDIR) - @: > profiles/deviceinfo/$(DEPDIR)/$(am__dirstamp) -profiles/deviceinfo/bluetoothd-deviceinfo.$(OBJEXT): \ - profiles/deviceinfo/$(am__dirstamp) \ - profiles/deviceinfo/$(DEPDIR)/$(am__dirstamp) -profiles/alert/$(am__dirstamp): - @$(MKDIR_P) profiles/alert - @: > profiles/alert/$(am__dirstamp) -profiles/alert/$(DEPDIR)/$(am__dirstamp): - @$(MKDIR_P) profiles/alert/$(DEPDIR) - @: > profiles/alert/$(DEPDIR)/$(am__dirstamp) -profiles/alert/bluetoothd-server.$(OBJEXT): \ - profiles/alert/$(am__dirstamp) \ - profiles/alert/$(DEPDIR)/$(am__dirstamp) -profiles/time/$(am__dirstamp): - @$(MKDIR_P) profiles/time - @: > profiles/time/$(am__dirstamp) -profiles/time/$(DEPDIR)/$(am__dirstamp): - @$(MKDIR_P) profiles/time/$(DEPDIR) - @: > profiles/time/$(DEPDIR)/$(am__dirstamp) -profiles/time/bluetoothd-server.$(OBJEXT): \ - profiles/time/$(am__dirstamp) \ - profiles/time/$(DEPDIR)/$(am__dirstamp) -profiles/proximity/$(am__dirstamp): - @$(MKDIR_P) profiles/proximity - @: > profiles/proximity/$(am__dirstamp) -profiles/proximity/$(DEPDIR)/$(am__dirstamp): - @$(MKDIR_P) profiles/proximity/$(DEPDIR) - @: > profiles/proximity/$(DEPDIR)/$(am__dirstamp) -profiles/proximity/bluetoothd-main.$(OBJEXT): \ - profiles/proximity/$(am__dirstamp) \ - profiles/proximity/$(DEPDIR)/$(am__dirstamp) -profiles/proximity/bluetoothd-manager.$(OBJEXT): \ - profiles/proximity/$(am__dirstamp) \ - profiles/proximity/$(DEPDIR)/$(am__dirstamp) -profiles/proximity/bluetoothd-monitor.$(OBJEXT): \ - profiles/proximity/$(am__dirstamp) \ - profiles/proximity/$(DEPDIR)/$(am__dirstamp) -profiles/proximity/bluetoothd-reporter.$(OBJEXT): \ - profiles/proximity/$(am__dirstamp) \ - profiles/proximity/$(DEPDIR)/$(am__dirstamp) -profiles/proximity/bluetoothd-linkloss.$(OBJEXT): \ - profiles/proximity/$(am__dirstamp) \ - profiles/proximity/$(DEPDIR)/$(am__dirstamp) -profiles/proximity/bluetoothd-immalert.$(OBJEXT): \ - profiles/proximity/$(am__dirstamp) \ - profiles/proximity/$(DEPDIR)/$(am__dirstamp) -profiles/thermometer/$(am__dirstamp): - @$(MKDIR_P) profiles/thermometer - @: > profiles/thermometer/$(am__dirstamp) -profiles/thermometer/$(DEPDIR)/$(am__dirstamp): - @$(MKDIR_P) profiles/thermometer/$(DEPDIR) - @: > profiles/thermometer/$(DEPDIR)/$(am__dirstamp) -profiles/thermometer/bluetoothd-thermometer.$(OBJEXT): \ - profiles/thermometer/$(am__dirstamp) \ - profiles/thermometer/$(DEPDIR)/$(am__dirstamp) -profiles/heartrate/$(am__dirstamp): - @$(MKDIR_P) profiles/heartrate - @: > profiles/heartrate/$(am__dirstamp) -profiles/heartrate/$(DEPDIR)/$(am__dirstamp): - @$(MKDIR_P) profiles/heartrate/$(DEPDIR) - @: > profiles/heartrate/$(DEPDIR)/$(am__dirstamp) -profiles/heartrate/bluetoothd-heartrate.$(OBJEXT): \ - profiles/heartrate/$(am__dirstamp) \ - profiles/heartrate/$(DEPDIR)/$(am__dirstamp) -profiles/cyclingspeed/$(am__dirstamp): - @$(MKDIR_P) profiles/cyclingspeed - @: > profiles/cyclingspeed/$(am__dirstamp) -profiles/cyclingspeed/$(DEPDIR)/$(am__dirstamp): - @$(MKDIR_P) profiles/cyclingspeed/$(DEPDIR) - @: > profiles/cyclingspeed/$(DEPDIR)/$(am__dirstamp) -profiles/cyclingspeed/bluetoothd-cyclingspeed.$(OBJEXT): \ - profiles/cyclingspeed/$(am__dirstamp) \ - profiles/cyclingspeed/$(DEPDIR)/$(am__dirstamp) -attrib/bluetoothd-att.$(OBJEXT): attrib/$(am__dirstamp) \ - attrib/$(DEPDIR)/$(am__dirstamp) -attrib/bluetoothd-gatt.$(OBJEXT): attrib/$(am__dirstamp) \ - attrib/$(DEPDIR)/$(am__dirstamp) -attrib/bluetoothd-gattrib.$(OBJEXT): attrib/$(am__dirstamp) \ - attrib/$(DEPDIR)/$(am__dirstamp) -attrib/bluetoothd-gatt-service.$(OBJEXT): attrib/$(am__dirstamp) \ - attrib/$(DEPDIR)/$(am__dirstamp) -btio/bluetoothd-btio.$(OBJEXT): btio/$(am__dirstamp) \ - btio/$(DEPDIR)/$(am__dirstamp) -src/bluetoothd-main.$(OBJEXT): src/$(am__dirstamp) \ - src/$(DEPDIR)/$(am__dirstamp) -src/bluetoothd-log.$(OBJEXT): src/$(am__dirstamp) \ - src/$(DEPDIR)/$(am__dirstamp) -src/bluetoothd-systemd.$(OBJEXT): src/$(am__dirstamp) \ - src/$(DEPDIR)/$(am__dirstamp) -src/bluetoothd-rfkill.$(OBJEXT): src/$(am__dirstamp) \ - src/$(DEPDIR)/$(am__dirstamp) -src/bluetoothd-sdpd-server.$(OBJEXT): src/$(am__dirstamp) \ - src/$(DEPDIR)/$(am__dirstamp) -src/bluetoothd-sdpd-request.$(OBJEXT): src/$(am__dirstamp) \ - src/$(DEPDIR)/$(am__dirstamp) -src/bluetoothd-sdpd-service.$(OBJEXT): src/$(am__dirstamp) \ - src/$(DEPDIR)/$(am__dirstamp) -src/bluetoothd-sdpd-database.$(OBJEXT): src/$(am__dirstamp) \ - src/$(DEPDIR)/$(am__dirstamp) -src/bluetoothd-attrib-server.$(OBJEXT): src/$(am__dirstamp) \ - src/$(DEPDIR)/$(am__dirstamp) -src/bluetoothd-sdp-xml.$(OBJEXT): src/$(am__dirstamp) \ - src/$(DEPDIR)/$(am__dirstamp) -src/bluetoothd-sdp-client.$(OBJEXT): src/$(am__dirstamp) \ - src/$(DEPDIR)/$(am__dirstamp) -src/bluetoothd-textfile.$(OBJEXT): src/$(am__dirstamp) \ - src/$(DEPDIR)/$(am__dirstamp) -src/bluetoothd-glib-helper.$(OBJEXT): src/$(am__dirstamp) \ - src/$(DEPDIR)/$(am__dirstamp) -src/bluetoothd-plugin.$(OBJEXT): src/$(am__dirstamp) \ - src/$(DEPDIR)/$(am__dirstamp) -src/bluetoothd-storage.$(OBJEXT): src/$(am__dirstamp) \ - src/$(DEPDIR)/$(am__dirstamp) -src/bluetoothd-agent.$(OBJEXT): src/$(am__dirstamp) \ - src/$(DEPDIR)/$(am__dirstamp) -src/bluetoothd-error.$(OBJEXT): src/$(am__dirstamp) \ - src/$(DEPDIR)/$(am__dirstamp) -src/bluetoothd-adapter.$(OBJEXT): src/$(am__dirstamp) \ - src/$(DEPDIR)/$(am__dirstamp) -src/bluetoothd-profile.$(OBJEXT): src/$(am__dirstamp) \ - src/$(DEPDIR)/$(am__dirstamp) -src/bluetoothd-device.$(OBJEXT): src/$(am__dirstamp) \ - src/$(DEPDIR)/$(am__dirstamp) -src/bluetoothd-dbus-common.$(OBJEXT): src/$(am__dirstamp) \ - src/$(DEPDIR)/$(am__dirstamp) -src/bluetoothd-eir.$(OBJEXT): src/$(am__dirstamp) \ - src/$(DEPDIR)/$(am__dirstamp) -src/shared/$(am__dirstamp): - @$(MKDIR_P) src/shared - @: > src/shared/$(am__dirstamp) -src/shared/$(DEPDIR)/$(am__dirstamp): - @$(MKDIR_P) src/shared/$(DEPDIR) - @: > src/shared/$(DEPDIR)/$(am__dirstamp) -src/shared/bluetoothd-util.$(OBJEXT): src/shared/$(am__dirstamp) \ - src/shared/$(DEPDIR)/$(am__dirstamp) -src/shared/bluetoothd-mgmt.$(OBJEXT): src/shared/$(am__dirstamp) \ - src/shared/$(DEPDIR)/$(am__dirstamp) -src/bluetoothd$(EXEEXT): $(src_bluetoothd_OBJECTS) $(src_bluetoothd_DEPENDENCIES) $(EXTRA_src_bluetoothd_DEPENDENCIES) src/$(am__dirstamp) - @rm -f src/bluetoothd$(EXEEXT) - $(AM_V_CCLD)$(src_bluetoothd_LINK) $(src_bluetoothd_OBJECTS) $(src_bluetoothd_LDADD) $(LIBS) -tools/$(am__dirstamp): - @$(MKDIR_P) tools - @: > tools/$(am__dirstamp) -tools/$(DEPDIR)/$(am__dirstamp): - @$(MKDIR_P) tools/$(DEPDIR) - @: > tools/$(DEPDIR)/$(am__dirstamp) -tools/avinfo.$(OBJEXT): tools/$(am__dirstamp) \ - tools/$(DEPDIR)/$(am__dirstamp) -tools/avinfo$(EXEEXT): $(tools_avinfo_OBJECTS) $(tools_avinfo_DEPENDENCIES) $(EXTRA_tools_avinfo_DEPENDENCIES) tools/$(am__dirstamp) - @rm -f tools/avinfo$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(tools_avinfo_OBJECTS) $(tools_avinfo_LDADD) $(LIBS) -tools/avtest.$(OBJEXT): tools/$(am__dirstamp) \ - tools/$(DEPDIR)/$(am__dirstamp) -tools/avtest$(EXEEXT): $(tools_avtest_OBJECTS) $(tools_avtest_DEPENDENCIES) $(EXTRA_tools_avtest_DEPENDENCIES) tools/$(am__dirstamp) - @rm -f tools/avtest$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(tools_avtest_OBJECTS) $(tools_avtest_LDADD) $(LIBS) -tools/bccmd.$(OBJEXT): tools/$(am__dirstamp) \ - tools/$(DEPDIR)/$(am__dirstamp) -tools/csr.$(OBJEXT): tools/$(am__dirstamp) \ - tools/$(DEPDIR)/$(am__dirstamp) -tools/csr_hci.$(OBJEXT): tools/$(am__dirstamp) \ - tools/$(DEPDIR)/$(am__dirstamp) -tools/csr_h4.$(OBJEXT): tools/$(am__dirstamp) \ - tools/$(DEPDIR)/$(am__dirstamp) -tools/csr_3wire.$(OBJEXT): tools/$(am__dirstamp) \ - tools/$(DEPDIR)/$(am__dirstamp) -tools/csr_bcsp.$(OBJEXT): tools/$(am__dirstamp) \ - tools/$(DEPDIR)/$(am__dirstamp) -tools/ubcsp.$(OBJEXT): tools/$(am__dirstamp) \ - tools/$(DEPDIR)/$(am__dirstamp) -tools/csr_usb.$(OBJEXT): tools/$(am__dirstamp) \ - tools/$(DEPDIR)/$(am__dirstamp) -tools/bccmd$(EXEEXT): $(tools_bccmd_OBJECTS) $(tools_bccmd_DEPENDENCIES) $(EXTRA_tools_bccmd_DEPENDENCIES) tools/$(am__dirstamp) - @rm -f tools/bccmd$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(tools_bccmd_OBJECTS) $(tools_bccmd_LDADD) $(LIBS) -tools/bdaddr.$(OBJEXT): tools/$(am__dirstamp) \ - tools/$(DEPDIR)/$(am__dirstamp) -src/oui.$(OBJEXT): src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp) -tools/bdaddr$(EXEEXT): $(tools_bdaddr_OBJECTS) $(tools_bdaddr_DEPENDENCIES) $(EXTRA_tools_bdaddr_DEPENDENCIES) tools/$(am__dirstamp) - @rm -f tools/bdaddr$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(tools_bdaddr_OBJECTS) $(tools_bdaddr_LDADD) $(LIBS) -tools/btattach.$(OBJEXT): tools/$(am__dirstamp) \ - tools/$(DEPDIR)/$(am__dirstamp) -tools/btattach$(EXEEXT): $(tools_btattach_OBJECTS) $(tools_btattach_DEPENDENCIES) $(EXTRA_tools_btattach_DEPENDENCIES) tools/$(am__dirstamp) - @rm -f tools/btattach$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(tools_btattach_OBJECTS) $(tools_btattach_LDADD) $(LIBS) -tools/btiotest.$(OBJEXT): tools/$(am__dirstamp) \ - tools/$(DEPDIR)/$(am__dirstamp) -tools/btiotest$(EXEEXT): $(tools_btiotest_OBJECTS) $(tools_btiotest_DEPENDENCIES) $(EXTRA_tools_btiotest_DEPENDENCIES) tools/$(am__dirstamp) - @rm -f tools/btiotest$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(tools_btiotest_OBJECTS) $(tools_btiotest_LDADD) $(LIBS) -tools/btmgmt.$(OBJEXT): tools/$(am__dirstamp) \ - tools/$(DEPDIR)/$(am__dirstamp) -src/glib-helper.$(OBJEXT): src/$(am__dirstamp) \ - src/$(DEPDIR)/$(am__dirstamp) -src/eir.$(OBJEXT): src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp) -src/shared/util.$(OBJEXT): src/shared/$(am__dirstamp) \ - src/shared/$(DEPDIR)/$(am__dirstamp) -src/shared/mgmt.$(OBJEXT): src/shared/$(am__dirstamp) \ - src/shared/$(DEPDIR)/$(am__dirstamp) -tools/btmgmt$(EXEEXT): $(tools_btmgmt_OBJECTS) $(tools_btmgmt_DEPENDENCIES) $(EXTRA_tools_btmgmt_DEPENDENCIES) tools/$(am__dirstamp) - @rm -f tools/btmgmt$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(tools_btmgmt_OBJECTS) $(tools_btmgmt_LDADD) $(LIBS) -tools/btsnoop.$(OBJEXT): tools/$(am__dirstamp) \ - tools/$(DEPDIR)/$(am__dirstamp) -tools/btsnoop$(EXEEXT): $(tools_btsnoop_OBJECTS) $(tools_btsnoop_DEPENDENCIES) $(EXTRA_tools_btsnoop_DEPENDENCIES) tools/$(am__dirstamp) - @rm -f tools/btsnoop$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(tools_btsnoop_OBJECTS) $(tools_btsnoop_LDADD) $(LIBS) -tools/ciptool.$(OBJEXT): tools/$(am__dirstamp) \ - tools/$(DEPDIR)/$(am__dirstamp) -tools/ciptool$(EXEEXT): $(tools_ciptool_OBJECTS) $(tools_ciptool_DEPENDENCIES) $(EXTRA_tools_ciptool_DEPENDENCIES) tools/$(am__dirstamp) - @rm -f tools/ciptool$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(tools_ciptool_OBJECTS) $(tools_ciptool_LDADD) $(LIBS) -tools/gap-tester.$(OBJEXT): tools/$(am__dirstamp) \ - tools/$(DEPDIR)/$(am__dirstamp) -src/shared/hciemu.$(OBJEXT): src/shared/$(am__dirstamp) \ - src/shared/$(DEPDIR)/$(am__dirstamp) -src/shared/tester.$(OBJEXT): src/shared/$(am__dirstamp) \ - src/shared/$(DEPDIR)/$(am__dirstamp) -tools/gap-tester$(EXEEXT): $(tools_gap_tester_OBJECTS) $(tools_gap_tester_DEPENDENCIES) $(EXTRA_tools_gap_tester_DEPENDENCIES) tools/$(am__dirstamp) - @rm -f tools/gap-tester$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(tools_gap_tester_OBJECTS) $(tools_gap_tester_LDADD) $(LIBS) -tools/hciattach.$(OBJEXT): tools/$(am__dirstamp) \ - tools/$(DEPDIR)/$(am__dirstamp) -tools/hciattach_st.$(OBJEXT): tools/$(am__dirstamp) \ - tools/$(DEPDIR)/$(am__dirstamp) -tools/hciattach_ti.$(OBJEXT): tools/$(am__dirstamp) \ - tools/$(DEPDIR)/$(am__dirstamp) -tools/hciattach_tialt.$(OBJEXT): tools/$(am__dirstamp) \ - tools/$(DEPDIR)/$(am__dirstamp) -tools/hciattach_ath3k.$(OBJEXT): tools/$(am__dirstamp) \ - tools/$(DEPDIR)/$(am__dirstamp) -tools/hciattach_qualcomm.$(OBJEXT): tools/$(am__dirstamp) \ - tools/$(DEPDIR)/$(am__dirstamp) -tools/hciattach_intel.$(OBJEXT): tools/$(am__dirstamp) \ - tools/$(DEPDIR)/$(am__dirstamp) -tools/hciattach$(EXEEXT): $(tools_hciattach_OBJECTS) $(tools_hciattach_DEPENDENCIES) $(EXTRA_tools_hciattach_DEPENDENCIES) tools/$(am__dirstamp) - @rm -f tools/hciattach$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(tools_hciattach_OBJECTS) $(tools_hciattach_LDADD) $(LIBS) -tools/hciconfig.$(OBJEXT): tools/$(am__dirstamp) \ - tools/$(DEPDIR)/$(am__dirstamp) -tools/hciconfig$(EXEEXT): $(tools_hciconfig_OBJECTS) $(tools_hciconfig_DEPENDENCIES) $(EXTRA_tools_hciconfig_DEPENDENCIES) tools/$(am__dirstamp) - @rm -f tools/hciconfig$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(tools_hciconfig_OBJECTS) $(tools_hciconfig_LDADD) $(LIBS) -tools/hcidump.$(OBJEXT): tools/$(am__dirstamp) \ - tools/$(DEPDIR)/$(am__dirstamp) -tools/parser/$(am__dirstamp): - @$(MKDIR_P) tools/parser - @: > tools/parser/$(am__dirstamp) -tools/parser/$(DEPDIR)/$(am__dirstamp): - @$(MKDIR_P) tools/parser/$(DEPDIR) - @: > tools/parser/$(DEPDIR)/$(am__dirstamp) -tools/parser/parser.$(OBJEXT): tools/parser/$(am__dirstamp) \ - tools/parser/$(DEPDIR)/$(am__dirstamp) -tools/parser/lmp.$(OBJEXT): tools/parser/$(am__dirstamp) \ - tools/parser/$(DEPDIR)/$(am__dirstamp) -tools/parser/hci.$(OBJEXT): tools/parser/$(am__dirstamp) \ - tools/parser/$(DEPDIR)/$(am__dirstamp) -tools/parser/l2cap.$(OBJEXT): tools/parser/$(am__dirstamp) \ - tools/parser/$(DEPDIR)/$(am__dirstamp) -tools/parser/amp.$(OBJEXT): tools/parser/$(am__dirstamp) \ - tools/parser/$(DEPDIR)/$(am__dirstamp) -tools/parser/smp.$(OBJEXT): tools/parser/$(am__dirstamp) \ - tools/parser/$(DEPDIR)/$(am__dirstamp) -tools/parser/att.$(OBJEXT): tools/parser/$(am__dirstamp) \ - tools/parser/$(DEPDIR)/$(am__dirstamp) -tools/parser/sdp.$(OBJEXT): tools/parser/$(am__dirstamp) \ - tools/parser/$(DEPDIR)/$(am__dirstamp) -tools/parser/rfcomm.$(OBJEXT): tools/parser/$(am__dirstamp) \ - tools/parser/$(DEPDIR)/$(am__dirstamp) -tools/parser/bnep.$(OBJEXT): tools/parser/$(am__dirstamp) \ - tools/parser/$(DEPDIR)/$(am__dirstamp) -tools/parser/cmtp.$(OBJEXT): tools/parser/$(am__dirstamp) \ - tools/parser/$(DEPDIR)/$(am__dirstamp) -tools/parser/hidp.$(OBJEXT): tools/parser/$(am__dirstamp) \ - tools/parser/$(DEPDIR)/$(am__dirstamp) -tools/parser/hcrp.$(OBJEXT): tools/parser/$(am__dirstamp) \ - tools/parser/$(DEPDIR)/$(am__dirstamp) -tools/parser/avdtp.$(OBJEXT): tools/parser/$(am__dirstamp) \ - tools/parser/$(DEPDIR)/$(am__dirstamp) -tools/parser/avctp.$(OBJEXT): tools/parser/$(am__dirstamp) \ - tools/parser/$(DEPDIR)/$(am__dirstamp) -tools/parser/avrcp.$(OBJEXT): tools/parser/$(am__dirstamp) \ - tools/parser/$(DEPDIR)/$(am__dirstamp) -tools/parser/sap.$(OBJEXT): tools/parser/$(am__dirstamp) \ - tools/parser/$(DEPDIR)/$(am__dirstamp) -tools/parser/obex.$(OBJEXT): tools/parser/$(am__dirstamp) \ - tools/parser/$(DEPDIR)/$(am__dirstamp) -tools/parser/capi.$(OBJEXT): tools/parser/$(am__dirstamp) \ - tools/parser/$(DEPDIR)/$(am__dirstamp) -tools/parser/ppp.$(OBJEXT): tools/parser/$(am__dirstamp) \ - tools/parser/$(DEPDIR)/$(am__dirstamp) -tools/parser/tcpip.$(OBJEXT): tools/parser/$(am__dirstamp) \ - tools/parser/$(DEPDIR)/$(am__dirstamp) -tools/parser/ericsson.$(OBJEXT): tools/parser/$(am__dirstamp) \ - tools/parser/$(DEPDIR)/$(am__dirstamp) -tools/parser/csr.$(OBJEXT): tools/parser/$(am__dirstamp) \ - tools/parser/$(DEPDIR)/$(am__dirstamp) -tools/parser/bpa.$(OBJEXT): tools/parser/$(am__dirstamp) \ - tools/parser/$(DEPDIR)/$(am__dirstamp) -tools/hcidump$(EXEEXT): $(tools_hcidump_OBJECTS) $(tools_hcidump_DEPENDENCIES) $(EXTRA_tools_hcidump_DEPENDENCIES) tools/$(am__dirstamp) - @rm -f tools/hcidump$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(tools_hcidump_OBJECTS) $(tools_hcidump_LDADD) $(LIBS) -tools/hcieventmask.$(OBJEXT): tools/$(am__dirstamp) \ - tools/$(DEPDIR)/$(am__dirstamp) -tools/hcieventmask$(EXEEXT): $(tools_hcieventmask_OBJECTS) $(tools_hcieventmask_DEPENDENCIES) $(EXTRA_tools_hcieventmask_DEPENDENCIES) tools/$(am__dirstamp) - @rm -f tools/hcieventmask$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(tools_hcieventmask_OBJECTS) $(tools_hcieventmask_LDADD) $(LIBS) -tools/hcisecfilter.$(OBJEXT): tools/$(am__dirstamp) \ - tools/$(DEPDIR)/$(am__dirstamp) -tools/hcisecfilter$(EXEEXT): $(tools_hcisecfilter_OBJECTS) $(tools_hcisecfilter_DEPENDENCIES) $(EXTRA_tools_hcisecfilter_DEPENDENCIES) tools/$(am__dirstamp) - @rm -f tools/hcisecfilter$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(tools_hcisecfilter_OBJECTS) $(tools_hcisecfilter_LDADD) $(LIBS) -tools/hcitool.$(OBJEXT): tools/$(am__dirstamp) \ - tools/$(DEPDIR)/$(am__dirstamp) -tools/hcitool$(EXEEXT): $(tools_hcitool_OBJECTS) $(tools_hcitool_DEPENDENCIES) $(EXTRA_tools_hcitool_DEPENDENCIES) tools/$(am__dirstamp) - @rm -f tools/hcitool$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(tools_hcitool_OBJECTS) $(tools_hcitool_LDADD) $(LIBS) -tools/hid2hci.$(OBJEXT): tools/$(am__dirstamp) \ - tools/$(DEPDIR)/$(am__dirstamp) -tools/hid2hci$(EXEEXT): $(tools_hid2hci_OBJECTS) $(tools_hid2hci_DEPENDENCIES) $(EXTRA_tools_hid2hci_DEPENDENCIES) tools/$(am__dirstamp) - @rm -f tools/hid2hci$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(tools_hid2hci_OBJECTS) $(tools_hid2hci_LDADD) $(LIBS) -tools/hwdb.$(OBJEXT): tools/$(am__dirstamp) \ - tools/$(DEPDIR)/$(am__dirstamp) -tools/hwdb$(EXEEXT): $(tools_hwdb_OBJECTS) $(tools_hwdb_DEPENDENCIES) $(EXTRA_tools_hwdb_DEPENDENCIES) tools/$(am__dirstamp) - @rm -f tools/hwdb$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(tools_hwdb_OBJECTS) $(tools_hwdb_LDADD) $(LIBS) -tools/l2ping.$(OBJEXT): tools/$(am__dirstamp) \ - tools/$(DEPDIR)/$(am__dirstamp) -tools/l2ping$(EXEEXT): $(tools_l2ping_OBJECTS) $(tools_l2ping_DEPENDENCIES) $(EXTRA_tools_l2ping_DEPENDENCIES) tools/$(am__dirstamp) - @rm -f tools/l2ping$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(tools_l2ping_OBJECTS) $(tools_l2ping_LDADD) $(LIBS) -tools/l2test.$(OBJEXT): tools/$(am__dirstamp) \ - tools/$(DEPDIR)/$(am__dirstamp) -tools/l2test$(EXEEXT): $(tools_l2test_OBJECTS) $(tools_l2test_DEPENDENCIES) $(EXTRA_tools_l2test_DEPENDENCIES) tools/$(am__dirstamp) - @rm -f tools/l2test$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(tools_l2test_OBJECTS) $(tools_l2test_LDADD) $(LIBS) -tools/mgmt-tester.$(OBJEXT): tools/$(am__dirstamp) \ - tools/$(DEPDIR)/$(am__dirstamp) -tools/mgmt-tester$(EXEEXT): $(tools_mgmt_tester_OBJECTS) $(tools_mgmt_tester_DEPENDENCIES) $(EXTRA_tools_mgmt_tester_DEPENDENCIES) tools/$(am__dirstamp) - @rm -f tools/mgmt-tester$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(tools_mgmt_tester_OBJECTS) $(tools_mgmt_tester_LDADD) $(LIBS) -tools/mpris-player.$(OBJEXT): tools/$(am__dirstamp) \ - tools/$(DEPDIR)/$(am__dirstamp) -tools/mpris-player$(EXEEXT): $(tools_mpris_player_OBJECTS) $(tools_mpris_player_DEPENDENCIES) $(EXTRA_tools_mpris_player_DEPENDENCIES) tools/$(am__dirstamp) - @rm -f tools/mpris-player$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(tools_mpris_player_OBJECTS) $(tools_mpris_player_LDADD) $(LIBS) -gobex/gobex.$(OBJEXT): gobex/$(am__dirstamp) \ - gobex/$(DEPDIR)/$(am__dirstamp) -gobex/gobex-defs.$(OBJEXT): gobex/$(am__dirstamp) \ - gobex/$(DEPDIR)/$(am__dirstamp) -gobex/gobex-packet.$(OBJEXT): gobex/$(am__dirstamp) \ - gobex/$(DEPDIR)/$(am__dirstamp) -gobex/gobex-header.$(OBJEXT): gobex/$(am__dirstamp) \ - gobex/$(DEPDIR)/$(am__dirstamp) -gobex/gobex-transfer.$(OBJEXT): gobex/$(am__dirstamp) \ - gobex/$(DEPDIR)/$(am__dirstamp) -gobex/gobex-apparam.$(OBJEXT): gobex/$(am__dirstamp) \ - gobex/$(DEPDIR)/$(am__dirstamp) -tools/obex-client-tool.$(OBJEXT): tools/$(am__dirstamp) \ - tools/$(DEPDIR)/$(am__dirstamp) -tools/obex-client-tool$(EXEEXT): $(tools_obex_client_tool_OBJECTS) $(tools_obex_client_tool_DEPENDENCIES) $(EXTRA_tools_obex_client_tool_DEPENDENCIES) tools/$(am__dirstamp) - @rm -f tools/obex-client-tool$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(tools_obex_client_tool_OBJECTS) $(tools_obex_client_tool_LDADD) $(LIBS) -tools/obex-server-tool.$(OBJEXT): tools/$(am__dirstamp) \ - tools/$(DEPDIR)/$(am__dirstamp) -tools/obex-server-tool$(EXEEXT): $(tools_obex_server_tool_OBJECTS) $(tools_obex_server_tool_DEPENDENCIES) $(EXTRA_tools_obex_server_tool_DEPENDENCIES) tools/$(am__dirstamp) - @rm -f tools/obex-server-tool$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(tools_obex_server_tool_OBJECTS) $(tools_obex_server_tool_LDADD) $(LIBS) -tools/rctest.$(OBJEXT): tools/$(am__dirstamp) \ - tools/$(DEPDIR)/$(am__dirstamp) -tools/rctest$(EXEEXT): $(tools_rctest_OBJECTS) $(tools_rctest_DEPENDENCIES) $(EXTRA_tools_rctest_DEPENDENCIES) tools/$(am__dirstamp) - @rm -f tools/rctest$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(tools_rctest_OBJECTS) $(tools_rctest_LDADD) $(LIBS) -tools/rfcomm.$(OBJEXT): tools/$(am__dirstamp) \ - tools/$(DEPDIR)/$(am__dirstamp) -tools/rfcomm$(EXEEXT): $(tools_rfcomm_OBJECTS) $(tools_rfcomm_DEPENDENCIES) $(EXTRA_tools_rfcomm_DEPENDENCIES) tools/$(am__dirstamp) - @rm -f tools/rfcomm$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(tools_rfcomm_OBJECTS) $(tools_rfcomm_LDADD) $(LIBS) -tools/scotest.$(OBJEXT): tools/$(am__dirstamp) \ - tools/$(DEPDIR)/$(am__dirstamp) -tools/scotest$(EXEEXT): $(tools_scotest_OBJECTS) $(tools_scotest_DEPENDENCIES) $(EXTRA_tools_scotest_DEPENDENCIES) tools/$(am__dirstamp) - @rm -f tools/scotest$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(tools_scotest_OBJECTS) $(tools_scotest_LDADD) $(LIBS) -tools/sdptool.$(OBJEXT): tools/$(am__dirstamp) \ - tools/$(DEPDIR)/$(am__dirstamp) -src/sdp-xml.$(OBJEXT): src/$(am__dirstamp) \ - src/$(DEPDIR)/$(am__dirstamp) -tools/sdptool$(EXEEXT): $(tools_sdptool_OBJECTS) $(tools_sdptool_DEPENDENCIES) $(EXTRA_tools_sdptool_DEPENDENCIES) tools/$(am__dirstamp) - @rm -f tools/sdptool$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(tools_sdptool_OBJECTS) $(tools_sdptool_LDADD) $(LIBS) -unit/$(am__dirstamp): - @$(MKDIR_P) unit - @: > unit/$(am__dirstamp) -unit/$(DEPDIR)/$(am__dirstamp): - @$(MKDIR_P) unit/$(DEPDIR) - @: > unit/$(DEPDIR)/$(am__dirstamp) -unit/test-eir.$(OBJEXT): unit/$(am__dirstamp) \ - unit/$(DEPDIR)/$(am__dirstamp) -unit/test-eir$(EXEEXT): $(unit_test_eir_OBJECTS) $(unit_test_eir_DEPENDENCIES) $(EXTRA_unit_test_eir_DEPENDENCIES) unit/$(am__dirstamp) - @rm -f unit/test-eir$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(unit_test_eir_OBJECTS) $(unit_test_eir_LDADD) $(LIBS) -unit/test-gdbus-client.$(OBJEXT): unit/$(am__dirstamp) \ - unit/$(DEPDIR)/$(am__dirstamp) -unit/test-gdbus-client$(EXEEXT): $(unit_test_gdbus_client_OBJECTS) $(unit_test_gdbus_client_DEPENDENCIES) $(EXTRA_unit_test_gdbus_client_DEPENDENCIES) unit/$(am__dirstamp) - @rm -f unit/test-gdbus-client$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(unit_test_gdbus_client_OBJECTS) $(unit_test_gdbus_client_LDADD) $(LIBS) -unit/util.$(OBJEXT): unit/$(am__dirstamp) \ - unit/$(DEPDIR)/$(am__dirstamp) -unit/test-gobex.$(OBJEXT): unit/$(am__dirstamp) \ - unit/$(DEPDIR)/$(am__dirstamp) -unit/test-gobex$(EXEEXT): $(unit_test_gobex_OBJECTS) $(unit_test_gobex_DEPENDENCIES) $(EXTRA_unit_test_gobex_DEPENDENCIES) unit/$(am__dirstamp) - @rm -f unit/test-gobex$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(unit_test_gobex_OBJECTS) $(unit_test_gobex_LDADD) $(LIBS) -unit/test-gobex-apparam.$(OBJEXT): unit/$(am__dirstamp) \ - unit/$(DEPDIR)/$(am__dirstamp) -unit/test-gobex-apparam$(EXEEXT): $(unit_test_gobex_apparam_OBJECTS) $(unit_test_gobex_apparam_DEPENDENCIES) $(EXTRA_unit_test_gobex_apparam_DEPENDENCIES) unit/$(am__dirstamp) - @rm -f unit/test-gobex-apparam$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(unit_test_gobex_apparam_OBJECTS) $(unit_test_gobex_apparam_LDADD) $(LIBS) -unit/test-gobex-header.$(OBJEXT): unit/$(am__dirstamp) \ - unit/$(DEPDIR)/$(am__dirstamp) -unit/test-gobex-header$(EXEEXT): $(unit_test_gobex_header_OBJECTS) $(unit_test_gobex_header_DEPENDENCIES) $(EXTRA_unit_test_gobex_header_DEPENDENCIES) unit/$(am__dirstamp) - @rm -f unit/test-gobex-header$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(unit_test_gobex_header_OBJECTS) $(unit_test_gobex_header_LDADD) $(LIBS) -unit/test-gobex-packet.$(OBJEXT): unit/$(am__dirstamp) \ - unit/$(DEPDIR)/$(am__dirstamp) -unit/test-gobex-packet$(EXEEXT): $(unit_test_gobex_packet_OBJECTS) $(unit_test_gobex_packet_DEPENDENCIES) $(EXTRA_unit_test_gobex_packet_DEPENDENCIES) unit/$(am__dirstamp) - @rm -f unit/test-gobex-packet$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(unit_test_gobex_packet_OBJECTS) $(unit_test_gobex_packet_LDADD) $(LIBS) -unit/test-gobex-transfer.$(OBJEXT): unit/$(am__dirstamp) \ - unit/$(DEPDIR)/$(am__dirstamp) -unit/test-gobex-transfer$(EXEEXT): $(unit_test_gobex_transfer_OBJECTS) $(unit_test_gobex_transfer_DEPENDENCIES) $(EXTRA_unit_test_gobex_transfer_DEPENDENCIES) unit/$(am__dirstamp) - @rm -f unit/test-gobex-transfer$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(unit_test_gobex_transfer_OBJECTS) $(unit_test_gobex_transfer_LDADD) $(LIBS) -unit/test-lib.$(OBJEXT): unit/$(am__dirstamp) \ - unit/$(DEPDIR)/$(am__dirstamp) -unit/test-lib$(EXEEXT): $(unit_test_lib_OBJECTS) $(unit_test_lib_DEPENDENCIES) $(EXTRA_unit_test_lib_DEPENDENCIES) unit/$(am__dirstamp) - @rm -f unit/test-lib$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(unit_test_lib_OBJECTS) $(unit_test_lib_LDADD) $(LIBS) -unit/test-mgmt.$(OBJEXT): unit/$(am__dirstamp) \ - unit/$(DEPDIR)/$(am__dirstamp) -unit/test-mgmt$(EXEEXT): $(unit_test_mgmt_OBJECTS) $(unit_test_mgmt_DEPENDENCIES) $(EXTRA_unit_test_mgmt_DEPENDENCIES) unit/$(am__dirstamp) - @rm -f unit/test-mgmt$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(unit_test_mgmt_OBJECTS) $(unit_test_mgmt_LDADD) $(LIBS) -unit/test-sdp.$(OBJEXT): unit/$(am__dirstamp) \ - unit/$(DEPDIR)/$(am__dirstamp) -src/sdpd-database.$(OBJEXT): src/$(am__dirstamp) \ - src/$(DEPDIR)/$(am__dirstamp) -src/sdpd-service.$(OBJEXT): src/$(am__dirstamp) \ - src/$(DEPDIR)/$(am__dirstamp) -src/sdpd-request.$(OBJEXT): src/$(am__dirstamp) \ - src/$(DEPDIR)/$(am__dirstamp) -unit/test-sdp$(EXEEXT): $(unit_test_sdp_OBJECTS) $(unit_test_sdp_DEPENDENCIES) $(EXTRA_unit_test_sdp_DEPENDENCIES) unit/$(am__dirstamp) - @rm -f unit/test-sdp$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(unit_test_sdp_OBJECTS) $(unit_test_sdp_LDADD) $(LIBS) -unit/test-textfile.$(OBJEXT): unit/$(am__dirstamp) \ - unit/$(DEPDIR)/$(am__dirstamp) -src/textfile.$(OBJEXT): src/$(am__dirstamp) \ - src/$(DEPDIR)/$(am__dirstamp) -unit/test-textfile$(EXEEXT): $(unit_test_textfile_OBJECTS) $(unit_test_textfile_DEPENDENCIES) $(EXTRA_unit_test_textfile_DEPENDENCIES) unit/$(am__dirstamp) - @rm -f unit/test-textfile$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(unit_test_textfile_OBJECTS) $(unit_test_textfile_LDADD) $(LIBS) -unit/test-uuid.$(OBJEXT): unit/$(am__dirstamp) \ - unit/$(DEPDIR)/$(am__dirstamp) -unit/test-uuid$(EXEEXT): $(unit_test_uuid_OBJECTS) $(unit_test_uuid_DEPENDENCIES) $(EXTRA_unit_test_uuid_DEPENDENCIES) unit/$(am__dirstamp) - @rm -f unit/test-uuid$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(unit_test_uuid_OBJECTS) $(unit_test_uuid_LDADD) $(LIBS) -install-testSCRIPTS: $(test_SCRIPTS) - @$(NORMAL_INSTALL) - @list='$(test_SCRIPTS)'; test -n "$(testdir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(testdir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(testdir)" || exit 1; \ - fi; \ - for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - if test -f "$$d$$p"; then echo "$$d$$p"; echo "$$p"; else :; fi; \ - done | \ - sed -e 'p;s,.*/,,;n' \ - -e 'h;s|.*|.|' \ - -e 'p;x;s,.*/,,;$(transform)' | sed 'N;N;N;s,\n, ,g' | \ - $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1; } \ - { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \ - if ($$2 == $$4) { files[d] = files[d] " " $$1; \ - if (++n[d] == $(am__install_max)) { \ - print "f", d, files[d]; n[d] = 0; files[d] = "" } } \ - else { print "f", d "/" $$4, $$1 } } \ - END { for (d in files) print "f", d, files[d] }' | \ - while read type dir files; do \ - if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \ - test -z "$$files" || { \ - echo " $(INSTALL_SCRIPT) $$files '$(DESTDIR)$(testdir)$$dir'"; \ - $(INSTALL_SCRIPT) $$files "$(DESTDIR)$(testdir)$$dir" || exit $$?; \ - } \ - ; done - -uninstall-testSCRIPTS: - @$(NORMAL_UNINSTALL) - @list='$(test_SCRIPTS)'; test -n "$(testdir)" || exit 0; \ - files=`for p in $$list; do echo "$$p"; done | \ - sed -e 's,.*/,,;$(transform)'`; \ - dir='$(DESTDIR)$(testdir)'; $(am__uninstall_files_from_dir) - -mostlyclean-compile: - -rm -f *.$(OBJEXT) - -rm -f attrib/att.$(OBJEXT) - -rm -f attrib/bluetoothd-att.$(OBJEXT) - -rm -f attrib/bluetoothd-gatt-service.$(OBJEXT) - -rm -f attrib/bluetoothd-gatt.$(OBJEXT) - -rm -f attrib/bluetoothd-gattrib.$(OBJEXT) - -rm -f attrib/gatt.$(OBJEXT) - -rm -f attrib/gattrib.$(OBJEXT) - -rm -f attrib/gatttool.$(OBJEXT) - -rm -f attrib/interactive.$(OBJEXT) - -rm -f attrib/grib_ble_extend.$(OBJEXT) - -rm -f attrib/utils.$(OBJEXT) - -rm -f btio/bluetoothd-btio.$(OBJEXT) - -rm -f btio/btio.$(OBJEXT) - -rm -f btio/obexd-btio.$(OBJEXT) - -rm -f client/agent.$(OBJEXT) - -rm -f client/display.$(OBJEXT) - -rm -f client/main.$(OBJEXT) - -rm -f emulator/b1ee.$(OBJEXT) - -rm -f emulator/btdev.$(OBJEXT) - -rm -f emulator/bthost.$(OBJEXT) - -rm -f emulator/main.$(OBJEXT) - -rm -f emulator/server.$(OBJEXT) - -rm -f emulator/vhci.$(OBJEXT) - -rm -f gdbus/bluetoothd-client.$(OBJEXT) - -rm -f gdbus/bluetoothd-mainloop.$(OBJEXT) - -rm -f gdbus/bluetoothd-object.$(OBJEXT) - -rm -f gdbus/bluetoothd-polkit.$(OBJEXT) - -rm -f gdbus/bluetoothd-watch.$(OBJEXT) - -rm -f gdbus/client.$(OBJEXT) - -rm -f gdbus/mainloop.$(OBJEXT) - -rm -f gdbus/obexd-client.$(OBJEXT) - -rm -f gdbus/obexd-mainloop.$(OBJEXT) - -rm -f gdbus/obexd-object.$(OBJEXT) - -rm -f gdbus/obexd-polkit.$(OBJEXT) - -rm -f gdbus/obexd-watch.$(OBJEXT) - -rm -f gdbus/object.$(OBJEXT) - -rm -f gdbus/polkit.$(OBJEXT) - -rm -f gdbus/watch.$(OBJEXT) - -rm -f gobex/gobex-apparam.$(OBJEXT) - -rm -f gobex/gobex-defs.$(OBJEXT) - -rm -f gobex/gobex-header.$(OBJEXT) - -rm -f gobex/gobex-packet.$(OBJEXT) - -rm -f gobex/gobex-transfer.$(OBJEXT) - -rm -f gobex/gobex.$(OBJEXT) - -rm -f gobex/obexd-gobex-apparam.$(OBJEXT) - -rm -f gobex/obexd-gobex-defs.$(OBJEXT) - -rm -f gobex/obexd-gobex-header.$(OBJEXT) - -rm -f gobex/obexd-gobex-packet.$(OBJEXT) - -rm -f gobex/obexd-gobex-transfer.$(OBJEXT) - -rm -f gobex/obexd-gobex.$(OBJEXT) - -rm -f lib/bluetooth.$(OBJEXT) - -rm -f lib/bluetooth.lo - -rm -f lib/hci.$(OBJEXT) - -rm -f lib/hci.lo - -rm -f lib/sdp.$(OBJEXT) - -rm -f lib/sdp.lo - -rm -f lib/uuid.$(OBJEXT) - -rm -f lib/uuid.lo - -rm -f monitor/btsnoop.$(OBJEXT) - -rm -f monitor/control.$(OBJEXT) - -rm -f monitor/display.$(OBJEXT) - -rm -f monitor/hcidump.$(OBJEXT) - -rm -f monitor/l2cap.$(OBJEXT) - -rm -f monitor/main.$(OBJEXT) - -rm -f monitor/mainloop.$(OBJEXT) - -rm -f monitor/packet.$(OBJEXT) - -rm -f monitor/sdp.$(OBJEXT) - -rm -f monitor/uuid.$(OBJEXT) - -rm -f obexd/client/obexd-bluetooth.$(OBJEXT) - -rm -f obexd/client/obexd-dbus.$(OBJEXT) - -rm -f obexd/client/obexd-driver.$(OBJEXT) - -rm -f obexd/client/obexd-ftp.$(OBJEXT) - -rm -f obexd/client/obexd-manager.$(OBJEXT) - -rm -f obexd/client/obexd-map.$(OBJEXT) - -rm -f obexd/client/obexd-mns.$(OBJEXT) - -rm -f obexd/client/obexd-opp.$(OBJEXT) - -rm -f obexd/client/obexd-pbap.$(OBJEXT) - -rm -f obexd/client/obexd-session.$(OBJEXT) - -rm -f obexd/client/obexd-sync.$(OBJEXT) - -rm -f obexd/client/obexd-transfer.$(OBJEXT) - -rm -f obexd/client/obexd-transport.$(OBJEXT) - -rm -f obexd/plugins/obexd-bluetooth.$(OBJEXT) - -rm -f obexd/plugins/obexd-filesystem.$(OBJEXT) - -rm -f obexd/plugins/obexd-ftp.$(OBJEXT) - -rm -f obexd/plugins/obexd-irmc.$(OBJEXT) - -rm -f obexd/plugins/obexd-mas.$(OBJEXT) - -rm -f obexd/plugins/obexd-messages-dummy.$(OBJEXT) - -rm -f obexd/plugins/obexd-opp.$(OBJEXT) - -rm -f obexd/plugins/obexd-pbap.$(OBJEXT) - -rm -f obexd/plugins/obexd-pcsuite.$(OBJEXT) - -rm -f obexd/plugins/obexd-phonebook-dummy.$(OBJEXT) - -rm -f obexd/plugins/obexd-vcard.$(OBJEXT) - -rm -f obexd/src/obexd-log.$(OBJEXT) - -rm -f obexd/src/obexd-main.$(OBJEXT) - -rm -f obexd/src/obexd-manager.$(OBJEXT) - -rm -f obexd/src/obexd-mimetype.$(OBJEXT) - -rm -f obexd/src/obexd-obex.$(OBJEXT) - -rm -f obexd/src/obexd-plugin.$(OBJEXT) - -rm -f obexd/src/obexd-server.$(OBJEXT) - -rm -f obexd/src/obexd-service.$(OBJEXT) - -rm -f obexd/src/obexd-transport.$(OBJEXT) - -rm -f plugins/bluetoothd-gatt-example.$(OBJEXT) - -rm -f plugins/bluetoothd-hostname.$(OBJEXT) - -rm -f plugins/bluetoothd-neard.$(OBJEXT) - -rm -f plugins/bluetoothd-wiimote.$(OBJEXT) - -rm -f plugins/plugins_external_dummy_la-external-dummy.$(OBJEXT) - -rm -f plugins/plugins_external_dummy_la-external-dummy.lo - -rm -f profiles/alert/bluetoothd-server.$(OBJEXT) - -rm -f profiles/audio/bluetoothd-a2dp.$(OBJEXT) - -rm -f profiles/audio/bluetoothd-avctp.$(OBJEXT) - -rm -f profiles/audio/bluetoothd-avdtp.$(OBJEXT) - -rm -f profiles/audio/bluetoothd-avrcp.$(OBJEXT) - -rm -f profiles/audio/bluetoothd-control.$(OBJEXT) - -rm -f profiles/audio/bluetoothd-device.$(OBJEXT) - -rm -f profiles/audio/bluetoothd-main.$(OBJEXT) - -rm -f profiles/audio/bluetoothd-manager.$(OBJEXT) - -rm -f profiles/audio/bluetoothd-media.$(OBJEXT) - -rm -f profiles/audio/bluetoothd-player.$(OBJEXT) - -rm -f profiles/audio/bluetoothd-sink.$(OBJEXT) - -rm -f profiles/audio/bluetoothd-source.$(OBJEXT) - -rm -f profiles/audio/bluetoothd-transport.$(OBJEXT) - -rm -f profiles/cups/hcrp.$(OBJEXT) - -rm -f profiles/cups/main.$(OBJEXT) - -rm -f profiles/cups/sdp.$(OBJEXT) - -rm -f profiles/cups/spp.$(OBJEXT) - -rm -f profiles/cyclingspeed/bluetoothd-cyclingspeed.$(OBJEXT) - -rm -f profiles/deviceinfo/bluetoothd-deviceinfo.$(OBJEXT) - -rm -f profiles/gatt/bluetoothd-gas.$(OBJEXT) - -rm -f profiles/health/bluetoothd-hdp.$(OBJEXT) - -rm -f profiles/health/bluetoothd-hdp_main.$(OBJEXT) - -rm -f profiles/health/bluetoothd-hdp_manager.$(OBJEXT) - -rm -f profiles/health/bluetoothd-hdp_util.$(OBJEXT) - -rm -f profiles/health/bluetoothd-mcap.$(OBJEXT) - -rm -f profiles/health/bluetoothd-mcap_sync.$(OBJEXT) - -rm -f profiles/heartrate/bluetoothd-heartrate.$(OBJEXT) - -rm -f profiles/iap/main.$(OBJEXT) - -rm -f profiles/input/bluetoothd-device.$(OBJEXT) - -rm -f profiles/input/bluetoothd-hog.$(OBJEXT) - -rm -f profiles/input/bluetoothd-manager.$(OBJEXT) - -rm -f profiles/input/bluetoothd-server.$(OBJEXT) - -rm -f profiles/input/bluetoothd-suspend-dummy.$(OBJEXT) - -rm -f profiles/network/bluetoothd-common.$(OBJEXT) - -rm -f profiles/network/bluetoothd-connection.$(OBJEXT) - -rm -f profiles/network/bluetoothd-manager.$(OBJEXT) - -rm -f profiles/network/bluetoothd-server.$(OBJEXT) - -rm -f profiles/proximity/bluetoothd-immalert.$(OBJEXT) - -rm -f profiles/proximity/bluetoothd-linkloss.$(OBJEXT) - -rm -f profiles/proximity/bluetoothd-main.$(OBJEXT) - -rm -f profiles/proximity/bluetoothd-manager.$(OBJEXT) - -rm -f profiles/proximity/bluetoothd-monitor.$(OBJEXT) - -rm -f profiles/proximity/bluetoothd-reporter.$(OBJEXT) - -rm -f profiles/sap/bluetoothd-main.$(OBJEXT) - -rm -f profiles/sap/bluetoothd-manager.$(OBJEXT) - -rm -f profiles/sap/bluetoothd-sap-dummy.$(OBJEXT) - -rm -f profiles/sap/bluetoothd-server.$(OBJEXT) - -rm -f profiles/sap/sap-u8500.$(OBJEXT) - -rm -f profiles/scanparam/bluetoothd-scan.$(OBJEXT) - -rm -f profiles/thermometer/bluetoothd-thermometer.$(OBJEXT) - -rm -f profiles/time/bluetoothd-server.$(OBJEXT) - -rm -f src/bluetoothd-adapter.$(OBJEXT) - -rm -f src/bluetoothd-agent.$(OBJEXT) - -rm -f src/bluetoothd-attrib-server.$(OBJEXT) - -rm -f src/bluetoothd-dbus-common.$(OBJEXT) - -rm -f src/bluetoothd-device.$(OBJEXT) - -rm -f src/bluetoothd-eir.$(OBJEXT) - -rm -f src/bluetoothd-error.$(OBJEXT) - -rm -f src/bluetoothd-glib-helper.$(OBJEXT) - -rm -f src/bluetoothd-log.$(OBJEXT) - -rm -f src/bluetoothd-main.$(OBJEXT) - -rm -f src/bluetoothd-plugin.$(OBJEXT) - -rm -f src/bluetoothd-profile.$(OBJEXT) - -rm -f src/bluetoothd-rfkill.$(OBJEXT) - -rm -f src/bluetoothd-sdp-client.$(OBJEXT) - -rm -f src/bluetoothd-sdp-xml.$(OBJEXT) - -rm -f src/bluetoothd-sdpd-database.$(OBJEXT) - -rm -f src/bluetoothd-sdpd-request.$(OBJEXT) - -rm -f src/bluetoothd-sdpd-server.$(OBJEXT) - -rm -f src/bluetoothd-sdpd-service.$(OBJEXT) - -rm -f src/bluetoothd-storage.$(OBJEXT) - -rm -f src/bluetoothd-systemd.$(OBJEXT) - -rm -f src/bluetoothd-textfile.$(OBJEXT) - -rm -f src/eir.$(OBJEXT) - -rm -f src/glib-helper.$(OBJEXT) - -rm -f src/log.$(OBJEXT) - -rm -f src/oui.$(OBJEXT) - -rm -f src/sdp-xml.$(OBJEXT) - -rm -f src/sdpd-database.$(OBJEXT) - -rm -f src/sdpd-request.$(OBJEXT) - -rm -f src/sdpd-service.$(OBJEXT) - -rm -f src/shared/bluetoothd-mgmt.$(OBJEXT) - -rm -f src/shared/bluetoothd-util.$(OBJEXT) - -rm -f src/shared/hciemu.$(OBJEXT) - -rm -f src/shared/mgmt.$(OBJEXT) - -rm -f src/shared/tester.$(OBJEXT) - -rm -f src/shared/util.$(OBJEXT) - -rm -f src/textfile.$(OBJEXT) - -rm -f tools/avinfo.$(OBJEXT) - -rm -f tools/avtest.$(OBJEXT) - -rm -f tools/bccmd.$(OBJEXT) - -rm -f tools/bdaddr.$(OBJEXT) - -rm -f tools/btattach.$(OBJEXT) - -rm -f tools/btiotest.$(OBJEXT) - -rm -f tools/btmgmt.$(OBJEXT) - -rm -f tools/btsnoop.$(OBJEXT) - -rm -f tools/ciptool.$(OBJEXT) - -rm -f tools/csr.$(OBJEXT) - -rm -f tools/csr_3wire.$(OBJEXT) - -rm -f tools/csr_bcsp.$(OBJEXT) - -rm -f tools/csr_h4.$(OBJEXT) - -rm -f tools/csr_hci.$(OBJEXT) - -rm -f tools/csr_usb.$(OBJEXT) - -rm -f tools/gap-tester.$(OBJEXT) - -rm -f tools/hciattach.$(OBJEXT) - -rm -f tools/hciattach_ath3k.$(OBJEXT) - -rm -f tools/hciattach_intel.$(OBJEXT) - -rm -f tools/hciattach_qualcomm.$(OBJEXT) - -rm -f tools/hciattach_st.$(OBJEXT) - -rm -f tools/hciattach_ti.$(OBJEXT) - -rm -f tools/hciattach_tialt.$(OBJEXT) - -rm -f tools/hciconfig.$(OBJEXT) - -rm -f tools/hcidump.$(OBJEXT) - -rm -f tools/hcieventmask.$(OBJEXT) - -rm -f tools/hcisecfilter.$(OBJEXT) - -rm -f tools/hcitool.$(OBJEXT) - -rm -f tools/hid2hci.$(OBJEXT) - -rm -f tools/hwdb.$(OBJEXT) - -rm -f tools/l2ping.$(OBJEXT) - -rm -f tools/l2test.$(OBJEXT) - -rm -f tools/mgmt-tester.$(OBJEXT) - -rm -f tools/mpris-player.$(OBJEXT) - -rm -f tools/obex-client-tool.$(OBJEXT) - -rm -f tools/obex-server-tool.$(OBJEXT) - -rm -f tools/parser/amp.$(OBJEXT) - -rm -f tools/parser/att.$(OBJEXT) - -rm -f tools/parser/avctp.$(OBJEXT) - -rm -f tools/parser/avdtp.$(OBJEXT) - -rm -f tools/parser/avrcp.$(OBJEXT) - -rm -f tools/parser/bnep.$(OBJEXT) - -rm -f tools/parser/bpa.$(OBJEXT) - -rm -f tools/parser/capi.$(OBJEXT) - -rm -f tools/parser/cmtp.$(OBJEXT) - -rm -f tools/parser/csr.$(OBJEXT) - -rm -f tools/parser/ericsson.$(OBJEXT) - -rm -f tools/parser/hci.$(OBJEXT) - -rm -f tools/parser/hcrp.$(OBJEXT) - -rm -f tools/parser/hidp.$(OBJEXT) - -rm -f tools/parser/l2cap.$(OBJEXT) - -rm -f tools/parser/lmp.$(OBJEXT) - -rm -f tools/parser/obex.$(OBJEXT) - -rm -f tools/parser/parser.$(OBJEXT) - -rm -f tools/parser/ppp.$(OBJEXT) - -rm -f tools/parser/rfcomm.$(OBJEXT) - -rm -f tools/parser/sap.$(OBJEXT) - -rm -f tools/parser/sdp.$(OBJEXT) - -rm -f tools/parser/smp.$(OBJEXT) - -rm -f tools/parser/tcpip.$(OBJEXT) - -rm -f tools/rctest.$(OBJEXT) - -rm -f tools/rfcomm.$(OBJEXT) - -rm -f tools/scotest.$(OBJEXT) - -rm -f tools/sdptool.$(OBJEXT) - -rm -f tools/ubcsp.$(OBJEXT) - -rm -f unit/test-eir.$(OBJEXT) - -rm -f unit/test-gdbus-client.$(OBJEXT) - -rm -f unit/test-gobex-apparam.$(OBJEXT) - -rm -f unit/test-gobex-header.$(OBJEXT) - -rm -f unit/test-gobex-packet.$(OBJEXT) - -rm -f unit/test-gobex-transfer.$(OBJEXT) - -rm -f unit/test-gobex.$(OBJEXT) - -rm -f unit/test-lib.$(OBJEXT) - -rm -f unit/test-mgmt.$(OBJEXT) - -rm -f unit/test-sdp.$(OBJEXT) - -rm -f unit/test-textfile.$(OBJEXT) - -rm -f unit/test-uuid.$(OBJEXT) - -rm -f unit/util.$(OBJEXT) - -distclean-compile: - -rm -f *.tab.c - -include attrib/$(DEPDIR)/att.Po -include attrib/$(DEPDIR)/bluetoothd-att.Po -include attrib/$(DEPDIR)/bluetoothd-gatt-service.Po -include attrib/$(DEPDIR)/bluetoothd-gatt.Po -include attrib/$(DEPDIR)/bluetoothd-gattrib.Po -include attrib/$(DEPDIR)/gatt.Po -include attrib/$(DEPDIR)/gattrib.Po -include attrib/$(DEPDIR)/gatttool.Po -include attrib/$(DEPDIR)/interactive.Po -include attrib/$(DEPDIR)/utils.Po -include btio/$(DEPDIR)/bluetoothd-btio.Po -include btio/$(DEPDIR)/btio.Po -include btio/$(DEPDIR)/obexd-btio.Po -include client/$(DEPDIR)/agent.Po -include client/$(DEPDIR)/display.Po -include client/$(DEPDIR)/main.Po -include emulator/$(DEPDIR)/b1ee.Po -include emulator/$(DEPDIR)/btdev.Po -include emulator/$(DEPDIR)/bthost.Po -include emulator/$(DEPDIR)/main.Po -include emulator/$(DEPDIR)/server.Po -include emulator/$(DEPDIR)/vhci.Po -include gdbus/$(DEPDIR)/bluetoothd-client.Po -include gdbus/$(DEPDIR)/bluetoothd-mainloop.Po -include gdbus/$(DEPDIR)/bluetoothd-object.Po -include gdbus/$(DEPDIR)/bluetoothd-polkit.Po -include gdbus/$(DEPDIR)/bluetoothd-watch.Po -include gdbus/$(DEPDIR)/client.Po -include gdbus/$(DEPDIR)/mainloop.Po -include gdbus/$(DEPDIR)/obexd-client.Po -include gdbus/$(DEPDIR)/obexd-mainloop.Po -include gdbus/$(DEPDIR)/obexd-object.Po -include gdbus/$(DEPDIR)/obexd-polkit.Po -include gdbus/$(DEPDIR)/obexd-watch.Po -include gdbus/$(DEPDIR)/object.Po -include gdbus/$(DEPDIR)/polkit.Po -include gdbus/$(DEPDIR)/watch.Po -include gobex/$(DEPDIR)/gobex-apparam.Po -include gobex/$(DEPDIR)/gobex-defs.Po -include gobex/$(DEPDIR)/gobex-header.Po -include gobex/$(DEPDIR)/gobex-packet.Po -include gobex/$(DEPDIR)/gobex-transfer.Po -include gobex/$(DEPDIR)/gobex.Po -include gobex/$(DEPDIR)/obexd-gobex-apparam.Po -include gobex/$(DEPDIR)/obexd-gobex-defs.Po -include gobex/$(DEPDIR)/obexd-gobex-header.Po -include gobex/$(DEPDIR)/obexd-gobex-packet.Po -include gobex/$(DEPDIR)/obexd-gobex-transfer.Po -include gobex/$(DEPDIR)/obexd-gobex.Po -include lib/$(DEPDIR)/bluetooth.Plo -include lib/$(DEPDIR)/hci.Plo -include lib/$(DEPDIR)/sdp.Plo -include lib/$(DEPDIR)/uuid.Plo -include monitor/$(DEPDIR)/btsnoop.Po -include monitor/$(DEPDIR)/control.Po -include monitor/$(DEPDIR)/display.Po -include monitor/$(DEPDIR)/hcidump.Po -include monitor/$(DEPDIR)/l2cap.Po -include monitor/$(DEPDIR)/main.Po -include monitor/$(DEPDIR)/mainloop.Po -include monitor/$(DEPDIR)/packet.Po -include monitor/$(DEPDIR)/sdp.Po -include monitor/$(DEPDIR)/uuid.Po -include obexd/client/$(DEPDIR)/obexd-bluetooth.Po -include obexd/client/$(DEPDIR)/obexd-dbus.Po -include obexd/client/$(DEPDIR)/obexd-driver.Po -include obexd/client/$(DEPDIR)/obexd-ftp.Po -include obexd/client/$(DEPDIR)/obexd-manager.Po -include obexd/client/$(DEPDIR)/obexd-map.Po -include obexd/client/$(DEPDIR)/obexd-mns.Po -include obexd/client/$(DEPDIR)/obexd-opp.Po -include obexd/client/$(DEPDIR)/obexd-pbap.Po -include obexd/client/$(DEPDIR)/obexd-session.Po -include obexd/client/$(DEPDIR)/obexd-sync.Po -include obexd/client/$(DEPDIR)/obexd-transfer.Po -include obexd/client/$(DEPDIR)/obexd-transport.Po -include obexd/plugins/$(DEPDIR)/obexd-bluetooth.Po -include obexd/plugins/$(DEPDIR)/obexd-filesystem.Po -include obexd/plugins/$(DEPDIR)/obexd-ftp.Po -include obexd/plugins/$(DEPDIR)/obexd-irmc.Po -include obexd/plugins/$(DEPDIR)/obexd-mas.Po -include obexd/plugins/$(DEPDIR)/obexd-messages-dummy.Po -include obexd/plugins/$(DEPDIR)/obexd-opp.Po -include obexd/plugins/$(DEPDIR)/obexd-pbap.Po -include obexd/plugins/$(DEPDIR)/obexd-pcsuite.Po -include obexd/plugins/$(DEPDIR)/obexd-phonebook-dummy.Po -include obexd/plugins/$(DEPDIR)/obexd-vcard.Po -include obexd/src/$(DEPDIR)/obexd-log.Po -include obexd/src/$(DEPDIR)/obexd-main.Po -include obexd/src/$(DEPDIR)/obexd-manager.Po -include obexd/src/$(DEPDIR)/obexd-mimetype.Po -include obexd/src/$(DEPDIR)/obexd-obex.Po -include obexd/src/$(DEPDIR)/obexd-plugin.Po -include obexd/src/$(DEPDIR)/obexd-server.Po -include obexd/src/$(DEPDIR)/obexd-service.Po -include obexd/src/$(DEPDIR)/obexd-transport.Po -include plugins/$(DEPDIR)/bluetoothd-gatt-example.Po -include plugins/$(DEPDIR)/bluetoothd-hostname.Po -include plugins/$(DEPDIR)/bluetoothd-neard.Po -include plugins/$(DEPDIR)/bluetoothd-wiimote.Po -include plugins/$(DEPDIR)/plugins_external_dummy_la-external-dummy.Plo -include profiles/alert/$(DEPDIR)/bluetoothd-server.Po -include profiles/audio/$(DEPDIR)/bluetoothd-a2dp.Po -include profiles/audio/$(DEPDIR)/bluetoothd-avctp.Po -include profiles/audio/$(DEPDIR)/bluetoothd-avdtp.Po -include profiles/audio/$(DEPDIR)/bluetoothd-avrcp.Po -include profiles/audio/$(DEPDIR)/bluetoothd-control.Po -include profiles/audio/$(DEPDIR)/bluetoothd-device.Po -include profiles/audio/$(DEPDIR)/bluetoothd-main.Po -include profiles/audio/$(DEPDIR)/bluetoothd-manager.Po -include profiles/audio/$(DEPDIR)/bluetoothd-media.Po -include profiles/audio/$(DEPDIR)/bluetoothd-player.Po -include profiles/audio/$(DEPDIR)/bluetoothd-sink.Po -include profiles/audio/$(DEPDIR)/bluetoothd-source.Po -include profiles/audio/$(DEPDIR)/bluetoothd-transport.Po -include profiles/cups/$(DEPDIR)/hcrp.Po -include profiles/cups/$(DEPDIR)/main.Po -include profiles/cups/$(DEPDIR)/sdp.Po -include profiles/cups/$(DEPDIR)/spp.Po -include profiles/cyclingspeed/$(DEPDIR)/bluetoothd-cyclingspeed.Po -include profiles/deviceinfo/$(DEPDIR)/bluetoothd-deviceinfo.Po -include profiles/gatt/$(DEPDIR)/bluetoothd-gas.Po -include profiles/health/$(DEPDIR)/bluetoothd-hdp.Po -include profiles/health/$(DEPDIR)/bluetoothd-hdp_main.Po -include profiles/health/$(DEPDIR)/bluetoothd-hdp_manager.Po -include profiles/health/$(DEPDIR)/bluetoothd-hdp_util.Po -include profiles/health/$(DEPDIR)/bluetoothd-mcap.Po -include profiles/health/$(DEPDIR)/bluetoothd-mcap_sync.Po -include profiles/heartrate/$(DEPDIR)/bluetoothd-heartrate.Po -include profiles/iap/$(DEPDIR)/main.Po -include profiles/input/$(DEPDIR)/bluetoothd-device.Po -include profiles/input/$(DEPDIR)/bluetoothd-hog.Po -include profiles/input/$(DEPDIR)/bluetoothd-manager.Po -include profiles/input/$(DEPDIR)/bluetoothd-server.Po -include profiles/input/$(DEPDIR)/bluetoothd-suspend-dummy.Po -include profiles/network/$(DEPDIR)/bluetoothd-common.Po -include profiles/network/$(DEPDIR)/bluetoothd-connection.Po -include profiles/network/$(DEPDIR)/bluetoothd-manager.Po -include profiles/network/$(DEPDIR)/bluetoothd-server.Po -include profiles/proximity/$(DEPDIR)/bluetoothd-immalert.Po -include profiles/proximity/$(DEPDIR)/bluetoothd-linkloss.Po -include profiles/proximity/$(DEPDIR)/bluetoothd-main.Po -include profiles/proximity/$(DEPDIR)/bluetoothd-manager.Po -include profiles/proximity/$(DEPDIR)/bluetoothd-monitor.Po -include profiles/proximity/$(DEPDIR)/bluetoothd-reporter.Po -include profiles/sap/$(DEPDIR)/bluetoothd-main.Po -include profiles/sap/$(DEPDIR)/bluetoothd-manager.Po -include profiles/sap/$(DEPDIR)/bluetoothd-sap-dummy.Po -include profiles/sap/$(DEPDIR)/bluetoothd-server.Po -include profiles/sap/$(DEPDIR)/sap-u8500.Po -include profiles/scanparam/$(DEPDIR)/bluetoothd-scan.Po -include profiles/thermometer/$(DEPDIR)/bluetoothd-thermometer.Po -include profiles/time/$(DEPDIR)/bluetoothd-server.Po -include src/$(DEPDIR)/bluetoothd-adapter.Po -include src/$(DEPDIR)/bluetoothd-agent.Po -include src/$(DEPDIR)/bluetoothd-attrib-server.Po -include src/$(DEPDIR)/bluetoothd-dbus-common.Po -include src/$(DEPDIR)/bluetoothd-device.Po -include src/$(DEPDIR)/bluetoothd-eir.Po -include src/$(DEPDIR)/bluetoothd-error.Po -include src/$(DEPDIR)/bluetoothd-glib-helper.Po -include src/$(DEPDIR)/bluetoothd-log.Po -include src/$(DEPDIR)/bluetoothd-main.Po -include src/$(DEPDIR)/bluetoothd-plugin.Po -include src/$(DEPDIR)/bluetoothd-profile.Po -include src/$(DEPDIR)/bluetoothd-rfkill.Po -include src/$(DEPDIR)/bluetoothd-sdp-client.Po -include src/$(DEPDIR)/bluetoothd-sdp-xml.Po -include src/$(DEPDIR)/bluetoothd-sdpd-database.Po -include src/$(DEPDIR)/bluetoothd-sdpd-request.Po -include src/$(DEPDIR)/bluetoothd-sdpd-server.Po -include src/$(DEPDIR)/bluetoothd-sdpd-service.Po -include src/$(DEPDIR)/bluetoothd-storage.Po -include src/$(DEPDIR)/bluetoothd-systemd.Po -include src/$(DEPDIR)/bluetoothd-textfile.Po -include src/$(DEPDIR)/eir.Po -include src/$(DEPDIR)/glib-helper.Po -include src/$(DEPDIR)/log.Po -include src/$(DEPDIR)/oui.Po -include src/$(DEPDIR)/sdp-xml.Po -include src/$(DEPDIR)/sdpd-database.Po -include src/$(DEPDIR)/sdpd-request.Po -include src/$(DEPDIR)/sdpd-service.Po -include src/$(DEPDIR)/textfile.Po -include src/shared/$(DEPDIR)/bluetoothd-mgmt.Po -include src/shared/$(DEPDIR)/bluetoothd-util.Po -include src/shared/$(DEPDIR)/hciemu.Po -include src/shared/$(DEPDIR)/mgmt.Po -include src/shared/$(DEPDIR)/tester.Po -include src/shared/$(DEPDIR)/util.Po -include tools/$(DEPDIR)/avinfo.Po -include tools/$(DEPDIR)/avtest.Po -include tools/$(DEPDIR)/bccmd.Po -include tools/$(DEPDIR)/bdaddr.Po -include tools/$(DEPDIR)/btattach.Po -include tools/$(DEPDIR)/btiotest.Po -include tools/$(DEPDIR)/btmgmt.Po -include tools/$(DEPDIR)/btsnoop.Po -include tools/$(DEPDIR)/ciptool.Po -include tools/$(DEPDIR)/csr.Po -include tools/$(DEPDIR)/csr_3wire.Po -include tools/$(DEPDIR)/csr_bcsp.Po -include tools/$(DEPDIR)/csr_h4.Po -include tools/$(DEPDIR)/csr_hci.Po -include tools/$(DEPDIR)/csr_usb.Po -include tools/$(DEPDIR)/gap-tester.Po -include tools/$(DEPDIR)/hciattach.Po -include tools/$(DEPDIR)/hciattach_ath3k.Po -include tools/$(DEPDIR)/hciattach_intel.Po -include tools/$(DEPDIR)/hciattach_qualcomm.Po -include tools/$(DEPDIR)/hciattach_st.Po -include tools/$(DEPDIR)/hciattach_ti.Po -include tools/$(DEPDIR)/hciattach_tialt.Po -include tools/$(DEPDIR)/hciconfig.Po -include tools/$(DEPDIR)/hcidump.Po -include tools/$(DEPDIR)/hcieventmask.Po -include tools/$(DEPDIR)/hcisecfilter.Po -include tools/$(DEPDIR)/hcitool.Po -include tools/$(DEPDIR)/hid2hci.Po -include tools/$(DEPDIR)/hwdb.Po -include tools/$(DEPDIR)/l2ping.Po -include tools/$(DEPDIR)/l2test.Po -include tools/$(DEPDIR)/mgmt-tester.Po -include tools/$(DEPDIR)/mpris-player.Po -include tools/$(DEPDIR)/obex-client-tool.Po -include tools/$(DEPDIR)/obex-server-tool.Po -include tools/$(DEPDIR)/rctest.Po -include tools/$(DEPDIR)/rfcomm.Po -include tools/$(DEPDIR)/scotest.Po -include tools/$(DEPDIR)/sdptool.Po -include tools/$(DEPDIR)/ubcsp.Po -include tools/parser/$(DEPDIR)/amp.Po -include tools/parser/$(DEPDIR)/att.Po -include tools/parser/$(DEPDIR)/avctp.Po -include tools/parser/$(DEPDIR)/avdtp.Po -include tools/parser/$(DEPDIR)/avrcp.Po -include tools/parser/$(DEPDIR)/bnep.Po -include tools/parser/$(DEPDIR)/bpa.Po -include tools/parser/$(DEPDIR)/capi.Po -include tools/parser/$(DEPDIR)/cmtp.Po -include tools/parser/$(DEPDIR)/csr.Po -include tools/parser/$(DEPDIR)/ericsson.Po -include tools/parser/$(DEPDIR)/hci.Po -include tools/parser/$(DEPDIR)/hcrp.Po -include tools/parser/$(DEPDIR)/hidp.Po -include tools/parser/$(DEPDIR)/l2cap.Po -include tools/parser/$(DEPDIR)/lmp.Po -include tools/parser/$(DEPDIR)/obex.Po -include tools/parser/$(DEPDIR)/parser.Po -include tools/parser/$(DEPDIR)/ppp.Po -include tools/parser/$(DEPDIR)/rfcomm.Po -include tools/parser/$(DEPDIR)/sap.Po -include tools/parser/$(DEPDIR)/sdp.Po -include tools/parser/$(DEPDIR)/smp.Po -include tools/parser/$(DEPDIR)/tcpip.Po -include unit/$(DEPDIR)/test-eir.Po -include unit/$(DEPDIR)/test-gdbus-client.Po -include unit/$(DEPDIR)/test-gobex-apparam.Po -include unit/$(DEPDIR)/test-gobex-header.Po -include unit/$(DEPDIR)/test-gobex-packet.Po -include unit/$(DEPDIR)/test-gobex-transfer.Po -include unit/$(DEPDIR)/test-gobex.Po -include unit/$(DEPDIR)/test-lib.Po -include unit/$(DEPDIR)/test-mgmt.Po -include unit/$(DEPDIR)/test-sdp.Po -include unit/$(DEPDIR)/test-textfile.Po -include unit/$(DEPDIR)/test-uuid.Po -include unit/$(DEPDIR)/util.Po - -.c.o: - $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ - $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ - $(am__mv) $$depbase.Tpo $$depbase.Po -# $(AM_V_CC)source='$<' object='$@' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(COMPILE) -c -o $@ $< - -.c.obj: - $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\ - $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\ - $(am__mv) $$depbase.Tpo $$depbase.Po -# $(AM_V_CC)source='$<' object='$@' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` - -.c.lo: - $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\ - $(LTCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ - $(am__mv) $$depbase.Tpo $$depbase.Plo -# $(AM_V_CC)source='$<' object='$@' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LTCOMPILE) -c -o $@ $< - -plugins/plugins_external_dummy_la-external-dummy.lo: plugins/external-dummy.c - $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(plugins_external_dummy_la_CFLAGS) $(CFLAGS) -MT plugins/plugins_external_dummy_la-external-dummy.lo -MD -MP -MF plugins/$(DEPDIR)/plugins_external_dummy_la-external-dummy.Tpo -c -o plugins/plugins_external_dummy_la-external-dummy.lo `test -f 'plugins/external-dummy.c' || echo '$(srcdir)/'`plugins/external-dummy.c - $(AM_V_at)$(am__mv) plugins/$(DEPDIR)/plugins_external_dummy_la-external-dummy.Tpo plugins/$(DEPDIR)/plugins_external_dummy_la-external-dummy.Plo -# $(AM_V_CC)source='plugins/external-dummy.c' object='plugins/plugins_external_dummy_la-external-dummy.lo' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(plugins_external_dummy_la_CFLAGS) $(CFLAGS) -c -o plugins/plugins_external_dummy_la-external-dummy.lo `test -f 'plugins/external-dummy.c' || echo '$(srcdir)/'`plugins/external-dummy.c - -gdbus/obexd-mainloop.o: gdbus/mainloop.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT gdbus/obexd-mainloop.o -MD -MP -MF gdbus/$(DEPDIR)/obexd-mainloop.Tpo -c -o gdbus/obexd-mainloop.o `test -f 'gdbus/mainloop.c' || echo '$(srcdir)/'`gdbus/mainloop.c - $(AM_V_at)$(am__mv) gdbus/$(DEPDIR)/obexd-mainloop.Tpo gdbus/$(DEPDIR)/obexd-mainloop.Po -# $(AM_V_CC)source='gdbus/mainloop.c' object='gdbus/obexd-mainloop.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o gdbus/obexd-mainloop.o `test -f 'gdbus/mainloop.c' || echo '$(srcdir)/'`gdbus/mainloop.c - -gdbus/obexd-mainloop.obj: gdbus/mainloop.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT gdbus/obexd-mainloop.obj -MD -MP -MF gdbus/$(DEPDIR)/obexd-mainloop.Tpo -c -o gdbus/obexd-mainloop.obj `if test -f 'gdbus/mainloop.c'; then $(CYGPATH_W) 'gdbus/mainloop.c'; else $(CYGPATH_W) '$(srcdir)/gdbus/mainloop.c'; fi` - $(AM_V_at)$(am__mv) gdbus/$(DEPDIR)/obexd-mainloop.Tpo gdbus/$(DEPDIR)/obexd-mainloop.Po -# $(AM_V_CC)source='gdbus/mainloop.c' object='gdbus/obexd-mainloop.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o gdbus/obexd-mainloop.obj `if test -f 'gdbus/mainloop.c'; then $(CYGPATH_W) 'gdbus/mainloop.c'; else $(CYGPATH_W) '$(srcdir)/gdbus/mainloop.c'; fi` - -gdbus/obexd-watch.o: gdbus/watch.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT gdbus/obexd-watch.o -MD -MP -MF gdbus/$(DEPDIR)/obexd-watch.Tpo -c -o gdbus/obexd-watch.o `test -f 'gdbus/watch.c' || echo '$(srcdir)/'`gdbus/watch.c - $(AM_V_at)$(am__mv) gdbus/$(DEPDIR)/obexd-watch.Tpo gdbus/$(DEPDIR)/obexd-watch.Po -# $(AM_V_CC)source='gdbus/watch.c' object='gdbus/obexd-watch.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o gdbus/obexd-watch.o `test -f 'gdbus/watch.c' || echo '$(srcdir)/'`gdbus/watch.c - -gdbus/obexd-watch.obj: gdbus/watch.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT gdbus/obexd-watch.obj -MD -MP -MF gdbus/$(DEPDIR)/obexd-watch.Tpo -c -o gdbus/obexd-watch.obj `if test -f 'gdbus/watch.c'; then $(CYGPATH_W) 'gdbus/watch.c'; else $(CYGPATH_W) '$(srcdir)/gdbus/watch.c'; fi` - $(AM_V_at)$(am__mv) gdbus/$(DEPDIR)/obexd-watch.Tpo gdbus/$(DEPDIR)/obexd-watch.Po -# $(AM_V_CC)source='gdbus/watch.c' object='gdbus/obexd-watch.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o gdbus/obexd-watch.obj `if test -f 'gdbus/watch.c'; then $(CYGPATH_W) 'gdbus/watch.c'; else $(CYGPATH_W) '$(srcdir)/gdbus/watch.c'; fi` - -gdbus/obexd-object.o: gdbus/object.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT gdbus/obexd-object.o -MD -MP -MF gdbus/$(DEPDIR)/obexd-object.Tpo -c -o gdbus/obexd-object.o `test -f 'gdbus/object.c' || echo '$(srcdir)/'`gdbus/object.c - $(AM_V_at)$(am__mv) gdbus/$(DEPDIR)/obexd-object.Tpo gdbus/$(DEPDIR)/obexd-object.Po -# $(AM_V_CC)source='gdbus/object.c' object='gdbus/obexd-object.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o gdbus/obexd-object.o `test -f 'gdbus/object.c' || echo '$(srcdir)/'`gdbus/object.c - -gdbus/obexd-object.obj: gdbus/object.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT gdbus/obexd-object.obj -MD -MP -MF gdbus/$(DEPDIR)/obexd-object.Tpo -c -o gdbus/obexd-object.obj `if test -f 'gdbus/object.c'; then $(CYGPATH_W) 'gdbus/object.c'; else $(CYGPATH_W) '$(srcdir)/gdbus/object.c'; fi` - $(AM_V_at)$(am__mv) gdbus/$(DEPDIR)/obexd-object.Tpo gdbus/$(DEPDIR)/obexd-object.Po -# $(AM_V_CC)source='gdbus/object.c' object='gdbus/obexd-object.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o gdbus/obexd-object.obj `if test -f 'gdbus/object.c'; then $(CYGPATH_W) 'gdbus/object.c'; else $(CYGPATH_W) '$(srcdir)/gdbus/object.c'; fi` - -gdbus/obexd-client.o: gdbus/client.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT gdbus/obexd-client.o -MD -MP -MF gdbus/$(DEPDIR)/obexd-client.Tpo -c -o gdbus/obexd-client.o `test -f 'gdbus/client.c' || echo '$(srcdir)/'`gdbus/client.c - $(AM_V_at)$(am__mv) gdbus/$(DEPDIR)/obexd-client.Tpo gdbus/$(DEPDIR)/obexd-client.Po -# $(AM_V_CC)source='gdbus/client.c' object='gdbus/obexd-client.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o gdbus/obexd-client.o `test -f 'gdbus/client.c' || echo '$(srcdir)/'`gdbus/client.c - -gdbus/obexd-client.obj: gdbus/client.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT gdbus/obexd-client.obj -MD -MP -MF gdbus/$(DEPDIR)/obexd-client.Tpo -c -o gdbus/obexd-client.obj `if test -f 'gdbus/client.c'; then $(CYGPATH_W) 'gdbus/client.c'; else $(CYGPATH_W) '$(srcdir)/gdbus/client.c'; fi` - $(AM_V_at)$(am__mv) gdbus/$(DEPDIR)/obexd-client.Tpo gdbus/$(DEPDIR)/obexd-client.Po -# $(AM_V_CC)source='gdbus/client.c' object='gdbus/obexd-client.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o gdbus/obexd-client.obj `if test -f 'gdbus/client.c'; then $(CYGPATH_W) 'gdbus/client.c'; else $(CYGPATH_W) '$(srcdir)/gdbus/client.c'; fi` - -gdbus/obexd-polkit.o: gdbus/polkit.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT gdbus/obexd-polkit.o -MD -MP -MF gdbus/$(DEPDIR)/obexd-polkit.Tpo -c -o gdbus/obexd-polkit.o `test -f 'gdbus/polkit.c' || echo '$(srcdir)/'`gdbus/polkit.c - $(AM_V_at)$(am__mv) gdbus/$(DEPDIR)/obexd-polkit.Tpo gdbus/$(DEPDIR)/obexd-polkit.Po -# $(AM_V_CC)source='gdbus/polkit.c' object='gdbus/obexd-polkit.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o gdbus/obexd-polkit.o `test -f 'gdbus/polkit.c' || echo '$(srcdir)/'`gdbus/polkit.c - -gdbus/obexd-polkit.obj: gdbus/polkit.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT gdbus/obexd-polkit.obj -MD -MP -MF gdbus/$(DEPDIR)/obexd-polkit.Tpo -c -o gdbus/obexd-polkit.obj `if test -f 'gdbus/polkit.c'; then $(CYGPATH_W) 'gdbus/polkit.c'; else $(CYGPATH_W) '$(srcdir)/gdbus/polkit.c'; fi` - $(AM_V_at)$(am__mv) gdbus/$(DEPDIR)/obexd-polkit.Tpo gdbus/$(DEPDIR)/obexd-polkit.Po -# $(AM_V_CC)source='gdbus/polkit.c' object='gdbus/obexd-polkit.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o gdbus/obexd-polkit.obj `if test -f 'gdbus/polkit.c'; then $(CYGPATH_W) 'gdbus/polkit.c'; else $(CYGPATH_W) '$(srcdir)/gdbus/polkit.c'; fi` - -btio/obexd-btio.o: btio/btio.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT btio/obexd-btio.o -MD -MP -MF btio/$(DEPDIR)/obexd-btio.Tpo -c -o btio/obexd-btio.o `test -f 'btio/btio.c' || echo '$(srcdir)/'`btio/btio.c - $(AM_V_at)$(am__mv) btio/$(DEPDIR)/obexd-btio.Tpo btio/$(DEPDIR)/obexd-btio.Po -# $(AM_V_CC)source='btio/btio.c' object='btio/obexd-btio.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o btio/obexd-btio.o `test -f 'btio/btio.c' || echo '$(srcdir)/'`btio/btio.c - -btio/obexd-btio.obj: btio/btio.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT btio/obexd-btio.obj -MD -MP -MF btio/$(DEPDIR)/obexd-btio.Tpo -c -o btio/obexd-btio.obj `if test -f 'btio/btio.c'; then $(CYGPATH_W) 'btio/btio.c'; else $(CYGPATH_W) '$(srcdir)/btio/btio.c'; fi` - $(AM_V_at)$(am__mv) btio/$(DEPDIR)/obexd-btio.Tpo btio/$(DEPDIR)/obexd-btio.Po -# $(AM_V_CC)source='btio/btio.c' object='btio/obexd-btio.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o btio/obexd-btio.obj `if test -f 'btio/btio.c'; then $(CYGPATH_W) 'btio/btio.c'; else $(CYGPATH_W) '$(srcdir)/btio/btio.c'; fi` - -gobex/obexd-gobex.o: gobex/gobex.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT gobex/obexd-gobex.o -MD -MP -MF gobex/$(DEPDIR)/obexd-gobex.Tpo -c -o gobex/obexd-gobex.o `test -f 'gobex/gobex.c' || echo '$(srcdir)/'`gobex/gobex.c - $(AM_V_at)$(am__mv) gobex/$(DEPDIR)/obexd-gobex.Tpo gobex/$(DEPDIR)/obexd-gobex.Po -# $(AM_V_CC)source='gobex/gobex.c' object='gobex/obexd-gobex.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o gobex/obexd-gobex.o `test -f 'gobex/gobex.c' || echo '$(srcdir)/'`gobex/gobex.c - -gobex/obexd-gobex.obj: gobex/gobex.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT gobex/obexd-gobex.obj -MD -MP -MF gobex/$(DEPDIR)/obexd-gobex.Tpo -c -o gobex/obexd-gobex.obj `if test -f 'gobex/gobex.c'; then $(CYGPATH_W) 'gobex/gobex.c'; else $(CYGPATH_W) '$(srcdir)/gobex/gobex.c'; fi` - $(AM_V_at)$(am__mv) gobex/$(DEPDIR)/obexd-gobex.Tpo gobex/$(DEPDIR)/obexd-gobex.Po -# $(AM_V_CC)source='gobex/gobex.c' object='gobex/obexd-gobex.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o gobex/obexd-gobex.obj `if test -f 'gobex/gobex.c'; then $(CYGPATH_W) 'gobex/gobex.c'; else $(CYGPATH_W) '$(srcdir)/gobex/gobex.c'; fi` - -gobex/obexd-gobex-defs.o: gobex/gobex-defs.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT gobex/obexd-gobex-defs.o -MD -MP -MF gobex/$(DEPDIR)/obexd-gobex-defs.Tpo -c -o gobex/obexd-gobex-defs.o `test -f 'gobex/gobex-defs.c' || echo '$(srcdir)/'`gobex/gobex-defs.c - $(AM_V_at)$(am__mv) gobex/$(DEPDIR)/obexd-gobex-defs.Tpo gobex/$(DEPDIR)/obexd-gobex-defs.Po -# $(AM_V_CC)source='gobex/gobex-defs.c' object='gobex/obexd-gobex-defs.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o gobex/obexd-gobex-defs.o `test -f 'gobex/gobex-defs.c' || echo '$(srcdir)/'`gobex/gobex-defs.c - -gobex/obexd-gobex-defs.obj: gobex/gobex-defs.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT gobex/obexd-gobex-defs.obj -MD -MP -MF gobex/$(DEPDIR)/obexd-gobex-defs.Tpo -c -o gobex/obexd-gobex-defs.obj `if test -f 'gobex/gobex-defs.c'; then $(CYGPATH_W) 'gobex/gobex-defs.c'; else $(CYGPATH_W) '$(srcdir)/gobex/gobex-defs.c'; fi` - $(AM_V_at)$(am__mv) gobex/$(DEPDIR)/obexd-gobex-defs.Tpo gobex/$(DEPDIR)/obexd-gobex-defs.Po -# $(AM_V_CC)source='gobex/gobex-defs.c' object='gobex/obexd-gobex-defs.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o gobex/obexd-gobex-defs.obj `if test -f 'gobex/gobex-defs.c'; then $(CYGPATH_W) 'gobex/gobex-defs.c'; else $(CYGPATH_W) '$(srcdir)/gobex/gobex-defs.c'; fi` - -gobex/obexd-gobex-packet.o: gobex/gobex-packet.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT gobex/obexd-gobex-packet.o -MD -MP -MF gobex/$(DEPDIR)/obexd-gobex-packet.Tpo -c -o gobex/obexd-gobex-packet.o `test -f 'gobex/gobex-packet.c' || echo '$(srcdir)/'`gobex/gobex-packet.c - $(AM_V_at)$(am__mv) gobex/$(DEPDIR)/obexd-gobex-packet.Tpo gobex/$(DEPDIR)/obexd-gobex-packet.Po -# $(AM_V_CC)source='gobex/gobex-packet.c' object='gobex/obexd-gobex-packet.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o gobex/obexd-gobex-packet.o `test -f 'gobex/gobex-packet.c' || echo '$(srcdir)/'`gobex/gobex-packet.c - -gobex/obexd-gobex-packet.obj: gobex/gobex-packet.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT gobex/obexd-gobex-packet.obj -MD -MP -MF gobex/$(DEPDIR)/obexd-gobex-packet.Tpo -c -o gobex/obexd-gobex-packet.obj `if test -f 'gobex/gobex-packet.c'; then $(CYGPATH_W) 'gobex/gobex-packet.c'; else $(CYGPATH_W) '$(srcdir)/gobex/gobex-packet.c'; fi` - $(AM_V_at)$(am__mv) gobex/$(DEPDIR)/obexd-gobex-packet.Tpo gobex/$(DEPDIR)/obexd-gobex-packet.Po -# $(AM_V_CC)source='gobex/gobex-packet.c' object='gobex/obexd-gobex-packet.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o gobex/obexd-gobex-packet.obj `if test -f 'gobex/gobex-packet.c'; then $(CYGPATH_W) 'gobex/gobex-packet.c'; else $(CYGPATH_W) '$(srcdir)/gobex/gobex-packet.c'; fi` - -gobex/obexd-gobex-header.o: gobex/gobex-header.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT gobex/obexd-gobex-header.o -MD -MP -MF gobex/$(DEPDIR)/obexd-gobex-header.Tpo -c -o gobex/obexd-gobex-header.o `test -f 'gobex/gobex-header.c' || echo '$(srcdir)/'`gobex/gobex-header.c - $(AM_V_at)$(am__mv) gobex/$(DEPDIR)/obexd-gobex-header.Tpo gobex/$(DEPDIR)/obexd-gobex-header.Po -# $(AM_V_CC)source='gobex/gobex-header.c' object='gobex/obexd-gobex-header.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o gobex/obexd-gobex-header.o `test -f 'gobex/gobex-header.c' || echo '$(srcdir)/'`gobex/gobex-header.c - -gobex/obexd-gobex-header.obj: gobex/gobex-header.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT gobex/obexd-gobex-header.obj -MD -MP -MF gobex/$(DEPDIR)/obexd-gobex-header.Tpo -c -o gobex/obexd-gobex-header.obj `if test -f 'gobex/gobex-header.c'; then $(CYGPATH_W) 'gobex/gobex-header.c'; else $(CYGPATH_W) '$(srcdir)/gobex/gobex-header.c'; fi` - $(AM_V_at)$(am__mv) gobex/$(DEPDIR)/obexd-gobex-header.Tpo gobex/$(DEPDIR)/obexd-gobex-header.Po -# $(AM_V_CC)source='gobex/gobex-header.c' object='gobex/obexd-gobex-header.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o gobex/obexd-gobex-header.obj `if test -f 'gobex/gobex-header.c'; then $(CYGPATH_W) 'gobex/gobex-header.c'; else $(CYGPATH_W) '$(srcdir)/gobex/gobex-header.c'; fi` - -gobex/obexd-gobex-transfer.o: gobex/gobex-transfer.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT gobex/obexd-gobex-transfer.o -MD -MP -MF gobex/$(DEPDIR)/obexd-gobex-transfer.Tpo -c -o gobex/obexd-gobex-transfer.o `test -f 'gobex/gobex-transfer.c' || echo '$(srcdir)/'`gobex/gobex-transfer.c - $(AM_V_at)$(am__mv) gobex/$(DEPDIR)/obexd-gobex-transfer.Tpo gobex/$(DEPDIR)/obexd-gobex-transfer.Po -# $(AM_V_CC)source='gobex/gobex-transfer.c' object='gobex/obexd-gobex-transfer.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o gobex/obexd-gobex-transfer.o `test -f 'gobex/gobex-transfer.c' || echo '$(srcdir)/'`gobex/gobex-transfer.c - -gobex/obexd-gobex-transfer.obj: gobex/gobex-transfer.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT gobex/obexd-gobex-transfer.obj -MD -MP -MF gobex/$(DEPDIR)/obexd-gobex-transfer.Tpo -c -o gobex/obexd-gobex-transfer.obj `if test -f 'gobex/gobex-transfer.c'; then $(CYGPATH_W) 'gobex/gobex-transfer.c'; else $(CYGPATH_W) '$(srcdir)/gobex/gobex-transfer.c'; fi` - $(AM_V_at)$(am__mv) gobex/$(DEPDIR)/obexd-gobex-transfer.Tpo gobex/$(DEPDIR)/obexd-gobex-transfer.Po -# $(AM_V_CC)source='gobex/gobex-transfer.c' object='gobex/obexd-gobex-transfer.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o gobex/obexd-gobex-transfer.obj `if test -f 'gobex/gobex-transfer.c'; then $(CYGPATH_W) 'gobex/gobex-transfer.c'; else $(CYGPATH_W) '$(srcdir)/gobex/gobex-transfer.c'; fi` - -gobex/obexd-gobex-apparam.o: gobex/gobex-apparam.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT gobex/obexd-gobex-apparam.o -MD -MP -MF gobex/$(DEPDIR)/obexd-gobex-apparam.Tpo -c -o gobex/obexd-gobex-apparam.o `test -f 'gobex/gobex-apparam.c' || echo '$(srcdir)/'`gobex/gobex-apparam.c - $(AM_V_at)$(am__mv) gobex/$(DEPDIR)/obexd-gobex-apparam.Tpo gobex/$(DEPDIR)/obexd-gobex-apparam.Po -# $(AM_V_CC)source='gobex/gobex-apparam.c' object='gobex/obexd-gobex-apparam.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o gobex/obexd-gobex-apparam.o `test -f 'gobex/gobex-apparam.c' || echo '$(srcdir)/'`gobex/gobex-apparam.c - -gobex/obexd-gobex-apparam.obj: gobex/gobex-apparam.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT gobex/obexd-gobex-apparam.obj -MD -MP -MF gobex/$(DEPDIR)/obexd-gobex-apparam.Tpo -c -o gobex/obexd-gobex-apparam.obj `if test -f 'gobex/gobex-apparam.c'; then $(CYGPATH_W) 'gobex/gobex-apparam.c'; else $(CYGPATH_W) '$(srcdir)/gobex/gobex-apparam.c'; fi` - $(AM_V_at)$(am__mv) gobex/$(DEPDIR)/obexd-gobex-apparam.Tpo gobex/$(DEPDIR)/obexd-gobex-apparam.Po -# $(AM_V_CC)source='gobex/gobex-apparam.c' object='gobex/obexd-gobex-apparam.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o gobex/obexd-gobex-apparam.obj `if test -f 'gobex/gobex-apparam.c'; then $(CYGPATH_W) 'gobex/gobex-apparam.c'; else $(CYGPATH_W) '$(srcdir)/gobex/gobex-apparam.c'; fi` - -obexd/plugins/obexd-filesystem.o: obexd/plugins/filesystem.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT obexd/plugins/obexd-filesystem.o -MD -MP -MF obexd/plugins/$(DEPDIR)/obexd-filesystem.Tpo -c -o obexd/plugins/obexd-filesystem.o `test -f 'obexd/plugins/filesystem.c' || echo '$(srcdir)/'`obexd/plugins/filesystem.c - $(AM_V_at)$(am__mv) obexd/plugins/$(DEPDIR)/obexd-filesystem.Tpo obexd/plugins/$(DEPDIR)/obexd-filesystem.Po -# $(AM_V_CC)source='obexd/plugins/filesystem.c' object='obexd/plugins/obexd-filesystem.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o obexd/plugins/obexd-filesystem.o `test -f 'obexd/plugins/filesystem.c' || echo '$(srcdir)/'`obexd/plugins/filesystem.c - -obexd/plugins/obexd-filesystem.obj: obexd/plugins/filesystem.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT obexd/plugins/obexd-filesystem.obj -MD -MP -MF obexd/plugins/$(DEPDIR)/obexd-filesystem.Tpo -c -o obexd/plugins/obexd-filesystem.obj `if test -f 'obexd/plugins/filesystem.c'; then $(CYGPATH_W) 'obexd/plugins/filesystem.c'; else $(CYGPATH_W) '$(srcdir)/obexd/plugins/filesystem.c'; fi` - $(AM_V_at)$(am__mv) obexd/plugins/$(DEPDIR)/obexd-filesystem.Tpo obexd/plugins/$(DEPDIR)/obexd-filesystem.Po -# $(AM_V_CC)source='obexd/plugins/filesystem.c' object='obexd/plugins/obexd-filesystem.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o obexd/plugins/obexd-filesystem.obj `if test -f 'obexd/plugins/filesystem.c'; then $(CYGPATH_W) 'obexd/plugins/filesystem.c'; else $(CYGPATH_W) '$(srcdir)/obexd/plugins/filesystem.c'; fi` - -obexd/plugins/obexd-bluetooth.o: obexd/plugins/bluetooth.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT obexd/plugins/obexd-bluetooth.o -MD -MP -MF obexd/plugins/$(DEPDIR)/obexd-bluetooth.Tpo -c -o obexd/plugins/obexd-bluetooth.o `test -f 'obexd/plugins/bluetooth.c' || echo '$(srcdir)/'`obexd/plugins/bluetooth.c - $(AM_V_at)$(am__mv) obexd/plugins/$(DEPDIR)/obexd-bluetooth.Tpo obexd/plugins/$(DEPDIR)/obexd-bluetooth.Po -# $(AM_V_CC)source='obexd/plugins/bluetooth.c' object='obexd/plugins/obexd-bluetooth.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o obexd/plugins/obexd-bluetooth.o `test -f 'obexd/plugins/bluetooth.c' || echo '$(srcdir)/'`obexd/plugins/bluetooth.c - -obexd/plugins/obexd-bluetooth.obj: obexd/plugins/bluetooth.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT obexd/plugins/obexd-bluetooth.obj -MD -MP -MF obexd/plugins/$(DEPDIR)/obexd-bluetooth.Tpo -c -o obexd/plugins/obexd-bluetooth.obj `if test -f 'obexd/plugins/bluetooth.c'; then $(CYGPATH_W) 'obexd/plugins/bluetooth.c'; else $(CYGPATH_W) '$(srcdir)/obexd/plugins/bluetooth.c'; fi` - $(AM_V_at)$(am__mv) obexd/plugins/$(DEPDIR)/obexd-bluetooth.Tpo obexd/plugins/$(DEPDIR)/obexd-bluetooth.Po -# $(AM_V_CC)source='obexd/plugins/bluetooth.c' object='obexd/plugins/obexd-bluetooth.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o obexd/plugins/obexd-bluetooth.obj `if test -f 'obexd/plugins/bluetooth.c'; then $(CYGPATH_W) 'obexd/plugins/bluetooth.c'; else $(CYGPATH_W) '$(srcdir)/obexd/plugins/bluetooth.c'; fi` - -obexd/plugins/obexd-pcsuite.o: obexd/plugins/pcsuite.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT obexd/plugins/obexd-pcsuite.o -MD -MP -MF obexd/plugins/$(DEPDIR)/obexd-pcsuite.Tpo -c -o obexd/plugins/obexd-pcsuite.o `test -f 'obexd/plugins/pcsuite.c' || echo '$(srcdir)/'`obexd/plugins/pcsuite.c - $(AM_V_at)$(am__mv) obexd/plugins/$(DEPDIR)/obexd-pcsuite.Tpo obexd/plugins/$(DEPDIR)/obexd-pcsuite.Po -# $(AM_V_CC)source='obexd/plugins/pcsuite.c' object='obexd/plugins/obexd-pcsuite.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o obexd/plugins/obexd-pcsuite.o `test -f 'obexd/plugins/pcsuite.c' || echo '$(srcdir)/'`obexd/plugins/pcsuite.c - -obexd/plugins/obexd-pcsuite.obj: obexd/plugins/pcsuite.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT obexd/plugins/obexd-pcsuite.obj -MD -MP -MF obexd/plugins/$(DEPDIR)/obexd-pcsuite.Tpo -c -o obexd/plugins/obexd-pcsuite.obj `if test -f 'obexd/plugins/pcsuite.c'; then $(CYGPATH_W) 'obexd/plugins/pcsuite.c'; else $(CYGPATH_W) '$(srcdir)/obexd/plugins/pcsuite.c'; fi` - $(AM_V_at)$(am__mv) obexd/plugins/$(DEPDIR)/obexd-pcsuite.Tpo obexd/plugins/$(DEPDIR)/obexd-pcsuite.Po -# $(AM_V_CC)source='obexd/plugins/pcsuite.c' object='obexd/plugins/obexd-pcsuite.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o obexd/plugins/obexd-pcsuite.obj `if test -f 'obexd/plugins/pcsuite.c'; then $(CYGPATH_W) 'obexd/plugins/pcsuite.c'; else $(CYGPATH_W) '$(srcdir)/obexd/plugins/pcsuite.c'; fi` - -obexd/plugins/obexd-opp.o: obexd/plugins/opp.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT obexd/plugins/obexd-opp.o -MD -MP -MF obexd/plugins/$(DEPDIR)/obexd-opp.Tpo -c -o obexd/plugins/obexd-opp.o `test -f 'obexd/plugins/opp.c' || echo '$(srcdir)/'`obexd/plugins/opp.c - $(AM_V_at)$(am__mv) obexd/plugins/$(DEPDIR)/obexd-opp.Tpo obexd/plugins/$(DEPDIR)/obexd-opp.Po -# $(AM_V_CC)source='obexd/plugins/opp.c' object='obexd/plugins/obexd-opp.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o obexd/plugins/obexd-opp.o `test -f 'obexd/plugins/opp.c' || echo '$(srcdir)/'`obexd/plugins/opp.c - -obexd/plugins/obexd-opp.obj: obexd/plugins/opp.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT obexd/plugins/obexd-opp.obj -MD -MP -MF obexd/plugins/$(DEPDIR)/obexd-opp.Tpo -c -o obexd/plugins/obexd-opp.obj `if test -f 'obexd/plugins/opp.c'; then $(CYGPATH_W) 'obexd/plugins/opp.c'; else $(CYGPATH_W) '$(srcdir)/obexd/plugins/opp.c'; fi` - $(AM_V_at)$(am__mv) obexd/plugins/$(DEPDIR)/obexd-opp.Tpo obexd/plugins/$(DEPDIR)/obexd-opp.Po -# $(AM_V_CC)source='obexd/plugins/opp.c' object='obexd/plugins/obexd-opp.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o obexd/plugins/obexd-opp.obj `if test -f 'obexd/plugins/opp.c'; then $(CYGPATH_W) 'obexd/plugins/opp.c'; else $(CYGPATH_W) '$(srcdir)/obexd/plugins/opp.c'; fi` - -obexd/plugins/obexd-ftp.o: obexd/plugins/ftp.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT obexd/plugins/obexd-ftp.o -MD -MP -MF obexd/plugins/$(DEPDIR)/obexd-ftp.Tpo -c -o obexd/plugins/obexd-ftp.o `test -f 'obexd/plugins/ftp.c' || echo '$(srcdir)/'`obexd/plugins/ftp.c - $(AM_V_at)$(am__mv) obexd/plugins/$(DEPDIR)/obexd-ftp.Tpo obexd/plugins/$(DEPDIR)/obexd-ftp.Po -# $(AM_V_CC)source='obexd/plugins/ftp.c' object='obexd/plugins/obexd-ftp.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o obexd/plugins/obexd-ftp.o `test -f 'obexd/plugins/ftp.c' || echo '$(srcdir)/'`obexd/plugins/ftp.c - -obexd/plugins/obexd-ftp.obj: obexd/plugins/ftp.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT obexd/plugins/obexd-ftp.obj -MD -MP -MF obexd/plugins/$(DEPDIR)/obexd-ftp.Tpo -c -o obexd/plugins/obexd-ftp.obj `if test -f 'obexd/plugins/ftp.c'; then $(CYGPATH_W) 'obexd/plugins/ftp.c'; else $(CYGPATH_W) '$(srcdir)/obexd/plugins/ftp.c'; fi` - $(AM_V_at)$(am__mv) obexd/plugins/$(DEPDIR)/obexd-ftp.Tpo obexd/plugins/$(DEPDIR)/obexd-ftp.Po -# $(AM_V_CC)source='obexd/plugins/ftp.c' object='obexd/plugins/obexd-ftp.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o obexd/plugins/obexd-ftp.obj `if test -f 'obexd/plugins/ftp.c'; then $(CYGPATH_W) 'obexd/plugins/ftp.c'; else $(CYGPATH_W) '$(srcdir)/obexd/plugins/ftp.c'; fi` - -obexd/plugins/obexd-irmc.o: obexd/plugins/irmc.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT obexd/plugins/obexd-irmc.o -MD -MP -MF obexd/plugins/$(DEPDIR)/obexd-irmc.Tpo -c -o obexd/plugins/obexd-irmc.o `test -f 'obexd/plugins/irmc.c' || echo '$(srcdir)/'`obexd/plugins/irmc.c - $(AM_V_at)$(am__mv) obexd/plugins/$(DEPDIR)/obexd-irmc.Tpo obexd/plugins/$(DEPDIR)/obexd-irmc.Po -# $(AM_V_CC)source='obexd/plugins/irmc.c' object='obexd/plugins/obexd-irmc.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o obexd/plugins/obexd-irmc.o `test -f 'obexd/plugins/irmc.c' || echo '$(srcdir)/'`obexd/plugins/irmc.c - -obexd/plugins/obexd-irmc.obj: obexd/plugins/irmc.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT obexd/plugins/obexd-irmc.obj -MD -MP -MF obexd/plugins/$(DEPDIR)/obexd-irmc.Tpo -c -o obexd/plugins/obexd-irmc.obj `if test -f 'obexd/plugins/irmc.c'; then $(CYGPATH_W) 'obexd/plugins/irmc.c'; else $(CYGPATH_W) '$(srcdir)/obexd/plugins/irmc.c'; fi` - $(AM_V_at)$(am__mv) obexd/plugins/$(DEPDIR)/obexd-irmc.Tpo obexd/plugins/$(DEPDIR)/obexd-irmc.Po -# $(AM_V_CC)source='obexd/plugins/irmc.c' object='obexd/plugins/obexd-irmc.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o obexd/plugins/obexd-irmc.obj `if test -f 'obexd/plugins/irmc.c'; then $(CYGPATH_W) 'obexd/plugins/irmc.c'; else $(CYGPATH_W) '$(srcdir)/obexd/plugins/irmc.c'; fi` - -obexd/plugins/obexd-pbap.o: obexd/plugins/pbap.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT obexd/plugins/obexd-pbap.o -MD -MP -MF obexd/plugins/$(DEPDIR)/obexd-pbap.Tpo -c -o obexd/plugins/obexd-pbap.o `test -f 'obexd/plugins/pbap.c' || echo '$(srcdir)/'`obexd/plugins/pbap.c - $(AM_V_at)$(am__mv) obexd/plugins/$(DEPDIR)/obexd-pbap.Tpo obexd/plugins/$(DEPDIR)/obexd-pbap.Po -# $(AM_V_CC)source='obexd/plugins/pbap.c' object='obexd/plugins/obexd-pbap.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o obexd/plugins/obexd-pbap.o `test -f 'obexd/plugins/pbap.c' || echo '$(srcdir)/'`obexd/plugins/pbap.c - -obexd/plugins/obexd-pbap.obj: obexd/plugins/pbap.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT obexd/plugins/obexd-pbap.obj -MD -MP -MF obexd/plugins/$(DEPDIR)/obexd-pbap.Tpo -c -o obexd/plugins/obexd-pbap.obj `if test -f 'obexd/plugins/pbap.c'; then $(CYGPATH_W) 'obexd/plugins/pbap.c'; else $(CYGPATH_W) '$(srcdir)/obexd/plugins/pbap.c'; fi` - $(AM_V_at)$(am__mv) obexd/plugins/$(DEPDIR)/obexd-pbap.Tpo obexd/plugins/$(DEPDIR)/obexd-pbap.Po -# $(AM_V_CC)source='obexd/plugins/pbap.c' object='obexd/plugins/obexd-pbap.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o obexd/plugins/obexd-pbap.obj `if test -f 'obexd/plugins/pbap.c'; then $(CYGPATH_W) 'obexd/plugins/pbap.c'; else $(CYGPATH_W) '$(srcdir)/obexd/plugins/pbap.c'; fi` - -obexd/plugins/obexd-vcard.o: obexd/plugins/vcard.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT obexd/plugins/obexd-vcard.o -MD -MP -MF obexd/plugins/$(DEPDIR)/obexd-vcard.Tpo -c -o obexd/plugins/obexd-vcard.o `test -f 'obexd/plugins/vcard.c' || echo '$(srcdir)/'`obexd/plugins/vcard.c - $(AM_V_at)$(am__mv) obexd/plugins/$(DEPDIR)/obexd-vcard.Tpo obexd/plugins/$(DEPDIR)/obexd-vcard.Po -# $(AM_V_CC)source='obexd/plugins/vcard.c' object='obexd/plugins/obexd-vcard.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o obexd/plugins/obexd-vcard.o `test -f 'obexd/plugins/vcard.c' || echo '$(srcdir)/'`obexd/plugins/vcard.c - -obexd/plugins/obexd-vcard.obj: obexd/plugins/vcard.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT obexd/plugins/obexd-vcard.obj -MD -MP -MF obexd/plugins/$(DEPDIR)/obexd-vcard.Tpo -c -o obexd/plugins/obexd-vcard.obj `if test -f 'obexd/plugins/vcard.c'; then $(CYGPATH_W) 'obexd/plugins/vcard.c'; else $(CYGPATH_W) '$(srcdir)/obexd/plugins/vcard.c'; fi` - $(AM_V_at)$(am__mv) obexd/plugins/$(DEPDIR)/obexd-vcard.Tpo obexd/plugins/$(DEPDIR)/obexd-vcard.Po -# $(AM_V_CC)source='obexd/plugins/vcard.c' object='obexd/plugins/obexd-vcard.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o obexd/plugins/obexd-vcard.obj `if test -f 'obexd/plugins/vcard.c'; then $(CYGPATH_W) 'obexd/plugins/vcard.c'; else $(CYGPATH_W) '$(srcdir)/obexd/plugins/vcard.c'; fi` - -obexd/plugins/obexd-phonebook-dummy.o: obexd/plugins/phonebook-dummy.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT obexd/plugins/obexd-phonebook-dummy.o -MD -MP -MF obexd/plugins/$(DEPDIR)/obexd-phonebook-dummy.Tpo -c -o obexd/plugins/obexd-phonebook-dummy.o `test -f 'obexd/plugins/phonebook-dummy.c' || echo '$(srcdir)/'`obexd/plugins/phonebook-dummy.c - $(AM_V_at)$(am__mv) obexd/plugins/$(DEPDIR)/obexd-phonebook-dummy.Tpo obexd/plugins/$(DEPDIR)/obexd-phonebook-dummy.Po -# $(AM_V_CC)source='obexd/plugins/phonebook-dummy.c' object='obexd/plugins/obexd-phonebook-dummy.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o obexd/plugins/obexd-phonebook-dummy.o `test -f 'obexd/plugins/phonebook-dummy.c' || echo '$(srcdir)/'`obexd/plugins/phonebook-dummy.c - -obexd/plugins/obexd-phonebook-dummy.obj: obexd/plugins/phonebook-dummy.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT obexd/plugins/obexd-phonebook-dummy.obj -MD -MP -MF obexd/plugins/$(DEPDIR)/obexd-phonebook-dummy.Tpo -c -o obexd/plugins/obexd-phonebook-dummy.obj `if test -f 'obexd/plugins/phonebook-dummy.c'; then $(CYGPATH_W) 'obexd/plugins/phonebook-dummy.c'; else $(CYGPATH_W) '$(srcdir)/obexd/plugins/phonebook-dummy.c'; fi` - $(AM_V_at)$(am__mv) obexd/plugins/$(DEPDIR)/obexd-phonebook-dummy.Tpo obexd/plugins/$(DEPDIR)/obexd-phonebook-dummy.Po -# $(AM_V_CC)source='obexd/plugins/phonebook-dummy.c' object='obexd/plugins/obexd-phonebook-dummy.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o obexd/plugins/obexd-phonebook-dummy.obj `if test -f 'obexd/plugins/phonebook-dummy.c'; then $(CYGPATH_W) 'obexd/plugins/phonebook-dummy.c'; else $(CYGPATH_W) '$(srcdir)/obexd/plugins/phonebook-dummy.c'; fi` - -obexd/plugins/obexd-mas.o: obexd/plugins/mas.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT obexd/plugins/obexd-mas.o -MD -MP -MF obexd/plugins/$(DEPDIR)/obexd-mas.Tpo -c -o obexd/plugins/obexd-mas.o `test -f 'obexd/plugins/mas.c' || echo '$(srcdir)/'`obexd/plugins/mas.c - $(AM_V_at)$(am__mv) obexd/plugins/$(DEPDIR)/obexd-mas.Tpo obexd/plugins/$(DEPDIR)/obexd-mas.Po -# $(AM_V_CC)source='obexd/plugins/mas.c' object='obexd/plugins/obexd-mas.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o obexd/plugins/obexd-mas.o `test -f 'obexd/plugins/mas.c' || echo '$(srcdir)/'`obexd/plugins/mas.c - -obexd/plugins/obexd-mas.obj: obexd/plugins/mas.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT obexd/plugins/obexd-mas.obj -MD -MP -MF obexd/plugins/$(DEPDIR)/obexd-mas.Tpo -c -o obexd/plugins/obexd-mas.obj `if test -f 'obexd/plugins/mas.c'; then $(CYGPATH_W) 'obexd/plugins/mas.c'; else $(CYGPATH_W) '$(srcdir)/obexd/plugins/mas.c'; fi` - $(AM_V_at)$(am__mv) obexd/plugins/$(DEPDIR)/obexd-mas.Tpo obexd/plugins/$(DEPDIR)/obexd-mas.Po -# $(AM_V_CC)source='obexd/plugins/mas.c' object='obexd/plugins/obexd-mas.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o obexd/plugins/obexd-mas.obj `if test -f 'obexd/plugins/mas.c'; then $(CYGPATH_W) 'obexd/plugins/mas.c'; else $(CYGPATH_W) '$(srcdir)/obexd/plugins/mas.c'; fi` - -obexd/plugins/obexd-messages-dummy.o: obexd/plugins/messages-dummy.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT obexd/plugins/obexd-messages-dummy.o -MD -MP -MF obexd/plugins/$(DEPDIR)/obexd-messages-dummy.Tpo -c -o obexd/plugins/obexd-messages-dummy.o `test -f 'obexd/plugins/messages-dummy.c' || echo '$(srcdir)/'`obexd/plugins/messages-dummy.c - $(AM_V_at)$(am__mv) obexd/plugins/$(DEPDIR)/obexd-messages-dummy.Tpo obexd/plugins/$(DEPDIR)/obexd-messages-dummy.Po -# $(AM_V_CC)source='obexd/plugins/messages-dummy.c' object='obexd/plugins/obexd-messages-dummy.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o obexd/plugins/obexd-messages-dummy.o `test -f 'obexd/plugins/messages-dummy.c' || echo '$(srcdir)/'`obexd/plugins/messages-dummy.c - -obexd/plugins/obexd-messages-dummy.obj: obexd/plugins/messages-dummy.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT obexd/plugins/obexd-messages-dummy.obj -MD -MP -MF obexd/plugins/$(DEPDIR)/obexd-messages-dummy.Tpo -c -o obexd/plugins/obexd-messages-dummy.obj `if test -f 'obexd/plugins/messages-dummy.c'; then $(CYGPATH_W) 'obexd/plugins/messages-dummy.c'; else $(CYGPATH_W) '$(srcdir)/obexd/plugins/messages-dummy.c'; fi` - $(AM_V_at)$(am__mv) obexd/plugins/$(DEPDIR)/obexd-messages-dummy.Tpo obexd/plugins/$(DEPDIR)/obexd-messages-dummy.Po -# $(AM_V_CC)source='obexd/plugins/messages-dummy.c' object='obexd/plugins/obexd-messages-dummy.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o obexd/plugins/obexd-messages-dummy.obj `if test -f 'obexd/plugins/messages-dummy.c'; then $(CYGPATH_W) 'obexd/plugins/messages-dummy.c'; else $(CYGPATH_W) '$(srcdir)/obexd/plugins/messages-dummy.c'; fi` - -obexd/client/obexd-mns.o: obexd/client/mns.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT obexd/client/obexd-mns.o -MD -MP -MF obexd/client/$(DEPDIR)/obexd-mns.Tpo -c -o obexd/client/obexd-mns.o `test -f 'obexd/client/mns.c' || echo '$(srcdir)/'`obexd/client/mns.c - $(AM_V_at)$(am__mv) obexd/client/$(DEPDIR)/obexd-mns.Tpo obexd/client/$(DEPDIR)/obexd-mns.Po -# $(AM_V_CC)source='obexd/client/mns.c' object='obexd/client/obexd-mns.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o obexd/client/obexd-mns.o `test -f 'obexd/client/mns.c' || echo '$(srcdir)/'`obexd/client/mns.c - -obexd/client/obexd-mns.obj: obexd/client/mns.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT obexd/client/obexd-mns.obj -MD -MP -MF obexd/client/$(DEPDIR)/obexd-mns.Tpo -c -o obexd/client/obexd-mns.obj `if test -f 'obexd/client/mns.c'; then $(CYGPATH_W) 'obexd/client/mns.c'; else $(CYGPATH_W) '$(srcdir)/obexd/client/mns.c'; fi` - $(AM_V_at)$(am__mv) obexd/client/$(DEPDIR)/obexd-mns.Tpo obexd/client/$(DEPDIR)/obexd-mns.Po -# $(AM_V_CC)source='obexd/client/mns.c' object='obexd/client/obexd-mns.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o obexd/client/obexd-mns.obj `if test -f 'obexd/client/mns.c'; then $(CYGPATH_W) 'obexd/client/mns.c'; else $(CYGPATH_W) '$(srcdir)/obexd/client/mns.c'; fi` - -obexd/src/obexd-main.o: obexd/src/main.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT obexd/src/obexd-main.o -MD -MP -MF obexd/src/$(DEPDIR)/obexd-main.Tpo -c -o obexd/src/obexd-main.o `test -f 'obexd/src/main.c' || echo '$(srcdir)/'`obexd/src/main.c - $(AM_V_at)$(am__mv) obexd/src/$(DEPDIR)/obexd-main.Tpo obexd/src/$(DEPDIR)/obexd-main.Po -# $(AM_V_CC)source='obexd/src/main.c' object='obexd/src/obexd-main.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o obexd/src/obexd-main.o `test -f 'obexd/src/main.c' || echo '$(srcdir)/'`obexd/src/main.c - -obexd/src/obexd-main.obj: obexd/src/main.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT obexd/src/obexd-main.obj -MD -MP -MF obexd/src/$(DEPDIR)/obexd-main.Tpo -c -o obexd/src/obexd-main.obj `if test -f 'obexd/src/main.c'; then $(CYGPATH_W) 'obexd/src/main.c'; else $(CYGPATH_W) '$(srcdir)/obexd/src/main.c'; fi` - $(AM_V_at)$(am__mv) obexd/src/$(DEPDIR)/obexd-main.Tpo obexd/src/$(DEPDIR)/obexd-main.Po -# $(AM_V_CC)source='obexd/src/main.c' object='obexd/src/obexd-main.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o obexd/src/obexd-main.obj `if test -f 'obexd/src/main.c'; then $(CYGPATH_W) 'obexd/src/main.c'; else $(CYGPATH_W) '$(srcdir)/obexd/src/main.c'; fi` - -obexd/src/obexd-plugin.o: obexd/src/plugin.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT obexd/src/obexd-plugin.o -MD -MP -MF obexd/src/$(DEPDIR)/obexd-plugin.Tpo -c -o obexd/src/obexd-plugin.o `test -f 'obexd/src/plugin.c' || echo '$(srcdir)/'`obexd/src/plugin.c - $(AM_V_at)$(am__mv) obexd/src/$(DEPDIR)/obexd-plugin.Tpo obexd/src/$(DEPDIR)/obexd-plugin.Po -# $(AM_V_CC)source='obexd/src/plugin.c' object='obexd/src/obexd-plugin.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o obexd/src/obexd-plugin.o `test -f 'obexd/src/plugin.c' || echo '$(srcdir)/'`obexd/src/plugin.c - -obexd/src/obexd-plugin.obj: obexd/src/plugin.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT obexd/src/obexd-plugin.obj -MD -MP -MF obexd/src/$(DEPDIR)/obexd-plugin.Tpo -c -o obexd/src/obexd-plugin.obj `if test -f 'obexd/src/plugin.c'; then $(CYGPATH_W) 'obexd/src/plugin.c'; else $(CYGPATH_W) '$(srcdir)/obexd/src/plugin.c'; fi` - $(AM_V_at)$(am__mv) obexd/src/$(DEPDIR)/obexd-plugin.Tpo obexd/src/$(DEPDIR)/obexd-plugin.Po -# $(AM_V_CC)source='obexd/src/plugin.c' object='obexd/src/obexd-plugin.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o obexd/src/obexd-plugin.obj `if test -f 'obexd/src/plugin.c'; then $(CYGPATH_W) 'obexd/src/plugin.c'; else $(CYGPATH_W) '$(srcdir)/obexd/src/plugin.c'; fi` - -obexd/src/obexd-log.o: obexd/src/log.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT obexd/src/obexd-log.o -MD -MP -MF obexd/src/$(DEPDIR)/obexd-log.Tpo -c -o obexd/src/obexd-log.o `test -f 'obexd/src/log.c' || echo '$(srcdir)/'`obexd/src/log.c - $(AM_V_at)$(am__mv) obexd/src/$(DEPDIR)/obexd-log.Tpo obexd/src/$(DEPDIR)/obexd-log.Po -# $(AM_V_CC)source='obexd/src/log.c' object='obexd/src/obexd-log.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o obexd/src/obexd-log.o `test -f 'obexd/src/log.c' || echo '$(srcdir)/'`obexd/src/log.c - -obexd/src/obexd-log.obj: obexd/src/log.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT obexd/src/obexd-log.obj -MD -MP -MF obexd/src/$(DEPDIR)/obexd-log.Tpo -c -o obexd/src/obexd-log.obj `if test -f 'obexd/src/log.c'; then $(CYGPATH_W) 'obexd/src/log.c'; else $(CYGPATH_W) '$(srcdir)/obexd/src/log.c'; fi` - $(AM_V_at)$(am__mv) obexd/src/$(DEPDIR)/obexd-log.Tpo obexd/src/$(DEPDIR)/obexd-log.Po -# $(AM_V_CC)source='obexd/src/log.c' object='obexd/src/obexd-log.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o obexd/src/obexd-log.obj `if test -f 'obexd/src/log.c'; then $(CYGPATH_W) 'obexd/src/log.c'; else $(CYGPATH_W) '$(srcdir)/obexd/src/log.c'; fi` - -obexd/src/obexd-manager.o: obexd/src/manager.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT obexd/src/obexd-manager.o -MD -MP -MF obexd/src/$(DEPDIR)/obexd-manager.Tpo -c -o obexd/src/obexd-manager.o `test -f 'obexd/src/manager.c' || echo '$(srcdir)/'`obexd/src/manager.c - $(AM_V_at)$(am__mv) obexd/src/$(DEPDIR)/obexd-manager.Tpo obexd/src/$(DEPDIR)/obexd-manager.Po -# $(AM_V_CC)source='obexd/src/manager.c' object='obexd/src/obexd-manager.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o obexd/src/obexd-manager.o `test -f 'obexd/src/manager.c' || echo '$(srcdir)/'`obexd/src/manager.c - -obexd/src/obexd-manager.obj: obexd/src/manager.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT obexd/src/obexd-manager.obj -MD -MP -MF obexd/src/$(DEPDIR)/obexd-manager.Tpo -c -o obexd/src/obexd-manager.obj `if test -f 'obexd/src/manager.c'; then $(CYGPATH_W) 'obexd/src/manager.c'; else $(CYGPATH_W) '$(srcdir)/obexd/src/manager.c'; fi` - $(AM_V_at)$(am__mv) obexd/src/$(DEPDIR)/obexd-manager.Tpo obexd/src/$(DEPDIR)/obexd-manager.Po -# $(AM_V_CC)source='obexd/src/manager.c' object='obexd/src/obexd-manager.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o obexd/src/obexd-manager.obj `if test -f 'obexd/src/manager.c'; then $(CYGPATH_W) 'obexd/src/manager.c'; else $(CYGPATH_W) '$(srcdir)/obexd/src/manager.c'; fi` - -obexd/src/obexd-obex.o: obexd/src/obex.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT obexd/src/obexd-obex.o -MD -MP -MF obexd/src/$(DEPDIR)/obexd-obex.Tpo -c -o obexd/src/obexd-obex.o `test -f 'obexd/src/obex.c' || echo '$(srcdir)/'`obexd/src/obex.c - $(AM_V_at)$(am__mv) obexd/src/$(DEPDIR)/obexd-obex.Tpo obexd/src/$(DEPDIR)/obexd-obex.Po -# $(AM_V_CC)source='obexd/src/obex.c' object='obexd/src/obexd-obex.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o obexd/src/obexd-obex.o `test -f 'obexd/src/obex.c' || echo '$(srcdir)/'`obexd/src/obex.c - -obexd/src/obexd-obex.obj: obexd/src/obex.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT obexd/src/obexd-obex.obj -MD -MP -MF obexd/src/$(DEPDIR)/obexd-obex.Tpo -c -o obexd/src/obexd-obex.obj `if test -f 'obexd/src/obex.c'; then $(CYGPATH_W) 'obexd/src/obex.c'; else $(CYGPATH_W) '$(srcdir)/obexd/src/obex.c'; fi` - $(AM_V_at)$(am__mv) obexd/src/$(DEPDIR)/obexd-obex.Tpo obexd/src/$(DEPDIR)/obexd-obex.Po -# $(AM_V_CC)source='obexd/src/obex.c' object='obexd/src/obexd-obex.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o obexd/src/obexd-obex.obj `if test -f 'obexd/src/obex.c'; then $(CYGPATH_W) 'obexd/src/obex.c'; else $(CYGPATH_W) '$(srcdir)/obexd/src/obex.c'; fi` - -obexd/src/obexd-mimetype.o: obexd/src/mimetype.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT obexd/src/obexd-mimetype.o -MD -MP -MF obexd/src/$(DEPDIR)/obexd-mimetype.Tpo -c -o obexd/src/obexd-mimetype.o `test -f 'obexd/src/mimetype.c' || echo '$(srcdir)/'`obexd/src/mimetype.c - $(AM_V_at)$(am__mv) obexd/src/$(DEPDIR)/obexd-mimetype.Tpo obexd/src/$(DEPDIR)/obexd-mimetype.Po -# $(AM_V_CC)source='obexd/src/mimetype.c' object='obexd/src/obexd-mimetype.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o obexd/src/obexd-mimetype.o `test -f 'obexd/src/mimetype.c' || echo '$(srcdir)/'`obexd/src/mimetype.c - -obexd/src/obexd-mimetype.obj: obexd/src/mimetype.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT obexd/src/obexd-mimetype.obj -MD -MP -MF obexd/src/$(DEPDIR)/obexd-mimetype.Tpo -c -o obexd/src/obexd-mimetype.obj `if test -f 'obexd/src/mimetype.c'; then $(CYGPATH_W) 'obexd/src/mimetype.c'; else $(CYGPATH_W) '$(srcdir)/obexd/src/mimetype.c'; fi` - $(AM_V_at)$(am__mv) obexd/src/$(DEPDIR)/obexd-mimetype.Tpo obexd/src/$(DEPDIR)/obexd-mimetype.Po -# $(AM_V_CC)source='obexd/src/mimetype.c' object='obexd/src/obexd-mimetype.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o obexd/src/obexd-mimetype.obj `if test -f 'obexd/src/mimetype.c'; then $(CYGPATH_W) 'obexd/src/mimetype.c'; else $(CYGPATH_W) '$(srcdir)/obexd/src/mimetype.c'; fi` - -obexd/src/obexd-service.o: obexd/src/service.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT obexd/src/obexd-service.o -MD -MP -MF obexd/src/$(DEPDIR)/obexd-service.Tpo -c -o obexd/src/obexd-service.o `test -f 'obexd/src/service.c' || echo '$(srcdir)/'`obexd/src/service.c - $(AM_V_at)$(am__mv) obexd/src/$(DEPDIR)/obexd-service.Tpo obexd/src/$(DEPDIR)/obexd-service.Po -# $(AM_V_CC)source='obexd/src/service.c' object='obexd/src/obexd-service.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o obexd/src/obexd-service.o `test -f 'obexd/src/service.c' || echo '$(srcdir)/'`obexd/src/service.c - -obexd/src/obexd-service.obj: obexd/src/service.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT obexd/src/obexd-service.obj -MD -MP -MF obexd/src/$(DEPDIR)/obexd-service.Tpo -c -o obexd/src/obexd-service.obj `if test -f 'obexd/src/service.c'; then $(CYGPATH_W) 'obexd/src/service.c'; else $(CYGPATH_W) '$(srcdir)/obexd/src/service.c'; fi` - $(AM_V_at)$(am__mv) obexd/src/$(DEPDIR)/obexd-service.Tpo obexd/src/$(DEPDIR)/obexd-service.Po -# $(AM_V_CC)source='obexd/src/service.c' object='obexd/src/obexd-service.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o obexd/src/obexd-service.obj `if test -f 'obexd/src/service.c'; then $(CYGPATH_W) 'obexd/src/service.c'; else $(CYGPATH_W) '$(srcdir)/obexd/src/service.c'; fi` - -obexd/src/obexd-transport.o: obexd/src/transport.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT obexd/src/obexd-transport.o -MD -MP -MF obexd/src/$(DEPDIR)/obexd-transport.Tpo -c -o obexd/src/obexd-transport.o `test -f 'obexd/src/transport.c' || echo '$(srcdir)/'`obexd/src/transport.c - $(AM_V_at)$(am__mv) obexd/src/$(DEPDIR)/obexd-transport.Tpo obexd/src/$(DEPDIR)/obexd-transport.Po -# $(AM_V_CC)source='obexd/src/transport.c' object='obexd/src/obexd-transport.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o obexd/src/obexd-transport.o `test -f 'obexd/src/transport.c' || echo '$(srcdir)/'`obexd/src/transport.c - -obexd/src/obexd-transport.obj: obexd/src/transport.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT obexd/src/obexd-transport.obj -MD -MP -MF obexd/src/$(DEPDIR)/obexd-transport.Tpo -c -o obexd/src/obexd-transport.obj `if test -f 'obexd/src/transport.c'; then $(CYGPATH_W) 'obexd/src/transport.c'; else $(CYGPATH_W) '$(srcdir)/obexd/src/transport.c'; fi` - $(AM_V_at)$(am__mv) obexd/src/$(DEPDIR)/obexd-transport.Tpo obexd/src/$(DEPDIR)/obexd-transport.Po -# $(AM_V_CC)source='obexd/src/transport.c' object='obexd/src/obexd-transport.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o obexd/src/obexd-transport.obj `if test -f 'obexd/src/transport.c'; then $(CYGPATH_W) 'obexd/src/transport.c'; else $(CYGPATH_W) '$(srcdir)/obexd/src/transport.c'; fi` - -obexd/src/obexd-server.o: obexd/src/server.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT obexd/src/obexd-server.o -MD -MP -MF obexd/src/$(DEPDIR)/obexd-server.Tpo -c -o obexd/src/obexd-server.o `test -f 'obexd/src/server.c' || echo '$(srcdir)/'`obexd/src/server.c - $(AM_V_at)$(am__mv) obexd/src/$(DEPDIR)/obexd-server.Tpo obexd/src/$(DEPDIR)/obexd-server.Po -# $(AM_V_CC)source='obexd/src/server.c' object='obexd/src/obexd-server.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o obexd/src/obexd-server.o `test -f 'obexd/src/server.c' || echo '$(srcdir)/'`obexd/src/server.c - -obexd/src/obexd-server.obj: obexd/src/server.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT obexd/src/obexd-server.obj -MD -MP -MF obexd/src/$(DEPDIR)/obexd-server.Tpo -c -o obexd/src/obexd-server.obj `if test -f 'obexd/src/server.c'; then $(CYGPATH_W) 'obexd/src/server.c'; else $(CYGPATH_W) '$(srcdir)/obexd/src/server.c'; fi` - $(AM_V_at)$(am__mv) obexd/src/$(DEPDIR)/obexd-server.Tpo obexd/src/$(DEPDIR)/obexd-server.Po -# $(AM_V_CC)source='obexd/src/server.c' object='obexd/src/obexd-server.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o obexd/src/obexd-server.obj `if test -f 'obexd/src/server.c'; then $(CYGPATH_W) 'obexd/src/server.c'; else $(CYGPATH_W) '$(srcdir)/obexd/src/server.c'; fi` - -obexd/client/obexd-manager.o: obexd/client/manager.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT obexd/client/obexd-manager.o -MD -MP -MF obexd/client/$(DEPDIR)/obexd-manager.Tpo -c -o obexd/client/obexd-manager.o `test -f 'obexd/client/manager.c' || echo '$(srcdir)/'`obexd/client/manager.c - $(AM_V_at)$(am__mv) obexd/client/$(DEPDIR)/obexd-manager.Tpo obexd/client/$(DEPDIR)/obexd-manager.Po -# $(AM_V_CC)source='obexd/client/manager.c' object='obexd/client/obexd-manager.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o obexd/client/obexd-manager.o `test -f 'obexd/client/manager.c' || echo '$(srcdir)/'`obexd/client/manager.c - -obexd/client/obexd-manager.obj: obexd/client/manager.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT obexd/client/obexd-manager.obj -MD -MP -MF obexd/client/$(DEPDIR)/obexd-manager.Tpo -c -o obexd/client/obexd-manager.obj `if test -f 'obexd/client/manager.c'; then $(CYGPATH_W) 'obexd/client/manager.c'; else $(CYGPATH_W) '$(srcdir)/obexd/client/manager.c'; fi` - $(AM_V_at)$(am__mv) obexd/client/$(DEPDIR)/obexd-manager.Tpo obexd/client/$(DEPDIR)/obexd-manager.Po -# $(AM_V_CC)source='obexd/client/manager.c' object='obexd/client/obexd-manager.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o obexd/client/obexd-manager.obj `if test -f 'obexd/client/manager.c'; then $(CYGPATH_W) 'obexd/client/manager.c'; else $(CYGPATH_W) '$(srcdir)/obexd/client/manager.c'; fi` - -obexd/client/obexd-session.o: obexd/client/session.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT obexd/client/obexd-session.o -MD -MP -MF obexd/client/$(DEPDIR)/obexd-session.Tpo -c -o obexd/client/obexd-session.o `test -f 'obexd/client/session.c' || echo '$(srcdir)/'`obexd/client/session.c - $(AM_V_at)$(am__mv) obexd/client/$(DEPDIR)/obexd-session.Tpo obexd/client/$(DEPDIR)/obexd-session.Po -# $(AM_V_CC)source='obexd/client/session.c' object='obexd/client/obexd-session.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o obexd/client/obexd-session.o `test -f 'obexd/client/session.c' || echo '$(srcdir)/'`obexd/client/session.c - -obexd/client/obexd-session.obj: obexd/client/session.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT obexd/client/obexd-session.obj -MD -MP -MF obexd/client/$(DEPDIR)/obexd-session.Tpo -c -o obexd/client/obexd-session.obj `if test -f 'obexd/client/session.c'; then $(CYGPATH_W) 'obexd/client/session.c'; else $(CYGPATH_W) '$(srcdir)/obexd/client/session.c'; fi` - $(AM_V_at)$(am__mv) obexd/client/$(DEPDIR)/obexd-session.Tpo obexd/client/$(DEPDIR)/obexd-session.Po -# $(AM_V_CC)source='obexd/client/session.c' object='obexd/client/obexd-session.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o obexd/client/obexd-session.obj `if test -f 'obexd/client/session.c'; then $(CYGPATH_W) 'obexd/client/session.c'; else $(CYGPATH_W) '$(srcdir)/obexd/client/session.c'; fi` - -obexd/client/obexd-bluetooth.o: obexd/client/bluetooth.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT obexd/client/obexd-bluetooth.o -MD -MP -MF obexd/client/$(DEPDIR)/obexd-bluetooth.Tpo -c -o obexd/client/obexd-bluetooth.o `test -f 'obexd/client/bluetooth.c' || echo '$(srcdir)/'`obexd/client/bluetooth.c - $(AM_V_at)$(am__mv) obexd/client/$(DEPDIR)/obexd-bluetooth.Tpo obexd/client/$(DEPDIR)/obexd-bluetooth.Po -# $(AM_V_CC)source='obexd/client/bluetooth.c' object='obexd/client/obexd-bluetooth.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o obexd/client/obexd-bluetooth.o `test -f 'obexd/client/bluetooth.c' || echo '$(srcdir)/'`obexd/client/bluetooth.c - -obexd/client/obexd-bluetooth.obj: obexd/client/bluetooth.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT obexd/client/obexd-bluetooth.obj -MD -MP -MF obexd/client/$(DEPDIR)/obexd-bluetooth.Tpo -c -o obexd/client/obexd-bluetooth.obj `if test -f 'obexd/client/bluetooth.c'; then $(CYGPATH_W) 'obexd/client/bluetooth.c'; else $(CYGPATH_W) '$(srcdir)/obexd/client/bluetooth.c'; fi` - $(AM_V_at)$(am__mv) obexd/client/$(DEPDIR)/obexd-bluetooth.Tpo obexd/client/$(DEPDIR)/obexd-bluetooth.Po -# $(AM_V_CC)source='obexd/client/bluetooth.c' object='obexd/client/obexd-bluetooth.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o obexd/client/obexd-bluetooth.obj `if test -f 'obexd/client/bluetooth.c'; then $(CYGPATH_W) 'obexd/client/bluetooth.c'; else $(CYGPATH_W) '$(srcdir)/obexd/client/bluetooth.c'; fi` - -obexd/client/obexd-sync.o: obexd/client/sync.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT obexd/client/obexd-sync.o -MD -MP -MF obexd/client/$(DEPDIR)/obexd-sync.Tpo -c -o obexd/client/obexd-sync.o `test -f 'obexd/client/sync.c' || echo '$(srcdir)/'`obexd/client/sync.c - $(AM_V_at)$(am__mv) obexd/client/$(DEPDIR)/obexd-sync.Tpo obexd/client/$(DEPDIR)/obexd-sync.Po -# $(AM_V_CC)source='obexd/client/sync.c' object='obexd/client/obexd-sync.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o obexd/client/obexd-sync.o `test -f 'obexd/client/sync.c' || echo '$(srcdir)/'`obexd/client/sync.c - -obexd/client/obexd-sync.obj: obexd/client/sync.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT obexd/client/obexd-sync.obj -MD -MP -MF obexd/client/$(DEPDIR)/obexd-sync.Tpo -c -o obexd/client/obexd-sync.obj `if test -f 'obexd/client/sync.c'; then $(CYGPATH_W) 'obexd/client/sync.c'; else $(CYGPATH_W) '$(srcdir)/obexd/client/sync.c'; fi` - $(AM_V_at)$(am__mv) obexd/client/$(DEPDIR)/obexd-sync.Tpo obexd/client/$(DEPDIR)/obexd-sync.Po -# $(AM_V_CC)source='obexd/client/sync.c' object='obexd/client/obexd-sync.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o obexd/client/obexd-sync.obj `if test -f 'obexd/client/sync.c'; then $(CYGPATH_W) 'obexd/client/sync.c'; else $(CYGPATH_W) '$(srcdir)/obexd/client/sync.c'; fi` - -obexd/client/obexd-pbap.o: obexd/client/pbap.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT obexd/client/obexd-pbap.o -MD -MP -MF obexd/client/$(DEPDIR)/obexd-pbap.Tpo -c -o obexd/client/obexd-pbap.o `test -f 'obexd/client/pbap.c' || echo '$(srcdir)/'`obexd/client/pbap.c - $(AM_V_at)$(am__mv) obexd/client/$(DEPDIR)/obexd-pbap.Tpo obexd/client/$(DEPDIR)/obexd-pbap.Po -# $(AM_V_CC)source='obexd/client/pbap.c' object='obexd/client/obexd-pbap.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o obexd/client/obexd-pbap.o `test -f 'obexd/client/pbap.c' || echo '$(srcdir)/'`obexd/client/pbap.c - -obexd/client/obexd-pbap.obj: obexd/client/pbap.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT obexd/client/obexd-pbap.obj -MD -MP -MF obexd/client/$(DEPDIR)/obexd-pbap.Tpo -c -o obexd/client/obexd-pbap.obj `if test -f 'obexd/client/pbap.c'; then $(CYGPATH_W) 'obexd/client/pbap.c'; else $(CYGPATH_W) '$(srcdir)/obexd/client/pbap.c'; fi` - $(AM_V_at)$(am__mv) obexd/client/$(DEPDIR)/obexd-pbap.Tpo obexd/client/$(DEPDIR)/obexd-pbap.Po -# $(AM_V_CC)source='obexd/client/pbap.c' object='obexd/client/obexd-pbap.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o obexd/client/obexd-pbap.obj `if test -f 'obexd/client/pbap.c'; then $(CYGPATH_W) 'obexd/client/pbap.c'; else $(CYGPATH_W) '$(srcdir)/obexd/client/pbap.c'; fi` - -obexd/client/obexd-ftp.o: obexd/client/ftp.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT obexd/client/obexd-ftp.o -MD -MP -MF obexd/client/$(DEPDIR)/obexd-ftp.Tpo -c -o obexd/client/obexd-ftp.o `test -f 'obexd/client/ftp.c' || echo '$(srcdir)/'`obexd/client/ftp.c - $(AM_V_at)$(am__mv) obexd/client/$(DEPDIR)/obexd-ftp.Tpo obexd/client/$(DEPDIR)/obexd-ftp.Po -# $(AM_V_CC)source='obexd/client/ftp.c' object='obexd/client/obexd-ftp.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o obexd/client/obexd-ftp.o `test -f 'obexd/client/ftp.c' || echo '$(srcdir)/'`obexd/client/ftp.c - -obexd/client/obexd-ftp.obj: obexd/client/ftp.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT obexd/client/obexd-ftp.obj -MD -MP -MF obexd/client/$(DEPDIR)/obexd-ftp.Tpo -c -o obexd/client/obexd-ftp.obj `if test -f 'obexd/client/ftp.c'; then $(CYGPATH_W) 'obexd/client/ftp.c'; else $(CYGPATH_W) '$(srcdir)/obexd/client/ftp.c'; fi` - $(AM_V_at)$(am__mv) obexd/client/$(DEPDIR)/obexd-ftp.Tpo obexd/client/$(DEPDIR)/obexd-ftp.Po -# $(AM_V_CC)source='obexd/client/ftp.c' object='obexd/client/obexd-ftp.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o obexd/client/obexd-ftp.obj `if test -f 'obexd/client/ftp.c'; then $(CYGPATH_W) 'obexd/client/ftp.c'; else $(CYGPATH_W) '$(srcdir)/obexd/client/ftp.c'; fi` - -obexd/client/obexd-opp.o: obexd/client/opp.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT obexd/client/obexd-opp.o -MD -MP -MF obexd/client/$(DEPDIR)/obexd-opp.Tpo -c -o obexd/client/obexd-opp.o `test -f 'obexd/client/opp.c' || echo '$(srcdir)/'`obexd/client/opp.c - $(AM_V_at)$(am__mv) obexd/client/$(DEPDIR)/obexd-opp.Tpo obexd/client/$(DEPDIR)/obexd-opp.Po -# $(AM_V_CC)source='obexd/client/opp.c' object='obexd/client/obexd-opp.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o obexd/client/obexd-opp.o `test -f 'obexd/client/opp.c' || echo '$(srcdir)/'`obexd/client/opp.c - -obexd/client/obexd-opp.obj: obexd/client/opp.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT obexd/client/obexd-opp.obj -MD -MP -MF obexd/client/$(DEPDIR)/obexd-opp.Tpo -c -o obexd/client/obexd-opp.obj `if test -f 'obexd/client/opp.c'; then $(CYGPATH_W) 'obexd/client/opp.c'; else $(CYGPATH_W) '$(srcdir)/obexd/client/opp.c'; fi` - $(AM_V_at)$(am__mv) obexd/client/$(DEPDIR)/obexd-opp.Tpo obexd/client/$(DEPDIR)/obexd-opp.Po -# $(AM_V_CC)source='obexd/client/opp.c' object='obexd/client/obexd-opp.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o obexd/client/obexd-opp.obj `if test -f 'obexd/client/opp.c'; then $(CYGPATH_W) 'obexd/client/opp.c'; else $(CYGPATH_W) '$(srcdir)/obexd/client/opp.c'; fi` - -obexd/client/obexd-map.o: obexd/client/map.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT obexd/client/obexd-map.o -MD -MP -MF obexd/client/$(DEPDIR)/obexd-map.Tpo -c -o obexd/client/obexd-map.o `test -f 'obexd/client/map.c' || echo '$(srcdir)/'`obexd/client/map.c - $(AM_V_at)$(am__mv) obexd/client/$(DEPDIR)/obexd-map.Tpo obexd/client/$(DEPDIR)/obexd-map.Po -# $(AM_V_CC)source='obexd/client/map.c' object='obexd/client/obexd-map.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o obexd/client/obexd-map.o `test -f 'obexd/client/map.c' || echo '$(srcdir)/'`obexd/client/map.c - -obexd/client/obexd-map.obj: obexd/client/map.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT obexd/client/obexd-map.obj -MD -MP -MF obexd/client/$(DEPDIR)/obexd-map.Tpo -c -o obexd/client/obexd-map.obj `if test -f 'obexd/client/map.c'; then $(CYGPATH_W) 'obexd/client/map.c'; else $(CYGPATH_W) '$(srcdir)/obexd/client/map.c'; fi` - $(AM_V_at)$(am__mv) obexd/client/$(DEPDIR)/obexd-map.Tpo obexd/client/$(DEPDIR)/obexd-map.Po -# $(AM_V_CC)source='obexd/client/map.c' object='obexd/client/obexd-map.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o obexd/client/obexd-map.obj `if test -f 'obexd/client/map.c'; then $(CYGPATH_W) 'obexd/client/map.c'; else $(CYGPATH_W) '$(srcdir)/obexd/client/map.c'; fi` - -obexd/client/obexd-transfer.o: obexd/client/transfer.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT obexd/client/obexd-transfer.o -MD -MP -MF obexd/client/$(DEPDIR)/obexd-transfer.Tpo -c -o obexd/client/obexd-transfer.o `test -f 'obexd/client/transfer.c' || echo '$(srcdir)/'`obexd/client/transfer.c - $(AM_V_at)$(am__mv) obexd/client/$(DEPDIR)/obexd-transfer.Tpo obexd/client/$(DEPDIR)/obexd-transfer.Po -# $(AM_V_CC)source='obexd/client/transfer.c' object='obexd/client/obexd-transfer.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o obexd/client/obexd-transfer.o `test -f 'obexd/client/transfer.c' || echo '$(srcdir)/'`obexd/client/transfer.c - -obexd/client/obexd-transfer.obj: obexd/client/transfer.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT obexd/client/obexd-transfer.obj -MD -MP -MF obexd/client/$(DEPDIR)/obexd-transfer.Tpo -c -o obexd/client/obexd-transfer.obj `if test -f 'obexd/client/transfer.c'; then $(CYGPATH_W) 'obexd/client/transfer.c'; else $(CYGPATH_W) '$(srcdir)/obexd/client/transfer.c'; fi` - $(AM_V_at)$(am__mv) obexd/client/$(DEPDIR)/obexd-transfer.Tpo obexd/client/$(DEPDIR)/obexd-transfer.Po -# $(AM_V_CC)source='obexd/client/transfer.c' object='obexd/client/obexd-transfer.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o obexd/client/obexd-transfer.obj `if test -f 'obexd/client/transfer.c'; then $(CYGPATH_W) 'obexd/client/transfer.c'; else $(CYGPATH_W) '$(srcdir)/obexd/client/transfer.c'; fi` - -obexd/client/obexd-transport.o: obexd/client/transport.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT obexd/client/obexd-transport.o -MD -MP -MF obexd/client/$(DEPDIR)/obexd-transport.Tpo -c -o obexd/client/obexd-transport.o `test -f 'obexd/client/transport.c' || echo '$(srcdir)/'`obexd/client/transport.c - $(AM_V_at)$(am__mv) obexd/client/$(DEPDIR)/obexd-transport.Tpo obexd/client/$(DEPDIR)/obexd-transport.Po -# $(AM_V_CC)source='obexd/client/transport.c' object='obexd/client/obexd-transport.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o obexd/client/obexd-transport.o `test -f 'obexd/client/transport.c' || echo '$(srcdir)/'`obexd/client/transport.c - -obexd/client/obexd-transport.obj: obexd/client/transport.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT obexd/client/obexd-transport.obj -MD -MP -MF obexd/client/$(DEPDIR)/obexd-transport.Tpo -c -o obexd/client/obexd-transport.obj `if test -f 'obexd/client/transport.c'; then $(CYGPATH_W) 'obexd/client/transport.c'; else $(CYGPATH_W) '$(srcdir)/obexd/client/transport.c'; fi` - $(AM_V_at)$(am__mv) obexd/client/$(DEPDIR)/obexd-transport.Tpo obexd/client/$(DEPDIR)/obexd-transport.Po -# $(AM_V_CC)source='obexd/client/transport.c' object='obexd/client/obexd-transport.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o obexd/client/obexd-transport.obj `if test -f 'obexd/client/transport.c'; then $(CYGPATH_W) 'obexd/client/transport.c'; else $(CYGPATH_W) '$(srcdir)/obexd/client/transport.c'; fi` - -obexd/client/obexd-dbus.o: obexd/client/dbus.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT obexd/client/obexd-dbus.o -MD -MP -MF obexd/client/$(DEPDIR)/obexd-dbus.Tpo -c -o obexd/client/obexd-dbus.o `test -f 'obexd/client/dbus.c' || echo '$(srcdir)/'`obexd/client/dbus.c - $(AM_V_at)$(am__mv) obexd/client/$(DEPDIR)/obexd-dbus.Tpo obexd/client/$(DEPDIR)/obexd-dbus.Po -# $(AM_V_CC)source='obexd/client/dbus.c' object='obexd/client/obexd-dbus.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o obexd/client/obexd-dbus.o `test -f 'obexd/client/dbus.c' || echo '$(srcdir)/'`obexd/client/dbus.c - -obexd/client/obexd-dbus.obj: obexd/client/dbus.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT obexd/client/obexd-dbus.obj -MD -MP -MF obexd/client/$(DEPDIR)/obexd-dbus.Tpo -c -o obexd/client/obexd-dbus.obj `if test -f 'obexd/client/dbus.c'; then $(CYGPATH_W) 'obexd/client/dbus.c'; else $(CYGPATH_W) '$(srcdir)/obexd/client/dbus.c'; fi` - $(AM_V_at)$(am__mv) obexd/client/$(DEPDIR)/obexd-dbus.Tpo obexd/client/$(DEPDIR)/obexd-dbus.Po -# $(AM_V_CC)source='obexd/client/dbus.c' object='obexd/client/obexd-dbus.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o obexd/client/obexd-dbus.obj `if test -f 'obexd/client/dbus.c'; then $(CYGPATH_W) 'obexd/client/dbus.c'; else $(CYGPATH_W) '$(srcdir)/obexd/client/dbus.c'; fi` - -obexd/client/obexd-driver.o: obexd/client/driver.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT obexd/client/obexd-driver.o -MD -MP -MF obexd/client/$(DEPDIR)/obexd-driver.Tpo -c -o obexd/client/obexd-driver.o `test -f 'obexd/client/driver.c' || echo '$(srcdir)/'`obexd/client/driver.c - $(AM_V_at)$(am__mv) obexd/client/$(DEPDIR)/obexd-driver.Tpo obexd/client/$(DEPDIR)/obexd-driver.Po -# $(AM_V_CC)source='obexd/client/driver.c' object='obexd/client/obexd-driver.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o obexd/client/obexd-driver.o `test -f 'obexd/client/driver.c' || echo '$(srcdir)/'`obexd/client/driver.c - -obexd/client/obexd-driver.obj: obexd/client/driver.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT obexd/client/obexd-driver.obj -MD -MP -MF obexd/client/$(DEPDIR)/obexd-driver.Tpo -c -o obexd/client/obexd-driver.obj `if test -f 'obexd/client/driver.c'; then $(CYGPATH_W) 'obexd/client/driver.c'; else $(CYGPATH_W) '$(srcdir)/obexd/client/driver.c'; fi` - $(AM_V_at)$(am__mv) obexd/client/$(DEPDIR)/obexd-driver.Tpo obexd/client/$(DEPDIR)/obexd-driver.Po -# $(AM_V_CC)source='obexd/client/driver.c' object='obexd/client/obexd-driver.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o obexd/client/obexd-driver.obj `if test -f 'obexd/client/driver.c'; then $(CYGPATH_W) 'obexd/client/driver.c'; else $(CYGPATH_W) '$(srcdir)/obexd/client/driver.c'; fi` - -gdbus/bluetoothd-mainloop.o: gdbus/mainloop.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT gdbus/bluetoothd-mainloop.o -MD -MP -MF gdbus/$(DEPDIR)/bluetoothd-mainloop.Tpo -c -o gdbus/bluetoothd-mainloop.o `test -f 'gdbus/mainloop.c' || echo '$(srcdir)/'`gdbus/mainloop.c - $(AM_V_at)$(am__mv) gdbus/$(DEPDIR)/bluetoothd-mainloop.Tpo gdbus/$(DEPDIR)/bluetoothd-mainloop.Po -# $(AM_V_CC)source='gdbus/mainloop.c' object='gdbus/bluetoothd-mainloop.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o gdbus/bluetoothd-mainloop.o `test -f 'gdbus/mainloop.c' || echo '$(srcdir)/'`gdbus/mainloop.c - -gdbus/bluetoothd-mainloop.obj: gdbus/mainloop.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT gdbus/bluetoothd-mainloop.obj -MD -MP -MF gdbus/$(DEPDIR)/bluetoothd-mainloop.Tpo -c -o gdbus/bluetoothd-mainloop.obj `if test -f 'gdbus/mainloop.c'; then $(CYGPATH_W) 'gdbus/mainloop.c'; else $(CYGPATH_W) '$(srcdir)/gdbus/mainloop.c'; fi` - $(AM_V_at)$(am__mv) gdbus/$(DEPDIR)/bluetoothd-mainloop.Tpo gdbus/$(DEPDIR)/bluetoothd-mainloop.Po -# $(AM_V_CC)source='gdbus/mainloop.c' object='gdbus/bluetoothd-mainloop.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o gdbus/bluetoothd-mainloop.obj `if test -f 'gdbus/mainloop.c'; then $(CYGPATH_W) 'gdbus/mainloop.c'; else $(CYGPATH_W) '$(srcdir)/gdbus/mainloop.c'; fi` - -gdbus/bluetoothd-watch.o: gdbus/watch.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT gdbus/bluetoothd-watch.o -MD -MP -MF gdbus/$(DEPDIR)/bluetoothd-watch.Tpo -c -o gdbus/bluetoothd-watch.o `test -f 'gdbus/watch.c' || echo '$(srcdir)/'`gdbus/watch.c - $(AM_V_at)$(am__mv) gdbus/$(DEPDIR)/bluetoothd-watch.Tpo gdbus/$(DEPDIR)/bluetoothd-watch.Po -# $(AM_V_CC)source='gdbus/watch.c' object='gdbus/bluetoothd-watch.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o gdbus/bluetoothd-watch.o `test -f 'gdbus/watch.c' || echo '$(srcdir)/'`gdbus/watch.c - -gdbus/bluetoothd-watch.obj: gdbus/watch.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT gdbus/bluetoothd-watch.obj -MD -MP -MF gdbus/$(DEPDIR)/bluetoothd-watch.Tpo -c -o gdbus/bluetoothd-watch.obj `if test -f 'gdbus/watch.c'; then $(CYGPATH_W) 'gdbus/watch.c'; else $(CYGPATH_W) '$(srcdir)/gdbus/watch.c'; fi` - $(AM_V_at)$(am__mv) gdbus/$(DEPDIR)/bluetoothd-watch.Tpo gdbus/$(DEPDIR)/bluetoothd-watch.Po -# $(AM_V_CC)source='gdbus/watch.c' object='gdbus/bluetoothd-watch.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o gdbus/bluetoothd-watch.obj `if test -f 'gdbus/watch.c'; then $(CYGPATH_W) 'gdbus/watch.c'; else $(CYGPATH_W) '$(srcdir)/gdbus/watch.c'; fi` - -gdbus/bluetoothd-object.o: gdbus/object.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT gdbus/bluetoothd-object.o -MD -MP -MF gdbus/$(DEPDIR)/bluetoothd-object.Tpo -c -o gdbus/bluetoothd-object.o `test -f 'gdbus/object.c' || echo '$(srcdir)/'`gdbus/object.c - $(AM_V_at)$(am__mv) gdbus/$(DEPDIR)/bluetoothd-object.Tpo gdbus/$(DEPDIR)/bluetoothd-object.Po -# $(AM_V_CC)source='gdbus/object.c' object='gdbus/bluetoothd-object.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o gdbus/bluetoothd-object.o `test -f 'gdbus/object.c' || echo '$(srcdir)/'`gdbus/object.c - -gdbus/bluetoothd-object.obj: gdbus/object.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT gdbus/bluetoothd-object.obj -MD -MP -MF gdbus/$(DEPDIR)/bluetoothd-object.Tpo -c -o gdbus/bluetoothd-object.obj `if test -f 'gdbus/object.c'; then $(CYGPATH_W) 'gdbus/object.c'; else $(CYGPATH_W) '$(srcdir)/gdbus/object.c'; fi` - $(AM_V_at)$(am__mv) gdbus/$(DEPDIR)/bluetoothd-object.Tpo gdbus/$(DEPDIR)/bluetoothd-object.Po -# $(AM_V_CC)source='gdbus/object.c' object='gdbus/bluetoothd-object.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o gdbus/bluetoothd-object.obj `if test -f 'gdbus/object.c'; then $(CYGPATH_W) 'gdbus/object.c'; else $(CYGPATH_W) '$(srcdir)/gdbus/object.c'; fi` - -gdbus/bluetoothd-client.o: gdbus/client.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT gdbus/bluetoothd-client.o -MD -MP -MF gdbus/$(DEPDIR)/bluetoothd-client.Tpo -c -o gdbus/bluetoothd-client.o `test -f 'gdbus/client.c' || echo '$(srcdir)/'`gdbus/client.c - $(AM_V_at)$(am__mv) gdbus/$(DEPDIR)/bluetoothd-client.Tpo gdbus/$(DEPDIR)/bluetoothd-client.Po -# $(AM_V_CC)source='gdbus/client.c' object='gdbus/bluetoothd-client.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o gdbus/bluetoothd-client.o `test -f 'gdbus/client.c' || echo '$(srcdir)/'`gdbus/client.c - -gdbus/bluetoothd-client.obj: gdbus/client.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT gdbus/bluetoothd-client.obj -MD -MP -MF gdbus/$(DEPDIR)/bluetoothd-client.Tpo -c -o gdbus/bluetoothd-client.obj `if test -f 'gdbus/client.c'; then $(CYGPATH_W) 'gdbus/client.c'; else $(CYGPATH_W) '$(srcdir)/gdbus/client.c'; fi` - $(AM_V_at)$(am__mv) gdbus/$(DEPDIR)/bluetoothd-client.Tpo gdbus/$(DEPDIR)/bluetoothd-client.Po -# $(AM_V_CC)source='gdbus/client.c' object='gdbus/bluetoothd-client.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o gdbus/bluetoothd-client.obj `if test -f 'gdbus/client.c'; then $(CYGPATH_W) 'gdbus/client.c'; else $(CYGPATH_W) '$(srcdir)/gdbus/client.c'; fi` - -gdbus/bluetoothd-polkit.o: gdbus/polkit.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT gdbus/bluetoothd-polkit.o -MD -MP -MF gdbus/$(DEPDIR)/bluetoothd-polkit.Tpo -c -o gdbus/bluetoothd-polkit.o `test -f 'gdbus/polkit.c' || echo '$(srcdir)/'`gdbus/polkit.c - $(AM_V_at)$(am__mv) gdbus/$(DEPDIR)/bluetoothd-polkit.Tpo gdbus/$(DEPDIR)/bluetoothd-polkit.Po -# $(AM_V_CC)source='gdbus/polkit.c' object='gdbus/bluetoothd-polkit.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o gdbus/bluetoothd-polkit.o `test -f 'gdbus/polkit.c' || echo '$(srcdir)/'`gdbus/polkit.c - -gdbus/bluetoothd-polkit.obj: gdbus/polkit.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT gdbus/bluetoothd-polkit.obj -MD -MP -MF gdbus/$(DEPDIR)/bluetoothd-polkit.Tpo -c -o gdbus/bluetoothd-polkit.obj `if test -f 'gdbus/polkit.c'; then $(CYGPATH_W) 'gdbus/polkit.c'; else $(CYGPATH_W) '$(srcdir)/gdbus/polkit.c'; fi` - $(AM_V_at)$(am__mv) gdbus/$(DEPDIR)/bluetoothd-polkit.Tpo gdbus/$(DEPDIR)/bluetoothd-polkit.Po -# $(AM_V_CC)source='gdbus/polkit.c' object='gdbus/bluetoothd-polkit.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o gdbus/bluetoothd-polkit.obj `if test -f 'gdbus/polkit.c'; then $(CYGPATH_W) 'gdbus/polkit.c'; else $(CYGPATH_W) '$(srcdir)/gdbus/polkit.c'; fi` - -plugins/bluetoothd-hostname.o: plugins/hostname.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT plugins/bluetoothd-hostname.o -MD -MP -MF plugins/$(DEPDIR)/bluetoothd-hostname.Tpo -c -o plugins/bluetoothd-hostname.o `test -f 'plugins/hostname.c' || echo '$(srcdir)/'`plugins/hostname.c - $(AM_V_at)$(am__mv) plugins/$(DEPDIR)/bluetoothd-hostname.Tpo plugins/$(DEPDIR)/bluetoothd-hostname.Po -# $(AM_V_CC)source='plugins/hostname.c' object='plugins/bluetoothd-hostname.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o plugins/bluetoothd-hostname.o `test -f 'plugins/hostname.c' || echo '$(srcdir)/'`plugins/hostname.c - -plugins/bluetoothd-hostname.obj: plugins/hostname.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT plugins/bluetoothd-hostname.obj -MD -MP -MF plugins/$(DEPDIR)/bluetoothd-hostname.Tpo -c -o plugins/bluetoothd-hostname.obj `if test -f 'plugins/hostname.c'; then $(CYGPATH_W) 'plugins/hostname.c'; else $(CYGPATH_W) '$(srcdir)/plugins/hostname.c'; fi` - $(AM_V_at)$(am__mv) plugins/$(DEPDIR)/bluetoothd-hostname.Tpo plugins/$(DEPDIR)/bluetoothd-hostname.Po -# $(AM_V_CC)source='plugins/hostname.c' object='plugins/bluetoothd-hostname.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o plugins/bluetoothd-hostname.obj `if test -f 'plugins/hostname.c'; then $(CYGPATH_W) 'plugins/hostname.c'; else $(CYGPATH_W) '$(srcdir)/plugins/hostname.c'; fi` - -plugins/bluetoothd-wiimote.o: plugins/wiimote.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT plugins/bluetoothd-wiimote.o -MD -MP -MF plugins/$(DEPDIR)/bluetoothd-wiimote.Tpo -c -o plugins/bluetoothd-wiimote.o `test -f 'plugins/wiimote.c' || echo '$(srcdir)/'`plugins/wiimote.c - $(AM_V_at)$(am__mv) plugins/$(DEPDIR)/bluetoothd-wiimote.Tpo plugins/$(DEPDIR)/bluetoothd-wiimote.Po -# $(AM_V_CC)source='plugins/wiimote.c' object='plugins/bluetoothd-wiimote.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o plugins/bluetoothd-wiimote.o `test -f 'plugins/wiimote.c' || echo '$(srcdir)/'`plugins/wiimote.c - -plugins/bluetoothd-wiimote.obj: plugins/wiimote.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT plugins/bluetoothd-wiimote.obj -MD -MP -MF plugins/$(DEPDIR)/bluetoothd-wiimote.Tpo -c -o plugins/bluetoothd-wiimote.obj `if test -f 'plugins/wiimote.c'; then $(CYGPATH_W) 'plugins/wiimote.c'; else $(CYGPATH_W) '$(srcdir)/plugins/wiimote.c'; fi` - $(AM_V_at)$(am__mv) plugins/$(DEPDIR)/bluetoothd-wiimote.Tpo plugins/$(DEPDIR)/bluetoothd-wiimote.Po -# $(AM_V_CC)source='plugins/wiimote.c' object='plugins/bluetoothd-wiimote.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o plugins/bluetoothd-wiimote.obj `if test -f 'plugins/wiimote.c'; then $(CYGPATH_W) 'plugins/wiimote.c'; else $(CYGPATH_W) '$(srcdir)/plugins/wiimote.c'; fi` - -plugins/bluetoothd-gatt-example.o: plugins/gatt-example.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT plugins/bluetoothd-gatt-example.o -MD -MP -MF plugins/$(DEPDIR)/bluetoothd-gatt-example.Tpo -c -o plugins/bluetoothd-gatt-example.o `test -f 'plugins/gatt-example.c' || echo '$(srcdir)/'`plugins/gatt-example.c - $(AM_V_at)$(am__mv) plugins/$(DEPDIR)/bluetoothd-gatt-example.Tpo plugins/$(DEPDIR)/bluetoothd-gatt-example.Po -# $(AM_V_CC)source='plugins/gatt-example.c' object='plugins/bluetoothd-gatt-example.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o plugins/bluetoothd-gatt-example.o `test -f 'plugins/gatt-example.c' || echo '$(srcdir)/'`plugins/gatt-example.c - -plugins/bluetoothd-gatt-example.obj: plugins/gatt-example.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT plugins/bluetoothd-gatt-example.obj -MD -MP -MF plugins/$(DEPDIR)/bluetoothd-gatt-example.Tpo -c -o plugins/bluetoothd-gatt-example.obj `if test -f 'plugins/gatt-example.c'; then $(CYGPATH_W) 'plugins/gatt-example.c'; else $(CYGPATH_W) '$(srcdir)/plugins/gatt-example.c'; fi` - $(AM_V_at)$(am__mv) plugins/$(DEPDIR)/bluetoothd-gatt-example.Tpo plugins/$(DEPDIR)/bluetoothd-gatt-example.Po -# $(AM_V_CC)source='plugins/gatt-example.c' object='plugins/bluetoothd-gatt-example.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o plugins/bluetoothd-gatt-example.obj `if test -f 'plugins/gatt-example.c'; then $(CYGPATH_W) 'plugins/gatt-example.c'; else $(CYGPATH_W) '$(srcdir)/plugins/gatt-example.c'; fi` - -plugins/bluetoothd-neard.o: plugins/neard.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT plugins/bluetoothd-neard.o -MD -MP -MF plugins/$(DEPDIR)/bluetoothd-neard.Tpo -c -o plugins/bluetoothd-neard.o `test -f 'plugins/neard.c' || echo '$(srcdir)/'`plugins/neard.c - $(AM_V_at)$(am__mv) plugins/$(DEPDIR)/bluetoothd-neard.Tpo plugins/$(DEPDIR)/bluetoothd-neard.Po -# $(AM_V_CC)source='plugins/neard.c' object='plugins/bluetoothd-neard.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o plugins/bluetoothd-neard.o `test -f 'plugins/neard.c' || echo '$(srcdir)/'`plugins/neard.c - -plugins/bluetoothd-neard.obj: plugins/neard.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT plugins/bluetoothd-neard.obj -MD -MP -MF plugins/$(DEPDIR)/bluetoothd-neard.Tpo -c -o plugins/bluetoothd-neard.obj `if test -f 'plugins/neard.c'; then $(CYGPATH_W) 'plugins/neard.c'; else $(CYGPATH_W) '$(srcdir)/plugins/neard.c'; fi` - $(AM_V_at)$(am__mv) plugins/$(DEPDIR)/bluetoothd-neard.Tpo plugins/$(DEPDIR)/bluetoothd-neard.Po -# $(AM_V_CC)source='plugins/neard.c' object='plugins/bluetoothd-neard.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o plugins/bluetoothd-neard.obj `if test -f 'plugins/neard.c'; then $(CYGPATH_W) 'plugins/neard.c'; else $(CYGPATH_W) '$(srcdir)/plugins/neard.c'; fi` - -profiles/sap/bluetoothd-main.o: profiles/sap/main.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/sap/bluetoothd-main.o -MD -MP -MF profiles/sap/$(DEPDIR)/bluetoothd-main.Tpo -c -o profiles/sap/bluetoothd-main.o `test -f 'profiles/sap/main.c' || echo '$(srcdir)/'`profiles/sap/main.c - $(AM_V_at)$(am__mv) profiles/sap/$(DEPDIR)/bluetoothd-main.Tpo profiles/sap/$(DEPDIR)/bluetoothd-main.Po -# $(AM_V_CC)source='profiles/sap/main.c' object='profiles/sap/bluetoothd-main.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/sap/bluetoothd-main.o `test -f 'profiles/sap/main.c' || echo '$(srcdir)/'`profiles/sap/main.c - -profiles/sap/bluetoothd-main.obj: profiles/sap/main.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/sap/bluetoothd-main.obj -MD -MP -MF profiles/sap/$(DEPDIR)/bluetoothd-main.Tpo -c -o profiles/sap/bluetoothd-main.obj `if test -f 'profiles/sap/main.c'; then $(CYGPATH_W) 'profiles/sap/main.c'; else $(CYGPATH_W) '$(srcdir)/profiles/sap/main.c'; fi` - $(AM_V_at)$(am__mv) profiles/sap/$(DEPDIR)/bluetoothd-main.Tpo profiles/sap/$(DEPDIR)/bluetoothd-main.Po -# $(AM_V_CC)source='profiles/sap/main.c' object='profiles/sap/bluetoothd-main.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/sap/bluetoothd-main.obj `if test -f 'profiles/sap/main.c'; then $(CYGPATH_W) 'profiles/sap/main.c'; else $(CYGPATH_W) '$(srcdir)/profiles/sap/main.c'; fi` - -profiles/sap/bluetoothd-manager.o: profiles/sap/manager.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/sap/bluetoothd-manager.o -MD -MP -MF profiles/sap/$(DEPDIR)/bluetoothd-manager.Tpo -c -o profiles/sap/bluetoothd-manager.o `test -f 'profiles/sap/manager.c' || echo '$(srcdir)/'`profiles/sap/manager.c - $(AM_V_at)$(am__mv) profiles/sap/$(DEPDIR)/bluetoothd-manager.Tpo profiles/sap/$(DEPDIR)/bluetoothd-manager.Po -# $(AM_V_CC)source='profiles/sap/manager.c' object='profiles/sap/bluetoothd-manager.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/sap/bluetoothd-manager.o `test -f 'profiles/sap/manager.c' || echo '$(srcdir)/'`profiles/sap/manager.c - -profiles/sap/bluetoothd-manager.obj: profiles/sap/manager.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/sap/bluetoothd-manager.obj -MD -MP -MF profiles/sap/$(DEPDIR)/bluetoothd-manager.Tpo -c -o profiles/sap/bluetoothd-manager.obj `if test -f 'profiles/sap/manager.c'; then $(CYGPATH_W) 'profiles/sap/manager.c'; else $(CYGPATH_W) '$(srcdir)/profiles/sap/manager.c'; fi` - $(AM_V_at)$(am__mv) profiles/sap/$(DEPDIR)/bluetoothd-manager.Tpo profiles/sap/$(DEPDIR)/bluetoothd-manager.Po -# $(AM_V_CC)source='profiles/sap/manager.c' object='profiles/sap/bluetoothd-manager.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/sap/bluetoothd-manager.obj `if test -f 'profiles/sap/manager.c'; then $(CYGPATH_W) 'profiles/sap/manager.c'; else $(CYGPATH_W) '$(srcdir)/profiles/sap/manager.c'; fi` - -profiles/sap/bluetoothd-server.o: profiles/sap/server.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/sap/bluetoothd-server.o -MD -MP -MF profiles/sap/$(DEPDIR)/bluetoothd-server.Tpo -c -o profiles/sap/bluetoothd-server.o `test -f 'profiles/sap/server.c' || echo '$(srcdir)/'`profiles/sap/server.c - $(AM_V_at)$(am__mv) profiles/sap/$(DEPDIR)/bluetoothd-server.Tpo profiles/sap/$(DEPDIR)/bluetoothd-server.Po -# $(AM_V_CC)source='profiles/sap/server.c' object='profiles/sap/bluetoothd-server.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/sap/bluetoothd-server.o `test -f 'profiles/sap/server.c' || echo '$(srcdir)/'`profiles/sap/server.c - -profiles/sap/bluetoothd-server.obj: profiles/sap/server.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/sap/bluetoothd-server.obj -MD -MP -MF profiles/sap/$(DEPDIR)/bluetoothd-server.Tpo -c -o profiles/sap/bluetoothd-server.obj `if test -f 'profiles/sap/server.c'; then $(CYGPATH_W) 'profiles/sap/server.c'; else $(CYGPATH_W) '$(srcdir)/profiles/sap/server.c'; fi` - $(AM_V_at)$(am__mv) profiles/sap/$(DEPDIR)/bluetoothd-server.Tpo profiles/sap/$(DEPDIR)/bluetoothd-server.Po -# $(AM_V_CC)source='profiles/sap/server.c' object='profiles/sap/bluetoothd-server.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/sap/bluetoothd-server.obj `if test -f 'profiles/sap/server.c'; then $(CYGPATH_W) 'profiles/sap/server.c'; else $(CYGPATH_W) '$(srcdir)/profiles/sap/server.c'; fi` - -profiles/sap/bluetoothd-sap-dummy.o: profiles/sap/sap-dummy.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/sap/bluetoothd-sap-dummy.o -MD -MP -MF profiles/sap/$(DEPDIR)/bluetoothd-sap-dummy.Tpo -c -o profiles/sap/bluetoothd-sap-dummy.o `test -f 'profiles/sap/sap-dummy.c' || echo '$(srcdir)/'`profiles/sap/sap-dummy.c - $(AM_V_at)$(am__mv) profiles/sap/$(DEPDIR)/bluetoothd-sap-dummy.Tpo profiles/sap/$(DEPDIR)/bluetoothd-sap-dummy.Po -# $(AM_V_CC)source='profiles/sap/sap-dummy.c' object='profiles/sap/bluetoothd-sap-dummy.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/sap/bluetoothd-sap-dummy.o `test -f 'profiles/sap/sap-dummy.c' || echo '$(srcdir)/'`profiles/sap/sap-dummy.c - -profiles/sap/bluetoothd-sap-dummy.obj: profiles/sap/sap-dummy.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/sap/bluetoothd-sap-dummy.obj -MD -MP -MF profiles/sap/$(DEPDIR)/bluetoothd-sap-dummy.Tpo -c -o profiles/sap/bluetoothd-sap-dummy.obj `if test -f 'profiles/sap/sap-dummy.c'; then $(CYGPATH_W) 'profiles/sap/sap-dummy.c'; else $(CYGPATH_W) '$(srcdir)/profiles/sap/sap-dummy.c'; fi` - $(AM_V_at)$(am__mv) profiles/sap/$(DEPDIR)/bluetoothd-sap-dummy.Tpo profiles/sap/$(DEPDIR)/bluetoothd-sap-dummy.Po -# $(AM_V_CC)source='profiles/sap/sap-dummy.c' object='profiles/sap/bluetoothd-sap-dummy.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/sap/bluetoothd-sap-dummy.obj `if test -f 'profiles/sap/sap-dummy.c'; then $(CYGPATH_W) 'profiles/sap/sap-dummy.c'; else $(CYGPATH_W) '$(srcdir)/profiles/sap/sap-dummy.c'; fi` - -profiles/audio/bluetoothd-main.o: profiles/audio/main.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/audio/bluetoothd-main.o -MD -MP -MF profiles/audio/$(DEPDIR)/bluetoothd-main.Tpo -c -o profiles/audio/bluetoothd-main.o `test -f 'profiles/audio/main.c' || echo '$(srcdir)/'`profiles/audio/main.c - $(AM_V_at)$(am__mv) profiles/audio/$(DEPDIR)/bluetoothd-main.Tpo profiles/audio/$(DEPDIR)/bluetoothd-main.Po -# $(AM_V_CC)source='profiles/audio/main.c' object='profiles/audio/bluetoothd-main.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/audio/bluetoothd-main.o `test -f 'profiles/audio/main.c' || echo '$(srcdir)/'`profiles/audio/main.c - -profiles/audio/bluetoothd-main.obj: profiles/audio/main.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/audio/bluetoothd-main.obj -MD -MP -MF profiles/audio/$(DEPDIR)/bluetoothd-main.Tpo -c -o profiles/audio/bluetoothd-main.obj `if test -f 'profiles/audio/main.c'; then $(CYGPATH_W) 'profiles/audio/main.c'; else $(CYGPATH_W) '$(srcdir)/profiles/audio/main.c'; fi` - $(AM_V_at)$(am__mv) profiles/audio/$(DEPDIR)/bluetoothd-main.Tpo profiles/audio/$(DEPDIR)/bluetoothd-main.Po -# $(AM_V_CC)source='profiles/audio/main.c' object='profiles/audio/bluetoothd-main.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/audio/bluetoothd-main.obj `if test -f 'profiles/audio/main.c'; then $(CYGPATH_W) 'profiles/audio/main.c'; else $(CYGPATH_W) '$(srcdir)/profiles/audio/main.c'; fi` - -profiles/audio/bluetoothd-manager.o: profiles/audio/manager.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/audio/bluetoothd-manager.o -MD -MP -MF profiles/audio/$(DEPDIR)/bluetoothd-manager.Tpo -c -o profiles/audio/bluetoothd-manager.o `test -f 'profiles/audio/manager.c' || echo '$(srcdir)/'`profiles/audio/manager.c - $(AM_V_at)$(am__mv) profiles/audio/$(DEPDIR)/bluetoothd-manager.Tpo profiles/audio/$(DEPDIR)/bluetoothd-manager.Po -# $(AM_V_CC)source='profiles/audio/manager.c' object='profiles/audio/bluetoothd-manager.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/audio/bluetoothd-manager.o `test -f 'profiles/audio/manager.c' || echo '$(srcdir)/'`profiles/audio/manager.c - -profiles/audio/bluetoothd-manager.obj: profiles/audio/manager.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/audio/bluetoothd-manager.obj -MD -MP -MF profiles/audio/$(DEPDIR)/bluetoothd-manager.Tpo -c -o profiles/audio/bluetoothd-manager.obj `if test -f 'profiles/audio/manager.c'; then $(CYGPATH_W) 'profiles/audio/manager.c'; else $(CYGPATH_W) '$(srcdir)/profiles/audio/manager.c'; fi` - $(AM_V_at)$(am__mv) profiles/audio/$(DEPDIR)/bluetoothd-manager.Tpo profiles/audio/$(DEPDIR)/bluetoothd-manager.Po -# $(AM_V_CC)source='profiles/audio/manager.c' object='profiles/audio/bluetoothd-manager.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/audio/bluetoothd-manager.obj `if test -f 'profiles/audio/manager.c'; then $(CYGPATH_W) 'profiles/audio/manager.c'; else $(CYGPATH_W) '$(srcdir)/profiles/audio/manager.c'; fi` - -profiles/audio/bluetoothd-control.o: profiles/audio/control.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/audio/bluetoothd-control.o -MD -MP -MF profiles/audio/$(DEPDIR)/bluetoothd-control.Tpo -c -o profiles/audio/bluetoothd-control.o `test -f 'profiles/audio/control.c' || echo '$(srcdir)/'`profiles/audio/control.c - $(AM_V_at)$(am__mv) profiles/audio/$(DEPDIR)/bluetoothd-control.Tpo profiles/audio/$(DEPDIR)/bluetoothd-control.Po -# $(AM_V_CC)source='profiles/audio/control.c' object='profiles/audio/bluetoothd-control.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/audio/bluetoothd-control.o `test -f 'profiles/audio/control.c' || echo '$(srcdir)/'`profiles/audio/control.c - -profiles/audio/bluetoothd-control.obj: profiles/audio/control.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/audio/bluetoothd-control.obj -MD -MP -MF profiles/audio/$(DEPDIR)/bluetoothd-control.Tpo -c -o profiles/audio/bluetoothd-control.obj `if test -f 'profiles/audio/control.c'; then $(CYGPATH_W) 'profiles/audio/control.c'; else $(CYGPATH_W) '$(srcdir)/profiles/audio/control.c'; fi` - $(AM_V_at)$(am__mv) profiles/audio/$(DEPDIR)/bluetoothd-control.Tpo profiles/audio/$(DEPDIR)/bluetoothd-control.Po -# $(AM_V_CC)source='profiles/audio/control.c' object='profiles/audio/bluetoothd-control.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/audio/bluetoothd-control.obj `if test -f 'profiles/audio/control.c'; then $(CYGPATH_W) 'profiles/audio/control.c'; else $(CYGPATH_W) '$(srcdir)/profiles/audio/control.c'; fi` - -profiles/audio/bluetoothd-avctp.o: profiles/audio/avctp.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/audio/bluetoothd-avctp.o -MD -MP -MF profiles/audio/$(DEPDIR)/bluetoothd-avctp.Tpo -c -o profiles/audio/bluetoothd-avctp.o `test -f 'profiles/audio/avctp.c' || echo '$(srcdir)/'`profiles/audio/avctp.c - $(AM_V_at)$(am__mv) profiles/audio/$(DEPDIR)/bluetoothd-avctp.Tpo profiles/audio/$(DEPDIR)/bluetoothd-avctp.Po -# $(AM_V_CC)source='profiles/audio/avctp.c' object='profiles/audio/bluetoothd-avctp.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/audio/bluetoothd-avctp.o `test -f 'profiles/audio/avctp.c' || echo '$(srcdir)/'`profiles/audio/avctp.c - -profiles/audio/bluetoothd-avctp.obj: profiles/audio/avctp.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/audio/bluetoothd-avctp.obj -MD -MP -MF profiles/audio/$(DEPDIR)/bluetoothd-avctp.Tpo -c -o profiles/audio/bluetoothd-avctp.obj `if test -f 'profiles/audio/avctp.c'; then $(CYGPATH_W) 'profiles/audio/avctp.c'; else $(CYGPATH_W) '$(srcdir)/profiles/audio/avctp.c'; fi` - $(AM_V_at)$(am__mv) profiles/audio/$(DEPDIR)/bluetoothd-avctp.Tpo profiles/audio/$(DEPDIR)/bluetoothd-avctp.Po -# $(AM_V_CC)source='profiles/audio/avctp.c' object='profiles/audio/bluetoothd-avctp.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/audio/bluetoothd-avctp.obj `if test -f 'profiles/audio/avctp.c'; then $(CYGPATH_W) 'profiles/audio/avctp.c'; else $(CYGPATH_W) '$(srcdir)/profiles/audio/avctp.c'; fi` - -profiles/audio/bluetoothd-avrcp.o: profiles/audio/avrcp.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/audio/bluetoothd-avrcp.o -MD -MP -MF profiles/audio/$(DEPDIR)/bluetoothd-avrcp.Tpo -c -o profiles/audio/bluetoothd-avrcp.o `test -f 'profiles/audio/avrcp.c' || echo '$(srcdir)/'`profiles/audio/avrcp.c - $(AM_V_at)$(am__mv) profiles/audio/$(DEPDIR)/bluetoothd-avrcp.Tpo profiles/audio/$(DEPDIR)/bluetoothd-avrcp.Po -# $(AM_V_CC)source='profiles/audio/avrcp.c' object='profiles/audio/bluetoothd-avrcp.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/audio/bluetoothd-avrcp.o `test -f 'profiles/audio/avrcp.c' || echo '$(srcdir)/'`profiles/audio/avrcp.c - -profiles/audio/bluetoothd-avrcp.obj: profiles/audio/avrcp.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/audio/bluetoothd-avrcp.obj -MD -MP -MF profiles/audio/$(DEPDIR)/bluetoothd-avrcp.Tpo -c -o profiles/audio/bluetoothd-avrcp.obj `if test -f 'profiles/audio/avrcp.c'; then $(CYGPATH_W) 'profiles/audio/avrcp.c'; else $(CYGPATH_W) '$(srcdir)/profiles/audio/avrcp.c'; fi` - $(AM_V_at)$(am__mv) profiles/audio/$(DEPDIR)/bluetoothd-avrcp.Tpo profiles/audio/$(DEPDIR)/bluetoothd-avrcp.Po -# $(AM_V_CC)source='profiles/audio/avrcp.c' object='profiles/audio/bluetoothd-avrcp.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/audio/bluetoothd-avrcp.obj `if test -f 'profiles/audio/avrcp.c'; then $(CYGPATH_W) 'profiles/audio/avrcp.c'; else $(CYGPATH_W) '$(srcdir)/profiles/audio/avrcp.c'; fi` - -profiles/audio/bluetoothd-device.o: profiles/audio/device.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/audio/bluetoothd-device.o -MD -MP -MF profiles/audio/$(DEPDIR)/bluetoothd-device.Tpo -c -o profiles/audio/bluetoothd-device.o `test -f 'profiles/audio/device.c' || echo '$(srcdir)/'`profiles/audio/device.c - $(AM_V_at)$(am__mv) profiles/audio/$(DEPDIR)/bluetoothd-device.Tpo profiles/audio/$(DEPDIR)/bluetoothd-device.Po -# $(AM_V_CC)source='profiles/audio/device.c' object='profiles/audio/bluetoothd-device.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/audio/bluetoothd-device.o `test -f 'profiles/audio/device.c' || echo '$(srcdir)/'`profiles/audio/device.c - -profiles/audio/bluetoothd-device.obj: profiles/audio/device.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/audio/bluetoothd-device.obj -MD -MP -MF profiles/audio/$(DEPDIR)/bluetoothd-device.Tpo -c -o profiles/audio/bluetoothd-device.obj `if test -f 'profiles/audio/device.c'; then $(CYGPATH_W) 'profiles/audio/device.c'; else $(CYGPATH_W) '$(srcdir)/profiles/audio/device.c'; fi` - $(AM_V_at)$(am__mv) profiles/audio/$(DEPDIR)/bluetoothd-device.Tpo profiles/audio/$(DEPDIR)/bluetoothd-device.Po -# $(AM_V_CC)source='profiles/audio/device.c' object='profiles/audio/bluetoothd-device.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/audio/bluetoothd-device.obj `if test -f 'profiles/audio/device.c'; then $(CYGPATH_W) 'profiles/audio/device.c'; else $(CYGPATH_W) '$(srcdir)/profiles/audio/device.c'; fi` - -profiles/audio/bluetoothd-source.o: profiles/audio/source.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/audio/bluetoothd-source.o -MD -MP -MF profiles/audio/$(DEPDIR)/bluetoothd-source.Tpo -c -o profiles/audio/bluetoothd-source.o `test -f 'profiles/audio/source.c' || echo '$(srcdir)/'`profiles/audio/source.c - $(AM_V_at)$(am__mv) profiles/audio/$(DEPDIR)/bluetoothd-source.Tpo profiles/audio/$(DEPDIR)/bluetoothd-source.Po -# $(AM_V_CC)source='profiles/audio/source.c' object='profiles/audio/bluetoothd-source.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/audio/bluetoothd-source.o `test -f 'profiles/audio/source.c' || echo '$(srcdir)/'`profiles/audio/source.c - -profiles/audio/bluetoothd-source.obj: profiles/audio/source.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/audio/bluetoothd-source.obj -MD -MP -MF profiles/audio/$(DEPDIR)/bluetoothd-source.Tpo -c -o profiles/audio/bluetoothd-source.obj `if test -f 'profiles/audio/source.c'; then $(CYGPATH_W) 'profiles/audio/source.c'; else $(CYGPATH_W) '$(srcdir)/profiles/audio/source.c'; fi` - $(AM_V_at)$(am__mv) profiles/audio/$(DEPDIR)/bluetoothd-source.Tpo profiles/audio/$(DEPDIR)/bluetoothd-source.Po -# $(AM_V_CC)source='profiles/audio/source.c' object='profiles/audio/bluetoothd-source.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/audio/bluetoothd-source.obj `if test -f 'profiles/audio/source.c'; then $(CYGPATH_W) 'profiles/audio/source.c'; else $(CYGPATH_W) '$(srcdir)/profiles/audio/source.c'; fi` - -profiles/audio/bluetoothd-sink.o: profiles/audio/sink.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/audio/bluetoothd-sink.o -MD -MP -MF profiles/audio/$(DEPDIR)/bluetoothd-sink.Tpo -c -o profiles/audio/bluetoothd-sink.o `test -f 'profiles/audio/sink.c' || echo '$(srcdir)/'`profiles/audio/sink.c - $(AM_V_at)$(am__mv) profiles/audio/$(DEPDIR)/bluetoothd-sink.Tpo profiles/audio/$(DEPDIR)/bluetoothd-sink.Po -# $(AM_V_CC)source='profiles/audio/sink.c' object='profiles/audio/bluetoothd-sink.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/audio/bluetoothd-sink.o `test -f 'profiles/audio/sink.c' || echo '$(srcdir)/'`profiles/audio/sink.c - -profiles/audio/bluetoothd-sink.obj: profiles/audio/sink.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/audio/bluetoothd-sink.obj -MD -MP -MF profiles/audio/$(DEPDIR)/bluetoothd-sink.Tpo -c -o profiles/audio/bluetoothd-sink.obj `if test -f 'profiles/audio/sink.c'; then $(CYGPATH_W) 'profiles/audio/sink.c'; else $(CYGPATH_W) '$(srcdir)/profiles/audio/sink.c'; fi` - $(AM_V_at)$(am__mv) profiles/audio/$(DEPDIR)/bluetoothd-sink.Tpo profiles/audio/$(DEPDIR)/bluetoothd-sink.Po -# $(AM_V_CC)source='profiles/audio/sink.c' object='profiles/audio/bluetoothd-sink.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/audio/bluetoothd-sink.obj `if test -f 'profiles/audio/sink.c'; then $(CYGPATH_W) 'profiles/audio/sink.c'; else $(CYGPATH_W) '$(srcdir)/profiles/audio/sink.c'; fi` - -profiles/audio/bluetoothd-a2dp.o: profiles/audio/a2dp.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/audio/bluetoothd-a2dp.o -MD -MP -MF profiles/audio/$(DEPDIR)/bluetoothd-a2dp.Tpo -c -o profiles/audio/bluetoothd-a2dp.o `test -f 'profiles/audio/a2dp.c' || echo '$(srcdir)/'`profiles/audio/a2dp.c - $(AM_V_at)$(am__mv) profiles/audio/$(DEPDIR)/bluetoothd-a2dp.Tpo profiles/audio/$(DEPDIR)/bluetoothd-a2dp.Po -# $(AM_V_CC)source='profiles/audio/a2dp.c' object='profiles/audio/bluetoothd-a2dp.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/audio/bluetoothd-a2dp.o `test -f 'profiles/audio/a2dp.c' || echo '$(srcdir)/'`profiles/audio/a2dp.c - -profiles/audio/bluetoothd-a2dp.obj: profiles/audio/a2dp.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/audio/bluetoothd-a2dp.obj -MD -MP -MF profiles/audio/$(DEPDIR)/bluetoothd-a2dp.Tpo -c -o profiles/audio/bluetoothd-a2dp.obj `if test -f 'profiles/audio/a2dp.c'; then $(CYGPATH_W) 'profiles/audio/a2dp.c'; else $(CYGPATH_W) '$(srcdir)/profiles/audio/a2dp.c'; fi` - $(AM_V_at)$(am__mv) profiles/audio/$(DEPDIR)/bluetoothd-a2dp.Tpo profiles/audio/$(DEPDIR)/bluetoothd-a2dp.Po -# $(AM_V_CC)source='profiles/audio/a2dp.c' object='profiles/audio/bluetoothd-a2dp.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/audio/bluetoothd-a2dp.obj `if test -f 'profiles/audio/a2dp.c'; then $(CYGPATH_W) 'profiles/audio/a2dp.c'; else $(CYGPATH_W) '$(srcdir)/profiles/audio/a2dp.c'; fi` - -profiles/audio/bluetoothd-avdtp.o: profiles/audio/avdtp.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/audio/bluetoothd-avdtp.o -MD -MP -MF profiles/audio/$(DEPDIR)/bluetoothd-avdtp.Tpo -c -o profiles/audio/bluetoothd-avdtp.o `test -f 'profiles/audio/avdtp.c' || echo '$(srcdir)/'`profiles/audio/avdtp.c - $(AM_V_at)$(am__mv) profiles/audio/$(DEPDIR)/bluetoothd-avdtp.Tpo profiles/audio/$(DEPDIR)/bluetoothd-avdtp.Po -# $(AM_V_CC)source='profiles/audio/avdtp.c' object='profiles/audio/bluetoothd-avdtp.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/audio/bluetoothd-avdtp.o `test -f 'profiles/audio/avdtp.c' || echo '$(srcdir)/'`profiles/audio/avdtp.c - -profiles/audio/bluetoothd-avdtp.obj: profiles/audio/avdtp.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/audio/bluetoothd-avdtp.obj -MD -MP -MF profiles/audio/$(DEPDIR)/bluetoothd-avdtp.Tpo -c -o profiles/audio/bluetoothd-avdtp.obj `if test -f 'profiles/audio/avdtp.c'; then $(CYGPATH_W) 'profiles/audio/avdtp.c'; else $(CYGPATH_W) '$(srcdir)/profiles/audio/avdtp.c'; fi` - $(AM_V_at)$(am__mv) profiles/audio/$(DEPDIR)/bluetoothd-avdtp.Tpo profiles/audio/$(DEPDIR)/bluetoothd-avdtp.Po -# $(AM_V_CC)source='profiles/audio/avdtp.c' object='profiles/audio/bluetoothd-avdtp.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/audio/bluetoothd-avdtp.obj `if test -f 'profiles/audio/avdtp.c'; then $(CYGPATH_W) 'profiles/audio/avdtp.c'; else $(CYGPATH_W) '$(srcdir)/profiles/audio/avdtp.c'; fi` - -profiles/audio/bluetoothd-media.o: profiles/audio/media.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/audio/bluetoothd-media.o -MD -MP -MF profiles/audio/$(DEPDIR)/bluetoothd-media.Tpo -c -o profiles/audio/bluetoothd-media.o `test -f 'profiles/audio/media.c' || echo '$(srcdir)/'`profiles/audio/media.c - $(AM_V_at)$(am__mv) profiles/audio/$(DEPDIR)/bluetoothd-media.Tpo profiles/audio/$(DEPDIR)/bluetoothd-media.Po -# $(AM_V_CC)source='profiles/audio/media.c' object='profiles/audio/bluetoothd-media.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/audio/bluetoothd-media.o `test -f 'profiles/audio/media.c' || echo '$(srcdir)/'`profiles/audio/media.c - -profiles/audio/bluetoothd-media.obj: profiles/audio/media.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/audio/bluetoothd-media.obj -MD -MP -MF profiles/audio/$(DEPDIR)/bluetoothd-media.Tpo -c -o profiles/audio/bluetoothd-media.obj `if test -f 'profiles/audio/media.c'; then $(CYGPATH_W) 'profiles/audio/media.c'; else $(CYGPATH_W) '$(srcdir)/profiles/audio/media.c'; fi` - $(AM_V_at)$(am__mv) profiles/audio/$(DEPDIR)/bluetoothd-media.Tpo profiles/audio/$(DEPDIR)/bluetoothd-media.Po -# $(AM_V_CC)source='profiles/audio/media.c' object='profiles/audio/bluetoothd-media.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/audio/bluetoothd-media.obj `if test -f 'profiles/audio/media.c'; then $(CYGPATH_W) 'profiles/audio/media.c'; else $(CYGPATH_W) '$(srcdir)/profiles/audio/media.c'; fi` - -profiles/audio/bluetoothd-transport.o: profiles/audio/transport.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/audio/bluetoothd-transport.o -MD -MP -MF profiles/audio/$(DEPDIR)/bluetoothd-transport.Tpo -c -o profiles/audio/bluetoothd-transport.o `test -f 'profiles/audio/transport.c' || echo '$(srcdir)/'`profiles/audio/transport.c - $(AM_V_at)$(am__mv) profiles/audio/$(DEPDIR)/bluetoothd-transport.Tpo profiles/audio/$(DEPDIR)/bluetoothd-transport.Po -# $(AM_V_CC)source='profiles/audio/transport.c' object='profiles/audio/bluetoothd-transport.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/audio/bluetoothd-transport.o `test -f 'profiles/audio/transport.c' || echo '$(srcdir)/'`profiles/audio/transport.c - -profiles/audio/bluetoothd-transport.obj: profiles/audio/transport.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/audio/bluetoothd-transport.obj -MD -MP -MF profiles/audio/$(DEPDIR)/bluetoothd-transport.Tpo -c -o profiles/audio/bluetoothd-transport.obj `if test -f 'profiles/audio/transport.c'; then $(CYGPATH_W) 'profiles/audio/transport.c'; else $(CYGPATH_W) '$(srcdir)/profiles/audio/transport.c'; fi` - $(AM_V_at)$(am__mv) profiles/audio/$(DEPDIR)/bluetoothd-transport.Tpo profiles/audio/$(DEPDIR)/bluetoothd-transport.Po -# $(AM_V_CC)source='profiles/audio/transport.c' object='profiles/audio/bluetoothd-transport.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/audio/bluetoothd-transport.obj `if test -f 'profiles/audio/transport.c'; then $(CYGPATH_W) 'profiles/audio/transport.c'; else $(CYGPATH_W) '$(srcdir)/profiles/audio/transport.c'; fi` - -profiles/audio/bluetoothd-player.o: profiles/audio/player.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/audio/bluetoothd-player.o -MD -MP -MF profiles/audio/$(DEPDIR)/bluetoothd-player.Tpo -c -o profiles/audio/bluetoothd-player.o `test -f 'profiles/audio/player.c' || echo '$(srcdir)/'`profiles/audio/player.c - $(AM_V_at)$(am__mv) profiles/audio/$(DEPDIR)/bluetoothd-player.Tpo profiles/audio/$(DEPDIR)/bluetoothd-player.Po -# $(AM_V_CC)source='profiles/audio/player.c' object='profiles/audio/bluetoothd-player.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/audio/bluetoothd-player.o `test -f 'profiles/audio/player.c' || echo '$(srcdir)/'`profiles/audio/player.c - -profiles/audio/bluetoothd-player.obj: profiles/audio/player.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/audio/bluetoothd-player.obj -MD -MP -MF profiles/audio/$(DEPDIR)/bluetoothd-player.Tpo -c -o profiles/audio/bluetoothd-player.obj `if test -f 'profiles/audio/player.c'; then $(CYGPATH_W) 'profiles/audio/player.c'; else $(CYGPATH_W) '$(srcdir)/profiles/audio/player.c'; fi` - $(AM_V_at)$(am__mv) profiles/audio/$(DEPDIR)/bluetoothd-player.Tpo profiles/audio/$(DEPDIR)/bluetoothd-player.Po -# $(AM_V_CC)source='profiles/audio/player.c' object='profiles/audio/bluetoothd-player.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/audio/bluetoothd-player.obj `if test -f 'profiles/audio/player.c'; then $(CYGPATH_W) 'profiles/audio/player.c'; else $(CYGPATH_W) '$(srcdir)/profiles/audio/player.c'; fi` - -profiles/network/bluetoothd-manager.o: profiles/network/manager.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/network/bluetoothd-manager.o -MD -MP -MF profiles/network/$(DEPDIR)/bluetoothd-manager.Tpo -c -o profiles/network/bluetoothd-manager.o `test -f 'profiles/network/manager.c' || echo '$(srcdir)/'`profiles/network/manager.c - $(AM_V_at)$(am__mv) profiles/network/$(DEPDIR)/bluetoothd-manager.Tpo profiles/network/$(DEPDIR)/bluetoothd-manager.Po -# $(AM_V_CC)source='profiles/network/manager.c' object='profiles/network/bluetoothd-manager.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/network/bluetoothd-manager.o `test -f 'profiles/network/manager.c' || echo '$(srcdir)/'`profiles/network/manager.c - -profiles/network/bluetoothd-manager.obj: profiles/network/manager.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/network/bluetoothd-manager.obj -MD -MP -MF profiles/network/$(DEPDIR)/bluetoothd-manager.Tpo -c -o profiles/network/bluetoothd-manager.obj `if test -f 'profiles/network/manager.c'; then $(CYGPATH_W) 'profiles/network/manager.c'; else $(CYGPATH_W) '$(srcdir)/profiles/network/manager.c'; fi` - $(AM_V_at)$(am__mv) profiles/network/$(DEPDIR)/bluetoothd-manager.Tpo profiles/network/$(DEPDIR)/bluetoothd-manager.Po -# $(AM_V_CC)source='profiles/network/manager.c' object='profiles/network/bluetoothd-manager.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/network/bluetoothd-manager.obj `if test -f 'profiles/network/manager.c'; then $(CYGPATH_W) 'profiles/network/manager.c'; else $(CYGPATH_W) '$(srcdir)/profiles/network/manager.c'; fi` - -profiles/network/bluetoothd-common.o: profiles/network/common.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/network/bluetoothd-common.o -MD -MP -MF profiles/network/$(DEPDIR)/bluetoothd-common.Tpo -c -o profiles/network/bluetoothd-common.o `test -f 'profiles/network/common.c' || echo '$(srcdir)/'`profiles/network/common.c - $(AM_V_at)$(am__mv) profiles/network/$(DEPDIR)/bluetoothd-common.Tpo profiles/network/$(DEPDIR)/bluetoothd-common.Po -# $(AM_V_CC)source='profiles/network/common.c' object='profiles/network/bluetoothd-common.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/network/bluetoothd-common.o `test -f 'profiles/network/common.c' || echo '$(srcdir)/'`profiles/network/common.c - -profiles/network/bluetoothd-common.obj: profiles/network/common.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/network/bluetoothd-common.obj -MD -MP -MF profiles/network/$(DEPDIR)/bluetoothd-common.Tpo -c -o profiles/network/bluetoothd-common.obj `if test -f 'profiles/network/common.c'; then $(CYGPATH_W) 'profiles/network/common.c'; else $(CYGPATH_W) '$(srcdir)/profiles/network/common.c'; fi` - $(AM_V_at)$(am__mv) profiles/network/$(DEPDIR)/bluetoothd-common.Tpo profiles/network/$(DEPDIR)/bluetoothd-common.Po -# $(AM_V_CC)source='profiles/network/common.c' object='profiles/network/bluetoothd-common.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/network/bluetoothd-common.obj `if test -f 'profiles/network/common.c'; then $(CYGPATH_W) 'profiles/network/common.c'; else $(CYGPATH_W) '$(srcdir)/profiles/network/common.c'; fi` - -profiles/network/bluetoothd-server.o: profiles/network/server.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/network/bluetoothd-server.o -MD -MP -MF profiles/network/$(DEPDIR)/bluetoothd-server.Tpo -c -o profiles/network/bluetoothd-server.o `test -f 'profiles/network/server.c' || echo '$(srcdir)/'`profiles/network/server.c - $(AM_V_at)$(am__mv) profiles/network/$(DEPDIR)/bluetoothd-server.Tpo profiles/network/$(DEPDIR)/bluetoothd-server.Po -# $(AM_V_CC)source='profiles/network/server.c' object='profiles/network/bluetoothd-server.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/network/bluetoothd-server.o `test -f 'profiles/network/server.c' || echo '$(srcdir)/'`profiles/network/server.c - -profiles/network/bluetoothd-server.obj: profiles/network/server.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/network/bluetoothd-server.obj -MD -MP -MF profiles/network/$(DEPDIR)/bluetoothd-server.Tpo -c -o profiles/network/bluetoothd-server.obj `if test -f 'profiles/network/server.c'; then $(CYGPATH_W) 'profiles/network/server.c'; else $(CYGPATH_W) '$(srcdir)/profiles/network/server.c'; fi` - $(AM_V_at)$(am__mv) profiles/network/$(DEPDIR)/bluetoothd-server.Tpo profiles/network/$(DEPDIR)/bluetoothd-server.Po -# $(AM_V_CC)source='profiles/network/server.c' object='profiles/network/bluetoothd-server.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/network/bluetoothd-server.obj `if test -f 'profiles/network/server.c'; then $(CYGPATH_W) 'profiles/network/server.c'; else $(CYGPATH_W) '$(srcdir)/profiles/network/server.c'; fi` - -profiles/network/bluetoothd-connection.o: profiles/network/connection.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/network/bluetoothd-connection.o -MD -MP -MF profiles/network/$(DEPDIR)/bluetoothd-connection.Tpo -c -o profiles/network/bluetoothd-connection.o `test -f 'profiles/network/connection.c' || echo '$(srcdir)/'`profiles/network/connection.c - $(AM_V_at)$(am__mv) profiles/network/$(DEPDIR)/bluetoothd-connection.Tpo profiles/network/$(DEPDIR)/bluetoothd-connection.Po -# $(AM_V_CC)source='profiles/network/connection.c' object='profiles/network/bluetoothd-connection.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/network/bluetoothd-connection.o `test -f 'profiles/network/connection.c' || echo '$(srcdir)/'`profiles/network/connection.c - -profiles/network/bluetoothd-connection.obj: profiles/network/connection.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/network/bluetoothd-connection.obj -MD -MP -MF profiles/network/$(DEPDIR)/bluetoothd-connection.Tpo -c -o profiles/network/bluetoothd-connection.obj `if test -f 'profiles/network/connection.c'; then $(CYGPATH_W) 'profiles/network/connection.c'; else $(CYGPATH_W) '$(srcdir)/profiles/network/connection.c'; fi` - $(AM_V_at)$(am__mv) profiles/network/$(DEPDIR)/bluetoothd-connection.Tpo profiles/network/$(DEPDIR)/bluetoothd-connection.Po -# $(AM_V_CC)source='profiles/network/connection.c' object='profiles/network/bluetoothd-connection.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/network/bluetoothd-connection.obj `if test -f 'profiles/network/connection.c'; then $(CYGPATH_W) 'profiles/network/connection.c'; else $(CYGPATH_W) '$(srcdir)/profiles/network/connection.c'; fi` - -profiles/input/bluetoothd-manager.o: profiles/input/manager.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/input/bluetoothd-manager.o -MD -MP -MF profiles/input/$(DEPDIR)/bluetoothd-manager.Tpo -c -o profiles/input/bluetoothd-manager.o `test -f 'profiles/input/manager.c' || echo '$(srcdir)/'`profiles/input/manager.c - $(AM_V_at)$(am__mv) profiles/input/$(DEPDIR)/bluetoothd-manager.Tpo profiles/input/$(DEPDIR)/bluetoothd-manager.Po -# $(AM_V_CC)source='profiles/input/manager.c' object='profiles/input/bluetoothd-manager.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/input/bluetoothd-manager.o `test -f 'profiles/input/manager.c' || echo '$(srcdir)/'`profiles/input/manager.c - -profiles/input/bluetoothd-manager.obj: profiles/input/manager.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/input/bluetoothd-manager.obj -MD -MP -MF profiles/input/$(DEPDIR)/bluetoothd-manager.Tpo -c -o profiles/input/bluetoothd-manager.obj `if test -f 'profiles/input/manager.c'; then $(CYGPATH_W) 'profiles/input/manager.c'; else $(CYGPATH_W) '$(srcdir)/profiles/input/manager.c'; fi` - $(AM_V_at)$(am__mv) profiles/input/$(DEPDIR)/bluetoothd-manager.Tpo profiles/input/$(DEPDIR)/bluetoothd-manager.Po -# $(AM_V_CC)source='profiles/input/manager.c' object='profiles/input/bluetoothd-manager.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/input/bluetoothd-manager.obj `if test -f 'profiles/input/manager.c'; then $(CYGPATH_W) 'profiles/input/manager.c'; else $(CYGPATH_W) '$(srcdir)/profiles/input/manager.c'; fi` - -profiles/input/bluetoothd-server.o: profiles/input/server.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/input/bluetoothd-server.o -MD -MP -MF profiles/input/$(DEPDIR)/bluetoothd-server.Tpo -c -o profiles/input/bluetoothd-server.o `test -f 'profiles/input/server.c' || echo '$(srcdir)/'`profiles/input/server.c - $(AM_V_at)$(am__mv) profiles/input/$(DEPDIR)/bluetoothd-server.Tpo profiles/input/$(DEPDIR)/bluetoothd-server.Po -# $(AM_V_CC)source='profiles/input/server.c' object='profiles/input/bluetoothd-server.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/input/bluetoothd-server.o `test -f 'profiles/input/server.c' || echo '$(srcdir)/'`profiles/input/server.c - -profiles/input/bluetoothd-server.obj: profiles/input/server.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/input/bluetoothd-server.obj -MD -MP -MF profiles/input/$(DEPDIR)/bluetoothd-server.Tpo -c -o profiles/input/bluetoothd-server.obj `if test -f 'profiles/input/server.c'; then $(CYGPATH_W) 'profiles/input/server.c'; else $(CYGPATH_W) '$(srcdir)/profiles/input/server.c'; fi` - $(AM_V_at)$(am__mv) profiles/input/$(DEPDIR)/bluetoothd-server.Tpo profiles/input/$(DEPDIR)/bluetoothd-server.Po -# $(AM_V_CC)source='profiles/input/server.c' object='profiles/input/bluetoothd-server.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/input/bluetoothd-server.obj `if test -f 'profiles/input/server.c'; then $(CYGPATH_W) 'profiles/input/server.c'; else $(CYGPATH_W) '$(srcdir)/profiles/input/server.c'; fi` - -profiles/input/bluetoothd-device.o: profiles/input/device.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/input/bluetoothd-device.o -MD -MP -MF profiles/input/$(DEPDIR)/bluetoothd-device.Tpo -c -o profiles/input/bluetoothd-device.o `test -f 'profiles/input/device.c' || echo '$(srcdir)/'`profiles/input/device.c - $(AM_V_at)$(am__mv) profiles/input/$(DEPDIR)/bluetoothd-device.Tpo profiles/input/$(DEPDIR)/bluetoothd-device.Po -# $(AM_V_CC)source='profiles/input/device.c' object='profiles/input/bluetoothd-device.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/input/bluetoothd-device.o `test -f 'profiles/input/device.c' || echo '$(srcdir)/'`profiles/input/device.c - -profiles/input/bluetoothd-device.obj: profiles/input/device.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/input/bluetoothd-device.obj -MD -MP -MF profiles/input/$(DEPDIR)/bluetoothd-device.Tpo -c -o profiles/input/bluetoothd-device.obj `if test -f 'profiles/input/device.c'; then $(CYGPATH_W) 'profiles/input/device.c'; else $(CYGPATH_W) '$(srcdir)/profiles/input/device.c'; fi` - $(AM_V_at)$(am__mv) profiles/input/$(DEPDIR)/bluetoothd-device.Tpo profiles/input/$(DEPDIR)/bluetoothd-device.Po -# $(AM_V_CC)source='profiles/input/device.c' object='profiles/input/bluetoothd-device.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/input/bluetoothd-device.obj `if test -f 'profiles/input/device.c'; then $(CYGPATH_W) 'profiles/input/device.c'; else $(CYGPATH_W) '$(srcdir)/profiles/input/device.c'; fi` - -profiles/input/bluetoothd-hog.o: profiles/input/hog.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/input/bluetoothd-hog.o -MD -MP -MF profiles/input/$(DEPDIR)/bluetoothd-hog.Tpo -c -o profiles/input/bluetoothd-hog.o `test -f 'profiles/input/hog.c' || echo '$(srcdir)/'`profiles/input/hog.c - $(AM_V_at)$(am__mv) profiles/input/$(DEPDIR)/bluetoothd-hog.Tpo profiles/input/$(DEPDIR)/bluetoothd-hog.Po -# $(AM_V_CC)source='profiles/input/hog.c' object='profiles/input/bluetoothd-hog.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/input/bluetoothd-hog.o `test -f 'profiles/input/hog.c' || echo '$(srcdir)/'`profiles/input/hog.c - -profiles/input/bluetoothd-hog.obj: profiles/input/hog.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/input/bluetoothd-hog.obj -MD -MP -MF profiles/input/$(DEPDIR)/bluetoothd-hog.Tpo -c -o profiles/input/bluetoothd-hog.obj `if test -f 'profiles/input/hog.c'; then $(CYGPATH_W) 'profiles/input/hog.c'; else $(CYGPATH_W) '$(srcdir)/profiles/input/hog.c'; fi` - $(AM_V_at)$(am__mv) profiles/input/$(DEPDIR)/bluetoothd-hog.Tpo profiles/input/$(DEPDIR)/bluetoothd-hog.Po -# $(AM_V_CC)source='profiles/input/hog.c' object='profiles/input/bluetoothd-hog.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/input/bluetoothd-hog.obj `if test -f 'profiles/input/hog.c'; then $(CYGPATH_W) 'profiles/input/hog.c'; else $(CYGPATH_W) '$(srcdir)/profiles/input/hog.c'; fi` - -profiles/input/bluetoothd-suspend-dummy.o: profiles/input/suspend-dummy.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/input/bluetoothd-suspend-dummy.o -MD -MP -MF profiles/input/$(DEPDIR)/bluetoothd-suspend-dummy.Tpo -c -o profiles/input/bluetoothd-suspend-dummy.o `test -f 'profiles/input/suspend-dummy.c' || echo '$(srcdir)/'`profiles/input/suspend-dummy.c - $(AM_V_at)$(am__mv) profiles/input/$(DEPDIR)/bluetoothd-suspend-dummy.Tpo profiles/input/$(DEPDIR)/bluetoothd-suspend-dummy.Po -# $(AM_V_CC)source='profiles/input/suspend-dummy.c' object='profiles/input/bluetoothd-suspend-dummy.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/input/bluetoothd-suspend-dummy.o `test -f 'profiles/input/suspend-dummy.c' || echo '$(srcdir)/'`profiles/input/suspend-dummy.c - -profiles/input/bluetoothd-suspend-dummy.obj: profiles/input/suspend-dummy.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/input/bluetoothd-suspend-dummy.obj -MD -MP -MF profiles/input/$(DEPDIR)/bluetoothd-suspend-dummy.Tpo -c -o profiles/input/bluetoothd-suspend-dummy.obj `if test -f 'profiles/input/suspend-dummy.c'; then $(CYGPATH_W) 'profiles/input/suspend-dummy.c'; else $(CYGPATH_W) '$(srcdir)/profiles/input/suspend-dummy.c'; fi` - $(AM_V_at)$(am__mv) profiles/input/$(DEPDIR)/bluetoothd-suspend-dummy.Tpo profiles/input/$(DEPDIR)/bluetoothd-suspend-dummy.Po -# $(AM_V_CC)source='profiles/input/suspend-dummy.c' object='profiles/input/bluetoothd-suspend-dummy.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/input/bluetoothd-suspend-dummy.obj `if test -f 'profiles/input/suspend-dummy.c'; then $(CYGPATH_W) 'profiles/input/suspend-dummy.c'; else $(CYGPATH_W) '$(srcdir)/profiles/input/suspend-dummy.c'; fi` - -profiles/health/bluetoothd-mcap.o: profiles/health/mcap.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/health/bluetoothd-mcap.o -MD -MP -MF profiles/health/$(DEPDIR)/bluetoothd-mcap.Tpo -c -o profiles/health/bluetoothd-mcap.o `test -f 'profiles/health/mcap.c' || echo '$(srcdir)/'`profiles/health/mcap.c - $(AM_V_at)$(am__mv) profiles/health/$(DEPDIR)/bluetoothd-mcap.Tpo profiles/health/$(DEPDIR)/bluetoothd-mcap.Po -# $(AM_V_CC)source='profiles/health/mcap.c' object='profiles/health/bluetoothd-mcap.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/health/bluetoothd-mcap.o `test -f 'profiles/health/mcap.c' || echo '$(srcdir)/'`profiles/health/mcap.c - -profiles/health/bluetoothd-mcap.obj: profiles/health/mcap.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/health/bluetoothd-mcap.obj -MD -MP -MF profiles/health/$(DEPDIR)/bluetoothd-mcap.Tpo -c -o profiles/health/bluetoothd-mcap.obj `if test -f 'profiles/health/mcap.c'; then $(CYGPATH_W) 'profiles/health/mcap.c'; else $(CYGPATH_W) '$(srcdir)/profiles/health/mcap.c'; fi` - $(AM_V_at)$(am__mv) profiles/health/$(DEPDIR)/bluetoothd-mcap.Tpo profiles/health/$(DEPDIR)/bluetoothd-mcap.Po -# $(AM_V_CC)source='profiles/health/mcap.c' object='profiles/health/bluetoothd-mcap.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/health/bluetoothd-mcap.obj `if test -f 'profiles/health/mcap.c'; then $(CYGPATH_W) 'profiles/health/mcap.c'; else $(CYGPATH_W) '$(srcdir)/profiles/health/mcap.c'; fi` - -profiles/health/bluetoothd-mcap_sync.o: profiles/health/mcap_sync.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/health/bluetoothd-mcap_sync.o -MD -MP -MF profiles/health/$(DEPDIR)/bluetoothd-mcap_sync.Tpo -c -o profiles/health/bluetoothd-mcap_sync.o `test -f 'profiles/health/mcap_sync.c' || echo '$(srcdir)/'`profiles/health/mcap_sync.c - $(AM_V_at)$(am__mv) profiles/health/$(DEPDIR)/bluetoothd-mcap_sync.Tpo profiles/health/$(DEPDIR)/bluetoothd-mcap_sync.Po -# $(AM_V_CC)source='profiles/health/mcap_sync.c' object='profiles/health/bluetoothd-mcap_sync.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/health/bluetoothd-mcap_sync.o `test -f 'profiles/health/mcap_sync.c' || echo '$(srcdir)/'`profiles/health/mcap_sync.c - -profiles/health/bluetoothd-mcap_sync.obj: profiles/health/mcap_sync.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/health/bluetoothd-mcap_sync.obj -MD -MP -MF profiles/health/$(DEPDIR)/bluetoothd-mcap_sync.Tpo -c -o profiles/health/bluetoothd-mcap_sync.obj `if test -f 'profiles/health/mcap_sync.c'; then $(CYGPATH_W) 'profiles/health/mcap_sync.c'; else $(CYGPATH_W) '$(srcdir)/profiles/health/mcap_sync.c'; fi` - $(AM_V_at)$(am__mv) profiles/health/$(DEPDIR)/bluetoothd-mcap_sync.Tpo profiles/health/$(DEPDIR)/bluetoothd-mcap_sync.Po -# $(AM_V_CC)source='profiles/health/mcap_sync.c' object='profiles/health/bluetoothd-mcap_sync.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/health/bluetoothd-mcap_sync.obj `if test -f 'profiles/health/mcap_sync.c'; then $(CYGPATH_W) 'profiles/health/mcap_sync.c'; else $(CYGPATH_W) '$(srcdir)/profiles/health/mcap_sync.c'; fi` - -profiles/health/bluetoothd-hdp_main.o: profiles/health/hdp_main.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/health/bluetoothd-hdp_main.o -MD -MP -MF profiles/health/$(DEPDIR)/bluetoothd-hdp_main.Tpo -c -o profiles/health/bluetoothd-hdp_main.o `test -f 'profiles/health/hdp_main.c' || echo '$(srcdir)/'`profiles/health/hdp_main.c - $(AM_V_at)$(am__mv) profiles/health/$(DEPDIR)/bluetoothd-hdp_main.Tpo profiles/health/$(DEPDIR)/bluetoothd-hdp_main.Po -# $(AM_V_CC)source='profiles/health/hdp_main.c' object='profiles/health/bluetoothd-hdp_main.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/health/bluetoothd-hdp_main.o `test -f 'profiles/health/hdp_main.c' || echo '$(srcdir)/'`profiles/health/hdp_main.c - -profiles/health/bluetoothd-hdp_main.obj: profiles/health/hdp_main.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/health/bluetoothd-hdp_main.obj -MD -MP -MF profiles/health/$(DEPDIR)/bluetoothd-hdp_main.Tpo -c -o profiles/health/bluetoothd-hdp_main.obj `if test -f 'profiles/health/hdp_main.c'; then $(CYGPATH_W) 'profiles/health/hdp_main.c'; else $(CYGPATH_W) '$(srcdir)/profiles/health/hdp_main.c'; fi` - $(AM_V_at)$(am__mv) profiles/health/$(DEPDIR)/bluetoothd-hdp_main.Tpo profiles/health/$(DEPDIR)/bluetoothd-hdp_main.Po -# $(AM_V_CC)source='profiles/health/hdp_main.c' object='profiles/health/bluetoothd-hdp_main.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/health/bluetoothd-hdp_main.obj `if test -f 'profiles/health/hdp_main.c'; then $(CYGPATH_W) 'profiles/health/hdp_main.c'; else $(CYGPATH_W) '$(srcdir)/profiles/health/hdp_main.c'; fi` - -profiles/health/bluetoothd-hdp_manager.o: profiles/health/hdp_manager.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/health/bluetoothd-hdp_manager.o -MD -MP -MF profiles/health/$(DEPDIR)/bluetoothd-hdp_manager.Tpo -c -o profiles/health/bluetoothd-hdp_manager.o `test -f 'profiles/health/hdp_manager.c' || echo '$(srcdir)/'`profiles/health/hdp_manager.c - $(AM_V_at)$(am__mv) profiles/health/$(DEPDIR)/bluetoothd-hdp_manager.Tpo profiles/health/$(DEPDIR)/bluetoothd-hdp_manager.Po -# $(AM_V_CC)source='profiles/health/hdp_manager.c' object='profiles/health/bluetoothd-hdp_manager.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/health/bluetoothd-hdp_manager.o `test -f 'profiles/health/hdp_manager.c' || echo '$(srcdir)/'`profiles/health/hdp_manager.c - -profiles/health/bluetoothd-hdp_manager.obj: profiles/health/hdp_manager.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/health/bluetoothd-hdp_manager.obj -MD -MP -MF profiles/health/$(DEPDIR)/bluetoothd-hdp_manager.Tpo -c -o profiles/health/bluetoothd-hdp_manager.obj `if test -f 'profiles/health/hdp_manager.c'; then $(CYGPATH_W) 'profiles/health/hdp_manager.c'; else $(CYGPATH_W) '$(srcdir)/profiles/health/hdp_manager.c'; fi` - $(AM_V_at)$(am__mv) profiles/health/$(DEPDIR)/bluetoothd-hdp_manager.Tpo profiles/health/$(DEPDIR)/bluetoothd-hdp_manager.Po -# $(AM_V_CC)source='profiles/health/hdp_manager.c' object='profiles/health/bluetoothd-hdp_manager.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/health/bluetoothd-hdp_manager.obj `if test -f 'profiles/health/hdp_manager.c'; then $(CYGPATH_W) 'profiles/health/hdp_manager.c'; else $(CYGPATH_W) '$(srcdir)/profiles/health/hdp_manager.c'; fi` - -profiles/health/bluetoothd-hdp.o: profiles/health/hdp.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/health/bluetoothd-hdp.o -MD -MP -MF profiles/health/$(DEPDIR)/bluetoothd-hdp.Tpo -c -o profiles/health/bluetoothd-hdp.o `test -f 'profiles/health/hdp.c' || echo '$(srcdir)/'`profiles/health/hdp.c - $(AM_V_at)$(am__mv) profiles/health/$(DEPDIR)/bluetoothd-hdp.Tpo profiles/health/$(DEPDIR)/bluetoothd-hdp.Po -# $(AM_V_CC)source='profiles/health/hdp.c' object='profiles/health/bluetoothd-hdp.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/health/bluetoothd-hdp.o `test -f 'profiles/health/hdp.c' || echo '$(srcdir)/'`profiles/health/hdp.c - -profiles/health/bluetoothd-hdp.obj: profiles/health/hdp.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/health/bluetoothd-hdp.obj -MD -MP -MF profiles/health/$(DEPDIR)/bluetoothd-hdp.Tpo -c -o profiles/health/bluetoothd-hdp.obj `if test -f 'profiles/health/hdp.c'; then $(CYGPATH_W) 'profiles/health/hdp.c'; else $(CYGPATH_W) '$(srcdir)/profiles/health/hdp.c'; fi` - $(AM_V_at)$(am__mv) profiles/health/$(DEPDIR)/bluetoothd-hdp.Tpo profiles/health/$(DEPDIR)/bluetoothd-hdp.Po -# $(AM_V_CC)source='profiles/health/hdp.c' object='profiles/health/bluetoothd-hdp.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/health/bluetoothd-hdp.obj `if test -f 'profiles/health/hdp.c'; then $(CYGPATH_W) 'profiles/health/hdp.c'; else $(CYGPATH_W) '$(srcdir)/profiles/health/hdp.c'; fi` - -profiles/health/bluetoothd-hdp_util.o: profiles/health/hdp_util.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/health/bluetoothd-hdp_util.o -MD -MP -MF profiles/health/$(DEPDIR)/bluetoothd-hdp_util.Tpo -c -o profiles/health/bluetoothd-hdp_util.o `test -f 'profiles/health/hdp_util.c' || echo '$(srcdir)/'`profiles/health/hdp_util.c - $(AM_V_at)$(am__mv) profiles/health/$(DEPDIR)/bluetoothd-hdp_util.Tpo profiles/health/$(DEPDIR)/bluetoothd-hdp_util.Po -# $(AM_V_CC)source='profiles/health/hdp_util.c' object='profiles/health/bluetoothd-hdp_util.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/health/bluetoothd-hdp_util.o `test -f 'profiles/health/hdp_util.c' || echo '$(srcdir)/'`profiles/health/hdp_util.c - -profiles/health/bluetoothd-hdp_util.obj: profiles/health/hdp_util.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/health/bluetoothd-hdp_util.obj -MD -MP -MF profiles/health/$(DEPDIR)/bluetoothd-hdp_util.Tpo -c -o profiles/health/bluetoothd-hdp_util.obj `if test -f 'profiles/health/hdp_util.c'; then $(CYGPATH_W) 'profiles/health/hdp_util.c'; else $(CYGPATH_W) '$(srcdir)/profiles/health/hdp_util.c'; fi` - $(AM_V_at)$(am__mv) profiles/health/$(DEPDIR)/bluetoothd-hdp_util.Tpo profiles/health/$(DEPDIR)/bluetoothd-hdp_util.Po -# $(AM_V_CC)source='profiles/health/hdp_util.c' object='profiles/health/bluetoothd-hdp_util.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/health/bluetoothd-hdp_util.obj `if test -f 'profiles/health/hdp_util.c'; then $(CYGPATH_W) 'profiles/health/hdp_util.c'; else $(CYGPATH_W) '$(srcdir)/profiles/health/hdp_util.c'; fi` - -profiles/gatt/bluetoothd-gas.o: profiles/gatt/gas.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/gatt/bluetoothd-gas.o -MD -MP -MF profiles/gatt/$(DEPDIR)/bluetoothd-gas.Tpo -c -o profiles/gatt/bluetoothd-gas.o `test -f 'profiles/gatt/gas.c' || echo '$(srcdir)/'`profiles/gatt/gas.c - $(AM_V_at)$(am__mv) profiles/gatt/$(DEPDIR)/bluetoothd-gas.Tpo profiles/gatt/$(DEPDIR)/bluetoothd-gas.Po -# $(AM_V_CC)source='profiles/gatt/gas.c' object='profiles/gatt/bluetoothd-gas.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/gatt/bluetoothd-gas.o `test -f 'profiles/gatt/gas.c' || echo '$(srcdir)/'`profiles/gatt/gas.c - -profiles/gatt/bluetoothd-gas.obj: profiles/gatt/gas.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/gatt/bluetoothd-gas.obj -MD -MP -MF profiles/gatt/$(DEPDIR)/bluetoothd-gas.Tpo -c -o profiles/gatt/bluetoothd-gas.obj `if test -f 'profiles/gatt/gas.c'; then $(CYGPATH_W) 'profiles/gatt/gas.c'; else $(CYGPATH_W) '$(srcdir)/profiles/gatt/gas.c'; fi` - $(AM_V_at)$(am__mv) profiles/gatt/$(DEPDIR)/bluetoothd-gas.Tpo profiles/gatt/$(DEPDIR)/bluetoothd-gas.Po -# $(AM_V_CC)source='profiles/gatt/gas.c' object='profiles/gatt/bluetoothd-gas.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/gatt/bluetoothd-gas.obj `if test -f 'profiles/gatt/gas.c'; then $(CYGPATH_W) 'profiles/gatt/gas.c'; else $(CYGPATH_W) '$(srcdir)/profiles/gatt/gas.c'; fi` - -profiles/scanparam/bluetoothd-scan.o: profiles/scanparam/scan.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/scanparam/bluetoothd-scan.o -MD -MP -MF profiles/scanparam/$(DEPDIR)/bluetoothd-scan.Tpo -c -o profiles/scanparam/bluetoothd-scan.o `test -f 'profiles/scanparam/scan.c' || echo '$(srcdir)/'`profiles/scanparam/scan.c - $(AM_V_at)$(am__mv) profiles/scanparam/$(DEPDIR)/bluetoothd-scan.Tpo profiles/scanparam/$(DEPDIR)/bluetoothd-scan.Po -# $(AM_V_CC)source='profiles/scanparam/scan.c' object='profiles/scanparam/bluetoothd-scan.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/scanparam/bluetoothd-scan.o `test -f 'profiles/scanparam/scan.c' || echo '$(srcdir)/'`profiles/scanparam/scan.c - -profiles/scanparam/bluetoothd-scan.obj: profiles/scanparam/scan.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/scanparam/bluetoothd-scan.obj -MD -MP -MF profiles/scanparam/$(DEPDIR)/bluetoothd-scan.Tpo -c -o profiles/scanparam/bluetoothd-scan.obj `if test -f 'profiles/scanparam/scan.c'; then $(CYGPATH_W) 'profiles/scanparam/scan.c'; else $(CYGPATH_W) '$(srcdir)/profiles/scanparam/scan.c'; fi` - $(AM_V_at)$(am__mv) profiles/scanparam/$(DEPDIR)/bluetoothd-scan.Tpo profiles/scanparam/$(DEPDIR)/bluetoothd-scan.Po -# $(AM_V_CC)source='profiles/scanparam/scan.c' object='profiles/scanparam/bluetoothd-scan.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/scanparam/bluetoothd-scan.obj `if test -f 'profiles/scanparam/scan.c'; then $(CYGPATH_W) 'profiles/scanparam/scan.c'; else $(CYGPATH_W) '$(srcdir)/profiles/scanparam/scan.c'; fi` - -profiles/deviceinfo/bluetoothd-deviceinfo.o: profiles/deviceinfo/deviceinfo.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/deviceinfo/bluetoothd-deviceinfo.o -MD -MP -MF profiles/deviceinfo/$(DEPDIR)/bluetoothd-deviceinfo.Tpo -c -o profiles/deviceinfo/bluetoothd-deviceinfo.o `test -f 'profiles/deviceinfo/deviceinfo.c' || echo '$(srcdir)/'`profiles/deviceinfo/deviceinfo.c - $(AM_V_at)$(am__mv) profiles/deviceinfo/$(DEPDIR)/bluetoothd-deviceinfo.Tpo profiles/deviceinfo/$(DEPDIR)/bluetoothd-deviceinfo.Po -# $(AM_V_CC)source='profiles/deviceinfo/deviceinfo.c' object='profiles/deviceinfo/bluetoothd-deviceinfo.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/deviceinfo/bluetoothd-deviceinfo.o `test -f 'profiles/deviceinfo/deviceinfo.c' || echo '$(srcdir)/'`profiles/deviceinfo/deviceinfo.c - -profiles/deviceinfo/bluetoothd-deviceinfo.obj: profiles/deviceinfo/deviceinfo.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/deviceinfo/bluetoothd-deviceinfo.obj -MD -MP -MF profiles/deviceinfo/$(DEPDIR)/bluetoothd-deviceinfo.Tpo -c -o profiles/deviceinfo/bluetoothd-deviceinfo.obj `if test -f 'profiles/deviceinfo/deviceinfo.c'; then $(CYGPATH_W) 'profiles/deviceinfo/deviceinfo.c'; else $(CYGPATH_W) '$(srcdir)/profiles/deviceinfo/deviceinfo.c'; fi` - $(AM_V_at)$(am__mv) profiles/deviceinfo/$(DEPDIR)/bluetoothd-deviceinfo.Tpo profiles/deviceinfo/$(DEPDIR)/bluetoothd-deviceinfo.Po -# $(AM_V_CC)source='profiles/deviceinfo/deviceinfo.c' object='profiles/deviceinfo/bluetoothd-deviceinfo.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/deviceinfo/bluetoothd-deviceinfo.obj `if test -f 'profiles/deviceinfo/deviceinfo.c'; then $(CYGPATH_W) 'profiles/deviceinfo/deviceinfo.c'; else $(CYGPATH_W) '$(srcdir)/profiles/deviceinfo/deviceinfo.c'; fi` - -profiles/alert/bluetoothd-server.o: profiles/alert/server.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/alert/bluetoothd-server.o -MD -MP -MF profiles/alert/$(DEPDIR)/bluetoothd-server.Tpo -c -o profiles/alert/bluetoothd-server.o `test -f 'profiles/alert/server.c' || echo '$(srcdir)/'`profiles/alert/server.c - $(AM_V_at)$(am__mv) profiles/alert/$(DEPDIR)/bluetoothd-server.Tpo profiles/alert/$(DEPDIR)/bluetoothd-server.Po -# $(AM_V_CC)source='profiles/alert/server.c' object='profiles/alert/bluetoothd-server.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/alert/bluetoothd-server.o `test -f 'profiles/alert/server.c' || echo '$(srcdir)/'`profiles/alert/server.c - -profiles/alert/bluetoothd-server.obj: profiles/alert/server.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/alert/bluetoothd-server.obj -MD -MP -MF profiles/alert/$(DEPDIR)/bluetoothd-server.Tpo -c -o profiles/alert/bluetoothd-server.obj `if test -f 'profiles/alert/server.c'; then $(CYGPATH_W) 'profiles/alert/server.c'; else $(CYGPATH_W) '$(srcdir)/profiles/alert/server.c'; fi` - $(AM_V_at)$(am__mv) profiles/alert/$(DEPDIR)/bluetoothd-server.Tpo profiles/alert/$(DEPDIR)/bluetoothd-server.Po -# $(AM_V_CC)source='profiles/alert/server.c' object='profiles/alert/bluetoothd-server.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/alert/bluetoothd-server.obj `if test -f 'profiles/alert/server.c'; then $(CYGPATH_W) 'profiles/alert/server.c'; else $(CYGPATH_W) '$(srcdir)/profiles/alert/server.c'; fi` - -profiles/time/bluetoothd-server.o: profiles/time/server.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/time/bluetoothd-server.o -MD -MP -MF profiles/time/$(DEPDIR)/bluetoothd-server.Tpo -c -o profiles/time/bluetoothd-server.o `test -f 'profiles/time/server.c' || echo '$(srcdir)/'`profiles/time/server.c - $(AM_V_at)$(am__mv) profiles/time/$(DEPDIR)/bluetoothd-server.Tpo profiles/time/$(DEPDIR)/bluetoothd-server.Po -# $(AM_V_CC)source='profiles/time/server.c' object='profiles/time/bluetoothd-server.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/time/bluetoothd-server.o `test -f 'profiles/time/server.c' || echo '$(srcdir)/'`profiles/time/server.c - -profiles/time/bluetoothd-server.obj: profiles/time/server.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/time/bluetoothd-server.obj -MD -MP -MF profiles/time/$(DEPDIR)/bluetoothd-server.Tpo -c -o profiles/time/bluetoothd-server.obj `if test -f 'profiles/time/server.c'; then $(CYGPATH_W) 'profiles/time/server.c'; else $(CYGPATH_W) '$(srcdir)/profiles/time/server.c'; fi` - $(AM_V_at)$(am__mv) profiles/time/$(DEPDIR)/bluetoothd-server.Tpo profiles/time/$(DEPDIR)/bluetoothd-server.Po -# $(AM_V_CC)source='profiles/time/server.c' object='profiles/time/bluetoothd-server.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/time/bluetoothd-server.obj `if test -f 'profiles/time/server.c'; then $(CYGPATH_W) 'profiles/time/server.c'; else $(CYGPATH_W) '$(srcdir)/profiles/time/server.c'; fi` - -profiles/proximity/bluetoothd-main.o: profiles/proximity/main.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/proximity/bluetoothd-main.o -MD -MP -MF profiles/proximity/$(DEPDIR)/bluetoothd-main.Tpo -c -o profiles/proximity/bluetoothd-main.o `test -f 'profiles/proximity/main.c' || echo '$(srcdir)/'`profiles/proximity/main.c - $(AM_V_at)$(am__mv) profiles/proximity/$(DEPDIR)/bluetoothd-main.Tpo profiles/proximity/$(DEPDIR)/bluetoothd-main.Po -# $(AM_V_CC)source='profiles/proximity/main.c' object='profiles/proximity/bluetoothd-main.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/proximity/bluetoothd-main.o `test -f 'profiles/proximity/main.c' || echo '$(srcdir)/'`profiles/proximity/main.c - -profiles/proximity/bluetoothd-main.obj: profiles/proximity/main.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/proximity/bluetoothd-main.obj -MD -MP -MF profiles/proximity/$(DEPDIR)/bluetoothd-main.Tpo -c -o profiles/proximity/bluetoothd-main.obj `if test -f 'profiles/proximity/main.c'; then $(CYGPATH_W) 'profiles/proximity/main.c'; else $(CYGPATH_W) '$(srcdir)/profiles/proximity/main.c'; fi` - $(AM_V_at)$(am__mv) profiles/proximity/$(DEPDIR)/bluetoothd-main.Tpo profiles/proximity/$(DEPDIR)/bluetoothd-main.Po -# $(AM_V_CC)source='profiles/proximity/main.c' object='profiles/proximity/bluetoothd-main.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/proximity/bluetoothd-main.obj `if test -f 'profiles/proximity/main.c'; then $(CYGPATH_W) 'profiles/proximity/main.c'; else $(CYGPATH_W) '$(srcdir)/profiles/proximity/main.c'; fi` - -profiles/proximity/bluetoothd-manager.o: profiles/proximity/manager.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/proximity/bluetoothd-manager.o -MD -MP -MF profiles/proximity/$(DEPDIR)/bluetoothd-manager.Tpo -c -o profiles/proximity/bluetoothd-manager.o `test -f 'profiles/proximity/manager.c' || echo '$(srcdir)/'`profiles/proximity/manager.c - $(AM_V_at)$(am__mv) profiles/proximity/$(DEPDIR)/bluetoothd-manager.Tpo profiles/proximity/$(DEPDIR)/bluetoothd-manager.Po -# $(AM_V_CC)source='profiles/proximity/manager.c' object='profiles/proximity/bluetoothd-manager.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/proximity/bluetoothd-manager.o `test -f 'profiles/proximity/manager.c' || echo '$(srcdir)/'`profiles/proximity/manager.c - -profiles/proximity/bluetoothd-manager.obj: profiles/proximity/manager.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/proximity/bluetoothd-manager.obj -MD -MP -MF profiles/proximity/$(DEPDIR)/bluetoothd-manager.Tpo -c -o profiles/proximity/bluetoothd-manager.obj `if test -f 'profiles/proximity/manager.c'; then $(CYGPATH_W) 'profiles/proximity/manager.c'; else $(CYGPATH_W) '$(srcdir)/profiles/proximity/manager.c'; fi` - $(AM_V_at)$(am__mv) profiles/proximity/$(DEPDIR)/bluetoothd-manager.Tpo profiles/proximity/$(DEPDIR)/bluetoothd-manager.Po -# $(AM_V_CC)source='profiles/proximity/manager.c' object='profiles/proximity/bluetoothd-manager.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/proximity/bluetoothd-manager.obj `if test -f 'profiles/proximity/manager.c'; then $(CYGPATH_W) 'profiles/proximity/manager.c'; else $(CYGPATH_W) '$(srcdir)/profiles/proximity/manager.c'; fi` - -profiles/proximity/bluetoothd-monitor.o: profiles/proximity/monitor.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/proximity/bluetoothd-monitor.o -MD -MP -MF profiles/proximity/$(DEPDIR)/bluetoothd-monitor.Tpo -c -o profiles/proximity/bluetoothd-monitor.o `test -f 'profiles/proximity/monitor.c' || echo '$(srcdir)/'`profiles/proximity/monitor.c - $(AM_V_at)$(am__mv) profiles/proximity/$(DEPDIR)/bluetoothd-monitor.Tpo profiles/proximity/$(DEPDIR)/bluetoothd-monitor.Po -# $(AM_V_CC)source='profiles/proximity/monitor.c' object='profiles/proximity/bluetoothd-monitor.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/proximity/bluetoothd-monitor.o `test -f 'profiles/proximity/monitor.c' || echo '$(srcdir)/'`profiles/proximity/monitor.c - -profiles/proximity/bluetoothd-monitor.obj: profiles/proximity/monitor.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/proximity/bluetoothd-monitor.obj -MD -MP -MF profiles/proximity/$(DEPDIR)/bluetoothd-monitor.Tpo -c -o profiles/proximity/bluetoothd-monitor.obj `if test -f 'profiles/proximity/monitor.c'; then $(CYGPATH_W) 'profiles/proximity/monitor.c'; else $(CYGPATH_W) '$(srcdir)/profiles/proximity/monitor.c'; fi` - $(AM_V_at)$(am__mv) profiles/proximity/$(DEPDIR)/bluetoothd-monitor.Tpo profiles/proximity/$(DEPDIR)/bluetoothd-monitor.Po -# $(AM_V_CC)source='profiles/proximity/monitor.c' object='profiles/proximity/bluetoothd-monitor.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/proximity/bluetoothd-monitor.obj `if test -f 'profiles/proximity/monitor.c'; then $(CYGPATH_W) 'profiles/proximity/monitor.c'; else $(CYGPATH_W) '$(srcdir)/profiles/proximity/monitor.c'; fi` - -profiles/proximity/bluetoothd-reporter.o: profiles/proximity/reporter.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/proximity/bluetoothd-reporter.o -MD -MP -MF profiles/proximity/$(DEPDIR)/bluetoothd-reporter.Tpo -c -o profiles/proximity/bluetoothd-reporter.o `test -f 'profiles/proximity/reporter.c' || echo '$(srcdir)/'`profiles/proximity/reporter.c - $(AM_V_at)$(am__mv) profiles/proximity/$(DEPDIR)/bluetoothd-reporter.Tpo profiles/proximity/$(DEPDIR)/bluetoothd-reporter.Po -# $(AM_V_CC)source='profiles/proximity/reporter.c' object='profiles/proximity/bluetoothd-reporter.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/proximity/bluetoothd-reporter.o `test -f 'profiles/proximity/reporter.c' || echo '$(srcdir)/'`profiles/proximity/reporter.c - -profiles/proximity/bluetoothd-reporter.obj: profiles/proximity/reporter.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/proximity/bluetoothd-reporter.obj -MD -MP -MF profiles/proximity/$(DEPDIR)/bluetoothd-reporter.Tpo -c -o profiles/proximity/bluetoothd-reporter.obj `if test -f 'profiles/proximity/reporter.c'; then $(CYGPATH_W) 'profiles/proximity/reporter.c'; else $(CYGPATH_W) '$(srcdir)/profiles/proximity/reporter.c'; fi` - $(AM_V_at)$(am__mv) profiles/proximity/$(DEPDIR)/bluetoothd-reporter.Tpo profiles/proximity/$(DEPDIR)/bluetoothd-reporter.Po -# $(AM_V_CC)source='profiles/proximity/reporter.c' object='profiles/proximity/bluetoothd-reporter.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/proximity/bluetoothd-reporter.obj `if test -f 'profiles/proximity/reporter.c'; then $(CYGPATH_W) 'profiles/proximity/reporter.c'; else $(CYGPATH_W) '$(srcdir)/profiles/proximity/reporter.c'; fi` - -profiles/proximity/bluetoothd-linkloss.o: profiles/proximity/linkloss.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/proximity/bluetoothd-linkloss.o -MD -MP -MF profiles/proximity/$(DEPDIR)/bluetoothd-linkloss.Tpo -c -o profiles/proximity/bluetoothd-linkloss.o `test -f 'profiles/proximity/linkloss.c' || echo '$(srcdir)/'`profiles/proximity/linkloss.c - $(AM_V_at)$(am__mv) profiles/proximity/$(DEPDIR)/bluetoothd-linkloss.Tpo profiles/proximity/$(DEPDIR)/bluetoothd-linkloss.Po -# $(AM_V_CC)source='profiles/proximity/linkloss.c' object='profiles/proximity/bluetoothd-linkloss.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/proximity/bluetoothd-linkloss.o `test -f 'profiles/proximity/linkloss.c' || echo '$(srcdir)/'`profiles/proximity/linkloss.c - -profiles/proximity/bluetoothd-linkloss.obj: profiles/proximity/linkloss.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/proximity/bluetoothd-linkloss.obj -MD -MP -MF profiles/proximity/$(DEPDIR)/bluetoothd-linkloss.Tpo -c -o profiles/proximity/bluetoothd-linkloss.obj `if test -f 'profiles/proximity/linkloss.c'; then $(CYGPATH_W) 'profiles/proximity/linkloss.c'; else $(CYGPATH_W) '$(srcdir)/profiles/proximity/linkloss.c'; fi` - $(AM_V_at)$(am__mv) profiles/proximity/$(DEPDIR)/bluetoothd-linkloss.Tpo profiles/proximity/$(DEPDIR)/bluetoothd-linkloss.Po -# $(AM_V_CC)source='profiles/proximity/linkloss.c' object='profiles/proximity/bluetoothd-linkloss.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/proximity/bluetoothd-linkloss.obj `if test -f 'profiles/proximity/linkloss.c'; then $(CYGPATH_W) 'profiles/proximity/linkloss.c'; else $(CYGPATH_W) '$(srcdir)/profiles/proximity/linkloss.c'; fi` - -profiles/proximity/bluetoothd-immalert.o: profiles/proximity/immalert.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/proximity/bluetoothd-immalert.o -MD -MP -MF profiles/proximity/$(DEPDIR)/bluetoothd-immalert.Tpo -c -o profiles/proximity/bluetoothd-immalert.o `test -f 'profiles/proximity/immalert.c' || echo '$(srcdir)/'`profiles/proximity/immalert.c - $(AM_V_at)$(am__mv) profiles/proximity/$(DEPDIR)/bluetoothd-immalert.Tpo profiles/proximity/$(DEPDIR)/bluetoothd-immalert.Po -# $(AM_V_CC)source='profiles/proximity/immalert.c' object='profiles/proximity/bluetoothd-immalert.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/proximity/bluetoothd-immalert.o `test -f 'profiles/proximity/immalert.c' || echo '$(srcdir)/'`profiles/proximity/immalert.c - -profiles/proximity/bluetoothd-immalert.obj: profiles/proximity/immalert.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/proximity/bluetoothd-immalert.obj -MD -MP -MF profiles/proximity/$(DEPDIR)/bluetoothd-immalert.Tpo -c -o profiles/proximity/bluetoothd-immalert.obj `if test -f 'profiles/proximity/immalert.c'; then $(CYGPATH_W) 'profiles/proximity/immalert.c'; else $(CYGPATH_W) '$(srcdir)/profiles/proximity/immalert.c'; fi` - $(AM_V_at)$(am__mv) profiles/proximity/$(DEPDIR)/bluetoothd-immalert.Tpo profiles/proximity/$(DEPDIR)/bluetoothd-immalert.Po -# $(AM_V_CC)source='profiles/proximity/immalert.c' object='profiles/proximity/bluetoothd-immalert.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/proximity/bluetoothd-immalert.obj `if test -f 'profiles/proximity/immalert.c'; then $(CYGPATH_W) 'profiles/proximity/immalert.c'; else $(CYGPATH_W) '$(srcdir)/profiles/proximity/immalert.c'; fi` - -profiles/thermometer/bluetoothd-thermometer.o: profiles/thermometer/thermometer.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/thermometer/bluetoothd-thermometer.o -MD -MP -MF profiles/thermometer/$(DEPDIR)/bluetoothd-thermometer.Tpo -c -o profiles/thermometer/bluetoothd-thermometer.o `test -f 'profiles/thermometer/thermometer.c' || echo '$(srcdir)/'`profiles/thermometer/thermometer.c - $(AM_V_at)$(am__mv) profiles/thermometer/$(DEPDIR)/bluetoothd-thermometer.Tpo profiles/thermometer/$(DEPDIR)/bluetoothd-thermometer.Po -# $(AM_V_CC)source='profiles/thermometer/thermometer.c' object='profiles/thermometer/bluetoothd-thermometer.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/thermometer/bluetoothd-thermometer.o `test -f 'profiles/thermometer/thermometer.c' || echo '$(srcdir)/'`profiles/thermometer/thermometer.c - -profiles/thermometer/bluetoothd-thermometer.obj: profiles/thermometer/thermometer.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/thermometer/bluetoothd-thermometer.obj -MD -MP -MF profiles/thermometer/$(DEPDIR)/bluetoothd-thermometer.Tpo -c -o profiles/thermometer/bluetoothd-thermometer.obj `if test -f 'profiles/thermometer/thermometer.c'; then $(CYGPATH_W) 'profiles/thermometer/thermometer.c'; else $(CYGPATH_W) '$(srcdir)/profiles/thermometer/thermometer.c'; fi` - $(AM_V_at)$(am__mv) profiles/thermometer/$(DEPDIR)/bluetoothd-thermometer.Tpo profiles/thermometer/$(DEPDIR)/bluetoothd-thermometer.Po -# $(AM_V_CC)source='profiles/thermometer/thermometer.c' object='profiles/thermometer/bluetoothd-thermometer.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/thermometer/bluetoothd-thermometer.obj `if test -f 'profiles/thermometer/thermometer.c'; then $(CYGPATH_W) 'profiles/thermometer/thermometer.c'; else $(CYGPATH_W) '$(srcdir)/profiles/thermometer/thermometer.c'; fi` - -profiles/heartrate/bluetoothd-heartrate.o: profiles/heartrate/heartrate.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/heartrate/bluetoothd-heartrate.o -MD -MP -MF profiles/heartrate/$(DEPDIR)/bluetoothd-heartrate.Tpo -c -o profiles/heartrate/bluetoothd-heartrate.o `test -f 'profiles/heartrate/heartrate.c' || echo '$(srcdir)/'`profiles/heartrate/heartrate.c - $(AM_V_at)$(am__mv) profiles/heartrate/$(DEPDIR)/bluetoothd-heartrate.Tpo profiles/heartrate/$(DEPDIR)/bluetoothd-heartrate.Po -# $(AM_V_CC)source='profiles/heartrate/heartrate.c' object='profiles/heartrate/bluetoothd-heartrate.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/heartrate/bluetoothd-heartrate.o `test -f 'profiles/heartrate/heartrate.c' || echo '$(srcdir)/'`profiles/heartrate/heartrate.c - -profiles/heartrate/bluetoothd-heartrate.obj: profiles/heartrate/heartrate.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/heartrate/bluetoothd-heartrate.obj -MD -MP -MF profiles/heartrate/$(DEPDIR)/bluetoothd-heartrate.Tpo -c -o profiles/heartrate/bluetoothd-heartrate.obj `if test -f 'profiles/heartrate/heartrate.c'; then $(CYGPATH_W) 'profiles/heartrate/heartrate.c'; else $(CYGPATH_W) '$(srcdir)/profiles/heartrate/heartrate.c'; fi` - $(AM_V_at)$(am__mv) profiles/heartrate/$(DEPDIR)/bluetoothd-heartrate.Tpo profiles/heartrate/$(DEPDIR)/bluetoothd-heartrate.Po -# $(AM_V_CC)source='profiles/heartrate/heartrate.c' object='profiles/heartrate/bluetoothd-heartrate.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/heartrate/bluetoothd-heartrate.obj `if test -f 'profiles/heartrate/heartrate.c'; then $(CYGPATH_W) 'profiles/heartrate/heartrate.c'; else $(CYGPATH_W) '$(srcdir)/profiles/heartrate/heartrate.c'; fi` - -profiles/cyclingspeed/bluetoothd-cyclingspeed.o: profiles/cyclingspeed/cyclingspeed.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/cyclingspeed/bluetoothd-cyclingspeed.o -MD -MP -MF profiles/cyclingspeed/$(DEPDIR)/bluetoothd-cyclingspeed.Tpo -c -o profiles/cyclingspeed/bluetoothd-cyclingspeed.o `test -f 'profiles/cyclingspeed/cyclingspeed.c' || echo '$(srcdir)/'`profiles/cyclingspeed/cyclingspeed.c - $(AM_V_at)$(am__mv) profiles/cyclingspeed/$(DEPDIR)/bluetoothd-cyclingspeed.Tpo profiles/cyclingspeed/$(DEPDIR)/bluetoothd-cyclingspeed.Po -# $(AM_V_CC)source='profiles/cyclingspeed/cyclingspeed.c' object='profiles/cyclingspeed/bluetoothd-cyclingspeed.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/cyclingspeed/bluetoothd-cyclingspeed.o `test -f 'profiles/cyclingspeed/cyclingspeed.c' || echo '$(srcdir)/'`profiles/cyclingspeed/cyclingspeed.c - -profiles/cyclingspeed/bluetoothd-cyclingspeed.obj: profiles/cyclingspeed/cyclingspeed.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/cyclingspeed/bluetoothd-cyclingspeed.obj -MD -MP -MF profiles/cyclingspeed/$(DEPDIR)/bluetoothd-cyclingspeed.Tpo -c -o profiles/cyclingspeed/bluetoothd-cyclingspeed.obj `if test -f 'profiles/cyclingspeed/cyclingspeed.c'; then $(CYGPATH_W) 'profiles/cyclingspeed/cyclingspeed.c'; else $(CYGPATH_W) '$(srcdir)/profiles/cyclingspeed/cyclingspeed.c'; fi` - $(AM_V_at)$(am__mv) profiles/cyclingspeed/$(DEPDIR)/bluetoothd-cyclingspeed.Tpo profiles/cyclingspeed/$(DEPDIR)/bluetoothd-cyclingspeed.Po -# $(AM_V_CC)source='profiles/cyclingspeed/cyclingspeed.c' object='profiles/cyclingspeed/bluetoothd-cyclingspeed.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/cyclingspeed/bluetoothd-cyclingspeed.obj `if test -f 'profiles/cyclingspeed/cyclingspeed.c'; then $(CYGPATH_W) 'profiles/cyclingspeed/cyclingspeed.c'; else $(CYGPATH_W) '$(srcdir)/profiles/cyclingspeed/cyclingspeed.c'; fi` - -attrib/bluetoothd-att.o: attrib/att.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT attrib/bluetoothd-att.o -MD -MP -MF attrib/$(DEPDIR)/bluetoothd-att.Tpo -c -o attrib/bluetoothd-att.o `test -f 'attrib/att.c' || echo '$(srcdir)/'`attrib/att.c - $(AM_V_at)$(am__mv) attrib/$(DEPDIR)/bluetoothd-att.Tpo attrib/$(DEPDIR)/bluetoothd-att.Po -# $(AM_V_CC)source='attrib/att.c' object='attrib/bluetoothd-att.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o attrib/bluetoothd-att.o `test -f 'attrib/att.c' || echo '$(srcdir)/'`attrib/att.c - -attrib/bluetoothd-att.obj: attrib/att.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT attrib/bluetoothd-att.obj -MD -MP -MF attrib/$(DEPDIR)/bluetoothd-att.Tpo -c -o attrib/bluetoothd-att.obj `if test -f 'attrib/att.c'; then $(CYGPATH_W) 'attrib/att.c'; else $(CYGPATH_W) '$(srcdir)/attrib/att.c'; fi` - $(AM_V_at)$(am__mv) attrib/$(DEPDIR)/bluetoothd-att.Tpo attrib/$(DEPDIR)/bluetoothd-att.Po -# $(AM_V_CC)source='attrib/att.c' object='attrib/bluetoothd-att.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o attrib/bluetoothd-att.obj `if test -f 'attrib/att.c'; then $(CYGPATH_W) 'attrib/att.c'; else $(CYGPATH_W) '$(srcdir)/attrib/att.c'; fi` - -attrib/bluetoothd-gatt.o: attrib/gatt.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT attrib/bluetoothd-gatt.o -MD -MP -MF attrib/$(DEPDIR)/bluetoothd-gatt.Tpo -c -o attrib/bluetoothd-gatt.o `test -f 'attrib/gatt.c' || echo '$(srcdir)/'`attrib/gatt.c - $(AM_V_at)$(am__mv) attrib/$(DEPDIR)/bluetoothd-gatt.Tpo attrib/$(DEPDIR)/bluetoothd-gatt.Po -# $(AM_V_CC)source='attrib/gatt.c' object='attrib/bluetoothd-gatt.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o attrib/bluetoothd-gatt.o `test -f 'attrib/gatt.c' || echo '$(srcdir)/'`attrib/gatt.c - -attrib/bluetoothd-gatt.obj: attrib/gatt.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT attrib/bluetoothd-gatt.obj -MD -MP -MF attrib/$(DEPDIR)/bluetoothd-gatt.Tpo -c -o attrib/bluetoothd-gatt.obj `if test -f 'attrib/gatt.c'; then $(CYGPATH_W) 'attrib/gatt.c'; else $(CYGPATH_W) '$(srcdir)/attrib/gatt.c'; fi` - $(AM_V_at)$(am__mv) attrib/$(DEPDIR)/bluetoothd-gatt.Tpo attrib/$(DEPDIR)/bluetoothd-gatt.Po -# $(AM_V_CC)source='attrib/gatt.c' object='attrib/bluetoothd-gatt.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o attrib/bluetoothd-gatt.obj `if test -f 'attrib/gatt.c'; then $(CYGPATH_W) 'attrib/gatt.c'; else $(CYGPATH_W) '$(srcdir)/attrib/gatt.c'; fi` - -attrib/bluetoothd-gattrib.o: attrib/gattrib.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT attrib/bluetoothd-gattrib.o -MD -MP -MF attrib/$(DEPDIR)/bluetoothd-gattrib.Tpo -c -o attrib/bluetoothd-gattrib.o `test -f 'attrib/gattrib.c' || echo '$(srcdir)/'`attrib/gattrib.c - $(AM_V_at)$(am__mv) attrib/$(DEPDIR)/bluetoothd-gattrib.Tpo attrib/$(DEPDIR)/bluetoothd-gattrib.Po -# $(AM_V_CC)source='attrib/gattrib.c' object='attrib/bluetoothd-gattrib.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o attrib/bluetoothd-gattrib.o `test -f 'attrib/gattrib.c' || echo '$(srcdir)/'`attrib/gattrib.c - -attrib/bluetoothd-gattrib.obj: attrib/gattrib.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT attrib/bluetoothd-gattrib.obj -MD -MP -MF attrib/$(DEPDIR)/bluetoothd-gattrib.Tpo -c -o attrib/bluetoothd-gattrib.obj `if test -f 'attrib/gattrib.c'; then $(CYGPATH_W) 'attrib/gattrib.c'; else $(CYGPATH_W) '$(srcdir)/attrib/gattrib.c'; fi` - $(AM_V_at)$(am__mv) attrib/$(DEPDIR)/bluetoothd-gattrib.Tpo attrib/$(DEPDIR)/bluetoothd-gattrib.Po -# $(AM_V_CC)source='attrib/gattrib.c' object='attrib/bluetoothd-gattrib.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o attrib/bluetoothd-gattrib.obj `if test -f 'attrib/gattrib.c'; then $(CYGPATH_W) 'attrib/gattrib.c'; else $(CYGPATH_W) '$(srcdir)/attrib/gattrib.c'; fi` - -attrib/bluetoothd-gatt-service.o: attrib/gatt-service.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT attrib/bluetoothd-gatt-service.o -MD -MP -MF attrib/$(DEPDIR)/bluetoothd-gatt-service.Tpo -c -o attrib/bluetoothd-gatt-service.o `test -f 'attrib/gatt-service.c' || echo '$(srcdir)/'`attrib/gatt-service.c - $(AM_V_at)$(am__mv) attrib/$(DEPDIR)/bluetoothd-gatt-service.Tpo attrib/$(DEPDIR)/bluetoothd-gatt-service.Po -# $(AM_V_CC)source='attrib/gatt-service.c' object='attrib/bluetoothd-gatt-service.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o attrib/bluetoothd-gatt-service.o `test -f 'attrib/gatt-service.c' || echo '$(srcdir)/'`attrib/gatt-service.c - -attrib/bluetoothd-gatt-service.obj: attrib/gatt-service.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT attrib/bluetoothd-gatt-service.obj -MD -MP -MF attrib/$(DEPDIR)/bluetoothd-gatt-service.Tpo -c -o attrib/bluetoothd-gatt-service.obj `if test -f 'attrib/gatt-service.c'; then $(CYGPATH_W) 'attrib/gatt-service.c'; else $(CYGPATH_W) '$(srcdir)/attrib/gatt-service.c'; fi` - $(AM_V_at)$(am__mv) attrib/$(DEPDIR)/bluetoothd-gatt-service.Tpo attrib/$(DEPDIR)/bluetoothd-gatt-service.Po -# $(AM_V_CC)source='attrib/gatt-service.c' object='attrib/bluetoothd-gatt-service.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o attrib/bluetoothd-gatt-service.obj `if test -f 'attrib/gatt-service.c'; then $(CYGPATH_W) 'attrib/gatt-service.c'; else $(CYGPATH_W) '$(srcdir)/attrib/gatt-service.c'; fi` - -btio/bluetoothd-btio.o: btio/btio.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT btio/bluetoothd-btio.o -MD -MP -MF btio/$(DEPDIR)/bluetoothd-btio.Tpo -c -o btio/bluetoothd-btio.o `test -f 'btio/btio.c' || echo '$(srcdir)/'`btio/btio.c - $(AM_V_at)$(am__mv) btio/$(DEPDIR)/bluetoothd-btio.Tpo btio/$(DEPDIR)/bluetoothd-btio.Po -# $(AM_V_CC)source='btio/btio.c' object='btio/bluetoothd-btio.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o btio/bluetoothd-btio.o `test -f 'btio/btio.c' || echo '$(srcdir)/'`btio/btio.c - -btio/bluetoothd-btio.obj: btio/btio.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT btio/bluetoothd-btio.obj -MD -MP -MF btio/$(DEPDIR)/bluetoothd-btio.Tpo -c -o btio/bluetoothd-btio.obj `if test -f 'btio/btio.c'; then $(CYGPATH_W) 'btio/btio.c'; else $(CYGPATH_W) '$(srcdir)/btio/btio.c'; fi` - $(AM_V_at)$(am__mv) btio/$(DEPDIR)/bluetoothd-btio.Tpo btio/$(DEPDIR)/bluetoothd-btio.Po -# $(AM_V_CC)source='btio/btio.c' object='btio/bluetoothd-btio.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o btio/bluetoothd-btio.obj `if test -f 'btio/btio.c'; then $(CYGPATH_W) 'btio/btio.c'; else $(CYGPATH_W) '$(srcdir)/btio/btio.c'; fi` - -src/bluetoothd-main.o: src/main.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT src/bluetoothd-main.o -MD -MP -MF src/$(DEPDIR)/bluetoothd-main.Tpo -c -o src/bluetoothd-main.o `test -f 'src/main.c' || echo '$(srcdir)/'`src/main.c - $(AM_V_at)$(am__mv) src/$(DEPDIR)/bluetoothd-main.Tpo src/$(DEPDIR)/bluetoothd-main.Po -# $(AM_V_CC)source='src/main.c' object='src/bluetoothd-main.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o src/bluetoothd-main.o `test -f 'src/main.c' || echo '$(srcdir)/'`src/main.c - -src/bluetoothd-main.obj: src/main.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT src/bluetoothd-main.obj -MD -MP -MF src/$(DEPDIR)/bluetoothd-main.Tpo -c -o src/bluetoothd-main.obj `if test -f 'src/main.c'; then $(CYGPATH_W) 'src/main.c'; else $(CYGPATH_W) '$(srcdir)/src/main.c'; fi` - $(AM_V_at)$(am__mv) src/$(DEPDIR)/bluetoothd-main.Tpo src/$(DEPDIR)/bluetoothd-main.Po -# $(AM_V_CC)source='src/main.c' object='src/bluetoothd-main.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o src/bluetoothd-main.obj `if test -f 'src/main.c'; then $(CYGPATH_W) 'src/main.c'; else $(CYGPATH_W) '$(srcdir)/src/main.c'; fi` - -src/bluetoothd-log.o: src/log.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT src/bluetoothd-log.o -MD -MP -MF src/$(DEPDIR)/bluetoothd-log.Tpo -c -o src/bluetoothd-log.o `test -f 'src/log.c' || echo '$(srcdir)/'`src/log.c - $(AM_V_at)$(am__mv) src/$(DEPDIR)/bluetoothd-log.Tpo src/$(DEPDIR)/bluetoothd-log.Po -# $(AM_V_CC)source='src/log.c' object='src/bluetoothd-log.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o src/bluetoothd-log.o `test -f 'src/log.c' || echo '$(srcdir)/'`src/log.c - -src/bluetoothd-log.obj: src/log.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT src/bluetoothd-log.obj -MD -MP -MF src/$(DEPDIR)/bluetoothd-log.Tpo -c -o src/bluetoothd-log.obj `if test -f 'src/log.c'; then $(CYGPATH_W) 'src/log.c'; else $(CYGPATH_W) '$(srcdir)/src/log.c'; fi` - $(AM_V_at)$(am__mv) src/$(DEPDIR)/bluetoothd-log.Tpo src/$(DEPDIR)/bluetoothd-log.Po -# $(AM_V_CC)source='src/log.c' object='src/bluetoothd-log.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o src/bluetoothd-log.obj `if test -f 'src/log.c'; then $(CYGPATH_W) 'src/log.c'; else $(CYGPATH_W) '$(srcdir)/src/log.c'; fi` - -src/bluetoothd-systemd.o: src/systemd.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT src/bluetoothd-systemd.o -MD -MP -MF src/$(DEPDIR)/bluetoothd-systemd.Tpo -c -o src/bluetoothd-systemd.o `test -f 'src/systemd.c' || echo '$(srcdir)/'`src/systemd.c - $(AM_V_at)$(am__mv) src/$(DEPDIR)/bluetoothd-systemd.Tpo src/$(DEPDIR)/bluetoothd-systemd.Po -# $(AM_V_CC)source='src/systemd.c' object='src/bluetoothd-systemd.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o src/bluetoothd-systemd.o `test -f 'src/systemd.c' || echo '$(srcdir)/'`src/systemd.c - -src/bluetoothd-systemd.obj: src/systemd.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT src/bluetoothd-systemd.obj -MD -MP -MF src/$(DEPDIR)/bluetoothd-systemd.Tpo -c -o src/bluetoothd-systemd.obj `if test -f 'src/systemd.c'; then $(CYGPATH_W) 'src/systemd.c'; else $(CYGPATH_W) '$(srcdir)/src/systemd.c'; fi` - $(AM_V_at)$(am__mv) src/$(DEPDIR)/bluetoothd-systemd.Tpo src/$(DEPDIR)/bluetoothd-systemd.Po -# $(AM_V_CC)source='src/systemd.c' object='src/bluetoothd-systemd.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o src/bluetoothd-systemd.obj `if test -f 'src/systemd.c'; then $(CYGPATH_W) 'src/systemd.c'; else $(CYGPATH_W) '$(srcdir)/src/systemd.c'; fi` - -src/bluetoothd-rfkill.o: src/rfkill.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT src/bluetoothd-rfkill.o -MD -MP -MF src/$(DEPDIR)/bluetoothd-rfkill.Tpo -c -o src/bluetoothd-rfkill.o `test -f 'src/rfkill.c' || echo '$(srcdir)/'`src/rfkill.c - $(AM_V_at)$(am__mv) src/$(DEPDIR)/bluetoothd-rfkill.Tpo src/$(DEPDIR)/bluetoothd-rfkill.Po -# $(AM_V_CC)source='src/rfkill.c' object='src/bluetoothd-rfkill.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o src/bluetoothd-rfkill.o `test -f 'src/rfkill.c' || echo '$(srcdir)/'`src/rfkill.c - -src/bluetoothd-rfkill.obj: src/rfkill.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT src/bluetoothd-rfkill.obj -MD -MP -MF src/$(DEPDIR)/bluetoothd-rfkill.Tpo -c -o src/bluetoothd-rfkill.obj `if test -f 'src/rfkill.c'; then $(CYGPATH_W) 'src/rfkill.c'; else $(CYGPATH_W) '$(srcdir)/src/rfkill.c'; fi` - $(AM_V_at)$(am__mv) src/$(DEPDIR)/bluetoothd-rfkill.Tpo src/$(DEPDIR)/bluetoothd-rfkill.Po -# $(AM_V_CC)source='src/rfkill.c' object='src/bluetoothd-rfkill.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o src/bluetoothd-rfkill.obj `if test -f 'src/rfkill.c'; then $(CYGPATH_W) 'src/rfkill.c'; else $(CYGPATH_W) '$(srcdir)/src/rfkill.c'; fi` - -src/bluetoothd-sdpd-server.o: src/sdpd-server.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT src/bluetoothd-sdpd-server.o -MD -MP -MF src/$(DEPDIR)/bluetoothd-sdpd-server.Tpo -c -o src/bluetoothd-sdpd-server.o `test -f 'src/sdpd-server.c' || echo '$(srcdir)/'`src/sdpd-server.c - $(AM_V_at)$(am__mv) src/$(DEPDIR)/bluetoothd-sdpd-server.Tpo src/$(DEPDIR)/bluetoothd-sdpd-server.Po -# $(AM_V_CC)source='src/sdpd-server.c' object='src/bluetoothd-sdpd-server.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o src/bluetoothd-sdpd-server.o `test -f 'src/sdpd-server.c' || echo '$(srcdir)/'`src/sdpd-server.c - -src/bluetoothd-sdpd-server.obj: src/sdpd-server.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT src/bluetoothd-sdpd-server.obj -MD -MP -MF src/$(DEPDIR)/bluetoothd-sdpd-server.Tpo -c -o src/bluetoothd-sdpd-server.obj `if test -f 'src/sdpd-server.c'; then $(CYGPATH_W) 'src/sdpd-server.c'; else $(CYGPATH_W) '$(srcdir)/src/sdpd-server.c'; fi` - $(AM_V_at)$(am__mv) src/$(DEPDIR)/bluetoothd-sdpd-server.Tpo src/$(DEPDIR)/bluetoothd-sdpd-server.Po -# $(AM_V_CC)source='src/sdpd-server.c' object='src/bluetoothd-sdpd-server.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o src/bluetoothd-sdpd-server.obj `if test -f 'src/sdpd-server.c'; then $(CYGPATH_W) 'src/sdpd-server.c'; else $(CYGPATH_W) '$(srcdir)/src/sdpd-server.c'; fi` - -src/bluetoothd-sdpd-request.o: src/sdpd-request.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT src/bluetoothd-sdpd-request.o -MD -MP -MF src/$(DEPDIR)/bluetoothd-sdpd-request.Tpo -c -o src/bluetoothd-sdpd-request.o `test -f 'src/sdpd-request.c' || echo '$(srcdir)/'`src/sdpd-request.c - $(AM_V_at)$(am__mv) src/$(DEPDIR)/bluetoothd-sdpd-request.Tpo src/$(DEPDIR)/bluetoothd-sdpd-request.Po -# $(AM_V_CC)source='src/sdpd-request.c' object='src/bluetoothd-sdpd-request.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o src/bluetoothd-sdpd-request.o `test -f 'src/sdpd-request.c' || echo '$(srcdir)/'`src/sdpd-request.c - -src/bluetoothd-sdpd-request.obj: src/sdpd-request.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT src/bluetoothd-sdpd-request.obj -MD -MP -MF src/$(DEPDIR)/bluetoothd-sdpd-request.Tpo -c -o src/bluetoothd-sdpd-request.obj `if test -f 'src/sdpd-request.c'; then $(CYGPATH_W) 'src/sdpd-request.c'; else $(CYGPATH_W) '$(srcdir)/src/sdpd-request.c'; fi` - $(AM_V_at)$(am__mv) src/$(DEPDIR)/bluetoothd-sdpd-request.Tpo src/$(DEPDIR)/bluetoothd-sdpd-request.Po -# $(AM_V_CC)source='src/sdpd-request.c' object='src/bluetoothd-sdpd-request.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o src/bluetoothd-sdpd-request.obj `if test -f 'src/sdpd-request.c'; then $(CYGPATH_W) 'src/sdpd-request.c'; else $(CYGPATH_W) '$(srcdir)/src/sdpd-request.c'; fi` - -src/bluetoothd-sdpd-service.o: src/sdpd-service.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT src/bluetoothd-sdpd-service.o -MD -MP -MF src/$(DEPDIR)/bluetoothd-sdpd-service.Tpo -c -o src/bluetoothd-sdpd-service.o `test -f 'src/sdpd-service.c' || echo '$(srcdir)/'`src/sdpd-service.c - $(AM_V_at)$(am__mv) src/$(DEPDIR)/bluetoothd-sdpd-service.Tpo src/$(DEPDIR)/bluetoothd-sdpd-service.Po -# $(AM_V_CC)source='src/sdpd-service.c' object='src/bluetoothd-sdpd-service.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o src/bluetoothd-sdpd-service.o `test -f 'src/sdpd-service.c' || echo '$(srcdir)/'`src/sdpd-service.c - -src/bluetoothd-sdpd-service.obj: src/sdpd-service.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT src/bluetoothd-sdpd-service.obj -MD -MP -MF src/$(DEPDIR)/bluetoothd-sdpd-service.Tpo -c -o src/bluetoothd-sdpd-service.obj `if test -f 'src/sdpd-service.c'; then $(CYGPATH_W) 'src/sdpd-service.c'; else $(CYGPATH_W) '$(srcdir)/src/sdpd-service.c'; fi` - $(AM_V_at)$(am__mv) src/$(DEPDIR)/bluetoothd-sdpd-service.Tpo src/$(DEPDIR)/bluetoothd-sdpd-service.Po -# $(AM_V_CC)source='src/sdpd-service.c' object='src/bluetoothd-sdpd-service.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o src/bluetoothd-sdpd-service.obj `if test -f 'src/sdpd-service.c'; then $(CYGPATH_W) 'src/sdpd-service.c'; else $(CYGPATH_W) '$(srcdir)/src/sdpd-service.c'; fi` - -src/bluetoothd-sdpd-database.o: src/sdpd-database.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT src/bluetoothd-sdpd-database.o -MD -MP -MF src/$(DEPDIR)/bluetoothd-sdpd-database.Tpo -c -o src/bluetoothd-sdpd-database.o `test -f 'src/sdpd-database.c' || echo '$(srcdir)/'`src/sdpd-database.c - $(AM_V_at)$(am__mv) src/$(DEPDIR)/bluetoothd-sdpd-database.Tpo src/$(DEPDIR)/bluetoothd-sdpd-database.Po -# $(AM_V_CC)source='src/sdpd-database.c' object='src/bluetoothd-sdpd-database.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o src/bluetoothd-sdpd-database.o `test -f 'src/sdpd-database.c' || echo '$(srcdir)/'`src/sdpd-database.c - -src/bluetoothd-sdpd-database.obj: src/sdpd-database.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT src/bluetoothd-sdpd-database.obj -MD -MP -MF src/$(DEPDIR)/bluetoothd-sdpd-database.Tpo -c -o src/bluetoothd-sdpd-database.obj `if test -f 'src/sdpd-database.c'; then $(CYGPATH_W) 'src/sdpd-database.c'; else $(CYGPATH_W) '$(srcdir)/src/sdpd-database.c'; fi` - $(AM_V_at)$(am__mv) src/$(DEPDIR)/bluetoothd-sdpd-database.Tpo src/$(DEPDIR)/bluetoothd-sdpd-database.Po -# $(AM_V_CC)source='src/sdpd-database.c' object='src/bluetoothd-sdpd-database.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o src/bluetoothd-sdpd-database.obj `if test -f 'src/sdpd-database.c'; then $(CYGPATH_W) 'src/sdpd-database.c'; else $(CYGPATH_W) '$(srcdir)/src/sdpd-database.c'; fi` - -src/bluetoothd-attrib-server.o: src/attrib-server.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT src/bluetoothd-attrib-server.o -MD -MP -MF src/$(DEPDIR)/bluetoothd-attrib-server.Tpo -c -o src/bluetoothd-attrib-server.o `test -f 'src/attrib-server.c' || echo '$(srcdir)/'`src/attrib-server.c - $(AM_V_at)$(am__mv) src/$(DEPDIR)/bluetoothd-attrib-server.Tpo src/$(DEPDIR)/bluetoothd-attrib-server.Po -# $(AM_V_CC)source='src/attrib-server.c' object='src/bluetoothd-attrib-server.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o src/bluetoothd-attrib-server.o `test -f 'src/attrib-server.c' || echo '$(srcdir)/'`src/attrib-server.c - -src/bluetoothd-attrib-server.obj: src/attrib-server.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT src/bluetoothd-attrib-server.obj -MD -MP -MF src/$(DEPDIR)/bluetoothd-attrib-server.Tpo -c -o src/bluetoothd-attrib-server.obj `if test -f 'src/attrib-server.c'; then $(CYGPATH_W) 'src/attrib-server.c'; else $(CYGPATH_W) '$(srcdir)/src/attrib-server.c'; fi` - $(AM_V_at)$(am__mv) src/$(DEPDIR)/bluetoothd-attrib-server.Tpo src/$(DEPDIR)/bluetoothd-attrib-server.Po -# $(AM_V_CC)source='src/attrib-server.c' object='src/bluetoothd-attrib-server.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o src/bluetoothd-attrib-server.obj `if test -f 'src/attrib-server.c'; then $(CYGPATH_W) 'src/attrib-server.c'; else $(CYGPATH_W) '$(srcdir)/src/attrib-server.c'; fi` - -src/bluetoothd-sdp-xml.o: src/sdp-xml.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT src/bluetoothd-sdp-xml.o -MD -MP -MF src/$(DEPDIR)/bluetoothd-sdp-xml.Tpo -c -o src/bluetoothd-sdp-xml.o `test -f 'src/sdp-xml.c' || echo '$(srcdir)/'`src/sdp-xml.c - $(AM_V_at)$(am__mv) src/$(DEPDIR)/bluetoothd-sdp-xml.Tpo src/$(DEPDIR)/bluetoothd-sdp-xml.Po -# $(AM_V_CC)source='src/sdp-xml.c' object='src/bluetoothd-sdp-xml.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o src/bluetoothd-sdp-xml.o `test -f 'src/sdp-xml.c' || echo '$(srcdir)/'`src/sdp-xml.c - -src/bluetoothd-sdp-xml.obj: src/sdp-xml.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT src/bluetoothd-sdp-xml.obj -MD -MP -MF src/$(DEPDIR)/bluetoothd-sdp-xml.Tpo -c -o src/bluetoothd-sdp-xml.obj `if test -f 'src/sdp-xml.c'; then $(CYGPATH_W) 'src/sdp-xml.c'; else $(CYGPATH_W) '$(srcdir)/src/sdp-xml.c'; fi` - $(AM_V_at)$(am__mv) src/$(DEPDIR)/bluetoothd-sdp-xml.Tpo src/$(DEPDIR)/bluetoothd-sdp-xml.Po -# $(AM_V_CC)source='src/sdp-xml.c' object='src/bluetoothd-sdp-xml.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o src/bluetoothd-sdp-xml.obj `if test -f 'src/sdp-xml.c'; then $(CYGPATH_W) 'src/sdp-xml.c'; else $(CYGPATH_W) '$(srcdir)/src/sdp-xml.c'; fi` - -src/bluetoothd-sdp-client.o: src/sdp-client.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT src/bluetoothd-sdp-client.o -MD -MP -MF src/$(DEPDIR)/bluetoothd-sdp-client.Tpo -c -o src/bluetoothd-sdp-client.o `test -f 'src/sdp-client.c' || echo '$(srcdir)/'`src/sdp-client.c - $(AM_V_at)$(am__mv) src/$(DEPDIR)/bluetoothd-sdp-client.Tpo src/$(DEPDIR)/bluetoothd-sdp-client.Po -# $(AM_V_CC)source='src/sdp-client.c' object='src/bluetoothd-sdp-client.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o src/bluetoothd-sdp-client.o `test -f 'src/sdp-client.c' || echo '$(srcdir)/'`src/sdp-client.c - -src/bluetoothd-sdp-client.obj: src/sdp-client.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT src/bluetoothd-sdp-client.obj -MD -MP -MF src/$(DEPDIR)/bluetoothd-sdp-client.Tpo -c -o src/bluetoothd-sdp-client.obj `if test -f 'src/sdp-client.c'; then $(CYGPATH_W) 'src/sdp-client.c'; else $(CYGPATH_W) '$(srcdir)/src/sdp-client.c'; fi` - $(AM_V_at)$(am__mv) src/$(DEPDIR)/bluetoothd-sdp-client.Tpo src/$(DEPDIR)/bluetoothd-sdp-client.Po -# $(AM_V_CC)source='src/sdp-client.c' object='src/bluetoothd-sdp-client.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o src/bluetoothd-sdp-client.obj `if test -f 'src/sdp-client.c'; then $(CYGPATH_W) 'src/sdp-client.c'; else $(CYGPATH_W) '$(srcdir)/src/sdp-client.c'; fi` - -src/bluetoothd-textfile.o: src/textfile.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT src/bluetoothd-textfile.o -MD -MP -MF src/$(DEPDIR)/bluetoothd-textfile.Tpo -c -o src/bluetoothd-textfile.o `test -f 'src/textfile.c' || echo '$(srcdir)/'`src/textfile.c - $(AM_V_at)$(am__mv) src/$(DEPDIR)/bluetoothd-textfile.Tpo src/$(DEPDIR)/bluetoothd-textfile.Po -# $(AM_V_CC)source='src/textfile.c' object='src/bluetoothd-textfile.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o src/bluetoothd-textfile.o `test -f 'src/textfile.c' || echo '$(srcdir)/'`src/textfile.c - -src/bluetoothd-textfile.obj: src/textfile.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT src/bluetoothd-textfile.obj -MD -MP -MF src/$(DEPDIR)/bluetoothd-textfile.Tpo -c -o src/bluetoothd-textfile.obj `if test -f 'src/textfile.c'; then $(CYGPATH_W) 'src/textfile.c'; else $(CYGPATH_W) '$(srcdir)/src/textfile.c'; fi` - $(AM_V_at)$(am__mv) src/$(DEPDIR)/bluetoothd-textfile.Tpo src/$(DEPDIR)/bluetoothd-textfile.Po -# $(AM_V_CC)source='src/textfile.c' object='src/bluetoothd-textfile.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o src/bluetoothd-textfile.obj `if test -f 'src/textfile.c'; then $(CYGPATH_W) 'src/textfile.c'; else $(CYGPATH_W) '$(srcdir)/src/textfile.c'; fi` - -src/bluetoothd-glib-helper.o: src/glib-helper.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT src/bluetoothd-glib-helper.o -MD -MP -MF src/$(DEPDIR)/bluetoothd-glib-helper.Tpo -c -o src/bluetoothd-glib-helper.o `test -f 'src/glib-helper.c' || echo '$(srcdir)/'`src/glib-helper.c - $(AM_V_at)$(am__mv) src/$(DEPDIR)/bluetoothd-glib-helper.Tpo src/$(DEPDIR)/bluetoothd-glib-helper.Po -# $(AM_V_CC)source='src/glib-helper.c' object='src/bluetoothd-glib-helper.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o src/bluetoothd-glib-helper.o `test -f 'src/glib-helper.c' || echo '$(srcdir)/'`src/glib-helper.c - -src/bluetoothd-glib-helper.obj: src/glib-helper.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT src/bluetoothd-glib-helper.obj -MD -MP -MF src/$(DEPDIR)/bluetoothd-glib-helper.Tpo -c -o src/bluetoothd-glib-helper.obj `if test -f 'src/glib-helper.c'; then $(CYGPATH_W) 'src/glib-helper.c'; else $(CYGPATH_W) '$(srcdir)/src/glib-helper.c'; fi` - $(AM_V_at)$(am__mv) src/$(DEPDIR)/bluetoothd-glib-helper.Tpo src/$(DEPDIR)/bluetoothd-glib-helper.Po -# $(AM_V_CC)source='src/glib-helper.c' object='src/bluetoothd-glib-helper.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o src/bluetoothd-glib-helper.obj `if test -f 'src/glib-helper.c'; then $(CYGPATH_W) 'src/glib-helper.c'; else $(CYGPATH_W) '$(srcdir)/src/glib-helper.c'; fi` - -src/bluetoothd-plugin.o: src/plugin.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT src/bluetoothd-plugin.o -MD -MP -MF src/$(DEPDIR)/bluetoothd-plugin.Tpo -c -o src/bluetoothd-plugin.o `test -f 'src/plugin.c' || echo '$(srcdir)/'`src/plugin.c - $(AM_V_at)$(am__mv) src/$(DEPDIR)/bluetoothd-plugin.Tpo src/$(DEPDIR)/bluetoothd-plugin.Po -# $(AM_V_CC)source='src/plugin.c' object='src/bluetoothd-plugin.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o src/bluetoothd-plugin.o `test -f 'src/plugin.c' || echo '$(srcdir)/'`src/plugin.c - -src/bluetoothd-plugin.obj: src/plugin.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT src/bluetoothd-plugin.obj -MD -MP -MF src/$(DEPDIR)/bluetoothd-plugin.Tpo -c -o src/bluetoothd-plugin.obj `if test -f 'src/plugin.c'; then $(CYGPATH_W) 'src/plugin.c'; else $(CYGPATH_W) '$(srcdir)/src/plugin.c'; fi` - $(AM_V_at)$(am__mv) src/$(DEPDIR)/bluetoothd-plugin.Tpo src/$(DEPDIR)/bluetoothd-plugin.Po -# $(AM_V_CC)source='src/plugin.c' object='src/bluetoothd-plugin.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o src/bluetoothd-plugin.obj `if test -f 'src/plugin.c'; then $(CYGPATH_W) 'src/plugin.c'; else $(CYGPATH_W) '$(srcdir)/src/plugin.c'; fi` - -src/bluetoothd-storage.o: src/storage.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT src/bluetoothd-storage.o -MD -MP -MF src/$(DEPDIR)/bluetoothd-storage.Tpo -c -o src/bluetoothd-storage.o `test -f 'src/storage.c' || echo '$(srcdir)/'`src/storage.c - $(AM_V_at)$(am__mv) src/$(DEPDIR)/bluetoothd-storage.Tpo src/$(DEPDIR)/bluetoothd-storage.Po -# $(AM_V_CC)source='src/storage.c' object='src/bluetoothd-storage.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o src/bluetoothd-storage.o `test -f 'src/storage.c' || echo '$(srcdir)/'`src/storage.c - -src/bluetoothd-storage.obj: src/storage.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT src/bluetoothd-storage.obj -MD -MP -MF src/$(DEPDIR)/bluetoothd-storage.Tpo -c -o src/bluetoothd-storage.obj `if test -f 'src/storage.c'; then $(CYGPATH_W) 'src/storage.c'; else $(CYGPATH_W) '$(srcdir)/src/storage.c'; fi` - $(AM_V_at)$(am__mv) src/$(DEPDIR)/bluetoothd-storage.Tpo src/$(DEPDIR)/bluetoothd-storage.Po -# $(AM_V_CC)source='src/storage.c' object='src/bluetoothd-storage.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o src/bluetoothd-storage.obj `if test -f 'src/storage.c'; then $(CYGPATH_W) 'src/storage.c'; else $(CYGPATH_W) '$(srcdir)/src/storage.c'; fi` - -src/bluetoothd-agent.o: src/agent.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT src/bluetoothd-agent.o -MD -MP -MF src/$(DEPDIR)/bluetoothd-agent.Tpo -c -o src/bluetoothd-agent.o `test -f 'src/agent.c' || echo '$(srcdir)/'`src/agent.c - $(AM_V_at)$(am__mv) src/$(DEPDIR)/bluetoothd-agent.Tpo src/$(DEPDIR)/bluetoothd-agent.Po -# $(AM_V_CC)source='src/agent.c' object='src/bluetoothd-agent.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o src/bluetoothd-agent.o `test -f 'src/agent.c' || echo '$(srcdir)/'`src/agent.c - -src/bluetoothd-agent.obj: src/agent.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT src/bluetoothd-agent.obj -MD -MP -MF src/$(DEPDIR)/bluetoothd-agent.Tpo -c -o src/bluetoothd-agent.obj `if test -f 'src/agent.c'; then $(CYGPATH_W) 'src/agent.c'; else $(CYGPATH_W) '$(srcdir)/src/agent.c'; fi` - $(AM_V_at)$(am__mv) src/$(DEPDIR)/bluetoothd-agent.Tpo src/$(DEPDIR)/bluetoothd-agent.Po -# $(AM_V_CC)source='src/agent.c' object='src/bluetoothd-agent.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o src/bluetoothd-agent.obj `if test -f 'src/agent.c'; then $(CYGPATH_W) 'src/agent.c'; else $(CYGPATH_W) '$(srcdir)/src/agent.c'; fi` - -src/bluetoothd-error.o: src/error.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT src/bluetoothd-error.o -MD -MP -MF src/$(DEPDIR)/bluetoothd-error.Tpo -c -o src/bluetoothd-error.o `test -f 'src/error.c' || echo '$(srcdir)/'`src/error.c - $(AM_V_at)$(am__mv) src/$(DEPDIR)/bluetoothd-error.Tpo src/$(DEPDIR)/bluetoothd-error.Po -# $(AM_V_CC)source='src/error.c' object='src/bluetoothd-error.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o src/bluetoothd-error.o `test -f 'src/error.c' || echo '$(srcdir)/'`src/error.c - -src/bluetoothd-error.obj: src/error.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT src/bluetoothd-error.obj -MD -MP -MF src/$(DEPDIR)/bluetoothd-error.Tpo -c -o src/bluetoothd-error.obj `if test -f 'src/error.c'; then $(CYGPATH_W) 'src/error.c'; else $(CYGPATH_W) '$(srcdir)/src/error.c'; fi` - $(AM_V_at)$(am__mv) src/$(DEPDIR)/bluetoothd-error.Tpo src/$(DEPDIR)/bluetoothd-error.Po -# $(AM_V_CC)source='src/error.c' object='src/bluetoothd-error.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o src/bluetoothd-error.obj `if test -f 'src/error.c'; then $(CYGPATH_W) 'src/error.c'; else $(CYGPATH_W) '$(srcdir)/src/error.c'; fi` - -src/bluetoothd-adapter.o: src/adapter.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT src/bluetoothd-adapter.o -MD -MP -MF src/$(DEPDIR)/bluetoothd-adapter.Tpo -c -o src/bluetoothd-adapter.o `test -f 'src/adapter.c' || echo '$(srcdir)/'`src/adapter.c - $(AM_V_at)$(am__mv) src/$(DEPDIR)/bluetoothd-adapter.Tpo src/$(DEPDIR)/bluetoothd-adapter.Po -# $(AM_V_CC)source='src/adapter.c' object='src/bluetoothd-adapter.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o src/bluetoothd-adapter.o `test -f 'src/adapter.c' || echo '$(srcdir)/'`src/adapter.c - -src/bluetoothd-adapter.obj: src/adapter.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT src/bluetoothd-adapter.obj -MD -MP -MF src/$(DEPDIR)/bluetoothd-adapter.Tpo -c -o src/bluetoothd-adapter.obj `if test -f 'src/adapter.c'; then $(CYGPATH_W) 'src/adapter.c'; else $(CYGPATH_W) '$(srcdir)/src/adapter.c'; fi` - $(AM_V_at)$(am__mv) src/$(DEPDIR)/bluetoothd-adapter.Tpo src/$(DEPDIR)/bluetoothd-adapter.Po -# $(AM_V_CC)source='src/adapter.c' object='src/bluetoothd-adapter.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o src/bluetoothd-adapter.obj `if test -f 'src/adapter.c'; then $(CYGPATH_W) 'src/adapter.c'; else $(CYGPATH_W) '$(srcdir)/src/adapter.c'; fi` - -src/bluetoothd-profile.o: src/profile.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT src/bluetoothd-profile.o -MD -MP -MF src/$(DEPDIR)/bluetoothd-profile.Tpo -c -o src/bluetoothd-profile.o `test -f 'src/profile.c' || echo '$(srcdir)/'`src/profile.c - $(AM_V_at)$(am__mv) src/$(DEPDIR)/bluetoothd-profile.Tpo src/$(DEPDIR)/bluetoothd-profile.Po -# $(AM_V_CC)source='src/profile.c' object='src/bluetoothd-profile.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o src/bluetoothd-profile.o `test -f 'src/profile.c' || echo '$(srcdir)/'`src/profile.c - -src/bluetoothd-profile.obj: src/profile.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT src/bluetoothd-profile.obj -MD -MP -MF src/$(DEPDIR)/bluetoothd-profile.Tpo -c -o src/bluetoothd-profile.obj `if test -f 'src/profile.c'; then $(CYGPATH_W) 'src/profile.c'; else $(CYGPATH_W) '$(srcdir)/src/profile.c'; fi` - $(AM_V_at)$(am__mv) src/$(DEPDIR)/bluetoothd-profile.Tpo src/$(DEPDIR)/bluetoothd-profile.Po -# $(AM_V_CC)source='src/profile.c' object='src/bluetoothd-profile.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o src/bluetoothd-profile.obj `if test -f 'src/profile.c'; then $(CYGPATH_W) 'src/profile.c'; else $(CYGPATH_W) '$(srcdir)/src/profile.c'; fi` - -src/bluetoothd-device.o: src/device.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT src/bluetoothd-device.o -MD -MP -MF src/$(DEPDIR)/bluetoothd-device.Tpo -c -o src/bluetoothd-device.o `test -f 'src/device.c' || echo '$(srcdir)/'`src/device.c - $(AM_V_at)$(am__mv) src/$(DEPDIR)/bluetoothd-device.Tpo src/$(DEPDIR)/bluetoothd-device.Po -# $(AM_V_CC)source='src/device.c' object='src/bluetoothd-device.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o src/bluetoothd-device.o `test -f 'src/device.c' || echo '$(srcdir)/'`src/device.c - -src/bluetoothd-device.obj: src/device.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT src/bluetoothd-device.obj -MD -MP -MF src/$(DEPDIR)/bluetoothd-device.Tpo -c -o src/bluetoothd-device.obj `if test -f 'src/device.c'; then $(CYGPATH_W) 'src/device.c'; else $(CYGPATH_W) '$(srcdir)/src/device.c'; fi` - $(AM_V_at)$(am__mv) src/$(DEPDIR)/bluetoothd-device.Tpo src/$(DEPDIR)/bluetoothd-device.Po -# $(AM_V_CC)source='src/device.c' object='src/bluetoothd-device.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o src/bluetoothd-device.obj `if test -f 'src/device.c'; then $(CYGPATH_W) 'src/device.c'; else $(CYGPATH_W) '$(srcdir)/src/device.c'; fi` - -src/bluetoothd-dbus-common.o: src/dbus-common.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT src/bluetoothd-dbus-common.o -MD -MP -MF src/$(DEPDIR)/bluetoothd-dbus-common.Tpo -c -o src/bluetoothd-dbus-common.o `test -f 'src/dbus-common.c' || echo '$(srcdir)/'`src/dbus-common.c - $(AM_V_at)$(am__mv) src/$(DEPDIR)/bluetoothd-dbus-common.Tpo src/$(DEPDIR)/bluetoothd-dbus-common.Po -# $(AM_V_CC)source='src/dbus-common.c' object='src/bluetoothd-dbus-common.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o src/bluetoothd-dbus-common.o `test -f 'src/dbus-common.c' || echo '$(srcdir)/'`src/dbus-common.c - -src/bluetoothd-dbus-common.obj: src/dbus-common.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT src/bluetoothd-dbus-common.obj -MD -MP -MF src/$(DEPDIR)/bluetoothd-dbus-common.Tpo -c -o src/bluetoothd-dbus-common.obj `if test -f 'src/dbus-common.c'; then $(CYGPATH_W) 'src/dbus-common.c'; else $(CYGPATH_W) '$(srcdir)/src/dbus-common.c'; fi` - $(AM_V_at)$(am__mv) src/$(DEPDIR)/bluetoothd-dbus-common.Tpo src/$(DEPDIR)/bluetoothd-dbus-common.Po -# $(AM_V_CC)source='src/dbus-common.c' object='src/bluetoothd-dbus-common.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o src/bluetoothd-dbus-common.obj `if test -f 'src/dbus-common.c'; then $(CYGPATH_W) 'src/dbus-common.c'; else $(CYGPATH_W) '$(srcdir)/src/dbus-common.c'; fi` - -src/bluetoothd-eir.o: src/eir.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT src/bluetoothd-eir.o -MD -MP -MF src/$(DEPDIR)/bluetoothd-eir.Tpo -c -o src/bluetoothd-eir.o `test -f 'src/eir.c' || echo '$(srcdir)/'`src/eir.c - $(AM_V_at)$(am__mv) src/$(DEPDIR)/bluetoothd-eir.Tpo src/$(DEPDIR)/bluetoothd-eir.Po -# $(AM_V_CC)source='src/eir.c' object='src/bluetoothd-eir.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o src/bluetoothd-eir.o `test -f 'src/eir.c' || echo '$(srcdir)/'`src/eir.c - -src/bluetoothd-eir.obj: src/eir.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT src/bluetoothd-eir.obj -MD -MP -MF src/$(DEPDIR)/bluetoothd-eir.Tpo -c -o src/bluetoothd-eir.obj `if test -f 'src/eir.c'; then $(CYGPATH_W) 'src/eir.c'; else $(CYGPATH_W) '$(srcdir)/src/eir.c'; fi` - $(AM_V_at)$(am__mv) src/$(DEPDIR)/bluetoothd-eir.Tpo src/$(DEPDIR)/bluetoothd-eir.Po -# $(AM_V_CC)source='src/eir.c' object='src/bluetoothd-eir.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o src/bluetoothd-eir.obj `if test -f 'src/eir.c'; then $(CYGPATH_W) 'src/eir.c'; else $(CYGPATH_W) '$(srcdir)/src/eir.c'; fi` - -src/shared/bluetoothd-util.o: src/shared/util.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT src/shared/bluetoothd-util.o -MD -MP -MF src/shared/$(DEPDIR)/bluetoothd-util.Tpo -c -o src/shared/bluetoothd-util.o `test -f 'src/shared/util.c' || echo '$(srcdir)/'`src/shared/util.c - $(AM_V_at)$(am__mv) src/shared/$(DEPDIR)/bluetoothd-util.Tpo src/shared/$(DEPDIR)/bluetoothd-util.Po -# $(AM_V_CC)source='src/shared/util.c' object='src/shared/bluetoothd-util.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o src/shared/bluetoothd-util.o `test -f 'src/shared/util.c' || echo '$(srcdir)/'`src/shared/util.c - -src/shared/bluetoothd-util.obj: src/shared/util.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT src/shared/bluetoothd-util.obj -MD -MP -MF src/shared/$(DEPDIR)/bluetoothd-util.Tpo -c -o src/shared/bluetoothd-util.obj `if test -f 'src/shared/util.c'; then $(CYGPATH_W) 'src/shared/util.c'; else $(CYGPATH_W) '$(srcdir)/src/shared/util.c'; fi` - $(AM_V_at)$(am__mv) src/shared/$(DEPDIR)/bluetoothd-util.Tpo src/shared/$(DEPDIR)/bluetoothd-util.Po -# $(AM_V_CC)source='src/shared/util.c' object='src/shared/bluetoothd-util.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o src/shared/bluetoothd-util.obj `if test -f 'src/shared/util.c'; then $(CYGPATH_W) 'src/shared/util.c'; else $(CYGPATH_W) '$(srcdir)/src/shared/util.c'; fi` - -src/shared/bluetoothd-mgmt.o: src/shared/mgmt.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT src/shared/bluetoothd-mgmt.o -MD -MP -MF src/shared/$(DEPDIR)/bluetoothd-mgmt.Tpo -c -o src/shared/bluetoothd-mgmt.o `test -f 'src/shared/mgmt.c' || echo '$(srcdir)/'`src/shared/mgmt.c - $(AM_V_at)$(am__mv) src/shared/$(DEPDIR)/bluetoothd-mgmt.Tpo src/shared/$(DEPDIR)/bluetoothd-mgmt.Po -# $(AM_V_CC)source='src/shared/mgmt.c' object='src/shared/bluetoothd-mgmt.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o src/shared/bluetoothd-mgmt.o `test -f 'src/shared/mgmt.c' || echo '$(srcdir)/'`src/shared/mgmt.c - -src/shared/bluetoothd-mgmt.obj: src/shared/mgmt.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT src/shared/bluetoothd-mgmt.obj -MD -MP -MF src/shared/$(DEPDIR)/bluetoothd-mgmt.Tpo -c -o src/shared/bluetoothd-mgmt.obj `if test -f 'src/shared/mgmt.c'; then $(CYGPATH_W) 'src/shared/mgmt.c'; else $(CYGPATH_W) '$(srcdir)/src/shared/mgmt.c'; fi` - $(AM_V_at)$(am__mv) src/shared/$(DEPDIR)/bluetoothd-mgmt.Tpo src/shared/$(DEPDIR)/bluetoothd-mgmt.Po -# $(AM_V_CC)source='src/shared/mgmt.c' object='src/shared/bluetoothd-mgmt.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o src/shared/bluetoothd-mgmt.obj `if test -f 'src/shared/mgmt.c'; then $(CYGPATH_W) 'src/shared/mgmt.c'; else $(CYGPATH_W) '$(srcdir)/src/shared/mgmt.c'; fi` - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -rm -rf attrib/.libs attrib/_libs - -rm -rf client/.libs client/_libs - -rm -rf emulator/.libs emulator/_libs - -rm -rf lib/.libs lib/_libs - -rm -rf monitor/.libs monitor/_libs - -rm -rf obexd/src/.libs obexd/src/_libs - -rm -rf plugins/.libs plugins/_libs - -rm -rf profiles/cups/.libs profiles/cups/_libs - -rm -rf profiles/iap/.libs profiles/iap/_libs - -rm -rf src/.libs src/_libs - -rm -rf tools/.libs tools/_libs - -rm -rf unit/.libs unit/_libs - -distclean-libtool: - -rm -f libtool config.lt -install-man1: $(dist_man_MANS) $(man_MANS) - @$(NORMAL_INSTALL) - @list1=''; \ - list2='$(dist_man_MANS) $(man_MANS)'; \ - test -n "$(man1dir)" \ - && test -n "`echo $$list1$$list2`" \ - || exit 0; \ - echo " $(MKDIR_P) '$(DESTDIR)$(man1dir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(man1dir)" || exit 1; \ - { for i in $$list1; do echo "$$i"; done; \ - if test -n "$$list2"; then \ - for i in $$list2; do echo "$$i"; done \ - | sed -n '/\.1[a-z]*$$/p'; \ - fi; \ - } | while read p; do \ - if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; echo "$$p"; \ - done | \ - sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \ - sed 'N;N;s,\n, ,g' | { \ - list=; while read file base inst; do \ - if test "$$base" = "$$inst"; then list="$$list $$file"; else \ - echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \ - $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst" || exit $$?; \ - fi; \ - done; \ - for i in $$list; do echo "$$i"; done | $(am__base_list) | \ - while read files; do \ - test -z "$$files" || { \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man1dir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(man1dir)" || exit $$?; }; \ - done; } - -uninstall-man1: - @$(NORMAL_UNINSTALL) - @list=''; test -n "$(man1dir)" || exit 0; \ - files=`{ for i in $$list; do echo "$$i"; done; \ - l2='$(dist_man_MANS) $(man_MANS)'; for i in $$l2; do echo "$$i"; done | \ - sed -n '/\.1[a-z]*$$/p'; \ - } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \ - dir='$(DESTDIR)$(man1dir)'; $(am__uninstall_files_from_dir) -install-man8: $(dist_man_MANS) $(man_MANS) - @$(NORMAL_INSTALL) - @list1=''; \ - list2='$(dist_man_MANS) $(man_MANS)'; \ - test -n "$(man8dir)" \ - && test -n "`echo $$list1$$list2`" \ - || exit 0; \ - echo " $(MKDIR_P) '$(DESTDIR)$(man8dir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(man8dir)" || exit 1; \ - { for i in $$list1; do echo "$$i"; done; \ - if test -n "$$list2"; then \ - for i in $$list2; do echo "$$i"; done \ - | sed -n '/\.8[a-z]*$$/p'; \ - fi; \ - } | while read p; do \ - if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; echo "$$p"; \ - done | \ - sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^8][0-9a-z]*$$,8,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \ - sed 'N;N;s,\n, ,g' | { \ - list=; while read file base inst; do \ - if test "$$base" = "$$inst"; then list="$$list $$file"; else \ - echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man8dir)/$$inst'"; \ - $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man8dir)/$$inst" || exit $$?; \ - fi; \ - done; \ - for i in $$list; do echo "$$i"; done | $(am__base_list) | \ - while read files; do \ - test -z "$$files" || { \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man8dir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(man8dir)" || exit $$?; }; \ - done; } - -uninstall-man8: - @$(NORMAL_UNINSTALL) - @list=''; test -n "$(man8dir)" || exit 0; \ - files=`{ for i in $$list; do echo "$$i"; done; \ - l2='$(dist_man_MANS) $(man_MANS)'; for i in $$l2; do echo "$$i"; done | \ - sed -n '/\.8[a-z]*$$/p'; \ - } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^8][0-9a-z]*$$,8,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \ - dir='$(DESTDIR)$(man8dir)'; $(am__uninstall_files_from_dir) -install-confDATA: $(conf_DATA) - @$(NORMAL_INSTALL) - @list='$(conf_DATA)'; test -n "$(confdir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(confdir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(confdir)" || exit 1; \ - fi; \ - for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; \ - done | $(am__base_list) | \ - while read files; do \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(confdir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(confdir)" || exit $$?; \ - done - -uninstall-confDATA: - @$(NORMAL_UNINSTALL) - @list='$(conf_DATA)'; test -n "$(confdir)" || list=; \ - files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ - dir='$(DESTDIR)$(confdir)'; $(am__uninstall_files_from_dir) -install-dbusDATA: $(dbus_DATA) - @$(NORMAL_INSTALL) - @list='$(dbus_DATA)'; test -n "$(dbusdir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(dbusdir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(dbusdir)" || exit 1; \ - fi; \ - for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; \ - done | $(am__base_list) | \ - while read files; do \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(dbusdir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(dbusdir)" || exit $$?; \ - done - -uninstall-dbusDATA: - @$(NORMAL_UNINSTALL) - @list='$(dbus_DATA)'; test -n "$(dbusdir)" || list=; \ - files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ - dir='$(DESTDIR)$(dbusdir)'; $(am__uninstall_files_from_dir) -install-dbussessionbusDATA: $(dbussessionbus_DATA) - @$(NORMAL_INSTALL) - @list='$(dbussessionbus_DATA)'; test -n "$(dbussessionbusdir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(dbussessionbusdir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(dbussessionbusdir)" || exit 1; \ - fi; \ - for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; \ - done | $(am__base_list) | \ - while read files; do \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(dbussessionbusdir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(dbussessionbusdir)" || exit $$?; \ - done - -uninstall-dbussessionbusDATA: - @$(NORMAL_UNINSTALL) - @list='$(dbussessionbus_DATA)'; test -n "$(dbussessionbusdir)" || list=; \ - files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ - dir='$(DESTDIR)$(dbussessionbusdir)'; $(am__uninstall_files_from_dir) -install-dbussystembusDATA: $(dbussystembus_DATA) - @$(NORMAL_INSTALL) - @list='$(dbussystembus_DATA)'; test -n "$(dbussystembusdir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(dbussystembusdir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(dbussystembusdir)" || exit 1; \ - fi; \ - for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; \ - done | $(am__base_list) | \ - while read files; do \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(dbussystembusdir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(dbussystembusdir)" || exit $$?; \ - done - -uninstall-dbussystembusDATA: - @$(NORMAL_UNINSTALL) - @list='$(dbussystembus_DATA)'; test -n "$(dbussystembusdir)" || list=; \ - files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ - dir='$(DESTDIR)$(dbussystembusdir)'; $(am__uninstall_files_from_dir) -install-pkgconfigDATA: $(pkgconfig_DATA) - @$(NORMAL_INSTALL) - @list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(pkgconfigdir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(pkgconfigdir)" || exit 1; \ - fi; \ - for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; \ - done | $(am__base_list) | \ - while read files; do \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pkgconfigdir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(pkgconfigdir)" || exit $$?; \ - done - -uninstall-pkgconfigDATA: - @$(NORMAL_UNINSTALL) - @list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \ - files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ - dir='$(DESTDIR)$(pkgconfigdir)'; $(am__uninstall_files_from_dir) -install-rulesDATA: $(rules_DATA) - @$(NORMAL_INSTALL) - @list='$(rules_DATA)'; test -n "$(rulesdir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(rulesdir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(rulesdir)" || exit 1; \ - fi; \ - for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; \ - done | $(am__base_list) | \ - while read files; do \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(rulesdir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(rulesdir)" || exit $$?; \ - done - -uninstall-rulesDATA: - @$(NORMAL_UNINSTALL) - @list='$(rules_DATA)'; test -n "$(rulesdir)" || list=; \ - files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ - dir='$(DESTDIR)$(rulesdir)'; $(am__uninstall_files_from_dir) -install-stateDATA: $(state_DATA) - @$(NORMAL_INSTALL) - @list='$(state_DATA)'; test -n "$(statedir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(statedir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(statedir)" || exit 1; \ - fi; \ - for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; \ - done | $(am__base_list) | \ - while read files; do \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(statedir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(statedir)" || exit $$?; \ - done - -uninstall-stateDATA: - @$(NORMAL_UNINSTALL) - @list='$(state_DATA)'; test -n "$(statedir)" || list=; \ - files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ - dir='$(DESTDIR)$(statedir)'; $(am__uninstall_files_from_dir) -install-systemdsystemunitDATA: $(systemdsystemunit_DATA) - @$(NORMAL_INSTALL) - @list='$(systemdsystemunit_DATA)'; test -n "$(systemdsystemunitdir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(systemdsystemunitdir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(systemdsystemunitdir)" || exit 1; \ - fi; \ - for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; \ - done | $(am__base_list) | \ - while read files; do \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(systemdsystemunitdir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(systemdsystemunitdir)" || exit $$?; \ - done - -uninstall-systemdsystemunitDATA: - @$(NORMAL_UNINSTALL) - @list='$(systemdsystemunit_DATA)'; test -n "$(systemdsystemunitdir)" || list=; \ - files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ - dir='$(DESTDIR)$(systemdsystemunitdir)'; $(am__uninstall_files_from_dir) -install-systemduserunitDATA: $(systemduserunit_DATA) - @$(NORMAL_INSTALL) - @list='$(systemduserunit_DATA)'; test -n "$(systemduserunitdir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(systemduserunitdir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(systemduserunitdir)" || exit 1; \ - fi; \ - for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; \ - done | $(am__base_list) | \ - while read files; do \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(systemduserunitdir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(systemduserunitdir)" || exit $$?; \ - done - -uninstall-systemduserunitDATA: - @$(NORMAL_UNINSTALL) - @list='$(systemduserunit_DATA)'; test -n "$(systemduserunitdir)" || list=; \ - files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ - dir='$(DESTDIR)$(systemduserunitdir)'; $(am__uninstall_files_from_dir) -install-includeHEADERS: $(include_HEADERS) - @$(NORMAL_INSTALL) - @list='$(include_HEADERS)'; test -n "$(includedir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(includedir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(includedir)" || exit 1; \ - fi; \ - for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; \ - done | $(am__base_list) | \ - while read files; do \ - echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(includedir)'"; \ - $(INSTALL_HEADER) $$files "$(DESTDIR)$(includedir)" || exit $$?; \ - done - -uninstall-includeHEADERS: - @$(NORMAL_UNINSTALL) - @list='$(include_HEADERS)'; test -n "$(includedir)" || list=; \ - files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ - dir='$(DESTDIR)$(includedir)'; $(am__uninstall_files_from_dir) - -ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in files) print i; }; }'`; \ - mkid -fID $$unique -tags: TAGS - -TAGS: $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - set x; \ - here=`pwd`; \ - list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in files) print i; }; }'`; \ - shift; \ - if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ - if test $$# -gt 0; then \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - "$$@" $$unique; \ - else \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$unique; \ - fi; \ - fi -ctags: CTAGS -CTAGS: $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in files) print i; }; }'`; \ - test -z "$(CTAGS_ARGS)$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && $(am__cd) $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) "$$here" - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -check-TESTS: $(TESTS) - @failed=0; all=0; xfail=0; xpass=0; skip=0; \ - srcdir=$(srcdir); export srcdir; \ - list=' $(TESTS) '; \ - $(am__tty_colors); \ - if test -n "$$list"; then \ - for tst in $$list; do \ - if test -f ./$$tst; then dir=./; \ - elif test -f $$tst; then dir=; \ - else dir="$(srcdir)/"; fi; \ - if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \ - all=`expr $$all + 1`; \ - case " $(XFAIL_TESTS) " in \ - *[\ \ ]$$tst[\ \ ]*) \ - xpass=`expr $$xpass + 1`; \ - failed=`expr $$failed + 1`; \ - col=$$red; res=XPASS; \ - ;; \ - *) \ - col=$$grn; res=PASS; \ - ;; \ - esac; \ - elif test $$? -ne 77; then \ - all=`expr $$all + 1`; \ - case " $(XFAIL_TESTS) " in \ - *[\ \ ]$$tst[\ \ ]*) \ - xfail=`expr $$xfail + 1`; \ - col=$$lgn; res=XFAIL; \ - ;; \ - *) \ - failed=`expr $$failed + 1`; \ - col=$$red; res=FAIL; \ - ;; \ - esac; \ - else \ - skip=`expr $$skip + 1`; \ - col=$$blu; res=SKIP; \ - fi; \ - echo "$${col}$$res$${std}: $$tst"; \ - done; \ - if test "$$all" -eq 1; then \ - tests="test"; \ - All=""; \ - else \ - tests="tests"; \ - All="All "; \ - fi; \ - if test "$$failed" -eq 0; then \ - if test "$$xfail" -eq 0; then \ - banner="$$All$$all $$tests passed"; \ - else \ - if test "$$xfail" -eq 1; then failures=failure; else failures=failures; fi; \ - banner="$$All$$all $$tests behaved as expected ($$xfail expected $$failures)"; \ - fi; \ - else \ - if test "$$xpass" -eq 0; then \ - banner="$$failed of $$all $$tests failed"; \ - else \ - if test "$$xpass" -eq 1; then passes=pass; else passes=passes; fi; \ - banner="$$failed of $$all $$tests did not behave as expected ($$xpass unexpected $$passes)"; \ - fi; \ - fi; \ - dashes="$$banner"; \ - skipped=""; \ - if test "$$skip" -ne 0; then \ - if test "$$skip" -eq 1; then \ - skipped="($$skip test was not run)"; \ - else \ - skipped="($$skip tests were not run)"; \ - fi; \ - test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \ - dashes="$$skipped"; \ - fi; \ - report=""; \ - if test "$$failed" -ne 0 && test -n "$(PACKAGE_BUGREPORT)"; then \ - report="Please report to $(PACKAGE_BUGREPORT)"; \ - test `echo "$$report" | wc -c` -le `echo "$$banner" | wc -c` || \ - dashes="$$report"; \ - fi; \ - dashes=`echo "$$dashes" | sed s/./=/g`; \ - if test "$$failed" -eq 0; then \ - col="$$grn"; \ - else \ - col="$$red"; \ - fi; \ - echo "$${col}$$dashes$${std}"; \ - echo "$${col}$$banner$${std}"; \ - test -z "$$skipped" || echo "$${col}$$skipped$${std}"; \ - test -z "$$report" || echo "$${col}$$report$${std}"; \ - echo "$${col}$$dashes$${std}"; \ - test "$$failed" -eq 0; \ - else :; fi - -distdir: $(DISTFILES) - @list='$(MANS)'; if test -n "$$list"; then \ - list=`for p in $$list; do \ - if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ - if test -f "$$d$$p"; then echo "$$d$$p"; else :; fi; done`; \ - if test -n "$$list" && \ - grep 'ab help2man is required to generate this page' $$list >/dev/null; then \ - echo "error: found man pages containing the \`missing help2man' replacement text:" >&2; \ - grep -l 'ab help2man is required to generate this page' $$list | sed 's/^/ /' >&2; \ - echo " to fix them, install help2man, remove and regenerate the man pages;" >&2; \ - echo " typically \`make maintainer-clean' will remove them" >&2; \ - exit 1; \ - else :; fi; \ - else :; fi - $(am__remove_distdir) - test -d "$(distdir)" || mkdir "$(distdir)" - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done - -test -n "$(am__skip_mode_fix)" \ - || find "$(distdir)" -type d ! -perm -755 \ - -exec chmod u+rwx,go+rx {} \; -o \ - ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ - ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ - ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \ - || chmod -R a+r "$(distdir)" -dist-gzip: distdir - tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz - $(am__remove_distdir) - -dist-bzip2: distdir - tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2 - $(am__remove_distdir) - -dist-lzip: distdir - tardir=$(distdir) && $(am__tar) | lzip -c $${LZIP_OPT--9} >$(distdir).tar.lz - $(am__remove_distdir) - -dist-lzma: distdir - tardir=$(distdir) && $(am__tar) | lzma -9 -c >$(distdir).tar.lzma - $(am__remove_distdir) -dist-xz: distdir - tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz - $(am__remove_distdir) - -dist-tarZ: distdir - tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z - $(am__remove_distdir) - -dist-shar: distdir - shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz - $(am__remove_distdir) - -dist-zip: distdir - -rm -f $(distdir).zip - zip -rq $(distdir).zip $(distdir) - $(am__remove_distdir) - -dist dist-all: distdir - tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz - $(am__remove_distdir) - -# This target untars the dist file and tries a VPATH configuration. Then -# it guarantees that the distribution is self-contained by making another -# tarfile. -distcheck: dist - case '$(DIST_ARCHIVES)' in \ - *.tar.gz*) \ - GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\ - *.tar.bz2*) \ - bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\ - *.tar.lzma*) \ - lzma -dc $(distdir).tar.lzma | $(am__untar) ;;\ - *.tar.lz*) \ - lzip -dc $(distdir).tar.lz | $(am__untar) ;;\ - *.tar.xz*) \ - xz -dc $(distdir).tar.xz | $(am__untar) ;;\ - *.tar.Z*) \ - uncompress -c $(distdir).tar.Z | $(am__untar) ;;\ - *.shar.gz*) \ - GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\ - *.zip*) \ - unzip $(distdir).zip ;;\ - esac - chmod -R a-w $(distdir); chmod u+w $(distdir) - mkdir $(distdir)/_build - mkdir $(distdir)/_inst - chmod a-w $(distdir) - test -d $(distdir)/_build || exit 0; \ - dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ - && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ - && am__cwd=`pwd` \ - && $(am__cd) $(distdir)/_build \ - && ../configure --srcdir=.. --prefix="$$dc_install_base" \ - $(AM_DISTCHECK_CONFIGURE_FLAGS) \ - $(DISTCHECK_CONFIGURE_FLAGS) \ - && $(MAKE) $(AM_MAKEFLAGS) \ - && $(MAKE) $(AM_MAKEFLAGS) dvi \ - && $(MAKE) $(AM_MAKEFLAGS) check \ - && $(MAKE) $(AM_MAKEFLAGS) install \ - && $(MAKE) $(AM_MAKEFLAGS) installcheck \ - && $(MAKE) $(AM_MAKEFLAGS) uninstall \ - && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \ - distuninstallcheck \ - && chmod -R a-w "$$dc_install_base" \ - && ({ \ - (cd ../.. && umask 077 && mkdir "$$dc_destdir") \ - && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \ - && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \ - && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \ - distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \ - } || { rm -rf "$$dc_destdir"; exit 1; }) \ - && rm -rf "$$dc_destdir" \ - && $(MAKE) $(AM_MAKEFLAGS) dist \ - && rm -rf $(DIST_ARCHIVES) \ - && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \ - && cd "$$am__cwd" \ - || exit 1 - $(am__remove_distdir) - @(echo "$(distdir) archives ready for distribution: "; \ - list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \ - sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x' -distuninstallcheck: - @test -n '$(distuninstallcheck_dir)' || { \ - echo 'ERROR: trying to run $@ with an empty' \ - '$$(distuninstallcheck_dir)' >&2; \ - exit 1; \ - }; \ - $(am__cd) '$(distuninstallcheck_dir)' || { \ - echo 'ERROR: cannot chdir into $(distuninstallcheck_dir)' >&2; \ - exit 1; \ - }; \ - test `$(am__distuninstallcheck_listfiles) | wc -l` -eq 0 \ - || { echo "ERROR: files left after uninstall:" ; \ - if test -n "$(DESTDIR)"; then \ - echo " (check DESTDIR support)"; \ - fi ; \ - $(distuninstallcheck_listfiles) ; \ - exit 1; } >&2 -distcleancheck: distclean - @if test '$(srcdir)' = . ; then \ - echo "ERROR: distcleancheck can only run from a VPATH build" ; \ - exit 1 ; \ - fi - @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \ - || { echo "ERROR: files left in build directory after distclean:" ; \ - $(distcleancheck_listfiles) ; \ - exit 1; } >&2 -check-am: all-am - $(MAKE) $(AM_MAKEFLAGS) check-TESTS -check: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) check-am -all-am: Makefile $(LIBRARIES) $(LTLIBRARIES) $(PROGRAMS) $(SCRIPTS) \ - $(MANS) $(DATA) $(HEADERS) config.h -install-binPROGRAMS: install-libLTLIBRARIES - -installdirs: - for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(plugindir)" "$(DESTDIR)$(bindir)" "$(DESTDIR)$(cupsdir)" "$(DESTDIR)$(libexecdir)" "$(DESTDIR)$(udevdir)" "$(DESTDIR)$(testdir)" "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(man8dir)" "$(DESTDIR)$(confdir)" "$(DESTDIR)$(dbusdir)" "$(DESTDIR)$(dbussessionbusdir)" "$(DESTDIR)$(dbussystembusdir)" "$(DESTDIR)$(pkgconfigdir)" "$(DESTDIR)$(rulesdir)" "$(DESTDIR)$(statedir)" "$(DESTDIR)$(systemdsystemunitdir)" "$(DESTDIR)$(systemduserunitdir)" "$(DESTDIR)$(includedir)"; do \ - test -z "$$dir" || $(MKDIR_P) "$$dir"; \ - done -install: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -clean-generic: - -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -rm -f attrib/$(DEPDIR)/$(am__dirstamp) - -rm -f attrib/$(am__dirstamp) - -rm -f btio/$(DEPDIR)/$(am__dirstamp) - -rm -f btio/$(am__dirstamp) - -rm -f client/$(DEPDIR)/$(am__dirstamp) - -rm -f client/$(am__dirstamp) - -rm -f emulator/$(DEPDIR)/$(am__dirstamp) - -rm -f emulator/$(am__dirstamp) - -rm -f gdbus/$(DEPDIR)/$(am__dirstamp) - -rm -f gdbus/$(am__dirstamp) - -rm -f gobex/$(DEPDIR)/$(am__dirstamp) - -rm -f gobex/$(am__dirstamp) - -rm -f lib/$(DEPDIR)/$(am__dirstamp) - -rm -f lib/$(am__dirstamp) - -rm -f monitor/$(DEPDIR)/$(am__dirstamp) - -rm -f monitor/$(am__dirstamp) - -rm -f obexd/client/$(DEPDIR)/$(am__dirstamp) - -rm -f obexd/client/$(am__dirstamp) - -rm -f obexd/plugins/$(DEPDIR)/$(am__dirstamp) - -rm -f obexd/plugins/$(am__dirstamp) - -rm -f obexd/src/$(DEPDIR)/$(am__dirstamp) - -rm -f obexd/src/$(am__dirstamp) - -rm -f plugins/$(DEPDIR)/$(am__dirstamp) - -rm -f plugins/$(am__dirstamp) - -rm -f profiles/alert/$(DEPDIR)/$(am__dirstamp) - -rm -f profiles/alert/$(am__dirstamp) - -rm -f profiles/audio/$(DEPDIR)/$(am__dirstamp) - -rm -f profiles/audio/$(am__dirstamp) - -rm -f profiles/cups/$(DEPDIR)/$(am__dirstamp) - -rm -f profiles/cups/$(am__dirstamp) - -rm -f profiles/cyclingspeed/$(DEPDIR)/$(am__dirstamp) - -rm -f profiles/cyclingspeed/$(am__dirstamp) - -rm -f profiles/deviceinfo/$(DEPDIR)/$(am__dirstamp) - -rm -f profiles/deviceinfo/$(am__dirstamp) - -rm -f profiles/gatt/$(DEPDIR)/$(am__dirstamp) - -rm -f profiles/gatt/$(am__dirstamp) - -rm -f profiles/health/$(DEPDIR)/$(am__dirstamp) - -rm -f profiles/health/$(am__dirstamp) - -rm -f profiles/heartrate/$(DEPDIR)/$(am__dirstamp) - -rm -f profiles/heartrate/$(am__dirstamp) - -rm -f profiles/iap/$(DEPDIR)/$(am__dirstamp) - -rm -f profiles/iap/$(am__dirstamp) - -rm -f profiles/input/$(DEPDIR)/$(am__dirstamp) - -rm -f profiles/input/$(am__dirstamp) - -rm -f profiles/network/$(DEPDIR)/$(am__dirstamp) - -rm -f profiles/network/$(am__dirstamp) - -rm -f profiles/proximity/$(DEPDIR)/$(am__dirstamp) - -rm -f profiles/proximity/$(am__dirstamp) - -rm -f profiles/sap/$(DEPDIR)/$(am__dirstamp) - -rm -f profiles/sap/$(am__dirstamp) - -rm -f profiles/scanparam/$(DEPDIR)/$(am__dirstamp) - -rm -f profiles/scanparam/$(am__dirstamp) - -rm -f profiles/thermometer/$(DEPDIR)/$(am__dirstamp) - -rm -f profiles/thermometer/$(am__dirstamp) - -rm -f profiles/time/$(DEPDIR)/$(am__dirstamp) - -rm -f profiles/time/$(am__dirstamp) - -rm -f src/$(DEPDIR)/$(am__dirstamp) - -rm -f src/$(am__dirstamp) - -rm -f src/shared/$(DEPDIR)/$(am__dirstamp) - -rm -f src/shared/$(am__dirstamp) - -rm -f tools/$(DEPDIR)/$(am__dirstamp) - -rm -f tools/$(am__dirstamp) - -rm -f tools/parser/$(DEPDIR)/$(am__dirstamp) - -rm -f tools/parser/$(am__dirstamp) - -rm -f unit/$(DEPDIR)/$(am__dirstamp) - -rm -f unit/$(am__dirstamp) - -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." - -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES) - -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) -clean: clean-am - -clean-am: clean-binPROGRAMS clean-cupsPROGRAMS clean-generic \ - clean-libLTLIBRARIES clean-libexecPROGRAMS clean-libtool \ - clean-local clean-noinstLIBRARIES clean-noinstLTLIBRARIES \ - clean-noinstPROGRAMS clean-pluginLTLIBRARIES \ - clean-udevPROGRAMS mostlyclean-am - -distclean: distclean-am - -rm -f $(am__CONFIG_DISTCLEAN_FILES) - -rm -rf attrib/$(DEPDIR) btio/$(DEPDIR) client/$(DEPDIR) emulator/$(DEPDIR) gdbus/$(DEPDIR) gobex/$(DEPDIR) lib/$(DEPDIR) monitor/$(DEPDIR) obexd/client/$(DEPDIR) obexd/plugins/$(DEPDIR) obexd/src/$(DEPDIR) plugins/$(DEPDIR) profiles/alert/$(DEPDIR) profiles/audio/$(DEPDIR) profiles/cups/$(DEPDIR) profiles/cyclingspeed/$(DEPDIR) profiles/deviceinfo/$(DEPDIR) profiles/gatt/$(DEPDIR) profiles/health/$(DEPDIR) profiles/heartrate/$(DEPDIR) profiles/iap/$(DEPDIR) profiles/input/$(DEPDIR) profiles/network/$(DEPDIR) profiles/proximity/$(DEPDIR) profiles/sap/$(DEPDIR) profiles/scanparam/$(DEPDIR) profiles/thermometer/$(DEPDIR) profiles/time/$(DEPDIR) src/$(DEPDIR) src/shared/$(DEPDIR) tools/$(DEPDIR) tools/parser/$(DEPDIR) unit/$(DEPDIR) - -rm -f Makefile -distclean-am: clean-am distclean-compile distclean-generic \ - distclean-hdr distclean-libtool distclean-tags - -dvi: dvi-am - -dvi-am: - -html: html-am - -html-am: - -info: info-am - -info-am: - -install-data-am: install-confDATA install-cupsPROGRAMS \ - install-dbusDATA install-dbussessionbusDATA \ - install-dbussystembusDATA install-includeHEADERS install-man \ - install-pkgconfigDATA install-pluginLTLIBRARIES \ - install-rulesDATA install-stateDATA \ - install-systemdsystemunitDATA install-systemduserunitDATA \ - install-testSCRIPTS install-udevPROGRAMS - -install-dvi: install-dvi-am - -install-dvi-am: - -install-exec-am: install-binPROGRAMS install-libLTLIBRARIES \ - install-libexecPROGRAMS - -install-html: install-html-am - -install-html-am: - -install-info: install-info-am - -install-info-am: - -install-man: install-man1 install-man8 - -install-pdf: install-pdf-am - -install-pdf-am: - -install-ps: install-ps-am - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -f $(am__CONFIG_DISTCLEAN_FILES) - -rm -rf $(top_srcdir)/autom4te.cache - -rm -rf attrib/$(DEPDIR) btio/$(DEPDIR) client/$(DEPDIR) emulator/$(DEPDIR) gdbus/$(DEPDIR) gobex/$(DEPDIR) lib/$(DEPDIR) monitor/$(DEPDIR) obexd/client/$(DEPDIR) obexd/plugins/$(DEPDIR) obexd/src/$(DEPDIR) plugins/$(DEPDIR) profiles/alert/$(DEPDIR) profiles/audio/$(DEPDIR) profiles/cups/$(DEPDIR) profiles/cyclingspeed/$(DEPDIR) profiles/deviceinfo/$(DEPDIR) profiles/gatt/$(DEPDIR) profiles/health/$(DEPDIR) profiles/heartrate/$(DEPDIR) profiles/iap/$(DEPDIR) profiles/input/$(DEPDIR) profiles/network/$(DEPDIR) profiles/proximity/$(DEPDIR) profiles/sap/$(DEPDIR) profiles/scanparam/$(DEPDIR) profiles/thermometer/$(DEPDIR) profiles/time/$(DEPDIR) src/$(DEPDIR) src/shared/$(DEPDIR) tools/$(DEPDIR) tools/parser/$(DEPDIR) unit/$(DEPDIR) - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-compile mostlyclean-generic \ - mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: uninstall-binPROGRAMS uninstall-confDATA \ - uninstall-cupsPROGRAMS uninstall-dbusDATA \ - uninstall-dbussessionbusDATA uninstall-dbussystembusDATA \ - uninstall-includeHEADERS uninstall-libLTLIBRARIES \ - uninstall-libexecPROGRAMS uninstall-man \ - uninstall-pkgconfigDATA uninstall-pluginLTLIBRARIES \ - uninstall-rulesDATA uninstall-stateDATA \ - uninstall-systemdsystemunitDATA uninstall-systemduserunitDATA \ - uninstall-testSCRIPTS uninstall-udevPROGRAMS - -uninstall-man: uninstall-man1 uninstall-man8 - -.MAKE: all check check-am install install-am install-strip - -.PHONY: CTAGS GTAGS all all-am am--refresh check check-TESTS check-am \ - clean clean-binPROGRAMS clean-cupsPROGRAMS clean-generic \ - clean-libLTLIBRARIES clean-libexecPROGRAMS clean-libtool \ - clean-local clean-noinstLIBRARIES clean-noinstLTLIBRARIES \ - clean-noinstPROGRAMS clean-pluginLTLIBRARIES \ - clean-udevPROGRAMS ctags dist dist-all dist-bzip2 dist-gzip \ - dist-lzip dist-lzma dist-shar dist-tarZ dist-xz dist-zip \ - distcheck distclean distclean-compile distclean-generic \ - distclean-hdr distclean-libtool distclean-tags distcleancheck \ - distdir distuninstallcheck dvi dvi-am html html-am info \ - info-am install install-am install-binPROGRAMS \ - install-confDATA install-cupsPROGRAMS install-data \ - install-data-am install-dbusDATA install-dbussessionbusDATA \ - install-dbussystembusDATA install-dvi install-dvi-am \ - install-exec install-exec-am install-html install-html-am \ - install-includeHEADERS install-info install-info-am \ - install-libLTLIBRARIES install-libexecPROGRAMS install-man \ - install-man1 install-man8 install-pdf install-pdf-am \ - install-pkgconfigDATA install-pluginLTLIBRARIES install-ps \ - install-ps-am install-rulesDATA install-stateDATA \ - install-strip install-systemdsystemunitDATA \ - install-systemduserunitDATA install-testSCRIPTS \ - install-udevPROGRAMS installcheck installcheck-am installdirs \ - maintainer-clean maintainer-clean-generic mostlyclean \ - mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ - pdf pdf-am ps ps-am tags uninstall uninstall-am \ - uninstall-binPROGRAMS uninstall-confDATA \ - uninstall-cupsPROGRAMS uninstall-dbusDATA \ - uninstall-dbussessionbusDATA uninstall-dbussystembusDATA \ - uninstall-includeHEADERS uninstall-libLTLIBRARIES \ - uninstall-libexecPROGRAMS uninstall-man uninstall-man1 \ - uninstall-man8 uninstall-pkgconfigDATA \ - uninstall-pluginLTLIBRARIES uninstall-rulesDATA \ - uninstall-stateDATA uninstall-systemdsystemunitDATA \ - uninstall-systemduserunitDATA uninstall-testSCRIPTS \ - uninstall-udevPROGRAMS - - -obexd/src/plugin.$(OBJEXT): obexd/src/builtin.h - -obexd/src/builtin.h: obexd/src/genbuiltin $(obexd_builtin_sources) - $(AM_V_GEN)$(srcdir)/obexd/src/genbuiltin $(obexd_builtin_modules) > $@ - -%.service: %.service.in Makefile - $(SED_PROCESS) - -src/builtin.h: src/genbuiltin $(builtin_sources) - $(AM_V_GEN)$(srcdir)/src/genbuiltin $(builtin_modules) > $@ - -tools/%.rules: - $(AM_V_GEN)cp $(srcdir)/$(subst 97-,,$@) $@ - -$(lib_libbluetooth_la_OBJECTS): $(local_headers) - -lib/bluetooth/%.h: lib/%.h - $(AM_V_at)$(MKDIR_P) lib/bluetooth - $(AM_V_GEN)$(LN_S) -f $(abs_top_builddir)/$< $@ - -clean-local: - $(RM) -r lib/bluetooth - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/GRIB_BLE_HUB/libs/ble_extend/Makefile.am b/GRIB_BLE_HUB/libs/ble_extend/Makefile.am deleted file mode 100644 index 1d0dd13..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/Makefile.am +++ /dev/null @@ -1,317 +0,0 @@ - -AM_MAKEFLAGS = --no-print-directory - -lib_LTLIBRARIES = - -noinst_LIBRARIES = - -noinst_LTLIBRARIES = - -bin_PROGRAMS = - -noinst_PROGRAMS = - -dist_man_MANS = - -dist_noinst_MANS = - -CLEANFILES = - -EXTRA_DIST = - -libexecdir = @libexecdir@/bluetooth - -libexec_PROGRAMS = - -includedir = @includedir@/bluetooth - -include_HEADERS = - -AM_CFLAGS = $(WARNING_CFLAGS) $(MISC_CFLAGS) -AM_LDFLAGS = $(MISC_LDFLAGS) - -if DATAFILES -dbusdir = @DBUS_CONFDIR@/dbus-1/system.d -dbus_DATA = src/bluetooth.conf - -confdir = $(sysconfdir)/bluetooth -conf_DATA = - -statedir = $(localstatedir)/lib/bluetooth -state_DATA = -endif - -if SYSTEMD -systemdsystemunitdir = @SYSTEMD_SYSTEMUNITDIR@ -systemdsystemunit_DATA = src/bluetooth.service - -dbussystembusdir = @DBUS_SYSTEMBUSDIR@ -dbussystembus_DATA = src/org.bluez.service -endif - -EXTRA_DIST += src/bluetooth.service.in src/org.bluez.service - -plugindir = $(libdir)/bluetooth/plugins - -if MAINTAINER_MODE -build_plugindir = $(abs_top_srcdir)/plugins/.libs -else -build_plugindir = $(plugindir) -endif - - -plugin_LTLIBRARIES = - -lib_sources = lib/bluetooth.c lib/hci.c lib/sdp.c -lib_headers = lib/bluetooth.h lib/hci.h lib/hci_lib.h \ - lib/sco.h lib/l2cap.h lib/sdp.h lib/sdp_lib.h \ - lib/rfcomm.h lib/bnep.h lib/cmtp.h lib/hidp.h - -extra_headers = lib/mgmt.h lib/uuid.h lib/a2mp.h lib/amp.h -extra_sources = lib/uuid.c - -local_headers = $(foreach file,$(lib_headers), lib/bluetooth/$(notdir $(file))) - -BUILT_SOURCES = $(local_headers) src/builtin.h - -if LIBRARY -include_HEADERS += $(lib_headers) - -lib_LTLIBRARIES += lib/libbluetooth.la - -lib_libbluetooth_la_SOURCES = $(lib_headers) $(lib_sources) -lib_libbluetooth_la_LDFLAGS = $(AM_LDFLAGS) -version-info 19:1:16 -lib_libbluetooth_la_DEPENDENCIES = $(local_headers) -endif - -noinst_LTLIBRARIES += lib/libbluetooth-private.la - -lib_libbluetooth_private_la_SOURCES = $(lib_headers) $(lib_sources) \ - $(extra_headers) $(extra_sources) - -attrib_sources = attrib/att.h attrib/att-database.h attrib/att.c \ - attrib/gatt.h attrib/gatt.c \ - attrib/gattrib.h attrib/gattrib.c \ - attrib/gatt-service.h attrib/gatt-service.c - -gdbus_sources = gdbus/gdbus.h gdbus/mainloop.c gdbus/watch.c \ - gdbus/object.c gdbus/client.c gdbus/polkit.c - -btio_sources = btio/btio.h btio/btio.c - -gobex_sources = gobex/gobex.h gobex/gobex.c \ - gobex/gobex-defs.h gobex/gobex-defs.c \ - gobex/gobex-packet.c gobex/gobex-packet.h \ - gobex/gobex-header.c gobex/gobex-header.h \ - gobex/gobex-transfer.c gobex/gobex-debug.h \ - gobex/gobex-apparam.c gobex/gobex-apparam.h - -builtin_modules = -builtin_sources = -builtin_nodist = - -include Makefile.plugins - -if MAINTAINER_MODE -plugin_LTLIBRARIES += plugins/external-dummy.la -plugins_external_dummy_la_SOURCES = plugins/external-dummy.c -plugins_external_dummy_la_LDFLAGS = $(AM_LDFLAGS) -module -avoid-version \ - -no-undefined -plugins_external_dummy_la_CFLAGS = $(AM_CFLAGS) -fvisibility=hidden -endif - -libexec_PROGRAMS += src/bluetoothd - -src_bluetoothd_SOURCES = $(gdbus_sources) $(builtin_sources) \ - $(attrib_sources) $(btio_sources) \ - src/bluetooth.ver \ - src/main.c src/log.h src/log.c \ - src/systemd.h src/systemd.c \ - src/rfkill.c src/hcid.h src/sdpd.h \ - src/sdpd-server.c src/sdpd-request.c \ - src/sdpd-service.c src/sdpd-database.c \ - src/attrib-server.h src/attrib-server.c \ - src/sdp-xml.h src/sdp-xml.c \ - src/sdp-client.h src/sdp-client.c \ - src/textfile.h src/textfile.c \ - src/glib-helper.h src/glib-helper.c \ - src/uinput.h \ - src/plugin.h src/plugin.c \ - src/storage.h src/storage.c \ - src/agent.h src/agent.c \ - src/error.h src/error.c \ - src/adapter.h src/adapter.c \ - src/profile.h src/profile.c \ - src/device.h src/device.c src/attio.h \ - src/dbus-common.c src/dbus-common.h \ - src/eir.h src/eir.c \ - src/shared/util.h src/shared/util.c \ - src/shared/mgmt.h src/shared/mgmt.c -src_bluetoothd_LDADD = lib/libbluetooth-private.la @GLIB_LIBS@ @DBUS_LIBS@ \ - -ldl -lrt -src_bluetoothd_LDFLAGS = $(AM_LDFLAGS) -Wl,--export-dynamic \ - -Wl,--version-script=$(srcdir)/src/bluetooth.ver - -src_bluetoothd_DEPENDENCIES = lib/libbluetooth-private.la \ - src/bluetooth.service - -src_bluetoothd_CFLAGS = $(AM_CFLAGS) -DBLUETOOTH_PLUGIN_BUILTIN \ - -DPLUGINDIR=\""$(build_plugindir)"\" -src_bluetoothd_SHORTNAME = bluetoothd - -builtin_files = src/builtin.h $(builtin_nodist) - -nodist_src_bluetoothd_SOURCES = $(builtin_files) - -CLEANFILES += $(builtin_files) src/bluetooth.service - -man_MANS = src/bluetoothd.8 - -EXTRA_DIST += src/genbuiltin src/bluetooth.conf \ - src/main.conf profiles/network/network.conf \ - profiles/input/input.conf profiles/proximity/proximity.conf \ - profiles/audio/audio.conf - -test_scripts = - -include Makefile.tools -include Makefile.obexd - -if HID2HCI -rulesdir = @UDEV_DIR@/rules.d - -rules_DATA = tools/97-hid2hci.rules - -CLEANFILES += $(rules_DATA) -endif - -EXTRA_DIST += tools/hid2hci.rules - -if TEST -testdir = $(pkglibdir)/test -test_SCRIPTS = $(test_scripts) -endif - -EXTRA_DIST += $(test_scripts) - -EXTRA_DIST += doc/assigned-numbers.txt doc/supported-features.txt - -EXTRA_DIST += doc/mgmt-api.txt \ - doc/adapter-api.txt doc/device-api.txt \ - doc/agent-api.txt doc/profile-api.txt \ - doc/network-api.txt doc/media-api.txt \ - doc/health-api.txt doc/sap-api.txt - -EXTRA_DIST += doc/alert-api.txt \ - doc/proximity-api.txt doc/heartrate-api.txt \ - doc/thermometer-api.txt doc/cyclingspeed-api.txt - -EXTRA_DIST += doc/obex-api.txt doc/obex-agent-api.txt - -EXTRA_DIST += tools/magic.btsnoop - -AM_CFLAGS += @DBUS_CFLAGS@ @GLIB_CFLAGS@ - -AM_CPPFLAGS = -I$(builddir)/lib -I$(builddir)/src -I$(srcdir)/src \ - -I$(srcdir)/gdbus -I$(srcdir)/btio - - -unit_tests = unit/test-eir unit/test-uuid unit/test-textfile - -unit_test_eir_SOURCES = unit/test-eir.c src/eir.c src/glib-helper.c -unit_test_eir_LDADD = lib/libbluetooth-private.la @GLIB_LIBS@ - -unit_test_uuid_SOURCES = unit/test-uuid.c -unit_test_uuid_LDADD = lib/libbluetooth-private.la @GLIB_LIBS@ - -unit_test_textfile_SOURCES = unit/test-textfile.c src/textfile.h src/textfile.c -unit_test_textfile_LDADD = @GLIB_LIBS@ - -unit_tests += unit/test-mgmt - -unit_test_mgmt_SOURCES = unit/test-mgmt.c \ - src/shared/util.h src/shared/util.c \ - src/shared/mgmt.h src/shared/mgmt.c -unit_test_mgmt_LDADD = @GLIB_LIBS@ - -unit_tests += unit/test-sdp - -unit_test_sdp_SOURCES = unit/test-sdp.c \ - src/shared/util.h src/shared/util.c \ - src/sdpd.h src/sdpd-database.c \ - src/sdpd-service.c src/sdpd-request.c -unit_test_sdp_LDADD = lib/libbluetooth-private.la @GLIB_LIBS@ - -unit_tests += unit/test-gdbus-client - -unit_test_gdbus_client_SOURCES = $(gdbus_sources) unit/test-gdbus-client.c -unit_test_gdbus_client_LDADD = @GLIB_LIBS@ @DBUS_LIBS@ - -unit_tests += unit/test-gobex-header unit/test-gobex-packet unit/test-gobex \ - unit/test-gobex-transfer unit/test-gobex-apparam - -unit_test_gobex_SOURCES = $(gobex_sources) unit/util.c unit/util.h \ - unit/test-gobex.c -unit_test_gobex_LDADD = @GLIB_LIBS@ - -unit_test_gobex_packet_SOURCES = $(gobex_sources) unit/util.c unit/util.h \ - unit/test-gobex-packet.c -unit_test_gobex_packet_LDADD = @GLIB_LIBS@ - -unit_test_gobex_header_SOURCES = $(gobex_sources) unit/util.c unit/util.h \ - unit/test-gobex-header.c -unit_test_gobex_header_LDADD = @GLIB_LIBS@ - -unit_test_gobex_transfer_SOURCES = $(gobex_sources) unit/util.c unit/util.h \ - unit/test-gobex-transfer.c -unit_test_gobex_transfer_LDADD = @GLIB_LIBS@ - -unit_test_gobex_apparam_SOURCES = $(gobex_sources) unit/util.c unit/util.h \ - unit/test-gobex-apparam.c -unit_test_gobex_apparam_LDADD = @GLIB_LIBS@ - -unit_tests += unit/test-lib - -unit_test_lib_SOURCES = unit/test-lib.c -unit_test_lib_LDADD = lib/libbluetooth-private.la @GLIB_LIBS@ - -noinst_PROGRAMS += $(unit_tests) - -TESTS = $(unit_tests) - -pkgconfigdir = $(libdir)/pkgconfig - -if LIBRARY -pkgconfig_DATA = lib/bluez.pc -endif - -DISTCHECK_CONFIGURE_FLAGS = --disable-datafiles --enable-library \ - --disable-systemd --disable-udev --disable-usb - -DISTCLEANFILES = $(pkgconfig_DATA) - -MAINTAINERCLEANFILES = Makefile.in \ - aclocal.m4 configure config.h.in config.sub config.guess \ - ltmain.sh depcomp compile missing install-sh mkinstalldirs - -SED_PROCESS = $(AM_V_GEN)$(MKDIR_P) $(dir $@) && \ - $(SED) -e 's,@libexecdir\@,$(libexecdir),g' \ - < $< > $@ - -%.service: %.service.in Makefile - $(SED_PROCESS) - -src/builtin.h: src/genbuiltin $(builtin_sources) - $(AM_V_GEN)$(srcdir)/src/genbuiltin $(builtin_modules) > $@ - -tools/%.rules: - $(AM_V_GEN)cp $(srcdir)/$(subst 97-,,$@) $@ - -$(lib_libbluetooth_la_OBJECTS): $(local_headers) - -lib/bluetooth/%.h: lib/%.h - $(AM_V_at)$(MKDIR_P) lib/bluetooth - $(AM_V_GEN)$(LN_S) -f $(abs_top_builddir)/$< $@ - -clean-local: - $(RM) -r lib/bluetooth diff --git a/GRIB_BLE_HUB/libs/ble_extend/Makefile.in b/GRIB_BLE_HUB/libs/ble_extend/Makefile.in deleted file mode 100644 index b0e1239..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/Makefile.in +++ /dev/null @@ -1,6174 +0,0 @@ -# Makefile.in generated by automake 1.11.6 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software -# Foundation, Inc. -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ - - - - - - -VPATH = @srcdir@ -am__make_dryrun = \ - { \ - am__dry=no; \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \ - | grep '^AM OK$$' >/dev/null || am__dry=yes;; \ - *) \ - for am__flg in $$MAKEFLAGS; do \ - case $$am__flg in \ - *=*|--*) ;; \ - *n*) am__dry=yes; break;; \ - esac; \ - done;; \ - esac; \ - test $$am__dry = yes; \ - } -pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -bin_PROGRAMS = $(am__EXEEXT_1) $(am__EXEEXT_2) $(am__EXEEXT_3) -noinst_PROGRAMS = $(am__EXEEXT_4) $(am__EXEEXT_5) $(am__EXEEXT_6) \ - $(am__EXEEXT_7) -libexec_PROGRAMS = src/bluetoothd$(EXEEXT) obexd/src/obexd$(EXEEXT) -@LIBRARY_TRUE@am__append_1 = $(lib_headers) -@LIBRARY_TRUE@am__append_2 = lib/libbluetooth.la -DIST_COMMON = README $(am__configure_deps) $(am__include_HEADERS_DIST) \ - $(dist_man_MANS) $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ - $(srcdir)/Makefile.obexd $(srcdir)/Makefile.plugins \ - $(srcdir)/Makefile.tools $(srcdir)/config.h.in \ - $(top_srcdir)/configure $(top_srcdir)/lib/bluez.pc.in \ - $(top_srcdir)/src/bluetoothd.8.in AUTHORS COPYING COPYING.LIB \ - ChangeLog INSTALL NEWS TODO compile config.guess config.sub \ - depcomp install-sh ltmain.sh missing -@MAINTAINER_MODE_TRUE@am__append_3 = gatt_example -@MAINTAINER_MODE_TRUE@am__append_4 = plugins/gatt-example.c -@EXPERIMENTAL_TRUE@am__append_5 = neard sap -@EXPERIMENTAL_TRUE@am__append_6 = plugins/neard.c profiles/sap/main.c \ -@EXPERIMENTAL_TRUE@ profiles/sap/manager.h \ -@EXPERIMENTAL_TRUE@ profiles/sap/manager.c \ -@EXPERIMENTAL_TRUE@ profiles/sap/server.h profiles/sap/server.c \ -@EXPERIMENTAL_TRUE@ profiles/sap/sap.h profiles/sap/sap-dummy.c -@EXPERIMENTAL_TRUE@am__append_7 = profiles/sap/libsap.a -@EXPERIMENTAL_TRUE@am__append_8 = health -@EXPERIMENTAL_TRUE@am__append_9 = profiles/health/mcap_lib.h profiles/health/mcap_internal.h \ -@EXPERIMENTAL_TRUE@ profiles/health/mcap.h profiles/health/mcap.c \ -@EXPERIMENTAL_TRUE@ profiles/health/mcap_sync.c \ -@EXPERIMENTAL_TRUE@ profiles/health/hdp_main.c profiles/health/hdp_types.h \ -@EXPERIMENTAL_TRUE@ profiles/health/hdp_manager.h \ -@EXPERIMENTAL_TRUE@ profiles/health/hdp_manager.c \ -@EXPERIMENTAL_TRUE@ profiles/health/hdp.h profiles/health/hdp.c \ -@EXPERIMENTAL_TRUE@ profiles/health/hdp_util.h profiles/health/hdp_util.c - -@EXPERIMENTAL_TRUE@am__append_10 = alert time proximity thermometer \ -@EXPERIMENTAL_TRUE@ heartrate cyclingspeed -@EXPERIMENTAL_TRUE@am__append_11 = profiles/alert/server.c \ -@EXPERIMENTAL_TRUE@ profiles/time/server.c \ -@EXPERIMENTAL_TRUE@ profiles/proximity/main.c \ -@EXPERIMENTAL_TRUE@ profiles/proximity/manager.h \ -@EXPERIMENTAL_TRUE@ profiles/proximity/manager.c \ -@EXPERIMENTAL_TRUE@ profiles/proximity/monitor.h \ -@EXPERIMENTAL_TRUE@ profiles/proximity/monitor.c \ -@EXPERIMENTAL_TRUE@ profiles/proximity/reporter.h \ -@EXPERIMENTAL_TRUE@ profiles/proximity/reporter.c \ -@EXPERIMENTAL_TRUE@ profiles/proximity/linkloss.h \ -@EXPERIMENTAL_TRUE@ profiles/proximity/linkloss.c \ -@EXPERIMENTAL_TRUE@ profiles/proximity/immalert.h \ -@EXPERIMENTAL_TRUE@ profiles/proximity/immalert.c \ -@EXPERIMENTAL_TRUE@ profiles/thermometer/thermometer.c \ -@EXPERIMENTAL_TRUE@ profiles/heartrate/heartrate.c \ -@EXPERIMENTAL_TRUE@ profiles/cyclingspeed/cyclingspeed.c -@MAINTAINER_MODE_TRUE@am__append_12 = plugins/external-dummy.la -@CLIENT_TRUE@am__append_13 = client/bluetoothctl -@MONITOR_TRUE@am__append_14 = monitor/btmon -@EXPERIMENTAL_TRUE@am__append_15 = emulator/btvirt emulator/b1ee \ -@EXPERIMENTAL_TRUE@ tools/mgmt-tester tools/gap-tester \ -@EXPERIMENTAL_TRUE@ tools/bdaddr tools/avinfo tools/avtest \ -@EXPERIMENTAL_TRUE@ tools/scotest tools/hcieventmask \ -@EXPERIMENTAL_TRUE@ tools/hcisecfilter tools/hwdb tools/btmgmt \ -@EXPERIMENTAL_TRUE@ tools/btattach tools/btsnoop tools/btiotest \ -@EXPERIMENTAL_TRUE@ tools/mpris-player -@TOOLS_TRUE@am__append_16 = tools/hciattach tools/hciconfig tools/hcitool tools/hcidump \ -@TOOLS_TRUE@ tools/rfcomm tools/rctest tools/l2test tools/l2ping \ -@TOOLS_TRUE@ tools/sdptool tools/ciptool tools/bccmd - -@TOOLS_TRUE@@USB_TRUE@am__append_17 = tools/csr_usb.c -@TOOLS_TRUE@@USB_TRUE@am__append_18 = @USB_LIBS@ -@TOOLS_TRUE@am__append_19 = tools/hciattach.1 tools/hciconfig.1 \ -@TOOLS_TRUE@ tools/hcitool.1 tools/hcidump.1 \ -@TOOLS_TRUE@ tools/rfcomm.1 tools/rctest.1 tools/l2ping.1 \ -@TOOLS_TRUE@ tools/sdptool.1 tools/ciptool.1 tools/bccmd.1 - -@TOOLS_FALSE@am__append_20 = tools/hciattach.1 tools/hciconfig.1 \ -@TOOLS_FALSE@ tools/hcitool.1 tools/hcidump.1 \ -@TOOLS_FALSE@ tools/rfcomm.1 tools/rctest.1 tools/l2ping.1 \ -@TOOLS_FALSE@ tools/sdptool.1 tools/ciptool.1 tools/bccmd.1 - -@HID2HCI_TRUE@udev_PROGRAMS = tools/hid2hci$(EXEEXT) -@HID2HCI_TRUE@am__append_21 = tools/hid2hci.1 -@HID2HCI_FALSE@am__append_22 = tools/hid2hci.1 -@EXPERIMENTAL_TRUE@am__append_23 = tools/bdaddr.1 -@READLINE_TRUE@am__append_24 = attrib/gatttool \ -@READLINE_TRUE@ tools/obex-client-tool tools/obex-server-tool - -@EXPERIMENTAL_TRUE@am__append_25 = profiles/iap/iapd -@CUPS_TRUE@cups_PROGRAMS = profiles/cups/bluetooth$(EXEEXT) -@EXPERIMENTAL_TRUE@am__append_26 = pcsuite -@EXPERIMENTAL_TRUE@am__append_27 = obexd/plugins/pcsuite.c -@OBEX_TRUE@am__append_28 = irmc pbap -@OBEX_TRUE@am__append_29 = obexd/plugins/irmc.c obexd/plugins/pbap.c \ -@OBEX_TRUE@ obexd/plugins/vcard.h obexd/plugins/vcard.c \ -@OBEX_TRUE@ obexd/plugins/phonebook.h \ -@OBEX_TRUE@ obexd/plugins/phonebook-dummy.c -@HID2HCI_TRUE@am__append_30 = $(rules_DATA) -TESTS = $(am__EXEEXT_7) -subdir = . -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ - $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ - configure.lineno config.status.lineno -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = config.h -CONFIG_CLEAN_FILES = src/bluetoothd.8 lib/bluez.pc -CONFIG_CLEAN_VPATH_FILES = -LIBRARIES = $(noinst_LIBRARIES) -ARFLAGS = cru -AM_V_AR = $(am__v_AR_@AM_V@) -am__v_AR_ = $(am__v_AR_@AM_DEFAULT_V@) -am__v_AR_0 = @echo " AR " $@; -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -profiles_sap_libsap_a_AR = $(AR) $(ARFLAGS) -profiles_sap_libsap_a_LIBADD = -am__profiles_sap_libsap_a_SOURCES_DIST = profiles/sap/sap.h \ - profiles/sap/sap-u8500.c -am__dirstamp = $(am__leading_dot)dirstamp -@EXPERIMENTAL_TRUE@am_profiles_sap_libsap_a_OBJECTS = \ -@EXPERIMENTAL_TRUE@ profiles/sap/sap-u8500.$(OBJEXT) -profiles_sap_libsap_a_OBJECTS = $(am_profiles_sap_libsap_a_OBJECTS) -am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; -am__vpath_adj = case $$p in \ - $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ - *) f=$$p;; \ - esac; -am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; -am__install_max = 40 -am__nobase_strip_setup = \ - srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` -am__nobase_strip = \ - for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" -am__nobase_list = $(am__nobase_strip_setup); \ - for p in $$list; do echo "$$p $$p"; done | \ - sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ - $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ - if (++n[$$2] == $(am__install_max)) \ - { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ - END { for (dir in files) print dir, files[dir] }' -am__base_list = \ - sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ - sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' -am__uninstall_files_from_dir = { \ - test -z "$$files" \ - || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ - || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ - $(am__cd) "$$dir" && rm -f $$files; }; \ - } -am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(plugindir)" \ - "$(DESTDIR)$(bindir)" "$(DESTDIR)$(cupsdir)" \ - "$(DESTDIR)$(libexecdir)" "$(DESTDIR)$(udevdir)" \ - "$(DESTDIR)$(testdir)" "$(DESTDIR)$(man1dir)" \ - "$(DESTDIR)$(man8dir)" "$(DESTDIR)$(confdir)" \ - "$(DESTDIR)$(dbusdir)" "$(DESTDIR)$(dbussessionbusdir)" \ - "$(DESTDIR)$(dbussystembusdir)" "$(DESTDIR)$(pkgconfigdir)" \ - "$(DESTDIR)$(rulesdir)" "$(DESTDIR)$(statedir)" \ - "$(DESTDIR)$(systemdsystemunitdir)" \ - "$(DESTDIR)$(systemduserunitdir)" "$(DESTDIR)$(includedir)" -LTLIBRARIES = $(lib_LTLIBRARIES) $(noinst_LTLIBRARIES) \ - $(plugin_LTLIBRARIES) -lib_libbluetooth_private_la_LIBADD = -am__objects_1 = -am__objects_2 = lib/bluetooth.lo lib/hci.lo lib/sdp.lo -am__objects_3 = lib/uuid.lo -am_lib_libbluetooth_private_la_OBJECTS = $(am__objects_1) \ - $(am__objects_2) $(am__objects_1) $(am__objects_3) -lib_libbluetooth_private_la_OBJECTS = \ - $(am_lib_libbluetooth_private_la_OBJECTS) -AM_V_lt = $(am__v_lt_@AM_V@) -am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) -am__v_lt_0 = --silent -lib_libbluetooth_la_LIBADD = -am__lib_libbluetooth_la_SOURCES_DIST = lib/bluetooth.h lib/hci.h \ - lib/hci_lib.h lib/sco.h lib/l2cap.h lib/sdp.h lib/sdp_lib.h \ - lib/rfcomm.h lib/bnep.h lib/cmtp.h lib/hidp.h lib/bluetooth.c \ - lib/hci.c lib/sdp.c -@LIBRARY_TRUE@am_lib_libbluetooth_la_OBJECTS = $(am__objects_1) \ -@LIBRARY_TRUE@ $(am__objects_2) -lib_libbluetooth_la_OBJECTS = $(am_lib_libbluetooth_la_OBJECTS) -lib_libbluetooth_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(AM_CFLAGS) $(CFLAGS) $(lib_libbluetooth_la_LDFLAGS) \ - $(LDFLAGS) -o $@ -@LIBRARY_TRUE@am_lib_libbluetooth_la_rpath = -rpath $(libdir) -plugins_external_dummy_la_LIBADD = -am__plugins_external_dummy_la_SOURCES_DIST = plugins/external-dummy.c -@MAINTAINER_MODE_TRUE@am_plugins_external_dummy_la_OBJECTS = plugins/plugins_external_dummy_la-external-dummy.lo -plugins_external_dummy_la_OBJECTS = \ - $(am_plugins_external_dummy_la_OBJECTS) -plugins_external_dummy_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(plugins_external_dummy_la_CFLAGS) $(CFLAGS) \ - $(plugins_external_dummy_la_LDFLAGS) $(LDFLAGS) -o $@ -@MAINTAINER_MODE_TRUE@am_plugins_external_dummy_la_rpath = -rpath \ -@MAINTAINER_MODE_TRUE@ $(plugindir) -@CLIENT_TRUE@am__EXEEXT_1 = client/bluetoothctl$(EXEEXT) -@MONITOR_TRUE@am__EXEEXT_2 = monitor/btmon$(EXEEXT) -@TOOLS_TRUE@am__EXEEXT_3 = tools/hciattach$(EXEEXT) \ -@TOOLS_TRUE@ tools/hciconfig$(EXEEXT) tools/hcitool$(EXEEXT) \ -@TOOLS_TRUE@ tools/hcidump$(EXEEXT) tools/rfcomm$(EXEEXT) \ -@TOOLS_TRUE@ tools/rctest$(EXEEXT) tools/l2test$(EXEEXT) \ -@TOOLS_TRUE@ tools/l2ping$(EXEEXT) tools/sdptool$(EXEEXT) \ -@TOOLS_TRUE@ tools/ciptool$(EXEEXT) tools/bccmd$(EXEEXT) -@EXPERIMENTAL_TRUE@am__EXEEXT_4 = emulator/btvirt$(EXEEXT) \ -@EXPERIMENTAL_TRUE@ emulator/b1ee$(EXEEXT) \ -@EXPERIMENTAL_TRUE@ tools/mgmt-tester$(EXEEXT) \ -@EXPERIMENTAL_TRUE@ tools/gap-tester$(EXEEXT) \ -@EXPERIMENTAL_TRUE@ tools/bdaddr$(EXEEXT) tools/avinfo$(EXEEXT) \ -@EXPERIMENTAL_TRUE@ tools/avtest$(EXEEXT) \ -@EXPERIMENTAL_TRUE@ tools/scotest$(EXEEXT) \ -@EXPERIMENTAL_TRUE@ tools/hcieventmask$(EXEEXT) \ -@EXPERIMENTAL_TRUE@ tools/hcisecfilter$(EXEEXT) \ -@EXPERIMENTAL_TRUE@ tools/hwdb$(EXEEXT) tools/btmgmt$(EXEEXT) \ -@EXPERIMENTAL_TRUE@ tools/btattach$(EXEEXT) \ -@EXPERIMENTAL_TRUE@ tools/btsnoop$(EXEEXT) \ -@EXPERIMENTAL_TRUE@ tools/btiotest$(EXEEXT) \ -@EXPERIMENTAL_TRUE@ tools/mpris-player$(EXEEXT) -@READLINE_TRUE@am__EXEEXT_5 = attrib/gatttool$(EXEEXT) \ -@READLINE_TRUE@ tools/obex-client-tool$(EXEEXT) \ -@READLINE_TRUE@ tools/obex-server-tool$(EXEEXT) -@EXPERIMENTAL_TRUE@am__EXEEXT_6 = profiles/iap/iapd$(EXEEXT) -am__EXEEXT_7 = unit/test-eir$(EXEEXT) unit/test-uuid$(EXEEXT) \ - unit/test-textfile$(EXEEXT) unit/test-mgmt$(EXEEXT) \ - unit/test-sdp$(EXEEXT) unit/test-gdbus-client$(EXEEXT) \ - unit/test-gobex-header$(EXEEXT) \ - unit/test-gobex-packet$(EXEEXT) unit/test-gobex$(EXEEXT) \ - unit/test-gobex-transfer$(EXEEXT) \ - unit/test-gobex-apparam$(EXEEXT) unit/test-lib$(EXEEXT) -PROGRAMS = $(bin_PROGRAMS) $(cups_PROGRAMS) $(libexec_PROGRAMS) \ - $(noinst_PROGRAMS) $(udev_PROGRAMS) -am__attrib_gatttool_SOURCES_DIST = attrib/gatttool.c attrib/att.c \ - attrib/gatt.c attrib/gattrib.c btio/btio.c attrib/gatttool.h \ - attrib/interactive.c attrib/utils.c src/log.c -@READLINE_TRUE@am_attrib_gatttool_OBJECTS = attrib/gatttool.$(OBJEXT) \ -@READLINE_TRUE@ attrib/att.$(OBJEXT) attrib/gatt.$(OBJEXT) \ -@READLINE_TRUE@ attrib/gattrib.$(OBJEXT) btio/btio.$(OBJEXT) \ -@READLINE_TRUE@ attrib/interactive.$(OBJEXT) \ -@READLINE_TRUE@ attrib/utils.$(OBJEXT) src/log.$(OBJEXT) -attrib_gatttool_OBJECTS = $(am_attrib_gatttool_OBJECTS) -@READLINE_TRUE@attrib_gatttool_DEPENDENCIES = \ -@READLINE_TRUE@ lib/libbluetooth-private.la -am__client_bluetoothctl_SOURCES_DIST = gdbus/gdbus.h gdbus/mainloop.c \ - gdbus/watch.c gdbus/object.c gdbus/client.c gdbus/polkit.c \ - client/main.c client/display.h client/display.c client/agent.h \ - client/agent.c monitor/uuid.h monitor/uuid.c -am__objects_4 = gdbus/mainloop.$(OBJEXT) gdbus/watch.$(OBJEXT) \ - gdbus/object.$(OBJEXT) gdbus/client.$(OBJEXT) \ - gdbus/polkit.$(OBJEXT) -@CLIENT_TRUE@am_client_bluetoothctl_OBJECTS = $(am__objects_4) \ -@CLIENT_TRUE@ client/main.$(OBJEXT) client/display.$(OBJEXT) \ -@CLIENT_TRUE@ client/agent.$(OBJEXT) monitor/uuid.$(OBJEXT) -client_bluetoothctl_OBJECTS = $(am_client_bluetoothctl_OBJECTS) -client_bluetoothctl_DEPENDENCIES = -am__emulator_b1ee_SOURCES_DIST = emulator/b1ee.c monitor/mainloop.h \ - monitor/mainloop.c -@EXPERIMENTAL_TRUE@am_emulator_b1ee_OBJECTS = emulator/b1ee.$(OBJEXT) \ -@EXPERIMENTAL_TRUE@ monitor/mainloop.$(OBJEXT) -emulator_b1ee_OBJECTS = $(am_emulator_b1ee_OBJECTS) -emulator_b1ee_LDADD = $(LDADD) -am__emulator_btvirt_SOURCES_DIST = emulator/main.c monitor/bt.h \ - monitor/mainloop.h monitor/mainloop.c emulator/server.h \ - emulator/server.c emulator/vhci.h emulator/vhci.c \ - emulator/btdev.h emulator/btdev.c emulator/bthost.h \ - emulator/bthost.c -@EXPERIMENTAL_TRUE@am_emulator_btvirt_OBJECTS = \ -@EXPERIMENTAL_TRUE@ emulator/main.$(OBJEXT) \ -@EXPERIMENTAL_TRUE@ monitor/mainloop.$(OBJEXT) \ -@EXPERIMENTAL_TRUE@ emulator/server.$(OBJEXT) \ -@EXPERIMENTAL_TRUE@ emulator/vhci.$(OBJEXT) \ -@EXPERIMENTAL_TRUE@ emulator/btdev.$(OBJEXT) \ -@EXPERIMENTAL_TRUE@ emulator/bthost.$(OBJEXT) -emulator_btvirt_OBJECTS = $(am_emulator_btvirt_OBJECTS) -emulator_btvirt_LDADD = $(LDADD) -am__monitor_btmon_SOURCES_DIST = monitor/main.c monitor/bt.h \ - monitor/mainloop.h monitor/mainloop.c monitor/display.h \ - monitor/display.c monitor/hcidump.h monitor/hcidump.c \ - monitor/btsnoop.h monitor/btsnoop.c monitor/control.h \ - monitor/control.c monitor/packet.h monitor/packet.c \ - monitor/l2cap.h monitor/l2cap.c monitor/uuid.h monitor/uuid.c \ - monitor/sdp.h monitor/sdp.c -@MONITOR_TRUE@am_monitor_btmon_OBJECTS = monitor/main.$(OBJEXT) \ -@MONITOR_TRUE@ monitor/mainloop.$(OBJEXT) \ -@MONITOR_TRUE@ monitor/display.$(OBJEXT) \ -@MONITOR_TRUE@ monitor/hcidump.$(OBJEXT) \ -@MONITOR_TRUE@ monitor/btsnoop.$(OBJEXT) \ -@MONITOR_TRUE@ monitor/control.$(OBJEXT) \ -@MONITOR_TRUE@ monitor/packet.$(OBJEXT) monitor/l2cap.$(OBJEXT) \ -@MONITOR_TRUE@ monitor/uuid.$(OBJEXT) monitor/sdp.$(OBJEXT) -monitor_btmon_OBJECTS = $(am_monitor_btmon_OBJECTS) -@MONITOR_TRUE@monitor_btmon_DEPENDENCIES = \ -@MONITOR_TRUE@ lib/libbluetooth-private.la -am__obexd_src_obexd_SOURCES_DIST = gdbus/gdbus.h gdbus/mainloop.c \ - gdbus/watch.c gdbus/object.c gdbus/client.c gdbus/polkit.c \ - btio/btio.h btio/btio.c gobex/gobex.h gobex/gobex.c \ - gobex/gobex-defs.h gobex/gobex-defs.c gobex/gobex-packet.c \ - gobex/gobex-packet.h gobex/gobex-header.c gobex/gobex-header.h \ - gobex/gobex-transfer.c gobex/gobex-debug.h \ - gobex/gobex-apparam.c gobex/gobex-apparam.h \ - obexd/plugins/filesystem.c obexd/plugins/filesystem.h \ - obexd/plugins/bluetooth.c obexd/plugins/pcsuite.c \ - obexd/plugins/opp.c obexd/plugins/ftp.c obexd/plugins/ftp.h \ - obexd/plugins/irmc.c obexd/plugins/pbap.c \ - obexd/plugins/vcard.h obexd/plugins/vcard.c \ - obexd/plugins/phonebook.h obexd/plugins/phonebook-dummy.c \ - obexd/plugins/mas.c obexd/src/map_ap.h \ - obexd/plugins/messages.h obexd/plugins/messages-dummy.c \ - obexd/client/mns.c obexd/client/map-event.h obexd/src/main.c \ - obexd/src/obexd.h obexd/src/plugin.h obexd/src/plugin.c \ - obexd/src/log.h obexd/src/log.c obexd/src/manager.h \ - obexd/src/manager.c obexd/src/obex.h obexd/src/obex.c \ - obexd/src/obex-priv.h obexd/src/mimetype.h \ - obexd/src/mimetype.c obexd/src/service.h obexd/src/service.c \ - obexd/src/transport.h obexd/src/transport.c obexd/src/server.h \ - obexd/src/server.c obexd/client/manager.h \ - obexd/client/manager.c obexd/client/session.h \ - obexd/client/session.c obexd/client/bluetooth.h \ - obexd/client/bluetooth.c obexd/client/sync.h \ - obexd/client/sync.c obexd/client/pbap.h obexd/client/pbap.c \ - obexd/client/ftp.h obexd/client/ftp.c obexd/client/opp.h \ - obexd/client/opp.c obexd/client/map.h obexd/client/map.c \ - obexd/client/transfer.h obexd/client/transfer.c \ - obexd/client/transport.h obexd/client/transport.c \ - obexd/client/dbus.h obexd/client/dbus.c obexd/client/driver.h \ - obexd/client/driver.c -am__objects_5 = gdbus/obexd-mainloop.$(OBJEXT) \ - gdbus/obexd-watch.$(OBJEXT) gdbus/obexd-object.$(OBJEXT) \ - gdbus/obexd-client.$(OBJEXT) gdbus/obexd-polkit.$(OBJEXT) -am__objects_6 = btio/obexd-btio.$(OBJEXT) -am__objects_7 = gobex/obexd-gobex.$(OBJEXT) \ - gobex/obexd-gobex-defs.$(OBJEXT) \ - gobex/obexd-gobex-packet.$(OBJEXT) \ - gobex/obexd-gobex-header.$(OBJEXT) \ - gobex/obexd-gobex-transfer.$(OBJEXT) \ - gobex/obexd-gobex-apparam.$(OBJEXT) -@EXPERIMENTAL_TRUE@am__objects_8 = \ -@EXPERIMENTAL_TRUE@ obexd/plugins/obexd-pcsuite.$(OBJEXT) -@OBEX_TRUE@am__objects_9 = obexd/plugins/obexd-irmc.$(OBJEXT) \ -@OBEX_TRUE@ obexd/plugins/obexd-pbap.$(OBJEXT) \ -@OBEX_TRUE@ obexd/plugins/obexd-vcard.$(OBJEXT) \ -@OBEX_TRUE@ obexd/plugins/obexd-phonebook-dummy.$(OBJEXT) -am__objects_10 = obexd/plugins/obexd-filesystem.$(OBJEXT) \ - obexd/plugins/obexd-bluetooth.$(OBJEXT) $(am__objects_8) \ - obexd/plugins/obexd-opp.$(OBJEXT) \ - obexd/plugins/obexd-ftp.$(OBJEXT) $(am__objects_9) \ - obexd/plugins/obexd-mas.$(OBJEXT) \ - obexd/plugins/obexd-messages-dummy.$(OBJEXT) \ - obexd/client/obexd-mns.$(OBJEXT) -am_obexd_src_obexd_OBJECTS = $(am__objects_5) $(am__objects_6) \ - $(am__objects_7) $(am__objects_10) \ - obexd/src/obexd-main.$(OBJEXT) \ - obexd/src/obexd-plugin.$(OBJEXT) obexd/src/obexd-log.$(OBJEXT) \ - obexd/src/obexd-manager.$(OBJEXT) \ - obexd/src/obexd-obex.$(OBJEXT) \ - obexd/src/obexd-mimetype.$(OBJEXT) \ - obexd/src/obexd-service.$(OBJEXT) \ - obexd/src/obexd-transport.$(OBJEXT) \ - obexd/src/obexd-server.$(OBJEXT) \ - obexd/client/obexd-manager.$(OBJEXT) \ - obexd/client/obexd-session.$(OBJEXT) \ - obexd/client/obexd-bluetooth.$(OBJEXT) \ - obexd/client/obexd-sync.$(OBJEXT) \ - obexd/client/obexd-pbap.$(OBJEXT) \ - obexd/client/obexd-ftp.$(OBJEXT) \ - obexd/client/obexd-opp.$(OBJEXT) \ - obexd/client/obexd-map.$(OBJEXT) \ - obexd/client/obexd-transfer.$(OBJEXT) \ - obexd/client/obexd-transport.$(OBJEXT) \ - obexd/client/obexd-dbus.$(OBJEXT) \ - obexd/client/obexd-driver.$(OBJEXT) -am__objects_11 = $(am__objects_1) -nodist_obexd_src_obexd_OBJECTS = $(am__objects_11) -obexd_src_obexd_OBJECTS = $(am_obexd_src_obexd_OBJECTS) \ - $(nodist_obexd_src_obexd_OBJECTS) -obexd_src_obexd_DEPENDENCIES = lib/libbluetooth-private.la -obexd_src_obexd_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(obexd_src_obexd_CFLAGS) $(CFLAGS) $(obexd_src_obexd_LDFLAGS) \ - $(LDFLAGS) -o $@ -am__profiles_cups_bluetooth_SOURCES_DIST = gdbus/gdbus.h \ - gdbus/mainloop.c gdbus/watch.c gdbus/object.c gdbus/client.c \ - gdbus/polkit.c profiles/cups/main.c profiles/cups/cups.h \ - profiles/cups/sdp.c profiles/cups/spp.c profiles/cups/hcrp.c -@CUPS_TRUE@am_profiles_cups_bluetooth_OBJECTS = $(am__objects_4) \ -@CUPS_TRUE@ profiles/cups/main.$(OBJEXT) \ -@CUPS_TRUE@ profiles/cups/sdp.$(OBJEXT) \ -@CUPS_TRUE@ profiles/cups/spp.$(OBJEXT) \ -@CUPS_TRUE@ profiles/cups/hcrp.$(OBJEXT) -profiles_cups_bluetooth_OBJECTS = \ - $(am_profiles_cups_bluetooth_OBJECTS) -@CUPS_TRUE@profiles_cups_bluetooth_DEPENDENCIES = \ -@CUPS_TRUE@ lib/libbluetooth-private.la -am__profiles_iap_iapd_SOURCES_DIST = gdbus/gdbus.h gdbus/mainloop.c \ - gdbus/watch.c gdbus/object.c gdbus/client.c gdbus/polkit.c \ - profiles/iap/main.c -@EXPERIMENTAL_TRUE@am_profiles_iap_iapd_OBJECTS = $(am__objects_4) \ -@EXPERIMENTAL_TRUE@ profiles/iap/main.$(OBJEXT) -profiles_iap_iapd_OBJECTS = $(am_profiles_iap_iapd_OBJECTS) -profiles_iap_iapd_DEPENDENCIES = -am__src_bluetoothd_SOURCES_DIST = gdbus/gdbus.h gdbus/mainloop.c \ - gdbus/watch.c gdbus/object.c gdbus/client.c gdbus/polkit.c \ - plugins/hostname.c plugins/wiimote.c plugins/gatt-example.c \ - plugins/neard.c profiles/sap/main.c profiles/sap/manager.h \ - profiles/sap/manager.c profiles/sap/server.h \ - profiles/sap/server.c profiles/sap/sap.h \ - profiles/sap/sap-dummy.c profiles/audio/main.c \ - profiles/audio/manager.h profiles/audio/manager.c \ - profiles/audio/control.h profiles/audio/control.c \ - profiles/audio/avctp.h profiles/audio/avctp.c \ - profiles/audio/avrcp.h profiles/audio/avrcp.c \ - profiles/audio/device.h profiles/audio/device.c \ - profiles/audio/source.h profiles/audio/source.c \ - profiles/audio/sink.h profiles/audio/sink.c \ - profiles/audio/a2dp.h profiles/audio/a2dp.c \ - profiles/audio/avdtp.h profiles/audio/avdtp.c \ - profiles/audio/media.h profiles/audio/media.c \ - profiles/audio/transport.h profiles/audio/transport.c \ - profiles/audio/player.h profiles/audio/player.c \ - profiles/audio/a2dp-codecs.h profiles/network/manager.h \ - profiles/network/manager.c profiles/network/common.h \ - profiles/network/common.c profiles/network/server.h \ - profiles/network/server.c profiles/network/connection.h \ - profiles/network/connection.c profiles/input/manager.h \ - profiles/input/manager.c profiles/input/server.h \ - profiles/input/server.c profiles/input/device.h \ - profiles/input/device.c profiles/input/hog.c \ - profiles/input/uhid_copy.h profiles/input/suspend.h \ - profiles/input/suspend-dummy.c profiles/health/mcap_lib.h \ - profiles/health/mcap_internal.h profiles/health/mcap.h \ - profiles/health/mcap.c profiles/health/mcap_sync.c \ - profiles/health/hdp_main.c profiles/health/hdp_types.h \ - profiles/health/hdp_manager.h profiles/health/hdp_manager.c \ - profiles/health/hdp.h profiles/health/hdp.c \ - profiles/health/hdp_util.h profiles/health/hdp_util.c \ - profiles/gatt/gas.c profiles/scanparam/scan.c \ - profiles/deviceinfo/deviceinfo.c profiles/alert/server.c \ - profiles/time/server.c profiles/proximity/main.c \ - profiles/proximity/manager.h profiles/proximity/manager.c \ - profiles/proximity/monitor.h profiles/proximity/monitor.c \ - profiles/proximity/reporter.h profiles/proximity/reporter.c \ - profiles/proximity/linkloss.h profiles/proximity/linkloss.c \ - profiles/proximity/immalert.h profiles/proximity/immalert.c \ - profiles/thermometer/thermometer.c \ - profiles/heartrate/heartrate.c \ - profiles/cyclingspeed/cyclingspeed.c attrib/att.h \ - attrib/att-database.h attrib/att.c attrib/gatt.h attrib/gatt.c \ - attrib/gattrib.h attrib/gattrib.c attrib/gatt-service.h \ - attrib/gatt-service.c btio/btio.h btio/btio.c \ - src/bluetooth.ver src/main.c src/log.h src/log.c src/systemd.h \ - src/systemd.c src/rfkill.c src/hcid.h src/sdpd.h \ - src/sdpd-server.c src/sdpd-request.c src/sdpd-service.c \ - src/sdpd-database.c src/attrib-server.h src/attrib-server.c \ - src/sdp-xml.h src/sdp-xml.c src/sdp-client.h src/sdp-client.c \ - src/textfile.h src/textfile.c src/glib-helper.h \ - src/glib-helper.c src/uinput.h src/plugin.h src/plugin.c \ - src/storage.h src/storage.c src/agent.h src/agent.c \ - src/error.h src/error.c src/adapter.h src/adapter.c \ - src/profile.h src/profile.c src/device.h src/device.c \ - src/attio.h src/dbus-common.c src/dbus-common.h src/eir.h \ - src/eir.c src/shared/util.h src/shared/util.c \ - src/shared/mgmt.h src/shared/mgmt.c -am__objects_12 = gdbus/bluetoothd-mainloop.$(OBJEXT) \ - gdbus/bluetoothd-watch.$(OBJEXT) \ - gdbus/bluetoothd-object.$(OBJEXT) \ - gdbus/bluetoothd-client.$(OBJEXT) \ - gdbus/bluetoothd-polkit.$(OBJEXT) -@MAINTAINER_MODE_TRUE@am__objects_13 = plugins/bluetoothd-gatt-example.$(OBJEXT) -@EXPERIMENTAL_TRUE@am__objects_14 = \ -@EXPERIMENTAL_TRUE@ plugins/bluetoothd-neard.$(OBJEXT) \ -@EXPERIMENTAL_TRUE@ profiles/sap/bluetoothd-main.$(OBJEXT) \ -@EXPERIMENTAL_TRUE@ profiles/sap/bluetoothd-manager.$(OBJEXT) \ -@EXPERIMENTAL_TRUE@ profiles/sap/bluetoothd-server.$(OBJEXT) \ -@EXPERIMENTAL_TRUE@ profiles/sap/bluetoothd-sap-dummy.$(OBJEXT) -@EXPERIMENTAL_TRUE@am__objects_15 = \ -@EXPERIMENTAL_TRUE@ profiles/health/bluetoothd-mcap.$(OBJEXT) \ -@EXPERIMENTAL_TRUE@ profiles/health/bluetoothd-mcap_sync.$(OBJEXT) \ -@EXPERIMENTAL_TRUE@ profiles/health/bluetoothd-hdp_main.$(OBJEXT) \ -@EXPERIMENTAL_TRUE@ profiles/health/bluetoothd-hdp_manager.$(OBJEXT) \ -@EXPERIMENTAL_TRUE@ profiles/health/bluetoothd-hdp.$(OBJEXT) \ -@EXPERIMENTAL_TRUE@ profiles/health/bluetoothd-hdp_util.$(OBJEXT) -@EXPERIMENTAL_TRUE@am__objects_16 = \ -@EXPERIMENTAL_TRUE@ profiles/alert/bluetoothd-server.$(OBJEXT) \ -@EXPERIMENTAL_TRUE@ profiles/time/bluetoothd-server.$(OBJEXT) \ -@EXPERIMENTAL_TRUE@ profiles/proximity/bluetoothd-main.$(OBJEXT) \ -@EXPERIMENTAL_TRUE@ profiles/proximity/bluetoothd-manager.$(OBJEXT) \ -@EXPERIMENTAL_TRUE@ profiles/proximity/bluetoothd-monitor.$(OBJEXT) \ -@EXPERIMENTAL_TRUE@ profiles/proximity/bluetoothd-reporter.$(OBJEXT) \ -@EXPERIMENTAL_TRUE@ profiles/proximity/bluetoothd-linkloss.$(OBJEXT) \ -@EXPERIMENTAL_TRUE@ profiles/proximity/bluetoothd-immalert.$(OBJEXT) \ -@EXPERIMENTAL_TRUE@ profiles/thermometer/bluetoothd-thermometer.$(OBJEXT) \ -@EXPERIMENTAL_TRUE@ profiles/heartrate/bluetoothd-heartrate.$(OBJEXT) \ -@EXPERIMENTAL_TRUE@ profiles/cyclingspeed/bluetoothd-cyclingspeed.$(OBJEXT) -am__objects_17 = plugins/bluetoothd-hostname.$(OBJEXT) \ - plugins/bluetoothd-wiimote.$(OBJEXT) $(am__objects_13) \ - $(am__objects_14) profiles/audio/bluetoothd-main.$(OBJEXT) \ - profiles/audio/bluetoothd-manager.$(OBJEXT) \ - profiles/audio/bluetoothd-control.$(OBJEXT) \ - profiles/audio/bluetoothd-avctp.$(OBJEXT) \ - profiles/audio/bluetoothd-avrcp.$(OBJEXT) \ - profiles/audio/bluetoothd-device.$(OBJEXT) \ - profiles/audio/bluetoothd-source.$(OBJEXT) \ - profiles/audio/bluetoothd-sink.$(OBJEXT) \ - profiles/audio/bluetoothd-a2dp.$(OBJEXT) \ - profiles/audio/bluetoothd-avdtp.$(OBJEXT) \ - profiles/audio/bluetoothd-media.$(OBJEXT) \ - profiles/audio/bluetoothd-transport.$(OBJEXT) \ - profiles/audio/bluetoothd-player.$(OBJEXT) \ - profiles/network/bluetoothd-manager.$(OBJEXT) \ - profiles/network/bluetoothd-common.$(OBJEXT) \ - profiles/network/bluetoothd-server.$(OBJEXT) \ - profiles/network/bluetoothd-connection.$(OBJEXT) \ - profiles/input/bluetoothd-manager.$(OBJEXT) \ - profiles/input/bluetoothd-server.$(OBJEXT) \ - profiles/input/bluetoothd-device.$(OBJEXT) \ - profiles/input/bluetoothd-hog.$(OBJEXT) \ - profiles/input/bluetoothd-suspend-dummy.$(OBJEXT) \ - $(am__objects_15) profiles/gatt/bluetoothd-gas.$(OBJEXT) \ - profiles/scanparam/bluetoothd-scan.$(OBJEXT) \ - profiles/deviceinfo/bluetoothd-deviceinfo.$(OBJEXT) \ - $(am__objects_16) -am__objects_18 = attrib/bluetoothd-att.$(OBJEXT) \ - attrib/bluetoothd-gatt.$(OBJEXT) \ - attrib/bluetoothd-gattrib.$(OBJEXT) \ - attrib/bluetoothd-gatt-service.$(OBJEXT) -am__objects_19 = btio/bluetoothd-btio.$(OBJEXT) -am_src_bluetoothd_OBJECTS = $(am__objects_12) $(am__objects_17) \ - $(am__objects_18) $(am__objects_19) \ - src/bluetoothd-main.$(OBJEXT) src/bluetoothd-log.$(OBJEXT) \ - src/bluetoothd-systemd.$(OBJEXT) \ - src/bluetoothd-rfkill.$(OBJEXT) \ - src/bluetoothd-sdpd-server.$(OBJEXT) \ - src/bluetoothd-sdpd-request.$(OBJEXT) \ - src/bluetoothd-sdpd-service.$(OBJEXT) \ - src/bluetoothd-sdpd-database.$(OBJEXT) \ - src/bluetoothd-attrib-server.$(OBJEXT) \ - src/bluetoothd-sdp-xml.$(OBJEXT) \ - src/bluetoothd-sdp-client.$(OBJEXT) \ - src/bluetoothd-textfile.$(OBJEXT) \ - src/bluetoothd-glib-helper.$(OBJEXT) \ - src/bluetoothd-plugin.$(OBJEXT) \ - src/bluetoothd-storage.$(OBJEXT) \ - src/bluetoothd-agent.$(OBJEXT) src/bluetoothd-error.$(OBJEXT) \ - src/bluetoothd-adapter.$(OBJEXT) \ - src/bluetoothd-profile.$(OBJEXT) \ - src/bluetoothd-device.$(OBJEXT) \ - src/bluetoothd-dbus-common.$(OBJEXT) \ - src/bluetoothd-eir.$(OBJEXT) \ - src/shared/bluetoothd-util.$(OBJEXT) \ - src/shared/bluetoothd-mgmt.$(OBJEXT) -nodist_src_bluetoothd_OBJECTS = $(am__objects_11) -src_bluetoothd_OBJECTS = $(am_src_bluetoothd_OBJECTS) \ - $(nodist_src_bluetoothd_OBJECTS) -src_bluetoothd_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(src_bluetoothd_CFLAGS) $(CFLAGS) $(src_bluetoothd_LDFLAGS) \ - $(LDFLAGS) -o $@ -tools_avinfo_SOURCES = tools/avinfo.c -tools_avinfo_OBJECTS = tools/avinfo.$(OBJEXT) -@EXPERIMENTAL_TRUE@tools_avinfo_DEPENDENCIES = \ -@EXPERIMENTAL_TRUE@ lib/libbluetooth-private.la -tools_avtest_SOURCES = tools/avtest.c -tools_avtest_OBJECTS = tools/avtest.$(OBJEXT) -@EXPERIMENTAL_TRUE@tools_avtest_DEPENDENCIES = \ -@EXPERIMENTAL_TRUE@ lib/libbluetooth-private.la -am__tools_bccmd_SOURCES_DIST = tools/bccmd.c tools/csr.h tools/csr.c \ - tools/csr_hci.c tools/csr_h4.c tools/csr_3wire.c \ - tools/csr_bcsp.c tools/ubcsp.h tools/ubcsp.c tools/csr_usb.c -@TOOLS_TRUE@@USB_TRUE@am__objects_20 = tools/csr_usb.$(OBJEXT) -@TOOLS_TRUE@am_tools_bccmd_OBJECTS = tools/bccmd.$(OBJEXT) \ -@TOOLS_TRUE@ tools/csr.$(OBJEXT) tools/csr_hci.$(OBJEXT) \ -@TOOLS_TRUE@ tools/csr_h4.$(OBJEXT) tools/csr_3wire.$(OBJEXT) \ -@TOOLS_TRUE@ tools/csr_bcsp.$(OBJEXT) tools/ubcsp.$(OBJEXT) \ -@TOOLS_TRUE@ $(am__objects_20) -tools_bccmd_OBJECTS = $(am_tools_bccmd_OBJECTS) -am__DEPENDENCIES_1 = -@TOOLS_TRUE@tools_bccmd_DEPENDENCIES = lib/libbluetooth-private.la \ -@TOOLS_TRUE@ $(am__DEPENDENCIES_1) -am__tools_bdaddr_SOURCES_DIST = tools/bdaddr.c src/oui.h src/oui.c -@EXPERIMENTAL_TRUE@am_tools_bdaddr_OBJECTS = tools/bdaddr.$(OBJEXT) \ -@EXPERIMENTAL_TRUE@ src/oui.$(OBJEXT) -tools_bdaddr_OBJECTS = $(am_tools_bdaddr_OBJECTS) -@EXPERIMENTAL_TRUE@tools_bdaddr_DEPENDENCIES = \ -@EXPERIMENTAL_TRUE@ lib/libbluetooth-private.la -tools_btattach_SOURCES = tools/btattach.c -tools_btattach_OBJECTS = tools/btattach.$(OBJEXT) -tools_btattach_LDADD = $(LDADD) -am__tools_btiotest_SOURCES_DIST = tools/btiotest.c btio/btio.h \ - btio/btio.c -@EXPERIMENTAL_TRUE@am_tools_btiotest_OBJECTS = \ -@EXPERIMENTAL_TRUE@ tools/btiotest.$(OBJEXT) \ -@EXPERIMENTAL_TRUE@ btio/btio.$(OBJEXT) -tools_btiotest_OBJECTS = $(am_tools_btiotest_OBJECTS) -@EXPERIMENTAL_TRUE@tools_btiotest_DEPENDENCIES = \ -@EXPERIMENTAL_TRUE@ lib/libbluetooth-private.la -am__tools_btmgmt_SOURCES_DIST = tools/btmgmt.c src/glib-helper.c \ - src/eir.c src/shared/util.h src/shared/util.c \ - src/shared/mgmt.h src/shared/mgmt.c -@EXPERIMENTAL_TRUE@am_tools_btmgmt_OBJECTS = tools/btmgmt.$(OBJEXT) \ -@EXPERIMENTAL_TRUE@ src/glib-helper.$(OBJEXT) src/eir.$(OBJEXT) \ -@EXPERIMENTAL_TRUE@ src/shared/util.$(OBJEXT) \ -@EXPERIMENTAL_TRUE@ src/shared/mgmt.$(OBJEXT) -tools_btmgmt_OBJECTS = $(am_tools_btmgmt_OBJECTS) -@EXPERIMENTAL_TRUE@tools_btmgmt_DEPENDENCIES = \ -@EXPERIMENTAL_TRUE@ lib/libbluetooth-private.la -tools_btsnoop_SOURCES = tools/btsnoop.c -tools_btsnoop_OBJECTS = tools/btsnoop.$(OBJEXT) -tools_btsnoop_LDADD = $(LDADD) -tools_ciptool_SOURCES = tools/ciptool.c -tools_ciptool_OBJECTS = tools/ciptool.$(OBJEXT) -@TOOLS_TRUE@tools_ciptool_DEPENDENCIES = lib/libbluetooth-private.la -am__tools_gap_tester_SOURCES_DIST = gdbus/gdbus.h gdbus/mainloop.c \ - gdbus/watch.c gdbus/object.c gdbus/client.c gdbus/polkit.c \ - tools/gap-tester.c monitor/bt.h emulator/btdev.h \ - emulator/btdev.c emulator/bthost.h emulator/bthost.c \ - src/shared/hciemu.h src/shared/hciemu.c src/shared/tester.h \ - src/shared/tester.c -@EXPERIMENTAL_TRUE@am_tools_gap_tester_OBJECTS = $(am__objects_4) \ -@EXPERIMENTAL_TRUE@ tools/gap-tester.$(OBJEXT) \ -@EXPERIMENTAL_TRUE@ emulator/btdev.$(OBJEXT) \ -@EXPERIMENTAL_TRUE@ emulator/bthost.$(OBJEXT) \ -@EXPERIMENTAL_TRUE@ src/shared/hciemu.$(OBJEXT) \ -@EXPERIMENTAL_TRUE@ src/shared/tester.$(OBJEXT) -tools_gap_tester_OBJECTS = $(am_tools_gap_tester_OBJECTS) -tools_gap_tester_DEPENDENCIES = -am__tools_hciattach_SOURCES_DIST = tools/hciattach.c tools/hciattach.h \ - tools/hciattach_st.c tools/hciattach_ti.c \ - tools/hciattach_tialt.c tools/hciattach_ath3k.c \ - tools/hciattach_qualcomm.c tools/hciattach_intel.c -@TOOLS_TRUE@am_tools_hciattach_OBJECTS = tools/hciattach.$(OBJEXT) \ -@TOOLS_TRUE@ tools/hciattach_st.$(OBJEXT) \ -@TOOLS_TRUE@ tools/hciattach_ti.$(OBJEXT) \ -@TOOLS_TRUE@ tools/hciattach_tialt.$(OBJEXT) \ -@TOOLS_TRUE@ tools/hciattach_ath3k.$(OBJEXT) \ -@TOOLS_TRUE@ tools/hciattach_qualcomm.$(OBJEXT) \ -@TOOLS_TRUE@ tools/hciattach_intel.$(OBJEXT) -tools_hciattach_OBJECTS = $(am_tools_hciattach_OBJECTS) -@TOOLS_TRUE@tools_hciattach_DEPENDENCIES = \ -@TOOLS_TRUE@ lib/libbluetooth-private.la -am__tools_hciconfig_SOURCES_DIST = tools/hciconfig.c tools/csr.h \ - tools/csr.c -@TOOLS_TRUE@am_tools_hciconfig_OBJECTS = tools/hciconfig.$(OBJEXT) \ -@TOOLS_TRUE@ tools/csr.$(OBJEXT) -tools_hciconfig_OBJECTS = $(am_tools_hciconfig_OBJECTS) -@TOOLS_TRUE@tools_hciconfig_DEPENDENCIES = \ -@TOOLS_TRUE@ lib/libbluetooth-private.la -am__tools_hcidump_SOURCES_DIST = tools/hcidump.c tools/parser/parser.h \ - tools/parser/parser.c tools/parser/lmp.c tools/parser/hci.c \ - tools/parser/l2cap.h tools/parser/l2cap.c tools/parser/amp.c \ - tools/parser/smp.c tools/parser/att.c tools/parser/sdp.h \ - tools/parser/sdp.c tools/parser/rfcomm.h tools/parser/rfcomm.c \ - tools/parser/bnep.c tools/parser/cmtp.c tools/parser/hidp.c \ - tools/parser/hcrp.c tools/parser/avdtp.c tools/parser/avctp.c \ - tools/parser/avrcp.c tools/parser/sap.c tools/parser/obex.c \ - tools/parser/capi.c tools/parser/ppp.c tools/parser/tcpip.c \ - tools/parser/ericsson.c tools/parser/csr.c tools/parser/bpa.c -@TOOLS_TRUE@am_tools_hcidump_OBJECTS = tools/hcidump.$(OBJEXT) \ -@TOOLS_TRUE@ tools/parser/parser.$(OBJEXT) \ -@TOOLS_TRUE@ tools/parser/lmp.$(OBJEXT) \ -@TOOLS_TRUE@ tools/parser/hci.$(OBJEXT) \ -@TOOLS_TRUE@ tools/parser/l2cap.$(OBJEXT) \ -@TOOLS_TRUE@ tools/parser/amp.$(OBJEXT) \ -@TOOLS_TRUE@ tools/parser/smp.$(OBJEXT) \ -@TOOLS_TRUE@ tools/parser/att.$(OBJEXT) \ -@TOOLS_TRUE@ tools/parser/sdp.$(OBJEXT) \ -@TOOLS_TRUE@ tools/parser/rfcomm.$(OBJEXT) \ -@TOOLS_TRUE@ tools/parser/bnep.$(OBJEXT) \ -@TOOLS_TRUE@ tools/parser/cmtp.$(OBJEXT) \ -@TOOLS_TRUE@ tools/parser/hidp.$(OBJEXT) \ -@TOOLS_TRUE@ tools/parser/hcrp.$(OBJEXT) \ -@TOOLS_TRUE@ tools/parser/avdtp.$(OBJEXT) \ -@TOOLS_TRUE@ tools/parser/avctp.$(OBJEXT) \ -@TOOLS_TRUE@ tools/parser/avrcp.$(OBJEXT) \ -@TOOLS_TRUE@ tools/parser/sap.$(OBJEXT) \ -@TOOLS_TRUE@ tools/parser/obex.$(OBJEXT) \ -@TOOLS_TRUE@ tools/parser/capi.$(OBJEXT) \ -@TOOLS_TRUE@ tools/parser/ppp.$(OBJEXT) \ -@TOOLS_TRUE@ tools/parser/tcpip.$(OBJEXT) \ -@TOOLS_TRUE@ tools/parser/ericsson.$(OBJEXT) \ -@TOOLS_TRUE@ tools/parser/csr.$(OBJEXT) \ -@TOOLS_TRUE@ tools/parser/bpa.$(OBJEXT) -tools_hcidump_OBJECTS = $(am_tools_hcidump_OBJECTS) -@TOOLS_TRUE@tools_hcidump_DEPENDENCIES = lib/libbluetooth-private.la -tools_hcieventmask_SOURCES = tools/hcieventmask.c -tools_hcieventmask_OBJECTS = tools/hcieventmask.$(OBJEXT) -@EXPERIMENTAL_TRUE@tools_hcieventmask_DEPENDENCIES = \ -@EXPERIMENTAL_TRUE@ lib/libbluetooth-private.la -tools_hcisecfilter_SOURCES = tools/hcisecfilter.c -tools_hcisecfilter_OBJECTS = tools/hcisecfilter.$(OBJEXT) -tools_hcisecfilter_LDADD = $(LDADD) -am__tools_hcitool_SOURCES_DIST = tools/hcitool.c src/oui.h src/oui.c -@TOOLS_TRUE@am_tools_hcitool_OBJECTS = tools/hcitool.$(OBJEXT) \ -@TOOLS_TRUE@ src/oui.$(OBJEXT) -tools_hcitool_OBJECTS = $(am_tools_hcitool_OBJECTS) -@TOOLS_TRUE@tools_hcitool_DEPENDENCIES = lib/libbluetooth-private.la -tools_hid2hci_SOURCES = tools/hid2hci.c -tools_hid2hci_OBJECTS = tools/hid2hci.$(OBJEXT) -tools_hid2hci_DEPENDENCIES = -tools_hwdb_SOURCES = tools/hwdb.c -tools_hwdb_OBJECTS = tools/hwdb.$(OBJEXT) -@EXPERIMENTAL_TRUE@tools_hwdb_DEPENDENCIES = \ -@EXPERIMENTAL_TRUE@ lib/libbluetooth-private.la -tools_l2ping_SOURCES = tools/l2ping.c -tools_l2ping_OBJECTS = tools/l2ping.$(OBJEXT) -@TOOLS_TRUE@tools_l2ping_DEPENDENCIES = lib/libbluetooth-private.la -tools_l2test_SOURCES = tools/l2test.c -tools_l2test_OBJECTS = tools/l2test.$(OBJEXT) -@TOOLS_TRUE@tools_l2test_DEPENDENCIES = lib/libbluetooth-private.la -am__tools_mgmt_tester_SOURCES_DIST = tools/mgmt-tester.c monitor/bt.h \ - emulator/btdev.h emulator/btdev.c emulator/bthost.h \ - emulator/bthost.c src/shared/util.h src/shared/util.c \ - src/shared/mgmt.h src/shared/mgmt.c src/shared/hciemu.h \ - src/shared/hciemu.c src/shared/tester.h src/shared/tester.c -@EXPERIMENTAL_TRUE@am_tools_mgmt_tester_OBJECTS = \ -@EXPERIMENTAL_TRUE@ tools/mgmt-tester.$(OBJEXT) \ -@EXPERIMENTAL_TRUE@ emulator/btdev.$(OBJEXT) \ -@EXPERIMENTAL_TRUE@ emulator/bthost.$(OBJEXT) \ -@EXPERIMENTAL_TRUE@ src/shared/util.$(OBJEXT) \ -@EXPERIMENTAL_TRUE@ src/shared/mgmt.$(OBJEXT) \ -@EXPERIMENTAL_TRUE@ src/shared/hciemu.$(OBJEXT) \ -@EXPERIMENTAL_TRUE@ src/shared/tester.$(OBJEXT) -tools_mgmt_tester_OBJECTS = $(am_tools_mgmt_tester_OBJECTS) -@EXPERIMENTAL_TRUE@tools_mgmt_tester_DEPENDENCIES = \ -@EXPERIMENTAL_TRUE@ lib/libbluetooth-private.la -am__tools_mpris_player_SOURCES_DIST = gdbus/gdbus.h gdbus/mainloop.c \ - gdbus/watch.c gdbus/object.c gdbus/client.c gdbus/polkit.c \ - tools/mpris-player.c -@EXPERIMENTAL_TRUE@am_tools_mpris_player_OBJECTS = $(am__objects_4) \ -@EXPERIMENTAL_TRUE@ tools/mpris-player.$(OBJEXT) -tools_mpris_player_OBJECTS = $(am_tools_mpris_player_OBJECTS) -tools_mpris_player_DEPENDENCIES = -am__tools_obex_client_tool_SOURCES_DIST = gobex/gobex.h gobex/gobex.c \ - gobex/gobex-defs.h gobex/gobex-defs.c gobex/gobex-packet.c \ - gobex/gobex-packet.h gobex/gobex-header.c gobex/gobex-header.h \ - gobex/gobex-transfer.c gobex/gobex-debug.h \ - gobex/gobex-apparam.c gobex/gobex-apparam.h btio/btio.h \ - btio/btio.c tools/obex-client-tool.c -am__objects_21 = gobex/gobex.$(OBJEXT) gobex/gobex-defs.$(OBJEXT) \ - gobex/gobex-packet.$(OBJEXT) gobex/gobex-header.$(OBJEXT) \ - gobex/gobex-transfer.$(OBJEXT) gobex/gobex-apparam.$(OBJEXT) -am__objects_22 = btio/btio.$(OBJEXT) -@READLINE_TRUE@am_tools_obex_client_tool_OBJECTS = $(am__objects_21) \ -@READLINE_TRUE@ $(am__objects_22) \ -@READLINE_TRUE@ tools/obex-client-tool.$(OBJEXT) -tools_obex_client_tool_OBJECTS = $(am_tools_obex_client_tool_OBJECTS) -@READLINE_TRUE@tools_obex_client_tool_DEPENDENCIES = \ -@READLINE_TRUE@ lib/libbluetooth-private.la -am__tools_obex_server_tool_SOURCES_DIST = gobex/gobex.h gobex/gobex.c \ - gobex/gobex-defs.h gobex/gobex-defs.c gobex/gobex-packet.c \ - gobex/gobex-packet.h gobex/gobex-header.c gobex/gobex-header.h \ - gobex/gobex-transfer.c gobex/gobex-debug.h \ - gobex/gobex-apparam.c gobex/gobex-apparam.h btio/btio.h \ - btio/btio.c tools/obex-server-tool.c -@READLINE_TRUE@am_tools_obex_server_tool_OBJECTS = $(am__objects_21) \ -@READLINE_TRUE@ $(am__objects_22) \ -@READLINE_TRUE@ tools/obex-server-tool.$(OBJEXT) -tools_obex_server_tool_OBJECTS = $(am_tools_obex_server_tool_OBJECTS) -@READLINE_TRUE@tools_obex_server_tool_DEPENDENCIES = \ -@READLINE_TRUE@ lib/libbluetooth-private.la -tools_rctest_SOURCES = tools/rctest.c -tools_rctest_OBJECTS = tools/rctest.$(OBJEXT) -@TOOLS_TRUE@tools_rctest_DEPENDENCIES = lib/libbluetooth-private.la -tools_rfcomm_SOURCES = tools/rfcomm.c -tools_rfcomm_OBJECTS = tools/rfcomm.$(OBJEXT) -@TOOLS_TRUE@tools_rfcomm_DEPENDENCIES = lib/libbluetooth-private.la -tools_scotest_SOURCES = tools/scotest.c -tools_scotest_OBJECTS = tools/scotest.$(OBJEXT) -@EXPERIMENTAL_TRUE@tools_scotest_DEPENDENCIES = \ -@EXPERIMENTAL_TRUE@ lib/libbluetooth-private.la -am__tools_sdptool_SOURCES_DIST = tools/sdptool.c src/sdp-xml.h \ - src/sdp-xml.c -@TOOLS_TRUE@am_tools_sdptool_OBJECTS = tools/sdptool.$(OBJEXT) \ -@TOOLS_TRUE@ src/sdp-xml.$(OBJEXT) -tools_sdptool_OBJECTS = $(am_tools_sdptool_OBJECTS) -@TOOLS_TRUE@tools_sdptool_DEPENDENCIES = lib/libbluetooth-private.la -am_unit_test_eir_OBJECTS = unit/test-eir.$(OBJEXT) src/eir.$(OBJEXT) \ - src/glib-helper.$(OBJEXT) -unit_test_eir_OBJECTS = $(am_unit_test_eir_OBJECTS) -unit_test_eir_DEPENDENCIES = lib/libbluetooth-private.la -am_unit_test_gdbus_client_OBJECTS = $(am__objects_4) \ - unit/test-gdbus-client.$(OBJEXT) -unit_test_gdbus_client_OBJECTS = $(am_unit_test_gdbus_client_OBJECTS) -unit_test_gdbus_client_DEPENDENCIES = -am_unit_test_gobex_OBJECTS = $(am__objects_21) unit/util.$(OBJEXT) \ - unit/test-gobex.$(OBJEXT) -unit_test_gobex_OBJECTS = $(am_unit_test_gobex_OBJECTS) -unit_test_gobex_DEPENDENCIES = -am_unit_test_gobex_apparam_OBJECTS = $(am__objects_21) \ - unit/util.$(OBJEXT) unit/test-gobex-apparam.$(OBJEXT) -unit_test_gobex_apparam_OBJECTS = \ - $(am_unit_test_gobex_apparam_OBJECTS) -unit_test_gobex_apparam_DEPENDENCIES = -am_unit_test_gobex_header_OBJECTS = $(am__objects_21) \ - unit/util.$(OBJEXT) unit/test-gobex-header.$(OBJEXT) -unit_test_gobex_header_OBJECTS = $(am_unit_test_gobex_header_OBJECTS) -unit_test_gobex_header_DEPENDENCIES = -am_unit_test_gobex_packet_OBJECTS = $(am__objects_21) \ - unit/util.$(OBJEXT) unit/test-gobex-packet.$(OBJEXT) -unit_test_gobex_packet_OBJECTS = $(am_unit_test_gobex_packet_OBJECTS) -unit_test_gobex_packet_DEPENDENCIES = -am_unit_test_gobex_transfer_OBJECTS = $(am__objects_21) \ - unit/util.$(OBJEXT) unit/test-gobex-transfer.$(OBJEXT) -unit_test_gobex_transfer_OBJECTS = \ - $(am_unit_test_gobex_transfer_OBJECTS) -unit_test_gobex_transfer_DEPENDENCIES = -am_unit_test_lib_OBJECTS = unit/test-lib.$(OBJEXT) -unit_test_lib_OBJECTS = $(am_unit_test_lib_OBJECTS) -unit_test_lib_DEPENDENCIES = lib/libbluetooth-private.la -am_unit_test_mgmt_OBJECTS = unit/test-mgmt.$(OBJEXT) \ - src/shared/util.$(OBJEXT) src/shared/mgmt.$(OBJEXT) -unit_test_mgmt_OBJECTS = $(am_unit_test_mgmt_OBJECTS) -unit_test_mgmt_DEPENDENCIES = -am_unit_test_sdp_OBJECTS = unit/test-sdp.$(OBJEXT) \ - src/shared/util.$(OBJEXT) src/sdpd-database.$(OBJEXT) \ - src/sdpd-service.$(OBJEXT) src/sdpd-request.$(OBJEXT) -unit_test_sdp_OBJECTS = $(am_unit_test_sdp_OBJECTS) -unit_test_sdp_DEPENDENCIES = lib/libbluetooth-private.la -am_unit_test_textfile_OBJECTS = unit/test-textfile.$(OBJEXT) \ - src/textfile.$(OBJEXT) -unit_test_textfile_OBJECTS = $(am_unit_test_textfile_OBJECTS) -unit_test_textfile_DEPENDENCIES = -am_unit_test_uuid_OBJECTS = unit/test-uuid.$(OBJEXT) -unit_test_uuid_OBJECTS = $(am_unit_test_uuid_OBJECTS) -unit_test_uuid_DEPENDENCIES = lib/libbluetooth-private.la -SCRIPTS = $(test_SCRIPTS) -DEFAULT_INCLUDES = -I.@am__isrc@ -depcomp = $(SHELL) $(top_srcdir)/depcomp -am__depfiles_maybe = depfiles -am__mv = mv -f -COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ - $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ - $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ - $(AM_CFLAGS) $(CFLAGS) -AM_V_CC = $(am__v_CC_@AM_V@) -am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) -am__v_CC_0 = @echo " CC " $@; -CCLD = $(CC) -LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(AM_LDFLAGS) $(LDFLAGS) -o $@ -AM_V_CCLD = $(am__v_CCLD_@AM_V@) -am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) -am__v_CCLD_0 = @echo " CCLD " $@; -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -SOURCES = $(profiles_sap_libsap_a_SOURCES) \ - $(lib_libbluetooth_private_la_SOURCES) \ - $(lib_libbluetooth_la_SOURCES) \ - $(plugins_external_dummy_la_SOURCES) \ - $(attrib_gatttool_SOURCES) $(client_bluetoothctl_SOURCES) \ - $(emulator_b1ee_SOURCES) $(emulator_btvirt_SOURCES) \ - $(monitor_btmon_SOURCES) $(obexd_src_obexd_SOURCES) \ - $(nodist_obexd_src_obexd_SOURCES) \ - $(profiles_cups_bluetooth_SOURCES) \ - $(profiles_iap_iapd_SOURCES) $(src_bluetoothd_SOURCES) \ - $(nodist_src_bluetoothd_SOURCES) tools/avinfo.c tools/avtest.c \ - $(tools_bccmd_SOURCES) $(tools_bdaddr_SOURCES) \ - tools/btattach.c $(tools_btiotest_SOURCES) \ - $(tools_btmgmt_SOURCES) tools/btsnoop.c tools/ciptool.c \ - $(tools_gap_tester_SOURCES) $(tools_hciattach_SOURCES) \ - $(tools_hciconfig_SOURCES) $(tools_hcidump_SOURCES) \ - tools/hcieventmask.c tools/hcisecfilter.c \ - $(tools_hcitool_SOURCES) tools/hid2hci.c tools/hwdb.c \ - tools/l2ping.c tools/l2test.c $(tools_mgmt_tester_SOURCES) \ - $(tools_mpris_player_SOURCES) \ - $(tools_obex_client_tool_SOURCES) \ - $(tools_obex_server_tool_SOURCES) tools/rctest.c \ - tools/rfcomm.c tools/scotest.c $(tools_sdptool_SOURCES) \ - $(unit_test_eir_SOURCES) $(unit_test_gdbus_client_SOURCES) \ - $(unit_test_gobex_SOURCES) $(unit_test_gobex_apparam_SOURCES) \ - $(unit_test_gobex_header_SOURCES) \ - $(unit_test_gobex_packet_SOURCES) \ - $(unit_test_gobex_transfer_SOURCES) $(unit_test_lib_SOURCES) \ - $(unit_test_mgmt_SOURCES) $(unit_test_sdp_SOURCES) \ - $(unit_test_textfile_SOURCES) $(unit_test_uuid_SOURCES) -DIST_SOURCES = $(am__profiles_sap_libsap_a_SOURCES_DIST) \ - $(lib_libbluetooth_private_la_SOURCES) \ - $(am__lib_libbluetooth_la_SOURCES_DIST) \ - $(am__plugins_external_dummy_la_SOURCES_DIST) \ - $(am__attrib_gatttool_SOURCES_DIST) \ - $(am__client_bluetoothctl_SOURCES_DIST) \ - $(am__emulator_b1ee_SOURCES_DIST) \ - $(am__emulator_btvirt_SOURCES_DIST) \ - $(am__monitor_btmon_SOURCES_DIST) \ - $(am__obexd_src_obexd_SOURCES_DIST) \ - $(am__profiles_cups_bluetooth_SOURCES_DIST) \ - $(am__profiles_iap_iapd_SOURCES_DIST) \ - $(am__src_bluetoothd_SOURCES_DIST) tools/avinfo.c \ - tools/avtest.c $(am__tools_bccmd_SOURCES_DIST) \ - $(am__tools_bdaddr_SOURCES_DIST) tools/btattach.c \ - $(am__tools_btiotest_SOURCES_DIST) \ - $(am__tools_btmgmt_SOURCES_DIST) tools/btsnoop.c \ - tools/ciptool.c $(am__tools_gap_tester_SOURCES_DIST) \ - $(am__tools_hciattach_SOURCES_DIST) \ - $(am__tools_hciconfig_SOURCES_DIST) \ - $(am__tools_hcidump_SOURCES_DIST) tools/hcieventmask.c \ - tools/hcisecfilter.c $(am__tools_hcitool_SOURCES_DIST) \ - tools/hid2hci.c tools/hwdb.c tools/l2ping.c tools/l2test.c \ - $(am__tools_mgmt_tester_SOURCES_DIST) \ - $(am__tools_mpris_player_SOURCES_DIST) \ - $(am__tools_obex_client_tool_SOURCES_DIST) \ - $(am__tools_obex_server_tool_SOURCES_DIST) tools/rctest.c \ - tools/rfcomm.c tools/scotest.c \ - $(am__tools_sdptool_SOURCES_DIST) $(unit_test_eir_SOURCES) \ - $(unit_test_gdbus_client_SOURCES) $(unit_test_gobex_SOURCES) \ - $(unit_test_gobex_apparam_SOURCES) \ - $(unit_test_gobex_header_SOURCES) \ - $(unit_test_gobex_packet_SOURCES) \ - $(unit_test_gobex_transfer_SOURCES) $(unit_test_lib_SOURCES) \ - $(unit_test_mgmt_SOURCES) $(unit_test_sdp_SOURCES) \ - $(unit_test_textfile_SOURCES) $(unit_test_uuid_SOURCES) -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -man1dir = $(mandir)/man1 -man8dir = $(mandir)/man8 -NROFF = nroff -MANS = $(dist_man_MANS) $(man_MANS) -DATA = $(conf_DATA) $(dbus_DATA) $(dbussessionbus_DATA) \ - $(dbussystembus_DATA) $(pkgconfig_DATA) $(rules_DATA) \ - $(state_DATA) $(systemdsystemunit_DATA) \ - $(systemduserunit_DATA) -am__include_HEADERS_DIST = lib/bluetooth.h lib/hci.h lib/hci_lib.h \ - lib/sco.h lib/l2cap.h lib/sdp.h lib/sdp_lib.h lib/rfcomm.h \ - lib/bnep.h lib/cmtp.h lib/hidp.h -HEADERS = $(include_HEADERS) -ETAGS = etags -CTAGS = ctags -# If stdout is a non-dumb tty, use colors. If test -t is not supported, -# then this fails; a conservative approach. Of course do not redirect -# stdout here, just stderr. -am__tty_colors = \ -red=; grn=; lgn=; blu=; std=; \ -test "X$(AM_COLOR_TESTS)" != Xno \ -&& test "X$$TERM" != Xdumb \ -&& { test "X$(AM_COLOR_TESTS)" = Xalways || test -t 1 2>/dev/null; } \ -&& { \ - red=''; \ - grn=''; \ - lgn=''; \ - blu=''; \ - std=''; \ -} -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -distdir = $(PACKAGE)-$(VERSION) -top_distdir = $(distdir) -am__remove_distdir = \ - if test -d "$(distdir)"; then \ - find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \ - && rm -rf "$(distdir)" \ - || { sleep 5 && rm -rf "$(distdir)"; }; \ - else :; fi -GZIP_ENV = --best -DIST_ARCHIVES = $(distdir).tar.xz -distuninstallcheck_listfiles = find . -type f -print -am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \ - | sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$' -distcleancheck_listfiles = find . -type f -print -ACLOCAL = @ACLOCAL@ -AMTAR = @AMTAR@ -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -AR = @AR@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DBUS_CFLAGS = @DBUS_CFLAGS@ -DBUS_CONFDIR = @DBUS_CONFDIR@ -DBUS_LIBS = @DBUS_LIBS@ -DBUS_SESSIONBUSDIR = @DBUS_SESSIONBUSDIR@ -DBUS_SYSTEMBUSDIR = @DBUS_SYSTEMBUSDIR@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -FGREP = @FGREP@ -GLIB_CFLAGS = @GLIB_CFLAGS@ -GLIB_LIBS = @GLIB_LIBS@ -GREP = @GREP@ -GTHREAD_CFLAGS = @GTHREAD_CFLAGS@ -GTHREAD_LIBS = @GTHREAD_LIBS@ -ICAL_CFLAGS = @ICAL_CFLAGS@ -ICAL_LIBS = @ICAL_LIBS@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LIPO = @LIPO@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -MAINT = @MAINT@ -MAKEINFO = @MAKEINFO@ -MANIFEST_TOOL = @MANIFEST_TOOL@ -MISC_CFLAGS = @MISC_CFLAGS@ -MISC_LDFLAGS = @MISC_LDFLAGS@ -MKDIR_P = @MKDIR_P@ -NM = @NM@ -NMEDIT = @NMEDIT@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -PKG_CONFIG = @PKG_CONFIG@ -PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ -PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ -RANLIB = @RANLIB@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -SYSTEMD_SYSTEMUNITDIR = @SYSTEMD_SYSTEMUNITDIR@ -SYSTEMD_USERUNITDIR = @SYSTEMD_USERUNITDIR@ -UDEV_CFLAGS = @UDEV_CFLAGS@ -UDEV_DIR = @UDEV_DIR@ -UDEV_LIBS = @UDEV_LIBS@ -USB_CFLAGS = @USB_CFLAGS@ -USB_LIBS = @USB_LIBS@ -VERSION = @VERSION@ -WARNING_CFLAGS = @WARNING_CFLAGS@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_AR = @ac_ct_AR@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@/bluetooth -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@/bluetooth -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -top_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -AM_MAKEFLAGS = --no-print-directory -lib_LTLIBRARIES = $(am__append_2) -noinst_LIBRARIES = $(am__append_7) -noinst_LTLIBRARIES = lib/libbluetooth-private.la -dist_man_MANS = $(am__append_19) $(am__append_21) -dist_noinst_MANS = -CLEANFILES = $(builtin_files) src/bluetooth.service \ - obexd/src/builtin.h $(builtin_files) obexd/src/obex.service \ - $(am__append_30) -EXTRA_DIST = src/bluetooth.service.in src/org.bluez.service \ - src/genbuiltin src/bluetooth.conf src/main.conf \ - profiles/network/network.conf profiles/input/input.conf \ - profiles/proximity/proximity.conf profiles/audio/audio.conf \ - $(am__append_20) $(am__append_22) $(am__append_23) \ - obexd/src/obex.service.in obexd/src/org.bluez.obex.service \ - obexd/src/genbuiltin tools/hid2hci.rules $(test_scripts) \ - doc/assigned-numbers.txt doc/supported-features.txt \ - doc/mgmt-api.txt doc/adapter-api.txt doc/device-api.txt \ - doc/agent-api.txt doc/profile-api.txt doc/network-api.txt \ - doc/media-api.txt doc/health-api.txt doc/sap-api.txt \ - doc/alert-api.txt doc/proximity-api.txt doc/heartrate-api.txt \ - doc/thermometer-api.txt doc/cyclingspeed-api.txt \ - doc/obex-api.txt doc/obex-agent-api.txt tools/magic.btsnoop -include_HEADERS = $(am__append_1) -AM_CFLAGS = $(WARNING_CFLAGS) $(MISC_CFLAGS) @DBUS_CFLAGS@ \ - @GLIB_CFLAGS@ $(am__empty) -AM_LDFLAGS = $(MISC_LDFLAGS) -@DATAFILES_TRUE@dbusdir = @DBUS_CONFDIR@/dbus-1/system.d -@DATAFILES_TRUE@dbus_DATA = src/bluetooth.conf -@DATAFILES_TRUE@confdir = $(sysconfdir)/bluetooth -@DATAFILES_TRUE@conf_DATA = -@DATAFILES_TRUE@statedir = $(localstatedir)/lib/bluetooth -@DATAFILES_TRUE@state_DATA = -@SYSTEMD_TRUE@systemdsystemunitdir = @SYSTEMD_SYSTEMUNITDIR@ -@SYSTEMD_TRUE@systemdsystemunit_DATA = src/bluetooth.service -@SYSTEMD_TRUE@dbussystembusdir = @DBUS_SYSTEMBUSDIR@ -@SYSTEMD_TRUE@dbussystembus_DATA = src/org.bluez.service -plugindir = $(libdir)/bluetooth/plugins -@MAINTAINER_MODE_FALSE@build_plugindir = $(plugindir) -@MAINTAINER_MODE_TRUE@build_plugindir = $(abs_top_srcdir)/plugins/.libs -plugin_LTLIBRARIES = $(am__append_12) -lib_sources = lib/bluetooth.c lib/hci.c lib/sdp.c -lib_headers = lib/bluetooth.h lib/hci.h lib/hci_lib.h \ - lib/sco.h lib/l2cap.h lib/sdp.h lib/sdp_lib.h \ - lib/rfcomm.h lib/bnep.h lib/cmtp.h lib/hidp.h - -extra_headers = lib/mgmt.h lib/uuid.h lib/a2mp.h lib/amp.h -extra_sources = lib/uuid.c -local_headers = $(foreach file,$(lib_headers), lib/bluetooth/$(notdir $(file))) -BUILT_SOURCES = $(local_headers) src/builtin.h obexd/src/builtin.h -@LIBRARY_TRUE@lib_libbluetooth_la_SOURCES = $(lib_headers) $(lib_sources) -@LIBRARY_TRUE@lib_libbluetooth_la_LDFLAGS = $(AM_LDFLAGS) -version-info 19:1:16 -@LIBRARY_TRUE@lib_libbluetooth_la_DEPENDENCIES = $(local_headers) -lib_libbluetooth_private_la_SOURCES = $(lib_headers) $(lib_sources) \ - $(extra_headers) $(extra_sources) - -attrib_sources = attrib/att.h attrib/att-database.h attrib/att.c \ - attrib/gatt.h attrib/gatt.c \ - attrib/gattrib.h attrib/gattrib.c \ - attrib/gatt-service.h attrib/gatt-service.c - -gdbus_sources = gdbus/gdbus.h gdbus/mainloop.c gdbus/watch.c \ - gdbus/object.c gdbus/client.c gdbus/polkit.c - -btio_sources = btio/btio.h btio/btio.c -gobex_sources = gobex/gobex.h gobex/gobex.c \ - gobex/gobex-defs.h gobex/gobex-defs.c \ - gobex/gobex-packet.c gobex/gobex-packet.h \ - gobex/gobex-header.c gobex/gobex-header.h \ - gobex/gobex-transfer.c gobex/gobex-debug.h \ - gobex/gobex-apparam.c gobex/gobex-apparam.h - -builtin_modules = hostname wiimote $(am__append_3) $(am__append_5) \ - audio network input hog $(am__append_8) gatt scanparam \ - deviceinfo $(am__append_10) -builtin_sources = plugins/hostname.c plugins/wiimote.c $(am__append_4) \ - $(am__append_6) profiles/audio/main.c profiles/audio/manager.h \ - profiles/audio/manager.c profiles/audio/control.h \ - profiles/audio/control.c profiles/audio/avctp.h \ - profiles/audio/avctp.c profiles/audio/avrcp.h \ - profiles/audio/avrcp.c profiles/audio/device.h \ - profiles/audio/device.c profiles/audio/source.h \ - profiles/audio/source.c profiles/audio/sink.h \ - profiles/audio/sink.c profiles/audio/a2dp.h \ - profiles/audio/a2dp.c profiles/audio/avdtp.h \ - profiles/audio/avdtp.c profiles/audio/media.h \ - profiles/audio/media.c profiles/audio/transport.h \ - profiles/audio/transport.c profiles/audio/player.h \ - profiles/audio/player.c profiles/audio/a2dp-codecs.h \ - profiles/network/manager.h profiles/network/manager.c \ - profiles/network/common.h profiles/network/common.c \ - profiles/network/server.h profiles/network/server.c \ - profiles/network/connection.h profiles/network/connection.c \ - profiles/input/manager.h profiles/input/manager.c \ - profiles/input/server.h profiles/input/server.c \ - profiles/input/device.h profiles/input/device.c \ - profiles/input/hog.c profiles/input/uhid_copy.h \ - profiles/input/suspend.h profiles/input/suspend-dummy.c \ - $(am__append_9) profiles/gatt/gas.c profiles/scanparam/scan.c \ - profiles/deviceinfo/deviceinfo.c $(am__append_11) -builtin_nodist = -@EXPERIMENTAL_TRUE@profiles_sap_libsap_a_SOURCES = profiles/sap/sap.h profiles/sap/sap-u8500.c -@MAINTAINER_MODE_TRUE@plugins_external_dummy_la_SOURCES = plugins/external-dummy.c -@MAINTAINER_MODE_TRUE@plugins_external_dummy_la_LDFLAGS = $(AM_LDFLAGS) -module -avoid-version \ -@MAINTAINER_MODE_TRUE@ -no-undefined - -@MAINTAINER_MODE_TRUE@plugins_external_dummy_la_CFLAGS = $(AM_CFLAGS) -fvisibility=hidden -src_bluetoothd_SOURCES = $(gdbus_sources) $(builtin_sources) \ - $(attrib_sources) $(btio_sources) \ - src/bluetooth.ver \ - src/main.c src/log.h src/log.c \ - src/systemd.h src/systemd.c \ - src/rfkill.c src/hcid.h src/sdpd.h \ - src/sdpd-server.c src/sdpd-request.c \ - src/sdpd-service.c src/sdpd-database.c \ - src/attrib-server.h src/attrib-server.c \ - src/sdp-xml.h src/sdp-xml.c \ - src/sdp-client.h src/sdp-client.c \ - src/textfile.h src/textfile.c \ - src/glib-helper.h src/glib-helper.c \ - src/uinput.h \ - src/plugin.h src/plugin.c \ - src/storage.h src/storage.c \ - src/agent.h src/agent.c \ - src/error.h src/error.c \ - src/adapter.h src/adapter.c \ - src/profile.h src/profile.c \ - src/device.h src/device.c src/attio.h \ - src/dbus-common.c src/dbus-common.h \ - src/eir.h src/eir.c \ - src/shared/util.h src/shared/util.c \ - src/shared/mgmt.h src/shared/mgmt.c - -src_bluetoothd_LDADD = lib/libbluetooth-private.la @GLIB_LIBS@ @DBUS_LIBS@ \ - -ldl -lrt - -src_bluetoothd_LDFLAGS = $(AM_LDFLAGS) -Wl,--export-dynamic \ - -Wl,--version-script=$(srcdir)/src/bluetooth.ver - -src_bluetoothd_DEPENDENCIES = lib/libbluetooth-private.la \ - src/bluetooth.service - -src_bluetoothd_CFLAGS = $(AM_CFLAGS) -DBLUETOOTH_PLUGIN_BUILTIN \ - -DPLUGINDIR=\""$(build_plugindir)"\" - -src_bluetoothd_SHORTNAME = bluetoothd -builtin_files = src/builtin.h $(builtin_nodist) -nodist_src_bluetoothd_SOURCES = $(builtin_files) -man_MANS = src/bluetoothd.8 -test_scripts = test/sap_client.py test/bluezutils.py test/dbusdef.py \ - test/monitor-bluetooth test/list-devices test/test-discovery \ - test/test-manager test/test-adapter test/test-device \ - test/simple-agent test/simple-service test/simple-endpoint \ - test/test-sap-server test/test-proximity test/test-network \ - test/test-thermometer test/test-profile test/test-health \ - test/test-health-sink test/service-record.dtd \ - test/service-did.xml test/service-spp.xml test/service-opp.xml \ - test/service-ftp.xml test/simple-player test/test-nap \ - test/test-heartrate test/test-alert test/test-hfp \ - test/test-cyclingspeed -@CLIENT_TRUE@client_bluetoothctl_SOURCES = $(gdbus_sources) client/main.c \ -@CLIENT_TRUE@ client/display.h client/display.c \ -@CLIENT_TRUE@ client/agent.h client/agent.c \ -@CLIENT_TRUE@ monitor/uuid.h monitor/uuid.c - -@CLIENT_TRUE@client_bluetoothctl_LDADD = @GLIB_LIBS@ @DBUS_LIBS@ -lreadline -@MONITOR_TRUE@monitor_btmon_SOURCES = monitor/main.c monitor/bt.h \ -@MONITOR_TRUE@ monitor/mainloop.h monitor/mainloop.c \ -@MONITOR_TRUE@ monitor/display.h monitor/display.c \ -@MONITOR_TRUE@ monitor/hcidump.h monitor/hcidump.c \ -@MONITOR_TRUE@ monitor/btsnoop.h monitor/btsnoop.c \ -@MONITOR_TRUE@ monitor/control.h monitor/control.c \ -@MONITOR_TRUE@ monitor/packet.h monitor/packet.c \ -@MONITOR_TRUE@ monitor/l2cap.h monitor/l2cap.c \ -@MONITOR_TRUE@ monitor/uuid.h monitor/uuid.c \ -@MONITOR_TRUE@ monitor/sdp.h monitor/sdp.c - -@MONITOR_TRUE@monitor_btmon_LDADD = lib/libbluetooth-private.la -@EXPERIMENTAL_TRUE@emulator_btvirt_SOURCES = emulator/main.c monitor/bt.h \ -@EXPERIMENTAL_TRUE@ monitor/mainloop.h monitor/mainloop.c \ -@EXPERIMENTAL_TRUE@ emulator/server.h emulator/server.c \ -@EXPERIMENTAL_TRUE@ emulator/vhci.h emulator/vhci.c \ -@EXPERIMENTAL_TRUE@ emulator/btdev.h emulator/btdev.c \ -@EXPERIMENTAL_TRUE@ emulator/bthost.h emulator/bthost.c - -@EXPERIMENTAL_TRUE@emulator_b1ee_SOURCES = emulator/b1ee.c monitor/mainloop.h monitor/mainloop.c -@EXPERIMENTAL_TRUE@tools_mgmt_tester_SOURCES = tools/mgmt-tester.c monitor/bt.h \ -@EXPERIMENTAL_TRUE@ emulator/btdev.h emulator/btdev.c \ -@EXPERIMENTAL_TRUE@ emulator/bthost.h emulator/bthost.c \ -@EXPERIMENTAL_TRUE@ src/shared/util.h src/shared/util.c \ -@EXPERIMENTAL_TRUE@ src/shared/mgmt.h src/shared/mgmt.c \ -@EXPERIMENTAL_TRUE@ src/shared/hciemu.h src/shared/hciemu.c \ -@EXPERIMENTAL_TRUE@ src/shared/tester.h src/shared/tester.c - -@EXPERIMENTAL_TRUE@tools_mgmt_tester_LDADD = lib/libbluetooth-private.la @GLIB_LIBS@ -@EXPERIMENTAL_TRUE@tools_gap_tester_SOURCES = $(gdbus_sources) \ -@EXPERIMENTAL_TRUE@ tools/gap-tester.c monitor/bt.h \ -@EXPERIMENTAL_TRUE@ emulator/btdev.h emulator/btdev.c \ -@EXPERIMENTAL_TRUE@ emulator/bthost.h emulator/bthost.c \ -@EXPERIMENTAL_TRUE@ src/shared/hciemu.h src/shared/hciemu.c \ -@EXPERIMENTAL_TRUE@ src/shared/tester.h src/shared/tester.c - -@EXPERIMENTAL_TRUE@tools_gap_tester_LDADD = @GLIB_LIBS@ @DBUS_LIBS@ -@TOOLS_TRUE@tools_hciattach_SOURCES = tools/hciattach.c tools/hciattach.h \ -@TOOLS_TRUE@ tools/hciattach_st.c \ -@TOOLS_TRUE@ tools/hciattach_ti.c \ -@TOOLS_TRUE@ tools/hciattach_tialt.c \ -@TOOLS_TRUE@ tools/hciattach_ath3k.c \ -@TOOLS_TRUE@ tools/hciattach_qualcomm.c \ -@TOOLS_TRUE@ tools/hciattach_intel.c - -@TOOLS_TRUE@tools_hciattach_LDADD = lib/libbluetooth-private.la -@TOOLS_TRUE@tools_hciconfig_SOURCES = tools/hciconfig.c tools/csr.h tools/csr.c -@TOOLS_TRUE@tools_hciconfig_LDADD = lib/libbluetooth-private.la -@TOOLS_TRUE@tools_hcitool_SOURCES = tools/hcitool.c src/oui.h src/oui.c -@TOOLS_TRUE@tools_hcitool_LDADD = lib/libbluetooth-private.la @GLIB_LIBS@ @UDEV_LIBS@ -@TOOLS_TRUE@tools_hcidump_SOURCES = tools/hcidump.c \ -@TOOLS_TRUE@ tools/parser/parser.h tools/parser/parser.c \ -@TOOLS_TRUE@ tools/parser/lmp.c \ -@TOOLS_TRUE@ tools/parser/hci.c \ -@TOOLS_TRUE@ tools/parser/l2cap.h tools/parser/l2cap.c \ -@TOOLS_TRUE@ tools/parser/amp.c \ -@TOOLS_TRUE@ tools/parser/smp.c \ -@TOOLS_TRUE@ tools/parser/att.c \ -@TOOLS_TRUE@ tools/parser/sdp.h tools/parser/sdp.c \ -@TOOLS_TRUE@ tools/parser/rfcomm.h tools/parser/rfcomm.c \ -@TOOLS_TRUE@ tools/parser/bnep.c \ -@TOOLS_TRUE@ tools/parser/cmtp.c \ -@TOOLS_TRUE@ tools/parser/hidp.c \ -@TOOLS_TRUE@ tools/parser/hcrp.c \ -@TOOLS_TRUE@ tools/parser/avdtp.c \ -@TOOLS_TRUE@ tools/parser/avctp.c \ -@TOOLS_TRUE@ tools/parser/avrcp.c \ -@TOOLS_TRUE@ tools/parser/sap.c \ -@TOOLS_TRUE@ tools/parser/obex.c \ -@TOOLS_TRUE@ tools/parser/capi.c \ -@TOOLS_TRUE@ tools/parser/ppp.c \ -@TOOLS_TRUE@ tools/parser/tcpip.c \ -@TOOLS_TRUE@ tools/parser/ericsson.c \ -@TOOLS_TRUE@ tools/parser/csr.c \ -@TOOLS_TRUE@ tools/parser/bpa.c - -@TOOLS_TRUE@tools_hcidump_LDADD = lib/libbluetooth-private.la -@TOOLS_TRUE@tools_rfcomm_LDADD = lib/libbluetooth-private.la -@TOOLS_TRUE@tools_rctest_LDADD = lib/libbluetooth-private.la -@TOOLS_TRUE@tools_l2test_LDADD = lib/libbluetooth-private.la -@TOOLS_TRUE@tools_l2ping_LDADD = lib/libbluetooth-private.la -@TOOLS_TRUE@tools_sdptool_SOURCES = tools/sdptool.c src/sdp-xml.h src/sdp-xml.c -@TOOLS_TRUE@tools_sdptool_LDADD = lib/libbluetooth-private.la @GLIB_LIBS@ -@TOOLS_TRUE@tools_ciptool_LDADD = lib/libbluetooth-private.la -@TOOLS_TRUE@tools_bccmd_SOURCES = tools/bccmd.c tools/csr.h \ -@TOOLS_TRUE@ tools/csr.c tools/csr_hci.c tools/csr_h4.c \ -@TOOLS_TRUE@ tools/csr_3wire.c tools/csr_bcsp.c tools/ubcsp.h \ -@TOOLS_TRUE@ tools/ubcsp.c $(am__append_17) -@TOOLS_TRUE@tools_bccmd_LDADD = lib/libbluetooth-private.la \ -@TOOLS_TRUE@ $(am__append_18) -@HID2HCI_TRUE@udevdir = @UDEV_DIR@ -@HID2HCI_TRUE@tools_hid2hci_LDADD = @USB_LIBS@ @UDEV_LIBS@ -@EXPERIMENTAL_TRUE@tools_bdaddr_SOURCES = tools/bdaddr.c src/oui.h src/oui.c -@EXPERIMENTAL_TRUE@tools_bdaddr_LDADD = lib/libbluetooth-private.la @UDEV_LIBS@ -@EXPERIMENTAL_TRUE@tools_avinfo_LDADD = lib/libbluetooth-private.la -@EXPERIMENTAL_TRUE@tools_avtest_LDADD = lib/libbluetooth-private.la -@EXPERIMENTAL_TRUE@tools_scotest_LDADD = lib/libbluetooth-private.la -@EXPERIMENTAL_TRUE@tools_hcieventmask_LDADD = lib/libbluetooth-private.la -@EXPERIMENTAL_TRUE@tools_hwdb_LDADD = lib/libbluetooth-private.la -@EXPERIMENTAL_TRUE@tools_btmgmt_SOURCES = tools/btmgmt.c src/glib-helper.c src/eir.c \ -@EXPERIMENTAL_TRUE@ src/shared/util.h src/shared/util.c \ -@EXPERIMENTAL_TRUE@ src/shared/mgmt.h src/shared/mgmt.c - -@EXPERIMENTAL_TRUE@tools_btmgmt_LDADD = lib/libbluetooth-private.la @GLIB_LIBS@ -@EXPERIMENTAL_TRUE@tools_btiotest_SOURCES = tools/btiotest.c btio/btio.h btio/btio.c -@EXPERIMENTAL_TRUE@tools_btiotest_LDADD = lib/libbluetooth-private.la @GLIB_LIBS@ -@EXPERIMENTAL_TRUE@tools_mpris_player_SOURCES = $(gdbus_sources) tools/mpris-player.c -@EXPERIMENTAL_TRUE@tools_mpris_player_LDADD = @GLIB_LIBS@ @DBUS_LIBS@ -@READLINE_TRUE@attrib_gatttool_SOURCES = attrib/gatttool.c attrib/att.c attrib/gatt.c \ -@READLINE_TRUE@ attrib/gattrib.c btio/btio.c \ -@READLINE_TRUE@ attrib/gatttool.h attrib/interactive.c \ -@READLINE_TRUE@ attrib/utils.c src/log.c - -@READLINE_TRUE@attrib_gatttool_LDADD = lib/libbluetooth-private.la @GLIB_LIBS@ -lreadline -@READLINE_TRUE@tools_obex_client_tool_SOURCES = $(gobex_sources) $(btio_sources) \ -@READLINE_TRUE@ tools/obex-client-tool.c - -@READLINE_TRUE@tools_obex_client_tool_LDADD = lib/libbluetooth-private.la \ -@READLINE_TRUE@ @GLIB_LIBS@ -lreadline - -@READLINE_TRUE@tools_obex_server_tool_SOURCES = $(gobex_sources) $(btio_sources) \ -@READLINE_TRUE@ tools/obex-server-tool.c - -@READLINE_TRUE@tools_obex_server_tool_LDADD = lib/libbluetooth-private.la @GLIB_LIBS@ -@EXPERIMENTAL_TRUE@profiles_iap_iapd_SOURCES = $(gdbus_sources) profiles/iap/main.c -@EXPERIMENTAL_TRUE@profiles_iap_iapd_LDADD = @GLIB_LIBS@ @DBUS_LIBS@ -@CUPS_TRUE@cupsdir = $(libdir)/cups/backend -@CUPS_TRUE@profiles_cups_bluetooth_SOURCES = $(gdbus_sources) profiles/cups/main.c \ -@CUPS_TRUE@ profiles/cups/cups.h \ -@CUPS_TRUE@ profiles/cups/sdp.c \ -@CUPS_TRUE@ profiles/cups/spp.c \ -@CUPS_TRUE@ profiles/cups/hcrp.c - -@CUPS_TRUE@profiles_cups_bluetooth_LDADD = @GLIB_LIBS@ @DBUS_LIBS@ \ -@CUPS_TRUE@ lib/libbluetooth-private.la - -@SYSTEMD_TRUE@systemduserunitdir = @SYSTEMD_USERUNITDIR@ -@SYSTEMD_TRUE@systemduserunit_DATA = obexd/src/obex.service -@SYSTEMD_TRUE@dbussessionbusdir = @DBUS_SESSIONBUSDIR@ -@SYSTEMD_TRUE@dbussessionbus_DATA = obexd/src/org.bluez.obex.service -obex_plugindir = $(libdir)/obex/plugins -obexd_builtin_modules = filesystem bluetooth $(am__append_26) opp ftp \ - $(am__append_28) mas mns -obexd_builtin_sources = obexd/plugins/filesystem.c \ - obexd/plugins/filesystem.h obexd/plugins/bluetooth.c \ - $(am__append_27) obexd/plugins/opp.c obexd/plugins/ftp.c \ - obexd/plugins/ftp.h $(am__append_29) obexd/plugins/mas.c \ - obexd/src/map_ap.h obexd/plugins/messages.h \ - obexd/plugins/messages-dummy.c obexd/client/mns.c \ - obexd/src/map_ap.h obexd/client/map-event.h -obexd_builtin_nodist = -obexd_src_obexd_SOURCES = $(gdbus_sources) $(btio_sources) $(gobex_sources) \ - $(obexd_builtin_sources) \ - obexd/src/main.c obexd/src/obexd.h \ - obexd/src/plugin.h obexd/src/plugin.c \ - obexd/src/log.h obexd/src/log.c \ - obexd/src/manager.h obexd/src/manager.c \ - obexd/src/obex.h obexd/src/obex.c obexd/src/obex-priv.h \ - obexd/src/mimetype.h obexd/src/mimetype.c \ - obexd/src/service.h obexd/src/service.c \ - obexd/src/transport.h obexd/src/transport.c \ - obexd/src/server.h obexd/src/server.c \ - obexd/client/manager.h obexd/client/manager.c \ - obexd/client/session.h obexd/client/session.c \ - obexd/client/bluetooth.h obexd/client/bluetooth.c \ - obexd/client/sync.h obexd/client/sync.c \ - obexd/client/pbap.h obexd/client/pbap.c \ - obexd/client/ftp.h obexd/client/ftp.c \ - obexd/client/opp.h obexd/client/opp.c \ - obexd/client/map.h obexd/client/map.c \ - obexd/client/transfer.h obexd/client/transfer.c \ - obexd/client/transport.h obexd/client/transport.c \ - obexd/client/dbus.h obexd/client/dbus.c \ - obexd/client/driver.h obexd/client/driver.c \ - obexd/src/map_ap.h - -obexd_src_obexd_LDADD = lib/libbluetooth-private.la \ - @ICAL_LIBS@ @DBUS_LIBS@ @GLIB_LIBS@ -ldl - -obexd_src_obexd_LDFLAGS = -Wl,--export-dynamic -obexd_src_obexd_CFLAGS = @GLIB_CFLAGS@ @DBUS_CFLAGS@ @ICAL_CFLAGS@ \ - -DOBEX_PLUGIN_BUILTIN \ - -DPLUGINDIR=\""$(obex_plugindir)"\" \ - -fPIC -D_FILE_OFFSET_BITS=64 - -obexd_src_obexd_CPPFLAGS = -I$(builddir)/lib -I$(builddir)/obexd/src \ - -I$(srcdir)/obexd/src -I$(srcdir)/btio \ - -I$(srcdir)/gobex -I$(srcdir)/gdbus - -obexd_src_obexd_SHORTNAME = obexd -obexd_builtin_files = obexd/src/builtin.h $(obexd_builtin_nodist) -nodist_obexd_src_obexd_SOURCES = $(obexd_builtin_files) -@HID2HCI_TRUE@rulesdir = @UDEV_DIR@/rules.d -@HID2HCI_TRUE@rules_DATA = tools/97-hid2hci.rules -@TEST_TRUE@testdir = $(pkglibdir)/test -@TEST_TRUE@test_SCRIPTS = $(test_scripts) -AM_CPPFLAGS = -I$(builddir)/lib -I$(builddir)/src -I$(srcdir)/src \ - -I$(srcdir)/gdbus -I$(srcdir)/btio - -unit_tests = unit/test-eir unit/test-uuid unit/test-textfile \ - unit/test-mgmt unit/test-sdp unit/test-gdbus-client \ - unit/test-gobex-header unit/test-gobex-packet unit/test-gobex \ - unit/test-gobex-transfer unit/test-gobex-apparam unit/test-lib -unit_test_eir_SOURCES = unit/test-eir.c src/eir.c src/glib-helper.c -unit_test_eir_LDADD = lib/libbluetooth-private.la @GLIB_LIBS@ -unit_test_uuid_SOURCES = unit/test-uuid.c -unit_test_uuid_LDADD = lib/libbluetooth-private.la @GLIB_LIBS@ -unit_test_textfile_SOURCES = unit/test-textfile.c src/textfile.h src/textfile.c -unit_test_textfile_LDADD = @GLIB_LIBS@ -unit_test_mgmt_SOURCES = unit/test-mgmt.c \ - src/shared/util.h src/shared/util.c \ - src/shared/mgmt.h src/shared/mgmt.c - -unit_test_mgmt_LDADD = @GLIB_LIBS@ -unit_test_sdp_SOURCES = unit/test-sdp.c \ - src/shared/util.h src/shared/util.c \ - src/sdpd.h src/sdpd-database.c \ - src/sdpd-service.c src/sdpd-request.c - -unit_test_sdp_LDADD = lib/libbluetooth-private.la @GLIB_LIBS@ -unit_test_gdbus_client_SOURCES = $(gdbus_sources) unit/test-gdbus-client.c -unit_test_gdbus_client_LDADD = @GLIB_LIBS@ @DBUS_LIBS@ -unit_test_gobex_SOURCES = $(gobex_sources) unit/util.c unit/util.h \ - unit/test-gobex.c - -unit_test_gobex_LDADD = @GLIB_LIBS@ -unit_test_gobex_packet_SOURCES = $(gobex_sources) unit/util.c unit/util.h \ - unit/test-gobex-packet.c - -unit_test_gobex_packet_LDADD = @GLIB_LIBS@ -unit_test_gobex_header_SOURCES = $(gobex_sources) unit/util.c unit/util.h \ - unit/test-gobex-header.c - -unit_test_gobex_header_LDADD = @GLIB_LIBS@ -unit_test_gobex_transfer_SOURCES = $(gobex_sources) unit/util.c unit/util.h \ - unit/test-gobex-transfer.c - -unit_test_gobex_transfer_LDADD = @GLIB_LIBS@ -unit_test_gobex_apparam_SOURCES = $(gobex_sources) unit/util.c unit/util.h \ - unit/test-gobex-apparam.c - -unit_test_gobex_apparam_LDADD = @GLIB_LIBS@ -unit_test_lib_SOURCES = unit/test-lib.c -unit_test_lib_LDADD = lib/libbluetooth-private.la @GLIB_LIBS@ -pkgconfigdir = $(libdir)/pkgconfig -@LIBRARY_TRUE@pkgconfig_DATA = lib/bluez.pc -DISTCHECK_CONFIGURE_FLAGS = --disable-datafiles --enable-library \ - --disable-systemd --disable-udev --disable-usb - -DISTCLEANFILES = $(pkgconfig_DATA) -MAINTAINERCLEANFILES = Makefile.in \ - aclocal.m4 configure config.h.in config.sub config.guess \ - ltmain.sh depcomp compile missing install-sh mkinstalldirs - -SED_PROCESS = $(AM_V_GEN)$(MKDIR_P) $(dir $@) && \ - $(SED) -e 's,@libexecdir\@,$(libexecdir),g' \ - < $< > $@ - -all: $(BUILT_SOURCES) config.h - $(MAKE) $(AM_MAKEFLAGS) all-am - -.SUFFIXES: -.SUFFIXES: .c .lo .o .obj -am--refresh: Makefile - @: -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(srcdir)/Makefile.plugins $(srcdir)/Makefile.tools $(srcdir)/Makefile.obexd $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - echo ' cd $(srcdir) && $(AUTOMAKE) --foreign'; \ - $(am__cd) $(srcdir) && $(AUTOMAKE) --foreign \ - && exit 0; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign Makefile -.PRECIOUS: Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - echo ' $(SHELL) ./config.status'; \ - $(SHELL) ./config.status;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \ - esac; -$(srcdir)/Makefile.plugins $(srcdir)/Makefile.tools $(srcdir)/Makefile.obexd: - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - $(SHELL) ./config.status --recheck - -$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) - $(am__cd) $(srcdir) && $(AUTOCONF) -$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) - $(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) -$(am__aclocal_m4_deps): - -config.h: stamp-h1 - @if test ! -f $@; then rm -f stamp-h1; else :; fi - @if test ! -f $@; then $(MAKE) $(AM_MAKEFLAGS) stamp-h1; else :; fi - -stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status - @rm -f stamp-h1 - cd $(top_builddir) && $(SHELL) ./config.status config.h -$(srcdir)/config.h.in: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) - ($(am__cd) $(top_srcdir) && $(AUTOHEADER)) - rm -f stamp-h1 - touch $@ - -distclean-hdr: - -rm -f config.h stamp-h1 -src/bluetoothd.8: $(top_builddir)/config.status $(top_srcdir)/src/bluetoothd.8.in - cd $(top_builddir) && $(SHELL) ./config.status $@ -lib/bluez.pc: $(top_builddir)/config.status $(top_srcdir)/lib/bluez.pc.in - cd $(top_builddir) && $(SHELL) ./config.status $@ - -clean-noinstLIBRARIES: - -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES) -profiles/sap/$(am__dirstamp): - @$(MKDIR_P) profiles/sap - @: > profiles/sap/$(am__dirstamp) -profiles/sap/$(DEPDIR)/$(am__dirstamp): - @$(MKDIR_P) profiles/sap/$(DEPDIR) - @: > profiles/sap/$(DEPDIR)/$(am__dirstamp) -profiles/sap/sap-u8500.$(OBJEXT): profiles/sap/$(am__dirstamp) \ - profiles/sap/$(DEPDIR)/$(am__dirstamp) -profiles/sap/libsap.a: $(profiles_sap_libsap_a_OBJECTS) $(profiles_sap_libsap_a_DEPENDENCIES) $(EXTRA_profiles_sap_libsap_a_DEPENDENCIES) profiles/sap/$(am__dirstamp) - $(AM_V_at)-rm -f profiles/sap/libsap.a - $(AM_V_AR)$(profiles_sap_libsap_a_AR) profiles/sap/libsap.a $(profiles_sap_libsap_a_OBJECTS) $(profiles_sap_libsap_a_LIBADD) - $(AM_V_at)$(RANLIB) profiles/sap/libsap.a -install-libLTLIBRARIES: $(lib_LTLIBRARIES) - @$(NORMAL_INSTALL) - @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \ - list2=; for p in $$list; do \ - if test -f $$p; then \ - list2="$$list2 $$p"; \ - else :; fi; \ - done; \ - test -z "$$list2" || { \ - echo " $(MKDIR_P) '$(DESTDIR)$(libdir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(libdir)" || exit 1; \ - echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \ - $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \ - } - -uninstall-libLTLIBRARIES: - @$(NORMAL_UNINSTALL) - @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \ - for p in $$list; do \ - $(am__strip_dir) \ - echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$f'"; \ - $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$f"; \ - done - -clean-libLTLIBRARIES: - -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES) - @list='$(lib_LTLIBRARIES)'; for p in $$list; do \ - dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ - test "$$dir" != "$$p" || dir=.; \ - echo "rm -f \"$${dir}/so_locations\""; \ - rm -f "$${dir}/so_locations"; \ - done - -clean-noinstLTLIBRARIES: - -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) - @list='$(noinst_LTLIBRARIES)'; for p in $$list; do \ - dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ - test "$$dir" != "$$p" || dir=.; \ - echo "rm -f \"$${dir}/so_locations\""; \ - rm -f "$${dir}/so_locations"; \ - done -install-pluginLTLIBRARIES: $(plugin_LTLIBRARIES) - @$(NORMAL_INSTALL) - @list='$(plugin_LTLIBRARIES)'; test -n "$(plugindir)" || list=; \ - list2=; for p in $$list; do \ - if test -f $$p; then \ - list2="$$list2 $$p"; \ - else :; fi; \ - done; \ - test -z "$$list2" || { \ - echo " $(MKDIR_P) '$(DESTDIR)$(plugindir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(plugindir)" || exit 1; \ - echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(plugindir)'"; \ - $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(plugindir)"; \ - } - -uninstall-pluginLTLIBRARIES: - @$(NORMAL_UNINSTALL) - @list='$(plugin_LTLIBRARIES)'; test -n "$(plugindir)" || list=; \ - for p in $$list; do \ - $(am__strip_dir) \ - echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(plugindir)/$$f'"; \ - $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(plugindir)/$$f"; \ - done - -clean-pluginLTLIBRARIES: - -test -z "$(plugin_LTLIBRARIES)" || rm -f $(plugin_LTLIBRARIES) - @list='$(plugin_LTLIBRARIES)'; for p in $$list; do \ - dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ - test "$$dir" != "$$p" || dir=.; \ - echo "rm -f \"$${dir}/so_locations\""; \ - rm -f "$${dir}/so_locations"; \ - done -lib/$(am__dirstamp): - @$(MKDIR_P) lib - @: > lib/$(am__dirstamp) -lib/$(DEPDIR)/$(am__dirstamp): - @$(MKDIR_P) lib/$(DEPDIR) - @: > lib/$(DEPDIR)/$(am__dirstamp) -lib/bluetooth.lo: lib/$(am__dirstamp) lib/$(DEPDIR)/$(am__dirstamp) -lib/hci.lo: lib/$(am__dirstamp) lib/$(DEPDIR)/$(am__dirstamp) -lib/sdp.lo: lib/$(am__dirstamp) lib/$(DEPDIR)/$(am__dirstamp) -lib/uuid.lo: lib/$(am__dirstamp) lib/$(DEPDIR)/$(am__dirstamp) -lib/libbluetooth-private.la: $(lib_libbluetooth_private_la_OBJECTS) $(lib_libbluetooth_private_la_DEPENDENCIES) $(EXTRA_lib_libbluetooth_private_la_DEPENDENCIES) lib/$(am__dirstamp) - $(AM_V_CCLD)$(LINK) $(lib_libbluetooth_private_la_OBJECTS) $(lib_libbluetooth_private_la_LIBADD) $(LIBS) -lib/libbluetooth.la: $(lib_libbluetooth_la_OBJECTS) $(lib_libbluetooth_la_DEPENDENCIES) $(EXTRA_lib_libbluetooth_la_DEPENDENCIES) lib/$(am__dirstamp) - $(AM_V_CCLD)$(lib_libbluetooth_la_LINK) $(am_lib_libbluetooth_la_rpath) $(lib_libbluetooth_la_OBJECTS) $(lib_libbluetooth_la_LIBADD) $(LIBS) -plugins/$(am__dirstamp): - @$(MKDIR_P) plugins - @: > plugins/$(am__dirstamp) -plugins/$(DEPDIR)/$(am__dirstamp): - @$(MKDIR_P) plugins/$(DEPDIR) - @: > plugins/$(DEPDIR)/$(am__dirstamp) -plugins/plugins_external_dummy_la-external-dummy.lo: \ - plugins/$(am__dirstamp) plugins/$(DEPDIR)/$(am__dirstamp) -plugins/external-dummy.la: $(plugins_external_dummy_la_OBJECTS) $(plugins_external_dummy_la_DEPENDENCIES) $(EXTRA_plugins_external_dummy_la_DEPENDENCIES) plugins/$(am__dirstamp) - $(AM_V_CCLD)$(plugins_external_dummy_la_LINK) $(am_plugins_external_dummy_la_rpath) $(plugins_external_dummy_la_OBJECTS) $(plugins_external_dummy_la_LIBADD) $(LIBS) -install-binPROGRAMS: $(bin_PROGRAMS) - @$(NORMAL_INSTALL) - @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \ - fi; \ - for p in $$list; do echo "$$p $$p"; done | \ - sed 's/$(EXEEXT)$$//' | \ - while read p p1; do if test -f $$p || test -f $$p1; \ - then echo "$$p"; echo "$$p"; else :; fi; \ - done | \ - sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \ - -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \ - sed 'N;N;N;s,\n, ,g' | \ - $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \ - { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \ - if ($$2 == $$4) files[d] = files[d] " " $$1; \ - else { print "f", $$3 "/" $$4, $$1; } } \ - END { for (d in files) print "f", d, files[d] }' | \ - while read type dir files; do \ - if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \ - test -z "$$files" || { \ - echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \ - $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \ - } \ - ; done - -uninstall-binPROGRAMS: - @$(NORMAL_UNINSTALL) - @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ - files=`for p in $$list; do echo "$$p"; done | \ - sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \ - -e 's/$$/$(EXEEXT)/' `; \ - test -n "$$list" || exit 0; \ - echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \ - cd "$(DESTDIR)$(bindir)" && rm -f $$files - -clean-binPROGRAMS: - @list='$(bin_PROGRAMS)'; test -n "$$list" || exit 0; \ - echo " rm -f" $$list; \ - rm -f $$list || exit $$?; \ - test -n "$(EXEEXT)" || exit 0; \ - list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ - echo " rm -f" $$list; \ - rm -f $$list -install-cupsPROGRAMS: $(cups_PROGRAMS) - @$(NORMAL_INSTALL) - @list='$(cups_PROGRAMS)'; test -n "$(cupsdir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(cupsdir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(cupsdir)" || exit 1; \ - fi; \ - for p in $$list; do echo "$$p $$p"; done | \ - sed 's/$(EXEEXT)$$//' | \ - while read p p1; do if test -f $$p || test -f $$p1; \ - then echo "$$p"; echo "$$p"; else :; fi; \ - done | \ - sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \ - -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \ - sed 'N;N;N;s,\n, ,g' | \ - $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \ - { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \ - if ($$2 == $$4) files[d] = files[d] " " $$1; \ - else { print "f", $$3 "/" $$4, $$1; } } \ - END { for (d in files) print "f", d, files[d] }' | \ - while read type dir files; do \ - if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \ - test -z "$$files" || { \ - echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(cupsdir)$$dir'"; \ - $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(cupsdir)$$dir" || exit $$?; \ - } \ - ; done - -uninstall-cupsPROGRAMS: - @$(NORMAL_UNINSTALL) - @list='$(cups_PROGRAMS)'; test -n "$(cupsdir)" || list=; \ - files=`for p in $$list; do echo "$$p"; done | \ - sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \ - -e 's/$$/$(EXEEXT)/' `; \ - test -n "$$list" || exit 0; \ - echo " ( cd '$(DESTDIR)$(cupsdir)' && rm -f" $$files ")"; \ - cd "$(DESTDIR)$(cupsdir)" && rm -f $$files - -clean-cupsPROGRAMS: - @list='$(cups_PROGRAMS)'; test -n "$$list" || exit 0; \ - echo " rm -f" $$list; \ - rm -f $$list || exit $$?; \ - test -n "$(EXEEXT)" || exit 0; \ - list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ - echo " rm -f" $$list; \ - rm -f $$list -install-libexecPROGRAMS: $(libexec_PROGRAMS) - @$(NORMAL_INSTALL) - @list='$(libexec_PROGRAMS)'; test -n "$(libexecdir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(libexecdir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(libexecdir)" || exit 1; \ - fi; \ - for p in $$list; do echo "$$p $$p"; done | \ - sed 's/$(EXEEXT)$$//' | \ - while read p p1; do if test -f $$p || test -f $$p1; \ - then echo "$$p"; echo "$$p"; else :; fi; \ - done | \ - sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \ - -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \ - sed 'N;N;N;s,\n, ,g' | \ - $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \ - { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \ - if ($$2 == $$4) files[d] = files[d] " " $$1; \ - else { print "f", $$3 "/" $$4, $$1; } } \ - END { for (d in files) print "f", d, files[d] }' | \ - while read type dir files; do \ - if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \ - test -z "$$files" || { \ - echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(libexecdir)$$dir'"; \ - $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(libexecdir)$$dir" || exit $$?; \ - } \ - ; done - -uninstall-libexecPROGRAMS: - @$(NORMAL_UNINSTALL) - @list='$(libexec_PROGRAMS)'; test -n "$(libexecdir)" || list=; \ - files=`for p in $$list; do echo "$$p"; done | \ - sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \ - -e 's/$$/$(EXEEXT)/' `; \ - test -n "$$list" || exit 0; \ - echo " ( cd '$(DESTDIR)$(libexecdir)' && rm -f" $$files ")"; \ - cd "$(DESTDIR)$(libexecdir)" && rm -f $$files - -clean-libexecPROGRAMS: - @list='$(libexec_PROGRAMS)'; test -n "$$list" || exit 0; \ - echo " rm -f" $$list; \ - rm -f $$list || exit $$?; \ - test -n "$(EXEEXT)" || exit 0; \ - list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ - echo " rm -f" $$list; \ - rm -f $$list - -clean-noinstPROGRAMS: - @list='$(noinst_PROGRAMS)'; test -n "$$list" || exit 0; \ - echo " rm -f" $$list; \ - rm -f $$list || exit $$?; \ - test -n "$(EXEEXT)" || exit 0; \ - list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ - echo " rm -f" $$list; \ - rm -f $$list -install-udevPROGRAMS: $(udev_PROGRAMS) - @$(NORMAL_INSTALL) - @list='$(udev_PROGRAMS)'; test -n "$(udevdir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(udevdir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(udevdir)" || exit 1; \ - fi; \ - for p in $$list; do echo "$$p $$p"; done | \ - sed 's/$(EXEEXT)$$//' | \ - while read p p1; do if test -f $$p || test -f $$p1; \ - then echo "$$p"; echo "$$p"; else :; fi; \ - done | \ - sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \ - -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \ - sed 'N;N;N;s,\n, ,g' | \ - $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \ - { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \ - if ($$2 == $$4) files[d] = files[d] " " $$1; \ - else { print "f", $$3 "/" $$4, $$1; } } \ - END { for (d in files) print "f", d, files[d] }' | \ - while read type dir files; do \ - if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \ - test -z "$$files" || { \ - echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(udevdir)$$dir'"; \ - $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(udevdir)$$dir" || exit $$?; \ - } \ - ; done - -uninstall-udevPROGRAMS: - @$(NORMAL_UNINSTALL) - @list='$(udev_PROGRAMS)'; test -n "$(udevdir)" || list=; \ - files=`for p in $$list; do echo "$$p"; done | \ - sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \ - -e 's/$$/$(EXEEXT)/' `; \ - test -n "$$list" || exit 0; \ - echo " ( cd '$(DESTDIR)$(udevdir)' && rm -f" $$files ")"; \ - cd "$(DESTDIR)$(udevdir)" && rm -f $$files - -clean-udevPROGRAMS: - @list='$(udev_PROGRAMS)'; test -n "$$list" || exit 0; \ - echo " rm -f" $$list; \ - rm -f $$list || exit $$?; \ - test -n "$(EXEEXT)" || exit 0; \ - list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ - echo " rm -f" $$list; \ - rm -f $$list -attrib/$(am__dirstamp): - @$(MKDIR_P) attrib - @: > attrib/$(am__dirstamp) -attrib/$(DEPDIR)/$(am__dirstamp): - @$(MKDIR_P) attrib/$(DEPDIR) - @: > attrib/$(DEPDIR)/$(am__dirstamp) -attrib/gatttool.$(OBJEXT): attrib/$(am__dirstamp) \ - attrib/$(DEPDIR)/$(am__dirstamp) -attrib/att.$(OBJEXT): attrib/$(am__dirstamp) \ - attrib/$(DEPDIR)/$(am__dirstamp) -attrib/gatt.$(OBJEXT): attrib/$(am__dirstamp) \ - attrib/$(DEPDIR)/$(am__dirstamp) -attrib/gattrib.$(OBJEXT): attrib/$(am__dirstamp) \ - attrib/$(DEPDIR)/$(am__dirstamp) -btio/$(am__dirstamp): - @$(MKDIR_P) btio - @: > btio/$(am__dirstamp) -btio/$(DEPDIR)/$(am__dirstamp): - @$(MKDIR_P) btio/$(DEPDIR) - @: > btio/$(DEPDIR)/$(am__dirstamp) -btio/btio.$(OBJEXT): btio/$(am__dirstamp) \ - btio/$(DEPDIR)/$(am__dirstamp) -attrib/interactive.$(OBJEXT): attrib/$(am__dirstamp) \ - attrib/$(DEPDIR)/$(am__dirstamp) -attrib/utils.$(OBJEXT): attrib/$(am__dirstamp) \ - attrib/$(DEPDIR)/$(am__dirstamp) -src/$(am__dirstamp): - @$(MKDIR_P) src - @: > src/$(am__dirstamp) -src/$(DEPDIR)/$(am__dirstamp): - @$(MKDIR_P) src/$(DEPDIR) - @: > src/$(DEPDIR)/$(am__dirstamp) -src/log.$(OBJEXT): src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp) -attrib/gatttool$(EXEEXT): $(attrib_gatttool_OBJECTS) $(attrib_gatttool_DEPENDENCIES) $(EXTRA_attrib_gatttool_DEPENDENCIES) attrib/$(am__dirstamp) - @rm -f attrib/gatttool$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(attrib_gatttool_OBJECTS) $(attrib_gatttool_LDADD) $(LIBS) -gdbus/$(am__dirstamp): - @$(MKDIR_P) gdbus - @: > gdbus/$(am__dirstamp) -gdbus/$(DEPDIR)/$(am__dirstamp): - @$(MKDIR_P) gdbus/$(DEPDIR) - @: > gdbus/$(DEPDIR)/$(am__dirstamp) -gdbus/mainloop.$(OBJEXT): gdbus/$(am__dirstamp) \ - gdbus/$(DEPDIR)/$(am__dirstamp) -gdbus/watch.$(OBJEXT): gdbus/$(am__dirstamp) \ - gdbus/$(DEPDIR)/$(am__dirstamp) -gdbus/object.$(OBJEXT): gdbus/$(am__dirstamp) \ - gdbus/$(DEPDIR)/$(am__dirstamp) -gdbus/client.$(OBJEXT): gdbus/$(am__dirstamp) \ - gdbus/$(DEPDIR)/$(am__dirstamp) -gdbus/polkit.$(OBJEXT): gdbus/$(am__dirstamp) \ - gdbus/$(DEPDIR)/$(am__dirstamp) -client/$(am__dirstamp): - @$(MKDIR_P) client - @: > client/$(am__dirstamp) -client/$(DEPDIR)/$(am__dirstamp): - @$(MKDIR_P) client/$(DEPDIR) - @: > client/$(DEPDIR)/$(am__dirstamp) -client/main.$(OBJEXT): client/$(am__dirstamp) \ - client/$(DEPDIR)/$(am__dirstamp) -client/display.$(OBJEXT): client/$(am__dirstamp) \ - client/$(DEPDIR)/$(am__dirstamp) -client/agent.$(OBJEXT): client/$(am__dirstamp) \ - client/$(DEPDIR)/$(am__dirstamp) -monitor/$(am__dirstamp): - @$(MKDIR_P) monitor - @: > monitor/$(am__dirstamp) -monitor/$(DEPDIR)/$(am__dirstamp): - @$(MKDIR_P) monitor/$(DEPDIR) - @: > monitor/$(DEPDIR)/$(am__dirstamp) -monitor/uuid.$(OBJEXT): monitor/$(am__dirstamp) \ - monitor/$(DEPDIR)/$(am__dirstamp) -client/bluetoothctl$(EXEEXT): $(client_bluetoothctl_OBJECTS) $(client_bluetoothctl_DEPENDENCIES) $(EXTRA_client_bluetoothctl_DEPENDENCIES) client/$(am__dirstamp) - @rm -f client/bluetoothctl$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(client_bluetoothctl_OBJECTS) $(client_bluetoothctl_LDADD) $(LIBS) -emulator/$(am__dirstamp): - @$(MKDIR_P) emulator - @: > emulator/$(am__dirstamp) -emulator/$(DEPDIR)/$(am__dirstamp): - @$(MKDIR_P) emulator/$(DEPDIR) - @: > emulator/$(DEPDIR)/$(am__dirstamp) -emulator/b1ee.$(OBJEXT): emulator/$(am__dirstamp) \ - emulator/$(DEPDIR)/$(am__dirstamp) -monitor/mainloop.$(OBJEXT): monitor/$(am__dirstamp) \ - monitor/$(DEPDIR)/$(am__dirstamp) -emulator/b1ee$(EXEEXT): $(emulator_b1ee_OBJECTS) $(emulator_b1ee_DEPENDENCIES) $(EXTRA_emulator_b1ee_DEPENDENCIES) emulator/$(am__dirstamp) - @rm -f emulator/b1ee$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(emulator_b1ee_OBJECTS) $(emulator_b1ee_LDADD) $(LIBS) -emulator/main.$(OBJEXT): emulator/$(am__dirstamp) \ - emulator/$(DEPDIR)/$(am__dirstamp) -emulator/server.$(OBJEXT): emulator/$(am__dirstamp) \ - emulator/$(DEPDIR)/$(am__dirstamp) -emulator/vhci.$(OBJEXT): emulator/$(am__dirstamp) \ - emulator/$(DEPDIR)/$(am__dirstamp) -emulator/btdev.$(OBJEXT): emulator/$(am__dirstamp) \ - emulator/$(DEPDIR)/$(am__dirstamp) -emulator/bthost.$(OBJEXT): emulator/$(am__dirstamp) \ - emulator/$(DEPDIR)/$(am__dirstamp) -emulator/btvirt$(EXEEXT): $(emulator_btvirt_OBJECTS) $(emulator_btvirt_DEPENDENCIES) $(EXTRA_emulator_btvirt_DEPENDENCIES) emulator/$(am__dirstamp) - @rm -f emulator/btvirt$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(emulator_btvirt_OBJECTS) $(emulator_btvirt_LDADD) $(LIBS) -monitor/main.$(OBJEXT): monitor/$(am__dirstamp) \ - monitor/$(DEPDIR)/$(am__dirstamp) -monitor/display.$(OBJEXT): monitor/$(am__dirstamp) \ - monitor/$(DEPDIR)/$(am__dirstamp) -monitor/hcidump.$(OBJEXT): monitor/$(am__dirstamp) \ - monitor/$(DEPDIR)/$(am__dirstamp) -monitor/btsnoop.$(OBJEXT): monitor/$(am__dirstamp) \ - monitor/$(DEPDIR)/$(am__dirstamp) -monitor/control.$(OBJEXT): monitor/$(am__dirstamp) \ - monitor/$(DEPDIR)/$(am__dirstamp) -monitor/packet.$(OBJEXT): monitor/$(am__dirstamp) \ - monitor/$(DEPDIR)/$(am__dirstamp) -monitor/l2cap.$(OBJEXT): monitor/$(am__dirstamp) \ - monitor/$(DEPDIR)/$(am__dirstamp) -monitor/sdp.$(OBJEXT): monitor/$(am__dirstamp) \ - monitor/$(DEPDIR)/$(am__dirstamp) -monitor/btmon$(EXEEXT): $(monitor_btmon_OBJECTS) $(monitor_btmon_DEPENDENCIES) $(EXTRA_monitor_btmon_DEPENDENCIES) monitor/$(am__dirstamp) - @rm -f monitor/btmon$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(monitor_btmon_OBJECTS) $(monitor_btmon_LDADD) $(LIBS) -gdbus/obexd-mainloop.$(OBJEXT): gdbus/$(am__dirstamp) \ - gdbus/$(DEPDIR)/$(am__dirstamp) -gdbus/obexd-watch.$(OBJEXT): gdbus/$(am__dirstamp) \ - gdbus/$(DEPDIR)/$(am__dirstamp) -gdbus/obexd-object.$(OBJEXT): gdbus/$(am__dirstamp) \ - gdbus/$(DEPDIR)/$(am__dirstamp) -gdbus/obexd-client.$(OBJEXT): gdbus/$(am__dirstamp) \ - gdbus/$(DEPDIR)/$(am__dirstamp) -gdbus/obexd-polkit.$(OBJEXT): gdbus/$(am__dirstamp) \ - gdbus/$(DEPDIR)/$(am__dirstamp) -btio/obexd-btio.$(OBJEXT): btio/$(am__dirstamp) \ - btio/$(DEPDIR)/$(am__dirstamp) -gobex/$(am__dirstamp): - @$(MKDIR_P) gobex - @: > gobex/$(am__dirstamp) -gobex/$(DEPDIR)/$(am__dirstamp): - @$(MKDIR_P) gobex/$(DEPDIR) - @: > gobex/$(DEPDIR)/$(am__dirstamp) -gobex/obexd-gobex.$(OBJEXT): gobex/$(am__dirstamp) \ - gobex/$(DEPDIR)/$(am__dirstamp) -gobex/obexd-gobex-defs.$(OBJEXT): gobex/$(am__dirstamp) \ - gobex/$(DEPDIR)/$(am__dirstamp) -gobex/obexd-gobex-packet.$(OBJEXT): gobex/$(am__dirstamp) \ - gobex/$(DEPDIR)/$(am__dirstamp) -gobex/obexd-gobex-header.$(OBJEXT): gobex/$(am__dirstamp) \ - gobex/$(DEPDIR)/$(am__dirstamp) -gobex/obexd-gobex-transfer.$(OBJEXT): gobex/$(am__dirstamp) \ - gobex/$(DEPDIR)/$(am__dirstamp) -gobex/obexd-gobex-apparam.$(OBJEXT): gobex/$(am__dirstamp) \ - gobex/$(DEPDIR)/$(am__dirstamp) -obexd/plugins/$(am__dirstamp): - @$(MKDIR_P) obexd/plugins - @: > obexd/plugins/$(am__dirstamp) -obexd/plugins/$(DEPDIR)/$(am__dirstamp): - @$(MKDIR_P) obexd/plugins/$(DEPDIR) - @: > obexd/plugins/$(DEPDIR)/$(am__dirstamp) -obexd/plugins/obexd-filesystem.$(OBJEXT): \ - obexd/plugins/$(am__dirstamp) \ - obexd/plugins/$(DEPDIR)/$(am__dirstamp) -obexd/plugins/obexd-bluetooth.$(OBJEXT): \ - obexd/plugins/$(am__dirstamp) \ - obexd/plugins/$(DEPDIR)/$(am__dirstamp) -obexd/plugins/obexd-pcsuite.$(OBJEXT): obexd/plugins/$(am__dirstamp) \ - obexd/plugins/$(DEPDIR)/$(am__dirstamp) -obexd/plugins/obexd-opp.$(OBJEXT): obexd/plugins/$(am__dirstamp) \ - obexd/plugins/$(DEPDIR)/$(am__dirstamp) -obexd/plugins/obexd-ftp.$(OBJEXT): obexd/plugins/$(am__dirstamp) \ - obexd/plugins/$(DEPDIR)/$(am__dirstamp) -obexd/plugins/obexd-irmc.$(OBJEXT): obexd/plugins/$(am__dirstamp) \ - obexd/plugins/$(DEPDIR)/$(am__dirstamp) -obexd/plugins/obexd-pbap.$(OBJEXT): obexd/plugins/$(am__dirstamp) \ - obexd/plugins/$(DEPDIR)/$(am__dirstamp) -obexd/plugins/obexd-vcard.$(OBJEXT): obexd/plugins/$(am__dirstamp) \ - obexd/plugins/$(DEPDIR)/$(am__dirstamp) -obexd/plugins/obexd-phonebook-dummy.$(OBJEXT): \ - obexd/plugins/$(am__dirstamp) \ - obexd/plugins/$(DEPDIR)/$(am__dirstamp) -obexd/plugins/obexd-mas.$(OBJEXT): obexd/plugins/$(am__dirstamp) \ - obexd/plugins/$(DEPDIR)/$(am__dirstamp) -obexd/plugins/obexd-messages-dummy.$(OBJEXT): \ - obexd/plugins/$(am__dirstamp) \ - obexd/plugins/$(DEPDIR)/$(am__dirstamp) -obexd/client/$(am__dirstamp): - @$(MKDIR_P) obexd/client - @: > obexd/client/$(am__dirstamp) -obexd/client/$(DEPDIR)/$(am__dirstamp): - @$(MKDIR_P) obexd/client/$(DEPDIR) - @: > obexd/client/$(DEPDIR)/$(am__dirstamp) -obexd/client/obexd-mns.$(OBJEXT): obexd/client/$(am__dirstamp) \ - obexd/client/$(DEPDIR)/$(am__dirstamp) -obexd/src/$(am__dirstamp): - @$(MKDIR_P) obexd/src - @: > obexd/src/$(am__dirstamp) -obexd/src/$(DEPDIR)/$(am__dirstamp): - @$(MKDIR_P) obexd/src/$(DEPDIR) - @: > obexd/src/$(DEPDIR)/$(am__dirstamp) -obexd/src/obexd-main.$(OBJEXT): obexd/src/$(am__dirstamp) \ - obexd/src/$(DEPDIR)/$(am__dirstamp) -obexd/src/obexd-plugin.$(OBJEXT): obexd/src/$(am__dirstamp) \ - obexd/src/$(DEPDIR)/$(am__dirstamp) -obexd/src/obexd-log.$(OBJEXT): obexd/src/$(am__dirstamp) \ - obexd/src/$(DEPDIR)/$(am__dirstamp) -obexd/src/obexd-manager.$(OBJEXT): obexd/src/$(am__dirstamp) \ - obexd/src/$(DEPDIR)/$(am__dirstamp) -obexd/src/obexd-obex.$(OBJEXT): obexd/src/$(am__dirstamp) \ - obexd/src/$(DEPDIR)/$(am__dirstamp) -obexd/src/obexd-mimetype.$(OBJEXT): obexd/src/$(am__dirstamp) \ - obexd/src/$(DEPDIR)/$(am__dirstamp) -obexd/src/obexd-service.$(OBJEXT): obexd/src/$(am__dirstamp) \ - obexd/src/$(DEPDIR)/$(am__dirstamp) -obexd/src/obexd-transport.$(OBJEXT): obexd/src/$(am__dirstamp) \ - obexd/src/$(DEPDIR)/$(am__dirstamp) -obexd/src/obexd-server.$(OBJEXT): obexd/src/$(am__dirstamp) \ - obexd/src/$(DEPDIR)/$(am__dirstamp) -obexd/client/obexd-manager.$(OBJEXT): obexd/client/$(am__dirstamp) \ - obexd/client/$(DEPDIR)/$(am__dirstamp) -obexd/client/obexd-session.$(OBJEXT): obexd/client/$(am__dirstamp) \ - obexd/client/$(DEPDIR)/$(am__dirstamp) -obexd/client/obexd-bluetooth.$(OBJEXT): obexd/client/$(am__dirstamp) \ - obexd/client/$(DEPDIR)/$(am__dirstamp) -obexd/client/obexd-sync.$(OBJEXT): obexd/client/$(am__dirstamp) \ - obexd/client/$(DEPDIR)/$(am__dirstamp) -obexd/client/obexd-pbap.$(OBJEXT): obexd/client/$(am__dirstamp) \ - obexd/client/$(DEPDIR)/$(am__dirstamp) -obexd/client/obexd-ftp.$(OBJEXT): obexd/client/$(am__dirstamp) \ - obexd/client/$(DEPDIR)/$(am__dirstamp) -obexd/client/obexd-opp.$(OBJEXT): obexd/client/$(am__dirstamp) \ - obexd/client/$(DEPDIR)/$(am__dirstamp) -obexd/client/obexd-map.$(OBJEXT): obexd/client/$(am__dirstamp) \ - obexd/client/$(DEPDIR)/$(am__dirstamp) -obexd/client/obexd-transfer.$(OBJEXT): obexd/client/$(am__dirstamp) \ - obexd/client/$(DEPDIR)/$(am__dirstamp) -obexd/client/obexd-transport.$(OBJEXT): obexd/client/$(am__dirstamp) \ - obexd/client/$(DEPDIR)/$(am__dirstamp) -obexd/client/obexd-dbus.$(OBJEXT): obexd/client/$(am__dirstamp) \ - obexd/client/$(DEPDIR)/$(am__dirstamp) -obexd/client/obexd-driver.$(OBJEXT): obexd/client/$(am__dirstamp) \ - obexd/client/$(DEPDIR)/$(am__dirstamp) -obexd/src/obexd$(EXEEXT): $(obexd_src_obexd_OBJECTS) $(obexd_src_obexd_DEPENDENCIES) $(EXTRA_obexd_src_obexd_DEPENDENCIES) obexd/src/$(am__dirstamp) - @rm -f obexd/src/obexd$(EXEEXT) - $(AM_V_CCLD)$(obexd_src_obexd_LINK) $(obexd_src_obexd_OBJECTS) $(obexd_src_obexd_LDADD) $(LIBS) -profiles/cups/$(am__dirstamp): - @$(MKDIR_P) profiles/cups - @: > profiles/cups/$(am__dirstamp) -profiles/cups/$(DEPDIR)/$(am__dirstamp): - @$(MKDIR_P) profiles/cups/$(DEPDIR) - @: > profiles/cups/$(DEPDIR)/$(am__dirstamp) -profiles/cups/main.$(OBJEXT): profiles/cups/$(am__dirstamp) \ - profiles/cups/$(DEPDIR)/$(am__dirstamp) -profiles/cups/sdp.$(OBJEXT): profiles/cups/$(am__dirstamp) \ - profiles/cups/$(DEPDIR)/$(am__dirstamp) -profiles/cups/spp.$(OBJEXT): profiles/cups/$(am__dirstamp) \ - profiles/cups/$(DEPDIR)/$(am__dirstamp) -profiles/cups/hcrp.$(OBJEXT): profiles/cups/$(am__dirstamp) \ - profiles/cups/$(DEPDIR)/$(am__dirstamp) -profiles/cups/bluetooth$(EXEEXT): $(profiles_cups_bluetooth_OBJECTS) $(profiles_cups_bluetooth_DEPENDENCIES) $(EXTRA_profiles_cups_bluetooth_DEPENDENCIES) profiles/cups/$(am__dirstamp) - @rm -f profiles/cups/bluetooth$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(profiles_cups_bluetooth_OBJECTS) $(profiles_cups_bluetooth_LDADD) $(LIBS) -profiles/iap/$(am__dirstamp): - @$(MKDIR_P) profiles/iap - @: > profiles/iap/$(am__dirstamp) -profiles/iap/$(DEPDIR)/$(am__dirstamp): - @$(MKDIR_P) profiles/iap/$(DEPDIR) - @: > profiles/iap/$(DEPDIR)/$(am__dirstamp) -profiles/iap/main.$(OBJEXT): profiles/iap/$(am__dirstamp) \ - profiles/iap/$(DEPDIR)/$(am__dirstamp) -profiles/iap/iapd$(EXEEXT): $(profiles_iap_iapd_OBJECTS) $(profiles_iap_iapd_DEPENDENCIES) $(EXTRA_profiles_iap_iapd_DEPENDENCIES) profiles/iap/$(am__dirstamp) - @rm -f profiles/iap/iapd$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(profiles_iap_iapd_OBJECTS) $(profiles_iap_iapd_LDADD) $(LIBS) -gdbus/bluetoothd-mainloop.$(OBJEXT): gdbus/$(am__dirstamp) \ - gdbus/$(DEPDIR)/$(am__dirstamp) -gdbus/bluetoothd-watch.$(OBJEXT): gdbus/$(am__dirstamp) \ - gdbus/$(DEPDIR)/$(am__dirstamp) -gdbus/bluetoothd-object.$(OBJEXT): gdbus/$(am__dirstamp) \ - gdbus/$(DEPDIR)/$(am__dirstamp) -gdbus/bluetoothd-client.$(OBJEXT): gdbus/$(am__dirstamp) \ - gdbus/$(DEPDIR)/$(am__dirstamp) -gdbus/bluetoothd-polkit.$(OBJEXT): gdbus/$(am__dirstamp) \ - gdbus/$(DEPDIR)/$(am__dirstamp) -plugins/bluetoothd-hostname.$(OBJEXT): plugins/$(am__dirstamp) \ - plugins/$(DEPDIR)/$(am__dirstamp) -plugins/bluetoothd-wiimote.$(OBJEXT): plugins/$(am__dirstamp) \ - plugins/$(DEPDIR)/$(am__dirstamp) -plugins/bluetoothd-gatt-example.$(OBJEXT): plugins/$(am__dirstamp) \ - plugins/$(DEPDIR)/$(am__dirstamp) -plugins/bluetoothd-neard.$(OBJEXT): plugins/$(am__dirstamp) \ - plugins/$(DEPDIR)/$(am__dirstamp) -profiles/sap/bluetoothd-main.$(OBJEXT): profiles/sap/$(am__dirstamp) \ - profiles/sap/$(DEPDIR)/$(am__dirstamp) -profiles/sap/bluetoothd-manager.$(OBJEXT): \ - profiles/sap/$(am__dirstamp) \ - profiles/sap/$(DEPDIR)/$(am__dirstamp) -profiles/sap/bluetoothd-server.$(OBJEXT): \ - profiles/sap/$(am__dirstamp) \ - profiles/sap/$(DEPDIR)/$(am__dirstamp) -profiles/sap/bluetoothd-sap-dummy.$(OBJEXT): \ - profiles/sap/$(am__dirstamp) \ - profiles/sap/$(DEPDIR)/$(am__dirstamp) -profiles/audio/$(am__dirstamp): - @$(MKDIR_P) profiles/audio - @: > profiles/audio/$(am__dirstamp) -profiles/audio/$(DEPDIR)/$(am__dirstamp): - @$(MKDIR_P) profiles/audio/$(DEPDIR) - @: > profiles/audio/$(DEPDIR)/$(am__dirstamp) -profiles/audio/bluetoothd-main.$(OBJEXT): \ - profiles/audio/$(am__dirstamp) \ - profiles/audio/$(DEPDIR)/$(am__dirstamp) -profiles/audio/bluetoothd-manager.$(OBJEXT): \ - profiles/audio/$(am__dirstamp) \ - profiles/audio/$(DEPDIR)/$(am__dirstamp) -profiles/audio/bluetoothd-control.$(OBJEXT): \ - profiles/audio/$(am__dirstamp) \ - profiles/audio/$(DEPDIR)/$(am__dirstamp) -profiles/audio/bluetoothd-avctp.$(OBJEXT): \ - profiles/audio/$(am__dirstamp) \ - profiles/audio/$(DEPDIR)/$(am__dirstamp) -profiles/audio/bluetoothd-avrcp.$(OBJEXT): \ - profiles/audio/$(am__dirstamp) \ - profiles/audio/$(DEPDIR)/$(am__dirstamp) -profiles/audio/bluetoothd-device.$(OBJEXT): \ - profiles/audio/$(am__dirstamp) \ - profiles/audio/$(DEPDIR)/$(am__dirstamp) -profiles/audio/bluetoothd-source.$(OBJEXT): \ - profiles/audio/$(am__dirstamp) \ - profiles/audio/$(DEPDIR)/$(am__dirstamp) -profiles/audio/bluetoothd-sink.$(OBJEXT): \ - profiles/audio/$(am__dirstamp) \ - profiles/audio/$(DEPDIR)/$(am__dirstamp) -profiles/audio/bluetoothd-a2dp.$(OBJEXT): \ - profiles/audio/$(am__dirstamp) \ - profiles/audio/$(DEPDIR)/$(am__dirstamp) -profiles/audio/bluetoothd-avdtp.$(OBJEXT): \ - profiles/audio/$(am__dirstamp) \ - profiles/audio/$(DEPDIR)/$(am__dirstamp) -profiles/audio/bluetoothd-media.$(OBJEXT): \ - profiles/audio/$(am__dirstamp) \ - profiles/audio/$(DEPDIR)/$(am__dirstamp) -profiles/audio/bluetoothd-transport.$(OBJEXT): \ - profiles/audio/$(am__dirstamp) \ - profiles/audio/$(DEPDIR)/$(am__dirstamp) -profiles/audio/bluetoothd-player.$(OBJEXT): \ - profiles/audio/$(am__dirstamp) \ - profiles/audio/$(DEPDIR)/$(am__dirstamp) -profiles/network/$(am__dirstamp): - @$(MKDIR_P) profiles/network - @: > profiles/network/$(am__dirstamp) -profiles/network/$(DEPDIR)/$(am__dirstamp): - @$(MKDIR_P) profiles/network/$(DEPDIR) - @: > profiles/network/$(DEPDIR)/$(am__dirstamp) -profiles/network/bluetoothd-manager.$(OBJEXT): \ - profiles/network/$(am__dirstamp) \ - profiles/network/$(DEPDIR)/$(am__dirstamp) -profiles/network/bluetoothd-common.$(OBJEXT): \ - profiles/network/$(am__dirstamp) \ - profiles/network/$(DEPDIR)/$(am__dirstamp) -profiles/network/bluetoothd-server.$(OBJEXT): \ - profiles/network/$(am__dirstamp) \ - profiles/network/$(DEPDIR)/$(am__dirstamp) -profiles/network/bluetoothd-connection.$(OBJEXT): \ - profiles/network/$(am__dirstamp) \ - profiles/network/$(DEPDIR)/$(am__dirstamp) -profiles/input/$(am__dirstamp): - @$(MKDIR_P) profiles/input - @: > profiles/input/$(am__dirstamp) -profiles/input/$(DEPDIR)/$(am__dirstamp): - @$(MKDIR_P) profiles/input/$(DEPDIR) - @: > profiles/input/$(DEPDIR)/$(am__dirstamp) -profiles/input/bluetoothd-manager.$(OBJEXT): \ - profiles/input/$(am__dirstamp) \ - profiles/input/$(DEPDIR)/$(am__dirstamp) -profiles/input/bluetoothd-server.$(OBJEXT): \ - profiles/input/$(am__dirstamp) \ - profiles/input/$(DEPDIR)/$(am__dirstamp) -profiles/input/bluetoothd-device.$(OBJEXT): \ - profiles/input/$(am__dirstamp) \ - profiles/input/$(DEPDIR)/$(am__dirstamp) -profiles/input/bluetoothd-hog.$(OBJEXT): \ - profiles/input/$(am__dirstamp) \ - profiles/input/$(DEPDIR)/$(am__dirstamp) -profiles/input/bluetoothd-suspend-dummy.$(OBJEXT): \ - profiles/input/$(am__dirstamp) \ - profiles/input/$(DEPDIR)/$(am__dirstamp) -profiles/health/$(am__dirstamp): - @$(MKDIR_P) profiles/health - @: > profiles/health/$(am__dirstamp) -profiles/health/$(DEPDIR)/$(am__dirstamp): - @$(MKDIR_P) profiles/health/$(DEPDIR) - @: > profiles/health/$(DEPDIR)/$(am__dirstamp) -profiles/health/bluetoothd-mcap.$(OBJEXT): \ - profiles/health/$(am__dirstamp) \ - profiles/health/$(DEPDIR)/$(am__dirstamp) -profiles/health/bluetoothd-mcap_sync.$(OBJEXT): \ - profiles/health/$(am__dirstamp) \ - profiles/health/$(DEPDIR)/$(am__dirstamp) -profiles/health/bluetoothd-hdp_main.$(OBJEXT): \ - profiles/health/$(am__dirstamp) \ - profiles/health/$(DEPDIR)/$(am__dirstamp) -profiles/health/bluetoothd-hdp_manager.$(OBJEXT): \ - profiles/health/$(am__dirstamp) \ - profiles/health/$(DEPDIR)/$(am__dirstamp) -profiles/health/bluetoothd-hdp.$(OBJEXT): \ - profiles/health/$(am__dirstamp) \ - profiles/health/$(DEPDIR)/$(am__dirstamp) -profiles/health/bluetoothd-hdp_util.$(OBJEXT): \ - profiles/health/$(am__dirstamp) \ - profiles/health/$(DEPDIR)/$(am__dirstamp) -profiles/gatt/$(am__dirstamp): - @$(MKDIR_P) profiles/gatt - @: > profiles/gatt/$(am__dirstamp) -profiles/gatt/$(DEPDIR)/$(am__dirstamp): - @$(MKDIR_P) profiles/gatt/$(DEPDIR) - @: > profiles/gatt/$(DEPDIR)/$(am__dirstamp) -profiles/gatt/bluetoothd-gas.$(OBJEXT): profiles/gatt/$(am__dirstamp) \ - profiles/gatt/$(DEPDIR)/$(am__dirstamp) -profiles/scanparam/$(am__dirstamp): - @$(MKDIR_P) profiles/scanparam - @: > profiles/scanparam/$(am__dirstamp) -profiles/scanparam/$(DEPDIR)/$(am__dirstamp): - @$(MKDIR_P) profiles/scanparam/$(DEPDIR) - @: > profiles/scanparam/$(DEPDIR)/$(am__dirstamp) -profiles/scanparam/bluetoothd-scan.$(OBJEXT): \ - profiles/scanparam/$(am__dirstamp) \ - profiles/scanparam/$(DEPDIR)/$(am__dirstamp) -profiles/deviceinfo/$(am__dirstamp): - @$(MKDIR_P) profiles/deviceinfo - @: > profiles/deviceinfo/$(am__dirstamp) -profiles/deviceinfo/$(DEPDIR)/$(am__dirstamp): - @$(MKDIR_P) profiles/deviceinfo/$(DEPDIR) - @: > profiles/deviceinfo/$(DEPDIR)/$(am__dirstamp) -profiles/deviceinfo/bluetoothd-deviceinfo.$(OBJEXT): \ - profiles/deviceinfo/$(am__dirstamp) \ - profiles/deviceinfo/$(DEPDIR)/$(am__dirstamp) -profiles/alert/$(am__dirstamp): - @$(MKDIR_P) profiles/alert - @: > profiles/alert/$(am__dirstamp) -profiles/alert/$(DEPDIR)/$(am__dirstamp): - @$(MKDIR_P) profiles/alert/$(DEPDIR) - @: > profiles/alert/$(DEPDIR)/$(am__dirstamp) -profiles/alert/bluetoothd-server.$(OBJEXT): \ - profiles/alert/$(am__dirstamp) \ - profiles/alert/$(DEPDIR)/$(am__dirstamp) -profiles/time/$(am__dirstamp): - @$(MKDIR_P) profiles/time - @: > profiles/time/$(am__dirstamp) -profiles/time/$(DEPDIR)/$(am__dirstamp): - @$(MKDIR_P) profiles/time/$(DEPDIR) - @: > profiles/time/$(DEPDIR)/$(am__dirstamp) -profiles/time/bluetoothd-server.$(OBJEXT): \ - profiles/time/$(am__dirstamp) \ - profiles/time/$(DEPDIR)/$(am__dirstamp) -profiles/proximity/$(am__dirstamp): - @$(MKDIR_P) profiles/proximity - @: > profiles/proximity/$(am__dirstamp) -profiles/proximity/$(DEPDIR)/$(am__dirstamp): - @$(MKDIR_P) profiles/proximity/$(DEPDIR) - @: > profiles/proximity/$(DEPDIR)/$(am__dirstamp) -profiles/proximity/bluetoothd-main.$(OBJEXT): \ - profiles/proximity/$(am__dirstamp) \ - profiles/proximity/$(DEPDIR)/$(am__dirstamp) -profiles/proximity/bluetoothd-manager.$(OBJEXT): \ - profiles/proximity/$(am__dirstamp) \ - profiles/proximity/$(DEPDIR)/$(am__dirstamp) -profiles/proximity/bluetoothd-monitor.$(OBJEXT): \ - profiles/proximity/$(am__dirstamp) \ - profiles/proximity/$(DEPDIR)/$(am__dirstamp) -profiles/proximity/bluetoothd-reporter.$(OBJEXT): \ - profiles/proximity/$(am__dirstamp) \ - profiles/proximity/$(DEPDIR)/$(am__dirstamp) -profiles/proximity/bluetoothd-linkloss.$(OBJEXT): \ - profiles/proximity/$(am__dirstamp) \ - profiles/proximity/$(DEPDIR)/$(am__dirstamp) -profiles/proximity/bluetoothd-immalert.$(OBJEXT): \ - profiles/proximity/$(am__dirstamp) \ - profiles/proximity/$(DEPDIR)/$(am__dirstamp) -profiles/thermometer/$(am__dirstamp): - @$(MKDIR_P) profiles/thermometer - @: > profiles/thermometer/$(am__dirstamp) -profiles/thermometer/$(DEPDIR)/$(am__dirstamp): - @$(MKDIR_P) profiles/thermometer/$(DEPDIR) - @: > profiles/thermometer/$(DEPDIR)/$(am__dirstamp) -profiles/thermometer/bluetoothd-thermometer.$(OBJEXT): \ - profiles/thermometer/$(am__dirstamp) \ - profiles/thermometer/$(DEPDIR)/$(am__dirstamp) -profiles/heartrate/$(am__dirstamp): - @$(MKDIR_P) profiles/heartrate - @: > profiles/heartrate/$(am__dirstamp) -profiles/heartrate/$(DEPDIR)/$(am__dirstamp): - @$(MKDIR_P) profiles/heartrate/$(DEPDIR) - @: > profiles/heartrate/$(DEPDIR)/$(am__dirstamp) -profiles/heartrate/bluetoothd-heartrate.$(OBJEXT): \ - profiles/heartrate/$(am__dirstamp) \ - profiles/heartrate/$(DEPDIR)/$(am__dirstamp) -profiles/cyclingspeed/$(am__dirstamp): - @$(MKDIR_P) profiles/cyclingspeed - @: > profiles/cyclingspeed/$(am__dirstamp) -profiles/cyclingspeed/$(DEPDIR)/$(am__dirstamp): - @$(MKDIR_P) profiles/cyclingspeed/$(DEPDIR) - @: > profiles/cyclingspeed/$(DEPDIR)/$(am__dirstamp) -profiles/cyclingspeed/bluetoothd-cyclingspeed.$(OBJEXT): \ - profiles/cyclingspeed/$(am__dirstamp) \ - profiles/cyclingspeed/$(DEPDIR)/$(am__dirstamp) -attrib/bluetoothd-att.$(OBJEXT): attrib/$(am__dirstamp) \ - attrib/$(DEPDIR)/$(am__dirstamp) -attrib/bluetoothd-gatt.$(OBJEXT): attrib/$(am__dirstamp) \ - attrib/$(DEPDIR)/$(am__dirstamp) -attrib/bluetoothd-gattrib.$(OBJEXT): attrib/$(am__dirstamp) \ - attrib/$(DEPDIR)/$(am__dirstamp) -attrib/bluetoothd-gatt-service.$(OBJEXT): attrib/$(am__dirstamp) \ - attrib/$(DEPDIR)/$(am__dirstamp) -btio/bluetoothd-btio.$(OBJEXT): btio/$(am__dirstamp) \ - btio/$(DEPDIR)/$(am__dirstamp) -src/bluetoothd-main.$(OBJEXT): src/$(am__dirstamp) \ - src/$(DEPDIR)/$(am__dirstamp) -src/bluetoothd-log.$(OBJEXT): src/$(am__dirstamp) \ - src/$(DEPDIR)/$(am__dirstamp) -src/bluetoothd-systemd.$(OBJEXT): src/$(am__dirstamp) \ - src/$(DEPDIR)/$(am__dirstamp) -src/bluetoothd-rfkill.$(OBJEXT): src/$(am__dirstamp) \ - src/$(DEPDIR)/$(am__dirstamp) -src/bluetoothd-sdpd-server.$(OBJEXT): src/$(am__dirstamp) \ - src/$(DEPDIR)/$(am__dirstamp) -src/bluetoothd-sdpd-request.$(OBJEXT): src/$(am__dirstamp) \ - src/$(DEPDIR)/$(am__dirstamp) -src/bluetoothd-sdpd-service.$(OBJEXT): src/$(am__dirstamp) \ - src/$(DEPDIR)/$(am__dirstamp) -src/bluetoothd-sdpd-database.$(OBJEXT): src/$(am__dirstamp) \ - src/$(DEPDIR)/$(am__dirstamp) -src/bluetoothd-attrib-server.$(OBJEXT): src/$(am__dirstamp) \ - src/$(DEPDIR)/$(am__dirstamp) -src/bluetoothd-sdp-xml.$(OBJEXT): src/$(am__dirstamp) \ - src/$(DEPDIR)/$(am__dirstamp) -src/bluetoothd-sdp-client.$(OBJEXT): src/$(am__dirstamp) \ - src/$(DEPDIR)/$(am__dirstamp) -src/bluetoothd-textfile.$(OBJEXT): src/$(am__dirstamp) \ - src/$(DEPDIR)/$(am__dirstamp) -src/bluetoothd-glib-helper.$(OBJEXT): src/$(am__dirstamp) \ - src/$(DEPDIR)/$(am__dirstamp) -src/bluetoothd-plugin.$(OBJEXT): src/$(am__dirstamp) \ - src/$(DEPDIR)/$(am__dirstamp) -src/bluetoothd-storage.$(OBJEXT): src/$(am__dirstamp) \ - src/$(DEPDIR)/$(am__dirstamp) -src/bluetoothd-agent.$(OBJEXT): src/$(am__dirstamp) \ - src/$(DEPDIR)/$(am__dirstamp) -src/bluetoothd-error.$(OBJEXT): src/$(am__dirstamp) \ - src/$(DEPDIR)/$(am__dirstamp) -src/bluetoothd-adapter.$(OBJEXT): src/$(am__dirstamp) \ - src/$(DEPDIR)/$(am__dirstamp) -src/bluetoothd-profile.$(OBJEXT): src/$(am__dirstamp) \ - src/$(DEPDIR)/$(am__dirstamp) -src/bluetoothd-device.$(OBJEXT): src/$(am__dirstamp) \ - src/$(DEPDIR)/$(am__dirstamp) -src/bluetoothd-dbus-common.$(OBJEXT): src/$(am__dirstamp) \ - src/$(DEPDIR)/$(am__dirstamp) -src/bluetoothd-eir.$(OBJEXT): src/$(am__dirstamp) \ - src/$(DEPDIR)/$(am__dirstamp) -src/shared/$(am__dirstamp): - @$(MKDIR_P) src/shared - @: > src/shared/$(am__dirstamp) -src/shared/$(DEPDIR)/$(am__dirstamp): - @$(MKDIR_P) src/shared/$(DEPDIR) - @: > src/shared/$(DEPDIR)/$(am__dirstamp) -src/shared/bluetoothd-util.$(OBJEXT): src/shared/$(am__dirstamp) \ - src/shared/$(DEPDIR)/$(am__dirstamp) -src/shared/bluetoothd-mgmt.$(OBJEXT): src/shared/$(am__dirstamp) \ - src/shared/$(DEPDIR)/$(am__dirstamp) -src/bluetoothd$(EXEEXT): $(src_bluetoothd_OBJECTS) $(src_bluetoothd_DEPENDENCIES) $(EXTRA_src_bluetoothd_DEPENDENCIES) src/$(am__dirstamp) - @rm -f src/bluetoothd$(EXEEXT) - $(AM_V_CCLD)$(src_bluetoothd_LINK) $(src_bluetoothd_OBJECTS) $(src_bluetoothd_LDADD) $(LIBS) -tools/$(am__dirstamp): - @$(MKDIR_P) tools - @: > tools/$(am__dirstamp) -tools/$(DEPDIR)/$(am__dirstamp): - @$(MKDIR_P) tools/$(DEPDIR) - @: > tools/$(DEPDIR)/$(am__dirstamp) -tools/avinfo.$(OBJEXT): tools/$(am__dirstamp) \ - tools/$(DEPDIR)/$(am__dirstamp) -tools/avinfo$(EXEEXT): $(tools_avinfo_OBJECTS) $(tools_avinfo_DEPENDENCIES) $(EXTRA_tools_avinfo_DEPENDENCIES) tools/$(am__dirstamp) - @rm -f tools/avinfo$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(tools_avinfo_OBJECTS) $(tools_avinfo_LDADD) $(LIBS) -tools/avtest.$(OBJEXT): tools/$(am__dirstamp) \ - tools/$(DEPDIR)/$(am__dirstamp) -tools/avtest$(EXEEXT): $(tools_avtest_OBJECTS) $(tools_avtest_DEPENDENCIES) $(EXTRA_tools_avtest_DEPENDENCIES) tools/$(am__dirstamp) - @rm -f tools/avtest$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(tools_avtest_OBJECTS) $(tools_avtest_LDADD) $(LIBS) -tools/bccmd.$(OBJEXT): tools/$(am__dirstamp) \ - tools/$(DEPDIR)/$(am__dirstamp) -tools/csr.$(OBJEXT): tools/$(am__dirstamp) \ - tools/$(DEPDIR)/$(am__dirstamp) -tools/csr_hci.$(OBJEXT): tools/$(am__dirstamp) \ - tools/$(DEPDIR)/$(am__dirstamp) -tools/csr_h4.$(OBJEXT): tools/$(am__dirstamp) \ - tools/$(DEPDIR)/$(am__dirstamp) -tools/csr_3wire.$(OBJEXT): tools/$(am__dirstamp) \ - tools/$(DEPDIR)/$(am__dirstamp) -tools/csr_bcsp.$(OBJEXT): tools/$(am__dirstamp) \ - tools/$(DEPDIR)/$(am__dirstamp) -tools/ubcsp.$(OBJEXT): tools/$(am__dirstamp) \ - tools/$(DEPDIR)/$(am__dirstamp) -tools/csr_usb.$(OBJEXT): tools/$(am__dirstamp) \ - tools/$(DEPDIR)/$(am__dirstamp) -tools/bccmd$(EXEEXT): $(tools_bccmd_OBJECTS) $(tools_bccmd_DEPENDENCIES) $(EXTRA_tools_bccmd_DEPENDENCIES) tools/$(am__dirstamp) - @rm -f tools/bccmd$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(tools_bccmd_OBJECTS) $(tools_bccmd_LDADD) $(LIBS) -tools/bdaddr.$(OBJEXT): tools/$(am__dirstamp) \ - tools/$(DEPDIR)/$(am__dirstamp) -src/oui.$(OBJEXT): src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp) -tools/bdaddr$(EXEEXT): $(tools_bdaddr_OBJECTS) $(tools_bdaddr_DEPENDENCIES) $(EXTRA_tools_bdaddr_DEPENDENCIES) tools/$(am__dirstamp) - @rm -f tools/bdaddr$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(tools_bdaddr_OBJECTS) $(tools_bdaddr_LDADD) $(LIBS) -tools/btattach.$(OBJEXT): tools/$(am__dirstamp) \ - tools/$(DEPDIR)/$(am__dirstamp) -tools/btattach$(EXEEXT): $(tools_btattach_OBJECTS) $(tools_btattach_DEPENDENCIES) $(EXTRA_tools_btattach_DEPENDENCIES) tools/$(am__dirstamp) - @rm -f tools/btattach$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(tools_btattach_OBJECTS) $(tools_btattach_LDADD) $(LIBS) -tools/btiotest.$(OBJEXT): tools/$(am__dirstamp) \ - tools/$(DEPDIR)/$(am__dirstamp) -tools/btiotest$(EXEEXT): $(tools_btiotest_OBJECTS) $(tools_btiotest_DEPENDENCIES) $(EXTRA_tools_btiotest_DEPENDENCIES) tools/$(am__dirstamp) - @rm -f tools/btiotest$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(tools_btiotest_OBJECTS) $(tools_btiotest_LDADD) $(LIBS) -tools/btmgmt.$(OBJEXT): tools/$(am__dirstamp) \ - tools/$(DEPDIR)/$(am__dirstamp) -src/glib-helper.$(OBJEXT): src/$(am__dirstamp) \ - src/$(DEPDIR)/$(am__dirstamp) -src/eir.$(OBJEXT): src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp) -src/shared/util.$(OBJEXT): src/shared/$(am__dirstamp) \ - src/shared/$(DEPDIR)/$(am__dirstamp) -src/shared/mgmt.$(OBJEXT): src/shared/$(am__dirstamp) \ - src/shared/$(DEPDIR)/$(am__dirstamp) -tools/btmgmt$(EXEEXT): $(tools_btmgmt_OBJECTS) $(tools_btmgmt_DEPENDENCIES) $(EXTRA_tools_btmgmt_DEPENDENCIES) tools/$(am__dirstamp) - @rm -f tools/btmgmt$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(tools_btmgmt_OBJECTS) $(tools_btmgmt_LDADD) $(LIBS) -tools/btsnoop.$(OBJEXT): tools/$(am__dirstamp) \ - tools/$(DEPDIR)/$(am__dirstamp) -tools/btsnoop$(EXEEXT): $(tools_btsnoop_OBJECTS) $(tools_btsnoop_DEPENDENCIES) $(EXTRA_tools_btsnoop_DEPENDENCIES) tools/$(am__dirstamp) - @rm -f tools/btsnoop$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(tools_btsnoop_OBJECTS) $(tools_btsnoop_LDADD) $(LIBS) -tools/ciptool.$(OBJEXT): tools/$(am__dirstamp) \ - tools/$(DEPDIR)/$(am__dirstamp) -tools/ciptool$(EXEEXT): $(tools_ciptool_OBJECTS) $(tools_ciptool_DEPENDENCIES) $(EXTRA_tools_ciptool_DEPENDENCIES) tools/$(am__dirstamp) - @rm -f tools/ciptool$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(tools_ciptool_OBJECTS) $(tools_ciptool_LDADD) $(LIBS) -tools/gap-tester.$(OBJEXT): tools/$(am__dirstamp) \ - tools/$(DEPDIR)/$(am__dirstamp) -src/shared/hciemu.$(OBJEXT): src/shared/$(am__dirstamp) \ - src/shared/$(DEPDIR)/$(am__dirstamp) -src/shared/tester.$(OBJEXT): src/shared/$(am__dirstamp) \ - src/shared/$(DEPDIR)/$(am__dirstamp) -tools/gap-tester$(EXEEXT): $(tools_gap_tester_OBJECTS) $(tools_gap_tester_DEPENDENCIES) $(EXTRA_tools_gap_tester_DEPENDENCIES) tools/$(am__dirstamp) - @rm -f tools/gap-tester$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(tools_gap_tester_OBJECTS) $(tools_gap_tester_LDADD) $(LIBS) -tools/hciattach.$(OBJEXT): tools/$(am__dirstamp) \ - tools/$(DEPDIR)/$(am__dirstamp) -tools/hciattach_st.$(OBJEXT): tools/$(am__dirstamp) \ - tools/$(DEPDIR)/$(am__dirstamp) -tools/hciattach_ti.$(OBJEXT): tools/$(am__dirstamp) \ - tools/$(DEPDIR)/$(am__dirstamp) -tools/hciattach_tialt.$(OBJEXT): tools/$(am__dirstamp) \ - tools/$(DEPDIR)/$(am__dirstamp) -tools/hciattach_ath3k.$(OBJEXT): tools/$(am__dirstamp) \ - tools/$(DEPDIR)/$(am__dirstamp) -tools/hciattach_qualcomm.$(OBJEXT): tools/$(am__dirstamp) \ - tools/$(DEPDIR)/$(am__dirstamp) -tools/hciattach_intel.$(OBJEXT): tools/$(am__dirstamp) \ - tools/$(DEPDIR)/$(am__dirstamp) -tools/hciattach$(EXEEXT): $(tools_hciattach_OBJECTS) $(tools_hciattach_DEPENDENCIES) $(EXTRA_tools_hciattach_DEPENDENCIES) tools/$(am__dirstamp) - @rm -f tools/hciattach$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(tools_hciattach_OBJECTS) $(tools_hciattach_LDADD) $(LIBS) -tools/hciconfig.$(OBJEXT): tools/$(am__dirstamp) \ - tools/$(DEPDIR)/$(am__dirstamp) -tools/hciconfig$(EXEEXT): $(tools_hciconfig_OBJECTS) $(tools_hciconfig_DEPENDENCIES) $(EXTRA_tools_hciconfig_DEPENDENCIES) tools/$(am__dirstamp) - @rm -f tools/hciconfig$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(tools_hciconfig_OBJECTS) $(tools_hciconfig_LDADD) $(LIBS) -tools/hcidump.$(OBJEXT): tools/$(am__dirstamp) \ - tools/$(DEPDIR)/$(am__dirstamp) -tools/parser/$(am__dirstamp): - @$(MKDIR_P) tools/parser - @: > tools/parser/$(am__dirstamp) -tools/parser/$(DEPDIR)/$(am__dirstamp): - @$(MKDIR_P) tools/parser/$(DEPDIR) - @: > tools/parser/$(DEPDIR)/$(am__dirstamp) -tools/parser/parser.$(OBJEXT): tools/parser/$(am__dirstamp) \ - tools/parser/$(DEPDIR)/$(am__dirstamp) -tools/parser/lmp.$(OBJEXT): tools/parser/$(am__dirstamp) \ - tools/parser/$(DEPDIR)/$(am__dirstamp) -tools/parser/hci.$(OBJEXT): tools/parser/$(am__dirstamp) \ - tools/parser/$(DEPDIR)/$(am__dirstamp) -tools/parser/l2cap.$(OBJEXT): tools/parser/$(am__dirstamp) \ - tools/parser/$(DEPDIR)/$(am__dirstamp) -tools/parser/amp.$(OBJEXT): tools/parser/$(am__dirstamp) \ - tools/parser/$(DEPDIR)/$(am__dirstamp) -tools/parser/smp.$(OBJEXT): tools/parser/$(am__dirstamp) \ - tools/parser/$(DEPDIR)/$(am__dirstamp) -tools/parser/att.$(OBJEXT): tools/parser/$(am__dirstamp) \ - tools/parser/$(DEPDIR)/$(am__dirstamp) -tools/parser/sdp.$(OBJEXT): tools/parser/$(am__dirstamp) \ - tools/parser/$(DEPDIR)/$(am__dirstamp) -tools/parser/rfcomm.$(OBJEXT): tools/parser/$(am__dirstamp) \ - tools/parser/$(DEPDIR)/$(am__dirstamp) -tools/parser/bnep.$(OBJEXT): tools/parser/$(am__dirstamp) \ - tools/parser/$(DEPDIR)/$(am__dirstamp) -tools/parser/cmtp.$(OBJEXT): tools/parser/$(am__dirstamp) \ - tools/parser/$(DEPDIR)/$(am__dirstamp) -tools/parser/hidp.$(OBJEXT): tools/parser/$(am__dirstamp) \ - tools/parser/$(DEPDIR)/$(am__dirstamp) -tools/parser/hcrp.$(OBJEXT): tools/parser/$(am__dirstamp) \ - tools/parser/$(DEPDIR)/$(am__dirstamp) -tools/parser/avdtp.$(OBJEXT): tools/parser/$(am__dirstamp) \ - tools/parser/$(DEPDIR)/$(am__dirstamp) -tools/parser/avctp.$(OBJEXT): tools/parser/$(am__dirstamp) \ - tools/parser/$(DEPDIR)/$(am__dirstamp) -tools/parser/avrcp.$(OBJEXT): tools/parser/$(am__dirstamp) \ - tools/parser/$(DEPDIR)/$(am__dirstamp) -tools/parser/sap.$(OBJEXT): tools/parser/$(am__dirstamp) \ - tools/parser/$(DEPDIR)/$(am__dirstamp) -tools/parser/obex.$(OBJEXT): tools/parser/$(am__dirstamp) \ - tools/parser/$(DEPDIR)/$(am__dirstamp) -tools/parser/capi.$(OBJEXT): tools/parser/$(am__dirstamp) \ - tools/parser/$(DEPDIR)/$(am__dirstamp) -tools/parser/ppp.$(OBJEXT): tools/parser/$(am__dirstamp) \ - tools/parser/$(DEPDIR)/$(am__dirstamp) -tools/parser/tcpip.$(OBJEXT): tools/parser/$(am__dirstamp) \ - tools/parser/$(DEPDIR)/$(am__dirstamp) -tools/parser/ericsson.$(OBJEXT): tools/parser/$(am__dirstamp) \ - tools/parser/$(DEPDIR)/$(am__dirstamp) -tools/parser/csr.$(OBJEXT): tools/parser/$(am__dirstamp) \ - tools/parser/$(DEPDIR)/$(am__dirstamp) -tools/parser/bpa.$(OBJEXT): tools/parser/$(am__dirstamp) \ - tools/parser/$(DEPDIR)/$(am__dirstamp) -tools/hcidump$(EXEEXT): $(tools_hcidump_OBJECTS) $(tools_hcidump_DEPENDENCIES) $(EXTRA_tools_hcidump_DEPENDENCIES) tools/$(am__dirstamp) - @rm -f tools/hcidump$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(tools_hcidump_OBJECTS) $(tools_hcidump_LDADD) $(LIBS) -tools/hcieventmask.$(OBJEXT): tools/$(am__dirstamp) \ - tools/$(DEPDIR)/$(am__dirstamp) -tools/hcieventmask$(EXEEXT): $(tools_hcieventmask_OBJECTS) $(tools_hcieventmask_DEPENDENCIES) $(EXTRA_tools_hcieventmask_DEPENDENCIES) tools/$(am__dirstamp) - @rm -f tools/hcieventmask$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(tools_hcieventmask_OBJECTS) $(tools_hcieventmask_LDADD) $(LIBS) -tools/hcisecfilter.$(OBJEXT): tools/$(am__dirstamp) \ - tools/$(DEPDIR)/$(am__dirstamp) -tools/hcisecfilter$(EXEEXT): $(tools_hcisecfilter_OBJECTS) $(tools_hcisecfilter_DEPENDENCIES) $(EXTRA_tools_hcisecfilter_DEPENDENCIES) tools/$(am__dirstamp) - @rm -f tools/hcisecfilter$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(tools_hcisecfilter_OBJECTS) $(tools_hcisecfilter_LDADD) $(LIBS) -tools/hcitool.$(OBJEXT): tools/$(am__dirstamp) \ - tools/$(DEPDIR)/$(am__dirstamp) -tools/hcitool$(EXEEXT): $(tools_hcitool_OBJECTS) $(tools_hcitool_DEPENDENCIES) $(EXTRA_tools_hcitool_DEPENDENCIES) tools/$(am__dirstamp) - @rm -f tools/hcitool$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(tools_hcitool_OBJECTS) $(tools_hcitool_LDADD) $(LIBS) -tools/hid2hci.$(OBJEXT): tools/$(am__dirstamp) \ - tools/$(DEPDIR)/$(am__dirstamp) -tools/hid2hci$(EXEEXT): $(tools_hid2hci_OBJECTS) $(tools_hid2hci_DEPENDENCIES) $(EXTRA_tools_hid2hci_DEPENDENCIES) tools/$(am__dirstamp) - @rm -f tools/hid2hci$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(tools_hid2hci_OBJECTS) $(tools_hid2hci_LDADD) $(LIBS) -tools/hwdb.$(OBJEXT): tools/$(am__dirstamp) \ - tools/$(DEPDIR)/$(am__dirstamp) -tools/hwdb$(EXEEXT): $(tools_hwdb_OBJECTS) $(tools_hwdb_DEPENDENCIES) $(EXTRA_tools_hwdb_DEPENDENCIES) tools/$(am__dirstamp) - @rm -f tools/hwdb$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(tools_hwdb_OBJECTS) $(tools_hwdb_LDADD) $(LIBS) -tools/l2ping.$(OBJEXT): tools/$(am__dirstamp) \ - tools/$(DEPDIR)/$(am__dirstamp) -tools/l2ping$(EXEEXT): $(tools_l2ping_OBJECTS) $(tools_l2ping_DEPENDENCIES) $(EXTRA_tools_l2ping_DEPENDENCIES) tools/$(am__dirstamp) - @rm -f tools/l2ping$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(tools_l2ping_OBJECTS) $(tools_l2ping_LDADD) $(LIBS) -tools/l2test.$(OBJEXT): tools/$(am__dirstamp) \ - tools/$(DEPDIR)/$(am__dirstamp) -tools/l2test$(EXEEXT): $(tools_l2test_OBJECTS) $(tools_l2test_DEPENDENCIES) $(EXTRA_tools_l2test_DEPENDENCIES) tools/$(am__dirstamp) - @rm -f tools/l2test$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(tools_l2test_OBJECTS) $(tools_l2test_LDADD) $(LIBS) -tools/mgmt-tester.$(OBJEXT): tools/$(am__dirstamp) \ - tools/$(DEPDIR)/$(am__dirstamp) -tools/mgmt-tester$(EXEEXT): $(tools_mgmt_tester_OBJECTS) $(tools_mgmt_tester_DEPENDENCIES) $(EXTRA_tools_mgmt_tester_DEPENDENCIES) tools/$(am__dirstamp) - @rm -f tools/mgmt-tester$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(tools_mgmt_tester_OBJECTS) $(tools_mgmt_tester_LDADD) $(LIBS) -tools/mpris-player.$(OBJEXT): tools/$(am__dirstamp) \ - tools/$(DEPDIR)/$(am__dirstamp) -tools/mpris-player$(EXEEXT): $(tools_mpris_player_OBJECTS) $(tools_mpris_player_DEPENDENCIES) $(EXTRA_tools_mpris_player_DEPENDENCIES) tools/$(am__dirstamp) - @rm -f tools/mpris-player$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(tools_mpris_player_OBJECTS) $(tools_mpris_player_LDADD) $(LIBS) -gobex/gobex.$(OBJEXT): gobex/$(am__dirstamp) \ - gobex/$(DEPDIR)/$(am__dirstamp) -gobex/gobex-defs.$(OBJEXT): gobex/$(am__dirstamp) \ - gobex/$(DEPDIR)/$(am__dirstamp) -gobex/gobex-packet.$(OBJEXT): gobex/$(am__dirstamp) \ - gobex/$(DEPDIR)/$(am__dirstamp) -gobex/gobex-header.$(OBJEXT): gobex/$(am__dirstamp) \ - gobex/$(DEPDIR)/$(am__dirstamp) -gobex/gobex-transfer.$(OBJEXT): gobex/$(am__dirstamp) \ - gobex/$(DEPDIR)/$(am__dirstamp) -gobex/gobex-apparam.$(OBJEXT): gobex/$(am__dirstamp) \ - gobex/$(DEPDIR)/$(am__dirstamp) -tools/obex-client-tool.$(OBJEXT): tools/$(am__dirstamp) \ - tools/$(DEPDIR)/$(am__dirstamp) -tools/obex-client-tool$(EXEEXT): $(tools_obex_client_tool_OBJECTS) $(tools_obex_client_tool_DEPENDENCIES) $(EXTRA_tools_obex_client_tool_DEPENDENCIES) tools/$(am__dirstamp) - @rm -f tools/obex-client-tool$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(tools_obex_client_tool_OBJECTS) $(tools_obex_client_tool_LDADD) $(LIBS) -tools/obex-server-tool.$(OBJEXT): tools/$(am__dirstamp) \ - tools/$(DEPDIR)/$(am__dirstamp) -tools/obex-server-tool$(EXEEXT): $(tools_obex_server_tool_OBJECTS) $(tools_obex_server_tool_DEPENDENCIES) $(EXTRA_tools_obex_server_tool_DEPENDENCIES) tools/$(am__dirstamp) - @rm -f tools/obex-server-tool$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(tools_obex_server_tool_OBJECTS) $(tools_obex_server_tool_LDADD) $(LIBS) -tools/rctest.$(OBJEXT): tools/$(am__dirstamp) \ - tools/$(DEPDIR)/$(am__dirstamp) -tools/rctest$(EXEEXT): $(tools_rctest_OBJECTS) $(tools_rctest_DEPENDENCIES) $(EXTRA_tools_rctest_DEPENDENCIES) tools/$(am__dirstamp) - @rm -f tools/rctest$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(tools_rctest_OBJECTS) $(tools_rctest_LDADD) $(LIBS) -tools/rfcomm.$(OBJEXT): tools/$(am__dirstamp) \ - tools/$(DEPDIR)/$(am__dirstamp) -tools/rfcomm$(EXEEXT): $(tools_rfcomm_OBJECTS) $(tools_rfcomm_DEPENDENCIES) $(EXTRA_tools_rfcomm_DEPENDENCIES) tools/$(am__dirstamp) - @rm -f tools/rfcomm$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(tools_rfcomm_OBJECTS) $(tools_rfcomm_LDADD) $(LIBS) -tools/scotest.$(OBJEXT): tools/$(am__dirstamp) \ - tools/$(DEPDIR)/$(am__dirstamp) -tools/scotest$(EXEEXT): $(tools_scotest_OBJECTS) $(tools_scotest_DEPENDENCIES) $(EXTRA_tools_scotest_DEPENDENCIES) tools/$(am__dirstamp) - @rm -f tools/scotest$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(tools_scotest_OBJECTS) $(tools_scotest_LDADD) $(LIBS) -tools/sdptool.$(OBJEXT): tools/$(am__dirstamp) \ - tools/$(DEPDIR)/$(am__dirstamp) -src/sdp-xml.$(OBJEXT): src/$(am__dirstamp) \ - src/$(DEPDIR)/$(am__dirstamp) -tools/sdptool$(EXEEXT): $(tools_sdptool_OBJECTS) $(tools_sdptool_DEPENDENCIES) $(EXTRA_tools_sdptool_DEPENDENCIES) tools/$(am__dirstamp) - @rm -f tools/sdptool$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(tools_sdptool_OBJECTS) $(tools_sdptool_LDADD) $(LIBS) -unit/$(am__dirstamp): - @$(MKDIR_P) unit - @: > unit/$(am__dirstamp) -unit/$(DEPDIR)/$(am__dirstamp): - @$(MKDIR_P) unit/$(DEPDIR) - @: > unit/$(DEPDIR)/$(am__dirstamp) -unit/test-eir.$(OBJEXT): unit/$(am__dirstamp) \ - unit/$(DEPDIR)/$(am__dirstamp) -unit/test-eir$(EXEEXT): $(unit_test_eir_OBJECTS) $(unit_test_eir_DEPENDENCIES) $(EXTRA_unit_test_eir_DEPENDENCIES) unit/$(am__dirstamp) - @rm -f unit/test-eir$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(unit_test_eir_OBJECTS) $(unit_test_eir_LDADD) $(LIBS) -unit/test-gdbus-client.$(OBJEXT): unit/$(am__dirstamp) \ - unit/$(DEPDIR)/$(am__dirstamp) -unit/test-gdbus-client$(EXEEXT): $(unit_test_gdbus_client_OBJECTS) $(unit_test_gdbus_client_DEPENDENCIES) $(EXTRA_unit_test_gdbus_client_DEPENDENCIES) unit/$(am__dirstamp) - @rm -f unit/test-gdbus-client$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(unit_test_gdbus_client_OBJECTS) $(unit_test_gdbus_client_LDADD) $(LIBS) -unit/util.$(OBJEXT): unit/$(am__dirstamp) \ - unit/$(DEPDIR)/$(am__dirstamp) -unit/test-gobex.$(OBJEXT): unit/$(am__dirstamp) \ - unit/$(DEPDIR)/$(am__dirstamp) -unit/test-gobex$(EXEEXT): $(unit_test_gobex_OBJECTS) $(unit_test_gobex_DEPENDENCIES) $(EXTRA_unit_test_gobex_DEPENDENCIES) unit/$(am__dirstamp) - @rm -f unit/test-gobex$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(unit_test_gobex_OBJECTS) $(unit_test_gobex_LDADD) $(LIBS) -unit/test-gobex-apparam.$(OBJEXT): unit/$(am__dirstamp) \ - unit/$(DEPDIR)/$(am__dirstamp) -unit/test-gobex-apparam$(EXEEXT): $(unit_test_gobex_apparam_OBJECTS) $(unit_test_gobex_apparam_DEPENDENCIES) $(EXTRA_unit_test_gobex_apparam_DEPENDENCIES) unit/$(am__dirstamp) - @rm -f unit/test-gobex-apparam$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(unit_test_gobex_apparam_OBJECTS) $(unit_test_gobex_apparam_LDADD) $(LIBS) -unit/test-gobex-header.$(OBJEXT): unit/$(am__dirstamp) \ - unit/$(DEPDIR)/$(am__dirstamp) -unit/test-gobex-header$(EXEEXT): $(unit_test_gobex_header_OBJECTS) $(unit_test_gobex_header_DEPENDENCIES) $(EXTRA_unit_test_gobex_header_DEPENDENCIES) unit/$(am__dirstamp) - @rm -f unit/test-gobex-header$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(unit_test_gobex_header_OBJECTS) $(unit_test_gobex_header_LDADD) $(LIBS) -unit/test-gobex-packet.$(OBJEXT): unit/$(am__dirstamp) \ - unit/$(DEPDIR)/$(am__dirstamp) -unit/test-gobex-packet$(EXEEXT): $(unit_test_gobex_packet_OBJECTS) $(unit_test_gobex_packet_DEPENDENCIES) $(EXTRA_unit_test_gobex_packet_DEPENDENCIES) unit/$(am__dirstamp) - @rm -f unit/test-gobex-packet$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(unit_test_gobex_packet_OBJECTS) $(unit_test_gobex_packet_LDADD) $(LIBS) -unit/test-gobex-transfer.$(OBJEXT): unit/$(am__dirstamp) \ - unit/$(DEPDIR)/$(am__dirstamp) -unit/test-gobex-transfer$(EXEEXT): $(unit_test_gobex_transfer_OBJECTS) $(unit_test_gobex_transfer_DEPENDENCIES) $(EXTRA_unit_test_gobex_transfer_DEPENDENCIES) unit/$(am__dirstamp) - @rm -f unit/test-gobex-transfer$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(unit_test_gobex_transfer_OBJECTS) $(unit_test_gobex_transfer_LDADD) $(LIBS) -unit/test-lib.$(OBJEXT): unit/$(am__dirstamp) \ - unit/$(DEPDIR)/$(am__dirstamp) -unit/test-lib$(EXEEXT): $(unit_test_lib_OBJECTS) $(unit_test_lib_DEPENDENCIES) $(EXTRA_unit_test_lib_DEPENDENCIES) unit/$(am__dirstamp) - @rm -f unit/test-lib$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(unit_test_lib_OBJECTS) $(unit_test_lib_LDADD) $(LIBS) -unit/test-mgmt.$(OBJEXT): unit/$(am__dirstamp) \ - unit/$(DEPDIR)/$(am__dirstamp) -unit/test-mgmt$(EXEEXT): $(unit_test_mgmt_OBJECTS) $(unit_test_mgmt_DEPENDENCIES) $(EXTRA_unit_test_mgmt_DEPENDENCIES) unit/$(am__dirstamp) - @rm -f unit/test-mgmt$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(unit_test_mgmt_OBJECTS) $(unit_test_mgmt_LDADD) $(LIBS) -unit/test-sdp.$(OBJEXT): unit/$(am__dirstamp) \ - unit/$(DEPDIR)/$(am__dirstamp) -src/sdpd-database.$(OBJEXT): src/$(am__dirstamp) \ - src/$(DEPDIR)/$(am__dirstamp) -src/sdpd-service.$(OBJEXT): src/$(am__dirstamp) \ - src/$(DEPDIR)/$(am__dirstamp) -src/sdpd-request.$(OBJEXT): src/$(am__dirstamp) \ - src/$(DEPDIR)/$(am__dirstamp) -unit/test-sdp$(EXEEXT): $(unit_test_sdp_OBJECTS) $(unit_test_sdp_DEPENDENCIES) $(EXTRA_unit_test_sdp_DEPENDENCIES) unit/$(am__dirstamp) - @rm -f unit/test-sdp$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(unit_test_sdp_OBJECTS) $(unit_test_sdp_LDADD) $(LIBS) -unit/test-textfile.$(OBJEXT): unit/$(am__dirstamp) \ - unit/$(DEPDIR)/$(am__dirstamp) -src/textfile.$(OBJEXT): src/$(am__dirstamp) \ - src/$(DEPDIR)/$(am__dirstamp) -unit/test-textfile$(EXEEXT): $(unit_test_textfile_OBJECTS) $(unit_test_textfile_DEPENDENCIES) $(EXTRA_unit_test_textfile_DEPENDENCIES) unit/$(am__dirstamp) - @rm -f unit/test-textfile$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(unit_test_textfile_OBJECTS) $(unit_test_textfile_LDADD) $(LIBS) -unit/test-uuid.$(OBJEXT): unit/$(am__dirstamp) \ - unit/$(DEPDIR)/$(am__dirstamp) -unit/test-uuid$(EXEEXT): $(unit_test_uuid_OBJECTS) $(unit_test_uuid_DEPENDENCIES) $(EXTRA_unit_test_uuid_DEPENDENCIES) unit/$(am__dirstamp) - @rm -f unit/test-uuid$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(unit_test_uuid_OBJECTS) $(unit_test_uuid_LDADD) $(LIBS) -install-testSCRIPTS: $(test_SCRIPTS) - @$(NORMAL_INSTALL) - @list='$(test_SCRIPTS)'; test -n "$(testdir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(testdir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(testdir)" || exit 1; \ - fi; \ - for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - if test -f "$$d$$p"; then echo "$$d$$p"; echo "$$p"; else :; fi; \ - done | \ - sed -e 'p;s,.*/,,;n' \ - -e 'h;s|.*|.|' \ - -e 'p;x;s,.*/,,;$(transform)' | sed 'N;N;N;s,\n, ,g' | \ - $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1; } \ - { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \ - if ($$2 == $$4) { files[d] = files[d] " " $$1; \ - if (++n[d] == $(am__install_max)) { \ - print "f", d, files[d]; n[d] = 0; files[d] = "" } } \ - else { print "f", d "/" $$4, $$1 } } \ - END { for (d in files) print "f", d, files[d] }' | \ - while read type dir files; do \ - if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \ - test -z "$$files" || { \ - echo " $(INSTALL_SCRIPT) $$files '$(DESTDIR)$(testdir)$$dir'"; \ - $(INSTALL_SCRIPT) $$files "$(DESTDIR)$(testdir)$$dir" || exit $$?; \ - } \ - ; done - -uninstall-testSCRIPTS: - @$(NORMAL_UNINSTALL) - @list='$(test_SCRIPTS)'; test -n "$(testdir)" || exit 0; \ - files=`for p in $$list; do echo "$$p"; done | \ - sed -e 's,.*/,,;$(transform)'`; \ - dir='$(DESTDIR)$(testdir)'; $(am__uninstall_files_from_dir) - -mostlyclean-compile: - -rm -f *.$(OBJEXT) - -rm -f attrib/att.$(OBJEXT) - -rm -f attrib/bluetoothd-att.$(OBJEXT) - -rm -f attrib/bluetoothd-gatt-service.$(OBJEXT) - -rm -f attrib/bluetoothd-gatt.$(OBJEXT) - -rm -f attrib/bluetoothd-gattrib.$(OBJEXT) - -rm -f attrib/gatt.$(OBJEXT) - -rm -f attrib/gattrib.$(OBJEXT) - -rm -f attrib/gatttool.$(OBJEXT) - -rm -f attrib/interactive.$(OBJEXT) - -rm -f attrib/utils.$(OBJEXT) - -rm -f btio/bluetoothd-btio.$(OBJEXT) - -rm -f btio/btio.$(OBJEXT) - -rm -f btio/obexd-btio.$(OBJEXT) - -rm -f client/agent.$(OBJEXT) - -rm -f client/display.$(OBJEXT) - -rm -f client/main.$(OBJEXT) - -rm -f emulator/b1ee.$(OBJEXT) - -rm -f emulator/btdev.$(OBJEXT) - -rm -f emulator/bthost.$(OBJEXT) - -rm -f emulator/main.$(OBJEXT) - -rm -f emulator/server.$(OBJEXT) - -rm -f emulator/vhci.$(OBJEXT) - -rm -f gdbus/bluetoothd-client.$(OBJEXT) - -rm -f gdbus/bluetoothd-mainloop.$(OBJEXT) - -rm -f gdbus/bluetoothd-object.$(OBJEXT) - -rm -f gdbus/bluetoothd-polkit.$(OBJEXT) - -rm -f gdbus/bluetoothd-watch.$(OBJEXT) - -rm -f gdbus/client.$(OBJEXT) - -rm -f gdbus/mainloop.$(OBJEXT) - -rm -f gdbus/obexd-client.$(OBJEXT) - -rm -f gdbus/obexd-mainloop.$(OBJEXT) - -rm -f gdbus/obexd-object.$(OBJEXT) - -rm -f gdbus/obexd-polkit.$(OBJEXT) - -rm -f gdbus/obexd-watch.$(OBJEXT) - -rm -f gdbus/object.$(OBJEXT) - -rm -f gdbus/polkit.$(OBJEXT) - -rm -f gdbus/watch.$(OBJEXT) - -rm -f gobex/gobex-apparam.$(OBJEXT) - -rm -f gobex/gobex-defs.$(OBJEXT) - -rm -f gobex/gobex-header.$(OBJEXT) - -rm -f gobex/gobex-packet.$(OBJEXT) - -rm -f gobex/gobex-transfer.$(OBJEXT) - -rm -f gobex/gobex.$(OBJEXT) - -rm -f gobex/obexd-gobex-apparam.$(OBJEXT) - -rm -f gobex/obexd-gobex-defs.$(OBJEXT) - -rm -f gobex/obexd-gobex-header.$(OBJEXT) - -rm -f gobex/obexd-gobex-packet.$(OBJEXT) - -rm -f gobex/obexd-gobex-transfer.$(OBJEXT) - -rm -f gobex/obexd-gobex.$(OBJEXT) - -rm -f lib/bluetooth.$(OBJEXT) - -rm -f lib/bluetooth.lo - -rm -f lib/hci.$(OBJEXT) - -rm -f lib/hci.lo - -rm -f lib/sdp.$(OBJEXT) - -rm -f lib/sdp.lo - -rm -f lib/uuid.$(OBJEXT) - -rm -f lib/uuid.lo - -rm -f monitor/btsnoop.$(OBJEXT) - -rm -f monitor/control.$(OBJEXT) - -rm -f monitor/display.$(OBJEXT) - -rm -f monitor/hcidump.$(OBJEXT) - -rm -f monitor/l2cap.$(OBJEXT) - -rm -f monitor/main.$(OBJEXT) - -rm -f monitor/mainloop.$(OBJEXT) - -rm -f monitor/packet.$(OBJEXT) - -rm -f monitor/sdp.$(OBJEXT) - -rm -f monitor/uuid.$(OBJEXT) - -rm -f obexd/client/obexd-bluetooth.$(OBJEXT) - -rm -f obexd/client/obexd-dbus.$(OBJEXT) - -rm -f obexd/client/obexd-driver.$(OBJEXT) - -rm -f obexd/client/obexd-ftp.$(OBJEXT) - -rm -f obexd/client/obexd-manager.$(OBJEXT) - -rm -f obexd/client/obexd-map.$(OBJEXT) - -rm -f obexd/client/obexd-mns.$(OBJEXT) - -rm -f obexd/client/obexd-opp.$(OBJEXT) - -rm -f obexd/client/obexd-pbap.$(OBJEXT) - -rm -f obexd/client/obexd-session.$(OBJEXT) - -rm -f obexd/client/obexd-sync.$(OBJEXT) - -rm -f obexd/client/obexd-transfer.$(OBJEXT) - -rm -f obexd/client/obexd-transport.$(OBJEXT) - -rm -f obexd/plugins/obexd-bluetooth.$(OBJEXT) - -rm -f obexd/plugins/obexd-filesystem.$(OBJEXT) - -rm -f obexd/plugins/obexd-ftp.$(OBJEXT) - -rm -f obexd/plugins/obexd-irmc.$(OBJEXT) - -rm -f obexd/plugins/obexd-mas.$(OBJEXT) - -rm -f obexd/plugins/obexd-messages-dummy.$(OBJEXT) - -rm -f obexd/plugins/obexd-opp.$(OBJEXT) - -rm -f obexd/plugins/obexd-pbap.$(OBJEXT) - -rm -f obexd/plugins/obexd-pcsuite.$(OBJEXT) - -rm -f obexd/plugins/obexd-phonebook-dummy.$(OBJEXT) - -rm -f obexd/plugins/obexd-vcard.$(OBJEXT) - -rm -f obexd/src/obexd-log.$(OBJEXT) - -rm -f obexd/src/obexd-main.$(OBJEXT) - -rm -f obexd/src/obexd-manager.$(OBJEXT) - -rm -f obexd/src/obexd-mimetype.$(OBJEXT) - -rm -f obexd/src/obexd-obex.$(OBJEXT) - -rm -f obexd/src/obexd-plugin.$(OBJEXT) - -rm -f obexd/src/obexd-server.$(OBJEXT) - -rm -f obexd/src/obexd-service.$(OBJEXT) - -rm -f obexd/src/obexd-transport.$(OBJEXT) - -rm -f plugins/bluetoothd-gatt-example.$(OBJEXT) - -rm -f plugins/bluetoothd-hostname.$(OBJEXT) - -rm -f plugins/bluetoothd-neard.$(OBJEXT) - -rm -f plugins/bluetoothd-wiimote.$(OBJEXT) - -rm -f plugins/plugins_external_dummy_la-external-dummy.$(OBJEXT) - -rm -f plugins/plugins_external_dummy_la-external-dummy.lo - -rm -f profiles/alert/bluetoothd-server.$(OBJEXT) - -rm -f profiles/audio/bluetoothd-a2dp.$(OBJEXT) - -rm -f profiles/audio/bluetoothd-avctp.$(OBJEXT) - -rm -f profiles/audio/bluetoothd-avdtp.$(OBJEXT) - -rm -f profiles/audio/bluetoothd-avrcp.$(OBJEXT) - -rm -f profiles/audio/bluetoothd-control.$(OBJEXT) - -rm -f profiles/audio/bluetoothd-device.$(OBJEXT) - -rm -f profiles/audio/bluetoothd-main.$(OBJEXT) - -rm -f profiles/audio/bluetoothd-manager.$(OBJEXT) - -rm -f profiles/audio/bluetoothd-media.$(OBJEXT) - -rm -f profiles/audio/bluetoothd-player.$(OBJEXT) - -rm -f profiles/audio/bluetoothd-sink.$(OBJEXT) - -rm -f profiles/audio/bluetoothd-source.$(OBJEXT) - -rm -f profiles/audio/bluetoothd-transport.$(OBJEXT) - -rm -f profiles/cups/hcrp.$(OBJEXT) - -rm -f profiles/cups/main.$(OBJEXT) - -rm -f profiles/cups/sdp.$(OBJEXT) - -rm -f profiles/cups/spp.$(OBJEXT) - -rm -f profiles/cyclingspeed/bluetoothd-cyclingspeed.$(OBJEXT) - -rm -f profiles/deviceinfo/bluetoothd-deviceinfo.$(OBJEXT) - -rm -f profiles/gatt/bluetoothd-gas.$(OBJEXT) - -rm -f profiles/health/bluetoothd-hdp.$(OBJEXT) - -rm -f profiles/health/bluetoothd-hdp_main.$(OBJEXT) - -rm -f profiles/health/bluetoothd-hdp_manager.$(OBJEXT) - -rm -f profiles/health/bluetoothd-hdp_util.$(OBJEXT) - -rm -f profiles/health/bluetoothd-mcap.$(OBJEXT) - -rm -f profiles/health/bluetoothd-mcap_sync.$(OBJEXT) - -rm -f profiles/heartrate/bluetoothd-heartrate.$(OBJEXT) - -rm -f profiles/iap/main.$(OBJEXT) - -rm -f profiles/input/bluetoothd-device.$(OBJEXT) - -rm -f profiles/input/bluetoothd-hog.$(OBJEXT) - -rm -f profiles/input/bluetoothd-manager.$(OBJEXT) - -rm -f profiles/input/bluetoothd-server.$(OBJEXT) - -rm -f profiles/input/bluetoothd-suspend-dummy.$(OBJEXT) - -rm -f profiles/network/bluetoothd-common.$(OBJEXT) - -rm -f profiles/network/bluetoothd-connection.$(OBJEXT) - -rm -f profiles/network/bluetoothd-manager.$(OBJEXT) - -rm -f profiles/network/bluetoothd-server.$(OBJEXT) - -rm -f profiles/proximity/bluetoothd-immalert.$(OBJEXT) - -rm -f profiles/proximity/bluetoothd-linkloss.$(OBJEXT) - -rm -f profiles/proximity/bluetoothd-main.$(OBJEXT) - -rm -f profiles/proximity/bluetoothd-manager.$(OBJEXT) - -rm -f profiles/proximity/bluetoothd-monitor.$(OBJEXT) - -rm -f profiles/proximity/bluetoothd-reporter.$(OBJEXT) - -rm -f profiles/sap/bluetoothd-main.$(OBJEXT) - -rm -f profiles/sap/bluetoothd-manager.$(OBJEXT) - -rm -f profiles/sap/bluetoothd-sap-dummy.$(OBJEXT) - -rm -f profiles/sap/bluetoothd-server.$(OBJEXT) - -rm -f profiles/sap/sap-u8500.$(OBJEXT) - -rm -f profiles/scanparam/bluetoothd-scan.$(OBJEXT) - -rm -f profiles/thermometer/bluetoothd-thermometer.$(OBJEXT) - -rm -f profiles/time/bluetoothd-server.$(OBJEXT) - -rm -f src/bluetoothd-adapter.$(OBJEXT) - -rm -f src/bluetoothd-agent.$(OBJEXT) - -rm -f src/bluetoothd-attrib-server.$(OBJEXT) - -rm -f src/bluetoothd-dbus-common.$(OBJEXT) - -rm -f src/bluetoothd-device.$(OBJEXT) - -rm -f src/bluetoothd-eir.$(OBJEXT) - -rm -f src/bluetoothd-error.$(OBJEXT) - -rm -f src/bluetoothd-glib-helper.$(OBJEXT) - -rm -f src/bluetoothd-log.$(OBJEXT) - -rm -f src/bluetoothd-main.$(OBJEXT) - -rm -f src/bluetoothd-plugin.$(OBJEXT) - -rm -f src/bluetoothd-profile.$(OBJEXT) - -rm -f src/bluetoothd-rfkill.$(OBJEXT) - -rm -f src/bluetoothd-sdp-client.$(OBJEXT) - -rm -f src/bluetoothd-sdp-xml.$(OBJEXT) - -rm -f src/bluetoothd-sdpd-database.$(OBJEXT) - -rm -f src/bluetoothd-sdpd-request.$(OBJEXT) - -rm -f src/bluetoothd-sdpd-server.$(OBJEXT) - -rm -f src/bluetoothd-sdpd-service.$(OBJEXT) - -rm -f src/bluetoothd-storage.$(OBJEXT) - -rm -f src/bluetoothd-systemd.$(OBJEXT) - -rm -f src/bluetoothd-textfile.$(OBJEXT) - -rm -f src/eir.$(OBJEXT) - -rm -f src/glib-helper.$(OBJEXT) - -rm -f src/log.$(OBJEXT) - -rm -f src/oui.$(OBJEXT) - -rm -f src/sdp-xml.$(OBJEXT) - -rm -f src/sdpd-database.$(OBJEXT) - -rm -f src/sdpd-request.$(OBJEXT) - -rm -f src/sdpd-service.$(OBJEXT) - -rm -f src/shared/bluetoothd-mgmt.$(OBJEXT) - -rm -f src/shared/bluetoothd-util.$(OBJEXT) - -rm -f src/shared/hciemu.$(OBJEXT) - -rm -f src/shared/mgmt.$(OBJEXT) - -rm -f src/shared/tester.$(OBJEXT) - -rm -f src/shared/util.$(OBJEXT) - -rm -f src/textfile.$(OBJEXT) - -rm -f tools/avinfo.$(OBJEXT) - -rm -f tools/avtest.$(OBJEXT) - -rm -f tools/bccmd.$(OBJEXT) - -rm -f tools/bdaddr.$(OBJEXT) - -rm -f tools/btattach.$(OBJEXT) - -rm -f tools/btiotest.$(OBJEXT) - -rm -f tools/btmgmt.$(OBJEXT) - -rm -f tools/btsnoop.$(OBJEXT) - -rm -f tools/ciptool.$(OBJEXT) - -rm -f tools/csr.$(OBJEXT) - -rm -f tools/csr_3wire.$(OBJEXT) - -rm -f tools/csr_bcsp.$(OBJEXT) - -rm -f tools/csr_h4.$(OBJEXT) - -rm -f tools/csr_hci.$(OBJEXT) - -rm -f tools/csr_usb.$(OBJEXT) - -rm -f tools/gap-tester.$(OBJEXT) - -rm -f tools/hciattach.$(OBJEXT) - -rm -f tools/hciattach_ath3k.$(OBJEXT) - -rm -f tools/hciattach_intel.$(OBJEXT) - -rm -f tools/hciattach_qualcomm.$(OBJEXT) - -rm -f tools/hciattach_st.$(OBJEXT) - -rm -f tools/hciattach_ti.$(OBJEXT) - -rm -f tools/hciattach_tialt.$(OBJEXT) - -rm -f tools/hciconfig.$(OBJEXT) - -rm -f tools/hcidump.$(OBJEXT) - -rm -f tools/hcieventmask.$(OBJEXT) - -rm -f tools/hcisecfilter.$(OBJEXT) - -rm -f tools/hcitool.$(OBJEXT) - -rm -f tools/hid2hci.$(OBJEXT) - -rm -f tools/hwdb.$(OBJEXT) - -rm -f tools/l2ping.$(OBJEXT) - -rm -f tools/l2test.$(OBJEXT) - -rm -f tools/mgmt-tester.$(OBJEXT) - -rm -f tools/mpris-player.$(OBJEXT) - -rm -f tools/obex-client-tool.$(OBJEXT) - -rm -f tools/obex-server-tool.$(OBJEXT) - -rm -f tools/parser/amp.$(OBJEXT) - -rm -f tools/parser/att.$(OBJEXT) - -rm -f tools/parser/avctp.$(OBJEXT) - -rm -f tools/parser/avdtp.$(OBJEXT) - -rm -f tools/parser/avrcp.$(OBJEXT) - -rm -f tools/parser/bnep.$(OBJEXT) - -rm -f tools/parser/bpa.$(OBJEXT) - -rm -f tools/parser/capi.$(OBJEXT) - -rm -f tools/parser/cmtp.$(OBJEXT) - -rm -f tools/parser/csr.$(OBJEXT) - -rm -f tools/parser/ericsson.$(OBJEXT) - -rm -f tools/parser/hci.$(OBJEXT) - -rm -f tools/parser/hcrp.$(OBJEXT) - -rm -f tools/parser/hidp.$(OBJEXT) - -rm -f tools/parser/l2cap.$(OBJEXT) - -rm -f tools/parser/lmp.$(OBJEXT) - -rm -f tools/parser/obex.$(OBJEXT) - -rm -f tools/parser/parser.$(OBJEXT) - -rm -f tools/parser/ppp.$(OBJEXT) - -rm -f tools/parser/rfcomm.$(OBJEXT) - -rm -f tools/parser/sap.$(OBJEXT) - -rm -f tools/parser/sdp.$(OBJEXT) - -rm -f tools/parser/smp.$(OBJEXT) - -rm -f tools/parser/tcpip.$(OBJEXT) - -rm -f tools/rctest.$(OBJEXT) - -rm -f tools/rfcomm.$(OBJEXT) - -rm -f tools/scotest.$(OBJEXT) - -rm -f tools/sdptool.$(OBJEXT) - -rm -f tools/ubcsp.$(OBJEXT) - -rm -f unit/test-eir.$(OBJEXT) - -rm -f unit/test-gdbus-client.$(OBJEXT) - -rm -f unit/test-gobex-apparam.$(OBJEXT) - -rm -f unit/test-gobex-header.$(OBJEXT) - -rm -f unit/test-gobex-packet.$(OBJEXT) - -rm -f unit/test-gobex-transfer.$(OBJEXT) - -rm -f unit/test-gobex.$(OBJEXT) - -rm -f unit/test-lib.$(OBJEXT) - -rm -f unit/test-mgmt.$(OBJEXT) - -rm -f unit/test-sdp.$(OBJEXT) - -rm -f unit/test-textfile.$(OBJEXT) - -rm -f unit/test-uuid.$(OBJEXT) - -rm -f unit/util.$(OBJEXT) - -distclean-compile: - -rm -f *.tab.c - -@AMDEP_TRUE@@am__include@ @am__quote@attrib/$(DEPDIR)/att.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@attrib/$(DEPDIR)/bluetoothd-att.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@attrib/$(DEPDIR)/bluetoothd-gatt-service.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@attrib/$(DEPDIR)/bluetoothd-gatt.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@attrib/$(DEPDIR)/bluetoothd-gattrib.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@attrib/$(DEPDIR)/gatt.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@attrib/$(DEPDIR)/gattrib.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@attrib/$(DEPDIR)/gatttool.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@attrib/$(DEPDIR)/interactive.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@attrib/$(DEPDIR)/utils.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@btio/$(DEPDIR)/bluetoothd-btio.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@btio/$(DEPDIR)/btio.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@btio/$(DEPDIR)/obexd-btio.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@client/$(DEPDIR)/agent.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@client/$(DEPDIR)/display.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@client/$(DEPDIR)/main.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@emulator/$(DEPDIR)/b1ee.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@emulator/$(DEPDIR)/btdev.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@emulator/$(DEPDIR)/bthost.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@emulator/$(DEPDIR)/main.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@emulator/$(DEPDIR)/server.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@emulator/$(DEPDIR)/vhci.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gdbus/$(DEPDIR)/bluetoothd-client.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gdbus/$(DEPDIR)/bluetoothd-mainloop.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gdbus/$(DEPDIR)/bluetoothd-object.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gdbus/$(DEPDIR)/bluetoothd-polkit.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gdbus/$(DEPDIR)/bluetoothd-watch.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gdbus/$(DEPDIR)/client.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gdbus/$(DEPDIR)/mainloop.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gdbus/$(DEPDIR)/obexd-client.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gdbus/$(DEPDIR)/obexd-mainloop.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gdbus/$(DEPDIR)/obexd-object.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gdbus/$(DEPDIR)/obexd-polkit.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gdbus/$(DEPDIR)/obexd-watch.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gdbus/$(DEPDIR)/object.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gdbus/$(DEPDIR)/polkit.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gdbus/$(DEPDIR)/watch.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gobex/$(DEPDIR)/gobex-apparam.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gobex/$(DEPDIR)/gobex-defs.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gobex/$(DEPDIR)/gobex-header.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gobex/$(DEPDIR)/gobex-packet.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gobex/$(DEPDIR)/gobex-transfer.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gobex/$(DEPDIR)/gobex.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gobex/$(DEPDIR)/obexd-gobex-apparam.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gobex/$(DEPDIR)/obexd-gobex-defs.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gobex/$(DEPDIR)/obexd-gobex-header.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gobex/$(DEPDIR)/obexd-gobex-packet.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gobex/$(DEPDIR)/obexd-gobex-transfer.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gobex/$(DEPDIR)/obexd-gobex.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/bluetooth.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/hci.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/sdp.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@lib/$(DEPDIR)/uuid.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@monitor/$(DEPDIR)/btsnoop.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@monitor/$(DEPDIR)/control.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@monitor/$(DEPDIR)/display.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@monitor/$(DEPDIR)/hcidump.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@monitor/$(DEPDIR)/l2cap.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@monitor/$(DEPDIR)/main.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@monitor/$(DEPDIR)/mainloop.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@monitor/$(DEPDIR)/packet.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@monitor/$(DEPDIR)/sdp.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@monitor/$(DEPDIR)/uuid.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@obexd/client/$(DEPDIR)/obexd-bluetooth.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@obexd/client/$(DEPDIR)/obexd-dbus.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@obexd/client/$(DEPDIR)/obexd-driver.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@obexd/client/$(DEPDIR)/obexd-ftp.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@obexd/client/$(DEPDIR)/obexd-manager.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@obexd/client/$(DEPDIR)/obexd-map.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@obexd/client/$(DEPDIR)/obexd-mns.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@obexd/client/$(DEPDIR)/obexd-opp.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@obexd/client/$(DEPDIR)/obexd-pbap.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@obexd/client/$(DEPDIR)/obexd-session.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@obexd/client/$(DEPDIR)/obexd-sync.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@obexd/client/$(DEPDIR)/obexd-transfer.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@obexd/client/$(DEPDIR)/obexd-transport.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@obexd/plugins/$(DEPDIR)/obexd-bluetooth.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@obexd/plugins/$(DEPDIR)/obexd-filesystem.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@obexd/plugins/$(DEPDIR)/obexd-ftp.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@obexd/plugins/$(DEPDIR)/obexd-irmc.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@obexd/plugins/$(DEPDIR)/obexd-mas.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@obexd/plugins/$(DEPDIR)/obexd-messages-dummy.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@obexd/plugins/$(DEPDIR)/obexd-opp.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@obexd/plugins/$(DEPDIR)/obexd-pbap.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@obexd/plugins/$(DEPDIR)/obexd-pcsuite.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@obexd/plugins/$(DEPDIR)/obexd-phonebook-dummy.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@obexd/plugins/$(DEPDIR)/obexd-vcard.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@obexd/src/$(DEPDIR)/obexd-log.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@obexd/src/$(DEPDIR)/obexd-main.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@obexd/src/$(DEPDIR)/obexd-manager.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@obexd/src/$(DEPDIR)/obexd-mimetype.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@obexd/src/$(DEPDIR)/obexd-obex.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@obexd/src/$(DEPDIR)/obexd-plugin.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@obexd/src/$(DEPDIR)/obexd-server.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@obexd/src/$(DEPDIR)/obexd-service.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@obexd/src/$(DEPDIR)/obexd-transport.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@plugins/$(DEPDIR)/bluetoothd-gatt-example.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@plugins/$(DEPDIR)/bluetoothd-hostname.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@plugins/$(DEPDIR)/bluetoothd-neard.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@plugins/$(DEPDIR)/bluetoothd-wiimote.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@plugins/$(DEPDIR)/plugins_external_dummy_la-external-dummy.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@profiles/alert/$(DEPDIR)/bluetoothd-server.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@profiles/audio/$(DEPDIR)/bluetoothd-a2dp.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@profiles/audio/$(DEPDIR)/bluetoothd-avctp.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@profiles/audio/$(DEPDIR)/bluetoothd-avdtp.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@profiles/audio/$(DEPDIR)/bluetoothd-avrcp.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@profiles/audio/$(DEPDIR)/bluetoothd-control.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@profiles/audio/$(DEPDIR)/bluetoothd-device.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@profiles/audio/$(DEPDIR)/bluetoothd-main.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@profiles/audio/$(DEPDIR)/bluetoothd-manager.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@profiles/audio/$(DEPDIR)/bluetoothd-media.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@profiles/audio/$(DEPDIR)/bluetoothd-player.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@profiles/audio/$(DEPDIR)/bluetoothd-sink.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@profiles/audio/$(DEPDIR)/bluetoothd-source.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@profiles/audio/$(DEPDIR)/bluetoothd-transport.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@profiles/cups/$(DEPDIR)/hcrp.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@profiles/cups/$(DEPDIR)/main.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@profiles/cups/$(DEPDIR)/sdp.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@profiles/cups/$(DEPDIR)/spp.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@profiles/cyclingspeed/$(DEPDIR)/bluetoothd-cyclingspeed.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@profiles/deviceinfo/$(DEPDIR)/bluetoothd-deviceinfo.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@profiles/gatt/$(DEPDIR)/bluetoothd-gas.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@profiles/health/$(DEPDIR)/bluetoothd-hdp.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@profiles/health/$(DEPDIR)/bluetoothd-hdp_main.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@profiles/health/$(DEPDIR)/bluetoothd-hdp_manager.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@profiles/health/$(DEPDIR)/bluetoothd-hdp_util.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@profiles/health/$(DEPDIR)/bluetoothd-mcap.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@profiles/health/$(DEPDIR)/bluetoothd-mcap_sync.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@profiles/heartrate/$(DEPDIR)/bluetoothd-heartrate.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@profiles/iap/$(DEPDIR)/main.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@profiles/input/$(DEPDIR)/bluetoothd-device.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@profiles/input/$(DEPDIR)/bluetoothd-hog.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@profiles/input/$(DEPDIR)/bluetoothd-manager.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@profiles/input/$(DEPDIR)/bluetoothd-server.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@profiles/input/$(DEPDIR)/bluetoothd-suspend-dummy.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@profiles/network/$(DEPDIR)/bluetoothd-common.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@profiles/network/$(DEPDIR)/bluetoothd-connection.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@profiles/network/$(DEPDIR)/bluetoothd-manager.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@profiles/network/$(DEPDIR)/bluetoothd-server.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@profiles/proximity/$(DEPDIR)/bluetoothd-immalert.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@profiles/proximity/$(DEPDIR)/bluetoothd-linkloss.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@profiles/proximity/$(DEPDIR)/bluetoothd-main.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@profiles/proximity/$(DEPDIR)/bluetoothd-manager.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@profiles/proximity/$(DEPDIR)/bluetoothd-monitor.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@profiles/proximity/$(DEPDIR)/bluetoothd-reporter.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@profiles/sap/$(DEPDIR)/bluetoothd-main.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@profiles/sap/$(DEPDIR)/bluetoothd-manager.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@profiles/sap/$(DEPDIR)/bluetoothd-sap-dummy.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@profiles/sap/$(DEPDIR)/bluetoothd-server.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@profiles/sap/$(DEPDIR)/sap-u8500.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@profiles/scanparam/$(DEPDIR)/bluetoothd-scan.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@profiles/thermometer/$(DEPDIR)/bluetoothd-thermometer.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@profiles/time/$(DEPDIR)/bluetoothd-server.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/bluetoothd-adapter.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/bluetoothd-agent.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/bluetoothd-attrib-server.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/bluetoothd-dbus-common.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/bluetoothd-device.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/bluetoothd-eir.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/bluetoothd-error.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/bluetoothd-glib-helper.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/bluetoothd-log.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/bluetoothd-main.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/bluetoothd-plugin.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/bluetoothd-profile.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/bluetoothd-rfkill.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/bluetoothd-sdp-client.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/bluetoothd-sdp-xml.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/bluetoothd-sdpd-database.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/bluetoothd-sdpd-request.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/bluetoothd-sdpd-server.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/bluetoothd-sdpd-service.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/bluetoothd-storage.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/bluetoothd-systemd.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/bluetoothd-textfile.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/eir.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/glib-helper.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/log.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/oui.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/sdp-xml.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/sdpd-database.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/sdpd-request.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/sdpd-service.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/textfile.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@src/shared/$(DEPDIR)/bluetoothd-mgmt.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@src/shared/$(DEPDIR)/bluetoothd-util.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@src/shared/$(DEPDIR)/hciemu.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@src/shared/$(DEPDIR)/mgmt.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@src/shared/$(DEPDIR)/tester.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@src/shared/$(DEPDIR)/util.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@tools/$(DEPDIR)/avinfo.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@tools/$(DEPDIR)/avtest.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@tools/$(DEPDIR)/bccmd.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@tools/$(DEPDIR)/bdaddr.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@tools/$(DEPDIR)/btattach.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@tools/$(DEPDIR)/btiotest.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@tools/$(DEPDIR)/btmgmt.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@tools/$(DEPDIR)/btsnoop.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@tools/$(DEPDIR)/ciptool.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@tools/$(DEPDIR)/csr.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@tools/$(DEPDIR)/csr_3wire.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@tools/$(DEPDIR)/csr_bcsp.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@tools/$(DEPDIR)/csr_h4.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@tools/$(DEPDIR)/csr_hci.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@tools/$(DEPDIR)/csr_usb.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@tools/$(DEPDIR)/gap-tester.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@tools/$(DEPDIR)/hciattach.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@tools/$(DEPDIR)/hciattach_ath3k.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@tools/$(DEPDIR)/hciattach_intel.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@tools/$(DEPDIR)/hciattach_qualcomm.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@tools/$(DEPDIR)/hciattach_st.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@tools/$(DEPDIR)/hciattach_ti.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@tools/$(DEPDIR)/hciattach_tialt.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@tools/$(DEPDIR)/hciconfig.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@tools/$(DEPDIR)/hcidump.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@tools/$(DEPDIR)/hcieventmask.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@tools/$(DEPDIR)/hcisecfilter.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@tools/$(DEPDIR)/hcitool.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@tools/$(DEPDIR)/hid2hci.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@tools/$(DEPDIR)/hwdb.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@tools/$(DEPDIR)/l2ping.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@tools/$(DEPDIR)/l2test.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@tools/$(DEPDIR)/mgmt-tester.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@tools/$(DEPDIR)/mpris-player.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@tools/$(DEPDIR)/obex-client-tool.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@tools/$(DEPDIR)/obex-server-tool.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@tools/$(DEPDIR)/rctest.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@tools/$(DEPDIR)/rfcomm.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@tools/$(DEPDIR)/scotest.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@tools/$(DEPDIR)/sdptool.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@tools/$(DEPDIR)/ubcsp.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@tools/parser/$(DEPDIR)/amp.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@tools/parser/$(DEPDIR)/att.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@tools/parser/$(DEPDIR)/avctp.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@tools/parser/$(DEPDIR)/avdtp.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@tools/parser/$(DEPDIR)/avrcp.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@tools/parser/$(DEPDIR)/bnep.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@tools/parser/$(DEPDIR)/bpa.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@tools/parser/$(DEPDIR)/capi.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@tools/parser/$(DEPDIR)/cmtp.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@tools/parser/$(DEPDIR)/csr.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@tools/parser/$(DEPDIR)/ericsson.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@tools/parser/$(DEPDIR)/hci.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@tools/parser/$(DEPDIR)/hcrp.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@tools/parser/$(DEPDIR)/hidp.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@tools/parser/$(DEPDIR)/l2cap.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@tools/parser/$(DEPDIR)/lmp.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@tools/parser/$(DEPDIR)/obex.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@tools/parser/$(DEPDIR)/parser.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@tools/parser/$(DEPDIR)/ppp.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@tools/parser/$(DEPDIR)/rfcomm.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@tools/parser/$(DEPDIR)/sap.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@tools/parser/$(DEPDIR)/sdp.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@tools/parser/$(DEPDIR)/smp.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@tools/parser/$(DEPDIR)/tcpip.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@unit/$(DEPDIR)/test-eir.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@unit/$(DEPDIR)/test-gdbus-client.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@unit/$(DEPDIR)/test-gobex-apparam.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@unit/$(DEPDIR)/test-gobex-header.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@unit/$(DEPDIR)/test-gobex-packet.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@unit/$(DEPDIR)/test-gobex-transfer.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@unit/$(DEPDIR)/test-gobex.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@unit/$(DEPDIR)/test-lib.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@unit/$(DEPDIR)/test-mgmt.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@unit/$(DEPDIR)/test-sdp.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@unit/$(DEPDIR)/test-textfile.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@unit/$(DEPDIR)/test-uuid.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@unit/$(DEPDIR)/util.Po@am__quote@ - -.c.o: -@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ -@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ -@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $< - -.c.obj: -@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\ -@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\ -@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` - -.c.lo: -@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\ -@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ -@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $< - -plugins/plugins_external_dummy_la-external-dummy.lo: plugins/external-dummy.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(plugins_external_dummy_la_CFLAGS) $(CFLAGS) -MT plugins/plugins_external_dummy_la-external-dummy.lo -MD -MP -MF plugins/$(DEPDIR)/plugins_external_dummy_la-external-dummy.Tpo -c -o plugins/plugins_external_dummy_la-external-dummy.lo `test -f 'plugins/external-dummy.c' || echo '$(srcdir)/'`plugins/external-dummy.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) plugins/$(DEPDIR)/plugins_external_dummy_la-external-dummy.Tpo plugins/$(DEPDIR)/plugins_external_dummy_la-external-dummy.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='plugins/external-dummy.c' object='plugins/plugins_external_dummy_la-external-dummy.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(plugins_external_dummy_la_CFLAGS) $(CFLAGS) -c -o plugins/plugins_external_dummy_la-external-dummy.lo `test -f 'plugins/external-dummy.c' || echo '$(srcdir)/'`plugins/external-dummy.c - -gdbus/obexd-mainloop.o: gdbus/mainloop.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT gdbus/obexd-mainloop.o -MD -MP -MF gdbus/$(DEPDIR)/obexd-mainloop.Tpo -c -o gdbus/obexd-mainloop.o `test -f 'gdbus/mainloop.c' || echo '$(srcdir)/'`gdbus/mainloop.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) gdbus/$(DEPDIR)/obexd-mainloop.Tpo gdbus/$(DEPDIR)/obexd-mainloop.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gdbus/mainloop.c' object='gdbus/obexd-mainloop.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o gdbus/obexd-mainloop.o `test -f 'gdbus/mainloop.c' || echo '$(srcdir)/'`gdbus/mainloop.c - -gdbus/obexd-mainloop.obj: gdbus/mainloop.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT gdbus/obexd-mainloop.obj -MD -MP -MF gdbus/$(DEPDIR)/obexd-mainloop.Tpo -c -o gdbus/obexd-mainloop.obj `if test -f 'gdbus/mainloop.c'; then $(CYGPATH_W) 'gdbus/mainloop.c'; else $(CYGPATH_W) '$(srcdir)/gdbus/mainloop.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) gdbus/$(DEPDIR)/obexd-mainloop.Tpo gdbus/$(DEPDIR)/obexd-mainloop.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gdbus/mainloop.c' object='gdbus/obexd-mainloop.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o gdbus/obexd-mainloop.obj `if test -f 'gdbus/mainloop.c'; then $(CYGPATH_W) 'gdbus/mainloop.c'; else $(CYGPATH_W) '$(srcdir)/gdbus/mainloop.c'; fi` - -gdbus/obexd-watch.o: gdbus/watch.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT gdbus/obexd-watch.o -MD -MP -MF gdbus/$(DEPDIR)/obexd-watch.Tpo -c -o gdbus/obexd-watch.o `test -f 'gdbus/watch.c' || echo '$(srcdir)/'`gdbus/watch.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) gdbus/$(DEPDIR)/obexd-watch.Tpo gdbus/$(DEPDIR)/obexd-watch.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gdbus/watch.c' object='gdbus/obexd-watch.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o gdbus/obexd-watch.o `test -f 'gdbus/watch.c' || echo '$(srcdir)/'`gdbus/watch.c - -gdbus/obexd-watch.obj: gdbus/watch.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT gdbus/obexd-watch.obj -MD -MP -MF gdbus/$(DEPDIR)/obexd-watch.Tpo -c -o gdbus/obexd-watch.obj `if test -f 'gdbus/watch.c'; then $(CYGPATH_W) 'gdbus/watch.c'; else $(CYGPATH_W) '$(srcdir)/gdbus/watch.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) gdbus/$(DEPDIR)/obexd-watch.Tpo gdbus/$(DEPDIR)/obexd-watch.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gdbus/watch.c' object='gdbus/obexd-watch.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o gdbus/obexd-watch.obj `if test -f 'gdbus/watch.c'; then $(CYGPATH_W) 'gdbus/watch.c'; else $(CYGPATH_W) '$(srcdir)/gdbus/watch.c'; fi` - -gdbus/obexd-object.o: gdbus/object.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT gdbus/obexd-object.o -MD -MP -MF gdbus/$(DEPDIR)/obexd-object.Tpo -c -o gdbus/obexd-object.o `test -f 'gdbus/object.c' || echo '$(srcdir)/'`gdbus/object.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) gdbus/$(DEPDIR)/obexd-object.Tpo gdbus/$(DEPDIR)/obexd-object.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gdbus/object.c' object='gdbus/obexd-object.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o gdbus/obexd-object.o `test -f 'gdbus/object.c' || echo '$(srcdir)/'`gdbus/object.c - -gdbus/obexd-object.obj: gdbus/object.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT gdbus/obexd-object.obj -MD -MP -MF gdbus/$(DEPDIR)/obexd-object.Tpo -c -o gdbus/obexd-object.obj `if test -f 'gdbus/object.c'; then $(CYGPATH_W) 'gdbus/object.c'; else $(CYGPATH_W) '$(srcdir)/gdbus/object.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) gdbus/$(DEPDIR)/obexd-object.Tpo gdbus/$(DEPDIR)/obexd-object.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gdbus/object.c' object='gdbus/obexd-object.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o gdbus/obexd-object.obj `if test -f 'gdbus/object.c'; then $(CYGPATH_W) 'gdbus/object.c'; else $(CYGPATH_W) '$(srcdir)/gdbus/object.c'; fi` - -gdbus/obexd-client.o: gdbus/client.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT gdbus/obexd-client.o -MD -MP -MF gdbus/$(DEPDIR)/obexd-client.Tpo -c -o gdbus/obexd-client.o `test -f 'gdbus/client.c' || echo '$(srcdir)/'`gdbus/client.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) gdbus/$(DEPDIR)/obexd-client.Tpo gdbus/$(DEPDIR)/obexd-client.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gdbus/client.c' object='gdbus/obexd-client.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o gdbus/obexd-client.o `test -f 'gdbus/client.c' || echo '$(srcdir)/'`gdbus/client.c - -gdbus/obexd-client.obj: gdbus/client.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT gdbus/obexd-client.obj -MD -MP -MF gdbus/$(DEPDIR)/obexd-client.Tpo -c -o gdbus/obexd-client.obj `if test -f 'gdbus/client.c'; then $(CYGPATH_W) 'gdbus/client.c'; else $(CYGPATH_W) '$(srcdir)/gdbus/client.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) gdbus/$(DEPDIR)/obexd-client.Tpo gdbus/$(DEPDIR)/obexd-client.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gdbus/client.c' object='gdbus/obexd-client.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o gdbus/obexd-client.obj `if test -f 'gdbus/client.c'; then $(CYGPATH_W) 'gdbus/client.c'; else $(CYGPATH_W) '$(srcdir)/gdbus/client.c'; fi` - -gdbus/obexd-polkit.o: gdbus/polkit.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT gdbus/obexd-polkit.o -MD -MP -MF gdbus/$(DEPDIR)/obexd-polkit.Tpo -c -o gdbus/obexd-polkit.o `test -f 'gdbus/polkit.c' || echo '$(srcdir)/'`gdbus/polkit.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) gdbus/$(DEPDIR)/obexd-polkit.Tpo gdbus/$(DEPDIR)/obexd-polkit.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gdbus/polkit.c' object='gdbus/obexd-polkit.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o gdbus/obexd-polkit.o `test -f 'gdbus/polkit.c' || echo '$(srcdir)/'`gdbus/polkit.c - -gdbus/obexd-polkit.obj: gdbus/polkit.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT gdbus/obexd-polkit.obj -MD -MP -MF gdbus/$(DEPDIR)/obexd-polkit.Tpo -c -o gdbus/obexd-polkit.obj `if test -f 'gdbus/polkit.c'; then $(CYGPATH_W) 'gdbus/polkit.c'; else $(CYGPATH_W) '$(srcdir)/gdbus/polkit.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) gdbus/$(DEPDIR)/obexd-polkit.Tpo gdbus/$(DEPDIR)/obexd-polkit.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gdbus/polkit.c' object='gdbus/obexd-polkit.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o gdbus/obexd-polkit.obj `if test -f 'gdbus/polkit.c'; then $(CYGPATH_W) 'gdbus/polkit.c'; else $(CYGPATH_W) '$(srcdir)/gdbus/polkit.c'; fi` - -btio/obexd-btio.o: btio/btio.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT btio/obexd-btio.o -MD -MP -MF btio/$(DEPDIR)/obexd-btio.Tpo -c -o btio/obexd-btio.o `test -f 'btio/btio.c' || echo '$(srcdir)/'`btio/btio.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) btio/$(DEPDIR)/obexd-btio.Tpo btio/$(DEPDIR)/obexd-btio.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='btio/btio.c' object='btio/obexd-btio.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o btio/obexd-btio.o `test -f 'btio/btio.c' || echo '$(srcdir)/'`btio/btio.c - -btio/obexd-btio.obj: btio/btio.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT btio/obexd-btio.obj -MD -MP -MF btio/$(DEPDIR)/obexd-btio.Tpo -c -o btio/obexd-btio.obj `if test -f 'btio/btio.c'; then $(CYGPATH_W) 'btio/btio.c'; else $(CYGPATH_W) '$(srcdir)/btio/btio.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) btio/$(DEPDIR)/obexd-btio.Tpo btio/$(DEPDIR)/obexd-btio.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='btio/btio.c' object='btio/obexd-btio.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o btio/obexd-btio.obj `if test -f 'btio/btio.c'; then $(CYGPATH_W) 'btio/btio.c'; else $(CYGPATH_W) '$(srcdir)/btio/btio.c'; fi` - -gobex/obexd-gobex.o: gobex/gobex.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT gobex/obexd-gobex.o -MD -MP -MF gobex/$(DEPDIR)/obexd-gobex.Tpo -c -o gobex/obexd-gobex.o `test -f 'gobex/gobex.c' || echo '$(srcdir)/'`gobex/gobex.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) gobex/$(DEPDIR)/obexd-gobex.Tpo gobex/$(DEPDIR)/obexd-gobex.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gobex/gobex.c' object='gobex/obexd-gobex.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o gobex/obexd-gobex.o `test -f 'gobex/gobex.c' || echo '$(srcdir)/'`gobex/gobex.c - -gobex/obexd-gobex.obj: gobex/gobex.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT gobex/obexd-gobex.obj -MD -MP -MF gobex/$(DEPDIR)/obexd-gobex.Tpo -c -o gobex/obexd-gobex.obj `if test -f 'gobex/gobex.c'; then $(CYGPATH_W) 'gobex/gobex.c'; else $(CYGPATH_W) '$(srcdir)/gobex/gobex.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) gobex/$(DEPDIR)/obexd-gobex.Tpo gobex/$(DEPDIR)/obexd-gobex.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gobex/gobex.c' object='gobex/obexd-gobex.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o gobex/obexd-gobex.obj `if test -f 'gobex/gobex.c'; then $(CYGPATH_W) 'gobex/gobex.c'; else $(CYGPATH_W) '$(srcdir)/gobex/gobex.c'; fi` - -gobex/obexd-gobex-defs.o: gobex/gobex-defs.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT gobex/obexd-gobex-defs.o -MD -MP -MF gobex/$(DEPDIR)/obexd-gobex-defs.Tpo -c -o gobex/obexd-gobex-defs.o `test -f 'gobex/gobex-defs.c' || echo '$(srcdir)/'`gobex/gobex-defs.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) gobex/$(DEPDIR)/obexd-gobex-defs.Tpo gobex/$(DEPDIR)/obexd-gobex-defs.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gobex/gobex-defs.c' object='gobex/obexd-gobex-defs.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o gobex/obexd-gobex-defs.o `test -f 'gobex/gobex-defs.c' || echo '$(srcdir)/'`gobex/gobex-defs.c - -gobex/obexd-gobex-defs.obj: gobex/gobex-defs.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT gobex/obexd-gobex-defs.obj -MD -MP -MF gobex/$(DEPDIR)/obexd-gobex-defs.Tpo -c -o gobex/obexd-gobex-defs.obj `if test -f 'gobex/gobex-defs.c'; then $(CYGPATH_W) 'gobex/gobex-defs.c'; else $(CYGPATH_W) '$(srcdir)/gobex/gobex-defs.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) gobex/$(DEPDIR)/obexd-gobex-defs.Tpo gobex/$(DEPDIR)/obexd-gobex-defs.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gobex/gobex-defs.c' object='gobex/obexd-gobex-defs.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o gobex/obexd-gobex-defs.obj `if test -f 'gobex/gobex-defs.c'; then $(CYGPATH_W) 'gobex/gobex-defs.c'; else $(CYGPATH_W) '$(srcdir)/gobex/gobex-defs.c'; fi` - -gobex/obexd-gobex-packet.o: gobex/gobex-packet.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT gobex/obexd-gobex-packet.o -MD -MP -MF gobex/$(DEPDIR)/obexd-gobex-packet.Tpo -c -o gobex/obexd-gobex-packet.o `test -f 'gobex/gobex-packet.c' || echo '$(srcdir)/'`gobex/gobex-packet.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) gobex/$(DEPDIR)/obexd-gobex-packet.Tpo gobex/$(DEPDIR)/obexd-gobex-packet.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gobex/gobex-packet.c' object='gobex/obexd-gobex-packet.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o gobex/obexd-gobex-packet.o `test -f 'gobex/gobex-packet.c' || echo '$(srcdir)/'`gobex/gobex-packet.c - -gobex/obexd-gobex-packet.obj: gobex/gobex-packet.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT gobex/obexd-gobex-packet.obj -MD -MP -MF gobex/$(DEPDIR)/obexd-gobex-packet.Tpo -c -o gobex/obexd-gobex-packet.obj `if test -f 'gobex/gobex-packet.c'; then $(CYGPATH_W) 'gobex/gobex-packet.c'; else $(CYGPATH_W) '$(srcdir)/gobex/gobex-packet.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) gobex/$(DEPDIR)/obexd-gobex-packet.Tpo gobex/$(DEPDIR)/obexd-gobex-packet.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gobex/gobex-packet.c' object='gobex/obexd-gobex-packet.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o gobex/obexd-gobex-packet.obj `if test -f 'gobex/gobex-packet.c'; then $(CYGPATH_W) 'gobex/gobex-packet.c'; else $(CYGPATH_W) '$(srcdir)/gobex/gobex-packet.c'; fi` - -gobex/obexd-gobex-header.o: gobex/gobex-header.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT gobex/obexd-gobex-header.o -MD -MP -MF gobex/$(DEPDIR)/obexd-gobex-header.Tpo -c -o gobex/obexd-gobex-header.o `test -f 'gobex/gobex-header.c' || echo '$(srcdir)/'`gobex/gobex-header.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) gobex/$(DEPDIR)/obexd-gobex-header.Tpo gobex/$(DEPDIR)/obexd-gobex-header.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gobex/gobex-header.c' object='gobex/obexd-gobex-header.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o gobex/obexd-gobex-header.o `test -f 'gobex/gobex-header.c' || echo '$(srcdir)/'`gobex/gobex-header.c - -gobex/obexd-gobex-header.obj: gobex/gobex-header.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT gobex/obexd-gobex-header.obj -MD -MP -MF gobex/$(DEPDIR)/obexd-gobex-header.Tpo -c -o gobex/obexd-gobex-header.obj `if test -f 'gobex/gobex-header.c'; then $(CYGPATH_W) 'gobex/gobex-header.c'; else $(CYGPATH_W) '$(srcdir)/gobex/gobex-header.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) gobex/$(DEPDIR)/obexd-gobex-header.Tpo gobex/$(DEPDIR)/obexd-gobex-header.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gobex/gobex-header.c' object='gobex/obexd-gobex-header.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o gobex/obexd-gobex-header.obj `if test -f 'gobex/gobex-header.c'; then $(CYGPATH_W) 'gobex/gobex-header.c'; else $(CYGPATH_W) '$(srcdir)/gobex/gobex-header.c'; fi` - -gobex/obexd-gobex-transfer.o: gobex/gobex-transfer.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT gobex/obexd-gobex-transfer.o -MD -MP -MF gobex/$(DEPDIR)/obexd-gobex-transfer.Tpo -c -o gobex/obexd-gobex-transfer.o `test -f 'gobex/gobex-transfer.c' || echo '$(srcdir)/'`gobex/gobex-transfer.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) gobex/$(DEPDIR)/obexd-gobex-transfer.Tpo gobex/$(DEPDIR)/obexd-gobex-transfer.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gobex/gobex-transfer.c' object='gobex/obexd-gobex-transfer.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o gobex/obexd-gobex-transfer.o `test -f 'gobex/gobex-transfer.c' || echo '$(srcdir)/'`gobex/gobex-transfer.c - -gobex/obexd-gobex-transfer.obj: gobex/gobex-transfer.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT gobex/obexd-gobex-transfer.obj -MD -MP -MF gobex/$(DEPDIR)/obexd-gobex-transfer.Tpo -c -o gobex/obexd-gobex-transfer.obj `if test -f 'gobex/gobex-transfer.c'; then $(CYGPATH_W) 'gobex/gobex-transfer.c'; else $(CYGPATH_W) '$(srcdir)/gobex/gobex-transfer.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) gobex/$(DEPDIR)/obexd-gobex-transfer.Tpo gobex/$(DEPDIR)/obexd-gobex-transfer.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gobex/gobex-transfer.c' object='gobex/obexd-gobex-transfer.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o gobex/obexd-gobex-transfer.obj `if test -f 'gobex/gobex-transfer.c'; then $(CYGPATH_W) 'gobex/gobex-transfer.c'; else $(CYGPATH_W) '$(srcdir)/gobex/gobex-transfer.c'; fi` - -gobex/obexd-gobex-apparam.o: gobex/gobex-apparam.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT gobex/obexd-gobex-apparam.o -MD -MP -MF gobex/$(DEPDIR)/obexd-gobex-apparam.Tpo -c -o gobex/obexd-gobex-apparam.o `test -f 'gobex/gobex-apparam.c' || echo '$(srcdir)/'`gobex/gobex-apparam.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) gobex/$(DEPDIR)/obexd-gobex-apparam.Tpo gobex/$(DEPDIR)/obexd-gobex-apparam.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gobex/gobex-apparam.c' object='gobex/obexd-gobex-apparam.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o gobex/obexd-gobex-apparam.o `test -f 'gobex/gobex-apparam.c' || echo '$(srcdir)/'`gobex/gobex-apparam.c - -gobex/obexd-gobex-apparam.obj: gobex/gobex-apparam.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT gobex/obexd-gobex-apparam.obj -MD -MP -MF gobex/$(DEPDIR)/obexd-gobex-apparam.Tpo -c -o gobex/obexd-gobex-apparam.obj `if test -f 'gobex/gobex-apparam.c'; then $(CYGPATH_W) 'gobex/gobex-apparam.c'; else $(CYGPATH_W) '$(srcdir)/gobex/gobex-apparam.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) gobex/$(DEPDIR)/obexd-gobex-apparam.Tpo gobex/$(DEPDIR)/obexd-gobex-apparam.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gobex/gobex-apparam.c' object='gobex/obexd-gobex-apparam.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o gobex/obexd-gobex-apparam.obj `if test -f 'gobex/gobex-apparam.c'; then $(CYGPATH_W) 'gobex/gobex-apparam.c'; else $(CYGPATH_W) '$(srcdir)/gobex/gobex-apparam.c'; fi` - -obexd/plugins/obexd-filesystem.o: obexd/plugins/filesystem.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT obexd/plugins/obexd-filesystem.o -MD -MP -MF obexd/plugins/$(DEPDIR)/obexd-filesystem.Tpo -c -o obexd/plugins/obexd-filesystem.o `test -f 'obexd/plugins/filesystem.c' || echo '$(srcdir)/'`obexd/plugins/filesystem.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) obexd/plugins/$(DEPDIR)/obexd-filesystem.Tpo obexd/plugins/$(DEPDIR)/obexd-filesystem.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='obexd/plugins/filesystem.c' object='obexd/plugins/obexd-filesystem.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o obexd/plugins/obexd-filesystem.o `test -f 'obexd/plugins/filesystem.c' || echo '$(srcdir)/'`obexd/plugins/filesystem.c - -obexd/plugins/obexd-filesystem.obj: obexd/plugins/filesystem.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT obexd/plugins/obexd-filesystem.obj -MD -MP -MF obexd/plugins/$(DEPDIR)/obexd-filesystem.Tpo -c -o obexd/plugins/obexd-filesystem.obj `if test -f 'obexd/plugins/filesystem.c'; then $(CYGPATH_W) 'obexd/plugins/filesystem.c'; else $(CYGPATH_W) '$(srcdir)/obexd/plugins/filesystem.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) obexd/plugins/$(DEPDIR)/obexd-filesystem.Tpo obexd/plugins/$(DEPDIR)/obexd-filesystem.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='obexd/plugins/filesystem.c' object='obexd/plugins/obexd-filesystem.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o obexd/plugins/obexd-filesystem.obj `if test -f 'obexd/plugins/filesystem.c'; then $(CYGPATH_W) 'obexd/plugins/filesystem.c'; else $(CYGPATH_W) '$(srcdir)/obexd/plugins/filesystem.c'; fi` - -obexd/plugins/obexd-bluetooth.o: obexd/plugins/bluetooth.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT obexd/plugins/obexd-bluetooth.o -MD -MP -MF obexd/plugins/$(DEPDIR)/obexd-bluetooth.Tpo -c -o obexd/plugins/obexd-bluetooth.o `test -f 'obexd/plugins/bluetooth.c' || echo '$(srcdir)/'`obexd/plugins/bluetooth.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) obexd/plugins/$(DEPDIR)/obexd-bluetooth.Tpo obexd/plugins/$(DEPDIR)/obexd-bluetooth.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='obexd/plugins/bluetooth.c' object='obexd/plugins/obexd-bluetooth.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o obexd/plugins/obexd-bluetooth.o `test -f 'obexd/plugins/bluetooth.c' || echo '$(srcdir)/'`obexd/plugins/bluetooth.c - -obexd/plugins/obexd-bluetooth.obj: obexd/plugins/bluetooth.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT obexd/plugins/obexd-bluetooth.obj -MD -MP -MF obexd/plugins/$(DEPDIR)/obexd-bluetooth.Tpo -c -o obexd/plugins/obexd-bluetooth.obj `if test -f 'obexd/plugins/bluetooth.c'; then $(CYGPATH_W) 'obexd/plugins/bluetooth.c'; else $(CYGPATH_W) '$(srcdir)/obexd/plugins/bluetooth.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) obexd/plugins/$(DEPDIR)/obexd-bluetooth.Tpo obexd/plugins/$(DEPDIR)/obexd-bluetooth.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='obexd/plugins/bluetooth.c' object='obexd/plugins/obexd-bluetooth.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o obexd/plugins/obexd-bluetooth.obj `if test -f 'obexd/plugins/bluetooth.c'; then $(CYGPATH_W) 'obexd/plugins/bluetooth.c'; else $(CYGPATH_W) '$(srcdir)/obexd/plugins/bluetooth.c'; fi` - -obexd/plugins/obexd-pcsuite.o: obexd/plugins/pcsuite.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT obexd/plugins/obexd-pcsuite.o -MD -MP -MF obexd/plugins/$(DEPDIR)/obexd-pcsuite.Tpo -c -o obexd/plugins/obexd-pcsuite.o `test -f 'obexd/plugins/pcsuite.c' || echo '$(srcdir)/'`obexd/plugins/pcsuite.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) obexd/plugins/$(DEPDIR)/obexd-pcsuite.Tpo obexd/plugins/$(DEPDIR)/obexd-pcsuite.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='obexd/plugins/pcsuite.c' object='obexd/plugins/obexd-pcsuite.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o obexd/plugins/obexd-pcsuite.o `test -f 'obexd/plugins/pcsuite.c' || echo '$(srcdir)/'`obexd/plugins/pcsuite.c - -obexd/plugins/obexd-pcsuite.obj: obexd/plugins/pcsuite.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT obexd/plugins/obexd-pcsuite.obj -MD -MP -MF obexd/plugins/$(DEPDIR)/obexd-pcsuite.Tpo -c -o obexd/plugins/obexd-pcsuite.obj `if test -f 'obexd/plugins/pcsuite.c'; then $(CYGPATH_W) 'obexd/plugins/pcsuite.c'; else $(CYGPATH_W) '$(srcdir)/obexd/plugins/pcsuite.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) obexd/plugins/$(DEPDIR)/obexd-pcsuite.Tpo obexd/plugins/$(DEPDIR)/obexd-pcsuite.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='obexd/plugins/pcsuite.c' object='obexd/plugins/obexd-pcsuite.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o obexd/plugins/obexd-pcsuite.obj `if test -f 'obexd/plugins/pcsuite.c'; then $(CYGPATH_W) 'obexd/plugins/pcsuite.c'; else $(CYGPATH_W) '$(srcdir)/obexd/plugins/pcsuite.c'; fi` - -obexd/plugins/obexd-opp.o: obexd/plugins/opp.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT obexd/plugins/obexd-opp.o -MD -MP -MF obexd/plugins/$(DEPDIR)/obexd-opp.Tpo -c -o obexd/plugins/obexd-opp.o `test -f 'obexd/plugins/opp.c' || echo '$(srcdir)/'`obexd/plugins/opp.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) obexd/plugins/$(DEPDIR)/obexd-opp.Tpo obexd/plugins/$(DEPDIR)/obexd-opp.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='obexd/plugins/opp.c' object='obexd/plugins/obexd-opp.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o obexd/plugins/obexd-opp.o `test -f 'obexd/plugins/opp.c' || echo '$(srcdir)/'`obexd/plugins/opp.c - -obexd/plugins/obexd-opp.obj: obexd/plugins/opp.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT obexd/plugins/obexd-opp.obj -MD -MP -MF obexd/plugins/$(DEPDIR)/obexd-opp.Tpo -c -o obexd/plugins/obexd-opp.obj `if test -f 'obexd/plugins/opp.c'; then $(CYGPATH_W) 'obexd/plugins/opp.c'; else $(CYGPATH_W) '$(srcdir)/obexd/plugins/opp.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) obexd/plugins/$(DEPDIR)/obexd-opp.Tpo obexd/plugins/$(DEPDIR)/obexd-opp.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='obexd/plugins/opp.c' object='obexd/plugins/obexd-opp.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o obexd/plugins/obexd-opp.obj `if test -f 'obexd/plugins/opp.c'; then $(CYGPATH_W) 'obexd/plugins/opp.c'; else $(CYGPATH_W) '$(srcdir)/obexd/plugins/opp.c'; fi` - -obexd/plugins/obexd-ftp.o: obexd/plugins/ftp.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT obexd/plugins/obexd-ftp.o -MD -MP -MF obexd/plugins/$(DEPDIR)/obexd-ftp.Tpo -c -o obexd/plugins/obexd-ftp.o `test -f 'obexd/plugins/ftp.c' || echo '$(srcdir)/'`obexd/plugins/ftp.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) obexd/plugins/$(DEPDIR)/obexd-ftp.Tpo obexd/plugins/$(DEPDIR)/obexd-ftp.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='obexd/plugins/ftp.c' object='obexd/plugins/obexd-ftp.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o obexd/plugins/obexd-ftp.o `test -f 'obexd/plugins/ftp.c' || echo '$(srcdir)/'`obexd/plugins/ftp.c - -obexd/plugins/obexd-ftp.obj: obexd/plugins/ftp.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT obexd/plugins/obexd-ftp.obj -MD -MP -MF obexd/plugins/$(DEPDIR)/obexd-ftp.Tpo -c -o obexd/plugins/obexd-ftp.obj `if test -f 'obexd/plugins/ftp.c'; then $(CYGPATH_W) 'obexd/plugins/ftp.c'; else $(CYGPATH_W) '$(srcdir)/obexd/plugins/ftp.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) obexd/plugins/$(DEPDIR)/obexd-ftp.Tpo obexd/plugins/$(DEPDIR)/obexd-ftp.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='obexd/plugins/ftp.c' object='obexd/plugins/obexd-ftp.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o obexd/plugins/obexd-ftp.obj `if test -f 'obexd/plugins/ftp.c'; then $(CYGPATH_W) 'obexd/plugins/ftp.c'; else $(CYGPATH_W) '$(srcdir)/obexd/plugins/ftp.c'; fi` - -obexd/plugins/obexd-irmc.o: obexd/plugins/irmc.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT obexd/plugins/obexd-irmc.o -MD -MP -MF obexd/plugins/$(DEPDIR)/obexd-irmc.Tpo -c -o obexd/plugins/obexd-irmc.o `test -f 'obexd/plugins/irmc.c' || echo '$(srcdir)/'`obexd/plugins/irmc.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) obexd/plugins/$(DEPDIR)/obexd-irmc.Tpo obexd/plugins/$(DEPDIR)/obexd-irmc.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='obexd/plugins/irmc.c' object='obexd/plugins/obexd-irmc.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o obexd/plugins/obexd-irmc.o `test -f 'obexd/plugins/irmc.c' || echo '$(srcdir)/'`obexd/plugins/irmc.c - -obexd/plugins/obexd-irmc.obj: obexd/plugins/irmc.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT obexd/plugins/obexd-irmc.obj -MD -MP -MF obexd/plugins/$(DEPDIR)/obexd-irmc.Tpo -c -o obexd/plugins/obexd-irmc.obj `if test -f 'obexd/plugins/irmc.c'; then $(CYGPATH_W) 'obexd/plugins/irmc.c'; else $(CYGPATH_W) '$(srcdir)/obexd/plugins/irmc.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) obexd/plugins/$(DEPDIR)/obexd-irmc.Tpo obexd/plugins/$(DEPDIR)/obexd-irmc.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='obexd/plugins/irmc.c' object='obexd/plugins/obexd-irmc.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o obexd/plugins/obexd-irmc.obj `if test -f 'obexd/plugins/irmc.c'; then $(CYGPATH_W) 'obexd/plugins/irmc.c'; else $(CYGPATH_W) '$(srcdir)/obexd/plugins/irmc.c'; fi` - -obexd/plugins/obexd-pbap.o: obexd/plugins/pbap.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT obexd/plugins/obexd-pbap.o -MD -MP -MF obexd/plugins/$(DEPDIR)/obexd-pbap.Tpo -c -o obexd/plugins/obexd-pbap.o `test -f 'obexd/plugins/pbap.c' || echo '$(srcdir)/'`obexd/plugins/pbap.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) obexd/plugins/$(DEPDIR)/obexd-pbap.Tpo obexd/plugins/$(DEPDIR)/obexd-pbap.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='obexd/plugins/pbap.c' object='obexd/plugins/obexd-pbap.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o obexd/plugins/obexd-pbap.o `test -f 'obexd/plugins/pbap.c' || echo '$(srcdir)/'`obexd/plugins/pbap.c - -obexd/plugins/obexd-pbap.obj: obexd/plugins/pbap.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT obexd/plugins/obexd-pbap.obj -MD -MP -MF obexd/plugins/$(DEPDIR)/obexd-pbap.Tpo -c -o obexd/plugins/obexd-pbap.obj `if test -f 'obexd/plugins/pbap.c'; then $(CYGPATH_W) 'obexd/plugins/pbap.c'; else $(CYGPATH_W) '$(srcdir)/obexd/plugins/pbap.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) obexd/plugins/$(DEPDIR)/obexd-pbap.Tpo obexd/plugins/$(DEPDIR)/obexd-pbap.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='obexd/plugins/pbap.c' object='obexd/plugins/obexd-pbap.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o obexd/plugins/obexd-pbap.obj `if test -f 'obexd/plugins/pbap.c'; then $(CYGPATH_W) 'obexd/plugins/pbap.c'; else $(CYGPATH_W) '$(srcdir)/obexd/plugins/pbap.c'; fi` - -obexd/plugins/obexd-vcard.o: obexd/plugins/vcard.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT obexd/plugins/obexd-vcard.o -MD -MP -MF obexd/plugins/$(DEPDIR)/obexd-vcard.Tpo -c -o obexd/plugins/obexd-vcard.o `test -f 'obexd/plugins/vcard.c' || echo '$(srcdir)/'`obexd/plugins/vcard.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) obexd/plugins/$(DEPDIR)/obexd-vcard.Tpo obexd/plugins/$(DEPDIR)/obexd-vcard.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='obexd/plugins/vcard.c' object='obexd/plugins/obexd-vcard.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o obexd/plugins/obexd-vcard.o `test -f 'obexd/plugins/vcard.c' || echo '$(srcdir)/'`obexd/plugins/vcard.c - -obexd/plugins/obexd-vcard.obj: obexd/plugins/vcard.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT obexd/plugins/obexd-vcard.obj -MD -MP -MF obexd/plugins/$(DEPDIR)/obexd-vcard.Tpo -c -o obexd/plugins/obexd-vcard.obj `if test -f 'obexd/plugins/vcard.c'; then $(CYGPATH_W) 'obexd/plugins/vcard.c'; else $(CYGPATH_W) '$(srcdir)/obexd/plugins/vcard.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) obexd/plugins/$(DEPDIR)/obexd-vcard.Tpo obexd/plugins/$(DEPDIR)/obexd-vcard.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='obexd/plugins/vcard.c' object='obexd/plugins/obexd-vcard.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o obexd/plugins/obexd-vcard.obj `if test -f 'obexd/plugins/vcard.c'; then $(CYGPATH_W) 'obexd/plugins/vcard.c'; else $(CYGPATH_W) '$(srcdir)/obexd/plugins/vcard.c'; fi` - -obexd/plugins/obexd-phonebook-dummy.o: obexd/plugins/phonebook-dummy.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT obexd/plugins/obexd-phonebook-dummy.o -MD -MP -MF obexd/plugins/$(DEPDIR)/obexd-phonebook-dummy.Tpo -c -o obexd/plugins/obexd-phonebook-dummy.o `test -f 'obexd/plugins/phonebook-dummy.c' || echo '$(srcdir)/'`obexd/plugins/phonebook-dummy.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) obexd/plugins/$(DEPDIR)/obexd-phonebook-dummy.Tpo obexd/plugins/$(DEPDIR)/obexd-phonebook-dummy.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='obexd/plugins/phonebook-dummy.c' object='obexd/plugins/obexd-phonebook-dummy.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o obexd/plugins/obexd-phonebook-dummy.o `test -f 'obexd/plugins/phonebook-dummy.c' || echo '$(srcdir)/'`obexd/plugins/phonebook-dummy.c - -obexd/plugins/obexd-phonebook-dummy.obj: obexd/plugins/phonebook-dummy.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT obexd/plugins/obexd-phonebook-dummy.obj -MD -MP -MF obexd/plugins/$(DEPDIR)/obexd-phonebook-dummy.Tpo -c -o obexd/plugins/obexd-phonebook-dummy.obj `if test -f 'obexd/plugins/phonebook-dummy.c'; then $(CYGPATH_W) 'obexd/plugins/phonebook-dummy.c'; else $(CYGPATH_W) '$(srcdir)/obexd/plugins/phonebook-dummy.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) obexd/plugins/$(DEPDIR)/obexd-phonebook-dummy.Tpo obexd/plugins/$(DEPDIR)/obexd-phonebook-dummy.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='obexd/plugins/phonebook-dummy.c' object='obexd/plugins/obexd-phonebook-dummy.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o obexd/plugins/obexd-phonebook-dummy.obj `if test -f 'obexd/plugins/phonebook-dummy.c'; then $(CYGPATH_W) 'obexd/plugins/phonebook-dummy.c'; else $(CYGPATH_W) '$(srcdir)/obexd/plugins/phonebook-dummy.c'; fi` - -obexd/plugins/obexd-mas.o: obexd/plugins/mas.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT obexd/plugins/obexd-mas.o -MD -MP -MF obexd/plugins/$(DEPDIR)/obexd-mas.Tpo -c -o obexd/plugins/obexd-mas.o `test -f 'obexd/plugins/mas.c' || echo '$(srcdir)/'`obexd/plugins/mas.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) obexd/plugins/$(DEPDIR)/obexd-mas.Tpo obexd/plugins/$(DEPDIR)/obexd-mas.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='obexd/plugins/mas.c' object='obexd/plugins/obexd-mas.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o obexd/plugins/obexd-mas.o `test -f 'obexd/plugins/mas.c' || echo '$(srcdir)/'`obexd/plugins/mas.c - -obexd/plugins/obexd-mas.obj: obexd/plugins/mas.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT obexd/plugins/obexd-mas.obj -MD -MP -MF obexd/plugins/$(DEPDIR)/obexd-mas.Tpo -c -o obexd/plugins/obexd-mas.obj `if test -f 'obexd/plugins/mas.c'; then $(CYGPATH_W) 'obexd/plugins/mas.c'; else $(CYGPATH_W) '$(srcdir)/obexd/plugins/mas.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) obexd/plugins/$(DEPDIR)/obexd-mas.Tpo obexd/plugins/$(DEPDIR)/obexd-mas.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='obexd/plugins/mas.c' object='obexd/plugins/obexd-mas.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o obexd/plugins/obexd-mas.obj `if test -f 'obexd/plugins/mas.c'; then $(CYGPATH_W) 'obexd/plugins/mas.c'; else $(CYGPATH_W) '$(srcdir)/obexd/plugins/mas.c'; fi` - -obexd/plugins/obexd-messages-dummy.o: obexd/plugins/messages-dummy.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT obexd/plugins/obexd-messages-dummy.o -MD -MP -MF obexd/plugins/$(DEPDIR)/obexd-messages-dummy.Tpo -c -o obexd/plugins/obexd-messages-dummy.o `test -f 'obexd/plugins/messages-dummy.c' || echo '$(srcdir)/'`obexd/plugins/messages-dummy.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) obexd/plugins/$(DEPDIR)/obexd-messages-dummy.Tpo obexd/plugins/$(DEPDIR)/obexd-messages-dummy.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='obexd/plugins/messages-dummy.c' object='obexd/plugins/obexd-messages-dummy.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o obexd/plugins/obexd-messages-dummy.o `test -f 'obexd/plugins/messages-dummy.c' || echo '$(srcdir)/'`obexd/plugins/messages-dummy.c - -obexd/plugins/obexd-messages-dummy.obj: obexd/plugins/messages-dummy.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT obexd/plugins/obexd-messages-dummy.obj -MD -MP -MF obexd/plugins/$(DEPDIR)/obexd-messages-dummy.Tpo -c -o obexd/plugins/obexd-messages-dummy.obj `if test -f 'obexd/plugins/messages-dummy.c'; then $(CYGPATH_W) 'obexd/plugins/messages-dummy.c'; else $(CYGPATH_W) '$(srcdir)/obexd/plugins/messages-dummy.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) obexd/plugins/$(DEPDIR)/obexd-messages-dummy.Tpo obexd/plugins/$(DEPDIR)/obexd-messages-dummy.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='obexd/plugins/messages-dummy.c' object='obexd/plugins/obexd-messages-dummy.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o obexd/plugins/obexd-messages-dummy.obj `if test -f 'obexd/plugins/messages-dummy.c'; then $(CYGPATH_W) 'obexd/plugins/messages-dummy.c'; else $(CYGPATH_W) '$(srcdir)/obexd/plugins/messages-dummy.c'; fi` - -obexd/client/obexd-mns.o: obexd/client/mns.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT obexd/client/obexd-mns.o -MD -MP -MF obexd/client/$(DEPDIR)/obexd-mns.Tpo -c -o obexd/client/obexd-mns.o `test -f 'obexd/client/mns.c' || echo '$(srcdir)/'`obexd/client/mns.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) obexd/client/$(DEPDIR)/obexd-mns.Tpo obexd/client/$(DEPDIR)/obexd-mns.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='obexd/client/mns.c' object='obexd/client/obexd-mns.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o obexd/client/obexd-mns.o `test -f 'obexd/client/mns.c' || echo '$(srcdir)/'`obexd/client/mns.c - -obexd/client/obexd-mns.obj: obexd/client/mns.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT obexd/client/obexd-mns.obj -MD -MP -MF obexd/client/$(DEPDIR)/obexd-mns.Tpo -c -o obexd/client/obexd-mns.obj `if test -f 'obexd/client/mns.c'; then $(CYGPATH_W) 'obexd/client/mns.c'; else $(CYGPATH_W) '$(srcdir)/obexd/client/mns.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) obexd/client/$(DEPDIR)/obexd-mns.Tpo obexd/client/$(DEPDIR)/obexd-mns.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='obexd/client/mns.c' object='obexd/client/obexd-mns.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o obexd/client/obexd-mns.obj `if test -f 'obexd/client/mns.c'; then $(CYGPATH_W) 'obexd/client/mns.c'; else $(CYGPATH_W) '$(srcdir)/obexd/client/mns.c'; fi` - -obexd/src/obexd-main.o: obexd/src/main.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT obexd/src/obexd-main.o -MD -MP -MF obexd/src/$(DEPDIR)/obexd-main.Tpo -c -o obexd/src/obexd-main.o `test -f 'obexd/src/main.c' || echo '$(srcdir)/'`obexd/src/main.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) obexd/src/$(DEPDIR)/obexd-main.Tpo obexd/src/$(DEPDIR)/obexd-main.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='obexd/src/main.c' object='obexd/src/obexd-main.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o obexd/src/obexd-main.o `test -f 'obexd/src/main.c' || echo '$(srcdir)/'`obexd/src/main.c - -obexd/src/obexd-main.obj: obexd/src/main.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT obexd/src/obexd-main.obj -MD -MP -MF obexd/src/$(DEPDIR)/obexd-main.Tpo -c -o obexd/src/obexd-main.obj `if test -f 'obexd/src/main.c'; then $(CYGPATH_W) 'obexd/src/main.c'; else $(CYGPATH_W) '$(srcdir)/obexd/src/main.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) obexd/src/$(DEPDIR)/obexd-main.Tpo obexd/src/$(DEPDIR)/obexd-main.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='obexd/src/main.c' object='obexd/src/obexd-main.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o obexd/src/obexd-main.obj `if test -f 'obexd/src/main.c'; then $(CYGPATH_W) 'obexd/src/main.c'; else $(CYGPATH_W) '$(srcdir)/obexd/src/main.c'; fi` - -obexd/src/obexd-plugin.o: obexd/src/plugin.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT obexd/src/obexd-plugin.o -MD -MP -MF obexd/src/$(DEPDIR)/obexd-plugin.Tpo -c -o obexd/src/obexd-plugin.o `test -f 'obexd/src/plugin.c' || echo '$(srcdir)/'`obexd/src/plugin.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) obexd/src/$(DEPDIR)/obexd-plugin.Tpo obexd/src/$(DEPDIR)/obexd-plugin.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='obexd/src/plugin.c' object='obexd/src/obexd-plugin.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o obexd/src/obexd-plugin.o `test -f 'obexd/src/plugin.c' || echo '$(srcdir)/'`obexd/src/plugin.c - -obexd/src/obexd-plugin.obj: obexd/src/plugin.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT obexd/src/obexd-plugin.obj -MD -MP -MF obexd/src/$(DEPDIR)/obexd-plugin.Tpo -c -o obexd/src/obexd-plugin.obj `if test -f 'obexd/src/plugin.c'; then $(CYGPATH_W) 'obexd/src/plugin.c'; else $(CYGPATH_W) '$(srcdir)/obexd/src/plugin.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) obexd/src/$(DEPDIR)/obexd-plugin.Tpo obexd/src/$(DEPDIR)/obexd-plugin.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='obexd/src/plugin.c' object='obexd/src/obexd-plugin.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o obexd/src/obexd-plugin.obj `if test -f 'obexd/src/plugin.c'; then $(CYGPATH_W) 'obexd/src/plugin.c'; else $(CYGPATH_W) '$(srcdir)/obexd/src/plugin.c'; fi` - -obexd/src/obexd-log.o: obexd/src/log.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT obexd/src/obexd-log.o -MD -MP -MF obexd/src/$(DEPDIR)/obexd-log.Tpo -c -o obexd/src/obexd-log.o `test -f 'obexd/src/log.c' || echo '$(srcdir)/'`obexd/src/log.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) obexd/src/$(DEPDIR)/obexd-log.Tpo obexd/src/$(DEPDIR)/obexd-log.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='obexd/src/log.c' object='obexd/src/obexd-log.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o obexd/src/obexd-log.o `test -f 'obexd/src/log.c' || echo '$(srcdir)/'`obexd/src/log.c - -obexd/src/obexd-log.obj: obexd/src/log.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT obexd/src/obexd-log.obj -MD -MP -MF obexd/src/$(DEPDIR)/obexd-log.Tpo -c -o obexd/src/obexd-log.obj `if test -f 'obexd/src/log.c'; then $(CYGPATH_W) 'obexd/src/log.c'; else $(CYGPATH_W) '$(srcdir)/obexd/src/log.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) obexd/src/$(DEPDIR)/obexd-log.Tpo obexd/src/$(DEPDIR)/obexd-log.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='obexd/src/log.c' object='obexd/src/obexd-log.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o obexd/src/obexd-log.obj `if test -f 'obexd/src/log.c'; then $(CYGPATH_W) 'obexd/src/log.c'; else $(CYGPATH_W) '$(srcdir)/obexd/src/log.c'; fi` - -obexd/src/obexd-manager.o: obexd/src/manager.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT obexd/src/obexd-manager.o -MD -MP -MF obexd/src/$(DEPDIR)/obexd-manager.Tpo -c -o obexd/src/obexd-manager.o `test -f 'obexd/src/manager.c' || echo '$(srcdir)/'`obexd/src/manager.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) obexd/src/$(DEPDIR)/obexd-manager.Tpo obexd/src/$(DEPDIR)/obexd-manager.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='obexd/src/manager.c' object='obexd/src/obexd-manager.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o obexd/src/obexd-manager.o `test -f 'obexd/src/manager.c' || echo '$(srcdir)/'`obexd/src/manager.c - -obexd/src/obexd-manager.obj: obexd/src/manager.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT obexd/src/obexd-manager.obj -MD -MP -MF obexd/src/$(DEPDIR)/obexd-manager.Tpo -c -o obexd/src/obexd-manager.obj `if test -f 'obexd/src/manager.c'; then $(CYGPATH_W) 'obexd/src/manager.c'; else $(CYGPATH_W) '$(srcdir)/obexd/src/manager.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) obexd/src/$(DEPDIR)/obexd-manager.Tpo obexd/src/$(DEPDIR)/obexd-manager.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='obexd/src/manager.c' object='obexd/src/obexd-manager.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o obexd/src/obexd-manager.obj `if test -f 'obexd/src/manager.c'; then $(CYGPATH_W) 'obexd/src/manager.c'; else $(CYGPATH_W) '$(srcdir)/obexd/src/manager.c'; fi` - -obexd/src/obexd-obex.o: obexd/src/obex.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT obexd/src/obexd-obex.o -MD -MP -MF obexd/src/$(DEPDIR)/obexd-obex.Tpo -c -o obexd/src/obexd-obex.o `test -f 'obexd/src/obex.c' || echo '$(srcdir)/'`obexd/src/obex.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) obexd/src/$(DEPDIR)/obexd-obex.Tpo obexd/src/$(DEPDIR)/obexd-obex.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='obexd/src/obex.c' object='obexd/src/obexd-obex.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o obexd/src/obexd-obex.o `test -f 'obexd/src/obex.c' || echo '$(srcdir)/'`obexd/src/obex.c - -obexd/src/obexd-obex.obj: obexd/src/obex.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT obexd/src/obexd-obex.obj -MD -MP -MF obexd/src/$(DEPDIR)/obexd-obex.Tpo -c -o obexd/src/obexd-obex.obj `if test -f 'obexd/src/obex.c'; then $(CYGPATH_W) 'obexd/src/obex.c'; else $(CYGPATH_W) '$(srcdir)/obexd/src/obex.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) obexd/src/$(DEPDIR)/obexd-obex.Tpo obexd/src/$(DEPDIR)/obexd-obex.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='obexd/src/obex.c' object='obexd/src/obexd-obex.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o obexd/src/obexd-obex.obj `if test -f 'obexd/src/obex.c'; then $(CYGPATH_W) 'obexd/src/obex.c'; else $(CYGPATH_W) '$(srcdir)/obexd/src/obex.c'; fi` - -obexd/src/obexd-mimetype.o: obexd/src/mimetype.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT obexd/src/obexd-mimetype.o -MD -MP -MF obexd/src/$(DEPDIR)/obexd-mimetype.Tpo -c -o obexd/src/obexd-mimetype.o `test -f 'obexd/src/mimetype.c' || echo '$(srcdir)/'`obexd/src/mimetype.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) obexd/src/$(DEPDIR)/obexd-mimetype.Tpo obexd/src/$(DEPDIR)/obexd-mimetype.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='obexd/src/mimetype.c' object='obexd/src/obexd-mimetype.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o obexd/src/obexd-mimetype.o `test -f 'obexd/src/mimetype.c' || echo '$(srcdir)/'`obexd/src/mimetype.c - -obexd/src/obexd-mimetype.obj: obexd/src/mimetype.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT obexd/src/obexd-mimetype.obj -MD -MP -MF obexd/src/$(DEPDIR)/obexd-mimetype.Tpo -c -o obexd/src/obexd-mimetype.obj `if test -f 'obexd/src/mimetype.c'; then $(CYGPATH_W) 'obexd/src/mimetype.c'; else $(CYGPATH_W) '$(srcdir)/obexd/src/mimetype.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) obexd/src/$(DEPDIR)/obexd-mimetype.Tpo obexd/src/$(DEPDIR)/obexd-mimetype.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='obexd/src/mimetype.c' object='obexd/src/obexd-mimetype.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o obexd/src/obexd-mimetype.obj `if test -f 'obexd/src/mimetype.c'; then $(CYGPATH_W) 'obexd/src/mimetype.c'; else $(CYGPATH_W) '$(srcdir)/obexd/src/mimetype.c'; fi` - -obexd/src/obexd-service.o: obexd/src/service.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT obexd/src/obexd-service.o -MD -MP -MF obexd/src/$(DEPDIR)/obexd-service.Tpo -c -o obexd/src/obexd-service.o `test -f 'obexd/src/service.c' || echo '$(srcdir)/'`obexd/src/service.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) obexd/src/$(DEPDIR)/obexd-service.Tpo obexd/src/$(DEPDIR)/obexd-service.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='obexd/src/service.c' object='obexd/src/obexd-service.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o obexd/src/obexd-service.o `test -f 'obexd/src/service.c' || echo '$(srcdir)/'`obexd/src/service.c - -obexd/src/obexd-service.obj: obexd/src/service.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT obexd/src/obexd-service.obj -MD -MP -MF obexd/src/$(DEPDIR)/obexd-service.Tpo -c -o obexd/src/obexd-service.obj `if test -f 'obexd/src/service.c'; then $(CYGPATH_W) 'obexd/src/service.c'; else $(CYGPATH_W) '$(srcdir)/obexd/src/service.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) obexd/src/$(DEPDIR)/obexd-service.Tpo obexd/src/$(DEPDIR)/obexd-service.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='obexd/src/service.c' object='obexd/src/obexd-service.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o obexd/src/obexd-service.obj `if test -f 'obexd/src/service.c'; then $(CYGPATH_W) 'obexd/src/service.c'; else $(CYGPATH_W) '$(srcdir)/obexd/src/service.c'; fi` - -obexd/src/obexd-transport.o: obexd/src/transport.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT obexd/src/obexd-transport.o -MD -MP -MF obexd/src/$(DEPDIR)/obexd-transport.Tpo -c -o obexd/src/obexd-transport.o `test -f 'obexd/src/transport.c' || echo '$(srcdir)/'`obexd/src/transport.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) obexd/src/$(DEPDIR)/obexd-transport.Tpo obexd/src/$(DEPDIR)/obexd-transport.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='obexd/src/transport.c' object='obexd/src/obexd-transport.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o obexd/src/obexd-transport.o `test -f 'obexd/src/transport.c' || echo '$(srcdir)/'`obexd/src/transport.c - -obexd/src/obexd-transport.obj: obexd/src/transport.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT obexd/src/obexd-transport.obj -MD -MP -MF obexd/src/$(DEPDIR)/obexd-transport.Tpo -c -o obexd/src/obexd-transport.obj `if test -f 'obexd/src/transport.c'; then $(CYGPATH_W) 'obexd/src/transport.c'; else $(CYGPATH_W) '$(srcdir)/obexd/src/transport.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) obexd/src/$(DEPDIR)/obexd-transport.Tpo obexd/src/$(DEPDIR)/obexd-transport.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='obexd/src/transport.c' object='obexd/src/obexd-transport.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o obexd/src/obexd-transport.obj `if test -f 'obexd/src/transport.c'; then $(CYGPATH_W) 'obexd/src/transport.c'; else $(CYGPATH_W) '$(srcdir)/obexd/src/transport.c'; fi` - -obexd/src/obexd-server.o: obexd/src/server.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT obexd/src/obexd-server.o -MD -MP -MF obexd/src/$(DEPDIR)/obexd-server.Tpo -c -o obexd/src/obexd-server.o `test -f 'obexd/src/server.c' || echo '$(srcdir)/'`obexd/src/server.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) obexd/src/$(DEPDIR)/obexd-server.Tpo obexd/src/$(DEPDIR)/obexd-server.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='obexd/src/server.c' object='obexd/src/obexd-server.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o obexd/src/obexd-server.o `test -f 'obexd/src/server.c' || echo '$(srcdir)/'`obexd/src/server.c - -obexd/src/obexd-server.obj: obexd/src/server.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT obexd/src/obexd-server.obj -MD -MP -MF obexd/src/$(DEPDIR)/obexd-server.Tpo -c -o obexd/src/obexd-server.obj `if test -f 'obexd/src/server.c'; then $(CYGPATH_W) 'obexd/src/server.c'; else $(CYGPATH_W) '$(srcdir)/obexd/src/server.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) obexd/src/$(DEPDIR)/obexd-server.Tpo obexd/src/$(DEPDIR)/obexd-server.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='obexd/src/server.c' object='obexd/src/obexd-server.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o obexd/src/obexd-server.obj `if test -f 'obexd/src/server.c'; then $(CYGPATH_W) 'obexd/src/server.c'; else $(CYGPATH_W) '$(srcdir)/obexd/src/server.c'; fi` - -obexd/client/obexd-manager.o: obexd/client/manager.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT obexd/client/obexd-manager.o -MD -MP -MF obexd/client/$(DEPDIR)/obexd-manager.Tpo -c -o obexd/client/obexd-manager.o `test -f 'obexd/client/manager.c' || echo '$(srcdir)/'`obexd/client/manager.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) obexd/client/$(DEPDIR)/obexd-manager.Tpo obexd/client/$(DEPDIR)/obexd-manager.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='obexd/client/manager.c' object='obexd/client/obexd-manager.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o obexd/client/obexd-manager.o `test -f 'obexd/client/manager.c' || echo '$(srcdir)/'`obexd/client/manager.c - -obexd/client/obexd-manager.obj: obexd/client/manager.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT obexd/client/obexd-manager.obj -MD -MP -MF obexd/client/$(DEPDIR)/obexd-manager.Tpo -c -o obexd/client/obexd-manager.obj `if test -f 'obexd/client/manager.c'; then $(CYGPATH_W) 'obexd/client/manager.c'; else $(CYGPATH_W) '$(srcdir)/obexd/client/manager.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) obexd/client/$(DEPDIR)/obexd-manager.Tpo obexd/client/$(DEPDIR)/obexd-manager.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='obexd/client/manager.c' object='obexd/client/obexd-manager.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o obexd/client/obexd-manager.obj `if test -f 'obexd/client/manager.c'; then $(CYGPATH_W) 'obexd/client/manager.c'; else $(CYGPATH_W) '$(srcdir)/obexd/client/manager.c'; fi` - -obexd/client/obexd-session.o: obexd/client/session.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT obexd/client/obexd-session.o -MD -MP -MF obexd/client/$(DEPDIR)/obexd-session.Tpo -c -o obexd/client/obexd-session.o `test -f 'obexd/client/session.c' || echo '$(srcdir)/'`obexd/client/session.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) obexd/client/$(DEPDIR)/obexd-session.Tpo obexd/client/$(DEPDIR)/obexd-session.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='obexd/client/session.c' object='obexd/client/obexd-session.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o obexd/client/obexd-session.o `test -f 'obexd/client/session.c' || echo '$(srcdir)/'`obexd/client/session.c - -obexd/client/obexd-session.obj: obexd/client/session.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT obexd/client/obexd-session.obj -MD -MP -MF obexd/client/$(DEPDIR)/obexd-session.Tpo -c -o obexd/client/obexd-session.obj `if test -f 'obexd/client/session.c'; then $(CYGPATH_W) 'obexd/client/session.c'; else $(CYGPATH_W) '$(srcdir)/obexd/client/session.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) obexd/client/$(DEPDIR)/obexd-session.Tpo obexd/client/$(DEPDIR)/obexd-session.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='obexd/client/session.c' object='obexd/client/obexd-session.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o obexd/client/obexd-session.obj `if test -f 'obexd/client/session.c'; then $(CYGPATH_W) 'obexd/client/session.c'; else $(CYGPATH_W) '$(srcdir)/obexd/client/session.c'; fi` - -obexd/client/obexd-bluetooth.o: obexd/client/bluetooth.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT obexd/client/obexd-bluetooth.o -MD -MP -MF obexd/client/$(DEPDIR)/obexd-bluetooth.Tpo -c -o obexd/client/obexd-bluetooth.o `test -f 'obexd/client/bluetooth.c' || echo '$(srcdir)/'`obexd/client/bluetooth.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) obexd/client/$(DEPDIR)/obexd-bluetooth.Tpo obexd/client/$(DEPDIR)/obexd-bluetooth.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='obexd/client/bluetooth.c' object='obexd/client/obexd-bluetooth.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o obexd/client/obexd-bluetooth.o `test -f 'obexd/client/bluetooth.c' || echo '$(srcdir)/'`obexd/client/bluetooth.c - -obexd/client/obexd-bluetooth.obj: obexd/client/bluetooth.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT obexd/client/obexd-bluetooth.obj -MD -MP -MF obexd/client/$(DEPDIR)/obexd-bluetooth.Tpo -c -o obexd/client/obexd-bluetooth.obj `if test -f 'obexd/client/bluetooth.c'; then $(CYGPATH_W) 'obexd/client/bluetooth.c'; else $(CYGPATH_W) '$(srcdir)/obexd/client/bluetooth.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) obexd/client/$(DEPDIR)/obexd-bluetooth.Tpo obexd/client/$(DEPDIR)/obexd-bluetooth.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='obexd/client/bluetooth.c' object='obexd/client/obexd-bluetooth.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o obexd/client/obexd-bluetooth.obj `if test -f 'obexd/client/bluetooth.c'; then $(CYGPATH_W) 'obexd/client/bluetooth.c'; else $(CYGPATH_W) '$(srcdir)/obexd/client/bluetooth.c'; fi` - -obexd/client/obexd-sync.o: obexd/client/sync.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT obexd/client/obexd-sync.o -MD -MP -MF obexd/client/$(DEPDIR)/obexd-sync.Tpo -c -o obexd/client/obexd-sync.o `test -f 'obexd/client/sync.c' || echo '$(srcdir)/'`obexd/client/sync.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) obexd/client/$(DEPDIR)/obexd-sync.Tpo obexd/client/$(DEPDIR)/obexd-sync.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='obexd/client/sync.c' object='obexd/client/obexd-sync.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o obexd/client/obexd-sync.o `test -f 'obexd/client/sync.c' || echo '$(srcdir)/'`obexd/client/sync.c - -obexd/client/obexd-sync.obj: obexd/client/sync.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT obexd/client/obexd-sync.obj -MD -MP -MF obexd/client/$(DEPDIR)/obexd-sync.Tpo -c -o obexd/client/obexd-sync.obj `if test -f 'obexd/client/sync.c'; then $(CYGPATH_W) 'obexd/client/sync.c'; else $(CYGPATH_W) '$(srcdir)/obexd/client/sync.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) obexd/client/$(DEPDIR)/obexd-sync.Tpo obexd/client/$(DEPDIR)/obexd-sync.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='obexd/client/sync.c' object='obexd/client/obexd-sync.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o obexd/client/obexd-sync.obj `if test -f 'obexd/client/sync.c'; then $(CYGPATH_W) 'obexd/client/sync.c'; else $(CYGPATH_W) '$(srcdir)/obexd/client/sync.c'; fi` - -obexd/client/obexd-pbap.o: obexd/client/pbap.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT obexd/client/obexd-pbap.o -MD -MP -MF obexd/client/$(DEPDIR)/obexd-pbap.Tpo -c -o obexd/client/obexd-pbap.o `test -f 'obexd/client/pbap.c' || echo '$(srcdir)/'`obexd/client/pbap.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) obexd/client/$(DEPDIR)/obexd-pbap.Tpo obexd/client/$(DEPDIR)/obexd-pbap.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='obexd/client/pbap.c' object='obexd/client/obexd-pbap.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o obexd/client/obexd-pbap.o `test -f 'obexd/client/pbap.c' || echo '$(srcdir)/'`obexd/client/pbap.c - -obexd/client/obexd-pbap.obj: obexd/client/pbap.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT obexd/client/obexd-pbap.obj -MD -MP -MF obexd/client/$(DEPDIR)/obexd-pbap.Tpo -c -o obexd/client/obexd-pbap.obj `if test -f 'obexd/client/pbap.c'; then $(CYGPATH_W) 'obexd/client/pbap.c'; else $(CYGPATH_W) '$(srcdir)/obexd/client/pbap.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) obexd/client/$(DEPDIR)/obexd-pbap.Tpo obexd/client/$(DEPDIR)/obexd-pbap.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='obexd/client/pbap.c' object='obexd/client/obexd-pbap.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o obexd/client/obexd-pbap.obj `if test -f 'obexd/client/pbap.c'; then $(CYGPATH_W) 'obexd/client/pbap.c'; else $(CYGPATH_W) '$(srcdir)/obexd/client/pbap.c'; fi` - -obexd/client/obexd-ftp.o: obexd/client/ftp.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT obexd/client/obexd-ftp.o -MD -MP -MF obexd/client/$(DEPDIR)/obexd-ftp.Tpo -c -o obexd/client/obexd-ftp.o `test -f 'obexd/client/ftp.c' || echo '$(srcdir)/'`obexd/client/ftp.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) obexd/client/$(DEPDIR)/obexd-ftp.Tpo obexd/client/$(DEPDIR)/obexd-ftp.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='obexd/client/ftp.c' object='obexd/client/obexd-ftp.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o obexd/client/obexd-ftp.o `test -f 'obexd/client/ftp.c' || echo '$(srcdir)/'`obexd/client/ftp.c - -obexd/client/obexd-ftp.obj: obexd/client/ftp.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT obexd/client/obexd-ftp.obj -MD -MP -MF obexd/client/$(DEPDIR)/obexd-ftp.Tpo -c -o obexd/client/obexd-ftp.obj `if test -f 'obexd/client/ftp.c'; then $(CYGPATH_W) 'obexd/client/ftp.c'; else $(CYGPATH_W) '$(srcdir)/obexd/client/ftp.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) obexd/client/$(DEPDIR)/obexd-ftp.Tpo obexd/client/$(DEPDIR)/obexd-ftp.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='obexd/client/ftp.c' object='obexd/client/obexd-ftp.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o obexd/client/obexd-ftp.obj `if test -f 'obexd/client/ftp.c'; then $(CYGPATH_W) 'obexd/client/ftp.c'; else $(CYGPATH_W) '$(srcdir)/obexd/client/ftp.c'; fi` - -obexd/client/obexd-opp.o: obexd/client/opp.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT obexd/client/obexd-opp.o -MD -MP -MF obexd/client/$(DEPDIR)/obexd-opp.Tpo -c -o obexd/client/obexd-opp.o `test -f 'obexd/client/opp.c' || echo '$(srcdir)/'`obexd/client/opp.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) obexd/client/$(DEPDIR)/obexd-opp.Tpo obexd/client/$(DEPDIR)/obexd-opp.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='obexd/client/opp.c' object='obexd/client/obexd-opp.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o obexd/client/obexd-opp.o `test -f 'obexd/client/opp.c' || echo '$(srcdir)/'`obexd/client/opp.c - -obexd/client/obexd-opp.obj: obexd/client/opp.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT obexd/client/obexd-opp.obj -MD -MP -MF obexd/client/$(DEPDIR)/obexd-opp.Tpo -c -o obexd/client/obexd-opp.obj `if test -f 'obexd/client/opp.c'; then $(CYGPATH_W) 'obexd/client/opp.c'; else $(CYGPATH_W) '$(srcdir)/obexd/client/opp.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) obexd/client/$(DEPDIR)/obexd-opp.Tpo obexd/client/$(DEPDIR)/obexd-opp.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='obexd/client/opp.c' object='obexd/client/obexd-opp.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o obexd/client/obexd-opp.obj `if test -f 'obexd/client/opp.c'; then $(CYGPATH_W) 'obexd/client/opp.c'; else $(CYGPATH_W) '$(srcdir)/obexd/client/opp.c'; fi` - -obexd/client/obexd-map.o: obexd/client/map.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT obexd/client/obexd-map.o -MD -MP -MF obexd/client/$(DEPDIR)/obexd-map.Tpo -c -o obexd/client/obexd-map.o `test -f 'obexd/client/map.c' || echo '$(srcdir)/'`obexd/client/map.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) obexd/client/$(DEPDIR)/obexd-map.Tpo obexd/client/$(DEPDIR)/obexd-map.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='obexd/client/map.c' object='obexd/client/obexd-map.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o obexd/client/obexd-map.o `test -f 'obexd/client/map.c' || echo '$(srcdir)/'`obexd/client/map.c - -obexd/client/obexd-map.obj: obexd/client/map.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT obexd/client/obexd-map.obj -MD -MP -MF obexd/client/$(DEPDIR)/obexd-map.Tpo -c -o obexd/client/obexd-map.obj `if test -f 'obexd/client/map.c'; then $(CYGPATH_W) 'obexd/client/map.c'; else $(CYGPATH_W) '$(srcdir)/obexd/client/map.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) obexd/client/$(DEPDIR)/obexd-map.Tpo obexd/client/$(DEPDIR)/obexd-map.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='obexd/client/map.c' object='obexd/client/obexd-map.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o obexd/client/obexd-map.obj `if test -f 'obexd/client/map.c'; then $(CYGPATH_W) 'obexd/client/map.c'; else $(CYGPATH_W) '$(srcdir)/obexd/client/map.c'; fi` - -obexd/client/obexd-transfer.o: obexd/client/transfer.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT obexd/client/obexd-transfer.o -MD -MP -MF obexd/client/$(DEPDIR)/obexd-transfer.Tpo -c -o obexd/client/obexd-transfer.o `test -f 'obexd/client/transfer.c' || echo '$(srcdir)/'`obexd/client/transfer.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) obexd/client/$(DEPDIR)/obexd-transfer.Tpo obexd/client/$(DEPDIR)/obexd-transfer.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='obexd/client/transfer.c' object='obexd/client/obexd-transfer.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o obexd/client/obexd-transfer.o `test -f 'obexd/client/transfer.c' || echo '$(srcdir)/'`obexd/client/transfer.c - -obexd/client/obexd-transfer.obj: obexd/client/transfer.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT obexd/client/obexd-transfer.obj -MD -MP -MF obexd/client/$(DEPDIR)/obexd-transfer.Tpo -c -o obexd/client/obexd-transfer.obj `if test -f 'obexd/client/transfer.c'; then $(CYGPATH_W) 'obexd/client/transfer.c'; else $(CYGPATH_W) '$(srcdir)/obexd/client/transfer.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) obexd/client/$(DEPDIR)/obexd-transfer.Tpo obexd/client/$(DEPDIR)/obexd-transfer.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='obexd/client/transfer.c' object='obexd/client/obexd-transfer.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o obexd/client/obexd-transfer.obj `if test -f 'obexd/client/transfer.c'; then $(CYGPATH_W) 'obexd/client/transfer.c'; else $(CYGPATH_W) '$(srcdir)/obexd/client/transfer.c'; fi` - -obexd/client/obexd-transport.o: obexd/client/transport.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT obexd/client/obexd-transport.o -MD -MP -MF obexd/client/$(DEPDIR)/obexd-transport.Tpo -c -o obexd/client/obexd-transport.o `test -f 'obexd/client/transport.c' || echo '$(srcdir)/'`obexd/client/transport.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) obexd/client/$(DEPDIR)/obexd-transport.Tpo obexd/client/$(DEPDIR)/obexd-transport.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='obexd/client/transport.c' object='obexd/client/obexd-transport.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o obexd/client/obexd-transport.o `test -f 'obexd/client/transport.c' || echo '$(srcdir)/'`obexd/client/transport.c - -obexd/client/obexd-transport.obj: obexd/client/transport.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT obexd/client/obexd-transport.obj -MD -MP -MF obexd/client/$(DEPDIR)/obexd-transport.Tpo -c -o obexd/client/obexd-transport.obj `if test -f 'obexd/client/transport.c'; then $(CYGPATH_W) 'obexd/client/transport.c'; else $(CYGPATH_W) '$(srcdir)/obexd/client/transport.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) obexd/client/$(DEPDIR)/obexd-transport.Tpo obexd/client/$(DEPDIR)/obexd-transport.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='obexd/client/transport.c' object='obexd/client/obexd-transport.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o obexd/client/obexd-transport.obj `if test -f 'obexd/client/transport.c'; then $(CYGPATH_W) 'obexd/client/transport.c'; else $(CYGPATH_W) '$(srcdir)/obexd/client/transport.c'; fi` - -obexd/client/obexd-dbus.o: obexd/client/dbus.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT obexd/client/obexd-dbus.o -MD -MP -MF obexd/client/$(DEPDIR)/obexd-dbus.Tpo -c -o obexd/client/obexd-dbus.o `test -f 'obexd/client/dbus.c' || echo '$(srcdir)/'`obexd/client/dbus.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) obexd/client/$(DEPDIR)/obexd-dbus.Tpo obexd/client/$(DEPDIR)/obexd-dbus.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='obexd/client/dbus.c' object='obexd/client/obexd-dbus.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o obexd/client/obexd-dbus.o `test -f 'obexd/client/dbus.c' || echo '$(srcdir)/'`obexd/client/dbus.c - -obexd/client/obexd-dbus.obj: obexd/client/dbus.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT obexd/client/obexd-dbus.obj -MD -MP -MF obexd/client/$(DEPDIR)/obexd-dbus.Tpo -c -o obexd/client/obexd-dbus.obj `if test -f 'obexd/client/dbus.c'; then $(CYGPATH_W) 'obexd/client/dbus.c'; else $(CYGPATH_W) '$(srcdir)/obexd/client/dbus.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) obexd/client/$(DEPDIR)/obexd-dbus.Tpo obexd/client/$(DEPDIR)/obexd-dbus.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='obexd/client/dbus.c' object='obexd/client/obexd-dbus.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o obexd/client/obexd-dbus.obj `if test -f 'obexd/client/dbus.c'; then $(CYGPATH_W) 'obexd/client/dbus.c'; else $(CYGPATH_W) '$(srcdir)/obexd/client/dbus.c'; fi` - -obexd/client/obexd-driver.o: obexd/client/driver.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT obexd/client/obexd-driver.o -MD -MP -MF obexd/client/$(DEPDIR)/obexd-driver.Tpo -c -o obexd/client/obexd-driver.o `test -f 'obexd/client/driver.c' || echo '$(srcdir)/'`obexd/client/driver.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) obexd/client/$(DEPDIR)/obexd-driver.Tpo obexd/client/$(DEPDIR)/obexd-driver.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='obexd/client/driver.c' object='obexd/client/obexd-driver.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o obexd/client/obexd-driver.o `test -f 'obexd/client/driver.c' || echo '$(srcdir)/'`obexd/client/driver.c - -obexd/client/obexd-driver.obj: obexd/client/driver.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -MT obexd/client/obexd-driver.obj -MD -MP -MF obexd/client/$(DEPDIR)/obexd-driver.Tpo -c -o obexd/client/obexd-driver.obj `if test -f 'obexd/client/driver.c'; then $(CYGPATH_W) 'obexd/client/driver.c'; else $(CYGPATH_W) '$(srcdir)/obexd/client/driver.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) obexd/client/$(DEPDIR)/obexd-driver.Tpo obexd/client/$(DEPDIR)/obexd-driver.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='obexd/client/driver.c' object='obexd/client/obexd-driver.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(obexd_src_obexd_CPPFLAGS) $(CPPFLAGS) $(obexd_src_obexd_CFLAGS) $(CFLAGS) -c -o obexd/client/obexd-driver.obj `if test -f 'obexd/client/driver.c'; then $(CYGPATH_W) 'obexd/client/driver.c'; else $(CYGPATH_W) '$(srcdir)/obexd/client/driver.c'; fi` - -gdbus/bluetoothd-mainloop.o: gdbus/mainloop.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT gdbus/bluetoothd-mainloop.o -MD -MP -MF gdbus/$(DEPDIR)/bluetoothd-mainloop.Tpo -c -o gdbus/bluetoothd-mainloop.o `test -f 'gdbus/mainloop.c' || echo '$(srcdir)/'`gdbus/mainloop.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) gdbus/$(DEPDIR)/bluetoothd-mainloop.Tpo gdbus/$(DEPDIR)/bluetoothd-mainloop.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gdbus/mainloop.c' object='gdbus/bluetoothd-mainloop.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o gdbus/bluetoothd-mainloop.o `test -f 'gdbus/mainloop.c' || echo '$(srcdir)/'`gdbus/mainloop.c - -gdbus/bluetoothd-mainloop.obj: gdbus/mainloop.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT gdbus/bluetoothd-mainloop.obj -MD -MP -MF gdbus/$(DEPDIR)/bluetoothd-mainloop.Tpo -c -o gdbus/bluetoothd-mainloop.obj `if test -f 'gdbus/mainloop.c'; then $(CYGPATH_W) 'gdbus/mainloop.c'; else $(CYGPATH_W) '$(srcdir)/gdbus/mainloop.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) gdbus/$(DEPDIR)/bluetoothd-mainloop.Tpo gdbus/$(DEPDIR)/bluetoothd-mainloop.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gdbus/mainloop.c' object='gdbus/bluetoothd-mainloop.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o gdbus/bluetoothd-mainloop.obj `if test -f 'gdbus/mainloop.c'; then $(CYGPATH_W) 'gdbus/mainloop.c'; else $(CYGPATH_W) '$(srcdir)/gdbus/mainloop.c'; fi` - -gdbus/bluetoothd-watch.o: gdbus/watch.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT gdbus/bluetoothd-watch.o -MD -MP -MF gdbus/$(DEPDIR)/bluetoothd-watch.Tpo -c -o gdbus/bluetoothd-watch.o `test -f 'gdbus/watch.c' || echo '$(srcdir)/'`gdbus/watch.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) gdbus/$(DEPDIR)/bluetoothd-watch.Tpo gdbus/$(DEPDIR)/bluetoothd-watch.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gdbus/watch.c' object='gdbus/bluetoothd-watch.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o gdbus/bluetoothd-watch.o `test -f 'gdbus/watch.c' || echo '$(srcdir)/'`gdbus/watch.c - -gdbus/bluetoothd-watch.obj: gdbus/watch.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT gdbus/bluetoothd-watch.obj -MD -MP -MF gdbus/$(DEPDIR)/bluetoothd-watch.Tpo -c -o gdbus/bluetoothd-watch.obj `if test -f 'gdbus/watch.c'; then $(CYGPATH_W) 'gdbus/watch.c'; else $(CYGPATH_W) '$(srcdir)/gdbus/watch.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) gdbus/$(DEPDIR)/bluetoothd-watch.Tpo gdbus/$(DEPDIR)/bluetoothd-watch.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gdbus/watch.c' object='gdbus/bluetoothd-watch.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o gdbus/bluetoothd-watch.obj `if test -f 'gdbus/watch.c'; then $(CYGPATH_W) 'gdbus/watch.c'; else $(CYGPATH_W) '$(srcdir)/gdbus/watch.c'; fi` - -gdbus/bluetoothd-object.o: gdbus/object.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT gdbus/bluetoothd-object.o -MD -MP -MF gdbus/$(DEPDIR)/bluetoothd-object.Tpo -c -o gdbus/bluetoothd-object.o `test -f 'gdbus/object.c' || echo '$(srcdir)/'`gdbus/object.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) gdbus/$(DEPDIR)/bluetoothd-object.Tpo gdbus/$(DEPDIR)/bluetoothd-object.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gdbus/object.c' object='gdbus/bluetoothd-object.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o gdbus/bluetoothd-object.o `test -f 'gdbus/object.c' || echo '$(srcdir)/'`gdbus/object.c - -gdbus/bluetoothd-object.obj: gdbus/object.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT gdbus/bluetoothd-object.obj -MD -MP -MF gdbus/$(DEPDIR)/bluetoothd-object.Tpo -c -o gdbus/bluetoothd-object.obj `if test -f 'gdbus/object.c'; then $(CYGPATH_W) 'gdbus/object.c'; else $(CYGPATH_W) '$(srcdir)/gdbus/object.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) gdbus/$(DEPDIR)/bluetoothd-object.Tpo gdbus/$(DEPDIR)/bluetoothd-object.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gdbus/object.c' object='gdbus/bluetoothd-object.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o gdbus/bluetoothd-object.obj `if test -f 'gdbus/object.c'; then $(CYGPATH_W) 'gdbus/object.c'; else $(CYGPATH_W) '$(srcdir)/gdbus/object.c'; fi` - -gdbus/bluetoothd-client.o: gdbus/client.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT gdbus/bluetoothd-client.o -MD -MP -MF gdbus/$(DEPDIR)/bluetoothd-client.Tpo -c -o gdbus/bluetoothd-client.o `test -f 'gdbus/client.c' || echo '$(srcdir)/'`gdbus/client.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) gdbus/$(DEPDIR)/bluetoothd-client.Tpo gdbus/$(DEPDIR)/bluetoothd-client.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gdbus/client.c' object='gdbus/bluetoothd-client.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o gdbus/bluetoothd-client.o `test -f 'gdbus/client.c' || echo '$(srcdir)/'`gdbus/client.c - -gdbus/bluetoothd-client.obj: gdbus/client.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT gdbus/bluetoothd-client.obj -MD -MP -MF gdbus/$(DEPDIR)/bluetoothd-client.Tpo -c -o gdbus/bluetoothd-client.obj `if test -f 'gdbus/client.c'; then $(CYGPATH_W) 'gdbus/client.c'; else $(CYGPATH_W) '$(srcdir)/gdbus/client.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) gdbus/$(DEPDIR)/bluetoothd-client.Tpo gdbus/$(DEPDIR)/bluetoothd-client.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gdbus/client.c' object='gdbus/bluetoothd-client.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o gdbus/bluetoothd-client.obj `if test -f 'gdbus/client.c'; then $(CYGPATH_W) 'gdbus/client.c'; else $(CYGPATH_W) '$(srcdir)/gdbus/client.c'; fi` - -gdbus/bluetoothd-polkit.o: gdbus/polkit.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT gdbus/bluetoothd-polkit.o -MD -MP -MF gdbus/$(DEPDIR)/bluetoothd-polkit.Tpo -c -o gdbus/bluetoothd-polkit.o `test -f 'gdbus/polkit.c' || echo '$(srcdir)/'`gdbus/polkit.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) gdbus/$(DEPDIR)/bluetoothd-polkit.Tpo gdbus/$(DEPDIR)/bluetoothd-polkit.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gdbus/polkit.c' object='gdbus/bluetoothd-polkit.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o gdbus/bluetoothd-polkit.o `test -f 'gdbus/polkit.c' || echo '$(srcdir)/'`gdbus/polkit.c - -gdbus/bluetoothd-polkit.obj: gdbus/polkit.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT gdbus/bluetoothd-polkit.obj -MD -MP -MF gdbus/$(DEPDIR)/bluetoothd-polkit.Tpo -c -o gdbus/bluetoothd-polkit.obj `if test -f 'gdbus/polkit.c'; then $(CYGPATH_W) 'gdbus/polkit.c'; else $(CYGPATH_W) '$(srcdir)/gdbus/polkit.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) gdbus/$(DEPDIR)/bluetoothd-polkit.Tpo gdbus/$(DEPDIR)/bluetoothd-polkit.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gdbus/polkit.c' object='gdbus/bluetoothd-polkit.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o gdbus/bluetoothd-polkit.obj `if test -f 'gdbus/polkit.c'; then $(CYGPATH_W) 'gdbus/polkit.c'; else $(CYGPATH_W) '$(srcdir)/gdbus/polkit.c'; fi` - -plugins/bluetoothd-hostname.o: plugins/hostname.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT plugins/bluetoothd-hostname.o -MD -MP -MF plugins/$(DEPDIR)/bluetoothd-hostname.Tpo -c -o plugins/bluetoothd-hostname.o `test -f 'plugins/hostname.c' || echo '$(srcdir)/'`plugins/hostname.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) plugins/$(DEPDIR)/bluetoothd-hostname.Tpo plugins/$(DEPDIR)/bluetoothd-hostname.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='plugins/hostname.c' object='plugins/bluetoothd-hostname.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o plugins/bluetoothd-hostname.o `test -f 'plugins/hostname.c' || echo '$(srcdir)/'`plugins/hostname.c - -plugins/bluetoothd-hostname.obj: plugins/hostname.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT plugins/bluetoothd-hostname.obj -MD -MP -MF plugins/$(DEPDIR)/bluetoothd-hostname.Tpo -c -o plugins/bluetoothd-hostname.obj `if test -f 'plugins/hostname.c'; then $(CYGPATH_W) 'plugins/hostname.c'; else $(CYGPATH_W) '$(srcdir)/plugins/hostname.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) plugins/$(DEPDIR)/bluetoothd-hostname.Tpo plugins/$(DEPDIR)/bluetoothd-hostname.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='plugins/hostname.c' object='plugins/bluetoothd-hostname.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o plugins/bluetoothd-hostname.obj `if test -f 'plugins/hostname.c'; then $(CYGPATH_W) 'plugins/hostname.c'; else $(CYGPATH_W) '$(srcdir)/plugins/hostname.c'; fi` - -plugins/bluetoothd-wiimote.o: plugins/wiimote.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT plugins/bluetoothd-wiimote.o -MD -MP -MF plugins/$(DEPDIR)/bluetoothd-wiimote.Tpo -c -o plugins/bluetoothd-wiimote.o `test -f 'plugins/wiimote.c' || echo '$(srcdir)/'`plugins/wiimote.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) plugins/$(DEPDIR)/bluetoothd-wiimote.Tpo plugins/$(DEPDIR)/bluetoothd-wiimote.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='plugins/wiimote.c' object='plugins/bluetoothd-wiimote.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o plugins/bluetoothd-wiimote.o `test -f 'plugins/wiimote.c' || echo '$(srcdir)/'`plugins/wiimote.c - -plugins/bluetoothd-wiimote.obj: plugins/wiimote.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT plugins/bluetoothd-wiimote.obj -MD -MP -MF plugins/$(DEPDIR)/bluetoothd-wiimote.Tpo -c -o plugins/bluetoothd-wiimote.obj `if test -f 'plugins/wiimote.c'; then $(CYGPATH_W) 'plugins/wiimote.c'; else $(CYGPATH_W) '$(srcdir)/plugins/wiimote.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) plugins/$(DEPDIR)/bluetoothd-wiimote.Tpo plugins/$(DEPDIR)/bluetoothd-wiimote.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='plugins/wiimote.c' object='plugins/bluetoothd-wiimote.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o plugins/bluetoothd-wiimote.obj `if test -f 'plugins/wiimote.c'; then $(CYGPATH_W) 'plugins/wiimote.c'; else $(CYGPATH_W) '$(srcdir)/plugins/wiimote.c'; fi` - -plugins/bluetoothd-gatt-example.o: plugins/gatt-example.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT plugins/bluetoothd-gatt-example.o -MD -MP -MF plugins/$(DEPDIR)/bluetoothd-gatt-example.Tpo -c -o plugins/bluetoothd-gatt-example.o `test -f 'plugins/gatt-example.c' || echo '$(srcdir)/'`plugins/gatt-example.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) plugins/$(DEPDIR)/bluetoothd-gatt-example.Tpo plugins/$(DEPDIR)/bluetoothd-gatt-example.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='plugins/gatt-example.c' object='plugins/bluetoothd-gatt-example.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o plugins/bluetoothd-gatt-example.o `test -f 'plugins/gatt-example.c' || echo '$(srcdir)/'`plugins/gatt-example.c - -plugins/bluetoothd-gatt-example.obj: plugins/gatt-example.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT plugins/bluetoothd-gatt-example.obj -MD -MP -MF plugins/$(DEPDIR)/bluetoothd-gatt-example.Tpo -c -o plugins/bluetoothd-gatt-example.obj `if test -f 'plugins/gatt-example.c'; then $(CYGPATH_W) 'plugins/gatt-example.c'; else $(CYGPATH_W) '$(srcdir)/plugins/gatt-example.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) plugins/$(DEPDIR)/bluetoothd-gatt-example.Tpo plugins/$(DEPDIR)/bluetoothd-gatt-example.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='plugins/gatt-example.c' object='plugins/bluetoothd-gatt-example.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o plugins/bluetoothd-gatt-example.obj `if test -f 'plugins/gatt-example.c'; then $(CYGPATH_W) 'plugins/gatt-example.c'; else $(CYGPATH_W) '$(srcdir)/plugins/gatt-example.c'; fi` - -plugins/bluetoothd-neard.o: plugins/neard.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT plugins/bluetoothd-neard.o -MD -MP -MF plugins/$(DEPDIR)/bluetoothd-neard.Tpo -c -o plugins/bluetoothd-neard.o `test -f 'plugins/neard.c' || echo '$(srcdir)/'`plugins/neard.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) plugins/$(DEPDIR)/bluetoothd-neard.Tpo plugins/$(DEPDIR)/bluetoothd-neard.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='plugins/neard.c' object='plugins/bluetoothd-neard.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o plugins/bluetoothd-neard.o `test -f 'plugins/neard.c' || echo '$(srcdir)/'`plugins/neard.c - -plugins/bluetoothd-neard.obj: plugins/neard.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT plugins/bluetoothd-neard.obj -MD -MP -MF plugins/$(DEPDIR)/bluetoothd-neard.Tpo -c -o plugins/bluetoothd-neard.obj `if test -f 'plugins/neard.c'; then $(CYGPATH_W) 'plugins/neard.c'; else $(CYGPATH_W) '$(srcdir)/plugins/neard.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) plugins/$(DEPDIR)/bluetoothd-neard.Tpo plugins/$(DEPDIR)/bluetoothd-neard.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='plugins/neard.c' object='plugins/bluetoothd-neard.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o plugins/bluetoothd-neard.obj `if test -f 'plugins/neard.c'; then $(CYGPATH_W) 'plugins/neard.c'; else $(CYGPATH_W) '$(srcdir)/plugins/neard.c'; fi` - -profiles/sap/bluetoothd-main.o: profiles/sap/main.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/sap/bluetoothd-main.o -MD -MP -MF profiles/sap/$(DEPDIR)/bluetoothd-main.Tpo -c -o profiles/sap/bluetoothd-main.o `test -f 'profiles/sap/main.c' || echo '$(srcdir)/'`profiles/sap/main.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) profiles/sap/$(DEPDIR)/bluetoothd-main.Tpo profiles/sap/$(DEPDIR)/bluetoothd-main.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='profiles/sap/main.c' object='profiles/sap/bluetoothd-main.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/sap/bluetoothd-main.o `test -f 'profiles/sap/main.c' || echo '$(srcdir)/'`profiles/sap/main.c - -profiles/sap/bluetoothd-main.obj: profiles/sap/main.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/sap/bluetoothd-main.obj -MD -MP -MF profiles/sap/$(DEPDIR)/bluetoothd-main.Tpo -c -o profiles/sap/bluetoothd-main.obj `if test -f 'profiles/sap/main.c'; then $(CYGPATH_W) 'profiles/sap/main.c'; else $(CYGPATH_W) '$(srcdir)/profiles/sap/main.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) profiles/sap/$(DEPDIR)/bluetoothd-main.Tpo profiles/sap/$(DEPDIR)/bluetoothd-main.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='profiles/sap/main.c' object='profiles/sap/bluetoothd-main.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/sap/bluetoothd-main.obj `if test -f 'profiles/sap/main.c'; then $(CYGPATH_W) 'profiles/sap/main.c'; else $(CYGPATH_W) '$(srcdir)/profiles/sap/main.c'; fi` - -profiles/sap/bluetoothd-manager.o: profiles/sap/manager.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/sap/bluetoothd-manager.o -MD -MP -MF profiles/sap/$(DEPDIR)/bluetoothd-manager.Tpo -c -o profiles/sap/bluetoothd-manager.o `test -f 'profiles/sap/manager.c' || echo '$(srcdir)/'`profiles/sap/manager.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) profiles/sap/$(DEPDIR)/bluetoothd-manager.Tpo profiles/sap/$(DEPDIR)/bluetoothd-manager.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='profiles/sap/manager.c' object='profiles/sap/bluetoothd-manager.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/sap/bluetoothd-manager.o `test -f 'profiles/sap/manager.c' || echo '$(srcdir)/'`profiles/sap/manager.c - -profiles/sap/bluetoothd-manager.obj: profiles/sap/manager.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/sap/bluetoothd-manager.obj -MD -MP -MF profiles/sap/$(DEPDIR)/bluetoothd-manager.Tpo -c -o profiles/sap/bluetoothd-manager.obj `if test -f 'profiles/sap/manager.c'; then $(CYGPATH_W) 'profiles/sap/manager.c'; else $(CYGPATH_W) '$(srcdir)/profiles/sap/manager.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) profiles/sap/$(DEPDIR)/bluetoothd-manager.Tpo profiles/sap/$(DEPDIR)/bluetoothd-manager.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='profiles/sap/manager.c' object='profiles/sap/bluetoothd-manager.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/sap/bluetoothd-manager.obj `if test -f 'profiles/sap/manager.c'; then $(CYGPATH_W) 'profiles/sap/manager.c'; else $(CYGPATH_W) '$(srcdir)/profiles/sap/manager.c'; fi` - -profiles/sap/bluetoothd-server.o: profiles/sap/server.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/sap/bluetoothd-server.o -MD -MP -MF profiles/sap/$(DEPDIR)/bluetoothd-server.Tpo -c -o profiles/sap/bluetoothd-server.o `test -f 'profiles/sap/server.c' || echo '$(srcdir)/'`profiles/sap/server.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) profiles/sap/$(DEPDIR)/bluetoothd-server.Tpo profiles/sap/$(DEPDIR)/bluetoothd-server.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='profiles/sap/server.c' object='profiles/sap/bluetoothd-server.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/sap/bluetoothd-server.o `test -f 'profiles/sap/server.c' || echo '$(srcdir)/'`profiles/sap/server.c - -profiles/sap/bluetoothd-server.obj: profiles/sap/server.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/sap/bluetoothd-server.obj -MD -MP -MF profiles/sap/$(DEPDIR)/bluetoothd-server.Tpo -c -o profiles/sap/bluetoothd-server.obj `if test -f 'profiles/sap/server.c'; then $(CYGPATH_W) 'profiles/sap/server.c'; else $(CYGPATH_W) '$(srcdir)/profiles/sap/server.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) profiles/sap/$(DEPDIR)/bluetoothd-server.Tpo profiles/sap/$(DEPDIR)/bluetoothd-server.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='profiles/sap/server.c' object='profiles/sap/bluetoothd-server.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/sap/bluetoothd-server.obj `if test -f 'profiles/sap/server.c'; then $(CYGPATH_W) 'profiles/sap/server.c'; else $(CYGPATH_W) '$(srcdir)/profiles/sap/server.c'; fi` - -profiles/sap/bluetoothd-sap-dummy.o: profiles/sap/sap-dummy.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/sap/bluetoothd-sap-dummy.o -MD -MP -MF profiles/sap/$(DEPDIR)/bluetoothd-sap-dummy.Tpo -c -o profiles/sap/bluetoothd-sap-dummy.o `test -f 'profiles/sap/sap-dummy.c' || echo '$(srcdir)/'`profiles/sap/sap-dummy.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) profiles/sap/$(DEPDIR)/bluetoothd-sap-dummy.Tpo profiles/sap/$(DEPDIR)/bluetoothd-sap-dummy.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='profiles/sap/sap-dummy.c' object='profiles/sap/bluetoothd-sap-dummy.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/sap/bluetoothd-sap-dummy.o `test -f 'profiles/sap/sap-dummy.c' || echo '$(srcdir)/'`profiles/sap/sap-dummy.c - -profiles/sap/bluetoothd-sap-dummy.obj: profiles/sap/sap-dummy.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/sap/bluetoothd-sap-dummy.obj -MD -MP -MF profiles/sap/$(DEPDIR)/bluetoothd-sap-dummy.Tpo -c -o profiles/sap/bluetoothd-sap-dummy.obj `if test -f 'profiles/sap/sap-dummy.c'; then $(CYGPATH_W) 'profiles/sap/sap-dummy.c'; else $(CYGPATH_W) '$(srcdir)/profiles/sap/sap-dummy.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) profiles/sap/$(DEPDIR)/bluetoothd-sap-dummy.Tpo profiles/sap/$(DEPDIR)/bluetoothd-sap-dummy.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='profiles/sap/sap-dummy.c' object='profiles/sap/bluetoothd-sap-dummy.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/sap/bluetoothd-sap-dummy.obj `if test -f 'profiles/sap/sap-dummy.c'; then $(CYGPATH_W) 'profiles/sap/sap-dummy.c'; else $(CYGPATH_W) '$(srcdir)/profiles/sap/sap-dummy.c'; fi` - -profiles/audio/bluetoothd-main.o: profiles/audio/main.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/audio/bluetoothd-main.o -MD -MP -MF profiles/audio/$(DEPDIR)/bluetoothd-main.Tpo -c -o profiles/audio/bluetoothd-main.o `test -f 'profiles/audio/main.c' || echo '$(srcdir)/'`profiles/audio/main.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) profiles/audio/$(DEPDIR)/bluetoothd-main.Tpo profiles/audio/$(DEPDIR)/bluetoothd-main.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='profiles/audio/main.c' object='profiles/audio/bluetoothd-main.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/audio/bluetoothd-main.o `test -f 'profiles/audio/main.c' || echo '$(srcdir)/'`profiles/audio/main.c - -profiles/audio/bluetoothd-main.obj: profiles/audio/main.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/audio/bluetoothd-main.obj -MD -MP -MF profiles/audio/$(DEPDIR)/bluetoothd-main.Tpo -c -o profiles/audio/bluetoothd-main.obj `if test -f 'profiles/audio/main.c'; then $(CYGPATH_W) 'profiles/audio/main.c'; else $(CYGPATH_W) '$(srcdir)/profiles/audio/main.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) profiles/audio/$(DEPDIR)/bluetoothd-main.Tpo profiles/audio/$(DEPDIR)/bluetoothd-main.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='profiles/audio/main.c' object='profiles/audio/bluetoothd-main.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/audio/bluetoothd-main.obj `if test -f 'profiles/audio/main.c'; then $(CYGPATH_W) 'profiles/audio/main.c'; else $(CYGPATH_W) '$(srcdir)/profiles/audio/main.c'; fi` - -profiles/audio/bluetoothd-manager.o: profiles/audio/manager.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/audio/bluetoothd-manager.o -MD -MP -MF profiles/audio/$(DEPDIR)/bluetoothd-manager.Tpo -c -o profiles/audio/bluetoothd-manager.o `test -f 'profiles/audio/manager.c' || echo '$(srcdir)/'`profiles/audio/manager.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) profiles/audio/$(DEPDIR)/bluetoothd-manager.Tpo profiles/audio/$(DEPDIR)/bluetoothd-manager.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='profiles/audio/manager.c' object='profiles/audio/bluetoothd-manager.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/audio/bluetoothd-manager.o `test -f 'profiles/audio/manager.c' || echo '$(srcdir)/'`profiles/audio/manager.c - -profiles/audio/bluetoothd-manager.obj: profiles/audio/manager.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/audio/bluetoothd-manager.obj -MD -MP -MF profiles/audio/$(DEPDIR)/bluetoothd-manager.Tpo -c -o profiles/audio/bluetoothd-manager.obj `if test -f 'profiles/audio/manager.c'; then $(CYGPATH_W) 'profiles/audio/manager.c'; else $(CYGPATH_W) '$(srcdir)/profiles/audio/manager.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) profiles/audio/$(DEPDIR)/bluetoothd-manager.Tpo profiles/audio/$(DEPDIR)/bluetoothd-manager.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='profiles/audio/manager.c' object='profiles/audio/bluetoothd-manager.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/audio/bluetoothd-manager.obj `if test -f 'profiles/audio/manager.c'; then $(CYGPATH_W) 'profiles/audio/manager.c'; else $(CYGPATH_W) '$(srcdir)/profiles/audio/manager.c'; fi` - -profiles/audio/bluetoothd-control.o: profiles/audio/control.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/audio/bluetoothd-control.o -MD -MP -MF profiles/audio/$(DEPDIR)/bluetoothd-control.Tpo -c -o profiles/audio/bluetoothd-control.o `test -f 'profiles/audio/control.c' || echo '$(srcdir)/'`profiles/audio/control.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) profiles/audio/$(DEPDIR)/bluetoothd-control.Tpo profiles/audio/$(DEPDIR)/bluetoothd-control.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='profiles/audio/control.c' object='profiles/audio/bluetoothd-control.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/audio/bluetoothd-control.o `test -f 'profiles/audio/control.c' || echo '$(srcdir)/'`profiles/audio/control.c - -profiles/audio/bluetoothd-control.obj: profiles/audio/control.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/audio/bluetoothd-control.obj -MD -MP -MF profiles/audio/$(DEPDIR)/bluetoothd-control.Tpo -c -o profiles/audio/bluetoothd-control.obj `if test -f 'profiles/audio/control.c'; then $(CYGPATH_W) 'profiles/audio/control.c'; else $(CYGPATH_W) '$(srcdir)/profiles/audio/control.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) profiles/audio/$(DEPDIR)/bluetoothd-control.Tpo profiles/audio/$(DEPDIR)/bluetoothd-control.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='profiles/audio/control.c' object='profiles/audio/bluetoothd-control.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/audio/bluetoothd-control.obj `if test -f 'profiles/audio/control.c'; then $(CYGPATH_W) 'profiles/audio/control.c'; else $(CYGPATH_W) '$(srcdir)/profiles/audio/control.c'; fi` - -profiles/audio/bluetoothd-avctp.o: profiles/audio/avctp.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/audio/bluetoothd-avctp.o -MD -MP -MF profiles/audio/$(DEPDIR)/bluetoothd-avctp.Tpo -c -o profiles/audio/bluetoothd-avctp.o `test -f 'profiles/audio/avctp.c' || echo '$(srcdir)/'`profiles/audio/avctp.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) profiles/audio/$(DEPDIR)/bluetoothd-avctp.Tpo profiles/audio/$(DEPDIR)/bluetoothd-avctp.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='profiles/audio/avctp.c' object='profiles/audio/bluetoothd-avctp.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/audio/bluetoothd-avctp.o `test -f 'profiles/audio/avctp.c' || echo '$(srcdir)/'`profiles/audio/avctp.c - -profiles/audio/bluetoothd-avctp.obj: profiles/audio/avctp.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/audio/bluetoothd-avctp.obj -MD -MP -MF profiles/audio/$(DEPDIR)/bluetoothd-avctp.Tpo -c -o profiles/audio/bluetoothd-avctp.obj `if test -f 'profiles/audio/avctp.c'; then $(CYGPATH_W) 'profiles/audio/avctp.c'; else $(CYGPATH_W) '$(srcdir)/profiles/audio/avctp.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) profiles/audio/$(DEPDIR)/bluetoothd-avctp.Tpo profiles/audio/$(DEPDIR)/bluetoothd-avctp.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='profiles/audio/avctp.c' object='profiles/audio/bluetoothd-avctp.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/audio/bluetoothd-avctp.obj `if test -f 'profiles/audio/avctp.c'; then $(CYGPATH_W) 'profiles/audio/avctp.c'; else $(CYGPATH_W) '$(srcdir)/profiles/audio/avctp.c'; fi` - -profiles/audio/bluetoothd-avrcp.o: profiles/audio/avrcp.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/audio/bluetoothd-avrcp.o -MD -MP -MF profiles/audio/$(DEPDIR)/bluetoothd-avrcp.Tpo -c -o profiles/audio/bluetoothd-avrcp.o `test -f 'profiles/audio/avrcp.c' || echo '$(srcdir)/'`profiles/audio/avrcp.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) profiles/audio/$(DEPDIR)/bluetoothd-avrcp.Tpo profiles/audio/$(DEPDIR)/bluetoothd-avrcp.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='profiles/audio/avrcp.c' object='profiles/audio/bluetoothd-avrcp.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/audio/bluetoothd-avrcp.o `test -f 'profiles/audio/avrcp.c' || echo '$(srcdir)/'`profiles/audio/avrcp.c - -profiles/audio/bluetoothd-avrcp.obj: profiles/audio/avrcp.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/audio/bluetoothd-avrcp.obj -MD -MP -MF profiles/audio/$(DEPDIR)/bluetoothd-avrcp.Tpo -c -o profiles/audio/bluetoothd-avrcp.obj `if test -f 'profiles/audio/avrcp.c'; then $(CYGPATH_W) 'profiles/audio/avrcp.c'; else $(CYGPATH_W) '$(srcdir)/profiles/audio/avrcp.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) profiles/audio/$(DEPDIR)/bluetoothd-avrcp.Tpo profiles/audio/$(DEPDIR)/bluetoothd-avrcp.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='profiles/audio/avrcp.c' object='profiles/audio/bluetoothd-avrcp.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/audio/bluetoothd-avrcp.obj `if test -f 'profiles/audio/avrcp.c'; then $(CYGPATH_W) 'profiles/audio/avrcp.c'; else $(CYGPATH_W) '$(srcdir)/profiles/audio/avrcp.c'; fi` - -profiles/audio/bluetoothd-device.o: profiles/audio/device.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/audio/bluetoothd-device.o -MD -MP -MF profiles/audio/$(DEPDIR)/bluetoothd-device.Tpo -c -o profiles/audio/bluetoothd-device.o `test -f 'profiles/audio/device.c' || echo '$(srcdir)/'`profiles/audio/device.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) profiles/audio/$(DEPDIR)/bluetoothd-device.Tpo profiles/audio/$(DEPDIR)/bluetoothd-device.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='profiles/audio/device.c' object='profiles/audio/bluetoothd-device.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/audio/bluetoothd-device.o `test -f 'profiles/audio/device.c' || echo '$(srcdir)/'`profiles/audio/device.c - -profiles/audio/bluetoothd-device.obj: profiles/audio/device.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/audio/bluetoothd-device.obj -MD -MP -MF profiles/audio/$(DEPDIR)/bluetoothd-device.Tpo -c -o profiles/audio/bluetoothd-device.obj `if test -f 'profiles/audio/device.c'; then $(CYGPATH_W) 'profiles/audio/device.c'; else $(CYGPATH_W) '$(srcdir)/profiles/audio/device.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) profiles/audio/$(DEPDIR)/bluetoothd-device.Tpo profiles/audio/$(DEPDIR)/bluetoothd-device.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='profiles/audio/device.c' object='profiles/audio/bluetoothd-device.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/audio/bluetoothd-device.obj `if test -f 'profiles/audio/device.c'; then $(CYGPATH_W) 'profiles/audio/device.c'; else $(CYGPATH_W) '$(srcdir)/profiles/audio/device.c'; fi` - -profiles/audio/bluetoothd-source.o: profiles/audio/source.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/audio/bluetoothd-source.o -MD -MP -MF profiles/audio/$(DEPDIR)/bluetoothd-source.Tpo -c -o profiles/audio/bluetoothd-source.o `test -f 'profiles/audio/source.c' || echo '$(srcdir)/'`profiles/audio/source.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) profiles/audio/$(DEPDIR)/bluetoothd-source.Tpo profiles/audio/$(DEPDIR)/bluetoothd-source.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='profiles/audio/source.c' object='profiles/audio/bluetoothd-source.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/audio/bluetoothd-source.o `test -f 'profiles/audio/source.c' || echo '$(srcdir)/'`profiles/audio/source.c - -profiles/audio/bluetoothd-source.obj: profiles/audio/source.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/audio/bluetoothd-source.obj -MD -MP -MF profiles/audio/$(DEPDIR)/bluetoothd-source.Tpo -c -o profiles/audio/bluetoothd-source.obj `if test -f 'profiles/audio/source.c'; then $(CYGPATH_W) 'profiles/audio/source.c'; else $(CYGPATH_W) '$(srcdir)/profiles/audio/source.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) profiles/audio/$(DEPDIR)/bluetoothd-source.Tpo profiles/audio/$(DEPDIR)/bluetoothd-source.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='profiles/audio/source.c' object='profiles/audio/bluetoothd-source.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/audio/bluetoothd-source.obj `if test -f 'profiles/audio/source.c'; then $(CYGPATH_W) 'profiles/audio/source.c'; else $(CYGPATH_W) '$(srcdir)/profiles/audio/source.c'; fi` - -profiles/audio/bluetoothd-sink.o: profiles/audio/sink.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/audio/bluetoothd-sink.o -MD -MP -MF profiles/audio/$(DEPDIR)/bluetoothd-sink.Tpo -c -o profiles/audio/bluetoothd-sink.o `test -f 'profiles/audio/sink.c' || echo '$(srcdir)/'`profiles/audio/sink.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) profiles/audio/$(DEPDIR)/bluetoothd-sink.Tpo profiles/audio/$(DEPDIR)/bluetoothd-sink.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='profiles/audio/sink.c' object='profiles/audio/bluetoothd-sink.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/audio/bluetoothd-sink.o `test -f 'profiles/audio/sink.c' || echo '$(srcdir)/'`profiles/audio/sink.c - -profiles/audio/bluetoothd-sink.obj: profiles/audio/sink.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/audio/bluetoothd-sink.obj -MD -MP -MF profiles/audio/$(DEPDIR)/bluetoothd-sink.Tpo -c -o profiles/audio/bluetoothd-sink.obj `if test -f 'profiles/audio/sink.c'; then $(CYGPATH_W) 'profiles/audio/sink.c'; else $(CYGPATH_W) '$(srcdir)/profiles/audio/sink.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) profiles/audio/$(DEPDIR)/bluetoothd-sink.Tpo profiles/audio/$(DEPDIR)/bluetoothd-sink.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='profiles/audio/sink.c' object='profiles/audio/bluetoothd-sink.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/audio/bluetoothd-sink.obj `if test -f 'profiles/audio/sink.c'; then $(CYGPATH_W) 'profiles/audio/sink.c'; else $(CYGPATH_W) '$(srcdir)/profiles/audio/sink.c'; fi` - -profiles/audio/bluetoothd-a2dp.o: profiles/audio/a2dp.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/audio/bluetoothd-a2dp.o -MD -MP -MF profiles/audio/$(DEPDIR)/bluetoothd-a2dp.Tpo -c -o profiles/audio/bluetoothd-a2dp.o `test -f 'profiles/audio/a2dp.c' || echo '$(srcdir)/'`profiles/audio/a2dp.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) profiles/audio/$(DEPDIR)/bluetoothd-a2dp.Tpo profiles/audio/$(DEPDIR)/bluetoothd-a2dp.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='profiles/audio/a2dp.c' object='profiles/audio/bluetoothd-a2dp.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/audio/bluetoothd-a2dp.o `test -f 'profiles/audio/a2dp.c' || echo '$(srcdir)/'`profiles/audio/a2dp.c - -profiles/audio/bluetoothd-a2dp.obj: profiles/audio/a2dp.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/audio/bluetoothd-a2dp.obj -MD -MP -MF profiles/audio/$(DEPDIR)/bluetoothd-a2dp.Tpo -c -o profiles/audio/bluetoothd-a2dp.obj `if test -f 'profiles/audio/a2dp.c'; then $(CYGPATH_W) 'profiles/audio/a2dp.c'; else $(CYGPATH_W) '$(srcdir)/profiles/audio/a2dp.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) profiles/audio/$(DEPDIR)/bluetoothd-a2dp.Tpo profiles/audio/$(DEPDIR)/bluetoothd-a2dp.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='profiles/audio/a2dp.c' object='profiles/audio/bluetoothd-a2dp.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/audio/bluetoothd-a2dp.obj `if test -f 'profiles/audio/a2dp.c'; then $(CYGPATH_W) 'profiles/audio/a2dp.c'; else $(CYGPATH_W) '$(srcdir)/profiles/audio/a2dp.c'; fi` - -profiles/audio/bluetoothd-avdtp.o: profiles/audio/avdtp.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/audio/bluetoothd-avdtp.o -MD -MP -MF profiles/audio/$(DEPDIR)/bluetoothd-avdtp.Tpo -c -o profiles/audio/bluetoothd-avdtp.o `test -f 'profiles/audio/avdtp.c' || echo '$(srcdir)/'`profiles/audio/avdtp.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) profiles/audio/$(DEPDIR)/bluetoothd-avdtp.Tpo profiles/audio/$(DEPDIR)/bluetoothd-avdtp.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='profiles/audio/avdtp.c' object='profiles/audio/bluetoothd-avdtp.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/audio/bluetoothd-avdtp.o `test -f 'profiles/audio/avdtp.c' || echo '$(srcdir)/'`profiles/audio/avdtp.c - -profiles/audio/bluetoothd-avdtp.obj: profiles/audio/avdtp.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/audio/bluetoothd-avdtp.obj -MD -MP -MF profiles/audio/$(DEPDIR)/bluetoothd-avdtp.Tpo -c -o profiles/audio/bluetoothd-avdtp.obj `if test -f 'profiles/audio/avdtp.c'; then $(CYGPATH_W) 'profiles/audio/avdtp.c'; else $(CYGPATH_W) '$(srcdir)/profiles/audio/avdtp.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) profiles/audio/$(DEPDIR)/bluetoothd-avdtp.Tpo profiles/audio/$(DEPDIR)/bluetoothd-avdtp.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='profiles/audio/avdtp.c' object='profiles/audio/bluetoothd-avdtp.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/audio/bluetoothd-avdtp.obj `if test -f 'profiles/audio/avdtp.c'; then $(CYGPATH_W) 'profiles/audio/avdtp.c'; else $(CYGPATH_W) '$(srcdir)/profiles/audio/avdtp.c'; fi` - -profiles/audio/bluetoothd-media.o: profiles/audio/media.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/audio/bluetoothd-media.o -MD -MP -MF profiles/audio/$(DEPDIR)/bluetoothd-media.Tpo -c -o profiles/audio/bluetoothd-media.o `test -f 'profiles/audio/media.c' || echo '$(srcdir)/'`profiles/audio/media.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) profiles/audio/$(DEPDIR)/bluetoothd-media.Tpo profiles/audio/$(DEPDIR)/bluetoothd-media.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='profiles/audio/media.c' object='profiles/audio/bluetoothd-media.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/audio/bluetoothd-media.o `test -f 'profiles/audio/media.c' || echo '$(srcdir)/'`profiles/audio/media.c - -profiles/audio/bluetoothd-media.obj: profiles/audio/media.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/audio/bluetoothd-media.obj -MD -MP -MF profiles/audio/$(DEPDIR)/bluetoothd-media.Tpo -c -o profiles/audio/bluetoothd-media.obj `if test -f 'profiles/audio/media.c'; then $(CYGPATH_W) 'profiles/audio/media.c'; else $(CYGPATH_W) '$(srcdir)/profiles/audio/media.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) profiles/audio/$(DEPDIR)/bluetoothd-media.Tpo profiles/audio/$(DEPDIR)/bluetoothd-media.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='profiles/audio/media.c' object='profiles/audio/bluetoothd-media.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/audio/bluetoothd-media.obj `if test -f 'profiles/audio/media.c'; then $(CYGPATH_W) 'profiles/audio/media.c'; else $(CYGPATH_W) '$(srcdir)/profiles/audio/media.c'; fi` - -profiles/audio/bluetoothd-transport.o: profiles/audio/transport.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/audio/bluetoothd-transport.o -MD -MP -MF profiles/audio/$(DEPDIR)/bluetoothd-transport.Tpo -c -o profiles/audio/bluetoothd-transport.o `test -f 'profiles/audio/transport.c' || echo '$(srcdir)/'`profiles/audio/transport.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) profiles/audio/$(DEPDIR)/bluetoothd-transport.Tpo profiles/audio/$(DEPDIR)/bluetoothd-transport.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='profiles/audio/transport.c' object='profiles/audio/bluetoothd-transport.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/audio/bluetoothd-transport.o `test -f 'profiles/audio/transport.c' || echo '$(srcdir)/'`profiles/audio/transport.c - -profiles/audio/bluetoothd-transport.obj: profiles/audio/transport.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/audio/bluetoothd-transport.obj -MD -MP -MF profiles/audio/$(DEPDIR)/bluetoothd-transport.Tpo -c -o profiles/audio/bluetoothd-transport.obj `if test -f 'profiles/audio/transport.c'; then $(CYGPATH_W) 'profiles/audio/transport.c'; else $(CYGPATH_W) '$(srcdir)/profiles/audio/transport.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) profiles/audio/$(DEPDIR)/bluetoothd-transport.Tpo profiles/audio/$(DEPDIR)/bluetoothd-transport.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='profiles/audio/transport.c' object='profiles/audio/bluetoothd-transport.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/audio/bluetoothd-transport.obj `if test -f 'profiles/audio/transport.c'; then $(CYGPATH_W) 'profiles/audio/transport.c'; else $(CYGPATH_W) '$(srcdir)/profiles/audio/transport.c'; fi` - -profiles/audio/bluetoothd-player.o: profiles/audio/player.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/audio/bluetoothd-player.o -MD -MP -MF profiles/audio/$(DEPDIR)/bluetoothd-player.Tpo -c -o profiles/audio/bluetoothd-player.o `test -f 'profiles/audio/player.c' || echo '$(srcdir)/'`profiles/audio/player.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) profiles/audio/$(DEPDIR)/bluetoothd-player.Tpo profiles/audio/$(DEPDIR)/bluetoothd-player.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='profiles/audio/player.c' object='profiles/audio/bluetoothd-player.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/audio/bluetoothd-player.o `test -f 'profiles/audio/player.c' || echo '$(srcdir)/'`profiles/audio/player.c - -profiles/audio/bluetoothd-player.obj: profiles/audio/player.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/audio/bluetoothd-player.obj -MD -MP -MF profiles/audio/$(DEPDIR)/bluetoothd-player.Tpo -c -o profiles/audio/bluetoothd-player.obj `if test -f 'profiles/audio/player.c'; then $(CYGPATH_W) 'profiles/audio/player.c'; else $(CYGPATH_W) '$(srcdir)/profiles/audio/player.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) profiles/audio/$(DEPDIR)/bluetoothd-player.Tpo profiles/audio/$(DEPDIR)/bluetoothd-player.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='profiles/audio/player.c' object='profiles/audio/bluetoothd-player.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/audio/bluetoothd-player.obj `if test -f 'profiles/audio/player.c'; then $(CYGPATH_W) 'profiles/audio/player.c'; else $(CYGPATH_W) '$(srcdir)/profiles/audio/player.c'; fi` - -profiles/network/bluetoothd-manager.o: profiles/network/manager.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/network/bluetoothd-manager.o -MD -MP -MF profiles/network/$(DEPDIR)/bluetoothd-manager.Tpo -c -o profiles/network/bluetoothd-manager.o `test -f 'profiles/network/manager.c' || echo '$(srcdir)/'`profiles/network/manager.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) profiles/network/$(DEPDIR)/bluetoothd-manager.Tpo profiles/network/$(DEPDIR)/bluetoothd-manager.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='profiles/network/manager.c' object='profiles/network/bluetoothd-manager.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/network/bluetoothd-manager.o `test -f 'profiles/network/manager.c' || echo '$(srcdir)/'`profiles/network/manager.c - -profiles/network/bluetoothd-manager.obj: profiles/network/manager.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/network/bluetoothd-manager.obj -MD -MP -MF profiles/network/$(DEPDIR)/bluetoothd-manager.Tpo -c -o profiles/network/bluetoothd-manager.obj `if test -f 'profiles/network/manager.c'; then $(CYGPATH_W) 'profiles/network/manager.c'; else $(CYGPATH_W) '$(srcdir)/profiles/network/manager.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) profiles/network/$(DEPDIR)/bluetoothd-manager.Tpo profiles/network/$(DEPDIR)/bluetoothd-manager.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='profiles/network/manager.c' object='profiles/network/bluetoothd-manager.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/network/bluetoothd-manager.obj `if test -f 'profiles/network/manager.c'; then $(CYGPATH_W) 'profiles/network/manager.c'; else $(CYGPATH_W) '$(srcdir)/profiles/network/manager.c'; fi` - -profiles/network/bluetoothd-common.o: profiles/network/common.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/network/bluetoothd-common.o -MD -MP -MF profiles/network/$(DEPDIR)/bluetoothd-common.Tpo -c -o profiles/network/bluetoothd-common.o `test -f 'profiles/network/common.c' || echo '$(srcdir)/'`profiles/network/common.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) profiles/network/$(DEPDIR)/bluetoothd-common.Tpo profiles/network/$(DEPDIR)/bluetoothd-common.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='profiles/network/common.c' object='profiles/network/bluetoothd-common.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/network/bluetoothd-common.o `test -f 'profiles/network/common.c' || echo '$(srcdir)/'`profiles/network/common.c - -profiles/network/bluetoothd-common.obj: profiles/network/common.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/network/bluetoothd-common.obj -MD -MP -MF profiles/network/$(DEPDIR)/bluetoothd-common.Tpo -c -o profiles/network/bluetoothd-common.obj `if test -f 'profiles/network/common.c'; then $(CYGPATH_W) 'profiles/network/common.c'; else $(CYGPATH_W) '$(srcdir)/profiles/network/common.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) profiles/network/$(DEPDIR)/bluetoothd-common.Tpo profiles/network/$(DEPDIR)/bluetoothd-common.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='profiles/network/common.c' object='profiles/network/bluetoothd-common.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/network/bluetoothd-common.obj `if test -f 'profiles/network/common.c'; then $(CYGPATH_W) 'profiles/network/common.c'; else $(CYGPATH_W) '$(srcdir)/profiles/network/common.c'; fi` - -profiles/network/bluetoothd-server.o: profiles/network/server.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/network/bluetoothd-server.o -MD -MP -MF profiles/network/$(DEPDIR)/bluetoothd-server.Tpo -c -o profiles/network/bluetoothd-server.o `test -f 'profiles/network/server.c' || echo '$(srcdir)/'`profiles/network/server.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) profiles/network/$(DEPDIR)/bluetoothd-server.Tpo profiles/network/$(DEPDIR)/bluetoothd-server.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='profiles/network/server.c' object='profiles/network/bluetoothd-server.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/network/bluetoothd-server.o `test -f 'profiles/network/server.c' || echo '$(srcdir)/'`profiles/network/server.c - -profiles/network/bluetoothd-server.obj: profiles/network/server.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/network/bluetoothd-server.obj -MD -MP -MF profiles/network/$(DEPDIR)/bluetoothd-server.Tpo -c -o profiles/network/bluetoothd-server.obj `if test -f 'profiles/network/server.c'; then $(CYGPATH_W) 'profiles/network/server.c'; else $(CYGPATH_W) '$(srcdir)/profiles/network/server.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) profiles/network/$(DEPDIR)/bluetoothd-server.Tpo profiles/network/$(DEPDIR)/bluetoothd-server.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='profiles/network/server.c' object='profiles/network/bluetoothd-server.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/network/bluetoothd-server.obj `if test -f 'profiles/network/server.c'; then $(CYGPATH_W) 'profiles/network/server.c'; else $(CYGPATH_W) '$(srcdir)/profiles/network/server.c'; fi` - -profiles/network/bluetoothd-connection.o: profiles/network/connection.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/network/bluetoothd-connection.o -MD -MP -MF profiles/network/$(DEPDIR)/bluetoothd-connection.Tpo -c -o profiles/network/bluetoothd-connection.o `test -f 'profiles/network/connection.c' || echo '$(srcdir)/'`profiles/network/connection.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) profiles/network/$(DEPDIR)/bluetoothd-connection.Tpo profiles/network/$(DEPDIR)/bluetoothd-connection.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='profiles/network/connection.c' object='profiles/network/bluetoothd-connection.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/network/bluetoothd-connection.o `test -f 'profiles/network/connection.c' || echo '$(srcdir)/'`profiles/network/connection.c - -profiles/network/bluetoothd-connection.obj: profiles/network/connection.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/network/bluetoothd-connection.obj -MD -MP -MF profiles/network/$(DEPDIR)/bluetoothd-connection.Tpo -c -o profiles/network/bluetoothd-connection.obj `if test -f 'profiles/network/connection.c'; then $(CYGPATH_W) 'profiles/network/connection.c'; else $(CYGPATH_W) '$(srcdir)/profiles/network/connection.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) profiles/network/$(DEPDIR)/bluetoothd-connection.Tpo profiles/network/$(DEPDIR)/bluetoothd-connection.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='profiles/network/connection.c' object='profiles/network/bluetoothd-connection.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/network/bluetoothd-connection.obj `if test -f 'profiles/network/connection.c'; then $(CYGPATH_W) 'profiles/network/connection.c'; else $(CYGPATH_W) '$(srcdir)/profiles/network/connection.c'; fi` - -profiles/input/bluetoothd-manager.o: profiles/input/manager.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/input/bluetoothd-manager.o -MD -MP -MF profiles/input/$(DEPDIR)/bluetoothd-manager.Tpo -c -o profiles/input/bluetoothd-manager.o `test -f 'profiles/input/manager.c' || echo '$(srcdir)/'`profiles/input/manager.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) profiles/input/$(DEPDIR)/bluetoothd-manager.Tpo profiles/input/$(DEPDIR)/bluetoothd-manager.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='profiles/input/manager.c' object='profiles/input/bluetoothd-manager.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/input/bluetoothd-manager.o `test -f 'profiles/input/manager.c' || echo '$(srcdir)/'`profiles/input/manager.c - -profiles/input/bluetoothd-manager.obj: profiles/input/manager.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/input/bluetoothd-manager.obj -MD -MP -MF profiles/input/$(DEPDIR)/bluetoothd-manager.Tpo -c -o profiles/input/bluetoothd-manager.obj `if test -f 'profiles/input/manager.c'; then $(CYGPATH_W) 'profiles/input/manager.c'; else $(CYGPATH_W) '$(srcdir)/profiles/input/manager.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) profiles/input/$(DEPDIR)/bluetoothd-manager.Tpo profiles/input/$(DEPDIR)/bluetoothd-manager.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='profiles/input/manager.c' object='profiles/input/bluetoothd-manager.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/input/bluetoothd-manager.obj `if test -f 'profiles/input/manager.c'; then $(CYGPATH_W) 'profiles/input/manager.c'; else $(CYGPATH_W) '$(srcdir)/profiles/input/manager.c'; fi` - -profiles/input/bluetoothd-server.o: profiles/input/server.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/input/bluetoothd-server.o -MD -MP -MF profiles/input/$(DEPDIR)/bluetoothd-server.Tpo -c -o profiles/input/bluetoothd-server.o `test -f 'profiles/input/server.c' || echo '$(srcdir)/'`profiles/input/server.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) profiles/input/$(DEPDIR)/bluetoothd-server.Tpo profiles/input/$(DEPDIR)/bluetoothd-server.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='profiles/input/server.c' object='profiles/input/bluetoothd-server.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/input/bluetoothd-server.o `test -f 'profiles/input/server.c' || echo '$(srcdir)/'`profiles/input/server.c - -profiles/input/bluetoothd-server.obj: profiles/input/server.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/input/bluetoothd-server.obj -MD -MP -MF profiles/input/$(DEPDIR)/bluetoothd-server.Tpo -c -o profiles/input/bluetoothd-server.obj `if test -f 'profiles/input/server.c'; then $(CYGPATH_W) 'profiles/input/server.c'; else $(CYGPATH_W) '$(srcdir)/profiles/input/server.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) profiles/input/$(DEPDIR)/bluetoothd-server.Tpo profiles/input/$(DEPDIR)/bluetoothd-server.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='profiles/input/server.c' object='profiles/input/bluetoothd-server.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/input/bluetoothd-server.obj `if test -f 'profiles/input/server.c'; then $(CYGPATH_W) 'profiles/input/server.c'; else $(CYGPATH_W) '$(srcdir)/profiles/input/server.c'; fi` - -profiles/input/bluetoothd-device.o: profiles/input/device.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/input/bluetoothd-device.o -MD -MP -MF profiles/input/$(DEPDIR)/bluetoothd-device.Tpo -c -o profiles/input/bluetoothd-device.o `test -f 'profiles/input/device.c' || echo '$(srcdir)/'`profiles/input/device.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) profiles/input/$(DEPDIR)/bluetoothd-device.Tpo profiles/input/$(DEPDIR)/bluetoothd-device.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='profiles/input/device.c' object='profiles/input/bluetoothd-device.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/input/bluetoothd-device.o `test -f 'profiles/input/device.c' || echo '$(srcdir)/'`profiles/input/device.c - -profiles/input/bluetoothd-device.obj: profiles/input/device.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/input/bluetoothd-device.obj -MD -MP -MF profiles/input/$(DEPDIR)/bluetoothd-device.Tpo -c -o profiles/input/bluetoothd-device.obj `if test -f 'profiles/input/device.c'; then $(CYGPATH_W) 'profiles/input/device.c'; else $(CYGPATH_W) '$(srcdir)/profiles/input/device.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) profiles/input/$(DEPDIR)/bluetoothd-device.Tpo profiles/input/$(DEPDIR)/bluetoothd-device.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='profiles/input/device.c' object='profiles/input/bluetoothd-device.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/input/bluetoothd-device.obj `if test -f 'profiles/input/device.c'; then $(CYGPATH_W) 'profiles/input/device.c'; else $(CYGPATH_W) '$(srcdir)/profiles/input/device.c'; fi` - -profiles/input/bluetoothd-hog.o: profiles/input/hog.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/input/bluetoothd-hog.o -MD -MP -MF profiles/input/$(DEPDIR)/bluetoothd-hog.Tpo -c -o profiles/input/bluetoothd-hog.o `test -f 'profiles/input/hog.c' || echo '$(srcdir)/'`profiles/input/hog.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) profiles/input/$(DEPDIR)/bluetoothd-hog.Tpo profiles/input/$(DEPDIR)/bluetoothd-hog.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='profiles/input/hog.c' object='profiles/input/bluetoothd-hog.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/input/bluetoothd-hog.o `test -f 'profiles/input/hog.c' || echo '$(srcdir)/'`profiles/input/hog.c - -profiles/input/bluetoothd-hog.obj: profiles/input/hog.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/input/bluetoothd-hog.obj -MD -MP -MF profiles/input/$(DEPDIR)/bluetoothd-hog.Tpo -c -o profiles/input/bluetoothd-hog.obj `if test -f 'profiles/input/hog.c'; then $(CYGPATH_W) 'profiles/input/hog.c'; else $(CYGPATH_W) '$(srcdir)/profiles/input/hog.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) profiles/input/$(DEPDIR)/bluetoothd-hog.Tpo profiles/input/$(DEPDIR)/bluetoothd-hog.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='profiles/input/hog.c' object='profiles/input/bluetoothd-hog.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/input/bluetoothd-hog.obj `if test -f 'profiles/input/hog.c'; then $(CYGPATH_W) 'profiles/input/hog.c'; else $(CYGPATH_W) '$(srcdir)/profiles/input/hog.c'; fi` - -profiles/input/bluetoothd-suspend-dummy.o: profiles/input/suspend-dummy.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/input/bluetoothd-suspend-dummy.o -MD -MP -MF profiles/input/$(DEPDIR)/bluetoothd-suspend-dummy.Tpo -c -o profiles/input/bluetoothd-suspend-dummy.o `test -f 'profiles/input/suspend-dummy.c' || echo '$(srcdir)/'`profiles/input/suspend-dummy.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) profiles/input/$(DEPDIR)/bluetoothd-suspend-dummy.Tpo profiles/input/$(DEPDIR)/bluetoothd-suspend-dummy.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='profiles/input/suspend-dummy.c' object='profiles/input/bluetoothd-suspend-dummy.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/input/bluetoothd-suspend-dummy.o `test -f 'profiles/input/suspend-dummy.c' || echo '$(srcdir)/'`profiles/input/suspend-dummy.c - -profiles/input/bluetoothd-suspend-dummy.obj: profiles/input/suspend-dummy.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/input/bluetoothd-suspend-dummy.obj -MD -MP -MF profiles/input/$(DEPDIR)/bluetoothd-suspend-dummy.Tpo -c -o profiles/input/bluetoothd-suspend-dummy.obj `if test -f 'profiles/input/suspend-dummy.c'; then $(CYGPATH_W) 'profiles/input/suspend-dummy.c'; else $(CYGPATH_W) '$(srcdir)/profiles/input/suspend-dummy.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) profiles/input/$(DEPDIR)/bluetoothd-suspend-dummy.Tpo profiles/input/$(DEPDIR)/bluetoothd-suspend-dummy.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='profiles/input/suspend-dummy.c' object='profiles/input/bluetoothd-suspend-dummy.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/input/bluetoothd-suspend-dummy.obj `if test -f 'profiles/input/suspend-dummy.c'; then $(CYGPATH_W) 'profiles/input/suspend-dummy.c'; else $(CYGPATH_W) '$(srcdir)/profiles/input/suspend-dummy.c'; fi` - -profiles/health/bluetoothd-mcap.o: profiles/health/mcap.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/health/bluetoothd-mcap.o -MD -MP -MF profiles/health/$(DEPDIR)/bluetoothd-mcap.Tpo -c -o profiles/health/bluetoothd-mcap.o `test -f 'profiles/health/mcap.c' || echo '$(srcdir)/'`profiles/health/mcap.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) profiles/health/$(DEPDIR)/bluetoothd-mcap.Tpo profiles/health/$(DEPDIR)/bluetoothd-mcap.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='profiles/health/mcap.c' object='profiles/health/bluetoothd-mcap.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/health/bluetoothd-mcap.o `test -f 'profiles/health/mcap.c' || echo '$(srcdir)/'`profiles/health/mcap.c - -profiles/health/bluetoothd-mcap.obj: profiles/health/mcap.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/health/bluetoothd-mcap.obj -MD -MP -MF profiles/health/$(DEPDIR)/bluetoothd-mcap.Tpo -c -o profiles/health/bluetoothd-mcap.obj `if test -f 'profiles/health/mcap.c'; then $(CYGPATH_W) 'profiles/health/mcap.c'; else $(CYGPATH_W) '$(srcdir)/profiles/health/mcap.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) profiles/health/$(DEPDIR)/bluetoothd-mcap.Tpo profiles/health/$(DEPDIR)/bluetoothd-mcap.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='profiles/health/mcap.c' object='profiles/health/bluetoothd-mcap.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/health/bluetoothd-mcap.obj `if test -f 'profiles/health/mcap.c'; then $(CYGPATH_W) 'profiles/health/mcap.c'; else $(CYGPATH_W) '$(srcdir)/profiles/health/mcap.c'; fi` - -profiles/health/bluetoothd-mcap_sync.o: profiles/health/mcap_sync.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/health/bluetoothd-mcap_sync.o -MD -MP -MF profiles/health/$(DEPDIR)/bluetoothd-mcap_sync.Tpo -c -o profiles/health/bluetoothd-mcap_sync.o `test -f 'profiles/health/mcap_sync.c' || echo '$(srcdir)/'`profiles/health/mcap_sync.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) profiles/health/$(DEPDIR)/bluetoothd-mcap_sync.Tpo profiles/health/$(DEPDIR)/bluetoothd-mcap_sync.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='profiles/health/mcap_sync.c' object='profiles/health/bluetoothd-mcap_sync.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/health/bluetoothd-mcap_sync.o `test -f 'profiles/health/mcap_sync.c' || echo '$(srcdir)/'`profiles/health/mcap_sync.c - -profiles/health/bluetoothd-mcap_sync.obj: profiles/health/mcap_sync.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/health/bluetoothd-mcap_sync.obj -MD -MP -MF profiles/health/$(DEPDIR)/bluetoothd-mcap_sync.Tpo -c -o profiles/health/bluetoothd-mcap_sync.obj `if test -f 'profiles/health/mcap_sync.c'; then $(CYGPATH_W) 'profiles/health/mcap_sync.c'; else $(CYGPATH_W) '$(srcdir)/profiles/health/mcap_sync.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) profiles/health/$(DEPDIR)/bluetoothd-mcap_sync.Tpo profiles/health/$(DEPDIR)/bluetoothd-mcap_sync.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='profiles/health/mcap_sync.c' object='profiles/health/bluetoothd-mcap_sync.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/health/bluetoothd-mcap_sync.obj `if test -f 'profiles/health/mcap_sync.c'; then $(CYGPATH_W) 'profiles/health/mcap_sync.c'; else $(CYGPATH_W) '$(srcdir)/profiles/health/mcap_sync.c'; fi` - -profiles/health/bluetoothd-hdp_main.o: profiles/health/hdp_main.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/health/bluetoothd-hdp_main.o -MD -MP -MF profiles/health/$(DEPDIR)/bluetoothd-hdp_main.Tpo -c -o profiles/health/bluetoothd-hdp_main.o `test -f 'profiles/health/hdp_main.c' || echo '$(srcdir)/'`profiles/health/hdp_main.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) profiles/health/$(DEPDIR)/bluetoothd-hdp_main.Tpo profiles/health/$(DEPDIR)/bluetoothd-hdp_main.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='profiles/health/hdp_main.c' object='profiles/health/bluetoothd-hdp_main.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/health/bluetoothd-hdp_main.o `test -f 'profiles/health/hdp_main.c' || echo '$(srcdir)/'`profiles/health/hdp_main.c - -profiles/health/bluetoothd-hdp_main.obj: profiles/health/hdp_main.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/health/bluetoothd-hdp_main.obj -MD -MP -MF profiles/health/$(DEPDIR)/bluetoothd-hdp_main.Tpo -c -o profiles/health/bluetoothd-hdp_main.obj `if test -f 'profiles/health/hdp_main.c'; then $(CYGPATH_W) 'profiles/health/hdp_main.c'; else $(CYGPATH_W) '$(srcdir)/profiles/health/hdp_main.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) profiles/health/$(DEPDIR)/bluetoothd-hdp_main.Tpo profiles/health/$(DEPDIR)/bluetoothd-hdp_main.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='profiles/health/hdp_main.c' object='profiles/health/bluetoothd-hdp_main.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/health/bluetoothd-hdp_main.obj `if test -f 'profiles/health/hdp_main.c'; then $(CYGPATH_W) 'profiles/health/hdp_main.c'; else $(CYGPATH_W) '$(srcdir)/profiles/health/hdp_main.c'; fi` - -profiles/health/bluetoothd-hdp_manager.o: profiles/health/hdp_manager.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/health/bluetoothd-hdp_manager.o -MD -MP -MF profiles/health/$(DEPDIR)/bluetoothd-hdp_manager.Tpo -c -o profiles/health/bluetoothd-hdp_manager.o `test -f 'profiles/health/hdp_manager.c' || echo '$(srcdir)/'`profiles/health/hdp_manager.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) profiles/health/$(DEPDIR)/bluetoothd-hdp_manager.Tpo profiles/health/$(DEPDIR)/bluetoothd-hdp_manager.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='profiles/health/hdp_manager.c' object='profiles/health/bluetoothd-hdp_manager.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/health/bluetoothd-hdp_manager.o `test -f 'profiles/health/hdp_manager.c' || echo '$(srcdir)/'`profiles/health/hdp_manager.c - -profiles/health/bluetoothd-hdp_manager.obj: profiles/health/hdp_manager.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/health/bluetoothd-hdp_manager.obj -MD -MP -MF profiles/health/$(DEPDIR)/bluetoothd-hdp_manager.Tpo -c -o profiles/health/bluetoothd-hdp_manager.obj `if test -f 'profiles/health/hdp_manager.c'; then $(CYGPATH_W) 'profiles/health/hdp_manager.c'; else $(CYGPATH_W) '$(srcdir)/profiles/health/hdp_manager.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) profiles/health/$(DEPDIR)/bluetoothd-hdp_manager.Tpo profiles/health/$(DEPDIR)/bluetoothd-hdp_manager.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='profiles/health/hdp_manager.c' object='profiles/health/bluetoothd-hdp_manager.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/health/bluetoothd-hdp_manager.obj `if test -f 'profiles/health/hdp_manager.c'; then $(CYGPATH_W) 'profiles/health/hdp_manager.c'; else $(CYGPATH_W) '$(srcdir)/profiles/health/hdp_manager.c'; fi` - -profiles/health/bluetoothd-hdp.o: profiles/health/hdp.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/health/bluetoothd-hdp.o -MD -MP -MF profiles/health/$(DEPDIR)/bluetoothd-hdp.Tpo -c -o profiles/health/bluetoothd-hdp.o `test -f 'profiles/health/hdp.c' || echo '$(srcdir)/'`profiles/health/hdp.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) profiles/health/$(DEPDIR)/bluetoothd-hdp.Tpo profiles/health/$(DEPDIR)/bluetoothd-hdp.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='profiles/health/hdp.c' object='profiles/health/bluetoothd-hdp.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/health/bluetoothd-hdp.o `test -f 'profiles/health/hdp.c' || echo '$(srcdir)/'`profiles/health/hdp.c - -profiles/health/bluetoothd-hdp.obj: profiles/health/hdp.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/health/bluetoothd-hdp.obj -MD -MP -MF profiles/health/$(DEPDIR)/bluetoothd-hdp.Tpo -c -o profiles/health/bluetoothd-hdp.obj `if test -f 'profiles/health/hdp.c'; then $(CYGPATH_W) 'profiles/health/hdp.c'; else $(CYGPATH_W) '$(srcdir)/profiles/health/hdp.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) profiles/health/$(DEPDIR)/bluetoothd-hdp.Tpo profiles/health/$(DEPDIR)/bluetoothd-hdp.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='profiles/health/hdp.c' object='profiles/health/bluetoothd-hdp.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/health/bluetoothd-hdp.obj `if test -f 'profiles/health/hdp.c'; then $(CYGPATH_W) 'profiles/health/hdp.c'; else $(CYGPATH_W) '$(srcdir)/profiles/health/hdp.c'; fi` - -profiles/health/bluetoothd-hdp_util.o: profiles/health/hdp_util.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/health/bluetoothd-hdp_util.o -MD -MP -MF profiles/health/$(DEPDIR)/bluetoothd-hdp_util.Tpo -c -o profiles/health/bluetoothd-hdp_util.o `test -f 'profiles/health/hdp_util.c' || echo '$(srcdir)/'`profiles/health/hdp_util.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) profiles/health/$(DEPDIR)/bluetoothd-hdp_util.Tpo profiles/health/$(DEPDIR)/bluetoothd-hdp_util.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='profiles/health/hdp_util.c' object='profiles/health/bluetoothd-hdp_util.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/health/bluetoothd-hdp_util.o `test -f 'profiles/health/hdp_util.c' || echo '$(srcdir)/'`profiles/health/hdp_util.c - -profiles/health/bluetoothd-hdp_util.obj: profiles/health/hdp_util.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/health/bluetoothd-hdp_util.obj -MD -MP -MF profiles/health/$(DEPDIR)/bluetoothd-hdp_util.Tpo -c -o profiles/health/bluetoothd-hdp_util.obj `if test -f 'profiles/health/hdp_util.c'; then $(CYGPATH_W) 'profiles/health/hdp_util.c'; else $(CYGPATH_W) '$(srcdir)/profiles/health/hdp_util.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) profiles/health/$(DEPDIR)/bluetoothd-hdp_util.Tpo profiles/health/$(DEPDIR)/bluetoothd-hdp_util.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='profiles/health/hdp_util.c' object='profiles/health/bluetoothd-hdp_util.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/health/bluetoothd-hdp_util.obj `if test -f 'profiles/health/hdp_util.c'; then $(CYGPATH_W) 'profiles/health/hdp_util.c'; else $(CYGPATH_W) '$(srcdir)/profiles/health/hdp_util.c'; fi` - -profiles/gatt/bluetoothd-gas.o: profiles/gatt/gas.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/gatt/bluetoothd-gas.o -MD -MP -MF profiles/gatt/$(DEPDIR)/bluetoothd-gas.Tpo -c -o profiles/gatt/bluetoothd-gas.o `test -f 'profiles/gatt/gas.c' || echo '$(srcdir)/'`profiles/gatt/gas.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) profiles/gatt/$(DEPDIR)/bluetoothd-gas.Tpo profiles/gatt/$(DEPDIR)/bluetoothd-gas.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='profiles/gatt/gas.c' object='profiles/gatt/bluetoothd-gas.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/gatt/bluetoothd-gas.o `test -f 'profiles/gatt/gas.c' || echo '$(srcdir)/'`profiles/gatt/gas.c - -profiles/gatt/bluetoothd-gas.obj: profiles/gatt/gas.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/gatt/bluetoothd-gas.obj -MD -MP -MF profiles/gatt/$(DEPDIR)/bluetoothd-gas.Tpo -c -o profiles/gatt/bluetoothd-gas.obj `if test -f 'profiles/gatt/gas.c'; then $(CYGPATH_W) 'profiles/gatt/gas.c'; else $(CYGPATH_W) '$(srcdir)/profiles/gatt/gas.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) profiles/gatt/$(DEPDIR)/bluetoothd-gas.Tpo profiles/gatt/$(DEPDIR)/bluetoothd-gas.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='profiles/gatt/gas.c' object='profiles/gatt/bluetoothd-gas.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/gatt/bluetoothd-gas.obj `if test -f 'profiles/gatt/gas.c'; then $(CYGPATH_W) 'profiles/gatt/gas.c'; else $(CYGPATH_W) '$(srcdir)/profiles/gatt/gas.c'; fi` - -profiles/scanparam/bluetoothd-scan.o: profiles/scanparam/scan.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/scanparam/bluetoothd-scan.o -MD -MP -MF profiles/scanparam/$(DEPDIR)/bluetoothd-scan.Tpo -c -o profiles/scanparam/bluetoothd-scan.o `test -f 'profiles/scanparam/scan.c' || echo '$(srcdir)/'`profiles/scanparam/scan.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) profiles/scanparam/$(DEPDIR)/bluetoothd-scan.Tpo profiles/scanparam/$(DEPDIR)/bluetoothd-scan.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='profiles/scanparam/scan.c' object='profiles/scanparam/bluetoothd-scan.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/scanparam/bluetoothd-scan.o `test -f 'profiles/scanparam/scan.c' || echo '$(srcdir)/'`profiles/scanparam/scan.c - -profiles/scanparam/bluetoothd-scan.obj: profiles/scanparam/scan.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/scanparam/bluetoothd-scan.obj -MD -MP -MF profiles/scanparam/$(DEPDIR)/bluetoothd-scan.Tpo -c -o profiles/scanparam/bluetoothd-scan.obj `if test -f 'profiles/scanparam/scan.c'; then $(CYGPATH_W) 'profiles/scanparam/scan.c'; else $(CYGPATH_W) '$(srcdir)/profiles/scanparam/scan.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) profiles/scanparam/$(DEPDIR)/bluetoothd-scan.Tpo profiles/scanparam/$(DEPDIR)/bluetoothd-scan.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='profiles/scanparam/scan.c' object='profiles/scanparam/bluetoothd-scan.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/scanparam/bluetoothd-scan.obj `if test -f 'profiles/scanparam/scan.c'; then $(CYGPATH_W) 'profiles/scanparam/scan.c'; else $(CYGPATH_W) '$(srcdir)/profiles/scanparam/scan.c'; fi` - -profiles/deviceinfo/bluetoothd-deviceinfo.o: profiles/deviceinfo/deviceinfo.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/deviceinfo/bluetoothd-deviceinfo.o -MD -MP -MF profiles/deviceinfo/$(DEPDIR)/bluetoothd-deviceinfo.Tpo -c -o profiles/deviceinfo/bluetoothd-deviceinfo.o `test -f 'profiles/deviceinfo/deviceinfo.c' || echo '$(srcdir)/'`profiles/deviceinfo/deviceinfo.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) profiles/deviceinfo/$(DEPDIR)/bluetoothd-deviceinfo.Tpo profiles/deviceinfo/$(DEPDIR)/bluetoothd-deviceinfo.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='profiles/deviceinfo/deviceinfo.c' object='profiles/deviceinfo/bluetoothd-deviceinfo.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/deviceinfo/bluetoothd-deviceinfo.o `test -f 'profiles/deviceinfo/deviceinfo.c' || echo '$(srcdir)/'`profiles/deviceinfo/deviceinfo.c - -profiles/deviceinfo/bluetoothd-deviceinfo.obj: profiles/deviceinfo/deviceinfo.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/deviceinfo/bluetoothd-deviceinfo.obj -MD -MP -MF profiles/deviceinfo/$(DEPDIR)/bluetoothd-deviceinfo.Tpo -c -o profiles/deviceinfo/bluetoothd-deviceinfo.obj `if test -f 'profiles/deviceinfo/deviceinfo.c'; then $(CYGPATH_W) 'profiles/deviceinfo/deviceinfo.c'; else $(CYGPATH_W) '$(srcdir)/profiles/deviceinfo/deviceinfo.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) profiles/deviceinfo/$(DEPDIR)/bluetoothd-deviceinfo.Tpo profiles/deviceinfo/$(DEPDIR)/bluetoothd-deviceinfo.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='profiles/deviceinfo/deviceinfo.c' object='profiles/deviceinfo/bluetoothd-deviceinfo.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/deviceinfo/bluetoothd-deviceinfo.obj `if test -f 'profiles/deviceinfo/deviceinfo.c'; then $(CYGPATH_W) 'profiles/deviceinfo/deviceinfo.c'; else $(CYGPATH_W) '$(srcdir)/profiles/deviceinfo/deviceinfo.c'; fi` - -profiles/alert/bluetoothd-server.o: profiles/alert/server.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/alert/bluetoothd-server.o -MD -MP -MF profiles/alert/$(DEPDIR)/bluetoothd-server.Tpo -c -o profiles/alert/bluetoothd-server.o `test -f 'profiles/alert/server.c' || echo '$(srcdir)/'`profiles/alert/server.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) profiles/alert/$(DEPDIR)/bluetoothd-server.Tpo profiles/alert/$(DEPDIR)/bluetoothd-server.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='profiles/alert/server.c' object='profiles/alert/bluetoothd-server.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/alert/bluetoothd-server.o `test -f 'profiles/alert/server.c' || echo '$(srcdir)/'`profiles/alert/server.c - -profiles/alert/bluetoothd-server.obj: profiles/alert/server.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/alert/bluetoothd-server.obj -MD -MP -MF profiles/alert/$(DEPDIR)/bluetoothd-server.Tpo -c -o profiles/alert/bluetoothd-server.obj `if test -f 'profiles/alert/server.c'; then $(CYGPATH_W) 'profiles/alert/server.c'; else $(CYGPATH_W) '$(srcdir)/profiles/alert/server.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) profiles/alert/$(DEPDIR)/bluetoothd-server.Tpo profiles/alert/$(DEPDIR)/bluetoothd-server.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='profiles/alert/server.c' object='profiles/alert/bluetoothd-server.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/alert/bluetoothd-server.obj `if test -f 'profiles/alert/server.c'; then $(CYGPATH_W) 'profiles/alert/server.c'; else $(CYGPATH_W) '$(srcdir)/profiles/alert/server.c'; fi` - -profiles/time/bluetoothd-server.o: profiles/time/server.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/time/bluetoothd-server.o -MD -MP -MF profiles/time/$(DEPDIR)/bluetoothd-server.Tpo -c -o profiles/time/bluetoothd-server.o `test -f 'profiles/time/server.c' || echo '$(srcdir)/'`profiles/time/server.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) profiles/time/$(DEPDIR)/bluetoothd-server.Tpo profiles/time/$(DEPDIR)/bluetoothd-server.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='profiles/time/server.c' object='profiles/time/bluetoothd-server.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/time/bluetoothd-server.o `test -f 'profiles/time/server.c' || echo '$(srcdir)/'`profiles/time/server.c - -profiles/time/bluetoothd-server.obj: profiles/time/server.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/time/bluetoothd-server.obj -MD -MP -MF profiles/time/$(DEPDIR)/bluetoothd-server.Tpo -c -o profiles/time/bluetoothd-server.obj `if test -f 'profiles/time/server.c'; then $(CYGPATH_W) 'profiles/time/server.c'; else $(CYGPATH_W) '$(srcdir)/profiles/time/server.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) profiles/time/$(DEPDIR)/bluetoothd-server.Tpo profiles/time/$(DEPDIR)/bluetoothd-server.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='profiles/time/server.c' object='profiles/time/bluetoothd-server.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/time/bluetoothd-server.obj `if test -f 'profiles/time/server.c'; then $(CYGPATH_W) 'profiles/time/server.c'; else $(CYGPATH_W) '$(srcdir)/profiles/time/server.c'; fi` - -profiles/proximity/bluetoothd-main.o: profiles/proximity/main.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/proximity/bluetoothd-main.o -MD -MP -MF profiles/proximity/$(DEPDIR)/bluetoothd-main.Tpo -c -o profiles/proximity/bluetoothd-main.o `test -f 'profiles/proximity/main.c' || echo '$(srcdir)/'`profiles/proximity/main.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) profiles/proximity/$(DEPDIR)/bluetoothd-main.Tpo profiles/proximity/$(DEPDIR)/bluetoothd-main.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='profiles/proximity/main.c' object='profiles/proximity/bluetoothd-main.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/proximity/bluetoothd-main.o `test -f 'profiles/proximity/main.c' || echo '$(srcdir)/'`profiles/proximity/main.c - -profiles/proximity/bluetoothd-main.obj: profiles/proximity/main.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/proximity/bluetoothd-main.obj -MD -MP -MF profiles/proximity/$(DEPDIR)/bluetoothd-main.Tpo -c -o profiles/proximity/bluetoothd-main.obj `if test -f 'profiles/proximity/main.c'; then $(CYGPATH_W) 'profiles/proximity/main.c'; else $(CYGPATH_W) '$(srcdir)/profiles/proximity/main.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) profiles/proximity/$(DEPDIR)/bluetoothd-main.Tpo profiles/proximity/$(DEPDIR)/bluetoothd-main.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='profiles/proximity/main.c' object='profiles/proximity/bluetoothd-main.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/proximity/bluetoothd-main.obj `if test -f 'profiles/proximity/main.c'; then $(CYGPATH_W) 'profiles/proximity/main.c'; else $(CYGPATH_W) '$(srcdir)/profiles/proximity/main.c'; fi` - -profiles/proximity/bluetoothd-manager.o: profiles/proximity/manager.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/proximity/bluetoothd-manager.o -MD -MP -MF profiles/proximity/$(DEPDIR)/bluetoothd-manager.Tpo -c -o profiles/proximity/bluetoothd-manager.o `test -f 'profiles/proximity/manager.c' || echo '$(srcdir)/'`profiles/proximity/manager.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) profiles/proximity/$(DEPDIR)/bluetoothd-manager.Tpo profiles/proximity/$(DEPDIR)/bluetoothd-manager.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='profiles/proximity/manager.c' object='profiles/proximity/bluetoothd-manager.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/proximity/bluetoothd-manager.o `test -f 'profiles/proximity/manager.c' || echo '$(srcdir)/'`profiles/proximity/manager.c - -profiles/proximity/bluetoothd-manager.obj: profiles/proximity/manager.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/proximity/bluetoothd-manager.obj -MD -MP -MF profiles/proximity/$(DEPDIR)/bluetoothd-manager.Tpo -c -o profiles/proximity/bluetoothd-manager.obj `if test -f 'profiles/proximity/manager.c'; then $(CYGPATH_W) 'profiles/proximity/manager.c'; else $(CYGPATH_W) '$(srcdir)/profiles/proximity/manager.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) profiles/proximity/$(DEPDIR)/bluetoothd-manager.Tpo profiles/proximity/$(DEPDIR)/bluetoothd-manager.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='profiles/proximity/manager.c' object='profiles/proximity/bluetoothd-manager.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/proximity/bluetoothd-manager.obj `if test -f 'profiles/proximity/manager.c'; then $(CYGPATH_W) 'profiles/proximity/manager.c'; else $(CYGPATH_W) '$(srcdir)/profiles/proximity/manager.c'; fi` - -profiles/proximity/bluetoothd-monitor.o: profiles/proximity/monitor.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/proximity/bluetoothd-monitor.o -MD -MP -MF profiles/proximity/$(DEPDIR)/bluetoothd-monitor.Tpo -c -o profiles/proximity/bluetoothd-monitor.o `test -f 'profiles/proximity/monitor.c' || echo '$(srcdir)/'`profiles/proximity/monitor.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) profiles/proximity/$(DEPDIR)/bluetoothd-monitor.Tpo profiles/proximity/$(DEPDIR)/bluetoothd-monitor.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='profiles/proximity/monitor.c' object='profiles/proximity/bluetoothd-monitor.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/proximity/bluetoothd-monitor.o `test -f 'profiles/proximity/monitor.c' || echo '$(srcdir)/'`profiles/proximity/monitor.c - -profiles/proximity/bluetoothd-monitor.obj: profiles/proximity/monitor.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/proximity/bluetoothd-monitor.obj -MD -MP -MF profiles/proximity/$(DEPDIR)/bluetoothd-monitor.Tpo -c -o profiles/proximity/bluetoothd-monitor.obj `if test -f 'profiles/proximity/monitor.c'; then $(CYGPATH_W) 'profiles/proximity/monitor.c'; else $(CYGPATH_W) '$(srcdir)/profiles/proximity/monitor.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) profiles/proximity/$(DEPDIR)/bluetoothd-monitor.Tpo profiles/proximity/$(DEPDIR)/bluetoothd-monitor.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='profiles/proximity/monitor.c' object='profiles/proximity/bluetoothd-monitor.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/proximity/bluetoothd-monitor.obj `if test -f 'profiles/proximity/monitor.c'; then $(CYGPATH_W) 'profiles/proximity/monitor.c'; else $(CYGPATH_W) '$(srcdir)/profiles/proximity/monitor.c'; fi` - -profiles/proximity/bluetoothd-reporter.o: profiles/proximity/reporter.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/proximity/bluetoothd-reporter.o -MD -MP -MF profiles/proximity/$(DEPDIR)/bluetoothd-reporter.Tpo -c -o profiles/proximity/bluetoothd-reporter.o `test -f 'profiles/proximity/reporter.c' || echo '$(srcdir)/'`profiles/proximity/reporter.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) profiles/proximity/$(DEPDIR)/bluetoothd-reporter.Tpo profiles/proximity/$(DEPDIR)/bluetoothd-reporter.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='profiles/proximity/reporter.c' object='profiles/proximity/bluetoothd-reporter.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/proximity/bluetoothd-reporter.o `test -f 'profiles/proximity/reporter.c' || echo '$(srcdir)/'`profiles/proximity/reporter.c - -profiles/proximity/bluetoothd-reporter.obj: profiles/proximity/reporter.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/proximity/bluetoothd-reporter.obj -MD -MP -MF profiles/proximity/$(DEPDIR)/bluetoothd-reporter.Tpo -c -o profiles/proximity/bluetoothd-reporter.obj `if test -f 'profiles/proximity/reporter.c'; then $(CYGPATH_W) 'profiles/proximity/reporter.c'; else $(CYGPATH_W) '$(srcdir)/profiles/proximity/reporter.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) profiles/proximity/$(DEPDIR)/bluetoothd-reporter.Tpo profiles/proximity/$(DEPDIR)/bluetoothd-reporter.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='profiles/proximity/reporter.c' object='profiles/proximity/bluetoothd-reporter.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/proximity/bluetoothd-reporter.obj `if test -f 'profiles/proximity/reporter.c'; then $(CYGPATH_W) 'profiles/proximity/reporter.c'; else $(CYGPATH_W) '$(srcdir)/profiles/proximity/reporter.c'; fi` - -profiles/proximity/bluetoothd-linkloss.o: profiles/proximity/linkloss.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/proximity/bluetoothd-linkloss.o -MD -MP -MF profiles/proximity/$(DEPDIR)/bluetoothd-linkloss.Tpo -c -o profiles/proximity/bluetoothd-linkloss.o `test -f 'profiles/proximity/linkloss.c' || echo '$(srcdir)/'`profiles/proximity/linkloss.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) profiles/proximity/$(DEPDIR)/bluetoothd-linkloss.Tpo profiles/proximity/$(DEPDIR)/bluetoothd-linkloss.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='profiles/proximity/linkloss.c' object='profiles/proximity/bluetoothd-linkloss.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/proximity/bluetoothd-linkloss.o `test -f 'profiles/proximity/linkloss.c' || echo '$(srcdir)/'`profiles/proximity/linkloss.c - -profiles/proximity/bluetoothd-linkloss.obj: profiles/proximity/linkloss.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/proximity/bluetoothd-linkloss.obj -MD -MP -MF profiles/proximity/$(DEPDIR)/bluetoothd-linkloss.Tpo -c -o profiles/proximity/bluetoothd-linkloss.obj `if test -f 'profiles/proximity/linkloss.c'; then $(CYGPATH_W) 'profiles/proximity/linkloss.c'; else $(CYGPATH_W) '$(srcdir)/profiles/proximity/linkloss.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) profiles/proximity/$(DEPDIR)/bluetoothd-linkloss.Tpo profiles/proximity/$(DEPDIR)/bluetoothd-linkloss.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='profiles/proximity/linkloss.c' object='profiles/proximity/bluetoothd-linkloss.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/proximity/bluetoothd-linkloss.obj `if test -f 'profiles/proximity/linkloss.c'; then $(CYGPATH_W) 'profiles/proximity/linkloss.c'; else $(CYGPATH_W) '$(srcdir)/profiles/proximity/linkloss.c'; fi` - -profiles/proximity/bluetoothd-immalert.o: profiles/proximity/immalert.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/proximity/bluetoothd-immalert.o -MD -MP -MF profiles/proximity/$(DEPDIR)/bluetoothd-immalert.Tpo -c -o profiles/proximity/bluetoothd-immalert.o `test -f 'profiles/proximity/immalert.c' || echo '$(srcdir)/'`profiles/proximity/immalert.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) profiles/proximity/$(DEPDIR)/bluetoothd-immalert.Tpo profiles/proximity/$(DEPDIR)/bluetoothd-immalert.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='profiles/proximity/immalert.c' object='profiles/proximity/bluetoothd-immalert.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/proximity/bluetoothd-immalert.o `test -f 'profiles/proximity/immalert.c' || echo '$(srcdir)/'`profiles/proximity/immalert.c - -profiles/proximity/bluetoothd-immalert.obj: profiles/proximity/immalert.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/proximity/bluetoothd-immalert.obj -MD -MP -MF profiles/proximity/$(DEPDIR)/bluetoothd-immalert.Tpo -c -o profiles/proximity/bluetoothd-immalert.obj `if test -f 'profiles/proximity/immalert.c'; then $(CYGPATH_W) 'profiles/proximity/immalert.c'; else $(CYGPATH_W) '$(srcdir)/profiles/proximity/immalert.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) profiles/proximity/$(DEPDIR)/bluetoothd-immalert.Tpo profiles/proximity/$(DEPDIR)/bluetoothd-immalert.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='profiles/proximity/immalert.c' object='profiles/proximity/bluetoothd-immalert.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/proximity/bluetoothd-immalert.obj `if test -f 'profiles/proximity/immalert.c'; then $(CYGPATH_W) 'profiles/proximity/immalert.c'; else $(CYGPATH_W) '$(srcdir)/profiles/proximity/immalert.c'; fi` - -profiles/thermometer/bluetoothd-thermometer.o: profiles/thermometer/thermometer.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/thermometer/bluetoothd-thermometer.o -MD -MP -MF profiles/thermometer/$(DEPDIR)/bluetoothd-thermometer.Tpo -c -o profiles/thermometer/bluetoothd-thermometer.o `test -f 'profiles/thermometer/thermometer.c' || echo '$(srcdir)/'`profiles/thermometer/thermometer.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) profiles/thermometer/$(DEPDIR)/bluetoothd-thermometer.Tpo profiles/thermometer/$(DEPDIR)/bluetoothd-thermometer.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='profiles/thermometer/thermometer.c' object='profiles/thermometer/bluetoothd-thermometer.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/thermometer/bluetoothd-thermometer.o `test -f 'profiles/thermometer/thermometer.c' || echo '$(srcdir)/'`profiles/thermometer/thermometer.c - -profiles/thermometer/bluetoothd-thermometer.obj: profiles/thermometer/thermometer.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/thermometer/bluetoothd-thermometer.obj -MD -MP -MF profiles/thermometer/$(DEPDIR)/bluetoothd-thermometer.Tpo -c -o profiles/thermometer/bluetoothd-thermometer.obj `if test -f 'profiles/thermometer/thermometer.c'; then $(CYGPATH_W) 'profiles/thermometer/thermometer.c'; else $(CYGPATH_W) '$(srcdir)/profiles/thermometer/thermometer.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) profiles/thermometer/$(DEPDIR)/bluetoothd-thermometer.Tpo profiles/thermometer/$(DEPDIR)/bluetoothd-thermometer.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='profiles/thermometer/thermometer.c' object='profiles/thermometer/bluetoothd-thermometer.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/thermometer/bluetoothd-thermometer.obj `if test -f 'profiles/thermometer/thermometer.c'; then $(CYGPATH_W) 'profiles/thermometer/thermometer.c'; else $(CYGPATH_W) '$(srcdir)/profiles/thermometer/thermometer.c'; fi` - -profiles/heartrate/bluetoothd-heartrate.o: profiles/heartrate/heartrate.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/heartrate/bluetoothd-heartrate.o -MD -MP -MF profiles/heartrate/$(DEPDIR)/bluetoothd-heartrate.Tpo -c -o profiles/heartrate/bluetoothd-heartrate.o `test -f 'profiles/heartrate/heartrate.c' || echo '$(srcdir)/'`profiles/heartrate/heartrate.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) profiles/heartrate/$(DEPDIR)/bluetoothd-heartrate.Tpo profiles/heartrate/$(DEPDIR)/bluetoothd-heartrate.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='profiles/heartrate/heartrate.c' object='profiles/heartrate/bluetoothd-heartrate.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/heartrate/bluetoothd-heartrate.o `test -f 'profiles/heartrate/heartrate.c' || echo '$(srcdir)/'`profiles/heartrate/heartrate.c - -profiles/heartrate/bluetoothd-heartrate.obj: profiles/heartrate/heartrate.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/heartrate/bluetoothd-heartrate.obj -MD -MP -MF profiles/heartrate/$(DEPDIR)/bluetoothd-heartrate.Tpo -c -o profiles/heartrate/bluetoothd-heartrate.obj `if test -f 'profiles/heartrate/heartrate.c'; then $(CYGPATH_W) 'profiles/heartrate/heartrate.c'; else $(CYGPATH_W) '$(srcdir)/profiles/heartrate/heartrate.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) profiles/heartrate/$(DEPDIR)/bluetoothd-heartrate.Tpo profiles/heartrate/$(DEPDIR)/bluetoothd-heartrate.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='profiles/heartrate/heartrate.c' object='profiles/heartrate/bluetoothd-heartrate.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/heartrate/bluetoothd-heartrate.obj `if test -f 'profiles/heartrate/heartrate.c'; then $(CYGPATH_W) 'profiles/heartrate/heartrate.c'; else $(CYGPATH_W) '$(srcdir)/profiles/heartrate/heartrate.c'; fi` - -profiles/cyclingspeed/bluetoothd-cyclingspeed.o: profiles/cyclingspeed/cyclingspeed.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/cyclingspeed/bluetoothd-cyclingspeed.o -MD -MP -MF profiles/cyclingspeed/$(DEPDIR)/bluetoothd-cyclingspeed.Tpo -c -o profiles/cyclingspeed/bluetoothd-cyclingspeed.o `test -f 'profiles/cyclingspeed/cyclingspeed.c' || echo '$(srcdir)/'`profiles/cyclingspeed/cyclingspeed.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) profiles/cyclingspeed/$(DEPDIR)/bluetoothd-cyclingspeed.Tpo profiles/cyclingspeed/$(DEPDIR)/bluetoothd-cyclingspeed.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='profiles/cyclingspeed/cyclingspeed.c' object='profiles/cyclingspeed/bluetoothd-cyclingspeed.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/cyclingspeed/bluetoothd-cyclingspeed.o `test -f 'profiles/cyclingspeed/cyclingspeed.c' || echo '$(srcdir)/'`profiles/cyclingspeed/cyclingspeed.c - -profiles/cyclingspeed/bluetoothd-cyclingspeed.obj: profiles/cyclingspeed/cyclingspeed.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT profiles/cyclingspeed/bluetoothd-cyclingspeed.obj -MD -MP -MF profiles/cyclingspeed/$(DEPDIR)/bluetoothd-cyclingspeed.Tpo -c -o profiles/cyclingspeed/bluetoothd-cyclingspeed.obj `if test -f 'profiles/cyclingspeed/cyclingspeed.c'; then $(CYGPATH_W) 'profiles/cyclingspeed/cyclingspeed.c'; else $(CYGPATH_W) '$(srcdir)/profiles/cyclingspeed/cyclingspeed.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) profiles/cyclingspeed/$(DEPDIR)/bluetoothd-cyclingspeed.Tpo profiles/cyclingspeed/$(DEPDIR)/bluetoothd-cyclingspeed.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='profiles/cyclingspeed/cyclingspeed.c' object='profiles/cyclingspeed/bluetoothd-cyclingspeed.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o profiles/cyclingspeed/bluetoothd-cyclingspeed.obj `if test -f 'profiles/cyclingspeed/cyclingspeed.c'; then $(CYGPATH_W) 'profiles/cyclingspeed/cyclingspeed.c'; else $(CYGPATH_W) '$(srcdir)/profiles/cyclingspeed/cyclingspeed.c'; fi` - -attrib/bluetoothd-att.o: attrib/att.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT attrib/bluetoothd-att.o -MD -MP -MF attrib/$(DEPDIR)/bluetoothd-att.Tpo -c -o attrib/bluetoothd-att.o `test -f 'attrib/att.c' || echo '$(srcdir)/'`attrib/att.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) attrib/$(DEPDIR)/bluetoothd-att.Tpo attrib/$(DEPDIR)/bluetoothd-att.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='attrib/att.c' object='attrib/bluetoothd-att.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o attrib/bluetoothd-att.o `test -f 'attrib/att.c' || echo '$(srcdir)/'`attrib/att.c - -attrib/bluetoothd-att.obj: attrib/att.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT attrib/bluetoothd-att.obj -MD -MP -MF attrib/$(DEPDIR)/bluetoothd-att.Tpo -c -o attrib/bluetoothd-att.obj `if test -f 'attrib/att.c'; then $(CYGPATH_W) 'attrib/att.c'; else $(CYGPATH_W) '$(srcdir)/attrib/att.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) attrib/$(DEPDIR)/bluetoothd-att.Tpo attrib/$(DEPDIR)/bluetoothd-att.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='attrib/att.c' object='attrib/bluetoothd-att.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o attrib/bluetoothd-att.obj `if test -f 'attrib/att.c'; then $(CYGPATH_W) 'attrib/att.c'; else $(CYGPATH_W) '$(srcdir)/attrib/att.c'; fi` - -attrib/bluetoothd-gatt.o: attrib/gatt.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT attrib/bluetoothd-gatt.o -MD -MP -MF attrib/$(DEPDIR)/bluetoothd-gatt.Tpo -c -o attrib/bluetoothd-gatt.o `test -f 'attrib/gatt.c' || echo '$(srcdir)/'`attrib/gatt.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) attrib/$(DEPDIR)/bluetoothd-gatt.Tpo attrib/$(DEPDIR)/bluetoothd-gatt.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='attrib/gatt.c' object='attrib/bluetoothd-gatt.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o attrib/bluetoothd-gatt.o `test -f 'attrib/gatt.c' || echo '$(srcdir)/'`attrib/gatt.c - -attrib/bluetoothd-gatt.obj: attrib/gatt.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT attrib/bluetoothd-gatt.obj -MD -MP -MF attrib/$(DEPDIR)/bluetoothd-gatt.Tpo -c -o attrib/bluetoothd-gatt.obj `if test -f 'attrib/gatt.c'; then $(CYGPATH_W) 'attrib/gatt.c'; else $(CYGPATH_W) '$(srcdir)/attrib/gatt.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) attrib/$(DEPDIR)/bluetoothd-gatt.Tpo attrib/$(DEPDIR)/bluetoothd-gatt.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='attrib/gatt.c' object='attrib/bluetoothd-gatt.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o attrib/bluetoothd-gatt.obj `if test -f 'attrib/gatt.c'; then $(CYGPATH_W) 'attrib/gatt.c'; else $(CYGPATH_W) '$(srcdir)/attrib/gatt.c'; fi` - -attrib/bluetoothd-gattrib.o: attrib/gattrib.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT attrib/bluetoothd-gattrib.o -MD -MP -MF attrib/$(DEPDIR)/bluetoothd-gattrib.Tpo -c -o attrib/bluetoothd-gattrib.o `test -f 'attrib/gattrib.c' || echo '$(srcdir)/'`attrib/gattrib.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) attrib/$(DEPDIR)/bluetoothd-gattrib.Tpo attrib/$(DEPDIR)/bluetoothd-gattrib.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='attrib/gattrib.c' object='attrib/bluetoothd-gattrib.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o attrib/bluetoothd-gattrib.o `test -f 'attrib/gattrib.c' || echo '$(srcdir)/'`attrib/gattrib.c - -attrib/bluetoothd-gattrib.obj: attrib/gattrib.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT attrib/bluetoothd-gattrib.obj -MD -MP -MF attrib/$(DEPDIR)/bluetoothd-gattrib.Tpo -c -o attrib/bluetoothd-gattrib.obj `if test -f 'attrib/gattrib.c'; then $(CYGPATH_W) 'attrib/gattrib.c'; else $(CYGPATH_W) '$(srcdir)/attrib/gattrib.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) attrib/$(DEPDIR)/bluetoothd-gattrib.Tpo attrib/$(DEPDIR)/bluetoothd-gattrib.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='attrib/gattrib.c' object='attrib/bluetoothd-gattrib.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o attrib/bluetoothd-gattrib.obj `if test -f 'attrib/gattrib.c'; then $(CYGPATH_W) 'attrib/gattrib.c'; else $(CYGPATH_W) '$(srcdir)/attrib/gattrib.c'; fi` - -attrib/bluetoothd-gatt-service.o: attrib/gatt-service.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT attrib/bluetoothd-gatt-service.o -MD -MP -MF attrib/$(DEPDIR)/bluetoothd-gatt-service.Tpo -c -o attrib/bluetoothd-gatt-service.o `test -f 'attrib/gatt-service.c' || echo '$(srcdir)/'`attrib/gatt-service.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) attrib/$(DEPDIR)/bluetoothd-gatt-service.Tpo attrib/$(DEPDIR)/bluetoothd-gatt-service.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='attrib/gatt-service.c' object='attrib/bluetoothd-gatt-service.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o attrib/bluetoothd-gatt-service.o `test -f 'attrib/gatt-service.c' || echo '$(srcdir)/'`attrib/gatt-service.c - -attrib/bluetoothd-gatt-service.obj: attrib/gatt-service.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT attrib/bluetoothd-gatt-service.obj -MD -MP -MF attrib/$(DEPDIR)/bluetoothd-gatt-service.Tpo -c -o attrib/bluetoothd-gatt-service.obj `if test -f 'attrib/gatt-service.c'; then $(CYGPATH_W) 'attrib/gatt-service.c'; else $(CYGPATH_W) '$(srcdir)/attrib/gatt-service.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) attrib/$(DEPDIR)/bluetoothd-gatt-service.Tpo attrib/$(DEPDIR)/bluetoothd-gatt-service.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='attrib/gatt-service.c' object='attrib/bluetoothd-gatt-service.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o attrib/bluetoothd-gatt-service.obj `if test -f 'attrib/gatt-service.c'; then $(CYGPATH_W) 'attrib/gatt-service.c'; else $(CYGPATH_W) '$(srcdir)/attrib/gatt-service.c'; fi` - -btio/bluetoothd-btio.o: btio/btio.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT btio/bluetoothd-btio.o -MD -MP -MF btio/$(DEPDIR)/bluetoothd-btio.Tpo -c -o btio/bluetoothd-btio.o `test -f 'btio/btio.c' || echo '$(srcdir)/'`btio/btio.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) btio/$(DEPDIR)/bluetoothd-btio.Tpo btio/$(DEPDIR)/bluetoothd-btio.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='btio/btio.c' object='btio/bluetoothd-btio.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o btio/bluetoothd-btio.o `test -f 'btio/btio.c' || echo '$(srcdir)/'`btio/btio.c - -btio/bluetoothd-btio.obj: btio/btio.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT btio/bluetoothd-btio.obj -MD -MP -MF btio/$(DEPDIR)/bluetoothd-btio.Tpo -c -o btio/bluetoothd-btio.obj `if test -f 'btio/btio.c'; then $(CYGPATH_W) 'btio/btio.c'; else $(CYGPATH_W) '$(srcdir)/btio/btio.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) btio/$(DEPDIR)/bluetoothd-btio.Tpo btio/$(DEPDIR)/bluetoothd-btio.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='btio/btio.c' object='btio/bluetoothd-btio.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o btio/bluetoothd-btio.obj `if test -f 'btio/btio.c'; then $(CYGPATH_W) 'btio/btio.c'; else $(CYGPATH_W) '$(srcdir)/btio/btio.c'; fi` - -src/bluetoothd-main.o: src/main.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT src/bluetoothd-main.o -MD -MP -MF src/$(DEPDIR)/bluetoothd-main.Tpo -c -o src/bluetoothd-main.o `test -f 'src/main.c' || echo '$(srcdir)/'`src/main.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/bluetoothd-main.Tpo src/$(DEPDIR)/bluetoothd-main.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/main.c' object='src/bluetoothd-main.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o src/bluetoothd-main.o `test -f 'src/main.c' || echo '$(srcdir)/'`src/main.c - -src/bluetoothd-main.obj: src/main.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT src/bluetoothd-main.obj -MD -MP -MF src/$(DEPDIR)/bluetoothd-main.Tpo -c -o src/bluetoothd-main.obj `if test -f 'src/main.c'; then $(CYGPATH_W) 'src/main.c'; else $(CYGPATH_W) '$(srcdir)/src/main.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/bluetoothd-main.Tpo src/$(DEPDIR)/bluetoothd-main.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/main.c' object='src/bluetoothd-main.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o src/bluetoothd-main.obj `if test -f 'src/main.c'; then $(CYGPATH_W) 'src/main.c'; else $(CYGPATH_W) '$(srcdir)/src/main.c'; fi` - -src/bluetoothd-log.o: src/log.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT src/bluetoothd-log.o -MD -MP -MF src/$(DEPDIR)/bluetoothd-log.Tpo -c -o src/bluetoothd-log.o `test -f 'src/log.c' || echo '$(srcdir)/'`src/log.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/bluetoothd-log.Tpo src/$(DEPDIR)/bluetoothd-log.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/log.c' object='src/bluetoothd-log.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o src/bluetoothd-log.o `test -f 'src/log.c' || echo '$(srcdir)/'`src/log.c - -src/bluetoothd-log.obj: src/log.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT src/bluetoothd-log.obj -MD -MP -MF src/$(DEPDIR)/bluetoothd-log.Tpo -c -o src/bluetoothd-log.obj `if test -f 'src/log.c'; then $(CYGPATH_W) 'src/log.c'; else $(CYGPATH_W) '$(srcdir)/src/log.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/bluetoothd-log.Tpo src/$(DEPDIR)/bluetoothd-log.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/log.c' object='src/bluetoothd-log.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o src/bluetoothd-log.obj `if test -f 'src/log.c'; then $(CYGPATH_W) 'src/log.c'; else $(CYGPATH_W) '$(srcdir)/src/log.c'; fi` - -src/bluetoothd-systemd.o: src/systemd.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT src/bluetoothd-systemd.o -MD -MP -MF src/$(DEPDIR)/bluetoothd-systemd.Tpo -c -o src/bluetoothd-systemd.o `test -f 'src/systemd.c' || echo '$(srcdir)/'`src/systemd.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/bluetoothd-systemd.Tpo src/$(DEPDIR)/bluetoothd-systemd.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/systemd.c' object='src/bluetoothd-systemd.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o src/bluetoothd-systemd.o `test -f 'src/systemd.c' || echo '$(srcdir)/'`src/systemd.c - -src/bluetoothd-systemd.obj: src/systemd.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT src/bluetoothd-systemd.obj -MD -MP -MF src/$(DEPDIR)/bluetoothd-systemd.Tpo -c -o src/bluetoothd-systemd.obj `if test -f 'src/systemd.c'; then $(CYGPATH_W) 'src/systemd.c'; else $(CYGPATH_W) '$(srcdir)/src/systemd.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/bluetoothd-systemd.Tpo src/$(DEPDIR)/bluetoothd-systemd.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/systemd.c' object='src/bluetoothd-systemd.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o src/bluetoothd-systemd.obj `if test -f 'src/systemd.c'; then $(CYGPATH_W) 'src/systemd.c'; else $(CYGPATH_W) '$(srcdir)/src/systemd.c'; fi` - -src/bluetoothd-rfkill.o: src/rfkill.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT src/bluetoothd-rfkill.o -MD -MP -MF src/$(DEPDIR)/bluetoothd-rfkill.Tpo -c -o src/bluetoothd-rfkill.o `test -f 'src/rfkill.c' || echo '$(srcdir)/'`src/rfkill.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/bluetoothd-rfkill.Tpo src/$(DEPDIR)/bluetoothd-rfkill.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/rfkill.c' object='src/bluetoothd-rfkill.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o src/bluetoothd-rfkill.o `test -f 'src/rfkill.c' || echo '$(srcdir)/'`src/rfkill.c - -src/bluetoothd-rfkill.obj: src/rfkill.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT src/bluetoothd-rfkill.obj -MD -MP -MF src/$(DEPDIR)/bluetoothd-rfkill.Tpo -c -o src/bluetoothd-rfkill.obj `if test -f 'src/rfkill.c'; then $(CYGPATH_W) 'src/rfkill.c'; else $(CYGPATH_W) '$(srcdir)/src/rfkill.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/bluetoothd-rfkill.Tpo src/$(DEPDIR)/bluetoothd-rfkill.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/rfkill.c' object='src/bluetoothd-rfkill.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o src/bluetoothd-rfkill.obj `if test -f 'src/rfkill.c'; then $(CYGPATH_W) 'src/rfkill.c'; else $(CYGPATH_W) '$(srcdir)/src/rfkill.c'; fi` - -src/bluetoothd-sdpd-server.o: src/sdpd-server.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT src/bluetoothd-sdpd-server.o -MD -MP -MF src/$(DEPDIR)/bluetoothd-sdpd-server.Tpo -c -o src/bluetoothd-sdpd-server.o `test -f 'src/sdpd-server.c' || echo '$(srcdir)/'`src/sdpd-server.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/bluetoothd-sdpd-server.Tpo src/$(DEPDIR)/bluetoothd-sdpd-server.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/sdpd-server.c' object='src/bluetoothd-sdpd-server.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o src/bluetoothd-sdpd-server.o `test -f 'src/sdpd-server.c' || echo '$(srcdir)/'`src/sdpd-server.c - -src/bluetoothd-sdpd-server.obj: src/sdpd-server.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT src/bluetoothd-sdpd-server.obj -MD -MP -MF src/$(DEPDIR)/bluetoothd-sdpd-server.Tpo -c -o src/bluetoothd-sdpd-server.obj `if test -f 'src/sdpd-server.c'; then $(CYGPATH_W) 'src/sdpd-server.c'; else $(CYGPATH_W) '$(srcdir)/src/sdpd-server.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/bluetoothd-sdpd-server.Tpo src/$(DEPDIR)/bluetoothd-sdpd-server.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/sdpd-server.c' object='src/bluetoothd-sdpd-server.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o src/bluetoothd-sdpd-server.obj `if test -f 'src/sdpd-server.c'; then $(CYGPATH_W) 'src/sdpd-server.c'; else $(CYGPATH_W) '$(srcdir)/src/sdpd-server.c'; fi` - -src/bluetoothd-sdpd-request.o: src/sdpd-request.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT src/bluetoothd-sdpd-request.o -MD -MP -MF src/$(DEPDIR)/bluetoothd-sdpd-request.Tpo -c -o src/bluetoothd-sdpd-request.o `test -f 'src/sdpd-request.c' || echo '$(srcdir)/'`src/sdpd-request.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/bluetoothd-sdpd-request.Tpo src/$(DEPDIR)/bluetoothd-sdpd-request.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/sdpd-request.c' object='src/bluetoothd-sdpd-request.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o src/bluetoothd-sdpd-request.o `test -f 'src/sdpd-request.c' || echo '$(srcdir)/'`src/sdpd-request.c - -src/bluetoothd-sdpd-request.obj: src/sdpd-request.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT src/bluetoothd-sdpd-request.obj -MD -MP -MF src/$(DEPDIR)/bluetoothd-sdpd-request.Tpo -c -o src/bluetoothd-sdpd-request.obj `if test -f 'src/sdpd-request.c'; then $(CYGPATH_W) 'src/sdpd-request.c'; else $(CYGPATH_W) '$(srcdir)/src/sdpd-request.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/bluetoothd-sdpd-request.Tpo src/$(DEPDIR)/bluetoothd-sdpd-request.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/sdpd-request.c' object='src/bluetoothd-sdpd-request.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o src/bluetoothd-sdpd-request.obj `if test -f 'src/sdpd-request.c'; then $(CYGPATH_W) 'src/sdpd-request.c'; else $(CYGPATH_W) '$(srcdir)/src/sdpd-request.c'; fi` - -src/bluetoothd-sdpd-service.o: src/sdpd-service.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT src/bluetoothd-sdpd-service.o -MD -MP -MF src/$(DEPDIR)/bluetoothd-sdpd-service.Tpo -c -o src/bluetoothd-sdpd-service.o `test -f 'src/sdpd-service.c' || echo '$(srcdir)/'`src/sdpd-service.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/bluetoothd-sdpd-service.Tpo src/$(DEPDIR)/bluetoothd-sdpd-service.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/sdpd-service.c' object='src/bluetoothd-sdpd-service.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o src/bluetoothd-sdpd-service.o `test -f 'src/sdpd-service.c' || echo '$(srcdir)/'`src/sdpd-service.c - -src/bluetoothd-sdpd-service.obj: src/sdpd-service.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT src/bluetoothd-sdpd-service.obj -MD -MP -MF src/$(DEPDIR)/bluetoothd-sdpd-service.Tpo -c -o src/bluetoothd-sdpd-service.obj `if test -f 'src/sdpd-service.c'; then $(CYGPATH_W) 'src/sdpd-service.c'; else $(CYGPATH_W) '$(srcdir)/src/sdpd-service.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/bluetoothd-sdpd-service.Tpo src/$(DEPDIR)/bluetoothd-sdpd-service.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/sdpd-service.c' object='src/bluetoothd-sdpd-service.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o src/bluetoothd-sdpd-service.obj `if test -f 'src/sdpd-service.c'; then $(CYGPATH_W) 'src/sdpd-service.c'; else $(CYGPATH_W) '$(srcdir)/src/sdpd-service.c'; fi` - -src/bluetoothd-sdpd-database.o: src/sdpd-database.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT src/bluetoothd-sdpd-database.o -MD -MP -MF src/$(DEPDIR)/bluetoothd-sdpd-database.Tpo -c -o src/bluetoothd-sdpd-database.o `test -f 'src/sdpd-database.c' || echo '$(srcdir)/'`src/sdpd-database.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/bluetoothd-sdpd-database.Tpo src/$(DEPDIR)/bluetoothd-sdpd-database.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/sdpd-database.c' object='src/bluetoothd-sdpd-database.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o src/bluetoothd-sdpd-database.o `test -f 'src/sdpd-database.c' || echo '$(srcdir)/'`src/sdpd-database.c - -src/bluetoothd-sdpd-database.obj: src/sdpd-database.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT src/bluetoothd-sdpd-database.obj -MD -MP -MF src/$(DEPDIR)/bluetoothd-sdpd-database.Tpo -c -o src/bluetoothd-sdpd-database.obj `if test -f 'src/sdpd-database.c'; then $(CYGPATH_W) 'src/sdpd-database.c'; else $(CYGPATH_W) '$(srcdir)/src/sdpd-database.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/bluetoothd-sdpd-database.Tpo src/$(DEPDIR)/bluetoothd-sdpd-database.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/sdpd-database.c' object='src/bluetoothd-sdpd-database.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o src/bluetoothd-sdpd-database.obj `if test -f 'src/sdpd-database.c'; then $(CYGPATH_W) 'src/sdpd-database.c'; else $(CYGPATH_W) '$(srcdir)/src/sdpd-database.c'; fi` - -src/bluetoothd-attrib-server.o: src/attrib-server.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT src/bluetoothd-attrib-server.o -MD -MP -MF src/$(DEPDIR)/bluetoothd-attrib-server.Tpo -c -o src/bluetoothd-attrib-server.o `test -f 'src/attrib-server.c' || echo '$(srcdir)/'`src/attrib-server.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/bluetoothd-attrib-server.Tpo src/$(DEPDIR)/bluetoothd-attrib-server.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/attrib-server.c' object='src/bluetoothd-attrib-server.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o src/bluetoothd-attrib-server.o `test -f 'src/attrib-server.c' || echo '$(srcdir)/'`src/attrib-server.c - -src/bluetoothd-attrib-server.obj: src/attrib-server.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT src/bluetoothd-attrib-server.obj -MD -MP -MF src/$(DEPDIR)/bluetoothd-attrib-server.Tpo -c -o src/bluetoothd-attrib-server.obj `if test -f 'src/attrib-server.c'; then $(CYGPATH_W) 'src/attrib-server.c'; else $(CYGPATH_W) '$(srcdir)/src/attrib-server.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/bluetoothd-attrib-server.Tpo src/$(DEPDIR)/bluetoothd-attrib-server.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/attrib-server.c' object='src/bluetoothd-attrib-server.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o src/bluetoothd-attrib-server.obj `if test -f 'src/attrib-server.c'; then $(CYGPATH_W) 'src/attrib-server.c'; else $(CYGPATH_W) '$(srcdir)/src/attrib-server.c'; fi` - -src/bluetoothd-sdp-xml.o: src/sdp-xml.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT src/bluetoothd-sdp-xml.o -MD -MP -MF src/$(DEPDIR)/bluetoothd-sdp-xml.Tpo -c -o src/bluetoothd-sdp-xml.o `test -f 'src/sdp-xml.c' || echo '$(srcdir)/'`src/sdp-xml.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/bluetoothd-sdp-xml.Tpo src/$(DEPDIR)/bluetoothd-sdp-xml.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/sdp-xml.c' object='src/bluetoothd-sdp-xml.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o src/bluetoothd-sdp-xml.o `test -f 'src/sdp-xml.c' || echo '$(srcdir)/'`src/sdp-xml.c - -src/bluetoothd-sdp-xml.obj: src/sdp-xml.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT src/bluetoothd-sdp-xml.obj -MD -MP -MF src/$(DEPDIR)/bluetoothd-sdp-xml.Tpo -c -o src/bluetoothd-sdp-xml.obj `if test -f 'src/sdp-xml.c'; then $(CYGPATH_W) 'src/sdp-xml.c'; else $(CYGPATH_W) '$(srcdir)/src/sdp-xml.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/bluetoothd-sdp-xml.Tpo src/$(DEPDIR)/bluetoothd-sdp-xml.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/sdp-xml.c' object='src/bluetoothd-sdp-xml.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o src/bluetoothd-sdp-xml.obj `if test -f 'src/sdp-xml.c'; then $(CYGPATH_W) 'src/sdp-xml.c'; else $(CYGPATH_W) '$(srcdir)/src/sdp-xml.c'; fi` - -src/bluetoothd-sdp-client.o: src/sdp-client.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT src/bluetoothd-sdp-client.o -MD -MP -MF src/$(DEPDIR)/bluetoothd-sdp-client.Tpo -c -o src/bluetoothd-sdp-client.o `test -f 'src/sdp-client.c' || echo '$(srcdir)/'`src/sdp-client.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/bluetoothd-sdp-client.Tpo src/$(DEPDIR)/bluetoothd-sdp-client.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/sdp-client.c' object='src/bluetoothd-sdp-client.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o src/bluetoothd-sdp-client.o `test -f 'src/sdp-client.c' || echo '$(srcdir)/'`src/sdp-client.c - -src/bluetoothd-sdp-client.obj: src/sdp-client.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT src/bluetoothd-sdp-client.obj -MD -MP -MF src/$(DEPDIR)/bluetoothd-sdp-client.Tpo -c -o src/bluetoothd-sdp-client.obj `if test -f 'src/sdp-client.c'; then $(CYGPATH_W) 'src/sdp-client.c'; else $(CYGPATH_W) '$(srcdir)/src/sdp-client.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/bluetoothd-sdp-client.Tpo src/$(DEPDIR)/bluetoothd-sdp-client.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/sdp-client.c' object='src/bluetoothd-sdp-client.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o src/bluetoothd-sdp-client.obj `if test -f 'src/sdp-client.c'; then $(CYGPATH_W) 'src/sdp-client.c'; else $(CYGPATH_W) '$(srcdir)/src/sdp-client.c'; fi` - -src/bluetoothd-textfile.o: src/textfile.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT src/bluetoothd-textfile.o -MD -MP -MF src/$(DEPDIR)/bluetoothd-textfile.Tpo -c -o src/bluetoothd-textfile.o `test -f 'src/textfile.c' || echo '$(srcdir)/'`src/textfile.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/bluetoothd-textfile.Tpo src/$(DEPDIR)/bluetoothd-textfile.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/textfile.c' object='src/bluetoothd-textfile.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o src/bluetoothd-textfile.o `test -f 'src/textfile.c' || echo '$(srcdir)/'`src/textfile.c - -src/bluetoothd-textfile.obj: src/textfile.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT src/bluetoothd-textfile.obj -MD -MP -MF src/$(DEPDIR)/bluetoothd-textfile.Tpo -c -o src/bluetoothd-textfile.obj `if test -f 'src/textfile.c'; then $(CYGPATH_W) 'src/textfile.c'; else $(CYGPATH_W) '$(srcdir)/src/textfile.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/bluetoothd-textfile.Tpo src/$(DEPDIR)/bluetoothd-textfile.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/textfile.c' object='src/bluetoothd-textfile.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o src/bluetoothd-textfile.obj `if test -f 'src/textfile.c'; then $(CYGPATH_W) 'src/textfile.c'; else $(CYGPATH_W) '$(srcdir)/src/textfile.c'; fi` - -src/bluetoothd-glib-helper.o: src/glib-helper.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT src/bluetoothd-glib-helper.o -MD -MP -MF src/$(DEPDIR)/bluetoothd-glib-helper.Tpo -c -o src/bluetoothd-glib-helper.o `test -f 'src/glib-helper.c' || echo '$(srcdir)/'`src/glib-helper.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/bluetoothd-glib-helper.Tpo src/$(DEPDIR)/bluetoothd-glib-helper.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/glib-helper.c' object='src/bluetoothd-glib-helper.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o src/bluetoothd-glib-helper.o `test -f 'src/glib-helper.c' || echo '$(srcdir)/'`src/glib-helper.c - -src/bluetoothd-glib-helper.obj: src/glib-helper.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT src/bluetoothd-glib-helper.obj -MD -MP -MF src/$(DEPDIR)/bluetoothd-glib-helper.Tpo -c -o src/bluetoothd-glib-helper.obj `if test -f 'src/glib-helper.c'; then $(CYGPATH_W) 'src/glib-helper.c'; else $(CYGPATH_W) '$(srcdir)/src/glib-helper.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/bluetoothd-glib-helper.Tpo src/$(DEPDIR)/bluetoothd-glib-helper.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/glib-helper.c' object='src/bluetoothd-glib-helper.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o src/bluetoothd-glib-helper.obj `if test -f 'src/glib-helper.c'; then $(CYGPATH_W) 'src/glib-helper.c'; else $(CYGPATH_W) '$(srcdir)/src/glib-helper.c'; fi` - -src/bluetoothd-plugin.o: src/plugin.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT src/bluetoothd-plugin.o -MD -MP -MF src/$(DEPDIR)/bluetoothd-plugin.Tpo -c -o src/bluetoothd-plugin.o `test -f 'src/plugin.c' || echo '$(srcdir)/'`src/plugin.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/bluetoothd-plugin.Tpo src/$(DEPDIR)/bluetoothd-plugin.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/plugin.c' object='src/bluetoothd-plugin.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o src/bluetoothd-plugin.o `test -f 'src/plugin.c' || echo '$(srcdir)/'`src/plugin.c - -src/bluetoothd-plugin.obj: src/plugin.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT src/bluetoothd-plugin.obj -MD -MP -MF src/$(DEPDIR)/bluetoothd-plugin.Tpo -c -o src/bluetoothd-plugin.obj `if test -f 'src/plugin.c'; then $(CYGPATH_W) 'src/plugin.c'; else $(CYGPATH_W) '$(srcdir)/src/plugin.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/bluetoothd-plugin.Tpo src/$(DEPDIR)/bluetoothd-plugin.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/plugin.c' object='src/bluetoothd-plugin.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o src/bluetoothd-plugin.obj `if test -f 'src/plugin.c'; then $(CYGPATH_W) 'src/plugin.c'; else $(CYGPATH_W) '$(srcdir)/src/plugin.c'; fi` - -src/bluetoothd-storage.o: src/storage.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT src/bluetoothd-storage.o -MD -MP -MF src/$(DEPDIR)/bluetoothd-storage.Tpo -c -o src/bluetoothd-storage.o `test -f 'src/storage.c' || echo '$(srcdir)/'`src/storage.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/bluetoothd-storage.Tpo src/$(DEPDIR)/bluetoothd-storage.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/storage.c' object='src/bluetoothd-storage.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o src/bluetoothd-storage.o `test -f 'src/storage.c' || echo '$(srcdir)/'`src/storage.c - -src/bluetoothd-storage.obj: src/storage.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT src/bluetoothd-storage.obj -MD -MP -MF src/$(DEPDIR)/bluetoothd-storage.Tpo -c -o src/bluetoothd-storage.obj `if test -f 'src/storage.c'; then $(CYGPATH_W) 'src/storage.c'; else $(CYGPATH_W) '$(srcdir)/src/storage.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/bluetoothd-storage.Tpo src/$(DEPDIR)/bluetoothd-storage.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/storage.c' object='src/bluetoothd-storage.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o src/bluetoothd-storage.obj `if test -f 'src/storage.c'; then $(CYGPATH_W) 'src/storage.c'; else $(CYGPATH_W) '$(srcdir)/src/storage.c'; fi` - -src/bluetoothd-agent.o: src/agent.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT src/bluetoothd-agent.o -MD -MP -MF src/$(DEPDIR)/bluetoothd-agent.Tpo -c -o src/bluetoothd-agent.o `test -f 'src/agent.c' || echo '$(srcdir)/'`src/agent.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/bluetoothd-agent.Tpo src/$(DEPDIR)/bluetoothd-agent.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/agent.c' object='src/bluetoothd-agent.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o src/bluetoothd-agent.o `test -f 'src/agent.c' || echo '$(srcdir)/'`src/agent.c - -src/bluetoothd-agent.obj: src/agent.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT src/bluetoothd-agent.obj -MD -MP -MF src/$(DEPDIR)/bluetoothd-agent.Tpo -c -o src/bluetoothd-agent.obj `if test -f 'src/agent.c'; then $(CYGPATH_W) 'src/agent.c'; else $(CYGPATH_W) '$(srcdir)/src/agent.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/bluetoothd-agent.Tpo src/$(DEPDIR)/bluetoothd-agent.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/agent.c' object='src/bluetoothd-agent.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o src/bluetoothd-agent.obj `if test -f 'src/agent.c'; then $(CYGPATH_W) 'src/agent.c'; else $(CYGPATH_W) '$(srcdir)/src/agent.c'; fi` - -src/bluetoothd-error.o: src/error.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT src/bluetoothd-error.o -MD -MP -MF src/$(DEPDIR)/bluetoothd-error.Tpo -c -o src/bluetoothd-error.o `test -f 'src/error.c' || echo '$(srcdir)/'`src/error.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/bluetoothd-error.Tpo src/$(DEPDIR)/bluetoothd-error.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/error.c' object='src/bluetoothd-error.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o src/bluetoothd-error.o `test -f 'src/error.c' || echo '$(srcdir)/'`src/error.c - -src/bluetoothd-error.obj: src/error.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT src/bluetoothd-error.obj -MD -MP -MF src/$(DEPDIR)/bluetoothd-error.Tpo -c -o src/bluetoothd-error.obj `if test -f 'src/error.c'; then $(CYGPATH_W) 'src/error.c'; else $(CYGPATH_W) '$(srcdir)/src/error.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/bluetoothd-error.Tpo src/$(DEPDIR)/bluetoothd-error.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/error.c' object='src/bluetoothd-error.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o src/bluetoothd-error.obj `if test -f 'src/error.c'; then $(CYGPATH_W) 'src/error.c'; else $(CYGPATH_W) '$(srcdir)/src/error.c'; fi` - -src/bluetoothd-adapter.o: src/adapter.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT src/bluetoothd-adapter.o -MD -MP -MF src/$(DEPDIR)/bluetoothd-adapter.Tpo -c -o src/bluetoothd-adapter.o `test -f 'src/adapter.c' || echo '$(srcdir)/'`src/adapter.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/bluetoothd-adapter.Tpo src/$(DEPDIR)/bluetoothd-adapter.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/adapter.c' object='src/bluetoothd-adapter.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o src/bluetoothd-adapter.o `test -f 'src/adapter.c' || echo '$(srcdir)/'`src/adapter.c - -src/bluetoothd-adapter.obj: src/adapter.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT src/bluetoothd-adapter.obj -MD -MP -MF src/$(DEPDIR)/bluetoothd-adapter.Tpo -c -o src/bluetoothd-adapter.obj `if test -f 'src/adapter.c'; then $(CYGPATH_W) 'src/adapter.c'; else $(CYGPATH_W) '$(srcdir)/src/adapter.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/bluetoothd-adapter.Tpo src/$(DEPDIR)/bluetoothd-adapter.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/adapter.c' object='src/bluetoothd-adapter.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o src/bluetoothd-adapter.obj `if test -f 'src/adapter.c'; then $(CYGPATH_W) 'src/adapter.c'; else $(CYGPATH_W) '$(srcdir)/src/adapter.c'; fi` - -src/bluetoothd-profile.o: src/profile.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT src/bluetoothd-profile.o -MD -MP -MF src/$(DEPDIR)/bluetoothd-profile.Tpo -c -o src/bluetoothd-profile.o `test -f 'src/profile.c' || echo '$(srcdir)/'`src/profile.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/bluetoothd-profile.Tpo src/$(DEPDIR)/bluetoothd-profile.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/profile.c' object='src/bluetoothd-profile.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o src/bluetoothd-profile.o `test -f 'src/profile.c' || echo '$(srcdir)/'`src/profile.c - -src/bluetoothd-profile.obj: src/profile.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT src/bluetoothd-profile.obj -MD -MP -MF src/$(DEPDIR)/bluetoothd-profile.Tpo -c -o src/bluetoothd-profile.obj `if test -f 'src/profile.c'; then $(CYGPATH_W) 'src/profile.c'; else $(CYGPATH_W) '$(srcdir)/src/profile.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/bluetoothd-profile.Tpo src/$(DEPDIR)/bluetoothd-profile.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/profile.c' object='src/bluetoothd-profile.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o src/bluetoothd-profile.obj `if test -f 'src/profile.c'; then $(CYGPATH_W) 'src/profile.c'; else $(CYGPATH_W) '$(srcdir)/src/profile.c'; fi` - -src/bluetoothd-device.o: src/device.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT src/bluetoothd-device.o -MD -MP -MF src/$(DEPDIR)/bluetoothd-device.Tpo -c -o src/bluetoothd-device.o `test -f 'src/device.c' || echo '$(srcdir)/'`src/device.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/bluetoothd-device.Tpo src/$(DEPDIR)/bluetoothd-device.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/device.c' object='src/bluetoothd-device.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o src/bluetoothd-device.o `test -f 'src/device.c' || echo '$(srcdir)/'`src/device.c - -src/bluetoothd-device.obj: src/device.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT src/bluetoothd-device.obj -MD -MP -MF src/$(DEPDIR)/bluetoothd-device.Tpo -c -o src/bluetoothd-device.obj `if test -f 'src/device.c'; then $(CYGPATH_W) 'src/device.c'; else $(CYGPATH_W) '$(srcdir)/src/device.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/bluetoothd-device.Tpo src/$(DEPDIR)/bluetoothd-device.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/device.c' object='src/bluetoothd-device.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o src/bluetoothd-device.obj `if test -f 'src/device.c'; then $(CYGPATH_W) 'src/device.c'; else $(CYGPATH_W) '$(srcdir)/src/device.c'; fi` - -src/bluetoothd-dbus-common.o: src/dbus-common.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT src/bluetoothd-dbus-common.o -MD -MP -MF src/$(DEPDIR)/bluetoothd-dbus-common.Tpo -c -o src/bluetoothd-dbus-common.o `test -f 'src/dbus-common.c' || echo '$(srcdir)/'`src/dbus-common.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/bluetoothd-dbus-common.Tpo src/$(DEPDIR)/bluetoothd-dbus-common.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/dbus-common.c' object='src/bluetoothd-dbus-common.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o src/bluetoothd-dbus-common.o `test -f 'src/dbus-common.c' || echo '$(srcdir)/'`src/dbus-common.c - -src/bluetoothd-dbus-common.obj: src/dbus-common.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT src/bluetoothd-dbus-common.obj -MD -MP -MF src/$(DEPDIR)/bluetoothd-dbus-common.Tpo -c -o src/bluetoothd-dbus-common.obj `if test -f 'src/dbus-common.c'; then $(CYGPATH_W) 'src/dbus-common.c'; else $(CYGPATH_W) '$(srcdir)/src/dbus-common.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/bluetoothd-dbus-common.Tpo src/$(DEPDIR)/bluetoothd-dbus-common.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/dbus-common.c' object='src/bluetoothd-dbus-common.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o src/bluetoothd-dbus-common.obj `if test -f 'src/dbus-common.c'; then $(CYGPATH_W) 'src/dbus-common.c'; else $(CYGPATH_W) '$(srcdir)/src/dbus-common.c'; fi` - -src/bluetoothd-eir.o: src/eir.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT src/bluetoothd-eir.o -MD -MP -MF src/$(DEPDIR)/bluetoothd-eir.Tpo -c -o src/bluetoothd-eir.o `test -f 'src/eir.c' || echo '$(srcdir)/'`src/eir.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/bluetoothd-eir.Tpo src/$(DEPDIR)/bluetoothd-eir.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/eir.c' object='src/bluetoothd-eir.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o src/bluetoothd-eir.o `test -f 'src/eir.c' || echo '$(srcdir)/'`src/eir.c - -src/bluetoothd-eir.obj: src/eir.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT src/bluetoothd-eir.obj -MD -MP -MF src/$(DEPDIR)/bluetoothd-eir.Tpo -c -o src/bluetoothd-eir.obj `if test -f 'src/eir.c'; then $(CYGPATH_W) 'src/eir.c'; else $(CYGPATH_W) '$(srcdir)/src/eir.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/bluetoothd-eir.Tpo src/$(DEPDIR)/bluetoothd-eir.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/eir.c' object='src/bluetoothd-eir.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o src/bluetoothd-eir.obj `if test -f 'src/eir.c'; then $(CYGPATH_W) 'src/eir.c'; else $(CYGPATH_W) '$(srcdir)/src/eir.c'; fi` - -src/shared/bluetoothd-util.o: src/shared/util.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT src/shared/bluetoothd-util.o -MD -MP -MF src/shared/$(DEPDIR)/bluetoothd-util.Tpo -c -o src/shared/bluetoothd-util.o `test -f 'src/shared/util.c' || echo '$(srcdir)/'`src/shared/util.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/shared/$(DEPDIR)/bluetoothd-util.Tpo src/shared/$(DEPDIR)/bluetoothd-util.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/shared/util.c' object='src/shared/bluetoothd-util.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o src/shared/bluetoothd-util.o `test -f 'src/shared/util.c' || echo '$(srcdir)/'`src/shared/util.c - -src/shared/bluetoothd-util.obj: src/shared/util.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT src/shared/bluetoothd-util.obj -MD -MP -MF src/shared/$(DEPDIR)/bluetoothd-util.Tpo -c -o src/shared/bluetoothd-util.obj `if test -f 'src/shared/util.c'; then $(CYGPATH_W) 'src/shared/util.c'; else $(CYGPATH_W) '$(srcdir)/src/shared/util.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/shared/$(DEPDIR)/bluetoothd-util.Tpo src/shared/$(DEPDIR)/bluetoothd-util.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/shared/util.c' object='src/shared/bluetoothd-util.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o src/shared/bluetoothd-util.obj `if test -f 'src/shared/util.c'; then $(CYGPATH_W) 'src/shared/util.c'; else $(CYGPATH_W) '$(srcdir)/src/shared/util.c'; fi` - -src/shared/bluetoothd-mgmt.o: src/shared/mgmt.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT src/shared/bluetoothd-mgmt.o -MD -MP -MF src/shared/$(DEPDIR)/bluetoothd-mgmt.Tpo -c -o src/shared/bluetoothd-mgmt.o `test -f 'src/shared/mgmt.c' || echo '$(srcdir)/'`src/shared/mgmt.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/shared/$(DEPDIR)/bluetoothd-mgmt.Tpo src/shared/$(DEPDIR)/bluetoothd-mgmt.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/shared/mgmt.c' object='src/shared/bluetoothd-mgmt.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o src/shared/bluetoothd-mgmt.o `test -f 'src/shared/mgmt.c' || echo '$(srcdir)/'`src/shared/mgmt.c - -src/shared/bluetoothd-mgmt.obj: src/shared/mgmt.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -MT src/shared/bluetoothd-mgmt.obj -MD -MP -MF src/shared/$(DEPDIR)/bluetoothd-mgmt.Tpo -c -o src/shared/bluetoothd-mgmt.obj `if test -f 'src/shared/mgmt.c'; then $(CYGPATH_W) 'src/shared/mgmt.c'; else $(CYGPATH_W) '$(srcdir)/src/shared/mgmt.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/shared/$(DEPDIR)/bluetoothd-mgmt.Tpo src/shared/$(DEPDIR)/bluetoothd-mgmt.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/shared/mgmt.c' object='src/shared/bluetoothd-mgmt.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_bluetoothd_CFLAGS) $(CFLAGS) -c -o src/shared/bluetoothd-mgmt.obj `if test -f 'src/shared/mgmt.c'; then $(CYGPATH_W) 'src/shared/mgmt.c'; else $(CYGPATH_W) '$(srcdir)/src/shared/mgmt.c'; fi` - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -rm -rf attrib/.libs attrib/_libs - -rm -rf client/.libs client/_libs - -rm -rf emulator/.libs emulator/_libs - -rm -rf lib/.libs lib/_libs - -rm -rf monitor/.libs monitor/_libs - -rm -rf obexd/src/.libs obexd/src/_libs - -rm -rf plugins/.libs plugins/_libs - -rm -rf profiles/cups/.libs profiles/cups/_libs - -rm -rf profiles/iap/.libs profiles/iap/_libs - -rm -rf src/.libs src/_libs - -rm -rf tools/.libs tools/_libs - -rm -rf unit/.libs unit/_libs - -distclean-libtool: - -rm -f libtool config.lt -install-man1: $(dist_man_MANS) $(man_MANS) - @$(NORMAL_INSTALL) - @list1=''; \ - list2='$(dist_man_MANS) $(man_MANS)'; \ - test -n "$(man1dir)" \ - && test -n "`echo $$list1$$list2`" \ - || exit 0; \ - echo " $(MKDIR_P) '$(DESTDIR)$(man1dir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(man1dir)" || exit 1; \ - { for i in $$list1; do echo "$$i"; done; \ - if test -n "$$list2"; then \ - for i in $$list2; do echo "$$i"; done \ - | sed -n '/\.1[a-z]*$$/p'; \ - fi; \ - } | while read p; do \ - if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; echo "$$p"; \ - done | \ - sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \ - sed 'N;N;s,\n, ,g' | { \ - list=; while read file base inst; do \ - if test "$$base" = "$$inst"; then list="$$list $$file"; else \ - echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \ - $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst" || exit $$?; \ - fi; \ - done; \ - for i in $$list; do echo "$$i"; done | $(am__base_list) | \ - while read files; do \ - test -z "$$files" || { \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man1dir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(man1dir)" || exit $$?; }; \ - done; } - -uninstall-man1: - @$(NORMAL_UNINSTALL) - @list=''; test -n "$(man1dir)" || exit 0; \ - files=`{ for i in $$list; do echo "$$i"; done; \ - l2='$(dist_man_MANS) $(man_MANS)'; for i in $$l2; do echo "$$i"; done | \ - sed -n '/\.1[a-z]*$$/p'; \ - } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \ - dir='$(DESTDIR)$(man1dir)'; $(am__uninstall_files_from_dir) -install-man8: $(dist_man_MANS) $(man_MANS) - @$(NORMAL_INSTALL) - @list1=''; \ - list2='$(dist_man_MANS) $(man_MANS)'; \ - test -n "$(man8dir)" \ - && test -n "`echo $$list1$$list2`" \ - || exit 0; \ - echo " $(MKDIR_P) '$(DESTDIR)$(man8dir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(man8dir)" || exit 1; \ - { for i in $$list1; do echo "$$i"; done; \ - if test -n "$$list2"; then \ - for i in $$list2; do echo "$$i"; done \ - | sed -n '/\.8[a-z]*$$/p'; \ - fi; \ - } | while read p; do \ - if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; echo "$$p"; \ - done | \ - sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^8][0-9a-z]*$$,8,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \ - sed 'N;N;s,\n, ,g' | { \ - list=; while read file base inst; do \ - if test "$$base" = "$$inst"; then list="$$list $$file"; else \ - echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man8dir)/$$inst'"; \ - $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man8dir)/$$inst" || exit $$?; \ - fi; \ - done; \ - for i in $$list; do echo "$$i"; done | $(am__base_list) | \ - while read files; do \ - test -z "$$files" || { \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man8dir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(man8dir)" || exit $$?; }; \ - done; } - -uninstall-man8: - @$(NORMAL_UNINSTALL) - @list=''; test -n "$(man8dir)" || exit 0; \ - files=`{ for i in $$list; do echo "$$i"; done; \ - l2='$(dist_man_MANS) $(man_MANS)'; for i in $$l2; do echo "$$i"; done | \ - sed -n '/\.8[a-z]*$$/p'; \ - } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^8][0-9a-z]*$$,8,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \ - dir='$(DESTDIR)$(man8dir)'; $(am__uninstall_files_from_dir) -install-confDATA: $(conf_DATA) - @$(NORMAL_INSTALL) - @list='$(conf_DATA)'; test -n "$(confdir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(confdir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(confdir)" || exit 1; \ - fi; \ - for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; \ - done | $(am__base_list) | \ - while read files; do \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(confdir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(confdir)" || exit $$?; \ - done - -uninstall-confDATA: - @$(NORMAL_UNINSTALL) - @list='$(conf_DATA)'; test -n "$(confdir)" || list=; \ - files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ - dir='$(DESTDIR)$(confdir)'; $(am__uninstall_files_from_dir) -install-dbusDATA: $(dbus_DATA) - @$(NORMAL_INSTALL) - @list='$(dbus_DATA)'; test -n "$(dbusdir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(dbusdir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(dbusdir)" || exit 1; \ - fi; \ - for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; \ - done | $(am__base_list) | \ - while read files; do \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(dbusdir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(dbusdir)" || exit $$?; \ - done - -uninstall-dbusDATA: - @$(NORMAL_UNINSTALL) - @list='$(dbus_DATA)'; test -n "$(dbusdir)" || list=; \ - files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ - dir='$(DESTDIR)$(dbusdir)'; $(am__uninstall_files_from_dir) -install-dbussessionbusDATA: $(dbussessionbus_DATA) - @$(NORMAL_INSTALL) - @list='$(dbussessionbus_DATA)'; test -n "$(dbussessionbusdir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(dbussessionbusdir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(dbussessionbusdir)" || exit 1; \ - fi; \ - for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; \ - done | $(am__base_list) | \ - while read files; do \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(dbussessionbusdir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(dbussessionbusdir)" || exit $$?; \ - done - -uninstall-dbussessionbusDATA: - @$(NORMAL_UNINSTALL) - @list='$(dbussessionbus_DATA)'; test -n "$(dbussessionbusdir)" || list=; \ - files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ - dir='$(DESTDIR)$(dbussessionbusdir)'; $(am__uninstall_files_from_dir) -install-dbussystembusDATA: $(dbussystembus_DATA) - @$(NORMAL_INSTALL) - @list='$(dbussystembus_DATA)'; test -n "$(dbussystembusdir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(dbussystembusdir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(dbussystembusdir)" || exit 1; \ - fi; \ - for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; \ - done | $(am__base_list) | \ - while read files; do \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(dbussystembusdir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(dbussystembusdir)" || exit $$?; \ - done - -uninstall-dbussystembusDATA: - @$(NORMAL_UNINSTALL) - @list='$(dbussystembus_DATA)'; test -n "$(dbussystembusdir)" || list=; \ - files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ - dir='$(DESTDIR)$(dbussystembusdir)'; $(am__uninstall_files_from_dir) -install-pkgconfigDATA: $(pkgconfig_DATA) - @$(NORMAL_INSTALL) - @list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(pkgconfigdir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(pkgconfigdir)" || exit 1; \ - fi; \ - for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; \ - done | $(am__base_list) | \ - while read files; do \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pkgconfigdir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(pkgconfigdir)" || exit $$?; \ - done - -uninstall-pkgconfigDATA: - @$(NORMAL_UNINSTALL) - @list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \ - files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ - dir='$(DESTDIR)$(pkgconfigdir)'; $(am__uninstall_files_from_dir) -install-rulesDATA: $(rules_DATA) - @$(NORMAL_INSTALL) - @list='$(rules_DATA)'; test -n "$(rulesdir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(rulesdir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(rulesdir)" || exit 1; \ - fi; \ - for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; \ - done | $(am__base_list) | \ - while read files; do \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(rulesdir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(rulesdir)" || exit $$?; \ - done - -uninstall-rulesDATA: - @$(NORMAL_UNINSTALL) - @list='$(rules_DATA)'; test -n "$(rulesdir)" || list=; \ - files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ - dir='$(DESTDIR)$(rulesdir)'; $(am__uninstall_files_from_dir) -install-stateDATA: $(state_DATA) - @$(NORMAL_INSTALL) - @list='$(state_DATA)'; test -n "$(statedir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(statedir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(statedir)" || exit 1; \ - fi; \ - for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; \ - done | $(am__base_list) | \ - while read files; do \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(statedir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(statedir)" || exit $$?; \ - done - -uninstall-stateDATA: - @$(NORMAL_UNINSTALL) - @list='$(state_DATA)'; test -n "$(statedir)" || list=; \ - files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ - dir='$(DESTDIR)$(statedir)'; $(am__uninstall_files_from_dir) -install-systemdsystemunitDATA: $(systemdsystemunit_DATA) - @$(NORMAL_INSTALL) - @list='$(systemdsystemunit_DATA)'; test -n "$(systemdsystemunitdir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(systemdsystemunitdir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(systemdsystemunitdir)" || exit 1; \ - fi; \ - for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; \ - done | $(am__base_list) | \ - while read files; do \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(systemdsystemunitdir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(systemdsystemunitdir)" || exit $$?; \ - done - -uninstall-systemdsystemunitDATA: - @$(NORMAL_UNINSTALL) - @list='$(systemdsystemunit_DATA)'; test -n "$(systemdsystemunitdir)" || list=; \ - files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ - dir='$(DESTDIR)$(systemdsystemunitdir)'; $(am__uninstall_files_from_dir) -install-systemduserunitDATA: $(systemduserunit_DATA) - @$(NORMAL_INSTALL) - @list='$(systemduserunit_DATA)'; test -n "$(systemduserunitdir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(systemduserunitdir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(systemduserunitdir)" || exit 1; \ - fi; \ - for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; \ - done | $(am__base_list) | \ - while read files; do \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(systemduserunitdir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(systemduserunitdir)" || exit $$?; \ - done - -uninstall-systemduserunitDATA: - @$(NORMAL_UNINSTALL) - @list='$(systemduserunit_DATA)'; test -n "$(systemduserunitdir)" || list=; \ - files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ - dir='$(DESTDIR)$(systemduserunitdir)'; $(am__uninstall_files_from_dir) -install-includeHEADERS: $(include_HEADERS) - @$(NORMAL_INSTALL) - @list='$(include_HEADERS)'; test -n "$(includedir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(includedir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(includedir)" || exit 1; \ - fi; \ - for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; \ - done | $(am__base_list) | \ - while read files; do \ - echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(includedir)'"; \ - $(INSTALL_HEADER) $$files "$(DESTDIR)$(includedir)" || exit $$?; \ - done - -uninstall-includeHEADERS: - @$(NORMAL_UNINSTALL) - @list='$(include_HEADERS)'; test -n "$(includedir)" || list=; \ - files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ - dir='$(DESTDIR)$(includedir)'; $(am__uninstall_files_from_dir) - -ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in files) print i; }; }'`; \ - mkid -fID $$unique -tags: TAGS - -TAGS: $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - set x; \ - here=`pwd`; \ - list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in files) print i; }; }'`; \ - shift; \ - if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ - if test $$# -gt 0; then \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - "$$@" $$unique; \ - else \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$unique; \ - fi; \ - fi -ctags: CTAGS -CTAGS: $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in files) print i; }; }'`; \ - test -z "$(CTAGS_ARGS)$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && $(am__cd) $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) "$$here" - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -check-TESTS: $(TESTS) - @failed=0; all=0; xfail=0; xpass=0; skip=0; \ - srcdir=$(srcdir); export srcdir; \ - list=' $(TESTS) '; \ - $(am__tty_colors); \ - if test -n "$$list"; then \ - for tst in $$list; do \ - if test -f ./$$tst; then dir=./; \ - elif test -f $$tst; then dir=; \ - else dir="$(srcdir)/"; fi; \ - if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \ - all=`expr $$all + 1`; \ - case " $(XFAIL_TESTS) " in \ - *[\ \ ]$$tst[\ \ ]*) \ - xpass=`expr $$xpass + 1`; \ - failed=`expr $$failed + 1`; \ - col=$$red; res=XPASS; \ - ;; \ - *) \ - col=$$grn; res=PASS; \ - ;; \ - esac; \ - elif test $$? -ne 77; then \ - all=`expr $$all + 1`; \ - case " $(XFAIL_TESTS) " in \ - *[\ \ ]$$tst[\ \ ]*) \ - xfail=`expr $$xfail + 1`; \ - col=$$lgn; res=XFAIL; \ - ;; \ - *) \ - failed=`expr $$failed + 1`; \ - col=$$red; res=FAIL; \ - ;; \ - esac; \ - else \ - skip=`expr $$skip + 1`; \ - col=$$blu; res=SKIP; \ - fi; \ - echo "$${col}$$res$${std}: $$tst"; \ - done; \ - if test "$$all" -eq 1; then \ - tests="test"; \ - All=""; \ - else \ - tests="tests"; \ - All="All "; \ - fi; \ - if test "$$failed" -eq 0; then \ - if test "$$xfail" -eq 0; then \ - banner="$$All$$all $$tests passed"; \ - else \ - if test "$$xfail" -eq 1; then failures=failure; else failures=failures; fi; \ - banner="$$All$$all $$tests behaved as expected ($$xfail expected $$failures)"; \ - fi; \ - else \ - if test "$$xpass" -eq 0; then \ - banner="$$failed of $$all $$tests failed"; \ - else \ - if test "$$xpass" -eq 1; then passes=pass; else passes=passes; fi; \ - banner="$$failed of $$all $$tests did not behave as expected ($$xpass unexpected $$passes)"; \ - fi; \ - fi; \ - dashes="$$banner"; \ - skipped=""; \ - if test "$$skip" -ne 0; then \ - if test "$$skip" -eq 1; then \ - skipped="($$skip test was not run)"; \ - else \ - skipped="($$skip tests were not run)"; \ - fi; \ - test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \ - dashes="$$skipped"; \ - fi; \ - report=""; \ - if test "$$failed" -ne 0 && test -n "$(PACKAGE_BUGREPORT)"; then \ - report="Please report to $(PACKAGE_BUGREPORT)"; \ - test `echo "$$report" | wc -c` -le `echo "$$banner" | wc -c` || \ - dashes="$$report"; \ - fi; \ - dashes=`echo "$$dashes" | sed s/./=/g`; \ - if test "$$failed" -eq 0; then \ - col="$$grn"; \ - else \ - col="$$red"; \ - fi; \ - echo "$${col}$$dashes$${std}"; \ - echo "$${col}$$banner$${std}"; \ - test -z "$$skipped" || echo "$${col}$$skipped$${std}"; \ - test -z "$$report" || echo "$${col}$$report$${std}"; \ - echo "$${col}$$dashes$${std}"; \ - test "$$failed" -eq 0; \ - else :; fi - -distdir: $(DISTFILES) - @list='$(MANS)'; if test -n "$$list"; then \ - list=`for p in $$list; do \ - if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ - if test -f "$$d$$p"; then echo "$$d$$p"; else :; fi; done`; \ - if test -n "$$list" && \ - grep 'ab help2man is required to generate this page' $$list >/dev/null; then \ - echo "error: found man pages containing the \`missing help2man' replacement text:" >&2; \ - grep -l 'ab help2man is required to generate this page' $$list | sed 's/^/ /' >&2; \ - echo " to fix them, install help2man, remove and regenerate the man pages;" >&2; \ - echo " typically \`make maintainer-clean' will remove them" >&2; \ - exit 1; \ - else :; fi; \ - else :; fi - $(am__remove_distdir) - test -d "$(distdir)" || mkdir "$(distdir)" - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done - -test -n "$(am__skip_mode_fix)" \ - || find "$(distdir)" -type d ! -perm -755 \ - -exec chmod u+rwx,go+rx {} \; -o \ - ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ - ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ - ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \ - || chmod -R a+r "$(distdir)" -dist-gzip: distdir - tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz - $(am__remove_distdir) - -dist-bzip2: distdir - tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2 - $(am__remove_distdir) - -dist-lzip: distdir - tardir=$(distdir) && $(am__tar) | lzip -c $${LZIP_OPT--9} >$(distdir).tar.lz - $(am__remove_distdir) - -dist-lzma: distdir - tardir=$(distdir) && $(am__tar) | lzma -9 -c >$(distdir).tar.lzma - $(am__remove_distdir) -dist-xz: distdir - tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz - $(am__remove_distdir) - -dist-tarZ: distdir - tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z - $(am__remove_distdir) - -dist-shar: distdir - shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz - $(am__remove_distdir) - -dist-zip: distdir - -rm -f $(distdir).zip - zip -rq $(distdir).zip $(distdir) - $(am__remove_distdir) - -dist dist-all: distdir - tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz - $(am__remove_distdir) - -# This target untars the dist file and tries a VPATH configuration. Then -# it guarantees that the distribution is self-contained by making another -# tarfile. -distcheck: dist - case '$(DIST_ARCHIVES)' in \ - *.tar.gz*) \ - GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\ - *.tar.bz2*) \ - bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\ - *.tar.lzma*) \ - lzma -dc $(distdir).tar.lzma | $(am__untar) ;;\ - *.tar.lz*) \ - lzip -dc $(distdir).tar.lz | $(am__untar) ;;\ - *.tar.xz*) \ - xz -dc $(distdir).tar.xz | $(am__untar) ;;\ - *.tar.Z*) \ - uncompress -c $(distdir).tar.Z | $(am__untar) ;;\ - *.shar.gz*) \ - GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\ - *.zip*) \ - unzip $(distdir).zip ;;\ - esac - chmod -R a-w $(distdir); chmod u+w $(distdir) - mkdir $(distdir)/_build - mkdir $(distdir)/_inst - chmod a-w $(distdir) - test -d $(distdir)/_build || exit 0; \ - dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ - && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ - && am__cwd=`pwd` \ - && $(am__cd) $(distdir)/_build \ - && ../configure --srcdir=.. --prefix="$$dc_install_base" \ - $(AM_DISTCHECK_CONFIGURE_FLAGS) \ - $(DISTCHECK_CONFIGURE_FLAGS) \ - && $(MAKE) $(AM_MAKEFLAGS) \ - && $(MAKE) $(AM_MAKEFLAGS) dvi \ - && $(MAKE) $(AM_MAKEFLAGS) check \ - && $(MAKE) $(AM_MAKEFLAGS) install \ - && $(MAKE) $(AM_MAKEFLAGS) installcheck \ - && $(MAKE) $(AM_MAKEFLAGS) uninstall \ - && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \ - distuninstallcheck \ - && chmod -R a-w "$$dc_install_base" \ - && ({ \ - (cd ../.. && umask 077 && mkdir "$$dc_destdir") \ - && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \ - && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \ - && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \ - distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \ - } || { rm -rf "$$dc_destdir"; exit 1; }) \ - && rm -rf "$$dc_destdir" \ - && $(MAKE) $(AM_MAKEFLAGS) dist \ - && rm -rf $(DIST_ARCHIVES) \ - && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \ - && cd "$$am__cwd" \ - || exit 1 - $(am__remove_distdir) - @(echo "$(distdir) archives ready for distribution: "; \ - list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \ - sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x' -distuninstallcheck: - @test -n '$(distuninstallcheck_dir)' || { \ - echo 'ERROR: trying to run $@ with an empty' \ - '$$(distuninstallcheck_dir)' >&2; \ - exit 1; \ - }; \ - $(am__cd) '$(distuninstallcheck_dir)' || { \ - echo 'ERROR: cannot chdir into $(distuninstallcheck_dir)' >&2; \ - exit 1; \ - }; \ - test `$(am__distuninstallcheck_listfiles) | wc -l` -eq 0 \ - || { echo "ERROR: files left after uninstall:" ; \ - if test -n "$(DESTDIR)"; then \ - echo " (check DESTDIR support)"; \ - fi ; \ - $(distuninstallcheck_listfiles) ; \ - exit 1; } >&2 -distcleancheck: distclean - @if test '$(srcdir)' = . ; then \ - echo "ERROR: distcleancheck can only run from a VPATH build" ; \ - exit 1 ; \ - fi - @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \ - || { echo "ERROR: files left in build directory after distclean:" ; \ - $(distcleancheck_listfiles) ; \ - exit 1; } >&2 -check-am: all-am - $(MAKE) $(AM_MAKEFLAGS) check-TESTS -check: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) check-am -all-am: Makefile $(LIBRARIES) $(LTLIBRARIES) $(PROGRAMS) $(SCRIPTS) \ - $(MANS) $(DATA) $(HEADERS) config.h -install-binPROGRAMS: install-libLTLIBRARIES - -installdirs: - for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(plugindir)" "$(DESTDIR)$(bindir)" "$(DESTDIR)$(cupsdir)" "$(DESTDIR)$(libexecdir)" "$(DESTDIR)$(udevdir)" "$(DESTDIR)$(testdir)" "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(man8dir)" "$(DESTDIR)$(confdir)" "$(DESTDIR)$(dbusdir)" "$(DESTDIR)$(dbussessionbusdir)" "$(DESTDIR)$(dbussystembusdir)" "$(DESTDIR)$(pkgconfigdir)" "$(DESTDIR)$(rulesdir)" "$(DESTDIR)$(statedir)" "$(DESTDIR)$(systemdsystemunitdir)" "$(DESTDIR)$(systemduserunitdir)" "$(DESTDIR)$(includedir)"; do \ - test -z "$$dir" || $(MKDIR_P) "$$dir"; \ - done -install: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -clean-generic: - -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -rm -f attrib/$(DEPDIR)/$(am__dirstamp) - -rm -f attrib/$(am__dirstamp) - -rm -f btio/$(DEPDIR)/$(am__dirstamp) - -rm -f btio/$(am__dirstamp) - -rm -f client/$(DEPDIR)/$(am__dirstamp) - -rm -f client/$(am__dirstamp) - -rm -f emulator/$(DEPDIR)/$(am__dirstamp) - -rm -f emulator/$(am__dirstamp) - -rm -f gdbus/$(DEPDIR)/$(am__dirstamp) - -rm -f gdbus/$(am__dirstamp) - -rm -f gobex/$(DEPDIR)/$(am__dirstamp) - -rm -f gobex/$(am__dirstamp) - -rm -f lib/$(DEPDIR)/$(am__dirstamp) - -rm -f lib/$(am__dirstamp) - -rm -f monitor/$(DEPDIR)/$(am__dirstamp) - -rm -f monitor/$(am__dirstamp) - -rm -f obexd/client/$(DEPDIR)/$(am__dirstamp) - -rm -f obexd/client/$(am__dirstamp) - -rm -f obexd/plugins/$(DEPDIR)/$(am__dirstamp) - -rm -f obexd/plugins/$(am__dirstamp) - -rm -f obexd/src/$(DEPDIR)/$(am__dirstamp) - -rm -f obexd/src/$(am__dirstamp) - -rm -f plugins/$(DEPDIR)/$(am__dirstamp) - -rm -f plugins/$(am__dirstamp) - -rm -f profiles/alert/$(DEPDIR)/$(am__dirstamp) - -rm -f profiles/alert/$(am__dirstamp) - -rm -f profiles/audio/$(DEPDIR)/$(am__dirstamp) - -rm -f profiles/audio/$(am__dirstamp) - -rm -f profiles/cups/$(DEPDIR)/$(am__dirstamp) - -rm -f profiles/cups/$(am__dirstamp) - -rm -f profiles/cyclingspeed/$(DEPDIR)/$(am__dirstamp) - -rm -f profiles/cyclingspeed/$(am__dirstamp) - -rm -f profiles/deviceinfo/$(DEPDIR)/$(am__dirstamp) - -rm -f profiles/deviceinfo/$(am__dirstamp) - -rm -f profiles/gatt/$(DEPDIR)/$(am__dirstamp) - -rm -f profiles/gatt/$(am__dirstamp) - -rm -f profiles/health/$(DEPDIR)/$(am__dirstamp) - -rm -f profiles/health/$(am__dirstamp) - -rm -f profiles/heartrate/$(DEPDIR)/$(am__dirstamp) - -rm -f profiles/heartrate/$(am__dirstamp) - -rm -f profiles/iap/$(DEPDIR)/$(am__dirstamp) - -rm -f profiles/iap/$(am__dirstamp) - -rm -f profiles/input/$(DEPDIR)/$(am__dirstamp) - -rm -f profiles/input/$(am__dirstamp) - -rm -f profiles/network/$(DEPDIR)/$(am__dirstamp) - -rm -f profiles/network/$(am__dirstamp) - -rm -f profiles/proximity/$(DEPDIR)/$(am__dirstamp) - -rm -f profiles/proximity/$(am__dirstamp) - -rm -f profiles/sap/$(DEPDIR)/$(am__dirstamp) - -rm -f profiles/sap/$(am__dirstamp) - -rm -f profiles/scanparam/$(DEPDIR)/$(am__dirstamp) - -rm -f profiles/scanparam/$(am__dirstamp) - -rm -f profiles/thermometer/$(DEPDIR)/$(am__dirstamp) - -rm -f profiles/thermometer/$(am__dirstamp) - -rm -f profiles/time/$(DEPDIR)/$(am__dirstamp) - -rm -f profiles/time/$(am__dirstamp) - -rm -f src/$(DEPDIR)/$(am__dirstamp) - -rm -f src/$(am__dirstamp) - -rm -f src/shared/$(DEPDIR)/$(am__dirstamp) - -rm -f src/shared/$(am__dirstamp) - -rm -f tools/$(DEPDIR)/$(am__dirstamp) - -rm -f tools/$(am__dirstamp) - -rm -f tools/parser/$(DEPDIR)/$(am__dirstamp) - -rm -f tools/parser/$(am__dirstamp) - -rm -f unit/$(DEPDIR)/$(am__dirstamp) - -rm -f unit/$(am__dirstamp) - -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." - -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES) - -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) -clean: clean-am - -clean-am: clean-binPROGRAMS clean-cupsPROGRAMS clean-generic \ - clean-libLTLIBRARIES clean-libexecPROGRAMS clean-libtool \ - clean-local clean-noinstLIBRARIES clean-noinstLTLIBRARIES \ - clean-noinstPROGRAMS clean-pluginLTLIBRARIES \ - clean-udevPROGRAMS mostlyclean-am - -distclean: distclean-am - -rm -f $(am__CONFIG_DISTCLEAN_FILES) - -rm -rf attrib/$(DEPDIR) btio/$(DEPDIR) client/$(DEPDIR) emulator/$(DEPDIR) gdbus/$(DEPDIR) gobex/$(DEPDIR) lib/$(DEPDIR) monitor/$(DEPDIR) obexd/client/$(DEPDIR) obexd/plugins/$(DEPDIR) obexd/src/$(DEPDIR) plugins/$(DEPDIR) profiles/alert/$(DEPDIR) profiles/audio/$(DEPDIR) profiles/cups/$(DEPDIR) profiles/cyclingspeed/$(DEPDIR) profiles/deviceinfo/$(DEPDIR) profiles/gatt/$(DEPDIR) profiles/health/$(DEPDIR) profiles/heartrate/$(DEPDIR) profiles/iap/$(DEPDIR) profiles/input/$(DEPDIR) profiles/network/$(DEPDIR) profiles/proximity/$(DEPDIR) profiles/sap/$(DEPDIR) profiles/scanparam/$(DEPDIR) profiles/thermometer/$(DEPDIR) profiles/time/$(DEPDIR) src/$(DEPDIR) src/shared/$(DEPDIR) tools/$(DEPDIR) tools/parser/$(DEPDIR) unit/$(DEPDIR) - -rm -f Makefile -distclean-am: clean-am distclean-compile distclean-generic \ - distclean-hdr distclean-libtool distclean-tags - -dvi: dvi-am - -dvi-am: - -html: html-am - -html-am: - -info: info-am - -info-am: - -install-data-am: install-confDATA install-cupsPROGRAMS \ - install-dbusDATA install-dbussessionbusDATA \ - install-dbussystembusDATA install-includeHEADERS install-man \ - install-pkgconfigDATA install-pluginLTLIBRARIES \ - install-rulesDATA install-stateDATA \ - install-systemdsystemunitDATA install-systemduserunitDATA \ - install-testSCRIPTS install-udevPROGRAMS - -install-dvi: install-dvi-am - -install-dvi-am: - -install-exec-am: install-binPROGRAMS install-libLTLIBRARIES \ - install-libexecPROGRAMS - -install-html: install-html-am - -install-html-am: - -install-info: install-info-am - -install-info-am: - -install-man: install-man1 install-man8 - -install-pdf: install-pdf-am - -install-pdf-am: - -install-ps: install-ps-am - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -f $(am__CONFIG_DISTCLEAN_FILES) - -rm -rf $(top_srcdir)/autom4te.cache - -rm -rf attrib/$(DEPDIR) btio/$(DEPDIR) client/$(DEPDIR) emulator/$(DEPDIR) gdbus/$(DEPDIR) gobex/$(DEPDIR) lib/$(DEPDIR) monitor/$(DEPDIR) obexd/client/$(DEPDIR) obexd/plugins/$(DEPDIR) obexd/src/$(DEPDIR) plugins/$(DEPDIR) profiles/alert/$(DEPDIR) profiles/audio/$(DEPDIR) profiles/cups/$(DEPDIR) profiles/cyclingspeed/$(DEPDIR) profiles/deviceinfo/$(DEPDIR) profiles/gatt/$(DEPDIR) profiles/health/$(DEPDIR) profiles/heartrate/$(DEPDIR) profiles/iap/$(DEPDIR) profiles/input/$(DEPDIR) profiles/network/$(DEPDIR) profiles/proximity/$(DEPDIR) profiles/sap/$(DEPDIR) profiles/scanparam/$(DEPDIR) profiles/thermometer/$(DEPDIR) profiles/time/$(DEPDIR) src/$(DEPDIR) src/shared/$(DEPDIR) tools/$(DEPDIR) tools/parser/$(DEPDIR) unit/$(DEPDIR) - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-compile mostlyclean-generic \ - mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: uninstall-binPROGRAMS uninstall-confDATA \ - uninstall-cupsPROGRAMS uninstall-dbusDATA \ - uninstall-dbussessionbusDATA uninstall-dbussystembusDATA \ - uninstall-includeHEADERS uninstall-libLTLIBRARIES \ - uninstall-libexecPROGRAMS uninstall-man \ - uninstall-pkgconfigDATA uninstall-pluginLTLIBRARIES \ - uninstall-rulesDATA uninstall-stateDATA \ - uninstall-systemdsystemunitDATA uninstall-systemduserunitDATA \ - uninstall-testSCRIPTS uninstall-udevPROGRAMS - -uninstall-man: uninstall-man1 uninstall-man8 - -.MAKE: all check check-am install install-am install-strip - -.PHONY: CTAGS GTAGS all all-am am--refresh check check-TESTS check-am \ - clean clean-binPROGRAMS clean-cupsPROGRAMS clean-generic \ - clean-libLTLIBRARIES clean-libexecPROGRAMS clean-libtool \ - clean-local clean-noinstLIBRARIES clean-noinstLTLIBRARIES \ - clean-noinstPROGRAMS clean-pluginLTLIBRARIES \ - clean-udevPROGRAMS ctags dist dist-all dist-bzip2 dist-gzip \ - dist-lzip dist-lzma dist-shar dist-tarZ dist-xz dist-zip \ - distcheck distclean distclean-compile distclean-generic \ - distclean-hdr distclean-libtool distclean-tags distcleancheck \ - distdir distuninstallcheck dvi dvi-am html html-am info \ - info-am install install-am install-binPROGRAMS \ - install-confDATA install-cupsPROGRAMS install-data \ - install-data-am install-dbusDATA install-dbussessionbusDATA \ - install-dbussystembusDATA install-dvi install-dvi-am \ - install-exec install-exec-am install-html install-html-am \ - install-includeHEADERS install-info install-info-am \ - install-libLTLIBRARIES install-libexecPROGRAMS install-man \ - install-man1 install-man8 install-pdf install-pdf-am \ - install-pkgconfigDATA install-pluginLTLIBRARIES install-ps \ - install-ps-am install-rulesDATA install-stateDATA \ - install-strip install-systemdsystemunitDATA \ - install-systemduserunitDATA install-testSCRIPTS \ - install-udevPROGRAMS installcheck installcheck-am installdirs \ - maintainer-clean maintainer-clean-generic mostlyclean \ - mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ - pdf pdf-am ps ps-am tags uninstall uninstall-am \ - uninstall-binPROGRAMS uninstall-confDATA \ - uninstall-cupsPROGRAMS uninstall-dbusDATA \ - uninstall-dbussessionbusDATA uninstall-dbussystembusDATA \ - uninstall-includeHEADERS uninstall-libLTLIBRARIES \ - uninstall-libexecPROGRAMS uninstall-man uninstall-man1 \ - uninstall-man8 uninstall-pkgconfigDATA \ - uninstall-pluginLTLIBRARIES uninstall-rulesDATA \ - uninstall-stateDATA uninstall-systemdsystemunitDATA \ - uninstall-systemduserunitDATA uninstall-testSCRIPTS \ - uninstall-udevPROGRAMS - - -obexd/src/plugin.$(OBJEXT): obexd/src/builtin.h - -obexd/src/builtin.h: obexd/src/genbuiltin $(obexd_builtin_sources) - $(AM_V_GEN)$(srcdir)/obexd/src/genbuiltin $(obexd_builtin_modules) > $@ - -%.service: %.service.in Makefile - $(SED_PROCESS) - -src/builtin.h: src/genbuiltin $(builtin_sources) - $(AM_V_GEN)$(srcdir)/src/genbuiltin $(builtin_modules) > $@ - -tools/%.rules: - $(AM_V_GEN)cp $(srcdir)/$(subst 97-,,$@) $@ - -$(lib_libbluetooth_la_OBJECTS): $(local_headers) - -lib/bluetooth/%.h: lib/%.h - $(AM_V_at)$(MKDIR_P) lib/bluetooth - $(AM_V_GEN)$(LN_S) -f $(abs_top_builddir)/$< $@ - -clean-local: - $(RM) -r lib/bluetooth - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/GRIB_BLE_HUB/libs/ble_extend/Makefile.obexd b/GRIB_BLE_HUB/libs/ble_extend/Makefile.obexd deleted file mode 100644 index 5824e0a..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/Makefile.obexd +++ /dev/null @@ -1,110 +0,0 @@ - -if SYSTEMD -systemduserunitdir = @SYSTEMD_USERUNITDIR@ -systemduserunit_DATA = obexd/src/obex.service - -dbussessionbusdir = @DBUS_SESSIONBUSDIR@ -dbussessionbus_DATA = obexd/src/org.bluez.obex.service -endif - -EXTRA_DIST += obexd/src/obex.service.in obexd/src/org.bluez.obex.service - -obex_plugindir = $(libdir)/obex/plugins - -obexd_builtin_modules = -obexd_builtin_sources = -obexd_builtin_nodist = - -obexd_builtin_modules += filesystem -obexd_builtin_sources += obexd/plugins/filesystem.c obexd/plugins/filesystem.h - -obexd_builtin_modules += bluetooth -obexd_builtin_sources += obexd/plugins/bluetooth.c - -if EXPERIMENTAL -obexd_builtin_modules += pcsuite -obexd_builtin_sources += obexd/plugins/pcsuite.c -endif - -obexd_builtin_modules += opp -obexd_builtin_sources += obexd/plugins/opp.c - -obexd_builtin_modules += ftp -obexd_builtin_sources += obexd/plugins/ftp.c obexd/plugins/ftp.h - -if OBEX -obexd_builtin_modules += irmc -obexd_builtin_sources += obexd/plugins/irmc.c - -obexd_builtin_modules += pbap -obexd_builtin_sources += obexd/plugins/pbap.c \ - obexd/plugins/vcard.h obexd/plugins/vcard.c \ - obexd/plugins/phonebook.h \ - obexd/plugins/phonebook-dummy.c -endif - -obexd_builtin_modules += mas -obexd_builtin_sources += obexd/plugins/mas.c obexd/src/map_ap.h \ - obexd/plugins/messages.h \ - obexd/plugins/messages-dummy.c - -obexd_builtin_modules += mns -obexd_builtin_sources += obexd/client/mns.c obexd/src/map_ap.h \ - obexd/client/map-event.h - -libexec_PROGRAMS += obexd/src/obexd - -obexd_src_obexd_SOURCES = $(gdbus_sources) $(btio_sources) $(gobex_sources) \ - $(obexd_builtin_sources) \ - obexd/src/main.c obexd/src/obexd.h \ - obexd/src/plugin.h obexd/src/plugin.c \ - obexd/src/log.h obexd/src/log.c \ - obexd/src/manager.h obexd/src/manager.c \ - obexd/src/obex.h obexd/src/obex.c obexd/src/obex-priv.h \ - obexd/src/mimetype.h obexd/src/mimetype.c \ - obexd/src/service.h obexd/src/service.c \ - obexd/src/transport.h obexd/src/transport.c \ - obexd/src/server.h obexd/src/server.c \ - obexd/client/manager.h obexd/client/manager.c \ - obexd/client/session.h obexd/client/session.c \ - obexd/client/bluetooth.h obexd/client/bluetooth.c \ - obexd/client/sync.h obexd/client/sync.c \ - obexd/client/pbap.h obexd/client/pbap.c \ - obexd/client/ftp.h obexd/client/ftp.c \ - obexd/client/opp.h obexd/client/opp.c \ - obexd/client/map.h obexd/client/map.c \ - obexd/client/transfer.h obexd/client/transfer.c \ - obexd/client/transport.h obexd/client/transport.c \ - obexd/client/dbus.h obexd/client/dbus.c \ - obexd/client/driver.h obexd/client/driver.c \ - obexd/src/map_ap.h -obexd_src_obexd_LDADD = lib/libbluetooth-private.la \ - @ICAL_LIBS@ @DBUS_LIBS@ @GLIB_LIBS@ -ldl - -obexd_src_obexd_LDFLAGS = -Wl,--export-dynamic - -obexd_src_obexd_CFLAGS = @GLIB_CFLAGS@ @DBUS_CFLAGS@ @ICAL_CFLAGS@ \ - -DOBEX_PLUGIN_BUILTIN \ - -DPLUGINDIR=\""$(obex_plugindir)"\" \ - -fPIC -D_FILE_OFFSET_BITS=64 - -obexd_src_obexd_CPPFLAGS = -I$(builddir)/lib -I$(builddir)/obexd/src \ - -I$(srcdir)/obexd/src -I$(srcdir)/btio \ - -I$(srcdir)/gobex -I$(srcdir)/gdbus - -obexd_src_obexd_SHORTNAME = obexd - -obexd_builtin_files = obexd/src/builtin.h $(obexd_builtin_nodist) - -nodist_obexd_src_obexd_SOURCES = $(obexd_builtin_files) - -BUILT_SOURCES += obexd/src/builtin.h - -obexd/src/plugin.$(OBJEXT): obexd/src/builtin.h - -obexd/src/builtin.h: obexd/src/genbuiltin $(obexd_builtin_sources) - $(AM_V_GEN)$(srcdir)/obexd/src/genbuiltin $(obexd_builtin_modules) > $@ - -CLEANFILES += obexd/src/builtin.h $(builtin_files) obexd/src/obex.service - -EXTRA_DIST += obexd/src/genbuiltin diff --git a/GRIB_BLE_HUB/libs/ble_extend/Makefile.plugins b/GRIB_BLE_HUB/libs/ble_extend/Makefile.plugins deleted file mode 100644 index f497782..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/Makefile.plugins +++ /dev/null @@ -1,107 +0,0 @@ - -builtin_modules += hostname -builtin_sources += plugins/hostname.c - -builtin_modules += wiimote -builtin_sources += plugins/wiimote.c - -if MAINTAINER_MODE -builtin_modules += gatt_example -builtin_sources += plugins/gatt-example.c -endif - -if EXPERIMENTAL -builtin_modules += neard -builtin_sources += plugins/neard.c - -builtin_modules += sap -builtin_sources += profiles/sap/main.c profiles/sap/manager.h \ - profiles/sap/manager.c profiles/sap/server.h \ - profiles/sap/server.c profiles/sap/sap.h \ - profiles/sap/sap-dummy.c - -noinst_LIBRARIES += profiles/sap/libsap.a -profiles_sap_libsap_a_SOURCES = profiles/sap/sap.h profiles/sap/sap-u8500.c -endif - -builtin_modules += audio -builtin_sources += profiles/audio/main.c \ - profiles/audio/manager.h profiles/audio/manager.c \ - profiles/audio/control.h profiles/audio/control.c \ - profiles/audio/avctp.h profiles/audio/avctp.c \ - profiles/audio/avrcp.h profiles/audio/avrcp.c \ - profiles/audio/device.h profiles/audio/device.c \ - profiles/audio/source.h profiles/audio/source.c \ - profiles/audio/sink.h profiles/audio/sink.c \ - profiles/audio/a2dp.h profiles/audio/a2dp.c \ - profiles/audio/avdtp.h profiles/audio/avdtp.c \ - profiles/audio/media.h profiles/audio/media.c \ - profiles/audio/transport.h profiles/audio/transport.c \ - profiles/audio/player.h profiles/audio/player.c \ - profiles/audio/a2dp-codecs.h - -builtin_modules += network -builtin_sources += profiles/network/manager.h profiles/network/manager.c \ - profiles/network/common.h profiles/network/common.c \ - profiles/network/server.h profiles/network/server.c \ - profiles/network/connection.h \ - profiles/network/connection.c - -builtin_modules += input -builtin_sources += profiles/input/manager.h profiles/input/manager.c \ - profiles/input/server.h profiles/input/server.c \ - profiles/input/device.h profiles/input/device.c - -builtin_modules += hog -builtin_sources += profiles/input/hog.c profiles/input/uhid_copy.h \ - profiles/input/suspend.h profiles/input/suspend-dummy.c - -if EXPERIMENTAL -builtin_modules += health -builtin_sources += profiles/health/mcap_lib.h profiles/health/mcap_internal.h \ - profiles/health/mcap.h profiles/health/mcap.c \ - profiles/health/mcap_sync.c \ - profiles/health/hdp_main.c profiles/health/hdp_types.h \ - profiles/health/hdp_manager.h \ - profiles/health/hdp_manager.c \ - profiles/health/hdp.h profiles/health/hdp.c \ - profiles/health/hdp_util.h profiles/health/hdp_util.c -endif - -builtin_modules += gatt -builtin_sources += profiles/gatt/gas.c - -builtin_modules += scanparam -builtin_sources += profiles/scanparam/scan.c - -builtin_modules += deviceinfo -builtin_sources += profiles/deviceinfo/deviceinfo.c - -if EXPERIMENTAL -builtin_modules += alert -builtin_sources += profiles/alert/server.c - -builtin_modules += time -builtin_sources += profiles/time/server.c - -builtin_modules += proximity -builtin_sources += profiles/proximity/main.c profiles/proximity/manager.h \ - profiles/proximity/manager.c \ - profiles/proximity/monitor.h \ - profiles/proximity/monitor.c \ - profiles/proximity/reporter.h \ - profiles/proximity/reporter.c \ - profiles/proximity/linkloss.h \ - profiles/proximity/linkloss.c \ - profiles/proximity/immalert.h \ - profiles/proximity/immalert.c - -builtin_modules += thermometer -builtin_sources += profiles/thermometer/thermometer.c - -builtin_modules += heartrate -builtin_sources += profiles/heartrate/heartrate.c - -builtin_modules += cyclingspeed -builtin_sources += profiles/cyclingspeed/cyclingspeed.c -endif diff --git a/GRIB_BLE_HUB/libs/ble_extend/Makefile.tools b/GRIB_BLE_HUB/libs/ble_extend/Makefile.tools deleted file mode 100644 index 4d45682..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/Makefile.tools +++ /dev/null @@ -1,238 +0,0 @@ - -if CLIENT -bin_PROGRAMS += client/bluetoothctl - -client_bluetoothctl_SOURCES = $(gdbus_sources) client/main.c \ - client/display.h client/display.c \ - client/agent.h client/agent.c \ - monitor/uuid.h monitor/uuid.c -client_bluetoothctl_LDADD = @GLIB_LIBS@ @DBUS_LIBS@ -lreadline -endif - -if MONITOR -bin_PROGRAMS += monitor/btmon - -monitor_btmon_SOURCES = monitor/main.c monitor/bt.h \ - monitor/mainloop.h monitor/mainloop.c \ - monitor/display.h monitor/display.c \ - monitor/hcidump.h monitor/hcidump.c \ - monitor/btsnoop.h monitor/btsnoop.c \ - monitor/control.h monitor/control.c \ - monitor/packet.h monitor/packet.c \ - monitor/l2cap.h monitor/l2cap.c \ - monitor/uuid.h monitor/uuid.c \ - monitor/sdp.h monitor/sdp.c -monitor_btmon_LDADD = lib/libbluetooth-private.la -endif - -if EXPERIMENTAL -noinst_PROGRAMS += emulator/btvirt emulator/b1ee \ - tools/mgmt-tester tools/gap-tester - -emulator_btvirt_SOURCES = emulator/main.c monitor/bt.h \ - monitor/mainloop.h monitor/mainloop.c \ - emulator/server.h emulator/server.c \ - emulator/vhci.h emulator/vhci.c \ - emulator/btdev.h emulator/btdev.c \ - emulator/bthost.h emulator/bthost.c - -emulator_b1ee_SOURCES = emulator/b1ee.c monitor/mainloop.h monitor/mainloop.c - -tools_mgmt_tester_SOURCES = tools/mgmt-tester.c monitor/bt.h \ - emulator/btdev.h emulator/btdev.c \ - emulator/bthost.h emulator/bthost.c \ - src/shared/util.h src/shared/util.c \ - src/shared/mgmt.h src/shared/mgmt.c \ - src/shared/hciemu.h src/shared/hciemu.c \ - src/shared/tester.h src/shared/tester.c -tools_mgmt_tester_LDADD = lib/libbluetooth-private.la @GLIB_LIBS@ - -tools_gap_tester_SOURCES = $(gdbus_sources) \ - tools/gap-tester.c monitor/bt.h \ - emulator/btdev.h emulator/btdev.c \ - emulator/bthost.h emulator/bthost.c \ - src/shared/hciemu.h src/shared/hciemu.c \ - src/shared/tester.h src/shared/tester.c -tools_gap_tester_LDADD = @GLIB_LIBS@ @DBUS_LIBS@ -endif - -if TOOLS -bin_PROGRAMS += tools/hciattach tools/hciconfig tools/hcitool tools/hcidump \ - tools/rfcomm tools/rctest tools/l2test tools/l2ping \ - tools/sdptool tools/ciptool tools/bccmd - -tools_hciattach_SOURCES = tools/hciattach.c tools/hciattach.h \ - tools/hciattach_st.c \ - tools/hciattach_ti.c \ - tools/hciattach_tialt.c \ - tools/hciattach_ath3k.c \ - tools/hciattach_qualcomm.c \ - tools/hciattach_intel.c -tools_hciattach_LDADD = lib/libbluetooth-private.la - -tools_hciconfig_SOURCES = tools/hciconfig.c tools/csr.h tools/csr.c -tools_hciconfig_LDADD = lib/libbluetooth-private.la - -tools_hcitool_SOURCES = tools/hcitool.c src/oui.h src/oui.c -tools_hcitool_LDADD = lib/libbluetooth-private.la @GLIB_LIBS@ @UDEV_LIBS@ - -tools_hcidump_SOURCES = tools/hcidump.c \ - tools/parser/parser.h tools/parser/parser.c \ - tools/parser/lmp.c \ - tools/parser/hci.c \ - tools/parser/l2cap.h tools/parser/l2cap.c \ - tools/parser/amp.c \ - tools/parser/smp.c \ - tools/parser/att.c \ - tools/parser/sdp.h tools/parser/sdp.c \ - tools/parser/rfcomm.h tools/parser/rfcomm.c \ - tools/parser/bnep.c \ - tools/parser/cmtp.c \ - tools/parser/hidp.c \ - tools/parser/hcrp.c \ - tools/parser/avdtp.c \ - tools/parser/avctp.c \ - tools/parser/avrcp.c \ - tools/parser/sap.c \ - tools/parser/obex.c \ - tools/parser/capi.c \ - tools/parser/ppp.c \ - tools/parser/tcpip.c \ - tools/parser/ericsson.c \ - tools/parser/csr.c \ - tools/parser/bpa.c -tools_hcidump_LDADD = lib/libbluetooth-private.la - -tools_rfcomm_LDADD = lib/libbluetooth-private.la - -tools_rctest_LDADD = lib/libbluetooth-private.la - -tools_l2test_LDADD = lib/libbluetooth-private.la - -tools_l2ping_LDADD = lib/libbluetooth-private.la - -tools_sdptool_SOURCES = tools/sdptool.c src/sdp-xml.h src/sdp-xml.c -tools_sdptool_LDADD = lib/libbluetooth-private.la @GLIB_LIBS@ - -tools_ciptool_LDADD = lib/libbluetooth-private.la - -tools_bccmd_SOURCES = tools/bccmd.c tools/csr.h tools/csr.c \ - tools/csr_hci.c tools/csr_h4.c tools/csr_3wire.c \ - tools/csr_bcsp.c tools/ubcsp.h tools/ubcsp.c -tools_bccmd_LDADD = lib/libbluetooth-private.la - -if USB -tools_bccmd_SOURCES += tools/csr_usb.c -tools_bccmd_LDADD += @USB_LIBS@ -endif - -dist_man_MANS += tools/hciattach.1 tools/hciconfig.1 \ - tools/hcitool.1 tools/hcidump.1 \ - tools/rfcomm.1 tools/rctest.1 tools/l2ping.1 \ - tools/sdptool.1 tools/ciptool.1 tools/bccmd.1 -else -EXTRA_DIST += tools/hciattach.1 tools/hciconfig.1 \ - tools/hcitool.1 tools/hcidump.1 \ - tools/rfcomm.1 tools/rctest.1 tools/l2ping.1 \ - tools/sdptool.1 tools/ciptool.1 tools/bccmd.1 -endif - -if HID2HCI -udevdir = @UDEV_DIR@ - -udev_PROGRAMS = tools/hid2hci - -tools_hid2hci_LDADD = @USB_LIBS@ @UDEV_LIBS@ - -dist_man_MANS += tools/hid2hci.1 -else -EXTRA_DIST += tools/hid2hci.1 -endif - -if EXPERIMENTAL -noinst_PROGRAMS += tools/bdaddr tools/avinfo tools/avtest tools/scotest \ - tools/hcieventmask tools/hcisecfilter tools/hwdb \ - tools/btmgmt tools/btattach tools/btsnoop \ - tools/btiotest tools/mpris-player - -tools_bdaddr_SOURCES = tools/bdaddr.c src/oui.h src/oui.c -tools_bdaddr_LDADD = lib/libbluetooth-private.la @UDEV_LIBS@ - -tools_avinfo_LDADD = lib/libbluetooth-private.la - -tools_avtest_LDADD = lib/libbluetooth-private.la - -tools_scotest_LDADD = lib/libbluetooth-private.la - -tools_hcieventmask_LDADD = lib/libbluetooth-private.la - -tools_hwdb_LDADD = lib/libbluetooth-private.la - -tools_btmgmt_SOURCES = tools/btmgmt.c src/glib-helper.c src/eir.c \ - src/shared/util.h src/shared/util.c \ - src/shared/mgmt.h src/shared/mgmt.c -tools_btmgmt_LDADD = lib/libbluetooth-private.la @GLIB_LIBS@ - -tools_btiotest_SOURCES = tools/btiotest.c btio/btio.h btio/btio.c -tools_btiotest_LDADD = lib/libbluetooth-private.la @GLIB_LIBS@ - -tools_mpris_player_SOURCES = $(gdbus_sources) tools/mpris-player.c -tools_mpris_player_LDADD = @GLIB_LIBS@ @DBUS_LIBS@ - -EXTRA_DIST += tools/bdaddr.1 -endif - -if READLINE -noinst_PROGRAMS += attrib/gatttool \ - tools/obex-client-tool tools/obex-server-tool - -attrib_gatttool_SOURCES = attrib/gatttool.c attrib/att.c attrib/gatt.c \ - attrib/gattrib.c btio/btio.c \ - attrib/gatttool.h attrib/interactive.c \ - attrib/utils.c src/log.c -attrib_gatttool_LDADD = lib/libbluetooth-private.la @GLIB_LIBS@ -lreadline - -tools_obex_client_tool_SOURCES = $(gobex_sources) $(btio_sources) \ - tools/obex-client-tool.c -tools_obex_client_tool_LDADD = lib/libbluetooth-private.la \ - @GLIB_LIBS@ -lreadline - -tools_obex_server_tool_SOURCES = $(gobex_sources) $(btio_sources) \ - tools/obex-server-tool.c -tools_obex_server_tool_LDADD = lib/libbluetooth-private.la @GLIB_LIBS@ -endif - -if EXPERIMENTAL -noinst_PROGRAMS += profiles/iap/iapd - -profiles_iap_iapd_SOURCES = $(gdbus_sources) profiles/iap/main.c -profiles_iap_iapd_LDADD = @GLIB_LIBS@ @DBUS_LIBS@ -endif - -if CUPS -cupsdir = $(libdir)/cups/backend - -cups_PROGRAMS = profiles/cups/bluetooth - -profiles_cups_bluetooth_SOURCES = $(gdbus_sources) profiles/cups/main.c \ - profiles/cups/cups.h \ - profiles/cups/sdp.c \ - profiles/cups/spp.c \ - profiles/cups/hcrp.c - -profiles_cups_bluetooth_LDADD = @GLIB_LIBS@ @DBUS_LIBS@ \ - lib/libbluetooth-private.la -endif - -test_scripts += test/sap_client.py test/bluezutils.py \ - test/dbusdef.py test/monitor-bluetooth test/list-devices \ - test/test-discovery test/test-manager test/test-adapter \ - test/test-device test/simple-agent \ - test/simple-service test/simple-endpoint test/test-sap-server \ - test/test-proximity test/test-network \ - test/test-thermometer test/test-profile test/test-health \ - test/test-health-sink test/service-record.dtd \ - test/service-did.xml test/service-spp.xml test/service-opp.xml \ - test/service-ftp.xml test/simple-player test/test-nap \ - test/test-heartrate test/test-alert test/test-hfp \ - test/test-cyclingspeed diff --git a/GRIB_BLE_HUB/libs/ble_extend/NEWS b/GRIB_BLE_HUB/libs/ble_extend/NEWS deleted file mode 100644 index e69de29..0000000 diff --git a/GRIB_BLE_HUB/libs/ble_extend/README b/GRIB_BLE_HUB/libs/ble_extend/README deleted file mode 100644 index 0e22850..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/README +++ /dev/null @@ -1,128 +0,0 @@ -BlueZ - Bluetooth protocol stack for Linux -****************************************** - -Copyright (C) 2000-2001 Qualcomm Incorporated -Copyright (C) 2002-2003 Maxim Krasnyansky -Copyright (C) 2002-2010 Marcel Holtmann - - -Compilation and installation -============================ - -In order to compile Bluetooth utilities you need following software packages: - - GCC compiler - - GLib library - - D-Bus library - - USB library (optional) - - udev library (optional) - - readline (command line clients) - -To configure run: - ./configure --prefix=/usr --mandir=/usr/share/man \ - --sysconfdir=/etc --localstatedir=/var - -Configure automatically searches for all required components and packages. - -To compile and install run: - make && make install - - -Configuration and options -========================= - -For a working system, certain configuration options need to be enabled: - - --enable-library - - Enable installation of Bluetooth library - - By default the Bluetooth library is no longer installed. - - The user interfaces or command line utilities do not - require an installed Bluetooth library anymore. This - option is provided for legacy third party applications - that still depend on the library. - - When the library installation is enabled, it is a good - idea to use a separate bluez-library or libbluetooth - package for it. - - --disable-tools - - Disable support for Bluetooth utilities - - By default the Bluetooth utilities are built and also - installed. For production systems the tools are not - needed and this option allows to disable them to save - build time and disk space. - - When the tools are selected, it is a good idea to - use a separate bluez-tools package for them. - - --disable-cups - - Disable support for CUPS printer backend - - By default the printer backend for CUPS is build and - also installed. For systems that do not require printing - over Bluetooth, this options allows to disable it. - - When the CUPS backend is selected, it is a good idea to - use a separate bluez-cups package for it. - - --disable-monitor - - Disable support for the Bluetooth monitor utility - - By default the monitor utility is enabled. It provides - support for HCI level tracing and debugging. For systems - that don't require any kind of tracing or debugging - capabilities, this options allows to disable it. - - The monitor utility should be placed in the main package - along with the daemons. It is universally useful. - - --disable-client - - Disable support for the command line client - - By default the command line client is enabled and uses the - readline library. For specific systems where BlueZ is - configured by other means, the command line client can be - disabled and the dependency on readline is removed. - - The client should be placed in the main package along - with the daemons. It is universally useful. - - --disable-systemd - - Disable integration with systemd - - By default the integration with systemd is enabled and - installed. This gives the best integration into all - distributions based on systemd. - - This option is provided for distributions that do not - support systemd. In that case all integration with the - init system is up to the package. - - --enable-experimental - - Enable experimental plugins - - By default all plugins that are still in development - are disabled. This option can be used to enable them. - - It is not recommended to enable this option for production - systems. The APIs or behavior of the experimental plugins - is unstable and might still change. - - -Information -=========== - -Mailing lists: - linux-bluetooth@vger.kernel.org - -For additional information about the project visit BlueZ web site: - http://www.bluez.org diff --git a/GRIB_BLE_HUB/libs/ble_extend/TODO b/GRIB_BLE_HUB/libs/ble_extend/TODO deleted file mode 100644 index 7bb100b..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/TODO +++ /dev/null @@ -1,253 +0,0 @@ -Background -========== - -- Priority scale: High, Medium and Low - -- Complexity scale: C1, C2, C4 and C8. The complexity scale is exponential, - with complexity 1 being the lowest complexity. Complexity is a function - of both task 'complexity' and task 'scope'. - - The general rule of thumb is that a complexity 1 task should take 1-2 weeks - for a person very familiar with BlueZ codebase. Higher complexity tasks - require more time and have higher uncertainty. - - Higher complexity tasks should be refined into several lower complexity tasks - once the task is better understood. - -General -========== - -- UUID handling: Use the new functions created for UUID handling in all parts - of BlueZ code. Currently, the new bt_uuid_* functions are being used by - GATT-related code only. - - Priority: high - Complexity: C4 - -- Rename glib-helper file to a more convenient name. The idea is try to keep - only sdp helpers functions. bt_* prefix shall be also changed. - - Priority: Low - Complexity: C1 - -- Function in src/adapter.c to convert old storage files to new ini-file format - should be removed 6-8 months after first BlueZ 5 release. - - Priority: Low - Complexity: C1 - -- Remove usage of symlinks for drivers, such as profiles/input/suspend.c and - profiles/sap/sap.c. Instead, select drivers at runtime by using config - options or probing for running D-Bus services (using e.g. - g_dbus_add_service_watch()). Idea first mentioned on - http://thread.gmane.org/gmane.linux.bluez.kernel/30175/focus=30190. - -- Reuse connection handling code of src/profile.c also for built-in profiles - so plugins would only need to register their btd_profile and the core takes - care of the rest including listen to the right channel and manages the sdp - record. Once btd_profile manages the connection it can also notify about - their state, this probably remove the need of having callbacks to - .connect/.disconnect since their state can be tracked, it also enables any - plugin to track any profile state change which can be useful for e.g. - a connection policy plugin in case one is needed. - - Priority: Low - Complexity: C2 - -Low Energy -========== - -- Advertising management. Adapter interface needs to be changed to manage - connection modes, adapter type and advertising policy. See Volume 3, - Part C, section 9.3. If Attribute Server is enabled the LE capable - adapter shall to start advertising. Further investigation is necessary - to define which connectable mode needs to be supported: Non-connectable, - directed connectable and undirected connectable. Basically, two connectable - scenarios shall be addressed: - 1. GATT client is disconnected, but intends to become a Peripheral to - receive indications/notifications. - 2. GATT server intends to accept connections. - - Priority: Medium - Complexity: C2 - -- Define Auto Connection Establishment Procedure. Some profiles such as - Proximity requires an active link to identify path lost situation. It is - necessary to define how to manage connections, it seems that White List - is appropriated to address auto connections, however is not clear if the - this procedure shall be a profile specific detail or if the remote device - object can expose a property "WhiteList", maybe "Trusted" property can be - also used for this purpose. Another alternative is to define a method to - allow application to request/register the wanted scanning/connection - parameters. Before start this task, a RFC/PATCH shall be sent to the ML. - See Volume 3, Part C, section 9.3.5 for more information. - - Priority: Medium - Complexity: C2 - -- Implement a tool(or extend hciconfig) to setup the advertising parameters - and data. Extend hciconfig passing extra arguments when enabling the - advertises is not the right approach, it will be almost impossible to - address all arguments needed in an acceptable way. For testing, we need - a tool to change easily the AD Flags, the UUIDs and other data that can be - exported through the advertising data field. Suggestions: 1) extend hciconfig - passing a config file when enabling advertises; 2) write a ncurses based tool - - Priority: Medium - Complexity: C2 - -- Add new property in the DeviceFound signal to report the device type: - BR/EDR, single mode or dual-mode. - - Priority: Medium - Complexity: C1 - -- Privacy: When privacy is enabled in the adapter, LE scanning/connection - should use a private address. StartDiscovery method shall be changed and - new adapter property shall be added. - - Priority: Medium - Complexity: C1 - -- Static random address setup and storage. Once this address is written - in a given remote, the address can not be changed anymore. - - Priority: Low - Complexity: C1 - -- Reconnection address: Reconnection address is a non resolvable private - address that the central writes in the peripheral. BlueZ will support - multiple profiles, it is not clear how it needs to be implemented. - Further discussion is necessary. - - Priority: Low - Complexity: C2 - -- Device Name Characteristic is a GAP characteristic for Low Energy. This - characteristic shall be integrated/used in the discovery procedure. The - idea is to report the value of this characteristic using DeviceFound signals. - Discussion with the community is needed before to start this task. Other GAP - characteristics for LE needs to follow a similar approach. It is not clear - if all GAP characteristics can be exposed using properties instead of a primary - service characteristics. - See Volume 3, Part C, section 12.1 for more information. - - Priority: Low - Complexity: C2 - -ATT/GATT -======== - -- At the moment authentication and authorization is not supported at the - same time, read/write requirements in the attribute server needs to - be extended. According to Bluetooth Specification a server shall check - authentication and authorization requirements before any other check is - performed. - - Priority: Medium - Complexity: C1 - -- ATT/GATT parsing to hcidump. Partially implemented, missing to fix - multiple advertises in the same event and RSSI. - - Priority: Medium - Complexity: C2 - -- Implement ATT PDU validation. Malformed PDUs can cause division by zero - when decoding PDUs. A proper error PDU should be returned for this case. - See decoding function in att.c file. - - Priority: Medium - Complexity: C1 - -- Fix hard-coded PSM for GATT services over basic rate. - - Priority: Low - Complexity: C1 - -- Refactor read_by_group() and read_by_type() in src/attrib-server.c - (they've grown simply too big). First step could be to move out the - long for-loops to new functions called e.g. get_groups() and get_types(). - - Priority: Low - Complexity: C1 - -- Agent for characteristics: Agent interface should be extended to support - authorization per characteristic if the remote is not in the trusted list. - - Priority: Low - Complexity: C1 - -- gatttool should have the ability to wait for req responses before - quitting (some servers require a small sleep even with cmd's). Maybe a - --delay-exit or --timeout command line switch. - - Priority: Low - Complexity: C1 - -- Refactoring of gatt.c functions. Currently, the callbacks of the services - and characteristics discovery functions return the ATT PDU and the caller - needs to call again the same function to fetch the remaining data when - necessary. Investigate if all results can be returned in the callback - result to avoid repeated code. Before change the code, please analyze - if this change will not break the GATT/ATT qualification tests. Maybe - an interactive fetch/query is necessary to pass the tests. - - Priority: Low - Complexity: C1 - -- Client needs to export a property in the Device Characteristic hierarchy - to manage characteristic value changes reports in the remote device. - Currently, Client Characteristic Configuration attribute is not exposed - as an object. The user needs to use gatttool to change the value of the - this attribute to receive notification/indications. Export this attribute - as a property is a proposal that needs further discussion. - - Priority: Low - Complexity: C1 - -- Attribute server should process queued GATT/ATT commands if the - client disconnects. The client can simply send a command and quit, - without wait for a response(ex: Write Command). For this scenario - that the client disconnects the link quickly the queued received - command is ignored. - - Priority: Low - Complecity: C1 - -- Add sdp discovery support to gatttool with BR (--sdp, default is 0x1f) - - Priority: Low - Complexity: C1 - -- Implement Server characteristic Configuration support in the attribute - server to manage characteristic value broadcasting. There is a single - instance of the Server Characteristic Configuration for all clients. - See Volume 3, Part G, section 3.3.3.4 for more information. - - Priority: Low - Complexity: C1 - -- Long write is not implemented. Attribute server, client and command line - tool shall be changed to support this feature. - - Priority: Low - Complexity: C2 - -- Define attribute server API. External applications needs to register, - change attributes and to be notified about changes. Example: Proximity, - Time and Alert Profiles. "Local Service hierarchy" in the attribute-api - needs to be proposed and a RFC shall be sent to the ML. - - Priority: Low - Complexity: C2 - Owner: Anderson Lizardo - -Management Interface -==================== - -- Whitelist support (initially only for LE) - - Priority: Medium - Complexity: C2 - Owner: Andre Guedes diff --git a/GRIB_BLE_HUB/libs/ble_extend/acinclude.m4 b/GRIB_BLE_HUB/libs/ble_extend/acinclude.m4 deleted file mode 100644 index 286340d..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/acinclude.m4 +++ /dev/null @@ -1,55 +0,0 @@ -AC_DEFUN([AC_PROG_CC_PIE], [ - AC_CACHE_CHECK([whether ${CC-cc} accepts -fPIE], ac_cv_prog_cc_pie, [ - echo 'void f(){}' > conftest.c - if test -z "`${CC-cc} -fPIE -pie -c conftest.c 2>&1`"; then - ac_cv_prog_cc_pie=yes - else - ac_cv_prog_cc_pie=no - fi - rm -rf conftest* - ]) -]) - -AC_DEFUN([COMPILER_FLAGS], [ - with_cflags="" - if (test "$USE_MAINTAINER_MODE" = "yes"); then - with_cflags="$with_cflags -Wall -Werror -Wextra" - with_cflags="$with_cflags -Wno-unused-parameter" - with_cflags="$with_cflags -Wno-missing-field-initializers" - with_cflags="$with_cflags -Wdeclaration-after-statement" - with_cflags="$with_cflags -Wmissing-declarations" - with_cflags="$with_cflags -Wredundant-decls" - with_cflags="$with_cflags -Wcast-align" - with_cflags="$with_cflags -DG_DISABLE_DEPRECATED" - fi - - AC_SUBST([WARNING_CFLAGS], $with_cflags) -]) - -AC_DEFUN([MISC_FLAGS], [ - misc_cflags="" - misc_ldflags="" - AC_ARG_ENABLE(optimization, AC_HELP_STRING([--disable-optimization], - [disable code optimization through compiler]), [ - if (test "${enableval}" = "no"); then - misc_cflags="$misc_cflags -O0" - fi - ]) - AC_ARG_ENABLE(debug, AC_HELP_STRING([--enable-debug], - [enable compiling with debugging information]), [ - if (test "${enableval}" = "yes" && - test "${ac_cv_prog_cc_g}" = "yes"); then - misc_cflags="$misc_cflags -g" - fi - ]) - AC_ARG_ENABLE(pie, AC_HELP_STRING([--enable-pie], - [enable position independent executables flag]), [ - if (test "${enableval}" = "yes" && - test "${ac_cv_prog_cc_pie}" = "yes"); then - misc_cflags="$misc_cflags -fPIC" - misc_ldflags="$misc_ldflags -pie" - fi - ]) - AC_SUBST([MISC_CFLAGS], $misc_cflags) - AC_SUBST([MISC_LDFLAGS], $misc_ldflags) -]) diff --git a/GRIB_BLE_HUB/libs/ble_extend/aclocal.m4 b/GRIB_BLE_HUB/libs/ble_extend/aclocal.m4 deleted file mode 100644 index 2d0480e..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/aclocal.m4 +++ /dev/null @@ -1,9871 +0,0 @@ -# generated automatically by aclocal 1.11.6 -*- Autoconf -*- - -# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, -# 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation, -# Inc. -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -m4_ifndef([AC_AUTOCONF_VERSION], - [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl -m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.69],, -[m4_warning([this file was generated for autoconf 2.69. -You have another version of autoconf. It may work, but is not guaranteed to. -If you have problems, you may need to regenerate the build system entirely. -To do so, use the procedure documented by the package, typically `autoreconf'.])]) - -# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*- -# -# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, -# 2006, 2007, 2008, 2009, 2010, 2011 Free Software -# Foundation, Inc. -# Written by Gordon Matzigkeit, 1996 -# -# This file is free software; the Free Software Foundation gives -# unlimited permission to copy and/or distribute it, with or without -# modifications, as long as this notice is preserved. - -m4_define([_LT_COPYING], [dnl -# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, -# 2006, 2007, 2008, 2009, 2010, 2011 Free Software -# Foundation, Inc. -# Written by Gordon Matzigkeit, 1996 -# -# This file is part of GNU Libtool. -# -# GNU Libtool is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License as -# published by the Free Software Foundation; either version 2 of -# the License, or (at your option) any later version. -# -# As a special exception to the GNU General Public License, -# if you distribute this file as part of a program or library that -# is built using GNU Libtool, you may include this file under the -# same distribution terms that you use for the rest of that program. -# -# GNU Libtool is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with GNU Libtool; see the file COPYING. If not, a copy -# can be downloaded from http://www.gnu.org/licenses/gpl.html, or -# obtained by writing to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -]) - -# serial 57 LT_INIT - - -# LT_PREREQ(VERSION) -# ------------------ -# Complain and exit if this libtool version is less that VERSION. -m4_defun([LT_PREREQ], -[m4_if(m4_version_compare(m4_defn([LT_PACKAGE_VERSION]), [$1]), -1, - [m4_default([$3], - [m4_fatal([Libtool version $1 or higher is required], - 63)])], - [$2])]) - - -# _LT_CHECK_BUILDDIR -# ------------------ -# Complain if the absolute build directory name contains unusual characters -m4_defun([_LT_CHECK_BUILDDIR], -[case `pwd` in - *\ * | *\ *) - AC_MSG_WARN([Libtool does not cope well with whitespace in `pwd`]) ;; -esac -]) - - -# LT_INIT([OPTIONS]) -# ------------------ -AC_DEFUN([LT_INIT], -[AC_PREREQ([2.58])dnl We use AC_INCLUDES_DEFAULT -AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl -AC_BEFORE([$0], [LT_LANG])dnl -AC_BEFORE([$0], [LT_OUTPUT])dnl -AC_BEFORE([$0], [LTDL_INIT])dnl -m4_require([_LT_CHECK_BUILDDIR])dnl - -dnl Autoconf doesn't catch unexpanded LT_ macros by default: -m4_pattern_forbid([^_?LT_[A-Z_]+$])dnl -m4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$])dnl -dnl aclocal doesn't pull ltoptions.m4, ltsugar.m4, or ltversion.m4 -dnl unless we require an AC_DEFUNed macro: -AC_REQUIRE([LTOPTIONS_VERSION])dnl -AC_REQUIRE([LTSUGAR_VERSION])dnl -AC_REQUIRE([LTVERSION_VERSION])dnl -AC_REQUIRE([LTOBSOLETE_VERSION])dnl -m4_require([_LT_PROG_LTMAIN])dnl - -_LT_SHELL_INIT([SHELL=${CONFIG_SHELL-/bin/sh}]) - -dnl Parse OPTIONS -_LT_SET_OPTIONS([$0], [$1]) - -# This can be used to rebuild libtool when needed -LIBTOOL_DEPS="$ltmain" - -# Always use our own libtool. -LIBTOOL='$(SHELL) $(top_builddir)/libtool' -AC_SUBST(LIBTOOL)dnl - -_LT_SETUP - -# Only expand once: -m4_define([LT_INIT]) -])# LT_INIT - -# Old names: -AU_ALIAS([AC_PROG_LIBTOOL], [LT_INIT]) -AU_ALIAS([AM_PROG_LIBTOOL], [LT_INIT]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_PROG_LIBTOOL], []) -dnl AC_DEFUN([AM_PROG_LIBTOOL], []) - - -# _LT_CC_BASENAME(CC) -# ------------------- -# Calculate cc_basename. Skip known compiler wrappers and cross-prefix. -m4_defun([_LT_CC_BASENAME], -[for cc_temp in $1""; do - case $cc_temp in - compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;; - distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;; - \-*) ;; - *) break;; - esac -done -cc_basename=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` -]) - - -# _LT_FILEUTILS_DEFAULTS -# ---------------------- -# It is okay to use these file commands and assume they have been set -# sensibly after `m4_require([_LT_FILEUTILS_DEFAULTS])'. -m4_defun([_LT_FILEUTILS_DEFAULTS], -[: ${CP="cp -f"} -: ${MV="mv -f"} -: ${RM="rm -f"} -])# _LT_FILEUTILS_DEFAULTS - - -# _LT_SETUP -# --------- -m4_defun([_LT_SETUP], -[AC_REQUIRE([AC_CANONICAL_HOST])dnl -AC_REQUIRE([AC_CANONICAL_BUILD])dnl -AC_REQUIRE([_LT_PREPARE_SED_QUOTE_VARS])dnl -AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])dnl - -_LT_DECL([], [PATH_SEPARATOR], [1], [The PATH separator for the build system])dnl -dnl -_LT_DECL([], [host_alias], [0], [The host system])dnl -_LT_DECL([], [host], [0])dnl -_LT_DECL([], [host_os], [0])dnl -dnl -_LT_DECL([], [build_alias], [0], [The build system])dnl -_LT_DECL([], [build], [0])dnl -_LT_DECL([], [build_os], [0])dnl -dnl -AC_REQUIRE([AC_PROG_CC])dnl -AC_REQUIRE([LT_PATH_LD])dnl -AC_REQUIRE([LT_PATH_NM])dnl -dnl -AC_REQUIRE([AC_PROG_LN_S])dnl -test -z "$LN_S" && LN_S="ln -s" -_LT_DECL([], [LN_S], [1], [Whether we need soft or hard links])dnl -dnl -AC_REQUIRE([LT_CMD_MAX_LEN])dnl -_LT_DECL([objext], [ac_objext], [0], [Object file suffix (normally "o")])dnl -_LT_DECL([], [exeext], [0], [Executable file suffix (normally "")])dnl -dnl -m4_require([_LT_FILEUTILS_DEFAULTS])dnl -m4_require([_LT_CHECK_SHELL_FEATURES])dnl -m4_require([_LT_PATH_CONVERSION_FUNCTIONS])dnl -m4_require([_LT_CMD_RELOAD])dnl -m4_require([_LT_CHECK_MAGIC_METHOD])dnl -m4_require([_LT_CHECK_SHAREDLIB_FROM_LINKLIB])dnl -m4_require([_LT_CMD_OLD_ARCHIVE])dnl -m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl -m4_require([_LT_WITH_SYSROOT])dnl - -_LT_CONFIG_LIBTOOL_INIT([ -# See if we are running on zsh, and set the options which allow our -# commands through without removal of \ escapes INIT. -if test -n "\${ZSH_VERSION+set}" ; then - setopt NO_GLOB_SUBST -fi -]) -if test -n "${ZSH_VERSION+set}" ; then - setopt NO_GLOB_SUBST -fi - -_LT_CHECK_OBJDIR - -m4_require([_LT_TAG_COMPILER])dnl - -case $host_os in -aix3*) - # AIX sometimes has problems with the GCC collect2 program. For some - # reason, if we set the COLLECT_NAMES environment variable, the problems - # vanish in a puff of smoke. - if test "X${COLLECT_NAMES+set}" != Xset; then - COLLECT_NAMES= - export COLLECT_NAMES - fi - ;; -esac - -# Global variables: -ofile=libtool -can_build_shared=yes - -# All known linkers require a `.a' archive for static linking (except MSVC, -# which needs '.lib'). -libext=a - -with_gnu_ld="$lt_cv_prog_gnu_ld" - -old_CC="$CC" -old_CFLAGS="$CFLAGS" - -# Set sane defaults for various variables -test -z "$CC" && CC=cc -test -z "$LTCC" && LTCC=$CC -test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS -test -z "$LD" && LD=ld -test -z "$ac_objext" && ac_objext=o - -_LT_CC_BASENAME([$compiler]) - -# Only perform the check for file, if the check method requires it -test -z "$MAGIC_CMD" && MAGIC_CMD=file -case $deplibs_check_method in -file_magic*) - if test "$file_magic_cmd" = '$MAGIC_CMD'; then - _LT_PATH_MAGIC - fi - ;; -esac - -# Use C for the default configuration in the libtool script -LT_SUPPORTED_TAG([CC]) -_LT_LANG_C_CONFIG -_LT_LANG_DEFAULT_CONFIG -_LT_CONFIG_COMMANDS -])# _LT_SETUP - - -# _LT_PREPARE_SED_QUOTE_VARS -# -------------------------- -# Define a few sed substitution that help us do robust quoting. -m4_defun([_LT_PREPARE_SED_QUOTE_VARS], -[# Backslashify metacharacters that are still active within -# double-quoted strings. -sed_quote_subst='s/\([["`$\\]]\)/\\\1/g' - -# Same as above, but do not quote variable references. -double_quote_subst='s/\([["`\\]]\)/\\\1/g' - -# Sed substitution to delay expansion of an escaped shell variable in a -# double_quote_subst'ed string. -delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' - -# Sed substitution to delay expansion of an escaped single quote. -delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g' - -# Sed substitution to avoid accidental globbing in evaled expressions -no_glob_subst='s/\*/\\\*/g' -]) - -# _LT_PROG_LTMAIN -# --------------- -# Note that this code is called both from `configure', and `config.status' -# now that we use AC_CONFIG_COMMANDS to generate libtool. Notably, -# `config.status' has no value for ac_aux_dir unless we are using Automake, -# so we pass a copy along to make sure it has a sensible value anyway. -m4_defun([_LT_PROG_LTMAIN], -[m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([ltmain.sh])])dnl -_LT_CONFIG_LIBTOOL_INIT([ac_aux_dir='$ac_aux_dir']) -ltmain="$ac_aux_dir/ltmain.sh" -])# _LT_PROG_LTMAIN - - - -# So that we can recreate a full libtool script including additional -# tags, we accumulate the chunks of code to send to AC_CONFIG_COMMANDS -# in macros and then make a single call at the end using the `libtool' -# label. - - -# _LT_CONFIG_LIBTOOL_INIT([INIT-COMMANDS]) -# ---------------------------------------- -# Register INIT-COMMANDS to be passed to AC_CONFIG_COMMANDS later. -m4_define([_LT_CONFIG_LIBTOOL_INIT], -[m4_ifval([$1], - [m4_append([_LT_OUTPUT_LIBTOOL_INIT], - [$1 -])])]) - -# Initialize. -m4_define([_LT_OUTPUT_LIBTOOL_INIT]) - - -# _LT_CONFIG_LIBTOOL([COMMANDS]) -# ------------------------------ -# Register COMMANDS to be passed to AC_CONFIG_COMMANDS later. -m4_define([_LT_CONFIG_LIBTOOL], -[m4_ifval([$1], - [m4_append([_LT_OUTPUT_LIBTOOL_COMMANDS], - [$1 -])])]) - -# Initialize. -m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS]) - - -# _LT_CONFIG_SAVE_COMMANDS([COMMANDS], [INIT_COMMANDS]) -# ----------------------------------------------------- -m4_defun([_LT_CONFIG_SAVE_COMMANDS], -[_LT_CONFIG_LIBTOOL([$1]) -_LT_CONFIG_LIBTOOL_INIT([$2]) -]) - - -# _LT_FORMAT_COMMENT([COMMENT]) -# ----------------------------- -# Add leading comment marks to the start of each line, and a trailing -# full-stop to the whole comment if one is not present already. -m4_define([_LT_FORMAT_COMMENT], -[m4_ifval([$1], [ -m4_bpatsubst([m4_bpatsubst([$1], [^ *], [# ])], - [['`$\]], [\\\&])]m4_bmatch([$1], [[!?.]$], [], [.]) -)]) - - - - - -# _LT_DECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION], [IS-TAGGED?]) -# ------------------------------------------------------------------- -# CONFIGNAME is the name given to the value in the libtool script. -# VARNAME is the (base) name used in the configure script. -# VALUE may be 0, 1 or 2 for a computed quote escaped value based on -# VARNAME. Any other value will be used directly. -m4_define([_LT_DECL], -[lt_if_append_uniq([lt_decl_varnames], [$2], [, ], - [lt_dict_add_subkey([lt_decl_dict], [$2], [libtool_name], - [m4_ifval([$1], [$1], [$2])]) - lt_dict_add_subkey([lt_decl_dict], [$2], [value], [$3]) - m4_ifval([$4], - [lt_dict_add_subkey([lt_decl_dict], [$2], [description], [$4])]) - lt_dict_add_subkey([lt_decl_dict], [$2], - [tagged?], [m4_ifval([$5], [yes], [no])])]) -]) - - -# _LT_TAGDECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION]) -# -------------------------------------------------------- -m4_define([_LT_TAGDECL], [_LT_DECL([$1], [$2], [$3], [$4], [yes])]) - - -# lt_decl_tag_varnames([SEPARATOR], [VARNAME1...]) -# ------------------------------------------------ -m4_define([lt_decl_tag_varnames], -[_lt_decl_filter([tagged?], [yes], $@)]) - - -# _lt_decl_filter(SUBKEY, VALUE, [SEPARATOR], [VARNAME1..]) -# --------------------------------------------------------- -m4_define([_lt_decl_filter], -[m4_case([$#], - [0], [m4_fatal([$0: too few arguments: $#])], - [1], [m4_fatal([$0: too few arguments: $#: $1])], - [2], [lt_dict_filter([lt_decl_dict], [$1], [$2], [], lt_decl_varnames)], - [3], [lt_dict_filter([lt_decl_dict], [$1], [$2], [$3], lt_decl_varnames)], - [lt_dict_filter([lt_decl_dict], $@)])[]dnl -]) - - -# lt_decl_quote_varnames([SEPARATOR], [VARNAME1...]) -# -------------------------------------------------- -m4_define([lt_decl_quote_varnames], -[_lt_decl_filter([value], [1], $@)]) - - -# lt_decl_dquote_varnames([SEPARATOR], [VARNAME1...]) -# --------------------------------------------------- -m4_define([lt_decl_dquote_varnames], -[_lt_decl_filter([value], [2], $@)]) - - -# lt_decl_varnames_tagged([SEPARATOR], [VARNAME1...]) -# --------------------------------------------------- -m4_define([lt_decl_varnames_tagged], -[m4_assert([$# <= 2])dnl -_$0(m4_quote(m4_default([$1], [[, ]])), - m4_ifval([$2], [[$2]], [m4_dquote(lt_decl_tag_varnames)]), - m4_split(m4_normalize(m4_quote(_LT_TAGS)), [ ]))]) -m4_define([_lt_decl_varnames_tagged], -[m4_ifval([$3], [lt_combine([$1], [$2], [_], $3)])]) - - -# lt_decl_all_varnames([SEPARATOR], [VARNAME1...]) -# ------------------------------------------------ -m4_define([lt_decl_all_varnames], -[_$0(m4_quote(m4_default([$1], [[, ]])), - m4_if([$2], [], - m4_quote(lt_decl_varnames), - m4_quote(m4_shift($@))))[]dnl -]) -m4_define([_lt_decl_all_varnames], -[lt_join($@, lt_decl_varnames_tagged([$1], - lt_decl_tag_varnames([[, ]], m4_shift($@))))dnl -]) - - -# _LT_CONFIG_STATUS_DECLARE([VARNAME]) -# ------------------------------------ -# Quote a variable value, and forward it to `config.status' so that its -# declaration there will have the same value as in `configure'. VARNAME -# must have a single quote delimited value for this to work. -m4_define([_LT_CONFIG_STATUS_DECLARE], -[$1='`$ECHO "$][$1" | $SED "$delay_single_quote_subst"`']) - - -# _LT_CONFIG_STATUS_DECLARATIONS -# ------------------------------ -# We delimit libtool config variables with single quotes, so when -# we write them to config.status, we have to be sure to quote all -# embedded single quotes properly. In configure, this macro expands -# each variable declared with _LT_DECL (and _LT_TAGDECL) into: -# -# ='`$ECHO "$" | $SED "$delay_single_quote_subst"`' -m4_defun([_LT_CONFIG_STATUS_DECLARATIONS], -[m4_foreach([_lt_var], m4_quote(lt_decl_all_varnames), - [m4_n([_LT_CONFIG_STATUS_DECLARE(_lt_var)])])]) - - -# _LT_LIBTOOL_TAGS -# ---------------- -# Output comment and list of tags supported by the script -m4_defun([_LT_LIBTOOL_TAGS], -[_LT_FORMAT_COMMENT([The names of the tagged configurations supported by this script])dnl -available_tags="_LT_TAGS"dnl -]) - - -# _LT_LIBTOOL_DECLARE(VARNAME, [TAG]) -# ----------------------------------- -# Extract the dictionary values for VARNAME (optionally with TAG) and -# expand to a commented shell variable setting: -# -# # Some comment about what VAR is for. -# visible_name=$lt_internal_name -m4_define([_LT_LIBTOOL_DECLARE], -[_LT_FORMAT_COMMENT(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], - [description])))[]dnl -m4_pushdef([_libtool_name], - m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [libtool_name])))[]dnl -m4_case(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [value])), - [0], [_libtool_name=[$]$1], - [1], [_libtool_name=$lt_[]$1], - [2], [_libtool_name=$lt_[]$1], - [_libtool_name=lt_dict_fetch([lt_decl_dict], [$1], [value])])[]dnl -m4_ifval([$2], [_$2])[]m4_popdef([_libtool_name])[]dnl -]) - - -# _LT_LIBTOOL_CONFIG_VARS -# ----------------------- -# Produce commented declarations of non-tagged libtool config variables -# suitable for insertion in the LIBTOOL CONFIG section of the `libtool' -# script. Tagged libtool config variables (even for the LIBTOOL CONFIG -# section) are produced by _LT_LIBTOOL_TAG_VARS. -m4_defun([_LT_LIBTOOL_CONFIG_VARS], -[m4_foreach([_lt_var], - m4_quote(_lt_decl_filter([tagged?], [no], [], lt_decl_varnames)), - [m4_n([_LT_LIBTOOL_DECLARE(_lt_var)])])]) - - -# _LT_LIBTOOL_TAG_VARS(TAG) -# ------------------------- -m4_define([_LT_LIBTOOL_TAG_VARS], -[m4_foreach([_lt_var], m4_quote(lt_decl_tag_varnames), - [m4_n([_LT_LIBTOOL_DECLARE(_lt_var, [$1])])])]) - - -# _LT_TAGVAR(VARNAME, [TAGNAME]) -# ------------------------------ -m4_define([_LT_TAGVAR], [m4_ifval([$2], [$1_$2], [$1])]) - - -# _LT_CONFIG_COMMANDS -# ------------------- -# Send accumulated output to $CONFIG_STATUS. Thanks to the lists of -# variables for single and double quote escaping we saved from calls -# to _LT_DECL, we can put quote escaped variables declarations -# into `config.status', and then the shell code to quote escape them in -# for loops in `config.status'. Finally, any additional code accumulated -# from calls to _LT_CONFIG_LIBTOOL_INIT is expanded. -m4_defun([_LT_CONFIG_COMMANDS], -[AC_PROVIDE_IFELSE([LT_OUTPUT], - dnl If the libtool generation code has been placed in $CONFIG_LT, - dnl instead of duplicating it all over again into config.status, - dnl then we will have config.status run $CONFIG_LT later, so it - dnl needs to know what name is stored there: - [AC_CONFIG_COMMANDS([libtool], - [$SHELL $CONFIG_LT || AS_EXIT(1)], [CONFIG_LT='$CONFIG_LT'])], - dnl If the libtool generation code is destined for config.status, - dnl expand the accumulated commands and init code now: - [AC_CONFIG_COMMANDS([libtool], - [_LT_OUTPUT_LIBTOOL_COMMANDS], [_LT_OUTPUT_LIBTOOL_COMMANDS_INIT])]) -])#_LT_CONFIG_COMMANDS - - -# Initialize. -m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS_INIT], -[ - -# The HP-UX ksh and POSIX shell print the target directory to stdout -# if CDPATH is set. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH - -sed_quote_subst='$sed_quote_subst' -double_quote_subst='$double_quote_subst' -delay_variable_subst='$delay_variable_subst' -_LT_CONFIG_STATUS_DECLARATIONS -LTCC='$LTCC' -LTCFLAGS='$LTCFLAGS' -compiler='$compiler_DEFAULT' - -# A function that is used when there is no print builtin or printf. -func_fallback_echo () -{ - eval 'cat <<_LTECHO_EOF -\$[]1 -_LTECHO_EOF' -} - -# Quote evaled strings. -for var in lt_decl_all_varnames([[ \ -]], lt_decl_quote_varnames); do - case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in - *[[\\\\\\\`\\"\\\$]]*) - eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" - ;; - *) - eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" - ;; - esac -done - -# Double-quote double-evaled strings. -for var in lt_decl_all_varnames([[ \ -]], lt_decl_dquote_varnames); do - case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in - *[[\\\\\\\`\\"\\\$]]*) - eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" - ;; - *) - eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" - ;; - esac -done - -_LT_OUTPUT_LIBTOOL_INIT -]) - -# _LT_GENERATED_FILE_INIT(FILE, [COMMENT]) -# ------------------------------------ -# Generate a child script FILE with all initialization necessary to -# reuse the environment learned by the parent script, and make the -# file executable. If COMMENT is supplied, it is inserted after the -# `#!' sequence but before initialization text begins. After this -# macro, additional text can be appended to FILE to form the body of -# the child script. The macro ends with non-zero status if the -# file could not be fully written (such as if the disk is full). -m4_ifdef([AS_INIT_GENERATED], -[m4_defun([_LT_GENERATED_FILE_INIT],[AS_INIT_GENERATED($@)])], -[m4_defun([_LT_GENERATED_FILE_INIT], -[m4_require([AS_PREPARE])]dnl -[m4_pushdef([AS_MESSAGE_LOG_FD])]dnl -[lt_write_fail=0 -cat >$1 <<_ASEOF || lt_write_fail=1 -#! $SHELL -# Generated by $as_me. -$2 -SHELL=\${CONFIG_SHELL-$SHELL} -export SHELL -_ASEOF -cat >>$1 <<\_ASEOF || lt_write_fail=1 -AS_SHELL_SANITIZE -_AS_PREPARE -exec AS_MESSAGE_FD>&1 -_ASEOF -test $lt_write_fail = 0 && chmod +x $1[]dnl -m4_popdef([AS_MESSAGE_LOG_FD])])])# _LT_GENERATED_FILE_INIT - -# LT_OUTPUT -# --------- -# This macro allows early generation of the libtool script (before -# AC_OUTPUT is called), incase it is used in configure for compilation -# tests. -AC_DEFUN([LT_OUTPUT], -[: ${CONFIG_LT=./config.lt} -AC_MSG_NOTICE([creating $CONFIG_LT]) -_LT_GENERATED_FILE_INIT(["$CONFIG_LT"], -[# Run this file to recreate a libtool stub with the current configuration.]) - -cat >>"$CONFIG_LT" <<\_LTEOF -lt_cl_silent=false -exec AS_MESSAGE_LOG_FD>>config.log -{ - echo - AS_BOX([Running $as_me.]) -} >&AS_MESSAGE_LOG_FD - -lt_cl_help="\ -\`$as_me' creates a local libtool stub from the current configuration, -for use in further configure time tests before the real libtool is -generated. - -Usage: $[0] [[OPTIONS]] - - -h, --help print this help, then exit - -V, --version print version number, then exit - -q, --quiet do not print progress messages - -d, --debug don't remove temporary files - -Report bugs to ." - -lt_cl_version="\ -m4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.lt[]dnl -m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION]) -configured by $[0], generated by m4_PACKAGE_STRING. - -Copyright (C) 2011 Free Software Foundation, Inc. -This config.lt script is free software; the Free Software Foundation -gives unlimited permision to copy, distribute and modify it." - -while test $[#] != 0 -do - case $[1] in - --version | --v* | -V ) - echo "$lt_cl_version"; exit 0 ;; - --help | --h* | -h ) - echo "$lt_cl_help"; exit 0 ;; - --debug | --d* | -d ) - debug=: ;; - --quiet | --q* | --silent | --s* | -q ) - lt_cl_silent=: ;; - - -*) AC_MSG_ERROR([unrecognized option: $[1] -Try \`$[0] --help' for more information.]) ;; - - *) AC_MSG_ERROR([unrecognized argument: $[1] -Try \`$[0] --help' for more information.]) ;; - esac - shift -done - -if $lt_cl_silent; then - exec AS_MESSAGE_FD>/dev/null -fi -_LTEOF - -cat >>"$CONFIG_LT" <<_LTEOF -_LT_OUTPUT_LIBTOOL_COMMANDS_INIT -_LTEOF - -cat >>"$CONFIG_LT" <<\_LTEOF -AC_MSG_NOTICE([creating $ofile]) -_LT_OUTPUT_LIBTOOL_COMMANDS -AS_EXIT(0) -_LTEOF -chmod +x "$CONFIG_LT" - -# configure is writing to config.log, but config.lt does its own redirection, -# appending to config.log, which fails on DOS, as config.log is still kept -# open by configure. Here we exec the FD to /dev/null, effectively closing -# config.log, so it can be properly (re)opened and appended to by config.lt. -lt_cl_success=: -test "$silent" = yes && - lt_config_lt_args="$lt_config_lt_args --quiet" -exec AS_MESSAGE_LOG_FD>/dev/null -$SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false -exec AS_MESSAGE_LOG_FD>>config.log -$lt_cl_success || AS_EXIT(1) -])# LT_OUTPUT - - -# _LT_CONFIG(TAG) -# --------------- -# If TAG is the built-in tag, create an initial libtool script with a -# default configuration from the untagged config vars. Otherwise add code -# to config.status for appending the configuration named by TAG from the -# matching tagged config vars. -m4_defun([_LT_CONFIG], -[m4_require([_LT_FILEUTILS_DEFAULTS])dnl -_LT_CONFIG_SAVE_COMMANDS([ - m4_define([_LT_TAG], m4_if([$1], [], [C], [$1]))dnl - m4_if(_LT_TAG, [C], [ - # See if we are running on zsh, and set the options which allow our - # commands through without removal of \ escapes. - if test -n "${ZSH_VERSION+set}" ; then - setopt NO_GLOB_SUBST - fi - - cfgfile="${ofile}T" - trap "$RM \"$cfgfile\"; exit 1" 1 2 15 - $RM "$cfgfile" - - cat <<_LT_EOF >> "$cfgfile" -#! $SHELL - -# `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services. -# Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION -# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: -# NOTE: Changes made to this file will be lost: look at ltmain.sh. -# -_LT_COPYING -_LT_LIBTOOL_TAGS - -# ### BEGIN LIBTOOL CONFIG -_LT_LIBTOOL_CONFIG_VARS -_LT_LIBTOOL_TAG_VARS -# ### END LIBTOOL CONFIG - -_LT_EOF - - case $host_os in - aix3*) - cat <<\_LT_EOF >> "$cfgfile" -# AIX sometimes has problems with the GCC collect2 program. For some -# reason, if we set the COLLECT_NAMES environment variable, the problems -# vanish in a puff of smoke. -if test "X${COLLECT_NAMES+set}" != Xset; then - COLLECT_NAMES= - export COLLECT_NAMES -fi -_LT_EOF - ;; - esac - - _LT_PROG_LTMAIN - - # We use sed instead of cat because bash on DJGPP gets confused if - # if finds mixed CR/LF and LF-only lines. Since sed operates in - # text mode, it properly converts lines to CR/LF. This bash problem - # is reportedly fixed, but why not run on old versions too? - sed '$q' "$ltmain" >> "$cfgfile" \ - || (rm -f "$cfgfile"; exit 1) - - _LT_PROG_REPLACE_SHELLFNS - - mv -f "$cfgfile" "$ofile" || - (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") - chmod +x "$ofile" -], -[cat <<_LT_EOF >> "$ofile" - -dnl Unfortunately we have to use $1 here, since _LT_TAG is not expanded -dnl in a comment (ie after a #). -# ### BEGIN LIBTOOL TAG CONFIG: $1 -_LT_LIBTOOL_TAG_VARS(_LT_TAG) -# ### END LIBTOOL TAG CONFIG: $1 -_LT_EOF -])dnl /m4_if -], -[m4_if([$1], [], [ - PACKAGE='$PACKAGE' - VERSION='$VERSION' - TIMESTAMP='$TIMESTAMP' - RM='$RM' - ofile='$ofile'], []) -])dnl /_LT_CONFIG_SAVE_COMMANDS -])# _LT_CONFIG - - -# LT_SUPPORTED_TAG(TAG) -# --------------------- -# Trace this macro to discover what tags are supported by the libtool -# --tag option, using: -# autoconf --trace 'LT_SUPPORTED_TAG:$1' -AC_DEFUN([LT_SUPPORTED_TAG], []) - - -# C support is built-in for now -m4_define([_LT_LANG_C_enabled], []) -m4_define([_LT_TAGS], []) - - -# LT_LANG(LANG) -# ------------- -# Enable libtool support for the given language if not already enabled. -AC_DEFUN([LT_LANG], -[AC_BEFORE([$0], [LT_OUTPUT])dnl -m4_case([$1], - [C], [_LT_LANG(C)], - [C++], [_LT_LANG(CXX)], - [Go], [_LT_LANG(GO)], - [Java], [_LT_LANG(GCJ)], - [Fortran 77], [_LT_LANG(F77)], - [Fortran], [_LT_LANG(FC)], - [Windows Resource], [_LT_LANG(RC)], - [m4_ifdef([_LT_LANG_]$1[_CONFIG], - [_LT_LANG($1)], - [m4_fatal([$0: unsupported language: "$1"])])])dnl -])# LT_LANG - - -# _LT_LANG(LANGNAME) -# ------------------ -m4_defun([_LT_LANG], -[m4_ifdef([_LT_LANG_]$1[_enabled], [], - [LT_SUPPORTED_TAG([$1])dnl - m4_append([_LT_TAGS], [$1 ])dnl - m4_define([_LT_LANG_]$1[_enabled], [])dnl - _LT_LANG_$1_CONFIG($1)])dnl -])# _LT_LANG - - -m4_ifndef([AC_PROG_GO], [ -# NOTE: This macro has been submitted for inclusion into # -# GNU Autoconf as AC_PROG_GO. When it is available in # -# a released version of Autoconf we should remove this # -# macro and use it instead. # -m4_defun([AC_PROG_GO], -[AC_LANG_PUSH(Go)dnl -AC_ARG_VAR([GOC], [Go compiler command])dnl -AC_ARG_VAR([GOFLAGS], [Go compiler flags])dnl -_AC_ARG_VAR_LDFLAGS()dnl -AC_CHECK_TOOL(GOC, gccgo) -if test -z "$GOC"; then - if test -n "$ac_tool_prefix"; then - AC_CHECK_PROG(GOC, [${ac_tool_prefix}gccgo], [${ac_tool_prefix}gccgo]) - fi -fi -if test -z "$GOC"; then - AC_CHECK_PROG(GOC, gccgo, gccgo, false) -fi -])#m4_defun -])#m4_ifndef - - -# _LT_LANG_DEFAULT_CONFIG -# ----------------------- -m4_defun([_LT_LANG_DEFAULT_CONFIG], -[AC_PROVIDE_IFELSE([AC_PROG_CXX], - [LT_LANG(CXX)], - [m4_define([AC_PROG_CXX], defn([AC_PROG_CXX])[LT_LANG(CXX)])]) - -AC_PROVIDE_IFELSE([AC_PROG_F77], - [LT_LANG(F77)], - [m4_define([AC_PROG_F77], defn([AC_PROG_F77])[LT_LANG(F77)])]) - -AC_PROVIDE_IFELSE([AC_PROG_FC], - [LT_LANG(FC)], - [m4_define([AC_PROG_FC], defn([AC_PROG_FC])[LT_LANG(FC)])]) - -dnl The call to [A][M_PROG_GCJ] is quoted like that to stop aclocal -dnl pulling things in needlessly. -AC_PROVIDE_IFELSE([AC_PROG_GCJ], - [LT_LANG(GCJ)], - [AC_PROVIDE_IFELSE([A][M_PROG_GCJ], - [LT_LANG(GCJ)], - [AC_PROVIDE_IFELSE([LT_PROG_GCJ], - [LT_LANG(GCJ)], - [m4_ifdef([AC_PROG_GCJ], - [m4_define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[LT_LANG(GCJ)])]) - m4_ifdef([A][M_PROG_GCJ], - [m4_define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[LT_LANG(GCJ)])]) - m4_ifdef([LT_PROG_GCJ], - [m4_define([LT_PROG_GCJ], defn([LT_PROG_GCJ])[LT_LANG(GCJ)])])])])]) - -AC_PROVIDE_IFELSE([AC_PROG_GO], - [LT_LANG(GO)], - [m4_define([AC_PROG_GO], defn([AC_PROG_GO])[LT_LANG(GO)])]) - -AC_PROVIDE_IFELSE([LT_PROG_RC], - [LT_LANG(RC)], - [m4_define([LT_PROG_RC], defn([LT_PROG_RC])[LT_LANG(RC)])]) -])# _LT_LANG_DEFAULT_CONFIG - -# Obsolete macros: -AU_DEFUN([AC_LIBTOOL_CXX], [LT_LANG(C++)]) -AU_DEFUN([AC_LIBTOOL_F77], [LT_LANG(Fortran 77)]) -AU_DEFUN([AC_LIBTOOL_FC], [LT_LANG(Fortran)]) -AU_DEFUN([AC_LIBTOOL_GCJ], [LT_LANG(Java)]) -AU_DEFUN([AC_LIBTOOL_RC], [LT_LANG(Windows Resource)]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_LIBTOOL_CXX], []) -dnl AC_DEFUN([AC_LIBTOOL_F77], []) -dnl AC_DEFUN([AC_LIBTOOL_FC], []) -dnl AC_DEFUN([AC_LIBTOOL_GCJ], []) -dnl AC_DEFUN([AC_LIBTOOL_RC], []) - - -# _LT_TAG_COMPILER -# ---------------- -m4_defun([_LT_TAG_COMPILER], -[AC_REQUIRE([AC_PROG_CC])dnl - -_LT_DECL([LTCC], [CC], [1], [A C compiler])dnl -_LT_DECL([LTCFLAGS], [CFLAGS], [1], [LTCC compiler flags])dnl -_LT_TAGDECL([CC], [compiler], [1], [A language specific compiler])dnl -_LT_TAGDECL([with_gcc], [GCC], [0], [Is the compiler the GNU compiler?])dnl - -# If no C compiler was specified, use CC. -LTCC=${LTCC-"$CC"} - -# If no C compiler flags were specified, use CFLAGS. -LTCFLAGS=${LTCFLAGS-"$CFLAGS"} - -# Allow CC to be a program name with arguments. -compiler=$CC -])# _LT_TAG_COMPILER - - -# _LT_COMPILER_BOILERPLATE -# ------------------------ -# Check for compiler boilerplate output or warnings with -# the simple compiler test code. -m4_defun([_LT_COMPILER_BOILERPLATE], -[m4_require([_LT_DECL_SED])dnl -ac_outfile=conftest.$ac_objext -echo "$lt_simple_compile_test_code" >conftest.$ac_ext -eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_compiler_boilerplate=`cat conftest.err` -$RM conftest* -])# _LT_COMPILER_BOILERPLATE - - -# _LT_LINKER_BOILERPLATE -# ---------------------- -# Check for linker boilerplate output or warnings with -# the simple link test code. -m4_defun([_LT_LINKER_BOILERPLATE], -[m4_require([_LT_DECL_SED])dnl -ac_outfile=conftest.$ac_objext -echo "$lt_simple_link_test_code" >conftest.$ac_ext -eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_linker_boilerplate=`cat conftest.err` -$RM -r conftest* -])# _LT_LINKER_BOILERPLATE - -# _LT_REQUIRED_DARWIN_CHECKS -# ------------------------- -m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[ - case $host_os in - rhapsody* | darwin*) - AC_CHECK_TOOL([DSYMUTIL], [dsymutil], [:]) - AC_CHECK_TOOL([NMEDIT], [nmedit], [:]) - AC_CHECK_TOOL([LIPO], [lipo], [:]) - AC_CHECK_TOOL([OTOOL], [otool], [:]) - AC_CHECK_TOOL([OTOOL64], [otool64], [:]) - _LT_DECL([], [DSYMUTIL], [1], - [Tool to manipulate archived DWARF debug symbol files on Mac OS X]) - _LT_DECL([], [NMEDIT], [1], - [Tool to change global to local symbols on Mac OS X]) - _LT_DECL([], [LIPO], [1], - [Tool to manipulate fat objects and archives on Mac OS X]) - _LT_DECL([], [OTOOL], [1], - [ldd/readelf like tool for Mach-O binaries on Mac OS X]) - _LT_DECL([], [OTOOL64], [1], - [ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4]) - - AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod], - [lt_cv_apple_cc_single_mod=no - if test -z "${LT_MULTI_MODULE}"; then - # By default we will add the -single_module flag. You can override - # by either setting the environment variable LT_MULTI_MODULE - # non-empty at configure time, or by adding -multi_module to the - # link flags. - rm -rf libconftest.dylib* - echo "int foo(void){return 1;}" > conftest.c - echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ --dynamiclib -Wl,-single_module conftest.c" >&AS_MESSAGE_LOG_FD - $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ - -dynamiclib -Wl,-single_module conftest.c 2>conftest.err - _lt_result=$? - # If there is a non-empty error log, and "single_module" - # appears in it, assume the flag caused a linker warning - if test -s conftest.err && $GREP single_module conftest.err; then - cat conftest.err >&AS_MESSAGE_LOG_FD - # Otherwise, if the output was created with a 0 exit code from - # the compiler, it worked. - elif test -f libconftest.dylib && test $_lt_result -eq 0; then - lt_cv_apple_cc_single_mod=yes - else - cat conftest.err >&AS_MESSAGE_LOG_FD - fi - rm -rf libconftest.dylib* - rm -f conftest.* - fi]) - - AC_CACHE_CHECK([for -exported_symbols_list linker flag], - [lt_cv_ld_exported_symbols_list], - [lt_cv_ld_exported_symbols_list=no - save_LDFLAGS=$LDFLAGS - echo "_main" > conftest.sym - LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym" - AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])], - [lt_cv_ld_exported_symbols_list=yes], - [lt_cv_ld_exported_symbols_list=no]) - LDFLAGS="$save_LDFLAGS" - ]) - - AC_CACHE_CHECK([for -force_load linker flag],[lt_cv_ld_force_load], - [lt_cv_ld_force_load=no - cat > conftest.c << _LT_EOF -int forced_loaded() { return 2;} -_LT_EOF - echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&AS_MESSAGE_LOG_FD - $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&AS_MESSAGE_LOG_FD - echo "$AR cru libconftest.a conftest.o" >&AS_MESSAGE_LOG_FD - $AR cru libconftest.a conftest.o 2>&AS_MESSAGE_LOG_FD - echo "$RANLIB libconftest.a" >&AS_MESSAGE_LOG_FD - $RANLIB libconftest.a 2>&AS_MESSAGE_LOG_FD - cat > conftest.c << _LT_EOF -int main() { return 0;} -_LT_EOF - echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&AS_MESSAGE_LOG_FD - $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err - _lt_result=$? - if test -s conftest.err && $GREP force_load conftest.err; then - cat conftest.err >&AS_MESSAGE_LOG_FD - elif test -f conftest && test $_lt_result -eq 0 && $GREP forced_load conftest >/dev/null 2>&1 ; then - lt_cv_ld_force_load=yes - else - cat conftest.err >&AS_MESSAGE_LOG_FD - fi - rm -f conftest.err libconftest.a conftest conftest.c - rm -rf conftest.dSYM - ]) - case $host_os in - rhapsody* | darwin1.[[012]]) - _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;; - darwin1.*) - _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; - darwin*) # darwin 5.x on - # if running on 10.5 or later, the deployment target defaults - # to the OS version, if on x86, and 10.4, the deployment - # target defaults to 10.4. Don't you love it? - case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in - 10.0,*86*-darwin8*|10.0,*-darwin[[91]]*) - _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; - 10.[[012]]*) - _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; - 10.*) - _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; - esac - ;; - esac - if test "$lt_cv_apple_cc_single_mod" = "yes"; then - _lt_dar_single_mod='$single_module' - fi - if test "$lt_cv_ld_exported_symbols_list" = "yes"; then - _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym' - else - _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}' - fi - if test "$DSYMUTIL" != ":" && test "$lt_cv_ld_force_load" = "no"; then - _lt_dsymutil='~$DSYMUTIL $lib || :' - else - _lt_dsymutil= - fi - ;; - esac -]) - - -# _LT_DARWIN_LINKER_FEATURES([TAG]) -# --------------------------------- -# Checks for linker and compiler features on darwin -m4_defun([_LT_DARWIN_LINKER_FEATURES], -[ - m4_require([_LT_REQUIRED_DARWIN_CHECKS]) - _LT_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_TAGVAR(hardcode_direct, $1)=no - _LT_TAGVAR(hardcode_automatic, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported - if test "$lt_cv_ld_force_load" = "yes"; then - _LT_TAGVAR(whole_archive_flag_spec, $1)='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`' - m4_case([$1], [F77], [_LT_TAGVAR(compiler_needs_object, $1)=yes], - [FC], [_LT_TAGVAR(compiler_needs_object, $1)=yes]) - else - _LT_TAGVAR(whole_archive_flag_spec, $1)='' - fi - _LT_TAGVAR(link_all_deplibs, $1)=yes - _LT_TAGVAR(allow_undefined_flag, $1)="$_lt_dar_allow_undefined" - case $cc_basename in - ifort*) _lt_dar_can_shared=yes ;; - *) _lt_dar_can_shared=$GCC ;; - esac - if test "$_lt_dar_can_shared" = "yes"; then - output_verbose_link_cmd=func_echo_all - _LT_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}" - _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}" - _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}" - _LT_TAGVAR(module_expsym_cmds, $1)="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}" - m4_if([$1], [CXX], -[ if test "$lt_cv_apple_cc_single_mod" != "yes"; then - _LT_TAGVAR(archive_cmds, $1)="\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dsymutil}" - _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dar_export_syms}${_lt_dsymutil}" - fi -],[]) - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi -]) - -# _LT_SYS_MODULE_PATH_AIX([TAGNAME]) -# ---------------------------------- -# Links a minimal program and checks the executable -# for the system default hardcoded library path. In most cases, -# this is /usr/lib:/lib, but when the MPI compilers are used -# the location of the communication and MPI libs are included too. -# If we don't find anything, use the default library path according -# to the aix ld manual. -# Store the results from the different compilers for each TAGNAME. -# Allow to override them for all tags through lt_cv_aix_libpath. -m4_defun([_LT_SYS_MODULE_PATH_AIX], -[m4_require([_LT_DECL_SED])dnl -if test "${lt_cv_aix_libpath+set}" = set; then - aix_libpath=$lt_cv_aix_libpath -else - AC_CACHE_VAL([_LT_TAGVAR([lt_cv_aix_libpath_], [$1])], - [AC_LINK_IFELSE([AC_LANG_PROGRAM],[ - lt_aix_libpath_sed='[ - /Import File Strings/,/^$/ { - /^0/ { - s/^0 *\([^ ]*\) *$/\1/ - p - } - }]' - _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - # Check for a 64-bit object if we didn't find anything. - if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then - _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - fi],[]) - if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then - _LT_TAGVAR([lt_cv_aix_libpath_], [$1])="/usr/lib:/lib" - fi - ]) - aix_libpath=$_LT_TAGVAR([lt_cv_aix_libpath_], [$1]) -fi -])# _LT_SYS_MODULE_PATH_AIX - - -# _LT_SHELL_INIT(ARG) -# ------------------- -m4_define([_LT_SHELL_INIT], -[m4_divert_text([M4SH-INIT], [$1 -])])# _LT_SHELL_INIT - - - -# _LT_PROG_ECHO_BACKSLASH -# ----------------------- -# Find how we can fake an echo command that does not interpret backslash. -# In particular, with Autoconf 2.60 or later we add some code to the start -# of the generated configure script which will find a shell with a builtin -# printf (which we can use as an echo command). -m4_defun([_LT_PROG_ECHO_BACKSLASH], -[ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' -ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO -ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO - -AC_MSG_CHECKING([how to print strings]) -# Test print first, because it will be a builtin if present. -if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \ - test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then - ECHO='print -r --' -elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then - ECHO='printf %s\n' -else - # Use this function as a fallback that always works. - func_fallback_echo () - { - eval 'cat <<_LTECHO_EOF -$[]1 -_LTECHO_EOF' - } - ECHO='func_fallback_echo' -fi - -# func_echo_all arg... -# Invoke $ECHO with all args, space-separated. -func_echo_all () -{ - $ECHO "$*" -} - -case "$ECHO" in - printf*) AC_MSG_RESULT([printf]) ;; - print*) AC_MSG_RESULT([print -r]) ;; - *) AC_MSG_RESULT([cat]) ;; -esac - -m4_ifdef([_AS_DETECT_SUGGESTED], -[_AS_DETECT_SUGGESTED([ - test -n "${ZSH_VERSION+set}${BASH_VERSION+set}" || ( - ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' - ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO - ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO - PATH=/empty FPATH=/empty; export PATH FPATH - test "X`printf %s $ECHO`" = "X$ECHO" \ - || test "X`print -r -- $ECHO`" = "X$ECHO" )])]) - -_LT_DECL([], [SHELL], [1], [Shell to use when invoking shell scripts]) -_LT_DECL([], [ECHO], [1], [An echo program that protects backslashes]) -])# _LT_PROG_ECHO_BACKSLASH - - -# _LT_WITH_SYSROOT -# ---------------- -AC_DEFUN([_LT_WITH_SYSROOT], -[AC_MSG_CHECKING([for sysroot]) -AC_ARG_WITH([sysroot], -[ --with-sysroot[=DIR] Search for dependent libraries within DIR - (or the compiler's sysroot if not specified).], -[], [with_sysroot=no]) - -dnl lt_sysroot will always be passed unquoted. We quote it here -dnl in case the user passed a directory name. -lt_sysroot= -case ${with_sysroot} in #( - yes) - if test "$GCC" = yes; then - lt_sysroot=`$CC --print-sysroot 2>/dev/null` - fi - ;; #( - /*) - lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"` - ;; #( - no|'') - ;; #( - *) - AC_MSG_RESULT([${with_sysroot}]) - AC_MSG_ERROR([The sysroot must be an absolute path.]) - ;; -esac - - AC_MSG_RESULT([${lt_sysroot:-no}]) -_LT_DECL([], [lt_sysroot], [0], [The root where to search for ]dnl -[dependent libraries, and in which our libraries should be installed.])]) - -# _LT_ENABLE_LOCK -# --------------- -m4_defun([_LT_ENABLE_LOCK], -[AC_ARG_ENABLE([libtool-lock], - [AS_HELP_STRING([--disable-libtool-lock], - [avoid locking (might break parallel builds)])]) -test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes - -# Some flags need to be propagated to the compiler or linker for good -# libtool support. -case $host in -ia64-*-hpux*) - # Find out which ABI we are using. - echo 'int i;' > conftest.$ac_ext - if AC_TRY_EVAL(ac_compile); then - case `/usr/bin/file conftest.$ac_objext` in - *ELF-32*) - HPUX_IA64_MODE="32" - ;; - *ELF-64*) - HPUX_IA64_MODE="64" - ;; - esac - fi - rm -rf conftest* - ;; -*-*-irix6*) - # Find out which ABI we are using. - echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext - if AC_TRY_EVAL(ac_compile); then - if test "$lt_cv_prog_gnu_ld" = yes; then - case `/usr/bin/file conftest.$ac_objext` in - *32-bit*) - LD="${LD-ld} -melf32bsmip" - ;; - *N32*) - LD="${LD-ld} -melf32bmipn32" - ;; - *64-bit*) - LD="${LD-ld} -melf64bmip" - ;; - esac - else - case `/usr/bin/file conftest.$ac_objext` in - *32-bit*) - LD="${LD-ld} -32" - ;; - *N32*) - LD="${LD-ld} -n32" - ;; - *64-bit*) - LD="${LD-ld} -64" - ;; - esac - fi - fi - rm -rf conftest* - ;; - -x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \ -s390*-*linux*|s390*-*tpf*|sparc*-*linux*) - # Find out which ABI we are using. - echo 'int i;' > conftest.$ac_ext - if AC_TRY_EVAL(ac_compile); then - case `/usr/bin/file conftest.o` in - *32-bit*) - case $host in - x86_64-*kfreebsd*-gnu) - LD="${LD-ld} -m elf_i386_fbsd" - ;; - x86_64-*linux*) - LD="${LD-ld} -m elf_i386" - ;; - ppc64-*linux*|powerpc64-*linux*) - LD="${LD-ld} -m elf32ppclinux" - ;; - s390x-*linux*) - LD="${LD-ld} -m elf_s390" - ;; - sparc64-*linux*) - LD="${LD-ld} -m elf32_sparc" - ;; - esac - ;; - *64-bit*) - case $host in - x86_64-*kfreebsd*-gnu) - LD="${LD-ld} -m elf_x86_64_fbsd" - ;; - x86_64-*linux*) - LD="${LD-ld} -m elf_x86_64" - ;; - ppc*-*linux*|powerpc*-*linux*) - LD="${LD-ld} -m elf64ppc" - ;; - s390*-*linux*|s390*-*tpf*) - LD="${LD-ld} -m elf64_s390" - ;; - sparc*-*linux*) - LD="${LD-ld} -m elf64_sparc" - ;; - esac - ;; - esac - fi - rm -rf conftest* - ;; - -*-*-sco3.2v5*) - # On SCO OpenServer 5, we need -belf to get full-featured binaries. - SAVE_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS -belf" - AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf, - [AC_LANG_PUSH(C) - AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],[[]])],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no]) - AC_LANG_POP]) - if test x"$lt_cv_cc_needs_belf" != x"yes"; then - # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf - CFLAGS="$SAVE_CFLAGS" - fi - ;; -*-*solaris*) - # Find out which ABI we are using. - echo 'int i;' > conftest.$ac_ext - if AC_TRY_EVAL(ac_compile); then - case `/usr/bin/file conftest.o` in - *64-bit*) - case $lt_cv_prog_gnu_ld in - yes*) - case $host in - i?86-*-solaris*) - LD="${LD-ld} -m elf_x86_64" - ;; - sparc*-*-solaris*) - LD="${LD-ld} -m elf64_sparc" - ;; - esac - # GNU ld 2.21 introduced _sol2 emulations. Use them if available. - if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then - LD="${LD-ld}_sol2" - fi - ;; - *) - if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then - LD="${LD-ld} -64" - fi - ;; - esac - ;; - esac - fi - rm -rf conftest* - ;; -esac - -need_locks="$enable_libtool_lock" -])# _LT_ENABLE_LOCK - - -# _LT_PROG_AR -# ----------- -m4_defun([_LT_PROG_AR], -[AC_CHECK_TOOLS(AR, [ar], false) -: ${AR=ar} -: ${AR_FLAGS=cru} -_LT_DECL([], [AR], [1], [The archiver]) -_LT_DECL([], [AR_FLAGS], [1], [Flags to create an archive]) - -AC_CACHE_CHECK([for archiver @FILE support], [lt_cv_ar_at_file], - [lt_cv_ar_at_file=no - AC_COMPILE_IFELSE([AC_LANG_PROGRAM], - [echo conftest.$ac_objext > conftest.lst - lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&AS_MESSAGE_LOG_FD' - AC_TRY_EVAL([lt_ar_try]) - if test "$ac_status" -eq 0; then - # Ensure the archiver fails upon bogus file names. - rm -f conftest.$ac_objext libconftest.a - AC_TRY_EVAL([lt_ar_try]) - if test "$ac_status" -ne 0; then - lt_cv_ar_at_file=@ - fi - fi - rm -f conftest.* libconftest.a - ]) - ]) - -if test "x$lt_cv_ar_at_file" = xno; then - archiver_list_spec= -else - archiver_list_spec=$lt_cv_ar_at_file -fi -_LT_DECL([], [archiver_list_spec], [1], - [How to feed a file listing to the archiver]) -])# _LT_PROG_AR - - -# _LT_CMD_OLD_ARCHIVE -# ------------------- -m4_defun([_LT_CMD_OLD_ARCHIVE], -[_LT_PROG_AR - -AC_CHECK_TOOL(STRIP, strip, :) -test -z "$STRIP" && STRIP=: -_LT_DECL([], [STRIP], [1], [A symbol stripping program]) - -AC_CHECK_TOOL(RANLIB, ranlib, :) -test -z "$RANLIB" && RANLIB=: -_LT_DECL([], [RANLIB], [1], - [Commands used to install an old-style archive]) - -# Determine commands to create old-style static archives. -old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs' -old_postinstall_cmds='chmod 644 $oldlib' -old_postuninstall_cmds= - -if test -n "$RANLIB"; then - case $host_os in - openbsd*) - old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib" - ;; - *) - old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib" - ;; - esac - old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib" -fi - -case $host_os in - darwin*) - lock_old_archive_extraction=yes ;; - *) - lock_old_archive_extraction=no ;; -esac -_LT_DECL([], [old_postinstall_cmds], [2]) -_LT_DECL([], [old_postuninstall_cmds], [2]) -_LT_TAGDECL([], [old_archive_cmds], [2], - [Commands used to build an old-style archive]) -_LT_DECL([], [lock_old_archive_extraction], [0], - [Whether to use a lock for old archive extraction]) -])# _LT_CMD_OLD_ARCHIVE - - -# _LT_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, -# [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE]) -# ---------------------------------------------------------------- -# Check whether the given compiler option works -AC_DEFUN([_LT_COMPILER_OPTION], -[m4_require([_LT_FILEUTILS_DEFAULTS])dnl -m4_require([_LT_DECL_SED])dnl -AC_CACHE_CHECK([$1], [$2], - [$2=no - m4_if([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4]) - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - lt_compiler_flag="$3" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - # The option is referenced via a variable to avoid confusing sed. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD) - (eval "$lt_compile" 2>conftest.err) - ac_status=$? - cat conftest.err >&AS_MESSAGE_LOG_FD - echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD - if (exit $ac_status) && test -s "$ac_outfile"; then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings other than the usual output. - $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then - $2=yes - fi - fi - $RM conftest* -]) - -if test x"[$]$2" = xyes; then - m4_if([$5], , :, [$5]) -else - m4_if([$6], , :, [$6]) -fi -])# _LT_COMPILER_OPTION - -# Old name: -AU_ALIAS([AC_LIBTOOL_COMPILER_OPTION], [_LT_COMPILER_OPTION]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], []) - - -# _LT_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, -# [ACTION-SUCCESS], [ACTION-FAILURE]) -# ---------------------------------------------------- -# Check whether the given linker option works -AC_DEFUN([_LT_LINKER_OPTION], -[m4_require([_LT_FILEUTILS_DEFAULTS])dnl -m4_require([_LT_DECL_SED])dnl -AC_CACHE_CHECK([$1], [$2], - [$2=no - save_LDFLAGS="$LDFLAGS" - LDFLAGS="$LDFLAGS $3" - echo "$lt_simple_link_test_code" > conftest.$ac_ext - if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then - # The linker can only warn and ignore the option if not recognized - # So say no if there are warnings - if test -s conftest.err; then - # Append any errors to the config.log. - cat conftest.err 1>&AS_MESSAGE_LOG_FD - $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if diff conftest.exp conftest.er2 >/dev/null; then - $2=yes - fi - else - $2=yes - fi - fi - $RM -r conftest* - LDFLAGS="$save_LDFLAGS" -]) - -if test x"[$]$2" = xyes; then - m4_if([$4], , :, [$4]) -else - m4_if([$5], , :, [$5]) -fi -])# _LT_LINKER_OPTION - -# Old name: -AU_ALIAS([AC_LIBTOOL_LINKER_OPTION], [_LT_LINKER_OPTION]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], []) - - -# LT_CMD_MAX_LEN -#--------------- -AC_DEFUN([LT_CMD_MAX_LEN], -[AC_REQUIRE([AC_CANONICAL_HOST])dnl -# find the maximum length of command line arguments -AC_MSG_CHECKING([the maximum length of command line arguments]) -AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl - i=0 - teststring="ABCD" - - case $build_os in - msdosdjgpp*) - # On DJGPP, this test can blow up pretty badly due to problems in libc - # (any single argument exceeding 2000 bytes causes a buffer overrun - # during glob expansion). Even if it were fixed, the result of this - # check would be larger than it should be. - lt_cv_sys_max_cmd_len=12288; # 12K is about right - ;; - - gnu*) - # Under GNU Hurd, this test is not required because there is - # no limit to the length of command line arguments. - # Libtool will interpret -1 as no limit whatsoever - lt_cv_sys_max_cmd_len=-1; - ;; - - cygwin* | mingw* | cegcc*) - # On Win9x/ME, this test blows up -- it succeeds, but takes - # about 5 minutes as the teststring grows exponentially. - # Worse, since 9x/ME are not pre-emptively multitasking, - # you end up with a "frozen" computer, even though with patience - # the test eventually succeeds (with a max line length of 256k). - # Instead, let's just punt: use the minimum linelength reported by - # all of the supported platforms: 8192 (on NT/2K/XP). - lt_cv_sys_max_cmd_len=8192; - ;; - - mint*) - # On MiNT this can take a long time and run out of memory. - lt_cv_sys_max_cmd_len=8192; - ;; - - amigaos*) - # On AmigaOS with pdksh, this test takes hours, literally. - # So we just punt and use a minimum line length of 8192. - lt_cv_sys_max_cmd_len=8192; - ;; - - netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) - # This has been around since 386BSD, at least. Likely further. - if test -x /sbin/sysctl; then - lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` - elif test -x /usr/sbin/sysctl; then - lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` - else - lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs - fi - # And add a safety zone - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` - ;; - - interix*) - # We know the value 262144 and hardcode it with a safety zone (like BSD) - lt_cv_sys_max_cmd_len=196608 - ;; - - os2*) - # The test takes a long time on OS/2. - lt_cv_sys_max_cmd_len=8192 - ;; - - osf*) - # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure - # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not - # nice to cause kernel panics so lets avoid the loop below. - # First set a reasonable default. - lt_cv_sys_max_cmd_len=16384 - # - if test -x /sbin/sysconfig; then - case `/sbin/sysconfig -q proc exec_disable_arg_limit` in - *1*) lt_cv_sys_max_cmd_len=-1 ;; - esac - fi - ;; - sco3.2v5*) - lt_cv_sys_max_cmd_len=102400 - ;; - sysv5* | sco5v6* | sysv4.2uw2*) - kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` - if test -n "$kargmax"; then - lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ ]]//'` - else - lt_cv_sys_max_cmd_len=32768 - fi - ;; - *) - lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` - if test -n "$lt_cv_sys_max_cmd_len"; then - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` - else - # Make teststring a little bigger before we do anything with it. - # a 1K string should be a reasonable start. - for i in 1 2 3 4 5 6 7 8 ; do - teststring=$teststring$teststring - done - SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} - # If test is not a shell built-in, we'll probably end up computing a - # maximum length that is only half of the actual maximum length, but - # we can't tell. - while { test "X"`env echo "$teststring$teststring" 2>/dev/null` \ - = "X$teststring$teststring"; } >/dev/null 2>&1 && - test $i != 17 # 1/2 MB should be enough - do - i=`expr $i + 1` - teststring=$teststring$teststring - done - # Only check the string length outside the loop. - lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1` - teststring= - # Add a significant safety factor because C++ compilers can tack on - # massive amounts of additional arguments before passing them to the - # linker. It appears as though 1/2 is a usable value. - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` - fi - ;; - esac -]) -if test -n $lt_cv_sys_max_cmd_len ; then - AC_MSG_RESULT($lt_cv_sys_max_cmd_len) -else - AC_MSG_RESULT(none) -fi -max_cmd_len=$lt_cv_sys_max_cmd_len -_LT_DECL([], [max_cmd_len], [0], - [What is the maximum length of a command?]) -])# LT_CMD_MAX_LEN - -# Old name: -AU_ALIAS([AC_LIBTOOL_SYS_MAX_CMD_LEN], [LT_CMD_MAX_LEN]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], []) - - -# _LT_HEADER_DLFCN -# ---------------- -m4_defun([_LT_HEADER_DLFCN], -[AC_CHECK_HEADERS([dlfcn.h], [], [], [AC_INCLUDES_DEFAULT])dnl -])# _LT_HEADER_DLFCN - - -# _LT_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE, -# ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING) -# ---------------------------------------------------------------- -m4_defun([_LT_TRY_DLOPEN_SELF], -[m4_require([_LT_HEADER_DLFCN])dnl -if test "$cross_compiling" = yes; then : - [$4] -else - lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 - lt_status=$lt_dlunknown - cat > conftest.$ac_ext <<_LT_EOF -[#line $LINENO "configure" -#include "confdefs.h" - -#if HAVE_DLFCN_H -#include -#endif - -#include - -#ifdef RTLD_GLOBAL -# define LT_DLGLOBAL RTLD_GLOBAL -#else -# ifdef DL_GLOBAL -# define LT_DLGLOBAL DL_GLOBAL -# else -# define LT_DLGLOBAL 0 -# endif -#endif - -/* We may have to define LT_DLLAZY_OR_NOW in the command line if we - find out it does not work in some platform. */ -#ifndef LT_DLLAZY_OR_NOW -# ifdef RTLD_LAZY -# define LT_DLLAZY_OR_NOW RTLD_LAZY -# else -# ifdef DL_LAZY -# define LT_DLLAZY_OR_NOW DL_LAZY -# else -# ifdef RTLD_NOW -# define LT_DLLAZY_OR_NOW RTLD_NOW -# else -# ifdef DL_NOW -# define LT_DLLAZY_OR_NOW DL_NOW -# else -# define LT_DLLAZY_OR_NOW 0 -# endif -# endif -# endif -# endif -#endif - -/* When -fvisbility=hidden is used, assume the code has been annotated - correspondingly for the symbols needed. */ -#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) -int fnord () __attribute__((visibility("default"))); -#endif - -int fnord () { return 42; } -int main () -{ - void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); - int status = $lt_dlunknown; - - if (self) - { - if (dlsym (self,"fnord")) status = $lt_dlno_uscore; - else - { - if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; - else puts (dlerror ()); - } - /* dlclose (self); */ - } - else - puts (dlerror ()); - - return status; -}] -_LT_EOF - if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then - (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null - lt_status=$? - case x$lt_status in - x$lt_dlno_uscore) $1 ;; - x$lt_dlneed_uscore) $2 ;; - x$lt_dlunknown|x*) $3 ;; - esac - else : - # compilation failed - $3 - fi -fi -rm -fr conftest* -])# _LT_TRY_DLOPEN_SELF - - -# LT_SYS_DLOPEN_SELF -# ------------------ -AC_DEFUN([LT_SYS_DLOPEN_SELF], -[m4_require([_LT_HEADER_DLFCN])dnl -if test "x$enable_dlopen" != xyes; then - enable_dlopen=unknown - enable_dlopen_self=unknown - enable_dlopen_self_static=unknown -else - lt_cv_dlopen=no - lt_cv_dlopen_libs= - - case $host_os in - beos*) - lt_cv_dlopen="load_add_on" - lt_cv_dlopen_libs= - lt_cv_dlopen_self=yes - ;; - - mingw* | pw32* | cegcc*) - lt_cv_dlopen="LoadLibrary" - lt_cv_dlopen_libs= - ;; - - cygwin*) - lt_cv_dlopen="dlopen" - lt_cv_dlopen_libs= - ;; - - darwin*) - # if libdl is installed we need to link against it - AC_CHECK_LIB([dl], [dlopen], - [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[ - lt_cv_dlopen="dyld" - lt_cv_dlopen_libs= - lt_cv_dlopen_self=yes - ]) - ;; - - *) - AC_CHECK_FUNC([shl_load], - [lt_cv_dlopen="shl_load"], - [AC_CHECK_LIB([dld], [shl_load], - [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"], - [AC_CHECK_FUNC([dlopen], - [lt_cv_dlopen="dlopen"], - [AC_CHECK_LIB([dl], [dlopen], - [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"], - [AC_CHECK_LIB([svld], [dlopen], - [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"], - [AC_CHECK_LIB([dld], [dld_link], - [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"]) - ]) - ]) - ]) - ]) - ]) - ;; - esac - - if test "x$lt_cv_dlopen" != xno; then - enable_dlopen=yes - else - enable_dlopen=no - fi - - case $lt_cv_dlopen in - dlopen) - save_CPPFLAGS="$CPPFLAGS" - test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" - - save_LDFLAGS="$LDFLAGS" - wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" - - save_LIBS="$LIBS" - LIBS="$lt_cv_dlopen_libs $LIBS" - - AC_CACHE_CHECK([whether a program can dlopen itself], - lt_cv_dlopen_self, [dnl - _LT_TRY_DLOPEN_SELF( - lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes, - lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross) - ]) - - if test "x$lt_cv_dlopen_self" = xyes; then - wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" - AC_CACHE_CHECK([whether a statically linked program can dlopen itself], - lt_cv_dlopen_self_static, [dnl - _LT_TRY_DLOPEN_SELF( - lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes, - lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross) - ]) - fi - - CPPFLAGS="$save_CPPFLAGS" - LDFLAGS="$save_LDFLAGS" - LIBS="$save_LIBS" - ;; - esac - - case $lt_cv_dlopen_self in - yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; - *) enable_dlopen_self=unknown ;; - esac - - case $lt_cv_dlopen_self_static in - yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; - *) enable_dlopen_self_static=unknown ;; - esac -fi -_LT_DECL([dlopen_support], [enable_dlopen], [0], - [Whether dlopen is supported]) -_LT_DECL([dlopen_self], [enable_dlopen_self], [0], - [Whether dlopen of programs is supported]) -_LT_DECL([dlopen_self_static], [enable_dlopen_self_static], [0], - [Whether dlopen of statically linked programs is supported]) -])# LT_SYS_DLOPEN_SELF - -# Old name: -AU_ALIAS([AC_LIBTOOL_DLOPEN_SELF], [LT_SYS_DLOPEN_SELF]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], []) - - -# _LT_COMPILER_C_O([TAGNAME]) -# --------------------------- -# Check to see if options -c and -o are simultaneously supported by compiler. -# This macro does not hard code the compiler like AC_PROG_CC_C_O. -m4_defun([_LT_COMPILER_C_O], -[m4_require([_LT_DECL_SED])dnl -m4_require([_LT_FILEUTILS_DEFAULTS])dnl -m4_require([_LT_TAG_COMPILER])dnl -AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext], - [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)], - [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no - $RM -r conftest 2>/dev/null - mkdir conftest - cd conftest - mkdir out - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - lt_compiler_flag="-o out/conftest2.$ac_objext" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD) - (eval "$lt_compile" 2>out/conftest.err) - ac_status=$? - cat out/conftest.err >&AS_MESSAGE_LOG_FD - echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD - if (exit $ac_status) && test -s out/conftest2.$ac_objext - then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings - $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp - $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 - if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then - _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes - fi - fi - chmod u+w . 2>&AS_MESSAGE_LOG_FD - $RM conftest* - # SGI C++ compiler will create directory out/ii_files/ for - # template instantiation - test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files - $RM out/* && rmdir out - cd .. - $RM -r conftest - $RM conftest* -]) -_LT_TAGDECL([compiler_c_o], [lt_cv_prog_compiler_c_o], [1], - [Does compiler simultaneously support -c and -o options?]) -])# _LT_COMPILER_C_O - - -# _LT_COMPILER_FILE_LOCKS([TAGNAME]) -# ---------------------------------- -# Check to see if we can do hard links to lock some files if needed -m4_defun([_LT_COMPILER_FILE_LOCKS], -[m4_require([_LT_ENABLE_LOCK])dnl -m4_require([_LT_FILEUTILS_DEFAULTS])dnl -_LT_COMPILER_C_O([$1]) - -hard_links="nottested" -if test "$_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then - # do not overwrite the value of need_locks provided by the user - AC_MSG_CHECKING([if we can lock with hard links]) - hard_links=yes - $RM conftest* - ln conftest.a conftest.b 2>/dev/null && hard_links=no - touch conftest.a - ln conftest.a conftest.b 2>&5 || hard_links=no - ln conftest.a conftest.b 2>/dev/null && hard_links=no - AC_MSG_RESULT([$hard_links]) - if test "$hard_links" = no; then - AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe]) - need_locks=warn - fi -else - need_locks=no -fi -_LT_DECL([], [need_locks], [1], [Must we lock files when doing compilation?]) -])# _LT_COMPILER_FILE_LOCKS - - -# _LT_CHECK_OBJDIR -# ---------------- -m4_defun([_LT_CHECK_OBJDIR], -[AC_CACHE_CHECK([for objdir], [lt_cv_objdir], -[rm -f .libs 2>/dev/null -mkdir .libs 2>/dev/null -if test -d .libs; then - lt_cv_objdir=.libs -else - # MS-DOS does not allow filenames that begin with a dot. - lt_cv_objdir=_libs -fi -rmdir .libs 2>/dev/null]) -objdir=$lt_cv_objdir -_LT_DECL([], [objdir], [0], - [The name of the directory that contains temporary libtool files])dnl -m4_pattern_allow([LT_OBJDIR])dnl -AC_DEFINE_UNQUOTED(LT_OBJDIR, "$lt_cv_objdir/", - [Define to the sub-directory in which libtool stores uninstalled libraries.]) -])# _LT_CHECK_OBJDIR - - -# _LT_LINKER_HARDCODE_LIBPATH([TAGNAME]) -# -------------------------------------- -# Check hardcoding attributes. -m4_defun([_LT_LINKER_HARDCODE_LIBPATH], -[AC_MSG_CHECKING([how to hardcode library paths into programs]) -_LT_TAGVAR(hardcode_action, $1)= -if test -n "$_LT_TAGVAR(hardcode_libdir_flag_spec, $1)" || - test -n "$_LT_TAGVAR(runpath_var, $1)" || - test "X$_LT_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then - - # We can hardcode non-existent directories. - if test "$_LT_TAGVAR(hardcode_direct, $1)" != no && - # If the only mechanism to avoid hardcoding is shlibpath_var, we - # have to relink, otherwise we might link with an installed library - # when we should be linking with a yet-to-be-installed one - ## test "$_LT_TAGVAR(hardcode_shlibpath_var, $1)" != no && - test "$_LT_TAGVAR(hardcode_minus_L, $1)" != no; then - # Linking always hardcodes the temporary library directory. - _LT_TAGVAR(hardcode_action, $1)=relink - else - # We can link without hardcoding, and we can hardcode nonexisting dirs. - _LT_TAGVAR(hardcode_action, $1)=immediate - fi -else - # We cannot hardcode anything, or else we can only hardcode existing - # directories. - _LT_TAGVAR(hardcode_action, $1)=unsupported -fi -AC_MSG_RESULT([$_LT_TAGVAR(hardcode_action, $1)]) - -if test "$_LT_TAGVAR(hardcode_action, $1)" = relink || - test "$_LT_TAGVAR(inherit_rpath, $1)" = yes; then - # Fast installation is not supported - enable_fast_install=no -elif test "$shlibpath_overrides_runpath" = yes || - test "$enable_shared" = no; then - # Fast installation is not necessary - enable_fast_install=needless -fi -_LT_TAGDECL([], [hardcode_action], [0], - [How to hardcode a shared library path into an executable]) -])# _LT_LINKER_HARDCODE_LIBPATH - - -# _LT_CMD_STRIPLIB -# ---------------- -m4_defun([_LT_CMD_STRIPLIB], -[m4_require([_LT_DECL_EGREP]) -striplib= -old_striplib= -AC_MSG_CHECKING([whether stripping libraries is possible]) -if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then - test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" - test -z "$striplib" && striplib="$STRIP --strip-unneeded" - AC_MSG_RESULT([yes]) -else -# FIXME - insert some real tests, host_os isn't really good enough - case $host_os in - darwin*) - if test -n "$STRIP" ; then - striplib="$STRIP -x" - old_striplib="$STRIP -S" - AC_MSG_RESULT([yes]) - else - AC_MSG_RESULT([no]) - fi - ;; - *) - AC_MSG_RESULT([no]) - ;; - esac -fi -_LT_DECL([], [old_striplib], [1], [Commands to strip libraries]) -_LT_DECL([], [striplib], [1]) -])# _LT_CMD_STRIPLIB - - -# _LT_SYS_DYNAMIC_LINKER([TAG]) -# ----------------------------- -# PORTME Fill in your ld.so characteristics -m4_defun([_LT_SYS_DYNAMIC_LINKER], -[AC_REQUIRE([AC_CANONICAL_HOST])dnl -m4_require([_LT_DECL_EGREP])dnl -m4_require([_LT_FILEUTILS_DEFAULTS])dnl -m4_require([_LT_DECL_OBJDUMP])dnl -m4_require([_LT_DECL_SED])dnl -m4_require([_LT_CHECK_SHELL_FEATURES])dnl -AC_MSG_CHECKING([dynamic linker characteristics]) -m4_if([$1], - [], [ -if test "$GCC" = yes; then - case $host_os in - darwin*) lt_awk_arg="/^libraries:/,/LR/" ;; - *) lt_awk_arg="/^libraries:/" ;; - esac - case $host_os in - mingw* | cegcc*) lt_sed_strip_eq="s,=\([[A-Za-z]]:\),\1,g" ;; - *) lt_sed_strip_eq="s,=/,/,g" ;; - esac - lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq` - case $lt_search_path_spec in - *\;*) - # if the path contains ";" then we assume it to be the separator - # otherwise default to the standard path separator (i.e. ":") - it is - # assumed that no part of a normal pathname contains ";" but that should - # okay in the real world where ";" in dirpaths is itself problematic. - lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'` - ;; - *) - lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"` - ;; - esac - # Ok, now we have the path, separated by spaces, we can step through it - # and add multilib dir if necessary. - lt_tmp_lt_search_path_spec= - lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` - for lt_sys_path in $lt_search_path_spec; do - if test -d "$lt_sys_path/$lt_multi_os_dir"; then - lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir" - else - test -d "$lt_sys_path" && \ - lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" - fi - done - lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk ' -BEGIN {RS=" "; FS="/|\n";} { - lt_foo=""; - lt_count=0; - for (lt_i = NF; lt_i > 0; lt_i--) { - if ($lt_i != "" && $lt_i != ".") { - if ($lt_i == "..") { - lt_count++; - } else { - if (lt_count == 0) { - lt_foo="/" $lt_i lt_foo; - } else { - lt_count--; - } - } - } - } - if (lt_foo != "") { lt_freq[[lt_foo]]++; } - if (lt_freq[[lt_foo]] == 1) { print lt_foo; } -}'` - # AWK program above erroneously prepends '/' to C:/dos/paths - # for these hosts. - case $host_os in - mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\ - $SED 's,/\([[A-Za-z]]:\),\1,g'` ;; - esac - sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP` -else - sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" -fi]) -library_names_spec= -libname_spec='lib$name' -soname_spec= -shrext_cmds=".so" -postinstall_cmds= -postuninstall_cmds= -finish_cmds= -finish_eval= -shlibpath_var= -shlibpath_overrides_runpath=unknown -version_type=none -dynamic_linker="$host_os ld.so" -sys_lib_dlsearch_path_spec="/lib /usr/lib" -need_lib_prefix=unknown -hardcode_into_libs=no - -# when you set need_version to no, make sure it does not cause -set_version -# flags to be left without arguments -need_version=unknown - -case $host_os in -aix3*) - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' - shlibpath_var=LIBPATH - - # AIX 3 has no versioning support, so we append a major version to the name. - soname_spec='${libname}${release}${shared_ext}$major' - ;; - -aix[[4-9]]*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - hardcode_into_libs=yes - if test "$host_cpu" = ia64; then - # AIX 5 supports IA64 - library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - else - # With GCC up to 2.95.x, collect2 would create an import file - # for dependence libraries. The import file would start with - # the line `#! .'. This would cause the generated library to - # depend on `.', always an invalid library. This was fixed in - # development snapshots of GCC prior to 3.0. - case $host_os in - aix4 | aix4.[[01]] | aix4.[[01]].*) - if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' - echo ' yes ' - echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then - : - else - can_build_shared=no - fi - ;; - esac - # AIX (on Power*) has no versioning support, so currently we can not hardcode correct - # soname into executable. Probably we can add versioning support to - # collect2, so additional links can be useful in future. - if test "$aix_use_runtimelinking" = yes; then - # If using run time linking (on AIX 4.2 or later) use lib.so - # instead of lib.a to let people know that these are not - # typical AIX shared libraries. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - else - # We preserve .a as extension for shared libraries through AIX4.2 - # and later when we are not doing run time linking. - library_names_spec='${libname}${release}.a $libname.a' - soname_spec='${libname}${release}${shared_ext}$major' - fi - shlibpath_var=LIBPATH - fi - ;; - -amigaos*) - case $host_cpu in - powerpc) - # Since July 2007 AmigaOS4 officially supports .so libraries. - # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - ;; - m68k) - library_names_spec='$libname.ixlibrary $libname.a' - # Create ${libname}_ixlibrary.a entries in /sys/libs. - finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' - ;; - esac - ;; - -beos*) - library_names_spec='${libname}${shared_ext}' - dynamic_linker="$host_os ld.so" - shlibpath_var=LIBRARY_PATH - ;; - -bsdi[[45]]*) - version_type=linux # correct to gnu/linux during the next big refactor - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" - sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" - # the default ld.so.conf also contains /usr/contrib/lib and - # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow - # libtool to hard-code these into programs - ;; - -cygwin* | mingw* | pw32* | cegcc*) - version_type=windows - shrext_cmds=".dll" - need_version=no - need_lib_prefix=no - - case $GCC,$cc_basename in - yes,*) - # gcc - library_names_spec='$libname.dll.a' - # DLL is installed to $(libdir)/../bin by postinstall_cmds - postinstall_cmds='base_file=`basename \${file}`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~ - dldir=$destdir/`dirname \$dlpath`~ - test -d \$dldir || mkdir -p \$dldir~ - $install_prog $dir/$dlname \$dldir/$dlname~ - chmod a+x \$dldir/$dlname~ - if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then - eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; - fi' - postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ - dlpath=$dir/\$dldll~ - $RM \$dlpath' - shlibpath_overrides_runpath=yes - - case $host_os in - cygwin*) - # Cygwin DLLs use 'cyg' prefix rather than 'lib' - soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' -m4_if([$1], [],[ - sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"]) - ;; - mingw* | cegcc*) - # MinGW DLLs use traditional 'lib' prefix - soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' - ;; - pw32*) - # pw32 DLLs use 'pw' prefix rather than 'lib' - library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' - ;; - esac - dynamic_linker='Win32 ld.exe' - ;; - - *,cl*) - # Native MSVC - libname_spec='$name' - soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' - library_names_spec='${libname}.dll.lib' - - case $build_os in - mingw*) - sys_lib_search_path_spec= - lt_save_ifs=$IFS - IFS=';' - for lt_path in $LIB - do - IFS=$lt_save_ifs - # Let DOS variable expansion print the short 8.3 style file name. - lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"` - sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path" - done - IFS=$lt_save_ifs - # Convert to MSYS style. - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([[a-zA-Z]]\\):| /\\1|g' -e 's|^ ||'` - ;; - cygwin*) - # Convert to unix form, then to dos form, then back to unix form - # but this time dos style (no spaces!) so that the unix form looks - # like /cygdrive/c/PROGRA~1:/cygdr... - sys_lib_search_path_spec=`cygpath --path --unix "$LIB"` - sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null` - sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - ;; - *) - sys_lib_search_path_spec="$LIB" - if $ECHO "$sys_lib_search_path_spec" | [$GREP ';[c-zC-Z]:/' >/dev/null]; then - # It is most probably a Windows format PATH. - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` - else - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - fi - # FIXME: find the short name or the path components, as spaces are - # common. (e.g. "Program Files" -> "PROGRA~1") - ;; - esac - - # DLL is installed to $(libdir)/../bin by postinstall_cmds - postinstall_cmds='base_file=`basename \${file}`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~ - dldir=$destdir/`dirname \$dlpath`~ - test -d \$dldir || mkdir -p \$dldir~ - $install_prog $dir/$dlname \$dldir/$dlname' - postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ - dlpath=$dir/\$dldll~ - $RM \$dlpath' - shlibpath_overrides_runpath=yes - dynamic_linker='Win32 link.exe' - ;; - - *) - # Assume MSVC wrapper - library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib' - dynamic_linker='Win32 ld.exe' - ;; - esac - # FIXME: first we should search . and the directory the executable is in - shlibpath_var=PATH - ;; - -darwin* | rhapsody*) - dynamic_linker="$host_os dyld" - version_type=darwin - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext' - soname_spec='${libname}${release}${major}$shared_ext' - shlibpath_overrides_runpath=yes - shlibpath_var=DYLD_LIBRARY_PATH - shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' -m4_if([$1], [],[ - sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"]) - sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' - ;; - -dgux*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -freebsd* | dragonfly*) - # DragonFly does not have aout. When/if they implement a new - # versioning mechanism, adjust this. - if test -x /usr/bin/objformat; then - objformat=`/usr/bin/objformat` - else - case $host_os in - freebsd[[23]].*) objformat=aout ;; - *) objformat=elf ;; - esac - fi - version_type=freebsd-$objformat - case $version_type in - freebsd-elf*) - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' - need_version=no - need_lib_prefix=no - ;; - freebsd-*) - library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' - need_version=yes - ;; - esac - shlibpath_var=LD_LIBRARY_PATH - case $host_os in - freebsd2.*) - shlibpath_overrides_runpath=yes - ;; - freebsd3.[[01]]* | freebsdelf3.[[01]]*) - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \ - freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1) - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - *) # from 4.6 on, and DragonFly - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - esac - ;; - -haiku*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - dynamic_linker="$host_os runtime_loader" - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LIBRARY_PATH - shlibpath_overrides_runpath=yes - sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib' - hardcode_into_libs=yes - ;; - -hpux9* | hpux10* | hpux11*) - # Give a soname corresponding to the major version so that dld.sl refuses to - # link against other versions. - version_type=sunos - need_lib_prefix=no - need_version=no - case $host_cpu in - ia64*) - shrext_cmds='.so' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.so" - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - if test "X$HPUX_IA64_MODE" = X32; then - sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" - else - sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" - fi - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - hppa*64*) - shrext_cmds='.sl' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.sl" - shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - *) - shrext_cmds='.sl' - dynamic_linker="$host_os dld.sl" - shlibpath_var=SHLIB_PATH - shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - ;; - esac - # HP-UX runs *really* slowly unless shared libraries are mode 555, ... - postinstall_cmds='chmod 555 $lib' - # or fails outright, so override atomically: - install_override_mode=555 - ;; - -interix[[3-9]]*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - -irix5* | irix6* | nonstopux*) - case $host_os in - nonstopux*) version_type=nonstopux ;; - *) - if test "$lt_cv_prog_gnu_ld" = yes; then - version_type=linux # correct to gnu/linux during the next big refactor - else - version_type=irix - fi ;; - esac - need_lib_prefix=no - need_version=no - soname_spec='${libname}${release}${shared_ext}$major' - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' - case $host_os in - irix5* | nonstopux*) - libsuff= shlibsuff= - ;; - *) - case $LD in # libtool.m4 will add one of these switches to LD - *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") - libsuff= shlibsuff= libmagic=32-bit;; - *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") - libsuff=32 shlibsuff=N32 libmagic=N32;; - *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") - libsuff=64 shlibsuff=64 libmagic=64-bit;; - *) libsuff= shlibsuff= libmagic=never-match;; - esac - ;; - esac - shlibpath_var=LD_LIBRARY${shlibsuff}_PATH - shlibpath_overrides_runpath=no - sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" - sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" - hardcode_into_libs=yes - ;; - -# No shared lib support for Linux oldld, aout, or coff. -linux*oldld* | linux*aout* | linux*coff*) - dynamic_linker=no - ;; - -# This must be glibc/ELF. -linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - - # Some binutils ld are patched to set DT_RUNPATH - AC_CACHE_VAL([lt_cv_shlibpath_overrides_runpath], - [lt_cv_shlibpath_overrides_runpath=no - save_LDFLAGS=$LDFLAGS - save_libdir=$libdir - eval "libdir=/foo; wl=\"$_LT_TAGVAR(lt_prog_compiler_wl, $1)\"; \ - LDFLAGS=\"\$LDFLAGS $_LT_TAGVAR(hardcode_libdir_flag_spec, $1)\"" - AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])], - [AS_IF([ ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null], - [lt_cv_shlibpath_overrides_runpath=yes])]) - LDFLAGS=$save_LDFLAGS - libdir=$save_libdir - ]) - shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath - - # This implies no fast_install, which is unacceptable. - # Some rework will be needed to allow for fast_install - # before this can be enabled. - hardcode_into_libs=yes - - # Append ld.so.conf contents to the search path - if test -f /etc/ld.so.conf; then - lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '` - sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" - fi - - # We used to test for /lib/ld.so.1 and disable shared libraries on - # powerpc, because MkLinux only supported shared libraries with the - # GNU dynamic linker. Since this was broken with cross compilers, - # most powerpc-linux boxes support dynamic linking these days and - # people can always --disable-shared, the test was removed, and we - # assume the GNU/Linux dynamic linker is in use. - dynamic_linker='GNU/Linux ld.so' - ;; - -netbsdelf*-gnu) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - dynamic_linker='NetBSD ld.elf_so' - ;; - -netbsd*) - version_type=sunos - need_lib_prefix=no - need_version=no - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - dynamic_linker='NetBSD (a.out) ld.so' - else - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - dynamic_linker='NetBSD ld.elf_so' - fi - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - -newsos6) - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - ;; - -*nto* | *qnx*) - version_type=qnx - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - dynamic_linker='ldqnx.so' - ;; - -openbsd*) - version_type=sunos - sys_lib_dlsearch_path_spec="/usr/lib" - need_lib_prefix=no - # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. - case $host_os in - openbsd3.3 | openbsd3.3.*) need_version=yes ;; - *) need_version=no ;; - esac - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - shlibpath_var=LD_LIBRARY_PATH - if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - case $host_os in - openbsd2.[[89]] | openbsd2.[[89]].*) - shlibpath_overrides_runpath=no - ;; - *) - shlibpath_overrides_runpath=yes - ;; - esac - else - shlibpath_overrides_runpath=yes - fi - ;; - -os2*) - libname_spec='$name' - shrext_cmds=".dll" - need_lib_prefix=no - library_names_spec='$libname${shared_ext} $libname.a' - dynamic_linker='OS/2 ld.exe' - shlibpath_var=LIBPATH - ;; - -osf3* | osf4* | osf5*) - version_type=osf - need_lib_prefix=no - need_version=no - soname_spec='${libname}${release}${shared_ext}$major' - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" - sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" - ;; - -rdos*) - dynamic_linker=no - ;; - -solaris*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - # ldd complains unless libraries are executable - postinstall_cmds='chmod +x $lib' - ;; - -sunos4*) - version_type=sunos - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - if test "$with_gnu_ld" = yes; then - need_lib_prefix=no - fi - need_version=yes - ;; - -sysv4 | sysv4.3*) - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - case $host_vendor in - sni) - shlibpath_overrides_runpath=no - need_lib_prefix=no - runpath_var=LD_RUN_PATH - ;; - siemens) - need_lib_prefix=no - ;; - motorola) - need_lib_prefix=no - need_version=no - shlibpath_overrides_runpath=no - sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' - ;; - esac - ;; - -sysv4*MP*) - if test -d /usr/nec ;then - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' - soname_spec='$libname${shared_ext}.$major' - shlibpath_var=LD_LIBRARY_PATH - fi - ;; - -sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) - version_type=freebsd-elf - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - if test "$with_gnu_ld" = yes; then - sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' - else - sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' - case $host_os in - sco3.2v5*) - sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" - ;; - esac - fi - sys_lib_dlsearch_path_spec='/usr/lib' - ;; - -tpf*) - # TPF is a cross-target only. Preferred cross-host = GNU/Linux. - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - -uts4*) - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -*) - dynamic_linker=no - ;; -esac -AC_MSG_RESULT([$dynamic_linker]) -test "$dynamic_linker" = no && can_build_shared=no - -variables_saved_for_relink="PATH $shlibpath_var $runpath_var" -if test "$GCC" = yes; then - variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" -fi - -if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then - sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec" -fi -if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then - sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec" -fi - -_LT_DECL([], [variables_saved_for_relink], [1], - [Variables whose values should be saved in libtool wrapper scripts and - restored at link time]) -_LT_DECL([], [need_lib_prefix], [0], - [Do we need the "lib" prefix for modules?]) -_LT_DECL([], [need_version], [0], [Do we need a version for libraries?]) -_LT_DECL([], [version_type], [0], [Library versioning type]) -_LT_DECL([], [runpath_var], [0], [Shared library runtime path variable]) -_LT_DECL([], [shlibpath_var], [0],[Shared library path variable]) -_LT_DECL([], [shlibpath_overrides_runpath], [0], - [Is shlibpath searched before the hard-coded library search path?]) -_LT_DECL([], [libname_spec], [1], [Format of library name prefix]) -_LT_DECL([], [library_names_spec], [1], - [[List of archive names. First name is the real one, the rest are links. - The last name is the one that the linker finds with -lNAME]]) -_LT_DECL([], [soname_spec], [1], - [[The coded name of the library, if different from the real name]]) -_LT_DECL([], [install_override_mode], [1], - [Permission mode override for installation of shared libraries]) -_LT_DECL([], [postinstall_cmds], [2], - [Command to use after installation of a shared archive]) -_LT_DECL([], [postuninstall_cmds], [2], - [Command to use after uninstallation of a shared archive]) -_LT_DECL([], [finish_cmds], [2], - [Commands used to finish a libtool library installation in a directory]) -_LT_DECL([], [finish_eval], [1], - [[As "finish_cmds", except a single script fragment to be evaled but - not shown]]) -_LT_DECL([], [hardcode_into_libs], [0], - [Whether we should hardcode library paths into libraries]) -_LT_DECL([], [sys_lib_search_path_spec], [2], - [Compile-time system search path for libraries]) -_LT_DECL([], [sys_lib_dlsearch_path_spec], [2], - [Run-time system search path for libraries]) -])# _LT_SYS_DYNAMIC_LINKER - - -# _LT_PATH_TOOL_PREFIX(TOOL) -# -------------------------- -# find a file program which can recognize shared library -AC_DEFUN([_LT_PATH_TOOL_PREFIX], -[m4_require([_LT_DECL_EGREP])dnl -AC_MSG_CHECKING([for $1]) -AC_CACHE_VAL(lt_cv_path_MAGIC_CMD, -[case $MAGIC_CMD in -[[\\/*] | ?:[\\/]*]) - lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. - ;; -*) - lt_save_MAGIC_CMD="$MAGIC_CMD" - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR -dnl $ac_dummy forces splitting on constant user-supplied paths. -dnl POSIX.2 word splitting is done only on the output of word expansions, -dnl not every word. This closes a longstanding sh security hole. - ac_dummy="m4_if([$2], , $PATH, [$2])" - for ac_dir in $ac_dummy; do - IFS="$lt_save_ifs" - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/$1; then - lt_cv_path_MAGIC_CMD="$ac_dir/$1" - if test -n "$file_magic_test_file"; then - case $deplibs_check_method in - "file_magic "*) - file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` - MAGIC_CMD="$lt_cv_path_MAGIC_CMD" - if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | - $EGREP "$file_magic_regex" > /dev/null; then - : - else - cat <<_LT_EOF 1>&2 - -*** Warning: the command libtool uses to detect shared libraries, -*** $file_magic_cmd, produces output that libtool cannot recognize. -*** The result is that libtool may fail to recognize shared libraries -*** as such. This will affect the creation of libtool libraries that -*** depend on shared libraries, but programs linked with such libtool -*** libraries will work regardless of this problem. Nevertheless, you -*** may want to report the problem to your system manager and/or to -*** bug-libtool@gnu.org - -_LT_EOF - fi ;; - esac - fi - break - fi - done - IFS="$lt_save_ifs" - MAGIC_CMD="$lt_save_MAGIC_CMD" - ;; -esac]) -MAGIC_CMD="$lt_cv_path_MAGIC_CMD" -if test -n "$MAGIC_CMD"; then - AC_MSG_RESULT($MAGIC_CMD) -else - AC_MSG_RESULT(no) -fi -_LT_DECL([], [MAGIC_CMD], [0], - [Used to examine libraries when file_magic_cmd begins with "file"])dnl -])# _LT_PATH_TOOL_PREFIX - -# Old name: -AU_ALIAS([AC_PATH_TOOL_PREFIX], [_LT_PATH_TOOL_PREFIX]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_PATH_TOOL_PREFIX], []) - - -# _LT_PATH_MAGIC -# -------------- -# find a file program which can recognize a shared library -m4_defun([_LT_PATH_MAGIC], -[_LT_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH) -if test -z "$lt_cv_path_MAGIC_CMD"; then - if test -n "$ac_tool_prefix"; then - _LT_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH) - else - MAGIC_CMD=: - fi -fi -])# _LT_PATH_MAGIC - - -# LT_PATH_LD -# ---------- -# find the pathname to the GNU or non-GNU linker -AC_DEFUN([LT_PATH_LD], -[AC_REQUIRE([AC_PROG_CC])dnl -AC_REQUIRE([AC_CANONICAL_HOST])dnl -AC_REQUIRE([AC_CANONICAL_BUILD])dnl -m4_require([_LT_DECL_SED])dnl -m4_require([_LT_DECL_EGREP])dnl -m4_require([_LT_PROG_ECHO_BACKSLASH])dnl - -AC_ARG_WITH([gnu-ld], - [AS_HELP_STRING([--with-gnu-ld], - [assume the C compiler uses GNU ld @<:@default=no@:>@])], - [test "$withval" = no || with_gnu_ld=yes], - [with_gnu_ld=no])dnl - -ac_prog=ld -if test "$GCC" = yes; then - # Check if gcc -print-prog-name=ld gives a path. - AC_MSG_CHECKING([for ld used by $CC]) - case $host in - *-*-mingw*) - # gcc leaves a trailing carriage return which upsets mingw - ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; - *) - ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; - esac - case $ac_prog in - # Accept absolute paths. - [[\\/]]* | ?:[[\\/]]*) - re_direlt='/[[^/]][[^/]]*/\.\./' - # Canonicalize the pathname of ld - ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` - while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do - ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` - done - test -z "$LD" && LD="$ac_prog" - ;; - "") - # If it fails, then pretend we aren't using GCC. - ac_prog=ld - ;; - *) - # If it is relative, then search for the first ld in PATH. - with_gnu_ld=unknown - ;; - esac -elif test "$with_gnu_ld" = yes; then - AC_MSG_CHECKING([for GNU ld]) -else - AC_MSG_CHECKING([for non-GNU ld]) -fi -AC_CACHE_VAL(lt_cv_path_LD, -[if test -z "$LD"; then - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - for ac_dir in $PATH; do - IFS="$lt_save_ifs" - test -z "$ac_dir" && ac_dir=. - if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then - lt_cv_path_LD="$ac_dir/$ac_prog" - # Check to see if the program is GNU ld. I'd rather use --version, - # but apparently some variants of GNU ld only accept -v. - # Break only if it was the GNU/non-GNU ld that we prefer. - case `"$lt_cv_path_LD" -v 2>&1 &1 /dev/null 2>&1; then - lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' - lt_cv_file_magic_cmd='func_win32_libid' - else - # Keep this pattern in sync with the one in func_win32_libid. - lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' - lt_cv_file_magic_cmd='$OBJDUMP -f' - fi - ;; - -cegcc*) - # use the weaker test based on 'objdump'. See mingw*. - lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?' - lt_cv_file_magic_cmd='$OBJDUMP -f' - ;; - -darwin* | rhapsody*) - lt_cv_deplibs_check_method=pass_all - ;; - -freebsd* | dragonfly*) - if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then - case $host_cpu in - i*86 ) - # Not sure whether the presence of OpenBSD here was a mistake. - # Let's accept both of them until this is cleared up. - lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library' - lt_cv_file_magic_cmd=/usr/bin/file - lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` - ;; - esac - else - lt_cv_deplibs_check_method=pass_all - fi - ;; - -haiku*) - lt_cv_deplibs_check_method=pass_all - ;; - -hpux10.20* | hpux11*) - lt_cv_file_magic_cmd=/usr/bin/file - case $host_cpu in - ia64*) - lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64' - lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so - ;; - hppa*64*) - [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]'] - lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl - ;; - *) - lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]]\.[[0-9]]) shared library' - lt_cv_file_magic_test_file=/usr/lib/libc.sl - ;; - esac - ;; - -interix[[3-9]]*) - # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here - lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$' - ;; - -irix5* | irix6* | nonstopux*) - case $LD in - *-32|*"-32 ") libmagic=32-bit;; - *-n32|*"-n32 ") libmagic=N32;; - *-64|*"-64 ") libmagic=64-bit;; - *) libmagic=never-match;; - esac - lt_cv_deplibs_check_method=pass_all - ;; - -# This must be glibc/ELF. -linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) - lt_cv_deplibs_check_method=pass_all - ;; - -netbsd* | netbsdelf*-gnu) - if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then - lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' - else - lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$' - fi - ;; - -newos6*) - lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)' - lt_cv_file_magic_cmd=/usr/bin/file - lt_cv_file_magic_test_file=/usr/lib/libnls.so - ;; - -*nto* | *qnx*) - lt_cv_deplibs_check_method=pass_all - ;; - -openbsd*) - if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$' - else - lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' - fi - ;; - -osf3* | osf4* | osf5*) - lt_cv_deplibs_check_method=pass_all - ;; - -rdos*) - lt_cv_deplibs_check_method=pass_all - ;; - -solaris*) - lt_cv_deplibs_check_method=pass_all - ;; - -sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) - lt_cv_deplibs_check_method=pass_all - ;; - -sysv4 | sysv4.3*) - case $host_vendor in - motorola) - lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]' - lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` - ;; - ncr) - lt_cv_deplibs_check_method=pass_all - ;; - sequent) - lt_cv_file_magic_cmd='/bin/file' - lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )' - ;; - sni) - lt_cv_file_magic_cmd='/bin/file' - lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib" - lt_cv_file_magic_test_file=/lib/libc.so - ;; - siemens) - lt_cv_deplibs_check_method=pass_all - ;; - pc) - lt_cv_deplibs_check_method=pass_all - ;; - esac - ;; - -tpf*) - lt_cv_deplibs_check_method=pass_all - ;; -esac -]) - -file_magic_glob= -want_nocaseglob=no -if test "$build" = "$host"; then - case $host_os in - mingw* | pw32*) - if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then - want_nocaseglob=yes - else - file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[[\1]]\/[[\1]]\/g;/g"` - fi - ;; - esac -fi - -file_magic_cmd=$lt_cv_file_magic_cmd -deplibs_check_method=$lt_cv_deplibs_check_method -test -z "$deplibs_check_method" && deplibs_check_method=unknown - -_LT_DECL([], [deplibs_check_method], [1], - [Method to check whether dependent libraries are shared objects]) -_LT_DECL([], [file_magic_cmd], [1], - [Command to use when deplibs_check_method = "file_magic"]) -_LT_DECL([], [file_magic_glob], [1], - [How to find potential files when deplibs_check_method = "file_magic"]) -_LT_DECL([], [want_nocaseglob], [1], - [Find potential files using nocaseglob when deplibs_check_method = "file_magic"]) -])# _LT_CHECK_MAGIC_METHOD - - -# LT_PATH_NM -# ---------- -# find the pathname to a BSD- or MS-compatible name lister -AC_DEFUN([LT_PATH_NM], -[AC_REQUIRE([AC_PROG_CC])dnl -AC_CACHE_CHECK([for BSD- or MS-compatible name lister (nm)], lt_cv_path_NM, -[if test -n "$NM"; then - # Let the user override the test. - lt_cv_path_NM="$NM" -else - lt_nm_to_check="${ac_tool_prefix}nm" - if test -n "$ac_tool_prefix" && test "$build" = "$host"; then - lt_nm_to_check="$lt_nm_to_check nm" - fi - for lt_tmp_nm in $lt_nm_to_check; do - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do - IFS="$lt_save_ifs" - test -z "$ac_dir" && ac_dir=. - tmp_nm="$ac_dir/$lt_tmp_nm" - if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then - # Check to see if the nm accepts a BSD-compat flag. - # Adding the `sed 1q' prevents false positives on HP-UX, which says: - # nm: unknown option "B" ignored - # Tru64's nm complains that /dev/null is an invalid object file - case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in - */dev/null* | *'Invalid file or object type'*) - lt_cv_path_NM="$tmp_nm -B" - break - ;; - *) - case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in - */dev/null*) - lt_cv_path_NM="$tmp_nm -p" - break - ;; - *) - lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but - continue # so that we can try to find one that supports BSD flags - ;; - esac - ;; - esac - fi - done - IFS="$lt_save_ifs" - done - : ${lt_cv_path_NM=no} -fi]) -if test "$lt_cv_path_NM" != "no"; then - NM="$lt_cv_path_NM" -else - # Didn't find any BSD compatible name lister, look for dumpbin. - if test -n "$DUMPBIN"; then : - # Let the user override the test. - else - AC_CHECK_TOOLS(DUMPBIN, [dumpbin "link -dump"], :) - case `$DUMPBIN -symbols /dev/null 2>&1 | sed '1q'` in - *COFF*) - DUMPBIN="$DUMPBIN -symbols" - ;; - *) - DUMPBIN=: - ;; - esac - fi - AC_SUBST([DUMPBIN]) - if test "$DUMPBIN" != ":"; then - NM="$DUMPBIN" - fi -fi -test -z "$NM" && NM=nm -AC_SUBST([NM]) -_LT_DECL([], [NM], [1], [A BSD- or MS-compatible name lister])dnl - -AC_CACHE_CHECK([the name lister ($NM) interface], [lt_cv_nm_interface], - [lt_cv_nm_interface="BSD nm" - echo "int some_variable = 0;" > conftest.$ac_ext - (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&AS_MESSAGE_LOG_FD) - (eval "$ac_compile" 2>conftest.err) - cat conftest.err >&AS_MESSAGE_LOG_FD - (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&AS_MESSAGE_LOG_FD) - (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) - cat conftest.err >&AS_MESSAGE_LOG_FD - (eval echo "\"\$as_me:$LINENO: output\"" >&AS_MESSAGE_LOG_FD) - cat conftest.out >&AS_MESSAGE_LOG_FD - if $GREP 'External.*some_variable' conftest.out > /dev/null; then - lt_cv_nm_interface="MS dumpbin" - fi - rm -f conftest*]) -])# LT_PATH_NM - -# Old names: -AU_ALIAS([AM_PROG_NM], [LT_PATH_NM]) -AU_ALIAS([AC_PROG_NM], [LT_PATH_NM]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AM_PROG_NM], []) -dnl AC_DEFUN([AC_PROG_NM], []) - -# _LT_CHECK_SHAREDLIB_FROM_LINKLIB -# -------------------------------- -# how to determine the name of the shared library -# associated with a specific link library. -# -- PORTME fill in with the dynamic library characteristics -m4_defun([_LT_CHECK_SHAREDLIB_FROM_LINKLIB], -[m4_require([_LT_DECL_EGREP]) -m4_require([_LT_DECL_OBJDUMP]) -m4_require([_LT_DECL_DLLTOOL]) -AC_CACHE_CHECK([how to associate runtime and link libraries], -lt_cv_sharedlib_from_linklib_cmd, -[lt_cv_sharedlib_from_linklib_cmd='unknown' - -case $host_os in -cygwin* | mingw* | pw32* | cegcc*) - # two different shell functions defined in ltmain.sh - # decide which to use based on capabilities of $DLLTOOL - case `$DLLTOOL --help 2>&1` in - *--identify-strict*) - lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib - ;; - *) - lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback - ;; - esac - ;; -*) - # fallback: assume linklib IS sharedlib - lt_cv_sharedlib_from_linklib_cmd="$ECHO" - ;; -esac -]) -sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd -test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO - -_LT_DECL([], [sharedlib_from_linklib_cmd], [1], - [Command to associate shared and link libraries]) -])# _LT_CHECK_SHAREDLIB_FROM_LINKLIB - - -# _LT_PATH_MANIFEST_TOOL -# ---------------------- -# locate the manifest tool -m4_defun([_LT_PATH_MANIFEST_TOOL], -[AC_CHECK_TOOL(MANIFEST_TOOL, mt, :) -test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt -AC_CACHE_CHECK([if $MANIFEST_TOOL is a manifest tool], [lt_cv_path_mainfest_tool], - [lt_cv_path_mainfest_tool=no - echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&AS_MESSAGE_LOG_FD - $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out - cat conftest.err >&AS_MESSAGE_LOG_FD - if $GREP 'Manifest Tool' conftest.out > /dev/null; then - lt_cv_path_mainfest_tool=yes - fi - rm -f conftest*]) -if test "x$lt_cv_path_mainfest_tool" != xyes; then - MANIFEST_TOOL=: -fi -_LT_DECL([], [MANIFEST_TOOL], [1], [Manifest tool])dnl -])# _LT_PATH_MANIFEST_TOOL - - -# LT_LIB_M -# -------- -# check for math library -AC_DEFUN([LT_LIB_M], -[AC_REQUIRE([AC_CANONICAL_HOST])dnl -LIBM= -case $host in -*-*-beos* | *-*-cegcc* | *-*-cygwin* | *-*-haiku* | *-*-pw32* | *-*-darwin*) - # These system don't have libm, or don't need it - ;; -*-ncr-sysv4.3*) - AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw") - AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm") - ;; -*) - AC_CHECK_LIB(m, cos, LIBM="-lm") - ;; -esac -AC_SUBST([LIBM]) -])# LT_LIB_M - -# Old name: -AU_ALIAS([AC_CHECK_LIBM], [LT_LIB_M]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_CHECK_LIBM], []) - - -# _LT_COMPILER_NO_RTTI([TAGNAME]) -# ------------------------------- -m4_defun([_LT_COMPILER_NO_RTTI], -[m4_require([_LT_TAG_COMPILER])dnl - -_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= - -if test "$GCC" = yes; then - case $cc_basename in - nvcc*) - _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -Xcompiler -fno-builtin' ;; - *) - _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' ;; - esac - - _LT_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions], - lt_cv_prog_compiler_rtti_exceptions, - [-fno-rtti -fno-exceptions], [], - [_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"]) -fi -_LT_TAGDECL([no_builtin_flag], [lt_prog_compiler_no_builtin_flag], [1], - [Compiler flag to turn off builtin functions]) -])# _LT_COMPILER_NO_RTTI - - -# _LT_CMD_GLOBAL_SYMBOLS -# ---------------------- -m4_defun([_LT_CMD_GLOBAL_SYMBOLS], -[AC_REQUIRE([AC_CANONICAL_HOST])dnl -AC_REQUIRE([AC_PROG_CC])dnl -AC_REQUIRE([AC_PROG_AWK])dnl -AC_REQUIRE([LT_PATH_NM])dnl -AC_REQUIRE([LT_PATH_LD])dnl -m4_require([_LT_DECL_SED])dnl -m4_require([_LT_DECL_EGREP])dnl -m4_require([_LT_TAG_COMPILER])dnl - -# Check for command to grab the raw symbol name followed by C symbol from nm. -AC_MSG_CHECKING([command to parse $NM output from $compiler object]) -AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe], -[ -# These are sane defaults that work on at least a few old systems. -# [They come from Ultrix. What could be older than Ultrix?!! ;)] - -# Character class describing NM global symbol codes. -symcode='[[BCDEGRST]]' - -# Regexp to match symbols that can be accessed directly from C. -sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)' - -# Define system-specific variables. -case $host_os in -aix*) - symcode='[[BCDT]]' - ;; -cygwin* | mingw* | pw32* | cegcc*) - symcode='[[ABCDGISTW]]' - ;; -hpux*) - if test "$host_cpu" = ia64; then - symcode='[[ABCDEGRST]]' - fi - ;; -irix* | nonstopux*) - symcode='[[BCDEGRST]]' - ;; -osf*) - symcode='[[BCDEGQRST]]' - ;; -solaris*) - symcode='[[BDRT]]' - ;; -sco3.2v5*) - symcode='[[DT]]' - ;; -sysv4.2uw2*) - symcode='[[DT]]' - ;; -sysv5* | sco5v6* | unixware* | OpenUNIX*) - symcode='[[ABDT]]' - ;; -sysv4) - symcode='[[DFNSTU]]' - ;; -esac - -# If we're using GNU nm, then use its standard symbol codes. -case `$NM -V 2>&1` in -*GNU* | *'with BFD'*) - symcode='[[ABCDGIRSTW]]' ;; -esac - -# Transform an extracted symbol line into a proper C declaration. -# Some systems (esp. on ia64) link data and code symbols differently, -# so use this general approach. -lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" - -# Transform an extracted symbol line into symbol name and symbol address -lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\)[[ ]]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p'" -lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([[^ ]]*\)[[ ]]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \(lib[[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"lib\2\", (void *) \&\2},/p'" - -# Handle CRLF in mingw tool chain -opt_cr= -case $build_os in -mingw*) - opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp - ;; -esac - -# Try without a prefix underscore, then with it. -for ac_symprfx in "" "_"; do - - # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. - symxfrm="\\1 $ac_symprfx\\2 \\2" - - # Write the raw and C identifiers. - if test "$lt_cv_nm_interface" = "MS dumpbin"; then - # Fake it for dumpbin and say T for any non-static function - # and D for any global variable. - # Also find C++ and __fastcall symbols from MSVC++, - # which start with @ or ?. - lt_cv_sys_global_symbol_pipe="$AWK ['"\ -" {last_section=section; section=\$ 3};"\ -" /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\ -" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\ -" \$ 0!~/External *\|/{next};"\ -" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\ -" {if(hide[section]) next};"\ -" {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\ -" {split(\$ 0, a, /\||\r/); split(a[2], s)};"\ -" s[1]~/^[@?]/{print s[1], s[1]; next};"\ -" s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\ -" ' prfx=^$ac_symprfx]" - else - lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" - fi - lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'" - - # Check to see that the pipe works correctly. - pipe_works=no - - rm -f conftest* - cat > conftest.$ac_ext <<_LT_EOF -#ifdef __cplusplus -extern "C" { -#endif -char nm_test_var; -void nm_test_func(void); -void nm_test_func(void){} -#ifdef __cplusplus -} -#endif -int main(){nm_test_var='a';nm_test_func();return(0);} -_LT_EOF - - if AC_TRY_EVAL(ac_compile); then - # Now try to grab the symbols. - nlist=conftest.nm - if AC_TRY_EVAL(NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) && test -s "$nlist"; then - # Try sorting and uniquifying the output. - if sort "$nlist" | uniq > "$nlist"T; then - mv -f "$nlist"T "$nlist" - else - rm -f "$nlist"T - fi - - # Make sure that we snagged all the symbols we need. - if $GREP ' nm_test_var$' "$nlist" >/dev/null; then - if $GREP ' nm_test_func$' "$nlist" >/dev/null; then - cat <<_LT_EOF > conftest.$ac_ext -/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ -#if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE) -/* DATA imports from DLLs on WIN32 con't be const, because runtime - relocations are performed -- see ld's documentation on pseudo-relocs. */ -# define LT@&t@_DLSYM_CONST -#elif defined(__osf__) -/* This system does not cope well with relocations in const data. */ -# define LT@&t@_DLSYM_CONST -#else -# define LT@&t@_DLSYM_CONST const -#endif - -#ifdef __cplusplus -extern "C" { -#endif - -_LT_EOF - # Now generate the symbol file. - eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext' - - cat <<_LT_EOF >> conftest.$ac_ext - -/* The mapping between symbol names and symbols. */ -LT@&t@_DLSYM_CONST struct { - const char *name; - void *address; -} -lt__PROGRAM__LTX_preloaded_symbols[[]] = -{ - { "@PROGRAM@", (void *) 0 }, -_LT_EOF - $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext - cat <<\_LT_EOF >> conftest.$ac_ext - {0, (void *) 0} -}; - -/* This works around a problem in FreeBSD linker */ -#ifdef FREEBSD_WORKAROUND -static const void *lt_preloaded_setup() { - return lt__PROGRAM__LTX_preloaded_symbols; -} -#endif - -#ifdef __cplusplus -} -#endif -_LT_EOF - # Now try linking the two files. - mv conftest.$ac_objext conftstm.$ac_objext - lt_globsym_save_LIBS=$LIBS - lt_globsym_save_CFLAGS=$CFLAGS - LIBS="conftstm.$ac_objext" - CFLAGS="$CFLAGS$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)" - if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then - pipe_works=yes - fi - LIBS=$lt_globsym_save_LIBS - CFLAGS=$lt_globsym_save_CFLAGS - else - echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD - fi - else - echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD - fi - else - echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD - fi - else - echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD - cat conftest.$ac_ext >&5 - fi - rm -rf conftest* conftst* - - # Do not use the global_symbol_pipe unless it works. - if test "$pipe_works" = yes; then - break - else - lt_cv_sys_global_symbol_pipe= - fi -done -]) -if test -z "$lt_cv_sys_global_symbol_pipe"; then - lt_cv_sys_global_symbol_to_cdecl= -fi -if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then - AC_MSG_RESULT(failed) -else - AC_MSG_RESULT(ok) -fi - -# Response file support. -if test "$lt_cv_nm_interface" = "MS dumpbin"; then - nm_file_list_spec='@' -elif $NM --help 2>/dev/null | grep '[[@]]FILE' >/dev/null; then - nm_file_list_spec='@' -fi - -_LT_DECL([global_symbol_pipe], [lt_cv_sys_global_symbol_pipe], [1], - [Take the output of nm and produce a listing of raw symbols and C names]) -_LT_DECL([global_symbol_to_cdecl], [lt_cv_sys_global_symbol_to_cdecl], [1], - [Transform the output of nm in a proper C declaration]) -_LT_DECL([global_symbol_to_c_name_address], - [lt_cv_sys_global_symbol_to_c_name_address], [1], - [Transform the output of nm in a C name address pair]) -_LT_DECL([global_symbol_to_c_name_address_lib_prefix], - [lt_cv_sys_global_symbol_to_c_name_address_lib_prefix], [1], - [Transform the output of nm in a C name address pair when lib prefix is needed]) -_LT_DECL([], [nm_file_list_spec], [1], - [Specify filename containing input files for $NM]) -]) # _LT_CMD_GLOBAL_SYMBOLS - - -# _LT_COMPILER_PIC([TAGNAME]) -# --------------------------- -m4_defun([_LT_COMPILER_PIC], -[m4_require([_LT_TAG_COMPILER])dnl -_LT_TAGVAR(lt_prog_compiler_wl, $1)= -_LT_TAGVAR(lt_prog_compiler_pic, $1)= -_LT_TAGVAR(lt_prog_compiler_static, $1)= - -m4_if([$1], [CXX], [ - # C++ specific cases for pic, static, wl, etc. - if test "$GXX" = yes; then - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' - - case $host_os in - aix*) - # All AIX code is PIC. - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - fi - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - m68k) - # FIXME: we need at least 68020 code to build shared libraries, but - # adding the `-m68020' flag to GCC prevents building anything better, - # like `-m68040'. - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' - ;; - esac - ;; - - beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) - # PIC is the default for these OSes. - ;; - mingw* | cygwin* | os2* | pw32* | cegcc*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - # Although the cygwin gcc ignores -fPIC, still need this for old-style - # (--disable-auto-import) libraries - m4_if([$1], [GCJ], [], - [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) - ;; - darwin* | rhapsody*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' - ;; - *djgpp*) - # DJGPP does not support shared libraries at all - _LT_TAGVAR(lt_prog_compiler_pic, $1)= - ;; - haiku*) - # PIC is the default for Haiku. - # The "-static" flag exists, but is broken. - _LT_TAGVAR(lt_prog_compiler_static, $1)= - ;; - interix[[3-9]]*) - # Interix 3.x gcc -fpic/-fPIC options generate broken code. - # Instead, we relocate shared libraries at runtime. - ;; - sysv4*MP*) - if test -d /usr/nec; then - _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic - fi - ;; - hpux*) - # PIC is the default for 64-bit PA HP-UX, but not for 32-bit - # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag - # sets the default TLS model and affects inlining. - case $host_cpu in - hppa*64*) - ;; - *) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - esac - ;; - *qnx* | *nto*) - # QNX uses GNU C++, but need to define -shared option too, otherwise - # it will coredump. - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' - ;; - *) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - esac - else - case $host_os in - aix[[4-9]]*) - # All AIX code is PIC. - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - else - _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' - fi - ;; - chorus*) - case $cc_basename in - cxch68*) - # Green Hills C++ Compiler - # _LT_TAGVAR(lt_prog_compiler_static, $1)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a" - ;; - esac - ;; - mingw* | cygwin* | os2* | pw32* | cegcc*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - m4_if([$1], [GCJ], [], - [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) - ;; - dgux*) - case $cc_basename in - ec++*) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - ;; - ghcx*) - # Green Hills C++ Compiler - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' - ;; - *) - ;; - esac - ;; - freebsd* | dragonfly*) - # FreeBSD uses GNU C++ - ;; - hpux9* | hpux10* | hpux11*) - case $cc_basename in - CC*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' - if test "$host_cpu" != ia64; then - _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' - fi - ;; - aCC*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' - case $host_cpu in - hppa*64*|ia64*) - # +Z the default - ;; - *) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' - ;; - esac - ;; - *) - ;; - esac - ;; - interix*) - # This is c89, which is MS Visual C++ (no shared libs) - # Anyone wants to do a port? - ;; - irix5* | irix6* | nonstopux*) - case $cc_basename in - CC*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - # CC pic flag -KPIC is the default. - ;; - *) - ;; - esac - ;; - linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) - case $cc_basename in - KCC*) - # KAI C++ Compiler - _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - ecpc* ) - # old Intel C++ for x86_64 which still supported -KPIC. - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' - ;; - icpc* ) - # Intel C++, used to be incompatible with GCC. - # ICC 10 doesn't accept -KPIC any more. - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' - ;; - pgCC* | pgcpp*) - # Portland Group C++ compiler - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - cxx*) - # Compaq C++ - # Make sure the PIC flag is empty. It appears that all Alpha - # Linux and Compaq Tru64 Unix objects are PIC. - _LT_TAGVAR(lt_prog_compiler_pic, $1)= - _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - ;; - xlc* | xlC* | bgxl[[cC]]* | mpixl[[cC]]*) - # IBM XL 8.0, 9.0 on PPC and BlueGene - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink' - ;; - *) - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) - # Sun C++ 5.9 - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' - ;; - esac - ;; - esac - ;; - lynxos*) - ;; - m88k*) - ;; - mvs*) - case $cc_basename in - cxx*) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall' - ;; - *) - ;; - esac - ;; - netbsd* | netbsdelf*-gnu) - ;; - *qnx* | *nto*) - # QNX uses GNU C++, but need to define -shared option too, otherwise - # it will coredump. - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' - ;; - osf3* | osf4* | osf5*) - case $cc_basename in - KCC*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' - ;; - RCC*) - # Rational C++ 2.4.1 - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' - ;; - cxx*) - # Digital/Compaq C++ - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - # Make sure the PIC flag is empty. It appears that all Alpha - # Linux and Compaq Tru64 Unix objects are PIC. - _LT_TAGVAR(lt_prog_compiler_pic, $1)= - _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - ;; - *) - ;; - esac - ;; - psos*) - ;; - solaris*) - case $cc_basename in - CC* | sunCC*) - # Sun C++ 4.2, 5.x and Centerline C++ - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' - ;; - gcx*) - # Green Hills C++ Compiler - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' - ;; - *) - ;; - esac - ;; - sunos4*) - case $cc_basename in - CC*) - # Sun C++ 4.x - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - lcc*) - # Lucid - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' - ;; - *) - ;; - esac - ;; - sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) - case $cc_basename in - CC*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - esac - ;; - tandem*) - case $cc_basename in - NCC*) - # NonStop-UX NCC 3.20 - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - ;; - *) - ;; - esac - ;; - vxworks*) - ;; - *) - _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no - ;; - esac - fi -], -[ - if test "$GCC" = yes; then - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' - - case $host_os in - aix*) - # All AIX code is PIC. - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - fi - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - m68k) - # FIXME: we need at least 68020 code to build shared libraries, but - # adding the `-m68020' flag to GCC prevents building anything better, - # like `-m68040'. - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' - ;; - esac - ;; - - beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) - # PIC is the default for these OSes. - ;; - - mingw* | cygwin* | pw32* | os2* | cegcc*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - # Although the cygwin gcc ignores -fPIC, still need this for old-style - # (--disable-auto-import) libraries - m4_if([$1], [GCJ], [], - [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) - ;; - - darwin* | rhapsody*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' - ;; - - haiku*) - # PIC is the default for Haiku. - # The "-static" flag exists, but is broken. - _LT_TAGVAR(lt_prog_compiler_static, $1)= - ;; - - hpux*) - # PIC is the default for 64-bit PA HP-UX, but not for 32-bit - # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag - # sets the default TLS model and affects inlining. - case $host_cpu in - hppa*64*) - # +Z the default - ;; - *) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - esac - ;; - - interix[[3-9]]*) - # Interix 3.x gcc -fpic/-fPIC options generate broken code. - # Instead, we relocate shared libraries at runtime. - ;; - - msdosdjgpp*) - # Just because we use GCC doesn't mean we suddenly get shared libraries - # on systems that don't support them. - _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no - enable_shared=no - ;; - - *nto* | *qnx*) - # QNX uses GNU C++, but need to define -shared option too, otherwise - # it will coredump. - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' - ;; - - sysv4*MP*) - if test -d /usr/nec; then - _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic - fi - ;; - - *) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - esac - - case $cc_basename in - nvcc*) # Cuda Compiler Driver 2.2 - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Xlinker ' - if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then - _LT_TAGVAR(lt_prog_compiler_pic, $1)="-Xcompiler $_LT_TAGVAR(lt_prog_compiler_pic, $1)" - fi - ;; - esac - else - # PORTME Check for flag to pass linker flags through the system compiler. - case $host_os in - aix*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - else - _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' - fi - ;; - - mingw* | cygwin* | pw32* | os2* | cegcc*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - m4_if([$1], [GCJ], [], - [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) - ;; - - hpux9* | hpux10* | hpux11*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but - # not for PA HP-UX. - case $host_cpu in - hppa*64*|ia64*) - # +Z the default - ;; - *) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' - ;; - esac - # Is there a better lt_prog_compiler_static that works with the bundled CC? - _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' - ;; - - irix5* | irix6* | nonstopux*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - # PIC (with -KPIC) is the default. - _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - ;; - - linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) - case $cc_basename in - # old Intel for x86_64 which still supported -KPIC. - ecc*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' - ;; - # icc used to be incompatible with GCC. - # ICC 10 doesn't accept -KPIC any more. - icc* | ifort*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' - ;; - # Lahey Fortran 8.1. - lf95*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='--shared' - _LT_TAGVAR(lt_prog_compiler_static, $1)='--static' - ;; - nagfor*) - # NAG Fortran compiler - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,-Wl,,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*) - # Portland Group compilers (*not* the Pentium gcc compiler, - # which looks to be a dead project) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - ccc*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - # All Alpha code is PIC. - _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - ;; - xl* | bgxl* | bgf* | mpixl*) - # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink' - ;; - *) - case `$CC -V 2>&1 | sed 5q` in - *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [[1-7]].* | *Sun*Fortran*\ 8.[[0-3]]*) - # Sun Fortran 8.3 passes all unrecognized flags to the linker - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - _LT_TAGVAR(lt_prog_compiler_wl, $1)='' - ;; - *Sun\ F* | *Sun*Fortran*) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' - ;; - *Sun\ C*) - # Sun C 5.9 - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - ;; - *Intel*\ [[CF]]*Compiler*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' - ;; - *Portland\ Group*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - esac - ;; - esac - ;; - - newsos6) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - - *nto* | *qnx*) - # QNX uses GNU C++, but need to define -shared option too, otherwise - # it will coredump. - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' - ;; - - osf3* | osf4* | osf5*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - # All OSF/1 code is PIC. - _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - ;; - - rdos*) - _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - ;; - - solaris*) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - case $cc_basename in - f77* | f90* | f95* | sunf77* | sunf90* | sunf95*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';; - *) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';; - esac - ;; - - sunos4*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - - sysv4 | sysv4.2uw2* | sysv4.3*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - - sysv4*MP*) - if test -d /usr/nec ;then - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - fi - ;; - - sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - - unicos*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no - ;; - - uts4*) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - - *) - _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no - ;; - esac - fi -]) -case $host_os in - # For platforms which do not support PIC, -DPIC is meaningless: - *djgpp*) - _LT_TAGVAR(lt_prog_compiler_pic, $1)= - ;; - *) - _LT_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])" - ;; -esac - -AC_CACHE_CHECK([for $compiler option to produce PIC], - [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)], - [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_prog_compiler_pic, $1)]) -_LT_TAGVAR(lt_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_cv_prog_compiler_pic, $1) - -# -# Check to make sure the PIC flag actually works. -# -if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then - _LT_COMPILER_OPTION([if $compiler PIC flag $_LT_TAGVAR(lt_prog_compiler_pic, $1) works], - [_LT_TAGVAR(lt_cv_prog_compiler_pic_works, $1)], - [$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])], [], - [case $_LT_TAGVAR(lt_prog_compiler_pic, $1) in - "" | " "*) ;; - *) _LT_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_TAGVAR(lt_prog_compiler_pic, $1)" ;; - esac], - [_LT_TAGVAR(lt_prog_compiler_pic, $1)= - _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no]) -fi -_LT_TAGDECL([pic_flag], [lt_prog_compiler_pic], [1], - [Additional compiler flags for building library objects]) - -_LT_TAGDECL([wl], [lt_prog_compiler_wl], [1], - [How to pass a linker flag through the compiler]) -# -# Check to make sure the static flag actually works. -# -wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_TAGVAR(lt_prog_compiler_static, $1)\" -_LT_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works], - _LT_TAGVAR(lt_cv_prog_compiler_static_works, $1), - $lt_tmp_static_flag, - [], - [_LT_TAGVAR(lt_prog_compiler_static, $1)=]) -_LT_TAGDECL([link_static_flag], [lt_prog_compiler_static], [1], - [Compiler flag to prevent dynamic linking]) -])# _LT_COMPILER_PIC - - -# _LT_LINKER_SHLIBS([TAGNAME]) -# ---------------------------- -# See if the linker supports building shared libraries. -m4_defun([_LT_LINKER_SHLIBS], -[AC_REQUIRE([LT_PATH_LD])dnl -AC_REQUIRE([LT_PATH_NM])dnl -m4_require([_LT_PATH_MANIFEST_TOOL])dnl -m4_require([_LT_FILEUTILS_DEFAULTS])dnl -m4_require([_LT_DECL_EGREP])dnl -m4_require([_LT_DECL_SED])dnl -m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl -m4_require([_LT_TAG_COMPILER])dnl -AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) -m4_if([$1], [CXX], [ - _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'] - case $host_os in - aix[[4-9]]*) - # If we're using GNU nm, then we don't want the "-C" option. - # -C means demangle to AIX nm, but means don't demangle with GNU nm - # Also, AIX nm treats weak defined symbols like other global defined - # symbols, whereas GNU nm marks them as "W". - if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then - _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' - else - _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' - fi - ;; - pw32*) - _LT_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds" - ;; - cygwin* | mingw* | cegcc*) - case $cc_basename in - cl*) - _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' - ;; - *) - _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols' - _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'] - ;; - esac - ;; - linux* | k*bsd*-gnu | gnu*) - _LT_TAGVAR(link_all_deplibs, $1)=no - ;; - *) - _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - ;; - esac -], [ - runpath_var= - _LT_TAGVAR(allow_undefined_flag, $1)= - _LT_TAGVAR(always_export_symbols, $1)=no - _LT_TAGVAR(archive_cmds, $1)= - _LT_TAGVAR(archive_expsym_cmds, $1)= - _LT_TAGVAR(compiler_needs_object, $1)=no - _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no - _LT_TAGVAR(export_dynamic_flag_spec, $1)= - _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - _LT_TAGVAR(hardcode_automatic, $1)=no - _LT_TAGVAR(hardcode_direct, $1)=no - _LT_TAGVAR(hardcode_direct_absolute, $1)=no - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= - _LT_TAGVAR(hardcode_libdir_separator, $1)= - _LT_TAGVAR(hardcode_minus_L, $1)=no - _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported - _LT_TAGVAR(inherit_rpath, $1)=no - _LT_TAGVAR(link_all_deplibs, $1)=unknown - _LT_TAGVAR(module_cmds, $1)= - _LT_TAGVAR(module_expsym_cmds, $1)= - _LT_TAGVAR(old_archive_from_new_cmds, $1)= - _LT_TAGVAR(old_archive_from_expsyms_cmds, $1)= - _LT_TAGVAR(thread_safe_flag_spec, $1)= - _LT_TAGVAR(whole_archive_flag_spec, $1)= - # include_expsyms should be a list of space-separated symbols to be *always* - # included in the symbol list - _LT_TAGVAR(include_expsyms, $1)= - # exclude_expsyms can be an extended regexp of symbols to exclude - # it will be wrapped by ` (' and `)$', so one must not match beginning or - # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', - # as well as any symbol that contains `d'. - _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'] - # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out - # platforms (ab)use it in PIC code, but their linkers get confused if - # the symbol is explicitly referenced. Since portable code cannot - # rely on this symbol name, it's probably fine to never include it in - # preloaded symbol tables. - # Exclude shared library initialization/finalization symbols. -dnl Note also adjust exclude_expsyms for C++ above. - extract_expsyms_cmds= - - case $host_os in - cygwin* | mingw* | pw32* | cegcc*) - # FIXME: the MSVC++ port hasn't been tested in a loooong time - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. - if test "$GCC" != yes; then - with_gnu_ld=no - fi - ;; - interix*) - # we just hope/assume this is gcc and not c89 (= MSVC++) - with_gnu_ld=yes - ;; - openbsd*) - with_gnu_ld=no - ;; - linux* | k*bsd*-gnu | gnu*) - _LT_TAGVAR(link_all_deplibs, $1)=no - ;; - esac - - _LT_TAGVAR(ld_shlibs, $1)=yes - - # On some targets, GNU ld is compatible enough with the native linker - # that we're better off using the native interface for both. - lt_use_gnu_ld_interface=no - if test "$with_gnu_ld" = yes; then - case $host_os in - aix*) - # The AIX port of GNU ld has always aspired to compatibility - # with the native linker. However, as the warning in the GNU ld - # block says, versions before 2.19.5* couldn't really create working - # shared libraries, regardless of the interface used. - case `$LD -v 2>&1` in - *\ \(GNU\ Binutils\)\ 2.19.5*) ;; - *\ \(GNU\ Binutils\)\ 2.[[2-9]]*) ;; - *\ \(GNU\ Binutils\)\ [[3-9]]*) ;; - *) - lt_use_gnu_ld_interface=yes - ;; - esac - ;; - *) - lt_use_gnu_ld_interface=yes - ;; - esac - fi - - if test "$lt_use_gnu_ld_interface" = yes; then - # If archive_cmds runs LD, not CC, wlarc should be empty - wlarc='${wl}' - - # Set some defaults for GNU ld with shared library support. These - # are reset later if shared libraries are not supported. Putting them - # here allows them to be overridden if necessary. - runpath_var=LD_RUN_PATH - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' - # ancient GNU ld didn't support --whole-archive et. al. - if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then - _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' - else - _LT_TAGVAR(whole_archive_flag_spec, $1)= - fi - supports_anon_versioning=no - case `$LD -v 2>&1` in - *GNU\ gold*) supports_anon_versioning=yes ;; - *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11 - *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... - *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... - *\ 2.11.*) ;; # other 2.11 versions - *) supports_anon_versioning=yes ;; - esac - - # See if GNU ld supports shared libraries. - case $host_os in - aix[[3-9]]*) - # On AIX/PPC, the GNU linker is very broken - if test "$host_cpu" != ia64; then - _LT_TAGVAR(ld_shlibs, $1)=no - cat <<_LT_EOF 1>&2 - -*** Warning: the GNU linker, at least up to release 2.19, is reported -*** to be unable to reliably create shared libraries on AIX. -*** Therefore, libtool is disabling shared libraries support. If you -*** really care for shared libraries, you may want to install binutils -*** 2.20 or above, or modify your PATH so that a non-GNU linker is found. -*** You will then need to restart the configuration process. - -_LT_EOF - fi - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='' - ;; - m68k) - _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(hardcode_minus_L, $1)=yes - ;; - esac - ;; - - beos*) - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported - # Joseph Beckenbach says some releases of gcc - # support --undefined. This deserves some investigation. FIXME - _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - cygwin* | mingw* | pw32* | cegcc*) - # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, - # as there is no search path for DLLs. - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-all-symbols' - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported - _LT_TAGVAR(always_export_symbols, $1)=no - _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes - _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols' - _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'] - - if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - # If the export-symbols file already is a .def file (1st line - # is EXPORTS), use it as is; otherwise, prepend... - _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then - cp $export_symbols $output_objdir/$soname.def; - else - echo EXPORTS > $output_objdir/$soname.def; - cat $export_symbols >> $output_objdir/$soname.def; - fi~ - $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - haiku*) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_TAGVAR(link_all_deplibs, $1)=yes - ;; - - interix[[3-9]]*) - _LT_TAGVAR(hardcode_direct, $1)=no - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. - # Instead, shared libraries are loaded at an image base (0x10000000 by - # default) and relocated if they conflict, which is a slow very memory - # consuming and fragmenting process. To avoid this, we pick a random, - # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link - # time. Moving up from 0x10000000 also allows more sbrk(2) space. - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - ;; - - gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) - tmp_diet=no - if test "$host_os" = linux-dietlibc; then - case $cc_basename in - diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn) - esac - fi - if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \ - && test "$tmp_diet" = no - then - tmp_addflag=' $pic_flag' - tmp_sharedflag='-shared' - case $cc_basename,$host_cpu in - pgcc*) # Portland Group C compiler - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' - tmp_addflag=' $pic_flag' - ;; - pgf77* | pgf90* | pgf95* | pgfortran*) - # Portland Group f77 and f90 compilers - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' - tmp_addflag=' $pic_flag -Mnomain' ;; - ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 - tmp_addflag=' -i_dynamic' ;; - efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 - tmp_addflag=' -i_dynamic -nofor_main' ;; - ifc* | ifort*) # Intel Fortran compiler - tmp_addflag=' -nofor_main' ;; - lf95*) # Lahey Fortran 8.1 - _LT_TAGVAR(whole_archive_flag_spec, $1)= - tmp_sharedflag='--shared' ;; - xl[[cC]]* | bgxl[[cC]]* | mpixl[[cC]]*) # IBM XL C 8.0 on PPC (deal with xlf below) - tmp_sharedflag='-qmkshrobj' - tmp_addflag= ;; - nvcc*) # Cuda Compiler Driver 2.2 - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' - _LT_TAGVAR(compiler_needs_object, $1)=yes - ;; - esac - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) # Sun C 5.9 - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' - _LT_TAGVAR(compiler_needs_object, $1)=yes - tmp_sharedflag='-G' ;; - *Sun\ F*) # Sun Fortran 8.3 - tmp_sharedflag='-G' ;; - esac - _LT_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - - if test "x$supports_anon_versioning" = xyes; then - _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - echo "local: *; };" >> $output_objdir/$libname.ver~ - $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' - fi - - case $cc_basename in - xlf* | bgf* | bgxlf* | mpixlf*) - # IBM XL Fortran 10.1 on PPC cannot create shared libs itself - _LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience --no-whole-archive' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib' - if test "x$supports_anon_versioning" = xyes; then - _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - echo "local: *; };" >> $output_objdir/$libname.ver~ - $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' - fi - ;; - esac - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - netbsd* | netbsdelf*-gnu) - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' - wlarc= - else - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - fi - ;; - - solaris*) - if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then - _LT_TAGVAR(ld_shlibs, $1)=no - cat <<_LT_EOF 1>&2 - -*** Warning: The releases 2.8.* of the GNU linker cannot reliably -*** create shared libraries on Solaris systems. Therefore, libtool -*** is disabling shared libraries support. We urge you to upgrade GNU -*** binutils to release 2.9.1 or newer. Another option is to modify -*** your PATH or compiler configuration so that the native linker is -*** used, and then restart. - -_LT_EOF - elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) - case `$LD -v 2>&1` in - *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*) - _LT_TAGVAR(ld_shlibs, $1)=no - cat <<_LT_EOF 1>&2 - -*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not -*** reliably create shared libraries on SCO systems. Therefore, libtool -*** is disabling shared libraries support. We urge you to upgrade GNU -*** binutils to release 2.16.91.0.3 or newer. Another option is to modify -*** your PATH or compiler configuration so that the native linker is -*** used, and then restart. - -_LT_EOF - ;; - *) - # For security reasons, it is highly recommended that you always - # use absolute paths for naming shared libraries, and exclude the - # DT_RUNPATH tag from executables and libraries. But doing so - # requires that you compile everything twice, which is a pain. - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - esac - ;; - - sunos4*) - _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' - wlarc= - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - *) - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - esac - - if test "$_LT_TAGVAR(ld_shlibs, $1)" = no; then - runpath_var= - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= - _LT_TAGVAR(export_dynamic_flag_spec, $1)= - _LT_TAGVAR(whole_archive_flag_spec, $1)= - fi - else - # PORTME fill in a description of your system's linker (not GNU ld) - case $host_os in - aix3*) - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported - _LT_TAGVAR(always_export_symbols, $1)=yes - _LT_TAGVAR(archive_expsym_cmds, $1)='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' - # Note: this linker hardcodes the directories in LIBPATH if there - # are no directories specified by -L. - _LT_TAGVAR(hardcode_minus_L, $1)=yes - if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then - # Neither direct hardcoding nor static linking is supported with a - # broken collect2. - _LT_TAGVAR(hardcode_direct, $1)=unsupported - fi - ;; - - aix[[4-9]]*) - if test "$host_cpu" = ia64; then - # On IA64, the linker does run time linking by default, so we don't - # have to do anything special. - aix_use_runtimelinking=no - exp_sym_flag='-Bexport' - no_entry_flag="" - else - # If we're using GNU nm, then we don't want the "-C" option. - # -C means demangle to AIX nm, but means don't demangle with GNU nm - # Also, AIX nm treats weak defined symbols like other global - # defined symbols, whereas GNU nm marks them as "W". - if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then - _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' - else - _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' - fi - aix_use_runtimelinking=no - - # Test if we are trying to use run time linking or normal - # AIX style linking. If -brtl is somewhere in LDFLAGS, we - # need to do runtime linking. - case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*) - for ld_flag in $LDFLAGS; do - if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then - aix_use_runtimelinking=yes - break - fi - done - ;; - esac - - exp_sym_flag='-bexport' - no_entry_flag='-bnoentry' - fi - - # When large executables or shared objects are built, AIX ld can - # have problems creating the table of contents. If linking a library - # or program results in "error TOC overflow" add -mminimal-toc to - # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not - # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. - - _LT_TAGVAR(archive_cmds, $1)='' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_direct_absolute, $1)=yes - _LT_TAGVAR(hardcode_libdir_separator, $1)=':' - _LT_TAGVAR(link_all_deplibs, $1)=yes - _LT_TAGVAR(file_list_spec, $1)='${wl}-f,' - - if test "$GCC" = yes; then - case $host_os in aix4.[[012]]|aix4.[[012]].*) - # We only want to do this on AIX 4.2 and lower, the check - # below for broken collect2 doesn't work under 4.3+ - collect2name=`${CC} -print-prog-name=collect2` - if test -f "$collect2name" && - strings "$collect2name" | $GREP resolve_lib_name >/dev/null - then - # We have reworked collect2 - : - else - # We have old collect2 - _LT_TAGVAR(hardcode_direct, $1)=unsupported - # It fails to find uninstalled libraries when the uninstalled - # path is not listed in the libpath. Setting hardcode_minus_L - # to unsupported forces relinking - _LT_TAGVAR(hardcode_minus_L, $1)=yes - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)= - fi - ;; - esac - shared_flag='-shared' - if test "$aix_use_runtimelinking" = yes; then - shared_flag="$shared_flag "'${wl}-G' - fi - _LT_TAGVAR(link_all_deplibs, $1)=no - else - # not using gcc - if test "$host_cpu" = ia64; then - # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release - # chokes on -Wl,-G. The following line is correct: - shared_flag='-G' - else - if test "$aix_use_runtimelinking" = yes; then - shared_flag='${wl}-G' - else - shared_flag='${wl}-bM:SRE' - fi - fi - fi - - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall' - # It seems that -bexpall does not export symbols beginning with - # underscore (_), so it is better to generate a list of symbols to export. - _LT_TAGVAR(always_export_symbols, $1)=yes - if test "$aix_use_runtimelinking" = yes; then - # Warning - without using the other runtime loading flags (-brtl), - # -berok will link without error, but may produce a broken library. - _LT_TAGVAR(allow_undefined_flag, $1)='-berok' - # Determine the default libpath from the value encoded in an - # empty executable. - _LT_SYS_MODULE_PATH_AIX([$1]) - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" - else - if test "$host_cpu" = ia64; then - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' - _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs" - _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" - else - # Determine the default libpath from the value encoded in an - # empty executable. - _LT_SYS_MODULE_PATH_AIX([$1]) - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" - # Warning - without using the other run time loading flags, - # -berok will link without error, but may produce a broken library. - _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' - _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' - if test "$with_gnu_ld" = yes; then - # We only use this code for GNU lds that support --whole-archive. - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive' - else - # Exported symbols can be pulled into shared objects from archives - _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience' - fi - _LT_TAGVAR(archive_cmds_need_lc, $1)=yes - # This is similar to how AIX traditionally builds its shared libraries. - _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' - fi - fi - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='' - ;; - m68k) - _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(hardcode_minus_L, $1)=yes - ;; - esac - ;; - - bsdi[[45]]*) - _LT_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic - ;; - - cygwin* | mingw* | pw32* | cegcc*) - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. - # hardcode_libdir_flag_spec is actually meaningless, as there is - # no search path for DLLs. - case $cc_basename in - cl*) - # Native MSVC - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported - _LT_TAGVAR(always_export_symbols, $1)=yes - _LT_TAGVAR(file_list_spec, $1)='@' - # Tell ltmain to make .lib files, not .a files. - libext=lib - # Tell ltmain to make .dll files, not .so files. - shrext_cmds=".dll" - # FIXME: Setting linknames here is a bad hack. - _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames=' - _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then - sed -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp; - else - sed -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp; - fi~ - $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ - linknames=' - # The linker will not automatically build a static lib if we build a DLL. - # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true' - _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes - _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' - _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1,DATA/'\'' | $SED -e '\''/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols' - # Don't use ranlib - _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib' - _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~ - lt_tool_outputfile="@TOOL_OUTPUT@"~ - case $lt_outputfile in - *.exe|*.EXE) ;; - *) - lt_outputfile="$lt_outputfile.exe" - lt_tool_outputfile="$lt_tool_outputfile.exe" - ;; - esac~ - if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then - $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; - $RM "$lt_outputfile.manifest"; - fi' - ;; - *) - # Assume MSVC wrapper - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported - # Tell ltmain to make .lib files, not .a files. - libext=lib - # Tell ltmain to make .dll files, not .so files. - shrext_cmds=".dll" - # FIXME: Setting linknames here is a bad hack. - _LT_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames=' - # The linker will automatically build a .lib file if we build a DLL. - _LT_TAGVAR(old_archive_from_new_cmds, $1)='true' - # FIXME: Should let the user specify the lib program. - _LT_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs' - _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes - ;; - esac - ;; - - darwin* | rhapsody*) - _LT_DARWIN_LINKER_FEATURES($1) - ;; - - dgux*) - _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor - # support. Future versions do this automatically, but an explicit c++rt0.o - # does not break anything, and helps significantly (at the cost of a little - # extra space). - freebsd2.2*) - _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - # Unfortunately, older versions of FreeBSD 2 do not have this feature. - freebsd2.*) - _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_minus_L, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - # FreeBSD 3 and greater uses gcc -shared to do shared libraries. - freebsd* | dragonfly*) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - hpux9*) - if test "$GCC" = yes; then - _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - else - _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - fi - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - _LT_TAGVAR(hardcode_direct, $1)=yes - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - _LT_TAGVAR(hardcode_minus_L, $1)=yes - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - ;; - - hpux10*) - if test "$GCC" = yes && test "$with_gnu_ld" = no; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - else - _LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' - fi - if test "$with_gnu_ld" = no; then - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_direct_absolute, $1)=yes - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - _LT_TAGVAR(hardcode_minus_L, $1)=yes - fi - ;; - - hpux11*) - if test "$GCC" = yes && test "$with_gnu_ld" = no; then - case $host_cpu in - hppa*64*) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - ia64*) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - else - case $host_cpu in - hppa*64*) - _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - ia64*) - _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - m4_if($1, [], [ - # Older versions of the 11.00 compiler do not understand -b yet - # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does) - _LT_LINKER_OPTION([if $CC understands -b], - _LT_TAGVAR(lt_cv_prog_compiler__b, $1), [-b], - [_LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'], - [_LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'])], - [_LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags']) - ;; - esac - fi - if test "$with_gnu_ld" = no; then - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - - case $host_cpu in - hppa*64*|ia64*) - _LT_TAGVAR(hardcode_direct, $1)=no - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - *) - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_direct_absolute, $1)=yes - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - _LT_TAGVAR(hardcode_minus_L, $1)=yes - ;; - esac - fi - ;; - - irix5* | irix6* | nonstopux*) - if test "$GCC" = yes; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - # Try to use the -exported_symbol ld option, if it does not - # work, assume that -exports_file does not work either and - # implicitly export all symbols. - # This should be the same for all languages, so no per-tag cache variable. - AC_CACHE_CHECK([whether the $host_os linker accepts -exported_symbol], - [lt_cv_irix_exported_symbol], - [save_LDFLAGS="$LDFLAGS" - LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null" - AC_LINK_IFELSE( - [AC_LANG_SOURCE( - [AC_LANG_CASE([C], [[int foo (void) { return 0; }]], - [C++], [[int foo (void) { return 0; }]], - [Fortran 77], [[ - subroutine foo - end]], - [Fortran], [[ - subroutine foo - end]])])], - [lt_cv_irix_exported_symbol=yes], - [lt_cv_irix_exported_symbol=no]) - LDFLAGS="$save_LDFLAGS"]) - if test "$lt_cv_irix_exported_symbol" = yes; then - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib' - fi - else - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib' - fi - _LT_TAGVAR(archive_cmds_need_lc, $1)='no' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - _LT_TAGVAR(inherit_rpath, $1)=yes - _LT_TAGVAR(link_all_deplibs, $1)=yes - ;; - - netbsd* | netbsdelf*-gnu) - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out - else - _LT_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF - fi - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - newsos6) - _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - *nto* | *qnx*) - ;; - - openbsd*) - if test -f /usr/libexec/ld.so; then - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_TAGVAR(hardcode_direct_absolute, $1)=yes - if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - else - case $host_os in - openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*) - _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - ;; - *) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - ;; - esac - fi - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - os2*) - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(hardcode_minus_L, $1)=yes - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported - _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~echo DATA >> $output_objdir/$libname.def~echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' - _LT_TAGVAR(old_archive_from_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' - ;; - - osf3*) - if test "$GCC" = yes; then - _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' - _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - else - _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' - _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' - fi - _LT_TAGVAR(archive_cmds_need_lc, $1)='no' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - ;; - - osf4* | osf5*) # as osf3* with the addition of -msym flag - if test "$GCC" = yes; then - _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' - _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $pic_flag $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - else - _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' - _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~ - $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp' - - # Both c and cxx compiler support -rpath directly - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' - fi - _LT_TAGVAR(archive_cmds_need_lc, $1)='no' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - ;; - - solaris*) - _LT_TAGVAR(no_undefined_flag, $1)=' -z defs' - if test "$GCC" = yes; then - wlarc='${wl}' - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' - else - case `$CC -V 2>&1` in - *"Compilers 5.0"*) - wlarc='' - _LT_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp' - ;; - *) - wlarc='${wl}' - _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' - ;; - esac - fi - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - case $host_os in - solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; - *) - # The compiler driver will combine and reorder linker options, - # but understands `-z linker_flag'. GCC discards it without `$wl', - # but is careful enough not to reorder. - # Supported since Solaris 2.6 (maybe 2.5.1?) - if test "$GCC" = yes; then - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' - else - _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' - fi - ;; - esac - _LT_TAGVAR(link_all_deplibs, $1)=yes - ;; - - sunos4*) - if test "x$host_vendor" = xsequent; then - # Use $CC to link under sequent, because it throws in some extra .o - # files that make .init and .fini sections work. - _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' - else - _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' - fi - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_minus_L, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - sysv4) - case $host_vendor in - sni) - _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(hardcode_direct, $1)=yes # is this really true??? - ;; - siemens) - ## LD is ld it makes a PLAMLIB - ## CC just makes a GrossModule. - _LT_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs' - _LT_TAGVAR(hardcode_direct, $1)=no - ;; - motorola) - _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie - ;; - esac - runpath_var='LD_RUN_PATH' - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - sysv4.3*) - _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport' - ;; - - sysv4*MP*) - if test -d /usr/nec; then - _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - runpath_var=LD_RUN_PATH - hardcode_runpath_var=yes - _LT_TAGVAR(ld_shlibs, $1)=yes - fi - ;; - - sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) - _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' - _LT_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - runpath_var='LD_RUN_PATH' - - if test "$GCC" = yes; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - else - _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - fi - ;; - - sysv5* | sco3.2v5* | sco5v6*) - # Note: We can NOT use -z defs as we might desire, because we do not - # link with -lc, and that would cause any symbols used from libc to - # always be unresolved, which means just about no library would - # ever link correctly. If we're not using GNU ld we use -z text - # though, which does catch some bad symbols but isn't as heavy-handed - # as -z defs. - _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' - _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' - _LT_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=':' - _LT_TAGVAR(link_all_deplibs, $1)=yes - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' - runpath_var='LD_RUN_PATH' - - if test "$GCC" = yes; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - else - _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - fi - ;; - - uts4*) - _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - *) - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - esac - - if test x$host_vendor = xsni; then - case $host in - sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Blargedynsym' - ;; - esac - fi - fi -]) -AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)]) -test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no - -_LT_TAGVAR(with_gnu_ld, $1)=$with_gnu_ld - -_LT_DECL([], [libext], [0], [Old archive suffix (normally "a")])dnl -_LT_DECL([], [shrext_cmds], [1], [Shared library suffix (normally ".so")])dnl -_LT_DECL([], [extract_expsyms_cmds], [2], - [The commands to extract the exported symbol list from a shared archive]) - -# -# Do we need to explicitly link libc? -# -case "x$_LT_TAGVAR(archive_cmds_need_lc, $1)" in -x|xyes) - # Assume -lc should be added - _LT_TAGVAR(archive_cmds_need_lc, $1)=yes - - if test "$enable_shared" = yes && test "$GCC" = yes; then - case $_LT_TAGVAR(archive_cmds, $1) in - *'~'*) - # FIXME: we may have to deal with multi-command sequences. - ;; - '$CC '*) - # Test whether the compiler implicitly links with -lc since on some - # systems, -lgcc has to come before -lc. If gcc already passes -lc - # to ld, don't add -lc before -lgcc. - AC_CACHE_CHECK([whether -lc should be explicitly linked in], - [lt_cv_]_LT_TAGVAR(archive_cmds_need_lc, $1), - [$RM conftest* - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - if AC_TRY_EVAL(ac_compile) 2>conftest.err; then - soname=conftest - lib=conftest - libobjs=conftest.$ac_objext - deplibs= - wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) - pic_flag=$_LT_TAGVAR(lt_prog_compiler_pic, $1) - compiler_flags=-v - linker_flags=-v - verstring= - output_objdir=. - libname=conftest - lt_save_allow_undefined_flag=$_LT_TAGVAR(allow_undefined_flag, $1) - _LT_TAGVAR(allow_undefined_flag, $1)= - if AC_TRY_EVAL(_LT_TAGVAR(archive_cmds, $1) 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) - then - lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=no - else - lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=yes - fi - _LT_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag - else - cat conftest.err 1>&5 - fi - $RM conftest* - ]) - _LT_TAGVAR(archive_cmds_need_lc, $1)=$lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1) - ;; - esac - fi - ;; -esac - -_LT_TAGDECL([build_libtool_need_lc], [archive_cmds_need_lc], [0], - [Whether or not to add -lc for building shared libraries]) -_LT_TAGDECL([allow_libtool_libs_with_static_runtimes], - [enable_shared_with_static_runtimes], [0], - [Whether or not to disallow shared libs when runtime libs are static]) -_LT_TAGDECL([], [export_dynamic_flag_spec], [1], - [Compiler flag to allow reflexive dlopens]) -_LT_TAGDECL([], [whole_archive_flag_spec], [1], - [Compiler flag to generate shared objects directly from archives]) -_LT_TAGDECL([], [compiler_needs_object], [1], - [Whether the compiler copes with passing no objects directly]) -_LT_TAGDECL([], [old_archive_from_new_cmds], [2], - [Create an old-style archive from a shared archive]) -_LT_TAGDECL([], [old_archive_from_expsyms_cmds], [2], - [Create a temporary old-style archive to link instead of a shared archive]) -_LT_TAGDECL([], [archive_cmds], [2], [Commands used to build a shared archive]) -_LT_TAGDECL([], [archive_expsym_cmds], [2]) -_LT_TAGDECL([], [module_cmds], [2], - [Commands used to build a loadable module if different from building - a shared archive.]) -_LT_TAGDECL([], [module_expsym_cmds], [2]) -_LT_TAGDECL([], [with_gnu_ld], [1], - [Whether we are building with GNU ld or not]) -_LT_TAGDECL([], [allow_undefined_flag], [1], - [Flag that allows shared libraries with undefined symbols to be built]) -_LT_TAGDECL([], [no_undefined_flag], [1], - [Flag that enforces no undefined symbols]) -_LT_TAGDECL([], [hardcode_libdir_flag_spec], [1], - [Flag to hardcode $libdir into a binary during linking. - This must work even if $libdir does not exist]) -_LT_TAGDECL([], [hardcode_libdir_separator], [1], - [Whether we need a single "-rpath" flag with a separated argument]) -_LT_TAGDECL([], [hardcode_direct], [0], - [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes - DIR into the resulting binary]) -_LT_TAGDECL([], [hardcode_direct_absolute], [0], - [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes - DIR into the resulting binary and the resulting library dependency is - "absolute", i.e impossible to change by setting ${shlibpath_var} if the - library is relocated]) -_LT_TAGDECL([], [hardcode_minus_L], [0], - [Set to "yes" if using the -LDIR flag during linking hardcodes DIR - into the resulting binary]) -_LT_TAGDECL([], [hardcode_shlibpath_var], [0], - [Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR - into the resulting binary]) -_LT_TAGDECL([], [hardcode_automatic], [0], - [Set to "yes" if building a shared library automatically hardcodes DIR - into the library and all subsequent libraries and executables linked - against it]) -_LT_TAGDECL([], [inherit_rpath], [0], - [Set to yes if linker adds runtime paths of dependent libraries - to runtime path list]) -_LT_TAGDECL([], [link_all_deplibs], [0], - [Whether libtool must link a program against all its dependency libraries]) -_LT_TAGDECL([], [always_export_symbols], [0], - [Set to "yes" if exported symbols are required]) -_LT_TAGDECL([], [export_symbols_cmds], [2], - [The commands to list exported symbols]) -_LT_TAGDECL([], [exclude_expsyms], [1], - [Symbols that should not be listed in the preloaded symbols]) -_LT_TAGDECL([], [include_expsyms], [1], - [Symbols that must always be exported]) -_LT_TAGDECL([], [prelink_cmds], [2], - [Commands necessary for linking programs (against libraries) with templates]) -_LT_TAGDECL([], [postlink_cmds], [2], - [Commands necessary for finishing linking programs]) -_LT_TAGDECL([], [file_list_spec], [1], - [Specify filename containing input files]) -dnl FIXME: Not yet implemented -dnl _LT_TAGDECL([], [thread_safe_flag_spec], [1], -dnl [Compiler flag to generate thread safe objects]) -])# _LT_LINKER_SHLIBS - - -# _LT_LANG_C_CONFIG([TAG]) -# ------------------------ -# Ensure that the configuration variables for a C compiler are suitably -# defined. These variables are subsequently used by _LT_CONFIG to write -# the compiler configuration to `libtool'. -m4_defun([_LT_LANG_C_CONFIG], -[m4_require([_LT_DECL_EGREP])dnl -lt_save_CC="$CC" -AC_LANG_PUSH(C) - -# Source file extension for C test sources. -ac_ext=c - -# Object file extension for compiled C test sources. -objext=o -_LT_TAGVAR(objext, $1)=$objext - -# Code to be used in simple compile tests -lt_simple_compile_test_code="int some_variable = 0;" - -# Code to be used in simple link tests -lt_simple_link_test_code='int main(){return(0);}' - -_LT_TAG_COMPILER -# Save the default compiler, since it gets overwritten when the other -# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP. -compiler_DEFAULT=$CC - -# save warnings/boilerplate of simple test code -_LT_COMPILER_BOILERPLATE -_LT_LINKER_BOILERPLATE - -if test -n "$compiler"; then - _LT_COMPILER_NO_RTTI($1) - _LT_COMPILER_PIC($1) - _LT_COMPILER_C_O($1) - _LT_COMPILER_FILE_LOCKS($1) - _LT_LINKER_SHLIBS($1) - _LT_SYS_DYNAMIC_LINKER($1) - _LT_LINKER_HARDCODE_LIBPATH($1) - LT_SYS_DLOPEN_SELF - _LT_CMD_STRIPLIB - - # Report which library types will actually be built - AC_MSG_CHECKING([if libtool supports shared libraries]) - AC_MSG_RESULT([$can_build_shared]) - - AC_MSG_CHECKING([whether to build shared libraries]) - test "$can_build_shared" = "no" && enable_shared=no - - # On AIX, shared libraries and static libraries use the same namespace, and - # are all built from PIC. - case $host_os in - aix3*) - test "$enable_shared" = yes && enable_static=no - if test -n "$RANLIB"; then - archive_cmds="$archive_cmds~\$RANLIB \$lib" - postinstall_cmds='$RANLIB $lib' - fi - ;; - - aix[[4-9]]*) - if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then - test "$enable_shared" = yes && enable_static=no - fi - ;; - esac - AC_MSG_RESULT([$enable_shared]) - - AC_MSG_CHECKING([whether to build static libraries]) - # Make sure either enable_shared or enable_static is yes. - test "$enable_shared" = yes || enable_static=yes - AC_MSG_RESULT([$enable_static]) - - _LT_CONFIG($1) -fi -AC_LANG_POP -CC="$lt_save_CC" -])# _LT_LANG_C_CONFIG - - -# _LT_LANG_CXX_CONFIG([TAG]) -# -------------------------- -# Ensure that the configuration variables for a C++ compiler are suitably -# defined. These variables are subsequently used by _LT_CONFIG to write -# the compiler configuration to `libtool'. -m4_defun([_LT_LANG_CXX_CONFIG], -[m4_require([_LT_FILEUTILS_DEFAULTS])dnl -m4_require([_LT_DECL_EGREP])dnl -m4_require([_LT_PATH_MANIFEST_TOOL])dnl -if test -n "$CXX" && ( test "X$CXX" != "Xno" && - ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || - (test "X$CXX" != "Xg++"))) ; then - AC_PROG_CXXCPP -else - _lt_caught_CXX_error=yes -fi - -AC_LANG_PUSH(C++) -_LT_TAGVAR(archive_cmds_need_lc, $1)=no -_LT_TAGVAR(allow_undefined_flag, $1)= -_LT_TAGVAR(always_export_symbols, $1)=no -_LT_TAGVAR(archive_expsym_cmds, $1)= -_LT_TAGVAR(compiler_needs_object, $1)=no -_LT_TAGVAR(export_dynamic_flag_spec, $1)= -_LT_TAGVAR(hardcode_direct, $1)=no -_LT_TAGVAR(hardcode_direct_absolute, $1)=no -_LT_TAGVAR(hardcode_libdir_flag_spec, $1)= -_LT_TAGVAR(hardcode_libdir_separator, $1)= -_LT_TAGVAR(hardcode_minus_L, $1)=no -_LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported -_LT_TAGVAR(hardcode_automatic, $1)=no -_LT_TAGVAR(inherit_rpath, $1)=no -_LT_TAGVAR(module_cmds, $1)= -_LT_TAGVAR(module_expsym_cmds, $1)= -_LT_TAGVAR(link_all_deplibs, $1)=unknown -_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds -_LT_TAGVAR(reload_flag, $1)=$reload_flag -_LT_TAGVAR(reload_cmds, $1)=$reload_cmds -_LT_TAGVAR(no_undefined_flag, $1)= -_LT_TAGVAR(whole_archive_flag_spec, $1)= -_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no - -# Source file extension for C++ test sources. -ac_ext=cpp - -# Object file extension for compiled C++ test sources. -objext=o -_LT_TAGVAR(objext, $1)=$objext - -# No sense in running all these tests if we already determined that -# the CXX compiler isn't working. Some variables (like enable_shared) -# are currently assumed to apply to all compilers on this platform, -# and will be corrupted by setting them based on a non-working compiler. -if test "$_lt_caught_CXX_error" != yes; then - # Code to be used in simple compile tests - lt_simple_compile_test_code="int some_variable = 0;" - - # Code to be used in simple link tests - lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }' - - # ltmain only uses $CC for tagged configurations so make sure $CC is set. - _LT_TAG_COMPILER - - # save warnings/boilerplate of simple test code - _LT_COMPILER_BOILERPLATE - _LT_LINKER_BOILERPLATE - - # Allow CC to be a program name with arguments. - lt_save_CC=$CC - lt_save_CFLAGS=$CFLAGS - lt_save_LD=$LD - lt_save_GCC=$GCC - GCC=$GXX - lt_save_with_gnu_ld=$with_gnu_ld - lt_save_path_LD=$lt_cv_path_LD - if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then - lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx - else - $as_unset lt_cv_prog_gnu_ld - fi - if test -n "${lt_cv_path_LDCXX+set}"; then - lt_cv_path_LD=$lt_cv_path_LDCXX - else - $as_unset lt_cv_path_LD - fi - test -z "${LDCXX+set}" || LD=$LDCXX - CC=${CXX-"c++"} - CFLAGS=$CXXFLAGS - compiler=$CC - _LT_TAGVAR(compiler, $1)=$CC - _LT_CC_BASENAME([$compiler]) - - if test -n "$compiler"; then - # We don't want -fno-exception when compiling C++ code, so set the - # no_builtin_flag separately - if test "$GXX" = yes; then - _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' - else - _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= - fi - - if test "$GXX" = yes; then - # Set up default GNU C++ configuration - - LT_PATH_LD - - # Check if GNU C++ uses GNU ld as the underlying linker, since the - # archiving commands below assume that GNU ld is being used. - if test "$with_gnu_ld" = yes; then - _LT_TAGVAR(archive_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' - - # If archive_cmds runs LD, not CC, wlarc should be empty - # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to - # investigate it a little bit more. (MM) - wlarc='${wl}' - - # ancient GNU ld didn't support --whole-archive et. al. - if eval "`$CC -print-prog-name=ld` --help 2>&1" | - $GREP 'no-whole-archive' > /dev/null; then - _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' - else - _LT_TAGVAR(whole_archive_flag_spec, $1)= - fi - else - with_gnu_ld=no - wlarc= - - # A generic and very simple default shared library creation - # command for GNU C++ for the case where it uses the native - # linker, instead of GNU ld. If possible, this setting should - # overridden to take advantage of the native linker features on - # the platform it is being used on. - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' - fi - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' - - else - GXX=no - with_gnu_ld=no - wlarc= - fi - - # PORTME: fill in a description of your system's C++ link characteristics - AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) - _LT_TAGVAR(ld_shlibs, $1)=yes - case $host_os in - aix3*) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - aix[[4-9]]*) - if test "$host_cpu" = ia64; then - # On IA64, the linker does run time linking by default, so we don't - # have to do anything special. - aix_use_runtimelinking=no - exp_sym_flag='-Bexport' - no_entry_flag="" - else - aix_use_runtimelinking=no - - # Test if we are trying to use run time linking or normal - # AIX style linking. If -brtl is somewhere in LDFLAGS, we - # need to do runtime linking. - case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*) - for ld_flag in $LDFLAGS; do - case $ld_flag in - *-brtl*) - aix_use_runtimelinking=yes - break - ;; - esac - done - ;; - esac - - exp_sym_flag='-bexport' - no_entry_flag='-bnoentry' - fi - - # When large executables or shared objects are built, AIX ld can - # have problems creating the table of contents. If linking a library - # or program results in "error TOC overflow" add -mminimal-toc to - # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not - # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. - - _LT_TAGVAR(archive_cmds, $1)='' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_direct_absolute, $1)=yes - _LT_TAGVAR(hardcode_libdir_separator, $1)=':' - _LT_TAGVAR(link_all_deplibs, $1)=yes - _LT_TAGVAR(file_list_spec, $1)='${wl}-f,' - - if test "$GXX" = yes; then - case $host_os in aix4.[[012]]|aix4.[[012]].*) - # We only want to do this on AIX 4.2 and lower, the check - # below for broken collect2 doesn't work under 4.3+ - collect2name=`${CC} -print-prog-name=collect2` - if test -f "$collect2name" && - strings "$collect2name" | $GREP resolve_lib_name >/dev/null - then - # We have reworked collect2 - : - else - # We have old collect2 - _LT_TAGVAR(hardcode_direct, $1)=unsupported - # It fails to find uninstalled libraries when the uninstalled - # path is not listed in the libpath. Setting hardcode_minus_L - # to unsupported forces relinking - _LT_TAGVAR(hardcode_minus_L, $1)=yes - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)= - fi - esac - shared_flag='-shared' - if test "$aix_use_runtimelinking" = yes; then - shared_flag="$shared_flag "'${wl}-G' - fi - else - # not using gcc - if test "$host_cpu" = ia64; then - # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release - # chokes on -Wl,-G. The following line is correct: - shared_flag='-G' - else - if test "$aix_use_runtimelinking" = yes; then - shared_flag='${wl}-G' - else - shared_flag='${wl}-bM:SRE' - fi - fi - fi - - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall' - # It seems that -bexpall does not export symbols beginning with - # underscore (_), so it is better to generate a list of symbols to - # export. - _LT_TAGVAR(always_export_symbols, $1)=yes - if test "$aix_use_runtimelinking" = yes; then - # Warning - without using the other runtime loading flags (-brtl), - # -berok will link without error, but may produce a broken library. - _LT_TAGVAR(allow_undefined_flag, $1)='-berok' - # Determine the default libpath from the value encoded in an empty - # executable. - _LT_SYS_MODULE_PATH_AIX([$1]) - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" - - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" - else - if test "$host_cpu" = ia64; then - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' - _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs" - _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" - else - # Determine the default libpath from the value encoded in an - # empty executable. - _LT_SYS_MODULE_PATH_AIX([$1]) - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" - # Warning - without using the other run time loading flags, - # -berok will link without error, but may produce a broken library. - _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' - _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' - if test "$with_gnu_ld" = yes; then - # We only use this code for GNU lds that support --whole-archive. - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive' - else - # Exported symbols can be pulled into shared objects from archives - _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience' - fi - _LT_TAGVAR(archive_cmds_need_lc, $1)=yes - # This is similar to how AIX traditionally builds its shared - # libraries. - _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' - fi - fi - ;; - - beos*) - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported - # Joseph Beckenbach says some releases of gcc - # support --undefined. This deserves some investigation. FIXME - _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - chorus*) - case $cc_basename in - *) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - esac - ;; - - cygwin* | mingw* | pw32* | cegcc*) - case $GXX,$cc_basename in - ,cl* | no,cl*) - # Native MSVC - # hardcode_libdir_flag_spec is actually meaningless, as there is - # no search path for DLLs. - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported - _LT_TAGVAR(always_export_symbols, $1)=yes - _LT_TAGVAR(file_list_spec, $1)='@' - # Tell ltmain to make .lib files, not .a files. - libext=lib - # Tell ltmain to make .dll files, not .so files. - shrext_cmds=".dll" - # FIXME: Setting linknames here is a bad hack. - _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames=' - _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then - $SED -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp; - else - $SED -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp; - fi~ - $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ - linknames=' - # The linker will not automatically build a static lib if we build a DLL. - # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true' - _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes - # Don't use ranlib - _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib' - _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~ - lt_tool_outputfile="@TOOL_OUTPUT@"~ - case $lt_outputfile in - *.exe|*.EXE) ;; - *) - lt_outputfile="$lt_outputfile.exe" - lt_tool_outputfile="$lt_tool_outputfile.exe" - ;; - esac~ - func_to_tool_file "$lt_outputfile"~ - if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then - $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; - $RM "$lt_outputfile.manifest"; - fi' - ;; - *) - # g++ - # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, - # as there is no search path for DLLs. - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-all-symbols' - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported - _LT_TAGVAR(always_export_symbols, $1)=no - _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes - - if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - # If the export-symbols file already is a .def file (1st line - # is EXPORTS), use it as is; otherwise, prepend... - _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then - cp $export_symbols $output_objdir/$soname.def; - else - echo EXPORTS > $output_objdir/$soname.def; - cat $export_symbols >> $output_objdir/$soname.def; - fi~ - $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - esac - ;; - darwin* | rhapsody*) - _LT_DARWIN_LINKER_FEATURES($1) - ;; - - dgux*) - case $cc_basename in - ec++*) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - ghcx*) - # Green Hills C++ Compiler - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - *) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - esac - ;; - - freebsd2.*) - # C++ shared libraries reported to be fairly broken before - # switch to ELF - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - - freebsd-elf*) - _LT_TAGVAR(archive_cmds_need_lc, $1)=no - ;; - - freebsd* | dragonfly*) - # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF - # conventions - _LT_TAGVAR(ld_shlibs, $1)=yes - ;; - - haiku*) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_TAGVAR(link_all_deplibs, $1)=yes - ;; - - hpux9*) - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, - # but as the default - # location of the library. - - case $cc_basename in - CC*) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - aCC*) - _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' - ;; - *) - if test "$GXX" = yes; then - _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -nostdlib $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - else - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - esac - ;; - - hpux10*|hpux11*) - if test $with_gnu_ld = no; then - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - - case $host_cpu in - hppa*64*|ia64*) - ;; - *) - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - ;; - esac - fi - case $host_cpu in - hppa*64*|ia64*) - _LT_TAGVAR(hardcode_direct, $1)=no - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - *) - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_direct_absolute, $1)=yes - _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, - # but as the default - # location of the library. - ;; - esac - - case $cc_basename in - CC*) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - aCC*) - case $host_cpu in - hppa*64*) - _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - ia64*) - _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - *) - _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - esac - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' - ;; - *) - if test "$GXX" = yes; then - if test $with_gnu_ld = no; then - case $host_cpu in - hppa*64*) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - ia64*) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - *) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - esac - fi - else - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - esac - ;; - - interix[[3-9]]*) - _LT_TAGVAR(hardcode_direct, $1)=no - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. - # Instead, shared libraries are loaded at an image base (0x10000000 by - # default) and relocated if they conflict, which is a slow very memory - # consuming and fragmenting process. To avoid this, we pick a random, - # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link - # time. Moving up from 0x10000000 also allows more sbrk(2) space. - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - ;; - irix5* | irix6*) - case $cc_basename in - CC*) - # SGI C++ - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' - - # Archives containing C++ object files must be created using - # "CC -ar", where "CC" is the IRIX C++ compiler. This is - # necessary to make sure instantiated templates are included - # in the archive. - _LT_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs' - ;; - *) - if test "$GXX" = yes; then - if test "$with_gnu_ld" = no; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - else - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` -o $lib' - fi - fi - _LT_TAGVAR(link_all_deplibs, $1)=yes - ;; - esac - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - _LT_TAGVAR(inherit_rpath, $1)=yes - ;; - - linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) - case $cc_basename in - KCC*) - # Kuck and Associates, Inc. (KAI) C++ Compiler - - # KCC will only create a shared library if the output file - # ends with ".so" (or ".sl" for HP-UX), so rename the library - # to its proper name (with version) after linking. - _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib' - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' - - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' - - # Archives containing C++ object files must be created using - # "CC -Bstatic", where "CC" is the KAI C++ compiler. - _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' - ;; - icpc* | ecpc* ) - # Intel C++ - with_gnu_ld=yes - # version 8.0 and above of icpc choke on multiply defined symbols - # if we add $predep_objects and $postdep_objects, however 7.1 and - # earlier do not add the objects themselves. - case `$CC -V 2>&1` in - *"Version 7."*) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - ;; - *) # Version 8.0 or newer - tmp_idyn= - case $host_cpu in - ia64*) tmp_idyn=' -i_dynamic';; - esac - _LT_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - ;; - esac - _LT_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive' - ;; - pgCC* | pgcpp*) - # Portland Group C++ compiler - case `$CC -V` in - *pgCC\ [[1-5]].* | *pgcpp\ [[1-5]].*) - _LT_TAGVAR(prelink_cmds, $1)='tpldir=Template.dir~ - rm -rf $tpldir~ - $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~ - compile_command="$compile_command `find $tpldir -name \*.o | sort | $NL2SP`"' - _LT_TAGVAR(old_archive_cmds, $1)='tpldir=Template.dir~ - rm -rf $tpldir~ - $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~ - $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | sort | $NL2SP`~ - $RANLIB $oldlib' - _LT_TAGVAR(archive_cmds, $1)='tpldir=Template.dir~ - rm -rf $tpldir~ - $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ - $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='tpldir=Template.dir~ - rm -rf $tpldir~ - $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ - $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' - ;; - *) # Version 6 and above use weak symbols - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' - ;; - esac - - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' - ;; - cxx*) - # Compaq C++ - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols' - - runpath_var=LD_RUN_PATH - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "X$list" | $Xsed' - ;; - xl* | mpixl* | bgxl*) - # IBM XL 8.0 on PPC, with GNU ld - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' - _LT_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - if test "x$supports_anon_versioning" = xyes; then - _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - echo "local: *; };" >> $output_objdir/$libname.ver~ - $CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' - fi - ;; - *) - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) - # Sun C++ 5.9 - _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs' - _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' - _LT_TAGVAR(compiler_needs_object, $1)=yes - - # Not sure whether something based on - # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 - # would be better. - output_verbose_link_cmd='func_echo_all' - - # Archives containing C++ object files must be created using - # "CC -xar", where "CC" is the Sun C++ compiler. This is - # necessary to make sure instantiated templates are included - # in the archive. - _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' - ;; - esac - ;; - esac - ;; - - lynxos*) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - - m88k*) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - - mvs*) - case $cc_basename in - cxx*) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - *) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - esac - ;; - - netbsd*) - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' - wlarc= - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - fi - # Workaround some broken pre-1.5 toolchains - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' - ;; - - *nto* | *qnx*) - _LT_TAGVAR(ld_shlibs, $1)=yes - ;; - - openbsd2*) - # C++ shared libraries are fairly broken - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - - openbsd*) - if test -f /usr/libexec/ld.so; then - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_TAGVAR(hardcode_direct_absolute, $1)=yes - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' - fi - output_verbose_link_cmd=func_echo_all - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - osf3* | osf4* | osf5*) - case $cc_basename in - KCC*) - # Kuck and Associates, Inc. (KAI) C++ Compiler - - # KCC will only create a shared library if the output file - # ends with ".so" (or ".sl" for HP-UX), so rename the library - # to its proper name (with version) after linking. - _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' - - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - - # Archives containing C++ object files must be created using - # the KAI C++ compiler. - case $host in - osf3*) _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;; - *) _LT_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' ;; - esac - ;; - RCC*) - # Rational C++ 2.4.1 - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - cxx*) - case $host in - osf3*) - _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' - _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && func_echo_all "${wl}-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - ;; - *) - _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' - _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ - echo "-hidden">> $lib.exp~ - $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname ${wl}-input ${wl}$lib.exp `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~ - $RM $lib.exp' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' - ;; - esac - - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' - ;; - *) - if test "$GXX" = yes && test "$with_gnu_ld" = no; then - _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' - case $host in - osf3*) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - ;; - *) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - ;; - esac - - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' - - else - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - esac - ;; - - psos*) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - - sunos4*) - case $cc_basename in - CC*) - # Sun C++ 4.x - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - lcc*) - # Lucid - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - *) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - esac - ;; - - solaris*) - case $cc_basename in - CC* | sunCC*) - # Sun C++ 4.2, 5.x and Centerline C++ - _LT_TAGVAR(archive_cmds_need_lc,$1)=yes - _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs' - _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' - - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - case $host_os in - solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; - *) - # The compiler driver will combine and reorder linker options, - # but understands `-z linker_flag'. - # Supported since Solaris 2.6 (maybe 2.5.1?) - _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' - ;; - esac - _LT_TAGVAR(link_all_deplibs, $1)=yes - - output_verbose_link_cmd='func_echo_all' - - # Archives containing C++ object files must be created using - # "CC -xar", where "CC" is the Sun C++ compiler. This is - # necessary to make sure instantiated templates are included - # in the archive. - _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' - ;; - gcx*) - # Green Hills C++ Compiler - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' - - # The C++ compiler must be used to create the archive. - _LT_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs' - ;; - *) - # GNU C++ compiler with Solaris linker - if test "$GXX" = yes && test "$with_gnu_ld" = no; then - _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs' - if $CC --version | $GREP -v '^2\.7' > /dev/null; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -shared $pic_flag -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' - else - # g++ 2.7 appears to require `-G' NOT `-shared' on this - # platform. - _LT_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' - fi - - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir' - case $host_os in - solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; - *) - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' - ;; - esac - fi - ;; - esac - ;; - - sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) - _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' - _LT_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - runpath_var='LD_RUN_PATH' - - case $cc_basename in - CC*) - _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - ;; - - sysv5* | sco3.2v5* | sco5v6*) - # Note: We can NOT use -z defs as we might desire, because we do not - # link with -lc, and that would cause any symbols used from libc to - # always be unresolved, which means just about no library would - # ever link correctly. If we're not using GNU ld we use -z text - # though, which does catch some bad symbols but isn't as heavy-handed - # as -z defs. - _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' - _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' - _LT_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=':' - _LT_TAGVAR(link_all_deplibs, $1)=yes - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' - runpath_var='LD_RUN_PATH' - - case $cc_basename in - CC*) - _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(old_archive_cmds, $1)='$CC -Tprelink_objects $oldobjs~ - '"$_LT_TAGVAR(old_archive_cmds, $1)" - _LT_TAGVAR(reload_cmds, $1)='$CC -Tprelink_objects $reload_objs~ - '"$_LT_TAGVAR(reload_cmds, $1)" - ;; - *) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - ;; - - tandem*) - case $cc_basename in - NCC*) - # NonStop-UX NCC 3.20 - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - *) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - esac - ;; - - vxworks*) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - - *) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - esac - - AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)]) - test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no - - _LT_TAGVAR(GCC, $1)="$GXX" - _LT_TAGVAR(LD, $1)="$LD" - - ## CAVEAT EMPTOR: - ## There is no encapsulation within the following macros, do not change - ## the running order or otherwise move them around unless you know exactly - ## what you are doing... - _LT_SYS_HIDDEN_LIBDEPS($1) - _LT_COMPILER_PIC($1) - _LT_COMPILER_C_O($1) - _LT_COMPILER_FILE_LOCKS($1) - _LT_LINKER_SHLIBS($1) - _LT_SYS_DYNAMIC_LINKER($1) - _LT_LINKER_HARDCODE_LIBPATH($1) - - _LT_CONFIG($1) - fi # test -n "$compiler" - - CC=$lt_save_CC - CFLAGS=$lt_save_CFLAGS - LDCXX=$LD - LD=$lt_save_LD - GCC=$lt_save_GCC - with_gnu_ld=$lt_save_with_gnu_ld - lt_cv_path_LDCXX=$lt_cv_path_LD - lt_cv_path_LD=$lt_save_path_LD - lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld - lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld -fi # test "$_lt_caught_CXX_error" != yes - -AC_LANG_POP -])# _LT_LANG_CXX_CONFIG - - -# _LT_FUNC_STRIPNAME_CNF -# ---------------------- -# func_stripname_cnf prefix suffix name -# strip PREFIX and SUFFIX off of NAME. -# PREFIX and SUFFIX must not contain globbing or regex special -# characters, hashes, percent signs, but SUFFIX may contain a leading -# dot (in which case that matches only a dot). -# -# This function is identical to the (non-XSI) version of func_stripname, -# except this one can be used by m4 code that may be executed by configure, -# rather than the libtool script. -m4_defun([_LT_FUNC_STRIPNAME_CNF],[dnl -AC_REQUIRE([_LT_DECL_SED]) -AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH]) -func_stripname_cnf () -{ - case ${2} in - .*) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%\\\\${2}\$%%"`;; - *) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%${2}\$%%"`;; - esac -} # func_stripname_cnf -])# _LT_FUNC_STRIPNAME_CNF - -# _LT_SYS_HIDDEN_LIBDEPS([TAGNAME]) -# --------------------------------- -# Figure out "hidden" library dependencies from verbose -# compiler output when linking a shared library. -# Parse the compiler output and extract the necessary -# objects, libraries and library flags. -m4_defun([_LT_SYS_HIDDEN_LIBDEPS], -[m4_require([_LT_FILEUTILS_DEFAULTS])dnl -AC_REQUIRE([_LT_FUNC_STRIPNAME_CNF])dnl -# Dependencies to place before and after the object being linked: -_LT_TAGVAR(predep_objects, $1)= -_LT_TAGVAR(postdep_objects, $1)= -_LT_TAGVAR(predeps, $1)= -_LT_TAGVAR(postdeps, $1)= -_LT_TAGVAR(compiler_lib_search_path, $1)= - -dnl we can't use the lt_simple_compile_test_code here, -dnl because it contains code intended for an executable, -dnl not a library. It's possible we should let each -dnl tag define a new lt_????_link_test_code variable, -dnl but it's only used here... -m4_if([$1], [], [cat > conftest.$ac_ext <<_LT_EOF -int a; -void foo (void) { a = 0; } -_LT_EOF -], [$1], [CXX], [cat > conftest.$ac_ext <<_LT_EOF -class Foo -{ -public: - Foo (void) { a = 0; } -private: - int a; -}; -_LT_EOF -], [$1], [F77], [cat > conftest.$ac_ext <<_LT_EOF - subroutine foo - implicit none - integer*4 a - a=0 - return - end -_LT_EOF -], [$1], [FC], [cat > conftest.$ac_ext <<_LT_EOF - subroutine foo - implicit none - integer a - a=0 - return - end -_LT_EOF -], [$1], [GCJ], [cat > conftest.$ac_ext <<_LT_EOF -public class foo { - private int a; - public void bar (void) { - a = 0; - } -}; -_LT_EOF -], [$1], [GO], [cat > conftest.$ac_ext <<_LT_EOF -package foo -func foo() { -} -_LT_EOF -]) - -_lt_libdeps_save_CFLAGS=$CFLAGS -case "$CC $CFLAGS " in #( -*\ -flto*\ *) CFLAGS="$CFLAGS -fno-lto" ;; -*\ -fwhopr*\ *) CFLAGS="$CFLAGS -fno-whopr" ;; -*\ -fuse-linker-plugin*\ *) CFLAGS="$CFLAGS -fno-use-linker-plugin" ;; -esac - -dnl Parse the compiler output and extract the necessary -dnl objects, libraries and library flags. -if AC_TRY_EVAL(ac_compile); then - # Parse the compiler output and extract the necessary - # objects, libraries and library flags. - - # Sentinel used to keep track of whether or not we are before - # the conftest object file. - pre_test_object_deps_done=no - - for p in `eval "$output_verbose_link_cmd"`; do - case ${prev}${p} in - - -L* | -R* | -l*) - # Some compilers place space between "-{L,R}" and the path. - # Remove the space. - if test $p = "-L" || - test $p = "-R"; then - prev=$p - continue - fi - - # Expand the sysroot to ease extracting the directories later. - if test -z "$prev"; then - case $p in - -L*) func_stripname_cnf '-L' '' "$p"; prev=-L; p=$func_stripname_result ;; - -R*) func_stripname_cnf '-R' '' "$p"; prev=-R; p=$func_stripname_result ;; - -l*) func_stripname_cnf '-l' '' "$p"; prev=-l; p=$func_stripname_result ;; - esac - fi - case $p in - =*) func_stripname_cnf '=' '' "$p"; p=$lt_sysroot$func_stripname_result ;; - esac - if test "$pre_test_object_deps_done" = no; then - case ${prev} in - -L | -R) - # Internal compiler library paths should come after those - # provided the user. The postdeps already come after the - # user supplied libs so there is no need to process them. - if test -z "$_LT_TAGVAR(compiler_lib_search_path, $1)"; then - _LT_TAGVAR(compiler_lib_search_path, $1)="${prev}${p}" - else - _LT_TAGVAR(compiler_lib_search_path, $1)="${_LT_TAGVAR(compiler_lib_search_path, $1)} ${prev}${p}" - fi - ;; - # The "-l" case would never come before the object being - # linked, so don't bother handling this case. - esac - else - if test -z "$_LT_TAGVAR(postdeps, $1)"; then - _LT_TAGVAR(postdeps, $1)="${prev}${p}" - else - _LT_TAGVAR(postdeps, $1)="${_LT_TAGVAR(postdeps, $1)} ${prev}${p}" - fi - fi - prev= - ;; - - *.lto.$objext) ;; # Ignore GCC LTO objects - *.$objext) - # This assumes that the test object file only shows up - # once in the compiler output. - if test "$p" = "conftest.$objext"; then - pre_test_object_deps_done=yes - continue - fi - - if test "$pre_test_object_deps_done" = no; then - if test -z "$_LT_TAGVAR(predep_objects, $1)"; then - _LT_TAGVAR(predep_objects, $1)="$p" - else - _LT_TAGVAR(predep_objects, $1)="$_LT_TAGVAR(predep_objects, $1) $p" - fi - else - if test -z "$_LT_TAGVAR(postdep_objects, $1)"; then - _LT_TAGVAR(postdep_objects, $1)="$p" - else - _LT_TAGVAR(postdep_objects, $1)="$_LT_TAGVAR(postdep_objects, $1) $p" - fi - fi - ;; - - *) ;; # Ignore the rest. - - esac - done - - # Clean up. - rm -f a.out a.exe -else - echo "libtool.m4: error: problem compiling $1 test program" -fi - -$RM -f confest.$objext -CFLAGS=$_lt_libdeps_save_CFLAGS - -# PORTME: override above test on systems where it is broken -m4_if([$1], [CXX], -[case $host_os in -interix[[3-9]]*) - # Interix 3.5 installs completely hosed .la files for C++, so rather than - # hack all around it, let's just trust "g++" to DTRT. - _LT_TAGVAR(predep_objects,$1)= - _LT_TAGVAR(postdep_objects,$1)= - _LT_TAGVAR(postdeps,$1)= - ;; - -linux*) - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) - # Sun C++ 5.9 - - # The more standards-conforming stlport4 library is - # incompatible with the Cstd library. Avoid specifying - # it if it's in CXXFLAGS. Ignore libCrun as - # -library=stlport4 depends on it. - case " $CXX $CXXFLAGS " in - *" -library=stlport4 "*) - solaris_use_stlport4=yes - ;; - esac - - if test "$solaris_use_stlport4" != yes; then - _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun' - fi - ;; - esac - ;; - -solaris*) - case $cc_basename in - CC* | sunCC*) - # The more standards-conforming stlport4 library is - # incompatible with the Cstd library. Avoid specifying - # it if it's in CXXFLAGS. Ignore libCrun as - # -library=stlport4 depends on it. - case " $CXX $CXXFLAGS " in - *" -library=stlport4 "*) - solaris_use_stlport4=yes - ;; - esac - - # Adding this requires a known-good setup of shared libraries for - # Sun compiler versions before 5.6, else PIC objects from an old - # archive will be linked into the output, leading to subtle bugs. - if test "$solaris_use_stlport4" != yes; then - _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun' - fi - ;; - esac - ;; -esac -]) - -case " $_LT_TAGVAR(postdeps, $1) " in -*" -lc "*) _LT_TAGVAR(archive_cmds_need_lc, $1)=no ;; -esac - _LT_TAGVAR(compiler_lib_search_dirs, $1)= -if test -n "${_LT_TAGVAR(compiler_lib_search_path, $1)}"; then - _LT_TAGVAR(compiler_lib_search_dirs, $1)=`echo " ${_LT_TAGVAR(compiler_lib_search_path, $1)}" | ${SED} -e 's! -L! !g' -e 's!^ !!'` -fi -_LT_TAGDECL([], [compiler_lib_search_dirs], [1], - [The directories searched by this compiler when creating a shared library]) -_LT_TAGDECL([], [predep_objects], [1], - [Dependencies to place before and after the objects being linked to - create a shared library]) -_LT_TAGDECL([], [postdep_objects], [1]) -_LT_TAGDECL([], [predeps], [1]) -_LT_TAGDECL([], [postdeps], [1]) -_LT_TAGDECL([], [compiler_lib_search_path], [1], - [The library search path used internally by the compiler when linking - a shared library]) -])# _LT_SYS_HIDDEN_LIBDEPS - - -# _LT_LANG_F77_CONFIG([TAG]) -# -------------------------- -# Ensure that the configuration variables for a Fortran 77 compiler are -# suitably defined. These variables are subsequently used by _LT_CONFIG -# to write the compiler configuration to `libtool'. -m4_defun([_LT_LANG_F77_CONFIG], -[AC_LANG_PUSH(Fortran 77) -if test -z "$F77" || test "X$F77" = "Xno"; then - _lt_disable_F77=yes -fi - -_LT_TAGVAR(archive_cmds_need_lc, $1)=no -_LT_TAGVAR(allow_undefined_flag, $1)= -_LT_TAGVAR(always_export_symbols, $1)=no -_LT_TAGVAR(archive_expsym_cmds, $1)= -_LT_TAGVAR(export_dynamic_flag_spec, $1)= -_LT_TAGVAR(hardcode_direct, $1)=no -_LT_TAGVAR(hardcode_direct_absolute, $1)=no -_LT_TAGVAR(hardcode_libdir_flag_spec, $1)= -_LT_TAGVAR(hardcode_libdir_separator, $1)= -_LT_TAGVAR(hardcode_minus_L, $1)=no -_LT_TAGVAR(hardcode_automatic, $1)=no -_LT_TAGVAR(inherit_rpath, $1)=no -_LT_TAGVAR(module_cmds, $1)= -_LT_TAGVAR(module_expsym_cmds, $1)= -_LT_TAGVAR(link_all_deplibs, $1)=unknown -_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds -_LT_TAGVAR(reload_flag, $1)=$reload_flag -_LT_TAGVAR(reload_cmds, $1)=$reload_cmds -_LT_TAGVAR(no_undefined_flag, $1)= -_LT_TAGVAR(whole_archive_flag_spec, $1)= -_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no - -# Source file extension for f77 test sources. -ac_ext=f - -# Object file extension for compiled f77 test sources. -objext=o -_LT_TAGVAR(objext, $1)=$objext - -# No sense in running all these tests if we already determined that -# the F77 compiler isn't working. Some variables (like enable_shared) -# are currently assumed to apply to all compilers on this platform, -# and will be corrupted by setting them based on a non-working compiler. -if test "$_lt_disable_F77" != yes; then - # Code to be used in simple compile tests - lt_simple_compile_test_code="\ - subroutine t - return - end -" - - # Code to be used in simple link tests - lt_simple_link_test_code="\ - program t - end -" - - # ltmain only uses $CC for tagged configurations so make sure $CC is set. - _LT_TAG_COMPILER - - # save warnings/boilerplate of simple test code - _LT_COMPILER_BOILERPLATE - _LT_LINKER_BOILERPLATE - - # Allow CC to be a program name with arguments. - lt_save_CC="$CC" - lt_save_GCC=$GCC - lt_save_CFLAGS=$CFLAGS - CC=${F77-"f77"} - CFLAGS=$FFLAGS - compiler=$CC - _LT_TAGVAR(compiler, $1)=$CC - _LT_CC_BASENAME([$compiler]) - GCC=$G77 - if test -n "$compiler"; then - AC_MSG_CHECKING([if libtool supports shared libraries]) - AC_MSG_RESULT([$can_build_shared]) - - AC_MSG_CHECKING([whether to build shared libraries]) - test "$can_build_shared" = "no" && enable_shared=no - - # On AIX, shared libraries and static libraries use the same namespace, and - # are all built from PIC. - case $host_os in - aix3*) - test "$enable_shared" = yes && enable_static=no - if test -n "$RANLIB"; then - archive_cmds="$archive_cmds~\$RANLIB \$lib" - postinstall_cmds='$RANLIB $lib' - fi - ;; - aix[[4-9]]*) - if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then - test "$enable_shared" = yes && enable_static=no - fi - ;; - esac - AC_MSG_RESULT([$enable_shared]) - - AC_MSG_CHECKING([whether to build static libraries]) - # Make sure either enable_shared or enable_static is yes. - test "$enable_shared" = yes || enable_static=yes - AC_MSG_RESULT([$enable_static]) - - _LT_TAGVAR(GCC, $1)="$G77" - _LT_TAGVAR(LD, $1)="$LD" - - ## CAVEAT EMPTOR: - ## There is no encapsulation within the following macros, do not change - ## the running order or otherwise move them around unless you know exactly - ## what you are doing... - _LT_COMPILER_PIC($1) - _LT_COMPILER_C_O($1) - _LT_COMPILER_FILE_LOCKS($1) - _LT_LINKER_SHLIBS($1) - _LT_SYS_DYNAMIC_LINKER($1) - _LT_LINKER_HARDCODE_LIBPATH($1) - - _LT_CONFIG($1) - fi # test -n "$compiler" - - GCC=$lt_save_GCC - CC="$lt_save_CC" - CFLAGS="$lt_save_CFLAGS" -fi # test "$_lt_disable_F77" != yes - -AC_LANG_POP -])# _LT_LANG_F77_CONFIG - - -# _LT_LANG_FC_CONFIG([TAG]) -# ------------------------- -# Ensure that the configuration variables for a Fortran compiler are -# suitably defined. These variables are subsequently used by _LT_CONFIG -# to write the compiler configuration to `libtool'. -m4_defun([_LT_LANG_FC_CONFIG], -[AC_LANG_PUSH(Fortran) - -if test -z "$FC" || test "X$FC" = "Xno"; then - _lt_disable_FC=yes -fi - -_LT_TAGVAR(archive_cmds_need_lc, $1)=no -_LT_TAGVAR(allow_undefined_flag, $1)= -_LT_TAGVAR(always_export_symbols, $1)=no -_LT_TAGVAR(archive_expsym_cmds, $1)= -_LT_TAGVAR(export_dynamic_flag_spec, $1)= -_LT_TAGVAR(hardcode_direct, $1)=no -_LT_TAGVAR(hardcode_direct_absolute, $1)=no -_LT_TAGVAR(hardcode_libdir_flag_spec, $1)= -_LT_TAGVAR(hardcode_libdir_separator, $1)= -_LT_TAGVAR(hardcode_minus_L, $1)=no -_LT_TAGVAR(hardcode_automatic, $1)=no -_LT_TAGVAR(inherit_rpath, $1)=no -_LT_TAGVAR(module_cmds, $1)= -_LT_TAGVAR(module_expsym_cmds, $1)= -_LT_TAGVAR(link_all_deplibs, $1)=unknown -_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds -_LT_TAGVAR(reload_flag, $1)=$reload_flag -_LT_TAGVAR(reload_cmds, $1)=$reload_cmds -_LT_TAGVAR(no_undefined_flag, $1)= -_LT_TAGVAR(whole_archive_flag_spec, $1)= -_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no - -# Source file extension for fc test sources. -ac_ext=${ac_fc_srcext-f} - -# Object file extension for compiled fc test sources. -objext=o -_LT_TAGVAR(objext, $1)=$objext - -# No sense in running all these tests if we already determined that -# the FC compiler isn't working. Some variables (like enable_shared) -# are currently assumed to apply to all compilers on this platform, -# and will be corrupted by setting them based on a non-working compiler. -if test "$_lt_disable_FC" != yes; then - # Code to be used in simple compile tests - lt_simple_compile_test_code="\ - subroutine t - return - end -" - - # Code to be used in simple link tests - lt_simple_link_test_code="\ - program t - end -" - - # ltmain only uses $CC for tagged configurations so make sure $CC is set. - _LT_TAG_COMPILER - - # save warnings/boilerplate of simple test code - _LT_COMPILER_BOILERPLATE - _LT_LINKER_BOILERPLATE - - # Allow CC to be a program name with arguments. - lt_save_CC="$CC" - lt_save_GCC=$GCC - lt_save_CFLAGS=$CFLAGS - CC=${FC-"f95"} - CFLAGS=$FCFLAGS - compiler=$CC - GCC=$ac_cv_fc_compiler_gnu - - _LT_TAGVAR(compiler, $1)=$CC - _LT_CC_BASENAME([$compiler]) - - if test -n "$compiler"; then - AC_MSG_CHECKING([if libtool supports shared libraries]) - AC_MSG_RESULT([$can_build_shared]) - - AC_MSG_CHECKING([whether to build shared libraries]) - test "$can_build_shared" = "no" && enable_shared=no - - # On AIX, shared libraries and static libraries use the same namespace, and - # are all built from PIC. - case $host_os in - aix3*) - test "$enable_shared" = yes && enable_static=no - if test -n "$RANLIB"; then - archive_cmds="$archive_cmds~\$RANLIB \$lib" - postinstall_cmds='$RANLIB $lib' - fi - ;; - aix[[4-9]]*) - if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then - test "$enable_shared" = yes && enable_static=no - fi - ;; - esac - AC_MSG_RESULT([$enable_shared]) - - AC_MSG_CHECKING([whether to build static libraries]) - # Make sure either enable_shared or enable_static is yes. - test "$enable_shared" = yes || enable_static=yes - AC_MSG_RESULT([$enable_static]) - - _LT_TAGVAR(GCC, $1)="$ac_cv_fc_compiler_gnu" - _LT_TAGVAR(LD, $1)="$LD" - - ## CAVEAT EMPTOR: - ## There is no encapsulation within the following macros, do not change - ## the running order or otherwise move them around unless you know exactly - ## what you are doing... - _LT_SYS_HIDDEN_LIBDEPS($1) - _LT_COMPILER_PIC($1) - _LT_COMPILER_C_O($1) - _LT_COMPILER_FILE_LOCKS($1) - _LT_LINKER_SHLIBS($1) - _LT_SYS_DYNAMIC_LINKER($1) - _LT_LINKER_HARDCODE_LIBPATH($1) - - _LT_CONFIG($1) - fi # test -n "$compiler" - - GCC=$lt_save_GCC - CC=$lt_save_CC - CFLAGS=$lt_save_CFLAGS -fi # test "$_lt_disable_FC" != yes - -AC_LANG_POP -])# _LT_LANG_FC_CONFIG - - -# _LT_LANG_GCJ_CONFIG([TAG]) -# -------------------------- -# Ensure that the configuration variables for the GNU Java Compiler compiler -# are suitably defined. These variables are subsequently used by _LT_CONFIG -# to write the compiler configuration to `libtool'. -m4_defun([_LT_LANG_GCJ_CONFIG], -[AC_REQUIRE([LT_PROG_GCJ])dnl -AC_LANG_SAVE - -# Source file extension for Java test sources. -ac_ext=java - -# Object file extension for compiled Java test sources. -objext=o -_LT_TAGVAR(objext, $1)=$objext - -# Code to be used in simple compile tests -lt_simple_compile_test_code="class foo {}" - -# Code to be used in simple link tests -lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }' - -# ltmain only uses $CC for tagged configurations so make sure $CC is set. -_LT_TAG_COMPILER - -# save warnings/boilerplate of simple test code -_LT_COMPILER_BOILERPLATE -_LT_LINKER_BOILERPLATE - -# Allow CC to be a program name with arguments. -lt_save_CC=$CC -lt_save_CFLAGS=$CFLAGS -lt_save_GCC=$GCC -GCC=yes -CC=${GCJ-"gcj"} -CFLAGS=$GCJFLAGS -compiler=$CC -_LT_TAGVAR(compiler, $1)=$CC -_LT_TAGVAR(LD, $1)="$LD" -_LT_CC_BASENAME([$compiler]) - -# GCJ did not exist at the time GCC didn't implicitly link libc in. -_LT_TAGVAR(archive_cmds_need_lc, $1)=no - -_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds -_LT_TAGVAR(reload_flag, $1)=$reload_flag -_LT_TAGVAR(reload_cmds, $1)=$reload_cmds - -if test -n "$compiler"; then - _LT_COMPILER_NO_RTTI($1) - _LT_COMPILER_PIC($1) - _LT_COMPILER_C_O($1) - _LT_COMPILER_FILE_LOCKS($1) - _LT_LINKER_SHLIBS($1) - _LT_LINKER_HARDCODE_LIBPATH($1) - - _LT_CONFIG($1) -fi - -AC_LANG_RESTORE - -GCC=$lt_save_GCC -CC=$lt_save_CC -CFLAGS=$lt_save_CFLAGS -])# _LT_LANG_GCJ_CONFIG - - -# _LT_LANG_GO_CONFIG([TAG]) -# -------------------------- -# Ensure that the configuration variables for the GNU Go compiler -# are suitably defined. These variables are subsequently used by _LT_CONFIG -# to write the compiler configuration to `libtool'. -m4_defun([_LT_LANG_GO_CONFIG], -[AC_REQUIRE([LT_PROG_GO])dnl -AC_LANG_SAVE - -# Source file extension for Go test sources. -ac_ext=go - -# Object file extension for compiled Go test sources. -objext=o -_LT_TAGVAR(objext, $1)=$objext - -# Code to be used in simple compile tests -lt_simple_compile_test_code="package main; func main() { }" - -# Code to be used in simple link tests -lt_simple_link_test_code='package main; func main() { }' - -# ltmain only uses $CC for tagged configurations so make sure $CC is set. -_LT_TAG_COMPILER - -# save warnings/boilerplate of simple test code -_LT_COMPILER_BOILERPLATE -_LT_LINKER_BOILERPLATE - -# Allow CC to be a program name with arguments. -lt_save_CC=$CC -lt_save_CFLAGS=$CFLAGS -lt_save_GCC=$GCC -GCC=yes -CC=${GOC-"gccgo"} -CFLAGS=$GOFLAGS -compiler=$CC -_LT_TAGVAR(compiler, $1)=$CC -_LT_TAGVAR(LD, $1)="$LD" -_LT_CC_BASENAME([$compiler]) - -# Go did not exist at the time GCC didn't implicitly link libc in. -_LT_TAGVAR(archive_cmds_need_lc, $1)=no - -_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds -_LT_TAGVAR(reload_flag, $1)=$reload_flag -_LT_TAGVAR(reload_cmds, $1)=$reload_cmds - -if test -n "$compiler"; then - _LT_COMPILER_NO_RTTI($1) - _LT_COMPILER_PIC($1) - _LT_COMPILER_C_O($1) - _LT_COMPILER_FILE_LOCKS($1) - _LT_LINKER_SHLIBS($1) - _LT_LINKER_HARDCODE_LIBPATH($1) - - _LT_CONFIG($1) -fi - -AC_LANG_RESTORE - -GCC=$lt_save_GCC -CC=$lt_save_CC -CFLAGS=$lt_save_CFLAGS -])# _LT_LANG_GO_CONFIG - - -# _LT_LANG_RC_CONFIG([TAG]) -# ------------------------- -# Ensure that the configuration variables for the Windows resource compiler -# are suitably defined. These variables are subsequently used by _LT_CONFIG -# to write the compiler configuration to `libtool'. -m4_defun([_LT_LANG_RC_CONFIG], -[AC_REQUIRE([LT_PROG_RC])dnl -AC_LANG_SAVE - -# Source file extension for RC test sources. -ac_ext=rc - -# Object file extension for compiled RC test sources. -objext=o -_LT_TAGVAR(objext, $1)=$objext - -# Code to be used in simple compile tests -lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }' - -# Code to be used in simple link tests -lt_simple_link_test_code="$lt_simple_compile_test_code" - -# ltmain only uses $CC for tagged configurations so make sure $CC is set. -_LT_TAG_COMPILER - -# save warnings/boilerplate of simple test code -_LT_COMPILER_BOILERPLATE -_LT_LINKER_BOILERPLATE - -# Allow CC to be a program name with arguments. -lt_save_CC="$CC" -lt_save_CFLAGS=$CFLAGS -lt_save_GCC=$GCC -GCC= -CC=${RC-"windres"} -CFLAGS= -compiler=$CC -_LT_TAGVAR(compiler, $1)=$CC -_LT_CC_BASENAME([$compiler]) -_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes - -if test -n "$compiler"; then - : - _LT_CONFIG($1) -fi - -GCC=$lt_save_GCC -AC_LANG_RESTORE -CC=$lt_save_CC -CFLAGS=$lt_save_CFLAGS -])# _LT_LANG_RC_CONFIG - - -# LT_PROG_GCJ -# ----------- -AC_DEFUN([LT_PROG_GCJ], -[m4_ifdef([AC_PROG_GCJ], [AC_PROG_GCJ], - [m4_ifdef([A][M_PROG_GCJ], [A][M_PROG_GCJ], - [AC_CHECK_TOOL(GCJ, gcj,) - test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2" - AC_SUBST(GCJFLAGS)])])[]dnl -]) - -# Old name: -AU_ALIAS([LT_AC_PROG_GCJ], [LT_PROG_GCJ]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([LT_AC_PROG_GCJ], []) - - -# LT_PROG_GO -# ---------- -AC_DEFUN([LT_PROG_GO], -[AC_CHECK_TOOL(GOC, gccgo,) -]) - - -# LT_PROG_RC -# ---------- -AC_DEFUN([LT_PROG_RC], -[AC_CHECK_TOOL(RC, windres,) -]) - -# Old name: -AU_ALIAS([LT_AC_PROG_RC], [LT_PROG_RC]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([LT_AC_PROG_RC], []) - - -# _LT_DECL_EGREP -# -------------- -# If we don't have a new enough Autoconf to choose the best grep -# available, choose the one first in the user's PATH. -m4_defun([_LT_DECL_EGREP], -[AC_REQUIRE([AC_PROG_EGREP])dnl -AC_REQUIRE([AC_PROG_FGREP])dnl -test -z "$GREP" && GREP=grep -_LT_DECL([], [GREP], [1], [A grep program that handles long lines]) -_LT_DECL([], [EGREP], [1], [An ERE matcher]) -_LT_DECL([], [FGREP], [1], [A literal string matcher]) -dnl Non-bleeding-edge autoconf doesn't subst GREP, so do it here too -AC_SUBST([GREP]) -]) - - -# _LT_DECL_OBJDUMP -# -------------- -# If we don't have a new enough Autoconf to choose the best objdump -# available, choose the one first in the user's PATH. -m4_defun([_LT_DECL_OBJDUMP], -[AC_CHECK_TOOL(OBJDUMP, objdump, false) -test -z "$OBJDUMP" && OBJDUMP=objdump -_LT_DECL([], [OBJDUMP], [1], [An object symbol dumper]) -AC_SUBST([OBJDUMP]) -]) - -# _LT_DECL_DLLTOOL -# ---------------- -# Ensure DLLTOOL variable is set. -m4_defun([_LT_DECL_DLLTOOL], -[AC_CHECK_TOOL(DLLTOOL, dlltool, false) -test -z "$DLLTOOL" && DLLTOOL=dlltool -_LT_DECL([], [DLLTOOL], [1], [DLL creation program]) -AC_SUBST([DLLTOOL]) -]) - -# _LT_DECL_SED -# ------------ -# Check for a fully-functional sed program, that truncates -# as few characters as possible. Prefer GNU sed if found. -m4_defun([_LT_DECL_SED], -[AC_PROG_SED -test -z "$SED" && SED=sed -Xsed="$SED -e 1s/^X//" -_LT_DECL([], [SED], [1], [A sed program that does not truncate output]) -_LT_DECL([], [Xsed], ["\$SED -e 1s/^X//"], - [Sed that helps us avoid accidentally triggering echo(1) options like -n]) -])# _LT_DECL_SED - -m4_ifndef([AC_PROG_SED], [ -# NOTE: This macro has been submitted for inclusion into # -# GNU Autoconf as AC_PROG_SED. When it is available in # -# a released version of Autoconf we should remove this # -# macro and use it instead. # - -m4_defun([AC_PROG_SED], -[AC_MSG_CHECKING([for a sed that does not truncate output]) -AC_CACHE_VAL(lt_cv_path_SED, -[# Loop through the user's path and test for sed and gsed. -# Then use that list of sed's as ones to test for truncation. -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for lt_ac_prog in sed gsed; do - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then - lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext" - fi - done - done -done -IFS=$as_save_IFS -lt_ac_max=0 -lt_ac_count=0 -# Add /usr/xpg4/bin/sed as it is typically found on Solaris -# along with /bin/sed that truncates output. -for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do - test ! -f $lt_ac_sed && continue - cat /dev/null > conftest.in - lt_ac_count=0 - echo $ECHO_N "0123456789$ECHO_C" >conftest.in - # Check for GNU sed and select it if it is found. - if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then - lt_cv_path_SED=$lt_ac_sed - break - fi - while true; do - cat conftest.in conftest.in >conftest.tmp - mv conftest.tmp conftest.in - cp conftest.in conftest.nl - echo >>conftest.nl - $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break - cmp -s conftest.out conftest.nl || break - # 10000 chars as input seems more than enough - test $lt_ac_count -gt 10 && break - lt_ac_count=`expr $lt_ac_count + 1` - if test $lt_ac_count -gt $lt_ac_max; then - lt_ac_max=$lt_ac_count - lt_cv_path_SED=$lt_ac_sed - fi - done -done -]) -SED=$lt_cv_path_SED -AC_SUBST([SED]) -AC_MSG_RESULT([$SED]) -])#AC_PROG_SED -])#m4_ifndef - -# Old name: -AU_ALIAS([LT_AC_PROG_SED], [AC_PROG_SED]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([LT_AC_PROG_SED], []) - - -# _LT_CHECK_SHELL_FEATURES -# ------------------------ -# Find out whether the shell is Bourne or XSI compatible, -# or has some other useful features. -m4_defun([_LT_CHECK_SHELL_FEATURES], -[AC_MSG_CHECKING([whether the shell understands some XSI constructs]) -# Try some XSI features -xsi_shell=no -( _lt_dummy="a/b/c" - test "${_lt_dummy##*/},${_lt_dummy%/*},${_lt_dummy#??}"${_lt_dummy%"$_lt_dummy"}, \ - = c,a/b,b/c, \ - && eval 'test $(( 1 + 1 )) -eq 2 \ - && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \ - && xsi_shell=yes -AC_MSG_RESULT([$xsi_shell]) -_LT_CONFIG_LIBTOOL_INIT([xsi_shell='$xsi_shell']) - -AC_MSG_CHECKING([whether the shell understands "+="]) -lt_shell_append=no -( foo=bar; set foo baz; eval "$[1]+=\$[2]" && test "$foo" = barbaz ) \ - >/dev/null 2>&1 \ - && lt_shell_append=yes -AC_MSG_RESULT([$lt_shell_append]) -_LT_CONFIG_LIBTOOL_INIT([lt_shell_append='$lt_shell_append']) - -if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then - lt_unset=unset -else - lt_unset=false -fi -_LT_DECL([], [lt_unset], [0], [whether the shell understands "unset"])dnl - -# test EBCDIC or ASCII -case `echo X|tr X '\101'` in - A) # ASCII based system - # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr - lt_SP2NL='tr \040 \012' - lt_NL2SP='tr \015\012 \040\040' - ;; - *) # EBCDIC based system - lt_SP2NL='tr \100 \n' - lt_NL2SP='tr \r\n \100\100' - ;; -esac -_LT_DECL([SP2NL], [lt_SP2NL], [1], [turn spaces into newlines])dnl -_LT_DECL([NL2SP], [lt_NL2SP], [1], [turn newlines into spaces])dnl -])# _LT_CHECK_SHELL_FEATURES - - -# _LT_PROG_FUNCTION_REPLACE (FUNCNAME, REPLACEMENT-BODY) -# ------------------------------------------------------ -# In `$cfgfile', look for function FUNCNAME delimited by `^FUNCNAME ()$' and -# '^} FUNCNAME ', and replace its body with REPLACEMENT-BODY. -m4_defun([_LT_PROG_FUNCTION_REPLACE], -[dnl { -sed -e '/^$1 ()$/,/^} # $1 /c\ -$1 ()\ -{\ -m4_bpatsubsts([$2], [$], [\\], [^\([ ]\)], [\\\1]) -} # Extended-shell $1 implementation' "$cfgfile" > $cfgfile.tmp \ - && mv -f "$cfgfile.tmp" "$cfgfile" \ - || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") -test 0 -eq $? || _lt_function_replace_fail=: -]) - - -# _LT_PROG_REPLACE_SHELLFNS -# ------------------------- -# Replace existing portable implementations of several shell functions with -# equivalent extended shell implementations where those features are available.. -m4_defun([_LT_PROG_REPLACE_SHELLFNS], -[if test x"$xsi_shell" = xyes; then - _LT_PROG_FUNCTION_REPLACE([func_dirname], [dnl - case ${1} in - */*) func_dirname_result="${1%/*}${2}" ;; - * ) func_dirname_result="${3}" ;; - esac]) - - _LT_PROG_FUNCTION_REPLACE([func_basename], [dnl - func_basename_result="${1##*/}"]) - - _LT_PROG_FUNCTION_REPLACE([func_dirname_and_basename], [dnl - case ${1} in - */*) func_dirname_result="${1%/*}${2}" ;; - * ) func_dirname_result="${3}" ;; - esac - func_basename_result="${1##*/}"]) - - _LT_PROG_FUNCTION_REPLACE([func_stripname], [dnl - # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are - # positional parameters, so assign one to ordinary parameter first. - func_stripname_result=${3} - func_stripname_result=${func_stripname_result#"${1}"} - func_stripname_result=${func_stripname_result%"${2}"}]) - - _LT_PROG_FUNCTION_REPLACE([func_split_long_opt], [dnl - func_split_long_opt_name=${1%%=*} - func_split_long_opt_arg=${1#*=}]) - - _LT_PROG_FUNCTION_REPLACE([func_split_short_opt], [dnl - func_split_short_opt_arg=${1#??} - func_split_short_opt_name=${1%"$func_split_short_opt_arg"}]) - - _LT_PROG_FUNCTION_REPLACE([func_lo2o], [dnl - case ${1} in - *.lo) func_lo2o_result=${1%.lo}.${objext} ;; - *) func_lo2o_result=${1} ;; - esac]) - - _LT_PROG_FUNCTION_REPLACE([func_xform], [ func_xform_result=${1%.*}.lo]) - - _LT_PROG_FUNCTION_REPLACE([func_arith], [ func_arith_result=$(( $[*] ))]) - - _LT_PROG_FUNCTION_REPLACE([func_len], [ func_len_result=${#1}]) -fi - -if test x"$lt_shell_append" = xyes; then - _LT_PROG_FUNCTION_REPLACE([func_append], [ eval "${1}+=\\${2}"]) - - _LT_PROG_FUNCTION_REPLACE([func_append_quoted], [dnl - func_quote_for_eval "${2}" -dnl m4 expansion turns \\\\ into \\, and then the shell eval turns that into \ - eval "${1}+=\\\\ \\$func_quote_for_eval_result"]) - - # Save a `func_append' function call where possible by direct use of '+=' - sed -e 's%func_append \([[a-zA-Z_]]\{1,\}\) "%\1+="%g' $cfgfile > $cfgfile.tmp \ - && mv -f "$cfgfile.tmp" "$cfgfile" \ - || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") - test 0 -eq $? || _lt_function_replace_fail=: -else - # Save a `func_append' function call even when '+=' is not available - sed -e 's%func_append \([[a-zA-Z_]]\{1,\}\) "%\1="$\1%g' $cfgfile > $cfgfile.tmp \ - && mv -f "$cfgfile.tmp" "$cfgfile" \ - || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") - test 0 -eq $? || _lt_function_replace_fail=: -fi - -if test x"$_lt_function_replace_fail" = x":"; then - AC_MSG_WARN([Unable to substitute extended shell functions in $ofile]) -fi -]) - -# _LT_PATH_CONVERSION_FUNCTIONS -# ----------------------------- -# Determine which file name conversion functions should be used by -# func_to_host_file (and, implicitly, by func_to_host_path). These are needed -# for certain cross-compile configurations and native mingw. -m4_defun([_LT_PATH_CONVERSION_FUNCTIONS], -[AC_REQUIRE([AC_CANONICAL_HOST])dnl -AC_REQUIRE([AC_CANONICAL_BUILD])dnl -AC_MSG_CHECKING([how to convert $build file names to $host format]) -AC_CACHE_VAL(lt_cv_to_host_file_cmd, -[case $host in - *-*-mingw* ) - case $build in - *-*-mingw* ) # actually msys - lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32 - ;; - *-*-cygwin* ) - lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32 - ;; - * ) # otherwise, assume *nix - lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32 - ;; - esac - ;; - *-*-cygwin* ) - case $build in - *-*-mingw* ) # actually msys - lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin - ;; - *-*-cygwin* ) - lt_cv_to_host_file_cmd=func_convert_file_noop - ;; - * ) # otherwise, assume *nix - lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin - ;; - esac - ;; - * ) # unhandled hosts (and "normal" native builds) - lt_cv_to_host_file_cmd=func_convert_file_noop - ;; -esac -]) -to_host_file_cmd=$lt_cv_to_host_file_cmd -AC_MSG_RESULT([$lt_cv_to_host_file_cmd]) -_LT_DECL([to_host_file_cmd], [lt_cv_to_host_file_cmd], - [0], [convert $build file names to $host format])dnl - -AC_MSG_CHECKING([how to convert $build file names to toolchain format]) -AC_CACHE_VAL(lt_cv_to_tool_file_cmd, -[#assume ordinary cross tools, or native build. -lt_cv_to_tool_file_cmd=func_convert_file_noop -case $host in - *-*-mingw* ) - case $build in - *-*-mingw* ) # actually msys - lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32 - ;; - esac - ;; -esac -]) -to_tool_file_cmd=$lt_cv_to_tool_file_cmd -AC_MSG_RESULT([$lt_cv_to_tool_file_cmd]) -_LT_DECL([to_tool_file_cmd], [lt_cv_to_tool_file_cmd], - [0], [convert $build files to toolchain format])dnl -])# _LT_PATH_CONVERSION_FUNCTIONS - -# Helper functions for option handling. -*- Autoconf -*- -# -# Copyright (C) 2004, 2005, 2007, 2008, 2009 Free Software Foundation, -# Inc. -# Written by Gary V. Vaughan, 2004 -# -# This file is free software; the Free Software Foundation gives -# unlimited permission to copy and/or distribute it, with or without -# modifications, as long as this notice is preserved. - -# serial 7 ltoptions.m4 - -# This is to help aclocal find these macros, as it can't see m4_define. -AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])]) - - -# _LT_MANGLE_OPTION(MACRO-NAME, OPTION-NAME) -# ------------------------------------------ -m4_define([_LT_MANGLE_OPTION], -[[_LT_OPTION_]m4_bpatsubst($1__$2, [[^a-zA-Z0-9_]], [_])]) - - -# _LT_SET_OPTION(MACRO-NAME, OPTION-NAME) -# --------------------------------------- -# Set option OPTION-NAME for macro MACRO-NAME, and if there is a -# matching handler defined, dispatch to it. Other OPTION-NAMEs are -# saved as a flag. -m4_define([_LT_SET_OPTION], -[m4_define(_LT_MANGLE_OPTION([$1], [$2]))dnl -m4_ifdef(_LT_MANGLE_DEFUN([$1], [$2]), - _LT_MANGLE_DEFUN([$1], [$2]), - [m4_warning([Unknown $1 option `$2'])])[]dnl -]) - - -# _LT_IF_OPTION(MACRO-NAME, OPTION-NAME, IF-SET, [IF-NOT-SET]) -# ------------------------------------------------------------ -# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. -m4_define([_LT_IF_OPTION], -[m4_ifdef(_LT_MANGLE_OPTION([$1], [$2]), [$3], [$4])]) - - -# _LT_UNLESS_OPTIONS(MACRO-NAME, OPTION-LIST, IF-NOT-SET) -# ------------------------------------------------------- -# Execute IF-NOT-SET unless all options in OPTION-LIST for MACRO-NAME -# are set. -m4_define([_LT_UNLESS_OPTIONS], -[m4_foreach([_LT_Option], m4_split(m4_normalize([$2])), - [m4_ifdef(_LT_MANGLE_OPTION([$1], _LT_Option), - [m4_define([$0_found])])])[]dnl -m4_ifdef([$0_found], [m4_undefine([$0_found])], [$3 -])[]dnl -]) - - -# _LT_SET_OPTIONS(MACRO-NAME, OPTION-LIST) -# ---------------------------------------- -# OPTION-LIST is a space-separated list of Libtool options associated -# with MACRO-NAME. If any OPTION has a matching handler declared with -# LT_OPTION_DEFINE, dispatch to that macro; otherwise complain about -# the unknown option and exit. -m4_defun([_LT_SET_OPTIONS], -[# Set options -m4_foreach([_LT_Option], m4_split(m4_normalize([$2])), - [_LT_SET_OPTION([$1], _LT_Option)]) - -m4_if([$1],[LT_INIT],[ - dnl - dnl Simply set some default values (i.e off) if boolean options were not - dnl specified: - _LT_UNLESS_OPTIONS([LT_INIT], [dlopen], [enable_dlopen=no - ]) - _LT_UNLESS_OPTIONS([LT_INIT], [win32-dll], [enable_win32_dll=no - ]) - dnl - dnl If no reference was made to various pairs of opposing options, then - dnl we run the default mode handler for the pair. For example, if neither - dnl `shared' nor `disable-shared' was passed, we enable building of shared - dnl archives by default: - _LT_UNLESS_OPTIONS([LT_INIT], [shared disable-shared], [_LT_ENABLE_SHARED]) - _LT_UNLESS_OPTIONS([LT_INIT], [static disable-static], [_LT_ENABLE_STATIC]) - _LT_UNLESS_OPTIONS([LT_INIT], [pic-only no-pic], [_LT_WITH_PIC]) - _LT_UNLESS_OPTIONS([LT_INIT], [fast-install disable-fast-install], - [_LT_ENABLE_FAST_INSTALL]) - ]) -])# _LT_SET_OPTIONS - - - -# _LT_MANGLE_DEFUN(MACRO-NAME, OPTION-NAME) -# ----------------------------------------- -m4_define([_LT_MANGLE_DEFUN], -[[_LT_OPTION_DEFUN_]m4_bpatsubst(m4_toupper([$1__$2]), [[^A-Z0-9_]], [_])]) - - -# LT_OPTION_DEFINE(MACRO-NAME, OPTION-NAME, CODE) -# ----------------------------------------------- -m4_define([LT_OPTION_DEFINE], -[m4_define(_LT_MANGLE_DEFUN([$1], [$2]), [$3])[]dnl -])# LT_OPTION_DEFINE - - -# dlopen -# ------ -LT_OPTION_DEFINE([LT_INIT], [dlopen], [enable_dlopen=yes -]) - -AU_DEFUN([AC_LIBTOOL_DLOPEN], -[_LT_SET_OPTION([LT_INIT], [dlopen]) -AC_DIAGNOSE([obsolete], -[$0: Remove this warning and the call to _LT_SET_OPTION when you -put the `dlopen' option into LT_INIT's first parameter.]) -]) - -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_LIBTOOL_DLOPEN], []) - - -# win32-dll -# --------- -# Declare package support for building win32 dll's. -LT_OPTION_DEFINE([LT_INIT], [win32-dll], -[enable_win32_dll=yes - -case $host in -*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc*) - AC_CHECK_TOOL(AS, as, false) - AC_CHECK_TOOL(DLLTOOL, dlltool, false) - AC_CHECK_TOOL(OBJDUMP, objdump, false) - ;; -esac - -test -z "$AS" && AS=as -_LT_DECL([], [AS], [1], [Assembler program])dnl - -test -z "$DLLTOOL" && DLLTOOL=dlltool -_LT_DECL([], [DLLTOOL], [1], [DLL creation program])dnl - -test -z "$OBJDUMP" && OBJDUMP=objdump -_LT_DECL([], [OBJDUMP], [1], [Object dumper program])dnl -])# win32-dll - -AU_DEFUN([AC_LIBTOOL_WIN32_DLL], -[AC_REQUIRE([AC_CANONICAL_HOST])dnl -_LT_SET_OPTION([LT_INIT], [win32-dll]) -AC_DIAGNOSE([obsolete], -[$0: Remove this warning and the call to _LT_SET_OPTION when you -put the `win32-dll' option into LT_INIT's first parameter.]) -]) - -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_LIBTOOL_WIN32_DLL], []) - - -# _LT_ENABLE_SHARED([DEFAULT]) -# ---------------------------- -# implement the --enable-shared flag, and supports the `shared' and -# `disable-shared' LT_INIT options. -# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. -m4_define([_LT_ENABLE_SHARED], -[m4_define([_LT_ENABLE_SHARED_DEFAULT], [m4_if($1, no, no, yes)])dnl -AC_ARG_ENABLE([shared], - [AS_HELP_STRING([--enable-shared@<:@=PKGS@:>@], - [build shared libraries @<:@default=]_LT_ENABLE_SHARED_DEFAULT[@:>@])], - [p=${PACKAGE-default} - case $enableval in - yes) enable_shared=yes ;; - no) enable_shared=no ;; - *) - enable_shared=no - # Look at the argument we got. We use all the common list separators. - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," - for pkg in $enableval; do - IFS="$lt_save_ifs" - if test "X$pkg" = "X$p"; then - enable_shared=yes - fi - done - IFS="$lt_save_ifs" - ;; - esac], - [enable_shared=]_LT_ENABLE_SHARED_DEFAULT) - - _LT_DECL([build_libtool_libs], [enable_shared], [0], - [Whether or not to build shared libraries]) -])# _LT_ENABLE_SHARED - -LT_OPTION_DEFINE([LT_INIT], [shared], [_LT_ENABLE_SHARED([yes])]) -LT_OPTION_DEFINE([LT_INIT], [disable-shared], [_LT_ENABLE_SHARED([no])]) - -# Old names: -AC_DEFUN([AC_ENABLE_SHARED], -[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[shared]) -]) - -AC_DEFUN([AC_DISABLE_SHARED], -[_LT_SET_OPTION([LT_INIT], [disable-shared]) -]) - -AU_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)]) -AU_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)]) - -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AM_ENABLE_SHARED], []) -dnl AC_DEFUN([AM_DISABLE_SHARED], []) - - - -# _LT_ENABLE_STATIC([DEFAULT]) -# ---------------------------- -# implement the --enable-static flag, and support the `static' and -# `disable-static' LT_INIT options. -# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. -m4_define([_LT_ENABLE_STATIC], -[m4_define([_LT_ENABLE_STATIC_DEFAULT], [m4_if($1, no, no, yes)])dnl -AC_ARG_ENABLE([static], - [AS_HELP_STRING([--enable-static@<:@=PKGS@:>@], - [build static libraries @<:@default=]_LT_ENABLE_STATIC_DEFAULT[@:>@])], - [p=${PACKAGE-default} - case $enableval in - yes) enable_static=yes ;; - no) enable_static=no ;; - *) - enable_static=no - # Look at the argument we got. We use all the common list separators. - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," - for pkg in $enableval; do - IFS="$lt_save_ifs" - if test "X$pkg" = "X$p"; then - enable_static=yes - fi - done - IFS="$lt_save_ifs" - ;; - esac], - [enable_static=]_LT_ENABLE_STATIC_DEFAULT) - - _LT_DECL([build_old_libs], [enable_static], [0], - [Whether or not to build static libraries]) -])# _LT_ENABLE_STATIC - -LT_OPTION_DEFINE([LT_INIT], [static], [_LT_ENABLE_STATIC([yes])]) -LT_OPTION_DEFINE([LT_INIT], [disable-static], [_LT_ENABLE_STATIC([no])]) - -# Old names: -AC_DEFUN([AC_ENABLE_STATIC], -[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[static]) -]) - -AC_DEFUN([AC_DISABLE_STATIC], -[_LT_SET_OPTION([LT_INIT], [disable-static]) -]) - -AU_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)]) -AU_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)]) - -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AM_ENABLE_STATIC], []) -dnl AC_DEFUN([AM_DISABLE_STATIC], []) - - - -# _LT_ENABLE_FAST_INSTALL([DEFAULT]) -# ---------------------------------- -# implement the --enable-fast-install flag, and support the `fast-install' -# and `disable-fast-install' LT_INIT options. -# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. -m4_define([_LT_ENABLE_FAST_INSTALL], -[m4_define([_LT_ENABLE_FAST_INSTALL_DEFAULT], [m4_if($1, no, no, yes)])dnl -AC_ARG_ENABLE([fast-install], - [AS_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@], - [optimize for fast installation @<:@default=]_LT_ENABLE_FAST_INSTALL_DEFAULT[@:>@])], - [p=${PACKAGE-default} - case $enableval in - yes) enable_fast_install=yes ;; - no) enable_fast_install=no ;; - *) - enable_fast_install=no - # Look at the argument we got. We use all the common list separators. - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," - for pkg in $enableval; do - IFS="$lt_save_ifs" - if test "X$pkg" = "X$p"; then - enable_fast_install=yes - fi - done - IFS="$lt_save_ifs" - ;; - esac], - [enable_fast_install=]_LT_ENABLE_FAST_INSTALL_DEFAULT) - -_LT_DECL([fast_install], [enable_fast_install], [0], - [Whether or not to optimize for fast installation])dnl -])# _LT_ENABLE_FAST_INSTALL - -LT_OPTION_DEFINE([LT_INIT], [fast-install], [_LT_ENABLE_FAST_INSTALL([yes])]) -LT_OPTION_DEFINE([LT_INIT], [disable-fast-install], [_LT_ENABLE_FAST_INSTALL([no])]) - -# Old names: -AU_DEFUN([AC_ENABLE_FAST_INSTALL], -[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install]) -AC_DIAGNOSE([obsolete], -[$0: Remove this warning and the call to _LT_SET_OPTION when you put -the `fast-install' option into LT_INIT's first parameter.]) -]) - -AU_DEFUN([AC_DISABLE_FAST_INSTALL], -[_LT_SET_OPTION([LT_INIT], [disable-fast-install]) -AC_DIAGNOSE([obsolete], -[$0: Remove this warning and the call to _LT_SET_OPTION when you put -the `disable-fast-install' option into LT_INIT's first parameter.]) -]) - -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_ENABLE_FAST_INSTALL], []) -dnl AC_DEFUN([AM_DISABLE_FAST_INSTALL], []) - - -# _LT_WITH_PIC([MODE]) -# -------------------- -# implement the --with-pic flag, and support the `pic-only' and `no-pic' -# LT_INIT options. -# MODE is either `yes' or `no'. If omitted, it defaults to `both'. -m4_define([_LT_WITH_PIC], -[AC_ARG_WITH([pic], - [AS_HELP_STRING([--with-pic@<:@=PKGS@:>@], - [try to use only PIC/non-PIC objects @<:@default=use both@:>@])], - [lt_p=${PACKAGE-default} - case $withval in - yes|no) pic_mode=$withval ;; - *) - pic_mode=default - # Look at the argument we got. We use all the common list separators. - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," - for lt_pkg in $withval; do - IFS="$lt_save_ifs" - if test "X$lt_pkg" = "X$lt_p"; then - pic_mode=yes - fi - done - IFS="$lt_save_ifs" - ;; - esac], - [pic_mode=default]) - -test -z "$pic_mode" && pic_mode=m4_default([$1], [default]) - -_LT_DECL([], [pic_mode], [0], [What type of objects to build])dnl -])# _LT_WITH_PIC - -LT_OPTION_DEFINE([LT_INIT], [pic-only], [_LT_WITH_PIC([yes])]) -LT_OPTION_DEFINE([LT_INIT], [no-pic], [_LT_WITH_PIC([no])]) - -# Old name: -AU_DEFUN([AC_LIBTOOL_PICMODE], -[_LT_SET_OPTION([LT_INIT], [pic-only]) -AC_DIAGNOSE([obsolete], -[$0: Remove this warning and the call to _LT_SET_OPTION when you -put the `pic-only' option into LT_INIT's first parameter.]) -]) - -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_LIBTOOL_PICMODE], []) - - -m4_define([_LTDL_MODE], []) -LT_OPTION_DEFINE([LTDL_INIT], [nonrecursive], - [m4_define([_LTDL_MODE], [nonrecursive])]) -LT_OPTION_DEFINE([LTDL_INIT], [recursive], - [m4_define([_LTDL_MODE], [recursive])]) -LT_OPTION_DEFINE([LTDL_INIT], [subproject], - [m4_define([_LTDL_MODE], [subproject])]) - -m4_define([_LTDL_TYPE], []) -LT_OPTION_DEFINE([LTDL_INIT], [installable], - [m4_define([_LTDL_TYPE], [installable])]) -LT_OPTION_DEFINE([LTDL_INIT], [convenience], - [m4_define([_LTDL_TYPE], [convenience])]) - -# ltsugar.m4 -- libtool m4 base layer. -*-Autoconf-*- -# -# Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc. -# Written by Gary V. Vaughan, 2004 -# -# This file is free software; the Free Software Foundation gives -# unlimited permission to copy and/or distribute it, with or without -# modifications, as long as this notice is preserved. - -# serial 6 ltsugar.m4 - -# This is to help aclocal find these macros, as it can't see m4_define. -AC_DEFUN([LTSUGAR_VERSION], [m4_if([0.1])]) - - -# lt_join(SEP, ARG1, [ARG2...]) -# ----------------------------- -# Produce ARG1SEPARG2...SEPARGn, omitting [] arguments and their -# associated separator. -# Needed until we can rely on m4_join from Autoconf 2.62, since all earlier -# versions in m4sugar had bugs. -m4_define([lt_join], -[m4_if([$#], [1], [], - [$#], [2], [[$2]], - [m4_if([$2], [], [], [[$2]_])$0([$1], m4_shift(m4_shift($@)))])]) -m4_define([_lt_join], -[m4_if([$#$2], [2], [], - [m4_if([$2], [], [], [[$1$2]])$0([$1], m4_shift(m4_shift($@)))])]) - - -# lt_car(LIST) -# lt_cdr(LIST) -# ------------ -# Manipulate m4 lists. -# These macros are necessary as long as will still need to support -# Autoconf-2.59 which quotes differently. -m4_define([lt_car], [[$1]]) -m4_define([lt_cdr], -[m4_if([$#], 0, [m4_fatal([$0: cannot be called without arguments])], - [$#], 1, [], - [m4_dquote(m4_shift($@))])]) -m4_define([lt_unquote], $1) - - -# lt_append(MACRO-NAME, STRING, [SEPARATOR]) -# ------------------------------------------ -# Redefine MACRO-NAME to hold its former content plus `SEPARATOR'`STRING'. -# Note that neither SEPARATOR nor STRING are expanded; they are appended -# to MACRO-NAME as is (leaving the expansion for when MACRO-NAME is invoked). -# No SEPARATOR is output if MACRO-NAME was previously undefined (different -# than defined and empty). -# -# This macro is needed until we can rely on Autoconf 2.62, since earlier -# versions of m4sugar mistakenly expanded SEPARATOR but not STRING. -m4_define([lt_append], -[m4_define([$1], - m4_ifdef([$1], [m4_defn([$1])[$3]])[$2])]) - - - -# lt_combine(SEP, PREFIX-LIST, INFIX, SUFFIX1, [SUFFIX2...]) -# ---------------------------------------------------------- -# Produce a SEP delimited list of all paired combinations of elements of -# PREFIX-LIST with SUFFIX1 through SUFFIXn. Each element of the list -# has the form PREFIXmINFIXSUFFIXn. -# Needed until we can rely on m4_combine added in Autoconf 2.62. -m4_define([lt_combine], -[m4_if(m4_eval([$# > 3]), [1], - [m4_pushdef([_Lt_sep], [m4_define([_Lt_sep], m4_defn([lt_car]))])]]dnl -[[m4_foreach([_Lt_prefix], [$2], - [m4_foreach([_Lt_suffix], - ]m4_dquote(m4_dquote(m4_shift(m4_shift(m4_shift($@)))))[, - [_Lt_sep([$1])[]m4_defn([_Lt_prefix])[$3]m4_defn([_Lt_suffix])])])])]) - - -# lt_if_append_uniq(MACRO-NAME, VARNAME, [SEPARATOR], [UNIQ], [NOT-UNIQ]) -# ----------------------------------------------------------------------- -# Iff MACRO-NAME does not yet contain VARNAME, then append it (delimited -# by SEPARATOR if supplied) and expand UNIQ, else NOT-UNIQ. -m4_define([lt_if_append_uniq], -[m4_ifdef([$1], - [m4_if(m4_index([$3]m4_defn([$1])[$3], [$3$2$3]), [-1], - [lt_append([$1], [$2], [$3])$4], - [$5])], - [lt_append([$1], [$2], [$3])$4])]) - - -# lt_dict_add(DICT, KEY, VALUE) -# ----------------------------- -m4_define([lt_dict_add], -[m4_define([$1($2)], [$3])]) - - -# lt_dict_add_subkey(DICT, KEY, SUBKEY, VALUE) -# -------------------------------------------- -m4_define([lt_dict_add_subkey], -[m4_define([$1($2:$3)], [$4])]) - - -# lt_dict_fetch(DICT, KEY, [SUBKEY]) -# ---------------------------------- -m4_define([lt_dict_fetch], -[m4_ifval([$3], - m4_ifdef([$1($2:$3)], [m4_defn([$1($2:$3)])]), - m4_ifdef([$1($2)], [m4_defn([$1($2)])]))]) - - -# lt_if_dict_fetch(DICT, KEY, [SUBKEY], VALUE, IF-TRUE, [IF-FALSE]) -# ----------------------------------------------------------------- -m4_define([lt_if_dict_fetch], -[m4_if(lt_dict_fetch([$1], [$2], [$3]), [$4], - [$5], - [$6])]) - - -# lt_dict_filter(DICT, [SUBKEY], VALUE, [SEPARATOR], KEY, [...]) -# -------------------------------------------------------------- -m4_define([lt_dict_filter], -[m4_if([$5], [], [], - [lt_join(m4_quote(m4_default([$4], [[, ]])), - lt_unquote(m4_split(m4_normalize(m4_foreach(_Lt_key, lt_car([m4_shiftn(4, $@)]), - [lt_if_dict_fetch([$1], _Lt_key, [$2], [$3], [_Lt_key ])])))))])[]dnl -]) - -# ltversion.m4 -- version numbers -*- Autoconf -*- -# -# Copyright (C) 2004 Free Software Foundation, Inc. -# Written by Scott James Remnant, 2004 -# -# This file is free software; the Free Software Foundation gives -# unlimited permission to copy and/or distribute it, with or without -# modifications, as long as this notice is preserved. - -# @configure_input@ - -# serial 3337 ltversion.m4 -# This file is part of GNU Libtool - -m4_define([LT_PACKAGE_VERSION], [2.4.2]) -m4_define([LT_PACKAGE_REVISION], [1.3337]) - -AC_DEFUN([LTVERSION_VERSION], -[macro_version='2.4.2' -macro_revision='1.3337' -_LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?]) -_LT_DECL(, macro_revision, 0) -]) - -# lt~obsolete.m4 -- aclocal satisfying obsolete definitions. -*-Autoconf-*- -# -# Copyright (C) 2004, 2005, 2007, 2009 Free Software Foundation, Inc. -# Written by Scott James Remnant, 2004. -# -# This file is free software; the Free Software Foundation gives -# unlimited permission to copy and/or distribute it, with or without -# modifications, as long as this notice is preserved. - -# serial 5 lt~obsolete.m4 - -# These exist entirely to fool aclocal when bootstrapping libtool. -# -# In the past libtool.m4 has provided macros via AC_DEFUN (or AU_DEFUN) -# which have later been changed to m4_define as they aren't part of the -# exported API, or moved to Autoconf or Automake where they belong. -# -# The trouble is, aclocal is a bit thick. It'll see the old AC_DEFUN -# in /usr/share/aclocal/libtool.m4 and remember it, then when it sees us -# using a macro with the same name in our local m4/libtool.m4 it'll -# pull the old libtool.m4 in (it doesn't see our shiny new m4_define -# and doesn't know about Autoconf macros at all.) -# -# So we provide this file, which has a silly filename so it's always -# included after everything else. This provides aclocal with the -# AC_DEFUNs it wants, but when m4 processes it, it doesn't do anything -# because those macros already exist, or will be overwritten later. -# We use AC_DEFUN over AU_DEFUN for compatibility with aclocal-1.6. -# -# Anytime we withdraw an AC_DEFUN or AU_DEFUN, remember to add it here. -# Yes, that means every name once taken will need to remain here until -# we give up compatibility with versions before 1.7, at which point -# we need to keep only those names which we still refer to. - -# This is to help aclocal find these macros, as it can't see m4_define. -AC_DEFUN([LTOBSOLETE_VERSION], [m4_if([1])]) - -m4_ifndef([AC_LIBTOOL_LINKER_OPTION], [AC_DEFUN([AC_LIBTOOL_LINKER_OPTION])]) -m4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC_PROG_EGREP])]) -m4_ifndef([_LT_AC_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH])]) -m4_ifndef([_LT_AC_SHELL_INIT], [AC_DEFUN([_LT_AC_SHELL_INIT])]) -m4_ifndef([_LT_AC_SYS_LIBPATH_AIX], [AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX])]) -m4_ifndef([_LT_PROG_LTMAIN], [AC_DEFUN([_LT_PROG_LTMAIN])]) -m4_ifndef([_LT_AC_TAGVAR], [AC_DEFUN([_LT_AC_TAGVAR])]) -m4_ifndef([AC_LTDL_ENABLE_INSTALL], [AC_DEFUN([AC_LTDL_ENABLE_INSTALL])]) -m4_ifndef([AC_LTDL_PREOPEN], [AC_DEFUN([AC_LTDL_PREOPEN])]) -m4_ifndef([_LT_AC_SYS_COMPILER], [AC_DEFUN([_LT_AC_SYS_COMPILER])]) -m4_ifndef([_LT_AC_LOCK], [AC_DEFUN([_LT_AC_LOCK])]) -m4_ifndef([AC_LIBTOOL_SYS_OLD_ARCHIVE], [AC_DEFUN([AC_LIBTOOL_SYS_OLD_ARCHIVE])]) -m4_ifndef([_LT_AC_TRY_DLOPEN_SELF], [AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF])]) -m4_ifndef([AC_LIBTOOL_PROG_CC_C_O], [AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O])]) -m4_ifndef([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], [AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS])]) -m4_ifndef([AC_LIBTOOL_OBJDIR], [AC_DEFUN([AC_LIBTOOL_OBJDIR])]) -m4_ifndef([AC_LTDL_OBJDIR], [AC_DEFUN([AC_LTDL_OBJDIR])]) -m4_ifndef([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], [AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH])]) -m4_ifndef([AC_LIBTOOL_SYS_LIB_STRIP], [AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP])]) -m4_ifndef([AC_PATH_MAGIC], [AC_DEFUN([AC_PATH_MAGIC])]) -m4_ifndef([AC_PROG_LD_GNU], [AC_DEFUN([AC_PROG_LD_GNU])]) -m4_ifndef([AC_PROG_LD_RELOAD_FLAG], [AC_DEFUN([AC_PROG_LD_RELOAD_FLAG])]) -m4_ifndef([AC_DEPLIBS_CHECK_METHOD], [AC_DEFUN([AC_DEPLIBS_CHECK_METHOD])]) -m4_ifndef([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI])]) -m4_ifndef([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], [AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE])]) -m4_ifndef([AC_LIBTOOL_PROG_COMPILER_PIC], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC])]) -m4_ifndef([AC_LIBTOOL_PROG_LD_SHLIBS], [AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS])]) -m4_ifndef([AC_LIBTOOL_POSTDEP_PREDEP], [AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP])]) -m4_ifndef([LT_AC_PROG_EGREP], [AC_DEFUN([LT_AC_PROG_EGREP])]) -m4_ifndef([LT_AC_PROG_SED], [AC_DEFUN([LT_AC_PROG_SED])]) -m4_ifndef([_LT_CC_BASENAME], [AC_DEFUN([_LT_CC_BASENAME])]) -m4_ifndef([_LT_COMPILER_BOILERPLATE], [AC_DEFUN([_LT_COMPILER_BOILERPLATE])]) -m4_ifndef([_LT_LINKER_BOILERPLATE], [AC_DEFUN([_LT_LINKER_BOILERPLATE])]) -m4_ifndef([_AC_PROG_LIBTOOL], [AC_DEFUN([_AC_PROG_LIBTOOL])]) -m4_ifndef([AC_LIBTOOL_SETUP], [AC_DEFUN([AC_LIBTOOL_SETUP])]) -m4_ifndef([_LT_AC_CHECK_DLFCN], [AC_DEFUN([_LT_AC_CHECK_DLFCN])]) -m4_ifndef([AC_LIBTOOL_SYS_DYNAMIC_LINKER], [AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER])]) -m4_ifndef([_LT_AC_TAGCONFIG], [AC_DEFUN([_LT_AC_TAGCONFIG])]) -m4_ifndef([AC_DISABLE_FAST_INSTALL], [AC_DEFUN([AC_DISABLE_FAST_INSTALL])]) -m4_ifndef([_LT_AC_LANG_CXX], [AC_DEFUN([_LT_AC_LANG_CXX])]) -m4_ifndef([_LT_AC_LANG_F77], [AC_DEFUN([_LT_AC_LANG_F77])]) -m4_ifndef([_LT_AC_LANG_GCJ], [AC_DEFUN([_LT_AC_LANG_GCJ])]) -m4_ifndef([AC_LIBTOOL_LANG_C_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG])]) -m4_ifndef([_LT_AC_LANG_C_CONFIG], [AC_DEFUN([_LT_AC_LANG_C_CONFIG])]) -m4_ifndef([AC_LIBTOOL_LANG_CXX_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG])]) -m4_ifndef([_LT_AC_LANG_CXX_CONFIG], [AC_DEFUN([_LT_AC_LANG_CXX_CONFIG])]) -m4_ifndef([AC_LIBTOOL_LANG_F77_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG])]) -m4_ifndef([_LT_AC_LANG_F77_CONFIG], [AC_DEFUN([_LT_AC_LANG_F77_CONFIG])]) -m4_ifndef([AC_LIBTOOL_LANG_GCJ_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG])]) -m4_ifndef([_LT_AC_LANG_GCJ_CONFIG], [AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG])]) -m4_ifndef([AC_LIBTOOL_LANG_RC_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG])]) -m4_ifndef([_LT_AC_LANG_RC_CONFIG], [AC_DEFUN([_LT_AC_LANG_RC_CONFIG])]) -m4_ifndef([AC_LIBTOOL_CONFIG], [AC_DEFUN([AC_LIBTOOL_CONFIG])]) -m4_ifndef([_LT_AC_FILE_LTDLL_C], [AC_DEFUN([_LT_AC_FILE_LTDLL_C])]) -m4_ifndef([_LT_REQUIRED_DARWIN_CHECKS], [AC_DEFUN([_LT_REQUIRED_DARWIN_CHECKS])]) -m4_ifndef([_LT_AC_PROG_CXXCPP], [AC_DEFUN([_LT_AC_PROG_CXXCPP])]) -m4_ifndef([_LT_PREPARE_SED_QUOTE_VARS], [AC_DEFUN([_LT_PREPARE_SED_QUOTE_VARS])]) -m4_ifndef([_LT_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_PROG_ECHO_BACKSLASH])]) -m4_ifndef([_LT_PROG_F77], [AC_DEFUN([_LT_PROG_F77])]) -m4_ifndef([_LT_PROG_FC], [AC_DEFUN([_LT_PROG_FC])]) -m4_ifndef([_LT_PROG_CXX], [AC_DEFUN([_LT_PROG_CXX])]) - -# pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*- -# serial 1 (pkg-config-0.24) -# -# Copyright © 2004 Scott James Remnant . -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -# -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - -# PKG_PROG_PKG_CONFIG([MIN-VERSION]) -# ---------------------------------- -AC_DEFUN([PKG_PROG_PKG_CONFIG], -[m4_pattern_forbid([^_?PKG_[A-Z_]+$]) -m4_pattern_allow([^PKG_CONFIG(_(PATH|LIBDIR|SYSROOT_DIR|ALLOW_SYSTEM_(CFLAGS|LIBS)))?$]) -m4_pattern_allow([^PKG_CONFIG_(DISABLE_UNINSTALLED|TOP_BUILD_DIR|DEBUG_SPEW)$]) -AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility]) -AC_ARG_VAR([PKG_CONFIG_PATH], [directories to add to pkg-config's search path]) -AC_ARG_VAR([PKG_CONFIG_LIBDIR], [path overriding pkg-config's built-in search path]) - -if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then - AC_PATH_TOOL([PKG_CONFIG], [pkg-config]) -fi -if test -n "$PKG_CONFIG"; then - _pkg_min_version=m4_default([$1], [0.9.0]) - AC_MSG_CHECKING([pkg-config is at least version $_pkg_min_version]) - if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then - AC_MSG_RESULT([yes]) - else - AC_MSG_RESULT([no]) - PKG_CONFIG="" - fi -fi[]dnl -])# PKG_PROG_PKG_CONFIG - -# PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) -# -# Check to see whether a particular set of modules exists. Similar -# to PKG_CHECK_MODULES(), but does not set variables or print errors. -# -# Please remember that m4 expands AC_REQUIRE([PKG_PROG_PKG_CONFIG]) -# only at the first occurence in configure.ac, so if the first place -# it's called might be skipped (such as if it is within an "if", you -# have to call PKG_CHECK_EXISTS manually -# -------------------------------------------------------------- -AC_DEFUN([PKG_CHECK_EXISTS], -[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl -if test -n "$PKG_CONFIG" && \ - AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$1"]); then - m4_default([$2], [:]) -m4_ifvaln([$3], [else - $3])dnl -fi]) - -# _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES]) -# --------------------------------------------- -m4_define([_PKG_CONFIG], -[if test -n "$$1"; then - pkg_cv_[]$1="$$1" - elif test -n "$PKG_CONFIG"; then - PKG_CHECK_EXISTS([$3], - [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null` - test "x$?" != "x0" && pkg_failed=yes ], - [pkg_failed=yes]) - else - pkg_failed=untried -fi[]dnl -])# _PKG_CONFIG - -# _PKG_SHORT_ERRORS_SUPPORTED -# ----------------------------- -AC_DEFUN([_PKG_SHORT_ERRORS_SUPPORTED], -[AC_REQUIRE([PKG_PROG_PKG_CONFIG]) -if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then - _pkg_short_errors_supported=yes -else - _pkg_short_errors_supported=no -fi[]dnl -])# _PKG_SHORT_ERRORS_SUPPORTED - - -# PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND], -# [ACTION-IF-NOT-FOUND]) -# -# -# Note that if there is a possibility the first call to -# PKG_CHECK_MODULES might not happen, you should be sure to include an -# explicit call to PKG_PROG_PKG_CONFIG in your configure.ac -# -# -# -------------------------------------------------------------- -AC_DEFUN([PKG_CHECK_MODULES], -[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl -AC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl -AC_ARG_VAR([$1][_LIBS], [linker flags for $1, overriding pkg-config])dnl - -pkg_failed=no -AC_MSG_CHECKING([for $1]) - -_PKG_CONFIG([$1][_CFLAGS], [cflags], [$2]) -_PKG_CONFIG([$1][_LIBS], [libs], [$2]) - -m4_define([_PKG_TEXT], [Alternatively, you may set the environment variables $1[]_CFLAGS -and $1[]_LIBS to avoid the need to call pkg-config. -See the pkg-config man page for more details.]) - -if test $pkg_failed = yes; then - AC_MSG_RESULT([no]) - _PKG_SHORT_ERRORS_SUPPORTED - if test $_pkg_short_errors_supported = yes; then - $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$2" 2>&1` - else - $1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$2" 2>&1` - fi - # Put the nasty error message in config.log where it belongs - echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD - - m4_default([$4], [AC_MSG_ERROR( -[Package requirements ($2) were not met: - -$$1_PKG_ERRORS - -Consider adjusting the PKG_CONFIG_PATH environment variable if you -installed software in a non-standard prefix. - -_PKG_TEXT])[]dnl - ]) -elif test $pkg_failed = untried; then - AC_MSG_RESULT([no]) - m4_default([$4], [AC_MSG_FAILURE( -[The pkg-config script could not be found or is too old. Make sure it -is in your PATH or set the PKG_CONFIG environment variable to the full -path to pkg-config. - -_PKG_TEXT - -To get pkg-config, see .])[]dnl - ]) -else - $1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS - $1[]_LIBS=$pkg_cv_[]$1[]_LIBS - AC_MSG_RESULT([yes]) - $3 -fi[]dnl -])# PKG_CHECK_MODULES - -# Copyright (C) 2002, 2003, 2005, 2006, 2007, 2008, 2011 Free Software -# Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# serial 1 - -# AM_AUTOMAKE_VERSION(VERSION) -# ---------------------------- -# Automake X.Y traces this macro to ensure aclocal.m4 has been -# generated from the m4 files accompanying Automake X.Y. -# (This private macro should not be called outside this file.) -AC_DEFUN([AM_AUTOMAKE_VERSION], -[am__api_version='1.11' -dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to -dnl require some minimum version. Point them to the right macro. -m4_if([$1], [1.11.6], [], - [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl -]) - -# _AM_AUTOCONF_VERSION(VERSION) -# ----------------------------- -# aclocal traces this macro to find the Autoconf version. -# This is a private macro too. Using m4_define simplifies -# the logic in aclocal, which can simply ignore this definition. -m4_define([_AM_AUTOCONF_VERSION], []) - -# AM_SET_CURRENT_AUTOMAKE_VERSION -# ------------------------------- -# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced. -# This function is AC_REQUIREd by AM_INIT_AUTOMAKE. -AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], -[AM_AUTOMAKE_VERSION([1.11.6])dnl -m4_ifndef([AC_AUTOCONF_VERSION], - [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl -_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))]) - -# AM_AUX_DIR_EXPAND -*- Autoconf -*- - -# Copyright (C) 2001, 2003, 2005, 2011 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# serial 1 - -# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets -# $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to -# `$srcdir', `$srcdir/..', or `$srcdir/../..'. -# -# Of course, Automake must honor this variable whenever it calls a -# tool from the auxiliary directory. The problem is that $srcdir (and -# therefore $ac_aux_dir as well) can be either absolute or relative, -# depending on how configure is run. This is pretty annoying, since -# it makes $ac_aux_dir quite unusable in subdirectories: in the top -# source directory, any form will work fine, but in subdirectories a -# relative path needs to be adjusted first. -# -# $ac_aux_dir/missing -# fails when called from a subdirectory if $ac_aux_dir is relative -# $top_srcdir/$ac_aux_dir/missing -# fails if $ac_aux_dir is absolute, -# fails when called from a subdirectory in a VPATH build with -# a relative $ac_aux_dir -# -# The reason of the latter failure is that $top_srcdir and $ac_aux_dir -# are both prefixed by $srcdir. In an in-source build this is usually -# harmless because $srcdir is `.', but things will broke when you -# start a VPATH build or use an absolute $srcdir. -# -# So we could use something similar to $top_srcdir/$ac_aux_dir/missing, -# iff we strip the leading $srcdir from $ac_aux_dir. That would be: -# am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"` -# and then we would define $MISSING as -# MISSING="\${SHELL} $am_aux_dir/missing" -# This will work as long as MISSING is not called from configure, because -# unfortunately $(top_srcdir) has no meaning in configure. -# However there are other variables, like CC, which are often used in -# configure, and could therefore not use this "fixed" $ac_aux_dir. -# -# Another solution, used here, is to always expand $ac_aux_dir to an -# absolute PATH. The drawback is that using absolute paths prevent a -# configured tree to be moved without reconfiguration. - -AC_DEFUN([AM_AUX_DIR_EXPAND], -[dnl Rely on autoconf to set up CDPATH properly. -AC_PREREQ([2.50])dnl -# expand $ac_aux_dir to an absolute path -am_aux_dir=`cd $ac_aux_dir && pwd` -]) - -# AM_CONDITIONAL -*- Autoconf -*- - -# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006, 2008 -# Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# serial 9 - -# AM_CONDITIONAL(NAME, SHELL-CONDITION) -# ------------------------------------- -# Define a conditional. -AC_DEFUN([AM_CONDITIONAL], -[AC_PREREQ(2.52)dnl - ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])], - [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl -AC_SUBST([$1_TRUE])dnl -AC_SUBST([$1_FALSE])dnl -_AM_SUBST_NOTMAKE([$1_TRUE])dnl -_AM_SUBST_NOTMAKE([$1_FALSE])dnl -m4_define([_AM_COND_VALUE_$1], [$2])dnl -if $2; then - $1_TRUE= - $1_FALSE='#' -else - $1_TRUE='#' - $1_FALSE= -fi -AC_CONFIG_COMMANDS_PRE( -[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then - AC_MSG_ERROR([[conditional "$1" was never defined. -Usually this means the macro was only invoked conditionally.]]) -fi])]) - -# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2009, -# 2010, 2011 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# serial 12 - -# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be -# written in clear, in which case automake, when reading aclocal.m4, -# will think it sees a *use*, and therefore will trigger all it's -# C support machinery. Also note that it means that autoscan, seeing -# CC etc. in the Makefile, will ask for an AC_PROG_CC use... - - -# _AM_DEPENDENCIES(NAME) -# ---------------------- -# See how the compiler implements dependency checking. -# NAME is "CC", "CXX", "GCJ", or "OBJC". -# We try a few techniques and use that to set a single cache variable. -# -# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was -# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular -# dependency, and given that the user is not expected to run this macro, -# just rely on AC_PROG_CC. -AC_DEFUN([_AM_DEPENDENCIES], -[AC_REQUIRE([AM_SET_DEPDIR])dnl -AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl -AC_REQUIRE([AM_MAKE_INCLUDE])dnl -AC_REQUIRE([AM_DEP_TRACK])dnl - -ifelse([$1], CC, [depcc="$CC" am_compiler_list=], - [$1], CXX, [depcc="$CXX" am_compiler_list=], - [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'], - [$1], UPC, [depcc="$UPC" am_compiler_list=], - [$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'], - [depcc="$$1" am_compiler_list=]) - -AC_CACHE_CHECK([dependency style of $depcc], - [am_cv_$1_dependencies_compiler_type], -[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then - # We make a subdir and do the tests there. Otherwise we can end up - # making bogus files that we don't know about and never remove. For - # instance it was reported that on HP-UX the gcc test will end up - # making a dummy file named `D' -- because `-MD' means `put the output - # in D'. - rm -rf conftest.dir - mkdir conftest.dir - # Copy depcomp to subdir because otherwise we won't find it if we're - # using a relative directory. - cp "$am_depcomp" conftest.dir - cd conftest.dir - # We will build objects and dependencies in a subdirectory because - # it helps to detect inapplicable dependency modes. For instance - # both Tru64's cc and ICC support -MD to output dependencies as a - # side effect of compilation, but ICC will put the dependencies in - # the current directory while Tru64 will put them in the object - # directory. - mkdir sub - - am_cv_$1_dependencies_compiler_type=none - if test "$am_compiler_list" = ""; then - am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp` - fi - am__universal=false - m4_case([$1], [CC], - [case " $depcc " in #( - *\ -arch\ *\ -arch\ *) am__universal=true ;; - esac], - [CXX], - [case " $depcc " in #( - *\ -arch\ *\ -arch\ *) am__universal=true ;; - esac]) - - for depmode in $am_compiler_list; do - # Setup a source with many dependencies, because some compilers - # like to wrap large dependency lists on column 80 (with \), and - # we should not choose a depcomp mode which is confused by this. - # - # We need to recreate these files for each test, as the compiler may - # overwrite some of them when testing with obscure command lines. - # This happens at least with the AIX C compiler. - : > sub/conftest.c - for i in 1 2 3 4 5 6; do - echo '#include "conftst'$i'.h"' >> sub/conftest.c - # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with - # Solaris 8's {/usr,}/bin/sh. - touch sub/conftst$i.h - done - echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf - - # We check with `-c' and `-o' for the sake of the "dashmstdout" - # mode. It turns out that the SunPro C++ compiler does not properly - # handle `-M -o', and we need to detect this. Also, some Intel - # versions had trouble with output in subdirs - am__obj=sub/conftest.${OBJEXT-o} - am__minus_obj="-o $am__obj" - case $depmode in - gcc) - # This depmode causes a compiler race in universal mode. - test "$am__universal" = false || continue - ;; - nosideeffect) - # after this tag, mechanisms are not by side-effect, so they'll - # only be used when explicitly requested - if test "x$enable_dependency_tracking" = xyes; then - continue - else - break - fi - ;; - msvc7 | msvc7msys | msvisualcpp | msvcmsys) - # This compiler won't grok `-c -o', but also, the minuso test has - # not run yet. These depmodes are late enough in the game, and - # so weak that their functioning should not be impacted. - am__obj=conftest.${OBJEXT-o} - am__minus_obj= - ;; - none) break ;; - esac - if depmode=$depmode \ - source=sub/conftest.c object=$am__obj \ - depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ - $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ - >/dev/null 2>conftest.err && - grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && - grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && - grep $am__obj sub/conftest.Po > /dev/null 2>&1 && - ${MAKE-make} -s -f confmf > /dev/null 2>&1; then - # icc doesn't choke on unknown options, it will just issue warnings - # or remarks (even with -Werror). So we grep stderr for any message - # that says an option was ignored or not supported. - # When given -MP, icc 7.0 and 7.1 complain thusly: - # icc: Command line warning: ignoring option '-M'; no argument required - # The diagnosis changed in icc 8.0: - # icc: Command line remark: option '-MP' not supported - if (grep 'ignoring option' conftest.err || - grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else - am_cv_$1_dependencies_compiler_type=$depmode - break - fi - fi - done - - cd .. - rm -rf conftest.dir -else - am_cv_$1_dependencies_compiler_type=none -fi -]) -AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type]) -AM_CONDITIONAL([am__fastdep$1], [ - test "x$enable_dependency_tracking" != xno \ - && test "$am_cv_$1_dependencies_compiler_type" = gcc3]) -]) - - -# AM_SET_DEPDIR -# ------------- -# Choose a directory name for dependency files. -# This macro is AC_REQUIREd in _AM_DEPENDENCIES -AC_DEFUN([AM_SET_DEPDIR], -[AC_REQUIRE([AM_SET_LEADING_DOT])dnl -AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl -]) - - -# AM_DEP_TRACK -# ------------ -AC_DEFUN([AM_DEP_TRACK], -[AC_ARG_ENABLE(dependency-tracking, -[ --disable-dependency-tracking speeds up one-time build - --enable-dependency-tracking do not reject slow dependency extractors]) -if test "x$enable_dependency_tracking" != xno; then - am_depcomp="$ac_aux_dir/depcomp" - AMDEPBACKSLASH='\' - am__nodep='_no' -fi -AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) -AC_SUBST([AMDEPBACKSLASH])dnl -_AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl -AC_SUBST([am__nodep])dnl -_AM_SUBST_NOTMAKE([am__nodep])dnl -]) - -# Generate code to set up dependency tracking. -*- Autoconf -*- - -# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2008 -# Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -#serial 5 - -# _AM_OUTPUT_DEPENDENCY_COMMANDS -# ------------------------------ -AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], -[{ - # Autoconf 2.62 quotes --file arguments for eval, but not when files - # are listed without --file. Let's play safe and only enable the eval - # if we detect the quoting. - case $CONFIG_FILES in - *\'*) eval set x "$CONFIG_FILES" ;; - *) set x $CONFIG_FILES ;; - esac - shift - for mf - do - # Strip MF so we end up with the name of the file. - mf=`echo "$mf" | sed -e 's/:.*$//'` - # Check whether this is an Automake generated Makefile or not. - # We used to match only the files named `Makefile.in', but - # some people rename them; so instead we look at the file content. - # Grep'ing the first line is not enough: some people post-process - # each Makefile.in and add a new line on top of each file to say so. - # Grep'ing the whole file is not good either: AIX grep has a line - # limit of 2048, but all sed's we know have understand at least 4000. - if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then - dirpart=`AS_DIRNAME("$mf")` - else - continue - fi - # Extract the definition of DEPDIR, am__include, and am__quote - # from the Makefile without running `make'. - DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` - test -z "$DEPDIR" && continue - am__include=`sed -n 's/^am__include = //p' < "$mf"` - test -z "am__include" && continue - am__quote=`sed -n 's/^am__quote = //p' < "$mf"` - # When using ansi2knr, U may be empty or an underscore; expand it - U=`sed -n 's/^U = //p' < "$mf"` - # Find all dependency output files, they are included files with - # $(DEPDIR) in their names. We invoke sed twice because it is the - # simplest approach to changing $(DEPDIR) to its actual value in the - # expansion. - for file in `sed -n " - s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ - sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do - # Make sure the directory exists. - test -f "$dirpart/$file" && continue - fdir=`AS_DIRNAME(["$file"])` - AS_MKDIR_P([$dirpart/$fdir]) - # echo "creating $dirpart/$file" - echo '# dummy' > "$dirpart/$file" - done - done -} -])# _AM_OUTPUT_DEPENDENCY_COMMANDS - - -# AM_OUTPUT_DEPENDENCY_COMMANDS -# ----------------------------- -# This macro should only be invoked once -- use via AC_REQUIRE. -# -# This code is only required when automatic dependency tracking -# is enabled. FIXME. This creates each `.P' file that we will -# need in order to bootstrap the dependency handling code. -AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], -[AC_CONFIG_COMMANDS([depfiles], - [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS], - [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"]) -]) - -# Do all the work for Automake. -*- Autoconf -*- - -# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, -# 2005, 2006, 2008, 2009 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# serial 16 - -# This macro actually does too much. Some checks are only needed if -# your package does certain things. But this isn't really a big deal. - -# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE]) -# AM_INIT_AUTOMAKE([OPTIONS]) -# ----------------------------------------------- -# The call with PACKAGE and VERSION arguments is the old style -# call (pre autoconf-2.50), which is being phased out. PACKAGE -# and VERSION should now be passed to AC_INIT and removed from -# the call to AM_INIT_AUTOMAKE. -# We support both call styles for the transition. After -# the next Automake release, Autoconf can make the AC_INIT -# arguments mandatory, and then we can depend on a new Autoconf -# release and drop the old call support. -AC_DEFUN([AM_INIT_AUTOMAKE], -[AC_PREREQ([2.62])dnl -dnl Autoconf wants to disallow AM_ names. We explicitly allow -dnl the ones we care about. -m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl -AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl -AC_REQUIRE([AC_PROG_INSTALL])dnl -if test "`cd $srcdir && pwd`" != "`pwd`"; then - # Use -I$(srcdir) only when $(srcdir) != ., so that make's output - # is not polluted with repeated "-I." - AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl - # test to see if srcdir already configured - if test -f $srcdir/config.status; then - AC_MSG_ERROR([source directory already configured; run "make distclean" there first]) - fi -fi - -# test whether we have cygpath -if test -z "$CYGPATH_W"; then - if (cygpath --version) >/dev/null 2>/dev/null; then - CYGPATH_W='cygpath -w' - else - CYGPATH_W=echo - fi -fi -AC_SUBST([CYGPATH_W]) - -# Define the identity of the package. -dnl Distinguish between old-style and new-style calls. -m4_ifval([$2], -[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl - AC_SUBST([PACKAGE], [$1])dnl - AC_SUBST([VERSION], [$2])], -[_AM_SET_OPTIONS([$1])dnl -dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT. -m4_if(m4_ifdef([AC_PACKAGE_NAME], 1)m4_ifdef([AC_PACKAGE_VERSION], 1), 11,, - [m4_fatal([AC_INIT should be called with package and version arguments])])dnl - AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl - AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl - -_AM_IF_OPTION([no-define],, -[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package]) - AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl - -# Some tools Automake needs. -AC_REQUIRE([AM_SANITY_CHECK])dnl -AC_REQUIRE([AC_ARG_PROGRAM])dnl -AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version}) -AM_MISSING_PROG(AUTOCONF, autoconf) -AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version}) -AM_MISSING_PROG(AUTOHEADER, autoheader) -AM_MISSING_PROG(MAKEINFO, makeinfo) -AC_REQUIRE([AM_PROG_INSTALL_SH])dnl -AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl -AC_REQUIRE([AM_PROG_MKDIR_P])dnl -# We need awk for the "check" target. The system "awk" is bad on -# some platforms. -AC_REQUIRE([AC_PROG_AWK])dnl -AC_REQUIRE([AC_PROG_MAKE_SET])dnl -AC_REQUIRE([AM_SET_LEADING_DOT])dnl -_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])], - [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])], - [_AM_PROG_TAR([v7])])]) -_AM_IF_OPTION([no-dependencies],, -[AC_PROVIDE_IFELSE([AC_PROG_CC], - [_AM_DEPENDENCIES(CC)], - [define([AC_PROG_CC], - defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl -AC_PROVIDE_IFELSE([AC_PROG_CXX], - [_AM_DEPENDENCIES(CXX)], - [define([AC_PROG_CXX], - defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl -AC_PROVIDE_IFELSE([AC_PROG_OBJC], - [_AM_DEPENDENCIES(OBJC)], - [define([AC_PROG_OBJC], - defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl -]) -_AM_IF_OPTION([silent-rules], [AC_REQUIRE([AM_SILENT_RULES])])dnl -dnl The `parallel-tests' driver may need to know about EXEEXT, so add the -dnl `am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This macro -dnl is hooked onto _AC_COMPILER_EXEEXT early, see below. -AC_CONFIG_COMMANDS_PRE(dnl -[m4_provide_if([_AM_COMPILER_EXEEXT], - [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl -]) - -dnl Hook into `_AC_COMPILER_EXEEXT' early to learn its expansion. Do not -dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further -dnl mangled by Autoconf and run in a shell conditional statement. -m4_define([_AC_COMPILER_EXEEXT], -m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])]) - - -# When config.status generates a header, we must update the stamp-h file. -# This file resides in the same directory as the config header -# that is generated. The stamp files are numbered to have different names. - -# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the -# loop where config.status creates the headers, so we can generate -# our stamp files there. -AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK], -[# Compute $1's index in $config_headers. -_am_arg=$1 -_am_stamp_count=1 -for _am_header in $config_headers :; do - case $_am_header in - $_am_arg | $_am_arg:* ) - break ;; - * ) - _am_stamp_count=`expr $_am_stamp_count + 1` ;; - esac -done -echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count]) - -# Copyright (C) 2001, 2003, 2005, 2008, 2011 Free Software Foundation, -# Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# serial 1 - -# AM_PROG_INSTALL_SH -# ------------------ -# Define $install_sh. -AC_DEFUN([AM_PROG_INSTALL_SH], -[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl -if test x"${install_sh}" != xset; then - case $am_aux_dir in - *\ * | *\ *) - install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; - *) - install_sh="\${SHELL} $am_aux_dir/install-sh" - esac -fi -AC_SUBST(install_sh)]) - -# Copyright (C) 2003, 2005 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# serial 2 - -# Check whether the underlying file-system supports filenames -# with a leading dot. For instance MS-DOS doesn't. -AC_DEFUN([AM_SET_LEADING_DOT], -[rm -rf .tst 2>/dev/null -mkdir .tst 2>/dev/null -if test -d .tst; then - am__leading_dot=. -else - am__leading_dot=_ -fi -rmdir .tst 2>/dev/null -AC_SUBST([am__leading_dot])]) - -# Add --enable-maintainer-mode option to configure. -*- Autoconf -*- -# From Jim Meyering - -# Copyright (C) 1996, 1998, 2000, 2001, 2002, 2003, 2004, 2005, 2008, -# 2011 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# serial 5 - -# AM_MAINTAINER_MODE([DEFAULT-MODE]) -# ---------------------------------- -# Control maintainer-specific portions of Makefiles. -# Default is to disable them, unless `enable' is passed literally. -# For symmetry, `disable' may be passed as well. Anyway, the user -# can override the default with the --enable/--disable switch. -AC_DEFUN([AM_MAINTAINER_MODE], -[m4_case(m4_default([$1], [disable]), - [enable], [m4_define([am_maintainer_other], [disable])], - [disable], [m4_define([am_maintainer_other], [enable])], - [m4_define([am_maintainer_other], [enable]) - m4_warn([syntax], [unexpected argument to AM@&t@_MAINTAINER_MODE: $1])]) -AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles]) - dnl maintainer-mode's default is 'disable' unless 'enable' is passed - AC_ARG_ENABLE([maintainer-mode], -[ --][am_maintainer_other][-maintainer-mode am_maintainer_other make rules and dependencies not useful - (and sometimes confusing) to the casual installer], - [USE_MAINTAINER_MODE=$enableval], - [USE_MAINTAINER_MODE=]m4_if(am_maintainer_other, [enable], [no], [yes])) - AC_MSG_RESULT([$USE_MAINTAINER_MODE]) - AM_CONDITIONAL([MAINTAINER_MODE], [test $USE_MAINTAINER_MODE = yes]) - MAINT=$MAINTAINER_MODE_TRUE - AC_SUBST([MAINT])dnl -] -) - -AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINTAINER_MODE]) - -# Check to see how 'make' treats includes. -*- Autoconf -*- - -# Copyright (C) 2001, 2002, 2003, 2005, 2009 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# serial 4 - -# AM_MAKE_INCLUDE() -# ----------------- -# Check to see how make treats includes. -AC_DEFUN([AM_MAKE_INCLUDE], -[am_make=${MAKE-make} -cat > confinc << 'END' -am__doit: - @echo this is the am__doit target -.PHONY: am__doit -END -# If we don't find an include directive, just comment out the code. -AC_MSG_CHECKING([for style of include used by $am_make]) -am__include="#" -am__quote= -_am_result=none -# First try GNU make style include. -echo "include confinc" > confmf -# Ignore all kinds of additional output from `make'. -case `$am_make -s -f confmf 2> /dev/null` in #( -*the\ am__doit\ target*) - am__include=include - am__quote= - _am_result=GNU - ;; -esac -# Now try BSD make style include. -if test "$am__include" = "#"; then - echo '.include "confinc"' > confmf - case `$am_make -s -f confmf 2> /dev/null` in #( - *the\ am__doit\ target*) - am__include=.include - am__quote="\"" - _am_result=BSD - ;; - esac -fi -AC_SUBST([am__include]) -AC_SUBST([am__quote]) -AC_MSG_RESULT([$_am_result]) -rm -f confinc confmf -]) - -# Copyright (C) 1999, 2000, 2001, 2003, 2004, 2005, 2008 -# Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# serial 6 - -# AM_PROG_CC_C_O -# -------------- -# Like AC_PROG_CC_C_O, but changed for automake. -AC_DEFUN([AM_PROG_CC_C_O], -[AC_REQUIRE([AC_PROG_CC_C_O])dnl -AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl -AC_REQUIRE_AUX_FILE([compile])dnl -# FIXME: we rely on the cache variable name because -# there is no other way. -set dummy $CC -am_cc=`echo $[2] | sed ['s/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/']` -eval am_t=\$ac_cv_prog_cc_${am_cc}_c_o -if test "$am_t" != yes; then - # Losing compiler, so override with the script. - # FIXME: It is wrong to rewrite CC. - # But if we don't then we get into trouble of one sort or another. - # A longer-term fix would be to have automake use am__CC in this case, - # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" - CC="$am_aux_dir/compile $CC" -fi -dnl Make sure AC_PROG_CC is never called again, or it will override our -dnl setting of CC. -m4_define([AC_PROG_CC], - [m4_fatal([AC_PROG_CC cannot be called after AM_PROG_CC_C_O])]) -]) - -# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- - -# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005, 2008 -# Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# serial 6 - -# AM_MISSING_PROG(NAME, PROGRAM) -# ------------------------------ -AC_DEFUN([AM_MISSING_PROG], -[AC_REQUIRE([AM_MISSING_HAS_RUN]) -$1=${$1-"${am_missing_run}$2"} -AC_SUBST($1)]) - - -# AM_MISSING_HAS_RUN -# ------------------ -# Define MISSING if not defined so far and test if it supports --run. -# If it does, set am_missing_run to use it, otherwise, to nothing. -AC_DEFUN([AM_MISSING_HAS_RUN], -[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl -AC_REQUIRE_AUX_FILE([missing])dnl -if test x"${MISSING+set}" != xset; then - case $am_aux_dir in - *\ * | *\ *) - MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;; - *) - MISSING="\${SHELL} $am_aux_dir/missing" ;; - esac -fi -# Use eval to expand $SHELL -if eval "$MISSING --run true"; then - am_missing_run="$MISSING --run " -else - am_missing_run= - AC_MSG_WARN([`missing' script is too old or missing]) -fi -]) - -# Copyright (C) 2003, 2004, 2005, 2006, 2011 Free Software Foundation, -# Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# serial 1 - -# AM_PROG_MKDIR_P -# --------------- -# Check for `mkdir -p'. -AC_DEFUN([AM_PROG_MKDIR_P], -[AC_PREREQ([2.60])dnl -AC_REQUIRE([AC_PROG_MKDIR_P])dnl -dnl Automake 1.8 to 1.9.6 used to define mkdir_p. We now use MKDIR_P, -dnl while keeping a definition of mkdir_p for backward compatibility. -dnl @MKDIR_P@ is magic: AC_OUTPUT adjusts its value for each Makefile. -dnl However we cannot define mkdir_p as $(MKDIR_P) for the sake of -dnl Makefile.ins that do not define MKDIR_P, so we do our own -dnl adjustment using top_builddir (which is defined more often than -dnl MKDIR_P). -AC_SUBST([mkdir_p], ["$MKDIR_P"])dnl -case $mkdir_p in - [[\\/$]]* | ?:[[\\/]]*) ;; - */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;; -esac -]) - -# Helper functions for option handling. -*- Autoconf -*- - -# Copyright (C) 2001, 2002, 2003, 2005, 2008, 2010 Free Software -# Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# serial 5 - -# _AM_MANGLE_OPTION(NAME) -# ----------------------- -AC_DEFUN([_AM_MANGLE_OPTION], -[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])]) - -# _AM_SET_OPTION(NAME) -# -------------------- -# Set option NAME. Presently that only means defining a flag for this option. -AC_DEFUN([_AM_SET_OPTION], -[m4_define(_AM_MANGLE_OPTION([$1]), 1)]) - -# _AM_SET_OPTIONS(OPTIONS) -# ------------------------ -# OPTIONS is a space-separated list of Automake options. -AC_DEFUN([_AM_SET_OPTIONS], -[m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])]) - -# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET]) -# ------------------------------------------- -# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. -AC_DEFUN([_AM_IF_OPTION], -[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) - -# Copyright (C) 2001, 2003, 2005, 2011 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# serial 1 - -# AM_RUN_LOG(COMMAND) -# ------------------- -# Run COMMAND, save the exit status in ac_status, and log it. -# (This has been adapted from Autoconf's _AC_RUN_LOG macro.) -AC_DEFUN([AM_RUN_LOG], -[{ echo "$as_me:$LINENO: $1" >&AS_MESSAGE_LOG_FD - ($1) >&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD - (exit $ac_status); }]) - -# Check to make sure that the build environment is sane. -*- Autoconf -*- - -# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005, 2008 -# Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# serial 5 - -# AM_SANITY_CHECK -# --------------- -AC_DEFUN([AM_SANITY_CHECK], -[AC_MSG_CHECKING([whether build environment is sane]) -# Just in case -sleep 1 -echo timestamp > conftest.file -# Reject unsafe characters in $srcdir or the absolute working directory -# name. Accept space and tab only in the latter. -am_lf=' -' -case `pwd` in - *[[\\\"\#\$\&\'\`$am_lf]]*) - AC_MSG_ERROR([unsafe absolute working directory name]);; -esac -case $srcdir in - *[[\\\"\#\$\&\'\`$am_lf\ \ ]]*) - AC_MSG_ERROR([unsafe srcdir value: `$srcdir']);; -esac - -# Do `set' in a subshell so we don't clobber the current shell's -# arguments. Must try -L first in case configure is actually a -# symlink; some systems play weird games with the mod time of symlinks -# (eg FreeBSD returns the mod time of the symlink's containing -# directory). -if ( - set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` - if test "$[*]" = "X"; then - # -L didn't work. - set X `ls -t "$srcdir/configure" conftest.file` - fi - rm -f conftest.file - if test "$[*]" != "X $srcdir/configure conftest.file" \ - && test "$[*]" != "X conftest.file $srcdir/configure"; then - - # If neither matched, then we have a broken ls. This can happen - # if, for instance, CONFIG_SHELL is bash and it inherits a - # broken ls alias from the environment. This has actually - # happened. Such a system could not be considered "sane". - AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken -alias in your environment]) - fi - - test "$[2]" = conftest.file - ) -then - # Ok. - : -else - AC_MSG_ERROR([newly created file is older than distributed files! -Check your system clock]) -fi -AC_MSG_RESULT(yes)]) - -# Copyright (C) 2009, 2011 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# serial 2 - -# AM_SILENT_RULES([DEFAULT]) -# -------------------------- -# Enable less verbose build rules; with the default set to DEFAULT -# (`yes' being less verbose, `no' or empty being verbose). -AC_DEFUN([AM_SILENT_RULES], -[AC_ARG_ENABLE([silent-rules], -[ --enable-silent-rules less verbose build output (undo: `make V=1') - --disable-silent-rules verbose build output (undo: `make V=0')]) -case $enable_silent_rules in -yes) AM_DEFAULT_VERBOSITY=0;; -no) AM_DEFAULT_VERBOSITY=1;; -*) AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1]);; -esac -dnl -dnl A few `make' implementations (e.g., NonStop OS and NextStep) -dnl do not support nested variable expansions. -dnl See automake bug#9928 and bug#10237. -am_make=${MAKE-make} -AC_CACHE_CHECK([whether $am_make supports nested variables], - [am_cv_make_support_nested_variables], - [if AS_ECHO([['TRUE=$(BAR$(V)) -BAR0=false -BAR1=true -V=1 -am__doit: - @$(TRUE) -.PHONY: am__doit']]) | $am_make -f - >/dev/null 2>&1; then - am_cv_make_support_nested_variables=yes -else - am_cv_make_support_nested_variables=no -fi]) -if test $am_cv_make_support_nested_variables = yes; then - dnl Using `$V' instead of `$(V)' breaks IRIX make. - AM_V='$(V)' - AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' -else - AM_V=$AM_DEFAULT_VERBOSITY - AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY -fi -AC_SUBST([AM_V])dnl -AM_SUBST_NOTMAKE([AM_V])dnl -AC_SUBST([AM_DEFAULT_V])dnl -AM_SUBST_NOTMAKE([AM_DEFAULT_V])dnl -AC_SUBST([AM_DEFAULT_VERBOSITY])dnl -AM_BACKSLASH='\' -AC_SUBST([AM_BACKSLASH])dnl -_AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl -]) - -# Copyright (C) 2001, 2003, 2005, 2011 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# serial 1 - -# AM_PROG_INSTALL_STRIP -# --------------------- -# One issue with vendor `install' (even GNU) is that you can't -# specify the program used to strip binaries. This is especially -# annoying in cross-compiling environments, where the build's strip -# is unlikely to handle the host's binaries. -# Fortunately install-sh will honor a STRIPPROG variable, so we -# always use install-sh in `make install-strip', and initialize -# STRIPPROG with the value of the STRIP variable (set by the user). -AC_DEFUN([AM_PROG_INSTALL_STRIP], -[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl -# Installed binaries are usually stripped using `strip' when the user -# run `make install-strip'. However `strip' might not be the right -# tool to use in cross-compilation environments, therefore Automake -# will honor the `STRIP' environment variable to overrule this program. -dnl Don't test for $cross_compiling = yes, because it might be `maybe'. -if test "$cross_compiling" != no; then - AC_CHECK_TOOL([STRIP], [strip], :) -fi -INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" -AC_SUBST([INSTALL_STRIP_PROGRAM])]) - -# Copyright (C) 2006, 2008, 2010 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# serial 3 - -# _AM_SUBST_NOTMAKE(VARIABLE) -# --------------------------- -# Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in. -# This macro is traced by Automake. -AC_DEFUN([_AM_SUBST_NOTMAKE]) - -# AM_SUBST_NOTMAKE(VARIABLE) -# -------------------------- -# Public sister of _AM_SUBST_NOTMAKE. -AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)]) - -# Check how to create a tarball. -*- Autoconf -*- - -# Copyright (C) 2004, 2005, 2012 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# serial 2 - -# _AM_PROG_TAR(FORMAT) -# -------------------- -# Check how to create a tarball in format FORMAT. -# FORMAT should be one of `v7', `ustar', or `pax'. -# -# Substitute a variable $(am__tar) that is a command -# writing to stdout a FORMAT-tarball containing the directory -# $tardir. -# tardir=directory && $(am__tar) > result.tar -# -# Substitute a variable $(am__untar) that extract such -# a tarball read from stdin. -# $(am__untar) < result.tar -AC_DEFUN([_AM_PROG_TAR], -[# Always define AMTAR for backward compatibility. Yes, it's still used -# in the wild :-( We should find a proper way to deprecate it ... -AC_SUBST([AMTAR], ['$${TAR-tar}']) -m4_if([$1], [v7], - [am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'], - [m4_case([$1], [ustar],, [pax],, - [m4_fatal([Unknown tar format])]) -AC_MSG_CHECKING([how to create a $1 tar archive]) -# Loop over all known methods to create a tar archive until one works. -_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none' -_am_tools=${am_cv_prog_tar_$1-$_am_tools} -# Do not fold the above two line into one, because Tru64 sh and -# Solaris sh will not grok spaces in the rhs of `-'. -for _am_tool in $_am_tools -do - case $_am_tool in - gnutar) - for _am_tar in tar gnutar gtar; - do - AM_RUN_LOG([$_am_tar --version]) && break - done - am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"' - am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"' - am__untar="$_am_tar -xf -" - ;; - plaintar) - # Must skip GNU tar: if it does not support --format= it doesn't create - # ustar tarball either. - (tar --version) >/dev/null 2>&1 && continue - am__tar='tar chf - "$$tardir"' - am__tar_='tar chf - "$tardir"' - am__untar='tar xf -' - ;; - pax) - am__tar='pax -L -x $1 -w "$$tardir"' - am__tar_='pax -L -x $1 -w "$tardir"' - am__untar='pax -r' - ;; - cpio) - am__tar='find "$$tardir" -print | cpio -o -H $1 -L' - am__tar_='find "$tardir" -print | cpio -o -H $1 -L' - am__untar='cpio -i -H $1 -d' - ;; - none) - am__tar=false - am__tar_=false - am__untar=false - ;; - esac - - # If the value was cached, stop now. We just wanted to have am__tar - # and am__untar set. - test -n "${am_cv_prog_tar_$1}" && break - - # tar/untar a dummy directory, and stop if the command works - rm -rf conftest.dir - mkdir conftest.dir - echo GrepMe > conftest.dir/file - AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar]) - rm -rf conftest.dir - if test -s conftest.tar; then - AM_RUN_LOG([$am__untar /dev/null 2>&1 && break - fi -done -rm -rf conftest.dir - -AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool]) -AC_MSG_RESULT([$am_cv_prog_tar_$1])]) -AC_SUBST([am__tar]) -AC_SUBST([am__untar]) -]) # _AM_PROG_TAR - -m4_include([acinclude.m4]) diff --git a/GRIB_BLE_HUB/libs/ble_extend/attrib/.deps/.dirstamp b/GRIB_BLE_HUB/libs/ble_extend/attrib/.deps/.dirstamp deleted file mode 100644 index e69de29..0000000 diff --git a/GRIB_BLE_HUB/libs/ble_extend/attrib/.deps/att.Po b/GRIB_BLE_HUB/libs/ble_extend/attrib/.deps/att.Po deleted file mode 100644 index a4d266a..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/attrib/.deps/att.Po +++ /dev/null @@ -1,464 +0,0 @@ -attrib/att.o: attrib/att.c /usr/include/stdc-predef.h config.h \ - /usr/include/errno.h /usr/include/features.h \ - /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/include/arm-linux-gnueabihf/bits/errno.h /usr/include/linux/errno.h \ - /usr/include/arm-linux-gnueabihf/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h \ - /usr/include/stdint.h /usr/include/arm-linux-gnueabihf/bits/wchar.h \ - /usr/include/stdlib.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/include/arm-linux-gnueabihf/bits/waitflags.h \ - /usr/include/arm-linux-gnueabihf/bits/waitstatus.h /usr/include/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/xlocale.h /usr/include/arm-linux-gnueabihf/sys/types.h \ - /usr/include/time.h /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/alloca.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-float.h \ - lib/bluetooth/bluetooth.h /usr/include/stdio.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/sys_errlist.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio.h /usr/include/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string2.h /usr/include/byteswap.h \ - /usr/include/netinet/in.h /usr/include/arm-linux-gnueabihf/sys/socket.h \ - /usr/include/arm-linux-gnueabihf/sys/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/socket.h \ - /usr/include/arm-linux-gnueabihf/bits/socket_type.h \ - /usr/include/arm-linux-gnueabihf/bits/sockaddr.h \ - /usr/include/arm-linux-gnueabihf/asm/socket.h \ - /usr/include/asm-generic/socket.h \ - /usr/include/arm-linux-gnueabihf/asm/sockios.h \ - /usr/include/asm-generic/sockios.h \ - /usr/include/arm-linux-gnueabihf/bits/in.h /usr/include/glib-2.0/glib.h \ - /usr/include/glib-2.0/glib/galloca.h /usr/include/glib-2.0/glib/gtypes.h \ - /usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h \ - /usr/include/glib-2.0/glib/gmacros.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h \ - /usr/include/limits.h /usr/include/arm-linux-gnueabihf/bits/posix1_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/local_lim.h \ - /usr/include/linux/limits.h \ - /usr/include/arm-linux-gnueabihf/bits/posix2_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/xopen_lim.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h \ - /usr/include/glib-2.0/glib/gversionmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/timex.h \ - /usr/include/glib-2.0/glib/garray.h \ - /usr/include/glib-2.0/glib/gasyncqueue.h \ - /usr/include/glib-2.0/glib/gthread.h \ - /usr/include/glib-2.0/glib/gatomic.h /usr/include/glib-2.0/glib/gerror.h \ - /usr/include/glib-2.0/glib/gquark.h \ - /usr/include/glib-2.0/glib/gbacktrace.h /usr/include/signal.h \ - /usr/include/arm-linux-gnueabihf/bits/signum.h \ - /usr/include/arm-linux-gnueabihf/bits/siginfo.h \ - /usr/include/arm-linux-gnueabihf/bits/sigaction.h \ - /usr/include/arm-linux-gnueabihf/bits/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/asm/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigstack.h \ - /usr/include/arm-linux-gnueabihf/sys/ucontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigthread.h \ - /usr/include/glib-2.0/glib/gbase64.h \ - /usr/include/glib-2.0/glib/gbitlock.h \ - /usr/include/glib-2.0/glib/gbookmarkfile.h \ - /usr/include/glib-2.0/glib/gbytes.h \ - /usr/include/glib-2.0/glib/gcharset.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/gconvert.h \ - /usr/include/glib-2.0/glib/gdataset.h /usr/include/glib-2.0/glib/gdate.h \ - /usr/include/glib-2.0/glib/gdatetime.h \ - /usr/include/glib-2.0/glib/gtimezone.h /usr/include/glib-2.0/glib/gdir.h \ - /usr/include/dirent.h /usr/include/arm-linux-gnueabihf/bits/dirent.h \ - /usr/include/glib-2.0/glib/genviron.h \ - /usr/include/glib-2.0/glib/gfileutils.h \ - /usr/include/glib-2.0/glib/ggettext.h /usr/include/glib-2.0/glib/ghash.h \ - /usr/include/glib-2.0/glib/glist.h /usr/include/glib-2.0/glib/gmem.h \ - /usr/include/glib-2.0/glib/gnode.h /usr/include/glib-2.0/glib/ghmac.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/ghook.h \ - /usr/include/glib-2.0/glib/ghostutils.h \ - /usr/include/glib-2.0/glib/giochannel.h \ - /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gpoll.h \ - /usr/include/glib-2.0/glib/gslist.h /usr/include/glib-2.0/glib/gstring.h \ - /usr/include/glib-2.0/glib/gunicode.h \ - /usr/include/glib-2.0/glib/gutils.h \ - /usr/include/glib-2.0/glib/gkeyfile.h \ - /usr/include/glib-2.0/glib/gmappedfile.h \ - /usr/include/glib-2.0/glib/gmarkup.h \ - /usr/include/glib-2.0/glib/gmessages.h \ - /usr/include/glib-2.0/glib/goption.h \ - /usr/include/glib-2.0/glib/gpattern.h \ - /usr/include/glib-2.0/glib/gprimes.h /usr/include/glib-2.0/glib/gqsort.h \ - /usr/include/glib-2.0/glib/gqueue.h /usr/include/glib-2.0/glib/grand.h \ - /usr/include/glib-2.0/glib/gregex.h \ - /usr/include/glib-2.0/glib/gscanner.h \ - /usr/include/glib-2.0/glib/gsequence.h \ - /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gslice.h \ - /usr/include/glib-2.0/glib/gspawn.h \ - /usr/include/glib-2.0/glib/gstrfuncs.h \ - /usr/include/glib-2.0/glib/gstringchunk.h \ - /usr/include/glib-2.0/glib/gtestutils.h \ - /usr/include/glib-2.0/glib/gthreadpool.h \ - /usr/include/glib-2.0/glib/gtimer.h \ - /usr/include/glib-2.0/glib/gtrashstack.h \ - /usr/include/glib-2.0/glib/gtree.h \ - /usr/include/glib-2.0/glib/gurifuncs.h \ - /usr/include/glib-2.0/glib/gvarianttype.h \ - /usr/include/glib-2.0/glib/gvariant.h \ - /usr/include/glib-2.0/glib/gversion.h \ - /usr/include/glib-2.0/glib/deprecated/gallocator.h \ - /usr/include/glib-2.0/glib/deprecated/gcache.h \ - /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ - /usr/include/glib-2.0/glib/deprecated/gmain.h \ - /usr/include/glib-2.0/glib/deprecated/grel.h \ - /usr/include/glib-2.0/glib/deprecated/gthread.h /usr/include/pthread.h \ - /usr/include/sched.h /usr/include/arm-linux-gnueabihf/bits/sched.h \ - /usr/include/arm-linux-gnueabihf/bits/setjmp.h lib/uuid.h attrib/att.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/include/errno.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/include/arm-linux-gnueabihf/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/arm-linux-gnueabihf/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/arm-linux-gnueabihf/bits/wchar.h: - -/usr/include/stdlib.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/include/arm-linux-gnueabihf/bits/waitflags.h: - -/usr/include/arm-linux-gnueabihf/bits/waitstatus.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/xlocale.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/time.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/alloca.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-float.h: - -lib/bluetooth/bluetooth.h: - -/usr/include/stdio.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/sys_errlist.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio.h: - -/usr/include/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string2.h: - -/usr/include/byteswap.h: - -/usr/include/netinet/in.h: - -/usr/include/arm-linux-gnueabihf/sys/socket.h: - -/usr/include/arm-linux-gnueabihf/sys/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/socket.h: - -/usr/include/arm-linux-gnueabihf/bits/socket_type.h: - -/usr/include/arm-linux-gnueabihf/bits/sockaddr.h: - -/usr/include/arm-linux-gnueabihf/asm/socket.h: - -/usr/include/asm-generic/socket.h: - -/usr/include/arm-linux-gnueabihf/asm/sockios.h: - -/usr/include/asm-generic/sockios.h: - -/usr/include/arm-linux-gnueabihf/bits/in.h: - -/usr/include/glib-2.0/glib.h: - -/usr/include/glib-2.0/glib/galloca.h: - -/usr/include/glib-2.0/glib/gtypes.h: - -/usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h: - -/usr/include/glib-2.0/glib/gmacros.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h: - -/usr/include/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/local_lim.h: - -/usr/include/linux/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix2_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/xopen_lim.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h: - -/usr/include/glib-2.0/glib/gversionmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/timex.h: - -/usr/include/glib-2.0/glib/garray.h: - -/usr/include/glib-2.0/glib/gasyncqueue.h: - -/usr/include/glib-2.0/glib/gthread.h: - -/usr/include/glib-2.0/glib/gatomic.h: - -/usr/include/glib-2.0/glib/gerror.h: - -/usr/include/glib-2.0/glib/gquark.h: - -/usr/include/glib-2.0/glib/gbacktrace.h: - -/usr/include/signal.h: - -/usr/include/arm-linux-gnueabihf/bits/signum.h: - -/usr/include/arm-linux-gnueabihf/bits/siginfo.h: - -/usr/include/arm-linux-gnueabihf/bits/sigaction.h: - -/usr/include/arm-linux-gnueabihf/bits/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/asm/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigstack.h: - -/usr/include/arm-linux-gnueabihf/sys/ucontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigthread.h: - -/usr/include/glib-2.0/glib/gbase64.h: - -/usr/include/glib-2.0/glib/gbitlock.h: - -/usr/include/glib-2.0/glib/gbookmarkfile.h: - -/usr/include/glib-2.0/glib/gbytes.h: - -/usr/include/glib-2.0/glib/gcharset.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/gconvert.h: - -/usr/include/glib-2.0/glib/gdataset.h: - -/usr/include/glib-2.0/glib/gdate.h: - -/usr/include/glib-2.0/glib/gdatetime.h: - -/usr/include/glib-2.0/glib/gtimezone.h: - -/usr/include/glib-2.0/glib/gdir.h: - -/usr/include/dirent.h: - -/usr/include/arm-linux-gnueabihf/bits/dirent.h: - -/usr/include/glib-2.0/glib/genviron.h: - -/usr/include/glib-2.0/glib/gfileutils.h: - -/usr/include/glib-2.0/glib/ggettext.h: - -/usr/include/glib-2.0/glib/ghash.h: - -/usr/include/glib-2.0/glib/glist.h: - -/usr/include/glib-2.0/glib/gmem.h: - -/usr/include/glib-2.0/glib/gnode.h: - -/usr/include/glib-2.0/glib/ghmac.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/ghook.h: - -/usr/include/glib-2.0/glib/ghostutils.h: - -/usr/include/glib-2.0/glib/giochannel.h: - -/usr/include/glib-2.0/glib/gmain.h: - -/usr/include/glib-2.0/glib/gpoll.h: - -/usr/include/glib-2.0/glib/gslist.h: - -/usr/include/glib-2.0/glib/gstring.h: - -/usr/include/glib-2.0/glib/gunicode.h: - -/usr/include/glib-2.0/glib/gutils.h: - -/usr/include/glib-2.0/glib/gkeyfile.h: - -/usr/include/glib-2.0/glib/gmappedfile.h: - -/usr/include/glib-2.0/glib/gmarkup.h: - -/usr/include/glib-2.0/glib/gmessages.h: - -/usr/include/glib-2.0/glib/goption.h: - -/usr/include/glib-2.0/glib/gpattern.h: - -/usr/include/glib-2.0/glib/gprimes.h: - -/usr/include/glib-2.0/glib/gqsort.h: - -/usr/include/glib-2.0/glib/gqueue.h: - -/usr/include/glib-2.0/glib/grand.h: - -/usr/include/glib-2.0/glib/gregex.h: - -/usr/include/glib-2.0/glib/gscanner.h: - -/usr/include/glib-2.0/glib/gsequence.h: - -/usr/include/glib-2.0/glib/gshell.h: - -/usr/include/glib-2.0/glib/gslice.h: - -/usr/include/glib-2.0/glib/gspawn.h: - -/usr/include/glib-2.0/glib/gstrfuncs.h: - -/usr/include/glib-2.0/glib/gstringchunk.h: - -/usr/include/glib-2.0/glib/gtestutils.h: - -/usr/include/glib-2.0/glib/gthreadpool.h: - -/usr/include/glib-2.0/glib/gtimer.h: - -/usr/include/glib-2.0/glib/gtrashstack.h: - -/usr/include/glib-2.0/glib/gtree.h: - -/usr/include/glib-2.0/glib/gurifuncs.h: - -/usr/include/glib-2.0/glib/gvarianttype.h: - -/usr/include/glib-2.0/glib/gvariant.h: - -/usr/include/glib-2.0/glib/gversion.h: - -/usr/include/glib-2.0/glib/deprecated/gallocator.h: - -/usr/include/glib-2.0/glib/deprecated/gcache.h: - -/usr/include/glib-2.0/glib/deprecated/gcompletion.h: - -/usr/include/glib-2.0/glib/deprecated/gmain.h: - -/usr/include/glib-2.0/glib/deprecated/grel.h: - -/usr/include/glib-2.0/glib/deprecated/gthread.h: - -/usr/include/pthread.h: - -/usr/include/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/setjmp.h: - -lib/uuid.h: - -attrib/att.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/attrib/.deps/bluetoothd-att.Po b/GRIB_BLE_HUB/libs/ble_extend/attrib/.deps/bluetoothd-att.Po deleted file mode 100644 index 740424e..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/attrib/.deps/bluetoothd-att.Po +++ /dev/null @@ -1,464 +0,0 @@ -attrib/bluetoothd-att.o: attrib/att.c /usr/include/stdc-predef.h config.h \ - /usr/include/errno.h /usr/include/features.h \ - /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/include/arm-linux-gnueabihf/bits/errno.h /usr/include/linux/errno.h \ - /usr/include/arm-linux-gnueabihf/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h \ - /usr/include/stdint.h /usr/include/arm-linux-gnueabihf/bits/wchar.h \ - /usr/include/stdlib.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/include/arm-linux-gnueabihf/bits/waitflags.h \ - /usr/include/arm-linux-gnueabihf/bits/waitstatus.h /usr/include/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/xlocale.h /usr/include/arm-linux-gnueabihf/sys/types.h \ - /usr/include/time.h /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/alloca.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-float.h \ - lib/bluetooth/bluetooth.h /usr/include/stdio.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/sys_errlist.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio.h /usr/include/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string2.h /usr/include/byteswap.h \ - /usr/include/netinet/in.h /usr/include/arm-linux-gnueabihf/sys/socket.h \ - /usr/include/arm-linux-gnueabihf/sys/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/socket.h \ - /usr/include/arm-linux-gnueabihf/bits/socket_type.h \ - /usr/include/arm-linux-gnueabihf/bits/sockaddr.h \ - /usr/include/arm-linux-gnueabihf/asm/socket.h \ - /usr/include/asm-generic/socket.h \ - /usr/include/arm-linux-gnueabihf/asm/sockios.h \ - /usr/include/asm-generic/sockios.h \ - /usr/include/arm-linux-gnueabihf/bits/in.h /usr/include/glib-2.0/glib.h \ - /usr/include/glib-2.0/glib/galloca.h /usr/include/glib-2.0/glib/gtypes.h \ - /usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h \ - /usr/include/glib-2.0/glib/gmacros.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h \ - /usr/include/limits.h /usr/include/arm-linux-gnueabihf/bits/posix1_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/local_lim.h \ - /usr/include/linux/limits.h \ - /usr/include/arm-linux-gnueabihf/bits/posix2_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/xopen_lim.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h \ - /usr/include/glib-2.0/glib/gversionmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/timex.h \ - /usr/include/glib-2.0/glib/garray.h \ - /usr/include/glib-2.0/glib/gasyncqueue.h \ - /usr/include/glib-2.0/glib/gthread.h \ - /usr/include/glib-2.0/glib/gatomic.h /usr/include/glib-2.0/glib/gerror.h \ - /usr/include/glib-2.0/glib/gquark.h \ - /usr/include/glib-2.0/glib/gbacktrace.h /usr/include/signal.h \ - /usr/include/arm-linux-gnueabihf/bits/signum.h \ - /usr/include/arm-linux-gnueabihf/bits/siginfo.h \ - /usr/include/arm-linux-gnueabihf/bits/sigaction.h \ - /usr/include/arm-linux-gnueabihf/bits/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/asm/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigstack.h \ - /usr/include/arm-linux-gnueabihf/sys/ucontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigthread.h \ - /usr/include/glib-2.0/glib/gbase64.h \ - /usr/include/glib-2.0/glib/gbitlock.h \ - /usr/include/glib-2.0/glib/gbookmarkfile.h \ - /usr/include/glib-2.0/glib/gbytes.h \ - /usr/include/glib-2.0/glib/gcharset.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/gconvert.h \ - /usr/include/glib-2.0/glib/gdataset.h /usr/include/glib-2.0/glib/gdate.h \ - /usr/include/glib-2.0/glib/gdatetime.h \ - /usr/include/glib-2.0/glib/gtimezone.h /usr/include/glib-2.0/glib/gdir.h \ - /usr/include/dirent.h /usr/include/arm-linux-gnueabihf/bits/dirent.h \ - /usr/include/glib-2.0/glib/genviron.h \ - /usr/include/glib-2.0/glib/gfileutils.h \ - /usr/include/glib-2.0/glib/ggettext.h /usr/include/glib-2.0/glib/ghash.h \ - /usr/include/glib-2.0/glib/glist.h /usr/include/glib-2.0/glib/gmem.h \ - /usr/include/glib-2.0/glib/gnode.h /usr/include/glib-2.0/glib/ghmac.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/ghook.h \ - /usr/include/glib-2.0/glib/ghostutils.h \ - /usr/include/glib-2.0/glib/giochannel.h \ - /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gpoll.h \ - /usr/include/glib-2.0/glib/gslist.h /usr/include/glib-2.0/glib/gstring.h \ - /usr/include/glib-2.0/glib/gunicode.h \ - /usr/include/glib-2.0/glib/gutils.h \ - /usr/include/glib-2.0/glib/gkeyfile.h \ - /usr/include/glib-2.0/glib/gmappedfile.h \ - /usr/include/glib-2.0/glib/gmarkup.h \ - /usr/include/glib-2.0/glib/gmessages.h \ - /usr/include/glib-2.0/glib/goption.h \ - /usr/include/glib-2.0/glib/gpattern.h \ - /usr/include/glib-2.0/glib/gprimes.h /usr/include/glib-2.0/glib/gqsort.h \ - /usr/include/glib-2.0/glib/gqueue.h /usr/include/glib-2.0/glib/grand.h \ - /usr/include/glib-2.0/glib/gregex.h \ - /usr/include/glib-2.0/glib/gscanner.h \ - /usr/include/glib-2.0/glib/gsequence.h \ - /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gslice.h \ - /usr/include/glib-2.0/glib/gspawn.h \ - /usr/include/glib-2.0/glib/gstrfuncs.h \ - /usr/include/glib-2.0/glib/gstringchunk.h \ - /usr/include/glib-2.0/glib/gtestutils.h \ - /usr/include/glib-2.0/glib/gthreadpool.h \ - /usr/include/glib-2.0/glib/gtimer.h \ - /usr/include/glib-2.0/glib/gtrashstack.h \ - /usr/include/glib-2.0/glib/gtree.h \ - /usr/include/glib-2.0/glib/gurifuncs.h \ - /usr/include/glib-2.0/glib/gvarianttype.h \ - /usr/include/glib-2.0/glib/gvariant.h \ - /usr/include/glib-2.0/glib/gversion.h \ - /usr/include/glib-2.0/glib/deprecated/gallocator.h \ - /usr/include/glib-2.0/glib/deprecated/gcache.h \ - /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ - /usr/include/glib-2.0/glib/deprecated/gmain.h \ - /usr/include/glib-2.0/glib/deprecated/grel.h \ - /usr/include/glib-2.0/glib/deprecated/gthread.h /usr/include/pthread.h \ - /usr/include/sched.h /usr/include/arm-linux-gnueabihf/bits/sched.h \ - /usr/include/arm-linux-gnueabihf/bits/setjmp.h lib/uuid.h attrib/att.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/include/errno.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/include/arm-linux-gnueabihf/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/arm-linux-gnueabihf/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/arm-linux-gnueabihf/bits/wchar.h: - -/usr/include/stdlib.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/include/arm-linux-gnueabihf/bits/waitflags.h: - -/usr/include/arm-linux-gnueabihf/bits/waitstatus.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/xlocale.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/time.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/alloca.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-float.h: - -lib/bluetooth/bluetooth.h: - -/usr/include/stdio.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/sys_errlist.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio.h: - -/usr/include/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string2.h: - -/usr/include/byteswap.h: - -/usr/include/netinet/in.h: - -/usr/include/arm-linux-gnueabihf/sys/socket.h: - -/usr/include/arm-linux-gnueabihf/sys/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/socket.h: - -/usr/include/arm-linux-gnueabihf/bits/socket_type.h: - -/usr/include/arm-linux-gnueabihf/bits/sockaddr.h: - -/usr/include/arm-linux-gnueabihf/asm/socket.h: - -/usr/include/asm-generic/socket.h: - -/usr/include/arm-linux-gnueabihf/asm/sockios.h: - -/usr/include/asm-generic/sockios.h: - -/usr/include/arm-linux-gnueabihf/bits/in.h: - -/usr/include/glib-2.0/glib.h: - -/usr/include/glib-2.0/glib/galloca.h: - -/usr/include/glib-2.0/glib/gtypes.h: - -/usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h: - -/usr/include/glib-2.0/glib/gmacros.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h: - -/usr/include/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/local_lim.h: - -/usr/include/linux/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix2_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/xopen_lim.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h: - -/usr/include/glib-2.0/glib/gversionmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/timex.h: - -/usr/include/glib-2.0/glib/garray.h: - -/usr/include/glib-2.0/glib/gasyncqueue.h: - -/usr/include/glib-2.0/glib/gthread.h: - -/usr/include/glib-2.0/glib/gatomic.h: - -/usr/include/glib-2.0/glib/gerror.h: - -/usr/include/glib-2.0/glib/gquark.h: - -/usr/include/glib-2.0/glib/gbacktrace.h: - -/usr/include/signal.h: - -/usr/include/arm-linux-gnueabihf/bits/signum.h: - -/usr/include/arm-linux-gnueabihf/bits/siginfo.h: - -/usr/include/arm-linux-gnueabihf/bits/sigaction.h: - -/usr/include/arm-linux-gnueabihf/bits/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/asm/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigstack.h: - -/usr/include/arm-linux-gnueabihf/sys/ucontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigthread.h: - -/usr/include/glib-2.0/glib/gbase64.h: - -/usr/include/glib-2.0/glib/gbitlock.h: - -/usr/include/glib-2.0/glib/gbookmarkfile.h: - -/usr/include/glib-2.0/glib/gbytes.h: - -/usr/include/glib-2.0/glib/gcharset.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/gconvert.h: - -/usr/include/glib-2.0/glib/gdataset.h: - -/usr/include/glib-2.0/glib/gdate.h: - -/usr/include/glib-2.0/glib/gdatetime.h: - -/usr/include/glib-2.0/glib/gtimezone.h: - -/usr/include/glib-2.0/glib/gdir.h: - -/usr/include/dirent.h: - -/usr/include/arm-linux-gnueabihf/bits/dirent.h: - -/usr/include/glib-2.0/glib/genviron.h: - -/usr/include/glib-2.0/glib/gfileutils.h: - -/usr/include/glib-2.0/glib/ggettext.h: - -/usr/include/glib-2.0/glib/ghash.h: - -/usr/include/glib-2.0/glib/glist.h: - -/usr/include/glib-2.0/glib/gmem.h: - -/usr/include/glib-2.0/glib/gnode.h: - -/usr/include/glib-2.0/glib/ghmac.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/ghook.h: - -/usr/include/glib-2.0/glib/ghostutils.h: - -/usr/include/glib-2.0/glib/giochannel.h: - -/usr/include/glib-2.0/glib/gmain.h: - -/usr/include/glib-2.0/glib/gpoll.h: - -/usr/include/glib-2.0/glib/gslist.h: - -/usr/include/glib-2.0/glib/gstring.h: - -/usr/include/glib-2.0/glib/gunicode.h: - -/usr/include/glib-2.0/glib/gutils.h: - -/usr/include/glib-2.0/glib/gkeyfile.h: - -/usr/include/glib-2.0/glib/gmappedfile.h: - -/usr/include/glib-2.0/glib/gmarkup.h: - -/usr/include/glib-2.0/glib/gmessages.h: - -/usr/include/glib-2.0/glib/goption.h: - -/usr/include/glib-2.0/glib/gpattern.h: - -/usr/include/glib-2.0/glib/gprimes.h: - -/usr/include/glib-2.0/glib/gqsort.h: - -/usr/include/glib-2.0/glib/gqueue.h: - -/usr/include/glib-2.0/glib/grand.h: - -/usr/include/glib-2.0/glib/gregex.h: - -/usr/include/glib-2.0/glib/gscanner.h: - -/usr/include/glib-2.0/glib/gsequence.h: - -/usr/include/glib-2.0/glib/gshell.h: - -/usr/include/glib-2.0/glib/gslice.h: - -/usr/include/glib-2.0/glib/gspawn.h: - -/usr/include/glib-2.0/glib/gstrfuncs.h: - -/usr/include/glib-2.0/glib/gstringchunk.h: - -/usr/include/glib-2.0/glib/gtestutils.h: - -/usr/include/glib-2.0/glib/gthreadpool.h: - -/usr/include/glib-2.0/glib/gtimer.h: - -/usr/include/glib-2.0/glib/gtrashstack.h: - -/usr/include/glib-2.0/glib/gtree.h: - -/usr/include/glib-2.0/glib/gurifuncs.h: - -/usr/include/glib-2.0/glib/gvarianttype.h: - -/usr/include/glib-2.0/glib/gvariant.h: - -/usr/include/glib-2.0/glib/gversion.h: - -/usr/include/glib-2.0/glib/deprecated/gallocator.h: - -/usr/include/glib-2.0/glib/deprecated/gcache.h: - -/usr/include/glib-2.0/glib/deprecated/gcompletion.h: - -/usr/include/glib-2.0/glib/deprecated/gmain.h: - -/usr/include/glib-2.0/glib/deprecated/grel.h: - -/usr/include/glib-2.0/glib/deprecated/gthread.h: - -/usr/include/pthread.h: - -/usr/include/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/setjmp.h: - -lib/uuid.h: - -attrib/att.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/attrib/.deps/bluetoothd-gatt-service.Po b/GRIB_BLE_HUB/libs/ble_extend/attrib/.deps/bluetoothd-gatt-service.Po deleted file mode 100644 index d2457f5..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/attrib/.deps/bluetoothd-gatt-service.Po +++ /dev/null @@ -1,515 +0,0 @@ -attrib/bluetoothd-gatt-service.o: attrib/gatt-service.c \ - /usr/include/stdc-predef.h config.h /usr/include/glib-2.0/glib.h \ - /usr/include/glib-2.0/glib/galloca.h /usr/include/glib-2.0/glib/gtypes.h \ - /usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h \ - /usr/include/glib-2.0/glib/gmacros.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h \ - /usr/include/limits.h /usr/include/features.h \ - /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/include/arm-linux-gnueabihf/bits/posix1_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/local_lim.h \ - /usr/include/linux/limits.h \ - /usr/include/arm-linux-gnueabihf/bits/posix2_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/xopen_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h \ - /usr/include/glib-2.0/glib/gversionmacros.h /usr/include/time.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h \ - /usr/include/arm-linux-gnueabihf/bits/timex.h /usr/include/xlocale.h \ - /usr/include/glib-2.0/glib/garray.h \ - /usr/include/glib-2.0/glib/gasyncqueue.h \ - /usr/include/glib-2.0/glib/gthread.h \ - /usr/include/glib-2.0/glib/gatomic.h /usr/include/glib-2.0/glib/gerror.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/glib-2.0/glib/gquark.h \ - /usr/include/glib-2.0/glib/gbacktrace.h /usr/include/signal.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/signum.h \ - /usr/include/arm-linux-gnueabihf/bits/siginfo.h \ - /usr/include/arm-linux-gnueabihf/bits/sigaction.h \ - /usr/include/arm-linux-gnueabihf/bits/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/asm/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigstack.h \ - /usr/include/arm-linux-gnueabihf/sys/ucontext.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/endian.h /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/arm-linux-gnueabihf/bits/sigthread.h \ - /usr/include/glib-2.0/glib/gbase64.h \ - /usr/include/glib-2.0/glib/gbitlock.h \ - /usr/include/glib-2.0/glib/gbookmarkfile.h \ - /usr/include/glib-2.0/glib/gbytes.h \ - /usr/include/glib-2.0/glib/gcharset.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/gconvert.h \ - /usr/include/glib-2.0/glib/gdataset.h /usr/include/glib-2.0/glib/gdate.h \ - /usr/include/glib-2.0/glib/gdatetime.h \ - /usr/include/glib-2.0/glib/gtimezone.h /usr/include/glib-2.0/glib/gdir.h \ - /usr/include/dirent.h /usr/include/arm-linux-gnueabihf/bits/dirent.h \ - /usr/include/glib-2.0/glib/genviron.h \ - /usr/include/glib-2.0/glib/gfileutils.h \ - /usr/include/glib-2.0/glib/ggettext.h /usr/include/glib-2.0/glib/ghash.h \ - /usr/include/glib-2.0/glib/glist.h /usr/include/glib-2.0/glib/gmem.h \ - /usr/include/glib-2.0/glib/gnode.h /usr/include/glib-2.0/glib/ghmac.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/ghook.h \ - /usr/include/glib-2.0/glib/ghostutils.h \ - /usr/include/glib-2.0/glib/giochannel.h \ - /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gpoll.h \ - /usr/include/glib-2.0/glib/gslist.h /usr/include/glib-2.0/glib/gstring.h \ - /usr/include/glib-2.0/glib/gunicode.h \ - /usr/include/glib-2.0/glib/gutils.h \ - /usr/include/glib-2.0/glib/gkeyfile.h \ - /usr/include/glib-2.0/glib/gmappedfile.h \ - /usr/include/glib-2.0/glib/gmarkup.h \ - /usr/include/glib-2.0/glib/gmessages.h \ - /usr/include/glib-2.0/glib/goption.h \ - /usr/include/glib-2.0/glib/gpattern.h \ - /usr/include/glib-2.0/glib/gprimes.h /usr/include/glib-2.0/glib/gqsort.h \ - /usr/include/glib-2.0/glib/gqueue.h /usr/include/glib-2.0/glib/grand.h \ - /usr/include/glib-2.0/glib/gregex.h \ - /usr/include/glib-2.0/glib/gscanner.h \ - /usr/include/glib-2.0/glib/gsequence.h \ - /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gslice.h \ - /usr/include/glib-2.0/glib/gspawn.h \ - /usr/include/glib-2.0/glib/gstrfuncs.h \ - /usr/include/glib-2.0/glib/gstringchunk.h \ - /usr/include/glib-2.0/glib/gtestutils.h \ - /usr/include/glib-2.0/glib/gthreadpool.h \ - /usr/include/glib-2.0/glib/gtimer.h \ - /usr/include/glib-2.0/glib/gtrashstack.h \ - /usr/include/glib-2.0/glib/gtree.h \ - /usr/include/glib-2.0/glib/gurifuncs.h \ - /usr/include/glib-2.0/glib/gvarianttype.h \ - /usr/include/glib-2.0/glib/gvariant.h \ - /usr/include/glib-2.0/glib/gversion.h \ - /usr/include/glib-2.0/glib/deprecated/gallocator.h \ - /usr/include/glib-2.0/glib/deprecated/gcache.h \ - /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ - /usr/include/glib-2.0/glib/deprecated/gmain.h \ - /usr/include/glib-2.0/glib/deprecated/grel.h \ - /usr/include/glib-2.0/glib/deprecated/gthread.h \ - /usr/include/arm-linux-gnueabihf/sys/types.h \ - /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h /usr/include/pthread.h \ - /usr/include/sched.h /usr/include/arm-linux-gnueabihf/bits/sched.h \ - /usr/include/arm-linux-gnueabihf/bits/setjmp.h lib/bluetooth/sdp.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h \ - /usr/include/stdint.h /usr/include/arm-linux-gnueabihf/bits/wchar.h \ - lib/bluetooth/bluetooth.h /usr/include/stdio.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/include/arm-linux-gnueabihf/bits/sys_errlist.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio.h /usr/include/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string2.h /usr/include/stdlib.h \ - /usr/include/byteswap.h /usr/include/netinet/in.h \ - /usr/include/arm-linux-gnueabihf/sys/socket.h \ - /usr/include/arm-linux-gnueabihf/sys/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/socket.h \ - /usr/include/arm-linux-gnueabihf/bits/socket_type.h \ - /usr/include/arm-linux-gnueabihf/bits/sockaddr.h \ - /usr/include/arm-linux-gnueabihf/asm/socket.h \ - /usr/include/asm-generic/socket.h \ - /usr/include/arm-linux-gnueabihf/asm/sockios.h \ - /usr/include/asm-generic/sockios.h \ - /usr/include/arm-linux-gnueabihf/bits/in.h src/adapter.h \ - lib/bluetooth/hci.h lib/bluetooth/hci_lib.h \ - /usr/include/dbus-1.0/dbus/dbus.h \ - /usr/lib/arm-linux-gnueabihf/dbus-1.0/include/dbus/dbus-arch-deps.h \ - /usr/include/dbus-1.0/dbus/dbus-macros.h \ - /usr/include/dbus-1.0/dbus/dbus-address.h \ - /usr/include/dbus-1.0/dbus/dbus-types.h \ - /usr/include/dbus-1.0/dbus/dbus-errors.h \ - /usr/include/dbus-1.0/dbus/dbus-protocol.h \ - /usr/include/dbus-1.0/dbus/dbus-bus.h \ - /usr/include/dbus-1.0/dbus/dbus-connection.h \ - /usr/include/dbus-1.0/dbus/dbus-memory.h \ - /usr/include/dbus-1.0/dbus/dbus-message.h \ - /usr/include/dbus-1.0/dbus/dbus-shared.h \ - /usr/include/dbus-1.0/dbus/dbus-misc.h \ - /usr/include/dbus-1.0/dbus/dbus-pending-call.h \ - /usr/include/dbus-1.0/dbus/dbus-server.h \ - /usr/include/dbus-1.0/dbus/dbus-signature.h \ - /usr/include/dbus-1.0/dbus/dbus-syntax.h \ - /usr/include/dbus-1.0/dbus/dbus-threads.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdbool.h lib/uuid.h \ - attrib/gattrib.h attrib/att.h attrib/gatt.h attrib/att-database.h \ - src/attrib-server.h attrib/gatt-service.h src/log.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/include/glib-2.0/glib.h: - -/usr/include/glib-2.0/glib/galloca.h: - -/usr/include/glib-2.0/glib/gtypes.h: - -/usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h: - -/usr/include/glib-2.0/glib/gmacros.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h: - -/usr/include/limits.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/local_lim.h: - -/usr/include/linux/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix2_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/xopen_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h: - -/usr/include/glib-2.0/glib/gversionmacros.h: - -/usr/include/time.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/arm-linux-gnueabihf/bits/timex.h: - -/usr/include/xlocale.h: - -/usr/include/glib-2.0/glib/garray.h: - -/usr/include/glib-2.0/glib/gasyncqueue.h: - -/usr/include/glib-2.0/glib/gthread.h: - -/usr/include/glib-2.0/glib/gatomic.h: - -/usr/include/glib-2.0/glib/gerror.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/glib-2.0/glib/gquark.h: - -/usr/include/glib-2.0/glib/gbacktrace.h: - -/usr/include/signal.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/signum.h: - -/usr/include/arm-linux-gnueabihf/bits/siginfo.h: - -/usr/include/arm-linux-gnueabihf/bits/sigaction.h: - -/usr/include/arm-linux-gnueabihf/bits/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/asm/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigstack.h: - -/usr/include/arm-linux-gnueabihf/sys/ucontext.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/arm-linux-gnueabihf/bits/sigthread.h: - -/usr/include/glib-2.0/glib/gbase64.h: - -/usr/include/glib-2.0/glib/gbitlock.h: - -/usr/include/glib-2.0/glib/gbookmarkfile.h: - -/usr/include/glib-2.0/glib/gbytes.h: - -/usr/include/glib-2.0/glib/gcharset.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/gconvert.h: - -/usr/include/glib-2.0/glib/gdataset.h: - -/usr/include/glib-2.0/glib/gdate.h: - -/usr/include/glib-2.0/glib/gdatetime.h: - -/usr/include/glib-2.0/glib/gtimezone.h: - -/usr/include/glib-2.0/glib/gdir.h: - -/usr/include/dirent.h: - -/usr/include/arm-linux-gnueabihf/bits/dirent.h: - -/usr/include/glib-2.0/glib/genviron.h: - -/usr/include/glib-2.0/glib/gfileutils.h: - -/usr/include/glib-2.0/glib/ggettext.h: - -/usr/include/glib-2.0/glib/ghash.h: - -/usr/include/glib-2.0/glib/glist.h: - -/usr/include/glib-2.0/glib/gmem.h: - -/usr/include/glib-2.0/glib/gnode.h: - -/usr/include/glib-2.0/glib/ghmac.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/ghook.h: - -/usr/include/glib-2.0/glib/ghostutils.h: - -/usr/include/glib-2.0/glib/giochannel.h: - -/usr/include/glib-2.0/glib/gmain.h: - -/usr/include/glib-2.0/glib/gpoll.h: - -/usr/include/glib-2.0/glib/gslist.h: - -/usr/include/glib-2.0/glib/gstring.h: - -/usr/include/glib-2.0/glib/gunicode.h: - -/usr/include/glib-2.0/glib/gutils.h: - -/usr/include/glib-2.0/glib/gkeyfile.h: - -/usr/include/glib-2.0/glib/gmappedfile.h: - -/usr/include/glib-2.0/glib/gmarkup.h: - -/usr/include/glib-2.0/glib/gmessages.h: - -/usr/include/glib-2.0/glib/goption.h: - -/usr/include/glib-2.0/glib/gpattern.h: - -/usr/include/glib-2.0/glib/gprimes.h: - -/usr/include/glib-2.0/glib/gqsort.h: - -/usr/include/glib-2.0/glib/gqueue.h: - -/usr/include/glib-2.0/glib/grand.h: - -/usr/include/glib-2.0/glib/gregex.h: - -/usr/include/glib-2.0/glib/gscanner.h: - -/usr/include/glib-2.0/glib/gsequence.h: - -/usr/include/glib-2.0/glib/gshell.h: - -/usr/include/glib-2.0/glib/gslice.h: - -/usr/include/glib-2.0/glib/gspawn.h: - -/usr/include/glib-2.0/glib/gstrfuncs.h: - -/usr/include/glib-2.0/glib/gstringchunk.h: - -/usr/include/glib-2.0/glib/gtestutils.h: - -/usr/include/glib-2.0/glib/gthreadpool.h: - -/usr/include/glib-2.0/glib/gtimer.h: - -/usr/include/glib-2.0/glib/gtrashstack.h: - -/usr/include/glib-2.0/glib/gtree.h: - -/usr/include/glib-2.0/glib/gurifuncs.h: - -/usr/include/glib-2.0/glib/gvarianttype.h: - -/usr/include/glib-2.0/glib/gvariant.h: - -/usr/include/glib-2.0/glib/gversion.h: - -/usr/include/glib-2.0/glib/deprecated/gallocator.h: - -/usr/include/glib-2.0/glib/deprecated/gcache.h: - -/usr/include/glib-2.0/glib/deprecated/gcompletion.h: - -/usr/include/glib-2.0/glib/deprecated/gmain.h: - -/usr/include/glib-2.0/glib/deprecated/grel.h: - -/usr/include/glib-2.0/glib/deprecated/gthread.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/pthread.h: - -/usr/include/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/setjmp.h: - -lib/bluetooth/sdp.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/arm-linux-gnueabihf/bits/wchar.h: - -lib/bluetooth/bluetooth.h: - -/usr/include/stdio.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/include/arm-linux-gnueabihf/bits/sys_errlist.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio.h: - -/usr/include/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string2.h: - -/usr/include/stdlib.h: - -/usr/include/byteswap.h: - -/usr/include/netinet/in.h: - -/usr/include/arm-linux-gnueabihf/sys/socket.h: - -/usr/include/arm-linux-gnueabihf/sys/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/socket.h: - -/usr/include/arm-linux-gnueabihf/bits/socket_type.h: - -/usr/include/arm-linux-gnueabihf/bits/sockaddr.h: - -/usr/include/arm-linux-gnueabihf/asm/socket.h: - -/usr/include/asm-generic/socket.h: - -/usr/include/arm-linux-gnueabihf/asm/sockios.h: - -/usr/include/asm-generic/sockios.h: - -/usr/include/arm-linux-gnueabihf/bits/in.h: - -src/adapter.h: - -lib/bluetooth/hci.h: - -lib/bluetooth/hci_lib.h: - -/usr/include/dbus-1.0/dbus/dbus.h: - -/usr/lib/arm-linux-gnueabihf/dbus-1.0/include/dbus/dbus-arch-deps.h: - -/usr/include/dbus-1.0/dbus/dbus-macros.h: - -/usr/include/dbus-1.0/dbus/dbus-address.h: - -/usr/include/dbus-1.0/dbus/dbus-types.h: - -/usr/include/dbus-1.0/dbus/dbus-errors.h: - -/usr/include/dbus-1.0/dbus/dbus-protocol.h: - -/usr/include/dbus-1.0/dbus/dbus-bus.h: - -/usr/include/dbus-1.0/dbus/dbus-connection.h: - -/usr/include/dbus-1.0/dbus/dbus-memory.h: - -/usr/include/dbus-1.0/dbus/dbus-message.h: - -/usr/include/dbus-1.0/dbus/dbus-shared.h: - -/usr/include/dbus-1.0/dbus/dbus-misc.h: - -/usr/include/dbus-1.0/dbus/dbus-pending-call.h: - -/usr/include/dbus-1.0/dbus/dbus-server.h: - -/usr/include/dbus-1.0/dbus/dbus-signature.h: - -/usr/include/dbus-1.0/dbus/dbus-syntax.h: - -/usr/include/dbus-1.0/dbus/dbus-threads.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdbool.h: - -lib/uuid.h: - -attrib/gattrib.h: - -attrib/att.h: - -attrib/gatt.h: - -attrib/att-database.h: - -src/attrib-server.h: - -attrib/gatt-service.h: - -src/log.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/attrib/.deps/bluetoothd-gatt.Po b/GRIB_BLE_HUB/libs/ble_extend/attrib/.deps/bluetoothd-gatt.Po deleted file mode 100644 index 4b34fd2..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/attrib/.deps/bluetoothd-gatt.Po +++ /dev/null @@ -1,461 +0,0 @@ -attrib/bluetoothd-gatt.o: attrib/gatt.c /usr/include/stdc-predef.h \ - config.h /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h \ - /usr/include/stdint.h /usr/include/features.h \ - /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/include/arm-linux-gnueabihf/bits/wchar.h /usr/include/stdlib.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/include/arm-linux-gnueabihf/bits/waitflags.h \ - /usr/include/arm-linux-gnueabihf/bits/waitstatus.h /usr/include/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/xlocale.h /usr/include/arm-linux-gnueabihf/sys/types.h \ - /usr/include/time.h /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/alloca.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-float.h \ - /usr/include/glib-2.0/glib.h /usr/include/glib-2.0/glib/galloca.h \ - /usr/include/glib-2.0/glib/gtypes.h \ - /usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h \ - /usr/include/glib-2.0/glib/gmacros.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h \ - /usr/include/limits.h /usr/include/arm-linux-gnueabihf/bits/posix1_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/local_lim.h \ - /usr/include/linux/limits.h \ - /usr/include/arm-linux-gnueabihf/bits/posix2_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/xopen_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h \ - /usr/include/glib-2.0/glib/gversionmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/timex.h \ - /usr/include/glib-2.0/glib/garray.h \ - /usr/include/glib-2.0/glib/gasyncqueue.h \ - /usr/include/glib-2.0/glib/gthread.h \ - /usr/include/glib-2.0/glib/gatomic.h /usr/include/glib-2.0/glib/gerror.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/glib-2.0/glib/gquark.h \ - /usr/include/glib-2.0/glib/gbacktrace.h /usr/include/signal.h \ - /usr/include/arm-linux-gnueabihf/bits/signum.h \ - /usr/include/arm-linux-gnueabihf/bits/siginfo.h \ - /usr/include/arm-linux-gnueabihf/bits/sigaction.h \ - /usr/include/arm-linux-gnueabihf/bits/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/asm/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigstack.h \ - /usr/include/arm-linux-gnueabihf/sys/ucontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigthread.h \ - /usr/include/glib-2.0/glib/gbase64.h \ - /usr/include/glib-2.0/glib/gbitlock.h \ - /usr/include/glib-2.0/glib/gbookmarkfile.h \ - /usr/include/glib-2.0/glib/gbytes.h \ - /usr/include/glib-2.0/glib/gcharset.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/gconvert.h \ - /usr/include/glib-2.0/glib/gdataset.h /usr/include/glib-2.0/glib/gdate.h \ - /usr/include/glib-2.0/glib/gdatetime.h \ - /usr/include/glib-2.0/glib/gtimezone.h /usr/include/glib-2.0/glib/gdir.h \ - /usr/include/dirent.h /usr/include/arm-linux-gnueabihf/bits/dirent.h \ - /usr/include/glib-2.0/glib/genviron.h \ - /usr/include/glib-2.0/glib/gfileutils.h \ - /usr/include/glib-2.0/glib/ggettext.h /usr/include/glib-2.0/glib/ghash.h \ - /usr/include/glib-2.0/glib/glist.h /usr/include/glib-2.0/glib/gmem.h \ - /usr/include/glib-2.0/glib/gnode.h /usr/include/glib-2.0/glib/ghmac.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/ghook.h \ - /usr/include/glib-2.0/glib/ghostutils.h \ - /usr/include/glib-2.0/glib/giochannel.h \ - /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gpoll.h \ - /usr/include/glib-2.0/glib/gslist.h /usr/include/glib-2.0/glib/gstring.h \ - /usr/include/glib-2.0/glib/gunicode.h \ - /usr/include/glib-2.0/glib/gutils.h \ - /usr/include/glib-2.0/glib/gkeyfile.h \ - /usr/include/glib-2.0/glib/gmappedfile.h \ - /usr/include/glib-2.0/glib/gmarkup.h \ - /usr/include/glib-2.0/glib/gmessages.h \ - /usr/include/glib-2.0/glib/goption.h \ - /usr/include/glib-2.0/glib/gpattern.h \ - /usr/include/glib-2.0/glib/gprimes.h /usr/include/glib-2.0/glib/gqsort.h \ - /usr/include/glib-2.0/glib/gqueue.h /usr/include/glib-2.0/glib/grand.h \ - /usr/include/glib-2.0/glib/gregex.h \ - /usr/include/glib-2.0/glib/gscanner.h \ - /usr/include/glib-2.0/glib/gsequence.h \ - /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gslice.h \ - /usr/include/glib-2.0/glib/gspawn.h \ - /usr/include/glib-2.0/glib/gstrfuncs.h \ - /usr/include/glib-2.0/glib/gstringchunk.h \ - /usr/include/glib-2.0/glib/gtestutils.h \ - /usr/include/glib-2.0/glib/gthreadpool.h \ - /usr/include/glib-2.0/glib/gtimer.h \ - /usr/include/glib-2.0/glib/gtrashstack.h \ - /usr/include/glib-2.0/glib/gtree.h \ - /usr/include/glib-2.0/glib/gurifuncs.h \ - /usr/include/glib-2.0/glib/gvarianttype.h \ - /usr/include/glib-2.0/glib/gvariant.h \ - /usr/include/glib-2.0/glib/gversion.h \ - /usr/include/glib-2.0/glib/deprecated/gallocator.h \ - /usr/include/glib-2.0/glib/deprecated/gcache.h \ - /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ - /usr/include/glib-2.0/glib/deprecated/gmain.h \ - /usr/include/glib-2.0/glib/deprecated/grel.h \ - /usr/include/glib-2.0/glib/deprecated/gthread.h /usr/include/pthread.h \ - /usr/include/sched.h /usr/include/arm-linux-gnueabihf/bits/sched.h \ - /usr/include/arm-linux-gnueabihf/bits/setjmp.h lib/bluetooth/sdp.h \ - lib/bluetooth/bluetooth.h /usr/include/stdio.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/include/arm-linux-gnueabihf/bits/sys_errlist.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio.h /usr/include/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string2.h /usr/include/byteswap.h \ - /usr/include/netinet/in.h /usr/include/arm-linux-gnueabihf/sys/socket.h \ - /usr/include/arm-linux-gnueabihf/sys/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/socket.h \ - /usr/include/arm-linux-gnueabihf/bits/socket_type.h \ - /usr/include/arm-linux-gnueabihf/bits/sockaddr.h \ - /usr/include/arm-linux-gnueabihf/asm/socket.h \ - /usr/include/asm-generic/socket.h \ - /usr/include/arm-linux-gnueabihf/asm/sockios.h \ - /usr/include/asm-generic/sockios.h \ - /usr/include/arm-linux-gnueabihf/bits/in.h lib/bluetooth/sdp_lib.h \ - lib/bluetooth/hci.h lib/uuid.h attrib/att.h attrib/gattrib.h \ - attrib/gatt.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/include/arm-linux-gnueabihf/bits/wchar.h: - -/usr/include/stdlib.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/include/arm-linux-gnueabihf/bits/waitflags.h: - -/usr/include/arm-linux-gnueabihf/bits/waitstatus.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/xlocale.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/time.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/alloca.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-float.h: - -/usr/include/glib-2.0/glib.h: - -/usr/include/glib-2.0/glib/galloca.h: - -/usr/include/glib-2.0/glib/gtypes.h: - -/usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h: - -/usr/include/glib-2.0/glib/gmacros.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h: - -/usr/include/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/local_lim.h: - -/usr/include/linux/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix2_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/xopen_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h: - -/usr/include/glib-2.0/glib/gversionmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/timex.h: - -/usr/include/glib-2.0/glib/garray.h: - -/usr/include/glib-2.0/glib/gasyncqueue.h: - -/usr/include/glib-2.0/glib/gthread.h: - -/usr/include/glib-2.0/glib/gatomic.h: - -/usr/include/glib-2.0/glib/gerror.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/glib-2.0/glib/gquark.h: - -/usr/include/glib-2.0/glib/gbacktrace.h: - -/usr/include/signal.h: - -/usr/include/arm-linux-gnueabihf/bits/signum.h: - -/usr/include/arm-linux-gnueabihf/bits/siginfo.h: - -/usr/include/arm-linux-gnueabihf/bits/sigaction.h: - -/usr/include/arm-linux-gnueabihf/bits/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/asm/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigstack.h: - -/usr/include/arm-linux-gnueabihf/sys/ucontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigthread.h: - -/usr/include/glib-2.0/glib/gbase64.h: - -/usr/include/glib-2.0/glib/gbitlock.h: - -/usr/include/glib-2.0/glib/gbookmarkfile.h: - -/usr/include/glib-2.0/glib/gbytes.h: - -/usr/include/glib-2.0/glib/gcharset.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/gconvert.h: - -/usr/include/glib-2.0/glib/gdataset.h: - -/usr/include/glib-2.0/glib/gdate.h: - -/usr/include/glib-2.0/glib/gdatetime.h: - -/usr/include/glib-2.0/glib/gtimezone.h: - -/usr/include/glib-2.0/glib/gdir.h: - -/usr/include/dirent.h: - -/usr/include/arm-linux-gnueabihf/bits/dirent.h: - -/usr/include/glib-2.0/glib/genviron.h: - -/usr/include/glib-2.0/glib/gfileutils.h: - -/usr/include/glib-2.0/glib/ggettext.h: - -/usr/include/glib-2.0/glib/ghash.h: - -/usr/include/glib-2.0/glib/glist.h: - -/usr/include/glib-2.0/glib/gmem.h: - -/usr/include/glib-2.0/glib/gnode.h: - -/usr/include/glib-2.0/glib/ghmac.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/ghook.h: - -/usr/include/glib-2.0/glib/ghostutils.h: - -/usr/include/glib-2.0/glib/giochannel.h: - -/usr/include/glib-2.0/glib/gmain.h: - -/usr/include/glib-2.0/glib/gpoll.h: - -/usr/include/glib-2.0/glib/gslist.h: - -/usr/include/glib-2.0/glib/gstring.h: - -/usr/include/glib-2.0/glib/gunicode.h: - -/usr/include/glib-2.0/glib/gutils.h: - -/usr/include/glib-2.0/glib/gkeyfile.h: - -/usr/include/glib-2.0/glib/gmappedfile.h: - -/usr/include/glib-2.0/glib/gmarkup.h: - -/usr/include/glib-2.0/glib/gmessages.h: - -/usr/include/glib-2.0/glib/goption.h: - -/usr/include/glib-2.0/glib/gpattern.h: - -/usr/include/glib-2.0/glib/gprimes.h: - -/usr/include/glib-2.0/glib/gqsort.h: - -/usr/include/glib-2.0/glib/gqueue.h: - -/usr/include/glib-2.0/glib/grand.h: - -/usr/include/glib-2.0/glib/gregex.h: - -/usr/include/glib-2.0/glib/gscanner.h: - -/usr/include/glib-2.0/glib/gsequence.h: - -/usr/include/glib-2.0/glib/gshell.h: - -/usr/include/glib-2.0/glib/gslice.h: - -/usr/include/glib-2.0/glib/gspawn.h: - -/usr/include/glib-2.0/glib/gstrfuncs.h: - -/usr/include/glib-2.0/glib/gstringchunk.h: - -/usr/include/glib-2.0/glib/gtestutils.h: - -/usr/include/glib-2.0/glib/gthreadpool.h: - -/usr/include/glib-2.0/glib/gtimer.h: - -/usr/include/glib-2.0/glib/gtrashstack.h: - -/usr/include/glib-2.0/glib/gtree.h: - -/usr/include/glib-2.0/glib/gurifuncs.h: - -/usr/include/glib-2.0/glib/gvarianttype.h: - -/usr/include/glib-2.0/glib/gvariant.h: - -/usr/include/glib-2.0/glib/gversion.h: - -/usr/include/glib-2.0/glib/deprecated/gallocator.h: - -/usr/include/glib-2.0/glib/deprecated/gcache.h: - -/usr/include/glib-2.0/glib/deprecated/gcompletion.h: - -/usr/include/glib-2.0/glib/deprecated/gmain.h: - -/usr/include/glib-2.0/glib/deprecated/grel.h: - -/usr/include/glib-2.0/glib/deprecated/gthread.h: - -/usr/include/pthread.h: - -/usr/include/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/setjmp.h: - -lib/bluetooth/sdp.h: - -lib/bluetooth/bluetooth.h: - -/usr/include/stdio.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/include/arm-linux-gnueabihf/bits/sys_errlist.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio.h: - -/usr/include/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string2.h: - -/usr/include/byteswap.h: - -/usr/include/netinet/in.h: - -/usr/include/arm-linux-gnueabihf/sys/socket.h: - -/usr/include/arm-linux-gnueabihf/sys/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/socket.h: - -/usr/include/arm-linux-gnueabihf/bits/socket_type.h: - -/usr/include/arm-linux-gnueabihf/bits/sockaddr.h: - -/usr/include/arm-linux-gnueabihf/asm/socket.h: - -/usr/include/asm-generic/socket.h: - -/usr/include/arm-linux-gnueabihf/asm/sockios.h: - -/usr/include/asm-generic/sockios.h: - -/usr/include/arm-linux-gnueabihf/bits/in.h: - -lib/bluetooth/sdp_lib.h: - -lib/bluetooth/hci.h: - -lib/uuid.h: - -attrib/att.h: - -attrib/gattrib.h: - -attrib/gatt.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/attrib/.deps/bluetoothd-gattrib.Po b/GRIB_BLE_HUB/libs/ble_extend/attrib/.deps/bluetoothd-gattrib.Po deleted file mode 100644 index d604893..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/attrib/.deps/bluetoothd-gattrib.Po +++ /dev/null @@ -1,504 +0,0 @@ -attrib/bluetoothd-gattrib.o: attrib/gattrib.c /usr/include/stdc-predef.h \ - config.h /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h \ - /usr/include/stdint.h /usr/include/features.h \ - /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/include/arm-linux-gnueabihf/bits/wchar.h /usr/include/string.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/include/xlocale.h /usr/include/arm-linux-gnueabihf/bits/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string2.h /usr/include/stdlib.h \ - /usr/include/glib-2.0/glib.h /usr/include/glib-2.0/glib/galloca.h \ - /usr/include/glib-2.0/glib/gtypes.h \ - /usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h \ - /usr/include/glib-2.0/glib/gmacros.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h \ - /usr/include/limits.h /usr/include/arm-linux-gnueabihf/bits/posix1_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/local_lim.h \ - /usr/include/linux/limits.h \ - /usr/include/arm-linux-gnueabihf/bits/posix2_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/xopen_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h \ - /usr/include/glib-2.0/glib/gversionmacros.h /usr/include/time.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h \ - /usr/include/arm-linux-gnueabihf/bits/timex.h \ - /usr/include/glib-2.0/glib/garray.h \ - /usr/include/glib-2.0/glib/gasyncqueue.h \ - /usr/include/glib-2.0/glib/gthread.h \ - /usr/include/glib-2.0/glib/gatomic.h /usr/include/glib-2.0/glib/gerror.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/glib-2.0/glib/gquark.h \ - /usr/include/glib-2.0/glib/gbacktrace.h /usr/include/signal.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/signum.h \ - /usr/include/arm-linux-gnueabihf/bits/siginfo.h \ - /usr/include/arm-linux-gnueabihf/bits/sigaction.h \ - /usr/include/arm-linux-gnueabihf/bits/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/asm/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigstack.h \ - /usr/include/arm-linux-gnueabihf/sys/ucontext.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/endian.h /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/arm-linux-gnueabihf/bits/sigthread.h \ - /usr/include/glib-2.0/glib/gbase64.h \ - /usr/include/glib-2.0/glib/gbitlock.h \ - /usr/include/glib-2.0/glib/gbookmarkfile.h \ - /usr/include/glib-2.0/glib/gbytes.h \ - /usr/include/glib-2.0/glib/gcharset.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/gconvert.h \ - /usr/include/glib-2.0/glib/gdataset.h /usr/include/glib-2.0/glib/gdate.h \ - /usr/include/glib-2.0/glib/gdatetime.h \ - /usr/include/glib-2.0/glib/gtimezone.h /usr/include/glib-2.0/glib/gdir.h \ - /usr/include/dirent.h /usr/include/arm-linux-gnueabihf/bits/dirent.h \ - /usr/include/glib-2.0/glib/genviron.h \ - /usr/include/glib-2.0/glib/gfileutils.h \ - /usr/include/glib-2.0/glib/ggettext.h /usr/include/glib-2.0/glib/ghash.h \ - /usr/include/glib-2.0/glib/glist.h /usr/include/glib-2.0/glib/gmem.h \ - /usr/include/glib-2.0/glib/gnode.h /usr/include/glib-2.0/glib/ghmac.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/ghook.h \ - /usr/include/glib-2.0/glib/ghostutils.h \ - /usr/include/glib-2.0/glib/giochannel.h \ - /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gpoll.h \ - /usr/include/glib-2.0/glib/gslist.h /usr/include/glib-2.0/glib/gstring.h \ - /usr/include/glib-2.0/glib/gunicode.h \ - /usr/include/glib-2.0/glib/gutils.h \ - /usr/include/glib-2.0/glib/gkeyfile.h \ - /usr/include/glib-2.0/glib/gmappedfile.h \ - /usr/include/glib-2.0/glib/gmarkup.h \ - /usr/include/glib-2.0/glib/gmessages.h \ - /usr/include/glib-2.0/glib/goption.h \ - /usr/include/glib-2.0/glib/gpattern.h \ - /usr/include/glib-2.0/glib/gprimes.h /usr/include/glib-2.0/glib/gqsort.h \ - /usr/include/glib-2.0/glib/gqueue.h /usr/include/glib-2.0/glib/grand.h \ - /usr/include/glib-2.0/glib/gregex.h \ - /usr/include/glib-2.0/glib/gscanner.h \ - /usr/include/glib-2.0/glib/gsequence.h \ - /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gslice.h \ - /usr/include/glib-2.0/glib/gspawn.h \ - /usr/include/glib-2.0/glib/gstrfuncs.h \ - /usr/include/glib-2.0/glib/gstringchunk.h \ - /usr/include/glib-2.0/glib/gtestutils.h \ - /usr/include/glib-2.0/glib/gthreadpool.h \ - /usr/include/glib-2.0/glib/gtimer.h \ - /usr/include/glib-2.0/glib/gtrashstack.h \ - /usr/include/glib-2.0/glib/gtree.h \ - /usr/include/glib-2.0/glib/gurifuncs.h \ - /usr/include/glib-2.0/glib/gvarianttype.h \ - /usr/include/glib-2.0/glib/gvariant.h \ - /usr/include/glib-2.0/glib/gversion.h \ - /usr/include/glib-2.0/glib/deprecated/gallocator.h \ - /usr/include/glib-2.0/glib/deprecated/gcache.h \ - /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ - /usr/include/glib-2.0/glib/deprecated/gmain.h \ - /usr/include/glib-2.0/glib/deprecated/grel.h \ - /usr/include/glib-2.0/glib/deprecated/gthread.h \ - /usr/include/arm-linux-gnueabihf/sys/types.h \ - /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h /usr/include/pthread.h \ - /usr/include/sched.h /usr/include/arm-linux-gnueabihf/bits/sched.h \ - /usr/include/arm-linux-gnueabihf/bits/setjmp.h /usr/include/stdio.h \ - /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/include/arm-linux-gnueabihf/bits/sys_errlist.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio.h lib/bluetooth/bluetooth.h \ - /usr/include/byteswap.h /usr/include/netinet/in.h \ - /usr/include/arm-linux-gnueabihf/sys/socket.h \ - /usr/include/arm-linux-gnueabihf/sys/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/socket.h \ - /usr/include/arm-linux-gnueabihf/bits/socket_type.h \ - /usr/include/arm-linux-gnueabihf/bits/sockaddr.h \ - /usr/include/arm-linux-gnueabihf/asm/socket.h \ - /usr/include/asm-generic/socket.h \ - /usr/include/arm-linux-gnueabihf/asm/sockios.h \ - /usr/include/asm-generic/sockios.h \ - /usr/include/arm-linux-gnueabihf/bits/in.h btio/btio.h lib/uuid.h \ - src/log.h attrib/att.h attrib/gattrib.h attrib/grib_ble_extend.h \ - /usr/include/errno.h /usr/include/arm-linux-gnueabihf/bits/errno.h \ - /usr/include/linux/errno.h /usr/include/arm-linux-gnueabihf/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/include/arm-linux-gnueabihf/bits/waitflags.h \ - /usr/include/arm-linux-gnueabihf/bits/waitstatus.h /usr/include/alloca.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-float.h \ - /usr/include/unistd.h /usr/include/arm-linux-gnueabihf/bits/posix_opt.h \ - /usr/include/arm-linux-gnueabihf/bits/environments.h \ - /usr/include/arm-linux-gnueabihf/bits/confname.h /usr/include/getopt.h \ - /usr/include/fcntl.h /usr/include/arm-linux-gnueabihf/bits/fcntl.h \ - /usr/include/arm-linux-gnueabihf/bits/fcntl-linux.h \ - /usr/include/arm-linux-gnueabihf/bits/stat.h \ - /usr/include/arm-linux-gnueabihf/sys/stat.h lib/bluetooth/hci.h \ - lib/bluetooth/hci_lib.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/include/arm-linux-gnueabihf/bits/wchar.h: - -/usr/include/string.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/include/xlocale.h: - -/usr/include/arm-linux-gnueabihf/bits/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string2.h: - -/usr/include/stdlib.h: - -/usr/include/glib-2.0/glib.h: - -/usr/include/glib-2.0/glib/galloca.h: - -/usr/include/glib-2.0/glib/gtypes.h: - -/usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h: - -/usr/include/glib-2.0/glib/gmacros.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h: - -/usr/include/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/local_lim.h: - -/usr/include/linux/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix2_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/xopen_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h: - -/usr/include/glib-2.0/glib/gversionmacros.h: - -/usr/include/time.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/arm-linux-gnueabihf/bits/timex.h: - -/usr/include/glib-2.0/glib/garray.h: - -/usr/include/glib-2.0/glib/gasyncqueue.h: - -/usr/include/glib-2.0/glib/gthread.h: - -/usr/include/glib-2.0/glib/gatomic.h: - -/usr/include/glib-2.0/glib/gerror.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/glib-2.0/glib/gquark.h: - -/usr/include/glib-2.0/glib/gbacktrace.h: - -/usr/include/signal.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/signum.h: - -/usr/include/arm-linux-gnueabihf/bits/siginfo.h: - -/usr/include/arm-linux-gnueabihf/bits/sigaction.h: - -/usr/include/arm-linux-gnueabihf/bits/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/asm/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigstack.h: - -/usr/include/arm-linux-gnueabihf/sys/ucontext.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/arm-linux-gnueabihf/bits/sigthread.h: - -/usr/include/glib-2.0/glib/gbase64.h: - -/usr/include/glib-2.0/glib/gbitlock.h: - -/usr/include/glib-2.0/glib/gbookmarkfile.h: - -/usr/include/glib-2.0/glib/gbytes.h: - -/usr/include/glib-2.0/glib/gcharset.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/gconvert.h: - -/usr/include/glib-2.0/glib/gdataset.h: - -/usr/include/glib-2.0/glib/gdate.h: - -/usr/include/glib-2.0/glib/gdatetime.h: - -/usr/include/glib-2.0/glib/gtimezone.h: - -/usr/include/glib-2.0/glib/gdir.h: - -/usr/include/dirent.h: - -/usr/include/arm-linux-gnueabihf/bits/dirent.h: - -/usr/include/glib-2.0/glib/genviron.h: - -/usr/include/glib-2.0/glib/gfileutils.h: - -/usr/include/glib-2.0/glib/ggettext.h: - -/usr/include/glib-2.0/glib/ghash.h: - -/usr/include/glib-2.0/glib/glist.h: - -/usr/include/glib-2.0/glib/gmem.h: - -/usr/include/glib-2.0/glib/gnode.h: - -/usr/include/glib-2.0/glib/ghmac.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/ghook.h: - -/usr/include/glib-2.0/glib/ghostutils.h: - -/usr/include/glib-2.0/glib/giochannel.h: - -/usr/include/glib-2.0/glib/gmain.h: - -/usr/include/glib-2.0/glib/gpoll.h: - -/usr/include/glib-2.0/glib/gslist.h: - -/usr/include/glib-2.0/glib/gstring.h: - -/usr/include/glib-2.0/glib/gunicode.h: - -/usr/include/glib-2.0/glib/gutils.h: - -/usr/include/glib-2.0/glib/gkeyfile.h: - -/usr/include/glib-2.0/glib/gmappedfile.h: - -/usr/include/glib-2.0/glib/gmarkup.h: - -/usr/include/glib-2.0/glib/gmessages.h: - -/usr/include/glib-2.0/glib/goption.h: - -/usr/include/glib-2.0/glib/gpattern.h: - -/usr/include/glib-2.0/glib/gprimes.h: - -/usr/include/glib-2.0/glib/gqsort.h: - -/usr/include/glib-2.0/glib/gqueue.h: - -/usr/include/glib-2.0/glib/grand.h: - -/usr/include/glib-2.0/glib/gregex.h: - -/usr/include/glib-2.0/glib/gscanner.h: - -/usr/include/glib-2.0/glib/gsequence.h: - -/usr/include/glib-2.0/glib/gshell.h: - -/usr/include/glib-2.0/glib/gslice.h: - -/usr/include/glib-2.0/glib/gspawn.h: - -/usr/include/glib-2.0/glib/gstrfuncs.h: - -/usr/include/glib-2.0/glib/gstringchunk.h: - -/usr/include/glib-2.0/glib/gtestutils.h: - -/usr/include/glib-2.0/glib/gthreadpool.h: - -/usr/include/glib-2.0/glib/gtimer.h: - -/usr/include/glib-2.0/glib/gtrashstack.h: - -/usr/include/glib-2.0/glib/gtree.h: - -/usr/include/glib-2.0/glib/gurifuncs.h: - -/usr/include/glib-2.0/glib/gvarianttype.h: - -/usr/include/glib-2.0/glib/gvariant.h: - -/usr/include/glib-2.0/glib/gversion.h: - -/usr/include/glib-2.0/glib/deprecated/gallocator.h: - -/usr/include/glib-2.0/glib/deprecated/gcache.h: - -/usr/include/glib-2.0/glib/deprecated/gcompletion.h: - -/usr/include/glib-2.0/glib/deprecated/gmain.h: - -/usr/include/glib-2.0/glib/deprecated/grel.h: - -/usr/include/glib-2.0/glib/deprecated/gthread.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/pthread.h: - -/usr/include/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/setjmp.h: - -/usr/include/stdio.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/include/arm-linux-gnueabihf/bits/sys_errlist.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio.h: - -lib/bluetooth/bluetooth.h: - -/usr/include/byteswap.h: - -/usr/include/netinet/in.h: - -/usr/include/arm-linux-gnueabihf/sys/socket.h: - -/usr/include/arm-linux-gnueabihf/sys/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/socket.h: - -/usr/include/arm-linux-gnueabihf/bits/socket_type.h: - -/usr/include/arm-linux-gnueabihf/bits/sockaddr.h: - -/usr/include/arm-linux-gnueabihf/asm/socket.h: - -/usr/include/asm-generic/socket.h: - -/usr/include/arm-linux-gnueabihf/asm/sockios.h: - -/usr/include/asm-generic/sockios.h: - -/usr/include/arm-linux-gnueabihf/bits/in.h: - -btio/btio.h: - -lib/uuid.h: - -src/log.h: - -attrib/att.h: - -attrib/gattrib.h: - -attrib/grib_ble_extend.h: - -/usr/include/errno.h: - -/usr/include/arm-linux-gnueabihf/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/arm-linux-gnueabihf/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/include/arm-linux-gnueabihf/bits/waitflags.h: - -/usr/include/arm-linux-gnueabihf/bits/waitstatus.h: - -/usr/include/alloca.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-float.h: - -/usr/include/unistd.h: - -/usr/include/arm-linux-gnueabihf/bits/posix_opt.h: - -/usr/include/arm-linux-gnueabihf/bits/environments.h: - -/usr/include/arm-linux-gnueabihf/bits/confname.h: - -/usr/include/getopt.h: - -/usr/include/fcntl.h: - -/usr/include/arm-linux-gnueabihf/bits/fcntl.h: - -/usr/include/arm-linux-gnueabihf/bits/fcntl-linux.h: - -/usr/include/arm-linux-gnueabihf/bits/stat.h: - -/usr/include/arm-linux-gnueabihf/sys/stat.h: - -lib/bluetooth/hci.h: - -lib/bluetooth/hci_lib.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/attrib/.deps/gatt.Po b/GRIB_BLE_HUB/libs/ble_extend/attrib/.deps/gatt.Po deleted file mode 100644 index 143318d..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/attrib/.deps/gatt.Po +++ /dev/null @@ -1,461 +0,0 @@ -attrib/gatt.o: attrib/gatt.c /usr/include/stdc-predef.h config.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h \ - /usr/include/stdint.h /usr/include/features.h \ - /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/include/arm-linux-gnueabihf/bits/wchar.h /usr/include/stdlib.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/include/arm-linux-gnueabihf/bits/waitflags.h \ - /usr/include/arm-linux-gnueabihf/bits/waitstatus.h /usr/include/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/xlocale.h /usr/include/arm-linux-gnueabihf/sys/types.h \ - /usr/include/time.h /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/alloca.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-float.h \ - /usr/include/glib-2.0/glib.h /usr/include/glib-2.0/glib/galloca.h \ - /usr/include/glib-2.0/glib/gtypes.h \ - /usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h \ - /usr/include/glib-2.0/glib/gmacros.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h \ - /usr/include/limits.h /usr/include/arm-linux-gnueabihf/bits/posix1_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/local_lim.h \ - /usr/include/linux/limits.h \ - /usr/include/arm-linux-gnueabihf/bits/posix2_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/xopen_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h \ - /usr/include/glib-2.0/glib/gversionmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/timex.h \ - /usr/include/glib-2.0/glib/garray.h \ - /usr/include/glib-2.0/glib/gasyncqueue.h \ - /usr/include/glib-2.0/glib/gthread.h \ - /usr/include/glib-2.0/glib/gatomic.h /usr/include/glib-2.0/glib/gerror.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/glib-2.0/glib/gquark.h \ - /usr/include/glib-2.0/glib/gbacktrace.h /usr/include/signal.h \ - /usr/include/arm-linux-gnueabihf/bits/signum.h \ - /usr/include/arm-linux-gnueabihf/bits/siginfo.h \ - /usr/include/arm-linux-gnueabihf/bits/sigaction.h \ - /usr/include/arm-linux-gnueabihf/bits/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/asm/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigstack.h \ - /usr/include/arm-linux-gnueabihf/sys/ucontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigthread.h \ - /usr/include/glib-2.0/glib/gbase64.h \ - /usr/include/glib-2.0/glib/gbitlock.h \ - /usr/include/glib-2.0/glib/gbookmarkfile.h \ - /usr/include/glib-2.0/glib/gbytes.h \ - /usr/include/glib-2.0/glib/gcharset.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/gconvert.h \ - /usr/include/glib-2.0/glib/gdataset.h /usr/include/glib-2.0/glib/gdate.h \ - /usr/include/glib-2.0/glib/gdatetime.h \ - /usr/include/glib-2.0/glib/gtimezone.h /usr/include/glib-2.0/glib/gdir.h \ - /usr/include/dirent.h /usr/include/arm-linux-gnueabihf/bits/dirent.h \ - /usr/include/glib-2.0/glib/genviron.h \ - /usr/include/glib-2.0/glib/gfileutils.h \ - /usr/include/glib-2.0/glib/ggettext.h /usr/include/glib-2.0/glib/ghash.h \ - /usr/include/glib-2.0/glib/glist.h /usr/include/glib-2.0/glib/gmem.h \ - /usr/include/glib-2.0/glib/gnode.h /usr/include/glib-2.0/glib/ghmac.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/ghook.h \ - /usr/include/glib-2.0/glib/ghostutils.h \ - /usr/include/glib-2.0/glib/giochannel.h \ - /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gpoll.h \ - /usr/include/glib-2.0/glib/gslist.h /usr/include/glib-2.0/glib/gstring.h \ - /usr/include/glib-2.0/glib/gunicode.h \ - /usr/include/glib-2.0/glib/gutils.h \ - /usr/include/glib-2.0/glib/gkeyfile.h \ - /usr/include/glib-2.0/glib/gmappedfile.h \ - /usr/include/glib-2.0/glib/gmarkup.h \ - /usr/include/glib-2.0/glib/gmessages.h \ - /usr/include/glib-2.0/glib/goption.h \ - /usr/include/glib-2.0/glib/gpattern.h \ - /usr/include/glib-2.0/glib/gprimes.h /usr/include/glib-2.0/glib/gqsort.h \ - /usr/include/glib-2.0/glib/gqueue.h /usr/include/glib-2.0/glib/grand.h \ - /usr/include/glib-2.0/glib/gregex.h \ - /usr/include/glib-2.0/glib/gscanner.h \ - /usr/include/glib-2.0/glib/gsequence.h \ - /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gslice.h \ - /usr/include/glib-2.0/glib/gspawn.h \ - /usr/include/glib-2.0/glib/gstrfuncs.h \ - /usr/include/glib-2.0/glib/gstringchunk.h \ - /usr/include/glib-2.0/glib/gtestutils.h \ - /usr/include/glib-2.0/glib/gthreadpool.h \ - /usr/include/glib-2.0/glib/gtimer.h \ - /usr/include/glib-2.0/glib/gtrashstack.h \ - /usr/include/glib-2.0/glib/gtree.h \ - /usr/include/glib-2.0/glib/gurifuncs.h \ - /usr/include/glib-2.0/glib/gvarianttype.h \ - /usr/include/glib-2.0/glib/gvariant.h \ - /usr/include/glib-2.0/glib/gversion.h \ - /usr/include/glib-2.0/glib/deprecated/gallocator.h \ - /usr/include/glib-2.0/glib/deprecated/gcache.h \ - /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ - /usr/include/glib-2.0/glib/deprecated/gmain.h \ - /usr/include/glib-2.0/glib/deprecated/grel.h \ - /usr/include/glib-2.0/glib/deprecated/gthread.h /usr/include/pthread.h \ - /usr/include/sched.h /usr/include/arm-linux-gnueabihf/bits/sched.h \ - /usr/include/arm-linux-gnueabihf/bits/setjmp.h lib/bluetooth/sdp.h \ - lib/bluetooth/bluetooth.h /usr/include/stdio.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/include/arm-linux-gnueabihf/bits/sys_errlist.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio.h /usr/include/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string2.h /usr/include/byteswap.h \ - /usr/include/netinet/in.h /usr/include/arm-linux-gnueabihf/sys/socket.h \ - /usr/include/arm-linux-gnueabihf/sys/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/socket.h \ - /usr/include/arm-linux-gnueabihf/bits/socket_type.h \ - /usr/include/arm-linux-gnueabihf/bits/sockaddr.h \ - /usr/include/arm-linux-gnueabihf/asm/socket.h \ - /usr/include/asm-generic/socket.h \ - /usr/include/arm-linux-gnueabihf/asm/sockios.h \ - /usr/include/asm-generic/sockios.h \ - /usr/include/arm-linux-gnueabihf/bits/in.h lib/bluetooth/sdp_lib.h \ - lib/bluetooth/hci.h lib/uuid.h attrib/att.h attrib/gattrib.h \ - attrib/gatt.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/include/arm-linux-gnueabihf/bits/wchar.h: - -/usr/include/stdlib.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/include/arm-linux-gnueabihf/bits/waitflags.h: - -/usr/include/arm-linux-gnueabihf/bits/waitstatus.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/xlocale.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/time.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/alloca.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-float.h: - -/usr/include/glib-2.0/glib.h: - -/usr/include/glib-2.0/glib/galloca.h: - -/usr/include/glib-2.0/glib/gtypes.h: - -/usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h: - -/usr/include/glib-2.0/glib/gmacros.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h: - -/usr/include/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/local_lim.h: - -/usr/include/linux/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix2_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/xopen_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h: - -/usr/include/glib-2.0/glib/gversionmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/timex.h: - -/usr/include/glib-2.0/glib/garray.h: - -/usr/include/glib-2.0/glib/gasyncqueue.h: - -/usr/include/glib-2.0/glib/gthread.h: - -/usr/include/glib-2.0/glib/gatomic.h: - -/usr/include/glib-2.0/glib/gerror.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/glib-2.0/glib/gquark.h: - -/usr/include/glib-2.0/glib/gbacktrace.h: - -/usr/include/signal.h: - -/usr/include/arm-linux-gnueabihf/bits/signum.h: - -/usr/include/arm-linux-gnueabihf/bits/siginfo.h: - -/usr/include/arm-linux-gnueabihf/bits/sigaction.h: - -/usr/include/arm-linux-gnueabihf/bits/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/asm/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigstack.h: - -/usr/include/arm-linux-gnueabihf/sys/ucontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigthread.h: - -/usr/include/glib-2.0/glib/gbase64.h: - -/usr/include/glib-2.0/glib/gbitlock.h: - -/usr/include/glib-2.0/glib/gbookmarkfile.h: - -/usr/include/glib-2.0/glib/gbytes.h: - -/usr/include/glib-2.0/glib/gcharset.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/gconvert.h: - -/usr/include/glib-2.0/glib/gdataset.h: - -/usr/include/glib-2.0/glib/gdate.h: - -/usr/include/glib-2.0/glib/gdatetime.h: - -/usr/include/glib-2.0/glib/gtimezone.h: - -/usr/include/glib-2.0/glib/gdir.h: - -/usr/include/dirent.h: - -/usr/include/arm-linux-gnueabihf/bits/dirent.h: - -/usr/include/glib-2.0/glib/genviron.h: - -/usr/include/glib-2.0/glib/gfileutils.h: - -/usr/include/glib-2.0/glib/ggettext.h: - -/usr/include/glib-2.0/glib/ghash.h: - -/usr/include/glib-2.0/glib/glist.h: - -/usr/include/glib-2.0/glib/gmem.h: - -/usr/include/glib-2.0/glib/gnode.h: - -/usr/include/glib-2.0/glib/ghmac.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/ghook.h: - -/usr/include/glib-2.0/glib/ghostutils.h: - -/usr/include/glib-2.0/glib/giochannel.h: - -/usr/include/glib-2.0/glib/gmain.h: - -/usr/include/glib-2.0/glib/gpoll.h: - -/usr/include/glib-2.0/glib/gslist.h: - -/usr/include/glib-2.0/glib/gstring.h: - -/usr/include/glib-2.0/glib/gunicode.h: - -/usr/include/glib-2.0/glib/gutils.h: - -/usr/include/glib-2.0/glib/gkeyfile.h: - -/usr/include/glib-2.0/glib/gmappedfile.h: - -/usr/include/glib-2.0/glib/gmarkup.h: - -/usr/include/glib-2.0/glib/gmessages.h: - -/usr/include/glib-2.0/glib/goption.h: - -/usr/include/glib-2.0/glib/gpattern.h: - -/usr/include/glib-2.0/glib/gprimes.h: - -/usr/include/glib-2.0/glib/gqsort.h: - -/usr/include/glib-2.0/glib/gqueue.h: - -/usr/include/glib-2.0/glib/grand.h: - -/usr/include/glib-2.0/glib/gregex.h: - -/usr/include/glib-2.0/glib/gscanner.h: - -/usr/include/glib-2.0/glib/gsequence.h: - -/usr/include/glib-2.0/glib/gshell.h: - -/usr/include/glib-2.0/glib/gslice.h: - -/usr/include/glib-2.0/glib/gspawn.h: - -/usr/include/glib-2.0/glib/gstrfuncs.h: - -/usr/include/glib-2.0/glib/gstringchunk.h: - -/usr/include/glib-2.0/glib/gtestutils.h: - -/usr/include/glib-2.0/glib/gthreadpool.h: - -/usr/include/glib-2.0/glib/gtimer.h: - -/usr/include/glib-2.0/glib/gtrashstack.h: - -/usr/include/glib-2.0/glib/gtree.h: - -/usr/include/glib-2.0/glib/gurifuncs.h: - -/usr/include/glib-2.0/glib/gvarianttype.h: - -/usr/include/glib-2.0/glib/gvariant.h: - -/usr/include/glib-2.0/glib/gversion.h: - -/usr/include/glib-2.0/glib/deprecated/gallocator.h: - -/usr/include/glib-2.0/glib/deprecated/gcache.h: - -/usr/include/glib-2.0/glib/deprecated/gcompletion.h: - -/usr/include/glib-2.0/glib/deprecated/gmain.h: - -/usr/include/glib-2.0/glib/deprecated/grel.h: - -/usr/include/glib-2.0/glib/deprecated/gthread.h: - -/usr/include/pthread.h: - -/usr/include/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/setjmp.h: - -lib/bluetooth/sdp.h: - -lib/bluetooth/bluetooth.h: - -/usr/include/stdio.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/include/arm-linux-gnueabihf/bits/sys_errlist.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio.h: - -/usr/include/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string2.h: - -/usr/include/byteswap.h: - -/usr/include/netinet/in.h: - -/usr/include/arm-linux-gnueabihf/sys/socket.h: - -/usr/include/arm-linux-gnueabihf/sys/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/socket.h: - -/usr/include/arm-linux-gnueabihf/bits/socket_type.h: - -/usr/include/arm-linux-gnueabihf/bits/sockaddr.h: - -/usr/include/arm-linux-gnueabihf/asm/socket.h: - -/usr/include/asm-generic/socket.h: - -/usr/include/arm-linux-gnueabihf/asm/sockios.h: - -/usr/include/asm-generic/sockios.h: - -/usr/include/arm-linux-gnueabihf/bits/in.h: - -lib/bluetooth/sdp_lib.h: - -lib/bluetooth/hci.h: - -lib/uuid.h: - -attrib/att.h: - -attrib/gattrib.h: - -attrib/gatt.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/attrib/.deps/gattrib.Po b/GRIB_BLE_HUB/libs/ble_extend/attrib/.deps/gattrib.Po deleted file mode 100644 index fe4d4f9..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/attrib/.deps/gattrib.Po +++ /dev/null @@ -1,504 +0,0 @@ -attrib/gattrib.o: attrib/gattrib.c /usr/include/stdc-predef.h config.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h \ - /usr/include/stdint.h /usr/include/features.h \ - /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/include/arm-linux-gnueabihf/bits/wchar.h /usr/include/string.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/include/xlocale.h /usr/include/arm-linux-gnueabihf/bits/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string2.h /usr/include/stdlib.h \ - /usr/include/glib-2.0/glib.h /usr/include/glib-2.0/glib/galloca.h \ - /usr/include/glib-2.0/glib/gtypes.h \ - /usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h \ - /usr/include/glib-2.0/glib/gmacros.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h \ - /usr/include/limits.h /usr/include/arm-linux-gnueabihf/bits/posix1_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/local_lim.h \ - /usr/include/linux/limits.h \ - /usr/include/arm-linux-gnueabihf/bits/posix2_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/xopen_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h \ - /usr/include/glib-2.0/glib/gversionmacros.h /usr/include/time.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h \ - /usr/include/arm-linux-gnueabihf/bits/timex.h \ - /usr/include/glib-2.0/glib/garray.h \ - /usr/include/glib-2.0/glib/gasyncqueue.h \ - /usr/include/glib-2.0/glib/gthread.h \ - /usr/include/glib-2.0/glib/gatomic.h /usr/include/glib-2.0/glib/gerror.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/glib-2.0/glib/gquark.h \ - /usr/include/glib-2.0/glib/gbacktrace.h /usr/include/signal.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/signum.h \ - /usr/include/arm-linux-gnueabihf/bits/siginfo.h \ - /usr/include/arm-linux-gnueabihf/bits/sigaction.h \ - /usr/include/arm-linux-gnueabihf/bits/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/asm/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigstack.h \ - /usr/include/arm-linux-gnueabihf/sys/ucontext.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/endian.h /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/arm-linux-gnueabihf/bits/sigthread.h \ - /usr/include/glib-2.0/glib/gbase64.h \ - /usr/include/glib-2.0/glib/gbitlock.h \ - /usr/include/glib-2.0/glib/gbookmarkfile.h \ - /usr/include/glib-2.0/glib/gbytes.h \ - /usr/include/glib-2.0/glib/gcharset.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/gconvert.h \ - /usr/include/glib-2.0/glib/gdataset.h /usr/include/glib-2.0/glib/gdate.h \ - /usr/include/glib-2.0/glib/gdatetime.h \ - /usr/include/glib-2.0/glib/gtimezone.h /usr/include/glib-2.0/glib/gdir.h \ - /usr/include/dirent.h /usr/include/arm-linux-gnueabihf/bits/dirent.h \ - /usr/include/glib-2.0/glib/genviron.h \ - /usr/include/glib-2.0/glib/gfileutils.h \ - /usr/include/glib-2.0/glib/ggettext.h /usr/include/glib-2.0/glib/ghash.h \ - /usr/include/glib-2.0/glib/glist.h /usr/include/glib-2.0/glib/gmem.h \ - /usr/include/glib-2.0/glib/gnode.h /usr/include/glib-2.0/glib/ghmac.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/ghook.h \ - /usr/include/glib-2.0/glib/ghostutils.h \ - /usr/include/glib-2.0/glib/giochannel.h \ - /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gpoll.h \ - /usr/include/glib-2.0/glib/gslist.h /usr/include/glib-2.0/glib/gstring.h \ - /usr/include/glib-2.0/glib/gunicode.h \ - /usr/include/glib-2.0/glib/gutils.h \ - /usr/include/glib-2.0/glib/gkeyfile.h \ - /usr/include/glib-2.0/glib/gmappedfile.h \ - /usr/include/glib-2.0/glib/gmarkup.h \ - /usr/include/glib-2.0/glib/gmessages.h \ - /usr/include/glib-2.0/glib/goption.h \ - /usr/include/glib-2.0/glib/gpattern.h \ - /usr/include/glib-2.0/glib/gprimes.h /usr/include/glib-2.0/glib/gqsort.h \ - /usr/include/glib-2.0/glib/gqueue.h /usr/include/glib-2.0/glib/grand.h \ - /usr/include/glib-2.0/glib/gregex.h \ - /usr/include/glib-2.0/glib/gscanner.h \ - /usr/include/glib-2.0/glib/gsequence.h \ - /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gslice.h \ - /usr/include/glib-2.0/glib/gspawn.h \ - /usr/include/glib-2.0/glib/gstrfuncs.h \ - /usr/include/glib-2.0/glib/gstringchunk.h \ - /usr/include/glib-2.0/glib/gtestutils.h \ - /usr/include/glib-2.0/glib/gthreadpool.h \ - /usr/include/glib-2.0/glib/gtimer.h \ - /usr/include/glib-2.0/glib/gtrashstack.h \ - /usr/include/glib-2.0/glib/gtree.h \ - /usr/include/glib-2.0/glib/gurifuncs.h \ - /usr/include/glib-2.0/glib/gvarianttype.h \ - /usr/include/glib-2.0/glib/gvariant.h \ - /usr/include/glib-2.0/glib/gversion.h \ - /usr/include/glib-2.0/glib/deprecated/gallocator.h \ - /usr/include/glib-2.0/glib/deprecated/gcache.h \ - /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ - /usr/include/glib-2.0/glib/deprecated/gmain.h \ - /usr/include/glib-2.0/glib/deprecated/grel.h \ - /usr/include/glib-2.0/glib/deprecated/gthread.h \ - /usr/include/arm-linux-gnueabihf/sys/types.h \ - /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h /usr/include/pthread.h \ - /usr/include/sched.h /usr/include/arm-linux-gnueabihf/bits/sched.h \ - /usr/include/arm-linux-gnueabihf/bits/setjmp.h /usr/include/stdio.h \ - /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/include/arm-linux-gnueabihf/bits/sys_errlist.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio.h lib/bluetooth/bluetooth.h \ - /usr/include/byteswap.h /usr/include/netinet/in.h \ - /usr/include/arm-linux-gnueabihf/sys/socket.h \ - /usr/include/arm-linux-gnueabihf/sys/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/socket.h \ - /usr/include/arm-linux-gnueabihf/bits/socket_type.h \ - /usr/include/arm-linux-gnueabihf/bits/sockaddr.h \ - /usr/include/arm-linux-gnueabihf/asm/socket.h \ - /usr/include/asm-generic/socket.h \ - /usr/include/arm-linux-gnueabihf/asm/sockios.h \ - /usr/include/asm-generic/sockios.h \ - /usr/include/arm-linux-gnueabihf/bits/in.h btio/btio.h lib/uuid.h \ - src/log.h attrib/att.h attrib/gattrib.h attrib/grib_ble_extend.h \ - /usr/include/errno.h /usr/include/arm-linux-gnueabihf/bits/errno.h \ - /usr/include/linux/errno.h /usr/include/arm-linux-gnueabihf/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/include/arm-linux-gnueabihf/bits/waitflags.h \ - /usr/include/arm-linux-gnueabihf/bits/waitstatus.h /usr/include/alloca.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-float.h \ - /usr/include/unistd.h /usr/include/arm-linux-gnueabihf/bits/posix_opt.h \ - /usr/include/arm-linux-gnueabihf/bits/environments.h \ - /usr/include/arm-linux-gnueabihf/bits/confname.h /usr/include/getopt.h \ - /usr/include/fcntl.h /usr/include/arm-linux-gnueabihf/bits/fcntl.h \ - /usr/include/arm-linux-gnueabihf/bits/fcntl-linux.h \ - /usr/include/arm-linux-gnueabihf/bits/stat.h \ - /usr/include/arm-linux-gnueabihf/sys/stat.h lib/bluetooth/hci.h \ - lib/bluetooth/hci_lib.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/include/arm-linux-gnueabihf/bits/wchar.h: - -/usr/include/string.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/include/xlocale.h: - -/usr/include/arm-linux-gnueabihf/bits/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string2.h: - -/usr/include/stdlib.h: - -/usr/include/glib-2.0/glib.h: - -/usr/include/glib-2.0/glib/galloca.h: - -/usr/include/glib-2.0/glib/gtypes.h: - -/usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h: - -/usr/include/glib-2.0/glib/gmacros.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h: - -/usr/include/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/local_lim.h: - -/usr/include/linux/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix2_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/xopen_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h: - -/usr/include/glib-2.0/glib/gversionmacros.h: - -/usr/include/time.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/arm-linux-gnueabihf/bits/timex.h: - -/usr/include/glib-2.0/glib/garray.h: - -/usr/include/glib-2.0/glib/gasyncqueue.h: - -/usr/include/glib-2.0/glib/gthread.h: - -/usr/include/glib-2.0/glib/gatomic.h: - -/usr/include/glib-2.0/glib/gerror.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/glib-2.0/glib/gquark.h: - -/usr/include/glib-2.0/glib/gbacktrace.h: - -/usr/include/signal.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/signum.h: - -/usr/include/arm-linux-gnueabihf/bits/siginfo.h: - -/usr/include/arm-linux-gnueabihf/bits/sigaction.h: - -/usr/include/arm-linux-gnueabihf/bits/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/asm/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigstack.h: - -/usr/include/arm-linux-gnueabihf/sys/ucontext.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/arm-linux-gnueabihf/bits/sigthread.h: - -/usr/include/glib-2.0/glib/gbase64.h: - -/usr/include/glib-2.0/glib/gbitlock.h: - -/usr/include/glib-2.0/glib/gbookmarkfile.h: - -/usr/include/glib-2.0/glib/gbytes.h: - -/usr/include/glib-2.0/glib/gcharset.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/gconvert.h: - -/usr/include/glib-2.0/glib/gdataset.h: - -/usr/include/glib-2.0/glib/gdate.h: - -/usr/include/glib-2.0/glib/gdatetime.h: - -/usr/include/glib-2.0/glib/gtimezone.h: - -/usr/include/glib-2.0/glib/gdir.h: - -/usr/include/dirent.h: - -/usr/include/arm-linux-gnueabihf/bits/dirent.h: - -/usr/include/glib-2.0/glib/genviron.h: - -/usr/include/glib-2.0/glib/gfileutils.h: - -/usr/include/glib-2.0/glib/ggettext.h: - -/usr/include/glib-2.0/glib/ghash.h: - -/usr/include/glib-2.0/glib/glist.h: - -/usr/include/glib-2.0/glib/gmem.h: - -/usr/include/glib-2.0/glib/gnode.h: - -/usr/include/glib-2.0/glib/ghmac.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/ghook.h: - -/usr/include/glib-2.0/glib/ghostutils.h: - -/usr/include/glib-2.0/glib/giochannel.h: - -/usr/include/glib-2.0/glib/gmain.h: - -/usr/include/glib-2.0/glib/gpoll.h: - -/usr/include/glib-2.0/glib/gslist.h: - -/usr/include/glib-2.0/glib/gstring.h: - -/usr/include/glib-2.0/glib/gunicode.h: - -/usr/include/glib-2.0/glib/gutils.h: - -/usr/include/glib-2.0/glib/gkeyfile.h: - -/usr/include/glib-2.0/glib/gmappedfile.h: - -/usr/include/glib-2.0/glib/gmarkup.h: - -/usr/include/glib-2.0/glib/gmessages.h: - -/usr/include/glib-2.0/glib/goption.h: - -/usr/include/glib-2.0/glib/gpattern.h: - -/usr/include/glib-2.0/glib/gprimes.h: - -/usr/include/glib-2.0/glib/gqsort.h: - -/usr/include/glib-2.0/glib/gqueue.h: - -/usr/include/glib-2.0/glib/grand.h: - -/usr/include/glib-2.0/glib/gregex.h: - -/usr/include/glib-2.0/glib/gscanner.h: - -/usr/include/glib-2.0/glib/gsequence.h: - -/usr/include/glib-2.0/glib/gshell.h: - -/usr/include/glib-2.0/glib/gslice.h: - -/usr/include/glib-2.0/glib/gspawn.h: - -/usr/include/glib-2.0/glib/gstrfuncs.h: - -/usr/include/glib-2.0/glib/gstringchunk.h: - -/usr/include/glib-2.0/glib/gtestutils.h: - -/usr/include/glib-2.0/glib/gthreadpool.h: - -/usr/include/glib-2.0/glib/gtimer.h: - -/usr/include/glib-2.0/glib/gtrashstack.h: - -/usr/include/glib-2.0/glib/gtree.h: - -/usr/include/glib-2.0/glib/gurifuncs.h: - -/usr/include/glib-2.0/glib/gvarianttype.h: - -/usr/include/glib-2.0/glib/gvariant.h: - -/usr/include/glib-2.0/glib/gversion.h: - -/usr/include/glib-2.0/glib/deprecated/gallocator.h: - -/usr/include/glib-2.0/glib/deprecated/gcache.h: - -/usr/include/glib-2.0/glib/deprecated/gcompletion.h: - -/usr/include/glib-2.0/glib/deprecated/gmain.h: - -/usr/include/glib-2.0/glib/deprecated/grel.h: - -/usr/include/glib-2.0/glib/deprecated/gthread.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/pthread.h: - -/usr/include/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/setjmp.h: - -/usr/include/stdio.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/include/arm-linux-gnueabihf/bits/sys_errlist.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio.h: - -lib/bluetooth/bluetooth.h: - -/usr/include/byteswap.h: - -/usr/include/netinet/in.h: - -/usr/include/arm-linux-gnueabihf/sys/socket.h: - -/usr/include/arm-linux-gnueabihf/sys/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/socket.h: - -/usr/include/arm-linux-gnueabihf/bits/socket_type.h: - -/usr/include/arm-linux-gnueabihf/bits/sockaddr.h: - -/usr/include/arm-linux-gnueabihf/asm/socket.h: - -/usr/include/asm-generic/socket.h: - -/usr/include/arm-linux-gnueabihf/asm/sockios.h: - -/usr/include/asm-generic/sockios.h: - -/usr/include/arm-linux-gnueabihf/bits/in.h: - -btio/btio.h: - -lib/uuid.h: - -src/log.h: - -attrib/att.h: - -attrib/gattrib.h: - -attrib/grib_ble_extend.h: - -/usr/include/errno.h: - -/usr/include/arm-linux-gnueabihf/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/arm-linux-gnueabihf/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/include/arm-linux-gnueabihf/bits/waitflags.h: - -/usr/include/arm-linux-gnueabihf/bits/waitstatus.h: - -/usr/include/alloca.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-float.h: - -/usr/include/unistd.h: - -/usr/include/arm-linux-gnueabihf/bits/posix_opt.h: - -/usr/include/arm-linux-gnueabihf/bits/environments.h: - -/usr/include/arm-linux-gnueabihf/bits/confname.h: - -/usr/include/getopt.h: - -/usr/include/fcntl.h: - -/usr/include/arm-linux-gnueabihf/bits/fcntl.h: - -/usr/include/arm-linux-gnueabihf/bits/fcntl-linux.h: - -/usr/include/arm-linux-gnueabihf/bits/stat.h: - -/usr/include/arm-linux-gnueabihf/sys/stat.h: - -lib/bluetooth/hci.h: - -lib/bluetooth/hci_lib.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/attrib/.deps/gatttool.Po b/GRIB_BLE_HUB/libs/ble_extend/attrib/.deps/gatttool.Po deleted file mode 100644 index 975ce84..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/attrib/.deps/gatttool.Po +++ /dev/null @@ -1,513 +0,0 @@ -attrib/gatttool.o: attrib/gatttool.c /usr/include/stdc-predef.h config.h \ - /usr/include/errno.h /usr/include/features.h \ - /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/include/arm-linux-gnueabihf/bits/errno.h /usr/include/linux/errno.h \ - /usr/include/arm-linux-gnueabihf/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/include/glib-2.0/glib.h /usr/include/glib-2.0/glib/galloca.h \ - /usr/include/glib-2.0/glib/gtypes.h \ - /usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h \ - /usr/include/glib-2.0/glib/gmacros.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h \ - /usr/include/limits.h /usr/include/arm-linux-gnueabihf/bits/posix1_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/local_lim.h \ - /usr/include/linux/limits.h \ - /usr/include/arm-linux-gnueabihf/bits/posix2_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/xopen_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h \ - /usr/include/glib-2.0/glib/gversionmacros.h /usr/include/time.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h \ - /usr/include/arm-linux-gnueabihf/bits/timex.h /usr/include/xlocale.h \ - /usr/include/glib-2.0/glib/garray.h \ - /usr/include/glib-2.0/glib/gasyncqueue.h \ - /usr/include/glib-2.0/glib/gthread.h \ - /usr/include/glib-2.0/glib/gatomic.h /usr/include/glib-2.0/glib/gerror.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/glib-2.0/glib/gquark.h \ - /usr/include/glib-2.0/glib/gbacktrace.h /usr/include/signal.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/signum.h \ - /usr/include/arm-linux-gnueabihf/bits/siginfo.h \ - /usr/include/arm-linux-gnueabihf/bits/sigaction.h \ - /usr/include/arm-linux-gnueabihf/bits/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/asm/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigstack.h \ - /usr/include/arm-linux-gnueabihf/sys/ucontext.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/endian.h /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/arm-linux-gnueabihf/bits/sigthread.h \ - /usr/include/glib-2.0/glib/gbase64.h \ - /usr/include/glib-2.0/glib/gbitlock.h \ - /usr/include/glib-2.0/glib/gbookmarkfile.h \ - /usr/include/glib-2.0/glib/gbytes.h \ - /usr/include/glib-2.0/glib/gcharset.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/gconvert.h \ - /usr/include/glib-2.0/glib/gdataset.h /usr/include/glib-2.0/glib/gdate.h \ - /usr/include/glib-2.0/glib/gdatetime.h \ - /usr/include/glib-2.0/glib/gtimezone.h /usr/include/glib-2.0/glib/gdir.h \ - /usr/include/dirent.h /usr/include/arm-linux-gnueabihf/bits/dirent.h \ - /usr/include/glib-2.0/glib/genviron.h \ - /usr/include/glib-2.0/glib/gfileutils.h \ - /usr/include/glib-2.0/glib/ggettext.h /usr/include/glib-2.0/glib/ghash.h \ - /usr/include/glib-2.0/glib/glist.h /usr/include/glib-2.0/glib/gmem.h \ - /usr/include/glib-2.0/glib/gnode.h /usr/include/glib-2.0/glib/ghmac.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/ghook.h \ - /usr/include/glib-2.0/glib/ghostutils.h \ - /usr/include/glib-2.0/glib/giochannel.h \ - /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gpoll.h \ - /usr/include/glib-2.0/glib/gslist.h /usr/include/glib-2.0/glib/gstring.h \ - /usr/include/glib-2.0/glib/gunicode.h \ - /usr/include/glib-2.0/glib/gutils.h \ - /usr/include/glib-2.0/glib/gkeyfile.h \ - /usr/include/glib-2.0/glib/gmappedfile.h \ - /usr/include/glib-2.0/glib/gmarkup.h \ - /usr/include/glib-2.0/glib/gmessages.h \ - /usr/include/glib-2.0/glib/goption.h \ - /usr/include/glib-2.0/glib/gpattern.h \ - /usr/include/glib-2.0/glib/gprimes.h /usr/include/glib-2.0/glib/gqsort.h \ - /usr/include/glib-2.0/glib/gqueue.h /usr/include/glib-2.0/glib/grand.h \ - /usr/include/glib-2.0/glib/gregex.h \ - /usr/include/glib-2.0/glib/gscanner.h \ - /usr/include/glib-2.0/glib/gsequence.h \ - /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gslice.h \ - /usr/include/glib-2.0/glib/gspawn.h \ - /usr/include/glib-2.0/glib/gstrfuncs.h \ - /usr/include/glib-2.0/glib/gstringchunk.h \ - /usr/include/glib-2.0/glib/gtestutils.h \ - /usr/include/glib-2.0/glib/gthreadpool.h \ - /usr/include/glib-2.0/glib/gtimer.h \ - /usr/include/glib-2.0/glib/gtrashstack.h \ - /usr/include/glib-2.0/glib/gtree.h \ - /usr/include/glib-2.0/glib/gurifuncs.h \ - /usr/include/glib-2.0/glib/gvarianttype.h \ - /usr/include/glib-2.0/glib/gvariant.h \ - /usr/include/glib-2.0/glib/gversion.h \ - /usr/include/glib-2.0/glib/deprecated/gallocator.h \ - /usr/include/glib-2.0/glib/deprecated/gcache.h \ - /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ - /usr/include/glib-2.0/glib/deprecated/gmain.h \ - /usr/include/glib-2.0/glib/deprecated/grel.h \ - /usr/include/glib-2.0/glib/deprecated/gthread.h \ - /usr/include/arm-linux-gnueabihf/sys/types.h \ - /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h /usr/include/pthread.h \ - /usr/include/sched.h /usr/include/arm-linux-gnueabihf/bits/sched.h \ - /usr/include/arm-linux-gnueabihf/bits/setjmp.h /usr/include/stdio.h \ - /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/include/arm-linux-gnueabihf/bits/sys_errlist.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio.h /usr/include/stdlib.h \ - /usr/include/arm-linux-gnueabihf/bits/waitflags.h \ - /usr/include/arm-linux-gnueabihf/bits/waitstatus.h /usr/include/alloca.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-float.h \ - /usr/include/unistd.h /usr/include/arm-linux-gnueabihf/bits/posix_opt.h \ - /usr/include/arm-linux-gnueabihf/bits/environments.h \ - /usr/include/arm-linux-gnueabihf/bits/confname.h /usr/include/getopt.h \ - /usr/include/string.h /usr/include/arm-linux-gnueabihf/bits/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string2.h /usr/include/fcntl.h \ - /usr/include/arm-linux-gnueabihf/bits/fcntl.h \ - /usr/include/arm-linux-gnueabihf/bits/fcntl-linux.h \ - /usr/include/arm-linux-gnueabihf/bits/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/stat.h \ - /usr/include/arm-linux-gnueabihf/sys/stat.h \ - /usr/include/arm-linux-gnueabihf/sys/time.h btio/btio.h \ - lib/bluetooth/bluetooth.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h \ - /usr/include/stdint.h /usr/include/arm-linux-gnueabihf/bits/wchar.h \ - /usr/include/byteswap.h /usr/include/netinet/in.h \ - /usr/include/arm-linux-gnueabihf/sys/socket.h \ - /usr/include/arm-linux-gnueabihf/sys/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/socket.h \ - /usr/include/arm-linux-gnueabihf/bits/socket_type.h \ - /usr/include/arm-linux-gnueabihf/bits/sockaddr.h \ - /usr/include/arm-linux-gnueabihf/asm/socket.h \ - /usr/include/asm-generic/socket.h \ - /usr/include/arm-linux-gnueabihf/asm/sockios.h \ - /usr/include/asm-generic/sockios.h \ - /usr/include/arm-linux-gnueabihf/bits/in.h lib/bluetooth/hci.h \ - lib/bluetooth/hci_lib.h lib/uuid.h attrib/att.h attrib/gattrib.h \ - attrib/gatt.h lib/bluetooth/sdp.h attrib/gatttool.h \ - attrib/grib_ble_extend.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/include/errno.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/include/arm-linux-gnueabihf/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/arm-linux-gnueabihf/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/include/glib-2.0/glib.h: - -/usr/include/glib-2.0/glib/galloca.h: - -/usr/include/glib-2.0/glib/gtypes.h: - -/usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h: - -/usr/include/glib-2.0/glib/gmacros.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h: - -/usr/include/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/local_lim.h: - -/usr/include/linux/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix2_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/xopen_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h: - -/usr/include/glib-2.0/glib/gversionmacros.h: - -/usr/include/time.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/arm-linux-gnueabihf/bits/timex.h: - -/usr/include/xlocale.h: - -/usr/include/glib-2.0/glib/garray.h: - -/usr/include/glib-2.0/glib/gasyncqueue.h: - -/usr/include/glib-2.0/glib/gthread.h: - -/usr/include/glib-2.0/glib/gatomic.h: - -/usr/include/glib-2.0/glib/gerror.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/glib-2.0/glib/gquark.h: - -/usr/include/glib-2.0/glib/gbacktrace.h: - -/usr/include/signal.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/signum.h: - -/usr/include/arm-linux-gnueabihf/bits/siginfo.h: - -/usr/include/arm-linux-gnueabihf/bits/sigaction.h: - -/usr/include/arm-linux-gnueabihf/bits/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/asm/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigstack.h: - -/usr/include/arm-linux-gnueabihf/sys/ucontext.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/arm-linux-gnueabihf/bits/sigthread.h: - -/usr/include/glib-2.0/glib/gbase64.h: - -/usr/include/glib-2.0/glib/gbitlock.h: - -/usr/include/glib-2.0/glib/gbookmarkfile.h: - -/usr/include/glib-2.0/glib/gbytes.h: - -/usr/include/glib-2.0/glib/gcharset.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/gconvert.h: - -/usr/include/glib-2.0/glib/gdataset.h: - -/usr/include/glib-2.0/glib/gdate.h: - -/usr/include/glib-2.0/glib/gdatetime.h: - -/usr/include/glib-2.0/glib/gtimezone.h: - -/usr/include/glib-2.0/glib/gdir.h: - -/usr/include/dirent.h: - -/usr/include/arm-linux-gnueabihf/bits/dirent.h: - -/usr/include/glib-2.0/glib/genviron.h: - -/usr/include/glib-2.0/glib/gfileutils.h: - -/usr/include/glib-2.0/glib/ggettext.h: - -/usr/include/glib-2.0/glib/ghash.h: - -/usr/include/glib-2.0/glib/glist.h: - -/usr/include/glib-2.0/glib/gmem.h: - -/usr/include/glib-2.0/glib/gnode.h: - -/usr/include/glib-2.0/glib/ghmac.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/ghook.h: - -/usr/include/glib-2.0/glib/ghostutils.h: - -/usr/include/glib-2.0/glib/giochannel.h: - -/usr/include/glib-2.0/glib/gmain.h: - -/usr/include/glib-2.0/glib/gpoll.h: - -/usr/include/glib-2.0/glib/gslist.h: - -/usr/include/glib-2.0/glib/gstring.h: - -/usr/include/glib-2.0/glib/gunicode.h: - -/usr/include/glib-2.0/glib/gutils.h: - -/usr/include/glib-2.0/glib/gkeyfile.h: - -/usr/include/glib-2.0/glib/gmappedfile.h: - -/usr/include/glib-2.0/glib/gmarkup.h: - -/usr/include/glib-2.0/glib/gmessages.h: - -/usr/include/glib-2.0/glib/goption.h: - -/usr/include/glib-2.0/glib/gpattern.h: - -/usr/include/glib-2.0/glib/gprimes.h: - -/usr/include/glib-2.0/glib/gqsort.h: - -/usr/include/glib-2.0/glib/gqueue.h: - -/usr/include/glib-2.0/glib/grand.h: - -/usr/include/glib-2.0/glib/gregex.h: - -/usr/include/glib-2.0/glib/gscanner.h: - -/usr/include/glib-2.0/glib/gsequence.h: - -/usr/include/glib-2.0/glib/gshell.h: - -/usr/include/glib-2.0/glib/gslice.h: - -/usr/include/glib-2.0/glib/gspawn.h: - -/usr/include/glib-2.0/glib/gstrfuncs.h: - -/usr/include/glib-2.0/glib/gstringchunk.h: - -/usr/include/glib-2.0/glib/gtestutils.h: - -/usr/include/glib-2.0/glib/gthreadpool.h: - -/usr/include/glib-2.0/glib/gtimer.h: - -/usr/include/glib-2.0/glib/gtrashstack.h: - -/usr/include/glib-2.0/glib/gtree.h: - -/usr/include/glib-2.0/glib/gurifuncs.h: - -/usr/include/glib-2.0/glib/gvarianttype.h: - -/usr/include/glib-2.0/glib/gvariant.h: - -/usr/include/glib-2.0/glib/gversion.h: - -/usr/include/glib-2.0/glib/deprecated/gallocator.h: - -/usr/include/glib-2.0/glib/deprecated/gcache.h: - -/usr/include/glib-2.0/glib/deprecated/gcompletion.h: - -/usr/include/glib-2.0/glib/deprecated/gmain.h: - -/usr/include/glib-2.0/glib/deprecated/grel.h: - -/usr/include/glib-2.0/glib/deprecated/gthread.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/pthread.h: - -/usr/include/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/setjmp.h: - -/usr/include/stdio.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/include/arm-linux-gnueabihf/bits/sys_errlist.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio.h: - -/usr/include/stdlib.h: - -/usr/include/arm-linux-gnueabihf/bits/waitflags.h: - -/usr/include/arm-linux-gnueabihf/bits/waitstatus.h: - -/usr/include/alloca.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-float.h: - -/usr/include/unistd.h: - -/usr/include/arm-linux-gnueabihf/bits/posix_opt.h: - -/usr/include/arm-linux-gnueabihf/bits/environments.h: - -/usr/include/arm-linux-gnueabihf/bits/confname.h: - -/usr/include/getopt.h: - -/usr/include/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string2.h: - -/usr/include/fcntl.h: - -/usr/include/arm-linux-gnueabihf/bits/fcntl.h: - -/usr/include/arm-linux-gnueabihf/bits/fcntl-linux.h: - -/usr/include/arm-linux-gnueabihf/bits/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/stat.h: - -/usr/include/arm-linux-gnueabihf/sys/stat.h: - -/usr/include/arm-linux-gnueabihf/sys/time.h: - -btio/btio.h: - -lib/bluetooth/bluetooth.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/arm-linux-gnueabihf/bits/wchar.h: - -/usr/include/byteswap.h: - -/usr/include/netinet/in.h: - -/usr/include/arm-linux-gnueabihf/sys/socket.h: - -/usr/include/arm-linux-gnueabihf/sys/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/socket.h: - -/usr/include/arm-linux-gnueabihf/bits/socket_type.h: - -/usr/include/arm-linux-gnueabihf/bits/sockaddr.h: - -/usr/include/arm-linux-gnueabihf/asm/socket.h: - -/usr/include/asm-generic/socket.h: - -/usr/include/arm-linux-gnueabihf/asm/sockios.h: - -/usr/include/asm-generic/sockios.h: - -/usr/include/arm-linux-gnueabihf/bits/in.h: - -lib/bluetooth/hci.h: - -lib/bluetooth/hci_lib.h: - -lib/uuid.h: - -attrib/att.h: - -attrib/gattrib.h: - -attrib/gatt.h: - -lib/bluetooth/sdp.h: - -attrib/gatttool.h: - -attrib/grib_ble_extend.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/attrib/.deps/grib_ble_extend.Po b/GRIB_BLE_HUB/libs/ble_extend/attrib/.deps/grib_ble_extend.Po deleted file mode 100644 index 2c4e9c3..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/attrib/.deps/grib_ble_extend.Po +++ /dev/null @@ -1,487 +0,0 @@ -attrib/grib_ble_extend.o: attrib/grib_ble_extend.c \ - /usr/include/stdc-predef.h attrib/grib_ble_extend.h /usr/include/errno.h \ - /usr/include/features.h /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/include/arm-linux-gnueabihf/bits/errno.h /usr/include/linux/errno.h \ - /usr/include/arm-linux-gnueabihf/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/include/glib-2.0/glib.h /usr/include/glib-2.0/glib/galloca.h \ - /usr/include/glib-2.0/glib/gtypes.h \ - /usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h \ - /usr/include/glib-2.0/glib/gmacros.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h \ - /usr/include/limits.h /usr/include/arm-linux-gnueabihf/bits/posix1_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/local_lim.h \ - /usr/include/linux/limits.h \ - /usr/include/arm-linux-gnueabihf/bits/posix2_lim.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h \ - /usr/include/glib-2.0/glib/gversionmacros.h /usr/include/time.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h /usr/include/xlocale.h \ - /usr/include/glib-2.0/glib/garray.h \ - /usr/include/glib-2.0/glib/gasyncqueue.h \ - /usr/include/glib-2.0/glib/gthread.h \ - /usr/include/glib-2.0/glib/gatomic.h /usr/include/glib-2.0/glib/gerror.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/glib-2.0/glib/gquark.h \ - /usr/include/glib-2.0/glib/gbacktrace.h /usr/include/signal.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/signum.h \ - /usr/include/arm-linux-gnueabihf/bits/siginfo.h \ - /usr/include/arm-linux-gnueabihf/bits/sigaction.h \ - /usr/include/arm-linux-gnueabihf/bits/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/asm/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigstack.h \ - /usr/include/arm-linux-gnueabihf/sys/ucontext.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/endian.h /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/arm-linux-gnueabihf/bits/sigthread.h \ - /usr/include/glib-2.0/glib/gbase64.h \ - /usr/include/glib-2.0/glib/gbitlock.h \ - /usr/include/glib-2.0/glib/gbookmarkfile.h \ - /usr/include/glib-2.0/glib/gbytes.h \ - /usr/include/glib-2.0/glib/gcharset.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/gconvert.h \ - /usr/include/glib-2.0/glib/gdataset.h /usr/include/glib-2.0/glib/gdate.h \ - /usr/include/glib-2.0/glib/gdatetime.h \ - /usr/include/glib-2.0/glib/gtimezone.h /usr/include/glib-2.0/glib/gdir.h \ - /usr/include/dirent.h /usr/include/arm-linux-gnueabihf/bits/dirent.h \ - /usr/include/glib-2.0/glib/genviron.h \ - /usr/include/glib-2.0/glib/gfileutils.h \ - /usr/include/glib-2.0/glib/ggettext.h /usr/include/glib-2.0/glib/ghash.h \ - /usr/include/glib-2.0/glib/glist.h /usr/include/glib-2.0/glib/gmem.h \ - /usr/include/glib-2.0/glib/gnode.h /usr/include/glib-2.0/glib/ghmac.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/ghook.h \ - /usr/include/glib-2.0/glib/ghostutils.h \ - /usr/include/glib-2.0/glib/giochannel.h \ - /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gpoll.h \ - /usr/include/glib-2.0/glib/gslist.h /usr/include/glib-2.0/glib/gstring.h \ - /usr/include/glib-2.0/glib/gunicode.h \ - /usr/include/glib-2.0/glib/gutils.h \ - /usr/include/glib-2.0/glib/gkeyfile.h \ - /usr/include/glib-2.0/glib/gmappedfile.h \ - /usr/include/glib-2.0/glib/gmarkup.h \ - /usr/include/glib-2.0/glib/gmessages.h \ - /usr/include/glib-2.0/glib/goption.h \ - /usr/include/glib-2.0/glib/gpattern.h \ - /usr/include/glib-2.0/glib/gprimes.h /usr/include/glib-2.0/glib/gqsort.h \ - /usr/include/glib-2.0/glib/gqueue.h /usr/include/glib-2.0/glib/grand.h \ - /usr/include/glib-2.0/glib/gregex.h \ - /usr/include/glib-2.0/glib/gscanner.h \ - /usr/include/glib-2.0/glib/gsequence.h \ - /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gslice.h \ - /usr/include/glib-2.0/glib/gspawn.h \ - /usr/include/glib-2.0/glib/gstrfuncs.h \ - /usr/include/glib-2.0/glib/gstringchunk.h \ - /usr/include/glib-2.0/glib/gtestutils.h \ - /usr/include/glib-2.0/glib/gthreadpool.h \ - /usr/include/glib-2.0/glib/gtimer.h \ - /usr/include/glib-2.0/glib/gtrashstack.h \ - /usr/include/glib-2.0/glib/gtree.h \ - /usr/include/glib-2.0/glib/gurifuncs.h \ - /usr/include/glib-2.0/glib/gvarianttype.h \ - /usr/include/glib-2.0/glib/gvariant.h \ - /usr/include/glib-2.0/glib/gversion.h \ - /usr/include/glib-2.0/glib/deprecated/gallocator.h \ - /usr/include/glib-2.0/glib/deprecated/gcache.h \ - /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ - /usr/include/glib-2.0/glib/deprecated/gmain.h \ - /usr/include/glib-2.0/glib/deprecated/grel.h \ - /usr/include/glib-2.0/glib/deprecated/gthread.h \ - /usr/include/arm-linux-gnueabihf/sys/types.h \ - /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h /usr/include/pthread.h \ - /usr/include/sched.h /usr/include/arm-linux-gnueabihf/bits/sched.h \ - /usr/include/arm-linux-gnueabihf/bits/setjmp.h /usr/include/stdio.h \ - /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/sys_errlist.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio.h /usr/include/stdlib.h \ - /usr/include/arm-linux-gnueabihf/bits/waitflags.h \ - /usr/include/arm-linux-gnueabihf/bits/waitstatus.h /usr/include/alloca.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-float.h \ - /usr/include/unistd.h /usr/include/arm-linux-gnueabihf/bits/posix_opt.h \ - /usr/include/arm-linux-gnueabihf/bits/environments.h \ - /usr/include/arm-linux-gnueabihf/bits/confname.h /usr/include/getopt.h \ - /usr/include/string.h /usr/include/arm-linux-gnueabihf/bits/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string2.h /usr/include/fcntl.h \ - /usr/include/arm-linux-gnueabihf/bits/fcntl.h \ - /usr/include/arm-linux-gnueabihf/bits/fcntl-linux.h \ - /usr/include/arm-linux-gnueabihf/bits/stat.h \ - /usr/include/arm-linux-gnueabihf/sys/stat.h lib/bluetooth/bluetooth.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h \ - /usr/include/stdint.h /usr/include/arm-linux-gnueabihf/bits/wchar.h \ - /usr/include/byteswap.h /usr/include/netinet/in.h \ - /usr/include/arm-linux-gnueabihf/sys/socket.h \ - /usr/include/arm-linux-gnueabihf/sys/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/socket.h \ - /usr/include/arm-linux-gnueabihf/bits/socket_type.h \ - /usr/include/arm-linux-gnueabihf/bits/sockaddr.h \ - /usr/include/arm-linux-gnueabihf/asm/socket.h \ - /usr/include/asm-generic/socket.h \ - /usr/include/arm-linux-gnueabihf/asm/sockios.h \ - /usr/include/asm-generic/sockios.h \ - /usr/include/arm-linux-gnueabihf/bits/in.h lib/bluetooth/hci.h \ - lib/bluetooth/hci_lib.h btio/btio.h - -/usr/include/stdc-predef.h: - -attrib/grib_ble_extend.h: - -/usr/include/errno.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/include/arm-linux-gnueabihf/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/arm-linux-gnueabihf/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/include/glib-2.0/glib.h: - -/usr/include/glib-2.0/glib/galloca.h: - -/usr/include/glib-2.0/glib/gtypes.h: - -/usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h: - -/usr/include/glib-2.0/glib/gmacros.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h: - -/usr/include/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/local_lim.h: - -/usr/include/linux/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix2_lim.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h: - -/usr/include/glib-2.0/glib/gversionmacros.h: - -/usr/include/time.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/xlocale.h: - -/usr/include/glib-2.0/glib/garray.h: - -/usr/include/glib-2.0/glib/gasyncqueue.h: - -/usr/include/glib-2.0/glib/gthread.h: - -/usr/include/glib-2.0/glib/gatomic.h: - -/usr/include/glib-2.0/glib/gerror.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/glib-2.0/glib/gquark.h: - -/usr/include/glib-2.0/glib/gbacktrace.h: - -/usr/include/signal.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/signum.h: - -/usr/include/arm-linux-gnueabihf/bits/siginfo.h: - -/usr/include/arm-linux-gnueabihf/bits/sigaction.h: - -/usr/include/arm-linux-gnueabihf/bits/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/asm/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigstack.h: - -/usr/include/arm-linux-gnueabihf/sys/ucontext.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/arm-linux-gnueabihf/bits/sigthread.h: - -/usr/include/glib-2.0/glib/gbase64.h: - -/usr/include/glib-2.0/glib/gbitlock.h: - -/usr/include/glib-2.0/glib/gbookmarkfile.h: - -/usr/include/glib-2.0/glib/gbytes.h: - -/usr/include/glib-2.0/glib/gcharset.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/gconvert.h: - -/usr/include/glib-2.0/glib/gdataset.h: - -/usr/include/glib-2.0/glib/gdate.h: - -/usr/include/glib-2.0/glib/gdatetime.h: - -/usr/include/glib-2.0/glib/gtimezone.h: - -/usr/include/glib-2.0/glib/gdir.h: - -/usr/include/dirent.h: - -/usr/include/arm-linux-gnueabihf/bits/dirent.h: - -/usr/include/glib-2.0/glib/genviron.h: - -/usr/include/glib-2.0/glib/gfileutils.h: - -/usr/include/glib-2.0/glib/ggettext.h: - -/usr/include/glib-2.0/glib/ghash.h: - -/usr/include/glib-2.0/glib/glist.h: - -/usr/include/glib-2.0/glib/gmem.h: - -/usr/include/glib-2.0/glib/gnode.h: - -/usr/include/glib-2.0/glib/ghmac.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/ghook.h: - -/usr/include/glib-2.0/glib/ghostutils.h: - -/usr/include/glib-2.0/glib/giochannel.h: - -/usr/include/glib-2.0/glib/gmain.h: - -/usr/include/glib-2.0/glib/gpoll.h: - -/usr/include/glib-2.0/glib/gslist.h: - -/usr/include/glib-2.0/glib/gstring.h: - -/usr/include/glib-2.0/glib/gunicode.h: - -/usr/include/glib-2.0/glib/gutils.h: - -/usr/include/glib-2.0/glib/gkeyfile.h: - -/usr/include/glib-2.0/glib/gmappedfile.h: - -/usr/include/glib-2.0/glib/gmarkup.h: - -/usr/include/glib-2.0/glib/gmessages.h: - -/usr/include/glib-2.0/glib/goption.h: - -/usr/include/glib-2.0/glib/gpattern.h: - -/usr/include/glib-2.0/glib/gprimes.h: - -/usr/include/glib-2.0/glib/gqsort.h: - -/usr/include/glib-2.0/glib/gqueue.h: - -/usr/include/glib-2.0/glib/grand.h: - -/usr/include/glib-2.0/glib/gregex.h: - -/usr/include/glib-2.0/glib/gscanner.h: - -/usr/include/glib-2.0/glib/gsequence.h: - -/usr/include/glib-2.0/glib/gshell.h: - -/usr/include/glib-2.0/glib/gslice.h: - -/usr/include/glib-2.0/glib/gspawn.h: - -/usr/include/glib-2.0/glib/gstrfuncs.h: - -/usr/include/glib-2.0/glib/gstringchunk.h: - -/usr/include/glib-2.0/glib/gtestutils.h: - -/usr/include/glib-2.0/glib/gthreadpool.h: - -/usr/include/glib-2.0/glib/gtimer.h: - -/usr/include/glib-2.0/glib/gtrashstack.h: - -/usr/include/glib-2.0/glib/gtree.h: - -/usr/include/glib-2.0/glib/gurifuncs.h: - -/usr/include/glib-2.0/glib/gvarianttype.h: - -/usr/include/glib-2.0/glib/gvariant.h: - -/usr/include/glib-2.0/glib/gversion.h: - -/usr/include/glib-2.0/glib/deprecated/gallocator.h: - -/usr/include/glib-2.0/glib/deprecated/gcache.h: - -/usr/include/glib-2.0/glib/deprecated/gcompletion.h: - -/usr/include/glib-2.0/glib/deprecated/gmain.h: - -/usr/include/glib-2.0/glib/deprecated/grel.h: - -/usr/include/glib-2.0/glib/deprecated/gthread.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/pthread.h: - -/usr/include/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/setjmp.h: - -/usr/include/stdio.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/sys_errlist.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio.h: - -/usr/include/stdlib.h: - -/usr/include/arm-linux-gnueabihf/bits/waitflags.h: - -/usr/include/arm-linux-gnueabihf/bits/waitstatus.h: - -/usr/include/alloca.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-float.h: - -/usr/include/unistd.h: - -/usr/include/arm-linux-gnueabihf/bits/posix_opt.h: - -/usr/include/arm-linux-gnueabihf/bits/environments.h: - -/usr/include/arm-linux-gnueabihf/bits/confname.h: - -/usr/include/getopt.h: - -/usr/include/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string2.h: - -/usr/include/fcntl.h: - -/usr/include/arm-linux-gnueabihf/bits/fcntl.h: - -/usr/include/arm-linux-gnueabihf/bits/fcntl-linux.h: - -/usr/include/arm-linux-gnueabihf/bits/stat.h: - -/usr/include/arm-linux-gnueabihf/sys/stat.h: - -lib/bluetooth/bluetooth.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/arm-linux-gnueabihf/bits/wchar.h: - -/usr/include/byteswap.h: - -/usr/include/netinet/in.h: - -/usr/include/arm-linux-gnueabihf/sys/socket.h: - -/usr/include/arm-linux-gnueabihf/sys/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/socket.h: - -/usr/include/arm-linux-gnueabihf/bits/socket_type.h: - -/usr/include/arm-linux-gnueabihf/bits/sockaddr.h: - -/usr/include/arm-linux-gnueabihf/asm/socket.h: - -/usr/include/asm-generic/socket.h: - -/usr/include/arm-linux-gnueabihf/asm/sockios.h: - -/usr/include/asm-generic/sockios.h: - -/usr/include/arm-linux-gnueabihf/bits/in.h: - -lib/bluetooth/hci.h: - -lib/bluetooth/hci_lib.h: - -btio/btio.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/attrib/.deps/interactive.Po b/GRIB_BLE_HUB/libs/ble_extend/attrib/.deps/interactive.Po deleted file mode 100644 index 5060c10..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/attrib/.deps/interactive.Po +++ /dev/null @@ -1,531 +0,0 @@ -attrib/interactive.o: attrib/interactive.c /usr/include/stdc-predef.h \ - config.h /usr/include/string.h /usr/include/features.h \ - /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/include/xlocale.h /usr/include/arm-linux-gnueabihf/bits/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string2.h /usr/include/stdlib.h \ - /usr/include/arm-linux-gnueabihf/bits/waitflags.h \ - /usr/include/arm-linux-gnueabihf/bits/waitstatus.h /usr/include/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/arm-linux-gnueabihf/sys/types.h /usr/include/time.h \ - /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/alloca.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-float.h \ - /usr/include/errno.h /usr/include/arm-linux-gnueabihf/bits/errno.h \ - /usr/include/linux/errno.h /usr/include/arm-linux-gnueabihf/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/include/stdio.h /usr/include/libio.h /usr/include/_G_config.h \ - /usr/include/wchar.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/sys_errlist.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio.h \ - /usr/include/glib-2.0/glib.h /usr/include/glib-2.0/glib/galloca.h \ - /usr/include/glib-2.0/glib/gtypes.h \ - /usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h \ - /usr/include/glib-2.0/glib/gmacros.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h \ - /usr/include/limits.h /usr/include/arm-linux-gnueabihf/bits/posix1_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/local_lim.h \ - /usr/include/linux/limits.h \ - /usr/include/arm-linux-gnueabihf/bits/posix2_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/xopen_lim.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h \ - /usr/include/glib-2.0/glib/gversionmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/timex.h \ - /usr/include/glib-2.0/glib/garray.h \ - /usr/include/glib-2.0/glib/gasyncqueue.h \ - /usr/include/glib-2.0/glib/gthread.h \ - /usr/include/glib-2.0/glib/gatomic.h /usr/include/glib-2.0/glib/gerror.h \ - /usr/include/glib-2.0/glib/gquark.h \ - /usr/include/glib-2.0/glib/gbacktrace.h /usr/include/signal.h \ - /usr/include/arm-linux-gnueabihf/bits/signum.h \ - /usr/include/arm-linux-gnueabihf/bits/siginfo.h \ - /usr/include/arm-linux-gnueabihf/bits/sigaction.h \ - /usr/include/arm-linux-gnueabihf/bits/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/asm/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigstack.h \ - /usr/include/arm-linux-gnueabihf/sys/ucontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigthread.h \ - /usr/include/glib-2.0/glib/gbase64.h \ - /usr/include/glib-2.0/glib/gbitlock.h \ - /usr/include/glib-2.0/glib/gbookmarkfile.h \ - /usr/include/glib-2.0/glib/gbytes.h \ - /usr/include/glib-2.0/glib/gcharset.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/gconvert.h \ - /usr/include/glib-2.0/glib/gdataset.h /usr/include/glib-2.0/glib/gdate.h \ - /usr/include/glib-2.0/glib/gdatetime.h \ - /usr/include/glib-2.0/glib/gtimezone.h /usr/include/glib-2.0/glib/gdir.h \ - /usr/include/dirent.h /usr/include/arm-linux-gnueabihf/bits/dirent.h \ - /usr/include/glib-2.0/glib/genviron.h \ - /usr/include/glib-2.0/glib/gfileutils.h \ - /usr/include/glib-2.0/glib/ggettext.h /usr/include/glib-2.0/glib/ghash.h \ - /usr/include/glib-2.0/glib/glist.h /usr/include/glib-2.0/glib/gmem.h \ - /usr/include/glib-2.0/glib/gnode.h /usr/include/glib-2.0/glib/ghmac.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/ghook.h \ - /usr/include/glib-2.0/glib/ghostutils.h \ - /usr/include/glib-2.0/glib/giochannel.h \ - /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gpoll.h \ - /usr/include/glib-2.0/glib/gslist.h /usr/include/glib-2.0/glib/gstring.h \ - /usr/include/glib-2.0/glib/gunicode.h \ - /usr/include/glib-2.0/glib/gutils.h \ - /usr/include/glib-2.0/glib/gkeyfile.h \ - /usr/include/glib-2.0/glib/gmappedfile.h \ - /usr/include/glib-2.0/glib/gmarkup.h \ - /usr/include/glib-2.0/glib/gmessages.h \ - /usr/include/glib-2.0/glib/goption.h \ - /usr/include/glib-2.0/glib/gpattern.h \ - /usr/include/glib-2.0/glib/gprimes.h /usr/include/glib-2.0/glib/gqsort.h \ - /usr/include/glib-2.0/glib/gqueue.h /usr/include/glib-2.0/glib/grand.h \ - /usr/include/glib-2.0/glib/gregex.h \ - /usr/include/glib-2.0/glib/gscanner.h \ - /usr/include/glib-2.0/glib/gsequence.h \ - /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gslice.h \ - /usr/include/glib-2.0/glib/gspawn.h \ - /usr/include/glib-2.0/glib/gstrfuncs.h \ - /usr/include/glib-2.0/glib/gstringchunk.h \ - /usr/include/glib-2.0/glib/gtestutils.h \ - /usr/include/glib-2.0/glib/gthreadpool.h \ - /usr/include/glib-2.0/glib/gtimer.h \ - /usr/include/glib-2.0/glib/gtrashstack.h \ - /usr/include/glib-2.0/glib/gtree.h \ - /usr/include/glib-2.0/glib/gurifuncs.h \ - /usr/include/glib-2.0/glib/gvarianttype.h \ - /usr/include/glib-2.0/glib/gvariant.h \ - /usr/include/glib-2.0/glib/gversion.h \ - /usr/include/glib-2.0/glib/deprecated/gallocator.h \ - /usr/include/glib-2.0/glib/deprecated/gcache.h \ - /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ - /usr/include/glib-2.0/glib/deprecated/gmain.h \ - /usr/include/glib-2.0/glib/deprecated/grel.h \ - /usr/include/glib-2.0/glib/deprecated/gthread.h /usr/include/pthread.h \ - /usr/include/sched.h /usr/include/arm-linux-gnueabihf/bits/sched.h \ - /usr/include/arm-linux-gnueabihf/bits/setjmp.h \ - /usr/include/readline/readline.h /usr/include/readline/rlstdc.h \ - /usr/include/readline/rltypedefs.h /usr/include/readline/keymaps.h \ - /usr/include/readline/chardefs.h /usr/include/ctype.h \ - /usr/include/readline/tilde.h /usr/include/readline/history.h lib/uuid.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h \ - /usr/include/stdint.h /usr/include/arm-linux-gnueabihf/bits/wchar.h \ - lib/bluetooth/bluetooth.h /usr/include/byteswap.h \ - /usr/include/netinet/in.h /usr/include/arm-linux-gnueabihf/sys/socket.h \ - /usr/include/arm-linux-gnueabihf/sys/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/socket.h \ - /usr/include/arm-linux-gnueabihf/bits/socket_type.h \ - /usr/include/arm-linux-gnueabihf/bits/sockaddr.h \ - /usr/include/arm-linux-gnueabihf/asm/socket.h \ - /usr/include/asm-generic/socket.h \ - /usr/include/arm-linux-gnueabihf/asm/sockios.h \ - /usr/include/asm-generic/sockios.h \ - /usr/include/arm-linux-gnueabihf/bits/in.h btio/btio.h attrib/att.h \ - attrib/gattrib.h attrib/gatt.h lib/bluetooth/sdp.h attrib/gatttool.h \ - attrib/grib_ble_extend.h /usr/include/unistd.h \ - /usr/include/arm-linux-gnueabihf/bits/posix_opt.h \ - /usr/include/arm-linux-gnueabihf/bits/environments.h \ - /usr/include/arm-linux-gnueabihf/bits/confname.h /usr/include/getopt.h \ - /usr/include/fcntl.h /usr/include/arm-linux-gnueabihf/bits/fcntl.h \ - /usr/include/arm-linux-gnueabihf/bits/fcntl-linux.h \ - /usr/include/arm-linux-gnueabihf/bits/stat.h \ - /usr/include/arm-linux-gnueabihf/sys/stat.h lib/bluetooth/hci.h \ - lib/bluetooth/hci_lib.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/include/string.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/include/xlocale.h: - -/usr/include/arm-linux-gnueabihf/bits/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string2.h: - -/usr/include/stdlib.h: - -/usr/include/arm-linux-gnueabihf/bits/waitflags.h: - -/usr/include/arm-linux-gnueabihf/bits/waitstatus.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/time.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/alloca.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-float.h: - -/usr/include/errno.h: - -/usr/include/arm-linux-gnueabihf/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/arm-linux-gnueabihf/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/include/stdio.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/sys_errlist.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio.h: - -/usr/include/glib-2.0/glib.h: - -/usr/include/glib-2.0/glib/galloca.h: - -/usr/include/glib-2.0/glib/gtypes.h: - -/usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h: - -/usr/include/glib-2.0/glib/gmacros.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h: - -/usr/include/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/local_lim.h: - -/usr/include/linux/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix2_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/xopen_lim.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h: - -/usr/include/glib-2.0/glib/gversionmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/timex.h: - -/usr/include/glib-2.0/glib/garray.h: - -/usr/include/glib-2.0/glib/gasyncqueue.h: - -/usr/include/glib-2.0/glib/gthread.h: - -/usr/include/glib-2.0/glib/gatomic.h: - -/usr/include/glib-2.0/glib/gerror.h: - -/usr/include/glib-2.0/glib/gquark.h: - -/usr/include/glib-2.0/glib/gbacktrace.h: - -/usr/include/signal.h: - -/usr/include/arm-linux-gnueabihf/bits/signum.h: - -/usr/include/arm-linux-gnueabihf/bits/siginfo.h: - -/usr/include/arm-linux-gnueabihf/bits/sigaction.h: - -/usr/include/arm-linux-gnueabihf/bits/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/asm/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigstack.h: - -/usr/include/arm-linux-gnueabihf/sys/ucontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigthread.h: - -/usr/include/glib-2.0/glib/gbase64.h: - -/usr/include/glib-2.0/glib/gbitlock.h: - -/usr/include/glib-2.0/glib/gbookmarkfile.h: - -/usr/include/glib-2.0/glib/gbytes.h: - -/usr/include/glib-2.0/glib/gcharset.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/gconvert.h: - -/usr/include/glib-2.0/glib/gdataset.h: - -/usr/include/glib-2.0/glib/gdate.h: - -/usr/include/glib-2.0/glib/gdatetime.h: - -/usr/include/glib-2.0/glib/gtimezone.h: - -/usr/include/glib-2.0/glib/gdir.h: - -/usr/include/dirent.h: - -/usr/include/arm-linux-gnueabihf/bits/dirent.h: - -/usr/include/glib-2.0/glib/genviron.h: - -/usr/include/glib-2.0/glib/gfileutils.h: - -/usr/include/glib-2.0/glib/ggettext.h: - -/usr/include/glib-2.0/glib/ghash.h: - -/usr/include/glib-2.0/glib/glist.h: - -/usr/include/glib-2.0/glib/gmem.h: - -/usr/include/glib-2.0/glib/gnode.h: - -/usr/include/glib-2.0/glib/ghmac.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/ghook.h: - -/usr/include/glib-2.0/glib/ghostutils.h: - -/usr/include/glib-2.0/glib/giochannel.h: - -/usr/include/glib-2.0/glib/gmain.h: - -/usr/include/glib-2.0/glib/gpoll.h: - -/usr/include/glib-2.0/glib/gslist.h: - -/usr/include/glib-2.0/glib/gstring.h: - -/usr/include/glib-2.0/glib/gunicode.h: - -/usr/include/glib-2.0/glib/gutils.h: - -/usr/include/glib-2.0/glib/gkeyfile.h: - -/usr/include/glib-2.0/glib/gmappedfile.h: - -/usr/include/glib-2.0/glib/gmarkup.h: - -/usr/include/glib-2.0/glib/gmessages.h: - -/usr/include/glib-2.0/glib/goption.h: - -/usr/include/glib-2.0/glib/gpattern.h: - -/usr/include/glib-2.0/glib/gprimes.h: - -/usr/include/glib-2.0/glib/gqsort.h: - -/usr/include/glib-2.0/glib/gqueue.h: - -/usr/include/glib-2.0/glib/grand.h: - -/usr/include/glib-2.0/glib/gregex.h: - -/usr/include/glib-2.0/glib/gscanner.h: - -/usr/include/glib-2.0/glib/gsequence.h: - -/usr/include/glib-2.0/glib/gshell.h: - -/usr/include/glib-2.0/glib/gslice.h: - -/usr/include/glib-2.0/glib/gspawn.h: - -/usr/include/glib-2.0/glib/gstrfuncs.h: - -/usr/include/glib-2.0/glib/gstringchunk.h: - -/usr/include/glib-2.0/glib/gtestutils.h: - -/usr/include/glib-2.0/glib/gthreadpool.h: - -/usr/include/glib-2.0/glib/gtimer.h: - -/usr/include/glib-2.0/glib/gtrashstack.h: - -/usr/include/glib-2.0/glib/gtree.h: - -/usr/include/glib-2.0/glib/gurifuncs.h: - -/usr/include/glib-2.0/glib/gvarianttype.h: - -/usr/include/glib-2.0/glib/gvariant.h: - -/usr/include/glib-2.0/glib/gversion.h: - -/usr/include/glib-2.0/glib/deprecated/gallocator.h: - -/usr/include/glib-2.0/glib/deprecated/gcache.h: - -/usr/include/glib-2.0/glib/deprecated/gcompletion.h: - -/usr/include/glib-2.0/glib/deprecated/gmain.h: - -/usr/include/glib-2.0/glib/deprecated/grel.h: - -/usr/include/glib-2.0/glib/deprecated/gthread.h: - -/usr/include/pthread.h: - -/usr/include/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/setjmp.h: - -/usr/include/readline/readline.h: - -/usr/include/readline/rlstdc.h: - -/usr/include/readline/rltypedefs.h: - -/usr/include/readline/keymaps.h: - -/usr/include/readline/chardefs.h: - -/usr/include/ctype.h: - -/usr/include/readline/tilde.h: - -/usr/include/readline/history.h: - -lib/uuid.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/arm-linux-gnueabihf/bits/wchar.h: - -lib/bluetooth/bluetooth.h: - -/usr/include/byteswap.h: - -/usr/include/netinet/in.h: - -/usr/include/arm-linux-gnueabihf/sys/socket.h: - -/usr/include/arm-linux-gnueabihf/sys/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/socket.h: - -/usr/include/arm-linux-gnueabihf/bits/socket_type.h: - -/usr/include/arm-linux-gnueabihf/bits/sockaddr.h: - -/usr/include/arm-linux-gnueabihf/asm/socket.h: - -/usr/include/asm-generic/socket.h: - -/usr/include/arm-linux-gnueabihf/asm/sockios.h: - -/usr/include/asm-generic/sockios.h: - -/usr/include/arm-linux-gnueabihf/bits/in.h: - -btio/btio.h: - -attrib/att.h: - -attrib/gattrib.h: - -attrib/gatt.h: - -lib/bluetooth/sdp.h: - -attrib/gatttool.h: - -attrib/grib_ble_extend.h: - -/usr/include/unistd.h: - -/usr/include/arm-linux-gnueabihf/bits/posix_opt.h: - -/usr/include/arm-linux-gnueabihf/bits/environments.h: - -/usr/include/arm-linux-gnueabihf/bits/confname.h: - -/usr/include/getopt.h: - -/usr/include/fcntl.h: - -/usr/include/arm-linux-gnueabihf/bits/fcntl.h: - -/usr/include/arm-linux-gnueabihf/bits/fcntl-linux.h: - -/usr/include/arm-linux-gnueabihf/bits/stat.h: - -/usr/include/arm-linux-gnueabihf/sys/stat.h: - -lib/bluetooth/hci.h: - -lib/bluetooth/hci_lib.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/attrib/.deps/utils.Po b/GRIB_BLE_HUB/libs/ble_extend/attrib/.deps/utils.Po deleted file mode 100644 index 12057cc..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/attrib/.deps/utils.Po +++ /dev/null @@ -1,509 +0,0 @@ -attrib/utils.o: attrib/utils.c /usr/include/stdc-predef.h config.h \ - /usr/include/stdlib.h /usr/include/features.h \ - /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/include/arm-linux-gnueabihf/bits/waitflags.h \ - /usr/include/arm-linux-gnueabihf/bits/waitstatus.h /usr/include/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/xlocale.h /usr/include/arm-linux-gnueabihf/sys/types.h \ - /usr/include/time.h /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/alloca.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-float.h \ - /usr/include/glib-2.0/glib.h /usr/include/glib-2.0/glib/galloca.h \ - /usr/include/glib-2.0/glib/gtypes.h \ - /usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h \ - /usr/include/glib-2.0/glib/gmacros.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h \ - /usr/include/limits.h /usr/include/arm-linux-gnueabihf/bits/posix1_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/local_lim.h \ - /usr/include/linux/limits.h \ - /usr/include/arm-linux-gnueabihf/bits/posix2_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/xopen_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h \ - /usr/include/glib-2.0/glib/gversionmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/timex.h \ - /usr/include/glib-2.0/glib/garray.h \ - /usr/include/glib-2.0/glib/gasyncqueue.h \ - /usr/include/glib-2.0/glib/gthread.h \ - /usr/include/glib-2.0/glib/gatomic.h /usr/include/glib-2.0/glib/gerror.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/glib-2.0/glib/gquark.h \ - /usr/include/glib-2.0/glib/gbacktrace.h /usr/include/signal.h \ - /usr/include/arm-linux-gnueabihf/bits/signum.h \ - /usr/include/arm-linux-gnueabihf/bits/siginfo.h \ - /usr/include/arm-linux-gnueabihf/bits/sigaction.h \ - /usr/include/arm-linux-gnueabihf/bits/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/asm/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigstack.h \ - /usr/include/arm-linux-gnueabihf/sys/ucontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigthread.h \ - /usr/include/glib-2.0/glib/gbase64.h \ - /usr/include/glib-2.0/glib/gbitlock.h \ - /usr/include/glib-2.0/glib/gbookmarkfile.h \ - /usr/include/glib-2.0/glib/gbytes.h \ - /usr/include/glib-2.0/glib/gcharset.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/gconvert.h \ - /usr/include/glib-2.0/glib/gdataset.h /usr/include/glib-2.0/glib/gdate.h \ - /usr/include/glib-2.0/glib/gdatetime.h \ - /usr/include/glib-2.0/glib/gtimezone.h /usr/include/glib-2.0/glib/gdir.h \ - /usr/include/dirent.h /usr/include/arm-linux-gnueabihf/bits/dirent.h \ - /usr/include/glib-2.0/glib/genviron.h \ - /usr/include/glib-2.0/glib/gfileutils.h \ - /usr/include/glib-2.0/glib/ggettext.h /usr/include/glib-2.0/glib/ghash.h \ - /usr/include/glib-2.0/glib/glist.h /usr/include/glib-2.0/glib/gmem.h \ - /usr/include/glib-2.0/glib/gnode.h /usr/include/glib-2.0/glib/ghmac.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/ghook.h \ - /usr/include/glib-2.0/glib/ghostutils.h \ - /usr/include/glib-2.0/glib/giochannel.h \ - /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gpoll.h \ - /usr/include/glib-2.0/glib/gslist.h /usr/include/glib-2.0/glib/gstring.h \ - /usr/include/glib-2.0/glib/gunicode.h \ - /usr/include/glib-2.0/glib/gutils.h \ - /usr/include/glib-2.0/glib/gkeyfile.h \ - /usr/include/glib-2.0/glib/gmappedfile.h \ - /usr/include/glib-2.0/glib/gmarkup.h \ - /usr/include/glib-2.0/glib/gmessages.h \ - /usr/include/glib-2.0/glib/goption.h \ - /usr/include/glib-2.0/glib/gpattern.h \ - /usr/include/glib-2.0/glib/gprimes.h /usr/include/glib-2.0/glib/gqsort.h \ - /usr/include/glib-2.0/glib/gqueue.h /usr/include/glib-2.0/glib/grand.h \ - /usr/include/glib-2.0/glib/gregex.h \ - /usr/include/glib-2.0/glib/gscanner.h \ - /usr/include/glib-2.0/glib/gsequence.h \ - /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gslice.h \ - /usr/include/glib-2.0/glib/gspawn.h \ - /usr/include/glib-2.0/glib/gstrfuncs.h \ - /usr/include/glib-2.0/glib/gstringchunk.h \ - /usr/include/glib-2.0/glib/gtestutils.h \ - /usr/include/glib-2.0/glib/gthreadpool.h \ - /usr/include/glib-2.0/glib/gtimer.h \ - /usr/include/glib-2.0/glib/gtrashstack.h \ - /usr/include/glib-2.0/glib/gtree.h \ - /usr/include/glib-2.0/glib/gurifuncs.h \ - /usr/include/glib-2.0/glib/gvarianttype.h \ - /usr/include/glib-2.0/glib/gvariant.h \ - /usr/include/glib-2.0/glib/gversion.h \ - /usr/include/glib-2.0/glib/deprecated/gallocator.h \ - /usr/include/glib-2.0/glib/deprecated/gcache.h \ - /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ - /usr/include/glib-2.0/glib/deprecated/gmain.h \ - /usr/include/glib-2.0/glib/deprecated/grel.h \ - /usr/include/glib-2.0/glib/deprecated/gthread.h /usr/include/pthread.h \ - /usr/include/sched.h /usr/include/arm-linux-gnueabihf/bits/sched.h \ - /usr/include/arm-linux-gnueabihf/bits/setjmp.h lib/bluetooth/bluetooth.h \ - /usr/include/stdio.h /usr/include/libio.h /usr/include/_G_config.h \ - /usr/include/wchar.h /usr/include/arm-linux-gnueabihf/bits/sys_errlist.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h \ - /usr/include/stdint.h /usr/include/arm-linux-gnueabihf/bits/wchar.h \ - /usr/include/string.h /usr/include/arm-linux-gnueabihf/bits/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string2.h /usr/include/byteswap.h \ - /usr/include/netinet/in.h /usr/include/arm-linux-gnueabihf/sys/socket.h \ - /usr/include/arm-linux-gnueabihf/sys/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/socket.h \ - /usr/include/arm-linux-gnueabihf/bits/socket_type.h \ - /usr/include/arm-linux-gnueabihf/bits/sockaddr.h \ - /usr/include/arm-linux-gnueabihf/asm/socket.h \ - /usr/include/asm-generic/socket.h \ - /usr/include/arm-linux-gnueabihf/asm/sockios.h \ - /usr/include/asm-generic/sockios.h \ - /usr/include/arm-linux-gnueabihf/bits/in.h lib/bluetooth/hci.h \ - lib/bluetooth/hci_lib.h lib/bluetooth/sdp.h lib/uuid.h btio/btio.h \ - attrib/att.h attrib/gattrib.h attrib/gatt.h attrib/gatttool.h \ - attrib/grib_ble_extend.h /usr/include/errno.h \ - /usr/include/arm-linux-gnueabihf/bits/errno.h /usr/include/linux/errno.h \ - /usr/include/arm-linux-gnueabihf/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/include/unistd.h /usr/include/arm-linux-gnueabihf/bits/posix_opt.h \ - /usr/include/arm-linux-gnueabihf/bits/environments.h \ - /usr/include/arm-linux-gnueabihf/bits/confname.h /usr/include/getopt.h \ - /usr/include/fcntl.h /usr/include/arm-linux-gnueabihf/bits/fcntl.h \ - /usr/include/arm-linux-gnueabihf/bits/fcntl-linux.h \ - /usr/include/arm-linux-gnueabihf/bits/stat.h \ - /usr/include/arm-linux-gnueabihf/sys/stat.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/include/stdlib.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/include/arm-linux-gnueabihf/bits/waitflags.h: - -/usr/include/arm-linux-gnueabihf/bits/waitstatus.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/xlocale.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/time.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/alloca.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-float.h: - -/usr/include/glib-2.0/glib.h: - -/usr/include/glib-2.0/glib/galloca.h: - -/usr/include/glib-2.0/glib/gtypes.h: - -/usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h: - -/usr/include/glib-2.0/glib/gmacros.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h: - -/usr/include/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/local_lim.h: - -/usr/include/linux/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix2_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/xopen_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h: - -/usr/include/glib-2.0/glib/gversionmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/timex.h: - -/usr/include/glib-2.0/glib/garray.h: - -/usr/include/glib-2.0/glib/gasyncqueue.h: - -/usr/include/glib-2.0/glib/gthread.h: - -/usr/include/glib-2.0/glib/gatomic.h: - -/usr/include/glib-2.0/glib/gerror.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/glib-2.0/glib/gquark.h: - -/usr/include/glib-2.0/glib/gbacktrace.h: - -/usr/include/signal.h: - -/usr/include/arm-linux-gnueabihf/bits/signum.h: - -/usr/include/arm-linux-gnueabihf/bits/siginfo.h: - -/usr/include/arm-linux-gnueabihf/bits/sigaction.h: - -/usr/include/arm-linux-gnueabihf/bits/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/asm/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigstack.h: - -/usr/include/arm-linux-gnueabihf/sys/ucontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigthread.h: - -/usr/include/glib-2.0/glib/gbase64.h: - -/usr/include/glib-2.0/glib/gbitlock.h: - -/usr/include/glib-2.0/glib/gbookmarkfile.h: - -/usr/include/glib-2.0/glib/gbytes.h: - -/usr/include/glib-2.0/glib/gcharset.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/gconvert.h: - -/usr/include/glib-2.0/glib/gdataset.h: - -/usr/include/glib-2.0/glib/gdate.h: - -/usr/include/glib-2.0/glib/gdatetime.h: - -/usr/include/glib-2.0/glib/gtimezone.h: - -/usr/include/glib-2.0/glib/gdir.h: - -/usr/include/dirent.h: - -/usr/include/arm-linux-gnueabihf/bits/dirent.h: - -/usr/include/glib-2.0/glib/genviron.h: - -/usr/include/glib-2.0/glib/gfileutils.h: - -/usr/include/glib-2.0/glib/ggettext.h: - -/usr/include/glib-2.0/glib/ghash.h: - -/usr/include/glib-2.0/glib/glist.h: - -/usr/include/glib-2.0/glib/gmem.h: - -/usr/include/glib-2.0/glib/gnode.h: - -/usr/include/glib-2.0/glib/ghmac.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/ghook.h: - -/usr/include/glib-2.0/glib/ghostutils.h: - -/usr/include/glib-2.0/glib/giochannel.h: - -/usr/include/glib-2.0/glib/gmain.h: - -/usr/include/glib-2.0/glib/gpoll.h: - -/usr/include/glib-2.0/glib/gslist.h: - -/usr/include/glib-2.0/glib/gstring.h: - -/usr/include/glib-2.0/glib/gunicode.h: - -/usr/include/glib-2.0/glib/gutils.h: - -/usr/include/glib-2.0/glib/gkeyfile.h: - -/usr/include/glib-2.0/glib/gmappedfile.h: - -/usr/include/glib-2.0/glib/gmarkup.h: - -/usr/include/glib-2.0/glib/gmessages.h: - -/usr/include/glib-2.0/glib/goption.h: - -/usr/include/glib-2.0/glib/gpattern.h: - -/usr/include/glib-2.0/glib/gprimes.h: - -/usr/include/glib-2.0/glib/gqsort.h: - -/usr/include/glib-2.0/glib/gqueue.h: - -/usr/include/glib-2.0/glib/grand.h: - -/usr/include/glib-2.0/glib/gregex.h: - -/usr/include/glib-2.0/glib/gscanner.h: - -/usr/include/glib-2.0/glib/gsequence.h: - -/usr/include/glib-2.0/glib/gshell.h: - -/usr/include/glib-2.0/glib/gslice.h: - -/usr/include/glib-2.0/glib/gspawn.h: - -/usr/include/glib-2.0/glib/gstrfuncs.h: - -/usr/include/glib-2.0/glib/gstringchunk.h: - -/usr/include/glib-2.0/glib/gtestutils.h: - -/usr/include/glib-2.0/glib/gthreadpool.h: - -/usr/include/glib-2.0/glib/gtimer.h: - -/usr/include/glib-2.0/glib/gtrashstack.h: - -/usr/include/glib-2.0/glib/gtree.h: - -/usr/include/glib-2.0/glib/gurifuncs.h: - -/usr/include/glib-2.0/glib/gvarianttype.h: - -/usr/include/glib-2.0/glib/gvariant.h: - -/usr/include/glib-2.0/glib/gversion.h: - -/usr/include/glib-2.0/glib/deprecated/gallocator.h: - -/usr/include/glib-2.0/glib/deprecated/gcache.h: - -/usr/include/glib-2.0/glib/deprecated/gcompletion.h: - -/usr/include/glib-2.0/glib/deprecated/gmain.h: - -/usr/include/glib-2.0/glib/deprecated/grel.h: - -/usr/include/glib-2.0/glib/deprecated/gthread.h: - -/usr/include/pthread.h: - -/usr/include/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/setjmp.h: - -lib/bluetooth/bluetooth.h: - -/usr/include/stdio.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/include/arm-linux-gnueabihf/bits/sys_errlist.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/arm-linux-gnueabihf/bits/wchar.h: - -/usr/include/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string2.h: - -/usr/include/byteswap.h: - -/usr/include/netinet/in.h: - -/usr/include/arm-linux-gnueabihf/sys/socket.h: - -/usr/include/arm-linux-gnueabihf/sys/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/socket.h: - -/usr/include/arm-linux-gnueabihf/bits/socket_type.h: - -/usr/include/arm-linux-gnueabihf/bits/sockaddr.h: - -/usr/include/arm-linux-gnueabihf/asm/socket.h: - -/usr/include/asm-generic/socket.h: - -/usr/include/arm-linux-gnueabihf/asm/sockios.h: - -/usr/include/asm-generic/sockios.h: - -/usr/include/arm-linux-gnueabihf/bits/in.h: - -lib/bluetooth/hci.h: - -lib/bluetooth/hci_lib.h: - -lib/bluetooth/sdp.h: - -lib/uuid.h: - -btio/btio.h: - -attrib/att.h: - -attrib/gattrib.h: - -attrib/gatt.h: - -attrib/gatttool.h: - -attrib/grib_ble_extend.h: - -/usr/include/errno.h: - -/usr/include/arm-linux-gnueabihf/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/arm-linux-gnueabihf/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/include/unistd.h: - -/usr/include/arm-linux-gnueabihf/bits/posix_opt.h: - -/usr/include/arm-linux-gnueabihf/bits/environments.h: - -/usr/include/arm-linux-gnueabihf/bits/confname.h: - -/usr/include/getopt.h: - -/usr/include/fcntl.h: - -/usr/include/arm-linux-gnueabihf/bits/fcntl.h: - -/usr/include/arm-linux-gnueabihf/bits/fcntl-linux.h: - -/usr/include/arm-linux-gnueabihf/bits/stat.h: - -/usr/include/arm-linux-gnueabihf/sys/stat.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/attrib/.dirstamp b/GRIB_BLE_HUB/libs/ble_extend/attrib/.dirstamp deleted file mode 100644 index e69de29..0000000 diff --git a/GRIB_BLE_HUB/libs/ble_extend/attrib/att-database.h b/GRIB_BLE_HUB/libs/ble_extend/attrib/att-database.h deleted file mode 100644 index 48c50e3..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/attrib/att-database.h +++ /dev/null @@ -1,43 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2012 Texas Instruments Corporation - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -/* Requirements for read/write operations */ -enum { - ATT_NONE, /* No restrictions */ - ATT_AUTHENTICATION, /* Authentication required */ - ATT_AUTHORIZATION, /* Authorization required */ - ATT_NOT_PERMITTED, /* Operation not permitted */ -}; - -struct attribute { - uint16_t handle; - bt_uuid_t uuid; - int read_req; /* Read requirement */ - int write_req; /* Write requirement */ - uint8_t (*read_cb)(struct attribute *a, struct btd_device *device, - gpointer user_data); - uint8_t (*write_cb)(struct attribute *a, struct btd_device *device, - gpointer user_data); - gpointer cb_user_data; - size_t len; - uint8_t *data; -}; diff --git a/GRIB_BLE_HUB/libs/ble_extend/attrib/att.c b/GRIB_BLE_HUB/libs/ble_extend/attrib/att.c deleted file mode 100644 index d2b78bd..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/attrib/att.c +++ /dev/null @@ -1,1084 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2010 Nokia Corporation - * Copyright (C) 2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif - -#include -#include -#include - -#include - -#include - -#include "lib/uuid.h" -#include "att.h" - -const char *att_ecode2str(uint8_t status) -{ - switch (status) { - case ATT_ECODE_INVALID_HANDLE: - return "Invalid handle"; - case ATT_ECODE_READ_NOT_PERM: - return "Attribute can't be read"; - case ATT_ECODE_WRITE_NOT_PERM: - return "Attribute can't be written"; - case ATT_ECODE_INVALID_PDU: - return "Attribute PDU was invalid"; - case ATT_ECODE_AUTHENTICATION: - return "Attribute requires authentication before read/write"; - case ATT_ECODE_REQ_NOT_SUPP: - return "Server doesn't support the request received"; - case ATT_ECODE_INVALID_OFFSET: - return "Offset past the end of the attribute"; - case ATT_ECODE_AUTHORIZATION: - return "Attribute requires authorization before read/write"; - case ATT_ECODE_PREP_QUEUE_FULL: - return "Too many prepare writes have been queued"; - case ATT_ECODE_ATTR_NOT_FOUND: - return "No attribute found within the given range"; - case ATT_ECODE_ATTR_NOT_LONG: - return "Attribute can't be read/written using Read Blob Req"; - case ATT_ECODE_INSUFF_ENCR_KEY_SIZE: - return "Encryption Key Size is insufficient"; - case ATT_ECODE_INVAL_ATTR_VALUE_LEN: - return "Attribute value length is invalid"; - case ATT_ECODE_UNLIKELY: - return "Request attribute has encountered an unlikely error"; - case ATT_ECODE_INSUFF_ENC: - return "Encryption required before read/write"; - case ATT_ECODE_UNSUPP_GRP_TYPE: - return "Attribute type is not a supported grouping attribute"; - case ATT_ECODE_INSUFF_RESOURCES: - return "Insufficient Resources to complete the request"; - case ATT_ECODE_IO: - return "Internal application error: I/O"; - case ATT_ECODE_TIMEOUT: - return "A timeout occured"; - case ATT_ECODE_ABORTED: - return "The operation was aborted"; - default: - return "Unexpected error code"; - } -} - -void att_data_list_free(struct att_data_list *list) -{ - if (list == NULL) - return; - - if (list->data) { - int i; - for (i = 0; i < list->num; i++) - g_free(list->data[i]); - } - - g_free(list->data); - g_free(list); -} - -struct att_data_list *att_data_list_alloc(uint16_t num, uint16_t len) -{ - struct att_data_list *list; - int i; - - if (len > UINT8_MAX) - return NULL; - - list = g_new0(struct att_data_list, 1); - list->len = len; - list->num = num; - - list->data = g_malloc0(sizeof(uint8_t *) * num); - - for (i = 0; i < num; i++) - list->data[i] = g_malloc0(sizeof(uint8_t) * len); - - return list; -} - -uint16_t enc_read_by_grp_req(uint16_t start, uint16_t end, bt_uuid_t *uuid, - uint8_t *pdu, size_t len) -{ - uint16_t min_len = sizeof(pdu[0]) + sizeof(start) + sizeof(end); - uint16_t length; - - if (!uuid) - return 0; - - if (uuid->type == BT_UUID16) - length = 2; - else if (uuid->type == BT_UUID128) - length = 16; - else - return 0; - - if (len < min_len + length) - return 0; - - pdu[0] = ATT_OP_READ_BY_GROUP_REQ; - att_put_u16(start, &pdu[1]); - att_put_u16(end, &pdu[3]); - - att_put_uuid(*uuid, &pdu[5]); - - return min_len + length; -} - -uint16_t dec_read_by_grp_req(const uint8_t *pdu, size_t len, uint16_t *start, - uint16_t *end, bt_uuid_t *uuid) -{ - const size_t min_len = sizeof(pdu[0]) + sizeof(*start) + sizeof(*end); - - if (pdu == NULL) - return 0; - - if (start == NULL || end == NULL || uuid == NULL) - return 0; - - if (pdu[0] != ATT_OP_READ_BY_GROUP_REQ) - return 0; - - if (len < min_len + 2) - return 0; - - *start = att_get_u16(&pdu[1]); - *end = att_get_u16(&pdu[3]); - if (len == min_len + 2) - *uuid = att_get_uuid16(&pdu[5]); - else - *uuid = att_get_uuid128(&pdu[5]); - - return len; -} - -uint16_t enc_read_by_grp_resp(struct att_data_list *list, uint8_t *pdu, - size_t len) -{ - int i; - uint16_t w; - uint8_t *ptr; - - if (list == NULL) - return 0; - - if (len < list->len + sizeof(uint8_t) * 2) - return 0; - - pdu[0] = ATT_OP_READ_BY_GROUP_RESP; - pdu[1] = list->len; - - ptr = &pdu[2]; - - for (i = 0, w = 2; i < list->num && w + list->len <= len; i++) { - memcpy(ptr, list->data[i], list->len); - ptr += list->len; - w += list->len; - } - - return w; -} - -struct att_data_list *dec_read_by_grp_resp(const uint8_t *pdu, size_t len) -{ - struct att_data_list *list; - const uint8_t *ptr; - uint16_t elen, num; - int i; - - if (pdu[0] != ATT_OP_READ_BY_GROUP_RESP) - return NULL; - - elen = pdu[1]; - num = (len - 2) / elen; - list = att_data_list_alloc(num, elen); - if (list == NULL) - return NULL; - - ptr = &pdu[2]; - - for (i = 0; i < num; i++) { - memcpy(list->data[i], ptr, list->len); - ptr += list->len; - } - - return list; -} - -uint16_t enc_find_by_type_req(uint16_t start, uint16_t end, bt_uuid_t *uuid, - const uint8_t *value, size_t vlen, - uint8_t *pdu, size_t len) -{ - uint16_t min_len = sizeof(pdu[0]) + sizeof(start) + sizeof(end) + - sizeof(uint16_t); - - if (pdu == NULL) - return 0; - - if (!uuid) - return 0; - - if (uuid->type != BT_UUID16) - return 0; - - if (len < min_len) - return 0; - - if (vlen > len - min_len) - vlen = len - min_len; - - pdu[0] = ATT_OP_FIND_BY_TYPE_REQ; - att_put_u16(start, &pdu[1]); - att_put_u16(end, &pdu[3]); - att_put_uuid16(*uuid, &pdu[5]); - - if (vlen > 0) { - memcpy(&pdu[7], value, vlen); - return min_len + vlen; - } - - return min_len; -} - -uint16_t dec_find_by_type_req(const uint8_t *pdu, size_t len, uint16_t *start, - uint16_t *end, bt_uuid_t *uuid, - uint8_t *value, size_t *vlen) -{ - size_t valuelen; - uint16_t min_len = sizeof(pdu[0]) + sizeof(*start) + - sizeof(*end) + sizeof(uint16_t); - - if (pdu == NULL) - return 0; - - if (len < min_len) - return 0; - - if (pdu[0] != ATT_OP_FIND_BY_TYPE_REQ) - return 0; - - /* First requested handle number */ - if (start) - *start = att_get_u16(&pdu[1]); - - /* Last requested handle number */ - if (end) - *end = att_get_u16(&pdu[3]); - - /* Always UUID16 */ - if (uuid) - *uuid = att_get_uuid16(&pdu[5]); - - valuelen = len - min_len; - - /* Attribute value to find */ - if (valuelen > 0 && value) - memcpy(value, pdu + min_len, valuelen); - - if (vlen) - *vlen = valuelen; - - return len; -} - -uint16_t enc_find_by_type_resp(GSList *matches, uint8_t *pdu, size_t len) -{ - GSList *l; - uint16_t offset; - - if (pdu == NULL || len < 5) - return 0; - - pdu[0] = ATT_OP_FIND_BY_TYPE_RESP; - - for (l = matches, offset = 1; - l && len >= (offset + sizeof(uint16_t) * 2); - l = l->next, offset += sizeof(uint16_t) * 2) { - struct att_range *range = l->data; - - att_put_u16(range->start, &pdu[offset]); - att_put_u16(range->end, &pdu[offset + 2]); - } - - return offset; -} - -GSList *dec_find_by_type_resp(const uint8_t *pdu, size_t len) -{ - struct att_range *range; - GSList *matches; - off_t offset; - - if (pdu == NULL || len < 5) - return NULL; - - if (pdu[0] != ATT_OP_FIND_BY_TYPE_RESP) - return NULL; - - for (offset = 1, matches = NULL; - len >= (offset + sizeof(uint16_t) * 2); - offset += sizeof(uint16_t) * 2) { - range = g_new0(struct att_range, 1); - range->start = att_get_u16(&pdu[offset]); - range->end = att_get_u16(&pdu[offset + 2]); - - matches = g_slist_append(matches, range); - } - - return matches; -} - -uint16_t enc_read_by_type_req(uint16_t start, uint16_t end, bt_uuid_t *uuid, - uint8_t *pdu, size_t len) -{ - uint16_t min_len = sizeof(pdu[0]) + sizeof(start) + sizeof(end); - uint16_t length; - - if (!uuid) - return 0; - - if (uuid->type == BT_UUID16) - length = 2; - else if (uuid->type == BT_UUID128) - length = 16; - else - return 0; - - if (len < min_len + length) - return 0; - - pdu[0] = ATT_OP_READ_BY_TYPE_REQ; - att_put_u16(start, &pdu[1]); - att_put_u16(end, &pdu[3]); - - att_put_uuid(*uuid, &pdu[5]); - - return min_len + length; -} - -uint16_t dec_read_by_type_req(const uint8_t *pdu, size_t len, uint16_t *start, - uint16_t *end, bt_uuid_t *uuid) -{ - const size_t min_len = sizeof(pdu[0]) + sizeof(*start) + sizeof(*end); - - if (pdu == NULL) - return 0; - - if (start == NULL || end == NULL || uuid == NULL) - return 0; - - if (len < min_len + 2) - return 0; - - if (pdu[0] != ATT_OP_READ_BY_TYPE_REQ) - return 0; - - *start = att_get_u16(&pdu[1]); - *end = att_get_u16(&pdu[3]); - - if (len == min_len + 2) - *uuid = att_get_uuid16(&pdu[5]); - else - *uuid = att_get_uuid128(&pdu[5]); - - return len; -} - -uint16_t enc_read_by_type_resp(struct att_data_list *list, uint8_t *pdu, - size_t len) -{ - uint8_t *ptr; - size_t i, w, l; - - if (list == NULL) - return 0; - - if (pdu == NULL) - return 0; - - l = MIN(len - 2, list->len); - - pdu[0] = ATT_OP_READ_BY_TYPE_RESP; - pdu[1] = l; - ptr = &pdu[2]; - - for (i = 0, w = 2; i < list->num && w + l <= len; i++) { - memcpy(ptr, list->data[i], l); - ptr += l; - w += l; - } - - return w; -} - -struct att_data_list *dec_read_by_type_resp(const uint8_t *pdu, size_t len) -{ - struct att_data_list *list; - const uint8_t *ptr; - uint16_t elen, num; - int i; - - if (pdu[0] != ATT_OP_READ_BY_TYPE_RESP) - return NULL; - - elen = pdu[1]; - num = (len - 2) / elen; - list = att_data_list_alloc(num, elen); - if (list == NULL) - return NULL; - - ptr = &pdu[2]; - - for (i = 0; i < num; i++) { - memcpy(list->data[i], ptr, list->len); - ptr += list->len; - } - - return list; -} - -uint16_t enc_write_cmd(uint16_t handle, const uint8_t *value, size_t vlen, - uint8_t *pdu, size_t len) -{ - const uint16_t min_len = sizeof(pdu[0]) + sizeof(handle); - - if (pdu == NULL) - return 0; - - if (len < min_len) - return 0; - - if (vlen > len - min_len) - vlen = len - min_len; - - pdu[0] = ATT_OP_WRITE_CMD; - att_put_u16(handle, &pdu[1]); - - if (vlen > 0) { - memcpy(&pdu[3], value, vlen); - return min_len + vlen; - } - - return min_len; -} - -uint16_t dec_write_cmd(const uint8_t *pdu, size_t len, uint16_t *handle, - uint8_t *value, size_t *vlen) -{ - const uint16_t min_len = sizeof(pdu[0]) + sizeof(*handle); - - if (pdu == NULL) - return 0; - - if (value == NULL || vlen == NULL || handle == NULL) - return 0; - - if (len < min_len) - return 0; - - if (pdu[0] != ATT_OP_WRITE_CMD) - return 0; - - *handle = att_get_u16(&pdu[1]); - memcpy(value, pdu + min_len, len - min_len); - *vlen = len - min_len; - - return len; -} - -uint16_t enc_write_req(uint16_t handle, const uint8_t *value, size_t vlen, - uint8_t *pdu, size_t len) -{ - const uint16_t min_len = sizeof(pdu[0]) + sizeof(handle); - - if (pdu == NULL) - return 0; - - if (len < min_len) - return 0; - - if (vlen > len - min_len) - vlen = len - min_len; - - pdu[0] = ATT_OP_WRITE_REQ; - att_put_u16(handle, &pdu[1]); - - if (vlen > 0) { - memcpy(&pdu[3], value, vlen); - return min_len + vlen; - } - - return min_len; -} - -uint16_t dec_write_req(const uint8_t *pdu, size_t len, uint16_t *handle, - uint8_t *value, size_t *vlen) -{ - const uint16_t min_len = sizeof(pdu[0]) + sizeof(*handle); - - if (pdu == NULL) - return 0; - - if (value == NULL || vlen == NULL || handle == NULL) - return 0; - - if (len < min_len) - return 0; - - if (pdu[0] != ATT_OP_WRITE_REQ) - return 0; - - *handle = att_get_u16(&pdu[1]); - *vlen = len - min_len; - if (*vlen > 0) - memcpy(value, pdu + min_len, *vlen); - - return len; -} - -uint16_t enc_write_resp(uint8_t *pdu, size_t len) -{ - if (pdu == NULL) - return 0; - - pdu[0] = ATT_OP_WRITE_RESP; - - return sizeof(pdu[0]); -} - -uint16_t dec_write_resp(const uint8_t *pdu, size_t len) -{ - if (pdu == NULL) - return 0; - - if (pdu[0] != ATT_OP_WRITE_RESP) - return 0; - - return len; -} - -uint16_t enc_read_req(uint16_t handle, uint8_t *pdu, size_t len) -{ - const uint16_t min_len = sizeof(pdu[0]) + sizeof(handle); - - if (pdu == NULL) - return 0; - - if (len < min_len) - return 0; - - pdu[0] = ATT_OP_READ_REQ; - att_put_u16(handle, &pdu[1]); - - return min_len; -} - -uint16_t enc_read_blob_req(uint16_t handle, uint16_t offset, uint8_t *pdu, - size_t len) -{ - const uint16_t min_len = sizeof(pdu[0]) + sizeof(handle) + - sizeof(offset); - - if (pdu == NULL) - return 0; - - if (len < min_len) - return 0; - - pdu[0] = ATT_OP_READ_BLOB_REQ; - att_put_u16(handle, &pdu[1]); - att_put_u16(offset, &pdu[3]); - - return min_len; -} - -uint16_t dec_read_req(const uint8_t *pdu, size_t len, uint16_t *handle) -{ - const uint16_t min_len = sizeof(pdu[0]) + sizeof(*handle); - - if (pdu == NULL) - return 0; - - if (handle == NULL) - return 0; - - if (len < min_len) - return 0; - - if (pdu[0] != ATT_OP_READ_REQ) - return 0; - - *handle = att_get_u16(&pdu[1]); - - return min_len; -} - -uint16_t dec_read_blob_req(const uint8_t *pdu, size_t len, uint16_t *handle, - uint16_t *offset) -{ - const uint16_t min_len = sizeof(pdu[0]) + sizeof(*handle) + - sizeof(*offset); - - if (pdu == NULL) - return 0; - - if (handle == NULL) - return 0; - - if (offset == NULL) - return 0; - - if (len < min_len) - return 0; - - if (pdu[0] != ATT_OP_READ_BLOB_REQ) - return 0; - - *handle = att_get_u16(&pdu[1]); - *offset = att_get_u16(&pdu[3]); - - return min_len; -} - -uint16_t enc_read_resp(uint8_t *value, size_t vlen, uint8_t *pdu, size_t len) -{ - if (pdu == NULL) - return 0; - - /* If the attribute value length is longer than the allowed PDU size, - * send only the octets that fit on the PDU. The remaining octets can - * be requested using the Read Blob Request. */ - if (vlen > len - 1) - vlen = len - 1; - - pdu[0] = ATT_OP_READ_RESP; - - memcpy(pdu + 1, value, vlen); - - return vlen + 1; -} - -uint16_t enc_read_blob_resp(uint8_t *value, size_t vlen, uint16_t offset, - uint8_t *pdu, size_t len) -{ - if (pdu == NULL) - return 0; - - vlen -= offset; - if (vlen > len - 1) - vlen = len - 1; - - pdu[0] = ATT_OP_READ_BLOB_RESP; - - memcpy(pdu + 1, &value[offset], vlen); - - return vlen + 1; -} - -ssize_t dec_read_resp(const uint8_t *pdu, size_t len, uint8_t *value, size_t vlen) -{ - if (pdu == NULL) - return -EINVAL; - - if (value == NULL) - return -EINVAL; - - if (pdu[0] != ATT_OP_READ_RESP) - return -EINVAL; - - if (vlen < (len - 1)) - return -ENOBUFS; - - memcpy(value, pdu + 1, len - 1); - - return len - 1; -} - -uint16_t enc_error_resp(uint8_t opcode, uint16_t handle, uint8_t status, - uint8_t *pdu, size_t len) -{ - const uint16_t min_len = sizeof(pdu[0]) + sizeof(opcode) + - sizeof(handle) + sizeof(status); - uint16_t u16; - - if (len < min_len) - return 0; - - u16 = htobs(handle); - pdu[0] = ATT_OP_ERROR; - pdu[1] = opcode; - memcpy(&pdu[2], &u16, sizeof(u16)); - pdu[4] = status; - - return min_len; -} - -uint16_t enc_find_info_req(uint16_t start, uint16_t end, uint8_t *pdu, size_t len) -{ - const uint16_t min_len = sizeof(pdu[0]) + sizeof(start) + sizeof(end); - - if (pdu == NULL) - return 0; - - if (len < min_len) - return 0; - - pdu[0] = ATT_OP_FIND_INFO_REQ; - att_put_u16(start, &pdu[1]); - att_put_u16(end, &pdu[3]); - - return min_len; -} - -uint16_t dec_find_info_req(const uint8_t *pdu, size_t len, uint16_t *start, - uint16_t *end) -{ - const uint16_t min_len = sizeof(pdu[0]) + sizeof(*start) + sizeof(*end); - - if (pdu == NULL) - return 0; - - if (len < min_len) - return 0; - - if (start == NULL || end == NULL) - return 0; - - if (pdu[0] != ATT_OP_FIND_INFO_REQ) - return 0; - - *start = att_get_u16(&pdu[1]); - *end = att_get_u16(&pdu[3]); - - return min_len; -} - -uint16_t enc_find_info_resp(uint8_t format, struct att_data_list *list, - uint8_t *pdu, size_t len) -{ - uint8_t *ptr; - size_t i, w; - - if (pdu == NULL) - return 0; - - if (list == NULL) - return 0; - - if (len < list->len + sizeof(uint8_t) * 2) - return 0; - - pdu[0] = ATT_OP_FIND_INFO_RESP; - pdu[1] = format; - ptr = (void *) &pdu[2]; - - for (i = 0, w = 2; i < list->num && w + list->len <= len; i++) { - memcpy(ptr, list->data[i], list->len); - ptr += list->len; - w += list->len; - } - - return w; -} - -struct att_data_list *dec_find_info_resp(const uint8_t *pdu, size_t len, - uint8_t *format) -{ - struct att_data_list *list; - uint8_t *ptr; - uint16_t elen, num; - int i; - - if (pdu == NULL) - return 0; - - if (format == NULL) - return 0; - - if (pdu[0] != ATT_OP_FIND_INFO_RESP) - return 0; - - *format = pdu[1]; - elen = sizeof(pdu[0]) + sizeof(*format); - if (*format == 0x01) - elen += 2; - else if (*format == 0x02) - elen += 16; - - num = (len - 2) / elen; - - ptr = (void *) &pdu[2]; - - list = att_data_list_alloc(num, elen); - if (list == NULL) - return NULL; - - for (i = 0; i < num; i++) { - memcpy(list->data[i], ptr, list->len); - ptr += list->len; - } - - return list; -} - -uint16_t enc_notification(uint16_t handle, uint8_t *value, size_t vlen, - uint8_t *pdu, size_t len) -{ - const uint16_t min_len = sizeof(pdu[0]) + sizeof(uint16_t); - - if (pdu == NULL) - return 0; - - if (len < (vlen + min_len)) - return 0; - - pdu[0] = ATT_OP_HANDLE_NOTIFY; - att_put_u16(handle, &pdu[1]); - memcpy(&pdu[3], value, vlen); - - return vlen + min_len; -} - -uint16_t enc_indication(uint16_t handle, uint8_t *value, size_t vlen, - uint8_t *pdu, size_t len) -{ - const uint16_t min_len = sizeof(pdu[0]) + sizeof(uint16_t); - - if (pdu == NULL) - return 0; - - if (len < (vlen + min_len)) - return 0; - - pdu[0] = ATT_OP_HANDLE_IND; - att_put_u16(handle, &pdu[1]); - memcpy(&pdu[3], value, vlen); - - return vlen + min_len; -} - -uint16_t dec_indication(const uint8_t *pdu, size_t len, uint16_t *handle, - uint8_t *value, size_t vlen) -{ - const uint16_t min_len = sizeof(pdu[0]) + sizeof(uint16_t); - uint16_t dlen; - - if (pdu == NULL) - return 0; - - if (pdu[0] != ATT_OP_HANDLE_IND) - return 0; - - if (len < min_len) - return 0; - - dlen = MIN(len - min_len, vlen); - - if (handle) - *handle = att_get_u16(&pdu[1]); - - memcpy(value, &pdu[3], dlen); - - return dlen; -} - -uint16_t enc_confirmation(uint8_t *pdu, size_t len) -{ - const uint16_t min_len = sizeof(pdu[0]); - - if (pdu == NULL) - return 0; - - if (len < min_len) - return 0; - - pdu[0] = ATT_OP_HANDLE_CNF; - - return min_len; -} - -uint16_t enc_mtu_req(uint16_t mtu, uint8_t *pdu, size_t len) -{ - const uint16_t min_len = sizeof(pdu[0]) + sizeof(mtu); - - if (pdu == NULL) - return 0; - - if (len < min_len) - return 0; - - pdu[0] = ATT_OP_MTU_REQ; - att_put_u16(mtu, &pdu[1]); - - return min_len; -} - -uint16_t dec_mtu_req(const uint8_t *pdu, size_t len, uint16_t *mtu) -{ - const uint16_t min_len = sizeof(pdu[0]) + sizeof(*mtu); - - if (pdu == NULL) - return 0; - - if (mtu == NULL) - return 0; - - if (len < min_len) - return 0; - - if (pdu[0] != ATT_OP_MTU_REQ) - return 0; - - *mtu = att_get_u16(&pdu[1]); - - return min_len; -} - -uint16_t enc_mtu_resp(uint16_t mtu, uint8_t *pdu, size_t len) -{ - const uint16_t min_len = sizeof(pdu[0]) + sizeof(mtu); - - if (pdu == NULL) - return 0; - - if (len < min_len) - return 0; - - pdu[0] = ATT_OP_MTU_RESP; - att_put_u16(mtu, &pdu[1]); - - return min_len; -} - -uint16_t dec_mtu_resp(const uint8_t *pdu, size_t len, uint16_t *mtu) -{ - const uint16_t min_len = sizeof(pdu[0]) + sizeof(*mtu); - - if (pdu == NULL) - return 0; - - if (mtu == NULL) - return 0; - - if (len < min_len) - return 0; - - if (pdu[0] != ATT_OP_MTU_RESP) - return 0; - - *mtu = att_get_u16(&pdu[1]); - - return min_len; -} - -uint16_t enc_prep_write_req(uint16_t handle, uint16_t offset, - const uint8_t *value, size_t vlen, uint8_t *pdu, size_t len) -{ - const uint16_t min_len = sizeof(pdu[0]) + sizeof(handle) + - sizeof(offset); - - if (pdu == NULL) - return 0; - - if (len < min_len) - return 0; - - if (vlen > len - min_len) - vlen = len - min_len; - - pdu[0] = ATT_OP_PREP_WRITE_REQ; - att_put_u16(handle, &pdu[1]); - att_put_u16(offset, &pdu[3]); - - if (vlen > 0) { - memcpy(&pdu[5], value, vlen); - return min_len + vlen; - } - - return min_len; -} - -uint16_t dec_prep_write_resp(const uint8_t *pdu, size_t len, uint16_t *handle, - uint16_t *offset, uint8_t *value, size_t *vlen) -{ - const uint16_t min_len = sizeof(pdu[0]) + sizeof(*handle) + - sizeof(*offset); - - if (pdu == NULL) - return 0; - - if (handle == NULL || offset == NULL || value == NULL || vlen == NULL) - return 0; - - if (len < min_len) - return 0; - - if (pdu[0] != ATT_OP_PREP_WRITE_REQ) - return 0; - - *handle = att_get_u16(&pdu[1]); - *offset = att_get_u16(&pdu[3]); - *vlen = len - min_len; - if (*vlen > 0) - memcpy(value, pdu + min_len, *vlen); - - return len; -} - -uint16_t enc_exec_write_req(uint8_t flags, uint8_t *pdu, size_t len) -{ - const uint16_t min_len = sizeof(pdu[0]) + sizeof(flags); - - if (pdu == NULL) - return 0; - - if (len < min_len) - return 0; - - if (flags > 1) - return 0; - - pdu[0] = ATT_OP_EXEC_WRITE_REQ; - pdu[1] = flags; - - return min_len; -} - -uint16_t dec_exec_write_resp(const uint8_t *pdu, size_t len) -{ - const uint16_t min_len = sizeof(pdu[0]); - - if (pdu == NULL) - return 0; - - if (len < min_len) - return 0; - - if (pdu[0] != ATT_OP_EXEC_WRITE_RESP) - return 0; - - return len; -} diff --git a/GRIB_BLE_HUB/libs/ble_extend/attrib/att.h b/GRIB_BLE_HUB/libs/ble_extend/attrib/att.h deleted file mode 100644 index 8bdf8fa..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/attrib/att.h +++ /dev/null @@ -1,280 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2010 Nokia Corporation - * Copyright (C) 2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -/* Attribute Protocol Opcodes */ -#define ATT_OP_ERROR 0x01 -#define ATT_OP_MTU_REQ 0x02 -#define ATT_OP_MTU_RESP 0x03 -#define ATT_OP_FIND_INFO_REQ 0x04 -#define ATT_OP_FIND_INFO_RESP 0x05 -#define ATT_OP_FIND_BY_TYPE_REQ 0x06 -#define ATT_OP_FIND_BY_TYPE_RESP 0x07 -#define ATT_OP_READ_BY_TYPE_REQ 0x08 -#define ATT_OP_READ_BY_TYPE_RESP 0x09 -#define ATT_OP_READ_REQ 0x0A -#define ATT_OP_READ_RESP 0x0B -#define ATT_OP_READ_BLOB_REQ 0x0C -#define ATT_OP_READ_BLOB_RESP 0x0D -#define ATT_OP_READ_MULTI_REQ 0x0E -#define ATT_OP_READ_MULTI_RESP 0x0F -#define ATT_OP_READ_BY_GROUP_REQ 0x10 -#define ATT_OP_READ_BY_GROUP_RESP 0x11 -#define ATT_OP_WRITE_REQ 0x12 -#define ATT_OP_WRITE_RESP 0x13 -#define ATT_OP_WRITE_CMD 0x52 -#define ATT_OP_PREP_WRITE_REQ 0x16 -#define ATT_OP_PREP_WRITE_RESP 0x17 -#define ATT_OP_EXEC_WRITE_REQ 0x18 -#define ATT_OP_EXEC_WRITE_RESP 0x19 -#define ATT_OP_HANDLE_NOTIFY 0x1B -#define ATT_OP_HANDLE_IND 0x1D -#define ATT_OP_HANDLE_CNF 0x1E -#define ATT_OP_SIGNED_WRITE_CMD 0xD2 - -/* Error codes for Error response PDU */ -#define ATT_ECODE_INVALID_HANDLE 0x01 -#define ATT_ECODE_READ_NOT_PERM 0x02 -#define ATT_ECODE_WRITE_NOT_PERM 0x03 -#define ATT_ECODE_INVALID_PDU 0x04 -#define ATT_ECODE_AUTHENTICATION 0x05 -#define ATT_ECODE_REQ_NOT_SUPP 0x06 -#define ATT_ECODE_INVALID_OFFSET 0x07 -#define ATT_ECODE_AUTHORIZATION 0x08 -#define ATT_ECODE_PREP_QUEUE_FULL 0x09 -#define ATT_ECODE_ATTR_NOT_FOUND 0x0A -#define ATT_ECODE_ATTR_NOT_LONG 0x0B -#define ATT_ECODE_INSUFF_ENCR_KEY_SIZE 0x0C -#define ATT_ECODE_INVAL_ATTR_VALUE_LEN 0x0D -#define ATT_ECODE_UNLIKELY 0x0E -#define ATT_ECODE_INSUFF_ENC 0x0F -#define ATT_ECODE_UNSUPP_GRP_TYPE 0x10 -#define ATT_ECODE_INSUFF_RESOURCES 0x11 -/* Application error */ -#define ATT_ECODE_IO 0x80 -#define ATT_ECODE_TIMEOUT 0x81 -#define ATT_ECODE_ABORTED 0x82 - -/* Characteristic Property bit field */ -#define ATT_CHAR_PROPER_BROADCAST 0x01 -#define ATT_CHAR_PROPER_READ 0x02 -#define ATT_CHAR_PROPER_WRITE_WITHOUT_RESP 0x04 -#define ATT_CHAR_PROPER_WRITE 0x08 -#define ATT_CHAR_PROPER_NOTIFY 0x10 -#define ATT_CHAR_PROPER_INDICATE 0x20 -#define ATT_CHAR_PROPER_AUTH 0x40 -#define ATT_CHAR_PROPER_EXT_PROPER 0x80 - -#define ATT_MAX_VALUE_LEN 512 -#define ATT_DEFAULT_L2CAP_MTU 48 -#define ATT_DEFAULT_LE_MTU 23 - -#define ATT_CID 4 -#define ATT_PSM 31 - -/* Flags for Execute Write Request Operation */ -#define ATT_CANCEL_ALL_PREP_WRITES 0x00 -#define ATT_WRITE_ALL_PREP_WRITES 0x01 - -/* Find Information Response Formats */ -#define ATT_FIND_INFO_RESP_FMT_16BIT 0x01 -#define ATT_FIND_INFO_RESP_FMT_128BIT 0x02 - -struct att_data_list { - uint16_t num; - uint16_t len; - uint8_t **data; -}; - -struct att_range { - uint16_t start; - uint16_t end; -}; - -/* These functions do byte conversion */ -static inline uint8_t att_get_u8(const void *ptr) -{ - const uint8_t *u8_ptr = (uint8_t *)ptr; - return bt_get_unaligned(u8_ptr); -} - -static inline uint16_t att_get_u16(const void *ptr) -{ - const uint16_t *u16_ptr = (uint16_t *)ptr; - return btohs(bt_get_unaligned(u16_ptr)); -} - -static inline uint32_t att_get_u32(const void *ptr) -{ - const uint32_t *u32_ptr = (uint32_t *)ptr; - return btohl(bt_get_unaligned(u32_ptr)); -} - -static inline uint128_t att_get_u128(const void *ptr) -{ - const uint128_t *u128_ptr = (uint128_t *)ptr; - uint128_t dst; - - btoh128(u128_ptr, &dst); - - return dst; -} - -static inline void att_put_u8(uint8_t src, void *dst) -{ - bt_put_unaligned(src, (uint8_t *) dst); -} - -static inline void att_put_u16(uint16_t src, void *dst) -{ - bt_put_unaligned(htobs(src), (uint16_t *) dst); -} - -static inline void att_put_u32(uint32_t src, void *dst) -{ - bt_put_unaligned(htobl(src), (uint32_t *) dst); -} - -static inline void att_put_u128(uint128_t src, void *dst) -{ - uint128_t *d128 = (uint128_t *)dst; - - htob128(&src, d128); -} - -static inline void att_put_uuid16(bt_uuid_t src, void *dst) -{ - att_put_u16(src.value.u16, dst); -} - -static inline void att_put_uuid128(bt_uuid_t src, void *dst) -{ - att_put_u128(src.value.u128, dst); -} - -static inline void att_put_uuid(bt_uuid_t src, void *dst) -{ -// if (src.type == BT_UUID16) - if (src.type == 16) - att_put_uuid16(src, dst); - else - att_put_uuid128(src, dst); -} - -static inline bt_uuid_t att_get_uuid16(const void *ptr) -{ - bt_uuid_t uuid; - - bt_uuid16_create(&uuid, att_get_u16(ptr)); - - return uuid; -} - -static inline bt_uuid_t att_get_uuid128(const void *ptr) -{ - bt_uuid_t uuid; - uint128_t value; - - value = att_get_u128(ptr); - bt_uuid128_create(&uuid, value); - - return uuid; -} - -struct att_data_list *att_data_list_alloc(uint16_t num, uint16_t len); -void att_data_list_free(struct att_data_list *list); - -const char *att_ecode2str(uint8_t status); -uint16_t enc_read_by_grp_req(uint16_t start, uint16_t end, bt_uuid_t *uuid, - uint8_t *pdu, size_t len); -uint16_t dec_read_by_grp_req(const uint8_t *pdu, size_t len, uint16_t *start, - uint16_t *end, bt_uuid_t *uuid); -uint16_t enc_read_by_grp_resp(struct att_data_list *list, uint8_t *pdu, - size_t len); -uint16_t enc_find_by_type_req(uint16_t start, uint16_t end, bt_uuid_t *uuid, - const uint8_t *value, size_t vlen, uint8_t *pdu, - size_t len); -uint16_t dec_find_by_type_req(const uint8_t *pdu, size_t len, uint16_t *start, - uint16_t *end, bt_uuid_t *uuid, uint8_t *value, size_t *vlen); -uint16_t enc_find_by_type_resp(GSList *ranges, uint8_t *pdu, size_t len); -GSList *dec_find_by_type_resp(const uint8_t *pdu, size_t len); -struct att_data_list *dec_read_by_grp_resp(const uint8_t *pdu, size_t len); -uint16_t enc_read_by_type_req(uint16_t start, uint16_t end, bt_uuid_t *uuid, - uint8_t *pdu, size_t len); -uint16_t dec_read_by_type_req(const uint8_t *pdu, size_t len, uint16_t *start, - uint16_t *end, bt_uuid_t *uuid); -uint16_t enc_read_by_type_resp(struct att_data_list *list, uint8_t *pdu, - size_t len); -uint16_t enc_write_cmd(uint16_t handle, const uint8_t *value, size_t vlen, - uint8_t *pdu, size_t len); -uint16_t dec_write_cmd(const uint8_t *pdu, size_t len, uint16_t *handle, - uint8_t *value, size_t *vlen); -struct att_data_list *dec_read_by_type_resp(const uint8_t *pdu, size_t len); -uint16_t enc_write_req(uint16_t handle, const uint8_t *value, size_t vlen, - uint8_t *pdu, size_t len); -uint16_t dec_write_req(const uint8_t *pdu, size_t len, uint16_t *handle, - uint8_t *value, size_t *vlen); -uint16_t enc_write_resp(uint8_t *pdu, size_t len); -uint16_t dec_write_resp(const uint8_t *pdu, size_t len); -uint16_t enc_read_req(uint16_t handle, uint8_t *pdu, size_t len); -uint16_t enc_read_blob_req(uint16_t handle, uint16_t offset, uint8_t *pdu, - size_t len); -uint16_t dec_read_req(const uint8_t *pdu, size_t len, uint16_t *handle); -uint16_t dec_read_blob_req(const uint8_t *pdu, size_t len, uint16_t *handle, - uint16_t *offset); -uint16_t enc_read_resp(uint8_t *value, size_t vlen, uint8_t *pdu, size_t len); -uint16_t enc_read_blob_resp(uint8_t *value, size_t vlen, uint16_t offset, - uint8_t *pdu, size_t len); -ssize_t dec_read_resp(const uint8_t *pdu, size_t len, uint8_t *value, - size_t vlen); -uint16_t enc_error_resp(uint8_t opcode, uint16_t handle, uint8_t status, - uint8_t *pdu, size_t len); -uint16_t enc_find_info_req(uint16_t start, uint16_t end, uint8_t *pdu, - size_t len); -uint16_t dec_find_info_req(const uint8_t *pdu, size_t len, uint16_t *start, - uint16_t *end); -uint16_t enc_find_info_resp(uint8_t format, struct att_data_list *list, - uint8_t *pdu, size_t len); -struct att_data_list *dec_find_info_resp(const uint8_t *pdu, size_t len, - uint8_t *format); -uint16_t enc_notification(uint16_t handle, uint8_t *value, size_t vlen, - uint8_t *pdu, size_t len); -uint16_t enc_indication(uint16_t handle, uint8_t *value, size_t vlen, - uint8_t *pdu, size_t len); -uint16_t dec_indication(const uint8_t *pdu, size_t len, uint16_t *handle, - uint8_t *value, size_t vlen); -uint16_t enc_confirmation(uint8_t *pdu, size_t len); - -uint16_t enc_mtu_req(uint16_t mtu, uint8_t *pdu, size_t len); -uint16_t dec_mtu_req(const uint8_t *pdu, size_t len, uint16_t *mtu); -uint16_t enc_mtu_resp(uint16_t mtu, uint8_t *pdu, size_t len); -uint16_t dec_mtu_resp(const uint8_t *pdu, size_t len, uint16_t *mtu); - -uint16_t enc_prep_write_req(uint16_t handle, uint16_t offset, - const uint8_t *value, size_t vlen, - uint8_t *pdu, size_t len); -uint16_t dec_prep_write_resp(const uint8_t *pdu, size_t len, uint16_t *handle, - uint16_t *offset, uint8_t *value, - size_t *vlen); -uint16_t enc_exec_write_req(uint8_t flags, uint8_t *pdu, size_t len); -uint16_t dec_exec_write_resp(const uint8_t *pdu, size_t len); diff --git a/GRIB_BLE_HUB/libs/ble_extend/attrib/gatt-service.c b/GRIB_BLE_HUB/libs/ble_extend/attrib/gatt-service.c deleted file mode 100644 index bdb12cd..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/attrib/gatt-service.c +++ /dev/null @@ -1,352 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2011 Nokia Corporation - * Copyright (C) 2011 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include -#include - -#include "lib/uuid.h" -#include "gattrib.h" -#include "att.h" -#include "gatt.h" -#include "att-database.h" -#include "attrib-server.h" -#include "gatt-service.h" -#include "log.h" - -struct gatt_info { - bt_uuid_t uuid; - uint8_t props; - int authentication; - int authorization; - GSList *callbacks; - unsigned int num_attrs; - uint16_t *value_handle; - uint16_t *ccc_handle; -}; - -struct attrib_cb { - attrib_event_t event; - void *fn; - void *user_data; -}; - -static GSList *parse_opts(gatt_option opt1, va_list args) -{ - gatt_option opt = opt1; - struct gatt_info *info; - struct attrib_cb *cb; - GSList *l = NULL; - - info = g_new0(struct gatt_info, 1); - l = g_slist_append(l, info); - - while (opt != GATT_OPT_INVALID) { - switch (opt) { - case GATT_OPT_CHR_UUID: - bt_uuid16_create(&info->uuid, va_arg(args, int)); - /* characteristic declaration and value */ - info->num_attrs += 2; - break; - case GATT_OPT_CHR_PROPS: - info->props = va_arg(args, int); - - if (info->props & (ATT_CHAR_PROPER_NOTIFY | - ATT_CHAR_PROPER_INDICATE)) - /* client characteristic configuration */ - info->num_attrs += 1; - - /* TODO: "Extended Properties" property requires a - * descriptor, but it is not supported yet. */ - break; - case GATT_OPT_CHR_VALUE_CB: - cb = g_new0(struct attrib_cb, 1); - cb->event = va_arg(args, attrib_event_t); - cb->fn = va_arg(args, void *); - cb->user_data = va_arg(args, void *); - info->callbacks = g_slist_append(info->callbacks, cb); - break; - case GATT_OPT_CHR_VALUE_GET_HANDLE: - info->value_handle = va_arg(args, void *); - break; - case GATT_OPT_CCC_GET_HANDLE: - info->ccc_handle = va_arg(args, void *); - break; - case GATT_OPT_CHR_AUTHENTICATION: - info->authentication = va_arg(args, gatt_option); - break; - case GATT_OPT_CHR_AUTHORIZATION: - info->authorization = va_arg(args, gatt_option); - break; - default: - error("Invalid option: %d", opt); - } - - opt = va_arg(args, gatt_option); - if (opt == GATT_OPT_CHR_UUID) { - info = g_new0(struct gatt_info, 1); - l = g_slist_append(l, info); - } - } - - return l; -} - -static struct attribute *add_service_declaration(struct btd_adapter *adapter, - uint16_t handle, uint16_t svc, bt_uuid_t *uuid) -{ - bt_uuid_t bt_uuid; - uint8_t atval[16]; - int len; - - if (uuid->type == BT_UUID16) { - att_put_u16(uuid->value.u16, &atval[0]); - len = 2; - } else if (uuid->type == BT_UUID128) { - att_put_u128(uuid->value.u128, &atval[0]); - len = 16; - } else - return NULL; - - bt_uuid16_create(&bt_uuid, svc); - - return attrib_db_add(adapter, handle, &bt_uuid, ATT_NONE, - ATT_NOT_PERMITTED, atval, len); -} - -static int att_read_req(int authorization, int authentication, uint8_t props) -{ - if (authorization == GATT_CHR_VALUE_READ || - authorization == GATT_CHR_VALUE_BOTH) - return ATT_AUTHORIZATION; - else if (authentication == GATT_CHR_VALUE_READ || - authentication == GATT_CHR_VALUE_BOTH) - return ATT_AUTHENTICATION; - else if (!(props & ATT_CHAR_PROPER_READ)) - return ATT_NOT_PERMITTED; - - return ATT_NONE; -} - -static int att_write_req(int authorization, int authentication, uint8_t props) -{ - if (authorization == GATT_CHR_VALUE_WRITE || - authorization == GATT_CHR_VALUE_BOTH) - return ATT_AUTHORIZATION; - else if (authentication == GATT_CHR_VALUE_WRITE || - authentication == GATT_CHR_VALUE_BOTH) - return ATT_AUTHENTICATION; - else if (!(props & (ATT_CHAR_PROPER_WRITE | - ATT_CHAR_PROPER_WRITE_WITHOUT_RESP))) - return ATT_NOT_PERMITTED; - - return ATT_NONE; -} - -static gint find_callback(gconstpointer a, gconstpointer b) -{ - const struct attrib_cb *cb = a; - unsigned int event = GPOINTER_TO_UINT(b); - - return cb->event - event; -} - -static gboolean add_characteristic(struct btd_adapter *adapter, - uint16_t *handle, struct gatt_info *info) -{ - int read_req, write_req; - uint16_t h = *handle; - struct attribute *a; - bt_uuid_t bt_uuid; - uint8_t atval[5]; - GSList *l; - - if (!info->uuid.value.u16 || !info->props) { - error("Characteristic UUID or properties are missing"); - return FALSE; - } - - read_req = att_read_req(info->authorization, info->authentication, - info->props); - write_req = att_write_req(info->authorization, info->authentication, - info->props); - - /* TODO: static characteristic values are not supported, therefore a - * callback must be always provided if a read/write property is set */ - if (read_req != ATT_NOT_PERMITTED) { - gpointer reqs = GUINT_TO_POINTER(ATTRIB_READ); - - if (!g_slist_find_custom(info->callbacks, reqs, - find_callback)) { - error("Callback for read required"); - return FALSE; - } - } - - if (write_req != ATT_NOT_PERMITTED) { - gpointer reqs = GUINT_TO_POINTER(ATTRIB_WRITE); - - if (!g_slist_find_custom(info->callbacks, reqs, - find_callback)) { - error("Callback for write required"); - return FALSE; - } - } - - /* characteristic declaration */ - bt_uuid16_create(&bt_uuid, GATT_CHARAC_UUID); - atval[0] = info->props; - att_put_u16(h + 1, &atval[1]); - att_put_u16(info->uuid.value.u16, &atval[3]); - if (attrib_db_add(adapter, h++, &bt_uuid, ATT_NONE, ATT_NOT_PERMITTED, - atval, sizeof(atval)) == NULL) - return FALSE; - - /* characteristic value */ - a = attrib_db_add(adapter, h++, &info->uuid, read_req, write_req, - NULL, 0); - if (a == NULL) - return FALSE; - - for (l = info->callbacks; l != NULL; l = l->next) { - struct attrib_cb *cb = l->data; - - switch (cb->event) { - case ATTRIB_READ: - a->read_cb = cb->fn; - break; - case ATTRIB_WRITE: - a->write_cb = cb->fn; - break; - } - - a->cb_user_data = cb->user_data; - } - - if (info->value_handle != NULL) - *info->value_handle = a->handle; - - /* client characteristic configuration descriptor */ - if (info->props & (ATT_CHAR_PROPER_NOTIFY | ATT_CHAR_PROPER_INDICATE)) { - uint8_t cfg_val[2]; - - bt_uuid16_create(&bt_uuid, GATT_CLIENT_CHARAC_CFG_UUID); - cfg_val[0] = 0x00; - cfg_val[1] = 0x00; - a = attrib_db_add(adapter, h++, &bt_uuid, ATT_NONE, - ATT_AUTHENTICATION, cfg_val, sizeof(cfg_val)); - if (a == NULL) - return FALSE; - - if (info->ccc_handle != NULL) - *info->ccc_handle = a->handle; - } - - *handle = h; - - return TRUE; -} - -static void free_gatt_info(void *data) -{ - struct gatt_info *info = data; - - g_slist_free_full(info->callbacks, g_free); - g_free(info); -} - -static void service_attr_del(struct btd_adapter *adapter, uint16_t start_handle, - uint16_t end_handle) -{ - uint16_t handle; - - for (handle = start_handle; handle <= end_handle; handle++) - if (attrib_db_del(adapter, handle) < 0) - error("Can't delete handle 0x%04x", handle); -} - -gboolean gatt_service_add(struct btd_adapter *adapter, uint16_t uuid, - bt_uuid_t *svc_uuid, gatt_option opt1, ...) -{ - char uuidstr[MAX_LEN_UUID_STR]; - uint16_t start_handle, h; - unsigned int size; - va_list args; - GSList *chrs, *l; - - bt_uuid_to_string(svc_uuid, uuidstr, MAX_LEN_UUID_STR); - - if (svc_uuid->type != BT_UUID16 && svc_uuid->type != BT_UUID128) { - error("Invalid service uuid: %s", uuidstr); - return FALSE; - } - - va_start(args, opt1); - chrs = parse_opts(opt1, args); - va_end(args); - - /* calculate how many attributes are necessary for this service */ - for (l = chrs, size = 1; l != NULL; l = l->next) { - struct gatt_info *info = l->data; - size += info->num_attrs; - } - - start_handle = attrib_db_find_avail(adapter, svc_uuid, size); - if (start_handle == 0) { - error("Not enough free handles to register service"); - goto fail; - } - - DBG("New service: handle 0x%04x, UUID %s, %d attributes", - start_handle, uuidstr, size); - - /* service declaration */ - h = start_handle; - if (add_service_declaration(adapter, h++, uuid, svc_uuid) == NULL) - goto fail; - - for (l = chrs; l != NULL; l = l->next) { - struct gatt_info *info = l->data; - - DBG("New characteristic: handle 0x%04x", h); - if (!add_characteristic(adapter, &h, info)) { - service_attr_del(adapter, start_handle, h - 1); - goto fail; - } - } - - g_assert(size < USHRT_MAX); - g_assert(h - start_handle == (uint16_t) size); - g_slist_free_full(chrs, free_gatt_info); - - return TRUE; - -fail: - g_slist_free_full(chrs, free_gatt_info); - return FALSE; -} diff --git a/GRIB_BLE_HUB/libs/ble_extend/attrib/gatt-service.h b/GRIB_BLE_HUB/libs/ble_extend/attrib/gatt-service.h deleted file mode 100644 index b810e2e..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/attrib/gatt-service.h +++ /dev/null @@ -1,51 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2011 Nokia Corporation - * Copyright (C) 2011 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -typedef enum { - GATT_OPT_INVALID = 0, - GATT_OPT_CHR_UUID, - GATT_OPT_CHR_PROPS, - GATT_OPT_CHR_VALUE_CB, - GATT_OPT_CHR_AUTHENTICATION, - GATT_OPT_CHR_AUTHORIZATION, - - /* Get attribute handle for characteristic value */ - GATT_OPT_CHR_VALUE_GET_HANDLE, - - /* Get handle for ccc attribute */ - GATT_OPT_CCC_GET_HANDLE, - - /* arguments for authentication/authorization */ - GATT_CHR_VALUE_READ, - GATT_CHR_VALUE_WRITE, - GATT_CHR_VALUE_BOTH, -} gatt_option; - -typedef enum { - ATTRIB_READ, - ATTRIB_WRITE, -} attrib_event_t; - -gboolean gatt_service_add(struct btd_adapter *adapter, uint16_t uuid, - bt_uuid_t *svc_uuid, gatt_option opt1, ...); diff --git a/GRIB_BLE_HUB/libs/ble_extend/attrib/gatt.c b/GRIB_BLE_HUB/libs/ble_extend/attrib/gatt.c deleted file mode 100644 index 749e820..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/attrib/gatt.c +++ /dev/null @@ -1,937 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2010 Nokia Corporation - * Copyright (C) 2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include -#include -#include -#include - -#include "lib/uuid.h" -#include "att.h" -#include "gattrib.h" -#include "gatt.h" - -struct discover_primary { - GAttrib *attrib; - bt_uuid_t uuid; - GSList *primaries; - gatt_cb_t cb; - void *user_data; -}; - -/* Used for the Included Services Discovery (ISD) procedure */ -struct included_discovery { - GAttrib *attrib; - int refs; - int err; - uint16_t end_handle; - GSList *includes; - gatt_cb_t cb; - void *user_data; -}; - -struct included_uuid_query { - struct included_discovery *isd; - struct gatt_included *included; -}; - -struct discover_char { - GAttrib *attrib; - bt_uuid_t *uuid; - uint16_t end; - GSList *characteristics; - gatt_cb_t cb; - void *user_data; -}; - -static void discover_primary_free(struct discover_primary *dp) -{ - g_slist_free(dp->primaries); - g_attrib_unref(dp->attrib); - g_free(dp); -} - -static struct included_discovery *isd_ref(struct included_discovery *isd) -{ - __sync_fetch_and_add(&isd->refs, 1); - - return isd; -} - -static void isd_unref(struct included_discovery *isd) -{ - if (__sync_sub_and_fetch(&isd->refs, 1) > 0) - return; - - if (isd->err) - isd->cb(NULL, isd->err, isd->user_data); - else - isd->cb(isd->includes, isd->err, isd->user_data); - - g_slist_free_full(isd->includes, g_free); - g_attrib_unref(isd->attrib); - g_free(isd); -} - -static void discover_char_free(struct discover_char *dc) -{ - g_slist_free_full(dc->characteristics, g_free); - g_attrib_unref(dc->attrib); - g_free(dc->uuid); - g_free(dc); -} - -static guint16 encode_discover_primary(uint16_t start, uint16_t end, - bt_uuid_t *uuid, uint8_t *pdu, size_t len) -{ - bt_uuid_t prim; - guint16 plen; - - bt_uuid16_create(&prim, GATT_PRIM_SVC_UUID); - - if (uuid == NULL) { - /* Discover all primary services */ - plen = enc_read_by_grp_req(start, end, &prim, pdu, len); - } else { - uint16_t u16; - uint128_t u128; - const void *value; - size_t vlen; - - /* Discover primary service by service UUID */ - - if (uuid->type == BT_UUID16) { - u16 = htobs(uuid->value.u16); - value = &u16; - vlen = sizeof(u16); - } else { - htob128(&uuid->value.u128, &u128); - value = &u128; - vlen = sizeof(u128); - } - - plen = enc_find_by_type_req(start, end, &prim, value, vlen, - pdu, len); - } - - return plen; -} - -static void primary_by_uuid_cb(guint8 status, const guint8 *ipdu, - guint16 iplen, gpointer user_data) - -{ - struct discover_primary *dp = user_data; - GSList *ranges, *last; - struct att_range *range; - uint8_t *buf; - guint16 oplen; - int err = 0; - size_t buflen; - - if (status) { - err = status == ATT_ECODE_ATTR_NOT_FOUND ? 0 : status; - goto done; - } - - ranges = dec_find_by_type_resp(ipdu, iplen); - if (ranges == NULL) - goto done; - - dp->primaries = g_slist_concat(dp->primaries, ranges); - - last = g_slist_last(ranges); - range = last->data; - - if (range->end == 0xffff) - goto done; - - buf = g_attrib_get_buffer(dp->attrib, &buflen); - oplen = encode_discover_primary(range->end + 1, 0xffff, &dp->uuid, - buf, buflen); - - if (oplen == 0) - goto done; - - g_attrib_send(dp->attrib, 0, buf, oplen, primary_by_uuid_cb, dp, NULL); - return; - -done: - dp->cb(dp->primaries, err, dp->user_data); - discover_primary_free(dp); -} - -static void primary_all_cb(guint8 status, const guint8 *ipdu, guint16 iplen, - gpointer user_data) -{ - struct discover_primary *dp = user_data; - struct att_data_list *list; - unsigned int i, err; - uint16_t start, end; - - if (status) { - err = status == ATT_ECODE_ATTR_NOT_FOUND ? 0 : status; - goto done; - } - - list = dec_read_by_grp_resp(ipdu, iplen); - if (list == NULL) { - err = ATT_ECODE_IO; - goto done; - } - - for (i = 0, end = 0; i < list->num; i++) { - const uint8_t *data = list->data[i]; - struct gatt_primary *primary; - bt_uuid_t uuid; - - start = att_get_u16(&data[0]); - end = att_get_u16(&data[2]); - - if (list->len == 6) { - bt_uuid_t uuid16 = att_get_uuid16(&data[4]); - bt_uuid_to_uuid128(&uuid16, &uuid); - } else if (list->len == 20) { - uuid = att_get_uuid128(&data[4]); - } else { - /* Skipping invalid data */ - continue; - } - - primary = g_try_new0(struct gatt_primary, 1); - if (!primary) { - att_data_list_free(list); - err = ATT_ECODE_INSUFF_RESOURCES; - goto done; - } - primary->range.start = start; - primary->range.end = end; - bt_uuid_to_string(&uuid, primary->uuid, sizeof(primary->uuid)); - dp->primaries = g_slist_append(dp->primaries, primary); - } - - att_data_list_free(list); - err = 0; - - if (end != 0xffff) { - size_t buflen; - uint8_t *buf = g_attrib_get_buffer(dp->attrib, &buflen); - guint16 oplen = encode_discover_primary(end + 1, 0xffff, NULL, - buf, buflen); - - g_attrib_send(dp->attrib, 0, buf, oplen, primary_all_cb, - dp, NULL); - - return; - } - -done: - dp->cb(dp->primaries, err, dp->user_data); - discover_primary_free(dp); -} - -guint gatt_discover_primary(GAttrib *attrib, bt_uuid_t *uuid, gatt_cb_t func, - gpointer user_data) -{ - struct discover_primary *dp; - size_t buflen; - uint8_t *buf = g_attrib_get_buffer(attrib, &buflen); - GAttribResultFunc cb; - guint16 plen; - - plen = encode_discover_primary(0x0001, 0xffff, uuid, buf, buflen); - if (plen == 0) - return 0; - - dp = g_try_new0(struct discover_primary, 1); - if (dp == NULL) - return 0; - - dp->attrib = g_attrib_ref(attrib); - dp->cb = func; - dp->user_data = user_data; - - if (uuid) { - dp->uuid = *uuid; - cb = primary_by_uuid_cb; - } else - cb = primary_all_cb; - - return g_attrib_send(attrib, 0, buf, plen, cb, dp, NULL); -} - -static void resolve_included_uuid_cb(uint8_t status, const uint8_t *pdu, - uint16_t len, gpointer user_data) -{ - struct included_uuid_query *query = user_data; - struct included_discovery *isd = query->isd; - struct gatt_included *incl = query->included; - unsigned int err = status; - bt_uuid_t uuid; - size_t buflen; - uint8_t *buf; - - if (err) - goto done; - - buf = g_attrib_get_buffer(isd->attrib, &buflen); - if (dec_read_resp(pdu, len, buf, buflen) != 16) { - err = ATT_ECODE_IO; - goto done; - } - - uuid = att_get_uuid128(buf); - bt_uuid_to_string(&uuid, incl->uuid, sizeof(incl->uuid)); - isd->includes = g_slist_append(isd->includes, incl); - -done: - if (err) - g_free(incl); - - if (isd->err == 0) - isd->err = err; - - isd_unref(isd); - - g_free(query); -} - -static guint resolve_included_uuid(struct included_discovery *isd, - struct gatt_included *incl) -{ - struct included_uuid_query *query; - size_t buflen; - uint8_t *buf = g_attrib_get_buffer(isd->attrib, &buflen); - guint16 oplen = enc_read_req(incl->range.start, buf, buflen); - - query = g_new0(struct included_uuid_query, 1); - query->isd = isd_ref(isd); - query->included = incl; - - return g_attrib_send(isd->attrib, 0, buf, oplen, - resolve_included_uuid_cb, query, NULL); -} - -static struct gatt_included *included_from_buf(const uint8_t *buf, gsize len) -{ - struct gatt_included *incl = g_new0(struct gatt_included, 1); - - incl->handle = att_get_u16(&buf[0]); - incl->range.start = att_get_u16(&buf[2]); - incl->range.end = att_get_u16(&buf[4]); - - if (len == 8) { - bt_uuid_t uuid128; - bt_uuid_t uuid16 = att_get_uuid16(&buf[6]); - - bt_uuid_to_uuid128(&uuid16, &uuid128); - bt_uuid_to_string(&uuid128, incl->uuid, sizeof(incl->uuid)); - } - - return incl; -} - -static void find_included_cb(uint8_t status, const uint8_t *pdu, uint16_t len, - gpointer user_data); - -static guint find_included(struct included_discovery *isd, uint16_t start) -{ - bt_uuid_t uuid; - size_t buflen; - uint8_t *buf = g_attrib_get_buffer(isd->attrib, &buflen); - guint16 oplen; - - bt_uuid16_create(&uuid, GATT_INCLUDE_UUID); - oplen = enc_read_by_type_req(start, isd->end_handle, &uuid, - buf, buflen); - - return g_attrib_send(isd->attrib, 0, buf, oplen, find_included_cb, - isd_ref(isd), NULL); -} - -static void find_included_cb(uint8_t status, const uint8_t *pdu, uint16_t len, - gpointer user_data) -{ - struct included_discovery *isd = user_data; - uint16_t last_handle = isd->end_handle; - unsigned int err = status; - struct att_data_list *list; - int i; - - if (err == ATT_ECODE_ATTR_NOT_FOUND) - err = 0; - - if (status) - goto done; - - list = dec_read_by_type_resp(pdu, len); - if (list == NULL) { - err = ATT_ECODE_IO; - goto done; - } - - if (list->len != 6 && list->len != 8) { - err = ATT_ECODE_IO; - att_data_list_free(list); - goto done; - } - - for (i = 0; i < list->num; i++) { - struct gatt_included *incl; - - incl = included_from_buf(list->data[i], list->len); - last_handle = incl->handle; - - /* 128 bit UUID, needs resolving */ - if (list->len == 6) { - resolve_included_uuid(isd, incl); - continue; - } - - isd->includes = g_slist_append(isd->includes, incl); - } - - att_data_list_free(list); - - if (last_handle < isd->end_handle) - find_included(isd, last_handle + 1); - -done: - if (isd->err == 0) - isd->err = err; - - isd_unref(isd); -} - -unsigned int gatt_find_included(GAttrib *attrib, uint16_t start, uint16_t end, - gatt_cb_t func, gpointer user_data) -{ - struct included_discovery *isd; - - isd = g_new0(struct included_discovery, 1); - isd->attrib = g_attrib_ref(attrib); - isd->end_handle = end; - isd->cb = func; - isd->user_data = user_data; - - return find_included(isd, start); -} - -static void char_discovered_cb(guint8 status, const guint8 *ipdu, guint16 iplen, - gpointer user_data) -{ - struct discover_char *dc = user_data; - struct att_data_list *list; - unsigned int i, err = ATT_ECODE_ATTR_NOT_FOUND; - size_t buflen; - uint8_t *buf; - guint16 oplen; - bt_uuid_t uuid; - uint16_t last = 0; - - if (status) { - err = status; - goto done; - } - - list = dec_read_by_type_resp(ipdu, iplen); - if (list == NULL) { - err = ATT_ECODE_IO; - goto done; - } - - for (i = 0; i < list->num; i++) { - uint8_t *value = list->data[i]; - struct gatt_char *chars; - bt_uuid_t uuid; - - last = att_get_u16(value); - - if (list->len == 7) { - bt_uuid_t uuid16 = att_get_uuid16(&value[5]); - bt_uuid_to_uuid128(&uuid16, &uuid); - } else - uuid = att_get_uuid128(&value[5]); - - if (dc->uuid && bt_uuid_cmp(dc->uuid, &uuid)) - continue; - - chars = g_try_new0(struct gatt_char, 1); - if (!chars) { - err = ATT_ECODE_INSUFF_RESOURCES; - goto done; - } - - chars->handle = last; - chars->properties = value[2]; - chars->value_handle = att_get_u16(&value[3]); - bt_uuid_to_string(&uuid, chars->uuid, sizeof(chars->uuid)); - dc->characteristics = g_slist_append(dc->characteristics, - chars); - } - - att_data_list_free(list); - - if (last != 0 && (last + 1 < dc->end)) { - buf = g_attrib_get_buffer(dc->attrib, &buflen); - - bt_uuid16_create(&uuid, GATT_CHARAC_UUID); - - oplen = enc_read_by_type_req(last + 1, dc->end, &uuid, buf, - buflen); - - if (oplen == 0) - return; - - g_attrib_send(dc->attrib, 0, buf, oplen, char_discovered_cb, - dc, NULL); - - return; - } - -done: - err = (dc->characteristics ? 0 : err); - - dc->cb(dc->characteristics, err, dc->user_data); - discover_char_free(dc); -} - -guint gatt_discover_char(GAttrib *attrib, uint16_t start, uint16_t end, - bt_uuid_t *uuid, gatt_cb_t func, - gpointer user_data) -{ - size_t buflen; - uint8_t *buf = g_attrib_get_buffer(attrib, &buflen); - struct discover_char *dc; - bt_uuid_t type_uuid; - guint16 plen; - - bt_uuid16_create(&type_uuid, GATT_CHARAC_UUID); - - plen = enc_read_by_type_req(start, end, &type_uuid, buf, buflen); - if (plen == 0) - return 0; - - dc = g_try_new0(struct discover_char, 1); - if (dc == NULL) - return 0; - - dc->attrib = g_attrib_ref(attrib); - dc->cb = func; - dc->user_data = user_data; - dc->end = end; - dc->uuid = g_memdup(uuid, sizeof(bt_uuid_t)); - - return g_attrib_send(attrib, 0, buf, plen, char_discovered_cb, - dc, NULL); -} - -guint gatt_read_char_by_uuid(GAttrib *attrib, uint16_t start, uint16_t end, - bt_uuid_t *uuid, GAttribResultFunc func, - gpointer user_data) -{ - size_t buflen; - uint8_t *buf = g_attrib_get_buffer(attrib, &buflen); - guint16 plen; - - plen = enc_read_by_type_req(start, end, uuid, buf, buflen); - if (plen == 0) - return 0; - - return g_attrib_send(attrib, 0, buf, plen, func, user_data, NULL); -} - -struct read_long_data { - GAttrib *attrib; - GAttribResultFunc func; - gpointer user_data; - guint8 *buffer; - guint16 size; - guint16 handle; - guint id; - gint ref; -}; - -static void read_long_destroy(gpointer user_data) -{ - struct read_long_data *long_read = user_data; - - if (__sync_sub_and_fetch(&long_read->ref, 1) > 0) - return; - - if (long_read->buffer != NULL) - g_free(long_read->buffer); - - g_free(long_read); -} - -static void read_blob_helper(guint8 status, const guint8 *rpdu, guint16 rlen, - gpointer user_data) -{ - struct read_long_data *long_read = user_data; - uint8_t *buf; - size_t buflen; - guint8 *tmp; - guint16 plen; - guint id; - - if (status != 0 || rlen == 1) { - status = 0; - goto done; - } - - tmp = g_try_realloc(long_read->buffer, long_read->size + rlen - 1); - - if (tmp == NULL) { - status = ATT_ECODE_INSUFF_RESOURCES; - goto done; - } - - memcpy(&tmp[long_read->size], &rpdu[1], rlen - 1); - long_read->buffer = tmp; - long_read->size += rlen - 1; - - buf = g_attrib_get_buffer(long_read->attrib, &buflen); - if (rlen < buflen) - goto done; - - plen = enc_read_blob_req(long_read->handle, long_read->size - 1, - buf, buflen); - id = g_attrib_send(long_read->attrib, long_read->id, buf, plen, - read_blob_helper, long_read, read_long_destroy); - - if (id != 0) { - __sync_fetch_and_add(&long_read->ref, 1); - return; - } - - status = ATT_ECODE_IO; - -done: - long_read->func(status, long_read->buffer, long_read->size, - long_read->user_data); -} - -static void read_char_helper(guint8 status, const guint8 *rpdu, - guint16 rlen, gpointer user_data) -{ - struct read_long_data *long_read = user_data; - size_t buflen; - uint8_t *buf = g_attrib_get_buffer(long_read->attrib, &buflen); - guint16 plen; - guint id; - - if (status != 0 || rlen < buflen) - goto done; - - long_read->buffer = g_malloc(rlen); - if (long_read->buffer == NULL) { - status = ATT_ECODE_INSUFF_RESOURCES; - goto done; - } - - memcpy(long_read->buffer, rpdu, rlen); - long_read->size = rlen; - - plen = enc_read_blob_req(long_read->handle, rlen - 1, buf, buflen); - - id = g_attrib_send(long_read->attrib, long_read->id, buf, plen, - read_blob_helper, long_read, read_long_destroy); - if (id != 0) { - __sync_fetch_and_add(&long_read->ref, 1); - return; - } - - status = ATT_ECODE_IO; - -done: - long_read->func(status, rpdu, rlen, long_read->user_data); -} - -guint gatt_read_char(GAttrib *attrib, uint16_t handle, GAttribResultFunc func, - gpointer user_data) -{ - uint8_t *buf; - size_t buflen; - guint16 plen; - guint id; - struct read_long_data *long_read; - - long_read = g_try_new0(struct read_long_data, 1); - - if (long_read == NULL) - return 0; - - long_read->attrib = attrib; - long_read->func = func; - long_read->user_data = user_data; - long_read->handle = handle; - - buf = g_attrib_get_buffer(attrib, &buflen); - plen = enc_read_req(handle, buf, buflen); - id = g_attrib_send(attrib, 0, buf, plen, read_char_helper, - long_read, read_long_destroy); - if (id == 0) - g_free(long_read); - else { - __sync_fetch_and_add(&long_read->ref, 1); - long_read->id = id; - } - - return id; -} - -struct write_long_data { - GAttrib *attrib; - GAttribResultFunc func; - gpointer user_data; - guint16 handle; - uint16_t offset; - uint8_t *value; - size_t vlen; -}; - -static guint execute_write(GAttrib *attrib, uint8_t flags, - GAttribResultFunc func, gpointer user_data) -{ - uint8_t *buf; - size_t buflen; - guint16 plen; - - buf = g_attrib_get_buffer(attrib, &buflen); - plen = enc_exec_write_req(flags, buf, buflen); - if (plen == 0) - return 0; - - return g_attrib_send(attrib, 0, buf, plen, func, user_data, NULL); -} - -static guint prepare_write(GAttrib *attrib, uint16_t handle, uint16_t offset, - uint8_t *value, size_t vlen, GAttribResultFunc func, - gpointer user_data); - -static void prepare_write_cb(guint8 status, const guint8 *rpdu, - guint16 rlen, gpointer user_data) -{ - struct write_long_data *long_write = user_data; - - if (status != 0) { - long_write->func(status, rpdu, rlen, long_write->user_data); - return; - } - - /* Skip Prepare Write Response PDU header (5 bytes) */ - long_write->offset += rlen - 5; - - if (long_write->offset == long_write->vlen){ - execute_write(long_write->attrib, ATT_WRITE_ALL_PREP_WRITES, - long_write->func, long_write->user_data); - g_free(long_write->value); - g_free(long_write); - - return; - } - - prepare_write(long_write->attrib, long_write->handle, - long_write->offset, long_write->value, long_write->vlen, - long_write->func, long_write); -} - -static guint prepare_write(GAttrib *attrib, uint16_t handle, uint16_t offset, - uint8_t *value, size_t vlen, GAttribResultFunc func, - gpointer user_data) -{ - guint16 plen; - size_t buflen; - uint8_t *buf; - - buf = g_attrib_get_buffer(attrib, &buflen); - - plen = enc_prep_write_req(handle, offset, &value[offset], vlen - offset, - buf, buflen); - if (plen == 0) - return 0; - - return g_attrib_send(attrib, 0, buf, plen, prepare_write_cb, - user_data, NULL); -} - -guint gatt_write_char(GAttrib *attrib, uint16_t handle, uint8_t *value, - size_t vlen, GAttribResultFunc func, gpointer user_data) -{ - uint8_t *buf; - size_t buflen; - guint16 plen; - struct write_long_data *long_write; - - buf = g_attrib_get_buffer(attrib, &buflen); - - /* Only use Write Request/Command if payload fits on a single transfer, - * including 3 bytes for the header. */ - if (vlen <= buflen - 3) { - if (func) - plen = enc_write_req(handle, value, vlen, buf, - buflen); - else - plen = enc_write_cmd(handle, value, vlen, buf, - buflen); - - return g_attrib_send(attrib, 0, buf, plen, func, - user_data, NULL); - } - - /* Write Long Characteristic Values */ - long_write = g_try_new0(struct write_long_data, 1); - if (long_write == NULL) - return 0; - - long_write->attrib = attrib; - long_write->func = func; - long_write->user_data = user_data; - long_write->handle = handle; - long_write->value = g_memdup(value, vlen); - long_write->vlen = vlen; - - return prepare_write(attrib, handle, long_write->offset, value, vlen, - func, long_write); -} - -guint gatt_exchange_mtu(GAttrib *attrib, uint16_t mtu, GAttribResultFunc func, - gpointer user_data) -{ - uint8_t *buf; - size_t buflen; - guint16 plen; - - buf = g_attrib_get_buffer(attrib, &buflen); - plen = enc_mtu_req(mtu, buf, buflen); - return g_attrib_send(attrib, 0, buf, plen, func, user_data, NULL); -} - -guint gatt_find_info(GAttrib *attrib, uint16_t start, uint16_t end, - GAttribResultFunc func, gpointer user_data) -{ - uint8_t *buf; - size_t buflen; - guint16 plen; - - buf = g_attrib_get_buffer(attrib, &buflen); - plen = enc_find_info_req(start, end, buf, buflen); - if (plen == 0) - return 0; - - return g_attrib_send(attrib, 0, buf, plen, func, user_data, NULL); -} - -guint gatt_write_cmd(GAttrib *attrib, uint16_t handle, uint8_t *value, int vlen, - GDestroyNotify notify, gpointer user_data) -{ - uint8_t *buf; - size_t buflen; - guint16 plen; - - buf = g_attrib_get_buffer(attrib, &buflen); - plen = enc_write_cmd(handle, value, vlen, buf, buflen); - return g_attrib_send(attrib, 0, buf, plen, NULL, user_data, notify); -} - -static sdp_data_t *proto_seq_find(sdp_list_t *proto_list) -{ - sdp_list_t *list; - uuid_t proto; - - sdp_uuid16_create(&proto, ATT_UUID); - - for (list = proto_list; list; list = list->next) { - sdp_list_t *p; - for (p = list->data; p; p = p->next) { - sdp_data_t *seq = p->data; - if (seq && seq->dtd == SDP_UUID16 && - sdp_uuid16_cmp(&proto, &seq->val.uuid) == 0) - return seq->next; - } - } - - return NULL; -} - -static gboolean parse_proto_params(sdp_list_t *proto_list, uint16_t *psm, - uint16_t *start, uint16_t *end) -{ - sdp_data_t *seq1, *seq2; - - if (psm) - *psm = sdp_get_proto_port(proto_list, L2CAP_UUID); - - /* Getting start and end handle */ - seq1 = proto_seq_find(proto_list); - if (!seq1 || seq1->dtd != SDP_UINT16) - return FALSE; - - seq2 = seq1->next; - if (!seq2 || seq2->dtd != SDP_UINT16) - return FALSE; - - if (start) - *start = seq1->val.uint16; - - if (end) - *end = seq2->val.uint16; - - return TRUE; -} - -gboolean gatt_parse_record(const sdp_record_t *rec, - uuid_t *prim_uuid, uint16_t *psm, - uint16_t *start, uint16_t *end) -{ - sdp_list_t *list; - uuid_t uuid; - gboolean ret; - - if (sdp_get_service_classes(rec, &list) < 0) - return FALSE; - - memcpy(&uuid, list->data, sizeof(uuid)); - sdp_list_free(list, free); - - if (sdp_get_access_protos(rec, &list) < 0) - return FALSE; - - ret = parse_proto_params(list, psm, start, end); - - sdp_list_foreach(list, (sdp_list_func_t) sdp_list_free, NULL); - sdp_list_free(list, NULL); - - /* FIXME: replace by bt_uuid_t after uuid_t/sdp code cleanup */ - if (ret && prim_uuid) - memcpy(prim_uuid, &uuid, sizeof(uuid_t)); - - return ret; -} diff --git a/GRIB_BLE_HUB/libs/ble_extend/attrib/gatt.h b/GRIB_BLE_HUB/libs/ble_extend/attrib/gatt.h deleted file mode 100644 index 305b4c6..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/attrib/gatt.h +++ /dev/null @@ -1,109 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2010 Nokia Corporation - * Copyright (C) 2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#include - -/* GATT Profile Attribute types */ -#define GATT_PRIM_SVC_UUID 0x2800 -#define GATT_SND_SVC_UUID 0x2801 -#define GATT_INCLUDE_UUID 0x2802 -#define GATT_CHARAC_UUID 0x2803 - -/* GATT Characteristic Types */ -#define GATT_CHARAC_DEVICE_NAME 0x2A00 -#define GATT_CHARAC_APPEARANCE 0x2A01 -#define GATT_CHARAC_PERIPHERAL_PRIV_FLAG 0x2A02 -#define GATT_CHARAC_RECONNECTION_ADDRESS 0x2A03 -#define GATT_CHARAC_PERIPHERAL_PREF_CONN 0x2A04 -#define GATT_CHARAC_SERVICE_CHANGED 0x2A05 - -/* GATT Characteristic Descriptors */ -#define GATT_CHARAC_EXT_PROPER_UUID 0x2900 -#define GATT_CHARAC_USER_DESC_UUID 0x2901 -#define GATT_CLIENT_CHARAC_CFG_UUID 0x2902 -#define GATT_SERVER_CHARAC_CFG_UUID 0x2903 -#define GATT_CHARAC_FMT_UUID 0x2904 -#define GATT_CHARAC_AGREG_FMT_UUID 0x2905 -#define GATT_CHARAC_VALID_RANGE_UUID 0x2906 -#define GATT_EXTERNAL_REPORT_REFERENCE 0x2907 -#define GATT_REPORT_REFERENCE 0x2908 - -/* Client Characteristic Configuration bit field */ -#define GATT_CLIENT_CHARAC_CFG_NOTIF_BIT 0x0001 -#define GATT_CLIENT_CHARAC_CFG_IND_BIT 0x0002 - -typedef void (*gatt_cb_t) (GSList *l, guint8 status, gpointer user_data); - -struct gatt_primary { - char uuid[MAX_LEN_UUID_STR + 1]; - gboolean changed; - struct att_range range; -}; - -struct gatt_included { - char uuid[MAX_LEN_UUID_STR + 1]; - uint16_t handle; - struct att_range range; -}; - -struct gatt_char { - char uuid[MAX_LEN_UUID_STR + 1]; - uint16_t handle; - uint8_t properties; - uint16_t value_handle; -}; - -guint gatt_discover_primary(GAttrib *attrib, bt_uuid_t *uuid, gatt_cb_t func, - gpointer user_data); - -unsigned int gatt_find_included(GAttrib *attrib, uint16_t start, uint16_t end, - gatt_cb_t func, gpointer user_data); - -guint gatt_discover_char(GAttrib *attrib, uint16_t start, uint16_t end, - bt_uuid_t *uuid, gatt_cb_t func, - gpointer user_data); - -guint gatt_read_char(GAttrib *attrib, uint16_t handle, GAttribResultFunc func, - gpointer user_data); - -guint gatt_write_char(GAttrib *attrib, uint16_t handle, uint8_t *value, - size_t vlen, GAttribResultFunc func, - gpointer user_data); - -guint gatt_find_info(GAttrib *attrib, uint16_t start, uint16_t end, - GAttribResultFunc func, gpointer user_data); - -guint gatt_write_cmd(GAttrib *attrib, uint16_t handle, uint8_t *value, int vlen, - GDestroyNotify notify, gpointer user_data); - -guint gatt_read_char_by_uuid(GAttrib *attrib, uint16_t start, uint16_t end, - bt_uuid_t *uuid, GAttribResultFunc func, - gpointer user_data); - -guint gatt_exchange_mtu(GAttrib *attrib, uint16_t mtu, GAttribResultFunc func, - gpointer user_data); - -gboolean gatt_parse_record(const sdp_record_t *rec, - uuid_t *prim_uuid, uint16_t *psm, - uint16_t *start, uint16_t *end); diff --git a/GRIB_BLE_HUB/libs/ble_extend/attrib/gattrib.c b/GRIB_BLE_HUB/libs/ble_extend/attrib/gattrib.c deleted file mode 100644 index 6358404..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/attrib/gattrib.c +++ /dev/null @@ -1,769 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2010 Nokia Corporation - * Copyright (C) 2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif - -#include -#include -#include - -#include - -#include -#include - -#include "lib/uuid.h" -#include "log.h" -#include "att.h" -#include "gattrib.h" - -#include "grib_ble_extend.h" - -#define GATT_TIMEOUT 30 - -struct _GAttrib { - GIOChannel *io; - gint refs; - uint8_t *buf; - size_t buflen; - guint read_watch; - guint write_watch; - guint timeout_watch; - GQueue *requests; - GQueue *responses; - GSList *events; - guint next_cmd_id; - GDestroyNotify destroy; - gpointer destroy_user_data; - gboolean stale; -}; - -struct command { - guint id; - guint8 opcode; - guint8 *pdu; - guint16 len; - guint8 expected; - gboolean sent; - GAttribResultFunc func; - gpointer user_data; - GDestroyNotify notify; -}; - -struct event { - guint id; - guint8 expected; - guint16 handle; - GAttribNotifyFunc func; - gpointer user_data; - GDestroyNotify notify; -}; - -static guint8 opcode2expected(guint8 opcode) -{ - switch (opcode) { - case ATT_OP_MTU_REQ: - return ATT_OP_MTU_RESP; - - case ATT_OP_FIND_INFO_REQ: - return ATT_OP_FIND_INFO_RESP; - - case ATT_OP_FIND_BY_TYPE_REQ: - return ATT_OP_FIND_BY_TYPE_RESP; - - case ATT_OP_READ_BY_TYPE_REQ: - return ATT_OP_READ_BY_TYPE_RESP; - - case ATT_OP_READ_REQ: - return ATT_OP_READ_RESP; - - case ATT_OP_READ_BLOB_REQ: - return ATT_OP_READ_BLOB_RESP; - - case ATT_OP_READ_MULTI_REQ: - return ATT_OP_READ_MULTI_RESP; - - case ATT_OP_READ_BY_GROUP_REQ: - return ATT_OP_READ_BY_GROUP_RESP; - - case ATT_OP_WRITE_REQ: - return ATT_OP_WRITE_RESP; - - case ATT_OP_PREP_WRITE_REQ: - return ATT_OP_PREP_WRITE_RESP; - - case ATT_OP_EXEC_WRITE_REQ: - return ATT_OP_EXEC_WRITE_RESP; - - case ATT_OP_HANDLE_IND: - return ATT_OP_HANDLE_CNF; - } - - return 0; -} - -static gboolean is_response(guint8 opcode) -{ - switch (opcode) { - case ATT_OP_ERROR: - case ATT_OP_MTU_RESP: - case ATT_OP_FIND_INFO_RESP: - case ATT_OP_FIND_BY_TYPE_RESP: - case ATT_OP_READ_BY_TYPE_RESP: - case ATT_OP_READ_RESP: - case ATT_OP_READ_BLOB_RESP: - case ATT_OP_READ_MULTI_RESP: - case ATT_OP_READ_BY_GROUP_RESP: - case ATT_OP_WRITE_RESP: - case ATT_OP_PREP_WRITE_RESP: - case ATT_OP_EXEC_WRITE_RESP: - case ATT_OP_HANDLE_CNF: - return TRUE; - } - - return FALSE; -} - -GAttrib *g_attrib_ref(GAttrib *attrib) -{ - int refs; - - if (!attrib) - return NULL; - - refs = __sync_add_and_fetch(&attrib->refs, 1); - - DBG("%p: ref=%d", attrib, refs); - - return attrib; -} - -static void command_destroy(struct command *cmd) -{ - if (cmd->notify) - cmd->notify(cmd->user_data); - - g_free(cmd->pdu); - g_free(cmd); -} - -static void event_destroy(struct event *evt) -{ - if (evt->notify) - evt->notify(evt->user_data); - - g_free(evt); -} - -static void attrib_destroy(GAttrib *attrib) -{ - GSList *l; - struct command *c; - - while ((c = g_queue_pop_head(attrib->requests))) - command_destroy(c); - - while ((c = g_queue_pop_head(attrib->responses))) - command_destroy(c); - - g_queue_free(attrib->requests); - attrib->requests = NULL; - - g_queue_free(attrib->responses); - attrib->responses = NULL; - - for (l = attrib->events; l; l = l->next) - event_destroy(l->data); - - g_slist_free(attrib->events); - attrib->events = NULL; - - if (attrib->timeout_watch > 0) - g_source_remove(attrib->timeout_watch); - - if (attrib->write_watch > 0) - g_source_remove(attrib->write_watch); - - if (attrib->read_watch > 0) - g_source_remove(attrib->read_watch); - - if (attrib->io) - g_io_channel_unref(attrib->io); - - g_free(attrib->buf); - - if (attrib->destroy) - attrib->destroy(attrib->destroy_user_data); - - g_free(attrib); -} - -void g_attrib_unref(GAttrib *attrib) -{ - int refs; - - if (!attrib) - return; - - refs = __sync_sub_and_fetch(&attrib->refs, 1); - - DBG("%p: ref=%d", attrib, refs); - - if (refs > 0) - return; - - attrib_destroy(attrib); -} - -GIOChannel *g_attrib_get_channel(GAttrib *attrib) -{ - if (!attrib) - return NULL; - - return attrib->io; -} - -gboolean g_attrib_set_destroy_function(GAttrib *attrib, - GDestroyNotify destroy, gpointer user_data) -{ - if (attrib == NULL) - return FALSE; - - attrib->destroy = destroy; - attrib->destroy_user_data = user_data; - - return TRUE; -} - -static gboolean disconnect_timeout(gpointer data) -{ - struct _GAttrib *attrib = data; - struct command *c; - - g_attrib_ref(attrib); - - c = g_queue_pop_head(attrib->requests); - if (c == NULL) - goto done; - - if (c->func) - c->func(ATT_ECODE_TIMEOUT, NULL, 0, c->user_data); - - command_destroy(c); - - while ((c = g_queue_pop_head(attrib->requests))) { - if (c->func) - c->func(ATT_ECODE_ABORTED, NULL, 0, c->user_data); - command_destroy(c); - } - -done: - attrib->stale = TRUE; - - g_attrib_unref(attrib); - - return FALSE; -} - -static gboolean can_write_data(GIOChannel *io, GIOCondition cond, - gpointer data) -{ - struct _GAttrib *attrib = data; - struct command *cmd; - GError *gerr = NULL; - gsize len; - GIOStatus iostat; - GQueue *queue; - - if (attrib->stale) - return FALSE; - - if (cond & (G_IO_HUP | G_IO_ERR | G_IO_NVAL)) - return FALSE; - - queue = attrib->responses; - cmd = g_queue_peek_head(queue); - if (cmd == NULL) { - queue = attrib->requests; - cmd = g_queue_peek_head(queue); - } - if (cmd == NULL) - return FALSE; - - /* - * Verify that we didn't already send this command. This can only - * happen with elementes from attrib->requests. - */ - if (cmd->sent) - return FALSE; - - iostat = g_io_channel_write_chars(io, (gchar *) cmd->pdu, cmd->len, - &len, &gerr); - if (iostat != G_IO_STATUS_NORMAL) { - if (gerr) { - g_printerr("# BLE-EX: [FILE: %s] [FUNC: %s]\n", __FILE_NAME__, __FUNC_NAME__); - error("can_write_data: %s", gerr->message); - printf("# can_write_data: %s", gerr->message); - g_error_free(gerr); - } - - return FALSE; - } - - if (cmd->expected == 0) { - g_queue_pop_head(queue); - command_destroy(cmd); - - return TRUE; - } - - cmd->sent = TRUE; - - if (attrib->timeout_watch == 0) - attrib->timeout_watch = g_timeout_add_seconds(GATT_TIMEOUT, - disconnect_timeout, attrib); - - return FALSE; -} - -static void destroy_sender(gpointer data) -{ - struct _GAttrib *attrib = data; - - attrib->write_watch = 0; - g_attrib_unref(attrib); -} - -static void wake_up_sender(struct _GAttrib *attrib) -{ - if (attrib->write_watch > 0) - return; - - attrib = g_attrib_ref(attrib); - attrib->write_watch = g_io_add_watch_full(attrib->io, - G_PRIORITY_DEFAULT, G_IO_OUT, - can_write_data, attrib, destroy_sender); -} - -static gboolean match_event(struct event *evt, const uint8_t *pdu, gsize len) -{ - guint16 handle; - - if (evt->expected == GATTRIB_ALL_EVENTS) - return TRUE; - - if (is_response(pdu[0]) == FALSE && evt->expected == GATTRIB_ALL_REQS) - return TRUE; - - if (evt->expected == pdu[0] && evt->handle == GATTRIB_ALL_HANDLES) - return TRUE; - - if (len < 3) - return FALSE; - - handle = att_get_u16(&pdu[1]); - - if (evt->expected == pdu[0] && evt->handle == handle) - return TRUE; - - return FALSE; -} - -static gboolean received_data(GIOChannel *io, GIOCondition cond, gpointer data) -{ - struct _GAttrib *attrib = data; - struct command *cmd = NULL; - GSList *l; - uint8_t buf[512], status; - gsize len; - GIOStatus iostat; - - //g_printerr("# BLE-EX: [FUNC: %s]\n", __FUNC_NAME__); - - if (attrib->stale) - return FALSE; - - if (cond & (G_IO_HUP | G_IO_ERR | G_IO_NVAL)) { - attrib->read_watch = 0; - return FALSE; - } - - memset(buf, 0, sizeof(buf)); - - iostat = g_io_channel_read_chars(io, (gchar *) buf, sizeof(buf), - &len, NULL); - if (iostat != G_IO_STATUS_NORMAL) { - status = ATT_ECODE_IO; - goto done; - } - - for (l = attrib->events; l; l = l->next) { - struct event *evt = l->data; - - if (match_event(evt, buf, len)) - evt->func(buf, len, evt->user_data); - } - - if (is_response(buf[0]) == FALSE) - return TRUE; - - if (attrib->timeout_watch > 0) { - g_source_remove(attrib->timeout_watch); - attrib->timeout_watch = 0; - } - - cmd = g_queue_pop_head(attrib->requests); - if (cmd == NULL) { - /* Keep the watch if we have events to report */ - return attrib->events != NULL; - } - - if (buf[0] == ATT_OP_ERROR) { - status = buf[4]; - goto done; - } - - if (cmd->expected != buf[0]) { - status = ATT_ECODE_IO; - goto done; - } - - status = 0; - -done: - if (!g_queue_is_empty(attrib->requests) || - !g_queue_is_empty(attrib->responses)) - wake_up_sender(attrib); - - if (cmd) { - if (cmd->func) - cmd->func(status, buf, len, cmd->user_data); - - command_destroy(cmd); - } - - return TRUE; -} - -GAttrib *g_attrib_new(GIOChannel *io) -{ - struct _GAttrib *attrib; - uint16_t imtu; - uint16_t att_mtu; - uint16_t cid; - GError *gerr = NULL; - - g_io_channel_set_encoding(io, NULL, NULL); - g_io_channel_set_buffered(io, FALSE); - - bt_io_get(io, &gerr, BT_IO_OPT_IMTU, &imtu, - BT_IO_OPT_CID, &cid, BT_IO_OPT_INVALID); - if (gerr) { - g_printerr("# BLE-EX: [FILE: %s] [FUNC: %s]\n", __FILE_NAME__, __FUNC_NAME__); - error("g_attrib_new: %s", gerr->message); - printf("# g_attrib_new: %s", gerr->message); - g_error_free(gerr); - return NULL; - } - - attrib = g_try_new0(struct _GAttrib, 1); - if (attrib == NULL) - return NULL; - - att_mtu = (cid == ATT_CID) ? ATT_DEFAULT_LE_MTU : imtu; - - attrib->buf = g_malloc0(att_mtu); - attrib->buflen = att_mtu; - - attrib->io = g_io_channel_ref(io); - attrib->requests = g_queue_new(); - attrib->responses = g_queue_new(); - - attrib->read_watch = g_io_add_watch(attrib->io, - G_IO_IN | G_IO_HUP | G_IO_ERR | G_IO_NVAL, - received_data, attrib); - - return g_attrib_ref(attrib); -} - -guint g_attrib_send(GAttrib *attrib, guint id, const guint8 *pdu, guint16 len, - GAttribResultFunc func, gpointer user_data, - GDestroyNotify notify) -{ - struct command *c; - GQueue *queue; - uint8_t opcode; - - if (attrib->stale) - return 0; - - c = g_try_new0(struct command, 1); - if (c == NULL) - return 0; - - opcode = pdu[0]; - - c->opcode = opcode; - c->expected = opcode2expected(opcode); - c->pdu = g_malloc(len); - memcpy(c->pdu, pdu, len); - c->len = len; - c->func = func; - c->user_data = user_data; - c->notify = notify; - - if (is_response(opcode)) - queue = attrib->responses; - else - queue = attrib->requests; - - if (id) { - c->id = id; - if (!is_response(opcode)) - g_queue_push_head(queue, c); - else - /* Don't re-order responses even if an ID is given */ - g_queue_push_tail(queue, c); - } else { - c->id = ++attrib->next_cmd_id; - g_queue_push_tail(queue, c); - } - - /* - * If a command was added to the queue and it was empty before, wake up - * the sender. If the sender was already woken up by the second queue, - * wake_up_sender will just return. - */ - if (g_queue_get_length(queue) == 1) - wake_up_sender(attrib); - - return c->id; -} - -static gint command_cmp_by_id(gconstpointer a, gconstpointer b) -{ - const struct command *cmd = a; - guint id = GPOINTER_TO_UINT(b); - - return cmd->id - id; -} - -gboolean g_attrib_cancel(GAttrib *attrib, guint id) -{ - GList *l = NULL; - struct command *cmd; - GQueue *queue; - - if (attrib == NULL) - return FALSE; - - queue = attrib->requests; - if (queue) - l = g_queue_find_custom(queue, GUINT_TO_POINTER(id), - command_cmp_by_id); - if (l == NULL) { - queue = attrib->responses; - if (!queue) - return FALSE; - l = g_queue_find_custom(queue, GUINT_TO_POINTER(id), - command_cmp_by_id); - } - - if (l == NULL) - return FALSE; - - cmd = l->data; - - if (cmd == g_queue_peek_head(queue) && cmd->sent) - cmd->func = NULL; - else { - g_queue_remove(queue, cmd); - command_destroy(cmd); - } - - return TRUE; -} - -static gboolean cancel_all_per_queue(GQueue *queue) -{ - struct command *c, *head = NULL; - gboolean first = TRUE; - - if (queue == NULL) - return FALSE; - - while ((c = g_queue_pop_head(queue))) { - if (first && c->sent) { - /* If the command was sent ignore its callback ... */ - c->func = NULL; - head = c; - continue; - } - - first = FALSE; - command_destroy(c); - } - - if (head) { - /* ... and put it back in the queue */ - g_queue_push_head(queue, head); - } - - return TRUE; -} - -gboolean g_attrib_cancel_all(GAttrib *attrib) -{ - gboolean ret; - - if (attrib == NULL) - return FALSE; - - ret = cancel_all_per_queue(attrib->requests); - ret = cancel_all_per_queue(attrib->responses) && ret; - - return ret; -} - -gboolean g_attrib_set_debug(GAttrib *attrib, - GAttribDebugFunc func, gpointer user_data) -{ - return TRUE; -} - -uint8_t *g_attrib_get_buffer(GAttrib *attrib, size_t *len) -{ - if (len == NULL) - return NULL; - - *len = attrib->buflen; - - return attrib->buf; -} - -gboolean g_attrib_set_mtu(GAttrib *attrib, int mtu) -{ - if (mtu < ATT_DEFAULT_LE_MTU) - return FALSE; - - attrib->buf = g_realloc(attrib->buf, mtu); - - attrib->buflen = mtu; - - return TRUE; -} - -guint g_attrib_register(GAttrib *attrib, guint8 opcode, guint16 handle, - GAttribNotifyFunc func, gpointer user_data, - GDestroyNotify notify) -{ - static guint next_evt_id = 0; - struct event *event; - - event = g_try_new0(struct event, 1); - if (event == NULL) - return 0; - - event->expected = opcode; - event->handle = handle; - event->func = func; - event->user_data = user_data; - event->notify = notify; - event->id = ++next_evt_id; - - attrib->events = g_slist_append(attrib->events, event); - - return event->id; -} - -static gint event_cmp_by_id(gconstpointer a, gconstpointer b) -{ - const struct event *evt = a; - guint id = GPOINTER_TO_UINT(b); - - return evt->id - id; -} - -gboolean g_attrib_is_encrypted(GAttrib *attrib) -{ - BtIOSecLevel sec_level; - - if (!bt_io_get(attrib->io, NULL, - BT_IO_OPT_SEC_LEVEL, &sec_level, - BT_IO_OPT_INVALID)) - return FALSE; - - return sec_level > BT_IO_SEC_LOW; -} - -gboolean g_attrib_unregister(GAttrib *attrib, guint id) -{ - struct event *evt; - GSList *l; - - if (id == 0) { - warn("%s: invalid id", __FUNCTION__); - return FALSE; - } - - l = g_slist_find_custom(attrib->events, GUINT_TO_POINTER(id), - event_cmp_by_id); - if (l == NULL) - return FALSE; - - evt = l->data; - - attrib->events = g_slist_remove(attrib->events, evt); - - if (evt->notify) - evt->notify(evt->user_data); - - g_free(evt); - - return TRUE; -} - -gboolean g_attrib_unregister_all(GAttrib *attrib) -{ - GSList *l; - - if (attrib->events == NULL) - return FALSE; - - for (l = attrib->events; l; l = l->next) { - struct event *evt = l->data; - - if (evt->notify) - evt->notify(evt->user_data); - - g_free(evt); - } - - g_slist_free(attrib->events); - attrib->events = NULL; - - return TRUE; -} diff --git a/GRIB_BLE_HUB/libs/ble_extend/attrib/gattrib.h b/GRIB_BLE_HUB/libs/ble_extend/attrib/gattrib.h deleted file mode 100644 index 3fe92c7..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/attrib/gattrib.h +++ /dev/null @@ -1,79 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2010 Nokia Corporation - * Copyright (C) 2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ -#ifndef __GATTRIB_H -#define __GATTRIB_H - -#ifdef __cplusplus -extern "C" { -#endif - -#define GATTRIB_ALL_EVENTS 0xFF -#define GATTRIB_ALL_REQS 0xFE -#define GATTRIB_ALL_HANDLES 0x0000 - -struct _GAttrib; -typedef struct _GAttrib GAttrib; - -typedef void (*GAttribResultFunc) (guint8 status, const guint8 *pdu, - guint16 len, gpointer user_data); -typedef void (*GAttribDisconnectFunc)(gpointer user_data); -typedef void (*GAttribDebugFunc)(const char *str, gpointer user_data); -typedef void (*GAttribNotifyFunc)(const guint8 *pdu, guint16 len, - gpointer user_data); - -GAttrib *g_attrib_new(GIOChannel *io); -GAttrib *g_attrib_ref(GAttrib *attrib); -void g_attrib_unref(GAttrib *attrib); - -GIOChannel *g_attrib_get_channel(GAttrib *attrib); - -gboolean g_attrib_set_destroy_function(GAttrib *attrib, - GDestroyNotify destroy, gpointer user_data); - -guint g_attrib_send(GAttrib *attrib, guint id, const guint8 *pdu, guint16 len, - GAttribResultFunc func, gpointer user_data, - GDestroyNotify notify); - -gboolean g_attrib_cancel(GAttrib *attrib, guint id); -gboolean g_attrib_cancel_all(GAttrib *attrib); - -gboolean g_attrib_set_debug(GAttrib *attrib, - GAttribDebugFunc func, gpointer user_data); - -guint g_attrib_register(GAttrib *attrib, guint8 opcode, guint16 handle, - GAttribNotifyFunc func, gpointer user_data, - GDestroyNotify notify); - -gboolean g_attrib_is_encrypted(GAttrib *attrib); - -uint8_t *g_attrib_get_buffer(GAttrib *attrib, size_t *len); -gboolean g_attrib_set_mtu(GAttrib *attrib, int mtu); - -gboolean g_attrib_unregister(GAttrib *attrib, guint id); -gboolean g_attrib_unregister_all(GAttrib *attrib); - -#ifdef __cplusplus -} -#endif -#endif diff --git a/GRIB_BLE_HUB/libs/ble_extend/attrib/gatttool b/GRIB_BLE_HUB/libs/ble_extend/attrib/gatttool index 1f9b5df..189e9dd 100644 Binary files a/GRIB_BLE_HUB/libs/ble_extend/attrib/gatttool and b/GRIB_BLE_HUB/libs/ble_extend/attrib/gatttool differ diff --git a/GRIB_BLE_HUB/libs/ble_extend/attrib/gatttool.c b/GRIB_BLE_HUB/libs/ble_extend/attrib/gatttool.c deleted file mode 100644 index 9de42c3..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/attrib/gatttool.c +++ /dev/null @@ -1,639 +0,0 @@ -/* ********** ********** ********** ********** ********** ********** ********** ********** ********** ********** -shbaek: Include File -********** ********** ********** ********** ********** ********** ********** ********** ********** ********** */ -#ifdef HAVE_CONFIG_H - -#include - -#endif - -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include - -#include -#include -#include -#include - -#include "lib/uuid.h" -#include "att.h" -#include "gattrib.h" -#include "gatt.h" -#include "gatttool.h" - - -#include "grib_ble_extend.h" - - -/* ********** ********** ********** ********** ********** ********** ********** ********** ********** ********** -shbaek: Global Variable -********** ********** ********** ********** ********** ********** ********** ********** ********** ********** */ -gchar *opt_src = NULL; -gchar *opt_dst = NULL; -gchar *opt_dst_type = NULL; -gchar *opt_value = NULL; -gchar *opt_sec_level = NULL; -bt_uuid_t *opt_uuid = NULL; -int opt_start = 0x0001; -int opt_end = 0xffff; -int opt_handle = -1; -int opt_mtu = 0; -int opt_psm = 0; -gboolean opt_primary = FALSE; -gboolean opt_characteristics = FALSE; -gboolean opt_char_read = FALSE; -gboolean opt_listen = FALSE; -gboolean opt_char_desc = FALSE; -gboolean opt_char_write = FALSE; -gboolean opt_char_write_req = FALSE; -gboolean opt_interactive = FALSE; -GMainLoop *event_loop; -gboolean got_error = FALSE; -GSourceFunc operation; - - -GOptionEntry primary_char_options[] = { - { "start", 's' , 0, G_OPTION_ARG_INT, &opt_start, - "Starting handle(optional)", "0x0001" }, - { "end", 'e' , 0, G_OPTION_ARG_INT, &opt_end, - "Ending handle(optional)", "0xffff" }, - { NULL }, -}; - -GOptionEntry char_rw_options[] = { - { "handle", 'a' , 0, G_OPTION_ARG_INT, &opt_handle, - "Read/Write characteristic by handle(required)", "0x0001" }, - { "value", 'n' , 0, G_OPTION_ARG_STRING, &opt_value, - "Write characteristic value (required for write operation)", - "0x0001" }, - {NULL}, -}; - -GOptionEntry gatt_options[] = { - { "primary", 0, 0, G_OPTION_ARG_NONE, &opt_primary, - "Primary Service Discovery", NULL }, - { "characteristics", 0, 0, G_OPTION_ARG_NONE, &opt_characteristics, - "Characteristics Discovery", NULL }, - { "char-read", 0, 0, G_OPTION_ARG_NONE, &opt_char_read, - "Characteristics Value/Descriptor Read", NULL }, - { "char-write", 0, 0, G_OPTION_ARG_NONE, &opt_char_write, - "Characteristics Value Write Without Response (Write Command)", - NULL }, - { "char-write-req", 0, 0, G_OPTION_ARG_NONE, &opt_char_write_req, - "Characteristics Value Write (Write Request)", NULL }, - { "char-desc", 0, 0, G_OPTION_ARG_NONE, &opt_char_desc, - "Characteristics Descriptor Discovery", NULL }, - { "listen", 0, 0, G_OPTION_ARG_NONE, &opt_listen, - "Listen for notifications and indications", NULL }, - { "interactive", 'I', G_OPTION_FLAG_IN_MAIN, G_OPTION_ARG_NONE, - &opt_interactive, "Use interactive mode", NULL }, - { NULL }, -}; - -GOptionEntry options[] = { - { "adapter", 'i', 0, G_OPTION_ARG_STRING, &opt_src, - "Specify local adapter interface", "hciX" }, - { "device", 'b', 0, G_OPTION_ARG_STRING, &opt_dst, - "Specify remote Bluetooth address", "MAC" }, - { "addr-type", 't', 0, G_OPTION_ARG_STRING, &opt_dst_type, - "Set LE address type. Default: public", "[public | random]"}, - { "mtu", 'm', 0, G_OPTION_ARG_INT, &opt_mtu, - "Specify the MTU size", "MTU" }, - { "psm", 'p', 0, G_OPTION_ARG_INT, &opt_psm, - "Specify the PSM for GATT/ATT over BR/EDR", "PSM" }, - { "sec-level", 'l', 0, G_OPTION_ARG_STRING, &opt_sec_level, - "Set security level. Default: low", "[low | medium | high]"}, - { NULL }, -}; - -//char addr[BLE_EX_SIZE_ADDR]; -//char pipe_path[BLE_EX_SIZE_PIPE_PATH]; -//char req_buf[BLE_EX_SIZE_SEND_MSG]; -//char res_msg[BLE_EX_SIZE_RECV_MSG]; -char hex_buf[BLE_EX_SIZE_SEND_MSG*2]; -int res_pt; - -int gDBG = FALSE; -GError* gLibError; -Grib_BleErrorCode gErrorCode = BLE_ERROR_CODE_INTERNAL; - -BleCommArg gBlecommArg; - -static GAttrib* gAttrib; -static GIOChannel* gIOChannel; - -static Grib_BleStatus gBleStatus; - -/* ********** ********** ********** ********** ********** ********** ********** ********** ********** ********** -shbaek: Function Prototype -********** ********** ********** ********** ********** ********** ********** ********** ********** ********** */ - -/* ********** ********** ********** ********** ********** ********** ********** ********** ********** ********** -shbaek: Function -********** ********** ********** ********** ********** ********** ********** ********** ********** ********** */ - -#if __NOT_USED__ -timer_t gTimer; -struct itimerspec value; -struct sigevent av_sig_spec; - -int Grib_SimpleTimerCb(GribTimerParam* pParam) -{ - -} - -void Grib_StartTimer(timer_t* timerID, GribFunc pFunc, long nSecInterval) -{ - - av_sig_spec.sigev_notify = SIGEV_SIGNAL; - av_sig_spec.sigev_signo = SIGRTMIN; - - value.it_value.tv_sec = 0; - value.it_value.tv_nsec = nSecInterval; - - value.it_interval.tv_sec = 0; - value.it_interval.tv_nsec = nSecInterval; - - timer_create(CLOCK_REALTIME, &av_sig_spec, timerID); - timer_settime(*timerID, 0, &value, NULL); - signal(SIGRTMIN, pFunc); - - return; -} -#endif - -int Grib_BleCmdEnd(int iErrorCode) -{ - if(gDBG)g_printerr("# BLE-EX: [PIPE: %s] [FUNC: %s] [eCODE: %d]\n", gBlecommArg.pPipePath, __FUNC_NAME__, iErrorCode); - - if(gBlecommArg.pipeWrite == TRUE) - { - g_printerr("# BLE-EX: [PIPE: %s] [FUNC: %s] ALREADY DONE\n", gBlecommArg.pPipePath, __FUNC_NAME__); - return 0; - } - - if(gAttrib != NULL) - { - if(gDBG)g_printerr("# BLE-EX: [PIPE: %s] [FUNC: %s] ATTRIB FREE \n", gBlecommArg.pPipePath, __FUNC_NAME__); - g_attrib_unref(gAttrib); - opt_mtu = 0; - gAttrib = NULL; - } - - return Grib_BleCommLoopQuit(event_loop, gLibError, iErrorCode); -} - -static gpointer Grib_ChannelWatcher(GIOChannel *chan, GIOCondition cond, gpointer user_data) -{ - if(gDBG)g_printerr("# BLE-EX: [PIPE: %s] [FUNC: %s] [STATUS: %d] \n", gBlecommArg.pPipePath, __FUNC_NAME__, gBleStatus); - - if(gIOChannel != NULL) - { - g_io_channel_shutdown(gIOChannel, FALSE, NULL); - g_io_channel_unref(gIOChannel); - gIOChannel = NULL; - } - Grib_BleCmdEnd(BLE_ERROR_CODE_INTERNAL); - - return user_data; -} - -void Grib_NotifyCb(const guint8 *pdu, guint16 len, gpointer user_data) -{ - uint8_t opCode = 0; - - opCode = pdu[0]; - g_print("# BLE-EX: [PIPE: %s] [FUNC: %s] [CODE: 0x%X]\n", gBlecommArg.pPipePath, __FUNC_NAME__, opCode); - - if( (gBleStatus==BLE_STATUS_DONE) || (gBleStatus==BLE_STATUS_DISCONNECT) ) - { - g_printerr("# BLE-EX: [PIPE: %s] [FUNC: %s] BLE_STATUS_DONE \n", gBlecommArg.pPipePath, __FUNC_NAME__); - - Grib_BleCmdEnd(BLE_ERROR_CODE_INTERNAL); - } - else - { - if(gDBG)g_printerr("# BLE-EX: [PIPE: %s] [FUNC: %s] [STATUS: %d] \n", gBlecommArg.pPipePath, __FUNC_NAME__, gBleStatus); - } - - return ; -} - -void Grib_ResultCb(guint8 status, const guint8 *pdu, guint16 len, gpointer user_data) -{ - if( (gBleStatus==BLE_STATUS_DONE) || (gBleStatus==BLE_STATUS_DISCONNECT) ) - { - g_printerr("# BLE-EX: [PIPE: %s] [FUNC: %s] BLE_STATUS_DONE \n", gBlecommArg.pPipePath, __FUNC_NAME__); - - gBleStatus = BLE_STATUS_DISCONNECT; - - Grib_BleCmdEnd(BLE_ERROR_CODE_INTERNAL); - } - else - { - if(gDBG)g_printerr("# BLE-EX: [PIPE: %s] [FUNC: %s] [STATUS: %d] \n", gBlecommArg.pPipePath, __FUNC_NAME__, gBleStatus); - } - - return ; -} - -void Grib_DestoryCb(gpointer user_data) -{ - if( (gBleStatus==BLE_STATUS_DONE) || (gBleStatus==BLE_STATUS_DISCONNECT) ) - { - g_printerr("# BLE-EX: [PIPE: %s] [FUNC: %s] BLE_STATUS_DONE \n", gBlecommArg.pPipePath, __FUNC_NAME__); - - gBleStatus = BLE_STATUS_DISCONNECT; - - Grib_BleCmdEnd(BLE_ERROR_CODE_INTERNAL); - } - else - { - if(gDBG)g_printerr("# BLE-EX: [PIPE: %s] [FUNC: %s] [STATUS: %d] \n", gBlecommArg.pPipePath, __FUNC_NAME__, gBleStatus); - } - - return ; -} - -void events_handler(const uint8_t *pdu, uint16_t len, gpointer user_data) -{ - GAttrib *attrib = user_data; - uint8_t *opdu; - uint8_t opCode = ATT_OP_ERROR; - uint16_t handle, i, olen = 0; - size_t plen; - - opCode = pdu[0]; - handle = att_get_u16(&pdu[1]); - - strncat(gBlecommArg.pRecvBuff+res_pt, (const char*)(pdu+BLE_HEADER_SIZE), len-BLE_HEADER_SIZE); - res_pt = res_pt + len - BLE_HEADER_SIZE; - - gBleStatus = BLE_STATUS_OPERATE; - - if(gDBG)g_print("# BLE-EX: [PIPE: %s] [FUNC: %s] [oCODE: 0x%X]\n", gBlecommArg.pPipePath, __FUNC_NAME__, opCode); - - if( (pdu[len-1]==BLE_MSG_END_SYMBOL) || (len 0) - g_attrib_send(attrib, 0, opdu, olen, Grib_ResultCb, &gBlecommArg, NULL); - - - return; -} - -gboolean listen_start(gpointer user_data) -{ - int i = 0; - int iRes = 0; - GAttrib *attrib = (GAttrib *)user_data; - gBleStatus = BLE_STATUS_LISTEN; - - if(gDBG)g_printerr("# BLE-EX: [PIPE: %s] [FUNC: %s]\n", gBlecommArg.pPipePath, __FUNC_NAME__); - - iRes = g_attrib_register(attrib, ATT_OP_HANDLE_NOTIFY, GATTRIB_ALL_HANDLES, events_handler, attrib, NULL); - if(iRes == NULL) - { - g_printerr("# BLE-EX: [PIPE: %s] [FUNC: %s] ATT_OP_HANDLE_NOTIFY REGI ERROR !!!\n", gBlecommArg.pPipePath, __FUNC_NAME__); - Grib_BleCmdEnd(BLE_ERROR_CODE_INTERNAL); - } - - iRes = g_attrib_register(attrib, ATT_OP_ERROR, GATTRIB_ALL_HANDLES, events_handler, attrib, NULL); - if(iRes == NULL) - { - g_printerr("# BLE-EX: [PIPE: %s] [FUNC: %s] ATT_OP_ERROR REGI ERROR !!!\n", gBlecommArg.pPipePath, __FUNC_NAME__); - Grib_BleCmdEnd(BLE_ERROR_CODE_INTERNAL); - } - - - return FALSE; -} - -void connect_cb(GIOChannel *io, GError *err, gpointer user_data) -{ - if(gDBG)g_printerr("# BLE-EX: [PIPE: %s] [FUNC: %s]\n", gBlecommArg.pPipePath, __FUNC_NAME__); - - if (err) { - g_printerr("# BLE-EX: [PIPE: %s] [FUNC: %s] [MSG: %s]\n", gBlecommArg.pPipePath, __FUNC_NAME__, err->message); - gLibError = err; - got_error = TRUE; - - gBleStatus = BLE_STATUS_DISCONNECT; - Grib_BleCmdEnd(BLE_ERROR_CODE_CONNECT_FAIL); - return; - } - - gBleStatus = BLE_STATUS_CONNECT; - gIOChannel = io; - gAttrib = g_attrib_new(gIOChannel); - - if (opt_listen) - g_idle_add(listen_start, gAttrib); - - operation(gAttrib); -} - -void char_write_req_cb(guint8 status, const guint8 *pdu, guint16 plen, - gpointer user_data) -{ - if(gDBG)g_printerr("# BLE-EX: [PIPE: %s] [FUNC: %s]\n", gBlecommArg.pPipePath, __FUNC_NAME__); - - if (status != 0) { - g_printerr("Characteristic Write Request failed: " - "%s\n", att_ecode2str(status)); - goto done; - } - - if (!dec_write_resp(pdu, plen) && !dec_exec_write_resp(pdu, plen)) { - g_printerr("Protocol error\n"); - goto done; - } - -done: - if (opt_listen == FALSE) - { - Grib_BleCmdEnd(BLE_ERROR_CODE_SEND_FAIL); - } -} - -gboolean characteristics_write_req(gpointer user_data) -{ - GAttrib *attrib = (GAttrib *)user_data; - uint8_t *value; - size_t len; - - if(gDBG)g_printerr("# BLE-EX: [PIPE: %s] [FUNC: %s]\n", gBlecommArg.pPipePath, __FUNC_NAME__); - - if (opt_handle <= 0) - { - g_printerr("A valid handle is required\n"); - goto error; - } - - if (opt_value == NULL || opt_value[0] == '\0') - { - g_printerr("A value is required\n"); - goto error; - } - - len = gatt_attr_data_from_string(opt_value, &value); - if (len == 0) - { - g_printerr("Invalid value\n"); - goto error; - } - - gatt_write_char(attrib, opt_handle, value, len, char_write_req_cb, NULL); - - return FALSE; - -error: - Grib_BleCmdEnd(BLE_ERROR_CODE_INTERNAL); - return FALSE; -} - -int main_command(int argc, char *argv[]) -{ - GOptionContext *context; - GOptionGroup *gatt_group, *params_group, *char_rw_group; - GError *gerr = NULL; - GIOChannel *chan; - - int iEarlyError = FALSE; - - opt_dst_type = g_strdup("public"); - opt_sec_level = g_strdup("low"); - - context = g_option_context_new(NULL); - g_option_context_add_main_entries(context, options, NULL); - - // GATT commands - gatt_group = g_option_group_new("gatt", "GATT commands", - "Show all GATT commands", NULL, NULL); - g_option_context_add_group(context, gatt_group); - g_option_group_add_entries(gatt_group, gatt_options); - - // Primary Services and Characteristics arguments - params_group = g_option_group_new("params", - "Primary Services/Characteristics arguments", - "Show all Primary Services/Characteristics arguments", - NULL, NULL); - g_option_context_add_group(context, params_group); - g_option_group_add_entries(params_group, primary_char_options); - - // Characteristics value/descriptor read/write arguments - char_rw_group = g_option_group_new("char-read-write", - "Characteristics Value/Descriptor Read/Write arguments", - "Show all Characteristics Value/Descriptor Read/Write " - "arguments", - NULL, - NULL ); - - g_option_context_add_group(context, char_rw_group); - g_option_group_add_entries(char_rw_group, char_rw_options); - - if (g_option_context_parse(context, &argc, &argv, &gerr) == FALSE) - { - g_printerr("# BLE-EX: [FILE: %s] [FUNC: %s]\n", __FILE_NAME__, __FUNC_NAME__); - g_printerr("# BLECOMM MAIN CMD: %s %s\n", gBlecommArg.pPipePath, gerr->message); - g_error_free(gerr); - } - - if (opt_interactive) { - interactive(opt_src, opt_dst, opt_dst_type, opt_psm); - goto done; - } - - if (opt_char_write_req) - operation = characteristics_write_req; - else { - gchar *help = g_option_context_get_help(context, TRUE, NULL); - g_print("%s\n", help); - g_free(help); - got_error = TRUE; - iEarlyError = TRUE; - gErrorCode = BLE_ERROR_CODE_INVALID_PARAM; - goto done; - } - - if (opt_dst == NULL) { - g_print("Remote Bluetooth address required\n"); - got_error = TRUE; - iEarlyError = TRUE; - gErrorCode = BLE_ERROR_CODE_INVALID_PARAM; - goto done; - } - -#if __NOT_USED__ - gIOChannel = gatt_connect(opt_src, opt_dst, opt_dst_type, opt_sec_level, opt_psm, opt_mtu, connect_cb); -#endif - - gIOChannel = gatt_connectEx(opt_src, opt_dst, opt_dst_type, opt_sec_level, opt_psm, opt_mtu, connect_cb, - NULL, NULL, &gLibError); - - if (gIOChannel == NULL) - { - got_error = TRUE; - iEarlyError = TRUE; - - g_printerr("# %s: %s\n", __FUNC_NAME__, gLibError->message); - - if( (gLibError!=NULL) && (Grib_CheckCriticalMsg(gLibError)==TRUE) ) - { - gErrorCode = BLE_ERROR_CODE_CRITICAL; - g_printerr("# %s: BLE_ERROR_CODE_CRITICAL\n", __FUNC_NAME__); - } - else - { - gErrorCode = BLE_ERROR_CODE_CONNECT_FAIL; - } - - goto done; - } - else - { - GIOCondition watchCon = G_IO_HUP; - g_io_add_watch(gIOChannel, watchCon, (GIOFunc)Grib_ChannelWatcher, NULL); - } - - event_loop = g_main_loop_new(NULL, FALSE); - if(event_loop == NULL) - { - got_error = TRUE; - iEarlyError = TRUE; - gErrorCode = BLE_ERROR_CODE_INTERNAL; - goto done; - } - - g_main_loop_run(event_loop); - - g_main_loop_unref(event_loop); - - -done: - g_option_context_free(context); - g_free(opt_src); - g_free(opt_dst); - g_free(opt_uuid); - g_free(opt_sec_level); - - if(iEarlyError) - { - g_printerr("# BLE-EX: OCCUR EARLY ERROR: %d\n", gErrorCode); - Grib_BleCmdEnd(gErrorCode); - } - - if (got_error) - { - exit(EXIT_FAILURE); - } - else - exit(EXIT_SUCCESS); -} - - -int main(int argc, char *argv[]) -{ - int i = 0; - char *cmdList[] = - { - (char*)"./gatttool", -// (char*)"--adapter=hci1", - (char*)"-b", - gBlecommArg.pAddr, - (char*)"--char-write-req", - (char*)"-a", - (char*)"0x0025", - (char*)"-n", - hex_buf, - (char*)"--listen" - }; - - if(gDBG) - { - for(i=0; i -#include -#include -#include - -#include "grib_ble_extend.h" - -int main_command(int argc, char *argv[]); -gboolean listen_start(gpointer user_data); -gboolean characteristics_write_req(gpointer user_data); - -int interactive(const gchar *src, const gchar *dst, const gchar *dst_type, int psm); -GIOChannel *gatt_connect(const gchar *src, const gchar *dst, - const gchar *dst_type, const gchar *sec_level, - int psm, int mtu, BtIOConnect connect_cb); - -//2 shbaek: for My Control. -GIOChannel *gatt_connectEx(const gchar *src, const gchar *dst, - const gchar *dst_type, const gchar *sec_level, - int psm, int mtu, BtIOConnect connect_cb, - gpointer user_data, GDestroyNotify destroyCb, GError **err); - -size_t gatt_attr_data_from_string(const char *str, uint8_t **data); diff --git a/GRIB_BLE_HUB/libs/ble_extend/attrib/grib_ble_extend.c b/GRIB_BLE_HUB/libs/ble_extend/attrib/grib_ble_extend.c deleted file mode 100644 index 2e82c67..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/attrib/grib_ble_extend.c +++ /dev/null @@ -1,133 +0,0 @@ -/* ********** ********** ********** ********** ********** ********** ********** ********** ********** ********** -shbaek: Include File -********** ********** ********** ********** ********** ********** ********** ********** ********** ********** */ -#include "grib_ble_extend.h" - -/* ********** ********** ********** ********** ********** ********** ********** ********** ********** ********** -shbaek: Global Variable -********** ********** ********** ********** ********** ********** ********** ********** ********** ********** */ - -static BleCommArg* gBleCommArg; -/* ********** ********** ********** ********** ********** ********** ********** ********** ********** ********** -shbaek: Function -********** ********** ********** ********** ********** ********** ********** ********** ********** ********** */ -int str2hex(char* srcBuff, char* hexBuff) -{ - int i; - for(i=0; i<(int)strlen(srcBuff); i++) - { - sprintf(hexBuff+i*2, "%02X", *(srcBuff+i)); - } - - return i; -} - -void Grib_BleCommSetArg(BleCommArg* pBleCommArg) -{ - gBleCommArg = pBleCommArg; - return ; -} - -int Grib_CheckCriticalMsg(GError* pErrorMsg) -{ - char* isBusyError = NULL; - - if( (pErrorMsg==NULL) || (pErrorMsg->message==NULL) ) - { - return FALSE; - } - - isBusyError = strstr(pErrorMsg->message, GRIB_ERROR_STR_BUSY); - - if(isBusyError != NULL) - { - return TRUE; - } - - return FALSE; -} - -int Grib_BleCommWritePipe(char* pipeFile, char* pipeMsg) -{ - int iFD; - - if(gBleCommArg != NULL) - { - if(gBleCommArg->pipeWrite == TRUE) - {//shbaek: Need Not Write - printf("# BLE-EX PIPE WRITE: [PIPE: %s] ALREADY PIPE WRITED\n", pipeFile); - return 0; - } - } - - iFD = open(pipeFile, O_WRONLY); - if(iFD < 0) - { - printf("# BLE-EX PIPE WRITE: [PIPE: %s] PIPE OPEN FAIL !!!\n", pipeFile); - return -1; - } - - write(iFD, pipeMsg, strlen(pipeMsg)); - close(iFD); - - if(gBleCommArg != NULL) - { - gBleCommArg->pipeWrite = TRUE; - } - - return 0; -} - -int Grib_BleCommLoopQuit(GMainLoop* pEventLoop, GError* pErrorMsg, Grib_BleErrorCode iErrorCode) -{ - int iRes = -1; - int iReTry = 0; - const int MAX_PIPE_WRITE_RETRY_COUNT = 10; - - if(gBleCommArg == NULL) - { - printf("# BLE-EX LOOP QUIT: ARG IS NULL\n"); - return -1; - } - - //3 shbaek: Check Criticla Message - if(Grib_CheckCriticalMsg(pErrorMsg) == TRUE) - { - iErrorCode = BLE_ERROR_CODE_CRITICAL; - g_printerr("# BLE-EX LOOP QUIT: [PIPE: %s] NEED DRIVER RESET !!!\n", gBleCommArg->pPipePath, pErrorMsg->message); - } - else - { - if(gBleCommArg->isDebug)g_printerr("# BLE-EX LOOP QUIT: [PIPE: %s] [LIB ERROR: %s]\n", gBleCommArg->pPipePath, pErrorMsg->message); - } - - //shbaek: Create Error Message - if( (iErrorCode!=BLE_ERROR_CODE_NONE) || (strlen(gBleCommArg->pRecvBuff)==0) ) - { - memset(gBleCommArg->pRecvBuff, 0x00, sizeof(gBleCommArg->pRecvBuff)); - snprintf(gBleCommArg->pRecvBuff, sizeof(gBleCommArg->pRecvBuff), "ERROR:%d", iErrorCode); - } - - do - {//3 shbaek: Give to Write Chance [MAX_PIPE_WRITE_RETRY_COUNT] - iRes = Grib_BleCommWritePipe(gBleCommArg->pPipePath, gBleCommArg->pRecvBuff); - if(iRes == 0) - { - break; - } - - //shbaek: Must be Write Pipe File. - iReTry++; - g_printerr("# BLE-EX LOOP QUIT: [PIPE: %s] [RETRY WRITE COUNT: %d]\n", gBleCommArg->pPipePath, iReTry); - sleep(1); - }while(iReTry < MAX_PIPE_WRITE_RETRY_COUNT); - - if(pEventLoop != NULL) - { - g_main_loop_quit(pEventLoop); - pEventLoop = NULL; - } - - return 0; -} - diff --git a/GRIB_BLE_HUB/libs/ble_extend/attrib/grib_ble_extend.h b/GRIB_BLE_HUB/libs/ble_extend/attrib/grib_ble_extend.h deleted file mode 100644 index c934e15..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/attrib/grib_ble_extend.h +++ /dev/null @@ -1,150 +0,0 @@ -#ifndef __GRIB_BLE_EXTEND_H__ -#define __GRIB_BLE_EXTEND_H__ -/* ********** ********** ********** ********** ********** ********** ********** ********** ********** ********** -shbaek: Include File -********** ********** ********** ********** ********** ********** ********** ********** ********** ********** */ -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include - -#include -#include -#include -#include - -/* ********** ********** ********** ********** ********** ********** ********** ********** ********** ********** -shbaek: Type Define -********** ********** ********** ********** ********** ********** ********** ********** ********** ********** */ -#ifndef FALSE -#define FALSE 0 -#endif - -#ifndef TRUE -#define TRUE (!FALSE) -#endif - -#ifndef NULL -#define NULL 0 -#endif - -#ifndef OFF -#define OFF 0 -#endif - -#ifndef ON -#define ON (!OFF) -#endif - -#ifndef __FILE_PATH__ -#define __FILE_PATH__ __FILE__ -#endif - -#ifndef __FILE_NAME__ -#define __FILE_NAME__ (strrchr(__FILE__, '/') ? strrchr(__FILE__, '/')+1 : __FILE__) -#endif - -#ifndef __FUNC__ -#define __FUNC__ __func__ -#endif - -#ifndef __FUNC_NAME__ -#define __FUNC_NAME__ __func__ -#endif - -#define BLE_HEADER_SIZE 3 -#define BLE_MSG_MAX_SIZE 20 -#define BLE_MSG_END_SYMBOL '\n' - -#define GRIB_LOG_CR_LF "\r\n" -#define GRIB_LOG_DIR "log" - -#define GRIB_ERROR_STR_BUSY "Device or resource busy" - -#define BLE_EX_SIZE_ADDR 32 -#define BLE_EX_SIZE_PIPE_PATH 1024 -#define BLE_EX_SIZE_SEND_MSG 256 -#define BLE_EX_SIZE_RECV_MSG 256 - -typedef enum -{ - BLE_ERROR_CODE_NONE = 0, - BLE_ERROR_CODE_BASE = 100, - BLE_ERROR_CODE_INVALID_PARAM = BLE_ERROR_CODE_BASE+1, - BLE_ERROR_CODE_CONNECT_FAIL = BLE_ERROR_CODE_BASE+2, - BLE_ERROR_CODE_SEND_FAIL = BLE_ERROR_CODE_BASE+3, - BLE_ERROR_CODE_RECV_FAIL = BLE_ERROR_CODE_BASE+4, - BLE_ERROR_CODE_INTERNAL = BLE_ERROR_CODE_BASE+5, - BLE_ERROR_CODE_INTERACTIVE = BLE_ERROR_CODE_BASE+6, - BLE_ERROR_CODE_CRITICAL = BLE_ERROR_CODE_BASE+99, - BLE_ERROR_CODE_MAX -}Grib_BleErrorCode; - -typedef enum -{ - BLE_STATUS_ERROR =-1, - BLE_STATUS_NONE = 0, - BLE_STATUS_INIT = 1, - BLE_STATUS_CONNECT = 2, - BLE_STATUS_LISTEN = 3, - BLE_STATUS_OPERATE = 4, - BLE_STATUS_DONE = 5, - BLE_STATUS_DISCONNECT = 6, - BLE_STATUS_MAX -}Grib_BleStatus; - -typedef enum -{ - ARG_INDEX_MAIN_CMD = 0, - ARG_INDEX_BLE_ADDR = 1, - ARG_INDEX_PIPE_PATH = 2, - ARG_INDEX_SEND_MSG = 3, - ARG_INDEX_OPTION = 4, - ARG_INDEX_MAX -}BleCommArgIndex; - - -typedef struct -{ - int isDebug; - int pipeWrite; - char pAddr[BLE_EX_SIZE_ADDR]; - char pPipePath[BLE_EX_SIZE_PIPE_PATH]; - char pSendBuff[BLE_EX_SIZE_SEND_MSG]; - char pRecvBuff[BLE_EX_SIZE_RECV_MSG]; - char pOption[BLE_EX_SIZE_SEND_MSG]; - -}BleCommArg; - -typedef struct -{ - int* pNaTime; - int* pStatus; -} GribTimerParam; - -typedef int (*GribFunc) (GribTimerParam* pParam); - -typedef struct -{ - char* cmdName; - GribFunc pHandle; -} GribCmdHandler; - -/* ********** ********** ********** ********** ********** ********** ********** ********** ********** ********** -shbaek: Function Prototype -********** ********** ********** ********** ********** ********** ********** ********** ********** ********** */ -int str2hex(char* srcBuff, char* hexBuff); - -int Grib_CheckCriticalMsg(GError* pErrorMsg); -int Grib_BleCommWritePipe(char* pipeFile, char* pipeMsg); -int Grib_BleCommLoopQuit(GMainLoop* pEventLoop, GError* pErrorMsg, Grib_BleErrorCode iErrorCode); -void Grib_BleCommSetArg(BleCommArg* pBleCommArg); - -#endif diff --git a/GRIB_BLE_HUB/libs/ble_extend/attrib/interactive.c b/GRIB_BLE_HUB/libs/ble_extend/attrib/interactive.c deleted file mode 100644 index ff3807e..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/attrib/interactive.c +++ /dev/null @@ -1,987 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2011 Nokia Corporation - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif - -#include -#include -#include -#include -#include - -#include -#include - -#include "lib/uuid.h" -#include -#include "att.h" -#include "gattrib.h" -#include "gatt.h" -#include "gatttool.h" - -//shbaek: for Util -#include "grib_ble_extend.h" - -static GIOChannel *iochannel = NULL; -static GAttrib *attrib = NULL; -static GMainLoop *event_loop; -static GString *prompt; - -static gchar *opt_src = NULL; -static gchar *opt_dst = NULL; -static gchar *opt_dst_type = NULL; -static gchar *opt_sec_level = NULL; -static int opt_psm = 0; -static int opt_mtu = 0; -static int start; -static int end; - -static GError* gLibError; -static Grib_BleErrorCode gErrorCode; - -struct characteristic_data { - uint16_t orig_start; - uint16_t start; - uint16_t end; - bt_uuid_t uuid; -}; - -static void cmd_help(int argcp, char **argvp); - -static enum state { - STATE_DISCONNECTED, - STATE_CONNECTING, - STATE_CONNECTED -} conn_state; - -static char *get_prompt(void) -{ - if (conn_state == STATE_CONNECTING) { - g_string_assign(prompt, "Connecting... "); - return prompt->str; - } - - if (conn_state == STATE_CONNECTED) - g_string_assign(prompt, "[CON]"); - else - g_string_assign(prompt, "[ ]"); - - if (opt_dst) - g_string_append_printf(prompt, "[%17s]", opt_dst); - else - g_string_append_printf(prompt, "[%17s]", ""); - - if (opt_psm) - g_string_append(prompt, "[BR]"); - else - g_string_append(prompt, "[LE]"); - - g_string_append(prompt, "> "); - - return prompt->str; -} - - -static void set_state(enum state st) -{ - - conn_state = st; - rl_set_prompt(get_prompt()); - rl_redisplay(); -} - -static void events_handler(const uint8_t *pdu, uint16_t len, gpointer user_data) -{ - uint8_t *opdu; - uint16_t handle, i, olen; - size_t plen; - - handle = att_get_u16(&pdu[1]); - - printf("\n"); - switch (pdu[0]) { - case ATT_OP_HANDLE_NOTIFY: - printf("Notification handle = 0x%04x value: ", handle); - break; - case ATT_OP_HANDLE_IND: - printf("Indication handle = 0x%04x value: ", handle); - break; - default: - printf("Invalid opcode\n"); - return; - } - - for (i = 3; i < len; i++) - printf("%02x ", pdu[i]); - - printf("\n"); - rl_forced_update_display(); - - if (pdu[0] == ATT_OP_HANDLE_NOTIFY) - return; - - opdu = g_attrib_get_buffer(attrib, &plen); - olen = enc_confirmation(opdu, plen); - - if (olen > 0) - g_attrib_send(attrib, 0, opdu, olen, NULL, NULL, NULL); -} - -static void connect_cb(GIOChannel *io, GError *err, gpointer user_data) -{ - if (err) { - g_printerr("# BLE-EX: [FILE: %s] [FUNC: %s]\n", __FILE_NAME__, __FUNC_NAME__); - printf("# INTERACTIVE CONNECT CB: %s\n", err->message); - set_state(STATE_DISCONNECTED); - - Grib_BleCommLoopQuit(event_loop, err, BLE_ERROR_CODE_INTERACTIVE); - return; - } - - attrib = g_attrib_new(iochannel); - g_attrib_register(attrib, ATT_OP_HANDLE_NOTIFY, GATTRIB_ALL_HANDLES, - events_handler, attrib, NULL); - g_attrib_register(attrib, ATT_OP_HANDLE_IND, GATTRIB_ALL_HANDLES, - events_handler, attrib, NULL); - set_state(STATE_CONNECTED); -} - -static void disconnect_io() -{ - printf("# BLE-EX: [FILE: %s] [FUNC: %s]\n", __FILE_NAME__, __FUNC_NAME__); - - if (conn_state == STATE_DISCONNECTED) - return; - - g_attrib_unref(attrib); - attrib = NULL; - opt_mtu = 0; - - g_io_channel_shutdown(iochannel, FALSE, NULL); - g_io_channel_unref(iochannel); - iochannel = NULL; - - set_state(STATE_DISCONNECTED); -} - -static void primary_all_cb(GSList *services, guint8 status, gpointer user_data) -{ - GSList *l; - - if (status) { - printf("Discover all primary services failed: %s\n", - att_ecode2str(status)); - return; - } - - printf("\n"); - for (l = services; l; l = l->next) { - struct gatt_primary *prim = l->data; - printf("attr handle: 0x%04x, end grp handle: 0x%04x " - "uuid: %s\n", prim->range.start, prim->range.end, prim->uuid); - } - - rl_forced_update_display(); -} - -static void primary_by_uuid_cb(GSList *ranges, guint8 status, - gpointer user_data) -{ - GSList *l; - - if (status) { - printf("Discover primary services by UUID failed: %s\n", - att_ecode2str(status)); - return; - } - - printf("\n"); - for (l = ranges; l; l = l->next) { - struct att_range *range = l->data; - g_print("Starting handle: 0x%04x Ending handle: 0x%04x\n", - range->start, range->end); - } - - rl_forced_update_display(); -} - -static void included_cb(GSList *includes, guint8 status, gpointer user_data) -{ - GSList *l; - - if (status) { - printf("Find included services failed: %s\n", - att_ecode2str(status)); - goto done; - } - - if (includes == NULL) { - printf("No included services found for this range\n"); - goto done; - } - - printf("\n"); - for (l = includes; l; l = l->next) { - struct gatt_included *incl = l->data; - printf("handle: 0x%04x, start handle: 0x%04x, " - "end handle: 0x%04x uuid: %s\n", - incl->handle, incl->range.start, - incl->range.end, incl->uuid); - } - -done: - rl_forced_update_display(); -} - -static void char_cb(GSList *characteristics, guint8 status, gpointer user_data) -{ - GSList *l; - - if (status) { - printf("Discover all characteristics failed: %s\n", - att_ecode2str(status)); - return; - } - - printf("\n"); - for (l = characteristics; l; l = l->next) { - struct gatt_char *chars = l->data; - - printf("handle: 0x%04x, char properties: 0x%02x, char value " - "handle: 0x%04x, uuid: %s\n", chars->handle, - chars->properties, chars->value_handle, - chars->uuid); - } - - rl_forced_update_display(); -} - -static void char_desc_cb(guint8 status, const guint8 *pdu, guint16 plen, - gpointer user_data) -{ - struct att_data_list *list; - guint8 format; - uint16_t handle = 0xffff; - int i; - - if (status != 0) { - printf("Discover descriptors finished: %s\n", - att_ecode2str(status)); - return; - } - - list = dec_find_info_resp(pdu, plen, &format); - if (list == NULL) - return; - - printf("\n"); - for (i = 0; i < list->num; i++) { - char uuidstr[MAX_LEN_UUID_STR]; - uint8_t *value; - bt_uuid_t uuid; - - value = list->data[i]; - handle = att_get_u16(value); - - if (format == 0x01) - uuid = att_get_uuid16(&value[2]); - else - uuid = att_get_uuid128(&value[2]); - - bt_uuid_to_string(&uuid, uuidstr, MAX_LEN_UUID_STR); - printf("handle: 0x%04x, uuid: %s\n", handle, uuidstr); - } - - att_data_list_free(list); - - if (handle != 0xffff && handle < end) - gatt_find_info(attrib, handle + 1, end, char_desc_cb, NULL); - else - rl_forced_update_display(); -} - -static void char_read_cb(guint8 status, const guint8 *pdu, guint16 plen, - gpointer user_data) -{ - uint8_t value[plen]; - ssize_t vlen; - int i; - - if (status != 0) { - printf("Characteristic value/descriptor read failed: %s\n", - att_ecode2str(status)); - return; - } - - vlen = dec_read_resp(pdu, plen, value, sizeof(value)); - if (vlen < 0) { - printf("Protocol error\n"); - return; - } - - printf("\nCharacteristic value/descriptor: "); - for (i = 0; i < vlen; i++) - printf("%02x ", value[i]); - printf("\n"); - - rl_forced_update_display(); -} - -static void char_read_by_uuid_cb(guint8 status, const guint8 *pdu, - guint16 plen, gpointer user_data) -{ - struct characteristic_data *char_data = user_data; - struct att_data_list *list; - int i; - - if (status == ATT_ECODE_ATTR_NOT_FOUND && - char_data->start != char_data->orig_start) - goto done; - - if (status != 0) { - printf("Read characteristics by UUID failed: %s\n", - att_ecode2str(status)); - goto done; - } - - list = dec_read_by_type_resp(pdu, plen); - if (list == NULL) - goto done; - - for (i = 0; i < list->num; i++) { - uint8_t *value = list->data[i]; - int j; - - char_data->start = att_get_u16(value) + 1; - - printf("\nhandle: 0x%04x \t value: ", att_get_u16(value)); - value += 2; - for (j = 0; j < list->len - 2; j++, value++) - printf("%02x ", *value); - printf("\n"); - } - - att_data_list_free(list); - - rl_forced_update_display(); - -done: - g_free(char_data); -} - -static void cmd_exit(int argcp, char **argvp) -{ - int i = 0; - - for(i=0; i 1) { - g_free(opt_dst); - opt_dst = g_strdup(argvp[1]); - - g_free(opt_dst_type); - if (argcp > 2) - opt_dst_type = g_strdup(argvp[2]); - else - opt_dst_type = g_strdup("public"); - } - - if (opt_dst == NULL) { - printf("Remote Bluetooth address required\n"); - return; - } - - set_state(STATE_CONNECTING); - iochannel = gatt_connect(opt_src, opt_dst, opt_dst_type, opt_sec_level, - opt_psm, opt_mtu, connect_cb); - if (iochannel == NULL) - set_state(STATE_DISCONNECTED); - else - g_io_add_watch(iochannel, G_IO_HUP, channel_watcher, NULL); -} - -static void cmd_disconnect(int argcp, char **argvp) -{ - disconnect_io(); -} - -static void cmd_primary(int argcp, char **argvp) -{ - bt_uuid_t uuid; - - if (conn_state != STATE_CONNECTED) { - printf("Command failed: disconnected\n"); - return; - } - - if (argcp == 1) { - gatt_discover_primary(attrib, NULL, primary_all_cb, NULL); - return; - } - - if (bt_string_to_uuid(&uuid, argvp[1]) < 0) { - printf("Invalid UUID\n"); - return; - } - - gatt_discover_primary(attrib, &uuid, primary_by_uuid_cb, NULL); -} - -static int strtohandle(const char *src) -{ - char *e; - int dst; - - errno = 0; - dst = strtoll(src, &e, 16); - if (errno != 0 || *e != '\0') - return -EINVAL; - - return dst; -} - -static void cmd_included(int argcp, char **argvp) -{ - int start = 0x0001; - int end = 0xffff; - - if (conn_state != STATE_CONNECTED) { - printf("Command failed: disconnected\n"); - return; - } - - if (argcp > 1) { - start = strtohandle(argvp[1]); - if (start < 0) { - printf("Invalid start handle: %s\n", argvp[1]); - return; - } - end = start; - } - - if (argcp > 2) { - end = strtohandle(argvp[2]); - if (end < 0) { - printf("Invalid end handle: %s\n", argvp[2]); - return; - } - } - - gatt_find_included(attrib, start, end, included_cb, NULL); -} - -static void cmd_char(int argcp, char **argvp) -{ - int start = 0x0001; - int end = 0xffff; - - if (conn_state != STATE_CONNECTED) { - printf("Command failed: disconnected\n"); - return; - } - - if (argcp > 1) { - start = strtohandle(argvp[1]); - if (start < 0) { - printf("Invalid start handle: %s\n", argvp[1]); - return; - } - } - - if (argcp > 2) { - end = strtohandle(argvp[2]); - if (end < 0) { - printf("Invalid end handle: %s\n", argvp[2]); - return; - } - } - - if (argcp > 3) { - bt_uuid_t uuid; - - if (bt_string_to_uuid(&uuid, argvp[3]) < 0) { - printf("Invalid UUID\n"); - return; - } - - gatt_discover_char(attrib, start, end, &uuid, char_cb, NULL); - return; - } - - gatt_discover_char(attrib, start, end, NULL, char_cb, NULL); -} - -static void cmd_char_desc(int argcp, char **argvp) -{ - if (conn_state != STATE_CONNECTED) { - printf("Command failed: disconnected\n"); - return; - } - - if (argcp > 1) { - start = strtohandle(argvp[1]); - if (start < 0) { - printf("Invalid start handle: %s\n", argvp[1]); - return; - } - } else - start = 0x0001; - - if (argcp > 2) { - end = strtohandle(argvp[2]); - if (end < 0) { - printf("Invalid end handle: %s\n", argvp[2]); - return; - } - } else - end = 0xffff; - - gatt_find_info(attrib, start, end, char_desc_cb, NULL); -} - -static void cmd_read_hnd(int argcp, char **argvp) -{ - int handle; - - if (conn_state != STATE_CONNECTED) { - printf("Command failed: disconnected\n"); - return; - } - - if (argcp < 2) { - printf("Missing argument: handle\n"); - return; - } - - handle = strtohandle(argvp[1]); - if (handle < 0) { - printf("Invalid handle: %s\n", argvp[1]); - return; - } - - gatt_read_char(attrib, handle, char_read_cb, attrib); -} - -static void cmd_read_uuid(int argcp, char **argvp) -{ - struct characteristic_data *char_data; - int start = 0x0001; - int end = 0xffff; - bt_uuid_t uuid; - - if (conn_state != STATE_CONNECTED) { - printf("Command failed: disconnected\n"); - return; - } - - if (argcp < 2) { - printf("Missing argument: UUID\n"); - return; - } - - if (bt_string_to_uuid(&uuid, argvp[1]) < 0) { - printf("Invalid UUID\n"); - return; - } - - if (argcp > 2) { - start = strtohandle(argvp[2]); - if (start < 0) { - printf("Invalid start handle: %s\n", argvp[1]); - return; - } - } - - if (argcp > 3) { - end = strtohandle(argvp[3]); - if (end < 0) { - printf("Invalid end handle: %s\n", argvp[2]); - return; - } - } - - char_data = g_new(struct characteristic_data, 1); - char_data->orig_start = start; - char_data->start = start; - char_data->end = end; - char_data->uuid = uuid; - - gatt_read_char_by_uuid(attrib, start, end, &char_data->uuid, - char_read_by_uuid_cb, char_data); -} - -static void char_write_req_cb(guint8 status, const guint8 *pdu, guint16 plen, - gpointer user_data) -{ - if (status != 0) { - printf("Characteristic Write Request failed: " - "%s\n", att_ecode2str(status)); - return; - } - - if (!dec_write_resp(pdu, plen) && !dec_exec_write_resp(pdu, plen)) { - printf("Protocol error\n"); - return; - } - - printf("Characteristic value was written successfully\n"); -} - -static void cmd_char_write(int argcp, char **argvp) -{ - uint8_t *value; - size_t plen; - int handle; - - if (conn_state != STATE_CONNECTED) { - printf("Command failed: disconnected\n"); - return; - } - - if (argcp < 3) { - printf("Usage: %s \n", argvp[0]); - return; - } - - handle = strtohandle(argvp[1]); - if (handle <= 0) { - printf("A valid handle is required\n"); - return; - } - - plen = gatt_attr_data_from_string(argvp[2], &value); - if (plen == 0) { - g_printerr("Invalid value\n"); - return; - } - - if (g_strcmp0("char-write-req", argvp[0]) == 0) - gatt_write_char(attrib, handle, value, plen, - char_write_req_cb, NULL); - else - gatt_write_char(attrib, handle, value, plen, NULL, NULL); - - g_free(value); -} - -static void cmd_sec_level(int argcp, char **argvp) -{ - GError *gerr = NULL; - BtIOSecLevel sec_level; - - if (argcp < 2) { - printf("sec-level: %s\n", opt_sec_level); - return; - } - - if (strcasecmp(argvp[1], "medium") == 0) - sec_level = BT_IO_SEC_MEDIUM; - else if (strcasecmp(argvp[1], "high") == 0) - sec_level = BT_IO_SEC_HIGH; - else if (strcasecmp(argvp[1], "low") == 0) - sec_level = BT_IO_SEC_LOW; - else { - printf("Allowed values: low | medium | high\n"); - return; - } - - g_free(opt_sec_level); - opt_sec_level = g_strdup(argvp[1]); - - if (conn_state != STATE_CONNECTED) - return; - - if (opt_psm) { - printf("It must be reconnected to this change take effect\n"); - return; - } - - bt_io_set(iochannel, &gerr, - BT_IO_OPT_SEC_LEVEL, sec_level, - BT_IO_OPT_INVALID); - if (gerr) { - gLibError = gerr; - gErrorCode = BLE_ERROR_CODE_INTERACTIVE; - g_printerr("# BLE-EX: [FILE: %s] [FUNC: %s]\n", __FILE_NAME__, __FUNC_NAME__); - printf("# cmd_sec_level: %s\n", gerr->message); - g_error_free(gerr); - } -} - -static void exchange_mtu_cb(guint8 status, const guint8 *pdu, guint16 plen, - gpointer user_data) -{ - uint16_t mtu; - - if (status != 0) { - printf("Exchange MTU Request failed: %s\n", - att_ecode2str(status)); - return; - } - - if (!dec_mtu_resp(pdu, plen, &mtu)) { - printf("Protocol error\n"); - return; - } - - mtu = MIN(mtu, opt_mtu); - /* Set new value for MTU in client */ - if (g_attrib_set_mtu(attrib, mtu)) - printf("MTU was exchanged successfully: %d\n", mtu); - else - printf("Error exchanging MTU\n"); -} - -static void cmd_mtu(int argcp, char **argvp) -{ - if (conn_state != STATE_CONNECTED) { - printf("Command failed: not connected.\n"); - return; - } - - if (opt_psm) { - printf("Command failed: operation is only available for LE" - " transport.\n"); - return; - } - - if (argcp < 2) { - printf("Usage: mtu \n"); - return; - } - - if (opt_mtu) { - printf("Command failed: MTU exchange can only occur once per" - " connection.\n"); - return; - } - - errno = 0; - opt_mtu = strtoll(argvp[1], NULL, 0); - if (errno != 0 || opt_mtu < ATT_DEFAULT_LE_MTU) { - printf("Invalid value. Minimum MTU size is %d\n", - ATT_DEFAULT_LE_MTU); - return; - } - - gatt_exchange_mtu(attrib, opt_mtu, exchange_mtu_cb, NULL); -} - -static struct { - const char *cmd; - void (*func)(int argcp, char **argvp); - const char *params; - const char *desc; -} commands[] = { - { "help", cmd_help, "", - "Show this help"}, - { "exit", cmd_exit, "", - "Exit interactive mode" }, - { "quit", cmd_exit, "", - "Exit interactive mode" }, - { "connect", cmd_connect, "[address [address type]]", - "Connect to a remote device" }, - { "disconnect", cmd_disconnect, "", - "Disconnect from a remote device" }, - { "primary", cmd_primary, "[UUID]", - "Primary Service Discovery" }, - { "included", cmd_included, "[start hnd [end hnd]]", - "Find Included Services" }, - { "characteristics", cmd_char, "[start hnd [end hnd [UUID]]]", - "Characteristics Discovery" }, - { "char-desc", cmd_char_desc, "[start hnd] [end hnd]", - "Characteristics Descriptor Discovery" }, - { "char-read-hnd", cmd_read_hnd, "", - "Characteristics Value/Descriptor Read by handle" }, - { "char-read-uuid", cmd_read_uuid, " [start hnd] [end hnd]", - "Characteristics Value/Descriptor Read by UUID" }, - { "char-write-req", cmd_char_write, " ", - "Characteristic Value Write (Write Request)" }, - { "char-write-cmd", cmd_char_write, " ", - "Characteristic Value Write (No response)" }, - { "sec-level", cmd_sec_level, "[low | medium | high]", - "Set security level. Default: low" }, - { "mtu", cmd_mtu, "", - "Exchange MTU for GATT/ATT" }, - { NULL, NULL, NULL} -}; - -static void cmd_help(int argcp, char **argvp) -{ - int i; - - for (i = 0; commands[i].cmd; i++) - printf("%-15s %-30s %s\n", commands[i].cmd, - commands[i].params, commands[i].desc); -} - -static void parse_line(char *line_read) -{ - gchar **argvp; - int argcp; - int i; - - if (line_read == NULL) { - printf("\n"); - cmd_exit(0, NULL); - return; - } - - line_read = g_strstrip(line_read); - - if (*line_read == '\0') - goto done; - - add_history(line_read); - - g_shell_parse_argv(line_read, &argcp, &argvp, NULL); - - for (i = 0; commands[i].cmd; i++) - if (strcasecmp(commands[i].cmd, argvp[0]) == 0) - break; - - if (commands[i].cmd) - commands[i].func(argcp, argvp); - else - printf("%s: command not found\n", argvp[0]); - - g_strfreev(argvp); - -done: - free(line_read); -} - -static gboolean prompt_read(GIOChannel *chan, GIOCondition cond, - gpointer user_data) -{ - if (cond & (G_IO_HUP | G_IO_ERR | G_IO_NVAL)) { - g_io_channel_unref(chan); - return FALSE; - } - - rl_callback_read_char(); - - return TRUE; -} - -static char *completion_generator(const char *text, int state) -{ - static int index = 0, len = 0; - const char *cmd = NULL; - - if (state == 0) { - index = 0; - len = strlen(text); - } - - while ((cmd = commands[index].cmd) != NULL) { - index++; - if (strncmp(cmd, text, len) == 0) - return strdup(cmd); - } - - return NULL; -} - -static char **commands_completion(const char *text, int start, int end) -{ - if (start == 0) - return rl_completion_matches(text, &completion_generator); - else - return NULL; -} - -int interactive(const gchar *src, const gchar *dst, - const gchar *dst_type, int psm) -{ - GIOChannel *pchan; - gint events; - - gErrorCode = BLE_ERROR_CODE_NONE; - printf("# BLE-EX: [FILE: %s] [FUNC: %s]\n", __FILE_NAME__, __FUNC_NAME__); - - opt_sec_level = g_strdup("low"); - - opt_src = g_strdup(src); - opt_dst = g_strdup(dst); - opt_dst_type = g_strdup(dst_type); - opt_psm = psm; - - prompt = g_string_new(NULL); - - event_loop = g_main_loop_new(NULL, FALSE); - if(event_loop == NULL) - { - goto FINAL; - } - - pchan = g_io_channel_unix_new(fileno(stdin)); - g_io_channel_set_close_on_unref(pchan, TRUE); - events = G_IO_IN | G_IO_ERR | G_IO_HUP | G_IO_NVAL; - g_io_add_watch(pchan, events, prompt_read, NULL); - - rl_attempted_completion_function = commands_completion; - rl_callback_handler_install(get_prompt(), parse_line); - - g_main_loop_run(event_loop); - - rl_callback_handler_remove(); - cmd_disconnect(0, NULL); - g_io_channel_unref(pchan); - g_main_loop_unref(event_loop); - -FINAL: - g_string_free(prompt, TRUE); - - g_free(opt_src); - g_free(opt_dst); - g_free(opt_sec_level); - - return 0; -} - diff --git a/GRIB_BLE_HUB/libs/ble_extend/attrib/utils.c b/GRIB_BLE_HUB/libs/ble_extend/attrib/utils.c deleted file mode 100644 index 265977b..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/attrib/utils.c +++ /dev/null @@ -1,185 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2011 Nokia Corporation - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif - -#include -#include - -#include -#include -#include -#include - -#include "lib/uuid.h" -#include -#include "att.h" -#include "gattrib.h" -#include "gatt.h" -#include "gatttool.h" - -GIOChannel *gatt_connect(const gchar *src, const gchar *dst, - const gchar *dst_type, const gchar *sec_level, - int psm, int mtu, BtIOConnect connect_cb) -{ - GIOChannel *chan; - bdaddr_t sba, dba; - uint8_t dest_type; - GError *err = NULL; - BtIOSecLevel sec; - - //printf("# BLE-EX: [FILE: %s] [FUNC: %s]\n", __FILE_NAME__, __FUNC_NAME__); - - str2ba(dst, &dba); - - /* Local adapter */ - if (src != NULL) { - if (!strncmp(src, "hci", 3)) - hci_devba(atoi(src + 3), &sba); - else - str2ba(src, &sba); - } else - bacpy(&sba, BDADDR_ANY); - - /* Not used for BR/EDR */ - if (strcmp(dst_type, "random") == 0) - dest_type = BDADDR_LE_RANDOM; - else - dest_type = BDADDR_LE_PUBLIC; - - if (strcmp(sec_level, "medium") == 0) - sec = BT_IO_SEC_MEDIUM; - else if (strcmp(sec_level, "high") == 0) - sec = BT_IO_SEC_HIGH; - else - sec = BT_IO_SEC_LOW; - - if (psm == 0) - chan = bt_io_connect(connect_cb, NULL, NULL, &err, - BT_IO_OPT_SOURCE_BDADDR, &sba, - BT_IO_OPT_DEST_BDADDR, &dba, - BT_IO_OPT_DEST_TYPE, dest_type, - BT_IO_OPT_CID, ATT_CID, - BT_IO_OPT_SEC_LEVEL, sec, - BT_IO_OPT_INVALID); - else - chan = bt_io_connect(connect_cb, NULL, NULL, &err, - BT_IO_OPT_SOURCE_BDADDR, &sba, - BT_IO_OPT_DEST_BDADDR, &dba, - BT_IO_OPT_PSM, psm, - BT_IO_OPT_IMTU, mtu, - BT_IO_OPT_SEC_LEVEL, sec, - BT_IO_OPT_INVALID); - - if (err) { - g_printerr("# gatt_connect: %s\n", err->message); - g_printerr("# BLE-EX: [FILE: %s] [FUNC: %s]\n", __FILE_NAME__, __FUNC_NAME__); - g_error_free(err); - return NULL; - } - - return chan; -} - -GIOChannel *gatt_connectEx(const gchar *src, const gchar *dst, - const gchar *dst_type, const gchar *sec_level, - int psm, int mtu, BtIOConnect connect_cb, - gpointer user_data, GDestroyNotify destroyCb, GError **err) -{ - GIOChannel *chan = NULL; - bdaddr_t sba, dba; - uint8_t dest_type; - *err = NULL; - BtIOSecLevel sec; - - //printf("# BLE-EX: [FILE: %s] [FUNC: %s]\n", __FILE_NAME__, __FUNC_NAME__); - - str2ba(dst, &dba); - - /* Local adapter */ - if (src != NULL) { - if (!strncmp(src, "hci", 3)) - hci_devba(atoi(src + 3), &sba); - else - str2ba(src, &sba); - } else - bacpy(&sba, BDADDR_ANY); - - /* Not used for BR/EDR */ - if (strcmp(dst_type, "random") == 0) - dest_type = BDADDR_LE_RANDOM; - else - dest_type = BDADDR_LE_PUBLIC; - - if (strcmp(sec_level, "medium") == 0) - sec = BT_IO_SEC_MEDIUM; - else if (strcmp(sec_level, "high") == 0) - sec = BT_IO_SEC_HIGH; - else - sec = BT_IO_SEC_LOW; - - if (psm == 0) - chan = bt_io_connect(connect_cb, user_data, (GDestroyNotify) destroyCb, err, - BT_IO_OPT_SOURCE_BDADDR, &sba, - BT_IO_OPT_DEST_BDADDR, &dba, - BT_IO_OPT_DEST_TYPE, dest_type, - BT_IO_OPT_CID, ATT_CID, - BT_IO_OPT_SEC_LEVEL, sec, - BT_IO_OPT_INVALID); - else - chan = bt_io_connect(connect_cb, user_data, (GDestroyNotify) destroyCb, err, - BT_IO_OPT_SOURCE_BDADDR, &sba, - BT_IO_OPT_DEST_BDADDR, &dba, - BT_IO_OPT_PSM, psm, - BT_IO_OPT_IMTU, mtu, - BT_IO_OPT_SEC_LEVEL, sec, - BT_IO_OPT_INVALID); - - if (*err) { - g_printerr("# %s: %s\n", __FUNC_NAME__, (*err)->message); - return NULL; - } - - return chan; -} - -size_t gatt_attr_data_from_string(const char *str, uint8_t **data) -{ - char tmp[3]; - size_t size, i; - - size = strlen(str) / 2; - *data = g_try_malloc0(size); - if (*data == NULL) - return 0; - - tmp[2] = '\0'; - for (i = 0; i < size; i++) { - memcpy(tmp, str + (i * 2), 2); - (*data)[i] = (uint8_t) strtol(tmp, NULL, 16); - } - - return size; -} diff --git a/GRIB_BLE_HUB/libs/ble_extend/btio/.deps/.dirstamp b/GRIB_BLE_HUB/libs/ble_extend/btio/.deps/.dirstamp deleted file mode 100644 index e69de29..0000000 diff --git a/GRIB_BLE_HUB/libs/ble_extend/btio/.deps/bluetoothd-btio.Po b/GRIB_BLE_HUB/libs/ble_extend/btio/.deps/bluetoothd-btio.Po deleted file mode 100644 index 25e4816..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/btio/.deps/bluetoothd-btio.Po +++ /dev/null @@ -1,489 +0,0 @@ -btio/bluetoothd-btio.o: btio/btio.c /usr/include/stdc-predef.h config.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/stdlib.h /usr/include/features.h \ - /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/include/arm-linux-gnueabihf/bits/waitflags.h \ - /usr/include/arm-linux-gnueabihf/bits/waitstatus.h /usr/include/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/xlocale.h /usr/include/arm-linux-gnueabihf/sys/types.h \ - /usr/include/time.h /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/alloca.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-float.h \ - /usr/include/unistd.h /usr/include/arm-linux-gnueabihf/bits/posix_opt.h \ - /usr/include/arm-linux-gnueabihf/bits/environments.h \ - /usr/include/arm-linux-gnueabihf/bits/confname.h /usr/include/getopt.h \ - /usr/include/errno.h /usr/include/arm-linux-gnueabihf/bits/errno.h \ - /usr/include/linux/errno.h /usr/include/arm-linux-gnueabihf/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/include/poll.h /usr/include/arm-linux-gnueabihf/sys/poll.h \ - /usr/include/arm-linux-gnueabihf/bits/poll.h \ - /usr/include/arm-linux-gnueabihf/sys/socket.h \ - /usr/include/arm-linux-gnueabihf/sys/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/socket.h \ - /usr/include/arm-linux-gnueabihf/bits/socket_type.h \ - /usr/include/arm-linux-gnueabihf/bits/sockaddr.h \ - /usr/include/arm-linux-gnueabihf/asm/socket.h \ - /usr/include/asm-generic/socket.h \ - /usr/include/arm-linux-gnueabihf/asm/sockios.h \ - /usr/include/asm-generic/sockios.h lib/bluetooth/bluetooth.h \ - /usr/include/stdio.h /usr/include/libio.h /usr/include/_G_config.h \ - /usr/include/wchar.h /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/sys_errlist.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h \ - /usr/include/stdint.h /usr/include/arm-linux-gnueabihf/bits/wchar.h \ - /usr/include/string.h /usr/include/arm-linux-gnueabihf/bits/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string2.h /usr/include/byteswap.h \ - /usr/include/netinet/in.h /usr/include/arm-linux-gnueabihf/bits/in.h \ - lib/bluetooth/l2cap.h lib/bluetooth/rfcomm.h lib/bluetooth/sco.h \ - /usr/include/glib-2.0/glib.h /usr/include/glib-2.0/glib/galloca.h \ - /usr/include/glib-2.0/glib/gtypes.h \ - /usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h \ - /usr/include/glib-2.0/glib/gmacros.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h \ - /usr/include/limits.h /usr/include/arm-linux-gnueabihf/bits/posix1_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/local_lim.h \ - /usr/include/linux/limits.h \ - /usr/include/arm-linux-gnueabihf/bits/posix2_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/xopen_lim.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h \ - /usr/include/glib-2.0/glib/gversionmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/timex.h \ - /usr/include/glib-2.0/glib/garray.h \ - /usr/include/glib-2.0/glib/gasyncqueue.h \ - /usr/include/glib-2.0/glib/gthread.h \ - /usr/include/glib-2.0/glib/gatomic.h /usr/include/glib-2.0/glib/gerror.h \ - /usr/include/glib-2.0/glib/gquark.h \ - /usr/include/glib-2.0/glib/gbacktrace.h /usr/include/signal.h \ - /usr/include/arm-linux-gnueabihf/bits/signum.h \ - /usr/include/arm-linux-gnueabihf/bits/siginfo.h \ - /usr/include/arm-linux-gnueabihf/bits/sigaction.h \ - /usr/include/arm-linux-gnueabihf/bits/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/asm/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigstack.h \ - /usr/include/arm-linux-gnueabihf/sys/ucontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigthread.h \ - /usr/include/glib-2.0/glib/gbase64.h \ - /usr/include/glib-2.0/glib/gbitlock.h \ - /usr/include/glib-2.0/glib/gbookmarkfile.h \ - /usr/include/glib-2.0/glib/gbytes.h \ - /usr/include/glib-2.0/glib/gcharset.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/gconvert.h \ - /usr/include/glib-2.0/glib/gdataset.h /usr/include/glib-2.0/glib/gdate.h \ - /usr/include/glib-2.0/glib/gdatetime.h \ - /usr/include/glib-2.0/glib/gtimezone.h /usr/include/glib-2.0/glib/gdir.h \ - /usr/include/dirent.h /usr/include/arm-linux-gnueabihf/bits/dirent.h \ - /usr/include/glib-2.0/glib/genviron.h \ - /usr/include/glib-2.0/glib/gfileutils.h \ - /usr/include/glib-2.0/glib/ggettext.h /usr/include/glib-2.0/glib/ghash.h \ - /usr/include/glib-2.0/glib/glist.h /usr/include/glib-2.0/glib/gmem.h \ - /usr/include/glib-2.0/glib/gnode.h /usr/include/glib-2.0/glib/ghmac.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/ghook.h \ - /usr/include/glib-2.0/glib/ghostutils.h \ - /usr/include/glib-2.0/glib/giochannel.h \ - /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gpoll.h \ - /usr/include/glib-2.0/glib/gslist.h /usr/include/glib-2.0/glib/gstring.h \ - /usr/include/glib-2.0/glib/gunicode.h \ - /usr/include/glib-2.0/glib/gutils.h \ - /usr/include/glib-2.0/glib/gkeyfile.h \ - /usr/include/glib-2.0/glib/gmappedfile.h \ - /usr/include/glib-2.0/glib/gmarkup.h \ - /usr/include/glib-2.0/glib/gmessages.h \ - /usr/include/glib-2.0/glib/goption.h \ - /usr/include/glib-2.0/glib/gpattern.h \ - /usr/include/glib-2.0/glib/gprimes.h /usr/include/glib-2.0/glib/gqsort.h \ - /usr/include/glib-2.0/glib/gqueue.h /usr/include/glib-2.0/glib/grand.h \ - /usr/include/glib-2.0/glib/gregex.h \ - /usr/include/glib-2.0/glib/gscanner.h \ - /usr/include/glib-2.0/glib/gsequence.h \ - /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gslice.h \ - /usr/include/glib-2.0/glib/gspawn.h \ - /usr/include/glib-2.0/glib/gstrfuncs.h \ - /usr/include/glib-2.0/glib/gstringchunk.h \ - /usr/include/glib-2.0/glib/gtestutils.h \ - /usr/include/glib-2.0/glib/gthreadpool.h \ - /usr/include/glib-2.0/glib/gtimer.h \ - /usr/include/glib-2.0/glib/gtrashstack.h \ - /usr/include/glib-2.0/glib/gtree.h \ - /usr/include/glib-2.0/glib/gurifuncs.h \ - /usr/include/glib-2.0/glib/gvarianttype.h \ - /usr/include/glib-2.0/glib/gvariant.h \ - /usr/include/glib-2.0/glib/gversion.h \ - /usr/include/glib-2.0/glib/deprecated/gallocator.h \ - /usr/include/glib-2.0/glib/deprecated/gcache.h \ - /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ - /usr/include/glib-2.0/glib/deprecated/gmain.h \ - /usr/include/glib-2.0/glib/deprecated/grel.h \ - /usr/include/glib-2.0/glib/deprecated/gthread.h /usr/include/pthread.h \ - /usr/include/sched.h /usr/include/arm-linux-gnueabihf/bits/sched.h \ - /usr/include/arm-linux-gnueabihf/bits/setjmp.h btio/btio.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/stdlib.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/include/arm-linux-gnueabihf/bits/waitflags.h: - -/usr/include/arm-linux-gnueabihf/bits/waitstatus.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/xlocale.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/time.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/alloca.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-float.h: - -/usr/include/unistd.h: - -/usr/include/arm-linux-gnueabihf/bits/posix_opt.h: - -/usr/include/arm-linux-gnueabihf/bits/environments.h: - -/usr/include/arm-linux-gnueabihf/bits/confname.h: - -/usr/include/getopt.h: - -/usr/include/errno.h: - -/usr/include/arm-linux-gnueabihf/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/arm-linux-gnueabihf/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/include/poll.h: - -/usr/include/arm-linux-gnueabihf/sys/poll.h: - -/usr/include/arm-linux-gnueabihf/bits/poll.h: - -/usr/include/arm-linux-gnueabihf/sys/socket.h: - -/usr/include/arm-linux-gnueabihf/sys/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/socket.h: - -/usr/include/arm-linux-gnueabihf/bits/socket_type.h: - -/usr/include/arm-linux-gnueabihf/bits/sockaddr.h: - -/usr/include/arm-linux-gnueabihf/asm/socket.h: - -/usr/include/asm-generic/socket.h: - -/usr/include/arm-linux-gnueabihf/asm/sockios.h: - -/usr/include/asm-generic/sockios.h: - -lib/bluetooth/bluetooth.h: - -/usr/include/stdio.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/sys_errlist.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/arm-linux-gnueabihf/bits/wchar.h: - -/usr/include/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string2.h: - -/usr/include/byteswap.h: - -/usr/include/netinet/in.h: - -/usr/include/arm-linux-gnueabihf/bits/in.h: - -lib/bluetooth/l2cap.h: - -lib/bluetooth/rfcomm.h: - -lib/bluetooth/sco.h: - -/usr/include/glib-2.0/glib.h: - -/usr/include/glib-2.0/glib/galloca.h: - -/usr/include/glib-2.0/glib/gtypes.h: - -/usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h: - -/usr/include/glib-2.0/glib/gmacros.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h: - -/usr/include/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/local_lim.h: - -/usr/include/linux/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix2_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/xopen_lim.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h: - -/usr/include/glib-2.0/glib/gversionmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/timex.h: - -/usr/include/glib-2.0/glib/garray.h: - -/usr/include/glib-2.0/glib/gasyncqueue.h: - -/usr/include/glib-2.0/glib/gthread.h: - -/usr/include/glib-2.0/glib/gatomic.h: - -/usr/include/glib-2.0/glib/gerror.h: - -/usr/include/glib-2.0/glib/gquark.h: - -/usr/include/glib-2.0/glib/gbacktrace.h: - -/usr/include/signal.h: - -/usr/include/arm-linux-gnueabihf/bits/signum.h: - -/usr/include/arm-linux-gnueabihf/bits/siginfo.h: - -/usr/include/arm-linux-gnueabihf/bits/sigaction.h: - -/usr/include/arm-linux-gnueabihf/bits/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/asm/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigstack.h: - -/usr/include/arm-linux-gnueabihf/sys/ucontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigthread.h: - -/usr/include/glib-2.0/glib/gbase64.h: - -/usr/include/glib-2.0/glib/gbitlock.h: - -/usr/include/glib-2.0/glib/gbookmarkfile.h: - -/usr/include/glib-2.0/glib/gbytes.h: - -/usr/include/glib-2.0/glib/gcharset.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/gconvert.h: - -/usr/include/glib-2.0/glib/gdataset.h: - -/usr/include/glib-2.0/glib/gdate.h: - -/usr/include/glib-2.0/glib/gdatetime.h: - -/usr/include/glib-2.0/glib/gtimezone.h: - -/usr/include/glib-2.0/glib/gdir.h: - -/usr/include/dirent.h: - -/usr/include/arm-linux-gnueabihf/bits/dirent.h: - -/usr/include/glib-2.0/glib/genviron.h: - -/usr/include/glib-2.0/glib/gfileutils.h: - -/usr/include/glib-2.0/glib/ggettext.h: - -/usr/include/glib-2.0/glib/ghash.h: - -/usr/include/glib-2.0/glib/glist.h: - -/usr/include/glib-2.0/glib/gmem.h: - -/usr/include/glib-2.0/glib/gnode.h: - -/usr/include/glib-2.0/glib/ghmac.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/ghook.h: - -/usr/include/glib-2.0/glib/ghostutils.h: - -/usr/include/glib-2.0/glib/giochannel.h: - -/usr/include/glib-2.0/glib/gmain.h: - -/usr/include/glib-2.0/glib/gpoll.h: - -/usr/include/glib-2.0/glib/gslist.h: - -/usr/include/glib-2.0/glib/gstring.h: - -/usr/include/glib-2.0/glib/gunicode.h: - -/usr/include/glib-2.0/glib/gutils.h: - -/usr/include/glib-2.0/glib/gkeyfile.h: - -/usr/include/glib-2.0/glib/gmappedfile.h: - -/usr/include/glib-2.0/glib/gmarkup.h: - -/usr/include/glib-2.0/glib/gmessages.h: - -/usr/include/glib-2.0/glib/goption.h: - -/usr/include/glib-2.0/glib/gpattern.h: - -/usr/include/glib-2.0/glib/gprimes.h: - -/usr/include/glib-2.0/glib/gqsort.h: - -/usr/include/glib-2.0/glib/gqueue.h: - -/usr/include/glib-2.0/glib/grand.h: - -/usr/include/glib-2.0/glib/gregex.h: - -/usr/include/glib-2.0/glib/gscanner.h: - -/usr/include/glib-2.0/glib/gsequence.h: - -/usr/include/glib-2.0/glib/gshell.h: - -/usr/include/glib-2.0/glib/gslice.h: - -/usr/include/glib-2.0/glib/gspawn.h: - -/usr/include/glib-2.0/glib/gstrfuncs.h: - -/usr/include/glib-2.0/glib/gstringchunk.h: - -/usr/include/glib-2.0/glib/gtestutils.h: - -/usr/include/glib-2.0/glib/gthreadpool.h: - -/usr/include/glib-2.0/glib/gtimer.h: - -/usr/include/glib-2.0/glib/gtrashstack.h: - -/usr/include/glib-2.0/glib/gtree.h: - -/usr/include/glib-2.0/glib/gurifuncs.h: - -/usr/include/glib-2.0/glib/gvarianttype.h: - -/usr/include/glib-2.0/glib/gvariant.h: - -/usr/include/glib-2.0/glib/gversion.h: - -/usr/include/glib-2.0/glib/deprecated/gallocator.h: - -/usr/include/glib-2.0/glib/deprecated/gcache.h: - -/usr/include/glib-2.0/glib/deprecated/gcompletion.h: - -/usr/include/glib-2.0/glib/deprecated/gmain.h: - -/usr/include/glib-2.0/glib/deprecated/grel.h: - -/usr/include/glib-2.0/glib/deprecated/gthread.h: - -/usr/include/pthread.h: - -/usr/include/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/setjmp.h: - -btio/btio.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/btio/.deps/btio.Po b/GRIB_BLE_HUB/libs/ble_extend/btio/.deps/btio.Po deleted file mode 100644 index fb58dee..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/btio/.deps/btio.Po +++ /dev/null @@ -1,489 +0,0 @@ -btio/btio.o: btio/btio.c /usr/include/stdc-predef.h config.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/stdlib.h /usr/include/features.h \ - /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/include/arm-linux-gnueabihf/bits/waitflags.h \ - /usr/include/arm-linux-gnueabihf/bits/waitstatus.h /usr/include/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/xlocale.h /usr/include/arm-linux-gnueabihf/sys/types.h \ - /usr/include/time.h /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/alloca.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-float.h \ - /usr/include/unistd.h /usr/include/arm-linux-gnueabihf/bits/posix_opt.h \ - /usr/include/arm-linux-gnueabihf/bits/environments.h \ - /usr/include/arm-linux-gnueabihf/bits/confname.h /usr/include/getopt.h \ - /usr/include/errno.h /usr/include/arm-linux-gnueabihf/bits/errno.h \ - /usr/include/linux/errno.h /usr/include/arm-linux-gnueabihf/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/include/poll.h /usr/include/arm-linux-gnueabihf/sys/poll.h \ - /usr/include/arm-linux-gnueabihf/bits/poll.h \ - /usr/include/arm-linux-gnueabihf/sys/socket.h \ - /usr/include/arm-linux-gnueabihf/sys/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/socket.h \ - /usr/include/arm-linux-gnueabihf/bits/socket_type.h \ - /usr/include/arm-linux-gnueabihf/bits/sockaddr.h \ - /usr/include/arm-linux-gnueabihf/asm/socket.h \ - /usr/include/asm-generic/socket.h \ - /usr/include/arm-linux-gnueabihf/asm/sockios.h \ - /usr/include/asm-generic/sockios.h lib/bluetooth/bluetooth.h \ - /usr/include/stdio.h /usr/include/libio.h /usr/include/_G_config.h \ - /usr/include/wchar.h /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/sys_errlist.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h \ - /usr/include/stdint.h /usr/include/arm-linux-gnueabihf/bits/wchar.h \ - /usr/include/string.h /usr/include/arm-linux-gnueabihf/bits/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string2.h /usr/include/byteswap.h \ - /usr/include/netinet/in.h /usr/include/arm-linux-gnueabihf/bits/in.h \ - lib/bluetooth/l2cap.h lib/bluetooth/rfcomm.h lib/bluetooth/sco.h \ - /usr/include/glib-2.0/glib.h /usr/include/glib-2.0/glib/galloca.h \ - /usr/include/glib-2.0/glib/gtypes.h \ - /usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h \ - /usr/include/glib-2.0/glib/gmacros.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h \ - /usr/include/limits.h /usr/include/arm-linux-gnueabihf/bits/posix1_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/local_lim.h \ - /usr/include/linux/limits.h \ - /usr/include/arm-linux-gnueabihf/bits/posix2_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/xopen_lim.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h \ - /usr/include/glib-2.0/glib/gversionmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/timex.h \ - /usr/include/glib-2.0/glib/garray.h \ - /usr/include/glib-2.0/glib/gasyncqueue.h \ - /usr/include/glib-2.0/glib/gthread.h \ - /usr/include/glib-2.0/glib/gatomic.h /usr/include/glib-2.0/glib/gerror.h \ - /usr/include/glib-2.0/glib/gquark.h \ - /usr/include/glib-2.0/glib/gbacktrace.h /usr/include/signal.h \ - /usr/include/arm-linux-gnueabihf/bits/signum.h \ - /usr/include/arm-linux-gnueabihf/bits/siginfo.h \ - /usr/include/arm-linux-gnueabihf/bits/sigaction.h \ - /usr/include/arm-linux-gnueabihf/bits/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/asm/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigstack.h \ - /usr/include/arm-linux-gnueabihf/sys/ucontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigthread.h \ - /usr/include/glib-2.0/glib/gbase64.h \ - /usr/include/glib-2.0/glib/gbitlock.h \ - /usr/include/glib-2.0/glib/gbookmarkfile.h \ - /usr/include/glib-2.0/glib/gbytes.h \ - /usr/include/glib-2.0/glib/gcharset.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/gconvert.h \ - /usr/include/glib-2.0/glib/gdataset.h /usr/include/glib-2.0/glib/gdate.h \ - /usr/include/glib-2.0/glib/gdatetime.h \ - /usr/include/glib-2.0/glib/gtimezone.h /usr/include/glib-2.0/glib/gdir.h \ - /usr/include/dirent.h /usr/include/arm-linux-gnueabihf/bits/dirent.h \ - /usr/include/glib-2.0/glib/genviron.h \ - /usr/include/glib-2.0/glib/gfileutils.h \ - /usr/include/glib-2.0/glib/ggettext.h /usr/include/glib-2.0/glib/ghash.h \ - /usr/include/glib-2.0/glib/glist.h /usr/include/glib-2.0/glib/gmem.h \ - /usr/include/glib-2.0/glib/gnode.h /usr/include/glib-2.0/glib/ghmac.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/ghook.h \ - /usr/include/glib-2.0/glib/ghostutils.h \ - /usr/include/glib-2.0/glib/giochannel.h \ - /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gpoll.h \ - /usr/include/glib-2.0/glib/gslist.h /usr/include/glib-2.0/glib/gstring.h \ - /usr/include/glib-2.0/glib/gunicode.h \ - /usr/include/glib-2.0/glib/gutils.h \ - /usr/include/glib-2.0/glib/gkeyfile.h \ - /usr/include/glib-2.0/glib/gmappedfile.h \ - /usr/include/glib-2.0/glib/gmarkup.h \ - /usr/include/glib-2.0/glib/gmessages.h \ - /usr/include/glib-2.0/glib/goption.h \ - /usr/include/glib-2.0/glib/gpattern.h \ - /usr/include/glib-2.0/glib/gprimes.h /usr/include/glib-2.0/glib/gqsort.h \ - /usr/include/glib-2.0/glib/gqueue.h /usr/include/glib-2.0/glib/grand.h \ - /usr/include/glib-2.0/glib/gregex.h \ - /usr/include/glib-2.0/glib/gscanner.h \ - /usr/include/glib-2.0/glib/gsequence.h \ - /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gslice.h \ - /usr/include/glib-2.0/glib/gspawn.h \ - /usr/include/glib-2.0/glib/gstrfuncs.h \ - /usr/include/glib-2.0/glib/gstringchunk.h \ - /usr/include/glib-2.0/glib/gtestutils.h \ - /usr/include/glib-2.0/glib/gthreadpool.h \ - /usr/include/glib-2.0/glib/gtimer.h \ - /usr/include/glib-2.0/glib/gtrashstack.h \ - /usr/include/glib-2.0/glib/gtree.h \ - /usr/include/glib-2.0/glib/gurifuncs.h \ - /usr/include/glib-2.0/glib/gvarianttype.h \ - /usr/include/glib-2.0/glib/gvariant.h \ - /usr/include/glib-2.0/glib/gversion.h \ - /usr/include/glib-2.0/glib/deprecated/gallocator.h \ - /usr/include/glib-2.0/glib/deprecated/gcache.h \ - /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ - /usr/include/glib-2.0/glib/deprecated/gmain.h \ - /usr/include/glib-2.0/glib/deprecated/grel.h \ - /usr/include/glib-2.0/glib/deprecated/gthread.h /usr/include/pthread.h \ - /usr/include/sched.h /usr/include/arm-linux-gnueabihf/bits/sched.h \ - /usr/include/arm-linux-gnueabihf/bits/setjmp.h btio/btio.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/stdlib.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/include/arm-linux-gnueabihf/bits/waitflags.h: - -/usr/include/arm-linux-gnueabihf/bits/waitstatus.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/xlocale.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/time.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/alloca.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-float.h: - -/usr/include/unistd.h: - -/usr/include/arm-linux-gnueabihf/bits/posix_opt.h: - -/usr/include/arm-linux-gnueabihf/bits/environments.h: - -/usr/include/arm-linux-gnueabihf/bits/confname.h: - -/usr/include/getopt.h: - -/usr/include/errno.h: - -/usr/include/arm-linux-gnueabihf/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/arm-linux-gnueabihf/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/include/poll.h: - -/usr/include/arm-linux-gnueabihf/sys/poll.h: - -/usr/include/arm-linux-gnueabihf/bits/poll.h: - -/usr/include/arm-linux-gnueabihf/sys/socket.h: - -/usr/include/arm-linux-gnueabihf/sys/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/socket.h: - -/usr/include/arm-linux-gnueabihf/bits/socket_type.h: - -/usr/include/arm-linux-gnueabihf/bits/sockaddr.h: - -/usr/include/arm-linux-gnueabihf/asm/socket.h: - -/usr/include/asm-generic/socket.h: - -/usr/include/arm-linux-gnueabihf/asm/sockios.h: - -/usr/include/asm-generic/sockios.h: - -lib/bluetooth/bluetooth.h: - -/usr/include/stdio.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/sys_errlist.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/arm-linux-gnueabihf/bits/wchar.h: - -/usr/include/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string2.h: - -/usr/include/byteswap.h: - -/usr/include/netinet/in.h: - -/usr/include/arm-linux-gnueabihf/bits/in.h: - -lib/bluetooth/l2cap.h: - -lib/bluetooth/rfcomm.h: - -lib/bluetooth/sco.h: - -/usr/include/glib-2.0/glib.h: - -/usr/include/glib-2.0/glib/galloca.h: - -/usr/include/glib-2.0/glib/gtypes.h: - -/usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h: - -/usr/include/glib-2.0/glib/gmacros.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h: - -/usr/include/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/local_lim.h: - -/usr/include/linux/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix2_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/xopen_lim.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h: - -/usr/include/glib-2.0/glib/gversionmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/timex.h: - -/usr/include/glib-2.0/glib/garray.h: - -/usr/include/glib-2.0/glib/gasyncqueue.h: - -/usr/include/glib-2.0/glib/gthread.h: - -/usr/include/glib-2.0/glib/gatomic.h: - -/usr/include/glib-2.0/glib/gerror.h: - -/usr/include/glib-2.0/glib/gquark.h: - -/usr/include/glib-2.0/glib/gbacktrace.h: - -/usr/include/signal.h: - -/usr/include/arm-linux-gnueabihf/bits/signum.h: - -/usr/include/arm-linux-gnueabihf/bits/siginfo.h: - -/usr/include/arm-linux-gnueabihf/bits/sigaction.h: - -/usr/include/arm-linux-gnueabihf/bits/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/asm/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigstack.h: - -/usr/include/arm-linux-gnueabihf/sys/ucontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigthread.h: - -/usr/include/glib-2.0/glib/gbase64.h: - -/usr/include/glib-2.0/glib/gbitlock.h: - -/usr/include/glib-2.0/glib/gbookmarkfile.h: - -/usr/include/glib-2.0/glib/gbytes.h: - -/usr/include/glib-2.0/glib/gcharset.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/gconvert.h: - -/usr/include/glib-2.0/glib/gdataset.h: - -/usr/include/glib-2.0/glib/gdate.h: - -/usr/include/glib-2.0/glib/gdatetime.h: - -/usr/include/glib-2.0/glib/gtimezone.h: - -/usr/include/glib-2.0/glib/gdir.h: - -/usr/include/dirent.h: - -/usr/include/arm-linux-gnueabihf/bits/dirent.h: - -/usr/include/glib-2.0/glib/genviron.h: - -/usr/include/glib-2.0/glib/gfileutils.h: - -/usr/include/glib-2.0/glib/ggettext.h: - -/usr/include/glib-2.0/glib/ghash.h: - -/usr/include/glib-2.0/glib/glist.h: - -/usr/include/glib-2.0/glib/gmem.h: - -/usr/include/glib-2.0/glib/gnode.h: - -/usr/include/glib-2.0/glib/ghmac.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/ghook.h: - -/usr/include/glib-2.0/glib/ghostutils.h: - -/usr/include/glib-2.0/glib/giochannel.h: - -/usr/include/glib-2.0/glib/gmain.h: - -/usr/include/glib-2.0/glib/gpoll.h: - -/usr/include/glib-2.0/glib/gslist.h: - -/usr/include/glib-2.0/glib/gstring.h: - -/usr/include/glib-2.0/glib/gunicode.h: - -/usr/include/glib-2.0/glib/gutils.h: - -/usr/include/glib-2.0/glib/gkeyfile.h: - -/usr/include/glib-2.0/glib/gmappedfile.h: - -/usr/include/glib-2.0/glib/gmarkup.h: - -/usr/include/glib-2.0/glib/gmessages.h: - -/usr/include/glib-2.0/glib/goption.h: - -/usr/include/glib-2.0/glib/gpattern.h: - -/usr/include/glib-2.0/glib/gprimes.h: - -/usr/include/glib-2.0/glib/gqsort.h: - -/usr/include/glib-2.0/glib/gqueue.h: - -/usr/include/glib-2.0/glib/grand.h: - -/usr/include/glib-2.0/glib/gregex.h: - -/usr/include/glib-2.0/glib/gscanner.h: - -/usr/include/glib-2.0/glib/gsequence.h: - -/usr/include/glib-2.0/glib/gshell.h: - -/usr/include/glib-2.0/glib/gslice.h: - -/usr/include/glib-2.0/glib/gspawn.h: - -/usr/include/glib-2.0/glib/gstrfuncs.h: - -/usr/include/glib-2.0/glib/gstringchunk.h: - -/usr/include/glib-2.0/glib/gtestutils.h: - -/usr/include/glib-2.0/glib/gthreadpool.h: - -/usr/include/glib-2.0/glib/gtimer.h: - -/usr/include/glib-2.0/glib/gtrashstack.h: - -/usr/include/glib-2.0/glib/gtree.h: - -/usr/include/glib-2.0/glib/gurifuncs.h: - -/usr/include/glib-2.0/glib/gvarianttype.h: - -/usr/include/glib-2.0/glib/gvariant.h: - -/usr/include/glib-2.0/glib/gversion.h: - -/usr/include/glib-2.0/glib/deprecated/gallocator.h: - -/usr/include/glib-2.0/glib/deprecated/gcache.h: - -/usr/include/glib-2.0/glib/deprecated/gcompletion.h: - -/usr/include/glib-2.0/glib/deprecated/gmain.h: - -/usr/include/glib-2.0/glib/deprecated/grel.h: - -/usr/include/glib-2.0/glib/deprecated/gthread.h: - -/usr/include/pthread.h: - -/usr/include/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/setjmp.h: - -btio/btio.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/btio/.deps/obexd-btio.Po b/GRIB_BLE_HUB/libs/ble_extend/btio/.deps/obexd-btio.Po deleted file mode 100644 index 3f05f56..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/btio/.deps/obexd-btio.Po +++ /dev/null @@ -1,489 +0,0 @@ -btio/obexd-btio.o: btio/btio.c /usr/include/stdc-predef.h config.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/stdlib.h /usr/include/features.h \ - /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/include/arm-linux-gnueabihf/bits/waitflags.h \ - /usr/include/arm-linux-gnueabihf/bits/waitstatus.h /usr/include/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/xlocale.h /usr/include/arm-linux-gnueabihf/sys/types.h \ - /usr/include/time.h /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/alloca.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-float.h \ - /usr/include/unistd.h /usr/include/arm-linux-gnueabihf/bits/posix_opt.h \ - /usr/include/arm-linux-gnueabihf/bits/environments.h \ - /usr/include/arm-linux-gnueabihf/bits/confname.h /usr/include/getopt.h \ - /usr/include/errno.h /usr/include/arm-linux-gnueabihf/bits/errno.h \ - /usr/include/linux/errno.h /usr/include/arm-linux-gnueabihf/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/include/poll.h /usr/include/arm-linux-gnueabihf/sys/poll.h \ - /usr/include/arm-linux-gnueabihf/bits/poll.h \ - /usr/include/arm-linux-gnueabihf/sys/socket.h \ - /usr/include/arm-linux-gnueabihf/sys/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/socket.h \ - /usr/include/arm-linux-gnueabihf/bits/socket_type.h \ - /usr/include/arm-linux-gnueabihf/bits/sockaddr.h \ - /usr/include/arm-linux-gnueabihf/asm/socket.h \ - /usr/include/asm-generic/socket.h \ - /usr/include/arm-linux-gnueabihf/asm/sockios.h \ - /usr/include/asm-generic/sockios.h lib/bluetooth/bluetooth.h \ - /usr/include/stdio.h /usr/include/libio.h /usr/include/_G_config.h \ - /usr/include/wchar.h /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/sys_errlist.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h \ - /usr/include/stdint.h /usr/include/arm-linux-gnueabihf/bits/wchar.h \ - /usr/include/string.h /usr/include/arm-linux-gnueabihf/bits/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string2.h /usr/include/byteswap.h \ - /usr/include/netinet/in.h /usr/include/arm-linux-gnueabihf/bits/in.h \ - lib/bluetooth/l2cap.h lib/bluetooth/rfcomm.h lib/bluetooth/sco.h \ - /usr/include/glib-2.0/glib.h /usr/include/glib-2.0/glib/galloca.h \ - /usr/include/glib-2.0/glib/gtypes.h \ - /usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h \ - /usr/include/glib-2.0/glib/gmacros.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h \ - /usr/include/limits.h /usr/include/arm-linux-gnueabihf/bits/posix1_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/local_lim.h \ - /usr/include/linux/limits.h \ - /usr/include/arm-linux-gnueabihf/bits/posix2_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/xopen_lim.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h \ - /usr/include/glib-2.0/glib/gversionmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/timex.h \ - /usr/include/glib-2.0/glib/garray.h \ - /usr/include/glib-2.0/glib/gasyncqueue.h \ - /usr/include/glib-2.0/glib/gthread.h \ - /usr/include/glib-2.0/glib/gatomic.h /usr/include/glib-2.0/glib/gerror.h \ - /usr/include/glib-2.0/glib/gquark.h \ - /usr/include/glib-2.0/glib/gbacktrace.h /usr/include/signal.h \ - /usr/include/arm-linux-gnueabihf/bits/signum.h \ - /usr/include/arm-linux-gnueabihf/bits/siginfo.h \ - /usr/include/arm-linux-gnueabihf/bits/sigaction.h \ - /usr/include/arm-linux-gnueabihf/bits/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/asm/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigstack.h \ - /usr/include/arm-linux-gnueabihf/sys/ucontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigthread.h \ - /usr/include/glib-2.0/glib/gbase64.h \ - /usr/include/glib-2.0/glib/gbitlock.h \ - /usr/include/glib-2.0/glib/gbookmarkfile.h \ - /usr/include/glib-2.0/glib/gbytes.h \ - /usr/include/glib-2.0/glib/gcharset.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/gconvert.h \ - /usr/include/glib-2.0/glib/gdataset.h /usr/include/glib-2.0/glib/gdate.h \ - /usr/include/glib-2.0/glib/gdatetime.h \ - /usr/include/glib-2.0/glib/gtimezone.h /usr/include/glib-2.0/glib/gdir.h \ - /usr/include/dirent.h /usr/include/arm-linux-gnueabihf/bits/dirent.h \ - /usr/include/glib-2.0/glib/genviron.h \ - /usr/include/glib-2.0/glib/gfileutils.h \ - /usr/include/glib-2.0/glib/ggettext.h /usr/include/glib-2.0/glib/ghash.h \ - /usr/include/glib-2.0/glib/glist.h /usr/include/glib-2.0/glib/gmem.h \ - /usr/include/glib-2.0/glib/gnode.h /usr/include/glib-2.0/glib/ghmac.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/ghook.h \ - /usr/include/glib-2.0/glib/ghostutils.h \ - /usr/include/glib-2.0/glib/giochannel.h \ - /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gpoll.h \ - /usr/include/glib-2.0/glib/gslist.h /usr/include/glib-2.0/glib/gstring.h \ - /usr/include/glib-2.0/glib/gunicode.h \ - /usr/include/glib-2.0/glib/gutils.h \ - /usr/include/glib-2.0/glib/gkeyfile.h \ - /usr/include/glib-2.0/glib/gmappedfile.h \ - /usr/include/glib-2.0/glib/gmarkup.h \ - /usr/include/glib-2.0/glib/gmessages.h \ - /usr/include/glib-2.0/glib/goption.h \ - /usr/include/glib-2.0/glib/gpattern.h \ - /usr/include/glib-2.0/glib/gprimes.h /usr/include/glib-2.0/glib/gqsort.h \ - /usr/include/glib-2.0/glib/gqueue.h /usr/include/glib-2.0/glib/grand.h \ - /usr/include/glib-2.0/glib/gregex.h \ - /usr/include/glib-2.0/glib/gscanner.h \ - /usr/include/glib-2.0/glib/gsequence.h \ - /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gslice.h \ - /usr/include/glib-2.0/glib/gspawn.h \ - /usr/include/glib-2.0/glib/gstrfuncs.h \ - /usr/include/glib-2.0/glib/gstringchunk.h \ - /usr/include/glib-2.0/glib/gtestutils.h \ - /usr/include/glib-2.0/glib/gthreadpool.h \ - /usr/include/glib-2.0/glib/gtimer.h \ - /usr/include/glib-2.0/glib/gtrashstack.h \ - /usr/include/glib-2.0/glib/gtree.h \ - /usr/include/glib-2.0/glib/gurifuncs.h \ - /usr/include/glib-2.0/glib/gvarianttype.h \ - /usr/include/glib-2.0/glib/gvariant.h \ - /usr/include/glib-2.0/glib/gversion.h \ - /usr/include/glib-2.0/glib/deprecated/gallocator.h \ - /usr/include/glib-2.0/glib/deprecated/gcache.h \ - /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ - /usr/include/glib-2.0/glib/deprecated/gmain.h \ - /usr/include/glib-2.0/glib/deprecated/grel.h \ - /usr/include/glib-2.0/glib/deprecated/gthread.h /usr/include/pthread.h \ - /usr/include/sched.h /usr/include/arm-linux-gnueabihf/bits/sched.h \ - /usr/include/arm-linux-gnueabihf/bits/setjmp.h btio/btio.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/stdlib.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/include/arm-linux-gnueabihf/bits/waitflags.h: - -/usr/include/arm-linux-gnueabihf/bits/waitstatus.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/xlocale.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/time.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/alloca.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-float.h: - -/usr/include/unistd.h: - -/usr/include/arm-linux-gnueabihf/bits/posix_opt.h: - -/usr/include/arm-linux-gnueabihf/bits/environments.h: - -/usr/include/arm-linux-gnueabihf/bits/confname.h: - -/usr/include/getopt.h: - -/usr/include/errno.h: - -/usr/include/arm-linux-gnueabihf/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/arm-linux-gnueabihf/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/include/poll.h: - -/usr/include/arm-linux-gnueabihf/sys/poll.h: - -/usr/include/arm-linux-gnueabihf/bits/poll.h: - -/usr/include/arm-linux-gnueabihf/sys/socket.h: - -/usr/include/arm-linux-gnueabihf/sys/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/socket.h: - -/usr/include/arm-linux-gnueabihf/bits/socket_type.h: - -/usr/include/arm-linux-gnueabihf/bits/sockaddr.h: - -/usr/include/arm-linux-gnueabihf/asm/socket.h: - -/usr/include/asm-generic/socket.h: - -/usr/include/arm-linux-gnueabihf/asm/sockios.h: - -/usr/include/asm-generic/sockios.h: - -lib/bluetooth/bluetooth.h: - -/usr/include/stdio.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/sys_errlist.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/arm-linux-gnueabihf/bits/wchar.h: - -/usr/include/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string2.h: - -/usr/include/byteswap.h: - -/usr/include/netinet/in.h: - -/usr/include/arm-linux-gnueabihf/bits/in.h: - -lib/bluetooth/l2cap.h: - -lib/bluetooth/rfcomm.h: - -lib/bluetooth/sco.h: - -/usr/include/glib-2.0/glib.h: - -/usr/include/glib-2.0/glib/galloca.h: - -/usr/include/glib-2.0/glib/gtypes.h: - -/usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h: - -/usr/include/glib-2.0/glib/gmacros.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h: - -/usr/include/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/local_lim.h: - -/usr/include/linux/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix2_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/xopen_lim.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h: - -/usr/include/glib-2.0/glib/gversionmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/timex.h: - -/usr/include/glib-2.0/glib/garray.h: - -/usr/include/glib-2.0/glib/gasyncqueue.h: - -/usr/include/glib-2.0/glib/gthread.h: - -/usr/include/glib-2.0/glib/gatomic.h: - -/usr/include/glib-2.0/glib/gerror.h: - -/usr/include/glib-2.0/glib/gquark.h: - -/usr/include/glib-2.0/glib/gbacktrace.h: - -/usr/include/signal.h: - -/usr/include/arm-linux-gnueabihf/bits/signum.h: - -/usr/include/arm-linux-gnueabihf/bits/siginfo.h: - -/usr/include/arm-linux-gnueabihf/bits/sigaction.h: - -/usr/include/arm-linux-gnueabihf/bits/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/asm/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigstack.h: - -/usr/include/arm-linux-gnueabihf/sys/ucontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigthread.h: - -/usr/include/glib-2.0/glib/gbase64.h: - -/usr/include/glib-2.0/glib/gbitlock.h: - -/usr/include/glib-2.0/glib/gbookmarkfile.h: - -/usr/include/glib-2.0/glib/gbytes.h: - -/usr/include/glib-2.0/glib/gcharset.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/gconvert.h: - -/usr/include/glib-2.0/glib/gdataset.h: - -/usr/include/glib-2.0/glib/gdate.h: - -/usr/include/glib-2.0/glib/gdatetime.h: - -/usr/include/glib-2.0/glib/gtimezone.h: - -/usr/include/glib-2.0/glib/gdir.h: - -/usr/include/dirent.h: - -/usr/include/arm-linux-gnueabihf/bits/dirent.h: - -/usr/include/glib-2.0/glib/genviron.h: - -/usr/include/glib-2.0/glib/gfileutils.h: - -/usr/include/glib-2.0/glib/ggettext.h: - -/usr/include/glib-2.0/glib/ghash.h: - -/usr/include/glib-2.0/glib/glist.h: - -/usr/include/glib-2.0/glib/gmem.h: - -/usr/include/glib-2.0/glib/gnode.h: - -/usr/include/glib-2.0/glib/ghmac.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/ghook.h: - -/usr/include/glib-2.0/glib/ghostutils.h: - -/usr/include/glib-2.0/glib/giochannel.h: - -/usr/include/glib-2.0/glib/gmain.h: - -/usr/include/glib-2.0/glib/gpoll.h: - -/usr/include/glib-2.0/glib/gslist.h: - -/usr/include/glib-2.0/glib/gstring.h: - -/usr/include/glib-2.0/glib/gunicode.h: - -/usr/include/glib-2.0/glib/gutils.h: - -/usr/include/glib-2.0/glib/gkeyfile.h: - -/usr/include/glib-2.0/glib/gmappedfile.h: - -/usr/include/glib-2.0/glib/gmarkup.h: - -/usr/include/glib-2.0/glib/gmessages.h: - -/usr/include/glib-2.0/glib/goption.h: - -/usr/include/glib-2.0/glib/gpattern.h: - -/usr/include/glib-2.0/glib/gprimes.h: - -/usr/include/glib-2.0/glib/gqsort.h: - -/usr/include/glib-2.0/glib/gqueue.h: - -/usr/include/glib-2.0/glib/grand.h: - -/usr/include/glib-2.0/glib/gregex.h: - -/usr/include/glib-2.0/glib/gscanner.h: - -/usr/include/glib-2.0/glib/gsequence.h: - -/usr/include/glib-2.0/glib/gshell.h: - -/usr/include/glib-2.0/glib/gslice.h: - -/usr/include/glib-2.0/glib/gspawn.h: - -/usr/include/glib-2.0/glib/gstrfuncs.h: - -/usr/include/glib-2.0/glib/gstringchunk.h: - -/usr/include/glib-2.0/glib/gtestutils.h: - -/usr/include/glib-2.0/glib/gthreadpool.h: - -/usr/include/glib-2.0/glib/gtimer.h: - -/usr/include/glib-2.0/glib/gtrashstack.h: - -/usr/include/glib-2.0/glib/gtree.h: - -/usr/include/glib-2.0/glib/gurifuncs.h: - -/usr/include/glib-2.0/glib/gvarianttype.h: - -/usr/include/glib-2.0/glib/gvariant.h: - -/usr/include/glib-2.0/glib/gversion.h: - -/usr/include/glib-2.0/glib/deprecated/gallocator.h: - -/usr/include/glib-2.0/glib/deprecated/gcache.h: - -/usr/include/glib-2.0/glib/deprecated/gcompletion.h: - -/usr/include/glib-2.0/glib/deprecated/gmain.h: - -/usr/include/glib-2.0/glib/deprecated/grel.h: - -/usr/include/glib-2.0/glib/deprecated/gthread.h: - -/usr/include/pthread.h: - -/usr/include/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/setjmp.h: - -btio/btio.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/btio/.dirstamp b/GRIB_BLE_HUB/libs/ble_extend/btio/.dirstamp deleted file mode 100644 index e69de29..0000000 diff --git a/GRIB_BLE_HUB/libs/ble_extend/btio/btio.c b/GRIB_BLE_HUB/libs/ble_extend/btio/btio.c deleted file mode 100644 index bbf1208..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/btio/btio.c +++ /dev/null @@ -1,1487 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2009-2010 Marcel Holtmann - * Copyright (C) 2009-2010 Nokia Corporation - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif - -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include - -#include - -#include "btio.h" - -#ifndef BT_FLUSHABLE -#define BT_FLUSHABLE 8 -#endif - -#define ERROR_FAILED(gerr, str, err) \ - g_set_error(gerr, BT_IO_ERROR, err, \ - str ": %s (%d)", strerror(err), err) - -#define DEFAULT_DEFER_TIMEOUT 30 - -typedef enum { - BT_IO_L2CAP, - BT_IO_RFCOMM, - BT_IO_SCO, - BT_IO_INVALID, -} BtIOType; - -struct set_opts { - bdaddr_t src; - bdaddr_t dst; - BtIOType type; - uint8_t dst_type; - int defer; - int sec_level; - uint8_t channel; - uint16_t psm; - uint16_t cid; - uint16_t mtu; - uint16_t imtu; - uint16_t omtu; - int master; - uint8_t mode; - int flushable; - uint32_t priority; -}; - -struct connect { - BtIOConnect connect; - gpointer user_data; - GDestroyNotify destroy; -}; - -struct accept { - BtIOConnect connect; - gpointer user_data; - GDestroyNotify destroy; -}; - -struct server { - BtIOConnect connect; - BtIOConfirm confirm; - gpointer user_data; - GDestroyNotify destroy; -}; - -static BtIOType bt_io_get_type(GIOChannel *io, GError **gerr) -{ - int sk = g_io_channel_unix_get_fd(io); - int domain, proto, err; - socklen_t len; - - domain = 0; - len = sizeof(domain); - err = getsockopt(sk, SOL_SOCKET, SO_DOMAIN, &domain, &len); - if (err < 0) { - ERROR_FAILED(gerr, "getsockopt(SO_DOMAIN)", errno); - return BT_IO_INVALID; - } - - if (domain != AF_BLUETOOTH) { - g_set_error(gerr, BT_IO_ERROR, EINVAL, - "BtIO socket domain not AF_BLUETOOTH"); - return BT_IO_INVALID; - } - - proto = 0; - len = sizeof(proto); - err = getsockopt(sk, SOL_SOCKET, SO_PROTOCOL, &proto, &len); - if (err < 0) { - ERROR_FAILED(gerr, "getsockopt(SO_PROTOCOL)", errno); - return BT_IO_INVALID; - } - - switch (proto) { - case BTPROTO_RFCOMM: - return BT_IO_RFCOMM; - case BTPROTO_SCO: - return BT_IO_SCO; - case BTPROTO_L2CAP: - return BT_IO_L2CAP; - default: - g_set_error(gerr, BT_IO_ERROR, EINVAL, - "Unknown BtIO socket type"); - return BT_IO_INVALID; - } -} - -static void server_remove(struct server *server) -{ - if (server->destroy) - server->destroy(server->user_data); - g_free(server); -} - -static void connect_remove(struct connect *conn) -{ - if (conn->destroy) - conn->destroy(conn->user_data); - g_free(conn); -} - -static void accept_remove(struct accept *accept) -{ - if (accept->destroy) - accept->destroy(accept->user_data); - g_free(accept); -} - -static gboolean check_nval(GIOChannel *io) -{ - struct pollfd fds; - - memset(&fds, 0, sizeof(fds)); - fds.fd = g_io_channel_unix_get_fd(io); - fds.events = POLLNVAL; - - if (poll(&fds, 1, 0) > 0 && (fds.revents & POLLNVAL)) - return TRUE; - - return FALSE; -} - -static gboolean accept_cb(GIOChannel *io, GIOCondition cond, - gpointer user_data) -{ - struct accept *accept = user_data; - GError *gerr = NULL; - - /* If the user aborted this accept attempt */ - if ((cond & G_IO_NVAL) || check_nval(io)) - return FALSE; - - if (cond & (G_IO_HUP | G_IO_ERR)) { - int err, sk_err, sock = g_io_channel_unix_get_fd(io); - socklen_t len = sizeof(sk_err); - - if (getsockopt(sock, SOL_SOCKET, SO_ERROR, &sk_err, &len) < 0) - err = -errno; - else - err = -sk_err; - - if (err < 0) - ERROR_FAILED(&gerr, "HUP or ERR on socket", -err); - } - - accept->connect(io, gerr, accept->user_data); - - g_clear_error(&gerr); - - return FALSE; -} - -static gboolean connect_cb(GIOChannel *io, GIOCondition cond, - gpointer user_data) -{ - struct connect *conn = user_data; - GError *gerr = NULL; - int err, sk_err, sock; - socklen_t len = sizeof(sk_err); - - /* If the user aborted this connect attempt */ - if ((cond & G_IO_NVAL) || check_nval(io)) - return FALSE; - - sock = g_io_channel_unix_get_fd(io); - - if (getsockopt(sock, SOL_SOCKET, SO_ERROR, &sk_err, &len) < 0) - err = -errno; - else - err = -sk_err; - - if (err < 0) - ERROR_FAILED(&gerr, "connect error", -err); - - conn->connect(io, gerr, conn->user_data); - - g_clear_error(&gerr); - - return FALSE; -} - -static gboolean server_cb(GIOChannel *io, GIOCondition cond, - gpointer user_data) -{ - struct server *server = user_data; - int srv_sock, cli_sock; - GIOChannel *cli_io; - - /* If the user closed the server */ - if ((cond & G_IO_NVAL) || check_nval(io)) - return FALSE; - - srv_sock = g_io_channel_unix_get_fd(io); - - cli_sock = accept(srv_sock, NULL, NULL); - if (cli_sock < 0) - return TRUE; - - cli_io = g_io_channel_unix_new(cli_sock); - - g_io_channel_set_close_on_unref(cli_io, TRUE); - g_io_channel_set_flags(cli_io, G_IO_FLAG_NONBLOCK, NULL); - - if (server->confirm) - server->confirm(cli_io, server->user_data); - else - server->connect(cli_io, NULL, server->user_data); - - g_io_channel_unref(cli_io); - - return TRUE; -} - -static void server_add(GIOChannel *io, BtIOConnect connect, - BtIOConfirm confirm, gpointer user_data, - GDestroyNotify destroy) -{ - struct server *server; - GIOCondition cond; - - server = g_new0(struct server, 1); - server->connect = connect; - server->confirm = confirm; - server->user_data = user_data; - server->destroy = destroy; - - cond = G_IO_IN | G_IO_ERR | G_IO_HUP | G_IO_NVAL; - g_io_add_watch_full(io, G_PRIORITY_DEFAULT, cond, server_cb, server, - (GDestroyNotify) server_remove); -} - -static void connect_add(GIOChannel *io, BtIOConnect connect, - gpointer user_data, GDestroyNotify destroy) -{ - struct connect *conn; - GIOCondition cond; - - conn = g_new0(struct connect, 1); - conn->connect = connect; - conn->user_data = user_data; - conn->destroy = destroy; - - cond = G_IO_OUT | G_IO_ERR | G_IO_HUP | G_IO_NVAL; - g_io_add_watch_full(io, G_PRIORITY_DEFAULT, cond, connect_cb, conn, - (GDestroyNotify) connect_remove); -} - -static void accept_add(GIOChannel *io, BtIOConnect connect, gpointer user_data, - GDestroyNotify destroy) -{ - struct accept *accept; - GIOCondition cond; - - accept = g_new0(struct accept, 1); - accept->connect = connect; - accept->user_data = user_data; - accept->destroy = destroy; - - cond = G_IO_OUT | G_IO_ERR | G_IO_HUP | G_IO_NVAL; - g_io_add_watch_full(io, G_PRIORITY_DEFAULT, cond, accept_cb, accept, - (GDestroyNotify) accept_remove); -} - -static int l2cap_bind(int sock, const bdaddr_t *src, uint16_t psm, - uint16_t cid, GError **err) -{ - struct sockaddr_l2 addr; - - memset(&addr, 0, sizeof(addr)); - addr.l2_family = AF_BLUETOOTH; - bacpy(&addr.l2_bdaddr, src); - - if (cid) - addr.l2_cid = htobs(cid); - else - addr.l2_psm = htobs(psm); - - if (bind(sock, (struct sockaddr *) &addr, sizeof(addr)) < 0) { - int error = -errno; - ERROR_FAILED(err, "l2cap_bind", errno); - return error; - } - - return 0; -} - -static int l2cap_connect(int sock, const bdaddr_t *dst, uint8_t dst_type, - uint16_t psm, uint16_t cid) -{ - int err; - struct sockaddr_l2 addr; - - memset(&addr, 0, sizeof(addr)); - addr.l2_family = AF_BLUETOOTH; - bacpy(&addr.l2_bdaddr, dst); - if (cid) - addr.l2_cid = htobs(cid); - else - addr.l2_psm = htobs(psm); - - addr.l2_bdaddr_type = dst_type; - - err = connect(sock, (struct sockaddr *) &addr, sizeof(addr)); - if (err < 0 && !(errno == EAGAIN || errno == EINPROGRESS)) - return -errno; - - return 0; -} - -static int l2cap_set_master(int sock, int master) -{ - int flags; - socklen_t len; - - len = sizeof(flags); - if (getsockopt(sock, SOL_L2CAP, L2CAP_LM, &flags, &len) < 0) - return -errno; - - if (master) { - if (flags & L2CAP_LM_MASTER) - return 0; - flags |= L2CAP_LM_MASTER; - } else { - if (!(flags & L2CAP_LM_MASTER)) - return 0; - flags &= ~L2CAP_LM_MASTER; - } - - if (setsockopt(sock, SOL_L2CAP, L2CAP_LM, &flags, sizeof(flags)) < 0) - return -errno; - - return 0; -} - -static int rfcomm_set_master(int sock, int master) -{ - int flags; - socklen_t len; - - len = sizeof(flags); - if (getsockopt(sock, SOL_RFCOMM, RFCOMM_LM, &flags, &len) < 0) - return -errno; - - if (master) { - if (flags & RFCOMM_LM_MASTER) - return 0; - flags |= RFCOMM_LM_MASTER; - } else { - if (!(flags & RFCOMM_LM_MASTER)) - return 0; - flags &= ~RFCOMM_LM_MASTER; - } - - if (setsockopt(sock, SOL_RFCOMM, RFCOMM_LM, &flags, sizeof(flags)) < 0) - return -errno; - - return 0; -} - -static int l2cap_set_lm(int sock, int level) -{ - int lm_map[] = { - 0, - L2CAP_LM_AUTH, - L2CAP_LM_AUTH | L2CAP_LM_ENCRYPT, - L2CAP_LM_AUTH | L2CAP_LM_ENCRYPT | L2CAP_LM_SECURE, - }, opt = lm_map[level]; - - if (setsockopt(sock, SOL_L2CAP, L2CAP_LM, &opt, sizeof(opt)) < 0) - return -errno; - - return 0; -} - -static int rfcomm_set_lm(int sock, int level) -{ - int lm_map[] = { - 0, - RFCOMM_LM_AUTH, - RFCOMM_LM_AUTH | RFCOMM_LM_ENCRYPT, - RFCOMM_LM_AUTH | RFCOMM_LM_ENCRYPT | RFCOMM_LM_SECURE, - }, opt = lm_map[level]; - - if (setsockopt(sock, SOL_RFCOMM, RFCOMM_LM, &opt, sizeof(opt)) < 0) - return -errno; - - return 0; -} - -static gboolean set_sec_level(int sock, BtIOType type, int level, GError **err) -{ - struct bt_security sec; - int ret; - - if (level < BT_SECURITY_LOW || level > BT_SECURITY_HIGH) { - g_set_error(err, BT_IO_ERROR, EINVAL, - "Valid security level range is %d-%d", - BT_SECURITY_LOW, BT_SECURITY_HIGH); - return FALSE; - } - - memset(&sec, 0, sizeof(sec)); - sec.level = level; - - if (setsockopt(sock, SOL_BLUETOOTH, BT_SECURITY, &sec, - sizeof(sec)) == 0) - return TRUE; - - if (errno != ENOPROTOOPT) { - ERROR_FAILED(err, "setsockopt(BT_SECURITY)", errno); - return FALSE; - } - - if (type == BT_IO_L2CAP) - ret = l2cap_set_lm(sock, level); - else - ret = rfcomm_set_lm(sock, level); - - if (ret < 0) { - ERROR_FAILED(err, "setsockopt(LM)", -ret); - return FALSE; - } - - return TRUE; -} - -static int l2cap_get_lm(int sock, int *sec_level) -{ - int opt; - socklen_t len; - - len = sizeof(opt); - if (getsockopt(sock, SOL_L2CAP, L2CAP_LM, &opt, &len) < 0) - return -errno; - - *sec_level = 0; - - if (opt & L2CAP_LM_AUTH) - *sec_level = BT_SECURITY_LOW; - if (opt & L2CAP_LM_ENCRYPT) - *sec_level = BT_SECURITY_MEDIUM; - if (opt & L2CAP_LM_SECURE) - *sec_level = BT_SECURITY_HIGH; - - return 0; -} - -static int rfcomm_get_lm(int sock, int *sec_level) -{ - int opt; - socklen_t len; - - len = sizeof(opt); - if (getsockopt(sock, SOL_RFCOMM, RFCOMM_LM, &opt, &len) < 0) - return -errno; - - *sec_level = 0; - - if (opt & RFCOMM_LM_AUTH) - *sec_level = BT_SECURITY_LOW; - if (opt & RFCOMM_LM_ENCRYPT) - *sec_level = BT_SECURITY_MEDIUM; - if (opt & RFCOMM_LM_SECURE) - *sec_level = BT_SECURITY_HIGH; - - return 0; -} - -static gboolean get_sec_level(int sock, BtIOType type, int *level, - GError **err) -{ - struct bt_security sec; - socklen_t len; - int ret; - - memset(&sec, 0, sizeof(sec)); - len = sizeof(sec); - if (getsockopt(sock, SOL_BLUETOOTH, BT_SECURITY, &sec, &len) == 0) { - *level = sec.level; - return TRUE; - } - - if (errno != ENOPROTOOPT) { - ERROR_FAILED(err, "getsockopt(BT_SECURITY)", errno); - return FALSE; - } - - if (type == BT_IO_L2CAP) - ret = l2cap_get_lm(sock, level); - else - ret = rfcomm_get_lm(sock, level); - - if (ret < 0) { - ERROR_FAILED(err, "getsockopt(LM)", -ret); - return FALSE; - } - - return TRUE; -} - -static int l2cap_set_flushable(int sock, gboolean flushable) -{ - int f; - - f = flushable; - if (setsockopt(sock, SOL_BLUETOOTH, BT_FLUSHABLE, &f, sizeof(f)) < 0) - return -errno; - - return 0; -} - -static int set_priority(int sock, uint32_t prio) -{ - if (setsockopt(sock, SOL_SOCKET, SO_PRIORITY, &prio, sizeof(prio)) < 0) - return -errno; - - return 0; -} - -static gboolean get_key_size(int sock, int *size, GError **err) -{ - struct bt_security sec; - socklen_t len; - - memset(&sec, 0, sizeof(sec)); - len = sizeof(sec); - if (getsockopt(sock, SOL_BLUETOOTH, BT_SECURITY, &sec, &len) == 0) { - *size = sec.key_size; - return TRUE; - } - - return FALSE; -} - -static gboolean l2cap_set(int sock, int sec_level, uint16_t imtu, - uint16_t omtu, uint8_t mode, int master, - int flushable, uint32_t priority, GError **err) -{ - if (imtu || omtu || mode) { - struct l2cap_options l2o; - socklen_t len; - - memset(&l2o, 0, sizeof(l2o)); - len = sizeof(l2o); - if (getsockopt(sock, SOL_L2CAP, L2CAP_OPTIONS, &l2o, - &len) < 0) { - ERROR_FAILED(err, "getsockopt(L2CAP_OPTIONS)", errno); - return FALSE; - } - - if (imtu) - l2o.imtu = imtu; - if (omtu) - l2o.omtu = omtu; - if (mode) - l2o.mode = mode; - - if (setsockopt(sock, SOL_L2CAP, L2CAP_OPTIONS, &l2o, - sizeof(l2o)) < 0) { - ERROR_FAILED(err, "setsockopt(L2CAP_OPTIONS)", errno); - return FALSE; - } - } - - if (master >= 0 && l2cap_set_master(sock, master) < 0) { - ERROR_FAILED(err, "l2cap_set_master", errno); - return FALSE; - } - - if (flushable >= 0 && l2cap_set_flushable(sock, flushable) < 0) { - ERROR_FAILED(err, "l2cap_set_flushable", errno); - return FALSE; - } - - if (priority > 0 && set_priority(sock, priority) < 0) { - ERROR_FAILED(err, "set_priority", errno); - return FALSE; - } - - if (sec_level && !set_sec_level(sock, BT_IO_L2CAP, sec_level, err)) - return FALSE; - - return TRUE; -} - -static int rfcomm_bind(int sock, - const bdaddr_t *src, uint8_t channel, GError **err) -{ - struct sockaddr_rc addr; - - memset(&addr, 0, sizeof(addr)); - addr.rc_family = AF_BLUETOOTH; - bacpy(&addr.rc_bdaddr, src); - addr.rc_channel = channel; - - if (bind(sock, (struct sockaddr *) &addr, sizeof(addr)) < 0) { - int error = -errno; - ERROR_FAILED(err, "rfcomm_bind", errno); - return error; - } - - return 0; -} - -static int rfcomm_connect(int sock, const bdaddr_t *dst, uint8_t channel) -{ - int err; - struct sockaddr_rc addr; - - memset(&addr, 0, sizeof(addr)); - addr.rc_family = AF_BLUETOOTH; - bacpy(&addr.rc_bdaddr, dst); - addr.rc_channel = channel; - - err = connect(sock, (struct sockaddr *) &addr, sizeof(addr)); - if (err < 0 && !(errno == EAGAIN || errno == EINPROGRESS)) - return -errno; - - return 0; -} - -static gboolean rfcomm_set(int sock, int sec_level, int master, GError **err) -{ - if (sec_level && !set_sec_level(sock, BT_IO_RFCOMM, sec_level, err)) - return FALSE; - - if (master >= 0 && rfcomm_set_master(sock, master) < 0) { - ERROR_FAILED(err, "rfcomm_set_master", errno); - return FALSE; - } - - return TRUE; -} - -static int sco_bind(int sock, const bdaddr_t *src, GError **err) -{ - struct sockaddr_sco addr; - - memset(&addr, 0, sizeof(addr)); - addr.sco_family = AF_BLUETOOTH; - bacpy(&addr.sco_bdaddr, src); - - if (bind(sock, (struct sockaddr *) &addr, sizeof(addr)) < 0) { - int error = -errno; - ERROR_FAILED(err, "sco_bind", errno); - return error; - } - - return 0; -} - -static int sco_connect(int sock, const bdaddr_t *dst) -{ - struct sockaddr_sco addr; - int err; - - memset(&addr, 0, sizeof(addr)); - addr.sco_family = AF_BLUETOOTH; - bacpy(&addr.sco_bdaddr, dst); - - err = connect(sock, (struct sockaddr *) &addr, sizeof(addr)); - if (err < 0 && !(errno == EAGAIN || errno == EINPROGRESS)) - return -errno; - - return 0; -} - -static gboolean sco_set(int sock, uint16_t mtu, GError **err) -{ - struct sco_options sco_opt; - socklen_t len; - - if (!mtu) - return TRUE; - - len = sizeof(sco_opt); - memset(&sco_opt, 0, len); - if (getsockopt(sock, SOL_SCO, SCO_OPTIONS, &sco_opt, &len) < 0) { - ERROR_FAILED(err, "getsockopt(SCO_OPTIONS)", errno); - return FALSE; - } - - sco_opt.mtu = mtu; - if (setsockopt(sock, SOL_SCO, SCO_OPTIONS, &sco_opt, - sizeof(sco_opt)) < 0) { - ERROR_FAILED(err, "setsockopt(SCO_OPTIONS)", errno); - return FALSE; - } - - return TRUE; -} - -static gboolean parse_set_opts(struct set_opts *opts, GError **err, - BtIOOption opt1, va_list args) -{ - BtIOOption opt = opt1; - const char *str; - - memset(opts, 0, sizeof(*opts)); - - /* Set defaults */ - opts->type = BT_IO_SCO; - opts->defer = DEFAULT_DEFER_TIMEOUT; - opts->master = -1; - opts->mode = L2CAP_MODE_BASIC; - opts->flushable = -1; - opts->priority = 0; - opts->dst_type = BDADDR_BREDR; - - while (opt != BT_IO_OPT_INVALID) { - switch (opt) { - case BT_IO_OPT_SOURCE: - str = va_arg(args, const char *); - str2ba(str, &opts->src); - break; - case BT_IO_OPT_SOURCE_BDADDR: - bacpy(&opts->src, va_arg(args, const bdaddr_t *)); - break; - case BT_IO_OPT_DEST: - str2ba(va_arg(args, const char *), &opts->dst); - break; - case BT_IO_OPT_DEST_BDADDR: - bacpy(&opts->dst, va_arg(args, const bdaddr_t *)); - break; - case BT_IO_OPT_DEST_TYPE: - opts->dst_type = va_arg(args, int); - break; - case BT_IO_OPT_DEFER_TIMEOUT: - opts->defer = va_arg(args, int); - break; - case BT_IO_OPT_SEC_LEVEL: - opts->sec_level = va_arg(args, int); - break; - case BT_IO_OPT_CHANNEL: - opts->type = BT_IO_RFCOMM; - opts->channel = va_arg(args, int); - break; - case BT_IO_OPT_PSM: - opts->type = BT_IO_L2CAP; - opts->psm = va_arg(args, int); - break; - case BT_IO_OPT_CID: - opts->type = BT_IO_L2CAP; - opts->cid = va_arg(args, int); - break; - case BT_IO_OPT_MTU: - opts->mtu = va_arg(args, int); - opts->imtu = opts->mtu; - opts->omtu = opts->mtu; - break; - case BT_IO_OPT_OMTU: - opts->omtu = va_arg(args, int); - if (!opts->mtu) - opts->mtu = opts->omtu; - break; - case BT_IO_OPT_IMTU: - opts->imtu = va_arg(args, int); - if (!opts->mtu) - opts->mtu = opts->imtu; - break; - case BT_IO_OPT_MASTER: - opts->master = va_arg(args, gboolean); - break; - case BT_IO_OPT_MODE: - opts->mode = va_arg(args, int); - break; - case BT_IO_OPT_FLUSHABLE: - opts->flushable = va_arg(args, gboolean); - break; - case BT_IO_OPT_PRIORITY: - opts->priority = va_arg(args, int); - break; - default: - g_set_error(err, BT_IO_ERROR, EINVAL, - "Unknown option %d", opt); - return FALSE; - } - - opt = va_arg(args, int); - } - - return TRUE; -} - -static gboolean get_peers(int sock, struct sockaddr *src, struct sockaddr *dst, - socklen_t len, GError **err) -{ - socklen_t olen; - - memset(src, 0, len); - olen = len; - if (getsockname(sock, src, &olen) < 0) { - ERROR_FAILED(err, "getsockname", errno); - return FALSE; - } - - memset(dst, 0, len); - olen = len; - if (getpeername(sock, dst, &olen) < 0) { - ERROR_FAILED(err, "getpeername", errno); - return FALSE; - } - - return TRUE; -} - -static int l2cap_get_info(int sock, uint16_t *handle, uint8_t *dev_class) -{ - struct l2cap_conninfo info; - socklen_t len; - - len = sizeof(info); - if (getsockopt(sock, SOL_L2CAP, L2CAP_CONNINFO, &info, &len) < 0) - return -errno; - - if (handle) - *handle = info.hci_handle; - - if (dev_class) - memcpy(dev_class, info.dev_class, 3); - - return 0; -} - -static int l2cap_get_flushable(int sock, gboolean *flushable) -{ - int f; - socklen_t len; - - f = 0; - len = sizeof(f); - if (getsockopt(sock, SOL_BLUETOOTH, BT_FLUSHABLE, &f, &len) < 0) - return -errno; - - if (f) - *flushable = TRUE; - else - *flushable = FALSE; - - return 0; -} - -static int get_priority(int sock, uint32_t *prio) -{ - socklen_t len; - - len = sizeof(*prio); - if (getsockopt(sock, SOL_SOCKET, SO_PRIORITY, prio, &len) < 0) - return -errno; - - return 0; -} - -static gboolean l2cap_get(int sock, GError **err, BtIOOption opt1, - va_list args) -{ - BtIOOption opt = opt1; - struct sockaddr_l2 src, dst; - struct l2cap_options l2o; - int flags; - uint8_t dev_class[3]; - uint16_t handle; - socklen_t len; - gboolean flushable = FALSE; - uint32_t priority; - - len = sizeof(l2o); - memset(&l2o, 0, len); - if (getsockopt(sock, SOL_L2CAP, L2CAP_OPTIONS, &l2o, &len) < 0) { - ERROR_FAILED(err, "getsockopt(L2CAP_OPTIONS)", errno); - return FALSE; - } - - if (!get_peers(sock, (struct sockaddr *) &src, - (struct sockaddr *) &dst, sizeof(src), err)) - return FALSE; - - while (opt != BT_IO_OPT_INVALID) { - switch (opt) { - case BT_IO_OPT_SOURCE: - ba2str(&src.l2_bdaddr, va_arg(args, char *)); - break; - case BT_IO_OPT_SOURCE_BDADDR: - bacpy(va_arg(args, bdaddr_t *), &src.l2_bdaddr); - break; - case BT_IO_OPT_DEST: - ba2str(&dst.l2_bdaddr, va_arg(args, char *)); - break; - case BT_IO_OPT_DEST_BDADDR: - bacpy(va_arg(args, bdaddr_t *), &dst.l2_bdaddr); - break; - case BT_IO_OPT_DEST_TYPE: - ERROR_FAILED(err, "Not implemented", EINVAL); - return FALSE; - case BT_IO_OPT_DEFER_TIMEOUT: - len = sizeof(int); - if (getsockopt(sock, SOL_BLUETOOTH, BT_DEFER_SETUP, - va_arg(args, int *), &len) < 0) { - ERROR_FAILED(err, "getsockopt(DEFER_SETUP)", - errno); - return FALSE; - } - break; - case BT_IO_OPT_SEC_LEVEL: - if (!get_sec_level(sock, BT_IO_L2CAP, - va_arg(args, int *), err)) - return FALSE; - break; - case BT_IO_OPT_KEY_SIZE: - if (!get_key_size(sock, va_arg(args, int *), err)) - return FALSE; - break; - case BT_IO_OPT_PSM: - *(va_arg(args, uint16_t *)) = src.l2_psm ? - btohs(src.l2_psm) : btohs(dst.l2_psm); - break; - case BT_IO_OPT_CID: - *(va_arg(args, uint16_t *)) = src.l2_cid ? - btohs(src.l2_cid) : btohs(dst.l2_cid); - break; - case BT_IO_OPT_OMTU: - *(va_arg(args, uint16_t *)) = l2o.omtu; - break; - case BT_IO_OPT_IMTU: - *(va_arg(args, uint16_t *)) = l2o.imtu; - break; - case BT_IO_OPT_MASTER: - len = sizeof(flags); - if (getsockopt(sock, SOL_L2CAP, L2CAP_LM, &flags, - &len) < 0) { - ERROR_FAILED(err, "getsockopt(L2CAP_LM)", - errno); - return FALSE; - } - *(va_arg(args, gboolean *)) = - (flags & L2CAP_LM_MASTER) ? TRUE : FALSE; - break; - case BT_IO_OPT_HANDLE: - if (l2cap_get_info(sock, &handle, dev_class) < 0) { - ERROR_FAILED(err, "L2CAP_CONNINFO", errno); - return FALSE; - } - *(va_arg(args, uint16_t *)) = handle; - break; - case BT_IO_OPT_CLASS: - if (l2cap_get_info(sock, &handle, dev_class) < 0) { - ERROR_FAILED(err, "L2CAP_CONNINFO", errno); - return FALSE; - } - memcpy(va_arg(args, uint8_t *), dev_class, 3); - break; - case BT_IO_OPT_MODE: - *(va_arg(args, uint8_t *)) = l2o.mode; - break; - case BT_IO_OPT_FLUSHABLE: - if (l2cap_get_flushable(sock, &flushable) < 0) { - ERROR_FAILED(err, "get_flushable", errno); - return FALSE; - } - *(va_arg(args, gboolean *)) = flushable; - break; - case BT_IO_OPT_PRIORITY: - if (get_priority(sock, &priority) < 0) { - ERROR_FAILED(err, "get_priority", errno); - return FALSE; - } - *(va_arg(args, uint32_t *)) = priority; - break; - default: - g_set_error(err, BT_IO_ERROR, EINVAL, - "Unknown option %d", opt); - return FALSE; - } - - opt = va_arg(args, int); - } - - return TRUE; -} - -static int rfcomm_get_info(int sock, uint16_t *handle, uint8_t *dev_class) -{ - struct rfcomm_conninfo info; - socklen_t len; - - len = sizeof(info); - if (getsockopt(sock, SOL_RFCOMM, RFCOMM_CONNINFO, &info, &len) < 0) - return -errno; - - if (handle) - *handle = info.hci_handle; - - if (dev_class) - memcpy(dev_class, info.dev_class, 3); - - return 0; -} - -static gboolean rfcomm_get(int sock, GError **err, BtIOOption opt1, - va_list args) -{ - BtIOOption opt = opt1; - struct sockaddr_rc src, dst; - int flags; - socklen_t len; - uint8_t dev_class[3]; - uint16_t handle; - - if (!get_peers(sock, (struct sockaddr *) &src, - (struct sockaddr *) &dst, sizeof(src), err)) - return FALSE; - - while (opt != BT_IO_OPT_INVALID) { - switch (opt) { - case BT_IO_OPT_SOURCE: - ba2str(&src.rc_bdaddr, va_arg(args, char *)); - break; - case BT_IO_OPT_SOURCE_BDADDR: - bacpy(va_arg(args, bdaddr_t *), &src.rc_bdaddr); - break; - case BT_IO_OPT_DEST: - ba2str(&dst.rc_bdaddr, va_arg(args, char *)); - break; - case BT_IO_OPT_DEST_BDADDR: - bacpy(va_arg(args, bdaddr_t *), &dst.rc_bdaddr); - break; - case BT_IO_OPT_DEFER_TIMEOUT: - len = sizeof(int); - if (getsockopt(sock, SOL_BLUETOOTH, BT_DEFER_SETUP, - va_arg(args, int *), &len) < 0) { - ERROR_FAILED(err, "getsockopt(DEFER_SETUP)", - errno); - return FALSE; - } - break; - case BT_IO_OPT_SEC_LEVEL: - if (!get_sec_level(sock, BT_IO_RFCOMM, - va_arg(args, int *), err)) - return FALSE; - break; - case BT_IO_OPT_CHANNEL: - *(va_arg(args, uint8_t *)) = src.rc_channel ? - src.rc_channel : dst.rc_channel; - break; - case BT_IO_OPT_SOURCE_CHANNEL: - *(va_arg(args, uint8_t *)) = src.rc_channel; - break; - case BT_IO_OPT_DEST_CHANNEL: - *(va_arg(args, uint8_t *)) = dst.rc_channel; - break; - case BT_IO_OPT_MASTER: - len = sizeof(flags); - if (getsockopt(sock, SOL_RFCOMM, RFCOMM_LM, &flags, - &len) < 0) { - ERROR_FAILED(err, "getsockopt(RFCOMM_LM)", - errno); - return FALSE; - } - *(va_arg(args, gboolean *)) = - (flags & RFCOMM_LM_MASTER) ? TRUE : FALSE; - break; - case BT_IO_OPT_HANDLE: - if (rfcomm_get_info(sock, &handle, dev_class) < 0) { - ERROR_FAILED(err, "RFCOMM_CONNINFO", errno); - return FALSE; - } - *(va_arg(args, uint16_t *)) = handle; - break; - case BT_IO_OPT_CLASS: - if (rfcomm_get_info(sock, &handle, dev_class) < 0) { - ERROR_FAILED(err, "RFCOMM_CONNINFO", errno); - return FALSE; - } - memcpy(va_arg(args, uint8_t *), dev_class, 3); - break; - default: - g_set_error(err, BT_IO_ERROR, EINVAL, - "Unknown option %d", opt); - return FALSE; - } - - opt = va_arg(args, int); - } - - return TRUE; -} - -static int sco_get_info(int sock, uint16_t *handle, uint8_t *dev_class) -{ - struct sco_conninfo info; - socklen_t len; - - len = sizeof(info); - if (getsockopt(sock, SOL_SCO, SCO_CONNINFO, &info, &len) < 0) - return -errno; - - if (handle) - *handle = info.hci_handle; - - if (dev_class) - memcpy(dev_class, info.dev_class, 3); - - return 0; -} - -static gboolean sco_get(int sock, GError **err, BtIOOption opt1, va_list args) -{ - BtIOOption opt = opt1; - struct sockaddr_sco src, dst; - struct sco_options sco_opt; - socklen_t len; - uint8_t dev_class[3]; - uint16_t handle; - - len = sizeof(sco_opt); - memset(&sco_opt, 0, len); - if (getsockopt(sock, SOL_SCO, SCO_OPTIONS, &sco_opt, &len) < 0) { - ERROR_FAILED(err, "getsockopt(SCO_OPTIONS)", errno); - return FALSE; - } - - if (!get_peers(sock, (struct sockaddr *) &src, - (struct sockaddr *) &dst, sizeof(src), err)) - return FALSE; - - while (opt != BT_IO_OPT_INVALID) { - switch (opt) { - case BT_IO_OPT_SOURCE: - ba2str(&src.sco_bdaddr, va_arg(args, char *)); - break; - case BT_IO_OPT_SOURCE_BDADDR: - bacpy(va_arg(args, bdaddr_t *), &src.sco_bdaddr); - break; - case BT_IO_OPT_DEST: - ba2str(&dst.sco_bdaddr, va_arg(args, char *)); - break; - case BT_IO_OPT_DEST_BDADDR: - bacpy(va_arg(args, bdaddr_t *), &dst.sco_bdaddr); - break; - case BT_IO_OPT_MTU: - case BT_IO_OPT_IMTU: - case BT_IO_OPT_OMTU: - *(va_arg(args, uint16_t *)) = sco_opt.mtu; - break; - case BT_IO_OPT_HANDLE: - if (sco_get_info(sock, &handle, dev_class) < 0) { - ERROR_FAILED(err, "SCO_CONNINFO", errno); - return FALSE; - } - *(va_arg(args, uint16_t *)) = handle; - break; - case BT_IO_OPT_CLASS: - if (sco_get_info(sock, &handle, dev_class) < 0) { - ERROR_FAILED(err, "SCO_CONNINFO", errno); - return FALSE; - } - memcpy(va_arg(args, uint8_t *), dev_class, 3); - break; - default: - g_set_error(err, BT_IO_ERROR, EINVAL, - "Unknown option %d", opt); - return FALSE; - } - - opt = va_arg(args, int); - } - - return TRUE; -} - -static gboolean get_valist(GIOChannel *io, BtIOType type, GError **err, - BtIOOption opt1, va_list args) -{ - int sock; - - sock = g_io_channel_unix_get_fd(io); - - switch (type) { - case BT_IO_L2CAP: - return l2cap_get(sock, err, opt1, args); - case BT_IO_RFCOMM: - return rfcomm_get(sock, err, opt1, args); - case BT_IO_SCO: - return sco_get(sock, err, opt1, args); - default: - g_set_error(err, BT_IO_ERROR, EINVAL, - "Unknown BtIO type %d", type); - return FALSE; - } -} - -gboolean bt_io_accept(GIOChannel *io, BtIOConnect connect, gpointer user_data, - GDestroyNotify destroy, GError **err) -{ - int sock; - char c; - struct pollfd pfd; - - sock = g_io_channel_unix_get_fd(io); - - memset(&pfd, 0, sizeof(pfd)); - pfd.fd = sock; - pfd.events = POLLOUT; - - if (poll(&pfd, 1, 0) < 0) { - ERROR_FAILED(err, "poll", errno); - return FALSE; - } - - if (!(pfd.revents & POLLOUT)) { - if (read(sock, &c, 1) < 0) { - ERROR_FAILED(err, "read", errno); - return FALSE; - } - } - - accept_add(io, connect, user_data, destroy); - - return TRUE; -} - -gboolean bt_io_set(GIOChannel *io, GError **err, BtIOOption opt1, ...) -{ - va_list args; - gboolean ret; - struct set_opts opts; - int sock; - BtIOType type; - - va_start(args, opt1); - ret = parse_set_opts(&opts, err, opt1, args); - va_end(args); - - if (!ret) - return ret; - - type = bt_io_get_type(io, err); - if (type == BT_IO_INVALID) - return FALSE; - - sock = g_io_channel_unix_get_fd(io); - - switch (type) { - case BT_IO_L2CAP: - return l2cap_set(sock, opts.sec_level, opts.imtu, opts.omtu, - opts.mode, opts.master, opts.flushable, - opts.priority, err); - case BT_IO_RFCOMM: - return rfcomm_set(sock, opts.sec_level, opts.master, err); - case BT_IO_SCO: - return sco_set(sock, opts.mtu, err); - default: - g_set_error(err, BT_IO_ERROR, EINVAL, - "Unknown BtIO type %d", type); - return FALSE; - } - -} - -gboolean bt_io_get(GIOChannel *io, GError **err, BtIOOption opt1, ...) -{ - va_list args; - gboolean ret; - BtIOType type; - - type = bt_io_get_type(io, err); - if (type == BT_IO_INVALID) - return FALSE; - - va_start(args, opt1); - ret = get_valist(io, type, err, opt1, args); - va_end(args); - - return ret; -} - -static GIOChannel *create_io(gboolean server, struct set_opts *opts, - GError **err) -{ - int sock; - GIOChannel *io; - - switch (opts->type) { - case BT_IO_L2CAP: - sock = socket(PF_BLUETOOTH, SOCK_SEQPACKET, BTPROTO_L2CAP); - if (sock < 0) { - ERROR_FAILED(err, "socket(SEQPACKET, L2CAP)", errno); - return NULL; - } - if (l2cap_bind(sock, &opts->src, server ? opts->psm : 0, - opts->cid, err) < 0) - goto failed; - if (!l2cap_set(sock, opts->sec_level, opts->imtu, opts->omtu, - opts->mode, opts->master, opts->flushable, - opts->priority, err)) - goto failed; - break; - case BT_IO_RFCOMM: - sock = socket(PF_BLUETOOTH, SOCK_STREAM, BTPROTO_RFCOMM); - if (sock < 0) { - ERROR_FAILED(err, "socket(STREAM, RFCOMM)", errno); - return NULL; - } - if (rfcomm_bind(sock, &opts->src, - server ? opts->channel : 0, err) < 0) - goto failed; - if (!rfcomm_set(sock, opts->sec_level, opts->master, err)) - goto failed; - break; - case BT_IO_SCO: - sock = socket(PF_BLUETOOTH, SOCK_SEQPACKET, BTPROTO_SCO); - if (sock < 0) { - ERROR_FAILED(err, "socket(SEQPACKET, SCO)", errno); - return NULL; - } - if (sco_bind(sock, &opts->src, err) < 0) - goto failed; - if (!sco_set(sock, opts->mtu, err)) - goto failed; - break; - default: - g_set_error(err, BT_IO_ERROR, EINVAL, - "Unknown BtIO type %d", opts->type); - return NULL; - } - - io = g_io_channel_unix_new(sock); - - g_io_channel_set_close_on_unref(io, TRUE); - g_io_channel_set_flags(io, G_IO_FLAG_NONBLOCK, NULL); - - return io; - -failed: - close(sock); - - return NULL; -} - -GIOChannel *bt_io_connect(BtIOConnect connect, gpointer user_data, - GDestroyNotify destroy, GError **gerr, - BtIOOption opt1, ...) -{ - GIOChannel *io; - va_list args; - struct set_opts opts; - int err, sock; - gboolean ret; - - va_start(args, opt1); - ret = parse_set_opts(&opts, gerr, opt1, args); - va_end(args); - - if (ret == FALSE) - return NULL; - - io = create_io(FALSE, &opts, gerr); - if (io == NULL) - return NULL; - - sock = g_io_channel_unix_get_fd(io); - - switch (opts.type) { - case BT_IO_L2CAP: - err = l2cap_connect(sock, &opts.dst, opts.dst_type, - opts.psm, opts.cid); - break; - case BT_IO_RFCOMM: - err = rfcomm_connect(sock, &opts.dst, opts.channel); - break; - case BT_IO_SCO: - err = sco_connect(sock, &opts.dst); - break; - default: - g_set_error(gerr, BT_IO_ERROR, EINVAL, - "Unknown BtIO type %d", opts.type); - return NULL; - } - - if (err < 0) { - ERROR_FAILED(gerr, "connect", -err); - g_io_channel_unref(io); - return NULL; - } - - connect_add(io, connect, user_data, destroy); - - return io; -} - -GIOChannel *bt_io_listen(BtIOConnect connect, BtIOConfirm confirm, - gpointer user_data, GDestroyNotify destroy, - GError **err, BtIOOption opt1, ...) -{ - GIOChannel *io; - va_list args; - struct set_opts opts; - int sock; - gboolean ret; - - va_start(args, opt1); - ret = parse_set_opts(&opts, err, opt1, args); - va_end(args); - - if (ret == FALSE) - return NULL; - - io = create_io(TRUE, &opts, err); - if (io == NULL) - return NULL; - - sock = g_io_channel_unix_get_fd(io); - - if (confirm) - setsockopt(sock, SOL_BLUETOOTH, BT_DEFER_SETUP, &opts.defer, - sizeof(opts.defer)); - - if (listen(sock, 5) < 0) { - ERROR_FAILED(err, "listen", errno); - g_io_channel_unref(io); - return NULL; - } - - server_add(io, connect, confirm, user_data, destroy); - - return io; -} - -GQuark bt_io_error_quark(void) -{ - return g_quark_from_static_string("bt-io-error-quark"); -} diff --git a/GRIB_BLE_HUB/libs/ble_extend/btio/btio.h b/GRIB_BLE_HUB/libs/ble_extend/btio/btio.h deleted file mode 100644 index a6ff5a2..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/btio/btio.h +++ /dev/null @@ -1,93 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2009-2010 Marcel Holtmann - * Copyright (C) 2009-2010 Nokia Corporation - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ -#ifndef BT_IO_H -#define BT_IO_H - -#include - -#define BT_IO_ERROR bt_io_error_quark() - -GQuark bt_io_error_quark(void); - -typedef enum { - BT_IO_OPT_INVALID = 0, - BT_IO_OPT_SOURCE, - BT_IO_OPT_SOURCE_BDADDR, - BT_IO_OPT_DEST, - BT_IO_OPT_DEST_BDADDR, - BT_IO_OPT_DEST_TYPE, - BT_IO_OPT_DEFER_TIMEOUT, - BT_IO_OPT_SEC_LEVEL, - BT_IO_OPT_KEY_SIZE, - BT_IO_OPT_CHANNEL, - BT_IO_OPT_SOURCE_CHANNEL, - BT_IO_OPT_DEST_CHANNEL, - BT_IO_OPT_PSM, - BT_IO_OPT_CID, - BT_IO_OPT_MTU, - BT_IO_OPT_OMTU, - BT_IO_OPT_IMTU, - BT_IO_OPT_MASTER, - BT_IO_OPT_HANDLE, - BT_IO_OPT_CLASS, - BT_IO_OPT_MODE, - BT_IO_OPT_FLUSHABLE, - BT_IO_OPT_PRIORITY, -} BtIOOption; - -typedef enum { - BT_IO_SEC_SDP = 0, - BT_IO_SEC_LOW, - BT_IO_SEC_MEDIUM, - BT_IO_SEC_HIGH, -} BtIOSecLevel; - -typedef enum { - BT_IO_MODE_BASIC = 0, - BT_IO_MODE_RETRANS, - BT_IO_MODE_FLOWCTL, - BT_IO_MODE_ERTM, - BT_IO_MODE_STREAMING -} BtIOMode; - -typedef void (*BtIOConfirm)(GIOChannel *io, gpointer user_data); - -typedef void (*BtIOConnect)(GIOChannel *io, GError *err, gpointer user_data); - -gboolean bt_io_accept(GIOChannel *io, BtIOConnect connect, gpointer user_data, - GDestroyNotify destroy, GError **err); - -gboolean bt_io_set(GIOChannel *io, GError **err, BtIOOption opt1, ...); - -gboolean bt_io_get(GIOChannel *io, GError **err, BtIOOption opt1, ...); - -GIOChannel *bt_io_connect(BtIOConnect connect, gpointer user_data, - GDestroyNotify destroy, GError **gerr, - BtIOOption opt1, ...); - -GIOChannel *bt_io_listen(BtIOConnect connect, BtIOConfirm confirm, - gpointer user_data, GDestroyNotify destroy, - GError **err, BtIOOption opt1, ...); - -#endif diff --git a/GRIB_BLE_HUB/libs/ble_extend/client/.deps/.dirstamp b/GRIB_BLE_HUB/libs/ble_extend/client/.deps/.dirstamp deleted file mode 100644 index e69de29..0000000 diff --git a/GRIB_BLE_HUB/libs/ble_extend/client/.deps/agent.Po b/GRIB_BLE_HUB/libs/ble_extend/client/.deps/agent.Po deleted file mode 100644 index 6acc214..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/client/.deps/agent.Po +++ /dev/null @@ -1,475 +0,0 @@ -client/agent.o: client/agent.c /usr/include/stdc-predef.h config.h \ - /usr/include/stdio.h /usr/include/features.h \ - /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/sys_errlist.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio.h /usr/include/stdlib.h \ - /usr/include/arm-linux-gnueabihf/bits/waitflags.h \ - /usr/include/arm-linux-gnueabihf/bits/waitstatus.h /usr/include/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/xlocale.h /usr/include/arm-linux-gnueabihf/sys/types.h \ - /usr/include/time.h /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/alloca.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-float.h \ - /usr/include/readline/readline.h /usr/include/readline/rlstdc.h \ - /usr/include/readline/rltypedefs.h /usr/include/readline/keymaps.h \ - /usr/include/readline/chardefs.h /usr/include/ctype.h \ - /usr/include/string.h /usr/include/arm-linux-gnueabihf/bits/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string2.h \ - /usr/include/readline/tilde.h gdbus/gdbus.h \ - /usr/include/dbus-1.0/dbus/dbus.h \ - /usr/lib/arm-linux-gnueabihf/dbus-1.0/include/dbus/dbus-arch-deps.h \ - /usr/include/dbus-1.0/dbus/dbus-macros.h \ - /usr/include/dbus-1.0/dbus/dbus-address.h \ - /usr/include/dbus-1.0/dbus/dbus-types.h \ - /usr/include/dbus-1.0/dbus/dbus-errors.h \ - /usr/include/dbus-1.0/dbus/dbus-protocol.h \ - /usr/include/dbus-1.0/dbus/dbus-bus.h \ - /usr/include/dbus-1.0/dbus/dbus-connection.h \ - /usr/include/dbus-1.0/dbus/dbus-memory.h \ - /usr/include/dbus-1.0/dbus/dbus-message.h \ - /usr/include/dbus-1.0/dbus/dbus-shared.h \ - /usr/include/dbus-1.0/dbus/dbus-misc.h \ - /usr/include/dbus-1.0/dbus/dbus-pending-call.h \ - /usr/include/dbus-1.0/dbus/dbus-server.h \ - /usr/include/dbus-1.0/dbus/dbus-signature.h \ - /usr/include/dbus-1.0/dbus/dbus-syntax.h \ - /usr/include/dbus-1.0/dbus/dbus-threads.h /usr/include/glib-2.0/glib.h \ - /usr/include/glib-2.0/glib/galloca.h /usr/include/glib-2.0/glib/gtypes.h \ - /usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h \ - /usr/include/glib-2.0/glib/gmacros.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h \ - /usr/include/limits.h /usr/include/arm-linux-gnueabihf/bits/posix1_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/local_lim.h \ - /usr/include/linux/limits.h \ - /usr/include/arm-linux-gnueabihf/bits/posix2_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/xopen_lim.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h \ - /usr/include/glib-2.0/glib/gversionmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/timex.h \ - /usr/include/glib-2.0/glib/garray.h \ - /usr/include/glib-2.0/glib/gasyncqueue.h \ - /usr/include/glib-2.0/glib/gthread.h \ - /usr/include/glib-2.0/glib/gatomic.h /usr/include/glib-2.0/glib/gerror.h \ - /usr/include/glib-2.0/glib/gquark.h \ - /usr/include/glib-2.0/glib/gbacktrace.h /usr/include/signal.h \ - /usr/include/arm-linux-gnueabihf/bits/signum.h \ - /usr/include/arm-linux-gnueabihf/bits/siginfo.h \ - /usr/include/arm-linux-gnueabihf/bits/sigaction.h \ - /usr/include/arm-linux-gnueabihf/bits/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/asm/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigstack.h \ - /usr/include/arm-linux-gnueabihf/sys/ucontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigthread.h \ - /usr/include/glib-2.0/glib/gbase64.h \ - /usr/include/glib-2.0/glib/gbitlock.h \ - /usr/include/glib-2.0/glib/gbookmarkfile.h \ - /usr/include/glib-2.0/glib/gbytes.h \ - /usr/include/glib-2.0/glib/gcharset.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/gconvert.h \ - /usr/include/glib-2.0/glib/gdataset.h /usr/include/glib-2.0/glib/gdate.h \ - /usr/include/glib-2.0/glib/gdatetime.h \ - /usr/include/glib-2.0/glib/gtimezone.h /usr/include/glib-2.0/glib/gdir.h \ - /usr/include/dirent.h /usr/include/arm-linux-gnueabihf/bits/dirent.h \ - /usr/include/glib-2.0/glib/genviron.h \ - /usr/include/glib-2.0/glib/gfileutils.h \ - /usr/include/glib-2.0/glib/ggettext.h /usr/include/glib-2.0/glib/ghash.h \ - /usr/include/glib-2.0/glib/glist.h /usr/include/glib-2.0/glib/gmem.h \ - /usr/include/glib-2.0/glib/gnode.h /usr/include/glib-2.0/glib/ghmac.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/ghook.h \ - /usr/include/glib-2.0/glib/ghostutils.h \ - /usr/include/glib-2.0/glib/giochannel.h \ - /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gpoll.h \ - /usr/include/glib-2.0/glib/gslist.h /usr/include/glib-2.0/glib/gstring.h \ - /usr/include/glib-2.0/glib/gunicode.h \ - /usr/include/glib-2.0/glib/gutils.h \ - /usr/include/glib-2.0/glib/gkeyfile.h \ - /usr/include/glib-2.0/glib/gmappedfile.h \ - /usr/include/glib-2.0/glib/gmarkup.h \ - /usr/include/glib-2.0/glib/gmessages.h \ - /usr/include/glib-2.0/glib/goption.h \ - /usr/include/glib-2.0/glib/gpattern.h \ - /usr/include/glib-2.0/glib/gprimes.h /usr/include/glib-2.0/glib/gqsort.h \ - /usr/include/glib-2.0/glib/gqueue.h /usr/include/glib-2.0/glib/grand.h \ - /usr/include/glib-2.0/glib/gregex.h \ - /usr/include/glib-2.0/glib/gscanner.h \ - /usr/include/glib-2.0/glib/gsequence.h \ - /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gslice.h \ - /usr/include/glib-2.0/glib/gspawn.h \ - /usr/include/glib-2.0/glib/gstrfuncs.h \ - /usr/include/glib-2.0/glib/gstringchunk.h \ - /usr/include/glib-2.0/glib/gtestutils.h \ - /usr/include/glib-2.0/glib/gthreadpool.h \ - /usr/include/glib-2.0/glib/gtimer.h \ - /usr/include/glib-2.0/glib/gtrashstack.h \ - /usr/include/glib-2.0/glib/gtree.h \ - /usr/include/glib-2.0/glib/gurifuncs.h \ - /usr/include/glib-2.0/glib/gvarianttype.h \ - /usr/include/glib-2.0/glib/gvariant.h \ - /usr/include/glib-2.0/glib/gversion.h \ - /usr/include/glib-2.0/glib/deprecated/gallocator.h \ - /usr/include/glib-2.0/glib/deprecated/gcache.h \ - /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ - /usr/include/glib-2.0/glib/deprecated/gmain.h \ - /usr/include/glib-2.0/glib/deprecated/grel.h \ - /usr/include/glib-2.0/glib/deprecated/gthread.h /usr/include/pthread.h \ - /usr/include/sched.h /usr/include/arm-linux-gnueabihf/bits/sched.h \ - /usr/include/arm-linux-gnueabihf/bits/setjmp.h client/display.h \ - client/agent.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/include/stdio.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/sys_errlist.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio.h: - -/usr/include/stdlib.h: - -/usr/include/arm-linux-gnueabihf/bits/waitflags.h: - -/usr/include/arm-linux-gnueabihf/bits/waitstatus.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/xlocale.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/time.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/alloca.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-float.h: - -/usr/include/readline/readline.h: - -/usr/include/readline/rlstdc.h: - -/usr/include/readline/rltypedefs.h: - -/usr/include/readline/keymaps.h: - -/usr/include/readline/chardefs.h: - -/usr/include/ctype.h: - -/usr/include/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string2.h: - -/usr/include/readline/tilde.h: - -gdbus/gdbus.h: - -/usr/include/dbus-1.0/dbus/dbus.h: - -/usr/lib/arm-linux-gnueabihf/dbus-1.0/include/dbus/dbus-arch-deps.h: - -/usr/include/dbus-1.0/dbus/dbus-macros.h: - -/usr/include/dbus-1.0/dbus/dbus-address.h: - -/usr/include/dbus-1.0/dbus/dbus-types.h: - -/usr/include/dbus-1.0/dbus/dbus-errors.h: - -/usr/include/dbus-1.0/dbus/dbus-protocol.h: - -/usr/include/dbus-1.0/dbus/dbus-bus.h: - -/usr/include/dbus-1.0/dbus/dbus-connection.h: - -/usr/include/dbus-1.0/dbus/dbus-memory.h: - -/usr/include/dbus-1.0/dbus/dbus-message.h: - -/usr/include/dbus-1.0/dbus/dbus-shared.h: - -/usr/include/dbus-1.0/dbus/dbus-misc.h: - -/usr/include/dbus-1.0/dbus/dbus-pending-call.h: - -/usr/include/dbus-1.0/dbus/dbus-server.h: - -/usr/include/dbus-1.0/dbus/dbus-signature.h: - -/usr/include/dbus-1.0/dbus/dbus-syntax.h: - -/usr/include/dbus-1.0/dbus/dbus-threads.h: - -/usr/include/glib-2.0/glib.h: - -/usr/include/glib-2.0/glib/galloca.h: - -/usr/include/glib-2.0/glib/gtypes.h: - -/usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h: - -/usr/include/glib-2.0/glib/gmacros.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h: - -/usr/include/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/local_lim.h: - -/usr/include/linux/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix2_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/xopen_lim.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h: - -/usr/include/glib-2.0/glib/gversionmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/timex.h: - -/usr/include/glib-2.0/glib/garray.h: - -/usr/include/glib-2.0/glib/gasyncqueue.h: - -/usr/include/glib-2.0/glib/gthread.h: - -/usr/include/glib-2.0/glib/gatomic.h: - -/usr/include/glib-2.0/glib/gerror.h: - -/usr/include/glib-2.0/glib/gquark.h: - -/usr/include/glib-2.0/glib/gbacktrace.h: - -/usr/include/signal.h: - -/usr/include/arm-linux-gnueabihf/bits/signum.h: - -/usr/include/arm-linux-gnueabihf/bits/siginfo.h: - -/usr/include/arm-linux-gnueabihf/bits/sigaction.h: - -/usr/include/arm-linux-gnueabihf/bits/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/asm/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigstack.h: - -/usr/include/arm-linux-gnueabihf/sys/ucontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigthread.h: - -/usr/include/glib-2.0/glib/gbase64.h: - -/usr/include/glib-2.0/glib/gbitlock.h: - -/usr/include/glib-2.0/glib/gbookmarkfile.h: - -/usr/include/glib-2.0/glib/gbytes.h: - -/usr/include/glib-2.0/glib/gcharset.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/gconvert.h: - -/usr/include/glib-2.0/glib/gdataset.h: - -/usr/include/glib-2.0/glib/gdate.h: - -/usr/include/glib-2.0/glib/gdatetime.h: - -/usr/include/glib-2.0/glib/gtimezone.h: - -/usr/include/glib-2.0/glib/gdir.h: - -/usr/include/dirent.h: - -/usr/include/arm-linux-gnueabihf/bits/dirent.h: - -/usr/include/glib-2.0/glib/genviron.h: - -/usr/include/glib-2.0/glib/gfileutils.h: - -/usr/include/glib-2.0/glib/ggettext.h: - -/usr/include/glib-2.0/glib/ghash.h: - -/usr/include/glib-2.0/glib/glist.h: - -/usr/include/glib-2.0/glib/gmem.h: - -/usr/include/glib-2.0/glib/gnode.h: - -/usr/include/glib-2.0/glib/ghmac.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/ghook.h: - -/usr/include/glib-2.0/glib/ghostutils.h: - -/usr/include/glib-2.0/glib/giochannel.h: - -/usr/include/glib-2.0/glib/gmain.h: - -/usr/include/glib-2.0/glib/gpoll.h: - -/usr/include/glib-2.0/glib/gslist.h: - -/usr/include/glib-2.0/glib/gstring.h: - -/usr/include/glib-2.0/glib/gunicode.h: - -/usr/include/glib-2.0/glib/gutils.h: - -/usr/include/glib-2.0/glib/gkeyfile.h: - -/usr/include/glib-2.0/glib/gmappedfile.h: - -/usr/include/glib-2.0/glib/gmarkup.h: - -/usr/include/glib-2.0/glib/gmessages.h: - -/usr/include/glib-2.0/glib/goption.h: - -/usr/include/glib-2.0/glib/gpattern.h: - -/usr/include/glib-2.0/glib/gprimes.h: - -/usr/include/glib-2.0/glib/gqsort.h: - -/usr/include/glib-2.0/glib/gqueue.h: - -/usr/include/glib-2.0/glib/grand.h: - -/usr/include/glib-2.0/glib/gregex.h: - -/usr/include/glib-2.0/glib/gscanner.h: - -/usr/include/glib-2.0/glib/gsequence.h: - -/usr/include/glib-2.0/glib/gshell.h: - -/usr/include/glib-2.0/glib/gslice.h: - -/usr/include/glib-2.0/glib/gspawn.h: - -/usr/include/glib-2.0/glib/gstrfuncs.h: - -/usr/include/glib-2.0/glib/gstringchunk.h: - -/usr/include/glib-2.0/glib/gtestutils.h: - -/usr/include/glib-2.0/glib/gthreadpool.h: - -/usr/include/glib-2.0/glib/gtimer.h: - -/usr/include/glib-2.0/glib/gtrashstack.h: - -/usr/include/glib-2.0/glib/gtree.h: - -/usr/include/glib-2.0/glib/gurifuncs.h: - -/usr/include/glib-2.0/glib/gvarianttype.h: - -/usr/include/glib-2.0/glib/gvariant.h: - -/usr/include/glib-2.0/glib/gversion.h: - -/usr/include/glib-2.0/glib/deprecated/gallocator.h: - -/usr/include/glib-2.0/glib/deprecated/gcache.h: - -/usr/include/glib-2.0/glib/deprecated/gcompletion.h: - -/usr/include/glib-2.0/glib/deprecated/gmain.h: - -/usr/include/glib-2.0/glib/deprecated/grel.h: - -/usr/include/glib-2.0/glib/deprecated/gthread.h: - -/usr/include/pthread.h: - -/usr/include/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/setjmp.h: - -client/display.h: - -client/agent.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/client/.deps/display.Po b/GRIB_BLE_HUB/libs/ble_extend/client/.deps/display.Po deleted file mode 100644 index c061fcc..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/client/.deps/display.Po +++ /dev/null @@ -1,134 +0,0 @@ -client/display.o: client/display.c /usr/include/stdc-predef.h config.h \ - /usr/include/stdio.h /usr/include/features.h \ - /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/sys_errlist.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio.h /usr/include/stdlib.h \ - /usr/include/arm-linux-gnueabihf/bits/waitflags.h \ - /usr/include/arm-linux-gnueabihf/bits/waitstatus.h /usr/include/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/xlocale.h /usr/include/arm-linux-gnueabihf/sys/types.h \ - /usr/include/time.h /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/alloca.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-float.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdbool.h \ - /usr/include/readline/readline.h /usr/include/readline/rlstdc.h \ - /usr/include/readline/rltypedefs.h /usr/include/readline/keymaps.h \ - /usr/include/readline/chardefs.h /usr/include/ctype.h \ - /usr/include/string.h /usr/include/arm-linux-gnueabihf/bits/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string2.h \ - /usr/include/readline/tilde.h client/display.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/include/stdio.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/sys_errlist.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio.h: - -/usr/include/stdlib.h: - -/usr/include/arm-linux-gnueabihf/bits/waitflags.h: - -/usr/include/arm-linux-gnueabihf/bits/waitstatus.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/xlocale.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/time.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/alloca.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-float.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdbool.h: - -/usr/include/readline/readline.h: - -/usr/include/readline/rlstdc.h: - -/usr/include/readline/rltypedefs.h: - -/usr/include/readline/keymaps.h: - -/usr/include/readline/chardefs.h: - -/usr/include/ctype.h: - -/usr/include/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string2.h: - -/usr/include/readline/tilde.h: - -client/display.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/client/.deps/main.Po b/GRIB_BLE_HUB/libs/ble_extend/client/.deps/main.Po deleted file mode 100644 index 2be9a6b..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/client/.deps/main.Po +++ /dev/null @@ -1,522 +0,0 @@ -client/main.o: client/main.c /usr/include/stdc-predef.h config.h \ - /usr/include/stdio.h /usr/include/features.h \ - /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/sys_errlist.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio.h /usr/include/errno.h \ - /usr/include/arm-linux-gnueabihf/bits/errno.h /usr/include/linux/errno.h \ - /usr/include/arm-linux-gnueabihf/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/include/unistd.h /usr/include/arm-linux-gnueabihf/bits/posix_opt.h \ - /usr/include/arm-linux-gnueabihf/bits/environments.h \ - /usr/include/arm-linux-gnueabihf/bits/confname.h /usr/include/getopt.h \ - /usr/include/stdlib.h /usr/include/arm-linux-gnueabihf/bits/waitflags.h \ - /usr/include/arm-linux-gnueabihf/bits/waitstatus.h /usr/include/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/xlocale.h /usr/include/arm-linux-gnueabihf/sys/types.h \ - /usr/include/time.h /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/alloca.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-float.h \ - /usr/include/signal.h /usr/include/arm-linux-gnueabihf/bits/signum.h \ - /usr/include/arm-linux-gnueabihf/bits/siginfo.h \ - /usr/include/arm-linux-gnueabihf/bits/sigaction.h \ - /usr/include/arm-linux-gnueabihf/bits/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/asm/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigstack.h \ - /usr/include/arm-linux-gnueabihf/sys/ucontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigthread.h \ - /usr/include/arm-linux-gnueabihf/sys/signalfd.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h \ - /usr/include/stdint.h /usr/include/arm-linux-gnueabihf/bits/wchar.h \ - /usr/include/arm-linux-gnueabihf/bits/signalfd.h \ - /usr/include/readline/readline.h /usr/include/readline/rlstdc.h \ - /usr/include/readline/rltypedefs.h /usr/include/readline/keymaps.h \ - /usr/include/readline/chardefs.h /usr/include/ctype.h \ - /usr/include/string.h /usr/include/arm-linux-gnueabihf/bits/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string2.h \ - /usr/include/readline/tilde.h /usr/include/readline/history.h \ - /usr/include/arm-linux-gnueabihf/bits/timex.h \ - /usr/include/glib-2.0/glib.h /usr/include/glib-2.0/glib/galloca.h \ - /usr/include/glib-2.0/glib/gtypes.h \ - /usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h \ - /usr/include/glib-2.0/glib/gmacros.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h \ - /usr/include/limits.h /usr/include/arm-linux-gnueabihf/bits/posix1_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/local_lim.h \ - /usr/include/linux/limits.h \ - /usr/include/arm-linux-gnueabihf/bits/posix2_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/xopen_lim.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h \ - /usr/include/glib-2.0/glib/gversionmacros.h \ - /usr/include/glib-2.0/glib/garray.h \ - /usr/include/glib-2.0/glib/gasyncqueue.h \ - /usr/include/glib-2.0/glib/gthread.h \ - /usr/include/glib-2.0/glib/gatomic.h /usr/include/glib-2.0/glib/gerror.h \ - /usr/include/glib-2.0/glib/gquark.h \ - /usr/include/glib-2.0/glib/gbacktrace.h \ - /usr/include/glib-2.0/glib/gbase64.h \ - /usr/include/glib-2.0/glib/gbitlock.h \ - /usr/include/glib-2.0/glib/gbookmarkfile.h \ - /usr/include/glib-2.0/glib/gbytes.h \ - /usr/include/glib-2.0/glib/gcharset.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/gconvert.h \ - /usr/include/glib-2.0/glib/gdataset.h /usr/include/glib-2.0/glib/gdate.h \ - /usr/include/glib-2.0/glib/gdatetime.h \ - /usr/include/glib-2.0/glib/gtimezone.h /usr/include/glib-2.0/glib/gdir.h \ - /usr/include/dirent.h /usr/include/arm-linux-gnueabihf/bits/dirent.h \ - /usr/include/glib-2.0/glib/genviron.h \ - /usr/include/glib-2.0/glib/gfileutils.h \ - /usr/include/glib-2.0/glib/ggettext.h /usr/include/glib-2.0/glib/ghash.h \ - /usr/include/glib-2.0/glib/glist.h /usr/include/glib-2.0/glib/gmem.h \ - /usr/include/glib-2.0/glib/gnode.h /usr/include/glib-2.0/glib/ghmac.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/ghook.h \ - /usr/include/glib-2.0/glib/ghostutils.h \ - /usr/include/glib-2.0/glib/giochannel.h \ - /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gpoll.h \ - /usr/include/glib-2.0/glib/gslist.h /usr/include/glib-2.0/glib/gstring.h \ - /usr/include/glib-2.0/glib/gunicode.h \ - /usr/include/glib-2.0/glib/gutils.h \ - /usr/include/glib-2.0/glib/gkeyfile.h \ - /usr/include/glib-2.0/glib/gmappedfile.h \ - /usr/include/glib-2.0/glib/gmarkup.h \ - /usr/include/glib-2.0/glib/gmessages.h \ - /usr/include/glib-2.0/glib/goption.h \ - /usr/include/glib-2.0/glib/gpattern.h \ - /usr/include/glib-2.0/glib/gprimes.h /usr/include/glib-2.0/glib/gqsort.h \ - /usr/include/glib-2.0/glib/gqueue.h /usr/include/glib-2.0/glib/grand.h \ - /usr/include/glib-2.0/glib/gregex.h \ - /usr/include/glib-2.0/glib/gscanner.h \ - /usr/include/glib-2.0/glib/gsequence.h \ - /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gslice.h \ - /usr/include/glib-2.0/glib/gspawn.h \ - /usr/include/glib-2.0/glib/gstrfuncs.h \ - /usr/include/glib-2.0/glib/gstringchunk.h \ - /usr/include/glib-2.0/glib/gtestutils.h \ - /usr/include/glib-2.0/glib/gthreadpool.h \ - /usr/include/glib-2.0/glib/gtimer.h \ - /usr/include/glib-2.0/glib/gtrashstack.h \ - /usr/include/glib-2.0/glib/gtree.h \ - /usr/include/glib-2.0/glib/gurifuncs.h \ - /usr/include/glib-2.0/glib/gvarianttype.h \ - /usr/include/glib-2.0/glib/gvariant.h \ - /usr/include/glib-2.0/glib/gversion.h \ - /usr/include/glib-2.0/glib/deprecated/gallocator.h \ - /usr/include/glib-2.0/glib/deprecated/gcache.h \ - /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ - /usr/include/glib-2.0/glib/deprecated/gmain.h \ - /usr/include/glib-2.0/glib/deprecated/grel.h \ - /usr/include/glib-2.0/glib/deprecated/gthread.h /usr/include/pthread.h \ - /usr/include/sched.h /usr/include/arm-linux-gnueabihf/bits/sched.h \ - /usr/include/arm-linux-gnueabihf/bits/setjmp.h gdbus/gdbus.h \ - /usr/include/dbus-1.0/dbus/dbus.h \ - /usr/lib/arm-linux-gnueabihf/dbus-1.0/include/dbus/dbus-arch-deps.h \ - /usr/include/dbus-1.0/dbus/dbus-macros.h \ - /usr/include/dbus-1.0/dbus/dbus-address.h \ - /usr/include/dbus-1.0/dbus/dbus-types.h \ - /usr/include/dbus-1.0/dbus/dbus-errors.h \ - /usr/include/dbus-1.0/dbus/dbus-protocol.h \ - /usr/include/dbus-1.0/dbus/dbus-bus.h \ - /usr/include/dbus-1.0/dbus/dbus-connection.h \ - /usr/include/dbus-1.0/dbus/dbus-memory.h \ - /usr/include/dbus-1.0/dbus/dbus-message.h \ - /usr/include/dbus-1.0/dbus/dbus-shared.h \ - /usr/include/dbus-1.0/dbus/dbus-misc.h \ - /usr/include/dbus-1.0/dbus/dbus-pending-call.h \ - /usr/include/dbus-1.0/dbus/dbus-server.h \ - /usr/include/dbus-1.0/dbus/dbus-signature.h \ - /usr/include/dbus-1.0/dbus/dbus-syntax.h \ - /usr/include/dbus-1.0/dbus/dbus-threads.h monitor/uuid.h client/agent.h \ - client/display.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/include/stdio.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/sys_errlist.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio.h: - -/usr/include/errno.h: - -/usr/include/arm-linux-gnueabihf/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/arm-linux-gnueabihf/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/include/unistd.h: - -/usr/include/arm-linux-gnueabihf/bits/posix_opt.h: - -/usr/include/arm-linux-gnueabihf/bits/environments.h: - -/usr/include/arm-linux-gnueabihf/bits/confname.h: - -/usr/include/getopt.h: - -/usr/include/stdlib.h: - -/usr/include/arm-linux-gnueabihf/bits/waitflags.h: - -/usr/include/arm-linux-gnueabihf/bits/waitstatus.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/xlocale.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/time.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/alloca.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-float.h: - -/usr/include/signal.h: - -/usr/include/arm-linux-gnueabihf/bits/signum.h: - -/usr/include/arm-linux-gnueabihf/bits/siginfo.h: - -/usr/include/arm-linux-gnueabihf/bits/sigaction.h: - -/usr/include/arm-linux-gnueabihf/bits/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/asm/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigstack.h: - -/usr/include/arm-linux-gnueabihf/sys/ucontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigthread.h: - -/usr/include/arm-linux-gnueabihf/sys/signalfd.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/arm-linux-gnueabihf/bits/wchar.h: - -/usr/include/arm-linux-gnueabihf/bits/signalfd.h: - -/usr/include/readline/readline.h: - -/usr/include/readline/rlstdc.h: - -/usr/include/readline/rltypedefs.h: - -/usr/include/readline/keymaps.h: - -/usr/include/readline/chardefs.h: - -/usr/include/ctype.h: - -/usr/include/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string2.h: - -/usr/include/readline/tilde.h: - -/usr/include/readline/history.h: - -/usr/include/arm-linux-gnueabihf/bits/timex.h: - -/usr/include/glib-2.0/glib.h: - -/usr/include/glib-2.0/glib/galloca.h: - -/usr/include/glib-2.0/glib/gtypes.h: - -/usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h: - -/usr/include/glib-2.0/glib/gmacros.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h: - -/usr/include/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/local_lim.h: - -/usr/include/linux/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix2_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/xopen_lim.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h: - -/usr/include/glib-2.0/glib/gversionmacros.h: - -/usr/include/glib-2.0/glib/garray.h: - -/usr/include/glib-2.0/glib/gasyncqueue.h: - -/usr/include/glib-2.0/glib/gthread.h: - -/usr/include/glib-2.0/glib/gatomic.h: - -/usr/include/glib-2.0/glib/gerror.h: - -/usr/include/glib-2.0/glib/gquark.h: - -/usr/include/glib-2.0/glib/gbacktrace.h: - -/usr/include/glib-2.0/glib/gbase64.h: - -/usr/include/glib-2.0/glib/gbitlock.h: - -/usr/include/glib-2.0/glib/gbookmarkfile.h: - -/usr/include/glib-2.0/glib/gbytes.h: - -/usr/include/glib-2.0/glib/gcharset.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/gconvert.h: - -/usr/include/glib-2.0/glib/gdataset.h: - -/usr/include/glib-2.0/glib/gdate.h: - -/usr/include/glib-2.0/glib/gdatetime.h: - -/usr/include/glib-2.0/glib/gtimezone.h: - -/usr/include/glib-2.0/glib/gdir.h: - -/usr/include/dirent.h: - -/usr/include/arm-linux-gnueabihf/bits/dirent.h: - -/usr/include/glib-2.0/glib/genviron.h: - -/usr/include/glib-2.0/glib/gfileutils.h: - -/usr/include/glib-2.0/glib/ggettext.h: - -/usr/include/glib-2.0/glib/ghash.h: - -/usr/include/glib-2.0/glib/glist.h: - -/usr/include/glib-2.0/glib/gmem.h: - -/usr/include/glib-2.0/glib/gnode.h: - -/usr/include/glib-2.0/glib/ghmac.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/ghook.h: - -/usr/include/glib-2.0/glib/ghostutils.h: - -/usr/include/glib-2.0/glib/giochannel.h: - -/usr/include/glib-2.0/glib/gmain.h: - -/usr/include/glib-2.0/glib/gpoll.h: - -/usr/include/glib-2.0/glib/gslist.h: - -/usr/include/glib-2.0/glib/gstring.h: - -/usr/include/glib-2.0/glib/gunicode.h: - -/usr/include/glib-2.0/glib/gutils.h: - -/usr/include/glib-2.0/glib/gkeyfile.h: - -/usr/include/glib-2.0/glib/gmappedfile.h: - -/usr/include/glib-2.0/glib/gmarkup.h: - -/usr/include/glib-2.0/glib/gmessages.h: - -/usr/include/glib-2.0/glib/goption.h: - -/usr/include/glib-2.0/glib/gpattern.h: - -/usr/include/glib-2.0/glib/gprimes.h: - -/usr/include/glib-2.0/glib/gqsort.h: - -/usr/include/glib-2.0/glib/gqueue.h: - -/usr/include/glib-2.0/glib/grand.h: - -/usr/include/glib-2.0/glib/gregex.h: - -/usr/include/glib-2.0/glib/gscanner.h: - -/usr/include/glib-2.0/glib/gsequence.h: - -/usr/include/glib-2.0/glib/gshell.h: - -/usr/include/glib-2.0/glib/gslice.h: - -/usr/include/glib-2.0/glib/gspawn.h: - -/usr/include/glib-2.0/glib/gstrfuncs.h: - -/usr/include/glib-2.0/glib/gstringchunk.h: - -/usr/include/glib-2.0/glib/gtestutils.h: - -/usr/include/glib-2.0/glib/gthreadpool.h: - -/usr/include/glib-2.0/glib/gtimer.h: - -/usr/include/glib-2.0/glib/gtrashstack.h: - -/usr/include/glib-2.0/glib/gtree.h: - -/usr/include/glib-2.0/glib/gurifuncs.h: - -/usr/include/glib-2.0/glib/gvarianttype.h: - -/usr/include/glib-2.0/glib/gvariant.h: - -/usr/include/glib-2.0/glib/gversion.h: - -/usr/include/glib-2.0/glib/deprecated/gallocator.h: - -/usr/include/glib-2.0/glib/deprecated/gcache.h: - -/usr/include/glib-2.0/glib/deprecated/gcompletion.h: - -/usr/include/glib-2.0/glib/deprecated/gmain.h: - -/usr/include/glib-2.0/glib/deprecated/grel.h: - -/usr/include/glib-2.0/glib/deprecated/gthread.h: - -/usr/include/pthread.h: - -/usr/include/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/setjmp.h: - -gdbus/gdbus.h: - -/usr/include/dbus-1.0/dbus/dbus.h: - -/usr/lib/arm-linux-gnueabihf/dbus-1.0/include/dbus/dbus-arch-deps.h: - -/usr/include/dbus-1.0/dbus/dbus-macros.h: - -/usr/include/dbus-1.0/dbus/dbus-address.h: - -/usr/include/dbus-1.0/dbus/dbus-types.h: - -/usr/include/dbus-1.0/dbus/dbus-errors.h: - -/usr/include/dbus-1.0/dbus/dbus-protocol.h: - -/usr/include/dbus-1.0/dbus/dbus-bus.h: - -/usr/include/dbus-1.0/dbus/dbus-connection.h: - -/usr/include/dbus-1.0/dbus/dbus-memory.h: - -/usr/include/dbus-1.0/dbus/dbus-message.h: - -/usr/include/dbus-1.0/dbus/dbus-shared.h: - -/usr/include/dbus-1.0/dbus/dbus-misc.h: - -/usr/include/dbus-1.0/dbus/dbus-pending-call.h: - -/usr/include/dbus-1.0/dbus/dbus-server.h: - -/usr/include/dbus-1.0/dbus/dbus-signature.h: - -/usr/include/dbus-1.0/dbus/dbus-syntax.h: - -/usr/include/dbus-1.0/dbus/dbus-threads.h: - -monitor/uuid.h: - -client/agent.h: - -client/display.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/client/.dirstamp b/GRIB_BLE_HUB/libs/ble_extend/client/.dirstamp deleted file mode 100644 index e69de29..0000000 diff --git a/GRIB_BLE_HUB/libs/ble_extend/client/agent.c b/GRIB_BLE_HUB/libs/ble_extend/client/agent.c deleted file mode 100644 index 2d9dffd..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/client/agent.c +++ /dev/null @@ -1,486 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2012 Intel Corporation. All rights reserved. - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include -#include -#include - -#include "display.h" -#include "agent.h" - -#define AGENT_PATH "/org/bluez/agent" -#define AGENT_INTERFACE "org.bluez.Agent1" - -#define AGENT_PROMPT COLOR_RED "[agent]" COLOR_OFF " " - -static gboolean agent_registered = FALSE; -static const char *agent_capability = NULL; -static DBusMessage *pending_message = NULL; -static char *agent_saved_prompt = NULL; -static int agent_saved_point = 0; - -static void agent_prompt(const char *msg) -{ - char *prompt; - - /* Normal use should not prompt for user input to the agent a second - * time before it releases the prompt, but we take a safe action. */ - if (agent_saved_prompt) - return; - - agent_saved_point = rl_point; - agent_saved_prompt = g_strdup(rl_prompt); - - rl_set_prompt(""); - rl_redisplay(); - - prompt = g_strdup_printf(AGENT_PROMPT "%s", msg); - rl_set_prompt(prompt); - g_free(prompt); - - rl_replace_line("", 0); - rl_redisplay(); -} - -static void agent_release_prompt(void) -{ - if (!agent_saved_prompt) - return; - - /* This will cause rl_expand_prompt to re-run over the last prompt, but - * our prompt doesn't expand anyway. */ - rl_set_prompt(agent_saved_prompt); - rl_replace_line("", 0); - rl_point = agent_saved_point; - rl_redisplay(); - - g_free(agent_saved_prompt); - agent_saved_prompt = NULL; -} - -dbus_bool_t agent_completion(void) -{ - if (!pending_message) - return FALSE; - - return TRUE; -} - -static void pincode_response(DBusConnection *conn, const char *input) -{ - g_dbus_send_reply(conn, pending_message, DBUS_TYPE_STRING, &input, - DBUS_TYPE_INVALID); -} - -static void passkey_response(DBusConnection *conn, const char *input) -{ - dbus_uint32_t passkey; - if (sscanf(input, "%u", &passkey) == 1) - g_dbus_send_reply(conn, pending_message, DBUS_TYPE_UINT32, - &passkey, DBUS_TYPE_INVALID); - else if (!strcmp(input, "no")) - g_dbus_send_error(conn, pending_message, - "org.bluez.Error.Rejected", NULL); - else - g_dbus_send_error(conn, pending_message, - "org.bluez.Error.Canceled", NULL); -} - -static void confirm_response(DBusConnection *conn, const char *input) -{ - if (!strcmp(input, "yes")) - g_dbus_send_reply(conn, pending_message, DBUS_TYPE_INVALID); - else if (!strcmp(input, "no")) - g_dbus_send_error(conn, pending_message, - "org.bluez.Error.Rejected", NULL); - else - g_dbus_send_error(conn, pending_message, - "org.bluez.Error.Canceled", NULL); -} - -dbus_bool_t agent_input(DBusConnection *conn, const char *input) -{ - const char *member; - - if (!pending_message) - return FALSE; - - agent_release_prompt(); - - member = dbus_message_get_member(pending_message); - - if (!strcmp(member, "RequestPinCode")) - pincode_response(conn, input); - else if (!strcmp(member, "RequestPasskey")) - passkey_response(conn, input); - else if (!strcmp(member, "RequestConfirmation")) - confirm_response(conn, input); - else if (!strcmp(member, "RequestAuthorization")) - confirm_response(conn, input); - else if (!strcmp(member, "AuthorizeService")) - confirm_response(conn, input); - else - g_dbus_send_error(conn, pending_message, - "org.bluez.Error.Canceled", NULL); - - dbus_message_unref(pending_message); - pending_message = NULL; - - return TRUE; -} - -static DBusMessage *release_agent(DBusConnection *conn, - DBusMessage *msg, void *user_data) -{ - agent_registered = FALSE; - agent_capability = NULL; - - rl_printf("Agent released\n"); - - if (pending_message) { - dbus_message_unref(pending_message); - pending_message = NULL; - } - - agent_release_prompt(); - - g_dbus_unregister_interface(conn, AGENT_PATH, AGENT_INTERFACE); - - return dbus_message_new_method_return(msg); -} - -static DBusMessage *request_pincode(DBusConnection *conn, - DBusMessage *msg, void *user_data) -{ - const char *device; - - rl_printf("Request PIN code\n"); - - dbus_message_get_args(msg, NULL, DBUS_TYPE_OBJECT_PATH, &device, - DBUS_TYPE_INVALID); - - agent_prompt("Enter PIN code: "); - - pending_message = dbus_message_ref(msg); - - return NULL; -} - -static DBusMessage *display_pincode(DBusConnection *conn, - DBusMessage *msg, void *user_data) -{ - const char *device; - const char *pincode; - - dbus_message_get_args(msg, NULL, DBUS_TYPE_OBJECT_PATH, &device, - DBUS_TYPE_STRING, &pincode, DBUS_TYPE_INVALID); - - rl_printf(AGENT_PROMPT "PIN code: %s\n", pincode); - - return dbus_message_new_method_return(msg); -} - -static DBusMessage *request_passkey(DBusConnection *conn, - DBusMessage *msg, void *user_data) -{ - const char *device; - - rl_printf("Request passkey\n"); - - dbus_message_get_args(msg, NULL, DBUS_TYPE_OBJECT_PATH, &device, - DBUS_TYPE_INVALID); - - agent_prompt("Enter passkey (number in 0-999999): "); - - pending_message = dbus_message_ref(msg); - - return NULL; -} - -static DBusMessage *display_passkey(DBusConnection *conn, - DBusMessage *msg, void *user_data) -{ - const char *device; - dbus_uint32_t passkey; - dbus_uint16_t entered; - char passkey_full[7]; - - dbus_message_get_args(msg, NULL, DBUS_TYPE_OBJECT_PATH, &device, - DBUS_TYPE_UINT32, &passkey, DBUS_TYPE_UINT16, &entered, - DBUS_TYPE_INVALID); - - snprintf(passkey_full, sizeof(passkey_full), "%.6u", passkey); - passkey_full[6] = '\0'; - - if (entered > strlen(passkey_full)) - entered = strlen(passkey_full); - - rl_printf(AGENT_PROMPT "Passkey: " - COLOR_BOLDGRAY "%.*s" COLOR_BOLDWHITE "%s\n" COLOR_OFF, - entered, passkey_full, passkey_full + entered); - - return dbus_message_new_method_return(msg); -} - -static DBusMessage *request_confirmation(DBusConnection *conn, - DBusMessage *msg, void *user_data) -{ - const char *device; - dbus_uint32_t passkey; - char *str; - - rl_printf("Request confirmation\n"); - - dbus_message_get_args(msg, NULL, DBUS_TYPE_OBJECT_PATH, &device, - DBUS_TYPE_UINT32, &passkey, DBUS_TYPE_INVALID); - - str = g_strdup_printf("Confirm passkey %06u (yes/no): ", passkey); - agent_prompt(str); - g_free(str); - - pending_message = dbus_message_ref(msg); - - return NULL; -} - -static DBusMessage *request_authorization(DBusConnection *conn, - DBusMessage *msg, void *user_data) -{ - const char *device; - - rl_printf("Request authorization\n"); - - dbus_message_get_args(msg, NULL, DBUS_TYPE_OBJECT_PATH, &device, - DBUS_TYPE_INVALID); - - agent_prompt("Accept pairing (yes/no): "); - - pending_message = dbus_message_ref(msg); - - return NULL; -} - -static DBusMessage *authorize_service(DBusConnection *conn, - DBusMessage *msg, void *user_data) -{ - const char *device, *uuid; - char *str; - - rl_printf("Authorize service\n"); - - dbus_message_get_args(msg, NULL, DBUS_TYPE_OBJECT_PATH, &device, - DBUS_TYPE_STRING, &uuid, DBUS_TYPE_INVALID); - - str = g_strdup_printf("Authorize service %s (yes/no): ", uuid); - agent_prompt(str); - g_free(str); - - pending_message = dbus_message_ref(msg); - - return NULL; -} - -static DBusMessage *cancel_request(DBusConnection *conn, - DBusMessage *msg, void *user_data) -{ - rl_printf("Request canceled\n"); - - agent_release_prompt(); - dbus_message_unref(pending_message); - pending_message = NULL; - - return dbus_message_new_method_return(msg); -} - -static const GDBusMethodTable methods[] = { - { GDBUS_METHOD("Release", NULL, NULL, release_agent) }, - { GDBUS_ASYNC_METHOD("RequestPinCode", - GDBUS_ARGS({ "device", "o" }), - GDBUS_ARGS({ "pincode", "s" }), request_pincode) }, - { GDBUS_METHOD("DisplayPinCode", - GDBUS_ARGS({ "device", "o" }, { "pincode", "s" }), - NULL, display_pincode) }, - { GDBUS_ASYNC_METHOD("RequestPasskey", - GDBUS_ARGS({ "device", "o" }), - GDBUS_ARGS({ "passkey", "u" }), request_passkey) }, - { GDBUS_METHOD("DisplayPasskey", - GDBUS_ARGS({ "device", "o" }, { "passkey", "u" }, - { "entered", "q" }), - NULL, display_passkey) }, - { GDBUS_ASYNC_METHOD("RequestConfirmation", - GDBUS_ARGS({ "device", "o" }, { "passkey", "u" }), - NULL, request_confirmation) }, - { GDBUS_ASYNC_METHOD("RequestAuthorization", - GDBUS_ARGS({ "device", "o" }), - NULL, request_authorization) }, - { GDBUS_ASYNC_METHOD("AuthorizeService", - GDBUS_ARGS({ "device", "o" }, { "uuid", "s" }), - NULL, authorize_service) }, - { GDBUS_METHOD("Cancel", NULL, NULL, cancel_request) }, - { } -}; - -static void register_agent_setup(DBusMessageIter *iter, void *user_data) -{ - const char *path = AGENT_PATH; - const char *capability = agent_capability; - - dbus_message_iter_append_basic(iter, DBUS_TYPE_OBJECT_PATH, &path); - dbus_message_iter_append_basic(iter, DBUS_TYPE_STRING, &capability); -} - -static void register_agent_reply(DBusMessage *message, void *user_data) -{ - DBusConnection *conn = user_data; - DBusError error; - - dbus_error_init(&error); - - if (dbus_set_error_from_message(&error, message) == FALSE) { - agent_registered = TRUE; - rl_printf("Agent registered\n"); - } else { - rl_printf("Failed to register agent: %s\n", error.name); - dbus_error_free(&error); - - if (g_dbus_unregister_interface(conn, AGENT_PATH, - AGENT_INTERFACE) == FALSE) - rl_printf("Failed to unregister agent object\n"); - } -} - -void agent_register(DBusConnection *conn, GDBusProxy *manager, - const char *capability) - -{ - if (agent_registered == TRUE) { - rl_printf("Agent is already registered\n"); - return; - } - - agent_capability = capability; - - if (g_dbus_register_interface(conn, AGENT_PATH, - AGENT_INTERFACE, methods, - NULL, NULL, NULL, NULL) == FALSE) { - rl_printf("Failed to register agent object\n"); - return; - } - - if (g_dbus_proxy_method_call(manager, "RegisterAgent", - register_agent_setup, - register_agent_reply, - conn, NULL) == FALSE) { - rl_printf("Failed to call register agent method\n"); - return; - } - - agent_capability = NULL; -} - -static void unregister_agent_setup(DBusMessageIter *iter, void *user_data) -{ - const char *path = AGENT_PATH; - - dbus_message_iter_append_basic(iter, DBUS_TYPE_OBJECT_PATH, &path); -} - -static void unregister_agent_reply(DBusMessage *message, void *user_data) -{ - DBusConnection *conn = user_data; - DBusError error; - - dbus_error_init(&error); - - if (dbus_set_error_from_message(&error, message) == FALSE) { - agent_registered = FALSE; - agent_capability = NULL; - rl_printf("Agent unregistered\n"); - - if (g_dbus_unregister_interface(conn, AGENT_PATH, - AGENT_INTERFACE) == FALSE) - rl_printf("Failed to unregister agent object\n"); - } else { - rl_printf("Failed to unregister agent: %s\n", error.name); - dbus_error_free(&error); - } -} - -void agent_unregister(DBusConnection *conn, GDBusProxy *manager) -{ - if (agent_registered == FALSE) { - rl_printf("No agent is registered\n"); - return; - } - - if (g_dbus_proxy_method_call(manager, "UnregisterAgent", - unregister_agent_setup, - unregister_agent_reply, - conn, NULL) == FALSE) { - rl_printf("Failed to call unregister agent method\n"); - return; - } -} - -static void request_default_setup(DBusMessageIter *iter, void *user_data) -{ - const char *path = AGENT_PATH; - - dbus_message_iter_append_basic(iter, DBUS_TYPE_OBJECT_PATH, &path); -} - -static void request_default_reply(DBusMessage *message, void *user_data) -{ - DBusError error; - - dbus_error_init(&error); - - if (dbus_set_error_from_message(&error, message) == TRUE) { - rl_printf("Failed to request default agent: %s\n", error.name); - dbus_error_free(&error); - return; - } - - rl_printf("Default agent request successful\n"); -} - -void agent_default(DBusConnection *conn, GDBusProxy *manager) -{ - if (agent_registered == FALSE) { - rl_printf("No agent is registered\n"); - return; - } - - if (g_dbus_proxy_method_call(manager, "RequestDefaultAgent", - request_default_setup, - request_default_reply, - NULL, NULL) == FALSE) { - rl_printf("Failed to call request default agent method\n"); - return; - } -} diff --git a/GRIB_BLE_HUB/libs/ble_extend/client/agent.h b/GRIB_BLE_HUB/libs/ble_extend/client/agent.h deleted file mode 100644 index 0fbe8e5..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/client/agent.h +++ /dev/null @@ -1,30 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2012 Intel Corporation. All rights reserved. - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -void agent_register(DBusConnection *conn, GDBusProxy *manager, - const char *capability); -void agent_unregister(DBusConnection *conn, GDBusProxy *manager); -void agent_default(DBusConnection *conn, GDBusProxy *manager); - -dbus_bool_t agent_completion(void); -dbus_bool_t agent_input(DBusConnection *conn, const char *input); diff --git a/GRIB_BLE_HUB/libs/ble_extend/client/bluetoothctl b/GRIB_BLE_HUB/libs/ble_extend/client/bluetoothctl deleted file mode 100644 index c992a04..0000000 Binary files a/GRIB_BLE_HUB/libs/ble_extend/client/bluetoothctl and /dev/null differ diff --git a/GRIB_BLE_HUB/libs/ble_extend/client/display.c b/GRIB_BLE_HUB/libs/ble_extend/client/display.c deleted file mode 100644 index bc891af..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/client/display.c +++ /dev/null @@ -1,64 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2012 Intel Corporation. All rights reserved. - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include -#include -#include -#include - -#include "display.h" - -void rl_printf(const char *fmt, ...) -{ - va_list args; - bool save_input; - char *saved_line; - int saved_point; - - save_input = !RL_ISSTATE(RL_STATE_DONE); - - if (save_input) { - saved_point = rl_point; - saved_line = rl_copy_text(0, rl_end); - rl_save_prompt(); - rl_replace_line("", 0); - rl_redisplay(); - } - - va_start(args, fmt); - vprintf(fmt, args); - va_end(args); - - if (save_input) { - rl_restore_prompt(); - rl_replace_line(saved_line, 0); - rl_point = saved_point; - rl_redisplay(); - free(saved_line); - } -} diff --git a/GRIB_BLE_HUB/libs/ble_extend/client/display.h b/GRIB_BLE_HUB/libs/ble_extend/client/display.h deleted file mode 100644 index 91a0be9..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/client/display.h +++ /dev/null @@ -1,32 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2012 Intel Corporation. All rights reserved. - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#define COLOR_OFF "\x1B[0m" -#define COLOR_RED "\x1B[0;91m" -#define COLOR_GREEN "\x1B[0;92m" -#define COLOR_YELLOW "\x1B[0;93m" -#define COLOR_BLUE "\x1B[0;94m" -#define COLOR_BOLDGRAY "\x1B[1;30m" -#define COLOR_BOLDWHITE "\x1B[1;37m" - -void rl_printf(const char *fmt, ...) __attribute__((format(printf, 1, 2))); diff --git a/GRIB_BLE_HUB/libs/ble_extend/client/main.c b/GRIB_BLE_HUB/libs/ble_extend/client/main.c deleted file mode 100644 index dabb836..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/client/main.c +++ /dev/null @@ -1,1388 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2012 Intel Corporation. All rights reserved. - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include - -#include "monitor/uuid.h" -#include "agent.h" -#include "display.h" - -/* String display constants */ -#define COLORED_NEW COLOR_GREEN "NEW" COLOR_OFF -#define COLORED_CHG COLOR_YELLOW "CHG" COLOR_OFF -#define COLORED_DEL COLOR_RED "DEL" COLOR_OFF - -#define PROMPT_ON COLOR_BLUE "[bluetooth]" COLOR_OFF "# " -#define PROMPT_OFF "[bluetooth]# " - -static GMainLoop *main_loop; -static DBusConnection *dbus_conn; - -static GDBusProxy *agent_manager; -static gchar *auto_register_agent = NULL; - -static GDBusProxy *default_ctrl; -static GList *ctrl_list; -static GList *dev_list; - -static const char * const agent_arguments[] = { - "on", - "off", - "DisplayOnly", - "DisplayYesNo", - "KeyboardDisplay", - "KeyboardOnly", - "NoInputNoOutput", - NULL -}; - -static void proxy_leak(gpointer data) -{ - printf("Leaking proxy %p\n", data); -} - -static void connect_handler(DBusConnection *connection, void *user_data) -{ - rl_set_prompt(PROMPT_ON); - printf("\r"); - rl_on_new_line(); - rl_redisplay(); -} - -static void disconnect_handler(DBusConnection *connection, void *user_data) -{ - rl_set_prompt(PROMPT_OFF); - printf("\r"); - rl_on_new_line(); - rl_redisplay(); - - g_list_free(ctrl_list); - ctrl_list = NULL; - - default_ctrl = NULL; - - g_list_free(dev_list); - dev_list = NULL; -} - -static void print_adapter(GDBusProxy *proxy, const char *description) -{ - DBusMessageIter iter; - const char *address, *name; - - if (g_dbus_proxy_get_property(proxy, "Address", &iter) == FALSE) - return; - - dbus_message_iter_get_basic(&iter, &address); - - if (g_dbus_proxy_get_property(proxy, "Alias", &iter) == TRUE) - dbus_message_iter_get_basic(&iter, &name); - else - name = ""; - - rl_printf("%s%s%sController %s %s %s\n", - description ? "[" : "", - description ? : "", - description ? "] " : "", - address, name, - default_ctrl == proxy ? "[default]" : ""); - -} - -static void print_device(GDBusProxy *proxy, const char *description) -{ - DBusMessageIter iter; - const char *address, *name; - - if (g_dbus_proxy_get_property(proxy, "Address", &iter) == FALSE) - return; - - dbus_message_iter_get_basic(&iter, &address); - - if (g_dbus_proxy_get_property(proxy, "Alias", &iter) == TRUE) - dbus_message_iter_get_basic(&iter, &name); - else - name = ""; - - rl_printf("%s%s%sDevice %s %s\n", - description ? "[" : "", - description ? : "", - description ? "] " : "", - address, name); -} - -static void print_iter(const char *label, const char *name, - DBusMessageIter *iter) -{ - dbus_bool_t valbool; - dbus_uint32_t valu32; - dbus_uint16_t valu16; - dbus_int16_t vals16; - const char *valstr; - - if (iter == NULL) { - rl_printf("%s%s is nil\n", label, name); - return; - } - - switch (dbus_message_iter_get_arg_type(iter)) { - case DBUS_TYPE_INVALID: - rl_printf("%s%s is inavlid\n", label, name); - break; - case DBUS_TYPE_STRING: - case DBUS_TYPE_OBJECT_PATH: - dbus_message_iter_get_basic(iter, &valstr); - rl_printf("%s%s: %s\n", label, name, valstr); - break; - case DBUS_TYPE_BOOLEAN: - dbus_message_iter_get_basic(iter, &valbool); - rl_printf("%s%s: %s\n", label, name, - valbool == TRUE ? "yes" : "no"); - break; - case DBUS_TYPE_UINT32: - dbus_message_iter_get_basic(iter, &valu32); - rl_printf("%s%s: 0x%06x\n", label, name, valu32); - break; - case DBUS_TYPE_UINT16: - dbus_message_iter_get_basic(iter, &valu16); - rl_printf("%s%s: 0x%04x\n", label, name, valu16); - break; - case DBUS_TYPE_INT16: - dbus_message_iter_get_basic(iter, &vals16); - rl_printf("%s%s: %d\n", label, name, vals16); - break; - default: - rl_printf("%s%s has unsupported type\n", label, name); - break; - } -} - -static void print_property(GDBusProxy *proxy, const char *name) -{ - DBusMessageIter iter; - - if (g_dbus_proxy_get_property(proxy, name, &iter) == FALSE) - return; - - print_iter("\t", name, &iter); -} - -static void print_uuids(GDBusProxy *proxy) -{ - DBusMessageIter iter, value; - - if (g_dbus_proxy_get_property(proxy, "UUIDs", &iter) == FALSE) - return; - - dbus_message_iter_recurse(&iter, &value); - - while (dbus_message_iter_get_arg_type(&value) == DBUS_TYPE_STRING) { - const char *uuid, *text; - - dbus_message_iter_get_basic(&value, &uuid); - - text = uuidstr_to_str(uuid); - if (text) { - char str[26]; - unsigned int n; - - str[sizeof(str) - 1] = '\0'; - - n = snprintf(str, sizeof(str), "%s", text); - if (n > sizeof(str) - 1) { - str[sizeof(str) - 2] = '.'; - str[sizeof(str) - 3] = '.'; - if (str[sizeof(str) - 4] == ' ') - str[sizeof(str) - 4] = '.'; - - n = sizeof(str) - 1; - } - - rl_printf("\tUUID: %s%*c(%s)\n", - str, 26 - n, ' ', uuid); - } else - rl_printf("\tUUID: %*c(%s)\n", 26, ' ', uuid); - - dbus_message_iter_next(&value); - } -} - -static gboolean device_is_child(GDBusProxy *device, GDBusProxy *master) -{ - DBusMessageIter iter; - const char *adapter, *path; - - if (!master) - return FALSE; - - if (g_dbus_proxy_get_property(device, "Adapter", &iter) == FALSE) - return FALSE; - - dbus_message_iter_get_basic(&iter, &adapter); - path = g_dbus_proxy_get_path(master); - - if (!strcmp(path, adapter)) - return TRUE; - - return FALSE; -} - -static void proxy_added(GDBusProxy *proxy, void *user_data) -{ - const char *interface; - - interface = g_dbus_proxy_get_interface(proxy); - - if (!strcmp(interface, "org.bluez.Device1")) { - if (device_is_child(proxy, default_ctrl) == TRUE) { - dev_list = g_list_append(dev_list, proxy); - - print_device(proxy, COLORED_NEW); - } - } else if (!strcmp(interface, "org.bluez.Adapter1")) { - ctrl_list = g_list_append(ctrl_list, proxy); - - if (!default_ctrl) - default_ctrl = proxy; - - print_adapter(proxy, COLORED_NEW); - } else if (!strcmp(interface, "org.bluez.AgentManager1")) { - if (!agent_manager) { - agent_manager = proxy; - - if (auto_register_agent) - agent_register(dbus_conn, agent_manager, - auto_register_agent); - } - } -} - -static void proxy_removed(GDBusProxy *proxy, void *user_data) -{ - const char *interface; - - interface = g_dbus_proxy_get_interface(proxy); - - if (!strcmp(interface, "org.bluez.Device1")) { - if (device_is_child(proxy, default_ctrl) == TRUE) { - dev_list = g_list_remove(dev_list, proxy); - - print_device(proxy, COLORED_DEL); - } - } else if (!strcmp(interface, "org.bluez.Adapter1")) { - ctrl_list = g_list_remove(ctrl_list, proxy); - - print_adapter(proxy, COLORED_DEL); - - if (default_ctrl == proxy) { - default_ctrl = NULL; - - g_list_free(dev_list); - dev_list = NULL; - } - } else if (!strcmp(interface, "org.bluez.AgentManager1")) { - if (agent_manager == proxy) - agent_manager = NULL; - } -} - -static void property_changed(GDBusProxy *proxy, const char *name, - DBusMessageIter *iter, void *user_data) -{ - const char *interface; - - interface = g_dbus_proxy_get_interface(proxy); - - if (!strcmp(interface, "org.bluez.Device1")) { - if (device_is_child(proxy, default_ctrl) == TRUE) { - DBusMessageIter addr_iter; - char *str; - - if (g_dbus_proxy_get_property(proxy, "Address", - &addr_iter) == TRUE) { - const char *address; - - dbus_message_iter_get_basic(&addr_iter, - &address); - str = g_strdup_printf("[" COLORED_CHG - "] Device %s ", address); - } else - str = g_strdup(""); - - print_iter(str, name, iter); - g_free(str); - } - } else if (!strcmp(interface, "org.bluez.Adapter1")) { - DBusMessageIter addr_iter; - char *str; - - if (g_dbus_proxy_get_property(proxy, "Address", - &addr_iter) == TRUE) { - const char *address; - - dbus_message_iter_get_basic(&addr_iter, &address); - str = g_strdup_printf("[" COLORED_CHG - "] Controller %s ", address); - } else - str = g_strdup(""); - - print_iter(str, name, iter); - g_free(str); - } -} - -static void message_handler(DBusConnection *connection, - DBusMessage *message, void *user_data) -{ - rl_printf("[SIGNAL] %s.%s\n", dbus_message_get_interface(message), - dbus_message_get_member(message)); -} - -static GDBusProxy *find_proxy_by_address(GList *source, const char *address) -{ - GList *list; - - for (list = g_list_first(source); list; list = g_list_next(list)) { - GDBusProxy *proxy = list->data; - DBusMessageIter iter; - const char *str; - - if (g_dbus_proxy_get_property(proxy, "Address", &iter) == FALSE) - continue; - - dbus_message_iter_get_basic(&iter, &str); - - if (!strcmp(str, address)) - return proxy; - } - - return NULL; -} - -static gboolean check_default_ctrl(void) -{ - if (!default_ctrl) { - rl_printf("No default controller available\n"); - return FALSE; - } - - return TRUE; -} - -static gboolean parse_argument_on_off(const char *arg, dbus_bool_t *value) -{ - if (!arg || !strlen(arg)) { - rl_printf("Missing on/off argument\n"); - return FALSE; - } - - if (!strcmp(arg, "on") || !strcmp(arg, "yes")) { - *value = TRUE; - return TRUE; - } - - if (!strcmp(arg, "off") || !strcmp(arg, "no")) { - *value = FALSE; - return TRUE; - } - - rl_printf("Invalid argument %s\n", arg); - return FALSE; -} - -static gboolean parse_argument_agent(const char *arg, dbus_bool_t *value, - const char **capability) -{ - const char * const *opt; - - if (arg == NULL || strlen(arg) == 0) { - rl_printf("Missing on/off/capability argument\n"); - return FALSE; - } - - if (strcmp(arg, "on") == 0 || strcmp(arg, "yes") == 0) { - *value = TRUE; - *capability = ""; - return TRUE; - } - - if (strcmp(arg, "off") == 0 || strcmp(arg, "no") == 0) { - *value = FALSE; - return TRUE; - } - - for (opt = agent_arguments; *opt; opt++) { - if (strcmp(arg, *opt) == 0) { - *value = TRUE; - *capability = *opt; - return TRUE; - } - } - - rl_printf("Invalid argument %s\n", arg); - return FALSE; -} - -static void cmd_list(const char *arg) -{ - GList *list; - - for (list = g_list_first(ctrl_list); list; list = g_list_next(list)) { - GDBusProxy *proxy = list->data; - print_adapter(proxy, NULL); - } -} - -static void cmd_show(const char *arg) -{ - GDBusProxy *proxy; - DBusMessageIter iter; - const char *address; - - if (!arg || !strlen(arg)) { - if (check_default_ctrl() == FALSE) - return; - - proxy = default_ctrl; - } else { - proxy = find_proxy_by_address(ctrl_list, arg); - if (!proxy) { - rl_printf("Controller %s not available\n", arg); - return; - } - } - - if (g_dbus_proxy_get_property(proxy, "Address", &iter) == FALSE) - return; - - dbus_message_iter_get_basic(&iter, &address); - rl_printf("Controller %s\n", address); - - print_property(proxy, "Name"); - print_property(proxy, "Alias"); - print_property(proxy, "Class"); - print_property(proxy, "Powered"); - print_property(proxy, "Discoverable"); - print_property(proxy, "Pairable"); - print_uuids(proxy); - print_property(proxy, "Modalias"); - print_property(proxy, "Discovering"); -} - -static void cmd_select(const char *arg) -{ - GDBusProxy *proxy; - - if (!arg || !strlen(arg)) { - rl_printf("Missing controller address argument\n"); - return; - } - - proxy = find_proxy_by_address(ctrl_list, arg); - if (!proxy) { - rl_printf("Controller %s not available\n", arg); - return; - } - - if (default_ctrl == proxy) - return; - - default_ctrl = proxy; - print_adapter(proxy, NULL); - - g_list_free(dev_list); - dev_list = NULL; -} - -static void cmd_devices(const char *arg) -{ - GList *list; - - for (list = g_list_first(dev_list); list; list = g_list_next(list)) { - GDBusProxy *proxy = list->data; - print_device(proxy, NULL); - } -} - -static void generic_callback(const DBusError *error, void *user_data) -{ - char *str = user_data; - - if (dbus_error_is_set(error)) - rl_printf("Failed to set %s: %s\n", str, error->name); - else - rl_printf("Changing %s succeeded\n", str); -} - -static void cmd_system_alias(const char *arg) -{ - char *name; - - if (!arg || !strlen(arg)) { - rl_printf("Missing name argument\n"); - return; - } - - if (check_default_ctrl() == FALSE) - return; - - name = g_strdup(arg); - - if (g_dbus_proxy_set_property_basic(default_ctrl, "Alias", - DBUS_TYPE_STRING, &name, - generic_callback, name, g_free) == TRUE) - return; - - g_free(name); -} - -static void cmd_reset_alias(const char *arg) -{ - char *name; - - if (check_default_ctrl() == FALSE) - return; - - name = g_strdup(""); - - if (g_dbus_proxy_set_property_basic(default_ctrl, "Alias", - DBUS_TYPE_STRING, &name, - generic_callback, name, g_free) == TRUE) - return; - - g_free(name); -} - -static void cmd_power(const char *arg) -{ - dbus_bool_t powered; - char *str; - - if (parse_argument_on_off(arg, &powered) == FALSE) - return; - - if (check_default_ctrl() == FALSE) - return; - - str = g_strdup_printf("power %s", powered == TRUE ? "on" : "off"); - - if (g_dbus_proxy_set_property_basic(default_ctrl, "Powered", - DBUS_TYPE_BOOLEAN, &powered, - generic_callback, str, g_free) == TRUE) - return; - - g_free(str); -} - -static void cmd_pairable(const char *arg) -{ - dbus_bool_t pairable; - char *str; - - if (parse_argument_on_off(arg, &pairable) == FALSE) - return; - - if (check_default_ctrl() == FALSE) - return; - - str = g_strdup_printf("pairable %s", pairable == TRUE ? "on" : "off"); - - if (g_dbus_proxy_set_property_basic(default_ctrl, "Pairable", - DBUS_TYPE_BOOLEAN, &pairable, - generic_callback, str, g_free) == TRUE) - return; - - g_free(str); -} - -static void cmd_discoverable(const char *arg) -{ - dbus_bool_t discoverable; - char *str; - - if (parse_argument_on_off(arg, &discoverable) == FALSE) - return; - - if (check_default_ctrl() == FALSE) - return; - - str = g_strdup_printf("discoverable %s", - discoverable == TRUE ? "on" : "off"); - - if (g_dbus_proxy_set_property_basic(default_ctrl, "Discoverable", - DBUS_TYPE_BOOLEAN, &discoverable, - generic_callback, str, g_free) == TRUE) - return; - - g_free(str); -} - -static void cmd_agent(const char *arg) -{ - dbus_bool_t enable; - const char *capability; - - if (parse_argument_agent(arg, &enable, &capability) == FALSE) - return; - - if (enable == TRUE) { - g_free(auto_register_agent); - auto_register_agent = g_strdup(capability); - - if (agent_manager) - agent_register(dbus_conn, agent_manager, - auto_register_agent); - else - rl_printf("Agent registration enabled\n"); - } else { - g_free(auto_register_agent); - auto_register_agent = NULL; - - if (agent_manager) - agent_unregister(dbus_conn, agent_manager); - else - rl_printf("Agent registration disabled\n"); - } -} - -static void cmd_default_agent(const char *arg) -{ - agent_default(dbus_conn, agent_manager); -} - -static void start_discovery_reply(DBusMessage *message, void *user_data) -{ - dbus_bool_t enable = GPOINTER_TO_UINT(user_data); - DBusError error; - - dbus_error_init(&error); - - if (dbus_set_error_from_message(&error, message) == TRUE) { - rl_printf("Failed to %s discovery: %s\n", - enable == TRUE ? "start" : "stop", error.name); - dbus_error_free(&error); - return; - } - - rl_printf("Discovery %s\n", enable == TRUE ? "started" : "stopped"); -} - -static void cmd_scan(const char *arg) -{ - dbus_bool_t enable; - const char *method; - - if (parse_argument_on_off(arg, &enable) == FALSE) - return; - - if (check_default_ctrl() == FALSE) - return; - - if (enable == TRUE) - method = "StartDiscovery"; - else - method = "StopDiscovery"; - - if (g_dbus_proxy_method_call(default_ctrl, method, - NULL, start_discovery_reply, - GUINT_TO_POINTER(enable), NULL) == FALSE) { - rl_printf("Failed to %s discovery\n", - enable == TRUE ? "start" : "stop"); - return; - } -} - -static void cmd_info(const char *arg) -{ - GDBusProxy *proxy; - DBusMessageIter iter; - const char *address; - - if (!arg || !strlen(arg)) { - rl_printf("Missing device address argument\n"); - return; - } - - proxy = find_proxy_by_address(dev_list, arg); - if (!proxy) { - rl_printf("Device %s not available\n", arg); - return; - } - - if (g_dbus_proxy_get_property(proxy, "Address", &iter) == FALSE) - return; - - dbus_message_iter_get_basic(&iter, &address); - rl_printf("Device %s\n", address); - - print_property(proxy, "Name"); - print_property(proxy, "Alias"); - print_property(proxy, "Class"); - print_property(proxy, "Appearance"); - print_property(proxy, "Icon"); - print_property(proxy, "Paired"); - print_property(proxy, "Trusted"); - print_property(proxy, "Blocked"); - print_property(proxy, "Connected"); - print_property(proxy, "LegacyPairing"); - print_uuids(proxy); - print_property(proxy, "Modalias"); -} - -static void pair_reply(DBusMessage *message, void *user_data) -{ - DBusError error; - - dbus_error_init(&error); - - if (dbus_set_error_from_message(&error, message) == TRUE) { - rl_printf("Failed to pair: %s\n", error.name); - dbus_error_free(&error); - return; - } - - rl_printf("Pairing successful\n"); -} - -static void cmd_pair(const char *arg) -{ - GDBusProxy *proxy; - - if (!arg || !strlen(arg)) { - rl_printf("Missing device address argument\n"); - return; - } - - proxy = find_proxy_by_address(dev_list, arg); - if (!proxy) { - rl_printf("Device %s not available\n", arg); - return; - } - - if (g_dbus_proxy_method_call(proxy, "Pair", NULL, pair_reply, - NULL, NULL) == FALSE) { - rl_printf("Failed to pair\n"); - return; - } - - rl_printf("Attempting to pair with %s\n", arg); -} - -static void cmd_trust(const char *arg) -{ - GDBusProxy *proxy; - dbus_bool_t trusted; - char *str; - - if (!arg || !strlen(arg)) { - rl_printf("Missing device address argument\n"); - return; - } - - proxy = find_proxy_by_address(dev_list, arg); - if (!proxy) { - rl_printf("Device %s not available\n", arg); - return; - } - - trusted = TRUE; - - str = g_strdup_printf("%s trust", arg); - - if (g_dbus_proxy_set_property_basic(proxy, "Trusted", - DBUS_TYPE_BOOLEAN, &trusted, - generic_callback, str, g_free) == TRUE) - return; - - g_free(str); -} - -static void remove_device_reply(DBusMessage *message, void *user_data) -{ - DBusError error; - - dbus_error_init(&error); - - if (dbus_set_error_from_message(&error, message) == TRUE) { - rl_printf("Failed to remove device: %s\n", error.name); - dbus_error_free(&error); - return; - } - - rl_printf("Device has been removed\n"); -} - -static void remove_device_setup(DBusMessageIter *iter, void *user_data) -{ - const char *path = user_data; - - dbus_message_iter_append_basic(iter, DBUS_TYPE_OBJECT_PATH, &path); -} - -static void cmd_remove(const char *arg) -{ - GDBusProxy *proxy; - char *path; - - if (!arg || !strlen(arg)) { - rl_printf("Missing device address argument\n"); - return; - } - - if (check_default_ctrl() == FALSE) - return; - - proxy = find_proxy_by_address(dev_list, arg); - if (!proxy) { - rl_printf("Device %s not available\n", arg); - return; - } - - path = g_strdup(g_dbus_proxy_get_path(proxy)); - - if (g_dbus_proxy_method_call(default_ctrl, "RemoveDevice", - remove_device_setup, - remove_device_reply, - path, g_free) == FALSE) { - rl_printf("Failed to remove device\n"); - g_free(path); - return; - } -} - -static void connect_reply(DBusMessage *message, void *user_data) -{ - DBusError error; - - dbus_error_init(&error); - - if (dbus_set_error_from_message(&error, message) == TRUE) { - rl_printf("Failed to connect: %s\n", error.name); - dbus_error_free(&error); - return; - } - - rl_printf("Connection successful\n"); -} - -static void cmd_connect(const char *arg) -{ - GDBusProxy *proxy; - - if (!arg || !strlen(arg)) { - rl_printf("Missing device address argument\n"); - return; - } - - proxy = find_proxy_by_address(dev_list, arg); - if (!proxy) { - rl_printf("Device %s not available\n", arg); - return; - } - - if (g_dbus_proxy_method_call(proxy, "Connect", NULL, connect_reply, - NULL, NULL) == FALSE) { - rl_printf("Failed to connect\n"); - return; - } - - rl_printf("Attempting to connect to %s\n", arg); -} - -static void disconn_reply(DBusMessage *message, void *user_data) -{ - DBusError error; - - dbus_error_init(&error); - - if (dbus_set_error_from_message(&error, message) == TRUE) { - rl_printf("Failed to disconnect: %s\n", error.name); - dbus_error_free(&error); - return; - } - - rl_printf("Successful disconnected\n"); -} - -static void cmd_disconn(const char *arg) -{ - GDBusProxy *proxy; - - if (!arg || !strlen(arg)) { - rl_printf("Missing device address argument\n"); - return; - } - - proxy = find_proxy_by_address(dev_list, arg); - if (!proxy) { - rl_printf("Device %s not available\n", arg); - return; - } - - if (g_dbus_proxy_method_call(proxy, "Disconnect", NULL, disconn_reply, - NULL, NULL) == FALSE) { - rl_printf("Failed to disconnect\n"); - return; - } - - rl_printf("Attempting to disconnect from %s\n", arg); -} - -static void cmd_version(const char *arg) -{ - rl_printf("Version %s\n", VERSION); -} - -static void cmd_quit(const char *arg) -{ - g_main_loop_quit(main_loop); -} - -static char *generic_generator(const char *text, int state, - GList *source, const char *property) -{ - static int index, len; - GList *list; - - if (!state) { - index = 0; - len = strlen(text); - } - - for (list = g_list_nth(source, index); list; - list = g_list_next(list)) { - GDBusProxy *proxy = list->data; - DBusMessageIter iter; - const char *str; - - index++; - - if (g_dbus_proxy_get_property(proxy, property, &iter) == FALSE) - continue; - - dbus_message_iter_get_basic(&iter, &str); - - if (!strncmp(str, text, len)) - return strdup(str); - } - - return NULL; -} - -static char *ctrl_generator(const char *text, int state) -{ - return generic_generator(text, state, ctrl_list, "Address"); -} - -static char *dev_generator(const char *text, int state) -{ - return generic_generator(text, state, dev_list, "Address"); -} - -static char *capability_generator(const char *text, int state) -{ - static int index, len; - const char *arg; - - if (!state) { - index = 0; - len = strlen(text); - } - - while ((arg = agent_arguments[index])) { - index++; - - if (!strncmp(arg, text, len)) - return strdup(arg); - } - - return NULL; -} - -static const struct { - const char *cmd; - const char *arg; - void (*func) (const char *arg); - const char *desc; - char * (*gen) (const char *text, int state); - void (*disp) (char **matches, int num_matches, int max_length); -} cmd_table[] = { - { "list", NULL, cmd_list, "List available controllers" }, - { "show", "[ctrl]", cmd_show, "Controller information", - ctrl_generator }, - { "select", "", cmd_select, "Select default controller", - ctrl_generator }, - { "devices", NULL, cmd_devices, "List available devices" }, - { "system-alias", "", cmd_system_alias }, - { "reset-alias", NULL, cmd_reset_alias }, - { "power", "", cmd_power, "Set controller power" }, - { "pairable", "", cmd_pairable, - "Set controller pairable mode" }, - { "discoverable", "", cmd_discoverable, - "Set controller discoverable mode" }, - { "agent", "", cmd_agent, - "Enable/disable agent with given capability", - capability_generator}, - { "default-agent",NULL, cmd_default_agent }, - { "scan", "", cmd_scan, "Scan for devices" }, - { "info", "", cmd_info, "Device information", - dev_generator }, - { "pair", "", cmd_pair, "Pair with device", - dev_generator }, - { "trust", "", cmd_trust, "Trust device", - dev_generator }, - { "remove", "", cmd_remove, "Remove device", - dev_generator }, - { "connect", "", cmd_connect, "Connect device", - dev_generator }, - { "disconnect", "", cmd_disconn, "Disconnect device", - dev_generator }, - { "version", NULL, cmd_version, "Display version" }, - { "quit", NULL, cmd_quit, "Quit program" }, - { "exit", NULL, cmd_quit }, - { "help" }, - { } -}; - -static char *cmd_generator(const char *text, int state) -{ - static int index, len; - const char *cmd; - - if (!state) { - index = 0; - len = strlen(text); - } - - while ((cmd = cmd_table[index].cmd)) { - index++; - - if (!strncmp(cmd, text, len)) - return strdup(cmd); - } - - return NULL; -} - -static char **cmd_completion(const char *text, int start, int end) -{ - char **matches = NULL; - - if (agent_completion() == TRUE) { - rl_attempted_completion_over = 1; - return NULL; - } - - if (start > 0) { - int i; - - for (i = 0; cmd_table[i].cmd; i++) { - if (strncmp(cmd_table[i].cmd, - rl_line_buffer, start - 1)) - continue; - - if (!cmd_table[i].gen) - continue; - - rl_completion_display_matches_hook = cmd_table[i].disp; - matches = rl_completion_matches(text, cmd_table[i].gen); - break; - } - } else { - rl_completion_display_matches_hook = NULL; - matches = rl_completion_matches(text, cmd_generator); - } - - if (!matches) - rl_attempted_completion_over = 1; - - return matches; -} - -static void rl_handler(char *input) -{ - char *cmd, *arg; - int i; - - if (!input) { - rl_insert_text("quit"); - rl_redisplay(); - rl_crlf(); - g_main_loop_quit(main_loop); - return; - } - - if (!strlen(input)) - goto done; - - if (agent_input(dbus_conn, input) == TRUE) - goto done; - - add_history(input); - - cmd = strtok_r(input, " ", &arg); - if (!cmd) - goto done; - - if (arg) { - int len = strlen(arg); - if (len > 0 && arg[len - 1] == ' ') - arg[len - 1] = '\0'; - } - - for (i = 0; cmd_table[i].cmd; i++) { - if (strcmp(cmd, cmd_table[i].cmd)) - continue; - - if (cmd_table[i].func) { - cmd_table[i].func(arg); - goto done; - } - } - - if (strcmp(cmd, "help")) { - printf("Invalid command\n"); - goto done; - } - - printf("Available commands:\n"); - - for (i = 0; cmd_table[i].cmd; i++) { - if (cmd_table[i].desc) - printf("\t%s %s\t%s\n", cmd_table[i].cmd, - cmd_table[i].arg ? : " ", - cmd_table[i].desc); - } - -done: - free(input); -} - -static gboolean input_handler(GIOChannel *channel, GIOCondition condition, - gpointer user_data) -{ - if (condition & (G_IO_HUP | G_IO_ERR | G_IO_NVAL)) { - g_main_loop_quit(main_loop); - return FALSE; - } - - rl_callback_read_char(); - return TRUE; -} - -static guint setup_standard_input(void) -{ - GIOChannel *channel; - guint source; - - channel = g_io_channel_unix_new(fileno(stdin)); - - source = g_io_add_watch(channel, - G_IO_IN | G_IO_HUP | G_IO_ERR | G_IO_NVAL, - input_handler, NULL); - - g_io_channel_unref(channel); - - return source; -} - -static gboolean signal_handler(GIOChannel *channel, GIOCondition condition, - gpointer user_data) -{ - static unsigned int __terminated = 0; - struct signalfd_siginfo si; - ssize_t result; - int fd; - - if (condition & (G_IO_NVAL | G_IO_ERR | G_IO_HUP)) { - g_main_loop_quit(main_loop); - return FALSE; - } - - fd = g_io_channel_unix_get_fd(channel); - - result = read(fd, &si, sizeof(si)); - if (result != sizeof(si)) - return FALSE; - - switch (si.ssi_signo) { - case SIGINT: - rl_replace_line("", 0); - rl_crlf(); - rl_on_new_line(); - rl_redisplay(); - break; - case SIGTERM: - if (__terminated == 0) { - rl_replace_line("", 0); - rl_crlf(); - g_main_loop_quit(main_loop); - } - - __terminated = 1; - break; - } - - return TRUE; -} - -static guint setup_signalfd(void) -{ - GIOChannel *channel; - guint source; - sigset_t mask; - int fd; - - sigemptyset(&mask); - sigaddset(&mask, SIGINT); - sigaddset(&mask, SIGTERM); - - if (sigprocmask(SIG_BLOCK, &mask, NULL) < 0) { - perror("Failed to set signal mask"); - return 0; - } - - fd = signalfd(-1, &mask, 0); - if (fd < 0) { - perror("Failed to create signal descriptor"); - return 0; - } - - channel = g_io_channel_unix_new(fd); - - g_io_channel_set_close_on_unref(channel, TRUE); - g_io_channel_set_encoding(channel, NULL, NULL); - g_io_channel_set_buffered(channel, FALSE); - - source = g_io_add_watch(channel, - G_IO_IN | G_IO_HUP | G_IO_ERR | G_IO_NVAL, - signal_handler, NULL); - - g_io_channel_unref(channel); - - return source; -} - -static gboolean option_version = FALSE; - -static gboolean parse_agent(const char *key, const char *value, - gpointer user_data, GError **error) -{ - if (value) - auto_register_agent = g_strdup(value); - else - auto_register_agent = g_strdup(""); - - return TRUE; -} - -static GOptionEntry options[] = { - { "version", 'v', 0, G_OPTION_ARG_NONE, &option_version, - "Show version information and exit" }, - { "agent", 'a', G_OPTION_FLAG_OPTIONAL_ARG, - G_OPTION_ARG_CALLBACK, parse_agent, - "Register agent handler", "CAPABILITY" }, - { NULL }, -}; - -int main(int argc, char *argv[]) -{ - GOptionContext *context; - GError *error = NULL; - GDBusClient *client; - guint signal, input; - - context = g_option_context_new(NULL); - g_option_context_add_main_entries(context, options, NULL); - - if (g_option_context_parse(context, &argc, &argv, &error) == FALSE) { - if (error != NULL) { - g_printerr("%s\n", error->message); - g_error_free(error); - } else - g_printerr("An unknown error occurred\n"); - exit(1); - } - - g_option_context_free(context); - - if (option_version == TRUE) { - printf("%s\n", VERSION); - exit(0); - } - - main_loop = g_main_loop_new(NULL, FALSE); - dbus_conn = g_dbus_setup_bus(DBUS_BUS_SYSTEM, NULL, NULL); - - rl_attempted_completion_function = cmd_completion; - - rl_erase_empty_line = 1; - rl_callback_handler_install(NULL, rl_handler); - - rl_set_prompt(PROMPT_OFF); - rl_redisplay(); - - input = setup_standard_input(); - signal = setup_signalfd(); - client = g_dbus_client_new(dbus_conn, "org.bluez", "/org/bluez"); - - g_dbus_client_set_connect_watch(client, connect_handler, NULL); - g_dbus_client_set_disconnect_watch(client, disconnect_handler, NULL); - g_dbus_client_set_signal_watch(client, message_handler, NULL); - - g_dbus_client_set_proxy_handlers(client, proxy_added, proxy_removed, - property_changed, NULL); - - g_main_loop_run(main_loop); - - g_dbus_client_unref(client); - g_source_remove(signal); - g_source_remove(input); - - rl_message(""); - rl_callback_handler_remove(); - - dbus_connection_unref(dbus_conn); - g_main_loop_unref(main_loop); - - g_list_free_full(ctrl_list, proxy_leak); - g_list_free_full(dev_list, proxy_leak); - - g_free(auto_register_agent); - - return 0; -} diff --git a/GRIB_BLE_HUB/libs/ble_extend/compile b/GRIB_BLE_HUB/libs/ble_extend/compile deleted file mode 100644 index 862a14e..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/compile +++ /dev/null @@ -1,343 +0,0 @@ -#! /bin/sh -# Wrapper for compilers which do not understand '-c -o'. - -scriptversion=2012-03-05.13; # UTC - -# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2009, 2010, 2012 Free -# Software Foundation, Inc. -# Written by Tom Tromey . -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . - -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - -# This file is maintained in Automake, please report -# bugs to or send patches to -# . - -nl=' -' - -# We need space, tab and new line, in precisely that order. Quoting is -# there to prevent tools from complaining about whitespace usage. -IFS=" "" $nl" - -file_conv= - -# func_file_conv build_file lazy -# Convert a $build file to $host form and store it in $file -# Currently only supports Windows hosts. If the determined conversion -# type is listed in (the comma separated) LAZY, no conversion will -# take place. -func_file_conv () -{ - file=$1 - case $file in - / | /[!/]*) # absolute file, and not a UNC file - if test -z "$file_conv"; then - # lazily determine how to convert abs files - case `uname -s` in - MINGW*) - file_conv=mingw - ;; - CYGWIN*) - file_conv=cygwin - ;; - *) - file_conv=wine - ;; - esac - fi - case $file_conv/,$2, in - *,$file_conv,*) - ;; - mingw/*) - file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'` - ;; - cygwin/*) - file=`cygpath -m "$file" || echo "$file"` - ;; - wine/*) - file=`winepath -w "$file" || echo "$file"` - ;; - esac - ;; - esac -} - -# func_cl_dashL linkdir -# Make cl look for libraries in LINKDIR -func_cl_dashL () -{ - func_file_conv "$1" - if test -z "$lib_path"; then - lib_path=$file - else - lib_path="$lib_path;$file" - fi - linker_opts="$linker_opts -LIBPATH:$file" -} - -# func_cl_dashl library -# Do a library search-path lookup for cl -func_cl_dashl () -{ - lib=$1 - found=no - save_IFS=$IFS - IFS=';' - for dir in $lib_path $LIB - do - IFS=$save_IFS - if $shared && test -f "$dir/$lib.dll.lib"; then - found=yes - lib=$dir/$lib.dll.lib - break - fi - if test -f "$dir/$lib.lib"; then - found=yes - lib=$dir/$lib.lib - break - fi - done - IFS=$save_IFS - - if test "$found" != yes; then - lib=$lib.lib - fi -} - -# func_cl_wrapper cl arg... -# Adjust compile command to suit cl -func_cl_wrapper () -{ - # Assume a capable shell - lib_path= - shared=: - linker_opts= - for arg - do - if test -n "$eat"; then - eat= - else - case $1 in - -o) - # configure might choose to run compile as 'compile cc -o foo foo.c'. - eat=1 - case $2 in - *.o | *.[oO][bB][jJ]) - func_file_conv "$2" - set x "$@" -Fo"$file" - shift - ;; - *) - func_file_conv "$2" - set x "$@" -Fe"$file" - shift - ;; - esac - ;; - -I) - eat=1 - func_file_conv "$2" mingw - set x "$@" -I"$file" - shift - ;; - -I*) - func_file_conv "${1#-I}" mingw - set x "$@" -I"$file" - shift - ;; - -l) - eat=1 - func_cl_dashl "$2" - set x "$@" "$lib" - shift - ;; - -l*) - func_cl_dashl "${1#-l}" - set x "$@" "$lib" - shift - ;; - -L) - eat=1 - func_cl_dashL "$2" - ;; - -L*) - func_cl_dashL "${1#-L}" - ;; - -static) - shared=false - ;; - -Wl,*) - arg=${1#-Wl,} - save_ifs="$IFS"; IFS=',' - for flag in $arg; do - IFS="$save_ifs" - linker_opts="$linker_opts $flag" - done - IFS="$save_ifs" - ;; - -Xlinker) - eat=1 - linker_opts="$linker_opts $2" - ;; - -*) - set x "$@" "$1" - shift - ;; - *.cc | *.CC | *.cxx | *.CXX | *.[cC]++) - func_file_conv "$1" - set x "$@" -Tp"$file" - shift - ;; - *.c | *.cpp | *.CPP | *.lib | *.LIB | *.Lib | *.OBJ | *.obj | *.[oO]) - func_file_conv "$1" mingw - set x "$@" "$file" - shift - ;; - *) - set x "$@" "$1" - shift - ;; - esac - fi - shift - done - if test -n "$linker_opts"; then - linker_opts="-link$linker_opts" - fi - exec "$@" $linker_opts - exit 1 -} - -eat= - -case $1 in - '') - echo "$0: No command. Try '$0 --help' for more information." 1>&2 - exit 1; - ;; - -h | --h*) - cat <<\EOF -Usage: compile [--help] [--version] PROGRAM [ARGS] - -Wrapper for compilers which do not understand '-c -o'. -Remove '-o dest.o' from ARGS, run PROGRAM with the remaining -arguments, and rename the output as expected. - -If you are trying to build a whole package this is not the -right script to run: please start by reading the file 'INSTALL'. - -Report bugs to . -EOF - exit $? - ;; - -v | --v*) - echo "compile $scriptversion" - exit $? - ;; - cl | *[/\\]cl | cl.exe | *[/\\]cl.exe ) - func_cl_wrapper "$@" # Doesn't return... - ;; -esac - -ofile= -cfile= - -for arg -do - if test -n "$eat"; then - eat= - else - case $1 in - -o) - # configure might choose to run compile as 'compile cc -o foo foo.c'. - # So we strip '-o arg' only if arg is an object. - eat=1 - case $2 in - *.o | *.obj) - ofile=$2 - ;; - *) - set x "$@" -o "$2" - shift - ;; - esac - ;; - *.c) - cfile=$1 - set x "$@" "$1" - shift - ;; - *) - set x "$@" "$1" - shift - ;; - esac - fi - shift -done - -if test -z "$ofile" || test -z "$cfile"; then - # If no '-o' option was seen then we might have been invoked from a - # pattern rule where we don't need one. That is ok -- this is a - # normal compilation that the losing compiler can handle. If no - # '.c' file was seen then we are probably linking. That is also - # ok. - exec "$@" -fi - -# Name of file we expect compiler to create. -cofile=`echo "$cfile" | sed 's|^.*[\\/]||; s|^[a-zA-Z]:||; s/\.c$/.o/'` - -# Create the lock directory. -# Note: use '[/\\:.-]' here to ensure that we don't use the same name -# that we are using for the .o file. Also, base the name on the expected -# object file name, since that is what matters with a parallel build. -lockdir=`echo "$cofile" | sed -e 's|[/\\:.-]|_|g'`.d -while true; do - if mkdir "$lockdir" >/dev/null 2>&1; then - break - fi - sleep 1 -done -# FIXME: race condition here if user kills between mkdir and trap. -trap "rmdir '$lockdir'; exit 1" 1 2 15 - -# Run the compile. -"$@" -ret=$? - -if test -f "$cofile"; then - test "$cofile" = "$ofile" || mv "$cofile" "$ofile" -elif test -f "${cofile}bj"; then - test "${cofile}bj" = "$ofile" || mv "${cofile}bj" "$ofile" -fi - -rmdir "$lockdir" -exit $ret - -# Local Variables: -# mode: shell-script -# sh-indentation: 2 -# eval: (add-hook 'write-file-hooks 'time-stamp) -# time-stamp-start: "scriptversion=" -# time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-time-zone: "UTC" -# time-stamp-end: "; # UTC" -# End: diff --git a/GRIB_BLE_HUB/libs/ble_extend/config.guess b/GRIB_BLE_HUB/libs/ble_extend/config.guess deleted file mode 100644 index d622a44..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/config.guess +++ /dev/null @@ -1,1530 +0,0 @@ -#! /bin/sh -# Attempt to guess a canonical system name. -# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, -# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, -# 2011, 2012 Free Software Foundation, Inc. - -timestamp='2012-02-10' - -# This file is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, see . -# -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - - -# Originally written by Per Bothner. Please send patches (context -# diff format) to and include a ChangeLog -# entry. -# -# This script attempts to guess a canonical system name similar to -# config.sub. If it succeeds, it prints the system name on stdout, and -# exits with 0. Otherwise, it exits with 1. -# -# You can get the latest version of this script from: -# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD - -me=`echo "$0" | sed -e 's,.*/,,'` - -usage="\ -Usage: $0 [OPTION] - -Output the configuration name of the system \`$me' is run on. - -Operation modes: - -h, --help print this help, then exit - -t, --time-stamp print date of last modification, then exit - -v, --version print version number, then exit - -Report bugs and patches to ." - -version="\ -GNU config.guess ($timestamp) - -Originally written by Per Bothner. -Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, -2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 -Free Software Foundation, Inc. - -This is free software; see the source for copying conditions. There is NO -warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." - -help=" -Try \`$me --help' for more information." - -# Parse command line -while test $# -gt 0 ; do - case $1 in - --time-stamp | --time* | -t ) - echo "$timestamp" ; exit ;; - --version | -v ) - echo "$version" ; exit ;; - --help | --h* | -h ) - echo "$usage"; exit ;; - -- ) # Stop option processing - shift; break ;; - - ) # Use stdin as input. - break ;; - -* ) - echo "$me: invalid option $1$help" >&2 - exit 1 ;; - * ) - break ;; - esac -done - -if test $# != 0; then - echo "$me: too many arguments$help" >&2 - exit 1 -fi - -trap 'exit 1' 1 2 15 - -# CC_FOR_BUILD -- compiler used by this script. Note that the use of a -# compiler to aid in system detection is discouraged as it requires -# temporary files to be created and, as you can see below, it is a -# headache to deal with in a portable fashion. - -# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still -# use `HOST_CC' if defined, but it is deprecated. - -# Portable tmp directory creation inspired by the Autoconf team. - -set_cc_for_build=' -trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; -trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ; -: ${TMPDIR=/tmp} ; - { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || - { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } || - { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } || - { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ; -dummy=$tmp/dummy ; -tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ; -case $CC_FOR_BUILD,$HOST_CC,$CC in - ,,) echo "int x;" > $dummy.c ; - for c in cc gcc c89 c99 ; do - if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then - CC_FOR_BUILD="$c"; break ; - fi ; - done ; - if test x"$CC_FOR_BUILD" = x ; then - CC_FOR_BUILD=no_compiler_found ; - fi - ;; - ,,*) CC_FOR_BUILD=$CC ;; - ,*,*) CC_FOR_BUILD=$HOST_CC ;; -esac ; set_cc_for_build= ;' - -# This is needed to find uname on a Pyramid OSx when run in the BSD universe. -# (ghazi@noc.rutgers.edu 1994-08-24) -if (test -f /.attbin/uname) >/dev/null 2>&1 ; then - PATH=$PATH:/.attbin ; export PATH -fi - -UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown -UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown -UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown -UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown - -# Note: order is significant - the case branches are not exclusive. - -case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in - *:NetBSD:*:*) - # NetBSD (nbsd) targets should (where applicable) match one or - # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*, - # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently - # switched to ELF, *-*-netbsd* would select the old - # object file format. This provides both forward - # compatibility and a consistent mechanism for selecting the - # object file format. - # - # Note: NetBSD doesn't particularly care about the vendor - # portion of the name. We always set it to "unknown". - sysctl="sysctl -n hw.machine_arch" - UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \ - /usr/sbin/$sysctl 2>/dev/null || echo unknown)` - case "${UNAME_MACHINE_ARCH}" in - armeb) machine=armeb-unknown ;; - arm*) machine=arm-unknown ;; - sh3el) machine=shl-unknown ;; - sh3eb) machine=sh-unknown ;; - sh5el) machine=sh5le-unknown ;; - *) machine=${UNAME_MACHINE_ARCH}-unknown ;; - esac - # The Operating System including object format, if it has switched - # to ELF recently, or will in the future. - case "${UNAME_MACHINE_ARCH}" in - arm*|i386|m68k|ns32k|sh3*|sparc|vax) - eval $set_cc_for_build - if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ - | grep -q __ELF__ - then - # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). - # Return netbsd for either. FIX? - os=netbsd - else - os=netbsdelf - fi - ;; - *) - os=netbsd - ;; - esac - # The OS release - # Debian GNU/NetBSD machines have a different userland, and - # thus, need a distinct triplet. However, they do not need - # kernel version information, so it can be replaced with a - # suitable tag, in the style of linux-gnu. - case "${UNAME_VERSION}" in - Debian*) - release='-gnu' - ;; - *) - release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` - ;; - esac - # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: - # contains redundant information, the shorter form: - # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. - echo "${machine}-${os}${release}" - exit ;; - *:OpenBSD:*:*) - UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` - echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} - exit ;; - *:ekkoBSD:*:*) - echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE} - exit ;; - *:SolidBSD:*:*) - echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE} - exit ;; - macppc:MirBSD:*:*) - echo powerpc-unknown-mirbsd${UNAME_RELEASE} - exit ;; - *:MirBSD:*:*) - echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE} - exit ;; - alpha:OSF1:*:*) - case $UNAME_RELEASE in - *4.0) - UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` - ;; - *5.*) - UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` - ;; - esac - # According to Compaq, /usr/sbin/psrinfo has been available on - # OSF/1 and Tru64 systems produced since 1995. I hope that - # covers most systems running today. This code pipes the CPU - # types through head -n 1, so we only detect the type of CPU 0. - ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` - case "$ALPHA_CPU_TYPE" in - "EV4 (21064)") - UNAME_MACHINE="alpha" ;; - "EV4.5 (21064)") - UNAME_MACHINE="alpha" ;; - "LCA4 (21066/21068)") - UNAME_MACHINE="alpha" ;; - "EV5 (21164)") - UNAME_MACHINE="alphaev5" ;; - "EV5.6 (21164A)") - UNAME_MACHINE="alphaev56" ;; - "EV5.6 (21164PC)") - UNAME_MACHINE="alphapca56" ;; - "EV5.7 (21164PC)") - UNAME_MACHINE="alphapca57" ;; - "EV6 (21264)") - UNAME_MACHINE="alphaev6" ;; - "EV6.7 (21264A)") - UNAME_MACHINE="alphaev67" ;; - "EV6.8CB (21264C)") - UNAME_MACHINE="alphaev68" ;; - "EV6.8AL (21264B)") - UNAME_MACHINE="alphaev68" ;; - "EV6.8CX (21264D)") - UNAME_MACHINE="alphaev68" ;; - "EV6.9A (21264/EV69A)") - UNAME_MACHINE="alphaev69" ;; - "EV7 (21364)") - UNAME_MACHINE="alphaev7" ;; - "EV7.9 (21364A)") - UNAME_MACHINE="alphaev79" ;; - esac - # A Pn.n version is a patched version. - # A Vn.n version is a released version. - # A Tn.n version is a released field test version. - # A Xn.n version is an unreleased experimental baselevel. - # 1.2 uses "1.2" for uname -r. - echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` - # Reset EXIT trap before exiting to avoid spurious non-zero exit code. - exitcode=$? - trap '' 0 - exit $exitcode ;; - Alpha\ *:Windows_NT*:*) - # How do we know it's Interix rather than the generic POSIX subsystem? - # Should we change UNAME_MACHINE based on the output of uname instead - # of the specific Alpha model? - echo alpha-pc-interix - exit ;; - 21064:Windows_NT:50:3) - echo alpha-dec-winnt3.5 - exit ;; - Amiga*:UNIX_System_V:4.0:*) - echo m68k-unknown-sysv4 - exit ;; - *:[Aa]miga[Oo][Ss]:*:*) - echo ${UNAME_MACHINE}-unknown-amigaos - exit ;; - *:[Mm]orph[Oo][Ss]:*:*) - echo ${UNAME_MACHINE}-unknown-morphos - exit ;; - *:OS/390:*:*) - echo i370-ibm-openedition - exit ;; - *:z/VM:*:*) - echo s390-ibm-zvmoe - exit ;; - *:OS400:*:*) - echo powerpc-ibm-os400 - exit ;; - arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) - echo arm-acorn-riscix${UNAME_RELEASE} - exit ;; - arm:riscos:*:*|arm:RISCOS:*:*) - echo arm-unknown-riscos - exit ;; - SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) - echo hppa1.1-hitachi-hiuxmpp - exit ;; - Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) - # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. - if test "`(/bin/universe) 2>/dev/null`" = att ; then - echo pyramid-pyramid-sysv3 - else - echo pyramid-pyramid-bsd - fi - exit ;; - NILE*:*:*:dcosx) - echo pyramid-pyramid-svr4 - exit ;; - DRS?6000:unix:4.0:6*) - echo sparc-icl-nx6 - exit ;; - DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) - case `/usr/bin/uname -p` in - sparc) echo sparc-icl-nx7; exit ;; - esac ;; - s390x:SunOS:*:*) - echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; - sun4H:SunOS:5.*:*) - echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; - sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) - echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; - i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*) - echo i386-pc-auroraux${UNAME_RELEASE} - exit ;; - i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) - eval $set_cc_for_build - SUN_ARCH="i386" - # If there is a compiler, see if it is configured for 64-bit objects. - # Note that the Sun cc does not turn __LP64__ into 1 like gcc does. - # This test works for both compilers. - if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then - if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \ - (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ - grep IS_64BIT_ARCH >/dev/null - then - SUN_ARCH="x86_64" - fi - fi - echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; - sun4*:SunOS:6*:*) - # According to config.sub, this is the proper way to canonicalize - # SunOS6. Hard to guess exactly what SunOS6 will be like, but - # it's likely to be more like Solaris than SunOS4. - echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; - sun4*:SunOS:*:*) - case "`/usr/bin/arch -k`" in - Series*|S4*) - UNAME_RELEASE=`uname -v` - ;; - esac - # Japanese Language versions have a version number like `4.1.3-JL'. - echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` - exit ;; - sun3*:SunOS:*:*) - echo m68k-sun-sunos${UNAME_RELEASE} - exit ;; - sun*:*:4.2BSD:*) - UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` - test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3 - case "`/bin/arch`" in - sun3) - echo m68k-sun-sunos${UNAME_RELEASE} - ;; - sun4) - echo sparc-sun-sunos${UNAME_RELEASE} - ;; - esac - exit ;; - aushp:SunOS:*:*) - echo sparc-auspex-sunos${UNAME_RELEASE} - exit ;; - # The situation for MiNT is a little confusing. The machine name - # can be virtually everything (everything which is not - # "atarist" or "atariste" at least should have a processor - # > m68000). The system name ranges from "MiNT" over "FreeMiNT" - # to the lowercase version "mint" (or "freemint"). Finally - # the system name "TOS" denotes a system which is actually not - # MiNT. But MiNT is downward compatible to TOS, so this should - # be no problem. - atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) - echo m68k-atari-mint${UNAME_RELEASE} - exit ;; - atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) - echo m68k-atari-mint${UNAME_RELEASE} - exit ;; - *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) - echo m68k-atari-mint${UNAME_RELEASE} - exit ;; - milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) - echo m68k-milan-mint${UNAME_RELEASE} - exit ;; - hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) - echo m68k-hades-mint${UNAME_RELEASE} - exit ;; - *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) - echo m68k-unknown-mint${UNAME_RELEASE} - exit ;; - m68k:machten:*:*) - echo m68k-apple-machten${UNAME_RELEASE} - exit ;; - powerpc:machten:*:*) - echo powerpc-apple-machten${UNAME_RELEASE} - exit ;; - RISC*:Mach:*:*) - echo mips-dec-mach_bsd4.3 - exit ;; - RISC*:ULTRIX:*:*) - echo mips-dec-ultrix${UNAME_RELEASE} - exit ;; - VAX*:ULTRIX*:*:*) - echo vax-dec-ultrix${UNAME_RELEASE} - exit ;; - 2020:CLIX:*:* | 2430:CLIX:*:*) - echo clipper-intergraph-clix${UNAME_RELEASE} - exit ;; - mips:*:*:UMIPS | mips:*:*:RISCos) - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c -#ifdef __cplusplus -#include /* for printf() prototype */ - int main (int argc, char *argv[]) { -#else - int main (argc, argv) int argc; char *argv[]; { -#endif - #if defined (host_mips) && defined (MIPSEB) - #if defined (SYSTYPE_SYSV) - printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0); - #endif - #if defined (SYSTYPE_SVR4) - printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0); - #endif - #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) - printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0); - #endif - #endif - exit (-1); - } -EOF - $CC_FOR_BUILD -o $dummy $dummy.c && - dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` && - SYSTEM_NAME=`$dummy $dummyarg` && - { echo "$SYSTEM_NAME"; exit; } - echo mips-mips-riscos${UNAME_RELEASE} - exit ;; - Motorola:PowerMAX_OS:*:*) - echo powerpc-motorola-powermax - exit ;; - Motorola:*:4.3:PL8-*) - echo powerpc-harris-powermax - exit ;; - Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) - echo powerpc-harris-powermax - exit ;; - Night_Hawk:Power_UNIX:*:*) - echo powerpc-harris-powerunix - exit ;; - m88k:CX/UX:7*:*) - echo m88k-harris-cxux7 - exit ;; - m88k:*:4*:R4*) - echo m88k-motorola-sysv4 - exit ;; - m88k:*:3*:R3*) - echo m88k-motorola-sysv3 - exit ;; - AViiON:dgux:*:*) - # DG/UX returns AViiON for all architectures - UNAME_PROCESSOR=`/usr/bin/uname -p` - if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ] - then - if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ - [ ${TARGET_BINARY_INTERFACE}x = x ] - then - echo m88k-dg-dgux${UNAME_RELEASE} - else - echo m88k-dg-dguxbcs${UNAME_RELEASE} - fi - else - echo i586-dg-dgux${UNAME_RELEASE} - fi - exit ;; - M88*:DolphinOS:*:*) # DolphinOS (SVR3) - echo m88k-dolphin-sysv3 - exit ;; - M88*:*:R3*:*) - # Delta 88k system running SVR3 - echo m88k-motorola-sysv3 - exit ;; - XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) - echo m88k-tektronix-sysv3 - exit ;; - Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) - echo m68k-tektronix-bsd - exit ;; - *:IRIX*:*:*) - echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` - exit ;; - ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. - echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id - exit ;; # Note that: echo "'`uname -s`'" gives 'AIX ' - i*86:AIX:*:*) - echo i386-ibm-aix - exit ;; - ia64:AIX:*:*) - if [ -x /usr/bin/oslevel ] ; then - IBM_REV=`/usr/bin/oslevel` - else - IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} - fi - echo ${UNAME_MACHINE}-ibm-aix${IBM_REV} - exit ;; - *:AIX:2:3) - if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - #include - - main() - { - if (!__power_pc()) - exit(1); - puts("powerpc-ibm-aix3.2.5"); - exit(0); - } -EOF - if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` - then - echo "$SYSTEM_NAME" - else - echo rs6000-ibm-aix3.2.5 - fi - elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then - echo rs6000-ibm-aix3.2.4 - else - echo rs6000-ibm-aix3.2 - fi - exit ;; - *:AIX:*:[4567]) - IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` - if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then - IBM_ARCH=rs6000 - else - IBM_ARCH=powerpc - fi - if [ -x /usr/bin/oslevel ] ; then - IBM_REV=`/usr/bin/oslevel` - else - IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} - fi - echo ${IBM_ARCH}-ibm-aix${IBM_REV} - exit ;; - *:AIX:*:*) - echo rs6000-ibm-aix - exit ;; - ibmrt:4.4BSD:*|romp-ibm:BSD:*) - echo romp-ibm-bsd4.4 - exit ;; - ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and - echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to - exit ;; # report: romp-ibm BSD 4.3 - *:BOSX:*:*) - echo rs6000-bull-bosx - exit ;; - DPX/2?00:B.O.S.:*:*) - echo m68k-bull-sysv3 - exit ;; - 9000/[34]??:4.3bsd:1.*:*) - echo m68k-hp-bsd - exit ;; - hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) - echo m68k-hp-bsd4.4 - exit ;; - 9000/[34678]??:HP-UX:*:*) - HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` - case "${UNAME_MACHINE}" in - 9000/31? ) HP_ARCH=m68000 ;; - 9000/[34]?? ) HP_ARCH=m68k ;; - 9000/[678][0-9][0-9]) - if [ -x /usr/bin/getconf ]; then - sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` - sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` - case "${sc_cpu_version}" in - 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 - 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1 - 532) # CPU_PA_RISC2_0 - case "${sc_kernel_bits}" in - 32) HP_ARCH="hppa2.0n" ;; - 64) HP_ARCH="hppa2.0w" ;; - '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20 - esac ;; - esac - fi - if [ "${HP_ARCH}" = "" ]; then - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - - #define _HPUX_SOURCE - #include - #include - - int main () - { - #if defined(_SC_KERNEL_BITS) - long bits = sysconf(_SC_KERNEL_BITS); - #endif - long cpu = sysconf (_SC_CPU_VERSION); - - switch (cpu) - { - case CPU_PA_RISC1_0: puts ("hppa1.0"); break; - case CPU_PA_RISC1_1: puts ("hppa1.1"); break; - case CPU_PA_RISC2_0: - #if defined(_SC_KERNEL_BITS) - switch (bits) - { - case 64: puts ("hppa2.0w"); break; - case 32: puts ("hppa2.0n"); break; - default: puts ("hppa2.0"); break; - } break; - #else /* !defined(_SC_KERNEL_BITS) */ - puts ("hppa2.0"); break; - #endif - default: puts ("hppa1.0"); break; - } - exit (0); - } -EOF - (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` - test -z "$HP_ARCH" && HP_ARCH=hppa - fi ;; - esac - if [ ${HP_ARCH} = "hppa2.0w" ] - then - eval $set_cc_for_build - - # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating - # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler - # generating 64-bit code. GNU and HP use different nomenclature: - # - # $ CC_FOR_BUILD=cc ./config.guess - # => hppa2.0w-hp-hpux11.23 - # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess - # => hppa64-hp-hpux11.23 - - if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | - grep -q __LP64__ - then - HP_ARCH="hppa2.0w" - else - HP_ARCH="hppa64" - fi - fi - echo ${HP_ARCH}-hp-hpux${HPUX_REV} - exit ;; - ia64:HP-UX:*:*) - HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` - echo ia64-hp-hpux${HPUX_REV} - exit ;; - 3050*:HI-UX:*:*) - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - #include - int - main () - { - long cpu = sysconf (_SC_CPU_VERSION); - /* The order matters, because CPU_IS_HP_MC68K erroneously returns - true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct - results, however. */ - if (CPU_IS_PA_RISC (cpu)) - { - switch (cpu) - { - case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; - case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; - case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; - default: puts ("hppa-hitachi-hiuxwe2"); break; - } - } - else if (CPU_IS_HP_MC68K (cpu)) - puts ("m68k-hitachi-hiuxwe2"); - else puts ("unknown-hitachi-hiuxwe2"); - exit (0); - } -EOF - $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` && - { echo "$SYSTEM_NAME"; exit; } - echo unknown-hitachi-hiuxwe2 - exit ;; - 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) - echo hppa1.1-hp-bsd - exit ;; - 9000/8??:4.3bsd:*:*) - echo hppa1.0-hp-bsd - exit ;; - *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) - echo hppa1.0-hp-mpeix - exit ;; - hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) - echo hppa1.1-hp-osf - exit ;; - hp8??:OSF1:*:*) - echo hppa1.0-hp-osf - exit ;; - i*86:OSF1:*:*) - if [ -x /usr/sbin/sysversion ] ; then - echo ${UNAME_MACHINE}-unknown-osf1mk - else - echo ${UNAME_MACHINE}-unknown-osf1 - fi - exit ;; - parisc*:Lites*:*:*) - echo hppa1.1-hp-lites - exit ;; - C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) - echo c1-convex-bsd - exit ;; - C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) - if getsysinfo -f scalar_acc - then echo c32-convex-bsd - else echo c2-convex-bsd - fi - exit ;; - C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) - echo c34-convex-bsd - exit ;; - C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) - echo c38-convex-bsd - exit ;; - C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) - echo c4-convex-bsd - exit ;; - CRAY*Y-MP:*:*:*) - echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit ;; - CRAY*[A-Z]90:*:*:*) - echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \ - | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ - -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ - -e 's/\.[^.]*$/.X/' - exit ;; - CRAY*TS:*:*:*) - echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit ;; - CRAY*T3E:*:*:*) - echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit ;; - CRAY*SV1:*:*:*) - echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit ;; - *:UNICOS/mp:*:*) - echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit ;; - F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) - FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` - FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` - FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` - echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" - exit ;; - 5000:UNIX_System_V:4.*:*) - FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` - FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'` - echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" - exit ;; - i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) - echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} - exit ;; - sparc*:BSD/OS:*:*) - echo sparc-unknown-bsdi${UNAME_RELEASE} - exit ;; - *:BSD/OS:*:*) - echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} - exit ;; - *:FreeBSD:*:*) - UNAME_PROCESSOR=`/usr/bin/uname -p` - case ${UNAME_PROCESSOR} in - amd64) - echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; - *) - echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; - esac - exit ;; - i*:CYGWIN*:*) - echo ${UNAME_MACHINE}-pc-cygwin - exit ;; - *:MINGW*:*) - echo ${UNAME_MACHINE}-pc-mingw32 - exit ;; - i*:MSYS*:*) - echo ${UNAME_MACHINE}-pc-msys - exit ;; - i*:windows32*:*) - # uname -m includes "-pc" on this system. - echo ${UNAME_MACHINE}-mingw32 - exit ;; - i*:PW*:*) - echo ${UNAME_MACHINE}-pc-pw32 - exit ;; - *:Interix*:*) - case ${UNAME_MACHINE} in - x86) - echo i586-pc-interix${UNAME_RELEASE} - exit ;; - authenticamd | genuineintel | EM64T) - echo x86_64-unknown-interix${UNAME_RELEASE} - exit ;; - IA64) - echo ia64-unknown-interix${UNAME_RELEASE} - exit ;; - esac ;; - [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) - echo i${UNAME_MACHINE}-pc-mks - exit ;; - 8664:Windows_NT:*) - echo x86_64-pc-mks - exit ;; - i*:Windows_NT*:* | Pentium*:Windows_NT*:*) - # How do we know it's Interix rather than the generic POSIX subsystem? - # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we - # UNAME_MACHINE based on the output of uname instead of i386? - echo i586-pc-interix - exit ;; - i*:UWIN*:*) - echo ${UNAME_MACHINE}-pc-uwin - exit ;; - amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) - echo x86_64-unknown-cygwin - exit ;; - p*:CYGWIN*:*) - echo powerpcle-unknown-cygwin - exit ;; - prep*:SunOS:5.*:*) - echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; - *:GNU:*:*) - # the GNU system - echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` - exit ;; - *:GNU/*:*:*) - # other systems with GNU libc and userland - echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu - exit ;; - i*86:Minix:*:*) - echo ${UNAME_MACHINE}-pc-minix - exit ;; - aarch64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; - aarch64_be:Linux:*:*) - UNAME_MACHINE=aarch64_be - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; - alpha:Linux:*:*) - case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in - EV5) UNAME_MACHINE=alphaev5 ;; - EV56) UNAME_MACHINE=alphaev56 ;; - PCA56) UNAME_MACHINE=alphapca56 ;; - PCA57) UNAME_MACHINE=alphapca56 ;; - EV6) UNAME_MACHINE=alphaev6 ;; - EV67) UNAME_MACHINE=alphaev67 ;; - EV68*) UNAME_MACHINE=alphaev68 ;; - esac - objdump --private-headers /bin/sh | grep -q ld.so.1 - if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi - echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} - exit ;; - arm*:Linux:*:*) - eval $set_cc_for_build - if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ - | grep -q __ARM_EABI__ - then - echo ${UNAME_MACHINE}-unknown-linux-gnu - else - if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ - | grep -q __ARM_PCS_VFP - then - echo ${UNAME_MACHINE}-unknown-linux-gnueabi - else - echo ${UNAME_MACHINE}-unknown-linux-gnueabihf - fi - fi - exit ;; - avr32*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; - cris:Linux:*:*) - echo ${UNAME_MACHINE}-axis-linux-gnu - exit ;; - crisv32:Linux:*:*) - echo ${UNAME_MACHINE}-axis-linux-gnu - exit ;; - frv:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; - hexagon:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; - i*86:Linux:*:*) - LIBC=gnu - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - #ifdef __dietlibc__ - LIBC=dietlibc - #endif -EOF - eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'` - echo "${UNAME_MACHINE}-pc-linux-${LIBC}" - exit ;; - ia64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; - m32r*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; - m68*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; - mips:Linux:*:* | mips64:Linux:*:*) - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - #undef CPU - #undef ${UNAME_MACHINE} - #undef ${UNAME_MACHINE}el - #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) - CPU=${UNAME_MACHINE}el - #else - #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) - CPU=${UNAME_MACHINE} - #else - CPU= - #endif - #endif -EOF - eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'` - test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } - ;; - or32:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; - padre:Linux:*:*) - echo sparc-unknown-linux-gnu - exit ;; - parisc64:Linux:*:* | hppa64:Linux:*:*) - echo hppa64-unknown-linux-gnu - exit ;; - parisc:Linux:*:* | hppa:Linux:*:*) - # Look for CPU level - case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in - PA7*) echo hppa1.1-unknown-linux-gnu ;; - PA8*) echo hppa2.0-unknown-linux-gnu ;; - *) echo hppa-unknown-linux-gnu ;; - esac - exit ;; - ppc64:Linux:*:*) - echo powerpc64-unknown-linux-gnu - exit ;; - ppc:Linux:*:*) - echo powerpc-unknown-linux-gnu - exit ;; - s390:Linux:*:* | s390x:Linux:*:*) - echo ${UNAME_MACHINE}-ibm-linux - exit ;; - sh64*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; - sh*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; - sparc:Linux:*:* | sparc64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; - tile*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; - vax:Linux:*:*) - echo ${UNAME_MACHINE}-dec-linux-gnu - exit ;; - x86_64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; - xtensa*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; - i*86:DYNIX/ptx:4*:*) - # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. - # earlier versions are messed up and put the nodename in both - # sysname and nodename. - echo i386-sequent-sysv4 - exit ;; - i*86:UNIX_SV:4.2MP:2.*) - # Unixware is an offshoot of SVR4, but it has its own version - # number series starting with 2... - # I am not positive that other SVR4 systems won't match this, - # I just have to hope. -- rms. - # Use sysv4.2uw... so that sysv4* matches it. - echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} - exit ;; - i*86:OS/2:*:*) - # If we were able to find `uname', then EMX Unix compatibility - # is probably installed. - echo ${UNAME_MACHINE}-pc-os2-emx - exit ;; - i*86:XTS-300:*:STOP) - echo ${UNAME_MACHINE}-unknown-stop - exit ;; - i*86:atheos:*:*) - echo ${UNAME_MACHINE}-unknown-atheos - exit ;; - i*86:syllable:*:*) - echo ${UNAME_MACHINE}-pc-syllable - exit ;; - i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*) - echo i386-unknown-lynxos${UNAME_RELEASE} - exit ;; - i*86:*DOS:*:*) - echo ${UNAME_MACHINE}-pc-msdosdjgpp - exit ;; - i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*) - UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'` - if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then - echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL} - else - echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL} - fi - exit ;; - i*86:*:5:[678]*) - # UnixWare 7.x, OpenUNIX and OpenServer 6. - case `/bin/uname -X | grep "^Machine"` in - *486*) UNAME_MACHINE=i486 ;; - *Pentium) UNAME_MACHINE=i586 ;; - *Pent*|*Celeron) UNAME_MACHINE=i686 ;; - esac - echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} - exit ;; - i*86:*:3.2:*) - if test -f /usr/options/cb.name; then - UNAME_REL=`sed -n 's/.*Version //p' /dev/null >/dev/null ; then - UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` - (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 - (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ - && UNAME_MACHINE=i586 - (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ - && UNAME_MACHINE=i686 - (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ - && UNAME_MACHINE=i686 - echo ${UNAME_MACHINE}-pc-sco$UNAME_REL - else - echo ${UNAME_MACHINE}-pc-sysv32 - fi - exit ;; - pc:*:*:*) - # Left here for compatibility: - # uname -m prints for DJGPP always 'pc', but it prints nothing about - # the processor, so we play safe by assuming i586. - # Note: whatever this is, it MUST be the same as what config.sub - # prints for the "djgpp" host, or else GDB configury will decide that - # this is a cross-build. - echo i586-pc-msdosdjgpp - exit ;; - Intel:Mach:3*:*) - echo i386-pc-mach3 - exit ;; - paragon:*:*:*) - echo i860-intel-osf1 - exit ;; - i860:*:4.*:*) # i860-SVR4 - if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then - echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4 - else # Add other i860-SVR4 vendors below as they are discovered. - echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4 - fi - exit ;; - mini*:CTIX:SYS*5:*) - # "miniframe" - echo m68010-convergent-sysv - exit ;; - mc68k:UNIX:SYSTEM5:3.51m) - echo m68k-convergent-sysv - exit ;; - M680?0:D-NIX:5.3:*) - echo m68k-diab-dnix - exit ;; - M68*:*:R3V[5678]*:*) - test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;; - 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0) - OS_REL='' - test -r /etc/.relid \ - && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` - /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ - && { echo i486-ncr-sysv4.3${OS_REL}; exit; } - /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ - && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; - 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) - /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ - && { echo i486-ncr-sysv4; exit; } ;; - NCR*:*:4.2:* | MPRAS*:*:4.2:*) - OS_REL='.3' - test -r /etc/.relid \ - && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` - /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ - && { echo i486-ncr-sysv4.3${OS_REL}; exit; } - /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ - && { echo i586-ncr-sysv4.3${OS_REL}; exit; } - /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \ - && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; - m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) - echo m68k-unknown-lynxos${UNAME_RELEASE} - exit ;; - mc68030:UNIX_System_V:4.*:*) - echo m68k-atari-sysv4 - exit ;; - TSUNAMI:LynxOS:2.*:*) - echo sparc-unknown-lynxos${UNAME_RELEASE} - exit ;; - rs6000:LynxOS:2.*:*) - echo rs6000-unknown-lynxos${UNAME_RELEASE} - exit ;; - PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*) - echo powerpc-unknown-lynxos${UNAME_RELEASE} - exit ;; - SM[BE]S:UNIX_SV:*:*) - echo mips-dde-sysv${UNAME_RELEASE} - exit ;; - RM*:ReliantUNIX-*:*:*) - echo mips-sni-sysv4 - exit ;; - RM*:SINIX-*:*:*) - echo mips-sni-sysv4 - exit ;; - *:SINIX-*:*:*) - if uname -p 2>/dev/null >/dev/null ; then - UNAME_MACHINE=`(uname -p) 2>/dev/null` - echo ${UNAME_MACHINE}-sni-sysv4 - else - echo ns32k-sni-sysv - fi - exit ;; - PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort - # says - echo i586-unisys-sysv4 - exit ;; - *:UNIX_System_V:4*:FTX*) - # From Gerald Hewes . - # How about differentiating between stratus architectures? -djm - echo hppa1.1-stratus-sysv4 - exit ;; - *:*:*:FTX*) - # From seanf@swdc.stratus.com. - echo i860-stratus-sysv4 - exit ;; - i*86:VOS:*:*) - # From Paul.Green@stratus.com. - echo ${UNAME_MACHINE}-stratus-vos - exit ;; - *:VOS:*:*) - # From Paul.Green@stratus.com. - echo hppa1.1-stratus-vos - exit ;; - mc68*:A/UX:*:*) - echo m68k-apple-aux${UNAME_RELEASE} - exit ;; - news*:NEWS-OS:6*:*) - echo mips-sony-newsos6 - exit ;; - R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) - if [ -d /usr/nec ]; then - echo mips-nec-sysv${UNAME_RELEASE} - else - echo mips-unknown-sysv${UNAME_RELEASE} - fi - exit ;; - BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. - echo powerpc-be-beos - exit ;; - BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. - echo powerpc-apple-beos - exit ;; - BePC:BeOS:*:*) # BeOS running on Intel PC compatible. - echo i586-pc-beos - exit ;; - BePC:Haiku:*:*) # Haiku running on Intel PC compatible. - echo i586-pc-haiku - exit ;; - SX-4:SUPER-UX:*:*) - echo sx4-nec-superux${UNAME_RELEASE} - exit ;; - SX-5:SUPER-UX:*:*) - echo sx5-nec-superux${UNAME_RELEASE} - exit ;; - SX-6:SUPER-UX:*:*) - echo sx6-nec-superux${UNAME_RELEASE} - exit ;; - SX-7:SUPER-UX:*:*) - echo sx7-nec-superux${UNAME_RELEASE} - exit ;; - SX-8:SUPER-UX:*:*) - echo sx8-nec-superux${UNAME_RELEASE} - exit ;; - SX-8R:SUPER-UX:*:*) - echo sx8r-nec-superux${UNAME_RELEASE} - exit ;; - Power*:Rhapsody:*:*) - echo powerpc-apple-rhapsody${UNAME_RELEASE} - exit ;; - *:Rhapsody:*:*) - echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} - exit ;; - *:Darwin:*:*) - UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown - case $UNAME_PROCESSOR in - i386) - eval $set_cc_for_build - if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then - if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ - (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ - grep IS_64BIT_ARCH >/dev/null - then - UNAME_PROCESSOR="x86_64" - fi - fi ;; - unknown) UNAME_PROCESSOR=powerpc ;; - esac - echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} - exit ;; - *:procnto*:*:* | *:QNX:[0123456789]*:*) - UNAME_PROCESSOR=`uname -p` - if test "$UNAME_PROCESSOR" = "x86"; then - UNAME_PROCESSOR=i386 - UNAME_MACHINE=pc - fi - echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE} - exit ;; - *:QNX:*:4*) - echo i386-pc-qnx - exit ;; - NEO-?:NONSTOP_KERNEL:*:*) - echo neo-tandem-nsk${UNAME_RELEASE} - exit ;; - NSE-?:NONSTOP_KERNEL:*:*) - echo nse-tandem-nsk${UNAME_RELEASE} - exit ;; - NSR-?:NONSTOP_KERNEL:*:*) - echo nsr-tandem-nsk${UNAME_RELEASE} - exit ;; - *:NonStop-UX:*:*) - echo mips-compaq-nonstopux - exit ;; - BS2000:POSIX*:*:*) - echo bs2000-siemens-sysv - exit ;; - DS/*:UNIX_System_V:*:*) - echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} - exit ;; - *:Plan9:*:*) - # "uname -m" is not consistent, so use $cputype instead. 386 - # is converted to i386 for consistency with other x86 - # operating systems. - if test "$cputype" = "386"; then - UNAME_MACHINE=i386 - else - UNAME_MACHINE="$cputype" - fi - echo ${UNAME_MACHINE}-unknown-plan9 - exit ;; - *:TOPS-10:*:*) - echo pdp10-unknown-tops10 - exit ;; - *:TENEX:*:*) - echo pdp10-unknown-tenex - exit ;; - KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) - echo pdp10-dec-tops20 - exit ;; - XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) - echo pdp10-xkl-tops20 - exit ;; - *:TOPS-20:*:*) - echo pdp10-unknown-tops20 - exit ;; - *:ITS:*:*) - echo pdp10-unknown-its - exit ;; - SEI:*:*:SEIUX) - echo mips-sei-seiux${UNAME_RELEASE} - exit ;; - *:DragonFly:*:*) - echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` - exit ;; - *:*VMS:*:*) - UNAME_MACHINE=`(uname -p) 2>/dev/null` - case "${UNAME_MACHINE}" in - A*) echo alpha-dec-vms ; exit ;; - I*) echo ia64-dec-vms ; exit ;; - V*) echo vax-dec-vms ; exit ;; - esac ;; - *:XENIX:*:SysV) - echo i386-pc-xenix - exit ;; - i*86:skyos:*:*) - echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//' - exit ;; - i*86:rdos:*:*) - echo ${UNAME_MACHINE}-pc-rdos - exit ;; - i*86:AROS:*:*) - echo ${UNAME_MACHINE}-pc-aros - exit ;; - x86_64:VMkernel:*:*) - echo ${UNAME_MACHINE}-unknown-esx - exit ;; -esac - -#echo '(No uname command or uname output not recognized.)' 1>&2 -#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2 - -eval $set_cc_for_build -cat >$dummy.c < -# include -#endif -main () -{ -#if defined (sony) -#if defined (MIPSEB) - /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, - I don't know.... */ - printf ("mips-sony-bsd\n"); exit (0); -#else -#include - printf ("m68k-sony-newsos%s\n", -#ifdef NEWSOS4 - "4" -#else - "" -#endif - ); exit (0); -#endif -#endif - -#if defined (__arm) && defined (__acorn) && defined (__unix) - printf ("arm-acorn-riscix\n"); exit (0); -#endif - -#if defined (hp300) && !defined (hpux) - printf ("m68k-hp-bsd\n"); exit (0); -#endif - -#if defined (NeXT) -#if !defined (__ARCHITECTURE__) -#define __ARCHITECTURE__ "m68k" -#endif - int version; - version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; - if (version < 4) - printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); - else - printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); - exit (0); -#endif - -#if defined (MULTIMAX) || defined (n16) -#if defined (UMAXV) - printf ("ns32k-encore-sysv\n"); exit (0); -#else -#if defined (CMU) - printf ("ns32k-encore-mach\n"); exit (0); -#else - printf ("ns32k-encore-bsd\n"); exit (0); -#endif -#endif -#endif - -#if defined (__386BSD__) - printf ("i386-pc-bsd\n"); exit (0); -#endif - -#if defined (sequent) -#if defined (i386) - printf ("i386-sequent-dynix\n"); exit (0); -#endif -#if defined (ns32000) - printf ("ns32k-sequent-dynix\n"); exit (0); -#endif -#endif - -#if defined (_SEQUENT_) - struct utsname un; - - uname(&un); - - if (strncmp(un.version, "V2", 2) == 0) { - printf ("i386-sequent-ptx2\n"); exit (0); - } - if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ - printf ("i386-sequent-ptx1\n"); exit (0); - } - printf ("i386-sequent-ptx\n"); exit (0); - -#endif - -#if defined (vax) -# if !defined (ultrix) -# include -# if defined (BSD) -# if BSD == 43 - printf ("vax-dec-bsd4.3\n"); exit (0); -# else -# if BSD == 199006 - printf ("vax-dec-bsd4.3reno\n"); exit (0); -# else - printf ("vax-dec-bsd\n"); exit (0); -# endif -# endif -# else - printf ("vax-dec-bsd\n"); exit (0); -# endif -# else - printf ("vax-dec-ultrix\n"); exit (0); -# endif -#endif - -#if defined (alliant) && defined (i860) - printf ("i860-alliant-bsd\n"); exit (0); -#endif - - exit (1); -} -EOF - -$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` && - { echo "$SYSTEM_NAME"; exit; } - -# Apollos put the system type in the environment. - -test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; } - -# Convex versions that predate uname can use getsysinfo(1) - -if [ -x /usr/convex/getsysinfo ] -then - case `getsysinfo -f cpu_type` in - c1*) - echo c1-convex-bsd - exit ;; - c2*) - if getsysinfo -f scalar_acc - then echo c32-convex-bsd - else echo c2-convex-bsd - fi - exit ;; - c34*) - echo c34-convex-bsd - exit ;; - c38*) - echo c38-convex-bsd - exit ;; - c4*) - echo c4-convex-bsd - exit ;; - esac -fi - -cat >&2 < in order to provide the needed -information to handle your system. - -config.guess timestamp = $timestamp - -uname -m = `(uname -m) 2>/dev/null || echo unknown` -uname -r = `(uname -r) 2>/dev/null || echo unknown` -uname -s = `(uname -s) 2>/dev/null || echo unknown` -uname -v = `(uname -v) 2>/dev/null || echo unknown` - -/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` -/bin/uname -X = `(/bin/uname -X) 2>/dev/null` - -hostinfo = `(hostinfo) 2>/dev/null` -/bin/universe = `(/bin/universe) 2>/dev/null` -/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` -/bin/arch = `(/bin/arch) 2>/dev/null` -/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` -/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` - -UNAME_MACHINE = ${UNAME_MACHINE} -UNAME_RELEASE = ${UNAME_RELEASE} -UNAME_SYSTEM = ${UNAME_SYSTEM} -UNAME_VERSION = ${UNAME_VERSION} -EOF - -exit 1 - -# Local variables: -# eval: (add-hook 'write-file-hooks 'time-stamp) -# time-stamp-start: "timestamp='" -# time-stamp-format: "%:y-%02m-%02d" -# time-stamp-end: "'" -# End: diff --git a/GRIB_BLE_HUB/libs/ble_extend/config.h b/GRIB_BLE_HUB/libs/ble_extend/config.h deleted file mode 100644 index 4d3e14b..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/config.h +++ /dev/null @@ -1,136 +0,0 @@ -/* config.h. Generated from config.h.in by configure. */ -/* config.h.in. Generated from configure.ac by autoheader. */ - -/* Directory for the configuration files */ -#define CONFIGDIR "/usr/local/etc/bluetooth" - -/* Define to 1 if you have the header file. */ -#define HAVE_DLFCN_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_INTTYPES_H 1 - -/* Define to 1 if you have USB library. */ -#define HAVE_LIBUSB 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_MEMORY_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_READLINE_READLINE_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_STDINT_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_STDLIB_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_STRINGS_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_STRING_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_SYS_STAT_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_SYS_TYPES_H 1 - -/* Define to 1 if you have the udev_hwdb_new() function. */ -#define HAVE_UDEV_HWDB_NEW 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_UNISTD_H 1 - -/* Define to the sub-directory in which libtool stores uninstalled libraries. - */ -#define LT_OBJDIR ".libs/" - -/* Define if threading support is required */ -/* #undef NEED_THREADS */ - -/* Define to 1 if you need the usb_get_busses() function. */ -/* #undef NEED_USB_GET_BUSSES */ - -/* Define to 1 if you need the usb_interrupt_read() functi on. */ -/* #undef NEED_USB_INTERRUPT_READ */ - -/* Define to 1 if your C compiler doesn't accept -c and -o together. */ -/* #undef NO_MINUS_C_MINUS_O */ - -/* Name of package */ -#define PACKAGE "bluez" - -/* Define to the address where bug reports for this package should be sent. */ -#define PACKAGE_BUGREPORT "" - -/* Define to the full name of this package. */ -#define PACKAGE_NAME "bluez" - -/* Define to the full name and version of this package. */ -#define PACKAGE_STRING "bluez 5.4" - -/* Define to the one symbol short name of this package. */ -#define PACKAGE_TARNAME "bluez" - -/* Define to the home page for this package. */ -#define PACKAGE_URL "" - -/* Define to the version of this package. */ -#define PACKAGE_VERSION "5.4" - -/* Define to 1 if you have the ANSI C header files. */ -#define STDC_HEADERS 1 - -/* Directory for the storage files */ -#define STORAGEDIR "/var/lib/bluetooth" - -/* Enable extensions on AIX 3, Interix. */ -#ifndef _ALL_SOURCE -# define _ALL_SOURCE 1 -#endif -/* Enable GNU extensions on systems that have them. */ -#ifndef _GNU_SOURCE -# define _GNU_SOURCE 1 -#endif -/* Enable threading extensions on Solaris. */ -#ifndef _POSIX_PTHREAD_SEMANTICS -# define _POSIX_PTHREAD_SEMANTICS 1 -#endif -/* Enable extensions on HP NonStop. */ -#ifndef _TANDEM_SOURCE -# define _TANDEM_SOURCE 1 -#endif -/* Enable general extensions on Solaris. */ -#ifndef __EXTENSIONS__ -# define __EXTENSIONS__ 1 -#endif - - -/* Version number of package */ -#define VERSION "5.4" - -/* Define to 1 if on MINIX. */ -/* #undef _MINIX */ - -/* Define to 2 if the system does not provide POSIX.1 features except with - this defined. */ -/* #undef _POSIX_1_SOURCE */ - -/* Define to 1 if you need to in order for `stat' and other things to work. */ -/* #undef _POSIX_SOURCE */ - -/* Define to the equivalent of the C99 'restrict' keyword, or to - nothing if this is not supported. Do not define if restrict is - supported directly. */ -#define restrict __restrict -/* Work around a bug in Sun C++: it does not support _Restrict or - __restrict__, even though the corresponding Sun C compiler ends up with - "#define restrict _Restrict" or "#define restrict __restrict__" in the - previous line. Perhaps some future version of Sun C++ will work with - restrict; if so, hopefully it defines __RESTRICT like Sun C does. */ -#if defined __SUNPRO_CC && !defined __RESTRICT -# define _Restrict -# define __restrict__ -#endif diff --git a/GRIB_BLE_HUB/libs/ble_extend/config.h.in b/GRIB_BLE_HUB/libs/ble_extend/config.h.in deleted file mode 100644 index 17e0a5c..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/config.h.in +++ /dev/null @@ -1,135 +0,0 @@ -/* config.h.in. Generated from configure.ac by autoheader. */ - -/* Directory for the configuration files */ -#undef CONFIGDIR - -/* Define to 1 if you have the header file. */ -#undef HAVE_DLFCN_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_INTTYPES_H - -/* Define to 1 if you have USB library. */ -#undef HAVE_LIBUSB - -/* Define to 1 if you have the header file. */ -#undef HAVE_MEMORY_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_READLINE_READLINE_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_STDINT_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_STDLIB_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_STRINGS_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_STRING_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_SYS_STAT_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_SYS_TYPES_H - -/* Define to 1 if you have the udev_hwdb_new() function. */ -#undef HAVE_UDEV_HWDB_NEW - -/* Define to 1 if you have the header file. */ -#undef HAVE_UNISTD_H - -/* Define to the sub-directory in which libtool stores uninstalled libraries. - */ -#undef LT_OBJDIR - -/* Define if threading support is required */ -#undef NEED_THREADS - -/* Define to 1 if you need the usb_get_busses() function. */ -#undef NEED_USB_GET_BUSSES - -/* Define to 1 if you need the usb_interrupt_read() functi on. */ -#undef NEED_USB_INTERRUPT_READ - -/* Define to 1 if your C compiler doesn't accept -c and -o together. */ -#undef NO_MINUS_C_MINUS_O - -/* Name of package */ -#undef PACKAGE - -/* Define to the address where bug reports for this package should be sent. */ -#undef PACKAGE_BUGREPORT - -/* Define to the full name of this package. */ -#undef PACKAGE_NAME - -/* Define to the full name and version of this package. */ -#undef PACKAGE_STRING - -/* Define to the one symbol short name of this package. */ -#undef PACKAGE_TARNAME - -/* Define to the home page for this package. */ -#undef PACKAGE_URL - -/* Define to the version of this package. */ -#undef PACKAGE_VERSION - -/* Define to 1 if you have the ANSI C header files. */ -#undef STDC_HEADERS - -/* Directory for the storage files */ -#undef STORAGEDIR - -/* Enable extensions on AIX 3, Interix. */ -#ifndef _ALL_SOURCE -# undef _ALL_SOURCE -#endif -/* Enable GNU extensions on systems that have them. */ -#ifndef _GNU_SOURCE -# undef _GNU_SOURCE -#endif -/* Enable threading extensions on Solaris. */ -#ifndef _POSIX_PTHREAD_SEMANTICS -# undef _POSIX_PTHREAD_SEMANTICS -#endif -/* Enable extensions on HP NonStop. */ -#ifndef _TANDEM_SOURCE -# undef _TANDEM_SOURCE -#endif -/* Enable general extensions on Solaris. */ -#ifndef __EXTENSIONS__ -# undef __EXTENSIONS__ -#endif - - -/* Version number of package */ -#undef VERSION - -/* Define to 1 if on MINIX. */ -#undef _MINIX - -/* Define to 2 if the system does not provide POSIX.1 features except with - this defined. */ -#undef _POSIX_1_SOURCE - -/* Define to 1 if you need to in order for `stat' and other things to work. */ -#undef _POSIX_SOURCE - -/* Define to the equivalent of the C99 'restrict' keyword, or to - nothing if this is not supported. Do not define if restrict is - supported directly. */ -#undef restrict -/* Work around a bug in Sun C++: it does not support _Restrict or - __restrict__, even though the corresponding Sun C compiler ends up with - "#define restrict _Restrict" or "#define restrict __restrict__" in the - previous line. Perhaps some future version of Sun C++ will work with - restrict; if so, hopefully it defines __RESTRICT like Sun C does. */ -#if defined __SUNPRO_CC && !defined __RESTRICT -# define _Restrict -# define __restrict__ -#endif diff --git a/GRIB_BLE_HUB/libs/ble_extend/config.log b/GRIB_BLE_HUB/libs/ble_extend/config.log deleted file mode 100644 index a336f8a..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/config.log +++ /dev/null @@ -1,961 +0,0 @@ -This file contains any messages produced by compilers while -running configure, to aid debugging if configure makes a mistake. - -It was created by bluez configure 5.4, which was -generated by GNU Autoconf 2.69. Invocation command line was - - $ ./configure --disable-systemd - -## --------- ## -## Platform. ## -## --------- ## - -hostname = shbaek-Pi3 -uname -m = armv7l -uname -r = 4.4.11-v7+ -uname -s = Linux -uname -v = #888 SMP Mon May 23 20:10:33 BST 2016 - -/usr/bin/uname -p = unknown -/bin/uname -X = unknown - -/bin/arch = unknown -/usr/bin/arch -k = unknown -/usr/convex/getsysinfo = unknown -/usr/bin/hostinfo = unknown -/bin/machine = unknown -/usr/bin/oslevel = unknown -/bin/universe = unknown - -PATH: /usr/local/sbin -PATH: /usr/local/bin -PATH: /usr/sbin -PATH: /usr/bin -PATH: /sbin -PATH: /bin -PATH: /usr/local/games -PATH: /usr/games - - -## ----------- ## -## Core tests. ## -## ----------- ## - -configure:2382: checking for a BSD-compatible install -configure:2450: result: /usr/bin/install -c -configure:2461: checking whether build environment is sane -configure:2511: result: yes -configure:2652: checking for a thread-safe mkdir -p -configure:2691: result: /bin/mkdir -p -configure:2704: checking for gawk -configure:2734: result: no -configure:2704: checking for mawk -configure:2720: found /usr/bin/mawk -configure:2731: result: mawk -configure:2742: checking whether make sets $(MAKE) -configure:2764: result: yes -configure:2793: checking whether make supports nested variables -configure:2810: result: yes -configure:2878: checking how to create a pax tar archive -configure:2891: tar --version -tar (GNU tar) 1.27.1 -Copyright (C) 2013 Free Software Foundation, Inc. -License GPLv3+: GNU GPL version 3 or later . -This is free software: you are free to change and redistribute it. -There is NO WARRANTY, to the extent permitted by law. - -Written by John Gilmore and Jay Fenlason. -configure:2894: $? = 0 -configure:2934: tardir=conftest.dir && eval tar --format=posix -chf - "$tardir" >conftest.tar -configure:2937: $? = 0 -configure:2941: tar -xf - &5 -gcc (Raspbian 4.9.2-10) 4.9.2 -Copyright (C) 2014 Free Software Foundation, Inc. -This is free software; see the source for copying conditions. There is NO -warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -configure:3353: $? = 0 -configure:3342: gcc -v >&5 -Using built-in specs. -COLLECT_GCC=gcc -COLLECT_LTO_WRAPPER=/usr/lib/gcc/arm-linux-gnueabihf/4.9/lto-wrapper -Target: arm-linux-gnueabihf -Configured with: ../src/configure -v --with-pkgversion='Raspbian 4.9.2-10' --with-bugurl=file:///usr/share/doc/gcc-4.9/README.Bugs --enable-languages=c,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.9 --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.9 --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-gnu-unique-object --disable-libitm --disable-libquadmath --enable-plugin --with-system-zlib --disable-browser-plugin --enable-java-awt=gtk --enable-gtk-cairo --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-4.9-armhf/jre --enable-java-home --with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-4.9-armhf --with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-4.9-armhf --with-arch-directory=arm --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --enable-objc-gc --enable-multiarch --disable-sjlj-exceptions --with-arch=armv6 --with-fpu=vfp --with-float=hard --enable-checking=release --build=arm-linux-gnueabihf --host=arm-linux-gnueabihf --target=arm-linux-gnueabihf -Thread model: posix -gcc version 4.9.2 (Raspbian 4.9.2-10) -configure:3353: $? = 0 -configure:3342: gcc -V >&5 -gcc: error: unrecognized command line option '-V' -gcc: fatal error: no input files -compilation terminated. -configure:3353: $? = 4 -configure:3342: gcc -qversion >&5 -gcc: error: unrecognized command line option '-qversion' -gcc: fatal error: no input files -compilation terminated. -configure:3353: $? = 4 -configure:3373: checking whether the C compiler works -configure:3395: gcc conftest.c >&5 -configure:3399: $? = 0 -configure:3447: result: yes -configure:3450: checking for C compiler default output file name -configure:3452: result: a.out -configure:3458: checking for suffix of executables -configure:3465: gcc -o conftest conftest.c >&5 -configure:3469: $? = 0 -configure:3491: result: -configure:3513: checking whether we are cross compiling -configure:3521: gcc -o conftest conftest.c >&5 -configure:3525: $? = 0 -configure:3532: ./conftest -configure:3536: $? = 0 -configure:3551: result: no -configure:3556: checking for suffix of object files -configure:3578: gcc -c conftest.c >&5 -configure:3582: $? = 0 -configure:3603: result: o -configure:3607: checking whether we are using the GNU C compiler -configure:3626: gcc -c conftest.c >&5 -configure:3626: $? = 0 -configure:3635: result: yes -configure:3644: checking whether gcc accepts -g -configure:3664: gcc -c -g conftest.c >&5 -configure:3664: $? = 0 -configure:3705: result: yes -configure:3722: checking for gcc option to accept ISO C89 -configure:3785: gcc -c -g -O2 conftest.c >&5 -configure:3785: $? = 0 -configure:3798: result: none needed -configure:3820: checking dependency style of gcc -configure:3931: result: gcc3 -configure:3952: checking how to run the C preprocessor -configure:3983: gcc -E conftest.c -configure:3983: $? = 0 -configure:3997: gcc -E conftest.c -conftest.c:11:28: fatal error: ac_nonexistent.h: No such file or directory - #include - ^ -compilation terminated. -configure:3997: $? = 1 -configure: failed program was: -| /* confdefs.h */ -| #define PACKAGE_NAME "bluez" -| #define PACKAGE_TARNAME "bluez" -| #define PACKAGE_VERSION "5.4" -| #define PACKAGE_STRING "bluez 5.4" -| #define PACKAGE_BUGREPORT "" -| #define PACKAGE_URL "" -| #define PACKAGE "bluez" -| #define VERSION "5.4" -| /* end confdefs.h. */ -| #include -configure:4022: result: gcc -E -configure:4042: gcc -E conftest.c -configure:4042: $? = 0 -configure:4056: gcc -E conftest.c -conftest.c:11:28: fatal error: ac_nonexistent.h: No such file or directory - #include - ^ -compilation terminated. -configure:4056: $? = 1 -configure: failed program was: -| /* confdefs.h */ -| #define PACKAGE_NAME "bluez" -| #define PACKAGE_TARNAME "bluez" -| #define PACKAGE_VERSION "5.4" -| #define PACKAGE_STRING "bluez 5.4" -| #define PACKAGE_BUGREPORT "" -| #define PACKAGE_URL "" -| #define PACKAGE "bluez" -| #define VERSION "5.4" -| /* end confdefs.h. */ -| #include -configure:4085: checking for grep that handles long lines and -e -configure:4143: result: /bin/grep -configure:4148: checking for egrep -configure:4210: result: /bin/grep -E -configure:4215: checking for ANSI C header files -configure:4235: gcc -c -g -O2 conftest.c >&5 -configure:4235: $? = 0 -configure:4308: gcc -o conftest -g -O2 conftest.c >&5 -configure:4308: $? = 0 -configure:4308: ./conftest -configure:4308: $? = 0 -configure:4319: result: yes -configure:4332: checking for sys/types.h -configure:4332: gcc -c -g -O2 conftest.c >&5 -configure:4332: $? = 0 -configure:4332: result: yes -configure:4332: checking for sys/stat.h -configure:4332: gcc -c -g -O2 conftest.c >&5 -configure:4332: $? = 0 -configure:4332: result: yes -configure:4332: checking for stdlib.h -configure:4332: gcc -c -g -O2 conftest.c >&5 -configure:4332: $? = 0 -configure:4332: result: yes -configure:4332: checking for string.h -configure:4332: gcc -c -g -O2 conftest.c >&5 -configure:4332: $? = 0 -configure:4332: result: yes -configure:4332: checking for memory.h -configure:4332: gcc -c -g -O2 conftest.c >&5 -configure:4332: $? = 0 -configure:4332: result: yes -configure:4332: checking for strings.h -configure:4332: gcc -c -g -O2 conftest.c >&5 -configure:4332: $? = 0 -configure:4332: result: yes -configure:4332: checking for inttypes.h -configure:4332: gcc -c -g -O2 conftest.c >&5 -configure:4332: $? = 0 -configure:4332: result: yes -configure:4332: checking for stdint.h -configure:4332: gcc -c -g -O2 conftest.c >&5 -configure:4332: $? = 0 -configure:4332: result: yes -configure:4332: checking for unistd.h -configure:4332: gcc -c -g -O2 conftest.c >&5 -configure:4332: $? = 0 -configure:4332: result: yes -configure:4345: checking minix/config.h usability -configure:4345: gcc -c -g -O2 conftest.c >&5 -conftest.c:54:26: fatal error: minix/config.h: No such file or directory - #include - ^ -compilation terminated. -configure:4345: $? = 1 -configure: failed program was: -| /* confdefs.h */ -| #define PACKAGE_NAME "bluez" -| #define PACKAGE_TARNAME "bluez" -| #define PACKAGE_VERSION "5.4" -| #define PACKAGE_STRING "bluez 5.4" -| #define PACKAGE_BUGREPORT "" -| #define PACKAGE_URL "" -| #define PACKAGE "bluez" -| #define VERSION "5.4" -| #define STDC_HEADERS 1 -| #define HAVE_SYS_TYPES_H 1 -| #define HAVE_SYS_STAT_H 1 -| #define HAVE_STDLIB_H 1 -| #define HAVE_STRING_H 1 -| #define HAVE_MEMORY_H 1 -| #define HAVE_STRINGS_H 1 -| #define HAVE_INTTYPES_H 1 -| #define HAVE_STDINT_H 1 -| #define HAVE_UNISTD_H 1 -| /* end confdefs.h. */ -| #include -| #ifdef HAVE_SYS_TYPES_H -| # include -| #endif -| #ifdef HAVE_SYS_STAT_H -| # include -| #endif -| #ifdef STDC_HEADERS -| # include -| # include -| #else -| # ifdef HAVE_STDLIB_H -| # include -| # endif -| #endif -| #ifdef HAVE_STRING_H -| # if !defined STDC_HEADERS && defined HAVE_MEMORY_H -| # include -| # endif -| # include -| #endif -| #ifdef HAVE_STRINGS_H -| # include -| #endif -| #ifdef HAVE_INTTYPES_H -| # include -| #endif -| #ifdef HAVE_STDINT_H -| # include -| #endif -| #ifdef HAVE_UNISTD_H -| # include -| #endif -| #include -configure:4345: result: no -configure:4345: checking minix/config.h presence -configure:4345: gcc -E conftest.c -conftest.c:21:26: fatal error: minix/config.h: No such file or directory - #include - ^ -compilation terminated. -configure:4345: $? = 1 -configure: failed program was: -| /* confdefs.h */ -| #define PACKAGE_NAME "bluez" -| #define PACKAGE_TARNAME "bluez" -| #define PACKAGE_VERSION "5.4" -| #define PACKAGE_STRING "bluez 5.4" -| #define PACKAGE_BUGREPORT "" -| #define PACKAGE_URL "" -| #define PACKAGE "bluez" -| #define VERSION "5.4" -| #define STDC_HEADERS 1 -| #define HAVE_SYS_TYPES_H 1 -| #define HAVE_SYS_STAT_H 1 -| #define HAVE_STDLIB_H 1 -| #define HAVE_STRING_H 1 -| #define HAVE_MEMORY_H 1 -| #define HAVE_STRINGS_H 1 -| #define HAVE_INTTYPES_H 1 -| #define HAVE_STDINT_H 1 -| #define HAVE_UNISTD_H 1 -| /* end confdefs.h. */ -| #include -configure:4345: result: no -configure:4345: checking for minix/config.h -configure:4345: result: no -configure:4366: checking whether it is safe to define __EXTENSIONS__ -configure:4384: gcc -c -g -O2 conftest.c >&5 -configure:4384: $? = 0 -configure:4391: result: yes -configure:4417: checking whether make supports nested variables -configure:4434: result: yes -configure:4447: checking whether to enable maintainer-specific portions of Makefiles -configure:4456: result: no -configure:4526: checking for pkg-config -configure:4544: found /usr/bin/pkg-config -configure:4556: result: /usr/bin/pkg-config -configure:4581: checking pkg-config is at least version 0.9.0 -configure:4584: result: yes -configure:4617: checking for C/C++ restrict keyword -configure:4642: gcc -c -g -O2 conftest.c >&5 -configure:4642: $? = 0 -configure:4650: result: __restrict -configure:4712: checking for gcc -configure:4739: result: gcc -configure:4968: checking for C compiler version -configure:4977: gcc --version >&5 -gcc (Raspbian 4.9.2-10) 4.9.2 -Copyright (C) 2014 Free Software Foundation, Inc. -This is free software; see the source for copying conditions. There is NO -warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -configure:4988: $? = 0 -configure:4977: gcc -v >&5 -Using built-in specs. -COLLECT_GCC=gcc -COLLECT_LTO_WRAPPER=/usr/lib/gcc/arm-linux-gnueabihf/4.9/lto-wrapper -Target: arm-linux-gnueabihf -Configured with: ../src/configure -v --with-pkgversion='Raspbian 4.9.2-10' --with-bugurl=file:///usr/share/doc/gcc-4.9/README.Bugs --enable-languages=c,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.9 --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.9 --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-gnu-unique-object --disable-libitm --disable-libquadmath --enable-plugin --with-system-zlib --disable-browser-plugin --enable-java-awt=gtk --enable-gtk-cairo --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-4.9-armhf/jre --enable-java-home --with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-4.9-armhf --with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-4.9-armhf --with-arch-directory=arm --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --enable-objc-gc --enable-multiarch --disable-sjlj-exceptions --with-arch=armv6 --with-fpu=vfp --with-float=hard --enable-checking=release --build=arm-linux-gnueabihf --host=arm-linux-gnueabihf --target=arm-linux-gnueabihf -Thread model: posix -gcc version 4.9.2 (Raspbian 4.9.2-10) -configure:4988: $? = 0 -configure:4977: gcc -V >&5 -gcc: error: unrecognized command line option '-V' -gcc: fatal error: no input files -compilation terminated. -configure:4988: $? = 4 -configure:4977: gcc -qversion >&5 -gcc: error: unrecognized command line option '-qversion' -gcc: fatal error: no input files -compilation terminated. -configure:4988: $? = 4 -configure:4992: checking whether we are using the GNU C compiler -configure:5020: result: yes -configure:5029: checking whether gcc accepts -g -configure:5090: result: yes -configure:5107: checking for gcc option to accept ISO C89 -configure:5183: result: none needed -configure:5205: checking dependency style of gcc -configure:5316: result: gcc3 -configure:5332: checking whether gcc and cc understand -c and -o together -configure:5363: gcc -c conftest.c -o conftest2.o >&5 -configure:5367: $? = 0 -configure:5373: gcc -c conftest.c -o conftest2.o >&5 -configure:5377: $? = 0 -configure:5388: cc -c conftest.c >&5 -configure:5392: $? = 0 -configure:5400: cc -c conftest.c -o conftest2.o >&5 -configure:5404: $? = 0 -configure:5410: cc -c conftest.c -o conftest2.o >&5 -configure:5414: $? = 0 -configure:5432: result: yes -configure:5458: checking whether gcc accepts -fPIE -configure:5473: result: yes -configure:5542: checking build system type -configure:5556: result: armv7l-unknown-linux-gnueabihf -configure:5576: checking host system type -configure:5589: result: armv7l-unknown-linux-gnueabihf -configure:5630: checking how to print strings -configure:5657: result: printf -configure:5678: checking for a sed that does not truncate output -configure:5742: result: /bin/sed -configure:5760: checking for fgrep -configure:5822: result: /bin/grep -F -configure:5857: checking for ld used by gcc -configure:5924: result: /usr/bin/ld -configure:5931: checking if the linker (/usr/bin/ld) is GNU ld -configure:5946: result: yes -configure:5958: checking for BSD- or MS-compatible name lister (nm) -configure:6007: result: /usr/bin/nm -B -configure:6137: checking the name lister (/usr/bin/nm -B) interface -configure:6144: gcc -c -g -O2 conftest.c >&5 -configure:6147: /usr/bin/nm -B "conftest.o" -configure:6150: output -00000000 B some_variable -configure:6157: result: BSD nm -configure:6160: checking whether ln -s works -configure:6164: result: yes -configure:6172: checking the maximum length of command line arguments -configure:6302: result: 1572864 -configure:6319: checking whether the shell understands some XSI constructs -configure:6329: result: yes -configure:6333: checking whether the shell understands "+=" -configure:6339: result: yes -configure:6374: checking how to convert armv7l-unknown-linux-gnueabihf file names to armv7l-unknown-linux-gnueabihf format -configure:6414: result: func_convert_file_noop -configure:6421: checking how to convert armv7l-unknown-linux-gnueabihf file names to toolchain format -configure:6441: result: func_convert_file_noop -configure:6448: checking for /usr/bin/ld option to reload object files -configure:6455: result: -r -configure:6529: checking for objdump -configure:6545: found /usr/bin/objdump -configure:6556: result: objdump -configure:6588: checking how to recognize dependent libraries -configure:6786: result: pass_all -configure:6871: checking for dlltool -configure:6901: result: no -configure:6931: checking how to associate runtime and link libraries -configure:6958: result: printf %s\n -configure:7018: checking for ar -configure:7034: found /usr/bin/ar -configure:7045: result: ar -configure:7082: checking for archiver @FILE support -configure:7099: gcc -c -g -O2 conftest.c >&5 -configure:7099: $? = 0 -configure:7102: ar cru libconftest.a @conftest.lst >&5 -configure:7105: $? = 0 -configure:7110: ar cru libconftest.a @conftest.lst >&5 -ar: conftest.o: No such file or directory -configure:7113: $? = 1 -configure:7125: result: @ -configure:7183: checking for strip -configure:7199: found /usr/bin/strip -configure:7210: result: strip -configure:7282: checking for ranlib -configure:7298: found /usr/bin/ranlib -configure:7309: result: ranlib -configure:7411: checking command to parse /usr/bin/nm -B output from gcc object -configure:7531: gcc -c -g -O2 conftest.c >&5 -configure:7534: $? = 0 -configure:7538: /usr/bin/nm -B conftest.o \| sed -n -e 's/^.*[ ]\([ABCDGIRSTW][ABCDGIRSTW]*\)[ ][ ]*\([_A-Za-z][_A-Za-z0-9]*\)$/\1 \2 \2/p' | sed '/ __gnu_lto/d' \> conftest.nm -configure:7541: $? = 0 -configure:7607: gcc -o conftest -g -O2 conftest.c conftstm.o >&5 -configure:7610: $? = 0 -configure:7648: result: ok -configure:7685: checking for sysroot -configure:7715: result: no -configure:7971: checking for mt -configure:7987: found /bin/mt -configure:7998: result: mt -configure:8021: checking if mt is a manifest tool -configure:8027: mt '-?' -configure:8035: result: no -configure:8674: checking for dlfcn.h -configure:8674: gcc -c -g -O2 conftest.c >&5 -configure:8674: $? = 0 -configure:8674: result: yes -configure:8850: checking for objdir -configure:8865: result: .libs -configure:9132: checking if gcc supports -fno-rtti -fno-exceptions -configure:9150: gcc -c -g -O2 -fno-rtti -fno-exceptions conftest.c >&5 -cc1: warning: command line option '-fno-rtti' is valid for C++/ObjC++ but not for C -configure:9154: $? = 0 -configure:9167: result: no -configure:9494: checking for gcc option to produce PIC -configure:9501: result: -fPIC -DPIC -configure:9509: checking if gcc PIC flag -fPIC -DPIC works -configure:9527: gcc -c -g -O2 -fPIC -DPIC -DPIC conftest.c >&5 -configure:9531: $? = 0 -configure:9544: result: yes -configure:9573: checking if gcc static flag -static works -configure:9601: result: yes -configure:9616: checking if gcc supports -c -o file.o -configure:9637: gcc -c -g -O2 -o out/conftest2.o conftest.c >&5 -configure:9641: $? = 0 -configure:9663: result: yes -configure:9671: checking if gcc supports -c -o file.o -configure:9718: result: yes -configure:9751: checking whether the gcc linker (/usr/bin/ld) supports shared libraries -configure:10908: result: yes -configure:10945: checking whether -lc should be explicitly linked in -configure:10953: gcc -c -g -O2 conftest.c >&5 -configure:10956: $? = 0 -configure:10971: gcc -shared -fPIC -DPIC conftest.o -v -Wl,-soname -Wl,conftest -o conftest 2\>\&1 \| /bin/grep -lc \>/dev/null 2\>\&1 -configure:10974: $? = 0 -configure:10988: result: no -configure:11148: checking dynamic linker characteristics -configure:11648: gcc -o conftest -g -O2 -Wl,-rpath -Wl,/foo conftest.c >&5 -configure:11648: $? = 0 -configure:11882: result: GNU/Linux ld.so -configure:11989: checking how to hardcode library paths into programs -configure:12014: result: immediate -configure:12554: checking whether stripping libraries is possible -configure:12559: result: yes -configure:12594: checking if libtool supports shared libraries -configure:12596: result: yes -configure:12599: checking whether to build shared libraries -configure:12620: result: yes -configure:12623: checking whether to build static libraries -configure:12627: result: no -configure:12710: checking for signalfd -configure:12710: gcc -o conftest -g -O2 conftest.c >&5 -configure:12710: $? = 0 -configure:12710: result: yes -configure:12718: checking for dlopen in -ldl -configure:12743: gcc -o conftest -g -O2 conftest.c -ldl >&5 -configure:12743: $? = 0 -configure:12752: result: yes -configure:12763: checking for GLIB -configure:12770: $PKG_CONFIG --exists --print-errors "glib-2.0 >= 2.28" -configure:12773: $? = 0 -configure:12787: $PKG_CONFIG --exists --print-errors "glib-2.0 >= 2.28" -configure:12790: $? = 0 -configure:12828: result: yes -configure:12916: checking for DBUS -configure:12923: $PKG_CONFIG --exists --print-errors "dbus-1 >= 1.4" -configure:12926: $? = 0 -configure:12940: $PKG_CONFIG --exists --print-errors "dbus-1 >= 1.4" -configure:12943: $? = 0 -configure:12981: result: yes -configure:12995: checking D-Bus configuration directory -configure:13001: result: /etc -configure:13014: checking D-Bus system bus services dir -configure:13020: result: /usr/share/dbus-1/system-services -configure:13033: checking D-Bus session bus services dir -configure:13039: result: /usr/share/dbus-1/services -configure:13109: checking for USB -configure:13116: $PKG_CONFIG --exists --print-errors "libusb" -configure:13119: $? = 0 -configure:13133: $PKG_CONFIG --exists --print-errors "libusb" -configure:13136: $? = 0 -configure:13174: result: yes -configure:13180: checking for usb_get_busses in -lusb -configure:13205: gcc -o conftest -g -O2 conftest.c -lusb >&5 -configure:13205: $? = 0 -configure:13214: result: yes -configure:13224: checking for usb_interrupt_read in -lusb -configure:13249: gcc -o conftest -g -O2 conftest.c -lusb >&5 -configure:13249: $? = 0 -configure:13258: result: yes -configure:13289: checking for UDEV -configure:13296: $PKG_CONFIG --exists --print-errors "libudev >= 143" -configure:13299: $? = 0 -configure:13313: $PKG_CONFIG --exists --print-errors "libudev >= 143" -configure:13316: $? = 0 -configure:13354: result: yes -configure:13360: checking for udev_hwdb_new in -ludev -configure:13385: gcc -o conftest -g -O2 conftest.c -ludev >&5 -configure:13385: $? = 0 -configure:13394: result: yes -configure:13419: checking udev directory -configure:13425: result: /lib/udev -configure:13463: checking for ICAL -configure:13470: $PKG_CONFIG --exists --print-errors "libical" -configure:13473: $? = 0 -configure:13487: $PKG_CONFIG --exists --print-errors "libical" -configure:13490: $? = 0 -configure:13528: result: yes -configure:13561: checking readline/readline.h usability -configure:13561: gcc -c -g -O2 conftest.c >&5 -configure:13561: $? = 0 -configure:13561: result: yes -configure:13561: checking readline/readline.h presence -configure:13561: gcc -E conftest.c -configure:13561: $? = 0 -configure:13561: result: yes -configure:13561: checking for readline/readline.h -configure:13561: result: yes -configure:13890: creating ./config.status - -## ---------------------- ## -## Running config.status. ## -## ---------------------- ## - -This file was extended by bluez config.status 5.4, which was -generated by GNU Autoconf 2.69. Invocation command line was - - CONFIG_FILES = - CONFIG_HEADERS = - CONFIG_LINKS = - CONFIG_COMMANDS = - $ ./config.status - -on shbaek-Pi3 - -config.status:1148: creating Makefile -config.status:1148: creating src/bluetoothd.8 -config.status:1148: creating lib/bluez.pc -config.status:1148: creating config.h -config.status:1329: config.h is unchanged -config.status:1377: executing depfiles commands -config.status:1377: executing libtool commands - -## ---------------- ## -## Cache variables. ## -## ---------------- ## - -ac_cv_build=armv7l-unknown-linux-gnueabihf -ac_cv_c_compiler_gnu=yes -ac_cv_c_restrict=__restrict -ac_cv_env_CC_set= -ac_cv_env_CC_value= -ac_cv_env_CFLAGS_set= -ac_cv_env_CFLAGS_value= -ac_cv_env_CPPFLAGS_set= -ac_cv_env_CPPFLAGS_value= -ac_cv_env_CPP_set= -ac_cv_env_CPP_value= -ac_cv_env_DBUS_CFLAGS_set= -ac_cv_env_DBUS_CFLAGS_value= -ac_cv_env_DBUS_LIBS_set= -ac_cv_env_DBUS_LIBS_value= -ac_cv_env_GLIB_CFLAGS_set= -ac_cv_env_GLIB_CFLAGS_value= -ac_cv_env_GLIB_LIBS_set= -ac_cv_env_GLIB_LIBS_value= -ac_cv_env_GTHREAD_CFLAGS_set= -ac_cv_env_GTHREAD_CFLAGS_value= -ac_cv_env_GTHREAD_LIBS_set= -ac_cv_env_GTHREAD_LIBS_value= -ac_cv_env_ICAL_CFLAGS_set= -ac_cv_env_ICAL_CFLAGS_value= -ac_cv_env_ICAL_LIBS_set= -ac_cv_env_ICAL_LIBS_value= -ac_cv_env_LDFLAGS_set= -ac_cv_env_LDFLAGS_value= -ac_cv_env_LIBS_set= -ac_cv_env_LIBS_value= -ac_cv_env_PKG_CONFIG_LIBDIR_set= -ac_cv_env_PKG_CONFIG_LIBDIR_value= -ac_cv_env_PKG_CONFIG_PATH_set= -ac_cv_env_PKG_CONFIG_PATH_value= -ac_cv_env_PKG_CONFIG_set= -ac_cv_env_PKG_CONFIG_value= -ac_cv_env_UDEV_CFLAGS_set= -ac_cv_env_UDEV_CFLAGS_value= -ac_cv_env_UDEV_LIBS_set= -ac_cv_env_UDEV_LIBS_value= -ac_cv_env_USB_CFLAGS_set= -ac_cv_env_USB_CFLAGS_value= -ac_cv_env_USB_LIBS_set= -ac_cv_env_USB_LIBS_value= -ac_cv_env_build_alias_set= -ac_cv_env_build_alias_value= -ac_cv_env_host_alias_set= -ac_cv_env_host_alias_value= -ac_cv_env_target_alias_set= -ac_cv_env_target_alias_value= -ac_cv_func_signalfd=yes -ac_cv_header_dlfcn_h=yes -ac_cv_header_inttypes_h=yes -ac_cv_header_memory_h=yes -ac_cv_header_minix_config_h=no -ac_cv_header_readline_readline_h=yes -ac_cv_header_stdc=yes -ac_cv_header_stdint_h=yes -ac_cv_header_stdlib_h=yes -ac_cv_header_string_h=yes -ac_cv_header_strings_h=yes -ac_cv_header_sys_stat_h=yes -ac_cv_header_sys_types_h=yes -ac_cv_header_unistd_h=yes -ac_cv_host=armv7l-unknown-linux-gnueabihf -ac_cv_lib_dl_dlopen=yes -ac_cv_lib_udev_udev_hwdb_new=yes -ac_cv_lib_usb_usb_get_busses=yes -ac_cv_lib_usb_usb_interrupt_read=yes -ac_cv_objext=o -ac_cv_path_EGREP='/bin/grep -E' -ac_cv_path_FGREP='/bin/grep -F' -ac_cv_path_GREP=/bin/grep -ac_cv_path_SED=/bin/sed -ac_cv_path_ac_pt_PKG_CONFIG=/usr/bin/pkg-config -ac_cv_path_install='/usr/bin/install -c' -ac_cv_path_mkdir=/bin/mkdir -ac_cv_prog_AWK=mawk -ac_cv_prog_CPP='gcc -E' -ac_cv_prog_ac_ct_AR=ar -ac_cv_prog_ac_ct_CC=gcc -ac_cv_prog_ac_ct_MANIFEST_TOOL=mt -ac_cv_prog_ac_ct_OBJDUMP=objdump -ac_cv_prog_ac_ct_RANLIB=ranlib -ac_cv_prog_ac_ct_STRIP=strip -ac_cv_prog_cc_c89= -ac_cv_prog_cc_g=yes -ac_cv_prog_cc_gcc_c_o=yes -ac_cv_prog_cc_pie=yes -ac_cv_prog_make_make_set=yes -ac_cv_safe_to_define___extensions__=yes -am_cv_CC_dependencies_compiler_type=gcc3 -am_cv_make_support_nested_variables=yes -am_cv_prog_tar_pax=gnutar -lt_cv_ar_at_file=@ -lt_cv_archive_cmds_need_lc=no -lt_cv_deplibs_check_method=pass_all -lt_cv_file_magic_cmd='$MAGIC_CMD' -lt_cv_file_magic_test_file= -lt_cv_ld_reload_flag=-r -lt_cv_nm_interface='BSD nm' -lt_cv_objdir=.libs -lt_cv_path_LD=/usr/bin/ld -lt_cv_path_NM='/usr/bin/nm -B' -lt_cv_path_mainfest_tool=no -lt_cv_prog_compiler_c_o=yes -lt_cv_prog_compiler_pic='-fPIC -DPIC' -lt_cv_prog_compiler_pic_works=yes -lt_cv_prog_compiler_rtti_exceptions=no -lt_cv_prog_compiler_static_works=yes -lt_cv_prog_gnu_ld=yes -lt_cv_sharedlib_from_linklib_cmd='printf %s\n' -lt_cv_shlibpath_overrides_runpath=no -lt_cv_sys_global_symbol_pipe='sed -n -e '\''s/^.*[ ]\([ABCDGIRSTW][ABCDGIRSTW]*\)[ ][ ]*\([_A-Za-z][_A-Za-z0-9]*\)$/\1 \2 \2/p'\'' | sed '\''/ __gnu_lto/d'\''' -lt_cv_sys_global_symbol_to_c_name_address='sed -n -e '\''s/^: \([^ ]*\)[ ]*$/ {\"\1\", (void *) 0},/p'\'' -e '\''s/^[ABCDGIRSTW]* \([^ ]*\) \([^ ]*\)$/ {"\2", (void *) \&\2},/p'\''' -lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='sed -n -e '\''s/^: \([^ ]*\)[ ]*$/ {\"\1\", (void *) 0},/p'\'' -e '\''s/^[ABCDGIRSTW]* \([^ ]*\) \(lib[^ ]*\)$/ {"\2", (void *) \&\2},/p'\'' -e '\''s/^[ABCDGIRSTW]* \([^ ]*\) \([^ ]*\)$/ {"lib\2", (void *) \&\2},/p'\''' -lt_cv_sys_global_symbol_to_cdecl='sed -n -e '\''s/^T .* \(.*\)$/extern int \1();/p'\'' -e '\''s/^[ABCDGIRSTW]* .* \(.*\)$/extern char \1;/p'\''' -lt_cv_sys_max_cmd_len=1572864 -lt_cv_to_host_file_cmd=func_convert_file_noop -lt_cv_to_tool_file_cmd=func_convert_file_noop -pkg_cv_DBUS_CFLAGS='-I/usr/include/dbus-1.0 -I/usr/lib/arm-linux-gnueabihf/dbus-1.0/include ' -pkg_cv_DBUS_LIBS='-ldbus-1 ' -pkg_cv_GLIB_CFLAGS='-I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include ' -pkg_cv_GLIB_LIBS='-lglib-2.0 ' -pkg_cv_ICAL_CFLAGS= -pkg_cv_ICAL_LIBS='-lical -licalss -licalvcal -lpthread ' -pkg_cv_UDEV_CFLAGS= -pkg_cv_UDEV_LIBS='-ludev ' -pkg_cv_USB_CFLAGS= -pkg_cv_USB_LIBS='-lusb ' - -## ----------------- ## -## Output variables. ## -## ----------------- ## - -ACLOCAL='${SHELL} /home/pi/20_GRIB_ICBMS_2ND/libs/ble_extend/missing --run aclocal-1.11' -AMDEPBACKSLASH='\' -AMDEP_FALSE='#' -AMDEP_TRUE='' -AMTAR='$${TAR-tar}' -AM_BACKSLASH='\' -AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' -AM_DEFAULT_VERBOSITY='0' -AM_V='$(V)' -AR='ar' -AUTOCONF='${SHELL} /home/pi/20_GRIB_ICBMS_2ND/libs/ble_extend/missing --run autoconf' -AUTOHEADER='${SHELL} /home/pi/20_GRIB_ICBMS_2ND/libs/ble_extend/missing --run autoheader' -AUTOMAKE='${SHELL} /home/pi/20_GRIB_ICBMS_2ND/libs/ble_extend/missing --run automake-1.11' -AWK='mawk' -CC='gcc' -CCDEPMODE='depmode=gcc3' -CFLAGS='-g -O2' -CLIENT_FALSE='#' -CLIENT_TRUE='' -CPP='gcc -E' -CPPFLAGS='' -CUPS_FALSE='#' -CUPS_TRUE='' -CYGPATH_W='echo' -DATAFILES_FALSE='#' -DATAFILES_TRUE='' -DBUS_CFLAGS='-I/usr/include/dbus-1.0 -I/usr/lib/arm-linux-gnueabihf/dbus-1.0/include ' -DBUS_CONFDIR='/etc' -DBUS_LIBS='-ldbus-1 ' -DBUS_SESSIONBUSDIR='/usr/share/dbus-1/services' -DBUS_SYSTEMBUSDIR='/usr/share/dbus-1/system-services' -DEFS='-DHAVE_CONFIG_H' -DEPDIR='.deps' -DLLTOOL='false' -DSYMUTIL='' -DUMPBIN='' -ECHO_C='' -ECHO_N='-n' -ECHO_T='' -EGREP='/bin/grep -E' -EXEEXT='' -EXPERIMENTAL_FALSE='' -EXPERIMENTAL_TRUE='#' -FGREP='/bin/grep -F' -GLIB_CFLAGS='-I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include ' -GLIB_LIBS='-lglib-2.0 ' -GREP='/bin/grep' -GTHREAD_CFLAGS='' -GTHREAD_LIBS='' -HID2HCI_FALSE='#' -HID2HCI_TRUE='' -ICAL_CFLAGS='' -ICAL_LIBS='-lical -licalss -licalvcal -lpthread ' -INSTALL_DATA='${INSTALL} -m 644' -INSTALL_PROGRAM='${INSTALL}' -INSTALL_SCRIPT='${INSTALL}' -INSTALL_STRIP_PROGRAM='$(install_sh) -c -s' -LD='/usr/bin/ld' -LDFLAGS='' -LIBOBJS='' -LIBRARY_FALSE='' -LIBRARY_TRUE='#' -LIBS='' -LIBTOOL='$(SHELL) $(top_builddir)/libtool' -LIPO='' -LN_S='ln -s' -LTLIBOBJS='' -MAINT='#' -MAINTAINER_MODE_FALSE='' -MAINTAINER_MODE_TRUE='#' -MAKEINFO='${SHELL} /home/pi/20_GRIB_ICBMS_2ND/libs/ble_extend/missing --run makeinfo' -MANIFEST_TOOL=':' -MISC_CFLAGS='' -MISC_LDFLAGS='' -MKDIR_P='/bin/mkdir -p' -MONITOR_FALSE='#' -MONITOR_TRUE='' -NM='/usr/bin/nm -B' -NMEDIT='' -OBEX_FALSE='#' -OBEX_TRUE='' -OBJDUMP='objdump' -OBJEXT='o' -OTOOL64='' -OTOOL='' -PACKAGE='bluez' -PACKAGE_BUGREPORT='' -PACKAGE_NAME='bluez' -PACKAGE_STRING='bluez 5.4' -PACKAGE_TARNAME='bluez' -PACKAGE_URL='' -PACKAGE_VERSION='5.4' -PATH_SEPARATOR=':' -PKG_CONFIG='/usr/bin/pkg-config' -PKG_CONFIG_LIBDIR='' -PKG_CONFIG_PATH='' -RANLIB='ranlib' -READLINE_FALSE='#' -READLINE_TRUE='' -SED='/bin/sed' -SET_MAKE='' -SHELL='/bin/bash' -STRIP='strip' -SYSTEMD_FALSE='' -SYSTEMD_SYSTEMUNITDIR='' -SYSTEMD_TRUE='#' -SYSTEMD_USERUNITDIR='' -TEST_FALSE='' -TEST_TRUE='#' -TOOLS_FALSE='#' -TOOLS_TRUE='' -UDEV_CFLAGS='' -UDEV_DIR='/lib/udev' -UDEV_FALSE='#' -UDEV_LIBS='-ludev ' -UDEV_TRUE='' -USB_CFLAGS='' -USB_FALSE='#' -USB_LIBS='-lusb ' -USB_TRUE='' -VERSION='5.4' -WARNING_CFLAGS='' -ac_ct_AR='ar' -ac_ct_CC='gcc' -ac_ct_DUMPBIN='' -am__EXEEXT_FALSE='' -am__EXEEXT_TRUE='#' -am__fastdepCC_FALSE='#' -am__fastdepCC_TRUE='' -am__include='include' -am__isrc='' -am__leading_dot='.' -am__nodep='_no' -am__quote='' -am__tar='tar --format=posix -chf - "$$tardir"' -am__untar='tar -xf -' -bindir='${exec_prefix}/bin' -build='armv7l-unknown-linux-gnueabihf' -build_alias='' -build_cpu='armv7l' -build_os='linux-gnueabihf' -build_vendor='unknown' -datadir='${datarootdir}' -datarootdir='${prefix}/share' -docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' -dvidir='${docdir}' -exec_prefix='${prefix}' -host='armv7l-unknown-linux-gnueabihf' -host_alias='' -host_cpu='armv7l' -host_os='linux-gnueabihf' -host_vendor='unknown' -htmldir='${docdir}' -includedir='${prefix}/include' -infodir='${datarootdir}/info' -install_sh='${SHELL} /home/pi/20_GRIB_ICBMS_2ND/libs/ble_extend/install-sh' -libdir='${exec_prefix}/lib' -libexecdir='${exec_prefix}/libexec' -localedir='${datarootdir}/locale' -localstatedir='/var' -mandir='${datarootdir}/man' -mkdir_p='/bin/mkdir -p' -oldincludedir='/usr/include' -pdfdir='${docdir}' -prefix='/usr/local' -program_transform_name='s,x,x,' -psdir='${docdir}' -sbindir='${exec_prefix}/sbin' -sharedstatedir='${prefix}/com' -sysconfdir='${prefix}/etc' -target_alias='' - -## ----------- ## -## confdefs.h. ## -## ----------- ## - -/* confdefs.h */ -#define PACKAGE_NAME "bluez" -#define PACKAGE_TARNAME "bluez" -#define PACKAGE_VERSION "5.4" -#define PACKAGE_STRING "bluez 5.4" -#define PACKAGE_BUGREPORT "" -#define PACKAGE_URL "" -#define PACKAGE "bluez" -#define VERSION "5.4" -#define STDC_HEADERS 1 -#define HAVE_SYS_TYPES_H 1 -#define HAVE_SYS_STAT_H 1 -#define HAVE_STDLIB_H 1 -#define HAVE_STRING_H 1 -#define HAVE_MEMORY_H 1 -#define HAVE_STRINGS_H 1 -#define HAVE_INTTYPES_H 1 -#define HAVE_STDINT_H 1 -#define HAVE_UNISTD_H 1 -#define __EXTENSIONS__ 1 -#define _ALL_SOURCE 1 -#define _GNU_SOURCE 1 -#define _POSIX_PTHREAD_SEMANTICS 1 -#define _TANDEM_SOURCE 1 -#define restrict __restrict -#define HAVE_DLFCN_H 1 -#define LT_OBJDIR ".libs/" -#define HAVE_LIBUSB 1 -#define HAVE_UDEV_HWDB_NEW 1 -#define HAVE_READLINE_READLINE_H 1 -#define STORAGEDIR "/var/lib/bluetooth" -#define CONFIGDIR "/usr/local/etc/bluetooth" - -configure: exit 0 diff --git a/GRIB_BLE_HUB/libs/ble_extend/config.status b/GRIB_BLE_HUB/libs/ble_extend/config.status deleted file mode 100644 index fdea03a..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/config.status +++ /dev/null @@ -1,2114 +0,0 @@ -#! /bin/bash -# Generated by configure. -# Run this file to recreate the current configuration. -# Compiler output produced by configure, useful for debugging -# configure, is in config.log if it exists. - -debug=false -ac_cs_recheck=false -ac_cs_silent=false - -SHELL=${CONFIG_SHELL-/bin/bash} -export SHELL -## -------------------- ## -## M4sh Initialization. ## -## -------------------- ## - -# Be more Bourne compatible -DUALCASE=1; export DUALCASE # for MKS sh -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : - emulate sh - NULLCMD=: - # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which - # is contrary to our usage. Disable this feature. - alias -g '${1+"$@"}'='"$@"' - setopt NO_GLOB_SUBST -else - case `(set -o) 2>/dev/null` in #( - *posix*) : - set -o posix ;; #( - *) : - ;; -esac -fi - - -as_nl=' -' -export as_nl -# Printing a long string crashes Solaris 7 /usr/bin/printf. -as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' -as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo -as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo -# Prefer a ksh shell builtin over an external printf program on Solaris, -# but without wasting forks for bash or zsh. -if test -z "$BASH_VERSION$ZSH_VERSION" \ - && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then - as_echo='print -r --' - as_echo_n='print -rn --' -elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then - as_echo='printf %s\n' - as_echo_n='printf %s' -else - if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then - as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' - as_echo_n='/usr/ucb/echo -n' - else - as_echo_body='eval expr "X$1" : "X\\(.*\\)"' - as_echo_n_body='eval - arg=$1; - case $arg in #( - *"$as_nl"*) - expr "X$arg" : "X\\(.*\\)$as_nl"; - arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; - esac; - expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" - ' - export as_echo_n_body - as_echo_n='sh -c $as_echo_n_body as_echo' - fi - export as_echo_body - as_echo='sh -c $as_echo_body as_echo' -fi - -# The user is always right. -if test "${PATH_SEPARATOR+set}" != set; then - PATH_SEPARATOR=: - (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { - (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || - PATH_SEPARATOR=';' - } -fi - - -# IFS -# We need space, tab and new line, in precisely that order. Quoting is -# there to prevent editors from complaining about space-tab. -# (If _AS_PATH_WALK were called with IFS unset, it would disable word -# splitting by setting IFS to empty value.) -IFS=" "" $as_nl" - -# Find who we are. Look in the path if we contain no directory separator. -as_myself= -case $0 in #(( - *[\\/]* ) as_myself=$0 ;; - *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break - done -IFS=$as_save_IFS - - ;; -esac -# We did not find ourselves, most probably we were run as `sh COMMAND' -# in which case we are not to be found in the path. -if test "x$as_myself" = x; then - as_myself=$0 -fi -if test ! -f "$as_myself"; then - $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 - exit 1 -fi - -# Unset variables that we do not need and which cause bugs (e.g. in -# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" -# suppresses any "Segmentation fault" message there. '((' could -# trigger a bug in pdksh 5.2.14. -for as_var in BASH_ENV ENV MAIL MAILPATH -do eval test x\${$as_var+set} = xset \ - && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : -done -PS1='$ ' -PS2='> ' -PS4='+ ' - -# NLS nuisances. -LC_ALL=C -export LC_ALL -LANGUAGE=C -export LANGUAGE - -# CDPATH. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH - - -# as_fn_error STATUS ERROR [LINENO LOG_FD] -# ---------------------------------------- -# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are -# provided, also output the error to LOG_FD, referencing LINENO. Then exit the -# script with STATUS, using 1 if that was 0. -as_fn_error () -{ - as_status=$1; test $as_status -eq 0 && as_status=1 - if test "$4"; then - as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 - fi - $as_echo "$as_me: error: $2" >&2 - as_fn_exit $as_status -} # as_fn_error - - -# as_fn_set_status STATUS -# ----------------------- -# Set $? to STATUS, without forking. -as_fn_set_status () -{ - return $1 -} # as_fn_set_status - -# as_fn_exit STATUS -# ----------------- -# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. -as_fn_exit () -{ - set +e - as_fn_set_status $1 - exit $1 -} # as_fn_exit - -# as_fn_unset VAR -# --------------- -# Portably unset VAR. -as_fn_unset () -{ - { eval $1=; unset $1;} -} -as_unset=as_fn_unset -# as_fn_append VAR VALUE -# ---------------------- -# Append the text in VALUE to the end of the definition contained in VAR. Take -# advantage of any shell optimizations that allow amortized linear growth over -# repeated appends, instead of the typical quadratic growth present in naive -# implementations. -if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : - eval 'as_fn_append () - { - eval $1+=\$2 - }' -else - as_fn_append () - { - eval $1=\$$1\$2 - } -fi # as_fn_append - -# as_fn_arith ARG... -# ------------------ -# Perform arithmetic evaluation on the ARGs, and store the result in the -# global $as_val. Take advantage of shells that can avoid forks. The arguments -# must be portable across $(()) and expr. -if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : - eval 'as_fn_arith () - { - as_val=$(( $* )) - }' -else - as_fn_arith () - { - as_val=`expr "$@" || test $? -eq 1` - } -fi # as_fn_arith - - -if expr a : '\(a\)' >/dev/null 2>&1 && - test "X`expr 00001 : '.*\(...\)'`" = X001; then - as_expr=expr -else - as_expr=false -fi - -if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then - as_basename=basename -else - as_basename=false -fi - -if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then - as_dirname=dirname -else - as_dirname=false -fi - -as_me=`$as_basename -- "$0" || -$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ - X"$0" : 'X\(//\)$' \| \ - X"$0" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X/"$0" | - sed '/^.*\/\([^/][^/]*\)\/*$/{ - s//\1/ - q - } - /^X\/\(\/\/\)$/{ - s//\1/ - q - } - /^X\/\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - -# Avoid depending upon Character Ranges. -as_cr_letters='abcdefghijklmnopqrstuvwxyz' -as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' -as_cr_Letters=$as_cr_letters$as_cr_LETTERS -as_cr_digits='0123456789' -as_cr_alnum=$as_cr_Letters$as_cr_digits - -ECHO_C= ECHO_N= ECHO_T= -case `echo -n x` in #((((( --n*) - case `echo 'xy\c'` in - *c*) ECHO_T=' ';; # ECHO_T is single tab character. - xy) ECHO_C='\c';; - *) echo `echo ksh88 bug on AIX 6.1` > /dev/null - ECHO_T=' ';; - esac;; -*) - ECHO_N='-n';; -esac - -rm -f conf$$ conf$$.exe conf$$.file -if test -d conf$$.dir; then - rm -f conf$$.dir/conf$$.file -else - rm -f conf$$.dir - mkdir conf$$.dir 2>/dev/null -fi -if (echo >conf$$.file) 2>/dev/null; then - if ln -s conf$$.file conf$$ 2>/dev/null; then - as_ln_s='ln -s' - # ... but there are two gotchas: - # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. - # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. - # In both cases, we have to default to `cp -pR'. - ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || - as_ln_s='cp -pR' - elif ln conf$$.file conf$$ 2>/dev/null; then - as_ln_s=ln - else - as_ln_s='cp -pR' - fi -else - as_ln_s='cp -pR' -fi -rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file -rmdir conf$$.dir 2>/dev/null - - -# as_fn_mkdir_p -# ------------- -# Create "$as_dir" as a directory, including parents if necessary. -as_fn_mkdir_p () -{ - - case $as_dir in #( - -*) as_dir=./$as_dir;; - esac - test -d "$as_dir" || eval $as_mkdir_p || { - as_dirs= - while :; do - case $as_dir in #( - *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( - *) as_qdir=$as_dir;; - esac - as_dirs="'$as_qdir' $as_dirs" - as_dir=`$as_dirname -- "$as_dir" || -$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$as_dir" : 'X\(//\)[^/]' \| \ - X"$as_dir" : 'X\(//\)$' \| \ - X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$as_dir" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - test -d "$as_dir" && break - done - test -z "$as_dirs" || eval "mkdir $as_dirs" - } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" - - -} # as_fn_mkdir_p -if mkdir -p . 2>/dev/null; then - as_mkdir_p='mkdir -p "$as_dir"' -else - test -d ./-p && rmdir ./-p - as_mkdir_p=false -fi - - -# as_fn_executable_p FILE -# ----------------------- -# Test if FILE is an executable regular file. -as_fn_executable_p () -{ - test -f "$1" && test -x "$1" -} # as_fn_executable_p -as_test_x='test -x' -as_executable_p=as_fn_executable_p - -# Sed expression to map a string onto a valid CPP name. -as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" - -# Sed expression to map a string onto a valid variable name. -as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" - - -exec 6>&1 -## ----------------------------------- ## -## Main body of $CONFIG_STATUS script. ## -## ----------------------------------- ## -# Save the log message, to keep $0 and so on meaningful, and to -# report actual input values of CONFIG_FILES etc. instead of their -# values after options handling. -ac_log=" -This file was extended by bluez $as_me 5.4, which was -generated by GNU Autoconf 2.69. Invocation command line was - - CONFIG_FILES = $CONFIG_FILES - CONFIG_HEADERS = $CONFIG_HEADERS - CONFIG_LINKS = $CONFIG_LINKS - CONFIG_COMMANDS = $CONFIG_COMMANDS - $ $0 $@ - -on `(hostname || uname -n) 2>/dev/null | sed 1q` -" - -# Files that config.status was made for. -config_files=" Makefile src/bluetoothd.8 lib/bluez.pc" -config_headers=" config.h" -config_commands=" depfiles libtool" - -ac_cs_usage="\ -\`$as_me' instantiates files and other configuration actions -from templates according to the current configuration. Unless the files -and actions are specified as TAGs, all are instantiated by default. - -Usage: $0 [OPTION]... [TAG]... - - -h, --help print this help, then exit - -V, --version print version number and configuration settings, then exit - --config print configuration, then exit - -q, --quiet, --silent - do not print progress messages - -d, --debug don't remove temporary files - --recheck update $as_me by reconfiguring in the same conditions - --file=FILE[:TEMPLATE] - instantiate the configuration file FILE - --header=FILE[:TEMPLATE] - instantiate the configuration header FILE - -Configuration files: -$config_files - -Configuration headers: -$config_headers - -Configuration commands: -$config_commands - -Report bugs to the package provider." - -ac_cs_config="'--disable-systemd'" -ac_cs_version="\ -bluez config.status 5.4 -configured by ./configure, generated by GNU Autoconf 2.69, - with options \"$ac_cs_config\" - -Copyright (C) 2012 Free Software Foundation, Inc. -This config.status script is free software; the Free Software Foundation -gives unlimited permission to copy, distribute and modify it." - -ac_pwd='/home/pi/20_GRIB_ICBMS_2ND/libs/ble_extend' -srcdir='.' -INSTALL='/usr/bin/install -c' -MKDIR_P='/bin/mkdir -p' -AWK='mawk' -test -n "$AWK" || AWK=awk -# The default lists apply if the user does not specify any file. -ac_need_defaults=: -while test $# != 0 -do - case $1 in - --*=?*) - ac_option=`expr "X$1" : 'X\([^=]*\)='` - ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` - ac_shift=: - ;; - --*=) - ac_option=`expr "X$1" : 'X\([^=]*\)='` - ac_optarg= - ac_shift=: - ;; - *) - ac_option=$1 - ac_optarg=$2 - ac_shift=shift - ;; - esac - - case $ac_option in - # Handling of the options. - -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) - ac_cs_recheck=: ;; - --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) - $as_echo "$ac_cs_version"; exit ;; - --config | --confi | --conf | --con | --co | --c ) - $as_echo "$ac_cs_config"; exit ;; - --debug | --debu | --deb | --de | --d | -d ) - debug=: ;; - --file | --fil | --fi | --f ) - $ac_shift - case $ac_optarg in - *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; - '') as_fn_error $? "missing file argument" ;; - esac - as_fn_append CONFIG_FILES " '$ac_optarg'" - ac_need_defaults=false;; - --header | --heade | --head | --hea ) - $ac_shift - case $ac_optarg in - *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; - esac - as_fn_append CONFIG_HEADERS " '$ac_optarg'" - ac_need_defaults=false;; - --he | --h) - # Conflict between --help and --header - as_fn_error $? "ambiguous option: \`$1' -Try \`$0 --help' for more information.";; - --help | --hel | -h ) - $as_echo "$ac_cs_usage"; exit ;; - -q | -quiet | --quiet | --quie | --qui | --qu | --q \ - | -silent | --silent | --silen | --sile | --sil | --si | --s) - ac_cs_silent=: ;; - - # This is an error. - -*) as_fn_error $? "unrecognized option: \`$1' -Try \`$0 --help' for more information." ;; - - *) as_fn_append ac_config_targets " $1" - ac_need_defaults=false ;; - - esac - shift -done - -ac_configure_extra_args= - -if $ac_cs_silent; then - exec 6>/dev/null - ac_configure_extra_args="$ac_configure_extra_args --silent" -fi - -if $ac_cs_recheck; then - set X /bin/bash './configure' '--disable-systemd' $ac_configure_extra_args --no-create --no-recursion - shift - $as_echo "running CONFIG_SHELL=/bin/bash $*" >&6 - CONFIG_SHELL='/bin/bash' - export CONFIG_SHELL - exec "$@" -fi - -exec 5>>config.log -{ - echo - sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX -## Running $as_me. ## -_ASBOX - $as_echo "$ac_log" -} >&5 - -# -# INIT-COMMANDS -# -AMDEP_TRUE="" ac_aux_dir="." - - -# The HP-UX ksh and POSIX shell print the target directory to stdout -# if CDPATH is set. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH - -sed_quote_subst='s/\(["`$\\]\)/\\\1/g' -double_quote_subst='s/\(["`\\]\)/\\\1/g' -delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' -enable_static='no' -macro_version='2.4.2' -macro_revision='1.3337' -enable_shared='yes' -pic_mode='default' -enable_fast_install='yes' -SHELL='/bin/bash' -ECHO='printf %s\n' -PATH_SEPARATOR=':' -host_alias='' -host='armv7l-unknown-linux-gnueabihf' -host_os='linux-gnueabihf' -build_alias='' -build='armv7l-unknown-linux-gnueabihf' -build_os='linux-gnueabihf' -SED='/bin/sed' -Xsed='/bin/sed -e 1s/^X//' -GREP='/bin/grep' -EGREP='/bin/grep -E' -FGREP='/bin/grep -F' -LD='/usr/bin/ld' -NM='/usr/bin/nm -B' -LN_S='ln -s' -max_cmd_len='1572864' -ac_objext='o' -exeext='' -lt_unset='unset' -lt_SP2NL='tr \040 \012' -lt_NL2SP='tr \015\012 \040\040' -lt_cv_to_host_file_cmd='func_convert_file_noop' -lt_cv_to_tool_file_cmd='func_convert_file_noop' -reload_flag=' -r' -reload_cmds='$LD$reload_flag -o $output$reload_objs' -OBJDUMP='objdump' -deplibs_check_method='pass_all' -file_magic_cmd='$MAGIC_CMD' -file_magic_glob='' -want_nocaseglob='no' -DLLTOOL='false' -sharedlib_from_linklib_cmd='printf %s\n' -AR='ar' -AR_FLAGS='cru' -archiver_list_spec='@' -STRIP='strip' -RANLIB='ranlib' -old_postinstall_cmds='chmod 644 $oldlib~$RANLIB $tool_oldlib' -old_postuninstall_cmds='' -old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs~$RANLIB $tool_oldlib' -lock_old_archive_extraction='no' -CC='gcc' -CFLAGS='-g -O2' -compiler='gcc' -GCC='yes' -lt_cv_sys_global_symbol_pipe='sed -n -e '\''s/^.*[ ]\([ABCDGIRSTW][ABCDGIRSTW]*\)[ ][ ]*\([_A-Za-z][_A-Za-z0-9]*\)$/\1 \2 \2/p'\'' | sed '\''/ __gnu_lto/d'\''' -lt_cv_sys_global_symbol_to_cdecl='sed -n -e '\''s/^T .* \(.*\)$/extern int \1();/p'\'' -e '\''s/^[ABCDGIRSTW]* .* \(.*\)$/extern char \1;/p'\''' -lt_cv_sys_global_symbol_to_c_name_address='sed -n -e '\''s/^: \([^ ]*\)[ ]*$/ {\"\1\", (void *) 0},/p'\'' -e '\''s/^[ABCDGIRSTW]* \([^ ]*\) \([^ ]*\)$/ {"\2", (void *) \&\2},/p'\''' -lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='sed -n -e '\''s/^: \([^ ]*\)[ ]*$/ {\"\1\", (void *) 0},/p'\'' -e '\''s/^[ABCDGIRSTW]* \([^ ]*\) \(lib[^ ]*\)$/ {"\2", (void *) \&\2},/p'\'' -e '\''s/^[ABCDGIRSTW]* \([^ ]*\) \([^ ]*\)$/ {"lib\2", (void *) \&\2},/p'\''' -nm_file_list_spec='@' -lt_sysroot='' -objdir='.libs' -MAGIC_CMD='file' -lt_prog_compiler_no_builtin_flag=' -fno-builtin' -lt_prog_compiler_pic=' -fPIC -DPIC' -lt_prog_compiler_wl='-Wl,' -lt_prog_compiler_static='-static' -lt_cv_prog_compiler_c_o='yes' -need_locks='no' -MANIFEST_TOOL=':' -DSYMUTIL='' -NMEDIT='' -LIPO='' -OTOOL='' -OTOOL64='' -libext='a' -shrext_cmds='.so' -extract_expsyms_cmds='' -archive_cmds_need_lc='no' -enable_shared_with_static_runtimes='no' -export_dynamic_flag_spec='${wl}--export-dynamic' -whole_archive_flag_spec='${wl}--whole-archive$convenience ${wl}--no-whole-archive' -compiler_needs_object='no' -old_archive_from_new_cmds='' -old_archive_from_expsyms_cmds='' -archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' -archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - echo "local: *; };" >> $output_objdir/$libname.ver~ - $CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' -module_cmds='' -module_expsym_cmds='' -with_gnu_ld='yes' -allow_undefined_flag='' -no_undefined_flag='' -hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' -hardcode_libdir_separator='' -hardcode_direct='no' -hardcode_direct_absolute='no' -hardcode_minus_L='no' -hardcode_shlibpath_var='unsupported' -hardcode_automatic='no' -inherit_rpath='no' -link_all_deplibs='no' -always_export_symbols='no' -export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' -exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*' -include_expsyms='' -prelink_cmds='' -postlink_cmds='' -file_list_spec='' -variables_saved_for_relink='PATH LD_LIBRARY_PATH LD_RUN_PATH GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH' -need_lib_prefix='no' -need_version='no' -version_type='linux' -runpath_var='LD_RUN_PATH' -shlibpath_var='LD_LIBRARY_PATH' -shlibpath_overrides_runpath='no' -libname_spec='lib$name' -library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' -soname_spec='${libname}${release}${shared_ext}$major' -install_override_mode='' -postinstall_cmds='' -postuninstall_cmds='' -finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' -finish_eval='' -hardcode_into_libs='yes' -sys_lib_search_path_spec='/usr/lib/gcc/arm-linux-gnueabihf/4.9 /usr/lib/arm-linux-gnueabihf /usr/lib /lib/arm-linux-gnueabihf /lib ' -sys_lib_dlsearch_path_spec='/lib /usr/lib /opt/vc/lib /lib/arm-linux-gnueabihf /usr/lib/arm-linux-gnueabihf /usr/lib/arm-linux-gnueabihf/libfakeroot /usr/local/lib ' -hardcode_action='immediate' -enable_dlopen='unknown' -enable_dlopen_self='unknown' -enable_dlopen_self_static='unknown' -old_striplib='strip --strip-debug' -striplib='strip --strip-unneeded' - -LTCC='gcc' -LTCFLAGS='-g -O2' -compiler='gcc' - -# A function that is used when there is no print builtin or printf. -func_fallback_echo () -{ - eval 'cat <<_LTECHO_EOF -$1 -_LTECHO_EOF' -} - -# Quote evaled strings. -for var in SHELL ECHO PATH_SEPARATOR SED GREP EGREP FGREP LD NM LN_S lt_SP2NL lt_NL2SP reload_flag OBJDUMP deplibs_check_method file_magic_cmd file_magic_glob want_nocaseglob DLLTOOL sharedlib_from_linklib_cmd AR AR_FLAGS archiver_list_spec STRIP RANLIB CC CFLAGS compiler lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl lt_cv_sys_global_symbol_to_c_name_address lt_cv_sys_global_symbol_to_c_name_address_lib_prefix nm_file_list_spec lt_prog_compiler_no_builtin_flag lt_prog_compiler_pic lt_prog_compiler_wl lt_prog_compiler_static lt_cv_prog_compiler_c_o need_locks MANIFEST_TOOL DSYMUTIL NMEDIT LIPO OTOOL OTOOL64 shrext_cmds export_dynamic_flag_spec whole_archive_flag_spec compiler_needs_object with_gnu_ld allow_undefined_flag no_undefined_flag hardcode_libdir_flag_spec hardcode_libdir_separator exclude_expsyms include_expsyms file_list_spec variables_saved_for_relink libname_spec library_names_spec soname_spec install_override_mode finish_eval old_striplib striplib; do - case `eval \\$ECHO \\""\\$$var"\\"` in - *[\\\`\"\$]*) - eval "lt_$var=\\\"\`\$ECHO \"\$$var\" | \$SED \"\$sed_quote_subst\"\`\\\"" - ;; - *) - eval "lt_$var=\\\"\$$var\\\"" - ;; - esac -done - -# Double-quote double-evaled strings. -for var in reload_cmds old_postinstall_cmds old_postuninstall_cmds old_archive_cmds extract_expsyms_cmds old_archive_from_new_cmds old_archive_from_expsyms_cmds archive_cmds archive_expsym_cmds module_cmds module_expsym_cmds export_symbols_cmds prelink_cmds postlink_cmds postinstall_cmds postuninstall_cmds finish_cmds sys_lib_search_path_spec sys_lib_dlsearch_path_spec; do - case `eval \\$ECHO \\""\\$$var"\\"` in - *[\\\`\"\$]*) - eval "lt_$var=\\\"\`\$ECHO \"\$$var\" | \$SED -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" - ;; - *) - eval "lt_$var=\\\"\$$var\\\"" - ;; - esac -done - -ac_aux_dir='.' -xsi_shell='yes' -lt_shell_append='yes' - -# See if we are running on zsh, and set the options which allow our -# commands through without removal of \ escapes INIT. -if test -n "${ZSH_VERSION+set}" ; then - setopt NO_GLOB_SUBST -fi - - - PACKAGE='bluez' - VERSION='5.4' - TIMESTAMP='' - RM='rm -f' - ofile='libtool' - - - - - -# Handling of arguments. -for ac_config_target in $ac_config_targets -do - case $ac_config_target in - "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;; - "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; - "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;; - "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; - "src/bluetoothd.8") CONFIG_FILES="$CONFIG_FILES src/bluetoothd.8" ;; - "lib/bluez.pc") CONFIG_FILES="$CONFIG_FILES lib/bluez.pc" ;; - - *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;; - esac -done - - -# If the user did not use the arguments to specify the items to instantiate, -# then the envvar interface is used. Set only those that are not. -# We use the long form for the default assignment because of an extremely -# bizarre bug on SunOS 4.1.3. -if $ac_need_defaults; then - test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files - test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers - test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands -fi - -# Have a temporary directory for convenience. Make it in the build tree -# simply because there is no reason against having it here, and in addition, -# creating and moving files from /tmp can sometimes cause problems. -# Hook for its removal unless debugging. -# Note that there is a small window in which the directory will not be cleaned: -# after its creation but before its name has been assigned to `$tmp'. -$debug || -{ - tmp= ac_tmp= - trap 'exit_status=$? - : "${ac_tmp:=$tmp}" - { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status -' 0 - trap 'as_fn_exit 1' 1 2 13 15 -} -# Create a (secure) tmp directory for tmp files. - -{ - tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && - test -d "$tmp" -} || -{ - tmp=./conf$$-$RANDOM - (umask 077 && mkdir "$tmp") -} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5 -ac_tmp=$tmp - -# Set up the scripts for CONFIG_FILES section. -# No need to generate them if there are no CONFIG_FILES. -# This happens for instance with `./config.status config.h'. -if test -n "$CONFIG_FILES"; then - - -ac_cr=`echo X | tr X '\015'` -# On cygwin, bash can eat \r inside `` if the user requested igncr. -# But we know of no other shell where ac_cr would be empty at this -# point, so we can use a bashism as a fallback. -if test "x$ac_cr" = x; then - eval ac_cr=\$\'\\r\' -fi -ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' /dev/null` -if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then - ac_cs_awk_cr='\\r' -else - ac_cs_awk_cr=$ac_cr -fi - -echo 'BEGIN {' >"$ac_tmp/subs1.awk" && -cat >>"$ac_tmp/subs1.awk" <<\_ACAWK && -S["am__EXEEXT_FALSE"]="" -S["am__EXEEXT_TRUE"]="#" -S["LTLIBOBJS"]="" -S["LIBOBJS"]="" -S["EXPERIMENTAL_FALSE"]="" -S["EXPERIMENTAL_TRUE"]="#" -S["DATAFILES_FALSE"]="#" -S["DATAFILES_TRUE"]="" -S["SYSTEMD_USERUNITDIR"]="" -S["SYSTEMD_SYSTEMUNITDIR"]="" -S["SYSTEMD_FALSE"]="" -S["SYSTEMD_TRUE"]="#" -S["READLINE_FALSE"]="#" -S["READLINE_TRUE"]="" -S["CLIENT_FALSE"]="#" -S["CLIENT_TRUE"]="" -S["OBEX_FALSE"]="#" -S["OBEX_TRUE"]="" -S["ICAL_LIBS"]="-lical -licalss -licalvcal -lpthread " -S["ICAL_CFLAGS"]="" -S["CUPS_FALSE"]="#" -S["CUPS_TRUE"]="" -S["HID2HCI_FALSE"]="#" -S["HID2HCI_TRUE"]="" -S["UDEV_DIR"]="/lib/udev" -S["UDEV_FALSE"]="#" -S["UDEV_TRUE"]="" -S["UDEV_LIBS"]="-ludev " -S["UDEV_CFLAGS"]="" -S["USB_FALSE"]="#" -S["USB_TRUE"]="" -S["USB_LIBS"]="-lusb " -S["USB_CFLAGS"]="" -S["MONITOR_FALSE"]="#" -S["MONITOR_TRUE"]="" -S["TOOLS_FALSE"]="#" -S["TOOLS_TRUE"]="" -S["TEST_FALSE"]="" -S["TEST_TRUE"]="#" -S["LIBRARY_FALSE"]="" -S["LIBRARY_TRUE"]="#" -S["DBUS_SESSIONBUSDIR"]="/usr/share/dbus-1/services" -S["DBUS_SYSTEMBUSDIR"]="/usr/share/dbus-1/system-services" -S["DBUS_CONFDIR"]="/etc" -S["DBUS_LIBS"]="-ldbus-1 " -S["DBUS_CFLAGS"]="-I/usr/include/dbus-1.0 -I/usr/lib/arm-linux-gnueabihf/dbus-1.0/include " -S["GTHREAD_LIBS"]="" -S["GTHREAD_CFLAGS"]="" -S["GLIB_LIBS"]="-lglib-2.0 " -S["GLIB_CFLAGS"]="-I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include " -S["MISC_LDFLAGS"]="" -S["MISC_CFLAGS"]="" -S["OTOOL64"]="" -S["OTOOL"]="" -S["LIPO"]="" -S["NMEDIT"]="" -S["DSYMUTIL"]="" -S["MANIFEST_TOOL"]=":" -S["RANLIB"]="ranlib" -S["ac_ct_AR"]="ar" -S["AR"]="ar" -S["DLLTOOL"]="false" -S["OBJDUMP"]="objdump" -S["LN_S"]="ln -s" -S["NM"]="/usr/bin/nm -B" -S["ac_ct_DUMPBIN"]="" -S["DUMPBIN"]="" -S["LD"]="/usr/bin/ld" -S["FGREP"]="/bin/grep -F" -S["SED"]="/bin/sed" -S["host_os"]="linux-gnueabihf" -S["host_vendor"]="unknown" -S["host_cpu"]="armv7l" -S["host"]="armv7l-unknown-linux-gnueabihf" -S["build_os"]="linux-gnueabihf" -S["build_vendor"]="unknown" -S["build_cpu"]="armv7l" -S["build"]="armv7l-unknown-linux-gnueabihf" -S["LIBTOOL"]="$(SHELL) $(top_builddir)/libtool" -S["WARNING_CFLAGS"]="" -S["PKG_CONFIG_LIBDIR"]="" -S["PKG_CONFIG_PATH"]="" -S["PKG_CONFIG"]="/usr/bin/pkg-config" -S["MAINT"]="#" -S["MAINTAINER_MODE_FALSE"]="" -S["MAINTAINER_MODE_TRUE"]="#" -S["EGREP"]="/bin/grep -E" -S["GREP"]="/bin/grep" -S["CPP"]="gcc -E" -S["am__fastdepCC_FALSE"]="#" -S["am__fastdepCC_TRUE"]="" -S["CCDEPMODE"]="depmode=gcc3" -S["am__nodep"]="_no" -S["AMDEPBACKSLASH"]="\\" -S["AMDEP_FALSE"]="#" -S["AMDEP_TRUE"]="" -S["am__quote"]="" -S["am__include"]="include" -S["DEPDIR"]=".deps" -S["OBJEXT"]="o" -S["EXEEXT"]="" -S["ac_ct_CC"]="gcc" -S["CPPFLAGS"]="" -S["LDFLAGS"]="" -S["CFLAGS"]="-g -O2" -S["CC"]="gcc" -S["AM_BACKSLASH"]="\\" -S["AM_DEFAULT_VERBOSITY"]="0" -S["AM_DEFAULT_V"]="$(AM_DEFAULT_VERBOSITY)" -S["AM_V"]="$(V)" -S["am__untar"]="tar -xf -" -S["am__tar"]="tar --format=posix -chf - \"$$tardir\"" -S["AMTAR"]="$${TAR-tar}" -S["am__leading_dot"]="." -S["SET_MAKE"]="" -S["AWK"]="mawk" -S["mkdir_p"]="/bin/mkdir -p" -S["MKDIR_P"]="/bin/mkdir -p" -S["INSTALL_STRIP_PROGRAM"]="$(install_sh) -c -s" -S["STRIP"]="strip" -S["install_sh"]="${SHELL} /home/pi/20_GRIB_ICBMS_2ND/libs/ble_extend/install-sh" -S["MAKEINFO"]="${SHELL} /home/pi/20_GRIB_ICBMS_2ND/libs/ble_extend/missing --run makeinfo" -S["AUTOHEADER"]="${SHELL} /home/pi/20_GRIB_ICBMS_2ND/libs/ble_extend/missing --run autoheader" -S["AUTOMAKE"]="${SHELL} /home/pi/20_GRIB_ICBMS_2ND/libs/ble_extend/missing --run automake-1.11" -S["AUTOCONF"]="${SHELL} /home/pi/20_GRIB_ICBMS_2ND/libs/ble_extend/missing --run autoconf" -S["ACLOCAL"]="${SHELL} /home/pi/20_GRIB_ICBMS_2ND/libs/ble_extend/missing --run aclocal-1.11" -S["VERSION"]="5.4" -S["PACKAGE"]="bluez" -S["CYGPATH_W"]="echo" -S["am__isrc"]="" -S["INSTALL_DATA"]="${INSTALL} -m 644" -S["INSTALL_SCRIPT"]="${INSTALL}" -S["INSTALL_PROGRAM"]="${INSTALL}" -S["target_alias"]="" -S["host_alias"]="" -S["build_alias"]="" -S["LIBS"]="" -S["ECHO_T"]="" -S["ECHO_N"]="-n" -S["ECHO_C"]="" -S["DEFS"]="-DHAVE_CONFIG_H" -S["mandir"]="${datarootdir}/man" -S["localedir"]="${datarootdir}/locale" -S["libdir"]="${exec_prefix}/lib" -S["psdir"]="${docdir}" -S["pdfdir"]="${docdir}" -S["dvidir"]="${docdir}" -S["htmldir"]="${docdir}" -S["infodir"]="${datarootdir}/info" -S["docdir"]="${datarootdir}/doc/${PACKAGE_TARNAME}" -S["oldincludedir"]="/usr/include" -S["includedir"]="${prefix}/include" -S["localstatedir"]="/var" -S["sharedstatedir"]="${prefix}/com" -S["sysconfdir"]="${prefix}/etc" -S["datadir"]="${datarootdir}" -S["datarootdir"]="${prefix}/share" -S["libexecdir"]="${exec_prefix}/libexec" -S["sbindir"]="${exec_prefix}/sbin" -S["bindir"]="${exec_prefix}/bin" -S["program_transform_name"]="s,x,x," -S["prefix"]="/usr/local" -S["exec_prefix"]="${prefix}" -S["PACKAGE_URL"]="" -S["PACKAGE_BUGREPORT"]="" -S["PACKAGE_STRING"]="bluez 5.4" -S["PACKAGE_VERSION"]="5.4" -S["PACKAGE_TARNAME"]="bluez" -S["PACKAGE_NAME"]="bluez" -S["PATH_SEPARATOR"]=":" -S["SHELL"]="/bin/bash" -_ACAWK -cat >>"$ac_tmp/subs1.awk" <<_ACAWK && - for (key in S) S_is_set[key] = 1 - FS = "" - -} -{ - line = $ 0 - nfields = split(line, field, "@") - substed = 0 - len = length(field[1]) - for (i = 2; i < nfields; i++) { - key = field[i] - keylen = length(key) - if (S_is_set[key]) { - value = S[key] - line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3) - len += length(value) + length(field[++i]) - substed = 1 - } else - len += 1 + keylen - } - - print line -} - -_ACAWK -if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then - sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g" -else - cat -fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \ - || as_fn_error $? "could not setup config files machinery" "$LINENO" 5 -fi # test -n "$CONFIG_FILES" - -# Set up the scripts for CONFIG_HEADERS section. -# No need to generate them if there are no CONFIG_HEADERS. -# This happens for instance with `./config.status Makefile'. -if test -n "$CONFIG_HEADERS"; then -cat >"$ac_tmp/defines.awk" <<\_ACAWK || -BEGIN { -D["PACKAGE_NAME"]=" \"bluez\"" -D["PACKAGE_TARNAME"]=" \"bluez\"" -D["PACKAGE_VERSION"]=" \"5.4\"" -D["PACKAGE_STRING"]=" \"bluez 5.4\"" -D["PACKAGE_BUGREPORT"]=" \"\"" -D["PACKAGE_URL"]=" \"\"" -D["PACKAGE"]=" \"bluez\"" -D["VERSION"]=" \"5.4\"" -D["STDC_HEADERS"]=" 1" -D["HAVE_SYS_TYPES_H"]=" 1" -D["HAVE_SYS_STAT_H"]=" 1" -D["HAVE_STDLIB_H"]=" 1" -D["HAVE_STRING_H"]=" 1" -D["HAVE_MEMORY_H"]=" 1" -D["HAVE_STRINGS_H"]=" 1" -D["HAVE_INTTYPES_H"]=" 1" -D["HAVE_STDINT_H"]=" 1" -D["HAVE_UNISTD_H"]=" 1" -D["__EXTENSIONS__"]=" 1" -D["_ALL_SOURCE"]=" 1" -D["_GNU_SOURCE"]=" 1" -D["_POSIX_PTHREAD_SEMANTICS"]=" 1" -D["_TANDEM_SOURCE"]=" 1" -D["restrict"]=" __restrict" -D["HAVE_DLFCN_H"]=" 1" -D["LT_OBJDIR"]=" \".libs/\"" -D["HAVE_LIBUSB"]=" 1" -D["HAVE_UDEV_HWDB_NEW"]=" 1" -D["HAVE_READLINE_READLINE_H"]=" 1" -D["STORAGEDIR"]=" \"/var/lib/bluetooth\"" -D["CONFIGDIR"]=" \"/usr/local/etc/bluetooth\"" - for (key in D) D_is_set[key] = 1 - FS = "" -} -/^[\t ]*#[\t ]*(define|undef)[\t ]+[_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ][_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789]*([\t (]|$)/ { - line = $ 0 - split(line, arg, " ") - if (arg[1] == "#") { - defundef = arg[2] - mac1 = arg[3] - } else { - defundef = substr(arg[1], 2) - mac1 = arg[2] - } - split(mac1, mac2, "(") #) - macro = mac2[1] - prefix = substr(line, 1, index(line, defundef) - 1) - if (D_is_set[macro]) { - # Preserve the white space surrounding the "#". - print prefix "define", macro P[macro] D[macro] - next - } else { - # Replace #undef with comments. This is necessary, for example, - # in the case of _POSIX_SOURCE, which is predefined and required - # on some systems where configure will not decide to define it. - if (defundef == "undef") { - print "/*", prefix defundef, macro, "*/" - next - } - } -} -{ print } -_ACAWK - as_fn_error $? "could not setup config headers machinery" "$LINENO" 5 -fi # test -n "$CONFIG_HEADERS" - - -eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS" -shift -for ac_tag -do - case $ac_tag in - :[FHLC]) ac_mode=$ac_tag; continue;; - esac - case $ac_mode$ac_tag in - :[FHL]*:*);; - :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;; - :[FH]-) ac_tag=-:-;; - :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; - esac - ac_save_IFS=$IFS - IFS=: - set x $ac_tag - IFS=$ac_save_IFS - shift - ac_file=$1 - shift - - case $ac_mode in - :L) ac_source=$1;; - :[FH]) - ac_file_inputs= - for ac_f - do - case $ac_f in - -) ac_f="$ac_tmp/stdin";; - *) # Look for the file first in the build tree, then in the source tree - # (if the path is not absolute). The absolute path cannot be DOS-style, - # because $ac_f cannot contain `:'. - test -f "$ac_f" || - case $ac_f in - [\\/$]*) false;; - *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; - esac || - as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;; - esac - case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac - as_fn_append ac_file_inputs " '$ac_f'" - done - - # Let's still pretend it is `configure' which instantiates (i.e., don't - # use $as_me), people would be surprised to read: - # /* config.h. Generated by config.status. */ - configure_input='Generated from '` - $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' - `' by configure.' - if test x"$ac_file" != x-; then - configure_input="$ac_file. $configure_input" - { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 -$as_echo "$as_me: creating $ac_file" >&6;} - fi - # Neutralize special characters interpreted by sed in replacement strings. - case $configure_input in #( - *\&* | *\|* | *\\* ) - ac_sed_conf_input=`$as_echo "$configure_input" | - sed 's/[\\\\&|]/\\\\&/g'`;; #( - *) ac_sed_conf_input=$configure_input;; - esac - - case $ac_tag in - *:-:* | *:-) cat >"$ac_tmp/stdin" \ - || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; - esac - ;; - esac - - ac_dir=`$as_dirname -- "$ac_file" || -$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$ac_file" : 'X\(//\)[^/]' \| \ - X"$ac_file" : 'X\(//\)$' \| \ - X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$ac_file" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - as_dir="$ac_dir"; as_fn_mkdir_p - ac_builddir=. - -case "$ac_dir" in -.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; -*) - ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` - # A ".." for each directory in $ac_dir_suffix. - ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` - case $ac_top_builddir_sub in - "") ac_top_builddir_sub=. ac_top_build_prefix= ;; - *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; - esac ;; -esac -ac_abs_top_builddir=$ac_pwd -ac_abs_builddir=$ac_pwd$ac_dir_suffix -# for backward compatibility: -ac_top_builddir=$ac_top_build_prefix - -case $srcdir in - .) # We are building in place. - ac_srcdir=. - ac_top_srcdir=$ac_top_builddir_sub - ac_abs_top_srcdir=$ac_pwd ;; - [\\/]* | ?:[\\/]* ) # Absolute name. - ac_srcdir=$srcdir$ac_dir_suffix; - ac_top_srcdir=$srcdir - ac_abs_top_srcdir=$srcdir ;; - *) # Relative name. - ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix - ac_top_srcdir=$ac_top_build_prefix$srcdir - ac_abs_top_srcdir=$ac_pwd/$srcdir ;; -esac -ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix - - - case $ac_mode in - :F) - # - # CONFIG_FILE - # - - case $INSTALL in - [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; - *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; - esac - ac_MKDIR_P=$MKDIR_P - case $MKDIR_P in - [\\/$]* | ?:[\\/]* ) ;; - */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;; - esac -# If the template does not know about datarootdir, expand it. -# FIXME: This hack should be removed a few years after 2.60. -ac_datarootdir_hack=; ac_datarootdir_seen= -ac_sed_dataroot=' -/datarootdir/ { - p - q -} -/@datadir@/p -/@docdir@/p -/@infodir@/p -/@localedir@/p -/@mandir@/p' -case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in -*datarootdir*) ac_datarootdir_seen=yes;; -*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 -$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} - ac_datarootdir_hack=' - s&@datadir@&${datarootdir}&g - s&@docdir@&${datarootdir}/doc/${PACKAGE_TARNAME}&g - s&@infodir@&${datarootdir}/info&g - s&@localedir@&${datarootdir}/locale&g - s&@mandir@&${datarootdir}/man&g - s&\${datarootdir}&${prefix}/share&g' ;; -esac -ac_sed_extra="/^[ ]*VPATH[ ]*=[ ]*/{ -h -s/// -s/^/:/ -s/[ ]*$/:/ -s/:\$(srcdir):/:/g -s/:\${srcdir}:/:/g -s/:@srcdir@:/:/g -s/^:*// -s/:*$// -x -s/\(=[ ]*\).*/\1/ -G -s/\n// -s/^[^=]*=[ ]*$// -} - -:t -/@[a-zA-Z_][a-zA-Z_0-9]*@/!b -s|@configure_input@|$ac_sed_conf_input|;t t -s&@top_builddir@&$ac_top_builddir_sub&;t t -s&@top_build_prefix@&$ac_top_build_prefix&;t t -s&@srcdir@&$ac_srcdir&;t t -s&@abs_srcdir@&$ac_abs_srcdir&;t t -s&@top_srcdir@&$ac_top_srcdir&;t t -s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t -s&@builddir@&$ac_builddir&;t t -s&@abs_builddir@&$ac_abs_builddir&;t t -s&@abs_top_builddir@&$ac_abs_top_builddir&;t t -s&@INSTALL@&$ac_INSTALL&;t t -s&@MKDIR_P@&$ac_MKDIR_P&;t t -$ac_datarootdir_hack -" -eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \ - >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5 - -test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && - { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } && - { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \ - "$ac_tmp/out"`; test -z "$ac_out"; } && - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' -which seems to be undefined. Please make sure it is defined" >&5 -$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' -which seems to be undefined. Please make sure it is defined" >&2;} - - rm -f "$ac_tmp/stdin" - case $ac_file in - -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";; - *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";; - esac \ - || as_fn_error $? "could not create $ac_file" "$LINENO" 5 - ;; - :H) - # - # CONFIG_HEADER - # - if test x"$ac_file" != x-; then - { - $as_echo "/* $configure_input */" \ - && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" - } >"$ac_tmp/config.h" \ - || as_fn_error $? "could not create $ac_file" "$LINENO" 5 - if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then - { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5 -$as_echo "$as_me: $ac_file is unchanged" >&6;} - else - rm -f "$ac_file" - mv "$ac_tmp/config.h" "$ac_file" \ - || as_fn_error $? "could not create $ac_file" "$LINENO" 5 - fi - else - $as_echo "/* $configure_input */" \ - && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \ - || as_fn_error $? "could not create -" "$LINENO" 5 - fi -# Compute "$ac_file"'s index in $config_headers. -_am_arg="$ac_file" -_am_stamp_count=1 -for _am_header in $config_headers :; do - case $_am_header in - $_am_arg | $_am_arg:* ) - break ;; - * ) - _am_stamp_count=`expr $_am_stamp_count + 1` ;; - esac -done -echo "timestamp for $_am_arg" >`$as_dirname -- "$_am_arg" || -$as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$_am_arg" : 'X\(//\)[^/]' \| \ - X"$_am_arg" : 'X\(//\)$' \| \ - X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$_am_arg" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'`/stamp-h$_am_stamp_count - ;; - - :C) { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5 -$as_echo "$as_me: executing $ac_file commands" >&6;} - ;; - esac - - - case $ac_file$ac_mode in - "depfiles":C) test x"$AMDEP_TRUE" != x"" || { - # Autoconf 2.62 quotes --file arguments for eval, but not when files - # are listed without --file. Let's play safe and only enable the eval - # if we detect the quoting. - case $CONFIG_FILES in - *\'*) eval set x "$CONFIG_FILES" ;; - *) set x $CONFIG_FILES ;; - esac - shift - for mf - do - # Strip MF so we end up with the name of the file. - mf=`echo "$mf" | sed -e 's/:.*$//'` - # Check whether this is an Automake generated Makefile or not. - # We used to match only the files named `Makefile.in', but - # some people rename them; so instead we look at the file content. - # Grep'ing the first line is not enough: some people post-process - # each Makefile.in and add a new line on top of each file to say so. - # Grep'ing the whole file is not good either: AIX grep has a line - # limit of 2048, but all sed's we know have understand at least 4000. - if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then - dirpart=`$as_dirname -- "$mf" || -$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$mf" : 'X\(//\)[^/]' \| \ - X"$mf" : 'X\(//\)$' \| \ - X"$mf" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$mf" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - else - continue - fi - # Extract the definition of DEPDIR, am__include, and am__quote - # from the Makefile without running `make'. - DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` - test -z "$DEPDIR" && continue - am__include=`sed -n 's/^am__include = //p' < "$mf"` - test -z "am__include" && continue - am__quote=`sed -n 's/^am__quote = //p' < "$mf"` - # When using ansi2knr, U may be empty or an underscore; expand it - U=`sed -n 's/^U = //p' < "$mf"` - # Find all dependency output files, they are included files with - # $(DEPDIR) in their names. We invoke sed twice because it is the - # simplest approach to changing $(DEPDIR) to its actual value in the - # expansion. - for file in `sed -n " - s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ - sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do - # Make sure the directory exists. - test -f "$dirpart/$file" && continue - fdir=`$as_dirname -- "$file" || -$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$file" : 'X\(//\)[^/]' \| \ - X"$file" : 'X\(//\)$' \| \ - X"$file" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$file" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - as_dir=$dirpart/$fdir; as_fn_mkdir_p - # echo "creating $dirpart/$file" - echo '# dummy' > "$dirpart/$file" - done - done -} - ;; - "libtool":C) - - # See if we are running on zsh, and set the options which allow our - # commands through without removal of \ escapes. - if test -n "${ZSH_VERSION+set}" ; then - setopt NO_GLOB_SUBST - fi - - cfgfile="${ofile}T" - trap "$RM \"$cfgfile\"; exit 1" 1 2 15 - $RM "$cfgfile" - - cat <<_LT_EOF >> "$cfgfile" -#! $SHELL - -# `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services. -# Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION -# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: -# NOTE: Changes made to this file will be lost: look at ltmain.sh. -# -# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, -# 2006, 2007, 2008, 2009, 2010, 2011 Free Software -# Foundation, Inc. -# Written by Gordon Matzigkeit, 1996 -# -# This file is part of GNU Libtool. -# -# GNU Libtool is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License as -# published by the Free Software Foundation; either version 2 of -# the License, or (at your option) any later version. -# -# As a special exception to the GNU General Public License, -# if you distribute this file as part of a program or library that -# is built using GNU Libtool, you may include this file under the -# same distribution terms that you use for the rest of that program. -# -# GNU Libtool is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with GNU Libtool; see the file COPYING. If not, a copy -# can be downloaded from http://www.gnu.org/licenses/gpl.html, or -# obtained by writing to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - - -# The names of the tagged configurations supported by this script. -available_tags="" - -# ### BEGIN LIBTOOL CONFIG - -# Whether or not to build static libraries. -build_old_libs=$enable_static - -# Which release of libtool.m4 was used? -macro_version=$macro_version -macro_revision=$macro_revision - -# Whether or not to build shared libraries. -build_libtool_libs=$enable_shared - -# What type of objects to build. -pic_mode=$pic_mode - -# Whether or not to optimize for fast installation. -fast_install=$enable_fast_install - -# Shell to use when invoking shell scripts. -SHELL=$lt_SHELL - -# An echo program that protects backslashes. -ECHO=$lt_ECHO - -# The PATH separator for the build system. -PATH_SEPARATOR=$lt_PATH_SEPARATOR - -# The host system. -host_alias=$host_alias -host=$host -host_os=$host_os - -# The build system. -build_alias=$build_alias -build=$build -build_os=$build_os - -# A sed program that does not truncate output. -SED=$lt_SED - -# Sed that helps us avoid accidentally triggering echo(1) options like -n. -Xsed="\$SED -e 1s/^X//" - -# A grep program that handles long lines. -GREP=$lt_GREP - -# An ERE matcher. -EGREP=$lt_EGREP - -# A literal string matcher. -FGREP=$lt_FGREP - -# A BSD- or MS-compatible name lister. -NM=$lt_NM - -# Whether we need soft or hard links. -LN_S=$lt_LN_S - -# What is the maximum length of a command? -max_cmd_len=$max_cmd_len - -# Object file suffix (normally "o"). -objext=$ac_objext - -# Executable file suffix (normally ""). -exeext=$exeext - -# whether the shell understands "unset". -lt_unset=$lt_unset - -# turn spaces into newlines. -SP2NL=$lt_lt_SP2NL - -# turn newlines into spaces. -NL2SP=$lt_lt_NL2SP - -# convert \$build file names to \$host format. -to_host_file_cmd=$lt_cv_to_host_file_cmd - -# convert \$build files to toolchain format. -to_tool_file_cmd=$lt_cv_to_tool_file_cmd - -# An object symbol dumper. -OBJDUMP=$lt_OBJDUMP - -# Method to check whether dependent libraries are shared objects. -deplibs_check_method=$lt_deplibs_check_method - -# Command to use when deplibs_check_method = "file_magic". -file_magic_cmd=$lt_file_magic_cmd - -# How to find potential files when deplibs_check_method = "file_magic". -file_magic_glob=$lt_file_magic_glob - -# Find potential files using nocaseglob when deplibs_check_method = "file_magic". -want_nocaseglob=$lt_want_nocaseglob - -# DLL creation program. -DLLTOOL=$lt_DLLTOOL - -# Command to associate shared and link libraries. -sharedlib_from_linklib_cmd=$lt_sharedlib_from_linklib_cmd - -# The archiver. -AR=$lt_AR - -# Flags to create an archive. -AR_FLAGS=$lt_AR_FLAGS - -# How to feed a file listing to the archiver. -archiver_list_spec=$lt_archiver_list_spec - -# A symbol stripping program. -STRIP=$lt_STRIP - -# Commands used to install an old-style archive. -RANLIB=$lt_RANLIB -old_postinstall_cmds=$lt_old_postinstall_cmds -old_postuninstall_cmds=$lt_old_postuninstall_cmds - -# Whether to use a lock for old archive extraction. -lock_old_archive_extraction=$lock_old_archive_extraction - -# A C compiler. -LTCC=$lt_CC - -# LTCC compiler flags. -LTCFLAGS=$lt_CFLAGS - -# Take the output of nm and produce a listing of raw symbols and C names. -global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe - -# Transform the output of nm in a proper C declaration. -global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl - -# Transform the output of nm in a C name address pair. -global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address - -# Transform the output of nm in a C name address pair when lib prefix is needed. -global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix - -# Specify filename containing input files for \$NM. -nm_file_list_spec=$lt_nm_file_list_spec - -# The root where to search for dependent libraries,and in which our libraries should be installed. -lt_sysroot=$lt_sysroot - -# The name of the directory that contains temporary libtool files. -objdir=$objdir - -# Used to examine libraries when file_magic_cmd begins with "file". -MAGIC_CMD=$MAGIC_CMD - -# Must we lock files when doing compilation? -need_locks=$lt_need_locks - -# Manifest tool. -MANIFEST_TOOL=$lt_MANIFEST_TOOL - -# Tool to manipulate archived DWARF debug symbol files on Mac OS X. -DSYMUTIL=$lt_DSYMUTIL - -# Tool to change global to local symbols on Mac OS X. -NMEDIT=$lt_NMEDIT - -# Tool to manipulate fat objects and archives on Mac OS X. -LIPO=$lt_LIPO - -# ldd/readelf like tool for Mach-O binaries on Mac OS X. -OTOOL=$lt_OTOOL - -# ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4. -OTOOL64=$lt_OTOOL64 - -# Old archive suffix (normally "a"). -libext=$libext - -# Shared library suffix (normally ".so"). -shrext_cmds=$lt_shrext_cmds - -# The commands to extract the exported symbol list from a shared archive. -extract_expsyms_cmds=$lt_extract_expsyms_cmds - -# Variables whose values should be saved in libtool wrapper scripts and -# restored at link time. -variables_saved_for_relink=$lt_variables_saved_for_relink - -# Do we need the "lib" prefix for modules? -need_lib_prefix=$need_lib_prefix - -# Do we need a version for libraries? -need_version=$need_version - -# Library versioning type. -version_type=$version_type - -# Shared library runtime path variable. -runpath_var=$runpath_var - -# Shared library path variable. -shlibpath_var=$shlibpath_var - -# Is shlibpath searched before the hard-coded library search path? -shlibpath_overrides_runpath=$shlibpath_overrides_runpath - -# Format of library name prefix. -libname_spec=$lt_libname_spec - -# List of archive names. First name is the real one, the rest are links. -# The last name is the one that the linker finds with -lNAME -library_names_spec=$lt_library_names_spec - -# The coded name of the library, if different from the real name. -soname_spec=$lt_soname_spec - -# Permission mode override for installation of shared libraries. -install_override_mode=$lt_install_override_mode - -# Command to use after installation of a shared archive. -postinstall_cmds=$lt_postinstall_cmds - -# Command to use after uninstallation of a shared archive. -postuninstall_cmds=$lt_postuninstall_cmds - -# Commands used to finish a libtool library installation in a directory. -finish_cmds=$lt_finish_cmds - -# As "finish_cmds", except a single script fragment to be evaled but -# not shown. -finish_eval=$lt_finish_eval - -# Whether we should hardcode library paths into libraries. -hardcode_into_libs=$hardcode_into_libs - -# Compile-time system search path for libraries. -sys_lib_search_path_spec=$lt_sys_lib_search_path_spec - -# Run-time system search path for libraries. -sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec - -# Whether dlopen is supported. -dlopen_support=$enable_dlopen - -# Whether dlopen of programs is supported. -dlopen_self=$enable_dlopen_self - -# Whether dlopen of statically linked programs is supported. -dlopen_self_static=$enable_dlopen_self_static - -# Commands to strip libraries. -old_striplib=$lt_old_striplib -striplib=$lt_striplib - - -# The linker used to build libraries. -LD=$lt_LD - -# How to create reloadable object files. -reload_flag=$lt_reload_flag -reload_cmds=$lt_reload_cmds - -# Commands used to build an old-style archive. -old_archive_cmds=$lt_old_archive_cmds - -# A language specific compiler. -CC=$lt_compiler - -# Is the compiler the GNU compiler? -with_gcc=$GCC - -# Compiler flag to turn off builtin functions. -no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag - -# Additional compiler flags for building library objects. -pic_flag=$lt_lt_prog_compiler_pic - -# How to pass a linker flag through the compiler. -wl=$lt_lt_prog_compiler_wl - -# Compiler flag to prevent dynamic linking. -link_static_flag=$lt_lt_prog_compiler_static - -# Does compiler simultaneously support -c and -o options? -compiler_c_o=$lt_lt_cv_prog_compiler_c_o - -# Whether or not to add -lc for building shared libraries. -build_libtool_need_lc=$archive_cmds_need_lc - -# Whether or not to disallow shared libs when runtime libs are static. -allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes - -# Compiler flag to allow reflexive dlopens. -export_dynamic_flag_spec=$lt_export_dynamic_flag_spec - -# Compiler flag to generate shared objects directly from archives. -whole_archive_flag_spec=$lt_whole_archive_flag_spec - -# Whether the compiler copes with passing no objects directly. -compiler_needs_object=$lt_compiler_needs_object - -# Create an old-style archive from a shared archive. -old_archive_from_new_cmds=$lt_old_archive_from_new_cmds - -# Create a temporary old-style archive to link instead of a shared archive. -old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds - -# Commands used to build a shared archive. -archive_cmds=$lt_archive_cmds -archive_expsym_cmds=$lt_archive_expsym_cmds - -# Commands used to build a loadable module if different from building -# a shared archive. -module_cmds=$lt_module_cmds -module_expsym_cmds=$lt_module_expsym_cmds - -# Whether we are building with GNU ld or not. -with_gnu_ld=$lt_with_gnu_ld - -# Flag that allows shared libraries with undefined symbols to be built. -allow_undefined_flag=$lt_allow_undefined_flag - -# Flag that enforces no undefined symbols. -no_undefined_flag=$lt_no_undefined_flag - -# Flag to hardcode \$libdir into a binary during linking. -# This must work even if \$libdir does not exist -hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec - -# Whether we need a single "-rpath" flag with a separated argument. -hardcode_libdir_separator=$lt_hardcode_libdir_separator - -# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes -# DIR into the resulting binary. -hardcode_direct=$hardcode_direct - -# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes -# DIR into the resulting binary and the resulting library dependency is -# "absolute",i.e impossible to change by setting \${shlibpath_var} if the -# library is relocated. -hardcode_direct_absolute=$hardcode_direct_absolute - -# Set to "yes" if using the -LDIR flag during linking hardcodes DIR -# into the resulting binary. -hardcode_minus_L=$hardcode_minus_L - -# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR -# into the resulting binary. -hardcode_shlibpath_var=$hardcode_shlibpath_var - -# Set to "yes" if building a shared library automatically hardcodes DIR -# into the library and all subsequent libraries and executables linked -# against it. -hardcode_automatic=$hardcode_automatic - -# Set to yes if linker adds runtime paths of dependent libraries -# to runtime path list. -inherit_rpath=$inherit_rpath - -# Whether libtool must link a program against all its dependency libraries. -link_all_deplibs=$link_all_deplibs - -# Set to "yes" if exported symbols are required. -always_export_symbols=$always_export_symbols - -# The commands to list exported symbols. -export_symbols_cmds=$lt_export_symbols_cmds - -# Symbols that should not be listed in the preloaded symbols. -exclude_expsyms=$lt_exclude_expsyms - -# Symbols that must always be exported. -include_expsyms=$lt_include_expsyms - -# Commands necessary for linking programs (against libraries) with templates. -prelink_cmds=$lt_prelink_cmds - -# Commands necessary for finishing linking programs. -postlink_cmds=$lt_postlink_cmds - -# Specify filename containing input files. -file_list_spec=$lt_file_list_spec - -# How to hardcode a shared library path into an executable. -hardcode_action=$hardcode_action - -# ### END LIBTOOL CONFIG - -_LT_EOF - - case $host_os in - aix3*) - cat <<\_LT_EOF >> "$cfgfile" -# AIX sometimes has problems with the GCC collect2 program. For some -# reason, if we set the COLLECT_NAMES environment variable, the problems -# vanish in a puff of smoke. -if test "X${COLLECT_NAMES+set}" != Xset; then - COLLECT_NAMES= - export COLLECT_NAMES -fi -_LT_EOF - ;; - esac - - -ltmain="$ac_aux_dir/ltmain.sh" - - - # We use sed instead of cat because bash on DJGPP gets confused if - # if finds mixed CR/LF and LF-only lines. Since sed operates in - # text mode, it properly converts lines to CR/LF. This bash problem - # is reportedly fixed, but why not run on old versions too? - sed '$q' "$ltmain" >> "$cfgfile" \ - || (rm -f "$cfgfile"; exit 1) - - if test x"$xsi_shell" = xyes; then - sed -e '/^func_dirname ()$/,/^} # func_dirname /c\ -func_dirname ()\ -{\ -\ case ${1} in\ -\ */*) func_dirname_result="${1%/*}${2}" ;;\ -\ * ) func_dirname_result="${3}" ;;\ -\ esac\ -} # Extended-shell func_dirname implementation' "$cfgfile" > $cfgfile.tmp \ - && mv -f "$cfgfile.tmp" "$cfgfile" \ - || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") -test 0 -eq $? || _lt_function_replace_fail=: - - - sed -e '/^func_basename ()$/,/^} # func_basename /c\ -func_basename ()\ -{\ -\ func_basename_result="${1##*/}"\ -} # Extended-shell func_basename implementation' "$cfgfile" > $cfgfile.tmp \ - && mv -f "$cfgfile.tmp" "$cfgfile" \ - || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") -test 0 -eq $? || _lt_function_replace_fail=: - - - sed -e '/^func_dirname_and_basename ()$/,/^} # func_dirname_and_basename /c\ -func_dirname_and_basename ()\ -{\ -\ case ${1} in\ -\ */*) func_dirname_result="${1%/*}${2}" ;;\ -\ * ) func_dirname_result="${3}" ;;\ -\ esac\ -\ func_basename_result="${1##*/}"\ -} # Extended-shell func_dirname_and_basename implementation' "$cfgfile" > $cfgfile.tmp \ - && mv -f "$cfgfile.tmp" "$cfgfile" \ - || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") -test 0 -eq $? || _lt_function_replace_fail=: - - - sed -e '/^func_stripname ()$/,/^} # func_stripname /c\ -func_stripname ()\ -{\ -\ # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are\ -\ # positional parameters, so assign one to ordinary parameter first.\ -\ func_stripname_result=${3}\ -\ func_stripname_result=${func_stripname_result#"${1}"}\ -\ func_stripname_result=${func_stripname_result%"${2}"}\ -} # Extended-shell func_stripname implementation' "$cfgfile" > $cfgfile.tmp \ - && mv -f "$cfgfile.tmp" "$cfgfile" \ - || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") -test 0 -eq $? || _lt_function_replace_fail=: - - - sed -e '/^func_split_long_opt ()$/,/^} # func_split_long_opt /c\ -func_split_long_opt ()\ -{\ -\ func_split_long_opt_name=${1%%=*}\ -\ func_split_long_opt_arg=${1#*=}\ -} # Extended-shell func_split_long_opt implementation' "$cfgfile" > $cfgfile.tmp \ - && mv -f "$cfgfile.tmp" "$cfgfile" \ - || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") -test 0 -eq $? || _lt_function_replace_fail=: - - - sed -e '/^func_split_short_opt ()$/,/^} # func_split_short_opt /c\ -func_split_short_opt ()\ -{\ -\ func_split_short_opt_arg=${1#??}\ -\ func_split_short_opt_name=${1%"$func_split_short_opt_arg"}\ -} # Extended-shell func_split_short_opt implementation' "$cfgfile" > $cfgfile.tmp \ - && mv -f "$cfgfile.tmp" "$cfgfile" \ - || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") -test 0 -eq $? || _lt_function_replace_fail=: - - - sed -e '/^func_lo2o ()$/,/^} # func_lo2o /c\ -func_lo2o ()\ -{\ -\ case ${1} in\ -\ *.lo) func_lo2o_result=${1%.lo}.${objext} ;;\ -\ *) func_lo2o_result=${1} ;;\ -\ esac\ -} # Extended-shell func_lo2o implementation' "$cfgfile" > $cfgfile.tmp \ - && mv -f "$cfgfile.tmp" "$cfgfile" \ - || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") -test 0 -eq $? || _lt_function_replace_fail=: - - - sed -e '/^func_xform ()$/,/^} # func_xform /c\ -func_xform ()\ -{\ - func_xform_result=${1%.*}.lo\ -} # Extended-shell func_xform implementation' "$cfgfile" > $cfgfile.tmp \ - && mv -f "$cfgfile.tmp" "$cfgfile" \ - || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") -test 0 -eq $? || _lt_function_replace_fail=: - - - sed -e '/^func_arith ()$/,/^} # func_arith /c\ -func_arith ()\ -{\ - func_arith_result=$(( $* ))\ -} # Extended-shell func_arith implementation' "$cfgfile" > $cfgfile.tmp \ - && mv -f "$cfgfile.tmp" "$cfgfile" \ - || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") -test 0 -eq $? || _lt_function_replace_fail=: - - - sed -e '/^func_len ()$/,/^} # func_len /c\ -func_len ()\ -{\ - func_len_result=${#1}\ -} # Extended-shell func_len implementation' "$cfgfile" > $cfgfile.tmp \ - && mv -f "$cfgfile.tmp" "$cfgfile" \ - || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") -test 0 -eq $? || _lt_function_replace_fail=: - -fi - -if test x"$lt_shell_append" = xyes; then - sed -e '/^func_append ()$/,/^} # func_append /c\ -func_append ()\ -{\ - eval "${1}+=\\${2}"\ -} # Extended-shell func_append implementation' "$cfgfile" > $cfgfile.tmp \ - && mv -f "$cfgfile.tmp" "$cfgfile" \ - || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") -test 0 -eq $? || _lt_function_replace_fail=: - - - sed -e '/^func_append_quoted ()$/,/^} # func_append_quoted /c\ -func_append_quoted ()\ -{\ -\ func_quote_for_eval "${2}"\ -\ eval "${1}+=\\\\ \\$func_quote_for_eval_result"\ -} # Extended-shell func_append_quoted implementation' "$cfgfile" > $cfgfile.tmp \ - && mv -f "$cfgfile.tmp" "$cfgfile" \ - || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") -test 0 -eq $? || _lt_function_replace_fail=: - - - # Save a `func_append' function call where possible by direct use of '+=' - sed -e 's%func_append \([a-zA-Z_]\{1,\}\) "%\1+="%g' $cfgfile > $cfgfile.tmp \ - && mv -f "$cfgfile.tmp" "$cfgfile" \ - || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") - test 0 -eq $? || _lt_function_replace_fail=: -else - # Save a `func_append' function call even when '+=' is not available - sed -e 's%func_append \([a-zA-Z_]\{1,\}\) "%\1="$\1%g' $cfgfile > $cfgfile.tmp \ - && mv -f "$cfgfile.tmp" "$cfgfile" \ - || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") - test 0 -eq $? || _lt_function_replace_fail=: -fi - -if test x"$_lt_function_replace_fail" = x":"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Unable to substitute extended shell functions in $ofile" >&5 -$as_echo "$as_me: WARNING: Unable to substitute extended shell functions in $ofile" >&2;} -fi - - - mv -f "$cfgfile" "$ofile" || - (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") - chmod +x "$ofile" - - ;; - - esac -done # for ac_tag - - -as_fn_exit 0 diff --git a/GRIB_BLE_HUB/libs/ble_extend/config.sub b/GRIB_BLE_HUB/libs/ble_extend/config.sub deleted file mode 100644 index 6205f84..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/config.sub +++ /dev/null @@ -1,1782 +0,0 @@ -#! /bin/sh -# Configuration validation subroutine script. -# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, -# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, -# 2011, 2012 Free Software Foundation, Inc. - -timestamp='2012-04-18' - -# This file is (in principle) common to ALL GNU software. -# The presence of a machine in this file suggests that SOME GNU software -# can handle that machine. It does not imply ALL GNU software can. -# -# This file is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, see . -# -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - - -# Please send patches to . Submit a context -# diff and a properly formatted GNU ChangeLog entry. -# -# Configuration subroutine to validate and canonicalize a configuration type. -# Supply the specified configuration type as an argument. -# If it is invalid, we print an error message on stderr and exit with code 1. -# Otherwise, we print the canonical config type on stdout and succeed. - -# You can get the latest version of this script from: -# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD - -# This file is supposed to be the same for all GNU packages -# and recognize all the CPU types, system types and aliases -# that are meaningful with *any* GNU software. -# Each package is responsible for reporting which valid configurations -# it does not support. The user should be able to distinguish -# a failure to support a valid configuration from a meaningless -# configuration. - -# The goal of this file is to map all the various variations of a given -# machine specification into a single specification in the form: -# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM -# or in some cases, the newer four-part form: -# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM -# It is wrong to echo any other type of specification. - -me=`echo "$0" | sed -e 's,.*/,,'` - -usage="\ -Usage: $0 [OPTION] CPU-MFR-OPSYS - $0 [OPTION] ALIAS - -Canonicalize a configuration name. - -Operation modes: - -h, --help print this help, then exit - -t, --time-stamp print date of last modification, then exit - -v, --version print version number, then exit - -Report bugs and patches to ." - -version="\ -GNU config.sub ($timestamp) - -Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, -2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 -Free Software Foundation, Inc. - -This is free software; see the source for copying conditions. There is NO -warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." - -help=" -Try \`$me --help' for more information." - -# Parse command line -while test $# -gt 0 ; do - case $1 in - --time-stamp | --time* | -t ) - echo "$timestamp" ; exit ;; - --version | -v ) - echo "$version" ; exit ;; - --help | --h* | -h ) - echo "$usage"; exit ;; - -- ) # Stop option processing - shift; break ;; - - ) # Use stdin as input. - break ;; - -* ) - echo "$me: invalid option $1$help" - exit 1 ;; - - *local*) - # First pass through any local machine types. - echo $1 - exit ;; - - * ) - break ;; - esac -done - -case $# in - 0) echo "$me: missing argument$help" >&2 - exit 1;; - 1) ;; - *) echo "$me: too many arguments$help" >&2 - exit 1;; -esac - -# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). -# Here we must recognize all the valid KERNEL-OS combinations. -maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` -case $maybe_os in - nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \ - linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \ - knetbsd*-gnu* | netbsd*-gnu* | \ - kopensolaris*-gnu* | \ - storm-chaos* | os2-emx* | rtmk-nova*) - os=-$maybe_os - basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` - ;; - android-linux) - os=-linux-android - basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown - ;; - *) - basic_machine=`echo $1 | sed 's/-[^-]*$//'` - if [ $basic_machine != $1 ] - then os=`echo $1 | sed 's/.*-/-/'` - else os=; fi - ;; -esac - -### Let's recognize common machines as not being operating systems so -### that things like config.sub decstation-3100 work. We also -### recognize some manufacturers as not being operating systems, so we -### can provide default operating systems below. -case $os in - -sun*os*) - # Prevent following clause from handling this invalid input. - ;; - -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ - -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ - -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ - -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ - -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ - -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ - -apple | -axis | -knuth | -cray | -microblaze) - os= - basic_machine=$1 - ;; - -bluegene*) - os=-cnk - ;; - -sim | -cisco | -oki | -wec | -winbond) - os= - basic_machine=$1 - ;; - -scout) - ;; - -wrs) - os=-vxworks - basic_machine=$1 - ;; - -chorusos*) - os=-chorusos - basic_machine=$1 - ;; - -chorusrdb) - os=-chorusrdb - basic_machine=$1 - ;; - -hiux*) - os=-hiuxwe2 - ;; - -sco6) - os=-sco5v6 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco5) - os=-sco3.2v5 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco4) - os=-sco3.2v4 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco3.2.[4-9]*) - os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco3.2v[4-9]*) - # Don't forget version if it is 3.2v4 or newer. - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco5v6*) - # Don't forget version if it is 3.2v4 or newer. - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco*) - os=-sco3.2v2 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -udk*) - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -isc) - os=-isc2.2 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -clix*) - basic_machine=clipper-intergraph - ;; - -isc*) - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -lynx*178) - os=-lynxos178 - ;; - -lynx*5) - os=-lynxos5 - ;; - -lynx*) - os=-lynxos - ;; - -ptx*) - basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` - ;; - -windowsnt*) - os=`echo $os | sed -e 's/windowsnt/winnt/'` - ;; - -psos*) - os=-psos - ;; - -mint | -mint[0-9]*) - basic_machine=m68k-atari - os=-mint - ;; -esac - -# Decode aliases for certain CPU-COMPANY combinations. -case $basic_machine in - # Recognize the basic CPU types without company name. - # Some are omitted here because they have special meanings below. - 1750a | 580 \ - | a29k \ - | aarch64 | aarch64_be \ - | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ - | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ - | am33_2.0 \ - | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \ - | be32 | be64 \ - | bfin \ - | c4x | clipper \ - | d10v | d30v | dlx | dsp16xx \ - | epiphany \ - | fido | fr30 | frv \ - | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ - | hexagon \ - | i370 | i860 | i960 | ia64 \ - | ip2k | iq2000 \ - | le32 | le64 \ - | lm32 \ - | m32c | m32r | m32rle | m68000 | m68k | m88k \ - | maxq | mb | microblaze | mcore | mep | metag \ - | mips | mipsbe | mipseb | mipsel | mipsle \ - | mips16 \ - | mips64 | mips64el \ - | mips64octeon | mips64octeonel \ - | mips64orion | mips64orionel \ - | mips64r5900 | mips64r5900el \ - | mips64vr | mips64vrel \ - | mips64vr4100 | mips64vr4100el \ - | mips64vr4300 | mips64vr4300el \ - | mips64vr5000 | mips64vr5000el \ - | mips64vr5900 | mips64vr5900el \ - | mipsisa32 | mipsisa32el \ - | mipsisa32r2 | mipsisa32r2el \ - | mipsisa64 | mipsisa64el \ - | mipsisa64r2 | mipsisa64r2el \ - | mipsisa64sb1 | mipsisa64sb1el \ - | mipsisa64sr71k | mipsisa64sr71kel \ - | mipstx39 | mipstx39el \ - | mn10200 | mn10300 \ - | moxie \ - | mt \ - | msp430 \ - | nds32 | nds32le | nds32be \ - | nios | nios2 \ - | ns16k | ns32k \ - | open8 \ - | or32 \ - | pdp10 | pdp11 | pj | pjl \ - | powerpc | powerpc64 | powerpc64le | powerpcle \ - | pyramid \ - | rl78 | rx \ - | score \ - | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ - | sh64 | sh64le \ - | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ - | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ - | spu \ - | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \ - | ubicom32 \ - | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \ - | we32k \ - | x86 | xc16x | xstormy16 | xtensa \ - | z8k | z80) - basic_machine=$basic_machine-unknown - ;; - c54x) - basic_machine=tic54x-unknown - ;; - c55x) - basic_machine=tic55x-unknown - ;; - c6x) - basic_machine=tic6x-unknown - ;; - m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | picochip) - basic_machine=$basic_machine-unknown - os=-none - ;; - m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) - ;; - ms1) - basic_machine=mt-unknown - ;; - - strongarm | thumb | xscale) - basic_machine=arm-unknown - ;; - xgate) - basic_machine=$basic_machine-unknown - os=-none - ;; - xscaleeb) - basic_machine=armeb-unknown - ;; - - xscaleel) - basic_machine=armel-unknown - ;; - - # We use `pc' rather than `unknown' - # because (1) that's what they normally are, and - # (2) the word "unknown" tends to confuse beginning users. - i*86 | x86_64) - basic_machine=$basic_machine-pc - ;; - # Object if more than one company name word. - *-*-*) - echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 - exit 1 - ;; - # Recognize the basic CPU types with company name. - 580-* \ - | a29k-* \ - | aarch64-* | aarch64_be-* \ - | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ - | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ - | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \ - | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ - | avr-* | avr32-* \ - | be32-* | be64-* \ - | bfin-* | bs2000-* \ - | c[123]* | c30-* | [cjt]90-* | c4x-* \ - | clipper-* | craynv-* | cydra-* \ - | d10v-* | d30v-* | dlx-* \ - | elxsi-* \ - | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ - | h8300-* | h8500-* \ - | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ - | hexagon-* \ - | i*86-* | i860-* | i960-* | ia64-* \ - | ip2k-* | iq2000-* \ - | le32-* | le64-* \ - | lm32-* \ - | m32c-* | m32r-* | m32rle-* \ - | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ - | m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \ - | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ - | mips16-* \ - | mips64-* | mips64el-* \ - | mips64octeon-* | mips64octeonel-* \ - | mips64orion-* | mips64orionel-* \ - | mips64r5900-* | mips64r5900el-* \ - | mips64vr-* | mips64vrel-* \ - | mips64vr4100-* | mips64vr4100el-* \ - | mips64vr4300-* | mips64vr4300el-* \ - | mips64vr5000-* | mips64vr5000el-* \ - | mips64vr5900-* | mips64vr5900el-* \ - | mipsisa32-* | mipsisa32el-* \ - | mipsisa32r2-* | mipsisa32r2el-* \ - | mipsisa64-* | mipsisa64el-* \ - | mipsisa64r2-* | mipsisa64r2el-* \ - | mipsisa64sb1-* | mipsisa64sb1el-* \ - | mipsisa64sr71k-* | mipsisa64sr71kel-* \ - | mipstx39-* | mipstx39el-* \ - | mmix-* \ - | mt-* \ - | msp430-* \ - | nds32-* | nds32le-* | nds32be-* \ - | nios-* | nios2-* \ - | none-* | np1-* | ns16k-* | ns32k-* \ - | open8-* \ - | orion-* \ - | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ - | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \ - | pyramid-* \ - | rl78-* | romp-* | rs6000-* | rx-* \ - | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ - | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ - | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ - | sparclite-* \ - | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \ - | tahoe-* \ - | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ - | tile*-* \ - | tron-* \ - | ubicom32-* \ - | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \ - | vax-* \ - | we32k-* \ - | x86-* | x86_64-* | xc16x-* | xps100-* \ - | xstormy16-* | xtensa*-* \ - | ymp-* \ - | z8k-* | z80-*) - ;; - # Recognize the basic CPU types without company name, with glob match. - xtensa*) - basic_machine=$basic_machine-unknown - ;; - # Recognize the various machine names and aliases which stand - # for a CPU type and a company and sometimes even an OS. - 386bsd) - basic_machine=i386-unknown - os=-bsd - ;; - 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) - basic_machine=m68000-att - ;; - 3b*) - basic_machine=we32k-att - ;; - a29khif) - basic_machine=a29k-amd - os=-udi - ;; - abacus) - basic_machine=abacus-unknown - ;; - adobe68k) - basic_machine=m68010-adobe - os=-scout - ;; - alliant | fx80) - basic_machine=fx80-alliant - ;; - altos | altos3068) - basic_machine=m68k-altos - ;; - am29k) - basic_machine=a29k-none - os=-bsd - ;; - amd64) - basic_machine=x86_64-pc - ;; - amd64-*) - basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - amdahl) - basic_machine=580-amdahl - os=-sysv - ;; - amiga | amiga-*) - basic_machine=m68k-unknown - ;; - amigaos | amigados) - basic_machine=m68k-unknown - os=-amigaos - ;; - amigaunix | amix) - basic_machine=m68k-unknown - os=-sysv4 - ;; - apollo68) - basic_machine=m68k-apollo - os=-sysv - ;; - apollo68bsd) - basic_machine=m68k-apollo - os=-bsd - ;; - aros) - basic_machine=i386-pc - os=-aros - ;; - aux) - basic_machine=m68k-apple - os=-aux - ;; - balance) - basic_machine=ns32k-sequent - os=-dynix - ;; - blackfin) - basic_machine=bfin-unknown - os=-linux - ;; - blackfin-*) - basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'` - os=-linux - ;; - bluegene*) - basic_machine=powerpc-ibm - os=-cnk - ;; - c54x-*) - basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - c55x-*) - basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - c6x-*) - basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - c90) - basic_machine=c90-cray - os=-unicos - ;; - cegcc) - basic_machine=arm-unknown - os=-cegcc - ;; - convex-c1) - basic_machine=c1-convex - os=-bsd - ;; - convex-c2) - basic_machine=c2-convex - os=-bsd - ;; - convex-c32) - basic_machine=c32-convex - os=-bsd - ;; - convex-c34) - basic_machine=c34-convex - os=-bsd - ;; - convex-c38) - basic_machine=c38-convex - os=-bsd - ;; - cray | j90) - basic_machine=j90-cray - os=-unicos - ;; - craynv) - basic_machine=craynv-cray - os=-unicosmp - ;; - cr16 | cr16-*) - basic_machine=cr16-unknown - os=-elf - ;; - crds | unos) - basic_machine=m68k-crds - ;; - crisv32 | crisv32-* | etraxfs*) - basic_machine=crisv32-axis - ;; - cris | cris-* | etrax*) - basic_machine=cris-axis - ;; - crx) - basic_machine=crx-unknown - os=-elf - ;; - da30 | da30-*) - basic_machine=m68k-da30 - ;; - decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) - basic_machine=mips-dec - ;; - decsystem10* | dec10*) - basic_machine=pdp10-dec - os=-tops10 - ;; - decsystem20* | dec20*) - basic_machine=pdp10-dec - os=-tops20 - ;; - delta | 3300 | motorola-3300 | motorola-delta \ - | 3300-motorola | delta-motorola) - basic_machine=m68k-motorola - ;; - delta88) - basic_machine=m88k-motorola - os=-sysv3 - ;; - dicos) - basic_machine=i686-pc - os=-dicos - ;; - djgpp) - basic_machine=i586-pc - os=-msdosdjgpp - ;; - dpx20 | dpx20-*) - basic_machine=rs6000-bull - os=-bosx - ;; - dpx2* | dpx2*-bull) - basic_machine=m68k-bull - os=-sysv3 - ;; - ebmon29k) - basic_machine=a29k-amd - os=-ebmon - ;; - elxsi) - basic_machine=elxsi-elxsi - os=-bsd - ;; - encore | umax | mmax) - basic_machine=ns32k-encore - ;; - es1800 | OSE68k | ose68k | ose | OSE) - basic_machine=m68k-ericsson - os=-ose - ;; - fx2800) - basic_machine=i860-alliant - ;; - genix) - basic_machine=ns32k-ns - ;; - gmicro) - basic_machine=tron-gmicro - os=-sysv - ;; - go32) - basic_machine=i386-pc - os=-go32 - ;; - h3050r* | hiux*) - basic_machine=hppa1.1-hitachi - os=-hiuxwe2 - ;; - h8300hms) - basic_machine=h8300-hitachi - os=-hms - ;; - h8300xray) - basic_machine=h8300-hitachi - os=-xray - ;; - h8500hms) - basic_machine=h8500-hitachi - os=-hms - ;; - harris) - basic_machine=m88k-harris - os=-sysv3 - ;; - hp300-*) - basic_machine=m68k-hp - ;; - hp300bsd) - basic_machine=m68k-hp - os=-bsd - ;; - hp300hpux) - basic_machine=m68k-hp - os=-hpux - ;; - hp3k9[0-9][0-9] | hp9[0-9][0-9]) - basic_machine=hppa1.0-hp - ;; - hp9k2[0-9][0-9] | hp9k31[0-9]) - basic_machine=m68000-hp - ;; - hp9k3[2-9][0-9]) - basic_machine=m68k-hp - ;; - hp9k6[0-9][0-9] | hp6[0-9][0-9]) - basic_machine=hppa1.0-hp - ;; - hp9k7[0-79][0-9] | hp7[0-79][0-9]) - basic_machine=hppa1.1-hp - ;; - hp9k78[0-9] | hp78[0-9]) - # FIXME: really hppa2.0-hp - basic_machine=hppa1.1-hp - ;; - hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) - # FIXME: really hppa2.0-hp - basic_machine=hppa1.1-hp - ;; - hp9k8[0-9][13679] | hp8[0-9][13679]) - basic_machine=hppa1.1-hp - ;; - hp9k8[0-9][0-9] | hp8[0-9][0-9]) - basic_machine=hppa1.0-hp - ;; - hppa-next) - os=-nextstep3 - ;; - hppaosf) - basic_machine=hppa1.1-hp - os=-osf - ;; - hppro) - basic_machine=hppa1.1-hp - os=-proelf - ;; - i370-ibm* | ibm*) - basic_machine=i370-ibm - ;; - i*86v32) - basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` - os=-sysv32 - ;; - i*86v4*) - basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` - os=-sysv4 - ;; - i*86v) - basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` - os=-sysv - ;; - i*86sol2) - basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` - os=-solaris2 - ;; - i386mach) - basic_machine=i386-mach - os=-mach - ;; - i386-vsta | vsta) - basic_machine=i386-unknown - os=-vsta - ;; - iris | iris4d) - basic_machine=mips-sgi - case $os in - -irix*) - ;; - *) - os=-irix4 - ;; - esac - ;; - isi68 | isi) - basic_machine=m68k-isi - os=-sysv - ;; - m68knommu) - basic_machine=m68k-unknown - os=-linux - ;; - m68knommu-*) - basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'` - os=-linux - ;; - m88k-omron*) - basic_machine=m88k-omron - ;; - magnum | m3230) - basic_machine=mips-mips - os=-sysv - ;; - merlin) - basic_machine=ns32k-utek - os=-sysv - ;; - microblaze) - basic_machine=microblaze-xilinx - ;; - mingw32) - basic_machine=i386-pc - os=-mingw32 - ;; - mingw32ce) - basic_machine=arm-unknown - os=-mingw32ce - ;; - miniframe) - basic_machine=m68000-convergent - ;; - *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) - basic_machine=m68k-atari - os=-mint - ;; - mips3*-*) - basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` - ;; - mips3*) - basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown - ;; - monitor) - basic_machine=m68k-rom68k - os=-coff - ;; - morphos) - basic_machine=powerpc-unknown - os=-morphos - ;; - msdos) - basic_machine=i386-pc - os=-msdos - ;; - ms1-*) - basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` - ;; - msys) - basic_machine=i386-pc - os=-msys - ;; - mvs) - basic_machine=i370-ibm - os=-mvs - ;; - nacl) - basic_machine=le32-unknown - os=-nacl - ;; - ncr3000) - basic_machine=i486-ncr - os=-sysv4 - ;; - netbsd386) - basic_machine=i386-unknown - os=-netbsd - ;; - netwinder) - basic_machine=armv4l-rebel - os=-linux - ;; - news | news700 | news800 | news900) - basic_machine=m68k-sony - os=-newsos - ;; - news1000) - basic_machine=m68030-sony - os=-newsos - ;; - news-3600 | risc-news) - basic_machine=mips-sony - os=-newsos - ;; - necv70) - basic_machine=v70-nec - os=-sysv - ;; - next | m*-next ) - basic_machine=m68k-next - case $os in - -nextstep* ) - ;; - -ns2*) - os=-nextstep2 - ;; - *) - os=-nextstep3 - ;; - esac - ;; - nh3000) - basic_machine=m68k-harris - os=-cxux - ;; - nh[45]000) - basic_machine=m88k-harris - os=-cxux - ;; - nindy960) - basic_machine=i960-intel - os=-nindy - ;; - mon960) - basic_machine=i960-intel - os=-mon960 - ;; - nonstopux) - basic_machine=mips-compaq - os=-nonstopux - ;; - np1) - basic_machine=np1-gould - ;; - neo-tandem) - basic_machine=neo-tandem - ;; - nse-tandem) - basic_machine=nse-tandem - ;; - nsr-tandem) - basic_machine=nsr-tandem - ;; - op50n-* | op60c-*) - basic_machine=hppa1.1-oki - os=-proelf - ;; - openrisc | openrisc-*) - basic_machine=or32-unknown - ;; - os400) - basic_machine=powerpc-ibm - os=-os400 - ;; - OSE68000 | ose68000) - basic_machine=m68000-ericsson - os=-ose - ;; - os68k) - basic_machine=m68k-none - os=-os68k - ;; - pa-hitachi) - basic_machine=hppa1.1-hitachi - os=-hiuxwe2 - ;; - paragon) - basic_machine=i860-intel - os=-osf - ;; - parisc) - basic_machine=hppa-unknown - os=-linux - ;; - parisc-*) - basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'` - os=-linux - ;; - pbd) - basic_machine=sparc-tti - ;; - pbb) - basic_machine=m68k-tti - ;; - pc532 | pc532-*) - basic_machine=ns32k-pc532 - ;; - pc98) - basic_machine=i386-pc - ;; - pc98-*) - basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - pentium | p5 | k5 | k6 | nexgen | viac3) - basic_machine=i586-pc - ;; - pentiumpro | p6 | 6x86 | athlon | athlon_*) - basic_machine=i686-pc - ;; - pentiumii | pentium2 | pentiumiii | pentium3) - basic_machine=i686-pc - ;; - pentium4) - basic_machine=i786-pc - ;; - pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) - basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - pentiumpro-* | p6-* | 6x86-* | athlon-*) - basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) - basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - pentium4-*) - basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - pn) - basic_machine=pn-gould - ;; - power) basic_machine=power-ibm - ;; - ppc | ppcbe) basic_machine=powerpc-unknown - ;; - ppc-* | ppcbe-*) - basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - ppcle | powerpclittle | ppc-le | powerpc-little) - basic_machine=powerpcle-unknown - ;; - ppcle-* | powerpclittle-*) - basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - ppc64) basic_machine=powerpc64-unknown - ;; - ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - ppc64le | powerpc64little | ppc64-le | powerpc64-little) - basic_machine=powerpc64le-unknown - ;; - ppc64le-* | powerpc64little-*) - basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - ps2) - basic_machine=i386-ibm - ;; - pw32) - basic_machine=i586-unknown - os=-pw32 - ;; - rdos) - basic_machine=i386-pc - os=-rdos - ;; - rom68k) - basic_machine=m68k-rom68k - os=-coff - ;; - rm[46]00) - basic_machine=mips-siemens - ;; - rtpc | rtpc-*) - basic_machine=romp-ibm - ;; - s390 | s390-*) - basic_machine=s390-ibm - ;; - s390x | s390x-*) - basic_machine=s390x-ibm - ;; - sa29200) - basic_machine=a29k-amd - os=-udi - ;; - sb1) - basic_machine=mipsisa64sb1-unknown - ;; - sb1el) - basic_machine=mipsisa64sb1el-unknown - ;; - sde) - basic_machine=mipsisa32-sde - os=-elf - ;; - sei) - basic_machine=mips-sei - os=-seiux - ;; - sequent) - basic_machine=i386-sequent - ;; - sh) - basic_machine=sh-hitachi - os=-hms - ;; - sh5el) - basic_machine=sh5le-unknown - ;; - sh64) - basic_machine=sh64-unknown - ;; - sparclite-wrs | simso-wrs) - basic_machine=sparclite-wrs - os=-vxworks - ;; - sps7) - basic_machine=m68k-bull - os=-sysv2 - ;; - spur) - basic_machine=spur-unknown - ;; - st2000) - basic_machine=m68k-tandem - ;; - stratus) - basic_machine=i860-stratus - os=-sysv4 - ;; - strongarm-* | thumb-*) - basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - sun2) - basic_machine=m68000-sun - ;; - sun2os3) - basic_machine=m68000-sun - os=-sunos3 - ;; - sun2os4) - basic_machine=m68000-sun - os=-sunos4 - ;; - sun3os3) - basic_machine=m68k-sun - os=-sunos3 - ;; - sun3os4) - basic_machine=m68k-sun - os=-sunos4 - ;; - sun4os3) - basic_machine=sparc-sun - os=-sunos3 - ;; - sun4os4) - basic_machine=sparc-sun - os=-sunos4 - ;; - sun4sol2) - basic_machine=sparc-sun - os=-solaris2 - ;; - sun3 | sun3-*) - basic_machine=m68k-sun - ;; - sun4) - basic_machine=sparc-sun - ;; - sun386 | sun386i | roadrunner) - basic_machine=i386-sun - ;; - sv1) - basic_machine=sv1-cray - os=-unicos - ;; - symmetry) - basic_machine=i386-sequent - os=-dynix - ;; - t3e) - basic_machine=alphaev5-cray - os=-unicos - ;; - t90) - basic_machine=t90-cray - os=-unicos - ;; - tile*) - basic_machine=$basic_machine-unknown - os=-linux-gnu - ;; - tx39) - basic_machine=mipstx39-unknown - ;; - tx39el) - basic_machine=mipstx39el-unknown - ;; - toad1) - basic_machine=pdp10-xkl - os=-tops20 - ;; - tower | tower-32) - basic_machine=m68k-ncr - ;; - tpf) - basic_machine=s390x-ibm - os=-tpf - ;; - udi29k) - basic_machine=a29k-amd - os=-udi - ;; - ultra3) - basic_machine=a29k-nyu - os=-sym1 - ;; - v810 | necv810) - basic_machine=v810-nec - os=-none - ;; - vaxv) - basic_machine=vax-dec - os=-sysv - ;; - vms) - basic_machine=vax-dec - os=-vms - ;; - vpp*|vx|vx-*) - basic_machine=f301-fujitsu - ;; - vxworks960) - basic_machine=i960-wrs - os=-vxworks - ;; - vxworks68) - basic_machine=m68k-wrs - os=-vxworks - ;; - vxworks29k) - basic_machine=a29k-wrs - os=-vxworks - ;; - w65*) - basic_machine=w65-wdc - os=-none - ;; - w89k-*) - basic_machine=hppa1.1-winbond - os=-proelf - ;; - xbox) - basic_machine=i686-pc - os=-mingw32 - ;; - xps | xps100) - basic_machine=xps100-honeywell - ;; - xscale-* | xscalee[bl]-*) - basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'` - ;; - ymp) - basic_machine=ymp-cray - os=-unicos - ;; - z8k-*-coff) - basic_machine=z8k-unknown - os=-sim - ;; - z80-*-coff) - basic_machine=z80-unknown - os=-sim - ;; - none) - basic_machine=none-none - os=-none - ;; - -# Here we handle the default manufacturer of certain CPU types. It is in -# some cases the only manufacturer, in others, it is the most popular. - w89k) - basic_machine=hppa1.1-winbond - ;; - op50n) - basic_machine=hppa1.1-oki - ;; - op60c) - basic_machine=hppa1.1-oki - ;; - romp) - basic_machine=romp-ibm - ;; - mmix) - basic_machine=mmix-knuth - ;; - rs6000) - basic_machine=rs6000-ibm - ;; - vax) - basic_machine=vax-dec - ;; - pdp10) - # there are many clones, so DEC is not a safe bet - basic_machine=pdp10-unknown - ;; - pdp11) - basic_machine=pdp11-dec - ;; - we32k) - basic_machine=we32k-att - ;; - sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele) - basic_machine=sh-unknown - ;; - sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v) - basic_machine=sparc-sun - ;; - cydra) - basic_machine=cydra-cydrome - ;; - orion) - basic_machine=orion-highlevel - ;; - orion105) - basic_machine=clipper-highlevel - ;; - mac | mpw | mac-mpw) - basic_machine=m68k-apple - ;; - pmac | pmac-mpw) - basic_machine=powerpc-apple - ;; - *-unknown) - # Make sure to match an already-canonicalized machine name. - ;; - *) - echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 - exit 1 - ;; -esac - -# Here we canonicalize certain aliases for manufacturers. -case $basic_machine in - *-digital*) - basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` - ;; - *-commodore*) - basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` - ;; - *) - ;; -esac - -# Decode manufacturer-specific aliases for certain operating systems. - -if [ x"$os" != x"" ] -then -case $os in - # First match some system type aliases - # that might get confused with valid system types. - # -solaris* is a basic system type, with this one exception. - -auroraux) - os=-auroraux - ;; - -solaris1 | -solaris1.*) - os=`echo $os | sed -e 's|solaris1|sunos4|'` - ;; - -solaris) - os=-solaris2 - ;; - -svr4*) - os=-sysv4 - ;; - -unixware*) - os=-sysv4.2uw - ;; - -gnu/linux*) - os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` - ;; - # First accept the basic system types. - # The portable systems comes first. - # Each alternative MUST END IN A *, to match a version number. - # -sysv* is not here because it comes later, after sysvr4. - -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ - | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\ - | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \ - | -sym* | -kopensolaris* \ - | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ - | -aos* | -aros* \ - | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ - | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ - | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ - | -openbsd* | -solidbsd* \ - | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ - | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ - | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ - | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ - | -chorusos* | -chorusrdb* | -cegcc* \ - | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ - | -mingw32* | -linux-gnu* | -linux-android* \ - | -linux-newlib* | -linux-uclibc* \ - | -uxpv* | -beos* | -mpeix* | -udk* \ - | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ - | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ - | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ - | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ - | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ - | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ - | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*) - # Remember, each alternative MUST END IN *, to match a version number. - ;; - -qnx*) - case $basic_machine in - x86-* | i*86-*) - ;; - *) - os=-nto$os - ;; - esac - ;; - -nto-qnx*) - ;; - -nto*) - os=`echo $os | sed -e 's|nto|nto-qnx|'` - ;; - -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ - | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \ - | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) - ;; - -mac*) - os=`echo $os | sed -e 's|mac|macos|'` - ;; - -linux-dietlibc) - os=-linux-dietlibc - ;; - -linux*) - os=`echo $os | sed -e 's|linux|linux-gnu|'` - ;; - -sunos5*) - os=`echo $os | sed -e 's|sunos5|solaris2|'` - ;; - -sunos6*) - os=`echo $os | sed -e 's|sunos6|solaris3|'` - ;; - -opened*) - os=-openedition - ;; - -os400*) - os=-os400 - ;; - -wince*) - os=-wince - ;; - -osfrose*) - os=-osfrose - ;; - -osf*) - os=-osf - ;; - -utek*) - os=-bsd - ;; - -dynix*) - os=-bsd - ;; - -acis*) - os=-aos - ;; - -atheos*) - os=-atheos - ;; - -syllable*) - os=-syllable - ;; - -386bsd) - os=-bsd - ;; - -ctix* | -uts*) - os=-sysv - ;; - -nova*) - os=-rtmk-nova - ;; - -ns2 ) - os=-nextstep2 - ;; - -nsk*) - os=-nsk - ;; - # Preserve the version number of sinix5. - -sinix5.*) - os=`echo $os | sed -e 's|sinix|sysv|'` - ;; - -sinix*) - os=-sysv4 - ;; - -tpf*) - os=-tpf - ;; - -triton*) - os=-sysv3 - ;; - -oss*) - os=-sysv3 - ;; - -svr4) - os=-sysv4 - ;; - -svr3) - os=-sysv3 - ;; - -sysvr4) - os=-sysv4 - ;; - # This must come after -sysvr4. - -sysv*) - ;; - -ose*) - os=-ose - ;; - -es1800*) - os=-ose - ;; - -xenix) - os=-xenix - ;; - -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) - os=-mint - ;; - -aros*) - os=-aros - ;; - -kaos*) - os=-kaos - ;; - -zvmoe) - os=-zvmoe - ;; - -dicos*) - os=-dicos - ;; - -nacl*) - ;; - -none) - ;; - *) - # Get rid of the `-' at the beginning of $os. - os=`echo $os | sed 's/[^-]*-//'` - echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 - exit 1 - ;; -esac -else - -# Here we handle the default operating systems that come with various machines. -# The value should be what the vendor currently ships out the door with their -# machine or put another way, the most popular os provided with the machine. - -# Note that if you're going to try to match "-MANUFACTURER" here (say, -# "-sun"), then you have to tell the case statement up towards the top -# that MANUFACTURER isn't an operating system. Otherwise, code above -# will signal an error saying that MANUFACTURER isn't an operating -# system, and we'll never get to this point. - -case $basic_machine in - score-*) - os=-elf - ;; - spu-*) - os=-elf - ;; - *-acorn) - os=-riscix1.2 - ;; - arm*-rebel) - os=-linux - ;; - arm*-semi) - os=-aout - ;; - c4x-* | tic4x-*) - os=-coff - ;; - hexagon-*) - os=-elf - ;; - tic54x-*) - os=-coff - ;; - tic55x-*) - os=-coff - ;; - tic6x-*) - os=-coff - ;; - # This must come before the *-dec entry. - pdp10-*) - os=-tops20 - ;; - pdp11-*) - os=-none - ;; - *-dec | vax-*) - os=-ultrix4.2 - ;; - m68*-apollo) - os=-domain - ;; - i386-sun) - os=-sunos4.0.2 - ;; - m68000-sun) - os=-sunos3 - ;; - m68*-cisco) - os=-aout - ;; - mep-*) - os=-elf - ;; - mips*-cisco) - os=-elf - ;; - mips*-*) - os=-elf - ;; - or32-*) - os=-coff - ;; - *-tti) # must be before sparc entry or we get the wrong os. - os=-sysv3 - ;; - sparc-* | *-sun) - os=-sunos4.1.1 - ;; - *-be) - os=-beos - ;; - *-haiku) - os=-haiku - ;; - *-ibm) - os=-aix - ;; - *-knuth) - os=-mmixware - ;; - *-wec) - os=-proelf - ;; - *-winbond) - os=-proelf - ;; - *-oki) - os=-proelf - ;; - *-hp) - os=-hpux - ;; - *-hitachi) - os=-hiux - ;; - i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) - os=-sysv - ;; - *-cbm) - os=-amigaos - ;; - *-dg) - os=-dgux - ;; - *-dolphin) - os=-sysv3 - ;; - m68k-ccur) - os=-rtu - ;; - m88k-omron*) - os=-luna - ;; - *-next ) - os=-nextstep - ;; - *-sequent) - os=-ptx - ;; - *-crds) - os=-unos - ;; - *-ns) - os=-genix - ;; - i370-*) - os=-mvs - ;; - *-next) - os=-nextstep3 - ;; - *-gould) - os=-sysv - ;; - *-highlevel) - os=-bsd - ;; - *-encore) - os=-bsd - ;; - *-sgi) - os=-irix - ;; - *-siemens) - os=-sysv4 - ;; - *-masscomp) - os=-rtu - ;; - f30[01]-fujitsu | f700-fujitsu) - os=-uxpv - ;; - *-rom68k) - os=-coff - ;; - *-*bug) - os=-coff - ;; - *-apple) - os=-macos - ;; - *-atari*) - os=-mint - ;; - *) - os=-none - ;; -esac -fi - -# Here we handle the case where we know the os, and the CPU type, but not the -# manufacturer. We pick the logical manufacturer. -vendor=unknown -case $basic_machine in - *-unknown) - case $os in - -riscix*) - vendor=acorn - ;; - -sunos*) - vendor=sun - ;; - -cnk*|-aix*) - vendor=ibm - ;; - -beos*) - vendor=be - ;; - -hpux*) - vendor=hp - ;; - -mpeix*) - vendor=hp - ;; - -hiux*) - vendor=hitachi - ;; - -unos*) - vendor=crds - ;; - -dgux*) - vendor=dg - ;; - -luna*) - vendor=omron - ;; - -genix*) - vendor=ns - ;; - -mvs* | -opened*) - vendor=ibm - ;; - -os400*) - vendor=ibm - ;; - -ptx*) - vendor=sequent - ;; - -tpf*) - vendor=ibm - ;; - -vxsim* | -vxworks* | -windiss*) - vendor=wrs - ;; - -aux*) - vendor=apple - ;; - -hms*) - vendor=hitachi - ;; - -mpw* | -macos*) - vendor=apple - ;; - -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) - vendor=atari - ;; - -vos*) - vendor=stratus - ;; - esac - basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` - ;; -esac - -echo $basic_machine$os -exit - -# Local variables: -# eval: (add-hook 'write-file-hooks 'time-stamp) -# time-stamp-start: "timestamp='" -# time-stamp-format: "%:y-%02m-%02d" -# time-stamp-end: "'" -# End: diff --git a/GRIB_BLE_HUB/libs/ble_extend/configure b/GRIB_BLE_HUB/libs/ble_extend/configure deleted file mode 100644 index 397e097..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/configure +++ /dev/null @@ -1,16117 +0,0 @@ -#! /bin/sh -# Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for bluez 5.4. -# -# -# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc. -# -# -# This configure script is free software; the Free Software Foundation -# gives unlimited permission to copy, distribute and modify it. -## -------------------- ## -## M4sh Initialization. ## -## -------------------- ## - -# Be more Bourne compatible -DUALCASE=1; export DUALCASE # for MKS sh -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : - emulate sh - NULLCMD=: - # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which - # is contrary to our usage. Disable this feature. - alias -g '${1+"$@"}'='"$@"' - setopt NO_GLOB_SUBST -else - case `(set -o) 2>/dev/null` in #( - *posix*) : - set -o posix ;; #( - *) : - ;; -esac -fi - - -as_nl=' -' -export as_nl -# Printing a long string crashes Solaris 7 /usr/bin/printf. -as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' -as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo -as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo -# Prefer a ksh shell builtin over an external printf program on Solaris, -# but without wasting forks for bash or zsh. -if test -z "$BASH_VERSION$ZSH_VERSION" \ - && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then - as_echo='print -r --' - as_echo_n='print -rn --' -elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then - as_echo='printf %s\n' - as_echo_n='printf %s' -else - if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then - as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' - as_echo_n='/usr/ucb/echo -n' - else - as_echo_body='eval expr "X$1" : "X\\(.*\\)"' - as_echo_n_body='eval - arg=$1; - case $arg in #( - *"$as_nl"*) - expr "X$arg" : "X\\(.*\\)$as_nl"; - arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; - esac; - expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" - ' - export as_echo_n_body - as_echo_n='sh -c $as_echo_n_body as_echo' - fi - export as_echo_body - as_echo='sh -c $as_echo_body as_echo' -fi - -# The user is always right. -if test "${PATH_SEPARATOR+set}" != set; then - PATH_SEPARATOR=: - (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { - (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || - PATH_SEPARATOR=';' - } -fi - - -# IFS -# We need space, tab and new line, in precisely that order. Quoting is -# there to prevent editors from complaining about space-tab. -# (If _AS_PATH_WALK were called with IFS unset, it would disable word -# splitting by setting IFS to empty value.) -IFS=" "" $as_nl" - -# Find who we are. Look in the path if we contain no directory separator. -as_myself= -case $0 in #(( - *[\\/]* ) as_myself=$0 ;; - *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break - done -IFS=$as_save_IFS - - ;; -esac -# We did not find ourselves, most probably we were run as `sh COMMAND' -# in which case we are not to be found in the path. -if test "x$as_myself" = x; then - as_myself=$0 -fi -if test ! -f "$as_myself"; then - $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 - exit 1 -fi - -# Unset variables that we do not need and which cause bugs (e.g. in -# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" -# suppresses any "Segmentation fault" message there. '((' could -# trigger a bug in pdksh 5.2.14. -for as_var in BASH_ENV ENV MAIL MAILPATH -do eval test x\${$as_var+set} = xset \ - && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : -done -PS1='$ ' -PS2='> ' -PS4='+ ' - -# NLS nuisances. -LC_ALL=C -export LC_ALL -LANGUAGE=C -export LANGUAGE - -# CDPATH. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH - -# Use a proper internal environment variable to ensure we don't fall - # into an infinite loop, continuously re-executing ourselves. - if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then - _as_can_reexec=no; export _as_can_reexec; - # We cannot yet assume a decent shell, so we have to provide a -# neutralization value for shells without unset; and this also -# works around shells that cannot unset nonexistent variables. -# Preserve -v and -x to the replacement shell. -BASH_ENV=/dev/null -ENV=/dev/null -(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV -case $- in # (((( - *v*x* | *x*v* ) as_opts=-vx ;; - *v* ) as_opts=-v ;; - *x* ) as_opts=-x ;; - * ) as_opts= ;; -esac -exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} -# Admittedly, this is quite paranoid, since all the known shells bail -# out after a failed `exec'. -$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 -as_fn_exit 255 - fi - # We don't want this to propagate to other subprocesses. - { _as_can_reexec=; unset _as_can_reexec;} -if test "x$CONFIG_SHELL" = x; then - as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then : - emulate sh - NULLCMD=: - # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which - # is contrary to our usage. Disable this feature. - alias -g '\${1+\"\$@\"}'='\"\$@\"' - setopt NO_GLOB_SUBST -else - case \`(set -o) 2>/dev/null\` in #( - *posix*) : - set -o posix ;; #( - *) : - ;; -esac -fi -" - as_required="as_fn_return () { (exit \$1); } -as_fn_success () { as_fn_return 0; } -as_fn_failure () { as_fn_return 1; } -as_fn_ret_success () { return 0; } -as_fn_ret_failure () { return 1; } - -exitcode=0 -as_fn_success || { exitcode=1; echo as_fn_success failed.; } -as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; } -as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; } -as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; } -if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then : - -else - exitcode=1; echo positional parameters were not saved. -fi -test x\$exitcode = x0 || exit 1 -test -x / || exit 1" - as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO - as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO - eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" && - test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1 -test \$(( 1 + 1 )) = 2 || exit 1 - - test -n \"\${ZSH_VERSION+set}\${BASH_VERSION+set}\" || ( - ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' - ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO - ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO - PATH=/empty FPATH=/empty; export PATH FPATH - test \"X\`printf %s \$ECHO\`\" = \"X\$ECHO\" \\ - || test \"X\`print -r -- \$ECHO\`\" = \"X\$ECHO\" ) || exit 1" - if (eval "$as_required") 2>/dev/null; then : - as_have_required=yes -else - as_have_required=no -fi - if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then : - -else - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -as_found=false -for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - as_found=: - case $as_dir in #( - /*) - for as_base in sh bash ksh sh5; do - # Try only shells that exist, to save several forks. - as_shell=$as_dir/$as_base - if { test -f "$as_shell" || test -f "$as_shell.exe"; } && - { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then : - CONFIG_SHELL=$as_shell as_have_required=yes - if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then : - break 2 -fi -fi - done;; - esac - as_found=false -done -$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } && - { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then : - CONFIG_SHELL=$SHELL as_have_required=yes -fi; } -IFS=$as_save_IFS - - - if test "x$CONFIG_SHELL" != x; then : - export CONFIG_SHELL - # We cannot yet assume a decent shell, so we have to provide a -# neutralization value for shells without unset; and this also -# works around shells that cannot unset nonexistent variables. -# Preserve -v and -x to the replacement shell. -BASH_ENV=/dev/null -ENV=/dev/null -(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV -case $- in # (((( - *v*x* | *x*v* ) as_opts=-vx ;; - *v* ) as_opts=-v ;; - *x* ) as_opts=-x ;; - * ) as_opts= ;; -esac -exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} -# Admittedly, this is quite paranoid, since all the known shells bail -# out after a failed `exec'. -$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 -exit 255 -fi - - if test x$as_have_required = xno; then : - $as_echo "$0: This script requires a shell more modern than all" - $as_echo "$0: the shells that I found on your system." - if test x${ZSH_VERSION+set} = xset ; then - $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should" - $as_echo "$0: be upgraded to zsh 4.3.4 or later." - else - $as_echo "$0: Please tell bug-autoconf@gnu.org about your system, -$0: including any error possibly output before this -$0: message. Then install a modern shell, or manually run -$0: the script under such a shell if you do have one." - fi - exit 1 -fi -fi -fi -SHELL=${CONFIG_SHELL-/bin/sh} -export SHELL -# Unset more variables known to interfere with behavior of common tools. -CLICOLOR_FORCE= GREP_OPTIONS= -unset CLICOLOR_FORCE GREP_OPTIONS - -## --------------------- ## -## M4sh Shell Functions. ## -## --------------------- ## -# as_fn_unset VAR -# --------------- -# Portably unset VAR. -as_fn_unset () -{ - { eval $1=; unset $1;} -} -as_unset=as_fn_unset - -# as_fn_set_status STATUS -# ----------------------- -# Set $? to STATUS, without forking. -as_fn_set_status () -{ - return $1 -} # as_fn_set_status - -# as_fn_exit STATUS -# ----------------- -# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. -as_fn_exit () -{ - set +e - as_fn_set_status $1 - exit $1 -} # as_fn_exit - -# as_fn_mkdir_p -# ------------- -# Create "$as_dir" as a directory, including parents if necessary. -as_fn_mkdir_p () -{ - - case $as_dir in #( - -*) as_dir=./$as_dir;; - esac - test -d "$as_dir" || eval $as_mkdir_p || { - as_dirs= - while :; do - case $as_dir in #( - *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( - *) as_qdir=$as_dir;; - esac - as_dirs="'$as_qdir' $as_dirs" - as_dir=`$as_dirname -- "$as_dir" || -$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$as_dir" : 'X\(//\)[^/]' \| \ - X"$as_dir" : 'X\(//\)$' \| \ - X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$as_dir" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - test -d "$as_dir" && break - done - test -z "$as_dirs" || eval "mkdir $as_dirs" - } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" - - -} # as_fn_mkdir_p - -# as_fn_executable_p FILE -# ----------------------- -# Test if FILE is an executable regular file. -as_fn_executable_p () -{ - test -f "$1" && test -x "$1" -} # as_fn_executable_p -# as_fn_append VAR VALUE -# ---------------------- -# Append the text in VALUE to the end of the definition contained in VAR. Take -# advantage of any shell optimizations that allow amortized linear growth over -# repeated appends, instead of the typical quadratic growth present in naive -# implementations. -if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : - eval 'as_fn_append () - { - eval $1+=\$2 - }' -else - as_fn_append () - { - eval $1=\$$1\$2 - } -fi # as_fn_append - -# as_fn_arith ARG... -# ------------------ -# Perform arithmetic evaluation on the ARGs, and store the result in the -# global $as_val. Take advantage of shells that can avoid forks. The arguments -# must be portable across $(()) and expr. -if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : - eval 'as_fn_arith () - { - as_val=$(( $* )) - }' -else - as_fn_arith () - { - as_val=`expr "$@" || test $? -eq 1` - } -fi # as_fn_arith - - -# as_fn_error STATUS ERROR [LINENO LOG_FD] -# ---------------------------------------- -# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are -# provided, also output the error to LOG_FD, referencing LINENO. Then exit the -# script with STATUS, using 1 if that was 0. -as_fn_error () -{ - as_status=$1; test $as_status -eq 0 && as_status=1 - if test "$4"; then - as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 - fi - $as_echo "$as_me: error: $2" >&2 - as_fn_exit $as_status -} # as_fn_error - -if expr a : '\(a\)' >/dev/null 2>&1 && - test "X`expr 00001 : '.*\(...\)'`" = X001; then - as_expr=expr -else - as_expr=false -fi - -if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then - as_basename=basename -else - as_basename=false -fi - -if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then - as_dirname=dirname -else - as_dirname=false -fi - -as_me=`$as_basename -- "$0" || -$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ - X"$0" : 'X\(//\)$' \| \ - X"$0" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X/"$0" | - sed '/^.*\/\([^/][^/]*\)\/*$/{ - s//\1/ - q - } - /^X\/\(\/\/\)$/{ - s//\1/ - q - } - /^X\/\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - -# Avoid depending upon Character Ranges. -as_cr_letters='abcdefghijklmnopqrstuvwxyz' -as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' -as_cr_Letters=$as_cr_letters$as_cr_LETTERS -as_cr_digits='0123456789' -as_cr_alnum=$as_cr_Letters$as_cr_digits - - - as_lineno_1=$LINENO as_lineno_1a=$LINENO - as_lineno_2=$LINENO as_lineno_2a=$LINENO - eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" && - test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || { - # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-) - sed -n ' - p - /[$]LINENO/= - ' <$as_myself | - sed ' - s/[$]LINENO.*/&-/ - t lineno - b - :lineno - N - :loop - s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ - t loop - s/-\n.*// - ' >$as_me.lineno && - chmod +x "$as_me.lineno" || - { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; } - - # If we had to re-execute with $CONFIG_SHELL, we're ensured to have - # already done that, so ensure we don't try to do so again and fall - # in an infinite loop. This has already happened in practice. - _as_can_reexec=no; export _as_can_reexec - # Don't try to exec as it changes $[0], causing all sort of problems - # (the dirname of $[0] is not the place where we might find the - # original and so on. Autoconf is especially sensitive to this). - . "./$as_me.lineno" - # Exit status is that of the last command. - exit -} - -ECHO_C= ECHO_N= ECHO_T= -case `echo -n x` in #((((( --n*) - case `echo 'xy\c'` in - *c*) ECHO_T=' ';; # ECHO_T is single tab character. - xy) ECHO_C='\c';; - *) echo `echo ksh88 bug on AIX 6.1` > /dev/null - ECHO_T=' ';; - esac;; -*) - ECHO_N='-n';; -esac - -rm -f conf$$ conf$$.exe conf$$.file -if test -d conf$$.dir; then - rm -f conf$$.dir/conf$$.file -else - rm -f conf$$.dir - mkdir conf$$.dir 2>/dev/null -fi -if (echo >conf$$.file) 2>/dev/null; then - if ln -s conf$$.file conf$$ 2>/dev/null; then - as_ln_s='ln -s' - # ... but there are two gotchas: - # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. - # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. - # In both cases, we have to default to `cp -pR'. - ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || - as_ln_s='cp -pR' - elif ln conf$$.file conf$$ 2>/dev/null; then - as_ln_s=ln - else - as_ln_s='cp -pR' - fi -else - as_ln_s='cp -pR' -fi -rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file -rmdir conf$$.dir 2>/dev/null - -if mkdir -p . 2>/dev/null; then - as_mkdir_p='mkdir -p "$as_dir"' -else - test -d ./-p && rmdir ./-p - as_mkdir_p=false -fi - -as_test_x='test -x' -as_executable_p=as_fn_executable_p - -# Sed expression to map a string onto a valid CPP name. -as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" - -# Sed expression to map a string onto a valid variable name. -as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" - -SHELL=${CONFIG_SHELL-/bin/sh} - - -test -n "$DJDIR" || exec 7<&0 &1 - -# Name of the host. -# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status, -# so uname gets run too. -ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` - -# -# Initializations. -# -ac_default_prefix=/usr/local -ac_clean_files= -ac_config_libobj_dir=. -LIBOBJS= -cross_compiling=no -subdirs= -MFLAGS= -MAKEFLAGS= - -# Identity of this package. -PACKAGE_NAME='bluez' -PACKAGE_TARNAME='bluez' -PACKAGE_VERSION='5.4' -PACKAGE_STRING='bluez 5.4' -PACKAGE_BUGREPORT='' -PACKAGE_URL='' - -# Factoring default headers for most tests. -ac_includes_default="\ -#include -#ifdef HAVE_SYS_TYPES_H -# include -#endif -#ifdef HAVE_SYS_STAT_H -# include -#endif -#ifdef STDC_HEADERS -# include -# include -#else -# ifdef HAVE_STDLIB_H -# include -# endif -#endif -#ifdef HAVE_STRING_H -# if !defined STDC_HEADERS && defined HAVE_MEMORY_H -# include -# endif -# include -#endif -#ifdef HAVE_STRINGS_H -# include -#endif -#ifdef HAVE_INTTYPES_H -# include -#endif -#ifdef HAVE_STDINT_H -# include -#endif -#ifdef HAVE_UNISTD_H -# include -#endif" - -ac_default_prefix=/usr/local -ac_subst_vars='am__EXEEXT_FALSE -am__EXEEXT_TRUE -LTLIBOBJS -LIBOBJS -EXPERIMENTAL_FALSE -EXPERIMENTAL_TRUE -DATAFILES_FALSE -DATAFILES_TRUE -SYSTEMD_USERUNITDIR -SYSTEMD_SYSTEMUNITDIR -SYSTEMD_FALSE -SYSTEMD_TRUE -READLINE_FALSE -READLINE_TRUE -CLIENT_FALSE -CLIENT_TRUE -OBEX_FALSE -OBEX_TRUE -ICAL_LIBS -ICAL_CFLAGS -CUPS_FALSE -CUPS_TRUE -HID2HCI_FALSE -HID2HCI_TRUE -UDEV_DIR -UDEV_FALSE -UDEV_TRUE -UDEV_LIBS -UDEV_CFLAGS -USB_FALSE -USB_TRUE -USB_LIBS -USB_CFLAGS -MONITOR_FALSE -MONITOR_TRUE -TOOLS_FALSE -TOOLS_TRUE -TEST_FALSE -TEST_TRUE -LIBRARY_FALSE -LIBRARY_TRUE -DBUS_SESSIONBUSDIR -DBUS_SYSTEMBUSDIR -DBUS_CONFDIR -DBUS_LIBS -DBUS_CFLAGS -GTHREAD_LIBS -GTHREAD_CFLAGS -GLIB_LIBS -GLIB_CFLAGS -MISC_LDFLAGS -MISC_CFLAGS -OTOOL64 -OTOOL -LIPO -NMEDIT -DSYMUTIL -MANIFEST_TOOL -RANLIB -ac_ct_AR -AR -DLLTOOL -OBJDUMP -LN_S -NM -ac_ct_DUMPBIN -DUMPBIN -LD -FGREP -SED -host_os -host_vendor -host_cpu -host -build_os -build_vendor -build_cpu -build -LIBTOOL -WARNING_CFLAGS -PKG_CONFIG_LIBDIR -PKG_CONFIG_PATH -PKG_CONFIG -MAINT -MAINTAINER_MODE_FALSE -MAINTAINER_MODE_TRUE -EGREP -GREP -CPP -am__fastdepCC_FALSE -am__fastdepCC_TRUE -CCDEPMODE -am__nodep -AMDEPBACKSLASH -AMDEP_FALSE -AMDEP_TRUE -am__quote -am__include -DEPDIR -OBJEXT -EXEEXT -ac_ct_CC -CPPFLAGS -LDFLAGS -CFLAGS -CC -AM_BACKSLASH -AM_DEFAULT_VERBOSITY -AM_DEFAULT_V -AM_V -am__untar -am__tar -AMTAR -am__leading_dot -SET_MAKE -AWK -mkdir_p -MKDIR_P -INSTALL_STRIP_PROGRAM -STRIP -install_sh -MAKEINFO -AUTOHEADER -AUTOMAKE -AUTOCONF -ACLOCAL -VERSION -PACKAGE -CYGPATH_W -am__isrc -INSTALL_DATA -INSTALL_SCRIPT -INSTALL_PROGRAM -target_alias -host_alias -build_alias -LIBS -ECHO_T -ECHO_N -ECHO_C -DEFS -mandir -localedir -libdir -psdir -pdfdir -dvidir -htmldir -infodir -docdir -oldincludedir -includedir -localstatedir -sharedstatedir -sysconfdir -datadir -datarootdir -libexecdir -sbindir -bindir -program_transform_name -prefix -exec_prefix -PACKAGE_URL -PACKAGE_BUGREPORT -PACKAGE_STRING -PACKAGE_VERSION -PACKAGE_TARNAME -PACKAGE_NAME -PATH_SEPARATOR -SHELL' -ac_subst_files='' -ac_user_opts=' -enable_option_checking -enable_silent_rules -enable_dependency_tracking -enable_maintainer_mode -enable_static -enable_shared -with_pic -enable_fast_install -with_gnu_ld -with_sysroot -enable_libtool_lock -enable_optimization -enable_debug -enable_pie -enable_threads -with_dbusconfdir -with_dbussystembusdir -with_dbussessionbusdir -enable_library -enable_test -enable_tools -enable_monitor -enable_usb -enable_udev -with_udevdir -enable_cups -enable_obex -enable_client -enable_systemd -with_systemdsystemunitdir -with_systemduserunitdir -enable_datafiles -enable_experimental -' - ac_precious_vars='build_alias -host_alias -target_alias -CC -CFLAGS -LDFLAGS -LIBS -CPPFLAGS -CPP -PKG_CONFIG -PKG_CONFIG_PATH -PKG_CONFIG_LIBDIR -GLIB_CFLAGS -GLIB_LIBS -GTHREAD_CFLAGS -GTHREAD_LIBS -DBUS_CFLAGS -DBUS_LIBS -USB_CFLAGS -USB_LIBS -UDEV_CFLAGS -UDEV_LIBS -ICAL_CFLAGS -ICAL_LIBS' - - -# Initialize some variables set by options. -ac_init_help= -ac_init_version=false -ac_unrecognized_opts= -ac_unrecognized_sep= -# The variables have the same names as the options, with -# dashes changed to underlines. -cache_file=/dev/null -exec_prefix=NONE -no_create= -no_recursion= -prefix=NONE -program_prefix=NONE -program_suffix=NONE -program_transform_name=s,x,x, -silent= -site= -srcdir= -verbose= -x_includes=NONE -x_libraries=NONE - -# Installation directory options. -# These are left unexpanded so users can "make install exec_prefix=/foo" -# and all the variables that are supposed to be based on exec_prefix -# by default will actually change. -# Use braces instead of parens because sh, perl, etc. also accept them. -# (The list follows the same order as the GNU Coding Standards.) -bindir='${exec_prefix}/bin' -sbindir='${exec_prefix}/sbin' -libexecdir='${exec_prefix}/libexec' -datarootdir='${prefix}/share' -datadir='${datarootdir}' -sysconfdir='${prefix}/etc' -sharedstatedir='${prefix}/com' -localstatedir='${prefix}/var' -includedir='${prefix}/include' -oldincludedir='/usr/include' -docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' -infodir='${datarootdir}/info' -htmldir='${docdir}' -dvidir='${docdir}' -pdfdir='${docdir}' -psdir='${docdir}' -libdir='${exec_prefix}/lib' -localedir='${datarootdir}/locale' -mandir='${datarootdir}/man' - -ac_prev= -ac_dashdash= -for ac_option -do - # If the previous option needs an argument, assign it. - if test -n "$ac_prev"; then - eval $ac_prev=\$ac_option - ac_prev= - continue - fi - - case $ac_option in - *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; - *=) ac_optarg= ;; - *) ac_optarg=yes ;; - esac - - # Accept the important Cygnus configure options, so we can diagnose typos. - - case $ac_dashdash$ac_option in - --) - ac_dashdash=yes ;; - - -bindir | --bindir | --bindi | --bind | --bin | --bi) - ac_prev=bindir ;; - -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) - bindir=$ac_optarg ;; - - -build | --build | --buil | --bui | --bu) - ac_prev=build_alias ;; - -build=* | --build=* | --buil=* | --bui=* | --bu=*) - build_alias=$ac_optarg ;; - - -cache-file | --cache-file | --cache-fil | --cache-fi \ - | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) - ac_prev=cache_file ;; - -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ - | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) - cache_file=$ac_optarg ;; - - --config-cache | -C) - cache_file=config.cache ;; - - -datadir | --datadir | --datadi | --datad) - ac_prev=datadir ;; - -datadir=* | --datadir=* | --datadi=* | --datad=*) - datadir=$ac_optarg ;; - - -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ - | --dataroo | --dataro | --datar) - ac_prev=datarootdir ;; - -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ - | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) - datarootdir=$ac_optarg ;; - - -disable-* | --disable-*) - ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error $? "invalid feature name: $ac_useropt" - ac_useropt_orig=$ac_useropt - ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` - case $ac_user_opts in - *" -"enable_$ac_useropt" -"*) ;; - *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig" - ac_unrecognized_sep=', ';; - esac - eval enable_$ac_useropt=no ;; - - -docdir | --docdir | --docdi | --doc | --do) - ac_prev=docdir ;; - -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) - docdir=$ac_optarg ;; - - -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) - ac_prev=dvidir ;; - -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) - dvidir=$ac_optarg ;; - - -enable-* | --enable-*) - ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error $? "invalid feature name: $ac_useropt" - ac_useropt_orig=$ac_useropt - ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` - case $ac_user_opts in - *" -"enable_$ac_useropt" -"*) ;; - *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig" - ac_unrecognized_sep=', ';; - esac - eval enable_$ac_useropt=\$ac_optarg ;; - - -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ - | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ - | --exec | --exe | --ex) - ac_prev=exec_prefix ;; - -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ - | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ - | --exec=* | --exe=* | --ex=*) - exec_prefix=$ac_optarg ;; - - -gas | --gas | --ga | --g) - # Obsolete; use --with-gas. - with_gas=yes ;; - - -help | --help | --hel | --he | -h) - ac_init_help=long ;; - -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) - ac_init_help=recursive ;; - -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) - ac_init_help=short ;; - - -host | --host | --hos | --ho) - ac_prev=host_alias ;; - -host=* | --host=* | --hos=* | --ho=*) - host_alias=$ac_optarg ;; - - -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) - ac_prev=htmldir ;; - -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ - | --ht=*) - htmldir=$ac_optarg ;; - - -includedir | --includedir | --includedi | --included | --include \ - | --includ | --inclu | --incl | --inc) - ac_prev=includedir ;; - -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ - | --includ=* | --inclu=* | --incl=* | --inc=*) - includedir=$ac_optarg ;; - - -infodir | --infodir | --infodi | --infod | --info | --inf) - ac_prev=infodir ;; - -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) - infodir=$ac_optarg ;; - - -libdir | --libdir | --libdi | --libd) - ac_prev=libdir ;; - -libdir=* | --libdir=* | --libdi=* | --libd=*) - libdir=$ac_optarg ;; - - -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ - | --libexe | --libex | --libe) - ac_prev=libexecdir ;; - -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ - | --libexe=* | --libex=* | --libe=*) - libexecdir=$ac_optarg ;; - - -localedir | --localedir | --localedi | --localed | --locale) - ac_prev=localedir ;; - -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) - localedir=$ac_optarg ;; - - -localstatedir | --localstatedir | --localstatedi | --localstated \ - | --localstate | --localstat | --localsta | --localst | --locals) - ac_prev=localstatedir ;; - -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ - | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) - localstatedir=$ac_optarg ;; - - -mandir | --mandir | --mandi | --mand | --man | --ma | --m) - ac_prev=mandir ;; - -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) - mandir=$ac_optarg ;; - - -nfp | --nfp | --nf) - # Obsolete; use --without-fp. - with_fp=no ;; - - -no-create | --no-create | --no-creat | --no-crea | --no-cre \ - | --no-cr | --no-c | -n) - no_create=yes ;; - - -no-recursion | --no-recursion | --no-recursio | --no-recursi \ - | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) - no_recursion=yes ;; - - -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ - | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ - | --oldin | --oldi | --old | --ol | --o) - ac_prev=oldincludedir ;; - -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ - | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ - | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) - oldincludedir=$ac_optarg ;; - - -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) - ac_prev=prefix ;; - -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) - prefix=$ac_optarg ;; - - -program-prefix | --program-prefix | --program-prefi | --program-pref \ - | --program-pre | --program-pr | --program-p) - ac_prev=program_prefix ;; - -program-prefix=* | --program-prefix=* | --program-prefi=* \ - | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) - program_prefix=$ac_optarg ;; - - -program-suffix | --program-suffix | --program-suffi | --program-suff \ - | --program-suf | --program-su | --program-s) - ac_prev=program_suffix ;; - -program-suffix=* | --program-suffix=* | --program-suffi=* \ - | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) - program_suffix=$ac_optarg ;; - - -program-transform-name | --program-transform-name \ - | --program-transform-nam | --program-transform-na \ - | --program-transform-n | --program-transform- \ - | --program-transform | --program-transfor \ - | --program-transfo | --program-transf \ - | --program-trans | --program-tran \ - | --progr-tra | --program-tr | --program-t) - ac_prev=program_transform_name ;; - -program-transform-name=* | --program-transform-name=* \ - | --program-transform-nam=* | --program-transform-na=* \ - | --program-transform-n=* | --program-transform-=* \ - | --program-transform=* | --program-transfor=* \ - | --program-transfo=* | --program-transf=* \ - | --program-trans=* | --program-tran=* \ - | --progr-tra=* | --program-tr=* | --program-t=*) - program_transform_name=$ac_optarg ;; - - -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) - ac_prev=pdfdir ;; - -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) - pdfdir=$ac_optarg ;; - - -psdir | --psdir | --psdi | --psd | --ps) - ac_prev=psdir ;; - -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) - psdir=$ac_optarg ;; - - -q | -quiet | --quiet | --quie | --qui | --qu | --q \ - | -silent | --silent | --silen | --sile | --sil) - silent=yes ;; - - -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) - ac_prev=sbindir ;; - -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ - | --sbi=* | --sb=*) - sbindir=$ac_optarg ;; - - -sharedstatedir | --sharedstatedir | --sharedstatedi \ - | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ - | --sharedst | --shareds | --shared | --share | --shar \ - | --sha | --sh) - ac_prev=sharedstatedir ;; - -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ - | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ - | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ - | --sha=* | --sh=*) - sharedstatedir=$ac_optarg ;; - - -site | --site | --sit) - ac_prev=site ;; - -site=* | --site=* | --sit=*) - site=$ac_optarg ;; - - -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) - ac_prev=srcdir ;; - -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) - srcdir=$ac_optarg ;; - - -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ - | --syscon | --sysco | --sysc | --sys | --sy) - ac_prev=sysconfdir ;; - -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ - | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) - sysconfdir=$ac_optarg ;; - - -target | --target | --targe | --targ | --tar | --ta | --t) - ac_prev=target_alias ;; - -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) - target_alias=$ac_optarg ;; - - -v | -verbose | --verbose | --verbos | --verbo | --verb) - verbose=yes ;; - - -version | --version | --versio | --versi | --vers | -V) - ac_init_version=: ;; - - -with-* | --with-*) - ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error $? "invalid package name: $ac_useropt" - ac_useropt_orig=$ac_useropt - ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` - case $ac_user_opts in - *" -"with_$ac_useropt" -"*) ;; - *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig" - ac_unrecognized_sep=', ';; - esac - eval with_$ac_useropt=\$ac_optarg ;; - - -without-* | --without-*) - ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error $? "invalid package name: $ac_useropt" - ac_useropt_orig=$ac_useropt - ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` - case $ac_user_opts in - *" -"with_$ac_useropt" -"*) ;; - *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig" - ac_unrecognized_sep=', ';; - esac - eval with_$ac_useropt=no ;; - - --x) - # Obsolete; use --with-x. - with_x=yes ;; - - -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ - | --x-incl | --x-inc | --x-in | --x-i) - ac_prev=x_includes ;; - -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ - | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) - x_includes=$ac_optarg ;; - - -x-libraries | --x-libraries | --x-librarie | --x-librari \ - | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) - ac_prev=x_libraries ;; - -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ - | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) - x_libraries=$ac_optarg ;; - - -*) as_fn_error $? "unrecognized option: \`$ac_option' -Try \`$0 --help' for more information" - ;; - - *=*) - ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` - # Reject names that are not valid shell variable names. - case $ac_envvar in #( - '' | [0-9]* | *[!_$as_cr_alnum]* ) - as_fn_error $? "invalid variable name: \`$ac_envvar'" ;; - esac - eval $ac_envvar=\$ac_optarg - export $ac_envvar ;; - - *) - # FIXME: should be removed in autoconf 3.0. - $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2 - expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && - $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2 - : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}" - ;; - - esac -done - -if test -n "$ac_prev"; then - ac_option=--`echo $ac_prev | sed 's/_/-/g'` - as_fn_error $? "missing argument to $ac_option" -fi - -if test -n "$ac_unrecognized_opts"; then - case $enable_option_checking in - no) ;; - fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;; - *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; - esac -fi - -# Check all directory arguments for consistency. -for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ - datadir sysconfdir sharedstatedir localstatedir includedir \ - oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ - libdir localedir mandir -do - eval ac_val=\$$ac_var - # Remove trailing slashes. - case $ac_val in - */ ) - ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'` - eval $ac_var=\$ac_val;; - esac - # Be sure to have absolute directory names. - case $ac_val in - [\\/$]* | ?:[\\/]* ) continue;; - NONE | '' ) case $ac_var in *prefix ) continue;; esac;; - esac - as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val" -done - -# There might be people who depend on the old broken behavior: `$host' -# used to hold the argument of --host etc. -# FIXME: To remove some day. -build=$build_alias -host=$host_alias -target=$target_alias - -# FIXME: To remove some day. -if test "x$host_alias" != x; then - if test "x$build_alias" = x; then - cross_compiling=maybe - elif test "x$build_alias" != "x$host_alias"; then - cross_compiling=yes - fi -fi - -ac_tool_prefix= -test -n "$host_alias" && ac_tool_prefix=$host_alias- - -test "$silent" = yes && exec 6>/dev/null - - -ac_pwd=`pwd` && test -n "$ac_pwd" && -ac_ls_di=`ls -di .` && -ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || - as_fn_error $? "working directory cannot be determined" -test "X$ac_ls_di" = "X$ac_pwd_ls_di" || - as_fn_error $? "pwd does not report name of working directory" - - -# Find the source files, if location was not specified. -if test -z "$srcdir"; then - ac_srcdir_defaulted=yes - # Try the directory containing this script, then the parent directory. - ac_confdir=`$as_dirname -- "$as_myself" || -$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$as_myself" : 'X\(//\)[^/]' \| \ - X"$as_myself" : 'X\(//\)$' \| \ - X"$as_myself" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$as_myself" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - srcdir=$ac_confdir - if test ! -r "$srcdir/$ac_unique_file"; then - srcdir=.. - fi -else - ac_srcdir_defaulted=no -fi -if test ! -r "$srcdir/$ac_unique_file"; then - test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." - as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir" -fi -ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" -ac_abs_confdir=`( - cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg" - pwd)` -# When building in place, set srcdir=. -if test "$ac_abs_confdir" = "$ac_pwd"; then - srcdir=. -fi -# Remove unnecessary trailing slashes from srcdir. -# Double slashes in file names in object file debugging info -# mess up M-x gdb in Emacs. -case $srcdir in -*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; -esac -for ac_var in $ac_precious_vars; do - eval ac_env_${ac_var}_set=\${${ac_var}+set} - eval ac_env_${ac_var}_value=\$${ac_var} - eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} - eval ac_cv_env_${ac_var}_value=\$${ac_var} -done - -# -# Report the --help message. -# -if test "$ac_init_help" = "long"; then - # Omit some internal or obsolete options to make the list less imposing. - # This message is too long to be a string in the A/UX 3.1 sh. - cat <<_ACEOF -\`configure' configures bluez 5.4 to adapt to many kinds of systems. - -Usage: $0 [OPTION]... [VAR=VALUE]... - -To assign environment variables (e.g., CC, CFLAGS...), specify them as -VAR=VALUE. See below for descriptions of some of the useful variables. - -Defaults for the options are specified in brackets. - -Configuration: - -h, --help display this help and exit - --help=short display options specific to this package - --help=recursive display the short help of all the included packages - -V, --version display version information and exit - -q, --quiet, --silent do not print \`checking ...' messages - --cache-file=FILE cache test results in FILE [disabled] - -C, --config-cache alias for \`--cache-file=config.cache' - -n, --no-create do not create output files - --srcdir=DIR find the sources in DIR [configure dir or \`..'] - -Installation directories: - --prefix=PREFIX install architecture-independent files in PREFIX - [$ac_default_prefix] - --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX - [PREFIX] - -By default, \`make install' will install all the files in -\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify -an installation prefix other than \`$ac_default_prefix' using \`--prefix', -for instance \`--prefix=\$HOME'. - -For better control, use the options below. - -Fine tuning of the installation directories: - --bindir=DIR user executables [EPREFIX/bin] - --sbindir=DIR system admin executables [EPREFIX/sbin] - --libexecdir=DIR program executables [EPREFIX/libexec] - --sysconfdir=DIR read-only single-machine data [PREFIX/etc] - --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] - --localstatedir=DIR modifiable single-machine data [PREFIX/var] - --libdir=DIR object code libraries [EPREFIX/lib] - --includedir=DIR C header files [PREFIX/include] - --oldincludedir=DIR C header files for non-gcc [/usr/include] - --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] - --datadir=DIR read-only architecture-independent data [DATAROOTDIR] - --infodir=DIR info documentation [DATAROOTDIR/info] - --localedir=DIR locale-dependent data [DATAROOTDIR/locale] - --mandir=DIR man documentation [DATAROOTDIR/man] - --docdir=DIR documentation root [DATAROOTDIR/doc/bluez] - --htmldir=DIR html documentation [DOCDIR] - --dvidir=DIR dvi documentation [DOCDIR] - --pdfdir=DIR pdf documentation [DOCDIR] - --psdir=DIR ps documentation [DOCDIR] -_ACEOF - - cat <<\_ACEOF - -Program names: - --program-prefix=PREFIX prepend PREFIX to installed program names - --program-suffix=SUFFIX append SUFFIX to installed program names - --program-transform-name=PROGRAM run sed PROGRAM on installed program names - -System types: - --build=BUILD configure for building on BUILD [guessed] - --host=HOST cross-compile to build programs to run on HOST [BUILD] -_ACEOF -fi - -if test -n "$ac_init_help"; then - case $ac_init_help in - short | recursive ) echo "Configuration of bluez 5.4:";; - esac - cat <<\_ACEOF - -Optional Features: - --disable-option-checking ignore unrecognized --enable/--with options - --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) - --enable-FEATURE[=ARG] include FEATURE [ARG=yes] - --enable-silent-rules less verbose build output (undo: `make V=1') - --disable-silent-rules verbose build output (undo: `make V=0') - --disable-dependency-tracking speeds up one-time build - --enable-dependency-tracking do not reject slow dependency extractors - --enable-maintainer-mode enable make rules and dependencies not useful - (and sometimes confusing) to the casual installer - --enable-static[=PKGS] build static libraries [default=no] - --enable-shared[=PKGS] build shared libraries [default=yes] - --enable-fast-install[=PKGS] - optimize for fast installation [default=yes] - --disable-libtool-lock avoid locking (might break parallel builds) - --disable-optimization disable code optimization through compiler - --enable-debug enable compiling with debugging information - --enable-pie enable position independent executables flag - --enable-threads enable threading support - --enable-library install Bluetooth library - --enable-test enable test/example scripts - --disable-tools disable Bluetooth tools - --disable-monitor disable Bluetooth monitor - --disable-usb disable USB support - --disable-udev disable udev device support - --disable-cups disable CUPS printer support - --disable-obex disable OBEX profile support - --disable-client disable command line client - --disable-systemd disable systemd integration - --disable-datafiles do not install configuration and data files - --enable-experimental enable experimental plugins (SAP, NFC, ...) - -Optional Packages: - --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] - --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) - --with-pic[=PKGS] try to use only PIC/non-PIC objects [default=use - both] - --with-gnu-ld assume the C compiler uses GNU ld [default=no] - --with-sysroot=DIR Search for dependent libraries within DIR - (or the compiler's sysroot if not specified). - --with-dbusconfdir=DIR path to D-Bus configuration directory - --with-dbussystembusdir=DIR - path to D-Bus system bus services directory - --with-dbussessionbusdir=DIR - path to D-Bus session bus services directory - --with-udevdir=DIR path to udev directory - --with-systemdsystemunitdir=DIR - path to systemd system unit directory - --with-systemduserunitdir=DIR - path to systemd user unit directory - -Some influential environment variables: - CC C compiler command - CFLAGS C compiler flags - LDFLAGS linker flags, e.g. -L if you have libraries in a - nonstandard directory - LIBS libraries to pass to the linker, e.g. -l - CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I if - you have headers in a nonstandard directory - CPP C preprocessor - PKG_CONFIG path to pkg-config utility - PKG_CONFIG_PATH - directories to add to pkg-config's search path - PKG_CONFIG_LIBDIR - path overriding pkg-config's built-in search path - GLIB_CFLAGS C compiler flags for GLIB, overriding pkg-config - GLIB_LIBS linker flags for GLIB, overriding pkg-config - GTHREAD_CFLAGS - C compiler flags for GTHREAD, overriding pkg-config - GTHREAD_LIBS - linker flags for GTHREAD, overriding pkg-config - DBUS_CFLAGS C compiler flags for DBUS, overriding pkg-config - DBUS_LIBS linker flags for DBUS, overriding pkg-config - USB_CFLAGS C compiler flags for USB, overriding pkg-config - USB_LIBS linker flags for USB, overriding pkg-config - UDEV_CFLAGS C compiler flags for UDEV, overriding pkg-config - UDEV_LIBS linker flags for UDEV, overriding pkg-config - ICAL_CFLAGS C compiler flags for ICAL, overriding pkg-config - ICAL_LIBS linker flags for ICAL, overriding pkg-config - -Use these variables to override the choices made by `configure' or to help -it to find libraries and programs with nonstandard names/locations. - -Report bugs to the package provider. -_ACEOF -ac_status=$? -fi - -if test "$ac_init_help" = "recursive"; then - # If there are subdirs, report their specific --help. - for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue - test -d "$ac_dir" || - { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } || - continue - ac_builddir=. - -case "$ac_dir" in -.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; -*) - ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` - # A ".." for each directory in $ac_dir_suffix. - ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` - case $ac_top_builddir_sub in - "") ac_top_builddir_sub=. ac_top_build_prefix= ;; - *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; - esac ;; -esac -ac_abs_top_builddir=$ac_pwd -ac_abs_builddir=$ac_pwd$ac_dir_suffix -# for backward compatibility: -ac_top_builddir=$ac_top_build_prefix - -case $srcdir in - .) # We are building in place. - ac_srcdir=. - ac_top_srcdir=$ac_top_builddir_sub - ac_abs_top_srcdir=$ac_pwd ;; - [\\/]* | ?:[\\/]* ) # Absolute name. - ac_srcdir=$srcdir$ac_dir_suffix; - ac_top_srcdir=$srcdir - ac_abs_top_srcdir=$srcdir ;; - *) # Relative name. - ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix - ac_top_srcdir=$ac_top_build_prefix$srcdir - ac_abs_top_srcdir=$ac_pwd/$srcdir ;; -esac -ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix - - cd "$ac_dir" || { ac_status=$?; continue; } - # Check for guested configure. - if test -f "$ac_srcdir/configure.gnu"; then - echo && - $SHELL "$ac_srcdir/configure.gnu" --help=recursive - elif test -f "$ac_srcdir/configure"; then - echo && - $SHELL "$ac_srcdir/configure" --help=recursive - else - $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 - fi || ac_status=$? - cd "$ac_pwd" || { ac_status=$?; break; } - done -fi - -test -n "$ac_init_help" && exit $ac_status -if $ac_init_version; then - cat <<\_ACEOF -bluez configure 5.4 -generated by GNU Autoconf 2.69 - -Copyright (C) 2012 Free Software Foundation, Inc. -This configure script is free software; the Free Software Foundation -gives unlimited permission to copy, distribute and modify it. -_ACEOF - exit -fi - -## ------------------------ ## -## Autoconf initialization. ## -## ------------------------ ## - -# ac_fn_c_try_compile LINENO -# -------------------------- -# Try to compile conftest.$ac_ext, and return whether this succeeded. -ac_fn_c_try_compile () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - rm -f conftest.$ac_objext - if { { ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_compile") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - grep -v '^ *+' conftest.err >conftest.er1 - cat conftest.er1 >&5 - mv -f conftest.er1 conftest.err - fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then : - ac_retval=0 -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=1 -fi - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - as_fn_set_status $ac_retval - -} # ac_fn_c_try_compile - -# ac_fn_c_try_cpp LINENO -# ---------------------- -# Try to preprocess conftest.$ac_ext, and return whether this succeeded. -ac_fn_c_try_cpp () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - if { { ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - grep -v '^ *+' conftest.err >conftest.er1 - cat conftest.er1 >&5 - mv -f conftest.er1 conftest.err - fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } > conftest.i && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then : - ac_retval=0 -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=1 -fi - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - as_fn_set_status $ac_retval - -} # ac_fn_c_try_cpp - -# ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES -# ------------------------------------------------------- -# Tests whether HEADER exists, giving a warning if it cannot be compiled using -# the include files in INCLUDES and setting the cache variable VAR -# accordingly. -ac_fn_c_check_header_mongrel () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - if eval \${$3+:} false; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 -$as_echo_n "checking for $2... " >&6; } -if eval \${$3+:} false; then : - $as_echo_n "(cached) " >&6 -fi -eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5 -$as_echo_n "checking $2 usability... " >&6; } -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -#include <$2> -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_header_compiler=yes -else - ac_header_compiler=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5 -$as_echo_n "checking $2 presence... " >&6; } -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include <$2> -_ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - ac_header_preproc=yes -else - ac_header_preproc=no -fi -rm -f conftest.err conftest.i conftest.$ac_ext -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #(( - yes:no: ) - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} - ;; - no:yes:* ) - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: $2: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} - ;; -esac - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 -$as_echo_n "checking for $2... " >&6; } -if eval \${$3+:} false; then : - $as_echo_n "(cached) " >&6 -else - eval "$3=\$ac_header_compiler" -fi -eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -fi - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - -} # ac_fn_c_check_header_mongrel - -# ac_fn_c_try_run LINENO -# ---------------------- -# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes -# that executables *can* be run. -ac_fn_c_try_run () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - if { { ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && { ac_try='./conftest$ac_exeext' - { { case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; }; then : - ac_retval=0 -else - $as_echo "$as_me: program exited with status $ac_status" >&5 - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=$ac_status -fi - rm -rf conftest.dSYM conftest_ipa8_conftest.oo - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - as_fn_set_status $ac_retval - -} # ac_fn_c_try_run - -# ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES -# ------------------------------------------------------- -# Tests whether HEADER exists and can be compiled using the include files in -# INCLUDES, setting the cache variable VAR accordingly. -ac_fn_c_check_header_compile () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 -$as_echo_n "checking for $2... " >&6; } -if eval \${$3+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -#include <$2> -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - eval "$3=yes" -else - eval "$3=no" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - -} # ac_fn_c_check_header_compile - -# ac_fn_c_try_link LINENO -# ----------------------- -# Try to link conftest.$ac_ext, and return whether this succeeded. -ac_fn_c_try_link () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - rm -f conftest.$ac_objext conftest$ac_exeext - if { { ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - grep -v '^ *+' conftest.err >conftest.er1 - cat conftest.er1 >&5 - mv -f conftest.er1 conftest.err - fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - test -x conftest$ac_exeext - }; then : - ac_retval=0 -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=1 -fi - # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information - # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would - # interfere with the next link command; also delete a directory that is - # left behind by Apple's compiler. We do this before executing the actions. - rm -rf conftest.dSYM conftest_ipa8_conftest.oo - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - as_fn_set_status $ac_retval - -} # ac_fn_c_try_link - -# ac_fn_c_check_func LINENO FUNC VAR -# ---------------------------------- -# Tests whether FUNC exists, setting the cache variable VAR accordingly -ac_fn_c_check_func () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 -$as_echo_n "checking for $2... " >&6; } -if eval \${$3+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -/* Define $2 to an innocuous variant, in case declares $2. - For example, HP-UX 11i declares gettimeofday. */ -#define $2 innocuous_$2 - -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $2 (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include -#else -# include -#endif - -#undef $2 - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char $2 (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined __stub_$2 || defined __stub___$2 -choke me -#endif - -int -main () -{ -return $2 (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - eval "$3=yes" -else - eval "$3=no" -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -fi -eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - -} # ac_fn_c_check_func -cat >config.log <<_ACEOF -This file contains any messages produced by compilers while -running configure, to aid debugging if configure makes a mistake. - -It was created by bluez $as_me 5.4, which was -generated by GNU Autoconf 2.69. Invocation command line was - - $ $0 $@ - -_ACEOF -exec 5>>config.log -{ -cat <<_ASUNAME -## --------- ## -## Platform. ## -## --------- ## - -hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` -uname -m = `(uname -m) 2>/dev/null || echo unknown` -uname -r = `(uname -r) 2>/dev/null || echo unknown` -uname -s = `(uname -s) 2>/dev/null || echo unknown` -uname -v = `(uname -v) 2>/dev/null || echo unknown` - -/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` -/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` - -/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` -/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` -/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` -/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` -/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` -/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` -/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` - -_ASUNAME - -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - $as_echo "PATH: $as_dir" - done -IFS=$as_save_IFS - -} >&5 - -cat >&5 <<_ACEOF - - -## ----------- ## -## Core tests. ## -## ----------- ## - -_ACEOF - - -# Keep a trace of the command line. -# Strip out --no-create and --no-recursion so they do not pile up. -# Strip out --silent because we don't want to record it for future runs. -# Also quote any args containing shell meta-characters. -# Make two passes to allow for proper duplicate-argument suppression. -ac_configure_args= -ac_configure_args0= -ac_configure_args1= -ac_must_keep_next=false -for ac_pass in 1 2 -do - for ac_arg - do - case $ac_arg in - -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; - -q | -quiet | --quiet | --quie | --qui | --qu | --q \ - | -silent | --silent | --silen | --sile | --sil) - continue ;; - *\'*) - ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; - esac - case $ac_pass in - 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;; - 2) - as_fn_append ac_configure_args1 " '$ac_arg'" - if test $ac_must_keep_next = true; then - ac_must_keep_next=false # Got value, back to normal. - else - case $ac_arg in - *=* | --config-cache | -C | -disable-* | --disable-* \ - | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ - | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ - | -with-* | --with-* | -without-* | --without-* | --x) - case "$ac_configure_args0 " in - "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; - esac - ;; - -* ) ac_must_keep_next=true ;; - esac - fi - as_fn_append ac_configure_args " '$ac_arg'" - ;; - esac - done -done -{ ac_configure_args0=; unset ac_configure_args0;} -{ ac_configure_args1=; unset ac_configure_args1;} - -# When interrupted or exit'd, cleanup temporary files, and complete -# config.log. We remove comments because anyway the quotes in there -# would cause problems or look ugly. -# WARNING: Use '\'' to represent an apostrophe within the trap. -# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. -trap 'exit_status=$? - # Save into config.log some information that might help in debugging. - { - echo - - $as_echo "## ---------------- ## -## Cache variables. ## -## ---------------- ##" - echo - # The following way of writing the cache mishandles newlines in values, -( - for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do - eval ac_val=\$$ac_var - case $ac_val in #( - *${as_nl}*) - case $ac_var in #( - *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 -$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; - esac - case $ac_var in #( - _ | IFS | as_nl) ;; #( - BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( - *) { eval $ac_var=; unset $ac_var;} ;; - esac ;; - esac - done - (set) 2>&1 | - case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( - *${as_nl}ac_space=\ *) - sed -n \ - "s/'\''/'\''\\\\'\'''\''/g; - s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" - ;; #( - *) - sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" - ;; - esac | - sort -) - echo - - $as_echo "## ----------------- ## -## Output variables. ## -## ----------------- ##" - echo - for ac_var in $ac_subst_vars - do - eval ac_val=\$$ac_var - case $ac_val in - *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; - esac - $as_echo "$ac_var='\''$ac_val'\''" - done | sort - echo - - if test -n "$ac_subst_files"; then - $as_echo "## ------------------- ## -## File substitutions. ## -## ------------------- ##" - echo - for ac_var in $ac_subst_files - do - eval ac_val=\$$ac_var - case $ac_val in - *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; - esac - $as_echo "$ac_var='\''$ac_val'\''" - done | sort - echo - fi - - if test -s confdefs.h; then - $as_echo "## ----------- ## -## confdefs.h. ## -## ----------- ##" - echo - cat confdefs.h - echo - fi - test "$ac_signal" != 0 && - $as_echo "$as_me: caught signal $ac_signal" - $as_echo "$as_me: exit $exit_status" - } >&5 - rm -f core *.core core.conftest.* && - rm -f -r conftest* confdefs* conf$$* $ac_clean_files && - exit $exit_status -' 0 -for ac_signal in 1 2 13 15; do - trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal -done -ac_signal=0 - -# confdefs.h avoids OS command line length limits that DEFS can exceed. -rm -f -r conftest* confdefs.h - -$as_echo "/* confdefs.h */" > confdefs.h - -# Predefined preprocessor variables. - -cat >>confdefs.h <<_ACEOF -#define PACKAGE_NAME "$PACKAGE_NAME" -_ACEOF - -cat >>confdefs.h <<_ACEOF -#define PACKAGE_TARNAME "$PACKAGE_TARNAME" -_ACEOF - -cat >>confdefs.h <<_ACEOF -#define PACKAGE_VERSION "$PACKAGE_VERSION" -_ACEOF - -cat >>confdefs.h <<_ACEOF -#define PACKAGE_STRING "$PACKAGE_STRING" -_ACEOF - -cat >>confdefs.h <<_ACEOF -#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" -_ACEOF - -cat >>confdefs.h <<_ACEOF -#define PACKAGE_URL "$PACKAGE_URL" -_ACEOF - - -# Let the site file select an alternate cache file if it wants to. -# Prefer an explicitly selected file to automatically selected ones. -ac_site_file1=NONE -ac_site_file2=NONE -if test -n "$CONFIG_SITE"; then - # We do not want a PATH search for config.site. - case $CONFIG_SITE in #(( - -*) ac_site_file1=./$CONFIG_SITE;; - */*) ac_site_file1=$CONFIG_SITE;; - *) ac_site_file1=./$CONFIG_SITE;; - esac -elif test "x$prefix" != xNONE; then - ac_site_file1=$prefix/share/config.site - ac_site_file2=$prefix/etc/config.site -else - ac_site_file1=$ac_default_prefix/share/config.site - ac_site_file2=$ac_default_prefix/etc/config.site -fi -for ac_site_file in "$ac_site_file1" "$ac_site_file2" -do - test "x$ac_site_file" = xNONE && continue - if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 -$as_echo "$as_me: loading site script $ac_site_file" >&6;} - sed 's/^/| /' "$ac_site_file" >&5 - . "$ac_site_file" \ - || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "failed to load site script $ac_site_file -See \`config.log' for more details" "$LINENO" 5; } - fi -done - -if test -r "$cache_file"; then - # Some versions of bash will fail to source /dev/null (special files - # actually), so we avoid doing that. DJGPP emulates it as a regular file. - if test /dev/null != "$cache_file" && test -f "$cache_file"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 -$as_echo "$as_me: loading cache $cache_file" >&6;} - case $cache_file in - [\\/]* | ?:[\\/]* ) . "$cache_file";; - *) . "./$cache_file";; - esac - fi -else - { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 -$as_echo "$as_me: creating cache $cache_file" >&6;} - >$cache_file -fi - -# Check that the precious variables saved in the cache have kept the same -# value. -ac_cache_corrupted=false -for ac_var in $ac_precious_vars; do - eval ac_old_set=\$ac_cv_env_${ac_var}_set - eval ac_new_set=\$ac_env_${ac_var}_set - eval ac_old_val=\$ac_cv_env_${ac_var}_value - eval ac_new_val=\$ac_env_${ac_var}_value - case $ac_old_set,$ac_new_set in - set,) - { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 -$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} - ac_cache_corrupted=: ;; - ,set) - { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 -$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} - ac_cache_corrupted=: ;; - ,);; - *) - if test "x$ac_old_val" != "x$ac_new_val"; then - # differences in whitespace do not lead to failure. - ac_old_val_w=`echo x $ac_old_val` - ac_new_val_w=`echo x $ac_new_val` - if test "$ac_old_val_w" != "$ac_new_val_w"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 -$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} - ac_cache_corrupted=: - else - { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 -$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} - eval $ac_var=\$ac_old_val - fi - { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 -$as_echo "$as_me: former value: \`$ac_old_val'" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 -$as_echo "$as_me: current value: \`$ac_new_val'" >&2;} - fi;; - esac - # Pass precious variables to config.status. - if test "$ac_new_set" = set; then - case $ac_new_val in - *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; - *) ac_arg=$ac_var=$ac_new_val ;; - esac - case " $ac_configure_args " in - *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. - *) as_fn_append ac_configure_args " '$ac_arg'" ;; - esac - fi -done -if $ac_cache_corrupted; then - { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 -$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;} - as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5 -fi -## -------------------- ## -## Main body of script. ## -## -------------------- ## - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - - -am__api_version='1.11' - -ac_aux_dir= -for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do - if test -f "$ac_dir/install-sh"; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/install-sh -c" - break - elif test -f "$ac_dir/install.sh"; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/install.sh -c" - break - elif test -f "$ac_dir/shtool"; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/shtool install -c" - break - fi -done -if test -z "$ac_aux_dir"; then - as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5 -fi - -# These three variables are undocumented and unsupported, -# and are intended to be withdrawn in a future Autoconf release. -# They can cause serious problems if a builder's source tree is in a directory -# whose full name contains unusual characters. -ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. -ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. -ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. - - -# Find a good install program. We prefer a C program (faster), -# so one script is as good as another. But avoid the broken or -# incompatible versions: -# SysV /etc/install, /usr/sbin/install -# SunOS /usr/etc/install -# IRIX /sbin/install -# AIX /bin/install -# AmigaOS /C/install, which installs bootblocks on floppy discs -# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag -# AFS /usr/afsws/bin/install, which mishandles nonexistent args -# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" -# OS/2's system install, which has a completely different semantic -# ./install, which can be erroneously created by make from ./install.sh. -# Reject install programs that cannot install multiple files. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5 -$as_echo_n "checking for a BSD-compatible install... " >&6; } -if test -z "$INSTALL"; then -if ${ac_cv_path_install+:} false; then : - $as_echo_n "(cached) " >&6 -else - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - # Account for people who put trailing slashes in PATH elements. -case $as_dir/ in #(( - ./ | .// | /[cC]/* | \ - /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ - ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \ - /usr/ucb/* ) ;; - *) - # OSF1 and SCO ODT 3.0 have their own names for install. - # Don't use installbsd from OSF since it installs stuff as root - # by default. - for ac_prog in ginstall scoinst install; do - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then - if test $ac_prog = install && - grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then - # AIX install. It has an incompatible calling convention. - : - elif test $ac_prog = install && - grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then - # program-specific install script used by HP pwplus--don't use. - : - else - rm -rf conftest.one conftest.two conftest.dir - echo one > conftest.one - echo two > conftest.two - mkdir conftest.dir - if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" && - test -s conftest.one && test -s conftest.two && - test -s conftest.dir/conftest.one && - test -s conftest.dir/conftest.two - then - ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" - break 3 - fi - fi - fi - done - done - ;; -esac - - done -IFS=$as_save_IFS - -rm -rf conftest.one conftest.two conftest.dir - -fi - if test "${ac_cv_path_install+set}" = set; then - INSTALL=$ac_cv_path_install - else - # As a last resort, use the slow shell script. Don't cache a - # value for INSTALL within a source directory, because that will - # break other packages using the cache if that directory is - # removed, or if the value is a relative name. - INSTALL=$ac_install_sh - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5 -$as_echo "$INSTALL" >&6; } - -# Use test -z because SunOS4 sh mishandles braces in ${var-val}. -# It thinks the first close brace ends the variable substitution. -test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' - -test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' - -test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5 -$as_echo_n "checking whether build environment is sane... " >&6; } -# Just in case -sleep 1 -echo timestamp > conftest.file -# Reject unsafe characters in $srcdir or the absolute working directory -# name. Accept space and tab only in the latter. -am_lf=' -' -case `pwd` in - *[\\\"\#\$\&\'\`$am_lf]*) - as_fn_error $? "unsafe absolute working directory name" "$LINENO" 5;; -esac -case $srcdir in - *[\\\"\#\$\&\'\`$am_lf\ \ ]*) - as_fn_error $? "unsafe srcdir value: \`$srcdir'" "$LINENO" 5;; -esac - -# Do `set' in a subshell so we don't clobber the current shell's -# arguments. Must try -L first in case configure is actually a -# symlink; some systems play weird games with the mod time of symlinks -# (eg FreeBSD returns the mod time of the symlink's containing -# directory). -if ( - set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` - if test "$*" = "X"; then - # -L didn't work. - set X `ls -t "$srcdir/configure" conftest.file` - fi - rm -f conftest.file - if test "$*" != "X $srcdir/configure conftest.file" \ - && test "$*" != "X conftest.file $srcdir/configure"; then - - # If neither matched, then we have a broken ls. This can happen - # if, for instance, CONFIG_SHELL is bash and it inherits a - # broken ls alias from the environment. This has actually - # happened. Such a system could not be considered "sane". - as_fn_error $? "ls -t appears to fail. Make sure there is not a broken -alias in your environment" "$LINENO" 5 - fi - - test "$2" = conftest.file - ) -then - # Ok. - : -else - as_fn_error $? "newly created file is older than distributed files! -Check your system clock" "$LINENO" 5 -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } -test "$program_prefix" != NONE && - program_transform_name="s&^&$program_prefix&;$program_transform_name" -# Use a double $ so make ignores it. -test "$program_suffix" != NONE && - program_transform_name="s&\$&$program_suffix&;$program_transform_name" -# Double any \ or $. -# By default was `s,x,x', remove it if useless. -ac_script='s/[\\$]/&&/g;s/;s,x,x,$//' -program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"` - -# expand $ac_aux_dir to an absolute path -am_aux_dir=`cd $ac_aux_dir && pwd` - -if test x"${MISSING+set}" != xset; then - case $am_aux_dir in - *\ * | *\ *) - MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;; - *) - MISSING="\${SHELL} $am_aux_dir/missing" ;; - esac -fi -# Use eval to expand $SHELL -if eval "$MISSING --run true"; then - am_missing_run="$MISSING --run " -else - am_missing_run= - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`missing' script is too old or missing" >&5 -$as_echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;} -fi - -if test x"${install_sh}" != xset; then - case $am_aux_dir in - *\ * | *\ *) - install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; - *) - install_sh="\${SHELL} $am_aux_dir/install-sh" - esac -fi - -# Installed binaries are usually stripped using `strip' when the user -# run `make install-strip'. However `strip' might not be the right -# tool to use in cross-compilation environments, therefore Automake -# will honor the `STRIP' environment variable to overrule this program. -if test "$cross_compiling" != no; then - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. -set dummy ${ac_tool_prefix}strip; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_STRIP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$STRIP"; then - ac_cv_prog_STRIP="$STRIP" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_STRIP="${ac_tool_prefix}strip" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -STRIP=$ac_cv_prog_STRIP -if test -n "$STRIP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 -$as_echo "$STRIP" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_STRIP"; then - ac_ct_STRIP=$STRIP - # Extract the first word of "strip", so it can be a program name with args. -set dummy strip; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_STRIP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_STRIP"; then - ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_STRIP="strip" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP -if test -n "$ac_ct_STRIP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 -$as_echo "$ac_ct_STRIP" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_STRIP" = x; then - STRIP=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - STRIP=$ac_ct_STRIP - fi -else - STRIP="$ac_cv_prog_STRIP" -fi - -fi -INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5 -$as_echo_n "checking for a thread-safe mkdir -p... " >&6; } -if test -z "$MKDIR_P"; then - if ${ac_cv_path_mkdir+:} false; then : - $as_echo_n "(cached) " >&6 -else - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in mkdir gmkdir; do - for ac_exec_ext in '' $ac_executable_extensions; do - as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext" || continue - case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #( - 'mkdir (GNU coreutils) '* | \ - 'mkdir (coreutils) '* | \ - 'mkdir (fileutils) '4.1*) - ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext - break 3;; - esac - done - done - done -IFS=$as_save_IFS - -fi - - test -d ./--version && rmdir ./--version - if test "${ac_cv_path_mkdir+set}" = set; then - MKDIR_P="$ac_cv_path_mkdir -p" - else - # As a last resort, use the slow shell script. Don't cache a - # value for MKDIR_P within a source directory, because that will - # break other packages using the cache if that directory is - # removed, or if the value is a relative name. - MKDIR_P="$ac_install_sh -d" - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5 -$as_echo "$MKDIR_P" >&6; } - -mkdir_p="$MKDIR_P" -case $mkdir_p in - [\\/$]* | ?:[\\/]*) ;; - */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;; -esac - -for ac_prog in gawk mawk nawk awk -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_AWK+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$AWK"; then - ac_cv_prog_AWK="$AWK" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_AWK="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -AWK=$ac_cv_prog_AWK -if test -n "$AWK"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5 -$as_echo "$AWK" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$AWK" && break -done - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5 -$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } -set x ${MAKE-make} -ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` -if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat >conftest.make <<\_ACEOF -SHELL = /bin/sh -all: - @echo '@@@%%%=$(MAKE)=@@@%%%' -_ACEOF -# GNU make sometimes prints "make[1]: Entering ...", which would confuse us. -case `${MAKE-make} -f conftest.make 2>/dev/null` in - *@@@%%%=?*=@@@%%%*) - eval ac_cv_prog_make_${ac_make}_set=yes;; - *) - eval ac_cv_prog_make_${ac_make}_set=no;; -esac -rm -f conftest.make -fi -if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - SET_MAKE= -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - SET_MAKE="MAKE=${MAKE-make}" -fi - -rm -rf .tst 2>/dev/null -mkdir .tst 2>/dev/null -if test -d .tst; then - am__leading_dot=. -else - am__leading_dot=_ -fi -rmdir .tst 2>/dev/null - -# Check whether --enable-silent-rules was given. -if test "${enable_silent_rules+set}" = set; then : - enableval=$enable_silent_rules; -fi - -case $enable_silent_rules in -yes) AM_DEFAULT_VERBOSITY=0;; -no) AM_DEFAULT_VERBOSITY=1;; -*) AM_DEFAULT_VERBOSITY=1;; -esac -am_make=${MAKE-make} -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5 -$as_echo_n "checking whether $am_make supports nested variables... " >&6; } -if ${am_cv_make_support_nested_variables+:} false; then : - $as_echo_n "(cached) " >&6 -else - if $as_echo 'TRUE=$(BAR$(V)) -BAR0=false -BAR1=true -V=1 -am__doit: - @$(TRUE) -.PHONY: am__doit' | $am_make -f - >/dev/null 2>&1; then - am_cv_make_support_nested_variables=yes -else - am_cv_make_support_nested_variables=no -fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5 -$as_echo "$am_cv_make_support_nested_variables" >&6; } -if test $am_cv_make_support_nested_variables = yes; then - AM_V='$(V)' - AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' -else - AM_V=$AM_DEFAULT_VERBOSITY - AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY -fi -AM_BACKSLASH='\' - -if test "`cd $srcdir && pwd`" != "`pwd`"; then - # Use -I$(srcdir) only when $(srcdir) != ., so that make's output - # is not polluted with repeated "-I." - am__isrc=' -I$(srcdir)' - # test to see if srcdir already configured - if test -f $srcdir/config.status; then - as_fn_error $? "source directory already configured; run \"make distclean\" there first" "$LINENO" 5 - fi -fi - -# test whether we have cygpath -if test -z "$CYGPATH_W"; then - if (cygpath --version) >/dev/null 2>/dev/null; then - CYGPATH_W='cygpath -w' - else - CYGPATH_W=echo - fi -fi - - -# Define the identity of the package. - PACKAGE='bluez' - VERSION='5.4' - - -cat >>confdefs.h <<_ACEOF -#define PACKAGE "$PACKAGE" -_ACEOF - - -cat >>confdefs.h <<_ACEOF -#define VERSION "$VERSION" -_ACEOF - -# Some tools Automake needs. - -ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"} - - -AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"} - - -AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"} - - -AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"} - - -MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} - -# We need awk for the "check" target. The system "awk" is bad on -# some platforms. -# Always define AMTAR for backward compatibility. Yes, it's still used -# in the wild :-( We should find a proper way to deprecate it ... -AMTAR='$${TAR-tar}' - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to create a pax tar archive" >&5 -$as_echo_n "checking how to create a pax tar archive... " >&6; } -# Loop over all known methods to create a tar archive until one works. -_am_tools='gnutar pax cpio none' -_am_tools=${am_cv_prog_tar_pax-$_am_tools} -# Do not fold the above two line into one, because Tru64 sh and -# Solaris sh will not grok spaces in the rhs of `-'. -for _am_tool in $_am_tools -do - case $_am_tool in - gnutar) - for _am_tar in tar gnutar gtar; - do - { echo "$as_me:$LINENO: $_am_tar --version" >&5 - ($_am_tar --version) >&5 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && break - done - am__tar="$_am_tar --format=posix -chf - "'"$$tardir"' - am__tar_="$_am_tar --format=posix -chf - "'"$tardir"' - am__untar="$_am_tar -xf -" - ;; - plaintar) - # Must skip GNU tar: if it does not support --format= it doesn't create - # ustar tarball either. - (tar --version) >/dev/null 2>&1 && continue - am__tar='tar chf - "$$tardir"' - am__tar_='tar chf - "$tardir"' - am__untar='tar xf -' - ;; - pax) - am__tar='pax -L -x pax -w "$$tardir"' - am__tar_='pax -L -x pax -w "$tardir"' - am__untar='pax -r' - ;; - cpio) - am__tar='find "$$tardir" -print | cpio -o -H pax -L' - am__tar_='find "$tardir" -print | cpio -o -H pax -L' - am__untar='cpio -i -H pax -d' - ;; - none) - am__tar=false - am__tar_=false - am__untar=false - ;; - esac - - # If the value was cached, stop now. We just wanted to have am__tar - # and am__untar set. - test -n "${am_cv_prog_tar_pax}" && break - - # tar/untar a dummy directory, and stop if the command works - rm -rf conftest.dir - mkdir conftest.dir - echo GrepMe > conftest.dir/file - { echo "$as_me:$LINENO: tardir=conftest.dir && eval $am__tar_ >conftest.tar" >&5 - (tardir=conftest.dir && eval $am__tar_ >conftest.tar) >&5 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } - rm -rf conftest.dir - if test -s conftest.tar; then - { echo "$as_me:$LINENO: $am__untar &5 - ($am__untar &5 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } - grep GrepMe conftest.dir/file >/dev/null 2>&1 && break - fi -done -rm -rf conftest.dir - -if ${am_cv_prog_tar_pax+:} false; then : - $as_echo_n "(cached) " >&6 -else - am_cv_prog_tar_pax=$_am_tool -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_tar_pax" >&5 -$as_echo "$am_cv_prog_tar_pax" >&6; } - - - - - -ac_config_headers="$ac_config_headers config.h" - -DEPDIR="${am__leading_dot}deps" - -ac_config_commands="$ac_config_commands depfiles" - - -am_make=${MAKE-make} -cat > confinc << 'END' -am__doit: - @echo this is the am__doit target -.PHONY: am__doit -END -# If we don't find an include directive, just comment out the code. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for style of include used by $am_make" >&5 -$as_echo_n "checking for style of include used by $am_make... " >&6; } -am__include="#" -am__quote= -_am_result=none -# First try GNU make style include. -echo "include confinc" > confmf -# Ignore all kinds of additional output from `make'. -case `$am_make -s -f confmf 2> /dev/null` in #( -*the\ am__doit\ target*) - am__include=include - am__quote= - _am_result=GNU - ;; -esac -# Now try BSD make style include. -if test "$am__include" = "#"; then - echo '.include "confinc"' > confmf - case `$am_make -s -f confmf 2> /dev/null` in #( - *the\ am__doit\ target*) - am__include=.include - am__quote="\"" - _am_result=BSD - ;; - esac -fi - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $_am_result" >&5 -$as_echo "$_am_result" >&6; } -rm -f confinc confmf - -# Check whether --enable-dependency-tracking was given. -if test "${enable_dependency_tracking+set}" = set; then : - enableval=$enable_dependency_tracking; -fi - -if test "x$enable_dependency_tracking" != xno; then - am_depcomp="$ac_aux_dir/depcomp" - AMDEPBACKSLASH='\' - am__nodep='_no' -fi - if test "x$enable_dependency_tracking" != xno; then - AMDEP_TRUE= - AMDEP_FALSE='#' -else - AMDEP_TRUE='#' - AMDEP_FALSE= -fi - - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. -set dummy ${ac_tool_prefix}gcc; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_CC="${ac_tool_prefix}gcc" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -$as_echo "$CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_CC"; then - ac_ct_CC=$CC - # Extract the first word of "gcc", so it can be a program name with args. -set dummy gcc; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_CC"; then - ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_CC="gcc" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_CC=$ac_cv_prog_ac_ct_CC -if test -n "$ac_ct_CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 -$as_echo "$ac_ct_CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_CC" = x; then - CC="" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - CC=$ac_ct_CC - fi -else - CC="$ac_cv_prog_CC" -fi - -if test -z "$CC"; then - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. -set dummy ${ac_tool_prefix}cc; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_CC="${ac_tool_prefix}cc" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -$as_echo "$CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - fi -fi -if test -z "$CC"; then - # Extract the first word of "cc", so it can be a program name with args. -set dummy cc; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else - ac_prog_rejected=no -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then - ac_prog_rejected=yes - continue - fi - ac_cv_prog_CC="cc" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -if test $ac_prog_rejected = yes; then - # We found a bogon in the path, so make sure we never use it. - set dummy $ac_cv_prog_CC - shift - if test $# != 0; then - # We chose a different compiler from the bogus one. - # However, it has the same basename, so the bogon will be chosen - # first if we set CC to just the basename; use the full file name. - shift - ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" - fi -fi -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -$as_echo "$CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$CC"; then - if test -n "$ac_tool_prefix"; then - for ac_prog in cl.exe - do - # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. -set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_CC="$ac_tool_prefix$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -$as_echo "$CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$CC" && break - done -fi -if test -z "$CC"; then - ac_ct_CC=$CC - for ac_prog in cl.exe -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_CC"; then - ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_CC="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_CC=$ac_cv_prog_ac_ct_CC -if test -n "$ac_ct_CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 -$as_echo "$ac_ct_CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$ac_ct_CC" && break -done - - if test "x$ac_ct_CC" = x; then - CC="" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - CC=$ac_ct_CC - fi -fi - -fi - - -test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "no acceptable C compiler found in \$PATH -See \`config.log' for more details" "$LINENO" 5; } - -# Provide some information about the compiler. -$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 -set X $ac_compile -ac_compiler=$2 -for ac_option in --version -v -V -qversion; do - { { ac_try="$ac_compiler $ac_option >&5" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_compiler $ac_option >&5") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - sed '10a\ -... rest of stderr output deleted ... - 10q' conftest.err >conftest.er1 - cat conftest.er1 >&5 - fi - rm -f conftest.er1 conftest.err - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } -done - -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -ac_clean_files_save=$ac_clean_files -ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out" -# Try to create an executable without -o first, disregard a.out. -# It will help us diagnose broken compilers, and finding out an intuition -# of exeext. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5 -$as_echo_n "checking whether the C compiler works... " >&6; } -ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` - -# The possible output files: -ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*" - -ac_rmfiles= -for ac_file in $ac_files -do - case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; - * ) ac_rmfiles="$ac_rmfiles $ac_file";; - esac -done -rm -f $ac_rmfiles - -if { { ac_try="$ac_link_default" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link_default") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then : - # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. -# So ignore a value of `no', otherwise this would lead to `EXEEXT = no' -# in a Makefile. We should not override ac_cv_exeext if it was cached, -# so that the user can short-circuit this test for compilers unknown to -# Autoconf. -for ac_file in $ac_files '' -do - test -f "$ac_file" || continue - case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) - ;; - [ab].out ) - # We found the default executable, but exeext='' is most - # certainly right. - break;; - *.* ) - if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; - then :; else - ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` - fi - # We set ac_cv_exeext here because the later test for it is not - # safe: cross compilers may not add the suffix if given an `-o' - # argument, so we may need to know it at that point already. - # Even if this section looks crufty: it has the advantage of - # actually working. - break;; - * ) - break;; - esac -done -test "$ac_cv_exeext" = no && ac_cv_exeext= - -else - ac_file='' -fi -if test -z "$ac_file"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error 77 "C compiler cannot create executables -See \`config.log' for more details" "$LINENO" 5; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5 -$as_echo_n "checking for C compiler default output file name... " >&6; } -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 -$as_echo "$ac_file" >&6; } -ac_exeext=$ac_cv_exeext - -rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out -ac_clean_files=$ac_clean_files_save -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 -$as_echo_n "checking for suffix of executables... " >&6; } -if { { ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then : - # If both `conftest.exe' and `conftest' are `present' (well, observable) -# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will -# work properly (i.e., refer to `conftest.exe'), while it won't with -# `rm'. -for ac_file in conftest.exe conftest conftest.*; do - test -f "$ac_file" || continue - case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; - *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` - break;; - * ) break;; - esac -done -else - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "cannot compute suffix of executables: cannot compile and link -See \`config.log' for more details" "$LINENO" 5; } -fi -rm -f conftest conftest$ac_cv_exeext -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 -$as_echo "$ac_cv_exeext" >&6; } - -rm -f conftest.$ac_ext -EXEEXT=$ac_cv_exeext -ac_exeext=$EXEEXT -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -int -main () -{ -FILE *f = fopen ("conftest.out", "w"); - return ferror (f) || fclose (f) != 0; - - ; - return 0; -} -_ACEOF -ac_clean_files="$ac_clean_files conftest.out" -# Check that the compiler produces executables we can run. If not, either -# the compiler is broken, or we cross compile. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 -$as_echo_n "checking whether we are cross compiling... " >&6; } -if test "$cross_compiling" != yes; then - { { ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } - if { ac_try='./conftest$ac_cv_exeext' - { { case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; }; then - cross_compiling=no - else - if test "$cross_compiling" = maybe; then - cross_compiling=yes - else - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "cannot run C compiled programs. -If you meant to cross compile, use \`--host'. -See \`config.log' for more details" "$LINENO" 5; } - fi - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 -$as_echo "$cross_compiling" >&6; } - -rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out -ac_clean_files=$ac_clean_files_save -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 -$as_echo_n "checking for suffix of object files... " >&6; } -if ${ac_cv_objext+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.o conftest.obj -if { { ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_compile") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then : - for ac_file in conftest.o conftest.obj conftest.*; do - test -f "$ac_file" || continue; - case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;; - *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` - break;; - esac -done -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "cannot compute suffix of object files: cannot compile -See \`config.log' for more details" "$LINENO" 5; } -fi -rm -f conftest.$ac_cv_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 -$as_echo "$ac_cv_objext" >&6; } -OBJEXT=$ac_cv_objext -ac_objext=$OBJEXT -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5 -$as_echo_n "checking whether we are using the GNU C compiler... " >&6; } -if ${ac_cv_c_compiler_gnu+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ -#ifndef __GNUC__ - choke me -#endif - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_compiler_gnu=yes -else - ac_compiler_gnu=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -ac_cv_c_compiler_gnu=$ac_compiler_gnu - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 -$as_echo "$ac_cv_c_compiler_gnu" >&6; } -if test $ac_compiler_gnu = yes; then - GCC=yes -else - GCC= -fi -ac_test_CFLAGS=${CFLAGS+set} -ac_save_CFLAGS=$CFLAGS -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 -$as_echo_n "checking whether $CC accepts -g... " >&6; } -if ${ac_cv_prog_cc_g+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_save_c_werror_flag=$ac_c_werror_flag - ac_c_werror_flag=yes - ac_cv_prog_cc_g=no - CFLAGS="-g" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_prog_cc_g=yes -else - CFLAGS="" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - -else - ac_c_werror_flag=$ac_save_c_werror_flag - CFLAGS="-g" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_prog_cc_g=yes -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - ac_c_werror_flag=$ac_save_c_werror_flag -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 -$as_echo "$ac_cv_prog_cc_g" >&6; } -if test "$ac_test_CFLAGS" = set; then - CFLAGS=$ac_save_CFLAGS -elif test $ac_cv_prog_cc_g = yes; then - if test "$GCC" = yes; then - CFLAGS="-g -O2" - else - CFLAGS="-g" - fi -else - if test "$GCC" = yes; then - CFLAGS="-O2" - else - CFLAGS= - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5 -$as_echo_n "checking for $CC option to accept ISO C89... " >&6; } -if ${ac_cv_prog_cc_c89+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_cv_prog_cc_c89=no -ac_save_CC=$CC -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include -struct stat; -/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ -struct buf { int x; }; -FILE * (*rcsopen) (struct buf *, struct stat *, int); -static char *e (p, i) - char **p; - int i; -{ - return p[i]; -} -static char *f (char * (*g) (char **, int), char **p, ...) -{ - char *s; - va_list v; - va_start (v,p); - s = g (p, va_arg (v,int)); - va_end (v); - return s; -} - -/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has - function prototypes and stuff, but not '\xHH' hex character constants. - These don't provoke an error unfortunately, instead are silently treated - as 'x'. The following induces an error, until -std is added to get - proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an - array size at least. It's necessary to write '\x00'==0 to get something - that's true only with -std. */ -int osf4_cc_array ['\x00' == 0 ? 1 : -1]; - -/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters - inside strings and character constants. */ -#define FOO(x) 'x' -int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; - -int test (int i, double x); -struct s1 {int (*f) (int a);}; -struct s2 {int (*f) (double a);}; -int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); -int argc; -char **argv; -int -main () -{ -return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; - ; - return 0; -} -_ACEOF -for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ - -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" -do - CC="$ac_save_CC $ac_arg" - if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_prog_cc_c89=$ac_arg -fi -rm -f core conftest.err conftest.$ac_objext - test "x$ac_cv_prog_cc_c89" != "xno" && break -done -rm -f conftest.$ac_ext -CC=$ac_save_CC - -fi -# AC_CACHE_VAL -case "x$ac_cv_prog_cc_c89" in - x) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 -$as_echo "none needed" >&6; } ;; - xno) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 -$as_echo "unsupported" >&6; } ;; - *) - CC="$CC $ac_cv_prog_cc_c89" - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 -$as_echo "$ac_cv_prog_cc_c89" >&6; } ;; -esac -if test "x$ac_cv_prog_cc_c89" != xno; then : - -fi - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -depcc="$CC" am_compiler_list= - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 -$as_echo_n "checking dependency style of $depcc... " >&6; } -if ${am_cv_CC_dependencies_compiler_type+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then - # We make a subdir and do the tests there. Otherwise we can end up - # making bogus files that we don't know about and never remove. For - # instance it was reported that on HP-UX the gcc test will end up - # making a dummy file named `D' -- because `-MD' means `put the output - # in D'. - rm -rf conftest.dir - mkdir conftest.dir - # Copy depcomp to subdir because otherwise we won't find it if we're - # using a relative directory. - cp "$am_depcomp" conftest.dir - cd conftest.dir - # We will build objects and dependencies in a subdirectory because - # it helps to detect inapplicable dependency modes. For instance - # both Tru64's cc and ICC support -MD to output dependencies as a - # side effect of compilation, but ICC will put the dependencies in - # the current directory while Tru64 will put them in the object - # directory. - mkdir sub - - am_cv_CC_dependencies_compiler_type=none - if test "$am_compiler_list" = ""; then - am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` - fi - am__universal=false - case " $depcc " in #( - *\ -arch\ *\ -arch\ *) am__universal=true ;; - esac - - for depmode in $am_compiler_list; do - # Setup a source with many dependencies, because some compilers - # like to wrap large dependency lists on column 80 (with \), and - # we should not choose a depcomp mode which is confused by this. - # - # We need to recreate these files for each test, as the compiler may - # overwrite some of them when testing with obscure command lines. - # This happens at least with the AIX C compiler. - : > sub/conftest.c - for i in 1 2 3 4 5 6; do - echo '#include "conftst'$i'.h"' >> sub/conftest.c - # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with - # Solaris 8's {/usr,}/bin/sh. - touch sub/conftst$i.h - done - echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf - - # We check with `-c' and `-o' for the sake of the "dashmstdout" - # mode. It turns out that the SunPro C++ compiler does not properly - # handle `-M -o', and we need to detect this. Also, some Intel - # versions had trouble with output in subdirs - am__obj=sub/conftest.${OBJEXT-o} - am__minus_obj="-o $am__obj" - case $depmode in - gcc) - # This depmode causes a compiler race in universal mode. - test "$am__universal" = false || continue - ;; - nosideeffect) - # after this tag, mechanisms are not by side-effect, so they'll - # only be used when explicitly requested - if test "x$enable_dependency_tracking" = xyes; then - continue - else - break - fi - ;; - msvc7 | msvc7msys | msvisualcpp | msvcmsys) - # This compiler won't grok `-c -o', but also, the minuso test has - # not run yet. These depmodes are late enough in the game, and - # so weak that their functioning should not be impacted. - am__obj=conftest.${OBJEXT-o} - am__minus_obj= - ;; - none) break ;; - esac - if depmode=$depmode \ - source=sub/conftest.c object=$am__obj \ - depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ - $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ - >/dev/null 2>conftest.err && - grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && - grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && - grep $am__obj sub/conftest.Po > /dev/null 2>&1 && - ${MAKE-make} -s -f confmf > /dev/null 2>&1; then - # icc doesn't choke on unknown options, it will just issue warnings - # or remarks (even with -Werror). So we grep stderr for any message - # that says an option was ignored or not supported. - # When given -MP, icc 7.0 and 7.1 complain thusly: - # icc: Command line warning: ignoring option '-M'; no argument required - # The diagnosis changed in icc 8.0: - # icc: Command line remark: option '-MP' not supported - if (grep 'ignoring option' conftest.err || - grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else - am_cv_CC_dependencies_compiler_type=$depmode - break - fi - fi - done - - cd .. - rm -rf conftest.dir -else - am_cv_CC_dependencies_compiler_type=none -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5 -$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; } -CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type - - if - test "x$enable_dependency_tracking" != xno \ - && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then - am__fastdepCC_TRUE= - am__fastdepCC_FALSE='#' -else - am__fastdepCC_TRUE='#' - am__fastdepCC_FALSE= -fi - - - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5 -$as_echo_n "checking how to run the C preprocessor... " >&6; } -# On Suns, sometimes $CPP names a directory. -if test -n "$CPP" && test -d "$CPP"; then - CPP= -fi -if test -z "$CPP"; then - if ${ac_cv_prog_CPP+:} false; then : - $as_echo_n "(cached) " >&6 -else - # Double quotes because CPP needs to be expanded - for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" - do - ac_preproc_ok=false -for ac_c_preproc_warn_flag in '' yes -do - # Use a header file that comes with gcc, so configuring glibc - # with a fresh cross-compiler works. - # Prefer to if __STDC__ is defined, since - # exists even on freestanding compilers. - # On the NeXT, cc -E runs the code through the compiler's parser, - # not just through cpp. "Syntax error" is here to catch this case. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#ifdef __STDC__ -# include -#else -# include -#endif - Syntax error -_ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - -else - # Broken: fails on valid input. -continue -fi -rm -f conftest.err conftest.i conftest.$ac_ext - - # OK, works on sane cases. Now check whether nonexistent headers - # can be detected and how. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -_ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - # Broken: success on invalid input. -continue -else - # Passes both tests. -ac_preproc_ok=: -break -fi -rm -f conftest.err conftest.i conftest.$ac_ext - -done -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.i conftest.err conftest.$ac_ext -if $ac_preproc_ok; then : - break -fi - - done - ac_cv_prog_CPP=$CPP - -fi - CPP=$ac_cv_prog_CPP -else - ac_cv_prog_CPP=$CPP -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5 -$as_echo "$CPP" >&6; } -ac_preproc_ok=false -for ac_c_preproc_warn_flag in '' yes -do - # Use a header file that comes with gcc, so configuring glibc - # with a fresh cross-compiler works. - # Prefer to if __STDC__ is defined, since - # exists even on freestanding compilers. - # On the NeXT, cc -E runs the code through the compiler's parser, - # not just through cpp. "Syntax error" is here to catch this case. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#ifdef __STDC__ -# include -#else -# include -#endif - Syntax error -_ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - -else - # Broken: fails on valid input. -continue -fi -rm -f conftest.err conftest.i conftest.$ac_ext - - # OK, works on sane cases. Now check whether nonexistent headers - # can be detected and how. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -_ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - # Broken: success on invalid input. -continue -else - # Passes both tests. -ac_preproc_ok=: -break -fi -rm -f conftest.err conftest.i conftest.$ac_ext - -done -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.i conftest.err conftest.$ac_ext -if $ac_preproc_ok; then : - -else - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "C preprocessor \"$CPP\" fails sanity check -See \`config.log' for more details" "$LINENO" 5; } -fi - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 -$as_echo_n "checking for grep that handles long lines and -e... " >&6; } -if ${ac_cv_path_GREP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -z "$GREP"; then - ac_path_GREP_found=false - # Loop through the user's path and test for each of PROGNAME-LIST - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in grep ggrep; do - for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" - as_fn_executable_p "$ac_path_GREP" || continue -# Check for GNU ac_path_GREP and select it if it is found. - # Check for GNU $ac_path_GREP -case `"$ac_path_GREP" --version 2>&1` in -*GNU*) - ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; -*) - ac_count=0 - $as_echo_n 0123456789 >"conftest.in" - while : - do - cat "conftest.in" "conftest.in" >"conftest.tmp" - mv "conftest.tmp" "conftest.in" - cp "conftest.in" "conftest.nl" - $as_echo 'GREP' >> "conftest.nl" - "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break - diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break - as_fn_arith $ac_count + 1 && ac_count=$as_val - if test $ac_count -gt ${ac_path_GREP_max-0}; then - # Best one so far, save it but keep looking for a better one - ac_cv_path_GREP="$ac_path_GREP" - ac_path_GREP_max=$ac_count - fi - # 10*(2^10) chars as input seems more than enough - test $ac_count -gt 10 && break - done - rm -f conftest.in conftest.tmp conftest.nl conftest.out;; -esac - - $ac_path_GREP_found && break 3 - done - done - done -IFS=$as_save_IFS - if test -z "$ac_cv_path_GREP"; then - as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 - fi -else - ac_cv_path_GREP=$GREP -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 -$as_echo "$ac_cv_path_GREP" >&6; } - GREP="$ac_cv_path_GREP" - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 -$as_echo_n "checking for egrep... " >&6; } -if ${ac_cv_path_EGREP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 - then ac_cv_path_EGREP="$GREP -E" - else - if test -z "$EGREP"; then - ac_path_EGREP_found=false - # Loop through the user's path and test for each of PROGNAME-LIST - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in egrep; do - for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" - as_fn_executable_p "$ac_path_EGREP" || continue -# Check for GNU ac_path_EGREP and select it if it is found. - # Check for GNU $ac_path_EGREP -case `"$ac_path_EGREP" --version 2>&1` in -*GNU*) - ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; -*) - ac_count=0 - $as_echo_n 0123456789 >"conftest.in" - while : - do - cat "conftest.in" "conftest.in" >"conftest.tmp" - mv "conftest.tmp" "conftest.in" - cp "conftest.in" "conftest.nl" - $as_echo 'EGREP' >> "conftest.nl" - "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break - diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break - as_fn_arith $ac_count + 1 && ac_count=$as_val - if test $ac_count -gt ${ac_path_EGREP_max-0}; then - # Best one so far, save it but keep looking for a better one - ac_cv_path_EGREP="$ac_path_EGREP" - ac_path_EGREP_max=$ac_count - fi - # 10*(2^10) chars as input seems more than enough - test $ac_count -gt 10 && break - done - rm -f conftest.in conftest.tmp conftest.nl conftest.out;; -esac - - $ac_path_EGREP_found && break 3 - done - done - done -IFS=$as_save_IFS - if test -z "$ac_cv_path_EGREP"; then - as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 - fi -else - ac_cv_path_EGREP=$EGREP -fi - - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 -$as_echo "$ac_cv_path_EGREP" >&6; } - EGREP="$ac_cv_path_EGREP" - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 -$as_echo_n "checking for ANSI C header files... " >&6; } -if ${ac_cv_header_stdc+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include -#include -#include - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_header_stdc=yes -else - ac_cv_header_stdc=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - -if test $ac_cv_header_stdc = yes; then - # SunOS 4.x string.h does not declare mem*, contrary to ANSI. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "memchr" >/dev/null 2>&1; then : - -else - ac_cv_header_stdc=no -fi -rm -f conftest* - -fi - -if test $ac_cv_header_stdc = yes; then - # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "free" >/dev/null 2>&1; then : - -else - ac_cv_header_stdc=no -fi -rm -f conftest* - -fi - -if test $ac_cv_header_stdc = yes; then - # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. - if test "$cross_compiling" = yes; then : - : -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include -#if ((' ' & 0x0FF) == 0x020) -# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') -# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) -#else -# define ISLOWER(c) \ - (('a' <= (c) && (c) <= 'i') \ - || ('j' <= (c) && (c) <= 'r') \ - || ('s' <= (c) && (c) <= 'z')) -# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) -#endif - -#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) -int -main () -{ - int i; - for (i = 0; i < 256; i++) - if (XOR (islower (i), ISLOWER (i)) - || toupper (i) != TOUPPER (i)) - return 2; - return 0; -} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - -else - ac_cv_header_stdc=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - -fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5 -$as_echo "$ac_cv_header_stdc" >&6; } -if test $ac_cv_header_stdc = yes; then - -$as_echo "#define STDC_HEADERS 1" >>confdefs.h - -fi - -# On IRIX 5.3, sys/types and inttypes.h are conflicting. -for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ - inttypes.h stdint.h unistd.h -do : - as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default -" -if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF - -fi - -done - - - - ac_fn_c_check_header_mongrel "$LINENO" "minix/config.h" "ac_cv_header_minix_config_h" "$ac_includes_default" -if test "x$ac_cv_header_minix_config_h" = xyes; then : - MINIX=yes -else - MINIX= -fi - - - if test "$MINIX" = yes; then - -$as_echo "#define _POSIX_SOURCE 1" >>confdefs.h - - -$as_echo "#define _POSIX_1_SOURCE 2" >>confdefs.h - - -$as_echo "#define _MINIX 1" >>confdefs.h - - fi - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether it is safe to define __EXTENSIONS__" >&5 -$as_echo_n "checking whether it is safe to define __EXTENSIONS__... " >&6; } -if ${ac_cv_safe_to_define___extensions__+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -# define __EXTENSIONS__ 1 - $ac_includes_default -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_safe_to_define___extensions__=yes -else - ac_cv_safe_to_define___extensions__=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_safe_to_define___extensions__" >&5 -$as_echo "$ac_cv_safe_to_define___extensions__" >&6; } - test $ac_cv_safe_to_define___extensions__ = yes && - $as_echo "#define __EXTENSIONS__ 1" >>confdefs.h - - $as_echo "#define _ALL_SOURCE 1" >>confdefs.h - - $as_echo "#define _GNU_SOURCE 1" >>confdefs.h - - $as_echo "#define _POSIX_PTHREAD_SEMANTICS 1" >>confdefs.h - - $as_echo "#define _TANDEM_SOURCE 1" >>confdefs.h - - - -# Check whether --enable-silent-rules was given. -if test "${enable_silent_rules+set}" = set; then : - enableval=$enable_silent_rules; -fi - -case $enable_silent_rules in -yes) AM_DEFAULT_VERBOSITY=0;; -no) AM_DEFAULT_VERBOSITY=1;; -*) AM_DEFAULT_VERBOSITY=0;; -esac -am_make=${MAKE-make} -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5 -$as_echo_n "checking whether $am_make supports nested variables... " >&6; } -if ${am_cv_make_support_nested_variables+:} false; then : - $as_echo_n "(cached) " >&6 -else - if $as_echo 'TRUE=$(BAR$(V)) -BAR0=false -BAR1=true -V=1 -am__doit: - @$(TRUE) -.PHONY: am__doit' | $am_make -f - >/dev/null 2>&1; then - am_cv_make_support_nested_variables=yes -else - am_cv_make_support_nested_variables=no -fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5 -$as_echo "$am_cv_make_support_nested_variables" >&6; } -if test $am_cv_make_support_nested_variables = yes; then - AM_V='$(V)' - AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' -else - AM_V=$AM_DEFAULT_VERBOSITY - AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY -fi -AM_BACKSLASH='\' - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable maintainer-specific portions of Makefiles" >&5 -$as_echo_n "checking whether to enable maintainer-specific portions of Makefiles... " >&6; } - # Check whether --enable-maintainer-mode was given. -if test "${enable_maintainer_mode+set}" = set; then : - enableval=$enable_maintainer_mode; USE_MAINTAINER_MODE=$enableval -else - USE_MAINTAINER_MODE=no -fi - - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_MAINTAINER_MODE" >&5 -$as_echo "$USE_MAINTAINER_MODE" >&6; } - if test $USE_MAINTAINER_MODE = yes; then - MAINTAINER_MODE_TRUE= - MAINTAINER_MODE_FALSE='#' -else - MAINTAINER_MODE_TRUE='#' - MAINTAINER_MODE_FALSE= -fi - - MAINT=$MAINTAINER_MODE_TRUE - - - - - - - - - - - - -if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args. -set dummy ${ac_tool_prefix}pkg-config; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_PKG_CONFIG+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $PKG_CONFIG in - [\\/]* | ?:[\\/]*) - ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -PKG_CONFIG=$ac_cv_path_PKG_CONFIG -if test -n "$PKG_CONFIG"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 -$as_echo "$PKG_CONFIG" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_path_PKG_CONFIG"; then - ac_pt_PKG_CONFIG=$PKG_CONFIG - # Extract the first word of "pkg-config", so it can be a program name with args. -set dummy pkg-config; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_ac_pt_PKG_CONFIG+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $ac_pt_PKG_CONFIG in - [\\/]* | ?:[\\/]*) - ac_cv_path_ac_pt_PKG_CONFIG="$ac_pt_PKG_CONFIG" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_ac_pt_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -ac_pt_PKG_CONFIG=$ac_cv_path_ac_pt_PKG_CONFIG -if test -n "$ac_pt_PKG_CONFIG"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKG_CONFIG" >&5 -$as_echo "$ac_pt_PKG_CONFIG" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_pt_PKG_CONFIG" = x; then - PKG_CONFIG="" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - PKG_CONFIG=$ac_pt_PKG_CONFIG - fi -else - PKG_CONFIG="$ac_cv_path_PKG_CONFIG" -fi - -fi -if test -n "$PKG_CONFIG"; then - _pkg_min_version=0.9.0 - { $as_echo "$as_me:${as_lineno-$LINENO}: checking pkg-config is at least version $_pkg_min_version" >&5 -$as_echo_n "checking pkg-config is at least version $_pkg_min_version... " >&6; } - if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - PKG_CONFIG="" - fi -fi - - - with_cflags="" - if (test "$USE_MAINTAINER_MODE" = "yes"); then - with_cflags="$with_cflags -Wall -Werror -Wextra" - with_cflags="$with_cflags -Wno-unused-parameter" - with_cflags="$with_cflags -Wno-missing-field-initializers" - with_cflags="$with_cflags -Wdeclaration-after-statement" - with_cflags="$with_cflags -Wmissing-declarations" - with_cflags="$with_cflags -Wredundant-decls" - with_cflags="$with_cflags -Wcast-align" - with_cflags="$with_cflags -DG_DISABLE_DEPRECATED" - fi - - WARNING_CFLAGS=$with_cflags - - - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C/C++ restrict keyword" >&5 -$as_echo_n "checking for C/C++ restrict keyword... " >&6; } -if ${ac_cv_c_restrict+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_cv_c_restrict=no - # The order here caters to the fact that C++ does not require restrict. - for ac_kw in __restrict __restrict__ _Restrict restrict; do - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -typedef int * int_ptr; - int foo (int_ptr $ac_kw ip) { - return ip[0]; - } -int -main () -{ -int s[1]; - int * $ac_kw t = s; - t[0] = 0; - return foo(t) - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_c_restrict=$ac_kw -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - test "$ac_cv_c_restrict" != no && break - done - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_restrict" >&5 -$as_echo "$ac_cv_c_restrict" >&6; } - - case $ac_cv_c_restrict in - restrict) ;; - no) $as_echo "#define restrict /**/" >>confdefs.h - ;; - *) cat >>confdefs.h <<_ACEOF -#define restrict $ac_cv_c_restrict -_ACEOF - ;; - esac - - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. -set dummy ${ac_tool_prefix}gcc; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_CC="${ac_tool_prefix}gcc" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -$as_echo "$CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_CC"; then - ac_ct_CC=$CC - # Extract the first word of "gcc", so it can be a program name with args. -set dummy gcc; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_CC"; then - ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_CC="gcc" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_CC=$ac_cv_prog_ac_ct_CC -if test -n "$ac_ct_CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 -$as_echo "$ac_ct_CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_CC" = x; then - CC="" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - CC=$ac_ct_CC - fi -else - CC="$ac_cv_prog_CC" -fi - -if test -z "$CC"; then - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. -set dummy ${ac_tool_prefix}cc; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_CC="${ac_tool_prefix}cc" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -$as_echo "$CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - fi -fi -if test -z "$CC"; then - # Extract the first word of "cc", so it can be a program name with args. -set dummy cc; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else - ac_prog_rejected=no -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then - ac_prog_rejected=yes - continue - fi - ac_cv_prog_CC="cc" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -if test $ac_prog_rejected = yes; then - # We found a bogon in the path, so make sure we never use it. - set dummy $ac_cv_prog_CC - shift - if test $# != 0; then - # We chose a different compiler from the bogus one. - # However, it has the same basename, so the bogon will be chosen - # first if we set CC to just the basename; use the full file name. - shift - ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" - fi -fi -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -$as_echo "$CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$CC"; then - if test -n "$ac_tool_prefix"; then - for ac_prog in cl.exe - do - # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. -set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_CC="$ac_tool_prefix$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -$as_echo "$CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$CC" && break - done -fi -if test -z "$CC"; then - ac_ct_CC=$CC - for ac_prog in cl.exe -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_CC"; then - ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_CC="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_CC=$ac_cv_prog_ac_ct_CC -if test -n "$ac_ct_CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 -$as_echo "$ac_ct_CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$ac_ct_CC" && break -done - - if test "x$ac_ct_CC" = x; then - CC="" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - CC=$ac_ct_CC - fi -fi - -fi - - -test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "no acceptable C compiler found in \$PATH -See \`config.log' for more details" "$LINENO" 5; } - -# Provide some information about the compiler. -$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 -set X $ac_compile -ac_compiler=$2 -for ac_option in --version -v -V -qversion; do - { { ac_try="$ac_compiler $ac_option >&5" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_compiler $ac_option >&5") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - sed '10a\ -... rest of stderr output deleted ... - 10q' conftest.err >conftest.er1 - cat conftest.er1 >&5 - fi - rm -f conftest.er1 conftest.err - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } -done - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5 -$as_echo_n "checking whether we are using the GNU C compiler... " >&6; } -if ${ac_cv_c_compiler_gnu+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ -#ifndef __GNUC__ - choke me -#endif - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_compiler_gnu=yes -else - ac_compiler_gnu=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -ac_cv_c_compiler_gnu=$ac_compiler_gnu - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 -$as_echo "$ac_cv_c_compiler_gnu" >&6; } -if test $ac_compiler_gnu = yes; then - GCC=yes -else - GCC= -fi -ac_test_CFLAGS=${CFLAGS+set} -ac_save_CFLAGS=$CFLAGS -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 -$as_echo_n "checking whether $CC accepts -g... " >&6; } -if ${ac_cv_prog_cc_g+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_save_c_werror_flag=$ac_c_werror_flag - ac_c_werror_flag=yes - ac_cv_prog_cc_g=no - CFLAGS="-g" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_prog_cc_g=yes -else - CFLAGS="" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - -else - ac_c_werror_flag=$ac_save_c_werror_flag - CFLAGS="-g" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_prog_cc_g=yes -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - ac_c_werror_flag=$ac_save_c_werror_flag -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 -$as_echo "$ac_cv_prog_cc_g" >&6; } -if test "$ac_test_CFLAGS" = set; then - CFLAGS=$ac_save_CFLAGS -elif test $ac_cv_prog_cc_g = yes; then - if test "$GCC" = yes; then - CFLAGS="-g -O2" - else - CFLAGS="-g" - fi -else - if test "$GCC" = yes; then - CFLAGS="-O2" - else - CFLAGS= - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5 -$as_echo_n "checking for $CC option to accept ISO C89... " >&6; } -if ${ac_cv_prog_cc_c89+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_cv_prog_cc_c89=no -ac_save_CC=$CC -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include -struct stat; -/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ -struct buf { int x; }; -FILE * (*rcsopen) (struct buf *, struct stat *, int); -static char *e (p, i) - char **p; - int i; -{ - return p[i]; -} -static char *f (char * (*g) (char **, int), char **p, ...) -{ - char *s; - va_list v; - va_start (v,p); - s = g (p, va_arg (v,int)); - va_end (v); - return s; -} - -/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has - function prototypes and stuff, but not '\xHH' hex character constants. - These don't provoke an error unfortunately, instead are silently treated - as 'x'. The following induces an error, until -std is added to get - proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an - array size at least. It's necessary to write '\x00'==0 to get something - that's true only with -std. */ -int osf4_cc_array ['\x00' == 0 ? 1 : -1]; - -/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters - inside strings and character constants. */ -#define FOO(x) 'x' -int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; - -int test (int i, double x); -struct s1 {int (*f) (int a);}; -struct s2 {int (*f) (double a);}; -int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); -int argc; -char **argv; -int -main () -{ -return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; - ; - return 0; -} -_ACEOF -for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ - -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" -do - CC="$ac_save_CC $ac_arg" - if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_prog_cc_c89=$ac_arg -fi -rm -f core conftest.err conftest.$ac_objext - test "x$ac_cv_prog_cc_c89" != "xno" && break -done -rm -f conftest.$ac_ext -CC=$ac_save_CC - -fi -# AC_CACHE_VAL -case "x$ac_cv_prog_cc_c89" in - x) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 -$as_echo "none needed" >&6; } ;; - xno) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 -$as_echo "unsupported" >&6; } ;; - *) - CC="$CC $ac_cv_prog_cc_c89" - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 -$as_echo "$ac_cv_prog_cc_c89" >&6; } ;; -esac -if test "x$ac_cv_prog_cc_c89" != xno; then : - -fi - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -depcc="$CC" am_compiler_list= - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 -$as_echo_n "checking dependency style of $depcc... " >&6; } -if ${am_cv_CC_dependencies_compiler_type+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then - # We make a subdir and do the tests there. Otherwise we can end up - # making bogus files that we don't know about and never remove. For - # instance it was reported that on HP-UX the gcc test will end up - # making a dummy file named `D' -- because `-MD' means `put the output - # in D'. - rm -rf conftest.dir - mkdir conftest.dir - # Copy depcomp to subdir because otherwise we won't find it if we're - # using a relative directory. - cp "$am_depcomp" conftest.dir - cd conftest.dir - # We will build objects and dependencies in a subdirectory because - # it helps to detect inapplicable dependency modes. For instance - # both Tru64's cc and ICC support -MD to output dependencies as a - # side effect of compilation, but ICC will put the dependencies in - # the current directory while Tru64 will put them in the object - # directory. - mkdir sub - - am_cv_CC_dependencies_compiler_type=none - if test "$am_compiler_list" = ""; then - am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` - fi - am__universal=false - case " $depcc " in #( - *\ -arch\ *\ -arch\ *) am__universal=true ;; - esac - - for depmode in $am_compiler_list; do - # Setup a source with many dependencies, because some compilers - # like to wrap large dependency lists on column 80 (with \), and - # we should not choose a depcomp mode which is confused by this. - # - # We need to recreate these files for each test, as the compiler may - # overwrite some of them when testing with obscure command lines. - # This happens at least with the AIX C compiler. - : > sub/conftest.c - for i in 1 2 3 4 5 6; do - echo '#include "conftst'$i'.h"' >> sub/conftest.c - # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with - # Solaris 8's {/usr,}/bin/sh. - touch sub/conftst$i.h - done - echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf - - # We check with `-c' and `-o' for the sake of the "dashmstdout" - # mode. It turns out that the SunPro C++ compiler does not properly - # handle `-M -o', and we need to detect this. Also, some Intel - # versions had trouble with output in subdirs - am__obj=sub/conftest.${OBJEXT-o} - am__minus_obj="-o $am__obj" - case $depmode in - gcc) - # This depmode causes a compiler race in universal mode. - test "$am__universal" = false || continue - ;; - nosideeffect) - # after this tag, mechanisms are not by side-effect, so they'll - # only be used when explicitly requested - if test "x$enable_dependency_tracking" = xyes; then - continue - else - break - fi - ;; - msvc7 | msvc7msys | msvisualcpp | msvcmsys) - # This compiler won't grok `-c -o', but also, the minuso test has - # not run yet. These depmodes are late enough in the game, and - # so weak that their functioning should not be impacted. - am__obj=conftest.${OBJEXT-o} - am__minus_obj= - ;; - none) break ;; - esac - if depmode=$depmode \ - source=sub/conftest.c object=$am__obj \ - depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ - $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ - >/dev/null 2>conftest.err && - grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && - grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && - grep $am__obj sub/conftest.Po > /dev/null 2>&1 && - ${MAKE-make} -s -f confmf > /dev/null 2>&1; then - # icc doesn't choke on unknown options, it will just issue warnings - # or remarks (even with -Werror). So we grep stderr for any message - # that says an option was ignored or not supported. - # When given -MP, icc 7.0 and 7.1 complain thusly: - # icc: Command line warning: ignoring option '-M'; no argument required - # The diagnosis changed in icc 8.0: - # icc: Command line remark: option '-MP' not supported - if (grep 'ignoring option' conftest.err || - grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else - am_cv_CC_dependencies_compiler_type=$depmode - break - fi - fi - done - - cd .. - rm -rf conftest.dir -else - am_cv_CC_dependencies_compiler_type=none -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5 -$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; } -CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type - - if - test "x$enable_dependency_tracking" != xno \ - && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then - am__fastdepCC_TRUE= - am__fastdepCC_FALSE='#' -else - am__fastdepCC_TRUE='#' - am__fastdepCC_FALSE= -fi - - -if test "x$CC" != xcc; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC and cc understand -c and -o together" >&5 -$as_echo_n "checking whether $CC and cc understand -c and -o together... " >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether cc understands -c and -o together" >&5 -$as_echo_n "checking whether cc understands -c and -o together... " >&6; } -fi -set dummy $CC; ac_cc=`$as_echo "$2" | - sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'` -if eval \${ac_cv_prog_cc_${ac_cc}_c_o+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -# Make sure it works both with $CC and with simple cc. -# We do the test twice because some compilers refuse to overwrite an -# existing .o file with -o, though they will create one. -ac_try='$CC -c conftest.$ac_ext -o conftest2.$ac_objext >&5' -rm -f conftest2.* -if { { case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && - test -f conftest2.$ac_objext && { { case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; -then - eval ac_cv_prog_cc_${ac_cc}_c_o=yes - if test "x$CC" != xcc; then - # Test first that cc exists at all. - if { ac_try='cc -c conftest.$ac_ext >&5' - { { case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; }; then - ac_try='cc -c conftest.$ac_ext -o conftest2.$ac_objext >&5' - rm -f conftest2.* - if { { case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && - test -f conftest2.$ac_objext && { { case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; - then - # cc works too. - : - else - # cc exists but doesn't like -o. - eval ac_cv_prog_cc_${ac_cc}_c_o=no - fi - fi - fi -else - eval ac_cv_prog_cc_${ac_cc}_c_o=no -fi -rm -f core conftest* - -fi -if eval test \$ac_cv_prog_cc_${ac_cc}_c_o = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - -$as_echo "#define NO_MINUS_C_MINUS_O 1" >>confdefs.h - -fi - -# FIXME: we rely on the cache variable name because -# there is no other way. -set dummy $CC -am_cc=`echo $2 | sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'` -eval am_t=\$ac_cv_prog_cc_${am_cc}_c_o -if test "$am_t" != yes; then - # Losing compiler, so override with the script. - # FIXME: It is wrong to rewrite CC. - # But if we don't then we get into trouble of one sort or another. - # A longer-term fix would be to have automake use am__CC in this case, - # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" - CC="$am_aux_dir/compile $CC" -fi - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${CC-cc} accepts -fPIE" >&5 -$as_echo_n "checking whether ${CC-cc} accepts -fPIE... " >&6; } -if ${ac_cv_prog_cc_pie+:} false; then : - $as_echo_n "(cached) " >&6 -else - - echo 'void f(){}' > conftest.c - if test -z "`${CC-cc} -fPIE -pie -c conftest.c 2>&1`"; then - ac_cv_prog_cc_pie=yes - else - ac_cv_prog_cc_pie=no - fi - rm -rf conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_pie" >&5 -$as_echo "$ac_cv_prog_cc_pie" >&6; } - - - - - - - -# Check whether --enable-static was given. -if test "${enable_static+set}" = set; then : - enableval=$enable_static; p=${PACKAGE-default} - case $enableval in - yes) enable_static=yes ;; - no) enable_static=no ;; - *) - enable_static=no - # Look at the argument we got. We use all the common list separators. - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," - for pkg in $enableval; do - IFS="$lt_save_ifs" - if test "X$pkg" = "X$p"; then - enable_static=yes - fi - done - IFS="$lt_save_ifs" - ;; - esac -else - enable_static=no -fi - - - - - - - - - -case `pwd` in - *\ * | *\ *) - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5 -$as_echo "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;; -esac - - - -macro_version='2.4.2' -macro_revision='1.3337' - - - - - - - - - - - - - -ltmain="$ac_aux_dir/ltmain.sh" - -# Make sure we can run config.sub. -$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || - as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5 - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 -$as_echo_n "checking build system type... " >&6; } -if ${ac_cv_build+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_build_alias=$build_alias -test "x$ac_build_alias" = x && - ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` -test "x$ac_build_alias" = x && - as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5 -ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || - as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5 - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 -$as_echo "$ac_cv_build" >&6; } -case $ac_cv_build in -*-*-*) ;; -*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;; -esac -build=$ac_cv_build -ac_save_IFS=$IFS; IFS='-' -set x $ac_cv_build -shift -build_cpu=$1 -build_vendor=$2 -shift; shift -# Remember, the first character of IFS is used to create $*, -# except with old shells: -build_os=$* -IFS=$ac_save_IFS -case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 -$as_echo_n "checking host system type... " >&6; } -if ${ac_cv_host+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test "x$host_alias" = x; then - ac_cv_host=$ac_cv_build -else - ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || - as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5 -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 -$as_echo "$ac_cv_host" >&6; } -case $ac_cv_host in -*-*-*) ;; -*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;; -esac -host=$ac_cv_host -ac_save_IFS=$IFS; IFS='-' -set x $ac_cv_host -shift -host_cpu=$1 -host_vendor=$2 -shift; shift -# Remember, the first character of IFS is used to create $*, -# except with old shells: -host_os=$* -IFS=$ac_save_IFS -case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac - - -# Backslashify metacharacters that are still active within -# double-quoted strings. -sed_quote_subst='s/\(["`$\\]\)/\\\1/g' - -# Same as above, but do not quote variable references. -double_quote_subst='s/\(["`\\]\)/\\\1/g' - -# Sed substitution to delay expansion of an escaped shell variable in a -# double_quote_subst'ed string. -delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' - -# Sed substitution to delay expansion of an escaped single quote. -delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g' - -# Sed substitution to avoid accidental globbing in evaled expressions -no_glob_subst='s/\*/\\\*/g' - -ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' -ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO -ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to print strings" >&5 -$as_echo_n "checking how to print strings... " >&6; } -# Test print first, because it will be a builtin if present. -if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \ - test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then - ECHO='print -r --' -elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then - ECHO='printf %s\n' -else - # Use this function as a fallback that always works. - func_fallback_echo () - { - eval 'cat <<_LTECHO_EOF -$1 -_LTECHO_EOF' - } - ECHO='func_fallback_echo' -fi - -# func_echo_all arg... -# Invoke $ECHO with all args, space-separated. -func_echo_all () -{ - $ECHO "" -} - -case "$ECHO" in - printf*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: printf" >&5 -$as_echo "printf" >&6; } ;; - print*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: print -r" >&5 -$as_echo "print -r" >&6; } ;; - *) { $as_echo "$as_me:${as_lineno-$LINENO}: result: cat" >&5 -$as_echo "cat" >&6; } ;; -esac - - - - - - - - - - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5 -$as_echo_n "checking for a sed that does not truncate output... " >&6; } -if ${ac_cv_path_SED+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/ - for ac_i in 1 2 3 4 5 6 7; do - ac_script="$ac_script$as_nl$ac_script" - done - echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed - { ac_script=; unset ac_script;} - if test -z "$SED"; then - ac_path_SED_found=false - # Loop through the user's path and test for each of PROGNAME-LIST - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in sed gsed; do - for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_SED="$as_dir/$ac_prog$ac_exec_ext" - as_fn_executable_p "$ac_path_SED" || continue -# Check for GNU ac_path_SED and select it if it is found. - # Check for GNU $ac_path_SED -case `"$ac_path_SED" --version 2>&1` in -*GNU*) - ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;; -*) - ac_count=0 - $as_echo_n 0123456789 >"conftest.in" - while : - do - cat "conftest.in" "conftest.in" >"conftest.tmp" - mv "conftest.tmp" "conftest.in" - cp "conftest.in" "conftest.nl" - $as_echo '' >> "conftest.nl" - "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break - diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break - as_fn_arith $ac_count + 1 && ac_count=$as_val - if test $ac_count -gt ${ac_path_SED_max-0}; then - # Best one so far, save it but keep looking for a better one - ac_cv_path_SED="$ac_path_SED" - ac_path_SED_max=$ac_count - fi - # 10*(2^10) chars as input seems more than enough - test $ac_count -gt 10 && break - done - rm -f conftest.in conftest.tmp conftest.nl conftest.out;; -esac - - $ac_path_SED_found && break 3 - done - done - done -IFS=$as_save_IFS - if test -z "$ac_cv_path_SED"; then - as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5 - fi -else - ac_cv_path_SED=$SED -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5 -$as_echo "$ac_cv_path_SED" >&6; } - SED="$ac_cv_path_SED" - rm -f conftest.sed - -test -z "$SED" && SED=sed -Xsed="$SED -e 1s/^X//" - - - - - - - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5 -$as_echo_n "checking for fgrep... " >&6; } -if ${ac_cv_path_FGREP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1 - then ac_cv_path_FGREP="$GREP -F" - else - if test -z "$FGREP"; then - ac_path_FGREP_found=false - # Loop through the user's path and test for each of PROGNAME-LIST - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in fgrep; do - for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext" - as_fn_executable_p "$ac_path_FGREP" || continue -# Check for GNU ac_path_FGREP and select it if it is found. - # Check for GNU $ac_path_FGREP -case `"$ac_path_FGREP" --version 2>&1` in -*GNU*) - ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_found=:;; -*) - ac_count=0 - $as_echo_n 0123456789 >"conftest.in" - while : - do - cat "conftest.in" "conftest.in" >"conftest.tmp" - mv "conftest.tmp" "conftest.in" - cp "conftest.in" "conftest.nl" - $as_echo 'FGREP' >> "conftest.nl" - "$ac_path_FGREP" FGREP < "conftest.nl" >"conftest.out" 2>/dev/null || break - diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break - as_fn_arith $ac_count + 1 && ac_count=$as_val - if test $ac_count -gt ${ac_path_FGREP_max-0}; then - # Best one so far, save it but keep looking for a better one - ac_cv_path_FGREP="$ac_path_FGREP" - ac_path_FGREP_max=$ac_count - fi - # 10*(2^10) chars as input seems more than enough - test $ac_count -gt 10 && break - done - rm -f conftest.in conftest.tmp conftest.nl conftest.out;; -esac - - $ac_path_FGREP_found && break 3 - done - done - done -IFS=$as_save_IFS - if test -z "$ac_cv_path_FGREP"; then - as_fn_error $? "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 - fi -else - ac_cv_path_FGREP=$FGREP -fi - - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_FGREP" >&5 -$as_echo "$ac_cv_path_FGREP" >&6; } - FGREP="$ac_cv_path_FGREP" - - -test -z "$GREP" && GREP=grep - - - - - - - - - - - - - - - - - - - -# Check whether --with-gnu-ld was given. -if test "${with_gnu_ld+set}" = set; then : - withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes -else - with_gnu_ld=no -fi - -ac_prog=ld -if test "$GCC" = yes; then - # Check if gcc -print-prog-name=ld gives a path. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5 -$as_echo_n "checking for ld used by $CC... " >&6; } - case $host in - *-*-mingw*) - # gcc leaves a trailing carriage return which upsets mingw - ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; - *) - ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; - esac - case $ac_prog in - # Accept absolute paths. - [\\/]* | ?:[\\/]*) - re_direlt='/[^/][^/]*/\.\./' - # Canonicalize the pathname of ld - ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` - while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do - ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` - done - test -z "$LD" && LD="$ac_prog" - ;; - "") - # If it fails, then pretend we aren't using GCC. - ac_prog=ld - ;; - *) - # If it is relative, then search for the first ld in PATH. - with_gnu_ld=unknown - ;; - esac -elif test "$with_gnu_ld" = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 -$as_echo_n "checking for GNU ld... " >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 -$as_echo_n "checking for non-GNU ld... " >&6; } -fi -if ${lt_cv_path_LD+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -z "$LD"; then - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - for ac_dir in $PATH; do - IFS="$lt_save_ifs" - test -z "$ac_dir" && ac_dir=. - if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then - lt_cv_path_LD="$ac_dir/$ac_prog" - # Check to see if the program is GNU ld. I'd rather use --version, - # but apparently some variants of GNU ld only accept -v. - # Break only if it was the GNU/non-GNU ld that we prefer. - case `"$lt_cv_path_LD" -v 2>&1 &5 -$as_echo "$LD" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi -test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 -$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; } -if ${lt_cv_prog_gnu_ld+:} false; then : - $as_echo_n "(cached) " >&6 -else - # I'd rather use --version here, but apparently some GNU lds only accept -v. -case `$LD -v 2>&1 &5 -$as_echo "$lt_cv_prog_gnu_ld" >&6; } -with_gnu_ld=$lt_cv_prog_gnu_ld - - - - - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5 -$as_echo_n "checking for BSD- or MS-compatible name lister (nm)... " >&6; } -if ${lt_cv_path_NM+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$NM"; then - # Let the user override the test. - lt_cv_path_NM="$NM" -else - lt_nm_to_check="${ac_tool_prefix}nm" - if test -n "$ac_tool_prefix" && test "$build" = "$host"; then - lt_nm_to_check="$lt_nm_to_check nm" - fi - for lt_tmp_nm in $lt_nm_to_check; do - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do - IFS="$lt_save_ifs" - test -z "$ac_dir" && ac_dir=. - tmp_nm="$ac_dir/$lt_tmp_nm" - if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then - # Check to see if the nm accepts a BSD-compat flag. - # Adding the `sed 1q' prevents false positives on HP-UX, which says: - # nm: unknown option "B" ignored - # Tru64's nm complains that /dev/null is an invalid object file - case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in - */dev/null* | *'Invalid file or object type'*) - lt_cv_path_NM="$tmp_nm -B" - break - ;; - *) - case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in - */dev/null*) - lt_cv_path_NM="$tmp_nm -p" - break - ;; - *) - lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but - continue # so that we can try to find one that supports BSD flags - ;; - esac - ;; - esac - fi - done - IFS="$lt_save_ifs" - done - : ${lt_cv_path_NM=no} -fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_NM" >&5 -$as_echo "$lt_cv_path_NM" >&6; } -if test "$lt_cv_path_NM" != "no"; then - NM="$lt_cv_path_NM" -else - # Didn't find any BSD compatible name lister, look for dumpbin. - if test -n "$DUMPBIN"; then : - # Let the user override the test. - else - if test -n "$ac_tool_prefix"; then - for ac_prog in dumpbin "link -dump" - do - # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. -set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_DUMPBIN+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$DUMPBIN"; then - ac_cv_prog_DUMPBIN="$DUMPBIN" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -DUMPBIN=$ac_cv_prog_DUMPBIN -if test -n "$DUMPBIN"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DUMPBIN" >&5 -$as_echo "$DUMPBIN" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$DUMPBIN" && break - done -fi -if test -z "$DUMPBIN"; then - ac_ct_DUMPBIN=$DUMPBIN - for ac_prog in dumpbin "link -dump" -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_DUMPBIN+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_DUMPBIN"; then - ac_cv_prog_ac_ct_DUMPBIN="$ac_ct_DUMPBIN" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_DUMPBIN="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_DUMPBIN=$ac_cv_prog_ac_ct_DUMPBIN -if test -n "$ac_ct_DUMPBIN"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DUMPBIN" >&5 -$as_echo "$ac_ct_DUMPBIN" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$ac_ct_DUMPBIN" && break -done - - if test "x$ac_ct_DUMPBIN" = x; then - DUMPBIN=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - DUMPBIN=$ac_ct_DUMPBIN - fi -fi - - case `$DUMPBIN -symbols /dev/null 2>&1 | sed '1q'` in - *COFF*) - DUMPBIN="$DUMPBIN -symbols" - ;; - *) - DUMPBIN=: - ;; - esac - fi - - if test "$DUMPBIN" != ":"; then - NM="$DUMPBIN" - fi -fi -test -z "$NM" && NM=nm - - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5 -$as_echo_n "checking the name lister ($NM) interface... " >&6; } -if ${lt_cv_nm_interface+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_nm_interface="BSD nm" - echo "int some_variable = 0;" > conftest.$ac_ext - (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&5) - (eval "$ac_compile" 2>conftest.err) - cat conftest.err >&5 - (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&5) - (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) - cat conftest.err >&5 - (eval echo "\"\$as_me:$LINENO: output\"" >&5) - cat conftest.out >&5 - if $GREP 'External.*some_variable' conftest.out > /dev/null; then - lt_cv_nm_interface="MS dumpbin" - fi - rm -f conftest* -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_nm_interface" >&5 -$as_echo "$lt_cv_nm_interface" >&6; } - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5 -$as_echo_n "checking whether ln -s works... " >&6; } -LN_S=$as_ln_s -if test "$LN_S" = "ln -s"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5 -$as_echo "no, using $LN_S" >&6; } -fi - -# find the maximum length of command line arguments -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5 -$as_echo_n "checking the maximum length of command line arguments... " >&6; } -if ${lt_cv_sys_max_cmd_len+:} false; then : - $as_echo_n "(cached) " >&6 -else - i=0 - teststring="ABCD" - - case $build_os in - msdosdjgpp*) - # On DJGPP, this test can blow up pretty badly due to problems in libc - # (any single argument exceeding 2000 bytes causes a buffer overrun - # during glob expansion). Even if it were fixed, the result of this - # check would be larger than it should be. - lt_cv_sys_max_cmd_len=12288; # 12K is about right - ;; - - gnu*) - # Under GNU Hurd, this test is not required because there is - # no limit to the length of command line arguments. - # Libtool will interpret -1 as no limit whatsoever - lt_cv_sys_max_cmd_len=-1; - ;; - - cygwin* | mingw* | cegcc*) - # On Win9x/ME, this test blows up -- it succeeds, but takes - # about 5 minutes as the teststring grows exponentially. - # Worse, since 9x/ME are not pre-emptively multitasking, - # you end up with a "frozen" computer, even though with patience - # the test eventually succeeds (with a max line length of 256k). - # Instead, let's just punt: use the minimum linelength reported by - # all of the supported platforms: 8192 (on NT/2K/XP). - lt_cv_sys_max_cmd_len=8192; - ;; - - mint*) - # On MiNT this can take a long time and run out of memory. - lt_cv_sys_max_cmd_len=8192; - ;; - - amigaos*) - # On AmigaOS with pdksh, this test takes hours, literally. - # So we just punt and use a minimum line length of 8192. - lt_cv_sys_max_cmd_len=8192; - ;; - - netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) - # This has been around since 386BSD, at least. Likely further. - if test -x /sbin/sysctl; then - lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` - elif test -x /usr/sbin/sysctl; then - lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` - else - lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs - fi - # And add a safety zone - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` - ;; - - interix*) - # We know the value 262144 and hardcode it with a safety zone (like BSD) - lt_cv_sys_max_cmd_len=196608 - ;; - - os2*) - # The test takes a long time on OS/2. - lt_cv_sys_max_cmd_len=8192 - ;; - - osf*) - # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure - # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not - # nice to cause kernel panics so lets avoid the loop below. - # First set a reasonable default. - lt_cv_sys_max_cmd_len=16384 - # - if test -x /sbin/sysconfig; then - case `/sbin/sysconfig -q proc exec_disable_arg_limit` in - *1*) lt_cv_sys_max_cmd_len=-1 ;; - esac - fi - ;; - sco3.2v5*) - lt_cv_sys_max_cmd_len=102400 - ;; - sysv5* | sco5v6* | sysv4.2uw2*) - kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` - if test -n "$kargmax"; then - lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[ ]//'` - else - lt_cv_sys_max_cmd_len=32768 - fi - ;; - *) - lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` - if test -n "$lt_cv_sys_max_cmd_len"; then - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` - else - # Make teststring a little bigger before we do anything with it. - # a 1K string should be a reasonable start. - for i in 1 2 3 4 5 6 7 8 ; do - teststring=$teststring$teststring - done - SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} - # If test is not a shell built-in, we'll probably end up computing a - # maximum length that is only half of the actual maximum length, but - # we can't tell. - while { test "X"`env echo "$teststring$teststring" 2>/dev/null` \ - = "X$teststring$teststring"; } >/dev/null 2>&1 && - test $i != 17 # 1/2 MB should be enough - do - i=`expr $i + 1` - teststring=$teststring$teststring - done - # Only check the string length outside the loop. - lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1` - teststring= - # Add a significant safety factor because C++ compilers can tack on - # massive amounts of additional arguments before passing them to the - # linker. It appears as though 1/2 is a usable value. - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` - fi - ;; - esac - -fi - -if test -n $lt_cv_sys_max_cmd_len ; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_max_cmd_len" >&5 -$as_echo "$lt_cv_sys_max_cmd_len" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5 -$as_echo "none" >&6; } -fi -max_cmd_len=$lt_cv_sys_max_cmd_len - - - - - - -: ${CP="cp -f"} -: ${MV="mv -f"} -: ${RM="rm -f"} - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the shell understands some XSI constructs" >&5 -$as_echo_n "checking whether the shell understands some XSI constructs... " >&6; } -# Try some XSI features -xsi_shell=no -( _lt_dummy="a/b/c" - test "${_lt_dummy##*/},${_lt_dummy%/*},${_lt_dummy#??}"${_lt_dummy%"$_lt_dummy"}, \ - = c,a/b,b/c, \ - && eval 'test $(( 1 + 1 )) -eq 2 \ - && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \ - && xsi_shell=yes -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $xsi_shell" >&5 -$as_echo "$xsi_shell" >&6; } - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the shell understands \"+=\"" >&5 -$as_echo_n "checking whether the shell understands \"+=\"... " >&6; } -lt_shell_append=no -( foo=bar; set foo baz; eval "$1+=\$2" && test "$foo" = barbaz ) \ - >/dev/null 2>&1 \ - && lt_shell_append=yes -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_shell_append" >&5 -$as_echo "$lt_shell_append" >&6; } - - -if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then - lt_unset=unset -else - lt_unset=false -fi - - - - - -# test EBCDIC or ASCII -case `echo X|tr X '\101'` in - A) # ASCII based system - # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr - lt_SP2NL='tr \040 \012' - lt_NL2SP='tr \015\012 \040\040' - ;; - *) # EBCDIC based system - lt_SP2NL='tr \100 \n' - lt_NL2SP='tr \r\n \100\100' - ;; -esac - - - - - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to $host format" >&5 -$as_echo_n "checking how to convert $build file names to $host format... " >&6; } -if ${lt_cv_to_host_file_cmd+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $host in - *-*-mingw* ) - case $build in - *-*-mingw* ) # actually msys - lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32 - ;; - *-*-cygwin* ) - lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32 - ;; - * ) # otherwise, assume *nix - lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32 - ;; - esac - ;; - *-*-cygwin* ) - case $build in - *-*-mingw* ) # actually msys - lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin - ;; - *-*-cygwin* ) - lt_cv_to_host_file_cmd=func_convert_file_noop - ;; - * ) # otherwise, assume *nix - lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin - ;; - esac - ;; - * ) # unhandled hosts (and "normal" native builds) - lt_cv_to_host_file_cmd=func_convert_file_noop - ;; -esac - -fi - -to_host_file_cmd=$lt_cv_to_host_file_cmd -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_host_file_cmd" >&5 -$as_echo "$lt_cv_to_host_file_cmd" >&6; } - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to toolchain format" >&5 -$as_echo_n "checking how to convert $build file names to toolchain format... " >&6; } -if ${lt_cv_to_tool_file_cmd+:} false; then : - $as_echo_n "(cached) " >&6 -else - #assume ordinary cross tools, or native build. -lt_cv_to_tool_file_cmd=func_convert_file_noop -case $host in - *-*-mingw* ) - case $build in - *-*-mingw* ) # actually msys - lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32 - ;; - esac - ;; -esac - -fi - -to_tool_file_cmd=$lt_cv_to_tool_file_cmd -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_tool_file_cmd" >&5 -$as_echo "$lt_cv_to_tool_file_cmd" >&6; } - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5 -$as_echo_n "checking for $LD option to reload object files... " >&6; } -if ${lt_cv_ld_reload_flag+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_ld_reload_flag='-r' -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_reload_flag" >&5 -$as_echo "$lt_cv_ld_reload_flag" >&6; } -reload_flag=$lt_cv_ld_reload_flag -case $reload_flag in -"" | " "*) ;; -*) reload_flag=" $reload_flag" ;; -esac -reload_cmds='$LD$reload_flag -o $output$reload_objs' -case $host_os in - cygwin* | mingw* | pw32* | cegcc*) - if test "$GCC" != yes; then - reload_cmds=false - fi - ;; - darwin*) - if test "$GCC" = yes; then - reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs' - else - reload_cmds='$LD$reload_flag -o $output$reload_objs' - fi - ;; -esac - - - - - - - - - -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args. -set dummy ${ac_tool_prefix}objdump; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_OBJDUMP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$OBJDUMP"; then - ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -OBJDUMP=$ac_cv_prog_OBJDUMP -if test -n "$OBJDUMP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5 -$as_echo "$OBJDUMP" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_OBJDUMP"; then - ac_ct_OBJDUMP=$OBJDUMP - # Extract the first word of "objdump", so it can be a program name with args. -set dummy objdump; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_OBJDUMP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_OBJDUMP"; then - ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_OBJDUMP="objdump" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP -if test -n "$ac_ct_OBJDUMP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5 -$as_echo "$ac_ct_OBJDUMP" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_OBJDUMP" = x; then - OBJDUMP="false" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - OBJDUMP=$ac_ct_OBJDUMP - fi -else - OBJDUMP="$ac_cv_prog_OBJDUMP" -fi - -test -z "$OBJDUMP" && OBJDUMP=objdump - - - - - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5 -$as_echo_n "checking how to recognize dependent libraries... " >&6; } -if ${lt_cv_deplibs_check_method+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_file_magic_cmd='$MAGIC_CMD' -lt_cv_file_magic_test_file= -lt_cv_deplibs_check_method='unknown' -# Need to set the preceding variable on all platforms that support -# interlibrary dependencies. -# 'none' -- dependencies not supported. -# `unknown' -- same as none, but documents that we really don't know. -# 'pass_all' -- all dependencies passed with no checks. -# 'test_compile' -- check by making test program. -# 'file_magic [[regex]]' -- check by looking for files in library path -# which responds to the $file_magic_cmd with a given extended regex. -# If you have `file' or equivalent on your system and you're not sure -# whether `pass_all' will *always* work, you probably want this one. - -case $host_os in -aix[4-9]*) - lt_cv_deplibs_check_method=pass_all - ;; - -beos*) - lt_cv_deplibs_check_method=pass_all - ;; - -bsdi[45]*) - lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)' - lt_cv_file_magic_cmd='/usr/bin/file -L' - lt_cv_file_magic_test_file=/shlib/libc.so - ;; - -cygwin*) - # func_win32_libid is a shell function defined in ltmain.sh - lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' - lt_cv_file_magic_cmd='func_win32_libid' - ;; - -mingw* | pw32*) - # Base MSYS/MinGW do not provide the 'file' command needed by - # func_win32_libid shell function, so use a weaker test based on 'objdump', - # unless we find 'file', for example because we are cross-compiling. - # func_win32_libid assumes BSD nm, so disallow it if using MS dumpbin. - if ( test "$lt_cv_nm_interface" = "BSD nm" && file / ) >/dev/null 2>&1; then - lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' - lt_cv_file_magic_cmd='func_win32_libid' - else - # Keep this pattern in sync with the one in func_win32_libid. - lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' - lt_cv_file_magic_cmd='$OBJDUMP -f' - fi - ;; - -cegcc*) - # use the weaker test based on 'objdump'. See mingw*. - lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?' - lt_cv_file_magic_cmd='$OBJDUMP -f' - ;; - -darwin* | rhapsody*) - lt_cv_deplibs_check_method=pass_all - ;; - -freebsd* | dragonfly*) - if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then - case $host_cpu in - i*86 ) - # Not sure whether the presence of OpenBSD here was a mistake. - # Let's accept both of them until this is cleared up. - lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library' - lt_cv_file_magic_cmd=/usr/bin/file - lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` - ;; - esac - else - lt_cv_deplibs_check_method=pass_all - fi - ;; - -haiku*) - lt_cv_deplibs_check_method=pass_all - ;; - -hpux10.20* | hpux11*) - lt_cv_file_magic_cmd=/usr/bin/file - case $host_cpu in - ia64*) - lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64' - lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so - ;; - hppa*64*) - lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]' - lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl - ;; - *) - lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9]\.[0-9]) shared library' - lt_cv_file_magic_test_file=/usr/lib/libc.sl - ;; - esac - ;; - -interix[3-9]*) - # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here - lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$' - ;; - -irix5* | irix6* | nonstopux*) - case $LD in - *-32|*"-32 ") libmagic=32-bit;; - *-n32|*"-n32 ") libmagic=N32;; - *-64|*"-64 ") libmagic=64-bit;; - *) libmagic=never-match;; - esac - lt_cv_deplibs_check_method=pass_all - ;; - -# This must be glibc/ELF. -linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) - lt_cv_deplibs_check_method=pass_all - ;; - -netbsd* | netbsdelf*-gnu) - if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then - lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' - else - lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$' - fi - ;; - -newos6*) - lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)' - lt_cv_file_magic_cmd=/usr/bin/file - lt_cv_file_magic_test_file=/usr/lib/libnls.so - ;; - -*nto* | *qnx*) - lt_cv_deplibs_check_method=pass_all - ;; - -openbsd*) - if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$' - else - lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' - fi - ;; - -osf3* | osf4* | osf5*) - lt_cv_deplibs_check_method=pass_all - ;; - -rdos*) - lt_cv_deplibs_check_method=pass_all - ;; - -solaris*) - lt_cv_deplibs_check_method=pass_all - ;; - -sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) - lt_cv_deplibs_check_method=pass_all - ;; - -sysv4 | sysv4.3*) - case $host_vendor in - motorola) - lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]' - lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` - ;; - ncr) - lt_cv_deplibs_check_method=pass_all - ;; - sequent) - lt_cv_file_magic_cmd='/bin/file' - lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )' - ;; - sni) - lt_cv_file_magic_cmd='/bin/file' - lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib" - lt_cv_file_magic_test_file=/lib/libc.so - ;; - siemens) - lt_cv_deplibs_check_method=pass_all - ;; - pc) - lt_cv_deplibs_check_method=pass_all - ;; - esac - ;; - -tpf*) - lt_cv_deplibs_check_method=pass_all - ;; -esac - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5 -$as_echo "$lt_cv_deplibs_check_method" >&6; } - -file_magic_glob= -want_nocaseglob=no -if test "$build" = "$host"; then - case $host_os in - mingw* | pw32*) - if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then - want_nocaseglob=yes - else - file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[\1]\/[\1]\/g;/g"` - fi - ;; - esac -fi - -file_magic_cmd=$lt_cv_file_magic_cmd -deplibs_check_method=$lt_cv_deplibs_check_method -test -z "$deplibs_check_method" && deplibs_check_method=unknown - - - - - - - - - - - - - - - - - - - - - - -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args. -set dummy ${ac_tool_prefix}dlltool; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_DLLTOOL+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$DLLTOOL"; then - ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -DLLTOOL=$ac_cv_prog_DLLTOOL -if test -n "$DLLTOOL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5 -$as_echo "$DLLTOOL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_DLLTOOL"; then - ac_ct_DLLTOOL=$DLLTOOL - # Extract the first word of "dlltool", so it can be a program name with args. -set dummy dlltool; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_DLLTOOL+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_DLLTOOL"; then - ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_DLLTOOL="dlltool" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL -if test -n "$ac_ct_DLLTOOL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5 -$as_echo "$ac_ct_DLLTOOL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_DLLTOOL" = x; then - DLLTOOL="false" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - DLLTOOL=$ac_ct_DLLTOOL - fi -else - DLLTOOL="$ac_cv_prog_DLLTOOL" -fi - -test -z "$DLLTOOL" && DLLTOOL=dlltool - - - - - - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to associate runtime and link libraries" >&5 -$as_echo_n "checking how to associate runtime and link libraries... " >&6; } -if ${lt_cv_sharedlib_from_linklib_cmd+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_sharedlib_from_linklib_cmd='unknown' - -case $host_os in -cygwin* | mingw* | pw32* | cegcc*) - # two different shell functions defined in ltmain.sh - # decide which to use based on capabilities of $DLLTOOL - case `$DLLTOOL --help 2>&1` in - *--identify-strict*) - lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib - ;; - *) - lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback - ;; - esac - ;; -*) - # fallback: assume linklib IS sharedlib - lt_cv_sharedlib_from_linklib_cmd="$ECHO" - ;; -esac - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sharedlib_from_linklib_cmd" >&5 -$as_echo "$lt_cv_sharedlib_from_linklib_cmd" >&6; } -sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd -test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO - - - - - - - -if test -n "$ac_tool_prefix"; then - for ac_prog in ar - do - # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. -set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_AR+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$AR"; then - ac_cv_prog_AR="$AR" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_AR="$ac_tool_prefix$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -AR=$ac_cv_prog_AR -if test -n "$AR"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5 -$as_echo "$AR" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$AR" && break - done -fi -if test -z "$AR"; then - ac_ct_AR=$AR - for ac_prog in ar -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_AR+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_AR"; then - ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_AR="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_AR=$ac_cv_prog_ac_ct_AR -if test -n "$ac_ct_AR"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5 -$as_echo "$ac_ct_AR" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$ac_ct_AR" && break -done - - if test "x$ac_ct_AR" = x; then - AR="false" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - AR=$ac_ct_AR - fi -fi - -: ${AR=ar} -: ${AR_FLAGS=cru} - - - - - - - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for archiver @FILE support" >&5 -$as_echo_n "checking for archiver @FILE support... " >&6; } -if ${lt_cv_ar_at_file+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_ar_at_file=no - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - echo conftest.$ac_objext > conftest.lst - lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&5' - { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5 - (eval $lt_ar_try) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } - if test "$ac_status" -eq 0; then - # Ensure the archiver fails upon bogus file names. - rm -f conftest.$ac_objext libconftest.a - { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5 - (eval $lt_ar_try) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } - if test "$ac_status" -ne 0; then - lt_cv_ar_at_file=@ - fi - fi - rm -f conftest.* libconftest.a - -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ar_at_file" >&5 -$as_echo "$lt_cv_ar_at_file" >&6; } - -if test "x$lt_cv_ar_at_file" = xno; then - archiver_list_spec= -else - archiver_list_spec=$lt_cv_ar_at_file -fi - - - - - - - -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. -set dummy ${ac_tool_prefix}strip; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_STRIP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$STRIP"; then - ac_cv_prog_STRIP="$STRIP" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_STRIP="${ac_tool_prefix}strip" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -STRIP=$ac_cv_prog_STRIP -if test -n "$STRIP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 -$as_echo "$STRIP" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_STRIP"; then - ac_ct_STRIP=$STRIP - # Extract the first word of "strip", so it can be a program name with args. -set dummy strip; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_STRIP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_STRIP"; then - ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_STRIP="strip" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP -if test -n "$ac_ct_STRIP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 -$as_echo "$ac_ct_STRIP" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_STRIP" = x; then - STRIP=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - STRIP=$ac_ct_STRIP - fi -else - STRIP="$ac_cv_prog_STRIP" -fi - -test -z "$STRIP" && STRIP=: - - - - - - -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. -set dummy ${ac_tool_prefix}ranlib; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_RANLIB+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$RANLIB"; then - ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -RANLIB=$ac_cv_prog_RANLIB -if test -n "$RANLIB"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 -$as_echo "$RANLIB" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_RANLIB"; then - ac_ct_RANLIB=$RANLIB - # Extract the first word of "ranlib", so it can be a program name with args. -set dummy ranlib; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_RANLIB+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_RANLIB"; then - ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_RANLIB="ranlib" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB -if test -n "$ac_ct_RANLIB"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 -$as_echo "$ac_ct_RANLIB" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_RANLIB" = x; then - RANLIB=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - RANLIB=$ac_ct_RANLIB - fi -else - RANLIB="$ac_cv_prog_RANLIB" -fi - -test -z "$RANLIB" && RANLIB=: - - - - - - -# Determine commands to create old-style static archives. -old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs' -old_postinstall_cmds='chmod 644 $oldlib' -old_postuninstall_cmds= - -if test -n "$RANLIB"; then - case $host_os in - openbsd*) - old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib" - ;; - *) - old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib" - ;; - esac - old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib" -fi - -case $host_os in - darwin*) - lock_old_archive_extraction=yes ;; - *) - lock_old_archive_extraction=no ;; -esac - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -# If no C compiler was specified, use CC. -LTCC=${LTCC-"$CC"} - -# If no C compiler flags were specified, use CFLAGS. -LTCFLAGS=${LTCFLAGS-"$CFLAGS"} - -# Allow CC to be a program name with arguments. -compiler=$CC - - -# Check for command to grab the raw symbol name followed by C symbol from nm. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5 -$as_echo_n "checking command to parse $NM output from $compiler object... " >&6; } -if ${lt_cv_sys_global_symbol_pipe+:} false; then : - $as_echo_n "(cached) " >&6 -else - -# These are sane defaults that work on at least a few old systems. -# [They come from Ultrix. What could be older than Ultrix?!! ;)] - -# Character class describing NM global symbol codes. -symcode='[BCDEGRST]' - -# Regexp to match symbols that can be accessed directly from C. -sympat='\([_A-Za-z][_A-Za-z0-9]*\)' - -# Define system-specific variables. -case $host_os in -aix*) - symcode='[BCDT]' - ;; -cygwin* | mingw* | pw32* | cegcc*) - symcode='[ABCDGISTW]' - ;; -hpux*) - if test "$host_cpu" = ia64; then - symcode='[ABCDEGRST]' - fi - ;; -irix* | nonstopux*) - symcode='[BCDEGRST]' - ;; -osf*) - symcode='[BCDEGQRST]' - ;; -solaris*) - symcode='[BDRT]' - ;; -sco3.2v5*) - symcode='[DT]' - ;; -sysv4.2uw2*) - symcode='[DT]' - ;; -sysv5* | sco5v6* | unixware* | OpenUNIX*) - symcode='[ABDT]' - ;; -sysv4) - symcode='[DFNSTU]' - ;; -esac - -# If we're using GNU nm, then use its standard symbol codes. -case `$NM -V 2>&1` in -*GNU* | *'with BFD'*) - symcode='[ABCDGIRSTW]' ;; -esac - -# Transform an extracted symbol line into a proper C declaration. -# Some systems (esp. on ia64) link data and code symbols differently, -# so use this general approach. -lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" - -# Transform an extracted symbol line into symbol name and symbol address -lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\)[ ]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (void *) \&\2},/p'" -lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([^ ]*\)[ ]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \(lib[^ ]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"lib\2\", (void *) \&\2},/p'" - -# Handle CRLF in mingw tool chain -opt_cr= -case $build_os in -mingw*) - opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp - ;; -esac - -# Try without a prefix underscore, then with it. -for ac_symprfx in "" "_"; do - - # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. - symxfrm="\\1 $ac_symprfx\\2 \\2" - - # Write the raw and C identifiers. - if test "$lt_cv_nm_interface" = "MS dumpbin"; then - # Fake it for dumpbin and say T for any non-static function - # and D for any global variable. - # Also find C++ and __fastcall symbols from MSVC++, - # which start with @ or ?. - lt_cv_sys_global_symbol_pipe="$AWK '"\ -" {last_section=section; section=\$ 3};"\ -" /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\ -" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\ -" \$ 0!~/External *\|/{next};"\ -" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\ -" {if(hide[section]) next};"\ -" {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\ -" {split(\$ 0, a, /\||\r/); split(a[2], s)};"\ -" s[1]~/^[@?]/{print s[1], s[1]; next};"\ -" s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\ -" ' prfx=^$ac_symprfx" - else - lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" - fi - lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'" - - # Check to see that the pipe works correctly. - pipe_works=no - - rm -f conftest* - cat > conftest.$ac_ext <<_LT_EOF -#ifdef __cplusplus -extern "C" { -#endif -char nm_test_var; -void nm_test_func(void); -void nm_test_func(void){} -#ifdef __cplusplus -} -#endif -int main(){nm_test_var='a';nm_test_func();return(0);} -_LT_EOF - - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - # Now try to grab the symbols. - nlist=conftest.nm - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist\""; } >&5 - (eval $NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && test -s "$nlist"; then - # Try sorting and uniquifying the output. - if sort "$nlist" | uniq > "$nlist"T; then - mv -f "$nlist"T "$nlist" - else - rm -f "$nlist"T - fi - - # Make sure that we snagged all the symbols we need. - if $GREP ' nm_test_var$' "$nlist" >/dev/null; then - if $GREP ' nm_test_func$' "$nlist" >/dev/null; then - cat <<_LT_EOF > conftest.$ac_ext -/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ -#if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE) -/* DATA imports from DLLs on WIN32 con't be const, because runtime - relocations are performed -- see ld's documentation on pseudo-relocs. */ -# define LT_DLSYM_CONST -#elif defined(__osf__) -/* This system does not cope well with relocations in const data. */ -# define LT_DLSYM_CONST -#else -# define LT_DLSYM_CONST const -#endif - -#ifdef __cplusplus -extern "C" { -#endif - -_LT_EOF - # Now generate the symbol file. - eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext' - - cat <<_LT_EOF >> conftest.$ac_ext - -/* The mapping between symbol names and symbols. */ -LT_DLSYM_CONST struct { - const char *name; - void *address; -} -lt__PROGRAM__LTX_preloaded_symbols[] = -{ - { "@PROGRAM@", (void *) 0 }, -_LT_EOF - $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext - cat <<\_LT_EOF >> conftest.$ac_ext - {0, (void *) 0} -}; - -/* This works around a problem in FreeBSD linker */ -#ifdef FREEBSD_WORKAROUND -static const void *lt_preloaded_setup() { - return lt__PROGRAM__LTX_preloaded_symbols; -} -#endif - -#ifdef __cplusplus -} -#endif -_LT_EOF - # Now try linking the two files. - mv conftest.$ac_objext conftstm.$ac_objext - lt_globsym_save_LIBS=$LIBS - lt_globsym_save_CFLAGS=$CFLAGS - LIBS="conftstm.$ac_objext" - CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag" - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 - (eval $ac_link) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && test -s conftest${ac_exeext}; then - pipe_works=yes - fi - LIBS=$lt_globsym_save_LIBS - CFLAGS=$lt_globsym_save_CFLAGS - else - echo "cannot find nm_test_func in $nlist" >&5 - fi - else - echo "cannot find nm_test_var in $nlist" >&5 - fi - else - echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5 - fi - else - echo "$progname: failed program was:" >&5 - cat conftest.$ac_ext >&5 - fi - rm -rf conftest* conftst* - - # Do not use the global_symbol_pipe unless it works. - if test "$pipe_works" = yes; then - break - else - lt_cv_sys_global_symbol_pipe= - fi -done - -fi - -if test -z "$lt_cv_sys_global_symbol_pipe"; then - lt_cv_sys_global_symbol_to_cdecl= -fi -if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: failed" >&5 -$as_echo "failed" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5 -$as_echo "ok" >&6; } -fi - -# Response file support. -if test "$lt_cv_nm_interface" = "MS dumpbin"; then - nm_file_list_spec='@' -elif $NM --help 2>/dev/null | grep '[@]FILE' >/dev/null; then - nm_file_list_spec='@' -fi - - - - - - - - - - - - - - - - - - - - - - - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5 -$as_echo_n "checking for sysroot... " >&6; } - -# Check whether --with-sysroot was given. -if test "${with_sysroot+set}" = set; then : - withval=$with_sysroot; -else - with_sysroot=no -fi - - -lt_sysroot= -case ${with_sysroot} in #( - yes) - if test "$GCC" = yes; then - lt_sysroot=`$CC --print-sysroot 2>/dev/null` - fi - ;; #( - /*) - lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"` - ;; #( - no|'') - ;; #( - *) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${with_sysroot}" >&5 -$as_echo "${with_sysroot}" >&6; } - as_fn_error $? "The sysroot must be an absolute path." "$LINENO" 5 - ;; -esac - - { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${lt_sysroot:-no}" >&5 -$as_echo "${lt_sysroot:-no}" >&6; } - - - - - -# Check whether --enable-libtool-lock was given. -if test "${enable_libtool_lock+set}" = set; then : - enableval=$enable_libtool_lock; -fi - -test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes - -# Some flags need to be propagated to the compiler or linker for good -# libtool support. -case $host in -ia64-*-hpux*) - # Find out which ABI we are using. - echo 'int i;' > conftest.$ac_ext - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - case `/usr/bin/file conftest.$ac_objext` in - *ELF-32*) - HPUX_IA64_MODE="32" - ;; - *ELF-64*) - HPUX_IA64_MODE="64" - ;; - esac - fi - rm -rf conftest* - ;; -*-*-irix6*) - # Find out which ABI we are using. - echo '#line '$LINENO' "configure"' > conftest.$ac_ext - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - if test "$lt_cv_prog_gnu_ld" = yes; then - case `/usr/bin/file conftest.$ac_objext` in - *32-bit*) - LD="${LD-ld} -melf32bsmip" - ;; - *N32*) - LD="${LD-ld} -melf32bmipn32" - ;; - *64-bit*) - LD="${LD-ld} -melf64bmip" - ;; - esac - else - case `/usr/bin/file conftest.$ac_objext` in - *32-bit*) - LD="${LD-ld} -32" - ;; - *N32*) - LD="${LD-ld} -n32" - ;; - *64-bit*) - LD="${LD-ld} -64" - ;; - esac - fi - fi - rm -rf conftest* - ;; - -x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \ -s390*-*linux*|s390*-*tpf*|sparc*-*linux*) - # Find out which ABI we are using. - echo 'int i;' > conftest.$ac_ext - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - case `/usr/bin/file conftest.o` in - *32-bit*) - case $host in - x86_64-*kfreebsd*-gnu) - LD="${LD-ld} -m elf_i386_fbsd" - ;; - x86_64-*linux*) - LD="${LD-ld} -m elf_i386" - ;; - ppc64-*linux*|powerpc64-*linux*) - LD="${LD-ld} -m elf32ppclinux" - ;; - s390x-*linux*) - LD="${LD-ld} -m elf_s390" - ;; - sparc64-*linux*) - LD="${LD-ld} -m elf32_sparc" - ;; - esac - ;; - *64-bit*) - case $host in - x86_64-*kfreebsd*-gnu) - LD="${LD-ld} -m elf_x86_64_fbsd" - ;; - x86_64-*linux*) - LD="${LD-ld} -m elf_x86_64" - ;; - ppc*-*linux*|powerpc*-*linux*) - LD="${LD-ld} -m elf64ppc" - ;; - s390*-*linux*|s390*-*tpf*) - LD="${LD-ld} -m elf64_s390" - ;; - sparc*-*linux*) - LD="${LD-ld} -m elf64_sparc" - ;; - esac - ;; - esac - fi - rm -rf conftest* - ;; - -*-*-sco3.2v5*) - # On SCO OpenServer 5, we need -belf to get full-featured binaries. - SAVE_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS -belf" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5 -$as_echo_n "checking whether the C compiler needs -belf... " >&6; } -if ${lt_cv_cc_needs_belf+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - lt_cv_cc_needs_belf=yes -else - lt_cv_cc_needs_belf=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_cc_needs_belf" >&5 -$as_echo "$lt_cv_cc_needs_belf" >&6; } - if test x"$lt_cv_cc_needs_belf" != x"yes"; then - # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf - CFLAGS="$SAVE_CFLAGS" - fi - ;; -*-*solaris*) - # Find out which ABI we are using. - echo 'int i;' > conftest.$ac_ext - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - case `/usr/bin/file conftest.o` in - *64-bit*) - case $lt_cv_prog_gnu_ld in - yes*) - case $host in - i?86-*-solaris*) - LD="${LD-ld} -m elf_x86_64" - ;; - sparc*-*-solaris*) - LD="${LD-ld} -m elf64_sparc" - ;; - esac - # GNU ld 2.21 introduced _sol2 emulations. Use them if available. - if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then - LD="${LD-ld}_sol2" - fi - ;; - *) - if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then - LD="${LD-ld} -64" - fi - ;; - esac - ;; - esac - fi - rm -rf conftest* - ;; -esac - -need_locks="$enable_libtool_lock" - -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}mt", so it can be a program name with args. -set dummy ${ac_tool_prefix}mt; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_MANIFEST_TOOL+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$MANIFEST_TOOL"; then - ac_cv_prog_MANIFEST_TOOL="$MANIFEST_TOOL" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_MANIFEST_TOOL="${ac_tool_prefix}mt" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -MANIFEST_TOOL=$ac_cv_prog_MANIFEST_TOOL -if test -n "$MANIFEST_TOOL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MANIFEST_TOOL" >&5 -$as_echo "$MANIFEST_TOOL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_MANIFEST_TOOL"; then - ac_ct_MANIFEST_TOOL=$MANIFEST_TOOL - # Extract the first word of "mt", so it can be a program name with args. -set dummy mt; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_MANIFEST_TOOL+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_MANIFEST_TOOL"; then - ac_cv_prog_ac_ct_MANIFEST_TOOL="$ac_ct_MANIFEST_TOOL" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_MANIFEST_TOOL="mt" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_MANIFEST_TOOL=$ac_cv_prog_ac_ct_MANIFEST_TOOL -if test -n "$ac_ct_MANIFEST_TOOL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_MANIFEST_TOOL" >&5 -$as_echo "$ac_ct_MANIFEST_TOOL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_MANIFEST_TOOL" = x; then - MANIFEST_TOOL=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - MANIFEST_TOOL=$ac_ct_MANIFEST_TOOL - fi -else - MANIFEST_TOOL="$ac_cv_prog_MANIFEST_TOOL" -fi - -test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $MANIFEST_TOOL is a manifest tool" >&5 -$as_echo_n "checking if $MANIFEST_TOOL is a manifest tool... " >&6; } -if ${lt_cv_path_mainfest_tool+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_path_mainfest_tool=no - echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&5 - $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out - cat conftest.err >&5 - if $GREP 'Manifest Tool' conftest.out > /dev/null; then - lt_cv_path_mainfest_tool=yes - fi - rm -f conftest* -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_mainfest_tool" >&5 -$as_echo "$lt_cv_path_mainfest_tool" >&6; } -if test "x$lt_cv_path_mainfest_tool" != xyes; then - MANIFEST_TOOL=: -fi - - - - - - - case $host_os in - rhapsody* | darwin*) - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args. -set dummy ${ac_tool_prefix}dsymutil; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_DSYMUTIL+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$DSYMUTIL"; then - ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -DSYMUTIL=$ac_cv_prog_DSYMUTIL -if test -n "$DSYMUTIL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL" >&5 -$as_echo "$DSYMUTIL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_DSYMUTIL"; then - ac_ct_DSYMUTIL=$DSYMUTIL - # Extract the first word of "dsymutil", so it can be a program name with args. -set dummy dsymutil; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_DSYMUTIL+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_DSYMUTIL"; then - ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_DSYMUTIL="dsymutil" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL -if test -n "$ac_ct_DSYMUTIL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DSYMUTIL" >&5 -$as_echo "$ac_ct_DSYMUTIL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_DSYMUTIL" = x; then - DSYMUTIL=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - DSYMUTIL=$ac_ct_DSYMUTIL - fi -else - DSYMUTIL="$ac_cv_prog_DSYMUTIL" -fi - - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args. -set dummy ${ac_tool_prefix}nmedit; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_NMEDIT+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$NMEDIT"; then - ac_cv_prog_NMEDIT="$NMEDIT" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -NMEDIT=$ac_cv_prog_NMEDIT -if test -n "$NMEDIT"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NMEDIT" >&5 -$as_echo "$NMEDIT" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_NMEDIT"; then - ac_ct_NMEDIT=$NMEDIT - # Extract the first word of "nmedit", so it can be a program name with args. -set dummy nmedit; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_NMEDIT+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_NMEDIT"; then - ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_NMEDIT="nmedit" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT -if test -n "$ac_ct_NMEDIT"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_NMEDIT" >&5 -$as_echo "$ac_ct_NMEDIT" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_NMEDIT" = x; then - NMEDIT=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - NMEDIT=$ac_ct_NMEDIT - fi -else - NMEDIT="$ac_cv_prog_NMEDIT" -fi - - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}lipo", so it can be a program name with args. -set dummy ${ac_tool_prefix}lipo; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_LIPO+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$LIPO"; then - ac_cv_prog_LIPO="$LIPO" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_LIPO="${ac_tool_prefix}lipo" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -LIPO=$ac_cv_prog_LIPO -if test -n "$LIPO"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIPO" >&5 -$as_echo "$LIPO" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_LIPO"; then - ac_ct_LIPO=$LIPO - # Extract the first word of "lipo", so it can be a program name with args. -set dummy lipo; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_LIPO+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_LIPO"; then - ac_cv_prog_ac_ct_LIPO="$ac_ct_LIPO" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_LIPO="lipo" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_LIPO=$ac_cv_prog_ac_ct_LIPO -if test -n "$ac_ct_LIPO"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_LIPO" >&5 -$as_echo "$ac_ct_LIPO" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_LIPO" = x; then - LIPO=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - LIPO=$ac_ct_LIPO - fi -else - LIPO="$ac_cv_prog_LIPO" -fi - - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}otool", so it can be a program name with args. -set dummy ${ac_tool_prefix}otool; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_OTOOL+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$OTOOL"; then - ac_cv_prog_OTOOL="$OTOOL" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_OTOOL="${ac_tool_prefix}otool" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -OTOOL=$ac_cv_prog_OTOOL -if test -n "$OTOOL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL" >&5 -$as_echo "$OTOOL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_OTOOL"; then - ac_ct_OTOOL=$OTOOL - # Extract the first word of "otool", so it can be a program name with args. -set dummy otool; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_OTOOL+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_OTOOL"; then - ac_cv_prog_ac_ct_OTOOL="$ac_ct_OTOOL" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_OTOOL="otool" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_OTOOL=$ac_cv_prog_ac_ct_OTOOL -if test -n "$ac_ct_OTOOL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL" >&5 -$as_echo "$ac_ct_OTOOL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_OTOOL" = x; then - OTOOL=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - OTOOL=$ac_ct_OTOOL - fi -else - OTOOL="$ac_cv_prog_OTOOL" -fi - - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}otool64", so it can be a program name with args. -set dummy ${ac_tool_prefix}otool64; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_OTOOL64+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$OTOOL64"; then - ac_cv_prog_OTOOL64="$OTOOL64" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -OTOOL64=$ac_cv_prog_OTOOL64 -if test -n "$OTOOL64"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL64" >&5 -$as_echo "$OTOOL64" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_OTOOL64"; then - ac_ct_OTOOL64=$OTOOL64 - # Extract the first word of "otool64", so it can be a program name with args. -set dummy otool64; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_OTOOL64+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_OTOOL64"; then - ac_cv_prog_ac_ct_OTOOL64="$ac_ct_OTOOL64" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_OTOOL64="otool64" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_OTOOL64=$ac_cv_prog_ac_ct_OTOOL64 -if test -n "$ac_ct_OTOOL64"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL64" >&5 -$as_echo "$ac_ct_OTOOL64" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_OTOOL64" = x; then - OTOOL64=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - OTOOL64=$ac_ct_OTOOL64 - fi -else - OTOOL64="$ac_cv_prog_OTOOL64" -fi - - - - - - - - - - - - - - - - - - - - - - - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5 -$as_echo_n "checking for -single_module linker flag... " >&6; } -if ${lt_cv_apple_cc_single_mod+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_apple_cc_single_mod=no - if test -z "${LT_MULTI_MODULE}"; then - # By default we will add the -single_module flag. You can override - # by either setting the environment variable LT_MULTI_MODULE - # non-empty at configure time, or by adding -multi_module to the - # link flags. - rm -rf libconftest.dylib* - echo "int foo(void){return 1;}" > conftest.c - echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ --dynamiclib -Wl,-single_module conftest.c" >&5 - $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ - -dynamiclib -Wl,-single_module conftest.c 2>conftest.err - _lt_result=$? - # If there is a non-empty error log, and "single_module" - # appears in it, assume the flag caused a linker warning - if test -s conftest.err && $GREP single_module conftest.err; then - cat conftest.err >&5 - # Otherwise, if the output was created with a 0 exit code from - # the compiler, it worked. - elif test -f libconftest.dylib && test $_lt_result -eq 0; then - lt_cv_apple_cc_single_mod=yes - else - cat conftest.err >&5 - fi - rm -rf libconftest.dylib* - rm -f conftest.* - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_apple_cc_single_mod" >&5 -$as_echo "$lt_cv_apple_cc_single_mod" >&6; } - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5 -$as_echo_n "checking for -exported_symbols_list linker flag... " >&6; } -if ${lt_cv_ld_exported_symbols_list+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_ld_exported_symbols_list=no - save_LDFLAGS=$LDFLAGS - echo "_main" > conftest.sym - LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - lt_cv_ld_exported_symbols_list=yes -else - lt_cv_ld_exported_symbols_list=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - LDFLAGS="$save_LDFLAGS" - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&5 -$as_echo "$lt_cv_ld_exported_symbols_list" >&6; } - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -force_load linker flag" >&5 -$as_echo_n "checking for -force_load linker flag... " >&6; } -if ${lt_cv_ld_force_load+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_ld_force_load=no - cat > conftest.c << _LT_EOF -int forced_loaded() { return 2;} -_LT_EOF - echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&5 - $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&5 - echo "$AR cru libconftest.a conftest.o" >&5 - $AR cru libconftest.a conftest.o 2>&5 - echo "$RANLIB libconftest.a" >&5 - $RANLIB libconftest.a 2>&5 - cat > conftest.c << _LT_EOF -int main() { return 0;} -_LT_EOF - echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&5 - $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err - _lt_result=$? - if test -s conftest.err && $GREP force_load conftest.err; then - cat conftest.err >&5 - elif test -f conftest && test $_lt_result -eq 0 && $GREP forced_load conftest >/dev/null 2>&1 ; then - lt_cv_ld_force_load=yes - else - cat conftest.err >&5 - fi - rm -f conftest.err libconftest.a conftest conftest.c - rm -rf conftest.dSYM - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_force_load" >&5 -$as_echo "$lt_cv_ld_force_load" >&6; } - case $host_os in - rhapsody* | darwin1.[012]) - _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;; - darwin1.*) - _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; - darwin*) # darwin 5.x on - # if running on 10.5 or later, the deployment target defaults - # to the OS version, if on x86, and 10.4, the deployment - # target defaults to 10.4. Don't you love it? - case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in - 10.0,*86*-darwin8*|10.0,*-darwin[91]*) - _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; - 10.[012]*) - _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; - 10.*) - _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; - esac - ;; - esac - if test "$lt_cv_apple_cc_single_mod" = "yes"; then - _lt_dar_single_mod='$single_module' - fi - if test "$lt_cv_ld_exported_symbols_list" = "yes"; then - _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym' - else - _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}' - fi - if test "$DSYMUTIL" != ":" && test "$lt_cv_ld_force_load" = "no"; then - _lt_dsymutil='~$DSYMUTIL $lib || :' - else - _lt_dsymutil= - fi - ;; - esac - -for ac_header in dlfcn.h -do : - ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default -" -if test "x$ac_cv_header_dlfcn_h" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_DLFCN_H 1 -_ACEOF - -fi - -done - - - - - -# Set options - - - - enable_dlopen=no - - - enable_win32_dll=no - - - # Check whether --enable-shared was given. -if test "${enable_shared+set}" = set; then : - enableval=$enable_shared; p=${PACKAGE-default} - case $enableval in - yes) enable_shared=yes ;; - no) enable_shared=no ;; - *) - enable_shared=no - # Look at the argument we got. We use all the common list separators. - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," - for pkg in $enableval; do - IFS="$lt_save_ifs" - if test "X$pkg" = "X$p"; then - enable_shared=yes - fi - done - IFS="$lt_save_ifs" - ;; - esac -else - enable_shared=yes -fi - - - - - - - - - - - -# Check whether --with-pic was given. -if test "${with_pic+set}" = set; then : - withval=$with_pic; lt_p=${PACKAGE-default} - case $withval in - yes|no) pic_mode=$withval ;; - *) - pic_mode=default - # Look at the argument we got. We use all the common list separators. - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," - for lt_pkg in $withval; do - IFS="$lt_save_ifs" - if test "X$lt_pkg" = "X$lt_p"; then - pic_mode=yes - fi - done - IFS="$lt_save_ifs" - ;; - esac -else - pic_mode=default -fi - - -test -z "$pic_mode" && pic_mode=default - - - - - - - - # Check whether --enable-fast-install was given. -if test "${enable_fast_install+set}" = set; then : - enableval=$enable_fast_install; p=${PACKAGE-default} - case $enableval in - yes) enable_fast_install=yes ;; - no) enable_fast_install=no ;; - *) - enable_fast_install=no - # Look at the argument we got. We use all the common list separators. - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," - for pkg in $enableval; do - IFS="$lt_save_ifs" - if test "X$pkg" = "X$p"; then - enable_fast_install=yes - fi - done - IFS="$lt_save_ifs" - ;; - esac -else - enable_fast_install=yes -fi - - - - - - - - - - - -# This can be used to rebuild libtool when needed -LIBTOOL_DEPS="$ltmain" - -# Always use our own libtool. -LIBTOOL='$(SHELL) $(top_builddir)/libtool' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -test -z "$LN_S" && LN_S="ln -s" - - - - - - - - - - - - - - -if test -n "${ZSH_VERSION+set}" ; then - setopt NO_GLOB_SUBST -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5 -$as_echo_n "checking for objdir... " >&6; } -if ${lt_cv_objdir+:} false; then : - $as_echo_n "(cached) " >&6 -else - rm -f .libs 2>/dev/null -mkdir .libs 2>/dev/null -if test -d .libs; then - lt_cv_objdir=.libs -else - # MS-DOS does not allow filenames that begin with a dot. - lt_cv_objdir=_libs -fi -rmdir .libs 2>/dev/null -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_objdir" >&5 -$as_echo "$lt_cv_objdir" >&6; } -objdir=$lt_cv_objdir - - - - - -cat >>confdefs.h <<_ACEOF -#define LT_OBJDIR "$lt_cv_objdir/" -_ACEOF - - - - -case $host_os in -aix3*) - # AIX sometimes has problems with the GCC collect2 program. For some - # reason, if we set the COLLECT_NAMES environment variable, the problems - # vanish in a puff of smoke. - if test "X${COLLECT_NAMES+set}" != Xset; then - COLLECT_NAMES= - export COLLECT_NAMES - fi - ;; -esac - -# Global variables: -ofile=libtool -can_build_shared=yes - -# All known linkers require a `.a' archive for static linking (except MSVC, -# which needs '.lib'). -libext=a - -with_gnu_ld="$lt_cv_prog_gnu_ld" - -old_CC="$CC" -old_CFLAGS="$CFLAGS" - -# Set sane defaults for various variables -test -z "$CC" && CC=cc -test -z "$LTCC" && LTCC=$CC -test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS -test -z "$LD" && LD=ld -test -z "$ac_objext" && ac_objext=o - -for cc_temp in $compiler""; do - case $cc_temp in - compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; - distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; - \-*) ;; - *) break;; - esac -done -cc_basename=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` - - -# Only perform the check for file, if the check method requires it -test -z "$MAGIC_CMD" && MAGIC_CMD=file -case $deplibs_check_method in -file_magic*) - if test "$file_magic_cmd" = '$MAGIC_CMD'; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5 -$as_echo_n "checking for ${ac_tool_prefix}file... " >&6; } -if ${lt_cv_path_MAGIC_CMD+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $MAGIC_CMD in -[\\/*] | ?:[\\/]*) - lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. - ;; -*) - lt_save_MAGIC_CMD="$MAGIC_CMD" - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" - for ac_dir in $ac_dummy; do - IFS="$lt_save_ifs" - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/${ac_tool_prefix}file; then - lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file" - if test -n "$file_magic_test_file"; then - case $deplibs_check_method in - "file_magic "*) - file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` - MAGIC_CMD="$lt_cv_path_MAGIC_CMD" - if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | - $EGREP "$file_magic_regex" > /dev/null; then - : - else - cat <<_LT_EOF 1>&2 - -*** Warning: the command libtool uses to detect shared libraries, -*** $file_magic_cmd, produces output that libtool cannot recognize. -*** The result is that libtool may fail to recognize shared libraries -*** as such. This will affect the creation of libtool libraries that -*** depend on shared libraries, but programs linked with such libtool -*** libraries will work regardless of this problem. Nevertheless, you -*** may want to report the problem to your system manager and/or to -*** bug-libtool@gnu.org - -_LT_EOF - fi ;; - esac - fi - break - fi - done - IFS="$lt_save_ifs" - MAGIC_CMD="$lt_save_MAGIC_CMD" - ;; -esac -fi - -MAGIC_CMD="$lt_cv_path_MAGIC_CMD" -if test -n "$MAGIC_CMD"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5 -$as_echo "$MAGIC_CMD" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - - - -if test -z "$lt_cv_path_MAGIC_CMD"; then - if test -n "$ac_tool_prefix"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for file" >&5 -$as_echo_n "checking for file... " >&6; } -if ${lt_cv_path_MAGIC_CMD+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $MAGIC_CMD in -[\\/*] | ?:[\\/]*) - lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. - ;; -*) - lt_save_MAGIC_CMD="$MAGIC_CMD" - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" - for ac_dir in $ac_dummy; do - IFS="$lt_save_ifs" - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/file; then - lt_cv_path_MAGIC_CMD="$ac_dir/file" - if test -n "$file_magic_test_file"; then - case $deplibs_check_method in - "file_magic "*) - file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` - MAGIC_CMD="$lt_cv_path_MAGIC_CMD" - if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | - $EGREP "$file_magic_regex" > /dev/null; then - : - else - cat <<_LT_EOF 1>&2 - -*** Warning: the command libtool uses to detect shared libraries, -*** $file_magic_cmd, produces output that libtool cannot recognize. -*** The result is that libtool may fail to recognize shared libraries -*** as such. This will affect the creation of libtool libraries that -*** depend on shared libraries, but programs linked with such libtool -*** libraries will work regardless of this problem. Nevertheless, you -*** may want to report the problem to your system manager and/or to -*** bug-libtool@gnu.org - -_LT_EOF - fi ;; - esac - fi - break - fi - done - IFS="$lt_save_ifs" - MAGIC_CMD="$lt_save_MAGIC_CMD" - ;; -esac -fi - -MAGIC_CMD="$lt_cv_path_MAGIC_CMD" -if test -n "$MAGIC_CMD"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5 -$as_echo "$MAGIC_CMD" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - else - MAGIC_CMD=: - fi -fi - - fi - ;; -esac - -# Use C for the default configuration in the libtool script - -lt_save_CC="$CC" -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - -# Source file extension for C test sources. -ac_ext=c - -# Object file extension for compiled C test sources. -objext=o -objext=$objext - -# Code to be used in simple compile tests -lt_simple_compile_test_code="int some_variable = 0;" - -# Code to be used in simple link tests -lt_simple_link_test_code='int main(){return(0);}' - - - - - - - -# If no C compiler was specified, use CC. -LTCC=${LTCC-"$CC"} - -# If no C compiler flags were specified, use CFLAGS. -LTCFLAGS=${LTCFLAGS-"$CFLAGS"} - -# Allow CC to be a program name with arguments. -compiler=$CC - -# Save the default compiler, since it gets overwritten when the other -# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP. -compiler_DEFAULT=$CC - -# save warnings/boilerplate of simple test code -ac_outfile=conftest.$ac_objext -echo "$lt_simple_compile_test_code" >conftest.$ac_ext -eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_compiler_boilerplate=`cat conftest.err` -$RM conftest* - -ac_outfile=conftest.$ac_objext -echo "$lt_simple_link_test_code" >conftest.$ac_ext -eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_linker_boilerplate=`cat conftest.err` -$RM -r conftest* - - -if test -n "$compiler"; then - -lt_prog_compiler_no_builtin_flag= - -if test "$GCC" = yes; then - case $cc_basename in - nvcc*) - lt_prog_compiler_no_builtin_flag=' -Xcompiler -fno-builtin' ;; - *) - lt_prog_compiler_no_builtin_flag=' -fno-builtin' ;; - esac - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 -$as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; } -if ${lt_cv_prog_compiler_rtti_exceptions+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_rtti_exceptions=no - ac_outfile=conftest.$ac_objext - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - lt_compiler_flag="-fno-rtti -fno-exceptions" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - # The option is referenced via a variable to avoid confusing sed. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) - (eval "$lt_compile" 2>conftest.err) - ac_status=$? - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s "$ac_outfile"; then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings other than the usual output. - $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then - lt_cv_prog_compiler_rtti_exceptions=yes - fi - fi - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 -$as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; } - -if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then - lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions" -else - : -fi - -fi - - - - - - - lt_prog_compiler_wl= -lt_prog_compiler_pic= -lt_prog_compiler_static= - - - if test "$GCC" = yes; then - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_static='-static' - - case $host_os in - aix*) - # All AIX code is PIC. - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - lt_prog_compiler_static='-Bstatic' - fi - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - lt_prog_compiler_pic='-fPIC' - ;; - m68k) - # FIXME: we need at least 68020 code to build shared libraries, but - # adding the `-m68020' flag to GCC prevents building anything better, - # like `-m68040'. - lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4' - ;; - esac - ;; - - beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) - # PIC is the default for these OSes. - ;; - - mingw* | cygwin* | pw32* | os2* | cegcc*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - # Although the cygwin gcc ignores -fPIC, still need this for old-style - # (--disable-auto-import) libraries - lt_prog_compiler_pic='-DDLL_EXPORT' - ;; - - darwin* | rhapsody*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - lt_prog_compiler_pic='-fno-common' - ;; - - haiku*) - # PIC is the default for Haiku. - # The "-static" flag exists, but is broken. - lt_prog_compiler_static= - ;; - - hpux*) - # PIC is the default for 64-bit PA HP-UX, but not for 32-bit - # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag - # sets the default TLS model and affects inlining. - case $host_cpu in - hppa*64*) - # +Z the default - ;; - *) - lt_prog_compiler_pic='-fPIC' - ;; - esac - ;; - - interix[3-9]*) - # Interix 3.x gcc -fpic/-fPIC options generate broken code. - # Instead, we relocate shared libraries at runtime. - ;; - - msdosdjgpp*) - # Just because we use GCC doesn't mean we suddenly get shared libraries - # on systems that don't support them. - lt_prog_compiler_can_build_shared=no - enable_shared=no - ;; - - *nto* | *qnx*) - # QNX uses GNU C++, but need to define -shared option too, otherwise - # it will coredump. - lt_prog_compiler_pic='-fPIC -shared' - ;; - - sysv4*MP*) - if test -d /usr/nec; then - lt_prog_compiler_pic=-Kconform_pic - fi - ;; - - *) - lt_prog_compiler_pic='-fPIC' - ;; - esac - - case $cc_basename in - nvcc*) # Cuda Compiler Driver 2.2 - lt_prog_compiler_wl='-Xlinker ' - if test -n "$lt_prog_compiler_pic"; then - lt_prog_compiler_pic="-Xcompiler $lt_prog_compiler_pic" - fi - ;; - esac - else - # PORTME Check for flag to pass linker flags through the system compiler. - case $host_os in - aix*) - lt_prog_compiler_wl='-Wl,' - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - lt_prog_compiler_static='-Bstatic' - else - lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp' - fi - ;; - - mingw* | cygwin* | pw32* | os2* | cegcc*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - lt_prog_compiler_pic='-DDLL_EXPORT' - ;; - - hpux9* | hpux10* | hpux11*) - lt_prog_compiler_wl='-Wl,' - # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but - # not for PA HP-UX. - case $host_cpu in - hppa*64*|ia64*) - # +Z the default - ;; - *) - lt_prog_compiler_pic='+Z' - ;; - esac - # Is there a better lt_prog_compiler_static that works with the bundled CC? - lt_prog_compiler_static='${wl}-a ${wl}archive' - ;; - - irix5* | irix6* | nonstopux*) - lt_prog_compiler_wl='-Wl,' - # PIC (with -KPIC) is the default. - lt_prog_compiler_static='-non_shared' - ;; - - linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) - case $cc_basename in - # old Intel for x86_64 which still supported -KPIC. - ecc*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-static' - ;; - # icc used to be incompatible with GCC. - # ICC 10 doesn't accept -KPIC any more. - icc* | ifort*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-fPIC' - lt_prog_compiler_static='-static' - ;; - # Lahey Fortran 8.1. - lf95*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='--shared' - lt_prog_compiler_static='--static' - ;; - nagfor*) - # NAG Fortran compiler - lt_prog_compiler_wl='-Wl,-Wl,,' - lt_prog_compiler_pic='-PIC' - lt_prog_compiler_static='-Bstatic' - ;; - pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*) - # Portland Group compilers (*not* the Pentium gcc compiler, - # which looks to be a dead project) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-fpic' - lt_prog_compiler_static='-Bstatic' - ;; - ccc*) - lt_prog_compiler_wl='-Wl,' - # All Alpha code is PIC. - lt_prog_compiler_static='-non_shared' - ;; - xl* | bgxl* | bgf* | mpixl*) - # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-qpic' - lt_prog_compiler_static='-qstaticlink' - ;; - *) - case `$CC -V 2>&1 | sed 5q` in - *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [1-7].* | *Sun*Fortran*\ 8.[0-3]*) - # Sun Fortran 8.3 passes all unrecognized flags to the linker - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - lt_prog_compiler_wl='' - ;; - *Sun\ F* | *Sun*Fortran*) - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - lt_prog_compiler_wl='-Qoption ld ' - ;; - *Sun\ C*) - # Sun C 5.9 - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - lt_prog_compiler_wl='-Wl,' - ;; - *Intel*\ [CF]*Compiler*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-fPIC' - lt_prog_compiler_static='-static' - ;; - *Portland\ Group*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-fpic' - lt_prog_compiler_static='-Bstatic' - ;; - esac - ;; - esac - ;; - - newsos6) - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - ;; - - *nto* | *qnx*) - # QNX uses GNU C++, but need to define -shared option too, otherwise - # it will coredump. - lt_prog_compiler_pic='-fPIC -shared' - ;; - - osf3* | osf4* | osf5*) - lt_prog_compiler_wl='-Wl,' - # All OSF/1 code is PIC. - lt_prog_compiler_static='-non_shared' - ;; - - rdos*) - lt_prog_compiler_static='-non_shared' - ;; - - solaris*) - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - case $cc_basename in - f77* | f90* | f95* | sunf77* | sunf90* | sunf95*) - lt_prog_compiler_wl='-Qoption ld ';; - *) - lt_prog_compiler_wl='-Wl,';; - esac - ;; - - sunos4*) - lt_prog_compiler_wl='-Qoption ld ' - lt_prog_compiler_pic='-PIC' - lt_prog_compiler_static='-Bstatic' - ;; - - sysv4 | sysv4.2uw2* | sysv4.3*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - ;; - - sysv4*MP*) - if test -d /usr/nec ;then - lt_prog_compiler_pic='-Kconform_pic' - lt_prog_compiler_static='-Bstatic' - fi - ;; - - sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - ;; - - unicos*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_can_build_shared=no - ;; - - uts4*) - lt_prog_compiler_pic='-pic' - lt_prog_compiler_static='-Bstatic' - ;; - - *) - lt_prog_compiler_can_build_shared=no - ;; - esac - fi - -case $host_os in - # For platforms which do not support PIC, -DPIC is meaningless: - *djgpp*) - lt_prog_compiler_pic= - ;; - *) - lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC" - ;; -esac - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5 -$as_echo_n "checking for $compiler option to produce PIC... " >&6; } -if ${lt_cv_prog_compiler_pic+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_pic=$lt_prog_compiler_pic -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic" >&5 -$as_echo "$lt_cv_prog_compiler_pic" >&6; } -lt_prog_compiler_pic=$lt_cv_prog_compiler_pic - -# -# Check to make sure the PIC flag actually works. -# -if test -n "$lt_prog_compiler_pic"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5 -$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; } -if ${lt_cv_prog_compiler_pic_works+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_pic_works=no - ac_outfile=conftest.$ac_objext - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - lt_compiler_flag="$lt_prog_compiler_pic -DPIC" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - # The option is referenced via a variable to avoid confusing sed. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) - (eval "$lt_compile" 2>conftest.err) - ac_status=$? - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s "$ac_outfile"; then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings other than the usual output. - $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then - lt_cv_prog_compiler_pic_works=yes - fi - fi - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works" >&5 -$as_echo "$lt_cv_prog_compiler_pic_works" >&6; } - -if test x"$lt_cv_prog_compiler_pic_works" = xyes; then - case $lt_prog_compiler_pic in - "" | " "*) ;; - *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;; - esac -else - lt_prog_compiler_pic= - lt_prog_compiler_can_build_shared=no -fi - -fi - - - - - - - - - - - -# -# Check to make sure the static flag actually works. -# -wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\" -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5 -$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; } -if ${lt_cv_prog_compiler_static_works+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_static_works=no - save_LDFLAGS="$LDFLAGS" - LDFLAGS="$LDFLAGS $lt_tmp_static_flag" - echo "$lt_simple_link_test_code" > conftest.$ac_ext - if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then - # The linker can only warn and ignore the option if not recognized - # So say no if there are warnings - if test -s conftest.err; then - # Append any errors to the config.log. - cat conftest.err 1>&5 - $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if diff conftest.exp conftest.er2 >/dev/null; then - lt_cv_prog_compiler_static_works=yes - fi - else - lt_cv_prog_compiler_static_works=yes - fi - fi - $RM -r conftest* - LDFLAGS="$save_LDFLAGS" - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works" >&5 -$as_echo "$lt_cv_prog_compiler_static_works" >&6; } - -if test x"$lt_cv_prog_compiler_static_works" = xyes; then - : -else - lt_prog_compiler_static= -fi - - - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 -$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } -if ${lt_cv_prog_compiler_c_o+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_c_o=no - $RM -r conftest 2>/dev/null - mkdir conftest - cd conftest - mkdir out - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - lt_compiler_flag="-o out/conftest2.$ac_objext" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) - (eval "$lt_compile" 2>out/conftest.err) - ac_status=$? - cat out/conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s out/conftest2.$ac_objext - then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings - $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp - $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 - if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then - lt_cv_prog_compiler_c_o=yes - fi - fi - chmod u+w . 2>&5 - $RM conftest* - # SGI C++ compiler will create directory out/ii_files/ for - # template instantiation - test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files - $RM out/* && rmdir out - cd .. - $RM -r conftest - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5 -$as_echo "$lt_cv_prog_compiler_c_o" >&6; } - - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 -$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } -if ${lt_cv_prog_compiler_c_o+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_c_o=no - $RM -r conftest 2>/dev/null - mkdir conftest - cd conftest - mkdir out - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - lt_compiler_flag="-o out/conftest2.$ac_objext" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) - (eval "$lt_compile" 2>out/conftest.err) - ac_status=$? - cat out/conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s out/conftest2.$ac_objext - then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings - $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp - $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 - if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then - lt_cv_prog_compiler_c_o=yes - fi - fi - chmod u+w . 2>&5 - $RM conftest* - # SGI C++ compiler will create directory out/ii_files/ for - # template instantiation - test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files - $RM out/* && rmdir out - cd .. - $RM -r conftest - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5 -$as_echo "$lt_cv_prog_compiler_c_o" >&6; } - - - - -hard_links="nottested" -if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then - # do not overwrite the value of need_locks provided by the user - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5 -$as_echo_n "checking if we can lock with hard links... " >&6; } - hard_links=yes - $RM conftest* - ln conftest.a conftest.b 2>/dev/null && hard_links=no - touch conftest.a - ln conftest.a conftest.b 2>&5 || hard_links=no - ln conftest.a conftest.b 2>/dev/null && hard_links=no - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5 -$as_echo "$hard_links" >&6; } - if test "$hard_links" = no; then - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 -$as_echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} - need_locks=warn - fi -else - need_locks=no -fi - - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 -$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } - - runpath_var= - allow_undefined_flag= - always_export_symbols=no - archive_cmds= - archive_expsym_cmds= - compiler_needs_object=no - enable_shared_with_static_runtimes=no - export_dynamic_flag_spec= - export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - hardcode_automatic=no - hardcode_direct=no - hardcode_direct_absolute=no - hardcode_libdir_flag_spec= - hardcode_libdir_separator= - hardcode_minus_L=no - hardcode_shlibpath_var=unsupported - inherit_rpath=no - link_all_deplibs=unknown - module_cmds= - module_expsym_cmds= - old_archive_from_new_cmds= - old_archive_from_expsyms_cmds= - thread_safe_flag_spec= - whole_archive_flag_spec= - # include_expsyms should be a list of space-separated symbols to be *always* - # included in the symbol list - include_expsyms= - # exclude_expsyms can be an extended regexp of symbols to exclude - # it will be wrapped by ` (' and `)$', so one must not match beginning or - # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', - # as well as any symbol that contains `d'. - exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*' - # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out - # platforms (ab)use it in PIC code, but their linkers get confused if - # the symbol is explicitly referenced. Since portable code cannot - # rely on this symbol name, it's probably fine to never include it in - # preloaded symbol tables. - # Exclude shared library initialization/finalization symbols. - extract_expsyms_cmds= - - case $host_os in - cygwin* | mingw* | pw32* | cegcc*) - # FIXME: the MSVC++ port hasn't been tested in a loooong time - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. - if test "$GCC" != yes; then - with_gnu_ld=no - fi - ;; - interix*) - # we just hope/assume this is gcc and not c89 (= MSVC++) - with_gnu_ld=yes - ;; - openbsd*) - with_gnu_ld=no - ;; - linux* | k*bsd*-gnu | gnu*) - link_all_deplibs=no - ;; - esac - - ld_shlibs=yes - - # On some targets, GNU ld is compatible enough with the native linker - # that we're better off using the native interface for both. - lt_use_gnu_ld_interface=no - if test "$with_gnu_ld" = yes; then - case $host_os in - aix*) - # The AIX port of GNU ld has always aspired to compatibility - # with the native linker. However, as the warning in the GNU ld - # block says, versions before 2.19.5* couldn't really create working - # shared libraries, regardless of the interface used. - case `$LD -v 2>&1` in - *\ \(GNU\ Binutils\)\ 2.19.5*) ;; - *\ \(GNU\ Binutils\)\ 2.[2-9]*) ;; - *\ \(GNU\ Binutils\)\ [3-9]*) ;; - *) - lt_use_gnu_ld_interface=yes - ;; - esac - ;; - *) - lt_use_gnu_ld_interface=yes - ;; - esac - fi - - if test "$lt_use_gnu_ld_interface" = yes; then - # If archive_cmds runs LD, not CC, wlarc should be empty - wlarc='${wl}' - - # Set some defaults for GNU ld with shared library support. These - # are reset later if shared libraries are not supported. Putting them - # here allows them to be overridden if necessary. - runpath_var=LD_RUN_PATH - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - export_dynamic_flag_spec='${wl}--export-dynamic' - # ancient GNU ld didn't support --whole-archive et. al. - if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then - whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' - else - whole_archive_flag_spec= - fi - supports_anon_versioning=no - case `$LD -v 2>&1` in - *GNU\ gold*) supports_anon_versioning=yes ;; - *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 - *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... - *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... - *\ 2.11.*) ;; # other 2.11 versions - *) supports_anon_versioning=yes ;; - esac - - # See if GNU ld supports shared libraries. - case $host_os in - aix[3-9]*) - # On AIX/PPC, the GNU linker is very broken - if test "$host_cpu" != ia64; then - ld_shlibs=no - cat <<_LT_EOF 1>&2 - -*** Warning: the GNU linker, at least up to release 2.19, is reported -*** to be unable to reliably create shared libraries on AIX. -*** Therefore, libtool is disabling shared libraries support. If you -*** really care for shared libraries, you may want to install binutils -*** 2.20 or above, or modify your PATH so that a non-GNU linker is found. -*** You will then need to restart the configuration process. - -_LT_EOF - fi - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds='' - ;; - m68k) - archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' - hardcode_libdir_flag_spec='-L$libdir' - hardcode_minus_L=yes - ;; - esac - ;; - - beos*) - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - allow_undefined_flag=unsupported - # Joseph Beckenbach says some releases of gcc - # support --undefined. This deserves some investigation. FIXME - archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - else - ld_shlibs=no - fi - ;; - - cygwin* | mingw* | pw32* | cegcc*) - # _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless, - # as there is no search path for DLLs. - hardcode_libdir_flag_spec='-L$libdir' - export_dynamic_flag_spec='${wl}--export-all-symbols' - allow_undefined_flag=unsupported - always_export_symbols=no - enable_shared_with_static_runtimes=yes - export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols' - exclude_expsyms='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname' - - if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - # If the export-symbols file already is a .def file (1st line - # is EXPORTS), use it as is; otherwise, prepend... - archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then - cp $export_symbols $output_objdir/$soname.def; - else - echo EXPORTS > $output_objdir/$soname.def; - cat $export_symbols >> $output_objdir/$soname.def; - fi~ - $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - else - ld_shlibs=no - fi - ;; - - haiku*) - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - link_all_deplibs=yes - ;; - - interix[3-9]*) - hardcode_direct=no - hardcode_shlibpath_var=no - hardcode_libdir_flag_spec='${wl}-rpath,$libdir' - export_dynamic_flag_spec='${wl}-E' - # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. - # Instead, shared libraries are loaded at an image base (0x10000000 by - # default) and relocated if they conflict, which is a slow very memory - # consuming and fragmenting process. To avoid this, we pick a random, - # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link - # time. Moving up from 0x10000000 also allows more sbrk(2) space. - archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - ;; - - gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) - tmp_diet=no - if test "$host_os" = linux-dietlibc; then - case $cc_basename in - diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn) - esac - fi - if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \ - && test "$tmp_diet" = no - then - tmp_addflag=' $pic_flag' - tmp_sharedflag='-shared' - case $cc_basename,$host_cpu in - pgcc*) # Portland Group C compiler - whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' - tmp_addflag=' $pic_flag' - ;; - pgf77* | pgf90* | pgf95* | pgfortran*) - # Portland Group f77 and f90 compilers - whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' - tmp_addflag=' $pic_flag -Mnomain' ;; - ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 - tmp_addflag=' -i_dynamic' ;; - efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 - tmp_addflag=' -i_dynamic -nofor_main' ;; - ifc* | ifort*) # Intel Fortran compiler - tmp_addflag=' -nofor_main' ;; - lf95*) # Lahey Fortran 8.1 - whole_archive_flag_spec= - tmp_sharedflag='--shared' ;; - xl[cC]* | bgxl[cC]* | mpixl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below) - tmp_sharedflag='-qmkshrobj' - tmp_addflag= ;; - nvcc*) # Cuda Compiler Driver 2.2 - whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' - compiler_needs_object=yes - ;; - esac - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) # Sun C 5.9 - whole_archive_flag_spec='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' - compiler_needs_object=yes - tmp_sharedflag='-G' ;; - *Sun\ F*) # Sun Fortran 8.3 - tmp_sharedflag='-G' ;; - esac - archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - - if test "x$supports_anon_versioning" = xyes; then - archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - echo "local: *; };" >> $output_objdir/$libname.ver~ - $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' - fi - - case $cc_basename in - xlf* | bgf* | bgxlf* | mpixlf*) - # IBM XL Fortran 10.1 on PPC cannot create shared libs itself - whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive' - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib' - if test "x$supports_anon_versioning" = xyes; then - archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - echo "local: *; };" >> $output_objdir/$libname.ver~ - $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' - fi - ;; - esac - else - ld_shlibs=no - fi - ;; - - netbsd* | netbsdelf*-gnu) - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' - wlarc= - else - archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - fi - ;; - - solaris*) - if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then - ld_shlibs=no - cat <<_LT_EOF 1>&2 - -*** Warning: The releases 2.8.* of the GNU linker cannot reliably -*** create shared libraries on Solaris systems. Therefore, libtool -*** is disabling shared libraries support. We urge you to upgrade GNU -*** binutils to release 2.9.1 or newer. Another option is to modify -*** your PATH or compiler configuration so that the native linker is -*** used, and then restart. - -_LT_EOF - elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - else - ld_shlibs=no - fi - ;; - - sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) - case `$LD -v 2>&1` in - *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) - ld_shlibs=no - cat <<_LT_EOF 1>&2 - -*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not -*** reliably create shared libraries on SCO systems. Therefore, libtool -*** is disabling shared libraries support. We urge you to upgrade GNU -*** binutils to release 2.16.91.0.3 or newer. Another option is to modify -*** your PATH or compiler configuration so that the native linker is -*** used, and then restart. - -_LT_EOF - ;; - *) - # For security reasons, it is highly recommended that you always - # use absolute paths for naming shared libraries, and exclude the - # DT_RUNPATH tag from executables and libraries. But doing so - # requires that you compile everything twice, which is a pain. - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - else - ld_shlibs=no - fi - ;; - esac - ;; - - sunos4*) - archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' - wlarc= - hardcode_direct=yes - hardcode_shlibpath_var=no - ;; - - *) - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - else - ld_shlibs=no - fi - ;; - esac - - if test "$ld_shlibs" = no; then - runpath_var= - hardcode_libdir_flag_spec= - export_dynamic_flag_spec= - whole_archive_flag_spec= - fi - else - # PORTME fill in a description of your system's linker (not GNU ld) - case $host_os in - aix3*) - allow_undefined_flag=unsupported - always_export_symbols=yes - archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' - # Note: this linker hardcodes the directories in LIBPATH if there - # are no directories specified by -L. - hardcode_minus_L=yes - if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then - # Neither direct hardcoding nor static linking is supported with a - # broken collect2. - hardcode_direct=unsupported - fi - ;; - - aix[4-9]*) - if test "$host_cpu" = ia64; then - # On IA64, the linker does run time linking by default, so we don't - # have to do anything special. - aix_use_runtimelinking=no - exp_sym_flag='-Bexport' - no_entry_flag="" - else - # If we're using GNU nm, then we don't want the "-C" option. - # -C means demangle to AIX nm, but means don't demangle with GNU nm - # Also, AIX nm treats weak defined symbols like other global - # defined symbols, whereas GNU nm marks them as "W". - if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then - export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' - else - export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' - fi - aix_use_runtimelinking=no - - # Test if we are trying to use run time linking or normal - # AIX style linking. If -brtl is somewhere in LDFLAGS, we - # need to do runtime linking. - case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) - for ld_flag in $LDFLAGS; do - if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then - aix_use_runtimelinking=yes - break - fi - done - ;; - esac - - exp_sym_flag='-bexport' - no_entry_flag='-bnoentry' - fi - - # When large executables or shared objects are built, AIX ld can - # have problems creating the table of contents. If linking a library - # or program results in "error TOC overflow" add -mminimal-toc to - # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not - # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. - - archive_cmds='' - hardcode_direct=yes - hardcode_direct_absolute=yes - hardcode_libdir_separator=':' - link_all_deplibs=yes - file_list_spec='${wl}-f,' - - if test "$GCC" = yes; then - case $host_os in aix4.[012]|aix4.[012].*) - # We only want to do this on AIX 4.2 and lower, the check - # below for broken collect2 doesn't work under 4.3+ - collect2name=`${CC} -print-prog-name=collect2` - if test -f "$collect2name" && - strings "$collect2name" | $GREP resolve_lib_name >/dev/null - then - # We have reworked collect2 - : - else - # We have old collect2 - hardcode_direct=unsupported - # It fails to find uninstalled libraries when the uninstalled - # path is not listed in the libpath. Setting hardcode_minus_L - # to unsupported forces relinking - hardcode_minus_L=yes - hardcode_libdir_flag_spec='-L$libdir' - hardcode_libdir_separator= - fi - ;; - esac - shared_flag='-shared' - if test "$aix_use_runtimelinking" = yes; then - shared_flag="$shared_flag "'${wl}-G' - fi - link_all_deplibs=no - else - # not using gcc - if test "$host_cpu" = ia64; then - # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release - # chokes on -Wl,-G. The following line is correct: - shared_flag='-G' - else - if test "$aix_use_runtimelinking" = yes; then - shared_flag='${wl}-G' - else - shared_flag='${wl}-bM:SRE' - fi - fi - fi - - export_dynamic_flag_spec='${wl}-bexpall' - # It seems that -bexpall does not export symbols beginning with - # underscore (_), so it is better to generate a list of symbols to export. - always_export_symbols=yes - if test "$aix_use_runtimelinking" = yes; then - # Warning - without using the other runtime loading flags (-brtl), - # -berok will link without error, but may produce a broken library. - allow_undefined_flag='-berok' - # Determine the default libpath from the value encoded in an - # empty executable. - if test "${lt_cv_aix_libpath+set}" = set; then - aix_libpath=$lt_cv_aix_libpath -else - if ${lt_cv_aix_libpath_+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - - lt_aix_libpath_sed=' - /Import File Strings/,/^$/ { - /^0/ { - s/^0 *\([^ ]*\) *$/\1/ - p - } - }' - lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - # Check for a 64-bit object if we didn't find anything. - if test -z "$lt_cv_aix_libpath_"; then - lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - fi -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - if test -z "$lt_cv_aix_libpath_"; then - lt_cv_aix_libpath_="/usr/lib:/lib" - fi - -fi - - aix_libpath=$lt_cv_aix_libpath_ -fi - - hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" - archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" - else - if test "$host_cpu" = ia64; then - hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib' - allow_undefined_flag="-z nodefs" - archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" - else - # Determine the default libpath from the value encoded in an - # empty executable. - if test "${lt_cv_aix_libpath+set}" = set; then - aix_libpath=$lt_cv_aix_libpath -else - if ${lt_cv_aix_libpath_+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - - lt_aix_libpath_sed=' - /Import File Strings/,/^$/ { - /^0/ { - s/^0 *\([^ ]*\) *$/\1/ - p - } - }' - lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - # Check for a 64-bit object if we didn't find anything. - if test -z "$lt_cv_aix_libpath_"; then - lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - fi -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - if test -z "$lt_cv_aix_libpath_"; then - lt_cv_aix_libpath_="/usr/lib:/lib" - fi - -fi - - aix_libpath=$lt_cv_aix_libpath_ -fi - - hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" - # Warning - without using the other run time loading flags, - # -berok will link without error, but may produce a broken library. - no_undefined_flag=' ${wl}-bernotok' - allow_undefined_flag=' ${wl}-berok' - if test "$with_gnu_ld" = yes; then - # We only use this code for GNU lds that support --whole-archive. - whole_archive_flag_spec='${wl}--whole-archive$convenience ${wl}--no-whole-archive' - else - # Exported symbols can be pulled into shared objects from archives - whole_archive_flag_spec='$convenience' - fi - archive_cmds_need_lc=yes - # This is similar to how AIX traditionally builds its shared libraries. - archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' - fi - fi - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds='' - ;; - m68k) - archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' - hardcode_libdir_flag_spec='-L$libdir' - hardcode_minus_L=yes - ;; - esac - ;; - - bsdi[45]*) - export_dynamic_flag_spec=-rdynamic - ;; - - cygwin* | mingw* | pw32* | cegcc*) - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. - # hardcode_libdir_flag_spec is actually meaningless, as there is - # no search path for DLLs. - case $cc_basename in - cl*) - # Native MSVC - hardcode_libdir_flag_spec=' ' - allow_undefined_flag=unsupported - always_export_symbols=yes - file_list_spec='@' - # Tell ltmain to make .lib files, not .a files. - libext=lib - # Tell ltmain to make .dll files, not .so files. - shrext_cmds=".dll" - # FIXME: Setting linknames here is a bad hack. - archive_cmds='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames=' - archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then - sed -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp; - else - sed -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp; - fi~ - $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ - linknames=' - # The linker will not automatically build a static lib if we build a DLL. - # _LT_TAGVAR(old_archive_from_new_cmds, )='true' - enable_shared_with_static_runtimes=yes - exclude_expsyms='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' - export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1,DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' - # Don't use ranlib - old_postinstall_cmds='chmod 644 $oldlib' - postlink_cmds='lt_outputfile="@OUTPUT@"~ - lt_tool_outputfile="@TOOL_OUTPUT@"~ - case $lt_outputfile in - *.exe|*.EXE) ;; - *) - lt_outputfile="$lt_outputfile.exe" - lt_tool_outputfile="$lt_tool_outputfile.exe" - ;; - esac~ - if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then - $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; - $RM "$lt_outputfile.manifest"; - fi' - ;; - *) - # Assume MSVC wrapper - hardcode_libdir_flag_spec=' ' - allow_undefined_flag=unsupported - # Tell ltmain to make .lib files, not .a files. - libext=lib - # Tell ltmain to make .dll files, not .so files. - shrext_cmds=".dll" - # FIXME: Setting linknames here is a bad hack. - archive_cmds='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames=' - # The linker will automatically build a .lib file if we build a DLL. - old_archive_from_new_cmds='true' - # FIXME: Should let the user specify the lib program. - old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs' - enable_shared_with_static_runtimes=yes - ;; - esac - ;; - - darwin* | rhapsody*) - - - archive_cmds_need_lc=no - hardcode_direct=no - hardcode_automatic=yes - hardcode_shlibpath_var=unsupported - if test "$lt_cv_ld_force_load" = "yes"; then - whole_archive_flag_spec='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`' - - else - whole_archive_flag_spec='' - fi - link_all_deplibs=yes - allow_undefined_flag="$_lt_dar_allow_undefined" - case $cc_basename in - ifort*) _lt_dar_can_shared=yes ;; - *) _lt_dar_can_shared=$GCC ;; - esac - if test "$_lt_dar_can_shared" = "yes"; then - output_verbose_link_cmd=func_echo_all - archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}" - module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}" - archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}" - module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}" - - else - ld_shlibs=no - fi - - ;; - - dgux*) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec='-L$libdir' - hardcode_shlibpath_var=no - ;; - - # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor - # support. Future versions do this automatically, but an explicit c++rt0.o - # does not break anything, and helps significantly (at the cost of a little - # extra space). - freebsd2.2*) - archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' - hardcode_libdir_flag_spec='-R$libdir' - hardcode_direct=yes - hardcode_shlibpath_var=no - ;; - - # Unfortunately, older versions of FreeBSD 2 do not have this feature. - freebsd2.*) - archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct=yes - hardcode_minus_L=yes - hardcode_shlibpath_var=no - ;; - - # FreeBSD 3 and greater uses gcc -shared to do shared libraries. - freebsd* | dragonfly*) - archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - hardcode_libdir_flag_spec='-R$libdir' - hardcode_direct=yes - hardcode_shlibpath_var=no - ;; - - hpux9*) - if test "$GCC" = yes; then - archive_cmds='$RM $output_objdir/$soname~$CC -shared $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - else - archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - fi - hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' - hardcode_libdir_separator=: - hardcode_direct=yes - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L=yes - export_dynamic_flag_spec='${wl}-E' - ;; - - hpux10*) - if test "$GCC" = yes && test "$with_gnu_ld" = no; then - archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' - fi - if test "$with_gnu_ld" = no; then - hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' - hardcode_libdir_separator=: - hardcode_direct=yes - hardcode_direct_absolute=yes - export_dynamic_flag_spec='${wl}-E' - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L=yes - fi - ;; - - hpux11*) - if test "$GCC" = yes && test "$with_gnu_ld" = no; then - case $host_cpu in - hppa*64*) - archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - ia64*) - archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - else - case $host_cpu in - hppa*64*) - archive_cmds='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - ia64*) - archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - - # Older versions of the 11.00 compiler do not understand -b yet - # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does) - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC understands -b" >&5 -$as_echo_n "checking if $CC understands -b... " >&6; } -if ${lt_cv_prog_compiler__b+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler__b=no - save_LDFLAGS="$LDFLAGS" - LDFLAGS="$LDFLAGS -b" - echo "$lt_simple_link_test_code" > conftest.$ac_ext - if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then - # The linker can only warn and ignore the option if not recognized - # So say no if there are warnings - if test -s conftest.err; then - # Append any errors to the config.log. - cat conftest.err 1>&5 - $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if diff conftest.exp conftest.er2 >/dev/null; then - lt_cv_prog_compiler__b=yes - fi - else - lt_cv_prog_compiler__b=yes - fi - fi - $RM -r conftest* - LDFLAGS="$save_LDFLAGS" - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler__b" >&5 -$as_echo "$lt_cv_prog_compiler__b" >&6; } - -if test x"$lt_cv_prog_compiler__b" = xyes; then - archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' -else - archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' -fi - - ;; - esac - fi - if test "$with_gnu_ld" = no; then - hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' - hardcode_libdir_separator=: - - case $host_cpu in - hppa*64*|ia64*) - hardcode_direct=no - hardcode_shlibpath_var=no - ;; - *) - hardcode_direct=yes - hardcode_direct_absolute=yes - export_dynamic_flag_spec='${wl}-E' - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L=yes - ;; - esac - fi - ;; - - irix5* | irix6* | nonstopux*) - if test "$GCC" = yes; then - archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - # Try to use the -exported_symbol ld option, if it does not - # work, assume that -exports_file does not work either and - # implicitly export all symbols. - # This should be the same for all languages, so no per-tag cache variable. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $host_os linker accepts -exported_symbol" >&5 -$as_echo_n "checking whether the $host_os linker accepts -exported_symbol... " >&6; } -if ${lt_cv_irix_exported_symbol+:} false; then : - $as_echo_n "(cached) " >&6 -else - save_LDFLAGS="$LDFLAGS" - LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -int foo (void) { return 0; } -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - lt_cv_irix_exported_symbol=yes -else - lt_cv_irix_exported_symbol=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - LDFLAGS="$save_LDFLAGS" -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5 -$as_echo "$lt_cv_irix_exported_symbol" >&6; } - if test "$lt_cv_irix_exported_symbol" = yes; then - archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib' - fi - else - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' - archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib' - fi - archive_cmds_need_lc='no' - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator=: - inherit_rpath=yes - link_all_deplibs=yes - ;; - - netbsd* | netbsdelf*-gnu) - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out - else - archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF - fi - hardcode_libdir_flag_spec='-R$libdir' - hardcode_direct=yes - hardcode_shlibpath_var=no - ;; - - newsos6) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct=yes - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator=: - hardcode_shlibpath_var=no - ;; - - *nto* | *qnx*) - ;; - - openbsd*) - if test -f /usr/libexec/ld.so; then - hardcode_direct=yes - hardcode_shlibpath_var=no - hardcode_direct_absolute=yes - if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' - hardcode_libdir_flag_spec='${wl}-rpath,$libdir' - export_dynamic_flag_spec='${wl}-E' - else - case $host_os in - openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) - archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec='-R$libdir' - ;; - *) - archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - hardcode_libdir_flag_spec='${wl}-rpath,$libdir' - ;; - esac - fi - else - ld_shlibs=no - fi - ;; - - os2*) - hardcode_libdir_flag_spec='-L$libdir' - hardcode_minus_L=yes - allow_undefined_flag=unsupported - archive_cmds='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~echo DATA >> $output_objdir/$libname.def~echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' - old_archive_from_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' - ;; - - osf3*) - if test "$GCC" = yes; then - allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' - archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - else - allow_undefined_flag=' -expect_unresolved \*' - archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' - fi - archive_cmds_need_lc='no' - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator=: - ;; - - osf4* | osf5*) # as osf3* with the addition of -msym flag - if test "$GCC" = yes; then - allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' - archive_cmds='$CC -shared${allow_undefined_flag} $pic_flag $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - else - allow_undefined_flag=' -expect_unresolved \*' - archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' - archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~ - $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp' - - # Both c and cxx compiler support -rpath directly - hardcode_libdir_flag_spec='-rpath $libdir' - fi - archive_cmds_need_lc='no' - hardcode_libdir_separator=: - ;; - - solaris*) - no_undefined_flag=' -z defs' - if test "$GCC" = yes; then - wlarc='${wl}' - archive_cmds='$CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' - else - case `$CC -V 2>&1` in - *"Compilers 5.0"*) - wlarc='' - archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' - archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp' - ;; - *) - wlarc='${wl}' - archive_cmds='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' - ;; - esac - fi - hardcode_libdir_flag_spec='-R$libdir' - hardcode_shlibpath_var=no - case $host_os in - solaris2.[0-5] | solaris2.[0-5].*) ;; - *) - # The compiler driver will combine and reorder linker options, - # but understands `-z linker_flag'. GCC discards it without `$wl', - # but is careful enough not to reorder. - # Supported since Solaris 2.6 (maybe 2.5.1?) - if test "$GCC" = yes; then - whole_archive_flag_spec='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' - else - whole_archive_flag_spec='-z allextract$convenience -z defaultextract' - fi - ;; - esac - link_all_deplibs=yes - ;; - - sunos4*) - if test "x$host_vendor" = xsequent; then - # Use $CC to link under sequent, because it throws in some extra .o - # files that make .init and .fini sections work. - archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' - fi - hardcode_libdir_flag_spec='-L$libdir' - hardcode_direct=yes - hardcode_minus_L=yes - hardcode_shlibpath_var=no - ;; - - sysv4) - case $host_vendor in - sni) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct=yes # is this really true??? - ;; - siemens) - ## LD is ld it makes a PLAMLIB - ## CC just makes a GrossModule. - archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags' - reload_cmds='$CC -r -o $output$reload_objs' - hardcode_direct=no - ;; - motorola) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct=no #Motorola manual says yes, but my tests say they lie - ;; - esac - runpath_var='LD_RUN_PATH' - hardcode_shlibpath_var=no - ;; - - sysv4.3*) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_shlibpath_var=no - export_dynamic_flag_spec='-Bexport' - ;; - - sysv4*MP*) - if test -d /usr/nec; then - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_shlibpath_var=no - runpath_var=LD_RUN_PATH - hardcode_runpath_var=yes - ld_shlibs=yes - fi - ;; - - sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) - no_undefined_flag='${wl}-z,text' - archive_cmds_need_lc=no - hardcode_shlibpath_var=no - runpath_var='LD_RUN_PATH' - - if test "$GCC" = yes; then - archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - fi - ;; - - sysv5* | sco3.2v5* | sco5v6*) - # Note: We can NOT use -z defs as we might desire, because we do not - # link with -lc, and that would cause any symbols used from libc to - # always be unresolved, which means just about no library would - # ever link correctly. If we're not using GNU ld we use -z text - # though, which does catch some bad symbols but isn't as heavy-handed - # as -z defs. - no_undefined_flag='${wl}-z,text' - allow_undefined_flag='${wl}-z,nodefs' - archive_cmds_need_lc=no - hardcode_shlibpath_var=no - hardcode_libdir_flag_spec='${wl}-R,$libdir' - hardcode_libdir_separator=':' - link_all_deplibs=yes - export_dynamic_flag_spec='${wl}-Bexport' - runpath_var='LD_RUN_PATH' - - if test "$GCC" = yes; then - archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - fi - ;; - - uts4*) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec='-L$libdir' - hardcode_shlibpath_var=no - ;; - - *) - ld_shlibs=no - ;; - esac - - if test x$host_vendor = xsni; then - case $host in - sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) - export_dynamic_flag_spec='${wl}-Blargedynsym' - ;; - esac - fi - fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs" >&5 -$as_echo "$ld_shlibs" >&6; } -test "$ld_shlibs" = no && can_build_shared=no - -with_gnu_ld=$with_gnu_ld - - - - - - - - - - - - - - - -# -# Do we need to explicitly link libc? -# -case "x$archive_cmds_need_lc" in -x|xyes) - # Assume -lc should be added - archive_cmds_need_lc=yes - - if test "$enable_shared" = yes && test "$GCC" = yes; then - case $archive_cmds in - *'~'*) - # FIXME: we may have to deal with multi-command sequences. - ;; - '$CC '*) - # Test whether the compiler implicitly links with -lc since on some - # systems, -lgcc has to come before -lc. If gcc already passes -lc - # to ld, don't add -lc before -lgcc. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5 -$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; } -if ${lt_cv_archive_cmds_need_lc+:} false; then : - $as_echo_n "(cached) " >&6 -else - $RM conftest* - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } 2>conftest.err; then - soname=conftest - lib=conftest - libobjs=conftest.$ac_objext - deplibs= - wl=$lt_prog_compiler_wl - pic_flag=$lt_prog_compiler_pic - compiler_flags=-v - linker_flags=-v - verstring= - output_objdir=. - libname=conftest - lt_save_allow_undefined_flag=$allow_undefined_flag - allow_undefined_flag= - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5 - (eval $archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } - then - lt_cv_archive_cmds_need_lc=no - else - lt_cv_archive_cmds_need_lc=yes - fi - allow_undefined_flag=$lt_save_allow_undefined_flag - else - cat conftest.err 1>&5 - fi - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc" >&5 -$as_echo "$lt_cv_archive_cmds_need_lc" >&6; } - archive_cmds_need_lc=$lt_cv_archive_cmds_need_lc - ;; - esac - fi - ;; -esac - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5 -$as_echo_n "checking dynamic linker characteristics... " >&6; } - -if test "$GCC" = yes; then - case $host_os in - darwin*) lt_awk_arg="/^libraries:/,/LR/" ;; - *) lt_awk_arg="/^libraries:/" ;; - esac - case $host_os in - mingw* | cegcc*) lt_sed_strip_eq="s,=\([A-Za-z]:\),\1,g" ;; - *) lt_sed_strip_eq="s,=/,/,g" ;; - esac - lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq` - case $lt_search_path_spec in - *\;*) - # if the path contains ";" then we assume it to be the separator - # otherwise default to the standard path separator (i.e. ":") - it is - # assumed that no part of a normal pathname contains ";" but that should - # okay in the real world where ";" in dirpaths is itself problematic. - lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'` - ;; - *) - lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"` - ;; - esac - # Ok, now we have the path, separated by spaces, we can step through it - # and add multilib dir if necessary. - lt_tmp_lt_search_path_spec= - lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` - for lt_sys_path in $lt_search_path_spec; do - if test -d "$lt_sys_path/$lt_multi_os_dir"; then - lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir" - else - test -d "$lt_sys_path" && \ - lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" - fi - done - lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk ' -BEGIN {RS=" "; FS="/|\n";} { - lt_foo=""; - lt_count=0; - for (lt_i = NF; lt_i > 0; lt_i--) { - if ($lt_i != "" && $lt_i != ".") { - if ($lt_i == "..") { - lt_count++; - } else { - if (lt_count == 0) { - lt_foo="/" $lt_i lt_foo; - } else { - lt_count--; - } - } - } - } - if (lt_foo != "") { lt_freq[lt_foo]++; } - if (lt_freq[lt_foo] == 1) { print lt_foo; } -}'` - # AWK program above erroneously prepends '/' to C:/dos/paths - # for these hosts. - case $host_os in - mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\ - $SED 's,/\([A-Za-z]:\),\1,g'` ;; - esac - sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP` -else - sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" -fi -library_names_spec= -libname_spec='lib$name' -soname_spec= -shrext_cmds=".so" -postinstall_cmds= -postuninstall_cmds= -finish_cmds= -finish_eval= -shlibpath_var= -shlibpath_overrides_runpath=unknown -version_type=none -dynamic_linker="$host_os ld.so" -sys_lib_dlsearch_path_spec="/lib /usr/lib" -need_lib_prefix=unknown -hardcode_into_libs=no - -# when you set need_version to no, make sure it does not cause -set_version -# flags to be left without arguments -need_version=unknown - -case $host_os in -aix3*) - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' - shlibpath_var=LIBPATH - - # AIX 3 has no versioning support, so we append a major version to the name. - soname_spec='${libname}${release}${shared_ext}$major' - ;; - -aix[4-9]*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - hardcode_into_libs=yes - if test "$host_cpu" = ia64; then - # AIX 5 supports IA64 - library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - else - # With GCC up to 2.95.x, collect2 would create an import file - # for dependence libraries. The import file would start with - # the line `#! .'. This would cause the generated library to - # depend on `.', always an invalid library. This was fixed in - # development snapshots of GCC prior to 3.0. - case $host_os in - aix4 | aix4.[01] | aix4.[01].*) - if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' - echo ' yes ' - echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then - : - else - can_build_shared=no - fi - ;; - esac - # AIX (on Power*) has no versioning support, so currently we can not hardcode correct - # soname into executable. Probably we can add versioning support to - # collect2, so additional links can be useful in future. - if test "$aix_use_runtimelinking" = yes; then - # If using run time linking (on AIX 4.2 or later) use lib.so - # instead of lib.a to let people know that these are not - # typical AIX shared libraries. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - else - # We preserve .a as extension for shared libraries through AIX4.2 - # and later when we are not doing run time linking. - library_names_spec='${libname}${release}.a $libname.a' - soname_spec='${libname}${release}${shared_ext}$major' - fi - shlibpath_var=LIBPATH - fi - ;; - -amigaos*) - case $host_cpu in - powerpc) - # Since July 2007 AmigaOS4 officially supports .so libraries. - # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - ;; - m68k) - library_names_spec='$libname.ixlibrary $libname.a' - # Create ${libname}_ixlibrary.a entries in /sys/libs. - finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' - ;; - esac - ;; - -beos*) - library_names_spec='${libname}${shared_ext}' - dynamic_linker="$host_os ld.so" - shlibpath_var=LIBRARY_PATH - ;; - -bsdi[45]*) - version_type=linux # correct to gnu/linux during the next big refactor - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" - sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" - # the default ld.so.conf also contains /usr/contrib/lib and - # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow - # libtool to hard-code these into programs - ;; - -cygwin* | mingw* | pw32* | cegcc*) - version_type=windows - shrext_cmds=".dll" - need_version=no - need_lib_prefix=no - - case $GCC,$cc_basename in - yes,*) - # gcc - library_names_spec='$libname.dll.a' - # DLL is installed to $(libdir)/../bin by postinstall_cmds - postinstall_cmds='base_file=`basename \${file}`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~ - dldir=$destdir/`dirname \$dlpath`~ - test -d \$dldir || mkdir -p \$dldir~ - $install_prog $dir/$dlname \$dldir/$dlname~ - chmod a+x \$dldir/$dlname~ - if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then - eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; - fi' - postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ - dlpath=$dir/\$dldll~ - $RM \$dlpath' - shlibpath_overrides_runpath=yes - - case $host_os in - cygwin*) - # Cygwin DLLs use 'cyg' prefix rather than 'lib' - soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' - - sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api" - ;; - mingw* | cegcc*) - # MinGW DLLs use traditional 'lib' prefix - soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' - ;; - pw32*) - # pw32 DLLs use 'pw' prefix rather than 'lib' - library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' - ;; - esac - dynamic_linker='Win32 ld.exe' - ;; - - *,cl*) - # Native MSVC - libname_spec='$name' - soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' - library_names_spec='${libname}.dll.lib' - - case $build_os in - mingw*) - sys_lib_search_path_spec= - lt_save_ifs=$IFS - IFS=';' - for lt_path in $LIB - do - IFS=$lt_save_ifs - # Let DOS variable expansion print the short 8.3 style file name. - lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"` - sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path" - done - IFS=$lt_save_ifs - # Convert to MSYS style. - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'` - ;; - cygwin*) - # Convert to unix form, then to dos form, then back to unix form - # but this time dos style (no spaces!) so that the unix form looks - # like /cygdrive/c/PROGRA~1:/cygdr... - sys_lib_search_path_spec=`cygpath --path --unix "$LIB"` - sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null` - sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - ;; - *) - sys_lib_search_path_spec="$LIB" - if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then - # It is most probably a Windows format PATH. - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` - else - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - fi - # FIXME: find the short name or the path components, as spaces are - # common. (e.g. "Program Files" -> "PROGRA~1") - ;; - esac - - # DLL is installed to $(libdir)/../bin by postinstall_cmds - postinstall_cmds='base_file=`basename \${file}`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~ - dldir=$destdir/`dirname \$dlpath`~ - test -d \$dldir || mkdir -p \$dldir~ - $install_prog $dir/$dlname \$dldir/$dlname' - postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ - dlpath=$dir/\$dldll~ - $RM \$dlpath' - shlibpath_overrides_runpath=yes - dynamic_linker='Win32 link.exe' - ;; - - *) - # Assume MSVC wrapper - library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' - dynamic_linker='Win32 ld.exe' - ;; - esac - # FIXME: first we should search . and the directory the executable is in - shlibpath_var=PATH - ;; - -darwin* | rhapsody*) - dynamic_linker="$host_os dyld" - version_type=darwin - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext' - soname_spec='${libname}${release}${major}$shared_ext' - shlibpath_overrides_runpath=yes - shlibpath_var=DYLD_LIBRARY_PATH - shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' - - sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib" - sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' - ;; - -dgux*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -freebsd* | dragonfly*) - # DragonFly does not have aout. When/if they implement a new - # versioning mechanism, adjust this. - if test -x /usr/bin/objformat; then - objformat=`/usr/bin/objformat` - else - case $host_os in - freebsd[23].*) objformat=aout ;; - *) objformat=elf ;; - esac - fi - version_type=freebsd-$objformat - case $version_type in - freebsd-elf*) - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' - need_version=no - need_lib_prefix=no - ;; - freebsd-*) - library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' - need_version=yes - ;; - esac - shlibpath_var=LD_LIBRARY_PATH - case $host_os in - freebsd2.*) - shlibpath_overrides_runpath=yes - ;; - freebsd3.[01]* | freebsdelf3.[01]*) - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ - freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - *) # from 4.6 on, and DragonFly - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - esac - ;; - -haiku*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - dynamic_linker="$host_os runtime_loader" - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LIBRARY_PATH - shlibpath_overrides_runpath=yes - sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib' - hardcode_into_libs=yes - ;; - -hpux9* | hpux10* | hpux11*) - # Give a soname corresponding to the major version so that dld.sl refuses to - # link against other versions. - version_type=sunos - need_lib_prefix=no - need_version=no - case $host_cpu in - ia64*) - shrext_cmds='.so' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.so" - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - if test "X$HPUX_IA64_MODE" = X32; then - sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" - else - sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" - fi - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - hppa*64*) - shrext_cmds='.sl' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.sl" - shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - *) - shrext_cmds='.sl' - dynamic_linker="$host_os dld.sl" - shlibpath_var=SHLIB_PATH - shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - ;; - esac - # HP-UX runs *really* slowly unless shared libraries are mode 555, ... - postinstall_cmds='chmod 555 $lib' - # or fails outright, so override atomically: - install_override_mode=555 - ;; - -interix[3-9]*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - -irix5* | irix6* | nonstopux*) - case $host_os in - nonstopux*) version_type=nonstopux ;; - *) - if test "$lt_cv_prog_gnu_ld" = yes; then - version_type=linux # correct to gnu/linux during the next big refactor - else - version_type=irix - fi ;; - esac - need_lib_prefix=no - need_version=no - soname_spec='${libname}${release}${shared_ext}$major' - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' - case $host_os in - irix5* | nonstopux*) - libsuff= shlibsuff= - ;; - *) - case $LD in # libtool.m4 will add one of these switches to LD - *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") - libsuff= shlibsuff= libmagic=32-bit;; - *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") - libsuff=32 shlibsuff=N32 libmagic=N32;; - *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") - libsuff=64 shlibsuff=64 libmagic=64-bit;; - *) libsuff= shlibsuff= libmagic=never-match;; - esac - ;; - esac - shlibpath_var=LD_LIBRARY${shlibsuff}_PATH - shlibpath_overrides_runpath=no - sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" - sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" - hardcode_into_libs=yes - ;; - -# No shared lib support for Linux oldld, aout, or coff. -linux*oldld* | linux*aout* | linux*coff*) - dynamic_linker=no - ;; - -# This must be glibc/ELF. -linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - - # Some binutils ld are patched to set DT_RUNPATH - if ${lt_cv_shlibpath_overrides_runpath+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_shlibpath_overrides_runpath=no - save_LDFLAGS=$LDFLAGS - save_libdir=$libdir - eval "libdir=/foo; wl=\"$lt_prog_compiler_wl\"; \ - LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec\"" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then : - lt_cv_shlibpath_overrides_runpath=yes -fi -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - LDFLAGS=$save_LDFLAGS - libdir=$save_libdir - -fi - - shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath - - # This implies no fast_install, which is unacceptable. - # Some rework will be needed to allow for fast_install - # before this can be enabled. - hardcode_into_libs=yes - - # Append ld.so.conf contents to the search path - if test -f /etc/ld.so.conf; then - lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '` - sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" - fi - - # We used to test for /lib/ld.so.1 and disable shared libraries on - # powerpc, because MkLinux only supported shared libraries with the - # GNU dynamic linker. Since this was broken with cross compilers, - # most powerpc-linux boxes support dynamic linking these days and - # people can always --disable-shared, the test was removed, and we - # assume the GNU/Linux dynamic linker is in use. - dynamic_linker='GNU/Linux ld.so' - ;; - -netbsdelf*-gnu) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - dynamic_linker='NetBSD ld.elf_so' - ;; - -netbsd*) - version_type=sunos - need_lib_prefix=no - need_version=no - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - dynamic_linker='NetBSD (a.out) ld.so' - else - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - dynamic_linker='NetBSD ld.elf_so' - fi - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - -newsos6) - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - ;; - -*nto* | *qnx*) - version_type=qnx - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - dynamic_linker='ldqnx.so' - ;; - -openbsd*) - version_type=sunos - sys_lib_dlsearch_path_spec="/usr/lib" - need_lib_prefix=no - # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. - case $host_os in - openbsd3.3 | openbsd3.3.*) need_version=yes ;; - *) need_version=no ;; - esac - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - shlibpath_var=LD_LIBRARY_PATH - if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - case $host_os in - openbsd2.[89] | openbsd2.[89].*) - shlibpath_overrides_runpath=no - ;; - *) - shlibpath_overrides_runpath=yes - ;; - esac - else - shlibpath_overrides_runpath=yes - fi - ;; - -os2*) - libname_spec='$name' - shrext_cmds=".dll" - need_lib_prefix=no - library_names_spec='$libname${shared_ext} $libname.a' - dynamic_linker='OS/2 ld.exe' - shlibpath_var=LIBPATH - ;; - -osf3* | osf4* | osf5*) - version_type=osf - need_lib_prefix=no - need_version=no - soname_spec='${libname}${release}${shared_ext}$major' - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" - sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" - ;; - -rdos*) - dynamic_linker=no - ;; - -solaris*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - # ldd complains unless libraries are executable - postinstall_cmds='chmod +x $lib' - ;; - -sunos4*) - version_type=sunos - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - if test "$with_gnu_ld" = yes; then - need_lib_prefix=no - fi - need_version=yes - ;; - -sysv4 | sysv4.3*) - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - case $host_vendor in - sni) - shlibpath_overrides_runpath=no - need_lib_prefix=no - runpath_var=LD_RUN_PATH - ;; - siemens) - need_lib_prefix=no - ;; - motorola) - need_lib_prefix=no - need_version=no - shlibpath_overrides_runpath=no - sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' - ;; - esac - ;; - -sysv4*MP*) - if test -d /usr/nec ;then - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' - soname_spec='$libname${shared_ext}.$major' - shlibpath_var=LD_LIBRARY_PATH - fi - ;; - -sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) - version_type=freebsd-elf - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - if test "$with_gnu_ld" = yes; then - sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' - else - sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' - case $host_os in - sco3.2v5*) - sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" - ;; - esac - fi - sys_lib_dlsearch_path_spec='/usr/lib' - ;; - -tpf*) - # TPF is a cross-target only. Preferred cross-host = GNU/Linux. - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - -uts4*) - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -*) - dynamic_linker=no - ;; -esac -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5 -$as_echo "$dynamic_linker" >&6; } -test "$dynamic_linker" = no && can_build_shared=no - -variables_saved_for_relink="PATH $shlibpath_var $runpath_var" -if test "$GCC" = yes; then - variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" -fi - -if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then - sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec" -fi -if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then - sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec" -fi - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5 -$as_echo_n "checking how to hardcode library paths into programs... " >&6; } -hardcode_action= -if test -n "$hardcode_libdir_flag_spec" || - test -n "$runpath_var" || - test "X$hardcode_automatic" = "Xyes" ; then - - # We can hardcode non-existent directories. - if test "$hardcode_direct" != no && - # If the only mechanism to avoid hardcoding is shlibpath_var, we - # have to relink, otherwise we might link with an installed library - # when we should be linking with a yet-to-be-installed one - ## test "$_LT_TAGVAR(hardcode_shlibpath_var, )" != no && - test "$hardcode_minus_L" != no; then - # Linking always hardcodes the temporary library directory. - hardcode_action=relink - else - # We can link without hardcoding, and we can hardcode nonexisting dirs. - hardcode_action=immediate - fi -else - # We cannot hardcode anything, or else we can only hardcode existing - # directories. - hardcode_action=unsupported -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action" >&5 -$as_echo "$hardcode_action" >&6; } - -if test "$hardcode_action" = relink || - test "$inherit_rpath" = yes; then - # Fast installation is not supported - enable_fast_install=no -elif test "$shlibpath_overrides_runpath" = yes || - test "$enable_shared" = no; then - # Fast installation is not necessary - enable_fast_install=needless -fi - - - - - - - if test "x$enable_dlopen" != xyes; then - enable_dlopen=unknown - enable_dlopen_self=unknown - enable_dlopen_self_static=unknown -else - lt_cv_dlopen=no - lt_cv_dlopen_libs= - - case $host_os in - beos*) - lt_cv_dlopen="load_add_on" - lt_cv_dlopen_libs= - lt_cv_dlopen_self=yes - ;; - - mingw* | pw32* | cegcc*) - lt_cv_dlopen="LoadLibrary" - lt_cv_dlopen_libs= - ;; - - cygwin*) - lt_cv_dlopen="dlopen" - lt_cv_dlopen_libs= - ;; - - darwin*) - # if libdl is installed we need to link against it - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 -$as_echo_n "checking for dlopen in -ldl... " >&6; } -if ${ac_cv_lib_dl_dlopen+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldl $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char dlopen (); -int -main () -{ -return dlopen (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_dl_dlopen=yes -else - ac_cv_lib_dl_dlopen=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 -$as_echo "$ac_cv_lib_dl_dlopen" >&6; } -if test "x$ac_cv_lib_dl_dlopen" = xyes; then : - lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" -else - - lt_cv_dlopen="dyld" - lt_cv_dlopen_libs= - lt_cv_dlopen_self=yes - -fi - - ;; - - *) - ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load" -if test "x$ac_cv_func_shl_load" = xyes; then : - lt_cv_dlopen="shl_load" -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5 -$as_echo_n "checking for shl_load in -ldld... " >&6; } -if ${ac_cv_lib_dld_shl_load+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldld $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char shl_load (); -int -main () -{ -return shl_load (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_dld_shl_load=yes -else - ac_cv_lib_dld_shl_load=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5 -$as_echo "$ac_cv_lib_dld_shl_load" >&6; } -if test "x$ac_cv_lib_dld_shl_load" = xyes; then : - lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld" -else - ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen" -if test "x$ac_cv_func_dlopen" = xyes; then : - lt_cv_dlopen="dlopen" -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 -$as_echo_n "checking for dlopen in -ldl... " >&6; } -if ${ac_cv_lib_dl_dlopen+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldl $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char dlopen (); -int -main () -{ -return dlopen (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_dl_dlopen=yes -else - ac_cv_lib_dl_dlopen=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 -$as_echo "$ac_cv_lib_dl_dlopen" >&6; } -if test "x$ac_cv_lib_dl_dlopen" = xyes; then : - lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5 -$as_echo_n "checking for dlopen in -lsvld... " >&6; } -if ${ac_cv_lib_svld_dlopen+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lsvld $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char dlopen (); -int -main () -{ -return dlopen (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_svld_dlopen=yes -else - ac_cv_lib_svld_dlopen=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5 -$as_echo "$ac_cv_lib_svld_dlopen" >&6; } -if test "x$ac_cv_lib_svld_dlopen" = xyes; then : - lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld" -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5 -$as_echo_n "checking for dld_link in -ldld... " >&6; } -if ${ac_cv_lib_dld_dld_link+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldld $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char dld_link (); -int -main () -{ -return dld_link (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_dld_dld_link=yes -else - ac_cv_lib_dld_dld_link=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5 -$as_echo "$ac_cv_lib_dld_dld_link" >&6; } -if test "x$ac_cv_lib_dld_dld_link" = xyes; then : - lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld" -fi - - -fi - - -fi - - -fi - - -fi - - -fi - - ;; - esac - - if test "x$lt_cv_dlopen" != xno; then - enable_dlopen=yes - else - enable_dlopen=no - fi - - case $lt_cv_dlopen in - dlopen) - save_CPPFLAGS="$CPPFLAGS" - test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" - - save_LDFLAGS="$LDFLAGS" - wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" - - save_LIBS="$LIBS" - LIBS="$lt_cv_dlopen_libs $LIBS" - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5 -$as_echo_n "checking whether a program can dlopen itself... " >&6; } -if ${lt_cv_dlopen_self+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test "$cross_compiling" = yes; then : - lt_cv_dlopen_self=cross -else - lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 - lt_status=$lt_dlunknown - cat > conftest.$ac_ext <<_LT_EOF -#line $LINENO "configure" -#include "confdefs.h" - -#if HAVE_DLFCN_H -#include -#endif - -#include - -#ifdef RTLD_GLOBAL -# define LT_DLGLOBAL RTLD_GLOBAL -#else -# ifdef DL_GLOBAL -# define LT_DLGLOBAL DL_GLOBAL -# else -# define LT_DLGLOBAL 0 -# endif -#endif - -/* We may have to define LT_DLLAZY_OR_NOW in the command line if we - find out it does not work in some platform. */ -#ifndef LT_DLLAZY_OR_NOW -# ifdef RTLD_LAZY -# define LT_DLLAZY_OR_NOW RTLD_LAZY -# else -# ifdef DL_LAZY -# define LT_DLLAZY_OR_NOW DL_LAZY -# else -# ifdef RTLD_NOW -# define LT_DLLAZY_OR_NOW RTLD_NOW -# else -# ifdef DL_NOW -# define LT_DLLAZY_OR_NOW DL_NOW -# else -# define LT_DLLAZY_OR_NOW 0 -# endif -# endif -# endif -# endif -#endif - -/* When -fvisbility=hidden is used, assume the code has been annotated - correspondingly for the symbols needed. */ -#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) -int fnord () __attribute__((visibility("default"))); -#endif - -int fnord () { return 42; } -int main () -{ - void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); - int status = $lt_dlunknown; - - if (self) - { - if (dlsym (self,"fnord")) status = $lt_dlno_uscore; - else - { - if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; - else puts (dlerror ()); - } - /* dlclose (self); */ - } - else - puts (dlerror ()); - - return status; -} -_LT_EOF - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 - (eval $ac_link) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then - (./conftest; exit; ) >&5 2>/dev/null - lt_status=$? - case x$lt_status in - x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;; - x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;; - x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;; - esac - else : - # compilation failed - lt_cv_dlopen_self=no - fi -fi -rm -fr conftest* - - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self" >&5 -$as_echo "$lt_cv_dlopen_self" >&6; } - - if test "x$lt_cv_dlopen_self" = xyes; then - wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5 -$as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; } -if ${lt_cv_dlopen_self_static+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test "$cross_compiling" = yes; then : - lt_cv_dlopen_self_static=cross -else - lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 - lt_status=$lt_dlunknown - cat > conftest.$ac_ext <<_LT_EOF -#line $LINENO "configure" -#include "confdefs.h" - -#if HAVE_DLFCN_H -#include -#endif - -#include - -#ifdef RTLD_GLOBAL -# define LT_DLGLOBAL RTLD_GLOBAL -#else -# ifdef DL_GLOBAL -# define LT_DLGLOBAL DL_GLOBAL -# else -# define LT_DLGLOBAL 0 -# endif -#endif - -/* We may have to define LT_DLLAZY_OR_NOW in the command line if we - find out it does not work in some platform. */ -#ifndef LT_DLLAZY_OR_NOW -# ifdef RTLD_LAZY -# define LT_DLLAZY_OR_NOW RTLD_LAZY -# else -# ifdef DL_LAZY -# define LT_DLLAZY_OR_NOW DL_LAZY -# else -# ifdef RTLD_NOW -# define LT_DLLAZY_OR_NOW RTLD_NOW -# else -# ifdef DL_NOW -# define LT_DLLAZY_OR_NOW DL_NOW -# else -# define LT_DLLAZY_OR_NOW 0 -# endif -# endif -# endif -# endif -#endif - -/* When -fvisbility=hidden is used, assume the code has been annotated - correspondingly for the symbols needed. */ -#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) -int fnord () __attribute__((visibility("default"))); -#endif - -int fnord () { return 42; } -int main () -{ - void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); - int status = $lt_dlunknown; - - if (self) - { - if (dlsym (self,"fnord")) status = $lt_dlno_uscore; - else - { - if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; - else puts (dlerror ()); - } - /* dlclose (self); */ - } - else - puts (dlerror ()); - - return status; -} -_LT_EOF - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 - (eval $ac_link) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then - (./conftest; exit; ) >&5 2>/dev/null - lt_status=$? - case x$lt_status in - x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;; - x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;; - x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;; - esac - else : - # compilation failed - lt_cv_dlopen_self_static=no - fi -fi -rm -fr conftest* - - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self_static" >&5 -$as_echo "$lt_cv_dlopen_self_static" >&6; } - fi - - CPPFLAGS="$save_CPPFLAGS" - LDFLAGS="$save_LDFLAGS" - LIBS="$save_LIBS" - ;; - esac - - case $lt_cv_dlopen_self in - yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; - *) enable_dlopen_self=unknown ;; - esac - - case $lt_cv_dlopen_self_static in - yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; - *) enable_dlopen_self_static=unknown ;; - esac -fi - - - - - - - - - - - - - - - - - -striplib= -old_striplib= -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stripping libraries is possible" >&5 -$as_echo_n "checking whether stripping libraries is possible... " >&6; } -if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then - test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" - test -z "$striplib" && striplib="$STRIP --strip-unneeded" - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } -else -# FIXME - insert some real tests, host_os isn't really good enough - case $host_os in - darwin*) - if test -n "$STRIP" ; then - striplib="$STRIP -x" - old_striplib="$STRIP -S" - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - fi - ;; - *) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - ;; - esac -fi - - - - - - - - - - - - - # Report which library types will actually be built - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5 -$as_echo_n "checking if libtool supports shared libraries... " >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5 -$as_echo "$can_build_shared" >&6; } - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5 -$as_echo_n "checking whether to build shared libraries... " >&6; } - test "$can_build_shared" = "no" && enable_shared=no - - # On AIX, shared libraries and static libraries use the same namespace, and - # are all built from PIC. - case $host_os in - aix3*) - test "$enable_shared" = yes && enable_static=no - if test -n "$RANLIB"; then - archive_cmds="$archive_cmds~\$RANLIB \$lib" - postinstall_cmds='$RANLIB $lib' - fi - ;; - - aix[4-9]*) - if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then - test "$enable_shared" = yes && enable_static=no - fi - ;; - esac - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&5 -$as_echo "$enable_shared" >&6; } - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&5 -$as_echo_n "checking whether to build static libraries... " >&6; } - # Make sure either enable_shared or enable_static is yes. - test "$enable_shared" = yes || enable_static=yes - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5 -$as_echo "$enable_static" >&6; } - - - - -fi -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -CC="$lt_save_CC" - - - - - - - - - - - - - - - - ac_config_commands="$ac_config_commands libtool" - - - - -# Only expand once: - - - - - misc_cflags="" - misc_ldflags="" - # Check whether --enable-optimization was given. -if test "${enable_optimization+set}" = set; then : - enableval=$enable_optimization; - if (test "${enableval}" = "no"); then - misc_cflags="$misc_cflags -O0" - fi - -fi - - # Check whether --enable-debug was given. -if test "${enable_debug+set}" = set; then : - enableval=$enable_debug; - if (test "${enableval}" = "yes" && - test "${ac_cv_prog_cc_g}" = "yes"); then - misc_cflags="$misc_cflags -g" - fi - -fi - - # Check whether --enable-pie was given. -if test "${enable_pie+set}" = set; then : - enableval=$enable_pie; - if (test "${enableval}" = "yes" && - test "${ac_cv_prog_cc_pie}" = "yes"); then - misc_cflags="$misc_cflags -fPIC" - misc_ldflags="$misc_ldflags -pie" - fi - -fi - - MISC_CFLAGS=$misc_cflags - - MISC_LDFLAGS=$misc_ldflags - - - -# Check whether --enable-threads was given. -if test "${enable_threads+set}" = set; then : - enableval=$enable_threads; enable_threads=${enableval} -fi - - -ac_fn_c_check_func "$LINENO" "signalfd" "ac_cv_func_signalfd" -if test "x$ac_cv_func_signalfd" = xyes; then : - dummy=yes -else - as_fn_error $? "signalfd support is required" "$LINENO" 5 -fi - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 -$as_echo_n "checking for dlopen in -ldl... " >&6; } -if ${ac_cv_lib_dl_dlopen+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldl $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char dlopen (); -int -main () -{ -return dlopen (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_dl_dlopen=yes -else - ac_cv_lib_dl_dlopen=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 -$as_echo "$ac_cv_lib_dl_dlopen" >&6; } -if test "x$ac_cv_lib_dl_dlopen" = xyes; then : - dummy=yes -else - as_fn_error $? "dynamic linking loader is required" "$LINENO" 5 -fi - - - -pkg_failed=no -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for GLIB" >&5 -$as_echo_n "checking for GLIB... " >&6; } - -if test -n "$GLIB_CFLAGS"; then - pkg_cv_GLIB_CFLAGS="$GLIB_CFLAGS" - elif test -n "$PKG_CONFIG"; then - if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"glib-2.0 >= 2.28\""; } >&5 - ($PKG_CONFIG --exists --print-errors "glib-2.0 >= 2.28") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - pkg_cv_GLIB_CFLAGS=`$PKG_CONFIG --cflags "glib-2.0 >= 2.28" 2>/dev/null` - test "x$?" != "x0" && pkg_failed=yes -else - pkg_failed=yes -fi - else - pkg_failed=untried -fi -if test -n "$GLIB_LIBS"; then - pkg_cv_GLIB_LIBS="$GLIB_LIBS" - elif test -n "$PKG_CONFIG"; then - if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"glib-2.0 >= 2.28\""; } >&5 - ($PKG_CONFIG --exists --print-errors "glib-2.0 >= 2.28") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - pkg_cv_GLIB_LIBS=`$PKG_CONFIG --libs "glib-2.0 >= 2.28" 2>/dev/null` - test "x$?" != "x0" && pkg_failed=yes -else - pkg_failed=yes -fi - else - pkg_failed=untried -fi - - - -if test $pkg_failed = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - -if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then - _pkg_short_errors_supported=yes -else - _pkg_short_errors_supported=no -fi - if test $_pkg_short_errors_supported = yes; then - GLIB_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "glib-2.0 >= 2.28" 2>&1` - else - GLIB_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "glib-2.0 >= 2.28" 2>&1` - fi - # Put the nasty error message in config.log where it belongs - echo "$GLIB_PKG_ERRORS" >&5 - - as_fn_error $? "GLib >= 2.28 is required" "$LINENO" 5 -elif test $pkg_failed = untried; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - as_fn_error $? "GLib >= 2.28 is required" "$LINENO" 5 -else - GLIB_CFLAGS=$pkg_cv_GLIB_CFLAGS - GLIB_LIBS=$pkg_cv_GLIB_LIBS - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - dummy=yes -fi - - - -if (test "${enable_threads}" = "yes"); then - -$as_echo "#define NEED_THREADS 1" >>confdefs.h - - -pkg_failed=no -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for GTHREAD" >&5 -$as_echo_n "checking for GTHREAD... " >&6; } - -if test -n "$GTHREAD_CFLAGS"; then - pkg_cv_GTHREAD_CFLAGS="$GTHREAD_CFLAGS" - elif test -n "$PKG_CONFIG"; then - if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gthread-2.0 >= 2.16\""; } >&5 - ($PKG_CONFIG --exists --print-errors "gthread-2.0 >= 2.16") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - pkg_cv_GTHREAD_CFLAGS=`$PKG_CONFIG --cflags "gthread-2.0 >= 2.16" 2>/dev/null` - test "x$?" != "x0" && pkg_failed=yes -else - pkg_failed=yes -fi - else - pkg_failed=untried -fi -if test -n "$GTHREAD_LIBS"; then - pkg_cv_GTHREAD_LIBS="$GTHREAD_LIBS" - elif test -n "$PKG_CONFIG"; then - if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gthread-2.0 >= 2.16\""; } >&5 - ($PKG_CONFIG --exists --print-errors "gthread-2.0 >= 2.16") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - pkg_cv_GTHREAD_LIBS=`$PKG_CONFIG --libs "gthread-2.0 >= 2.16" 2>/dev/null` - test "x$?" != "x0" && pkg_failed=yes -else - pkg_failed=yes -fi - else - pkg_failed=untried -fi - - - -if test $pkg_failed = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - -if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then - _pkg_short_errors_supported=yes -else - _pkg_short_errors_supported=no -fi - if test $_pkg_short_errors_supported = yes; then - GTHREAD_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "gthread-2.0 >= 2.16" 2>&1` - else - GTHREAD_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "gthread-2.0 >= 2.16" 2>&1` - fi - # Put the nasty error message in config.log where it belongs - echo "$GTHREAD_PKG_ERRORS" >&5 - - as_fn_error $? "GThread >= 2.16 is required" "$LINENO" 5 -elif test $pkg_failed = untried; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - as_fn_error $? "GThread >= 2.16 is required" "$LINENO" 5 -else - GTHREAD_CFLAGS=$pkg_cv_GTHREAD_CFLAGS - GTHREAD_LIBS=$pkg_cv_GTHREAD_LIBS - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - dummy=yes -fi - GLIB_CFLAGS="$GLIB_CFLAGS $GTHREAD_CFLAGS" - GLIB_LIBS="$GLIB_LIBS $GTHREAD_LIBS" -fi - - -pkg_failed=no -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for DBUS" >&5 -$as_echo_n "checking for DBUS... " >&6; } - -if test -n "$DBUS_CFLAGS"; then - pkg_cv_DBUS_CFLAGS="$DBUS_CFLAGS" - elif test -n "$PKG_CONFIG"; then - if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"dbus-1 >= 1.4\""; } >&5 - ($PKG_CONFIG --exists --print-errors "dbus-1 >= 1.4") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - pkg_cv_DBUS_CFLAGS=`$PKG_CONFIG --cflags "dbus-1 >= 1.4" 2>/dev/null` - test "x$?" != "x0" && pkg_failed=yes -else - pkg_failed=yes -fi - else - pkg_failed=untried -fi -if test -n "$DBUS_LIBS"; then - pkg_cv_DBUS_LIBS="$DBUS_LIBS" - elif test -n "$PKG_CONFIG"; then - if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"dbus-1 >= 1.4\""; } >&5 - ($PKG_CONFIG --exists --print-errors "dbus-1 >= 1.4") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - pkg_cv_DBUS_LIBS=`$PKG_CONFIG --libs "dbus-1 >= 1.4" 2>/dev/null` - test "x$?" != "x0" && pkg_failed=yes -else - pkg_failed=yes -fi - else - pkg_failed=untried -fi - - - -if test $pkg_failed = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - -if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then - _pkg_short_errors_supported=yes -else - _pkg_short_errors_supported=no -fi - if test $_pkg_short_errors_supported = yes; then - DBUS_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "dbus-1 >= 1.4" 2>&1` - else - DBUS_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "dbus-1 >= 1.4" 2>&1` - fi - # Put the nasty error message in config.log where it belongs - echo "$DBUS_PKG_ERRORS" >&5 - - as_fn_error $? "D-Bus >= 1.4 is required" "$LINENO" 5 -elif test $pkg_failed = untried; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - as_fn_error $? "D-Bus >= 1.4 is required" "$LINENO" 5 -else - DBUS_CFLAGS=$pkg_cv_DBUS_CFLAGS - DBUS_LIBS=$pkg_cv_DBUS_LIBS - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - dummy=yes -fi - - - - -# Check whether --with-dbusconfdir was given. -if test "${with_dbusconfdir+set}" = set; then : - withval=$with_dbusconfdir; path_dbusconfdir=${withval} -fi - -if (test -z "${path_dbusconfdir}"); then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking D-Bus configuration directory" >&5 -$as_echo_n "checking D-Bus configuration directory... " >&6; } - path_dbusconfdir="`$PKG_CONFIG --variable=sysconfdir dbus-1`" - if (test -z "${path_dbusconfdir}"); then - as_fn_error $? "D-Bus configuration directory is required" "$LINENO" 5 - fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${path_dbusconfdir}" >&5 -$as_echo "${path_dbusconfdir}" >&6; } -fi -DBUS_CONFDIR=${path_dbusconfdir} - - - -# Check whether --with-dbussystembusdir was given. -if test "${with_dbussystembusdir+set}" = set; then : - withval=$with_dbussystembusdir; path_dbussystembusdir=${withval} -fi - -if (test -z "${path_dbussystembusdir}"); then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking D-Bus system bus services dir" >&5 -$as_echo_n "checking D-Bus system bus services dir... " >&6; } - path_dbussystembusdir="`$PKG_CONFIG --variable=system_bus_services_dir dbus-1`" - if (test -z "${path_dbussystembusdir}"); then - as_fn_error $? "D-Bus system bus services directory is required" "$LINENO" 5 - fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${path_dbussystembusdir}" >&5 -$as_echo "${path_dbussystembusdir}" >&6; } -fi -DBUS_SYSTEMBUSDIR=${path_dbussystembusdir} - - - -# Check whether --with-dbussessionbusdir was given. -if test "${with_dbussessionbusdir+set}" = set; then : - withval=$with_dbussessionbusdir; path_dbussessionbusdir=${withval} -fi - -if (test -z "${path_dbussessionbusdir}"); then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking D-Bus session bus services dir" >&5 -$as_echo_n "checking D-Bus session bus services dir... " >&6; } - path_dbussessionbusdir="`$PKG_CONFIG --variable=session_bus_services_dir dbus-1`" - if (test -z "${path_dbussessionbusdir}"); then - as_fn_error $? "D-Bus session bus services directory is required" "$LINENO" 5 - fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${path_dbussessionbusdir}" >&5 -$as_echo "${path_dbussessionbusdir}" >&6; } -fi -DBUS_SESSIONBUSDIR=${path_dbussessionbusdir} - - -# Check whether --enable-library was given. -if test "${enable_library+set}" = set; then : - enableval=$enable_library; enable_library=${enableval} -fi - - if test "${enable_library}" = "yes"; then - LIBRARY_TRUE= - LIBRARY_FALSE='#' -else - LIBRARY_TRUE='#' - LIBRARY_FALSE= -fi - - -# Check whether --enable-test was given. -if test "${enable_test+set}" = set; then : - enableval=$enable_test; enable_test=${enableval} -fi - - if test "${enable_test}" = "yes"; then - TEST_TRUE= - TEST_FALSE='#' -else - TEST_TRUE='#' - TEST_FALSE= -fi - - -# Check whether --enable-tools was given. -if test "${enable_tools+set}" = set; then : - enableval=$enable_tools; enable_tools=${enableval} -fi - - if test "${enable_tools}" != "no"; then - TOOLS_TRUE= - TOOLS_FALSE='#' -else - TOOLS_TRUE='#' - TOOLS_FALSE= -fi - - -# Check whether --enable-monitor was given. -if test "${enable_monitor+set}" = set; then : - enableval=$enable_monitor; enable_monitor=${enableval} -fi - - if test "${enable_monitor}" != "no"; then - MONITOR_TRUE= - MONITOR_FALSE='#' -else - MONITOR_TRUE='#' - MONITOR_FALSE= -fi - - -# Check whether --enable-usb was given. -if test "${enable_usb+set}" = set; then : - enableval=$enable_usb; enable_usb=${enableval} -fi - -if (test "${enable_tools}" != "no" && test "${enable_usb}" != "no" ); then - -pkg_failed=no -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for USB" >&5 -$as_echo_n "checking for USB... " >&6; } - -if test -n "$USB_CFLAGS"; then - pkg_cv_USB_CFLAGS="$USB_CFLAGS" - elif test -n "$PKG_CONFIG"; then - if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libusb\""; } >&5 - ($PKG_CONFIG --exists --print-errors "libusb") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - pkg_cv_USB_CFLAGS=`$PKG_CONFIG --cflags "libusb" 2>/dev/null` - test "x$?" != "x0" && pkg_failed=yes -else - pkg_failed=yes -fi - else - pkg_failed=untried -fi -if test -n "$USB_LIBS"; then - pkg_cv_USB_LIBS="$USB_LIBS" - elif test -n "$PKG_CONFIG"; then - if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libusb\""; } >&5 - ($PKG_CONFIG --exists --print-errors "libusb") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - pkg_cv_USB_LIBS=`$PKG_CONFIG --libs "libusb" 2>/dev/null` - test "x$?" != "x0" && pkg_failed=yes -else - pkg_failed=yes -fi - else - pkg_failed=untried -fi - - - -if test $pkg_failed = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - -if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then - _pkg_short_errors_supported=yes -else - _pkg_short_errors_supported=no -fi - if test $_pkg_short_errors_supported = yes; then - USB_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "libusb" 2>&1` - else - USB_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "libusb" 2>&1` - fi - # Put the nasty error message in config.log where it belongs - echo "$USB_PKG_ERRORS" >&5 - - as_fn_error $? "USB library support is required" "$LINENO" 5 -elif test $pkg_failed = untried; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - as_fn_error $? "USB library support is required" "$LINENO" 5 -else - USB_CFLAGS=$pkg_cv_USB_CFLAGS - USB_LIBS=$pkg_cv_USB_LIBS - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - dummy=yes -fi - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for usb_get_busses in -lusb" >&5 -$as_echo_n "checking for usb_get_busses in -lusb... " >&6; } -if ${ac_cv_lib_usb_usb_get_busses+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lusb $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char usb_get_busses (); -int -main () -{ -return usb_get_busses (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_usb_usb_get_busses=yes -else - ac_cv_lib_usb_usb_get_busses=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_usb_usb_get_busses" >&5 -$as_echo "$ac_cv_lib_usb_usb_get_busses" >&6; } -if test "x$ac_cv_lib_usb_usb_get_busses" = xyes; then : - dummy=yes -else - -$as_echo "#define NEED_USB_GET_BUSSES 1" >>confdefs.h - -fi - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for usb_interrupt_read in -lusb" >&5 -$as_echo_n "checking for usb_interrupt_read in -lusb... " >&6; } -if ${ac_cv_lib_usb_usb_interrupt_read+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lusb $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char usb_interrupt_read (); -int -main () -{ -return usb_interrupt_read (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_usb_usb_interrupt_read=yes -else - ac_cv_lib_usb_usb_interrupt_read=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_usb_usb_interrupt_read" >&5 -$as_echo "$ac_cv_lib_usb_usb_interrupt_read" >&6; } -if test "x$ac_cv_lib_usb_usb_interrupt_read" = xyes; then : - dummy=yes -else - -$as_echo "#define NEED_USB_INTERRUPT_READ 1" >>confdefs.h - -fi - - -$as_echo "#define HAVE_LIBUSB 1" >>confdefs.h - -fi - if test "${enable_usb}" != "no"; then - USB_TRUE= - USB_FALSE='#' -else - USB_TRUE='#' - USB_FALSE= -fi - - -# Check whether --enable-udev was given. -if test "${enable_udev+set}" = set; then : - enableval=$enable_udev; enable_udev=${enableval} -fi - -if (test "${enable_tools}" != "no" && test "${enable_udev}" != "no"); then - -pkg_failed=no -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for UDEV" >&5 -$as_echo_n "checking for UDEV... " >&6; } - -if test -n "$UDEV_CFLAGS"; then - pkg_cv_UDEV_CFLAGS="$UDEV_CFLAGS" - elif test -n "$PKG_CONFIG"; then - if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libudev >= 143\""; } >&5 - ($PKG_CONFIG --exists --print-errors "libudev >= 143") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - pkg_cv_UDEV_CFLAGS=`$PKG_CONFIG --cflags "libudev >= 143" 2>/dev/null` - test "x$?" != "x0" && pkg_failed=yes -else - pkg_failed=yes -fi - else - pkg_failed=untried -fi -if test -n "$UDEV_LIBS"; then - pkg_cv_UDEV_LIBS="$UDEV_LIBS" - elif test -n "$PKG_CONFIG"; then - if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libudev >= 143\""; } >&5 - ($PKG_CONFIG --exists --print-errors "libudev >= 143") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - pkg_cv_UDEV_LIBS=`$PKG_CONFIG --libs "libudev >= 143" 2>/dev/null` - test "x$?" != "x0" && pkg_failed=yes -else - pkg_failed=yes -fi - else - pkg_failed=untried -fi - - - -if test $pkg_failed = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - -if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then - _pkg_short_errors_supported=yes -else - _pkg_short_errors_supported=no -fi - if test $_pkg_short_errors_supported = yes; then - UDEV_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "libudev >= 143" 2>&1` - else - UDEV_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "libudev >= 143" 2>&1` - fi - # Put the nasty error message in config.log where it belongs - echo "$UDEV_PKG_ERRORS" >&5 - - as_fn_error $? "libudev >= 143 is required" "$LINENO" 5 -elif test $pkg_failed = untried; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - as_fn_error $? "libudev >= 143 is required" "$LINENO" 5 -else - UDEV_CFLAGS=$pkg_cv_UDEV_CFLAGS - UDEV_LIBS=$pkg_cv_UDEV_LIBS - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - dummy=yes -fi - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for udev_hwdb_new in -ludev" >&5 -$as_echo_n "checking for udev_hwdb_new in -ludev... " >&6; } -if ${ac_cv_lib_udev_udev_hwdb_new+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ludev $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char udev_hwdb_new (); -int -main () -{ -return udev_hwdb_new (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_udev_udev_hwdb_new=yes -else - ac_cv_lib_udev_udev_hwdb_new=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_udev_udev_hwdb_new" >&5 -$as_echo "$ac_cv_lib_udev_udev_hwdb_new" >&6; } -if test "x$ac_cv_lib_udev_udev_hwdb_new" = xyes; then : - -$as_echo "#define HAVE_UDEV_HWDB_NEW 1" >>confdefs.h - -fi - -fi - if test "${enable_udev}" != "no"; then - UDEV_TRUE= - UDEV_FALSE='#' -else - UDEV_TRUE='#' - UDEV_FALSE= -fi - - - -# Check whether --with-udevdir was given. -if test "${with_udevdir+set}" = set; then : - withval=$with_udevdir; path_udevdir=${withval} -fi - -if (test "${enable_udev}" != "no" && test -z "${path_udevdir}"); then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking udev directory" >&5 -$as_echo_n "checking udev directory... " >&6; } - path_udevdir="`$PKG_CONFIG --variable=udevdir udev`" - if (test -z "${path_udevdir}"); then - as_fn_error $? "udev directory is required" "$LINENO" 5 - fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${path_udevdir}" >&5 -$as_echo "${path_udevdir}" >&6; } -fi -UDEV_DIR=${path_udevdir} - - - if test "${enable_tools}" != "no" && - test "${enable_udev}" != "no" && test "${enable_usb}" != "no"; then - HID2HCI_TRUE= - HID2HCI_FALSE='#' -else - HID2HCI_TRUE='#' - HID2HCI_FALSE= -fi - - -# Check whether --enable-cups was given. -if test "${enable_cups+set}" = set; then : - enableval=$enable_cups; enable_cups=${enableval} -fi - - if test "${enable_cups}" != "no"; then - CUPS_TRUE= - CUPS_FALSE='#' -else - CUPS_TRUE='#' - CUPS_FALSE= -fi - - -# Check whether --enable-obex was given. -if test "${enable_obex+set}" = set; then : - enableval=$enable_obex; enable_obex=${enableval} -fi - -if (test "${enable_obex}" != "no"); then - -pkg_failed=no -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ICAL" >&5 -$as_echo_n "checking for ICAL... " >&6; } - -if test -n "$ICAL_CFLAGS"; then - pkg_cv_ICAL_CFLAGS="$ICAL_CFLAGS" - elif test -n "$PKG_CONFIG"; then - if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libical\""; } >&5 - ($PKG_CONFIG --exists --print-errors "libical") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - pkg_cv_ICAL_CFLAGS=`$PKG_CONFIG --cflags "libical" 2>/dev/null` - test "x$?" != "x0" && pkg_failed=yes -else - pkg_failed=yes -fi - else - pkg_failed=untried -fi -if test -n "$ICAL_LIBS"; then - pkg_cv_ICAL_LIBS="$ICAL_LIBS" - elif test -n "$PKG_CONFIG"; then - if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libical\""; } >&5 - ($PKG_CONFIG --exists --print-errors "libical") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - pkg_cv_ICAL_LIBS=`$PKG_CONFIG --libs "libical" 2>/dev/null` - test "x$?" != "x0" && pkg_failed=yes -else - pkg_failed=yes -fi - else - pkg_failed=untried -fi - - - -if test $pkg_failed = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - -if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then - _pkg_short_errors_supported=yes -else - _pkg_short_errors_supported=no -fi - if test $_pkg_short_errors_supported = yes; then - ICAL_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "libical" 2>&1` - else - ICAL_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "libical" 2>&1` - fi - # Put the nasty error message in config.log where it belongs - echo "$ICAL_PKG_ERRORS" >&5 - - as_fn_error $? "libical is required" "$LINENO" 5 -elif test $pkg_failed = untried; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - as_fn_error $? "libical is required" "$LINENO" 5 -else - ICAL_CFLAGS=$pkg_cv_ICAL_CFLAGS - ICAL_LIBS=$pkg_cv_ICAL_LIBS - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - dummy=yes -fi - - -fi - if test "${enable_obex}" != "no"; then - OBEX_TRUE= - OBEX_FALSE='#' -else - OBEX_TRUE='#' - OBEX_FALSE= -fi - - -# Check whether --enable-client was given. -if test "${enable_client+set}" = set; then : - enableval=$enable_client; enable_client=${enableval} -fi - - if test "${enable_client}" != "no"; then - CLIENT_TRUE= - CLIENT_FALSE='#' -else - CLIENT_TRUE='#' - CLIENT_FALSE= -fi - - -if (test "${enable_client}" != "no"); then - for ac_header in readline/readline.h -do : - ac_fn_c_check_header_mongrel "$LINENO" "readline/readline.h" "ac_cv_header_readline_readline_h" "$ac_includes_default" -if test "x$ac_cv_header_readline_readline_h" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_READLINE_READLINE_H 1 -_ACEOF - enable_readline=yes -else - as_fn_error $? "readline header files are required" "$LINENO" 5 -fi - -done - -fi - if test "${enable_readline}" = "yes"; then - READLINE_TRUE= - READLINE_FALSE='#' -else - READLINE_TRUE='#' - READLINE_FALSE= -fi - - -# Check whether --enable-systemd was given. -if test "${enable_systemd+set}" = set; then : - enableval=$enable_systemd; enable_systemd=${enableval} -fi - - if test "${enable_systemd}" != "no"; then - SYSTEMD_TRUE= - SYSTEMD_FALSE='#' -else - SYSTEMD_TRUE='#' - SYSTEMD_FALSE= -fi - - - -# Check whether --with-systemdsystemunitdir was given. -if test "${with_systemdsystemunitdir+set}" = set; then : - withval=$with_systemdsystemunitdir; path_systemunitdir=${withval} -fi - -if (test "${enable_systemd}" != "no" && test -z "${path_systemunitdir}"); then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking sytemd system unit dir" >&5 -$as_echo_n "checking sytemd system unit dir... " >&6; } - path_systemunitdir="`$PKG_CONFIG --variable=systemdsystemunitdir systemd`" - if (test -z "${path_systemunitdir}"); then - as_fn_error $? "systemd system unit directory is required" "$LINENO" 5 - fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${path_systemunitdir}" >&5 -$as_echo "${path_systemunitdir}" >&6; } -fi -SYSTEMD_SYSTEMUNITDIR=${path_systemunitdir} - - - -# Check whether --with-systemduserunitdir was given. -if test "${with_systemduserunitdir+set}" = set; then : - withval=$with_systemduserunitdir; path_userunitdir=${withval} -fi - -if (test "${enable_systemd}" != "no" && test -z "${path_userunitdir}"); then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking sytemd user unit dir" >&5 -$as_echo_n "checking sytemd user unit dir... " >&6; } - path_userunitdir="`$PKG_CONFIG --variable=systemduserunitdir systemd`" - if (test -z "${path_userunitdir}"); then - as_fn_error $? "systemd user unit directory is required" "$LINENO" 5 - fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${path_userunitdir}" >&5 -$as_echo "${path_userunitdir}" >&6; } -fi -SYSTEMD_USERUNITDIR=${path_userunitdir} - - -# Check whether --enable-datafiles was given. -if test "${enable_datafiles+set}" = set; then : - enableval=$enable_datafiles; enable_datafiles=${enableval} -fi - - if test "${enable_datafiles}" != "no"; then - DATAFILES_TRUE= - DATAFILES_FALSE='#' -else - DATAFILES_TRUE='#' - DATAFILES_FALSE= -fi - - -# Check whether --enable-experimental was given. -if test "${enable_experimental+set}" = set; then : - enableval=$enable_experimental; enable_experimental=${enableval} -fi - - if test "${enable_experimental}" = "yes"; then - EXPERIMENTAL_TRUE= - EXPERIMENTAL_FALSE='#' -else - EXPERIMENTAL_TRUE='#' - EXPERIMENTAL_FALSE= -fi - - -if (test "${prefix}" = "NONE"); then - if (test "$localstatedir" = '${prefix}/var'); then - localstatedir='/var' - - fi - - prefix="${ac_default_prefix}" -fi - -if (test "$localstatedir" = '${prefix}/var'); then - storagedir="${prefix}/var/lib/bluetooth" -else - storagedir="${localstatedir}/lib/bluetooth" -fi - -cat >>confdefs.h <<_ACEOF -#define STORAGEDIR "${storagedir}" -_ACEOF - - -if (test "$sysconfdir" = '${prefix}/etc'); then - configdir="${prefix}/etc/bluetooth" -else - configdir="${sysconfdir}/bluetooth" -fi - -cat >>confdefs.h <<_ACEOF -#define CONFIGDIR "${configdir}" -_ACEOF - - -ac_config_files="$ac_config_files Makefile src/bluetoothd.8 lib/bluez.pc" - -cat >confcache <<\_ACEOF -# This file is a shell script that caches the results of configure -# tests run on this system so they can be shared between configure -# scripts and configure runs, see configure's option --config-cache. -# It is not useful on other systems. If it contains results you don't -# want to keep, you may remove or edit it. -# -# config.status only pays attention to the cache file if you give it -# the --recheck option to rerun configure. -# -# `ac_cv_env_foo' variables (set or unset) will be overridden when -# loading this file, other *unset* `ac_cv_foo' will be assigned the -# following values. - -_ACEOF - -# The following way of writing the cache mishandles newlines in values, -# but we know of no workaround that is simple, portable, and efficient. -# So, we kill variables containing newlines. -# Ultrix sh set writes to stderr and can't be redirected directly, -# and sets the high bit in the cache file unless we assign to the vars. -( - for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do - eval ac_val=\$$ac_var - case $ac_val in #( - *${as_nl}*) - case $ac_var in #( - *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 -$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; - esac - case $ac_var in #( - _ | IFS | as_nl) ;; #( - BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( - *) { eval $ac_var=; unset $ac_var;} ;; - esac ;; - esac - done - - (set) 2>&1 | - case $as_nl`(ac_space=' '; set) 2>&1` in #( - *${as_nl}ac_space=\ *) - # `set' does not quote correctly, so add quotes: double-quote - # substitution turns \\\\ into \\, and sed turns \\ into \. - sed -n \ - "s/'/'\\\\''/g; - s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" - ;; #( - *) - # `set' quotes correctly as required by POSIX, so do not add quotes. - sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" - ;; - esac | - sort -) | - sed ' - /^ac_cv_env_/b end - t clear - :clear - s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ - t end - s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ - :end' >>confcache -if diff "$cache_file" confcache >/dev/null 2>&1; then :; else - if test -w "$cache_file"; then - if test "x$cache_file" != "x/dev/null"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 -$as_echo "$as_me: updating cache $cache_file" >&6;} - if test ! -f "$cache_file" || test -h "$cache_file"; then - cat confcache >"$cache_file" - else - case $cache_file in #( - */* | ?:*) - mv -f confcache "$cache_file"$$ && - mv -f "$cache_file"$$ "$cache_file" ;; #( - *) - mv -f confcache "$cache_file" ;; - esac - fi - fi - else - { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 -$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;} - fi -fi -rm -f confcache - -test "x$prefix" = xNONE && prefix=$ac_default_prefix -# Let make expand exec_prefix. -test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' - -DEFS=-DHAVE_CONFIG_H - -ac_libobjs= -ac_ltlibobjs= -U= -for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue - # 1. Remove the extension, and $U if already installed. - ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' - ac_i=`$as_echo "$ac_i" | sed "$ac_script"` - # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR - # will be set to the directory where LIBOBJS objects are built. - as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext" - as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo' -done -LIBOBJS=$ac_libobjs - -LTLIBOBJS=$ac_ltlibobjs - - - if test -n "$EXEEXT"; then - am__EXEEXT_TRUE= - am__EXEEXT_FALSE='#' -else - am__EXEEXT_TRUE='#' - am__EXEEXT_FALSE= -fi - -if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then - as_fn_error $? "conditional \"AMDEP\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then - as_fn_error $? "conditional \"am__fastdepCC\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then - as_fn_error $? "conditional \"MAINTAINER_MODE\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then - as_fn_error $? "conditional \"am__fastdepCC\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${LIBRARY_TRUE}" && test -z "${LIBRARY_FALSE}"; then - as_fn_error $? "conditional \"LIBRARY\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${TEST_TRUE}" && test -z "${TEST_FALSE}"; then - as_fn_error $? "conditional \"TEST\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${TOOLS_TRUE}" && test -z "${TOOLS_FALSE}"; then - as_fn_error $? "conditional \"TOOLS\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${MONITOR_TRUE}" && test -z "${MONITOR_FALSE}"; then - as_fn_error $? "conditional \"MONITOR\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${USB_TRUE}" && test -z "${USB_FALSE}"; then - as_fn_error $? "conditional \"USB\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${UDEV_TRUE}" && test -z "${UDEV_FALSE}"; then - as_fn_error $? "conditional \"UDEV\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${HID2HCI_TRUE}" && test -z "${HID2HCI_FALSE}"; then - as_fn_error $? "conditional \"HID2HCI\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${CUPS_TRUE}" && test -z "${CUPS_FALSE}"; then - as_fn_error $? "conditional \"CUPS\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${OBEX_TRUE}" && test -z "${OBEX_FALSE}"; then - as_fn_error $? "conditional \"OBEX\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${CLIENT_TRUE}" && test -z "${CLIENT_FALSE}"; then - as_fn_error $? "conditional \"CLIENT\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${READLINE_TRUE}" && test -z "${READLINE_FALSE}"; then - as_fn_error $? "conditional \"READLINE\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${SYSTEMD_TRUE}" && test -z "${SYSTEMD_FALSE}"; then - as_fn_error $? "conditional \"SYSTEMD\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${DATAFILES_TRUE}" && test -z "${DATAFILES_FALSE}"; then - as_fn_error $? "conditional \"DATAFILES\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${EXPERIMENTAL_TRUE}" && test -z "${EXPERIMENTAL_FALSE}"; then - as_fn_error $? "conditional \"EXPERIMENTAL\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi - -: "${CONFIG_STATUS=./config.status}" -ac_write_fail=0 -ac_clean_files_save=$ac_clean_files -ac_clean_files="$ac_clean_files $CONFIG_STATUS" -{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 -$as_echo "$as_me: creating $CONFIG_STATUS" >&6;} -as_write_fail=0 -cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1 -#! $SHELL -# Generated by $as_me. -# Run this file to recreate the current configuration. -# Compiler output produced by configure, useful for debugging -# configure, is in config.log if it exists. - -debug=false -ac_cs_recheck=false -ac_cs_silent=false - -SHELL=\${CONFIG_SHELL-$SHELL} -export SHELL -_ASEOF -cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1 -## -------------------- ## -## M4sh Initialization. ## -## -------------------- ## - -# Be more Bourne compatible -DUALCASE=1; export DUALCASE # for MKS sh -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : - emulate sh - NULLCMD=: - # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which - # is contrary to our usage. Disable this feature. - alias -g '${1+"$@"}'='"$@"' - setopt NO_GLOB_SUBST -else - case `(set -o) 2>/dev/null` in #( - *posix*) : - set -o posix ;; #( - *) : - ;; -esac -fi - - -as_nl=' -' -export as_nl -# Printing a long string crashes Solaris 7 /usr/bin/printf. -as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' -as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo -as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo -# Prefer a ksh shell builtin over an external printf program on Solaris, -# but without wasting forks for bash or zsh. -if test -z "$BASH_VERSION$ZSH_VERSION" \ - && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then - as_echo='print -r --' - as_echo_n='print -rn --' -elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then - as_echo='printf %s\n' - as_echo_n='printf %s' -else - if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then - as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' - as_echo_n='/usr/ucb/echo -n' - else - as_echo_body='eval expr "X$1" : "X\\(.*\\)"' - as_echo_n_body='eval - arg=$1; - case $arg in #( - *"$as_nl"*) - expr "X$arg" : "X\\(.*\\)$as_nl"; - arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; - esac; - expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" - ' - export as_echo_n_body - as_echo_n='sh -c $as_echo_n_body as_echo' - fi - export as_echo_body - as_echo='sh -c $as_echo_body as_echo' -fi - -# The user is always right. -if test "${PATH_SEPARATOR+set}" != set; then - PATH_SEPARATOR=: - (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { - (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || - PATH_SEPARATOR=';' - } -fi - - -# IFS -# We need space, tab and new line, in precisely that order. Quoting is -# there to prevent editors from complaining about space-tab. -# (If _AS_PATH_WALK were called with IFS unset, it would disable word -# splitting by setting IFS to empty value.) -IFS=" "" $as_nl" - -# Find who we are. Look in the path if we contain no directory separator. -as_myself= -case $0 in #(( - *[\\/]* ) as_myself=$0 ;; - *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break - done -IFS=$as_save_IFS - - ;; -esac -# We did not find ourselves, most probably we were run as `sh COMMAND' -# in which case we are not to be found in the path. -if test "x$as_myself" = x; then - as_myself=$0 -fi -if test ! -f "$as_myself"; then - $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 - exit 1 -fi - -# Unset variables that we do not need and which cause bugs (e.g. in -# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" -# suppresses any "Segmentation fault" message there. '((' could -# trigger a bug in pdksh 5.2.14. -for as_var in BASH_ENV ENV MAIL MAILPATH -do eval test x\${$as_var+set} = xset \ - && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : -done -PS1='$ ' -PS2='> ' -PS4='+ ' - -# NLS nuisances. -LC_ALL=C -export LC_ALL -LANGUAGE=C -export LANGUAGE - -# CDPATH. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH - - -# as_fn_error STATUS ERROR [LINENO LOG_FD] -# ---------------------------------------- -# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are -# provided, also output the error to LOG_FD, referencing LINENO. Then exit the -# script with STATUS, using 1 if that was 0. -as_fn_error () -{ - as_status=$1; test $as_status -eq 0 && as_status=1 - if test "$4"; then - as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 - fi - $as_echo "$as_me: error: $2" >&2 - as_fn_exit $as_status -} # as_fn_error - - -# as_fn_set_status STATUS -# ----------------------- -# Set $? to STATUS, without forking. -as_fn_set_status () -{ - return $1 -} # as_fn_set_status - -# as_fn_exit STATUS -# ----------------- -# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. -as_fn_exit () -{ - set +e - as_fn_set_status $1 - exit $1 -} # as_fn_exit - -# as_fn_unset VAR -# --------------- -# Portably unset VAR. -as_fn_unset () -{ - { eval $1=; unset $1;} -} -as_unset=as_fn_unset -# as_fn_append VAR VALUE -# ---------------------- -# Append the text in VALUE to the end of the definition contained in VAR. Take -# advantage of any shell optimizations that allow amortized linear growth over -# repeated appends, instead of the typical quadratic growth present in naive -# implementations. -if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : - eval 'as_fn_append () - { - eval $1+=\$2 - }' -else - as_fn_append () - { - eval $1=\$$1\$2 - } -fi # as_fn_append - -# as_fn_arith ARG... -# ------------------ -# Perform arithmetic evaluation on the ARGs, and store the result in the -# global $as_val. Take advantage of shells that can avoid forks. The arguments -# must be portable across $(()) and expr. -if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : - eval 'as_fn_arith () - { - as_val=$(( $* )) - }' -else - as_fn_arith () - { - as_val=`expr "$@" || test $? -eq 1` - } -fi # as_fn_arith - - -if expr a : '\(a\)' >/dev/null 2>&1 && - test "X`expr 00001 : '.*\(...\)'`" = X001; then - as_expr=expr -else - as_expr=false -fi - -if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then - as_basename=basename -else - as_basename=false -fi - -if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then - as_dirname=dirname -else - as_dirname=false -fi - -as_me=`$as_basename -- "$0" || -$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ - X"$0" : 'X\(//\)$' \| \ - X"$0" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X/"$0" | - sed '/^.*\/\([^/][^/]*\)\/*$/{ - s//\1/ - q - } - /^X\/\(\/\/\)$/{ - s//\1/ - q - } - /^X\/\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - -# Avoid depending upon Character Ranges. -as_cr_letters='abcdefghijklmnopqrstuvwxyz' -as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' -as_cr_Letters=$as_cr_letters$as_cr_LETTERS -as_cr_digits='0123456789' -as_cr_alnum=$as_cr_Letters$as_cr_digits - -ECHO_C= ECHO_N= ECHO_T= -case `echo -n x` in #((((( --n*) - case `echo 'xy\c'` in - *c*) ECHO_T=' ';; # ECHO_T is single tab character. - xy) ECHO_C='\c';; - *) echo `echo ksh88 bug on AIX 6.1` > /dev/null - ECHO_T=' ';; - esac;; -*) - ECHO_N='-n';; -esac - -rm -f conf$$ conf$$.exe conf$$.file -if test -d conf$$.dir; then - rm -f conf$$.dir/conf$$.file -else - rm -f conf$$.dir - mkdir conf$$.dir 2>/dev/null -fi -if (echo >conf$$.file) 2>/dev/null; then - if ln -s conf$$.file conf$$ 2>/dev/null; then - as_ln_s='ln -s' - # ... but there are two gotchas: - # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. - # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. - # In both cases, we have to default to `cp -pR'. - ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || - as_ln_s='cp -pR' - elif ln conf$$.file conf$$ 2>/dev/null; then - as_ln_s=ln - else - as_ln_s='cp -pR' - fi -else - as_ln_s='cp -pR' -fi -rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file -rmdir conf$$.dir 2>/dev/null - - -# as_fn_mkdir_p -# ------------- -# Create "$as_dir" as a directory, including parents if necessary. -as_fn_mkdir_p () -{ - - case $as_dir in #( - -*) as_dir=./$as_dir;; - esac - test -d "$as_dir" || eval $as_mkdir_p || { - as_dirs= - while :; do - case $as_dir in #( - *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( - *) as_qdir=$as_dir;; - esac - as_dirs="'$as_qdir' $as_dirs" - as_dir=`$as_dirname -- "$as_dir" || -$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$as_dir" : 'X\(//\)[^/]' \| \ - X"$as_dir" : 'X\(//\)$' \| \ - X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$as_dir" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - test -d "$as_dir" && break - done - test -z "$as_dirs" || eval "mkdir $as_dirs" - } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" - - -} # as_fn_mkdir_p -if mkdir -p . 2>/dev/null; then - as_mkdir_p='mkdir -p "$as_dir"' -else - test -d ./-p && rmdir ./-p - as_mkdir_p=false -fi - - -# as_fn_executable_p FILE -# ----------------------- -# Test if FILE is an executable regular file. -as_fn_executable_p () -{ - test -f "$1" && test -x "$1" -} # as_fn_executable_p -as_test_x='test -x' -as_executable_p=as_fn_executable_p - -# Sed expression to map a string onto a valid CPP name. -as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" - -# Sed expression to map a string onto a valid variable name. -as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" - - -exec 6>&1 -## ----------------------------------- ## -## Main body of $CONFIG_STATUS script. ## -## ----------------------------------- ## -_ASEOF -test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1 - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -# Save the log message, to keep $0 and so on meaningful, and to -# report actual input values of CONFIG_FILES etc. instead of their -# values after options handling. -ac_log=" -This file was extended by bluez $as_me 5.4, which was -generated by GNU Autoconf 2.69. Invocation command line was - - CONFIG_FILES = $CONFIG_FILES - CONFIG_HEADERS = $CONFIG_HEADERS - CONFIG_LINKS = $CONFIG_LINKS - CONFIG_COMMANDS = $CONFIG_COMMANDS - $ $0 $@ - -on `(hostname || uname -n) 2>/dev/null | sed 1q` -" - -_ACEOF - -case $ac_config_files in *" -"*) set x $ac_config_files; shift; ac_config_files=$*;; -esac - -case $ac_config_headers in *" -"*) set x $ac_config_headers; shift; ac_config_headers=$*;; -esac - - -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -# Files that config.status was made for. -config_files="$ac_config_files" -config_headers="$ac_config_headers" -config_commands="$ac_config_commands" - -_ACEOF - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -ac_cs_usage="\ -\`$as_me' instantiates files and other configuration actions -from templates according to the current configuration. Unless the files -and actions are specified as TAGs, all are instantiated by default. - -Usage: $0 [OPTION]... [TAG]... - - -h, --help print this help, then exit - -V, --version print version number and configuration settings, then exit - --config print configuration, then exit - -q, --quiet, --silent - do not print progress messages - -d, --debug don't remove temporary files - --recheck update $as_me by reconfiguring in the same conditions - --file=FILE[:TEMPLATE] - instantiate the configuration file FILE - --header=FILE[:TEMPLATE] - instantiate the configuration header FILE - -Configuration files: -$config_files - -Configuration headers: -$config_headers - -Configuration commands: -$config_commands - -Report bugs to the package provider." - -_ACEOF -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" -ac_cs_version="\\ -bluez config.status 5.4 -configured by $0, generated by GNU Autoconf 2.69, - with options \\"\$ac_cs_config\\" - -Copyright (C) 2012 Free Software Foundation, Inc. -This config.status script is free software; the Free Software Foundation -gives unlimited permission to copy, distribute and modify it." - -ac_pwd='$ac_pwd' -srcdir='$srcdir' -INSTALL='$INSTALL' -MKDIR_P='$MKDIR_P' -AWK='$AWK' -test -n "\$AWK" || AWK=awk -_ACEOF - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -# The default lists apply if the user does not specify any file. -ac_need_defaults=: -while test $# != 0 -do - case $1 in - --*=?*) - ac_option=`expr "X$1" : 'X\([^=]*\)='` - ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` - ac_shift=: - ;; - --*=) - ac_option=`expr "X$1" : 'X\([^=]*\)='` - ac_optarg= - ac_shift=: - ;; - *) - ac_option=$1 - ac_optarg=$2 - ac_shift=shift - ;; - esac - - case $ac_option in - # Handling of the options. - -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) - ac_cs_recheck=: ;; - --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) - $as_echo "$ac_cs_version"; exit ;; - --config | --confi | --conf | --con | --co | --c ) - $as_echo "$ac_cs_config"; exit ;; - --debug | --debu | --deb | --de | --d | -d ) - debug=: ;; - --file | --fil | --fi | --f ) - $ac_shift - case $ac_optarg in - *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; - '') as_fn_error $? "missing file argument" ;; - esac - as_fn_append CONFIG_FILES " '$ac_optarg'" - ac_need_defaults=false;; - --header | --heade | --head | --hea ) - $ac_shift - case $ac_optarg in - *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; - esac - as_fn_append CONFIG_HEADERS " '$ac_optarg'" - ac_need_defaults=false;; - --he | --h) - # Conflict between --help and --header - as_fn_error $? "ambiguous option: \`$1' -Try \`$0 --help' for more information.";; - --help | --hel | -h ) - $as_echo "$ac_cs_usage"; exit ;; - -q | -quiet | --quiet | --quie | --qui | --qu | --q \ - | -silent | --silent | --silen | --sile | --sil | --si | --s) - ac_cs_silent=: ;; - - # This is an error. - -*) as_fn_error $? "unrecognized option: \`$1' -Try \`$0 --help' for more information." ;; - - *) as_fn_append ac_config_targets " $1" - ac_need_defaults=false ;; - - esac - shift -done - -ac_configure_extra_args= - -if $ac_cs_silent; then - exec 6>/dev/null - ac_configure_extra_args="$ac_configure_extra_args --silent" -fi - -_ACEOF -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -if \$ac_cs_recheck; then - set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion - shift - \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6 - CONFIG_SHELL='$SHELL' - export CONFIG_SHELL - exec "\$@" -fi - -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -exec 5>>config.log -{ - echo - sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX -## Running $as_me. ## -_ASBOX - $as_echo "$ac_log" -} >&5 - -_ACEOF -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -# -# INIT-COMMANDS -# -AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir" - - -# The HP-UX ksh and POSIX shell print the target directory to stdout -# if CDPATH is set. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH - -sed_quote_subst='$sed_quote_subst' -double_quote_subst='$double_quote_subst' -delay_variable_subst='$delay_variable_subst' -enable_static='`$ECHO "$enable_static" | $SED "$delay_single_quote_subst"`' -macro_version='`$ECHO "$macro_version" | $SED "$delay_single_quote_subst"`' -macro_revision='`$ECHO "$macro_revision" | $SED "$delay_single_quote_subst"`' -enable_shared='`$ECHO "$enable_shared" | $SED "$delay_single_quote_subst"`' -pic_mode='`$ECHO "$pic_mode" | $SED "$delay_single_quote_subst"`' -enable_fast_install='`$ECHO "$enable_fast_install" | $SED "$delay_single_quote_subst"`' -SHELL='`$ECHO "$SHELL" | $SED "$delay_single_quote_subst"`' -ECHO='`$ECHO "$ECHO" | $SED "$delay_single_quote_subst"`' -PATH_SEPARATOR='`$ECHO "$PATH_SEPARATOR" | $SED "$delay_single_quote_subst"`' -host_alias='`$ECHO "$host_alias" | $SED "$delay_single_quote_subst"`' -host='`$ECHO "$host" | $SED "$delay_single_quote_subst"`' -host_os='`$ECHO "$host_os" | $SED "$delay_single_quote_subst"`' -build_alias='`$ECHO "$build_alias" | $SED "$delay_single_quote_subst"`' -build='`$ECHO "$build" | $SED "$delay_single_quote_subst"`' -build_os='`$ECHO "$build_os" | $SED "$delay_single_quote_subst"`' -SED='`$ECHO "$SED" | $SED "$delay_single_quote_subst"`' -Xsed='`$ECHO "$Xsed" | $SED "$delay_single_quote_subst"`' -GREP='`$ECHO "$GREP" | $SED "$delay_single_quote_subst"`' -EGREP='`$ECHO "$EGREP" | $SED "$delay_single_quote_subst"`' -FGREP='`$ECHO "$FGREP" | $SED "$delay_single_quote_subst"`' -LD='`$ECHO "$LD" | $SED "$delay_single_quote_subst"`' -NM='`$ECHO "$NM" | $SED "$delay_single_quote_subst"`' -LN_S='`$ECHO "$LN_S" | $SED "$delay_single_quote_subst"`' -max_cmd_len='`$ECHO "$max_cmd_len" | $SED "$delay_single_quote_subst"`' -ac_objext='`$ECHO "$ac_objext" | $SED "$delay_single_quote_subst"`' -exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`' -lt_unset='`$ECHO "$lt_unset" | $SED "$delay_single_quote_subst"`' -lt_SP2NL='`$ECHO "$lt_SP2NL" | $SED "$delay_single_quote_subst"`' -lt_NL2SP='`$ECHO "$lt_NL2SP" | $SED "$delay_single_quote_subst"`' -lt_cv_to_host_file_cmd='`$ECHO "$lt_cv_to_host_file_cmd" | $SED "$delay_single_quote_subst"`' -lt_cv_to_tool_file_cmd='`$ECHO "$lt_cv_to_tool_file_cmd" | $SED "$delay_single_quote_subst"`' -reload_flag='`$ECHO "$reload_flag" | $SED "$delay_single_quote_subst"`' -reload_cmds='`$ECHO "$reload_cmds" | $SED "$delay_single_quote_subst"`' -OBJDUMP='`$ECHO "$OBJDUMP" | $SED "$delay_single_quote_subst"`' -deplibs_check_method='`$ECHO "$deplibs_check_method" | $SED "$delay_single_quote_subst"`' -file_magic_cmd='`$ECHO "$file_magic_cmd" | $SED "$delay_single_quote_subst"`' -file_magic_glob='`$ECHO "$file_magic_glob" | $SED "$delay_single_quote_subst"`' -want_nocaseglob='`$ECHO "$want_nocaseglob" | $SED "$delay_single_quote_subst"`' -DLLTOOL='`$ECHO "$DLLTOOL" | $SED "$delay_single_quote_subst"`' -sharedlib_from_linklib_cmd='`$ECHO "$sharedlib_from_linklib_cmd" | $SED "$delay_single_quote_subst"`' -AR='`$ECHO "$AR" | $SED "$delay_single_quote_subst"`' -AR_FLAGS='`$ECHO "$AR_FLAGS" | $SED "$delay_single_quote_subst"`' -archiver_list_spec='`$ECHO "$archiver_list_spec" | $SED "$delay_single_quote_subst"`' -STRIP='`$ECHO "$STRIP" | $SED "$delay_single_quote_subst"`' -RANLIB='`$ECHO "$RANLIB" | $SED "$delay_single_quote_subst"`' -old_postinstall_cmds='`$ECHO "$old_postinstall_cmds" | $SED "$delay_single_quote_subst"`' -old_postuninstall_cmds='`$ECHO "$old_postuninstall_cmds" | $SED "$delay_single_quote_subst"`' -old_archive_cmds='`$ECHO "$old_archive_cmds" | $SED "$delay_single_quote_subst"`' -lock_old_archive_extraction='`$ECHO "$lock_old_archive_extraction" | $SED "$delay_single_quote_subst"`' -CC='`$ECHO "$CC" | $SED "$delay_single_quote_subst"`' -CFLAGS='`$ECHO "$CFLAGS" | $SED "$delay_single_quote_subst"`' -compiler='`$ECHO "$compiler" | $SED "$delay_single_quote_subst"`' -GCC='`$ECHO "$GCC" | $SED "$delay_single_quote_subst"`' -lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$delay_single_quote_subst"`' -lt_cv_sys_global_symbol_to_cdecl='`$ECHO "$lt_cv_sys_global_symbol_to_cdecl" | $SED "$delay_single_quote_subst"`' -lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address" | $SED "$delay_single_quote_subst"`' -lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $SED "$delay_single_quote_subst"`' -nm_file_list_spec='`$ECHO "$nm_file_list_spec" | $SED "$delay_single_quote_subst"`' -lt_sysroot='`$ECHO "$lt_sysroot" | $SED "$delay_single_quote_subst"`' -objdir='`$ECHO "$objdir" | $SED "$delay_single_quote_subst"`' -MAGIC_CMD='`$ECHO "$MAGIC_CMD" | $SED "$delay_single_quote_subst"`' -lt_prog_compiler_no_builtin_flag='`$ECHO "$lt_prog_compiler_no_builtin_flag" | $SED "$delay_single_quote_subst"`' -lt_prog_compiler_pic='`$ECHO "$lt_prog_compiler_pic" | $SED "$delay_single_quote_subst"`' -lt_prog_compiler_wl='`$ECHO "$lt_prog_compiler_wl" | $SED "$delay_single_quote_subst"`' -lt_prog_compiler_static='`$ECHO "$lt_prog_compiler_static" | $SED "$delay_single_quote_subst"`' -lt_cv_prog_compiler_c_o='`$ECHO "$lt_cv_prog_compiler_c_o" | $SED "$delay_single_quote_subst"`' -need_locks='`$ECHO "$need_locks" | $SED "$delay_single_quote_subst"`' -MANIFEST_TOOL='`$ECHO "$MANIFEST_TOOL" | $SED "$delay_single_quote_subst"`' -DSYMUTIL='`$ECHO "$DSYMUTIL" | $SED "$delay_single_quote_subst"`' -NMEDIT='`$ECHO "$NMEDIT" | $SED "$delay_single_quote_subst"`' -LIPO='`$ECHO "$LIPO" | $SED "$delay_single_quote_subst"`' -OTOOL='`$ECHO "$OTOOL" | $SED "$delay_single_quote_subst"`' -OTOOL64='`$ECHO "$OTOOL64" | $SED "$delay_single_quote_subst"`' -libext='`$ECHO "$libext" | $SED "$delay_single_quote_subst"`' -shrext_cmds='`$ECHO "$shrext_cmds" | $SED "$delay_single_quote_subst"`' -extract_expsyms_cmds='`$ECHO "$extract_expsyms_cmds" | $SED "$delay_single_quote_subst"`' -archive_cmds_need_lc='`$ECHO "$archive_cmds_need_lc" | $SED "$delay_single_quote_subst"`' -enable_shared_with_static_runtimes='`$ECHO "$enable_shared_with_static_runtimes" | $SED "$delay_single_quote_subst"`' -export_dynamic_flag_spec='`$ECHO "$export_dynamic_flag_spec" | $SED "$delay_single_quote_subst"`' -whole_archive_flag_spec='`$ECHO "$whole_archive_flag_spec" | $SED "$delay_single_quote_subst"`' -compiler_needs_object='`$ECHO "$compiler_needs_object" | $SED "$delay_single_quote_subst"`' -old_archive_from_new_cmds='`$ECHO "$old_archive_from_new_cmds" | $SED "$delay_single_quote_subst"`' -old_archive_from_expsyms_cmds='`$ECHO "$old_archive_from_expsyms_cmds" | $SED "$delay_single_quote_subst"`' -archive_cmds='`$ECHO "$archive_cmds" | $SED "$delay_single_quote_subst"`' -archive_expsym_cmds='`$ECHO "$archive_expsym_cmds" | $SED "$delay_single_quote_subst"`' -module_cmds='`$ECHO "$module_cmds" | $SED "$delay_single_quote_subst"`' -module_expsym_cmds='`$ECHO "$module_expsym_cmds" | $SED "$delay_single_quote_subst"`' -with_gnu_ld='`$ECHO "$with_gnu_ld" | $SED "$delay_single_quote_subst"`' -allow_undefined_flag='`$ECHO "$allow_undefined_flag" | $SED "$delay_single_quote_subst"`' -no_undefined_flag='`$ECHO "$no_undefined_flag" | $SED "$delay_single_quote_subst"`' -hardcode_libdir_flag_spec='`$ECHO "$hardcode_libdir_flag_spec" | $SED "$delay_single_quote_subst"`' -hardcode_libdir_separator='`$ECHO "$hardcode_libdir_separator" | $SED "$delay_single_quote_subst"`' -hardcode_direct='`$ECHO "$hardcode_direct" | $SED "$delay_single_quote_subst"`' -hardcode_direct_absolute='`$ECHO "$hardcode_direct_absolute" | $SED "$delay_single_quote_subst"`' -hardcode_minus_L='`$ECHO "$hardcode_minus_L" | $SED "$delay_single_quote_subst"`' -hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_quote_subst"`' -hardcode_automatic='`$ECHO "$hardcode_automatic" | $SED "$delay_single_quote_subst"`' -inherit_rpath='`$ECHO "$inherit_rpath" | $SED "$delay_single_quote_subst"`' -link_all_deplibs='`$ECHO "$link_all_deplibs" | $SED "$delay_single_quote_subst"`' -always_export_symbols='`$ECHO "$always_export_symbols" | $SED "$delay_single_quote_subst"`' -export_symbols_cmds='`$ECHO "$export_symbols_cmds" | $SED "$delay_single_quote_subst"`' -exclude_expsyms='`$ECHO "$exclude_expsyms" | $SED "$delay_single_quote_subst"`' -include_expsyms='`$ECHO "$include_expsyms" | $SED "$delay_single_quote_subst"`' -prelink_cmds='`$ECHO "$prelink_cmds" | $SED "$delay_single_quote_subst"`' -postlink_cmds='`$ECHO "$postlink_cmds" | $SED "$delay_single_quote_subst"`' -file_list_spec='`$ECHO "$file_list_spec" | $SED "$delay_single_quote_subst"`' -variables_saved_for_relink='`$ECHO "$variables_saved_for_relink" | $SED "$delay_single_quote_subst"`' -need_lib_prefix='`$ECHO "$need_lib_prefix" | $SED "$delay_single_quote_subst"`' -need_version='`$ECHO "$need_version" | $SED "$delay_single_quote_subst"`' -version_type='`$ECHO "$version_type" | $SED "$delay_single_quote_subst"`' -runpath_var='`$ECHO "$runpath_var" | $SED "$delay_single_quote_subst"`' -shlibpath_var='`$ECHO "$shlibpath_var" | $SED "$delay_single_quote_subst"`' -shlibpath_overrides_runpath='`$ECHO "$shlibpath_overrides_runpath" | $SED "$delay_single_quote_subst"`' -libname_spec='`$ECHO "$libname_spec" | $SED "$delay_single_quote_subst"`' -library_names_spec='`$ECHO "$library_names_spec" | $SED "$delay_single_quote_subst"`' -soname_spec='`$ECHO "$soname_spec" | $SED "$delay_single_quote_subst"`' -install_override_mode='`$ECHO "$install_override_mode" | $SED "$delay_single_quote_subst"`' -postinstall_cmds='`$ECHO "$postinstall_cmds" | $SED "$delay_single_quote_subst"`' -postuninstall_cmds='`$ECHO "$postuninstall_cmds" | $SED "$delay_single_quote_subst"`' -finish_cmds='`$ECHO "$finish_cmds" | $SED "$delay_single_quote_subst"`' -finish_eval='`$ECHO "$finish_eval" | $SED "$delay_single_quote_subst"`' -hardcode_into_libs='`$ECHO "$hardcode_into_libs" | $SED "$delay_single_quote_subst"`' -sys_lib_search_path_spec='`$ECHO "$sys_lib_search_path_spec" | $SED "$delay_single_quote_subst"`' -sys_lib_dlsearch_path_spec='`$ECHO "$sys_lib_dlsearch_path_spec" | $SED "$delay_single_quote_subst"`' -hardcode_action='`$ECHO "$hardcode_action" | $SED "$delay_single_quote_subst"`' -enable_dlopen='`$ECHO "$enable_dlopen" | $SED "$delay_single_quote_subst"`' -enable_dlopen_self='`$ECHO "$enable_dlopen_self" | $SED "$delay_single_quote_subst"`' -enable_dlopen_self_static='`$ECHO "$enable_dlopen_self_static" | $SED "$delay_single_quote_subst"`' -old_striplib='`$ECHO "$old_striplib" | $SED "$delay_single_quote_subst"`' -striplib='`$ECHO "$striplib" | $SED "$delay_single_quote_subst"`' - -LTCC='$LTCC' -LTCFLAGS='$LTCFLAGS' -compiler='$compiler_DEFAULT' - -# A function that is used when there is no print builtin or printf. -func_fallback_echo () -{ - eval 'cat <<_LTECHO_EOF -\$1 -_LTECHO_EOF' -} - -# Quote evaled strings. -for var in SHELL \ -ECHO \ -PATH_SEPARATOR \ -SED \ -GREP \ -EGREP \ -FGREP \ -LD \ -NM \ -LN_S \ -lt_SP2NL \ -lt_NL2SP \ -reload_flag \ -OBJDUMP \ -deplibs_check_method \ -file_magic_cmd \ -file_magic_glob \ -want_nocaseglob \ -DLLTOOL \ -sharedlib_from_linklib_cmd \ -AR \ -AR_FLAGS \ -archiver_list_spec \ -STRIP \ -RANLIB \ -CC \ -CFLAGS \ -compiler \ -lt_cv_sys_global_symbol_pipe \ -lt_cv_sys_global_symbol_to_cdecl \ -lt_cv_sys_global_symbol_to_c_name_address \ -lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \ -nm_file_list_spec \ -lt_prog_compiler_no_builtin_flag \ -lt_prog_compiler_pic \ -lt_prog_compiler_wl \ -lt_prog_compiler_static \ -lt_cv_prog_compiler_c_o \ -need_locks \ -MANIFEST_TOOL \ -DSYMUTIL \ -NMEDIT \ -LIPO \ -OTOOL \ -OTOOL64 \ -shrext_cmds \ -export_dynamic_flag_spec \ -whole_archive_flag_spec \ -compiler_needs_object \ -with_gnu_ld \ -allow_undefined_flag \ -no_undefined_flag \ -hardcode_libdir_flag_spec \ -hardcode_libdir_separator \ -exclude_expsyms \ -include_expsyms \ -file_list_spec \ -variables_saved_for_relink \ -libname_spec \ -library_names_spec \ -soname_spec \ -install_override_mode \ -finish_eval \ -old_striplib \ -striplib; do - case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in - *[\\\\\\\`\\"\\\$]*) - eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" - ;; - *) - eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" - ;; - esac -done - -# Double-quote double-evaled strings. -for var in reload_cmds \ -old_postinstall_cmds \ -old_postuninstall_cmds \ -old_archive_cmds \ -extract_expsyms_cmds \ -old_archive_from_new_cmds \ -old_archive_from_expsyms_cmds \ -archive_cmds \ -archive_expsym_cmds \ -module_cmds \ -module_expsym_cmds \ -export_symbols_cmds \ -prelink_cmds \ -postlink_cmds \ -postinstall_cmds \ -postuninstall_cmds \ -finish_cmds \ -sys_lib_search_path_spec \ -sys_lib_dlsearch_path_spec; do - case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in - *[\\\\\\\`\\"\\\$]*) - eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" - ;; - *) - eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" - ;; - esac -done - -ac_aux_dir='$ac_aux_dir' -xsi_shell='$xsi_shell' -lt_shell_append='$lt_shell_append' - -# See if we are running on zsh, and set the options which allow our -# commands through without removal of \ escapes INIT. -if test -n "\${ZSH_VERSION+set}" ; then - setopt NO_GLOB_SUBST -fi - - - PACKAGE='$PACKAGE' - VERSION='$VERSION' - TIMESTAMP='$TIMESTAMP' - RM='$RM' - ofile='$ofile' - - - - -_ACEOF - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 - -# Handling of arguments. -for ac_config_target in $ac_config_targets -do - case $ac_config_target in - "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;; - "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; - "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;; - "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; - "src/bluetoothd.8") CONFIG_FILES="$CONFIG_FILES src/bluetoothd.8" ;; - "lib/bluez.pc") CONFIG_FILES="$CONFIG_FILES lib/bluez.pc" ;; - - *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;; - esac -done - - -# If the user did not use the arguments to specify the items to instantiate, -# then the envvar interface is used. Set only those that are not. -# We use the long form for the default assignment because of an extremely -# bizarre bug on SunOS 4.1.3. -if $ac_need_defaults; then - test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files - test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers - test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands -fi - -# Have a temporary directory for convenience. Make it in the build tree -# simply because there is no reason against having it here, and in addition, -# creating and moving files from /tmp can sometimes cause problems. -# Hook for its removal unless debugging. -# Note that there is a small window in which the directory will not be cleaned: -# after its creation but before its name has been assigned to `$tmp'. -$debug || -{ - tmp= ac_tmp= - trap 'exit_status=$? - : "${ac_tmp:=$tmp}" - { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status -' 0 - trap 'as_fn_exit 1' 1 2 13 15 -} -# Create a (secure) tmp directory for tmp files. - -{ - tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && - test -d "$tmp" -} || -{ - tmp=./conf$$-$RANDOM - (umask 077 && mkdir "$tmp") -} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5 -ac_tmp=$tmp - -# Set up the scripts for CONFIG_FILES section. -# No need to generate them if there are no CONFIG_FILES. -# This happens for instance with `./config.status config.h'. -if test -n "$CONFIG_FILES"; then - - -ac_cr=`echo X | tr X '\015'` -# On cygwin, bash can eat \r inside `` if the user requested igncr. -# But we know of no other shell where ac_cr would be empty at this -# point, so we can use a bashism as a fallback. -if test "x$ac_cr" = x; then - eval ac_cr=\$\'\\r\' -fi -ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' /dev/null` -if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then - ac_cs_awk_cr='\\r' -else - ac_cs_awk_cr=$ac_cr -fi - -echo 'BEGIN {' >"$ac_tmp/subs1.awk" && -_ACEOF - - -{ - echo "cat >conf$$subs.awk <<_ACEOF" && - echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && - echo "_ACEOF" -} >conf$$subs.sh || - as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 -ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'` -ac_delim='%!_!# ' -for ac_last_try in false false false false false :; do - . ./conf$$subs.sh || - as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 - - ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` - if test $ac_delim_n = $ac_delim_num; then - break - elif $ac_last_try; then - as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 - else - ac_delim="$ac_delim!$ac_delim _$ac_delim!! " - fi -done -rm -f conf$$subs.sh - -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK && -_ACEOF -sed -n ' -h -s/^/S["/; s/!.*/"]=/ -p -g -s/^[^!]*!// -:repl -t repl -s/'"$ac_delim"'$// -t delim -:nl -h -s/\(.\{148\}\)..*/\1/ -t more1 -s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/ -p -n -b repl -:more1 -s/["\\]/\\&/g; s/^/"/; s/$/"\\/ -p -g -s/.\{148\}// -t nl -:delim -h -s/\(.\{148\}\)..*/\1/ -t more2 -s/["\\]/\\&/g; s/^/"/; s/$/"/ -p -b -:more2 -s/["\\]/\\&/g; s/^/"/; s/$/"\\/ -p -g -s/.\{148\}// -t delim -' >$CONFIG_STATUS || ac_write_fail=1 -rm -f conf$$subs.awk -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -_ACAWK -cat >>"\$ac_tmp/subs1.awk" <<_ACAWK && - for (key in S) S_is_set[key] = 1 - FS = "" - -} -{ - line = $ 0 - nfields = split(line, field, "@") - substed = 0 - len = length(field[1]) - for (i = 2; i < nfields; i++) { - key = field[i] - keylen = length(key) - if (S_is_set[key]) { - value = S[key] - line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3) - len += length(value) + length(field[++i]) - substed = 1 - } else - len += 1 + keylen - } - - print line -} - -_ACAWK -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then - sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g" -else - cat -fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \ - || as_fn_error $? "could not setup config files machinery" "$LINENO" 5 -_ACEOF - -# VPATH may cause trouble with some makes, so we remove sole $(srcdir), -# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and -# trailing colons and then remove the whole line if VPATH becomes empty -# (actually we leave an empty line to preserve line numbers). -if test "x$srcdir" = x.; then - ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{ -h -s/// -s/^/:/ -s/[ ]*$/:/ -s/:\$(srcdir):/:/g -s/:\${srcdir}:/:/g -s/:@srcdir@:/:/g -s/^:*// -s/:*$// -x -s/\(=[ ]*\).*/\1/ -G -s/\n// -s/^[^=]*=[ ]*$// -}' -fi - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -fi # test -n "$CONFIG_FILES" - -# Set up the scripts for CONFIG_HEADERS section. -# No need to generate them if there are no CONFIG_HEADERS. -# This happens for instance with `./config.status Makefile'. -if test -n "$CONFIG_HEADERS"; then -cat >"$ac_tmp/defines.awk" <<\_ACAWK || -BEGIN { -_ACEOF - -# Transform confdefs.h into an awk script `defines.awk', embedded as -# here-document in config.status, that substitutes the proper values into -# config.h.in to produce config.h. - -# Create a delimiter string that does not exist in confdefs.h, to ease -# handling of long lines. -ac_delim='%!_!# ' -for ac_last_try in false false :; do - ac_tt=`sed -n "/$ac_delim/p" confdefs.h` - if test -z "$ac_tt"; then - break - elif $ac_last_try; then - as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5 - else - ac_delim="$ac_delim!$ac_delim _$ac_delim!! " - fi -done - -# For the awk script, D is an array of macro values keyed by name, -# likewise P contains macro parameters if any. Preserve backslash -# newline sequences. - -ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]* -sed -n ' -s/.\{148\}/&'"$ac_delim"'/g -t rset -:rset -s/^[ ]*#[ ]*define[ ][ ]*/ / -t def -d -:def -s/\\$// -t bsnl -s/["\\]/\\&/g -s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ -D["\1"]=" \3"/p -s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2"/p -d -:bsnl -s/["\\]/\\&/g -s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ -D["\1"]=" \3\\\\\\n"\\/p -t cont -s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p -t cont -d -:cont -n -s/.\{148\}/&'"$ac_delim"'/g -t clear -:clear -s/\\$// -t bsnlc -s/["\\]/\\&/g; s/^/"/; s/$/"/p -d -:bsnlc -s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p -b cont -' >$CONFIG_STATUS || ac_write_fail=1 - -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 - for (key in D) D_is_set[key] = 1 - FS = "" -} -/^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ { - line = \$ 0 - split(line, arg, " ") - if (arg[1] == "#") { - defundef = arg[2] - mac1 = arg[3] - } else { - defundef = substr(arg[1], 2) - mac1 = arg[2] - } - split(mac1, mac2, "(") #) - macro = mac2[1] - prefix = substr(line, 1, index(line, defundef) - 1) - if (D_is_set[macro]) { - # Preserve the white space surrounding the "#". - print prefix "define", macro P[macro] D[macro] - next - } else { - # Replace #undef with comments. This is necessary, for example, - # in the case of _POSIX_SOURCE, which is predefined and required - # on some systems where configure will not decide to define it. - if (defundef == "undef") { - print "/*", prefix defundef, macro, "*/" - next - } - } -} -{ print } -_ACAWK -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 - as_fn_error $? "could not setup config headers machinery" "$LINENO" 5 -fi # test -n "$CONFIG_HEADERS" - - -eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS" -shift -for ac_tag -do - case $ac_tag in - :[FHLC]) ac_mode=$ac_tag; continue;; - esac - case $ac_mode$ac_tag in - :[FHL]*:*);; - :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;; - :[FH]-) ac_tag=-:-;; - :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; - esac - ac_save_IFS=$IFS - IFS=: - set x $ac_tag - IFS=$ac_save_IFS - shift - ac_file=$1 - shift - - case $ac_mode in - :L) ac_source=$1;; - :[FH]) - ac_file_inputs= - for ac_f - do - case $ac_f in - -) ac_f="$ac_tmp/stdin";; - *) # Look for the file first in the build tree, then in the source tree - # (if the path is not absolute). The absolute path cannot be DOS-style, - # because $ac_f cannot contain `:'. - test -f "$ac_f" || - case $ac_f in - [\\/$]*) false;; - *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; - esac || - as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;; - esac - case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac - as_fn_append ac_file_inputs " '$ac_f'" - done - - # Let's still pretend it is `configure' which instantiates (i.e., don't - # use $as_me), people would be surprised to read: - # /* config.h. Generated by config.status. */ - configure_input='Generated from '` - $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' - `' by configure.' - if test x"$ac_file" != x-; then - configure_input="$ac_file. $configure_input" - { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 -$as_echo "$as_me: creating $ac_file" >&6;} - fi - # Neutralize special characters interpreted by sed in replacement strings. - case $configure_input in #( - *\&* | *\|* | *\\* ) - ac_sed_conf_input=`$as_echo "$configure_input" | - sed 's/[\\\\&|]/\\\\&/g'`;; #( - *) ac_sed_conf_input=$configure_input;; - esac - - case $ac_tag in - *:-:* | *:-) cat >"$ac_tmp/stdin" \ - || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; - esac - ;; - esac - - ac_dir=`$as_dirname -- "$ac_file" || -$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$ac_file" : 'X\(//\)[^/]' \| \ - X"$ac_file" : 'X\(//\)$' \| \ - X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$ac_file" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - as_dir="$ac_dir"; as_fn_mkdir_p - ac_builddir=. - -case "$ac_dir" in -.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; -*) - ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` - # A ".." for each directory in $ac_dir_suffix. - ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` - case $ac_top_builddir_sub in - "") ac_top_builddir_sub=. ac_top_build_prefix= ;; - *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; - esac ;; -esac -ac_abs_top_builddir=$ac_pwd -ac_abs_builddir=$ac_pwd$ac_dir_suffix -# for backward compatibility: -ac_top_builddir=$ac_top_build_prefix - -case $srcdir in - .) # We are building in place. - ac_srcdir=. - ac_top_srcdir=$ac_top_builddir_sub - ac_abs_top_srcdir=$ac_pwd ;; - [\\/]* | ?:[\\/]* ) # Absolute name. - ac_srcdir=$srcdir$ac_dir_suffix; - ac_top_srcdir=$srcdir - ac_abs_top_srcdir=$srcdir ;; - *) # Relative name. - ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix - ac_top_srcdir=$ac_top_build_prefix$srcdir - ac_abs_top_srcdir=$ac_pwd/$srcdir ;; -esac -ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix - - - case $ac_mode in - :F) - # - # CONFIG_FILE - # - - case $INSTALL in - [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; - *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; - esac - ac_MKDIR_P=$MKDIR_P - case $MKDIR_P in - [\\/$]* | ?:[\\/]* ) ;; - */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;; - esac -_ACEOF - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -# If the template does not know about datarootdir, expand it. -# FIXME: This hack should be removed a few years after 2.60. -ac_datarootdir_hack=; ac_datarootdir_seen= -ac_sed_dataroot=' -/datarootdir/ { - p - q -} -/@datadir@/p -/@docdir@/p -/@infodir@/p -/@localedir@/p -/@mandir@/p' -case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in -*datarootdir*) ac_datarootdir_seen=yes;; -*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 -$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} -_ACEOF -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 - ac_datarootdir_hack=' - s&@datadir@&$datadir&g - s&@docdir@&$docdir&g - s&@infodir@&$infodir&g - s&@localedir@&$localedir&g - s&@mandir@&$mandir&g - s&\\\${datarootdir}&$datarootdir&g' ;; -esac -_ACEOF - -# Neutralize VPATH when `$srcdir' = `.'. -# Shell code in configure.ac might set extrasub. -# FIXME: do we really want to maintain this feature? -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -ac_sed_extra="$ac_vpsub -$extrasub -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -:t -/@[a-zA-Z_][a-zA-Z_0-9]*@/!b -s|@configure_input@|$ac_sed_conf_input|;t t -s&@top_builddir@&$ac_top_builddir_sub&;t t -s&@top_build_prefix@&$ac_top_build_prefix&;t t -s&@srcdir@&$ac_srcdir&;t t -s&@abs_srcdir@&$ac_abs_srcdir&;t t -s&@top_srcdir@&$ac_top_srcdir&;t t -s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t -s&@builddir@&$ac_builddir&;t t -s&@abs_builddir@&$ac_abs_builddir&;t t -s&@abs_top_builddir@&$ac_abs_top_builddir&;t t -s&@INSTALL@&$ac_INSTALL&;t t -s&@MKDIR_P@&$ac_MKDIR_P&;t t -$ac_datarootdir_hack -" -eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \ - >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5 - -test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && - { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } && - { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \ - "$ac_tmp/out"`; test -z "$ac_out"; } && - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' -which seems to be undefined. Please make sure it is defined" >&5 -$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' -which seems to be undefined. Please make sure it is defined" >&2;} - - rm -f "$ac_tmp/stdin" - case $ac_file in - -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";; - *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";; - esac \ - || as_fn_error $? "could not create $ac_file" "$LINENO" 5 - ;; - :H) - # - # CONFIG_HEADER - # - if test x"$ac_file" != x-; then - { - $as_echo "/* $configure_input */" \ - && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" - } >"$ac_tmp/config.h" \ - || as_fn_error $? "could not create $ac_file" "$LINENO" 5 - if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then - { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5 -$as_echo "$as_me: $ac_file is unchanged" >&6;} - else - rm -f "$ac_file" - mv "$ac_tmp/config.h" "$ac_file" \ - || as_fn_error $? "could not create $ac_file" "$LINENO" 5 - fi - else - $as_echo "/* $configure_input */" \ - && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \ - || as_fn_error $? "could not create -" "$LINENO" 5 - fi -# Compute "$ac_file"'s index in $config_headers. -_am_arg="$ac_file" -_am_stamp_count=1 -for _am_header in $config_headers :; do - case $_am_header in - $_am_arg | $_am_arg:* ) - break ;; - * ) - _am_stamp_count=`expr $_am_stamp_count + 1` ;; - esac -done -echo "timestamp for $_am_arg" >`$as_dirname -- "$_am_arg" || -$as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$_am_arg" : 'X\(//\)[^/]' \| \ - X"$_am_arg" : 'X\(//\)$' \| \ - X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$_am_arg" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'`/stamp-h$_am_stamp_count - ;; - - :C) { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5 -$as_echo "$as_me: executing $ac_file commands" >&6;} - ;; - esac - - - case $ac_file$ac_mode in - "depfiles":C) test x"$AMDEP_TRUE" != x"" || { - # Autoconf 2.62 quotes --file arguments for eval, but not when files - # are listed without --file. Let's play safe and only enable the eval - # if we detect the quoting. - case $CONFIG_FILES in - *\'*) eval set x "$CONFIG_FILES" ;; - *) set x $CONFIG_FILES ;; - esac - shift - for mf - do - # Strip MF so we end up with the name of the file. - mf=`echo "$mf" | sed -e 's/:.*$//'` - # Check whether this is an Automake generated Makefile or not. - # We used to match only the files named `Makefile.in', but - # some people rename them; so instead we look at the file content. - # Grep'ing the first line is not enough: some people post-process - # each Makefile.in and add a new line on top of each file to say so. - # Grep'ing the whole file is not good either: AIX grep has a line - # limit of 2048, but all sed's we know have understand at least 4000. - if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then - dirpart=`$as_dirname -- "$mf" || -$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$mf" : 'X\(//\)[^/]' \| \ - X"$mf" : 'X\(//\)$' \| \ - X"$mf" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$mf" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - else - continue - fi - # Extract the definition of DEPDIR, am__include, and am__quote - # from the Makefile without running `make'. - DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` - test -z "$DEPDIR" && continue - am__include=`sed -n 's/^am__include = //p' < "$mf"` - test -z "am__include" && continue - am__quote=`sed -n 's/^am__quote = //p' < "$mf"` - # When using ansi2knr, U may be empty or an underscore; expand it - U=`sed -n 's/^U = //p' < "$mf"` - # Find all dependency output files, they are included files with - # $(DEPDIR) in their names. We invoke sed twice because it is the - # simplest approach to changing $(DEPDIR) to its actual value in the - # expansion. - for file in `sed -n " - s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ - sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do - # Make sure the directory exists. - test -f "$dirpart/$file" && continue - fdir=`$as_dirname -- "$file" || -$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$file" : 'X\(//\)[^/]' \| \ - X"$file" : 'X\(//\)$' \| \ - X"$file" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$file" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - as_dir=$dirpart/$fdir; as_fn_mkdir_p - # echo "creating $dirpart/$file" - echo '# dummy' > "$dirpart/$file" - done - done -} - ;; - "libtool":C) - - # See if we are running on zsh, and set the options which allow our - # commands through without removal of \ escapes. - if test -n "${ZSH_VERSION+set}" ; then - setopt NO_GLOB_SUBST - fi - - cfgfile="${ofile}T" - trap "$RM \"$cfgfile\"; exit 1" 1 2 15 - $RM "$cfgfile" - - cat <<_LT_EOF >> "$cfgfile" -#! $SHELL - -# `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services. -# Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION -# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: -# NOTE: Changes made to this file will be lost: look at ltmain.sh. -# -# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, -# 2006, 2007, 2008, 2009, 2010, 2011 Free Software -# Foundation, Inc. -# Written by Gordon Matzigkeit, 1996 -# -# This file is part of GNU Libtool. -# -# GNU Libtool is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License as -# published by the Free Software Foundation; either version 2 of -# the License, or (at your option) any later version. -# -# As a special exception to the GNU General Public License, -# if you distribute this file as part of a program or library that -# is built using GNU Libtool, you may include this file under the -# same distribution terms that you use for the rest of that program. -# -# GNU Libtool is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with GNU Libtool; see the file COPYING. If not, a copy -# can be downloaded from http://www.gnu.org/licenses/gpl.html, or -# obtained by writing to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - - -# The names of the tagged configurations supported by this script. -available_tags="" - -# ### BEGIN LIBTOOL CONFIG - -# Whether or not to build static libraries. -build_old_libs=$enable_static - -# Which release of libtool.m4 was used? -macro_version=$macro_version -macro_revision=$macro_revision - -# Whether or not to build shared libraries. -build_libtool_libs=$enable_shared - -# What type of objects to build. -pic_mode=$pic_mode - -# Whether or not to optimize for fast installation. -fast_install=$enable_fast_install - -# Shell to use when invoking shell scripts. -SHELL=$lt_SHELL - -# An echo program that protects backslashes. -ECHO=$lt_ECHO - -# The PATH separator for the build system. -PATH_SEPARATOR=$lt_PATH_SEPARATOR - -# The host system. -host_alias=$host_alias -host=$host -host_os=$host_os - -# The build system. -build_alias=$build_alias -build=$build -build_os=$build_os - -# A sed program that does not truncate output. -SED=$lt_SED - -# Sed that helps us avoid accidentally triggering echo(1) options like -n. -Xsed="\$SED -e 1s/^X//" - -# A grep program that handles long lines. -GREP=$lt_GREP - -# An ERE matcher. -EGREP=$lt_EGREP - -# A literal string matcher. -FGREP=$lt_FGREP - -# A BSD- or MS-compatible name lister. -NM=$lt_NM - -# Whether we need soft or hard links. -LN_S=$lt_LN_S - -# What is the maximum length of a command? -max_cmd_len=$max_cmd_len - -# Object file suffix (normally "o"). -objext=$ac_objext - -# Executable file suffix (normally ""). -exeext=$exeext - -# whether the shell understands "unset". -lt_unset=$lt_unset - -# turn spaces into newlines. -SP2NL=$lt_lt_SP2NL - -# turn newlines into spaces. -NL2SP=$lt_lt_NL2SP - -# convert \$build file names to \$host format. -to_host_file_cmd=$lt_cv_to_host_file_cmd - -# convert \$build files to toolchain format. -to_tool_file_cmd=$lt_cv_to_tool_file_cmd - -# An object symbol dumper. -OBJDUMP=$lt_OBJDUMP - -# Method to check whether dependent libraries are shared objects. -deplibs_check_method=$lt_deplibs_check_method - -# Command to use when deplibs_check_method = "file_magic". -file_magic_cmd=$lt_file_magic_cmd - -# How to find potential files when deplibs_check_method = "file_magic". -file_magic_glob=$lt_file_magic_glob - -# Find potential files using nocaseglob when deplibs_check_method = "file_magic". -want_nocaseglob=$lt_want_nocaseglob - -# DLL creation program. -DLLTOOL=$lt_DLLTOOL - -# Command to associate shared and link libraries. -sharedlib_from_linklib_cmd=$lt_sharedlib_from_linklib_cmd - -# The archiver. -AR=$lt_AR - -# Flags to create an archive. -AR_FLAGS=$lt_AR_FLAGS - -# How to feed a file listing to the archiver. -archiver_list_spec=$lt_archiver_list_spec - -# A symbol stripping program. -STRIP=$lt_STRIP - -# Commands used to install an old-style archive. -RANLIB=$lt_RANLIB -old_postinstall_cmds=$lt_old_postinstall_cmds -old_postuninstall_cmds=$lt_old_postuninstall_cmds - -# Whether to use a lock for old archive extraction. -lock_old_archive_extraction=$lock_old_archive_extraction - -# A C compiler. -LTCC=$lt_CC - -# LTCC compiler flags. -LTCFLAGS=$lt_CFLAGS - -# Take the output of nm and produce a listing of raw symbols and C names. -global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe - -# Transform the output of nm in a proper C declaration. -global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl - -# Transform the output of nm in a C name address pair. -global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address - -# Transform the output of nm in a C name address pair when lib prefix is needed. -global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix - -# Specify filename containing input files for \$NM. -nm_file_list_spec=$lt_nm_file_list_spec - -# The root where to search for dependent libraries,and in which our libraries should be installed. -lt_sysroot=$lt_sysroot - -# The name of the directory that contains temporary libtool files. -objdir=$objdir - -# Used to examine libraries when file_magic_cmd begins with "file". -MAGIC_CMD=$MAGIC_CMD - -# Must we lock files when doing compilation? -need_locks=$lt_need_locks - -# Manifest tool. -MANIFEST_TOOL=$lt_MANIFEST_TOOL - -# Tool to manipulate archived DWARF debug symbol files on Mac OS X. -DSYMUTIL=$lt_DSYMUTIL - -# Tool to change global to local symbols on Mac OS X. -NMEDIT=$lt_NMEDIT - -# Tool to manipulate fat objects and archives on Mac OS X. -LIPO=$lt_LIPO - -# ldd/readelf like tool for Mach-O binaries on Mac OS X. -OTOOL=$lt_OTOOL - -# ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4. -OTOOL64=$lt_OTOOL64 - -# Old archive suffix (normally "a"). -libext=$libext - -# Shared library suffix (normally ".so"). -shrext_cmds=$lt_shrext_cmds - -# The commands to extract the exported symbol list from a shared archive. -extract_expsyms_cmds=$lt_extract_expsyms_cmds - -# Variables whose values should be saved in libtool wrapper scripts and -# restored at link time. -variables_saved_for_relink=$lt_variables_saved_for_relink - -# Do we need the "lib" prefix for modules? -need_lib_prefix=$need_lib_prefix - -# Do we need a version for libraries? -need_version=$need_version - -# Library versioning type. -version_type=$version_type - -# Shared library runtime path variable. -runpath_var=$runpath_var - -# Shared library path variable. -shlibpath_var=$shlibpath_var - -# Is shlibpath searched before the hard-coded library search path? -shlibpath_overrides_runpath=$shlibpath_overrides_runpath - -# Format of library name prefix. -libname_spec=$lt_libname_spec - -# List of archive names. First name is the real one, the rest are links. -# The last name is the one that the linker finds with -lNAME -library_names_spec=$lt_library_names_spec - -# The coded name of the library, if different from the real name. -soname_spec=$lt_soname_spec - -# Permission mode override for installation of shared libraries. -install_override_mode=$lt_install_override_mode - -# Command to use after installation of a shared archive. -postinstall_cmds=$lt_postinstall_cmds - -# Command to use after uninstallation of a shared archive. -postuninstall_cmds=$lt_postuninstall_cmds - -# Commands used to finish a libtool library installation in a directory. -finish_cmds=$lt_finish_cmds - -# As "finish_cmds", except a single script fragment to be evaled but -# not shown. -finish_eval=$lt_finish_eval - -# Whether we should hardcode library paths into libraries. -hardcode_into_libs=$hardcode_into_libs - -# Compile-time system search path for libraries. -sys_lib_search_path_spec=$lt_sys_lib_search_path_spec - -# Run-time system search path for libraries. -sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec - -# Whether dlopen is supported. -dlopen_support=$enable_dlopen - -# Whether dlopen of programs is supported. -dlopen_self=$enable_dlopen_self - -# Whether dlopen of statically linked programs is supported. -dlopen_self_static=$enable_dlopen_self_static - -# Commands to strip libraries. -old_striplib=$lt_old_striplib -striplib=$lt_striplib - - -# The linker used to build libraries. -LD=$lt_LD - -# How to create reloadable object files. -reload_flag=$lt_reload_flag -reload_cmds=$lt_reload_cmds - -# Commands used to build an old-style archive. -old_archive_cmds=$lt_old_archive_cmds - -# A language specific compiler. -CC=$lt_compiler - -# Is the compiler the GNU compiler? -with_gcc=$GCC - -# Compiler flag to turn off builtin functions. -no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag - -# Additional compiler flags for building library objects. -pic_flag=$lt_lt_prog_compiler_pic - -# How to pass a linker flag through the compiler. -wl=$lt_lt_prog_compiler_wl - -# Compiler flag to prevent dynamic linking. -link_static_flag=$lt_lt_prog_compiler_static - -# Does compiler simultaneously support -c and -o options? -compiler_c_o=$lt_lt_cv_prog_compiler_c_o - -# Whether or not to add -lc for building shared libraries. -build_libtool_need_lc=$archive_cmds_need_lc - -# Whether or not to disallow shared libs when runtime libs are static. -allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes - -# Compiler flag to allow reflexive dlopens. -export_dynamic_flag_spec=$lt_export_dynamic_flag_spec - -# Compiler flag to generate shared objects directly from archives. -whole_archive_flag_spec=$lt_whole_archive_flag_spec - -# Whether the compiler copes with passing no objects directly. -compiler_needs_object=$lt_compiler_needs_object - -# Create an old-style archive from a shared archive. -old_archive_from_new_cmds=$lt_old_archive_from_new_cmds - -# Create a temporary old-style archive to link instead of a shared archive. -old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds - -# Commands used to build a shared archive. -archive_cmds=$lt_archive_cmds -archive_expsym_cmds=$lt_archive_expsym_cmds - -# Commands used to build a loadable module if different from building -# a shared archive. -module_cmds=$lt_module_cmds -module_expsym_cmds=$lt_module_expsym_cmds - -# Whether we are building with GNU ld or not. -with_gnu_ld=$lt_with_gnu_ld - -# Flag that allows shared libraries with undefined symbols to be built. -allow_undefined_flag=$lt_allow_undefined_flag - -# Flag that enforces no undefined symbols. -no_undefined_flag=$lt_no_undefined_flag - -# Flag to hardcode \$libdir into a binary during linking. -# This must work even if \$libdir does not exist -hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec - -# Whether we need a single "-rpath" flag with a separated argument. -hardcode_libdir_separator=$lt_hardcode_libdir_separator - -# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes -# DIR into the resulting binary. -hardcode_direct=$hardcode_direct - -# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes -# DIR into the resulting binary and the resulting library dependency is -# "absolute",i.e impossible to change by setting \${shlibpath_var} if the -# library is relocated. -hardcode_direct_absolute=$hardcode_direct_absolute - -# Set to "yes" if using the -LDIR flag during linking hardcodes DIR -# into the resulting binary. -hardcode_minus_L=$hardcode_minus_L - -# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR -# into the resulting binary. -hardcode_shlibpath_var=$hardcode_shlibpath_var - -# Set to "yes" if building a shared library automatically hardcodes DIR -# into the library and all subsequent libraries and executables linked -# against it. -hardcode_automatic=$hardcode_automatic - -# Set to yes if linker adds runtime paths of dependent libraries -# to runtime path list. -inherit_rpath=$inherit_rpath - -# Whether libtool must link a program against all its dependency libraries. -link_all_deplibs=$link_all_deplibs - -# Set to "yes" if exported symbols are required. -always_export_symbols=$always_export_symbols - -# The commands to list exported symbols. -export_symbols_cmds=$lt_export_symbols_cmds - -# Symbols that should not be listed in the preloaded symbols. -exclude_expsyms=$lt_exclude_expsyms - -# Symbols that must always be exported. -include_expsyms=$lt_include_expsyms - -# Commands necessary for linking programs (against libraries) with templates. -prelink_cmds=$lt_prelink_cmds - -# Commands necessary for finishing linking programs. -postlink_cmds=$lt_postlink_cmds - -# Specify filename containing input files. -file_list_spec=$lt_file_list_spec - -# How to hardcode a shared library path into an executable. -hardcode_action=$hardcode_action - -# ### END LIBTOOL CONFIG - -_LT_EOF - - case $host_os in - aix3*) - cat <<\_LT_EOF >> "$cfgfile" -# AIX sometimes has problems with the GCC collect2 program. For some -# reason, if we set the COLLECT_NAMES environment variable, the problems -# vanish in a puff of smoke. -if test "X${COLLECT_NAMES+set}" != Xset; then - COLLECT_NAMES= - export COLLECT_NAMES -fi -_LT_EOF - ;; - esac - - -ltmain="$ac_aux_dir/ltmain.sh" - - - # We use sed instead of cat because bash on DJGPP gets confused if - # if finds mixed CR/LF and LF-only lines. Since sed operates in - # text mode, it properly converts lines to CR/LF. This bash problem - # is reportedly fixed, but why not run on old versions too? - sed '$q' "$ltmain" >> "$cfgfile" \ - || (rm -f "$cfgfile"; exit 1) - - if test x"$xsi_shell" = xyes; then - sed -e '/^func_dirname ()$/,/^} # func_dirname /c\ -func_dirname ()\ -{\ -\ case ${1} in\ -\ */*) func_dirname_result="${1%/*}${2}" ;;\ -\ * ) func_dirname_result="${3}" ;;\ -\ esac\ -} # Extended-shell func_dirname implementation' "$cfgfile" > $cfgfile.tmp \ - && mv -f "$cfgfile.tmp" "$cfgfile" \ - || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") -test 0 -eq $? || _lt_function_replace_fail=: - - - sed -e '/^func_basename ()$/,/^} # func_basename /c\ -func_basename ()\ -{\ -\ func_basename_result="${1##*/}"\ -} # Extended-shell func_basename implementation' "$cfgfile" > $cfgfile.tmp \ - && mv -f "$cfgfile.tmp" "$cfgfile" \ - || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") -test 0 -eq $? || _lt_function_replace_fail=: - - - sed -e '/^func_dirname_and_basename ()$/,/^} # func_dirname_and_basename /c\ -func_dirname_and_basename ()\ -{\ -\ case ${1} in\ -\ */*) func_dirname_result="${1%/*}${2}" ;;\ -\ * ) func_dirname_result="${3}" ;;\ -\ esac\ -\ func_basename_result="${1##*/}"\ -} # Extended-shell func_dirname_and_basename implementation' "$cfgfile" > $cfgfile.tmp \ - && mv -f "$cfgfile.tmp" "$cfgfile" \ - || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") -test 0 -eq $? || _lt_function_replace_fail=: - - - sed -e '/^func_stripname ()$/,/^} # func_stripname /c\ -func_stripname ()\ -{\ -\ # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are\ -\ # positional parameters, so assign one to ordinary parameter first.\ -\ func_stripname_result=${3}\ -\ func_stripname_result=${func_stripname_result#"${1}"}\ -\ func_stripname_result=${func_stripname_result%"${2}"}\ -} # Extended-shell func_stripname implementation' "$cfgfile" > $cfgfile.tmp \ - && mv -f "$cfgfile.tmp" "$cfgfile" \ - || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") -test 0 -eq $? || _lt_function_replace_fail=: - - - sed -e '/^func_split_long_opt ()$/,/^} # func_split_long_opt /c\ -func_split_long_opt ()\ -{\ -\ func_split_long_opt_name=${1%%=*}\ -\ func_split_long_opt_arg=${1#*=}\ -} # Extended-shell func_split_long_opt implementation' "$cfgfile" > $cfgfile.tmp \ - && mv -f "$cfgfile.tmp" "$cfgfile" \ - || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") -test 0 -eq $? || _lt_function_replace_fail=: - - - sed -e '/^func_split_short_opt ()$/,/^} # func_split_short_opt /c\ -func_split_short_opt ()\ -{\ -\ func_split_short_opt_arg=${1#??}\ -\ func_split_short_opt_name=${1%"$func_split_short_opt_arg"}\ -} # Extended-shell func_split_short_opt implementation' "$cfgfile" > $cfgfile.tmp \ - && mv -f "$cfgfile.tmp" "$cfgfile" \ - || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") -test 0 -eq $? || _lt_function_replace_fail=: - - - sed -e '/^func_lo2o ()$/,/^} # func_lo2o /c\ -func_lo2o ()\ -{\ -\ case ${1} in\ -\ *.lo) func_lo2o_result=${1%.lo}.${objext} ;;\ -\ *) func_lo2o_result=${1} ;;\ -\ esac\ -} # Extended-shell func_lo2o implementation' "$cfgfile" > $cfgfile.tmp \ - && mv -f "$cfgfile.tmp" "$cfgfile" \ - || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") -test 0 -eq $? || _lt_function_replace_fail=: - - - sed -e '/^func_xform ()$/,/^} # func_xform /c\ -func_xform ()\ -{\ - func_xform_result=${1%.*}.lo\ -} # Extended-shell func_xform implementation' "$cfgfile" > $cfgfile.tmp \ - && mv -f "$cfgfile.tmp" "$cfgfile" \ - || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") -test 0 -eq $? || _lt_function_replace_fail=: - - - sed -e '/^func_arith ()$/,/^} # func_arith /c\ -func_arith ()\ -{\ - func_arith_result=$(( $* ))\ -} # Extended-shell func_arith implementation' "$cfgfile" > $cfgfile.tmp \ - && mv -f "$cfgfile.tmp" "$cfgfile" \ - || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") -test 0 -eq $? || _lt_function_replace_fail=: - - - sed -e '/^func_len ()$/,/^} # func_len /c\ -func_len ()\ -{\ - func_len_result=${#1}\ -} # Extended-shell func_len implementation' "$cfgfile" > $cfgfile.tmp \ - && mv -f "$cfgfile.tmp" "$cfgfile" \ - || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") -test 0 -eq $? || _lt_function_replace_fail=: - -fi - -if test x"$lt_shell_append" = xyes; then - sed -e '/^func_append ()$/,/^} # func_append /c\ -func_append ()\ -{\ - eval "${1}+=\\${2}"\ -} # Extended-shell func_append implementation' "$cfgfile" > $cfgfile.tmp \ - && mv -f "$cfgfile.tmp" "$cfgfile" \ - || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") -test 0 -eq $? || _lt_function_replace_fail=: - - - sed -e '/^func_append_quoted ()$/,/^} # func_append_quoted /c\ -func_append_quoted ()\ -{\ -\ func_quote_for_eval "${2}"\ -\ eval "${1}+=\\\\ \\$func_quote_for_eval_result"\ -} # Extended-shell func_append_quoted implementation' "$cfgfile" > $cfgfile.tmp \ - && mv -f "$cfgfile.tmp" "$cfgfile" \ - || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") -test 0 -eq $? || _lt_function_replace_fail=: - - - # Save a `func_append' function call where possible by direct use of '+=' - sed -e 's%func_append \([a-zA-Z_]\{1,\}\) "%\1+="%g' $cfgfile > $cfgfile.tmp \ - && mv -f "$cfgfile.tmp" "$cfgfile" \ - || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") - test 0 -eq $? || _lt_function_replace_fail=: -else - # Save a `func_append' function call even when '+=' is not available - sed -e 's%func_append \([a-zA-Z_]\{1,\}\) "%\1="$\1%g' $cfgfile > $cfgfile.tmp \ - && mv -f "$cfgfile.tmp" "$cfgfile" \ - || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") - test 0 -eq $? || _lt_function_replace_fail=: -fi - -if test x"$_lt_function_replace_fail" = x":"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Unable to substitute extended shell functions in $ofile" >&5 -$as_echo "$as_me: WARNING: Unable to substitute extended shell functions in $ofile" >&2;} -fi - - - mv -f "$cfgfile" "$ofile" || - (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") - chmod +x "$ofile" - - ;; - - esac -done # for ac_tag - - -as_fn_exit 0 -_ACEOF -ac_clean_files=$ac_clean_files_save - -test $ac_write_fail = 0 || - as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5 - - -# configure is writing to config.log, and then calls config.status. -# config.status does its own redirection, appending to config.log. -# Unfortunately, on DOS this fails, as config.log is still kept open -# by configure, so config.status won't be able to write to it; its -# output is simply discarded. So we exec the FD to /dev/null, -# effectively closing config.log, so it can be properly (re)opened and -# appended to by config.status. When coming back to configure, we -# need to make the FD available again. -if test "$no_create" != yes; then - ac_cs_success=: - ac_config_status_args= - test "$silent" = yes && - ac_config_status_args="$ac_config_status_args --quiet" - exec 5>/dev/null - $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false - exec 5>>config.log - # Use ||, not &&, to avoid exiting from the if with $? = 1, which - # would make configure fail if this is the last instruction. - $ac_cs_success || as_fn_exit 1 -fi -if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 -$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} -fi - diff --git a/GRIB_BLE_HUB/libs/ble_extend/configure.ac b/GRIB_BLE_HUB/libs/ble_extend/configure.ac deleted file mode 100644 index 14f3a99..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/configure.ac +++ /dev/null @@ -1,257 +0,0 @@ -AC_PREREQ(2.60) -AC_INIT(bluez, 5.4) - -AM_INIT_AUTOMAKE([foreign subdir-objects color-tests silent-rules - tar-pax no-dist-gzip dist-xz]) -AC_CONFIG_HEADERS(config.h) -AC_USE_SYSTEM_EXTENSIONS - -m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) - -AM_MAINTAINER_MODE - -AC_PREFIX_DEFAULT(/usr/local) - -PKG_PROG_PKG_CONFIG - -COMPILER_FLAGS - -AC_LANG_C - -AC_C_RESTRICT - -AC_PROG_CC -AM_PROG_CC_C_O -AC_PROG_CC_PIE -AC_PROG_INSTALL -AC_PROG_MKDIR_P - -m4_define([_LT_AC_TAGCONFIG], []) -m4_ifdef([AC_LIBTOOL_TAGS], [AC_LIBTOOL_TAGS([])]) - -AC_DISABLE_STATIC -AC_PROG_LIBTOOL - -MISC_FLAGS - -AC_ARG_ENABLE(threads, AC_HELP_STRING([--enable-threads], - [enable threading support]), [enable_threads=${enableval}]) - -AC_CHECK_FUNC(signalfd, dummy=yes, - AC_MSG_ERROR(signalfd support is required)) - -AC_CHECK_LIB(dl, dlopen, dummy=yes, - AC_MSG_ERROR(dynamic linking loader is required)) - -PKG_CHECK_MODULES(GLIB, glib-2.0 >= 2.28, dummy=yes, - AC_MSG_ERROR(GLib >= 2.28 is required)) -AC_SUBST(GLIB_CFLAGS) -AC_SUBST(GLIB_LIBS) - -if (test "${enable_threads}" = "yes"); then - AC_DEFINE(NEED_THREADS, 1, [Define if threading support is required]) - PKG_CHECK_MODULES(GTHREAD, gthread-2.0 >= 2.16, dummy=yes, - AC_MSG_ERROR(GThread >= 2.16 is required)) - GLIB_CFLAGS="$GLIB_CFLAGS $GTHREAD_CFLAGS" - GLIB_LIBS="$GLIB_LIBS $GTHREAD_LIBS" -fi - -PKG_CHECK_MODULES(DBUS, dbus-1 >= 1.4, dummy=yes, - AC_MSG_ERROR(D-Bus >= 1.4 is required)) -AC_SUBST(DBUS_CFLAGS) -AC_SUBST(DBUS_LIBS) - -AC_ARG_WITH([dbusconfdir], AC_HELP_STRING([--with-dbusconfdir=DIR], - [path to D-Bus configuration directory]), - [path_dbusconfdir=${withval}]) -if (test -z "${path_dbusconfdir}"); then - AC_MSG_CHECKING([D-Bus configuration directory]) - path_dbusconfdir="`$PKG_CONFIG --variable=sysconfdir dbus-1`" - if (test -z "${path_dbusconfdir}"); then - AC_MSG_ERROR([D-Bus configuration directory is required]) - fi - AC_MSG_RESULT([${path_dbusconfdir}]) -fi -AC_SUBST(DBUS_CONFDIR, [${path_dbusconfdir}]) - -AC_ARG_WITH([dbussystembusdir], AC_HELP_STRING([--with-dbussystembusdir=DIR], - [path to D-Bus system bus services directory]), - [path_dbussystembusdir=${withval}]) -if (test -z "${path_dbussystembusdir}"); then - AC_MSG_CHECKING([D-Bus system bus services dir]) - path_dbussystembusdir="`$PKG_CONFIG --variable=system_bus_services_dir dbus-1`" - if (test -z "${path_dbussystembusdir}"); then - AC_MSG_ERROR([D-Bus system bus services directory is required]) - fi - AC_MSG_RESULT([${path_dbussystembusdir}]) -fi -AC_SUBST(DBUS_SYSTEMBUSDIR, [${path_dbussystembusdir}]) - -AC_ARG_WITH([dbussessionbusdir], AC_HELP_STRING([--with-dbussessionbusdir=DIR], - [path to D-Bus session bus services directory]), - [path_dbussessionbusdir=${withval}]) -if (test -z "${path_dbussessionbusdir}"); then - AC_MSG_CHECKING([D-Bus session bus services dir]) - path_dbussessionbusdir="`$PKG_CONFIG --variable=session_bus_services_dir dbus-1`" - if (test -z "${path_dbussessionbusdir}"); then - AC_MSG_ERROR([D-Bus session bus services directory is required]) - fi - AC_MSG_RESULT([${path_dbussessionbusdir}]) -fi -AC_SUBST(DBUS_SESSIONBUSDIR, [${path_dbussessionbusdir}]) - -AC_ARG_ENABLE(library, AC_HELP_STRING([--enable-library], - [install Bluetooth library]), [enable_library=${enableval}]) -AM_CONDITIONAL(LIBRARY, test "${enable_library}" = "yes") - -AC_ARG_ENABLE(test, AC_HELP_STRING([--enable-test], - [enable test/example scripts]), [enable_test=${enableval}]) -AM_CONDITIONAL(TEST, test "${enable_test}" = "yes") - -AC_ARG_ENABLE(tools, AC_HELP_STRING([--disable-tools], - [disable Bluetooth tools]), [enable_tools=${enableval}]) -AM_CONDITIONAL(TOOLS, test "${enable_tools}" != "no") - -AC_ARG_ENABLE(monitor, AC_HELP_STRING([--disable-monitor], - [disable Bluetooth monitor]), [enable_monitor=${enableval}]) -AM_CONDITIONAL(MONITOR, test "${enable_monitor}" != "no") - -AC_ARG_ENABLE(usb, AC_HELP_STRING([--disable-usb], - [disable USB support]), [enable_usb=${enableval}]) -if (test "${enable_tools}" != "no" && test "${enable_usb}" != "no" ); then - PKG_CHECK_MODULES(USB, libusb, dummy=yes, - AC_MSG_ERROR(USB library support is required)) - AC_SUBST(USB_CFLAGS) - AC_SUBST(USB_LIBS) - AC_CHECK_LIB(usb, usb_get_busses, dummy=yes, - AC_DEFINE(NEED_USB_GET_BUSSES, 1, - [Define to 1 if you need the usb_get_busses() function.] -)) - AC_CHECK_LIB(usb, usb_interrupt_read, dummy=yes, - AC_DEFINE(NEED_USB_INTERRUPT_READ, 1, - [Define to 1 if you need the usb_interrupt_read() functi -on.])) - AC_DEFINE(HAVE_LIBUSB, 1, [Define to 1 if you have USB library.]) -fi -AM_CONDITIONAL(USB, test "${enable_usb}" != "no") - -AC_ARG_ENABLE(udev, AC_HELP_STRING([--disable-udev], - [disable udev device support]), [enable_udev=${enableval}]) -if (test "${enable_tools}" != "no" && test "${enable_udev}" != "no"); then - PKG_CHECK_MODULES(UDEV, libudev >= 143, dummy=yes, - AC_MSG_ERROR(libudev >= 143 is required)) - AC_SUBST(UDEV_CFLAGS) - AC_SUBST(UDEV_LIBS) - AC_CHECK_LIB(udev, udev_hwdb_new, - AC_DEFINE(HAVE_UDEV_HWDB_NEW, 1, - [Define to 1 if you have the udev_hwdb_new() function.])) -fi -AM_CONDITIONAL(UDEV, test "${enable_udev}" != "no") - -AC_ARG_WITH([udevdir], AC_HELP_STRING([--with-udevdir=DIR], - [path to udev directory]), [path_udevdir=${withval}]) -if (test "${enable_udev}" != "no" && test -z "${path_udevdir}"); then - AC_MSG_CHECKING([udev directory]) - path_udevdir="`$PKG_CONFIG --variable=udevdir udev`" - if (test -z "${path_udevdir}"); then - AC_MSG_ERROR([udev directory is required]) - fi - AC_MSG_RESULT([${path_udevdir}]) -fi -AC_SUBST(UDEV_DIR, [${path_udevdir}]) - -AM_CONDITIONAL(HID2HCI, test "${enable_tools}" != "no" && - test "${enable_udev}" != "no" && test "${enable_usb}" != "no") - -AC_ARG_ENABLE(cups, AC_HELP_STRING([--disable-cups], - [disable CUPS printer support]), [enable_cups=${enableval}]) -AM_CONDITIONAL(CUPS, test "${enable_cups}" != "no") - -AC_ARG_ENABLE(obex, AC_HELP_STRING([--disable-obex], - [disable OBEX profile support]), [enable_obex=${enableval}]) -if (test "${enable_obex}" != "no"); then - PKG_CHECK_MODULES(ICAL, libical, dummy=yes, - AC_MSG_ERROR(libical is required)) - AC_SUBST(ICAL_CFLAGS) - AC_SUBST(ICAL_LIBS) -fi -AM_CONDITIONAL(OBEX, test "${enable_obex}" != "no") - -AC_ARG_ENABLE(client, AC_HELP_STRING([--disable-client], - [disable command line client]), [enable_client=${enableval}]) -AM_CONDITIONAL(CLIENT, test "${enable_client}" != "no") - -if (test "${enable_client}" != "no"); then - AC_CHECK_HEADERS(readline/readline.h, enable_readline=yes, - AC_MSG_ERROR(readline header files are required)) -fi -AM_CONDITIONAL(READLINE, test "${enable_readline}" = "yes") - -AC_ARG_ENABLE(systemd, AC_HELP_STRING([--disable-systemd], - [disable systemd integration]), [enable_systemd=${enableval}]) -AM_CONDITIONAL(SYSTEMD, test "${enable_systemd}" != "no") - -AC_ARG_WITH([systemdsystemunitdir], - AC_HELP_STRING([--with-systemdsystemunitdir=DIR], - [path to systemd system unit directory]), - [path_systemunitdir=${withval}]) -if (test "${enable_systemd}" != "no" && test -z "${path_systemunitdir}"); then - AC_MSG_CHECKING([sytemd system unit dir]) - path_systemunitdir="`$PKG_CONFIG --variable=systemdsystemunitdir systemd`" - if (test -z "${path_systemunitdir}"); then - AC_MSG_ERROR([systemd system unit directory is required]) - fi - AC_MSG_RESULT([${path_systemunitdir}]) -fi -AC_SUBST(SYSTEMD_SYSTEMUNITDIR, [${path_systemunitdir}]) - -AC_ARG_WITH([systemduserunitdir], - AC_HELP_STRING([--with-systemduserunitdir=DIR], - [path to systemd user unit directory]), - [path_userunitdir=${withval}]) -if (test "${enable_systemd}" != "no" && test -z "${path_userunitdir}"); then - AC_MSG_CHECKING([sytemd user unit dir]) - path_userunitdir="`$PKG_CONFIG --variable=systemduserunitdir systemd`" - if (test -z "${path_userunitdir}"); then - AC_MSG_ERROR([systemd user unit directory is required]) - fi - AC_MSG_RESULT([${path_userunitdir}]) -fi -AC_SUBST(SYSTEMD_USERUNITDIR, [${path_userunitdir}]) - -AC_ARG_ENABLE(datafiles, AC_HELP_STRING([--disable-datafiles], - [do not install configuration and data files]), - [enable_datafiles=${enableval}]) -AM_CONDITIONAL(DATAFILES, test "${enable_datafiles}" != "no") - -AC_ARG_ENABLE(experimental, AC_HELP_STRING([--enable-experimental], - [enable experimental plugins (SAP, NFC, ...)]), - [enable_experimental=${enableval}]) -AM_CONDITIONAL(EXPERIMENTAL, test "${enable_experimental}" = "yes") - -if (test "${prefix}" = "NONE"); then - dnl no prefix and no localstatedir, so default to /var - if (test "$localstatedir" = '${prefix}/var'); then - AC_SUBST([localstatedir], ['/var']) - fi - - prefix="${ac_default_prefix}" -fi - -if (test "$localstatedir" = '${prefix}/var'); then - storagedir="${prefix}/var/lib/bluetooth" -else - storagedir="${localstatedir}/lib/bluetooth" -fi -AC_DEFINE_UNQUOTED(STORAGEDIR, "${storagedir}", - [Directory for the storage files]) - -if (test "$sysconfdir" = '${prefix}/etc'); then - configdir="${prefix}/etc/bluetooth" -else - configdir="${sysconfdir}/bluetooth" -fi -AC_DEFINE_UNQUOTED(CONFIGDIR, "${configdir}", - [Directory for the configuration files]) - -AC_OUTPUT(Makefile src/bluetoothd.8 lib/bluez.pc) diff --git a/GRIB_BLE_HUB/libs/ble_extend/depcomp b/GRIB_BLE_HUB/libs/ble_extend/depcomp deleted file mode 100644 index 25a39e6..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/depcomp +++ /dev/null @@ -1,708 +0,0 @@ -#! /bin/sh -# depcomp - compile a program generating dependencies as side-effects - -scriptversion=2012-03-27.16; # UTC - -# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007, 2009, 2010, -# 2011, 2012 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . - -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - -# Originally written by Alexandre Oliva . - -case $1 in - '') - echo "$0: No command. Try '$0 --help' for more information." 1>&2 - exit 1; - ;; - -h | --h*) - cat <<\EOF -Usage: depcomp [--help] [--version] PROGRAM [ARGS] - -Run PROGRAMS ARGS to compile a file, generating dependencies -as side-effects. - -Environment variables: - depmode Dependency tracking mode. - source Source file read by 'PROGRAMS ARGS'. - object Object file output by 'PROGRAMS ARGS'. - DEPDIR directory where to store dependencies. - depfile Dependency file to output. - tmpdepfile Temporary file to use when outputting dependencies. - libtool Whether libtool is used (yes/no). - -Report bugs to . -EOF - exit $? - ;; - -v | --v*) - echo "depcomp $scriptversion" - exit $? - ;; -esac - -# A tabulation character. -tab=' ' -# A newline character. -nl=' -' - -if test -z "$depmode" || test -z "$source" || test -z "$object"; then - echo "depcomp: Variables source, object and depmode must be set" 1>&2 - exit 1 -fi - -# Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po. -depfile=${depfile-`echo "$object" | - sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`} -tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`} - -rm -f "$tmpdepfile" - -# Some modes work just like other modes, but use different flags. We -# parameterize here, but still list the modes in the big case below, -# to make depend.m4 easier to write. Note that we *cannot* use a case -# here, because this file can only contain one case statement. -if test "$depmode" = hp; then - # HP compiler uses -M and no extra arg. - gccflag=-M - depmode=gcc -fi - -if test "$depmode" = dashXmstdout; then - # This is just like dashmstdout with a different argument. - dashmflag=-xM - depmode=dashmstdout -fi - -cygpath_u="cygpath -u -f -" -if test "$depmode" = msvcmsys; then - # This is just like msvisualcpp but w/o cygpath translation. - # Just convert the backslash-escaped backslashes to single forward - # slashes to satisfy depend.m4 - cygpath_u='sed s,\\\\,/,g' - depmode=msvisualcpp -fi - -if test "$depmode" = msvc7msys; then - # This is just like msvc7 but w/o cygpath translation. - # Just convert the backslash-escaped backslashes to single forward - # slashes to satisfy depend.m4 - cygpath_u='sed s,\\\\,/,g' - depmode=msvc7 -fi - -if test "$depmode" = xlc; then - # IBM C/C++ Compilers xlc/xlC can output gcc-like dependency informations. - gccflag=-qmakedep=gcc,-MF - depmode=gcc -fi - -case "$depmode" in -gcc3) -## gcc 3 implements dependency tracking that does exactly what -## we want. Yay! Note: for some reason libtool 1.4 doesn't like -## it if -MD -MP comes after the -MF stuff. Hmm. -## Unfortunately, FreeBSD c89 acceptance of flags depends upon -## the command line argument order; so add the flags where they -## appear in depend2.am. Note that the slowdown incurred here -## affects only configure: in makefiles, %FASTDEP% shortcuts this. - for arg - do - case $arg in - -c) set fnord "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" "$arg" ;; - *) set fnord "$@" "$arg" ;; - esac - shift # fnord - shift # $arg - done - "$@" - stat=$? - if test $stat -eq 0; then : - else - rm -f "$tmpdepfile" - exit $stat - fi - mv "$tmpdepfile" "$depfile" - ;; - -gcc) -## There are various ways to get dependency output from gcc. Here's -## why we pick this rather obscure method: -## - Don't want to use -MD because we'd like the dependencies to end -## up in a subdir. Having to rename by hand is ugly. -## (We might end up doing this anyway to support other compilers.) -## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like -## -MM, not -M (despite what the docs say). -## - Using -M directly means running the compiler twice (even worse -## than renaming). - if test -z "$gccflag"; then - gccflag=-MD, - fi - "$@" -Wp,"$gccflag$tmpdepfile" - stat=$? - if test $stat -eq 0; then : - else - rm -f "$tmpdepfile" - exit $stat - fi - rm -f "$depfile" - echo "$object : \\" > "$depfile" - alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz -## The second -e expression handles DOS-style file names with drive letters. - sed -e 's/^[^:]*: / /' \ - -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile" -## This next piece of magic avoids the "deleted header file" problem. -## The problem is that when a header file which appears in a .P file -## is deleted, the dependency causes make to die (because there is -## typically no way to rebuild the header). We avoid this by adding -## dummy dependencies for each header file. Too bad gcc doesn't do -## this for us directly. - tr ' ' "$nl" < "$tmpdepfile" | -## Some versions of gcc put a space before the ':'. On the theory -## that the space means something, we add a space to the output as -## well. hp depmode also adds that space, but also prefixes the VPATH -## to the object. Take care to not repeat it in the output. -## Some versions of the HPUX 10.20 sed can't process this invocation -## correctly. Breaking it into two sed invocations is a workaround. - sed -e 's/^\\$//' -e '/^$/d' -e "s|.*$object$||" -e '/:$/d' \ - | sed -e 's/$/ :/' >> "$depfile" - rm -f "$tmpdepfile" - ;; - -hp) - # This case exists only to let depend.m4 do its work. It works by - # looking at the text of this script. This case will never be run, - # since it is checked for above. - exit 1 - ;; - -sgi) - if test "$libtool" = yes; then - "$@" "-Wp,-MDupdate,$tmpdepfile" - else - "$@" -MDupdate "$tmpdepfile" - fi - stat=$? - if test $stat -eq 0; then : - else - rm -f "$tmpdepfile" - exit $stat - fi - rm -f "$depfile" - - if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files - echo "$object : \\" > "$depfile" - - # Clip off the initial element (the dependent). Don't try to be - # clever and replace this with sed code, as IRIX sed won't handle - # lines with more than a fixed number of characters (4096 in - # IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines; - # the IRIX cc adds comments like '#:fec' to the end of the - # dependency line. - tr ' ' "$nl" < "$tmpdepfile" \ - | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \ - tr "$nl" ' ' >> "$depfile" - echo >> "$depfile" - - # The second pass generates a dummy entry for each header file. - tr ' ' "$nl" < "$tmpdepfile" \ - | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \ - >> "$depfile" - else - # The sourcefile does not contain any dependencies, so just - # store a dummy comment line, to avoid errors with the Makefile - # "include basename.Plo" scheme. - echo "#dummy" > "$depfile" - fi - rm -f "$tmpdepfile" - ;; - -xlc) - # This case exists only to let depend.m4 do its work. It works by - # looking at the text of this script. This case will never be run, - # since it is checked for above. - exit 1 - ;; - -aix) - # The C for AIX Compiler uses -M and outputs the dependencies - # in a .u file. In older versions, this file always lives in the - # current directory. Also, the AIX compiler puts '$object:' at the - # start of each line; $object doesn't have directory information. - # Version 6 uses the directory in both cases. - dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` - test "x$dir" = "x$object" && dir= - base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'` - if test "$libtool" = yes; then - tmpdepfile1=$dir$base.u - tmpdepfile2=$base.u - tmpdepfile3=$dir.libs/$base.u - "$@" -Wc,-M - else - tmpdepfile1=$dir$base.u - tmpdepfile2=$dir$base.u - tmpdepfile3=$dir$base.u - "$@" -M - fi - stat=$? - - if test $stat -eq 0; then : - else - rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" - exit $stat - fi - - for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" - do - test -f "$tmpdepfile" && break - done - if test -f "$tmpdepfile"; then - # Each line is of the form 'foo.o: dependent.h'. - # Do two passes, one to just change these to - # '$object: dependent.h' and one to simply 'dependent.h:'. - sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile" - sed -e 's,^.*\.[a-z]*:['"$tab"' ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile" - else - # The sourcefile does not contain any dependencies, so just - # store a dummy comment line, to avoid errors with the Makefile - # "include basename.Plo" scheme. - echo "#dummy" > "$depfile" - fi - rm -f "$tmpdepfile" - ;; - -icc) - # Intel's C compiler anf tcc (Tiny C Compiler) understand '-MD -MF file'. - # However on - # $CC -MD -MF foo.d -c -o sub/foo.o sub/foo.c - # ICC 7.0 will fill foo.d with something like - # foo.o: sub/foo.c - # foo.o: sub/foo.h - # which is wrong. We want - # sub/foo.o: sub/foo.c - # sub/foo.o: sub/foo.h - # sub/foo.c: - # sub/foo.h: - # ICC 7.1 will output - # foo.o: sub/foo.c sub/foo.h - # and will wrap long lines using '\': - # foo.o: sub/foo.c ... \ - # sub/foo.h ... \ - # ... - # tcc 0.9.26 (FIXME still under development at the moment of writing) - # will emit a similar output, but also prepend the continuation lines - # with horizontal tabulation characters. - "$@" -MD -MF "$tmpdepfile" - stat=$? - if test $stat -eq 0; then : - else - rm -f "$tmpdepfile" - exit $stat - fi - rm -f "$depfile" - # Each line is of the form 'foo.o: dependent.h', - # or 'foo.o: dep1.h dep2.h \', or ' dep3.h dep4.h \'. - # Do two passes, one to just change these to - # '$object: dependent.h' and one to simply 'dependent.h:'. - sed -e "s/^[ $tab][ $tab]*/ /" -e "s,^[^:]*:,$object :," \ - < "$tmpdepfile" > "$depfile" - sed ' - s/[ '"$tab"'][ '"$tab"']*/ /g - s/^ *// - s/ *\\*$// - s/^[^:]*: *// - /^$/d - /:$/d - s/$/ :/ - ' < "$tmpdepfile" >> "$depfile" - rm -f "$tmpdepfile" - ;; - -hp2) - # The "hp" stanza above does not work with aCC (C++) and HP's ia64 - # compilers, which have integrated preprocessors. The correct option - # to use with these is +Maked; it writes dependencies to a file named - # 'foo.d', which lands next to the object file, wherever that - # happens to be. - # Much of this is similar to the tru64 case; see comments there. - dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` - test "x$dir" = "x$object" && dir= - base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'` - if test "$libtool" = yes; then - tmpdepfile1=$dir$base.d - tmpdepfile2=$dir.libs/$base.d - "$@" -Wc,+Maked - else - tmpdepfile1=$dir$base.d - tmpdepfile2=$dir$base.d - "$@" +Maked - fi - stat=$? - if test $stat -eq 0; then : - else - rm -f "$tmpdepfile1" "$tmpdepfile2" - exit $stat - fi - - for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" - do - test -f "$tmpdepfile" && break - done - if test -f "$tmpdepfile"; then - sed -e "s,^.*\.[a-z]*:,$object:," "$tmpdepfile" > "$depfile" - # Add 'dependent.h:' lines. - sed -ne '2,${ - s/^ *// - s/ \\*$// - s/$/:/ - p - }' "$tmpdepfile" >> "$depfile" - else - echo "#dummy" > "$depfile" - fi - rm -f "$tmpdepfile" "$tmpdepfile2" - ;; - -tru64) - # The Tru64 compiler uses -MD to generate dependencies as a side - # effect. 'cc -MD -o foo.o ...' puts the dependencies into 'foo.o.d'. - # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put - # dependencies in 'foo.d' instead, so we check for that too. - # Subdirectories are respected. - dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` - test "x$dir" = "x$object" && dir= - base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'` - - if test "$libtool" = yes; then - # With Tru64 cc, shared objects can also be used to make a - # static library. This mechanism is used in libtool 1.4 series to - # handle both shared and static libraries in a single compilation. - # With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d. - # - # With libtool 1.5 this exception was removed, and libtool now - # generates 2 separate objects for the 2 libraries. These two - # compilations output dependencies in $dir.libs/$base.o.d and - # in $dir$base.o.d. We have to check for both files, because - # one of the two compilations can be disabled. We should prefer - # $dir$base.o.d over $dir.libs/$base.o.d because the latter is - # automatically cleaned when .libs/ is deleted, while ignoring - # the former would cause a distcleancheck panic. - tmpdepfile1=$dir.libs/$base.lo.d # libtool 1.4 - tmpdepfile2=$dir$base.o.d # libtool 1.5 - tmpdepfile3=$dir.libs/$base.o.d # libtool 1.5 - tmpdepfile4=$dir.libs/$base.d # Compaq CCC V6.2-504 - "$@" -Wc,-MD - else - tmpdepfile1=$dir$base.o.d - tmpdepfile2=$dir$base.d - tmpdepfile3=$dir$base.d - tmpdepfile4=$dir$base.d - "$@" -MD - fi - - stat=$? - if test $stat -eq 0; then : - else - rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4" - exit $stat - fi - - for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4" - do - test -f "$tmpdepfile" && break - done - if test -f "$tmpdepfile"; then - sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile" - sed -e 's,^.*\.[a-z]*:['"$tab"' ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile" - else - echo "#dummy" > "$depfile" - fi - rm -f "$tmpdepfile" - ;; - -msvc7) - if test "$libtool" = yes; then - showIncludes=-Wc,-showIncludes - else - showIncludes=-showIncludes - fi - "$@" $showIncludes > "$tmpdepfile" - stat=$? - grep -v '^Note: including file: ' "$tmpdepfile" - if test "$stat" = 0; then : - else - rm -f "$tmpdepfile" - exit $stat - fi - rm -f "$depfile" - echo "$object : \\" > "$depfile" - # The first sed program below extracts the file names and escapes - # backslashes for cygpath. The second sed program outputs the file - # name when reading, but also accumulates all include files in the - # hold buffer in order to output them again at the end. This only - # works with sed implementations that can handle large buffers. - sed < "$tmpdepfile" -n ' -/^Note: including file: *\(.*\)/ { - s//\1/ - s/\\/\\\\/g - p -}' | $cygpath_u | sort -u | sed -n ' -s/ /\\ /g -s/\(.*\)/'"$tab"'\1 \\/p -s/.\(.*\) \\/\1:/ -H -$ { - s/.*/'"$tab"'/ - G - p -}' >> "$depfile" - rm -f "$tmpdepfile" - ;; - -msvc7msys) - # This case exists only to let depend.m4 do its work. It works by - # looking at the text of this script. This case will never be run, - # since it is checked for above. - exit 1 - ;; - -#nosideeffect) - # This comment above is used by automake to tell side-effect - # dependency tracking mechanisms from slower ones. - -dashmstdout) - # Important note: in order to support this mode, a compiler *must* - # always write the preprocessed file to stdout, regardless of -o. - "$@" || exit $? - - # Remove the call to Libtool. - if test "$libtool" = yes; then - while test "X$1" != 'X--mode=compile'; do - shift - done - shift - fi - - # Remove '-o $object'. - IFS=" " - for arg - do - case $arg in - -o) - shift - ;; - $object) - shift - ;; - *) - set fnord "$@" "$arg" - shift # fnord - shift # $arg - ;; - esac - done - - test -z "$dashmflag" && dashmflag=-M - # Require at least two characters before searching for ':' - # in the target name. This is to cope with DOS-style filenames: - # a dependency such as 'c:/foo/bar' could be seen as target 'c' otherwise. - "$@" $dashmflag | - sed 's:^['"$tab"' ]*[^:'"$tab"' ][^:][^:]*\:['"$tab"' ]*:'"$object"'\: :' > "$tmpdepfile" - rm -f "$depfile" - cat < "$tmpdepfile" > "$depfile" - tr ' ' "$nl" < "$tmpdepfile" | \ -## Some versions of the HPUX 10.20 sed can't process this invocation -## correctly. Breaking it into two sed invocations is a workaround. - sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" - rm -f "$tmpdepfile" - ;; - -dashXmstdout) - # This case only exists to satisfy depend.m4. It is never actually - # run, as this mode is specially recognized in the preamble. - exit 1 - ;; - -makedepend) - "$@" || exit $? - # Remove any Libtool call - if test "$libtool" = yes; then - while test "X$1" != 'X--mode=compile'; do - shift - done - shift - fi - # X makedepend - shift - cleared=no eat=no - for arg - do - case $cleared in - no) - set ""; shift - cleared=yes ;; - esac - if test $eat = yes; then - eat=no - continue - fi - case "$arg" in - -D*|-I*) - set fnord "$@" "$arg"; shift ;; - # Strip any option that makedepend may not understand. Remove - # the object too, otherwise makedepend will parse it as a source file. - -arch) - eat=yes ;; - -*|$object) - ;; - *) - set fnord "$@" "$arg"; shift ;; - esac - done - obj_suffix=`echo "$object" | sed 's/^.*\././'` - touch "$tmpdepfile" - ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@" - rm -f "$depfile" - # makedepend may prepend the VPATH from the source file name to the object. - # No need to regex-escape $object, excess matching of '.' is harmless. - sed "s|^.*\($object *:\)|\1|" "$tmpdepfile" > "$depfile" - sed '1,2d' "$tmpdepfile" | tr ' ' "$nl" | \ -## Some versions of the HPUX 10.20 sed can't process this invocation -## correctly. Breaking it into two sed invocations is a workaround. - sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" - rm -f "$tmpdepfile" "$tmpdepfile".bak - ;; - -cpp) - # Important note: in order to support this mode, a compiler *must* - # always write the preprocessed file to stdout. - "$@" || exit $? - - # Remove the call to Libtool. - if test "$libtool" = yes; then - while test "X$1" != 'X--mode=compile'; do - shift - done - shift - fi - - # Remove '-o $object'. - IFS=" " - for arg - do - case $arg in - -o) - shift - ;; - $object) - shift - ;; - *) - set fnord "$@" "$arg" - shift # fnord - shift # $arg - ;; - esac - done - - "$@" -E | - sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \ - -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' | - sed '$ s: \\$::' > "$tmpdepfile" - rm -f "$depfile" - echo "$object : \\" > "$depfile" - cat < "$tmpdepfile" >> "$depfile" - sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile" - rm -f "$tmpdepfile" - ;; - -msvisualcpp) - # Important note: in order to support this mode, a compiler *must* - # always write the preprocessed file to stdout. - "$@" || exit $? - - # Remove the call to Libtool. - if test "$libtool" = yes; then - while test "X$1" != 'X--mode=compile'; do - shift - done - shift - fi - - IFS=" " - for arg - do - case "$arg" in - -o) - shift - ;; - $object) - shift - ;; - "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI") - set fnord "$@" - shift - shift - ;; - *) - set fnord "$@" "$arg" - shift - shift - ;; - esac - done - "$@" -E 2>/dev/null | - sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::\1:p' | $cygpath_u | sort -u > "$tmpdepfile" - rm -f "$depfile" - echo "$object : \\" > "$depfile" - sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::'"$tab"'\1 \\:p' >> "$depfile" - echo "$tab" >> "$depfile" - sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile" - rm -f "$tmpdepfile" - ;; - -msvcmsys) - # This case exists only to let depend.m4 do its work. It works by - # looking at the text of this script. This case will never be run, - # since it is checked for above. - exit 1 - ;; - -none) - exec "$@" - ;; - -*) - echo "Unknown depmode $depmode" 1>&2 - exit 1 - ;; -esac - -exit 0 - -# Local Variables: -# mode: shell-script -# sh-indentation: 2 -# eval: (add-hook 'write-file-hooks 'time-stamp) -# time-stamp-start: "scriptversion=" -# time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-time-zone: "UTC" -# time-stamp-end: "; # UTC" -# End: diff --git a/GRIB_BLE_HUB/libs/ble_extend/doc/adapter-api.txt b/GRIB_BLE_HUB/libs/ble_extend/doc/adapter-api.txt deleted file mode 100644 index 74d235a..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/doc/adapter-api.txt +++ /dev/null @@ -1,155 +0,0 @@ -BlueZ D-Bus Adapter API description -*********************************** - - -Adapter hierarchy -================= - -Service org.bluez -Interface org.bluez.Adapter1 -Object path [variable prefix]/{hci0,hci1,...} - -Methods void StartDiscovery() - - This method starts the device discovery session. This - includes an inquiry procedure and remote device name - resolving. Use StopDiscovery to release the sessions - acquired. - - This process will start creating Device objects as - new devices are discovered. - - Possible errors: org.bluez.Error.NotReady - org.bluez.Error.Failed - - void StopDiscovery() - - This method will cancel any previous StartDiscovery - transaction. - - Note that a discovery procedure is shared between all - discovery sessions thus calling StopDiscovery will only - release a single session. - - Possible errors: org.bluez.Error.NotReady - org.bluez.Error.Failed - org.bluez.Error.NotAuthorized - - void RemoveDevice(object device) - - This removes the remote device object at the given - path. It will remove also the pairing information. - - Possible errors: org.bluez.Error.InvalidArguments - org.bluez.Error.Failed - -Properties string Address [readonly] - - The Bluetooth device address. - - string Name [readonly] - - The Bluetooth system name (pretty hostname). - - This property is either a static system default - or controlled by an external daemon providing - access to the pretty hostname configuration. - - string Alias [readwrite] - - The Bluetooth friendly name. This value can be - changed. - - In case no alias is set, it will return the system - provided name. Setting an empty string as alias will - convert it back to the system provided name. - - When resetting the alias with an empty string, the - property will default back to system name. - - On a well configured system, this property never - needs to be changed since it defaults to the system - name and provides the pretty hostname. Only if the - local name needs to be different from the pretty - hostname, this property should be used as last - resort. - - uint32 Class [readonly] - - The Bluetooth class of device. - - This property represents the value that is either - automatically configured by DMI/ACPI information - or provided as static configuration. - - boolean Powered [readwrite] - - Switch an adapter on or off. This will also set the - appropriate connectable state of the controller. - - The value of this property is not persistent. After - restart or unplugging of the adapter it will reset - back to false. - - boolean Discoverable [readwrite] - - Switch an adapter to discoverable or non-discoverable - to either make it visible or hide it. This is a global - setting and should only be used by the settings - application. - - If the DiscoverableTimeout is set to a non-zero - value then the system will set this value back to - false after the timer expired. - - In case the adapter is switched off, setting this - value will fail. - - When changing the Powered property the new state of - this property will be updated via a PropertyChanged - signal. - - For any new adapter this settings defaults to false. - - boolean Pairable [readwrite] - - Switch an adapter to pairable or non-pairable. This is - a global setting and should only be used by the - settings application. - - Note that this property only affects incoming pairing - requests. - - For any new adapter this settings defaults to true. - - uint32 PairableTimeout [readwrite] - - The pairable timeout in seconds. A value of zero - means that the timeout is disabled and it will stay in - pairable mode forever. - - The default value for pairable timeout should be - disabled (value 0). - - uint32 DiscoverableTimeout [readwrite] - - The discoverable timeout in seconds. A value of zero - means that the timeout is disabled and it will stay in - discoverable/limited mode forever. - - The default value for the discoverable timeout should - be 180 seconds (3 minutes). - - boolean Discovering [readonly] - - Indicates that a device discovery procedure is active. - - array{string} UUIDs [readonly] - - List of 128-bit UUIDs that represents the available - local services. - - string Modalias [readonly, optional] - - Local Device ID information in modalias format - used by the kernel and udev. diff --git a/GRIB_BLE_HUB/libs/ble_extend/doc/agent-api.txt b/GRIB_BLE_HUB/libs/ble_extend/doc/agent-api.txt deleted file mode 100644 index 2e70931..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/doc/agent-api.txt +++ /dev/null @@ -1,182 +0,0 @@ -BlueZ D-Bus Agent API description -********************************** - - -Agent Manager hierarchy -======================= - -Service org.bluez -Interface org.bluez.AgentManager1 -Object path /org/bluez - - void RegisterAgent(object agent, string capability) - - This registers an agent handler. - - The object path defines the path of the agent - that will be called when user input is needed. - - Every application can register its own agent and - for all actions triggered by that application its - agent is used. - - It is not required by an application to register - an agent. If an application does chooses to not - register an agent, the default agent is used. This - is on most cases a good idea. Only application - like a pairing wizard should register their own - agent. - - An application can only register one agent. Multiple - agents per application is not supported. - - The capability parameter can have the values - "DisplayOnly", "DisplayYesNo", "KeyboardOnly", - "NoInputNoOutput" and "KeyboardDisplay" which - reflects the input and output capabilities of the - agent. - - If an empty string is used it will fallback to - "DisplayYesNo". - - Possible errors: org.bluez.Error.InvalidArguments - org.bluez.Error.AlreadyExists - - void UnregisterAgent(object agent) - - This unregisters the agent that has been previously - registered. The object path parameter must match the - same value that has been used on registration. - - Possible errors: org.bluez.Error.DoesNotExist - - void RequestDefaultAgent(object agent) - - This requests is to make the application agent - the default agent. The application is required - to register an agent. - - Special permission might be required to become - the default agent. - - Possible errors: org.bluez.Error.DoesNotExist - - -Agent hierarchy -=============== - -Service unique name -Interface org.bluez.Agent1 -Object path freely definable - -Methods void Release() - - This method gets called when the service daemon - unregisters the agent. An agent can use it to do - cleanup tasks. There is no need to unregister the - agent, because when this method gets called it has - already been unregistered. - - string RequestPinCode(object device) - - This method gets called when the service daemon - needs to get the passkey for an authentication. - - The return value should be a string of 1-16 characters - length. The string can be alphanumeric. - - Possible errors: org.bluez.Error.Rejected - org.bluez.Error.Canceled - - void DisplayPinCode(object device, string pincode) - - This method gets called when the service daemon - needs to display a pincode for an authentication. - - An empty reply should be returned. When the pincode - needs no longer to be displayed, the Cancel method - of the agent will be called. - - This is used during the pairing process of keyboards - that don't support Bluetooth 2.1 Secure Simple Pairing, - in contrast to DisplayPasskey which is used for those - that do. - - This method will only ever be called once since - older keyboards do not support typing notification. - - Note that the PIN will always be a 6-digit number, - zero-padded to 6 digits. This is for harmony with - the later specification. - - Possible errors: org.bluez.Error.Rejected - org.bluez.Error.Canceled - - uint32 RequestPasskey(object device) - - This method gets called when the service daemon - needs to get the passkey for an authentication. - - The return value should be a numeric value - between 0-999999. - - Possible errors: org.bluez.Error.Rejected - org.bluez.Error.Canceled - - void DisplayPasskey(object device, uint32 passkey, - uint16 entered) - - This method gets called when the service daemon - needs to display a passkey for an authentication. - - The entered parameter indicates the number of already - typed keys on the remote side. - - An empty reply should be returned. When the passkey - needs no longer to be displayed, the Cancel method - of the agent will be called. - - During the pairing process this method might be - called multiple times to update the entered value. - - Note that the passkey will always be a 6-digit number, - so the display should be zero-padded at the start if - the value contains less than 6 digits. - - void RequestConfirmation(object device, uint32 passkey) - - This method gets called when the service daemon - needs to confirm a passkey for an authentication. - - To confirm the value it should return an empty reply - or an error in case the passkey is invalid. - - Note that the passkey will always be a 6-digit number, - so the display should be zero-padded at the start if - the value contains less than 6 digits. - - Possible errors: org.bluez.Error.Rejected - org.bluez.Error.Canceled - - void RequestAuthorization(object device) - - This method gets called to request the user to - authorize an incoming pairing attempt which - would in other circumstances trigger the just-works - model. - - Possible errors: org.bluez.Error.Rejected - org.bluez.Error.Canceled - - void AuthorizeService(object device, string uuid) - - This method gets called when the service daemon - needs to authorize a connection/service request. - - Possible errors: org.bluez.Error.Rejected - org.bluez.Error.Canceled - - void Cancel() - - This method gets called to indicate that the agent - request failed before a reply was returned. diff --git a/GRIB_BLE_HUB/libs/ble_extend/doc/alert-api.txt b/GRIB_BLE_HUB/libs/ble_extend/doc/alert-api.txt deleted file mode 100644 index fc427c8..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/doc/alert-api.txt +++ /dev/null @@ -1,108 +0,0 @@ -BlueZ D-Bus Alert API description -********************************* - - -Introduction ------------- - -Currently, there are two different GATT server profiles that depend on -receiving alerts or notifications from the platform: Phone Alert Status (PASP) -and Alert Notification (ANP). PASP is very specific to mobile phones, and also -allows limited control to alerts (i.e. mute once or switch to a silent mode). - -This document presents a unified API that allows to register and notify alerts, -and to control some alerts (using the provided agent object). - - -Alert hierarchy -=============== - -Service org.bluez -Interface org.bluez.Alert1 -Object path /org/bluez - -Methods void RegisterAlert(string category, object agent) - - Register a new alert category and an agent for it. This - means the application will be responsible for notifying - BlueZ of any alerts of that category, using the - NewAlert() method. - - Supported ANP categories: simple, email, news, call, - missed-call, sms-mms, voice-mail, schedule, - high-priority, instant-message - Supported PASP categories: ringer, vibrate, display - - Possible Errors: org.bluez.Error.InvalidArguments - - void NewAlert(string category, uint16 count, string description) - - Notify BlueZ of new alert(s) for the given category. The - description is relative to the last received alert and - can be sender name, caller ID, title, or other - information specific to the category. - - For ringer, vibrate and display categories, valid - descriptions are "active" and "not active". Alerts from - ringer category also accept "enabled" and "disabled", - depending on whether ringer is in silent mode or not. - - Description must not exceed 18 bytes when encoded in - UTF-8 format, otherwise an error is returned. If there - is no description, an empty string should be used. - - The count argument contains the number of alerts not - yet acknowledged by the user on the UI. To save D-Bus - traffic, events that may generate multiple alerts at - the same time (like email, sms, news) should trigger a - single NewAlert(). - - If there are more than 254 new alerts, count must be - set to 255. PASP alerts should always set count to 1. - - Possible Errors: org.bluez.Error.InvalidArguments - - void UnreadAlert(string category, uint16 count) - - Some services (like SMS and e-mail) keep track of - number of unread items. This method allows to update - this counter, so peer devices can be notified using - Alert Notification Profile. - - If there are more than 254 unread alerts, count must be - set to 255. - - Possible Errors: org.bluez.Error.InvalidArguments - -Alert Agent hierarchy -===================== - -Service org.bluez -Interface org.bluez.AlertAgent1 -Object path freely definable - -Methods void MuteOnce() - - This method is only called if "ringer" alert category - is specified when registering the agent. - - Mute the ringer once (e.g. during a incoming call). If - ringer is not active, does nothing. - - void SetRinger(string mode) - - This method is only called if "ringer" alert category - is specified when registering the agent. - - Set ringer to the specified mode. If mode is "enabled", - ringer is set to the default mode, as defined by the - current active profile. If mode is "disabled", ringer - will not activate on incoming calls, until it is set - back to "enabled" mode. - - Possible Errors: org.bluez.Error.InvalidArguments - - void Release() - - Release this agent. At this point, it will not be used - by BlueZ anymore and can be destroyed by the owner. diff --git a/GRIB_BLE_HUB/libs/ble_extend/doc/assigned-numbers.txt b/GRIB_BLE_HUB/libs/ble_extend/doc/assigned-numbers.txt deleted file mode 100644 index ca171c4..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/doc/assigned-numbers.txt +++ /dev/null @@ -1,24 +0,0 @@ -RFCOMM Channels -=============== - -Since there are a limited amount of possible RFCOMM channels (1-31) -they've been pre-allocated for currently known profiles in order to -avoid conflicts. - -Profile Channel ------------------------ -DUN 1 -HFP HF 7 -OPP 9 -FTP 10 -BIP 11 -HSP AG 12 -HFP AG 13 -SYNCH (IrMC) 14 -PBAP 15 -MAP MAS 16 -MAP MNS 17 -SyncEvolution 19 -PC/Ovi Suite 24 -SyncML Client 25 -SyncML Server 26 diff --git a/GRIB_BLE_HUB/libs/ble_extend/doc/cyclingspeed-api.txt b/GRIB_BLE_HUB/libs/ble_extend/doc/cyclingspeed-api.txt deleted file mode 100644 index 7b315e1..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/doc/cyclingspeed-api.txt +++ /dev/null @@ -1,99 +0,0 @@ -Cycling Speed and Cadence API description -***************************************** - - -Cycling Speed and Cadence Manager hierarchy -=========================================== - -Service org.bluez -Interface org.bluez.CyclingSpeedManager1 -Object path [variable prefix]/{hci0,hci1,...} - -Methods RegisterWatcher(object agent) - - Registers a watcher to monitor cycling speed and - cadence measurements. - - Possible Errors: org.bluez.Error.InvalidArguments - - UnregisterWatcher(object agent) - - Unregisters a watcher. - -Cycling Speed and Cadence Profile hierarchy -=========================================== - -Service org.bluez -Interface org.bluez.CyclingSpeed1 -Object path [variable prefix]/{hci0,hci1,...}/dev_XX_XX_XX_XX_XX_XX - -Methods SetCumulativeWheelRevolutions(uint32 value) - - Sets cumulative wheel revolutions value if - Cumulative Wheel Revolutions feature is supported. - - Possible Errors: org.bluez.Error.NotSupported - -Properties string Location (optional) [readwrite] - - Current sensor location, if supported. - If Multiple Sensor Locations feature is supported, - this property can be set to one of values read from - SupportedLocations property. - - Possible values: "other", "top-of-shoe", "in-shoe", - "hip", "front-wheel", "left-crank", - "right-crank", "left-pedal", - "right-pedal", "front-hub", - "rear-dropout", "chainstay", - "rear-wheel", "rear-hub" - - array{string} SupportedLocations (optional) [readonly] - - List of locations supported by sensor, only present - if Multiple Sensor Locations feature is supported. - - boolean WheelRevolutionDataSupported [readonly] - - true if sensor can read and set Cumulative Wheel - Revolutions value, false otherwise. - - boolean MultipleSensorLocationsSupported [readonly] - - true if sensor supports Multiple Sensor Locations - feature and can set Location, false otherwise. - -Cycling Speed and Cadence Watcher hierarchy -=========================================== - -Service unique name -Interface org.bluez.CyclingSpeedWatcher1 -Object path freely definable - -Methods void MeasurementReceived(object device, dict measurement) - - This callback is called whenever wheel and/or crank - revolutions measurement is received from sensor. - - Measurement: - - uint32 WheelRevolutions (optional): - - Cumulative number of wheel revolutions. - - uint16 LastWheelEventTime (optional): - - Time of last event from wheel sensor. - Value is expressed in 1/1024 second - units and can roll over during a ride. - - uint16 CrankRevolutions (optional): - - Cumulative number of crank revolutions. - This value can occasionally roll over. - - uint16 LastCrankEventTime (optional): - - Time of last event from crank sensor. - Value is expressed in 1/1024 second - units and can roll over during a ride. diff --git a/GRIB_BLE_HUB/libs/ble_extend/doc/device-api.txt b/GRIB_BLE_HUB/libs/ble_extend/doc/device-api.txt deleted file mode 100644 index 0f916c7..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/doc/device-api.txt +++ /dev/null @@ -1,187 +0,0 @@ -BlueZ D-Bus Device API description -********************************** - - -Device hierarchy -================ - -Service org.bluez -Interface org.bluez.Device1 -Object path [variable prefix]/{hci0,hci1,...}/dev_XX_XX_XX_XX_XX_XX - -Methods void Connect() - - This is a generic method to connect any profiles - the remote device supports that can be connected - to and have been flagged as auto-connectable on - our side. If only subset of profiles is already - connected it will try to connect currently disconnected - ones. - - If at least one profile was connected successfully this - method will indicate success. - - Possible errors: org.bluez.Error.NotReady - org.bluez.Error.Failed - org.bluez.Error.InProgress - org.bluez.Error.AlreadyConnected - - void Disconnect() - - This method gracefully disconnects all connected - profiles and then terminates low-level ACL connection. - - ACL connection will be terminated even if some profiles - were not disconnected properly e.g. due to misbehaving - device. - - This method can be also used to cancel a preceding - Connect call before a reply to it has been received. - - Possible errors: org.bluez.Error.NotConnected - - void ConnectProfile(string uuid) - - This method connects a specific profile of this - device. The UUID provided is the remote service - UUID for the profile. - - Possible errors: org.bluez.Error.DoesNotExist - org.bluez.Error.AlreadyConnected - org.bluez.Error.ConnectFailed - - void DisconnectProfile(string uuid) - - This method disconnects a specific profile of - this device. The profile needs to be registered - client profile. - - There is no connection tracking for a profile, so - as long as the profile is registered this will always - succeed. - - Possible errors: org.bluez.Error.DoesNotExist - org.bluez.Error.NotConnected - - void Pair() - - This method will connect to the remote device, - initiate pairing and then retrieve all SDP records - (or GATT primary services). - - If the application has registered its own agent, - then that specific agent will be used. Otherwise - it will use the default agent. - - Only for applications like a pairing wizard it - would make sense to have its own agent. In almost - all other cases the default agent will handle - this just fine. - - In case there is no application agent and also - no default agent present, this method will fail. - - Possible errors: org.bluez.Error.InvalidArguments - org.bluez.Error.Failed - - void CancelPairing() - - This method can be used to cancel a pairing - operation initiated by the Pair method. - - Possible errors: org.bluez.Error.DoesNotExist - org.bluez.Error.Failed - -Properties string Address [readonly] - - The Bluetooth device address of the remote device. - - string Name [readonly] - - The Bluetooth remote name. This value can not be - changed. Use the Alias property instead. - - This value is only present for completeness. It is - better to always use the Alias property when - displaying the devices name. - - If the Alias property is unset, it will reflect - this value which makes it more convenient. - - string Icon [readonly, optional] - - Proposed icon name according to the freedesktop.org - icon naming specification. - - uint32 Class [readonly, optional] - - The Bluetooth class of device of the remote device. - - uint16 Appearance [readonly, optional] - - External appearance of device, as found on GAP service. - - array{string} UUIDs [readonly] - - List of 128-bit UUIDs that represents the available - remote services. - - boolean Paired [readonly] - - Indicates if the remote device is paired. - - boolean Connected [readonly] - - Indicates if the remote device is currently connected. - A PropertiesChanged signal indicate changes to this - status. - - boolean Trusted [readwrite] - - Indicates if the remote is seen as trusted. This - setting can be changed by the application. - - boolean Blocked [readwrite] - - If set to true any incoming connections from the - device will be immediately rejected. Any device - drivers will also be removed and no new ones will - be probed as long as the device is blocked. - - string Alias [readwrite] - - The name alias for the remote device. The alias can - be used to have a different friendly name for the - remote device. - - In case no alias is set, it will return the remote - device name. Setting an empty string as alias will - convert it back to the remote device name. - - When resetting the alias with an empty string, the - property will default back to the remote name. - - object Adapter [readonly] - - The object path of the adapter the device belongs to. - - boolean LegacyPairing [readonly] - - Set to true if the device only supports the pre-2.1 - pairing mechanism. This property is useful in the - Adapter.DeviceFound signal to anticipate whether - legacy or simple pairing will occur. - - Note that this property can exhibit false-positives - in the case of Bluetooth 2.1 (or newer) devices that - have disabled Extended Inquiry Response support. - - string Modalias [readonly, optional] - - Remote Device ID information in modalias format - used by the kernel and udev. - - int16 RSSI [readonly, optional] - - Received Signal Strength Indicator of the remote - device. diff --git a/GRIB_BLE_HUB/libs/ble_extend/doc/health-api.txt b/GRIB_BLE_HUB/libs/ble_extend/doc/health-api.txt deleted file mode 100644 index 2c48ff2..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/doc/health-api.txt +++ /dev/null @@ -1,152 +0,0 @@ -BlueZ D-Bus Health API description -********************************** - - -HealthManager hierarchy -======================= - -Service org.bluez -Interface org.bluez.HealthManager1 -Object path /org/bluez/ - -Methods object CreateApplication(dict config) - - Returns the path of the new registered application. - Application will be closed by the call or implicitly - when the programs leaves the bus. - - config: - uint16 DataType: - - Mandatory - - string Role: - - Mandatory. Possible values: "source", - "sink" - - string Description: - - Optional - - ChannelType: - - Optional, just for sources. Possible - values: "reliable", "streaming" - - Possible Errors: org.bluez.Error.InvalidArguments - - void DestroyApplication(object application) - - Closes the HDP application identified by the object - path. Also application will be closed if the process - that started it leaves the bus. Only the creator of the - application will be able to destroy it. - - Possible errors: org.bluez.Error.InvalidArguments - org.bluez.Error.NotFound - org.bluez.Error.NotAllowed - - -HealthDevice hierarchy -====================== - -Service org.bluez -Interface org.bluez.HealthDevice1 -Object path [variable prefix]/{hci0,hci1,...}/dev_XX_XX_XX_XX_XX_XX - -Methods boolean Echo() - - Sends an echo petition to the remote service. Returns - True if response matches with the buffer sent. If some - error is detected False value is returned. - - Possible errors: org.bluez.Error.InvalidArguments - org.bluez.Error.OutOfRange - - object CreateChannel(object application, string configuration) - - Creates a new data channel. The configuration should - indicate the channel quality of service using one of - this values "reliable", "streaming", "any". - - Returns the object path that identifies the data - channel that is already connected. - - Possible errors: org.bluez.Error.InvalidArguments - org.bluez.Error.HealthError - - void DestroyChannel(object channel) - - Destroys the data channel object. Only the creator of - the channel or the creator of the HealthApplication - that received the data channel will be able to destroy - it. - - Possible errors: org.bluez.Error.InvalidArguments - org.bluez.Error.NotFound - org.bluez.Error.NotAllowed - -Signals void ChannelConnected(object channel) - - This signal is launched when a new data channel is - created or when a known data channel is reconnected. - - void ChannelDeleted(object channel) - - This signal is launched when a data channel is deleted. - - After this signal the data channel path will not be - valid and its path can be reused for future data - channels. - -Properties object MainChannel [readonly] - - The first reliable channel opened. It is needed by - upper applications in order to send specific protocol - data units. The first reliable can change after a - reconnection. - - -HealthChannel hierarchy -======================= - -Service org.bluez -Interface org.bluez.HealthChannel1 -Object path [variable prefix]/{hci0,hci1,...}/dev_XX_XX_XX_XX_XX_XX/chanZZZ - -Only the process that created the data channel or the creator of the -HealthApplication that received it will be able to call these methods. - -Methods fd Acquire() - - Returns the file descriptor for this data channel. If - the data channel is not connected it will also - reconnect. - - Possible Errors: org.bluez.Error.NotConnected - org.bluez.Error.NotAllowed - - void Release() - - Releases the fd. Application should also need to - close() it. - - Possible Errors: org.bluez.Error.NotAcquired - org.bluez.Error.NotAllowed - -Properties string Type [readonly] - - The quality of service of the data channel. ("reliable" - or "streaming") - - object Device [readonly] - - Identifies the Remote Device that is connected with. - Maps with a HealthDevice object. - - object Application [readonly] - - Identifies the HealthApplication to which this channel - is related to (which indirectly defines its role and - data type). diff --git a/GRIB_BLE_HUB/libs/ble_extend/doc/heartrate-api.txt b/GRIB_BLE_HUB/libs/ble_extend/doc/heartrate-api.txt deleted file mode 100644 index 665db12..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/doc/heartrate-api.txt +++ /dev/null @@ -1,77 +0,0 @@ -Heart Rate API description -************************** - - -Heart Rate Manager hierarchy -============================ - -Service org.bluez -Interface org.bluez.HeartRateManager1 -Object path [variable prefix]/{hci0,hci1,...} - -Methods RegisterWatcher(object agent) - - Registers a watcher to monitor heart rate measurements. - - Possible Errors: org.bluez.Error.InvalidArguments - - UnregisterWatcher(object agent) - - Unregisters a watcher. - -Heart Rate Profile hierarchy -============================ - -Service org.bluez -Interface org.bluez.HeartRate1 -Object path [variable prefix]/{hci0,hci1,...}/dev_XX_XX_XX_XX_XX_XX - -Methods Reset() - - Restart the accumulation of energy expended from zero. - - Possible Errors: org.bluez.Error.NotSupported - -Properties string Location (optional) [readonly] - - Possible values: "other", "chest", "wrist","winger", - "hand", "earlobe", "foot" - - boolean ResetSupported [readonly] - - True if energy expended is supported. - -Heart Rate Watcher hierarchy -============================ - -Service unique name -Interface org.bluez.HeartRateWatcher1 -Object path freely definable - -Methods void MeasurementReceived(object device, dict measurement) - - This callback is called whenever a heart rate - measurement is received from the heart rate device. - - Measurement: - - uint16 Value: - - Measurement value expressed in beats per - minute (bpm) - - uint16 Energy (optional): - - Accumulated energy expended in kilo Joules - - boolean Contact (optional): - - true if skin contact is detected by sensor, - false otherwise - - array{uint16} Interval (optional): - - RR-Interval values which represent the time - between two consecutive R waves in an ECG. - Values are ordered starting from oldest to - most recent. diff --git a/GRIB_BLE_HUB/libs/ble_extend/doc/media-api.txt b/GRIB_BLE_HUB/libs/ble_extend/doc/media-api.txt deleted file mode 100644 index 337422d..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/doc/media-api.txt +++ /dev/null @@ -1,571 +0,0 @@ -BlueZ D-Bus Media API description -********************************* - - -Media hierarchy -=============== - -Service org.bluez -Interface org.bluez.Media1 -Object path [variable prefix]/{hci0,hci1,...} - -Methods void RegisterEndpoint(object endpoint, dict properties) - - Register a local end point to sender, the sender can - register as many end points as it likes. - - Note: If the sender disconnects the end points are - automatically unregistered. - - possible properties: - - string UUID: - - UUID of the profile which the endpoint - is for. - - byte Codec: - - Assigned number of codec that the - endpoint implements. The values should - match the profile specification which - is indicated by the UUID. - - array{byte} Capabilities: - - Capabilities blob, it is used as it is - so the size and byte order must match. - - Possible Errors: org.bluez.Error.InvalidArguments - org.bluez.Error.NotSupported - emitted - when interface for the end-point is - disabled. - - void UnregisterEndpoint(object endpoint) - - Unregister sender end point. - - void RegisterPlayer(object player, dict properties) - - Register a media player object to sender, the sender - can register as many objects as it likes. - - Object must implement at least - org.mpris.MediaPlayer2.Player as defined in MPRIS 2.2 - spec: - - http://specifications.freedesktop.org/mpris-spec/latest/ - - Note: If the sender disconnects its objects are - automatically unregistered. - - Possible Errors: org.bluez.Error.InvalidArguments - org.bluez.Error.NotSupported - - void UnregisterPlayer(object player) - - Unregister sender media player. - - -Media Control hierarchy -======================= - -Service org.bluez -Interface org.bluez.MediaControl1 [Deprecated] -Object path [variable prefix]/{hci0,hci1,...}/dev_XX_XX_XX_XX_XX_XX - -Methods void Play() - - Resume playback. - - void Pause() - - Pause playback. - - void Stop() - - Stop playback. - - void Next() - - Next item. - - void Previous() - - Previous item. - - void VolumeUp() - - Adjust remote volume one step up - - void VolumeDown() - - Adjust remote volume one step down - - void FastForward() - - Fast forward playback, this action is only stopped - when another method in this interface is called. - - void Rewind() - - Rewind playback, this action is only stopped - when another method in this interface is called. - -Properties - - boolean Connected [readonly] - - -MediaPlayer1 hierarchy -====================== - -Service org.bluez (Controller role) -Interface org.bluez.MediaPlayer1 [Experimental] -Object path [variable prefix]/{hci0,hci1,...}/dev_XX_XX_XX_XX_XX_XX/playerX - -Methods void Play() - - Resume playback. - - void Pause() - - Pause playback. - - void Stop() - - Stop playback. - - void Next() - - Next item. - - void Previous() - - Previous item. - - void FastForward() - - Fast forward playback, this action is only stopped - when another method in this interface is called. - - void Rewind() - - Rewind playback, this action is only stopped - when another method in this interface is called. - -Properties string Equalizer [readwrite] - - Possible values: "off" or "on" - - string Repeat [readwrite] - - Possible values: "off", "singletrack", "alltracks" or - "group" - - string Shuffle [readwrite] - - Possible values: "off", "alltracks" or "group" - - string Scan [readwrite] - - Possible values: "off", "alltracks" or "group" - - string Status [readonly] - - Possible status: "playing", "stopped", "paused", - "forward-seek", "reverse-seek" - or "error" - - uint32 Position [readonly] - - Playback position in milliseconds. Changing the - position may generate additional events that will be - sent to the remote device. When position is 0 it means - the track is starting and when it's greater than or - equal to track's duration the track has ended. Note - that even if duration is not available in metadata it's - possible to signal its end by setting position to the - maximum uint32 value. - - dict Track [readonly] - - Track metadata. - - Possible values: - - string Title: - - Track title name - - string Artist: - - Track artist name - - string Album: - - Track album name - - string Genre: - - Track genre name - - uint32 NumberOfTracks: - - Number of tracks in total - - uint32 TrackNumber: - - Track number - - uint32 Duration: - - Track duration in milliseconds - - object Device [readonly] - - Device object path. - - string Name [readonly] - - Player name - - boolean Browsable [readonly] - - If present indicates the player can be browsed using - MediaFolder interface. - - Possible values: - - True: Supported and active - False: Supported but inactive - - Note: If supported but inactive clients can enable it - by using MediaFolder interface but it might interfere - in the playback of other players. - - - boolean Searchable [readonly] - - If present indicates the player can be searched using - MediaFolder interface. - - Possible values: - - True: Supported and active - False: Supported but inactive - - Note: If supported but inactive clients can enable it - by using MediaFolder interface but it might interfere - in the playback of other players. - - object Playlist - - Playlist object path. - -MediaFolder1 hierarchy -====================== - -Service unique name (Target role) - org.bluez (Controller role) -Interface org.bluez.MediaFolder1 [Experimental] -Object path freely definable (Target role) - [variable prefix]/{hci0,hci1,...}/dev_XX_XX_XX_XX_XX_XX/playerX - (Controller role) - -Methods object Search(string value, dict filter) - - Return a folder object containing the search result. - - To list the items found use the folder object returned - and pass to ChangeFolder. - - array{objects, properties} ListItems(dict filter) - - Return a list of items found - - void ChangeFolder(object folder) - - Change current folder. - - Note: By changing folder the items of previous folder - might be destroyed and have to be listed again, the - exception is NowPlaying folder which should be always - present while the player is active. - -Properties uint32 NumberOfItems: - - Number of items in the folder - - string Name: - - Folder name: - - Possible values: - "/Filesystem/...": Filesystem scope - "/NowPlaying/...": NowPlaying scope - - Note: /NowPlaying folder might not be listed if player - is stopped, folders created by Search are virtual so - once another Search is perform or the folder is - changed using ChangeFolder it will no longer be listed. - -Filters uint32 Start: - - Offset of the first item. - - Default value: 0 - - uint32 End: - - Offset of the last item. - - Default value: NumbeOfItems - - array{string} Attributes - - Item properties that should be included in the list. - - Possible Values: - - "title", "artist", "album", "genre", - "number-of-tracks", "number", "duration" - - Default Value: All - -MediaItem1 hierarchy -==================== - -Service unique name (Target role) - org.bluez (Controller role) -Interface org.bluez.MediaItem1 [Experimental] -Object path freely definable (Target role) - [variable - prefix]/{hci0,hci1,...}/dev_XX_XX_XX_XX_XX_XX/playerX/itemX - (Controller role) - -Methods void Play() - - Play item - - void AddtoNowPlaying() - - Add item to now playing list - -Properties string Name [readonly] - - Item displayable name - - string Type [readonly] - - Item type - - Possible values: "video", "audio", "folder" - - string FolderType [readonly, optional] - - Folder type. - - Possible values: "mixed", "titles", "albums", "artists" - - Available if property Type is "Folder" - - boolean Playable [readonly, optional] - - Indicates if the item can be played - - Available if property Type is "folder" - - string Title [readonly, optional] - - Item title name - - Available if property Type is "audio" or "video" - - string Artist [readonly, optional] - - Item artist name - - Available if property Type is "audio" or "video" - - string Album [readonly, optional] - - Item album name - - Available if property Type is "audio" or "video" - - string Genre [readonly, optional] - - Item genre name - - Available if property Type is "audio" or "video" - - uint32 NumberOfTracks [readonly, optional] - - Item album number of tracks in total - - Available if property Type is "audio" or "video" - - uint32 Number [readonly, optional] - - Item album number - - Available if property Type is "audio" or "video" - - uint32 Duration [readonly, optional] - - Item duration in milliseconds - - Available if property Type is "audio" or "video" - -MediaEndpoint1 hierarchy -======================== - -Service unique name -Interface org.bluez.MediaEndpoint1 -Object path freely definable - -Methods void SetConfiguration(object transport, dict properties) - - Set configuration for the transport. - - array{byte} SelectConfiguration(array{byte} capabilities) - - Select preferable configuration from the supported - capabilities. - - Returns a configuration which can be used to setup - a transport. - - Note: There is no need to cache the selected - configuration since on success the configuration is - send back as parameter of SetConfiguration. - - void ClearConfiguration(object transport) - - Clear transport configuration. - - void Release() - - This method gets called when the service daemon - unregisters the endpoint. An endpoint can use it to do - cleanup tasks. There is no need to unregister the - endpoint, because when this method gets called it has - already been unregistered. - - -MediaTransport1 hierarchy -========================= - -Service org.bluez -Interface org.bluez.MediaTransport1 -Object path [variable prefix]/{hci0,hci1,...}/dev_XX_XX_XX_XX_XX_XX/fdX - -Methods fd, uint16, uint16 Acquire() - - Acquire transport file descriptor and the MTU for read - and write respectively. - - Possible Errors: org.bluez.Error.NotAuthorized - org.bluez.Error.Failed - - fd, uint16, uint16 TryAcquire() - - Acquire transport file descriptor only if the transport - is in "pending" state at the time the message is - received by BlueZ. Otherwise no request will be sent - to the remote device and the function will just fail - with org.bluez.Error.NotAvailable. - - Possible Errors: org.bluez.Error.NotAuthorized - org.bluez.Error.Failed - org.bluez.Error.NotAvailable - - void Release() - - Releases file descriptor. - -Properties object Device [readonly] - - Device object which the transport is connected to. - - string UUID [readonly] - - UUID of the profile which the transport is for. - - byte Codec [readonly] - - Assigned number of codec that the transport support. - The values should match the profile specification which - is indicated by the UUID. - - array{byte} Configuration [readonly] - - Configuration blob, it is used as it is so the size and - byte order must match. - - string State [readonly] - - Indicates the state of the transport. Possible - values are: - "idle": not streaming - "pending": streaming but not acquired - "active": streaming and acquired - - uint16 Delay [readwrite] - - Optional. Transport delay in 1/10 of millisecond, this - property is only writeable when the transport was - acquired by the sender. - - boolean NREC [readwrite] - - Optional and HFP specific (external to BlueZ). - Indicates if echo cancelling and noise reduction - functions are active in the transport, this - property is only writeable when the transport - was acquired by the sender. - - boolean InbandRingtone [readwrite] - - Optional and HFP specific (external to BlueZ). - Indicates if the transport support sending - ringtones, this property is only writeable when - the transport was acquired by the sender. - - string Routing [readonly] - - Optional and HFP specific (external to BlueZ). - Indicates where is the transport being routed. - - Possible Values: "HCI" or "PCM" - - uint16 Volume [readwrite] - - Optional. Indicates volume level of the transport, - this property is only writeable when the transport was - acquired by the sender. - - Note: the property will not be present for HSP/HFP - transports and MicrophoneGain/SpeakerGain should be - used instead. - - Possible Values: 0-127 - - byte MicrophoneGain [readwrite] - - Optional. Indicates volume level of the transport's - incoming audio stream for HSP/HFP transports. This - property is only writeable when the transport was - acquired by the sender. - - Possible Values: 0-15 - - byte SpeakerGain [readwrite] - - Optional. Indicates volume level of the transport's - outgoing audio stream for HSP/HFP transports. This - property is only writeable when the transport was - acquired by the sender. - - Possible Values: 0-15 diff --git a/GRIB_BLE_HUB/libs/ble_extend/doc/mgmt-api.txt b/GRIB_BLE_HUB/libs/ble_extend/doc/mgmt-api.txt deleted file mode 100644 index 1e450e4..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/doc/mgmt-api.txt +++ /dev/null @@ -1,1623 +0,0 @@ -Bluetooth Management API -************************* - -Copyright (C) 2008-2009 Marcel Holtmann - - -This document describes the format of data used for communicating with -the kernel using a so-called Bluetooth Management sockets. These sockets -are available starting with Linux kernel version 3.4, and can be created -by setting the hci_channel member of struct sockaddr_hci to -HCI_CHANNEL_CONTROL (3) when creating a raw HCI socket. In C the needed -code would look something like the following: - -int mgmt_create(void) -{ - struct sockaddr_hci addr; - int fd; - - fd = socket(PF_BLUETOOTH, SOCK_RAW | SOCK_CLOEXEC | SOCK_NONBLOCK, - BTPROTO_HCI); - if (fd < 0) - return -errno; - - memset(&addr, 0, sizeof(addr)); - addr.hci_family = AF_BLUETOOTH; - addr.hci_dev = HCI_DEV_NONE; - addr.hci_channel = HCI_CHANNEL_CONTROL; - - if (bind(fd, (struct sockaddr *) &addr, sizeof(addr)) < 0) { - int err = -errno; - close(fd); - return err; - } - - return fd; -} - -The process creating the mgmt socket is required to have the -CAP_NET_ADMIN capability (e.g. root would have this). - - -Packet Structures -================= - - Commands: - - 0 4 8 12 16 22 24 28 31 35 39 43 47 - +-------------------+-------------------+-------------------+ - | Command Code | Controller Index | Parameter Length | - +-------------------+-------------------+-------------------+ - | | - - Events: - - 0 4 8 12 16 22 24 28 31 35 39 43 47 - +-------------------+-------------------+-------------------+ - | Event Code | Controller Index | Parameter Length | - +-------------------+-------------------+-------------------+ - | | - -All fields are in little-endian byte order (least significant byte first). - -Controller Index can have a special value to indicate that -command or event is not related to any controller. Possible values: - - 0x0000 to 0xFFFE - 0xFFFF - - -Error Codes -=========== - -The following values have been defined for use with the Command Status -and Command Complete events: - -0x00 Success -0x01 Unknown Command -0x02 Not Connected -0x03 Failed -0x04 Connect Failed -0x05 Authentication Failed -0x06 Not Paired -0x07 No Resources -0x08 Timeout -0x09 Already Connected -0x0A Busy -0x0B Rejected -0x0C Not Supported -0x0D Invalid Parameters -0x0E Disconnected -0x0F Not Powered -0x10 Cancelled -0x11 Invalid Index - - -Read Management Version Information Command -=========================================== - - Command Code: 0x0001 - Controller Index: - Command Parameters: - Return Parameters: Version (1 Octets) - Revision (2 Octets) - - This command returns the Management version and revision. - Besides, being informational the information can be used to - determine whether certain behavior has changed or bugs fixed - when interacting with the kernel. - - This command generates a Command Complete event on success or - a Command Status event on failure. - - -Read Management Supported Commands Command -========================================== - - Command Code: 0x0002 - Controller Index: - Command Parameters: - Return Parameters: Num_Of_Commands (2 Octets) - Num_Of_Events (2 Octets) - Command1 (2 Octets) - Command2 (2 Octets) - ... - Event1 (2 Octets) - Event2 (2 Octets) - ... - - This command returns the list of supported Management commands - and events. - - The commands Read Management Version Information and Read - management Supported Commands are not included in this list. - Both commands are always supported and mandatory. - - The events Command Status and Command Complete are not included - in this list. Both are implicit and mandatory. - - This command generates a Command Complete event on success or - a Command Status event on failure. - - -Read Controller Index List Command -================================== - - Command Code: 0x0003 - Controller Index: - Command Parameters: - Return Parameters: Num_Controllers (2 Octets) - Controller_Index[i] (2 Octets) - - This command returns the list of currently known controllers. - Controllers added or removed after calling this command can be - monitored using the Index Added and Index Removed events. - - This command generates a Command Complete event on success or - a Command Status event on failure. - - -Read Controller Information Command -=================================== - - Command Code: 0x0004 - Controller Index: - Command Parameters: - Return Parameters: Address (6 Octets) - Bluetooth_Version (1 Octet) - Manufacturer (2 Octets) - Supported_Settings (4 Octets) - Current_Settings (4 Octets) - Class_Of_Device (3 Octets) - Name (249 Octets) - Short_Name (11 Octets) - - This command is used to retreive the current state and basic - information of a controller. It is typically used right after - getting the response to the Read Controller Index List command - or an Index Added event. - - If not short name is set the Short_Name parameter will be empty - (begin with a nul byte). - - Current_Settings & Supported_Settings is a bitmask with - currently the following available bits: - - 1 Powered - 2 Connectable - 3 Fast Connectable - 4 Discoverable - 5 Pairable - 6 Link Level Security (Sec. mode 3) - 7 Secure Simple Pairing - 8 Basic Rate/Enhanced Data Rate - 9 High Speed - 10 Low Energy - - This command generates a Command Complete event on success or - a Command Status event on failure. - - Possible errors: Invalid Parameters - Invalid Index - - -Set Powered Command -=================== - - Command Code: 0x0005 - Controller Index: - Command Parameters: Powered (1 Octet) - Return Parameters: Current_Settings (4 Octets) - - This command is used to power on or off a controller. The - allowed Powered command parameter values are 0x00 and 0x01. All - other values will return Invalid Parameters. - - If discoverable setting is activated with a timeout, then - switching the controller off will expire this timeout and - disable discoverable. - - This command generates a Command Complete event on success or - a Command Status event on failure. - - Possible errors: Busy - Invalid Parameters - Invalid Index - - -Set Discoverable Command -======================== - - Command Code: 0x0006 - Controller Index: - Command Parameters: Discoverable (1 Octet) - Timeout (2 Octets) - Return Parameters: Current_Settings (4 Octets) - - This command is used to set the discoverable property of a - controller. The allowed Discoverable command parameter values - are 0x00 and 0x01. All other values will return Invalid Parameters. - - Timeout is the time in seconds and is only meaningful when - Discoverable is set to 0x01. Providing a timeout with 0x00 will - return Invalid Parameters. - - This command is only available for BR/EDR capable controllers - (e.g. not for single-mode LE ones). It will return Not Supported - otherwise. - - This command can be used when the controller is not powered and - all settings will be programmed once powered. - - However using a timeout when the controller is not powered will - return Not Powered error. - - When switching discoverable on and the connectable setting is - off it will return Rejected error. - - This command generates a Command Complete event on success or - a Command Status event on failure. - - Possible errors: Busy - Rejected - Not Supported - Invalid Parameters - Not Powered - Invalid Index - - -Set Connectable Command -======================= - - Command Code: 0x0007 - Controller Index: - Command Parameters: Connectable (1 Octet) - Return Parameters: Current_Settings (4 Octets) - - This command is used to set the connectable property of a - controller. The allowed Connectable command parameter values are - 0x00 and 0x01. All other values will return Invalid Parameters. - - This command is only available for BR/EDR capable controllers - (e.g. not for single-mode LE ones). It will return Not Supported - otherwise. - - This command can be used when the controller is not powered and - all settings will be programmed once powered. - - When switching connectable off, it will also switch off the - discoverable setting. Switching connectable back on will not - restore a previous discoverable. It will stay off and needs - to be manually switched back on. - - When switching connectable off, it will expire a discoverable - setting with a timeout. - - This command generates a Command Complete event on success or - a Command Status event on failure. - - Possible errors: Busy - Not Supported - Invalid Parameters - Invalid Index - - -Set Fast Connectable Command -============================ - - Command Code: 0x0008 - Controller Index: - Command Parameters: Enable (1 Octet) - Return Parameters: Current_Settings (4 Octets) - - This command is used to set the controller into a connectable - state where the page scan parameters have been set in a way to - favor faster connect times with the expense of higher power - consumption. - - The allowed values of the Enable command parameter are 0x00 and - 0x01. All other values will return Invalid Parameters. - - This command is only available for BR/EDR capable controllers - (e.g. not for single-mode LE ones). It will return Not Supported - otherwise. - - This command can only be used when the controller is powered on - and will return Not Powerd otherwise. - - If connectable is not set, then this command will fail with - Rejected error. - - This command generates a Command Complete event on success or - a Command Status event on failure. - - Possible errors: Failed - Busy - Rejected - Not Supported - Invalid Parameters - Not Powered - Invalid Index - - -Set Pairable Command -==================== - - Command Code: 0x0009 - Controller Index: - Command Parameters: Pairable (1 Octet) - Return Parameters: Current_Settings (4 Octets) - - This command is used to set the pairable property of an - controller. The allowed values for the Pairable command - parameter are 0x00 and 0x01. All other values will return - Invalid Parameters. - - This command can be used when the controller is not powered and - all settings will be programmed once powered. - - Turning pairable on will not automatically switch the controller - into connectable mode. That needs to be done separately. - - The setting will be remembered during power down/up toggles. - - This command generates a Command Complete event on success or - a Command Status event on failure. - - Possible errors: Invalid Parameters - Invalid Index - - -Set Link Security Command -========================= - - Command Code: 0x000A - Controller Index: - Command Parameters: Link_Security (1 Octet) - Return Parameters: Current_Settings (4 Octets) - - This command is used to either enable or disable link level - security for an controller (also known as Security Mode 3). The - allowed values for the Link_Security command parameter are 0x00 - and 0x01. All other values will return Invalid Parameters. - - This command is only available for BR/EDR capable controllers - (e.g. not for single-mode LE ones). It will return Not Supported - otherwise. - - This command can be used when the controller is not powered and - all settings will be programmed once powered. - - This command generates a Command Complete event on success or - a Command Status event on failure. - - Possible errors: Busy - Not Supported - Invalid Parameters - Invalid Index - - -Set Secure Simple Pairing Command -================================= - - Command Code: 0x000B - Controller Index: - Command Parameters: Secure_Simple_Pairing (1 Octet) - Return Parameters: Current_Settings (4 Octets) - - This command is used to enable/disable Secure Simple Pairing - support for a controller. The allowed values for the - Secure_Simple_Pairing command parameter are 0x00 and 0x01. All - other values will return Invalid Parameters. - - This command is only available for BR/EDR capable controllers - supporting the core specification version 2.1 or greater - (e.g. not for single-mode LE controllers or pre-2.1 ones). - - This command can be used when the controller is not powered and - all settings will be programmed once powered. - - In case the controller does not support Secure Simple Pairing, - the command will fail regardless with Not Supported error. - - This command generates a Command Complete event on success or - a Command Status event on failure. - - Possible errors: Busy - Not Supported - Invalid Parameters - Invalid Index - -Set High Speed Command -====================== - - Command Code: 0x000C - Controller Index: - Command Parameters: High_Speed (1 Octet) - Return Parameters: Current_Settings (4 Octets) - - This command is used to enable/disable Bluetooth High Speed - support for a controller. The allowed values for the High_Speed - command parameter are 0x00 and 0x01. All other values will - return Invalid Parameters. - - This command is only available for BR/EDR capable controllers - (e.g. not for single-mode LE ones). - - This command can be used when the controller is not powered and - all settings will be programmed once powered. - - In case the kernel subsystem does not support High Speed, the - command will fail regardless with Not Supported error. - - This command generates a Command Complete event on success or - a Command Status event on failure. - - Possible errors: Not Supported - Invalid Parameters - Invalid Index - - -Set Low Energy Command -====================== - - Command Code: 0x000D - Controller Index: - Command Parameters: Low_Energy (1 Octet) - Return Parameters: Current_Settings (4 Octets) - - This command is used to enable/disable Low Energy support for a - controller. The allowed values of the Low_Energy command - parameter are 0x00 and 0x01. All other values will return - Invalid Parameters. - - This command is only available for LE capable controllers and - will yield in a Not Supported error otherwise. - - This command can be used when the controller is not powered and - all settings will be programmed once powered. - - In case the kernel subsystem does not support Low Energy or the - controller does not either, the command will fail regardless. - - This command generates a Command Complete event on success or - a Command Status event on failure. - - Possible errors: Not Supported - Invalid Parameters - Invalid Index - - -Set Device Class -================ - - Command Code: 0x000E - Controller Index: - Command Parameters: Major_Class (1 Octet) - Minor_Class (1 Octet) - Return Parameters: Class_Of_Device (3 Octets) - - This command is used to set the major and minor device class for - BR/EDR capable controllers. - - This command will also implicitly disable caching of pending CoD - and EIR updates. - - This command is only available for BR/EDR capable controllers - (e.g. not for single-mode LE ones). - - This command can be used when the controller is not powered and - all settings will be programmed once powered. - - In case the controller is powered off, 0x000000 will be returned - for the class of device parameter. And after power on the new - value will be announced via class of device changed event. - - This command generates a Command Complete event on success or - a Command Status event on failure. - - Possible errors: Busy - Not Supported - Invalid Parameters - Invalid Index - - -Set Local Name Command -====================== - - Command Code: 0x000F - Controller Index: - Command Parameters: Name (249 Octets) - Short_Name (11 Octets) - Return Parameters: Name (249 Octets) - Short_Name (11 Octets) - - This command is used to set the local name of a controller. The - command parameters also include a short name which will be used - in case the full name doesn't fit within EIR/AD data. - - The name parameters need to always end with a null byte (failure - to do so will cause the command to fail). - - This command can be used when the controller is not powered and - all settings will be programmed once powered. - - The values of name and short name will be remembered when - switching the controller off and back on again. So the name - and short name only have to be set once when a new controller - is found and will stay until removed. - - This command generates a Command Complete event on success or - a Command Status event on failure. - - Possible errors: Invalid Parameters - Invalid Index - - -Add UUID Command -================ - - Command Code: 0x0010 - Controller Index: - Command Parameters: UUID (16 Octets) - SVC_Hint (1 Octet) - Return Parameters: Class_Of_Device (3 Octets) - - This command is used to add a UUID to be published in EIR - and/or AD data. The accompanied SVC_Hint parameter is used to - tell the kernel whether the service class bits of the Class of - Device value need modifying due to this UUID. - - This command can be used when the controller is not powered and - all settings will be programmed once powered. - - In case the controller is powered off, 0x000000 will be returned - for the class of device parameter. And after power on the new - value will be announced via class of device changed event. - - This command generates a Command Complete event on success or - a Command Status event on failure. - - Possible errors: Busy - Invalid Parameters - Invalid Index - - -Remove UUID Command -=================== - - Command Code: 0x0011 - Controller Index: - Command Parameters: UUID (16 Octets) - Return Parameters: Class_Of_Device (3 Octets) - - This command is used to remove a UUID previously added using the - Add UUID command. - - When the UUID parameter is an empty UUID (16 x 0x00), then all - previously loaded UUIDs will be removed. - - This command can be used when the controller is not powered and - all settings will be programmed once powered. - - In case the controller is powered off, 0x000000 will be returned - for the class of device parameter. And after power on the new - value will be announced via class of device changed event. - - This command generates a Command Complete event on success or - a Command Status event on failure. - - Possible errors: Busy - Invalid Parameters - Invalid Index - - -Load Link Keys Command -====================== - - Command Code: 0x0012 - Controller Index: - Command Parameters: Debug_Keys (1 Octet) - Key_Count (2 Octets) - Key1 { - Address (6 Octets) - Address_Type (1 Octet) - Key_Type (1 Octet) - Value (16 Octets) - PIN_Length (1 Octet) - } - Key2 { } - ... - Return Parameters: - - This command is used to feed the kernel with currently known - link keys. The command does not need to be called again upon the - receiption of new link key events since the kernel updates its - list automatically. - - The Debug_Keys parameter is used to tell the kernel whether to - accept the usage of debug keys or not. The allowed values for - this parameter are 0x00 and 0x01. All other values will return - an Invalid Parameters response. - - This command can be used when the controller is not powered. - - This command generates a Command Complete event on success or - a Command Status event on failure. - - Possible errors: Invalid Parameters - Invalid Index - - -Load Long Term Keys Command -=========================== - - Command Code: 0x0013 - Controller Index: - Command Parameters: Key Count (2 Octets) - Key1 { - Address (6 Octets) - Address_Type (1 Octet) - Authenticated (1 Octet) - Master (1 Octet) - Encryption Size (1 Octet) - Enc. Diversifier (2 Octets) - Random Number (8 Octets) - Value (16 Octets) - } - Key2 { } - ... - Return Parameters: - - This command is used to feed the kernel with currently known - (SMP) Long Term Keys. The command does not need to be called - again upon the receiption of new Long Term Key events since the - kernel updates its list automatically. - - This command can be used when the controller is not powered. - - This command generates a Command Complete event on success or - a Command Status event on failure. - - Possible errors: Invalid Parameters - Invalid Index - - -Disconnect Command -================== - - Command Code: 0x0014 - Controller Index: - Command Parameters: Address (6 Octets) - Address_Type (1 Octet) - Return Parameters: Address (6 Octets) - Address_Type (1 Octet) - - This command is used to force the disconnection of a currently - connected device. - - This command can only be used when the controller is powered. - - This command generates a Command Complete event on success - or failure. - - Possible errors: Not Connected - Busy - Invalid Parameters - Not Powered - Invalid Index - - -Get Connections Command -======================= - - Command Code: 0x0015 - Controller Index: - Command Parameters: - Return Parameters: Connection_Count (2 Octets) - Address1 { - Address (6 Octets) - Address_Type (1 Octet) - } - Address2 { } - ... - - This command is used to retreive a list of currently connected - devices. - - Possible values for the Address_Type parameter: - 0 BR/EDR - 1 LE Public - 2 LE Random - - This command can only be used when the controller is powered. - - This command generates a Command Complete event on success or - a Command Status event on failure. - - Possible errors: Invalid Parameters - Not Powered - Invalid Index - - -PIN Code Reply Command -======================= - - Command Code: 0x0016 - Controller Index: - Command Parameters: Address (6 Octets) - Address_Type (1 Octet) - PIN_Length (1 Octet) - PIN_Code (16 Octets) - Return Parameters: Address (6 Octets) - Address_Type (1 Octet) - - This command is used to respond to a PIN Code request event. - - This command can only be used when the controller is powered. - - This command generates a Command Complete event on success - or failure. - - Possible errors: Not Connected - Invalid Parameters - Not Powered - Invalid Index - - -PIN Code Negative Reply Command -=============================== - - Command Code: 0x0017 - Controller Index: - Command Parameters: Address (6 Octets) - Address_Type (1 Octet) - Return Parameters: Address (6 Octets) - Address_Type (1 Octet) - - This command is used to return a negative response to a PIN Code - Request event. - - This command can only be used when the controller is powered. - - This command generates a Command Complete event on success - or failure. - - Possible errors: Not Connected - Invalid Parameters - Not Powered - Invalid Index - - -Set IO Capability Command -========================= - - Command Code: 0x0018 - Controller Index: - Command Parameters: IO_Capability (1 Octet) - Return Parameters: - - This command is used to set the IO Capability used for pairing. - The command accepts both SSP and SMP values. The KeyboardDisplay - SMP value (which doesn't exist for SSP will) automatically be - downgraded to DisplayYesNo by the kernel for SSP pairing events. - - This command can be used when the controller is not powered. - - This command generates a Command Complete event on success or - a Command Status event on failure. - - Possible errors: Invalid Parameters - Invalid Index - -Pair Device Command -=================== - - Command Code: 0x0019 - Controller Index: - Command Parameters: Address (6 Octets) - Address_Type (1 Octet) - IO_Capability (1 Octet) - Return Parameters: Address (6 Octets) - Address_Type (1 Octet) - - This command is used to trigger pairing with a remote device. - The IO_Capability command parameter is used to temporarily (for - this pairing event only) override the global IO Capaility (set - using the Set IO Capability command). - - Possible values for the Address_Type parameter: - 0 BR/EDR - 1 LE Public - 2 LE Random - - This command can only be used when the controller is powered. - - This command generates a Command Complete event on success - or failure. - - Possible errors: Connect Failed - Busy - Invalid Parameters - Not Powered - Invalid Index - - -Cancel Pair Device -================== - - Command Code: 0x001A - Controller Index: - Command Parameters: Address (6 Octets) - Address_Type (1 Octet) - Return Parameters: Address (6 Octets) - Address_Type (1 Octet) - - The Address and Address_Type parameters should match what was - given to a preceding Pair Device command. - - This command can only be used when the controller is powered. - - This command generates a Command Complete event on success - or failure. - - Possible errors: Invalid Parameters - Not Powered - Invalid Index - - -Unpair Device Command -===================== - - Command Code: 0x001B - Controller Index: - Command Parameters: Address (6 Octets) - Address_Type (1 Octet) - Disconnect (1 Octet) - Return Parameters: Address (6 Octets) - Address_Type (1 Octet) - - Removes all keys associated with the remote device. - - The Disconnect parameter tells the kernel whether to forcefully - disconnect any existing connections to the device. It should in - practice always be 1 except for some special GAP qualification - test-cases where a key removal without disconnecting is needed. - - This command can only be used when the controller is powered. - - This command generates a Command Complete event on success - or failure. - - Possible errors: Not Paired - Invalid Parameters - Not Powered - Invalid Index - - -User Confirmation Reply Command -=============================== - - Command Code: 0x001C - Controller Index: - Command Parameters: Address (6 Octets) - Address_Type (1 Octet) - Return Parameters: Address (6 Octets) - Address_Type (1 Octet) - - This command is used to respond to a User Confirmation Request - event. - - This command can only be used when the controller is powered. - - This command generates a Command Complete event on success - or failure. - - Possible errors: Not Connected - Invalid Parameters - Not Powered - Invalid Index - - -User Confirmation Negative Reply Command -======================================== - - Command Code: 0x001D - Controller Index: - Command Parameters: Address (6 Octets) - Address_Type (1 Octet) - Return Parameters: Address (6 Octets) - Address_Type (1 Octet) - - This command is used to return a negative response to a User - Confirmation Request event. - - This command can only be used when the controller is powered. - - This command generates a Command Complete event on success - or failure. - - Possible errors: Not Connected - Invalid Parameters - Not Powered - Invalid Index - - -User Passkey Reply Command -========================== - - Command Code: 0x001E - Controller Index: - Command Parameters: Address (6 Octets) - Address_Type (1 Octet) - Passkey (4 Octets) - Return Parameters: Address (6 Octets) - Address_Type (1 Octet) - - This command is used to respond to a User Confirmation Passkey - Request event. - - This command can only be used when the controller is powered. - - This command generates a Command Complete event on success - or failure. - - Possible errors: Not Connected - Invalid Parameters - Not Powered - Invalid Index - - -User Passkey Negative Reply Command -=================================== - - Command Code: 0x001F - Controller Index: - Command Parameters: Address (6 Octets) - Address_Type (1 Octet) - Return Parameters: Address (6 Octets) - Address_Type (1 Octet) - - This command is used to return a negative response to a User - Passkey Request event. - - This command can only be used when the controller is powered. - - This command generates a Command Complete event on success - or failure. - - Possible errors: Not Connected - Invalid Parameters - Not Powered - Invalid Index - - -Read Local Out Of Band Data Command -=================================== - - Command Code: 0x0020 - Controller Index: - Command Parameters: - Return Parameters: Hash (16 Octets) - Randomizer (16 Octets) - - This command is used to read the local Out of Band data. - - This command can only be used when the controller is powered. - - This command generates a Command Complete event on success or - a Command Status event on failure. - - Possible errors: Not Supported - Busy - Invalid Parameters - Not Powered - Invalid Index - - -Add Remote Out Of Band Data Command -=================================== - - Command Code: 0x0021 - Controller Index: - Command Parameters: Address (6 Octets) - Address_Type (1 Octet) - Hash (16 Octets) - Randomizer (16 Octets) - Return Parameters: Address (6 Octets) - Address_Type (1 Octet) - - This command is used to provide Out of Band data for a remote - device. - - Provided Out Of Band data is persistent over power down/up toggles. - - This command generates a Command Complete event on success - or failure. - - Possible errors: Failed - Invalid Parameters - Not Powered - Invalid Index - - -Remove Remote Out Of Band Data Command -====================================== - - Command Code: 0x0022 - Controller Index: - Command Parameters: Address (6 Octets) - Address_Type (1 Octet) - Return Parameters: Address (6 Octets) - Address_Type (1 Octet) - - This command is used to remove data added using the Add Remote - Out Of Band Data command. - - This command generates a Command Complete event on success - or failure. - - Possible errors: Invalid Parameters - Not Powered - Invalid Index - - -Start Discovery Command -======================= - - Command Code: 0x0023 - Controller Index: - Command Parameters: Address_Type (1 Octet) - Return Parameters: Address_Type (1 Octet) - - This command is used to start the process of discovering remote - devices. A Device Found event will be sent for each discovered - device. - - Possible values for the Address_Type parameter are a bit-wise or - of the following bits: - - 1 BR/EDR - 2 LE Public - 3 LE Random - - By combining these e.g. the following values are possible: - - 1 BR/EDR - 6 LE (public & random) - 7 BR/EDR/LE (interleaved discovery) - - This command can only be used when the controller is powered. - - This command generates a Command Complete event on success - or failure. - - Possible errors: Busy - Not Supported - Invalid Parameters - Not Powered - Invalid Index - - -Stop Discovery Command -====================== - - Command Code: 0x0024 - Controller Index: - Command Parameters: Address_Type (1 Octet) - Return Parameters: Address_Type (1 Octet) - - This command is used to stop the discovery process started using - the Start Discovery command. - - This command can only be used when the controller is powered. - - This command generates a Command Complete event on success - or failure. - - Possible errors: Rejected - Invalid Parameters - Invalid Index - - -Confirm Name Command -==================== - - Command Code: 0x0025 - Controller Index: - Command Parameters: Address (6 Octets) - Address_Type (1 Octet) - Name_Known (1 Octet) - Return Parameters: Address (6 Octets) - Address_Type (1 Octet) - - This command is only valid during device discovery and is - expected for each Device Found event with the Confirm Name - flag set. - - This command can only be used when the controller is powered. - - This command generates a Command Complete event on success - or failure. - - Possible errors: Failed - Invalid Parameters - Invalid Index - - -Block Device Command -==================== - - Command Code: 0x0026 - Controller Index: - Command Parameters: Address (6 Octets) - Address_Type (1 Octet) - Return Parameters: Address (6 Octets) - Address_Type (1 Octet) - - This command is used to add a device to the list of devices - which should be blocked from being connect to the local - controller. - - This command can be used when the controller is not powered. - - This command generates a Command Complete event on success - or failure. - - Possible errors: Failed - Invalid Parameters - Invalid Index - - -Unblock Device Command -====================== - - Command Code: 0x0027 - Controller Index: - Command Parameters: Address (6 Octets) - Address_Type (1 Octet) - Return Parameters: Address (6 Octets) - Address_Type (1 Octet) - - This command is used to remove a device from the list of blocked - devices (where it was added to using the Block Device command). - - This command can be used when the controller is not powered. - - This command generates a Command Complete event on success - or failure. - - Possible errors: Invalid Parameters - Invalid Index - - -Set Device ID Command -===================== - - Command Code: 0x0028 - Controller Index: - Command Parameters: Source (2 Octets) - Vendor (2 Octets) - Product (2 Octets) - Version (2 Octets) - Return Parameters: - - This command can be used when the controller is not powered and - all settings will be programmed once powered. - - The Source parameter selects the organization that assigned the - Vendor parameter: - - 0x0000 Disable Device ID - 0x0001 Bluetooth SIG - 0x0002 USB Implementer’s Forum - - The information are put into the EIR data. If the controller does - not support EIR or if SSP is disabled, this command will still - succeed. The information are stored for later use and will survive - toggling SSP on and off. - - This command generates a Command Complete event on success or - a Command Status event on failure. - - Possible errors: Invalid Parameters - Invalid Index - - -Command Complete Event -====================== - -Event Code 0x0001 -Controller Index: or -Event Parameters Command_Opcode (2 Octets) - Status (1 Octet) - Return_Parameters - - This event is an indication that a command has completed. The - fixed set of parameters includes the opcode to identify the - command that completed as well as a status value to indicate - success or failure. The rest of the parameters are command - specific and documented in the section for each command - separately. - - -Command Status Event -==================== - -Event Code 0x0002 -Controller Index: or -Event Parameters Command_Opcode (2 Octets) - Status (1 Octet) - - The command status event is used to indicate an early status for - a pending command. In the case that the status indicates failure - (anything else except success status) this also means that the - command has finished executing. - - -Controller Error Event -====================== - -Event Code 0x0003 -Controller Index: -Event Parameters Error_Code (1 Octet) - - This event maps straight to the HCI Hardware Error event and is - used to indicate something wrong with the controller hardware. - - -Index Added Event -================= - -Event Code 0x0004 -Controller Index: -Event Parameters - - This event indicates that a new controller has been added to the - system. It is usually followed by a Read Controller Information - command. - - -Index Removed Event -=================== - -Event Code 0x0005 -Controller Index: -Event Parameters - - This event indicates that a controller has been removed from the - system. - - -New Settings Event -================== - -Event Code 0x0006 -Controller Index: -Event Parameters: Current_Settings (4 Octets) - - This event indicates that one or more of the settings for a - controller has changed. - - -Class Of Device Changed Event -============================= - -Event Code 0x0007 -Controller Index: -Event Parameters: Class_Of_Device (3 Octets) - - This event indicates that the Class of Device value for the - controller has changed. When the controller is powered off the - Class of Device value will always be reported as zero. - - -Local Name Changed Event -======================== - -Event Code 0x0008 -Controller Index -Event Parameters Name (249 Octets) - Short_Name (11 Octets) - - This event indicates that the local name of the controller has - changed. - - -New Link Key Event -================== - -Event Code 0x0009 -Controller Index: -Event Parametersa Store_Hint (1 Octet) - Key { - Address (6 Octets) - Address_Type (1 Octet) - Key_Type (1 Octet) - Value (16 Octets) - PIN_Length (1 Octet) - } - - This event indicates that a new link key has bee generated for a - remote device. The Store_Hint parameter indicates whether the - host is expected to store the key persistently or not (e.g. this - would not be set if the authentication requirement was "No - Bonding"). - - -New Long Term Key Event -======================= - -Event Code 0x000A -Controller Index -Event Parameters Store_Hint (1 Octet) - Key { - Address (6 Octets) - Address_Type (1 Octet) - Authenticated (1 Octet) - Master (1 Octet) - Encryption Size (1 Octet) - Enc. Diversifier (2 Octets) - Random Number (8 Octets) - Value (16 Octets) - } - - This event indicates that a new long term key has bee generated - for a remote device. The Store_Hint parameter indicates whether - the host is expected to store the key persistently or not (e.g. - this would not be set if the authentication requirement was "No - Bonding"). - - -Device Connected Event -====================== - -Event Code 0x000B -Controller Index: -Event Parameters Address (6 Octets) - Address_Type (1 Octet) - Flags (4 Octets) - EIR_Data_Length (2 Octets) - EIR_Data (0-65535 Octets) - - Possible values for the Address_Type parameter: - 0 BR/EDR - 1 LE Public - 2 LE Random - - The following bits are defined for the Flags parameter: - 0 Reserved (not in use) - 1 Legacy Pairing - - This event indicates that a successful baseband connection has - been created to the remote device. - - -Device Disconnected Event -========================= - -Event Code 0x000C -Controller Index: -Event Parameters Address (6 Octets) - Address_Type (1 Octet) - Reason (1 Octet) - - This event indicates that the baseband connection was lost to a - remote device. - - Possible values for the Address_Type parameter: - 0 BR/EDR - 1 LE Public - 2 LE Random - - Possible values for the Reason parameter: - 0 Unspecified - 1 Connection timeout - 2 Connection terminated by local host - 3 Connection terminated by remote host - - Note that the local/remote distinction just determines which side - terminated the low-level connection, regardless of the - disconnection of the higher-level profiles. - - This can sometimes be misleading and thus must be used with care. - For example, some hardware combinations would report a locally - initiated disconnection even if the user turned Bluetooth off in - the remote side. - - -Connect Failed Event -==================== - -Event Code 0x000D -Controller Index: -Event Parameters Address (6 Octets) - Address_Type (1 Octet) - Status (1 Octet) - - This event indicates that a connection attempt failed to a - remote device. - - Possible values for the Address_Type parameter: - 0 BR/EDR - 1 LE Public - 2 LE Random - - -PIN Code Request Event -====================== - -Event Code 0x000E -Controller Index: -Event Parameters Address (6 Octets) - Address_Type (1 Octet) - Secure (1 Octet) - - This event is used to request a PIN Code reply from user space. - The reply should either be returned using the PIN Code Reply or - the PIN Code Negative Reply command. - - Secure: 0x01 secure PIN code required - 0x00 secure PIN code not required - - -User Confirmation Request Event -=============================== - -Event Code 0x000F -Controller Index: -Event Parameters Address (6 Octets) - Address_Type (1 Octet) - Confirm_Hint (1 Octet) - Value (4 Octets) - - This event is used to request a user confirmation request from - user space. If the Confirm_Hint parameter value is 0x01 this - means that a simple "Yes/No" confirmation should be presented to - the user instead of a full numerical confirmation (in which case - the parameter value will be 0x00). - - User space should respond to this command either using the User - Confirmation Reply or the User Confirmation Negative Reply - command. - - -User Passkey Request Event -========================== - -Event Code 0x0010 -Controller Index: -Event Parameters Address (6 Octets) - Address_Type (1 Octet) - - This event is used to request a passkey from user space. The - response to this event should either be the User Passkey Reply - command or the User Passkey Negative Reply command. - - -Authentication Failed Event -=========================== - -Event Code 0x0011 -Controller Index: -Event Parameters Address (6 Octets) - Address_Type (1 Octet) - Status (1 Octet) - - This event indicates that there was an authentication failure - with a remote device. - - -Device Found Event -================== - -Event Code 0x0012 -Controller Index -Event Parameters Address (6 Octets) - Address_Type (1 Octet) - RSSI (1 Octet) - Flags (4 Octets) - EIR_Data_Length (2 Octets) - EIR_Data (0-65535 Octets) - - This event indicates that a device was found during device - discovery. - - Possible values for the Address_Type parameter: - 0 BR/EDR - 1 LE Public - 2 LE Random - - The following bits are defined for the Flags parameter: - 0 Confirm name - 1 Legacy Pairing - - The Confirm name flag indicates that the kernel wants to know - whether user space knows the name for this device or not. If - this flag is set user space should respond to it using the - Confirm Name command. - - The Legacy Pairing flag indicates that Legacy Pairing is likely - to occur when pairing with this device. An application could use - this information to optimize the pairing process by locally - pre-generating a PIN code and thereby eliminate the risk of - local input timeout when pairing. Note that there is a risk of - false-positives for this flag so user space should be able to - handle getting something else as a PIN Request when pairing. - - -Discovering Event -================= - -Event Code 0x0013 -Controller Index -Event Parameters Address_Type (1 Octet) - Discovering (1 Octet) - - This event indicates that the controller has started discovering - devices. This discovering state can come and go multiple times - between a StartDiscover and a StopDiscovery command. - - The valid values for the Discovering parameter are 0x01 - (enabled) and 0x00 (disabled). - - -Device Blocked Event -==================== - -Event Code 0x0014 -Controller Index -Event Parameters Address (6 Octets) - Address_Type (1 Octet) - - This event indicates that a device has been blocked using the - Block Device command. The event will only be sent to Management - sockets other than the one through which the command was sent. - - -Device Unblocked Event -====================== - -Event Code 0x0015 -Controller Index -Event Parameters Address (6 Octets) - Address_Type (1 Octet) - - This event indicates that a device has been unblocked using the - Unblock Device command. The event will only be sent to - Management sockets other than the one through which the command - was sent. - - -Device Unpaired Event -===================== - -Event Code 0x0016 -Controller Index -Event Parameters Address (6 Octets) - Address_Type (1 Octet) - - This event indicates that a device has been unpaired (i.e. all - its keys have been removed from the kernel) using the Unpair - Device command. The event will only be sent to Management - sockets other than the one through which the Unpair Device - command was sent. - - -Passkey Notify Event -==================== - -Event Code 0x0017 -Controller Index -Event Parameters Address (6 Octets) - Address_Type (1 Octet) - Passkey (4 Octets) - Entered (1 Octet) - - This event is used to request passkey notification to the user. - Unlike the other authentication events it does not need - responding to using any Management command. - - The Passkey parameter indicates the passkey to be shown to the - user whereas the Entered parameter indicates how many characters - the user has entered on the remote side. diff --git a/GRIB_BLE_HUB/libs/ble_extend/doc/network-api.txt b/GRIB_BLE_HUB/libs/ble_extend/doc/network-api.txt deleted file mode 100644 index 109da28..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/doc/network-api.txt +++ /dev/null @@ -1,76 +0,0 @@ -BlueZ D-Bus Network API description -*********************************** - - -Network hierarchy -================= - -Service org.bluez -Interface org.bluez.Network1 -Object path [variable prefix]/{hci0,hci1,...}/dev_XX_XX_XX_XX_XX_XX - -Methods string Connect(string uuid) - - Connect to the network device and return the network - interface name. Examples of the interface name are - bnep0, bnep1 etc. - - uuid can be either one of "gn", "panu" or "nap" (case - insensitive) or a traditional string representation of - UUID or a hexadecimal number. - - The connection will be closed and network device - released either upon calling Disconnect() or when - the client disappears from the message bus. - - Possible errors: org.bluez.Error.AlreadyConnected - org.bluez.Error.ConnectionAttemptFailed - - void Disconnect() - - Disconnect from the network device. - - To abort a connection attempt in case of errors or - timeouts in the client it is fine to call this method. - - Possible errors: org.bluez.Error.Failed - -Properties boolean Connected [readonly] - - Indicates if the device is connected. - - string Interface [readonly] - - Indicates the network interface name when available. - - string UUID [readonly] - - Indicates the connection role when available. - - -Network server hierarchy -======================== - -Service org.bluez -Interface org.bluez.NetworkServer1 -Object path /org/bluez/{hci0,hci1,...} - -Methods void Register(string uuid, string bridge) - - Register server for the provided UUID. Every new - connection to this server will be added the bridge - interface. - - Valid UUIDs are "gn", "panu" or "nap". - - Initially no network server SDP is provided. Only - after this method a SDP record will be available - and the BNEP server will be ready for incoming - connections. - - void Unregister(string uuid) - - Unregister the server for provided UUID. - - All servers will be automatically unregistered when - the calling application terminates. diff --git a/GRIB_BLE_HUB/libs/ble_extend/doc/obex-agent-api.txt b/GRIB_BLE_HUB/libs/ble_extend/doc/obex-agent-api.txt deleted file mode 100644 index 3923da6..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/doc/obex-agent-api.txt +++ /dev/null @@ -1,61 +0,0 @@ -OBEX D-Bus Agent API description -******************************** - - -Agent Manager hierarchy -======================= - -Service org.bluez.obex -Interface org.bluez.obex.AgentManager1 -Object path /org/bluez/obex - -Methods void RegisterAgent(object agent) - - Register an agent to request authorization of - the user to accept/reject objects. Object push - service needs to authorize each received object. - - Possible errors: org.bluez.obex.Error.AlreadyExists - - void UnregisterAgent(object agent) - - This unregisters the agent that has been previously - registered. The object path parameter must match the - same value that has been used on registration. - - Possible errors: org.bluez.obex.Error.DoesNotExist - - -Agent hierarchy -=============== - -Service unique name -Interface org.bluez.obex.Agent1 -Object path freely definable - -Methods void Release() - - This method gets called when the service daemon - unregisters the agent. An agent can use it to do - cleanup tasks. There is no need to unregister the - agent, because when this method gets called it has - already been unregistered. - - string AuthorizePush(object transfer) - - This method gets called when the service daemon - needs to accept/reject a Bluetooth object push request. - - Returns the full path (including the filename) where - the object shall be stored. The tranfer object will - contain a Filename property that contains the default - location and name that can be returned. - - Possible errors: org.bluez.obex.Error.Rejected - org.bluez.obex.Error.Canceled - - void Cancel() - - This method gets called to indicate that the agent - request failed before a reply was returned. It cancels - the previous request. diff --git a/GRIB_BLE_HUB/libs/ble_extend/doc/obex-api.txt b/GRIB_BLE_HUB/libs/ble_extend/doc/obex-api.txt deleted file mode 100644 index 759c4d8..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/doc/obex-api.txt +++ /dev/null @@ -1,801 +0,0 @@ -OBEX D-Bus API description -************************** - - -Client hierarchy -================ - -Service org.bluez.obex -Interface org.bluez.obex.Client1 -Object path /org/bluez/obex - -Methods object CreateSession(string destination, dict args) - - Create a new OBEX session for the given remote address. - - The last parameter is a dictionary to hold optional or - type-specific parameters. Typical parameters that can - be set in this dictionary include the following: - - string "Target" : type of session to be created - string "Source" : local address to be used - byte "Channel" - - The currently supported targets are the following: - - "ftp" - "map" - "opp" - "pbap" - "sync" - - Possible errors: org.bluez.obex.Error.InvalidArguments - org.bluez.obex.Error.Failed - - void RemoveSession(object session) - - Unregister session and abort pending transfers. - - Possible errors: org.bluez.obex.Error.InvalidArguments - org.bluez.obex.Error.NotAuthorized - -Session hierarchy -================= - -Service org.bluez.obex -Interface org.bluez.obex.Session1 -Object path /org/bluez/obex/session{0, 1, 2, ...} - -Methods string GetCapabilities() - - Get remote device capabilities. - - Possible errors: org.bluez.obex.Error.NotSupported - org.bluez.obex.Error.Failed - -Properties string Source [readonly] - - Bluetooth adapter address - - string Destination [readonly] - - Bluetooth device address - - byte Channel [readonly] - - Bluetooth channel - - string Target [readonly] - - Target UUID - - string Root [readonly] - - Root path - - -Transfer hierarchy -================== - -Service org.bluez.obex -Interface org.bluez.obex.Transfer1 -Object path /org/bluez/obex/session{0, 1, 2, ...}/transfer{0, 1, 2, ...} - -Methods void Cancel() - - Stops the current transference. - - Possible errors: org.bluez.obex.Error.NotAuthorized - org.bluez.obex.Error.InProgress - org.bluez.obex.Error.Failed - -Properties string Status [readonly] - - Inform the current status of the transfer. - - Possible values: "queued", "active", "complete" or - "error" - - object Session [readonly] - - The object path of the session the transfer belongs - to. - - string Name [readonly] - - Name of the transferred object. Either Name or Type - or both will be present. - - string Type [readonly] - - Type of the transferred object. Either Name or Type - or both will be present. - - uint64 Time [readonly, optional] - - Time of the transferred object if this is - provided by the remote party. - - uint64 Size [readonly, optional] - - Size of the transferred object. If the size is - unknown, then this property will not be present. - - uint64 Transferred [readonly, optional] - - Number of bytes transferred. For queued transfers, this - value will not be present. - - string Filename [readonly, optional] - - Complete name of the file being received or sent. - - For incoming object push transaction, this will be - the proposed default location and name. It can be - overwritten by the AuthorizePush agent callback - and will be then updated accordingly. - - -Object Push hierarchy -===================== - -Service org.bluez.obex -Interface org.bluez.obex.ObjectPush1 -Object path /org/bluez/obex/session{0, 1, 2, ...} - -Methods object, dict SendFile(string sourcefile) - - Send one local file to the remote device. - - The returned path represents the newly created transfer, - which should be used to find out if the content has been - successfully transferred or if the operation fails. - - The properties of this transfer are also returned along - with the object path, to avoid a call to GetProperties. - - Possible errors: org.bluez.obex.Error.InvalidArguments - org.bluez.obex.Error.Failed - - object, dict PullBusinessCard(string targetfile) - - Request the business card from a remote device and - store it in the local file. - - If an empty target file is given, a name will be - automatically calculated for the temporary file. - - The returned path represents the newly created transfer, - which should be used to find out if the content has been - successfully transferred or if the operation fails. - - The properties of this transfer are also returned along - with the object path, to avoid a call to GetProperties. - - Possible errors: org.bluez.obex.Error.InvalidArguments - org.bluez.obex.Error.Failed - - object, dict ExchangeBusinessCards(string clientfile, - string targetfile) - - Push the client's business card to the remote device - and then retrieve the remote business card and store - it in a local file. - - If an empty target file is given, a name will be - automatically calculated for the temporary file. - - The returned path represents the newly created transfer, - which should be used to find out if the content has been - successfully transferred or if the operation fails. - - The properties of this transfer are also returned along - with the object path, to avoid a call to GetProperties. - - Possible errors: org.bluez.obex.Error.InvalidArguments - org.bluez.obex.Error.Failed - - -File Transfer hierarchy -======================= - -Service org.bluez.obex -Interface org.bluez.obex.FileTransfer -Object path /org/bluez/obex/session{0, 1, 2, ...} - -Methods void ChangeFolder(string folder) - - Change the current folder of the remote device. - - Possible errors: org.bluez.obex.Error.InvalidArguments - org.bluez.obex.Error.Failed - - void CreateFolder(string folder) - - Create a new folder in the remote device. - - Possible errors: org.bluez.obex.Error.InvalidArguments - org.bluez.obex.Error.Failed - - array{dict} ListFolder() - - Returns a dictionary containing information about - the current folder content. - - The following keys are defined: - - string Name : Object name in UTF-8 format - string Type : Either "folder" or "file" - uint64 Size : Object size or number of items in - folder - string Permission : Group, owner and other - permission - uint64 Modified : Last change - uint64 Accessed : Last access - uint64 Created : Creation date - - Possible errors: org.bluez.obex.Error.Failed - - object, dict GetFile(string targetfile, string sourcefile) - - Copy the source file (from remote device) to the - target file (on local filesystem). - - If an empty target file is given, a name will be - automatically calculated for the temporary file. - - The returned path represents the newly created transfer, - which should be used to find out if the content has been - successfully transferred or if the operation fails. - - The properties of this transfer are also returned along - with the object path, to avoid a call to GetProperties. - - Possible errors: org.bluez.obex.Error.InvalidArguments - org.bluez.obex.Error.Failed - - object, dict PutFile(string sourcefile, string targetfile) - - Copy the source file (from local filesystem) to the - target file (on remote device). - - The returned path represents the newly created transfer, - which should be used to find out if the content has been - successfully transferred or if the operation fails. - - The properties of this transfer are also returned along - with the object path, to avoid a call to GetProperties. - - Possible errors: org.bluez.obex.Error.InvalidArguments - org.bluez.obex.Error.Failed - - void CopyFile(string sourcefile, string targetfile) - - Copy a file within the remote device from source file - to target file. - - Possible errors: org.bluez.obex.Error.InvalidArguments - org.bluez.obex.Error.Failed - - void MoveFile(string sourcefile, string targetfile) - - Move a file within the remote device from source file - to the target file. - - Possible errors: org.bluez.obex.Error.InvalidArguments - org.bluez.obex.Error.Failed - - void Delete(string file) - - Deletes the specified file/folder. - - Possible errors: org.bluez.obex.Error.InvalidArguments - org.bluez.obex.Error.Failed - - -Phonebook Access hierarchy -========================== - -Service org.bluez.obex -Interface org.bluez.obex.PhonebookAccess1 -Object path /org/bluez/obex/session{0, 1, 2, ...} - -Methods void Select(string location, string phonebook) - - Select the phonebook object for other operations. Should - be call before all the other operations. - - location : Where the phonebook is stored, possible - inputs : - "int" ( "internal" which is default ) - "sim" ( "sim1" ) - "sim2" - ... - - phonebook : Possible inputs : - "pb" : phonebook for the saved contacts - "ich": incoming call history - "och": outgoing call history - "mch": missing call history - "cch": combination of ich och mch - - Possible errors: org.bluez.obex.Error.InvalidArguments - org.bluez.obex.Error.Failed - - object, dict PullAll(string targetfile, dict filters) - - Return the entire phonebook object from the PSE server - in plain string with vcard format, and store it in - a local file. - - If an empty target file is given, a name will be - automatically calculated for the temporary file. - - The returned path represents the newly created transfer, - which should be used to find out if the content has been - successfully transferred or if the operation fails. - - The properties of this transfer are also returned along - with the object path, to avoid a call to GetProperties. - - Possible filters: Format, Order, Offset, MaxCount and - Fields - - Possible errors: org.bluez.obex.Error.InvalidArguments - org.bluez.obex.Forbidden - - array{string vcard, string name} List(dict filters) - - Return an array of vcard-listing data where every entry - consists of a pair of strings containing the vcard - handle and the contact name. For example: - "1.vcf" : "John" - - Possible filters: Order, Offset and MaxCount - - Possible errors: org.bluez.obex.Error.InvalidArguments - org.bluez.obex.Forbidden - - object, dict - Pull(string vcard, string targetfile, dict filters) - - Given a vcard handle, retrieve the vcard in the current - phonebook object and store it in a local file. - - If an empty target file is given, a name will be - automatically calculated for the temporary file. - - The returned path represents the newly created transfer, - which should be used to find out if the content has been - successfully transferred or if the operation fails. - - The properties of this transfer are also returned along - with the object path, to avoid a call to GetProperties. - - Possbile filters: Format and Fields - - Possible errors: org.bluez.obex.Error.InvalidArguments - org.bluez.obex.Error.Forbidden - org.bluez.obex.Error.Failed - - array{string vcard, string name} - Search(string field, string value, dict filters) - - Search for entries matching the given condition and - return an array of vcard-listing data where every entry - consists of a pair of strings containing the vcard - handle and the contact name. - - vcard : name paired string match the search condition. - - field : the field in the vcard to search with - { "name" (default) | "number" | "sound" } - value : the string value to search for - - - Possible filters: Order, Offset and MaxCount - - Possible errors: org.bluez.obex.Error.InvalidArguments - org.bluez.obex.Error.Forbidden - org.bluez.obex.Error.Failed - - uint16 GetSize() - - Return the number of entries in the selected phonebook - object that are actually used (i.e. indexes that - correspond to non-NULL entries). - - Possible errors: org.bluez.obex.Error.Forbidden - org.bluez.obex.Error.Failed - - array{string} ListFilterFields() - - Return All Available fields that can be used in Fields - filter. - - Possible errors: None - -Filter: string Format: - - Items vcard format - - Possible values: "vcard21" (default) or "vcard30" - - string Order: - - Items order - - Possible values: "indexed" (default), "alphanumeric" or - "phonetic" - - uint16 Offset: - - Offset of the first item, default is 0 - - uint16 MaxCount: - - Maximum number of items, default is unlimited (65535) - - array{string} Fields: - - Item vcard fields, default is all values. - - Possible values can be query with ListFilterFields. - - -Synchronization hierarchy -========================= - -Service org.bluez.obex -Interface org.bluez.obex.Synchronization1 -Object path /org/bluez/obex/session{0, 1, 2, ...} - -Methods void SetLocation(string location) - - Set the phonebook object store location for other - operations. Should be called before all the other - operations. - - location: Where the phonebook is stored, possible - values: - "int" ( "internal" which is default ) - "sim1" - "sim2" - ...... - - Possible errors: org.bluez.obex.Error.InvalidArguments - - object, dict GetPhonebook(string targetfile) - - Retrieve an entire Phonebook Object store from remote - device, and stores it in a local file. - - If an empty target file is given, a name will be - automatically calculated for the temporary file. - - The returned path represents the newly created transfer, - which should be used to find out if the content has been - successfully transferred or if the operation fails. - - The properties of this transfer are also returned along - with the object path, to avoid a call to GetProperties. - - Possible errors: org.bluez.obex.Error.InvalidArguments - org.bluez.obex.Error.Failed - - object, dict PutPhonebook(string sourcefile) - - Send an entire Phonebook Object store to remote device. - - The returned path represents the newly created transfer, - which should be used to find out if the content has been - successfully transferred or if the operation fails. - - The properties of this transfer are also returned along - with the object path, to avoid a call to GetProperties. - - Possible errors: org.bluez.obex.Error.InvalidArguments - org.bluez.obex.Error.Failed - - -Message Access hierarchy -========================= - -Service org.bluez.obex -Interface org.bluez.obex.MessageAccess1 -Object path [variable prefix]/{session0,session1,...} - -Methods void SetFolder(string name) - - Set working directory for current session, *name* may - be the directory name or '..[/dir]'. - - Possible errors: org.bluez.obex.Error.InvalidArguments - org.bluez.obex.Error.Failed - - array{dict} ListFolders(dict filter) - - Returns a dictionary containing information about - the current folder content. - - The following keys are defined: - - string Name : Folder name - - Possible filters: Offset and MaxCount - - Possible errors: org.bluez.obex.Error.InvalidArguments - org.bluez.obex.Error.Failed - - array{string} ListFilterFields() - - Return all available fields that can be used in Fields - filter. - - Possible errors: None - - array{object, dict} ListMessages(string folder, dict filter) - - Returns an array containing the messages found in the - given folder. - - Possible Filters: Offset, MaxCount, SubjectLength, Fields, - Type, PeriodStart, PeriodEnd, Status, Recipient, Sender, - Priority - - Each message is represented by an object path followed - by a dictionary of the properties. - - Properties: - - string Subject: - - Message subject - - string Timestamp: - - Message timestamp - - string Sender: - - Message sender name - - string SenderAddress: - - Message sender address - - string ReplyTo: - - Message Reply-To address - - string Recipient: - - Message recipient name - - string RecipientAddress: - - Message recipient address - - string Type: - - Message type - - Possible values: "email", "sms-gsm", - "sms-cdma" and "mms" - - uint64 Size: - - Message size in bytes - - boolean Text: - - Message text flag - - Specifies whether message has textual - content or is binary only - - string Status: - - Message reception status - - Possible values: "complete", - "fractioned" and "notification" - - uint64 AttachmentSize: - - Message overall attachment size in bytes - - boolean Priority: - - Message priority flag - - boolean Read: - - Message read flag - - boolean Sent: - - Message sent flag - - boolean Protected: - - Message protected flag - - Possible errors: org.bluez.obex.Error.InvalidArguments - org.bluez.obex.Error.Failed - - void UpdateInbox(void) - - Request remote to update its inbox. - - Possible errors: org.bluez.obex.Error.Failed - - object, dict - PushMessage(string sourcefile, string folder, dict args) - - Transfer a message (in bMessage format) to the - remote device. - - The message is transferred either to the given folder, - or to the current folder if folder is omitted. - - Possible args: Transparent, Retry, Charset - - The returned path represents the newly created transfer, - which should be used to find out if the content has been - successfully transferred or if the operation fails. - - The properties of this transfer are also returned along - with the object path, to avoid a call to GetAll. - - Possible errors: org.bluez.obex.Error.InvalidArguments - org.bluez.obex.Error.Failed - - -Filter: uint16 Offset: - - Offset of the first item, default is 0 - - uint16 MaxCount: - - Maximum number of items, default is 1024 - - byte SubjectLength: - - Maximum length of the Subject property in the - message, default is 256 - - array{string} Fields: - - Message fields, default is all values. - - Possible values can be query with ListFilterFields. - - array{string} Types: - - Filter messages by type. - - Possible values: "sms", "email", "mms". - - string PeriodBegin: - - Filter messages by starting period. - - Possible values: Date in "YYYYMMDDTHHMMSS" format. - - string PeriodEnd: - - Filter messages by ending period. - - Possible values: Date in "YYYYMMDDTHHMMSS" format. - - boolean Read: - - Filter messages by read flag. - - Possible values: True for read or False for unread - - string Recipient: - - Filter messages by recipient address. - - string Sender: - - Filter messages by sender address. - - boolean Priority: - - Filter messages by priority flag. - - Possible values: True for high priority or False for - non-high priority - -Message hierarchy -================= - -Service org.bluez.obex -Interface org.bluez.obex.Message1 -Object path [variable prefix]/{session0,session1,...}/{message0,...} - -Methods object, dict Get(string targetfile, boolean attachment) - - Download message and store it in the target file. - - If an empty target file is given, a temporary file - will be automatically generated. - - The returned path represents the newly created transfer, - which should be used to find out if the content has been - successfully transferred or if the operation fails. - - The properties of this transfer are also returned along - with the object path, to avoid a call to GetProperties. - - Possible errors: org.bluez.obex.Error.InvalidArguments - org.bluez.obex.Error.Failed - -Properties string Subject [readonly] - - Message subject - - string Timestamp [readonly] - - Message timestamp - - string Sender [readonly] - - Message sender name - - string SenderAddress [readonly] - - Message sender address - - string ReplyTo [readonly] - - Message Reply-To address - - string Recipient [readonly] - - Message recipient name - - string RecipientAddress [readonly] - - Message recipient address - - string Type [readonly] - - Message type - - Possible values: "email", "sms-gsm", - "sms-cdma" and "mms" - - uint64 Size [readonly] - - Message size in bytes - - string Status [readonly] - - Message reception status - - Possible values: "complete", - "fractioned" and "notification" - - boolean Priority [readonly] - - Message priority flag - - boolean Read [read/write] - - Message read flag - - boolean Deleted [writeonly] - - Message read flag - - boolean Sent [readonly] - - Message sent flag - - boolean Protected [readonly] - - Message protected flag diff --git a/GRIB_BLE_HUB/libs/ble_extend/doc/profile-api.txt b/GRIB_BLE_HUB/libs/ble_extend/doc/profile-api.txt deleted file mode 100644 index 03b7d2b..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/doc/profile-api.txt +++ /dev/null @@ -1,155 +0,0 @@ -BlueZ D-Bus Profile API description -*********************************** - - -Profile Manager hierarchy -========================= - -Service org.bluez -Interface org.bluez.ProfileManager1 -Object path /org/bluez - - void RegisterProfile(object profile, string uuid, dict options) - - This registers a profile implementation. - - If an application disconnects from the bus all - its registered profiles will be removed. - - HFP HS UUID: 0000111e-0000-1000-8000-00805f9b34fb - - Default RFCOMM channel is 6. And this requires - authentication. - - Available options: - - string Name - - Human readable name for the profile - - string Service - - The primary service class UUID - (if different from the actual - profile UUID) - - string Role - - For asymmetric profiles that do not - have UUIDs available to uniquely - identify each side this - parameter allows specifying the - precise local role. - - Possible values: "client", "server" - - uint16 Channel - - RFCOMM channel number that is used - for client and server UUIDs. - - If applicable it will be used in the - SDP record as well. - - uint16 PSM - - PSM number that is used for client - and server UUIDs. - - If applicable it will be used in the - SDP record as well. - - boolean RequireAuthentication - - Pairing is required before connections - will be established. No devices will - be connected if not paired. - - boolean RequireAuthorization - - Request authorization before any - connection will be established. - - boolean AutoConnect - - In case of a client UUID this will - force connection of the RFCOMM or - L2CAP channels when a remote device - is connected. - - string ServiceRecord - - Provide a manual SDP record. - - uint16 Version - - Profile version (for SDP record) - - uint16 Features - - Profile features (for SDP record) - - Possible errors: org.bluez.Error.InvalidArguments - org.bluez.Error.AlreadyExists - - void UnregisterProfile(object profile) - - This unregisters the profile that has been previously - registered. The object path parameter must match the - same value that has been used on registration. - - Possible errors: org.bluez.Error.DoesNotExist - - -Profile hierarchy -================= - -Service unique name -Interface org.bluez.Profile1 -Object path freely definable - -Methods void Release() - - This method gets called when the service daemon - unregisters the profile. A profile can use it to do - cleanup tasks. There is no need to unregister the - profile, because when this method gets called it has - already been unregistered. - - void NewConnection(object device, fd, dict fd_properties) - - This method gets called when a new service level - connection has been made and authorized. - - Common fd_properties: - - uint16 Version Profile version (optional) - uint16 Features Profile features (optional) - - Possible errors: org.bluez.Error.Rejected - org.bluez.Error.Canceled - - void RequestDisconnection(object device) - - This method gets called when a profile gets - disconnected. - - The file descriptor is no longer owned by the service - daemon and the profile implementation needs to take - care of cleaning up all connections. - - If multiple file descriptors are indicated via - NewConnection, it is expected that all of them - are disconnected before returning from this - method call. - - Possible errors: org.bluez.Error.Rejected - org.bluez.Error.Canceled - - void Cancel() - - This method gets called to indicate that the profile - request failed before a reply was returned. - - All request are queued and there will be only one - pending pequest at a time per profile. diff --git a/GRIB_BLE_HUB/libs/ble_extend/doc/proximity-api.txt b/GRIB_BLE_HUB/libs/ble_extend/doc/proximity-api.txt deleted file mode 100644 index 5322544..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/doc/proximity-api.txt +++ /dev/null @@ -1,56 +0,0 @@ -BlueZ D-Bus Proximity API description -*********************************** - - -Proximity Monitor hierarchy -=========================== - -Service org.bluez -Interface org.bluez.ProximityMonitor1 -Object path [variable prefix]/{hci0,hci1,...}/dev_XX_XX_XX_XX_XX_XX - -Properties string SignalLevel [readonly] - - Alert indicating that a threshold has been reached. - Possible values: "unknown", "good", "regular", "weak" - - string LinkLossAlertLevel [readwrite] - - Persistent property. Sets the alert level in the - proximity reporter for link loss scenario. Values: - "none", "mild", "high". - - string ImmediateAlertLevel [readwrite] - - Alert level to be written in the Immediate Alert Level. - Property shared between Path Loss and Find Me. - Values: "none", "mild", "high". Default value is - "none". Applications can disable the alert setting - the value to "none". If the "Target" is not found, - "none" will be emitted after the configured timeout. - When changing the level, signal is the confirmation - that the value was written in the remote. - -Proximity Reporter hierarchy -=========================== - -Shared service used by Proximity Path Loss and Find Me. Allows per device -alert level handling. - -Service org.bluez -Interface org.bluez.ProximityReporter1 -Object path [variable prefix]/{hci0,hci1,...}/dev_XX_XX_XX_XX_XX_XX - -Properties string ImmediateAlertLevel [readonly] - - This property indicates that Immediate Alert Level - characteristic in the local Immediate Alert Service - was changed by the remote device. Property shared - between Path Loss and Find Me. Values: "none", "mild", - "high". - - string LinkLossAlertLevel [readonly] - - This property indicates that Alert Level characteristic - in the local Link Loss Service was changed by the - remote device. Values: "none", "mild", "high". diff --git a/GRIB_BLE_HUB/libs/ble_extend/doc/sap-api.txt b/GRIB_BLE_HUB/libs/ble_extend/doc/sap-api.txt deleted file mode 100644 index b28c4e3..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/doc/sap-api.txt +++ /dev/null @@ -1,20 +0,0 @@ -BlueZ D-Bus Sim Access API description -************************************** - - -Sim Access Profile hierarchy -============================ - -Service org.bluez -Interface org.bluez.SimAccess1 -Object path [variable prefix]/{hci0,hci1,...} - -Methods void Disconnect() - - Disconnects SAP client from the server. - - Possible errors: org.bluez.Error.Failed - -Properties boolean Connected [readonly] - - Indicates if SAP client is connected to the server. diff --git a/GRIB_BLE_HUB/libs/ble_extend/doc/supported-features.txt b/GRIB_BLE_HUB/libs/ble_extend/doc/supported-features.txt deleted file mode 100644 index 50c54e4..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/doc/supported-features.txt +++ /dev/null @@ -1,52 +0,0 @@ -Supported features in BlueZ -=========================== - -Note that some profiles/roles will depend on external components such as -oFono or ConnMan. - -Profile/protocol Version Role(s) ---------------------------------------------------------------------------- - -GAP 4.0 (LE) Central, Observer, Broadcaster -L2CAP 4.0 Server, Client -SDP 4.0 Server, Client -GATT 4.0 Server, Client -SDAP 1.1 Server, Client -RFCOMM 1.1 Server, Client -SPP 1.1 Server, Client - -PXP 1.0 Reporter, Monitor -HOGP 1.0 Host -HTP 1.0 -TIP 1.0 -CSCP 1.0 Collector - -SAP 1.1 Server -DUN 1.1 Server, Client - -DID 1.3 Server, Client - -HFP 1.5 AG, HF -HSP 1.2 AG, HS -GAVDTP 1.2 Source, Sink -AVDTP 1.2 Source, Sink -A2DP 1.2 Source, Sink -AVCTP 1.3 CT, TG -AVRCP 1.5 CT, TG - -GOEP 2.0 Client, Server -FTP 1.2 Client, Server -OPP 1.2 Client, Server -SYNCH 1.1 Client -PBAP 1.1 Client, Server -MAP 1.0 Client, Server - -HID 1.1 Host - -BNEP 1.0 -PAN 1.0 PANU, NAP, GN - -HCRP 1.2 - -MCAP 1.0 -HDP 1.0 diff --git a/GRIB_BLE_HUB/libs/ble_extend/doc/thermometer-api.txt b/GRIB_BLE_HUB/libs/ble_extend/doc/thermometer-api.txt deleted file mode 100644 index c7c8a5d..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/doc/thermometer-api.txt +++ /dev/null @@ -1,134 +0,0 @@ -BlueZ D-Bus Thermometer API description -*************************************** - - Santiago Carot-Nemesio - -Health Thermometer Manager hierarchy -==================================== - -Service org.bluez -Interface org.bluez.ThermometerManager1 -Object path [variable prefix]/{hci0,hci1,...} - -Methods RegisterWatcher(object agent) - - Registers a watcher to monitor scanned measurements. - This agent will be notified about final temperature - measurements. - - Possible Errors: org.bluez.Error.InvalidArguments - - UnregisterWatcher(object agent) - - Unregisters a watcher. - - EnableIntermediateMeasurement(object agent) - - Enables intermediate measurement notifications - for this agent. Intermediate measurements will - be enabled only for thermometers which support it. - - Possible Errors: org.bluez.Error.InvalidArguments - - DisableIntermediateMeasurement(object agent) - - Disables intermediate measurement notifications - for this agent. It will disable notifications in - thermometers when the last agent removes the - watcher for intermediate measurements. - - Possible Errors: org.bluez.Error.InvalidArguments - org.bluez.Error.NotFound - -Health Thermometer Profile hierarchy -==================================== - -Service org.bluez -Interface org.bluez.Thermometer1 -Object path [variable prefix]/{hci0,hci1,...}/dev_XX_XX_XX_XX_XX_XX - - -Properties boolean Intermediate [readonly] - - True if the thermometer supports intermediate - measurement notifications. - - uint16 Interval (optional) [readwrite] - - The Measurement Interval defines the time (in - seconds) between measurements. This interval is - not related to the intermediate measurements and - must be defined into a valid range. Setting it - to zero means that no periodic measurements will - be taken. - - uint16 Maximum (optional) [readonly] - - Defines the maximum value allowed for the interval - between periodic measurements. - - uint16 Minimum (optional) [readonly] - - Defines the minimum value allowed for the interval - between periodic measurements. - - -Health Thermometer Watcher hierarchy -==================================== - -Service unique name -Interface org.bluez.ThermometerWatcher1 -Object path freely definable - -Methods void MeasurementReceived(dict measurement) - - This callback gets called when a measurement has been - scanned in the thermometer. - - Measurement: - - int16 Exponent: - int32 Mantissa: - - Exponent and Mantissa values as - extracted from float value defined by - IEEE-11073-20601. - - Measurement value is calculated as - (Mantissa) * (10^Exponent) - - For special cases Exponent is - set to 0 and Mantissa is set to - one of following values: - - +(2^23 - 1) NaN (invalid or - missing data) - -(2^23) NRes - +(2^23 - 2) +Infinity - -(2^23 - 2) -Infinity - - string Unit: - - Possible values: "celsius" or - "fahrenheit" - - uint64 Time (optional): - - Time of measurement, if - supported by device. - Expressed in seconds since epoch. - - string Type (optional): - - Only present if measurement type - is known. - - Possible values: "armpit", "body", - "ear", "finger", "intestines", - "mouth", "rectum", "toe", - "tympanum" - - string Measurement: - - Possible values: "final" or - "intermediate" diff --git a/GRIB_BLE_HUB/libs/ble_extend/emulator/.deps/b1ee.Po b/GRIB_BLE_HUB/libs/ble_extend/emulator/.deps/b1ee.Po deleted file mode 100644 index 9ce06a8..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/emulator/.deps/b1ee.Po +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/GRIB_BLE_HUB/libs/ble_extend/emulator/.deps/btdev.Po b/GRIB_BLE_HUB/libs/ble_extend/emulator/.deps/btdev.Po deleted file mode 100644 index 9ce06a8..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/emulator/.deps/btdev.Po +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/GRIB_BLE_HUB/libs/ble_extend/emulator/.deps/bthost.Po b/GRIB_BLE_HUB/libs/ble_extend/emulator/.deps/bthost.Po deleted file mode 100644 index 9ce06a8..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/emulator/.deps/bthost.Po +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/GRIB_BLE_HUB/libs/ble_extend/emulator/.deps/main.Po b/GRIB_BLE_HUB/libs/ble_extend/emulator/.deps/main.Po deleted file mode 100644 index 9ce06a8..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/emulator/.deps/main.Po +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/GRIB_BLE_HUB/libs/ble_extend/emulator/.deps/server.Po b/GRIB_BLE_HUB/libs/ble_extend/emulator/.deps/server.Po deleted file mode 100644 index 9ce06a8..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/emulator/.deps/server.Po +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/GRIB_BLE_HUB/libs/ble_extend/emulator/.deps/vhci.Po b/GRIB_BLE_HUB/libs/ble_extend/emulator/.deps/vhci.Po deleted file mode 100644 index 9ce06a8..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/emulator/.deps/vhci.Po +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/GRIB_BLE_HUB/libs/ble_extend/emulator/b1ee.c b/GRIB_BLE_HUB/libs/ble_extend/emulator/b1ee.c deleted file mode 100644 index 17a60fc..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/emulator/b1ee.c +++ /dev/null @@ -1,256 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2011-2012 Intel Corporation - * Copyright (C) 2004-2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include -#include -#include -#include -#include - -#include -#include - -#include -#include - -#include "monitor/mainloop.h" - -#define DEFAULT_SERVER "b1ee.com" -#define DEFAULT_HOST_PORT "45550" /* 0xb1ee */ -#define DEFAULT_SNIFFER_PORT "45551" /* 0xb1ef */ - -static int sniffer_fd; -static int server_fd; -static int vhci_fd; - -static void sniffer_read_callback(int fd, uint32_t events, void *user_data) -{ - static uint8_t buf[4096]; - ssize_t len; - - if (events & (EPOLLERR | EPOLLHUP)) - return; - -again: - len = recv(fd, buf, sizeof(buf), MSG_DONTWAIT); - if (len < 0) { - if (errno == EAGAIN) - goto again; - return; - } - - printf("Sniffer received: %zi bytes\n", len); -} - -static uint8_t *server_pkt_data; -static uint8_t server_pkt_type; -static uint16_t server_pkt_expect; -static uint16_t server_pkt_len; -static uint16_t server_pkt_offset; - -static void server_read_callback(int fd, uint32_t events, void *user_data) -{ - static uint8_t buf[4096]; - uint8_t *ptr = buf; - ssize_t len; - uint16_t count; - - if (events & (EPOLLERR | EPOLLHUP)) - return; - -again: - len = recv(fd, buf + server_pkt_offset, - sizeof(buf) - server_pkt_offset, MSG_DONTWAIT); - if (len < 0) { - if (errno == EAGAIN) - goto again; - return; - } - - count = server_pkt_offset + len; - - while (count > 0) { - hci_event_hdr *evt_hdr; - - if (!server_pkt_data) { - server_pkt_type = ptr[0]; - - switch (server_pkt_type) { - case HCI_EVENT_PKT: - if (count < HCI_EVENT_HDR_SIZE + 1) { - server_pkt_offset += len; - return; - } - evt_hdr = (hci_event_hdr *) (ptr + 1); - server_pkt_expect = HCI_EVENT_HDR_SIZE + - evt_hdr->plen + 1; - server_pkt_data = malloc(server_pkt_expect); - server_pkt_len = 0; - break; - default: - fprintf(stderr, "Unknown packet from server\n"); - return; - } - - server_pkt_offset = 0; - } - - if (count >= server_pkt_expect) { - ssize_t written; - - memcpy(server_pkt_data + server_pkt_len, - ptr, server_pkt_expect); - ptr += server_pkt_expect; - count -= server_pkt_expect; - - written = write(vhci_fd, server_pkt_data, - server_pkt_len + server_pkt_expect); - if (written != server_pkt_len + server_pkt_expect) - fprintf(stderr, "Write to /dev/vhci failed\n"); - - free(server_pkt_data); - server_pkt_data = NULL; - } else { - memcpy(server_pkt_data + server_pkt_len, ptr, count); - server_pkt_len += count; - server_pkt_expect -= count; - count = 0; - } - } -} - -static void vhci_read_callback(int fd, uint32_t events, void *user_data) -{ - unsigned char buf[4096]; - ssize_t len, written; - - if (events & (EPOLLERR | EPOLLHUP)) - return; - - len = read(fd, buf, sizeof(buf)); - if (len < 0) - return; - - written = write(server_fd, buf, len); - if (written != len) - fprintf(stderr, "Write to server failed\n"); -} - -static void signal_callback(int signum, void *user_data) -{ - switch (signum) { - case SIGINT: - case SIGTERM: - mainloop_quit(); - break; - } -} - -static int do_connect(const char *node, const char *service) -{ - struct addrinfo hints; - struct addrinfo *info, *res; - int err, fd = -1; - - memset(&hints, 0, sizeof(hints)); - hints.ai_family = PF_UNSPEC; - hints.ai_socktype = SOCK_STREAM; - - err = getaddrinfo(DEFAULT_SERVER, DEFAULT_HOST_PORT, &hints, &res); - if (err) { - perror(gai_strerror(err)); - exit(1); - } - - for (info = res; info; info = info->ai_next) { - char str[INET6_ADDRSTRLEN]; - - inet_ntop(info->ai_family, info->ai_addr->sa_data, - str, sizeof(str)); - - fd = socket(info->ai_family, info->ai_socktype, - info->ai_protocol); - if (fd < 0) - continue; - - printf("Trying to connect to %s on port %s\n", str, service); - - if (connect(fd, res->ai_addr, res->ai_addrlen) < 0) { - perror("Failed to connect"); - continue; - } - - printf("Successfully connected to %s on port %s\n", - str, service); - break; - } - - freeaddrinfo(res); - - if (res == NULL) - exit(1); - - return fd; -} - -int main(int argc, char *argv[]) -{ - const char sniff_cmd[] = { 0x01, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; - ssize_t written; - sigset_t mask; - - server_fd = do_connect(DEFAULT_SERVER, DEFAULT_HOST_PORT); - sniffer_fd = do_connect(DEFAULT_SERVER, DEFAULT_SNIFFER_PORT); - - written = write(sniffer_fd, sniff_cmd, sizeof(sniff_cmd)); - if (written < 0) - perror("Failed to enable sniffer"); - - vhci_fd = open("/dev/vhci", O_RDWR | O_NONBLOCK); - if (vhci_fd < 0) { - perror("Failed to /dev/vhci"); - close(server_fd); - exit(1); - } - - mainloop_init(); - - sigemptyset(&mask); - sigaddset(&mask, SIGINT); - sigaddset(&mask, SIGTERM); - - mainloop_set_signal(&mask, signal_callback, NULL, NULL); - - mainloop_add_fd(sniffer_fd, EPOLLIN, sniffer_read_callback, NULL, NULL); - mainloop_add_fd(server_fd, EPOLLIN, server_read_callback, NULL, NULL); - mainloop_add_fd(vhci_fd, EPOLLIN, vhci_read_callback, NULL, NULL); - - return mainloop_run(); -} diff --git a/GRIB_BLE_HUB/libs/ble_extend/emulator/btdev.c b/GRIB_BLE_HUB/libs/ble_extend/emulator/btdev.c deleted file mode 100644 index b74442e..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/emulator/btdev.c +++ /dev/null @@ -1,1418 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2011-2012 Intel Corporation - * Copyright (C) 2004-2010 Marcel Holtmann - * - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include -#include -#include - -#include "monitor/bt.h" -#include "btdev.h" - -#define le16_to_cpu(val) (val) -#define le32_to_cpu(val) (val) -#define cpu_to_le16(val) (val) -#define cpu_to_le32(val) (val) - -#define has_bredr(btdev) (!((btdev)->features[4] & 0x20)) -#define has_le(btdev) (!!((btdev)->features[4] & 0x40)) - -struct btdev { - enum btdev_type type; - - struct btdev *conn; - - btdev_command_func command_handler; - void *command_data; - - btdev_send_func send_handler; - void *send_data; - - uint16_t manufacturer; - uint8_t version; - uint16_t revision; - uint8_t commands[64]; - uint8_t features[8]; - uint16_t acl_mtu; - uint16_t acl_max_pkt; - uint8_t country_code; - uint8_t bdaddr[6]; - uint8_t le_features[8]; - uint8_t le_states[8]; - - uint16_t default_link_policy; - uint8_t event_mask[8]; - uint8_t event_filter; - uint8_t name[248]; - uint8_t dev_class[3]; - uint16_t voice_setting; - uint16_t conn_accept_timeout; - uint16_t page_timeout; - uint8_t scan_enable; - uint16_t page_scan_interval; - uint16_t page_scan_window; - uint16_t page_scan_type; - uint8_t auth_enable; - uint8_t inquiry_mode; - uint8_t afh_assess_mode; - uint8_t ext_inquiry_fec; - uint8_t ext_inquiry_rsp[240]; - uint8_t simple_pairing_mode; - uint8_t le_supported; - uint8_t le_simultaneous; - uint8_t le_event_mask[8]; - uint8_t le_adv_data[31]; -}; - -#define MAX_BTDEV_ENTRIES 16 - -static struct btdev *btdev_list[MAX_BTDEV_ENTRIES] = { }; - -static inline int add_btdev(struct btdev *btdev) -{ - int i, index = -1; - - for (i = 0; i < MAX_BTDEV_ENTRIES; i++) { - if (btdev_list[i] == NULL) { - index = i; - btdev_list[index] = btdev; - break; - } - } - - return index; -} - -static inline int del_btdev(struct btdev *btdev) -{ - int i, index = -1; - - for (i = 0; i < MAX_BTDEV_ENTRIES; i++) { - if (btdev_list[i] == btdev) { - index = i; - btdev_list[index] = NULL; - break; - } - } - - return index; -} - -static inline struct btdev *find_btdev_by_bdaddr(const uint8_t *bdaddr) -{ - int i; - - for (i = 0; i < MAX_BTDEV_ENTRIES; i++) { - if (btdev_list[i] && !memcmp(btdev_list[i]->bdaddr, bdaddr, 6)) - return btdev_list[i]; - } - - return NULL; -} - -static void hexdump(const unsigned char *buf, uint16_t len) -{ - static const char hexdigits[] = "0123456789abcdef"; - char str[68]; - uint16_t i; - - if (!len) - return; - - for (i = 0; i < len; i++) { - str[((i % 16) * 3) + 0] = hexdigits[buf[i] >> 4]; - str[((i % 16) * 3) + 1] = hexdigits[buf[i] & 0xf]; - str[((i % 16) * 3) + 2] = ' '; - str[(i % 16) + 49] = isprint(buf[i]) ? buf[i] : '.'; - - if ((i + 1) % 16 == 0) { - str[47] = ' '; - str[48] = ' '; - str[65] = '\0'; - printf("%-12c%s\n", ' ', str); - str[0] = ' '; - } - } - - if (i % 16 > 0) { - uint16_t j; - for (j = (i % 16); j < 16; j++) { - str[(j * 3) + 0] = ' '; - str[(j * 3) + 1] = ' '; - str[(j * 3) + 2] = ' '; - str[j + 49] = ' '; - } - str[47] = ' '; - str[48] = ' '; - str[65] = '\0'; - printf("%-12c%s\n", ' ', str); - } -} - -static void get_bdaddr(uint16_t id, uint8_t index, uint8_t *bdaddr) -{ - bdaddr[0] = id & 0xff; - bdaddr[1] = id >> 8; - bdaddr[2] = index; - bdaddr[3] = 0x01; - bdaddr[4] = 0xaa; - bdaddr[5] = 0x00; -} - -static void set_bredrle_features(struct btdev *btdev) -{ - btdev->features[0] |= 0x04; /* Encryption */ - btdev->features[0] |= 0x20; /* Role switch */ - btdev->features[0] |= 0x80; /* Sniff mode */ - btdev->features[1] |= 0x08; /* SCO link */ - btdev->features[3] |= 0x40; /* RSSI with inquiry results */ - btdev->features[3] |= 0x80; /* Extended SCO link */ - btdev->features[4] |= 0x08; /* AFH capable slave */ - btdev->features[4] |= 0x10; /* AFH classification slave */ - btdev->features[4] |= 0x40; /* LE Supported */ - btdev->features[5] |= 0x02; /* Sniff subrating */ - btdev->features[5] |= 0x04; /* Pause encryption */ - btdev->features[5] |= 0x08; /* AFH capable master */ - btdev->features[5] |= 0x10; /* AFH classification master */ - btdev->features[6] |= 0x01; /* Extended Inquiry Response */ - btdev->features[6] |= 0x02; /* Simultaneous LE and BR/EDR */ - btdev->features[6] |= 0x08; /* Secure Simple Pairing */ - btdev->features[6] |= 0x10; /* Encapsulated PDU */ - btdev->features[6] |= 0x20; /* Erroneous Data Reporting */ - btdev->features[6] |= 0x40; /* Non-flushable Packet Boundary Flag */ - btdev->features[7] |= 0x01; /* Link Supervision Timeout Event */ - btdev->features[7] |= 0x02; /* Inquiry TX Power Level */ - btdev->features[7] |= 0x80; /* Extended features */ -} - -static void set_bredr_features(struct btdev *btdev) -{ - btdev->features[0] |= 0x04; /* Encryption */ - btdev->features[0] |= 0x20; /* Role switch */ - btdev->features[0] |= 0x80; /* Sniff mode */ - btdev->features[1] |= 0x08; /* SCO link */ - btdev->features[3] |= 0x40; /* RSSI with inquiry results */ - btdev->features[3] |= 0x80; /* Extended SCO link */ - btdev->features[4] |= 0x08; /* AFH capable slave */ - btdev->features[4] |= 0x10; /* AFH classification slave */ - btdev->features[5] |= 0x02; /* Sniff subrating */ - btdev->features[5] |= 0x04; /* Pause encryption */ - btdev->features[5] |= 0x08; /* AFH capable master */ - btdev->features[5] |= 0x10; /* AFH classification master */ - btdev->features[6] |= 0x01; /* Extended Inquiry Response */ - btdev->features[6] |= 0x08; /* Secure Simple Pairing */ - btdev->features[6] |= 0x10; /* Encapsulated PDU */ - btdev->features[6] |= 0x20; /* Erroneous Data Reporting */ - btdev->features[6] |= 0x40; /* Non-flushable Packet Boundary Flag */ - btdev->features[7] |= 0x01; /* Link Supervision Timeout Event */ - btdev->features[7] |= 0x02; /* Inquiry TX Power Level */ - btdev->features[7] |= 0x80; /* Extended features */ -} - -static void set_le_features(struct btdev *btdev) -{ - btdev->features[4] |= 0x20; /* BR/EDR Not Supported */ - btdev->features[4] |= 0x40; /* LE Supported */ - btdev->features[7] |= 0x80; /* Extended features */ -} - -static void set_amp_features(struct btdev *btdev) -{ -} - -struct btdev *btdev_create(enum btdev_type type, uint16_t id) -{ - struct btdev *btdev; - int index; - - btdev = malloc(sizeof(*btdev)); - if (!btdev) - return NULL; - - memset(btdev, 0, sizeof(*btdev)); - btdev->type = type; - - btdev->manufacturer = 63; - - if (type == BTDEV_TYPE_BREDR) - btdev->version = 0x05; - else - btdev->version = 0x06; - - btdev->revision = 0x0000; - - switch (btdev->type) { - case BTDEV_TYPE_BREDRLE: - set_bredrle_features(btdev); - break; - case BTDEV_TYPE_BREDR: - set_bredr_features(btdev); - break; - case BTDEV_TYPE_LE: - set_le_features(btdev); - break; - case BTDEV_TYPE_AMP: - set_amp_features(btdev); - break; - } - - btdev->page_scan_interval = 0x0800; - btdev->page_scan_window = 0x0012; - btdev->page_scan_type = 0x00; - - btdev->acl_mtu = 192; - btdev->acl_max_pkt = 1; - - btdev->country_code = 0x00; - - index = add_btdev(btdev); - if (index < 0) { - free(btdev); - return NULL; - } - - get_bdaddr(id, index, btdev->bdaddr); - - return btdev; -} - -void btdev_destroy(struct btdev *btdev) -{ - if (!btdev) - return; - - del_btdev(btdev); - - free(btdev); -} - -void btdev_set_bdaddr(struct btdev *btdev, uint8_t *bdaddr) -{ - if (!btdev) - return; - - memcpy(btdev->bdaddr, bdaddr, 6); -} - -void btdev_set_command_handler(struct btdev *btdev, btdev_command_func handler, - void *user_data) -{ - if (!btdev) - return; - - btdev->command_handler = handler; - btdev->command_data = user_data; -} - -void btdev_set_send_handler(struct btdev *btdev, btdev_send_func handler, - void *user_data) -{ - if (!btdev) - return; - - btdev->send_handler = handler; - btdev->send_data = user_data; -} - -static void send_packet(struct btdev *btdev, const void *data, uint16_t len) -{ - if (!btdev->send_handler) - return; - - btdev->send_handler(data, len, btdev->send_data); -} - -static void send_event(struct btdev *btdev, uint8_t event, - const void *data, uint8_t len) -{ - struct bt_hci_evt_hdr *hdr; - uint16_t pkt_len; - void *pkt_data; - - pkt_len = 1 + sizeof(*hdr) + len; - - pkt_data = malloc(pkt_len); - if (!pkt_data) - return; - - ((uint8_t *) pkt_data)[0] = BT_H4_EVT_PKT; - - hdr = pkt_data + 1; - hdr->evt = event; - hdr->plen = len; - - if (len > 0) - memcpy(pkt_data + 1 + sizeof(*hdr), data, len); - - send_packet(btdev, pkt_data, pkt_len); - - free(pkt_data); -} - -static void cmd_complete(struct btdev *btdev, uint16_t opcode, - const void *data, uint8_t len) -{ - struct bt_hci_evt_hdr *hdr; - struct bt_hci_evt_cmd_complete *cc; - uint16_t pkt_len; - void *pkt_data; - - pkt_len = 1 + sizeof(*hdr) + sizeof(*cc) + len; - - pkt_data = malloc(pkt_len); - if (!pkt_data) - return; - - ((uint8_t *) pkt_data)[0] = BT_H4_EVT_PKT; - - hdr = pkt_data + 1; - hdr->evt = BT_HCI_EVT_CMD_COMPLETE; - hdr->plen = sizeof(*cc) + len; - - cc = pkt_data + 1 + sizeof(*hdr); - cc->ncmd = 0x01; - cc->opcode = cpu_to_le16(opcode); - - if (len > 0) - memcpy(pkt_data + 1 + sizeof(*hdr) + sizeof(*cc), data, len); - - send_packet(btdev, pkt_data, pkt_len); - - free(pkt_data); -} - -static void cmd_status(struct btdev *btdev, uint8_t status, uint16_t opcode) -{ - struct bt_hci_evt_cmd_status cs; - - cs.status = status; - cs.ncmd = 0x01; - cs.opcode = cpu_to_le16(opcode); - - send_event(btdev, BT_HCI_EVT_CMD_STATUS, &cs, sizeof(cs)); -} - -static void num_completed_packets(struct btdev *btdev) -{ - if (btdev->conn) { - struct bt_hci_evt_num_completed_packets ncp; - - ncp.num_handles = 1; - ncp.handle = cpu_to_le16(42); - ncp.count = cpu_to_le16(1); - - send_event(btdev, BT_HCI_EVT_NUM_COMPLETED_PACKETS, - &ncp, sizeof(ncp)); - } -} - -static void inquiry_complete(struct btdev *btdev, uint8_t status) -{ - struct bt_hci_evt_inquiry_complete ic; - int i; - - for (i = 0; i < MAX_BTDEV_ENTRIES; i++) { - if (!btdev_list[i] || btdev_list[i] == btdev) - continue; - - if (!(btdev_list[i]->scan_enable & 0x02)) - continue; - - if (btdev->inquiry_mode == 0x02 && - btdev_list[i]->ext_inquiry_rsp[0]) { - struct bt_hci_evt_ext_inquiry_result ir; - - ir.num_resp = 0x01; - memcpy(ir.bdaddr, btdev_list[i]->bdaddr, 6); - ir.pscan_rep_mode = 0x00; - ir.pscan_period_mode = 0x00; - memcpy(ir.dev_class, btdev_list[i]->dev_class, 3); - ir.rssi = -60; - memcpy(ir.data, btdev_list[i]->ext_inquiry_rsp, 240); - - send_event(btdev, BT_HCI_EVT_EXT_INQUIRY_RESULT, - &ir, sizeof(ir)); - continue; - } - - if (btdev->inquiry_mode > 0x00) { - struct bt_hci_evt_inquiry_result_with_rssi ir; - - ir.num_resp = 0x01; - memcpy(ir.bdaddr, btdev_list[i]->bdaddr, 6); - ir.pscan_rep_mode = 0x00; - ir.pscan_period_mode = 0x00; - memcpy(ir.dev_class, btdev_list[i]->dev_class, 3); - ir.rssi = -60; - - send_event(btdev, BT_HCI_EVT_INQUIRY_RESULT_WITH_RSSI, - &ir, sizeof(ir)); - } else { - struct bt_hci_evt_inquiry_result ir; - - ir.num_resp = 0x01; - memcpy(ir.bdaddr, btdev_list[i]->bdaddr, 6); - ir.pscan_rep_mode = 0x00; - ir.pscan_period_mode = 0x00; - ir.pscan_mode = 0x00; - memcpy(ir.dev_class, btdev_list[i]->dev_class, 3); - - send_event(btdev, BT_HCI_EVT_INQUIRY_RESULT, - &ir, sizeof(ir)); - } - } - - ic.status = status; - - send_event(btdev, BT_HCI_EVT_INQUIRY_COMPLETE, &ic, sizeof(ic)); -} - -static void conn_complete(struct btdev *btdev, - const uint8_t *bdaddr, uint8_t status) -{ - struct bt_hci_evt_conn_complete cc; - - if (!status) { - struct btdev *remote = find_btdev_by_bdaddr(bdaddr); - - btdev->conn = remote; - remote->conn = btdev; - - cc.status = status; - memcpy(cc.bdaddr, btdev->bdaddr, 6); - cc.encr_mode = 0x00; - - cc.handle = cpu_to_le16(42); - cc.link_type = 0x01; - - send_event(remote, BT_HCI_EVT_CONN_COMPLETE, &cc, sizeof(cc)); - - cc.handle = cpu_to_le16(42); - cc.link_type = 0x01; - } else { - cc.handle = cpu_to_le16(0x0000); - cc.link_type = 0x01; - } - - cc.status = status; - memcpy(cc.bdaddr, bdaddr, 6); - cc.encr_mode = 0x00; - - send_event(btdev, BT_HCI_EVT_CONN_COMPLETE, &cc, sizeof(cc)); -} - -static void conn_request(struct btdev *btdev, const uint8_t *bdaddr) -{ - struct btdev *remote = find_btdev_by_bdaddr(bdaddr); - - if (remote) { - if (remote->scan_enable & 0x01) { - struct bt_hci_evt_conn_request cr; - - memcpy(cr.bdaddr, btdev->bdaddr, 6); - memcpy(cr.dev_class, btdev->dev_class, 3); - cr.link_type = 0x01; - - send_event(remote, BT_HCI_EVT_CONN_REQUEST, - &cr, sizeof(cr)); - } else - conn_complete(btdev, bdaddr, BT_HCI_ERR_PAGE_TIMEOUT); - } else - conn_complete(btdev, bdaddr, BT_HCI_ERR_UNKNOWN_CONN_ID); -} - -static void disconnect_complete(struct btdev *btdev, uint16_t handle, - uint8_t reason) -{ - struct bt_hci_evt_disconnect_complete dc; - struct btdev *remote; - - if (!btdev) { - dc.status = BT_HCI_ERR_UNKNOWN_CONN_ID; - dc.handle = cpu_to_le16(handle); - dc.reason = 0x00; - - send_event(btdev, BT_HCI_EVT_DISCONNECT_COMPLETE, - &dc, sizeof(dc)); - return; - } - - dc.status = BT_HCI_ERR_SUCCESS; - dc.handle = cpu_to_le16(handle); - dc.reason = reason; - - remote = btdev->conn; - - btdev->conn = NULL; - remote->conn = NULL; - - send_event(btdev, BT_HCI_EVT_DISCONNECT_COMPLETE, &dc, sizeof(dc)); - send_event(remote, BT_HCI_EVT_DISCONNECT_COMPLETE, &dc, sizeof(dc)); -} - -static void name_request_complete(struct btdev *btdev, - const uint8_t *bdaddr, uint8_t status) -{ - struct bt_hci_evt_remote_name_request_complete nc; - - nc.status = status; - memcpy(nc.bdaddr, bdaddr, 6); - memset(nc.name, 0, 248); - - if (!status) { - struct btdev *remote = find_btdev_by_bdaddr(bdaddr); - - if (remote) - memcpy(nc.name, remote->name, 248); - else - nc.status = BT_HCI_ERR_UNKNOWN_CONN_ID; - } - - send_event(btdev, BT_HCI_EVT_REMOTE_NAME_REQUEST_COMPLETE, - &nc, sizeof(nc)); -} - -static void remote_features_complete(struct btdev *btdev, uint16_t handle) -{ - struct bt_hci_evt_remote_features_complete rfc; - - if (btdev->conn) { - rfc.status = BT_HCI_ERR_SUCCESS; - rfc.handle = cpu_to_le16(handle); - memcpy(rfc.features, btdev->conn->features, 8); - } else { - rfc.status = BT_HCI_ERR_UNKNOWN_CONN_ID; - rfc.handle = cpu_to_le16(handle); - memset(rfc.features, 0, 8); - } - - send_event(btdev, BT_HCI_EVT_REMOTE_FEATURES_COMPLETE, - &rfc, sizeof(rfc)); -} - -static void remote_ext_features_complete(struct btdev *btdev, uint16_t handle, - uint8_t page) -{ - struct bt_hci_evt_remote_ext_features_complete refc; - - if (btdev->conn && page < 0x02) { - refc.handle = cpu_to_le16(handle); - refc.page = page; - refc.max_page = 0x01; - - switch (page) { - case 0x00: - refc.status = BT_HCI_ERR_SUCCESS; - memcpy(refc.features, btdev->conn->features, 8); - break; - case 0x01: - refc.status = BT_HCI_ERR_SUCCESS; - memset(refc.features, 0, 8); - break; - default: - refc.status = BT_HCI_ERR_INVALID_PARAMETERS; - memset(refc.features, 0, 8); - break; - } - } else { - refc.status = BT_HCI_ERR_UNKNOWN_CONN_ID; - refc.handle = cpu_to_le16(handle); - refc.page = page; - refc.max_page = 0x01; - memset(refc.features, 0, 8); - } - - send_event(btdev, BT_HCI_EVT_REMOTE_EXT_FEATURES_COMPLETE, - &refc, sizeof(refc)); -} - -static void remote_version_complete(struct btdev *btdev, uint16_t handle) -{ - struct bt_hci_evt_remote_version_complete rvc; - - if (btdev->conn) { - rvc.status = BT_HCI_ERR_SUCCESS; - rvc.handle = cpu_to_le16(handle); - rvc.lmp_ver = btdev->conn->version; - rvc.manufacturer = cpu_to_le16(btdev->conn->manufacturer); - rvc.lmp_subver = cpu_to_le16(btdev->conn->revision); - } else { - rvc.status = BT_HCI_ERR_UNKNOWN_CONN_ID; - rvc.handle = cpu_to_le16(handle); - rvc.lmp_ver = 0x00; - rvc.manufacturer = cpu_to_le16(0); - rvc.lmp_subver = cpu_to_le16(0); - } - - send_event(btdev, BT_HCI_EVT_REMOTE_VERSION_COMPLETE, - &rvc, sizeof(rvc)); -} - -static void default_cmd(struct btdev *btdev, uint16_t opcode, - const void *data, uint8_t len) -{ - const struct bt_hci_cmd_create_conn *cc; - const struct bt_hci_cmd_disconnect *dc; - const struct bt_hci_cmd_create_conn_cancel *ccc; - const struct bt_hci_cmd_accept_conn_request *acr; - const struct bt_hci_cmd_reject_conn_request *rcr; - const struct bt_hci_cmd_remote_name_request *rnr; - const struct bt_hci_cmd_remote_name_request_cancel *rnrc; - const struct bt_hci_cmd_read_remote_features *rrf; - const struct bt_hci_cmd_read_remote_ext_features *rref; - const struct bt_hci_cmd_read_remote_version *rrv; - const struct bt_hci_cmd_write_default_link_policy *wdlp; - const struct bt_hci_cmd_set_event_mask *sem; - const struct bt_hci_cmd_set_event_filter *sef; - const struct bt_hci_cmd_write_local_name *wln; - const struct bt_hci_cmd_write_conn_accept_timeout *wcat; - const struct bt_hci_cmd_write_page_timeout *wpt; - const struct bt_hci_cmd_write_scan_enable *wse; - const struct bt_hci_cmd_write_page_scan_activity *wpsa; - const struct bt_hci_cmd_write_page_scan_type *wpst; - const struct bt_hci_cmd_write_auth_enable *wae; - const struct bt_hci_cmd_write_class_of_dev *wcod; - const struct bt_hci_cmd_write_voice_setting *wvs; - const struct bt_hci_cmd_write_inquiry_mode *wim; - const struct bt_hci_cmd_write_afh_assess_mode *waam; - const struct bt_hci_cmd_write_ext_inquiry_response *weir; - const struct bt_hci_cmd_write_simple_pairing_mode *wspm; - const struct bt_hci_cmd_write_le_host_supported *wlhs; - const struct bt_hci_cmd_le_set_event_mask *lsem; - const struct bt_hci_cmd_le_set_adv_data *lsad; - struct bt_hci_rsp_read_default_link_policy rdlp; - struct bt_hci_rsp_read_stored_link_key rslk; - struct bt_hci_rsp_write_stored_link_key wslk; - struct bt_hci_rsp_delete_stored_link_key dslk; - struct bt_hci_rsp_read_local_name rln; - struct bt_hci_rsp_read_conn_accept_timeout rcat; - struct bt_hci_rsp_read_page_timeout rpt; - struct bt_hci_rsp_read_scan_enable rse; - struct bt_hci_rsp_read_page_scan_activity rpsa; - struct bt_hci_rsp_read_page_scan_type rpst; - struct bt_hci_rsp_read_auth_enable rae; - struct bt_hci_rsp_read_class_of_dev rcod; - struct bt_hci_rsp_read_voice_setting rvs; - struct bt_hci_rsp_read_inquiry_mode rim; - struct bt_hci_rsp_read_afh_assess_mode raam; - struct bt_hci_rsp_read_ext_inquiry_response reir; - struct bt_hci_rsp_read_simple_pairing_mode rspm; - struct bt_hci_rsp_read_inquiry_resp_tx_power rirtp; - struct bt_hci_rsp_read_le_host_supported rlhs; - struct bt_hci_rsp_read_local_version rlv; - struct bt_hci_rsp_read_local_commands rlc; - struct bt_hci_rsp_read_local_features rlf; - struct bt_hci_rsp_read_local_ext_features rlef; - struct bt_hci_rsp_read_buffer_size rbs; - struct bt_hci_rsp_read_country_code rcc; - struct bt_hci_rsp_read_bd_addr rba; - struct bt_hci_rsp_read_data_block_size rdbs; - struct bt_hci_rsp_read_local_amp_info rlai; - struct bt_hci_rsp_le_read_buffer_size lrbs; - struct bt_hci_rsp_le_read_local_features lrlf; - struct bt_hci_rsp_le_read_adv_tx_power lratp; - struct bt_hci_rsp_le_read_supported_states lrss; - struct bt_hci_rsp_le_read_white_list_size lrwls; - uint8_t status, page; - - switch (opcode) { - case BT_HCI_CMD_INQUIRY: - if (btdev->type == BTDEV_TYPE_LE) - goto unsupported; - cmd_status(btdev, BT_HCI_ERR_SUCCESS, opcode); - inquiry_complete(btdev, BT_HCI_ERR_SUCCESS); - break; - - case BT_HCI_CMD_INQUIRY_CANCEL: - if (btdev->type == BTDEV_TYPE_LE) - goto unsupported; - status = BT_HCI_ERR_SUCCESS; - cmd_complete(btdev, opcode, &status, sizeof(status)); - break; - - case BT_HCI_CMD_CREATE_CONN: - if (btdev->type == BTDEV_TYPE_LE) - goto unsupported; - cc = data; - cmd_status(btdev, BT_HCI_ERR_SUCCESS, opcode); - conn_request(btdev, cc->bdaddr); - break; - - case BT_HCI_CMD_DISCONNECT: - dc = data; - cmd_status(btdev, BT_HCI_ERR_SUCCESS, opcode); - disconnect_complete(btdev, le16_to_cpu(dc->handle), dc->reason); - break; - - case BT_HCI_CMD_CREATE_CONN_CANCEL: - if (btdev->type == BTDEV_TYPE_LE) - goto unsupported; - ccc = data; - cmd_status(btdev, BT_HCI_ERR_SUCCESS, opcode); - conn_complete(btdev, ccc->bdaddr, BT_HCI_ERR_UNKNOWN_CONN_ID); - break; - - case BT_HCI_CMD_ACCEPT_CONN_REQUEST: - if (btdev->type == BTDEV_TYPE_LE) - goto unsupported; - acr = data; - cmd_status(btdev, BT_HCI_ERR_SUCCESS, opcode); - conn_complete(btdev, acr->bdaddr, BT_HCI_ERR_SUCCESS); - break; - - case BT_HCI_CMD_REJECT_CONN_REQUEST: - if (btdev->type == BTDEV_TYPE_LE) - goto unsupported; - rcr = data; - cmd_status(btdev, BT_HCI_ERR_SUCCESS, opcode); - conn_complete(btdev, rcr->bdaddr, BT_HCI_ERR_UNKNOWN_CONN_ID); - break; - - case BT_HCI_CMD_REMOTE_NAME_REQUEST: - if (btdev->type == BTDEV_TYPE_LE) - goto unsupported; - rnr = data; - cmd_status(btdev, BT_HCI_ERR_SUCCESS, opcode); - name_request_complete(btdev, rnr->bdaddr, BT_HCI_ERR_SUCCESS); - break; - - case BT_HCI_CMD_REMOTE_NAME_REQUEST_CANCEL: - if (btdev->type == BTDEV_TYPE_LE) - goto unsupported; - rnrc = data; - status = BT_HCI_ERR_SUCCESS; - cmd_complete(btdev, opcode, &status, sizeof(status)); - name_request_complete(btdev, rnrc->bdaddr, - BT_HCI_ERR_UNKNOWN_CONN_ID); - break; - - case BT_HCI_CMD_READ_REMOTE_FEATURES: - if (btdev->type == BTDEV_TYPE_LE) - goto unsupported; - rrf = data; - cmd_status(btdev, BT_HCI_ERR_SUCCESS, opcode); - remote_features_complete(btdev, le16_to_cpu(rrf->handle)); - break; - - case BT_HCI_CMD_READ_REMOTE_EXT_FEATURES: - if (btdev->type == BTDEV_TYPE_LE) - goto unsupported; - rref = data; - cmd_status(btdev, BT_HCI_ERR_SUCCESS, opcode); - remote_ext_features_complete(btdev, le16_to_cpu(rref->handle), - rref->page); - break; - - case BT_HCI_CMD_READ_REMOTE_VERSION: - rrv = data; - cmd_status(btdev, BT_HCI_ERR_SUCCESS, opcode); - remote_version_complete(btdev, le16_to_cpu(rrv->handle)); - break; - - case BT_HCI_CMD_READ_DEFAULT_LINK_POLICY: - if (btdev->type == BTDEV_TYPE_LE) - goto unsupported; - rdlp.status = BT_HCI_ERR_SUCCESS; - rdlp.policy = cpu_to_le16(btdev->default_link_policy); - cmd_complete(btdev, opcode, &rdlp, sizeof(rdlp)); - break; - - case BT_HCI_CMD_WRITE_DEFAULT_LINK_POLICY: - if (btdev->type == BTDEV_TYPE_LE) - goto unsupported; - wdlp = data; - btdev->default_link_policy = le16_to_cpu(wdlp->policy); - status = BT_HCI_ERR_SUCCESS; - cmd_complete(btdev, opcode, &status, sizeof(status)); - break; - - case BT_HCI_CMD_SET_EVENT_MASK: - sem = data; - memcpy(btdev->event_mask, sem->mask, 8); - status = BT_HCI_ERR_SUCCESS; - cmd_complete(btdev, opcode, &status, sizeof(status)); - break; - - case BT_HCI_CMD_RESET: - status = BT_HCI_ERR_SUCCESS; - cmd_complete(btdev, opcode, &status, sizeof(status)); - break; - - case BT_HCI_CMD_SET_EVENT_FILTER: - if (btdev->type == BTDEV_TYPE_LE) - goto unsupported; - sef = data; - btdev->event_filter = sef->type; - status = BT_HCI_ERR_SUCCESS; - cmd_complete(btdev, opcode, &status, sizeof(status)); - break; - - case BT_HCI_CMD_READ_STORED_LINK_KEY: - if (btdev->type == BTDEV_TYPE_LE) - goto unsupported; - rslk.status = BT_HCI_ERR_SUCCESS; - rslk.max_num_keys = cpu_to_le16(0); - rslk.num_keys = cpu_to_le16(0); - cmd_complete(btdev, opcode, &rslk, sizeof(rslk)); - break; - - case BT_HCI_CMD_WRITE_STORED_LINK_KEY: - if (btdev->type == BTDEV_TYPE_LE) - goto unsupported; - wslk.status = BT_HCI_ERR_SUCCESS; - wslk.num_keys = 0; - cmd_complete(btdev, opcode, &wslk, sizeof(wslk)); - break; - - case BT_HCI_CMD_DELETE_STORED_LINK_KEY: - if (btdev->type == BTDEV_TYPE_LE) - goto unsupported; - dslk.status = BT_HCI_ERR_SUCCESS; - dslk.num_keys = cpu_to_le16(0); - cmd_complete(btdev, opcode, &dslk, sizeof(dslk)); - break; - - case BT_HCI_CMD_WRITE_LOCAL_NAME: - if (btdev->type == BTDEV_TYPE_LE) - goto unsupported; - wln = data; - memcpy(btdev->name, wln->name, 248); - status = BT_HCI_ERR_SUCCESS; - cmd_complete(btdev, opcode, &status, sizeof(status)); - break; - - case BT_HCI_CMD_READ_LOCAL_NAME: - if (btdev->type == BTDEV_TYPE_LE) - goto unsupported; - rln.status = BT_HCI_ERR_SUCCESS; - memcpy(rln.name, btdev->name, 248); - cmd_complete(btdev, opcode, &rln, sizeof(rln)); - break; - - case BT_HCI_CMD_READ_CONN_ACCEPT_TIMEOUT: - if (btdev->type == BTDEV_TYPE_LE) - goto unsupported; - rcat.status = BT_HCI_ERR_SUCCESS; - rcat.timeout = cpu_to_le16(btdev->conn_accept_timeout); - cmd_complete(btdev, opcode, &rcat, sizeof(rcat)); - break; - - case BT_HCI_CMD_WRITE_CONN_ACCEPT_TIMEOUT: - if (btdev->type == BTDEV_TYPE_LE) - goto unsupported; - wcat = data; - btdev->conn_accept_timeout = le16_to_cpu(wcat->timeout); - status = BT_HCI_ERR_SUCCESS; - cmd_complete(btdev, opcode, &status, sizeof(status)); - break; - - case BT_HCI_CMD_READ_PAGE_TIMEOUT: - if (btdev->type == BTDEV_TYPE_LE) - goto unsupported; - rpt.status = BT_HCI_ERR_SUCCESS; - rpt.timeout = cpu_to_le16(btdev->page_timeout); - cmd_complete(btdev, opcode, &rpt, sizeof(rpt)); - break; - - case BT_HCI_CMD_WRITE_PAGE_TIMEOUT: - if (btdev->type == BTDEV_TYPE_LE) - goto unsupported; - wpt = data; - btdev->page_timeout = le16_to_cpu(wpt->timeout); - status = BT_HCI_ERR_SUCCESS; - cmd_complete(btdev, opcode, &status, sizeof(status)); - break; - - case BT_HCI_CMD_READ_SCAN_ENABLE: - if (btdev->type == BTDEV_TYPE_LE) - goto unsupported; - rse.status = BT_HCI_ERR_SUCCESS; - rse.enable = btdev->scan_enable; - cmd_complete(btdev, opcode, &rse, sizeof(rse)); - break; - - case BT_HCI_CMD_WRITE_SCAN_ENABLE: - if (btdev->type == BTDEV_TYPE_LE) - goto unsupported; - wse = data; - btdev->scan_enable = wse->enable; - status = BT_HCI_ERR_SUCCESS; - cmd_complete(btdev, opcode, &status, sizeof(status)); - break; - - case BT_HCI_CMD_READ_PAGE_SCAN_ACTIVITY: - if (btdev->type == BTDEV_TYPE_LE) - goto unsupported; - rpsa.status = BT_HCI_ERR_SUCCESS; - rpsa.interval = cpu_to_le16(btdev->page_scan_interval); - rpsa.window = cpu_to_le16(btdev->page_scan_window); - cmd_complete(btdev, opcode, &rpsa, sizeof(rpsa)); - break; - - case BT_HCI_CMD_WRITE_PAGE_SCAN_ACTIVITY: - if (btdev->type == BTDEV_TYPE_LE) - goto unsupported; - wpsa = data; - btdev->page_scan_interval = le16_to_cpu(wpsa->interval); - btdev->page_scan_window = le16_to_cpu(wpsa->window); - status = BT_HCI_ERR_SUCCESS; - cmd_complete(btdev, opcode, &status, sizeof(status)); - break; - - case BT_HCI_CMD_READ_PAGE_SCAN_TYPE: - if (btdev->type == BTDEV_TYPE_LE) - goto unsupported; - rpst.status = BT_HCI_ERR_SUCCESS; - rpst.type = btdev->page_scan_type; - cmd_complete(btdev, opcode, &rpst, sizeof(rpst)); - break; - - case BT_HCI_CMD_WRITE_PAGE_SCAN_TYPE: - if (btdev->type == BTDEV_TYPE_LE) - goto unsupported; - wpst = data; - btdev->page_scan_type = wpst->type; - status = BT_HCI_ERR_SUCCESS; - cmd_complete(btdev, opcode, &status, sizeof(status)); - break; - - case BT_HCI_CMD_READ_AUTH_ENABLE: - if (btdev->type == BTDEV_TYPE_LE) - goto unsupported; - rae.status = BT_HCI_ERR_SUCCESS; - rae.enable = btdev->auth_enable; - cmd_complete(btdev, opcode, &rae, sizeof(rae)); - break; - - case BT_HCI_CMD_WRITE_AUTH_ENABLE: - if (btdev->type == BTDEV_TYPE_LE) - goto unsupported; - wae = data; - btdev->auth_enable = wae->enable; - status = BT_HCI_ERR_SUCCESS; - cmd_complete(btdev, opcode, &status, sizeof(status)); - break; - - case BT_HCI_CMD_READ_CLASS_OF_DEV: - if (btdev->type == BTDEV_TYPE_LE) - goto unsupported; - rcod.status = BT_HCI_ERR_SUCCESS; - memcpy(rcod.dev_class, btdev->dev_class, 3); - cmd_complete(btdev, opcode, &rcod, sizeof(rcod)); - break; - - case BT_HCI_CMD_WRITE_CLASS_OF_DEV: - if (btdev->type == BTDEV_TYPE_LE) - goto unsupported; - wcod = data; - memcpy(btdev->dev_class, wcod->dev_class, 3); - status = BT_HCI_ERR_SUCCESS; - cmd_complete(btdev, opcode, &status, sizeof(status)); - break; - - case BT_HCI_CMD_READ_VOICE_SETTING: - if (btdev->type == BTDEV_TYPE_LE) - goto unsupported; - rvs.status = BT_HCI_ERR_SUCCESS; - rvs.setting = cpu_to_le16(btdev->voice_setting); - cmd_complete(btdev, opcode, &rvs, sizeof(rvs)); - break; - - case BT_HCI_CMD_WRITE_VOICE_SETTING: - if (btdev->type == BTDEV_TYPE_LE) - goto unsupported; - wvs = data; - btdev->voice_setting = le16_to_cpu(wvs->setting); - status = BT_HCI_ERR_SUCCESS; - cmd_complete(btdev, opcode, &status, sizeof(status)); - break; - - case BT_HCI_CMD_READ_INQUIRY_MODE: - if (btdev->type == BTDEV_TYPE_LE) - goto unsupported; - rim.status = BT_HCI_ERR_SUCCESS; - rim.mode = btdev->inquiry_mode; - cmd_complete(btdev, opcode, &rim, sizeof(rim)); - break; - - case BT_HCI_CMD_WRITE_INQUIRY_MODE: - wim = data; - btdev->inquiry_mode = wim->mode; - status = BT_HCI_ERR_SUCCESS; - cmd_complete(btdev, opcode, &status, sizeof(status)); - break; - - case BT_HCI_CMD_READ_AFH_ASSESS_MODE: - if (btdev->type == BTDEV_TYPE_LE) - goto unsupported; - raam.status = BT_HCI_ERR_SUCCESS; - raam.mode = btdev->afh_assess_mode; - cmd_complete(btdev, opcode, &raam, sizeof(raam)); - break; - - case BT_HCI_CMD_WRITE_AFH_ASSESS_MODE: - if (btdev->type == BTDEV_TYPE_LE) - goto unsupported; - waam = data; - btdev->afh_assess_mode = waam->mode; - status = BT_HCI_ERR_SUCCESS; - cmd_complete(btdev, opcode, &status, sizeof(status)); - break; - - case BT_HCI_CMD_READ_EXT_INQUIRY_RESPONSE: - if (btdev->type == BTDEV_TYPE_LE) - goto unsupported; - reir.status = BT_HCI_ERR_SUCCESS; - reir.fec = btdev->ext_inquiry_fec; - memcpy(reir.data, btdev->ext_inquiry_rsp, 240); - cmd_complete(btdev, opcode, &reir, sizeof(reir)); - break; - - case BT_HCI_CMD_WRITE_EXT_INQUIRY_RESPONSE: - if (btdev->type == BTDEV_TYPE_LE) - goto unsupported; - weir = data; - btdev->ext_inquiry_fec = weir->fec; - memcpy(btdev->ext_inquiry_rsp, weir->data, 240); - status = BT_HCI_ERR_SUCCESS; - cmd_complete(btdev, opcode, &status, sizeof(status)); - break; - - case BT_HCI_CMD_READ_SIMPLE_PAIRING_MODE: - if (btdev->type == BTDEV_TYPE_LE) - goto unsupported; - rspm.status = BT_HCI_ERR_SUCCESS; - rspm.mode = btdev->simple_pairing_mode; - cmd_complete(btdev, opcode, &rspm, sizeof(rspm)); - break; - - case BT_HCI_CMD_WRITE_SIMPLE_PAIRING_MODE: - if (btdev->type == BTDEV_TYPE_LE) - goto unsupported; - wspm = data; - btdev->simple_pairing_mode = wspm->mode; - status = BT_HCI_ERR_SUCCESS; - cmd_complete(btdev, opcode, &status, sizeof(status)); - break; - - case BT_HCI_CMD_READ_INQUIRY_RESP_TX_POWER: - if (btdev->type == BTDEV_TYPE_LE) - goto unsupported; - rirtp.status = BT_HCI_ERR_SUCCESS; - rirtp.level = 0; - cmd_complete(btdev, opcode, &rirtp, sizeof(rirtp)); - break; - - case BT_HCI_CMD_READ_LE_HOST_SUPPORTED: - if (btdev->type == BTDEV_TYPE_BREDR) - goto unsupported; - rlhs.status = BT_HCI_ERR_SUCCESS; - rlhs.supported = btdev->le_supported; - rlhs.simultaneous = btdev->le_simultaneous; - cmd_complete(btdev, opcode, &rlhs, sizeof(rlhs)); - break; - - case BT_HCI_CMD_WRITE_LE_HOST_SUPPORTED: - if (btdev->type == BTDEV_TYPE_BREDR) - goto unsupported; - wlhs = data; - btdev->le_supported = wlhs->supported; - btdev->le_simultaneous = wlhs->simultaneous; - status = BT_HCI_ERR_SUCCESS; - cmd_complete(btdev, opcode, &status, sizeof(status)); - break; - - case BT_HCI_CMD_READ_LOCAL_VERSION: - rlv.status = BT_HCI_ERR_SUCCESS; - rlv.hci_ver = btdev->version; - rlv.hci_rev = cpu_to_le16(btdev->revision); - rlv.lmp_ver = btdev->version; - rlv.manufacturer = cpu_to_le16(btdev->manufacturer); - rlv.lmp_subver = cpu_to_le16(btdev->revision); - cmd_complete(btdev, opcode, &rlv, sizeof(rlv)); - break; - - case BT_HCI_CMD_READ_LOCAL_COMMANDS: - rlc.status = BT_HCI_ERR_SUCCESS; - memcpy(rlc.commands, btdev->commands, 64); - cmd_complete(btdev, opcode, &rlc, sizeof(rlc)); - break; - - case BT_HCI_CMD_READ_LOCAL_FEATURES: - rlf.status = BT_HCI_ERR_SUCCESS; - memcpy(rlf.features, btdev->features, 8); - cmd_complete(btdev, opcode, &rlf, sizeof(rlf)); - break; - - case BT_HCI_CMD_READ_LOCAL_EXT_FEATURES: - page = ((const uint8_t *) data)[0]; - switch (page) { - case 0x00: - rlef.status = BT_HCI_ERR_SUCCESS; - rlef.page = 0x00; - rlef.max_page = 0x01; - memcpy(rlef.features, btdev->features, 8); - break; - case 0x01: - rlef.status = BT_HCI_ERR_SUCCESS; - rlef.page = 0x01; - rlef.max_page = 0x01; - memset(rlef.features, 0, 8); - if (btdev->simple_pairing_mode) - rlef.features[0] |= 0x01; - if (btdev->le_supported) - rlef.features[0] |= 0x02; - if (btdev->le_simultaneous) - rlef.features[0] |= 0x04; - break; - default: - rlef.status = BT_HCI_ERR_INVALID_PARAMETERS; - rlef.page = page; - rlef.max_page = 0x01; - memset(rlef.features, 0, 8); - break; - } - cmd_complete(btdev, opcode, &rlef, sizeof(rlef)); - break; - - case BT_HCI_CMD_READ_BUFFER_SIZE: - rbs.status = BT_HCI_ERR_SUCCESS; - rbs.acl_mtu = cpu_to_le16(btdev->acl_mtu); - rbs.sco_mtu = 0; - rbs.acl_max_pkt = cpu_to_le16(btdev->acl_max_pkt); - rbs.sco_max_pkt = cpu_to_le16(0); - cmd_complete(btdev, opcode, &rbs, sizeof(rbs)); - break; - - case BT_HCI_CMD_READ_COUNTRY_CODE: - rcc.status = BT_HCI_ERR_SUCCESS; - rcc.code = btdev->country_code; - cmd_complete(btdev, opcode, &rcc, sizeof(rcc)); - break; - - case BT_HCI_CMD_READ_BD_ADDR: - rba.status = BT_HCI_ERR_SUCCESS; - memcpy(rba.bdaddr, btdev->bdaddr, 6); - cmd_complete(btdev, opcode, &rba, sizeof(rba)); - break; - - case BT_HCI_CMD_READ_DATA_BLOCK_SIZE: - rdbs.status = BT_HCI_ERR_SUCCESS; - rdbs.max_acl_len = cpu_to_le16(btdev->acl_mtu); - rdbs.block_len = cpu_to_le16(btdev->acl_mtu); - rdbs.num_blocks = cpu_to_le16(btdev->acl_max_pkt); - cmd_complete(btdev, opcode, &rdbs, sizeof(rdbs)); - break; - - case BT_HCI_CMD_READ_LOCAL_AMP_INFO: - rlai.status = BT_HCI_ERR_SUCCESS; - rlai.amp_status = 0x01; /* Used for Bluetooth only */ - rlai.total_bw = cpu_to_le32(0); - rlai.max_bw = cpu_to_le32(0); - rlai.min_latency = cpu_to_le32(0); - rlai.max_pdu = cpu_to_le32(672); - rlai.amp_type = 0x01; /* 802.11 AMP Controller */ - rlai.pal_cap = cpu_to_le16(0x0000); - rlai.max_assoc_len = cpu_to_le16(672); - rlai.max_flush_to = cpu_to_le32(0xffffffff); - rlai.be_flush_to = cpu_to_le32(0xffffffff); - cmd_complete(btdev, opcode, &rlai, sizeof(rlai)); - break; - - case BT_HCI_CMD_LE_SET_EVENT_MASK: - if (btdev->type == BTDEV_TYPE_BREDR) - goto unsupported; - lsem = data; - memcpy(btdev->le_event_mask, lsem->mask, 8); - status = BT_HCI_ERR_SUCCESS; - cmd_complete(btdev, opcode, &status, sizeof(status)); - break; - - case BT_HCI_CMD_LE_READ_BUFFER_SIZE: - if (btdev->type == BTDEV_TYPE_BREDR) - goto unsupported; - lrbs.status = BT_HCI_ERR_SUCCESS; - lrbs.le_mtu = cpu_to_le16(btdev->acl_mtu); - lrbs.le_max_pkt = btdev->acl_max_pkt; - cmd_complete(btdev, opcode, &lrbs, sizeof(lrbs)); - break; - - case BT_HCI_CMD_LE_READ_LOCAL_FEATURES: - if (btdev->type == BTDEV_TYPE_BREDR) - goto unsupported; - lrlf.status = BT_HCI_ERR_SUCCESS; - memcpy(lrlf.features, btdev->le_features, 8); - cmd_complete(btdev, opcode, &lrlf, sizeof(lrlf)); - break; - - case BT_HCI_CMD_LE_READ_ADV_TX_POWER: - if (btdev->type == BTDEV_TYPE_BREDR) - goto unsupported; - lratp.status = BT_HCI_ERR_SUCCESS; - lratp.level = 0; - cmd_complete(btdev, opcode, &lratp, sizeof(lratp)); - break; - - case BT_HCI_CMD_LE_SET_SCAN_PARAMETERS: - if (btdev->type == BTDEV_TYPE_BREDR) - goto unsupported; - status = BT_HCI_ERR_SUCCESS; - cmd_complete(btdev, opcode, &status, sizeof(status)); - break; - - case BT_HCI_CMD_LE_SET_SCAN_ENABLE: - if (btdev->type == BTDEV_TYPE_BREDR) - goto unsupported; - status = BT_HCI_ERR_SUCCESS; - cmd_complete(btdev, opcode, &status, sizeof(status)); - break; - - case BT_HCI_CMD_LE_READ_WHITE_LIST_SIZE: - if (btdev->type == BTDEV_TYPE_BREDR) - goto unsupported; - lrwls.status = 0; - lrwls.size = 0; - cmd_complete(btdev, opcode, &lrwls, sizeof(lrwls)); - break; - - case BT_HCI_CMD_LE_READ_SUPPORTED_STATES: - if (btdev->type == BTDEV_TYPE_BREDR) - goto unsupported; - lrss.status = BT_HCI_ERR_SUCCESS; - memcpy(lrss.states, btdev->le_states, 8); - cmd_complete(btdev, opcode, &lrss, sizeof(lrss)); - break; - - case BT_HCI_CMD_LE_SET_ADV_DATA: - if (btdev->type == BTDEV_TYPE_BREDR) - goto unsupported; - lsad = data; - memcpy(btdev->le_adv_data, lsad->data, 31); - status = BT_HCI_ERR_SUCCESS; - cmd_complete(btdev, opcode, &status, sizeof(status)); - break; - - default: - goto unsupported; - } - - return; - -unsupported: - printf("Unsupported command 0x%4.4x\n", opcode); - hexdump(data, len); - cmd_status(btdev, BT_HCI_ERR_UNKNOWN_COMMAND, opcode); -} - -struct btdev_callback { - void (*function)(btdev_callback callback, uint8_t response, - uint8_t status, const void *data, uint8_t len); - void *user_data; - uint16_t opcode; - const void *data; - uint8_t len; -}; - -void btdev_command_response(btdev_callback callback, uint8_t response, - uint8_t status, const void *data, uint8_t len) -{ - callback->function(callback, response, status, data, len); -} - -static void handler_callback(btdev_callback callback, uint8_t response, - uint8_t status, const void *data, uint8_t len) -{ - struct btdev *btdev = callback->user_data; - - switch (response) { - case BTDEV_RESPONSE_DEFAULT: - default_cmd(btdev, callback->opcode, - callback->data, callback->len); - break; - case BTDEV_RESPONSE_COMMAND_STATUS: - cmd_status(btdev, status, callback->opcode); - break; - case BTDEV_RESPONSE_COMMAND_COMPLETE: - cmd_complete(btdev, callback->opcode, data, len); - break; - default: - cmd_status(btdev, BT_HCI_ERR_UNKNOWN_COMMAND, - callback->opcode); - break; - } -} - -static void process_cmd(struct btdev *btdev, const void *data, uint16_t len) -{ - struct btdev_callback callback; - const struct bt_hci_cmd_hdr *hdr = data; - - if (len < sizeof(*hdr)) - return; - - callback.function = handler_callback; - callback.user_data = btdev; - callback.opcode = le16_to_cpu(hdr->opcode); - callback.data = data + sizeof(*hdr); - callback.len = hdr->plen; - - if (btdev->command_handler) - btdev->command_handler(callback.opcode, - callback.data, callback.len, - &callback, btdev->command_data); - else - default_cmd(btdev, callback.opcode, - callback.data, callback.len); -} - -void btdev_receive_h4(struct btdev *btdev, const void *data, uint16_t len) -{ - uint8_t pkt_type; - - if (!btdev) - return; - - if (len < 1) - return; - - pkt_type = ((const uint8_t *) data)[0]; - - switch (pkt_type) { - case BT_H4_CMD_PKT: - process_cmd(btdev, data + 1, len - 1); - break; - case BT_H4_ACL_PKT: - if (btdev->conn) - send_packet(btdev->conn, data, len); - num_completed_packets(btdev); - break; - default: - printf("Unsupported packet 0x%2.2x\n", pkt_type); - break; - } -} diff --git a/GRIB_BLE_HUB/libs/ble_extend/emulator/btdev.h b/GRIB_BLE_HUB/libs/ble_extend/emulator/btdev.h deleted file mode 100644 index ef71a9b..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/emulator/btdev.h +++ /dev/null @@ -1,76 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2011-2012 Intel Corporation - * Copyright (C) 2004-2010 Marcel Holtmann - * - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#include - -#define BTDEV_RESPONSE_DEFAULT 0 -#define BTDEV_RESPONSE_COMMAND_STATUS 1 -#define BTDEV_RESPONSE_COMMAND_COMPLETE 2 - -typedef struct btdev_callback * btdev_callback; - -void btdev_command_response(btdev_callback callback, uint8_t response, - uint8_t status, const void *data, uint8_t len); - -#define btdev_command_default(callback) \ - btdev_command_response(callback, \ - BTDEV_RESPONSE_DEFAULT, 0x00, NULL, 0); - -#define btdev_command_status(callback, status) \ - btdev_command_response(callback, \ - BTDEV_RESPONSE_COMMAND_STATUS, status, NULL, 0); - -#define btdev_command_complete(callback, data, len) \ - btdev_command_response(callback, \ - BTDEV_RESPONSE_COMMAND_COMPLETE, 0x00, data, len); - - -typedef void (*btdev_command_func) (uint16_t opcode, - const void *data, uint8_t len, - btdev_callback callback, void *user_data); - -typedef void (*btdev_send_func) (const void *data, uint16_t len, - void *user_data); - -enum btdev_type { - BTDEV_TYPE_BREDRLE, - BTDEV_TYPE_BREDR, - BTDEV_TYPE_LE, - BTDEV_TYPE_AMP, -}; - -struct btdev; - -struct btdev *btdev_create(enum btdev_type type, uint16_t id); -void btdev_destroy(struct btdev *btdev); - -void btdev_set_bdaddr(struct btdev *btdev, uint8_t *bdaddr); - -void btdev_set_command_handler(struct btdev *btdev, btdev_command_func handler, - void *user_data); - -void btdev_set_send_handler(struct btdev *btdev, btdev_send_func handler, - void *user_data); - -void btdev_receive_h4(struct btdev *btdev, const void *data, uint16_t len); diff --git a/GRIB_BLE_HUB/libs/ble_extend/emulator/bthost.c b/GRIB_BLE_HUB/libs/ble_extend/emulator/bthost.c deleted file mode 100644 index 02efe1c..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/emulator/bthost.c +++ /dev/null @@ -1,165 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2011-2012 Intel Corporation - * Copyright (C) 2004-2010 Marcel Holtmann - * - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include -#include -#include - -#include "monitor/bt.h" -#include "bthost.h" - -#define le16_to_cpu(val) (val) -#define le32_to_cpu(val) (val) -#define cpu_to_le16(val) (val) -#define cpu_to_le32(val) (val) - -struct bthost { - bthost_send_func send_handler; - void *send_data; -}; - -struct bthost *bthost_create(void) -{ - struct bthost *bthost; - - bthost = malloc(sizeof(*bthost)); - if (!bthost) - return NULL; - - memset(bthost, 0, sizeof(*bthost)); - - return bthost; -} - -void bthost_destroy(struct bthost *bthost) -{ - if (!bthost) - return; - - free(bthost); -} - -void bthost_set_send_handler(struct bthost *bthost, bthost_send_func handler, - void *user_data) -{ - if (!bthost) - return; - - bthost->send_handler = handler; - bthost->send_data = user_data; -} - -static void send_packet(struct bthost *bthost, const void *data, uint16_t len) -{ - if (!bthost->send_handler) - return; - - bthost->send_handler(data, len, bthost->send_data); -} - -static void send_command(struct bthost *bthost, uint16_t opcode, - const void *data, uint8_t len) -{ - struct bt_hci_cmd_hdr *hdr; - uint16_t pkt_len; - void *pkt_data; - - pkt_len = 1 + sizeof(*hdr) + len; - - pkt_data = malloc(pkt_len); - if (!pkt_data) - return; - - ((uint8_t *) pkt_data)[0] = BT_H4_CMD_PKT; - - hdr = pkt_data + 1; - hdr->opcode = cpu_to_le16(opcode); - hdr->plen = len; - - if (len > 0) - memcpy(pkt_data + 1 + sizeof(*hdr), data, len); - - send_packet(bthost, pkt_data, pkt_len); - - free(pkt_data); -} - -static void process_evt(struct bthost *bthost, const void *data, uint16_t len) -{ - const struct bt_hci_evt_hdr *hdr = data; - - if (len < sizeof(*hdr)) - return; - - switch (hdr->evt) { - case BT_HCI_EVT_CMD_COMPLETE: - break; - - case BT_HCI_EVT_CMD_STATUS: - break; - - default: - printf("Unsupported event 0x%2.2x\n", hdr->evt); - break; - } -} - -void bthost_receive_h4(struct bthost *bthost, const void *data, uint16_t len) -{ - uint8_t pkt_type; - - if (!bthost) - return; - - if (len < 1) - return; - - pkt_type = ((const uint8_t *) data)[0]; - - switch (pkt_type) { - case BT_H4_EVT_PKT: - process_evt(bthost, data + 1, len - 1); - break; - default: - printf("Unsupported packet 0x%2.2x\n", pkt_type); - break; - } -} - -void bthost_start(struct bthost *bthost) -{ - if (!bthost) - return; - - send_command(bthost, BT_HCI_CMD_RESET, NULL, 0); -} - -void bthost_stop(struct bthost *bthost) -{ -} diff --git a/GRIB_BLE_HUB/libs/ble_extend/emulator/bthost.h b/GRIB_BLE_HUB/libs/ble_extend/emulator/bthost.h deleted file mode 100644 index 84e5b7a..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/emulator/bthost.h +++ /dev/null @@ -1,41 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2011-2012 Intel Corporation - * Copyright (C) 2004-2010 Marcel Holtmann - * - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#include - -typedef void (*bthost_send_func) (const void *data, uint16_t len, - void *user_data); - -struct bthost; - -struct bthost *bthost_create(void); -void bthost_destroy(struct bthost *bthost); - -void bthost_set_send_handler(struct bthost *bthost, bthost_send_func handler, - void *user_data); - -void bthost_receive_h4(struct bthost *bthost, const void *data, uint16_t len); - -void bthost_start(struct bthost *bthost); -void bthost_stop(struct bthost *bthost); diff --git a/GRIB_BLE_HUB/libs/ble_extend/emulator/main.c b/GRIB_BLE_HUB/libs/ble_extend/emulator/main.c deleted file mode 100644 index f185a97..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/emulator/main.c +++ /dev/null @@ -1,146 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2011-2012 Intel Corporation - * Copyright (C) 2004-2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include -#include -#include - -#include "monitor/mainloop.h" -#include "server.h" -#include "vhci.h" - -static void signal_callback(int signum, void *user_data) -{ - switch (signum) { - case SIGINT: - case SIGTERM: - mainloop_quit(); - break; - } -} - -static void usage(void) -{ - printf("btvirt - Bluetooth emulator\n" - "Usage:\n"); - printf("\tbtvirt [options]\n"); - printf("options:\n" - "\t-h, --help Show help options\n"); -} - -static const struct option main_options[] = { - { "local", optional_argument, NULL, 'l' }, - { "version", no_argument, NULL, 'v' }, - { "help", no_argument, NULL, 'h' }, - { } -}; - -int main(int argc, char *argv[]) -{ - struct vhci *vhci; - struct server *server1; - struct server *server2; - struct server *server3; - struct server *server4; - struct server *server5; - int vhci_count = 0; - enum vhci_type vhci_type = VHCI_TYPE_BREDRLE; - sigset_t mask; - int i; - - mainloop_init(); - - for (;;) { - int opt; - - opt = getopt_long(argc, argv, "l::LBvh", main_options, NULL); - if (opt < 0) - break; - - switch (opt) { - case 'l': - if (optarg) - vhci_count = atoi(optarg); - else - vhci_count = 1; - break; - case 'L': - vhci_type = VHCI_TYPE_LE; - break; - case 'B': - vhci_type = VHCI_TYPE_BREDR; - break; - case 'v': - printf("%s\n", VERSION); - return EXIT_SUCCESS; - case 'h': - usage(); - return EXIT_SUCCESS; - default: - return EXIT_FAILURE; - } - } - - sigemptyset(&mask); - sigaddset(&mask, SIGINT); - sigaddset(&mask, SIGTERM); - - mainloop_set_signal(&mask, signal_callback, NULL, NULL); - - printf("Bluetooth emulator ver %s\n", VERSION); - - for (i = 0; i < vhci_count; i++) { - vhci = vhci_open(vhci_type); - if (!vhci) - fprintf(stderr, "Failed to open Virtual HCI device\n"); - } - - server1 = server_open_unix(SERVER_TYPE_BREDRLE, - "/tmp/bt-server-bredrle"); - if (!server1) - fprintf(stderr, "Failed to open BR/EDR/LE server channel\n"); - - server2 = server_open_unix(SERVER_TYPE_BREDR, "/tmp/bt-server-bredr"); - if (!server2) - fprintf(stderr, "Failed to open BR/EDR server channel\n"); - - server3 = server_open_unix(SERVER_TYPE_AMP, "/tmp/bt-server-amp"); - if (!server3) - fprintf(stderr, "Failed to open AMP server channel\n"); - - server4 = server_open_unix(SERVER_TYPE_LE, "/tmp/bt-server-le"); - if (!server4) - fprintf(stderr, "Failed to open LE server channel\n"); - - server5 = server_open_unix(SERVER_TYPE_MONITOR, "/tmp/bt-server-mon"); - if (!server5) - fprintf(stderr, "Failed to open monitor server channel\n"); - - return mainloop_run(); -} diff --git a/GRIB_BLE_HUB/libs/ble_extend/emulator/server.c b/GRIB_BLE_HUB/libs/ble_extend/emulator/server.c deleted file mode 100644 index b2a4b02..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/emulator/server.c +++ /dev/null @@ -1,382 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2011-2012 Intel Corporation - * Copyright (C) 2004-2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include - -#include "monitor/mainloop.h" -#include "btdev.h" -#include "server.h" - -#define uninitialized_var(x) x = x - -struct server { - enum server_type type; - uint16_t id; - int fd; -}; - -struct client { - int fd; - struct btdev *btdev; - uint8_t *pkt_data; - uint8_t pkt_type; - uint16_t pkt_expect; - uint16_t pkt_len; - uint16_t pkt_offset; -}; - -static void server_destroy(void *user_data) -{ - struct server *server = user_data; - - close(server->fd); - - free(server); -} - -static void client_destroy(void *user_data) -{ - struct client *client = user_data; - - btdev_destroy(client->btdev); - - close(client->fd); - - free(client); -} - -static void client_write_callback(const void *data, uint16_t len, - void *user_data) -{ - struct client *client = user_data; - ssize_t written; - - written = send(client->fd, data, len, MSG_DONTWAIT); - if (written < 0) - return; -} - -static void client_read_callback(int fd, uint32_t events, void *user_data) -{ - struct client *client = user_data; - static uint8_t buf[4096]; - uint8_t *ptr = buf; - ssize_t len; - uint16_t count; - - if (events & (EPOLLERR | EPOLLHUP)) { - mainloop_remove_fd(client->fd); - return; - } - -again: - len = recv(fd, buf + client->pkt_offset, - sizeof(buf) - client->pkt_offset, MSG_DONTWAIT); - if (len < 0) { - if (errno == EAGAIN) - goto again; - return; - } - - if (!client->btdev) - return; - - count = client->pkt_offset + len; - - while (count > 0) { - hci_command_hdr *cmd_hdr; - - if (!client->pkt_data) { - client->pkt_type = ptr[0]; - - switch (client->pkt_type) { - case HCI_COMMAND_PKT: - if (count < HCI_COMMAND_HDR_SIZE + 1) { - client->pkt_offset += len; - return; - } - cmd_hdr = (hci_command_hdr *) (ptr + 1); - client->pkt_expect = HCI_COMMAND_HDR_SIZE + - cmd_hdr->plen + 1; - client->pkt_data = malloc(client->pkt_expect); - client->pkt_len = 0; - break; - default: - printf("packet error\n"); - return; - } - - client->pkt_offset = 0; - } - - if (count >= client->pkt_expect) { - memcpy(client->pkt_data + client->pkt_len, - ptr, client->pkt_expect); - ptr += client->pkt_expect; - count -= client->pkt_expect; - - btdev_receive_h4(client->btdev, client->pkt_data, - client->pkt_len + client->pkt_expect); - - free(client->pkt_data); - client->pkt_data = NULL; - } else { - memcpy(client->pkt_data + client->pkt_len, ptr, count); - client->pkt_len += count; - client->pkt_expect -= count; - count = 0; - } - } -} - -static int accept_client(int fd) -{ - struct sockaddr_un addr; - socklen_t len; - int nfd; - - memset(&addr, 0, sizeof(addr)); - len = sizeof(addr); - - if (getsockname(fd, (struct sockaddr *) &addr, &len) < 0) { - perror("Failed to get socket name"); - return -1; - } - - printf("Request for %s\n", addr.sun_path); - - nfd = accept(fd, (struct sockaddr *) &addr, &len); - if (nfd < 0) { - perror("Failed to accept client socket"); - return -1; - } - - return nfd; -} - -static void server_accept_callback(int fd, uint32_t events, void *user_data) -{ - struct server *server = user_data; - struct client *client; - enum btdev_type uninitialized_var(type); - - if (events & (EPOLLERR | EPOLLHUP)) { - mainloop_remove_fd(server->fd); - return; - } - - client = malloc(sizeof(*client)); - if (!client) - return; - - memset(client, 0, sizeof(*client)); - - client->fd = accept_client(server->fd); - if (client->fd < 0) { - free(client); - return; - } - - switch (server->type) { - case SERVER_TYPE_BREDRLE: - type = BTDEV_TYPE_BREDRLE; - break; - case SERVER_TYPE_BREDR: - type = BTDEV_TYPE_BREDR; - break; - case SERVER_TYPE_LE: - type = BTDEV_TYPE_LE; - break; - case SERVER_TYPE_AMP: - type = BTDEV_TYPE_AMP; - break; - case SERVER_TYPE_MONITOR: - goto done; - } - - client->btdev = btdev_create(type, server->id); - if (!client->btdev) { - close(client->fd); - free(client); - return; - } - - btdev_set_send_handler(client->btdev, client_write_callback, client); - -done: - if (mainloop_add_fd(client->fd, EPOLLIN, client_read_callback, - client, client_destroy) < 0) { - btdev_destroy(client->btdev); - close(client->fd); - free(client); - } -} - -static int open_unix(const char *path) -{ - struct sockaddr_un addr; - int fd; - - unlink(path); - - fd = socket(PF_UNIX, SOCK_STREAM, 0); - if (fd < 0) { - perror("Failed to open server socket"); - return -1; - } - - memset(&addr, 0, sizeof(addr)); - addr.sun_family = AF_UNIX; - strcpy(addr.sun_path, path); - - if (bind(fd, (struct sockaddr *) &addr, sizeof(addr)) < 0) { - perror("Failed to bind server socket"); - close(fd); - return -1; - } - - if (listen(fd, 5) < 0) { - perror("Failed to listen server socket"); - close(fd); - return -1; - } - - return fd; -} - -struct server *server_open_unix(enum server_type type, const char *path) -{ - struct server *server; - - server = malloc(sizeof(*server)); - if (!server) - return NULL; - - memset(server, 0, sizeof(*server)); - server->type = type; - server->id = 0x42; - - server->fd = open_unix(path); - if (server->fd < 0) { - free(server); - return NULL; - } - - if (mainloop_add_fd(server->fd, EPOLLIN, server_accept_callback, - server, server_destroy) < 0) { - close(server->fd); - free(server); - return NULL; - } - - return server; -} - -static int open_tcp(void) -{ - struct sockaddr_in addr; - int fd, opt = 1; - - fd = socket(PF_INET, SOCK_STREAM, 0); - if (fd < 0) { - perror("Failed to open server socket"); - return -1; - } - - setsockopt(fd, SOL_SOCKET, SO_REUSEADDR, &opt, sizeof(opt)); - - memset(&addr, 0, sizeof(addr)); - addr.sin_family = AF_INET; - addr.sin_addr.s_addr = INADDR_ANY; - addr.sin_addr.s_addr = inet_addr("127.0.0.1"); - addr.sin_port = htons(45550); - - if (bind(fd, (struct sockaddr *) &addr, sizeof(addr)) < 0) { - perror("Failed to bind server socket"); - close(fd); - return -1; - } - - if (listen(fd, 5) < 0) { - perror("Failed to listen server socket"); - close(fd); - return -1; - } - - return fd; -} - -struct server *server_open_tcp(enum server_type type) -{ - struct server *server; - - server = malloc(sizeof(*server)); - if (!server) - return server; - - memset(server, 0, sizeof(*server)); - server->type = type; - server->id = 0x43; - - server->fd = open_tcp(); - if (server->fd < 0) { - free(server); - return NULL; - } - - if (mainloop_add_fd(server->fd, EPOLLIN, server_accept_callback, - server, server_destroy) < 0) { - close(server->fd); - free(server); - return NULL; - } - - return server; -} - -void server_close(struct server *server) -{ - if (!server) - return; - - mainloop_remove_fd(server->fd); -} diff --git a/GRIB_BLE_HUB/libs/ble_extend/emulator/server.h b/GRIB_BLE_HUB/libs/ble_extend/emulator/server.h deleted file mode 100644 index f0b3727..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/emulator/server.h +++ /dev/null @@ -1,39 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2011-2012 Intel Corporation - * Copyright (C) 2004-2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#include - -enum server_type { - SERVER_TYPE_BREDRLE, - SERVER_TYPE_BREDR, - SERVER_TYPE_LE, - SERVER_TYPE_AMP, - SERVER_TYPE_MONITOR, -}; - -struct server; - -struct server *server_open_unix(enum server_type type, const char *path); -struct server *server_open_tcp(enum server_type type); -void server_close(struct server *server); diff --git a/GRIB_BLE_HUB/libs/ble_extend/emulator/vhci.c b/GRIB_BLE_HUB/libs/ble_extend/emulator/vhci.c deleted file mode 100644 index 106a8e2..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/emulator/vhci.c +++ /dev/null @@ -1,144 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2011-2012 Intel Corporation - * Copyright (C) 2004-2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include -#include -#include -#include -#include - -#include "monitor/mainloop.h" -#include "btdev.h" -#include "vhci.h" - -#define uninitialized_var(x) x = x - -struct vhci { - enum vhci_type type; - int fd; - struct btdev *btdev; -}; - -static void vhci_destroy(void *user_data) -{ - struct vhci *vhci = user_data; - - btdev_destroy(vhci->btdev); - - close(vhci->fd); - - free(vhci); -} - -static void vhci_write_callback(const void *data, uint16_t len, void *user_data) -{ - struct vhci *vhci = user_data; - ssize_t written; - - written = write(vhci->fd, data, len); - if (written < 0) - return; -} - -static void vhci_read_callback(int fd, uint32_t events, void *user_data) -{ - struct vhci *vhci = user_data; - unsigned char buf[4096]; - ssize_t len; - - if (events & (EPOLLERR | EPOLLHUP)) - return; - - len = read(vhci->fd, buf, sizeof(buf)); - if (len < 0) - return; - - btdev_receive_h4(vhci->btdev, buf, len); -} - -struct vhci *vhci_open(enum vhci_type type) -{ - struct vhci *vhci; - enum btdev_type uninitialized_var(btdev_type); - static uint8_t id = 0x23; - - switch (type) { - case VHCI_TYPE_BREDRLE: - btdev_type = BTDEV_TYPE_BREDRLE; - break; - case VHCI_TYPE_BREDR: - btdev_type = BTDEV_TYPE_BREDR; - break; - case VHCI_TYPE_LE: - btdev_type = BTDEV_TYPE_LE; - break; - case VHCI_TYPE_AMP: - return NULL; - } - - vhci = malloc(sizeof(*vhci)); - if (!vhci) - return NULL; - - memset(vhci, 0, sizeof(*vhci)); - vhci->type = type; - - vhci->fd = open("/dev/vhci", O_RDWR | O_NONBLOCK); - if (vhci->fd < 0) { - free(vhci); - return NULL; - } - - vhci->btdev = btdev_create(btdev_type, id++); - if (!vhci->btdev) { - close(vhci->fd); - free(vhci); - return NULL; - } - - btdev_set_send_handler(vhci->btdev, vhci_write_callback, vhci); - - if (mainloop_add_fd(vhci->fd, EPOLLIN, vhci_read_callback, - vhci, vhci_destroy) < 0) { - btdev_destroy(vhci->btdev); - close(vhci->fd); - free(vhci); - return NULL; - } - - return vhci; -} - -void vhci_close(struct vhci *vhci) -{ - if (!vhci) - return; - - mainloop_remove_fd(vhci->fd); -} diff --git a/GRIB_BLE_HUB/libs/ble_extend/emulator/vhci.h b/GRIB_BLE_HUB/libs/ble_extend/emulator/vhci.h deleted file mode 100644 index b9ae63f..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/emulator/vhci.h +++ /dev/null @@ -1,37 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2011-2012 Intel Corporation - * Copyright (C) 2004-2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#include - -enum vhci_type { - VHCI_TYPE_BREDRLE, - VHCI_TYPE_BREDR, - VHCI_TYPE_LE, - VHCI_TYPE_AMP, -}; - -struct vhci; - -struct vhci *vhci_open(enum vhci_type type); -void vhci_close(struct vhci *vhci); diff --git a/GRIB_BLE_HUB/libs/ble_extend/gdbus/.deps/.dirstamp b/GRIB_BLE_HUB/libs/ble_extend/gdbus/.deps/.dirstamp deleted file mode 100644 index e69de29..0000000 diff --git a/GRIB_BLE_HUB/libs/ble_extend/gdbus/.deps/bluetoothd-client.Po b/GRIB_BLE_HUB/libs/ble_extend/gdbus/.deps/bluetoothd-client.Po deleted file mode 100644 index 39fd802..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/gdbus/.deps/bluetoothd-client.Po +++ /dev/null @@ -1,413 +0,0 @@ -gdbus/bluetoothd-client.o: gdbus/client.c /usr/include/stdc-predef.h \ - config.h /usr/include/glib-2.0/glib.h \ - /usr/include/glib-2.0/glib/galloca.h /usr/include/glib-2.0/glib/gtypes.h \ - /usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h \ - /usr/include/glib-2.0/glib/gmacros.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h \ - /usr/include/limits.h /usr/include/features.h \ - /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/include/arm-linux-gnueabihf/bits/posix1_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/local_lim.h \ - /usr/include/linux/limits.h \ - /usr/include/arm-linux-gnueabihf/bits/posix2_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/xopen_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h \ - /usr/include/glib-2.0/glib/gversionmacros.h /usr/include/time.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h \ - /usr/include/arm-linux-gnueabihf/bits/timex.h /usr/include/xlocale.h \ - /usr/include/glib-2.0/glib/garray.h \ - /usr/include/glib-2.0/glib/gasyncqueue.h \ - /usr/include/glib-2.0/glib/gthread.h \ - /usr/include/glib-2.0/glib/gatomic.h /usr/include/glib-2.0/glib/gerror.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/glib-2.0/glib/gquark.h \ - /usr/include/glib-2.0/glib/gbacktrace.h /usr/include/signal.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/signum.h \ - /usr/include/arm-linux-gnueabihf/bits/siginfo.h \ - /usr/include/arm-linux-gnueabihf/bits/sigaction.h \ - /usr/include/arm-linux-gnueabihf/bits/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/asm/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigstack.h \ - /usr/include/arm-linux-gnueabihf/sys/ucontext.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/endian.h /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/arm-linux-gnueabihf/bits/sigthread.h \ - /usr/include/glib-2.0/glib/gbase64.h \ - /usr/include/glib-2.0/glib/gbitlock.h \ - /usr/include/glib-2.0/glib/gbookmarkfile.h \ - /usr/include/glib-2.0/glib/gbytes.h \ - /usr/include/glib-2.0/glib/gcharset.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/gconvert.h \ - /usr/include/glib-2.0/glib/gdataset.h /usr/include/glib-2.0/glib/gdate.h \ - /usr/include/glib-2.0/glib/gdatetime.h \ - /usr/include/glib-2.0/glib/gtimezone.h /usr/include/glib-2.0/glib/gdir.h \ - /usr/include/dirent.h /usr/include/arm-linux-gnueabihf/bits/dirent.h \ - /usr/include/glib-2.0/glib/genviron.h \ - /usr/include/glib-2.0/glib/gfileutils.h \ - /usr/include/glib-2.0/glib/ggettext.h /usr/include/glib-2.0/glib/ghash.h \ - /usr/include/glib-2.0/glib/glist.h /usr/include/glib-2.0/glib/gmem.h \ - /usr/include/glib-2.0/glib/gnode.h /usr/include/glib-2.0/glib/ghmac.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/ghook.h \ - /usr/include/glib-2.0/glib/ghostutils.h \ - /usr/include/glib-2.0/glib/giochannel.h \ - /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gpoll.h \ - /usr/include/glib-2.0/glib/gslist.h /usr/include/glib-2.0/glib/gstring.h \ - /usr/include/glib-2.0/glib/gunicode.h \ - /usr/include/glib-2.0/glib/gutils.h \ - /usr/include/glib-2.0/glib/gkeyfile.h \ - /usr/include/glib-2.0/glib/gmappedfile.h \ - /usr/include/glib-2.0/glib/gmarkup.h \ - /usr/include/glib-2.0/glib/gmessages.h \ - /usr/include/glib-2.0/glib/goption.h \ - /usr/include/glib-2.0/glib/gpattern.h \ - /usr/include/glib-2.0/glib/gprimes.h /usr/include/glib-2.0/glib/gqsort.h \ - /usr/include/glib-2.0/glib/gqueue.h /usr/include/glib-2.0/glib/grand.h \ - /usr/include/glib-2.0/glib/gregex.h \ - /usr/include/glib-2.0/glib/gscanner.h \ - /usr/include/glib-2.0/glib/gsequence.h \ - /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gslice.h \ - /usr/include/glib-2.0/glib/gspawn.h \ - /usr/include/glib-2.0/glib/gstrfuncs.h \ - /usr/include/glib-2.0/glib/gstringchunk.h \ - /usr/include/glib-2.0/glib/gtestutils.h \ - /usr/include/glib-2.0/glib/gthreadpool.h \ - /usr/include/glib-2.0/glib/gtimer.h \ - /usr/include/glib-2.0/glib/gtrashstack.h \ - /usr/include/glib-2.0/glib/gtree.h \ - /usr/include/glib-2.0/glib/gurifuncs.h \ - /usr/include/glib-2.0/glib/gvarianttype.h \ - /usr/include/glib-2.0/glib/gvariant.h \ - /usr/include/glib-2.0/glib/gversion.h \ - /usr/include/glib-2.0/glib/deprecated/gallocator.h \ - /usr/include/glib-2.0/glib/deprecated/gcache.h \ - /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ - /usr/include/glib-2.0/glib/deprecated/gmain.h \ - /usr/include/glib-2.0/glib/deprecated/grel.h \ - /usr/include/glib-2.0/glib/deprecated/gthread.h \ - /usr/include/arm-linux-gnueabihf/sys/types.h \ - /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h /usr/include/pthread.h \ - /usr/include/sched.h /usr/include/arm-linux-gnueabihf/bits/sched.h \ - /usr/include/arm-linux-gnueabihf/bits/setjmp.h \ - /usr/include/dbus-1.0/dbus/dbus.h \ - /usr/lib/arm-linux-gnueabihf/dbus-1.0/include/dbus/dbus-arch-deps.h \ - /usr/include/dbus-1.0/dbus/dbus-macros.h \ - /usr/include/dbus-1.0/dbus/dbus-address.h \ - /usr/include/dbus-1.0/dbus/dbus-types.h \ - /usr/include/dbus-1.0/dbus/dbus-errors.h \ - /usr/include/dbus-1.0/dbus/dbus-protocol.h \ - /usr/include/dbus-1.0/dbus/dbus-bus.h \ - /usr/include/dbus-1.0/dbus/dbus-connection.h \ - /usr/include/dbus-1.0/dbus/dbus-memory.h \ - /usr/include/dbus-1.0/dbus/dbus-message.h \ - /usr/include/dbus-1.0/dbus/dbus-shared.h \ - /usr/include/dbus-1.0/dbus/dbus-misc.h \ - /usr/include/dbus-1.0/dbus/dbus-pending-call.h \ - /usr/include/dbus-1.0/dbus/dbus-server.h \ - /usr/include/dbus-1.0/dbus/dbus-signature.h \ - /usr/include/dbus-1.0/dbus/dbus-syntax.h \ - /usr/include/dbus-1.0/dbus/dbus-threads.h gdbus/gdbus.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/include/glib-2.0/glib.h: - -/usr/include/glib-2.0/glib/galloca.h: - -/usr/include/glib-2.0/glib/gtypes.h: - -/usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h: - -/usr/include/glib-2.0/glib/gmacros.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h: - -/usr/include/limits.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/local_lim.h: - -/usr/include/linux/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix2_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/xopen_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h: - -/usr/include/glib-2.0/glib/gversionmacros.h: - -/usr/include/time.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/arm-linux-gnueabihf/bits/timex.h: - -/usr/include/xlocale.h: - -/usr/include/glib-2.0/glib/garray.h: - -/usr/include/glib-2.0/glib/gasyncqueue.h: - -/usr/include/glib-2.0/glib/gthread.h: - -/usr/include/glib-2.0/glib/gatomic.h: - -/usr/include/glib-2.0/glib/gerror.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/glib-2.0/glib/gquark.h: - -/usr/include/glib-2.0/glib/gbacktrace.h: - -/usr/include/signal.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/signum.h: - -/usr/include/arm-linux-gnueabihf/bits/siginfo.h: - -/usr/include/arm-linux-gnueabihf/bits/sigaction.h: - -/usr/include/arm-linux-gnueabihf/bits/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/asm/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigstack.h: - -/usr/include/arm-linux-gnueabihf/sys/ucontext.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/arm-linux-gnueabihf/bits/sigthread.h: - -/usr/include/glib-2.0/glib/gbase64.h: - -/usr/include/glib-2.0/glib/gbitlock.h: - -/usr/include/glib-2.0/glib/gbookmarkfile.h: - -/usr/include/glib-2.0/glib/gbytes.h: - -/usr/include/glib-2.0/glib/gcharset.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/gconvert.h: - -/usr/include/glib-2.0/glib/gdataset.h: - -/usr/include/glib-2.0/glib/gdate.h: - -/usr/include/glib-2.0/glib/gdatetime.h: - -/usr/include/glib-2.0/glib/gtimezone.h: - -/usr/include/glib-2.0/glib/gdir.h: - -/usr/include/dirent.h: - -/usr/include/arm-linux-gnueabihf/bits/dirent.h: - -/usr/include/glib-2.0/glib/genviron.h: - -/usr/include/glib-2.0/glib/gfileutils.h: - -/usr/include/glib-2.0/glib/ggettext.h: - -/usr/include/glib-2.0/glib/ghash.h: - -/usr/include/glib-2.0/glib/glist.h: - -/usr/include/glib-2.0/glib/gmem.h: - -/usr/include/glib-2.0/glib/gnode.h: - -/usr/include/glib-2.0/glib/ghmac.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/ghook.h: - -/usr/include/glib-2.0/glib/ghostutils.h: - -/usr/include/glib-2.0/glib/giochannel.h: - -/usr/include/glib-2.0/glib/gmain.h: - -/usr/include/glib-2.0/glib/gpoll.h: - -/usr/include/glib-2.0/glib/gslist.h: - -/usr/include/glib-2.0/glib/gstring.h: - -/usr/include/glib-2.0/glib/gunicode.h: - -/usr/include/glib-2.0/glib/gutils.h: - -/usr/include/glib-2.0/glib/gkeyfile.h: - -/usr/include/glib-2.0/glib/gmappedfile.h: - -/usr/include/glib-2.0/glib/gmarkup.h: - -/usr/include/glib-2.0/glib/gmessages.h: - -/usr/include/glib-2.0/glib/goption.h: - -/usr/include/glib-2.0/glib/gpattern.h: - -/usr/include/glib-2.0/glib/gprimes.h: - -/usr/include/glib-2.0/glib/gqsort.h: - -/usr/include/glib-2.0/glib/gqueue.h: - -/usr/include/glib-2.0/glib/grand.h: - -/usr/include/glib-2.0/glib/gregex.h: - -/usr/include/glib-2.0/glib/gscanner.h: - -/usr/include/glib-2.0/glib/gsequence.h: - -/usr/include/glib-2.0/glib/gshell.h: - -/usr/include/glib-2.0/glib/gslice.h: - -/usr/include/glib-2.0/glib/gspawn.h: - -/usr/include/glib-2.0/glib/gstrfuncs.h: - -/usr/include/glib-2.0/glib/gstringchunk.h: - -/usr/include/glib-2.0/glib/gtestutils.h: - -/usr/include/glib-2.0/glib/gthreadpool.h: - -/usr/include/glib-2.0/glib/gtimer.h: - -/usr/include/glib-2.0/glib/gtrashstack.h: - -/usr/include/glib-2.0/glib/gtree.h: - -/usr/include/glib-2.0/glib/gurifuncs.h: - -/usr/include/glib-2.0/glib/gvarianttype.h: - -/usr/include/glib-2.0/glib/gvariant.h: - -/usr/include/glib-2.0/glib/gversion.h: - -/usr/include/glib-2.0/glib/deprecated/gallocator.h: - -/usr/include/glib-2.0/glib/deprecated/gcache.h: - -/usr/include/glib-2.0/glib/deprecated/gcompletion.h: - -/usr/include/glib-2.0/glib/deprecated/gmain.h: - -/usr/include/glib-2.0/glib/deprecated/grel.h: - -/usr/include/glib-2.0/glib/deprecated/gthread.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/pthread.h: - -/usr/include/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/setjmp.h: - -/usr/include/dbus-1.0/dbus/dbus.h: - -/usr/lib/arm-linux-gnueabihf/dbus-1.0/include/dbus/dbus-arch-deps.h: - -/usr/include/dbus-1.0/dbus/dbus-macros.h: - -/usr/include/dbus-1.0/dbus/dbus-address.h: - -/usr/include/dbus-1.0/dbus/dbus-types.h: - -/usr/include/dbus-1.0/dbus/dbus-errors.h: - -/usr/include/dbus-1.0/dbus/dbus-protocol.h: - -/usr/include/dbus-1.0/dbus/dbus-bus.h: - -/usr/include/dbus-1.0/dbus/dbus-connection.h: - -/usr/include/dbus-1.0/dbus/dbus-memory.h: - -/usr/include/dbus-1.0/dbus/dbus-message.h: - -/usr/include/dbus-1.0/dbus/dbus-shared.h: - -/usr/include/dbus-1.0/dbus/dbus-misc.h: - -/usr/include/dbus-1.0/dbus/dbus-pending-call.h: - -/usr/include/dbus-1.0/dbus/dbus-server.h: - -/usr/include/dbus-1.0/dbus/dbus-signature.h: - -/usr/include/dbus-1.0/dbus/dbus-syntax.h: - -/usr/include/dbus-1.0/dbus/dbus-threads.h: - -gdbus/gdbus.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/gdbus/.deps/bluetoothd-mainloop.Po b/GRIB_BLE_HUB/libs/ble_extend/gdbus/.deps/bluetoothd-mainloop.Po deleted file mode 100644 index aace1b1..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/gdbus/.deps/bluetoothd-mainloop.Po +++ /dev/null @@ -1,413 +0,0 @@ -gdbus/bluetoothd-mainloop.o: gdbus/mainloop.c /usr/include/stdc-predef.h \ - config.h /usr/include/glib-2.0/glib.h \ - /usr/include/glib-2.0/glib/galloca.h /usr/include/glib-2.0/glib/gtypes.h \ - /usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h \ - /usr/include/glib-2.0/glib/gmacros.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h \ - /usr/include/limits.h /usr/include/features.h \ - /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/include/arm-linux-gnueabihf/bits/posix1_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/local_lim.h \ - /usr/include/linux/limits.h \ - /usr/include/arm-linux-gnueabihf/bits/posix2_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/xopen_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h \ - /usr/include/glib-2.0/glib/gversionmacros.h /usr/include/time.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h \ - /usr/include/arm-linux-gnueabihf/bits/timex.h /usr/include/xlocale.h \ - /usr/include/glib-2.0/glib/garray.h \ - /usr/include/glib-2.0/glib/gasyncqueue.h \ - /usr/include/glib-2.0/glib/gthread.h \ - /usr/include/glib-2.0/glib/gatomic.h /usr/include/glib-2.0/glib/gerror.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/glib-2.0/glib/gquark.h \ - /usr/include/glib-2.0/glib/gbacktrace.h /usr/include/signal.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/signum.h \ - /usr/include/arm-linux-gnueabihf/bits/siginfo.h \ - /usr/include/arm-linux-gnueabihf/bits/sigaction.h \ - /usr/include/arm-linux-gnueabihf/bits/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/asm/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigstack.h \ - /usr/include/arm-linux-gnueabihf/sys/ucontext.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/endian.h /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/arm-linux-gnueabihf/bits/sigthread.h \ - /usr/include/glib-2.0/glib/gbase64.h \ - /usr/include/glib-2.0/glib/gbitlock.h \ - /usr/include/glib-2.0/glib/gbookmarkfile.h \ - /usr/include/glib-2.0/glib/gbytes.h \ - /usr/include/glib-2.0/glib/gcharset.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/gconvert.h \ - /usr/include/glib-2.0/glib/gdataset.h /usr/include/glib-2.0/glib/gdate.h \ - /usr/include/glib-2.0/glib/gdatetime.h \ - /usr/include/glib-2.0/glib/gtimezone.h /usr/include/glib-2.0/glib/gdir.h \ - /usr/include/dirent.h /usr/include/arm-linux-gnueabihf/bits/dirent.h \ - /usr/include/glib-2.0/glib/genviron.h \ - /usr/include/glib-2.0/glib/gfileutils.h \ - /usr/include/glib-2.0/glib/ggettext.h /usr/include/glib-2.0/glib/ghash.h \ - /usr/include/glib-2.0/glib/glist.h /usr/include/glib-2.0/glib/gmem.h \ - /usr/include/glib-2.0/glib/gnode.h /usr/include/glib-2.0/glib/ghmac.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/ghook.h \ - /usr/include/glib-2.0/glib/ghostutils.h \ - /usr/include/glib-2.0/glib/giochannel.h \ - /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gpoll.h \ - /usr/include/glib-2.0/glib/gslist.h /usr/include/glib-2.0/glib/gstring.h \ - /usr/include/glib-2.0/glib/gunicode.h \ - /usr/include/glib-2.0/glib/gutils.h \ - /usr/include/glib-2.0/glib/gkeyfile.h \ - /usr/include/glib-2.0/glib/gmappedfile.h \ - /usr/include/glib-2.0/glib/gmarkup.h \ - /usr/include/glib-2.0/glib/gmessages.h \ - /usr/include/glib-2.0/glib/goption.h \ - /usr/include/glib-2.0/glib/gpattern.h \ - /usr/include/glib-2.0/glib/gprimes.h /usr/include/glib-2.0/glib/gqsort.h \ - /usr/include/glib-2.0/glib/gqueue.h /usr/include/glib-2.0/glib/grand.h \ - /usr/include/glib-2.0/glib/gregex.h \ - /usr/include/glib-2.0/glib/gscanner.h \ - /usr/include/glib-2.0/glib/gsequence.h \ - /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gslice.h \ - /usr/include/glib-2.0/glib/gspawn.h \ - /usr/include/glib-2.0/glib/gstrfuncs.h \ - /usr/include/glib-2.0/glib/gstringchunk.h \ - /usr/include/glib-2.0/glib/gtestutils.h \ - /usr/include/glib-2.0/glib/gthreadpool.h \ - /usr/include/glib-2.0/glib/gtimer.h \ - /usr/include/glib-2.0/glib/gtrashstack.h \ - /usr/include/glib-2.0/glib/gtree.h \ - /usr/include/glib-2.0/glib/gurifuncs.h \ - /usr/include/glib-2.0/glib/gvarianttype.h \ - /usr/include/glib-2.0/glib/gvariant.h \ - /usr/include/glib-2.0/glib/gversion.h \ - /usr/include/glib-2.0/glib/deprecated/gallocator.h \ - /usr/include/glib-2.0/glib/deprecated/gcache.h \ - /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ - /usr/include/glib-2.0/glib/deprecated/gmain.h \ - /usr/include/glib-2.0/glib/deprecated/grel.h \ - /usr/include/glib-2.0/glib/deprecated/gthread.h \ - /usr/include/arm-linux-gnueabihf/sys/types.h \ - /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h /usr/include/pthread.h \ - /usr/include/sched.h /usr/include/arm-linux-gnueabihf/bits/sched.h \ - /usr/include/arm-linux-gnueabihf/bits/setjmp.h \ - /usr/include/dbus-1.0/dbus/dbus.h \ - /usr/lib/arm-linux-gnueabihf/dbus-1.0/include/dbus/dbus-arch-deps.h \ - /usr/include/dbus-1.0/dbus/dbus-macros.h \ - /usr/include/dbus-1.0/dbus/dbus-address.h \ - /usr/include/dbus-1.0/dbus/dbus-types.h \ - /usr/include/dbus-1.0/dbus/dbus-errors.h \ - /usr/include/dbus-1.0/dbus/dbus-protocol.h \ - /usr/include/dbus-1.0/dbus/dbus-bus.h \ - /usr/include/dbus-1.0/dbus/dbus-connection.h \ - /usr/include/dbus-1.0/dbus/dbus-memory.h \ - /usr/include/dbus-1.0/dbus/dbus-message.h \ - /usr/include/dbus-1.0/dbus/dbus-shared.h \ - /usr/include/dbus-1.0/dbus/dbus-misc.h \ - /usr/include/dbus-1.0/dbus/dbus-pending-call.h \ - /usr/include/dbus-1.0/dbus/dbus-server.h \ - /usr/include/dbus-1.0/dbus/dbus-signature.h \ - /usr/include/dbus-1.0/dbus/dbus-syntax.h \ - /usr/include/dbus-1.0/dbus/dbus-threads.h gdbus/gdbus.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/include/glib-2.0/glib.h: - -/usr/include/glib-2.0/glib/galloca.h: - -/usr/include/glib-2.0/glib/gtypes.h: - -/usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h: - -/usr/include/glib-2.0/glib/gmacros.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h: - -/usr/include/limits.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/local_lim.h: - -/usr/include/linux/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix2_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/xopen_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h: - -/usr/include/glib-2.0/glib/gversionmacros.h: - -/usr/include/time.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/arm-linux-gnueabihf/bits/timex.h: - -/usr/include/xlocale.h: - -/usr/include/glib-2.0/glib/garray.h: - -/usr/include/glib-2.0/glib/gasyncqueue.h: - -/usr/include/glib-2.0/glib/gthread.h: - -/usr/include/glib-2.0/glib/gatomic.h: - -/usr/include/glib-2.0/glib/gerror.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/glib-2.0/glib/gquark.h: - -/usr/include/glib-2.0/glib/gbacktrace.h: - -/usr/include/signal.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/signum.h: - -/usr/include/arm-linux-gnueabihf/bits/siginfo.h: - -/usr/include/arm-linux-gnueabihf/bits/sigaction.h: - -/usr/include/arm-linux-gnueabihf/bits/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/asm/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigstack.h: - -/usr/include/arm-linux-gnueabihf/sys/ucontext.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/arm-linux-gnueabihf/bits/sigthread.h: - -/usr/include/glib-2.0/glib/gbase64.h: - -/usr/include/glib-2.0/glib/gbitlock.h: - -/usr/include/glib-2.0/glib/gbookmarkfile.h: - -/usr/include/glib-2.0/glib/gbytes.h: - -/usr/include/glib-2.0/glib/gcharset.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/gconvert.h: - -/usr/include/glib-2.0/glib/gdataset.h: - -/usr/include/glib-2.0/glib/gdate.h: - -/usr/include/glib-2.0/glib/gdatetime.h: - -/usr/include/glib-2.0/glib/gtimezone.h: - -/usr/include/glib-2.0/glib/gdir.h: - -/usr/include/dirent.h: - -/usr/include/arm-linux-gnueabihf/bits/dirent.h: - -/usr/include/glib-2.0/glib/genviron.h: - -/usr/include/glib-2.0/glib/gfileutils.h: - -/usr/include/glib-2.0/glib/ggettext.h: - -/usr/include/glib-2.0/glib/ghash.h: - -/usr/include/glib-2.0/glib/glist.h: - -/usr/include/glib-2.0/glib/gmem.h: - -/usr/include/glib-2.0/glib/gnode.h: - -/usr/include/glib-2.0/glib/ghmac.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/ghook.h: - -/usr/include/glib-2.0/glib/ghostutils.h: - -/usr/include/glib-2.0/glib/giochannel.h: - -/usr/include/glib-2.0/glib/gmain.h: - -/usr/include/glib-2.0/glib/gpoll.h: - -/usr/include/glib-2.0/glib/gslist.h: - -/usr/include/glib-2.0/glib/gstring.h: - -/usr/include/glib-2.0/glib/gunicode.h: - -/usr/include/glib-2.0/glib/gutils.h: - -/usr/include/glib-2.0/glib/gkeyfile.h: - -/usr/include/glib-2.0/glib/gmappedfile.h: - -/usr/include/glib-2.0/glib/gmarkup.h: - -/usr/include/glib-2.0/glib/gmessages.h: - -/usr/include/glib-2.0/glib/goption.h: - -/usr/include/glib-2.0/glib/gpattern.h: - -/usr/include/glib-2.0/glib/gprimes.h: - -/usr/include/glib-2.0/glib/gqsort.h: - -/usr/include/glib-2.0/glib/gqueue.h: - -/usr/include/glib-2.0/glib/grand.h: - -/usr/include/glib-2.0/glib/gregex.h: - -/usr/include/glib-2.0/glib/gscanner.h: - -/usr/include/glib-2.0/glib/gsequence.h: - -/usr/include/glib-2.0/glib/gshell.h: - -/usr/include/glib-2.0/glib/gslice.h: - -/usr/include/glib-2.0/glib/gspawn.h: - -/usr/include/glib-2.0/glib/gstrfuncs.h: - -/usr/include/glib-2.0/glib/gstringchunk.h: - -/usr/include/glib-2.0/glib/gtestutils.h: - -/usr/include/glib-2.0/glib/gthreadpool.h: - -/usr/include/glib-2.0/glib/gtimer.h: - -/usr/include/glib-2.0/glib/gtrashstack.h: - -/usr/include/glib-2.0/glib/gtree.h: - -/usr/include/glib-2.0/glib/gurifuncs.h: - -/usr/include/glib-2.0/glib/gvarianttype.h: - -/usr/include/glib-2.0/glib/gvariant.h: - -/usr/include/glib-2.0/glib/gversion.h: - -/usr/include/glib-2.0/glib/deprecated/gallocator.h: - -/usr/include/glib-2.0/glib/deprecated/gcache.h: - -/usr/include/glib-2.0/glib/deprecated/gcompletion.h: - -/usr/include/glib-2.0/glib/deprecated/gmain.h: - -/usr/include/glib-2.0/glib/deprecated/grel.h: - -/usr/include/glib-2.0/glib/deprecated/gthread.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/pthread.h: - -/usr/include/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/setjmp.h: - -/usr/include/dbus-1.0/dbus/dbus.h: - -/usr/lib/arm-linux-gnueabihf/dbus-1.0/include/dbus/dbus-arch-deps.h: - -/usr/include/dbus-1.0/dbus/dbus-macros.h: - -/usr/include/dbus-1.0/dbus/dbus-address.h: - -/usr/include/dbus-1.0/dbus/dbus-types.h: - -/usr/include/dbus-1.0/dbus/dbus-errors.h: - -/usr/include/dbus-1.0/dbus/dbus-protocol.h: - -/usr/include/dbus-1.0/dbus/dbus-bus.h: - -/usr/include/dbus-1.0/dbus/dbus-connection.h: - -/usr/include/dbus-1.0/dbus/dbus-memory.h: - -/usr/include/dbus-1.0/dbus/dbus-message.h: - -/usr/include/dbus-1.0/dbus/dbus-shared.h: - -/usr/include/dbus-1.0/dbus/dbus-misc.h: - -/usr/include/dbus-1.0/dbus/dbus-pending-call.h: - -/usr/include/dbus-1.0/dbus/dbus-server.h: - -/usr/include/dbus-1.0/dbus/dbus-signature.h: - -/usr/include/dbus-1.0/dbus/dbus-syntax.h: - -/usr/include/dbus-1.0/dbus/dbus-threads.h: - -gdbus/gdbus.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/gdbus/.deps/bluetoothd-object.Po b/GRIB_BLE_HUB/libs/ble_extend/gdbus/.deps/bluetoothd-object.Po deleted file mode 100644 index 5f08deb..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/gdbus/.deps/bluetoothd-object.Po +++ /dev/null @@ -1,438 +0,0 @@ -gdbus/bluetoothd-object.o: gdbus/object.c /usr/include/stdc-predef.h \ - config.h /usr/include/stdio.h /usr/include/features.h \ - /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/sys_errlist.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio.h /usr/include/string.h \ - /usr/include/xlocale.h /usr/include/arm-linux-gnueabihf/bits/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string2.h /usr/include/stdlib.h \ - /usr/include/glib-2.0/glib.h /usr/include/glib-2.0/glib/galloca.h \ - /usr/include/glib-2.0/glib/gtypes.h \ - /usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h \ - /usr/include/glib-2.0/glib/gmacros.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h \ - /usr/include/limits.h /usr/include/arm-linux-gnueabihf/bits/posix1_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/local_lim.h \ - /usr/include/linux/limits.h \ - /usr/include/arm-linux-gnueabihf/bits/posix2_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/xopen_lim.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h \ - /usr/include/glib-2.0/glib/gversionmacros.h /usr/include/time.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/bits/timex.h \ - /usr/include/glib-2.0/glib/garray.h \ - /usr/include/glib-2.0/glib/gasyncqueue.h \ - /usr/include/glib-2.0/glib/gthread.h \ - /usr/include/glib-2.0/glib/gatomic.h /usr/include/glib-2.0/glib/gerror.h \ - /usr/include/glib-2.0/glib/gquark.h \ - /usr/include/glib-2.0/glib/gbacktrace.h /usr/include/signal.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/signum.h \ - /usr/include/arm-linux-gnueabihf/bits/siginfo.h \ - /usr/include/arm-linux-gnueabihf/bits/sigaction.h \ - /usr/include/arm-linux-gnueabihf/bits/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/asm/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigstack.h \ - /usr/include/arm-linux-gnueabihf/sys/ucontext.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/endian.h /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/arm-linux-gnueabihf/bits/sigthread.h \ - /usr/include/glib-2.0/glib/gbase64.h \ - /usr/include/glib-2.0/glib/gbitlock.h \ - /usr/include/glib-2.0/glib/gbookmarkfile.h \ - /usr/include/glib-2.0/glib/gbytes.h \ - /usr/include/glib-2.0/glib/gcharset.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/gconvert.h \ - /usr/include/glib-2.0/glib/gdataset.h /usr/include/glib-2.0/glib/gdate.h \ - /usr/include/glib-2.0/glib/gdatetime.h \ - /usr/include/glib-2.0/glib/gtimezone.h /usr/include/glib-2.0/glib/gdir.h \ - /usr/include/dirent.h /usr/include/arm-linux-gnueabihf/bits/dirent.h \ - /usr/include/glib-2.0/glib/genviron.h \ - /usr/include/glib-2.0/glib/gfileutils.h \ - /usr/include/glib-2.0/glib/ggettext.h /usr/include/glib-2.0/glib/ghash.h \ - /usr/include/glib-2.0/glib/glist.h /usr/include/glib-2.0/glib/gmem.h \ - /usr/include/glib-2.0/glib/gnode.h /usr/include/glib-2.0/glib/ghmac.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/ghook.h \ - /usr/include/glib-2.0/glib/ghostutils.h \ - /usr/include/glib-2.0/glib/giochannel.h \ - /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gpoll.h \ - /usr/include/glib-2.0/glib/gslist.h /usr/include/glib-2.0/glib/gstring.h \ - /usr/include/glib-2.0/glib/gunicode.h \ - /usr/include/glib-2.0/glib/gutils.h \ - /usr/include/glib-2.0/glib/gkeyfile.h \ - /usr/include/glib-2.0/glib/gmappedfile.h \ - /usr/include/glib-2.0/glib/gmarkup.h \ - /usr/include/glib-2.0/glib/gmessages.h \ - /usr/include/glib-2.0/glib/goption.h \ - /usr/include/glib-2.0/glib/gpattern.h \ - /usr/include/glib-2.0/glib/gprimes.h /usr/include/glib-2.0/glib/gqsort.h \ - /usr/include/glib-2.0/glib/gqueue.h /usr/include/glib-2.0/glib/grand.h \ - /usr/include/glib-2.0/glib/gregex.h \ - /usr/include/glib-2.0/glib/gscanner.h \ - /usr/include/glib-2.0/glib/gsequence.h \ - /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gslice.h \ - /usr/include/glib-2.0/glib/gspawn.h \ - /usr/include/glib-2.0/glib/gstrfuncs.h \ - /usr/include/glib-2.0/glib/gstringchunk.h \ - /usr/include/glib-2.0/glib/gtestutils.h \ - /usr/include/glib-2.0/glib/gthreadpool.h \ - /usr/include/glib-2.0/glib/gtimer.h \ - /usr/include/glib-2.0/glib/gtrashstack.h \ - /usr/include/glib-2.0/glib/gtree.h \ - /usr/include/glib-2.0/glib/gurifuncs.h \ - /usr/include/glib-2.0/glib/gvarianttype.h \ - /usr/include/glib-2.0/glib/gvariant.h \ - /usr/include/glib-2.0/glib/gversion.h \ - /usr/include/glib-2.0/glib/deprecated/gallocator.h \ - /usr/include/glib-2.0/glib/deprecated/gcache.h \ - /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ - /usr/include/glib-2.0/glib/deprecated/gmain.h \ - /usr/include/glib-2.0/glib/deprecated/grel.h \ - /usr/include/glib-2.0/glib/deprecated/gthread.h \ - /usr/include/arm-linux-gnueabihf/sys/types.h \ - /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h /usr/include/pthread.h \ - /usr/include/sched.h /usr/include/arm-linux-gnueabihf/bits/sched.h \ - /usr/include/arm-linux-gnueabihf/bits/setjmp.h \ - /usr/include/dbus-1.0/dbus/dbus.h \ - /usr/lib/arm-linux-gnueabihf/dbus-1.0/include/dbus/dbus-arch-deps.h \ - /usr/include/dbus-1.0/dbus/dbus-macros.h \ - /usr/include/dbus-1.0/dbus/dbus-address.h \ - /usr/include/dbus-1.0/dbus/dbus-types.h \ - /usr/include/dbus-1.0/dbus/dbus-errors.h \ - /usr/include/dbus-1.0/dbus/dbus-protocol.h \ - /usr/include/dbus-1.0/dbus/dbus-bus.h \ - /usr/include/dbus-1.0/dbus/dbus-connection.h \ - /usr/include/dbus-1.0/dbus/dbus-memory.h \ - /usr/include/dbus-1.0/dbus/dbus-message.h \ - /usr/include/dbus-1.0/dbus/dbus-shared.h \ - /usr/include/dbus-1.0/dbus/dbus-misc.h \ - /usr/include/dbus-1.0/dbus/dbus-pending-call.h \ - /usr/include/dbus-1.0/dbus/dbus-server.h \ - /usr/include/dbus-1.0/dbus/dbus-signature.h \ - /usr/include/dbus-1.0/dbus/dbus-syntax.h \ - /usr/include/dbus-1.0/dbus/dbus-threads.h gdbus/gdbus.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/include/stdio.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/sys_errlist.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio.h: - -/usr/include/string.h: - -/usr/include/xlocale.h: - -/usr/include/arm-linux-gnueabihf/bits/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string2.h: - -/usr/include/stdlib.h: - -/usr/include/glib-2.0/glib.h: - -/usr/include/glib-2.0/glib/galloca.h: - -/usr/include/glib-2.0/glib/gtypes.h: - -/usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h: - -/usr/include/glib-2.0/glib/gmacros.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h: - -/usr/include/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/local_lim.h: - -/usr/include/linux/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix2_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/xopen_lim.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h: - -/usr/include/glib-2.0/glib/gversionmacros.h: - -/usr/include/time.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/bits/timex.h: - -/usr/include/glib-2.0/glib/garray.h: - -/usr/include/glib-2.0/glib/gasyncqueue.h: - -/usr/include/glib-2.0/glib/gthread.h: - -/usr/include/glib-2.0/glib/gatomic.h: - -/usr/include/glib-2.0/glib/gerror.h: - -/usr/include/glib-2.0/glib/gquark.h: - -/usr/include/glib-2.0/glib/gbacktrace.h: - -/usr/include/signal.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/signum.h: - -/usr/include/arm-linux-gnueabihf/bits/siginfo.h: - -/usr/include/arm-linux-gnueabihf/bits/sigaction.h: - -/usr/include/arm-linux-gnueabihf/bits/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/asm/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigstack.h: - -/usr/include/arm-linux-gnueabihf/sys/ucontext.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/arm-linux-gnueabihf/bits/sigthread.h: - -/usr/include/glib-2.0/glib/gbase64.h: - -/usr/include/glib-2.0/glib/gbitlock.h: - -/usr/include/glib-2.0/glib/gbookmarkfile.h: - -/usr/include/glib-2.0/glib/gbytes.h: - -/usr/include/glib-2.0/glib/gcharset.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/gconvert.h: - -/usr/include/glib-2.0/glib/gdataset.h: - -/usr/include/glib-2.0/glib/gdate.h: - -/usr/include/glib-2.0/glib/gdatetime.h: - -/usr/include/glib-2.0/glib/gtimezone.h: - -/usr/include/glib-2.0/glib/gdir.h: - -/usr/include/dirent.h: - -/usr/include/arm-linux-gnueabihf/bits/dirent.h: - -/usr/include/glib-2.0/glib/genviron.h: - -/usr/include/glib-2.0/glib/gfileutils.h: - -/usr/include/glib-2.0/glib/ggettext.h: - -/usr/include/glib-2.0/glib/ghash.h: - -/usr/include/glib-2.0/glib/glist.h: - -/usr/include/glib-2.0/glib/gmem.h: - -/usr/include/glib-2.0/glib/gnode.h: - -/usr/include/glib-2.0/glib/ghmac.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/ghook.h: - -/usr/include/glib-2.0/glib/ghostutils.h: - -/usr/include/glib-2.0/glib/giochannel.h: - -/usr/include/glib-2.0/glib/gmain.h: - -/usr/include/glib-2.0/glib/gpoll.h: - -/usr/include/glib-2.0/glib/gslist.h: - -/usr/include/glib-2.0/glib/gstring.h: - -/usr/include/glib-2.0/glib/gunicode.h: - -/usr/include/glib-2.0/glib/gutils.h: - -/usr/include/glib-2.0/glib/gkeyfile.h: - -/usr/include/glib-2.0/glib/gmappedfile.h: - -/usr/include/glib-2.0/glib/gmarkup.h: - -/usr/include/glib-2.0/glib/gmessages.h: - -/usr/include/glib-2.0/glib/goption.h: - -/usr/include/glib-2.0/glib/gpattern.h: - -/usr/include/glib-2.0/glib/gprimes.h: - -/usr/include/glib-2.0/glib/gqsort.h: - -/usr/include/glib-2.0/glib/gqueue.h: - -/usr/include/glib-2.0/glib/grand.h: - -/usr/include/glib-2.0/glib/gregex.h: - -/usr/include/glib-2.0/glib/gscanner.h: - -/usr/include/glib-2.0/glib/gsequence.h: - -/usr/include/glib-2.0/glib/gshell.h: - -/usr/include/glib-2.0/glib/gslice.h: - -/usr/include/glib-2.0/glib/gspawn.h: - -/usr/include/glib-2.0/glib/gstrfuncs.h: - -/usr/include/glib-2.0/glib/gstringchunk.h: - -/usr/include/glib-2.0/glib/gtestutils.h: - -/usr/include/glib-2.0/glib/gthreadpool.h: - -/usr/include/glib-2.0/glib/gtimer.h: - -/usr/include/glib-2.0/glib/gtrashstack.h: - -/usr/include/glib-2.0/glib/gtree.h: - -/usr/include/glib-2.0/glib/gurifuncs.h: - -/usr/include/glib-2.0/glib/gvarianttype.h: - -/usr/include/glib-2.0/glib/gvariant.h: - -/usr/include/glib-2.0/glib/gversion.h: - -/usr/include/glib-2.0/glib/deprecated/gallocator.h: - -/usr/include/glib-2.0/glib/deprecated/gcache.h: - -/usr/include/glib-2.0/glib/deprecated/gcompletion.h: - -/usr/include/glib-2.0/glib/deprecated/gmain.h: - -/usr/include/glib-2.0/glib/deprecated/grel.h: - -/usr/include/glib-2.0/glib/deprecated/gthread.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/pthread.h: - -/usr/include/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/setjmp.h: - -/usr/include/dbus-1.0/dbus/dbus.h: - -/usr/lib/arm-linux-gnueabihf/dbus-1.0/include/dbus/dbus-arch-deps.h: - -/usr/include/dbus-1.0/dbus/dbus-macros.h: - -/usr/include/dbus-1.0/dbus/dbus-address.h: - -/usr/include/dbus-1.0/dbus/dbus-types.h: - -/usr/include/dbus-1.0/dbus/dbus-errors.h: - -/usr/include/dbus-1.0/dbus/dbus-protocol.h: - -/usr/include/dbus-1.0/dbus/dbus-bus.h: - -/usr/include/dbus-1.0/dbus/dbus-connection.h: - -/usr/include/dbus-1.0/dbus/dbus-memory.h: - -/usr/include/dbus-1.0/dbus/dbus-message.h: - -/usr/include/dbus-1.0/dbus/dbus-shared.h: - -/usr/include/dbus-1.0/dbus/dbus-misc.h: - -/usr/include/dbus-1.0/dbus/dbus-pending-call.h: - -/usr/include/dbus-1.0/dbus/dbus-server.h: - -/usr/include/dbus-1.0/dbus/dbus-signature.h: - -/usr/include/dbus-1.0/dbus/dbus-syntax.h: - -/usr/include/dbus-1.0/dbus/dbus-threads.h: - -gdbus/gdbus.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/gdbus/.deps/bluetoothd-polkit.Po b/GRIB_BLE_HUB/libs/ble_extend/gdbus/.deps/bluetoothd-polkit.Po deleted file mode 100644 index f6eb7dc..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/gdbus/.deps/bluetoothd-polkit.Po +++ /dev/null @@ -1,425 +0,0 @@ -gdbus/bluetoothd-polkit.o: gdbus/polkit.c /usr/include/stdc-predef.h \ - config.h /usr/include/errno.h /usr/include/features.h \ - /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/include/arm-linux-gnueabihf/bits/errno.h /usr/include/linux/errno.h \ - /usr/include/arm-linux-gnueabihf/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/include/dbus-1.0/dbus/dbus.h \ - /usr/lib/arm-linux-gnueabihf/dbus-1.0/include/dbus/dbus-arch-deps.h \ - /usr/include/dbus-1.0/dbus/dbus-macros.h \ - /usr/include/dbus-1.0/dbus/dbus-address.h \ - /usr/include/dbus-1.0/dbus/dbus-types.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/include/dbus-1.0/dbus/dbus-errors.h \ - /usr/include/dbus-1.0/dbus/dbus-protocol.h \ - /usr/include/dbus-1.0/dbus/dbus-bus.h \ - /usr/include/dbus-1.0/dbus/dbus-connection.h \ - /usr/include/dbus-1.0/dbus/dbus-memory.h \ - /usr/include/dbus-1.0/dbus/dbus-message.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/dbus-1.0/dbus/dbus-shared.h \ - /usr/include/dbus-1.0/dbus/dbus-misc.h \ - /usr/include/dbus-1.0/dbus/dbus-pending-call.h \ - /usr/include/dbus-1.0/dbus/dbus-server.h \ - /usr/include/dbus-1.0/dbus/dbus-signature.h \ - /usr/include/dbus-1.0/dbus/dbus-syntax.h \ - /usr/include/dbus-1.0/dbus/dbus-threads.h /usr/include/glib-2.0/glib.h \ - /usr/include/glib-2.0/glib/galloca.h /usr/include/glib-2.0/glib/gtypes.h \ - /usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h \ - /usr/include/glib-2.0/glib/gmacros.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h \ - /usr/include/limits.h /usr/include/arm-linux-gnueabihf/bits/posix1_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/local_lim.h \ - /usr/include/linux/limits.h \ - /usr/include/arm-linux-gnueabihf/bits/posix2_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/xopen_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h \ - /usr/include/glib-2.0/glib/gversionmacros.h /usr/include/time.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h \ - /usr/include/arm-linux-gnueabihf/bits/timex.h /usr/include/xlocale.h \ - /usr/include/glib-2.0/glib/garray.h \ - /usr/include/glib-2.0/glib/gasyncqueue.h \ - /usr/include/glib-2.0/glib/gthread.h \ - /usr/include/glib-2.0/glib/gatomic.h /usr/include/glib-2.0/glib/gerror.h \ - /usr/include/glib-2.0/glib/gquark.h \ - /usr/include/glib-2.0/glib/gbacktrace.h /usr/include/signal.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/signum.h \ - /usr/include/arm-linux-gnueabihf/bits/siginfo.h \ - /usr/include/arm-linux-gnueabihf/bits/sigaction.h \ - /usr/include/arm-linux-gnueabihf/bits/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/asm/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigstack.h \ - /usr/include/arm-linux-gnueabihf/sys/ucontext.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/endian.h /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/arm-linux-gnueabihf/bits/sigthread.h \ - /usr/include/glib-2.0/glib/gbase64.h \ - /usr/include/glib-2.0/glib/gbitlock.h \ - /usr/include/glib-2.0/glib/gbookmarkfile.h \ - /usr/include/glib-2.0/glib/gbytes.h \ - /usr/include/glib-2.0/glib/gcharset.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/gconvert.h \ - /usr/include/glib-2.0/glib/gdataset.h /usr/include/glib-2.0/glib/gdate.h \ - /usr/include/glib-2.0/glib/gdatetime.h \ - /usr/include/glib-2.0/glib/gtimezone.h /usr/include/glib-2.0/glib/gdir.h \ - /usr/include/dirent.h /usr/include/arm-linux-gnueabihf/bits/dirent.h \ - /usr/include/glib-2.0/glib/genviron.h \ - /usr/include/glib-2.0/glib/gfileutils.h \ - /usr/include/glib-2.0/glib/ggettext.h /usr/include/glib-2.0/glib/ghash.h \ - /usr/include/glib-2.0/glib/glist.h /usr/include/glib-2.0/glib/gmem.h \ - /usr/include/glib-2.0/glib/gnode.h /usr/include/glib-2.0/glib/ghmac.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/ghook.h \ - /usr/include/glib-2.0/glib/ghostutils.h \ - /usr/include/glib-2.0/glib/giochannel.h \ - /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gpoll.h \ - /usr/include/glib-2.0/glib/gslist.h /usr/include/glib-2.0/glib/gstring.h \ - /usr/include/glib-2.0/glib/gunicode.h \ - /usr/include/glib-2.0/glib/gutils.h \ - /usr/include/glib-2.0/glib/gkeyfile.h \ - /usr/include/glib-2.0/glib/gmappedfile.h \ - /usr/include/glib-2.0/glib/gmarkup.h \ - /usr/include/glib-2.0/glib/gmessages.h \ - /usr/include/glib-2.0/glib/goption.h \ - /usr/include/glib-2.0/glib/gpattern.h \ - /usr/include/glib-2.0/glib/gprimes.h /usr/include/glib-2.0/glib/gqsort.h \ - /usr/include/glib-2.0/glib/gqueue.h /usr/include/glib-2.0/glib/grand.h \ - /usr/include/glib-2.0/glib/gregex.h \ - /usr/include/glib-2.0/glib/gscanner.h \ - /usr/include/glib-2.0/glib/gsequence.h \ - /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gslice.h \ - /usr/include/glib-2.0/glib/gspawn.h \ - /usr/include/glib-2.0/glib/gstrfuncs.h \ - /usr/include/glib-2.0/glib/gstringchunk.h \ - /usr/include/glib-2.0/glib/gtestutils.h \ - /usr/include/glib-2.0/glib/gthreadpool.h \ - /usr/include/glib-2.0/glib/gtimer.h \ - /usr/include/glib-2.0/glib/gtrashstack.h \ - /usr/include/glib-2.0/glib/gtree.h \ - /usr/include/glib-2.0/glib/gurifuncs.h \ - /usr/include/glib-2.0/glib/gvarianttype.h \ - /usr/include/glib-2.0/glib/gvariant.h \ - /usr/include/glib-2.0/glib/gversion.h \ - /usr/include/glib-2.0/glib/deprecated/gallocator.h \ - /usr/include/glib-2.0/glib/deprecated/gcache.h \ - /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ - /usr/include/glib-2.0/glib/deprecated/gmain.h \ - /usr/include/glib-2.0/glib/deprecated/grel.h \ - /usr/include/glib-2.0/glib/deprecated/gthread.h \ - /usr/include/arm-linux-gnueabihf/sys/types.h \ - /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h /usr/include/pthread.h \ - /usr/include/sched.h /usr/include/arm-linux-gnueabihf/bits/sched.h \ - /usr/include/arm-linux-gnueabihf/bits/setjmp.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/include/errno.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/include/arm-linux-gnueabihf/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/arm-linux-gnueabihf/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/include/dbus-1.0/dbus/dbus.h: - -/usr/lib/arm-linux-gnueabihf/dbus-1.0/include/dbus/dbus-arch-deps.h: - -/usr/include/dbus-1.0/dbus/dbus-macros.h: - -/usr/include/dbus-1.0/dbus/dbus-address.h: - -/usr/include/dbus-1.0/dbus/dbus-types.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/include/dbus-1.0/dbus/dbus-errors.h: - -/usr/include/dbus-1.0/dbus/dbus-protocol.h: - -/usr/include/dbus-1.0/dbus/dbus-bus.h: - -/usr/include/dbus-1.0/dbus/dbus-connection.h: - -/usr/include/dbus-1.0/dbus/dbus-memory.h: - -/usr/include/dbus-1.0/dbus/dbus-message.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/dbus-1.0/dbus/dbus-shared.h: - -/usr/include/dbus-1.0/dbus/dbus-misc.h: - -/usr/include/dbus-1.0/dbus/dbus-pending-call.h: - -/usr/include/dbus-1.0/dbus/dbus-server.h: - -/usr/include/dbus-1.0/dbus/dbus-signature.h: - -/usr/include/dbus-1.0/dbus/dbus-syntax.h: - -/usr/include/dbus-1.0/dbus/dbus-threads.h: - -/usr/include/glib-2.0/glib.h: - -/usr/include/glib-2.0/glib/galloca.h: - -/usr/include/glib-2.0/glib/gtypes.h: - -/usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h: - -/usr/include/glib-2.0/glib/gmacros.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h: - -/usr/include/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/local_lim.h: - -/usr/include/linux/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix2_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/xopen_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h: - -/usr/include/glib-2.0/glib/gversionmacros.h: - -/usr/include/time.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/arm-linux-gnueabihf/bits/timex.h: - -/usr/include/xlocale.h: - -/usr/include/glib-2.0/glib/garray.h: - -/usr/include/glib-2.0/glib/gasyncqueue.h: - -/usr/include/glib-2.0/glib/gthread.h: - -/usr/include/glib-2.0/glib/gatomic.h: - -/usr/include/glib-2.0/glib/gerror.h: - -/usr/include/glib-2.0/glib/gquark.h: - -/usr/include/glib-2.0/glib/gbacktrace.h: - -/usr/include/signal.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/signum.h: - -/usr/include/arm-linux-gnueabihf/bits/siginfo.h: - -/usr/include/arm-linux-gnueabihf/bits/sigaction.h: - -/usr/include/arm-linux-gnueabihf/bits/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/asm/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigstack.h: - -/usr/include/arm-linux-gnueabihf/sys/ucontext.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/arm-linux-gnueabihf/bits/sigthread.h: - -/usr/include/glib-2.0/glib/gbase64.h: - -/usr/include/glib-2.0/glib/gbitlock.h: - -/usr/include/glib-2.0/glib/gbookmarkfile.h: - -/usr/include/glib-2.0/glib/gbytes.h: - -/usr/include/glib-2.0/glib/gcharset.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/gconvert.h: - -/usr/include/glib-2.0/glib/gdataset.h: - -/usr/include/glib-2.0/glib/gdate.h: - -/usr/include/glib-2.0/glib/gdatetime.h: - -/usr/include/glib-2.0/glib/gtimezone.h: - -/usr/include/glib-2.0/glib/gdir.h: - -/usr/include/dirent.h: - -/usr/include/arm-linux-gnueabihf/bits/dirent.h: - -/usr/include/glib-2.0/glib/genviron.h: - -/usr/include/glib-2.0/glib/gfileutils.h: - -/usr/include/glib-2.0/glib/ggettext.h: - -/usr/include/glib-2.0/glib/ghash.h: - -/usr/include/glib-2.0/glib/glist.h: - -/usr/include/glib-2.0/glib/gmem.h: - -/usr/include/glib-2.0/glib/gnode.h: - -/usr/include/glib-2.0/glib/ghmac.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/ghook.h: - -/usr/include/glib-2.0/glib/ghostutils.h: - -/usr/include/glib-2.0/glib/giochannel.h: - -/usr/include/glib-2.0/glib/gmain.h: - -/usr/include/glib-2.0/glib/gpoll.h: - -/usr/include/glib-2.0/glib/gslist.h: - -/usr/include/glib-2.0/glib/gstring.h: - -/usr/include/glib-2.0/glib/gunicode.h: - -/usr/include/glib-2.0/glib/gutils.h: - -/usr/include/glib-2.0/glib/gkeyfile.h: - -/usr/include/glib-2.0/glib/gmappedfile.h: - -/usr/include/glib-2.0/glib/gmarkup.h: - -/usr/include/glib-2.0/glib/gmessages.h: - -/usr/include/glib-2.0/glib/goption.h: - -/usr/include/glib-2.0/glib/gpattern.h: - -/usr/include/glib-2.0/glib/gprimes.h: - -/usr/include/glib-2.0/glib/gqsort.h: - -/usr/include/glib-2.0/glib/gqueue.h: - -/usr/include/glib-2.0/glib/grand.h: - -/usr/include/glib-2.0/glib/gregex.h: - -/usr/include/glib-2.0/glib/gscanner.h: - -/usr/include/glib-2.0/glib/gsequence.h: - -/usr/include/glib-2.0/glib/gshell.h: - -/usr/include/glib-2.0/glib/gslice.h: - -/usr/include/glib-2.0/glib/gspawn.h: - -/usr/include/glib-2.0/glib/gstrfuncs.h: - -/usr/include/glib-2.0/glib/gstringchunk.h: - -/usr/include/glib-2.0/glib/gtestutils.h: - -/usr/include/glib-2.0/glib/gthreadpool.h: - -/usr/include/glib-2.0/glib/gtimer.h: - -/usr/include/glib-2.0/glib/gtrashstack.h: - -/usr/include/glib-2.0/glib/gtree.h: - -/usr/include/glib-2.0/glib/gurifuncs.h: - -/usr/include/glib-2.0/glib/gvarianttype.h: - -/usr/include/glib-2.0/glib/gvariant.h: - -/usr/include/glib-2.0/glib/gversion.h: - -/usr/include/glib-2.0/glib/deprecated/gallocator.h: - -/usr/include/glib-2.0/glib/deprecated/gcache.h: - -/usr/include/glib-2.0/glib/deprecated/gcompletion.h: - -/usr/include/glib-2.0/glib/deprecated/gmain.h: - -/usr/include/glib-2.0/glib/deprecated/grel.h: - -/usr/include/glib-2.0/glib/deprecated/gthread.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/pthread.h: - -/usr/include/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/setjmp.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/gdbus/.deps/bluetoothd-watch.Po b/GRIB_BLE_HUB/libs/ble_extend/gdbus/.deps/bluetoothd-watch.Po deleted file mode 100644 index e24c4b3..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/gdbus/.deps/bluetoothd-watch.Po +++ /dev/null @@ -1,438 +0,0 @@ -gdbus/bluetoothd-watch.o: gdbus/watch.c /usr/include/stdc-predef.h \ - config.h /usr/include/stdio.h /usr/include/features.h \ - /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/sys_errlist.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio.h /usr/include/string.h \ - /usr/include/xlocale.h /usr/include/arm-linux-gnueabihf/bits/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string2.h /usr/include/stdlib.h \ - /usr/include/glib-2.0/glib.h /usr/include/glib-2.0/glib/galloca.h \ - /usr/include/glib-2.0/glib/gtypes.h \ - /usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h \ - /usr/include/glib-2.0/glib/gmacros.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h \ - /usr/include/limits.h /usr/include/arm-linux-gnueabihf/bits/posix1_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/local_lim.h \ - /usr/include/linux/limits.h \ - /usr/include/arm-linux-gnueabihf/bits/posix2_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/xopen_lim.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h \ - /usr/include/glib-2.0/glib/gversionmacros.h /usr/include/time.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/bits/timex.h \ - /usr/include/glib-2.0/glib/garray.h \ - /usr/include/glib-2.0/glib/gasyncqueue.h \ - /usr/include/glib-2.0/glib/gthread.h \ - /usr/include/glib-2.0/glib/gatomic.h /usr/include/glib-2.0/glib/gerror.h \ - /usr/include/glib-2.0/glib/gquark.h \ - /usr/include/glib-2.0/glib/gbacktrace.h /usr/include/signal.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/signum.h \ - /usr/include/arm-linux-gnueabihf/bits/siginfo.h \ - /usr/include/arm-linux-gnueabihf/bits/sigaction.h \ - /usr/include/arm-linux-gnueabihf/bits/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/asm/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigstack.h \ - /usr/include/arm-linux-gnueabihf/sys/ucontext.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/endian.h /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/arm-linux-gnueabihf/bits/sigthread.h \ - /usr/include/glib-2.0/glib/gbase64.h \ - /usr/include/glib-2.0/glib/gbitlock.h \ - /usr/include/glib-2.0/glib/gbookmarkfile.h \ - /usr/include/glib-2.0/glib/gbytes.h \ - /usr/include/glib-2.0/glib/gcharset.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/gconvert.h \ - /usr/include/glib-2.0/glib/gdataset.h /usr/include/glib-2.0/glib/gdate.h \ - /usr/include/glib-2.0/glib/gdatetime.h \ - /usr/include/glib-2.0/glib/gtimezone.h /usr/include/glib-2.0/glib/gdir.h \ - /usr/include/dirent.h /usr/include/arm-linux-gnueabihf/bits/dirent.h \ - /usr/include/glib-2.0/glib/genviron.h \ - /usr/include/glib-2.0/glib/gfileutils.h \ - /usr/include/glib-2.0/glib/ggettext.h /usr/include/glib-2.0/glib/ghash.h \ - /usr/include/glib-2.0/glib/glist.h /usr/include/glib-2.0/glib/gmem.h \ - /usr/include/glib-2.0/glib/gnode.h /usr/include/glib-2.0/glib/ghmac.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/ghook.h \ - /usr/include/glib-2.0/glib/ghostutils.h \ - /usr/include/glib-2.0/glib/giochannel.h \ - /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gpoll.h \ - /usr/include/glib-2.0/glib/gslist.h /usr/include/glib-2.0/glib/gstring.h \ - /usr/include/glib-2.0/glib/gunicode.h \ - /usr/include/glib-2.0/glib/gutils.h \ - /usr/include/glib-2.0/glib/gkeyfile.h \ - /usr/include/glib-2.0/glib/gmappedfile.h \ - /usr/include/glib-2.0/glib/gmarkup.h \ - /usr/include/glib-2.0/glib/gmessages.h \ - /usr/include/glib-2.0/glib/goption.h \ - /usr/include/glib-2.0/glib/gpattern.h \ - /usr/include/glib-2.0/glib/gprimes.h /usr/include/glib-2.0/glib/gqsort.h \ - /usr/include/glib-2.0/glib/gqueue.h /usr/include/glib-2.0/glib/grand.h \ - /usr/include/glib-2.0/glib/gregex.h \ - /usr/include/glib-2.0/glib/gscanner.h \ - /usr/include/glib-2.0/glib/gsequence.h \ - /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gslice.h \ - /usr/include/glib-2.0/glib/gspawn.h \ - /usr/include/glib-2.0/glib/gstrfuncs.h \ - /usr/include/glib-2.0/glib/gstringchunk.h \ - /usr/include/glib-2.0/glib/gtestutils.h \ - /usr/include/glib-2.0/glib/gthreadpool.h \ - /usr/include/glib-2.0/glib/gtimer.h \ - /usr/include/glib-2.0/glib/gtrashstack.h \ - /usr/include/glib-2.0/glib/gtree.h \ - /usr/include/glib-2.0/glib/gurifuncs.h \ - /usr/include/glib-2.0/glib/gvarianttype.h \ - /usr/include/glib-2.0/glib/gvariant.h \ - /usr/include/glib-2.0/glib/gversion.h \ - /usr/include/glib-2.0/glib/deprecated/gallocator.h \ - /usr/include/glib-2.0/glib/deprecated/gcache.h \ - /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ - /usr/include/glib-2.0/glib/deprecated/gmain.h \ - /usr/include/glib-2.0/glib/deprecated/grel.h \ - /usr/include/glib-2.0/glib/deprecated/gthread.h \ - /usr/include/arm-linux-gnueabihf/sys/types.h \ - /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h /usr/include/pthread.h \ - /usr/include/sched.h /usr/include/arm-linux-gnueabihf/bits/sched.h \ - /usr/include/arm-linux-gnueabihf/bits/setjmp.h \ - /usr/include/dbus-1.0/dbus/dbus.h \ - /usr/lib/arm-linux-gnueabihf/dbus-1.0/include/dbus/dbus-arch-deps.h \ - /usr/include/dbus-1.0/dbus/dbus-macros.h \ - /usr/include/dbus-1.0/dbus/dbus-address.h \ - /usr/include/dbus-1.0/dbus/dbus-types.h \ - /usr/include/dbus-1.0/dbus/dbus-errors.h \ - /usr/include/dbus-1.0/dbus/dbus-protocol.h \ - /usr/include/dbus-1.0/dbus/dbus-bus.h \ - /usr/include/dbus-1.0/dbus/dbus-connection.h \ - /usr/include/dbus-1.0/dbus/dbus-memory.h \ - /usr/include/dbus-1.0/dbus/dbus-message.h \ - /usr/include/dbus-1.0/dbus/dbus-shared.h \ - /usr/include/dbus-1.0/dbus/dbus-misc.h \ - /usr/include/dbus-1.0/dbus/dbus-pending-call.h \ - /usr/include/dbus-1.0/dbus/dbus-server.h \ - /usr/include/dbus-1.0/dbus/dbus-signature.h \ - /usr/include/dbus-1.0/dbus/dbus-syntax.h \ - /usr/include/dbus-1.0/dbus/dbus-threads.h gdbus/gdbus.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/include/stdio.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/sys_errlist.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio.h: - -/usr/include/string.h: - -/usr/include/xlocale.h: - -/usr/include/arm-linux-gnueabihf/bits/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string2.h: - -/usr/include/stdlib.h: - -/usr/include/glib-2.0/glib.h: - -/usr/include/glib-2.0/glib/galloca.h: - -/usr/include/glib-2.0/glib/gtypes.h: - -/usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h: - -/usr/include/glib-2.0/glib/gmacros.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h: - -/usr/include/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/local_lim.h: - -/usr/include/linux/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix2_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/xopen_lim.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h: - -/usr/include/glib-2.0/glib/gversionmacros.h: - -/usr/include/time.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/bits/timex.h: - -/usr/include/glib-2.0/glib/garray.h: - -/usr/include/glib-2.0/glib/gasyncqueue.h: - -/usr/include/glib-2.0/glib/gthread.h: - -/usr/include/glib-2.0/glib/gatomic.h: - -/usr/include/glib-2.0/glib/gerror.h: - -/usr/include/glib-2.0/glib/gquark.h: - -/usr/include/glib-2.0/glib/gbacktrace.h: - -/usr/include/signal.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/signum.h: - -/usr/include/arm-linux-gnueabihf/bits/siginfo.h: - -/usr/include/arm-linux-gnueabihf/bits/sigaction.h: - -/usr/include/arm-linux-gnueabihf/bits/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/asm/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigstack.h: - -/usr/include/arm-linux-gnueabihf/sys/ucontext.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/arm-linux-gnueabihf/bits/sigthread.h: - -/usr/include/glib-2.0/glib/gbase64.h: - -/usr/include/glib-2.0/glib/gbitlock.h: - -/usr/include/glib-2.0/glib/gbookmarkfile.h: - -/usr/include/glib-2.0/glib/gbytes.h: - -/usr/include/glib-2.0/glib/gcharset.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/gconvert.h: - -/usr/include/glib-2.0/glib/gdataset.h: - -/usr/include/glib-2.0/glib/gdate.h: - -/usr/include/glib-2.0/glib/gdatetime.h: - -/usr/include/glib-2.0/glib/gtimezone.h: - -/usr/include/glib-2.0/glib/gdir.h: - -/usr/include/dirent.h: - -/usr/include/arm-linux-gnueabihf/bits/dirent.h: - -/usr/include/glib-2.0/glib/genviron.h: - -/usr/include/glib-2.0/glib/gfileutils.h: - -/usr/include/glib-2.0/glib/ggettext.h: - -/usr/include/glib-2.0/glib/ghash.h: - -/usr/include/glib-2.0/glib/glist.h: - -/usr/include/glib-2.0/glib/gmem.h: - -/usr/include/glib-2.0/glib/gnode.h: - -/usr/include/glib-2.0/glib/ghmac.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/ghook.h: - -/usr/include/glib-2.0/glib/ghostutils.h: - -/usr/include/glib-2.0/glib/giochannel.h: - -/usr/include/glib-2.0/glib/gmain.h: - -/usr/include/glib-2.0/glib/gpoll.h: - -/usr/include/glib-2.0/glib/gslist.h: - -/usr/include/glib-2.0/glib/gstring.h: - -/usr/include/glib-2.0/glib/gunicode.h: - -/usr/include/glib-2.0/glib/gutils.h: - -/usr/include/glib-2.0/glib/gkeyfile.h: - -/usr/include/glib-2.0/glib/gmappedfile.h: - -/usr/include/glib-2.0/glib/gmarkup.h: - -/usr/include/glib-2.0/glib/gmessages.h: - -/usr/include/glib-2.0/glib/goption.h: - -/usr/include/glib-2.0/glib/gpattern.h: - -/usr/include/glib-2.0/glib/gprimes.h: - -/usr/include/glib-2.0/glib/gqsort.h: - -/usr/include/glib-2.0/glib/gqueue.h: - -/usr/include/glib-2.0/glib/grand.h: - -/usr/include/glib-2.0/glib/gregex.h: - -/usr/include/glib-2.0/glib/gscanner.h: - -/usr/include/glib-2.0/glib/gsequence.h: - -/usr/include/glib-2.0/glib/gshell.h: - -/usr/include/glib-2.0/glib/gslice.h: - -/usr/include/glib-2.0/glib/gspawn.h: - -/usr/include/glib-2.0/glib/gstrfuncs.h: - -/usr/include/glib-2.0/glib/gstringchunk.h: - -/usr/include/glib-2.0/glib/gtestutils.h: - -/usr/include/glib-2.0/glib/gthreadpool.h: - -/usr/include/glib-2.0/glib/gtimer.h: - -/usr/include/glib-2.0/glib/gtrashstack.h: - -/usr/include/glib-2.0/glib/gtree.h: - -/usr/include/glib-2.0/glib/gurifuncs.h: - -/usr/include/glib-2.0/glib/gvarianttype.h: - -/usr/include/glib-2.0/glib/gvariant.h: - -/usr/include/glib-2.0/glib/gversion.h: - -/usr/include/glib-2.0/glib/deprecated/gallocator.h: - -/usr/include/glib-2.0/glib/deprecated/gcache.h: - -/usr/include/glib-2.0/glib/deprecated/gcompletion.h: - -/usr/include/glib-2.0/glib/deprecated/gmain.h: - -/usr/include/glib-2.0/glib/deprecated/grel.h: - -/usr/include/glib-2.0/glib/deprecated/gthread.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/pthread.h: - -/usr/include/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/setjmp.h: - -/usr/include/dbus-1.0/dbus/dbus.h: - -/usr/lib/arm-linux-gnueabihf/dbus-1.0/include/dbus/dbus-arch-deps.h: - -/usr/include/dbus-1.0/dbus/dbus-macros.h: - -/usr/include/dbus-1.0/dbus/dbus-address.h: - -/usr/include/dbus-1.0/dbus/dbus-types.h: - -/usr/include/dbus-1.0/dbus/dbus-errors.h: - -/usr/include/dbus-1.0/dbus/dbus-protocol.h: - -/usr/include/dbus-1.0/dbus/dbus-bus.h: - -/usr/include/dbus-1.0/dbus/dbus-connection.h: - -/usr/include/dbus-1.0/dbus/dbus-memory.h: - -/usr/include/dbus-1.0/dbus/dbus-message.h: - -/usr/include/dbus-1.0/dbus/dbus-shared.h: - -/usr/include/dbus-1.0/dbus/dbus-misc.h: - -/usr/include/dbus-1.0/dbus/dbus-pending-call.h: - -/usr/include/dbus-1.0/dbus/dbus-server.h: - -/usr/include/dbus-1.0/dbus/dbus-signature.h: - -/usr/include/dbus-1.0/dbus/dbus-syntax.h: - -/usr/include/dbus-1.0/dbus/dbus-threads.h: - -gdbus/gdbus.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/gdbus/.deps/client.Po b/GRIB_BLE_HUB/libs/ble_extend/gdbus/.deps/client.Po deleted file mode 100644 index 4129fa6..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/gdbus/.deps/client.Po +++ /dev/null @@ -1,413 +0,0 @@ -gdbus/client.o: gdbus/client.c /usr/include/stdc-predef.h config.h \ - /usr/include/glib-2.0/glib.h /usr/include/glib-2.0/glib/galloca.h \ - /usr/include/glib-2.0/glib/gtypes.h \ - /usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h \ - /usr/include/glib-2.0/glib/gmacros.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h \ - /usr/include/limits.h /usr/include/features.h \ - /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/include/arm-linux-gnueabihf/bits/posix1_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/local_lim.h \ - /usr/include/linux/limits.h \ - /usr/include/arm-linux-gnueabihf/bits/posix2_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/xopen_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h \ - /usr/include/glib-2.0/glib/gversionmacros.h /usr/include/time.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h \ - /usr/include/arm-linux-gnueabihf/bits/timex.h /usr/include/xlocale.h \ - /usr/include/glib-2.0/glib/garray.h \ - /usr/include/glib-2.0/glib/gasyncqueue.h \ - /usr/include/glib-2.0/glib/gthread.h \ - /usr/include/glib-2.0/glib/gatomic.h /usr/include/glib-2.0/glib/gerror.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/glib-2.0/glib/gquark.h \ - /usr/include/glib-2.0/glib/gbacktrace.h /usr/include/signal.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/signum.h \ - /usr/include/arm-linux-gnueabihf/bits/siginfo.h \ - /usr/include/arm-linux-gnueabihf/bits/sigaction.h \ - /usr/include/arm-linux-gnueabihf/bits/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/asm/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigstack.h \ - /usr/include/arm-linux-gnueabihf/sys/ucontext.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/endian.h /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/arm-linux-gnueabihf/bits/sigthread.h \ - /usr/include/glib-2.0/glib/gbase64.h \ - /usr/include/glib-2.0/glib/gbitlock.h \ - /usr/include/glib-2.0/glib/gbookmarkfile.h \ - /usr/include/glib-2.0/glib/gbytes.h \ - /usr/include/glib-2.0/glib/gcharset.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/gconvert.h \ - /usr/include/glib-2.0/glib/gdataset.h /usr/include/glib-2.0/glib/gdate.h \ - /usr/include/glib-2.0/glib/gdatetime.h \ - /usr/include/glib-2.0/glib/gtimezone.h /usr/include/glib-2.0/glib/gdir.h \ - /usr/include/dirent.h /usr/include/arm-linux-gnueabihf/bits/dirent.h \ - /usr/include/glib-2.0/glib/genviron.h \ - /usr/include/glib-2.0/glib/gfileutils.h \ - /usr/include/glib-2.0/glib/ggettext.h /usr/include/glib-2.0/glib/ghash.h \ - /usr/include/glib-2.0/glib/glist.h /usr/include/glib-2.0/glib/gmem.h \ - /usr/include/glib-2.0/glib/gnode.h /usr/include/glib-2.0/glib/ghmac.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/ghook.h \ - /usr/include/glib-2.0/glib/ghostutils.h \ - /usr/include/glib-2.0/glib/giochannel.h \ - /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gpoll.h \ - /usr/include/glib-2.0/glib/gslist.h /usr/include/glib-2.0/glib/gstring.h \ - /usr/include/glib-2.0/glib/gunicode.h \ - /usr/include/glib-2.0/glib/gutils.h \ - /usr/include/glib-2.0/glib/gkeyfile.h \ - /usr/include/glib-2.0/glib/gmappedfile.h \ - /usr/include/glib-2.0/glib/gmarkup.h \ - /usr/include/glib-2.0/glib/gmessages.h \ - /usr/include/glib-2.0/glib/goption.h \ - /usr/include/glib-2.0/glib/gpattern.h \ - /usr/include/glib-2.0/glib/gprimes.h /usr/include/glib-2.0/glib/gqsort.h \ - /usr/include/glib-2.0/glib/gqueue.h /usr/include/glib-2.0/glib/grand.h \ - /usr/include/glib-2.0/glib/gregex.h \ - /usr/include/glib-2.0/glib/gscanner.h \ - /usr/include/glib-2.0/glib/gsequence.h \ - /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gslice.h \ - /usr/include/glib-2.0/glib/gspawn.h \ - /usr/include/glib-2.0/glib/gstrfuncs.h \ - /usr/include/glib-2.0/glib/gstringchunk.h \ - /usr/include/glib-2.0/glib/gtestutils.h \ - /usr/include/glib-2.0/glib/gthreadpool.h \ - /usr/include/glib-2.0/glib/gtimer.h \ - /usr/include/glib-2.0/glib/gtrashstack.h \ - /usr/include/glib-2.0/glib/gtree.h \ - /usr/include/glib-2.0/glib/gurifuncs.h \ - /usr/include/glib-2.0/glib/gvarianttype.h \ - /usr/include/glib-2.0/glib/gvariant.h \ - /usr/include/glib-2.0/glib/gversion.h \ - /usr/include/glib-2.0/glib/deprecated/gallocator.h \ - /usr/include/glib-2.0/glib/deprecated/gcache.h \ - /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ - /usr/include/glib-2.0/glib/deprecated/gmain.h \ - /usr/include/glib-2.0/glib/deprecated/grel.h \ - /usr/include/glib-2.0/glib/deprecated/gthread.h \ - /usr/include/arm-linux-gnueabihf/sys/types.h \ - /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h /usr/include/pthread.h \ - /usr/include/sched.h /usr/include/arm-linux-gnueabihf/bits/sched.h \ - /usr/include/arm-linux-gnueabihf/bits/setjmp.h \ - /usr/include/dbus-1.0/dbus/dbus.h \ - /usr/lib/arm-linux-gnueabihf/dbus-1.0/include/dbus/dbus-arch-deps.h \ - /usr/include/dbus-1.0/dbus/dbus-macros.h \ - /usr/include/dbus-1.0/dbus/dbus-address.h \ - /usr/include/dbus-1.0/dbus/dbus-types.h \ - /usr/include/dbus-1.0/dbus/dbus-errors.h \ - /usr/include/dbus-1.0/dbus/dbus-protocol.h \ - /usr/include/dbus-1.0/dbus/dbus-bus.h \ - /usr/include/dbus-1.0/dbus/dbus-connection.h \ - /usr/include/dbus-1.0/dbus/dbus-memory.h \ - /usr/include/dbus-1.0/dbus/dbus-message.h \ - /usr/include/dbus-1.0/dbus/dbus-shared.h \ - /usr/include/dbus-1.0/dbus/dbus-misc.h \ - /usr/include/dbus-1.0/dbus/dbus-pending-call.h \ - /usr/include/dbus-1.0/dbus/dbus-server.h \ - /usr/include/dbus-1.0/dbus/dbus-signature.h \ - /usr/include/dbus-1.0/dbus/dbus-syntax.h \ - /usr/include/dbus-1.0/dbus/dbus-threads.h gdbus/gdbus.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/include/glib-2.0/glib.h: - -/usr/include/glib-2.0/glib/galloca.h: - -/usr/include/glib-2.0/glib/gtypes.h: - -/usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h: - -/usr/include/glib-2.0/glib/gmacros.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h: - -/usr/include/limits.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/local_lim.h: - -/usr/include/linux/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix2_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/xopen_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h: - -/usr/include/glib-2.0/glib/gversionmacros.h: - -/usr/include/time.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/arm-linux-gnueabihf/bits/timex.h: - -/usr/include/xlocale.h: - -/usr/include/glib-2.0/glib/garray.h: - -/usr/include/glib-2.0/glib/gasyncqueue.h: - -/usr/include/glib-2.0/glib/gthread.h: - -/usr/include/glib-2.0/glib/gatomic.h: - -/usr/include/glib-2.0/glib/gerror.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/glib-2.0/glib/gquark.h: - -/usr/include/glib-2.0/glib/gbacktrace.h: - -/usr/include/signal.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/signum.h: - -/usr/include/arm-linux-gnueabihf/bits/siginfo.h: - -/usr/include/arm-linux-gnueabihf/bits/sigaction.h: - -/usr/include/arm-linux-gnueabihf/bits/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/asm/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigstack.h: - -/usr/include/arm-linux-gnueabihf/sys/ucontext.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/arm-linux-gnueabihf/bits/sigthread.h: - -/usr/include/glib-2.0/glib/gbase64.h: - -/usr/include/glib-2.0/glib/gbitlock.h: - -/usr/include/glib-2.0/glib/gbookmarkfile.h: - -/usr/include/glib-2.0/glib/gbytes.h: - -/usr/include/glib-2.0/glib/gcharset.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/gconvert.h: - -/usr/include/glib-2.0/glib/gdataset.h: - -/usr/include/glib-2.0/glib/gdate.h: - -/usr/include/glib-2.0/glib/gdatetime.h: - -/usr/include/glib-2.0/glib/gtimezone.h: - -/usr/include/glib-2.0/glib/gdir.h: - -/usr/include/dirent.h: - -/usr/include/arm-linux-gnueabihf/bits/dirent.h: - -/usr/include/glib-2.0/glib/genviron.h: - -/usr/include/glib-2.0/glib/gfileutils.h: - -/usr/include/glib-2.0/glib/ggettext.h: - -/usr/include/glib-2.0/glib/ghash.h: - -/usr/include/glib-2.0/glib/glist.h: - -/usr/include/glib-2.0/glib/gmem.h: - -/usr/include/glib-2.0/glib/gnode.h: - -/usr/include/glib-2.0/glib/ghmac.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/ghook.h: - -/usr/include/glib-2.0/glib/ghostutils.h: - -/usr/include/glib-2.0/glib/giochannel.h: - -/usr/include/glib-2.0/glib/gmain.h: - -/usr/include/glib-2.0/glib/gpoll.h: - -/usr/include/glib-2.0/glib/gslist.h: - -/usr/include/glib-2.0/glib/gstring.h: - -/usr/include/glib-2.0/glib/gunicode.h: - -/usr/include/glib-2.0/glib/gutils.h: - -/usr/include/glib-2.0/glib/gkeyfile.h: - -/usr/include/glib-2.0/glib/gmappedfile.h: - -/usr/include/glib-2.0/glib/gmarkup.h: - -/usr/include/glib-2.0/glib/gmessages.h: - -/usr/include/glib-2.0/glib/goption.h: - -/usr/include/glib-2.0/glib/gpattern.h: - -/usr/include/glib-2.0/glib/gprimes.h: - -/usr/include/glib-2.0/glib/gqsort.h: - -/usr/include/glib-2.0/glib/gqueue.h: - -/usr/include/glib-2.0/glib/grand.h: - -/usr/include/glib-2.0/glib/gregex.h: - -/usr/include/glib-2.0/glib/gscanner.h: - -/usr/include/glib-2.0/glib/gsequence.h: - -/usr/include/glib-2.0/glib/gshell.h: - -/usr/include/glib-2.0/glib/gslice.h: - -/usr/include/glib-2.0/glib/gspawn.h: - -/usr/include/glib-2.0/glib/gstrfuncs.h: - -/usr/include/glib-2.0/glib/gstringchunk.h: - -/usr/include/glib-2.0/glib/gtestutils.h: - -/usr/include/glib-2.0/glib/gthreadpool.h: - -/usr/include/glib-2.0/glib/gtimer.h: - -/usr/include/glib-2.0/glib/gtrashstack.h: - -/usr/include/glib-2.0/glib/gtree.h: - -/usr/include/glib-2.0/glib/gurifuncs.h: - -/usr/include/glib-2.0/glib/gvarianttype.h: - -/usr/include/glib-2.0/glib/gvariant.h: - -/usr/include/glib-2.0/glib/gversion.h: - -/usr/include/glib-2.0/glib/deprecated/gallocator.h: - -/usr/include/glib-2.0/glib/deprecated/gcache.h: - -/usr/include/glib-2.0/glib/deprecated/gcompletion.h: - -/usr/include/glib-2.0/glib/deprecated/gmain.h: - -/usr/include/glib-2.0/glib/deprecated/grel.h: - -/usr/include/glib-2.0/glib/deprecated/gthread.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/pthread.h: - -/usr/include/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/setjmp.h: - -/usr/include/dbus-1.0/dbus/dbus.h: - -/usr/lib/arm-linux-gnueabihf/dbus-1.0/include/dbus/dbus-arch-deps.h: - -/usr/include/dbus-1.0/dbus/dbus-macros.h: - -/usr/include/dbus-1.0/dbus/dbus-address.h: - -/usr/include/dbus-1.0/dbus/dbus-types.h: - -/usr/include/dbus-1.0/dbus/dbus-errors.h: - -/usr/include/dbus-1.0/dbus/dbus-protocol.h: - -/usr/include/dbus-1.0/dbus/dbus-bus.h: - -/usr/include/dbus-1.0/dbus/dbus-connection.h: - -/usr/include/dbus-1.0/dbus/dbus-memory.h: - -/usr/include/dbus-1.0/dbus/dbus-message.h: - -/usr/include/dbus-1.0/dbus/dbus-shared.h: - -/usr/include/dbus-1.0/dbus/dbus-misc.h: - -/usr/include/dbus-1.0/dbus/dbus-pending-call.h: - -/usr/include/dbus-1.0/dbus/dbus-server.h: - -/usr/include/dbus-1.0/dbus/dbus-signature.h: - -/usr/include/dbus-1.0/dbus/dbus-syntax.h: - -/usr/include/dbus-1.0/dbus/dbus-threads.h: - -gdbus/gdbus.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/gdbus/.deps/mainloop.Po b/GRIB_BLE_HUB/libs/ble_extend/gdbus/.deps/mainloop.Po deleted file mode 100644 index 116be1d..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/gdbus/.deps/mainloop.Po +++ /dev/null @@ -1,413 +0,0 @@ -gdbus/mainloop.o: gdbus/mainloop.c /usr/include/stdc-predef.h config.h \ - /usr/include/glib-2.0/glib.h /usr/include/glib-2.0/glib/galloca.h \ - /usr/include/glib-2.0/glib/gtypes.h \ - /usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h \ - /usr/include/glib-2.0/glib/gmacros.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h \ - /usr/include/limits.h /usr/include/features.h \ - /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/include/arm-linux-gnueabihf/bits/posix1_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/local_lim.h \ - /usr/include/linux/limits.h \ - /usr/include/arm-linux-gnueabihf/bits/posix2_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/xopen_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h \ - /usr/include/glib-2.0/glib/gversionmacros.h /usr/include/time.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h \ - /usr/include/arm-linux-gnueabihf/bits/timex.h /usr/include/xlocale.h \ - /usr/include/glib-2.0/glib/garray.h \ - /usr/include/glib-2.0/glib/gasyncqueue.h \ - /usr/include/glib-2.0/glib/gthread.h \ - /usr/include/glib-2.0/glib/gatomic.h /usr/include/glib-2.0/glib/gerror.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/glib-2.0/glib/gquark.h \ - /usr/include/glib-2.0/glib/gbacktrace.h /usr/include/signal.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/signum.h \ - /usr/include/arm-linux-gnueabihf/bits/siginfo.h \ - /usr/include/arm-linux-gnueabihf/bits/sigaction.h \ - /usr/include/arm-linux-gnueabihf/bits/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/asm/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigstack.h \ - /usr/include/arm-linux-gnueabihf/sys/ucontext.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/endian.h /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/arm-linux-gnueabihf/bits/sigthread.h \ - /usr/include/glib-2.0/glib/gbase64.h \ - /usr/include/glib-2.0/glib/gbitlock.h \ - /usr/include/glib-2.0/glib/gbookmarkfile.h \ - /usr/include/glib-2.0/glib/gbytes.h \ - /usr/include/glib-2.0/glib/gcharset.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/gconvert.h \ - /usr/include/glib-2.0/glib/gdataset.h /usr/include/glib-2.0/glib/gdate.h \ - /usr/include/glib-2.0/glib/gdatetime.h \ - /usr/include/glib-2.0/glib/gtimezone.h /usr/include/glib-2.0/glib/gdir.h \ - /usr/include/dirent.h /usr/include/arm-linux-gnueabihf/bits/dirent.h \ - /usr/include/glib-2.0/glib/genviron.h \ - /usr/include/glib-2.0/glib/gfileutils.h \ - /usr/include/glib-2.0/glib/ggettext.h /usr/include/glib-2.0/glib/ghash.h \ - /usr/include/glib-2.0/glib/glist.h /usr/include/glib-2.0/glib/gmem.h \ - /usr/include/glib-2.0/glib/gnode.h /usr/include/glib-2.0/glib/ghmac.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/ghook.h \ - /usr/include/glib-2.0/glib/ghostutils.h \ - /usr/include/glib-2.0/glib/giochannel.h \ - /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gpoll.h \ - /usr/include/glib-2.0/glib/gslist.h /usr/include/glib-2.0/glib/gstring.h \ - /usr/include/glib-2.0/glib/gunicode.h \ - /usr/include/glib-2.0/glib/gutils.h \ - /usr/include/glib-2.0/glib/gkeyfile.h \ - /usr/include/glib-2.0/glib/gmappedfile.h \ - /usr/include/glib-2.0/glib/gmarkup.h \ - /usr/include/glib-2.0/glib/gmessages.h \ - /usr/include/glib-2.0/glib/goption.h \ - /usr/include/glib-2.0/glib/gpattern.h \ - /usr/include/glib-2.0/glib/gprimes.h /usr/include/glib-2.0/glib/gqsort.h \ - /usr/include/glib-2.0/glib/gqueue.h /usr/include/glib-2.0/glib/grand.h \ - /usr/include/glib-2.0/glib/gregex.h \ - /usr/include/glib-2.0/glib/gscanner.h \ - /usr/include/glib-2.0/glib/gsequence.h \ - /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gslice.h \ - /usr/include/glib-2.0/glib/gspawn.h \ - /usr/include/glib-2.0/glib/gstrfuncs.h \ - /usr/include/glib-2.0/glib/gstringchunk.h \ - /usr/include/glib-2.0/glib/gtestutils.h \ - /usr/include/glib-2.0/glib/gthreadpool.h \ - /usr/include/glib-2.0/glib/gtimer.h \ - /usr/include/glib-2.0/glib/gtrashstack.h \ - /usr/include/glib-2.0/glib/gtree.h \ - /usr/include/glib-2.0/glib/gurifuncs.h \ - /usr/include/glib-2.0/glib/gvarianttype.h \ - /usr/include/glib-2.0/glib/gvariant.h \ - /usr/include/glib-2.0/glib/gversion.h \ - /usr/include/glib-2.0/glib/deprecated/gallocator.h \ - /usr/include/glib-2.0/glib/deprecated/gcache.h \ - /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ - /usr/include/glib-2.0/glib/deprecated/gmain.h \ - /usr/include/glib-2.0/glib/deprecated/grel.h \ - /usr/include/glib-2.0/glib/deprecated/gthread.h \ - /usr/include/arm-linux-gnueabihf/sys/types.h \ - /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h /usr/include/pthread.h \ - /usr/include/sched.h /usr/include/arm-linux-gnueabihf/bits/sched.h \ - /usr/include/arm-linux-gnueabihf/bits/setjmp.h \ - /usr/include/dbus-1.0/dbus/dbus.h \ - /usr/lib/arm-linux-gnueabihf/dbus-1.0/include/dbus/dbus-arch-deps.h \ - /usr/include/dbus-1.0/dbus/dbus-macros.h \ - /usr/include/dbus-1.0/dbus/dbus-address.h \ - /usr/include/dbus-1.0/dbus/dbus-types.h \ - /usr/include/dbus-1.0/dbus/dbus-errors.h \ - /usr/include/dbus-1.0/dbus/dbus-protocol.h \ - /usr/include/dbus-1.0/dbus/dbus-bus.h \ - /usr/include/dbus-1.0/dbus/dbus-connection.h \ - /usr/include/dbus-1.0/dbus/dbus-memory.h \ - /usr/include/dbus-1.0/dbus/dbus-message.h \ - /usr/include/dbus-1.0/dbus/dbus-shared.h \ - /usr/include/dbus-1.0/dbus/dbus-misc.h \ - /usr/include/dbus-1.0/dbus/dbus-pending-call.h \ - /usr/include/dbus-1.0/dbus/dbus-server.h \ - /usr/include/dbus-1.0/dbus/dbus-signature.h \ - /usr/include/dbus-1.0/dbus/dbus-syntax.h \ - /usr/include/dbus-1.0/dbus/dbus-threads.h gdbus/gdbus.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/include/glib-2.0/glib.h: - -/usr/include/glib-2.0/glib/galloca.h: - -/usr/include/glib-2.0/glib/gtypes.h: - -/usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h: - -/usr/include/glib-2.0/glib/gmacros.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h: - -/usr/include/limits.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/local_lim.h: - -/usr/include/linux/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix2_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/xopen_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h: - -/usr/include/glib-2.0/glib/gversionmacros.h: - -/usr/include/time.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/arm-linux-gnueabihf/bits/timex.h: - -/usr/include/xlocale.h: - -/usr/include/glib-2.0/glib/garray.h: - -/usr/include/glib-2.0/glib/gasyncqueue.h: - -/usr/include/glib-2.0/glib/gthread.h: - -/usr/include/glib-2.0/glib/gatomic.h: - -/usr/include/glib-2.0/glib/gerror.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/glib-2.0/glib/gquark.h: - -/usr/include/glib-2.0/glib/gbacktrace.h: - -/usr/include/signal.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/signum.h: - -/usr/include/arm-linux-gnueabihf/bits/siginfo.h: - -/usr/include/arm-linux-gnueabihf/bits/sigaction.h: - -/usr/include/arm-linux-gnueabihf/bits/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/asm/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigstack.h: - -/usr/include/arm-linux-gnueabihf/sys/ucontext.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/arm-linux-gnueabihf/bits/sigthread.h: - -/usr/include/glib-2.0/glib/gbase64.h: - -/usr/include/glib-2.0/glib/gbitlock.h: - -/usr/include/glib-2.0/glib/gbookmarkfile.h: - -/usr/include/glib-2.0/glib/gbytes.h: - -/usr/include/glib-2.0/glib/gcharset.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/gconvert.h: - -/usr/include/glib-2.0/glib/gdataset.h: - -/usr/include/glib-2.0/glib/gdate.h: - -/usr/include/glib-2.0/glib/gdatetime.h: - -/usr/include/glib-2.0/glib/gtimezone.h: - -/usr/include/glib-2.0/glib/gdir.h: - -/usr/include/dirent.h: - -/usr/include/arm-linux-gnueabihf/bits/dirent.h: - -/usr/include/glib-2.0/glib/genviron.h: - -/usr/include/glib-2.0/glib/gfileutils.h: - -/usr/include/glib-2.0/glib/ggettext.h: - -/usr/include/glib-2.0/glib/ghash.h: - -/usr/include/glib-2.0/glib/glist.h: - -/usr/include/glib-2.0/glib/gmem.h: - -/usr/include/glib-2.0/glib/gnode.h: - -/usr/include/glib-2.0/glib/ghmac.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/ghook.h: - -/usr/include/glib-2.0/glib/ghostutils.h: - -/usr/include/glib-2.0/glib/giochannel.h: - -/usr/include/glib-2.0/glib/gmain.h: - -/usr/include/glib-2.0/glib/gpoll.h: - -/usr/include/glib-2.0/glib/gslist.h: - -/usr/include/glib-2.0/glib/gstring.h: - -/usr/include/glib-2.0/glib/gunicode.h: - -/usr/include/glib-2.0/glib/gutils.h: - -/usr/include/glib-2.0/glib/gkeyfile.h: - -/usr/include/glib-2.0/glib/gmappedfile.h: - -/usr/include/glib-2.0/glib/gmarkup.h: - -/usr/include/glib-2.0/glib/gmessages.h: - -/usr/include/glib-2.0/glib/goption.h: - -/usr/include/glib-2.0/glib/gpattern.h: - -/usr/include/glib-2.0/glib/gprimes.h: - -/usr/include/glib-2.0/glib/gqsort.h: - -/usr/include/glib-2.0/glib/gqueue.h: - -/usr/include/glib-2.0/glib/grand.h: - -/usr/include/glib-2.0/glib/gregex.h: - -/usr/include/glib-2.0/glib/gscanner.h: - -/usr/include/glib-2.0/glib/gsequence.h: - -/usr/include/glib-2.0/glib/gshell.h: - -/usr/include/glib-2.0/glib/gslice.h: - -/usr/include/glib-2.0/glib/gspawn.h: - -/usr/include/glib-2.0/glib/gstrfuncs.h: - -/usr/include/glib-2.0/glib/gstringchunk.h: - -/usr/include/glib-2.0/glib/gtestutils.h: - -/usr/include/glib-2.0/glib/gthreadpool.h: - -/usr/include/glib-2.0/glib/gtimer.h: - -/usr/include/glib-2.0/glib/gtrashstack.h: - -/usr/include/glib-2.0/glib/gtree.h: - -/usr/include/glib-2.0/glib/gurifuncs.h: - -/usr/include/glib-2.0/glib/gvarianttype.h: - -/usr/include/glib-2.0/glib/gvariant.h: - -/usr/include/glib-2.0/glib/gversion.h: - -/usr/include/glib-2.0/glib/deprecated/gallocator.h: - -/usr/include/glib-2.0/glib/deprecated/gcache.h: - -/usr/include/glib-2.0/glib/deprecated/gcompletion.h: - -/usr/include/glib-2.0/glib/deprecated/gmain.h: - -/usr/include/glib-2.0/glib/deprecated/grel.h: - -/usr/include/glib-2.0/glib/deprecated/gthread.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/pthread.h: - -/usr/include/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/setjmp.h: - -/usr/include/dbus-1.0/dbus/dbus.h: - -/usr/lib/arm-linux-gnueabihf/dbus-1.0/include/dbus/dbus-arch-deps.h: - -/usr/include/dbus-1.0/dbus/dbus-macros.h: - -/usr/include/dbus-1.0/dbus/dbus-address.h: - -/usr/include/dbus-1.0/dbus/dbus-types.h: - -/usr/include/dbus-1.0/dbus/dbus-errors.h: - -/usr/include/dbus-1.0/dbus/dbus-protocol.h: - -/usr/include/dbus-1.0/dbus/dbus-bus.h: - -/usr/include/dbus-1.0/dbus/dbus-connection.h: - -/usr/include/dbus-1.0/dbus/dbus-memory.h: - -/usr/include/dbus-1.0/dbus/dbus-message.h: - -/usr/include/dbus-1.0/dbus/dbus-shared.h: - -/usr/include/dbus-1.0/dbus/dbus-misc.h: - -/usr/include/dbus-1.0/dbus/dbus-pending-call.h: - -/usr/include/dbus-1.0/dbus/dbus-server.h: - -/usr/include/dbus-1.0/dbus/dbus-signature.h: - -/usr/include/dbus-1.0/dbus/dbus-syntax.h: - -/usr/include/dbus-1.0/dbus/dbus-threads.h: - -gdbus/gdbus.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/gdbus/.deps/obexd-client.Po b/GRIB_BLE_HUB/libs/ble_extend/gdbus/.deps/obexd-client.Po deleted file mode 100644 index 217136a..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/gdbus/.deps/obexd-client.Po +++ /dev/null @@ -1,413 +0,0 @@ -gdbus/obexd-client.o: gdbus/client.c /usr/include/stdc-predef.h config.h \ - /usr/include/glib-2.0/glib.h /usr/include/glib-2.0/glib/galloca.h \ - /usr/include/glib-2.0/glib/gtypes.h \ - /usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h \ - /usr/include/glib-2.0/glib/gmacros.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h \ - /usr/include/limits.h /usr/include/features.h \ - /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/include/arm-linux-gnueabihf/bits/posix1_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/local_lim.h \ - /usr/include/linux/limits.h \ - /usr/include/arm-linux-gnueabihf/bits/posix2_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/xopen_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h \ - /usr/include/glib-2.0/glib/gversionmacros.h /usr/include/time.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h \ - /usr/include/arm-linux-gnueabihf/bits/timex.h /usr/include/xlocale.h \ - /usr/include/glib-2.0/glib/garray.h \ - /usr/include/glib-2.0/glib/gasyncqueue.h \ - /usr/include/glib-2.0/glib/gthread.h \ - /usr/include/glib-2.0/glib/gatomic.h /usr/include/glib-2.0/glib/gerror.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/glib-2.0/glib/gquark.h \ - /usr/include/glib-2.0/glib/gbacktrace.h /usr/include/signal.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/signum.h \ - /usr/include/arm-linux-gnueabihf/bits/siginfo.h \ - /usr/include/arm-linux-gnueabihf/bits/sigaction.h \ - /usr/include/arm-linux-gnueabihf/bits/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/asm/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigstack.h \ - /usr/include/arm-linux-gnueabihf/sys/ucontext.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/endian.h /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/arm-linux-gnueabihf/bits/sigthread.h \ - /usr/include/glib-2.0/glib/gbase64.h \ - /usr/include/glib-2.0/glib/gbitlock.h \ - /usr/include/glib-2.0/glib/gbookmarkfile.h \ - /usr/include/glib-2.0/glib/gbytes.h \ - /usr/include/glib-2.0/glib/gcharset.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/gconvert.h \ - /usr/include/glib-2.0/glib/gdataset.h /usr/include/glib-2.0/glib/gdate.h \ - /usr/include/glib-2.0/glib/gdatetime.h \ - /usr/include/glib-2.0/glib/gtimezone.h /usr/include/glib-2.0/glib/gdir.h \ - /usr/include/dirent.h /usr/include/arm-linux-gnueabihf/bits/dirent.h \ - /usr/include/glib-2.0/glib/genviron.h \ - /usr/include/glib-2.0/glib/gfileutils.h \ - /usr/include/glib-2.0/glib/ggettext.h /usr/include/glib-2.0/glib/ghash.h \ - /usr/include/glib-2.0/glib/glist.h /usr/include/glib-2.0/glib/gmem.h \ - /usr/include/glib-2.0/glib/gnode.h /usr/include/glib-2.0/glib/ghmac.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/ghook.h \ - /usr/include/glib-2.0/glib/ghostutils.h \ - /usr/include/glib-2.0/glib/giochannel.h \ - /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gpoll.h \ - /usr/include/glib-2.0/glib/gslist.h /usr/include/glib-2.0/glib/gstring.h \ - /usr/include/glib-2.0/glib/gunicode.h \ - /usr/include/glib-2.0/glib/gutils.h \ - /usr/include/glib-2.0/glib/gkeyfile.h \ - /usr/include/glib-2.0/glib/gmappedfile.h \ - /usr/include/glib-2.0/glib/gmarkup.h \ - /usr/include/glib-2.0/glib/gmessages.h \ - /usr/include/glib-2.0/glib/goption.h \ - /usr/include/glib-2.0/glib/gpattern.h \ - /usr/include/glib-2.0/glib/gprimes.h /usr/include/glib-2.0/glib/gqsort.h \ - /usr/include/glib-2.0/glib/gqueue.h /usr/include/glib-2.0/glib/grand.h \ - /usr/include/glib-2.0/glib/gregex.h \ - /usr/include/glib-2.0/glib/gscanner.h \ - /usr/include/glib-2.0/glib/gsequence.h \ - /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gslice.h \ - /usr/include/glib-2.0/glib/gspawn.h \ - /usr/include/glib-2.0/glib/gstrfuncs.h \ - /usr/include/glib-2.0/glib/gstringchunk.h \ - /usr/include/glib-2.0/glib/gtestutils.h \ - /usr/include/glib-2.0/glib/gthreadpool.h \ - /usr/include/glib-2.0/glib/gtimer.h \ - /usr/include/glib-2.0/glib/gtrashstack.h \ - /usr/include/glib-2.0/glib/gtree.h \ - /usr/include/glib-2.0/glib/gurifuncs.h \ - /usr/include/glib-2.0/glib/gvarianttype.h \ - /usr/include/glib-2.0/glib/gvariant.h \ - /usr/include/glib-2.0/glib/gversion.h \ - /usr/include/glib-2.0/glib/deprecated/gallocator.h \ - /usr/include/glib-2.0/glib/deprecated/gcache.h \ - /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ - /usr/include/glib-2.0/glib/deprecated/gmain.h \ - /usr/include/glib-2.0/glib/deprecated/grel.h \ - /usr/include/glib-2.0/glib/deprecated/gthread.h \ - /usr/include/arm-linux-gnueabihf/sys/types.h \ - /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h /usr/include/pthread.h \ - /usr/include/sched.h /usr/include/arm-linux-gnueabihf/bits/sched.h \ - /usr/include/arm-linux-gnueabihf/bits/setjmp.h \ - /usr/include/dbus-1.0/dbus/dbus.h \ - /usr/lib/arm-linux-gnueabihf/dbus-1.0/include/dbus/dbus-arch-deps.h \ - /usr/include/dbus-1.0/dbus/dbus-macros.h \ - /usr/include/dbus-1.0/dbus/dbus-address.h \ - /usr/include/dbus-1.0/dbus/dbus-types.h \ - /usr/include/dbus-1.0/dbus/dbus-errors.h \ - /usr/include/dbus-1.0/dbus/dbus-protocol.h \ - /usr/include/dbus-1.0/dbus/dbus-bus.h \ - /usr/include/dbus-1.0/dbus/dbus-connection.h \ - /usr/include/dbus-1.0/dbus/dbus-memory.h \ - /usr/include/dbus-1.0/dbus/dbus-message.h \ - /usr/include/dbus-1.0/dbus/dbus-shared.h \ - /usr/include/dbus-1.0/dbus/dbus-misc.h \ - /usr/include/dbus-1.0/dbus/dbus-pending-call.h \ - /usr/include/dbus-1.0/dbus/dbus-server.h \ - /usr/include/dbus-1.0/dbus/dbus-signature.h \ - /usr/include/dbus-1.0/dbus/dbus-syntax.h \ - /usr/include/dbus-1.0/dbus/dbus-threads.h gdbus/gdbus.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/include/glib-2.0/glib.h: - -/usr/include/glib-2.0/glib/galloca.h: - -/usr/include/glib-2.0/glib/gtypes.h: - -/usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h: - -/usr/include/glib-2.0/glib/gmacros.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h: - -/usr/include/limits.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/local_lim.h: - -/usr/include/linux/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix2_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/xopen_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h: - -/usr/include/glib-2.0/glib/gversionmacros.h: - -/usr/include/time.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/arm-linux-gnueabihf/bits/timex.h: - -/usr/include/xlocale.h: - -/usr/include/glib-2.0/glib/garray.h: - -/usr/include/glib-2.0/glib/gasyncqueue.h: - -/usr/include/glib-2.0/glib/gthread.h: - -/usr/include/glib-2.0/glib/gatomic.h: - -/usr/include/glib-2.0/glib/gerror.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/glib-2.0/glib/gquark.h: - -/usr/include/glib-2.0/glib/gbacktrace.h: - -/usr/include/signal.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/signum.h: - -/usr/include/arm-linux-gnueabihf/bits/siginfo.h: - -/usr/include/arm-linux-gnueabihf/bits/sigaction.h: - -/usr/include/arm-linux-gnueabihf/bits/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/asm/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigstack.h: - -/usr/include/arm-linux-gnueabihf/sys/ucontext.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/arm-linux-gnueabihf/bits/sigthread.h: - -/usr/include/glib-2.0/glib/gbase64.h: - -/usr/include/glib-2.0/glib/gbitlock.h: - -/usr/include/glib-2.0/glib/gbookmarkfile.h: - -/usr/include/glib-2.0/glib/gbytes.h: - -/usr/include/glib-2.0/glib/gcharset.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/gconvert.h: - -/usr/include/glib-2.0/glib/gdataset.h: - -/usr/include/glib-2.0/glib/gdate.h: - -/usr/include/glib-2.0/glib/gdatetime.h: - -/usr/include/glib-2.0/glib/gtimezone.h: - -/usr/include/glib-2.0/glib/gdir.h: - -/usr/include/dirent.h: - -/usr/include/arm-linux-gnueabihf/bits/dirent.h: - -/usr/include/glib-2.0/glib/genviron.h: - -/usr/include/glib-2.0/glib/gfileutils.h: - -/usr/include/glib-2.0/glib/ggettext.h: - -/usr/include/glib-2.0/glib/ghash.h: - -/usr/include/glib-2.0/glib/glist.h: - -/usr/include/glib-2.0/glib/gmem.h: - -/usr/include/glib-2.0/glib/gnode.h: - -/usr/include/glib-2.0/glib/ghmac.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/ghook.h: - -/usr/include/glib-2.0/glib/ghostutils.h: - -/usr/include/glib-2.0/glib/giochannel.h: - -/usr/include/glib-2.0/glib/gmain.h: - -/usr/include/glib-2.0/glib/gpoll.h: - -/usr/include/glib-2.0/glib/gslist.h: - -/usr/include/glib-2.0/glib/gstring.h: - -/usr/include/glib-2.0/glib/gunicode.h: - -/usr/include/glib-2.0/glib/gutils.h: - -/usr/include/glib-2.0/glib/gkeyfile.h: - -/usr/include/glib-2.0/glib/gmappedfile.h: - -/usr/include/glib-2.0/glib/gmarkup.h: - -/usr/include/glib-2.0/glib/gmessages.h: - -/usr/include/glib-2.0/glib/goption.h: - -/usr/include/glib-2.0/glib/gpattern.h: - -/usr/include/glib-2.0/glib/gprimes.h: - -/usr/include/glib-2.0/glib/gqsort.h: - -/usr/include/glib-2.0/glib/gqueue.h: - -/usr/include/glib-2.0/glib/grand.h: - -/usr/include/glib-2.0/glib/gregex.h: - -/usr/include/glib-2.0/glib/gscanner.h: - -/usr/include/glib-2.0/glib/gsequence.h: - -/usr/include/glib-2.0/glib/gshell.h: - -/usr/include/glib-2.0/glib/gslice.h: - -/usr/include/glib-2.0/glib/gspawn.h: - -/usr/include/glib-2.0/glib/gstrfuncs.h: - -/usr/include/glib-2.0/glib/gstringchunk.h: - -/usr/include/glib-2.0/glib/gtestutils.h: - -/usr/include/glib-2.0/glib/gthreadpool.h: - -/usr/include/glib-2.0/glib/gtimer.h: - -/usr/include/glib-2.0/glib/gtrashstack.h: - -/usr/include/glib-2.0/glib/gtree.h: - -/usr/include/glib-2.0/glib/gurifuncs.h: - -/usr/include/glib-2.0/glib/gvarianttype.h: - -/usr/include/glib-2.0/glib/gvariant.h: - -/usr/include/glib-2.0/glib/gversion.h: - -/usr/include/glib-2.0/glib/deprecated/gallocator.h: - -/usr/include/glib-2.0/glib/deprecated/gcache.h: - -/usr/include/glib-2.0/glib/deprecated/gcompletion.h: - -/usr/include/glib-2.0/glib/deprecated/gmain.h: - -/usr/include/glib-2.0/glib/deprecated/grel.h: - -/usr/include/glib-2.0/glib/deprecated/gthread.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/pthread.h: - -/usr/include/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/setjmp.h: - -/usr/include/dbus-1.0/dbus/dbus.h: - -/usr/lib/arm-linux-gnueabihf/dbus-1.0/include/dbus/dbus-arch-deps.h: - -/usr/include/dbus-1.0/dbus/dbus-macros.h: - -/usr/include/dbus-1.0/dbus/dbus-address.h: - -/usr/include/dbus-1.0/dbus/dbus-types.h: - -/usr/include/dbus-1.0/dbus/dbus-errors.h: - -/usr/include/dbus-1.0/dbus/dbus-protocol.h: - -/usr/include/dbus-1.0/dbus/dbus-bus.h: - -/usr/include/dbus-1.0/dbus/dbus-connection.h: - -/usr/include/dbus-1.0/dbus/dbus-memory.h: - -/usr/include/dbus-1.0/dbus/dbus-message.h: - -/usr/include/dbus-1.0/dbus/dbus-shared.h: - -/usr/include/dbus-1.0/dbus/dbus-misc.h: - -/usr/include/dbus-1.0/dbus/dbus-pending-call.h: - -/usr/include/dbus-1.0/dbus/dbus-server.h: - -/usr/include/dbus-1.0/dbus/dbus-signature.h: - -/usr/include/dbus-1.0/dbus/dbus-syntax.h: - -/usr/include/dbus-1.0/dbus/dbus-threads.h: - -gdbus/gdbus.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/gdbus/.deps/obexd-mainloop.Po b/GRIB_BLE_HUB/libs/ble_extend/gdbus/.deps/obexd-mainloop.Po deleted file mode 100644 index f9513c7..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/gdbus/.deps/obexd-mainloop.Po +++ /dev/null @@ -1,413 +0,0 @@ -gdbus/obexd-mainloop.o: gdbus/mainloop.c /usr/include/stdc-predef.h \ - config.h /usr/include/glib-2.0/glib.h \ - /usr/include/glib-2.0/glib/galloca.h /usr/include/glib-2.0/glib/gtypes.h \ - /usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h \ - /usr/include/glib-2.0/glib/gmacros.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h \ - /usr/include/limits.h /usr/include/features.h \ - /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/include/arm-linux-gnueabihf/bits/posix1_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/local_lim.h \ - /usr/include/linux/limits.h \ - /usr/include/arm-linux-gnueabihf/bits/posix2_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/xopen_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h \ - /usr/include/glib-2.0/glib/gversionmacros.h /usr/include/time.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h \ - /usr/include/arm-linux-gnueabihf/bits/timex.h /usr/include/xlocale.h \ - /usr/include/glib-2.0/glib/garray.h \ - /usr/include/glib-2.0/glib/gasyncqueue.h \ - /usr/include/glib-2.0/glib/gthread.h \ - /usr/include/glib-2.0/glib/gatomic.h /usr/include/glib-2.0/glib/gerror.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/glib-2.0/glib/gquark.h \ - /usr/include/glib-2.0/glib/gbacktrace.h /usr/include/signal.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/signum.h \ - /usr/include/arm-linux-gnueabihf/bits/siginfo.h \ - /usr/include/arm-linux-gnueabihf/bits/sigaction.h \ - /usr/include/arm-linux-gnueabihf/bits/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/asm/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigstack.h \ - /usr/include/arm-linux-gnueabihf/sys/ucontext.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/endian.h /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/arm-linux-gnueabihf/bits/sigthread.h \ - /usr/include/glib-2.0/glib/gbase64.h \ - /usr/include/glib-2.0/glib/gbitlock.h \ - /usr/include/glib-2.0/glib/gbookmarkfile.h \ - /usr/include/glib-2.0/glib/gbytes.h \ - /usr/include/glib-2.0/glib/gcharset.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/gconvert.h \ - /usr/include/glib-2.0/glib/gdataset.h /usr/include/glib-2.0/glib/gdate.h \ - /usr/include/glib-2.0/glib/gdatetime.h \ - /usr/include/glib-2.0/glib/gtimezone.h /usr/include/glib-2.0/glib/gdir.h \ - /usr/include/dirent.h /usr/include/arm-linux-gnueabihf/bits/dirent.h \ - /usr/include/glib-2.0/glib/genviron.h \ - /usr/include/glib-2.0/glib/gfileutils.h \ - /usr/include/glib-2.0/glib/ggettext.h /usr/include/glib-2.0/glib/ghash.h \ - /usr/include/glib-2.0/glib/glist.h /usr/include/glib-2.0/glib/gmem.h \ - /usr/include/glib-2.0/glib/gnode.h /usr/include/glib-2.0/glib/ghmac.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/ghook.h \ - /usr/include/glib-2.0/glib/ghostutils.h \ - /usr/include/glib-2.0/glib/giochannel.h \ - /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gpoll.h \ - /usr/include/glib-2.0/glib/gslist.h /usr/include/glib-2.0/glib/gstring.h \ - /usr/include/glib-2.0/glib/gunicode.h \ - /usr/include/glib-2.0/glib/gutils.h \ - /usr/include/glib-2.0/glib/gkeyfile.h \ - /usr/include/glib-2.0/glib/gmappedfile.h \ - /usr/include/glib-2.0/glib/gmarkup.h \ - /usr/include/glib-2.0/glib/gmessages.h \ - /usr/include/glib-2.0/glib/goption.h \ - /usr/include/glib-2.0/glib/gpattern.h \ - /usr/include/glib-2.0/glib/gprimes.h /usr/include/glib-2.0/glib/gqsort.h \ - /usr/include/glib-2.0/glib/gqueue.h /usr/include/glib-2.0/glib/grand.h \ - /usr/include/glib-2.0/glib/gregex.h \ - /usr/include/glib-2.0/glib/gscanner.h \ - /usr/include/glib-2.0/glib/gsequence.h \ - /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gslice.h \ - /usr/include/glib-2.0/glib/gspawn.h \ - /usr/include/glib-2.0/glib/gstrfuncs.h \ - /usr/include/glib-2.0/glib/gstringchunk.h \ - /usr/include/glib-2.0/glib/gtestutils.h \ - /usr/include/glib-2.0/glib/gthreadpool.h \ - /usr/include/glib-2.0/glib/gtimer.h \ - /usr/include/glib-2.0/glib/gtrashstack.h \ - /usr/include/glib-2.0/glib/gtree.h \ - /usr/include/glib-2.0/glib/gurifuncs.h \ - /usr/include/glib-2.0/glib/gvarianttype.h \ - /usr/include/glib-2.0/glib/gvariant.h \ - /usr/include/glib-2.0/glib/gversion.h \ - /usr/include/glib-2.0/glib/deprecated/gallocator.h \ - /usr/include/glib-2.0/glib/deprecated/gcache.h \ - /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ - /usr/include/glib-2.0/glib/deprecated/gmain.h \ - /usr/include/glib-2.0/glib/deprecated/grel.h \ - /usr/include/glib-2.0/glib/deprecated/gthread.h \ - /usr/include/arm-linux-gnueabihf/sys/types.h \ - /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h /usr/include/pthread.h \ - /usr/include/sched.h /usr/include/arm-linux-gnueabihf/bits/sched.h \ - /usr/include/arm-linux-gnueabihf/bits/setjmp.h \ - /usr/include/dbus-1.0/dbus/dbus.h \ - /usr/lib/arm-linux-gnueabihf/dbus-1.0/include/dbus/dbus-arch-deps.h \ - /usr/include/dbus-1.0/dbus/dbus-macros.h \ - /usr/include/dbus-1.0/dbus/dbus-address.h \ - /usr/include/dbus-1.0/dbus/dbus-types.h \ - /usr/include/dbus-1.0/dbus/dbus-errors.h \ - /usr/include/dbus-1.0/dbus/dbus-protocol.h \ - /usr/include/dbus-1.0/dbus/dbus-bus.h \ - /usr/include/dbus-1.0/dbus/dbus-connection.h \ - /usr/include/dbus-1.0/dbus/dbus-memory.h \ - /usr/include/dbus-1.0/dbus/dbus-message.h \ - /usr/include/dbus-1.0/dbus/dbus-shared.h \ - /usr/include/dbus-1.0/dbus/dbus-misc.h \ - /usr/include/dbus-1.0/dbus/dbus-pending-call.h \ - /usr/include/dbus-1.0/dbus/dbus-server.h \ - /usr/include/dbus-1.0/dbus/dbus-signature.h \ - /usr/include/dbus-1.0/dbus/dbus-syntax.h \ - /usr/include/dbus-1.0/dbus/dbus-threads.h gdbus/gdbus.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/include/glib-2.0/glib.h: - -/usr/include/glib-2.0/glib/galloca.h: - -/usr/include/glib-2.0/glib/gtypes.h: - -/usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h: - -/usr/include/glib-2.0/glib/gmacros.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h: - -/usr/include/limits.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/local_lim.h: - -/usr/include/linux/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix2_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/xopen_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h: - -/usr/include/glib-2.0/glib/gversionmacros.h: - -/usr/include/time.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/arm-linux-gnueabihf/bits/timex.h: - -/usr/include/xlocale.h: - -/usr/include/glib-2.0/glib/garray.h: - -/usr/include/glib-2.0/glib/gasyncqueue.h: - -/usr/include/glib-2.0/glib/gthread.h: - -/usr/include/glib-2.0/glib/gatomic.h: - -/usr/include/glib-2.0/glib/gerror.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/glib-2.0/glib/gquark.h: - -/usr/include/glib-2.0/glib/gbacktrace.h: - -/usr/include/signal.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/signum.h: - -/usr/include/arm-linux-gnueabihf/bits/siginfo.h: - -/usr/include/arm-linux-gnueabihf/bits/sigaction.h: - -/usr/include/arm-linux-gnueabihf/bits/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/asm/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigstack.h: - -/usr/include/arm-linux-gnueabihf/sys/ucontext.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/arm-linux-gnueabihf/bits/sigthread.h: - -/usr/include/glib-2.0/glib/gbase64.h: - -/usr/include/glib-2.0/glib/gbitlock.h: - -/usr/include/glib-2.0/glib/gbookmarkfile.h: - -/usr/include/glib-2.0/glib/gbytes.h: - -/usr/include/glib-2.0/glib/gcharset.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/gconvert.h: - -/usr/include/glib-2.0/glib/gdataset.h: - -/usr/include/glib-2.0/glib/gdate.h: - -/usr/include/glib-2.0/glib/gdatetime.h: - -/usr/include/glib-2.0/glib/gtimezone.h: - -/usr/include/glib-2.0/glib/gdir.h: - -/usr/include/dirent.h: - -/usr/include/arm-linux-gnueabihf/bits/dirent.h: - -/usr/include/glib-2.0/glib/genviron.h: - -/usr/include/glib-2.0/glib/gfileutils.h: - -/usr/include/glib-2.0/glib/ggettext.h: - -/usr/include/glib-2.0/glib/ghash.h: - -/usr/include/glib-2.0/glib/glist.h: - -/usr/include/glib-2.0/glib/gmem.h: - -/usr/include/glib-2.0/glib/gnode.h: - -/usr/include/glib-2.0/glib/ghmac.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/ghook.h: - -/usr/include/glib-2.0/glib/ghostutils.h: - -/usr/include/glib-2.0/glib/giochannel.h: - -/usr/include/glib-2.0/glib/gmain.h: - -/usr/include/glib-2.0/glib/gpoll.h: - -/usr/include/glib-2.0/glib/gslist.h: - -/usr/include/glib-2.0/glib/gstring.h: - -/usr/include/glib-2.0/glib/gunicode.h: - -/usr/include/glib-2.0/glib/gutils.h: - -/usr/include/glib-2.0/glib/gkeyfile.h: - -/usr/include/glib-2.0/glib/gmappedfile.h: - -/usr/include/glib-2.0/glib/gmarkup.h: - -/usr/include/glib-2.0/glib/gmessages.h: - -/usr/include/glib-2.0/glib/goption.h: - -/usr/include/glib-2.0/glib/gpattern.h: - -/usr/include/glib-2.0/glib/gprimes.h: - -/usr/include/glib-2.0/glib/gqsort.h: - -/usr/include/glib-2.0/glib/gqueue.h: - -/usr/include/glib-2.0/glib/grand.h: - -/usr/include/glib-2.0/glib/gregex.h: - -/usr/include/glib-2.0/glib/gscanner.h: - -/usr/include/glib-2.0/glib/gsequence.h: - -/usr/include/glib-2.0/glib/gshell.h: - -/usr/include/glib-2.0/glib/gslice.h: - -/usr/include/glib-2.0/glib/gspawn.h: - -/usr/include/glib-2.0/glib/gstrfuncs.h: - -/usr/include/glib-2.0/glib/gstringchunk.h: - -/usr/include/glib-2.0/glib/gtestutils.h: - -/usr/include/glib-2.0/glib/gthreadpool.h: - -/usr/include/glib-2.0/glib/gtimer.h: - -/usr/include/glib-2.0/glib/gtrashstack.h: - -/usr/include/glib-2.0/glib/gtree.h: - -/usr/include/glib-2.0/glib/gurifuncs.h: - -/usr/include/glib-2.0/glib/gvarianttype.h: - -/usr/include/glib-2.0/glib/gvariant.h: - -/usr/include/glib-2.0/glib/gversion.h: - -/usr/include/glib-2.0/glib/deprecated/gallocator.h: - -/usr/include/glib-2.0/glib/deprecated/gcache.h: - -/usr/include/glib-2.0/glib/deprecated/gcompletion.h: - -/usr/include/glib-2.0/glib/deprecated/gmain.h: - -/usr/include/glib-2.0/glib/deprecated/grel.h: - -/usr/include/glib-2.0/glib/deprecated/gthread.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/pthread.h: - -/usr/include/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/setjmp.h: - -/usr/include/dbus-1.0/dbus/dbus.h: - -/usr/lib/arm-linux-gnueabihf/dbus-1.0/include/dbus/dbus-arch-deps.h: - -/usr/include/dbus-1.0/dbus/dbus-macros.h: - -/usr/include/dbus-1.0/dbus/dbus-address.h: - -/usr/include/dbus-1.0/dbus/dbus-types.h: - -/usr/include/dbus-1.0/dbus/dbus-errors.h: - -/usr/include/dbus-1.0/dbus/dbus-protocol.h: - -/usr/include/dbus-1.0/dbus/dbus-bus.h: - -/usr/include/dbus-1.0/dbus/dbus-connection.h: - -/usr/include/dbus-1.0/dbus/dbus-memory.h: - -/usr/include/dbus-1.0/dbus/dbus-message.h: - -/usr/include/dbus-1.0/dbus/dbus-shared.h: - -/usr/include/dbus-1.0/dbus/dbus-misc.h: - -/usr/include/dbus-1.0/dbus/dbus-pending-call.h: - -/usr/include/dbus-1.0/dbus/dbus-server.h: - -/usr/include/dbus-1.0/dbus/dbus-signature.h: - -/usr/include/dbus-1.0/dbus/dbus-syntax.h: - -/usr/include/dbus-1.0/dbus/dbus-threads.h: - -gdbus/gdbus.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/gdbus/.deps/obexd-object.Po b/GRIB_BLE_HUB/libs/ble_extend/gdbus/.deps/obexd-object.Po deleted file mode 100644 index 6141850..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/gdbus/.deps/obexd-object.Po +++ /dev/null @@ -1,438 +0,0 @@ -gdbus/obexd-object.o: gdbus/object.c /usr/include/stdc-predef.h config.h \ - /usr/include/stdio.h /usr/include/features.h \ - /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/sys_errlist.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio.h /usr/include/string.h \ - /usr/include/xlocale.h /usr/include/arm-linux-gnueabihf/bits/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string2.h /usr/include/stdlib.h \ - /usr/include/glib-2.0/glib.h /usr/include/glib-2.0/glib/galloca.h \ - /usr/include/glib-2.0/glib/gtypes.h \ - /usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h \ - /usr/include/glib-2.0/glib/gmacros.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h \ - /usr/include/limits.h /usr/include/arm-linux-gnueabihf/bits/posix1_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/local_lim.h \ - /usr/include/linux/limits.h \ - /usr/include/arm-linux-gnueabihf/bits/posix2_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/xopen_lim.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h \ - /usr/include/glib-2.0/glib/gversionmacros.h /usr/include/time.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/bits/timex.h \ - /usr/include/glib-2.0/glib/garray.h \ - /usr/include/glib-2.0/glib/gasyncqueue.h \ - /usr/include/glib-2.0/glib/gthread.h \ - /usr/include/glib-2.0/glib/gatomic.h /usr/include/glib-2.0/glib/gerror.h \ - /usr/include/glib-2.0/glib/gquark.h \ - /usr/include/glib-2.0/glib/gbacktrace.h /usr/include/signal.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/signum.h \ - /usr/include/arm-linux-gnueabihf/bits/siginfo.h \ - /usr/include/arm-linux-gnueabihf/bits/sigaction.h \ - /usr/include/arm-linux-gnueabihf/bits/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/asm/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigstack.h \ - /usr/include/arm-linux-gnueabihf/sys/ucontext.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/endian.h /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/arm-linux-gnueabihf/bits/sigthread.h \ - /usr/include/glib-2.0/glib/gbase64.h \ - /usr/include/glib-2.0/glib/gbitlock.h \ - /usr/include/glib-2.0/glib/gbookmarkfile.h \ - /usr/include/glib-2.0/glib/gbytes.h \ - /usr/include/glib-2.0/glib/gcharset.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/gconvert.h \ - /usr/include/glib-2.0/glib/gdataset.h /usr/include/glib-2.0/glib/gdate.h \ - /usr/include/glib-2.0/glib/gdatetime.h \ - /usr/include/glib-2.0/glib/gtimezone.h /usr/include/glib-2.0/glib/gdir.h \ - /usr/include/dirent.h /usr/include/arm-linux-gnueabihf/bits/dirent.h \ - /usr/include/glib-2.0/glib/genviron.h \ - /usr/include/glib-2.0/glib/gfileutils.h \ - /usr/include/glib-2.0/glib/ggettext.h /usr/include/glib-2.0/glib/ghash.h \ - /usr/include/glib-2.0/glib/glist.h /usr/include/glib-2.0/glib/gmem.h \ - /usr/include/glib-2.0/glib/gnode.h /usr/include/glib-2.0/glib/ghmac.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/ghook.h \ - /usr/include/glib-2.0/glib/ghostutils.h \ - /usr/include/glib-2.0/glib/giochannel.h \ - /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gpoll.h \ - /usr/include/glib-2.0/glib/gslist.h /usr/include/glib-2.0/glib/gstring.h \ - /usr/include/glib-2.0/glib/gunicode.h \ - /usr/include/glib-2.0/glib/gutils.h \ - /usr/include/glib-2.0/glib/gkeyfile.h \ - /usr/include/glib-2.0/glib/gmappedfile.h \ - /usr/include/glib-2.0/glib/gmarkup.h \ - /usr/include/glib-2.0/glib/gmessages.h \ - /usr/include/glib-2.0/glib/goption.h \ - /usr/include/glib-2.0/glib/gpattern.h \ - /usr/include/glib-2.0/glib/gprimes.h /usr/include/glib-2.0/glib/gqsort.h \ - /usr/include/glib-2.0/glib/gqueue.h /usr/include/glib-2.0/glib/grand.h \ - /usr/include/glib-2.0/glib/gregex.h \ - /usr/include/glib-2.0/glib/gscanner.h \ - /usr/include/glib-2.0/glib/gsequence.h \ - /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gslice.h \ - /usr/include/glib-2.0/glib/gspawn.h \ - /usr/include/glib-2.0/glib/gstrfuncs.h \ - /usr/include/glib-2.0/glib/gstringchunk.h \ - /usr/include/glib-2.0/glib/gtestutils.h \ - /usr/include/glib-2.0/glib/gthreadpool.h \ - /usr/include/glib-2.0/glib/gtimer.h \ - /usr/include/glib-2.0/glib/gtrashstack.h \ - /usr/include/glib-2.0/glib/gtree.h \ - /usr/include/glib-2.0/glib/gurifuncs.h \ - /usr/include/glib-2.0/glib/gvarianttype.h \ - /usr/include/glib-2.0/glib/gvariant.h \ - /usr/include/glib-2.0/glib/gversion.h \ - /usr/include/glib-2.0/glib/deprecated/gallocator.h \ - /usr/include/glib-2.0/glib/deprecated/gcache.h \ - /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ - /usr/include/glib-2.0/glib/deprecated/gmain.h \ - /usr/include/glib-2.0/glib/deprecated/grel.h \ - /usr/include/glib-2.0/glib/deprecated/gthread.h \ - /usr/include/arm-linux-gnueabihf/sys/types.h \ - /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h /usr/include/pthread.h \ - /usr/include/sched.h /usr/include/arm-linux-gnueabihf/bits/sched.h \ - /usr/include/arm-linux-gnueabihf/bits/setjmp.h \ - /usr/include/dbus-1.0/dbus/dbus.h \ - /usr/lib/arm-linux-gnueabihf/dbus-1.0/include/dbus/dbus-arch-deps.h \ - /usr/include/dbus-1.0/dbus/dbus-macros.h \ - /usr/include/dbus-1.0/dbus/dbus-address.h \ - /usr/include/dbus-1.0/dbus/dbus-types.h \ - /usr/include/dbus-1.0/dbus/dbus-errors.h \ - /usr/include/dbus-1.0/dbus/dbus-protocol.h \ - /usr/include/dbus-1.0/dbus/dbus-bus.h \ - /usr/include/dbus-1.0/dbus/dbus-connection.h \ - /usr/include/dbus-1.0/dbus/dbus-memory.h \ - /usr/include/dbus-1.0/dbus/dbus-message.h \ - /usr/include/dbus-1.0/dbus/dbus-shared.h \ - /usr/include/dbus-1.0/dbus/dbus-misc.h \ - /usr/include/dbus-1.0/dbus/dbus-pending-call.h \ - /usr/include/dbus-1.0/dbus/dbus-server.h \ - /usr/include/dbus-1.0/dbus/dbus-signature.h \ - /usr/include/dbus-1.0/dbus/dbus-syntax.h \ - /usr/include/dbus-1.0/dbus/dbus-threads.h gdbus/gdbus.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/include/stdio.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/sys_errlist.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio.h: - -/usr/include/string.h: - -/usr/include/xlocale.h: - -/usr/include/arm-linux-gnueabihf/bits/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string2.h: - -/usr/include/stdlib.h: - -/usr/include/glib-2.0/glib.h: - -/usr/include/glib-2.0/glib/galloca.h: - -/usr/include/glib-2.0/glib/gtypes.h: - -/usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h: - -/usr/include/glib-2.0/glib/gmacros.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h: - -/usr/include/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/local_lim.h: - -/usr/include/linux/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix2_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/xopen_lim.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h: - -/usr/include/glib-2.0/glib/gversionmacros.h: - -/usr/include/time.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/bits/timex.h: - -/usr/include/glib-2.0/glib/garray.h: - -/usr/include/glib-2.0/glib/gasyncqueue.h: - -/usr/include/glib-2.0/glib/gthread.h: - -/usr/include/glib-2.0/glib/gatomic.h: - -/usr/include/glib-2.0/glib/gerror.h: - -/usr/include/glib-2.0/glib/gquark.h: - -/usr/include/glib-2.0/glib/gbacktrace.h: - -/usr/include/signal.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/signum.h: - -/usr/include/arm-linux-gnueabihf/bits/siginfo.h: - -/usr/include/arm-linux-gnueabihf/bits/sigaction.h: - -/usr/include/arm-linux-gnueabihf/bits/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/asm/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigstack.h: - -/usr/include/arm-linux-gnueabihf/sys/ucontext.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/arm-linux-gnueabihf/bits/sigthread.h: - -/usr/include/glib-2.0/glib/gbase64.h: - -/usr/include/glib-2.0/glib/gbitlock.h: - -/usr/include/glib-2.0/glib/gbookmarkfile.h: - -/usr/include/glib-2.0/glib/gbytes.h: - -/usr/include/glib-2.0/glib/gcharset.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/gconvert.h: - -/usr/include/glib-2.0/glib/gdataset.h: - -/usr/include/glib-2.0/glib/gdate.h: - -/usr/include/glib-2.0/glib/gdatetime.h: - -/usr/include/glib-2.0/glib/gtimezone.h: - -/usr/include/glib-2.0/glib/gdir.h: - -/usr/include/dirent.h: - -/usr/include/arm-linux-gnueabihf/bits/dirent.h: - -/usr/include/glib-2.0/glib/genviron.h: - -/usr/include/glib-2.0/glib/gfileutils.h: - -/usr/include/glib-2.0/glib/ggettext.h: - -/usr/include/glib-2.0/glib/ghash.h: - -/usr/include/glib-2.0/glib/glist.h: - -/usr/include/glib-2.0/glib/gmem.h: - -/usr/include/glib-2.0/glib/gnode.h: - -/usr/include/glib-2.0/glib/ghmac.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/ghook.h: - -/usr/include/glib-2.0/glib/ghostutils.h: - -/usr/include/glib-2.0/glib/giochannel.h: - -/usr/include/glib-2.0/glib/gmain.h: - -/usr/include/glib-2.0/glib/gpoll.h: - -/usr/include/glib-2.0/glib/gslist.h: - -/usr/include/glib-2.0/glib/gstring.h: - -/usr/include/glib-2.0/glib/gunicode.h: - -/usr/include/glib-2.0/glib/gutils.h: - -/usr/include/glib-2.0/glib/gkeyfile.h: - -/usr/include/glib-2.0/glib/gmappedfile.h: - -/usr/include/glib-2.0/glib/gmarkup.h: - -/usr/include/glib-2.0/glib/gmessages.h: - -/usr/include/glib-2.0/glib/goption.h: - -/usr/include/glib-2.0/glib/gpattern.h: - -/usr/include/glib-2.0/glib/gprimes.h: - -/usr/include/glib-2.0/glib/gqsort.h: - -/usr/include/glib-2.0/glib/gqueue.h: - -/usr/include/glib-2.0/glib/grand.h: - -/usr/include/glib-2.0/glib/gregex.h: - -/usr/include/glib-2.0/glib/gscanner.h: - -/usr/include/glib-2.0/glib/gsequence.h: - -/usr/include/glib-2.0/glib/gshell.h: - -/usr/include/glib-2.0/glib/gslice.h: - -/usr/include/glib-2.0/glib/gspawn.h: - -/usr/include/glib-2.0/glib/gstrfuncs.h: - -/usr/include/glib-2.0/glib/gstringchunk.h: - -/usr/include/glib-2.0/glib/gtestutils.h: - -/usr/include/glib-2.0/glib/gthreadpool.h: - -/usr/include/glib-2.0/glib/gtimer.h: - -/usr/include/glib-2.0/glib/gtrashstack.h: - -/usr/include/glib-2.0/glib/gtree.h: - -/usr/include/glib-2.0/glib/gurifuncs.h: - -/usr/include/glib-2.0/glib/gvarianttype.h: - -/usr/include/glib-2.0/glib/gvariant.h: - -/usr/include/glib-2.0/glib/gversion.h: - -/usr/include/glib-2.0/glib/deprecated/gallocator.h: - -/usr/include/glib-2.0/glib/deprecated/gcache.h: - -/usr/include/glib-2.0/glib/deprecated/gcompletion.h: - -/usr/include/glib-2.0/glib/deprecated/gmain.h: - -/usr/include/glib-2.0/glib/deprecated/grel.h: - -/usr/include/glib-2.0/glib/deprecated/gthread.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/pthread.h: - -/usr/include/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/setjmp.h: - -/usr/include/dbus-1.0/dbus/dbus.h: - -/usr/lib/arm-linux-gnueabihf/dbus-1.0/include/dbus/dbus-arch-deps.h: - -/usr/include/dbus-1.0/dbus/dbus-macros.h: - -/usr/include/dbus-1.0/dbus/dbus-address.h: - -/usr/include/dbus-1.0/dbus/dbus-types.h: - -/usr/include/dbus-1.0/dbus/dbus-errors.h: - -/usr/include/dbus-1.0/dbus/dbus-protocol.h: - -/usr/include/dbus-1.0/dbus/dbus-bus.h: - -/usr/include/dbus-1.0/dbus/dbus-connection.h: - -/usr/include/dbus-1.0/dbus/dbus-memory.h: - -/usr/include/dbus-1.0/dbus/dbus-message.h: - -/usr/include/dbus-1.0/dbus/dbus-shared.h: - -/usr/include/dbus-1.0/dbus/dbus-misc.h: - -/usr/include/dbus-1.0/dbus/dbus-pending-call.h: - -/usr/include/dbus-1.0/dbus/dbus-server.h: - -/usr/include/dbus-1.0/dbus/dbus-signature.h: - -/usr/include/dbus-1.0/dbus/dbus-syntax.h: - -/usr/include/dbus-1.0/dbus/dbus-threads.h: - -gdbus/gdbus.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/gdbus/.deps/obexd-polkit.Po b/GRIB_BLE_HUB/libs/ble_extend/gdbus/.deps/obexd-polkit.Po deleted file mode 100644 index 02f2a3c..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/gdbus/.deps/obexd-polkit.Po +++ /dev/null @@ -1,425 +0,0 @@ -gdbus/obexd-polkit.o: gdbus/polkit.c /usr/include/stdc-predef.h config.h \ - /usr/include/errno.h /usr/include/features.h \ - /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/include/arm-linux-gnueabihf/bits/errno.h /usr/include/linux/errno.h \ - /usr/include/arm-linux-gnueabihf/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/include/dbus-1.0/dbus/dbus.h \ - /usr/lib/arm-linux-gnueabihf/dbus-1.0/include/dbus/dbus-arch-deps.h \ - /usr/include/dbus-1.0/dbus/dbus-macros.h \ - /usr/include/dbus-1.0/dbus/dbus-address.h \ - /usr/include/dbus-1.0/dbus/dbus-types.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/include/dbus-1.0/dbus/dbus-errors.h \ - /usr/include/dbus-1.0/dbus/dbus-protocol.h \ - /usr/include/dbus-1.0/dbus/dbus-bus.h \ - /usr/include/dbus-1.0/dbus/dbus-connection.h \ - /usr/include/dbus-1.0/dbus/dbus-memory.h \ - /usr/include/dbus-1.0/dbus/dbus-message.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/dbus-1.0/dbus/dbus-shared.h \ - /usr/include/dbus-1.0/dbus/dbus-misc.h \ - /usr/include/dbus-1.0/dbus/dbus-pending-call.h \ - /usr/include/dbus-1.0/dbus/dbus-server.h \ - /usr/include/dbus-1.0/dbus/dbus-signature.h \ - /usr/include/dbus-1.0/dbus/dbus-syntax.h \ - /usr/include/dbus-1.0/dbus/dbus-threads.h /usr/include/glib-2.0/glib.h \ - /usr/include/glib-2.0/glib/galloca.h /usr/include/glib-2.0/glib/gtypes.h \ - /usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h \ - /usr/include/glib-2.0/glib/gmacros.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h \ - /usr/include/limits.h /usr/include/arm-linux-gnueabihf/bits/posix1_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/local_lim.h \ - /usr/include/linux/limits.h \ - /usr/include/arm-linux-gnueabihf/bits/posix2_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/xopen_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h \ - /usr/include/glib-2.0/glib/gversionmacros.h /usr/include/time.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h \ - /usr/include/arm-linux-gnueabihf/bits/timex.h /usr/include/xlocale.h \ - /usr/include/glib-2.0/glib/garray.h \ - /usr/include/glib-2.0/glib/gasyncqueue.h \ - /usr/include/glib-2.0/glib/gthread.h \ - /usr/include/glib-2.0/glib/gatomic.h /usr/include/glib-2.0/glib/gerror.h \ - /usr/include/glib-2.0/glib/gquark.h \ - /usr/include/glib-2.0/glib/gbacktrace.h /usr/include/signal.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/signum.h \ - /usr/include/arm-linux-gnueabihf/bits/siginfo.h \ - /usr/include/arm-linux-gnueabihf/bits/sigaction.h \ - /usr/include/arm-linux-gnueabihf/bits/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/asm/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigstack.h \ - /usr/include/arm-linux-gnueabihf/sys/ucontext.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/endian.h /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/arm-linux-gnueabihf/bits/sigthread.h \ - /usr/include/glib-2.0/glib/gbase64.h \ - /usr/include/glib-2.0/glib/gbitlock.h \ - /usr/include/glib-2.0/glib/gbookmarkfile.h \ - /usr/include/glib-2.0/glib/gbytes.h \ - /usr/include/glib-2.0/glib/gcharset.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/gconvert.h \ - /usr/include/glib-2.0/glib/gdataset.h /usr/include/glib-2.0/glib/gdate.h \ - /usr/include/glib-2.0/glib/gdatetime.h \ - /usr/include/glib-2.0/glib/gtimezone.h /usr/include/glib-2.0/glib/gdir.h \ - /usr/include/dirent.h /usr/include/arm-linux-gnueabihf/bits/dirent.h \ - /usr/include/glib-2.0/glib/genviron.h \ - /usr/include/glib-2.0/glib/gfileutils.h \ - /usr/include/glib-2.0/glib/ggettext.h /usr/include/glib-2.0/glib/ghash.h \ - /usr/include/glib-2.0/glib/glist.h /usr/include/glib-2.0/glib/gmem.h \ - /usr/include/glib-2.0/glib/gnode.h /usr/include/glib-2.0/glib/ghmac.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/ghook.h \ - /usr/include/glib-2.0/glib/ghostutils.h \ - /usr/include/glib-2.0/glib/giochannel.h \ - /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gpoll.h \ - /usr/include/glib-2.0/glib/gslist.h /usr/include/glib-2.0/glib/gstring.h \ - /usr/include/glib-2.0/glib/gunicode.h \ - /usr/include/glib-2.0/glib/gutils.h \ - /usr/include/glib-2.0/glib/gkeyfile.h \ - /usr/include/glib-2.0/glib/gmappedfile.h \ - /usr/include/glib-2.0/glib/gmarkup.h \ - /usr/include/glib-2.0/glib/gmessages.h \ - /usr/include/glib-2.0/glib/goption.h \ - /usr/include/glib-2.0/glib/gpattern.h \ - /usr/include/glib-2.0/glib/gprimes.h /usr/include/glib-2.0/glib/gqsort.h \ - /usr/include/glib-2.0/glib/gqueue.h /usr/include/glib-2.0/glib/grand.h \ - /usr/include/glib-2.0/glib/gregex.h \ - /usr/include/glib-2.0/glib/gscanner.h \ - /usr/include/glib-2.0/glib/gsequence.h \ - /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gslice.h \ - /usr/include/glib-2.0/glib/gspawn.h \ - /usr/include/glib-2.0/glib/gstrfuncs.h \ - /usr/include/glib-2.0/glib/gstringchunk.h \ - /usr/include/glib-2.0/glib/gtestutils.h \ - /usr/include/glib-2.0/glib/gthreadpool.h \ - /usr/include/glib-2.0/glib/gtimer.h \ - /usr/include/glib-2.0/glib/gtrashstack.h \ - /usr/include/glib-2.0/glib/gtree.h \ - /usr/include/glib-2.0/glib/gurifuncs.h \ - /usr/include/glib-2.0/glib/gvarianttype.h \ - /usr/include/glib-2.0/glib/gvariant.h \ - /usr/include/glib-2.0/glib/gversion.h \ - /usr/include/glib-2.0/glib/deprecated/gallocator.h \ - /usr/include/glib-2.0/glib/deprecated/gcache.h \ - /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ - /usr/include/glib-2.0/glib/deprecated/gmain.h \ - /usr/include/glib-2.0/glib/deprecated/grel.h \ - /usr/include/glib-2.0/glib/deprecated/gthread.h \ - /usr/include/arm-linux-gnueabihf/sys/types.h \ - /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h /usr/include/pthread.h \ - /usr/include/sched.h /usr/include/arm-linux-gnueabihf/bits/sched.h \ - /usr/include/arm-linux-gnueabihf/bits/setjmp.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/include/errno.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/include/arm-linux-gnueabihf/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/arm-linux-gnueabihf/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/include/dbus-1.0/dbus/dbus.h: - -/usr/lib/arm-linux-gnueabihf/dbus-1.0/include/dbus/dbus-arch-deps.h: - -/usr/include/dbus-1.0/dbus/dbus-macros.h: - -/usr/include/dbus-1.0/dbus/dbus-address.h: - -/usr/include/dbus-1.0/dbus/dbus-types.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/include/dbus-1.0/dbus/dbus-errors.h: - -/usr/include/dbus-1.0/dbus/dbus-protocol.h: - -/usr/include/dbus-1.0/dbus/dbus-bus.h: - -/usr/include/dbus-1.0/dbus/dbus-connection.h: - -/usr/include/dbus-1.0/dbus/dbus-memory.h: - -/usr/include/dbus-1.0/dbus/dbus-message.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/dbus-1.0/dbus/dbus-shared.h: - -/usr/include/dbus-1.0/dbus/dbus-misc.h: - -/usr/include/dbus-1.0/dbus/dbus-pending-call.h: - -/usr/include/dbus-1.0/dbus/dbus-server.h: - -/usr/include/dbus-1.0/dbus/dbus-signature.h: - -/usr/include/dbus-1.0/dbus/dbus-syntax.h: - -/usr/include/dbus-1.0/dbus/dbus-threads.h: - -/usr/include/glib-2.0/glib.h: - -/usr/include/glib-2.0/glib/galloca.h: - -/usr/include/glib-2.0/glib/gtypes.h: - -/usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h: - -/usr/include/glib-2.0/glib/gmacros.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h: - -/usr/include/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/local_lim.h: - -/usr/include/linux/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix2_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/xopen_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h: - -/usr/include/glib-2.0/glib/gversionmacros.h: - -/usr/include/time.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/arm-linux-gnueabihf/bits/timex.h: - -/usr/include/xlocale.h: - -/usr/include/glib-2.0/glib/garray.h: - -/usr/include/glib-2.0/glib/gasyncqueue.h: - -/usr/include/glib-2.0/glib/gthread.h: - -/usr/include/glib-2.0/glib/gatomic.h: - -/usr/include/glib-2.0/glib/gerror.h: - -/usr/include/glib-2.0/glib/gquark.h: - -/usr/include/glib-2.0/glib/gbacktrace.h: - -/usr/include/signal.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/signum.h: - -/usr/include/arm-linux-gnueabihf/bits/siginfo.h: - -/usr/include/arm-linux-gnueabihf/bits/sigaction.h: - -/usr/include/arm-linux-gnueabihf/bits/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/asm/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigstack.h: - -/usr/include/arm-linux-gnueabihf/sys/ucontext.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/arm-linux-gnueabihf/bits/sigthread.h: - -/usr/include/glib-2.0/glib/gbase64.h: - -/usr/include/glib-2.0/glib/gbitlock.h: - -/usr/include/glib-2.0/glib/gbookmarkfile.h: - -/usr/include/glib-2.0/glib/gbytes.h: - -/usr/include/glib-2.0/glib/gcharset.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/gconvert.h: - -/usr/include/glib-2.0/glib/gdataset.h: - -/usr/include/glib-2.0/glib/gdate.h: - -/usr/include/glib-2.0/glib/gdatetime.h: - -/usr/include/glib-2.0/glib/gtimezone.h: - -/usr/include/glib-2.0/glib/gdir.h: - -/usr/include/dirent.h: - -/usr/include/arm-linux-gnueabihf/bits/dirent.h: - -/usr/include/glib-2.0/glib/genviron.h: - -/usr/include/glib-2.0/glib/gfileutils.h: - -/usr/include/glib-2.0/glib/ggettext.h: - -/usr/include/glib-2.0/glib/ghash.h: - -/usr/include/glib-2.0/glib/glist.h: - -/usr/include/glib-2.0/glib/gmem.h: - -/usr/include/glib-2.0/glib/gnode.h: - -/usr/include/glib-2.0/glib/ghmac.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/ghook.h: - -/usr/include/glib-2.0/glib/ghostutils.h: - -/usr/include/glib-2.0/glib/giochannel.h: - -/usr/include/glib-2.0/glib/gmain.h: - -/usr/include/glib-2.0/glib/gpoll.h: - -/usr/include/glib-2.0/glib/gslist.h: - -/usr/include/glib-2.0/glib/gstring.h: - -/usr/include/glib-2.0/glib/gunicode.h: - -/usr/include/glib-2.0/glib/gutils.h: - -/usr/include/glib-2.0/glib/gkeyfile.h: - -/usr/include/glib-2.0/glib/gmappedfile.h: - -/usr/include/glib-2.0/glib/gmarkup.h: - -/usr/include/glib-2.0/glib/gmessages.h: - -/usr/include/glib-2.0/glib/goption.h: - -/usr/include/glib-2.0/glib/gpattern.h: - -/usr/include/glib-2.0/glib/gprimes.h: - -/usr/include/glib-2.0/glib/gqsort.h: - -/usr/include/glib-2.0/glib/gqueue.h: - -/usr/include/glib-2.0/glib/grand.h: - -/usr/include/glib-2.0/glib/gregex.h: - -/usr/include/glib-2.0/glib/gscanner.h: - -/usr/include/glib-2.0/glib/gsequence.h: - -/usr/include/glib-2.0/glib/gshell.h: - -/usr/include/glib-2.0/glib/gslice.h: - -/usr/include/glib-2.0/glib/gspawn.h: - -/usr/include/glib-2.0/glib/gstrfuncs.h: - -/usr/include/glib-2.0/glib/gstringchunk.h: - -/usr/include/glib-2.0/glib/gtestutils.h: - -/usr/include/glib-2.0/glib/gthreadpool.h: - -/usr/include/glib-2.0/glib/gtimer.h: - -/usr/include/glib-2.0/glib/gtrashstack.h: - -/usr/include/glib-2.0/glib/gtree.h: - -/usr/include/glib-2.0/glib/gurifuncs.h: - -/usr/include/glib-2.0/glib/gvarianttype.h: - -/usr/include/glib-2.0/glib/gvariant.h: - -/usr/include/glib-2.0/glib/gversion.h: - -/usr/include/glib-2.0/glib/deprecated/gallocator.h: - -/usr/include/glib-2.0/glib/deprecated/gcache.h: - -/usr/include/glib-2.0/glib/deprecated/gcompletion.h: - -/usr/include/glib-2.0/glib/deprecated/gmain.h: - -/usr/include/glib-2.0/glib/deprecated/grel.h: - -/usr/include/glib-2.0/glib/deprecated/gthread.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/pthread.h: - -/usr/include/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/setjmp.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/gdbus/.deps/obexd-watch.Po b/GRIB_BLE_HUB/libs/ble_extend/gdbus/.deps/obexd-watch.Po deleted file mode 100644 index 1cc40a1..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/gdbus/.deps/obexd-watch.Po +++ /dev/null @@ -1,438 +0,0 @@ -gdbus/obexd-watch.o: gdbus/watch.c /usr/include/stdc-predef.h config.h \ - /usr/include/stdio.h /usr/include/features.h \ - /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/sys_errlist.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio.h /usr/include/string.h \ - /usr/include/xlocale.h /usr/include/arm-linux-gnueabihf/bits/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string2.h /usr/include/stdlib.h \ - /usr/include/glib-2.0/glib.h /usr/include/glib-2.0/glib/galloca.h \ - /usr/include/glib-2.0/glib/gtypes.h \ - /usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h \ - /usr/include/glib-2.0/glib/gmacros.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h \ - /usr/include/limits.h /usr/include/arm-linux-gnueabihf/bits/posix1_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/local_lim.h \ - /usr/include/linux/limits.h \ - /usr/include/arm-linux-gnueabihf/bits/posix2_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/xopen_lim.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h \ - /usr/include/glib-2.0/glib/gversionmacros.h /usr/include/time.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/bits/timex.h \ - /usr/include/glib-2.0/glib/garray.h \ - /usr/include/glib-2.0/glib/gasyncqueue.h \ - /usr/include/glib-2.0/glib/gthread.h \ - /usr/include/glib-2.0/glib/gatomic.h /usr/include/glib-2.0/glib/gerror.h \ - /usr/include/glib-2.0/glib/gquark.h \ - /usr/include/glib-2.0/glib/gbacktrace.h /usr/include/signal.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/signum.h \ - /usr/include/arm-linux-gnueabihf/bits/siginfo.h \ - /usr/include/arm-linux-gnueabihf/bits/sigaction.h \ - /usr/include/arm-linux-gnueabihf/bits/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/asm/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigstack.h \ - /usr/include/arm-linux-gnueabihf/sys/ucontext.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/endian.h /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/arm-linux-gnueabihf/bits/sigthread.h \ - /usr/include/glib-2.0/glib/gbase64.h \ - /usr/include/glib-2.0/glib/gbitlock.h \ - /usr/include/glib-2.0/glib/gbookmarkfile.h \ - /usr/include/glib-2.0/glib/gbytes.h \ - /usr/include/glib-2.0/glib/gcharset.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/gconvert.h \ - /usr/include/glib-2.0/glib/gdataset.h /usr/include/glib-2.0/glib/gdate.h \ - /usr/include/glib-2.0/glib/gdatetime.h \ - /usr/include/glib-2.0/glib/gtimezone.h /usr/include/glib-2.0/glib/gdir.h \ - /usr/include/dirent.h /usr/include/arm-linux-gnueabihf/bits/dirent.h \ - /usr/include/glib-2.0/glib/genviron.h \ - /usr/include/glib-2.0/glib/gfileutils.h \ - /usr/include/glib-2.0/glib/ggettext.h /usr/include/glib-2.0/glib/ghash.h \ - /usr/include/glib-2.0/glib/glist.h /usr/include/glib-2.0/glib/gmem.h \ - /usr/include/glib-2.0/glib/gnode.h /usr/include/glib-2.0/glib/ghmac.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/ghook.h \ - /usr/include/glib-2.0/glib/ghostutils.h \ - /usr/include/glib-2.0/glib/giochannel.h \ - /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gpoll.h \ - /usr/include/glib-2.0/glib/gslist.h /usr/include/glib-2.0/glib/gstring.h \ - /usr/include/glib-2.0/glib/gunicode.h \ - /usr/include/glib-2.0/glib/gutils.h \ - /usr/include/glib-2.0/glib/gkeyfile.h \ - /usr/include/glib-2.0/glib/gmappedfile.h \ - /usr/include/glib-2.0/glib/gmarkup.h \ - /usr/include/glib-2.0/glib/gmessages.h \ - /usr/include/glib-2.0/glib/goption.h \ - /usr/include/glib-2.0/glib/gpattern.h \ - /usr/include/glib-2.0/glib/gprimes.h /usr/include/glib-2.0/glib/gqsort.h \ - /usr/include/glib-2.0/glib/gqueue.h /usr/include/glib-2.0/glib/grand.h \ - /usr/include/glib-2.0/glib/gregex.h \ - /usr/include/glib-2.0/glib/gscanner.h \ - /usr/include/glib-2.0/glib/gsequence.h \ - /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gslice.h \ - /usr/include/glib-2.0/glib/gspawn.h \ - /usr/include/glib-2.0/glib/gstrfuncs.h \ - /usr/include/glib-2.0/glib/gstringchunk.h \ - /usr/include/glib-2.0/glib/gtestutils.h \ - /usr/include/glib-2.0/glib/gthreadpool.h \ - /usr/include/glib-2.0/glib/gtimer.h \ - /usr/include/glib-2.0/glib/gtrashstack.h \ - /usr/include/glib-2.0/glib/gtree.h \ - /usr/include/glib-2.0/glib/gurifuncs.h \ - /usr/include/glib-2.0/glib/gvarianttype.h \ - /usr/include/glib-2.0/glib/gvariant.h \ - /usr/include/glib-2.0/glib/gversion.h \ - /usr/include/glib-2.0/glib/deprecated/gallocator.h \ - /usr/include/glib-2.0/glib/deprecated/gcache.h \ - /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ - /usr/include/glib-2.0/glib/deprecated/gmain.h \ - /usr/include/glib-2.0/glib/deprecated/grel.h \ - /usr/include/glib-2.0/glib/deprecated/gthread.h \ - /usr/include/arm-linux-gnueabihf/sys/types.h \ - /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h /usr/include/pthread.h \ - /usr/include/sched.h /usr/include/arm-linux-gnueabihf/bits/sched.h \ - /usr/include/arm-linux-gnueabihf/bits/setjmp.h \ - /usr/include/dbus-1.0/dbus/dbus.h \ - /usr/lib/arm-linux-gnueabihf/dbus-1.0/include/dbus/dbus-arch-deps.h \ - /usr/include/dbus-1.0/dbus/dbus-macros.h \ - /usr/include/dbus-1.0/dbus/dbus-address.h \ - /usr/include/dbus-1.0/dbus/dbus-types.h \ - /usr/include/dbus-1.0/dbus/dbus-errors.h \ - /usr/include/dbus-1.0/dbus/dbus-protocol.h \ - /usr/include/dbus-1.0/dbus/dbus-bus.h \ - /usr/include/dbus-1.0/dbus/dbus-connection.h \ - /usr/include/dbus-1.0/dbus/dbus-memory.h \ - /usr/include/dbus-1.0/dbus/dbus-message.h \ - /usr/include/dbus-1.0/dbus/dbus-shared.h \ - /usr/include/dbus-1.0/dbus/dbus-misc.h \ - /usr/include/dbus-1.0/dbus/dbus-pending-call.h \ - /usr/include/dbus-1.0/dbus/dbus-server.h \ - /usr/include/dbus-1.0/dbus/dbus-signature.h \ - /usr/include/dbus-1.0/dbus/dbus-syntax.h \ - /usr/include/dbus-1.0/dbus/dbus-threads.h gdbus/gdbus.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/include/stdio.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/sys_errlist.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio.h: - -/usr/include/string.h: - -/usr/include/xlocale.h: - -/usr/include/arm-linux-gnueabihf/bits/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string2.h: - -/usr/include/stdlib.h: - -/usr/include/glib-2.0/glib.h: - -/usr/include/glib-2.0/glib/galloca.h: - -/usr/include/glib-2.0/glib/gtypes.h: - -/usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h: - -/usr/include/glib-2.0/glib/gmacros.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h: - -/usr/include/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/local_lim.h: - -/usr/include/linux/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix2_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/xopen_lim.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h: - -/usr/include/glib-2.0/glib/gversionmacros.h: - -/usr/include/time.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/bits/timex.h: - -/usr/include/glib-2.0/glib/garray.h: - -/usr/include/glib-2.0/glib/gasyncqueue.h: - -/usr/include/glib-2.0/glib/gthread.h: - -/usr/include/glib-2.0/glib/gatomic.h: - -/usr/include/glib-2.0/glib/gerror.h: - -/usr/include/glib-2.0/glib/gquark.h: - -/usr/include/glib-2.0/glib/gbacktrace.h: - -/usr/include/signal.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/signum.h: - -/usr/include/arm-linux-gnueabihf/bits/siginfo.h: - -/usr/include/arm-linux-gnueabihf/bits/sigaction.h: - -/usr/include/arm-linux-gnueabihf/bits/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/asm/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigstack.h: - -/usr/include/arm-linux-gnueabihf/sys/ucontext.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/arm-linux-gnueabihf/bits/sigthread.h: - -/usr/include/glib-2.0/glib/gbase64.h: - -/usr/include/glib-2.0/glib/gbitlock.h: - -/usr/include/glib-2.0/glib/gbookmarkfile.h: - -/usr/include/glib-2.0/glib/gbytes.h: - -/usr/include/glib-2.0/glib/gcharset.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/gconvert.h: - -/usr/include/glib-2.0/glib/gdataset.h: - -/usr/include/glib-2.0/glib/gdate.h: - -/usr/include/glib-2.0/glib/gdatetime.h: - -/usr/include/glib-2.0/glib/gtimezone.h: - -/usr/include/glib-2.0/glib/gdir.h: - -/usr/include/dirent.h: - -/usr/include/arm-linux-gnueabihf/bits/dirent.h: - -/usr/include/glib-2.0/glib/genviron.h: - -/usr/include/glib-2.0/glib/gfileutils.h: - -/usr/include/glib-2.0/glib/ggettext.h: - -/usr/include/glib-2.0/glib/ghash.h: - -/usr/include/glib-2.0/glib/glist.h: - -/usr/include/glib-2.0/glib/gmem.h: - -/usr/include/glib-2.0/glib/gnode.h: - -/usr/include/glib-2.0/glib/ghmac.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/ghook.h: - -/usr/include/glib-2.0/glib/ghostutils.h: - -/usr/include/glib-2.0/glib/giochannel.h: - -/usr/include/glib-2.0/glib/gmain.h: - -/usr/include/glib-2.0/glib/gpoll.h: - -/usr/include/glib-2.0/glib/gslist.h: - -/usr/include/glib-2.0/glib/gstring.h: - -/usr/include/glib-2.0/glib/gunicode.h: - -/usr/include/glib-2.0/glib/gutils.h: - -/usr/include/glib-2.0/glib/gkeyfile.h: - -/usr/include/glib-2.0/glib/gmappedfile.h: - -/usr/include/glib-2.0/glib/gmarkup.h: - -/usr/include/glib-2.0/glib/gmessages.h: - -/usr/include/glib-2.0/glib/goption.h: - -/usr/include/glib-2.0/glib/gpattern.h: - -/usr/include/glib-2.0/glib/gprimes.h: - -/usr/include/glib-2.0/glib/gqsort.h: - -/usr/include/glib-2.0/glib/gqueue.h: - -/usr/include/glib-2.0/glib/grand.h: - -/usr/include/glib-2.0/glib/gregex.h: - -/usr/include/glib-2.0/glib/gscanner.h: - -/usr/include/glib-2.0/glib/gsequence.h: - -/usr/include/glib-2.0/glib/gshell.h: - -/usr/include/glib-2.0/glib/gslice.h: - -/usr/include/glib-2.0/glib/gspawn.h: - -/usr/include/glib-2.0/glib/gstrfuncs.h: - -/usr/include/glib-2.0/glib/gstringchunk.h: - -/usr/include/glib-2.0/glib/gtestutils.h: - -/usr/include/glib-2.0/glib/gthreadpool.h: - -/usr/include/glib-2.0/glib/gtimer.h: - -/usr/include/glib-2.0/glib/gtrashstack.h: - -/usr/include/glib-2.0/glib/gtree.h: - -/usr/include/glib-2.0/glib/gurifuncs.h: - -/usr/include/glib-2.0/glib/gvarianttype.h: - -/usr/include/glib-2.0/glib/gvariant.h: - -/usr/include/glib-2.0/glib/gversion.h: - -/usr/include/glib-2.0/glib/deprecated/gallocator.h: - -/usr/include/glib-2.0/glib/deprecated/gcache.h: - -/usr/include/glib-2.0/glib/deprecated/gcompletion.h: - -/usr/include/glib-2.0/glib/deprecated/gmain.h: - -/usr/include/glib-2.0/glib/deprecated/grel.h: - -/usr/include/glib-2.0/glib/deprecated/gthread.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/pthread.h: - -/usr/include/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/setjmp.h: - -/usr/include/dbus-1.0/dbus/dbus.h: - -/usr/lib/arm-linux-gnueabihf/dbus-1.0/include/dbus/dbus-arch-deps.h: - -/usr/include/dbus-1.0/dbus/dbus-macros.h: - -/usr/include/dbus-1.0/dbus/dbus-address.h: - -/usr/include/dbus-1.0/dbus/dbus-types.h: - -/usr/include/dbus-1.0/dbus/dbus-errors.h: - -/usr/include/dbus-1.0/dbus/dbus-protocol.h: - -/usr/include/dbus-1.0/dbus/dbus-bus.h: - -/usr/include/dbus-1.0/dbus/dbus-connection.h: - -/usr/include/dbus-1.0/dbus/dbus-memory.h: - -/usr/include/dbus-1.0/dbus/dbus-message.h: - -/usr/include/dbus-1.0/dbus/dbus-shared.h: - -/usr/include/dbus-1.0/dbus/dbus-misc.h: - -/usr/include/dbus-1.0/dbus/dbus-pending-call.h: - -/usr/include/dbus-1.0/dbus/dbus-server.h: - -/usr/include/dbus-1.0/dbus/dbus-signature.h: - -/usr/include/dbus-1.0/dbus/dbus-syntax.h: - -/usr/include/dbus-1.0/dbus/dbus-threads.h: - -gdbus/gdbus.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/gdbus/.deps/object.Po b/GRIB_BLE_HUB/libs/ble_extend/gdbus/.deps/object.Po deleted file mode 100644 index ae7848f..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/gdbus/.deps/object.Po +++ /dev/null @@ -1,438 +0,0 @@ -gdbus/object.o: gdbus/object.c /usr/include/stdc-predef.h config.h \ - /usr/include/stdio.h /usr/include/features.h \ - /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/sys_errlist.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio.h /usr/include/string.h \ - /usr/include/xlocale.h /usr/include/arm-linux-gnueabihf/bits/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string2.h /usr/include/stdlib.h \ - /usr/include/glib-2.0/glib.h /usr/include/glib-2.0/glib/galloca.h \ - /usr/include/glib-2.0/glib/gtypes.h \ - /usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h \ - /usr/include/glib-2.0/glib/gmacros.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h \ - /usr/include/limits.h /usr/include/arm-linux-gnueabihf/bits/posix1_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/local_lim.h \ - /usr/include/linux/limits.h \ - /usr/include/arm-linux-gnueabihf/bits/posix2_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/xopen_lim.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h \ - /usr/include/glib-2.0/glib/gversionmacros.h /usr/include/time.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/bits/timex.h \ - /usr/include/glib-2.0/glib/garray.h \ - /usr/include/glib-2.0/glib/gasyncqueue.h \ - /usr/include/glib-2.0/glib/gthread.h \ - /usr/include/glib-2.0/glib/gatomic.h /usr/include/glib-2.0/glib/gerror.h \ - /usr/include/glib-2.0/glib/gquark.h \ - /usr/include/glib-2.0/glib/gbacktrace.h /usr/include/signal.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/signum.h \ - /usr/include/arm-linux-gnueabihf/bits/siginfo.h \ - /usr/include/arm-linux-gnueabihf/bits/sigaction.h \ - /usr/include/arm-linux-gnueabihf/bits/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/asm/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigstack.h \ - /usr/include/arm-linux-gnueabihf/sys/ucontext.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/endian.h /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/arm-linux-gnueabihf/bits/sigthread.h \ - /usr/include/glib-2.0/glib/gbase64.h \ - /usr/include/glib-2.0/glib/gbitlock.h \ - /usr/include/glib-2.0/glib/gbookmarkfile.h \ - /usr/include/glib-2.0/glib/gbytes.h \ - /usr/include/glib-2.0/glib/gcharset.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/gconvert.h \ - /usr/include/glib-2.0/glib/gdataset.h /usr/include/glib-2.0/glib/gdate.h \ - /usr/include/glib-2.0/glib/gdatetime.h \ - /usr/include/glib-2.0/glib/gtimezone.h /usr/include/glib-2.0/glib/gdir.h \ - /usr/include/dirent.h /usr/include/arm-linux-gnueabihf/bits/dirent.h \ - /usr/include/glib-2.0/glib/genviron.h \ - /usr/include/glib-2.0/glib/gfileutils.h \ - /usr/include/glib-2.0/glib/ggettext.h /usr/include/glib-2.0/glib/ghash.h \ - /usr/include/glib-2.0/glib/glist.h /usr/include/glib-2.0/glib/gmem.h \ - /usr/include/glib-2.0/glib/gnode.h /usr/include/glib-2.0/glib/ghmac.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/ghook.h \ - /usr/include/glib-2.0/glib/ghostutils.h \ - /usr/include/glib-2.0/glib/giochannel.h \ - /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gpoll.h \ - /usr/include/glib-2.0/glib/gslist.h /usr/include/glib-2.0/glib/gstring.h \ - /usr/include/glib-2.0/glib/gunicode.h \ - /usr/include/glib-2.0/glib/gutils.h \ - /usr/include/glib-2.0/glib/gkeyfile.h \ - /usr/include/glib-2.0/glib/gmappedfile.h \ - /usr/include/glib-2.0/glib/gmarkup.h \ - /usr/include/glib-2.0/glib/gmessages.h \ - /usr/include/glib-2.0/glib/goption.h \ - /usr/include/glib-2.0/glib/gpattern.h \ - /usr/include/glib-2.0/glib/gprimes.h /usr/include/glib-2.0/glib/gqsort.h \ - /usr/include/glib-2.0/glib/gqueue.h /usr/include/glib-2.0/glib/grand.h \ - /usr/include/glib-2.0/glib/gregex.h \ - /usr/include/glib-2.0/glib/gscanner.h \ - /usr/include/glib-2.0/glib/gsequence.h \ - /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gslice.h \ - /usr/include/glib-2.0/glib/gspawn.h \ - /usr/include/glib-2.0/glib/gstrfuncs.h \ - /usr/include/glib-2.0/glib/gstringchunk.h \ - /usr/include/glib-2.0/glib/gtestutils.h \ - /usr/include/glib-2.0/glib/gthreadpool.h \ - /usr/include/glib-2.0/glib/gtimer.h \ - /usr/include/glib-2.0/glib/gtrashstack.h \ - /usr/include/glib-2.0/glib/gtree.h \ - /usr/include/glib-2.0/glib/gurifuncs.h \ - /usr/include/glib-2.0/glib/gvarianttype.h \ - /usr/include/glib-2.0/glib/gvariant.h \ - /usr/include/glib-2.0/glib/gversion.h \ - /usr/include/glib-2.0/glib/deprecated/gallocator.h \ - /usr/include/glib-2.0/glib/deprecated/gcache.h \ - /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ - /usr/include/glib-2.0/glib/deprecated/gmain.h \ - /usr/include/glib-2.0/glib/deprecated/grel.h \ - /usr/include/glib-2.0/glib/deprecated/gthread.h \ - /usr/include/arm-linux-gnueabihf/sys/types.h \ - /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h /usr/include/pthread.h \ - /usr/include/sched.h /usr/include/arm-linux-gnueabihf/bits/sched.h \ - /usr/include/arm-linux-gnueabihf/bits/setjmp.h \ - /usr/include/dbus-1.0/dbus/dbus.h \ - /usr/lib/arm-linux-gnueabihf/dbus-1.0/include/dbus/dbus-arch-deps.h \ - /usr/include/dbus-1.0/dbus/dbus-macros.h \ - /usr/include/dbus-1.0/dbus/dbus-address.h \ - /usr/include/dbus-1.0/dbus/dbus-types.h \ - /usr/include/dbus-1.0/dbus/dbus-errors.h \ - /usr/include/dbus-1.0/dbus/dbus-protocol.h \ - /usr/include/dbus-1.0/dbus/dbus-bus.h \ - /usr/include/dbus-1.0/dbus/dbus-connection.h \ - /usr/include/dbus-1.0/dbus/dbus-memory.h \ - /usr/include/dbus-1.0/dbus/dbus-message.h \ - /usr/include/dbus-1.0/dbus/dbus-shared.h \ - /usr/include/dbus-1.0/dbus/dbus-misc.h \ - /usr/include/dbus-1.0/dbus/dbus-pending-call.h \ - /usr/include/dbus-1.0/dbus/dbus-server.h \ - /usr/include/dbus-1.0/dbus/dbus-signature.h \ - /usr/include/dbus-1.0/dbus/dbus-syntax.h \ - /usr/include/dbus-1.0/dbus/dbus-threads.h gdbus/gdbus.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/include/stdio.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/sys_errlist.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio.h: - -/usr/include/string.h: - -/usr/include/xlocale.h: - -/usr/include/arm-linux-gnueabihf/bits/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string2.h: - -/usr/include/stdlib.h: - -/usr/include/glib-2.0/glib.h: - -/usr/include/glib-2.0/glib/galloca.h: - -/usr/include/glib-2.0/glib/gtypes.h: - -/usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h: - -/usr/include/glib-2.0/glib/gmacros.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h: - -/usr/include/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/local_lim.h: - -/usr/include/linux/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix2_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/xopen_lim.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h: - -/usr/include/glib-2.0/glib/gversionmacros.h: - -/usr/include/time.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/bits/timex.h: - -/usr/include/glib-2.0/glib/garray.h: - -/usr/include/glib-2.0/glib/gasyncqueue.h: - -/usr/include/glib-2.0/glib/gthread.h: - -/usr/include/glib-2.0/glib/gatomic.h: - -/usr/include/glib-2.0/glib/gerror.h: - -/usr/include/glib-2.0/glib/gquark.h: - -/usr/include/glib-2.0/glib/gbacktrace.h: - -/usr/include/signal.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/signum.h: - -/usr/include/arm-linux-gnueabihf/bits/siginfo.h: - -/usr/include/arm-linux-gnueabihf/bits/sigaction.h: - -/usr/include/arm-linux-gnueabihf/bits/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/asm/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigstack.h: - -/usr/include/arm-linux-gnueabihf/sys/ucontext.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/arm-linux-gnueabihf/bits/sigthread.h: - -/usr/include/glib-2.0/glib/gbase64.h: - -/usr/include/glib-2.0/glib/gbitlock.h: - -/usr/include/glib-2.0/glib/gbookmarkfile.h: - -/usr/include/glib-2.0/glib/gbytes.h: - -/usr/include/glib-2.0/glib/gcharset.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/gconvert.h: - -/usr/include/glib-2.0/glib/gdataset.h: - -/usr/include/glib-2.0/glib/gdate.h: - -/usr/include/glib-2.0/glib/gdatetime.h: - -/usr/include/glib-2.0/glib/gtimezone.h: - -/usr/include/glib-2.0/glib/gdir.h: - -/usr/include/dirent.h: - -/usr/include/arm-linux-gnueabihf/bits/dirent.h: - -/usr/include/glib-2.0/glib/genviron.h: - -/usr/include/glib-2.0/glib/gfileutils.h: - -/usr/include/glib-2.0/glib/ggettext.h: - -/usr/include/glib-2.0/glib/ghash.h: - -/usr/include/glib-2.0/glib/glist.h: - -/usr/include/glib-2.0/glib/gmem.h: - -/usr/include/glib-2.0/glib/gnode.h: - -/usr/include/glib-2.0/glib/ghmac.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/ghook.h: - -/usr/include/glib-2.0/glib/ghostutils.h: - -/usr/include/glib-2.0/glib/giochannel.h: - -/usr/include/glib-2.0/glib/gmain.h: - -/usr/include/glib-2.0/glib/gpoll.h: - -/usr/include/glib-2.0/glib/gslist.h: - -/usr/include/glib-2.0/glib/gstring.h: - -/usr/include/glib-2.0/glib/gunicode.h: - -/usr/include/glib-2.0/glib/gutils.h: - -/usr/include/glib-2.0/glib/gkeyfile.h: - -/usr/include/glib-2.0/glib/gmappedfile.h: - -/usr/include/glib-2.0/glib/gmarkup.h: - -/usr/include/glib-2.0/glib/gmessages.h: - -/usr/include/glib-2.0/glib/goption.h: - -/usr/include/glib-2.0/glib/gpattern.h: - -/usr/include/glib-2.0/glib/gprimes.h: - -/usr/include/glib-2.0/glib/gqsort.h: - -/usr/include/glib-2.0/glib/gqueue.h: - -/usr/include/glib-2.0/glib/grand.h: - -/usr/include/glib-2.0/glib/gregex.h: - -/usr/include/glib-2.0/glib/gscanner.h: - -/usr/include/glib-2.0/glib/gsequence.h: - -/usr/include/glib-2.0/glib/gshell.h: - -/usr/include/glib-2.0/glib/gslice.h: - -/usr/include/glib-2.0/glib/gspawn.h: - -/usr/include/glib-2.0/glib/gstrfuncs.h: - -/usr/include/glib-2.0/glib/gstringchunk.h: - -/usr/include/glib-2.0/glib/gtestutils.h: - -/usr/include/glib-2.0/glib/gthreadpool.h: - -/usr/include/glib-2.0/glib/gtimer.h: - -/usr/include/glib-2.0/glib/gtrashstack.h: - -/usr/include/glib-2.0/glib/gtree.h: - -/usr/include/glib-2.0/glib/gurifuncs.h: - -/usr/include/glib-2.0/glib/gvarianttype.h: - -/usr/include/glib-2.0/glib/gvariant.h: - -/usr/include/glib-2.0/glib/gversion.h: - -/usr/include/glib-2.0/glib/deprecated/gallocator.h: - -/usr/include/glib-2.0/glib/deprecated/gcache.h: - -/usr/include/glib-2.0/glib/deprecated/gcompletion.h: - -/usr/include/glib-2.0/glib/deprecated/gmain.h: - -/usr/include/glib-2.0/glib/deprecated/grel.h: - -/usr/include/glib-2.0/glib/deprecated/gthread.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/pthread.h: - -/usr/include/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/setjmp.h: - -/usr/include/dbus-1.0/dbus/dbus.h: - -/usr/lib/arm-linux-gnueabihf/dbus-1.0/include/dbus/dbus-arch-deps.h: - -/usr/include/dbus-1.0/dbus/dbus-macros.h: - -/usr/include/dbus-1.0/dbus/dbus-address.h: - -/usr/include/dbus-1.0/dbus/dbus-types.h: - -/usr/include/dbus-1.0/dbus/dbus-errors.h: - -/usr/include/dbus-1.0/dbus/dbus-protocol.h: - -/usr/include/dbus-1.0/dbus/dbus-bus.h: - -/usr/include/dbus-1.0/dbus/dbus-connection.h: - -/usr/include/dbus-1.0/dbus/dbus-memory.h: - -/usr/include/dbus-1.0/dbus/dbus-message.h: - -/usr/include/dbus-1.0/dbus/dbus-shared.h: - -/usr/include/dbus-1.0/dbus/dbus-misc.h: - -/usr/include/dbus-1.0/dbus/dbus-pending-call.h: - -/usr/include/dbus-1.0/dbus/dbus-server.h: - -/usr/include/dbus-1.0/dbus/dbus-signature.h: - -/usr/include/dbus-1.0/dbus/dbus-syntax.h: - -/usr/include/dbus-1.0/dbus/dbus-threads.h: - -gdbus/gdbus.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/gdbus/.deps/polkit.Po b/GRIB_BLE_HUB/libs/ble_extend/gdbus/.deps/polkit.Po deleted file mode 100644 index 7f4f7d5..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/gdbus/.deps/polkit.Po +++ /dev/null @@ -1,425 +0,0 @@ -gdbus/polkit.o: gdbus/polkit.c /usr/include/stdc-predef.h config.h \ - /usr/include/errno.h /usr/include/features.h \ - /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/include/arm-linux-gnueabihf/bits/errno.h /usr/include/linux/errno.h \ - /usr/include/arm-linux-gnueabihf/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/include/dbus-1.0/dbus/dbus.h \ - /usr/lib/arm-linux-gnueabihf/dbus-1.0/include/dbus/dbus-arch-deps.h \ - /usr/include/dbus-1.0/dbus/dbus-macros.h \ - /usr/include/dbus-1.0/dbus/dbus-address.h \ - /usr/include/dbus-1.0/dbus/dbus-types.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/include/dbus-1.0/dbus/dbus-errors.h \ - /usr/include/dbus-1.0/dbus/dbus-protocol.h \ - /usr/include/dbus-1.0/dbus/dbus-bus.h \ - /usr/include/dbus-1.0/dbus/dbus-connection.h \ - /usr/include/dbus-1.0/dbus/dbus-memory.h \ - /usr/include/dbus-1.0/dbus/dbus-message.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/dbus-1.0/dbus/dbus-shared.h \ - /usr/include/dbus-1.0/dbus/dbus-misc.h \ - /usr/include/dbus-1.0/dbus/dbus-pending-call.h \ - /usr/include/dbus-1.0/dbus/dbus-server.h \ - /usr/include/dbus-1.0/dbus/dbus-signature.h \ - /usr/include/dbus-1.0/dbus/dbus-syntax.h \ - /usr/include/dbus-1.0/dbus/dbus-threads.h /usr/include/glib-2.0/glib.h \ - /usr/include/glib-2.0/glib/galloca.h /usr/include/glib-2.0/glib/gtypes.h \ - /usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h \ - /usr/include/glib-2.0/glib/gmacros.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h \ - /usr/include/limits.h /usr/include/arm-linux-gnueabihf/bits/posix1_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/local_lim.h \ - /usr/include/linux/limits.h \ - /usr/include/arm-linux-gnueabihf/bits/posix2_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/xopen_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h \ - /usr/include/glib-2.0/glib/gversionmacros.h /usr/include/time.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h \ - /usr/include/arm-linux-gnueabihf/bits/timex.h /usr/include/xlocale.h \ - /usr/include/glib-2.0/glib/garray.h \ - /usr/include/glib-2.0/glib/gasyncqueue.h \ - /usr/include/glib-2.0/glib/gthread.h \ - /usr/include/glib-2.0/glib/gatomic.h /usr/include/glib-2.0/glib/gerror.h \ - /usr/include/glib-2.0/glib/gquark.h \ - /usr/include/glib-2.0/glib/gbacktrace.h /usr/include/signal.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/signum.h \ - /usr/include/arm-linux-gnueabihf/bits/siginfo.h \ - /usr/include/arm-linux-gnueabihf/bits/sigaction.h \ - /usr/include/arm-linux-gnueabihf/bits/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/asm/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigstack.h \ - /usr/include/arm-linux-gnueabihf/sys/ucontext.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/endian.h /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/arm-linux-gnueabihf/bits/sigthread.h \ - /usr/include/glib-2.0/glib/gbase64.h \ - /usr/include/glib-2.0/glib/gbitlock.h \ - /usr/include/glib-2.0/glib/gbookmarkfile.h \ - /usr/include/glib-2.0/glib/gbytes.h \ - /usr/include/glib-2.0/glib/gcharset.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/gconvert.h \ - /usr/include/glib-2.0/glib/gdataset.h /usr/include/glib-2.0/glib/gdate.h \ - /usr/include/glib-2.0/glib/gdatetime.h \ - /usr/include/glib-2.0/glib/gtimezone.h /usr/include/glib-2.0/glib/gdir.h \ - /usr/include/dirent.h /usr/include/arm-linux-gnueabihf/bits/dirent.h \ - /usr/include/glib-2.0/glib/genviron.h \ - /usr/include/glib-2.0/glib/gfileutils.h \ - /usr/include/glib-2.0/glib/ggettext.h /usr/include/glib-2.0/glib/ghash.h \ - /usr/include/glib-2.0/glib/glist.h /usr/include/glib-2.0/glib/gmem.h \ - /usr/include/glib-2.0/glib/gnode.h /usr/include/glib-2.0/glib/ghmac.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/ghook.h \ - /usr/include/glib-2.0/glib/ghostutils.h \ - /usr/include/glib-2.0/glib/giochannel.h \ - /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gpoll.h \ - /usr/include/glib-2.0/glib/gslist.h /usr/include/glib-2.0/glib/gstring.h \ - /usr/include/glib-2.0/glib/gunicode.h \ - /usr/include/glib-2.0/glib/gutils.h \ - /usr/include/glib-2.0/glib/gkeyfile.h \ - /usr/include/glib-2.0/glib/gmappedfile.h \ - /usr/include/glib-2.0/glib/gmarkup.h \ - /usr/include/glib-2.0/glib/gmessages.h \ - /usr/include/glib-2.0/glib/goption.h \ - /usr/include/glib-2.0/glib/gpattern.h \ - /usr/include/glib-2.0/glib/gprimes.h /usr/include/glib-2.0/glib/gqsort.h \ - /usr/include/glib-2.0/glib/gqueue.h /usr/include/glib-2.0/glib/grand.h \ - /usr/include/glib-2.0/glib/gregex.h \ - /usr/include/glib-2.0/glib/gscanner.h \ - /usr/include/glib-2.0/glib/gsequence.h \ - /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gslice.h \ - /usr/include/glib-2.0/glib/gspawn.h \ - /usr/include/glib-2.0/glib/gstrfuncs.h \ - /usr/include/glib-2.0/glib/gstringchunk.h \ - /usr/include/glib-2.0/glib/gtestutils.h \ - /usr/include/glib-2.0/glib/gthreadpool.h \ - /usr/include/glib-2.0/glib/gtimer.h \ - /usr/include/glib-2.0/glib/gtrashstack.h \ - /usr/include/glib-2.0/glib/gtree.h \ - /usr/include/glib-2.0/glib/gurifuncs.h \ - /usr/include/glib-2.0/glib/gvarianttype.h \ - /usr/include/glib-2.0/glib/gvariant.h \ - /usr/include/glib-2.0/glib/gversion.h \ - /usr/include/glib-2.0/glib/deprecated/gallocator.h \ - /usr/include/glib-2.0/glib/deprecated/gcache.h \ - /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ - /usr/include/glib-2.0/glib/deprecated/gmain.h \ - /usr/include/glib-2.0/glib/deprecated/grel.h \ - /usr/include/glib-2.0/glib/deprecated/gthread.h \ - /usr/include/arm-linux-gnueabihf/sys/types.h \ - /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h /usr/include/pthread.h \ - /usr/include/sched.h /usr/include/arm-linux-gnueabihf/bits/sched.h \ - /usr/include/arm-linux-gnueabihf/bits/setjmp.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/include/errno.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/include/arm-linux-gnueabihf/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/arm-linux-gnueabihf/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/include/dbus-1.0/dbus/dbus.h: - -/usr/lib/arm-linux-gnueabihf/dbus-1.0/include/dbus/dbus-arch-deps.h: - -/usr/include/dbus-1.0/dbus/dbus-macros.h: - -/usr/include/dbus-1.0/dbus/dbus-address.h: - -/usr/include/dbus-1.0/dbus/dbus-types.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/include/dbus-1.0/dbus/dbus-errors.h: - -/usr/include/dbus-1.0/dbus/dbus-protocol.h: - -/usr/include/dbus-1.0/dbus/dbus-bus.h: - -/usr/include/dbus-1.0/dbus/dbus-connection.h: - -/usr/include/dbus-1.0/dbus/dbus-memory.h: - -/usr/include/dbus-1.0/dbus/dbus-message.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/dbus-1.0/dbus/dbus-shared.h: - -/usr/include/dbus-1.0/dbus/dbus-misc.h: - -/usr/include/dbus-1.0/dbus/dbus-pending-call.h: - -/usr/include/dbus-1.0/dbus/dbus-server.h: - -/usr/include/dbus-1.0/dbus/dbus-signature.h: - -/usr/include/dbus-1.0/dbus/dbus-syntax.h: - -/usr/include/dbus-1.0/dbus/dbus-threads.h: - -/usr/include/glib-2.0/glib.h: - -/usr/include/glib-2.0/glib/galloca.h: - -/usr/include/glib-2.0/glib/gtypes.h: - -/usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h: - -/usr/include/glib-2.0/glib/gmacros.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h: - -/usr/include/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/local_lim.h: - -/usr/include/linux/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix2_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/xopen_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h: - -/usr/include/glib-2.0/glib/gversionmacros.h: - -/usr/include/time.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/arm-linux-gnueabihf/bits/timex.h: - -/usr/include/xlocale.h: - -/usr/include/glib-2.0/glib/garray.h: - -/usr/include/glib-2.0/glib/gasyncqueue.h: - -/usr/include/glib-2.0/glib/gthread.h: - -/usr/include/glib-2.0/glib/gatomic.h: - -/usr/include/glib-2.0/glib/gerror.h: - -/usr/include/glib-2.0/glib/gquark.h: - -/usr/include/glib-2.0/glib/gbacktrace.h: - -/usr/include/signal.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/signum.h: - -/usr/include/arm-linux-gnueabihf/bits/siginfo.h: - -/usr/include/arm-linux-gnueabihf/bits/sigaction.h: - -/usr/include/arm-linux-gnueabihf/bits/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/asm/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigstack.h: - -/usr/include/arm-linux-gnueabihf/sys/ucontext.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/arm-linux-gnueabihf/bits/sigthread.h: - -/usr/include/glib-2.0/glib/gbase64.h: - -/usr/include/glib-2.0/glib/gbitlock.h: - -/usr/include/glib-2.0/glib/gbookmarkfile.h: - -/usr/include/glib-2.0/glib/gbytes.h: - -/usr/include/glib-2.0/glib/gcharset.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/gconvert.h: - -/usr/include/glib-2.0/glib/gdataset.h: - -/usr/include/glib-2.0/glib/gdate.h: - -/usr/include/glib-2.0/glib/gdatetime.h: - -/usr/include/glib-2.0/glib/gtimezone.h: - -/usr/include/glib-2.0/glib/gdir.h: - -/usr/include/dirent.h: - -/usr/include/arm-linux-gnueabihf/bits/dirent.h: - -/usr/include/glib-2.0/glib/genviron.h: - -/usr/include/glib-2.0/glib/gfileutils.h: - -/usr/include/glib-2.0/glib/ggettext.h: - -/usr/include/glib-2.0/glib/ghash.h: - -/usr/include/glib-2.0/glib/glist.h: - -/usr/include/glib-2.0/glib/gmem.h: - -/usr/include/glib-2.0/glib/gnode.h: - -/usr/include/glib-2.0/glib/ghmac.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/ghook.h: - -/usr/include/glib-2.0/glib/ghostutils.h: - -/usr/include/glib-2.0/glib/giochannel.h: - -/usr/include/glib-2.0/glib/gmain.h: - -/usr/include/glib-2.0/glib/gpoll.h: - -/usr/include/glib-2.0/glib/gslist.h: - -/usr/include/glib-2.0/glib/gstring.h: - -/usr/include/glib-2.0/glib/gunicode.h: - -/usr/include/glib-2.0/glib/gutils.h: - -/usr/include/glib-2.0/glib/gkeyfile.h: - -/usr/include/glib-2.0/glib/gmappedfile.h: - -/usr/include/glib-2.0/glib/gmarkup.h: - -/usr/include/glib-2.0/glib/gmessages.h: - -/usr/include/glib-2.0/glib/goption.h: - -/usr/include/glib-2.0/glib/gpattern.h: - -/usr/include/glib-2.0/glib/gprimes.h: - -/usr/include/glib-2.0/glib/gqsort.h: - -/usr/include/glib-2.0/glib/gqueue.h: - -/usr/include/glib-2.0/glib/grand.h: - -/usr/include/glib-2.0/glib/gregex.h: - -/usr/include/glib-2.0/glib/gscanner.h: - -/usr/include/glib-2.0/glib/gsequence.h: - -/usr/include/glib-2.0/glib/gshell.h: - -/usr/include/glib-2.0/glib/gslice.h: - -/usr/include/glib-2.0/glib/gspawn.h: - -/usr/include/glib-2.0/glib/gstrfuncs.h: - -/usr/include/glib-2.0/glib/gstringchunk.h: - -/usr/include/glib-2.0/glib/gtestutils.h: - -/usr/include/glib-2.0/glib/gthreadpool.h: - -/usr/include/glib-2.0/glib/gtimer.h: - -/usr/include/glib-2.0/glib/gtrashstack.h: - -/usr/include/glib-2.0/glib/gtree.h: - -/usr/include/glib-2.0/glib/gurifuncs.h: - -/usr/include/glib-2.0/glib/gvarianttype.h: - -/usr/include/glib-2.0/glib/gvariant.h: - -/usr/include/glib-2.0/glib/gversion.h: - -/usr/include/glib-2.0/glib/deprecated/gallocator.h: - -/usr/include/glib-2.0/glib/deprecated/gcache.h: - -/usr/include/glib-2.0/glib/deprecated/gcompletion.h: - -/usr/include/glib-2.0/glib/deprecated/gmain.h: - -/usr/include/glib-2.0/glib/deprecated/grel.h: - -/usr/include/glib-2.0/glib/deprecated/gthread.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/pthread.h: - -/usr/include/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/setjmp.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/gdbus/.deps/watch.Po b/GRIB_BLE_HUB/libs/ble_extend/gdbus/.deps/watch.Po deleted file mode 100644 index 30b17d1..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/gdbus/.deps/watch.Po +++ /dev/null @@ -1,438 +0,0 @@ -gdbus/watch.o: gdbus/watch.c /usr/include/stdc-predef.h config.h \ - /usr/include/stdio.h /usr/include/features.h \ - /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/sys_errlist.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio.h /usr/include/string.h \ - /usr/include/xlocale.h /usr/include/arm-linux-gnueabihf/bits/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string2.h /usr/include/stdlib.h \ - /usr/include/glib-2.0/glib.h /usr/include/glib-2.0/glib/galloca.h \ - /usr/include/glib-2.0/glib/gtypes.h \ - /usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h \ - /usr/include/glib-2.0/glib/gmacros.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h \ - /usr/include/limits.h /usr/include/arm-linux-gnueabihf/bits/posix1_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/local_lim.h \ - /usr/include/linux/limits.h \ - /usr/include/arm-linux-gnueabihf/bits/posix2_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/xopen_lim.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h \ - /usr/include/glib-2.0/glib/gversionmacros.h /usr/include/time.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/bits/timex.h \ - /usr/include/glib-2.0/glib/garray.h \ - /usr/include/glib-2.0/glib/gasyncqueue.h \ - /usr/include/glib-2.0/glib/gthread.h \ - /usr/include/glib-2.0/glib/gatomic.h /usr/include/glib-2.0/glib/gerror.h \ - /usr/include/glib-2.0/glib/gquark.h \ - /usr/include/glib-2.0/glib/gbacktrace.h /usr/include/signal.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/signum.h \ - /usr/include/arm-linux-gnueabihf/bits/siginfo.h \ - /usr/include/arm-linux-gnueabihf/bits/sigaction.h \ - /usr/include/arm-linux-gnueabihf/bits/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/asm/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigstack.h \ - /usr/include/arm-linux-gnueabihf/sys/ucontext.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/endian.h /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/arm-linux-gnueabihf/bits/sigthread.h \ - /usr/include/glib-2.0/glib/gbase64.h \ - /usr/include/glib-2.0/glib/gbitlock.h \ - /usr/include/glib-2.0/glib/gbookmarkfile.h \ - /usr/include/glib-2.0/glib/gbytes.h \ - /usr/include/glib-2.0/glib/gcharset.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/gconvert.h \ - /usr/include/glib-2.0/glib/gdataset.h /usr/include/glib-2.0/glib/gdate.h \ - /usr/include/glib-2.0/glib/gdatetime.h \ - /usr/include/glib-2.0/glib/gtimezone.h /usr/include/glib-2.0/glib/gdir.h \ - /usr/include/dirent.h /usr/include/arm-linux-gnueabihf/bits/dirent.h \ - /usr/include/glib-2.0/glib/genviron.h \ - /usr/include/glib-2.0/glib/gfileutils.h \ - /usr/include/glib-2.0/glib/ggettext.h /usr/include/glib-2.0/glib/ghash.h \ - /usr/include/glib-2.0/glib/glist.h /usr/include/glib-2.0/glib/gmem.h \ - /usr/include/glib-2.0/glib/gnode.h /usr/include/glib-2.0/glib/ghmac.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/ghook.h \ - /usr/include/glib-2.0/glib/ghostutils.h \ - /usr/include/glib-2.0/glib/giochannel.h \ - /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gpoll.h \ - /usr/include/glib-2.0/glib/gslist.h /usr/include/glib-2.0/glib/gstring.h \ - /usr/include/glib-2.0/glib/gunicode.h \ - /usr/include/glib-2.0/glib/gutils.h \ - /usr/include/glib-2.0/glib/gkeyfile.h \ - /usr/include/glib-2.0/glib/gmappedfile.h \ - /usr/include/glib-2.0/glib/gmarkup.h \ - /usr/include/glib-2.0/glib/gmessages.h \ - /usr/include/glib-2.0/glib/goption.h \ - /usr/include/glib-2.0/glib/gpattern.h \ - /usr/include/glib-2.0/glib/gprimes.h /usr/include/glib-2.0/glib/gqsort.h \ - /usr/include/glib-2.0/glib/gqueue.h /usr/include/glib-2.0/glib/grand.h \ - /usr/include/glib-2.0/glib/gregex.h \ - /usr/include/glib-2.0/glib/gscanner.h \ - /usr/include/glib-2.0/glib/gsequence.h \ - /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gslice.h \ - /usr/include/glib-2.0/glib/gspawn.h \ - /usr/include/glib-2.0/glib/gstrfuncs.h \ - /usr/include/glib-2.0/glib/gstringchunk.h \ - /usr/include/glib-2.0/glib/gtestutils.h \ - /usr/include/glib-2.0/glib/gthreadpool.h \ - /usr/include/glib-2.0/glib/gtimer.h \ - /usr/include/glib-2.0/glib/gtrashstack.h \ - /usr/include/glib-2.0/glib/gtree.h \ - /usr/include/glib-2.0/glib/gurifuncs.h \ - /usr/include/glib-2.0/glib/gvarianttype.h \ - /usr/include/glib-2.0/glib/gvariant.h \ - /usr/include/glib-2.0/glib/gversion.h \ - /usr/include/glib-2.0/glib/deprecated/gallocator.h \ - /usr/include/glib-2.0/glib/deprecated/gcache.h \ - /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ - /usr/include/glib-2.0/glib/deprecated/gmain.h \ - /usr/include/glib-2.0/glib/deprecated/grel.h \ - /usr/include/glib-2.0/glib/deprecated/gthread.h \ - /usr/include/arm-linux-gnueabihf/sys/types.h \ - /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h /usr/include/pthread.h \ - /usr/include/sched.h /usr/include/arm-linux-gnueabihf/bits/sched.h \ - /usr/include/arm-linux-gnueabihf/bits/setjmp.h \ - /usr/include/dbus-1.0/dbus/dbus.h \ - /usr/lib/arm-linux-gnueabihf/dbus-1.0/include/dbus/dbus-arch-deps.h \ - /usr/include/dbus-1.0/dbus/dbus-macros.h \ - /usr/include/dbus-1.0/dbus/dbus-address.h \ - /usr/include/dbus-1.0/dbus/dbus-types.h \ - /usr/include/dbus-1.0/dbus/dbus-errors.h \ - /usr/include/dbus-1.0/dbus/dbus-protocol.h \ - /usr/include/dbus-1.0/dbus/dbus-bus.h \ - /usr/include/dbus-1.0/dbus/dbus-connection.h \ - /usr/include/dbus-1.0/dbus/dbus-memory.h \ - /usr/include/dbus-1.0/dbus/dbus-message.h \ - /usr/include/dbus-1.0/dbus/dbus-shared.h \ - /usr/include/dbus-1.0/dbus/dbus-misc.h \ - /usr/include/dbus-1.0/dbus/dbus-pending-call.h \ - /usr/include/dbus-1.0/dbus/dbus-server.h \ - /usr/include/dbus-1.0/dbus/dbus-signature.h \ - /usr/include/dbus-1.0/dbus/dbus-syntax.h \ - /usr/include/dbus-1.0/dbus/dbus-threads.h gdbus/gdbus.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/include/stdio.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/sys_errlist.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio.h: - -/usr/include/string.h: - -/usr/include/xlocale.h: - -/usr/include/arm-linux-gnueabihf/bits/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string2.h: - -/usr/include/stdlib.h: - -/usr/include/glib-2.0/glib.h: - -/usr/include/glib-2.0/glib/galloca.h: - -/usr/include/glib-2.0/glib/gtypes.h: - -/usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h: - -/usr/include/glib-2.0/glib/gmacros.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h: - -/usr/include/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/local_lim.h: - -/usr/include/linux/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix2_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/xopen_lim.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h: - -/usr/include/glib-2.0/glib/gversionmacros.h: - -/usr/include/time.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/bits/timex.h: - -/usr/include/glib-2.0/glib/garray.h: - -/usr/include/glib-2.0/glib/gasyncqueue.h: - -/usr/include/glib-2.0/glib/gthread.h: - -/usr/include/glib-2.0/glib/gatomic.h: - -/usr/include/glib-2.0/glib/gerror.h: - -/usr/include/glib-2.0/glib/gquark.h: - -/usr/include/glib-2.0/glib/gbacktrace.h: - -/usr/include/signal.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/signum.h: - -/usr/include/arm-linux-gnueabihf/bits/siginfo.h: - -/usr/include/arm-linux-gnueabihf/bits/sigaction.h: - -/usr/include/arm-linux-gnueabihf/bits/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/asm/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigstack.h: - -/usr/include/arm-linux-gnueabihf/sys/ucontext.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/arm-linux-gnueabihf/bits/sigthread.h: - -/usr/include/glib-2.0/glib/gbase64.h: - -/usr/include/glib-2.0/glib/gbitlock.h: - -/usr/include/glib-2.0/glib/gbookmarkfile.h: - -/usr/include/glib-2.0/glib/gbytes.h: - -/usr/include/glib-2.0/glib/gcharset.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/gconvert.h: - -/usr/include/glib-2.0/glib/gdataset.h: - -/usr/include/glib-2.0/glib/gdate.h: - -/usr/include/glib-2.0/glib/gdatetime.h: - -/usr/include/glib-2.0/glib/gtimezone.h: - -/usr/include/glib-2.0/glib/gdir.h: - -/usr/include/dirent.h: - -/usr/include/arm-linux-gnueabihf/bits/dirent.h: - -/usr/include/glib-2.0/glib/genviron.h: - -/usr/include/glib-2.0/glib/gfileutils.h: - -/usr/include/glib-2.0/glib/ggettext.h: - -/usr/include/glib-2.0/glib/ghash.h: - -/usr/include/glib-2.0/glib/glist.h: - -/usr/include/glib-2.0/glib/gmem.h: - -/usr/include/glib-2.0/glib/gnode.h: - -/usr/include/glib-2.0/glib/ghmac.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/ghook.h: - -/usr/include/glib-2.0/glib/ghostutils.h: - -/usr/include/glib-2.0/glib/giochannel.h: - -/usr/include/glib-2.0/glib/gmain.h: - -/usr/include/glib-2.0/glib/gpoll.h: - -/usr/include/glib-2.0/glib/gslist.h: - -/usr/include/glib-2.0/glib/gstring.h: - -/usr/include/glib-2.0/glib/gunicode.h: - -/usr/include/glib-2.0/glib/gutils.h: - -/usr/include/glib-2.0/glib/gkeyfile.h: - -/usr/include/glib-2.0/glib/gmappedfile.h: - -/usr/include/glib-2.0/glib/gmarkup.h: - -/usr/include/glib-2.0/glib/gmessages.h: - -/usr/include/glib-2.0/glib/goption.h: - -/usr/include/glib-2.0/glib/gpattern.h: - -/usr/include/glib-2.0/glib/gprimes.h: - -/usr/include/glib-2.0/glib/gqsort.h: - -/usr/include/glib-2.0/glib/gqueue.h: - -/usr/include/glib-2.0/glib/grand.h: - -/usr/include/glib-2.0/glib/gregex.h: - -/usr/include/glib-2.0/glib/gscanner.h: - -/usr/include/glib-2.0/glib/gsequence.h: - -/usr/include/glib-2.0/glib/gshell.h: - -/usr/include/glib-2.0/glib/gslice.h: - -/usr/include/glib-2.0/glib/gspawn.h: - -/usr/include/glib-2.0/glib/gstrfuncs.h: - -/usr/include/glib-2.0/glib/gstringchunk.h: - -/usr/include/glib-2.0/glib/gtestutils.h: - -/usr/include/glib-2.0/glib/gthreadpool.h: - -/usr/include/glib-2.0/glib/gtimer.h: - -/usr/include/glib-2.0/glib/gtrashstack.h: - -/usr/include/glib-2.0/glib/gtree.h: - -/usr/include/glib-2.0/glib/gurifuncs.h: - -/usr/include/glib-2.0/glib/gvarianttype.h: - -/usr/include/glib-2.0/glib/gvariant.h: - -/usr/include/glib-2.0/glib/gversion.h: - -/usr/include/glib-2.0/glib/deprecated/gallocator.h: - -/usr/include/glib-2.0/glib/deprecated/gcache.h: - -/usr/include/glib-2.0/glib/deprecated/gcompletion.h: - -/usr/include/glib-2.0/glib/deprecated/gmain.h: - -/usr/include/glib-2.0/glib/deprecated/grel.h: - -/usr/include/glib-2.0/glib/deprecated/gthread.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/pthread.h: - -/usr/include/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/setjmp.h: - -/usr/include/dbus-1.0/dbus/dbus.h: - -/usr/lib/arm-linux-gnueabihf/dbus-1.0/include/dbus/dbus-arch-deps.h: - -/usr/include/dbus-1.0/dbus/dbus-macros.h: - -/usr/include/dbus-1.0/dbus/dbus-address.h: - -/usr/include/dbus-1.0/dbus/dbus-types.h: - -/usr/include/dbus-1.0/dbus/dbus-errors.h: - -/usr/include/dbus-1.0/dbus/dbus-protocol.h: - -/usr/include/dbus-1.0/dbus/dbus-bus.h: - -/usr/include/dbus-1.0/dbus/dbus-connection.h: - -/usr/include/dbus-1.0/dbus/dbus-memory.h: - -/usr/include/dbus-1.0/dbus/dbus-message.h: - -/usr/include/dbus-1.0/dbus/dbus-shared.h: - -/usr/include/dbus-1.0/dbus/dbus-misc.h: - -/usr/include/dbus-1.0/dbus/dbus-pending-call.h: - -/usr/include/dbus-1.0/dbus/dbus-server.h: - -/usr/include/dbus-1.0/dbus/dbus-signature.h: - -/usr/include/dbus-1.0/dbus/dbus-syntax.h: - -/usr/include/dbus-1.0/dbus/dbus-threads.h: - -gdbus/gdbus.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/gdbus/.dirstamp b/GRIB_BLE_HUB/libs/ble_extend/gdbus/.dirstamp deleted file mode 100644 index e69de29..0000000 diff --git a/GRIB_BLE_HUB/libs/ble_extend/gdbus/client.c b/GRIB_BLE_HUB/libs/ble_extend/gdbus/client.c deleted file mode 100644 index c2d2346..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/gdbus/client.c +++ /dev/null @@ -1,1365 +0,0 @@ -/* - * - * D-Bus helper library - * - * Copyright (C) 2004-2011 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include - -#include "gdbus.h" - -#define METHOD_CALL_TIMEOUT (300 * 1000) - -struct GDBusClient { - int ref_count; - DBusConnection *dbus_conn; - char *service_name; - char *unique_name; - char *base_path; - GPtrArray *match_rules; - DBusPendingCall *pending_call; - GDBusWatchFunction connect_func; - void *connect_data; - GDBusWatchFunction disconn_func; - void *disconn_data; - GDBusMessageFunction signal_func; - void *signal_data; - GDBusProxyFunction proxy_added; - GDBusProxyFunction proxy_removed; - GDBusPropertyFunction property_changed; - void *user_data; - GList *proxy_list; -}; - -struct GDBusProxy { - int ref_count; - GDBusClient *client; - char *obj_path; - char *interface; - GHashTable *prop_list; - char *match_rule; - GDBusPropertyFunction prop_func; - void *prop_data; - GDBusProxyFunction removed_func; - void *removed_data; -}; - -struct prop_entry { - char *name; - int type; - DBusMessage *msg; -}; - -static void modify_match_reply(DBusPendingCall *call, void *user_data) -{ - DBusMessage *reply = dbus_pending_call_steal_reply(call); - DBusError error; - - dbus_error_init(&error); - - if (dbus_set_error_from_message(&error, reply) == TRUE) - dbus_error_free(&error); - - dbus_message_unref(reply); -} - -static gboolean modify_match(DBusConnection *conn, const char *member, - const char *rule) -{ - DBusMessage *msg; - DBusPendingCall *call; - - msg = dbus_message_new_method_call(DBUS_SERVICE_DBUS, DBUS_PATH_DBUS, - DBUS_INTERFACE_DBUS, member); - if (msg == NULL) - return FALSE; - - dbus_message_append_args(msg, DBUS_TYPE_STRING, &rule, - DBUS_TYPE_INVALID); - - if (dbus_connection_send_with_reply(conn, msg, &call, -1) == FALSE) { - dbus_message_unref(msg); - return FALSE; - } - - dbus_pending_call_set_notify(call, modify_match_reply, NULL, NULL); - dbus_pending_call_unref(call); - - dbus_message_unref(msg); - - return TRUE; -} - -static void iter_append_iter(DBusMessageIter *base, DBusMessageIter *iter) -{ - int type; - - type = dbus_message_iter_get_arg_type(iter); - - if (dbus_type_is_basic(type)) { - const void *value; - - dbus_message_iter_get_basic(iter, &value); - dbus_message_iter_append_basic(base, type, &value); - } else if (dbus_type_is_container(type)) { - DBusMessageIter iter_sub, base_sub; - char *sig; - - dbus_message_iter_recurse(iter, &iter_sub); - - switch (type) { - case DBUS_TYPE_ARRAY: - case DBUS_TYPE_VARIANT: - sig = dbus_message_iter_get_signature(&iter_sub); - break; - default: - sig = NULL; - break; - } - - dbus_message_iter_open_container(base, type, sig, &base_sub); - - if (sig != NULL) - dbus_free(sig); - - while (dbus_message_iter_get_arg_type(&iter_sub) != - DBUS_TYPE_INVALID) { - iter_append_iter(&base_sub, &iter_sub); - dbus_message_iter_next(&iter_sub); - } - - dbus_message_iter_close_container(base, &base_sub); - } -} - -static void prop_entry_update(struct prop_entry *prop, DBusMessageIter *iter) -{ - DBusMessage *msg; - DBusMessageIter base; - - msg = dbus_message_new(DBUS_MESSAGE_TYPE_METHOD_RETURN); - if (msg == NULL) - return; - - dbus_message_iter_init_append(msg, &base); - iter_append_iter(&base, iter); - - if (prop->msg != NULL) - dbus_message_unref(prop->msg); - - prop->msg = dbus_message_copy(msg); - dbus_message_unref(msg); -} - -static struct prop_entry *prop_entry_new(const char *name, - DBusMessageIter *iter) -{ - struct prop_entry *prop; - - prop = g_try_new0(struct prop_entry, 1); - if (prop == NULL) - return NULL; - - prop->name = g_strdup(name); - prop->type = dbus_message_iter_get_arg_type(iter); - - prop_entry_update(prop, iter); - - return prop; -} - -static void prop_entry_free(gpointer data) -{ - struct prop_entry *prop = data; - - if (prop->msg != NULL) - dbus_message_unref(prop->msg); - - g_free(prop->name); - - g_free(prop); -} - -static void add_property(GDBusProxy *proxy, const char *name, - DBusMessageIter *iter, gboolean send_changed) -{ - GDBusClient *client = proxy->client; - DBusMessageIter value; - struct prop_entry *prop; - - if (dbus_message_iter_get_arg_type(iter) != DBUS_TYPE_VARIANT) - return; - - dbus_message_iter_recurse(iter, &value); - - prop = g_hash_table_lookup(proxy->prop_list, name); - if (prop != NULL) { - prop_entry_update(prop, &value); - goto done; - } - - prop = prop_entry_new(name, &value); - if (prop == NULL) - return; - - g_hash_table_replace(proxy->prop_list, prop->name, prop); - -done: - if (proxy->prop_func) - proxy->prop_func(proxy, name, &value, proxy->prop_data); - - if (client == NULL || send_changed == FALSE) - return; - - if (client->property_changed) - client->property_changed(proxy, name, &value, - client->user_data); -} - -static void update_properties(GDBusProxy *proxy, DBusMessageIter *iter, - gboolean send_changed) -{ - DBusMessageIter dict; - - if (dbus_message_iter_get_arg_type(iter) != DBUS_TYPE_ARRAY) - return; - - dbus_message_iter_recurse(iter, &dict); - - while (dbus_message_iter_get_arg_type(&dict) == DBUS_TYPE_DICT_ENTRY) { - DBusMessageIter entry; - const char *name; - - dbus_message_iter_recurse(&dict, &entry); - - if (dbus_message_iter_get_arg_type(&entry) != DBUS_TYPE_STRING) - break; - - dbus_message_iter_get_basic(&entry, &name); - dbus_message_iter_next(&entry); - - add_property(proxy, name, &entry, send_changed); - - dbus_message_iter_next(&dict); - } -} - -static void get_all_properties_reply(DBusPendingCall *call, void *user_data) -{ - GDBusProxy *proxy = user_data; - GDBusClient *client = proxy->client; - DBusMessage *reply = dbus_pending_call_steal_reply(call); - DBusMessageIter iter; - DBusError error; - - dbus_error_init(&error); - - if (dbus_set_error_from_message(&error, reply) == TRUE) { - dbus_error_free(&error); - goto done; - } - - dbus_message_iter_init(reply, &iter); - - update_properties(proxy, &iter, FALSE); - -done: - if (g_list_find(client->proxy_list, proxy) == NULL) { - if (client->proxy_added) - client->proxy_added(proxy, client->user_data); - - client->proxy_list = g_list_append(client->proxy_list, proxy); - } - - dbus_message_unref(reply); - - g_dbus_client_unref(client); -} - -static void get_all_properties(GDBusProxy *proxy) -{ - GDBusClient *client = proxy->client; - const char *service_name = client->service_name; - DBusMessage *msg; - DBusPendingCall *call; - - msg = dbus_message_new_method_call(service_name, proxy->obj_path, - DBUS_INTERFACE_PROPERTIES, "GetAll"); - if (msg == NULL) - return; - - dbus_message_append_args(msg, DBUS_TYPE_STRING, &proxy->interface, - DBUS_TYPE_INVALID); - - if (dbus_connection_send_with_reply(client->dbus_conn, msg, - &call, -1) == FALSE) { - dbus_message_unref(msg); - return; - } - - g_dbus_client_ref(client); - - dbus_pending_call_set_notify(call, get_all_properties_reply, - proxy, NULL); - dbus_pending_call_unref(call); - - dbus_message_unref(msg); -} - -static GDBusProxy *proxy_lookup(GDBusClient *client, const char *path, - const char *interface) -{ - GList *list; - - for (list = g_list_first(client->proxy_list); list; - list = g_list_next(list)) { - GDBusProxy *proxy = list->data; - - if (g_str_equal(proxy->interface, interface) == TRUE && - g_str_equal(proxy->obj_path, path) == TRUE) - return proxy; - } - - return NULL; -} - -static GDBusProxy *proxy_new(GDBusClient *client, const char *path, - const char *interface) -{ - GDBusProxy *proxy; - - proxy = g_try_new0(GDBusProxy, 1); - if (proxy == NULL) - return NULL; - - proxy->client = client; - proxy->obj_path = g_strdup(path); - proxy->interface = g_strdup(interface); - - proxy->prop_list = g_hash_table_new_full(g_str_hash, g_str_equal, - NULL, prop_entry_free); - - proxy->match_rule = g_strdup_printf("type='signal'," - "sender='%s',path='%s',interface='%s'," - "member='PropertiesChanged',arg0='%s'", - client->service_name, proxy->obj_path, - DBUS_INTERFACE_PROPERTIES, proxy->interface); - - modify_match(client->dbus_conn, "AddMatch", proxy->match_rule); - - return g_dbus_proxy_ref(proxy); -} - -static void proxy_free(gpointer data) -{ - GDBusProxy *proxy = data; - - if (proxy->client) { - GDBusClient *client = proxy->client; - - if (client->proxy_removed) - client->proxy_removed(proxy, client->user_data); - - modify_match(client->dbus_conn, "RemoveMatch", - proxy->match_rule); - - g_free(proxy->match_rule); - proxy->match_rule = NULL; - - g_hash_table_remove_all(proxy->prop_list); - - proxy->client = NULL; - } - - if (proxy->removed_func) - proxy->removed_func(proxy, proxy->removed_data); - - g_dbus_proxy_unref(proxy); -} - -static void proxy_remove(GDBusClient *client, const char *path, - const char *interface) -{ - GList *list; - - for (list = g_list_first(client->proxy_list); list; - list = g_list_next(list)) { - GDBusProxy *proxy = list->data; - - if (g_str_equal(proxy->interface, interface) == TRUE && - g_str_equal(proxy->obj_path, path) == TRUE) { - client->proxy_list = - g_list_delete_link(client->proxy_list, list); - proxy_free(proxy); - break; - } - } -} - -GDBusProxy *g_dbus_proxy_new(GDBusClient *client, const char *path, - const char *interface) -{ - GDBusProxy *proxy; - - if (client == NULL) - return NULL; - - proxy = proxy_lookup(client, path, interface); - if (proxy) - return g_dbus_proxy_ref(proxy); - - proxy = proxy_new(client, path, interface); - if (proxy == NULL) - return NULL; - - get_all_properties(proxy); - - return g_dbus_proxy_ref(proxy); -} - -GDBusProxy *g_dbus_proxy_ref(GDBusProxy *proxy) -{ - if (proxy == NULL) - return NULL; - - __sync_fetch_and_add(&proxy->ref_count, 1); - - return proxy; -} - -void g_dbus_proxy_unref(GDBusProxy *proxy) -{ - if (proxy == NULL) - return; - - if (__sync_sub_and_fetch(&proxy->ref_count, 1) > 0) - return; - - g_hash_table_destroy(proxy->prop_list); - - g_free(proxy->obj_path); - g_free(proxy->interface); - - g_free(proxy); -} - -const char *g_dbus_proxy_get_path(GDBusProxy *proxy) -{ - if (proxy == NULL) - return NULL; - - return proxy->obj_path; -} - -const char *g_dbus_proxy_get_interface(GDBusProxy *proxy) -{ - if (proxy == NULL) - return NULL; - - return proxy->interface; -} - -gboolean g_dbus_proxy_get_property(GDBusProxy *proxy, const char *name, - DBusMessageIter *iter) -{ - struct prop_entry *prop; - - if (proxy == NULL || name == NULL) - return FALSE; - - prop = g_hash_table_lookup(proxy->prop_list, name); - if (prop == NULL) - return FALSE; - - if (prop->msg == NULL) - return FALSE; - - if (dbus_message_iter_init(prop->msg, iter) == FALSE) - return FALSE; - - return TRUE; -} - -struct refresh_property_data { - GDBusProxy *proxy; - char *name; -}; - -static void refresh_property_free(gpointer user_data) -{ - struct refresh_property_data *data = user_data; - - g_free(data->name); - g_free(data); -} - -static void refresh_property_reply(DBusPendingCall *call, void *user_data) -{ - struct refresh_property_data *data = user_data; - DBusMessage *reply = dbus_pending_call_steal_reply(call); - DBusError error; - - dbus_error_init(&error); - - if (dbus_set_error_from_message(&error, reply) == FALSE) { - DBusMessageIter iter; - - dbus_message_iter_init(reply, &iter); - - add_property(data->proxy, data->name, &iter, TRUE); - } else - dbus_error_free(&error); - - dbus_message_unref(reply); -} - -gboolean g_dbus_proxy_refresh_property(GDBusProxy *proxy, const char *name) -{ - struct refresh_property_data *data; - GDBusClient *client; - DBusMessage *msg; - DBusMessageIter iter; - DBusPendingCall *call; - - if (proxy == NULL || name == NULL) - return FALSE; - - client = proxy->client; - if (client == NULL) - return FALSE; - - data = g_try_new0(struct refresh_property_data, 1); - if (data == NULL) - return FALSE; - - data->proxy = proxy; - data->name = g_strdup(name); - - msg = dbus_message_new_method_call(client->service_name, - proxy->obj_path, DBUS_INTERFACE_PROPERTIES, "Get"); - if (msg == NULL) { - refresh_property_free(data); - return FALSE; - } - - dbus_message_iter_init_append(msg, &iter); - dbus_message_iter_append_basic(&iter, DBUS_TYPE_STRING, - &proxy->interface); - dbus_message_iter_append_basic(&iter, DBUS_TYPE_STRING, &name); - - if (dbus_connection_send_with_reply(client->dbus_conn, msg, - &call, -1) == FALSE) { - dbus_message_unref(msg); - refresh_property_free(data); - return FALSE; - } - - dbus_pending_call_set_notify(call, refresh_property_reply, - data, refresh_property_free); - dbus_pending_call_unref(call); - - dbus_message_unref(msg); - - return TRUE; -} - -struct set_property_data { - GDBusResultFunction function; - void *user_data; - GDBusDestroyFunction destroy; -}; - -static void set_property_reply(DBusPendingCall *call, void *user_data) -{ - struct set_property_data *data = user_data; - DBusMessage *reply = dbus_pending_call_steal_reply(call); - DBusError error; - - dbus_error_init(&error); - - dbus_set_error_from_message(&error, reply); - - if (data->function) - data->function(&error, data->user_data); - - if (data->destroy) - data->destroy(data->user_data); - - dbus_error_free(&error); - - dbus_message_unref(reply); -} - -gboolean g_dbus_proxy_set_property_basic(GDBusProxy *proxy, - const char *name, int type, const void *value, - GDBusResultFunction function, void *user_data, - GDBusDestroyFunction destroy) -{ - struct set_property_data *data; - GDBusClient *client; - DBusMessage *msg; - DBusMessageIter iter, variant; - DBusPendingCall *call; - char type_as_str[2]; - - if (proxy == NULL || name == NULL || value == NULL) - return FALSE; - - if (dbus_type_is_basic(type) == FALSE) - return FALSE; - - client = proxy->client; - if (client == NULL) - return FALSE; - - data = g_try_new0(struct set_property_data, 1); - if (data == NULL) - return FALSE; - - data->function = function; - data->user_data = user_data; - data->destroy = destroy; - - msg = dbus_message_new_method_call(client->service_name, - proxy->obj_path, DBUS_INTERFACE_PROPERTIES, "Set"); - if (msg == NULL) { - g_free(data); - return FALSE; - } - - type_as_str[0] = (char) type; - type_as_str[1] = '\0'; - - dbus_message_iter_init_append(msg, &iter); - dbus_message_iter_append_basic(&iter, DBUS_TYPE_STRING, - &proxy->interface); - dbus_message_iter_append_basic(&iter, DBUS_TYPE_STRING, &name); - - dbus_message_iter_open_container(&iter, DBUS_TYPE_VARIANT, - type_as_str, &variant); - dbus_message_iter_append_basic(&variant, type, value); - dbus_message_iter_close_container(&iter, &variant); - - if (dbus_connection_send_with_reply(client->dbus_conn, msg, - &call, -1) == FALSE) { - dbus_message_unref(msg); - g_free(data); - return FALSE; - } - - dbus_pending_call_set_notify(call, set_property_reply, data, g_free); - dbus_pending_call_unref(call); - - dbus_message_unref(msg); - - return TRUE; -} - -struct method_call_data { - GDBusReturnFunction function; - void *user_data; - GDBusDestroyFunction destroy; -}; - -static void method_call_reply(DBusPendingCall *call, void *user_data) -{ - struct method_call_data *data = user_data; - DBusMessage *reply = dbus_pending_call_steal_reply(call); - - if (data->function) - data->function(reply, data->user_data); - - if (data->destroy) - data->destroy(data->user_data); - - dbus_message_unref(reply); -} - -gboolean g_dbus_proxy_method_call(GDBusProxy *proxy, const char *method, - GDBusSetupFunction setup, - GDBusReturnFunction function, void *user_data, - GDBusDestroyFunction destroy) -{ - struct method_call_data *data; - GDBusClient *client; - DBusMessage *msg; - DBusPendingCall *call; - - if (proxy == NULL || method == NULL) - return FALSE; - - client = proxy->client; - if (client == NULL) - return FALSE; - - data = g_try_new0(struct method_call_data, 1); - if (data == NULL) - return FALSE; - - data->function = function; - data->user_data = user_data; - data->destroy = destroy; - - msg = dbus_message_new_method_call(client->service_name, - proxy->obj_path, proxy->interface, method); - if (msg == NULL) { - g_free(data); - return FALSE; - } - - if (setup) { - DBusMessageIter iter; - - dbus_message_iter_init_append(msg, &iter); - setup(&iter, data->user_data); - } - - if (dbus_connection_send_with_reply(client->dbus_conn, msg, - &call, METHOD_CALL_TIMEOUT) == FALSE) { - dbus_message_unref(msg); - g_free(data); - return FALSE; - } - - dbus_pending_call_set_notify(call, method_call_reply, data, g_free); - dbus_pending_call_unref(call); - - dbus_message_unref(msg); - - return TRUE; -} - -gboolean g_dbus_proxy_set_property_watch(GDBusProxy *proxy, - GDBusPropertyFunction function, void *user_data) -{ - if (proxy == NULL) - return FALSE; - - proxy->prop_func = function; - proxy->prop_data = user_data; - - return TRUE; -} - -gboolean g_dbus_proxy_set_removed_watch(GDBusProxy *proxy, - GDBusProxyFunction function, void *user_data) -{ - if (proxy == NULL) - return FALSE; - - proxy->removed_func = function; - proxy->removed_data = user_data; - - return TRUE; -} - -static void refresh_properties(GDBusClient *client) -{ - GList *list; - - for (list = g_list_first(client->proxy_list); list; - list = g_list_next(list)) { - GDBusProxy *proxy = list->data; - - get_all_properties(proxy); - } -} - -static void properties_changed(GDBusClient *client, const char *path, - DBusMessage *msg) -{ - GDBusProxy *proxy = NULL; - DBusMessageIter iter, entry; - const char *interface; - GList *list; - - if (dbus_message_iter_init(msg, &iter) == FALSE) - return; - - if (dbus_message_iter_get_arg_type(&iter) != DBUS_TYPE_STRING) - return; - - dbus_message_iter_get_basic(&iter, &interface); - dbus_message_iter_next(&iter); - - for (list = g_list_first(client->proxy_list); list; - list = g_list_next(list)) { - GDBusProxy *data = list->data; - - if (g_str_equal(data->interface, interface) == TRUE && - g_str_equal(data->obj_path, path) == TRUE) { - proxy = data; - break; - } - } - - if (proxy == NULL) - return; - - update_properties(proxy, &iter, TRUE); - - dbus_message_iter_next(&iter); - - if (dbus_message_iter_get_arg_type(&iter) != DBUS_TYPE_ARRAY) - return; - - dbus_message_iter_recurse(&iter, &entry); - - while (dbus_message_iter_get_arg_type(&entry) == DBUS_TYPE_STRING) { - const char *name; - - dbus_message_iter_get_basic(&entry, &name); - - g_hash_table_remove(proxy->prop_list, name); - - if (proxy->prop_func) - proxy->prop_func(proxy, name, NULL, proxy->prop_data); - - if (client->property_changed) - client->property_changed(proxy, name, NULL, - client->user_data); - - dbus_message_iter_next(&entry); - } -} - -static void parse_properties(GDBusClient *client, const char *path, - const char *interface, DBusMessageIter *iter) -{ - GDBusProxy *proxy; - - if (g_str_equal(interface, DBUS_INTERFACE_INTROSPECTABLE) == TRUE) - return; - - if (g_str_equal(interface, DBUS_INTERFACE_PROPERTIES) == TRUE) - return; - - proxy = proxy_lookup(client, path, interface); - if (proxy) { - update_properties(proxy, iter, FALSE); - return; - } - - proxy = proxy_new(client, path, interface); - if (proxy == NULL) - return; - - update_properties(proxy, iter, FALSE); - - if (client->proxy_added) - client->proxy_added(proxy, client->user_data); - - client->proxy_list = g_list_append(client->proxy_list, proxy); -} - -static void parse_interfaces(GDBusClient *client, const char *path, - DBusMessageIter *iter) -{ - DBusMessageIter dict; - - if (dbus_message_iter_get_arg_type(iter) != DBUS_TYPE_ARRAY) - return; - - dbus_message_iter_recurse(iter, &dict); - - while (dbus_message_iter_get_arg_type(&dict) == DBUS_TYPE_DICT_ENTRY) { - DBusMessageIter entry; - const char *interface; - - dbus_message_iter_recurse(&dict, &entry); - - if (dbus_message_iter_get_arg_type(&entry) != DBUS_TYPE_STRING) - break; - - dbus_message_iter_get_basic(&entry, &interface); - dbus_message_iter_next(&entry); - - parse_properties(client, path, interface, &entry); - - dbus_message_iter_next(&dict); - } -} - -static void interfaces_added(GDBusClient *client, DBusMessage *msg) -{ - DBusMessageIter iter; - const char *path; - - if (dbus_message_iter_init(msg, &iter) == FALSE) - return; - - if (dbus_message_iter_get_arg_type(&iter) != DBUS_TYPE_OBJECT_PATH) - return; - - dbus_message_iter_get_basic(&iter, &path); - dbus_message_iter_next(&iter); - - g_dbus_client_ref(client); - - parse_interfaces(client, path, &iter); - - g_dbus_client_unref(client); -} - -static void interfaces_removed(GDBusClient *client, DBusMessage *msg) -{ - DBusMessageIter iter, entry; - const char *path; - - if (dbus_message_iter_init(msg, &iter) == FALSE) - return; - - if (dbus_message_iter_get_arg_type(&iter) != DBUS_TYPE_OBJECT_PATH) - return; - - dbus_message_iter_get_basic(&iter, &path); - dbus_message_iter_next(&iter); - - if (dbus_message_iter_get_arg_type(&iter) != DBUS_TYPE_ARRAY) - return; - - dbus_message_iter_recurse(&iter, &entry); - - g_dbus_client_ref(client); - - while (dbus_message_iter_get_arg_type(&entry) == DBUS_TYPE_STRING) { - const char *interface; - - dbus_message_iter_get_basic(&entry, &interface); - proxy_remove(client, path, interface); - dbus_message_iter_next(&entry); - } - - g_dbus_client_unref(client); -} - -static void parse_managed_objects(GDBusClient *client, DBusMessage *msg) -{ - DBusMessageIter iter, dict; - - if (dbus_message_iter_init(msg, &iter) == FALSE) - return; - - if (dbus_message_iter_get_arg_type(&iter) != DBUS_TYPE_ARRAY) - return; - - dbus_message_iter_recurse(&iter, &dict); - - while (dbus_message_iter_get_arg_type(&dict) == DBUS_TYPE_DICT_ENTRY) { - DBusMessageIter entry; - const char *path; - - dbus_message_iter_recurse(&dict, &entry); - - if (dbus_message_iter_get_arg_type(&entry) != - DBUS_TYPE_OBJECT_PATH) - break; - - dbus_message_iter_get_basic(&entry, &path); - dbus_message_iter_next(&entry); - - parse_interfaces(client, path, &entry); - - dbus_message_iter_next(&dict); - } -} - -static void get_managed_objects_reply(DBusPendingCall *call, void *user_data) -{ - GDBusClient *client = user_data; - DBusMessage *reply = dbus_pending_call_steal_reply(call); - DBusError error; - - dbus_error_init(&error); - - if (dbus_set_error_from_message(&error, reply) == TRUE) { - dbus_error_free(&error); - goto done; - } - - parse_managed_objects(client, reply); - -done: - dbus_message_unref(reply); - - g_dbus_client_unref(client); -} - -static void get_managed_objects(GDBusClient *client) -{ - DBusMessage *msg; - DBusPendingCall *call; - - if (!client->proxy_added && !client->proxy_removed) { - refresh_properties(client); - return; - } - - msg = dbus_message_new_method_call(client->service_name, "/", - DBUS_INTERFACE_DBUS ".ObjectManager", - "GetManagedObjects"); - if (msg == NULL) - return; - - dbus_message_append_args(msg, DBUS_TYPE_INVALID); - - if (dbus_connection_send_with_reply(client->dbus_conn, msg, - &call, -1) == FALSE) { - dbus_message_unref(msg); - return; - } - - g_dbus_client_ref(client); - - dbus_pending_call_set_notify(call, get_managed_objects_reply, - client, NULL); - dbus_pending_call_unref(call); - - dbus_message_unref(msg); -} - -static void get_name_owner_reply(DBusPendingCall *call, void *user_data) -{ - GDBusClient *client = user_data; - DBusMessage *reply = dbus_pending_call_steal_reply(call); - DBusError error; - const char *name; - - g_dbus_client_ref(client); - - dbus_error_init(&error); - - if (dbus_set_error_from_message(&error, reply) == TRUE) { - dbus_error_free(&error); - goto done; - } - - if (dbus_message_get_args(reply, NULL, DBUS_TYPE_STRING, &name, - DBUS_TYPE_INVALID) == FALSE) - goto done; - - if (client->unique_name == NULL) { - client->unique_name = g_strdup(name); - - if (client->connect_func) - client->connect_func(client->dbus_conn, - client->connect_data); - - get_managed_objects(client); - } - -done: - dbus_message_unref(reply); - - dbus_pending_call_unref(client->pending_call); - client->pending_call = NULL; - - g_dbus_client_unref(client); -} - -static void get_name_owner(GDBusClient *client, const char *name) -{ - DBusMessage *msg; - - msg = dbus_message_new_method_call(DBUS_SERVICE_DBUS, DBUS_PATH_DBUS, - DBUS_INTERFACE_DBUS, "GetNameOwner"); - if (msg == NULL) - return; - - dbus_message_append_args(msg, DBUS_TYPE_STRING, &name, - DBUS_TYPE_INVALID); - - if (dbus_connection_send_with_reply(client->dbus_conn, msg, - &client->pending_call, -1) == FALSE) { - dbus_message_unref(msg); - return; - } - - dbus_pending_call_set_notify(client->pending_call, - get_name_owner_reply, client, NULL); - - dbus_message_unref(msg); -} - -static DBusHandlerResult message_filter(DBusConnection *connection, - DBusMessage *message, void *user_data) -{ - GDBusClient *client = user_data; - const char *sender; - - if (dbus_message_get_type(message) != DBUS_MESSAGE_TYPE_SIGNAL) - return DBUS_HANDLER_RESULT_NOT_YET_HANDLED; - - sender = dbus_message_get_sender(message); - - if (g_str_equal(sender, DBUS_SERVICE_DBUS) == TRUE) { - const char *interface, *member; - const char *name, *old, *new; - - interface = dbus_message_get_interface(message); - - if (g_str_equal(interface, DBUS_INTERFACE_DBUS) == FALSE) - return DBUS_HANDLER_RESULT_NOT_YET_HANDLED; - - member = dbus_message_get_member(message); - - if (g_str_equal(member, "NameOwnerChanged") == FALSE) - return DBUS_HANDLER_RESULT_NOT_YET_HANDLED; - - if (dbus_message_get_args(message, NULL, - DBUS_TYPE_STRING, &name, - DBUS_TYPE_STRING, &old, - DBUS_TYPE_STRING, &new, - DBUS_TYPE_INVALID) == FALSE) - return DBUS_HANDLER_RESULT_NOT_YET_HANDLED; - - if (g_str_equal(name, client->service_name) == FALSE) - return DBUS_HANDLER_RESULT_NOT_YET_HANDLED; - - if (*new == '\0' && client->unique_name != NULL && - g_str_equal(old, client->unique_name) == TRUE) { - if (client->disconn_func) - client->disconn_func(client->dbus_conn, - client->disconn_data); - - g_free(client->unique_name); - client->unique_name = NULL; - } else if (*old == '\0' && client->unique_name == NULL) { - client->unique_name = g_strdup(new); - - if (client->connect_func) - client->connect_func(client->dbus_conn, - client->connect_data); - - get_managed_objects(client); - } - - return DBUS_HANDLER_RESULT_NOT_YET_HANDLED; - } - - if (client->unique_name == NULL) - return DBUS_HANDLER_RESULT_NOT_YET_HANDLED; - - if (g_str_equal(sender, client->unique_name) == TRUE) { - const char *path, *interface, *member; - - path = dbus_message_get_path(message); - interface = dbus_message_get_interface(message); - member = dbus_message_get_member(message); - - if (g_str_equal(path, "/") == TRUE) { - if (g_str_equal(interface, DBUS_INTERFACE_DBUS - ".ObjectManager") == FALSE) - return DBUS_HANDLER_RESULT_NOT_YET_HANDLED; - - if (g_str_equal(member, "InterfacesAdded") == TRUE) { - interfaces_added(client, message); - return DBUS_HANDLER_RESULT_NOT_YET_HANDLED; - } - - if (g_str_equal(member, "InterfacesRemoved") == TRUE) { - interfaces_removed(client, message); - return DBUS_HANDLER_RESULT_NOT_YET_HANDLED; - } - - return DBUS_HANDLER_RESULT_NOT_YET_HANDLED; - } - - if (g_str_has_prefix(path, client->base_path) == FALSE) - return DBUS_HANDLER_RESULT_NOT_YET_HANDLED; - - if (g_str_equal(interface, DBUS_INTERFACE_PROPERTIES) == TRUE) { - if (g_str_equal(member, "PropertiesChanged") == TRUE) - properties_changed(client, path, message); - - return DBUS_HANDLER_RESULT_NOT_YET_HANDLED; - } - - if (client->signal_func) - client->signal_func(client->dbus_conn, - message, client->signal_data); - } - - return DBUS_HANDLER_RESULT_NOT_YET_HANDLED; -} - -GDBusClient *g_dbus_client_new(DBusConnection *connection, - const char *service, const char *path) -{ - GDBusClient *client; - unsigned int i; - - if (connection == NULL) - return NULL; - - client = g_try_new0(GDBusClient, 1); - if (client == NULL) - return NULL; - - if (dbus_connection_add_filter(connection, message_filter, - client, NULL) == FALSE) { - g_free(client); - return NULL; - } - - client->dbus_conn = dbus_connection_ref(connection); - client->service_name = g_strdup(service); - client->base_path = g_strdup(path); - - get_name_owner(client, client->service_name); - - client->match_rules = g_ptr_array_sized_new(4); - g_ptr_array_set_free_func(client->match_rules, g_free); - - g_ptr_array_add(client->match_rules, g_strdup_printf("type='signal'," - "sender='%s',path='%s',interface='%s'," - "member='NameOwnerChanged',arg0='%s'", - DBUS_SERVICE_DBUS, DBUS_PATH_DBUS, - DBUS_INTERFACE_DBUS, client->service_name)); - g_ptr_array_add(client->match_rules, g_strdup_printf("type='signal'," - "sender='%s'," - "path='/',interface='%s.ObjectManager'," - "member='InterfacesAdded'", - client->service_name, DBUS_INTERFACE_DBUS)); - g_ptr_array_add(client->match_rules, g_strdup_printf("type='signal'," - "sender='%s'," - "path='/',interface='%s.ObjectManager'," - "member='InterfacesRemoved'", - client->service_name, DBUS_INTERFACE_DBUS)); - g_ptr_array_add(client->match_rules, g_strdup_printf("type='signal'," - "sender='%s',path_namespace='%s'", - client->service_name, client->base_path)); - - for (i = 0; i < client->match_rules->len; i++) { - modify_match(client->dbus_conn, "AddMatch", - g_ptr_array_index(client->match_rules, i)); - } - - return g_dbus_client_ref(client); -} - -GDBusClient *g_dbus_client_ref(GDBusClient *client) -{ - if (client == NULL) - return NULL; - - __sync_fetch_and_add(&client->ref_count, 1); - - return client; -} - -void g_dbus_client_unref(GDBusClient *client) -{ - unsigned int i; - - if (client == NULL) - return; - - if (__sync_sub_and_fetch(&client->ref_count, 1) > 0) - return; - - if (client->pending_call != NULL) { - dbus_pending_call_cancel(client->pending_call); - dbus_pending_call_unref(client->pending_call); - } - - for (i = 0; i < client->match_rules->len; i++) { - modify_match(client->dbus_conn, "RemoveMatch", - g_ptr_array_index(client->match_rules, i)); - } - - g_ptr_array_free(client->match_rules, TRUE); - - dbus_connection_remove_filter(client->dbus_conn, - message_filter, client); - - g_list_free_full(client->proxy_list, proxy_free); - - if (client->disconn_func) - client->disconn_func(client->dbus_conn, client->disconn_data); - - dbus_connection_unref(client->dbus_conn); - - g_free(client->service_name); - g_free(client->unique_name); - g_free(client->base_path); - - g_free(client); -} - -gboolean g_dbus_client_set_connect_watch(GDBusClient *client, - GDBusWatchFunction function, void *user_data) -{ - if (client == NULL) - return FALSE; - - client->connect_func = function; - client->connect_data = user_data; - - return TRUE; -} - -gboolean g_dbus_client_set_disconnect_watch(GDBusClient *client, - GDBusWatchFunction function, void *user_data) -{ - if (client == NULL) - return FALSE; - - client->disconn_func = function; - client->disconn_data = user_data; - - return TRUE; -} - -gboolean g_dbus_client_set_signal_watch(GDBusClient *client, - GDBusMessageFunction function, void *user_data) -{ - if (client == NULL) - return FALSE; - - client->signal_func = function; - client->signal_data = user_data; - - return TRUE; -} - -gboolean g_dbus_client_set_proxy_handlers(GDBusClient *client, - GDBusProxyFunction proxy_added, - GDBusProxyFunction proxy_removed, - GDBusPropertyFunction property_changed, - void *user_data) -{ - if (client == NULL) - return FALSE; - - client->proxy_added = proxy_added; - client->proxy_removed = proxy_removed; - client->property_changed = property_changed; - client->user_data = user_data; - - get_managed_objects(client); - - return TRUE; -} diff --git a/GRIB_BLE_HUB/libs/ble_extend/gdbus/gdbus.h b/GRIB_BLE_HUB/libs/ble_extend/gdbus/gdbus.h deleted file mode 100644 index 8b13393..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/gdbus/gdbus.h +++ /dev/null @@ -1,370 +0,0 @@ -/* - * - * D-Bus helper library - * - * Copyright (C) 2004-2011 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifndef __GDBUS_H -#define __GDBUS_H - -#ifdef __cplusplus -extern "C" { -#endif - -#include -#include - -typedef enum GDBusMethodFlags GDBusMethodFlags; -typedef enum GDBusSignalFlags GDBusSignalFlags; -typedef enum GDBusPropertyFlags GDBusPropertyFlags; -typedef enum GDBusSecurityFlags GDBusSecurityFlags; - -typedef struct GDBusArgInfo GDBusArgInfo; -typedef struct GDBusMethodTable GDBusMethodTable; -typedef struct GDBusSignalTable GDBusSignalTable; -typedef struct GDBusPropertyTable GDBusPropertyTable; -typedef struct GDBusSecurityTable GDBusSecurityTable; - -typedef void (* GDBusWatchFunction) (DBusConnection *connection, - void *user_data); - -typedef void (* GDBusMessageFunction) (DBusConnection *connection, - DBusMessage *message, void *user_data); - -typedef gboolean (* GDBusSignalFunction) (DBusConnection *connection, - DBusMessage *message, void *user_data); - -DBusConnection *g_dbus_setup_bus(DBusBusType type, const char *name, - DBusError *error); - -DBusConnection *g_dbus_setup_private(DBusBusType type, const char *name, - DBusError *error); - -gboolean g_dbus_request_name(DBusConnection *connection, const char *name, - DBusError *error); - -gboolean g_dbus_set_disconnect_function(DBusConnection *connection, - GDBusWatchFunction function, - void *user_data, DBusFreeFunction destroy); - -typedef void (* GDBusDestroyFunction) (void *user_data); - -typedef DBusMessage * (* GDBusMethodFunction) (DBusConnection *connection, - DBusMessage *message, void *user_data); - -typedef gboolean (*GDBusPropertyGetter)(const GDBusPropertyTable *property, - DBusMessageIter *iter, void *data); - -typedef guint32 GDBusPendingPropertySet; - -typedef void (*GDBusPropertySetter)(const GDBusPropertyTable *property, - DBusMessageIter *value, GDBusPendingPropertySet id, - void *data); - -typedef gboolean (*GDBusPropertyExists)(const GDBusPropertyTable *property, - void *data); - -typedef guint32 GDBusPendingReply; - -typedef void (* GDBusSecurityFunction) (DBusConnection *connection, - const char *action, - gboolean interaction, - GDBusPendingReply pending); - -enum GDBusFlags { - G_DBUS_FLAG_ENABLE_EXPERIMENTAL = (1 << 0), -}; - -enum GDBusMethodFlags { - G_DBUS_METHOD_FLAG_DEPRECATED = (1 << 0), - G_DBUS_METHOD_FLAG_NOREPLY = (1 << 1), - G_DBUS_METHOD_FLAG_ASYNC = (1 << 2), - G_DBUS_METHOD_FLAG_EXPERIMENTAL = (1 << 3), -}; - -enum GDBusSignalFlags { - G_DBUS_SIGNAL_FLAG_DEPRECATED = (1 << 0), - G_DBUS_SIGNAL_FLAG_EXPERIMENTAL = (1 << 1), -}; - -enum GDBusPropertyFlags { - G_DBUS_PROPERTY_FLAG_DEPRECATED = (1 << 0), - G_DBUS_PROPERTY_FLAG_EXPERIMENTAL = (1 << 1), -}; - -enum GDBusSecurityFlags { - G_DBUS_SECURITY_FLAG_DEPRECATED = (1 << 0), - G_DBUS_SECURITY_FLAG_BUILTIN = (1 << 1), - G_DBUS_SECURITY_FLAG_ALLOW_INTERACTION = (1 << 2), -}; - -struct GDBusArgInfo { - const char *name; - const char *signature; -}; - -struct GDBusMethodTable { - const char *name; - GDBusMethodFunction function; - GDBusMethodFlags flags; - unsigned int privilege; - const GDBusArgInfo *in_args; - const GDBusArgInfo *out_args; -}; - -struct GDBusSignalTable { - const char *name; - GDBusSignalFlags flags; - const GDBusArgInfo *args; -}; - -struct GDBusPropertyTable { - const char *name; - const char *type; - GDBusPropertyGetter get; - GDBusPropertySetter set; - GDBusPropertyExists exists; - GDBusPropertyFlags flags; -}; - -struct GDBusSecurityTable { - unsigned int privilege; - const char *action; - GDBusSecurityFlags flags; - GDBusSecurityFunction function; -}; - -#define GDBUS_ARGS(args...) (const GDBusArgInfo[]) { args, { } } - -#define GDBUS_METHOD(_name, _in_args, _out_args, _function) \ - .name = _name, \ - .in_args = _in_args, \ - .out_args = _out_args, \ - .function = _function - -#define GDBUS_ASYNC_METHOD(_name, _in_args, _out_args, _function) \ - .name = _name, \ - .in_args = _in_args, \ - .out_args = _out_args, \ - .function = _function, \ - .flags = G_DBUS_METHOD_FLAG_ASYNC - -#define GDBUS_DEPRECATED_METHOD(_name, _in_args, _out_args, _function) \ - .name = _name, \ - .in_args = _in_args, \ - .out_args = _out_args, \ - .function = _function, \ - .flags = G_DBUS_METHOD_FLAG_DEPRECATED - -#define GDBUS_DEPRECATED_ASYNC_METHOD(_name, _in_args, _out_args, _function) \ - .name = _name, \ - .in_args = _in_args, \ - .out_args = _out_args, \ - .function = _function, \ - .flags = G_DBUS_METHOD_FLAG_ASYNC | G_DBUS_METHOD_FLAG_DEPRECATED - -#define GDBUS_EXPERIMENTAL_METHOD(_name, _in_args, _out_args, _function) \ - .name = _name, \ - .in_args = _in_args, \ - .out_args = _out_args, \ - .function = _function, \ - .flags = G_DBUS_METHOD_FLAG_EXPERIMENTAL - -#define GDBUS_EXPERIMENTAL_ASYNC_METHOD(_name, _in_args, _out_args, _function) \ - .name = _name, \ - .in_args = _in_args, \ - .out_args = _out_args, \ - .function = _function, \ - .flags = G_DBUS_METHOD_FLAG_ASYNC | G_DBUS_METHOD_FLAG_EXPERIMENTAL - -#define GDBUS_NOREPLY_METHOD(_name, _in_args, _out_args, _function) \ - .name = _name, \ - .in_args = _in_args, \ - .out_args = _out_args, \ - .function = _function, \ - .flags = G_DBUS_METHOD_FLAG_NOREPLY - -#define GDBUS_SIGNAL(_name, _args) \ - .name = _name, \ - .args = _args - -#define GDBUS_DEPRECATED_SIGNAL(_name, _args) \ - .name = _name, \ - .args = _args, \ - .flags = G_DBUS_SIGNAL_FLAG_DEPRECATED - -#define GDBUS_EXPERIMENTAL_SIGNAL(_name, _args) \ - .name = _name, \ - .args = _args, \ - .flags = G_DBUS_SIGNAL_FLAG_EXPERIMENTAL - -void g_dbus_set_flags(int flags); - -gboolean g_dbus_register_interface(DBusConnection *connection, - const char *path, const char *name, - const GDBusMethodTable *methods, - const GDBusSignalTable *signals, - const GDBusPropertyTable *properties, - void *user_data, - GDBusDestroyFunction destroy); -gboolean g_dbus_unregister_interface(DBusConnection *connection, - const char *path, const char *name); - -gboolean g_dbus_register_security(const GDBusSecurityTable *security); -gboolean g_dbus_unregister_security(const GDBusSecurityTable *security); - -void g_dbus_pending_success(DBusConnection *connection, - GDBusPendingReply pending); -void g_dbus_pending_error(DBusConnection *connection, - GDBusPendingReply pending, - const char *name, const char *format, ...) - __attribute__((format(printf, 4, 5))); -void g_dbus_pending_error_valist(DBusConnection *connection, - GDBusPendingReply pending, const char *name, - const char *format, va_list args); - -DBusMessage *g_dbus_create_error(DBusMessage *message, const char *name, - const char *format, ...) - __attribute__((format(printf, 3, 4))); -DBusMessage *g_dbus_create_error_valist(DBusMessage *message, const char *name, - const char *format, va_list args); -DBusMessage *g_dbus_create_reply(DBusMessage *message, int type, ...); -DBusMessage *g_dbus_create_reply_valist(DBusMessage *message, - int type, va_list args); - -gboolean g_dbus_send_message(DBusConnection *connection, DBusMessage *message); -gboolean g_dbus_send_error(DBusConnection *connection, DBusMessage *message, - const char *name, const char *format, ...) - __attribute__((format(printf, 4, 5))); -gboolean g_dbus_send_error_valist(DBusConnection *connection, - DBusMessage *message, const char *name, - const char *format, va_list args); -gboolean g_dbus_send_reply(DBusConnection *connection, - DBusMessage *message, int type, ...); -gboolean g_dbus_send_reply_valist(DBusConnection *connection, - DBusMessage *message, int type, va_list args); - -gboolean g_dbus_emit_signal(DBusConnection *connection, - const char *path, const char *interface, - const char *name, int type, ...); -gboolean g_dbus_emit_signal_valist(DBusConnection *connection, - const char *path, const char *interface, - const char *name, int type, va_list args); - -guint g_dbus_add_service_watch(DBusConnection *connection, const char *name, - GDBusWatchFunction connect, - GDBusWatchFunction disconnect, - void *user_data, GDBusDestroyFunction destroy); -guint g_dbus_add_disconnect_watch(DBusConnection *connection, const char *name, - GDBusWatchFunction function, - void *user_data, GDBusDestroyFunction destroy); -guint g_dbus_add_signal_watch(DBusConnection *connection, - const char *sender, const char *path, - const char *interface, const char *member, - GDBusSignalFunction function, void *user_data, - GDBusDestroyFunction destroy); -guint g_dbus_add_properties_watch(DBusConnection *connection, - const char *sender, const char *path, - const char *interface, - GDBusSignalFunction function, void *user_data, - GDBusDestroyFunction destroy); -gboolean g_dbus_remove_watch(DBusConnection *connection, guint tag); -void g_dbus_remove_all_watches(DBusConnection *connection); - -void g_dbus_pending_property_success(GDBusPendingPropertySet id); -void g_dbus_pending_property_error_valist(GDBusPendingReply id, - const char *name, const char *format, va_list args); -void g_dbus_pending_property_error(GDBusPendingReply id, const char *name, - const char *format, ...); -void g_dbus_emit_property_changed(DBusConnection *connection, - const char *path, const char *interface, - const char *name); -gboolean g_dbus_get_properties(DBusConnection *connection, const char *path, - const char *interface, DBusMessageIter *iter); - -gboolean g_dbus_attach_object_manager(DBusConnection *connection); -gboolean g_dbus_detach_object_manager(DBusConnection *connection); - -typedef struct GDBusClient GDBusClient; -typedef struct GDBusProxy GDBusProxy; - -GDBusProxy *g_dbus_proxy_new(GDBusClient *client, const char *path, - const char *interface); - -GDBusProxy *g_dbus_proxy_ref(GDBusProxy *proxy); -void g_dbus_proxy_unref(GDBusProxy *proxy); - -const char *g_dbus_proxy_get_path(GDBusProxy *proxy); -const char *g_dbus_proxy_get_interface(GDBusProxy *proxy); - -gboolean g_dbus_proxy_get_property(GDBusProxy *proxy, const char *name, - DBusMessageIter *iter); - -gboolean g_dbus_proxy_refresh_property(GDBusProxy *proxy, const char *name); - -typedef void (* GDBusResultFunction) (const DBusError *error, void *user_data); - -gboolean g_dbus_proxy_set_property_basic(GDBusProxy *proxy, - const char *name, int type, const void *value, - GDBusResultFunction function, void *user_data, - GDBusDestroyFunction destroy); - -typedef void (* GDBusSetupFunction) (DBusMessageIter *iter, void *user_data); -typedef void (* GDBusReturnFunction) (DBusMessage *message, void *user_data); - -gboolean g_dbus_proxy_method_call(GDBusProxy *proxy, const char *method, - GDBusSetupFunction setup, - GDBusReturnFunction function, void *user_data, - GDBusDestroyFunction destroy); - -typedef void (* GDBusProxyFunction) (GDBusProxy *proxy, void *user_data); -typedef void (* GDBusPropertyFunction) (GDBusProxy *proxy, const char *name, - DBusMessageIter *iter, void *user_data); - -gboolean g_dbus_proxy_set_property_watch(GDBusProxy *proxy, - GDBusPropertyFunction function, void *user_data); - -gboolean g_dbus_proxy_set_removed_watch(GDBusProxy *proxy, - GDBusProxyFunction destroy, void *user_data); - -GDBusClient *g_dbus_client_new(DBusConnection *connection, - const char *service, const char *path); - -GDBusClient *g_dbus_client_ref(GDBusClient *client); -void g_dbus_client_unref(GDBusClient *client); - -gboolean g_dbus_client_set_connect_watch(GDBusClient *client, - GDBusWatchFunction function, void *user_data); -gboolean g_dbus_client_set_disconnect_watch(GDBusClient *client, - GDBusWatchFunction function, void *user_data); -gboolean g_dbus_client_set_signal_watch(GDBusClient *client, - GDBusMessageFunction function, void *user_data); - -gboolean g_dbus_client_set_proxy_handlers(GDBusClient *client, - GDBusProxyFunction proxy_added, - GDBusProxyFunction proxy_removed, - GDBusPropertyFunction property_changed, - void *user_data); - -#ifdef __cplusplus -} -#endif - -#endif /* __GDBUS_H */ diff --git a/GRIB_BLE_HUB/libs/ble_extend/gdbus/mainloop.c b/GRIB_BLE_HUB/libs/ble_extend/gdbus/mainloop.c deleted file mode 100644 index 099b67f..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/gdbus/mainloop.c +++ /dev/null @@ -1,380 +0,0 @@ -/* - * - * D-Bus helper library - * - * Copyright (C) 2004-2011 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include - -#include "gdbus.h" - -#define DISPATCH_TIMEOUT 0 - -#define info(fmt...) -#define error(fmt...) -#define debug(fmt...) - -struct timeout_handler { - guint id; - DBusTimeout *timeout; -}; - -struct watch_info { - guint id; - DBusWatch *watch; - DBusConnection *conn; -}; - -struct disconnect_data { - GDBusWatchFunction function; - void *user_data; -}; - -static gboolean disconnected_signal(DBusConnection *conn, - DBusMessage *msg, void *data) -{ - struct disconnect_data *dc_data = data; - - error("Got disconnected from the system message bus"); - - dc_data->function(conn, dc_data->user_data); - - dbus_connection_unref(conn); - - return TRUE; -} - -static gboolean message_dispatch(void *data) -{ - DBusConnection *conn = data; - - dbus_connection_ref(conn); - - /* Dispatch messages */ - while (dbus_connection_dispatch(conn) == DBUS_DISPATCH_DATA_REMAINS); - - dbus_connection_unref(conn); - - return FALSE; -} - -static inline void queue_dispatch(DBusConnection *conn, - DBusDispatchStatus status) -{ - if (status == DBUS_DISPATCH_DATA_REMAINS) - g_timeout_add(DISPATCH_TIMEOUT, message_dispatch, conn); -} - -static gboolean watch_func(GIOChannel *chan, GIOCondition cond, gpointer data) -{ - struct watch_info *info = data; - unsigned int flags = 0; - DBusDispatchStatus status; - DBusConnection *conn; - - conn = dbus_connection_ref(info->conn); - - if (cond & G_IO_IN) flags |= DBUS_WATCH_READABLE; - if (cond & G_IO_OUT) flags |= DBUS_WATCH_WRITABLE; - if (cond & G_IO_HUP) flags |= DBUS_WATCH_HANGUP; - if (cond & G_IO_ERR) flags |= DBUS_WATCH_ERROR; - - dbus_watch_handle(info->watch, flags); - - status = dbus_connection_get_dispatch_status(conn); - queue_dispatch(conn, status); - - dbus_connection_unref(conn); - - return TRUE; -} - -static void watch_info_free(void *data) -{ - struct watch_info *info = data; - - if (info->id > 0) { - g_source_remove(info->id); - info->id = 0; - } - - dbus_connection_unref(info->conn); - - g_free(info); -} - -static dbus_bool_t add_watch(DBusWatch *watch, void *data) -{ - DBusConnection *conn = data; - GIOCondition cond = G_IO_HUP | G_IO_ERR; - GIOChannel *chan; - struct watch_info *info; - unsigned int flags; - int fd; - - if (!dbus_watch_get_enabled(watch)) - return TRUE; - - info = g_new0(struct watch_info, 1); - - fd = dbus_watch_get_unix_fd(watch); - chan = g_io_channel_unix_new(fd); - - info->watch = watch; - info->conn = dbus_connection_ref(conn); - - dbus_watch_set_data(watch, info, watch_info_free); - - flags = dbus_watch_get_flags(watch); - - if (flags & DBUS_WATCH_READABLE) cond |= G_IO_IN; - if (flags & DBUS_WATCH_WRITABLE) cond |= G_IO_OUT; - - info->id = g_io_add_watch(chan, cond, watch_func, info); - - g_io_channel_unref(chan); - - return TRUE; -} - -static void remove_watch(DBusWatch *watch, void *data) -{ - if (dbus_watch_get_enabled(watch)) - return; - - /* will trigger watch_info_free() */ - dbus_watch_set_data(watch, NULL, NULL); -} - -static void watch_toggled(DBusWatch *watch, void *data) -{ - /* Because we just exit on OOM, enable/disable is - * no different from add/remove */ - if (dbus_watch_get_enabled(watch)) - add_watch(watch, data); - else - remove_watch(watch, data); -} - -static gboolean timeout_handler_dispatch(gpointer data) -{ - struct timeout_handler *handler = data; - - handler->id = 0; - - /* if not enabled should not be polled by the main loop */ - if (!dbus_timeout_get_enabled(handler->timeout)) - return FALSE; - - dbus_timeout_handle(handler->timeout); - - return FALSE; -} - -static void timeout_handler_free(void *data) -{ - struct timeout_handler *handler = data; - - if (handler->id > 0) { - g_source_remove(handler->id); - handler->id = 0; - } - - g_free(handler); -} - -static dbus_bool_t add_timeout(DBusTimeout *timeout, void *data) -{ - int interval = dbus_timeout_get_interval(timeout); - struct timeout_handler *handler; - - if (!dbus_timeout_get_enabled(timeout)) - return TRUE; - - handler = g_new0(struct timeout_handler, 1); - - handler->timeout = timeout; - - dbus_timeout_set_data(timeout, handler, timeout_handler_free); - - handler->id = g_timeout_add(interval, timeout_handler_dispatch, - handler); - - return TRUE; -} - -static void remove_timeout(DBusTimeout *timeout, void *data) -{ - /* will trigger timeout_handler_free() */ - dbus_timeout_set_data(timeout, NULL, NULL); -} - -static void timeout_toggled(DBusTimeout *timeout, void *data) -{ - if (dbus_timeout_get_enabled(timeout)) - add_timeout(timeout, data); - else - remove_timeout(timeout, data); -} - -static void dispatch_status(DBusConnection *conn, - DBusDispatchStatus status, void *data) -{ - if (!dbus_connection_get_is_connected(conn)) - return; - - queue_dispatch(conn, status); -} - -static inline void setup_dbus_with_main_loop(DBusConnection *conn) -{ - dbus_connection_set_watch_functions(conn, add_watch, remove_watch, - watch_toggled, conn, NULL); - - dbus_connection_set_timeout_functions(conn, add_timeout, remove_timeout, - timeout_toggled, NULL, NULL); - - dbus_connection_set_dispatch_status_function(conn, dispatch_status, - NULL, NULL); -} - -static gboolean setup_bus(DBusConnection *conn, const char *name, - DBusError *error) -{ - gboolean result; - DBusDispatchStatus status; - - if (name != NULL) { - result = g_dbus_request_name(conn, name, error); - - if (error != NULL) { - if (dbus_error_is_set(error) == TRUE) - return FALSE; - } - - if (result == FALSE) - return FALSE; - } - - setup_dbus_with_main_loop(conn); - - status = dbus_connection_get_dispatch_status(conn); - queue_dispatch(conn, status); - - return TRUE; -} - -DBusConnection *g_dbus_setup_bus(DBusBusType type, const char *name, - DBusError *error) -{ - DBusConnection *conn; - - conn = dbus_bus_get(type, error); - - if (error != NULL) { - if (dbus_error_is_set(error) == TRUE) - return NULL; - } - - if (conn == NULL) - return NULL; - - if (setup_bus(conn, name, error) == FALSE) { - dbus_connection_unref(conn); - return NULL; - } - - return conn; -} - -DBusConnection *g_dbus_setup_private(DBusBusType type, const char *name, - DBusError *error) -{ - DBusConnection *conn; - - conn = dbus_bus_get_private(type, error); - - if (error != NULL) { - if (dbus_error_is_set(error) == TRUE) - return NULL; - } - - if (conn == NULL) - return NULL; - - if (setup_bus(conn, name, error) == FALSE) { - dbus_connection_unref(conn); - return NULL; - } - - return conn; -} - -gboolean g_dbus_request_name(DBusConnection *connection, const char *name, - DBusError *error) -{ - int result; - - result = dbus_bus_request_name(connection, name, - DBUS_NAME_FLAG_DO_NOT_QUEUE, error); - - if (error != NULL) { - if (dbus_error_is_set(error) == TRUE) - return FALSE; - } - - if (result != DBUS_REQUEST_NAME_REPLY_PRIMARY_OWNER) { - if (error != NULL) - dbus_set_error(error, name, "Name already in use"); - - return FALSE; - } - - return TRUE; -} - -gboolean g_dbus_set_disconnect_function(DBusConnection *connection, - GDBusWatchFunction function, - void *user_data, DBusFreeFunction destroy) -{ - struct disconnect_data *dc_data; - - dc_data = g_new0(struct disconnect_data, 1); - - dc_data->function = function; - dc_data->user_data = user_data; - - dbus_connection_set_exit_on_disconnect(connection, FALSE); - - if (g_dbus_add_signal_watch(connection, NULL, NULL, - DBUS_INTERFACE_LOCAL, "Disconnected", - disconnected_signal, dc_data, g_free) == 0) { - error("Failed to add watch for D-Bus Disconnected signal"); - g_free(dc_data); - return FALSE; - } - - return TRUE; -} diff --git a/GRIB_BLE_HUB/libs/ble_extend/gdbus/object.c b/GRIB_BLE_HUB/libs/ble_extend/gdbus/object.c deleted file mode 100644 index 2f8ef45..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/gdbus/object.c +++ /dev/null @@ -1,1784 +0,0 @@ -/* - * - * D-Bus helper library - * - * Copyright (C) 2004-2011 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include - -#include -#include - -#include "gdbus.h" - -#define info(fmt...) -#define error(fmt...) -#define debug(fmt...) - -#define DBUS_INTERFACE_OBJECT_MANAGER "org.freedesktop.DBus.ObjectManager" - -#ifndef DBUS_ERROR_UNKNOWN_PROPERTY -#define DBUS_ERROR_UNKNOWN_PROPERTY "org.freedesktop.DBus.Error.UnknownProperty" -#endif - -#ifndef DBUS_ERROR_PROPERTY_READ_ONLY -#define DBUS_ERROR_PROPERTY_READ_ONLY "org.freedesktop.DBus.Error.PropertyReadOnly" -#endif - -struct generic_data { - unsigned int refcount; - DBusConnection *conn; - char *path; - GSList *interfaces; - GSList *objects; - GSList *added; - GSList *removed; - guint process_id; - gboolean pending_prop; - char *introspect; - struct generic_data *parent; -}; - -struct interface_data { - char *name; - const GDBusMethodTable *methods; - const GDBusSignalTable *signals; - const GDBusPropertyTable *properties; - GSList *pending_prop; - void *user_data; - GDBusDestroyFunction destroy; -}; - -struct security_data { - GDBusPendingReply pending; - DBusMessage *message; - const GDBusMethodTable *method; - void *iface_user_data; -}; - -struct property_data { - DBusConnection *conn; - GDBusPendingPropertySet id; - DBusMessage *message; -}; - -static int global_flags = 0; -static struct generic_data *root; - -static gboolean process_changes(gpointer user_data); -static void process_properties_from_interface(struct generic_data *data, - struct interface_data *iface); -static void process_property_changes(struct generic_data *data); - -static void print_arguments(GString *gstr, const GDBusArgInfo *args, - const char *direction) -{ - for (; args && args->name; args++) { - g_string_append_printf(gstr, - "name, args->signature); - - if (direction) - g_string_append_printf(gstr, - " direction=\"%s\"/>\n", direction); - else - g_string_append_printf(gstr, "/>\n"); - - } -} - -#define G_DBUS_ANNOTATE(name_, value_) \ - "" - -#define G_DBUS_ANNOTATE_DEPRECATED \ - G_DBUS_ANNOTATE("Deprecated", "true") - -#define G_DBUS_ANNOTATE_NOREPLY \ - G_DBUS_ANNOTATE("Method.NoReply", "true") - -static gboolean check_experimental(int flags, int flag) -{ - if (!(flags & flag)) - return FALSE; - - return !(global_flags & G_DBUS_FLAG_ENABLE_EXPERIMENTAL); -} - -static void generate_interface_xml(GString *gstr, struct interface_data *iface) -{ - const GDBusMethodTable *method; - const GDBusSignalTable *signal; - const GDBusPropertyTable *property; - - for (method = iface->methods; method && method->name; method++) { - if (check_experimental(method->flags, - G_DBUS_METHOD_FLAG_EXPERIMENTAL)) - continue; - - g_string_append_printf(gstr, "", - method->name); - print_arguments(gstr, method->in_args, "in"); - print_arguments(gstr, method->out_args, "out"); - - if (method->flags & G_DBUS_METHOD_FLAG_DEPRECATED) - g_string_append_printf(gstr, - G_DBUS_ANNOTATE_DEPRECATED); - - if (method->flags & G_DBUS_METHOD_FLAG_NOREPLY) - g_string_append_printf(gstr, G_DBUS_ANNOTATE_NOREPLY); - - g_string_append_printf(gstr, ""); - } - - for (signal = iface->signals; signal && signal->name; signal++) { - if (check_experimental(signal->flags, - G_DBUS_SIGNAL_FLAG_EXPERIMENTAL)) - continue; - - g_string_append_printf(gstr, "", - signal->name); - print_arguments(gstr, signal->args, NULL); - - if (signal->flags & G_DBUS_SIGNAL_FLAG_DEPRECATED) - g_string_append_printf(gstr, - G_DBUS_ANNOTATE_DEPRECATED); - - g_string_append_printf(gstr, "\n"); - } - - for (property = iface->properties; property && property->name; - property++) { - if (check_experimental(property->flags, - G_DBUS_PROPERTY_FLAG_EXPERIMENTAL)) - continue; - - g_string_append_printf(gstr, "", - property->name, property->type, - property->get ? "read" : "", - property->set ? "write" : ""); - - if (property->flags & G_DBUS_PROPERTY_FLAG_DEPRECATED) - g_string_append_printf(gstr, - G_DBUS_ANNOTATE_DEPRECATED); - - g_string_append_printf(gstr, ""); - } -} - -static void generate_introspection_xml(DBusConnection *conn, - struct generic_data *data, const char *path) -{ - GSList *list; - GString *gstr; - char **children; - int i; - - g_free(data->introspect); - - gstr = g_string_new(DBUS_INTROSPECT_1_0_XML_DOCTYPE_DECL_NODE); - - g_string_append_printf(gstr, ""); - - for (list = data->interfaces; list; list = list->next) { - struct interface_data *iface = list->data; - - g_string_append_printf(gstr, "", - iface->name); - - generate_interface_xml(gstr, iface); - - g_string_append_printf(gstr, ""); - } - - if (!dbus_connection_list_registered(conn, path, &children)) - goto done; - - for (i = 0; children[i]; i++) - g_string_append_printf(gstr, "", - children[i]); - - dbus_free_string_array(children); - -done: - g_string_append_printf(gstr, ""); - - data->introspect = g_string_free(gstr, FALSE); -} - -static DBusMessage *introspect(DBusConnection *connection, - DBusMessage *message, void *user_data) -{ - struct generic_data *data = user_data; - DBusMessage *reply; - - if (data->introspect == NULL) - generate_introspection_xml(connection, data, - dbus_message_get_path(message)); - - reply = dbus_message_new_method_return(message); - if (reply == NULL) - return NULL; - - dbus_message_append_args(reply, DBUS_TYPE_STRING, &data->introspect, - DBUS_TYPE_INVALID); - - return reply; -} - -static DBusHandlerResult process_message(DBusConnection *connection, - DBusMessage *message, const GDBusMethodTable *method, - void *iface_user_data) -{ - DBusMessage *reply; - - reply = method->function(connection, message, iface_user_data); - - if (method->flags & G_DBUS_METHOD_FLAG_NOREPLY) { - if (reply != NULL) - dbus_message_unref(reply); - return DBUS_HANDLER_RESULT_HANDLED; - } - - if (method->flags & G_DBUS_METHOD_FLAG_ASYNC) { - if (reply == NULL) - return DBUS_HANDLER_RESULT_HANDLED; - } - - if (reply == NULL) - return DBUS_HANDLER_RESULT_NEED_MEMORY; - - dbus_connection_send(connection, reply, NULL); - dbus_message_unref(reply); - - return DBUS_HANDLER_RESULT_HANDLED; -} - -static GDBusPendingReply next_pending = 1; -static GSList *pending_security = NULL; - -static const GDBusSecurityTable *security_table = NULL; - -void g_dbus_pending_success(DBusConnection *connection, - GDBusPendingReply pending) -{ - GSList *list; - - for (list = pending_security; list; list = list->next) { - struct security_data *secdata = list->data; - - if (secdata->pending != pending) - continue; - - pending_security = g_slist_remove(pending_security, secdata); - - process_message(connection, secdata->message, - secdata->method, secdata->iface_user_data); - - dbus_message_unref(secdata->message); - g_free(secdata); - return; - } -} - -void g_dbus_pending_error_valist(DBusConnection *connection, - GDBusPendingReply pending, const char *name, - const char *format, va_list args) -{ - GSList *list; - - for (list = pending_security; list; list = list->next) { - struct security_data *secdata = list->data; - DBusMessage *reply; - - if (secdata->pending != pending) - continue; - - pending_security = g_slist_remove(pending_security, secdata); - - reply = g_dbus_create_error_valist(secdata->message, - name, format, args); - if (reply != NULL) { - dbus_connection_send(connection, reply, NULL); - dbus_message_unref(reply); - } - - dbus_message_unref(secdata->message); - g_free(secdata); - return; - } -} - -void g_dbus_pending_error(DBusConnection *connection, - GDBusPendingReply pending, - const char *name, const char *format, ...) -{ - va_list args; - - va_start(args, format); - - g_dbus_pending_error_valist(connection, pending, name, format, args); - - va_end(args); -} - -int polkit_check_authorization(DBusConnection *conn, - const char *action, gboolean interaction, - void (*function) (dbus_bool_t authorized, - void *user_data), - void *user_data, int timeout); - -struct builtin_security_data { - DBusConnection *conn; - GDBusPendingReply pending; -}; - -static void builtin_security_result(dbus_bool_t authorized, void *user_data) -{ - struct builtin_security_data *data = user_data; - - if (authorized == TRUE) - g_dbus_pending_success(data->conn, data->pending); - else - g_dbus_pending_error(data->conn, data->pending, - DBUS_ERROR_AUTH_FAILED, NULL); - - g_free(data); -} - -static void builtin_security_function(DBusConnection *conn, - const char *action, - gboolean interaction, - GDBusPendingReply pending) -{ - struct builtin_security_data *data; - - data = g_new0(struct builtin_security_data, 1); - data->conn = conn; - data->pending = pending; - - if (polkit_check_authorization(conn, action, interaction, - builtin_security_result, data, 30000) < 0) - g_dbus_pending_error(conn, pending, NULL, NULL); -} - -static gboolean check_privilege(DBusConnection *conn, DBusMessage *msg, - const GDBusMethodTable *method, void *iface_user_data) -{ - const GDBusSecurityTable *security; - - for (security = security_table; security && security->privilege; - security++) { - struct security_data *secdata; - gboolean interaction; - - if (security->privilege != method->privilege) - continue; - - secdata = g_new(struct security_data, 1); - secdata->pending = next_pending++; - secdata->message = dbus_message_ref(msg); - secdata->method = method; - secdata->iface_user_data = iface_user_data; - - pending_security = g_slist_prepend(pending_security, secdata); - - if (security->flags & G_DBUS_SECURITY_FLAG_ALLOW_INTERACTION) - interaction = TRUE; - else - interaction = FALSE; - - if (!(security->flags & G_DBUS_SECURITY_FLAG_BUILTIN) && - security->function) - security->function(conn, security->action, - interaction, secdata->pending); - else - builtin_security_function(conn, security->action, - interaction, secdata->pending); - - return TRUE; - } - - return FALSE; -} - -static GDBusPendingPropertySet next_pending_property = 1; -static GSList *pending_property_set; - -static struct property_data *remove_pending_property_data( - GDBusPendingPropertySet id) -{ - struct property_data *propdata; - GSList *l; - - for (l = pending_property_set; l != NULL; l = l->next) { - propdata = l->data; - if (propdata->id != id) - continue; - - break; - } - - if (l == NULL) - return NULL; - - pending_property_set = g_slist_delete_link(pending_property_set, l); - - return propdata; -} - -void g_dbus_pending_property_success(GDBusPendingPropertySet id) -{ - struct property_data *propdata; - - propdata = remove_pending_property_data(id); - if (propdata == NULL) - return; - - g_dbus_send_reply(propdata->conn, propdata->message, - DBUS_TYPE_INVALID); - dbus_message_unref(propdata->message); - g_free(propdata); -} - -void g_dbus_pending_property_error_valist(GDBusPendingReply id, - const char *name, const char *format, - va_list args) -{ - struct property_data *propdata; - DBusMessage *reply; - - propdata = remove_pending_property_data(id); - if (propdata == NULL) - return; - - reply = g_dbus_create_error_valist(propdata->message, name, format, - args); - if (reply != NULL) { - dbus_connection_send(propdata->conn, reply, NULL); - dbus_message_unref(reply); - } - - dbus_message_unref(propdata->message); - g_free(propdata); -} - -void g_dbus_pending_property_error(GDBusPendingReply id, const char *name, - const char *format, ...) -{ - va_list args; - - va_start(args, format); - - g_dbus_pending_property_error_valist(id, name, format, args); - - va_end(args); -} - -static void reset_parent(gpointer data, gpointer user_data) -{ - struct generic_data *child = data; - struct generic_data *parent = user_data; - - child->parent = parent; -} - -static void append_property(struct interface_data *iface, - const GDBusPropertyTable *p, DBusMessageIter *dict) -{ - DBusMessageIter entry, value; - - dbus_message_iter_open_container(dict, DBUS_TYPE_DICT_ENTRY, NULL, - &entry); - dbus_message_iter_append_basic(&entry, DBUS_TYPE_STRING, &p->name); - dbus_message_iter_open_container(&entry, DBUS_TYPE_VARIANT, p->type, - &value); - - p->get(p, &value, iface->user_data); - - dbus_message_iter_close_container(&entry, &value); - dbus_message_iter_close_container(dict, &entry); -} - -static void append_properties(struct interface_data *data, - DBusMessageIter *iter) -{ - DBusMessageIter dict; - const GDBusPropertyTable *p; - - dbus_message_iter_open_container(iter, DBUS_TYPE_ARRAY, - DBUS_DICT_ENTRY_BEGIN_CHAR_AS_STRING - DBUS_TYPE_STRING_AS_STRING - DBUS_TYPE_VARIANT_AS_STRING - DBUS_DICT_ENTRY_END_CHAR_AS_STRING, &dict); - - for (p = data->properties; p && p->name; p++) { - if (check_experimental(p->flags, - G_DBUS_PROPERTY_FLAG_EXPERIMENTAL)) - continue; - - if (p->get == NULL) - continue; - - if (p->exists != NULL && !p->exists(p, data->user_data)) - continue; - - append_property(data, p, &dict); - } - - dbus_message_iter_close_container(iter, &dict); -} - -static void append_interface(gpointer data, gpointer user_data) -{ - struct interface_data *iface = data; - DBusMessageIter *array = user_data; - DBusMessageIter entry; - - dbus_message_iter_open_container(array, DBUS_TYPE_DICT_ENTRY, NULL, - &entry); - dbus_message_iter_append_basic(&entry, DBUS_TYPE_STRING, &iface->name); - append_properties(data, &entry); - dbus_message_iter_close_container(array, &entry); -} - -static void emit_interfaces_added(struct generic_data *data) -{ - DBusMessage *signal; - DBusMessageIter iter, array; - - if (root == NULL || data == root) - return; - - signal = dbus_message_new_signal(root->path, - DBUS_INTERFACE_OBJECT_MANAGER, - "InterfacesAdded"); - if (signal == NULL) - return; - - dbus_message_iter_init_append(signal, &iter); - dbus_message_iter_append_basic(&iter, DBUS_TYPE_OBJECT_PATH, - &data->path); - - dbus_message_iter_open_container(&iter, DBUS_TYPE_ARRAY, - DBUS_DICT_ENTRY_BEGIN_CHAR_AS_STRING - DBUS_TYPE_STRING_AS_STRING - DBUS_TYPE_ARRAY_AS_STRING - DBUS_DICT_ENTRY_BEGIN_CHAR_AS_STRING - DBUS_TYPE_STRING_AS_STRING - DBUS_TYPE_VARIANT_AS_STRING - DBUS_DICT_ENTRY_END_CHAR_AS_STRING - DBUS_DICT_ENTRY_END_CHAR_AS_STRING, &array); - - g_slist_foreach(data->added, append_interface, &array); - g_slist_free(data->added); - data->added = NULL; - - dbus_message_iter_close_container(&iter, &array); - - g_dbus_send_message(data->conn, signal); -} - -static struct interface_data *find_interface(GSList *interfaces, - const char *name) -{ - GSList *list; - - if (name == NULL) - return NULL; - - for (list = interfaces; list; list = list->next) { - struct interface_data *iface = list->data; - if (!strcmp(name, iface->name)) - return iface; - } - - return NULL; -} - -static gboolean g_dbus_args_have_signature(const GDBusArgInfo *args, - DBusMessage *message) -{ - const char *sig = dbus_message_get_signature(message); - const char *p = NULL; - - for (; args && args->signature && *sig; args++) { - p = args->signature; - - for (; *sig && *p; sig++, p++) { - if (*p != *sig) - return FALSE; - } - } - - if (*sig || (p && *p) || (args && args->signature)) - return FALSE; - - return TRUE; -} - -static gboolean remove_interface(struct generic_data *data, const char *name) -{ - struct interface_data *iface; - - iface = find_interface(data->interfaces, name); - if (iface == NULL) - return FALSE; - - process_properties_from_interface(data, iface); - - data->interfaces = g_slist_remove(data->interfaces, iface); - - if (iface->destroy) { - iface->destroy(iface->user_data); - iface->user_data = NULL; - } - - /* - * Interface being removed was just added, on the same mainloop - * iteration? Don't send any signal - */ - if (g_slist_find(data->added, iface)) { - data->added = g_slist_remove(data->added, iface); - g_free(iface->name); - g_free(iface); - return TRUE; - } - - if (data->parent == NULL) { - g_free(iface->name); - g_free(iface); - return TRUE; - } - - data->removed = g_slist_prepend(data->removed, iface->name); - g_free(iface); - - if (data->process_id > 0) - return TRUE; - - data->process_id = g_idle_add(process_changes, data); - - return TRUE; -} - -static struct generic_data *invalidate_parent_data(DBusConnection *conn, - const char *child_path) -{ - struct generic_data *data = NULL, *child = NULL, *parent = NULL; - char *parent_path, *slash; - - parent_path = g_strdup(child_path); - slash = strrchr(parent_path, '/'); - if (slash == NULL) - goto done; - - if (slash == parent_path && parent_path[1] != '\0') - parent_path[1] = '\0'; - else - *slash = '\0'; - - if (!strlen(parent_path)) - goto done; - - if (dbus_connection_get_object_path_data(conn, parent_path, - (void *) &data) == FALSE) { - goto done; - } - - parent = invalidate_parent_data(conn, parent_path); - - if (data == NULL) { - data = parent; - if (data == NULL) - goto done; - } - - g_free(data->introspect); - data->introspect = NULL; - - if (!dbus_connection_get_object_path_data(conn, child_path, - (void *) &child)) - goto done; - - if (child == NULL || g_slist_find(data->objects, child) != NULL) - goto done; - - data->objects = g_slist_prepend(data->objects, child); - child->parent = data; - -done: - g_free(parent_path); - return data; -} - -static inline const GDBusPropertyTable *find_property(const GDBusPropertyTable *properties, - const char *name) -{ - const GDBusPropertyTable *p; - - for (p = properties; p && p->name; p++) { - if (strcmp(name, p->name) != 0) - continue; - - if (check_experimental(p->flags, - G_DBUS_PROPERTY_FLAG_EXPERIMENTAL)) - break; - - return p; - } - - return NULL; -} - -static DBusMessage *properties_get(DBusConnection *connection, - DBusMessage *message, void *user_data) -{ - struct generic_data *data = user_data; - struct interface_data *iface; - const GDBusPropertyTable *property; - const char *interface, *name; - DBusMessageIter iter, value; - DBusMessage *reply; - - if (!dbus_message_get_args(message, NULL, - DBUS_TYPE_STRING, &interface, - DBUS_TYPE_STRING, &name, - DBUS_TYPE_INVALID)) - return NULL; - - iface = find_interface(data->interfaces, interface); - if (iface == NULL) - return g_dbus_create_error(message, DBUS_ERROR_INVALID_ARGS, - "No such interface '%s'", interface); - - property = find_property(iface->properties, name); - if (property == NULL) - return g_dbus_create_error(message, DBUS_ERROR_INVALID_ARGS, - "No such property '%s'", name); - - if (property->exists != NULL && - !property->exists(property, iface->user_data)) - return g_dbus_create_error(message, DBUS_ERROR_INVALID_ARGS, - "No such property '%s'", name); - - if (property->get == NULL) - return g_dbus_create_error(message, DBUS_ERROR_INVALID_ARGS, - "Property '%s' is not readable", name); - - reply = dbus_message_new_method_return(message); - if (reply == NULL) - return NULL; - - dbus_message_iter_init_append(reply, &iter); - dbus_message_iter_open_container(&iter, DBUS_TYPE_VARIANT, - property->type, &value); - - if (!property->get(property, &value, iface->user_data)) { - dbus_message_unref(reply); - return NULL; - } - - dbus_message_iter_close_container(&iter, &value); - - return reply; -} - -static DBusMessage *properties_get_all(DBusConnection *connection, - DBusMessage *message, void *user_data) -{ - struct generic_data *data = user_data; - struct interface_data *iface; - const char *interface; - DBusMessageIter iter; - DBusMessage *reply; - - if (!dbus_message_get_args(message, NULL, - DBUS_TYPE_STRING, &interface, - DBUS_TYPE_INVALID)) - return NULL; - - iface = find_interface(data->interfaces, interface); - if (iface == NULL) - return g_dbus_create_error(message, DBUS_ERROR_INVALID_ARGS, - "No such interface '%s'", interface); - - reply = dbus_message_new_method_return(message); - if (reply == NULL) - return NULL; - - dbus_message_iter_init_append(reply, &iter); - - append_properties(iface, &iter); - - return reply; -} - -static DBusMessage *properties_set(DBusConnection *connection, - DBusMessage *message, void *user_data) -{ - struct generic_data *data = user_data; - DBusMessageIter iter, sub; - struct interface_data *iface; - const GDBusPropertyTable *property; - const char *name, *interface; - struct property_data *propdata; - gboolean valid_signature; - char *signature; - - if (!dbus_message_iter_init(message, &iter)) - return g_dbus_create_error(message, DBUS_ERROR_INVALID_ARGS, - "No arguments given"); - - if (dbus_message_iter_get_arg_type(&iter) != DBUS_TYPE_STRING) - return g_dbus_create_error(message, DBUS_ERROR_INVALID_ARGS, - "Invalid argument type: '%c'", - dbus_message_iter_get_arg_type(&iter)); - - dbus_message_iter_get_basic(&iter, &interface); - dbus_message_iter_next(&iter); - - if (dbus_message_iter_get_arg_type(&iter) != DBUS_TYPE_STRING) - return g_dbus_create_error(message, DBUS_ERROR_INVALID_ARGS, - "Invalid argument type: '%c'", - dbus_message_iter_get_arg_type(&iter)); - - dbus_message_iter_get_basic(&iter, &name); - dbus_message_iter_next(&iter); - - if (dbus_message_iter_get_arg_type(&iter) != DBUS_TYPE_VARIANT) - return g_dbus_create_error(message, DBUS_ERROR_INVALID_ARGS, - "Invalid argument type: '%c'", - dbus_message_iter_get_arg_type(&iter)); - - dbus_message_iter_recurse(&iter, &sub); - - iface = find_interface(data->interfaces, interface); - if (iface == NULL) - return g_dbus_create_error(message, DBUS_ERROR_INVALID_ARGS, - "No such interface '%s'", interface); - - property = find_property(iface->properties, name); - if (property == NULL) - return g_dbus_create_error(message, - DBUS_ERROR_UNKNOWN_PROPERTY, - "No such property '%s'", name); - - if (property->set == NULL) - return g_dbus_create_error(message, - DBUS_ERROR_PROPERTY_READ_ONLY, - "Property '%s' is not writable", name); - - if (property->exists != NULL && - !property->exists(property, iface->user_data)) - return g_dbus_create_error(message, - DBUS_ERROR_UNKNOWN_PROPERTY, - "No such property '%s'", name); - - signature = dbus_message_iter_get_signature(&sub); - valid_signature = strcmp(signature, property->type) ? FALSE : TRUE; - dbus_free(signature); - if (!valid_signature) - return g_dbus_create_error(message, - DBUS_ERROR_INVALID_SIGNATURE, - "Invalid signature for '%s'", name); - - propdata = g_new(struct property_data, 1); - propdata->id = next_pending_property++; - propdata->message = dbus_message_ref(message); - propdata->conn = connection; - pending_property_set = g_slist_prepend(pending_property_set, propdata); - - property->set(property, &sub, propdata->id, iface->user_data); - - return NULL; -} - -static const GDBusMethodTable properties_methods[] = { - { GDBUS_METHOD("Get", - GDBUS_ARGS({ "interface", "s" }, { "name", "s" }), - GDBUS_ARGS({ "value", "v" }), - properties_get) }, - { GDBUS_ASYNC_METHOD("Set", - GDBUS_ARGS({ "interface", "s" }, { "name", "s" }, - { "value", "v" }), - NULL, - properties_set) }, - { GDBUS_METHOD("GetAll", - GDBUS_ARGS({ "interface", "s" }), - GDBUS_ARGS({ "properties", "a{sv}" }), - properties_get_all) }, - { } -}; - -static const GDBusSignalTable properties_signals[] = { - { GDBUS_SIGNAL("PropertiesChanged", - GDBUS_ARGS({ "interface", "s" }, - { "changed_properties", "a{sv}" }, - { "invalidated_properties", "as"})) }, - { } -}; - -static void append_name(gpointer data, gpointer user_data) -{ - char *name = data; - DBusMessageIter *iter = user_data; - - dbus_message_iter_append_basic(iter, DBUS_TYPE_STRING, &name); -} - -static void emit_interfaces_removed(struct generic_data *data) -{ - DBusMessage *signal; - DBusMessageIter iter, array; - - if (root == NULL || data == root) - return; - - signal = dbus_message_new_signal(root->path, - DBUS_INTERFACE_OBJECT_MANAGER, - "InterfacesRemoved"); - if (signal == NULL) - return; - - dbus_message_iter_init_append(signal, &iter); - dbus_message_iter_append_basic(&iter, DBUS_TYPE_OBJECT_PATH, - &data->path); - dbus_message_iter_open_container(&iter, DBUS_TYPE_ARRAY, - DBUS_TYPE_STRING_AS_STRING, &array); - - g_slist_foreach(data->removed, append_name, &array); - g_slist_free_full(data->removed, g_free); - data->removed = NULL; - - dbus_message_iter_close_container(&iter, &array); - - g_dbus_send_message(data->conn, signal); -} - -static gboolean process_changes(gpointer user_data) -{ - struct generic_data *data = user_data; - - data->process_id = 0; - - if (data->added != NULL) - emit_interfaces_added(data); - - /* Flush pending properties */ - if (data->pending_prop == TRUE) - process_property_changes(data); - - if (data->removed != NULL) - emit_interfaces_removed(data); - - return FALSE; -} - -static void generic_unregister(DBusConnection *connection, void *user_data) -{ - struct generic_data *data = user_data; - struct generic_data *parent = data->parent; - - if (parent != NULL) - parent->objects = g_slist_remove(parent->objects, data); - - if (data->process_id > 0) { - g_source_remove(data->process_id); - process_changes(data); - } - - g_slist_foreach(data->objects, reset_parent, data->parent); - g_slist_free(data->objects); - - dbus_connection_unref(data->conn); - g_free(data->introspect); - g_free(data->path); - g_free(data); -} - -static DBusHandlerResult generic_message(DBusConnection *connection, - DBusMessage *message, void *user_data) -{ - struct generic_data *data = user_data; - struct interface_data *iface; - const GDBusMethodTable *method; - const char *interface; - - interface = dbus_message_get_interface(message); - - iface = find_interface(data->interfaces, interface); - if (iface == NULL) - return DBUS_HANDLER_RESULT_NOT_YET_HANDLED; - - for (method = iface->methods; method && - method->name && method->function; method++) { - - if (dbus_message_is_method_call(message, iface->name, - method->name) == FALSE) - continue; - - if (check_experimental(method->flags, - G_DBUS_METHOD_FLAG_EXPERIMENTAL)) - return DBUS_HANDLER_RESULT_NOT_YET_HANDLED; - - if (g_dbus_args_have_signature(method->in_args, - message) == FALSE) - continue; - - if (check_privilege(connection, message, method, - iface->user_data) == TRUE) - return DBUS_HANDLER_RESULT_HANDLED; - - return process_message(connection, message, method, - iface->user_data); - } - - return DBUS_HANDLER_RESULT_NOT_YET_HANDLED; -} - -static DBusObjectPathVTable generic_table = { - .unregister_function = generic_unregister, - .message_function = generic_message, -}; - -static const GDBusMethodTable introspect_methods[] = { - { GDBUS_METHOD("Introspect", NULL, - GDBUS_ARGS({ "xml", "s" }), introspect) }, - { } -}; - -static void append_interfaces(struct generic_data *data, DBusMessageIter *iter) -{ - DBusMessageIter array; - GSList *l; - - dbus_message_iter_open_container(iter, DBUS_TYPE_ARRAY, - DBUS_DICT_ENTRY_BEGIN_CHAR_AS_STRING - DBUS_TYPE_STRING_AS_STRING - DBUS_TYPE_ARRAY_AS_STRING - DBUS_DICT_ENTRY_BEGIN_CHAR_AS_STRING - DBUS_TYPE_STRING_AS_STRING - DBUS_TYPE_VARIANT_AS_STRING - DBUS_DICT_ENTRY_END_CHAR_AS_STRING - DBUS_DICT_ENTRY_END_CHAR_AS_STRING, &array); - - for (l = data->interfaces; l != NULL; l = l->next) { - if (g_slist_find(data->added, l->data)) - continue; - - append_interface(l->data, &array); - } - - dbus_message_iter_close_container(iter, &array); -} - -static void append_object(gpointer data, gpointer user_data) -{ - struct generic_data *child = data; - DBusMessageIter *array = user_data; - DBusMessageIter entry; - - dbus_message_iter_open_container(array, DBUS_TYPE_DICT_ENTRY, NULL, - &entry); - dbus_message_iter_append_basic(&entry, DBUS_TYPE_OBJECT_PATH, - &child->path); - append_interfaces(child, &entry); - dbus_message_iter_close_container(array, &entry); - - g_slist_foreach(child->objects, append_object, user_data); -} - -static DBusMessage *get_objects(DBusConnection *connection, - DBusMessage *message, void *user_data) -{ - struct generic_data *data = user_data; - DBusMessage *reply; - DBusMessageIter iter; - DBusMessageIter array; - - reply = dbus_message_new_method_return(message); - if (reply == NULL) - return NULL; - - dbus_message_iter_init_append(reply, &iter); - - dbus_message_iter_open_container(&iter, DBUS_TYPE_ARRAY, - DBUS_DICT_ENTRY_BEGIN_CHAR_AS_STRING - DBUS_TYPE_OBJECT_PATH_AS_STRING - DBUS_TYPE_ARRAY_AS_STRING - DBUS_DICT_ENTRY_BEGIN_CHAR_AS_STRING - DBUS_TYPE_STRING_AS_STRING - DBUS_TYPE_ARRAY_AS_STRING - DBUS_DICT_ENTRY_BEGIN_CHAR_AS_STRING - DBUS_TYPE_STRING_AS_STRING - DBUS_TYPE_VARIANT_AS_STRING - DBUS_DICT_ENTRY_END_CHAR_AS_STRING - DBUS_DICT_ENTRY_END_CHAR_AS_STRING - DBUS_DICT_ENTRY_END_CHAR_AS_STRING, - &array); - - g_slist_foreach(data->objects, append_object, &array); - - dbus_message_iter_close_container(&iter, &array); - - return reply; -} - -static const GDBusMethodTable manager_methods[] = { - { GDBUS_METHOD("GetManagedObjects", NULL, - GDBUS_ARGS({ "objects", "a{oa{sa{sv}}}" }), get_objects) }, - { } -}; - -static const GDBusSignalTable manager_signals[] = { - { GDBUS_SIGNAL("InterfacesAdded", - GDBUS_ARGS({ "object", "o" }, - { "interfaces", "a{sa{sv}}" })) }, - { GDBUS_SIGNAL("InterfacesRemoved", - GDBUS_ARGS({ "object", "o" }, { "interfaces", "as" })) }, - { } -}; - -static gboolean add_interface(struct generic_data *data, - const char *name, - const GDBusMethodTable *methods, - const GDBusSignalTable *signals, - const GDBusPropertyTable *properties, - void *user_data, - GDBusDestroyFunction destroy) -{ - struct interface_data *iface; - const GDBusMethodTable *method; - const GDBusSignalTable *signal; - const GDBusPropertyTable *property; - - for (method = methods; method && method->name; method++) { - if (!check_experimental(method->flags, - G_DBUS_METHOD_FLAG_EXPERIMENTAL)) - goto done; - } - - for (signal = signals; signal && signal->name; signal++) { - if (!check_experimental(signal->flags, - G_DBUS_SIGNAL_FLAG_EXPERIMENTAL)) - goto done; - } - - for (property = properties; property && property->name; property++) { - if (!check_experimental(property->flags, - G_DBUS_PROPERTY_FLAG_EXPERIMENTAL)) - goto done; - } - - /* Nothing to register */ - return FALSE; - -done: - iface = g_new0(struct interface_data, 1); - iface->name = g_strdup(name); - iface->methods = methods; - iface->signals = signals; - iface->properties = properties; - iface->user_data = user_data; - iface->destroy = destroy; - - data->interfaces = g_slist_append(data->interfaces, iface); - if (data->parent == NULL) - return TRUE; - - data->added = g_slist_append(data->added, iface); - if (data->process_id > 0) - return TRUE; - - data->process_id = g_idle_add(process_changes, data); - - return TRUE; -} - -static struct generic_data *object_path_ref(DBusConnection *connection, - const char *path) -{ - struct generic_data *data; - - if (dbus_connection_get_object_path_data(connection, path, - (void *) &data) == TRUE) { - if (data != NULL) { - data->refcount++; - return data; - } - } - - data = g_new0(struct generic_data, 1); - data->conn = dbus_connection_ref(connection); - data->path = g_strdup(path); - data->refcount = 1; - - data->introspect = g_strdup(DBUS_INTROSPECT_1_0_XML_DOCTYPE_DECL_NODE ""); - - if (!dbus_connection_register_object_path(connection, path, - &generic_table, data)) { - g_free(data->introspect); - g_free(data); - return NULL; - } - - invalidate_parent_data(connection, path); - - add_interface(data, DBUS_INTERFACE_INTROSPECTABLE, introspect_methods, - NULL, NULL, data, NULL); - - return data; -} - -static void object_path_unref(DBusConnection *connection, const char *path) -{ - struct generic_data *data = NULL; - - if (dbus_connection_get_object_path_data(connection, path, - (void *) &data) == FALSE) - return; - - if (data == NULL) - return; - - data->refcount--; - - if (data->refcount > 0) - return; - - remove_interface(data, DBUS_INTERFACE_INTROSPECTABLE); - remove_interface(data, DBUS_INTERFACE_PROPERTIES); - - invalidate_parent_data(data->conn, data->path); - - dbus_connection_unregister_object_path(data->conn, data->path); -} - -static gboolean check_signal(DBusConnection *conn, const char *path, - const char *interface, const char *name, - const GDBusArgInfo **args) -{ - struct generic_data *data = NULL; - struct interface_data *iface; - const GDBusSignalTable *signal; - - *args = NULL; - if (!dbus_connection_get_object_path_data(conn, path, - (void *) &data) || data == NULL) { - error("dbus_connection_emit_signal: path %s isn't registered", - path); - return FALSE; - } - - iface = find_interface(data->interfaces, interface); - if (iface == NULL) { - error("dbus_connection_emit_signal: %s does not implement %s", - path, interface); - return FALSE; - } - - for (signal = iface->signals; signal && signal->name; signal++) { - if (strcmp(signal->name, name) != 0) - continue; - - if (signal->flags & G_DBUS_SIGNAL_FLAG_EXPERIMENTAL) { - const char *env = g_getenv("GDBUS_EXPERIMENTAL"); - if (g_strcmp0(env, "1") != 0) - break; - } - - *args = signal->args; - return TRUE; - } - - error("No signal named %s on interface %s", name, interface); - return FALSE; -} - -static dbus_bool_t emit_signal_valist(DBusConnection *conn, - const char *path, - const char *interface, - const char *name, - int first, - va_list var_args) -{ - DBusMessage *signal; - dbus_bool_t ret; - const GDBusArgInfo *args; - - if (!check_signal(conn, path, interface, name, &args)) - return FALSE; - - signal = dbus_message_new_signal(path, interface, name); - if (signal == NULL) { - error("Unable to allocate new %s.%s signal", interface, name); - return FALSE; - } - - ret = dbus_message_append_args_valist(signal, first, var_args); - if (!ret) - goto fail; - - if (g_dbus_args_have_signature(args, signal) == FALSE) { - error("%s.%s: got unexpected signature '%s'", interface, name, - dbus_message_get_signature(signal)); - ret = FALSE; - goto fail; - } - - ret = dbus_connection_send(conn, signal, NULL); - -fail: - dbus_message_unref(signal); - - return ret; -} - -gboolean g_dbus_register_interface(DBusConnection *connection, - const char *path, const char *name, - const GDBusMethodTable *methods, - const GDBusSignalTable *signals, - const GDBusPropertyTable *properties, - void *user_data, - GDBusDestroyFunction destroy) -{ - struct generic_data *data; - - data = object_path_ref(connection, path); - if (data == NULL) - return FALSE; - - if (find_interface(data->interfaces, name)) { - object_path_unref(connection, path); - return FALSE; - } - - if (!add_interface(data, name, methods, signals, properties, user_data, - destroy)) { - object_path_unref(connection, path); - return FALSE; - } - - if (properties != NULL && !find_interface(data->interfaces, - DBUS_INTERFACE_PROPERTIES)) - add_interface(data, DBUS_INTERFACE_PROPERTIES, - properties_methods, properties_signals, NULL, - data, NULL); - - g_free(data->introspect); - data->introspect = NULL; - - return TRUE; -} - -gboolean g_dbus_unregister_interface(DBusConnection *connection, - const char *path, const char *name) -{ - struct generic_data *data = NULL; - - if (path == NULL) - return FALSE; - - if (dbus_connection_get_object_path_data(connection, path, - (void *) &data) == FALSE) - return FALSE; - - if (data == NULL) - return FALSE; - - if (remove_interface(data, name) == FALSE) - return FALSE; - - g_free(data->introspect); - data->introspect = NULL; - - object_path_unref(connection, data->path); - - return TRUE; -} - -gboolean g_dbus_register_security(const GDBusSecurityTable *security) -{ - if (security_table != NULL) - return FALSE; - - security_table = security; - - return TRUE; -} - -gboolean g_dbus_unregister_security(const GDBusSecurityTable *security) -{ - security_table = NULL; - - return TRUE; -} - -DBusMessage *g_dbus_create_error_valist(DBusMessage *message, const char *name, - const char *format, va_list args) -{ - char str[1024]; - - vsnprintf(str, sizeof(str), format, args); - - return dbus_message_new_error(message, name, str); -} - -DBusMessage *g_dbus_create_error(DBusMessage *message, const char *name, - const char *format, ...) -{ - va_list args; - DBusMessage *reply; - - va_start(args, format); - - reply = g_dbus_create_error_valist(message, name, format, args); - - va_end(args); - - return reply; -} - -DBusMessage *g_dbus_create_reply_valist(DBusMessage *message, - int type, va_list args) -{ - DBusMessage *reply; - - reply = dbus_message_new_method_return(message); - if (reply == NULL) - return NULL; - - if (dbus_message_append_args_valist(reply, type, args) == FALSE) { - dbus_message_unref(reply); - return NULL; - } - - return reply; -} - -DBusMessage *g_dbus_create_reply(DBusMessage *message, int type, ...) -{ - va_list args; - DBusMessage *reply; - - va_start(args, type); - - reply = g_dbus_create_reply_valist(message, type, args); - - va_end(args); - - return reply; -} - -gboolean g_dbus_send_message(DBusConnection *connection, DBusMessage *message) -{ - dbus_bool_t result = FALSE; - - if (dbus_message_get_type(message) == DBUS_MESSAGE_TYPE_METHOD_CALL) - dbus_message_set_no_reply(message, TRUE); - else if (dbus_message_get_type(message) == DBUS_MESSAGE_TYPE_SIGNAL) { - const char *path = dbus_message_get_path(message); - const char *interface = dbus_message_get_interface(message); - const char *name = dbus_message_get_member(message); - const GDBusArgInfo *args; - - if (!check_signal(connection, path, interface, name, &args)) - goto out; - } - - result = dbus_connection_send(connection, message, NULL); - -out: - dbus_message_unref(message); - - return result; -} - -gboolean g_dbus_send_error_valist(DBusConnection *connection, - DBusMessage *message, const char *name, - const char *format, va_list args) -{ - DBusMessage *error; - char str[1024]; - - vsnprintf(str, sizeof(str), format, args); - - error = dbus_message_new_error(message, name, str); - if (error == NULL) - return FALSE; - - return g_dbus_send_message(connection, error); -} - -gboolean g_dbus_send_error(DBusConnection *connection, DBusMessage *message, - const char *name, const char *format, ...) -{ - va_list args; - gboolean result; - - va_start(args, format); - - result = g_dbus_send_error_valist(connection, message, name, - format, args); - - va_end(args); - - return result; -} - -gboolean g_dbus_send_reply_valist(DBusConnection *connection, - DBusMessage *message, int type, va_list args) -{ - DBusMessage *reply; - - reply = dbus_message_new_method_return(message); - if (reply == NULL) - return FALSE; - - if (dbus_message_append_args_valist(reply, type, args) == FALSE) { - dbus_message_unref(reply); - return FALSE; - } - - return g_dbus_send_message(connection, reply); -} - -gboolean g_dbus_send_reply(DBusConnection *connection, - DBusMessage *message, int type, ...) -{ - va_list args; - gboolean result; - - va_start(args, type); - - result = g_dbus_send_reply_valist(connection, message, type, args); - - va_end(args); - - return result; -} - -gboolean g_dbus_emit_signal(DBusConnection *connection, - const char *path, const char *interface, - const char *name, int type, ...) -{ - va_list args; - gboolean result; - - va_start(args, type); - - result = emit_signal_valist(connection, path, interface, - name, type, args); - - va_end(args); - - return result; -} - -gboolean g_dbus_emit_signal_valist(DBusConnection *connection, - const char *path, const char *interface, - const char *name, int type, va_list args) -{ - return emit_signal_valist(connection, path, interface, - name, type, args); -} - -static void process_properties_from_interface(struct generic_data *data, - struct interface_data *iface) -{ - GSList *l; - DBusMessage *signal; - DBusMessageIter iter, dict, array; - GSList *invalidated; - - if (iface->pending_prop == NULL) - return; - - signal = dbus_message_new_signal(data->path, - DBUS_INTERFACE_PROPERTIES, "PropertiesChanged"); - if (signal == NULL) { - error("Unable to allocate new " DBUS_INTERFACE_PROPERTIES - ".PropertiesChanged signal"); - return; - } - - iface->pending_prop = g_slist_reverse(iface->pending_prop); - - dbus_message_iter_init_append(signal, &iter); - dbus_message_iter_append_basic(&iter, DBUS_TYPE_STRING, &iface->name); - dbus_message_iter_open_container(&iter, DBUS_TYPE_ARRAY, - DBUS_DICT_ENTRY_BEGIN_CHAR_AS_STRING - DBUS_TYPE_STRING_AS_STRING DBUS_TYPE_VARIANT_AS_STRING - DBUS_DICT_ENTRY_END_CHAR_AS_STRING, &dict); - - invalidated = NULL; - - for (l = iface->pending_prop; l != NULL; l = l->next) { - GDBusPropertyTable *p = l->data; - - if (p->get == NULL) - continue; - - if (p->exists != NULL && !p->exists(p, iface->user_data)) { - invalidated = g_slist_prepend(invalidated, p); - continue; - } - - append_property(iface, p, &dict); - } - - dbus_message_iter_close_container(&iter, &dict); - - dbus_message_iter_open_container(&iter, DBUS_TYPE_ARRAY, - DBUS_TYPE_STRING_AS_STRING, &array); - for (l = invalidated; l != NULL; l = g_slist_next(l)) { - GDBusPropertyTable *p = l->data; - - dbus_message_iter_append_basic(&array, DBUS_TYPE_STRING, - &p->name); - } - g_slist_free(invalidated); - dbus_message_iter_close_container(&iter, &array); - - g_dbus_send_message(data->conn, signal); - - g_slist_free(iface->pending_prop); - iface->pending_prop = NULL; -} - -static void process_property_changes(struct generic_data *data) -{ - GSList *l; - - for (l = data->interfaces; l != NULL; l = l->next) { - struct interface_data *iface = l->data; - - process_properties_from_interface(data, iface); - } - - data->pending_prop = FALSE; -} - -void g_dbus_emit_property_changed(DBusConnection *connection, - const char *path, const char *interface, - const char *name) -{ - const GDBusPropertyTable *property; - struct generic_data *data; - struct interface_data *iface; - - if (path == NULL) - return; - - if (!dbus_connection_get_object_path_data(connection, path, - (void **) &data) || data == NULL) - return; - - iface = find_interface(data->interfaces, interface); - if (iface == NULL) - return; - - /* - * If ObjectManager is attached, don't emit property changed if - * interface is not yet published - */ - if (root && g_slist_find(data->added, iface)) - return; - - property = find_property(iface->properties, name); - if (property == NULL) { - error("Could not find property %s in %p", name, - iface->properties); - return; - } - - if (g_slist_find(iface->pending_prop, (void *) property) != NULL) - return; - - data->pending_prop = TRUE; - iface->pending_prop = g_slist_prepend(iface->pending_prop, - (void *) property); - - if (!data->process_id) { - data->process_id = g_idle_add(process_changes, data); - return; - } -} - -gboolean g_dbus_get_properties(DBusConnection *connection, const char *path, - const char *interface, DBusMessageIter *iter) -{ - struct generic_data *data; - struct interface_data *iface; - - if (path == NULL) - return FALSE; - - if (!dbus_connection_get_object_path_data(connection, path, - (void **) &data) || data == NULL) - return FALSE; - - iface = find_interface(data->interfaces, interface); - if (iface == NULL) - return FALSE; - - append_properties(iface, iter); - - return TRUE; -} - -gboolean g_dbus_attach_object_manager(DBusConnection *connection) -{ - struct generic_data *data; - - data = object_path_ref(connection, "/"); - if (data == NULL) - return FALSE; - - add_interface(data, DBUS_INTERFACE_OBJECT_MANAGER, - manager_methods, manager_signals, - NULL, data, NULL); - root = data; - - return TRUE; -} - -gboolean g_dbus_detach_object_manager(DBusConnection *connection) -{ - if (!g_dbus_unregister_interface(connection, "/", - DBUS_INTERFACE_OBJECT_MANAGER)) - return FALSE; - - root = NULL; - - return TRUE; -} - -void g_dbus_set_flags(int flags) -{ - global_flags = flags; -} diff --git a/GRIB_BLE_HUB/libs/ble_extend/gdbus/polkit.c b/GRIB_BLE_HUB/libs/ble_extend/gdbus/polkit.c deleted file mode 100644 index 9e95fa3..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/gdbus/polkit.c +++ /dev/null @@ -1,202 +0,0 @@ -/* - * - * D-Bus helper library - * - * Copyright (C) 2004-2011 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include - -#include - -#include - -int polkit_check_authorization(DBusConnection *conn, - const char *action, gboolean interaction, - void (*function) (dbus_bool_t authorized, - void *user_data), - void *user_data, int timeout); - -static void add_dict_with_string_value(DBusMessageIter *iter, - const char *key, const char *str) -{ - DBusMessageIter dict, entry, value; - - dbus_message_iter_open_container(iter, DBUS_TYPE_ARRAY, - DBUS_DICT_ENTRY_BEGIN_CHAR_AS_STRING - DBUS_TYPE_STRING_AS_STRING DBUS_TYPE_VARIANT_AS_STRING - DBUS_DICT_ENTRY_END_CHAR_AS_STRING, &dict); - dbus_message_iter_open_container(&dict, DBUS_TYPE_DICT_ENTRY, - NULL, &entry); - - dbus_message_iter_append_basic(&entry, DBUS_TYPE_STRING, &key); - - dbus_message_iter_open_container(&entry, DBUS_TYPE_VARIANT, - DBUS_TYPE_STRING_AS_STRING, &value); - dbus_message_iter_append_basic(&value, DBUS_TYPE_STRING, &str); - dbus_message_iter_close_container(&entry, &value); - - dbus_message_iter_close_container(&dict, &entry); - dbus_message_iter_close_container(iter, &dict); -} - -static void add_empty_string_dict(DBusMessageIter *iter) -{ - DBusMessageIter dict; - - dbus_message_iter_open_container(iter, DBUS_TYPE_ARRAY, - DBUS_DICT_ENTRY_BEGIN_CHAR_AS_STRING - DBUS_TYPE_STRING_AS_STRING DBUS_TYPE_STRING_AS_STRING - DBUS_DICT_ENTRY_END_CHAR_AS_STRING, &dict); - - dbus_message_iter_close_container(iter, &dict); -} - -static void add_arguments(DBusConnection *conn, DBusMessageIter *iter, - const char *action, dbus_uint32_t flags) -{ - const char *busname = dbus_bus_get_unique_name(conn); - const char *kind = "system-bus-name"; - const char *cancel = ""; - DBusMessageIter subject; - - dbus_message_iter_open_container(iter, DBUS_TYPE_STRUCT, - NULL, &subject); - dbus_message_iter_append_basic(&subject, DBUS_TYPE_STRING, &kind); - add_dict_with_string_value(&subject, "name", busname); - dbus_message_iter_close_container(iter, &subject); - - dbus_message_iter_append_basic(iter, DBUS_TYPE_STRING, &action); - add_empty_string_dict(iter); - dbus_message_iter_append_basic(iter, DBUS_TYPE_UINT32, &flags); - dbus_message_iter_append_basic(iter, DBUS_TYPE_STRING, &cancel); -} - -static dbus_bool_t parse_result(DBusMessageIter *iter) -{ - DBusMessageIter result; - dbus_bool_t authorized, challenge; - - dbus_message_iter_recurse(iter, &result); - - dbus_message_iter_get_basic(&result, &authorized); - dbus_message_iter_get_basic(&result, &challenge); - - return authorized; -} - -struct authorization_data { - void (*function) (dbus_bool_t authorized, void *user_data); - void *user_data; -}; - -static void authorization_reply(DBusPendingCall *call, void *user_data) -{ - struct authorization_data *data = user_data; - DBusMessage *reply; - DBusMessageIter iter; - dbus_bool_t authorized = FALSE; - - reply = dbus_pending_call_steal_reply(call); - - if (dbus_message_get_type(reply) == DBUS_MESSAGE_TYPE_ERROR) - goto done; - - if (dbus_message_has_signature(reply, "(bba{ss})") == FALSE) - goto done; - - dbus_message_iter_init(reply, &iter); - - authorized = parse_result(&iter); - -done: - if (data->function != NULL) - data->function(authorized, data->user_data); - - dbus_message_unref(reply); - - dbus_pending_call_unref(call); -} - -#define AUTHORITY_DBUS "org.freedesktop.PolicyKit1" -#define AUTHORITY_INTF "org.freedesktop.PolicyKit1.Authority" -#define AUTHORITY_PATH "/org/freedesktop/PolicyKit1/Authority" - -int polkit_check_authorization(DBusConnection *conn, - const char *action, gboolean interaction, - void (*function) (dbus_bool_t authorized, - void *user_data), - void *user_data, int timeout) -{ - struct authorization_data *data; - DBusMessage *msg; - DBusMessageIter iter; - DBusPendingCall *call; - dbus_uint32_t flags = 0x00000000; - - if (conn == NULL) - return -EINVAL; - - data = dbus_malloc0(sizeof(*data)); - if (data == NULL) - return -ENOMEM; - - msg = dbus_message_new_method_call(AUTHORITY_DBUS, AUTHORITY_PATH, - AUTHORITY_INTF, "CheckAuthorization"); - if (msg == NULL) { - dbus_free(data); - return -ENOMEM; - } - - if (interaction == TRUE) - flags |= 0x00000001; - - if (action == NULL) - action = "org.freedesktop.policykit.exec"; - - dbus_message_iter_init_append(msg, &iter); - add_arguments(conn, &iter, action, flags); - - if (dbus_connection_send_with_reply(conn, msg, - &call, timeout) == FALSE) { - dbus_message_unref(msg); - dbus_free(data); - return -EIO; - } - - if (call == NULL) { - dbus_message_unref(msg); - dbus_free(data); - return -EIO; - } - - data->function = function; - data->user_data = user_data; - - dbus_pending_call_set_notify(call, authorization_reply, - data, dbus_free); - - dbus_message_unref(msg); - - return 0; -} diff --git a/GRIB_BLE_HUB/libs/ble_extend/gdbus/watch.c b/GRIB_BLE_HUB/libs/ble_extend/gdbus/watch.c deleted file mode 100644 index 9e4f994..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/gdbus/watch.c +++ /dev/null @@ -1,815 +0,0 @@ -/* - * - * D-Bus helper library - * - * Copyright (C) 2004-2011 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include - -#include -#include - -#include "gdbus.h" - -#define info(fmt...) -#define error(fmt...) -#define debug(fmt...) - -static DBusHandlerResult message_filter(DBusConnection *connection, - DBusMessage *message, void *user_data); - -static guint listener_id = 0; -static GSList *listeners = NULL; - -struct service_data { - DBusConnection *conn; - DBusPendingCall *call; - char *name; - const char *owner; - guint id; - struct filter_callback *callback; -}; - -struct filter_callback { - GDBusWatchFunction conn_func; - GDBusWatchFunction disc_func; - GDBusSignalFunction signal_func; - GDBusDestroyFunction destroy_func; - struct service_data *data; - void *user_data; - guint id; -}; - -struct filter_data { - DBusConnection *connection; - DBusHandleMessageFunction handle_func; - char *name; - char *owner; - char *path; - char *interface; - char *member; - char *argument; - GSList *callbacks; - GSList *processed; - guint name_watch; - gboolean lock; - gboolean registered; -}; - -static struct filter_data *filter_data_find_match(DBusConnection *connection, - const char *name, - const char *owner, - const char *path, - const char *interface, - const char *member, - const char *argument) -{ - GSList *current; - - for (current = listeners; - current != NULL; current = current->next) { - struct filter_data *data = current->data; - - if (connection != data->connection) - continue; - - if (g_strcmp0(name, data->name) != 0) - continue; - - if (g_strcmp0(owner, data->owner) != 0) - continue; - - if (g_strcmp0(path, data->path) != 0) - continue; - - if (g_strcmp0(interface, data->interface) != 0) - continue; - - if (g_strcmp0(member, data->member) != 0) - continue; - - if (g_strcmp0(argument, data->argument) != 0) - continue; - - return data; - } - - return NULL; -} - -static struct filter_data *filter_data_find(DBusConnection *connection) -{ - GSList *current; - - for (current = listeners; - current != NULL; current = current->next) { - struct filter_data *data = current->data; - - if (connection != data->connection) - continue; - - return data; - } - - return NULL; -} - -static void format_rule(struct filter_data *data, char *rule, size_t size) -{ - const char *sender; - int offset; - - offset = snprintf(rule, size, "type='signal'"); - sender = data->name ? : data->owner; - - if (sender) - offset += snprintf(rule + offset, size - offset, - ",sender='%s'", sender); - if (data->path) - offset += snprintf(rule + offset, size - offset, - ",path='%s'", data->path); - if (data->interface) - offset += snprintf(rule + offset, size - offset, - ",interface='%s'", data->interface); - if (data->member) - offset += snprintf(rule + offset, size - offset, - ",member='%s'", data->member); - if (data->argument) - snprintf(rule + offset, size - offset, - ",arg0='%s'", data->argument); -} - -static gboolean add_match(struct filter_data *data, - DBusHandleMessageFunction filter) -{ - DBusError err; - char rule[DBUS_MAXIMUM_MATCH_RULE_LENGTH]; - - format_rule(data, rule, sizeof(rule)); - dbus_error_init(&err); - - dbus_bus_add_match(data->connection, rule, &err); - if (dbus_error_is_set(&err)) { - error("Adding match rule \"%s\" failed: %s", rule, - err.message); - dbus_error_free(&err); - return FALSE; - } - - data->handle_func = filter; - data->registered = TRUE; - - return TRUE; -} - -static gboolean remove_match(struct filter_data *data) -{ - DBusError err; - char rule[DBUS_MAXIMUM_MATCH_RULE_LENGTH]; - - format_rule(data, rule, sizeof(rule)); - - dbus_error_init(&err); - - dbus_bus_remove_match(data->connection, rule, &err); - if (dbus_error_is_set(&err)) { - error("Removing owner match rule for %s failed: %s", - rule, err.message); - dbus_error_free(&err); - return FALSE; - } - - return TRUE; -} - -static struct filter_data *filter_data_get(DBusConnection *connection, - DBusHandleMessageFunction filter, - const char *sender, - const char *path, - const char *interface, - const char *member, - const char *argument) -{ - struct filter_data *data; - const char *name = NULL, *owner = NULL; - - if (filter_data_find(connection) == NULL) { - if (!dbus_connection_add_filter(connection, - message_filter, NULL, NULL)) { - error("dbus_connection_add_filter() failed"); - return NULL; - } - } - - if (sender == NULL) - goto proceed; - - if (sender[0] == ':') - owner = sender; - else - name = sender; - -proceed: - data = filter_data_find_match(connection, name, owner, path, - interface, member, argument); - if (data) - return data; - - data = g_new0(struct filter_data, 1); - - data->connection = dbus_connection_ref(connection); - data->name = g_strdup(name); - data->owner = g_strdup(owner); - data->path = g_strdup(path); - data->interface = g_strdup(interface); - data->member = g_strdup(member); - data->argument = g_strdup(argument); - - if (!add_match(data, filter)) { - g_free(data); - return NULL; - } - - listeners = g_slist_append(listeners, data); - - return data; -} - -static struct filter_callback *filter_data_find_callback( - struct filter_data *data, - guint id) -{ - GSList *l; - - for (l = data->callbacks; l; l = l->next) { - struct filter_callback *cb = l->data; - if (cb->id == id) - return cb; - } - for (l = data->processed; l; l = l->next) { - struct filter_callback *cb = l->data; - if (cb->id == id) - return cb; - } - - return NULL; -} - -static void filter_data_free(struct filter_data *data) -{ - GSList *l; - - for (l = data->callbacks; l != NULL; l = l->next) - g_free(l->data); - - g_slist_free(data->callbacks); - g_dbus_remove_watch(data->connection, data->name_watch); - g_free(data->name); - g_free(data->owner); - g_free(data->path); - g_free(data->interface); - g_free(data->member); - g_free(data->argument); - dbus_connection_unref(data->connection); - g_free(data); -} - -static void filter_data_call_and_free(struct filter_data *data) -{ - GSList *l; - - for (l = data->callbacks; l != NULL; l = l->next) { - struct filter_callback *cb = l->data; - if (cb->disc_func) - cb->disc_func(data->connection, cb->user_data); - if (cb->destroy_func) - cb->destroy_func(cb->user_data); - g_free(cb); - } - - filter_data_free(data); -} - -static struct filter_callback *filter_data_add_callback( - struct filter_data *data, - GDBusWatchFunction connect, - GDBusWatchFunction disconnect, - GDBusSignalFunction signal, - GDBusDestroyFunction destroy, - void *user_data) -{ - struct filter_callback *cb = NULL; - - cb = g_new0(struct filter_callback, 1); - - cb->conn_func = connect; - cb->disc_func = disconnect; - cb->signal_func = signal; - cb->destroy_func = destroy; - cb->user_data = user_data; - cb->id = ++listener_id; - - if (data->lock) - data->processed = g_slist_append(data->processed, cb); - else - data->callbacks = g_slist_append(data->callbacks, cb); - - return cb; -} - -static void service_data_free(struct service_data *data) -{ - struct filter_callback *callback = data->callback; - - dbus_connection_unref(data->conn); - - if (data->call) - dbus_pending_call_unref(data->call); - - if (data->id) - g_source_remove(data->id); - - g_free(data->name); - g_free(data); - - callback->data = NULL; -} - -static gboolean filter_data_remove_callback(struct filter_data *data, - struct filter_callback *cb) -{ - DBusConnection *connection; - - data->callbacks = g_slist_remove(data->callbacks, cb); - data->processed = g_slist_remove(data->processed, cb); - - /* Cancel pending operations */ - if (cb->data) { - if (cb->data->call) - dbus_pending_call_cancel(cb->data->call); - service_data_free(cb->data); - } - - if (cb->destroy_func) - cb->destroy_func(cb->user_data); - - g_free(cb); - - /* Don't remove the filter if other callbacks exist or data is lock - * processing callbacks */ - if (data->callbacks || data->lock) - return TRUE; - - if (data->registered && !remove_match(data)) - return FALSE; - - connection = dbus_connection_ref(data->connection); - listeners = g_slist_remove(listeners, data); - - /* Remove filter if there are no listeners left for the connection */ - if (filter_data_find(connection) == NULL) - dbus_connection_remove_filter(connection, message_filter, - NULL); - - filter_data_free(data); - dbus_connection_unref(connection); - - return TRUE; -} - -static DBusHandlerResult signal_filter(DBusConnection *connection, - DBusMessage *message, void *user_data) -{ - struct filter_data *data = user_data; - struct filter_callback *cb; - - while (data->callbacks) { - cb = data->callbacks->data; - - if (cb->signal_func && !cb->signal_func(connection, message, - cb->user_data)) { - filter_data_remove_callback(data, cb); - continue; - } - - /* Check if the watch was removed/freed by the callback - * function */ - if (!g_slist_find(data->callbacks, cb)) - continue; - - data->callbacks = g_slist_remove(data->callbacks, cb); - data->processed = g_slist_append(data->processed, cb); - } - - return DBUS_HANDLER_RESULT_NOT_YET_HANDLED; -} - -static void update_name_cache(const char *name, const char *owner) -{ - GSList *l; - - for (l = listeners; l != NULL; l = l->next) { - struct filter_data *data = l->data; - - if (g_strcmp0(data->name, name) != 0) - continue; - - g_free(data->owner); - data->owner = g_strdup(owner); - } -} - -static const char *check_name_cache(const char *name) -{ - GSList *l; - - for (l = listeners; l != NULL; l = l->next) { - struct filter_data *data = l->data; - - if (g_strcmp0(data->name, name) != 0) - continue; - - return data->owner; - } - - return NULL; -} - -static DBusHandlerResult service_filter(DBusConnection *connection, - DBusMessage *message, void *user_data) -{ - struct filter_data *data = user_data; - struct filter_callback *cb; - char *name, *old, *new; - - if (!dbus_message_get_args(message, NULL, - DBUS_TYPE_STRING, &name, - DBUS_TYPE_STRING, &old, - DBUS_TYPE_STRING, &new, - DBUS_TYPE_INVALID)) { - error("Invalid arguments for NameOwnerChanged signal"); - return DBUS_HANDLER_RESULT_NOT_YET_HANDLED; - } - - update_name_cache(name, new); - - while (data->callbacks) { - cb = data->callbacks->data; - - if (*new == '\0') { - if (cb->disc_func) - cb->disc_func(connection, cb->user_data); - } else { - if (cb->conn_func) - cb->conn_func(connection, cb->user_data); - } - - /* Check if the watch was removed/freed by the callback - * function */ - if (!g_slist_find(data->callbacks, cb)) - continue; - - /* Only auto remove if it is a bus name watch */ - if (data->argument[0] == ':' && - (cb->conn_func == NULL || cb->disc_func == NULL)) { - filter_data_remove_callback(data, cb); - continue; - } - - data->callbacks = g_slist_remove(data->callbacks, cb); - data->processed = g_slist_append(data->processed, cb); - } - - return DBUS_HANDLER_RESULT_NOT_YET_HANDLED; -} - - -static DBusHandlerResult message_filter(DBusConnection *connection, - DBusMessage *message, void *user_data) -{ - struct filter_data *data; - const char *sender, *path, *iface, *member, *arg = NULL; - GSList *current, *delete_listener = NULL; - - /* Only filter signals */ - if (dbus_message_get_type(message) != DBUS_MESSAGE_TYPE_SIGNAL) - return DBUS_HANDLER_RESULT_NOT_YET_HANDLED; - - sender = dbus_message_get_sender(message); - path = dbus_message_get_path(message); - iface = dbus_message_get_interface(message); - member = dbus_message_get_member(message); - dbus_message_get_args(message, NULL, DBUS_TYPE_STRING, &arg, DBUS_TYPE_INVALID); - - /* Sender is always the owner */ - - for (current = listeners; current != NULL; current = current->next) { - data = current->data; - - if (connection != data->connection) - continue; - - if (data->owner && g_str_equal(sender, data->owner) == FALSE) - continue; - - if (data->path && g_str_equal(path, data->path) == FALSE) - continue; - - if (data->interface && g_str_equal(iface, - data->interface) == FALSE) - continue; - - if (data->member && g_str_equal(member, data->member) == FALSE) - continue; - - if (data->argument && g_str_equal(arg, - data->argument) == FALSE) - continue; - - if (data->handle_func) { - data->lock = TRUE; - - data->handle_func(connection, message, data); - - data->callbacks = data->processed; - data->processed = NULL; - data->lock = FALSE; - } - - if (!data->callbacks) - delete_listener = g_slist_prepend(delete_listener, - current); - } - - for (current = delete_listener; current != NULL; - current = delete_listener->next) { - GSList *l = current->data; - - data = l->data; - - /* Has any other callback added callbacks back to this data? */ - if (data->callbacks != NULL) - continue; - - remove_match(data); - listeners = g_slist_delete_link(listeners, l); - - filter_data_free(data); - } - - g_slist_free(delete_listener); - - /* Remove filter if there are no listeners left for the connection */ - if (filter_data_find(connection) == NULL) - dbus_connection_remove_filter(connection, message_filter, - NULL); - - return DBUS_HANDLER_RESULT_NOT_YET_HANDLED; -} - -static gboolean update_service(void *user_data) -{ - struct service_data *data = user_data; - struct filter_callback *cb = data->callback; - - update_name_cache(data->name, data->owner); - if (cb->conn_func) - cb->conn_func(data->conn, cb->user_data); - - service_data_free(data); - - return FALSE; -} - -static void service_reply(DBusPendingCall *call, void *user_data) -{ - struct service_data *data = user_data; - DBusMessage *reply; - DBusError err; - - reply = dbus_pending_call_steal_reply(call); - if (reply == NULL) - return; - - dbus_error_init(&err); - - if (dbus_set_error_from_message(&err, reply)) - goto fail; - - if (dbus_message_get_args(reply, &err, - DBUS_TYPE_STRING, &data->owner, - DBUS_TYPE_INVALID) == FALSE) - goto fail; - - update_service(data); - - goto done; - -fail: - error("%s", err.message); - dbus_error_free(&err); - service_data_free(data); -done: - dbus_message_unref(reply); -} - -static void check_service(DBusConnection *connection, - const char *name, - struct filter_callback *callback) -{ - DBusMessage *message; - struct service_data *data; - - data = g_try_malloc0(sizeof(*data)); - if (data == NULL) { - error("Can't allocate data structure"); - return; - } - - data->conn = dbus_connection_ref(connection); - data->name = g_strdup(name); - data->callback = callback; - callback->data = data; - - data->owner = check_name_cache(name); - if (data->owner != NULL) { - data->id = g_idle_add(update_service, data); - return; - } - - message = dbus_message_new_method_call(DBUS_SERVICE_DBUS, - DBUS_PATH_DBUS, DBUS_INTERFACE_DBUS, "GetNameOwner"); - if (message == NULL) { - error("Can't allocate new message"); - g_free(data); - return; - } - - dbus_message_append_args(message, DBUS_TYPE_STRING, &name, - DBUS_TYPE_INVALID); - - if (dbus_connection_send_with_reply(connection, message, - &data->call, -1) == FALSE) { - error("Failed to execute method call"); - g_free(data); - goto done; - } - - if (data->call == NULL) { - error("D-Bus connection not available"); - g_free(data); - goto done; - } - - dbus_pending_call_set_notify(data->call, service_reply, data, NULL); - -done: - dbus_message_unref(message); -} - -guint g_dbus_add_service_watch(DBusConnection *connection, const char *name, - GDBusWatchFunction connect, - GDBusWatchFunction disconnect, - void *user_data, GDBusDestroyFunction destroy) -{ - struct filter_data *data; - struct filter_callback *cb; - - if (name == NULL) - return 0; - - data = filter_data_get(connection, service_filter, NULL, NULL, - DBUS_INTERFACE_DBUS, "NameOwnerChanged", - name); - if (data == NULL) - return 0; - - cb = filter_data_add_callback(data, connect, disconnect, NULL, destroy, - user_data); - if (cb == NULL) - return 0; - - if (connect) - check_service(connection, name, cb); - - return cb->id; -} - -guint g_dbus_add_disconnect_watch(DBusConnection *connection, const char *name, - GDBusWatchFunction func, - void *user_data, GDBusDestroyFunction destroy) -{ - return g_dbus_add_service_watch(connection, name, NULL, func, - user_data, destroy); -} - -guint g_dbus_add_signal_watch(DBusConnection *connection, - const char *sender, const char *path, - const char *interface, const char *member, - GDBusSignalFunction function, void *user_data, - GDBusDestroyFunction destroy) -{ - struct filter_data *data; - struct filter_callback *cb; - - data = filter_data_get(connection, signal_filter, sender, path, - interface, member, NULL); - if (data == NULL) - return 0; - - cb = filter_data_add_callback(data, NULL, NULL, function, destroy, - user_data); - if (cb == NULL) - return 0; - - if (data->name != NULL && data->name_watch == 0) - data->name_watch = g_dbus_add_service_watch(connection, - data->name, NULL, - NULL, NULL, NULL); - - return cb->id; -} - -guint g_dbus_add_properties_watch(DBusConnection *connection, - const char *sender, const char *path, - const char *interface, - GDBusSignalFunction function, void *user_data, - GDBusDestroyFunction destroy) -{ - struct filter_data *data; - struct filter_callback *cb; - - data = filter_data_get(connection, signal_filter, sender, path, - DBUS_INTERFACE_PROPERTIES, "PropertiesChanged", - interface); - if (data == NULL) - return 0; - - cb = filter_data_add_callback(data, NULL, NULL, function, destroy, - user_data); - if (cb == NULL) - return 0; - - if (data->name != NULL && data->name_watch == 0) - data->name_watch = g_dbus_add_service_watch(connection, - data->name, NULL, - NULL, NULL, NULL); - - return cb->id; -} - -gboolean g_dbus_remove_watch(DBusConnection *connection, guint id) -{ - struct filter_data *data; - struct filter_callback *cb; - GSList *ldata; - - if (id == 0) - return FALSE; - - for (ldata = listeners; ldata; ldata = ldata->next) { - data = ldata->data; - - cb = filter_data_find_callback(data, id); - if (cb) { - filter_data_remove_callback(data, cb); - return TRUE; - } - } - - return FALSE; -} - -void g_dbus_remove_all_watches(DBusConnection *connection) -{ - struct filter_data *data; - - while ((data = filter_data_find(connection))) { - listeners = g_slist_remove(listeners, data); - filter_data_call_and_free(data); - } - - dbus_connection_remove_filter(connection, message_filter, NULL); -} diff --git a/GRIB_BLE_HUB/libs/ble_extend/gobex/.deps/.dirstamp b/GRIB_BLE_HUB/libs/ble_extend/gobex/.deps/.dirstamp deleted file mode 100644 index e69de29..0000000 diff --git a/GRIB_BLE_HUB/libs/ble_extend/gobex/.deps/gobex-apparam.Po b/GRIB_BLE_HUB/libs/ble_extend/gobex/.deps/gobex-apparam.Po deleted file mode 100644 index 82fdf90..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/gobex/.deps/gobex-apparam.Po +++ /dev/null @@ -1,416 +0,0 @@ -gobex/gobex-apparam.o: gobex/gobex-apparam.c /usr/include/stdc-predef.h \ - config.h /usr/include/string.h /usr/include/features.h \ - /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/include/xlocale.h /usr/include/arm-linux-gnueabihf/bits/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string2.h /usr/include/stdlib.h \ - /usr/include/unistd.h /usr/include/arm-linux-gnueabihf/bits/posix_opt.h \ - /usr/include/arm-linux-gnueabihf/bits/environments.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h \ - /usr/include/arm-linux-gnueabihf/bits/confname.h /usr/include/getopt.h \ - /usr/include/errno.h /usr/include/arm-linux-gnueabihf/bits/errno.h \ - /usr/include/linux/errno.h /usr/include/arm-linux-gnueabihf/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - gobex/gobex-apparam.h /usr/include/glib-2.0/glib.h \ - /usr/include/glib-2.0/glib/galloca.h /usr/include/glib-2.0/glib/gtypes.h \ - /usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h \ - /usr/include/glib-2.0/glib/gmacros.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h \ - /usr/include/limits.h /usr/include/arm-linux-gnueabihf/bits/posix1_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/local_lim.h \ - /usr/include/linux/limits.h \ - /usr/include/arm-linux-gnueabihf/bits/posix2_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/xopen_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h \ - /usr/include/glib-2.0/glib/gversionmacros.h /usr/include/time.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/bits/timex.h \ - /usr/include/glib-2.0/glib/garray.h \ - /usr/include/glib-2.0/glib/gasyncqueue.h \ - /usr/include/glib-2.0/glib/gthread.h \ - /usr/include/glib-2.0/glib/gatomic.h /usr/include/glib-2.0/glib/gerror.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/glib-2.0/glib/gquark.h \ - /usr/include/glib-2.0/glib/gbacktrace.h /usr/include/signal.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/signum.h \ - /usr/include/arm-linux-gnueabihf/bits/siginfo.h \ - /usr/include/arm-linux-gnueabihf/bits/sigaction.h \ - /usr/include/arm-linux-gnueabihf/bits/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/asm/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigstack.h \ - /usr/include/arm-linux-gnueabihf/sys/ucontext.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/endian.h /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/arm-linux-gnueabihf/bits/sigthread.h \ - /usr/include/glib-2.0/glib/gbase64.h \ - /usr/include/glib-2.0/glib/gbitlock.h \ - /usr/include/glib-2.0/glib/gbookmarkfile.h \ - /usr/include/glib-2.0/glib/gbytes.h \ - /usr/include/glib-2.0/glib/gcharset.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/gconvert.h \ - /usr/include/glib-2.0/glib/gdataset.h /usr/include/glib-2.0/glib/gdate.h \ - /usr/include/glib-2.0/glib/gdatetime.h \ - /usr/include/glib-2.0/glib/gtimezone.h /usr/include/glib-2.0/glib/gdir.h \ - /usr/include/dirent.h /usr/include/arm-linux-gnueabihf/bits/dirent.h \ - /usr/include/glib-2.0/glib/genviron.h \ - /usr/include/glib-2.0/glib/gfileutils.h \ - /usr/include/glib-2.0/glib/ggettext.h /usr/include/glib-2.0/glib/ghash.h \ - /usr/include/glib-2.0/glib/glist.h /usr/include/glib-2.0/glib/gmem.h \ - /usr/include/glib-2.0/glib/gnode.h /usr/include/glib-2.0/glib/ghmac.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/ghook.h \ - /usr/include/glib-2.0/glib/ghostutils.h \ - /usr/include/glib-2.0/glib/giochannel.h \ - /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gpoll.h \ - /usr/include/glib-2.0/glib/gslist.h /usr/include/glib-2.0/glib/gstring.h \ - /usr/include/glib-2.0/glib/gunicode.h \ - /usr/include/glib-2.0/glib/gutils.h \ - /usr/include/glib-2.0/glib/gkeyfile.h \ - /usr/include/glib-2.0/glib/gmappedfile.h \ - /usr/include/glib-2.0/glib/gmarkup.h \ - /usr/include/glib-2.0/glib/gmessages.h \ - /usr/include/glib-2.0/glib/goption.h \ - /usr/include/glib-2.0/glib/gpattern.h \ - /usr/include/glib-2.0/glib/gprimes.h /usr/include/glib-2.0/glib/gqsort.h \ - /usr/include/glib-2.0/glib/gqueue.h /usr/include/glib-2.0/glib/grand.h \ - /usr/include/glib-2.0/glib/gregex.h \ - /usr/include/glib-2.0/glib/gscanner.h \ - /usr/include/glib-2.0/glib/gsequence.h \ - /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gslice.h \ - /usr/include/glib-2.0/glib/gspawn.h \ - /usr/include/glib-2.0/glib/gstrfuncs.h \ - /usr/include/glib-2.0/glib/gstringchunk.h \ - /usr/include/glib-2.0/glib/gtestutils.h \ - /usr/include/glib-2.0/glib/gthreadpool.h \ - /usr/include/glib-2.0/glib/gtimer.h \ - /usr/include/glib-2.0/glib/gtrashstack.h \ - /usr/include/glib-2.0/glib/gtree.h \ - /usr/include/glib-2.0/glib/gurifuncs.h \ - /usr/include/glib-2.0/glib/gvarianttype.h \ - /usr/include/glib-2.0/glib/gvariant.h \ - /usr/include/glib-2.0/glib/gversion.h \ - /usr/include/glib-2.0/glib/deprecated/gallocator.h \ - /usr/include/glib-2.0/glib/deprecated/gcache.h \ - /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ - /usr/include/glib-2.0/glib/deprecated/gmain.h \ - /usr/include/glib-2.0/glib/deprecated/grel.h \ - /usr/include/glib-2.0/glib/deprecated/gthread.h \ - /usr/include/arm-linux-gnueabihf/sys/types.h \ - /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h /usr/include/pthread.h \ - /usr/include/sched.h /usr/include/arm-linux-gnueabihf/bits/sched.h \ - /usr/include/arm-linux-gnueabihf/bits/setjmp.h gobex/gobex-debug.h \ - /usr/include/stdio.h /usr/include/libio.h /usr/include/_G_config.h \ - /usr/include/wchar.h /usr/include/arm-linux-gnueabihf/bits/sys_errlist.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio.h /usr/include/ctype.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/include/string.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/include/xlocale.h: - -/usr/include/arm-linux-gnueabihf/bits/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string2.h: - -/usr/include/stdlib.h: - -/usr/include/unistd.h: - -/usr/include/arm-linux-gnueabihf/bits/posix_opt.h: - -/usr/include/arm-linux-gnueabihf/bits/environments.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/arm-linux-gnueabihf/bits/confname.h: - -/usr/include/getopt.h: - -/usr/include/errno.h: - -/usr/include/arm-linux-gnueabihf/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/arm-linux-gnueabihf/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -gobex/gobex-apparam.h: - -/usr/include/glib-2.0/glib.h: - -/usr/include/glib-2.0/glib/galloca.h: - -/usr/include/glib-2.0/glib/gtypes.h: - -/usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h: - -/usr/include/glib-2.0/glib/gmacros.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h: - -/usr/include/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/local_lim.h: - -/usr/include/linux/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix2_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/xopen_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h: - -/usr/include/glib-2.0/glib/gversionmacros.h: - -/usr/include/time.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/bits/timex.h: - -/usr/include/glib-2.0/glib/garray.h: - -/usr/include/glib-2.0/glib/gasyncqueue.h: - -/usr/include/glib-2.0/glib/gthread.h: - -/usr/include/glib-2.0/glib/gatomic.h: - -/usr/include/glib-2.0/glib/gerror.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/glib-2.0/glib/gquark.h: - -/usr/include/glib-2.0/glib/gbacktrace.h: - -/usr/include/signal.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/signum.h: - -/usr/include/arm-linux-gnueabihf/bits/siginfo.h: - -/usr/include/arm-linux-gnueabihf/bits/sigaction.h: - -/usr/include/arm-linux-gnueabihf/bits/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/asm/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigstack.h: - -/usr/include/arm-linux-gnueabihf/sys/ucontext.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/arm-linux-gnueabihf/bits/sigthread.h: - -/usr/include/glib-2.0/glib/gbase64.h: - -/usr/include/glib-2.0/glib/gbitlock.h: - -/usr/include/glib-2.0/glib/gbookmarkfile.h: - -/usr/include/glib-2.0/glib/gbytes.h: - -/usr/include/glib-2.0/glib/gcharset.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/gconvert.h: - -/usr/include/glib-2.0/glib/gdataset.h: - -/usr/include/glib-2.0/glib/gdate.h: - -/usr/include/glib-2.0/glib/gdatetime.h: - -/usr/include/glib-2.0/glib/gtimezone.h: - -/usr/include/glib-2.0/glib/gdir.h: - -/usr/include/dirent.h: - -/usr/include/arm-linux-gnueabihf/bits/dirent.h: - -/usr/include/glib-2.0/glib/genviron.h: - -/usr/include/glib-2.0/glib/gfileutils.h: - -/usr/include/glib-2.0/glib/ggettext.h: - -/usr/include/glib-2.0/glib/ghash.h: - -/usr/include/glib-2.0/glib/glist.h: - -/usr/include/glib-2.0/glib/gmem.h: - -/usr/include/glib-2.0/glib/gnode.h: - -/usr/include/glib-2.0/glib/ghmac.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/ghook.h: - -/usr/include/glib-2.0/glib/ghostutils.h: - -/usr/include/glib-2.0/glib/giochannel.h: - -/usr/include/glib-2.0/glib/gmain.h: - -/usr/include/glib-2.0/glib/gpoll.h: - -/usr/include/glib-2.0/glib/gslist.h: - -/usr/include/glib-2.0/glib/gstring.h: - -/usr/include/glib-2.0/glib/gunicode.h: - -/usr/include/glib-2.0/glib/gutils.h: - -/usr/include/glib-2.0/glib/gkeyfile.h: - -/usr/include/glib-2.0/glib/gmappedfile.h: - -/usr/include/glib-2.0/glib/gmarkup.h: - -/usr/include/glib-2.0/glib/gmessages.h: - -/usr/include/glib-2.0/glib/goption.h: - -/usr/include/glib-2.0/glib/gpattern.h: - -/usr/include/glib-2.0/glib/gprimes.h: - -/usr/include/glib-2.0/glib/gqsort.h: - -/usr/include/glib-2.0/glib/gqueue.h: - -/usr/include/glib-2.0/glib/grand.h: - -/usr/include/glib-2.0/glib/gregex.h: - -/usr/include/glib-2.0/glib/gscanner.h: - -/usr/include/glib-2.0/glib/gsequence.h: - -/usr/include/glib-2.0/glib/gshell.h: - -/usr/include/glib-2.0/glib/gslice.h: - -/usr/include/glib-2.0/glib/gspawn.h: - -/usr/include/glib-2.0/glib/gstrfuncs.h: - -/usr/include/glib-2.0/glib/gstringchunk.h: - -/usr/include/glib-2.0/glib/gtestutils.h: - -/usr/include/glib-2.0/glib/gthreadpool.h: - -/usr/include/glib-2.0/glib/gtimer.h: - -/usr/include/glib-2.0/glib/gtrashstack.h: - -/usr/include/glib-2.0/glib/gtree.h: - -/usr/include/glib-2.0/glib/gurifuncs.h: - -/usr/include/glib-2.0/glib/gvarianttype.h: - -/usr/include/glib-2.0/glib/gvariant.h: - -/usr/include/glib-2.0/glib/gversion.h: - -/usr/include/glib-2.0/glib/deprecated/gallocator.h: - -/usr/include/glib-2.0/glib/deprecated/gcache.h: - -/usr/include/glib-2.0/glib/deprecated/gcompletion.h: - -/usr/include/glib-2.0/glib/deprecated/gmain.h: - -/usr/include/glib-2.0/glib/deprecated/grel.h: - -/usr/include/glib-2.0/glib/deprecated/gthread.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/pthread.h: - -/usr/include/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/setjmp.h: - -gobex/gobex-debug.h: - -/usr/include/stdio.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/include/arm-linux-gnueabihf/bits/sys_errlist.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio.h: - -/usr/include/ctype.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/gobex/.deps/gobex-defs.Po b/GRIB_BLE_HUB/libs/ble_extend/gobex/.deps/gobex-defs.Po deleted file mode 100644 index ea0c9ed..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/gobex/.deps/gobex-defs.Po +++ /dev/null @@ -1,359 +0,0 @@ -gobex/gobex-defs.o: gobex/gobex-defs.c /usr/include/stdc-predef.h \ - config.h /usr/include/glib-2.0/glib.h \ - /usr/include/glib-2.0/glib/galloca.h /usr/include/glib-2.0/glib/gtypes.h \ - /usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h \ - /usr/include/glib-2.0/glib/gmacros.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h \ - /usr/include/limits.h /usr/include/features.h \ - /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/include/arm-linux-gnueabihf/bits/posix1_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/local_lim.h \ - /usr/include/linux/limits.h \ - /usr/include/arm-linux-gnueabihf/bits/posix2_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/xopen_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h \ - /usr/include/glib-2.0/glib/gversionmacros.h /usr/include/time.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h \ - /usr/include/arm-linux-gnueabihf/bits/timex.h /usr/include/xlocale.h \ - /usr/include/glib-2.0/glib/garray.h \ - /usr/include/glib-2.0/glib/gasyncqueue.h \ - /usr/include/glib-2.0/glib/gthread.h \ - /usr/include/glib-2.0/glib/gatomic.h /usr/include/glib-2.0/glib/gerror.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/glib-2.0/glib/gquark.h \ - /usr/include/glib-2.0/glib/gbacktrace.h /usr/include/signal.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/signum.h \ - /usr/include/arm-linux-gnueabihf/bits/siginfo.h \ - /usr/include/arm-linux-gnueabihf/bits/sigaction.h \ - /usr/include/arm-linux-gnueabihf/bits/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/asm/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigstack.h \ - /usr/include/arm-linux-gnueabihf/sys/ucontext.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/endian.h /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/arm-linux-gnueabihf/bits/sigthread.h \ - /usr/include/glib-2.0/glib/gbase64.h \ - /usr/include/glib-2.0/glib/gbitlock.h \ - /usr/include/glib-2.0/glib/gbookmarkfile.h \ - /usr/include/glib-2.0/glib/gbytes.h \ - /usr/include/glib-2.0/glib/gcharset.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/gconvert.h \ - /usr/include/glib-2.0/glib/gdataset.h /usr/include/glib-2.0/glib/gdate.h \ - /usr/include/glib-2.0/glib/gdatetime.h \ - /usr/include/glib-2.0/glib/gtimezone.h /usr/include/glib-2.0/glib/gdir.h \ - /usr/include/dirent.h /usr/include/arm-linux-gnueabihf/bits/dirent.h \ - /usr/include/glib-2.0/glib/genviron.h \ - /usr/include/glib-2.0/glib/gfileutils.h \ - /usr/include/glib-2.0/glib/ggettext.h /usr/include/glib-2.0/glib/ghash.h \ - /usr/include/glib-2.0/glib/glist.h /usr/include/glib-2.0/glib/gmem.h \ - /usr/include/glib-2.0/glib/gnode.h /usr/include/glib-2.0/glib/ghmac.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/ghook.h \ - /usr/include/glib-2.0/glib/ghostutils.h \ - /usr/include/glib-2.0/glib/giochannel.h \ - /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gpoll.h \ - /usr/include/glib-2.0/glib/gslist.h /usr/include/glib-2.0/glib/gstring.h \ - /usr/include/glib-2.0/glib/gunicode.h \ - /usr/include/glib-2.0/glib/gutils.h \ - /usr/include/glib-2.0/glib/gkeyfile.h \ - /usr/include/glib-2.0/glib/gmappedfile.h \ - /usr/include/glib-2.0/glib/gmarkup.h \ - /usr/include/glib-2.0/glib/gmessages.h \ - /usr/include/glib-2.0/glib/goption.h \ - /usr/include/glib-2.0/glib/gpattern.h \ - /usr/include/glib-2.0/glib/gprimes.h /usr/include/glib-2.0/glib/gqsort.h \ - /usr/include/glib-2.0/glib/gqueue.h /usr/include/glib-2.0/glib/grand.h \ - /usr/include/glib-2.0/glib/gregex.h \ - /usr/include/glib-2.0/glib/gscanner.h \ - /usr/include/glib-2.0/glib/gsequence.h \ - /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gslice.h \ - /usr/include/glib-2.0/glib/gspawn.h \ - /usr/include/glib-2.0/glib/gstrfuncs.h \ - /usr/include/glib-2.0/glib/gstringchunk.h \ - /usr/include/glib-2.0/glib/gtestutils.h \ - /usr/include/glib-2.0/glib/gthreadpool.h \ - /usr/include/glib-2.0/glib/gtimer.h \ - /usr/include/glib-2.0/glib/gtrashstack.h \ - /usr/include/glib-2.0/glib/gtree.h \ - /usr/include/glib-2.0/glib/gurifuncs.h \ - /usr/include/glib-2.0/glib/gvarianttype.h \ - /usr/include/glib-2.0/glib/gvariant.h \ - /usr/include/glib-2.0/glib/gversion.h \ - /usr/include/glib-2.0/glib/deprecated/gallocator.h \ - /usr/include/glib-2.0/glib/deprecated/gcache.h \ - /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ - /usr/include/glib-2.0/glib/deprecated/gmain.h \ - /usr/include/glib-2.0/glib/deprecated/grel.h \ - /usr/include/glib-2.0/glib/deprecated/gthread.h \ - /usr/include/arm-linux-gnueabihf/sys/types.h \ - /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h /usr/include/pthread.h \ - /usr/include/sched.h /usr/include/arm-linux-gnueabihf/bits/sched.h \ - /usr/include/arm-linux-gnueabihf/bits/setjmp.h gobex/gobex-defs.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/include/glib-2.0/glib.h: - -/usr/include/glib-2.0/glib/galloca.h: - -/usr/include/glib-2.0/glib/gtypes.h: - -/usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h: - -/usr/include/glib-2.0/glib/gmacros.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h: - -/usr/include/limits.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/local_lim.h: - -/usr/include/linux/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix2_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/xopen_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h: - -/usr/include/glib-2.0/glib/gversionmacros.h: - -/usr/include/time.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/arm-linux-gnueabihf/bits/timex.h: - -/usr/include/xlocale.h: - -/usr/include/glib-2.0/glib/garray.h: - -/usr/include/glib-2.0/glib/gasyncqueue.h: - -/usr/include/glib-2.0/glib/gthread.h: - -/usr/include/glib-2.0/glib/gatomic.h: - -/usr/include/glib-2.0/glib/gerror.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/glib-2.0/glib/gquark.h: - -/usr/include/glib-2.0/glib/gbacktrace.h: - -/usr/include/signal.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/signum.h: - -/usr/include/arm-linux-gnueabihf/bits/siginfo.h: - -/usr/include/arm-linux-gnueabihf/bits/sigaction.h: - -/usr/include/arm-linux-gnueabihf/bits/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/asm/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigstack.h: - -/usr/include/arm-linux-gnueabihf/sys/ucontext.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/arm-linux-gnueabihf/bits/sigthread.h: - -/usr/include/glib-2.0/glib/gbase64.h: - -/usr/include/glib-2.0/glib/gbitlock.h: - -/usr/include/glib-2.0/glib/gbookmarkfile.h: - -/usr/include/glib-2.0/glib/gbytes.h: - -/usr/include/glib-2.0/glib/gcharset.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/gconvert.h: - -/usr/include/glib-2.0/glib/gdataset.h: - -/usr/include/glib-2.0/glib/gdate.h: - -/usr/include/glib-2.0/glib/gdatetime.h: - -/usr/include/glib-2.0/glib/gtimezone.h: - -/usr/include/glib-2.0/glib/gdir.h: - -/usr/include/dirent.h: - -/usr/include/arm-linux-gnueabihf/bits/dirent.h: - -/usr/include/glib-2.0/glib/genviron.h: - -/usr/include/glib-2.0/glib/gfileutils.h: - -/usr/include/glib-2.0/glib/ggettext.h: - -/usr/include/glib-2.0/glib/ghash.h: - -/usr/include/glib-2.0/glib/glist.h: - -/usr/include/glib-2.0/glib/gmem.h: - -/usr/include/glib-2.0/glib/gnode.h: - -/usr/include/glib-2.0/glib/ghmac.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/ghook.h: - -/usr/include/glib-2.0/glib/ghostutils.h: - -/usr/include/glib-2.0/glib/giochannel.h: - -/usr/include/glib-2.0/glib/gmain.h: - -/usr/include/glib-2.0/glib/gpoll.h: - -/usr/include/glib-2.0/glib/gslist.h: - -/usr/include/glib-2.0/glib/gstring.h: - -/usr/include/glib-2.0/glib/gunicode.h: - -/usr/include/glib-2.0/glib/gutils.h: - -/usr/include/glib-2.0/glib/gkeyfile.h: - -/usr/include/glib-2.0/glib/gmappedfile.h: - -/usr/include/glib-2.0/glib/gmarkup.h: - -/usr/include/glib-2.0/glib/gmessages.h: - -/usr/include/glib-2.0/glib/goption.h: - -/usr/include/glib-2.0/glib/gpattern.h: - -/usr/include/glib-2.0/glib/gprimes.h: - -/usr/include/glib-2.0/glib/gqsort.h: - -/usr/include/glib-2.0/glib/gqueue.h: - -/usr/include/glib-2.0/glib/grand.h: - -/usr/include/glib-2.0/glib/gregex.h: - -/usr/include/glib-2.0/glib/gscanner.h: - -/usr/include/glib-2.0/glib/gsequence.h: - -/usr/include/glib-2.0/glib/gshell.h: - -/usr/include/glib-2.0/glib/gslice.h: - -/usr/include/glib-2.0/glib/gspawn.h: - -/usr/include/glib-2.0/glib/gstrfuncs.h: - -/usr/include/glib-2.0/glib/gstringchunk.h: - -/usr/include/glib-2.0/glib/gtestutils.h: - -/usr/include/glib-2.0/glib/gthreadpool.h: - -/usr/include/glib-2.0/glib/gtimer.h: - -/usr/include/glib-2.0/glib/gtrashstack.h: - -/usr/include/glib-2.0/glib/gtree.h: - -/usr/include/glib-2.0/glib/gurifuncs.h: - -/usr/include/glib-2.0/glib/gvarianttype.h: - -/usr/include/glib-2.0/glib/gvariant.h: - -/usr/include/glib-2.0/glib/gversion.h: - -/usr/include/glib-2.0/glib/deprecated/gallocator.h: - -/usr/include/glib-2.0/glib/deprecated/gcache.h: - -/usr/include/glib-2.0/glib/deprecated/gcompletion.h: - -/usr/include/glib-2.0/glib/deprecated/gmain.h: - -/usr/include/glib-2.0/glib/deprecated/grel.h: - -/usr/include/glib-2.0/glib/deprecated/gthread.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/pthread.h: - -/usr/include/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/setjmp.h: - -gobex/gobex-defs.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/gobex/.deps/gobex-header.Po b/GRIB_BLE_HUB/libs/ble_extend/gobex/.deps/gobex-header.Po deleted file mode 100644 index 09fd6d4..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/gobex/.deps/gobex-header.Po +++ /dev/null @@ -1,393 +0,0 @@ -gobex/gobex-header.o: gobex/gobex-header.c /usr/include/stdc-predef.h \ - config.h /usr/include/string.h /usr/include/features.h \ - /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/include/xlocale.h /usr/include/arm-linux-gnueabihf/bits/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string2.h /usr/include/stdlib.h \ - gobex/gobex-header.h /usr/include/glib-2.0/glib.h \ - /usr/include/glib-2.0/glib/galloca.h /usr/include/glib-2.0/glib/gtypes.h \ - /usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h \ - /usr/include/glib-2.0/glib/gmacros.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h \ - /usr/include/limits.h /usr/include/arm-linux-gnueabihf/bits/posix1_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/local_lim.h \ - /usr/include/linux/limits.h \ - /usr/include/arm-linux-gnueabihf/bits/posix2_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/xopen_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h \ - /usr/include/glib-2.0/glib/gversionmacros.h /usr/include/time.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h \ - /usr/include/arm-linux-gnueabihf/bits/timex.h \ - /usr/include/glib-2.0/glib/garray.h \ - /usr/include/glib-2.0/glib/gasyncqueue.h \ - /usr/include/glib-2.0/glib/gthread.h \ - /usr/include/glib-2.0/glib/gatomic.h /usr/include/glib-2.0/glib/gerror.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/glib-2.0/glib/gquark.h \ - /usr/include/glib-2.0/glib/gbacktrace.h /usr/include/signal.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/signum.h \ - /usr/include/arm-linux-gnueabihf/bits/siginfo.h \ - /usr/include/arm-linux-gnueabihf/bits/sigaction.h \ - /usr/include/arm-linux-gnueabihf/bits/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/asm/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigstack.h \ - /usr/include/arm-linux-gnueabihf/sys/ucontext.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/endian.h /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/arm-linux-gnueabihf/bits/sigthread.h \ - /usr/include/glib-2.0/glib/gbase64.h \ - /usr/include/glib-2.0/glib/gbitlock.h \ - /usr/include/glib-2.0/glib/gbookmarkfile.h \ - /usr/include/glib-2.0/glib/gbytes.h \ - /usr/include/glib-2.0/glib/gcharset.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/gconvert.h \ - /usr/include/glib-2.0/glib/gdataset.h /usr/include/glib-2.0/glib/gdate.h \ - /usr/include/glib-2.0/glib/gdatetime.h \ - /usr/include/glib-2.0/glib/gtimezone.h /usr/include/glib-2.0/glib/gdir.h \ - /usr/include/dirent.h /usr/include/arm-linux-gnueabihf/bits/dirent.h \ - /usr/include/glib-2.0/glib/genviron.h \ - /usr/include/glib-2.0/glib/gfileutils.h \ - /usr/include/glib-2.0/glib/ggettext.h /usr/include/glib-2.0/glib/ghash.h \ - /usr/include/glib-2.0/glib/glist.h /usr/include/glib-2.0/glib/gmem.h \ - /usr/include/glib-2.0/glib/gnode.h /usr/include/glib-2.0/glib/ghmac.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/ghook.h \ - /usr/include/glib-2.0/glib/ghostutils.h \ - /usr/include/glib-2.0/glib/giochannel.h \ - /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gpoll.h \ - /usr/include/glib-2.0/glib/gslist.h /usr/include/glib-2.0/glib/gstring.h \ - /usr/include/glib-2.0/glib/gunicode.h \ - /usr/include/glib-2.0/glib/gutils.h \ - /usr/include/glib-2.0/glib/gkeyfile.h \ - /usr/include/glib-2.0/glib/gmappedfile.h \ - /usr/include/glib-2.0/glib/gmarkup.h \ - /usr/include/glib-2.0/glib/gmessages.h \ - /usr/include/glib-2.0/glib/goption.h \ - /usr/include/glib-2.0/glib/gpattern.h \ - /usr/include/glib-2.0/glib/gprimes.h /usr/include/glib-2.0/glib/gqsort.h \ - /usr/include/glib-2.0/glib/gqueue.h /usr/include/glib-2.0/glib/grand.h \ - /usr/include/glib-2.0/glib/gregex.h \ - /usr/include/glib-2.0/glib/gscanner.h \ - /usr/include/glib-2.0/glib/gsequence.h \ - /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gslice.h \ - /usr/include/glib-2.0/glib/gspawn.h \ - /usr/include/glib-2.0/glib/gstrfuncs.h \ - /usr/include/glib-2.0/glib/gstringchunk.h \ - /usr/include/glib-2.0/glib/gtestutils.h \ - /usr/include/glib-2.0/glib/gthreadpool.h \ - /usr/include/glib-2.0/glib/gtimer.h \ - /usr/include/glib-2.0/glib/gtrashstack.h \ - /usr/include/glib-2.0/glib/gtree.h \ - /usr/include/glib-2.0/glib/gurifuncs.h \ - /usr/include/glib-2.0/glib/gvarianttype.h \ - /usr/include/glib-2.0/glib/gvariant.h \ - /usr/include/glib-2.0/glib/gversion.h \ - /usr/include/glib-2.0/glib/deprecated/gallocator.h \ - /usr/include/glib-2.0/glib/deprecated/gcache.h \ - /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ - /usr/include/glib-2.0/glib/deprecated/gmain.h \ - /usr/include/glib-2.0/glib/deprecated/grel.h \ - /usr/include/glib-2.0/glib/deprecated/gthread.h \ - /usr/include/arm-linux-gnueabihf/sys/types.h \ - /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h /usr/include/pthread.h \ - /usr/include/sched.h /usr/include/arm-linux-gnueabihf/bits/sched.h \ - /usr/include/arm-linux-gnueabihf/bits/setjmp.h gobex/gobex-defs.h \ - gobex/gobex-apparam.h gobex/gobex-debug.h /usr/include/stdio.h \ - /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/include/arm-linux-gnueabihf/bits/sys_errlist.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio.h /usr/include/ctype.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/include/string.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/include/xlocale.h: - -/usr/include/arm-linux-gnueabihf/bits/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string2.h: - -/usr/include/stdlib.h: - -gobex/gobex-header.h: - -/usr/include/glib-2.0/glib.h: - -/usr/include/glib-2.0/glib/galloca.h: - -/usr/include/glib-2.0/glib/gtypes.h: - -/usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h: - -/usr/include/glib-2.0/glib/gmacros.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h: - -/usr/include/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/local_lim.h: - -/usr/include/linux/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix2_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/xopen_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h: - -/usr/include/glib-2.0/glib/gversionmacros.h: - -/usr/include/time.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/arm-linux-gnueabihf/bits/timex.h: - -/usr/include/glib-2.0/glib/garray.h: - -/usr/include/glib-2.0/glib/gasyncqueue.h: - -/usr/include/glib-2.0/glib/gthread.h: - -/usr/include/glib-2.0/glib/gatomic.h: - -/usr/include/glib-2.0/glib/gerror.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/glib-2.0/glib/gquark.h: - -/usr/include/glib-2.0/glib/gbacktrace.h: - -/usr/include/signal.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/signum.h: - -/usr/include/arm-linux-gnueabihf/bits/siginfo.h: - -/usr/include/arm-linux-gnueabihf/bits/sigaction.h: - -/usr/include/arm-linux-gnueabihf/bits/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/asm/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigstack.h: - -/usr/include/arm-linux-gnueabihf/sys/ucontext.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/arm-linux-gnueabihf/bits/sigthread.h: - -/usr/include/glib-2.0/glib/gbase64.h: - -/usr/include/glib-2.0/glib/gbitlock.h: - -/usr/include/glib-2.0/glib/gbookmarkfile.h: - -/usr/include/glib-2.0/glib/gbytes.h: - -/usr/include/glib-2.0/glib/gcharset.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/gconvert.h: - -/usr/include/glib-2.0/glib/gdataset.h: - -/usr/include/glib-2.0/glib/gdate.h: - -/usr/include/glib-2.0/glib/gdatetime.h: - -/usr/include/glib-2.0/glib/gtimezone.h: - -/usr/include/glib-2.0/glib/gdir.h: - -/usr/include/dirent.h: - -/usr/include/arm-linux-gnueabihf/bits/dirent.h: - -/usr/include/glib-2.0/glib/genviron.h: - -/usr/include/glib-2.0/glib/gfileutils.h: - -/usr/include/glib-2.0/glib/ggettext.h: - -/usr/include/glib-2.0/glib/ghash.h: - -/usr/include/glib-2.0/glib/glist.h: - -/usr/include/glib-2.0/glib/gmem.h: - -/usr/include/glib-2.0/glib/gnode.h: - -/usr/include/glib-2.0/glib/ghmac.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/ghook.h: - -/usr/include/glib-2.0/glib/ghostutils.h: - -/usr/include/glib-2.0/glib/giochannel.h: - -/usr/include/glib-2.0/glib/gmain.h: - -/usr/include/glib-2.0/glib/gpoll.h: - -/usr/include/glib-2.0/glib/gslist.h: - -/usr/include/glib-2.0/glib/gstring.h: - -/usr/include/glib-2.0/glib/gunicode.h: - -/usr/include/glib-2.0/glib/gutils.h: - -/usr/include/glib-2.0/glib/gkeyfile.h: - -/usr/include/glib-2.0/glib/gmappedfile.h: - -/usr/include/glib-2.0/glib/gmarkup.h: - -/usr/include/glib-2.0/glib/gmessages.h: - -/usr/include/glib-2.0/glib/goption.h: - -/usr/include/glib-2.0/glib/gpattern.h: - -/usr/include/glib-2.0/glib/gprimes.h: - -/usr/include/glib-2.0/glib/gqsort.h: - -/usr/include/glib-2.0/glib/gqueue.h: - -/usr/include/glib-2.0/glib/grand.h: - -/usr/include/glib-2.0/glib/gregex.h: - -/usr/include/glib-2.0/glib/gscanner.h: - -/usr/include/glib-2.0/glib/gsequence.h: - -/usr/include/glib-2.0/glib/gshell.h: - -/usr/include/glib-2.0/glib/gslice.h: - -/usr/include/glib-2.0/glib/gspawn.h: - -/usr/include/glib-2.0/glib/gstrfuncs.h: - -/usr/include/glib-2.0/glib/gstringchunk.h: - -/usr/include/glib-2.0/glib/gtestutils.h: - -/usr/include/glib-2.0/glib/gthreadpool.h: - -/usr/include/glib-2.0/glib/gtimer.h: - -/usr/include/glib-2.0/glib/gtrashstack.h: - -/usr/include/glib-2.0/glib/gtree.h: - -/usr/include/glib-2.0/glib/gurifuncs.h: - -/usr/include/glib-2.0/glib/gvarianttype.h: - -/usr/include/glib-2.0/glib/gvariant.h: - -/usr/include/glib-2.0/glib/gversion.h: - -/usr/include/glib-2.0/glib/deprecated/gallocator.h: - -/usr/include/glib-2.0/glib/deprecated/gcache.h: - -/usr/include/glib-2.0/glib/deprecated/gcompletion.h: - -/usr/include/glib-2.0/glib/deprecated/gmain.h: - -/usr/include/glib-2.0/glib/deprecated/grel.h: - -/usr/include/glib-2.0/glib/deprecated/gthread.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/pthread.h: - -/usr/include/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/setjmp.h: - -gobex/gobex-defs.h: - -gobex/gobex-apparam.h: - -gobex/gobex-debug.h: - -/usr/include/stdio.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/include/arm-linux-gnueabihf/bits/sys_errlist.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio.h: - -/usr/include/ctype.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/gobex/.deps/gobex-packet.Po b/GRIB_BLE_HUB/libs/ble_extend/gobex/.deps/gobex-packet.Po deleted file mode 100644 index a91dac0..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/gobex/.deps/gobex-packet.Po +++ /dev/null @@ -1,413 +0,0 @@ -gobex/gobex-packet.o: gobex/gobex-packet.c /usr/include/stdc-predef.h \ - config.h /usr/include/string.h /usr/include/features.h \ - /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/include/xlocale.h /usr/include/arm-linux-gnueabihf/bits/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string2.h /usr/include/stdlib.h \ - /usr/include/errno.h /usr/include/arm-linux-gnueabihf/bits/errno.h \ - /usr/include/linux/errno.h /usr/include/arm-linux-gnueabihf/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - gobex/gobex-defs.h /usr/include/glib-2.0/glib.h \ - /usr/include/glib-2.0/glib/galloca.h /usr/include/glib-2.0/glib/gtypes.h \ - /usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h \ - /usr/include/glib-2.0/glib/gmacros.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h \ - /usr/include/limits.h /usr/include/arm-linux-gnueabihf/bits/posix1_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/local_lim.h \ - /usr/include/linux/limits.h \ - /usr/include/arm-linux-gnueabihf/bits/posix2_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/xopen_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h \ - /usr/include/glib-2.0/glib/gversionmacros.h /usr/include/time.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h \ - /usr/include/arm-linux-gnueabihf/bits/timex.h \ - /usr/include/glib-2.0/glib/garray.h \ - /usr/include/glib-2.0/glib/gasyncqueue.h \ - /usr/include/glib-2.0/glib/gthread.h \ - /usr/include/glib-2.0/glib/gatomic.h /usr/include/glib-2.0/glib/gerror.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/glib-2.0/glib/gquark.h \ - /usr/include/glib-2.0/glib/gbacktrace.h /usr/include/signal.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/signum.h \ - /usr/include/arm-linux-gnueabihf/bits/siginfo.h \ - /usr/include/arm-linux-gnueabihf/bits/sigaction.h \ - /usr/include/arm-linux-gnueabihf/bits/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/asm/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigstack.h \ - /usr/include/arm-linux-gnueabihf/sys/ucontext.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/endian.h /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/arm-linux-gnueabihf/bits/sigthread.h \ - /usr/include/glib-2.0/glib/gbase64.h \ - /usr/include/glib-2.0/glib/gbitlock.h \ - /usr/include/glib-2.0/glib/gbookmarkfile.h \ - /usr/include/glib-2.0/glib/gbytes.h \ - /usr/include/glib-2.0/glib/gcharset.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/gconvert.h \ - /usr/include/glib-2.0/glib/gdataset.h /usr/include/glib-2.0/glib/gdate.h \ - /usr/include/glib-2.0/glib/gdatetime.h \ - /usr/include/glib-2.0/glib/gtimezone.h /usr/include/glib-2.0/glib/gdir.h \ - /usr/include/dirent.h /usr/include/arm-linux-gnueabihf/bits/dirent.h \ - /usr/include/glib-2.0/glib/genviron.h \ - /usr/include/glib-2.0/glib/gfileutils.h \ - /usr/include/glib-2.0/glib/ggettext.h /usr/include/glib-2.0/glib/ghash.h \ - /usr/include/glib-2.0/glib/glist.h /usr/include/glib-2.0/glib/gmem.h \ - /usr/include/glib-2.0/glib/gnode.h /usr/include/glib-2.0/glib/ghmac.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/ghook.h \ - /usr/include/glib-2.0/glib/ghostutils.h \ - /usr/include/glib-2.0/glib/giochannel.h \ - /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gpoll.h \ - /usr/include/glib-2.0/glib/gslist.h /usr/include/glib-2.0/glib/gstring.h \ - /usr/include/glib-2.0/glib/gunicode.h \ - /usr/include/glib-2.0/glib/gutils.h \ - /usr/include/glib-2.0/glib/gkeyfile.h \ - /usr/include/glib-2.0/glib/gmappedfile.h \ - /usr/include/glib-2.0/glib/gmarkup.h \ - /usr/include/glib-2.0/glib/gmessages.h \ - /usr/include/glib-2.0/glib/goption.h \ - /usr/include/glib-2.0/glib/gpattern.h \ - /usr/include/glib-2.0/glib/gprimes.h /usr/include/glib-2.0/glib/gqsort.h \ - /usr/include/glib-2.0/glib/gqueue.h /usr/include/glib-2.0/glib/grand.h \ - /usr/include/glib-2.0/glib/gregex.h \ - /usr/include/glib-2.0/glib/gscanner.h \ - /usr/include/glib-2.0/glib/gsequence.h \ - /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gslice.h \ - /usr/include/glib-2.0/glib/gspawn.h \ - /usr/include/glib-2.0/glib/gstrfuncs.h \ - /usr/include/glib-2.0/glib/gstringchunk.h \ - /usr/include/glib-2.0/glib/gtestutils.h \ - /usr/include/glib-2.0/glib/gthreadpool.h \ - /usr/include/glib-2.0/glib/gtimer.h \ - /usr/include/glib-2.0/glib/gtrashstack.h \ - /usr/include/glib-2.0/glib/gtree.h \ - /usr/include/glib-2.0/glib/gurifuncs.h \ - /usr/include/glib-2.0/glib/gvarianttype.h \ - /usr/include/glib-2.0/glib/gvariant.h \ - /usr/include/glib-2.0/glib/gversion.h \ - /usr/include/glib-2.0/glib/deprecated/gallocator.h \ - /usr/include/glib-2.0/glib/deprecated/gcache.h \ - /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ - /usr/include/glib-2.0/glib/deprecated/gmain.h \ - /usr/include/glib-2.0/glib/deprecated/grel.h \ - /usr/include/glib-2.0/glib/deprecated/gthread.h \ - /usr/include/arm-linux-gnueabihf/sys/types.h \ - /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h /usr/include/pthread.h \ - /usr/include/sched.h /usr/include/arm-linux-gnueabihf/bits/sched.h \ - /usr/include/arm-linux-gnueabihf/bits/setjmp.h gobex/gobex-packet.h \ - gobex/gobex-defs.h gobex/gobex-header.h gobex/gobex-apparam.h \ - gobex/gobex-debug.h /usr/include/stdio.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/include/arm-linux-gnueabihf/bits/sys_errlist.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio.h /usr/include/ctype.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/include/string.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/include/xlocale.h: - -/usr/include/arm-linux-gnueabihf/bits/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string2.h: - -/usr/include/stdlib.h: - -/usr/include/errno.h: - -/usr/include/arm-linux-gnueabihf/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/arm-linux-gnueabihf/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -gobex/gobex-defs.h: - -/usr/include/glib-2.0/glib.h: - -/usr/include/glib-2.0/glib/galloca.h: - -/usr/include/glib-2.0/glib/gtypes.h: - -/usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h: - -/usr/include/glib-2.0/glib/gmacros.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h: - -/usr/include/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/local_lim.h: - -/usr/include/linux/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix2_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/xopen_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h: - -/usr/include/glib-2.0/glib/gversionmacros.h: - -/usr/include/time.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/arm-linux-gnueabihf/bits/timex.h: - -/usr/include/glib-2.0/glib/garray.h: - -/usr/include/glib-2.0/glib/gasyncqueue.h: - -/usr/include/glib-2.0/glib/gthread.h: - -/usr/include/glib-2.0/glib/gatomic.h: - -/usr/include/glib-2.0/glib/gerror.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/glib-2.0/glib/gquark.h: - -/usr/include/glib-2.0/glib/gbacktrace.h: - -/usr/include/signal.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/signum.h: - -/usr/include/arm-linux-gnueabihf/bits/siginfo.h: - -/usr/include/arm-linux-gnueabihf/bits/sigaction.h: - -/usr/include/arm-linux-gnueabihf/bits/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/asm/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigstack.h: - -/usr/include/arm-linux-gnueabihf/sys/ucontext.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/arm-linux-gnueabihf/bits/sigthread.h: - -/usr/include/glib-2.0/glib/gbase64.h: - -/usr/include/glib-2.0/glib/gbitlock.h: - -/usr/include/glib-2.0/glib/gbookmarkfile.h: - -/usr/include/glib-2.0/glib/gbytes.h: - -/usr/include/glib-2.0/glib/gcharset.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/gconvert.h: - -/usr/include/glib-2.0/glib/gdataset.h: - -/usr/include/glib-2.0/glib/gdate.h: - -/usr/include/glib-2.0/glib/gdatetime.h: - -/usr/include/glib-2.0/glib/gtimezone.h: - -/usr/include/glib-2.0/glib/gdir.h: - -/usr/include/dirent.h: - -/usr/include/arm-linux-gnueabihf/bits/dirent.h: - -/usr/include/glib-2.0/glib/genviron.h: - -/usr/include/glib-2.0/glib/gfileutils.h: - -/usr/include/glib-2.0/glib/ggettext.h: - -/usr/include/glib-2.0/glib/ghash.h: - -/usr/include/glib-2.0/glib/glist.h: - -/usr/include/glib-2.0/glib/gmem.h: - -/usr/include/glib-2.0/glib/gnode.h: - -/usr/include/glib-2.0/glib/ghmac.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/ghook.h: - -/usr/include/glib-2.0/glib/ghostutils.h: - -/usr/include/glib-2.0/glib/giochannel.h: - -/usr/include/glib-2.0/glib/gmain.h: - -/usr/include/glib-2.0/glib/gpoll.h: - -/usr/include/glib-2.0/glib/gslist.h: - -/usr/include/glib-2.0/glib/gstring.h: - -/usr/include/glib-2.0/glib/gunicode.h: - -/usr/include/glib-2.0/glib/gutils.h: - -/usr/include/glib-2.0/glib/gkeyfile.h: - -/usr/include/glib-2.0/glib/gmappedfile.h: - -/usr/include/glib-2.0/glib/gmarkup.h: - -/usr/include/glib-2.0/glib/gmessages.h: - -/usr/include/glib-2.0/glib/goption.h: - -/usr/include/glib-2.0/glib/gpattern.h: - -/usr/include/glib-2.0/glib/gprimes.h: - -/usr/include/glib-2.0/glib/gqsort.h: - -/usr/include/glib-2.0/glib/gqueue.h: - -/usr/include/glib-2.0/glib/grand.h: - -/usr/include/glib-2.0/glib/gregex.h: - -/usr/include/glib-2.0/glib/gscanner.h: - -/usr/include/glib-2.0/glib/gsequence.h: - -/usr/include/glib-2.0/glib/gshell.h: - -/usr/include/glib-2.0/glib/gslice.h: - -/usr/include/glib-2.0/glib/gspawn.h: - -/usr/include/glib-2.0/glib/gstrfuncs.h: - -/usr/include/glib-2.0/glib/gstringchunk.h: - -/usr/include/glib-2.0/glib/gtestutils.h: - -/usr/include/glib-2.0/glib/gthreadpool.h: - -/usr/include/glib-2.0/glib/gtimer.h: - -/usr/include/glib-2.0/glib/gtrashstack.h: - -/usr/include/glib-2.0/glib/gtree.h: - -/usr/include/glib-2.0/glib/gurifuncs.h: - -/usr/include/glib-2.0/glib/gvarianttype.h: - -/usr/include/glib-2.0/glib/gvariant.h: - -/usr/include/glib-2.0/glib/gversion.h: - -/usr/include/glib-2.0/glib/deprecated/gallocator.h: - -/usr/include/glib-2.0/glib/deprecated/gcache.h: - -/usr/include/glib-2.0/glib/deprecated/gcompletion.h: - -/usr/include/glib-2.0/glib/deprecated/gmain.h: - -/usr/include/glib-2.0/glib/deprecated/grel.h: - -/usr/include/glib-2.0/glib/deprecated/gthread.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/pthread.h: - -/usr/include/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/setjmp.h: - -gobex/gobex-packet.h: - -gobex/gobex-defs.h: - -gobex/gobex-header.h: - -gobex/gobex-apparam.h: - -gobex/gobex-debug.h: - -/usr/include/stdio.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/include/arm-linux-gnueabihf/bits/sys_errlist.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio.h: - -/usr/include/ctype.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/gobex/.deps/gobex-transfer.Po b/GRIB_BLE_HUB/libs/ble_extend/gobex/.deps/gobex-transfer.Po deleted file mode 100644 index 9634520..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/gobex/.deps/gobex-transfer.Po +++ /dev/null @@ -1,413 +0,0 @@ -gobex/gobex-transfer.o: gobex/gobex-transfer.c /usr/include/stdc-predef.h \ - config.h /usr/include/string.h /usr/include/features.h \ - /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/include/xlocale.h /usr/include/arm-linux-gnueabihf/bits/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string2.h /usr/include/stdlib.h \ - /usr/include/errno.h /usr/include/arm-linux-gnueabihf/bits/errno.h \ - /usr/include/linux/errno.h /usr/include/arm-linux-gnueabihf/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - gobex/gobex.h /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/glib-2.0/glib.h /usr/include/glib-2.0/glib/galloca.h \ - /usr/include/glib-2.0/glib/gtypes.h \ - /usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h \ - /usr/include/glib-2.0/glib/gmacros.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h \ - /usr/include/limits.h /usr/include/arm-linux-gnueabihf/bits/posix1_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/local_lim.h \ - /usr/include/linux/limits.h \ - /usr/include/arm-linux-gnueabihf/bits/posix2_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/xopen_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h \ - /usr/include/glib-2.0/glib/gversionmacros.h /usr/include/time.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h \ - /usr/include/arm-linux-gnueabihf/bits/timex.h \ - /usr/include/glib-2.0/glib/garray.h \ - /usr/include/glib-2.0/glib/gasyncqueue.h \ - /usr/include/glib-2.0/glib/gthread.h \ - /usr/include/glib-2.0/glib/gatomic.h /usr/include/glib-2.0/glib/gerror.h \ - /usr/include/glib-2.0/glib/gquark.h \ - /usr/include/glib-2.0/glib/gbacktrace.h /usr/include/signal.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/signum.h \ - /usr/include/arm-linux-gnueabihf/bits/siginfo.h \ - /usr/include/arm-linux-gnueabihf/bits/sigaction.h \ - /usr/include/arm-linux-gnueabihf/bits/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/asm/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigstack.h \ - /usr/include/arm-linux-gnueabihf/sys/ucontext.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/endian.h /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/arm-linux-gnueabihf/bits/sigthread.h \ - /usr/include/glib-2.0/glib/gbase64.h \ - /usr/include/glib-2.0/glib/gbitlock.h \ - /usr/include/glib-2.0/glib/gbookmarkfile.h \ - /usr/include/glib-2.0/glib/gbytes.h \ - /usr/include/glib-2.0/glib/gcharset.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/gconvert.h \ - /usr/include/glib-2.0/glib/gdataset.h /usr/include/glib-2.0/glib/gdate.h \ - /usr/include/glib-2.0/glib/gdatetime.h \ - /usr/include/glib-2.0/glib/gtimezone.h /usr/include/glib-2.0/glib/gdir.h \ - /usr/include/dirent.h /usr/include/arm-linux-gnueabihf/bits/dirent.h \ - /usr/include/glib-2.0/glib/genviron.h \ - /usr/include/glib-2.0/glib/gfileutils.h \ - /usr/include/glib-2.0/glib/ggettext.h /usr/include/glib-2.0/glib/ghash.h \ - /usr/include/glib-2.0/glib/glist.h /usr/include/glib-2.0/glib/gmem.h \ - /usr/include/glib-2.0/glib/gnode.h /usr/include/glib-2.0/glib/ghmac.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/ghook.h \ - /usr/include/glib-2.0/glib/ghostutils.h \ - /usr/include/glib-2.0/glib/giochannel.h \ - /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gpoll.h \ - /usr/include/glib-2.0/glib/gslist.h /usr/include/glib-2.0/glib/gstring.h \ - /usr/include/glib-2.0/glib/gunicode.h \ - /usr/include/glib-2.0/glib/gutils.h \ - /usr/include/glib-2.0/glib/gkeyfile.h \ - /usr/include/glib-2.0/glib/gmappedfile.h \ - /usr/include/glib-2.0/glib/gmarkup.h \ - /usr/include/glib-2.0/glib/gmessages.h \ - /usr/include/glib-2.0/glib/goption.h \ - /usr/include/glib-2.0/glib/gpattern.h \ - /usr/include/glib-2.0/glib/gprimes.h /usr/include/glib-2.0/glib/gqsort.h \ - /usr/include/glib-2.0/glib/gqueue.h /usr/include/glib-2.0/glib/grand.h \ - /usr/include/glib-2.0/glib/gregex.h \ - /usr/include/glib-2.0/glib/gscanner.h \ - /usr/include/glib-2.0/glib/gsequence.h \ - /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gslice.h \ - /usr/include/glib-2.0/glib/gspawn.h \ - /usr/include/glib-2.0/glib/gstrfuncs.h \ - /usr/include/glib-2.0/glib/gstringchunk.h \ - /usr/include/glib-2.0/glib/gtestutils.h \ - /usr/include/glib-2.0/glib/gthreadpool.h \ - /usr/include/glib-2.0/glib/gtimer.h \ - /usr/include/glib-2.0/glib/gtrashstack.h \ - /usr/include/glib-2.0/glib/gtree.h \ - /usr/include/glib-2.0/glib/gurifuncs.h \ - /usr/include/glib-2.0/glib/gvarianttype.h \ - /usr/include/glib-2.0/glib/gvariant.h \ - /usr/include/glib-2.0/glib/gversion.h \ - /usr/include/glib-2.0/glib/deprecated/gallocator.h \ - /usr/include/glib-2.0/glib/deprecated/gcache.h \ - /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ - /usr/include/glib-2.0/glib/deprecated/gmain.h \ - /usr/include/glib-2.0/glib/deprecated/grel.h \ - /usr/include/glib-2.0/glib/deprecated/gthread.h \ - /usr/include/arm-linux-gnueabihf/sys/types.h \ - /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h /usr/include/pthread.h \ - /usr/include/sched.h /usr/include/arm-linux-gnueabihf/bits/sched.h \ - /usr/include/arm-linux-gnueabihf/bits/setjmp.h gobex/gobex-defs.h \ - gobex/gobex-packet.h gobex/gobex-header.h gobex/gobex-apparam.h \ - gobex/gobex-debug.h /usr/include/stdio.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/include/arm-linux-gnueabihf/bits/sys_errlist.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio.h /usr/include/ctype.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/include/string.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/include/xlocale.h: - -/usr/include/arm-linux-gnueabihf/bits/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string2.h: - -/usr/include/stdlib.h: - -/usr/include/errno.h: - -/usr/include/arm-linux-gnueabihf/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/arm-linux-gnueabihf/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -gobex/gobex.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/glib-2.0/glib.h: - -/usr/include/glib-2.0/glib/galloca.h: - -/usr/include/glib-2.0/glib/gtypes.h: - -/usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h: - -/usr/include/glib-2.0/glib/gmacros.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h: - -/usr/include/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/local_lim.h: - -/usr/include/linux/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix2_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/xopen_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h: - -/usr/include/glib-2.0/glib/gversionmacros.h: - -/usr/include/time.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/arm-linux-gnueabihf/bits/timex.h: - -/usr/include/glib-2.0/glib/garray.h: - -/usr/include/glib-2.0/glib/gasyncqueue.h: - -/usr/include/glib-2.0/glib/gthread.h: - -/usr/include/glib-2.0/glib/gatomic.h: - -/usr/include/glib-2.0/glib/gerror.h: - -/usr/include/glib-2.0/glib/gquark.h: - -/usr/include/glib-2.0/glib/gbacktrace.h: - -/usr/include/signal.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/signum.h: - -/usr/include/arm-linux-gnueabihf/bits/siginfo.h: - -/usr/include/arm-linux-gnueabihf/bits/sigaction.h: - -/usr/include/arm-linux-gnueabihf/bits/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/asm/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigstack.h: - -/usr/include/arm-linux-gnueabihf/sys/ucontext.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/arm-linux-gnueabihf/bits/sigthread.h: - -/usr/include/glib-2.0/glib/gbase64.h: - -/usr/include/glib-2.0/glib/gbitlock.h: - -/usr/include/glib-2.0/glib/gbookmarkfile.h: - -/usr/include/glib-2.0/glib/gbytes.h: - -/usr/include/glib-2.0/glib/gcharset.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/gconvert.h: - -/usr/include/glib-2.0/glib/gdataset.h: - -/usr/include/glib-2.0/glib/gdate.h: - -/usr/include/glib-2.0/glib/gdatetime.h: - -/usr/include/glib-2.0/glib/gtimezone.h: - -/usr/include/glib-2.0/glib/gdir.h: - -/usr/include/dirent.h: - -/usr/include/arm-linux-gnueabihf/bits/dirent.h: - -/usr/include/glib-2.0/glib/genviron.h: - -/usr/include/glib-2.0/glib/gfileutils.h: - -/usr/include/glib-2.0/glib/ggettext.h: - -/usr/include/glib-2.0/glib/ghash.h: - -/usr/include/glib-2.0/glib/glist.h: - -/usr/include/glib-2.0/glib/gmem.h: - -/usr/include/glib-2.0/glib/gnode.h: - -/usr/include/glib-2.0/glib/ghmac.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/ghook.h: - -/usr/include/glib-2.0/glib/ghostutils.h: - -/usr/include/glib-2.0/glib/giochannel.h: - -/usr/include/glib-2.0/glib/gmain.h: - -/usr/include/glib-2.0/glib/gpoll.h: - -/usr/include/glib-2.0/glib/gslist.h: - -/usr/include/glib-2.0/glib/gstring.h: - -/usr/include/glib-2.0/glib/gunicode.h: - -/usr/include/glib-2.0/glib/gutils.h: - -/usr/include/glib-2.0/glib/gkeyfile.h: - -/usr/include/glib-2.0/glib/gmappedfile.h: - -/usr/include/glib-2.0/glib/gmarkup.h: - -/usr/include/glib-2.0/glib/gmessages.h: - -/usr/include/glib-2.0/glib/goption.h: - -/usr/include/glib-2.0/glib/gpattern.h: - -/usr/include/glib-2.0/glib/gprimes.h: - -/usr/include/glib-2.0/glib/gqsort.h: - -/usr/include/glib-2.0/glib/gqueue.h: - -/usr/include/glib-2.0/glib/grand.h: - -/usr/include/glib-2.0/glib/gregex.h: - -/usr/include/glib-2.0/glib/gscanner.h: - -/usr/include/glib-2.0/glib/gsequence.h: - -/usr/include/glib-2.0/glib/gshell.h: - -/usr/include/glib-2.0/glib/gslice.h: - -/usr/include/glib-2.0/glib/gspawn.h: - -/usr/include/glib-2.0/glib/gstrfuncs.h: - -/usr/include/glib-2.0/glib/gstringchunk.h: - -/usr/include/glib-2.0/glib/gtestutils.h: - -/usr/include/glib-2.0/glib/gthreadpool.h: - -/usr/include/glib-2.0/glib/gtimer.h: - -/usr/include/glib-2.0/glib/gtrashstack.h: - -/usr/include/glib-2.0/glib/gtree.h: - -/usr/include/glib-2.0/glib/gurifuncs.h: - -/usr/include/glib-2.0/glib/gvarianttype.h: - -/usr/include/glib-2.0/glib/gvariant.h: - -/usr/include/glib-2.0/glib/gversion.h: - -/usr/include/glib-2.0/glib/deprecated/gallocator.h: - -/usr/include/glib-2.0/glib/deprecated/gcache.h: - -/usr/include/glib-2.0/glib/deprecated/gcompletion.h: - -/usr/include/glib-2.0/glib/deprecated/gmain.h: - -/usr/include/glib-2.0/glib/deprecated/grel.h: - -/usr/include/glib-2.0/glib/deprecated/gthread.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/pthread.h: - -/usr/include/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/setjmp.h: - -gobex/gobex-defs.h: - -gobex/gobex-packet.h: - -gobex/gobex-header.h: - -gobex/gobex-apparam.h: - -gobex/gobex-debug.h: - -/usr/include/stdio.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/include/arm-linux-gnueabihf/bits/sys_errlist.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio.h: - -/usr/include/ctype.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/gobex/.deps/gobex.Po b/GRIB_BLE_HUB/libs/ble_extend/gobex/.deps/gobex.Po deleted file mode 100644 index 4ed87d2..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/gobex/.deps/gobex.Po +++ /dev/null @@ -1,427 +0,0 @@ -gobex/gobex.o: gobex/gobex.c /usr/include/stdc-predef.h config.h \ - /usr/include/unistd.h /usr/include/features.h \ - /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/include/arm-linux-gnueabihf/bits/posix_opt.h \ - /usr/include/arm-linux-gnueabihf/bits/environments.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/include/arm-linux-gnueabihf/bits/confname.h /usr/include/getopt.h \ - /usr/include/string.h /usr/include/xlocale.h \ - /usr/include/arm-linux-gnueabihf/bits/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string2.h /usr/include/stdlib.h \ - /usr/include/errno.h /usr/include/arm-linux-gnueabihf/bits/errno.h \ - /usr/include/linux/errno.h /usr/include/arm-linux-gnueabihf/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - gobex/gobex.h /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/glib-2.0/glib.h /usr/include/glib-2.0/glib/galloca.h \ - /usr/include/glib-2.0/glib/gtypes.h \ - /usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h \ - /usr/include/glib-2.0/glib/gmacros.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h \ - /usr/include/limits.h /usr/include/arm-linux-gnueabihf/bits/posix1_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/local_lim.h \ - /usr/include/linux/limits.h \ - /usr/include/arm-linux-gnueabihf/bits/posix2_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/xopen_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h \ - /usr/include/glib-2.0/glib/gversionmacros.h /usr/include/time.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/bits/timex.h \ - /usr/include/glib-2.0/glib/garray.h \ - /usr/include/glib-2.0/glib/gasyncqueue.h \ - /usr/include/glib-2.0/glib/gthread.h \ - /usr/include/glib-2.0/glib/gatomic.h /usr/include/glib-2.0/glib/gerror.h \ - /usr/include/glib-2.0/glib/gquark.h \ - /usr/include/glib-2.0/glib/gbacktrace.h /usr/include/signal.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/signum.h \ - /usr/include/arm-linux-gnueabihf/bits/siginfo.h \ - /usr/include/arm-linux-gnueabihf/bits/sigaction.h \ - /usr/include/arm-linux-gnueabihf/bits/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/asm/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigstack.h \ - /usr/include/arm-linux-gnueabihf/sys/ucontext.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/endian.h /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/arm-linux-gnueabihf/bits/sigthread.h \ - /usr/include/glib-2.0/glib/gbase64.h \ - /usr/include/glib-2.0/glib/gbitlock.h \ - /usr/include/glib-2.0/glib/gbookmarkfile.h \ - /usr/include/glib-2.0/glib/gbytes.h \ - /usr/include/glib-2.0/glib/gcharset.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/gconvert.h \ - /usr/include/glib-2.0/glib/gdataset.h /usr/include/glib-2.0/glib/gdate.h \ - /usr/include/glib-2.0/glib/gdatetime.h \ - /usr/include/glib-2.0/glib/gtimezone.h /usr/include/glib-2.0/glib/gdir.h \ - /usr/include/dirent.h /usr/include/arm-linux-gnueabihf/bits/dirent.h \ - /usr/include/glib-2.0/glib/genviron.h \ - /usr/include/glib-2.0/glib/gfileutils.h \ - /usr/include/glib-2.0/glib/ggettext.h /usr/include/glib-2.0/glib/ghash.h \ - /usr/include/glib-2.0/glib/glist.h /usr/include/glib-2.0/glib/gmem.h \ - /usr/include/glib-2.0/glib/gnode.h /usr/include/glib-2.0/glib/ghmac.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/ghook.h \ - /usr/include/glib-2.0/glib/ghostutils.h \ - /usr/include/glib-2.0/glib/giochannel.h \ - /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gpoll.h \ - /usr/include/glib-2.0/glib/gslist.h /usr/include/glib-2.0/glib/gstring.h \ - /usr/include/glib-2.0/glib/gunicode.h \ - /usr/include/glib-2.0/glib/gutils.h \ - /usr/include/glib-2.0/glib/gkeyfile.h \ - /usr/include/glib-2.0/glib/gmappedfile.h \ - /usr/include/glib-2.0/glib/gmarkup.h \ - /usr/include/glib-2.0/glib/gmessages.h \ - /usr/include/glib-2.0/glib/goption.h \ - /usr/include/glib-2.0/glib/gpattern.h \ - /usr/include/glib-2.0/glib/gprimes.h /usr/include/glib-2.0/glib/gqsort.h \ - /usr/include/glib-2.0/glib/gqueue.h /usr/include/glib-2.0/glib/grand.h \ - /usr/include/glib-2.0/glib/gregex.h \ - /usr/include/glib-2.0/glib/gscanner.h \ - /usr/include/glib-2.0/glib/gsequence.h \ - /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gslice.h \ - /usr/include/glib-2.0/glib/gspawn.h \ - /usr/include/glib-2.0/glib/gstrfuncs.h \ - /usr/include/glib-2.0/glib/gstringchunk.h \ - /usr/include/glib-2.0/glib/gtestutils.h \ - /usr/include/glib-2.0/glib/gthreadpool.h \ - /usr/include/glib-2.0/glib/gtimer.h \ - /usr/include/glib-2.0/glib/gtrashstack.h \ - /usr/include/glib-2.0/glib/gtree.h \ - /usr/include/glib-2.0/glib/gurifuncs.h \ - /usr/include/glib-2.0/glib/gvarianttype.h \ - /usr/include/glib-2.0/glib/gvariant.h \ - /usr/include/glib-2.0/glib/gversion.h \ - /usr/include/glib-2.0/glib/deprecated/gallocator.h \ - /usr/include/glib-2.0/glib/deprecated/gcache.h \ - /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ - /usr/include/glib-2.0/glib/deprecated/gmain.h \ - /usr/include/glib-2.0/glib/deprecated/grel.h \ - /usr/include/glib-2.0/glib/deprecated/gthread.h \ - /usr/include/arm-linux-gnueabihf/sys/types.h \ - /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h /usr/include/pthread.h \ - /usr/include/sched.h /usr/include/arm-linux-gnueabihf/bits/sched.h \ - /usr/include/arm-linux-gnueabihf/bits/setjmp.h gobex/gobex-defs.h \ - gobex/gobex-packet.h gobex/gobex-header.h gobex/gobex-apparam.h \ - gobex/gobex-debug.h /usr/include/stdio.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/include/arm-linux-gnueabihf/bits/sys_errlist.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio.h /usr/include/ctype.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/include/unistd.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/include/arm-linux-gnueabihf/bits/posix_opt.h: - -/usr/include/arm-linux-gnueabihf/bits/environments.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/include/arm-linux-gnueabihf/bits/confname.h: - -/usr/include/getopt.h: - -/usr/include/string.h: - -/usr/include/xlocale.h: - -/usr/include/arm-linux-gnueabihf/bits/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string2.h: - -/usr/include/stdlib.h: - -/usr/include/errno.h: - -/usr/include/arm-linux-gnueabihf/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/arm-linux-gnueabihf/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -gobex/gobex.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/glib-2.0/glib.h: - -/usr/include/glib-2.0/glib/galloca.h: - -/usr/include/glib-2.0/glib/gtypes.h: - -/usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h: - -/usr/include/glib-2.0/glib/gmacros.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h: - -/usr/include/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/local_lim.h: - -/usr/include/linux/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix2_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/xopen_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h: - -/usr/include/glib-2.0/glib/gversionmacros.h: - -/usr/include/time.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/bits/timex.h: - -/usr/include/glib-2.0/glib/garray.h: - -/usr/include/glib-2.0/glib/gasyncqueue.h: - -/usr/include/glib-2.0/glib/gthread.h: - -/usr/include/glib-2.0/glib/gatomic.h: - -/usr/include/glib-2.0/glib/gerror.h: - -/usr/include/glib-2.0/glib/gquark.h: - -/usr/include/glib-2.0/glib/gbacktrace.h: - -/usr/include/signal.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/signum.h: - -/usr/include/arm-linux-gnueabihf/bits/siginfo.h: - -/usr/include/arm-linux-gnueabihf/bits/sigaction.h: - -/usr/include/arm-linux-gnueabihf/bits/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/asm/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigstack.h: - -/usr/include/arm-linux-gnueabihf/sys/ucontext.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/arm-linux-gnueabihf/bits/sigthread.h: - -/usr/include/glib-2.0/glib/gbase64.h: - -/usr/include/glib-2.0/glib/gbitlock.h: - -/usr/include/glib-2.0/glib/gbookmarkfile.h: - -/usr/include/glib-2.0/glib/gbytes.h: - -/usr/include/glib-2.0/glib/gcharset.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/gconvert.h: - -/usr/include/glib-2.0/glib/gdataset.h: - -/usr/include/glib-2.0/glib/gdate.h: - -/usr/include/glib-2.0/glib/gdatetime.h: - -/usr/include/glib-2.0/glib/gtimezone.h: - -/usr/include/glib-2.0/glib/gdir.h: - -/usr/include/dirent.h: - -/usr/include/arm-linux-gnueabihf/bits/dirent.h: - -/usr/include/glib-2.0/glib/genviron.h: - -/usr/include/glib-2.0/glib/gfileutils.h: - -/usr/include/glib-2.0/glib/ggettext.h: - -/usr/include/glib-2.0/glib/ghash.h: - -/usr/include/glib-2.0/glib/glist.h: - -/usr/include/glib-2.0/glib/gmem.h: - -/usr/include/glib-2.0/glib/gnode.h: - -/usr/include/glib-2.0/glib/ghmac.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/ghook.h: - -/usr/include/glib-2.0/glib/ghostutils.h: - -/usr/include/glib-2.0/glib/giochannel.h: - -/usr/include/glib-2.0/glib/gmain.h: - -/usr/include/glib-2.0/glib/gpoll.h: - -/usr/include/glib-2.0/glib/gslist.h: - -/usr/include/glib-2.0/glib/gstring.h: - -/usr/include/glib-2.0/glib/gunicode.h: - -/usr/include/glib-2.0/glib/gutils.h: - -/usr/include/glib-2.0/glib/gkeyfile.h: - -/usr/include/glib-2.0/glib/gmappedfile.h: - -/usr/include/glib-2.0/glib/gmarkup.h: - -/usr/include/glib-2.0/glib/gmessages.h: - -/usr/include/glib-2.0/glib/goption.h: - -/usr/include/glib-2.0/glib/gpattern.h: - -/usr/include/glib-2.0/glib/gprimes.h: - -/usr/include/glib-2.0/glib/gqsort.h: - -/usr/include/glib-2.0/glib/gqueue.h: - -/usr/include/glib-2.0/glib/grand.h: - -/usr/include/glib-2.0/glib/gregex.h: - -/usr/include/glib-2.0/glib/gscanner.h: - -/usr/include/glib-2.0/glib/gsequence.h: - -/usr/include/glib-2.0/glib/gshell.h: - -/usr/include/glib-2.0/glib/gslice.h: - -/usr/include/glib-2.0/glib/gspawn.h: - -/usr/include/glib-2.0/glib/gstrfuncs.h: - -/usr/include/glib-2.0/glib/gstringchunk.h: - -/usr/include/glib-2.0/glib/gtestutils.h: - -/usr/include/glib-2.0/glib/gthreadpool.h: - -/usr/include/glib-2.0/glib/gtimer.h: - -/usr/include/glib-2.0/glib/gtrashstack.h: - -/usr/include/glib-2.0/glib/gtree.h: - -/usr/include/glib-2.0/glib/gurifuncs.h: - -/usr/include/glib-2.0/glib/gvarianttype.h: - -/usr/include/glib-2.0/glib/gvariant.h: - -/usr/include/glib-2.0/glib/gversion.h: - -/usr/include/glib-2.0/glib/deprecated/gallocator.h: - -/usr/include/glib-2.0/glib/deprecated/gcache.h: - -/usr/include/glib-2.0/glib/deprecated/gcompletion.h: - -/usr/include/glib-2.0/glib/deprecated/gmain.h: - -/usr/include/glib-2.0/glib/deprecated/grel.h: - -/usr/include/glib-2.0/glib/deprecated/gthread.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/pthread.h: - -/usr/include/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/setjmp.h: - -gobex/gobex-defs.h: - -gobex/gobex-packet.h: - -gobex/gobex-header.h: - -gobex/gobex-apparam.h: - -gobex/gobex-debug.h: - -/usr/include/stdio.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/include/arm-linux-gnueabihf/bits/sys_errlist.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio.h: - -/usr/include/ctype.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/gobex/.deps/obexd-gobex-apparam.Po b/GRIB_BLE_HUB/libs/ble_extend/gobex/.deps/obexd-gobex-apparam.Po deleted file mode 100644 index a06a5f9..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/gobex/.deps/obexd-gobex-apparam.Po +++ /dev/null @@ -1,416 +0,0 @@ -gobex/obexd-gobex-apparam.o: gobex/gobex-apparam.c \ - /usr/include/stdc-predef.h config.h /usr/include/string.h \ - /usr/include/features.h /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/include/xlocale.h /usr/include/arm-linux-gnueabihf/bits/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string2.h /usr/include/stdlib.h \ - /usr/include/unistd.h /usr/include/arm-linux-gnueabihf/bits/posix_opt.h \ - /usr/include/arm-linux-gnueabihf/bits/environments.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h \ - /usr/include/arm-linux-gnueabihf/bits/confname.h /usr/include/getopt.h \ - /usr/include/errno.h /usr/include/arm-linux-gnueabihf/bits/errno.h \ - /usr/include/linux/errno.h /usr/include/arm-linux-gnueabihf/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - gobex/gobex-apparam.h /usr/include/glib-2.0/glib.h \ - /usr/include/glib-2.0/glib/galloca.h /usr/include/glib-2.0/glib/gtypes.h \ - /usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h \ - /usr/include/glib-2.0/glib/gmacros.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h \ - /usr/include/limits.h /usr/include/arm-linux-gnueabihf/bits/posix1_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/local_lim.h \ - /usr/include/linux/limits.h \ - /usr/include/arm-linux-gnueabihf/bits/posix2_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/xopen_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h \ - /usr/include/glib-2.0/glib/gversionmacros.h /usr/include/time.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/bits/timex.h \ - /usr/include/glib-2.0/glib/garray.h \ - /usr/include/glib-2.0/glib/gasyncqueue.h \ - /usr/include/glib-2.0/glib/gthread.h \ - /usr/include/glib-2.0/glib/gatomic.h /usr/include/glib-2.0/glib/gerror.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/glib-2.0/glib/gquark.h \ - /usr/include/glib-2.0/glib/gbacktrace.h /usr/include/signal.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/signum.h \ - /usr/include/arm-linux-gnueabihf/bits/siginfo.h \ - /usr/include/arm-linux-gnueabihf/bits/sigaction.h \ - /usr/include/arm-linux-gnueabihf/bits/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/asm/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigstack.h \ - /usr/include/arm-linux-gnueabihf/sys/ucontext.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/endian.h /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/arm-linux-gnueabihf/bits/sigthread.h \ - /usr/include/glib-2.0/glib/gbase64.h \ - /usr/include/glib-2.0/glib/gbitlock.h \ - /usr/include/glib-2.0/glib/gbookmarkfile.h \ - /usr/include/glib-2.0/glib/gbytes.h \ - /usr/include/glib-2.0/glib/gcharset.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/gconvert.h \ - /usr/include/glib-2.0/glib/gdataset.h /usr/include/glib-2.0/glib/gdate.h \ - /usr/include/glib-2.0/glib/gdatetime.h \ - /usr/include/glib-2.0/glib/gtimezone.h /usr/include/glib-2.0/glib/gdir.h \ - /usr/include/dirent.h /usr/include/arm-linux-gnueabihf/bits/dirent.h \ - /usr/include/glib-2.0/glib/genviron.h \ - /usr/include/glib-2.0/glib/gfileutils.h \ - /usr/include/glib-2.0/glib/ggettext.h /usr/include/glib-2.0/glib/ghash.h \ - /usr/include/glib-2.0/glib/glist.h /usr/include/glib-2.0/glib/gmem.h \ - /usr/include/glib-2.0/glib/gnode.h /usr/include/glib-2.0/glib/ghmac.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/ghook.h \ - /usr/include/glib-2.0/glib/ghostutils.h \ - /usr/include/glib-2.0/glib/giochannel.h \ - /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gpoll.h \ - /usr/include/glib-2.0/glib/gslist.h /usr/include/glib-2.0/glib/gstring.h \ - /usr/include/glib-2.0/glib/gunicode.h \ - /usr/include/glib-2.0/glib/gutils.h \ - /usr/include/glib-2.0/glib/gkeyfile.h \ - /usr/include/glib-2.0/glib/gmappedfile.h \ - /usr/include/glib-2.0/glib/gmarkup.h \ - /usr/include/glib-2.0/glib/gmessages.h \ - /usr/include/glib-2.0/glib/goption.h \ - /usr/include/glib-2.0/glib/gpattern.h \ - /usr/include/glib-2.0/glib/gprimes.h /usr/include/glib-2.0/glib/gqsort.h \ - /usr/include/glib-2.0/glib/gqueue.h /usr/include/glib-2.0/glib/grand.h \ - /usr/include/glib-2.0/glib/gregex.h \ - /usr/include/glib-2.0/glib/gscanner.h \ - /usr/include/glib-2.0/glib/gsequence.h \ - /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gslice.h \ - /usr/include/glib-2.0/glib/gspawn.h \ - /usr/include/glib-2.0/glib/gstrfuncs.h \ - /usr/include/glib-2.0/glib/gstringchunk.h \ - /usr/include/glib-2.0/glib/gtestutils.h \ - /usr/include/glib-2.0/glib/gthreadpool.h \ - /usr/include/glib-2.0/glib/gtimer.h \ - /usr/include/glib-2.0/glib/gtrashstack.h \ - /usr/include/glib-2.0/glib/gtree.h \ - /usr/include/glib-2.0/glib/gurifuncs.h \ - /usr/include/glib-2.0/glib/gvarianttype.h \ - /usr/include/glib-2.0/glib/gvariant.h \ - /usr/include/glib-2.0/glib/gversion.h \ - /usr/include/glib-2.0/glib/deprecated/gallocator.h \ - /usr/include/glib-2.0/glib/deprecated/gcache.h \ - /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ - /usr/include/glib-2.0/glib/deprecated/gmain.h \ - /usr/include/glib-2.0/glib/deprecated/grel.h \ - /usr/include/glib-2.0/glib/deprecated/gthread.h \ - /usr/include/arm-linux-gnueabihf/sys/types.h \ - /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h /usr/include/pthread.h \ - /usr/include/sched.h /usr/include/arm-linux-gnueabihf/bits/sched.h \ - /usr/include/arm-linux-gnueabihf/bits/setjmp.h gobex/gobex-debug.h \ - /usr/include/stdio.h /usr/include/libio.h /usr/include/_G_config.h \ - /usr/include/wchar.h /usr/include/arm-linux-gnueabihf/bits/sys_errlist.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio.h /usr/include/ctype.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/include/string.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/include/xlocale.h: - -/usr/include/arm-linux-gnueabihf/bits/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string2.h: - -/usr/include/stdlib.h: - -/usr/include/unistd.h: - -/usr/include/arm-linux-gnueabihf/bits/posix_opt.h: - -/usr/include/arm-linux-gnueabihf/bits/environments.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/arm-linux-gnueabihf/bits/confname.h: - -/usr/include/getopt.h: - -/usr/include/errno.h: - -/usr/include/arm-linux-gnueabihf/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/arm-linux-gnueabihf/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -gobex/gobex-apparam.h: - -/usr/include/glib-2.0/glib.h: - -/usr/include/glib-2.0/glib/galloca.h: - -/usr/include/glib-2.0/glib/gtypes.h: - -/usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h: - -/usr/include/glib-2.0/glib/gmacros.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h: - -/usr/include/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/local_lim.h: - -/usr/include/linux/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix2_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/xopen_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h: - -/usr/include/glib-2.0/glib/gversionmacros.h: - -/usr/include/time.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/bits/timex.h: - -/usr/include/glib-2.0/glib/garray.h: - -/usr/include/glib-2.0/glib/gasyncqueue.h: - -/usr/include/glib-2.0/glib/gthread.h: - -/usr/include/glib-2.0/glib/gatomic.h: - -/usr/include/glib-2.0/glib/gerror.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/glib-2.0/glib/gquark.h: - -/usr/include/glib-2.0/glib/gbacktrace.h: - -/usr/include/signal.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/signum.h: - -/usr/include/arm-linux-gnueabihf/bits/siginfo.h: - -/usr/include/arm-linux-gnueabihf/bits/sigaction.h: - -/usr/include/arm-linux-gnueabihf/bits/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/asm/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigstack.h: - -/usr/include/arm-linux-gnueabihf/sys/ucontext.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/arm-linux-gnueabihf/bits/sigthread.h: - -/usr/include/glib-2.0/glib/gbase64.h: - -/usr/include/glib-2.0/glib/gbitlock.h: - -/usr/include/glib-2.0/glib/gbookmarkfile.h: - -/usr/include/glib-2.0/glib/gbytes.h: - -/usr/include/glib-2.0/glib/gcharset.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/gconvert.h: - -/usr/include/glib-2.0/glib/gdataset.h: - -/usr/include/glib-2.0/glib/gdate.h: - -/usr/include/glib-2.0/glib/gdatetime.h: - -/usr/include/glib-2.0/glib/gtimezone.h: - -/usr/include/glib-2.0/glib/gdir.h: - -/usr/include/dirent.h: - -/usr/include/arm-linux-gnueabihf/bits/dirent.h: - -/usr/include/glib-2.0/glib/genviron.h: - -/usr/include/glib-2.0/glib/gfileutils.h: - -/usr/include/glib-2.0/glib/ggettext.h: - -/usr/include/glib-2.0/glib/ghash.h: - -/usr/include/glib-2.0/glib/glist.h: - -/usr/include/glib-2.0/glib/gmem.h: - -/usr/include/glib-2.0/glib/gnode.h: - -/usr/include/glib-2.0/glib/ghmac.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/ghook.h: - -/usr/include/glib-2.0/glib/ghostutils.h: - -/usr/include/glib-2.0/glib/giochannel.h: - -/usr/include/glib-2.0/glib/gmain.h: - -/usr/include/glib-2.0/glib/gpoll.h: - -/usr/include/glib-2.0/glib/gslist.h: - -/usr/include/glib-2.0/glib/gstring.h: - -/usr/include/glib-2.0/glib/gunicode.h: - -/usr/include/glib-2.0/glib/gutils.h: - -/usr/include/glib-2.0/glib/gkeyfile.h: - -/usr/include/glib-2.0/glib/gmappedfile.h: - -/usr/include/glib-2.0/glib/gmarkup.h: - -/usr/include/glib-2.0/glib/gmessages.h: - -/usr/include/glib-2.0/glib/goption.h: - -/usr/include/glib-2.0/glib/gpattern.h: - -/usr/include/glib-2.0/glib/gprimes.h: - -/usr/include/glib-2.0/glib/gqsort.h: - -/usr/include/glib-2.0/glib/gqueue.h: - -/usr/include/glib-2.0/glib/grand.h: - -/usr/include/glib-2.0/glib/gregex.h: - -/usr/include/glib-2.0/glib/gscanner.h: - -/usr/include/glib-2.0/glib/gsequence.h: - -/usr/include/glib-2.0/glib/gshell.h: - -/usr/include/glib-2.0/glib/gslice.h: - -/usr/include/glib-2.0/glib/gspawn.h: - -/usr/include/glib-2.0/glib/gstrfuncs.h: - -/usr/include/glib-2.0/glib/gstringchunk.h: - -/usr/include/glib-2.0/glib/gtestutils.h: - -/usr/include/glib-2.0/glib/gthreadpool.h: - -/usr/include/glib-2.0/glib/gtimer.h: - -/usr/include/glib-2.0/glib/gtrashstack.h: - -/usr/include/glib-2.0/glib/gtree.h: - -/usr/include/glib-2.0/glib/gurifuncs.h: - -/usr/include/glib-2.0/glib/gvarianttype.h: - -/usr/include/glib-2.0/glib/gvariant.h: - -/usr/include/glib-2.0/glib/gversion.h: - -/usr/include/glib-2.0/glib/deprecated/gallocator.h: - -/usr/include/glib-2.0/glib/deprecated/gcache.h: - -/usr/include/glib-2.0/glib/deprecated/gcompletion.h: - -/usr/include/glib-2.0/glib/deprecated/gmain.h: - -/usr/include/glib-2.0/glib/deprecated/grel.h: - -/usr/include/glib-2.0/glib/deprecated/gthread.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/pthread.h: - -/usr/include/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/setjmp.h: - -gobex/gobex-debug.h: - -/usr/include/stdio.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/include/arm-linux-gnueabihf/bits/sys_errlist.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio.h: - -/usr/include/ctype.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/gobex/.deps/obexd-gobex-defs.Po b/GRIB_BLE_HUB/libs/ble_extend/gobex/.deps/obexd-gobex-defs.Po deleted file mode 100644 index 215d71a..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/gobex/.deps/obexd-gobex-defs.Po +++ /dev/null @@ -1,359 +0,0 @@ -gobex/obexd-gobex-defs.o: gobex/gobex-defs.c /usr/include/stdc-predef.h \ - config.h /usr/include/glib-2.0/glib.h \ - /usr/include/glib-2.0/glib/galloca.h /usr/include/glib-2.0/glib/gtypes.h \ - /usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h \ - /usr/include/glib-2.0/glib/gmacros.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h \ - /usr/include/limits.h /usr/include/features.h \ - /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/include/arm-linux-gnueabihf/bits/posix1_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/local_lim.h \ - /usr/include/linux/limits.h \ - /usr/include/arm-linux-gnueabihf/bits/posix2_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/xopen_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h \ - /usr/include/glib-2.0/glib/gversionmacros.h /usr/include/time.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h \ - /usr/include/arm-linux-gnueabihf/bits/timex.h /usr/include/xlocale.h \ - /usr/include/glib-2.0/glib/garray.h \ - /usr/include/glib-2.0/glib/gasyncqueue.h \ - /usr/include/glib-2.0/glib/gthread.h \ - /usr/include/glib-2.0/glib/gatomic.h /usr/include/glib-2.0/glib/gerror.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/glib-2.0/glib/gquark.h \ - /usr/include/glib-2.0/glib/gbacktrace.h /usr/include/signal.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/signum.h \ - /usr/include/arm-linux-gnueabihf/bits/siginfo.h \ - /usr/include/arm-linux-gnueabihf/bits/sigaction.h \ - /usr/include/arm-linux-gnueabihf/bits/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/asm/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigstack.h \ - /usr/include/arm-linux-gnueabihf/sys/ucontext.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/endian.h /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/arm-linux-gnueabihf/bits/sigthread.h \ - /usr/include/glib-2.0/glib/gbase64.h \ - /usr/include/glib-2.0/glib/gbitlock.h \ - /usr/include/glib-2.0/glib/gbookmarkfile.h \ - /usr/include/glib-2.0/glib/gbytes.h \ - /usr/include/glib-2.0/glib/gcharset.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/gconvert.h \ - /usr/include/glib-2.0/glib/gdataset.h /usr/include/glib-2.0/glib/gdate.h \ - /usr/include/glib-2.0/glib/gdatetime.h \ - /usr/include/glib-2.0/glib/gtimezone.h /usr/include/glib-2.0/glib/gdir.h \ - /usr/include/dirent.h /usr/include/arm-linux-gnueabihf/bits/dirent.h \ - /usr/include/glib-2.0/glib/genviron.h \ - /usr/include/glib-2.0/glib/gfileutils.h \ - /usr/include/glib-2.0/glib/ggettext.h /usr/include/glib-2.0/glib/ghash.h \ - /usr/include/glib-2.0/glib/glist.h /usr/include/glib-2.0/glib/gmem.h \ - /usr/include/glib-2.0/glib/gnode.h /usr/include/glib-2.0/glib/ghmac.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/ghook.h \ - /usr/include/glib-2.0/glib/ghostutils.h \ - /usr/include/glib-2.0/glib/giochannel.h \ - /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gpoll.h \ - /usr/include/glib-2.0/glib/gslist.h /usr/include/glib-2.0/glib/gstring.h \ - /usr/include/glib-2.0/glib/gunicode.h \ - /usr/include/glib-2.0/glib/gutils.h \ - /usr/include/glib-2.0/glib/gkeyfile.h \ - /usr/include/glib-2.0/glib/gmappedfile.h \ - /usr/include/glib-2.0/glib/gmarkup.h \ - /usr/include/glib-2.0/glib/gmessages.h \ - /usr/include/glib-2.0/glib/goption.h \ - /usr/include/glib-2.0/glib/gpattern.h \ - /usr/include/glib-2.0/glib/gprimes.h /usr/include/glib-2.0/glib/gqsort.h \ - /usr/include/glib-2.0/glib/gqueue.h /usr/include/glib-2.0/glib/grand.h \ - /usr/include/glib-2.0/glib/gregex.h \ - /usr/include/glib-2.0/glib/gscanner.h \ - /usr/include/glib-2.0/glib/gsequence.h \ - /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gslice.h \ - /usr/include/glib-2.0/glib/gspawn.h \ - /usr/include/glib-2.0/glib/gstrfuncs.h \ - /usr/include/glib-2.0/glib/gstringchunk.h \ - /usr/include/glib-2.0/glib/gtestutils.h \ - /usr/include/glib-2.0/glib/gthreadpool.h \ - /usr/include/glib-2.0/glib/gtimer.h \ - /usr/include/glib-2.0/glib/gtrashstack.h \ - /usr/include/glib-2.0/glib/gtree.h \ - /usr/include/glib-2.0/glib/gurifuncs.h \ - /usr/include/glib-2.0/glib/gvarianttype.h \ - /usr/include/glib-2.0/glib/gvariant.h \ - /usr/include/glib-2.0/glib/gversion.h \ - /usr/include/glib-2.0/glib/deprecated/gallocator.h \ - /usr/include/glib-2.0/glib/deprecated/gcache.h \ - /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ - /usr/include/glib-2.0/glib/deprecated/gmain.h \ - /usr/include/glib-2.0/glib/deprecated/grel.h \ - /usr/include/glib-2.0/glib/deprecated/gthread.h \ - /usr/include/arm-linux-gnueabihf/sys/types.h \ - /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h /usr/include/pthread.h \ - /usr/include/sched.h /usr/include/arm-linux-gnueabihf/bits/sched.h \ - /usr/include/arm-linux-gnueabihf/bits/setjmp.h gobex/gobex-defs.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/include/glib-2.0/glib.h: - -/usr/include/glib-2.0/glib/galloca.h: - -/usr/include/glib-2.0/glib/gtypes.h: - -/usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h: - -/usr/include/glib-2.0/glib/gmacros.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h: - -/usr/include/limits.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/local_lim.h: - -/usr/include/linux/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix2_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/xopen_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h: - -/usr/include/glib-2.0/glib/gversionmacros.h: - -/usr/include/time.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/arm-linux-gnueabihf/bits/timex.h: - -/usr/include/xlocale.h: - -/usr/include/glib-2.0/glib/garray.h: - -/usr/include/glib-2.0/glib/gasyncqueue.h: - -/usr/include/glib-2.0/glib/gthread.h: - -/usr/include/glib-2.0/glib/gatomic.h: - -/usr/include/glib-2.0/glib/gerror.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/glib-2.0/glib/gquark.h: - -/usr/include/glib-2.0/glib/gbacktrace.h: - -/usr/include/signal.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/signum.h: - -/usr/include/arm-linux-gnueabihf/bits/siginfo.h: - -/usr/include/arm-linux-gnueabihf/bits/sigaction.h: - -/usr/include/arm-linux-gnueabihf/bits/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/asm/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigstack.h: - -/usr/include/arm-linux-gnueabihf/sys/ucontext.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/arm-linux-gnueabihf/bits/sigthread.h: - -/usr/include/glib-2.0/glib/gbase64.h: - -/usr/include/glib-2.0/glib/gbitlock.h: - -/usr/include/glib-2.0/glib/gbookmarkfile.h: - -/usr/include/glib-2.0/glib/gbytes.h: - -/usr/include/glib-2.0/glib/gcharset.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/gconvert.h: - -/usr/include/glib-2.0/glib/gdataset.h: - -/usr/include/glib-2.0/glib/gdate.h: - -/usr/include/glib-2.0/glib/gdatetime.h: - -/usr/include/glib-2.0/glib/gtimezone.h: - -/usr/include/glib-2.0/glib/gdir.h: - -/usr/include/dirent.h: - -/usr/include/arm-linux-gnueabihf/bits/dirent.h: - -/usr/include/glib-2.0/glib/genviron.h: - -/usr/include/glib-2.0/glib/gfileutils.h: - -/usr/include/glib-2.0/glib/ggettext.h: - -/usr/include/glib-2.0/glib/ghash.h: - -/usr/include/glib-2.0/glib/glist.h: - -/usr/include/glib-2.0/glib/gmem.h: - -/usr/include/glib-2.0/glib/gnode.h: - -/usr/include/glib-2.0/glib/ghmac.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/ghook.h: - -/usr/include/glib-2.0/glib/ghostutils.h: - -/usr/include/glib-2.0/glib/giochannel.h: - -/usr/include/glib-2.0/glib/gmain.h: - -/usr/include/glib-2.0/glib/gpoll.h: - -/usr/include/glib-2.0/glib/gslist.h: - -/usr/include/glib-2.0/glib/gstring.h: - -/usr/include/glib-2.0/glib/gunicode.h: - -/usr/include/glib-2.0/glib/gutils.h: - -/usr/include/glib-2.0/glib/gkeyfile.h: - -/usr/include/glib-2.0/glib/gmappedfile.h: - -/usr/include/glib-2.0/glib/gmarkup.h: - -/usr/include/glib-2.0/glib/gmessages.h: - -/usr/include/glib-2.0/glib/goption.h: - -/usr/include/glib-2.0/glib/gpattern.h: - -/usr/include/glib-2.0/glib/gprimes.h: - -/usr/include/glib-2.0/glib/gqsort.h: - -/usr/include/glib-2.0/glib/gqueue.h: - -/usr/include/glib-2.0/glib/grand.h: - -/usr/include/glib-2.0/glib/gregex.h: - -/usr/include/glib-2.0/glib/gscanner.h: - -/usr/include/glib-2.0/glib/gsequence.h: - -/usr/include/glib-2.0/glib/gshell.h: - -/usr/include/glib-2.0/glib/gslice.h: - -/usr/include/glib-2.0/glib/gspawn.h: - -/usr/include/glib-2.0/glib/gstrfuncs.h: - -/usr/include/glib-2.0/glib/gstringchunk.h: - -/usr/include/glib-2.0/glib/gtestutils.h: - -/usr/include/glib-2.0/glib/gthreadpool.h: - -/usr/include/glib-2.0/glib/gtimer.h: - -/usr/include/glib-2.0/glib/gtrashstack.h: - -/usr/include/glib-2.0/glib/gtree.h: - -/usr/include/glib-2.0/glib/gurifuncs.h: - -/usr/include/glib-2.0/glib/gvarianttype.h: - -/usr/include/glib-2.0/glib/gvariant.h: - -/usr/include/glib-2.0/glib/gversion.h: - -/usr/include/glib-2.0/glib/deprecated/gallocator.h: - -/usr/include/glib-2.0/glib/deprecated/gcache.h: - -/usr/include/glib-2.0/glib/deprecated/gcompletion.h: - -/usr/include/glib-2.0/glib/deprecated/gmain.h: - -/usr/include/glib-2.0/glib/deprecated/grel.h: - -/usr/include/glib-2.0/glib/deprecated/gthread.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/pthread.h: - -/usr/include/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/setjmp.h: - -gobex/gobex-defs.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/gobex/.deps/obexd-gobex-header.Po b/GRIB_BLE_HUB/libs/ble_extend/gobex/.deps/obexd-gobex-header.Po deleted file mode 100644 index 8a31eef..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/gobex/.deps/obexd-gobex-header.Po +++ /dev/null @@ -1,393 +0,0 @@ -gobex/obexd-gobex-header.o: gobex/gobex-header.c \ - /usr/include/stdc-predef.h config.h /usr/include/string.h \ - /usr/include/features.h /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/include/xlocale.h /usr/include/arm-linux-gnueabihf/bits/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string2.h /usr/include/stdlib.h \ - gobex/gobex-header.h /usr/include/glib-2.0/glib.h \ - /usr/include/glib-2.0/glib/galloca.h /usr/include/glib-2.0/glib/gtypes.h \ - /usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h \ - /usr/include/glib-2.0/glib/gmacros.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h \ - /usr/include/limits.h /usr/include/arm-linux-gnueabihf/bits/posix1_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/local_lim.h \ - /usr/include/linux/limits.h \ - /usr/include/arm-linux-gnueabihf/bits/posix2_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/xopen_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h \ - /usr/include/glib-2.0/glib/gversionmacros.h /usr/include/time.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h \ - /usr/include/arm-linux-gnueabihf/bits/timex.h \ - /usr/include/glib-2.0/glib/garray.h \ - /usr/include/glib-2.0/glib/gasyncqueue.h \ - /usr/include/glib-2.0/glib/gthread.h \ - /usr/include/glib-2.0/glib/gatomic.h /usr/include/glib-2.0/glib/gerror.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/glib-2.0/glib/gquark.h \ - /usr/include/glib-2.0/glib/gbacktrace.h /usr/include/signal.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/signum.h \ - /usr/include/arm-linux-gnueabihf/bits/siginfo.h \ - /usr/include/arm-linux-gnueabihf/bits/sigaction.h \ - /usr/include/arm-linux-gnueabihf/bits/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/asm/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigstack.h \ - /usr/include/arm-linux-gnueabihf/sys/ucontext.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/endian.h /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/arm-linux-gnueabihf/bits/sigthread.h \ - /usr/include/glib-2.0/glib/gbase64.h \ - /usr/include/glib-2.0/glib/gbitlock.h \ - /usr/include/glib-2.0/glib/gbookmarkfile.h \ - /usr/include/glib-2.0/glib/gbytes.h \ - /usr/include/glib-2.0/glib/gcharset.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/gconvert.h \ - /usr/include/glib-2.0/glib/gdataset.h /usr/include/glib-2.0/glib/gdate.h \ - /usr/include/glib-2.0/glib/gdatetime.h \ - /usr/include/glib-2.0/glib/gtimezone.h /usr/include/glib-2.0/glib/gdir.h \ - /usr/include/dirent.h /usr/include/arm-linux-gnueabihf/bits/dirent.h \ - /usr/include/glib-2.0/glib/genviron.h \ - /usr/include/glib-2.0/glib/gfileutils.h \ - /usr/include/glib-2.0/glib/ggettext.h /usr/include/glib-2.0/glib/ghash.h \ - /usr/include/glib-2.0/glib/glist.h /usr/include/glib-2.0/glib/gmem.h \ - /usr/include/glib-2.0/glib/gnode.h /usr/include/glib-2.0/glib/ghmac.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/ghook.h \ - /usr/include/glib-2.0/glib/ghostutils.h \ - /usr/include/glib-2.0/glib/giochannel.h \ - /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gpoll.h \ - /usr/include/glib-2.0/glib/gslist.h /usr/include/glib-2.0/glib/gstring.h \ - /usr/include/glib-2.0/glib/gunicode.h \ - /usr/include/glib-2.0/glib/gutils.h \ - /usr/include/glib-2.0/glib/gkeyfile.h \ - /usr/include/glib-2.0/glib/gmappedfile.h \ - /usr/include/glib-2.0/glib/gmarkup.h \ - /usr/include/glib-2.0/glib/gmessages.h \ - /usr/include/glib-2.0/glib/goption.h \ - /usr/include/glib-2.0/glib/gpattern.h \ - /usr/include/glib-2.0/glib/gprimes.h /usr/include/glib-2.0/glib/gqsort.h \ - /usr/include/glib-2.0/glib/gqueue.h /usr/include/glib-2.0/glib/grand.h \ - /usr/include/glib-2.0/glib/gregex.h \ - /usr/include/glib-2.0/glib/gscanner.h \ - /usr/include/glib-2.0/glib/gsequence.h \ - /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gslice.h \ - /usr/include/glib-2.0/glib/gspawn.h \ - /usr/include/glib-2.0/glib/gstrfuncs.h \ - /usr/include/glib-2.0/glib/gstringchunk.h \ - /usr/include/glib-2.0/glib/gtestutils.h \ - /usr/include/glib-2.0/glib/gthreadpool.h \ - /usr/include/glib-2.0/glib/gtimer.h \ - /usr/include/glib-2.0/glib/gtrashstack.h \ - /usr/include/glib-2.0/glib/gtree.h \ - /usr/include/glib-2.0/glib/gurifuncs.h \ - /usr/include/glib-2.0/glib/gvarianttype.h \ - /usr/include/glib-2.0/glib/gvariant.h \ - /usr/include/glib-2.0/glib/gversion.h \ - /usr/include/glib-2.0/glib/deprecated/gallocator.h \ - /usr/include/glib-2.0/glib/deprecated/gcache.h \ - /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ - /usr/include/glib-2.0/glib/deprecated/gmain.h \ - /usr/include/glib-2.0/glib/deprecated/grel.h \ - /usr/include/glib-2.0/glib/deprecated/gthread.h \ - /usr/include/arm-linux-gnueabihf/sys/types.h \ - /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h /usr/include/pthread.h \ - /usr/include/sched.h /usr/include/arm-linux-gnueabihf/bits/sched.h \ - /usr/include/arm-linux-gnueabihf/bits/setjmp.h gobex/gobex-defs.h \ - gobex/gobex-apparam.h gobex/gobex-debug.h /usr/include/stdio.h \ - /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/include/arm-linux-gnueabihf/bits/sys_errlist.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio.h /usr/include/ctype.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/include/string.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/include/xlocale.h: - -/usr/include/arm-linux-gnueabihf/bits/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string2.h: - -/usr/include/stdlib.h: - -gobex/gobex-header.h: - -/usr/include/glib-2.0/glib.h: - -/usr/include/glib-2.0/glib/galloca.h: - -/usr/include/glib-2.0/glib/gtypes.h: - -/usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h: - -/usr/include/glib-2.0/glib/gmacros.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h: - -/usr/include/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/local_lim.h: - -/usr/include/linux/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix2_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/xopen_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h: - -/usr/include/glib-2.0/glib/gversionmacros.h: - -/usr/include/time.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/arm-linux-gnueabihf/bits/timex.h: - -/usr/include/glib-2.0/glib/garray.h: - -/usr/include/glib-2.0/glib/gasyncqueue.h: - -/usr/include/glib-2.0/glib/gthread.h: - -/usr/include/glib-2.0/glib/gatomic.h: - -/usr/include/glib-2.0/glib/gerror.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/glib-2.0/glib/gquark.h: - -/usr/include/glib-2.0/glib/gbacktrace.h: - -/usr/include/signal.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/signum.h: - -/usr/include/arm-linux-gnueabihf/bits/siginfo.h: - -/usr/include/arm-linux-gnueabihf/bits/sigaction.h: - -/usr/include/arm-linux-gnueabihf/bits/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/asm/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigstack.h: - -/usr/include/arm-linux-gnueabihf/sys/ucontext.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/arm-linux-gnueabihf/bits/sigthread.h: - -/usr/include/glib-2.0/glib/gbase64.h: - -/usr/include/glib-2.0/glib/gbitlock.h: - -/usr/include/glib-2.0/glib/gbookmarkfile.h: - -/usr/include/glib-2.0/glib/gbytes.h: - -/usr/include/glib-2.0/glib/gcharset.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/gconvert.h: - -/usr/include/glib-2.0/glib/gdataset.h: - -/usr/include/glib-2.0/glib/gdate.h: - -/usr/include/glib-2.0/glib/gdatetime.h: - -/usr/include/glib-2.0/glib/gtimezone.h: - -/usr/include/glib-2.0/glib/gdir.h: - -/usr/include/dirent.h: - -/usr/include/arm-linux-gnueabihf/bits/dirent.h: - -/usr/include/glib-2.0/glib/genviron.h: - -/usr/include/glib-2.0/glib/gfileutils.h: - -/usr/include/glib-2.0/glib/ggettext.h: - -/usr/include/glib-2.0/glib/ghash.h: - -/usr/include/glib-2.0/glib/glist.h: - -/usr/include/glib-2.0/glib/gmem.h: - -/usr/include/glib-2.0/glib/gnode.h: - -/usr/include/glib-2.0/glib/ghmac.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/ghook.h: - -/usr/include/glib-2.0/glib/ghostutils.h: - -/usr/include/glib-2.0/glib/giochannel.h: - -/usr/include/glib-2.0/glib/gmain.h: - -/usr/include/glib-2.0/glib/gpoll.h: - -/usr/include/glib-2.0/glib/gslist.h: - -/usr/include/glib-2.0/glib/gstring.h: - -/usr/include/glib-2.0/glib/gunicode.h: - -/usr/include/glib-2.0/glib/gutils.h: - -/usr/include/glib-2.0/glib/gkeyfile.h: - -/usr/include/glib-2.0/glib/gmappedfile.h: - -/usr/include/glib-2.0/glib/gmarkup.h: - -/usr/include/glib-2.0/glib/gmessages.h: - -/usr/include/glib-2.0/glib/goption.h: - -/usr/include/glib-2.0/glib/gpattern.h: - -/usr/include/glib-2.0/glib/gprimes.h: - -/usr/include/glib-2.0/glib/gqsort.h: - -/usr/include/glib-2.0/glib/gqueue.h: - -/usr/include/glib-2.0/glib/grand.h: - -/usr/include/glib-2.0/glib/gregex.h: - -/usr/include/glib-2.0/glib/gscanner.h: - -/usr/include/glib-2.0/glib/gsequence.h: - -/usr/include/glib-2.0/glib/gshell.h: - -/usr/include/glib-2.0/glib/gslice.h: - -/usr/include/glib-2.0/glib/gspawn.h: - -/usr/include/glib-2.0/glib/gstrfuncs.h: - -/usr/include/glib-2.0/glib/gstringchunk.h: - -/usr/include/glib-2.0/glib/gtestutils.h: - -/usr/include/glib-2.0/glib/gthreadpool.h: - -/usr/include/glib-2.0/glib/gtimer.h: - -/usr/include/glib-2.0/glib/gtrashstack.h: - -/usr/include/glib-2.0/glib/gtree.h: - -/usr/include/glib-2.0/glib/gurifuncs.h: - -/usr/include/glib-2.0/glib/gvarianttype.h: - -/usr/include/glib-2.0/glib/gvariant.h: - -/usr/include/glib-2.0/glib/gversion.h: - -/usr/include/glib-2.0/glib/deprecated/gallocator.h: - -/usr/include/glib-2.0/glib/deprecated/gcache.h: - -/usr/include/glib-2.0/glib/deprecated/gcompletion.h: - -/usr/include/glib-2.0/glib/deprecated/gmain.h: - -/usr/include/glib-2.0/glib/deprecated/grel.h: - -/usr/include/glib-2.0/glib/deprecated/gthread.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/pthread.h: - -/usr/include/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/setjmp.h: - -gobex/gobex-defs.h: - -gobex/gobex-apparam.h: - -gobex/gobex-debug.h: - -/usr/include/stdio.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/include/arm-linux-gnueabihf/bits/sys_errlist.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio.h: - -/usr/include/ctype.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/gobex/.deps/obexd-gobex-packet.Po b/GRIB_BLE_HUB/libs/ble_extend/gobex/.deps/obexd-gobex-packet.Po deleted file mode 100644 index e364eb6..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/gobex/.deps/obexd-gobex-packet.Po +++ /dev/null @@ -1,413 +0,0 @@ -gobex/obexd-gobex-packet.o: gobex/gobex-packet.c \ - /usr/include/stdc-predef.h config.h /usr/include/string.h \ - /usr/include/features.h /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/include/xlocale.h /usr/include/arm-linux-gnueabihf/bits/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string2.h /usr/include/stdlib.h \ - /usr/include/errno.h /usr/include/arm-linux-gnueabihf/bits/errno.h \ - /usr/include/linux/errno.h /usr/include/arm-linux-gnueabihf/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - gobex/gobex-defs.h /usr/include/glib-2.0/glib.h \ - /usr/include/glib-2.0/glib/galloca.h /usr/include/glib-2.0/glib/gtypes.h \ - /usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h \ - /usr/include/glib-2.0/glib/gmacros.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h \ - /usr/include/limits.h /usr/include/arm-linux-gnueabihf/bits/posix1_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/local_lim.h \ - /usr/include/linux/limits.h \ - /usr/include/arm-linux-gnueabihf/bits/posix2_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/xopen_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h \ - /usr/include/glib-2.0/glib/gversionmacros.h /usr/include/time.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h \ - /usr/include/arm-linux-gnueabihf/bits/timex.h \ - /usr/include/glib-2.0/glib/garray.h \ - /usr/include/glib-2.0/glib/gasyncqueue.h \ - /usr/include/glib-2.0/glib/gthread.h \ - /usr/include/glib-2.0/glib/gatomic.h /usr/include/glib-2.0/glib/gerror.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/glib-2.0/glib/gquark.h \ - /usr/include/glib-2.0/glib/gbacktrace.h /usr/include/signal.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/signum.h \ - /usr/include/arm-linux-gnueabihf/bits/siginfo.h \ - /usr/include/arm-linux-gnueabihf/bits/sigaction.h \ - /usr/include/arm-linux-gnueabihf/bits/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/asm/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigstack.h \ - /usr/include/arm-linux-gnueabihf/sys/ucontext.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/endian.h /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/arm-linux-gnueabihf/bits/sigthread.h \ - /usr/include/glib-2.0/glib/gbase64.h \ - /usr/include/glib-2.0/glib/gbitlock.h \ - /usr/include/glib-2.0/glib/gbookmarkfile.h \ - /usr/include/glib-2.0/glib/gbytes.h \ - /usr/include/glib-2.0/glib/gcharset.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/gconvert.h \ - /usr/include/glib-2.0/glib/gdataset.h /usr/include/glib-2.0/glib/gdate.h \ - /usr/include/glib-2.0/glib/gdatetime.h \ - /usr/include/glib-2.0/glib/gtimezone.h /usr/include/glib-2.0/glib/gdir.h \ - /usr/include/dirent.h /usr/include/arm-linux-gnueabihf/bits/dirent.h \ - /usr/include/glib-2.0/glib/genviron.h \ - /usr/include/glib-2.0/glib/gfileutils.h \ - /usr/include/glib-2.0/glib/ggettext.h /usr/include/glib-2.0/glib/ghash.h \ - /usr/include/glib-2.0/glib/glist.h /usr/include/glib-2.0/glib/gmem.h \ - /usr/include/glib-2.0/glib/gnode.h /usr/include/glib-2.0/glib/ghmac.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/ghook.h \ - /usr/include/glib-2.0/glib/ghostutils.h \ - /usr/include/glib-2.0/glib/giochannel.h \ - /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gpoll.h \ - /usr/include/glib-2.0/glib/gslist.h /usr/include/glib-2.0/glib/gstring.h \ - /usr/include/glib-2.0/glib/gunicode.h \ - /usr/include/glib-2.0/glib/gutils.h \ - /usr/include/glib-2.0/glib/gkeyfile.h \ - /usr/include/glib-2.0/glib/gmappedfile.h \ - /usr/include/glib-2.0/glib/gmarkup.h \ - /usr/include/glib-2.0/glib/gmessages.h \ - /usr/include/glib-2.0/glib/goption.h \ - /usr/include/glib-2.0/glib/gpattern.h \ - /usr/include/glib-2.0/glib/gprimes.h /usr/include/glib-2.0/glib/gqsort.h \ - /usr/include/glib-2.0/glib/gqueue.h /usr/include/glib-2.0/glib/grand.h \ - /usr/include/glib-2.0/glib/gregex.h \ - /usr/include/glib-2.0/glib/gscanner.h \ - /usr/include/glib-2.0/glib/gsequence.h \ - /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gslice.h \ - /usr/include/glib-2.0/glib/gspawn.h \ - /usr/include/glib-2.0/glib/gstrfuncs.h \ - /usr/include/glib-2.0/glib/gstringchunk.h \ - /usr/include/glib-2.0/glib/gtestutils.h \ - /usr/include/glib-2.0/glib/gthreadpool.h \ - /usr/include/glib-2.0/glib/gtimer.h \ - /usr/include/glib-2.0/glib/gtrashstack.h \ - /usr/include/glib-2.0/glib/gtree.h \ - /usr/include/glib-2.0/glib/gurifuncs.h \ - /usr/include/glib-2.0/glib/gvarianttype.h \ - /usr/include/glib-2.0/glib/gvariant.h \ - /usr/include/glib-2.0/glib/gversion.h \ - /usr/include/glib-2.0/glib/deprecated/gallocator.h \ - /usr/include/glib-2.0/glib/deprecated/gcache.h \ - /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ - /usr/include/glib-2.0/glib/deprecated/gmain.h \ - /usr/include/glib-2.0/glib/deprecated/grel.h \ - /usr/include/glib-2.0/glib/deprecated/gthread.h \ - /usr/include/arm-linux-gnueabihf/sys/types.h \ - /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h /usr/include/pthread.h \ - /usr/include/sched.h /usr/include/arm-linux-gnueabihf/bits/sched.h \ - /usr/include/arm-linux-gnueabihf/bits/setjmp.h gobex/gobex-packet.h \ - gobex/gobex-defs.h gobex/gobex-header.h gobex/gobex-apparam.h \ - gobex/gobex-debug.h /usr/include/stdio.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/include/arm-linux-gnueabihf/bits/sys_errlist.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio.h /usr/include/ctype.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/include/string.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/include/xlocale.h: - -/usr/include/arm-linux-gnueabihf/bits/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string2.h: - -/usr/include/stdlib.h: - -/usr/include/errno.h: - -/usr/include/arm-linux-gnueabihf/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/arm-linux-gnueabihf/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -gobex/gobex-defs.h: - -/usr/include/glib-2.0/glib.h: - -/usr/include/glib-2.0/glib/galloca.h: - -/usr/include/glib-2.0/glib/gtypes.h: - -/usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h: - -/usr/include/glib-2.0/glib/gmacros.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h: - -/usr/include/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/local_lim.h: - -/usr/include/linux/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix2_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/xopen_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h: - -/usr/include/glib-2.0/glib/gversionmacros.h: - -/usr/include/time.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/arm-linux-gnueabihf/bits/timex.h: - -/usr/include/glib-2.0/glib/garray.h: - -/usr/include/glib-2.0/glib/gasyncqueue.h: - -/usr/include/glib-2.0/glib/gthread.h: - -/usr/include/glib-2.0/glib/gatomic.h: - -/usr/include/glib-2.0/glib/gerror.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/glib-2.0/glib/gquark.h: - -/usr/include/glib-2.0/glib/gbacktrace.h: - -/usr/include/signal.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/signum.h: - -/usr/include/arm-linux-gnueabihf/bits/siginfo.h: - -/usr/include/arm-linux-gnueabihf/bits/sigaction.h: - -/usr/include/arm-linux-gnueabihf/bits/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/asm/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigstack.h: - -/usr/include/arm-linux-gnueabihf/sys/ucontext.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/arm-linux-gnueabihf/bits/sigthread.h: - -/usr/include/glib-2.0/glib/gbase64.h: - -/usr/include/glib-2.0/glib/gbitlock.h: - -/usr/include/glib-2.0/glib/gbookmarkfile.h: - -/usr/include/glib-2.0/glib/gbytes.h: - -/usr/include/glib-2.0/glib/gcharset.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/gconvert.h: - -/usr/include/glib-2.0/glib/gdataset.h: - -/usr/include/glib-2.0/glib/gdate.h: - -/usr/include/glib-2.0/glib/gdatetime.h: - -/usr/include/glib-2.0/glib/gtimezone.h: - -/usr/include/glib-2.0/glib/gdir.h: - -/usr/include/dirent.h: - -/usr/include/arm-linux-gnueabihf/bits/dirent.h: - -/usr/include/glib-2.0/glib/genviron.h: - -/usr/include/glib-2.0/glib/gfileutils.h: - -/usr/include/glib-2.0/glib/ggettext.h: - -/usr/include/glib-2.0/glib/ghash.h: - -/usr/include/glib-2.0/glib/glist.h: - -/usr/include/glib-2.0/glib/gmem.h: - -/usr/include/glib-2.0/glib/gnode.h: - -/usr/include/glib-2.0/glib/ghmac.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/ghook.h: - -/usr/include/glib-2.0/glib/ghostutils.h: - -/usr/include/glib-2.0/glib/giochannel.h: - -/usr/include/glib-2.0/glib/gmain.h: - -/usr/include/glib-2.0/glib/gpoll.h: - -/usr/include/glib-2.0/glib/gslist.h: - -/usr/include/glib-2.0/glib/gstring.h: - -/usr/include/glib-2.0/glib/gunicode.h: - -/usr/include/glib-2.0/glib/gutils.h: - -/usr/include/glib-2.0/glib/gkeyfile.h: - -/usr/include/glib-2.0/glib/gmappedfile.h: - -/usr/include/glib-2.0/glib/gmarkup.h: - -/usr/include/glib-2.0/glib/gmessages.h: - -/usr/include/glib-2.0/glib/goption.h: - -/usr/include/glib-2.0/glib/gpattern.h: - -/usr/include/glib-2.0/glib/gprimes.h: - -/usr/include/glib-2.0/glib/gqsort.h: - -/usr/include/glib-2.0/glib/gqueue.h: - -/usr/include/glib-2.0/glib/grand.h: - -/usr/include/glib-2.0/glib/gregex.h: - -/usr/include/glib-2.0/glib/gscanner.h: - -/usr/include/glib-2.0/glib/gsequence.h: - -/usr/include/glib-2.0/glib/gshell.h: - -/usr/include/glib-2.0/glib/gslice.h: - -/usr/include/glib-2.0/glib/gspawn.h: - -/usr/include/glib-2.0/glib/gstrfuncs.h: - -/usr/include/glib-2.0/glib/gstringchunk.h: - -/usr/include/glib-2.0/glib/gtestutils.h: - -/usr/include/glib-2.0/glib/gthreadpool.h: - -/usr/include/glib-2.0/glib/gtimer.h: - -/usr/include/glib-2.0/glib/gtrashstack.h: - -/usr/include/glib-2.0/glib/gtree.h: - -/usr/include/glib-2.0/glib/gurifuncs.h: - -/usr/include/glib-2.0/glib/gvarianttype.h: - -/usr/include/glib-2.0/glib/gvariant.h: - -/usr/include/glib-2.0/glib/gversion.h: - -/usr/include/glib-2.0/glib/deprecated/gallocator.h: - -/usr/include/glib-2.0/glib/deprecated/gcache.h: - -/usr/include/glib-2.0/glib/deprecated/gcompletion.h: - -/usr/include/glib-2.0/glib/deprecated/gmain.h: - -/usr/include/glib-2.0/glib/deprecated/grel.h: - -/usr/include/glib-2.0/glib/deprecated/gthread.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/pthread.h: - -/usr/include/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/setjmp.h: - -gobex/gobex-packet.h: - -gobex/gobex-defs.h: - -gobex/gobex-header.h: - -gobex/gobex-apparam.h: - -gobex/gobex-debug.h: - -/usr/include/stdio.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/include/arm-linux-gnueabihf/bits/sys_errlist.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio.h: - -/usr/include/ctype.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/gobex/.deps/obexd-gobex-transfer.Po b/GRIB_BLE_HUB/libs/ble_extend/gobex/.deps/obexd-gobex-transfer.Po deleted file mode 100644 index 931d88f..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/gobex/.deps/obexd-gobex-transfer.Po +++ /dev/null @@ -1,413 +0,0 @@ -gobex/obexd-gobex-transfer.o: gobex/gobex-transfer.c \ - /usr/include/stdc-predef.h config.h /usr/include/string.h \ - /usr/include/features.h /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/include/xlocale.h /usr/include/arm-linux-gnueabihf/bits/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string2.h /usr/include/stdlib.h \ - /usr/include/errno.h /usr/include/arm-linux-gnueabihf/bits/errno.h \ - /usr/include/linux/errno.h /usr/include/arm-linux-gnueabihf/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - gobex/gobex.h /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/glib-2.0/glib.h /usr/include/glib-2.0/glib/galloca.h \ - /usr/include/glib-2.0/glib/gtypes.h \ - /usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h \ - /usr/include/glib-2.0/glib/gmacros.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h \ - /usr/include/limits.h /usr/include/arm-linux-gnueabihf/bits/posix1_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/local_lim.h \ - /usr/include/linux/limits.h \ - /usr/include/arm-linux-gnueabihf/bits/posix2_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/xopen_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h \ - /usr/include/glib-2.0/glib/gversionmacros.h /usr/include/time.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h \ - /usr/include/arm-linux-gnueabihf/bits/timex.h \ - /usr/include/glib-2.0/glib/garray.h \ - /usr/include/glib-2.0/glib/gasyncqueue.h \ - /usr/include/glib-2.0/glib/gthread.h \ - /usr/include/glib-2.0/glib/gatomic.h /usr/include/glib-2.0/glib/gerror.h \ - /usr/include/glib-2.0/glib/gquark.h \ - /usr/include/glib-2.0/glib/gbacktrace.h /usr/include/signal.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/signum.h \ - /usr/include/arm-linux-gnueabihf/bits/siginfo.h \ - /usr/include/arm-linux-gnueabihf/bits/sigaction.h \ - /usr/include/arm-linux-gnueabihf/bits/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/asm/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigstack.h \ - /usr/include/arm-linux-gnueabihf/sys/ucontext.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/endian.h /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/arm-linux-gnueabihf/bits/sigthread.h \ - /usr/include/glib-2.0/glib/gbase64.h \ - /usr/include/glib-2.0/glib/gbitlock.h \ - /usr/include/glib-2.0/glib/gbookmarkfile.h \ - /usr/include/glib-2.0/glib/gbytes.h \ - /usr/include/glib-2.0/glib/gcharset.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/gconvert.h \ - /usr/include/glib-2.0/glib/gdataset.h /usr/include/glib-2.0/glib/gdate.h \ - /usr/include/glib-2.0/glib/gdatetime.h \ - /usr/include/glib-2.0/glib/gtimezone.h /usr/include/glib-2.0/glib/gdir.h \ - /usr/include/dirent.h /usr/include/arm-linux-gnueabihf/bits/dirent.h \ - /usr/include/glib-2.0/glib/genviron.h \ - /usr/include/glib-2.0/glib/gfileutils.h \ - /usr/include/glib-2.0/glib/ggettext.h /usr/include/glib-2.0/glib/ghash.h \ - /usr/include/glib-2.0/glib/glist.h /usr/include/glib-2.0/glib/gmem.h \ - /usr/include/glib-2.0/glib/gnode.h /usr/include/glib-2.0/glib/ghmac.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/ghook.h \ - /usr/include/glib-2.0/glib/ghostutils.h \ - /usr/include/glib-2.0/glib/giochannel.h \ - /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gpoll.h \ - /usr/include/glib-2.0/glib/gslist.h /usr/include/glib-2.0/glib/gstring.h \ - /usr/include/glib-2.0/glib/gunicode.h \ - /usr/include/glib-2.0/glib/gutils.h \ - /usr/include/glib-2.0/glib/gkeyfile.h \ - /usr/include/glib-2.0/glib/gmappedfile.h \ - /usr/include/glib-2.0/glib/gmarkup.h \ - /usr/include/glib-2.0/glib/gmessages.h \ - /usr/include/glib-2.0/glib/goption.h \ - /usr/include/glib-2.0/glib/gpattern.h \ - /usr/include/glib-2.0/glib/gprimes.h /usr/include/glib-2.0/glib/gqsort.h \ - /usr/include/glib-2.0/glib/gqueue.h /usr/include/glib-2.0/glib/grand.h \ - /usr/include/glib-2.0/glib/gregex.h \ - /usr/include/glib-2.0/glib/gscanner.h \ - /usr/include/glib-2.0/glib/gsequence.h \ - /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gslice.h \ - /usr/include/glib-2.0/glib/gspawn.h \ - /usr/include/glib-2.0/glib/gstrfuncs.h \ - /usr/include/glib-2.0/glib/gstringchunk.h \ - /usr/include/glib-2.0/glib/gtestutils.h \ - /usr/include/glib-2.0/glib/gthreadpool.h \ - /usr/include/glib-2.0/glib/gtimer.h \ - /usr/include/glib-2.0/glib/gtrashstack.h \ - /usr/include/glib-2.0/glib/gtree.h \ - /usr/include/glib-2.0/glib/gurifuncs.h \ - /usr/include/glib-2.0/glib/gvarianttype.h \ - /usr/include/glib-2.0/glib/gvariant.h \ - /usr/include/glib-2.0/glib/gversion.h \ - /usr/include/glib-2.0/glib/deprecated/gallocator.h \ - /usr/include/glib-2.0/glib/deprecated/gcache.h \ - /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ - /usr/include/glib-2.0/glib/deprecated/gmain.h \ - /usr/include/glib-2.0/glib/deprecated/grel.h \ - /usr/include/glib-2.0/glib/deprecated/gthread.h \ - /usr/include/arm-linux-gnueabihf/sys/types.h \ - /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h /usr/include/pthread.h \ - /usr/include/sched.h /usr/include/arm-linux-gnueabihf/bits/sched.h \ - /usr/include/arm-linux-gnueabihf/bits/setjmp.h gobex/gobex-defs.h \ - gobex/gobex-packet.h gobex/gobex-header.h gobex/gobex-apparam.h \ - gobex/gobex-debug.h /usr/include/stdio.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/include/arm-linux-gnueabihf/bits/sys_errlist.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio.h /usr/include/ctype.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/include/string.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/include/xlocale.h: - -/usr/include/arm-linux-gnueabihf/bits/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string2.h: - -/usr/include/stdlib.h: - -/usr/include/errno.h: - -/usr/include/arm-linux-gnueabihf/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/arm-linux-gnueabihf/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -gobex/gobex.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/glib-2.0/glib.h: - -/usr/include/glib-2.0/glib/galloca.h: - -/usr/include/glib-2.0/glib/gtypes.h: - -/usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h: - -/usr/include/glib-2.0/glib/gmacros.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h: - -/usr/include/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/local_lim.h: - -/usr/include/linux/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix2_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/xopen_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h: - -/usr/include/glib-2.0/glib/gversionmacros.h: - -/usr/include/time.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/arm-linux-gnueabihf/bits/timex.h: - -/usr/include/glib-2.0/glib/garray.h: - -/usr/include/glib-2.0/glib/gasyncqueue.h: - -/usr/include/glib-2.0/glib/gthread.h: - -/usr/include/glib-2.0/glib/gatomic.h: - -/usr/include/glib-2.0/glib/gerror.h: - -/usr/include/glib-2.0/glib/gquark.h: - -/usr/include/glib-2.0/glib/gbacktrace.h: - -/usr/include/signal.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/signum.h: - -/usr/include/arm-linux-gnueabihf/bits/siginfo.h: - -/usr/include/arm-linux-gnueabihf/bits/sigaction.h: - -/usr/include/arm-linux-gnueabihf/bits/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/asm/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigstack.h: - -/usr/include/arm-linux-gnueabihf/sys/ucontext.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/arm-linux-gnueabihf/bits/sigthread.h: - -/usr/include/glib-2.0/glib/gbase64.h: - -/usr/include/glib-2.0/glib/gbitlock.h: - -/usr/include/glib-2.0/glib/gbookmarkfile.h: - -/usr/include/glib-2.0/glib/gbytes.h: - -/usr/include/glib-2.0/glib/gcharset.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/gconvert.h: - -/usr/include/glib-2.0/glib/gdataset.h: - -/usr/include/glib-2.0/glib/gdate.h: - -/usr/include/glib-2.0/glib/gdatetime.h: - -/usr/include/glib-2.0/glib/gtimezone.h: - -/usr/include/glib-2.0/glib/gdir.h: - -/usr/include/dirent.h: - -/usr/include/arm-linux-gnueabihf/bits/dirent.h: - -/usr/include/glib-2.0/glib/genviron.h: - -/usr/include/glib-2.0/glib/gfileutils.h: - -/usr/include/glib-2.0/glib/ggettext.h: - -/usr/include/glib-2.0/glib/ghash.h: - -/usr/include/glib-2.0/glib/glist.h: - -/usr/include/glib-2.0/glib/gmem.h: - -/usr/include/glib-2.0/glib/gnode.h: - -/usr/include/glib-2.0/glib/ghmac.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/ghook.h: - -/usr/include/glib-2.0/glib/ghostutils.h: - -/usr/include/glib-2.0/glib/giochannel.h: - -/usr/include/glib-2.0/glib/gmain.h: - -/usr/include/glib-2.0/glib/gpoll.h: - -/usr/include/glib-2.0/glib/gslist.h: - -/usr/include/glib-2.0/glib/gstring.h: - -/usr/include/glib-2.0/glib/gunicode.h: - -/usr/include/glib-2.0/glib/gutils.h: - -/usr/include/glib-2.0/glib/gkeyfile.h: - -/usr/include/glib-2.0/glib/gmappedfile.h: - -/usr/include/glib-2.0/glib/gmarkup.h: - -/usr/include/glib-2.0/glib/gmessages.h: - -/usr/include/glib-2.0/glib/goption.h: - -/usr/include/glib-2.0/glib/gpattern.h: - -/usr/include/glib-2.0/glib/gprimes.h: - -/usr/include/glib-2.0/glib/gqsort.h: - -/usr/include/glib-2.0/glib/gqueue.h: - -/usr/include/glib-2.0/glib/grand.h: - -/usr/include/glib-2.0/glib/gregex.h: - -/usr/include/glib-2.0/glib/gscanner.h: - -/usr/include/glib-2.0/glib/gsequence.h: - -/usr/include/glib-2.0/glib/gshell.h: - -/usr/include/glib-2.0/glib/gslice.h: - -/usr/include/glib-2.0/glib/gspawn.h: - -/usr/include/glib-2.0/glib/gstrfuncs.h: - -/usr/include/glib-2.0/glib/gstringchunk.h: - -/usr/include/glib-2.0/glib/gtestutils.h: - -/usr/include/glib-2.0/glib/gthreadpool.h: - -/usr/include/glib-2.0/glib/gtimer.h: - -/usr/include/glib-2.0/glib/gtrashstack.h: - -/usr/include/glib-2.0/glib/gtree.h: - -/usr/include/glib-2.0/glib/gurifuncs.h: - -/usr/include/glib-2.0/glib/gvarianttype.h: - -/usr/include/glib-2.0/glib/gvariant.h: - -/usr/include/glib-2.0/glib/gversion.h: - -/usr/include/glib-2.0/glib/deprecated/gallocator.h: - -/usr/include/glib-2.0/glib/deprecated/gcache.h: - -/usr/include/glib-2.0/glib/deprecated/gcompletion.h: - -/usr/include/glib-2.0/glib/deprecated/gmain.h: - -/usr/include/glib-2.0/glib/deprecated/grel.h: - -/usr/include/glib-2.0/glib/deprecated/gthread.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/pthread.h: - -/usr/include/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/setjmp.h: - -gobex/gobex-defs.h: - -gobex/gobex-packet.h: - -gobex/gobex-header.h: - -gobex/gobex-apparam.h: - -gobex/gobex-debug.h: - -/usr/include/stdio.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/include/arm-linux-gnueabihf/bits/sys_errlist.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio.h: - -/usr/include/ctype.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/gobex/.deps/obexd-gobex.Po b/GRIB_BLE_HUB/libs/ble_extend/gobex/.deps/obexd-gobex.Po deleted file mode 100644 index 6bfa110..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/gobex/.deps/obexd-gobex.Po +++ /dev/null @@ -1,427 +0,0 @@ -gobex/obexd-gobex.o: gobex/gobex.c /usr/include/stdc-predef.h config.h \ - /usr/include/unistd.h /usr/include/features.h \ - /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/include/arm-linux-gnueabihf/bits/posix_opt.h \ - /usr/include/arm-linux-gnueabihf/bits/environments.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/include/arm-linux-gnueabihf/bits/confname.h /usr/include/getopt.h \ - /usr/include/string.h /usr/include/xlocale.h \ - /usr/include/arm-linux-gnueabihf/bits/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string2.h /usr/include/stdlib.h \ - /usr/include/errno.h /usr/include/arm-linux-gnueabihf/bits/errno.h \ - /usr/include/linux/errno.h /usr/include/arm-linux-gnueabihf/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - gobex/gobex.h /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/glib-2.0/glib.h /usr/include/glib-2.0/glib/galloca.h \ - /usr/include/glib-2.0/glib/gtypes.h \ - /usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h \ - /usr/include/glib-2.0/glib/gmacros.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h \ - /usr/include/limits.h /usr/include/arm-linux-gnueabihf/bits/posix1_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/local_lim.h \ - /usr/include/linux/limits.h \ - /usr/include/arm-linux-gnueabihf/bits/posix2_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/xopen_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h \ - /usr/include/glib-2.0/glib/gversionmacros.h /usr/include/time.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/bits/timex.h \ - /usr/include/glib-2.0/glib/garray.h \ - /usr/include/glib-2.0/glib/gasyncqueue.h \ - /usr/include/glib-2.0/glib/gthread.h \ - /usr/include/glib-2.0/glib/gatomic.h /usr/include/glib-2.0/glib/gerror.h \ - /usr/include/glib-2.0/glib/gquark.h \ - /usr/include/glib-2.0/glib/gbacktrace.h /usr/include/signal.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/signum.h \ - /usr/include/arm-linux-gnueabihf/bits/siginfo.h \ - /usr/include/arm-linux-gnueabihf/bits/sigaction.h \ - /usr/include/arm-linux-gnueabihf/bits/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/asm/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigstack.h \ - /usr/include/arm-linux-gnueabihf/sys/ucontext.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/endian.h /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/arm-linux-gnueabihf/bits/sigthread.h \ - /usr/include/glib-2.0/glib/gbase64.h \ - /usr/include/glib-2.0/glib/gbitlock.h \ - /usr/include/glib-2.0/glib/gbookmarkfile.h \ - /usr/include/glib-2.0/glib/gbytes.h \ - /usr/include/glib-2.0/glib/gcharset.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/gconvert.h \ - /usr/include/glib-2.0/glib/gdataset.h /usr/include/glib-2.0/glib/gdate.h \ - /usr/include/glib-2.0/glib/gdatetime.h \ - /usr/include/glib-2.0/glib/gtimezone.h /usr/include/glib-2.0/glib/gdir.h \ - /usr/include/dirent.h /usr/include/arm-linux-gnueabihf/bits/dirent.h \ - /usr/include/glib-2.0/glib/genviron.h \ - /usr/include/glib-2.0/glib/gfileutils.h \ - /usr/include/glib-2.0/glib/ggettext.h /usr/include/glib-2.0/glib/ghash.h \ - /usr/include/glib-2.0/glib/glist.h /usr/include/glib-2.0/glib/gmem.h \ - /usr/include/glib-2.0/glib/gnode.h /usr/include/glib-2.0/glib/ghmac.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/ghook.h \ - /usr/include/glib-2.0/glib/ghostutils.h \ - /usr/include/glib-2.0/glib/giochannel.h \ - /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gpoll.h \ - /usr/include/glib-2.0/glib/gslist.h /usr/include/glib-2.0/glib/gstring.h \ - /usr/include/glib-2.0/glib/gunicode.h \ - /usr/include/glib-2.0/glib/gutils.h \ - /usr/include/glib-2.0/glib/gkeyfile.h \ - /usr/include/glib-2.0/glib/gmappedfile.h \ - /usr/include/glib-2.0/glib/gmarkup.h \ - /usr/include/glib-2.0/glib/gmessages.h \ - /usr/include/glib-2.0/glib/goption.h \ - /usr/include/glib-2.0/glib/gpattern.h \ - /usr/include/glib-2.0/glib/gprimes.h /usr/include/glib-2.0/glib/gqsort.h \ - /usr/include/glib-2.0/glib/gqueue.h /usr/include/glib-2.0/glib/grand.h \ - /usr/include/glib-2.0/glib/gregex.h \ - /usr/include/glib-2.0/glib/gscanner.h \ - /usr/include/glib-2.0/glib/gsequence.h \ - /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gslice.h \ - /usr/include/glib-2.0/glib/gspawn.h \ - /usr/include/glib-2.0/glib/gstrfuncs.h \ - /usr/include/glib-2.0/glib/gstringchunk.h \ - /usr/include/glib-2.0/glib/gtestutils.h \ - /usr/include/glib-2.0/glib/gthreadpool.h \ - /usr/include/glib-2.0/glib/gtimer.h \ - /usr/include/glib-2.0/glib/gtrashstack.h \ - /usr/include/glib-2.0/glib/gtree.h \ - /usr/include/glib-2.0/glib/gurifuncs.h \ - /usr/include/glib-2.0/glib/gvarianttype.h \ - /usr/include/glib-2.0/glib/gvariant.h \ - /usr/include/glib-2.0/glib/gversion.h \ - /usr/include/glib-2.0/glib/deprecated/gallocator.h \ - /usr/include/glib-2.0/glib/deprecated/gcache.h \ - /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ - /usr/include/glib-2.0/glib/deprecated/gmain.h \ - /usr/include/glib-2.0/glib/deprecated/grel.h \ - /usr/include/glib-2.0/glib/deprecated/gthread.h \ - /usr/include/arm-linux-gnueabihf/sys/types.h \ - /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h /usr/include/pthread.h \ - /usr/include/sched.h /usr/include/arm-linux-gnueabihf/bits/sched.h \ - /usr/include/arm-linux-gnueabihf/bits/setjmp.h gobex/gobex-defs.h \ - gobex/gobex-packet.h gobex/gobex-header.h gobex/gobex-apparam.h \ - gobex/gobex-debug.h /usr/include/stdio.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/include/arm-linux-gnueabihf/bits/sys_errlist.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio.h /usr/include/ctype.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/include/unistd.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/include/arm-linux-gnueabihf/bits/posix_opt.h: - -/usr/include/arm-linux-gnueabihf/bits/environments.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/include/arm-linux-gnueabihf/bits/confname.h: - -/usr/include/getopt.h: - -/usr/include/string.h: - -/usr/include/xlocale.h: - -/usr/include/arm-linux-gnueabihf/bits/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string2.h: - -/usr/include/stdlib.h: - -/usr/include/errno.h: - -/usr/include/arm-linux-gnueabihf/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/arm-linux-gnueabihf/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -gobex/gobex.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/glib-2.0/glib.h: - -/usr/include/glib-2.0/glib/galloca.h: - -/usr/include/glib-2.0/glib/gtypes.h: - -/usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h: - -/usr/include/glib-2.0/glib/gmacros.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h: - -/usr/include/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/local_lim.h: - -/usr/include/linux/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix2_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/xopen_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h: - -/usr/include/glib-2.0/glib/gversionmacros.h: - -/usr/include/time.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/bits/timex.h: - -/usr/include/glib-2.0/glib/garray.h: - -/usr/include/glib-2.0/glib/gasyncqueue.h: - -/usr/include/glib-2.0/glib/gthread.h: - -/usr/include/glib-2.0/glib/gatomic.h: - -/usr/include/glib-2.0/glib/gerror.h: - -/usr/include/glib-2.0/glib/gquark.h: - -/usr/include/glib-2.0/glib/gbacktrace.h: - -/usr/include/signal.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/signum.h: - -/usr/include/arm-linux-gnueabihf/bits/siginfo.h: - -/usr/include/arm-linux-gnueabihf/bits/sigaction.h: - -/usr/include/arm-linux-gnueabihf/bits/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/asm/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigstack.h: - -/usr/include/arm-linux-gnueabihf/sys/ucontext.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/arm-linux-gnueabihf/bits/sigthread.h: - -/usr/include/glib-2.0/glib/gbase64.h: - -/usr/include/glib-2.0/glib/gbitlock.h: - -/usr/include/glib-2.0/glib/gbookmarkfile.h: - -/usr/include/glib-2.0/glib/gbytes.h: - -/usr/include/glib-2.0/glib/gcharset.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/gconvert.h: - -/usr/include/glib-2.0/glib/gdataset.h: - -/usr/include/glib-2.0/glib/gdate.h: - -/usr/include/glib-2.0/glib/gdatetime.h: - -/usr/include/glib-2.0/glib/gtimezone.h: - -/usr/include/glib-2.0/glib/gdir.h: - -/usr/include/dirent.h: - -/usr/include/arm-linux-gnueabihf/bits/dirent.h: - -/usr/include/glib-2.0/glib/genviron.h: - -/usr/include/glib-2.0/glib/gfileutils.h: - -/usr/include/glib-2.0/glib/ggettext.h: - -/usr/include/glib-2.0/glib/ghash.h: - -/usr/include/glib-2.0/glib/glist.h: - -/usr/include/glib-2.0/glib/gmem.h: - -/usr/include/glib-2.0/glib/gnode.h: - -/usr/include/glib-2.0/glib/ghmac.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/ghook.h: - -/usr/include/glib-2.0/glib/ghostutils.h: - -/usr/include/glib-2.0/glib/giochannel.h: - -/usr/include/glib-2.0/glib/gmain.h: - -/usr/include/glib-2.0/glib/gpoll.h: - -/usr/include/glib-2.0/glib/gslist.h: - -/usr/include/glib-2.0/glib/gstring.h: - -/usr/include/glib-2.0/glib/gunicode.h: - -/usr/include/glib-2.0/glib/gutils.h: - -/usr/include/glib-2.0/glib/gkeyfile.h: - -/usr/include/glib-2.0/glib/gmappedfile.h: - -/usr/include/glib-2.0/glib/gmarkup.h: - -/usr/include/glib-2.0/glib/gmessages.h: - -/usr/include/glib-2.0/glib/goption.h: - -/usr/include/glib-2.0/glib/gpattern.h: - -/usr/include/glib-2.0/glib/gprimes.h: - -/usr/include/glib-2.0/glib/gqsort.h: - -/usr/include/glib-2.0/glib/gqueue.h: - -/usr/include/glib-2.0/glib/grand.h: - -/usr/include/glib-2.0/glib/gregex.h: - -/usr/include/glib-2.0/glib/gscanner.h: - -/usr/include/glib-2.0/glib/gsequence.h: - -/usr/include/glib-2.0/glib/gshell.h: - -/usr/include/glib-2.0/glib/gslice.h: - -/usr/include/glib-2.0/glib/gspawn.h: - -/usr/include/glib-2.0/glib/gstrfuncs.h: - -/usr/include/glib-2.0/glib/gstringchunk.h: - -/usr/include/glib-2.0/glib/gtestutils.h: - -/usr/include/glib-2.0/glib/gthreadpool.h: - -/usr/include/glib-2.0/glib/gtimer.h: - -/usr/include/glib-2.0/glib/gtrashstack.h: - -/usr/include/glib-2.0/glib/gtree.h: - -/usr/include/glib-2.0/glib/gurifuncs.h: - -/usr/include/glib-2.0/glib/gvarianttype.h: - -/usr/include/glib-2.0/glib/gvariant.h: - -/usr/include/glib-2.0/glib/gversion.h: - -/usr/include/glib-2.0/glib/deprecated/gallocator.h: - -/usr/include/glib-2.0/glib/deprecated/gcache.h: - -/usr/include/glib-2.0/glib/deprecated/gcompletion.h: - -/usr/include/glib-2.0/glib/deprecated/gmain.h: - -/usr/include/glib-2.0/glib/deprecated/grel.h: - -/usr/include/glib-2.0/glib/deprecated/gthread.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/pthread.h: - -/usr/include/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/setjmp.h: - -gobex/gobex-defs.h: - -gobex/gobex-packet.h: - -gobex/gobex-header.h: - -gobex/gobex-apparam.h: - -gobex/gobex-debug.h: - -/usr/include/stdio.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/include/arm-linux-gnueabihf/bits/sys_errlist.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio.h: - -/usr/include/ctype.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/gobex/.dirstamp b/GRIB_BLE_HUB/libs/ble_extend/gobex/.dirstamp deleted file mode 100644 index e69de29..0000000 diff --git a/GRIB_BLE_HUB/libs/ble_extend/gobex/gobex-apparam.c b/GRIB_BLE_HUB/libs/ble_extend/gobex/gobex-apparam.c deleted file mode 100644 index 4328172..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/gobex/gobex-apparam.c +++ /dev/null @@ -1,365 +0,0 @@ -/* - * - * OBEX library with GLib integration - * - * Copyright (C) 2012 Intel Corporation. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include -#include - -#include "gobex-apparam.h" -#include "gobex-debug.h" - -struct _GObexApparam { - GHashTable *tags; -}; - -struct apparam_tag { - guint8 id; - guint8 len; - union { - /* Data is stored in network order */ - char string[0]; - guint8 data[0]; - guint8 u8; - guint16 u16; - guint32 u32; - guint64 u64; - } value; -} __attribute__ ((packed)); - -static struct apparam_tag *tag_new(guint8 id, guint8 len, const void *data) -{ - struct apparam_tag *tag; - - tag = g_malloc0(2 + len); - tag->id = id; - tag->len = len; - memcpy(tag->value.data, data, len); - - return tag; -} - -static GObexApparam *g_obex_apparam_new(void) -{ - GObexApparam *apparam; - - apparam = g_new0(GObexApparam, 1); - apparam->tags = g_hash_table_new_full(g_direct_hash, g_direct_equal, - NULL, g_free); - - return apparam; -} - -static struct apparam_tag *apparam_tag_decode(const void *data, gsize size, - gsize *parsed) -{ - struct apparam_tag *tag; - const guint8 *ptr = data; - guint8 id; - guint8 len; - - if (size < 2) - return NULL; - - id = ptr[0]; - len = ptr[1]; - - if (len > size - 2) - return NULL; - - tag = tag_new(id, len, ptr + 2); - if (tag == NULL) - return NULL; - - *parsed = 2 + tag->len; - - return tag; -} - -GObexApparam *g_obex_apparam_decode(const void *data, gsize size) -{ - GObexApparam *apparam; - GHashTable *tags; - gsize count = 0; - - if (size < 2) - return NULL; - - apparam = g_obex_apparam_new(); - - tags = apparam->tags; - while (count < size) { - struct apparam_tag *tag; - gsize parsed; - guint id; - - tag = apparam_tag_decode(data + count, size - count, &parsed); - if (tag == NULL) - break; - - id = tag->id; - g_hash_table_insert(tags, GUINT_TO_POINTER(id), tag); - - count += parsed; - } - - if (count != size) { - g_obex_apparam_free(apparam); - return NULL; - } - - return apparam; -} - -static gssize tag_encode(struct apparam_tag *tag, void *buf, gsize len) -{ - gsize count = 2 + tag->len; - - if (len < count) - return -ENOBUFS; - - memcpy(buf, tag, count); - - return count; -} - -gssize g_obex_apparam_encode(GObexApparam *apparam, void *buf, gsize len) -{ - gsize count = 0; - gssize ret; - GHashTableIter iter; - gpointer key, value; - - g_hash_table_iter_init(&iter, apparam->tags); - while (g_hash_table_iter_next(&iter, &key, &value)) { - struct apparam_tag *tag = value; - - ret = tag_encode(tag, buf + count, len - count); - if (ret < 0) - return ret; - - count += ret; - } - - return count; -} - -GObexApparam *g_obex_apparam_set_bytes(GObexApparam *apparam, guint8 id, - const void *value, gsize len) -{ - struct apparam_tag *tag; - guint uid = id; - - if (apparam == NULL) - apparam = g_obex_apparam_new(); - - tag = tag_new(id, len, value); - g_hash_table_replace(apparam->tags, GUINT_TO_POINTER(uid), tag); - - return apparam; -} - -GObexApparam *g_obex_apparam_set_uint8(GObexApparam *apparam, guint8 id, - guint8 value) -{ - g_obex_debug(G_OBEX_DEBUG_APPARAM, "tag 0x%02x value %u", id, value); - - return g_obex_apparam_set_bytes(apparam, id, &value, 1); -} - -GObexApparam *g_obex_apparam_set_uint16(GObexApparam *apparam, guint8 id, - guint16 value) -{ - guint16 num = g_htons(value); - - g_obex_debug(G_OBEX_DEBUG_APPARAM, "tag 0x%02x value %u", id, value); - - return g_obex_apparam_set_bytes(apparam, id, &num, 2); -} - -GObexApparam *g_obex_apparam_set_uint32(GObexApparam *apparam, guint8 id, - guint32 value) -{ - guint32 num = g_htonl(value); - - g_obex_debug(G_OBEX_DEBUG_APPARAM, "tag 0x%02x value %u", id, value); - - return g_obex_apparam_set_bytes(apparam, id, &num, 4); -} - -GObexApparam *g_obex_apparam_set_uint64(GObexApparam *apparam, guint8 id, - guint64 value) -{ - guint64 num = GUINT64_TO_BE(value); - - g_obex_debug(G_OBEX_DEBUG_APPARAM, "tag 0x%02x value %" - G_GUINT64_FORMAT, id, value); - - return g_obex_apparam_set_bytes(apparam, id, &num, 8); -} - -GObexApparam *g_obex_apparam_set_string(GObexApparam *apparam, guint8 id, - const char *value) -{ - gsize len; - - g_obex_debug(G_OBEX_DEBUG_APPARAM, "tag 0x%02x value %s", id, value); - - len = strlen(value) + 1; - if (len > G_MAXUINT8) { - ((char *) value)[G_MAXUINT8 - 1] = '\0'; - len = G_MAXUINT8; - } - - return g_obex_apparam_set_bytes(apparam, id, value, len); -} - -static struct apparam_tag *g_obex_apparam_find_tag(GObexApparam *apparam, - guint id) -{ - return g_hash_table_lookup(apparam->tags, GUINT_TO_POINTER(id)); -} - -gboolean g_obex_apparam_get_uint8(GObexApparam *apparam, guint8 id, - guint8 *dest) -{ - struct apparam_tag *tag; - - g_obex_debug(G_OBEX_DEBUG_APPARAM, "tag 0x%02x", id); - - tag = g_obex_apparam_find_tag(apparam, id); - if (tag == NULL) - return FALSE; - - *dest = tag->value.u8; - - g_obex_debug(G_OBEX_DEBUG_APPARAM, "%u", *dest); - - return TRUE; -} - -gboolean g_obex_apparam_get_uint16(GObexApparam *apparam, guint8 id, - guint16 *dest) -{ - struct apparam_tag *tag; - - g_obex_debug(G_OBEX_DEBUG_APPARAM, "tag 0x%02x", id); - - tag = g_obex_apparam_find_tag(apparam, id); - if (tag == NULL) - return FALSE; - - if (tag->len < sizeof(*dest)) - return FALSE; - - *dest = g_ntohs(tag->value.u16); - - g_obex_debug(G_OBEX_DEBUG_APPARAM, "%u", *dest); - - return TRUE; -} - -gboolean g_obex_apparam_get_uint32(GObexApparam *apparam, guint8 id, - guint32 *dest) -{ - struct apparam_tag *tag; - - g_obex_debug(G_OBEX_DEBUG_APPARAM, "tag 0x%02x", id); - - tag = g_obex_apparam_find_tag(apparam, id); - if (tag == NULL) - return FALSE; - - if (tag->len < sizeof(*dest)) - return FALSE; - - *dest = g_ntohl(tag->value.u32); - - g_obex_debug(G_OBEX_DEBUG_APPARAM, "%u", *dest); - - return TRUE; -} - -gboolean g_obex_apparam_get_uint64(GObexApparam *apparam, guint8 id, - guint64 *dest) -{ - struct apparam_tag *tag; - - g_obex_debug(G_OBEX_DEBUG_APPARAM, "tag 0x%02x", id); - - tag = g_obex_apparam_find_tag(apparam, id); - if (tag == NULL) - return FALSE; - - if (tag->len < sizeof(*dest)) - return FALSE; - - *dest = GUINT64_FROM_BE(tag->value.u64); - - g_obex_debug(G_OBEX_DEBUG_APPARAM, "%" G_GUINT64_FORMAT, *dest); - - return TRUE; -} - -char *g_obex_apparam_get_string(GObexApparam *apparam, guint8 id) -{ - struct apparam_tag *tag; - char *string; - - g_obex_debug(G_OBEX_DEBUG_APPARAM, "tag 0x%02x", id); - - tag = g_obex_apparam_find_tag(apparam, id); - if (tag == NULL) - return NULL; - - string = g_strndup(tag->value.string, tag->len); - - g_obex_debug(G_OBEX_DEBUG_APPARAM, "%s", string); - - return string; -} - -gboolean g_obex_apparam_get_bytes(GObexApparam *apparam, guint8 id, - const guint8 **val, gsize *len) -{ - struct apparam_tag *tag; - - g_obex_debug(G_OBEX_DEBUG_APPARAM, "tag 0x%02x", id); - - tag = g_obex_apparam_find_tag(apparam, id); - if (tag == NULL) - return FALSE; - - *len = tag->len; - *val = tag->value.data; - - return TRUE; -} - -void g_obex_apparam_free(GObexApparam *apparam) -{ - g_hash_table_unref(apparam->tags); - g_free(apparam); -} diff --git a/GRIB_BLE_HUB/libs/ble_extend/gobex/gobex-apparam.h b/GRIB_BLE_HUB/libs/ble_extend/gobex/gobex-apparam.h deleted file mode 100644 index 6c08609..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/gobex/gobex-apparam.h +++ /dev/null @@ -1,60 +0,0 @@ -/* - * - * OBEX library with GLib integration - * - * Copyright (C) 2012 Intel Corporation. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifndef __GOBEX_APPARAM_H -#define __GOBEX_APPARAM_H - -#include - -typedef struct _GObexApparam GObexApparam; - -GObexApparam *g_obex_apparam_decode(const void *data, gsize size); -gssize g_obex_apparam_encode(GObexApparam *apparam, void *buf, gsize size); - -GObexApparam *g_obex_apparam_set_bytes(GObexApparam *apparam, guint8 id, - const void *value, gsize size); -GObexApparam *g_obex_apparam_set_uint8(GObexApparam *apparam, guint8 id, - guint8 value); -GObexApparam *g_obex_apparam_set_uint16(GObexApparam *apparam, guint8 id, - guint16 value); -GObexApparam *g_obex_apparam_set_uint32(GObexApparam *apparam, guint8 id, - guint32 value); -GObexApparam *g_obex_apparam_set_uint64(GObexApparam *apparam, guint8 id, - guint64 value); -GObexApparam *g_obex_apparam_set_string(GObexApparam *apparam, guint8 id, - const char *value); - -gboolean g_obex_apparam_get_bytes(GObexApparam *apparam, guint8 id, - const guint8 **val, gsize *len); -gboolean g_obex_apparam_get_uint8(GObexApparam *apparam, guint8 id, - guint8 *value); -gboolean g_obex_apparam_get_uint16(GObexApparam *apparam, guint8 id, - guint16 *value); -gboolean g_obex_apparam_get_uint32(GObexApparam *apparam, guint8 id, - guint32 *value); -gboolean g_obex_apparam_get_uint64(GObexApparam *apparam, guint8 id, - guint64 *value); -char *g_obex_apparam_get_string(GObexApparam *apparam, guint8 id); - -void g_obex_apparam_free(GObexApparam *apparam); - -#endif /* __GOBEX_APPARAM_H */ diff --git a/GRIB_BLE_HUB/libs/ble_extend/gobex/gobex-debug.h b/GRIB_BLE_HUB/libs/ble_extend/gobex/gobex-debug.h deleted file mode 100644 index 688466e..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/gobex/gobex-debug.h +++ /dev/null @@ -1,78 +0,0 @@ -/* - * OBEX library with GLib integration - * - * Copyright (C) 2011 Intel Corporation. All rights reserved. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifndef __GOBEX_DEBUG_H -#define __GOBEX_DEBUG_H - -#include -#include -#include - -#define G_OBEX_DEBUG_NONE 1 -#define G_OBEX_DEBUG_ERROR (1 << 1) -#define G_OBEX_DEBUG_COMMAND (1 << 2) -#define G_OBEX_DEBUG_TRANSFER (1 << 3) -#define G_OBEX_DEBUG_HEADER (1 << 4) -#define G_OBEX_DEBUG_PACKET (1 << 5) -#define G_OBEX_DEBUG_DATA (1 << 6) -#define G_OBEX_DEBUG_APPARAM (1 << 7) - -extern guint gobex_debug; - -#define g_obex_debug(level, format, ...) \ - if (gobex_debug & level) \ - g_log("gobex", G_LOG_LEVEL_DEBUG, "%s:%s() " format, __FILE__, \ - __FUNCTION__, ## __VA_ARGS__) - -static inline void g_obex_dump(guint level, const char *prefix, - const void *buf, gsize len) -{ - const guint8 *data = buf; - int n = 0; - - if (!(gobex_debug & level)) - return; - - while (len > 0) { - int i, size; - - printf("%s %04x:", prefix, n); - - size = len > 16 ? 16 : len; - - for (i = 0; i < size; i++) - printf("%02x%s", data[i], (i + 1) % 8 ? " " : " "); - - for (; i < 16; i++) - printf(" %s", (i + 1) % 8 ? " " : " "); - - for (i = 0; i < size; i++) - printf("%1c", isprint(data[i]) ? data[i] : '.'); - - printf("\n"); - - data += size; - len -= size; - n += size; - } -} - -#endif /* __GOBEX_DEBUG_H */ diff --git a/GRIB_BLE_HUB/libs/ble_extend/gobex/gobex-defs.c b/GRIB_BLE_HUB/libs/ble_extend/gobex/gobex-defs.c deleted file mode 100644 index 1c7c39a..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/gobex/gobex-defs.c +++ /dev/null @@ -1,34 +0,0 @@ -/* - * - * OBEX library with GLib integration - * - * Copyright (C) 2011 Intel Corporation. All rights reserved. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include - -#include "gobex-defs.h" - -GQuark g_obex_error_quark(void) -{ - return g_quark_from_static_string("g-obex-error-quark"); -} diff --git a/GRIB_BLE_HUB/libs/ble_extend/gobex/gobex-defs.h b/GRIB_BLE_HUB/libs/ble_extend/gobex/gobex-defs.h deleted file mode 100644 index 326e3cb..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/gobex/gobex-defs.h +++ /dev/null @@ -1,53 +0,0 @@ -/* - * - * OBEX library with GLib integration - * - * Copyright (C) 2011 Intel Corporation. All rights reserved. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifndef __GOBEX_DEFS_H -#define __GOBEX_DEFS_H - -#include - -typedef enum { - G_OBEX_DATA_INHERIT, - G_OBEX_DATA_COPY, - G_OBEX_DATA_REF, -} GObexDataPolicy; - -#define G_OBEX_ERROR_FIRST (0xff + 1) -#define G_OBEX_PROTO_ERROR(code) ((code) < G_OBEX_ERROR_FIRST) - -typedef enum { - G_OBEX_ERROR_PARSE_ERROR = G_OBEX_ERROR_FIRST, - G_OBEX_ERROR_INVALID_ARGS, - G_OBEX_ERROR_DISCONNECTED, - G_OBEX_ERROR_TIMEOUT, - G_OBEX_ERROR_CANCELLED, - G_OBEX_ERROR_FAILED, -} GObexError; - -typedef gssize (*GObexDataProducer) (void *buf, gsize len, gpointer user_data); -typedef gboolean (*GObexDataConsumer) (const void *buf, gsize len, - gpointer user_data); - -#define G_OBEX_ERROR g_obex_error_quark() -GQuark g_obex_error_quark(void); - -#endif /* __GOBEX_DEFS_H */ diff --git a/GRIB_BLE_HUB/libs/ble_extend/gobex/gobex-header.c b/GRIB_BLE_HUB/libs/ble_extend/gobex/gobex-header.c deleted file mode 100644 index 281f8ea..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/gobex/gobex-header.c +++ /dev/null @@ -1,543 +0,0 @@ -/* - * - * OBEX library with GLib integration - * - * Copyright (C) 2011 Intel Corporation. All rights reserved. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include - -#include "gobex-header.h" -#include "gobex-debug.h" - -/* Header types */ -#define G_OBEX_HDR_ENC_UNICODE (0 << 6) -#define G_OBEX_HDR_ENC_BYTES (1 << 6) -#define G_OBEX_HDR_ENC_UINT8 (2 << 6) -#define G_OBEX_HDR_ENC_UINT32 (3 << 6) - -#define G_OBEX_HDR_ENC(id) ((id) & 0xc0) - -struct _GObexHeader { - guint8 id; - gboolean extdata; - gsize vlen; /* Length of value */ - gsize hlen; /* Length of full encoded header */ - union { - char *string; /* UTF-8 converted from UTF-16 */ - guint8 *data; /* Own buffer */ - const guint8 *extdata; /* Reference to external buffer */ - guint8 u8; - guint32 u32; - } v; -}; - -static glong utf8_to_utf16(gunichar2 **utf16, const char *utf8) { - glong utf16_len; - int i; - - if (*utf8 == '\0') { - *utf16 = NULL; - return 0; - } - - *utf16 = g_utf8_to_utf16(utf8, -1, NULL, &utf16_len, NULL); - if (*utf16 == NULL) - return -1; - - /* g_utf8_to_utf16 produces host-byteorder UTF-16, - * but OBEX requires network byteorder (big endian) */ - for (i = 0; i < utf16_len; i++) - (*utf16)[i] = g_htons((*utf16)[i]); - - utf16_len = (utf16_len + 1) << 1; - - return utf16_len; -} - -static guint8 *put_bytes(guint8 *to, const void *from, gsize count) -{ - memcpy(to, from, count); - return (to + count); -} - -static const guint8 *get_bytes(void *to, const guint8 *from, gsize count) -{ - memcpy(to, from, count); - return (from + count); -} - -gssize g_obex_header_encode(GObexHeader *header, void *buf, gsize buf_len) -{ - guint8 *ptr = buf; - guint16 u16; - guint32 u32; - gunichar2 *utf16; - glong utf16_len; - - g_obex_debug(G_OBEX_DEBUG_HEADER, "header 0x%02x", - G_OBEX_HDR_ENC(header->id)); - - if (buf_len < header->hlen) - return -1; - - ptr = put_bytes(ptr, &header->id, sizeof(header->id)); - - switch (G_OBEX_HDR_ENC(header->id)) { - case G_OBEX_HDR_ENC_UNICODE: - utf16_len = utf8_to_utf16(&utf16, header->v.string); - if (utf16_len < 0 || (guint16) utf16_len > buf_len) - return -1; - g_assert_cmpuint(utf16_len + 3, ==, header->hlen); - u16 = g_htons(utf16_len + 3); - ptr = put_bytes(ptr, &u16, sizeof(u16)); - put_bytes(ptr, utf16, utf16_len); - g_free(utf16); - break; - case G_OBEX_HDR_ENC_BYTES: - u16 = g_htons(header->hlen); - ptr = put_bytes(ptr, &u16, sizeof(u16)); - if (header->extdata) - put_bytes(ptr, header->v.extdata, header->vlen); - else - put_bytes(ptr, header->v.data, header->vlen); - break; - case G_OBEX_HDR_ENC_UINT8: - *ptr = header->v.u8; - break; - case G_OBEX_HDR_ENC_UINT32: - u32 = g_htonl(header->v.u32); - put_bytes(ptr, &u32, sizeof(u32)); - break; - default: - g_assert_not_reached(); - } - - return header->hlen; -} - -GObexHeader *g_obex_header_decode(const void *data, gsize len, - GObexDataPolicy data_policy, gsize *parsed, - GError **err) -{ - GObexHeader *header; - const guint8 *ptr = data; - guint16 hdr_len; - gsize str_len; - GError *conv_err = NULL; - - if (len < 2) { - g_set_error(err, G_OBEX_ERROR, G_OBEX_ERROR_PARSE_ERROR, - "Too short header in packet"); - g_obex_debug(G_OBEX_DEBUG_ERROR, "%s", (*err)->message); - return NULL; - } - - header = g_new0(GObexHeader, 1); - - ptr = get_bytes(&header->id, ptr, sizeof(header->id)); - - g_obex_debug(G_OBEX_DEBUG_HEADER, "header 0x%02x", - G_OBEX_HDR_ENC(header->id)); - - switch (G_OBEX_HDR_ENC(header->id)) { - case G_OBEX_HDR_ENC_UNICODE: - if (len < 3) { - g_set_error(err, G_OBEX_ERROR, - G_OBEX_ERROR_PARSE_ERROR, - "Not enough data for unicode header (0x%02x)", - header->id); - goto failed; - } - ptr = get_bytes(&hdr_len, ptr, sizeof(hdr_len)); - hdr_len = g_ntohs(hdr_len); - - if (hdr_len == 3) { - header->v.string = g_strdup(""); - header->vlen = 0; - header->hlen = hdr_len; - *parsed = hdr_len; - break; - } - - if (hdr_len > len || hdr_len < 5) { - g_set_error(err, G_OBEX_ERROR, - G_OBEX_ERROR_PARSE_ERROR, - "Invalid unicode header (0x%02x) length (%u)", - header->id, hdr_len); - goto failed; - } - - header->v.string = g_convert((const char *) ptr, hdr_len - 5, - "UTF-8", "UTF-16BE", - NULL, &str_len, &conv_err); - if (header->v.string == NULL) { - g_set_error(err, G_OBEX_ERROR, - G_OBEX_ERROR_PARSE_ERROR, - "Unicode conversion failed: %s", - conv_err->message); - g_error_free(conv_err); - goto failed; - } - - header->vlen = (gsize) str_len; - header->hlen = hdr_len; - - *parsed = hdr_len; - - break; - case G_OBEX_HDR_ENC_BYTES: - if (len < 3) { - g_set_error(err, G_OBEX_ERROR, - G_OBEX_ERROR_PARSE_ERROR, - "Too short byte array header"); - goto failed; - } - ptr = get_bytes(&hdr_len, ptr, sizeof(hdr_len)); - hdr_len = g_ntohs(hdr_len); - if (hdr_len > len) { - g_set_error(err, G_OBEX_ERROR, - G_OBEX_ERROR_PARSE_ERROR, - "Too long byte array header"); - goto failed; - } - - if (hdr_len < 3) { - g_set_error(err, G_OBEX_ERROR, - G_OBEX_ERROR_PARSE_ERROR, - "Too small byte array length"); - goto failed; - } - - header->vlen = hdr_len - 3; - header->hlen = hdr_len; - - switch (data_policy) { - case G_OBEX_DATA_COPY: - header->v.data = g_memdup(ptr, header->vlen); - break; - case G_OBEX_DATA_REF: - header->extdata = TRUE; - header->v.extdata = ptr; - break; - default: - g_set_error(err, G_OBEX_ERROR, - G_OBEX_ERROR_INVALID_ARGS, - "Invalid data policy"); - goto failed; - } - - *parsed = hdr_len; - - break; - case G_OBEX_HDR_ENC_UINT8: - header->vlen = 1; - header->hlen = 2; - header->v.u8 = *ptr; - *parsed = 2; - break; - case G_OBEX_HDR_ENC_UINT32: - if (len < 5) { - g_set_error(err, G_OBEX_ERROR, - G_OBEX_ERROR_PARSE_ERROR, - "Too short uint32 header"); - goto failed; - } - header->vlen = 4; - header->hlen = 5; - get_bytes(&header->v.u32, ptr, sizeof(header->v.u32)); - header->v.u32 = g_ntohl(header->v.u32); - *parsed = 5; - break; - default: - g_assert_not_reached(); - } - - return header; - -failed: - if (*err) - g_obex_debug(G_OBEX_DEBUG_ERROR, "%s", (*err)->message); - g_obex_header_free(header); - return NULL; -} - -void g_obex_header_free(GObexHeader *header) -{ - g_obex_debug(G_OBEX_DEBUG_HEADER, "header 0x%02x", - G_OBEX_HDR_ENC(header->id)); - - switch (G_OBEX_HDR_ENC(header->id)) { - case G_OBEX_HDR_ENC_UNICODE: - g_free(header->v.string); - break; - case G_OBEX_HDR_ENC_BYTES: - if (!header->extdata) - g_free(header->v.data); - break; - case G_OBEX_HDR_ENC_UINT8: - case G_OBEX_HDR_ENC_UINT32: - break; - default: - g_assert_not_reached(); - } - - g_free(header); -} - -gboolean g_obex_header_get_unicode(GObexHeader *header, const char **str) -{ - g_obex_debug(G_OBEX_DEBUG_HEADER, "header 0x%02x", - G_OBEX_HDR_ENC(header->id)); - - if (G_OBEX_HDR_ENC(header->id) != G_OBEX_HDR_ENC_UNICODE) - return FALSE; - - *str = header->v.string; - - g_obex_debug(G_OBEX_DEBUG_HEADER, "%s", *str); - - return TRUE; -} - -gboolean g_obex_header_get_bytes(GObexHeader *header, const guint8 **val, - gsize *len) -{ - g_obex_debug(G_OBEX_DEBUG_HEADER, "header 0x%02x", - G_OBEX_HDR_ENC(header->id)); - - if (G_OBEX_HDR_ENC(header->id) != G_OBEX_HDR_ENC_BYTES) - return FALSE; - - *len = header->vlen; - - if (header->extdata) - *val = header->v.extdata; - else - *val = header->v.data; - - return TRUE; -} - -GObexApparam *g_obex_header_get_apparam(GObexHeader *header) -{ - gboolean ret; - const guint8 *val; - gsize len; - - ret = g_obex_header_get_bytes(header, &val, &len); - if (!ret) - return NULL; - - return g_obex_apparam_decode(val, len); -} - -gboolean g_obex_header_get_uint8(GObexHeader *header, guint8 *val) -{ - g_obex_debug(G_OBEX_DEBUG_HEADER, "header 0x%02x", - G_OBEX_HDR_ENC(header->id)); - - if (G_OBEX_HDR_ENC(header->id) != G_OBEX_HDR_ENC_UINT8) - return FALSE; - - *val = header->v.u8; - - g_obex_debug(G_OBEX_DEBUG_HEADER, "%u", *val); - - return TRUE; -} - -gboolean g_obex_header_get_uint32(GObexHeader *header, guint32 *val) -{ - g_obex_debug(G_OBEX_DEBUG_HEADER, "header 0x%02x", - G_OBEX_HDR_ENC(header->id)); - - if (G_OBEX_HDR_ENC(header->id) != G_OBEX_HDR_ENC_UINT32) - return FALSE; - - *val = header->v.u32; - - g_obex_debug(G_OBEX_DEBUG_HEADER, "%u", *val); - - return TRUE; -} - -GObexHeader *g_obex_header_new_unicode(guint8 id, const char *str) -{ - GObexHeader *header; - gsize len; - - g_obex_debug(G_OBEX_DEBUG_HEADER, "header 0x%02x", G_OBEX_HDR_ENC(id)); - - if (G_OBEX_HDR_ENC(id) != G_OBEX_HDR_ENC_UNICODE) - return NULL; - - header = g_new0(GObexHeader, 1); - - header->id = id; - - len = g_utf8_strlen(str, -1); - - header->vlen = len; - header->hlen = len == 0 ? 3 : 3 + ((len + 1) * 2); - header->v.string = g_strdup(str); - - g_obex_debug(G_OBEX_DEBUG_HEADER, "%s", header->v.string); - - return header; -} - -GObexHeader *g_obex_header_new_bytes(guint8 id, const void *data, gsize len) -{ - GObexHeader *header; - - g_obex_debug(G_OBEX_DEBUG_HEADER, "header 0x%02x", G_OBEX_HDR_ENC(id)); - - if (G_OBEX_HDR_ENC(id) != G_OBEX_HDR_ENC_BYTES) - return NULL; - - header = g_new0(GObexHeader, 1); - - header->id = id; - header->vlen = len; - header->hlen = len + 3; - header->v.data = g_memdup(data, len); - - return header; -} - -GObexHeader *g_obex_header_new_apparam(GObexApparam *apparam) -{ - guint8 buf[1024]; - gssize len; - - len = g_obex_apparam_encode(apparam, buf, sizeof(buf)); - if (len < 0) - return NULL; - - return g_obex_header_new_bytes(G_OBEX_HDR_APPARAM, buf, len); -} - -GObexHeader *g_obex_header_new_uint8(guint8 id, guint8 val) -{ - GObexHeader *header; - - g_obex_debug(G_OBEX_DEBUG_HEADER, "header 0x%02x", G_OBEX_HDR_ENC(id)); - - if (G_OBEX_HDR_ENC(id) != G_OBEX_HDR_ENC_UINT8) - return NULL; - - header = g_new0(GObexHeader, 1); - - header->id = id; - header->vlen = 1; - header->hlen = 2; - header->v.u8 = val; - - g_obex_debug(G_OBEX_DEBUG_HEADER, "%u", header->v.u8); - - return header; -} - -GObexHeader *g_obex_header_new_uint32(guint8 id, guint32 val) -{ - GObexHeader *header; - - g_obex_debug(G_OBEX_DEBUG_HEADER, "header 0x%02x", G_OBEX_HDR_ENC(id)); - - if (G_OBEX_HDR_ENC(id) != G_OBEX_HDR_ENC_UINT32) - return NULL; - - header = g_new0(GObexHeader, 1); - - header->id = id; - header->vlen = 4; - header->hlen = 5; - header->v.u32 = val; - - g_obex_debug(G_OBEX_DEBUG_HEADER, "%u", header->v.u32); - - return header; -} - -guint8 g_obex_header_get_id(GObexHeader *header) -{ - g_obex_debug(G_OBEX_DEBUG_HEADER, "header 0x%02x id 0x%02x", - G_OBEX_HDR_ENC(header->id), header->id); - - return header->id; -} - -guint16 g_obex_header_get_length(GObexHeader *header) -{ - g_obex_debug(G_OBEX_DEBUG_HEADER, "header 0x%02x length %zu", - G_OBEX_HDR_ENC(header->id), header->hlen); - - return header->hlen; -} - -GSList *g_obex_header_create_list(guint8 first_hdr_id, va_list args, - gsize *total_len) -{ - unsigned int id = first_hdr_id; - GSList *l = NULL; - - g_obex_debug(G_OBEX_DEBUG_HEADER, ""); - - *total_len = 0; - - while (id != G_OBEX_HDR_INVALID) { - GObexHeader *hdr; - const char *str; - const void *bytes; - unsigned int val; - gsize len; - - switch (G_OBEX_HDR_ENC(id)) { - case G_OBEX_HDR_ENC_UNICODE: - str = va_arg(args, const char *); - hdr = g_obex_header_new_unicode(id, str); - break; - case G_OBEX_HDR_ENC_BYTES: - bytes = va_arg(args, void *); - len = va_arg(args, gsize); - hdr = g_obex_header_new_bytes(id, bytes, len); - break; - case G_OBEX_HDR_ENC_UINT8: - val = va_arg(args, unsigned int); - hdr = g_obex_header_new_uint8(id, val); - break; - case G_OBEX_HDR_ENC_UINT32: - val = va_arg(args, unsigned int); - hdr = g_obex_header_new_uint32(id, val); - break; - default: - g_assert_not_reached(); - } - - l = g_slist_append(l, hdr); - *total_len += hdr->hlen; - id = va_arg(args, int); - } - - return l; -} diff --git a/GRIB_BLE_HUB/libs/ble_extend/gobex/gobex-header.h b/GRIB_BLE_HUB/libs/ble_extend/gobex/gobex-header.h deleted file mode 100644 index 42a2a0c..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/gobex/gobex-header.h +++ /dev/null @@ -1,102 +0,0 @@ -/* - * - * OBEX library with GLib integration - * - * Copyright (C) 2011 Intel Corporation. All rights reserved. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifndef __GOBEX_HEADER_H -#define __GOBEX_HEADER_H - -#include - -#include -#include - -/* Header ID's */ -#define G_OBEX_HDR_INVALID 0x00 - -#define G_OBEX_HDR_COUNT 0xc0 -#define G_OBEX_HDR_NAME 0x01 -#define G_OBEX_HDR_TYPE 0x42 -#define G_OBEX_HDR_LENGTH 0xc3 -#define G_OBEX_HDR_TIME 0x44 -#define G_OBEX_HDR_DESCRIPTION 0x05 -#define G_OBEX_HDR_TARGET 0x46 -#define G_OBEX_HDR_HTTP 0x47 -#define G_OBEX_HDR_BODY 0x48 -#define G_OBEX_HDR_BODY_END 0x49 -#define G_OBEX_HDR_WHO 0x4a -#define G_OBEX_HDR_CONNECTION 0xcb -#define G_OBEX_HDR_APPARAM 0x4c -#define G_OBEX_HDR_AUTHCHAL 0x4d -#define G_OBEX_HDR_AUTHRESP 0x4e -#define G_OBEX_HDR_CREATOR 0xcf -#define G_OBEX_HDR_WANUUID 0x50 -#define G_OBEX_HDR_OBJECTCLASS 0x51 -#define G_OBEX_HDR_SESSIONPARAM 0x52 -#define G_OBEX_HDR_SESSIONSEQ 0x93 -#define G_OBEX_HDR_ACTION 0x94 -#define G_OBEX_HDR_DESTNAME 0x15 -#define G_OBEX_HDR_PERMISSIONS 0xd6 -#define G_OBEX_HDR_SRM 0x97 -#define G_OBEX_HDR_SRMP 0x98 - -/* Action header values */ -#define G_OBEX_ACTION_COPY 0x00 -#define G_OBEX_ACTION_MOVE 0x01 -#define G_OBEX_ACTION_SETPERM 0x02 - -/* SRM header values */ -#define G_OBEX_SRM_DISABLE 0x00 -#define G_OBEX_SRM_ENABLE 0x01 -#define G_OBEX_SRM_INDICATE 0x02 - -/* SRMP header values */ -#define G_OBEX_SRMP_NEXT 0x00 -#define G_OBEX_SRMP_WAIT 0x01 -#define G_OBEX_SRMP_NEXT_WAIT 0x02 - -typedef struct _GObexHeader GObexHeader; - -gboolean g_obex_header_get_unicode(GObexHeader *header, const char **str); -gboolean g_obex_header_get_bytes(GObexHeader *header, const guint8 **val, - gsize *len); -gboolean g_obex_header_get_uint8(GObexHeader *header, guint8 *val); -gboolean g_obex_header_get_uint32(GObexHeader *header, guint32 *val); -GObexApparam *g_obex_header_get_apparam(GObexHeader *header); - -GObexHeader *g_obex_header_new_unicode(guint8 id, const char *str); -GObexHeader *g_obex_header_new_bytes(guint8 id, const void *data, gsize len); -GObexHeader *g_obex_header_new_uint8(guint8 id, guint8 val); -GObexHeader *g_obex_header_new_uint32(guint8 id, guint32 val); -GObexHeader *g_obex_header_new_apparam(GObexApparam *apparam); - -GSList *g_obex_header_create_list(guint8 first_hdr_id, va_list args, - gsize *total_len); - -guint8 g_obex_header_get_id(GObexHeader *header); -guint16 g_obex_header_get_length(GObexHeader *header); - -gssize g_obex_header_encode(GObexHeader *header, void *buf, gsize buf_len); -GObexHeader *g_obex_header_decode(const void *data, gsize len, - GObexDataPolicy data_policy, gsize *parsed, - GError **err); -void g_obex_header_free(GObexHeader *header); - -#endif /* __GOBEX_HEADER_H */ diff --git a/GRIB_BLE_HUB/libs/ble_extend/gobex/gobex-packet.c b/GRIB_BLE_HUB/libs/ble_extend/gobex/gobex-packet.c deleted file mode 100644 index 4c14cf7..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/gobex/gobex-packet.c +++ /dev/null @@ -1,456 +0,0 @@ -/* - * - * OBEX library with GLib integration - * - * Copyright (C) 2011 Intel Corporation. All rights reserved. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include - -#include "gobex-defs.h" -#include "gobex-packet.h" -#include "gobex-debug.h" - -#define FINAL_BIT 0x80 - -struct _GObexPacket { - guint8 opcode; - gboolean final; - - GObexDataPolicy data_policy; - - union { - void *buf; /* Non-header data */ - const void *buf_ref; /* Reference to non-header data */ - } data; - gsize data_len; - - gsize hlen; /* Length of all encoded headers */ - GSList *headers; - - GObexDataProducer get_body; - gpointer get_body_data; -}; - -GObexHeader *g_obex_packet_get_header(GObexPacket *pkt, guint8 id) -{ - GSList *l; - - g_obex_debug(G_OBEX_DEBUG_PACKET, "opcode 0x%02x", pkt->opcode); - - for (l = pkt->headers; l != NULL; l = g_slist_next(l)) { - GObexHeader *hdr = l->data; - - if (g_obex_header_get_id(hdr) == id) - return hdr; - } - - return NULL; -} - -GObexHeader *g_obex_packet_get_body(GObexPacket *pkt) -{ - GObexHeader *body; - - g_obex_debug(G_OBEX_DEBUG_PACKET, "opcode 0x%02x", pkt->opcode); - - body = g_obex_packet_get_header(pkt, G_OBEX_HDR_BODY); - if (body != NULL) - return body; - - return g_obex_packet_get_header(pkt, G_OBEX_HDR_BODY_END); -} - -guint8 g_obex_packet_get_operation(GObexPacket *pkt, gboolean *final) -{ - g_obex_debug(G_OBEX_DEBUG_PACKET, "opcode 0x%02x", pkt->opcode); - - if (final) - *final = pkt->final; - - return pkt->opcode; -} - -gboolean g_obex_packet_prepend_header(GObexPacket *pkt, GObexHeader *header) -{ - g_obex_debug(G_OBEX_DEBUG_PACKET, "opcode 0x%02x", pkt->opcode); - - pkt->headers = g_slist_prepend(pkt->headers, header); - pkt->hlen += g_obex_header_get_length(header); - - return TRUE; -} - -gboolean g_obex_packet_add_header(GObexPacket *pkt, GObexHeader *header) -{ - g_obex_debug(G_OBEX_DEBUG_PACKET, "opcode 0x%02x", pkt->opcode); - - pkt->headers = g_slist_append(pkt->headers, header); - pkt->hlen += g_obex_header_get_length(header); - - return TRUE; -} - -gboolean g_obex_packet_add_body(GObexPacket *pkt, GObexDataProducer func, - gpointer user_data) -{ - g_obex_debug(G_OBEX_DEBUG_PACKET, "opcode 0x%02x", pkt->opcode); - - if (pkt->get_body != NULL) - return FALSE; - - pkt->get_body = func; - pkt->get_body_data = user_data; - - return TRUE; -} - -gboolean g_obex_packet_add_unicode(GObexPacket *pkt, guint8 id, - const char *str) -{ - GObexHeader *hdr; - - g_obex_debug(G_OBEX_DEBUG_PACKET, "opcode 0x%02x", pkt->opcode); - - hdr = g_obex_header_new_unicode(id, str); - if (hdr == NULL) - return FALSE; - - return g_obex_packet_add_header(pkt, hdr); -} - -gboolean g_obex_packet_add_bytes(GObexPacket *pkt, guint8 id, - const void *data, gsize len) -{ - GObexHeader *hdr; - - g_obex_debug(G_OBEX_DEBUG_PACKET, "opcode 0x%02x", pkt->opcode); - - hdr = g_obex_header_new_bytes(id, data, len); - if (hdr == NULL) - return FALSE; - - return g_obex_packet_add_header(pkt, hdr); -} - -gboolean g_obex_packet_add_uint8(GObexPacket *pkt, guint8 id, guint8 val) -{ - GObexHeader *hdr; - - g_obex_debug(G_OBEX_DEBUG_PACKET, "opcode 0x%02x", pkt->opcode); - - hdr = g_obex_header_new_uint8(id, val); - if (hdr == NULL) - return FALSE; - - return g_obex_packet_add_header(pkt, hdr); -} - -gboolean g_obex_packet_add_uint32(GObexPacket *pkt, guint8 id, guint32 val) -{ - GObexHeader *hdr; - - g_obex_debug(G_OBEX_DEBUG_PACKET, "opcode 0x%02x", pkt->opcode); - - hdr = g_obex_header_new_uint32(id, val); - if (hdr == NULL) - return FALSE; - - return g_obex_packet_add_header(pkt, hdr); -} - -const void *g_obex_packet_get_data(GObexPacket *pkt, gsize *len) -{ - g_obex_debug(G_OBEX_DEBUG_PACKET, "opcode 0x%02x", pkt->opcode); - - if (pkt->data_len == 0) { - *len = 0; - return NULL; - } - - *len = pkt->data_len; - - switch (pkt->data_policy) { - case G_OBEX_DATA_INHERIT: - case G_OBEX_DATA_COPY: - return pkt->data.buf; - case G_OBEX_DATA_REF: - return pkt->data.buf_ref; - } - - g_assert_not_reached(); -} - -gboolean g_obex_packet_set_data(GObexPacket *pkt, const void *data, gsize len, - GObexDataPolicy data_policy) -{ - g_obex_debug(G_OBEX_DEBUG_PACKET, "opcode 0x%02x", pkt->opcode); - - if (pkt->data.buf || pkt->data.buf_ref) - return FALSE; - - pkt->data_policy = data_policy; - pkt->data_len = len; - - switch (data_policy) { - case G_OBEX_DATA_COPY: - pkt->data.buf = g_memdup(data, len); - break; - case G_OBEX_DATA_REF: - pkt->data.buf_ref = data; - break; - case G_OBEX_DATA_INHERIT: - pkt->data.buf = (void *) data; - break; - } - - return TRUE; -} - -GObexPacket *g_obex_packet_new_valist(guint8 opcode, gboolean final, - guint8 first_hdr_id, va_list args) -{ - GObexPacket *pkt; - - g_obex_debug(G_OBEX_DEBUG_PACKET, "opcode 0x%02x", opcode); - - pkt = g_new0(GObexPacket, 1); - - pkt->opcode = opcode; - pkt->final = final; - pkt->headers = g_obex_header_create_list(first_hdr_id, args, - &pkt->hlen); - pkt->data_policy = G_OBEX_DATA_COPY; - - return pkt; -} - -GObexPacket *g_obex_packet_new(guint8 opcode, gboolean final, - guint8 first_hdr_id, ...) -{ - GObexPacket *pkt; - va_list args; - - g_obex_debug(G_OBEX_DEBUG_PACKET, "opcode 0x%02x", opcode); - - va_start(args, first_hdr_id); - pkt = g_obex_packet_new_valist(opcode, final, first_hdr_id, args); - va_end(args); - - return pkt; -} - -void g_obex_packet_free(GObexPacket *pkt) -{ - g_obex_debug(G_OBEX_DEBUG_PACKET, "opcode 0x%02x", pkt->opcode); - - switch (pkt->data_policy) { - case G_OBEX_DATA_INHERIT: - case G_OBEX_DATA_COPY: - g_free(pkt->data.buf); - break; - case G_OBEX_DATA_REF: - break; - } - - g_slist_foreach(pkt->headers, (GFunc) g_obex_header_free, NULL); - g_slist_free(pkt->headers); - g_free(pkt); -} - -static gboolean parse_headers(GObexPacket *pkt, const void *data, gsize len, - GObexDataPolicy data_policy, - GError **err) -{ - const guint8 *buf = data; - - g_obex_debug(G_OBEX_DEBUG_PACKET, "opcode 0x%02x", pkt->opcode); - - while (len > 0) { - GObexHeader *header; - gsize parsed; - - header = g_obex_header_decode(buf, len, data_policy, &parsed, - err); - if (header == NULL) - return FALSE; - - pkt->headers = g_slist_append(pkt->headers, header); - pkt->hlen += parsed; - - len -= parsed; - buf += parsed; - } - - return TRUE; -} - -static const guint8 *get_bytes(void *to, const guint8 *from, gsize count) -{ - memcpy(to, from, count); - return (from + count); -} - -GObexPacket *g_obex_packet_decode(const void *data, gsize len, - gsize header_offset, - GObexDataPolicy data_policy, - GError **err) -{ - const guint8 *buf = data; - guint16 packet_len; - guint8 opcode; - GObexPacket *pkt; - gboolean final; - - g_obex_debug(G_OBEX_DEBUG_PACKET, ""); - - if (data_policy == G_OBEX_DATA_INHERIT) { - g_set_error(err, G_OBEX_ERROR, G_OBEX_ERROR_INVALID_ARGS, - "Invalid data policy"); - g_obex_debug(G_OBEX_DEBUG_ERROR, "%s", (*err)->message); - return NULL; - } - - if (len < 3 + header_offset) { - g_set_error(err, G_OBEX_ERROR, G_OBEX_ERROR_PARSE_ERROR, - "Not enough data to decode packet"); - g_obex_debug(G_OBEX_DEBUG_ERROR, "%s", (*err)->message); - return NULL; - } - - buf = get_bytes(&opcode, buf, sizeof(opcode)); - buf = get_bytes(&packet_len, buf, sizeof(packet_len)); - - packet_len = g_ntohs(packet_len); - if (packet_len != len) { - g_set_error(err, G_OBEX_ERROR, G_OBEX_ERROR_PARSE_ERROR, - "Incorrect packet length (%u != %zu)", - packet_len, len); - g_obex_debug(G_OBEX_DEBUG_ERROR, "%s", (*err)->message); - return NULL; - } - - final = (opcode & FINAL_BIT) ? TRUE : FALSE; - opcode &= ~FINAL_BIT; - - pkt = g_obex_packet_new(opcode, final, G_OBEX_HDR_INVALID); - - if (header_offset == 0) - goto headers; - - g_obex_packet_set_data(pkt, buf, header_offset, data_policy); - buf += header_offset; - -headers: - if (!parse_headers(pkt, buf, len - (3 + header_offset), - data_policy, err)) - goto failed; - - return pkt; - -failed: - g_obex_packet_free(pkt); - return NULL; -} - -static gssize get_body(GObexPacket *pkt, guint8 *buf, gsize len) -{ - guint16 u16; - gssize ret; - - g_obex_debug(G_OBEX_DEBUG_PACKET, "opcode 0x%02x", pkt->opcode); - - if (len < 3) - return -ENOBUFS; - - ret = pkt->get_body(buf + 3, len - 3, pkt->get_body_data); - if (ret < 0) - return ret; - - if (ret > 0) - buf[0] = G_OBEX_HDR_BODY; - else - buf[0] = G_OBEX_HDR_BODY_END; - - u16 = g_htons(ret + 3); - memcpy(&buf[1], &u16, sizeof(u16)); - - return ret; -} - -gssize g_obex_packet_encode(GObexPacket *pkt, guint8 *buf, gsize len) -{ - gssize ret; - gsize count; - guint16 u16; - GSList *l; - - g_obex_debug(G_OBEX_DEBUG_PACKET, "opcode 0x%02x", pkt->opcode); - - if (3 + pkt->data_len + pkt->hlen > len) - return -ENOBUFS; - - buf[0] = pkt->opcode; - if (pkt->final) - buf[0] |= FINAL_BIT; - - if (pkt->data_len > 0) { - if (pkt->data_policy == G_OBEX_DATA_REF) - memcpy(&buf[3], pkt->data.buf_ref, pkt->data_len); - else - memcpy(&buf[3], pkt->data.buf, pkt->data_len); - } - - count = 3 + pkt->data_len; - - for (l = pkt->headers; l != NULL; l = g_slist_next(l)) { - GObexHeader *hdr = l->data; - - if (count >= len) - return -ENOBUFS; - - ret = g_obex_header_encode(hdr, buf + count, len - count); - if (ret < 0) - return ret; - - count += ret; - } - - if (pkt->get_body) { - ret = get_body(pkt, buf + count, len - count); - if (ret < 0) - return ret; - if (ret == 0) { - if (pkt->opcode == G_OBEX_RSP_CONTINUE) - buf[0] = G_OBEX_RSP_SUCCESS; - buf[0] |= FINAL_BIT; - } - - count += ret + 3; - } - - u16 = g_htons(count); - memcpy(&buf[1], &u16, sizeof(u16)); - - return count; -} diff --git a/GRIB_BLE_HUB/libs/ble_extend/gobex/gobex-packet.h b/GRIB_BLE_HUB/libs/ble_extend/gobex/gobex-packet.h deleted file mode 100644 index 6121fa7..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/gobex/gobex-packet.h +++ /dev/null @@ -1,112 +0,0 @@ -/* - * - * OBEX library with GLib integration - * - * Copyright (C) 2011 Intel Corporation. All rights reserved. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifndef __GOBEX_PACKET_H -#define __GOBEX_PACKET_H - -#include -#include - -#include -#include - -/* Request opcodes */ -#define G_OBEX_OP_CONNECT 0x00 -#define G_OBEX_OP_DISCONNECT 0x01 -#define G_OBEX_OP_PUT 0x02 -#define G_OBEX_OP_GET 0x03 -#define G_OBEX_OP_SETPATH 0x05 -#define G_OBEX_OP_ACTION 0x06 -#define G_OBEX_OP_SESSION 0x07 -#define G_OBEX_OP_ABORT 0x7f - -/* Response codes */ -#define G_OBEX_RSP_CONTINUE 0x10 -#define G_OBEX_RSP_SUCCESS 0x20 -#define G_OBEX_RSP_CREATED 0x21 -#define G_OBEX_RSP_ACCEPTED 0x22 -#define G_OBEX_RSP_NON_AUTHORITATIVE 0x23 -#define G_OBEX_RSP_NO_CONTENT 0x24 -#define G_OBEX_RSP_RESET_CONTENT 0x25 -#define G_OBEX_RSP_PARTIAL_CONTENT 0x26 -#define G_OBEX_RSP_MULTIPLE_CHOICES 0x30 -#define G_OBEX_RSP_MOVED_PERMANENTLY 0x31 -#define G_OBEX_RSP_MOVED_TEMPORARILY 0x32 -#define G_OBEX_RSP_SEE_OTHER 0x33 -#define G_OBEX_RSP_NOT_MODIFIED 0x34 -#define G_OBEX_RSP_USE_PROXY 0x35 -#define G_OBEX_RSP_BAD_REQUEST 0x40 -#define G_OBEX_RSP_UNAUTHORIZED 0x41 -#define G_OBEX_RSP_PAYMENT_REQUIRED 0x42 -#define G_OBEX_RSP_FORBIDDEN 0x43 -#define G_OBEX_RSP_NOT_FOUND 0x44 -#define G_OBEX_RSP_METHOD_NOT_ALLOWED 0x45 -#define G_OBEX_RSP_NOT_ACCEPTABLE 0x46 -#define G_OBEX_RSP_PROXY_AUTH_REQUIRED 0x47 -#define G_OBEX_RSP_REQUEST_TIME_OUT 0x48 -#define G_OBEX_RSP_CONFLICT 0x49 -#define G_OBEX_RSP_GONE 0x4a -#define G_OBEX_RSP_LENGTH_REQUIRED 0x4b -#define G_OBEX_RSP_PRECONDITION_FAILED 0x4c -#define G_OBEX_RSP_REQ_ENTITY_TOO_LARGE 0x4d -#define G_OBEX_RSP_REQ_URL_TOO_LARGE 0x4e -#define G_OBEX_RSP_UNSUPPORTED_MEDIA_TYPE 0x4f -#define G_OBEX_RSP_INTERNAL_SERVER_ERROR 0x50 -#define G_OBEX_RSP_NOT_IMPLEMENTED 0x51 -#define G_OBEX_RSP_BAD_GATEWAY 0x52 -#define G_OBEX_RSP_SERVICE_UNAVAILABLE 0x53 -#define G_OBEX_RSP_GATEWAY_TIMEOUT 0x54 -#define G_OBEX_RSP_VERSION_NOT_SUPPORTED 0x55 -#define G_OBEX_RSP_DATABASE_FULL 0x60 -#define G_OBEX_RSP_DATABASE_LOCKED 0x61 - -typedef struct _GObexPacket GObexPacket; - -GObexHeader *g_obex_packet_get_header(GObexPacket *pkt, guint8 id); -GObexHeader *g_obex_packet_get_body(GObexPacket *pkt); -guint8 g_obex_packet_get_operation(GObexPacket *pkt, gboolean *final); -gboolean g_obex_packet_prepend_header(GObexPacket *pkt, GObexHeader *header); -gboolean g_obex_packet_add_header(GObexPacket *pkt, GObexHeader *header); -gboolean g_obex_packet_add_body(GObexPacket *pkt, GObexDataProducer func, - gpointer user_data); -gboolean g_obex_packet_add_unicode(GObexPacket *pkt, guint8 id, - const char *str); -gboolean g_obex_packet_add_bytes(GObexPacket *pkt, guint8 id, - const void *data, gsize len); -gboolean g_obex_packet_add_uint8(GObexPacket *pkt, guint8 id, guint8 val); -gboolean g_obex_packet_add_uint32(GObexPacket *pkt, guint8 id, guint32 val); -gboolean g_obex_packet_set_data(GObexPacket *pkt, const void *data, gsize len, - GObexDataPolicy data_policy); -const void *g_obex_packet_get_data(GObexPacket *pkt, gsize *len); -GObexPacket *g_obex_packet_new(guint8 opcode, gboolean final, - guint8 first_hdr_id, ...); -GObexPacket *g_obex_packet_new_valist(guint8 opcode, gboolean final, - guint8 first_hdr_id, va_list args); -void g_obex_packet_free(GObexPacket *pkt); - -GObexPacket *g_obex_packet_decode(const void *data, gsize len, - gsize header_offset, - GObexDataPolicy data_policy, - GError **err); -gssize g_obex_packet_encode(GObexPacket *pkt, guint8 *buf, gsize len); - -#endif /* __GOBEX_PACKET_H */ diff --git a/GRIB_BLE_HUB/libs/ble_extend/gobex/gobex-transfer.c b/GRIB_BLE_HUB/libs/ble_extend/gobex/gobex-transfer.c deleted file mode 100644 index ac8836c..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/gobex/gobex-transfer.c +++ /dev/null @@ -1,654 +0,0 @@ -/* - * - * OBEX library with GLib integration - * - * Copyright (C) 2011 Intel Corporation. All rights reserved. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include - -#include "gobex.h" -#include "gobex-debug.h" - -#define FIRST_PACKET_TIMEOUT 60 - -static GSList *transfers = NULL; - -static void transfer_response(GObex *obex, GError *err, GObexPacket *rsp, - gpointer user_data); - -struct transfer { - guint id; - guint8 opcode; - - GObex *obex; - - guint req_id; - - guint put_id; - guint get_id; - guint abort_id; - - GObexDataProducer data_producer; - GObexDataConsumer data_consumer; - GObexFunc complete_func; - - gpointer user_data; -}; - -static void transfer_free(struct transfer *transfer) -{ - g_obex_debug(G_OBEX_DEBUG_TRANSFER, "transfer %u", transfer->id); - - transfers = g_slist_remove(transfers, transfer); - - if (transfer->req_id > 0) - g_obex_cancel_req(transfer->obex, transfer->req_id, TRUE); - - if (transfer->put_id > 0) - g_obex_remove_request_function(transfer->obex, - transfer->put_id); - - if (transfer->get_id > 0) - g_obex_remove_request_function(transfer->obex, - transfer->get_id); - - if (transfer->abort_id > 0) - g_obex_remove_request_function(transfer->obex, - transfer->abort_id); - - g_obex_unref(transfer->obex); - g_free(transfer); -} - -static struct transfer *find_transfer(guint id) -{ - GSList *l; - - for (l = transfers; l != NULL; l = g_slist_next(l)) { - struct transfer *t = l->data; - if (t->id == id) - return t; - } - - return NULL; -} - -static void transfer_complete(struct transfer *transfer, GError *err) -{ - guint id = transfer->id; - - g_obex_debug(G_OBEX_DEBUG_TRANSFER, "transfer %u", id); - - transfer->complete_func(transfer->obex, err, transfer->user_data); - /* Check if the complete_func removed the transfer */ - if (find_transfer(id) == NULL) - return; - - transfer_free(transfer); -} - -static void transfer_abort_response(GObex *obex, GError *err, GObexPacket *rsp, - gpointer user_data) -{ - struct transfer *transfer = user_data; - - g_obex_debug(G_OBEX_DEBUG_TRANSFER, "transfer %u", transfer->id); - - transfer->req_id = 0; - - /* Intentionally override error */ - err = g_error_new(G_OBEX_ERROR, G_OBEX_ERROR_CANCELLED, - "Operation was aborted"); - g_obex_debug(G_OBEX_DEBUG_ERROR, "%s", err->message); - transfer_complete(transfer, err); - g_error_free(err); -} - - -static gssize put_get_data(void *buf, gsize len, gpointer user_data) -{ - struct transfer *transfer = user_data; - GObexPacket *req; - GError *err = NULL; - gssize ret; - - ret = transfer->data_producer(buf, len, transfer->user_data); - if (ret == 0 || ret == -EAGAIN) - return ret; - - if (ret > 0) { - /* Check if SRM is active */ - if (!g_obex_srm_active(transfer->obex)) - return ret; - - /* Generate next packet */ - req = g_obex_packet_new(transfer->opcode, FALSE, - G_OBEX_HDR_INVALID); - g_obex_packet_add_body(req, put_get_data, transfer); - transfer->req_id = g_obex_send_req(transfer->obex, req, -1, - transfer_response, transfer, - &err); - goto done; - } - - req = g_obex_packet_new(G_OBEX_OP_ABORT, TRUE, G_OBEX_HDR_INVALID); - - transfer->req_id = g_obex_send_req(transfer->obex, req, -1, - transfer_abort_response, - transfer, &err); -done: - if (err != NULL) { - transfer_complete(transfer, err); - g_error_free(err); - } - - return ret; -} - -static gboolean handle_get_body(struct transfer *transfer, GObexPacket *rsp, - GError **err) -{ - GObexHeader *body = g_obex_packet_get_body(rsp); - gboolean ret; - const guint8 *buf; - gsize len; - - if (body == NULL) - return TRUE; - - g_obex_header_get_bytes(body, &buf, &len); - if (len == 0) - return TRUE; - - ret = transfer->data_consumer(buf, len, transfer->user_data); - if (ret == FALSE) - g_set_error(err, G_OBEX_ERROR, G_OBEX_ERROR_CANCELLED, - "Data consumer callback failed"); - - return ret; -} - -static void transfer_response(GObex *obex, GError *err, GObexPacket *rsp, - gpointer user_data) -{ - struct transfer *transfer = user_data; - GObexPacket *req; - gboolean rspcode, final; - - g_obex_debug(G_OBEX_DEBUG_TRANSFER, "transfer %u", transfer->id); - - transfer->req_id = 0; - - if (err != NULL) { - transfer_complete(transfer, err); - return; - } - - rspcode = g_obex_packet_get_operation(rsp, &final); - if (rspcode != G_OBEX_RSP_SUCCESS && rspcode != G_OBEX_RSP_CONTINUE) { - err = g_error_new(G_OBEX_ERROR, rspcode, - "Transfer failed (0x%02x)", rspcode); - goto failed; - } - - if (transfer->opcode == G_OBEX_OP_GET) { - handle_get_body(transfer, rsp, &err); - if (err != NULL) - goto failed; - } - - if (rspcode == G_OBEX_RSP_SUCCESS) { - transfer_complete(transfer, NULL); - return; - } - - if (transfer->opcode == G_OBEX_OP_PUT) { - req = g_obex_packet_new(transfer->opcode, FALSE, - G_OBEX_HDR_INVALID); - g_obex_packet_add_body(req, put_get_data, transfer); - } else if (!g_obex_srm_active(transfer->obex)) { - req = g_obex_packet_new(transfer->opcode, TRUE, - G_OBEX_HDR_INVALID); - } else - return; - - transfer->req_id = g_obex_send_req(obex, req, -1, transfer_response, - transfer, &err); -failed: - if (err != NULL) { - g_obex_debug(G_OBEX_DEBUG_ERROR, "%s", err->message); - transfer_complete(transfer, err); - g_error_free(err); - } -} - -static struct transfer *transfer_new(GObex *obex, guint8 opcode, - GObexFunc complete_func, gpointer user_data) -{ - static guint next_id = 1; - struct transfer *transfer; - - g_obex_debug(G_OBEX_DEBUG_TRANSFER, "obex %p opcode %u", obex, opcode); - - transfer = g_new0(struct transfer, 1); - - transfer->id = next_id++; - transfer->opcode = opcode; - transfer->obex = g_obex_ref(obex); - transfer->complete_func = complete_func; - transfer->user_data = user_data; - - transfers = g_slist_append(transfers, transfer); - - return transfer; -} - -guint g_obex_put_req_pkt(GObex *obex, GObexPacket *req, - GObexDataProducer data_func, GObexFunc complete_func, - gpointer user_data, GError **err) -{ - struct transfer *transfer; - - g_obex_debug(G_OBEX_DEBUG_TRANSFER, "obex %p", obex); - - if (g_obex_packet_get_operation(req, NULL) != G_OBEX_OP_PUT) - return 0; - - transfer = transfer_new(obex, G_OBEX_OP_PUT, complete_func, user_data); - transfer->data_producer = data_func; - - g_obex_packet_add_body(req, put_get_data, transfer); - - transfer->req_id = g_obex_send_req(obex, req, FIRST_PACKET_TIMEOUT, - transfer_response, transfer, err); - if (transfer->req_id == 0) { - transfer_free(transfer); - return 0; - } - - g_obex_debug(G_OBEX_DEBUG_TRANSFER, "transfer %u", transfer->id); - - return transfer->id; -} - -guint g_obex_put_req(GObex *obex, GObexDataProducer data_func, - GObexFunc complete_func, gpointer user_data, - GError **err, guint8 first_hdr_id, ...) -{ - GObexPacket *req; - va_list args; - - g_obex_debug(G_OBEX_DEBUG_TRANSFER, "obex %p", obex); - - va_start(args, first_hdr_id); - req = g_obex_packet_new_valist(G_OBEX_OP_PUT, FALSE, - first_hdr_id, args); - va_end(args); - - return g_obex_put_req_pkt(obex, req, data_func, complete_func, - user_data, err); -} - -static void transfer_abort_req(GObex *obex, GObexPacket *req, gpointer user_data) -{ - struct transfer *transfer = user_data; - GObexPacket *rsp; - GError *err; - - g_obex_debug(G_OBEX_DEBUG_TRANSFER, "transfer %u", transfer->id); - - err = g_error_new(G_OBEX_ERROR, G_OBEX_ERROR_CANCELLED, - "Request was aborted"); - rsp = g_obex_packet_new(G_OBEX_RSP_SUCCESS, TRUE, G_OBEX_HDR_INVALID); - g_obex_send(obex, rsp, NULL); - - transfer_complete(transfer, err); - g_error_free(err); -} - -static guint8 put_get_bytes(struct transfer *transfer, GObexPacket *req) -{ - GObexHeader *body; - gboolean final; - guint8 rsp; - const guint8 *buf; - gsize len; - - g_obex_debug(G_OBEX_DEBUG_TRANSFER, "transfer %u", transfer->id); - - g_obex_packet_get_operation(req, &final); - if (final) - rsp = G_OBEX_RSP_SUCCESS; - else - rsp = G_OBEX_RSP_CONTINUE; - - body = g_obex_packet_get_body(req); - if (body == NULL) - return rsp; - - g_obex_header_get_bytes(body, &buf, &len); - if (len == 0) - return rsp; - - if (transfer->data_consumer(buf, len, transfer->user_data) == FALSE) - rsp = G_OBEX_RSP_FORBIDDEN; - - return rsp; -} - -static void transfer_put_req_first(struct transfer *transfer, GObexPacket *req, - guint8 first_hdr_id, va_list args) -{ - GError *err = NULL; - GObexPacket *rsp; - guint8 rspcode; - - g_obex_debug(G_OBEX_DEBUG_TRANSFER, "transfer %u", transfer->id); - - rspcode = put_get_bytes(transfer, req); - - rsp = g_obex_packet_new_valist(rspcode, TRUE, first_hdr_id, args); - - if (!g_obex_send(transfer->obex, rsp, &err)) { - transfer_complete(transfer, err); - g_error_free(err); - } - - if (rspcode != G_OBEX_RSP_CONTINUE) - transfer_complete(transfer, NULL); -} - -static void transfer_put_req(GObex *obex, GObexPacket *req, gpointer user_data) -{ - struct transfer *transfer = user_data; - GError *err = NULL; - GObexPacket *rsp; - guint8 rspcode; - - g_obex_debug(G_OBEX_DEBUG_TRANSFER, "transfer %u", transfer->id); - - rspcode = put_get_bytes(transfer, req); - - /* Don't send continue while in SRM */ - if (g_obex_srm_active(transfer->obex) && - rspcode == G_OBEX_RSP_CONTINUE) - goto done; - - rsp = g_obex_packet_new(rspcode, TRUE, G_OBEX_HDR_INVALID); - - if (!g_obex_send(obex, rsp, &err)) { - transfer_complete(transfer, err); - g_error_free(err); - } - -done: - if (rspcode != G_OBEX_RSP_CONTINUE) - transfer_complete(transfer, NULL); -} - -guint g_obex_put_rsp(GObex *obex, GObexPacket *req, - GObexDataConsumer data_func, GObexFunc complete_func, - gpointer user_data, GError **err, - guint8 first_hdr_id, ...) -{ - struct transfer *transfer; - va_list args; - guint id; - - g_obex_debug(G_OBEX_DEBUG_TRANSFER, "obex %p", obex); - - transfer = transfer_new(obex, G_OBEX_OP_PUT, complete_func, user_data); - transfer->data_consumer = data_func; - - - va_start(args, first_hdr_id); - transfer_put_req_first(transfer, req, first_hdr_id, args); - va_end(args); - if (!g_slist_find(transfers, transfer)) - return 0; - - id = g_obex_add_request_function(obex, G_OBEX_OP_PUT, transfer_put_req, - transfer); - transfer->put_id = id; - - id = g_obex_add_request_function(obex, G_OBEX_OP_ABORT, - transfer_abort_req, transfer); - transfer->abort_id = id; - - g_obex_debug(G_OBEX_DEBUG_TRANSFER, "transfer %u", transfer->id); - - return transfer->id; -} - -guint g_obex_get_req_pkt(GObex *obex, GObexPacket *req, - GObexDataConsumer data_func, GObexFunc complete_func, - gpointer user_data, GError **err) -{ - struct transfer *transfer; - - g_obex_debug(G_OBEX_DEBUG_TRANSFER, "obex %p", obex); - - if (g_obex_packet_get_operation(req, NULL) != G_OBEX_OP_GET) - return 0; - - transfer = transfer_new(obex, G_OBEX_OP_GET, complete_func, user_data); - transfer->data_consumer = data_func; - transfer->req_id = g_obex_send_req(obex, req, FIRST_PACKET_TIMEOUT, - transfer_response, transfer, err); - if (transfer->req_id == 0) { - transfer_free(transfer); - return 0; - } - - g_obex_debug(G_OBEX_DEBUG_TRANSFER, "transfer %u", transfer->id); - - return transfer->id; -} - -guint g_obex_get_req(GObex *obex, GObexDataConsumer data_func, - GObexFunc complete_func, gpointer user_data, - GError **err, guint8 first_hdr_id, ...) -{ - struct transfer *transfer; - GObexPacket *req; - va_list args; - - g_obex_debug(G_OBEX_DEBUG_TRANSFER, "obex %p", obex); - - transfer = transfer_new(obex, G_OBEX_OP_GET, complete_func, user_data); - transfer->data_consumer = data_func; - - va_start(args, first_hdr_id); - req = g_obex_packet_new_valist(G_OBEX_OP_GET, TRUE, - first_hdr_id, args); - va_end(args); - - transfer->req_id = g_obex_send_req(obex, req, FIRST_PACKET_TIMEOUT, - transfer_response, transfer, err); - if (transfer->req_id == 0) { - transfer_free(transfer); - return 0; - } - - g_obex_debug(G_OBEX_DEBUG_TRANSFER, "transfer %u", transfer->id); - - return transfer->id; -} - -static gssize get_get_data(void *buf, gsize len, gpointer user_data) -{ - struct transfer *transfer = user_data; - GObexPacket *req, *rsp; - GError *err = NULL; - gssize ret; - guint8 op; - - g_obex_debug(G_OBEX_DEBUG_TRANSFER, "transfer %u", transfer->id); - - ret = transfer->data_producer(buf, len, transfer->user_data); - if (ret > 0) { - if (!g_obex_srm_active(transfer->obex)) - return ret; - - /* Generate next response */ - rsp = g_obex_packet_new(G_OBEX_RSP_CONTINUE, TRUE, - G_OBEX_HDR_INVALID); - g_obex_packet_add_body(rsp, get_get_data, transfer); - - if (!g_obex_send(transfer->obex, rsp, &err)) { - transfer_complete(transfer, err); - g_error_free(err); - } - - return ret; - } - - if (ret == -EAGAIN) - return ret; - - if (ret == 0) { - transfer_complete(transfer, NULL); - return ret; - } - - op = g_obex_errno_to_rsp(ret); - - req = g_obex_packet_new(op, TRUE, G_OBEX_HDR_INVALID); - g_obex_send(transfer->obex, req, NULL); - - err = g_error_new(G_OBEX_ERROR, G_OBEX_ERROR_CANCELLED, - "Data producer function failed"); - g_obex_debug(G_OBEX_DEBUG_ERROR, "%s", err->message); - transfer_complete(transfer, err); - g_error_free(err); - - return ret; -} - -static void transfer_get_req_first(struct transfer *transfer, GObexPacket *rsp) -{ - GError *err = NULL; - - g_obex_debug(G_OBEX_DEBUG_TRANSFER, "transfer %u", transfer->id); - - g_obex_packet_add_body(rsp, get_get_data, transfer); - - if (!g_obex_send(transfer->obex, rsp, &err)) { - transfer_complete(transfer, err); - g_error_free(err); - } -} - -static void transfer_get_req(GObex *obex, GObexPacket *req, gpointer user_data) -{ - struct transfer *transfer = user_data; - GError *err = NULL; - GObexPacket *rsp; - - g_obex_debug(G_OBEX_DEBUG_TRANSFER, "transfer %u", transfer->id); - - rsp = g_obex_packet_new(G_OBEX_RSP_CONTINUE, TRUE, G_OBEX_HDR_INVALID); - g_obex_packet_add_body(rsp, get_get_data, transfer); - - if (!g_obex_send(obex, rsp, &err)) { - transfer_complete(transfer, err); - g_error_free(err); - } -} - -guint g_obex_get_rsp_pkt(GObex *obex, GObexPacket *rsp, - GObexDataProducer data_func, GObexFunc complete_func, - gpointer user_data, GError **err) -{ - struct transfer *transfer; - guint id; - - g_obex_debug(G_OBEX_DEBUG_TRANSFER, "obex %p", obex); - - transfer = transfer_new(obex, G_OBEX_OP_GET, complete_func, user_data); - transfer->data_producer = data_func; - - transfer_get_req_first(transfer, rsp); - - if (!g_slist_find(transfers, transfer)) - return 0; - - id = g_obex_add_request_function(obex, G_OBEX_OP_GET, transfer_get_req, - transfer); - transfer->get_id = id; - - id = g_obex_add_request_function(obex, G_OBEX_OP_ABORT, - transfer_abort_req, transfer); - transfer->abort_id = id; - - g_obex_debug(G_OBEX_DEBUG_TRANSFER, "transfer %u", transfer->id); - - return transfer->id; -} - -guint g_obex_get_rsp(GObex *obex, GObexDataProducer data_func, - GObexFunc complete_func, gpointer user_data, - GError **err, guint8 first_hdr_id, ...) -{ - GObexPacket *rsp; - va_list args; - - g_obex_debug(G_OBEX_DEBUG_TRANSFER, "obex %p", obex); - - va_start(args, first_hdr_id); - rsp = g_obex_packet_new_valist(G_OBEX_RSP_CONTINUE, TRUE, - first_hdr_id, args); - va_end(args); - - return g_obex_get_rsp_pkt(obex, rsp, data_func, complete_func, - user_data, err); -} - -gboolean g_obex_cancel_transfer(guint id, GObexFunc complete_func, - gpointer user_data) -{ - struct transfer *transfer = NULL; - gboolean ret = TRUE; - - g_obex_debug(G_OBEX_DEBUG_TRANSFER, "transfer %u", id); - - transfer = find_transfer(id); - - if (transfer == NULL) - return FALSE; - - if (complete_func == NULL) - goto done; - - transfer->complete_func = complete_func; - transfer->user_data = user_data; - - ret = g_obex_pending_req_abort(transfer->obex, NULL); - if (ret) - return TRUE; - -done: - transfer_free(transfer); - return ret; -} diff --git a/GRIB_BLE_HUB/libs/ble_extend/gobex/gobex.c b/GRIB_BLE_HUB/libs/ble_extend/gobex/gobex.c deleted file mode 100644 index ce4f284..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/gobex/gobex.c +++ /dev/null @@ -1,1506 +0,0 @@ -/* - * - * OBEX library with GLib integration - * - * Copyright (C) 2011 Intel Corporation. All rights reserved. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -# include "config.h" -#endif - -#include -#include -#include - -#include "gobex.h" -#include "gobex-debug.h" - -#define G_OBEX_DEFAULT_MTU 4096 -#define G_OBEX_MINIMUM_MTU 255 -#define G_OBEX_MAXIMUM_MTU 65535 - -#define G_OBEX_DEFAULT_TIMEOUT 10 -#define G_OBEX_ABORT_TIMEOUT 5 - -#define G_OBEX_OP_NONE 0xff - -#define FINAL_BIT 0x80 - -#define CONNID_INVALID 0xffffffff - -guint gobex_debug = 0; - -struct srm_config { - guint8 op; - gboolean enabled; - guint8 srm; - guint8 srmp; - gboolean outgoing; -}; - -struct _GObex { - gint ref_count; - GIOChannel *io; - guint io_source; - - gboolean (*read) (GObex *obex, GError **err); - gboolean (*write) (GObex *obex, GError **err); - - guint8 *rx_buf; - size_t rx_data; - guint16 rx_pkt_len; - guint8 rx_last_op; - - guint8 *tx_buf; - size_t tx_data; - size_t tx_sent; - - gboolean suspended; - gboolean use_srm; - - struct srm_config *srm; - - guint write_source; - - gssize io_rx_mtu; - gssize io_tx_mtu; - - guint16 rx_mtu; - guint16 tx_mtu; - - guint32 conn_id; - - GQueue *tx_queue; - - GSList *req_handlers; - - GObexFunc disconn_func; - gpointer disconn_func_data; - - struct pending_pkt *pending_req; -}; - -struct pending_pkt { - guint id; - GObex *obex; - GObexPacket *pkt; - guint timeout; - guint timeout_id; - GObexResponseFunc rsp_func; - gpointer rsp_data; - gboolean cancelled; -}; - -struct req_handler { - guint id; - guint8 opcode; - GObexRequestFunc func; - gpointer user_data; -}; - -struct connect_data { - guint8 version; - guint8 flags; - guint16 mtu; -} __attribute__ ((packed)); - -struct setpath_data { - guint8 flags; - guint8 constants; -} __attribute__ ((packed)); - -static struct error_code { - guint8 code; - const char *name; -} obex_errors[] = { - { G_OBEX_RSP_CONTINUE, "Continue" }, - { G_OBEX_RSP_SUCCESS, "Success" }, - { G_OBEX_RSP_CREATED, "Created" }, - { G_OBEX_RSP_ACCEPTED, "Accepted" }, - { G_OBEX_RSP_NON_AUTHORITATIVE, "Non Authoritative" }, - { G_OBEX_RSP_NO_CONTENT, "No Content" }, - { G_OBEX_RSP_RESET_CONTENT, "Reset Content" }, - { G_OBEX_RSP_PARTIAL_CONTENT, "Partial Content" }, - { G_OBEX_RSP_MULTIPLE_CHOICES, "Multiple Choices" }, - { G_OBEX_RSP_MOVED_PERMANENTLY, "Moved Permanently" }, - { G_OBEX_RSP_MOVED_TEMPORARILY, "Moved Temporarily" }, - { G_OBEX_RSP_SEE_OTHER, "See Other" }, - { G_OBEX_RSP_NOT_MODIFIED, "Not Modified" }, - { G_OBEX_RSP_USE_PROXY, "Use Proxy" }, - { G_OBEX_RSP_BAD_REQUEST, "Bad Request" }, - { G_OBEX_RSP_UNAUTHORIZED, "Unauthorized" }, - { G_OBEX_RSP_PAYMENT_REQUIRED, "Payment Required" }, - { G_OBEX_RSP_FORBIDDEN, "Forbidden" }, - { G_OBEX_RSP_NOT_FOUND, "Not Found" }, - { G_OBEX_RSP_METHOD_NOT_ALLOWED, "Method Not Allowed" }, - { G_OBEX_RSP_NOT_ACCEPTABLE, "Not Acceptable" }, - { G_OBEX_RSP_PROXY_AUTH_REQUIRED, "Proxy Authentication Required" }, - { G_OBEX_RSP_REQUEST_TIME_OUT, "Request Time Out" }, - { G_OBEX_RSP_CONFLICT, "Conflict" }, - { G_OBEX_RSP_GONE, "Gone" }, - { G_OBEX_RSP_LENGTH_REQUIRED, "Length Required" }, - { G_OBEX_RSP_PRECONDITION_FAILED, "Precondition Failed" }, - { G_OBEX_RSP_REQ_ENTITY_TOO_LARGE, "Request Entity Too Large" }, - { G_OBEX_RSP_REQ_URL_TOO_LARGE, "Request URL Too Large" }, - { G_OBEX_RSP_UNSUPPORTED_MEDIA_TYPE, "Unsupported Media Type" }, - { G_OBEX_RSP_INTERNAL_SERVER_ERROR, "Internal Server Error" }, - { G_OBEX_RSP_NOT_IMPLEMENTED, "Not Implemented" }, - { G_OBEX_RSP_BAD_GATEWAY, "Bad Gateway" }, - { G_OBEX_RSP_SERVICE_UNAVAILABLE, "Service Unavailable" }, - { G_OBEX_RSP_GATEWAY_TIMEOUT, "Gateway Timeout" }, - { G_OBEX_RSP_VERSION_NOT_SUPPORTED, "Version Not Supported" }, - { G_OBEX_RSP_DATABASE_FULL, "Database Full" }, - { G_OBEX_RSP_DATABASE_LOCKED, "Database Locked" }, - { 0x00, NULL } -}; - -const char *g_obex_strerror(guint8 err_code) -{ - struct error_code *error; - - for (error = obex_errors; error->name != NULL; error++) { - if (error->code == err_code) - return error->name; - } - - return ""; -} - -static ssize_t req_header_offset(guint8 opcode) -{ - switch (opcode) { - case G_OBEX_OP_CONNECT: - return sizeof(struct connect_data); - case G_OBEX_OP_SETPATH: - return sizeof(struct setpath_data); - case G_OBEX_OP_DISCONNECT: - case G_OBEX_OP_PUT: - case G_OBEX_OP_GET: - case G_OBEX_OP_SESSION: - case G_OBEX_OP_ABORT: - case G_OBEX_OP_ACTION: - return 0; - default: - return -1; - } -} - -static ssize_t rsp_header_offset(guint8 opcode) -{ - switch (opcode) { - case G_OBEX_OP_CONNECT: - return sizeof(struct connect_data); - case G_OBEX_OP_SETPATH: - case G_OBEX_OP_DISCONNECT: - case G_OBEX_OP_PUT: - case G_OBEX_OP_GET: - case G_OBEX_OP_SESSION: - case G_OBEX_OP_ABORT: - case G_OBEX_OP_ACTION: - return 0; - default: - return -1; - } -} - -static void pending_pkt_free(struct pending_pkt *p) -{ - if (p->obex != NULL) - g_obex_unref(p->obex); - - if (p->timeout_id > 0) - g_source_remove(p->timeout_id); - - g_obex_packet_free(p->pkt); - - g_free(p); -} - -static gboolean req_timeout(gpointer user_data) -{ - GObex *obex = user_data; - struct pending_pkt *p = obex->pending_req; - GError *err; - - g_assert(p != NULL); - - obex->pending_req = NULL; - - err = g_error_new(G_OBEX_ERROR, G_OBEX_ERROR_TIMEOUT, - "Timed out waiting for response"); - - g_obex_debug(G_OBEX_DEBUG_ERROR, "%s", err->message); - - if (p->rsp_func) - p->rsp_func(obex, err, NULL, p->rsp_data); - - g_error_free(err); - pending_pkt_free(p); - - return FALSE; -} - -static gboolean write_stream(GObex *obex, GError **err) -{ - GIOStatus status; - gsize bytes_written; - gchar *buf; - - buf = (gchar *) &obex->tx_buf[obex->tx_sent]; - status = g_io_channel_write_chars(obex->io, buf, obex->tx_data, - &bytes_written, err); - if (status != G_IO_STATUS_NORMAL) - return FALSE; - - g_obex_dump(G_OBEX_DEBUG_DATA, "<", buf, bytes_written); - - obex->tx_sent += bytes_written; - obex->tx_data -= bytes_written; - - return TRUE; -} - -static gboolean write_packet(GObex *obex, GError **err) -{ - GIOStatus status; - gsize bytes_written; - gchar *buf; - - buf = (gchar *) &obex->tx_buf[obex->tx_sent]; - status = g_io_channel_write_chars(obex->io, buf, obex->tx_data, - &bytes_written, err); - if (status != G_IO_STATUS_NORMAL) - return FALSE; - - if (bytes_written != obex->tx_data) - return FALSE; - - g_obex_dump(G_OBEX_DEBUG_DATA, "<", buf, bytes_written); - - obex->tx_sent += bytes_written; - obex->tx_data -= bytes_written; - - return TRUE; -} - -static void set_srmp(GObex *obex, guint8 srmp, gboolean outgoing) -{ - struct srm_config *config = obex->srm; - - if (config == NULL) - return; - - /* Dont't reset if direction doesn't match */ - if (srmp > G_OBEX_SRMP_NEXT_WAIT && config->outgoing != outgoing) - return; - - config->srmp = srmp; - config->outgoing = outgoing; -} - -static void set_srm(GObex *obex, guint8 op, guint8 srm) -{ - struct srm_config *config = obex->srm; - gboolean enable; - - if (config == NULL) { - if (srm == G_OBEX_SRM_DISABLE) - return; - - config = g_new0(struct srm_config, 1); - config->op = op; - config->srm = srm; - obex->srm = config; - return; - } - - /* Indicate response, treat it as request */ - if (config->srm == G_OBEX_SRM_INDICATE) { - if (srm != G_OBEX_SRM_ENABLE) - goto done; - config->srm = srm; - return; - } - - enable = (srm == G_OBEX_SRM_ENABLE); - if (config->enabled == enable) - goto done; - - config->enabled = enable; - - g_obex_debug(G_OBEX_DEBUG_COMMAND, "SRM %s", config->enabled ? - "Enabled" : "Disabled"); - -done: - if (config->enabled) - return; - - g_free(obex->srm); - obex->srm = NULL; -} - -static void check_srm_final(GObex *obex, guint8 op) -{ - if (obex->srm == NULL || !obex->srm->enabled) - return; - - switch (obex->srm->op) { - case G_OBEX_OP_CONNECT: - return; - default: - if (op <= G_OBEX_RSP_CONTINUE) - return; - } - - set_srm(obex, op, G_OBEX_SRM_DISABLE); -} - -static void setup_srm(GObex *obex, GObexPacket *pkt, gboolean outgoing) -{ - GObexHeader *hdr; - guint8 op; - gboolean final; - - if (!obex->use_srm) - return; - - op = g_obex_packet_get_operation(pkt, &final); - - hdr = g_obex_packet_get_header(pkt, G_OBEX_HDR_SRM); - if (hdr != NULL) { - guint8 srm; - g_obex_header_get_uint8(hdr, &srm); - g_obex_debug(G_OBEX_DEBUG_COMMAND, "srm 0x%02x", srm); - set_srm(obex, op, srm); - } - - hdr = g_obex_packet_get_header(pkt, G_OBEX_HDR_SRMP); - if (hdr != NULL) { - guint8 srmp; - g_obex_header_get_uint8(hdr, &srmp); - g_obex_debug(G_OBEX_DEBUG_COMMAND, "srmp 0x%02x", srmp); - set_srmp(obex, srmp, outgoing); - } else - set_srmp(obex, -1, outgoing); - - if (final) - check_srm_final(obex, op); -} - -static gboolean write_data(GIOChannel *io, GIOCondition cond, - gpointer user_data) -{ - GObex *obex = user_data; - - if (cond & G_IO_NVAL) - return FALSE; - - if (cond & (G_IO_HUP | G_IO_ERR)) - goto stop_tx; - - if (obex->tx_data == 0) { - struct pending_pkt *p = g_queue_pop_head(obex->tx_queue); - ssize_t len; - - if (p == NULL) - goto stop_tx; - - setup_srm(obex, p->pkt, TRUE); - - if (g_obex_srm_active(obex)) - goto encode; - - /* Can't send a request while there's a pending one */ - if (obex->pending_req && p->id > 0) { - g_queue_push_head(obex->tx_queue, p); - goto stop_tx; - } - -encode: - len = g_obex_packet_encode(p->pkt, obex->tx_buf, obex->tx_mtu); - if (len == -EAGAIN) { - g_queue_push_head(obex->tx_queue, p); - g_obex_suspend(obex); - goto stop_tx; - } - - if (len < 0) { - pending_pkt_free(p); - goto done; - } - - if (p->id > 0) { - if (obex->pending_req != NULL) - pending_pkt_free(obex->pending_req); - obex->pending_req = p; - p->timeout_id = g_timeout_add_seconds(p->timeout, - req_timeout, obex); - } else { - /* During packet encode final bit can be set */ - if (obex->tx_buf[0] & FINAL_BIT) - check_srm_final(obex, - obex->tx_buf[0] & ~FINAL_BIT); - pending_pkt_free(p); - } - - obex->tx_data = len; - obex->tx_sent = 0; - } - - if (obex->suspended) { - obex->write_source = 0; - return FALSE; - } - - if (!obex->write(obex, NULL)) - goto stop_tx; - -done: - if (obex->tx_data > 0 || g_queue_get_length(obex->tx_queue) > 0) - return TRUE; - -stop_tx: - obex->rx_last_op = G_OBEX_OP_NONE; - obex->tx_data = 0; - obex->write_source = 0; - return FALSE; -} - -static void enable_tx(GObex *obex) -{ - GIOCondition cond; - - if (obex->suspended) - return; - - if (obex->write_source > 0) - return; - - cond = G_IO_OUT | G_IO_HUP | G_IO_ERR | G_IO_NVAL; - obex->write_source = g_io_add_watch(obex->io, cond, write_data, obex); -} - -static gboolean g_obex_send_internal(GObex *obex, struct pending_pkt *p, - GError **err) -{ - - if (obex->io == NULL) { - g_set_error(err, G_OBEX_ERROR, G_OBEX_ERROR_DISCONNECTED, - "The transport is not connected"); - g_obex_debug(G_OBEX_DEBUG_ERROR, "%s", (*err)->message); - return FALSE; - } - - if (g_obex_packet_get_operation(p->pkt, NULL) == G_OBEX_OP_ABORT) - g_queue_push_head(obex->tx_queue, p); - else - g_queue_push_tail(obex->tx_queue, p); - - if (obex->pending_req == NULL || p->id == 0) - enable_tx(obex); - - return TRUE; -} - -static void init_connect_data(GObex *obex, struct connect_data *data) -{ - guint16 u16; - - memset(data, 0, sizeof(*data)); - - data->version = 0x10; - data->flags = 0; - - u16 = g_htons(obex->rx_mtu); - memcpy(&data->mtu, &u16, sizeof(u16)); -} - -static void prepare_connect_rsp(GObex *obex, GObexPacket *rsp) -{ - GObexHeader *connid; - struct connect_data data; - static guint32 next_connid = 1; - - init_connect_data(obex, &data); - g_obex_packet_set_data(rsp, &data, sizeof(data), G_OBEX_DATA_COPY); - - connid = g_obex_packet_get_header(rsp, G_OBEX_HDR_CONNECTION); - if (connid != NULL) { - g_obex_header_get_uint32(connid, &obex->conn_id); - return; - } - - obex->conn_id = next_connid++; - - connid = g_obex_header_new_uint32(G_OBEX_HDR_CONNECTION, - obex->conn_id); - g_obex_packet_prepend_header(rsp, connid); -} - -static void prepare_srm_rsp(GObex *obex, GObexPacket *pkt) -{ - GObexHeader *hdr; - - if (!obex->use_srm || obex->srm == NULL) - return; - - if (obex->srm->enabled) - return; - - hdr = g_obex_packet_get_header(pkt, G_OBEX_HDR_SRM); - if (hdr != NULL) - return; - - hdr = g_obex_header_new_uint8(G_OBEX_HDR_SRM, G_OBEX_SRM_ENABLE); - g_obex_packet_prepend_header(pkt, hdr); -} - -gboolean g_obex_send(GObex *obex, GObexPacket *pkt, GError **err) -{ - struct pending_pkt *p; - gboolean ret; - - g_obex_debug(G_OBEX_DEBUG_COMMAND, "conn %u", obex->conn_id); - - if (obex == NULL || pkt == NULL) { - g_set_error(err, G_OBEX_ERROR, G_OBEX_ERROR_INVALID_ARGS, - "Invalid arguments"); - g_obex_debug(G_OBEX_DEBUG_ERROR, "%s", (*err)->message); - return FALSE; - } - - switch (obex->rx_last_op) { - case G_OBEX_OP_CONNECT: - prepare_connect_rsp(obex, pkt); - break; - case G_OBEX_OP_GET: - case G_OBEX_OP_PUT: - prepare_srm_rsp(obex, pkt); - break; - } - - p = g_new0(struct pending_pkt, 1); - p->pkt = pkt; - - ret = g_obex_send_internal(obex, p, err); - if (ret == FALSE) - pending_pkt_free(p); - - return ret; -} - -static void prepare_srm_req(GObex *obex, GObexPacket *pkt) -{ - GObexHeader *hdr; - - if (!obex->use_srm) - return; - - if (obex->srm != NULL && obex->srm->enabled) - return; - - hdr = g_obex_packet_get_header(pkt, G_OBEX_HDR_SRM); - if (hdr != NULL) - return; - - hdr = g_obex_header_new_uint8(G_OBEX_HDR_SRM, G_OBEX_SRM_ENABLE); - g_obex_packet_prepend_header(pkt, hdr); -} - -guint g_obex_send_req(GObex *obex, GObexPacket *req, gint timeout, - GObexResponseFunc func, gpointer user_data, - GError **err) -{ - GObexHeader *hdr; - struct pending_pkt *p; - static guint id = 1; - guint8 op; - - g_obex_debug(G_OBEX_DEBUG_COMMAND, "conn %u", obex->conn_id); - - op = g_obex_packet_get_operation(req, NULL); - if (op == G_OBEX_OP_PUT || op == G_OBEX_OP_GET) { - /* Only enable SRM automatically for GET and PUT */ - prepare_srm_req(obex, req); - } - - if (obex->conn_id == CONNID_INVALID) - goto create_pending; - - if (obex->rx_last_op == G_OBEX_RSP_CONTINUE) - goto create_pending; - - if (g_obex_srm_active(obex) && obex->pending_req != NULL) - goto create_pending; - - hdr = g_obex_packet_get_header(req, G_OBEX_HDR_CONNECTION); - if (hdr != NULL) - goto create_pending; - - hdr = g_obex_header_new_uint32(G_OBEX_HDR_CONNECTION, obex->conn_id); - g_obex_packet_prepend_header(req, hdr); - -create_pending: - p = g_new0(struct pending_pkt, 1); - - p->pkt = req; - p->id = id++; - p->rsp_func = func; - p->rsp_data = user_data; - - if (timeout < 0) - p->timeout = G_OBEX_DEFAULT_TIMEOUT; - else - p->timeout = timeout; - - if (!g_obex_send_internal(obex, p, err)) { - pending_pkt_free(p); - return 0; - } - - return p->id; -} - -static gint pending_pkt_cmp(gconstpointer a, gconstpointer b) -{ - const struct pending_pkt *p = a; - guint id = GPOINTER_TO_UINT(b); - - return (p->id - id); -} - -gboolean g_obex_pending_req_abort(GObex *obex, GError **err) -{ - struct pending_pkt *p = obex->pending_req; - GObexPacket *req; - - if (p->cancelled) - return TRUE; - - p->cancelled = TRUE; - - g_source_remove(p->timeout_id); - p->timeout = G_OBEX_ABORT_TIMEOUT; - p->timeout_id = g_timeout_add_seconds(p->timeout, req_timeout, obex); - - req = g_obex_packet_new(G_OBEX_OP_ABORT, TRUE, G_OBEX_HDR_INVALID); - - return g_obex_send(obex, req, err); -} - -static gboolean cancel_complete(gpointer user_data) -{ - struct pending_pkt *p = user_data; - GObex *obex = p->obex; - GError *err; - - g_assert(p->rsp_func != NULL); - - err = g_error_new(G_OBEX_ERROR, G_OBEX_ERROR_CANCELLED, - "The request was cancelled"); - p->rsp_func(obex, err, NULL, p->rsp_data); - - g_error_free(err); - - pending_pkt_free(p); - - return FALSE; -} - -gboolean g_obex_cancel_req(GObex *obex, guint req_id, gboolean remove_callback) -{ - GList *match; - struct pending_pkt *p; - - if (obex->pending_req && obex->pending_req->id == req_id) { - if (!g_obex_pending_req_abort(obex, NULL)) { - p = obex->pending_req; - obex->pending_req = NULL; - goto immediate_completion; - } - - if (remove_callback) - obex->pending_req->rsp_func = NULL; - - return TRUE; - } - - match = g_queue_find_custom(obex->tx_queue, GUINT_TO_POINTER(req_id), - pending_pkt_cmp); - if (match == NULL) - return FALSE; - - p = match->data; - - g_queue_delete_link(obex->tx_queue, match); - -immediate_completion: - p->cancelled = TRUE; - p->obex = g_obex_ref(obex); - - if (remove_callback || p->rsp_func == NULL) - pending_pkt_free(p); - else - g_idle_add(cancel_complete, p); - - return TRUE; -} - -gboolean g_obex_send_rsp(GObex *obex, guint8 rspcode, GError **err, - guint8 first_hdr_type, ...) -{ - GObexPacket *rsp; - va_list args; - - va_start(args, first_hdr_type); - rsp = g_obex_packet_new_valist(rspcode, TRUE, first_hdr_type, args); - va_end(args); - - return g_obex_send(obex, rsp, err); -} - -void g_obex_set_disconnect_function(GObex *obex, GObexFunc func, - gpointer user_data) -{ - obex->disconn_func = func; - obex->disconn_func_data = user_data; -} - -static gint req_handler_cmpop(gconstpointer a, gconstpointer b) -{ - const struct req_handler *handler = a; - guint opcode = GPOINTER_TO_UINT(b); - - return (gint) handler->opcode - (gint) opcode; -} - -static gint req_handler_cmpid(gconstpointer a, gconstpointer b) -{ - const struct req_handler *handler = a; - guint id = GPOINTER_TO_UINT(b); - - return (gint) handler->id - (gint) id; -} - -guint g_obex_add_request_function(GObex *obex, guint8 opcode, - GObexRequestFunc func, - gpointer user_data) -{ - struct req_handler *handler; - static guint next_id = 1; - - handler = g_new0(struct req_handler, 1); - handler->id = next_id++; - handler->opcode = opcode; - handler->func = func; - handler->user_data = user_data; - - obex->req_handlers = g_slist_prepend(obex->req_handlers, handler); - - return handler->id; -} - -gboolean g_obex_remove_request_function(GObex *obex, guint id) -{ - struct req_handler *handler; - GSList *match; - - match = g_slist_find_custom(obex->req_handlers, GUINT_TO_POINTER(id), - req_handler_cmpid); - if (match == NULL) - return FALSE; - - handler = match->data; - - obex->req_handlers = g_slist_delete_link(obex->req_handlers, match); - g_free(handler); - - return TRUE; -} - -void g_obex_suspend(GObex *obex) -{ - g_obex_debug(G_OBEX_DEBUG_COMMAND, "conn %u", obex->conn_id); - - if (obex->write_source > 0) { - g_source_remove(obex->write_source); - obex->write_source = 0; - } - - obex->suspended = TRUE; -} - -void g_obex_resume(GObex *obex) -{ - g_obex_debug(G_OBEX_DEBUG_COMMAND, "conn %u", obex->conn_id); - - obex->suspended = FALSE; - - if (g_queue_get_length(obex->tx_queue) > 0 || obex->tx_data > 0) - enable_tx(obex); -} - -gboolean g_obex_srm_active(GObex *obex) -{ - gboolean ret = FALSE; - - if (!obex->use_srm) - return FALSE; - - if (obex->srm == NULL || !obex->srm->enabled) - goto done; - - if (obex->srm->srmp <= G_OBEX_SRMP_NEXT_WAIT) - goto done; - - ret = TRUE; -done: - g_obex_debug(G_OBEX_DEBUG_COMMAND, "%s", ret ? "yes" : "no"); - return ret; -} - -static void parse_connect_data(GObex *obex, GObexPacket *pkt) -{ - const struct connect_data *data; - GObexHeader *connid; - guint16 u16; - size_t data_len; - - data = g_obex_packet_get_data(pkt, &data_len); - if (data == NULL || data_len != sizeof(*data)) - return; - - memcpy(&u16, &data->mtu, sizeof(u16)); - - obex->tx_mtu = g_ntohs(u16); - if (obex->io_tx_mtu > 0 && obex->tx_mtu > obex->io_tx_mtu) - obex->tx_mtu = obex->io_tx_mtu; - obex->tx_buf = g_realloc(obex->tx_buf, obex->tx_mtu); - - connid = g_obex_packet_get_header(pkt, G_OBEX_HDR_CONNECTION); - if (connid != NULL) - g_obex_header_get_uint32(connid, &obex->conn_id); -} - -static gboolean parse_response(GObex *obex, GObexPacket *rsp) -{ - struct pending_pkt *p = obex->pending_req; - guint8 opcode, rspcode; - gboolean final; - - rspcode = g_obex_packet_get_operation(rsp, &final); - - opcode = g_obex_packet_get_operation(p->pkt, NULL); - if (opcode == G_OBEX_OP_CONNECT) - parse_connect_data(obex, rsp); - - setup_srm(obex, rsp, FALSE); - - if (!g_obex_srm_active(obex)) - return final; - - /* - * Resposes have final bit set but in case of GET with SRM - * we should not remove the request since the remote side will - * continue sending responses until the transfer is finished - */ - if (opcode == G_OBEX_OP_GET && rspcode == G_OBEX_RSP_CONTINUE) { - g_source_remove(p->timeout_id); - p->timeout_id = g_timeout_add_seconds(p->timeout, req_timeout, - obex); - return FALSE; - } - - return final; -} - -static void handle_response(GObex *obex, GError *err, GObexPacket *rsp) -{ - struct pending_pkt *p = obex->pending_req; - gboolean disconn = err ? TRUE : FALSE, final_rsp = TRUE; - - if (rsp != NULL) - final_rsp = parse_response(obex, rsp); - - if (p->cancelled) - err = g_error_new(G_OBEX_ERROR, G_OBEX_ERROR_CANCELLED, - "The operation was cancelled"); - - if (err) - g_obex_debug(G_OBEX_DEBUG_ERROR, "%s", err->message); - - if (p->rsp_func) { - p->rsp_func(obex, err, rsp, p->rsp_data); - - /* Check if user callback removed the request */ - if (p != obex->pending_req) - return; - } - - if (p->cancelled) - g_error_free(err); - - if (final_rsp) { - pending_pkt_free(p); - obex->pending_req = NULL; - } - - if (!disconn && g_queue_get_length(obex->tx_queue) > 0) - enable_tx(obex); -} - -static gboolean check_connid(GObex *obex, GObexPacket *pkt) -{ - GObexHeader *hdr; - guint32 id; - - if (obex->conn_id == CONNID_INVALID) - return TRUE; - - hdr = g_obex_packet_get_header(pkt, G_OBEX_HDR_CONNECTION); - if (hdr == NULL) - return TRUE; - - g_obex_header_get_uint32(hdr, &id); - - return obex->conn_id == id; -} - -static int parse_request(GObex *obex, GObexPacket *req) -{ - guint8 op; - gboolean final; - - op = g_obex_packet_get_operation(req, &final); - switch (op) { - case G_OBEX_OP_CONNECT: - parse_connect_data(obex, req); - break; - case G_OBEX_OP_ABORT: - break; - default: - if (check_connid(obex, req)) - break; - - return -G_OBEX_RSP_SERVICE_UNAVAILABLE; - } - - setup_srm(obex, req, FALSE); - - return op; -} - -static void handle_request(GObex *obex, GObexPacket *req) -{ - GSList *match; - int op; - - op = parse_request(obex, req); - if (op < 0) - goto fail; - - match = g_slist_find_custom(obex->req_handlers, GUINT_TO_POINTER(op), - req_handler_cmpop); - if (match) { - struct req_handler *handler = match->data; - handler->func(obex, req, handler->user_data); - return; - } - - op = -G_OBEX_RSP_NOT_IMPLEMENTED; - -fail: - g_obex_debug(G_OBEX_DEBUG_ERROR, "%s", g_obex_strerror(-op)); - g_obex_send_rsp(obex, -op, NULL, G_OBEX_HDR_INVALID); -} - -static gboolean read_stream(GObex *obex, GError **err) -{ - GIOChannel *io = obex->io; - GIOStatus status; - gsize rbytes, toread; - guint16 u16; - gchar *buf; - - if (obex->rx_data >= 3) - goto read_body; - - rbytes = 0; - toread = 3 - obex->rx_data; - buf = (gchar *) &obex->rx_buf[obex->rx_data]; - - status = g_io_channel_read_chars(io, buf, toread, &rbytes, NULL); - if (status != G_IO_STATUS_NORMAL) - return TRUE; - - obex->rx_data += rbytes; - if (obex->rx_data < 3) - goto done; - - memcpy(&u16, &buf[1], sizeof(u16)); - obex->rx_pkt_len = g_ntohs(u16); - - if (obex->rx_pkt_len > obex->rx_mtu) { - g_set_error(err, G_OBEX_ERROR, G_OBEX_ERROR_PARSE_ERROR, - "Too big incoming packet"); - g_obex_debug(G_OBEX_DEBUG_ERROR, "%s", (*err)->message); - return FALSE; - } - -read_body: - if (obex->rx_data >= obex->rx_pkt_len) - goto done; - - do { - toread = obex->rx_pkt_len - obex->rx_data; - buf = (gchar *) &obex->rx_buf[obex->rx_data]; - - status = g_io_channel_read_chars(io, buf, toread, &rbytes, NULL); - if (status != G_IO_STATUS_NORMAL) - goto done; - - obex->rx_data += rbytes; - } while (rbytes > 0 && obex->rx_data < obex->rx_pkt_len); - -done: - g_obex_dump(G_OBEX_DEBUG_DATA, ">", obex->rx_buf, obex->rx_data); - - return TRUE; -} - -static gboolean read_packet(GObex *obex, GError **err) -{ - GIOChannel *io = obex->io; - GError *read_err = NULL; - GIOStatus status; - gsize rbytes; - guint16 u16; - - if (obex->rx_data > 0) { - g_set_error(err, G_OBEX_ERROR, G_OBEX_ERROR_PARSE_ERROR, - "RX buffer not empty before reading packet"); - goto fail; - } - - status = g_io_channel_read_chars(io, (gchar *) obex->rx_buf, - obex->rx_mtu, &rbytes, &read_err); - if (status != G_IO_STATUS_NORMAL) { - g_set_error(err, G_OBEX_ERROR, G_OBEX_ERROR_PARSE_ERROR, - "Unable to read data: %s", read_err->message); - g_error_free(read_err); - goto fail; - } - - obex->rx_data += rbytes; - - if (rbytes < 3) { - g_set_error(err, G_OBEX_ERROR, G_OBEX_ERROR_PARSE_ERROR, - "Incomplete packet received"); - goto fail; - } - - memcpy(&u16, &obex->rx_buf[1], sizeof(u16)); - obex->rx_pkt_len = g_ntohs(u16); - - if (obex->rx_pkt_len != rbytes) { - g_set_error(err, G_OBEX_ERROR, G_OBEX_ERROR_PARSE_ERROR, - "Data size doesn't match packet size (%zu != %u)", - rbytes, obex->rx_pkt_len); - return FALSE; - } - - g_obex_dump(G_OBEX_DEBUG_DATA, ">", obex->rx_buf, obex->rx_data); - - return TRUE; -fail: - g_obex_debug(G_OBEX_DEBUG_ERROR, "%s", (*err)->message); - return FALSE; -} - -static gboolean incoming_data(GIOChannel *io, GIOCondition cond, - gpointer user_data) -{ - GObex *obex = user_data; - GObexPacket *pkt; - ssize_t header_offset; - GError *err = NULL; - guint8 opcode; - - if (cond & G_IO_NVAL) - return FALSE; - - if (cond & (G_IO_HUP | G_IO_ERR)) { - err = g_error_new(G_OBEX_ERROR, G_OBEX_ERROR_DISCONNECTED, - "Transport got disconnected"); - goto failed; - } - - if (!obex->read(obex, &err)) - goto failed; - - if (obex->rx_data < 3 || obex->rx_data < obex->rx_pkt_len) - return TRUE; - - obex->rx_last_op = obex->rx_buf[0] & ~FINAL_BIT; - - if (obex->pending_req) { - struct pending_pkt *p = obex->pending_req; - opcode = g_obex_packet_get_operation(p->pkt, NULL); - header_offset = rsp_header_offset(opcode); - } else { - opcode = obex->rx_last_op; - /* Unexpected response -- fail silently */ - if (opcode > 0x1f && opcode != G_OBEX_OP_ABORT) { - obex->rx_data = 0; - return TRUE; - } - header_offset = req_header_offset(opcode); - } - - if (header_offset < 0) { - err = g_error_new(G_OBEX_ERROR, G_OBEX_ERROR_PARSE_ERROR, - "Unknown header offset for opcode 0x%02x", - opcode); - goto failed; - } - - pkt = g_obex_packet_decode(obex->rx_buf, obex->rx_data, header_offset, - G_OBEX_DATA_REF, &err); - if (pkt == NULL) - goto failed; - - /* Protect against user callback freeing the object */ - g_obex_ref(obex); - - if (obex->pending_req) - handle_response(obex, NULL, pkt); - else - handle_request(obex, pkt); - - obex->rx_data = 0; - - g_obex_unref(obex); - - if (err != NULL) - g_error_free(err); - - if (pkt != NULL) - g_obex_packet_free(pkt); - - return TRUE; - -failed: - if (err) - g_obex_debug(G_OBEX_DEBUG_ERROR, "%s", err->message); - - g_io_channel_unref(obex->io); - obex->io = NULL; - obex->io_source = 0; - obex->rx_data = 0; - - /* Protect against user callback freeing the object */ - g_obex_ref(obex); - - if (obex->pending_req) - handle_response(obex, err, NULL); - - if (obex->disconn_func) - obex->disconn_func(obex, err, obex->disconn_func_data); - - g_obex_unref(obex); - - g_error_free(err); - - return FALSE; -} - -static GDebugKey keys[] = { - { "error", G_OBEX_DEBUG_ERROR }, - { "command", G_OBEX_DEBUG_COMMAND }, - { "transfer", G_OBEX_DEBUG_TRANSFER }, - { "header", G_OBEX_DEBUG_HEADER }, - { "packet", G_OBEX_DEBUG_PACKET }, - { "data", G_OBEX_DEBUG_DATA }, - { "apparam", G_OBEX_DEBUG_APPARAM }, -}; - -GObex *g_obex_new(GIOChannel *io, GObexTransportType transport_type, - gssize io_rx_mtu, gssize io_tx_mtu) -{ - GObex *obex; - GIOCondition cond; - - if (gobex_debug == 0) { - const char *env = g_getenv("GOBEX_DEBUG"); - - if (env) { - gobex_debug = g_parse_debug_string(env, keys, 7); - g_setenv("G_MESSAGES_DEBUG", "gobex", FALSE); - } else - gobex_debug = G_OBEX_DEBUG_NONE; - } - - g_obex_debug(G_OBEX_DEBUG_COMMAND, ""); - - if (io == NULL) - return NULL; - - if (io_rx_mtu >= 0 && io_rx_mtu < G_OBEX_MINIMUM_MTU) - return NULL; - - if (io_tx_mtu >= 0 && io_tx_mtu < G_OBEX_MINIMUM_MTU) - return NULL; - - obex = g_new0(GObex, 1); - - obex->io = g_io_channel_ref(io); - obex->ref_count = 1; - obex->conn_id = CONNID_INVALID; - obex->rx_last_op = G_OBEX_OP_NONE; - - obex->io_rx_mtu = io_rx_mtu; - obex->io_tx_mtu = io_tx_mtu; - - if (io_rx_mtu > G_OBEX_MAXIMUM_MTU) - obex->rx_mtu = G_OBEX_MAXIMUM_MTU; - else if (io_rx_mtu < G_OBEX_MINIMUM_MTU) - obex->rx_mtu = G_OBEX_DEFAULT_MTU; - else - obex->rx_mtu = io_rx_mtu; - - obex->tx_mtu = G_OBEX_MINIMUM_MTU; - - obex->tx_queue = g_queue_new(); - obex->rx_buf = g_malloc(obex->rx_mtu); - obex->tx_buf = g_malloc(obex->tx_mtu); - - switch (transport_type) { - case G_OBEX_TRANSPORT_STREAM: - obex->read = read_stream; - obex->write = write_stream; - break; - case G_OBEX_TRANSPORT_PACKET: - obex->use_srm = TRUE; - obex->read = read_packet; - obex->write = write_packet; - break; - default: - g_obex_unref(obex); - return NULL; - } - - g_io_channel_set_encoding(io, NULL, NULL); - g_io_channel_set_buffered(io, FALSE); - cond = G_IO_IN | G_IO_HUP | G_IO_ERR | G_IO_NVAL; - obex->io_source = g_io_add_watch(io, cond, incoming_data, obex); - - return obex; -} - -GObex *g_obex_ref(GObex *obex) -{ - int refs; - - if (obex == NULL) - return NULL; - - refs = __sync_add_and_fetch(&obex->ref_count, 1); - - g_obex_debug(G_OBEX_DEBUG_COMMAND, "ref %u", refs); - - return obex; -} - -void g_obex_unref(GObex *obex) -{ - int refs; - - refs = __sync_sub_and_fetch(&obex->ref_count, 1); - - g_obex_debug(G_OBEX_DEBUG_COMMAND, "ref %u", refs); - - if (refs > 0) - return; - - g_slist_free_full(obex->req_handlers, g_free); - - g_queue_foreach(obex->tx_queue, (GFunc) pending_pkt_free, NULL); - g_queue_free(obex->tx_queue); - - if (obex->io != NULL) - g_io_channel_unref(obex->io); - - if (obex->io_source > 0) - g_source_remove(obex->io_source); - - if (obex->write_source > 0) - g_source_remove(obex->write_source); - - g_free(obex->rx_buf); - g_free(obex->tx_buf); - g_free(obex->srm); - - if (obex->pending_req) - pending_pkt_free(obex->pending_req); - - g_free(obex); -} - -/* Higher level functions */ - -guint g_obex_connect(GObex *obex, GObexResponseFunc func, gpointer user_data, - GError **err, guint8 first_hdr_id, ...) -{ - GObexPacket *req; - struct connect_data data; - va_list args; - - g_obex_debug(G_OBEX_DEBUG_COMMAND, ""); - - va_start(args, first_hdr_id); - req = g_obex_packet_new_valist(G_OBEX_OP_CONNECT, TRUE, - first_hdr_id, args); - va_end(args); - - init_connect_data(obex, &data); - g_obex_packet_set_data(req, &data, sizeof(data), G_OBEX_DATA_COPY); - - return g_obex_send_req(obex, req, -1, func, user_data, err); -} - -guint g_obex_setpath(GObex *obex, const char *path, GObexResponseFunc func, - gpointer user_data, GError **err) -{ - GObexPacket *req; - struct setpath_data data; - const char *folder; - - g_obex_debug(G_OBEX_DEBUG_COMMAND, "conn %u", obex->conn_id); - - req = g_obex_packet_new(G_OBEX_OP_SETPATH, TRUE, G_OBEX_HDR_INVALID); - - memset(&data, 0, sizeof(data)); - - if (path != NULL && strncmp("..", path, 2) == 0) { - data.flags = 0x03; - folder = (path[2] == '/') ? &path[3] : NULL; - } else { - data.flags = 0x02; - folder = path; - } - - if (folder != NULL) { - GObexHeader *hdr; - hdr = g_obex_header_new_unicode(G_OBEX_HDR_NAME, folder); - g_obex_packet_add_header(req, hdr); - } - - g_obex_packet_set_data(req, &data, sizeof(data), G_OBEX_DATA_COPY); - - return g_obex_send_req(obex, req, -1, func, user_data, err); -} - -guint g_obex_mkdir(GObex *obex, const char *path, GObexResponseFunc func, - gpointer user_data, GError **err) -{ - GObexPacket *req; - struct setpath_data data; - - g_obex_debug(G_OBEX_DEBUG_COMMAND, "conn %u", obex->conn_id); - - req = g_obex_packet_new(G_OBEX_OP_SETPATH, TRUE, G_OBEX_HDR_NAME, path, - G_OBEX_HDR_INVALID); - - memset(&data, 0, sizeof(data)); - g_obex_packet_set_data(req, &data, sizeof(data), G_OBEX_DATA_COPY); - - return g_obex_send_req(obex, req, -1, func, user_data, err); -} - -guint g_obex_delete(GObex *obex, const char *name, GObexResponseFunc func, - gpointer user_data, GError **err) -{ - GObexPacket *req; - - g_obex_debug(G_OBEX_DEBUG_COMMAND, "conn %u", obex->conn_id); - - req = g_obex_packet_new(G_OBEX_OP_PUT, TRUE, G_OBEX_HDR_NAME, name, - G_OBEX_HDR_INVALID); - - return g_obex_send_req(obex, req, -1, func, user_data, err); -} - -guint g_obex_copy(GObex *obex, const char *name, const char *dest, - GObexResponseFunc func, gpointer user_data, - GError **err) -{ - GObexPacket *req; - - g_obex_debug(G_OBEX_DEBUG_COMMAND, "conn %u", obex->conn_id); - - req = g_obex_packet_new(G_OBEX_OP_ACTION, TRUE, - G_OBEX_HDR_ACTION, G_OBEX_ACTION_COPY, - G_OBEX_HDR_NAME, name, - G_OBEX_HDR_DESTNAME, dest, - G_OBEX_HDR_INVALID); - - return g_obex_send_req(obex, req, -1, func, user_data, err); -} - -guint g_obex_move(GObex *obex, const char *name, const char *dest, - GObexResponseFunc func, gpointer user_data, - GError **err) -{ - GObexPacket *req; - - g_obex_debug(G_OBEX_DEBUG_COMMAND, "conn %u", obex->conn_id); - - req = g_obex_packet_new(G_OBEX_OP_ACTION, TRUE, - G_OBEX_HDR_ACTION, G_OBEX_ACTION_MOVE, - G_OBEX_HDR_NAME, name, - G_OBEX_HDR_DESTNAME, dest, - G_OBEX_HDR_INVALID); - - return g_obex_send_req(obex, req, -1, func, user_data, err); -} - -guint8 g_obex_errno_to_rsp(int err) -{ - switch (err) { - case 0: - return G_OBEX_RSP_SUCCESS; - case -EPERM: - case -EACCES: - return G_OBEX_RSP_FORBIDDEN; - case -ENOENT: - return G_OBEX_RSP_NOT_FOUND; - case -EINVAL: - case -EBADR: - return G_OBEX_RSP_BAD_REQUEST; - case -EFAULT: - return G_OBEX_RSP_SERVICE_UNAVAILABLE; - case -ENOSYS: - return G_OBEX_RSP_NOT_IMPLEMENTED; - case -ENOTEMPTY: - case -EEXIST: - return G_OBEX_RSP_PRECONDITION_FAILED; - default: - return G_OBEX_RSP_INTERNAL_SERVER_ERROR; - } -} diff --git a/GRIB_BLE_HUB/libs/ble_extend/gobex/gobex.h b/GRIB_BLE_HUB/libs/ble_extend/gobex/gobex.h deleted file mode 100644 index c42c42c..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/gobex/gobex.h +++ /dev/null @@ -1,134 +0,0 @@ -/* - * - * OBEX library with GLib integration - * - * Copyright (C) 2011 Intel Corporation. All rights reserved. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifndef __GOBEX_H -#define __GOBEX_H - -#include -#include - -#include -#include - -typedef enum { - G_OBEX_TRANSPORT_STREAM, - G_OBEX_TRANSPORT_PACKET, -} GObexTransportType; - -typedef struct _GObex GObex; - -typedef void (*GObexFunc) (GObex *obex, GError *err, gpointer user_data); -typedef void (*GObexRequestFunc) (GObex *obex, GObexPacket *req, - gpointer user_data); -typedef void (*GObexResponseFunc) (GObex *obex, GError *err, GObexPacket *rsp, - gpointer user_data); - -gboolean g_obex_send(GObex *obex, GObexPacket *pkt, GError **err); - -guint g_obex_send_req(GObex *obex, GObexPacket *req, gint timeout, - GObexResponseFunc func, gpointer user_data, - GError **err); -gboolean g_obex_cancel_req(GObex *obex, guint req_id, - gboolean remove_callback); - -gboolean g_obex_pending_req_abort(GObex *obex, GError **err); - -gboolean g_obex_send_rsp(GObex *obex, guint8 rspcode, GError **err, - guint8 first_hdr_type, ...); - -void g_obex_set_disconnect_function(GObex *obex, GObexFunc func, - gpointer user_data); -guint g_obex_add_request_function(GObex *obex, guint8 opcode, - GObexRequestFunc func, - gpointer user_data); -gboolean g_obex_remove_request_function(GObex *obex, guint id); - -void g_obex_suspend(GObex *obex); -void g_obex_resume(GObex *obex); -gboolean g_obex_srm_active(GObex *obex); - -GObex *g_obex_new(GIOChannel *io, GObexTransportType transport_type, - gssize rx_mtu, gssize tx_mtu); - -GObex *g_obex_ref(GObex *obex); -void g_obex_unref(GObex *obex); - -/* High level client functions */ - -guint g_obex_connect(GObex *obex, GObexResponseFunc func, gpointer user_data, - GError **err, guint8 first_hdr_id, ...); - -guint g_obex_setpath(GObex *obex, const char *path, GObexResponseFunc func, - gpointer user_data, GError **err); - -guint g_obex_mkdir(GObex *obex, const char *path, GObexResponseFunc func, - gpointer user_data, GError **err); - -guint g_obex_delete(GObex *obex, const char *name, GObexResponseFunc func, - gpointer user_data, GError **err); - -guint g_obex_copy(GObex *obex, const char *name, const char *dest, - GObexResponseFunc func, gpointer user_data, - GError **err); - -guint g_obex_move(GObex *obex, const char *name, const char *dest, - GObexResponseFunc func, gpointer user_data, - GError **err); - -/* Transfer related high-level functions */ - -guint g_obex_put_req(GObex *obex, GObexDataProducer data_func, - GObexFunc complete_func, gpointer user_data, - GError **err, guint8 first_hdr_id, ...); - -guint g_obex_put_req_pkt(GObex *obex, GObexPacket *req, - GObexDataProducer data_func, GObexFunc complete_func, - gpointer user_data, GError **err); - -guint g_obex_get_req(GObex *obex, GObexDataConsumer data_func, - GObexFunc complete_func, gpointer user_data, - GError **err, guint8 first_hdr_id, ...); - -guint g_obex_get_req_pkt(GObex *obex, GObexPacket *req, - GObexDataConsumer data_func, GObexFunc complete_func, - gpointer user_data, GError **err); - -guint g_obex_put_rsp(GObex *obex, GObexPacket *req, - GObexDataConsumer data_func, GObexFunc complete_func, - gpointer user_data, GError **err, - guint8 first_hdr_id, ...); - -guint g_obex_get_rsp(GObex *obex, GObexDataProducer data_func, - GObexFunc complete_func, gpointer user_data, - GError **err, guint8 first_hdr_id, ...); - -guint g_obex_get_rsp_pkt(GObex *obex, GObexPacket *rsp, - GObexDataProducer data_func, GObexFunc complete_func, - gpointer user_data, GError **err); - -gboolean g_obex_cancel_transfer(guint id, GObexFunc complete_func, - gpointer user_data); - -const char *g_obex_strerror(guint8 err_code); -guint8 g_obex_errno_to_rsp(int err); - -#endif /* __GOBEX_H */ diff --git a/GRIB_BLE_HUB/libs/ble_extend/install-sh b/GRIB_BLE_HUB/libs/ble_extend/install-sh deleted file mode 100644 index a9244eb..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/install-sh +++ /dev/null @@ -1,527 +0,0 @@ -#!/bin/sh -# install - install a program, script, or datafile - -scriptversion=2011-01-19.21; # UTC - -# This originates from X11R5 (mit/util/scripts/install.sh), which was -# later released in X11R6 (xc/config/util/install.sh) with the -# following copyright and license. -# -# Copyright (C) 1994 X Consortium -# -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to -# deal in the Software without restriction, including without limitation the -# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or -# sell copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: -# -# The above copyright notice and this permission notice shall be included in -# all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN -# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC- -# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -# -# Except as contained in this notice, the name of the X Consortium shall not -# be used in advertising or otherwise to promote the sale, use or other deal- -# ings in this Software without prior written authorization from the X Consor- -# tium. -# -# -# FSF changes to this file are in the public domain. -# -# Calling this script install-sh is preferred over install.sh, to prevent -# `make' implicit rules from creating a file called install from it -# when there is no Makefile. -# -# This script is compatible with the BSD install script, but was written -# from scratch. - -nl=' -' -IFS=" "" $nl" - -# set DOITPROG to echo to test this script - -# Don't use :- since 4.3BSD and earlier shells don't like it. -doit=${DOITPROG-} -if test -z "$doit"; then - doit_exec=exec -else - doit_exec=$doit -fi - -# Put in absolute file names if you don't have them in your path; -# or use environment vars. - -chgrpprog=${CHGRPPROG-chgrp} -chmodprog=${CHMODPROG-chmod} -chownprog=${CHOWNPROG-chown} -cmpprog=${CMPPROG-cmp} -cpprog=${CPPROG-cp} -mkdirprog=${MKDIRPROG-mkdir} -mvprog=${MVPROG-mv} -rmprog=${RMPROG-rm} -stripprog=${STRIPPROG-strip} - -posix_glob='?' -initialize_posix_glob=' - test "$posix_glob" != "?" || { - if (set -f) 2>/dev/null; then - posix_glob= - else - posix_glob=: - fi - } -' - -posix_mkdir= - -# Desired mode of installed file. -mode=0755 - -chgrpcmd= -chmodcmd=$chmodprog -chowncmd= -mvcmd=$mvprog -rmcmd="$rmprog -f" -stripcmd= - -src= -dst= -dir_arg= -dst_arg= - -copy_on_change=false -no_target_directory= - -usage="\ -Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE - or: $0 [OPTION]... SRCFILES... DIRECTORY - or: $0 [OPTION]... -t DIRECTORY SRCFILES... - or: $0 [OPTION]... -d DIRECTORIES... - -In the 1st form, copy SRCFILE to DSTFILE. -In the 2nd and 3rd, copy all SRCFILES to DIRECTORY. -In the 4th, create DIRECTORIES. - -Options: - --help display this help and exit. - --version display version info and exit. - - -c (ignored) - -C install only if different (preserve the last data modification time) - -d create directories instead of installing files. - -g GROUP $chgrpprog installed files to GROUP. - -m MODE $chmodprog installed files to MODE. - -o USER $chownprog installed files to USER. - -s $stripprog installed files. - -t DIRECTORY install into DIRECTORY. - -T report an error if DSTFILE is a directory. - -Environment variables override the default commands: - CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG - RMPROG STRIPPROG -" - -while test $# -ne 0; do - case $1 in - -c) ;; - - -C) copy_on_change=true;; - - -d) dir_arg=true;; - - -g) chgrpcmd="$chgrpprog $2" - shift;; - - --help) echo "$usage"; exit $?;; - - -m) mode=$2 - case $mode in - *' '* | *' '* | *' -'* | *'*'* | *'?'* | *'['*) - echo "$0: invalid mode: $mode" >&2 - exit 1;; - esac - shift;; - - -o) chowncmd="$chownprog $2" - shift;; - - -s) stripcmd=$stripprog;; - - -t) dst_arg=$2 - # Protect names problematic for `test' and other utilities. - case $dst_arg in - -* | [=\(\)!]) dst_arg=./$dst_arg;; - esac - shift;; - - -T) no_target_directory=true;; - - --version) echo "$0 $scriptversion"; exit $?;; - - --) shift - break;; - - -*) echo "$0: invalid option: $1" >&2 - exit 1;; - - *) break;; - esac - shift -done - -if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then - # When -d is used, all remaining arguments are directories to create. - # When -t is used, the destination is already specified. - # Otherwise, the last argument is the destination. Remove it from $@. - for arg - do - if test -n "$dst_arg"; then - # $@ is not empty: it contains at least $arg. - set fnord "$@" "$dst_arg" - shift # fnord - fi - shift # arg - dst_arg=$arg - # Protect names problematic for `test' and other utilities. - case $dst_arg in - -* | [=\(\)!]) dst_arg=./$dst_arg;; - esac - done -fi - -if test $# -eq 0; then - if test -z "$dir_arg"; then - echo "$0: no input file specified." >&2 - exit 1 - fi - # It's OK to call `install-sh -d' without argument. - # This can happen when creating conditional directories. - exit 0 -fi - -if test -z "$dir_arg"; then - do_exit='(exit $ret); exit $ret' - trap "ret=129; $do_exit" 1 - trap "ret=130; $do_exit" 2 - trap "ret=141; $do_exit" 13 - trap "ret=143; $do_exit" 15 - - # Set umask so as not to create temps with too-generous modes. - # However, 'strip' requires both read and write access to temps. - case $mode in - # Optimize common cases. - *644) cp_umask=133;; - *755) cp_umask=22;; - - *[0-7]) - if test -z "$stripcmd"; then - u_plus_rw= - else - u_plus_rw='% 200' - fi - cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;; - *) - if test -z "$stripcmd"; then - u_plus_rw= - else - u_plus_rw=,u+rw - fi - cp_umask=$mode$u_plus_rw;; - esac -fi - -for src -do - # Protect names problematic for `test' and other utilities. - case $src in - -* | [=\(\)!]) src=./$src;; - esac - - if test -n "$dir_arg"; then - dst=$src - dstdir=$dst - test -d "$dstdir" - dstdir_status=$? - else - - # Waiting for this to be detected by the "$cpprog $src $dsttmp" command - # might cause directories to be created, which would be especially bad - # if $src (and thus $dsttmp) contains '*'. - if test ! -f "$src" && test ! -d "$src"; then - echo "$0: $src does not exist." >&2 - exit 1 - fi - - if test -z "$dst_arg"; then - echo "$0: no destination specified." >&2 - exit 1 - fi - dst=$dst_arg - - # If destination is a directory, append the input filename; won't work - # if double slashes aren't ignored. - if test -d "$dst"; then - if test -n "$no_target_directory"; then - echo "$0: $dst_arg: Is a directory" >&2 - exit 1 - fi - dstdir=$dst - dst=$dstdir/`basename "$src"` - dstdir_status=0 - else - # Prefer dirname, but fall back on a substitute if dirname fails. - dstdir=` - (dirname "$dst") 2>/dev/null || - expr X"$dst" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$dst" : 'X\(//\)[^/]' \| \ - X"$dst" : 'X\(//\)$' \| \ - X"$dst" : 'X\(/\)' \| . 2>/dev/null || - echo X"$dst" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q' - ` - - test -d "$dstdir" - dstdir_status=$? - fi - fi - - obsolete_mkdir_used=false - - if test $dstdir_status != 0; then - case $posix_mkdir in - '') - # Create intermediate dirs using mode 755 as modified by the umask. - # This is like FreeBSD 'install' as of 1997-10-28. - umask=`umask` - case $stripcmd.$umask in - # Optimize common cases. - *[2367][2367]) mkdir_umask=$umask;; - .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;; - - *[0-7]) - mkdir_umask=`expr $umask + 22 \ - - $umask % 100 % 40 + $umask % 20 \ - - $umask % 10 % 4 + $umask % 2 - `;; - *) mkdir_umask=$umask,go-w;; - esac - - # With -d, create the new directory with the user-specified mode. - # Otherwise, rely on $mkdir_umask. - if test -n "$dir_arg"; then - mkdir_mode=-m$mode - else - mkdir_mode= - fi - - posix_mkdir=false - case $umask in - *[123567][0-7][0-7]) - # POSIX mkdir -p sets u+wx bits regardless of umask, which - # is incompatible with FreeBSD 'install' when (umask & 300) != 0. - ;; - *) - tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$ - trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0 - - if (umask $mkdir_umask && - exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1 - then - if test -z "$dir_arg" || { - # Check for POSIX incompatibilities with -m. - # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or - # other-writeable bit of parent directory when it shouldn't. - # FreeBSD 6.1 mkdir -m -p sets mode of existing directory. - ls_ld_tmpdir=`ls -ld "$tmpdir"` - case $ls_ld_tmpdir in - d????-?r-*) different_mode=700;; - d????-?--*) different_mode=755;; - *) false;; - esac && - $mkdirprog -m$different_mode -p -- "$tmpdir" && { - ls_ld_tmpdir_1=`ls -ld "$tmpdir"` - test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1" - } - } - then posix_mkdir=: - fi - rmdir "$tmpdir/d" "$tmpdir" - else - # Remove any dirs left behind by ancient mkdir implementations. - rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null - fi - trap '' 0;; - esac;; - esac - - if - $posix_mkdir && ( - umask $mkdir_umask && - $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir" - ) - then : - else - - # The umask is ridiculous, or mkdir does not conform to POSIX, - # or it failed possibly due to a race condition. Create the - # directory the slow way, step by step, checking for races as we go. - - case $dstdir in - /*) prefix='/';; - [-=\(\)!]*) prefix='./';; - *) prefix='';; - esac - - eval "$initialize_posix_glob" - - oIFS=$IFS - IFS=/ - $posix_glob set -f - set fnord $dstdir - shift - $posix_glob set +f - IFS=$oIFS - - prefixes= - - for d - do - test X"$d" = X && continue - - prefix=$prefix$d - if test -d "$prefix"; then - prefixes= - else - if $posix_mkdir; then - (umask=$mkdir_umask && - $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break - # Don't fail if two instances are running concurrently. - test -d "$prefix" || exit 1 - else - case $prefix in - *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;; - *) qprefix=$prefix;; - esac - prefixes="$prefixes '$qprefix'" - fi - fi - prefix=$prefix/ - done - - if test -n "$prefixes"; then - # Don't fail if two instances are running concurrently. - (umask $mkdir_umask && - eval "\$doit_exec \$mkdirprog $prefixes") || - test -d "$dstdir" || exit 1 - obsolete_mkdir_used=true - fi - fi - fi - - if test -n "$dir_arg"; then - { test -z "$chowncmd" || $doit $chowncmd "$dst"; } && - { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } && - { test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false || - test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1 - else - - # Make a couple of temp file names in the proper directory. - dsttmp=$dstdir/_inst.$$_ - rmtmp=$dstdir/_rm.$$_ - - # Trap to clean up those temp files at exit. - trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0 - - # Copy the file name to the temp name. - (umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") && - - # and set any options; do chmod last to preserve setuid bits. - # - # If any of these fail, we abort the whole thing. If we want to - # ignore errors from any of these, just make sure not to ignore - # errors from the above "$doit $cpprog $src $dsttmp" command. - # - { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } && - { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } && - { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } && - { test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } && - - # If -C, don't bother to copy if it wouldn't change the file. - if $copy_on_change && - old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` && - new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` && - - eval "$initialize_posix_glob" && - $posix_glob set -f && - set X $old && old=:$2:$4:$5:$6 && - set X $new && new=:$2:$4:$5:$6 && - $posix_glob set +f && - - test "$old" = "$new" && - $cmpprog "$dst" "$dsttmp" >/dev/null 2>&1 - then - rm -f "$dsttmp" - else - # Rename the file to the real destination. - $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null || - - # The rename failed, perhaps because mv can't rename something else - # to itself, or perhaps because mv is so ancient that it does not - # support -f. - { - # Now remove or move aside any old file at destination location. - # We try this two ways since rm can't unlink itself on some - # systems and the destination file might be busy for other - # reasons. In this case, the final cleanup might fail but the new - # file should still install successfully. - { - test ! -f "$dst" || - $doit $rmcmd -f "$dst" 2>/dev/null || - { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null && - { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; } - } || - { echo "$0: cannot unlink or rename $dst" >&2 - (exit 1); exit 1 - } - } && - - # Now rename the file to the real destination. - $doit $mvcmd "$dsttmp" "$dst" - } - fi || exit 1 - - trap '' 0 - fi -done - -# Local variables: -# eval: (add-hook 'write-file-hooks 'time-stamp) -# time-stamp-start: "scriptversion=" -# time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-time-zone: "UTC" -# time-stamp-end: "; # UTC" -# End: diff --git a/GRIB_BLE_HUB/libs/ble_extend/lib/.deps/.dirstamp b/GRIB_BLE_HUB/libs/ble_extend/lib/.deps/.dirstamp deleted file mode 100644 index e69de29..0000000 diff --git a/GRIB_BLE_HUB/libs/ble_extend/lib/.deps/bluetooth.Plo b/GRIB_BLE_HUB/libs/ble_extend/lib/.deps/bluetooth.Plo deleted file mode 100644 index 45feef5..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/lib/.deps/bluetooth.Plo +++ /dev/null @@ -1,180 +0,0 @@ -lib/bluetooth.lo: lib/bluetooth.c /usr/include/stdc-predef.h config.h \ - /usr/include/stdio.h /usr/include/features.h \ - /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/sys_errlist.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio.h /usr/include/errno.h \ - /usr/include/arm-linux-gnueabihf/bits/errno.h /usr/include/linux/errno.h \ - /usr/include/arm-linux-gnueabihf/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/include/ctype.h /usr/include/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/xlocale.h /usr/include/stdlib.h \ - /usr/include/arm-linux-gnueabihf/bits/waitflags.h \ - /usr/include/arm-linux-gnueabihf/bits/waitstatus.h \ - /usr/include/arm-linux-gnueabihf/sys/types.h /usr/include/time.h \ - /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/alloca.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-float.h \ - /usr/include/string.h /usr/include/arm-linux-gnueabihf/bits/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string2.h \ - /usr/include/arm-linux-gnueabihf/sys/socket.h \ - /usr/include/arm-linux-gnueabihf/sys/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/socket.h \ - /usr/include/arm-linux-gnueabihf/bits/socket_type.h \ - /usr/include/arm-linux-gnueabihf/bits/sockaddr.h \ - /usr/include/arm-linux-gnueabihf/asm/socket.h \ - /usr/include/asm-generic/socket.h \ - /usr/include/arm-linux-gnueabihf/asm/sockios.h \ - /usr/include/asm-generic/sockios.h lib/bluetooth.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h \ - /usr/include/stdint.h /usr/include/arm-linux-gnueabihf/bits/wchar.h \ - /usr/include/byteswap.h /usr/include/netinet/in.h \ - /usr/include/arm-linux-gnueabihf/bits/in.h lib/hci.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/include/stdio.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/sys_errlist.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio.h: - -/usr/include/errno.h: - -/usr/include/arm-linux-gnueabihf/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/arm-linux-gnueabihf/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/include/ctype.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/xlocale.h: - -/usr/include/stdlib.h: - -/usr/include/arm-linux-gnueabihf/bits/waitflags.h: - -/usr/include/arm-linux-gnueabihf/bits/waitstatus.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/time.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/alloca.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-float.h: - -/usr/include/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string2.h: - -/usr/include/arm-linux-gnueabihf/sys/socket.h: - -/usr/include/arm-linux-gnueabihf/sys/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/socket.h: - -/usr/include/arm-linux-gnueabihf/bits/socket_type.h: - -/usr/include/arm-linux-gnueabihf/bits/sockaddr.h: - -/usr/include/arm-linux-gnueabihf/asm/socket.h: - -/usr/include/asm-generic/socket.h: - -/usr/include/arm-linux-gnueabihf/asm/sockios.h: - -/usr/include/asm-generic/sockios.h: - -lib/bluetooth.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/arm-linux-gnueabihf/bits/wchar.h: - -/usr/include/byteswap.h: - -/usr/include/netinet/in.h: - -/usr/include/arm-linux-gnueabihf/bits/in.h: - -lib/hci.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/lib/.deps/hci.Plo b/GRIB_BLE_HUB/libs/ble_extend/lib/.deps/hci.Plo deleted file mode 100644 index 9ed74fb..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/lib/.deps/hci.Plo +++ /dev/null @@ -1,297 +0,0 @@ -lib/hci.lo: lib/hci.c /usr/include/stdc-predef.h config.h \ - /usr/include/stdio.h /usr/include/features.h \ - /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/sys_errlist.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio.h /usr/include/errno.h \ - /usr/include/arm-linux-gnueabihf/bits/errno.h /usr/include/linux/errno.h \ - /usr/include/arm-linux-gnueabihf/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/include/fcntl.h /usr/include/arm-linux-gnueabihf/bits/fcntl.h \ - /usr/include/arm-linux-gnueabihf/bits/fcntl-linux.h \ - /usr/include/arm-linux-gnueabihf/bits/uio.h \ - /usr/include/arm-linux-gnueabihf/sys/types.h /usr/include/time.h \ - /usr/include/endian.h /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/arm-linux-gnueabihf/bits/stat.h /usr/include/unistd.h \ - /usr/include/arm-linux-gnueabihf/bits/posix_opt.h \ - /usr/include/arm-linux-gnueabihf/bits/environments.h \ - /usr/include/arm-linux-gnueabihf/bits/confname.h /usr/include/getopt.h \ - /usr/include/stdlib.h /usr/include/arm-linux-gnueabihf/bits/waitflags.h \ - /usr/include/arm-linux-gnueabihf/bits/waitstatus.h \ - /usr/include/xlocale.h /usr/include/alloca.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-float.h \ - /usr/include/string.h /usr/include/arm-linux-gnueabihf/bits/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string2.h \ - /usr/include/arm-linux-gnueabihf/sys/param.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h \ - /usr/include/limits.h /usr/include/arm-linux-gnueabihf/bits/posix1_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/local_lim.h \ - /usr/include/linux/limits.h \ - /usr/include/arm-linux-gnueabihf/bits/posix2_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/xopen_lim.h /usr/include/signal.h \ - /usr/include/arm-linux-gnueabihf/bits/signum.h \ - /usr/include/arm-linux-gnueabihf/bits/siginfo.h \ - /usr/include/arm-linux-gnueabihf/bits/sigaction.h \ - /usr/include/arm-linux-gnueabihf/bits/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/asm/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigstack.h \ - /usr/include/arm-linux-gnueabihf/sys/ucontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigthread.h \ - /usr/include/arm-linux-gnueabihf/bits/param.h /usr/include/linux/param.h \ - /usr/include/arm-linux-gnueabihf/asm/param.h \ - /usr/include/asm-generic/param.h \ - /usr/include/arm-linux-gnueabihf/sys/uio.h \ - /usr/include/arm-linux-gnueabihf/sys/poll.h \ - /usr/include/arm-linux-gnueabihf/bits/poll.h \ - /usr/include/arm-linux-gnueabihf/sys/ioctl.h \ - /usr/include/arm-linux-gnueabihf/bits/ioctls.h \ - /usr/include/arm-linux-gnueabihf/asm/ioctls.h \ - /usr/include/asm-generic/ioctls.h /usr/include/linux/ioctl.h \ - /usr/include/arm-linux-gnueabihf/asm/ioctl.h \ - /usr/include/asm-generic/ioctl.h \ - /usr/include/arm-linux-gnueabihf/bits/ioctl-types.h \ - /usr/include/arm-linux-gnueabihf/sys/ttydefaults.h \ - /usr/include/arm-linux-gnueabihf/sys/socket.h \ - /usr/include/arm-linux-gnueabihf/bits/socket.h \ - /usr/include/arm-linux-gnueabihf/bits/socket_type.h \ - /usr/include/arm-linux-gnueabihf/bits/sockaddr.h \ - /usr/include/arm-linux-gnueabihf/asm/socket.h \ - /usr/include/asm-generic/socket.h \ - /usr/include/arm-linux-gnueabihf/asm/sockios.h \ - /usr/include/asm-generic/sockios.h lib/bluetooth.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h \ - /usr/include/stdint.h /usr/include/arm-linux-gnueabihf/bits/wchar.h \ - /usr/include/byteswap.h /usr/include/netinet/in.h \ - /usr/include/arm-linux-gnueabihf/bits/in.h lib/hci.h lib/hci_lib.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/include/stdio.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/sys_errlist.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio.h: - -/usr/include/errno.h: - -/usr/include/arm-linux-gnueabihf/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/arm-linux-gnueabihf/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/include/fcntl.h: - -/usr/include/arm-linux-gnueabihf/bits/fcntl.h: - -/usr/include/arm-linux-gnueabihf/bits/fcntl-linux.h: - -/usr/include/arm-linux-gnueabihf/bits/uio.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/time.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/arm-linux-gnueabihf/bits/stat.h: - -/usr/include/unistd.h: - -/usr/include/arm-linux-gnueabihf/bits/posix_opt.h: - -/usr/include/arm-linux-gnueabihf/bits/environments.h: - -/usr/include/arm-linux-gnueabihf/bits/confname.h: - -/usr/include/getopt.h: - -/usr/include/stdlib.h: - -/usr/include/arm-linux-gnueabihf/bits/waitflags.h: - -/usr/include/arm-linux-gnueabihf/bits/waitstatus.h: - -/usr/include/xlocale.h: - -/usr/include/alloca.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-float.h: - -/usr/include/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string2.h: - -/usr/include/arm-linux-gnueabihf/sys/param.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h: - -/usr/include/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/local_lim.h: - -/usr/include/linux/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix2_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/xopen_lim.h: - -/usr/include/signal.h: - -/usr/include/arm-linux-gnueabihf/bits/signum.h: - -/usr/include/arm-linux-gnueabihf/bits/siginfo.h: - -/usr/include/arm-linux-gnueabihf/bits/sigaction.h: - -/usr/include/arm-linux-gnueabihf/bits/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/asm/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigstack.h: - -/usr/include/arm-linux-gnueabihf/sys/ucontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigthread.h: - -/usr/include/arm-linux-gnueabihf/bits/param.h: - -/usr/include/linux/param.h: - -/usr/include/arm-linux-gnueabihf/asm/param.h: - -/usr/include/asm-generic/param.h: - -/usr/include/arm-linux-gnueabihf/sys/uio.h: - -/usr/include/arm-linux-gnueabihf/sys/poll.h: - -/usr/include/arm-linux-gnueabihf/bits/poll.h: - -/usr/include/arm-linux-gnueabihf/sys/ioctl.h: - -/usr/include/arm-linux-gnueabihf/bits/ioctls.h: - -/usr/include/arm-linux-gnueabihf/asm/ioctls.h: - -/usr/include/asm-generic/ioctls.h: - -/usr/include/linux/ioctl.h: - -/usr/include/arm-linux-gnueabihf/asm/ioctl.h: - -/usr/include/asm-generic/ioctl.h: - -/usr/include/arm-linux-gnueabihf/bits/ioctl-types.h: - -/usr/include/arm-linux-gnueabihf/sys/ttydefaults.h: - -/usr/include/arm-linux-gnueabihf/sys/socket.h: - -/usr/include/arm-linux-gnueabihf/bits/socket.h: - -/usr/include/arm-linux-gnueabihf/bits/socket_type.h: - -/usr/include/arm-linux-gnueabihf/bits/sockaddr.h: - -/usr/include/arm-linux-gnueabihf/asm/socket.h: - -/usr/include/asm-generic/socket.h: - -/usr/include/arm-linux-gnueabihf/asm/sockios.h: - -/usr/include/asm-generic/sockios.h: - -lib/bluetooth.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/arm-linux-gnueabihf/bits/wchar.h: - -/usr/include/byteswap.h: - -/usr/include/netinet/in.h: - -/usr/include/arm-linux-gnueabihf/bits/in.h: - -lib/hci.h: - -lib/hci_lib.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/lib/.deps/sdp.Plo b/GRIB_BLE_HUB/libs/ble_extend/lib/.deps/sdp.Plo deleted file mode 100644 index b6f788c..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/lib/.deps/sdp.Plo +++ /dev/null @@ -1,250 +0,0 @@ -lib/sdp.lo: lib/sdp.c /usr/include/stdc-predef.h config.h \ - /usr/include/stdio.h /usr/include/features.h \ - /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/sys_errlist.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio.h /usr/include/errno.h \ - /usr/include/arm-linux-gnueabihf/bits/errno.h /usr/include/linux/errno.h \ - /usr/include/arm-linux-gnueabihf/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/include/fcntl.h /usr/include/arm-linux-gnueabihf/bits/fcntl.h \ - /usr/include/arm-linux-gnueabihf/bits/fcntl-linux.h \ - /usr/include/arm-linux-gnueabihf/bits/uio.h \ - /usr/include/arm-linux-gnueabihf/sys/types.h /usr/include/time.h \ - /usr/include/endian.h /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/arm-linux-gnueabihf/bits/stat.h /usr/include/unistd.h \ - /usr/include/arm-linux-gnueabihf/bits/posix_opt.h \ - /usr/include/arm-linux-gnueabihf/bits/environments.h \ - /usr/include/arm-linux-gnueabihf/bits/confname.h /usr/include/getopt.h \ - /usr/include/stdlib.h /usr/include/arm-linux-gnueabihf/bits/waitflags.h \ - /usr/include/arm-linux-gnueabihf/bits/waitstatus.h \ - /usr/include/xlocale.h /usr/include/alloca.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-float.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h \ - /usr/include/limits.h /usr/include/arm-linux-gnueabihf/bits/posix1_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/local_lim.h \ - /usr/include/linux/limits.h \ - /usr/include/arm-linux-gnueabihf/bits/posix2_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/xopen_lim.h /usr/include/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string2.h /usr/include/syslog.h \ - /usr/include/arm-linux-gnueabihf/sys/syslog.h \ - /usr/include/arm-linux-gnueabihf/bits/syslog-path.h \ - /usr/include/arm-linux-gnueabihf/sys/time.h \ - /usr/include/arm-linux-gnueabihf/sys/socket.h \ - /usr/include/arm-linux-gnueabihf/sys/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/socket.h \ - /usr/include/arm-linux-gnueabihf/bits/socket_type.h \ - /usr/include/arm-linux-gnueabihf/bits/sockaddr.h \ - /usr/include/arm-linux-gnueabihf/asm/socket.h \ - /usr/include/asm-generic/socket.h \ - /usr/include/arm-linux-gnueabihf/asm/sockios.h \ - /usr/include/asm-generic/sockios.h \ - /usr/include/arm-linux-gnueabihf/sys/un.h /usr/include/netinet/in.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h \ - /usr/include/stdint.h /usr/include/arm-linux-gnueabihf/bits/wchar.h \ - /usr/include/arm-linux-gnueabihf/bits/in.h lib/bluetooth.h \ - /usr/include/byteswap.h lib/hci.h lib/hci_lib.h lib/l2cap.h lib/sdp.h \ - lib/bluetooth/bluetooth.h lib/sdp_lib.h lib/bluetooth/hci.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/include/stdio.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/sys_errlist.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio.h: - -/usr/include/errno.h: - -/usr/include/arm-linux-gnueabihf/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/arm-linux-gnueabihf/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/include/fcntl.h: - -/usr/include/arm-linux-gnueabihf/bits/fcntl.h: - -/usr/include/arm-linux-gnueabihf/bits/fcntl-linux.h: - -/usr/include/arm-linux-gnueabihf/bits/uio.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/time.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/arm-linux-gnueabihf/bits/stat.h: - -/usr/include/unistd.h: - -/usr/include/arm-linux-gnueabihf/bits/posix_opt.h: - -/usr/include/arm-linux-gnueabihf/bits/environments.h: - -/usr/include/arm-linux-gnueabihf/bits/confname.h: - -/usr/include/getopt.h: - -/usr/include/stdlib.h: - -/usr/include/arm-linux-gnueabihf/bits/waitflags.h: - -/usr/include/arm-linux-gnueabihf/bits/waitstatus.h: - -/usr/include/xlocale.h: - -/usr/include/alloca.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-float.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h: - -/usr/include/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/local_lim.h: - -/usr/include/linux/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix2_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/xopen_lim.h: - -/usr/include/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string2.h: - -/usr/include/syslog.h: - -/usr/include/arm-linux-gnueabihf/sys/syslog.h: - -/usr/include/arm-linux-gnueabihf/bits/syslog-path.h: - -/usr/include/arm-linux-gnueabihf/sys/time.h: - -/usr/include/arm-linux-gnueabihf/sys/socket.h: - -/usr/include/arm-linux-gnueabihf/sys/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/socket.h: - -/usr/include/arm-linux-gnueabihf/bits/socket_type.h: - -/usr/include/arm-linux-gnueabihf/bits/sockaddr.h: - -/usr/include/arm-linux-gnueabihf/asm/socket.h: - -/usr/include/asm-generic/socket.h: - -/usr/include/arm-linux-gnueabihf/asm/sockios.h: - -/usr/include/asm-generic/sockios.h: - -/usr/include/arm-linux-gnueabihf/sys/un.h: - -/usr/include/netinet/in.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/arm-linux-gnueabihf/bits/wchar.h: - -/usr/include/arm-linux-gnueabihf/bits/in.h: - -lib/bluetooth.h: - -/usr/include/byteswap.h: - -lib/hci.h: - -lib/hci_lib.h: - -lib/l2cap.h: - -lib/sdp.h: - -lib/bluetooth/bluetooth.h: - -lib/sdp_lib.h: - -lib/bluetooth/hci.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/lib/.deps/uuid.Plo b/GRIB_BLE_HUB/libs/ble_extend/lib/.deps/uuid.Plo deleted file mode 100644 index 060bba1..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/lib/.deps/uuid.Plo +++ /dev/null @@ -1,176 +0,0 @@ -lib/uuid.lo: lib/uuid.c /usr/include/stdc-predef.h config.h \ - /usr/include/string.h /usr/include/features.h \ - /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/include/xlocale.h /usr/include/arm-linux-gnueabihf/bits/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string2.h /usr/include/stdlib.h \ - /usr/include/arm-linux-gnueabihf/bits/waitflags.h \ - /usr/include/arm-linux-gnueabihf/bits/waitstatus.h /usr/include/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/arm-linux-gnueabihf/sys/types.h /usr/include/time.h \ - /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/alloca.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-float.h \ - /usr/include/errno.h /usr/include/arm-linux-gnueabihf/bits/errno.h \ - /usr/include/linux/errno.h /usr/include/arm-linux-gnueabihf/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - lib/uuid.h /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h \ - /usr/include/stdint.h /usr/include/arm-linux-gnueabihf/bits/wchar.h \ - lib/bluetooth/bluetooth.h /usr/include/stdio.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/sys_errlist.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio.h /usr/include/byteswap.h \ - /usr/include/netinet/in.h /usr/include/arm-linux-gnueabihf/sys/socket.h \ - /usr/include/arm-linux-gnueabihf/sys/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/socket.h \ - /usr/include/arm-linux-gnueabihf/bits/socket_type.h \ - /usr/include/arm-linux-gnueabihf/bits/sockaddr.h \ - /usr/include/arm-linux-gnueabihf/asm/socket.h \ - /usr/include/asm-generic/socket.h \ - /usr/include/arm-linux-gnueabihf/asm/sockios.h \ - /usr/include/asm-generic/sockios.h \ - /usr/include/arm-linux-gnueabihf/bits/in.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/include/string.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/include/xlocale.h: - -/usr/include/arm-linux-gnueabihf/bits/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string2.h: - -/usr/include/stdlib.h: - -/usr/include/arm-linux-gnueabihf/bits/waitflags.h: - -/usr/include/arm-linux-gnueabihf/bits/waitstatus.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/time.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/alloca.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-float.h: - -/usr/include/errno.h: - -/usr/include/arm-linux-gnueabihf/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/arm-linux-gnueabihf/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -lib/uuid.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/arm-linux-gnueabihf/bits/wchar.h: - -lib/bluetooth/bluetooth.h: - -/usr/include/stdio.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/sys_errlist.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio.h: - -/usr/include/byteswap.h: - -/usr/include/netinet/in.h: - -/usr/include/arm-linux-gnueabihf/sys/socket.h: - -/usr/include/arm-linux-gnueabihf/sys/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/socket.h: - -/usr/include/arm-linux-gnueabihf/bits/socket_type.h: - -/usr/include/arm-linux-gnueabihf/bits/sockaddr.h: - -/usr/include/arm-linux-gnueabihf/asm/socket.h: - -/usr/include/asm-generic/socket.h: - -/usr/include/arm-linux-gnueabihf/asm/sockios.h: - -/usr/include/asm-generic/sockios.h: - -/usr/include/arm-linux-gnueabihf/bits/in.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/lib/.dirstamp b/GRIB_BLE_HUB/libs/ble_extend/lib/.dirstamp deleted file mode 100644 index e69de29..0000000 diff --git a/GRIB_BLE_HUB/libs/ble_extend/lib/.libs/libbluetooth-private.a b/GRIB_BLE_HUB/libs/ble_extend/lib/.libs/libbluetooth-private.a deleted file mode 100644 index 8f8a2bb..0000000 Binary files a/GRIB_BLE_HUB/libs/ble_extend/lib/.libs/libbluetooth-private.a and /dev/null differ diff --git a/GRIB_BLE_HUB/libs/ble_extend/lib/.libs/libbluetooth-private.la b/GRIB_BLE_HUB/libs/ble_extend/lib/.libs/libbluetooth-private.la deleted file mode 100644 index 9f364d4..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/lib/.libs/libbluetooth-private.la +++ /dev/null @@ -1,41 +0,0 @@ -# libbluetooth-private.la - a libtool library file -# Generated by libtool (GNU libtool) 2.4.2 Debian-2.4.2-1.1 -# -# Please DO NOT delete this file! -# It is necessary for linking the library. - -# The name that we can dlopen(3). -dlname='' - -# Names of this library. -library_names='' - -# The name of the static archive. -old_library='libbluetooth-private.a' - -# Linker flags that can not go in dependency_libs. -inherited_linker_flags='' - -# Libraries that this one depends upon. -dependency_libs='' - -# Names of additional weak libraries provided by this library -weak_library_names='' - -# Version information for libbluetooth-private. -current= -age= -revision= - -# Is this an already installed library? -installed=no - -# Should we warn about portability when linking against -modules? -shouldnotlink=no - -# Files to dlopen/dlpreopen -dlopen='' -dlpreopen='' - -# Directory that this library needs to be installed in: -libdir='' diff --git a/GRIB_BLE_HUB/libs/ble_extend/lib/a2mp.h b/GRIB_BLE_HUB/libs/ble_extend/lib/a2mp.h deleted file mode 100644 index da937d1..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/lib/a2mp.h +++ /dev/null @@ -1,149 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2012 Intel Corporation. All rights reserved. - * Copyright (c) 2012 Code Aurora Forum. All rights reserved. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifndef __A2MP_H -#define __A2MP_H - -#ifdef __cplusplus -extern "C" { -#endif - -/* A2MP Protocol */ - -/* A2MP command codes */ - -#define A2MP_COMMAND_REJ 0x01 -#define A2MP_DISCOVER_REQ 0x02 -#define A2MP_DISCOVER_RSP 0x03 -#define A2MP_CHANGE_NOTIFY 0x04 -#define A2MP_CHANGE_RSP 0x05 -#define A2MP_INFO_REQ 0x06 -#define A2MP_INFO_RSP 0x07 -#define A2MP_ASSOC_REQ 0x08 -#define A2MP_ASSOC_RSP 0x09 -#define A2MP_CREATE_REQ 0x0a -#define A2MP_CREATE_RSP 0x0b -#define A2MP_DISCONN_REQ 0x0c -#define A2MP_DISCONN_RSP 0x0d - -struct a2mp_hdr { - uint8_t code; - uint8_t ident; - uint16_t len; -} __attribute__ ((packed)); -#define A2MP_HDR_SIZE 4 - -struct a2mp_command_rej { - uint16_t reason; -} __attribute__ ((packed)); - -struct a2mp_discover_req { - uint16_t mtu; - uint16_t mask; -} __attribute__ ((packed)); - -struct a2mp_ctrl { - uint8_t id; - uint8_t type; - uint8_t status; -} __attribute__ ((packed)); - -struct a2mp_discover_rsp { - uint16_t mtu; - uint16_t mask; - struct a2mp_ctrl ctrl_list[0]; -} __attribute__ ((packed)); - -struct a2mp_info_req { - uint8_t id; -} __attribute__ ((packed)); - -struct a2mp_info_rsp { - uint8_t id; - uint8_t status; - uint32_t total_bw; - uint32_t max_bw; - uint32_t min_latency; - uint16_t pal_caps; - uint16_t assoc_size; -} __attribute__ ((packed)); - -struct a2mp_assoc_req { - uint8_t id; -} __attribute__ ((packed)); - -struct a2mp_assoc_rsp { - uint8_t id; - uint8_t status; - uint8_t assoc_data[0]; -} __attribute__ ((packed)); - -struct a2mp_create_req { - uint8_t local_id; - uint8_t remote_id; - uint8_t assoc_data[0]; -} __attribute__ ((packed)); - -struct a2mp_create_rsp { - uint8_t local_id; - uint8_t remote_id; - uint8_t status; -} __attribute__ ((packed)); - -struct a2mp_disconn_req { - uint8_t local_id; - uint8_t remote_id; -} __attribute__ ((packed)); - -struct a2mp_disconn_rsp { - uint8_t local_id; - uint8_t remote_id; - uint8_t status; -} __attribute__ ((packed)); - -#define A2MP_COMMAND_NOT_RECOGNIZED 0x0000 - -/* AMP controller status */ -#define AMP_CTRL_POWERED_DOWN 0x00 -#define AMP_CTRL_BLUETOOTH_ONLY 0x01 -#define AMP_CTRL_NO_CAPACITY 0x02 -#define AMP_CTRL_LOW_CAPACITY 0x03 -#define AMP_CTRL_MEDIUM_CAPACITY 0x04 -#define AMP_CTRL_HIGH_CAPACITY 0x05 -#define AMP_CTRL_FULL_CAPACITY 0x06 - -/* A2MP response status */ -#define A2MP_STATUS_SUCCESS 0x00 -#define A2MP_STATUS_INVALID_CTRL_ID 0x01 -#define A2MP_STATUS_UNABLE_START_LINK_CREATION 0x02 -#define A2MP_STATUS_NO_PHYSICAL_LINK_EXISTS 0x02 -#define A2MP_STATUS_COLLISION_OCCURED 0x03 -#define A2MP_STATUS_DISCONN_REQ_RECVD 0x04 -#define A2MP_STATUS_PHYS_LINK_EXISTS 0x05 -#define A2MP_STATUS_SECURITY_VIOLATION 0x06 - -#ifdef __cplusplus -} -#endif - -#endif /* __A2MP_H */ diff --git a/GRIB_BLE_HUB/libs/ble_extend/lib/amp.h b/GRIB_BLE_HUB/libs/ble_extend/lib/amp.h deleted file mode 100644 index 27aab1d..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/lib/amp.h +++ /dev/null @@ -1,172 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2010-2011 Code Aurora Forum. All rights reserved. - * Copyright (C) 2012 Intel Corporation. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 and - * only version 2 as published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - */ - -#ifndef __AMP_H -#define __AMP_H - -#ifdef __cplusplus -extern "C" { -#endif - -#define AMP_MGR_CID 0x03 - -/* AMP manager codes */ -#define AMP_COMMAND_REJ 0x01 -#define AMP_DISCOVER_REQ 0x02 -#define AMP_DISCOVER_RSP 0x03 -#define AMP_CHANGE_NOTIFY 0x04 -#define AMP_CHANGE_RSP 0x05 -#define AMP_INFO_REQ 0x06 -#define AMP_INFO_RSP 0x07 -#define AMP_ASSOC_REQ 0x08 -#define AMP_ASSOC_RSP 0x09 -#define AMP_LINK_REQ 0x0a -#define AMP_LINK_RSP 0x0b -#define AMP_DISCONN_REQ 0x0c -#define AMP_DISCONN_RSP 0x0d - -typedef struct { - uint8_t code; - uint8_t ident; - uint16_t len; -} __attribute__ ((packed)) amp_mgr_hdr; -#define AMP_MGR_HDR_SIZE 4 - -/* AMP ASSOC structure */ -typedef struct { - uint8_t type_id; - uint16_t len; - uint8_t data[0]; -} __attribute__ ((packed)) amp_assoc_tlv; - -typedef struct { - uint16_t reason; -} __attribute__ ((packed)) amp_cmd_rej_parms; - -typedef struct { - uint16_t mtu; - uint16_t mask; -} __attribute__ ((packed)) amp_discover_req_parms; - -typedef struct { - uint16_t mtu; - uint16_t mask; - uint8_t controller_list[0]; -} __attribute__ ((packed)) amp_discover_rsp_parms; - -typedef struct { - uint8_t id; -} __attribute__ ((packed)) amp_info_req_parms; - -typedef struct { - uint8_t id; - uint8_t status; - uint32_t total_bandwidth; - uint32_t max_bandwidth; - uint32_t min_latency; - uint16_t pal_caps; - uint16_t assoc_size; -} __attribute__ ((packed)) amp_info_rsp_parms; - -typedef struct { - uint8_t id; - uint8_t status; - amp_assoc_tlv assoc; -} __attribute__ ((packed)) amp_assoc_rsp_parms; - -typedef struct { - uint8_t local_id; - uint8_t remote_id; - amp_assoc_tlv assoc; -} __attribute__ ((packed)) amp_link_req_parms; - -typedef struct { - uint8_t local_id; - uint8_t remote_id; - uint8_t status; -} __attribute__ ((packed)) amp_link_rsp_parms; - -typedef struct { - uint8_t local_id; - uint8_t remote_id; -} __attribute__ ((packed)) amp_disconn_req_parms; - -#define A2MP_MAC_ADDR_TYPE 1 -#define A2MP_PREF_CHANLIST_TYPE 2 -#define A2MP_CONNECTED_CHAN 3 -#define A2MP_PAL_CAP_TYPE 4 -#define A2MP_PAL_VER_INFO 5 - -struct amp_tlv { - uint8_t type; - uint16_t len; - uint8_t val[0]; -} __attribute__ ((packed)); - -struct amp_pal_ver { - uint8_t ver; - uint16_t company_id; - uint16_t sub_ver; -} __attribute__ ((packed)); - -struct amp_country_triplet { - union { - struct { - uint8_t first_channel; - uint8_t num_channels; - int8_t max_power; - } __attribute__ ((packed)) chans; - struct { - uint8_t reg_extension_id; - uint8_t reg_class; - uint8_t coverage_class; - } __attribute__ ((packed)) ext; - }; -} __attribute__ ((packed)); - -struct amp_chan_list { - uint8_t country_code[3]; - struct amp_country_triplet triplets[0]; -} __attribute__ ((packed)); - -#define AMP_COMMAND_NOT_RECOGNIZED 0x0000 - -/* AMP controller status */ -#define AMP_CT_POWERED_DOWN 0x00 -#define AMP_CT_BLUETOOTH_ONLY 0x01 -#define AMP_CT_NO_CAPACITY 0x02 -#define AMP_CT_LOW_CAPACITY 0x03 -#define AMP_CT_MEDIUM_CAPACITY 0x04 -#define AMP_CT_HIGH_CAPACITY 0x05 -#define AMP_CT_FULL_CAPACITY 0x06 - -/* AMP response status */ -#define AMP_STATUS_SUCCESS 0x00 -#define AMP_STATUS_INVALID_CTRL_ID 0x01 -#define AMP_STATUS_UNABLE_START_LINK_CREATION 0x02 -#define AMP_STATUS_NO_PHYSICAL_LINK_EXISTS 0x02 -#define AMP_STATUS_COLLISION_OCCURED 0x03 -#define AMP_STATUS_DISCONN_REQ_RECVD 0x04 -#define AMP_STATUS_PHYS_LINK_EXISTS 0x05 -#define AMP_STATUS_SECURITY_VIOLATION 0x06 - -#ifdef __cplusplus -} -#endif - -#endif /* __AMP_H */ diff --git a/GRIB_BLE_HUB/libs/ble_extend/lib/bluetooth.c b/GRIB_BLE_HUB/libs/ble_extend/lib/bluetooth.c deleted file mode 100644 index cc40ac5..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/lib/bluetooth.c +++ /dev/null @@ -1,663 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2000-2001 Qualcomm Incorporated - * Copyright (C) 2002-2003 Maxim Krasnyansky - * Copyright (C) 2002-2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include -#include -#include -#include -#include -#include - -#include "bluetooth.h" -#include "hci.h" - -void baswap(bdaddr_t *dst, const bdaddr_t *src) -{ - register unsigned char *d = (unsigned char *) dst; - register const unsigned char *s = (const unsigned char *) src; - register int i; - - for (i = 0; i < 6; i++) - d[i] = s[5-i]; -} - -char *batostr(const bdaddr_t *ba) -{ - char *str = bt_malloc(18); - if (!str) - return NULL; - - sprintf(str, "%2.2X:%2.2X:%2.2X:%2.2X:%2.2X:%2.2X", - ba->b[0], ba->b[1], ba->b[2], - ba->b[3], ba->b[4], ba->b[5]); - - return str; -} - -bdaddr_t *strtoba(const char *str) -{ - bdaddr_t b; - bdaddr_t *ba = bt_malloc(sizeof(*ba)); - - if (ba) { - str2ba(str, &b); - baswap(ba, &b); - } - - return ba; -} - -int ba2str(const bdaddr_t *ba, char *str) -{ - return sprintf(str, "%2.2X:%2.2X:%2.2X:%2.2X:%2.2X:%2.2X", - ba->b[5], ba->b[4], ba->b[3], ba->b[2], ba->b[1], ba->b[0]); -} - -int str2ba(const char *str, bdaddr_t *ba) -{ - int i; - - if (bachk(str) < 0) { - memset(ba, 0, sizeof(*ba)); - return -1; - } - - for (i = 5; i >= 0; i--, str += 3) - ba->b[i] = strtol(str, NULL, 16); - - return 0; -} - -int ba2oui(const bdaddr_t *ba, char *str) -{ - return sprintf(str, "%2.2X-%2.2X-%2.2X", ba->b[5], ba->b[4], ba->b[3]); -} - -int bachk(const char *str) -{ - if (!str) - return -1; - - if (strlen(str) != 17) - return -1; - - while (*str) { - if (!isxdigit(*str++)) - return -1; - - if (!isxdigit(*str++)) - return -1; - - if (*str == 0) - break; - - if (*str++ != ':') - return -1; - } - - return 0; -} - -int baprintf(const char *format, ...) -{ - va_list ap; - int len; - - va_start(ap, format); - len = vprintf(format, ap); - va_end(ap); - - return len; -} - -int bafprintf(FILE *stream, const char *format, ...) -{ - va_list ap; - int len; - - va_start(ap, format); - len = vfprintf(stream, format, ap); - va_end(ap); - - return len; -} - -int basprintf(char *str, const char *format, ...) -{ - va_list ap; - int len; - - va_start(ap, format); - len = vsnprintf(str, (~0U) >> 1, format, ap); - va_end(ap); - - return len; -} - -int basnprintf(char *str, size_t size, const char *format, ...) -{ - va_list ap; - int len; - - va_start(ap, format); - len = vsnprintf(str, size, format, ap); - va_end(ap); - - return len; -} - -void *bt_malloc(size_t size) -{ - return malloc(size); -} - -void bt_free(void *ptr) -{ - free(ptr); -} - -/* Bluetooth error codes to Unix errno mapping */ -int bt_error(uint16_t code) -{ - switch (code) { - case 0: - return 0; - case HCI_UNKNOWN_COMMAND: - return EBADRQC; - case HCI_NO_CONNECTION: - return ENOTCONN; - case HCI_HARDWARE_FAILURE: - return EIO; - case HCI_PAGE_TIMEOUT: - return EHOSTDOWN; - case HCI_AUTHENTICATION_FAILURE: - return EACCES; - case HCI_PIN_OR_KEY_MISSING: - return EINVAL; - case HCI_MEMORY_FULL: - return ENOMEM; - case HCI_CONNECTION_TIMEOUT: - return ETIMEDOUT; - case HCI_MAX_NUMBER_OF_CONNECTIONS: - case HCI_MAX_NUMBER_OF_SCO_CONNECTIONS: - return EMLINK; - case HCI_ACL_CONNECTION_EXISTS: - return EALREADY; - case HCI_COMMAND_DISALLOWED: - case HCI_TRANSACTION_COLLISION: - case HCI_ROLE_SWITCH_PENDING: - return EBUSY; - case HCI_REJECTED_LIMITED_RESOURCES: - case HCI_REJECTED_PERSONAL: - case HCI_QOS_REJECTED: - return ECONNREFUSED; - case HCI_HOST_TIMEOUT: - return ETIMEDOUT; - case HCI_UNSUPPORTED_FEATURE: - case HCI_QOS_NOT_SUPPORTED: - case HCI_PAIRING_NOT_SUPPORTED: - case HCI_CLASSIFICATION_NOT_SUPPORTED: - case HCI_UNSUPPORTED_LMP_PARAMETER_VALUE: - case HCI_PARAMETER_OUT_OF_RANGE: - case HCI_QOS_UNACCEPTABLE_PARAMETER: - return EOPNOTSUPP; - case HCI_INVALID_PARAMETERS: - case HCI_SLOT_VIOLATION: - return EINVAL; - case HCI_OE_USER_ENDED_CONNECTION: - case HCI_OE_LOW_RESOURCES: - case HCI_OE_POWER_OFF: - return ECONNRESET; - case HCI_CONNECTION_TERMINATED: - return ECONNABORTED; - case HCI_REPEATED_ATTEMPTS: - return ELOOP; - case HCI_REJECTED_SECURITY: - case HCI_PAIRING_NOT_ALLOWED: - case HCI_INSUFFICIENT_SECURITY: - return EACCES; - case HCI_UNSUPPORTED_REMOTE_FEATURE: - return EPROTONOSUPPORT; - case HCI_SCO_OFFSET_REJECTED: - return ECONNREFUSED; - case HCI_UNKNOWN_LMP_PDU: - case HCI_INVALID_LMP_PARAMETERS: - case HCI_LMP_ERROR_TRANSACTION_COLLISION: - case HCI_LMP_PDU_NOT_ALLOWED: - case HCI_ENCRYPTION_MODE_NOT_ACCEPTED: - return EPROTO; - default: - return ENOSYS; - } -} - -const char *bt_compidtostr(int compid) -{ - switch (compid) { - case 0: - return "Ericsson Technology Licensing"; - case 1: - return "Nokia Mobile Phones"; - case 2: - return "Intel Corp."; - case 3: - return "IBM Corp."; - case 4: - return "Toshiba Corp."; - case 5: - return "3Com"; - case 6: - return "Microsoft"; - case 7: - return "Lucent"; - case 8: - return "Motorola"; - case 9: - return "Infineon Technologies AG"; - case 10: - return "Cambridge Silicon Radio"; - case 11: - return "Silicon Wave"; - case 12: - return "Digianswer A/S"; - case 13: - return "Texas Instruments Inc."; - case 14: - return "Ceva, Inc. (formerly Parthus Technologies Inc.)"; - case 15: - return "Broadcom Corporation"; - case 16: - return "Mitel Semiconductor"; - case 17: - return "Widcomm, Inc."; - case 18: - return "Zeevo, Inc."; - case 19: - return "Atmel Corporation"; - case 20: - return "Mitsubishi Electric Corporation"; - case 21: - return "RTX Telecom A/S"; - case 22: - return "KC Technology Inc."; - case 23: - return "Newlogic"; - case 24: - return "Transilica, Inc."; - case 25: - return "Rohde & Schwartz GmbH & Co. KG"; - case 26: - return "TTPCom Limited"; - case 27: - return "Signia Technologies, Inc."; - case 28: - return "Conexant Systems Inc."; - case 29: - return "Qualcomm"; - case 30: - return "Inventel"; - case 31: - return "AVM Berlin"; - case 32: - return "BandSpeed, Inc."; - case 33: - return "Mansella Ltd"; - case 34: - return "NEC Corporation"; - case 35: - return "WavePlus Technology Co., Ltd."; - case 36: - return "Alcatel"; - case 37: - return "Philips Semiconductors"; - case 38: - return "C Technologies"; - case 39: - return "Open Interface"; - case 40: - return "R F Micro Devices"; - case 41: - return "Hitachi Ltd"; - case 42: - return "Symbol Technologies, Inc."; - case 43: - return "Tenovis"; - case 44: - return "Macronix International Co. Ltd."; - case 45: - return "GCT Semiconductor"; - case 46: - return "Norwood Systems"; - case 47: - return "MewTel Technology Inc."; - case 48: - return "ST Microelectronics"; - case 49: - return "Synopsys"; - case 50: - return "Red-M (Communications) Ltd"; - case 51: - return "Commil Ltd"; - case 52: - return "Computer Access Technology Corporation (CATC)"; - case 53: - return "Eclipse (HQ Espana) S.L."; - case 54: - return "Renesas Technology Corp."; - case 55: - return "Mobilian Corporation"; - case 56: - return "Terax"; - case 57: - return "Integrated System Solution Corp."; - case 58: - return "Matsushita Electric Industrial Co., Ltd."; - case 59: - return "Gennum Corporation"; - case 60: - return "Research In Motion"; - case 61: - return "IPextreme, Inc."; - case 62: - return "Systems and Chips, Inc"; - case 63: - return "Bluetooth SIG, Inc"; - case 64: - return "Seiko Epson Corporation"; - case 65: - return "Integrated Silicon Solution Taiwain, Inc."; - case 66: - return "CONWISE Technology Corporation Ltd"; - case 67: - return "PARROT SA"; - case 68: - return "Socket Mobile"; - case 69: - return "Atheros Communications, Inc."; - case 70: - return "MediaTek, Inc."; - case 71: - return "Bluegiga"; - case 72: - return "Marvell Technology Group Ltd."; - case 73: - return "3DSP Corporation"; - case 74: - return "Accel Semiconductor Ltd."; - case 75: - return "Continental Automotive Systems"; - case 76: - return "Apple, Inc."; - case 77: - return "Staccato Communications, Inc."; - case 78: - return "Avago Technologies"; - case 79: - return "APT Licensing Ltd."; - case 80: - return "SiRF Technology, Inc."; - case 81: - return "Tzero Technologies, Inc."; - case 82: - return "J&M Corporation"; - case 83: - return "Free2move AB"; - case 84: - return "3DiJoy Corporation"; - case 85: - return "Plantronics, Inc."; - case 86: - return "Sony Ericsson Mobile Communications"; - case 87: - return "Harman International Industries, Inc."; - case 88: - return "Vizio, Inc."; - case 89: - return "Nordic Semiconductor ASA"; - case 90: - return "EM Microelectronic-Marin SA"; - case 91: - return "Ralink Technology Corporation"; - case 92: - return "Belkin International, Inc."; - case 93: - return "Realtek Semiconductor Corporation"; - case 94: - return "Stonestreet One, LLC"; - case 95: - return "Wicentric, Inc."; - case 96: - return "RivieraWaves S.A.S"; - case 97: - return "RDA Microelectronics"; - case 98: - return "Gibson Guitars"; - case 99: - return "MiCommand Inc."; - case 100: - return "Band XI International, LLC"; - case 101: - return "Hewlett-Packard Company"; - case 102: - return "9Solutions Oy"; - case 103: - return "GN Netcom A/S"; - case 104: - return "General Motors"; - case 105: - return "A&D Engineering, Inc."; - case 106: - return "MindTree Ltd."; - case 107: - return "Polar Electro OY"; - case 108: - return "Beautiful Enterprise Co., Ltd."; - case 109: - return "BriarTek, Inc."; - case 110: - return "Summit Data Communications, Inc."; - case 111: - return "Sound ID"; - case 112: - return "Monster, LLC"; - case 113: - return "connectBlue AB"; - case 114: - return "ShangHai Super Smart Electronics Co. Ltd."; - case 115: - return "Group Sense Ltd."; - case 116: - return "Zomm, LLC"; - case 117: - return "Samsung Electronics Co. Ltd."; - case 118: - return "Creative Technology Ltd."; - case 119: - return "Laird Technologies"; - case 120: - return "Nike, Inc."; - case 121: - return "lesswire AG"; - case 122: - return "MStar Semiconductor, Inc."; - case 123: - return "Hanlynn Technologies"; - case 124: - return "A & R Cambridge"; - case 125: - return "Seers Technology Co. Ltd."; - case 126: - return "Sports Tracking Technologies Ltd."; - case 127: - return "Autonet Mobile"; - case 128: - return "DeLorme Publishing Company, Inc."; - case 129: - return "WuXi Vimicro"; - case 130: - return "Sennheiser Communications A/S"; - case 131: - return "TimeKeeping Systems, Inc."; - case 132: - return "Ludus Helsinki Ltd."; - case 133: - return "BlueRadios, Inc."; - case 134: - return "equinux AG"; - case 135: - return "Garmin International, Inc."; - case 136: - return "Ecotest"; - case 137: - return "GN ReSound A/S"; - case 138: - return "Jawbone"; - case 139: - return "Topcon Positioning Systems, LLC"; - case 140: - return "Qualcomm Labs, Inc."; - case 141: - return "Zscan Software"; - case 142: - return "Quintic Corp."; - case 143: - return "Stollmann E+V GmbH"; - case 144: - return "Funai Electric Co., Ltd."; - case 145: - return "Advanced PANMOBIL systems GmbH & Co. KG"; - case 146: - return "ThinkOptics, Inc."; - case 147: - return "Universal Electronics, Inc."; - case 148: - return "Airoha Technology Corp."; - case 149: - return "NEC Lighting, Ltd."; - case 150: - return "ODM Technology, Inc."; - case 151: - return "Bluetrek Technologies Limited"; - case 152: - return "zero1.tv GmbH"; - case 153: - return "i.Tech Dynamic Global Distribution Ltd."; - case 154: - return "Alpwise"; - case 155: - return "Jiangsu Toppower Automotive Electronics Co., Ltd."; - case 156: - return "Colorfy, Inc."; - case 157: - return "Geoforce Inc."; - case 158: - return "Bose Corporation"; - case 159: - return "Suunto Oy"; - case 160: - return "Kensington Computer Products Group"; - case 161: - return "SR-Medizinelektronik"; - case 162: - return "Vertu Corporation Limited"; - case 163: - return "Meta Watch Ltd."; - case 164: - return "LINAK A/S"; - case 165: - return "OTL Dynamics LLC"; - case 166: - return "Panda Ocean Inc."; - case 167: - return "Visteon Corporation"; - case 168: - return "ARP Devices Limited"; - case 169: - return "Magneti Marelli S.p.A."; - case 170: - return "CAEN RFID srl"; - case 171: - return "Ingenieur-Systemgruppe Zahn GmbH"; - case 172: - return "Green Throttle Games"; - case 173: - return "Peter Systemtechnik GmbH"; - case 174: - return "Omegawave Oy"; - case 175: - return "Cinetix"; - case 176: - return "Passif Semiconductor Corp"; - case 177: - return "Saris Cycling Group, Inc"; - case 178: - return "Bekey A/S"; - case 179: - return "Clarinox Technologies Pty. Ltd."; - case 180: - return "BDE Technology Co., Ltd."; - case 181: - return "Swirl Networks"; - case 182: - return "Meso international"; - case 183: - return "TreLab Ltd"; - case 184: - return "Qualcomm Innovation Center, Inc. (QuIC)"; - case 185: - return "Johnson Controls, Inc."; - case 186: - return "Starkey Laboratories Inc."; - case 187: - return "S-Power Electronics Limited"; - case 188: - return "Ace Sensor Inc."; - case 189: - return "Aplix Corporation"; - case 190: - return "AAMP of America"; - case 191: - return "Stalmart Technology Limited"; - case 192: - return "AMICCOM Electronics Corporation"; - case 193: - return "Shenzhen Excelsecu Data Technology Co.,Ltd"; - case 194: - return "Geneq Inc."; - case 195: - return "adidas AG"; - case 196: - return "LG Electronics"; - case 65535: - return "internal use"; - default: - return "not assigned"; - } -} diff --git a/GRIB_BLE_HUB/libs/ble_extend/lib/bluetooth.h b/GRIB_BLE_HUB/libs/ble_extend/lib/bluetooth.h deleted file mode 100644 index 48323f0..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/lib/bluetooth.h +++ /dev/null @@ -1,381 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2000-2001 Qualcomm Incorporated - * Copyright (C) 2002-2003 Maxim Krasnyansky - * Copyright (C) 2002-2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifndef __BLUETOOTH_H -#define __BLUETOOTH_H - -#ifdef __cplusplus -extern "C" { -#endif - -#include -#include -#include -#include -#include -#include - -#ifndef AF_BLUETOOTH -#define AF_BLUETOOTH 31 -#define PF_BLUETOOTH AF_BLUETOOTH -#endif - -#define BTPROTO_L2CAP 0 -#define BTPROTO_HCI 1 -#define BTPROTO_SCO 2 -#define BTPROTO_RFCOMM 3 -#define BTPROTO_BNEP 4 -#define BTPROTO_CMTP 5 -#define BTPROTO_HIDP 6 -#define BTPROTO_AVDTP 7 - -#define SOL_HCI 0 -#define SOL_L2CAP 6 -#define SOL_SCO 17 -#define SOL_RFCOMM 18 - -#ifndef SOL_BLUETOOTH -#define SOL_BLUETOOTH 274 -#endif - -#define BT_SECURITY 4 -struct bt_security { - uint8_t level; - uint8_t key_size; -}; -#define BT_SECURITY_SDP 0 -#define BT_SECURITY_LOW 1 -#define BT_SECURITY_MEDIUM 2 -#define BT_SECURITY_HIGH 3 - -#define BT_DEFER_SETUP 7 - -#define BT_FLUSHABLE 8 - -#define BT_FLUSHABLE_OFF 0 -#define BT_FLUSHABLE_ON 1 - -#define BT_CHANNEL_POLICY 10 - -/* BR/EDR only (default policy) - * AMP controllers cannot be used. - * Channel move requests from the remote device are denied. - * If the L2CAP channel is currently using AMP, move the channel to BR/EDR. - */ -#define BT_CHANNEL_POLICY_BREDR_ONLY 0 - -/* BR/EDR Preferred - * Allow use of AMP controllers. - * If the L2CAP channel is currently on AMP, move it to BR/EDR. - * Channel move requests from the remote device are allowed. - */ -#define BT_CHANNEL_POLICY_BREDR_PREFERRED 1 - -/* AMP Preferred - * Allow use of AMP controllers - * If the L2CAP channel is currently on BR/EDR and AMP controller - * resources are available, initiate a channel move to AMP. - * Channel move requests from the remote device are allowed. - * If the L2CAP socket has not been connected yet, try to create - * and configure the channel directly on an AMP controller rather - * than BR/EDR. - */ -#define BT_CHANNEL_POLICY_AMP_PREFERRED 2 - -/* Connection and socket states */ -enum { - BT_CONNECTED = 1, /* Equal to TCP_ESTABLISHED to make net code happy */ - BT_OPEN, - BT_BOUND, - BT_LISTEN, - BT_CONNECT, - BT_CONNECT2, - BT_CONFIG, - BT_DISCONN, - BT_CLOSED -}; - -/* Byte order conversions */ -#if __BYTE_ORDER == __LITTLE_ENDIAN -#define htobs(d) (d) -#define htobl(d) (d) -#define htobll(d) (d) -#define btohs(d) (d) -#define btohl(d) (d) -#define btohll(d) (d) -#elif __BYTE_ORDER == __BIG_ENDIAN -#define htobs(d) bswap_16(d) -#define htobl(d) bswap_32(d) -#define htobll(d) bswap_64(d) -#define btohs(d) bswap_16(d) -#define btohl(d) bswap_32(d) -#define btohll(d) bswap_64(d) -#else -#error "Unknown byte order" -#endif - -/* Bluetooth unaligned access */ -#define bt_get_unaligned(ptr) \ -({ \ - struct __attribute__((packed)) { \ - typeof(*(ptr)) __v; \ - } *__p = (typeof(__p)) (ptr); \ - __p->__v; \ -}) - -#define bt_put_unaligned(val, ptr) \ -do { \ - struct __attribute__((packed)) { \ - typeof(*(ptr)) __v; \ - } *__p = (typeof(__p)) (ptr); \ - __p->__v = (val); \ -} while(0) - -#if __BYTE_ORDER == __LITTLE_ENDIAN -static inline uint64_t bt_get_le64(const void *ptr) -{ - return bt_get_unaligned((const uint64_t *) ptr); -} - -static inline uint64_t bt_get_be64(const void *ptr) -{ - return bswap_64(bt_get_unaligned((const uint64_t *) ptr)); -} - -static inline uint32_t bt_get_le32(const void *ptr) -{ - return bt_get_unaligned((const uint32_t *) ptr); -} - -static inline uint32_t bt_get_be32(const void *ptr) -{ - return bswap_32(bt_get_unaligned((const uint32_t *) ptr)); -} - -static inline uint16_t bt_get_le16(const void *ptr) -{ - return bt_get_unaligned((const uint16_t *) ptr); -} - -static inline uint16_t bt_get_be16(const void *ptr) -{ - return bswap_16(bt_get_unaligned((const uint16_t *) ptr)); -} - -static inline void bt_put_le64(uint64_t val, const void *ptr) -{ - bt_put_unaligned(val, (uint64_t *) ptr); -} - -static inline void bt_put_be64(uint64_t val, const void *ptr) -{ - bt_put_unaligned(bswap_64(val), (uint64_t *) ptr); -} - -static inline void bt_put_le32(uint32_t val, const void *ptr) -{ - bt_put_unaligned(val, (uint32_t *) ptr); -} - -static inline void bt_put_be32(uint32_t val, const void *ptr) -{ - bt_put_unaligned(bswap_32(val), (uint32_t *) ptr); -} - -static inline void bt_put_le16(uint16_t val, const void *ptr) -{ - bt_put_unaligned(val, (uint16_t *) ptr); -} - -static inline void bt_put_be16(uint16_t val, const void *ptr) -{ - bt_put_unaligned(bswap_16(val), (uint16_t *) ptr); -} - -#elif __BYTE_ORDER == __BIG_ENDIAN -static inline uint64_t bt_get_le64(const void *ptr) -{ - return bswap_64(bt_get_unaligned((const uint64_t *) ptr)); -} - -static inline uint64_t bt_get_be64(const void *ptr) -{ - return bt_get_unaligned((const uint64_t *) ptr); -} - -static inline uint32_t bt_get_le32(const void *ptr) -{ - return bswap_32(bt_get_unaligned((const uint32_t *) ptr)); -} - -static inline uint32_t bt_get_be32(const void *ptr) -{ - return bt_get_unaligned((const uint32_t *) ptr); -} - -static inline uint16_t bt_get_le16(const void *ptr) -{ - return bswap_16(bt_get_unaligned((const uint16_t *) ptr)); -} - -static inline uint16_t bt_get_be16(const void *ptr) -{ - return bt_get_unaligned((const uint16_t *) ptr); -} - -static inline void bt_put_le64(uint64_t val, const void *ptr) -{ - bt_put_unaligned(bswap_64(val), (uint64_t *) ptr); -} - -static inline void bt_put_be64(uint64_t val, const void *ptr) -{ - bt_put_unaligned(val, (uint64_t *) ptr); -} - -static inline void bt_put_le32(uint32_t val, const void *ptr) -{ - bt_put_unaligned(bswap_32(val), (uint32_t *) ptr); -} - -static inline void bt_put_be32(uint32_t val, const void *ptr) -{ - bt_put_unaligned(val, (uint32_t *) ptr); -} - -static inline void bt_put_le16(uint16_t val, const void *ptr) -{ - bt_put_unaligned(bswap_16(val), (uint16_t *) ptr); -} - -static inline void bt_put_be16(uint16_t val, const void *ptr) -{ - bt_put_unaligned(val, (uint16_t *) ptr); -} -#else -#error "Unknown byte order" -#endif - -/* BD Address */ -typedef struct { - uint8_t b[6]; -} __attribute__((packed)) bdaddr_t; - -/* BD Address type */ -#define BDADDR_BREDR 0x00 -#define BDADDR_LE_PUBLIC 0x01 -#define BDADDR_LE_RANDOM 0x02 - -#define BDADDR_ANY (&(bdaddr_t) {{0, 0, 0, 0, 0, 0}}) -#define BDADDR_ALL (&(bdaddr_t) {{0xff, 0xff, 0xff, 0xff, 0xff, 0xff}}) -#define BDADDR_LOCAL (&(bdaddr_t) {{0, 0, 0, 0xff, 0xff, 0xff}}) - -/* Copy, swap, convert BD Address */ -static inline int bacmp(const bdaddr_t *ba1, const bdaddr_t *ba2) -{ - return memcmp(ba1, ba2, sizeof(bdaddr_t)); -} -static inline void bacpy(bdaddr_t *dst, const bdaddr_t *src) -{ - memcpy(dst, src, sizeof(bdaddr_t)); -} - -void baswap(bdaddr_t *dst, const bdaddr_t *src); -bdaddr_t *strtoba(const char *str); -char *batostr(const bdaddr_t *ba); -int ba2str(const bdaddr_t *ba, char *str); -int str2ba(const char *str, bdaddr_t *ba); -int ba2oui(const bdaddr_t *ba, char *oui); -int bachk(const char *str); - -int baprintf(const char *format, ...); -int bafprintf(FILE *stream, const char *format, ...); -int basprintf(char *str, const char *format, ...); -int basnprintf(char *str, size_t size, const char *format, ...); - -void *bt_malloc(size_t size); -void bt_free(void *ptr); - -int bt_error(uint16_t code); -const char *bt_compidtostr(int id); - -typedef struct { - uint8_t data[16]; -} uint128_t; - -#if __BYTE_ORDER == __BIG_ENDIAN - -#define ntoh64(x) (x) - -static inline void ntoh128(const uint128_t *src, uint128_t *dst) -{ - memcpy(dst, src, sizeof(uint128_t)); -} - -static inline void btoh128(const uint128_t *src, uint128_t *dst) -{ - int i; - - for (i = 0; i < 16; i++) - dst->data[15 - i] = src->data[i]; -} - -#else - -static inline uint64_t ntoh64(uint64_t n) -{ - uint64_t h; - uint64_t tmp = ntohl(n & 0x00000000ffffffff); - - h = ntohl(n >> 32); - h |= tmp << 32; - - return h; -} - -static inline void ntoh128(const uint128_t *src, uint128_t *dst) -{ - int i; - - for (i = 0; i < 16; i++) - dst->data[15 - i] = src->data[i]; -} - -static inline void btoh128(const uint128_t *src, uint128_t *dst) -{ - memcpy(dst, src, sizeof(uint128_t)); -} - -#endif - -#define hton64(x) ntoh64(x) -#define hton128(x, y) ntoh128(x, y) -#define htob128(x, y) btoh128(x, y) - -#ifdef __cplusplus -} -#endif - -#endif /* __BLUETOOTH_H */ diff --git a/GRIB_BLE_HUB/libs/ble_extend/lib/bluetooth.lo b/GRIB_BLE_HUB/libs/ble_extend/lib/bluetooth.lo deleted file mode 100644 index ed8bc06..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/lib/bluetooth.lo +++ /dev/null @@ -1,12 +0,0 @@ -# lib/bluetooth.lo - a libtool object file -# Generated by libtool (GNU libtool) 2.4.2 Debian-2.4.2-1.1 -# -# Please DO NOT delete this file! -# It is necessary for linking the library. - -# Name of the PIC object. -pic_object='.libs/bluetooth.o' - -# Name of the non-PIC object -non_pic_object=none - diff --git a/GRIB_BLE_HUB/libs/ble_extend/lib/bluetooth/bluetooth.h b/GRIB_BLE_HUB/libs/ble_extend/lib/bluetooth/bluetooth.h deleted file mode 100644 index 48323f0..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/lib/bluetooth/bluetooth.h +++ /dev/null @@ -1,381 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2000-2001 Qualcomm Incorporated - * Copyright (C) 2002-2003 Maxim Krasnyansky - * Copyright (C) 2002-2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifndef __BLUETOOTH_H -#define __BLUETOOTH_H - -#ifdef __cplusplus -extern "C" { -#endif - -#include -#include -#include -#include -#include -#include - -#ifndef AF_BLUETOOTH -#define AF_BLUETOOTH 31 -#define PF_BLUETOOTH AF_BLUETOOTH -#endif - -#define BTPROTO_L2CAP 0 -#define BTPROTO_HCI 1 -#define BTPROTO_SCO 2 -#define BTPROTO_RFCOMM 3 -#define BTPROTO_BNEP 4 -#define BTPROTO_CMTP 5 -#define BTPROTO_HIDP 6 -#define BTPROTO_AVDTP 7 - -#define SOL_HCI 0 -#define SOL_L2CAP 6 -#define SOL_SCO 17 -#define SOL_RFCOMM 18 - -#ifndef SOL_BLUETOOTH -#define SOL_BLUETOOTH 274 -#endif - -#define BT_SECURITY 4 -struct bt_security { - uint8_t level; - uint8_t key_size; -}; -#define BT_SECURITY_SDP 0 -#define BT_SECURITY_LOW 1 -#define BT_SECURITY_MEDIUM 2 -#define BT_SECURITY_HIGH 3 - -#define BT_DEFER_SETUP 7 - -#define BT_FLUSHABLE 8 - -#define BT_FLUSHABLE_OFF 0 -#define BT_FLUSHABLE_ON 1 - -#define BT_CHANNEL_POLICY 10 - -/* BR/EDR only (default policy) - * AMP controllers cannot be used. - * Channel move requests from the remote device are denied. - * If the L2CAP channel is currently using AMP, move the channel to BR/EDR. - */ -#define BT_CHANNEL_POLICY_BREDR_ONLY 0 - -/* BR/EDR Preferred - * Allow use of AMP controllers. - * If the L2CAP channel is currently on AMP, move it to BR/EDR. - * Channel move requests from the remote device are allowed. - */ -#define BT_CHANNEL_POLICY_BREDR_PREFERRED 1 - -/* AMP Preferred - * Allow use of AMP controllers - * If the L2CAP channel is currently on BR/EDR and AMP controller - * resources are available, initiate a channel move to AMP. - * Channel move requests from the remote device are allowed. - * If the L2CAP socket has not been connected yet, try to create - * and configure the channel directly on an AMP controller rather - * than BR/EDR. - */ -#define BT_CHANNEL_POLICY_AMP_PREFERRED 2 - -/* Connection and socket states */ -enum { - BT_CONNECTED = 1, /* Equal to TCP_ESTABLISHED to make net code happy */ - BT_OPEN, - BT_BOUND, - BT_LISTEN, - BT_CONNECT, - BT_CONNECT2, - BT_CONFIG, - BT_DISCONN, - BT_CLOSED -}; - -/* Byte order conversions */ -#if __BYTE_ORDER == __LITTLE_ENDIAN -#define htobs(d) (d) -#define htobl(d) (d) -#define htobll(d) (d) -#define btohs(d) (d) -#define btohl(d) (d) -#define btohll(d) (d) -#elif __BYTE_ORDER == __BIG_ENDIAN -#define htobs(d) bswap_16(d) -#define htobl(d) bswap_32(d) -#define htobll(d) bswap_64(d) -#define btohs(d) bswap_16(d) -#define btohl(d) bswap_32(d) -#define btohll(d) bswap_64(d) -#else -#error "Unknown byte order" -#endif - -/* Bluetooth unaligned access */ -#define bt_get_unaligned(ptr) \ -({ \ - struct __attribute__((packed)) { \ - typeof(*(ptr)) __v; \ - } *__p = (typeof(__p)) (ptr); \ - __p->__v; \ -}) - -#define bt_put_unaligned(val, ptr) \ -do { \ - struct __attribute__((packed)) { \ - typeof(*(ptr)) __v; \ - } *__p = (typeof(__p)) (ptr); \ - __p->__v = (val); \ -} while(0) - -#if __BYTE_ORDER == __LITTLE_ENDIAN -static inline uint64_t bt_get_le64(const void *ptr) -{ - return bt_get_unaligned((const uint64_t *) ptr); -} - -static inline uint64_t bt_get_be64(const void *ptr) -{ - return bswap_64(bt_get_unaligned((const uint64_t *) ptr)); -} - -static inline uint32_t bt_get_le32(const void *ptr) -{ - return bt_get_unaligned((const uint32_t *) ptr); -} - -static inline uint32_t bt_get_be32(const void *ptr) -{ - return bswap_32(bt_get_unaligned((const uint32_t *) ptr)); -} - -static inline uint16_t bt_get_le16(const void *ptr) -{ - return bt_get_unaligned((const uint16_t *) ptr); -} - -static inline uint16_t bt_get_be16(const void *ptr) -{ - return bswap_16(bt_get_unaligned((const uint16_t *) ptr)); -} - -static inline void bt_put_le64(uint64_t val, const void *ptr) -{ - bt_put_unaligned(val, (uint64_t *) ptr); -} - -static inline void bt_put_be64(uint64_t val, const void *ptr) -{ - bt_put_unaligned(bswap_64(val), (uint64_t *) ptr); -} - -static inline void bt_put_le32(uint32_t val, const void *ptr) -{ - bt_put_unaligned(val, (uint32_t *) ptr); -} - -static inline void bt_put_be32(uint32_t val, const void *ptr) -{ - bt_put_unaligned(bswap_32(val), (uint32_t *) ptr); -} - -static inline void bt_put_le16(uint16_t val, const void *ptr) -{ - bt_put_unaligned(val, (uint16_t *) ptr); -} - -static inline void bt_put_be16(uint16_t val, const void *ptr) -{ - bt_put_unaligned(bswap_16(val), (uint16_t *) ptr); -} - -#elif __BYTE_ORDER == __BIG_ENDIAN -static inline uint64_t bt_get_le64(const void *ptr) -{ - return bswap_64(bt_get_unaligned((const uint64_t *) ptr)); -} - -static inline uint64_t bt_get_be64(const void *ptr) -{ - return bt_get_unaligned((const uint64_t *) ptr); -} - -static inline uint32_t bt_get_le32(const void *ptr) -{ - return bswap_32(bt_get_unaligned((const uint32_t *) ptr)); -} - -static inline uint32_t bt_get_be32(const void *ptr) -{ - return bt_get_unaligned((const uint32_t *) ptr); -} - -static inline uint16_t bt_get_le16(const void *ptr) -{ - return bswap_16(bt_get_unaligned((const uint16_t *) ptr)); -} - -static inline uint16_t bt_get_be16(const void *ptr) -{ - return bt_get_unaligned((const uint16_t *) ptr); -} - -static inline void bt_put_le64(uint64_t val, const void *ptr) -{ - bt_put_unaligned(bswap_64(val), (uint64_t *) ptr); -} - -static inline void bt_put_be64(uint64_t val, const void *ptr) -{ - bt_put_unaligned(val, (uint64_t *) ptr); -} - -static inline void bt_put_le32(uint32_t val, const void *ptr) -{ - bt_put_unaligned(bswap_32(val), (uint32_t *) ptr); -} - -static inline void bt_put_be32(uint32_t val, const void *ptr) -{ - bt_put_unaligned(val, (uint32_t *) ptr); -} - -static inline void bt_put_le16(uint16_t val, const void *ptr) -{ - bt_put_unaligned(bswap_16(val), (uint16_t *) ptr); -} - -static inline void bt_put_be16(uint16_t val, const void *ptr) -{ - bt_put_unaligned(val, (uint16_t *) ptr); -} -#else -#error "Unknown byte order" -#endif - -/* BD Address */ -typedef struct { - uint8_t b[6]; -} __attribute__((packed)) bdaddr_t; - -/* BD Address type */ -#define BDADDR_BREDR 0x00 -#define BDADDR_LE_PUBLIC 0x01 -#define BDADDR_LE_RANDOM 0x02 - -#define BDADDR_ANY (&(bdaddr_t) {{0, 0, 0, 0, 0, 0}}) -#define BDADDR_ALL (&(bdaddr_t) {{0xff, 0xff, 0xff, 0xff, 0xff, 0xff}}) -#define BDADDR_LOCAL (&(bdaddr_t) {{0, 0, 0, 0xff, 0xff, 0xff}}) - -/* Copy, swap, convert BD Address */ -static inline int bacmp(const bdaddr_t *ba1, const bdaddr_t *ba2) -{ - return memcmp(ba1, ba2, sizeof(bdaddr_t)); -} -static inline void bacpy(bdaddr_t *dst, const bdaddr_t *src) -{ - memcpy(dst, src, sizeof(bdaddr_t)); -} - -void baswap(bdaddr_t *dst, const bdaddr_t *src); -bdaddr_t *strtoba(const char *str); -char *batostr(const bdaddr_t *ba); -int ba2str(const bdaddr_t *ba, char *str); -int str2ba(const char *str, bdaddr_t *ba); -int ba2oui(const bdaddr_t *ba, char *oui); -int bachk(const char *str); - -int baprintf(const char *format, ...); -int bafprintf(FILE *stream, const char *format, ...); -int basprintf(char *str, const char *format, ...); -int basnprintf(char *str, size_t size, const char *format, ...); - -void *bt_malloc(size_t size); -void bt_free(void *ptr); - -int bt_error(uint16_t code); -const char *bt_compidtostr(int id); - -typedef struct { - uint8_t data[16]; -} uint128_t; - -#if __BYTE_ORDER == __BIG_ENDIAN - -#define ntoh64(x) (x) - -static inline void ntoh128(const uint128_t *src, uint128_t *dst) -{ - memcpy(dst, src, sizeof(uint128_t)); -} - -static inline void btoh128(const uint128_t *src, uint128_t *dst) -{ - int i; - - for (i = 0; i < 16; i++) - dst->data[15 - i] = src->data[i]; -} - -#else - -static inline uint64_t ntoh64(uint64_t n) -{ - uint64_t h; - uint64_t tmp = ntohl(n & 0x00000000ffffffff); - - h = ntohl(n >> 32); - h |= tmp << 32; - - return h; -} - -static inline void ntoh128(const uint128_t *src, uint128_t *dst) -{ - int i; - - for (i = 0; i < 16; i++) - dst->data[15 - i] = src->data[i]; -} - -static inline void btoh128(const uint128_t *src, uint128_t *dst) -{ - memcpy(dst, src, sizeof(uint128_t)); -} - -#endif - -#define hton64(x) ntoh64(x) -#define hton128(x, y) ntoh128(x, y) -#define htob128(x, y) btoh128(x, y) - -#ifdef __cplusplus -} -#endif - -#endif /* __BLUETOOTH_H */ diff --git a/GRIB_BLE_HUB/libs/ble_extend/lib/bluetooth/bnep.h b/GRIB_BLE_HUB/libs/ble_extend/lib/bluetooth/bnep.h deleted file mode 100644 index 2bbfb17..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/lib/bluetooth/bnep.h +++ /dev/null @@ -1,153 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2002-2003 Maxim Krasnyansky - * Copyright (C) 2002-2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifndef __BNEP_H -#define __BNEP_H - -#ifdef __cplusplus -extern "C" { -#endif - -#include - -#ifndef ETH_ALEN -#define ETH_ALEN 6 /* from */ -#endif - -/* BNEP UUIDs */ -#define BNEP_BASE_UUID 0x0000000000001000800000805F9B34FB -#define BNEP_UUID16 0x02 -#define BNEP_UUID32 0x04 -#define BNEP_UUID128 0x16 - -#define BNEP_SVC_PANU 0x1115 -#define BNEP_SVC_NAP 0x1116 -#define BNEP_SVC_GN 0x1117 - -/* BNEP packet types */ -#define BNEP_GENERAL 0x00 -#define BNEP_CONTROL 0x01 -#define BNEP_COMPRESSED 0x02 -#define BNEP_COMPRESSED_SRC_ONLY 0x03 -#define BNEP_COMPRESSED_DST_ONLY 0x04 - -/* BNEP control types */ -#define BNEP_CMD_NOT_UNDERSTOOD 0x00 -#define BNEP_SETUP_CONN_REQ 0x01 -#define BNEP_SETUP_CONN_RSP 0x02 -#define BNEP_FILTER_NET_TYPE_SET 0x03 -#define BNEP_FILTER_NET_TYPE_RSP 0x04 -#define BNEP_FILTER_MULT_ADDR_SET 0x05 -#define BNEP_FILTER_MULT_ADDR_RSP 0x06 - -/* BNEP response messages */ -#define BNEP_SUCCESS 0x00 - -#define BNEP_CONN_INVALID_DST 0x01 -#define BNEP_CONN_INVALID_SRC 0x02 -#define BNEP_CONN_INVALID_SVC 0x03 -#define BNEP_CONN_NOT_ALLOWED 0x04 - -#define BNEP_FILTER_UNSUPPORTED_REQ 0x01 -#define BNEP_FILTER_INVALID_RANGE 0x02 -#define BNEP_FILTER_INVALID_MCADDR 0x02 -#define BNEP_FILTER_LIMIT_REACHED 0x03 -#define BNEP_FILTER_DENIED_SECURITY 0x04 - -/* L2CAP settings */ -#define BNEP_MTU 1691 -#define BNEP_FLUSH_TO 0xffff -#define BNEP_CONNECT_TO 15 -#define BNEP_FILTER_TO 15 - -#ifndef BNEP_PSM -#define BNEP_PSM 0x0f -#endif - -/* BNEP headers */ -#define BNEP_TYPE_MASK 0x7f -#define BNEP_EXT_HEADER 0x80 - -struct bnep_setup_conn_req { - uint8_t type; - uint8_t ctrl; - uint8_t uuid_size; - uint8_t service[0]; -} __attribute__((packed)); - -struct bnep_set_filter_req { - uint8_t type; - uint8_t ctrl; - uint16_t len; - uint8_t list[0]; -} __attribute__((packed)); - -struct bnep_control_rsp { - uint8_t type; - uint8_t ctrl; - uint16_t resp; -} __attribute__((packed)); - -struct bnep_ext_hdr { - uint8_t type; - uint8_t len; - uint8_t data[0]; -} __attribute__((packed)); - -/* BNEP ioctl defines */ -#define BNEPCONNADD _IOW('B', 200, int) -#define BNEPCONNDEL _IOW('B', 201, int) -#define BNEPGETCONNLIST _IOR('B', 210, int) -#define BNEPGETCONNINFO _IOR('B', 211, int) - -struct bnep_connadd_req { - int sock; /* Connected socket */ - uint32_t flags; - uint16_t role; - char device[16]; /* Name of the Ethernet device */ -}; - -struct bnep_conndel_req { - uint32_t flags; - uint8_t dst[ETH_ALEN]; -}; - -struct bnep_conninfo { - uint32_t flags; - uint16_t role; - uint16_t state; - uint8_t dst[ETH_ALEN]; - char device[16]; -}; - -struct bnep_connlist_req { - uint32_t cnum; - struct bnep_conninfo *ci; -}; - -#ifdef __cplusplus -} -#endif - -#endif /* __BNEP_H */ diff --git a/GRIB_BLE_HUB/libs/ble_extend/lib/bluetooth/cmtp.h b/GRIB_BLE_HUB/libs/ble_extend/lib/bluetooth/cmtp.h deleted file mode 100644 index ce937bd..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/lib/bluetooth/cmtp.h +++ /dev/null @@ -1,69 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2002-2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifndef __CMTP_H -#define __CMTP_H - -#ifdef __cplusplus -extern "C" { -#endif - -/* CMTP defaults */ -#define CMTP_MINIMUM_MTU 152 -#define CMTP_DEFAULT_MTU 672 - -/* CMTP ioctl defines */ -#define CMTPCONNADD _IOW('C', 200, int) -#define CMTPCONNDEL _IOW('C', 201, int) -#define CMTPGETCONNLIST _IOR('C', 210, int) -#define CMTPGETCONNINFO _IOR('C', 211, int) - -#define CMTP_LOOPBACK 0 - -struct cmtp_connadd_req { - int sock; /* Connected socket */ - uint32_t flags; -}; - -struct cmtp_conndel_req { - bdaddr_t bdaddr; - uint32_t flags; -}; - -struct cmtp_conninfo { - bdaddr_t bdaddr; - uint32_t flags; - uint16_t state; - int num; -}; - -struct cmtp_connlist_req { - uint32_t cnum; - struct cmtp_conninfo *ci; -}; - -#ifdef __cplusplus -} -#endif - -#endif /* __CMTP_H */ diff --git a/GRIB_BLE_HUB/libs/ble_extend/lib/bluetooth/hci.h b/GRIB_BLE_HUB/libs/ble_extend/lib/bluetooth/hci.h deleted file mode 100644 index 56c9316..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/lib/bluetooth/hci.h +++ /dev/null @@ -1,2410 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2000-2001 Qualcomm Incorporated - * Copyright (C) 2002-2003 Maxim Krasnyansky - * Copyright (C) 2002-2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifndef __HCI_H -#define __HCI_H - -#ifdef __cplusplus -extern "C" { -#endif - -#include - -#define HCI_MAX_DEV 16 - -#define HCI_MAX_ACL_SIZE (1492 + 4) -#define HCI_MAX_SCO_SIZE 255 -#define HCI_MAX_EVENT_SIZE 260 -#define HCI_MAX_FRAME_SIZE (HCI_MAX_ACL_SIZE + 4) - -/* HCI dev events */ -#define HCI_DEV_REG 1 -#define HCI_DEV_UNREG 2 -#define HCI_DEV_UP 3 -#define HCI_DEV_DOWN 4 -#define HCI_DEV_SUSPEND 5 -#define HCI_DEV_RESUME 6 - -/* HCI bus types */ -#define HCI_VIRTUAL 0 -#define HCI_USB 1 -#define HCI_PCCARD 2 -#define HCI_UART 3 -#define HCI_RS232 4 -#define HCI_PCI 5 -#define HCI_SDIO 6 - -/* HCI controller types */ -#define HCI_BREDR 0x00 -#define HCI_AMP 0x01 - -/* HCI device flags */ -enum { - HCI_UP, - HCI_INIT, - HCI_RUNNING, - - HCI_PSCAN, - HCI_ISCAN, - HCI_AUTH, - HCI_ENCRYPT, - HCI_INQUIRY, - - HCI_RAW, -}; - -/* LE address type */ -enum { - LE_PUBLIC_ADDRESS = 0x00, - LE_RANDOM_ADDRESS = 0x01 -}; - -/* HCI ioctl defines */ -#define HCIDEVUP _IOW('H', 201, int) -#define HCIDEVDOWN _IOW('H', 202, int) -#define HCIDEVRESET _IOW('H', 203, int) -#define HCIDEVRESTAT _IOW('H', 204, int) - -#define HCIGETDEVLIST _IOR('H', 210, int) -#define HCIGETDEVINFO _IOR('H', 211, int) -#define HCIGETCONNLIST _IOR('H', 212, int) -#define HCIGETCONNINFO _IOR('H', 213, int) -#define HCIGETAUTHINFO _IOR('H', 215, int) - -#define HCISETRAW _IOW('H', 220, int) -#define HCISETSCAN _IOW('H', 221, int) -#define HCISETAUTH _IOW('H', 222, int) -#define HCISETENCRYPT _IOW('H', 223, int) -#define HCISETPTYPE _IOW('H', 224, int) -#define HCISETLINKPOL _IOW('H', 225, int) -#define HCISETLINKMODE _IOW('H', 226, int) -#define HCISETACLMTU _IOW('H', 227, int) -#define HCISETSCOMTU _IOW('H', 228, int) - -#define HCIBLOCKADDR _IOW('H', 230, int) -#define HCIUNBLOCKADDR _IOW('H', 231, int) - -#define HCIINQUIRY _IOR('H', 240, int) - -#ifndef __NO_HCI_DEFS - -/* HCI Packet types */ -#define HCI_COMMAND_PKT 0x01 -#define HCI_ACLDATA_PKT 0x02 -#define HCI_SCODATA_PKT 0x03 -#define HCI_EVENT_PKT 0x04 -#define HCI_VENDOR_PKT 0xff - -/* HCI Packet types */ -#define HCI_2DH1 0x0002 -#define HCI_3DH1 0x0004 -#define HCI_DM1 0x0008 -#define HCI_DH1 0x0010 -#define HCI_2DH3 0x0100 -#define HCI_3DH3 0x0200 -#define HCI_DM3 0x0400 -#define HCI_DH3 0x0800 -#define HCI_2DH5 0x1000 -#define HCI_3DH5 0x2000 -#define HCI_DM5 0x4000 -#define HCI_DH5 0x8000 - -#define HCI_HV1 0x0020 -#define HCI_HV2 0x0040 -#define HCI_HV3 0x0080 - -#define HCI_EV3 0x0008 -#define HCI_EV4 0x0010 -#define HCI_EV5 0x0020 -#define HCI_2EV3 0x0040 -#define HCI_3EV3 0x0080 -#define HCI_2EV5 0x0100 -#define HCI_3EV5 0x0200 - -#define SCO_PTYPE_MASK (HCI_HV1 | HCI_HV2 | HCI_HV3) -#define ACL_PTYPE_MASK (HCI_DM1 | HCI_DH1 | HCI_DM3 | HCI_DH3 | HCI_DM5 | HCI_DH5) - -/* HCI Error codes */ -#define HCI_UNKNOWN_COMMAND 0x01 -#define HCI_NO_CONNECTION 0x02 -#define HCI_HARDWARE_FAILURE 0x03 -#define HCI_PAGE_TIMEOUT 0x04 -#define HCI_AUTHENTICATION_FAILURE 0x05 -#define HCI_PIN_OR_KEY_MISSING 0x06 -#define HCI_MEMORY_FULL 0x07 -#define HCI_CONNECTION_TIMEOUT 0x08 -#define HCI_MAX_NUMBER_OF_CONNECTIONS 0x09 -#define HCI_MAX_NUMBER_OF_SCO_CONNECTIONS 0x0a -#define HCI_ACL_CONNECTION_EXISTS 0x0b -#define HCI_COMMAND_DISALLOWED 0x0c -#define HCI_REJECTED_LIMITED_RESOURCES 0x0d -#define HCI_REJECTED_SECURITY 0x0e -#define HCI_REJECTED_PERSONAL 0x0f -#define HCI_HOST_TIMEOUT 0x10 -#define HCI_UNSUPPORTED_FEATURE 0x11 -#define HCI_INVALID_PARAMETERS 0x12 -#define HCI_OE_USER_ENDED_CONNECTION 0x13 -#define HCI_OE_LOW_RESOURCES 0x14 -#define HCI_OE_POWER_OFF 0x15 -#define HCI_CONNECTION_TERMINATED 0x16 -#define HCI_REPEATED_ATTEMPTS 0x17 -#define HCI_PAIRING_NOT_ALLOWED 0x18 -#define HCI_UNKNOWN_LMP_PDU 0x19 -#define HCI_UNSUPPORTED_REMOTE_FEATURE 0x1a -#define HCI_SCO_OFFSET_REJECTED 0x1b -#define HCI_SCO_INTERVAL_REJECTED 0x1c -#define HCI_AIR_MODE_REJECTED 0x1d -#define HCI_INVALID_LMP_PARAMETERS 0x1e -#define HCI_UNSPECIFIED_ERROR 0x1f -#define HCI_UNSUPPORTED_LMP_PARAMETER_VALUE 0x20 -#define HCI_ROLE_CHANGE_NOT_ALLOWED 0x21 -#define HCI_LMP_RESPONSE_TIMEOUT 0x22 -#define HCI_LMP_ERROR_TRANSACTION_COLLISION 0x23 -#define HCI_LMP_PDU_NOT_ALLOWED 0x24 -#define HCI_ENCRYPTION_MODE_NOT_ACCEPTED 0x25 -#define HCI_UNIT_LINK_KEY_USED 0x26 -#define HCI_QOS_NOT_SUPPORTED 0x27 -#define HCI_INSTANT_PASSED 0x28 -#define HCI_PAIRING_NOT_SUPPORTED 0x29 -#define HCI_TRANSACTION_COLLISION 0x2a -#define HCI_QOS_UNACCEPTABLE_PARAMETER 0x2c -#define HCI_QOS_REJECTED 0x2d -#define HCI_CLASSIFICATION_NOT_SUPPORTED 0x2e -#define HCI_INSUFFICIENT_SECURITY 0x2f -#define HCI_PARAMETER_OUT_OF_RANGE 0x30 -#define HCI_ROLE_SWITCH_PENDING 0x32 -#define HCI_SLOT_VIOLATION 0x34 -#define HCI_ROLE_SWITCH_FAILED 0x35 -#define HCI_EIR_TOO_LARGE 0x36 -#define HCI_SIMPLE_PAIRING_NOT_SUPPORTED 0x37 -#define HCI_HOST_BUSY_PAIRING 0x38 - -/* ACL flags */ -#define ACL_START_NO_FLUSH 0x00 -#define ACL_CONT 0x01 -#define ACL_START 0x02 -#define ACL_ACTIVE_BCAST 0x04 -#define ACL_PICO_BCAST 0x08 - -/* Baseband links */ -#define SCO_LINK 0x00 -#define ACL_LINK 0x01 -#define ESCO_LINK 0x02 - -/* LMP features */ -#define LMP_3SLOT 0x01 -#define LMP_5SLOT 0x02 -#define LMP_ENCRYPT 0x04 -#define LMP_SOFFSET 0x08 -#define LMP_TACCURACY 0x10 -#define LMP_RSWITCH 0x20 -#define LMP_HOLD 0x40 -#define LMP_SNIFF 0x80 - -#define LMP_PARK 0x01 -#define LMP_RSSI 0x02 -#define LMP_QUALITY 0x04 -#define LMP_SCO 0x08 -#define LMP_HV2 0x10 -#define LMP_HV3 0x20 -#define LMP_ULAW 0x40 -#define LMP_ALAW 0x80 - -#define LMP_CVSD 0x01 -#define LMP_PSCHEME 0x02 -#define LMP_PCONTROL 0x04 -#define LMP_TRSP_SCO 0x08 -#define LMP_BCAST_ENC 0x80 - -#define LMP_EDR_ACL_2M 0x02 -#define LMP_EDR_ACL_3M 0x04 -#define LMP_ENH_ISCAN 0x08 -#define LMP_ILACE_ISCAN 0x10 -#define LMP_ILACE_PSCAN 0x20 -#define LMP_RSSI_INQ 0x40 -#define LMP_ESCO 0x80 - -#define LMP_EV4 0x01 -#define LMP_EV5 0x02 -#define LMP_AFH_CAP_SLV 0x08 -#define LMP_AFH_CLS_SLV 0x10 -#define LMP_NO_BREDR 0x20 -#define LMP_LE 0x40 -#define LMP_EDR_3SLOT 0x80 - -#define LMP_EDR_5SLOT 0x01 -#define LMP_SNIFF_SUBR 0x02 -#define LMP_PAUSE_ENC 0x04 -#define LMP_AFH_CAP_MST 0x08 -#define LMP_AFH_CLS_MST 0x10 -#define LMP_EDR_ESCO_2M 0x20 -#define LMP_EDR_ESCO_3M 0x40 -#define LMP_EDR_3S_ESCO 0x80 - -#define LMP_EXT_INQ 0x01 -#define LMP_LE_BREDR 0x02 -#define LMP_SIMPLE_PAIR 0x08 -#define LMP_ENCAPS_PDU 0x10 -#define LMP_ERR_DAT_REP 0x20 -#define LMP_NFLUSH_PKTS 0x40 - -#define LMP_LSTO 0x01 -#define LMP_INQ_TX_PWR 0x02 -#define LMP_EPC 0x04 -#define LMP_EXT_FEAT 0x80 - -/* Extended LMP features */ -#define LMP_HOST_SSP 0x01 -#define LMP_HOST_LE 0x02 -#define LMP_HOST_LE_BREDR 0x04 - -/* Link policies */ -#define HCI_LP_RSWITCH 0x0001 -#define HCI_LP_HOLD 0x0002 -#define HCI_LP_SNIFF 0x0004 -#define HCI_LP_PARK 0x0008 - -/* Link mode */ -#define HCI_LM_ACCEPT 0x8000 -#define HCI_LM_MASTER 0x0001 -#define HCI_LM_AUTH 0x0002 -#define HCI_LM_ENCRYPT 0x0004 -#define HCI_LM_TRUSTED 0x0008 -#define HCI_LM_RELIABLE 0x0010 -#define HCI_LM_SECURE 0x0020 - -/* Link Key types */ -#define HCI_LK_COMBINATION 0x00 -#define HCI_LK_LOCAL_UNIT 0x01 -#define HCI_LK_REMOTE_UNIT 0x02 -#define HCI_LK_DEBUG_COMBINATION 0x03 -#define HCI_LK_UNAUTH_COMBINATION 0x04 -#define HCI_LK_AUTH_COMBINATION 0x05 -#define HCI_LK_CHANGED_COMBINATION 0x06 -#define HCI_LK_INVALID 0xFF - -/* ----- HCI Commands ----- */ - -/* Link Control */ -#define OGF_LINK_CTL 0x01 - -#define OCF_INQUIRY 0x0001 -typedef struct { - uint8_t lap[3]; - uint8_t length; /* 1.28s units */ - uint8_t num_rsp; -} __attribute__ ((packed)) inquiry_cp; -#define INQUIRY_CP_SIZE 5 - -typedef struct { - uint8_t status; - bdaddr_t bdaddr; -} __attribute__ ((packed)) status_bdaddr_rp; -#define STATUS_BDADDR_RP_SIZE 7 - -#define OCF_INQUIRY_CANCEL 0x0002 - -#define OCF_PERIODIC_INQUIRY 0x0003 -typedef struct { - uint16_t max_period; /* 1.28s units */ - uint16_t min_period; /* 1.28s units */ - uint8_t lap[3]; - uint8_t length; /* 1.28s units */ - uint8_t num_rsp; -} __attribute__ ((packed)) periodic_inquiry_cp; -#define PERIODIC_INQUIRY_CP_SIZE 9 - -#define OCF_EXIT_PERIODIC_INQUIRY 0x0004 - -#define OCF_CREATE_CONN 0x0005 -typedef struct { - bdaddr_t bdaddr; - uint16_t pkt_type; - uint8_t pscan_rep_mode; - uint8_t pscan_mode; - uint16_t clock_offset; - uint8_t role_switch; -} __attribute__ ((packed)) create_conn_cp; -#define CREATE_CONN_CP_SIZE 13 - -#define OCF_DISCONNECT 0x0006 -typedef struct { - uint16_t handle; - uint8_t reason; -} __attribute__ ((packed)) disconnect_cp; -#define DISCONNECT_CP_SIZE 3 - -#define OCF_ADD_SCO 0x0007 -typedef struct { - uint16_t handle; - uint16_t pkt_type; -} __attribute__ ((packed)) add_sco_cp; -#define ADD_SCO_CP_SIZE 4 - -#define OCF_CREATE_CONN_CANCEL 0x0008 -typedef struct { - bdaddr_t bdaddr; -} __attribute__ ((packed)) create_conn_cancel_cp; -#define CREATE_CONN_CANCEL_CP_SIZE 6 - -#define OCF_ACCEPT_CONN_REQ 0x0009 -typedef struct { - bdaddr_t bdaddr; - uint8_t role; -} __attribute__ ((packed)) accept_conn_req_cp; -#define ACCEPT_CONN_REQ_CP_SIZE 7 - -#define OCF_REJECT_CONN_REQ 0x000A -typedef struct { - bdaddr_t bdaddr; - uint8_t reason; -} __attribute__ ((packed)) reject_conn_req_cp; -#define REJECT_CONN_REQ_CP_SIZE 7 - -#define OCF_LINK_KEY_REPLY 0x000B -typedef struct { - bdaddr_t bdaddr; - uint8_t link_key[16]; -} __attribute__ ((packed)) link_key_reply_cp; -#define LINK_KEY_REPLY_CP_SIZE 22 - -#define OCF_LINK_KEY_NEG_REPLY 0x000C - -#define OCF_PIN_CODE_REPLY 0x000D -typedef struct { - bdaddr_t bdaddr; - uint8_t pin_len; - uint8_t pin_code[16]; -} __attribute__ ((packed)) pin_code_reply_cp; -#define PIN_CODE_REPLY_CP_SIZE 23 - -#define OCF_PIN_CODE_NEG_REPLY 0x000E - -#define OCF_SET_CONN_PTYPE 0x000F -typedef struct { - uint16_t handle; - uint16_t pkt_type; -} __attribute__ ((packed)) set_conn_ptype_cp; -#define SET_CONN_PTYPE_CP_SIZE 4 - -#define OCF_AUTH_REQUESTED 0x0011 -typedef struct { - uint16_t handle; -} __attribute__ ((packed)) auth_requested_cp; -#define AUTH_REQUESTED_CP_SIZE 2 - -#define OCF_SET_CONN_ENCRYPT 0x0013 -typedef struct { - uint16_t handle; - uint8_t encrypt; -} __attribute__ ((packed)) set_conn_encrypt_cp; -#define SET_CONN_ENCRYPT_CP_SIZE 3 - -#define OCF_CHANGE_CONN_LINK_KEY 0x0015 -typedef struct { - uint16_t handle; -} __attribute__ ((packed)) change_conn_link_key_cp; -#define CHANGE_CONN_LINK_KEY_CP_SIZE 2 - -#define OCF_MASTER_LINK_KEY 0x0017 -typedef struct { - uint8_t key_flag; -} __attribute__ ((packed)) master_link_key_cp; -#define MASTER_LINK_KEY_CP_SIZE 1 - -#define OCF_REMOTE_NAME_REQ 0x0019 -typedef struct { - bdaddr_t bdaddr; - uint8_t pscan_rep_mode; - uint8_t pscan_mode; - uint16_t clock_offset; -} __attribute__ ((packed)) remote_name_req_cp; -#define REMOTE_NAME_REQ_CP_SIZE 10 - -#define OCF_REMOTE_NAME_REQ_CANCEL 0x001A -typedef struct { - bdaddr_t bdaddr; -} __attribute__ ((packed)) remote_name_req_cancel_cp; -#define REMOTE_NAME_REQ_CANCEL_CP_SIZE 6 - -#define OCF_READ_REMOTE_FEATURES 0x001B -typedef struct { - uint16_t handle; -} __attribute__ ((packed)) read_remote_features_cp; -#define READ_REMOTE_FEATURES_CP_SIZE 2 - -#define OCF_READ_REMOTE_EXT_FEATURES 0x001C -typedef struct { - uint16_t handle; - uint8_t page_num; -} __attribute__ ((packed)) read_remote_ext_features_cp; -#define READ_REMOTE_EXT_FEATURES_CP_SIZE 3 - -#define OCF_READ_REMOTE_VERSION 0x001D -typedef struct { - uint16_t handle; -} __attribute__ ((packed)) read_remote_version_cp; -#define READ_REMOTE_VERSION_CP_SIZE 2 - -#define OCF_READ_CLOCK_OFFSET 0x001F -typedef struct { - uint16_t handle; -} __attribute__ ((packed)) read_clock_offset_cp; -#define READ_CLOCK_OFFSET_CP_SIZE 2 - -#define OCF_READ_LMP_HANDLE 0x0020 - -#define OCF_SETUP_SYNC_CONN 0x0028 -typedef struct { - uint16_t handle; - uint32_t tx_bandwith; - uint32_t rx_bandwith; - uint16_t max_latency; - uint16_t voice_setting; - uint8_t retrans_effort; - uint16_t pkt_type; -} __attribute__ ((packed)) setup_sync_conn_cp; -#define SETUP_SYNC_CONN_CP_SIZE 17 - -#define OCF_ACCEPT_SYNC_CONN_REQ 0x0029 -typedef struct { - bdaddr_t bdaddr; - uint32_t tx_bandwith; - uint32_t rx_bandwith; - uint16_t max_latency; - uint16_t voice_setting; - uint8_t retrans_effort; - uint16_t pkt_type; -} __attribute__ ((packed)) accept_sync_conn_req_cp; -#define ACCEPT_SYNC_CONN_REQ_CP_SIZE 21 - -#define OCF_REJECT_SYNC_CONN_REQ 0x002A -typedef struct { - bdaddr_t bdaddr; - uint8_t reason; -} __attribute__ ((packed)) reject_sync_conn_req_cp; -#define REJECT_SYNC_CONN_REQ_CP_SIZE 7 - -#define OCF_IO_CAPABILITY_REPLY 0x002B -typedef struct { - bdaddr_t bdaddr; - uint8_t capability; - uint8_t oob_data; - uint8_t authentication; -} __attribute__ ((packed)) io_capability_reply_cp; -#define IO_CAPABILITY_REPLY_CP_SIZE 9 - -#define OCF_USER_CONFIRM_REPLY 0x002C -typedef struct { - bdaddr_t bdaddr; -} __attribute__ ((packed)) user_confirm_reply_cp; -#define USER_CONFIRM_REPLY_CP_SIZE 6 - -#define OCF_USER_CONFIRM_NEG_REPLY 0x002D - -#define OCF_USER_PASSKEY_REPLY 0x002E -typedef struct { - bdaddr_t bdaddr; - uint32_t passkey; -} __attribute__ ((packed)) user_passkey_reply_cp; -#define USER_PASSKEY_REPLY_CP_SIZE 10 - -#define OCF_USER_PASSKEY_NEG_REPLY 0x002F - -#define OCF_REMOTE_OOB_DATA_REPLY 0x0030 -typedef struct { - bdaddr_t bdaddr; - uint8_t hash[16]; - uint8_t randomizer[16]; -} __attribute__ ((packed)) remote_oob_data_reply_cp; -#define REMOTE_OOB_DATA_REPLY_CP_SIZE 38 - -#define OCF_REMOTE_OOB_DATA_NEG_REPLY 0x0033 - -#define OCF_IO_CAPABILITY_NEG_REPLY 0x0034 -typedef struct { - bdaddr_t bdaddr; - uint8_t reason; -} __attribute__ ((packed)) io_capability_neg_reply_cp; -#define IO_CAPABILITY_NEG_REPLY_CP_SIZE 7 - -#define OCF_CREATE_PHYSICAL_LINK 0x0035 -typedef struct { - uint8_t handle; - uint8_t key_length; - uint8_t key_type; - uint8_t key[32]; -} __attribute__ ((packed)) create_physical_link_cp; -#define CREATE_PHYSICAL_LINK_CP_SIZE 35 - -#define OCF_ACCEPT_PHYSICAL_LINK 0x0036 - -#define OCF_DISCONNECT_PHYSICAL_LINK 0x0037 -typedef struct { - uint8_t handle; - uint8_t reason; -} __attribute__ ((packed)) disconnect_physical_link_cp; -#define DISCONNECT_PHYSICAL_LINK_CP_SIZE 2 - -#define OCF_CREATE_LOGICAL_LINK 0x0038 -typedef struct { - uint8_t handle; - uint8_t tx_flow[16]; - uint8_t rx_flow[16]; -} __attribute__ ((packed)) create_logical_link_cp; -#define CREATE_LOGICAL_LINK_CP_SIZE 33 - -#define OCF_ACCEPT_LOGICAL_LINK 0x0039 - -#define OCF_DISCONNECT_LOGICAL_LINK 0x003A -typedef struct { - uint16_t handle; -} __attribute__ ((packed)) disconnect_logical_link_cp; -#define DISCONNECT_LOGICAL_LINK_CP_SIZE 2 - -#define OCF_LOGICAL_LINK_CANCEL 0x003B -typedef struct { - uint8_t handle; - uint8_t tx_flow_id; -} __attribute__ ((packed)) cancel_logical_link_cp; -#define LOGICAL_LINK_CANCEL_CP_SIZE 2 -typedef struct { - uint8_t status; - uint8_t handle; - uint8_t tx_flow_id; -} __attribute__ ((packed)) cancel_logical_link_rp; -#define LOGICAL_LINK_CANCEL_RP_SIZE 3 - -#define OCF_FLOW_SPEC_MODIFY 0x003C - -/* Link Policy */ -#define OGF_LINK_POLICY 0x02 - -#define OCF_HOLD_MODE 0x0001 -typedef struct { - uint16_t handle; - uint16_t max_interval; - uint16_t min_interval; -} __attribute__ ((packed)) hold_mode_cp; -#define HOLD_MODE_CP_SIZE 6 - -#define OCF_SNIFF_MODE 0x0003 -typedef struct { - uint16_t handle; - uint16_t max_interval; - uint16_t min_interval; - uint16_t attempt; - uint16_t timeout; -} __attribute__ ((packed)) sniff_mode_cp; -#define SNIFF_MODE_CP_SIZE 10 - -#define OCF_EXIT_SNIFF_MODE 0x0004 -typedef struct { - uint16_t handle; -} __attribute__ ((packed)) exit_sniff_mode_cp; -#define EXIT_SNIFF_MODE_CP_SIZE 2 - -#define OCF_PARK_MODE 0x0005 -typedef struct { - uint16_t handle; - uint16_t max_interval; - uint16_t min_interval; -} __attribute__ ((packed)) park_mode_cp; -#define PARK_MODE_CP_SIZE 6 - -#define OCF_EXIT_PARK_MODE 0x0006 -typedef struct { - uint16_t handle; -} __attribute__ ((packed)) exit_park_mode_cp; -#define EXIT_PARK_MODE_CP_SIZE 2 - -#define OCF_QOS_SETUP 0x0007 -typedef struct { - uint8_t service_type; /* 1 = best effort */ - uint32_t token_rate; /* Byte per seconds */ - uint32_t peak_bandwidth; /* Byte per seconds */ - uint32_t latency; /* Microseconds */ - uint32_t delay_variation; /* Microseconds */ -} __attribute__ ((packed)) hci_qos; -#define HCI_QOS_CP_SIZE 17 -typedef struct { - uint16_t handle; - uint8_t flags; /* Reserved */ - hci_qos qos; -} __attribute__ ((packed)) qos_setup_cp; -#define QOS_SETUP_CP_SIZE (3 + HCI_QOS_CP_SIZE) - -#define OCF_ROLE_DISCOVERY 0x0009 -typedef struct { - uint16_t handle; -} __attribute__ ((packed)) role_discovery_cp; -#define ROLE_DISCOVERY_CP_SIZE 2 -typedef struct { - uint8_t status; - uint16_t handle; - uint8_t role; -} __attribute__ ((packed)) role_discovery_rp; -#define ROLE_DISCOVERY_RP_SIZE 4 - -#define OCF_SWITCH_ROLE 0x000B -typedef struct { - bdaddr_t bdaddr; - uint8_t role; -} __attribute__ ((packed)) switch_role_cp; -#define SWITCH_ROLE_CP_SIZE 7 - -#define OCF_READ_LINK_POLICY 0x000C -typedef struct { - uint16_t handle; -} __attribute__ ((packed)) read_link_policy_cp; -#define READ_LINK_POLICY_CP_SIZE 2 -typedef struct { - uint8_t status; - uint16_t handle; - uint16_t policy; -} __attribute__ ((packed)) read_link_policy_rp; -#define READ_LINK_POLICY_RP_SIZE 5 - -#define OCF_WRITE_LINK_POLICY 0x000D -typedef struct { - uint16_t handle; - uint16_t policy; -} __attribute__ ((packed)) write_link_policy_cp; -#define WRITE_LINK_POLICY_CP_SIZE 4 -typedef struct { - uint8_t status; - uint16_t handle; -} __attribute__ ((packed)) write_link_policy_rp; -#define WRITE_LINK_POLICY_RP_SIZE 3 - -#define OCF_READ_DEFAULT_LINK_POLICY 0x000E - -#define OCF_WRITE_DEFAULT_LINK_POLICY 0x000F - -#define OCF_FLOW_SPECIFICATION 0x0010 - -#define OCF_SNIFF_SUBRATING 0x0011 -typedef struct { - uint16_t handle; - uint16_t max_latency; - uint16_t min_remote_timeout; - uint16_t min_local_timeout; -} __attribute__ ((packed)) sniff_subrating_cp; -#define SNIFF_SUBRATING_CP_SIZE 8 - -/* Host Controller and Baseband */ -#define OGF_HOST_CTL 0x03 - -#define OCF_SET_EVENT_MASK 0x0001 -typedef struct { - uint8_t mask[8]; -} __attribute__ ((packed)) set_event_mask_cp; -#define SET_EVENT_MASK_CP_SIZE 8 - -#define OCF_RESET 0x0003 - -#define OCF_SET_EVENT_FLT 0x0005 -typedef struct { - uint8_t flt_type; - uint8_t cond_type; - uint8_t condition[0]; -} __attribute__ ((packed)) set_event_flt_cp; -#define SET_EVENT_FLT_CP_SIZE 2 - -/* Filter types */ -#define FLT_CLEAR_ALL 0x00 -#define FLT_INQ_RESULT 0x01 -#define FLT_CONN_SETUP 0x02 -/* INQ_RESULT Condition types */ -#define INQ_RESULT_RETURN_ALL 0x00 -#define INQ_RESULT_RETURN_CLASS 0x01 -#define INQ_RESULT_RETURN_BDADDR 0x02 -/* CONN_SETUP Condition types */ -#define CONN_SETUP_ALLOW_ALL 0x00 -#define CONN_SETUP_ALLOW_CLASS 0x01 -#define CONN_SETUP_ALLOW_BDADDR 0x02 -/* CONN_SETUP Conditions */ -#define CONN_SETUP_AUTO_OFF 0x01 -#define CONN_SETUP_AUTO_ON 0x02 - -#define OCF_FLUSH 0x0008 - -#define OCF_READ_PIN_TYPE 0x0009 -typedef struct { - uint8_t status; - uint8_t pin_type; -} __attribute__ ((packed)) read_pin_type_rp; -#define READ_PIN_TYPE_RP_SIZE 2 - -#define OCF_WRITE_PIN_TYPE 0x000A -typedef struct { - uint8_t pin_type; -} __attribute__ ((packed)) write_pin_type_cp; -#define WRITE_PIN_TYPE_CP_SIZE 1 - -#define OCF_CREATE_NEW_UNIT_KEY 0x000B - -#define OCF_READ_STORED_LINK_KEY 0x000D -typedef struct { - bdaddr_t bdaddr; - uint8_t read_all; -} __attribute__ ((packed)) read_stored_link_key_cp; -#define READ_STORED_LINK_KEY_CP_SIZE 7 -typedef struct { - uint8_t status; - uint16_t max_keys; - uint16_t num_keys; -} __attribute__ ((packed)) read_stored_link_key_rp; -#define READ_STORED_LINK_KEY_RP_SIZE 5 - -#define OCF_WRITE_STORED_LINK_KEY 0x0011 -typedef struct { - uint8_t num_keys; - /* variable length part */ -} __attribute__ ((packed)) write_stored_link_key_cp; -#define WRITE_STORED_LINK_KEY_CP_SIZE 1 -typedef struct { - uint8_t status; - uint8_t num_keys; -} __attribute__ ((packed)) write_stored_link_key_rp; -#define READ_WRITE_LINK_KEY_RP_SIZE 2 - -#define OCF_DELETE_STORED_LINK_KEY 0x0012 -typedef struct { - bdaddr_t bdaddr; - uint8_t delete_all; -} __attribute__ ((packed)) delete_stored_link_key_cp; -#define DELETE_STORED_LINK_KEY_CP_SIZE 7 -typedef struct { - uint8_t status; - uint16_t num_keys; -} __attribute__ ((packed)) delete_stored_link_key_rp; -#define DELETE_STORED_LINK_KEY_RP_SIZE 3 - -#define HCI_MAX_NAME_LENGTH 248 - -#define OCF_CHANGE_LOCAL_NAME 0x0013 -typedef struct { - uint8_t name[HCI_MAX_NAME_LENGTH]; -} __attribute__ ((packed)) change_local_name_cp; -#define CHANGE_LOCAL_NAME_CP_SIZE 248 - -#define OCF_READ_LOCAL_NAME 0x0014 -typedef struct { - uint8_t status; - uint8_t name[HCI_MAX_NAME_LENGTH]; -} __attribute__ ((packed)) read_local_name_rp; -#define READ_LOCAL_NAME_RP_SIZE 249 - -#define OCF_READ_CONN_ACCEPT_TIMEOUT 0x0015 -typedef struct { - uint8_t status; - uint16_t timeout; -} __attribute__ ((packed)) read_conn_accept_timeout_rp; -#define READ_CONN_ACCEPT_TIMEOUT_RP_SIZE 3 - -#define OCF_WRITE_CONN_ACCEPT_TIMEOUT 0x0016 -typedef struct { - uint16_t timeout; -} __attribute__ ((packed)) write_conn_accept_timeout_cp; -#define WRITE_CONN_ACCEPT_TIMEOUT_CP_SIZE 2 - -#define OCF_READ_PAGE_TIMEOUT 0x0017 -typedef struct { - uint8_t status; - uint16_t timeout; -} __attribute__ ((packed)) read_page_timeout_rp; -#define READ_PAGE_TIMEOUT_RP_SIZE 3 - -#define OCF_WRITE_PAGE_TIMEOUT 0x0018 -typedef struct { - uint16_t timeout; -} __attribute__ ((packed)) write_page_timeout_cp; -#define WRITE_PAGE_TIMEOUT_CP_SIZE 2 - -#define OCF_READ_SCAN_ENABLE 0x0019 -typedef struct { - uint8_t status; - uint8_t enable; -} __attribute__ ((packed)) read_scan_enable_rp; -#define READ_SCAN_ENABLE_RP_SIZE 2 - -#define OCF_WRITE_SCAN_ENABLE 0x001A - #define SCAN_DISABLED 0x00 - #define SCAN_INQUIRY 0x01 - #define SCAN_PAGE 0x02 - -#define OCF_READ_PAGE_ACTIVITY 0x001B -typedef struct { - uint8_t status; - uint16_t interval; - uint16_t window; -} __attribute__ ((packed)) read_page_activity_rp; -#define READ_PAGE_ACTIVITY_RP_SIZE 5 - -#define OCF_WRITE_PAGE_ACTIVITY 0x001C -typedef struct { - uint16_t interval; - uint16_t window; -} __attribute__ ((packed)) write_page_activity_cp; -#define WRITE_PAGE_ACTIVITY_CP_SIZE 4 - -#define OCF_READ_INQ_ACTIVITY 0x001D -typedef struct { - uint8_t status; - uint16_t interval; - uint16_t window; -} __attribute__ ((packed)) read_inq_activity_rp; -#define READ_INQ_ACTIVITY_RP_SIZE 5 - -#define OCF_WRITE_INQ_ACTIVITY 0x001E -typedef struct { - uint16_t interval; - uint16_t window; -} __attribute__ ((packed)) write_inq_activity_cp; -#define WRITE_INQ_ACTIVITY_CP_SIZE 4 - -#define OCF_READ_AUTH_ENABLE 0x001F - -#define OCF_WRITE_AUTH_ENABLE 0x0020 - #define AUTH_DISABLED 0x00 - #define AUTH_ENABLED 0x01 - -#define OCF_READ_ENCRYPT_MODE 0x0021 - -#define OCF_WRITE_ENCRYPT_MODE 0x0022 - #define ENCRYPT_DISABLED 0x00 - #define ENCRYPT_P2P 0x01 - #define ENCRYPT_BOTH 0x02 - -#define OCF_READ_CLASS_OF_DEV 0x0023 -typedef struct { - uint8_t status; - uint8_t dev_class[3]; -} __attribute__ ((packed)) read_class_of_dev_rp; -#define READ_CLASS_OF_DEV_RP_SIZE 4 - -#define OCF_WRITE_CLASS_OF_DEV 0x0024 -typedef struct { - uint8_t dev_class[3]; -} __attribute__ ((packed)) write_class_of_dev_cp; -#define WRITE_CLASS_OF_DEV_CP_SIZE 3 - -#define OCF_READ_VOICE_SETTING 0x0025 -typedef struct { - uint8_t status; - uint16_t voice_setting; -} __attribute__ ((packed)) read_voice_setting_rp; -#define READ_VOICE_SETTING_RP_SIZE 3 - -#define OCF_WRITE_VOICE_SETTING 0x0026 -typedef struct { - uint16_t voice_setting; -} __attribute__ ((packed)) write_voice_setting_cp; -#define WRITE_VOICE_SETTING_CP_SIZE 2 - -#define OCF_READ_AUTOMATIC_FLUSH_TIMEOUT 0x0027 - -#define OCF_WRITE_AUTOMATIC_FLUSH_TIMEOUT 0x0028 - -#define OCF_READ_NUM_BROADCAST_RETRANS 0x0029 - -#define OCF_WRITE_NUM_BROADCAST_RETRANS 0x002A - -#define OCF_READ_HOLD_MODE_ACTIVITY 0x002B - -#define OCF_WRITE_HOLD_MODE_ACTIVITY 0x002C - -#define OCF_READ_TRANSMIT_POWER_LEVEL 0x002D -typedef struct { - uint16_t handle; - uint8_t type; -} __attribute__ ((packed)) read_transmit_power_level_cp; -#define READ_TRANSMIT_POWER_LEVEL_CP_SIZE 3 -typedef struct { - uint8_t status; - uint16_t handle; - int8_t level; -} __attribute__ ((packed)) read_transmit_power_level_rp; -#define READ_TRANSMIT_POWER_LEVEL_RP_SIZE 4 - -#define OCF_READ_SYNC_FLOW_ENABLE 0x002E - -#define OCF_WRITE_SYNC_FLOW_ENABLE 0x002F - -#define OCF_SET_CONTROLLER_TO_HOST_FC 0x0031 - -#define OCF_HOST_BUFFER_SIZE 0x0033 -typedef struct { - uint16_t acl_mtu; - uint8_t sco_mtu; - uint16_t acl_max_pkt; - uint16_t sco_max_pkt; -} __attribute__ ((packed)) host_buffer_size_cp; -#define HOST_BUFFER_SIZE_CP_SIZE 7 - -#define OCF_HOST_NUM_COMP_PKTS 0x0035 -typedef struct { - uint8_t num_hndl; - /* variable length part */ -} __attribute__ ((packed)) host_num_comp_pkts_cp; -#define HOST_NUM_COMP_PKTS_CP_SIZE 1 - -#define OCF_READ_LINK_SUPERVISION_TIMEOUT 0x0036 -typedef struct { - uint8_t status; - uint16_t handle; - uint16_t timeout; -} __attribute__ ((packed)) read_link_supervision_timeout_rp; -#define READ_LINK_SUPERVISION_TIMEOUT_RP_SIZE 5 - -#define OCF_WRITE_LINK_SUPERVISION_TIMEOUT 0x0037 -typedef struct { - uint16_t handle; - uint16_t timeout; -} __attribute__ ((packed)) write_link_supervision_timeout_cp; -#define WRITE_LINK_SUPERVISION_TIMEOUT_CP_SIZE 4 -typedef struct { - uint8_t status; - uint16_t handle; -} __attribute__ ((packed)) write_link_supervision_timeout_rp; -#define WRITE_LINK_SUPERVISION_TIMEOUT_RP_SIZE 3 - -#define OCF_READ_NUM_SUPPORTED_IAC 0x0038 - -#define MAX_IAC_LAP 0x40 -#define OCF_READ_CURRENT_IAC_LAP 0x0039 -typedef struct { - uint8_t status; - uint8_t num_current_iac; - uint8_t lap[MAX_IAC_LAP][3]; -} __attribute__ ((packed)) read_current_iac_lap_rp; -#define READ_CURRENT_IAC_LAP_RP_SIZE 2+3*MAX_IAC_LAP - -#define OCF_WRITE_CURRENT_IAC_LAP 0x003A -typedef struct { - uint8_t num_current_iac; - uint8_t lap[MAX_IAC_LAP][3]; -} __attribute__ ((packed)) write_current_iac_lap_cp; -#define WRITE_CURRENT_IAC_LAP_CP_SIZE 1+3*MAX_IAC_LAP - -#define OCF_READ_PAGE_SCAN_PERIOD_MODE 0x003B - -#define OCF_WRITE_PAGE_SCAN_PERIOD_MODE 0x003C - -#define OCF_READ_PAGE_SCAN_MODE 0x003D - -#define OCF_WRITE_PAGE_SCAN_MODE 0x003E - -#define OCF_SET_AFH_CLASSIFICATION 0x003F -typedef struct { - uint8_t map[10]; -} __attribute__ ((packed)) set_afh_classification_cp; -#define SET_AFH_CLASSIFICATION_CP_SIZE 10 -typedef struct { - uint8_t status; -} __attribute__ ((packed)) set_afh_classification_rp; -#define SET_AFH_CLASSIFICATION_RP_SIZE 1 - -#define OCF_READ_INQUIRY_SCAN_TYPE 0x0042 -typedef struct { - uint8_t status; - uint8_t type; -} __attribute__ ((packed)) read_inquiry_scan_type_rp; -#define READ_INQUIRY_SCAN_TYPE_RP_SIZE 2 - -#define OCF_WRITE_INQUIRY_SCAN_TYPE 0x0043 -typedef struct { - uint8_t type; -} __attribute__ ((packed)) write_inquiry_scan_type_cp; -#define WRITE_INQUIRY_SCAN_TYPE_CP_SIZE 1 -typedef struct { - uint8_t status; -} __attribute__ ((packed)) write_inquiry_scan_type_rp; -#define WRITE_INQUIRY_SCAN_TYPE_RP_SIZE 1 - -#define OCF_READ_INQUIRY_MODE 0x0044 -typedef struct { - uint8_t status; - uint8_t mode; -} __attribute__ ((packed)) read_inquiry_mode_rp; -#define READ_INQUIRY_MODE_RP_SIZE 2 - -#define OCF_WRITE_INQUIRY_MODE 0x0045 -typedef struct { - uint8_t mode; -} __attribute__ ((packed)) write_inquiry_mode_cp; -#define WRITE_INQUIRY_MODE_CP_SIZE 1 -typedef struct { - uint8_t status; -} __attribute__ ((packed)) write_inquiry_mode_rp; -#define WRITE_INQUIRY_MODE_RP_SIZE 1 - -#define OCF_READ_PAGE_SCAN_TYPE 0x0046 - -#define OCF_WRITE_PAGE_SCAN_TYPE 0x0047 - #define PAGE_SCAN_TYPE_STANDARD 0x00 - #define PAGE_SCAN_TYPE_INTERLACED 0x01 - -#define OCF_READ_AFH_MODE 0x0048 -typedef struct { - uint8_t status; - uint8_t mode; -} __attribute__ ((packed)) read_afh_mode_rp; -#define READ_AFH_MODE_RP_SIZE 2 - -#define OCF_WRITE_AFH_MODE 0x0049 -typedef struct { - uint8_t mode; -} __attribute__ ((packed)) write_afh_mode_cp; -#define WRITE_AFH_MODE_CP_SIZE 1 -typedef struct { - uint8_t status; -} __attribute__ ((packed)) write_afh_mode_rp; -#define WRITE_AFH_MODE_RP_SIZE 1 - -#define HCI_MAX_EIR_LENGTH 240 - -#define OCF_READ_EXT_INQUIRY_RESPONSE 0x0051 -typedef struct { - uint8_t status; - uint8_t fec; - uint8_t data[HCI_MAX_EIR_LENGTH]; -} __attribute__ ((packed)) read_ext_inquiry_response_rp; -#define READ_EXT_INQUIRY_RESPONSE_RP_SIZE 242 - -#define OCF_WRITE_EXT_INQUIRY_RESPONSE 0x0052 -typedef struct { - uint8_t fec; - uint8_t data[HCI_MAX_EIR_LENGTH]; -} __attribute__ ((packed)) write_ext_inquiry_response_cp; -#define WRITE_EXT_INQUIRY_RESPONSE_CP_SIZE 241 -typedef struct { - uint8_t status; -} __attribute__ ((packed)) write_ext_inquiry_response_rp; -#define WRITE_EXT_INQUIRY_RESPONSE_RP_SIZE 1 - -#define OCF_REFRESH_ENCRYPTION_KEY 0x0053 -typedef struct { - uint16_t handle; -} __attribute__ ((packed)) refresh_encryption_key_cp; -#define REFRESH_ENCRYPTION_KEY_CP_SIZE 2 -typedef struct { - uint8_t status; -} __attribute__ ((packed)) refresh_encryption_key_rp; -#define REFRESH_ENCRYPTION_KEY_RP_SIZE 1 - -#define OCF_READ_SIMPLE_PAIRING_MODE 0x0055 -typedef struct { - uint8_t status; - uint8_t mode; -} __attribute__ ((packed)) read_simple_pairing_mode_rp; -#define READ_SIMPLE_PAIRING_MODE_RP_SIZE 2 - -#define OCF_WRITE_SIMPLE_PAIRING_MODE 0x0056 -typedef struct { - uint8_t mode; -} __attribute__ ((packed)) write_simple_pairing_mode_cp; -#define WRITE_SIMPLE_PAIRING_MODE_CP_SIZE 1 -typedef struct { - uint8_t status; -} __attribute__ ((packed)) write_simple_pairing_mode_rp; -#define WRITE_SIMPLE_PAIRING_MODE_RP_SIZE 1 - -#define OCF_READ_LOCAL_OOB_DATA 0x0057 -typedef struct { - uint8_t status; - uint8_t hash[16]; - uint8_t randomizer[16]; -} __attribute__ ((packed)) read_local_oob_data_rp; -#define READ_LOCAL_OOB_DATA_RP_SIZE 33 - -#define OCF_READ_INQ_RESPONSE_TX_POWER_LEVEL 0x0058 -typedef struct { - uint8_t status; - int8_t level; -} __attribute__ ((packed)) read_inq_response_tx_power_level_rp; -#define READ_INQ_RESPONSE_TX_POWER_LEVEL_RP_SIZE 2 - -#define OCF_READ_INQUIRY_TRANSMIT_POWER_LEVEL 0x0058 -typedef struct { - uint8_t status; - int8_t level; -} __attribute__ ((packed)) read_inquiry_transmit_power_level_rp; -#define READ_INQUIRY_TRANSMIT_POWER_LEVEL_RP_SIZE 2 - -#define OCF_WRITE_INQUIRY_TRANSMIT_POWER_LEVEL 0x0059 -typedef struct { - int8_t level; -} __attribute__ ((packed)) write_inquiry_transmit_power_level_cp; -#define WRITE_INQUIRY_TRANSMIT_POWER_LEVEL_CP_SIZE 1 -typedef struct { - uint8_t status; -} __attribute__ ((packed)) write_inquiry_transmit_power_level_rp; -#define WRITE_INQUIRY_TRANSMIT_POWER_LEVEL_RP_SIZE 1 - -#define OCF_READ_DEFAULT_ERROR_DATA_REPORTING 0x005A -typedef struct { - uint8_t status; - uint8_t reporting; -} __attribute__ ((packed)) read_default_error_data_reporting_rp; -#define READ_DEFAULT_ERROR_DATA_REPORTING_RP_SIZE 2 - -#define OCF_WRITE_DEFAULT_ERROR_DATA_REPORTING 0x005B -typedef struct { - uint8_t reporting; -} __attribute__ ((packed)) write_default_error_data_reporting_cp; -#define WRITE_DEFAULT_ERROR_DATA_REPORTING_CP_SIZE 1 -typedef struct { - uint8_t status; -} __attribute__ ((packed)) write_default_error_data_reporting_rp; -#define WRITE_DEFAULT_ERROR_DATA_REPORTING_RP_SIZE 1 - -#define OCF_ENHANCED_FLUSH 0x005F -typedef struct { - uint16_t handle; - uint8_t type; -} __attribute__ ((packed)) enhanced_flush_cp; -#define ENHANCED_FLUSH_CP_SIZE 3 - -#define OCF_SEND_KEYPRESS_NOTIFY 0x0060 -typedef struct { - bdaddr_t bdaddr; - uint8_t type; -} __attribute__ ((packed)) send_keypress_notify_cp; -#define SEND_KEYPRESS_NOTIFY_CP_SIZE 7 -typedef struct { - uint8_t status; -} __attribute__ ((packed)) send_keypress_notify_rp; -#define SEND_KEYPRESS_NOTIFY_RP_SIZE 1 - -#define OCF_READ_LOGICAL_LINK_ACCEPT_TIMEOUT 0x0061 -typedef struct { - uint8_t status; - uint16_t timeout; -} __attribute__ ((packed)) read_log_link_accept_timeout_rp; -#define READ_LOGICAL_LINK_ACCEPT_TIMEOUT_RP_SIZE 3 - -#define OCF_WRITE_LOGICAL_LINK_ACCEPT_TIMEOUT 0x0062 -typedef struct { - uint16_t timeout; -} __attribute__ ((packed)) write_log_link_accept_timeout_cp; -#define WRITE_LOGICAL_LINK_ACCEPT_TIMEOUT_CP_SIZE 2 - -#define OCF_SET_EVENT_MASK_PAGE_2 0x0063 - -#define OCF_READ_LOCATION_DATA 0x0064 - -#define OCF_WRITE_LOCATION_DATA 0x0065 - -#define OCF_READ_FLOW_CONTROL_MODE 0x0066 - -#define OCF_WRITE_FLOW_CONTROL_MODE 0x0067 - -#define OCF_READ_ENHANCED_TRANSMIT_POWER_LEVEL 0x0068 -typedef struct { - uint8_t status; - uint16_t handle; - int8_t level_gfsk; - int8_t level_dqpsk; - int8_t level_8dpsk; -} __attribute__ ((packed)) read_enhanced_transmit_power_level_rp; -#define READ_ENHANCED_TRANSMIT_POWER_LEVEL_RP_SIZE 6 - -#define OCF_READ_BEST_EFFORT_FLUSH_TIMEOUT 0x0069 -typedef struct { - uint8_t status; - uint32_t timeout; -} __attribute__ ((packed)) read_best_effort_flush_timeout_rp; -#define READ_BEST_EFFORT_FLUSH_TIMEOUT_RP_SIZE 5 - -#define OCF_WRITE_BEST_EFFORT_FLUSH_TIMEOUT 0x006A -typedef struct { - uint16_t handle; - uint32_t timeout; -} __attribute__ ((packed)) write_best_effort_flush_timeout_cp; -#define WRITE_BEST_EFFORT_FLUSH_TIMEOUT_CP_SIZE 6 -typedef struct { - uint8_t status; -} __attribute__ ((packed)) write_best_effort_flush_timeout_rp; -#define WRITE_BEST_EFFORT_FLUSH_TIMEOUT_RP_SIZE 1 - -#define OCF_READ_LE_HOST_SUPPORTED 0x006C -typedef struct { - uint8_t status; - uint8_t le; - uint8_t simul; -} __attribute__ ((packed)) read_le_host_supported_rp; -#define READ_LE_HOST_SUPPORTED_RP_SIZE 3 - -#define OCF_WRITE_LE_HOST_SUPPORTED 0x006D -typedef struct { - uint8_t le; - uint8_t simul; -} __attribute__ ((packed)) write_le_host_supported_cp; -#define WRITE_LE_HOST_SUPPORTED_CP_SIZE 2 - -/* Informational Parameters */ -#define OGF_INFO_PARAM 0x04 - -#define OCF_READ_LOCAL_VERSION 0x0001 -typedef struct { - uint8_t status; - uint8_t hci_ver; - uint16_t hci_rev; - uint8_t lmp_ver; - uint16_t manufacturer; - uint16_t lmp_subver; -} __attribute__ ((packed)) read_local_version_rp; -#define READ_LOCAL_VERSION_RP_SIZE 9 - -#define OCF_READ_LOCAL_COMMANDS 0x0002 -typedef struct { - uint8_t status; - uint8_t commands[64]; -} __attribute__ ((packed)) read_local_commands_rp; -#define READ_LOCAL_COMMANDS_RP_SIZE 65 - -#define OCF_READ_LOCAL_FEATURES 0x0003 -typedef struct { - uint8_t status; - uint8_t features[8]; -} __attribute__ ((packed)) read_local_features_rp; -#define READ_LOCAL_FEATURES_RP_SIZE 9 - -#define OCF_READ_LOCAL_EXT_FEATURES 0x0004 -typedef struct { - uint8_t page_num; -} __attribute__ ((packed)) read_local_ext_features_cp; -#define READ_LOCAL_EXT_FEATURES_CP_SIZE 1 -typedef struct { - uint8_t status; - uint8_t page_num; - uint8_t max_page_num; - uint8_t features[8]; -} __attribute__ ((packed)) read_local_ext_features_rp; -#define READ_LOCAL_EXT_FEATURES_RP_SIZE 11 - -#define OCF_READ_BUFFER_SIZE 0x0005 -typedef struct { - uint8_t status; - uint16_t acl_mtu; - uint8_t sco_mtu; - uint16_t acl_max_pkt; - uint16_t sco_max_pkt; -} __attribute__ ((packed)) read_buffer_size_rp; -#define READ_BUFFER_SIZE_RP_SIZE 8 - -#define OCF_READ_COUNTRY_CODE 0x0007 - -#define OCF_READ_BD_ADDR 0x0009 -typedef struct { - uint8_t status; - bdaddr_t bdaddr; -} __attribute__ ((packed)) read_bd_addr_rp; -#define READ_BD_ADDR_RP_SIZE 7 - -#define OCF_READ_DATA_BLOCK_SIZE 0x000A -typedef struct { - uint8_t status; - uint16_t max_acl_len; - uint16_t data_block_len; - uint16_t num_blocks; -} __attribute__ ((packed)) read_data_block_size_rp; - -/* Status params */ -#define OGF_STATUS_PARAM 0x05 - -#define OCF_READ_FAILED_CONTACT_COUNTER 0x0001 -typedef struct { - uint8_t status; - uint16_t handle; - uint8_t counter; -} __attribute__ ((packed)) read_failed_contact_counter_rp; -#define READ_FAILED_CONTACT_COUNTER_RP_SIZE 4 - -#define OCF_RESET_FAILED_CONTACT_COUNTER 0x0002 -typedef struct { - uint8_t status; - uint16_t handle; -} __attribute__ ((packed)) reset_failed_contact_counter_rp; -#define RESET_FAILED_CONTACT_COUNTER_RP_SIZE 4 - -#define OCF_READ_LINK_QUALITY 0x0003 -typedef struct { - uint8_t status; - uint16_t handle; - uint8_t link_quality; -} __attribute__ ((packed)) read_link_quality_rp; -#define READ_LINK_QUALITY_RP_SIZE 4 - -#define OCF_READ_RSSI 0x0005 -typedef struct { - uint8_t status; - uint16_t handle; - int8_t rssi; -} __attribute__ ((packed)) read_rssi_rp; -#define READ_RSSI_RP_SIZE 4 - -#define OCF_READ_AFH_MAP 0x0006 -typedef struct { - uint8_t status; - uint16_t handle; - uint8_t mode; - uint8_t map[10]; -} __attribute__ ((packed)) read_afh_map_rp; -#define READ_AFH_MAP_RP_SIZE 14 - -#define OCF_READ_CLOCK 0x0007 -typedef struct { - uint16_t handle; - uint8_t which_clock; -} __attribute__ ((packed)) read_clock_cp; -#define READ_CLOCK_CP_SIZE 3 -typedef struct { - uint8_t status; - uint16_t handle; - uint32_t clock; - uint16_t accuracy; -} __attribute__ ((packed)) read_clock_rp; -#define READ_CLOCK_RP_SIZE 9 - -#define OCF_READ_LOCAL_AMP_INFO 0x0009 -typedef struct { - uint8_t status; - uint8_t amp_status; - uint32_t total_bandwidth; - uint32_t max_guaranteed_bandwidth; - uint32_t min_latency; - uint32_t max_pdu_size; - uint8_t controller_type; - uint16_t pal_caps; - uint16_t max_amp_assoc_length; - uint32_t max_flush_timeout; - uint32_t best_effort_flush_timeout; -} __attribute__ ((packed)) read_local_amp_info_rp; -#define READ_LOCAL_AMP_INFO_RP_SIZE 31 - -#define OCF_READ_LOCAL_AMP_ASSOC 0x000A -typedef struct { - uint8_t handle; - uint16_t length_so_far; - uint16_t assoc_length; -} __attribute__ ((packed)) read_local_amp_assoc_cp; -#define READ_LOCAL_AMP_ASSOC_CP_SIZE 5 -typedef struct { - uint8_t status; - uint8_t handle; - uint16_t length; - uint8_t fragment[HCI_MAX_NAME_LENGTH]; -} __attribute__ ((packed)) read_local_amp_assoc_rp; -#define READ_LOCAL_AMP_ASSOC_RP_SIZE 252 - -#define OCF_WRITE_REMOTE_AMP_ASSOC 0x000B -typedef struct { - uint8_t handle; - uint16_t length_so_far; - uint16_t remaining_length; - uint8_t fragment[HCI_MAX_NAME_LENGTH]; -} __attribute__ ((packed)) write_remote_amp_assoc_cp; -#define WRITE_REMOTE_AMP_ASSOC_CP_SIZE 253 -typedef struct { - uint8_t status; - uint8_t handle; -} __attribute__ ((packed)) write_remote_amp_assoc_rp; -#define WRITE_REMOTE_AMP_ASSOC_RP_SIZE 2 - -/* Testing commands */ -#define OGF_TESTING_CMD 0x3e - -#define OCF_READ_LOOPBACK_MODE 0x0001 - -#define OCF_WRITE_LOOPBACK_MODE 0x0002 - -#define OCF_ENABLE_DEVICE_UNDER_TEST_MODE 0x0003 - -#define OCF_WRITE_SIMPLE_PAIRING_DEBUG_MODE 0x0004 -typedef struct { - uint8_t mode; -} __attribute__ ((packed)) write_simple_pairing_debug_mode_cp; -#define WRITE_SIMPLE_PAIRING_DEBUG_MODE_CP_SIZE 1 -typedef struct { - uint8_t status; -} __attribute__ ((packed)) write_simple_pairing_debug_mode_rp; -#define WRITE_SIMPLE_PAIRING_DEBUG_MODE_RP_SIZE 1 - -/* LE commands */ -#define OGF_LE_CTL 0x08 - -#define OCF_LE_SET_EVENT_MASK 0x0001 -typedef struct { - uint8_t mask[8]; -} __attribute__ ((packed)) le_set_event_mask_cp; -#define LE_SET_EVENT_MASK_CP_SIZE 8 - -#define OCF_LE_READ_BUFFER_SIZE 0x0002 -typedef struct { - uint8_t status; - uint16_t pkt_len; - uint8_t max_pkt; -} __attribute__ ((packed)) le_read_buffer_size_rp; -#define LE_READ_BUFFER_SIZE_RP_SIZE 4 - -#define OCF_LE_READ_LOCAL_SUPPORTED_FEATURES 0x0003 -typedef struct { - uint8_t status; - uint8_t features[8]; -} __attribute__ ((packed)) le_read_local_supported_features_rp; -#define LE_READ_LOCAL_SUPPORTED_FEATURES_RP_SIZE 9 - -#define OCF_LE_SET_RANDOM_ADDRESS 0x0005 -typedef struct { - bdaddr_t bdaddr; -} __attribute__ ((packed)) le_set_random_address_cp; -#define LE_SET_RANDOM_ADDRESS_CP_SIZE 6 - -#define OCF_LE_SET_ADVERTISING_PARAMETERS 0x0006 -typedef struct { - uint16_t min_interval; - uint16_t max_interval; - uint8_t advtype; - uint8_t own_bdaddr_type; - uint8_t direct_bdaddr_type; - bdaddr_t direct_bdaddr; - uint8_t chan_map; - uint8_t filter; -} __attribute__ ((packed)) le_set_advertising_parameters_cp; -#define LE_SET_ADVERTISING_PARAMETERS_CP_SIZE 15 - -#define OCF_LE_READ_ADVERTISING_CHANNEL_TX_POWER 0x0007 -typedef struct { - uint8_t status; - int8_t level; -} __attribute__ ((packed)) le_read_advertising_channel_tx_power_rp; -#define LE_READ_ADVERTISING_CHANNEL_TX_POWER_RP_SIZE 2 - -#define OCF_LE_SET_ADVERTISING_DATA 0x0008 -typedef struct { - uint8_t length; - uint8_t data[31]; -} __attribute__ ((packed)) le_set_advertising_data_cp; -#define LE_SET_ADVERTISING_DATA_CP_SIZE 32 - -#define OCF_LE_SET_SCAN_RESPONSE_DATA 0x0009 -typedef struct { - uint8_t length; - uint8_t data[31]; -} __attribute__ ((packed)) le_set_scan_response_data_cp; -#define LE_SET_SCAN_RESPONSE_DATA_CP_SIZE 32 - -#define OCF_LE_SET_ADVERTISE_ENABLE 0x000A -typedef struct { - uint8_t enable; -} __attribute__ ((packed)) le_set_advertise_enable_cp; -#define LE_SET_ADVERTISE_ENABLE_CP_SIZE 1 - -#define OCF_LE_SET_SCAN_PARAMETERS 0x000B -typedef struct { - uint8_t type; - uint16_t interval; - uint16_t window; - uint8_t own_bdaddr_type; - uint8_t filter; -} __attribute__ ((packed)) le_set_scan_parameters_cp; -#define LE_SET_SCAN_PARAMETERS_CP_SIZE 7 - -#define OCF_LE_SET_SCAN_ENABLE 0x000C -typedef struct { - uint8_t enable; - uint8_t filter_dup; -} __attribute__ ((packed)) le_set_scan_enable_cp; -#define LE_SET_SCAN_ENABLE_CP_SIZE 2 - -#define OCF_LE_CREATE_CONN 0x000D -typedef struct { - uint16_t interval; - uint16_t window; - uint8_t initiator_filter; - uint8_t peer_bdaddr_type; - bdaddr_t peer_bdaddr; - uint8_t own_bdaddr_type; - uint16_t min_interval; - uint16_t max_interval; - uint16_t latency; - uint16_t supervision_timeout; - uint16_t min_ce_length; - uint16_t max_ce_length; -} __attribute__ ((packed)) le_create_connection_cp; -#define LE_CREATE_CONN_CP_SIZE 25 - -#define OCF_LE_CREATE_CONN_CANCEL 0x000E - -#define OCF_LE_READ_WHITE_LIST_SIZE 0x000F -typedef struct { - uint8_t status; - uint8_t size; -} __attribute__ ((packed)) le_read_white_list_size_rp; -#define LE_READ_WHITE_LIST_SIZE_RP_SIZE 2 - -#define OCF_LE_CLEAR_WHITE_LIST 0x0010 - -#define OCF_LE_ADD_DEVICE_TO_WHITE_LIST 0x0011 -typedef struct { - uint8_t bdaddr_type; - bdaddr_t bdaddr; -} __attribute__ ((packed)) le_add_device_to_white_list_cp; -#define LE_ADD_DEVICE_TO_WHITE_LIST_CP_SIZE 7 - -#define OCF_LE_REMOVE_DEVICE_FROM_WHITE_LIST 0x0012 -typedef struct { - uint8_t bdaddr_type; - bdaddr_t bdaddr; -} __attribute__ ((packed)) le_remove_device_from_white_list_cp; -#define LE_REMOVE_DEVICE_FROM_WHITE_LIST_CP_SIZE 7 - -#define OCF_LE_CONN_UPDATE 0x0013 -typedef struct { - uint16_t handle; - uint16_t min_interval; - uint16_t max_interval; - uint16_t latency; - uint16_t supervision_timeout; - uint16_t min_ce_length; - uint16_t max_ce_length; -} __attribute__ ((packed)) le_connection_update_cp; -#define LE_CONN_UPDATE_CP_SIZE 14 - -#define OCF_LE_SET_HOST_CHANNEL_CLASSIFICATION 0x0014 -typedef struct { - uint8_t map[5]; -} __attribute__ ((packed)) le_set_host_channel_classification_cp; -#define LE_SET_HOST_CHANNEL_CLASSIFICATION_CP_SIZE 5 - -#define OCF_LE_READ_CHANNEL_MAP 0x0015 -typedef struct { - uint16_t handle; -} __attribute__ ((packed)) le_read_channel_map_cp; -#define LE_READ_CHANNEL_MAP_CP_SIZE 2 -typedef struct { - uint8_t status; - uint16_t handle; - uint8_t map[5]; -} __attribute__ ((packed)) le_read_channel_map_rp; -#define LE_READ_CHANNEL_MAP_RP_SIZE 8 - -#define OCF_LE_READ_REMOTE_USED_FEATURES 0x0016 -typedef struct { - uint16_t handle; -} __attribute__ ((packed)) le_read_remote_used_features_cp; -#define LE_READ_REMOTE_USED_FEATURES_CP_SIZE 2 - -#define OCF_LE_ENCRYPT 0x0017 -typedef struct { - uint8_t key[16]; - uint8_t plaintext[16]; -} __attribute__ ((packed)) le_encrypt_cp; -#define LE_ENCRYPT_CP_SIZE 32 -typedef struct { - uint8_t status; - uint8_t data[16]; -} __attribute__ ((packed)) le_encrypt_rp; -#define LE_ENCRYPT_RP_SIZE 17 - -#define OCF_LE_RAND 0x0018 -typedef struct { - uint8_t status; - uint64_t random; -} __attribute__ ((packed)) le_rand_rp; -#define LE_RAND_RP_SIZE 9 - -#define OCF_LE_START_ENCRYPTION 0x0019 -typedef struct { - uint16_t handle; - uint64_t random; - uint16_t diversifier; - uint8_t key[16]; -} __attribute__ ((packed)) le_start_encryption_cp; -#define LE_START_ENCRYPTION_CP_SIZE 28 - -#define OCF_LE_LTK_REPLY 0x001A -typedef struct { - uint16_t handle; - uint8_t key[16]; -} __attribute__ ((packed)) le_ltk_reply_cp; -#define LE_LTK_REPLY_CP_SIZE 18 -typedef struct { - uint8_t status; - uint16_t handle; -} __attribute__ ((packed)) le_ltk_reply_rp; -#define LE_LTK_REPLY_RP_SIZE 3 - -#define OCF_LE_LTK_NEG_REPLY 0x001B -typedef struct { - uint16_t handle; -} __attribute__ ((packed)) le_ltk_neg_reply_cp; -#define LE_LTK_NEG_REPLY_CP_SIZE 2 -typedef struct { - uint8_t status; - uint16_t handle; -} __attribute__ ((packed)) le_ltk_neg_reply_rp; -#define LE_LTK_NEG_REPLY_RP_SIZE 3 - -#define OCF_LE_READ_SUPPORTED_STATES 0x001C -typedef struct { - uint8_t status; - uint64_t states; -} __attribute__ ((packed)) le_read_supported_states_rp; -#define LE_READ_SUPPORTED_STATES_RP_SIZE 9 - -#define OCF_LE_RECEIVER_TEST 0x001D -typedef struct { - uint8_t frequency; -} __attribute__ ((packed)) le_receiver_test_cp; -#define LE_RECEIVER_TEST_CP_SIZE 1 - -#define OCF_LE_TRANSMITTER_TEST 0x001E -typedef struct { - uint8_t frequency; - uint8_t length; - uint8_t payload; -} __attribute__ ((packed)) le_transmitter_test_cp; -#define LE_TRANSMITTER_TEST_CP_SIZE 3 - -#define OCF_LE_TEST_END 0x001F -typedef struct { - uint8_t status; - uint16_t num_pkts; -} __attribute__ ((packed)) le_test_end_rp; -#define LE_TEST_END_RP_SIZE 3 - -/* Vendor specific commands */ -#define OGF_VENDOR_CMD 0x3f - -/* ---- HCI Events ---- */ - -#define EVT_INQUIRY_COMPLETE 0x01 - -#define EVT_INQUIRY_RESULT 0x02 -typedef struct { - bdaddr_t bdaddr; - uint8_t pscan_rep_mode; - uint8_t pscan_period_mode; - uint8_t pscan_mode; - uint8_t dev_class[3]; - uint16_t clock_offset; -} __attribute__ ((packed)) inquiry_info; -#define INQUIRY_INFO_SIZE 14 - -#define EVT_CONN_COMPLETE 0x03 -typedef struct { - uint8_t status; - uint16_t handle; - bdaddr_t bdaddr; - uint8_t link_type; - uint8_t encr_mode; -} __attribute__ ((packed)) evt_conn_complete; -#define EVT_CONN_COMPLETE_SIZE 11 - -#define EVT_CONN_REQUEST 0x04 -typedef struct { - bdaddr_t bdaddr; - uint8_t dev_class[3]; - uint8_t link_type; -} __attribute__ ((packed)) evt_conn_request; -#define EVT_CONN_REQUEST_SIZE 10 - -#define EVT_DISCONN_COMPLETE 0x05 -typedef struct { - uint8_t status; - uint16_t handle; - uint8_t reason; -} __attribute__ ((packed)) evt_disconn_complete; -#define EVT_DISCONN_COMPLETE_SIZE 4 - -#define EVT_AUTH_COMPLETE 0x06 -typedef struct { - uint8_t status; - uint16_t handle; -} __attribute__ ((packed)) evt_auth_complete; -#define EVT_AUTH_COMPLETE_SIZE 3 - -#define EVT_REMOTE_NAME_REQ_COMPLETE 0x07 -typedef struct { - uint8_t status; - bdaddr_t bdaddr; - uint8_t name[HCI_MAX_NAME_LENGTH]; -} __attribute__ ((packed)) evt_remote_name_req_complete; -#define EVT_REMOTE_NAME_REQ_COMPLETE_SIZE 255 - -#define EVT_ENCRYPT_CHANGE 0x08 -typedef struct { - uint8_t status; - uint16_t handle; - uint8_t encrypt; -} __attribute__ ((packed)) evt_encrypt_change; -#define EVT_ENCRYPT_CHANGE_SIZE 5 - -#define EVT_CHANGE_CONN_LINK_KEY_COMPLETE 0x09 -typedef struct { - uint8_t status; - uint16_t handle; -} __attribute__ ((packed)) evt_change_conn_link_key_complete; -#define EVT_CHANGE_CONN_LINK_KEY_COMPLETE_SIZE 3 - -#define EVT_MASTER_LINK_KEY_COMPLETE 0x0A -typedef struct { - uint8_t status; - uint16_t handle; - uint8_t key_flag; -} __attribute__ ((packed)) evt_master_link_key_complete; -#define EVT_MASTER_LINK_KEY_COMPLETE_SIZE 4 - -#define EVT_READ_REMOTE_FEATURES_COMPLETE 0x0B -typedef struct { - uint8_t status; - uint16_t handle; - uint8_t features[8]; -} __attribute__ ((packed)) evt_read_remote_features_complete; -#define EVT_READ_REMOTE_FEATURES_COMPLETE_SIZE 11 - -#define EVT_READ_REMOTE_VERSION_COMPLETE 0x0C -typedef struct { - uint8_t status; - uint16_t handle; - uint8_t lmp_ver; - uint16_t manufacturer; - uint16_t lmp_subver; -} __attribute__ ((packed)) evt_read_remote_version_complete; -#define EVT_READ_REMOTE_VERSION_COMPLETE_SIZE 8 - -#define EVT_QOS_SETUP_COMPLETE 0x0D -typedef struct { - uint8_t status; - uint16_t handle; - uint8_t flags; /* Reserved */ - hci_qos qos; -} __attribute__ ((packed)) evt_qos_setup_complete; -#define EVT_QOS_SETUP_COMPLETE_SIZE (4 + HCI_QOS_CP_SIZE) - -#define EVT_CMD_COMPLETE 0x0E -typedef struct { - uint8_t ncmd; - uint16_t opcode; -} __attribute__ ((packed)) evt_cmd_complete; -#define EVT_CMD_COMPLETE_SIZE 3 - -#define EVT_CMD_STATUS 0x0F -typedef struct { - uint8_t status; - uint8_t ncmd; - uint16_t opcode; -} __attribute__ ((packed)) evt_cmd_status; -#define EVT_CMD_STATUS_SIZE 4 - -#define EVT_HARDWARE_ERROR 0x10 -typedef struct { - uint8_t code; -} __attribute__ ((packed)) evt_hardware_error; -#define EVT_HARDWARE_ERROR_SIZE 1 - -#define EVT_FLUSH_OCCURRED 0x11 -typedef struct { - uint16_t handle; -} __attribute__ ((packed)) evt_flush_occured; -#define EVT_FLUSH_OCCURRED_SIZE 2 - -#define EVT_ROLE_CHANGE 0x12 -typedef struct { - uint8_t status; - bdaddr_t bdaddr; - uint8_t role; -} __attribute__ ((packed)) evt_role_change; -#define EVT_ROLE_CHANGE_SIZE 8 - -#define EVT_NUM_COMP_PKTS 0x13 -typedef struct { - uint8_t num_hndl; - /* variable length part */ -} __attribute__ ((packed)) evt_num_comp_pkts; -#define EVT_NUM_COMP_PKTS_SIZE 1 - -#define EVT_MODE_CHANGE 0x14 -typedef struct { - uint8_t status; - uint16_t handle; - uint8_t mode; - uint16_t interval; -} __attribute__ ((packed)) evt_mode_change; -#define EVT_MODE_CHANGE_SIZE 6 - -#define EVT_RETURN_LINK_KEYS 0x15 -typedef struct { - uint8_t num_keys; - /* variable length part */ -} __attribute__ ((packed)) evt_return_link_keys; -#define EVT_RETURN_LINK_KEYS_SIZE 1 - -#define EVT_PIN_CODE_REQ 0x16 -typedef struct { - bdaddr_t bdaddr; -} __attribute__ ((packed)) evt_pin_code_req; -#define EVT_PIN_CODE_REQ_SIZE 6 - -#define EVT_LINK_KEY_REQ 0x17 -typedef struct { - bdaddr_t bdaddr; -} __attribute__ ((packed)) evt_link_key_req; -#define EVT_LINK_KEY_REQ_SIZE 6 - -#define EVT_LINK_KEY_NOTIFY 0x18 -typedef struct { - bdaddr_t bdaddr; - uint8_t link_key[16]; - uint8_t key_type; -} __attribute__ ((packed)) evt_link_key_notify; -#define EVT_LINK_KEY_NOTIFY_SIZE 23 - -#define EVT_LOOPBACK_COMMAND 0x19 - -#define EVT_DATA_BUFFER_OVERFLOW 0x1A -typedef struct { - uint8_t link_type; -} __attribute__ ((packed)) evt_data_buffer_overflow; -#define EVT_DATA_BUFFER_OVERFLOW_SIZE 1 - -#define EVT_MAX_SLOTS_CHANGE 0x1B -typedef struct { - uint16_t handle; - uint8_t max_slots; -} __attribute__ ((packed)) evt_max_slots_change; -#define EVT_MAX_SLOTS_CHANGE_SIZE 3 - -#define EVT_READ_CLOCK_OFFSET_COMPLETE 0x1C -typedef struct { - uint8_t status; - uint16_t handle; - uint16_t clock_offset; -} __attribute__ ((packed)) evt_read_clock_offset_complete; -#define EVT_READ_CLOCK_OFFSET_COMPLETE_SIZE 5 - -#define EVT_CONN_PTYPE_CHANGED 0x1D -typedef struct { - uint8_t status; - uint16_t handle; - uint16_t ptype; -} __attribute__ ((packed)) evt_conn_ptype_changed; -#define EVT_CONN_PTYPE_CHANGED_SIZE 5 - -#define EVT_QOS_VIOLATION 0x1E -typedef struct { - uint16_t handle; -} __attribute__ ((packed)) evt_qos_violation; -#define EVT_QOS_VIOLATION_SIZE 2 - -#define EVT_PSCAN_REP_MODE_CHANGE 0x20 -typedef struct { - bdaddr_t bdaddr; - uint8_t pscan_rep_mode; -} __attribute__ ((packed)) evt_pscan_rep_mode_change; -#define EVT_PSCAN_REP_MODE_CHANGE_SIZE 7 - -#define EVT_FLOW_SPEC_COMPLETE 0x21 -typedef struct { - uint8_t status; - uint16_t handle; - uint8_t flags; - uint8_t direction; - hci_qos qos; -} __attribute__ ((packed)) evt_flow_spec_complete; -#define EVT_FLOW_SPEC_COMPLETE_SIZE (5 + HCI_QOS_CP_SIZE) - -#define EVT_INQUIRY_RESULT_WITH_RSSI 0x22 -typedef struct { - bdaddr_t bdaddr; - uint8_t pscan_rep_mode; - uint8_t pscan_period_mode; - uint8_t dev_class[3]; - uint16_t clock_offset; - int8_t rssi; -} __attribute__ ((packed)) inquiry_info_with_rssi; -#define INQUIRY_INFO_WITH_RSSI_SIZE 14 -typedef struct { - bdaddr_t bdaddr; - uint8_t pscan_rep_mode; - uint8_t pscan_period_mode; - uint8_t pscan_mode; - uint8_t dev_class[3]; - uint16_t clock_offset; - int8_t rssi; -} __attribute__ ((packed)) inquiry_info_with_rssi_and_pscan_mode; -#define INQUIRY_INFO_WITH_RSSI_AND_PSCAN_MODE_SIZE 15 - -#define EVT_READ_REMOTE_EXT_FEATURES_COMPLETE 0x23 -typedef struct { - uint8_t status; - uint16_t handle; - uint8_t page_num; - uint8_t max_page_num; - uint8_t features[8]; -} __attribute__ ((packed)) evt_read_remote_ext_features_complete; -#define EVT_READ_REMOTE_EXT_FEATURES_COMPLETE_SIZE 13 - -#define EVT_SYNC_CONN_COMPLETE 0x2C -typedef struct { - uint8_t status; - uint16_t handle; - bdaddr_t bdaddr; - uint8_t link_type; - uint8_t trans_interval; - uint8_t retrans_window; - uint16_t rx_pkt_len; - uint16_t tx_pkt_len; - uint8_t air_mode; -} __attribute__ ((packed)) evt_sync_conn_complete; -#define EVT_SYNC_CONN_COMPLETE_SIZE 17 - -#define EVT_SYNC_CONN_CHANGED 0x2D -typedef struct { - uint8_t status; - uint16_t handle; - uint8_t trans_interval; - uint8_t retrans_window; - uint16_t rx_pkt_len; - uint16_t tx_pkt_len; -} __attribute__ ((packed)) evt_sync_conn_changed; -#define EVT_SYNC_CONN_CHANGED_SIZE 9 - -#define EVT_SNIFF_SUBRATING 0x2E -typedef struct { - uint8_t status; - uint16_t handle; - uint16_t max_tx_latency; - uint16_t max_rx_latency; - uint16_t min_remote_timeout; - uint16_t min_local_timeout; -} __attribute__ ((packed)) evt_sniff_subrating; -#define EVT_SNIFF_SUBRATING_SIZE 11 - -#define EVT_EXTENDED_INQUIRY_RESULT 0x2F -typedef struct { - bdaddr_t bdaddr; - uint8_t pscan_rep_mode; - uint8_t pscan_period_mode; - uint8_t dev_class[3]; - uint16_t clock_offset; - int8_t rssi; - uint8_t data[HCI_MAX_EIR_LENGTH]; -} __attribute__ ((packed)) extended_inquiry_info; -#define EXTENDED_INQUIRY_INFO_SIZE 254 - -#define EVT_ENCRYPTION_KEY_REFRESH_COMPLETE 0x30 -typedef struct { - uint8_t status; - uint16_t handle; -} __attribute__ ((packed)) evt_encryption_key_refresh_complete; -#define EVT_ENCRYPTION_KEY_REFRESH_COMPLETE_SIZE 3 - -#define EVT_IO_CAPABILITY_REQUEST 0x31 -typedef struct { - bdaddr_t bdaddr; -} __attribute__ ((packed)) evt_io_capability_request; -#define EVT_IO_CAPABILITY_REQUEST_SIZE 6 - -#define EVT_IO_CAPABILITY_RESPONSE 0x32 -typedef struct { - bdaddr_t bdaddr; - uint8_t capability; - uint8_t oob_data; - uint8_t authentication; -} __attribute__ ((packed)) evt_io_capability_response; -#define EVT_IO_CAPABILITY_RESPONSE_SIZE 9 - -#define EVT_USER_CONFIRM_REQUEST 0x33 -typedef struct { - bdaddr_t bdaddr; - uint32_t passkey; -} __attribute__ ((packed)) evt_user_confirm_request; -#define EVT_USER_CONFIRM_REQUEST_SIZE 10 - -#define EVT_USER_PASSKEY_REQUEST 0x34 -typedef struct { - bdaddr_t bdaddr; -} __attribute__ ((packed)) evt_user_passkey_request; -#define EVT_USER_PASSKEY_REQUEST_SIZE 6 - -#define EVT_REMOTE_OOB_DATA_REQUEST 0x35 -typedef struct { - bdaddr_t bdaddr; -} __attribute__ ((packed)) evt_remote_oob_data_request; -#define EVT_REMOTE_OOB_DATA_REQUEST_SIZE 6 - -#define EVT_SIMPLE_PAIRING_COMPLETE 0x36 -typedef struct { - uint8_t status; - bdaddr_t bdaddr; -} __attribute__ ((packed)) evt_simple_pairing_complete; -#define EVT_SIMPLE_PAIRING_COMPLETE_SIZE 7 - -#define EVT_LINK_SUPERVISION_TIMEOUT_CHANGED 0x38 -typedef struct { - uint16_t handle; - uint16_t timeout; -} __attribute__ ((packed)) evt_link_supervision_timeout_changed; -#define EVT_LINK_SUPERVISION_TIMEOUT_CHANGED_SIZE 4 - -#define EVT_ENHANCED_FLUSH_COMPLETE 0x39 -typedef struct { - uint16_t handle; -} __attribute__ ((packed)) evt_enhanced_flush_complete; -#define EVT_ENHANCED_FLUSH_COMPLETE_SIZE 2 - -#define EVT_USER_PASSKEY_NOTIFY 0x3B -typedef struct { - bdaddr_t bdaddr; - uint32_t passkey; -} __attribute__ ((packed)) evt_user_passkey_notify; -#define EVT_USER_PASSKEY_NOTIFY_SIZE 10 - -#define EVT_KEYPRESS_NOTIFY 0x3C -typedef struct { - bdaddr_t bdaddr; - uint8_t type; -} __attribute__ ((packed)) evt_keypress_notify; -#define EVT_KEYPRESS_NOTIFY_SIZE 7 - -#define EVT_REMOTE_HOST_FEATURES_NOTIFY 0x3D -typedef struct { - bdaddr_t bdaddr; - uint8_t features[8]; -} __attribute__ ((packed)) evt_remote_host_features_notify; -#define EVT_REMOTE_HOST_FEATURES_NOTIFY_SIZE 14 - -#define EVT_LE_META_EVENT 0x3E -typedef struct { - uint8_t subevent; - uint8_t data[0]; -} __attribute__ ((packed)) evt_le_meta_event; -#define EVT_LE_META_EVENT_SIZE 1 - -#define EVT_LE_CONN_COMPLETE 0x01 -typedef struct { - uint8_t status; - uint16_t handle; - uint8_t role; - uint8_t peer_bdaddr_type; - bdaddr_t peer_bdaddr; - uint16_t interval; - uint16_t latency; - uint16_t supervision_timeout; - uint8_t master_clock_accuracy; -} __attribute__ ((packed)) evt_le_connection_complete; -#define EVT_LE_CONN_COMPLETE_SIZE 18 - -#define EVT_LE_ADVERTISING_REPORT 0x02 -typedef struct { - uint8_t evt_type; - uint8_t bdaddr_type; - bdaddr_t bdaddr; - uint8_t length; - uint8_t data[0]; -} __attribute__ ((packed)) le_advertising_info; -#define LE_ADVERTISING_INFO_SIZE 9 - -#define EVT_LE_CONN_UPDATE_COMPLETE 0x03 -typedef struct { - uint8_t status; - uint16_t handle; - uint16_t interval; - uint16_t latency; - uint16_t supervision_timeout; -} __attribute__ ((packed)) evt_le_connection_update_complete; -#define EVT_LE_CONN_UPDATE_COMPLETE_SIZE 9 - -#define EVT_LE_READ_REMOTE_USED_FEATURES_COMPLETE 0x04 -typedef struct { - uint8_t status; - uint16_t handle; - uint8_t features[8]; -} __attribute__ ((packed)) evt_le_read_remote_used_features_complete; -#define EVT_LE_READ_REMOTE_USED_FEATURES_COMPLETE_SIZE 11 - -#define EVT_LE_LTK_REQUEST 0x05 -typedef struct { - uint16_t handle; - uint64_t random; - uint16_t diversifier; -} __attribute__ ((packed)) evt_le_long_term_key_request; -#define EVT_LE_LTK_REQUEST_SIZE 12 - -#define EVT_PHYSICAL_LINK_COMPLETE 0x40 -typedef struct { - uint8_t status; - uint8_t handle; -} __attribute__ ((packed)) evt_physical_link_complete; -#define EVT_PHYSICAL_LINK_COMPLETE_SIZE 2 - -#define EVT_CHANNEL_SELECTED 0x41 - -#define EVT_DISCONNECT_PHYSICAL_LINK_COMPLETE 0x42 -typedef struct { - uint8_t status; - uint8_t handle; - uint8_t reason; -} __attribute__ ((packed)) evt_disconn_physical_link_complete; -#define EVT_DISCONNECT_PHYSICAL_LINK_COMPLETE_SIZE 3 - -#define EVT_PHYSICAL_LINK_LOSS_EARLY_WARNING 0x43 -typedef struct { - uint8_t handle; - uint8_t reason; -} __attribute__ ((packed)) evt_physical_link_loss_warning; -#define EVT_PHYSICAL_LINK_LOSS_WARNING_SIZE 2 - -#define EVT_PHYSICAL_LINK_RECOVERY 0x44 -typedef struct { - uint8_t handle; -} __attribute__ ((packed)) evt_physical_link_recovery; -#define EVT_PHYSICAL_LINK_RECOVERY_SIZE 1 - -#define EVT_LOGICAL_LINK_COMPLETE 0x45 -typedef struct { - uint8_t status; - uint16_t log_handle; - uint8_t handle; - uint8_t tx_flow_id; -} __attribute__ ((packed)) evt_logical_link_complete; -#define EVT_LOGICAL_LINK_COMPLETE_SIZE 5 - -#define EVT_DISCONNECT_LOGICAL_LINK_COMPLETE 0x46 - -#define EVT_FLOW_SPEC_MODIFY_COMPLETE 0x47 -typedef struct { - uint8_t status; - uint16_t handle; -} __attribute__ ((packed)) evt_flow_spec_modify_complete; -#define EVT_FLOW_SPEC_MODIFY_COMPLETE_SIZE 3 - -#define EVT_NUMBER_COMPLETED_BLOCKS 0x48 -typedef struct { - uint16_t handle; - uint16_t num_cmplt_pkts; - uint16_t num_cmplt_blks; -} __attribute__ ((packed)) cmplt_handle; -typedef struct { - uint16_t total_num_blocks; - uint8_t num_handles; - cmplt_handle handles[0]; -} __attribute__ ((packed)) evt_num_completed_blocks; - -#define EVT_AMP_STATUS_CHANGE 0x4D -typedef struct { - uint8_t status; - uint8_t amp_status; -} __attribute__ ((packed)) evt_amp_status_change; -#define EVT_AMP_STATUS_CHANGE_SIZE 2 - -#define EVT_TESTING 0xFE - -#define EVT_VENDOR 0xFF - -/* Internal events generated by BlueZ stack */ -#define EVT_STACK_INTERNAL 0xFD -typedef struct { - uint16_t type; - uint8_t data[0]; -} __attribute__ ((packed)) evt_stack_internal; -#define EVT_STACK_INTERNAL_SIZE 2 - -#define EVT_SI_DEVICE 0x01 -typedef struct { - uint16_t event; - uint16_t dev_id; -} __attribute__ ((packed)) evt_si_device; -#define EVT_SI_DEVICE_SIZE 4 - -/* -------- HCI Packet structures -------- */ -#define HCI_TYPE_LEN 1 - -typedef struct { - uint16_t opcode; /* OCF & OGF */ - uint8_t plen; -} __attribute__ ((packed)) hci_command_hdr; -#define HCI_COMMAND_HDR_SIZE 3 - -typedef struct { - uint8_t evt; - uint8_t plen; -} __attribute__ ((packed)) hci_event_hdr; -#define HCI_EVENT_HDR_SIZE 2 - -typedef struct { - uint16_t handle; /* Handle & Flags(PB, BC) */ - uint16_t dlen; -} __attribute__ ((packed)) hci_acl_hdr; -#define HCI_ACL_HDR_SIZE 4 - -typedef struct { - uint16_t handle; - uint8_t dlen; -} __attribute__ ((packed)) hci_sco_hdr; -#define HCI_SCO_HDR_SIZE 3 - -typedef struct { - uint16_t device; - uint16_t type; - uint16_t plen; -} __attribute__ ((packed)) hci_msg_hdr; -#define HCI_MSG_HDR_SIZE 6 - -/* Command opcode pack/unpack */ -#define cmd_opcode_pack(ogf, ocf) (uint16_t)((ocf & 0x03ff)|(ogf << 10)) -#define cmd_opcode_ogf(op) (op >> 10) -#define cmd_opcode_ocf(op) (op & 0x03ff) - -/* ACL handle and flags pack/unpack */ -#define acl_handle_pack(h, f) (uint16_t)((h & 0x0fff)|(f << 12)) -#define acl_handle(h) (h & 0x0fff) -#define acl_flags(h) (h >> 12) - -#endif /* _NO_HCI_DEFS */ - -/* HCI Socket options */ -#define HCI_DATA_DIR 1 -#define HCI_FILTER 2 -#define HCI_TIME_STAMP 3 - -/* HCI CMSG flags */ -#define HCI_CMSG_DIR 0x0001 -#define HCI_CMSG_TSTAMP 0x0002 - -struct sockaddr_hci { - sa_family_t hci_family; - unsigned short hci_dev; - unsigned short hci_channel; -}; -#define HCI_DEV_NONE 0xffff - -#define HCI_CHANNEL_RAW 0 -#define HCI_CHANNEL_MONITOR 2 -#define HCI_CHANNEL_CONTROL 3 - -struct hci_filter { - uint32_t type_mask; - uint32_t event_mask[2]; - uint16_t opcode; -}; - -#define HCI_FLT_TYPE_BITS 31 -#define HCI_FLT_EVENT_BITS 63 -#define HCI_FLT_OGF_BITS 63 -#define HCI_FLT_OCF_BITS 127 - -/* Ioctl requests structures */ -struct hci_dev_stats { - uint32_t err_rx; - uint32_t err_tx; - uint32_t cmd_tx; - uint32_t evt_rx; - uint32_t acl_tx; - uint32_t acl_rx; - uint32_t sco_tx; - uint32_t sco_rx; - uint32_t byte_rx; - uint32_t byte_tx; -}; - -struct hci_dev_info { - uint16_t dev_id; - char name[8]; - - bdaddr_t bdaddr; - - uint32_t flags; - uint8_t type; - - uint8_t features[8]; - - uint32_t pkt_type; - uint32_t link_policy; - uint32_t link_mode; - - uint16_t acl_mtu; - uint16_t acl_pkts; - uint16_t sco_mtu; - uint16_t sco_pkts; - - struct hci_dev_stats stat; -}; - -struct hci_conn_info { - uint16_t handle; - bdaddr_t bdaddr; - uint8_t type; - uint8_t out; - uint16_t state; - uint32_t link_mode; -}; - -struct hci_dev_req { - uint16_t dev_id; - uint32_t dev_opt; -}; - -struct hci_dev_list_req { - uint16_t dev_num; - struct hci_dev_req dev_req[0]; /* hci_dev_req structures */ -}; - -struct hci_conn_list_req { - uint16_t dev_id; - uint16_t conn_num; - struct hci_conn_info conn_info[0]; -}; - -struct hci_conn_info_req { - bdaddr_t bdaddr; - uint8_t type; - struct hci_conn_info conn_info[0]; -}; - -struct hci_auth_info_req { - bdaddr_t bdaddr; - uint8_t type; -}; - -struct hci_inquiry_req { - uint16_t dev_id; - uint16_t flags; - uint8_t lap[3]; - uint8_t length; - uint8_t num_rsp; -}; -#define IREQ_CACHE_FLUSH 0x0001 - -#ifdef __cplusplus -} -#endif - -#endif /* __HCI_H */ diff --git a/GRIB_BLE_HUB/libs/ble_extend/lib/bluetooth/hci_lib.h b/GRIB_BLE_HUB/libs/ble_extend/lib/bluetooth/hci_lib.h deleted file mode 100644 index cf4a0ff..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/lib/bluetooth/hci_lib.h +++ /dev/null @@ -1,233 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2000-2001 Qualcomm Incorporated - * Copyright (C) 2002-2003 Maxim Krasnyansky - * Copyright (C) 2002-2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifndef __HCI_LIB_H -#define __HCI_LIB_H - -#ifdef __cplusplus -extern "C" { -#endif - -struct hci_request { - uint16_t ogf; - uint16_t ocf; - int event; - void *cparam; - int clen; - void *rparam; - int rlen; -}; - -struct hci_version { - uint16_t manufacturer; - uint8_t hci_ver; - uint16_t hci_rev; - uint8_t lmp_ver; - uint16_t lmp_subver; -}; - -int hci_open_dev(int dev_id); -int hci_close_dev(int dd); -int hci_send_cmd(int dd, uint16_t ogf, uint16_t ocf, uint8_t plen, void *param); -int hci_send_req(int dd, struct hci_request *req, int timeout); - -int hci_create_connection(int dd, const bdaddr_t *bdaddr, uint16_t ptype, uint16_t clkoffset, uint8_t rswitch, uint16_t *handle, int to); -int hci_disconnect(int dd, uint16_t handle, uint8_t reason, int to); - -int hci_inquiry(int dev_id, int len, int num_rsp, const uint8_t *lap, inquiry_info **ii, long flags); -int hci_devinfo(int dev_id, struct hci_dev_info *di); -int hci_devba(int dev_id, bdaddr_t *bdaddr); -int hci_devid(const char *str); - -int hci_read_local_name(int dd, int len, char *name, int to); -int hci_write_local_name(int dd, const char *name, int to); -int hci_read_remote_name(int dd, const bdaddr_t *bdaddr, int len, char *name, int to); -int hci_read_remote_name_with_clock_offset(int dd, const bdaddr_t *bdaddr, uint8_t pscan_rep_mode, uint16_t clkoffset, int len, char *name, int to); -int hci_read_remote_name_cancel(int dd, const bdaddr_t *bdaddr, int to); -int hci_read_remote_version(int dd, uint16_t handle, struct hci_version *ver, int to); -int hci_read_remote_features(int dd, uint16_t handle, uint8_t *features, int to); -int hci_read_remote_ext_features(int dd, uint16_t handle, uint8_t page, uint8_t *max_page, uint8_t *features, int to); -int hci_read_clock_offset(int dd, uint16_t handle, uint16_t *clkoffset, int to); -int hci_read_local_version(int dd, struct hci_version *ver, int to); -int hci_read_local_commands(int dd, uint8_t *commands, int to); -int hci_read_local_features(int dd, uint8_t *features, int to); -int hci_read_local_ext_features(int dd, uint8_t page, uint8_t *max_page, uint8_t *features, int to); -int hci_read_bd_addr(int dd, bdaddr_t *bdaddr, int to); -int hci_read_class_of_dev(int dd, uint8_t *cls, int to); -int hci_write_class_of_dev(int dd, uint32_t cls, int to); -int hci_read_voice_setting(int dd, uint16_t *vs, int to); -int hci_write_voice_setting(int dd, uint16_t vs, int to); -int hci_read_current_iac_lap(int dd, uint8_t *num_iac, uint8_t *lap, int to); -int hci_write_current_iac_lap(int dd, uint8_t num_iac, uint8_t *lap, int to); -int hci_read_stored_link_key(int dd, bdaddr_t *bdaddr, uint8_t all, int to); -int hci_write_stored_link_key(int dd, bdaddr_t *bdaddr, uint8_t *key, int to); -int hci_delete_stored_link_key(int dd, bdaddr_t *bdaddr, uint8_t all, int to); -int hci_authenticate_link(int dd, uint16_t handle, int to); -int hci_encrypt_link(int dd, uint16_t handle, uint8_t encrypt, int to); -int hci_change_link_key(int dd, uint16_t handle, int to); -int hci_switch_role(int dd, bdaddr_t *bdaddr, uint8_t role, int to); -int hci_park_mode(int dd, uint16_t handle, uint16_t max_interval, uint16_t min_interval, int to); -int hci_exit_park_mode(int dd, uint16_t handle, int to); -int hci_read_inquiry_scan_type(int dd, uint8_t *type, int to); -int hci_write_inquiry_scan_type(int dd, uint8_t type, int to); -int hci_read_inquiry_mode(int dd, uint8_t *mode, int to); -int hci_write_inquiry_mode(int dd, uint8_t mode, int to); -int hci_read_afh_mode(int dd, uint8_t *mode, int to); -int hci_write_afh_mode(int dd, uint8_t mode, int to); -int hci_read_ext_inquiry_response(int dd, uint8_t *fec, uint8_t *data, int to); -int hci_write_ext_inquiry_response(int dd, uint8_t fec, uint8_t *data, int to); -int hci_read_simple_pairing_mode(int dd, uint8_t *mode, int to); -int hci_write_simple_pairing_mode(int dd, uint8_t mode, int to); -int hci_read_local_oob_data(int dd, uint8_t *hash, uint8_t *randomizer, int to); -int hci_read_inq_response_tx_power_level(int dd, int8_t *level, int to); -int hci_read_inquiry_transmit_power_level(int dd, int8_t *level, int to); -int hci_write_inquiry_transmit_power_level(int dd, int8_t level, int to); -int hci_read_transmit_power_level(int dd, uint16_t handle, uint8_t type, int8_t *level, int to); -int hci_read_link_policy(int dd, uint16_t handle, uint16_t *policy, int to); -int hci_write_link_policy(int dd, uint16_t handle, uint16_t policy, int to); -int hci_read_link_supervision_timeout(int dd, uint16_t handle, uint16_t *timeout, int to); -int hci_write_link_supervision_timeout(int dd, uint16_t handle, uint16_t timeout, int to); -int hci_set_afh_classification(int dd, uint8_t *map, int to); -int hci_read_link_quality(int dd, uint16_t handle, uint8_t *link_quality, int to); -int hci_read_rssi(int dd, uint16_t handle, int8_t *rssi, int to); -int hci_read_afh_map(int dd, uint16_t handle, uint8_t *mode, uint8_t *map, int to); -int hci_read_clock(int dd, uint16_t handle, uint8_t which, uint32_t *clock, uint16_t *accuracy, int to); - -int hci_le_set_scan_enable(int dev_id, uint8_t enable, uint8_t filter_dup, int to); -int hci_le_set_scan_parameters(int dev_id, uint8_t type, uint16_t interval, - uint16_t window, uint8_t own_type, - uint8_t filter, int to); -int hci_le_set_advertise_enable(int dev_id, uint8_t enable, int to); -int hci_le_create_conn(int dd, uint16_t interval, uint16_t window, - uint8_t initiator_filter, uint8_t peer_bdaddr_type, - bdaddr_t peer_bdaddr, uint8_t own_bdaddr_type, - uint16_t min_interval, uint16_t max_interval, - uint16_t latency, uint16_t supervision_timeout, - uint16_t min_ce_length, uint16_t max_ce_length, - uint16_t *handle, int to); - -int hci_le_conn_update(int dd, uint16_t handle, uint16_t min_interval, - uint16_t max_interval, uint16_t latency, - uint16_t supervision_timeout, int to); -int hci_le_add_white_list(int dd, const bdaddr_t *bdaddr, uint8_t type, int to); -int hci_le_rm_white_list(int dd, const bdaddr_t *bdaddr, uint8_t type, int to); -int hci_le_read_white_list_size(int dd, uint8_t *size, int to); -int hci_le_clear_white_list(int dd, int to); -int hci_for_each_dev(int flag, int(*func)(int dd, int dev_id, long arg), long arg); -int hci_get_route(bdaddr_t *bdaddr); - -char *hci_bustostr(int bus); -char *hci_typetostr(int type); -char *hci_dtypetostr(int type); -char *hci_dflagstostr(uint32_t flags); -char *hci_ptypetostr(unsigned int ptype); -int hci_strtoptype(char *str, unsigned int *val); -char *hci_scoptypetostr(unsigned int ptype); -int hci_strtoscoptype(char *str, unsigned int *val); -char *hci_lptostr(unsigned int ptype); -int hci_strtolp(char *str, unsigned int *val); -char *hci_lmtostr(unsigned int ptype); -int hci_strtolm(char *str, unsigned int *val); - -char *hci_cmdtostr(unsigned int cmd); -char *hci_commandstostr(uint8_t *commands, char *pref, int width); - -char *hci_vertostr(unsigned int ver); -int hci_strtover(char *str, unsigned int *ver); -char *lmp_vertostr(unsigned int ver); -int lmp_strtover(char *str, unsigned int *ver); - -char *lmp_featurestostr(uint8_t *features, char *pref, int width); - -static inline void hci_set_bit(int nr, void *addr) -{ - *((uint32_t *) addr + (nr >> 5)) |= (1 << (nr & 31)); -} - -static inline void hci_clear_bit(int nr, void *addr) -{ - *((uint32_t *) addr + (nr >> 5)) &= ~(1 << (nr & 31)); -} - -static inline int hci_test_bit(int nr, void *addr) -{ - return *((uint32_t *) addr + (nr >> 5)) & (1 << (nr & 31)); -} - -/* HCI filter tools */ -static inline void hci_filter_clear(struct hci_filter *f) -{ - memset(f, 0, sizeof(*f)); -} -static inline void hci_filter_set_ptype(int t, struct hci_filter *f) -{ - hci_set_bit((t == HCI_VENDOR_PKT) ? 0 : (t & HCI_FLT_TYPE_BITS), &f->type_mask); -} -static inline void hci_filter_clear_ptype(int t, struct hci_filter *f) -{ - hci_clear_bit((t == HCI_VENDOR_PKT) ? 0 : (t & HCI_FLT_TYPE_BITS), &f->type_mask); -} -static inline int hci_filter_test_ptype(int t, struct hci_filter *f) -{ - return hci_test_bit((t == HCI_VENDOR_PKT) ? 0 : (t & HCI_FLT_TYPE_BITS), &f->type_mask); -} -static inline void hci_filter_all_ptypes(struct hci_filter *f) -{ - memset((void *) &f->type_mask, 0xff, sizeof(f->type_mask)); -} -static inline void hci_filter_set_event(int e, struct hci_filter *f) -{ - hci_set_bit((e & HCI_FLT_EVENT_BITS), &f->event_mask); -} -static inline void hci_filter_clear_event(int e, struct hci_filter *f) -{ - hci_clear_bit((e & HCI_FLT_EVENT_BITS), &f->event_mask); -} -static inline int hci_filter_test_event(int e, struct hci_filter *f) -{ - return hci_test_bit((e & HCI_FLT_EVENT_BITS), &f->event_mask); -} -static inline void hci_filter_all_events(struct hci_filter *f) -{ - memset((void *) f->event_mask, 0xff, sizeof(f->event_mask)); -} -static inline void hci_filter_set_opcode(int opcode, struct hci_filter *f) -{ - f->opcode = opcode; -} -static inline void hci_filter_clear_opcode(struct hci_filter *f) -{ - f->opcode = 0; -} -static inline int hci_filter_test_opcode(int opcode, struct hci_filter *f) -{ - return (f->opcode == opcode); -} - -#ifdef __cplusplus -} -#endif - -#endif /* __HCI_LIB_H */ diff --git a/GRIB_BLE_HUB/libs/ble_extend/lib/bluetooth/hidp.h b/GRIB_BLE_HUB/libs/ble_extend/lib/bluetooth/hidp.h deleted file mode 100644 index c5e6a78..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/lib/bluetooth/hidp.h +++ /dev/null @@ -1,85 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2003-2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifndef __HIDP_H -#define __HIDP_H - -#ifdef __cplusplus -extern "C" { -#endif - -/* HIDP defaults */ -#define HIDP_MINIMUM_MTU 48 -#define HIDP_DEFAULT_MTU 48 - -/* HIDP ioctl defines */ -#define HIDPCONNADD _IOW('H', 200, int) -#define HIDPCONNDEL _IOW('H', 201, int) -#define HIDPGETCONNLIST _IOR('H', 210, int) -#define HIDPGETCONNINFO _IOR('H', 211, int) - -#define HIDP_VIRTUAL_CABLE_UNPLUG 0 -#define HIDP_BOOT_PROTOCOL_MODE 1 -#define HIDP_BLUETOOTH_VENDOR_ID 9 - -struct hidp_connadd_req { - int ctrl_sock; /* Connected control socket */ - int intr_sock; /* Connected interrupt socket */ - uint16_t parser; /* Parser version */ - uint16_t rd_size; /* Report descriptor size */ - uint8_t *rd_data; /* Report descriptor data */ - uint8_t country; - uint8_t subclass; - uint16_t vendor; - uint16_t product; - uint16_t version; - uint32_t flags; - uint32_t idle_to; - char name[128]; /* Device name */ -}; - -struct hidp_conndel_req { - bdaddr_t bdaddr; - uint32_t flags; -}; - -struct hidp_conninfo { - bdaddr_t bdaddr; - uint32_t flags; - uint16_t state; - uint16_t vendor; - uint16_t product; - uint16_t version; - char name[128]; -}; - -struct hidp_connlist_req { - uint32_t cnum; - struct hidp_conninfo *ci; -}; - -#ifdef __cplusplus -} -#endif - -#endif /* __HIDP_H */ diff --git a/GRIB_BLE_HUB/libs/ble_extend/lib/bluetooth/l2cap.h b/GRIB_BLE_HUB/libs/ble_extend/lib/bluetooth/l2cap.h deleted file mode 100644 index 5ce94c4..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/lib/bluetooth/l2cap.h +++ /dev/null @@ -1,279 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2000-2001 Qualcomm Incorporated - * Copyright (C) 2002-2003 Maxim Krasnyansky - * Copyright (C) 2002-2010 Marcel Holtmann - * Copyright (c) 2012 Code Aurora Forum. All rights reserved. - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifndef __L2CAP_H -#define __L2CAP_H - -#ifdef __cplusplus -extern "C" { -#endif - -#include - -/* L2CAP defaults */ -#define L2CAP_DEFAULT_MTU 672 -#define L2CAP_DEFAULT_FLUSH_TO 0xFFFF - -/* L2CAP socket address */ -struct sockaddr_l2 { - sa_family_t l2_family; - unsigned short l2_psm; - bdaddr_t l2_bdaddr; - unsigned short l2_cid; - uint8_t l2_bdaddr_type; -}; - -/* L2CAP socket options */ -#define L2CAP_OPTIONS 0x01 -struct l2cap_options { - uint16_t omtu; - uint16_t imtu; - uint16_t flush_to; - uint8_t mode; - uint8_t fcs; - uint8_t max_tx; - uint16_t txwin_size; -}; - -#define L2CAP_CONNINFO 0x02 -struct l2cap_conninfo { - uint16_t hci_handle; - uint8_t dev_class[3]; -}; - -#define L2CAP_LM 0x03 -#define L2CAP_LM_MASTER 0x0001 -#define L2CAP_LM_AUTH 0x0002 -#define L2CAP_LM_ENCRYPT 0x0004 -#define L2CAP_LM_TRUSTED 0x0008 -#define L2CAP_LM_RELIABLE 0x0010 -#define L2CAP_LM_SECURE 0x0020 - -/* L2CAP command codes */ -#define L2CAP_COMMAND_REJ 0x01 -#define L2CAP_CONN_REQ 0x02 -#define L2CAP_CONN_RSP 0x03 -#define L2CAP_CONF_REQ 0x04 -#define L2CAP_CONF_RSP 0x05 -#define L2CAP_DISCONN_REQ 0x06 -#define L2CAP_DISCONN_RSP 0x07 -#define L2CAP_ECHO_REQ 0x08 -#define L2CAP_ECHO_RSP 0x09 -#define L2CAP_INFO_REQ 0x0a -#define L2CAP_INFO_RSP 0x0b -#define L2CAP_CREATE_REQ 0x0c -#define L2CAP_CREATE_RSP 0x0d -#define L2CAP_MOVE_REQ 0x0e -#define L2CAP_MOVE_RSP 0x0f -#define L2CAP_MOVE_CFM 0x10 -#define L2CAP_MOVE_CFM_RSP 0x11 - -/* L2CAP extended feature mask */ -#define L2CAP_FEAT_FLOWCTL 0x00000001 -#define L2CAP_FEAT_RETRANS 0x00000002 -#define L2CAP_FEAT_BIDIR_QOS 0x00000004 -#define L2CAP_FEAT_ERTM 0x00000008 -#define L2CAP_FEAT_STREAMING 0x00000010 -#define L2CAP_FEAT_FCS 0x00000020 -#define L2CAP_FEAT_EXT_FLOW 0x00000040 -#define L2CAP_FEAT_FIXED_CHAN 0x00000080 -#define L2CAP_FEAT_EXT_WINDOW 0x00000100 -#define L2CAP_FEAT_UCD 0x00000200 - -/* L2CAP fixed channels */ -#define L2CAP_FC_L2CAP 0x02 -#define L2CAP_FC_CONNLESS 0x04 -#define L2CAP_FC_A2MP 0x08 - -/* L2CAP structures */ -typedef struct { - uint16_t len; - uint16_t cid; -} __attribute__ ((packed)) l2cap_hdr; -#define L2CAP_HDR_SIZE 4 - -typedef struct { - uint8_t code; - uint8_t ident; - uint16_t len; -} __attribute__ ((packed)) l2cap_cmd_hdr; -#define L2CAP_CMD_HDR_SIZE 4 - -typedef struct { - uint16_t reason; -} __attribute__ ((packed)) l2cap_cmd_rej; -#define L2CAP_CMD_REJ_SIZE 2 - -typedef struct { - uint16_t psm; - uint16_t scid; -} __attribute__ ((packed)) l2cap_conn_req; -#define L2CAP_CONN_REQ_SIZE 4 - -typedef struct { - uint16_t dcid; - uint16_t scid; - uint16_t result; - uint16_t status; -} __attribute__ ((packed)) l2cap_conn_rsp; -#define L2CAP_CONN_RSP_SIZE 8 - -/* connect result */ -#define L2CAP_CR_SUCCESS 0x0000 -#define L2CAP_CR_PEND 0x0001 -#define L2CAP_CR_BAD_PSM 0x0002 -#define L2CAP_CR_SEC_BLOCK 0x0003 -#define L2CAP_CR_NO_MEM 0x0004 - -/* connect status */ -#define L2CAP_CS_NO_INFO 0x0000 -#define L2CAP_CS_AUTHEN_PEND 0x0001 -#define L2CAP_CS_AUTHOR_PEND 0x0002 - -typedef struct { - uint16_t dcid; - uint16_t flags; - uint8_t data[0]; -} __attribute__ ((packed)) l2cap_conf_req; -#define L2CAP_CONF_REQ_SIZE 4 - -typedef struct { - uint16_t scid; - uint16_t flags; - uint16_t result; - uint8_t data[0]; -} __attribute__ ((packed)) l2cap_conf_rsp; -#define L2CAP_CONF_RSP_SIZE 6 - -#define L2CAP_CONF_SUCCESS 0x0000 -#define L2CAP_CONF_UNACCEPT 0x0001 -#define L2CAP_CONF_REJECT 0x0002 -#define L2CAP_CONF_UNKNOWN 0x0003 -#define L2CAP_CONF_PENDING 0x0004 -#define L2CAP_CONF_EFS_REJECT 0x0005 - -typedef struct { - uint8_t type; - uint8_t len; - uint8_t val[0]; -} __attribute__ ((packed)) l2cap_conf_opt; -#define L2CAP_CONF_OPT_SIZE 2 - -#define L2CAP_CONF_MTU 0x01 -#define L2CAP_CONF_FLUSH_TO 0x02 -#define L2CAP_CONF_QOS 0x03 -#define L2CAP_CONF_RFC 0x04 -#define L2CAP_CONF_FCS 0x05 -#define L2CAP_CONF_EFS 0x06 -#define L2CAP_CONF_EWS 0x07 - -#define L2CAP_CONF_MAX_SIZE 22 - -#define L2CAP_MODE_BASIC 0x00 -#define L2CAP_MODE_RETRANS 0x01 -#define L2CAP_MODE_FLOWCTL 0x02 -#define L2CAP_MODE_ERTM 0x03 -#define L2CAP_MODE_STREAMING 0x04 - -#define L2CAP_SERVTYPE_NOTRAFFIC 0x00 -#define L2CAP_SERVTYPE_BESTEFFORT 0x01 -#define L2CAP_SERVTYPE_GUARANTEED 0x02 - -typedef struct { - uint16_t dcid; - uint16_t scid; -} __attribute__ ((packed)) l2cap_disconn_req; -#define L2CAP_DISCONN_REQ_SIZE 4 - -typedef struct { - uint16_t dcid; - uint16_t scid; -} __attribute__ ((packed)) l2cap_disconn_rsp; -#define L2CAP_DISCONN_RSP_SIZE 4 - -typedef struct { - uint16_t type; -} __attribute__ ((packed)) l2cap_info_req; -#define L2CAP_INFO_REQ_SIZE 2 - -typedef struct { - uint16_t type; - uint16_t result; - uint8_t data[0]; -} __attribute__ ((packed)) l2cap_info_rsp; -#define L2CAP_INFO_RSP_SIZE 4 - -/* info type */ -#define L2CAP_IT_CL_MTU 0x0001 -#define L2CAP_IT_FEAT_MASK 0x0002 - -/* info result */ -#define L2CAP_IR_SUCCESS 0x0000 -#define L2CAP_IR_NOTSUPP 0x0001 - -typedef struct { - uint16_t psm; - uint16_t scid; - uint8_t id; -} __attribute__ ((packed)) l2cap_create_req; -#define L2CAP_CREATE_REQ_SIZE 5 - -typedef struct { - uint16_t dcid; - uint16_t scid; - uint16_t result; - uint16_t status; -} __attribute__ ((packed)) l2cap_create_rsp; -#define L2CAP_CREATE_RSP_SIZE 8 - -typedef struct { - uint16_t icid; - uint8_t id; -} __attribute__ ((packed)) l2cap_move_req; -#define L2CAP_MOVE_REQ_SIZE 3 - -typedef struct { - uint16_t icid; - uint16_t result; -} __attribute__ ((packed)) l2cap_move_rsp; -#define L2CAP_MOVE_RSP_SIZE 4 - -typedef struct { - uint16_t icid; - uint16_t result; -} __attribute__ ((packed)) l2cap_move_cfm; -#define L2CAP_MOVE_CFM_SIZE 4 - -typedef struct { - uint16_t icid; -} __attribute__ ((packed)) l2cap_move_cfm_rsp; -#define L2CAP_MOVE_CFM_RSP_SIZE 2 - -#ifdef __cplusplus -} -#endif - -#endif /* __L2CAP_H */ diff --git a/GRIB_BLE_HUB/libs/ble_extend/lib/bluetooth/rfcomm.h b/GRIB_BLE_HUB/libs/ble_extend/lib/bluetooth/rfcomm.h deleted file mode 100644 index ad6c0e1..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/lib/bluetooth/rfcomm.h +++ /dev/null @@ -1,99 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2002-2003 Maxim Krasnyansky - * Copyright (C) 2002-2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifndef __RFCOMM_H -#define __RFCOMM_H - -#ifdef __cplusplus -extern "C" { -#endif - -#include - -/* RFCOMM defaults */ -#define RFCOMM_DEFAULT_MTU 127 - -#define RFCOMM_PSM 3 - -/* RFCOMM socket address */ -struct sockaddr_rc { - sa_family_t rc_family; - bdaddr_t rc_bdaddr; - uint8_t rc_channel; -}; - -/* RFCOMM socket options */ -#define RFCOMM_CONNINFO 0x02 -struct rfcomm_conninfo { - uint16_t hci_handle; - uint8_t dev_class[3]; -}; - -#define RFCOMM_LM 0x03 -#define RFCOMM_LM_MASTER 0x0001 -#define RFCOMM_LM_AUTH 0x0002 -#define RFCOMM_LM_ENCRYPT 0x0004 -#define RFCOMM_LM_TRUSTED 0x0008 -#define RFCOMM_LM_RELIABLE 0x0010 -#define RFCOMM_LM_SECURE 0x0020 - -/* RFCOMM TTY support */ -#define RFCOMM_MAX_DEV 256 - -#define RFCOMMCREATEDEV _IOW('R', 200, int) -#define RFCOMMRELEASEDEV _IOW('R', 201, int) -#define RFCOMMGETDEVLIST _IOR('R', 210, int) -#define RFCOMMGETDEVINFO _IOR('R', 211, int) - -struct rfcomm_dev_req { - int16_t dev_id; - uint32_t flags; - bdaddr_t src; - bdaddr_t dst; - uint8_t channel; -}; -#define RFCOMM_REUSE_DLC 0 -#define RFCOMM_RELEASE_ONHUP 1 -#define RFCOMM_HANGUP_NOW 2 -#define RFCOMM_TTY_ATTACHED 3 - -struct rfcomm_dev_info { - int16_t id; - uint32_t flags; - uint16_t state; - bdaddr_t src; - bdaddr_t dst; - uint8_t channel; -}; - -struct rfcomm_dev_list_req { - uint16_t dev_num; - struct rfcomm_dev_info dev_info[0]; -}; - -#ifdef __cplusplus -} -#endif - -#endif /* __RFCOMM_H */ diff --git a/GRIB_BLE_HUB/libs/ble_extend/lib/bluetooth/sco.h b/GRIB_BLE_HUB/libs/ble_extend/lib/bluetooth/sco.h deleted file mode 100644 index 75336a5..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/lib/bluetooth/sco.h +++ /dev/null @@ -1,62 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2002-2003 Maxim Krasnyansky - * Copyright (C) 2002-2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifndef __SCO_H -#define __SCO_H - -#ifdef __cplusplus -extern "C" { -#endif - -/* SCO defaults */ -#define SCO_DEFAULT_MTU 500 -#define SCO_DEFAULT_FLUSH_TO 0xFFFF - -#define SCO_CONN_TIMEOUT (HZ * 40) -#define SCO_DISCONN_TIMEOUT (HZ * 2) -#define SCO_CONN_IDLE_TIMEOUT (HZ * 60) - -/* SCO socket address */ -struct sockaddr_sco { - sa_family_t sco_family; - bdaddr_t sco_bdaddr; -}; - -/* set/get sockopt defines */ -#define SCO_OPTIONS 0x01 -struct sco_options { - uint16_t mtu; -}; - -#define SCO_CONNINFO 0x02 -struct sco_conninfo { - uint16_t hci_handle; - uint8_t dev_class[3]; -}; - -#ifdef __cplusplus -} -#endif - -#endif /* __SCO_H */ diff --git a/GRIB_BLE_HUB/libs/ble_extend/lib/bluetooth/sdp.h b/GRIB_BLE_HUB/libs/ble_extend/lib/bluetooth/sdp.h deleted file mode 100644 index baae15f..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/lib/bluetooth/sdp.h +++ /dev/null @@ -1,530 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2001-2002 Nokia Corporation - * Copyright (C) 2002-2003 Maxim Krasnyansky - * Copyright (C) 2002-2010 Marcel Holtmann - * Copyright (C) 2002-2003 Stephen Crane - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifndef __SDP_H -#define __SDP_H - -#ifdef __cplusplus -extern "C" { -#endif - -#include -#include - -#define SDP_UNIX_PATH "/var/run/sdp" -#define SDP_RESPONSE_TIMEOUT 20 -#define SDP_REQ_BUFFER_SIZE 2048 -#define SDP_RSP_BUFFER_SIZE 65535 -#define SDP_PDU_CHUNK_SIZE 1024 - -/* - * All definitions are based on Bluetooth Assigned Numbers - * of the Bluetooth Specification - */ -#define SDP_PSM 0x0001 - -/* - * Protocol UUIDs - */ -#define SDP_UUID 0x0001 -#define UDP_UUID 0x0002 -#define RFCOMM_UUID 0x0003 -#define TCP_UUID 0x0004 -#define TCS_BIN_UUID 0x0005 -#define TCS_AT_UUID 0x0006 -#define ATT_UUID 0x0007 -#define OBEX_UUID 0x0008 -#define IP_UUID 0x0009 -#define FTP_UUID 0x000a -#define HTTP_UUID 0x000c -#define WSP_UUID 0x000e -#define BNEP_UUID 0x000f -#define UPNP_UUID 0x0010 -#define HIDP_UUID 0x0011 -#define HCRP_CTRL_UUID 0x0012 -#define HCRP_DATA_UUID 0x0014 -#define HCRP_NOTE_UUID 0x0016 -#define AVCTP_UUID 0x0017 -#define AVDTP_UUID 0x0019 -#define CMTP_UUID 0x001b -#define UDI_UUID 0x001d -#define MCAP_CTRL_UUID 0x001e -#define MCAP_DATA_UUID 0x001f -#define L2CAP_UUID 0x0100 - -/* - * Service class identifiers of standard services and service groups - */ -#define SDP_SERVER_SVCLASS_ID 0x1000 -#define BROWSE_GRP_DESC_SVCLASS_ID 0x1001 -#define PUBLIC_BROWSE_GROUP 0x1002 -#define SERIAL_PORT_SVCLASS_ID 0x1101 -#define LAN_ACCESS_SVCLASS_ID 0x1102 -#define DIALUP_NET_SVCLASS_ID 0x1103 -#define IRMC_SYNC_SVCLASS_ID 0x1104 -#define OBEX_OBJPUSH_SVCLASS_ID 0x1105 -#define OBEX_FILETRANS_SVCLASS_ID 0x1106 -#define IRMC_SYNC_CMD_SVCLASS_ID 0x1107 -#define HEADSET_SVCLASS_ID 0x1108 -#define CORDLESS_TELEPHONY_SVCLASS_ID 0x1109 -#define AUDIO_SOURCE_SVCLASS_ID 0x110a -#define AUDIO_SINK_SVCLASS_ID 0x110b -#define AV_REMOTE_TARGET_SVCLASS_ID 0x110c -#define ADVANCED_AUDIO_SVCLASS_ID 0x110d -#define AV_REMOTE_SVCLASS_ID 0x110e -#define VIDEO_CONF_SVCLASS_ID 0x110f -#define INTERCOM_SVCLASS_ID 0x1110 -#define FAX_SVCLASS_ID 0x1111 -#define HEADSET_AGW_SVCLASS_ID 0x1112 -#define WAP_SVCLASS_ID 0x1113 -#define WAP_CLIENT_SVCLASS_ID 0x1114 -#define PANU_SVCLASS_ID 0x1115 -#define NAP_SVCLASS_ID 0x1116 -#define GN_SVCLASS_ID 0x1117 -#define DIRECT_PRINTING_SVCLASS_ID 0x1118 -#define REFERENCE_PRINTING_SVCLASS_ID 0x1119 -#define IMAGING_SVCLASS_ID 0x111a -#define IMAGING_RESPONDER_SVCLASS_ID 0x111b -#define IMAGING_ARCHIVE_SVCLASS_ID 0x111c -#define IMAGING_REFOBJS_SVCLASS_ID 0x111d -#define HANDSFREE_SVCLASS_ID 0x111e -#define HANDSFREE_AGW_SVCLASS_ID 0x111f -#define DIRECT_PRT_REFOBJS_SVCLASS_ID 0x1120 -#define REFLECTED_UI_SVCLASS_ID 0x1121 -#define BASIC_PRINTING_SVCLASS_ID 0x1122 -#define PRINTING_STATUS_SVCLASS_ID 0x1123 -#define HID_SVCLASS_ID 0x1124 -#define HCR_SVCLASS_ID 0x1125 -#define HCR_PRINT_SVCLASS_ID 0x1126 -#define HCR_SCAN_SVCLASS_ID 0x1127 -#define CIP_SVCLASS_ID 0x1128 -#define VIDEO_CONF_GW_SVCLASS_ID 0x1129 -#define UDI_MT_SVCLASS_ID 0x112a -#define UDI_TA_SVCLASS_ID 0x112b -#define AV_SVCLASS_ID 0x112c -#define SAP_SVCLASS_ID 0x112d -#define PBAP_PCE_SVCLASS_ID 0x112e -#define PBAP_PSE_SVCLASS_ID 0x112f -#define PBAP_SVCLASS_ID 0x1130 -#define MAP_MSE_SVCLASS_ID 0x1132 -#define MAP_MCE_SVCLASS_ID 0x1133 -#define MAP_SVCLASS_ID 0x1134 -#define GNSS_SVCLASS_ID 0x1135 -#define GNSS_SERVER_SVCLASS_ID 0x1136 -#define PNP_INFO_SVCLASS_ID 0x1200 -#define GENERIC_NETWORKING_SVCLASS_ID 0x1201 -#define GENERIC_FILETRANS_SVCLASS_ID 0x1202 -#define GENERIC_AUDIO_SVCLASS_ID 0x1203 -#define GENERIC_TELEPHONY_SVCLASS_ID 0x1204 -#define UPNP_SVCLASS_ID 0x1205 -#define UPNP_IP_SVCLASS_ID 0x1206 -#define UPNP_PAN_SVCLASS_ID 0x1300 -#define UPNP_LAP_SVCLASS_ID 0x1301 -#define UPNP_L2CAP_SVCLASS_ID 0x1302 -#define VIDEO_SOURCE_SVCLASS_ID 0x1303 -#define VIDEO_SINK_SVCLASS_ID 0x1304 -#define VIDEO_DISTRIBUTION_SVCLASS_ID 0x1305 -#define HDP_SVCLASS_ID 0x1400 -#define HDP_SOURCE_SVCLASS_ID 0x1401 -#define HDP_SINK_SVCLASS_ID 0x1402 -#define APPLE_AGENT_SVCLASS_ID 0x2112 -#define GENERIC_ATTRIB_SVCLASS_ID 0x1801 - -/* - * Standard profile descriptor identifiers; note these - * may be identical to some of the service classes defined above - */ -#define SDP_SERVER_PROFILE_ID SDP_SERVER_SVCLASS_ID -#define BROWSE_GRP_DESC_PROFILE_ID BROWSE_GRP_DESC_SVCLASS_ID -#define SERIAL_PORT_PROFILE_ID SERIAL_PORT_SVCLASS_ID -#define LAN_ACCESS_PROFILE_ID LAN_ACCESS_SVCLASS_ID -#define DIALUP_NET_PROFILE_ID DIALUP_NET_SVCLASS_ID -#define IRMC_SYNC_PROFILE_ID IRMC_SYNC_SVCLASS_ID -#define OBEX_OBJPUSH_PROFILE_ID OBEX_OBJPUSH_SVCLASS_ID -#define OBEX_FILETRANS_PROFILE_ID OBEX_FILETRANS_SVCLASS_ID -#define IRMC_SYNC_CMD_PROFILE_ID IRMC_SYNC_CMD_SVCLASS_ID -#define HEADSET_PROFILE_ID HEADSET_SVCLASS_ID -#define CORDLESS_TELEPHONY_PROFILE_ID CORDLESS_TELEPHONY_SVCLASS_ID -#define AUDIO_SOURCE_PROFILE_ID AUDIO_SOURCE_SVCLASS_ID -#define AUDIO_SINK_PROFILE_ID AUDIO_SINK_SVCLASS_ID -#define AV_REMOTE_TARGET_PROFILE_ID AV_REMOTE_TARGET_SVCLASS_ID -#define ADVANCED_AUDIO_PROFILE_ID ADVANCED_AUDIO_SVCLASS_ID -#define AV_REMOTE_PROFILE_ID AV_REMOTE_SVCLASS_ID -#define VIDEO_CONF_PROFILE_ID VIDEO_CONF_SVCLASS_ID -#define INTERCOM_PROFILE_ID INTERCOM_SVCLASS_ID -#define FAX_PROFILE_ID FAX_SVCLASS_ID -#define HEADSET_AGW_PROFILE_ID HEADSET_AGW_SVCLASS_ID -#define WAP_PROFILE_ID WAP_SVCLASS_ID -#define WAP_CLIENT_PROFILE_ID WAP_CLIENT_SVCLASS_ID -#define PANU_PROFILE_ID PANU_SVCLASS_ID -#define NAP_PROFILE_ID NAP_SVCLASS_ID -#define GN_PROFILE_ID GN_SVCLASS_ID -#define DIRECT_PRINTING_PROFILE_ID DIRECT_PRINTING_SVCLASS_ID -#define REFERENCE_PRINTING_PROFILE_ID REFERENCE_PRINTING_SVCLASS_ID -#define IMAGING_PROFILE_ID IMAGING_SVCLASS_ID -#define IMAGING_RESPONDER_PROFILE_ID IMAGING_RESPONDER_SVCLASS_ID -#define IMAGING_ARCHIVE_PROFILE_ID IMAGING_ARCHIVE_SVCLASS_ID -#define IMAGING_REFOBJS_PROFILE_ID IMAGING_REFOBJS_SVCLASS_ID -#define HANDSFREE_PROFILE_ID HANDSFREE_SVCLASS_ID -#define HANDSFREE_AGW_PROFILE_ID HANDSFREE_AGW_SVCLASS_ID -#define DIRECT_PRT_REFOBJS_PROFILE_ID DIRECT_PRT_REFOBJS_SVCLASS_ID -#define REFLECTED_UI_PROFILE_ID REFLECTED_UI_SVCLASS_ID -#define BASIC_PRINTING_PROFILE_ID BASIC_PRINTING_SVCLASS_ID -#define PRINTING_STATUS_PROFILE_ID PRINTING_STATUS_SVCLASS_ID -#define HID_PROFILE_ID HID_SVCLASS_ID -#define HCR_PROFILE_ID HCR_SCAN_SVCLASS_ID -#define HCR_PRINT_PROFILE_ID HCR_PRINT_SVCLASS_ID -#define HCR_SCAN_PROFILE_ID HCR_SCAN_SVCLASS_ID -#define CIP_PROFILE_ID CIP_SVCLASS_ID -#define VIDEO_CONF_GW_PROFILE_ID VIDEO_CONF_GW_SVCLASS_ID -#define UDI_MT_PROFILE_ID UDI_MT_SVCLASS_ID -#define UDI_TA_PROFILE_ID UDI_TA_SVCLASS_ID -#define AV_PROFILE_ID AV_SVCLASS_ID -#define SAP_PROFILE_ID SAP_SVCLASS_ID -#define PBAP_PCE_PROFILE_ID PBAP_PCE_SVCLASS_ID -#define PBAP_PSE_PROFILE_ID PBAP_PSE_SVCLASS_ID -#define PBAP_PROFILE_ID PBAP_SVCLASS_ID -#define PNP_INFO_PROFILE_ID PNP_INFO_SVCLASS_ID -#define GENERIC_NETWORKING_PROFILE_ID GENERIC_NETWORKING_SVCLASS_ID -#define GENERIC_FILETRANS_PROFILE_ID GENERIC_FILETRANS_SVCLASS_ID -#define GENERIC_AUDIO_PROFILE_ID GENERIC_AUDIO_SVCLASS_ID -#define GENERIC_TELEPHONY_PROFILE_ID GENERIC_TELEPHONY_SVCLASS_ID -#define UPNP_PROFILE_ID UPNP_SVCLASS_ID -#define UPNP_IP_PROFILE_ID UPNP_IP_SVCLASS_ID -#define UPNP_PAN_PROFILE_ID UPNP_PAN_SVCLASS_ID -#define UPNP_LAP_PROFILE_ID UPNP_LAP_SVCLASS_ID -#define UPNP_L2CAP_PROFILE_ID UPNP_L2CAP_SVCLASS_ID -#define VIDEO_SOURCE_PROFILE_ID VIDEO_SOURCE_SVCLASS_ID -#define VIDEO_SINK_PROFILE_ID VIDEO_SINK_SVCLASS_ID -#define VIDEO_DISTRIBUTION_PROFILE_ID VIDEO_DISTRIBUTION_SVCLASS_ID -#define HDP_PROFILE_ID HDP_SVCLASS_ID -#define HDP_SOURCE_PROFILE_ID HDP_SOURCE_SVCLASS_ID -#define HDP_SINK_PROFILE_ID HDP_SINK_SVCLASS_ID -#define APPLE_AGENT_PROFILE_ID APPLE_AGENT_SVCLASS_ID -#define GENERIC_ACCESS_PROFILE_ID 0x1800 -#define GENERIC_ATTRIB_PROFILE_ID GENERIC_ATTRIB_SVCLASS_ID - -/* - * Compatibility macros for the old MDP acronym - */ -#define MDP_SVCLASS_ID HDP_SVCLASS_ID -#define MDP_SOURCE_SVCLASS_ID HDP_SOURCE_SVCLASS_ID -#define MDP_SINK_SVCLASS_ID HDP_SINK_SVCLASS_ID -#define MDP_PROFILE_ID HDP_PROFILE_ID -#define MDP_SOURCE_PROFILE_ID HDP_SOURCE_PROFILE_ID -#define MDP_SINK_PROFILE_ID HDP_SINK_PROFILE_ID - -/* - * Attribute identifier codes - */ -#define SDP_SERVER_RECORD_HANDLE 0x0000 - -/* - * Possible values for attribute-id are listed below. - * See SDP Spec, section "Service Attribute Definitions" for more details. - */ -#define SDP_ATTR_RECORD_HANDLE 0x0000 -#define SDP_ATTR_SVCLASS_ID_LIST 0x0001 -#define SDP_ATTR_RECORD_STATE 0x0002 -#define SDP_ATTR_SERVICE_ID 0x0003 -#define SDP_ATTR_PROTO_DESC_LIST 0x0004 -#define SDP_ATTR_BROWSE_GRP_LIST 0x0005 -#define SDP_ATTR_LANG_BASE_ATTR_ID_LIST 0x0006 -#define SDP_ATTR_SVCINFO_TTL 0x0007 -#define SDP_ATTR_SERVICE_AVAILABILITY 0x0008 -#define SDP_ATTR_PFILE_DESC_LIST 0x0009 -#define SDP_ATTR_DOC_URL 0x000a -#define SDP_ATTR_CLNT_EXEC_URL 0x000b -#define SDP_ATTR_ICON_URL 0x000c -#define SDP_ATTR_ADD_PROTO_DESC_LIST 0x000d - -#define SDP_ATTR_GROUP_ID 0x0200 -#define SDP_ATTR_IP_SUBNET 0x0200 -#define SDP_ATTR_VERSION_NUM_LIST 0x0200 -#define SDP_ATTR_SUPPORTED_FEATURES_LIST 0x0200 -#define SDP_ATTR_GOEP_L2CAP_PSM 0x0200 -#define SDP_ATTR_SVCDB_STATE 0x0201 - -#define SDP_ATTR_SERVICE_VERSION 0x0300 -#define SDP_ATTR_EXTERNAL_NETWORK 0x0301 -#define SDP_ATTR_SUPPORTED_DATA_STORES_LIST 0x0301 -#define SDP_ATTR_DATA_EXCHANGE_SPEC 0x0301 -#define SDP_ATTR_NETWORK 0x0301 -#define SDP_ATTR_FAX_CLASS1_SUPPORT 0x0302 -#define SDP_ATTR_REMOTE_AUDIO_VOLUME_CONTROL 0x0302 -#define SDP_ATTR_MCAP_SUPPORTED_PROCEDURES 0x0302 -#define SDP_ATTR_FAX_CLASS20_SUPPORT 0x0303 -#define SDP_ATTR_SUPPORTED_FORMATS_LIST 0x0303 -#define SDP_ATTR_FAX_CLASS2_SUPPORT 0x0304 -#define SDP_ATTR_AUDIO_FEEDBACK_SUPPORT 0x0305 -#define SDP_ATTR_NETWORK_ADDRESS 0x0306 -#define SDP_ATTR_WAP_GATEWAY 0x0307 -#define SDP_ATTR_HOMEPAGE_URL 0x0308 -#define SDP_ATTR_WAP_STACK_TYPE 0x0309 -#define SDP_ATTR_SECURITY_DESC 0x030a -#define SDP_ATTR_NET_ACCESS_TYPE 0x030b -#define SDP_ATTR_MAX_NET_ACCESSRATE 0x030c -#define SDP_ATTR_IP4_SUBNET 0x030d -#define SDP_ATTR_IP6_SUBNET 0x030e -#define SDP_ATTR_SUPPORTED_CAPABILITIES 0x0310 -#define SDP_ATTR_SUPPORTED_FEATURES 0x0311 -#define SDP_ATTR_SUPPORTED_FUNCTIONS 0x0312 -#define SDP_ATTR_TOTAL_IMAGING_DATA_CAPACITY 0x0313 -#define SDP_ATTR_SUPPORTED_REPOSITORIES 0x0314 - -#define SDP_ATTR_SPECIFICATION_ID 0x0200 -#define SDP_ATTR_VENDOR_ID 0x0201 -#define SDP_ATTR_PRODUCT_ID 0x0202 -#define SDP_ATTR_VERSION 0x0203 -#define SDP_ATTR_PRIMARY_RECORD 0x0204 -#define SDP_ATTR_VENDOR_ID_SOURCE 0x0205 - -#define SDP_ATTR_HID_DEVICE_RELEASE_NUMBER 0x0200 -#define SDP_ATTR_HID_PARSER_VERSION 0x0201 -#define SDP_ATTR_HID_DEVICE_SUBCLASS 0x0202 -#define SDP_ATTR_HID_COUNTRY_CODE 0x0203 -#define SDP_ATTR_HID_VIRTUAL_CABLE 0x0204 -#define SDP_ATTR_HID_RECONNECT_INITIATE 0x0205 -#define SDP_ATTR_HID_DESCRIPTOR_LIST 0x0206 -#define SDP_ATTR_HID_LANG_ID_BASE_LIST 0x0207 -#define SDP_ATTR_HID_SDP_DISABLE 0x0208 -#define SDP_ATTR_HID_BATTERY_POWER 0x0209 -#define SDP_ATTR_HID_REMOTE_WAKEUP 0x020a -#define SDP_ATTR_HID_PROFILE_VERSION 0x020b -#define SDP_ATTR_HID_SUPERVISION_TIMEOUT 0x020c -#define SDP_ATTR_HID_NORMALLY_CONNECTABLE 0x020d -#define SDP_ATTR_HID_BOOT_DEVICE 0x020e - -/* - * These identifiers are based on the SDP spec stating that - * "base attribute id of the primary (universal) language must be 0x0100" - * - * Other languages should have their own offset; e.g.: - * #define XXXLangBase yyyy - * #define AttrServiceName_XXX 0x0000+XXXLangBase - */ -#define SDP_PRIMARY_LANG_BASE 0x0100 - -#define SDP_ATTR_SVCNAME_PRIMARY 0x0000 + SDP_PRIMARY_LANG_BASE -#define SDP_ATTR_SVCDESC_PRIMARY 0x0001 + SDP_PRIMARY_LANG_BASE -#define SDP_ATTR_PROVNAME_PRIMARY 0x0002 + SDP_PRIMARY_LANG_BASE - -/* - * The Data representation in SDP PDUs (pps 339, 340 of BT SDP Spec) - * These are the exact data type+size descriptor values - * that go into the PDU buffer. - * - * The datatype (leading 5bits) + size descriptor (last 3 bits) - * is 8 bits. The size descriptor is critical to extract the - * right number of bytes for the data value from the PDU. - * - * For most basic types, the datatype+size descriptor is - * straightforward. However for constructed types and strings, - * the size of the data is in the next "n" bytes following the - * 8 bits (datatype+size) descriptor. Exactly what the "n" is - * specified in the 3 bits of the data size descriptor. - * - * TextString and URLString can be of size 2^{8, 16, 32} bytes - * DataSequence and DataSequenceAlternates can be of size 2^{8, 16, 32} - * The size are computed post-facto in the API and are not known apriori - */ -#define SDP_DATA_NIL 0x00 -#define SDP_UINT8 0x08 -#define SDP_UINT16 0x09 -#define SDP_UINT32 0x0A -#define SDP_UINT64 0x0B -#define SDP_UINT128 0x0C -#define SDP_INT8 0x10 -#define SDP_INT16 0x11 -#define SDP_INT32 0x12 -#define SDP_INT64 0x13 -#define SDP_INT128 0x14 -#define SDP_UUID_UNSPEC 0x18 -#define SDP_UUID16 0x19 -#define SDP_UUID32 0x1A -#define SDP_UUID128 0x1C -#define SDP_TEXT_STR_UNSPEC 0x20 -#define SDP_TEXT_STR8 0x25 -#define SDP_TEXT_STR16 0x26 -#define SDP_TEXT_STR32 0x27 -#define SDP_BOOL 0x28 -#define SDP_SEQ_UNSPEC 0x30 -#define SDP_SEQ8 0x35 -#define SDP_SEQ16 0x36 -#define SDP_SEQ32 0x37 -#define SDP_ALT_UNSPEC 0x38 -#define SDP_ALT8 0x3D -#define SDP_ALT16 0x3E -#define SDP_ALT32 0x3F -#define SDP_URL_STR_UNSPEC 0x40 -#define SDP_URL_STR8 0x45 -#define SDP_URL_STR16 0x46 -#define SDP_URL_STR32 0x47 - -/* - * The PDU identifiers of SDP packets between client and server - */ -#define SDP_ERROR_RSP 0x01 -#define SDP_SVC_SEARCH_REQ 0x02 -#define SDP_SVC_SEARCH_RSP 0x03 -#define SDP_SVC_ATTR_REQ 0x04 -#define SDP_SVC_ATTR_RSP 0x05 -#define SDP_SVC_SEARCH_ATTR_REQ 0x06 -#define SDP_SVC_SEARCH_ATTR_RSP 0x07 - -/* - * Some additions to support service registration. - * These are outside the scope of the Bluetooth specification - */ -#define SDP_SVC_REGISTER_REQ 0x75 -#define SDP_SVC_REGISTER_RSP 0x76 -#define SDP_SVC_UPDATE_REQ 0x77 -#define SDP_SVC_UPDATE_RSP 0x78 -#define SDP_SVC_REMOVE_REQ 0x79 -#define SDP_SVC_REMOVE_RSP 0x80 - -/* - * SDP Error codes - */ -#define SDP_INVALID_VERSION 0x0001 -#define SDP_INVALID_RECORD_HANDLE 0x0002 -#define SDP_INVALID_SYNTAX 0x0003 -#define SDP_INVALID_PDU_SIZE 0x0004 -#define SDP_INVALID_CSTATE 0x0005 - -/* - * SDP PDU - */ -typedef struct { - uint8_t pdu_id; - uint16_t tid; - uint16_t plen; -} __attribute__ ((packed)) sdp_pdu_hdr_t; - -/* - * Common definitions for attributes in the SDP. - * Should the type of any of these change, you need only make a change here. - */ - -typedef struct { - uint8_t type; - union { - uint16_t uuid16; - uint32_t uuid32; - uint128_t uuid128; - } value; -} uuid_t; - -#define SDP_IS_UUID(x) ((x) == SDP_UUID16 || (x) == SDP_UUID32 || \ - (x) == SDP_UUID128) -#define SDP_IS_ALT(x) ((x) == SDP_ALT8 || (x) == SDP_ALT16 || (x) == SDP_ALT32) -#define SDP_IS_SEQ(x) ((x) == SDP_SEQ8 || (x) == SDP_SEQ16 || (x) == SDP_SEQ32) -#define SDP_IS_TEXT_STR(x) ((x) == SDP_TEXT_STR8 || (x) == SDP_TEXT_STR16 || \ - (x) == SDP_TEXT_STR32) - -typedef struct _sdp_list sdp_list_t; -struct _sdp_list { - sdp_list_t *next; - void *data; -}; - -/* - * User-visible strings can be in many languages - * in addition to the universal language. - * - * Language meta-data includes language code in ISO639 - * followed by the encoding format. The third field in this - * structure is the attribute offset for the language. - * User-visible strings in the specified language can be - * obtained at this offset. - */ -typedef struct { - uint16_t code_ISO639; - uint16_t encoding; - uint16_t base_offset; -} sdp_lang_attr_t; - -/* - * Profile descriptor is the Bluetooth profile metadata. If a - * service conforms to a well-known profile, then its profile - * identifier (UUID) is an attribute of the service. In addition, - * if the profile has a version number it is specified here. - */ -typedef struct { - uuid_t uuid; - uint16_t version; -} sdp_profile_desc_t; - -typedef struct { - uint8_t major; - uint8_t minor; -} sdp_version_t; - -typedef struct { - uint8_t *data; - uint32_t data_size; - uint32_t buf_size; -} sdp_buf_t; - -typedef struct { - uint32_t handle; - - /* Search pattern: a sequence of all UUIDs seen in this record */ - sdp_list_t *pattern; - sdp_list_t *attrlist; - - /* Main service class for Extended Inquiry Response */ - uuid_t svclass; -} sdp_record_t; - -typedef struct sdp_data_struct sdp_data_t; -struct sdp_data_struct { - uint8_t dtd; - uint16_t attrId; - union { - int8_t int8; - int16_t int16; - int32_t int32; - int64_t int64; - uint128_t int128; - uint8_t uint8; - uint16_t uint16; - uint32_t uint32; - uint64_t uint64; - uint128_t uint128; - uuid_t uuid; - char *str; - sdp_data_t *dataseq; - } val; - sdp_data_t *next; - int unitSize; -}; - -#ifdef __cplusplus -} -#endif - -#endif /* __SDP_H */ diff --git a/GRIB_BLE_HUB/libs/ble_extend/lib/bluetooth/sdp_lib.h b/GRIB_BLE_HUB/libs/ble_extend/lib/bluetooth/sdp_lib.h deleted file mode 100644 index 6e1eb91..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/lib/bluetooth/sdp_lib.h +++ /dev/null @@ -1,633 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2001-2002 Nokia Corporation - * Copyright (C) 2002-2003 Maxim Krasnyansky - * Copyright (C) 2002-2010 Marcel Holtmann - * Copyright (C) 2002-2003 Stephen Crane - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifndef __SDP_LIB_H -#define __SDP_LIB_H - -#include -#include -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* - * SDP lists - */ -typedef void(*sdp_list_func_t)(void *, void *); -typedef void(*sdp_free_func_t)(void *); -typedef int (*sdp_comp_func_t)(const void *, const void *); - -sdp_list_t *sdp_list_append(sdp_list_t *list, void *d); -sdp_list_t *sdp_list_remove(sdp_list_t *list, void *d); -sdp_list_t *sdp_list_insert_sorted(sdp_list_t *list, void *data, sdp_comp_func_t f); -void sdp_list_free(sdp_list_t *list, sdp_free_func_t f); - -static inline int sdp_list_len(const sdp_list_t *list) -{ - int n = 0; - for (; list; list = list->next) - n++; - return n; -} - -static inline sdp_list_t *sdp_list_find(sdp_list_t *list, void *u, sdp_comp_func_t f) -{ - for (; list; list = list->next) - if (f(list->data, u) == 0) - return list; - return NULL; -} - -static inline void sdp_list_foreach(sdp_list_t *list, sdp_list_func_t f, void *u) -{ - for (; list; list = list->next) - f(list->data, u); -} - -/* - * Values of the flags parameter to sdp_record_register - */ -#define SDP_RECORD_PERSIST 0x01 -#define SDP_DEVICE_RECORD 0x02 - -/* - * Values of the flags parameter to sdp_connect - */ -#define SDP_RETRY_IF_BUSY 0x01 -#define SDP_WAIT_ON_CLOSE 0x02 -#define SDP_NON_BLOCKING 0x04 - -/* - * a session with an SDP server - */ -typedef struct { - int sock; - int state; - int local; - int flags; - uint16_t tid; /* Current transaction ID */ - void *priv; -} sdp_session_t; - -typedef enum { - /* - * Attributes are specified as individual elements - */ - SDP_ATTR_REQ_INDIVIDUAL = 1, - /* - * Attributes are specified as a range - */ - SDP_ATTR_REQ_RANGE -} sdp_attrreq_type_t; - -/* - * When the pdu_id(type) is a sdp error response, check the status value - * to figure out the error reason. For status values 0x0001-0x0006 check - * Bluetooth SPEC. If the status is 0xffff, call sdp_get_error function - * to get the real reason: - * - wrong transaction ID(EPROTO) - * - wrong PDU id or(EPROTO) - * - I/O error - */ -typedef void sdp_callback_t(uint8_t type, uint16_t status, uint8_t *rsp, size_t size, void *udata); - -/* - * create an L2CAP connection to a Bluetooth device - * - * INPUT: - * - * bdaddr_t *src: - * Address of the local device to use to make the connection - * (or BDADDR_ANY) - * - * bdaddr_t *dst: - * Address of the SDP server device - */ -sdp_session_t *sdp_connect(const bdaddr_t *src, const bdaddr_t *dst, uint32_t flags); -int sdp_close(sdp_session_t *session); -int sdp_get_socket(const sdp_session_t *session); - -/* - * SDP transaction: functions for asynchronous search. - */ -sdp_session_t *sdp_create(int sk, uint32_t flags); -int sdp_get_error(sdp_session_t *session); -int sdp_process(sdp_session_t *session); -int sdp_set_notify(sdp_session_t *session, sdp_callback_t *func, void *udata); - -int sdp_service_search_async(sdp_session_t *session, const sdp_list_t *search, uint16_t max_rec_num); -int sdp_service_attr_async(sdp_session_t *session, uint32_t handle, sdp_attrreq_type_t reqtype, const sdp_list_t *attrid_list); -int sdp_service_search_attr_async(sdp_session_t *session, const sdp_list_t *search, sdp_attrreq_type_t reqtype, const sdp_list_t *attrid_list); - -uint16_t sdp_gen_tid(sdp_session_t *session); - -/* - * find all devices in the piconet - */ -int sdp_general_inquiry(inquiry_info *ii, int dev_num, int duration, uint8_t *found); - -/* flexible extraction of basic attributes - Jean II */ -int sdp_get_int_attr(const sdp_record_t *rec, uint16_t attr, int *value); -int sdp_get_string_attr(const sdp_record_t *rec, uint16_t attr, char *value, int valuelen); - -/* - * Basic sdp data functions - */ -sdp_data_t *sdp_data_alloc(uint8_t dtd, const void *value); -sdp_data_t *sdp_data_alloc_with_length(uint8_t dtd, const void *value, uint32_t length); -void sdp_data_free(sdp_data_t *data); -sdp_data_t *sdp_data_get(const sdp_record_t *rec, uint16_t attr_id); - -sdp_data_t *sdp_seq_alloc(void **dtds, void **values, int len); -sdp_data_t *sdp_seq_alloc_with_length(void **dtds, void **values, int *length, int len); -sdp_data_t *sdp_seq_append(sdp_data_t *seq, sdp_data_t *data); - -int sdp_attr_add(sdp_record_t *rec, uint16_t attr, sdp_data_t *data); -void sdp_attr_remove(sdp_record_t *rec, uint16_t attr); -void sdp_attr_replace(sdp_record_t *rec, uint16_t attr, sdp_data_t *data); -int sdp_set_uuidseq_attr(sdp_record_t *rec, uint16_t attr, sdp_list_t *seq); -int sdp_get_uuidseq_attr(const sdp_record_t *rec, uint16_t attr, sdp_list_t **seqp); - -/* - * NOTE that none of the functions below will update the SDP server, - * unless the {register, update}sdp_record_t() function is invoked. - * All functions which return an integer value, return 0 on success - * or -1 on failure. - */ - -/* - * Create an attribute and add it to the service record's attribute list. - * This consists of the data type descriptor of the attribute, - * the value of the attribute and the attribute identifier. - */ -int sdp_attr_add_new(sdp_record_t *rec, uint16_t attr, uint8_t dtd, const void *p); - -/* - * Set the information attributes of the service record. - * The set of attributes comprises service name, description - * and provider name - */ -void sdp_set_info_attr(sdp_record_t *rec, const char *name, const char *prov, const char *desc); - -/* - * Set the ServiceClassID attribute to the sequence specified by seq. - * Note that the identifiers need to be in sorted order from the most - * specific to the most generic service class that this service - * conforms to. - */ -static inline int sdp_set_service_classes(sdp_record_t *rec, sdp_list_t *seq) -{ - return sdp_set_uuidseq_attr(rec, SDP_ATTR_SVCLASS_ID_LIST, seq); -} - -/* - * Get the service classes to which the service conforms. - * - * When set, the list contains elements of ServiceClassIdentifer(uint16_t) - * ordered from most specific to most generic - */ -static inline int sdp_get_service_classes(const sdp_record_t *rec, sdp_list_t **seqp) -{ - return sdp_get_uuidseq_attr(rec, SDP_ATTR_SVCLASS_ID_LIST, seqp); -} - -/* - * Set the BrowseGroupList attribute to the list specified by seq. - * - * A service can belong to one or more service groups - * and the list comprises such group identifiers (UUIDs) - */ -static inline int sdp_set_browse_groups(sdp_record_t *rec, sdp_list_t *seq) -{ - return sdp_set_uuidseq_attr(rec, SDP_ATTR_BROWSE_GRP_LIST, seq); -} - -/* - * Set the access protocols of the record to those specified in proto - */ -int sdp_set_access_protos(sdp_record_t *rec, const sdp_list_t *proto); - -/* - * Set the additional access protocols of the record to those specified in proto - */ -int sdp_set_add_access_protos(sdp_record_t *rec, const sdp_list_t *proto); - -/* - * Get protocol port (i.e. PSM for L2CAP, Channel for RFCOMM) - */ -int sdp_get_proto_port(const sdp_list_t *list, int proto); - -/* - * Get protocol descriptor. - */ -sdp_data_t *sdp_get_proto_desc(sdp_list_t *list, int proto); - -/* - * Set the LanguageBase attributes to the values specified in list - * (a linked list of sdp_lang_attr_t objects, one for each language in - * which user-visible attributes are present). - */ -int sdp_set_lang_attr(sdp_record_t *rec, const sdp_list_t *list); - -/* - * Set the ServiceInfoTimeToLive attribute of the service. - * This is the number of seconds that this record is guaranteed - * not to change after being obtained by a client. - */ -static inline int sdp_set_service_ttl(sdp_record_t *rec, uint32_t ttl) -{ - return sdp_attr_add_new(rec, SDP_ATTR_SVCINFO_TTL, SDP_UINT32, &ttl); -} - -/* - * Set the ServiceRecordState attribute of a service. This is - * guaranteed to change if there is any kind of modification to - * the record. - */ -static inline int sdp_set_record_state(sdp_record_t *rec, uint32_t state) -{ - return sdp_attr_add_new(rec, SDP_ATTR_RECORD_STATE, SDP_UINT32, &state); -} - -/* - * Set the ServiceID attribute of a service. - */ -void sdp_set_service_id(sdp_record_t *rec, uuid_t uuid); - -/* - * Set the GroupID attribute of a service - */ -void sdp_set_group_id(sdp_record_t *rec, uuid_t grouuuid); - -/* - * Set the ServiceAvailability attribute of a service. - * - * Note that this represents the relative availability - * of the service: 0x00 means completely unavailable; - * 0xFF means maximum availability. - */ -static inline int sdp_set_service_avail(sdp_record_t *rec, uint8_t avail) -{ - return sdp_attr_add_new(rec, SDP_ATTR_SERVICE_AVAILABILITY, SDP_UINT8, &avail); -} - -/* - * Set the profile descriptor list attribute of a record. - * - * Each element in the list is an object of type - * sdp_profile_desc_t which is a definition of the - * Bluetooth profile that this service conforms to. - */ -int sdp_set_profile_descs(sdp_record_t *rec, const sdp_list_t *desc); - -/* - * Set URL attributes of a record. - * - * ClientExecutableURL: a URL to a client's platform specific (WinCE, - * PalmOS) executable code that can be used to access this service. - * - * DocumentationURL: a URL pointing to service documentation - * - * IconURL: a URL to an icon that can be used to represent this service. - * - * Note: pass NULL for any URLs that you don't want to set or remove - */ -void sdp_set_url_attr(sdp_record_t *rec, const char *clientExecURL, const char *docURL, const char *iconURL); - -/* - * a service search request. - * - * INPUT : - * - * sdp_list_t *search - * list containing elements of the search - * pattern. Each entry in the list is a UUID - * of the service to be searched - * - * uint16_t max_rec_num - * An integer specifying the maximum number of - * entries that the client can handle in the response. - * - * OUTPUT : - * - * int return value - * 0 - * The request completed successfully. This does not - * mean the requested services were found - * -1 - * The request completed unsuccessfully - * - * sdp_list_t *rsp_list - * This variable is set on a successful return if there are - * non-zero service handles. It is a singly linked list of - * service record handles (uint16_t) - */ -int sdp_service_search_req(sdp_session_t *session, const sdp_list_t *search, uint16_t max_rec_num, sdp_list_t **rsp_list); - -/* - * a service attribute request. - * - * INPUT : - * - * uint32_t handle - * The handle of the service for which the attribute(s) are - * requested - * - * sdp_attrreq_type_t reqtype - * Attribute identifiers are 16 bit unsigned integers specified - * in one of 2 ways described below : - * SDP_ATTR_REQ_INDIVIDUAL - 16bit individual identifiers - * They are the actual attribute identifiers in ascending order - * - * SDP_ATTR_REQ_RANGE - 32bit identifier range - * The high-order 16bits is the start of range - * the low-order 16bits are the end of range - * 0x0000 to 0xFFFF gets all attributes - * - * sdp_list_t *attrid_list - * Singly linked list containing attribute identifiers desired. - * Every element is either a uint16_t(attrSpec = SDP_ATTR_REQ_INDIVIDUAL) - * or a uint32_t(attrSpec=SDP_ATTR_REQ_RANGE) - * - * OUTPUT : - * int return value - * 0 - * The request completed successfully. This does not - * mean the requested services were found - * -1 - * The request completed unsuccessfully due to a timeout - */ -sdp_record_t *sdp_service_attr_req(sdp_session_t *session, uint32_t handle, sdp_attrreq_type_t reqtype, const sdp_list_t *attrid_list); - -/* - * This is a service search request combined with the service - * attribute request. First a service class match is done and - * for matching service, requested attributes are extracted - * - * INPUT : - * - * sdp_list_t *search - * Singly linked list containing elements of the search - * pattern. Each entry in the list is a UUID(DataTypeSDP_UUID16) - * of the service to be searched - * - * AttributeSpecification attrSpec - * Attribute identifiers are 16 bit unsigned integers specified - * in one of 2 ways described below : - * SDP_ATTR_REQ_INDIVIDUAL - 16bit individual identifiers - * They are the actual attribute identifiers in ascending order - * - * SDP_ATTR_REQ_RANGE - 32bit identifier range - * The high-order 16bits is the start of range - * the low-order 16bits are the end of range - * 0x0000 to 0xFFFF gets all attributes - * - * sdp_list_t *attrid_list - * Singly linked list containing attribute identifiers desired. - * Every element is either a uint16_t(attrSpec = SDP_ATTR_REQ_INDIVIDUAL) - * or a uint32_t(attrSpec=SDP_ATTR_REQ_RANGE) - * - * OUTPUT : - * int return value - * 0 - * The request completed successfully. This does not - * mean the requested services were found - * -1 - * The request completed unsuccessfully due to a timeout - * - * sdp_list_t *rsp_list - * This variable is set on a successful return to point to - * service(s) found. Each element of this list is of type - * sdp_record_t *. - */ -int sdp_service_search_attr_req(sdp_session_t *session, const sdp_list_t *search, sdp_attrreq_type_t reqtype, const sdp_list_t *attrid_list, sdp_list_t **rsp_list); - -/* - * Allocate/free a service record and its attributes - */ -sdp_record_t *sdp_record_alloc(void); -void sdp_record_free(sdp_record_t *rec); - -/* - * Register a service record. - * - * Note: It is the responsbility of the Service Provider to create the - * record first and set its attributes using setXXX() methods. - * - * The service provider must then call sdp_record_register() to make - * the service record visible to SDP clients. This function returns 0 - * on success or -1 on failure (and sets errno). - */ -int sdp_device_record_register_binary(sdp_session_t *session, bdaddr_t *device, uint8_t *data, uint32_t size, uint8_t flags, uint32_t *handle); -int sdp_device_record_register(sdp_session_t *session, bdaddr_t *device, sdp_record_t *rec, uint8_t flags); -int sdp_record_register(sdp_session_t *session, sdp_record_t *rec, uint8_t flags); - -/* - * Unregister a service record. - */ -int sdp_device_record_unregister_binary(sdp_session_t *session, bdaddr_t *device, uint32_t handle); -int sdp_device_record_unregister(sdp_session_t *session, bdaddr_t *device, sdp_record_t *rec); -int sdp_record_unregister(sdp_session_t *session, sdp_record_t *rec); - -/* - * Update an existing service record. (Calling this function - * before a previous call to sdp_record_register() will result - * in an error.) - */ -int sdp_device_record_update_binary(sdp_session_t *session, bdaddr_t *device, uint32_t handle, uint8_t *data, uint32_t size); -int sdp_device_record_update(sdp_session_t *session, bdaddr_t *device, const sdp_record_t *rec); -int sdp_record_update(sdp_session_t *sess, const sdp_record_t *rec); - -void sdp_record_print(const sdp_record_t *rec); - -/* - * UUID functions - */ -uuid_t *sdp_uuid16_create(uuid_t *uuid, uint16_t data); -uuid_t *sdp_uuid32_create(uuid_t *uuid, uint32_t data); -uuid_t *sdp_uuid128_create(uuid_t *uuid, const void *data); -int sdp_uuid16_cmp(const void *p1, const void *p2); -int sdp_uuid128_cmp(const void *p1, const void *p2); -int sdp_uuid_cmp(const void *p1, const void *p2); -uuid_t *sdp_uuid_to_uuid128(const uuid_t *uuid); -void sdp_uuid16_to_uuid128(uuid_t *uuid128, const uuid_t *uuid16); -void sdp_uuid32_to_uuid128(uuid_t *uuid128, const uuid_t *uuid32); -int sdp_uuid128_to_uuid(uuid_t *uuid); -int sdp_uuid_to_proto(uuid_t *uuid); -int sdp_uuid_extract(const uint8_t *buffer, int bufsize, uuid_t *uuid, int *scanned); -void sdp_uuid_print(const uuid_t *uuid); - -#define MAX_LEN_UUID_STR 37 -#define MAX_LEN_PROTOCOL_UUID_STR 8 -#define MAX_LEN_SERVICECLASS_UUID_STR 28 -#define MAX_LEN_PROFILEDESCRIPTOR_UUID_STR 28 - -int sdp_uuid2strn(const uuid_t *uuid, char *str, size_t n); -int sdp_proto_uuid2strn(const uuid_t *uuid, char *str, size_t n); -int sdp_svclass_uuid2strn(const uuid_t *uuid, char *str, size_t n); -int sdp_profile_uuid2strn(const uuid_t *uuid, char *str, size_t n); - -/* - * In all the sdp_get_XXX(handle, XXX *xxx) functions below, - * the XXX * is set to point to the value, should it exist - * and 0 is returned. If the value does not exist, -1 is - * returned and errno set to ENODATA. - * - * In all the methods below, the memory management rules are - * simple. Don't free anything! The pointer returned, in the - * case of constructed types, is a pointer to the contents - * of the sdp_record_t. - */ - -/* - * Get the access protocols from the service record - */ -int sdp_get_access_protos(const sdp_record_t *rec, sdp_list_t **protos); - -/* - * Get the additional access protocols from the service record - */ -int sdp_get_add_access_protos(const sdp_record_t *rec, sdp_list_t **protos); - -/* - * Extract the list of browse groups to which the service belongs. - * When set, seqp contains elements of GroupID (uint16_t) - */ -static inline int sdp_get_browse_groups(const sdp_record_t *rec, sdp_list_t **seqp) -{ - return sdp_get_uuidseq_attr(rec, SDP_ATTR_BROWSE_GRP_LIST, seqp); -} - -/* - * Extract language attribute meta-data of the service record. - * For each language in the service record, LangSeq has a struct of type - * sdp_lang_attr_t. - */ -int sdp_get_lang_attr(const sdp_record_t *rec, sdp_list_t **langSeq); - -/* - * Extract the Bluetooth profile descriptor sequence from a record. - * Each element in the list is of type sdp_profile_desc_t - * which contains the UUID of the profile and its version number - * (encoded as major and minor in the high-order 8bits - * and low-order 8bits respectively of the uint16_t) - */ -int sdp_get_profile_descs(const sdp_record_t *rec, sdp_list_t **profDesc); - -/* - * Extract SDP server version numbers - * - * Note: that this is an attribute of the SDP server only and - * contains a list of uint16_t each of which represent the - * major and minor SDP version numbers supported by this server - */ -int sdp_get_server_ver(const sdp_record_t *rec, sdp_list_t **pVnumList); - -int sdp_get_service_id(const sdp_record_t *rec, uuid_t *uuid); -int sdp_get_group_id(const sdp_record_t *rec, uuid_t *uuid); -int sdp_get_record_state(const sdp_record_t *rec, uint32_t *svcRecState); -int sdp_get_service_avail(const sdp_record_t *rec, uint8_t *svcAvail); -int sdp_get_service_ttl(const sdp_record_t *rec, uint32_t *svcTTLInfo); -int sdp_get_database_state(const sdp_record_t *rec, uint32_t *svcDBState); - -static inline int sdp_get_service_name(const sdp_record_t *rec, char *str, int len) -{ - return sdp_get_string_attr(rec, SDP_ATTR_SVCNAME_PRIMARY, str, len); -} - -static inline int sdp_get_service_desc(const sdp_record_t *rec, char *str, int len) -{ - return sdp_get_string_attr(rec, SDP_ATTR_SVCDESC_PRIMARY, str, len); -} - -static inline int sdp_get_provider_name(const sdp_record_t *rec, char *str, int len) -{ - return sdp_get_string_attr(rec, SDP_ATTR_PROVNAME_PRIMARY, str, len); -} - -static inline int sdp_get_doc_url(const sdp_record_t *rec, char *str, int len) -{ - return sdp_get_string_attr(rec, SDP_ATTR_DOC_URL, str, len); -} - -static inline int sdp_get_clnt_exec_url(const sdp_record_t *rec, char *str, int len) -{ - return sdp_get_string_attr(rec, SDP_ATTR_CLNT_EXEC_URL, str, len); -} - -static inline int sdp_get_icon_url(const sdp_record_t *rec, char *str, int len) -{ - return sdp_get_string_attr(rec, SDP_ATTR_ICON_URL, str, len); -} - -/* - * Set the supported features - * sf should be a list of list with each feature data - * Returns 0 on success -1 on fail - */ -int sdp_set_supp_feat(sdp_record_t *rec, const sdp_list_t *sf); - -/* - * Get the supported features - * seqp is set to a list of list with each feature data - * Returns 0 on success, if an error occurred -1 is returned and errno is set - */ -int sdp_get_supp_feat(const sdp_record_t *rec, sdp_list_t **seqp); - -sdp_record_t *sdp_extract_pdu(const uint8_t *pdata, int bufsize, int *scanned); -sdp_record_t *sdp_copy_record(sdp_record_t *rec); - -void sdp_data_print(sdp_data_t *data); -void sdp_print_service_attr(sdp_list_t *alist); - -int sdp_attrid_comp_func(const void *key1, const void *key2); - -void sdp_set_seq_len(uint8_t *ptr, uint32_t length); -void sdp_set_attrid(sdp_buf_t *pdu, uint16_t id); -void sdp_append_to_pdu(sdp_buf_t *dst, sdp_data_t *d); -void sdp_append_to_buf(sdp_buf_t *dst, uint8_t *data, uint32_t len); - -int sdp_gen_pdu(sdp_buf_t *pdu, sdp_data_t *data); -int sdp_gen_record_pdu(const sdp_record_t *rec, sdp_buf_t *pdu); - -int sdp_extract_seqtype(const uint8_t *buf, int bufsize, uint8_t *dtdp, int *size); - -sdp_data_t *sdp_extract_attr(const uint8_t *pdata, int bufsize, int *extractedLength, sdp_record_t *rec); - -void sdp_pattern_add_uuid(sdp_record_t *rec, uuid_t *uuid); -void sdp_pattern_add_uuidseq(sdp_record_t *rec, sdp_list_t *seq); - -int sdp_send_req_w4_rsp(sdp_session_t *session, uint8_t *req, uint8_t *rsp, uint32_t reqsize, uint32_t *rspsize); - -void sdp_add_lang_attr(sdp_record_t *rec); - -#ifdef __cplusplus -} -#endif - -#endif /* __SDP_LIB_H */ diff --git a/GRIB_BLE_HUB/libs/ble_extend/lib/bluez.pc b/GRIB_BLE_HUB/libs/ble_extend/lib/bluez.pc deleted file mode 100644 index 239971c..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/lib/bluez.pc +++ /dev/null @@ -1,10 +0,0 @@ -prefix=/usr/local -exec_prefix=${prefix} -libdir=${exec_prefix}/lib -includedir=${prefix}/include - -Name: BlueZ -Description: Bluetooth protocol stack for Linux -Version: 5.4 -Libs: -L${libdir} -lbluetooth -Cflags: -I${includedir} diff --git a/GRIB_BLE_HUB/libs/ble_extend/lib/bluez.pc.in b/GRIB_BLE_HUB/libs/ble_extend/lib/bluez.pc.in deleted file mode 100644 index 3d6e596..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/lib/bluez.pc.in +++ /dev/null @@ -1,10 +0,0 @@ -prefix=@prefix@ -exec_prefix=@exec_prefix@ -libdir=@libdir@ -includedir=@includedir@ - -Name: BlueZ -Description: Bluetooth protocol stack for Linux -Version: @VERSION@ -Libs: -L${libdir} -lbluetooth -Cflags: -I${includedir} diff --git a/GRIB_BLE_HUB/libs/ble_extend/lib/bnep.h b/GRIB_BLE_HUB/libs/ble_extend/lib/bnep.h deleted file mode 100644 index 2bbfb17..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/lib/bnep.h +++ /dev/null @@ -1,153 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2002-2003 Maxim Krasnyansky - * Copyright (C) 2002-2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifndef __BNEP_H -#define __BNEP_H - -#ifdef __cplusplus -extern "C" { -#endif - -#include - -#ifndef ETH_ALEN -#define ETH_ALEN 6 /* from */ -#endif - -/* BNEP UUIDs */ -#define BNEP_BASE_UUID 0x0000000000001000800000805F9B34FB -#define BNEP_UUID16 0x02 -#define BNEP_UUID32 0x04 -#define BNEP_UUID128 0x16 - -#define BNEP_SVC_PANU 0x1115 -#define BNEP_SVC_NAP 0x1116 -#define BNEP_SVC_GN 0x1117 - -/* BNEP packet types */ -#define BNEP_GENERAL 0x00 -#define BNEP_CONTROL 0x01 -#define BNEP_COMPRESSED 0x02 -#define BNEP_COMPRESSED_SRC_ONLY 0x03 -#define BNEP_COMPRESSED_DST_ONLY 0x04 - -/* BNEP control types */ -#define BNEP_CMD_NOT_UNDERSTOOD 0x00 -#define BNEP_SETUP_CONN_REQ 0x01 -#define BNEP_SETUP_CONN_RSP 0x02 -#define BNEP_FILTER_NET_TYPE_SET 0x03 -#define BNEP_FILTER_NET_TYPE_RSP 0x04 -#define BNEP_FILTER_MULT_ADDR_SET 0x05 -#define BNEP_FILTER_MULT_ADDR_RSP 0x06 - -/* BNEP response messages */ -#define BNEP_SUCCESS 0x00 - -#define BNEP_CONN_INVALID_DST 0x01 -#define BNEP_CONN_INVALID_SRC 0x02 -#define BNEP_CONN_INVALID_SVC 0x03 -#define BNEP_CONN_NOT_ALLOWED 0x04 - -#define BNEP_FILTER_UNSUPPORTED_REQ 0x01 -#define BNEP_FILTER_INVALID_RANGE 0x02 -#define BNEP_FILTER_INVALID_MCADDR 0x02 -#define BNEP_FILTER_LIMIT_REACHED 0x03 -#define BNEP_FILTER_DENIED_SECURITY 0x04 - -/* L2CAP settings */ -#define BNEP_MTU 1691 -#define BNEP_FLUSH_TO 0xffff -#define BNEP_CONNECT_TO 15 -#define BNEP_FILTER_TO 15 - -#ifndef BNEP_PSM -#define BNEP_PSM 0x0f -#endif - -/* BNEP headers */ -#define BNEP_TYPE_MASK 0x7f -#define BNEP_EXT_HEADER 0x80 - -struct bnep_setup_conn_req { - uint8_t type; - uint8_t ctrl; - uint8_t uuid_size; - uint8_t service[0]; -} __attribute__((packed)); - -struct bnep_set_filter_req { - uint8_t type; - uint8_t ctrl; - uint16_t len; - uint8_t list[0]; -} __attribute__((packed)); - -struct bnep_control_rsp { - uint8_t type; - uint8_t ctrl; - uint16_t resp; -} __attribute__((packed)); - -struct bnep_ext_hdr { - uint8_t type; - uint8_t len; - uint8_t data[0]; -} __attribute__((packed)); - -/* BNEP ioctl defines */ -#define BNEPCONNADD _IOW('B', 200, int) -#define BNEPCONNDEL _IOW('B', 201, int) -#define BNEPGETCONNLIST _IOR('B', 210, int) -#define BNEPGETCONNINFO _IOR('B', 211, int) - -struct bnep_connadd_req { - int sock; /* Connected socket */ - uint32_t flags; - uint16_t role; - char device[16]; /* Name of the Ethernet device */ -}; - -struct bnep_conndel_req { - uint32_t flags; - uint8_t dst[ETH_ALEN]; -}; - -struct bnep_conninfo { - uint32_t flags; - uint16_t role; - uint16_t state; - uint8_t dst[ETH_ALEN]; - char device[16]; -}; - -struct bnep_connlist_req { - uint32_t cnum; - struct bnep_conninfo *ci; -}; - -#ifdef __cplusplus -} -#endif - -#endif /* __BNEP_H */ diff --git a/GRIB_BLE_HUB/libs/ble_extend/lib/cmtp.h b/GRIB_BLE_HUB/libs/ble_extend/lib/cmtp.h deleted file mode 100644 index ce937bd..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/lib/cmtp.h +++ /dev/null @@ -1,69 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2002-2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifndef __CMTP_H -#define __CMTP_H - -#ifdef __cplusplus -extern "C" { -#endif - -/* CMTP defaults */ -#define CMTP_MINIMUM_MTU 152 -#define CMTP_DEFAULT_MTU 672 - -/* CMTP ioctl defines */ -#define CMTPCONNADD _IOW('C', 200, int) -#define CMTPCONNDEL _IOW('C', 201, int) -#define CMTPGETCONNLIST _IOR('C', 210, int) -#define CMTPGETCONNINFO _IOR('C', 211, int) - -#define CMTP_LOOPBACK 0 - -struct cmtp_connadd_req { - int sock; /* Connected socket */ - uint32_t flags; -}; - -struct cmtp_conndel_req { - bdaddr_t bdaddr; - uint32_t flags; -}; - -struct cmtp_conninfo { - bdaddr_t bdaddr; - uint32_t flags; - uint16_t state; - int num; -}; - -struct cmtp_connlist_req { - uint32_t cnum; - struct cmtp_conninfo *ci; -}; - -#ifdef __cplusplus -} -#endif - -#endif /* __CMTP_H */ diff --git a/GRIB_BLE_HUB/libs/ble_extend/lib/hci.c b/GRIB_BLE_HUB/libs/ble_extend/lib/hci.c deleted file mode 100644 index 7a06dc5..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/lib/hci.c +++ /dev/null @@ -1,2913 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2000-2001 Qualcomm Incorporated - * Copyright (C) 2002-2003 Maxim Krasnyansky - * Copyright (C) 2002-2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include - -#include "bluetooth.h" -#include "hci.h" -#include "hci_lib.h" - -#ifndef MIN -#define MIN(x, y) ((x) < (y) ? (x) : (y)) -#endif - -typedef struct { - char *str; - unsigned int val; -} hci_map; - -static char *hci_bit2str(hci_map *m, unsigned int val) -{ - char *str = malloc(120); - char *ptr = str; - - if (!str) - return NULL; - - *ptr = 0; - while (m->str) { - if ((unsigned int) m->val & val) - ptr += sprintf(ptr, "%s ", m->str); - m++; - } - return str; -} - -static int hci_str2bit(hci_map *map, char *str, unsigned int *val) -{ - char *t, *ptr; - hci_map *m; - int set; - - if (!str || !(str = ptr = strdup(str))) - return 0; - - *val = set = 0; - - while ((t = strsep(&ptr, ","))) { - for (m = map; m->str; m++) { - if (!strcasecmp(m->str, t)) { - *val |= (unsigned int) m->val; - set = 1; - } - } - } - free(str); - - return set; -} - -static char *hci_uint2str(hci_map *m, unsigned int val) -{ - char *str = malloc(50); - char *ptr = str; - - if (!str) - return NULL; - - *ptr = 0; - while (m->str) { - if ((unsigned int) m->val == val) { - ptr += sprintf(ptr, "%s", m->str); - break; - } - m++; - } - return str; -} - -static int hci_str2uint(hci_map *map, char *str, unsigned int *val) -{ - char *t, *ptr; - hci_map *m; - int set = 0; - - if (!str) - return 0; - - str = ptr = strdup(str); - - while ((t = strsep(&ptr, ","))) { - for (m = map; m->str; m++) { - if (!strcasecmp(m->str,t)) { - *val = (unsigned int) m->val; - set = 1; - break; - } - } - } - free(str); - - return set; -} - -char *hci_bustostr(int bus) -{ - switch (bus) { - case HCI_VIRTUAL: - return "VIRTUAL"; - case HCI_USB: - return "USB"; - case HCI_PCCARD: - return "PCCARD"; - case HCI_UART: - return "UART"; - case HCI_RS232: - return "RS232"; - case HCI_PCI: - return "PCI"; - case HCI_SDIO: - return "SDIO"; - default: - return "UNKNOWN"; - } -} - -char *hci_dtypetostr(int type) -{ - return hci_bustostr(type & 0x0f); -} - -char *hci_typetostr(int type) -{ - switch (type) { - case HCI_BREDR: - return "BR/EDR"; - case HCI_AMP: - return "AMP"; - default: - return "UNKNOWN"; - } -} - -/* HCI dev flags mapping */ -static hci_map dev_flags_map[] = { - { "UP", HCI_UP }, - { "INIT", HCI_INIT }, - { "RUNNING", HCI_RUNNING }, - { "RAW", HCI_RAW }, - { "PSCAN", HCI_PSCAN }, - { "ISCAN", HCI_ISCAN }, - { "INQUIRY", HCI_INQUIRY }, - { "AUTH", HCI_AUTH }, - { "ENCRYPT", HCI_ENCRYPT }, - { NULL } -}; - -char *hci_dflagstostr(uint32_t flags) -{ - char *str = bt_malloc(50); - char *ptr = str; - hci_map *m = dev_flags_map; - - if (!str) - return NULL; - - *ptr = 0; - - if (!hci_test_bit(HCI_UP, &flags)) - ptr += sprintf(ptr, "DOWN "); - - while (m->str) { - if (hci_test_bit(m->val, &flags)) - ptr += sprintf(ptr, "%s ", m->str); - m++; - } - return str; -} - -/* HCI packet type mapping */ -static hci_map pkt_type_map[] = { - { "DM1", HCI_DM1 }, - { "DM3", HCI_DM3 }, - { "DM5", HCI_DM5 }, - { "DH1", HCI_DH1 }, - { "DH3", HCI_DH3 }, - { "DH5", HCI_DH5 }, - { "HV1", HCI_HV1 }, - { "HV2", HCI_HV2 }, - { "HV3", HCI_HV3 }, - { "2-DH1", HCI_2DH1 }, - { "2-DH3", HCI_2DH3 }, - { "2-DH5", HCI_2DH5 }, - { "3-DH1", HCI_3DH1 }, - { "3-DH3", HCI_3DH3 }, - { "3-DH5", HCI_3DH5 }, - { NULL } -}; - -static hci_map sco_ptype_map[] = { - { "HV1", 0x0001 }, - { "HV2", 0x0002 }, - { "HV3", 0x0004 }, - { "EV3", HCI_EV3 }, - { "EV4", HCI_EV4 }, - { "EV5", HCI_EV5 }, - { "2-EV3", HCI_2EV3 }, - { "2-EV5", HCI_2EV5 }, - { "3-EV3", HCI_3EV3 }, - { "3-EV5", HCI_3EV5 }, - { NULL } -}; - -char *hci_ptypetostr(unsigned int ptype) -{ - return hci_bit2str(pkt_type_map, ptype); -} - -int hci_strtoptype(char *str, unsigned int *val) -{ - return hci_str2bit(pkt_type_map, str, val); -} - -char *hci_scoptypetostr(unsigned int ptype) -{ - return hci_bit2str(sco_ptype_map, ptype); -} - -int hci_strtoscoptype(char *str, unsigned int *val) -{ - return hci_str2bit(sco_ptype_map, str, val); -} - -/* Link policy mapping */ -static hci_map link_policy_map[] = { - { "NONE", 0 }, - { "RSWITCH", HCI_LP_RSWITCH }, - { "HOLD", HCI_LP_HOLD }, - { "SNIFF", HCI_LP_SNIFF }, - { "PARK", HCI_LP_PARK }, - { NULL } -}; - -char *hci_lptostr(unsigned int lp) -{ - return hci_bit2str(link_policy_map, lp); -} - -int hci_strtolp(char *str, unsigned int *val) -{ - return hci_str2bit(link_policy_map, str, val); -} - -/* Link mode mapping */ -static hci_map link_mode_map[] = { - { "NONE", 0 }, - { "ACCEPT", HCI_LM_ACCEPT }, - { "MASTER", HCI_LM_MASTER }, - { "AUTH", HCI_LM_AUTH }, - { "ENCRYPT", HCI_LM_ENCRYPT }, - { "TRUSTED", HCI_LM_TRUSTED }, - { "RELIABLE", HCI_LM_RELIABLE }, - { "SECURE", HCI_LM_SECURE }, - { NULL } -}; - -char *hci_lmtostr(unsigned int lm) -{ - char *s, *str = bt_malloc(50); - if (!str) - return NULL; - - *str = 0; - if (!(lm & HCI_LM_MASTER)) - strcpy(str, "SLAVE "); - - s = hci_bit2str(link_mode_map, lm); - if (!s) { - bt_free(str); - return NULL; - } - - strcat(str, s); - free(s); - return str; -} - -int hci_strtolm(char *str, unsigned int *val) -{ - return hci_str2bit(link_mode_map, str, val); -} - -/* Command mapping */ -static hci_map commands_map[] = { - { "Inquiry", 0 }, - { "Inquiry Cancel", 1 }, - { "Periodic Inquiry Mode", 2 }, - { "Exit Periodic Inquiry Mode", 3 }, - { "Create Connection", 4 }, - { "Disconnect", 5 }, - { "Add SCO Connection", 6 }, - { "Cancel Create Connection", 7 }, - - { "Accept Connection Request", 8 }, - { "Reject Connection Request", 9 }, - { "Link Key Request Reply", 10 }, - { "Link Key Request Negative Reply", 11 }, - { "PIN Code Request Reply", 12 }, - { "PIN Code Request Negative Reply", 13 }, - { "Change Connection Packet Type", 14 }, - { "Authentication Requested", 15 }, - - { "Set Connection Encryption", 16 }, - { "Change Connection Link Key", 17 }, - { "Master Link Key", 18 }, - { "Remote Name Request", 19 }, - { "Cancel Remote Name Request", 20 }, - { "Read Remote Supported Features", 21 }, - { "Read Remote Extended Features", 22 }, - { "Read Remote Version Information", 23 }, - - { "Read Clock Offset", 24 }, - { "Read LMP Handle", 25 }, - { "Reserved", 26 }, - { "Reserved", 27 }, - { "Reserved", 28 }, - { "Reserved", 29 }, - { "Reserved", 30 }, - { "Reserved", 31 }, - - { "Reserved", 32 }, - { "Hold Mode", 33 }, - { "Sniff Mode", 34 }, - { "Exit Sniff Mode", 35 }, - { "Park State", 36 }, - { "Exit Park State", 37 }, - { "QoS Setup", 38 }, - { "Role Discovery", 39 }, - - { "Switch Role", 40 }, - { "Read Link Policy Settings", 41 }, - { "Write Link Policy Settings", 42 }, - { "Read Default Link Policy Settings", 43 }, - { "Write Default Link Policy Settings", 44 }, - { "Flow Specification", 45 }, - { "Set Event Mask", 46 }, - { "Reset", 47 }, - - { "Set Event Filter", 48 }, - { "Flush", 49 }, - { "Read PIN Type", 50 }, - { "Write PIN Type", 51 }, - { "Create New Unit Key", 52 }, - { "Read Stored Link Key", 53 }, - { "Write Stored Link Key", 54 }, - { "Delete Stored Link Key", 55 }, - - { "Write Local Name", 56 }, - { "Read Local Name", 57 }, - { "Read Connection Accept Timeout", 58 }, - { "Write Connection Accept Timeout", 59 }, - { "Read Page Timeout", 60 }, - { "Write Page Timeout", 61 }, - { "Read Scan Enable", 62 }, - { "Write Scan Enable", 63 }, - - { "Read Page Scan Activity", 64 }, - { "Write Page Scan Activity", 65 }, - { "Read Inquiry Scan Activity", 66 }, - { "Write Inquiry Scan Activity", 67 }, - { "Read Authentication Enable", 68 }, - { "Write Authentication Enable", 69 }, - { "Read Encryption Mode", 70 }, - { "Write Encryption Mode", 71 }, - - { "Read Class Of Device", 72 }, - { "Write Class Of Device", 73 }, - { "Read Voice Setting", 74 }, - { "Write Voice Setting", 75 }, - { "Read Automatic Flush Timeout", 76 }, - { "Write Automatic Flush Timeout", 77 }, - { "Read Num Broadcast Retransmissions", 78 }, - { "Write Num Broadcast Retransmissions", 79 }, - - { "Read Hold Mode Activity", 80 }, - { "Write Hold Mode Activity", 81 }, - { "Read Transmit Power Level", 82 }, - { "Read Synchronous Flow Control Enable", 83 }, - { "Write Synchronous Flow Control Enable", 84 }, - { "Set Host Controller To Host Flow Control", 85 }, - { "Host Buffer Size", 86 }, - { "Host Number Of Completed Packets", 87 }, - - { "Read Link Supervision Timeout", 88 }, - { "Write Link Supervision Timeout", 89 }, - { "Read Number of Supported IAC", 90 }, - { "Read Current IAC LAP", 91 }, - { "Write Current IAC LAP", 92 }, - { "Read Page Scan Period Mode", 93 }, - { "Write Page Scan Period Mode", 94 }, - { "Read Page Scan Mode", 95 }, - - { "Write Page Scan Mode", 96 }, - { "Set AFH Channel Classification", 97 }, - { "Reserved", 98 }, - { "Reserved", 99 }, - { "Read Inquiry Scan Type", 100 }, - { "Write Inquiry Scan Type", 101 }, - { "Read Inquiry Mode", 102 }, - { "Write Inquiry Mode", 103 }, - - { "Read Page Scan Type", 104 }, - { "Write Page Scan Type", 105 }, - { "Read AFH Channel Assessment Mode", 106 }, - { "Write AFH Channel Assessment Mode", 107 }, - { "Reserved", 108 }, - { "Reserved", 109 }, - { "Reserved", 110 }, - { "Reserved", 111 }, - - { "Reserved", 112 }, - { "Reserved", 113 }, - { "Reserved", 114 }, - { "Read Local Version Information", 115 }, - { "Read Local Supported Commands", 116 }, - { "Read Local Supported Features", 117 }, - { "Read Local Extended Features", 118 }, - { "Read Buffer Size", 119 }, - - { "Read Country Code", 120 }, - { "Read BD ADDR", 121 }, - { "Read Failed Contact Counter", 122 }, - { "Reset Failed Contact Counter", 123 }, - { "Get Link Quality", 124 }, - { "Read RSSI", 125 }, - { "Read AFH Channel Map", 126 }, - { "Read BD Clock", 127 }, - - { "Read Loopback Mode", 128 }, - { "Write Loopback Mode", 129 }, - { "Enable Device Under Test Mode", 130 }, - { "Setup Synchronous Connection", 131 }, - { "Accept Synchronous Connection", 132 }, - { "Reject Synchronous Connection", 133 }, - { "Reserved", 134 }, - { "Reserved", 135 }, - - { "Read Extended Inquiry Response", 136 }, - { "Write Extended Inquiry Response", 137 }, - { "Refresh Encryption Key", 138 }, - { "Reserved", 139 }, - { "Sniff Subrating", 140 }, - { "Read Simple Pairing Mode", 141 }, - { "Write Simple Pairing Mode", 142 }, - { "Read Local OOB Data", 143 }, - - { "Read Inquiry Response Transmit Power Level", 144 }, - { "Write Inquiry Transmit Power Level", 145 }, - { "Read Default Erroneous Data Reporting", 146 }, - { "Write Default Erroneous Data Reporting", 147 }, - { "Reserved", 148 }, - { "Reserved", 149 }, - { "Reserved", 150 }, - { "IO Capability Request Reply", 151 }, - - { "User Confirmation Request Reply", 152 }, - { "User Confirmation Request Negative Reply", 153 }, - { "User Passkey Request Reply", 154 }, - { "User Passkey Request Negative Reply", 155 }, - { "Remote OOB Data Request Reply", 156 }, - { "Write Simple Pairing Debug Mode", 157 }, - { "Enhanced Flush", 158 }, - { "Remote OOB Data Request Negative Reply", 159 }, - - { "Reserved", 160 }, - { "Reserved", 161 }, - { "Send Keypress Notification", 162 }, - { "IO Capability Request Negative Reply", 163 }, - { "Read Encryption Key Size", 164 }, - { "Reserved", 165 }, - { "Reserved", 166 }, - { "Reserved", 167 }, - - { "Create Physical Link", 168 }, - { "Accept Physical Link", 169 }, - { "Disconnect Physical Link", 170 }, - { "Create Logical Link", 171 }, - { "Accept Logical Link", 172 }, - { "Disconnect Logical Link", 173 }, - { "Logical Link Cancel", 174 }, - { "Flow Specification Modify", 175 }, - - { "Read Logical Link Accept Timeout", 176 }, - { "Write Logical Link Accept Timeout", 177 }, - { "Set Event Mask Page 2", 178 }, - { "Read Location Data", 179 }, - { "Write Location Data", 180 }, - { "Read Local AMP Info", 181 }, - { "Read Local AMP_ASSOC", 182 }, - { "Write Remote AMP_ASSOC", 183 }, - - { "Read Flow Control Mode", 184 }, - { "Write Flow Control Mode", 185 }, - { "Read Data Block Size", 186 }, - { "Reserved", 187 }, - { "Reserved", 188 }, - { "Enable AMP Receiver Reports", 189 }, - { "AMP Test End", 190 }, - { "AMP Test Command", 191 }, - - { "Read Enhanced Transmit Power Level", 192 }, - { "Reserved", 193 }, - { "Read Best Effort Flush Timeout", 194 }, - { "Write Best Effort Flush Timeout", 195 }, - { "Short Range Mode", 196 }, - { "Read LE Host Support", 197 }, - { "Write LE Host Support", 198 }, - { "Reserved", 199 }, - - { "LE Set Event Mask", 200 }, - { "LE Read Buffer Size", 201 }, - { "LE Read Local Supported Features", 202 }, - { "Reserved", 203 }, - { "LE Set Random Address", 204 }, - { "LE Set Advertising Parameters", 205 }, - { "LE Read Advertising Channel TX Power", 206 }, - { "LE Set Advertising Data", 207 }, - - { "LE Set Scan Response Data", 208 }, - { "LE Set Advertise Enable", 209 }, - { "LE Set Scan Parameters", 210 }, - { "LE Set Scan Enable", 211 }, - { "LE Create Connection", 212 }, - { "LE Create Connection Cancel", 213 }, - { "LE Read White List Size", 214 }, - { "LE Clear White List", 215 }, - - { "LE Add Device To White List", 216 }, - { "LE Remove Device From White List", 217 }, - { "LE Connection Update", 218 }, - { "LE Set Host Channel Classification", 219 }, - { "LE Read Channel Map", 220 }, - { "LE Read Remote Used Features", 221 }, - { "LE Encrypt", 222 }, - { "LE Rand", 223 }, - - { "LE Start Encryption", 224 }, - { "LE Long Term Key Request Reply", 225 }, - { "LE Long Term Key Request Negative Reply", 226 }, - { "LE Read Supported States", 227 }, - { "LE Receiver Test", 228 }, - { "LE Transmitter Test", 229 }, - { "LE Test End", 230 }, - { "Reserved", 231 }, - - { NULL } -}; - -char *hci_cmdtostr(unsigned int cmd) -{ - return hci_uint2str(commands_map, cmd); -} - -char *hci_commandstostr(uint8_t *commands, char *pref, int width) -{ - unsigned int maxwidth = width - 3; - hci_map *m; - char *off, *ptr, *str; - int size = 10; - - m = commands_map; - - while (m->str) { - if (commands[m->val / 8] & (1 << (m->val % 8))) - size += strlen(m->str) + (pref ? strlen(pref) : 0) + 3; - m++; - } - - str = bt_malloc(size); - if (!str) - return NULL; - - ptr = str; *ptr = '\0'; - - if (pref) - ptr += sprintf(ptr, "%s", pref); - - off = ptr; - - m = commands_map; - - while (m->str) { - if (commands[m->val / 8] & (1 << (m->val % 8))) { - if (strlen(off) + strlen(m->str) > maxwidth) { - ptr += sprintf(ptr, "\n%s", pref ? pref : ""); - off = ptr; - } - ptr += sprintf(ptr, "'%s' ", m->str); - } - m++; - } - - return str; -} - -/* Version mapping */ -static hci_map ver_map[] = { - { "1.0b", 0x00 }, - { "1.1", 0x01 }, - { "1.2", 0x02 }, - { "2.0", 0x03 }, - { "2.1", 0x04 }, - { "3.0", 0x05 }, - { "4.0", 0x06 }, - { NULL } -}; - -char *hci_vertostr(unsigned int ver) -{ - return hci_uint2str(ver_map, ver); -} - -int hci_strtover(char *str, unsigned int *ver) -{ - return hci_str2uint(ver_map, str, ver); -} - -char *lmp_vertostr(unsigned int ver) -{ - return hci_uint2str(ver_map, ver); -} - -int lmp_strtover(char *str, unsigned int *ver) -{ - return hci_str2uint(ver_map, str, ver); -} - -/* LMP features mapping */ -static hci_map lmp_features_map[8][9] = { - { /* Byte 0 */ - { "<3-slot packets>", LMP_3SLOT }, /* Bit 0 */ - { "<5-slot packets>", LMP_5SLOT }, /* Bit 1 */ - { "", LMP_ENCRYPT }, /* Bit 2 */ - { "", LMP_SOFFSET }, /* Bit 3 */ - { "", LMP_TACCURACY }, /* Bit 4 */ - { "", LMP_RSWITCH }, /* Bit 5 */ - { "", LMP_HOLD }, /* Bit 6 */ - { "", LMP_SNIFF }, /* Bit 7 */ - { NULL } - }, - { /* Byte 1 */ - { "", LMP_PARK }, /* Bit 0 */ - { "", LMP_RSSI }, /* Bit 1 */ - { "", LMP_QUALITY }, /* Bit 2 */ - { "", LMP_SCO }, /* Bit 3 */ - { "", LMP_HV2 }, /* Bit 4 */ - { "", LMP_HV3 }, /* Bit 5 */ - { "", LMP_ULAW }, /* Bit 6 */ - { "", LMP_ALAW }, /* Bit 7 */ - { NULL } - }, - { /* Byte 2 */ - { "", LMP_CVSD }, /* Bit 0 */ - { "", LMP_PSCHEME }, /* Bit 1 */ - { "", LMP_PCONTROL }, /* Bit 2 */ - { "", LMP_TRSP_SCO }, /* Bit 3 */ - { "",LMP_BCAST_ENC }, /* Bit 7 */ - { NULL } - }, - { /* Byte 3 */ - { "", 0x01 }, /* Bit 0 */ - { "", LMP_EDR_ACL_2M }, /* Bit 1 */ - { "", LMP_EDR_ACL_3M }, /* Bit 2 */ - { "", LMP_ENH_ISCAN }, /* Bit 3 */ - { "", LMP_ILACE_ISCAN }, /* Bit 4 */ - { "", LMP_ILACE_PSCAN }, /* Bit 5 */ - { "",LMP_RSSI_INQ }, /* Bit 6 */ - { "", LMP_ESCO }, /* Bit 7 */ - { NULL } - }, - { /* Byte 4 */ - { "", LMP_EV4 }, /* Bit 0 */ - { "", LMP_EV5 }, /* Bit 1 */ - { "", 0x04 }, /* Bit 2 */ - { "", LMP_AFH_CAP_SLV }, /* Bit 3 */ - { "", LMP_AFH_CLS_SLV }, /* Bit 4 */ - { "
", LMP_NO_BREDR }, /* Bit 5 */ - { "", LMP_LE }, /* Bit 6 */ - { "<3-slot EDR ACL>", LMP_EDR_3SLOT }, /* Bit 7 */ - { NULL } - }, - { /* Byte 5 */ - { "<5-slot EDR ACL>", LMP_EDR_5SLOT }, /* Bit 0 */ - { "", LMP_SNIFF_SUBR }, /* Bit 1 */ - { "", LMP_PAUSE_ENC }, /* Bit 2 */ - { "", LMP_AFH_CAP_MST }, /* Bit 3 */ - { "",LMP_AFH_CLS_MST }, /* Bit 4 */ - { "", LMP_EDR_ESCO_2M }, /* Bit 5 */ - { "", LMP_EDR_ESCO_3M }, /* Bit 6 */ - { "<3-slot EDR eSCO>", LMP_EDR_3S_ESCO }, /* Bit 7 */ - { NULL } - }, - { /* Byte 6 */ - { "", LMP_EXT_INQ }, /* Bit 0 */ - { "", LMP_LE_BREDR }, /* Bit 1 */ - { "", 0x04 }, /* Bit 2 */ - { "", LMP_SIMPLE_PAIR }, /* Bit 3 */ - { "", LMP_ENCAPS_PDU }, /* Bit 4 */ - { "", LMP_ERR_DAT_REP }, /* Bit 5 */ - { "", LMP_NFLUSH_PKTS }, /* Bit 6 */ - { "", 0x80 }, /* Bit 7 */ - { NULL } - }, - { /* Byte 7 */ - { "", LMP_LSTO }, /* Bit 1 */ - { "", LMP_INQ_TX_PWR }, /* Bit 1 */ - { "", LMP_EPC }, /* Bit 2 */ - { "", 0x08 }, /* Bit 3 */ - { "", 0x10 }, /* Bit 4 */ - { "", 0x20 }, /* Bit 5 */ - { "", 0x40 }, /* Bit 6 */ - { "",LMP_EXT_FEAT }, /* Bit 7 */ - { NULL } - }, -}; - -char *lmp_featurestostr(uint8_t *features, char *pref, int width) -{ - unsigned int maxwidth = width - 1; - char *off, *ptr, *str; - int i, size = 10; - - for (i = 0; i < 8; i++) { - hci_map *m = lmp_features_map[i]; - - while (m->str) { - if (m->val & features[i]) - size += strlen(m->str) + - (pref ? strlen(pref) : 0) + 1; - m++; - } - } - - str = bt_malloc(size); - if (!str) - return NULL; - - ptr = str; *ptr = '\0'; - - if (pref) - ptr += sprintf(ptr, "%s", pref); - - off = ptr; - - for (i = 0; i < 8; i++) { - hci_map *m = lmp_features_map[i]; - - while (m->str) { - if (m->val & features[i]) { - if (strlen(off) + strlen(m->str) > maxwidth) { - ptr += sprintf(ptr, "\n%s", - pref ? pref : ""); - off = ptr; - } - ptr += sprintf(ptr, "%s ", m->str); - } - m++; - } - } - - return str; -} - -/* HCI functions that do not require open device */ -int hci_for_each_dev(int flag, int (*func)(int dd, int dev_id, long arg), - long arg) -{ - struct hci_dev_list_req *dl; - struct hci_dev_req *dr; - int dev_id = -1; - int i, sk, err = 0; - - sk = socket(AF_BLUETOOTH, SOCK_RAW | SOCK_CLOEXEC, BTPROTO_HCI); - if (sk < 0) - return -1; - - dl = malloc(HCI_MAX_DEV * sizeof(*dr) + sizeof(*dl)); - if (!dl) { - err = errno; - goto done; - } - - memset(dl, 0, HCI_MAX_DEV * sizeof(*dr) + sizeof(*dl)); - - dl->dev_num = HCI_MAX_DEV; - dr = dl->dev_req; - - if (ioctl(sk, HCIGETDEVLIST, (void *) dl) < 0) { - err = errno; - goto free; - } - - for (i = 0; i < dl->dev_num; i++, dr++) { - if (hci_test_bit(flag, &dr->dev_opt)) - if (!func || func(sk, dr->dev_id, arg)) { - dev_id = dr->dev_id; - break; - } - } - - if (dev_id < 0) - err = ENODEV; - -free: - free(dl); - -done: - close(sk); - errno = err; - - return dev_id; -} - -static int __other_bdaddr(int dd, int dev_id, long arg) -{ - struct hci_dev_info di = { .dev_id = dev_id }; - - if (ioctl(dd, HCIGETDEVINFO, (void *) &di)) - return 0; - - if (hci_test_bit(HCI_RAW, &di.flags)) - return 0; - - return bacmp((bdaddr_t *) arg, &di.bdaddr); -} - -static int __same_bdaddr(int dd, int dev_id, long arg) -{ - struct hci_dev_info di = { .dev_id = dev_id }; - - if (ioctl(dd, HCIGETDEVINFO, (void *) &di)) - return 0; - - return !bacmp((bdaddr_t *) arg, &di.bdaddr); -} - -int hci_get_route(bdaddr_t *bdaddr) -{ - return hci_for_each_dev(HCI_UP, __other_bdaddr, - (long) (bdaddr ? bdaddr : BDADDR_ANY)); -} - -int hci_devid(const char *str) -{ - bdaddr_t ba; - int id = -1; - - if (!strncmp(str, "hci", 3) && strlen(str) >= 4) { - id = atoi(str + 3); - if (hci_devba(id, &ba) < 0) - return -1; - } else { - errno = ENODEV; - str2ba(str, &ba); - id = hci_for_each_dev(HCI_UP, __same_bdaddr, (long) &ba); - } - - return id; -} - -int hci_devinfo(int dev_id, struct hci_dev_info *di) -{ - int dd, err, ret; - - dd = socket(AF_BLUETOOTH, SOCK_RAW | SOCK_CLOEXEC, BTPROTO_HCI); - if (dd < 0) - return dd; - - memset(di, 0, sizeof(struct hci_dev_info)); - - di->dev_id = dev_id; - ret = ioctl(dd, HCIGETDEVINFO, (void *) di); - - err = errno; - close(dd); - errno = err; - - return ret; -} - -int hci_devba(int dev_id, bdaddr_t *bdaddr) -{ - struct hci_dev_info di; - - memset(&di, 0, sizeof(di)); - - if (hci_devinfo(dev_id, &di)) - return -1; - - if (!hci_test_bit(HCI_UP, &di.flags)) { - errno = ENETDOWN; - return -1; - } - - bacpy(bdaddr, &di.bdaddr); - - return 0; -} - -int hci_inquiry(int dev_id, int len, int nrsp, const uint8_t *lap, - inquiry_info **ii, long flags) -{ - struct hci_inquiry_req *ir; - uint8_t num_rsp = nrsp; - void *buf; - int dd, size, err, ret = -1; - - if (nrsp <= 0) { - num_rsp = 0; - nrsp = 255; - } - - if (dev_id < 0) { - dev_id = hci_get_route(NULL); - if (dev_id < 0) { - errno = ENODEV; - return -1; - } - } - - dd = socket(AF_BLUETOOTH, SOCK_RAW | SOCK_CLOEXEC, BTPROTO_HCI); - if (dd < 0) - return dd; - - buf = malloc(sizeof(*ir) + (sizeof(inquiry_info) * (nrsp))); - if (!buf) - goto done; - - ir = buf; - ir->dev_id = dev_id; - ir->num_rsp = num_rsp; - ir->length = len; - ir->flags = flags; - - if (lap) { - memcpy(ir->lap, lap, 3); - } else { - ir->lap[0] = 0x33; - ir->lap[1] = 0x8b; - ir->lap[2] = 0x9e; - } - - ret = ioctl(dd, HCIINQUIRY, (unsigned long) buf); - if (ret < 0) - goto free; - - size = sizeof(inquiry_info) * ir->num_rsp; - - if (!*ii) - *ii = malloc(size); - - if (*ii) { - memcpy((void *) *ii, buf + sizeof(*ir), size); - ret = ir->num_rsp; - } else - ret = -1; - -free: - free(buf); - -done: - err = errno; - close(dd); - errno = err; - - return ret; -} - -/* Open HCI device. - * Returns device descriptor (dd). */ -int hci_open_dev(int dev_id) -{ - struct sockaddr_hci a; - int dd, err; - - /* Create HCI socket */ - dd = socket(AF_BLUETOOTH, SOCK_RAW | SOCK_CLOEXEC, BTPROTO_HCI); - if (dd < 0) - return dd; - - /* Bind socket to the HCI device */ - memset(&a, 0, sizeof(a)); - a.hci_family = AF_BLUETOOTH; - a.hci_dev = dev_id; - if (bind(dd, (struct sockaddr *) &a, sizeof(a)) < 0) - goto failed; - - return dd; - -failed: - err = errno; - close(dd); - errno = err; - - return -1; -} - -int hci_close_dev(int dd) -{ - return close(dd); -} - -/* HCI functions that require open device - * dd - Device descriptor returned by hci_open_dev. */ - -int hci_send_cmd(int dd, uint16_t ogf, uint16_t ocf, uint8_t plen, void *param) -{ - uint8_t type = HCI_COMMAND_PKT; - hci_command_hdr hc; - struct iovec iv[3]; - int ivn; - - hc.opcode = htobs(cmd_opcode_pack(ogf, ocf)); - hc.plen= plen; - - iv[0].iov_base = &type; - iv[0].iov_len = 1; - iv[1].iov_base = &hc; - iv[1].iov_len = HCI_COMMAND_HDR_SIZE; - ivn = 2; - - if (plen) { - iv[2].iov_base = param; - iv[2].iov_len = plen; - ivn = 3; - } - - while (writev(dd, iv, ivn) < 0) { - if (errno == EAGAIN || errno == EINTR) - continue; - return -1; - } - return 0; -} - -int hci_send_req(int dd, struct hci_request *r, int to) -{ - unsigned char buf[HCI_MAX_EVENT_SIZE], *ptr; - uint16_t opcode = htobs(cmd_opcode_pack(r->ogf, r->ocf)); - struct hci_filter nf, of; - socklen_t olen; - hci_event_hdr *hdr; - int err, try; - - olen = sizeof(of); - if (getsockopt(dd, SOL_HCI, HCI_FILTER, &of, &olen) < 0) - return -1; - - hci_filter_clear(&nf); - hci_filter_set_ptype(HCI_EVENT_PKT, &nf); - hci_filter_set_event(EVT_CMD_STATUS, &nf); - hci_filter_set_event(EVT_CMD_COMPLETE, &nf); - hci_filter_set_event(EVT_LE_META_EVENT, &nf); - hci_filter_set_event(r->event, &nf); - hci_filter_set_opcode(opcode, &nf); - if (setsockopt(dd, SOL_HCI, HCI_FILTER, &nf, sizeof(nf)) < 0) - return -1; - - if (hci_send_cmd(dd, r->ogf, r->ocf, r->clen, r->cparam) < 0) - goto failed; - - try = 10; - while (try--) { - evt_cmd_complete *cc; - evt_cmd_status *cs; - evt_remote_name_req_complete *rn; - evt_le_meta_event *me; - remote_name_req_cp *cp; - int len; - - if (to) { - struct pollfd p; - int n; - - p.fd = dd; p.events = POLLIN; - while ((n = poll(&p, 1, to)) < 0) { - if (errno == EAGAIN || errno == EINTR) - continue; - goto failed; - } - - if (!n) { - errno = ETIMEDOUT; - goto failed; - } - - to -= 10; - if (to < 0) - to = 0; - - } - - while ((len = read(dd, buf, sizeof(buf))) < 0) { - if (errno == EAGAIN || errno == EINTR) - continue; - goto failed; - } - - hdr = (void *) (buf + 1); - ptr = buf + (1 + HCI_EVENT_HDR_SIZE); - len -= (1 + HCI_EVENT_HDR_SIZE); - - switch (hdr->evt) { - case EVT_CMD_STATUS: - cs = (void *) ptr; - - if (cs->opcode != opcode) - continue; - - if (r->event != EVT_CMD_STATUS) { - if (cs->status) { - errno = EIO; - goto failed; - } - break; - } - - r->rlen = MIN(len, r->rlen); - memcpy(r->rparam, ptr, r->rlen); - goto done; - - case EVT_CMD_COMPLETE: - cc = (void *) ptr; - - if (cc->opcode != opcode) - continue; - - ptr += EVT_CMD_COMPLETE_SIZE; - len -= EVT_CMD_COMPLETE_SIZE; - - r->rlen = MIN(len, r->rlen); - memcpy(r->rparam, ptr, r->rlen); - goto done; - - case EVT_REMOTE_NAME_REQ_COMPLETE: - if (hdr->evt != r->event) - break; - - rn = (void *) ptr; - cp = r->cparam; - - if (bacmp(&rn->bdaddr, &cp->bdaddr)) - continue; - - r->rlen = MIN(len, r->rlen); - memcpy(r->rparam, ptr, r->rlen); - goto done; - - case EVT_LE_META_EVENT: - me = (void *) ptr; - - if (me->subevent != r->event) - continue; - - len -= 1; - r->rlen = MIN(len, r->rlen); - memcpy(r->rparam, me->data, r->rlen); - goto done; - - default: - if (hdr->evt != r->event) - break; - - r->rlen = MIN(len, r->rlen); - memcpy(r->rparam, ptr, r->rlen); - goto done; - } - } - errno = ETIMEDOUT; - -failed: - err = errno; - setsockopt(dd, SOL_HCI, HCI_FILTER, &of, sizeof(of)); - errno = err; - return -1; - -done: - setsockopt(dd, SOL_HCI, HCI_FILTER, &of, sizeof(of)); - return 0; -} - -int hci_create_connection(int dd, const bdaddr_t *bdaddr, uint16_t ptype, - uint16_t clkoffset, uint8_t rswitch, - uint16_t *handle, int to) -{ - evt_conn_complete rp; - create_conn_cp cp; - struct hci_request rq; - - memset(&cp, 0, sizeof(cp)); - bacpy(&cp.bdaddr, bdaddr); - cp.pkt_type = ptype; - cp.pscan_rep_mode = 0x02; - cp.clock_offset = clkoffset; - cp.role_switch = rswitch; - - memset(&rq, 0, sizeof(rq)); - rq.ogf = OGF_LINK_CTL; - rq.ocf = OCF_CREATE_CONN; - rq.event = EVT_CONN_COMPLETE; - rq.cparam = &cp; - rq.clen = CREATE_CONN_CP_SIZE; - rq.rparam = &rp; - rq.rlen = EVT_CONN_COMPLETE_SIZE; - - if (hci_send_req(dd, &rq, to) < 0) - return -1; - - if (rp.status) { - errno = EIO; - return -1; - } - - *handle = rp.handle; - return 0; -} - -int hci_disconnect(int dd, uint16_t handle, uint8_t reason, int to) -{ - evt_disconn_complete rp; - disconnect_cp cp; - struct hci_request rq; - - memset(&cp, 0, sizeof(cp)); - cp.handle = handle; - cp.reason = reason; - - memset(&rq, 0, sizeof(rq)); - rq.ogf = OGF_LINK_CTL; - rq.ocf = OCF_DISCONNECT; - rq.event = EVT_DISCONN_COMPLETE; - rq.cparam = &cp; - rq.clen = DISCONNECT_CP_SIZE; - rq.rparam = &rp; - rq.rlen = EVT_DISCONN_COMPLETE_SIZE; - - if (hci_send_req(dd, &rq, to) < 0) - return -1; - - if (rp.status) { - errno = EIO; - return -1; - } - return 0; -} - -int hci_le_add_white_list(int dd, const bdaddr_t *bdaddr, uint8_t type, int to) -{ - struct hci_request rq; - le_add_device_to_white_list_cp cp; - uint8_t status; - - memset(&cp, 0, sizeof(cp)); - cp.bdaddr_type = type; - bacpy(&cp.bdaddr, bdaddr); - - memset(&rq, 0, sizeof(rq)); - rq.ogf = OGF_LE_CTL; - rq.ocf = OCF_LE_ADD_DEVICE_TO_WHITE_LIST; - rq.cparam = &cp; - rq.clen = LE_ADD_DEVICE_TO_WHITE_LIST_CP_SIZE; - rq.rparam = &status; - rq.rlen = 1; - - if (hci_send_req(dd, &rq, to) < 0) - return -1; - - if (status) { - errno = EIO; - return -1; - } - - return 0; -} - -int hci_le_rm_white_list(int dd, const bdaddr_t *bdaddr, uint8_t type, int to) -{ - struct hci_request rq; - le_remove_device_from_white_list_cp cp; - uint8_t status; - - memset(&cp, 0, sizeof(cp)); - cp.bdaddr_type = type; - bacpy(&cp.bdaddr, bdaddr); - - memset(&rq, 0, sizeof(rq)); - rq.ogf = OGF_LE_CTL; - rq.ocf = OCF_LE_REMOVE_DEVICE_FROM_WHITE_LIST; - rq.cparam = &cp; - rq.clen = LE_REMOVE_DEVICE_FROM_WHITE_LIST_CP_SIZE; - rq.rparam = &status; - rq.rlen = 1; - - if (hci_send_req(dd, &rq, to) < 0) - return -1; - - if (status) { - errno = EIO; - return -1; - } - - return 0; -} - -int hci_le_read_white_list_size(int dd, uint8_t *size, int to) -{ - struct hci_request rq; - le_read_white_list_size_rp rp; - - memset(&rp, 0, sizeof(rp)); - memset(&rq, 0, sizeof(rq)); - - rq.ogf = OGF_LE_CTL; - rq.ocf = OCF_LE_READ_WHITE_LIST_SIZE; - rq.rparam = &rp; - rq.rlen = LE_READ_WHITE_LIST_SIZE_RP_SIZE; - - if (hci_send_req(dd, &rq, to) < 0) - return -1; - - if (rp.status) { - errno = EIO; - return -1; - } - - if (size) - *size = rp.size; - - return 0; -} - -int hci_le_clear_white_list(int dd, int to) -{ - struct hci_request rq; - uint8_t status; - - memset(&rq, 0, sizeof(rq)); - rq.ogf = OGF_LE_CTL; - rq.ocf = OCF_LE_CLEAR_WHITE_LIST; - rq.rparam = &status; - rq.rlen = 1; - - if (hci_send_req(dd, &rq, to) < 0) - return -1; - - if (status) { - errno = EIO; - return -1; - } - - return 0; -} - -int hci_read_local_name(int dd, int len, char *name, int to) -{ - read_local_name_rp rp; - struct hci_request rq; - - memset(&rq, 0, sizeof(rq)); - rq.ogf = OGF_HOST_CTL; - rq.ocf = OCF_READ_LOCAL_NAME; - rq.rparam = &rp; - rq.rlen = READ_LOCAL_NAME_RP_SIZE; - - if (hci_send_req(dd, &rq, to) < 0) - return -1; - - if (rp.status) { - errno = EIO; - return -1; - } - - rp.name[247] = '\0'; - strncpy(name, (char *) rp.name, len); - return 0; -} - -int hci_write_local_name(int dd, const char *name, int to) -{ - change_local_name_cp cp; - struct hci_request rq; - - memset(&cp, 0, sizeof(cp)); - strncpy((char *) cp.name, name, sizeof(cp.name)); - - memset(&rq, 0, sizeof(rq)); - rq.ogf = OGF_HOST_CTL; - rq.ocf = OCF_CHANGE_LOCAL_NAME; - rq.cparam = &cp; - rq.clen = CHANGE_LOCAL_NAME_CP_SIZE; - - if (hci_send_req(dd, &rq, to) < 0) - return -1; - - return 0; -} - -int hci_read_remote_name_with_clock_offset(int dd, const bdaddr_t *bdaddr, - uint8_t pscan_rep_mode, - uint16_t clkoffset, - int len, char *name, int to) -{ - evt_remote_name_req_complete rn; - remote_name_req_cp cp; - struct hci_request rq; - - memset(&cp, 0, sizeof(cp)); - bacpy(&cp.bdaddr, bdaddr); - cp.pscan_rep_mode = pscan_rep_mode; - cp.clock_offset = clkoffset; - - memset(&rq, 0, sizeof(rq)); - rq.ogf = OGF_LINK_CTL; - rq.ocf = OCF_REMOTE_NAME_REQ; - rq.cparam = &cp; - rq.clen = REMOTE_NAME_REQ_CP_SIZE; - rq.event = EVT_REMOTE_NAME_REQ_COMPLETE; - rq.rparam = &rn; - rq.rlen = EVT_REMOTE_NAME_REQ_COMPLETE_SIZE; - - if (hci_send_req(dd, &rq, to) < 0) - return -1; - - if (rn.status) { - errno = EIO; - return -1; - } - - rn.name[247] = '\0'; - strncpy(name, (char *) rn.name, len); - return 0; -} - -int hci_read_remote_name(int dd, const bdaddr_t *bdaddr, int len, char *name, - int to) -{ - return hci_read_remote_name_with_clock_offset(dd, bdaddr, 0x02, 0x0000, - len, name, to); -} - -int hci_read_remote_name_cancel(int dd, const bdaddr_t *bdaddr, int to) -{ - remote_name_req_cancel_cp cp; - struct hci_request rq; - - memset(&cp, 0, sizeof(cp)); - bacpy(&cp.bdaddr, bdaddr); - - memset(&rq, 0, sizeof(rq)); - rq.ogf = OGF_LINK_CTL; - rq.ocf = OCF_REMOTE_NAME_REQ_CANCEL; - rq.cparam = &cp; - rq.clen = REMOTE_NAME_REQ_CANCEL_CP_SIZE; - - if (hci_send_req(dd, &rq, to) < 0) - return -1; - - return 0; -} - -int hci_read_remote_version(int dd, uint16_t handle, struct hci_version *ver, - int to) -{ - evt_read_remote_version_complete rp; - read_remote_version_cp cp; - struct hci_request rq; - - memset(&cp, 0, sizeof(cp)); - cp.handle = handle; - - memset(&rq, 0, sizeof(rq)); - rq.ogf = OGF_LINK_CTL; - rq.ocf = OCF_READ_REMOTE_VERSION; - rq.event = EVT_READ_REMOTE_VERSION_COMPLETE; - rq.cparam = &cp; - rq.clen = READ_REMOTE_VERSION_CP_SIZE; - rq.rparam = &rp; - rq.rlen = EVT_READ_REMOTE_VERSION_COMPLETE_SIZE; - - if (hci_send_req(dd, &rq, to) < 0) - return -1; - - if (rp.status) { - errno = EIO; - return -1; - } - - ver->manufacturer = btohs(rp.manufacturer); - ver->lmp_ver = rp.lmp_ver; - ver->lmp_subver = btohs(rp.lmp_subver); - return 0; -} - -int hci_read_remote_features(int dd, uint16_t handle, uint8_t *features, int to) -{ - evt_read_remote_features_complete rp; - read_remote_features_cp cp; - struct hci_request rq; - - memset(&cp, 0, sizeof(cp)); - cp.handle = handle; - - memset(&rq, 0, sizeof(rq)); - rq.ogf = OGF_LINK_CTL; - rq.ocf = OCF_READ_REMOTE_FEATURES; - rq.event = EVT_READ_REMOTE_FEATURES_COMPLETE; - rq.cparam = &cp; - rq.clen = READ_REMOTE_FEATURES_CP_SIZE; - rq.rparam = &rp; - rq.rlen = EVT_READ_REMOTE_FEATURES_COMPLETE_SIZE; - - if (hci_send_req(dd, &rq, to) < 0) - return -1; - - if (rp.status) { - errno = EIO; - return -1; - } - - if (features) - memcpy(features, rp.features, 8); - - return 0; -} - -int hci_read_remote_ext_features(int dd, uint16_t handle, uint8_t page, - uint8_t *max_page, uint8_t *features, - int to) -{ - evt_read_remote_ext_features_complete rp; - read_remote_ext_features_cp cp; - struct hci_request rq; - - memset(&cp, 0, sizeof(cp)); - cp.handle = handle; - cp.page_num = page; - - memset(&rq, 0, sizeof(rq)); - rq.ogf = OGF_LINK_CTL; - rq.ocf = OCF_READ_REMOTE_EXT_FEATURES; - rq.event = EVT_READ_REMOTE_EXT_FEATURES_COMPLETE; - rq.cparam = &cp; - rq.clen = READ_REMOTE_EXT_FEATURES_CP_SIZE; - rq.rparam = &rp; - rq.rlen = EVT_READ_REMOTE_EXT_FEATURES_COMPLETE_SIZE; - - if (hci_send_req(dd, &rq, to) < 0) - return -1; - - if (rp.status) { - errno = EIO; - return -1; - } - - if (max_page) - *max_page = rp.max_page_num; - - if (features) - memcpy(features, rp.features, 8); - - return 0; -} - -int hci_read_clock_offset(int dd, uint16_t handle, uint16_t *clkoffset, int to) -{ - evt_read_clock_offset_complete rp; - read_clock_offset_cp cp; - struct hci_request rq; - - memset(&cp, 0, sizeof(cp)); - cp.handle = handle; - - memset(&rq, 0, sizeof(rq)); - rq.ogf = OGF_LINK_CTL; - rq.ocf = OCF_READ_CLOCK_OFFSET; - rq.event = EVT_READ_CLOCK_OFFSET_COMPLETE; - rq.cparam = &cp; - rq.clen = READ_CLOCK_OFFSET_CP_SIZE; - rq.rparam = &rp; - rq.rlen = EVT_READ_CLOCK_OFFSET_COMPLETE_SIZE; - - if (hci_send_req(dd, &rq, to) < 0) - return -1; - - if (rp.status) { - errno = EIO; - return -1; - } - - *clkoffset = rp.clock_offset; - return 0; -} - -int hci_read_local_version(int dd, struct hci_version *ver, int to) -{ - read_local_version_rp rp; - struct hci_request rq; - - memset(&rq, 0, sizeof(rq)); - rq.ogf = OGF_INFO_PARAM; - rq.ocf = OCF_READ_LOCAL_VERSION; - rq.rparam = &rp; - rq.rlen = READ_LOCAL_VERSION_RP_SIZE; - - if (hci_send_req(dd, &rq, to) < 0) - return -1; - - if (rp.status) { - errno = EIO; - return -1; - } - - ver->manufacturer = btohs(rp.manufacturer); - ver->hci_ver = rp.hci_ver; - ver->hci_rev = btohs(rp.hci_rev); - ver->lmp_ver = rp.lmp_ver; - ver->lmp_subver = btohs(rp.lmp_subver); - return 0; -} - -int hci_read_local_commands(int dd, uint8_t *commands, int to) -{ - read_local_commands_rp rp; - struct hci_request rq; - - memset(&rq, 0, sizeof(rq)); - rq.ogf = OGF_INFO_PARAM; - rq.ocf = OCF_READ_LOCAL_COMMANDS; - rq.rparam = &rp; - rq.rlen = READ_LOCAL_COMMANDS_RP_SIZE; - - if (hci_send_req(dd, &rq, to) < 0) - return -1; - - if (rp.status) { - errno = EIO; - return -1; - } - - if (commands) - memcpy(commands, rp.commands, 64); - - return 0; -} - -int hci_read_local_features(int dd, uint8_t *features, int to) -{ - read_local_features_rp rp; - struct hci_request rq; - - memset(&rq, 0, sizeof(rq)); - rq.ogf = OGF_INFO_PARAM; - rq.ocf = OCF_READ_LOCAL_FEATURES; - rq.rparam = &rp; - rq.rlen = READ_LOCAL_FEATURES_RP_SIZE; - - if (hci_send_req(dd, &rq, to) < 0) - return -1; - - if (rp.status) { - errno = EIO; - return -1; - } - - if (features) - memcpy(features, rp.features, 8); - - return 0; -} - -int hci_read_local_ext_features(int dd, uint8_t page, uint8_t *max_page, - uint8_t *features, int to) -{ - read_local_ext_features_cp cp; - read_local_ext_features_rp rp; - struct hci_request rq; - - cp.page_num = page; - - memset(&rq, 0, sizeof(rq)); - rq.ogf = OGF_INFO_PARAM; - rq.ocf = OCF_READ_LOCAL_EXT_FEATURES; - rq.cparam = &cp; - rq.clen = READ_LOCAL_EXT_FEATURES_CP_SIZE; - rq.rparam = &rp; - rq.rlen = READ_LOCAL_EXT_FEATURES_RP_SIZE; - - if (hci_send_req(dd, &rq, to) < 0) - return -1; - - if (rp.status) { - errno = EIO; - return -1; - } - - if (max_page) - *max_page = rp.max_page_num; - - if (features) - memcpy(features, rp.features, 8); - - return 0; -} - -int hci_read_bd_addr(int dd, bdaddr_t *bdaddr, int to) -{ - read_bd_addr_rp rp; - struct hci_request rq; - - memset(&rq, 0, sizeof(rq)); - rq.ogf = OGF_INFO_PARAM; - rq.ocf = OCF_READ_BD_ADDR; - rq.rparam = &rp; - rq.rlen = READ_BD_ADDR_RP_SIZE; - - if (hci_send_req(dd, &rq, to) < 0) - return -1; - - if (rp.status) { - errno = EIO; - return -1; - } - - if (bdaddr) - bacpy(bdaddr, &rp.bdaddr); - - return 0; -} - -int hci_read_class_of_dev(int dd, uint8_t *cls, int to) -{ - read_class_of_dev_rp rp; - struct hci_request rq; - - memset(&rq, 0, sizeof(rq)); - rq.ogf = OGF_HOST_CTL; - rq.ocf = OCF_READ_CLASS_OF_DEV; - rq.rparam = &rp; - rq.rlen = READ_CLASS_OF_DEV_RP_SIZE; - - if (hci_send_req(dd, &rq, to) < 0) - return -1; - - if (rp.status) { - errno = EIO; - return -1; - } - - memcpy(cls, rp.dev_class, 3); - return 0; -} - -int hci_write_class_of_dev(int dd, uint32_t cls, int to) -{ - write_class_of_dev_cp cp; - struct hci_request rq; - - memset(&rq, 0, sizeof(rq)); - cp.dev_class[0] = cls & 0xff; - cp.dev_class[1] = (cls >> 8) & 0xff; - cp.dev_class[2] = (cls >> 16) & 0xff; - rq.ogf = OGF_HOST_CTL; - rq.ocf = OCF_WRITE_CLASS_OF_DEV; - rq.cparam = &cp; - rq.clen = WRITE_CLASS_OF_DEV_CP_SIZE; - return hci_send_req(dd, &rq, to); -} - -int hci_read_voice_setting(int dd, uint16_t *vs, int to) -{ - read_voice_setting_rp rp; - struct hci_request rq; - - memset(&rq, 0, sizeof(rq)); - rq.ogf = OGF_HOST_CTL; - rq.ocf = OCF_READ_VOICE_SETTING; - rq.rparam = &rp; - rq.rlen = READ_VOICE_SETTING_RP_SIZE; - - if (hci_send_req(dd, &rq, to) < 0) - return -1; - - if (rp.status) { - errno = EIO; - return -1; - } - - *vs = rp.voice_setting; - return 0; -} - -int hci_write_voice_setting(int dd, uint16_t vs, int to) -{ - write_voice_setting_cp cp; - struct hci_request rq; - - memset(&rq, 0, sizeof(rq)); - cp.voice_setting = vs; - rq.ogf = OGF_HOST_CTL; - rq.ocf = OCF_WRITE_VOICE_SETTING; - rq.cparam = &cp; - rq.clen = WRITE_VOICE_SETTING_CP_SIZE; - - return hci_send_req(dd, &rq, to); -} - -int hci_read_current_iac_lap(int dd, uint8_t *num_iac, uint8_t *lap, int to) -{ - read_current_iac_lap_rp rp; - struct hci_request rq; - - memset(&rq, 0, sizeof(rq)); - rq.ogf = OGF_HOST_CTL; - rq.ocf = OCF_READ_CURRENT_IAC_LAP; - rq.rparam = &rp; - rq.rlen = READ_CURRENT_IAC_LAP_RP_SIZE; - - if (hci_send_req(dd, &rq, to) < 0) - return -1; - - if (rp.status) { - errno = EIO; - return -1; - } - - *num_iac = rp.num_current_iac; - memcpy(lap, rp.lap, rp.num_current_iac * 3); - return 0; -} - -int hci_write_current_iac_lap(int dd, uint8_t num_iac, uint8_t *lap, int to) -{ - write_current_iac_lap_cp cp; - struct hci_request rq; - - memset(&cp, 0, sizeof(cp)); - cp.num_current_iac = num_iac; - memcpy(&cp.lap, lap, num_iac * 3); - - memset(&rq, 0, sizeof(rq)); - rq.ogf = OGF_HOST_CTL; - rq.ocf = OCF_WRITE_CURRENT_IAC_LAP; - rq.cparam = &cp; - rq.clen = num_iac * 3 + 1; - - return hci_send_req(dd, &rq, to); -} - -int hci_read_stored_link_key(int dd, bdaddr_t *bdaddr, uint8_t all, int to) -{ - read_stored_link_key_cp cp; - struct hci_request rq; - - memset(&cp, 0, sizeof(cp)); - bacpy(&cp.bdaddr, bdaddr); - cp.read_all = all; - - memset(&rq, 0, sizeof(rq)); - rq.ogf = OGF_HOST_CTL; - rq.ocf = OCF_READ_STORED_LINK_KEY; - rq.cparam = &cp; - rq.clen = READ_STORED_LINK_KEY_CP_SIZE; - - return hci_send_req(dd, &rq, to); -} - -int hci_write_stored_link_key(int dd, bdaddr_t *bdaddr, uint8_t *key, int to) -{ - unsigned char cp[WRITE_STORED_LINK_KEY_CP_SIZE + 6 + 16]; - struct hci_request rq; - - memset(&cp, 0, sizeof(cp)); - cp[0] = 1; - bacpy((bdaddr_t *) (cp + 1), bdaddr); - memcpy(cp + 7, key, 16); - - memset(&rq, 0, sizeof(rq)); - rq.ogf = OGF_HOST_CTL; - rq.ocf = OCF_WRITE_STORED_LINK_KEY; - rq.cparam = &cp; - rq.clen = WRITE_STORED_LINK_KEY_CP_SIZE + 6 + 16; - - return hci_send_req(dd, &rq, to); -} - -int hci_delete_stored_link_key(int dd, bdaddr_t *bdaddr, uint8_t all, int to) -{ - delete_stored_link_key_cp cp; - struct hci_request rq; - - memset(&cp, 0, sizeof(cp)); - bacpy(&cp.bdaddr, bdaddr); - cp.delete_all = all; - - memset(&rq, 0, sizeof(rq)); - rq.ogf = OGF_HOST_CTL; - rq.ocf = OCF_DELETE_STORED_LINK_KEY; - rq.cparam = &cp; - rq.clen = DELETE_STORED_LINK_KEY_CP_SIZE; - - return hci_send_req(dd, &rq, to); -} - -int hci_authenticate_link(int dd, uint16_t handle, int to) -{ - auth_requested_cp cp; - evt_auth_complete rp; - struct hci_request rq; - - cp.handle = handle; - - rq.ogf = OGF_LINK_CTL; - rq.ocf = OCF_AUTH_REQUESTED; - rq.event = EVT_AUTH_COMPLETE; - rq.cparam = &cp; - rq.clen = AUTH_REQUESTED_CP_SIZE; - rq.rparam = &rp; - rq.rlen = EVT_AUTH_COMPLETE_SIZE; - - if (hci_send_req(dd, &rq, to) < 0) - return -1; - - if (rp.status) { - errno = EIO; - return -1; - } - - return 0; -} - -int hci_encrypt_link(int dd, uint16_t handle, uint8_t encrypt, int to) -{ - set_conn_encrypt_cp cp; - evt_encrypt_change rp; - struct hci_request rq; - - cp.handle = handle; - cp.encrypt = encrypt; - - rq.ogf = OGF_LINK_CTL; - rq.ocf = OCF_SET_CONN_ENCRYPT; - rq.event = EVT_ENCRYPT_CHANGE; - rq.cparam = &cp; - rq.clen = SET_CONN_ENCRYPT_CP_SIZE; - rq.rparam = &rp; - rq.rlen = EVT_ENCRYPT_CHANGE_SIZE; - - if (hci_send_req(dd, &rq, to) < 0) - return -1; - - if (rp.status) { - errno = EIO; - return -1; - } - - return 0; -} - -int hci_change_link_key(int dd, uint16_t handle, int to) -{ - change_conn_link_key_cp cp; - evt_change_conn_link_key_complete rp; - struct hci_request rq; - - cp.handle = handle; - - rq.ogf = OGF_LINK_CTL; - rq.ocf = OCF_CHANGE_CONN_LINK_KEY; - rq.event = EVT_CHANGE_CONN_LINK_KEY_COMPLETE; - rq.cparam = &cp; - rq.clen = CHANGE_CONN_LINK_KEY_CP_SIZE; - rq.rparam = &rp; - rq.rlen = EVT_CHANGE_CONN_LINK_KEY_COMPLETE_SIZE; - - if (hci_send_req(dd, &rq, to) < 0) - return -1; - - if (rp.status) { - errno = EIO; - return -1; - } - - return 0; -} - -int hci_switch_role(int dd, bdaddr_t *bdaddr, uint8_t role, int to) -{ - switch_role_cp cp; - evt_role_change rp; - struct hci_request rq; - - bacpy(&cp.bdaddr, bdaddr); - cp.role = role; - rq.ogf = OGF_LINK_POLICY; - rq.ocf = OCF_SWITCH_ROLE; - rq.cparam = &cp; - rq.clen = SWITCH_ROLE_CP_SIZE; - rq.rparam = &rp; - rq.rlen = EVT_ROLE_CHANGE_SIZE; - rq.event = EVT_ROLE_CHANGE; - - if (hci_send_req(dd, &rq, to) < 0) - return -1; - - if (rp.status) { - errno = EIO; - return -1; - } - - return 0; -} - -int hci_park_mode(int dd, uint16_t handle, uint16_t max_interval, - uint16_t min_interval, int to) -{ - park_mode_cp cp; - evt_mode_change rp; - struct hci_request rq; - - memset(&cp, 0, sizeof (cp)); - cp.handle = handle; - cp.max_interval = max_interval; - cp.min_interval = min_interval; - - memset(&rq, 0, sizeof (rq)); - rq.ogf = OGF_LINK_POLICY; - rq.ocf = OCF_PARK_MODE; - rq.event = EVT_MODE_CHANGE; - rq.cparam = &cp; - rq.clen = PARK_MODE_CP_SIZE; - rq.rparam = &rp; - rq.rlen = EVT_MODE_CHANGE_SIZE; - - if (hci_send_req(dd, &rq, to) < 0) - return -1; - - if (rp.status) { - errno = EIO; - return -1; - } - - return 0; -} - -int hci_exit_park_mode(int dd, uint16_t handle, int to) -{ - exit_park_mode_cp cp; - evt_mode_change rp; - struct hci_request rq; - - memset(&cp, 0, sizeof (cp)); - cp.handle = handle; - - memset (&rq, 0, sizeof (rq)); - rq.ogf = OGF_LINK_POLICY; - rq.ocf = OCF_EXIT_PARK_MODE; - rq.event = EVT_MODE_CHANGE; - rq.cparam = &cp; - rq.clen = EXIT_PARK_MODE_CP_SIZE; - rq.rparam = &rp; - rq.rlen = EVT_MODE_CHANGE_SIZE; - - if (hci_send_req(dd, &rq, to) < 0) - return -1; - - if (rp.status) { - errno = EIO; - return -1; - } - - return 0; -} - -int hci_read_inquiry_scan_type(int dd, uint8_t *type, int to) -{ - read_inquiry_scan_type_rp rp; - struct hci_request rq; - - memset(&rq, 0, sizeof(rq)); - rq.ogf = OGF_HOST_CTL; - rq.ocf = OCF_READ_INQUIRY_SCAN_TYPE; - rq.rparam = &rp; - rq.rlen = READ_INQUIRY_SCAN_TYPE_RP_SIZE; - - if (hci_send_req(dd, &rq, to) < 0) - return -1; - - if (rp.status) { - errno = EIO; - return -1; - } - - *type = rp.type; - return 0; -} - -int hci_write_inquiry_scan_type(int dd, uint8_t type, int to) -{ - write_inquiry_scan_type_cp cp; - write_inquiry_scan_type_rp rp; - struct hci_request rq; - - memset(&cp, 0, sizeof(cp)); - cp.type = type; - - memset(&rq, 0, sizeof(rq)); - rq.ogf = OGF_HOST_CTL; - rq.ocf = OCF_WRITE_INQUIRY_SCAN_TYPE; - rq.cparam = &cp; - rq.clen = WRITE_INQUIRY_SCAN_TYPE_CP_SIZE; - rq.rparam = &rp; - rq.rlen = WRITE_INQUIRY_SCAN_TYPE_RP_SIZE; - - if (hci_send_req(dd, &rq, to) < 0) - return -1; - - if (rp.status) { - errno = EIO; - return -1; - } - - return 0; -} - -int hci_read_inquiry_mode(int dd, uint8_t *mode, int to) -{ - read_inquiry_mode_rp rp; - struct hci_request rq; - - memset(&rq, 0, sizeof(rq)); - rq.ogf = OGF_HOST_CTL; - rq.ocf = OCF_READ_INQUIRY_MODE; - rq.rparam = &rp; - rq.rlen = READ_INQUIRY_MODE_RP_SIZE; - - if (hci_send_req(dd, &rq, to) < 0) - return -1; - - if (rp.status) { - errno = EIO; - return -1; - } - - *mode = rp.mode; - return 0; -} - -int hci_write_inquiry_mode(int dd, uint8_t mode, int to) -{ - write_inquiry_mode_cp cp; - write_inquiry_mode_rp rp; - struct hci_request rq; - - memset(&cp, 0, sizeof(cp)); - cp.mode = mode; - - memset(&rq, 0, sizeof(rq)); - rq.ogf = OGF_HOST_CTL; - rq.ocf = OCF_WRITE_INQUIRY_MODE; - rq.cparam = &cp; - rq.clen = WRITE_INQUIRY_MODE_CP_SIZE; - rq.rparam = &rp; - rq.rlen = WRITE_INQUIRY_MODE_RP_SIZE; - - if (hci_send_req(dd, &rq, to) < 0) - return -1; - - if (rp.status) { - errno = EIO; - return -1; - } - - return 0; -} - -int hci_read_afh_mode(int dd, uint8_t *mode, int to) -{ - read_afh_mode_rp rp; - struct hci_request rq; - - memset(&rq, 0, sizeof(rq)); - rq.ogf = OGF_HOST_CTL; - rq.ocf = OCF_READ_AFH_MODE; - rq.rparam = &rp; - rq.rlen = READ_AFH_MODE_RP_SIZE; - - if (hci_send_req(dd, &rq, to) < 0) - return -1; - - if (rp.status) { - errno = EIO; - return -1; - } - - *mode = rp.mode; - return 0; -} - -int hci_write_afh_mode(int dd, uint8_t mode, int to) -{ - write_afh_mode_cp cp; - write_afh_mode_rp rp; - struct hci_request rq; - - memset(&cp, 0, sizeof(cp)); - cp.mode = mode; - - memset(&rq, 0, sizeof(rq)); - rq.ogf = OGF_HOST_CTL; - rq.ocf = OCF_WRITE_AFH_MODE; - rq.cparam = &cp; - rq.clen = WRITE_AFH_MODE_CP_SIZE; - rq.rparam = &rp; - rq.rlen = WRITE_AFH_MODE_RP_SIZE; - - if (hci_send_req(dd, &rq, to) < 0) - return -1; - - if (rp.status) { - errno = EIO; - return -1; - } - - return 0; -} - -int hci_read_ext_inquiry_response(int dd, uint8_t *fec, uint8_t *data, int to) -{ - read_ext_inquiry_response_rp rp; - struct hci_request rq; - - memset(&rq, 0, sizeof(rq)); - rq.ogf = OGF_HOST_CTL; - rq.ocf = OCF_READ_EXT_INQUIRY_RESPONSE; - rq.rparam = &rp; - rq.rlen = READ_EXT_INQUIRY_RESPONSE_RP_SIZE; - - if (hci_send_req(dd, &rq, to) < 0) - return -1; - - if (rp.status) { - errno = EIO; - return -1; - } - - *fec = rp.fec; - memcpy(data, rp.data, HCI_MAX_EIR_LENGTH); - - return 0; -} - -int hci_write_ext_inquiry_response(int dd, uint8_t fec, uint8_t *data, int to) -{ - write_ext_inquiry_response_cp cp; - write_ext_inquiry_response_rp rp; - struct hci_request rq; - - memset(&cp, 0, sizeof(cp)); - cp.fec = fec; - memcpy(cp.data, data, HCI_MAX_EIR_LENGTH); - - memset(&rq, 0, sizeof(rq)); - rq.ogf = OGF_HOST_CTL; - rq.ocf = OCF_WRITE_EXT_INQUIRY_RESPONSE; - rq.cparam = &cp; - rq.clen = WRITE_EXT_INQUIRY_RESPONSE_CP_SIZE; - rq.rparam = &rp; - rq.rlen = WRITE_EXT_INQUIRY_RESPONSE_RP_SIZE; - - if (hci_send_req(dd, &rq, to) < 0) - return -1; - - if (rp.status) { - errno = EIO; - return -1; - } - - return 0; -} - -int hci_read_simple_pairing_mode(int dd, uint8_t *mode, int to) -{ - read_simple_pairing_mode_rp rp; - struct hci_request rq; - - memset(&rq, 0, sizeof(rq)); - rq.ogf = OGF_HOST_CTL; - rq.ocf = OCF_READ_SIMPLE_PAIRING_MODE; - rq.rparam = &rp; - rq.rlen = READ_SIMPLE_PAIRING_MODE_RP_SIZE; - - if (hci_send_req(dd, &rq, to) < 0) - return -1; - - if (rp.status) { - errno = EIO; - return -1; - } - - *mode = rp.mode; - return 0; -} - -int hci_write_simple_pairing_mode(int dd, uint8_t mode, int to) -{ - write_simple_pairing_mode_cp cp; - write_simple_pairing_mode_rp rp; - struct hci_request rq; - - memset(&cp, 0, sizeof(cp)); - cp.mode = mode; - - memset(&rq, 0, sizeof(rq)); - rq.ogf = OGF_HOST_CTL; - rq.ocf = OCF_WRITE_SIMPLE_PAIRING_MODE; - rq.cparam = &cp; - rq.clen = WRITE_SIMPLE_PAIRING_MODE_CP_SIZE; - rq.rparam = &rp; - rq.rlen = WRITE_SIMPLE_PAIRING_MODE_RP_SIZE; - - if (hci_send_req(dd, &rq, to) < 0) - return -1; - - if (rp.status) { - errno = EIO; - return -1; - } - - return 0; -} - -int hci_read_local_oob_data(int dd, uint8_t *hash, uint8_t *randomizer, int to) -{ - read_local_oob_data_rp rp; - struct hci_request rq; - - memset(&rq, 0, sizeof(rq)); - rq.ogf = OGF_HOST_CTL; - rq.ocf = OCF_READ_LOCAL_OOB_DATA; - rq.rparam = &rp; - rq.rlen = READ_LOCAL_OOB_DATA_RP_SIZE; - - if (hci_send_req(dd, &rq, to) < 0) - return -1; - - if (rp.status) { - errno = EIO; - return -1; - } - - memcpy(hash, rp.hash, 16); - memcpy(randomizer, rp.randomizer, 16); - return 0; -} - -int hci_read_inq_response_tx_power_level(int dd, int8_t *level, int to) -{ - read_inq_response_tx_power_level_rp rp; - struct hci_request rq; - - memset(&rq, 0, sizeof(rq)); - rq.ogf = OGF_HOST_CTL; - rq.ocf = OCF_READ_INQ_RESPONSE_TX_POWER_LEVEL; - rq.rparam = &rp; - rq.rlen = READ_INQ_RESPONSE_TX_POWER_LEVEL_RP_SIZE; - - if (hci_send_req(dd, &rq, to) < 0) - return -1; - - if (rp.status) { - errno = EIO; - return -1; - } - - *level = rp.level; - return 0; -} - -int hci_read_inquiry_transmit_power_level(int dd, int8_t *level, int to) -{ - return hci_read_inq_response_tx_power_level(dd, level, to); -} - -int hci_write_inquiry_transmit_power_level(int dd, int8_t level, int to) -{ - write_inquiry_transmit_power_level_cp cp; - write_inquiry_transmit_power_level_rp rp; - struct hci_request rq; - - memset(&cp, 0, sizeof(cp)); - cp.level = level; - - memset(&rq, 0, sizeof(rq)); - rq.ogf = OGF_HOST_CTL; - rq.ocf = OCF_WRITE_INQUIRY_TRANSMIT_POWER_LEVEL; - rq.cparam = &cp; - rq.clen = WRITE_INQUIRY_TRANSMIT_POWER_LEVEL_CP_SIZE; - rq.rparam = &rp; - rq.rlen = WRITE_INQUIRY_TRANSMIT_POWER_LEVEL_RP_SIZE; - - if (hci_send_req(dd, &rq, to) < 0) - return -1; - - if (rp.status) { - errno = EIO; - return -1; - } - - return 0; -} - -int hci_read_transmit_power_level(int dd, uint16_t handle, uint8_t type, - int8_t *level, int to) -{ - read_transmit_power_level_cp cp; - read_transmit_power_level_rp rp; - struct hci_request rq; - - memset(&cp, 0, sizeof(cp)); - cp.handle = handle; - cp.type = type; - - memset(&rq, 0, sizeof(rq)); - rq.ogf = OGF_HOST_CTL; - rq.ocf = OCF_READ_TRANSMIT_POWER_LEVEL; - rq.cparam = &cp; - rq.clen = READ_TRANSMIT_POWER_LEVEL_CP_SIZE; - rq.rparam = &rp; - rq.rlen = READ_TRANSMIT_POWER_LEVEL_RP_SIZE; - - if (hci_send_req(dd, &rq, to) < 0) - return -1; - - if (rp.status) { - errno = EIO; - return -1; - } - - *level = rp.level; - return 0; -} - -int hci_read_link_policy(int dd, uint16_t handle, uint16_t *policy, int to) -{ - read_link_policy_rp rp; - struct hci_request rq; - - memset(&rq, 0, sizeof(rq)); - rq.ogf = OGF_LINK_POLICY; - rq.ocf = OCF_READ_LINK_POLICY; - rq.cparam = &handle; - rq.clen = 2; - rq.rparam = &rp; - rq.rlen = READ_LINK_POLICY_RP_SIZE; - - if (hci_send_req(dd, &rq, to) < 0) - return -1; - - if (rp.status) { - errno = EIO; - return -1; - } - - *policy = rp.policy; - return 0; -} - -int hci_write_link_policy(int dd, uint16_t handle, uint16_t policy, int to) -{ - write_link_policy_cp cp; - write_link_policy_rp rp; - struct hci_request rq; - - memset(&cp, 0, sizeof(cp)); - cp.handle = handle; - cp.policy = policy; - - memset(&rq, 0, sizeof(rq)); - rq.ogf = OGF_LINK_POLICY; - rq.ocf = OCF_WRITE_LINK_POLICY; - rq.cparam = &cp; - rq.clen = WRITE_LINK_POLICY_CP_SIZE; - rq.rparam = &rp; - rq.rlen = WRITE_LINK_POLICY_RP_SIZE; - - if (hci_send_req(dd, &rq, to) < 0) - return -1; - - if (rp.status) { - errno = EIO; - return -1; - } - - return 0; -} - -int hci_read_link_supervision_timeout(int dd, uint16_t handle, - uint16_t *timeout, int to) -{ - read_link_supervision_timeout_rp rp; - struct hci_request rq; - - memset(&rq, 0, sizeof(rq)); - rq.ogf = OGF_HOST_CTL; - rq.ocf = OCF_READ_LINK_SUPERVISION_TIMEOUT; - rq.cparam = &handle; - rq.clen = 2; - rq.rparam = &rp; - rq.rlen = READ_LINK_SUPERVISION_TIMEOUT_RP_SIZE; - - if (hci_send_req(dd, &rq, to) < 0) - return -1; - - if (rp.status) { - errno = EIO; - return -1; - } - - *timeout = rp.timeout; - return 0; -} - -int hci_write_link_supervision_timeout(int dd, uint16_t handle, - uint16_t timeout, int to) -{ - write_link_supervision_timeout_cp cp; - write_link_supervision_timeout_rp rp; - struct hci_request rq; - - memset(&cp, 0, sizeof(cp)); - cp.handle = handle; - cp.timeout = timeout; - - memset(&rq, 0, sizeof(rq)); - rq.ogf = OGF_HOST_CTL; - rq.ocf = OCF_WRITE_LINK_SUPERVISION_TIMEOUT; - rq.cparam = &cp; - rq.clen = WRITE_LINK_SUPERVISION_TIMEOUT_CP_SIZE; - rq.rparam = &rp; - rq.rlen = WRITE_LINK_SUPERVISION_TIMEOUT_RP_SIZE; - - if (hci_send_req(dd, &rq, to) < 0) - return -1; - - if (rp.status) { - errno = EIO; - return -1; - } - - return 0; -} - -int hci_set_afh_classification(int dd, uint8_t *map, int to) -{ - set_afh_classification_cp cp; - set_afh_classification_rp rp; - struct hci_request rq; - - memset(&cp, 0, sizeof(cp)); - memcpy(cp.map, map, 10); - - memset(&rq, 0, sizeof(rq)); - rq.ogf = OGF_HOST_CTL; - rq.ocf = OCF_SET_AFH_CLASSIFICATION; - rq.cparam = &cp; - rq.clen = SET_AFH_CLASSIFICATION_CP_SIZE; - rq.rparam = &rp; - rq.rlen = SET_AFH_CLASSIFICATION_RP_SIZE; - - if (hci_send_req(dd, &rq, to) < 0) - return -1; - - if (rp.status) { - errno = EIO; - return -1; - } - - return 0; -} - -int hci_read_link_quality(int dd, uint16_t handle, uint8_t *link_quality, - int to) -{ - read_link_quality_rp rp; - struct hci_request rq; - - memset(&rq, 0, sizeof(rq)); - rq.ogf = OGF_STATUS_PARAM; - rq.ocf = OCF_READ_LINK_QUALITY; - rq.cparam = &handle; - rq.clen = 2; - rq.rparam = &rp; - rq.rlen = READ_LINK_QUALITY_RP_SIZE; - - if (hci_send_req(dd, &rq, to) < 0) - return -1; - - if (rp.status) { - errno = EIO; - return -1; - } - - *link_quality = rp.link_quality; - return 0; -} - -int hci_read_rssi(int dd, uint16_t handle, int8_t *rssi, int to) -{ - read_rssi_rp rp; - struct hci_request rq; - - memset(&rq, 0, sizeof(rq)); - rq.ogf = OGF_STATUS_PARAM; - rq.ocf = OCF_READ_RSSI; - rq.cparam = &handle; - rq.clen = 2; - rq.rparam = &rp; - rq.rlen = READ_RSSI_RP_SIZE; - - if (hci_send_req(dd, &rq, to) < 0) - return -1; - - if (rp.status) { - errno = EIO; - return -1; - } - - *rssi = rp.rssi; - return 0; -} - -int hci_read_afh_map(int dd, uint16_t handle, uint8_t *mode, uint8_t *map, - int to) -{ - read_afh_map_rp rp; - struct hci_request rq; - - memset(&rq, 0, sizeof(rq)); - rq.ogf = OGF_STATUS_PARAM; - rq.ocf = OCF_READ_AFH_MAP; - rq.cparam = &handle; - rq.clen = 2; - rq.rparam = &rp; - rq.rlen = READ_AFH_MAP_RP_SIZE; - - if (hci_send_req(dd, &rq, to) < 0) - return -1; - - if (rp.status) { - errno = EIO; - return -1; - } - - *mode = rp.mode; - memcpy(map, rp.map, 10); - return 0; -} - -int hci_read_clock(int dd, uint16_t handle, uint8_t which, uint32_t *clock, - uint16_t *accuracy, int to) -{ - read_clock_cp cp; - read_clock_rp rp; - struct hci_request rq; - - memset(&cp, 0, sizeof(cp)); - cp.handle = handle; - cp.which_clock = which; - - memset(&rq, 0, sizeof(rq)); - rq.ogf = OGF_STATUS_PARAM; - rq.ocf = OCF_READ_CLOCK; - rq.cparam = &cp; - rq.clen = READ_CLOCK_CP_SIZE; - rq.rparam = &rp; - rq.rlen = READ_CLOCK_RP_SIZE; - - if (hci_send_req(dd, &rq, to) < 0) - return -1; - - if (rp.status) { - errno = EIO; - return -1; - } - - *clock = rp.clock; - *accuracy = rp.accuracy; - return 0; -} - -int hci_le_set_scan_enable(int dd, uint8_t enable, uint8_t filter_dup, int to) -{ - struct hci_request rq; - le_set_scan_enable_cp scan_cp; - uint8_t status; - - memset(&scan_cp, 0, sizeof(scan_cp)); - scan_cp.enable = enable; - scan_cp.filter_dup = filter_dup; - - memset(&rq, 0, sizeof(rq)); - rq.ogf = OGF_LE_CTL; - rq.ocf = OCF_LE_SET_SCAN_ENABLE; - rq.cparam = &scan_cp; - rq.clen = LE_SET_SCAN_ENABLE_CP_SIZE; - rq.rparam = &status; - rq.rlen = 1; - - if (hci_send_req(dd, &rq, to) < 0) - return -1; - - if (status) { - errno = EIO; - return -1; - } - - return 0; -} - -int hci_le_set_scan_parameters(int dd, uint8_t type, - uint16_t interval, uint16_t window, - uint8_t own_type, uint8_t filter, int to) -{ - struct hci_request rq; - le_set_scan_parameters_cp param_cp; - uint8_t status; - - memset(¶m_cp, 0, sizeof(param_cp)); - param_cp.type = type; - param_cp.interval = interval; - param_cp.window = window; - param_cp.own_bdaddr_type = own_type; - param_cp.filter = filter; - - memset(&rq, 0, sizeof(rq)); - rq.ogf = OGF_LE_CTL; - rq.ocf = OCF_LE_SET_SCAN_PARAMETERS; - rq.cparam = ¶m_cp; - rq.clen = LE_SET_SCAN_PARAMETERS_CP_SIZE; - rq.rparam = &status; - rq.rlen = 1; - - if (hci_send_req(dd, &rq, to) < 0) - return -1; - - if (status) { - errno = EIO; - return -1; - } - - return 0; -} - -int hci_le_set_advertise_enable(int dd, uint8_t enable, int to) -{ - struct hci_request rq; - le_set_advertise_enable_cp adv_cp; - uint8_t status; - - memset(&adv_cp, 0, sizeof(adv_cp)); - adv_cp.enable = enable; - - memset(&rq, 0, sizeof(rq)); - rq.ogf = OGF_LE_CTL; - rq.ocf = OCF_LE_SET_ADVERTISE_ENABLE; - rq.cparam = &adv_cp; - rq.clen = LE_SET_ADVERTISE_ENABLE_CP_SIZE; - rq.rparam = &status; - rq.rlen = 1; - - if (hci_send_req(dd, &rq, to) < 0) - return -1; - - if (status) { - errno = EIO; - return -1; - } - - return 0; -} - -int hci_le_create_conn(int dd, uint16_t interval, uint16_t window, - uint8_t initiator_filter, uint8_t peer_bdaddr_type, - bdaddr_t peer_bdaddr, uint8_t own_bdaddr_type, - uint16_t min_interval, uint16_t max_interval, - uint16_t latency, uint16_t supervision_timeout, - uint16_t min_ce_length, uint16_t max_ce_length, - uint16_t *handle, int to) -{ - struct hci_request rq; - le_create_connection_cp create_conn_cp; - evt_le_connection_complete conn_complete_rp; - - memset(&create_conn_cp, 0, sizeof(create_conn_cp)); - create_conn_cp.interval = interval; - create_conn_cp.window = window; - create_conn_cp.initiator_filter = initiator_filter; - create_conn_cp.peer_bdaddr_type = peer_bdaddr_type; - create_conn_cp.peer_bdaddr = peer_bdaddr; - create_conn_cp.own_bdaddr_type = own_bdaddr_type; - create_conn_cp.min_interval = min_interval; - create_conn_cp.max_interval = max_interval; - create_conn_cp.latency = latency; - create_conn_cp.supervision_timeout = supervision_timeout; - create_conn_cp.min_ce_length = min_ce_length; - create_conn_cp.max_ce_length = max_ce_length; - - memset(&rq, 0, sizeof(rq)); - rq.ogf = OGF_LE_CTL; - rq.ocf = OCF_LE_CREATE_CONN; - rq.event = EVT_LE_CONN_COMPLETE; - rq.cparam = &create_conn_cp; - rq.clen = LE_CREATE_CONN_CP_SIZE; - rq.rparam = &conn_complete_rp; - rq.rlen = EVT_CONN_COMPLETE_SIZE; - - if (hci_send_req(dd, &rq, to) < 0) - return -1; - - if (conn_complete_rp.status) { - errno = EIO; - return -1; - } - - if (handle) - *handle = conn_complete_rp.handle; - - return 0; -} - -int hci_le_conn_update(int dd, uint16_t handle, uint16_t min_interval, - uint16_t max_interval, uint16_t latency, - uint16_t supervision_timeout, int to) -{ - evt_le_connection_update_complete evt; - le_connection_update_cp cp; - struct hci_request rq; - - memset(&cp, 0, sizeof(cp)); - cp.handle = handle; - cp.min_interval = min_interval; - cp.max_interval = max_interval; - cp.latency = latency; - cp.supervision_timeout = supervision_timeout; - cp.min_ce_length = htobs(0x0001); - cp.max_ce_length = htobs(0x0001); - - memset(&rq, 0, sizeof(rq)); - rq.ogf = OGF_LE_CTL; - rq.ocf = OCF_LE_CONN_UPDATE; - rq.cparam = &cp; - rq.clen = LE_CONN_UPDATE_CP_SIZE; - rq.event = EVT_LE_CONN_UPDATE_COMPLETE; - rq.rparam = &evt; - rq.rlen = sizeof(evt); - - if (hci_send_req(dd, &rq, to) < 0) - return -1; - - if (evt.status) { - errno = EIO; - return -1; - } - - return 0; -} diff --git a/GRIB_BLE_HUB/libs/ble_extend/lib/hci.h b/GRIB_BLE_HUB/libs/ble_extend/lib/hci.h deleted file mode 100644 index 56c9316..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/lib/hci.h +++ /dev/null @@ -1,2410 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2000-2001 Qualcomm Incorporated - * Copyright (C) 2002-2003 Maxim Krasnyansky - * Copyright (C) 2002-2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifndef __HCI_H -#define __HCI_H - -#ifdef __cplusplus -extern "C" { -#endif - -#include - -#define HCI_MAX_DEV 16 - -#define HCI_MAX_ACL_SIZE (1492 + 4) -#define HCI_MAX_SCO_SIZE 255 -#define HCI_MAX_EVENT_SIZE 260 -#define HCI_MAX_FRAME_SIZE (HCI_MAX_ACL_SIZE + 4) - -/* HCI dev events */ -#define HCI_DEV_REG 1 -#define HCI_DEV_UNREG 2 -#define HCI_DEV_UP 3 -#define HCI_DEV_DOWN 4 -#define HCI_DEV_SUSPEND 5 -#define HCI_DEV_RESUME 6 - -/* HCI bus types */ -#define HCI_VIRTUAL 0 -#define HCI_USB 1 -#define HCI_PCCARD 2 -#define HCI_UART 3 -#define HCI_RS232 4 -#define HCI_PCI 5 -#define HCI_SDIO 6 - -/* HCI controller types */ -#define HCI_BREDR 0x00 -#define HCI_AMP 0x01 - -/* HCI device flags */ -enum { - HCI_UP, - HCI_INIT, - HCI_RUNNING, - - HCI_PSCAN, - HCI_ISCAN, - HCI_AUTH, - HCI_ENCRYPT, - HCI_INQUIRY, - - HCI_RAW, -}; - -/* LE address type */ -enum { - LE_PUBLIC_ADDRESS = 0x00, - LE_RANDOM_ADDRESS = 0x01 -}; - -/* HCI ioctl defines */ -#define HCIDEVUP _IOW('H', 201, int) -#define HCIDEVDOWN _IOW('H', 202, int) -#define HCIDEVRESET _IOW('H', 203, int) -#define HCIDEVRESTAT _IOW('H', 204, int) - -#define HCIGETDEVLIST _IOR('H', 210, int) -#define HCIGETDEVINFO _IOR('H', 211, int) -#define HCIGETCONNLIST _IOR('H', 212, int) -#define HCIGETCONNINFO _IOR('H', 213, int) -#define HCIGETAUTHINFO _IOR('H', 215, int) - -#define HCISETRAW _IOW('H', 220, int) -#define HCISETSCAN _IOW('H', 221, int) -#define HCISETAUTH _IOW('H', 222, int) -#define HCISETENCRYPT _IOW('H', 223, int) -#define HCISETPTYPE _IOW('H', 224, int) -#define HCISETLINKPOL _IOW('H', 225, int) -#define HCISETLINKMODE _IOW('H', 226, int) -#define HCISETACLMTU _IOW('H', 227, int) -#define HCISETSCOMTU _IOW('H', 228, int) - -#define HCIBLOCKADDR _IOW('H', 230, int) -#define HCIUNBLOCKADDR _IOW('H', 231, int) - -#define HCIINQUIRY _IOR('H', 240, int) - -#ifndef __NO_HCI_DEFS - -/* HCI Packet types */ -#define HCI_COMMAND_PKT 0x01 -#define HCI_ACLDATA_PKT 0x02 -#define HCI_SCODATA_PKT 0x03 -#define HCI_EVENT_PKT 0x04 -#define HCI_VENDOR_PKT 0xff - -/* HCI Packet types */ -#define HCI_2DH1 0x0002 -#define HCI_3DH1 0x0004 -#define HCI_DM1 0x0008 -#define HCI_DH1 0x0010 -#define HCI_2DH3 0x0100 -#define HCI_3DH3 0x0200 -#define HCI_DM3 0x0400 -#define HCI_DH3 0x0800 -#define HCI_2DH5 0x1000 -#define HCI_3DH5 0x2000 -#define HCI_DM5 0x4000 -#define HCI_DH5 0x8000 - -#define HCI_HV1 0x0020 -#define HCI_HV2 0x0040 -#define HCI_HV3 0x0080 - -#define HCI_EV3 0x0008 -#define HCI_EV4 0x0010 -#define HCI_EV5 0x0020 -#define HCI_2EV3 0x0040 -#define HCI_3EV3 0x0080 -#define HCI_2EV5 0x0100 -#define HCI_3EV5 0x0200 - -#define SCO_PTYPE_MASK (HCI_HV1 | HCI_HV2 | HCI_HV3) -#define ACL_PTYPE_MASK (HCI_DM1 | HCI_DH1 | HCI_DM3 | HCI_DH3 | HCI_DM5 | HCI_DH5) - -/* HCI Error codes */ -#define HCI_UNKNOWN_COMMAND 0x01 -#define HCI_NO_CONNECTION 0x02 -#define HCI_HARDWARE_FAILURE 0x03 -#define HCI_PAGE_TIMEOUT 0x04 -#define HCI_AUTHENTICATION_FAILURE 0x05 -#define HCI_PIN_OR_KEY_MISSING 0x06 -#define HCI_MEMORY_FULL 0x07 -#define HCI_CONNECTION_TIMEOUT 0x08 -#define HCI_MAX_NUMBER_OF_CONNECTIONS 0x09 -#define HCI_MAX_NUMBER_OF_SCO_CONNECTIONS 0x0a -#define HCI_ACL_CONNECTION_EXISTS 0x0b -#define HCI_COMMAND_DISALLOWED 0x0c -#define HCI_REJECTED_LIMITED_RESOURCES 0x0d -#define HCI_REJECTED_SECURITY 0x0e -#define HCI_REJECTED_PERSONAL 0x0f -#define HCI_HOST_TIMEOUT 0x10 -#define HCI_UNSUPPORTED_FEATURE 0x11 -#define HCI_INVALID_PARAMETERS 0x12 -#define HCI_OE_USER_ENDED_CONNECTION 0x13 -#define HCI_OE_LOW_RESOURCES 0x14 -#define HCI_OE_POWER_OFF 0x15 -#define HCI_CONNECTION_TERMINATED 0x16 -#define HCI_REPEATED_ATTEMPTS 0x17 -#define HCI_PAIRING_NOT_ALLOWED 0x18 -#define HCI_UNKNOWN_LMP_PDU 0x19 -#define HCI_UNSUPPORTED_REMOTE_FEATURE 0x1a -#define HCI_SCO_OFFSET_REJECTED 0x1b -#define HCI_SCO_INTERVAL_REJECTED 0x1c -#define HCI_AIR_MODE_REJECTED 0x1d -#define HCI_INVALID_LMP_PARAMETERS 0x1e -#define HCI_UNSPECIFIED_ERROR 0x1f -#define HCI_UNSUPPORTED_LMP_PARAMETER_VALUE 0x20 -#define HCI_ROLE_CHANGE_NOT_ALLOWED 0x21 -#define HCI_LMP_RESPONSE_TIMEOUT 0x22 -#define HCI_LMP_ERROR_TRANSACTION_COLLISION 0x23 -#define HCI_LMP_PDU_NOT_ALLOWED 0x24 -#define HCI_ENCRYPTION_MODE_NOT_ACCEPTED 0x25 -#define HCI_UNIT_LINK_KEY_USED 0x26 -#define HCI_QOS_NOT_SUPPORTED 0x27 -#define HCI_INSTANT_PASSED 0x28 -#define HCI_PAIRING_NOT_SUPPORTED 0x29 -#define HCI_TRANSACTION_COLLISION 0x2a -#define HCI_QOS_UNACCEPTABLE_PARAMETER 0x2c -#define HCI_QOS_REJECTED 0x2d -#define HCI_CLASSIFICATION_NOT_SUPPORTED 0x2e -#define HCI_INSUFFICIENT_SECURITY 0x2f -#define HCI_PARAMETER_OUT_OF_RANGE 0x30 -#define HCI_ROLE_SWITCH_PENDING 0x32 -#define HCI_SLOT_VIOLATION 0x34 -#define HCI_ROLE_SWITCH_FAILED 0x35 -#define HCI_EIR_TOO_LARGE 0x36 -#define HCI_SIMPLE_PAIRING_NOT_SUPPORTED 0x37 -#define HCI_HOST_BUSY_PAIRING 0x38 - -/* ACL flags */ -#define ACL_START_NO_FLUSH 0x00 -#define ACL_CONT 0x01 -#define ACL_START 0x02 -#define ACL_ACTIVE_BCAST 0x04 -#define ACL_PICO_BCAST 0x08 - -/* Baseband links */ -#define SCO_LINK 0x00 -#define ACL_LINK 0x01 -#define ESCO_LINK 0x02 - -/* LMP features */ -#define LMP_3SLOT 0x01 -#define LMP_5SLOT 0x02 -#define LMP_ENCRYPT 0x04 -#define LMP_SOFFSET 0x08 -#define LMP_TACCURACY 0x10 -#define LMP_RSWITCH 0x20 -#define LMP_HOLD 0x40 -#define LMP_SNIFF 0x80 - -#define LMP_PARK 0x01 -#define LMP_RSSI 0x02 -#define LMP_QUALITY 0x04 -#define LMP_SCO 0x08 -#define LMP_HV2 0x10 -#define LMP_HV3 0x20 -#define LMP_ULAW 0x40 -#define LMP_ALAW 0x80 - -#define LMP_CVSD 0x01 -#define LMP_PSCHEME 0x02 -#define LMP_PCONTROL 0x04 -#define LMP_TRSP_SCO 0x08 -#define LMP_BCAST_ENC 0x80 - -#define LMP_EDR_ACL_2M 0x02 -#define LMP_EDR_ACL_3M 0x04 -#define LMP_ENH_ISCAN 0x08 -#define LMP_ILACE_ISCAN 0x10 -#define LMP_ILACE_PSCAN 0x20 -#define LMP_RSSI_INQ 0x40 -#define LMP_ESCO 0x80 - -#define LMP_EV4 0x01 -#define LMP_EV5 0x02 -#define LMP_AFH_CAP_SLV 0x08 -#define LMP_AFH_CLS_SLV 0x10 -#define LMP_NO_BREDR 0x20 -#define LMP_LE 0x40 -#define LMP_EDR_3SLOT 0x80 - -#define LMP_EDR_5SLOT 0x01 -#define LMP_SNIFF_SUBR 0x02 -#define LMP_PAUSE_ENC 0x04 -#define LMP_AFH_CAP_MST 0x08 -#define LMP_AFH_CLS_MST 0x10 -#define LMP_EDR_ESCO_2M 0x20 -#define LMP_EDR_ESCO_3M 0x40 -#define LMP_EDR_3S_ESCO 0x80 - -#define LMP_EXT_INQ 0x01 -#define LMP_LE_BREDR 0x02 -#define LMP_SIMPLE_PAIR 0x08 -#define LMP_ENCAPS_PDU 0x10 -#define LMP_ERR_DAT_REP 0x20 -#define LMP_NFLUSH_PKTS 0x40 - -#define LMP_LSTO 0x01 -#define LMP_INQ_TX_PWR 0x02 -#define LMP_EPC 0x04 -#define LMP_EXT_FEAT 0x80 - -/* Extended LMP features */ -#define LMP_HOST_SSP 0x01 -#define LMP_HOST_LE 0x02 -#define LMP_HOST_LE_BREDR 0x04 - -/* Link policies */ -#define HCI_LP_RSWITCH 0x0001 -#define HCI_LP_HOLD 0x0002 -#define HCI_LP_SNIFF 0x0004 -#define HCI_LP_PARK 0x0008 - -/* Link mode */ -#define HCI_LM_ACCEPT 0x8000 -#define HCI_LM_MASTER 0x0001 -#define HCI_LM_AUTH 0x0002 -#define HCI_LM_ENCRYPT 0x0004 -#define HCI_LM_TRUSTED 0x0008 -#define HCI_LM_RELIABLE 0x0010 -#define HCI_LM_SECURE 0x0020 - -/* Link Key types */ -#define HCI_LK_COMBINATION 0x00 -#define HCI_LK_LOCAL_UNIT 0x01 -#define HCI_LK_REMOTE_UNIT 0x02 -#define HCI_LK_DEBUG_COMBINATION 0x03 -#define HCI_LK_UNAUTH_COMBINATION 0x04 -#define HCI_LK_AUTH_COMBINATION 0x05 -#define HCI_LK_CHANGED_COMBINATION 0x06 -#define HCI_LK_INVALID 0xFF - -/* ----- HCI Commands ----- */ - -/* Link Control */ -#define OGF_LINK_CTL 0x01 - -#define OCF_INQUIRY 0x0001 -typedef struct { - uint8_t lap[3]; - uint8_t length; /* 1.28s units */ - uint8_t num_rsp; -} __attribute__ ((packed)) inquiry_cp; -#define INQUIRY_CP_SIZE 5 - -typedef struct { - uint8_t status; - bdaddr_t bdaddr; -} __attribute__ ((packed)) status_bdaddr_rp; -#define STATUS_BDADDR_RP_SIZE 7 - -#define OCF_INQUIRY_CANCEL 0x0002 - -#define OCF_PERIODIC_INQUIRY 0x0003 -typedef struct { - uint16_t max_period; /* 1.28s units */ - uint16_t min_period; /* 1.28s units */ - uint8_t lap[3]; - uint8_t length; /* 1.28s units */ - uint8_t num_rsp; -} __attribute__ ((packed)) periodic_inquiry_cp; -#define PERIODIC_INQUIRY_CP_SIZE 9 - -#define OCF_EXIT_PERIODIC_INQUIRY 0x0004 - -#define OCF_CREATE_CONN 0x0005 -typedef struct { - bdaddr_t bdaddr; - uint16_t pkt_type; - uint8_t pscan_rep_mode; - uint8_t pscan_mode; - uint16_t clock_offset; - uint8_t role_switch; -} __attribute__ ((packed)) create_conn_cp; -#define CREATE_CONN_CP_SIZE 13 - -#define OCF_DISCONNECT 0x0006 -typedef struct { - uint16_t handle; - uint8_t reason; -} __attribute__ ((packed)) disconnect_cp; -#define DISCONNECT_CP_SIZE 3 - -#define OCF_ADD_SCO 0x0007 -typedef struct { - uint16_t handle; - uint16_t pkt_type; -} __attribute__ ((packed)) add_sco_cp; -#define ADD_SCO_CP_SIZE 4 - -#define OCF_CREATE_CONN_CANCEL 0x0008 -typedef struct { - bdaddr_t bdaddr; -} __attribute__ ((packed)) create_conn_cancel_cp; -#define CREATE_CONN_CANCEL_CP_SIZE 6 - -#define OCF_ACCEPT_CONN_REQ 0x0009 -typedef struct { - bdaddr_t bdaddr; - uint8_t role; -} __attribute__ ((packed)) accept_conn_req_cp; -#define ACCEPT_CONN_REQ_CP_SIZE 7 - -#define OCF_REJECT_CONN_REQ 0x000A -typedef struct { - bdaddr_t bdaddr; - uint8_t reason; -} __attribute__ ((packed)) reject_conn_req_cp; -#define REJECT_CONN_REQ_CP_SIZE 7 - -#define OCF_LINK_KEY_REPLY 0x000B -typedef struct { - bdaddr_t bdaddr; - uint8_t link_key[16]; -} __attribute__ ((packed)) link_key_reply_cp; -#define LINK_KEY_REPLY_CP_SIZE 22 - -#define OCF_LINK_KEY_NEG_REPLY 0x000C - -#define OCF_PIN_CODE_REPLY 0x000D -typedef struct { - bdaddr_t bdaddr; - uint8_t pin_len; - uint8_t pin_code[16]; -} __attribute__ ((packed)) pin_code_reply_cp; -#define PIN_CODE_REPLY_CP_SIZE 23 - -#define OCF_PIN_CODE_NEG_REPLY 0x000E - -#define OCF_SET_CONN_PTYPE 0x000F -typedef struct { - uint16_t handle; - uint16_t pkt_type; -} __attribute__ ((packed)) set_conn_ptype_cp; -#define SET_CONN_PTYPE_CP_SIZE 4 - -#define OCF_AUTH_REQUESTED 0x0011 -typedef struct { - uint16_t handle; -} __attribute__ ((packed)) auth_requested_cp; -#define AUTH_REQUESTED_CP_SIZE 2 - -#define OCF_SET_CONN_ENCRYPT 0x0013 -typedef struct { - uint16_t handle; - uint8_t encrypt; -} __attribute__ ((packed)) set_conn_encrypt_cp; -#define SET_CONN_ENCRYPT_CP_SIZE 3 - -#define OCF_CHANGE_CONN_LINK_KEY 0x0015 -typedef struct { - uint16_t handle; -} __attribute__ ((packed)) change_conn_link_key_cp; -#define CHANGE_CONN_LINK_KEY_CP_SIZE 2 - -#define OCF_MASTER_LINK_KEY 0x0017 -typedef struct { - uint8_t key_flag; -} __attribute__ ((packed)) master_link_key_cp; -#define MASTER_LINK_KEY_CP_SIZE 1 - -#define OCF_REMOTE_NAME_REQ 0x0019 -typedef struct { - bdaddr_t bdaddr; - uint8_t pscan_rep_mode; - uint8_t pscan_mode; - uint16_t clock_offset; -} __attribute__ ((packed)) remote_name_req_cp; -#define REMOTE_NAME_REQ_CP_SIZE 10 - -#define OCF_REMOTE_NAME_REQ_CANCEL 0x001A -typedef struct { - bdaddr_t bdaddr; -} __attribute__ ((packed)) remote_name_req_cancel_cp; -#define REMOTE_NAME_REQ_CANCEL_CP_SIZE 6 - -#define OCF_READ_REMOTE_FEATURES 0x001B -typedef struct { - uint16_t handle; -} __attribute__ ((packed)) read_remote_features_cp; -#define READ_REMOTE_FEATURES_CP_SIZE 2 - -#define OCF_READ_REMOTE_EXT_FEATURES 0x001C -typedef struct { - uint16_t handle; - uint8_t page_num; -} __attribute__ ((packed)) read_remote_ext_features_cp; -#define READ_REMOTE_EXT_FEATURES_CP_SIZE 3 - -#define OCF_READ_REMOTE_VERSION 0x001D -typedef struct { - uint16_t handle; -} __attribute__ ((packed)) read_remote_version_cp; -#define READ_REMOTE_VERSION_CP_SIZE 2 - -#define OCF_READ_CLOCK_OFFSET 0x001F -typedef struct { - uint16_t handle; -} __attribute__ ((packed)) read_clock_offset_cp; -#define READ_CLOCK_OFFSET_CP_SIZE 2 - -#define OCF_READ_LMP_HANDLE 0x0020 - -#define OCF_SETUP_SYNC_CONN 0x0028 -typedef struct { - uint16_t handle; - uint32_t tx_bandwith; - uint32_t rx_bandwith; - uint16_t max_latency; - uint16_t voice_setting; - uint8_t retrans_effort; - uint16_t pkt_type; -} __attribute__ ((packed)) setup_sync_conn_cp; -#define SETUP_SYNC_CONN_CP_SIZE 17 - -#define OCF_ACCEPT_SYNC_CONN_REQ 0x0029 -typedef struct { - bdaddr_t bdaddr; - uint32_t tx_bandwith; - uint32_t rx_bandwith; - uint16_t max_latency; - uint16_t voice_setting; - uint8_t retrans_effort; - uint16_t pkt_type; -} __attribute__ ((packed)) accept_sync_conn_req_cp; -#define ACCEPT_SYNC_CONN_REQ_CP_SIZE 21 - -#define OCF_REJECT_SYNC_CONN_REQ 0x002A -typedef struct { - bdaddr_t bdaddr; - uint8_t reason; -} __attribute__ ((packed)) reject_sync_conn_req_cp; -#define REJECT_SYNC_CONN_REQ_CP_SIZE 7 - -#define OCF_IO_CAPABILITY_REPLY 0x002B -typedef struct { - bdaddr_t bdaddr; - uint8_t capability; - uint8_t oob_data; - uint8_t authentication; -} __attribute__ ((packed)) io_capability_reply_cp; -#define IO_CAPABILITY_REPLY_CP_SIZE 9 - -#define OCF_USER_CONFIRM_REPLY 0x002C -typedef struct { - bdaddr_t bdaddr; -} __attribute__ ((packed)) user_confirm_reply_cp; -#define USER_CONFIRM_REPLY_CP_SIZE 6 - -#define OCF_USER_CONFIRM_NEG_REPLY 0x002D - -#define OCF_USER_PASSKEY_REPLY 0x002E -typedef struct { - bdaddr_t bdaddr; - uint32_t passkey; -} __attribute__ ((packed)) user_passkey_reply_cp; -#define USER_PASSKEY_REPLY_CP_SIZE 10 - -#define OCF_USER_PASSKEY_NEG_REPLY 0x002F - -#define OCF_REMOTE_OOB_DATA_REPLY 0x0030 -typedef struct { - bdaddr_t bdaddr; - uint8_t hash[16]; - uint8_t randomizer[16]; -} __attribute__ ((packed)) remote_oob_data_reply_cp; -#define REMOTE_OOB_DATA_REPLY_CP_SIZE 38 - -#define OCF_REMOTE_OOB_DATA_NEG_REPLY 0x0033 - -#define OCF_IO_CAPABILITY_NEG_REPLY 0x0034 -typedef struct { - bdaddr_t bdaddr; - uint8_t reason; -} __attribute__ ((packed)) io_capability_neg_reply_cp; -#define IO_CAPABILITY_NEG_REPLY_CP_SIZE 7 - -#define OCF_CREATE_PHYSICAL_LINK 0x0035 -typedef struct { - uint8_t handle; - uint8_t key_length; - uint8_t key_type; - uint8_t key[32]; -} __attribute__ ((packed)) create_physical_link_cp; -#define CREATE_PHYSICAL_LINK_CP_SIZE 35 - -#define OCF_ACCEPT_PHYSICAL_LINK 0x0036 - -#define OCF_DISCONNECT_PHYSICAL_LINK 0x0037 -typedef struct { - uint8_t handle; - uint8_t reason; -} __attribute__ ((packed)) disconnect_physical_link_cp; -#define DISCONNECT_PHYSICAL_LINK_CP_SIZE 2 - -#define OCF_CREATE_LOGICAL_LINK 0x0038 -typedef struct { - uint8_t handle; - uint8_t tx_flow[16]; - uint8_t rx_flow[16]; -} __attribute__ ((packed)) create_logical_link_cp; -#define CREATE_LOGICAL_LINK_CP_SIZE 33 - -#define OCF_ACCEPT_LOGICAL_LINK 0x0039 - -#define OCF_DISCONNECT_LOGICAL_LINK 0x003A -typedef struct { - uint16_t handle; -} __attribute__ ((packed)) disconnect_logical_link_cp; -#define DISCONNECT_LOGICAL_LINK_CP_SIZE 2 - -#define OCF_LOGICAL_LINK_CANCEL 0x003B -typedef struct { - uint8_t handle; - uint8_t tx_flow_id; -} __attribute__ ((packed)) cancel_logical_link_cp; -#define LOGICAL_LINK_CANCEL_CP_SIZE 2 -typedef struct { - uint8_t status; - uint8_t handle; - uint8_t tx_flow_id; -} __attribute__ ((packed)) cancel_logical_link_rp; -#define LOGICAL_LINK_CANCEL_RP_SIZE 3 - -#define OCF_FLOW_SPEC_MODIFY 0x003C - -/* Link Policy */ -#define OGF_LINK_POLICY 0x02 - -#define OCF_HOLD_MODE 0x0001 -typedef struct { - uint16_t handle; - uint16_t max_interval; - uint16_t min_interval; -} __attribute__ ((packed)) hold_mode_cp; -#define HOLD_MODE_CP_SIZE 6 - -#define OCF_SNIFF_MODE 0x0003 -typedef struct { - uint16_t handle; - uint16_t max_interval; - uint16_t min_interval; - uint16_t attempt; - uint16_t timeout; -} __attribute__ ((packed)) sniff_mode_cp; -#define SNIFF_MODE_CP_SIZE 10 - -#define OCF_EXIT_SNIFF_MODE 0x0004 -typedef struct { - uint16_t handle; -} __attribute__ ((packed)) exit_sniff_mode_cp; -#define EXIT_SNIFF_MODE_CP_SIZE 2 - -#define OCF_PARK_MODE 0x0005 -typedef struct { - uint16_t handle; - uint16_t max_interval; - uint16_t min_interval; -} __attribute__ ((packed)) park_mode_cp; -#define PARK_MODE_CP_SIZE 6 - -#define OCF_EXIT_PARK_MODE 0x0006 -typedef struct { - uint16_t handle; -} __attribute__ ((packed)) exit_park_mode_cp; -#define EXIT_PARK_MODE_CP_SIZE 2 - -#define OCF_QOS_SETUP 0x0007 -typedef struct { - uint8_t service_type; /* 1 = best effort */ - uint32_t token_rate; /* Byte per seconds */ - uint32_t peak_bandwidth; /* Byte per seconds */ - uint32_t latency; /* Microseconds */ - uint32_t delay_variation; /* Microseconds */ -} __attribute__ ((packed)) hci_qos; -#define HCI_QOS_CP_SIZE 17 -typedef struct { - uint16_t handle; - uint8_t flags; /* Reserved */ - hci_qos qos; -} __attribute__ ((packed)) qos_setup_cp; -#define QOS_SETUP_CP_SIZE (3 + HCI_QOS_CP_SIZE) - -#define OCF_ROLE_DISCOVERY 0x0009 -typedef struct { - uint16_t handle; -} __attribute__ ((packed)) role_discovery_cp; -#define ROLE_DISCOVERY_CP_SIZE 2 -typedef struct { - uint8_t status; - uint16_t handle; - uint8_t role; -} __attribute__ ((packed)) role_discovery_rp; -#define ROLE_DISCOVERY_RP_SIZE 4 - -#define OCF_SWITCH_ROLE 0x000B -typedef struct { - bdaddr_t bdaddr; - uint8_t role; -} __attribute__ ((packed)) switch_role_cp; -#define SWITCH_ROLE_CP_SIZE 7 - -#define OCF_READ_LINK_POLICY 0x000C -typedef struct { - uint16_t handle; -} __attribute__ ((packed)) read_link_policy_cp; -#define READ_LINK_POLICY_CP_SIZE 2 -typedef struct { - uint8_t status; - uint16_t handle; - uint16_t policy; -} __attribute__ ((packed)) read_link_policy_rp; -#define READ_LINK_POLICY_RP_SIZE 5 - -#define OCF_WRITE_LINK_POLICY 0x000D -typedef struct { - uint16_t handle; - uint16_t policy; -} __attribute__ ((packed)) write_link_policy_cp; -#define WRITE_LINK_POLICY_CP_SIZE 4 -typedef struct { - uint8_t status; - uint16_t handle; -} __attribute__ ((packed)) write_link_policy_rp; -#define WRITE_LINK_POLICY_RP_SIZE 3 - -#define OCF_READ_DEFAULT_LINK_POLICY 0x000E - -#define OCF_WRITE_DEFAULT_LINK_POLICY 0x000F - -#define OCF_FLOW_SPECIFICATION 0x0010 - -#define OCF_SNIFF_SUBRATING 0x0011 -typedef struct { - uint16_t handle; - uint16_t max_latency; - uint16_t min_remote_timeout; - uint16_t min_local_timeout; -} __attribute__ ((packed)) sniff_subrating_cp; -#define SNIFF_SUBRATING_CP_SIZE 8 - -/* Host Controller and Baseband */ -#define OGF_HOST_CTL 0x03 - -#define OCF_SET_EVENT_MASK 0x0001 -typedef struct { - uint8_t mask[8]; -} __attribute__ ((packed)) set_event_mask_cp; -#define SET_EVENT_MASK_CP_SIZE 8 - -#define OCF_RESET 0x0003 - -#define OCF_SET_EVENT_FLT 0x0005 -typedef struct { - uint8_t flt_type; - uint8_t cond_type; - uint8_t condition[0]; -} __attribute__ ((packed)) set_event_flt_cp; -#define SET_EVENT_FLT_CP_SIZE 2 - -/* Filter types */ -#define FLT_CLEAR_ALL 0x00 -#define FLT_INQ_RESULT 0x01 -#define FLT_CONN_SETUP 0x02 -/* INQ_RESULT Condition types */ -#define INQ_RESULT_RETURN_ALL 0x00 -#define INQ_RESULT_RETURN_CLASS 0x01 -#define INQ_RESULT_RETURN_BDADDR 0x02 -/* CONN_SETUP Condition types */ -#define CONN_SETUP_ALLOW_ALL 0x00 -#define CONN_SETUP_ALLOW_CLASS 0x01 -#define CONN_SETUP_ALLOW_BDADDR 0x02 -/* CONN_SETUP Conditions */ -#define CONN_SETUP_AUTO_OFF 0x01 -#define CONN_SETUP_AUTO_ON 0x02 - -#define OCF_FLUSH 0x0008 - -#define OCF_READ_PIN_TYPE 0x0009 -typedef struct { - uint8_t status; - uint8_t pin_type; -} __attribute__ ((packed)) read_pin_type_rp; -#define READ_PIN_TYPE_RP_SIZE 2 - -#define OCF_WRITE_PIN_TYPE 0x000A -typedef struct { - uint8_t pin_type; -} __attribute__ ((packed)) write_pin_type_cp; -#define WRITE_PIN_TYPE_CP_SIZE 1 - -#define OCF_CREATE_NEW_UNIT_KEY 0x000B - -#define OCF_READ_STORED_LINK_KEY 0x000D -typedef struct { - bdaddr_t bdaddr; - uint8_t read_all; -} __attribute__ ((packed)) read_stored_link_key_cp; -#define READ_STORED_LINK_KEY_CP_SIZE 7 -typedef struct { - uint8_t status; - uint16_t max_keys; - uint16_t num_keys; -} __attribute__ ((packed)) read_stored_link_key_rp; -#define READ_STORED_LINK_KEY_RP_SIZE 5 - -#define OCF_WRITE_STORED_LINK_KEY 0x0011 -typedef struct { - uint8_t num_keys; - /* variable length part */ -} __attribute__ ((packed)) write_stored_link_key_cp; -#define WRITE_STORED_LINK_KEY_CP_SIZE 1 -typedef struct { - uint8_t status; - uint8_t num_keys; -} __attribute__ ((packed)) write_stored_link_key_rp; -#define READ_WRITE_LINK_KEY_RP_SIZE 2 - -#define OCF_DELETE_STORED_LINK_KEY 0x0012 -typedef struct { - bdaddr_t bdaddr; - uint8_t delete_all; -} __attribute__ ((packed)) delete_stored_link_key_cp; -#define DELETE_STORED_LINK_KEY_CP_SIZE 7 -typedef struct { - uint8_t status; - uint16_t num_keys; -} __attribute__ ((packed)) delete_stored_link_key_rp; -#define DELETE_STORED_LINK_KEY_RP_SIZE 3 - -#define HCI_MAX_NAME_LENGTH 248 - -#define OCF_CHANGE_LOCAL_NAME 0x0013 -typedef struct { - uint8_t name[HCI_MAX_NAME_LENGTH]; -} __attribute__ ((packed)) change_local_name_cp; -#define CHANGE_LOCAL_NAME_CP_SIZE 248 - -#define OCF_READ_LOCAL_NAME 0x0014 -typedef struct { - uint8_t status; - uint8_t name[HCI_MAX_NAME_LENGTH]; -} __attribute__ ((packed)) read_local_name_rp; -#define READ_LOCAL_NAME_RP_SIZE 249 - -#define OCF_READ_CONN_ACCEPT_TIMEOUT 0x0015 -typedef struct { - uint8_t status; - uint16_t timeout; -} __attribute__ ((packed)) read_conn_accept_timeout_rp; -#define READ_CONN_ACCEPT_TIMEOUT_RP_SIZE 3 - -#define OCF_WRITE_CONN_ACCEPT_TIMEOUT 0x0016 -typedef struct { - uint16_t timeout; -} __attribute__ ((packed)) write_conn_accept_timeout_cp; -#define WRITE_CONN_ACCEPT_TIMEOUT_CP_SIZE 2 - -#define OCF_READ_PAGE_TIMEOUT 0x0017 -typedef struct { - uint8_t status; - uint16_t timeout; -} __attribute__ ((packed)) read_page_timeout_rp; -#define READ_PAGE_TIMEOUT_RP_SIZE 3 - -#define OCF_WRITE_PAGE_TIMEOUT 0x0018 -typedef struct { - uint16_t timeout; -} __attribute__ ((packed)) write_page_timeout_cp; -#define WRITE_PAGE_TIMEOUT_CP_SIZE 2 - -#define OCF_READ_SCAN_ENABLE 0x0019 -typedef struct { - uint8_t status; - uint8_t enable; -} __attribute__ ((packed)) read_scan_enable_rp; -#define READ_SCAN_ENABLE_RP_SIZE 2 - -#define OCF_WRITE_SCAN_ENABLE 0x001A - #define SCAN_DISABLED 0x00 - #define SCAN_INQUIRY 0x01 - #define SCAN_PAGE 0x02 - -#define OCF_READ_PAGE_ACTIVITY 0x001B -typedef struct { - uint8_t status; - uint16_t interval; - uint16_t window; -} __attribute__ ((packed)) read_page_activity_rp; -#define READ_PAGE_ACTIVITY_RP_SIZE 5 - -#define OCF_WRITE_PAGE_ACTIVITY 0x001C -typedef struct { - uint16_t interval; - uint16_t window; -} __attribute__ ((packed)) write_page_activity_cp; -#define WRITE_PAGE_ACTIVITY_CP_SIZE 4 - -#define OCF_READ_INQ_ACTIVITY 0x001D -typedef struct { - uint8_t status; - uint16_t interval; - uint16_t window; -} __attribute__ ((packed)) read_inq_activity_rp; -#define READ_INQ_ACTIVITY_RP_SIZE 5 - -#define OCF_WRITE_INQ_ACTIVITY 0x001E -typedef struct { - uint16_t interval; - uint16_t window; -} __attribute__ ((packed)) write_inq_activity_cp; -#define WRITE_INQ_ACTIVITY_CP_SIZE 4 - -#define OCF_READ_AUTH_ENABLE 0x001F - -#define OCF_WRITE_AUTH_ENABLE 0x0020 - #define AUTH_DISABLED 0x00 - #define AUTH_ENABLED 0x01 - -#define OCF_READ_ENCRYPT_MODE 0x0021 - -#define OCF_WRITE_ENCRYPT_MODE 0x0022 - #define ENCRYPT_DISABLED 0x00 - #define ENCRYPT_P2P 0x01 - #define ENCRYPT_BOTH 0x02 - -#define OCF_READ_CLASS_OF_DEV 0x0023 -typedef struct { - uint8_t status; - uint8_t dev_class[3]; -} __attribute__ ((packed)) read_class_of_dev_rp; -#define READ_CLASS_OF_DEV_RP_SIZE 4 - -#define OCF_WRITE_CLASS_OF_DEV 0x0024 -typedef struct { - uint8_t dev_class[3]; -} __attribute__ ((packed)) write_class_of_dev_cp; -#define WRITE_CLASS_OF_DEV_CP_SIZE 3 - -#define OCF_READ_VOICE_SETTING 0x0025 -typedef struct { - uint8_t status; - uint16_t voice_setting; -} __attribute__ ((packed)) read_voice_setting_rp; -#define READ_VOICE_SETTING_RP_SIZE 3 - -#define OCF_WRITE_VOICE_SETTING 0x0026 -typedef struct { - uint16_t voice_setting; -} __attribute__ ((packed)) write_voice_setting_cp; -#define WRITE_VOICE_SETTING_CP_SIZE 2 - -#define OCF_READ_AUTOMATIC_FLUSH_TIMEOUT 0x0027 - -#define OCF_WRITE_AUTOMATIC_FLUSH_TIMEOUT 0x0028 - -#define OCF_READ_NUM_BROADCAST_RETRANS 0x0029 - -#define OCF_WRITE_NUM_BROADCAST_RETRANS 0x002A - -#define OCF_READ_HOLD_MODE_ACTIVITY 0x002B - -#define OCF_WRITE_HOLD_MODE_ACTIVITY 0x002C - -#define OCF_READ_TRANSMIT_POWER_LEVEL 0x002D -typedef struct { - uint16_t handle; - uint8_t type; -} __attribute__ ((packed)) read_transmit_power_level_cp; -#define READ_TRANSMIT_POWER_LEVEL_CP_SIZE 3 -typedef struct { - uint8_t status; - uint16_t handle; - int8_t level; -} __attribute__ ((packed)) read_transmit_power_level_rp; -#define READ_TRANSMIT_POWER_LEVEL_RP_SIZE 4 - -#define OCF_READ_SYNC_FLOW_ENABLE 0x002E - -#define OCF_WRITE_SYNC_FLOW_ENABLE 0x002F - -#define OCF_SET_CONTROLLER_TO_HOST_FC 0x0031 - -#define OCF_HOST_BUFFER_SIZE 0x0033 -typedef struct { - uint16_t acl_mtu; - uint8_t sco_mtu; - uint16_t acl_max_pkt; - uint16_t sco_max_pkt; -} __attribute__ ((packed)) host_buffer_size_cp; -#define HOST_BUFFER_SIZE_CP_SIZE 7 - -#define OCF_HOST_NUM_COMP_PKTS 0x0035 -typedef struct { - uint8_t num_hndl; - /* variable length part */ -} __attribute__ ((packed)) host_num_comp_pkts_cp; -#define HOST_NUM_COMP_PKTS_CP_SIZE 1 - -#define OCF_READ_LINK_SUPERVISION_TIMEOUT 0x0036 -typedef struct { - uint8_t status; - uint16_t handle; - uint16_t timeout; -} __attribute__ ((packed)) read_link_supervision_timeout_rp; -#define READ_LINK_SUPERVISION_TIMEOUT_RP_SIZE 5 - -#define OCF_WRITE_LINK_SUPERVISION_TIMEOUT 0x0037 -typedef struct { - uint16_t handle; - uint16_t timeout; -} __attribute__ ((packed)) write_link_supervision_timeout_cp; -#define WRITE_LINK_SUPERVISION_TIMEOUT_CP_SIZE 4 -typedef struct { - uint8_t status; - uint16_t handle; -} __attribute__ ((packed)) write_link_supervision_timeout_rp; -#define WRITE_LINK_SUPERVISION_TIMEOUT_RP_SIZE 3 - -#define OCF_READ_NUM_SUPPORTED_IAC 0x0038 - -#define MAX_IAC_LAP 0x40 -#define OCF_READ_CURRENT_IAC_LAP 0x0039 -typedef struct { - uint8_t status; - uint8_t num_current_iac; - uint8_t lap[MAX_IAC_LAP][3]; -} __attribute__ ((packed)) read_current_iac_lap_rp; -#define READ_CURRENT_IAC_LAP_RP_SIZE 2+3*MAX_IAC_LAP - -#define OCF_WRITE_CURRENT_IAC_LAP 0x003A -typedef struct { - uint8_t num_current_iac; - uint8_t lap[MAX_IAC_LAP][3]; -} __attribute__ ((packed)) write_current_iac_lap_cp; -#define WRITE_CURRENT_IAC_LAP_CP_SIZE 1+3*MAX_IAC_LAP - -#define OCF_READ_PAGE_SCAN_PERIOD_MODE 0x003B - -#define OCF_WRITE_PAGE_SCAN_PERIOD_MODE 0x003C - -#define OCF_READ_PAGE_SCAN_MODE 0x003D - -#define OCF_WRITE_PAGE_SCAN_MODE 0x003E - -#define OCF_SET_AFH_CLASSIFICATION 0x003F -typedef struct { - uint8_t map[10]; -} __attribute__ ((packed)) set_afh_classification_cp; -#define SET_AFH_CLASSIFICATION_CP_SIZE 10 -typedef struct { - uint8_t status; -} __attribute__ ((packed)) set_afh_classification_rp; -#define SET_AFH_CLASSIFICATION_RP_SIZE 1 - -#define OCF_READ_INQUIRY_SCAN_TYPE 0x0042 -typedef struct { - uint8_t status; - uint8_t type; -} __attribute__ ((packed)) read_inquiry_scan_type_rp; -#define READ_INQUIRY_SCAN_TYPE_RP_SIZE 2 - -#define OCF_WRITE_INQUIRY_SCAN_TYPE 0x0043 -typedef struct { - uint8_t type; -} __attribute__ ((packed)) write_inquiry_scan_type_cp; -#define WRITE_INQUIRY_SCAN_TYPE_CP_SIZE 1 -typedef struct { - uint8_t status; -} __attribute__ ((packed)) write_inquiry_scan_type_rp; -#define WRITE_INQUIRY_SCAN_TYPE_RP_SIZE 1 - -#define OCF_READ_INQUIRY_MODE 0x0044 -typedef struct { - uint8_t status; - uint8_t mode; -} __attribute__ ((packed)) read_inquiry_mode_rp; -#define READ_INQUIRY_MODE_RP_SIZE 2 - -#define OCF_WRITE_INQUIRY_MODE 0x0045 -typedef struct { - uint8_t mode; -} __attribute__ ((packed)) write_inquiry_mode_cp; -#define WRITE_INQUIRY_MODE_CP_SIZE 1 -typedef struct { - uint8_t status; -} __attribute__ ((packed)) write_inquiry_mode_rp; -#define WRITE_INQUIRY_MODE_RP_SIZE 1 - -#define OCF_READ_PAGE_SCAN_TYPE 0x0046 - -#define OCF_WRITE_PAGE_SCAN_TYPE 0x0047 - #define PAGE_SCAN_TYPE_STANDARD 0x00 - #define PAGE_SCAN_TYPE_INTERLACED 0x01 - -#define OCF_READ_AFH_MODE 0x0048 -typedef struct { - uint8_t status; - uint8_t mode; -} __attribute__ ((packed)) read_afh_mode_rp; -#define READ_AFH_MODE_RP_SIZE 2 - -#define OCF_WRITE_AFH_MODE 0x0049 -typedef struct { - uint8_t mode; -} __attribute__ ((packed)) write_afh_mode_cp; -#define WRITE_AFH_MODE_CP_SIZE 1 -typedef struct { - uint8_t status; -} __attribute__ ((packed)) write_afh_mode_rp; -#define WRITE_AFH_MODE_RP_SIZE 1 - -#define HCI_MAX_EIR_LENGTH 240 - -#define OCF_READ_EXT_INQUIRY_RESPONSE 0x0051 -typedef struct { - uint8_t status; - uint8_t fec; - uint8_t data[HCI_MAX_EIR_LENGTH]; -} __attribute__ ((packed)) read_ext_inquiry_response_rp; -#define READ_EXT_INQUIRY_RESPONSE_RP_SIZE 242 - -#define OCF_WRITE_EXT_INQUIRY_RESPONSE 0x0052 -typedef struct { - uint8_t fec; - uint8_t data[HCI_MAX_EIR_LENGTH]; -} __attribute__ ((packed)) write_ext_inquiry_response_cp; -#define WRITE_EXT_INQUIRY_RESPONSE_CP_SIZE 241 -typedef struct { - uint8_t status; -} __attribute__ ((packed)) write_ext_inquiry_response_rp; -#define WRITE_EXT_INQUIRY_RESPONSE_RP_SIZE 1 - -#define OCF_REFRESH_ENCRYPTION_KEY 0x0053 -typedef struct { - uint16_t handle; -} __attribute__ ((packed)) refresh_encryption_key_cp; -#define REFRESH_ENCRYPTION_KEY_CP_SIZE 2 -typedef struct { - uint8_t status; -} __attribute__ ((packed)) refresh_encryption_key_rp; -#define REFRESH_ENCRYPTION_KEY_RP_SIZE 1 - -#define OCF_READ_SIMPLE_PAIRING_MODE 0x0055 -typedef struct { - uint8_t status; - uint8_t mode; -} __attribute__ ((packed)) read_simple_pairing_mode_rp; -#define READ_SIMPLE_PAIRING_MODE_RP_SIZE 2 - -#define OCF_WRITE_SIMPLE_PAIRING_MODE 0x0056 -typedef struct { - uint8_t mode; -} __attribute__ ((packed)) write_simple_pairing_mode_cp; -#define WRITE_SIMPLE_PAIRING_MODE_CP_SIZE 1 -typedef struct { - uint8_t status; -} __attribute__ ((packed)) write_simple_pairing_mode_rp; -#define WRITE_SIMPLE_PAIRING_MODE_RP_SIZE 1 - -#define OCF_READ_LOCAL_OOB_DATA 0x0057 -typedef struct { - uint8_t status; - uint8_t hash[16]; - uint8_t randomizer[16]; -} __attribute__ ((packed)) read_local_oob_data_rp; -#define READ_LOCAL_OOB_DATA_RP_SIZE 33 - -#define OCF_READ_INQ_RESPONSE_TX_POWER_LEVEL 0x0058 -typedef struct { - uint8_t status; - int8_t level; -} __attribute__ ((packed)) read_inq_response_tx_power_level_rp; -#define READ_INQ_RESPONSE_TX_POWER_LEVEL_RP_SIZE 2 - -#define OCF_READ_INQUIRY_TRANSMIT_POWER_LEVEL 0x0058 -typedef struct { - uint8_t status; - int8_t level; -} __attribute__ ((packed)) read_inquiry_transmit_power_level_rp; -#define READ_INQUIRY_TRANSMIT_POWER_LEVEL_RP_SIZE 2 - -#define OCF_WRITE_INQUIRY_TRANSMIT_POWER_LEVEL 0x0059 -typedef struct { - int8_t level; -} __attribute__ ((packed)) write_inquiry_transmit_power_level_cp; -#define WRITE_INQUIRY_TRANSMIT_POWER_LEVEL_CP_SIZE 1 -typedef struct { - uint8_t status; -} __attribute__ ((packed)) write_inquiry_transmit_power_level_rp; -#define WRITE_INQUIRY_TRANSMIT_POWER_LEVEL_RP_SIZE 1 - -#define OCF_READ_DEFAULT_ERROR_DATA_REPORTING 0x005A -typedef struct { - uint8_t status; - uint8_t reporting; -} __attribute__ ((packed)) read_default_error_data_reporting_rp; -#define READ_DEFAULT_ERROR_DATA_REPORTING_RP_SIZE 2 - -#define OCF_WRITE_DEFAULT_ERROR_DATA_REPORTING 0x005B -typedef struct { - uint8_t reporting; -} __attribute__ ((packed)) write_default_error_data_reporting_cp; -#define WRITE_DEFAULT_ERROR_DATA_REPORTING_CP_SIZE 1 -typedef struct { - uint8_t status; -} __attribute__ ((packed)) write_default_error_data_reporting_rp; -#define WRITE_DEFAULT_ERROR_DATA_REPORTING_RP_SIZE 1 - -#define OCF_ENHANCED_FLUSH 0x005F -typedef struct { - uint16_t handle; - uint8_t type; -} __attribute__ ((packed)) enhanced_flush_cp; -#define ENHANCED_FLUSH_CP_SIZE 3 - -#define OCF_SEND_KEYPRESS_NOTIFY 0x0060 -typedef struct { - bdaddr_t bdaddr; - uint8_t type; -} __attribute__ ((packed)) send_keypress_notify_cp; -#define SEND_KEYPRESS_NOTIFY_CP_SIZE 7 -typedef struct { - uint8_t status; -} __attribute__ ((packed)) send_keypress_notify_rp; -#define SEND_KEYPRESS_NOTIFY_RP_SIZE 1 - -#define OCF_READ_LOGICAL_LINK_ACCEPT_TIMEOUT 0x0061 -typedef struct { - uint8_t status; - uint16_t timeout; -} __attribute__ ((packed)) read_log_link_accept_timeout_rp; -#define READ_LOGICAL_LINK_ACCEPT_TIMEOUT_RP_SIZE 3 - -#define OCF_WRITE_LOGICAL_LINK_ACCEPT_TIMEOUT 0x0062 -typedef struct { - uint16_t timeout; -} __attribute__ ((packed)) write_log_link_accept_timeout_cp; -#define WRITE_LOGICAL_LINK_ACCEPT_TIMEOUT_CP_SIZE 2 - -#define OCF_SET_EVENT_MASK_PAGE_2 0x0063 - -#define OCF_READ_LOCATION_DATA 0x0064 - -#define OCF_WRITE_LOCATION_DATA 0x0065 - -#define OCF_READ_FLOW_CONTROL_MODE 0x0066 - -#define OCF_WRITE_FLOW_CONTROL_MODE 0x0067 - -#define OCF_READ_ENHANCED_TRANSMIT_POWER_LEVEL 0x0068 -typedef struct { - uint8_t status; - uint16_t handle; - int8_t level_gfsk; - int8_t level_dqpsk; - int8_t level_8dpsk; -} __attribute__ ((packed)) read_enhanced_transmit_power_level_rp; -#define READ_ENHANCED_TRANSMIT_POWER_LEVEL_RP_SIZE 6 - -#define OCF_READ_BEST_EFFORT_FLUSH_TIMEOUT 0x0069 -typedef struct { - uint8_t status; - uint32_t timeout; -} __attribute__ ((packed)) read_best_effort_flush_timeout_rp; -#define READ_BEST_EFFORT_FLUSH_TIMEOUT_RP_SIZE 5 - -#define OCF_WRITE_BEST_EFFORT_FLUSH_TIMEOUT 0x006A -typedef struct { - uint16_t handle; - uint32_t timeout; -} __attribute__ ((packed)) write_best_effort_flush_timeout_cp; -#define WRITE_BEST_EFFORT_FLUSH_TIMEOUT_CP_SIZE 6 -typedef struct { - uint8_t status; -} __attribute__ ((packed)) write_best_effort_flush_timeout_rp; -#define WRITE_BEST_EFFORT_FLUSH_TIMEOUT_RP_SIZE 1 - -#define OCF_READ_LE_HOST_SUPPORTED 0x006C -typedef struct { - uint8_t status; - uint8_t le; - uint8_t simul; -} __attribute__ ((packed)) read_le_host_supported_rp; -#define READ_LE_HOST_SUPPORTED_RP_SIZE 3 - -#define OCF_WRITE_LE_HOST_SUPPORTED 0x006D -typedef struct { - uint8_t le; - uint8_t simul; -} __attribute__ ((packed)) write_le_host_supported_cp; -#define WRITE_LE_HOST_SUPPORTED_CP_SIZE 2 - -/* Informational Parameters */ -#define OGF_INFO_PARAM 0x04 - -#define OCF_READ_LOCAL_VERSION 0x0001 -typedef struct { - uint8_t status; - uint8_t hci_ver; - uint16_t hci_rev; - uint8_t lmp_ver; - uint16_t manufacturer; - uint16_t lmp_subver; -} __attribute__ ((packed)) read_local_version_rp; -#define READ_LOCAL_VERSION_RP_SIZE 9 - -#define OCF_READ_LOCAL_COMMANDS 0x0002 -typedef struct { - uint8_t status; - uint8_t commands[64]; -} __attribute__ ((packed)) read_local_commands_rp; -#define READ_LOCAL_COMMANDS_RP_SIZE 65 - -#define OCF_READ_LOCAL_FEATURES 0x0003 -typedef struct { - uint8_t status; - uint8_t features[8]; -} __attribute__ ((packed)) read_local_features_rp; -#define READ_LOCAL_FEATURES_RP_SIZE 9 - -#define OCF_READ_LOCAL_EXT_FEATURES 0x0004 -typedef struct { - uint8_t page_num; -} __attribute__ ((packed)) read_local_ext_features_cp; -#define READ_LOCAL_EXT_FEATURES_CP_SIZE 1 -typedef struct { - uint8_t status; - uint8_t page_num; - uint8_t max_page_num; - uint8_t features[8]; -} __attribute__ ((packed)) read_local_ext_features_rp; -#define READ_LOCAL_EXT_FEATURES_RP_SIZE 11 - -#define OCF_READ_BUFFER_SIZE 0x0005 -typedef struct { - uint8_t status; - uint16_t acl_mtu; - uint8_t sco_mtu; - uint16_t acl_max_pkt; - uint16_t sco_max_pkt; -} __attribute__ ((packed)) read_buffer_size_rp; -#define READ_BUFFER_SIZE_RP_SIZE 8 - -#define OCF_READ_COUNTRY_CODE 0x0007 - -#define OCF_READ_BD_ADDR 0x0009 -typedef struct { - uint8_t status; - bdaddr_t bdaddr; -} __attribute__ ((packed)) read_bd_addr_rp; -#define READ_BD_ADDR_RP_SIZE 7 - -#define OCF_READ_DATA_BLOCK_SIZE 0x000A -typedef struct { - uint8_t status; - uint16_t max_acl_len; - uint16_t data_block_len; - uint16_t num_blocks; -} __attribute__ ((packed)) read_data_block_size_rp; - -/* Status params */ -#define OGF_STATUS_PARAM 0x05 - -#define OCF_READ_FAILED_CONTACT_COUNTER 0x0001 -typedef struct { - uint8_t status; - uint16_t handle; - uint8_t counter; -} __attribute__ ((packed)) read_failed_contact_counter_rp; -#define READ_FAILED_CONTACT_COUNTER_RP_SIZE 4 - -#define OCF_RESET_FAILED_CONTACT_COUNTER 0x0002 -typedef struct { - uint8_t status; - uint16_t handle; -} __attribute__ ((packed)) reset_failed_contact_counter_rp; -#define RESET_FAILED_CONTACT_COUNTER_RP_SIZE 4 - -#define OCF_READ_LINK_QUALITY 0x0003 -typedef struct { - uint8_t status; - uint16_t handle; - uint8_t link_quality; -} __attribute__ ((packed)) read_link_quality_rp; -#define READ_LINK_QUALITY_RP_SIZE 4 - -#define OCF_READ_RSSI 0x0005 -typedef struct { - uint8_t status; - uint16_t handle; - int8_t rssi; -} __attribute__ ((packed)) read_rssi_rp; -#define READ_RSSI_RP_SIZE 4 - -#define OCF_READ_AFH_MAP 0x0006 -typedef struct { - uint8_t status; - uint16_t handle; - uint8_t mode; - uint8_t map[10]; -} __attribute__ ((packed)) read_afh_map_rp; -#define READ_AFH_MAP_RP_SIZE 14 - -#define OCF_READ_CLOCK 0x0007 -typedef struct { - uint16_t handle; - uint8_t which_clock; -} __attribute__ ((packed)) read_clock_cp; -#define READ_CLOCK_CP_SIZE 3 -typedef struct { - uint8_t status; - uint16_t handle; - uint32_t clock; - uint16_t accuracy; -} __attribute__ ((packed)) read_clock_rp; -#define READ_CLOCK_RP_SIZE 9 - -#define OCF_READ_LOCAL_AMP_INFO 0x0009 -typedef struct { - uint8_t status; - uint8_t amp_status; - uint32_t total_bandwidth; - uint32_t max_guaranteed_bandwidth; - uint32_t min_latency; - uint32_t max_pdu_size; - uint8_t controller_type; - uint16_t pal_caps; - uint16_t max_amp_assoc_length; - uint32_t max_flush_timeout; - uint32_t best_effort_flush_timeout; -} __attribute__ ((packed)) read_local_amp_info_rp; -#define READ_LOCAL_AMP_INFO_RP_SIZE 31 - -#define OCF_READ_LOCAL_AMP_ASSOC 0x000A -typedef struct { - uint8_t handle; - uint16_t length_so_far; - uint16_t assoc_length; -} __attribute__ ((packed)) read_local_amp_assoc_cp; -#define READ_LOCAL_AMP_ASSOC_CP_SIZE 5 -typedef struct { - uint8_t status; - uint8_t handle; - uint16_t length; - uint8_t fragment[HCI_MAX_NAME_LENGTH]; -} __attribute__ ((packed)) read_local_amp_assoc_rp; -#define READ_LOCAL_AMP_ASSOC_RP_SIZE 252 - -#define OCF_WRITE_REMOTE_AMP_ASSOC 0x000B -typedef struct { - uint8_t handle; - uint16_t length_so_far; - uint16_t remaining_length; - uint8_t fragment[HCI_MAX_NAME_LENGTH]; -} __attribute__ ((packed)) write_remote_amp_assoc_cp; -#define WRITE_REMOTE_AMP_ASSOC_CP_SIZE 253 -typedef struct { - uint8_t status; - uint8_t handle; -} __attribute__ ((packed)) write_remote_amp_assoc_rp; -#define WRITE_REMOTE_AMP_ASSOC_RP_SIZE 2 - -/* Testing commands */ -#define OGF_TESTING_CMD 0x3e - -#define OCF_READ_LOOPBACK_MODE 0x0001 - -#define OCF_WRITE_LOOPBACK_MODE 0x0002 - -#define OCF_ENABLE_DEVICE_UNDER_TEST_MODE 0x0003 - -#define OCF_WRITE_SIMPLE_PAIRING_DEBUG_MODE 0x0004 -typedef struct { - uint8_t mode; -} __attribute__ ((packed)) write_simple_pairing_debug_mode_cp; -#define WRITE_SIMPLE_PAIRING_DEBUG_MODE_CP_SIZE 1 -typedef struct { - uint8_t status; -} __attribute__ ((packed)) write_simple_pairing_debug_mode_rp; -#define WRITE_SIMPLE_PAIRING_DEBUG_MODE_RP_SIZE 1 - -/* LE commands */ -#define OGF_LE_CTL 0x08 - -#define OCF_LE_SET_EVENT_MASK 0x0001 -typedef struct { - uint8_t mask[8]; -} __attribute__ ((packed)) le_set_event_mask_cp; -#define LE_SET_EVENT_MASK_CP_SIZE 8 - -#define OCF_LE_READ_BUFFER_SIZE 0x0002 -typedef struct { - uint8_t status; - uint16_t pkt_len; - uint8_t max_pkt; -} __attribute__ ((packed)) le_read_buffer_size_rp; -#define LE_READ_BUFFER_SIZE_RP_SIZE 4 - -#define OCF_LE_READ_LOCAL_SUPPORTED_FEATURES 0x0003 -typedef struct { - uint8_t status; - uint8_t features[8]; -} __attribute__ ((packed)) le_read_local_supported_features_rp; -#define LE_READ_LOCAL_SUPPORTED_FEATURES_RP_SIZE 9 - -#define OCF_LE_SET_RANDOM_ADDRESS 0x0005 -typedef struct { - bdaddr_t bdaddr; -} __attribute__ ((packed)) le_set_random_address_cp; -#define LE_SET_RANDOM_ADDRESS_CP_SIZE 6 - -#define OCF_LE_SET_ADVERTISING_PARAMETERS 0x0006 -typedef struct { - uint16_t min_interval; - uint16_t max_interval; - uint8_t advtype; - uint8_t own_bdaddr_type; - uint8_t direct_bdaddr_type; - bdaddr_t direct_bdaddr; - uint8_t chan_map; - uint8_t filter; -} __attribute__ ((packed)) le_set_advertising_parameters_cp; -#define LE_SET_ADVERTISING_PARAMETERS_CP_SIZE 15 - -#define OCF_LE_READ_ADVERTISING_CHANNEL_TX_POWER 0x0007 -typedef struct { - uint8_t status; - int8_t level; -} __attribute__ ((packed)) le_read_advertising_channel_tx_power_rp; -#define LE_READ_ADVERTISING_CHANNEL_TX_POWER_RP_SIZE 2 - -#define OCF_LE_SET_ADVERTISING_DATA 0x0008 -typedef struct { - uint8_t length; - uint8_t data[31]; -} __attribute__ ((packed)) le_set_advertising_data_cp; -#define LE_SET_ADVERTISING_DATA_CP_SIZE 32 - -#define OCF_LE_SET_SCAN_RESPONSE_DATA 0x0009 -typedef struct { - uint8_t length; - uint8_t data[31]; -} __attribute__ ((packed)) le_set_scan_response_data_cp; -#define LE_SET_SCAN_RESPONSE_DATA_CP_SIZE 32 - -#define OCF_LE_SET_ADVERTISE_ENABLE 0x000A -typedef struct { - uint8_t enable; -} __attribute__ ((packed)) le_set_advertise_enable_cp; -#define LE_SET_ADVERTISE_ENABLE_CP_SIZE 1 - -#define OCF_LE_SET_SCAN_PARAMETERS 0x000B -typedef struct { - uint8_t type; - uint16_t interval; - uint16_t window; - uint8_t own_bdaddr_type; - uint8_t filter; -} __attribute__ ((packed)) le_set_scan_parameters_cp; -#define LE_SET_SCAN_PARAMETERS_CP_SIZE 7 - -#define OCF_LE_SET_SCAN_ENABLE 0x000C -typedef struct { - uint8_t enable; - uint8_t filter_dup; -} __attribute__ ((packed)) le_set_scan_enable_cp; -#define LE_SET_SCAN_ENABLE_CP_SIZE 2 - -#define OCF_LE_CREATE_CONN 0x000D -typedef struct { - uint16_t interval; - uint16_t window; - uint8_t initiator_filter; - uint8_t peer_bdaddr_type; - bdaddr_t peer_bdaddr; - uint8_t own_bdaddr_type; - uint16_t min_interval; - uint16_t max_interval; - uint16_t latency; - uint16_t supervision_timeout; - uint16_t min_ce_length; - uint16_t max_ce_length; -} __attribute__ ((packed)) le_create_connection_cp; -#define LE_CREATE_CONN_CP_SIZE 25 - -#define OCF_LE_CREATE_CONN_CANCEL 0x000E - -#define OCF_LE_READ_WHITE_LIST_SIZE 0x000F -typedef struct { - uint8_t status; - uint8_t size; -} __attribute__ ((packed)) le_read_white_list_size_rp; -#define LE_READ_WHITE_LIST_SIZE_RP_SIZE 2 - -#define OCF_LE_CLEAR_WHITE_LIST 0x0010 - -#define OCF_LE_ADD_DEVICE_TO_WHITE_LIST 0x0011 -typedef struct { - uint8_t bdaddr_type; - bdaddr_t bdaddr; -} __attribute__ ((packed)) le_add_device_to_white_list_cp; -#define LE_ADD_DEVICE_TO_WHITE_LIST_CP_SIZE 7 - -#define OCF_LE_REMOVE_DEVICE_FROM_WHITE_LIST 0x0012 -typedef struct { - uint8_t bdaddr_type; - bdaddr_t bdaddr; -} __attribute__ ((packed)) le_remove_device_from_white_list_cp; -#define LE_REMOVE_DEVICE_FROM_WHITE_LIST_CP_SIZE 7 - -#define OCF_LE_CONN_UPDATE 0x0013 -typedef struct { - uint16_t handle; - uint16_t min_interval; - uint16_t max_interval; - uint16_t latency; - uint16_t supervision_timeout; - uint16_t min_ce_length; - uint16_t max_ce_length; -} __attribute__ ((packed)) le_connection_update_cp; -#define LE_CONN_UPDATE_CP_SIZE 14 - -#define OCF_LE_SET_HOST_CHANNEL_CLASSIFICATION 0x0014 -typedef struct { - uint8_t map[5]; -} __attribute__ ((packed)) le_set_host_channel_classification_cp; -#define LE_SET_HOST_CHANNEL_CLASSIFICATION_CP_SIZE 5 - -#define OCF_LE_READ_CHANNEL_MAP 0x0015 -typedef struct { - uint16_t handle; -} __attribute__ ((packed)) le_read_channel_map_cp; -#define LE_READ_CHANNEL_MAP_CP_SIZE 2 -typedef struct { - uint8_t status; - uint16_t handle; - uint8_t map[5]; -} __attribute__ ((packed)) le_read_channel_map_rp; -#define LE_READ_CHANNEL_MAP_RP_SIZE 8 - -#define OCF_LE_READ_REMOTE_USED_FEATURES 0x0016 -typedef struct { - uint16_t handle; -} __attribute__ ((packed)) le_read_remote_used_features_cp; -#define LE_READ_REMOTE_USED_FEATURES_CP_SIZE 2 - -#define OCF_LE_ENCRYPT 0x0017 -typedef struct { - uint8_t key[16]; - uint8_t plaintext[16]; -} __attribute__ ((packed)) le_encrypt_cp; -#define LE_ENCRYPT_CP_SIZE 32 -typedef struct { - uint8_t status; - uint8_t data[16]; -} __attribute__ ((packed)) le_encrypt_rp; -#define LE_ENCRYPT_RP_SIZE 17 - -#define OCF_LE_RAND 0x0018 -typedef struct { - uint8_t status; - uint64_t random; -} __attribute__ ((packed)) le_rand_rp; -#define LE_RAND_RP_SIZE 9 - -#define OCF_LE_START_ENCRYPTION 0x0019 -typedef struct { - uint16_t handle; - uint64_t random; - uint16_t diversifier; - uint8_t key[16]; -} __attribute__ ((packed)) le_start_encryption_cp; -#define LE_START_ENCRYPTION_CP_SIZE 28 - -#define OCF_LE_LTK_REPLY 0x001A -typedef struct { - uint16_t handle; - uint8_t key[16]; -} __attribute__ ((packed)) le_ltk_reply_cp; -#define LE_LTK_REPLY_CP_SIZE 18 -typedef struct { - uint8_t status; - uint16_t handle; -} __attribute__ ((packed)) le_ltk_reply_rp; -#define LE_LTK_REPLY_RP_SIZE 3 - -#define OCF_LE_LTK_NEG_REPLY 0x001B -typedef struct { - uint16_t handle; -} __attribute__ ((packed)) le_ltk_neg_reply_cp; -#define LE_LTK_NEG_REPLY_CP_SIZE 2 -typedef struct { - uint8_t status; - uint16_t handle; -} __attribute__ ((packed)) le_ltk_neg_reply_rp; -#define LE_LTK_NEG_REPLY_RP_SIZE 3 - -#define OCF_LE_READ_SUPPORTED_STATES 0x001C -typedef struct { - uint8_t status; - uint64_t states; -} __attribute__ ((packed)) le_read_supported_states_rp; -#define LE_READ_SUPPORTED_STATES_RP_SIZE 9 - -#define OCF_LE_RECEIVER_TEST 0x001D -typedef struct { - uint8_t frequency; -} __attribute__ ((packed)) le_receiver_test_cp; -#define LE_RECEIVER_TEST_CP_SIZE 1 - -#define OCF_LE_TRANSMITTER_TEST 0x001E -typedef struct { - uint8_t frequency; - uint8_t length; - uint8_t payload; -} __attribute__ ((packed)) le_transmitter_test_cp; -#define LE_TRANSMITTER_TEST_CP_SIZE 3 - -#define OCF_LE_TEST_END 0x001F -typedef struct { - uint8_t status; - uint16_t num_pkts; -} __attribute__ ((packed)) le_test_end_rp; -#define LE_TEST_END_RP_SIZE 3 - -/* Vendor specific commands */ -#define OGF_VENDOR_CMD 0x3f - -/* ---- HCI Events ---- */ - -#define EVT_INQUIRY_COMPLETE 0x01 - -#define EVT_INQUIRY_RESULT 0x02 -typedef struct { - bdaddr_t bdaddr; - uint8_t pscan_rep_mode; - uint8_t pscan_period_mode; - uint8_t pscan_mode; - uint8_t dev_class[3]; - uint16_t clock_offset; -} __attribute__ ((packed)) inquiry_info; -#define INQUIRY_INFO_SIZE 14 - -#define EVT_CONN_COMPLETE 0x03 -typedef struct { - uint8_t status; - uint16_t handle; - bdaddr_t bdaddr; - uint8_t link_type; - uint8_t encr_mode; -} __attribute__ ((packed)) evt_conn_complete; -#define EVT_CONN_COMPLETE_SIZE 11 - -#define EVT_CONN_REQUEST 0x04 -typedef struct { - bdaddr_t bdaddr; - uint8_t dev_class[3]; - uint8_t link_type; -} __attribute__ ((packed)) evt_conn_request; -#define EVT_CONN_REQUEST_SIZE 10 - -#define EVT_DISCONN_COMPLETE 0x05 -typedef struct { - uint8_t status; - uint16_t handle; - uint8_t reason; -} __attribute__ ((packed)) evt_disconn_complete; -#define EVT_DISCONN_COMPLETE_SIZE 4 - -#define EVT_AUTH_COMPLETE 0x06 -typedef struct { - uint8_t status; - uint16_t handle; -} __attribute__ ((packed)) evt_auth_complete; -#define EVT_AUTH_COMPLETE_SIZE 3 - -#define EVT_REMOTE_NAME_REQ_COMPLETE 0x07 -typedef struct { - uint8_t status; - bdaddr_t bdaddr; - uint8_t name[HCI_MAX_NAME_LENGTH]; -} __attribute__ ((packed)) evt_remote_name_req_complete; -#define EVT_REMOTE_NAME_REQ_COMPLETE_SIZE 255 - -#define EVT_ENCRYPT_CHANGE 0x08 -typedef struct { - uint8_t status; - uint16_t handle; - uint8_t encrypt; -} __attribute__ ((packed)) evt_encrypt_change; -#define EVT_ENCRYPT_CHANGE_SIZE 5 - -#define EVT_CHANGE_CONN_LINK_KEY_COMPLETE 0x09 -typedef struct { - uint8_t status; - uint16_t handle; -} __attribute__ ((packed)) evt_change_conn_link_key_complete; -#define EVT_CHANGE_CONN_LINK_KEY_COMPLETE_SIZE 3 - -#define EVT_MASTER_LINK_KEY_COMPLETE 0x0A -typedef struct { - uint8_t status; - uint16_t handle; - uint8_t key_flag; -} __attribute__ ((packed)) evt_master_link_key_complete; -#define EVT_MASTER_LINK_KEY_COMPLETE_SIZE 4 - -#define EVT_READ_REMOTE_FEATURES_COMPLETE 0x0B -typedef struct { - uint8_t status; - uint16_t handle; - uint8_t features[8]; -} __attribute__ ((packed)) evt_read_remote_features_complete; -#define EVT_READ_REMOTE_FEATURES_COMPLETE_SIZE 11 - -#define EVT_READ_REMOTE_VERSION_COMPLETE 0x0C -typedef struct { - uint8_t status; - uint16_t handle; - uint8_t lmp_ver; - uint16_t manufacturer; - uint16_t lmp_subver; -} __attribute__ ((packed)) evt_read_remote_version_complete; -#define EVT_READ_REMOTE_VERSION_COMPLETE_SIZE 8 - -#define EVT_QOS_SETUP_COMPLETE 0x0D -typedef struct { - uint8_t status; - uint16_t handle; - uint8_t flags; /* Reserved */ - hci_qos qos; -} __attribute__ ((packed)) evt_qos_setup_complete; -#define EVT_QOS_SETUP_COMPLETE_SIZE (4 + HCI_QOS_CP_SIZE) - -#define EVT_CMD_COMPLETE 0x0E -typedef struct { - uint8_t ncmd; - uint16_t opcode; -} __attribute__ ((packed)) evt_cmd_complete; -#define EVT_CMD_COMPLETE_SIZE 3 - -#define EVT_CMD_STATUS 0x0F -typedef struct { - uint8_t status; - uint8_t ncmd; - uint16_t opcode; -} __attribute__ ((packed)) evt_cmd_status; -#define EVT_CMD_STATUS_SIZE 4 - -#define EVT_HARDWARE_ERROR 0x10 -typedef struct { - uint8_t code; -} __attribute__ ((packed)) evt_hardware_error; -#define EVT_HARDWARE_ERROR_SIZE 1 - -#define EVT_FLUSH_OCCURRED 0x11 -typedef struct { - uint16_t handle; -} __attribute__ ((packed)) evt_flush_occured; -#define EVT_FLUSH_OCCURRED_SIZE 2 - -#define EVT_ROLE_CHANGE 0x12 -typedef struct { - uint8_t status; - bdaddr_t bdaddr; - uint8_t role; -} __attribute__ ((packed)) evt_role_change; -#define EVT_ROLE_CHANGE_SIZE 8 - -#define EVT_NUM_COMP_PKTS 0x13 -typedef struct { - uint8_t num_hndl; - /* variable length part */ -} __attribute__ ((packed)) evt_num_comp_pkts; -#define EVT_NUM_COMP_PKTS_SIZE 1 - -#define EVT_MODE_CHANGE 0x14 -typedef struct { - uint8_t status; - uint16_t handle; - uint8_t mode; - uint16_t interval; -} __attribute__ ((packed)) evt_mode_change; -#define EVT_MODE_CHANGE_SIZE 6 - -#define EVT_RETURN_LINK_KEYS 0x15 -typedef struct { - uint8_t num_keys; - /* variable length part */ -} __attribute__ ((packed)) evt_return_link_keys; -#define EVT_RETURN_LINK_KEYS_SIZE 1 - -#define EVT_PIN_CODE_REQ 0x16 -typedef struct { - bdaddr_t bdaddr; -} __attribute__ ((packed)) evt_pin_code_req; -#define EVT_PIN_CODE_REQ_SIZE 6 - -#define EVT_LINK_KEY_REQ 0x17 -typedef struct { - bdaddr_t bdaddr; -} __attribute__ ((packed)) evt_link_key_req; -#define EVT_LINK_KEY_REQ_SIZE 6 - -#define EVT_LINK_KEY_NOTIFY 0x18 -typedef struct { - bdaddr_t bdaddr; - uint8_t link_key[16]; - uint8_t key_type; -} __attribute__ ((packed)) evt_link_key_notify; -#define EVT_LINK_KEY_NOTIFY_SIZE 23 - -#define EVT_LOOPBACK_COMMAND 0x19 - -#define EVT_DATA_BUFFER_OVERFLOW 0x1A -typedef struct { - uint8_t link_type; -} __attribute__ ((packed)) evt_data_buffer_overflow; -#define EVT_DATA_BUFFER_OVERFLOW_SIZE 1 - -#define EVT_MAX_SLOTS_CHANGE 0x1B -typedef struct { - uint16_t handle; - uint8_t max_slots; -} __attribute__ ((packed)) evt_max_slots_change; -#define EVT_MAX_SLOTS_CHANGE_SIZE 3 - -#define EVT_READ_CLOCK_OFFSET_COMPLETE 0x1C -typedef struct { - uint8_t status; - uint16_t handle; - uint16_t clock_offset; -} __attribute__ ((packed)) evt_read_clock_offset_complete; -#define EVT_READ_CLOCK_OFFSET_COMPLETE_SIZE 5 - -#define EVT_CONN_PTYPE_CHANGED 0x1D -typedef struct { - uint8_t status; - uint16_t handle; - uint16_t ptype; -} __attribute__ ((packed)) evt_conn_ptype_changed; -#define EVT_CONN_PTYPE_CHANGED_SIZE 5 - -#define EVT_QOS_VIOLATION 0x1E -typedef struct { - uint16_t handle; -} __attribute__ ((packed)) evt_qos_violation; -#define EVT_QOS_VIOLATION_SIZE 2 - -#define EVT_PSCAN_REP_MODE_CHANGE 0x20 -typedef struct { - bdaddr_t bdaddr; - uint8_t pscan_rep_mode; -} __attribute__ ((packed)) evt_pscan_rep_mode_change; -#define EVT_PSCAN_REP_MODE_CHANGE_SIZE 7 - -#define EVT_FLOW_SPEC_COMPLETE 0x21 -typedef struct { - uint8_t status; - uint16_t handle; - uint8_t flags; - uint8_t direction; - hci_qos qos; -} __attribute__ ((packed)) evt_flow_spec_complete; -#define EVT_FLOW_SPEC_COMPLETE_SIZE (5 + HCI_QOS_CP_SIZE) - -#define EVT_INQUIRY_RESULT_WITH_RSSI 0x22 -typedef struct { - bdaddr_t bdaddr; - uint8_t pscan_rep_mode; - uint8_t pscan_period_mode; - uint8_t dev_class[3]; - uint16_t clock_offset; - int8_t rssi; -} __attribute__ ((packed)) inquiry_info_with_rssi; -#define INQUIRY_INFO_WITH_RSSI_SIZE 14 -typedef struct { - bdaddr_t bdaddr; - uint8_t pscan_rep_mode; - uint8_t pscan_period_mode; - uint8_t pscan_mode; - uint8_t dev_class[3]; - uint16_t clock_offset; - int8_t rssi; -} __attribute__ ((packed)) inquiry_info_with_rssi_and_pscan_mode; -#define INQUIRY_INFO_WITH_RSSI_AND_PSCAN_MODE_SIZE 15 - -#define EVT_READ_REMOTE_EXT_FEATURES_COMPLETE 0x23 -typedef struct { - uint8_t status; - uint16_t handle; - uint8_t page_num; - uint8_t max_page_num; - uint8_t features[8]; -} __attribute__ ((packed)) evt_read_remote_ext_features_complete; -#define EVT_READ_REMOTE_EXT_FEATURES_COMPLETE_SIZE 13 - -#define EVT_SYNC_CONN_COMPLETE 0x2C -typedef struct { - uint8_t status; - uint16_t handle; - bdaddr_t bdaddr; - uint8_t link_type; - uint8_t trans_interval; - uint8_t retrans_window; - uint16_t rx_pkt_len; - uint16_t tx_pkt_len; - uint8_t air_mode; -} __attribute__ ((packed)) evt_sync_conn_complete; -#define EVT_SYNC_CONN_COMPLETE_SIZE 17 - -#define EVT_SYNC_CONN_CHANGED 0x2D -typedef struct { - uint8_t status; - uint16_t handle; - uint8_t trans_interval; - uint8_t retrans_window; - uint16_t rx_pkt_len; - uint16_t tx_pkt_len; -} __attribute__ ((packed)) evt_sync_conn_changed; -#define EVT_SYNC_CONN_CHANGED_SIZE 9 - -#define EVT_SNIFF_SUBRATING 0x2E -typedef struct { - uint8_t status; - uint16_t handle; - uint16_t max_tx_latency; - uint16_t max_rx_latency; - uint16_t min_remote_timeout; - uint16_t min_local_timeout; -} __attribute__ ((packed)) evt_sniff_subrating; -#define EVT_SNIFF_SUBRATING_SIZE 11 - -#define EVT_EXTENDED_INQUIRY_RESULT 0x2F -typedef struct { - bdaddr_t bdaddr; - uint8_t pscan_rep_mode; - uint8_t pscan_period_mode; - uint8_t dev_class[3]; - uint16_t clock_offset; - int8_t rssi; - uint8_t data[HCI_MAX_EIR_LENGTH]; -} __attribute__ ((packed)) extended_inquiry_info; -#define EXTENDED_INQUIRY_INFO_SIZE 254 - -#define EVT_ENCRYPTION_KEY_REFRESH_COMPLETE 0x30 -typedef struct { - uint8_t status; - uint16_t handle; -} __attribute__ ((packed)) evt_encryption_key_refresh_complete; -#define EVT_ENCRYPTION_KEY_REFRESH_COMPLETE_SIZE 3 - -#define EVT_IO_CAPABILITY_REQUEST 0x31 -typedef struct { - bdaddr_t bdaddr; -} __attribute__ ((packed)) evt_io_capability_request; -#define EVT_IO_CAPABILITY_REQUEST_SIZE 6 - -#define EVT_IO_CAPABILITY_RESPONSE 0x32 -typedef struct { - bdaddr_t bdaddr; - uint8_t capability; - uint8_t oob_data; - uint8_t authentication; -} __attribute__ ((packed)) evt_io_capability_response; -#define EVT_IO_CAPABILITY_RESPONSE_SIZE 9 - -#define EVT_USER_CONFIRM_REQUEST 0x33 -typedef struct { - bdaddr_t bdaddr; - uint32_t passkey; -} __attribute__ ((packed)) evt_user_confirm_request; -#define EVT_USER_CONFIRM_REQUEST_SIZE 10 - -#define EVT_USER_PASSKEY_REQUEST 0x34 -typedef struct { - bdaddr_t bdaddr; -} __attribute__ ((packed)) evt_user_passkey_request; -#define EVT_USER_PASSKEY_REQUEST_SIZE 6 - -#define EVT_REMOTE_OOB_DATA_REQUEST 0x35 -typedef struct { - bdaddr_t bdaddr; -} __attribute__ ((packed)) evt_remote_oob_data_request; -#define EVT_REMOTE_OOB_DATA_REQUEST_SIZE 6 - -#define EVT_SIMPLE_PAIRING_COMPLETE 0x36 -typedef struct { - uint8_t status; - bdaddr_t bdaddr; -} __attribute__ ((packed)) evt_simple_pairing_complete; -#define EVT_SIMPLE_PAIRING_COMPLETE_SIZE 7 - -#define EVT_LINK_SUPERVISION_TIMEOUT_CHANGED 0x38 -typedef struct { - uint16_t handle; - uint16_t timeout; -} __attribute__ ((packed)) evt_link_supervision_timeout_changed; -#define EVT_LINK_SUPERVISION_TIMEOUT_CHANGED_SIZE 4 - -#define EVT_ENHANCED_FLUSH_COMPLETE 0x39 -typedef struct { - uint16_t handle; -} __attribute__ ((packed)) evt_enhanced_flush_complete; -#define EVT_ENHANCED_FLUSH_COMPLETE_SIZE 2 - -#define EVT_USER_PASSKEY_NOTIFY 0x3B -typedef struct { - bdaddr_t bdaddr; - uint32_t passkey; -} __attribute__ ((packed)) evt_user_passkey_notify; -#define EVT_USER_PASSKEY_NOTIFY_SIZE 10 - -#define EVT_KEYPRESS_NOTIFY 0x3C -typedef struct { - bdaddr_t bdaddr; - uint8_t type; -} __attribute__ ((packed)) evt_keypress_notify; -#define EVT_KEYPRESS_NOTIFY_SIZE 7 - -#define EVT_REMOTE_HOST_FEATURES_NOTIFY 0x3D -typedef struct { - bdaddr_t bdaddr; - uint8_t features[8]; -} __attribute__ ((packed)) evt_remote_host_features_notify; -#define EVT_REMOTE_HOST_FEATURES_NOTIFY_SIZE 14 - -#define EVT_LE_META_EVENT 0x3E -typedef struct { - uint8_t subevent; - uint8_t data[0]; -} __attribute__ ((packed)) evt_le_meta_event; -#define EVT_LE_META_EVENT_SIZE 1 - -#define EVT_LE_CONN_COMPLETE 0x01 -typedef struct { - uint8_t status; - uint16_t handle; - uint8_t role; - uint8_t peer_bdaddr_type; - bdaddr_t peer_bdaddr; - uint16_t interval; - uint16_t latency; - uint16_t supervision_timeout; - uint8_t master_clock_accuracy; -} __attribute__ ((packed)) evt_le_connection_complete; -#define EVT_LE_CONN_COMPLETE_SIZE 18 - -#define EVT_LE_ADVERTISING_REPORT 0x02 -typedef struct { - uint8_t evt_type; - uint8_t bdaddr_type; - bdaddr_t bdaddr; - uint8_t length; - uint8_t data[0]; -} __attribute__ ((packed)) le_advertising_info; -#define LE_ADVERTISING_INFO_SIZE 9 - -#define EVT_LE_CONN_UPDATE_COMPLETE 0x03 -typedef struct { - uint8_t status; - uint16_t handle; - uint16_t interval; - uint16_t latency; - uint16_t supervision_timeout; -} __attribute__ ((packed)) evt_le_connection_update_complete; -#define EVT_LE_CONN_UPDATE_COMPLETE_SIZE 9 - -#define EVT_LE_READ_REMOTE_USED_FEATURES_COMPLETE 0x04 -typedef struct { - uint8_t status; - uint16_t handle; - uint8_t features[8]; -} __attribute__ ((packed)) evt_le_read_remote_used_features_complete; -#define EVT_LE_READ_REMOTE_USED_FEATURES_COMPLETE_SIZE 11 - -#define EVT_LE_LTK_REQUEST 0x05 -typedef struct { - uint16_t handle; - uint64_t random; - uint16_t diversifier; -} __attribute__ ((packed)) evt_le_long_term_key_request; -#define EVT_LE_LTK_REQUEST_SIZE 12 - -#define EVT_PHYSICAL_LINK_COMPLETE 0x40 -typedef struct { - uint8_t status; - uint8_t handle; -} __attribute__ ((packed)) evt_physical_link_complete; -#define EVT_PHYSICAL_LINK_COMPLETE_SIZE 2 - -#define EVT_CHANNEL_SELECTED 0x41 - -#define EVT_DISCONNECT_PHYSICAL_LINK_COMPLETE 0x42 -typedef struct { - uint8_t status; - uint8_t handle; - uint8_t reason; -} __attribute__ ((packed)) evt_disconn_physical_link_complete; -#define EVT_DISCONNECT_PHYSICAL_LINK_COMPLETE_SIZE 3 - -#define EVT_PHYSICAL_LINK_LOSS_EARLY_WARNING 0x43 -typedef struct { - uint8_t handle; - uint8_t reason; -} __attribute__ ((packed)) evt_physical_link_loss_warning; -#define EVT_PHYSICAL_LINK_LOSS_WARNING_SIZE 2 - -#define EVT_PHYSICAL_LINK_RECOVERY 0x44 -typedef struct { - uint8_t handle; -} __attribute__ ((packed)) evt_physical_link_recovery; -#define EVT_PHYSICAL_LINK_RECOVERY_SIZE 1 - -#define EVT_LOGICAL_LINK_COMPLETE 0x45 -typedef struct { - uint8_t status; - uint16_t log_handle; - uint8_t handle; - uint8_t tx_flow_id; -} __attribute__ ((packed)) evt_logical_link_complete; -#define EVT_LOGICAL_LINK_COMPLETE_SIZE 5 - -#define EVT_DISCONNECT_LOGICAL_LINK_COMPLETE 0x46 - -#define EVT_FLOW_SPEC_MODIFY_COMPLETE 0x47 -typedef struct { - uint8_t status; - uint16_t handle; -} __attribute__ ((packed)) evt_flow_spec_modify_complete; -#define EVT_FLOW_SPEC_MODIFY_COMPLETE_SIZE 3 - -#define EVT_NUMBER_COMPLETED_BLOCKS 0x48 -typedef struct { - uint16_t handle; - uint16_t num_cmplt_pkts; - uint16_t num_cmplt_blks; -} __attribute__ ((packed)) cmplt_handle; -typedef struct { - uint16_t total_num_blocks; - uint8_t num_handles; - cmplt_handle handles[0]; -} __attribute__ ((packed)) evt_num_completed_blocks; - -#define EVT_AMP_STATUS_CHANGE 0x4D -typedef struct { - uint8_t status; - uint8_t amp_status; -} __attribute__ ((packed)) evt_amp_status_change; -#define EVT_AMP_STATUS_CHANGE_SIZE 2 - -#define EVT_TESTING 0xFE - -#define EVT_VENDOR 0xFF - -/* Internal events generated by BlueZ stack */ -#define EVT_STACK_INTERNAL 0xFD -typedef struct { - uint16_t type; - uint8_t data[0]; -} __attribute__ ((packed)) evt_stack_internal; -#define EVT_STACK_INTERNAL_SIZE 2 - -#define EVT_SI_DEVICE 0x01 -typedef struct { - uint16_t event; - uint16_t dev_id; -} __attribute__ ((packed)) evt_si_device; -#define EVT_SI_DEVICE_SIZE 4 - -/* -------- HCI Packet structures -------- */ -#define HCI_TYPE_LEN 1 - -typedef struct { - uint16_t opcode; /* OCF & OGF */ - uint8_t plen; -} __attribute__ ((packed)) hci_command_hdr; -#define HCI_COMMAND_HDR_SIZE 3 - -typedef struct { - uint8_t evt; - uint8_t plen; -} __attribute__ ((packed)) hci_event_hdr; -#define HCI_EVENT_HDR_SIZE 2 - -typedef struct { - uint16_t handle; /* Handle & Flags(PB, BC) */ - uint16_t dlen; -} __attribute__ ((packed)) hci_acl_hdr; -#define HCI_ACL_HDR_SIZE 4 - -typedef struct { - uint16_t handle; - uint8_t dlen; -} __attribute__ ((packed)) hci_sco_hdr; -#define HCI_SCO_HDR_SIZE 3 - -typedef struct { - uint16_t device; - uint16_t type; - uint16_t plen; -} __attribute__ ((packed)) hci_msg_hdr; -#define HCI_MSG_HDR_SIZE 6 - -/* Command opcode pack/unpack */ -#define cmd_opcode_pack(ogf, ocf) (uint16_t)((ocf & 0x03ff)|(ogf << 10)) -#define cmd_opcode_ogf(op) (op >> 10) -#define cmd_opcode_ocf(op) (op & 0x03ff) - -/* ACL handle and flags pack/unpack */ -#define acl_handle_pack(h, f) (uint16_t)((h & 0x0fff)|(f << 12)) -#define acl_handle(h) (h & 0x0fff) -#define acl_flags(h) (h >> 12) - -#endif /* _NO_HCI_DEFS */ - -/* HCI Socket options */ -#define HCI_DATA_DIR 1 -#define HCI_FILTER 2 -#define HCI_TIME_STAMP 3 - -/* HCI CMSG flags */ -#define HCI_CMSG_DIR 0x0001 -#define HCI_CMSG_TSTAMP 0x0002 - -struct sockaddr_hci { - sa_family_t hci_family; - unsigned short hci_dev; - unsigned short hci_channel; -}; -#define HCI_DEV_NONE 0xffff - -#define HCI_CHANNEL_RAW 0 -#define HCI_CHANNEL_MONITOR 2 -#define HCI_CHANNEL_CONTROL 3 - -struct hci_filter { - uint32_t type_mask; - uint32_t event_mask[2]; - uint16_t opcode; -}; - -#define HCI_FLT_TYPE_BITS 31 -#define HCI_FLT_EVENT_BITS 63 -#define HCI_FLT_OGF_BITS 63 -#define HCI_FLT_OCF_BITS 127 - -/* Ioctl requests structures */ -struct hci_dev_stats { - uint32_t err_rx; - uint32_t err_tx; - uint32_t cmd_tx; - uint32_t evt_rx; - uint32_t acl_tx; - uint32_t acl_rx; - uint32_t sco_tx; - uint32_t sco_rx; - uint32_t byte_rx; - uint32_t byte_tx; -}; - -struct hci_dev_info { - uint16_t dev_id; - char name[8]; - - bdaddr_t bdaddr; - - uint32_t flags; - uint8_t type; - - uint8_t features[8]; - - uint32_t pkt_type; - uint32_t link_policy; - uint32_t link_mode; - - uint16_t acl_mtu; - uint16_t acl_pkts; - uint16_t sco_mtu; - uint16_t sco_pkts; - - struct hci_dev_stats stat; -}; - -struct hci_conn_info { - uint16_t handle; - bdaddr_t bdaddr; - uint8_t type; - uint8_t out; - uint16_t state; - uint32_t link_mode; -}; - -struct hci_dev_req { - uint16_t dev_id; - uint32_t dev_opt; -}; - -struct hci_dev_list_req { - uint16_t dev_num; - struct hci_dev_req dev_req[0]; /* hci_dev_req structures */ -}; - -struct hci_conn_list_req { - uint16_t dev_id; - uint16_t conn_num; - struct hci_conn_info conn_info[0]; -}; - -struct hci_conn_info_req { - bdaddr_t bdaddr; - uint8_t type; - struct hci_conn_info conn_info[0]; -}; - -struct hci_auth_info_req { - bdaddr_t bdaddr; - uint8_t type; -}; - -struct hci_inquiry_req { - uint16_t dev_id; - uint16_t flags; - uint8_t lap[3]; - uint8_t length; - uint8_t num_rsp; -}; -#define IREQ_CACHE_FLUSH 0x0001 - -#ifdef __cplusplus -} -#endif - -#endif /* __HCI_H */ diff --git a/GRIB_BLE_HUB/libs/ble_extend/lib/hci.lo b/GRIB_BLE_HUB/libs/ble_extend/lib/hci.lo deleted file mode 100644 index c058540..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/lib/hci.lo +++ /dev/null @@ -1,12 +0,0 @@ -# lib/hci.lo - a libtool object file -# Generated by libtool (GNU libtool) 2.4.2 Debian-2.4.2-1.1 -# -# Please DO NOT delete this file! -# It is necessary for linking the library. - -# Name of the PIC object. -pic_object='.libs/hci.o' - -# Name of the non-PIC object -non_pic_object=none - diff --git a/GRIB_BLE_HUB/libs/ble_extend/lib/hci_lib.h b/GRIB_BLE_HUB/libs/ble_extend/lib/hci_lib.h deleted file mode 100644 index cf4a0ff..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/lib/hci_lib.h +++ /dev/null @@ -1,233 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2000-2001 Qualcomm Incorporated - * Copyright (C) 2002-2003 Maxim Krasnyansky - * Copyright (C) 2002-2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifndef __HCI_LIB_H -#define __HCI_LIB_H - -#ifdef __cplusplus -extern "C" { -#endif - -struct hci_request { - uint16_t ogf; - uint16_t ocf; - int event; - void *cparam; - int clen; - void *rparam; - int rlen; -}; - -struct hci_version { - uint16_t manufacturer; - uint8_t hci_ver; - uint16_t hci_rev; - uint8_t lmp_ver; - uint16_t lmp_subver; -}; - -int hci_open_dev(int dev_id); -int hci_close_dev(int dd); -int hci_send_cmd(int dd, uint16_t ogf, uint16_t ocf, uint8_t plen, void *param); -int hci_send_req(int dd, struct hci_request *req, int timeout); - -int hci_create_connection(int dd, const bdaddr_t *bdaddr, uint16_t ptype, uint16_t clkoffset, uint8_t rswitch, uint16_t *handle, int to); -int hci_disconnect(int dd, uint16_t handle, uint8_t reason, int to); - -int hci_inquiry(int dev_id, int len, int num_rsp, const uint8_t *lap, inquiry_info **ii, long flags); -int hci_devinfo(int dev_id, struct hci_dev_info *di); -int hci_devba(int dev_id, bdaddr_t *bdaddr); -int hci_devid(const char *str); - -int hci_read_local_name(int dd, int len, char *name, int to); -int hci_write_local_name(int dd, const char *name, int to); -int hci_read_remote_name(int dd, const bdaddr_t *bdaddr, int len, char *name, int to); -int hci_read_remote_name_with_clock_offset(int dd, const bdaddr_t *bdaddr, uint8_t pscan_rep_mode, uint16_t clkoffset, int len, char *name, int to); -int hci_read_remote_name_cancel(int dd, const bdaddr_t *bdaddr, int to); -int hci_read_remote_version(int dd, uint16_t handle, struct hci_version *ver, int to); -int hci_read_remote_features(int dd, uint16_t handle, uint8_t *features, int to); -int hci_read_remote_ext_features(int dd, uint16_t handle, uint8_t page, uint8_t *max_page, uint8_t *features, int to); -int hci_read_clock_offset(int dd, uint16_t handle, uint16_t *clkoffset, int to); -int hci_read_local_version(int dd, struct hci_version *ver, int to); -int hci_read_local_commands(int dd, uint8_t *commands, int to); -int hci_read_local_features(int dd, uint8_t *features, int to); -int hci_read_local_ext_features(int dd, uint8_t page, uint8_t *max_page, uint8_t *features, int to); -int hci_read_bd_addr(int dd, bdaddr_t *bdaddr, int to); -int hci_read_class_of_dev(int dd, uint8_t *cls, int to); -int hci_write_class_of_dev(int dd, uint32_t cls, int to); -int hci_read_voice_setting(int dd, uint16_t *vs, int to); -int hci_write_voice_setting(int dd, uint16_t vs, int to); -int hci_read_current_iac_lap(int dd, uint8_t *num_iac, uint8_t *lap, int to); -int hci_write_current_iac_lap(int dd, uint8_t num_iac, uint8_t *lap, int to); -int hci_read_stored_link_key(int dd, bdaddr_t *bdaddr, uint8_t all, int to); -int hci_write_stored_link_key(int dd, bdaddr_t *bdaddr, uint8_t *key, int to); -int hci_delete_stored_link_key(int dd, bdaddr_t *bdaddr, uint8_t all, int to); -int hci_authenticate_link(int dd, uint16_t handle, int to); -int hci_encrypt_link(int dd, uint16_t handle, uint8_t encrypt, int to); -int hci_change_link_key(int dd, uint16_t handle, int to); -int hci_switch_role(int dd, bdaddr_t *bdaddr, uint8_t role, int to); -int hci_park_mode(int dd, uint16_t handle, uint16_t max_interval, uint16_t min_interval, int to); -int hci_exit_park_mode(int dd, uint16_t handle, int to); -int hci_read_inquiry_scan_type(int dd, uint8_t *type, int to); -int hci_write_inquiry_scan_type(int dd, uint8_t type, int to); -int hci_read_inquiry_mode(int dd, uint8_t *mode, int to); -int hci_write_inquiry_mode(int dd, uint8_t mode, int to); -int hci_read_afh_mode(int dd, uint8_t *mode, int to); -int hci_write_afh_mode(int dd, uint8_t mode, int to); -int hci_read_ext_inquiry_response(int dd, uint8_t *fec, uint8_t *data, int to); -int hci_write_ext_inquiry_response(int dd, uint8_t fec, uint8_t *data, int to); -int hci_read_simple_pairing_mode(int dd, uint8_t *mode, int to); -int hci_write_simple_pairing_mode(int dd, uint8_t mode, int to); -int hci_read_local_oob_data(int dd, uint8_t *hash, uint8_t *randomizer, int to); -int hci_read_inq_response_tx_power_level(int dd, int8_t *level, int to); -int hci_read_inquiry_transmit_power_level(int dd, int8_t *level, int to); -int hci_write_inquiry_transmit_power_level(int dd, int8_t level, int to); -int hci_read_transmit_power_level(int dd, uint16_t handle, uint8_t type, int8_t *level, int to); -int hci_read_link_policy(int dd, uint16_t handle, uint16_t *policy, int to); -int hci_write_link_policy(int dd, uint16_t handle, uint16_t policy, int to); -int hci_read_link_supervision_timeout(int dd, uint16_t handle, uint16_t *timeout, int to); -int hci_write_link_supervision_timeout(int dd, uint16_t handle, uint16_t timeout, int to); -int hci_set_afh_classification(int dd, uint8_t *map, int to); -int hci_read_link_quality(int dd, uint16_t handle, uint8_t *link_quality, int to); -int hci_read_rssi(int dd, uint16_t handle, int8_t *rssi, int to); -int hci_read_afh_map(int dd, uint16_t handle, uint8_t *mode, uint8_t *map, int to); -int hci_read_clock(int dd, uint16_t handle, uint8_t which, uint32_t *clock, uint16_t *accuracy, int to); - -int hci_le_set_scan_enable(int dev_id, uint8_t enable, uint8_t filter_dup, int to); -int hci_le_set_scan_parameters(int dev_id, uint8_t type, uint16_t interval, - uint16_t window, uint8_t own_type, - uint8_t filter, int to); -int hci_le_set_advertise_enable(int dev_id, uint8_t enable, int to); -int hci_le_create_conn(int dd, uint16_t interval, uint16_t window, - uint8_t initiator_filter, uint8_t peer_bdaddr_type, - bdaddr_t peer_bdaddr, uint8_t own_bdaddr_type, - uint16_t min_interval, uint16_t max_interval, - uint16_t latency, uint16_t supervision_timeout, - uint16_t min_ce_length, uint16_t max_ce_length, - uint16_t *handle, int to); - -int hci_le_conn_update(int dd, uint16_t handle, uint16_t min_interval, - uint16_t max_interval, uint16_t latency, - uint16_t supervision_timeout, int to); -int hci_le_add_white_list(int dd, const bdaddr_t *bdaddr, uint8_t type, int to); -int hci_le_rm_white_list(int dd, const bdaddr_t *bdaddr, uint8_t type, int to); -int hci_le_read_white_list_size(int dd, uint8_t *size, int to); -int hci_le_clear_white_list(int dd, int to); -int hci_for_each_dev(int flag, int(*func)(int dd, int dev_id, long arg), long arg); -int hci_get_route(bdaddr_t *bdaddr); - -char *hci_bustostr(int bus); -char *hci_typetostr(int type); -char *hci_dtypetostr(int type); -char *hci_dflagstostr(uint32_t flags); -char *hci_ptypetostr(unsigned int ptype); -int hci_strtoptype(char *str, unsigned int *val); -char *hci_scoptypetostr(unsigned int ptype); -int hci_strtoscoptype(char *str, unsigned int *val); -char *hci_lptostr(unsigned int ptype); -int hci_strtolp(char *str, unsigned int *val); -char *hci_lmtostr(unsigned int ptype); -int hci_strtolm(char *str, unsigned int *val); - -char *hci_cmdtostr(unsigned int cmd); -char *hci_commandstostr(uint8_t *commands, char *pref, int width); - -char *hci_vertostr(unsigned int ver); -int hci_strtover(char *str, unsigned int *ver); -char *lmp_vertostr(unsigned int ver); -int lmp_strtover(char *str, unsigned int *ver); - -char *lmp_featurestostr(uint8_t *features, char *pref, int width); - -static inline void hci_set_bit(int nr, void *addr) -{ - *((uint32_t *) addr + (nr >> 5)) |= (1 << (nr & 31)); -} - -static inline void hci_clear_bit(int nr, void *addr) -{ - *((uint32_t *) addr + (nr >> 5)) &= ~(1 << (nr & 31)); -} - -static inline int hci_test_bit(int nr, void *addr) -{ - return *((uint32_t *) addr + (nr >> 5)) & (1 << (nr & 31)); -} - -/* HCI filter tools */ -static inline void hci_filter_clear(struct hci_filter *f) -{ - memset(f, 0, sizeof(*f)); -} -static inline void hci_filter_set_ptype(int t, struct hci_filter *f) -{ - hci_set_bit((t == HCI_VENDOR_PKT) ? 0 : (t & HCI_FLT_TYPE_BITS), &f->type_mask); -} -static inline void hci_filter_clear_ptype(int t, struct hci_filter *f) -{ - hci_clear_bit((t == HCI_VENDOR_PKT) ? 0 : (t & HCI_FLT_TYPE_BITS), &f->type_mask); -} -static inline int hci_filter_test_ptype(int t, struct hci_filter *f) -{ - return hci_test_bit((t == HCI_VENDOR_PKT) ? 0 : (t & HCI_FLT_TYPE_BITS), &f->type_mask); -} -static inline void hci_filter_all_ptypes(struct hci_filter *f) -{ - memset((void *) &f->type_mask, 0xff, sizeof(f->type_mask)); -} -static inline void hci_filter_set_event(int e, struct hci_filter *f) -{ - hci_set_bit((e & HCI_FLT_EVENT_BITS), &f->event_mask); -} -static inline void hci_filter_clear_event(int e, struct hci_filter *f) -{ - hci_clear_bit((e & HCI_FLT_EVENT_BITS), &f->event_mask); -} -static inline int hci_filter_test_event(int e, struct hci_filter *f) -{ - return hci_test_bit((e & HCI_FLT_EVENT_BITS), &f->event_mask); -} -static inline void hci_filter_all_events(struct hci_filter *f) -{ - memset((void *) f->event_mask, 0xff, sizeof(f->event_mask)); -} -static inline void hci_filter_set_opcode(int opcode, struct hci_filter *f) -{ - f->opcode = opcode; -} -static inline void hci_filter_clear_opcode(struct hci_filter *f) -{ - f->opcode = 0; -} -static inline int hci_filter_test_opcode(int opcode, struct hci_filter *f) -{ - return (f->opcode == opcode); -} - -#ifdef __cplusplus -} -#endif - -#endif /* __HCI_LIB_H */ diff --git a/GRIB_BLE_HUB/libs/ble_extend/lib/hidp.h b/GRIB_BLE_HUB/libs/ble_extend/lib/hidp.h deleted file mode 100644 index c5e6a78..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/lib/hidp.h +++ /dev/null @@ -1,85 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2003-2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifndef __HIDP_H -#define __HIDP_H - -#ifdef __cplusplus -extern "C" { -#endif - -/* HIDP defaults */ -#define HIDP_MINIMUM_MTU 48 -#define HIDP_DEFAULT_MTU 48 - -/* HIDP ioctl defines */ -#define HIDPCONNADD _IOW('H', 200, int) -#define HIDPCONNDEL _IOW('H', 201, int) -#define HIDPGETCONNLIST _IOR('H', 210, int) -#define HIDPGETCONNINFO _IOR('H', 211, int) - -#define HIDP_VIRTUAL_CABLE_UNPLUG 0 -#define HIDP_BOOT_PROTOCOL_MODE 1 -#define HIDP_BLUETOOTH_VENDOR_ID 9 - -struct hidp_connadd_req { - int ctrl_sock; /* Connected control socket */ - int intr_sock; /* Connected interrupt socket */ - uint16_t parser; /* Parser version */ - uint16_t rd_size; /* Report descriptor size */ - uint8_t *rd_data; /* Report descriptor data */ - uint8_t country; - uint8_t subclass; - uint16_t vendor; - uint16_t product; - uint16_t version; - uint32_t flags; - uint32_t idle_to; - char name[128]; /* Device name */ -}; - -struct hidp_conndel_req { - bdaddr_t bdaddr; - uint32_t flags; -}; - -struct hidp_conninfo { - bdaddr_t bdaddr; - uint32_t flags; - uint16_t state; - uint16_t vendor; - uint16_t product; - uint16_t version; - char name[128]; -}; - -struct hidp_connlist_req { - uint32_t cnum; - struct hidp_conninfo *ci; -}; - -#ifdef __cplusplus -} -#endif - -#endif /* __HIDP_H */ diff --git a/GRIB_BLE_HUB/libs/ble_extend/lib/l2cap.h b/GRIB_BLE_HUB/libs/ble_extend/lib/l2cap.h deleted file mode 100644 index 5ce94c4..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/lib/l2cap.h +++ /dev/null @@ -1,279 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2000-2001 Qualcomm Incorporated - * Copyright (C) 2002-2003 Maxim Krasnyansky - * Copyright (C) 2002-2010 Marcel Holtmann - * Copyright (c) 2012 Code Aurora Forum. All rights reserved. - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifndef __L2CAP_H -#define __L2CAP_H - -#ifdef __cplusplus -extern "C" { -#endif - -#include - -/* L2CAP defaults */ -#define L2CAP_DEFAULT_MTU 672 -#define L2CAP_DEFAULT_FLUSH_TO 0xFFFF - -/* L2CAP socket address */ -struct sockaddr_l2 { - sa_family_t l2_family; - unsigned short l2_psm; - bdaddr_t l2_bdaddr; - unsigned short l2_cid; - uint8_t l2_bdaddr_type; -}; - -/* L2CAP socket options */ -#define L2CAP_OPTIONS 0x01 -struct l2cap_options { - uint16_t omtu; - uint16_t imtu; - uint16_t flush_to; - uint8_t mode; - uint8_t fcs; - uint8_t max_tx; - uint16_t txwin_size; -}; - -#define L2CAP_CONNINFO 0x02 -struct l2cap_conninfo { - uint16_t hci_handle; - uint8_t dev_class[3]; -}; - -#define L2CAP_LM 0x03 -#define L2CAP_LM_MASTER 0x0001 -#define L2CAP_LM_AUTH 0x0002 -#define L2CAP_LM_ENCRYPT 0x0004 -#define L2CAP_LM_TRUSTED 0x0008 -#define L2CAP_LM_RELIABLE 0x0010 -#define L2CAP_LM_SECURE 0x0020 - -/* L2CAP command codes */ -#define L2CAP_COMMAND_REJ 0x01 -#define L2CAP_CONN_REQ 0x02 -#define L2CAP_CONN_RSP 0x03 -#define L2CAP_CONF_REQ 0x04 -#define L2CAP_CONF_RSP 0x05 -#define L2CAP_DISCONN_REQ 0x06 -#define L2CAP_DISCONN_RSP 0x07 -#define L2CAP_ECHO_REQ 0x08 -#define L2CAP_ECHO_RSP 0x09 -#define L2CAP_INFO_REQ 0x0a -#define L2CAP_INFO_RSP 0x0b -#define L2CAP_CREATE_REQ 0x0c -#define L2CAP_CREATE_RSP 0x0d -#define L2CAP_MOVE_REQ 0x0e -#define L2CAP_MOVE_RSP 0x0f -#define L2CAP_MOVE_CFM 0x10 -#define L2CAP_MOVE_CFM_RSP 0x11 - -/* L2CAP extended feature mask */ -#define L2CAP_FEAT_FLOWCTL 0x00000001 -#define L2CAP_FEAT_RETRANS 0x00000002 -#define L2CAP_FEAT_BIDIR_QOS 0x00000004 -#define L2CAP_FEAT_ERTM 0x00000008 -#define L2CAP_FEAT_STREAMING 0x00000010 -#define L2CAP_FEAT_FCS 0x00000020 -#define L2CAP_FEAT_EXT_FLOW 0x00000040 -#define L2CAP_FEAT_FIXED_CHAN 0x00000080 -#define L2CAP_FEAT_EXT_WINDOW 0x00000100 -#define L2CAP_FEAT_UCD 0x00000200 - -/* L2CAP fixed channels */ -#define L2CAP_FC_L2CAP 0x02 -#define L2CAP_FC_CONNLESS 0x04 -#define L2CAP_FC_A2MP 0x08 - -/* L2CAP structures */ -typedef struct { - uint16_t len; - uint16_t cid; -} __attribute__ ((packed)) l2cap_hdr; -#define L2CAP_HDR_SIZE 4 - -typedef struct { - uint8_t code; - uint8_t ident; - uint16_t len; -} __attribute__ ((packed)) l2cap_cmd_hdr; -#define L2CAP_CMD_HDR_SIZE 4 - -typedef struct { - uint16_t reason; -} __attribute__ ((packed)) l2cap_cmd_rej; -#define L2CAP_CMD_REJ_SIZE 2 - -typedef struct { - uint16_t psm; - uint16_t scid; -} __attribute__ ((packed)) l2cap_conn_req; -#define L2CAP_CONN_REQ_SIZE 4 - -typedef struct { - uint16_t dcid; - uint16_t scid; - uint16_t result; - uint16_t status; -} __attribute__ ((packed)) l2cap_conn_rsp; -#define L2CAP_CONN_RSP_SIZE 8 - -/* connect result */ -#define L2CAP_CR_SUCCESS 0x0000 -#define L2CAP_CR_PEND 0x0001 -#define L2CAP_CR_BAD_PSM 0x0002 -#define L2CAP_CR_SEC_BLOCK 0x0003 -#define L2CAP_CR_NO_MEM 0x0004 - -/* connect status */ -#define L2CAP_CS_NO_INFO 0x0000 -#define L2CAP_CS_AUTHEN_PEND 0x0001 -#define L2CAP_CS_AUTHOR_PEND 0x0002 - -typedef struct { - uint16_t dcid; - uint16_t flags; - uint8_t data[0]; -} __attribute__ ((packed)) l2cap_conf_req; -#define L2CAP_CONF_REQ_SIZE 4 - -typedef struct { - uint16_t scid; - uint16_t flags; - uint16_t result; - uint8_t data[0]; -} __attribute__ ((packed)) l2cap_conf_rsp; -#define L2CAP_CONF_RSP_SIZE 6 - -#define L2CAP_CONF_SUCCESS 0x0000 -#define L2CAP_CONF_UNACCEPT 0x0001 -#define L2CAP_CONF_REJECT 0x0002 -#define L2CAP_CONF_UNKNOWN 0x0003 -#define L2CAP_CONF_PENDING 0x0004 -#define L2CAP_CONF_EFS_REJECT 0x0005 - -typedef struct { - uint8_t type; - uint8_t len; - uint8_t val[0]; -} __attribute__ ((packed)) l2cap_conf_opt; -#define L2CAP_CONF_OPT_SIZE 2 - -#define L2CAP_CONF_MTU 0x01 -#define L2CAP_CONF_FLUSH_TO 0x02 -#define L2CAP_CONF_QOS 0x03 -#define L2CAP_CONF_RFC 0x04 -#define L2CAP_CONF_FCS 0x05 -#define L2CAP_CONF_EFS 0x06 -#define L2CAP_CONF_EWS 0x07 - -#define L2CAP_CONF_MAX_SIZE 22 - -#define L2CAP_MODE_BASIC 0x00 -#define L2CAP_MODE_RETRANS 0x01 -#define L2CAP_MODE_FLOWCTL 0x02 -#define L2CAP_MODE_ERTM 0x03 -#define L2CAP_MODE_STREAMING 0x04 - -#define L2CAP_SERVTYPE_NOTRAFFIC 0x00 -#define L2CAP_SERVTYPE_BESTEFFORT 0x01 -#define L2CAP_SERVTYPE_GUARANTEED 0x02 - -typedef struct { - uint16_t dcid; - uint16_t scid; -} __attribute__ ((packed)) l2cap_disconn_req; -#define L2CAP_DISCONN_REQ_SIZE 4 - -typedef struct { - uint16_t dcid; - uint16_t scid; -} __attribute__ ((packed)) l2cap_disconn_rsp; -#define L2CAP_DISCONN_RSP_SIZE 4 - -typedef struct { - uint16_t type; -} __attribute__ ((packed)) l2cap_info_req; -#define L2CAP_INFO_REQ_SIZE 2 - -typedef struct { - uint16_t type; - uint16_t result; - uint8_t data[0]; -} __attribute__ ((packed)) l2cap_info_rsp; -#define L2CAP_INFO_RSP_SIZE 4 - -/* info type */ -#define L2CAP_IT_CL_MTU 0x0001 -#define L2CAP_IT_FEAT_MASK 0x0002 - -/* info result */ -#define L2CAP_IR_SUCCESS 0x0000 -#define L2CAP_IR_NOTSUPP 0x0001 - -typedef struct { - uint16_t psm; - uint16_t scid; - uint8_t id; -} __attribute__ ((packed)) l2cap_create_req; -#define L2CAP_CREATE_REQ_SIZE 5 - -typedef struct { - uint16_t dcid; - uint16_t scid; - uint16_t result; - uint16_t status; -} __attribute__ ((packed)) l2cap_create_rsp; -#define L2CAP_CREATE_RSP_SIZE 8 - -typedef struct { - uint16_t icid; - uint8_t id; -} __attribute__ ((packed)) l2cap_move_req; -#define L2CAP_MOVE_REQ_SIZE 3 - -typedef struct { - uint16_t icid; - uint16_t result; -} __attribute__ ((packed)) l2cap_move_rsp; -#define L2CAP_MOVE_RSP_SIZE 4 - -typedef struct { - uint16_t icid; - uint16_t result; -} __attribute__ ((packed)) l2cap_move_cfm; -#define L2CAP_MOVE_CFM_SIZE 4 - -typedef struct { - uint16_t icid; -} __attribute__ ((packed)) l2cap_move_cfm_rsp; -#define L2CAP_MOVE_CFM_RSP_SIZE 2 - -#ifdef __cplusplus -} -#endif - -#endif /* __L2CAP_H */ diff --git a/GRIB_BLE_HUB/libs/ble_extend/lib/libbluetooth-private.la b/GRIB_BLE_HUB/libs/ble_extend/lib/libbluetooth-private.la deleted file mode 100644 index 9f364d4..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/lib/libbluetooth-private.la +++ /dev/null @@ -1,41 +0,0 @@ -# libbluetooth-private.la - a libtool library file -# Generated by libtool (GNU libtool) 2.4.2 Debian-2.4.2-1.1 -# -# Please DO NOT delete this file! -# It is necessary for linking the library. - -# The name that we can dlopen(3). -dlname='' - -# Names of this library. -library_names='' - -# The name of the static archive. -old_library='libbluetooth-private.a' - -# Linker flags that can not go in dependency_libs. -inherited_linker_flags='' - -# Libraries that this one depends upon. -dependency_libs='' - -# Names of additional weak libraries provided by this library -weak_library_names='' - -# Version information for libbluetooth-private. -current= -age= -revision= - -# Is this an already installed library? -installed=no - -# Should we warn about portability when linking against -modules? -shouldnotlink=no - -# Files to dlopen/dlpreopen -dlopen='' -dlpreopen='' - -# Directory that this library needs to be installed in: -libdir='' diff --git a/GRIB_BLE_HUB/libs/ble_extend/lib/mgmt.h b/GRIB_BLE_HUB/libs/ble_extend/lib/mgmt.h deleted file mode 100644 index e28005e..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/lib/mgmt.h +++ /dev/null @@ -1,572 +0,0 @@ -/* - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2010 Nokia Corporation - * Copyright (C) 2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifndef __packed -#define __packed __attribute__((packed)) -#endif - -#define MGMT_INDEX_NONE 0xFFFF - -#define MGMT_STATUS_SUCCESS 0x00 -#define MGMT_STATUS_UNKNOWN_COMMAND 0x01 -#define MGMT_STATUS_NOT_CONNECTED 0x02 -#define MGMT_STATUS_FAILED 0x03 -#define MGMT_STATUS_CONNECT_FAILED 0x04 -#define MGMT_STATUS_AUTH_FAILED 0x05 -#define MGMT_STATUS_NOT_PAIRED 0x06 -#define MGMT_STATUS_NO_RESOURCES 0x07 -#define MGMT_STATUS_TIMEOUT 0x08 -#define MGMT_STATUS_ALREADY_CONNECTED 0x09 -#define MGMT_STATUS_BUSY 0x0a -#define MGMT_STATUS_REJECTED 0x0b -#define MGMT_STATUS_NOT_SUPPORTED 0x0c -#define MGMT_STATUS_INVALID_PARAMS 0x0d -#define MGMT_STATUS_DISCONNECTED 0x0e -#define MGMT_STATUS_NOT_POWERED 0x0f -#define MGMT_STATUS_CANCELLED 0x10 -#define MGMT_STATUS_INVALID_INDEX 0x11 - -struct mgmt_hdr { - uint16_t opcode; - uint16_t index; - uint16_t len; -} __packed; -#define MGMT_HDR_SIZE 6 - -struct mgmt_addr_info { - bdaddr_t bdaddr; - uint8_t type; -} __packed; - -#define MGMT_OP_READ_VERSION 0x0001 -struct mgmt_rp_read_version { - uint8_t version; - uint16_t revision; -} __packed; - -#define MGMT_OP_READ_COMMANDS 0x0002 -struct mgmt_rp_read_commands { - uint16_t num_commands; - uint16_t num_events; - uint16_t opcodes[0]; -} __packed; - -#define MGMT_OP_READ_INDEX_LIST 0x0003 -struct mgmt_rp_read_index_list { - uint16_t num_controllers; - uint16_t index[0]; -} __packed; - -/* Reserve one extra byte for names in management messages so that they - * are always guaranteed to be nul-terminated */ -#define MGMT_MAX_NAME_LENGTH (248 + 1) -#define MGMT_MAX_SHORT_NAME_LENGTH (10 + 1) - -#define MGMT_SETTING_POWERED 0x00000001 -#define MGMT_SETTING_CONNECTABLE 0x00000002 -#define MGMT_SETTING_FAST_CONNECTABLE 0x00000004 -#define MGMT_SETTING_DISCOVERABLE 0x00000008 -#define MGMT_SETTING_PAIRABLE 0x00000010 -#define MGMT_SETTING_LINK_SECURITY 0x00000020 -#define MGMT_SETTING_SSP 0x00000040 -#define MGMT_SETTING_BREDR 0x00000080 -#define MGMT_SETTING_HS 0x00000100 -#define MGMT_SETTING_LE 0x00000200 - -#define MGMT_OP_READ_INFO 0x0004 -struct mgmt_rp_read_info { - bdaddr_t bdaddr; - uint8_t version; - uint16_t manufacturer; - uint32_t supported_settings; - uint32_t current_settings; - uint8_t dev_class[3]; - uint8_t name[MGMT_MAX_NAME_LENGTH]; - uint8_t short_name[MGMT_MAX_SHORT_NAME_LENGTH]; -} __packed; - -struct mgmt_mode { - uint8_t val; -} __packed; - -struct mgmt_cod { - uint8_t val[3]; -} __packed; - -#define MGMT_OP_SET_POWERED 0x0005 - -#define MGMT_OP_SET_DISCOVERABLE 0x0006 -struct mgmt_cp_set_discoverable { - uint8_t val; - uint16_t timeout; -} __packed; - -#define MGMT_OP_SET_CONNECTABLE 0x0007 - -#define MGMT_OP_SET_FAST_CONNECTABLE 0x0008 - -#define MGMT_OP_SET_PAIRABLE 0x0009 - -#define MGMT_OP_SET_LINK_SECURITY 0x000A - -#define MGMT_OP_SET_SSP 0x000B - -#define MGMT_OP_SET_HS 0x000C - -#define MGMT_OP_SET_LE 0x000D - -#define MGMT_OP_SET_DEV_CLASS 0x000E -struct mgmt_cp_set_dev_class { - uint8_t major; - uint8_t minor; -} __packed; - -#define MGMT_OP_SET_LOCAL_NAME 0x000F -struct mgmt_cp_set_local_name { - uint8_t name[MGMT_MAX_NAME_LENGTH]; - uint8_t short_name[MGMT_MAX_SHORT_NAME_LENGTH]; -} __packed; - -#define MGMT_OP_ADD_UUID 0x0010 -struct mgmt_cp_add_uuid { - uint8_t uuid[16]; - uint8_t svc_hint; -} __packed; - -#define MGMT_OP_REMOVE_UUID 0x0011 -struct mgmt_cp_remove_uuid { - uint8_t uuid[16]; -} __packed; - -struct mgmt_link_key_info { - struct mgmt_addr_info addr; - uint8_t type; - uint8_t val[16]; - uint8_t pin_len; -} __packed; - -#define MGMT_OP_LOAD_LINK_KEYS 0x0012 -struct mgmt_cp_load_link_keys { - uint8_t debug_keys; - uint16_t key_count; - struct mgmt_link_key_info keys[0]; -} __packed; - -struct mgmt_ltk_info { - struct mgmt_addr_info addr; - uint8_t authenticated; - uint8_t master; - uint8_t enc_size; - uint16_t ediv; - uint8_t rand[8]; - uint8_t val[16]; -} __packed; - -#define MGMT_OP_LOAD_LONG_TERM_KEYS 0x0013 -struct mgmt_cp_load_long_term_keys { - uint16_t key_count; - struct mgmt_ltk_info keys[0]; -} __packed; - -#define MGMT_OP_DISCONNECT 0x0014 -struct mgmt_cp_disconnect { - struct mgmt_addr_info addr; -} __packed; -struct mgmt_rp_disconnect { - struct mgmt_addr_info addr; -} __packed; - -#define MGMT_OP_GET_CONNECTIONS 0x0015 -struct mgmt_rp_get_connections { - uint16_t conn_count; - struct mgmt_addr_info addr[0]; -} __packed; - -#define MGMT_OP_PIN_CODE_REPLY 0x0016 -struct mgmt_cp_pin_code_reply { - struct mgmt_addr_info addr; - uint8_t pin_len; - uint8_t pin_code[16]; -} __packed; - -#define MGMT_OP_PIN_CODE_NEG_REPLY 0x0017 -struct mgmt_cp_pin_code_neg_reply { - struct mgmt_addr_info addr; -} __packed; - -#define MGMT_OP_SET_IO_CAPABILITY 0x0018 -struct mgmt_cp_set_io_capability { - uint8_t io_capability; -} __packed; - -#define MGMT_OP_PAIR_DEVICE 0x0019 -struct mgmt_cp_pair_device { - struct mgmt_addr_info addr; - uint8_t io_cap; -} __packed; -struct mgmt_rp_pair_device { - struct mgmt_addr_info addr; -} __packed; - -#define MGMT_OP_CANCEL_PAIR_DEVICE 0x001A - -#define MGMT_OP_UNPAIR_DEVICE 0x001B -struct mgmt_cp_unpair_device { - struct mgmt_addr_info addr; - uint8_t disconnect; -} __packed; -struct mgmt_rp_unpair_device { - struct mgmt_addr_info addr; -} __packed; - -#define MGMT_OP_USER_CONFIRM_REPLY 0x001C -struct mgmt_cp_user_confirm_reply { - struct mgmt_addr_info addr; -} __packed; -struct mgmt_rp_user_confirm_reply { - struct mgmt_addr_info addr; -} __packed; - -#define MGMT_OP_USER_CONFIRM_NEG_REPLY 0x001D - -#define MGMT_OP_USER_PASSKEY_REPLY 0x001E -struct mgmt_cp_user_passkey_reply { - struct mgmt_addr_info addr; - uint32_t passkey; -} __packed; -struct mgmt_rp_user_passkey_reply { - struct mgmt_addr_info addr; -} __packed; - -#define MGMT_OP_USER_PASSKEY_NEG_REPLY 0x001F -struct mgmt_cp_user_passkey_neg_reply { - struct mgmt_addr_info addr; -} __packed; - -#define MGMT_OP_READ_LOCAL_OOB_DATA 0x0020 -struct mgmt_rp_read_local_oob_data { - uint8_t hash[16]; - uint8_t randomizer[16]; -} __packed; - -#define MGMT_OP_ADD_REMOTE_OOB_DATA 0x0021 -struct mgmt_cp_add_remote_oob_data { - struct mgmt_addr_info addr; - uint8_t hash[16]; - uint8_t randomizer[16]; -} __packed; - -#define MGMT_OP_REMOVE_REMOTE_OOB_DATA 0x0022 -struct mgmt_cp_remove_remote_oob_data { - struct mgmt_addr_info addr; -} __packed; - -#define MGMT_OP_START_DISCOVERY 0x0023 -struct mgmt_cp_start_discovery { - uint8_t type; -} __packed; - -#define MGMT_OP_STOP_DISCOVERY 0x0024 -struct mgmt_cp_stop_discovery { - uint8_t type; -} __packed; - -#define MGMT_OP_CONFIRM_NAME 0x0025 -struct mgmt_cp_confirm_name { - struct mgmt_addr_info addr; - uint8_t name_known; -} __packed; -struct mgmt_rp_confirm_name { - struct mgmt_addr_info addr; -} __packed; - -#define MGMT_OP_BLOCK_DEVICE 0x0026 -struct mgmt_cp_block_device { - struct mgmt_addr_info addr; -} __packed; - -#define MGMT_OP_UNBLOCK_DEVICE 0x0027 -struct mgmt_cp_unblock_device { - struct mgmt_addr_info addr; -} __packed; - -#define MGMT_OP_SET_DEVICE_ID 0x0028 -struct mgmt_cp_set_device_id { - uint16_t source; - uint16_t vendor; - uint16_t product; - uint16_t version; -} __packed; - -#define MGMT_EV_CMD_COMPLETE 0x0001 -struct mgmt_ev_cmd_complete { - uint16_t opcode; - uint8_t status; - uint8_t data[0]; -} __packed; - -#define MGMT_EV_CMD_STATUS 0x0002 -struct mgmt_ev_cmd_status { - uint16_t opcode; - uint8_t status; -} __packed; - -#define MGMT_EV_CONTROLLER_ERROR 0x0003 -struct mgmt_ev_controller_error { - uint8_t error_code; -} __packed; - -#define MGMT_EV_INDEX_ADDED 0x0004 - -#define MGMT_EV_INDEX_REMOVED 0x0005 - -#define MGMT_EV_NEW_SETTINGS 0x0006 - -#define MGMT_EV_CLASS_OF_DEV_CHANGED 0x0007 -struct mgmt_ev_class_of_dev_changed { - uint8_t class_of_dev[3]; -} __packed; - -#define MGMT_EV_LOCAL_NAME_CHANGED 0x0008 -struct mgmt_ev_local_name_changed { - uint8_t name[MGMT_MAX_NAME_LENGTH]; - uint8_t short_name[MGMT_MAX_SHORT_NAME_LENGTH]; -} __packed; - -#define MGMT_EV_NEW_LINK_KEY 0x0009 -struct mgmt_ev_new_link_key { - uint8_t store_hint; - struct mgmt_link_key_info key; -} __packed; - -#define MGMT_EV_NEW_LONG_TERM_KEY 0x000A -struct mgmt_ev_new_long_term_key { - uint8_t store_hint; - struct mgmt_ltk_info key; -} __packed; - -#define MGMT_EV_DEVICE_CONNECTED 0x000B -struct mgmt_ev_device_connected { - struct mgmt_addr_info addr; - uint32_t flags; - uint16_t eir_len; - uint8_t eir[0]; -} __packed; - -#define MGMT_DEV_DISCONN_UNKNOWN 0x00 -#define MGMT_DEV_DISCONN_TIMEOUT 0x01 -#define MGMT_DEV_DISCONN_LOCAL_HOST 0x02 -#define MGMT_DEV_DISCONN_REMOTE 0x03 - -#define MGMT_EV_DEVICE_DISCONNECTED 0x000C -struct mgmt_ev_device_disconnected { - struct mgmt_addr_info addr; - uint8_t reason; -} __packed; - -#define MGMT_EV_CONNECT_FAILED 0x000D -struct mgmt_ev_connect_failed { - struct mgmt_addr_info addr; - uint8_t status; -} __packed; - -#define MGMT_EV_PIN_CODE_REQUEST 0x000E -struct mgmt_ev_pin_code_request { - struct mgmt_addr_info addr; - uint8_t secure; -} __packed; - -#define MGMT_EV_USER_CONFIRM_REQUEST 0x000F -struct mgmt_ev_user_confirm_request { - struct mgmt_addr_info addr; - uint8_t confirm_hint; - uint32_t value; -} __packed; - -#define MGMT_EV_USER_PASSKEY_REQUEST 0x0010 -struct mgmt_ev_user_passkey_request { - struct mgmt_addr_info addr; -} __packed; - -#define MGMT_EV_AUTH_FAILED 0x0011 -struct mgmt_ev_auth_failed { - struct mgmt_addr_info addr; - uint8_t status; -} __packed; - -#define MGMT_DEV_FOUND_CONFIRM_NAME 0x01 -#define MGMT_DEV_FOUND_LEGACY_PAIRING 0x02 - -#define MGMT_EV_DEVICE_FOUND 0x0012 -struct mgmt_ev_device_found { - struct mgmt_addr_info addr; - int8_t rssi; - uint32_t flags; - uint16_t eir_len; - uint8_t eir[0]; -} __packed; - -#define MGMT_EV_DISCOVERING 0x0013 -struct mgmt_ev_discovering { - uint8_t type; - uint8_t discovering; -} __packed; - -#define MGMT_EV_DEVICE_BLOCKED 0x0014 -struct mgmt_ev_device_blocked { - struct mgmt_addr_info addr; -} __packed; - -#define MGMT_EV_DEVICE_UNBLOCKED 0x0015 -struct mgmt_ev_device_unblocked { - struct mgmt_addr_info addr; -} __packed; - -#define MGMT_EV_DEVICE_UNPAIRED 0x0016 -struct mgmt_ev_device_unpaired { - struct mgmt_addr_info addr; -} __packed; - -#define MGMT_EV_PASSKEY_NOTIFY 0x0017 -struct mgmt_ev_passkey_notify { - struct mgmt_addr_info addr; - uint32_t passkey; - uint8_t entered; -} __packed; - -static const char *mgmt_op[] = { - "<0x0000>", - "Read Version", - "Read Commands", - "Read Index List", - "Read Controller Info", - "Set Powered", - "Set Discoverable", - "Set Connectable", - "Set Fast Connectable", /* 0x0008 */ - "Set Pairable", - "Set Link Security", - "Set Secure Simple Pairing", - "Set High Speed", - "Set Low Energy", - "Set Dev Class", - "Set Local Name", - "Add UUID", /* 0x0010 */ - "Remove UUID", - "Load Link Keys", - "Load Long Term Keys", - "Disconnect", - "Get Connections", - "PIN Code Reply", - "PIN Code Neg Reply", - "Set IO Capability", /* 0x0018 */ - "Pair Device", - "Cancel Pair Device", - "Unpair Device", - "User Confirm Reply", - "User Confirm Neg Reply", - "User Passkey Reply", - "User Passkey Neg Reply", - "Read Local OOB Data", /* 0x0020 */ - "Add Remote OOB Data", - "Remove Remove OOB Data", - "Start Discovery", - "Stop Discovery", - "Confirm Name", - "Block Device", - "Unblock Device", - "Set Device ID", -}; - -static const char *mgmt_ev[] = { - "<0x0000>", - "Command Complete", - "Command Status", - "Controller Error", - "Index Added", - "Index Removed", - "New Settings", - "Class of Device Changed", - "Local Name Changed", /* 0x0008 */ - "New Link Key", - "New Long Term Key", - "Device Connected", - "Device Disconnected", - "Connect Failed", - "PIN Code Request", - "User Confirm Request", - "User Passkey Request", /* 0x0010 */ - "Authentication Failed", - "Device Found", - "Discovering", - "Device Blocked", - "Device Unblocked", - "Device Unpaired", - "Passkey Notify", -}; - -static const char *mgmt_status[] = { - "Success", - "Unknown Command", - "Not Connected", - "Failed", - "Connect Failed", - "Authentication Failed", - "Not Paired", - "No Resources", - "Timeout", - "Already Connected", - "Busy", - "Rejected", - "Not Supported", - "Invalid Parameters", - "Disconnected", - "Not Powered", - "Cancelled", - "Invalid Index", -}; - -#ifndef NELEM -#define NELEM(x) (sizeof(x) / sizeof((x)[0])) -#endif - -static inline const char *mgmt_opstr(uint16_t op) -{ - if (op >= NELEM(mgmt_op)) - return ""; - return mgmt_op[op]; -} - -static inline const char *mgmt_evstr(uint16_t ev) -{ - if (ev >= NELEM(mgmt_ev)) - return ""; - return mgmt_ev[ev]; -} - -static inline const char *mgmt_errstr(uint8_t status) -{ - if (status >= NELEM(mgmt_status)) - return ""; - return mgmt_status[status]; -} diff --git a/GRIB_BLE_HUB/libs/ble_extend/lib/rfcomm.h b/GRIB_BLE_HUB/libs/ble_extend/lib/rfcomm.h deleted file mode 100644 index ad6c0e1..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/lib/rfcomm.h +++ /dev/null @@ -1,99 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2002-2003 Maxim Krasnyansky - * Copyright (C) 2002-2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifndef __RFCOMM_H -#define __RFCOMM_H - -#ifdef __cplusplus -extern "C" { -#endif - -#include - -/* RFCOMM defaults */ -#define RFCOMM_DEFAULT_MTU 127 - -#define RFCOMM_PSM 3 - -/* RFCOMM socket address */ -struct sockaddr_rc { - sa_family_t rc_family; - bdaddr_t rc_bdaddr; - uint8_t rc_channel; -}; - -/* RFCOMM socket options */ -#define RFCOMM_CONNINFO 0x02 -struct rfcomm_conninfo { - uint16_t hci_handle; - uint8_t dev_class[3]; -}; - -#define RFCOMM_LM 0x03 -#define RFCOMM_LM_MASTER 0x0001 -#define RFCOMM_LM_AUTH 0x0002 -#define RFCOMM_LM_ENCRYPT 0x0004 -#define RFCOMM_LM_TRUSTED 0x0008 -#define RFCOMM_LM_RELIABLE 0x0010 -#define RFCOMM_LM_SECURE 0x0020 - -/* RFCOMM TTY support */ -#define RFCOMM_MAX_DEV 256 - -#define RFCOMMCREATEDEV _IOW('R', 200, int) -#define RFCOMMRELEASEDEV _IOW('R', 201, int) -#define RFCOMMGETDEVLIST _IOR('R', 210, int) -#define RFCOMMGETDEVINFO _IOR('R', 211, int) - -struct rfcomm_dev_req { - int16_t dev_id; - uint32_t flags; - bdaddr_t src; - bdaddr_t dst; - uint8_t channel; -}; -#define RFCOMM_REUSE_DLC 0 -#define RFCOMM_RELEASE_ONHUP 1 -#define RFCOMM_HANGUP_NOW 2 -#define RFCOMM_TTY_ATTACHED 3 - -struct rfcomm_dev_info { - int16_t id; - uint32_t flags; - uint16_t state; - bdaddr_t src; - bdaddr_t dst; - uint8_t channel; -}; - -struct rfcomm_dev_list_req { - uint16_t dev_num; - struct rfcomm_dev_info dev_info[0]; -}; - -#ifdef __cplusplus -} -#endif - -#endif /* __RFCOMM_H */ diff --git a/GRIB_BLE_HUB/libs/ble_extend/lib/sco.h b/GRIB_BLE_HUB/libs/ble_extend/lib/sco.h deleted file mode 100644 index 75336a5..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/lib/sco.h +++ /dev/null @@ -1,62 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2002-2003 Maxim Krasnyansky - * Copyright (C) 2002-2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifndef __SCO_H -#define __SCO_H - -#ifdef __cplusplus -extern "C" { -#endif - -/* SCO defaults */ -#define SCO_DEFAULT_MTU 500 -#define SCO_DEFAULT_FLUSH_TO 0xFFFF - -#define SCO_CONN_TIMEOUT (HZ * 40) -#define SCO_DISCONN_TIMEOUT (HZ * 2) -#define SCO_CONN_IDLE_TIMEOUT (HZ * 60) - -/* SCO socket address */ -struct sockaddr_sco { - sa_family_t sco_family; - bdaddr_t sco_bdaddr; -}; - -/* set/get sockopt defines */ -#define SCO_OPTIONS 0x01 -struct sco_options { - uint16_t mtu; -}; - -#define SCO_CONNINFO 0x02 -struct sco_conninfo { - uint16_t hci_handle; - uint8_t dev_class[3]; -}; - -#ifdef __cplusplus -} -#endif - -#endif /* __SCO_H */ diff --git a/GRIB_BLE_HUB/libs/ble_extend/lib/sdp.c b/GRIB_BLE_HUB/libs/ble_extend/lib/sdp.c deleted file mode 100644 index cc685b4..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/lib/sdp.c +++ /dev/null @@ -1,4914 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2001-2002 Nokia Corporation - * Copyright (C) 2002-2003 Maxim Krasnyansky - * Copyright (C) 2002-2010 Marcel Holtmann - * Copyright (C) 2002-2003 Stephen Crane - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "bluetooth.h" -#include "hci.h" -#include "hci_lib.h" -#include "l2cap.h" -#include "sdp.h" -#include "sdp_lib.h" - -#define SDPINF(fmt, arg...) syslog(LOG_INFO, fmt "\n", ## arg) -#define SDPERR(fmt, arg...) syslog(LOG_ERR, "%s: " fmt "\n", __func__ , ## arg) - -#define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0])) - -#ifdef SDP_DEBUG -#define SDPDBG(fmt, arg...) syslog(LOG_DEBUG, "%s: " fmt "\n", __func__ , ## arg) -#else -#define SDPDBG(fmt...) -#endif - -static uint128_t bluetooth_base_uuid = { - .data = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, - 0x80, 0x00, 0x00, 0x80, 0x5F, 0x9B, 0x34, 0xFB } -}; - -#define SDP_MAX_ATTR_LEN 65535 - -static sdp_data_t *sdp_copy_seq(sdp_data_t *data); -static int sdp_attr_add_new_with_length(sdp_record_t *rec, - uint16_t attr, uint8_t dtd, const void *value, uint32_t len); -static int sdp_gen_buffer(sdp_buf_t *buf, sdp_data_t *d); - -/* Message structure. */ -struct tupla { - int index; - char *str; -}; - -static struct tupla Protocol[] = { - { SDP_UUID, "SDP" }, - { UDP_UUID, "UDP" }, - { RFCOMM_UUID, "RFCOMM" }, - { TCP_UUID, "TCP" }, - { TCS_BIN_UUID, "TCS-BIN" }, - { TCS_AT_UUID, "TCS-AT" }, - { OBEX_UUID, "OBEX" }, - { IP_UUID, "IP" }, - { FTP_UUID, "FTP" }, - { HTTP_UUID, "HTTP" }, - { WSP_UUID, "WSP" }, - { BNEP_UUID, "BNEP" }, - { UPNP_UUID, "UPNP" }, - { HIDP_UUID, "HIDP" }, - { HCRP_CTRL_UUID, "HCRP-Ctrl" }, - { HCRP_DATA_UUID, "HCRP-Data" }, - { HCRP_NOTE_UUID, "HCRP-Notify" }, - { AVCTP_UUID, "AVCTP" }, - { AVDTP_UUID, "AVDTP" }, - { CMTP_UUID, "CMTP" }, - { UDI_UUID, "UDI" }, - { MCAP_CTRL_UUID, "MCAP-Ctrl" }, - { MCAP_DATA_UUID, "MCAP-Data" }, - { L2CAP_UUID, "L2CAP" }, - { ATT_UUID, "ATT" }, - { 0 } -}; - -static struct tupla ServiceClass[] = { - { SDP_SERVER_SVCLASS_ID, "SDP Server" }, - { BROWSE_GRP_DESC_SVCLASS_ID, "Browse Group Descriptor" }, - { PUBLIC_BROWSE_GROUP, "Public Browse Group" }, - { SERIAL_PORT_SVCLASS_ID, "Serial Port" }, - { LAN_ACCESS_SVCLASS_ID, "LAN Access Using PPP" }, - { DIALUP_NET_SVCLASS_ID, "Dialup Networking" }, - { IRMC_SYNC_SVCLASS_ID, "IrMC Sync" }, - { OBEX_OBJPUSH_SVCLASS_ID, "OBEX Object Push" }, - { OBEX_FILETRANS_SVCLASS_ID, "OBEX File Transfer" }, - { IRMC_SYNC_CMD_SVCLASS_ID, "IrMC Sync Command" }, - { HEADSET_SVCLASS_ID, "Headset" }, - { CORDLESS_TELEPHONY_SVCLASS_ID, "Cordless Telephony" }, - { AUDIO_SOURCE_SVCLASS_ID, "Audio Source" }, - { AUDIO_SINK_SVCLASS_ID, "Audio Sink" }, - { AV_REMOTE_TARGET_SVCLASS_ID, "AV Remote Target" }, - { ADVANCED_AUDIO_SVCLASS_ID, "Advanced Audio" }, - { AV_REMOTE_SVCLASS_ID, "AV Remote" }, - { VIDEO_CONF_SVCLASS_ID, "Video Conferencing" }, - { INTERCOM_SVCLASS_ID, "Intercom" }, - { FAX_SVCLASS_ID, "Fax" }, - { HEADSET_AGW_SVCLASS_ID, "Headset Audio Gateway" }, - { WAP_SVCLASS_ID, "WAP" }, - { WAP_CLIENT_SVCLASS_ID, "WAP Client" }, - { PANU_SVCLASS_ID, "PAN User" }, - { NAP_SVCLASS_ID, "Network Access Point" }, - { GN_SVCLASS_ID, "PAN Group Network" }, - { DIRECT_PRINTING_SVCLASS_ID, "Direct Printing" }, - { REFERENCE_PRINTING_SVCLASS_ID, "Reference Printing" }, - { IMAGING_SVCLASS_ID, "Imaging" }, - { IMAGING_RESPONDER_SVCLASS_ID, "Imaging Responder" }, - { IMAGING_ARCHIVE_SVCLASS_ID, "Imaging Automatic Archive" }, - { IMAGING_REFOBJS_SVCLASS_ID, "Imaging Referenced Objects" }, - { HANDSFREE_SVCLASS_ID, "Handsfree" }, - { HANDSFREE_AGW_SVCLASS_ID, "Handsfree Audio Gateway" }, - { DIRECT_PRT_REFOBJS_SVCLASS_ID, "Direct Printing Ref. Objects" }, - { REFLECTED_UI_SVCLASS_ID, "Reflected UI" }, - { BASIC_PRINTING_SVCLASS_ID, "Basic Printing" }, - { PRINTING_STATUS_SVCLASS_ID, "Printing Status" }, - { HID_SVCLASS_ID, "Human Interface Device" }, - { HCR_SVCLASS_ID, "Hardcopy Cable Replacement" }, - { HCR_PRINT_SVCLASS_ID, "HCR Print" }, - { HCR_SCAN_SVCLASS_ID, "HCR Scan" }, - { CIP_SVCLASS_ID, "Common ISDN Access" }, - { VIDEO_CONF_GW_SVCLASS_ID, "Video Conferencing Gateway" }, - { UDI_MT_SVCLASS_ID, "UDI MT" }, - { UDI_TA_SVCLASS_ID, "UDI TA" }, - { AV_SVCLASS_ID, "Audio/Video" }, - { SAP_SVCLASS_ID, "SIM Access" }, - { PBAP_PCE_SVCLASS_ID, "Phonebook Access - PCE" }, - { PBAP_PSE_SVCLASS_ID, "Phonebook Access - PSE" }, - { PBAP_SVCLASS_ID, "Phonebook Access" }, - { MAP_MSE_SVCLASS_ID, "Message Access - MAS" }, - { MAP_MCE_SVCLASS_ID, "Message Access - MNS" }, - { MAP_SVCLASS_ID, "Message Access" }, - { PNP_INFO_SVCLASS_ID, "PnP Information" }, - { GENERIC_NETWORKING_SVCLASS_ID, "Generic Networking" }, - { GENERIC_FILETRANS_SVCLASS_ID, "Generic File Transfer" }, - { GENERIC_AUDIO_SVCLASS_ID, "Generic Audio" }, - { GENERIC_TELEPHONY_SVCLASS_ID, "Generic Telephony" }, - { UPNP_SVCLASS_ID, "UPnP" }, - { UPNP_IP_SVCLASS_ID, "UPnP IP" }, - { UPNP_PAN_SVCLASS_ID, "UPnP PAN" }, - { UPNP_LAP_SVCLASS_ID, "UPnP LAP" }, - { UPNP_L2CAP_SVCLASS_ID, "UPnP L2CAP" }, - { VIDEO_SOURCE_SVCLASS_ID, "Video Source" }, - { VIDEO_SINK_SVCLASS_ID, "Video Sink" }, - { VIDEO_DISTRIBUTION_SVCLASS_ID, "Video Distribution" }, - { HDP_SVCLASS_ID, "HDP" }, - { HDP_SOURCE_SVCLASS_ID, "HDP Source" }, - { HDP_SINK_SVCLASS_ID, "HDP Sink" }, - { APPLE_AGENT_SVCLASS_ID, "Apple Agent" }, - { GENERIC_ATTRIB_SVCLASS_ID, "Generic Attribute" }, - { 0 } -}; - -#define Profile ServiceClass - -static char *string_lookup(struct tupla *pt0, int index) -{ - struct tupla *pt; - - for (pt = pt0; pt->index; pt++) - if (pt->index == index) - return pt->str; - - return ""; -} - -static char *string_lookup_uuid(struct tupla *pt0, const uuid_t *uuid) -{ - uuid_t tmp_uuid; - - memcpy(&tmp_uuid, uuid, sizeof(tmp_uuid)); - - if (sdp_uuid128_to_uuid(&tmp_uuid)) { - switch (tmp_uuid.type) { - case SDP_UUID16: - return string_lookup(pt0, tmp_uuid.value.uuid16); - case SDP_UUID32: - return string_lookup(pt0, tmp_uuid.value.uuid32); - } - } - - return ""; -} - -/* - * Prints into a string the Protocol UUID - * coping a maximum of n characters. - */ -static int uuid2str(struct tupla *message, const uuid_t *uuid, char *str, size_t n) -{ - char *str2; - - if (!uuid) { - snprintf(str, n, "NULL"); - return -2; - } - - switch (uuid->type) { - case SDP_UUID16: - str2 = string_lookup(message, uuid->value.uuid16); - snprintf(str, n, "%s", str2); - break; - case SDP_UUID32: - str2 = string_lookup(message, uuid->value.uuid32); - snprintf(str, n, "%s", str2); - break; - case SDP_UUID128: - str2 = string_lookup_uuid(message, uuid); - snprintf(str, n, "%s", str2); - break; - default: - snprintf(str, n, "Type of UUID (%x) unknown.", uuid->type); - return -1; - } - - return 0; -} - -int sdp_proto_uuid2strn(const uuid_t *uuid, char *str, size_t n) -{ - return uuid2str(Protocol, uuid, str, n); -} - -int sdp_svclass_uuid2strn(const uuid_t *uuid, char *str, size_t n) -{ - return uuid2str(ServiceClass, uuid, str, n); -} - -int sdp_profile_uuid2strn(const uuid_t *uuid, char *str, size_t n) -{ - return uuid2str(Profile, uuid, str, n); -} - -/* - * convert the UUID to string, copying a maximum of n characters. - */ -int sdp_uuid2strn(const uuid_t *uuid, char *str, size_t n) -{ - if (!uuid) { - snprintf(str, n, "NULL"); - return -2; - } - switch (uuid->type) { - case SDP_UUID16: - snprintf(str, n, "%.4x", uuid->value.uuid16); - break; - case SDP_UUID32: - snprintf(str, n, "%.8x", uuid->value.uuid32); - break; - case SDP_UUID128:{ - unsigned int data0; - unsigned short data1; - unsigned short data2; - unsigned short data3; - unsigned int data4; - unsigned short data5; - - memcpy(&data0, &uuid->value.uuid128.data[0], 4); - memcpy(&data1, &uuid->value.uuid128.data[4], 2); - memcpy(&data2, &uuid->value.uuid128.data[6], 2); - memcpy(&data3, &uuid->value.uuid128.data[8], 2); - memcpy(&data4, &uuid->value.uuid128.data[10], 4); - memcpy(&data5, &uuid->value.uuid128.data[14], 2); - - snprintf(str, n, "%.8x-%.4x-%.4x-%.4x-%.8x%.4x", - ntohl(data0), ntohs(data1), - ntohs(data2), ntohs(data3), - ntohl(data4), ntohs(data5)); - } - break; - default: - snprintf(str, n, "Type of UUID (%x) unknown.", uuid->type); - return -1; /* Enum type of UUID not set */ - } - return 0; -} - -#ifdef SDP_DEBUG -/* - * Function prints the UUID in hex as per defined syntax - - * - * 4bytes-2bytes-2bytes-2bytes-6bytes - * - * There is some ugly code, including hardcoding, but - * that is just the way it is converting 16 and 32 bit - * UUIDs to 128 bit as defined in the SDP doc - */ -void sdp_uuid_print(const uuid_t *uuid) -{ - if (uuid == NULL) { - SDPERR("Null passed to print UUID\n"); - return; - } - if (uuid->type == SDP_UUID16) { - SDPDBG(" uint16_t : 0x%.4x\n", uuid->value.uuid16); - } else if (uuid->type == SDP_UUID32) { - SDPDBG(" uint32_t : 0x%.8x\n", uuid->value.uuid32); - } else if (uuid->type == SDP_UUID128) { - unsigned int data0; - unsigned short data1; - unsigned short data2; - unsigned short data3; - unsigned int data4; - unsigned short data5; - - memcpy(&data0, &uuid->value.uuid128.data[0], 4); - memcpy(&data1, &uuid->value.uuid128.data[4], 2); - memcpy(&data2, &uuid->value.uuid128.data[6], 2); - memcpy(&data3, &uuid->value.uuid128.data[8], 2); - memcpy(&data4, &uuid->value.uuid128.data[10], 4); - memcpy(&data5, &uuid->value.uuid128.data[14], 2); - - SDPDBG(" uint128_t : 0x%.8x-", ntohl(data0)); - SDPDBG("%.4x-", ntohs(data1)); - SDPDBG("%.4x-", ntohs(data2)); - SDPDBG("%.4x-", ntohs(data3)); - SDPDBG("%.8x", ntohl(data4)); - SDPDBG("%.4x\n", ntohs(data5)); - } else - SDPERR("Enum type of UUID not set\n"); -} -#endif - -sdp_data_t *sdp_data_alloc_with_length(uint8_t dtd, const void *value, - uint32_t length) -{ - sdp_data_t *seq; - sdp_data_t *d = malloc(sizeof(sdp_data_t)); - - if (!d) - return NULL; - - memset(d, 0, sizeof(sdp_data_t)); - d->dtd = dtd; - d->unitSize = sizeof(uint8_t); - - switch (dtd) { - case SDP_DATA_NIL: - break; - case SDP_UINT8: - d->val.uint8 = *(uint8_t *) value; - d->unitSize += sizeof(uint8_t); - break; - case SDP_INT8: - case SDP_BOOL: - d->val.int8 = *(int8_t *) value; - d->unitSize += sizeof(int8_t); - break; - case SDP_UINT16: - d->val.uint16 = bt_get_unaligned((uint16_t *) value); - d->unitSize += sizeof(uint16_t); - break; - case SDP_INT16: - d->val.int16 = bt_get_unaligned((int16_t *) value); - d->unitSize += sizeof(int16_t); - break; - case SDP_UINT32: - d->val.uint32 = bt_get_unaligned((uint32_t *) value); - d->unitSize += sizeof(uint32_t); - break; - case SDP_INT32: - d->val.int32 = bt_get_unaligned((int32_t *) value); - d->unitSize += sizeof(int32_t); - break; - case SDP_INT64: - d->val.int64 = bt_get_unaligned((int64_t *) value); - d->unitSize += sizeof(int64_t); - break; - case SDP_UINT64: - d->val.uint64 = bt_get_unaligned((uint64_t *) value); - d->unitSize += sizeof(uint64_t); - break; - case SDP_UINT128: - memcpy(&d->val.uint128.data, value, sizeof(uint128_t)); - d->unitSize += sizeof(uint128_t); - break; - case SDP_INT128: - memcpy(&d->val.int128.data, value, sizeof(uint128_t)); - d->unitSize += sizeof(uint128_t); - break; - case SDP_UUID16: - sdp_uuid16_create(&d->val.uuid, bt_get_unaligned((uint16_t *) value)); - d->unitSize += sizeof(uint16_t); - break; - case SDP_UUID32: - sdp_uuid32_create(&d->val.uuid, bt_get_unaligned((uint32_t *) value)); - d->unitSize += sizeof(uint32_t); - break; - case SDP_UUID128: - sdp_uuid128_create(&d->val.uuid, value); - d->unitSize += sizeof(uint128_t); - break; - case SDP_URL_STR8: - case SDP_URL_STR16: - case SDP_TEXT_STR8: - case SDP_TEXT_STR16: - if (!value) { - free(d); - return NULL; - } - - d->unitSize += length; - if (length <= USHRT_MAX) { - d->val.str = malloc(length); - if (!d->val.str) { - free(d); - return NULL; - } - - memcpy(d->val.str, value, length); - } else { - SDPERR("Strings of size > USHRT_MAX not supported\n"); - free(d); - d = NULL; - } - break; - case SDP_URL_STR32: - case SDP_TEXT_STR32: - SDPERR("Strings of size > USHRT_MAX not supported\n"); - break; - case SDP_ALT8: - case SDP_ALT16: - case SDP_ALT32: - case SDP_SEQ8: - case SDP_SEQ16: - case SDP_SEQ32: - if (dtd == SDP_ALT8 || dtd == SDP_SEQ8) - d->unitSize += sizeof(uint8_t); - else if (dtd == SDP_ALT16 || dtd == SDP_SEQ16) - d->unitSize += sizeof(uint16_t); - else if (dtd == SDP_ALT32 || dtd == SDP_SEQ32) - d->unitSize += sizeof(uint32_t); - seq = (sdp_data_t *)value; - d->val.dataseq = seq; - for (; seq; seq = seq->next) - d->unitSize += seq->unitSize; - break; - default: - free(d); - d = NULL; - } - - return d; -} - -sdp_data_t *sdp_data_alloc(uint8_t dtd, const void *value) -{ - uint32_t length; - - switch (dtd) { - case SDP_URL_STR8: - case SDP_URL_STR16: - case SDP_TEXT_STR8: - case SDP_TEXT_STR16: - if (!value) - return NULL; - - length = strlen((char *) value); - break; - default: - length = 0; - break; - } - - return sdp_data_alloc_with_length(dtd, value, length); -} - -sdp_data_t *sdp_seq_append(sdp_data_t *seq, sdp_data_t *d) -{ - if (seq) { - sdp_data_t *p; - for (p = seq; p->next; p = p->next); - p->next = d; - } else - seq = d; - d->next = NULL; - return seq; -} - -sdp_data_t *sdp_seq_alloc_with_length(void **dtds, void **values, int *length, - int len) -{ - sdp_data_t *curr = NULL, *seq = NULL; - int i; - - for (i = 0; i < len; i++) { - sdp_data_t *data; - int8_t dtd = *(uint8_t *) dtds[i]; - - if (dtd >= SDP_SEQ8 && dtd <= SDP_ALT32) - data = (sdp_data_t *) values[i]; - else - data = sdp_data_alloc_with_length(dtd, values[i], length[i]); - - if (!data) - return NULL; - - if (curr) - curr->next = data; - else - seq = data; - - curr = data; - } - - return sdp_data_alloc_with_length(SDP_SEQ8, seq, length[i]); -} - -sdp_data_t *sdp_seq_alloc(void **dtds, void **values, int len) -{ - sdp_data_t *curr = NULL, *seq = NULL; - int i; - - for (i = 0; i < len; i++) { - sdp_data_t *data; - uint8_t dtd = *(uint8_t *) dtds[i]; - - if (dtd >= SDP_SEQ8 && dtd <= SDP_ALT32) - data = (sdp_data_t *) values[i]; - else - data = sdp_data_alloc(dtd, values[i]); - - if (!data) - return NULL; - - if (curr) - curr->next = data; - else - seq = data; - - curr = data; - } - - return sdp_data_alloc(SDP_SEQ8, seq); -} - -static void extract_svclass_uuid(sdp_data_t *data, uuid_t *uuid) -{ - sdp_data_t *d; - - if (!data || !SDP_IS_SEQ(data->dtd)) - return; - - d = data->val.dataseq; - if (!d) - return; - - if (d->dtd < SDP_UUID16 || d->dtd > SDP_UUID128) - return; - - *uuid = d->val.uuid; -} - -int sdp_attr_add(sdp_record_t *rec, uint16_t attr, sdp_data_t *d) -{ - sdp_data_t *p = sdp_data_get(rec, attr); - - if (p) - return -1; - - d->attrId = attr; - rec->attrlist = sdp_list_insert_sorted(rec->attrlist, d, sdp_attrid_comp_func); - - if (attr == SDP_ATTR_SVCLASS_ID_LIST) - extract_svclass_uuid(d, &rec->svclass); - - return 0; -} - -void sdp_attr_remove(sdp_record_t *rec, uint16_t attr) -{ - sdp_data_t *d = sdp_data_get(rec, attr); - - if (d) - rec->attrlist = sdp_list_remove(rec->attrlist, d); - - if (attr == SDP_ATTR_SVCLASS_ID_LIST) - memset(&rec->svclass, 0, sizeof(rec->svclass)); -} - -void sdp_set_seq_len(uint8_t *ptr, uint32_t length) -{ - uint8_t dtd = *ptr++; - - switch (dtd) { - case SDP_SEQ8: - case SDP_ALT8: - case SDP_TEXT_STR8: - case SDP_URL_STR8: - *ptr = (uint8_t) length; - break; - case SDP_SEQ16: - case SDP_ALT16: - case SDP_TEXT_STR16: - case SDP_URL_STR16: - bt_put_be16(length, ptr); - break; - case SDP_SEQ32: - case SDP_ALT32: - case SDP_TEXT_STR32: - case SDP_URL_STR32: - bt_put_be32(length, ptr); - break; - } -} - -static int sdp_get_data_type_size(uint8_t dtd) -{ - int size = sizeof(uint8_t); - - switch (dtd) { - case SDP_SEQ8: - case SDP_TEXT_STR8: - case SDP_URL_STR8: - case SDP_ALT8: - size += sizeof(uint8_t); - break; - case SDP_SEQ16: - case SDP_TEXT_STR16: - case SDP_URL_STR16: - case SDP_ALT16: - size += sizeof(uint16_t); - break; - case SDP_SEQ32: - case SDP_TEXT_STR32: - case SDP_URL_STR32: - case SDP_ALT32: - size += sizeof(uint32_t); - break; - } - - return size; -} - -void sdp_set_attrid(sdp_buf_t *buf, uint16_t attr) -{ - uint8_t *p = buf->data; - - /* data type for attr */ - *p++ = SDP_UINT16; - buf->data_size = sizeof(uint8_t); - bt_put_be16(attr, p); - buf->data_size += sizeof(uint16_t); -} - -static int get_data_size(sdp_buf_t *buf, sdp_data_t *sdpdata) -{ - sdp_data_t *d; - int n = 0; - - for (d = sdpdata->val.dataseq; d; d = d->next) { - if (buf->data) - n += sdp_gen_pdu(buf, d); - else - n += sdp_gen_buffer(buf, d); - } - - return n; -} - -static int sdp_get_data_size(sdp_buf_t *buf, sdp_data_t *d) -{ - uint32_t data_size = 0; - uint8_t dtd = d->dtd; - - switch (dtd) { - case SDP_DATA_NIL: - break; - case SDP_UINT8: - data_size = sizeof(uint8_t); - break; - case SDP_UINT16: - data_size = sizeof(uint16_t); - break; - case SDP_UINT32: - data_size = sizeof(uint32_t); - break; - case SDP_UINT64: - data_size = sizeof(uint64_t); - break; - case SDP_UINT128: - data_size = sizeof(uint128_t); - break; - case SDP_INT8: - case SDP_BOOL: - data_size = sizeof(int8_t); - break; - case SDP_INT16: - data_size = sizeof(int16_t); - break; - case SDP_INT32: - data_size = sizeof(int32_t); - break; - case SDP_INT64: - data_size = sizeof(int64_t); - break; - case SDP_INT128: - data_size = sizeof(uint128_t); - break; - case SDP_TEXT_STR8: - case SDP_TEXT_STR16: - case SDP_TEXT_STR32: - case SDP_URL_STR8: - case SDP_URL_STR16: - case SDP_URL_STR32: - data_size = d->unitSize - sizeof(uint8_t); - break; - case SDP_SEQ8: - case SDP_SEQ16: - case SDP_SEQ32: - data_size = get_data_size(buf, d); - break; - case SDP_ALT8: - case SDP_ALT16: - case SDP_ALT32: - data_size = get_data_size(buf, d); - break; - case SDP_UUID16: - data_size = sizeof(uint16_t); - break; - case SDP_UUID32: - data_size = sizeof(uint32_t); - break; - case SDP_UUID128: - data_size = sizeof(uint128_t); - break; - default: - break; - } - - return data_size; -} - -static int sdp_gen_buffer(sdp_buf_t *buf, sdp_data_t *d) -{ - int orig = buf->buf_size; - - if (buf->buf_size == 0 && d->dtd == 0) { - /* create initial sequence */ - buf->buf_size += sizeof(uint8_t); - - /* reserve space for sequence size */ - buf->buf_size += sizeof(uint8_t); - } - - /* attribute length */ - buf->buf_size += sizeof(uint8_t) + sizeof(uint16_t); - - buf->buf_size += sdp_get_data_type_size(d->dtd); - buf->buf_size += sdp_get_data_size(buf, d); - - if (buf->buf_size > UCHAR_MAX && d->dtd == SDP_SEQ8) - buf->buf_size += sizeof(uint8_t); - - return buf->buf_size - orig; -} - -int sdp_gen_pdu(sdp_buf_t *buf, sdp_data_t *d) -{ - uint32_t pdu_size, data_size; - unsigned char *src = NULL, is_seq = 0, is_alt = 0; - uint16_t u16; - uint32_t u32; - uint64_t u64; - uint128_t u128; - uint8_t *seqp = buf->data + buf->data_size; - uint32_t orig_data_size = buf->data_size; - -recalculate: - pdu_size = sdp_get_data_type_size(d->dtd); - buf->data_size += pdu_size; - - data_size = sdp_get_data_size(buf, d); - if (data_size > UCHAR_MAX && d->dtd == SDP_SEQ8) { - buf->data_size = orig_data_size; - d->dtd = SDP_SEQ16; - goto recalculate; - } - - *seqp = d->dtd; - - switch (d->dtd) { - case SDP_DATA_NIL: - break; - case SDP_UINT8: - src = &d->val.uint8; - break; - case SDP_UINT16: - u16 = htons(d->val.uint16); - src = (unsigned char *) &u16; - break; - case SDP_UINT32: - u32 = htonl(d->val.uint32); - src = (unsigned char *) &u32; - break; - case SDP_UINT64: - u64 = hton64(d->val.uint64); - src = (unsigned char *) &u64; - break; - case SDP_UINT128: - hton128(&d->val.uint128, &u128); - src = (unsigned char *) &u128; - break; - case SDP_INT8: - case SDP_BOOL: - src = (unsigned char *) &d->val.int8; - break; - case SDP_INT16: - u16 = htons(d->val.int16); - src = (unsigned char *) &u16; - break; - case SDP_INT32: - u32 = htonl(d->val.int32); - src = (unsigned char *) &u32; - break; - case SDP_INT64: - u64 = hton64(d->val.int64); - src = (unsigned char *) &u64; - break; - case SDP_INT128: - hton128(&d->val.int128, &u128); - src = (unsigned char *) &u128; - break; - case SDP_TEXT_STR8: - case SDP_TEXT_STR16: - case SDP_TEXT_STR32: - case SDP_URL_STR8: - case SDP_URL_STR16: - case SDP_URL_STR32: - src = (unsigned char *) d->val.str; - sdp_set_seq_len(seqp, data_size); - break; - case SDP_SEQ8: - case SDP_SEQ16: - case SDP_SEQ32: - is_seq = 1; - sdp_set_seq_len(seqp, data_size); - break; - case SDP_ALT8: - case SDP_ALT16: - case SDP_ALT32: - is_alt = 1; - sdp_set_seq_len(seqp, data_size); - break; - case SDP_UUID16: - u16 = htons(d->val.uuid.value.uuid16); - src = (unsigned char *) &u16; - break; - case SDP_UUID32: - u32 = htonl(d->val.uuid.value.uuid32); - src = (unsigned char *) &u32; - break; - case SDP_UUID128: - src = (unsigned char *) &d->val.uuid.value.uuid128; - break; - default: - break; - } - - if (!is_seq && !is_alt) { - if (src && buf->buf_size >= buf->data_size + data_size) { - memcpy(buf->data + buf->data_size, src, data_size); - buf->data_size += data_size; - } else if (d->dtd != SDP_DATA_NIL) { - SDPDBG("Gen PDU : Can't copy from invalid source or dest\n"); - } - } - - pdu_size += data_size; - - return pdu_size; -} - -static void sdp_attr_pdu(void *value, void *udata) -{ - sdp_append_to_pdu((sdp_buf_t *)udata, (sdp_data_t *)value); -} - -static void sdp_attr_size(void *value, void *udata) -{ - sdp_gen_buffer((sdp_buf_t *)udata, (sdp_data_t *)value); -} - -int sdp_gen_record_pdu(const sdp_record_t *rec, sdp_buf_t *buf) -{ - memset(buf, 0, sizeof(sdp_buf_t)); - sdp_list_foreach(rec->attrlist, sdp_attr_size, buf); - - buf->data = malloc(buf->buf_size); - if (!buf->data) - return -ENOMEM; - buf->data_size = 0; - memset(buf->data, 0, buf->buf_size); - - sdp_list_foreach(rec->attrlist, sdp_attr_pdu, buf); - - return 0; -} - -void sdp_attr_replace(sdp_record_t *rec, uint16_t attr, sdp_data_t *d) -{ - sdp_data_t *p = sdp_data_get(rec, attr); - - if (p) { - rec->attrlist = sdp_list_remove(rec->attrlist, p); - sdp_data_free(p); - } - - d->attrId = attr; - rec->attrlist = sdp_list_insert_sorted(rec->attrlist, d, sdp_attrid_comp_func); - - if (attr == SDP_ATTR_SVCLASS_ID_LIST) - extract_svclass_uuid(d, &rec->svclass); -} - -int sdp_attrid_comp_func(const void *key1, const void *key2) -{ - const sdp_data_t *d1 = (const sdp_data_t *)key1; - const sdp_data_t *d2 = (const sdp_data_t *)key2; - - if (d1 && d2) - return d1->attrId - d2->attrId; - return 0; -} - -static void data_seq_free(sdp_data_t *seq) -{ - sdp_data_t *d = seq->val.dataseq; - - while (d) { - sdp_data_t *next = d->next; - sdp_data_free(d); - d = next; - } -} - -void sdp_data_free(sdp_data_t *d) -{ - switch (d->dtd) { - case SDP_SEQ8: - case SDP_SEQ16: - case SDP_SEQ32: - data_seq_free(d); - break; - case SDP_URL_STR8: - case SDP_URL_STR16: - case SDP_URL_STR32: - case SDP_TEXT_STR8: - case SDP_TEXT_STR16: - case SDP_TEXT_STR32: - free(d->val.str); - break; - } - free(d); -} - -int sdp_uuid_extract(const uint8_t *p, int bufsize, uuid_t *uuid, int *scanned) -{ - uint8_t type; - - if (bufsize < (int) sizeof(uint8_t)) { - SDPERR("Unexpected end of packet"); - return -1; - } - - type = *(const uint8_t *) p; - - if (!SDP_IS_UUID(type)) { - SDPERR("Unknown data type : %d expecting a svc UUID\n", type); - return -1; - } - p += sizeof(uint8_t); - *scanned += sizeof(uint8_t); - bufsize -= sizeof(uint8_t); - if (type == SDP_UUID16) { - if (bufsize < (int) sizeof(uint16_t)) { - SDPERR("Not enough room for 16-bit UUID"); - return -1; - } - sdp_uuid16_create(uuid, bt_get_be16(p)); - *scanned += sizeof(uint16_t); - } else if (type == SDP_UUID32) { - if (bufsize < (int) sizeof(uint32_t)) { - SDPERR("Not enough room for 32-bit UUID"); - return -1; - } - sdp_uuid32_create(uuid, bt_get_be32(p)); - *scanned += sizeof(uint32_t); - } else { - if (bufsize < (int) sizeof(uint128_t)) { - SDPERR("Not enough room for 128-bit UUID"); - return -1; - } - sdp_uuid128_create(uuid, p); - *scanned += sizeof(uint128_t); - } - return 0; -} - -static sdp_data_t *extract_int(const void *p, int bufsize, int *len) -{ - sdp_data_t *d; - - if (bufsize < (int) sizeof(uint8_t)) { - SDPERR("Unexpected end of packet"); - return NULL; - } - - d = malloc(sizeof(sdp_data_t)); - if (!d) - return NULL; - - SDPDBG("Extracting integer\n"); - memset(d, 0, sizeof(sdp_data_t)); - d->dtd = *(uint8_t *) p; - p += sizeof(uint8_t); - *len += sizeof(uint8_t); - bufsize -= sizeof(uint8_t); - - switch (d->dtd) { - case SDP_DATA_NIL: - break; - case SDP_BOOL: - case SDP_INT8: - case SDP_UINT8: - if (bufsize < (int) sizeof(uint8_t)) { - SDPERR("Unexpected end of packet"); - free(d); - return NULL; - } - *len += sizeof(uint8_t); - d->val.uint8 = *(uint8_t *) p; - break; - case SDP_INT16: - case SDP_UINT16: - if (bufsize < (int) sizeof(uint16_t)) { - SDPERR("Unexpected end of packet"); - free(d); - return NULL; - } - *len += sizeof(uint16_t); - d->val.uint16 = bt_get_be16(p); - break; - case SDP_INT32: - case SDP_UINT32: - if (bufsize < (int) sizeof(uint32_t)) { - SDPERR("Unexpected end of packet"); - free(d); - return NULL; - } - *len += sizeof(uint32_t); - d->val.uint32 = bt_get_be32(p); - break; - case SDP_INT64: - case SDP_UINT64: - if (bufsize < (int) sizeof(uint64_t)) { - SDPERR("Unexpected end of packet"); - free(d); - return NULL; - } - *len += sizeof(uint64_t); - d->val.uint64 = bt_get_be64(p); - break; - case SDP_INT128: - case SDP_UINT128: - if (bufsize < (int) sizeof(uint128_t)) { - SDPERR("Unexpected end of packet"); - free(d); - return NULL; - } - *len += sizeof(uint128_t); - ntoh128((uint128_t *) p, &d->val.uint128); - break; - default: - free(d); - d = NULL; - } - return d; -} - -static sdp_data_t *extract_uuid(const uint8_t *p, int bufsize, int *len, - sdp_record_t *rec) -{ - sdp_data_t *d = malloc(sizeof(sdp_data_t)); - - if (!d) - return NULL; - - SDPDBG("Extracting UUID"); - memset(d, 0, sizeof(sdp_data_t)); - if (sdp_uuid_extract(p, bufsize, &d->val.uuid, len) < 0) { - free(d); - return NULL; - } - d->dtd = *p; - if (rec) - sdp_pattern_add_uuid(rec, &d->val.uuid); - return d; -} - -/* - * Extract strings from the PDU (could be service description and similar info) - */ -static sdp_data_t *extract_str(const void *p, int bufsize, int *len) -{ - char *s; - int n; - sdp_data_t *d; - - if (bufsize < (int) sizeof(uint8_t)) { - SDPERR("Unexpected end of packet"); - return NULL; - } - - d = malloc(sizeof(sdp_data_t)); - if (!d) - return NULL; - - memset(d, 0, sizeof(sdp_data_t)); - d->dtd = *(uint8_t *) p; - p += sizeof(uint8_t); - *len += sizeof(uint8_t); - bufsize -= sizeof(uint8_t); - - switch (d->dtd) { - case SDP_TEXT_STR8: - case SDP_URL_STR8: - if (bufsize < (int) sizeof(uint8_t)) { - SDPERR("Unexpected end of packet"); - free(d); - return NULL; - } - n = *(uint8_t *) p; - p += sizeof(uint8_t); - *len += sizeof(uint8_t); - bufsize -= sizeof(uint8_t); - break; - case SDP_TEXT_STR16: - case SDP_URL_STR16: - if (bufsize < (int) sizeof(uint16_t)) { - SDPERR("Unexpected end of packet"); - free(d); - return NULL; - } - n = bt_get_be16(p); - p += sizeof(uint16_t); - *len += sizeof(uint16_t); - bufsize -= sizeof(uint16_t); - break; - default: - SDPERR("Sizeof text string > UINT16_MAX\n"); - free(d); - return NULL; - } - - if (bufsize < n) { - SDPERR("String too long to fit in packet"); - free(d); - return NULL; - } - - s = malloc(n + 1); - if (!s) { - SDPERR("Not enough memory for incoming string"); - free(d); - return NULL; - } - memset(s, 0, n + 1); - memcpy(s, p, n); - - *len += n; - - SDPDBG("Len : %d\n", n); - SDPDBG("Str : %s\n", s); - - d->val.str = s; - d->unitSize = n + sizeof(uint8_t); - return d; -} - -/* - * Extract the sequence type and its length, and return offset into buf - * or 0 on failure. - */ -int sdp_extract_seqtype(const uint8_t *buf, int bufsize, uint8_t *dtdp, int *size) -{ - uint8_t dtd; - int scanned = sizeof(uint8_t); - - if (bufsize < (int) sizeof(uint8_t)) { - SDPERR("Unexpected end of packet"); - return 0; - } - - dtd = *(uint8_t *) buf; - buf += sizeof(uint8_t); - bufsize -= sizeof(uint8_t); - *dtdp = dtd; - switch (dtd) { - case SDP_SEQ8: - case SDP_ALT8: - if (bufsize < (int) sizeof(uint8_t)) { - SDPERR("Unexpected end of packet"); - return 0; - } - *size = *(uint8_t *) buf; - scanned += sizeof(uint8_t); - break; - case SDP_SEQ16: - case SDP_ALT16: - if (bufsize < (int) sizeof(uint16_t)) { - SDPERR("Unexpected end of packet"); - return 0; - } - *size = bt_get_be16(buf); - scanned += sizeof(uint16_t); - break; - case SDP_SEQ32: - case SDP_ALT32: - if (bufsize < (int) sizeof(uint32_t)) { - SDPERR("Unexpected end of packet"); - return 0; - } - *size = bt_get_be32(buf); - scanned += sizeof(uint32_t); - break; - default: - SDPERR("Unknown sequence type, aborting\n"); - return 0; - } - return scanned; -} - -static sdp_data_t *extract_seq(const void *p, int bufsize, int *len, - sdp_record_t *rec) -{ - int seqlen, n = 0; - sdp_data_t *curr, *prev; - sdp_data_t *d = malloc(sizeof(sdp_data_t)); - - if (!d) - return NULL; - - SDPDBG("Extracting SEQ"); - memset(d, 0, sizeof(sdp_data_t)); - *len = sdp_extract_seqtype(p, bufsize, &d->dtd, &seqlen); - SDPDBG("Sequence Type : 0x%x length : 0x%x\n", d->dtd, seqlen); - - if (*len == 0) - return d; - - if (*len > bufsize) { - SDPERR("Packet not big enough to hold sequence."); - free(d); - return NULL; - } - - p += *len; - bufsize -= *len; - prev = NULL; - while (n < seqlen) { - int attrlen = 0; - curr = sdp_extract_attr(p, bufsize, &attrlen, rec); - if (curr == NULL) - break; - - if (prev) - prev->next = curr; - else - d->val.dataseq = curr; - prev = curr; - p += attrlen; - n += attrlen; - bufsize -= attrlen; - - SDPDBG("Extracted: %d SequenceLength: %d", n, seqlen); - } - - *len += n; - return d; -} - -sdp_data_t *sdp_extract_attr(const uint8_t *p, int bufsize, int *size, - sdp_record_t *rec) -{ - sdp_data_t *elem; - int n = 0; - uint8_t dtd; - - if (bufsize < (int) sizeof(uint8_t)) { - SDPERR("Unexpected end of packet"); - return NULL; - } - - dtd = *(const uint8_t *)p; - - SDPDBG("extract_attr: dtd=0x%x", dtd); - switch (dtd) { - case SDP_DATA_NIL: - case SDP_BOOL: - case SDP_UINT8: - case SDP_UINT16: - case SDP_UINT32: - case SDP_UINT64: - case SDP_UINT128: - case SDP_INT8: - case SDP_INT16: - case SDP_INT32: - case SDP_INT64: - case SDP_INT128: - elem = extract_int(p, bufsize, &n); - break; - case SDP_UUID16: - case SDP_UUID32: - case SDP_UUID128: - elem = extract_uuid(p, bufsize, &n, rec); - break; - case SDP_TEXT_STR8: - case SDP_TEXT_STR16: - case SDP_TEXT_STR32: - case SDP_URL_STR8: - case SDP_URL_STR16: - case SDP_URL_STR32: - elem = extract_str(p, bufsize, &n); - break; - case SDP_SEQ8: - case SDP_SEQ16: - case SDP_SEQ32: - case SDP_ALT8: - case SDP_ALT16: - case SDP_ALT32: - elem = extract_seq(p, bufsize, &n, rec); - break; - default: - SDPERR("Unknown data descriptor : 0x%x terminating\n", dtd); - return NULL; - } - *size += n; - return elem; -} - -#ifdef SDP_DEBUG -static void attr_print_func(void *value, void *userData) -{ - sdp_data_t *d = (sdp_data_t *)value; - - SDPDBG("=====================================\n"); - SDPDBG("ATTRIBUTE IDENTIFIER : 0x%x\n", d->attrId); - SDPDBG("ATTRIBUTE VALUE PTR : %p\n", value); - if (d) - sdp_data_print(d); - else - SDPDBG("NULL value\n"); - SDPDBG("=====================================\n"); -} - -void sdp_print_service_attr(sdp_list_t *svcAttrList) -{ - SDPDBG("Printing service attr list %p\n", svcAttrList); - sdp_list_foreach(svcAttrList, attr_print_func, NULL); - SDPDBG("Printed service attr list %p\n", svcAttrList); -} -#endif - -sdp_record_t *sdp_extract_pdu(const uint8_t *buf, int bufsize, int *scanned) -{ - int extracted = 0, seqlen = 0; - uint8_t dtd; - uint16_t attr; - sdp_record_t *rec = sdp_record_alloc(); - const uint8_t *p = buf; - - *scanned = sdp_extract_seqtype(buf, bufsize, &dtd, &seqlen); - p += *scanned; - bufsize -= *scanned; - rec->attrlist = NULL; - - while (extracted < seqlen && bufsize > 0) { - int n = sizeof(uint8_t), attrlen = 0; - sdp_data_t *data = NULL; - - SDPDBG("Extract PDU, sequenceLength: %d localExtractedLength: %d", - seqlen, extracted); - - if (bufsize < n + (int) sizeof(uint16_t)) { - SDPERR("Unexpected end of packet"); - break; - } - - dtd = *(uint8_t *) p; - attr = bt_get_be16(p + n); - n += sizeof(uint16_t); - - SDPDBG("DTD of attrId : %d Attr id : 0x%x \n", dtd, attr); - - data = sdp_extract_attr(p + n, bufsize - n, &attrlen, rec); - - SDPDBG("Attr id : 0x%x attrValueLength : %d\n", attr, attrlen); - - n += attrlen; - if (data == NULL) { - SDPDBG("Terminating extraction of attributes"); - break; - } - - if (attr == SDP_ATTR_RECORD_HANDLE) - rec->handle = data->val.uint32; - - if (attr == SDP_ATTR_SVCLASS_ID_LIST) - extract_svclass_uuid(data, &rec->svclass); - - extracted += n; - p += n; - bufsize -= n; - sdp_attr_replace(rec, attr, data); - - SDPDBG("Extract PDU, seqLength: %d localExtractedLength: %d", - seqlen, extracted); - } -#ifdef SDP_DEBUG - SDPDBG("Successful extracting of Svc Rec attributes\n"); - sdp_print_service_attr(rec->attrlist); -#endif - *scanned += seqlen; - return rec; -} - -static void sdp_copy_pattern(void *value, void *udata) -{ - uuid_t *uuid = value; - sdp_record_t *rec = udata; - - sdp_pattern_add_uuid(rec, uuid); -} - -static void *sdp_data_value(sdp_data_t *data, uint32_t *len) -{ - void *val = NULL; - - switch (data->dtd) { - case SDP_DATA_NIL: - break; - case SDP_UINT8: - val = &data->val.uint8; - break; - case SDP_INT8: - case SDP_BOOL: - val = &data->val.int8; - break; - case SDP_UINT16: - val = &data->val.uint16; - break; - case SDP_INT16: - val = &data->val.int16; - break; - case SDP_UINT32: - val = &data->val.uint32; - break; - case SDP_INT32: - val = &data->val.int32; - break; - case SDP_INT64: - val = &data->val.int64; - break; - case SDP_UINT64: - val = &data->val.uint64; - break; - case SDP_UINT128: - val = &data->val.uint128; - break; - case SDP_INT128: - val = &data->val.int128; - break; - case SDP_UUID16: - val = &data->val.uuid.value.uuid16; - break; - case SDP_UUID32: - val = &data->val.uuid.value.uuid32; - break; - case SDP_UUID128: - val = &data->val.uuid.value.uuid128; - break; - case SDP_URL_STR8: - case SDP_URL_STR16: - case SDP_TEXT_STR8: - case SDP_TEXT_STR16: - case SDP_URL_STR32: - case SDP_TEXT_STR32: - val = data->val.str; - if (len) - *len = data->unitSize - 1; - break; - case SDP_ALT8: - case SDP_ALT16: - case SDP_ALT32: - case SDP_SEQ8: - case SDP_SEQ16: - case SDP_SEQ32: - val = sdp_copy_seq(data->val.dataseq); - break; - } - - return val; -} - -static sdp_data_t *sdp_copy_seq(sdp_data_t *data) -{ - sdp_data_t *tmp, *seq = NULL, *cur = NULL; - - for (tmp = data; tmp; tmp = tmp->next) { - sdp_data_t *datatmp; - void *value; - - value = sdp_data_value(tmp, NULL); - datatmp = sdp_data_alloc_with_length(tmp->dtd, value, - tmp->unitSize); - - if (cur) - cur->next = datatmp; - else - seq = datatmp; - - cur = datatmp; - } - - return seq; -} - -static void sdp_copy_attrlist(void *value, void *udata) -{ - sdp_data_t *data = value; - sdp_record_t *rec = udata; - void *val; - uint32_t len = 0; - - val = sdp_data_value(data, &len); - - if (!len) - sdp_attr_add_new(rec, data->attrId, data->dtd, val); - else - sdp_attr_add_new_with_length(rec, data->attrId, - data->dtd, val, len); -} - -sdp_record_t *sdp_copy_record(sdp_record_t *rec) -{ - sdp_record_t *cpy; - - cpy = sdp_record_alloc(); - - cpy->handle = rec->handle; - - sdp_list_foreach(rec->pattern, sdp_copy_pattern, cpy); - sdp_list_foreach(rec->attrlist, sdp_copy_attrlist, cpy); - - cpy->svclass = rec->svclass; - - return cpy; -} - -#ifdef SDP_DEBUG -static void print_dataseq(sdp_data_t *p) -{ - sdp_data_t *d; - - for (d = p; d; d = d->next) - sdp_data_print(d); -} -#endif - -void sdp_record_print(const sdp_record_t *rec) -{ - sdp_data_t *d = sdp_data_get(rec, SDP_ATTR_SVCNAME_PRIMARY); - if (d && SDP_IS_TEXT_STR(d->dtd)) - printf("Service Name: %.*s\n", d->unitSize, d->val.str); - d = sdp_data_get(rec, SDP_ATTR_SVCDESC_PRIMARY); - if (d && SDP_IS_TEXT_STR(d->dtd)) - printf("Service Description: %.*s\n", d->unitSize, d->val.str); - d = sdp_data_get(rec, SDP_ATTR_PROVNAME_PRIMARY); - if (d && SDP_IS_TEXT_STR(d->dtd)) - printf("Service Provider: %.*s\n", d->unitSize, d->val.str); -} - -#ifdef SDP_DEBUG -void sdp_data_print(sdp_data_t *d) -{ - switch (d->dtd) { - case SDP_DATA_NIL: - SDPDBG("NIL\n"); - break; - case SDP_BOOL: - case SDP_UINT8: - case SDP_UINT16: - case SDP_UINT32: - case SDP_UINT64: - case SDP_UINT128: - case SDP_INT8: - case SDP_INT16: - case SDP_INT32: - case SDP_INT64: - case SDP_INT128: - SDPDBG("Integer : 0x%x\n", d->val.uint32); - break; - case SDP_UUID16: - case SDP_UUID32: - case SDP_UUID128: - SDPDBG("UUID\n"); - sdp_uuid_print(&d->val.uuid); - break; - case SDP_TEXT_STR8: - case SDP_TEXT_STR16: - case SDP_TEXT_STR32: - SDPDBG("Text : %s\n", d->val.str); - break; - case SDP_URL_STR8: - case SDP_URL_STR16: - case SDP_URL_STR32: - SDPDBG("URL : %s\n", d->val.str); - break; - case SDP_SEQ8: - case SDP_SEQ16: - case SDP_SEQ32: - print_dataseq(d->val.dataseq); - break; - case SDP_ALT8: - case SDP_ALT16: - case SDP_ALT32: - SDPDBG("Data Sequence Alternates\n"); - print_dataseq(d->val.dataseq); - break; - } -} -#endif - -sdp_data_t *sdp_data_get(const sdp_record_t *rec, uint16_t attrId) -{ - if (rec->attrlist) { - sdp_data_t sdpTemplate; - sdp_list_t *p; - - sdpTemplate.attrId = attrId; - p = sdp_list_find(rec->attrlist, &sdpTemplate, sdp_attrid_comp_func); - if (p) - return p->data; - } - return NULL; -} - -static int sdp_send_req(sdp_session_t *session, uint8_t *buf, uint32_t size) -{ - uint32_t sent = 0; - - while (sent < size) { - int n = send(session->sock, buf + sent, size - sent, 0); - if (n < 0) - return -1; - sent += n; - } - return 0; -} - -static int sdp_read_rsp(sdp_session_t *session, uint8_t *buf, uint32_t size) -{ - fd_set readFds; - struct timeval timeout = { SDP_RESPONSE_TIMEOUT, 0 }; - - FD_ZERO(&readFds); - FD_SET(session->sock, &readFds); - SDPDBG("Waiting for response\n"); - if (select(session->sock + 1, &readFds, NULL, NULL, &timeout) == 0) { - SDPERR("Client timed out\n"); - errno = ETIMEDOUT; - return -1; - } - return recv(session->sock, buf, size, 0); -} - -/* - * generic send request, wait for response method. - */ -int sdp_send_req_w4_rsp(sdp_session_t *session, uint8_t *reqbuf, - uint8_t *rspbuf, uint32_t reqsize, uint32_t *rspsize) -{ - int n; - sdp_pdu_hdr_t *reqhdr = (sdp_pdu_hdr_t *) reqbuf; - sdp_pdu_hdr_t *rsphdr = (sdp_pdu_hdr_t *) rspbuf; - - SDPDBG(""); - if (0 > sdp_send_req(session, reqbuf, reqsize)) { - SDPERR("Error sending data:%m"); - return -1; - } - n = sdp_read_rsp(session, rspbuf, SDP_RSP_BUFFER_SIZE); - if (0 > n) - return -1; - SDPDBG("Read : %d\n", n); - if (n == 0 || reqhdr->tid != rsphdr->tid) { - errno = EPROTO; - return -1; - } - *rspsize = n; - return 0; -} - -/* - * singly-linked lists (after openobex implementation) - */ -sdp_list_t *sdp_list_append(sdp_list_t *p, void *d) -{ - sdp_list_t *q, *n = malloc(sizeof(sdp_list_t)); - - if (!n) - return NULL; - - n->data = d; - n->next = 0; - - if (!p) - return n; - - for (q = p; q->next; q = q->next); - q->next = n; - - return p; -} - -sdp_list_t *sdp_list_remove(sdp_list_t *list, void *d) -{ - sdp_list_t *p, *q; - - for (q = 0, p = list; p; q = p, p = p->next) - if (p->data == d) { - if (q) - q->next = p->next; - else - list = p->next; - free(p); - break; - } - - return list; -} - -sdp_list_t *sdp_list_insert_sorted(sdp_list_t *list, void *d, - sdp_comp_func_t f) -{ - sdp_list_t *q, *p, *n; - - n = malloc(sizeof(sdp_list_t)); - if (!n) - return NULL; - n->data = d; - for (q = 0, p = list; p; q = p, p = p->next) - if (f(p->data, d) >= 0) - break; - /* insert between q and p; if !q insert at head */ - if (q) - q->next = n; - else - list = n; - n->next = p; - return list; -} - -/* - * Every element of the list points to things which need - * to be free()'d. This method frees the list's contents - */ -void sdp_list_free(sdp_list_t *list, sdp_free_func_t f) -{ - sdp_list_t *next; - while (list) { - next = list->next; - if (f) - f(list->data); - free(list); - list = next; - } -} - -static inline int __find_port(sdp_data_t *seq, int proto) -{ - if (!seq || !seq->next) - return 0; - - if (SDP_IS_UUID(seq->dtd) && sdp_uuid_to_proto(&seq->val.uuid) == proto) { - seq = seq->next; - switch (seq->dtd) { - case SDP_UINT8: - return seq->val.uint8; - case SDP_UINT16: - return seq->val.uint16; - } - } - return 0; -} - -int sdp_get_proto_port(const sdp_list_t *list, int proto) -{ - if (proto != L2CAP_UUID && proto != RFCOMM_UUID) { - errno = EINVAL; - return -1; - } - - for (; list; list = list->next) { - sdp_list_t *p; - for (p = list->data; p; p = p->next) { - sdp_data_t *seq = p->data; - int port = __find_port(seq, proto); - if (port) - return port; - } - } - return 0; -} - -sdp_data_t *sdp_get_proto_desc(sdp_list_t *list, int proto) -{ - for (; list; list = list->next) { - sdp_list_t *p; - for (p = list->data; p; p = p->next) { - sdp_data_t *seq = p->data; - if (SDP_IS_UUID(seq->dtd) && - sdp_uuid_to_proto(&seq->val.uuid) == proto) - return seq->next; - } - } - return NULL; -} - -static int sdp_get_proto_descs(uint16_t attr_id, const sdp_record_t *rec, - sdp_list_t **pap) -{ - sdp_data_t *pdlist, *curr; - sdp_list_t *ap = NULL; - - pdlist = sdp_data_get(rec, attr_id); - if (pdlist == NULL) { - errno = ENODATA; - return -1; - } - - SDPDBG("Attribute value type: 0x%02x\n", pdlist->dtd); - - if (attr_id == SDP_ATTR_ADD_PROTO_DESC_LIST) { - if (!SDP_IS_SEQ(pdlist->dtd)) { - errno = EINVAL; - return -1; - } - pdlist = pdlist->val.dataseq; - } - - for (; pdlist; pdlist = pdlist->next) { - sdp_list_t *pds = NULL; - - if (!SDP_IS_SEQ(pdlist->dtd) && !SDP_IS_ALT(pdlist->dtd)) - goto failed; - - for (curr = pdlist->val.dataseq; curr; curr = curr->next) { - if (!SDP_IS_SEQ(curr->dtd)) { - sdp_list_free(pds, NULL); - goto failed; - } - pds = sdp_list_append(pds, curr->val.dataseq); - } - - ap = sdp_list_append(ap, pds); - } - - *pap = ap; - - return 0; - -failed: - sdp_list_foreach(ap, (sdp_list_func_t) sdp_list_free, NULL); - sdp_list_free(ap, NULL); - errno = EINVAL; - - return -1; -} - -int sdp_get_access_protos(const sdp_record_t *rec, sdp_list_t **pap) -{ - return sdp_get_proto_descs(SDP_ATTR_PROTO_DESC_LIST, rec, pap); -} - -int sdp_get_add_access_protos(const sdp_record_t *rec, sdp_list_t **pap) -{ - return sdp_get_proto_descs(SDP_ATTR_ADD_PROTO_DESC_LIST, rec, pap); -} - -int sdp_get_uuidseq_attr(const sdp_record_t *rec, uint16_t attr, - sdp_list_t **seqp) -{ - sdp_data_t *sdpdata = sdp_data_get(rec, attr); - - *seqp = NULL; - if (sdpdata && SDP_IS_SEQ(sdpdata->dtd)) { - sdp_data_t *d; - for (d = sdpdata->val.dataseq; d; d = d->next) { - uuid_t *u; - if (d->dtd < SDP_UUID16 || d->dtd > SDP_UUID128) { - errno = EINVAL; - goto fail; - } - - u = malloc(sizeof(uuid_t)); - if (!u) - goto fail; - - *u = d->val.uuid; - *seqp = sdp_list_append(*seqp, u); - } - return 0; - } -fail: - sdp_list_free(*seqp, free); - *seqp = NULL; - return -1; -} - -int sdp_set_uuidseq_attr(sdp_record_t *rec, uint16_t aid, sdp_list_t *seq) -{ - int status = 0, i, len; - void **dtds, **values; - uint8_t uuid16 = SDP_UUID16; - uint8_t uuid32 = SDP_UUID32; - uint8_t uuid128 = SDP_UUID128; - sdp_list_t *p; - - len = sdp_list_len(seq); - if (!seq || len == 0) - return -1; - dtds = malloc(len * sizeof(void *)); - if (!dtds) - return -1; - - values = malloc(len * sizeof(void *)); - if (!values) { - free(dtds); - return -1; - } - - for (p = seq, i = 0; i < len; i++, p = p->next) { - uuid_t *uuid = p->data; - if (uuid) - switch (uuid->type) { - case SDP_UUID16: - dtds[i] = &uuid16; - values[i] = &uuid->value.uuid16; - break; - case SDP_UUID32: - dtds[i] = &uuid32; - values[i] = &uuid->value.uuid32; - break; - case SDP_UUID128: - dtds[i] = &uuid128; - values[i] = &uuid->value.uuid128; - break; - default: - status = -1; - break; - } - else { - status = -1; - break; - } - } - if (status == 0) { - sdp_data_t *data = sdp_seq_alloc(dtds, values, len); - sdp_attr_replace(rec, aid, data); - sdp_pattern_add_uuidseq(rec, seq); - } - free(dtds); - free(values); - return status; -} - -int sdp_get_lang_attr(const sdp_record_t *rec, sdp_list_t **langSeq) -{ - sdp_lang_attr_t *lang; - sdp_data_t *sdpdata, *curr_data; - - *langSeq = NULL; - sdpdata = sdp_data_get(rec, SDP_ATTR_LANG_BASE_ATTR_ID_LIST); - if (sdpdata == NULL) { - errno = ENODATA; - return -1; - } - - if (!SDP_IS_SEQ(sdpdata->dtd)) - goto invalid; - curr_data = sdpdata->val.dataseq; - - while (curr_data) { - sdp_data_t *pCode, *pEncoding, *pOffset; - - pCode = curr_data; - if (pCode->dtd != SDP_UINT16) - goto invalid; - - /* LanguageBaseAttributeIDList entries are always grouped as - * triplets */ - if (!pCode->next || !pCode->next->next) - goto invalid; - - pEncoding = pCode->next; - if (pEncoding->dtd != SDP_UINT16) - goto invalid; - - pOffset = pEncoding->next; - if (pOffset->dtd != SDP_UINT16) - goto invalid; - - lang = malloc(sizeof(sdp_lang_attr_t)); - if (!lang) { - sdp_list_free(*langSeq, free); - *langSeq = NULL; - return -1; - } - lang->code_ISO639 = pCode->val.uint16; - lang->encoding = pEncoding->val.uint16; - lang->base_offset = pOffset->val.uint16; - SDPDBG("code_ISO639 : 0x%02x\n", lang->code_ISO639); - SDPDBG("encoding : 0x%02x\n", lang->encoding); - SDPDBG("base_offfset : 0x%02x\n", lang->base_offset); - *langSeq = sdp_list_append(*langSeq, lang); - - curr_data = pOffset->next; - } - - return 0; - -invalid: - sdp_list_free(*langSeq, free); - *langSeq = NULL; - errno = EINVAL; - - return -1; -} - -int sdp_get_profile_descs(const sdp_record_t *rec, sdp_list_t **profDescSeq) -{ - sdp_profile_desc_t *profDesc; - sdp_data_t *sdpdata, *seq; - - *profDescSeq = NULL; - sdpdata = sdp_data_get(rec, SDP_ATTR_PFILE_DESC_LIST); - if (sdpdata == NULL) { - errno = ENODATA; - return -1; - } - - if (!SDP_IS_SEQ(sdpdata->dtd) || sdpdata->val.dataseq == NULL) - goto invalid; - - for (seq = sdpdata->val.dataseq; seq; seq = seq->next) { - uuid_t *uuid = NULL; - uint16_t version = 0x100; - - if (SDP_IS_UUID(seq->dtd)) { - /* Mac OS X 10.7.3 and old Samsung phones do not comply - * to the SDP specification for - * BluetoothProfileDescriptorList. This workaround - * allows to properly parse UUID/version from SDP - * record published by these systems. */ - sdp_data_t *next = seq->next; - uuid = &seq->val.uuid; - if (next && next->dtd == SDP_UINT16) { - version = next->val.uint16; - seq = next; - } - } else if (SDP_IS_SEQ(seq->dtd)) { - sdp_data_t *puuid, *pVnum; - - puuid = seq->val.dataseq; - if (puuid == NULL || !SDP_IS_UUID(puuid->dtd)) - goto invalid; - - uuid = &puuid->val.uuid; - - pVnum = puuid->next; - if (pVnum == NULL || pVnum->dtd != SDP_UINT16) - goto invalid; - - version = pVnum->val.uint16; - } else - goto invalid; - - if (uuid != NULL) { - profDesc = malloc(sizeof(sdp_profile_desc_t)); - if (!profDesc) { - sdp_list_free(*profDescSeq, free); - *profDescSeq = NULL; - return -1; - } - profDesc->uuid = *uuid; - profDesc->version = version; -#ifdef SDP_DEBUG - sdp_uuid_print(&profDesc->uuid); - SDPDBG("Vnum : 0x%04x\n", profDesc->version); -#endif - *profDescSeq = sdp_list_append(*profDescSeq, profDesc); - } - } - return 0; - -invalid: - sdp_list_free(*profDescSeq, free); - *profDescSeq = NULL; - errno = EINVAL; - - return -1; -} - -int sdp_get_server_ver(const sdp_record_t *rec, sdp_list_t **u16) -{ - sdp_data_t *d, *curr; - - *u16 = NULL; - d = sdp_data_get(rec, SDP_ATTR_VERSION_NUM_LIST); - if (d == NULL) { - errno = ENODATA; - return -1; - } - - if (!SDP_IS_SEQ(d->dtd) || d->val.dataseq == NULL) - goto invalid; - - for (curr = d->val.dataseq; curr; curr = curr->next) { - if (curr->dtd != SDP_UINT16) - goto invalid; - *u16 = sdp_list_append(*u16, &curr->val.uint16); - } - - return 0; - -invalid: - sdp_list_free(*u16, NULL); - *u16 = NULL; - errno = EINVAL; - - return -1; -} - -/* flexible extraction of basic attributes - Jean II */ -/* How do we expect caller to extract predefined data sequences? */ -int sdp_get_int_attr(const sdp_record_t *rec, uint16_t attrid, int *value) -{ - sdp_data_t *sdpdata = sdp_data_get(rec, attrid); - - if (sdpdata) - /* Verify that it is what the caller expects */ - if (sdpdata->dtd == SDP_BOOL || sdpdata->dtd == SDP_UINT8 || - sdpdata->dtd == SDP_UINT16 || sdpdata->dtd == SDP_UINT32 || - sdpdata->dtd == SDP_INT8 || sdpdata->dtd == SDP_INT16 || - sdpdata->dtd == SDP_INT32) { - *value = sdpdata->val.uint32; - return 0; - } - errno = EINVAL; - return -1; -} - -int sdp_get_string_attr(const sdp_record_t *rec, uint16_t attrid, char *value, - int valuelen) -{ - sdp_data_t *sdpdata = sdp_data_get(rec, attrid); - if (sdpdata) - /* Verify that it is what the caller expects */ - if (SDP_IS_TEXT_STR(sdpdata->dtd)) - if ((int) strlen(sdpdata->val.str) < valuelen) { - strcpy(value, sdpdata->val.str); - return 0; - } - errno = EINVAL; - return -1; -} - -#define get_basic_attr(attrID, pAttrValue, fieldName) \ - sdp_data_t *data = sdp_data_get(rec, attrID); \ - if (data) { \ - *pAttrValue = data->val.fieldName; \ - return 0; \ - } \ - errno = EINVAL; \ - return -1; - -int sdp_get_service_id(const sdp_record_t *rec, uuid_t *uuid) -{ - get_basic_attr(SDP_ATTR_SERVICE_ID, uuid, uuid); -} - -int sdp_get_group_id(const sdp_record_t *rec, uuid_t *uuid) -{ - get_basic_attr(SDP_ATTR_GROUP_ID, uuid, uuid); -} - -int sdp_get_record_state(const sdp_record_t *rec, uint32_t *svcRecState) -{ - get_basic_attr(SDP_ATTR_RECORD_STATE, svcRecState, uint32); -} - -int sdp_get_service_avail(const sdp_record_t *rec, uint8_t *svcAvail) -{ - get_basic_attr(SDP_ATTR_SERVICE_AVAILABILITY, svcAvail, uint8); -} - -int sdp_get_service_ttl(const sdp_record_t *rec, uint32_t *svcTTLInfo) -{ - get_basic_attr(SDP_ATTR_SVCINFO_TTL, svcTTLInfo, uint32); -} - -int sdp_get_database_state(const sdp_record_t *rec, uint32_t *svcDBState) -{ - get_basic_attr(SDP_ATTR_SVCDB_STATE, svcDBState, uint32); -} - -/* - * NOTE that none of the setXXX() functions below will - * actually update the SDP server, unless the - * {register, update}sdp_record_t() function is invoked. - */ - -int sdp_attr_add_new(sdp_record_t *rec, uint16_t attr, uint8_t dtd, - const void *value) -{ - sdp_data_t *d = sdp_data_alloc(dtd, value); - if (d) { - sdp_attr_replace(rec, attr, d); - return 0; - } - return -1; -} - -static int sdp_attr_add_new_with_length(sdp_record_t *rec, - uint16_t attr, uint8_t dtd, const void *value, uint32_t len) -{ - sdp_data_t *d; - - d = sdp_data_alloc_with_length(dtd, value, len); - if (!d) - return -1; - - sdp_attr_replace(rec, attr, d); - - return 0; -} - -/* - * Set the information attributes of the service - * pointed to by rec. The attributes are - * service name, description and provider name - */ -void sdp_set_info_attr(sdp_record_t *rec, const char *name, const char *prov, - const char *desc) -{ - if (name) - sdp_attr_add_new(rec, SDP_ATTR_SVCNAME_PRIMARY, - SDP_TEXT_STR8, name); - if (prov) - sdp_attr_add_new(rec, SDP_ATTR_PROVNAME_PRIMARY, - SDP_TEXT_STR8, prov); - if (desc) - sdp_attr_add_new(rec, SDP_ATTR_SVCDESC_PRIMARY, - SDP_TEXT_STR8, desc); -} - -static sdp_data_t *access_proto_to_dataseq(sdp_record_t *rec, sdp_list_t *proto) -{ - sdp_data_t *seq = NULL; - void *dtds[10], *values[10]; - void **seqDTDs, **seqs; - int i, seqlen; - sdp_list_t *p; - - seqlen = sdp_list_len(proto); - seqDTDs = malloc(seqlen * sizeof(void *)); - if (!seqDTDs) - return NULL; - - seqs = malloc(seqlen * sizeof(void *)); - if (!seqs) { - free(seqDTDs); - return NULL; - } - - for (i = 0, p = proto; p; p = p->next, i++) { - sdp_list_t *elt = p->data; - sdp_data_t *s; - uuid_t *uuid = NULL; - unsigned int pslen = 0; - for (; elt && pslen < ARRAY_SIZE(dtds); elt = elt->next, pslen++) { - sdp_data_t *d = elt->data; - dtds[pslen] = &d->dtd; - switch (d->dtd) { - case SDP_UUID16: - uuid = (uuid_t *) d; - values[pslen] = &uuid->value.uuid16; - break; - case SDP_UUID32: - uuid = (uuid_t *) d; - values[pslen] = &uuid->value.uuid32; - break; - case SDP_UUID128: - uuid = (uuid_t *) d; - values[pslen] = &uuid->value.uuid128; - break; - case SDP_UINT8: - values[pslen] = &d->val.uint8; - break; - case SDP_UINT16: - values[pslen] = &d->val.uint16; - break; - case SDP_SEQ8: - case SDP_SEQ16: - case SDP_SEQ32: - values[pslen] = d; - break; - /* FIXME: more */ - } - } - s = sdp_seq_alloc(dtds, values, pslen); - if (s) { - seqDTDs[i] = &s->dtd; - seqs[i] = s; - if (uuid) - sdp_pattern_add_uuid(rec, uuid); - } - } - seq = sdp_seq_alloc(seqDTDs, seqs, seqlen); - free(seqDTDs); - free(seqs); - return seq; -} - -/* - * sets the access protocols of the service specified - * to the value specified in "access_proto" - * - * Note that if there are alternate mechanisms by - * which the service is accessed, then they should - * be specified as sequences - * - * Using a value of NULL for accessProtocols has - * effect of removing this attribute (if previously set) - * - * This function replaces the existing sdp_access_proto_t - * structure (if any) with the new one specified. - * - * returns 0 if successful or -1 if there is a failure. - */ -int sdp_set_access_protos(sdp_record_t *rec, const sdp_list_t *ap) -{ - const sdp_list_t *p; - sdp_data_t *protos = NULL; - - for (p = ap; p; p = p->next) { - sdp_data_t *seq = access_proto_to_dataseq(rec, p->data); - protos = sdp_seq_append(protos, seq); - } - - sdp_attr_add(rec, SDP_ATTR_PROTO_DESC_LIST, protos); - - return 0; -} - -int sdp_set_add_access_protos(sdp_record_t *rec, const sdp_list_t *ap) -{ - const sdp_list_t *p; - sdp_data_t *protos = NULL; - - for (p = ap; p; p = p->next) { - sdp_data_t *seq = access_proto_to_dataseq(rec, p->data); - protos = sdp_seq_append(protos, seq); - } - - sdp_attr_add(rec, SDP_ATTR_ADD_PROTO_DESC_LIST, - protos ? sdp_data_alloc(SDP_SEQ8, protos) : NULL); - - return 0; -} - -/* - * set the "LanguageBase" attributes of the service record - * record to the value specified in "langAttrList". - * - * "langAttrList" is a linked list of "sdp_lang_attr_t" - * objects, one for each language in which user visible - * attributes are present in the service record. - * - * Using a value of NULL for langAttrList has - * effect of removing this attribute (if previously set) - * - * This function replaces the exisiting sdp_lang_attr_t - * structure (if any) with the new one specified. - * - * returns 0 if successful or -1 if there is a failure. - */ -int sdp_set_lang_attr(sdp_record_t *rec, const sdp_list_t *seq) -{ - uint8_t uint16 = SDP_UINT16; - int status = 0, i = 0, seqlen = sdp_list_len(seq); - void **dtds, **values; - const sdp_list_t *p; - - dtds = malloc(3 * seqlen * sizeof(void *)); - if (!dtds) - return -1; - - values = malloc(3 * seqlen * sizeof(void *)); - if (!values) { - free(dtds); - return -1; - } - - for (p = seq; p; p = p->next) { - sdp_lang_attr_t *lang = p->data; - if (!lang) { - status = -1; - break; - } - dtds[i] = &uint16; - values[i] = &lang->code_ISO639; - i++; - dtds[i] = &uint16; - values[i] = &lang->encoding; - i++; - dtds[i] = &uint16; - values[i] = &lang->base_offset; - i++; - } - if (status == 0) { - sdp_data_t *seq = sdp_seq_alloc(dtds, values, 3 * seqlen); - sdp_attr_add(rec, SDP_ATTR_LANG_BASE_ATTR_ID_LIST, seq); - } - free(dtds); - free(values); - return status; -} - -/* - * set the "ServiceID" attribute of the service. - * - * This is the UUID of the service. - * - * returns 0 if successful or -1 if there is a failure. - */ -void sdp_set_service_id(sdp_record_t *rec, uuid_t uuid) -{ - switch (uuid.type) { - case SDP_UUID16: - sdp_attr_add_new(rec, SDP_ATTR_SERVICE_ID, SDP_UUID16, - &uuid.value.uuid16); - break; - case SDP_UUID32: - sdp_attr_add_new(rec, SDP_ATTR_SERVICE_ID, SDP_UUID32, - &uuid.value.uuid32); - break; - case SDP_UUID128: - sdp_attr_add_new(rec, SDP_ATTR_SERVICE_ID, SDP_UUID128, - &uuid.value.uuid128); - break; - } - sdp_pattern_add_uuid(rec, &uuid); -} - -/* - * set the GroupID attribute of the service record defining a group. - * - * This is the UUID of the group. - * - * returns 0 if successful or -1 if there is a failure. - */ -void sdp_set_group_id(sdp_record_t *rec, uuid_t uuid) -{ - switch (uuid.type) { - case SDP_UUID16: - sdp_attr_add_new(rec, SDP_ATTR_GROUP_ID, SDP_UUID16, - &uuid.value.uuid16); - break; - case SDP_UUID32: - sdp_attr_add_new(rec, SDP_ATTR_GROUP_ID, SDP_UUID32, - &uuid.value.uuid32); - break; - case SDP_UUID128: - sdp_attr_add_new(rec, SDP_ATTR_GROUP_ID, SDP_UUID128, - &uuid.value.uuid128); - break; - } - sdp_pattern_add_uuid(rec, &uuid); -} - -/* - * set the ProfileDescriptorList attribute of the service record - * pointed to by record to the value specified in "profileDesc". - * - * Each element in the list is an object of type - * sdp_profile_desc_t which is a definition of the - * Bluetooth profile that this service conforms to. - * - * Using a value of NULL for profileDesc has - * effect of removing this attribute (if previously set) - * - * This function replaces the exisiting ProfileDescriptorList - * structure (if any) with the new one specified. - * - * returns 0 if successful or -1 if there is a failure. - */ -int sdp_set_profile_descs(sdp_record_t *rec, const sdp_list_t *profiles) -{ - int status = 0; - uint8_t uuid16 = SDP_UUID16; - uint8_t uuid32 = SDP_UUID32; - uint8_t uuid128 = SDP_UUID128; - uint8_t uint16 = SDP_UINT16; - int i = 0, seqlen = sdp_list_len(profiles); - void **seqDTDs, **seqs; - const sdp_list_t *p; - - seqDTDs = malloc(seqlen * sizeof(void *)); - if (!seqDTDs) - return -1; - - seqs = malloc(seqlen * sizeof(void *)); - if (!seqs) { - free(seqDTDs); - return -1; - } - - for (p = profiles; p; p = p->next) { - sdp_data_t *seq; - void *dtds[2], *values[2]; - sdp_profile_desc_t *profile = p->data; - if (!profile) { - status = -1; - break; - } - switch (profile->uuid.type) { - case SDP_UUID16: - dtds[0] = &uuid16; - values[0] = &profile->uuid.value.uuid16; - break; - case SDP_UUID32: - dtds[0] = &uuid32; - values[0] = &profile->uuid.value.uuid32; - break; - case SDP_UUID128: - dtds[0] = &uuid128; - values[0] = &profile->uuid.value.uuid128; - break; - default: - status = -1; - break; - } - dtds[1] = &uint16; - values[1] = &profile->version; - seq = sdp_seq_alloc(dtds, values, 2); - - if (seq == NULL) { - status = -1; - break; - } - - seqDTDs[i] = &seq->dtd; - seqs[i] = seq; - sdp_pattern_add_uuid(rec, &profile->uuid); - i++; - } - if (status == 0) { - sdp_data_t *pAPSeq = sdp_seq_alloc(seqDTDs, seqs, seqlen); - sdp_attr_add(rec, SDP_ATTR_PFILE_DESC_LIST, pAPSeq); - } - free(seqDTDs); - free(seqs); - return status; -} - -/* - * sets various URL attributes of the service - * pointed to by record. The URL include - * - * client: a URL to the client's - * platform specific (WinCE, PalmOS) executable - * code that can be used to access this service. - * - * doc: a URL pointing to service documentation - * - * icon: a URL to an icon that can be used to represent - * this service. - * - * Note that you need to pass NULL for any URLs - * that you don't want to set or remove - */ -void sdp_set_url_attr(sdp_record_t *rec, const char *client, const char *doc, - const char *icon) -{ - sdp_attr_add_new(rec, SDP_ATTR_CLNT_EXEC_URL, SDP_URL_STR8, client); - sdp_attr_add_new(rec, SDP_ATTR_DOC_URL, SDP_URL_STR8, doc); - sdp_attr_add_new(rec, SDP_ATTR_ICON_URL, SDP_URL_STR8, icon); -} - -uuid_t *sdp_uuid16_create(uuid_t *u, uint16_t val) -{ - memset(u, 0, sizeof(uuid_t)); - u->type = SDP_UUID16; - u->value.uuid16 = val; - return u; -} - -uuid_t *sdp_uuid32_create(uuid_t *u, uint32_t val) -{ - memset(u, 0, sizeof(uuid_t)); - u->type = SDP_UUID32; - u->value.uuid32 = val; - return u; -} - -uuid_t *sdp_uuid128_create(uuid_t *u, const void *val) -{ - memset(u, 0, sizeof(uuid_t)); - u->type = SDP_UUID128; - memcpy(&u->value.uuid128, val, sizeof(uint128_t)); - return u; -} - -/* - * UUID comparison function - * returns 0 if uuidValue1 == uuidValue2 else -1 - */ -int sdp_uuid_cmp(const void *p1, const void *p2) -{ - uuid_t *u1 = sdp_uuid_to_uuid128(p1); - uuid_t *u2 = sdp_uuid_to_uuid128(p2); - int ret; - - ret = sdp_uuid128_cmp(u1, u2); - - bt_free(u1); - bt_free(u2); - - return ret; -} - -/* - * UUID comparison function - * returns 0 if uuidValue1 == uuidValue2 else -1 - */ -int sdp_uuid16_cmp(const void *p1, const void *p2) -{ - const uuid_t *u1 = p1; - const uuid_t *u2 = p2; - return memcmp(&u1->value.uuid16, &u2->value.uuid16, sizeof(uint16_t)); -} - -/* - * UUID comparison function - * returns 0 if uuidValue1 == uuidValue2 else -1 - */ -int sdp_uuid128_cmp(const void *p1, const void *p2) -{ - const uuid_t *u1 = p1; - const uuid_t *u2 = p2; - return memcmp(&u1->value.uuid128, &u2->value.uuid128, sizeof(uint128_t)); -} - -/* - * 128 to 16 bit and 32 to 16 bit UUID conversion functions - * yet to be implemented. Note that the input is in NBO in - * both 32 and 128 bit UUIDs and conversion is needed - */ -void sdp_uuid16_to_uuid128(uuid_t *uuid128, const uuid_t *uuid16) -{ - /* - * We have a 16 bit value, which needs to be added to - * bytes 3 and 4 (at indices 2 and 3) of the Bluetooth base - */ - unsigned short data1; - - /* allocate a 128bit UUID and init to the Bluetooth base UUID */ - uuid128->value.uuid128 = bluetooth_base_uuid; - uuid128->type = SDP_UUID128; - - /* extract bytes 2 and 3 of 128bit BT base UUID */ - memcpy(&data1, &bluetooth_base_uuid.data[2], 2); - - /* add the given UUID (16 bits) */ - data1 += htons(uuid16->value.uuid16); - - /* set bytes 2 and 3 of the 128 bit value */ - memcpy(&uuid128->value.uuid128.data[2], &data1, 2); -} - -void sdp_uuid32_to_uuid128(uuid_t *uuid128, const uuid_t *uuid32) -{ - /* - * We have a 32 bit value, which needs to be added to - * bytes 1->4 (at indices 0 thru 3) of the Bluetooth base - */ - unsigned int data0; - - /* allocate a 128bit UUID and init to the Bluetooth base UUID */ - uuid128->value.uuid128 = bluetooth_base_uuid; - uuid128->type = SDP_UUID128; - - /* extract first 4 bytes */ - memcpy(&data0, &bluetooth_base_uuid.data[0], 4); - - /* add the given UUID (32bits) */ - data0 += htonl(uuid32->value.uuid32); - - /* set the 4 bytes of the 128 bit value */ - memcpy(&uuid128->value.uuid128.data[0], &data0, 4); -} - -uuid_t *sdp_uuid_to_uuid128(const uuid_t *uuid) -{ - uuid_t *uuid128 = bt_malloc(sizeof(uuid_t)); - - if (!uuid128) - return NULL; - - memset(uuid128, 0, sizeof(uuid_t)); - switch (uuid->type) { - case SDP_UUID128: - *uuid128 = *uuid; - break; - case SDP_UUID32: - sdp_uuid32_to_uuid128(uuid128, uuid); - break; - case SDP_UUID16: - sdp_uuid16_to_uuid128(uuid128, uuid); - break; - } - return uuid128; -} - -/* - * converts a 128-bit uuid to a 16/32-bit one if possible - * returns true if uuid contains a 16/32-bit UUID at exit - */ -int sdp_uuid128_to_uuid(uuid_t *uuid) -{ - uint128_t *b = &bluetooth_base_uuid; - uint128_t *u = &uuid->value.uuid128; - uint32_t data; - unsigned int i; - - if (uuid->type != SDP_UUID128) - return 1; - - for (i = 4; i < sizeof(b->data); i++) - if (b->data[i] != u->data[i]) - return 0; - - memcpy(&data, u->data, 4); - data = htonl(data); - if (data <= 0xffff) { - uuid->type = SDP_UUID16; - uuid->value.uuid16 = (uint16_t) data; - } else { - uuid->type = SDP_UUID32; - uuid->value.uuid32 = data; - } - return 1; -} - -/* - * convert a UUID to the 16-bit short-form - */ -int sdp_uuid_to_proto(uuid_t *uuid) -{ - uuid_t u = *uuid; - if (sdp_uuid128_to_uuid(&u)) { - switch (u.type) { - case SDP_UUID16: - return u.value.uuid16; - case SDP_UUID32: - return u.value.uuid32; - } - } - return 0; -} - -/* - * This function appends data to the PDU buffer "dst" from source "src". - * The data length is also computed and set. - * Should the PDU length exceed 2^8, then sequence type is - * set accordingly and the data is memmove()'d. - */ -void sdp_append_to_buf(sdp_buf_t *dst, uint8_t *data, uint32_t len) -{ - uint8_t *p = dst->data; - uint8_t dtd = *p; - - SDPDBG("Append src size: %d\n", len); - SDPDBG("Append dst size: %d\n", dst->data_size); - SDPDBG("Dst buffer size: %d\n", dst->buf_size); - if (dst->data_size == 0 && dtd == 0) { - /* create initial sequence */ - *p = SDP_SEQ8; - dst->data_size += sizeof(uint8_t); - /* reserve space for sequence size */ - dst->data_size += sizeof(uint8_t); - } - - memcpy(dst->data + dst->data_size, data, len); - dst->data_size += len; - - dtd = *(uint8_t *) dst->data; - if (dst->data_size > UCHAR_MAX && dtd == SDP_SEQ8) { - short offset = sizeof(uint8_t) + sizeof(uint8_t); - memmove(dst->data + offset + 1, dst->data + offset, - dst->data_size - offset); - *p = SDP_SEQ16; - dst->data_size += 1; - } - dtd = *(uint8_t *) p; - p += sizeof(uint8_t); - switch (dtd) { - case SDP_SEQ8: - *(uint8_t *) p = dst->data_size - sizeof(uint8_t) - sizeof(uint8_t); - break; - case SDP_SEQ16: - bt_put_be16(dst->data_size - sizeof(uint8_t) - sizeof(uint16_t), p); - break; - case SDP_SEQ32: - bt_put_be32(dst->data_size - sizeof(uint8_t) - sizeof(uint32_t), p); - break; - } -} - -void sdp_append_to_pdu(sdp_buf_t *pdu, sdp_data_t *d) -{ - sdp_buf_t append; - - memset(&append, 0, sizeof(sdp_buf_t)); - sdp_gen_buffer(&append, d); - append.data = malloc(append.buf_size); - if (!append.data) - return; - - sdp_set_attrid(&append, d->attrId); - sdp_gen_pdu(&append, d); - sdp_append_to_buf(pdu, append.data, append.data_size); - free(append.data); -} - -/* - * Registers an sdp record. - * - * It is incorrect to call this method on a record that - * has been already registered with the server. - * - * Returns zero on success, otherwise -1 (and sets errno). - */ -int sdp_device_record_register_binary(sdp_session_t *session, bdaddr_t *device, uint8_t *data, uint32_t size, uint8_t flags, uint32_t *handle) -{ - uint8_t *req, *rsp, *p; - uint32_t reqsize, rspsize; - sdp_pdu_hdr_t *reqhdr, *rsphdr; - int status; - - SDPDBG(""); - - if (!session->local) { - errno = EREMOTE; - return -1; - } - req = malloc(SDP_REQ_BUFFER_SIZE); - rsp = malloc(SDP_RSP_BUFFER_SIZE); - if (req == NULL || rsp == NULL) { - status = -1; - errno = ENOMEM; - goto end; - } - - reqhdr = (sdp_pdu_hdr_t *)req; - reqhdr->pdu_id = SDP_SVC_REGISTER_REQ; - reqhdr->tid = htons(sdp_gen_tid(session)); - reqsize = sizeof(sdp_pdu_hdr_t) + 1; - p = req + sizeof(sdp_pdu_hdr_t); - - if (bacmp(device, BDADDR_ANY)) { - *p++ = flags | SDP_DEVICE_RECORD; - bacpy((bdaddr_t *) p, device); - p += sizeof(bdaddr_t); - reqsize += sizeof(bdaddr_t); - } else - *p++ = flags; - - memcpy(p, data, size); - reqsize += size; - reqhdr->plen = htons(reqsize - sizeof(sdp_pdu_hdr_t)); - - status = sdp_send_req_w4_rsp(session, req, rsp, reqsize, &rspsize); - if (status < 0) - goto end; - - if (rspsize < sizeof(sdp_pdu_hdr_t)) { - SDPERR("Unexpected end of packet"); - errno = EPROTO; - status = -1; - goto end; - } - - rsphdr = (sdp_pdu_hdr_t *) rsp; - p = rsp + sizeof(sdp_pdu_hdr_t); - - if (rsphdr->pdu_id == SDP_ERROR_RSP) { - /* Invalid service record */ - errno = EINVAL; - status = -1; - } else if (rsphdr->pdu_id != SDP_SVC_REGISTER_RSP) { - errno = EPROTO; - status = -1; - } else { - if (rspsize < sizeof(sdp_pdu_hdr_t) + sizeof(uint32_t)) { - SDPERR("Unexpected end of packet"); - errno = EPROTO; - status = -1; - goto end; - } - if (handle) - *handle = bt_get_be32(p); - } - -end: - free(req); - free(rsp); - - return status; -} - -int sdp_device_record_register(sdp_session_t *session, bdaddr_t *device, sdp_record_t *rec, uint8_t flags) -{ - sdp_buf_t pdu; - uint32_t handle; - int err; - - SDPDBG(""); - - if (rec->handle && rec->handle != 0xffffffff) { - uint32_t handle = rec->handle; - sdp_data_t *data = sdp_data_alloc(SDP_UINT32, &handle); - sdp_attr_replace(rec, SDP_ATTR_RECORD_HANDLE, data); - } - - if (sdp_gen_record_pdu(rec, &pdu) < 0) { - errno = ENOMEM; - return -1; - } - - err = sdp_device_record_register_binary(session, device, - pdu.data, pdu.data_size, flags, &handle); - - free(pdu.data); - - if (err == 0) { - sdp_data_t *data = sdp_data_alloc(SDP_UINT32, &handle); - rec->handle = handle; - sdp_attr_replace(rec, SDP_ATTR_RECORD_HANDLE, data); - } - - return err; -} - -int sdp_record_register(sdp_session_t *session, sdp_record_t *rec, uint8_t flags) -{ - return sdp_device_record_register(session, BDADDR_ANY, rec, flags); -} - -/* - * unregister a service record - */ -int sdp_device_record_unregister_binary(sdp_session_t *session, bdaddr_t *device, uint32_t handle) -{ - uint8_t *reqbuf, *rspbuf, *p; - uint32_t reqsize = 0, rspsize = 0; - sdp_pdu_hdr_t *reqhdr, *rsphdr; - int status; - - SDPDBG(""); - - if (handle == SDP_SERVER_RECORD_HANDLE) { - errno = EINVAL; - return -1; - } - - if (!session->local) { - errno = EREMOTE; - return -1; - } - - reqbuf = malloc(SDP_REQ_BUFFER_SIZE); - rspbuf = malloc(SDP_RSP_BUFFER_SIZE); - if (!reqbuf || !rspbuf) { - errno = ENOMEM; - status = -1; - goto end; - } - reqhdr = (sdp_pdu_hdr_t *) reqbuf; - reqhdr->pdu_id = SDP_SVC_REMOVE_REQ; - reqhdr->tid = htons(sdp_gen_tid(session)); - - p = reqbuf + sizeof(sdp_pdu_hdr_t); - reqsize = sizeof(sdp_pdu_hdr_t); - bt_put_be32(handle, p); - reqsize += sizeof(uint32_t); - - reqhdr->plen = htons(reqsize - sizeof(sdp_pdu_hdr_t)); - status = sdp_send_req_w4_rsp(session, reqbuf, rspbuf, reqsize, &rspsize); - if (status < 0) - goto end; - - if (rspsize < sizeof(sdp_pdu_hdr_t) + sizeof(uint16_t)) { - SDPERR("Unexpected end of packet"); - errno = EPROTO; - status = -1; - goto end; - } - - rsphdr = (sdp_pdu_hdr_t *) rspbuf; - p = rspbuf + sizeof(sdp_pdu_hdr_t); - - if (rsphdr->pdu_id == SDP_ERROR_RSP) { - /* For this case the status always is invalid record handle */ - errno = EINVAL; - status = -1; - } else if (rsphdr->pdu_id != SDP_SVC_REMOVE_RSP) { - errno = EPROTO; - status = -1; - } else { - uint16_t tmp; - - memcpy(&tmp, p, sizeof(tmp)); - - status = tmp; - } -end: - free(reqbuf); - free(rspbuf); - - return status; -} - -int sdp_device_record_unregister(sdp_session_t *session, bdaddr_t *device, sdp_record_t *rec) -{ - int err; - - err = sdp_device_record_unregister_binary(session, device, rec->handle); - if (err == 0) - sdp_record_free(rec); - - return err; -} - -int sdp_record_unregister(sdp_session_t *session, sdp_record_t *rec) -{ - return sdp_device_record_unregister(session, BDADDR_ANY, rec); -} - -/* - * modify an existing service record - */ -int sdp_device_record_update_binary(sdp_session_t *session, bdaddr_t *device, uint32_t handle, uint8_t *data, uint32_t size) -{ - return -1; -} - -int sdp_device_record_update(sdp_session_t *session, bdaddr_t *device, const sdp_record_t *rec) -{ - uint8_t *reqbuf, *rspbuf, *p; - uint32_t reqsize, rspsize; - sdp_pdu_hdr_t *reqhdr, *rsphdr; - uint32_t handle; - sdp_buf_t pdu; - int status; - - SDPDBG(""); - - handle = rec->handle; - - if (handle == SDP_SERVER_RECORD_HANDLE) { - errno = EINVAL; - return -1; - } - if (!session->local) { - errno = EREMOTE; - return -1; - } - reqbuf = malloc(SDP_REQ_BUFFER_SIZE); - rspbuf = malloc(SDP_RSP_BUFFER_SIZE); - if (!reqbuf || !rspbuf) { - errno = ENOMEM; - status = -1; - goto end; - } - reqhdr = (sdp_pdu_hdr_t *) reqbuf; - reqhdr->pdu_id = SDP_SVC_UPDATE_REQ; - reqhdr->tid = htons(sdp_gen_tid(session)); - - p = reqbuf + sizeof(sdp_pdu_hdr_t); - reqsize = sizeof(sdp_pdu_hdr_t); - - bt_put_be32(handle, p); - reqsize += sizeof(uint32_t); - p += sizeof(uint32_t); - - if (sdp_gen_record_pdu(rec, &pdu) < 0) { - errno = ENOMEM; - status = -1; - goto end; - } - memcpy(p, pdu.data, pdu.data_size); - reqsize += pdu.data_size; - free(pdu.data); - - reqhdr->plen = htons(reqsize - sizeof(sdp_pdu_hdr_t)); - status = sdp_send_req_w4_rsp(session, reqbuf, rspbuf, reqsize, &rspsize); - if (status < 0) - goto end; - - if (rspsize < sizeof(sdp_pdu_hdr_t) + sizeof(uint16_t)) { - SDPERR("Unexpected end of packet"); - errno = EPROTO; - status = -1; - goto end; - } - - SDPDBG("Send req status : %d\n", status); - - rsphdr = (sdp_pdu_hdr_t *) rspbuf; - p = rspbuf + sizeof(sdp_pdu_hdr_t); - - if (rsphdr->pdu_id == SDP_ERROR_RSP) { - /* The status can be invalid sintax or invalid record handle */ - errno = EINVAL; - status = -1; - } else if (rsphdr->pdu_id != SDP_SVC_UPDATE_RSP) { - errno = EPROTO; - status = -1; - } else { - uint16_t tmp; - - memcpy(&tmp, p, sizeof(tmp)); - - status = tmp; - } -end: - free(reqbuf); - free(rspbuf); - return status; -} - -int sdp_record_update(sdp_session_t *session, const sdp_record_t *rec) -{ - return sdp_device_record_update(session, BDADDR_ANY, rec); -} - -sdp_record_t *sdp_record_alloc(void) -{ - sdp_record_t *rec = malloc(sizeof(sdp_record_t)); - - if (!rec) - return NULL; - - memset(rec, 0, sizeof(sdp_record_t)); - rec->handle = 0xffffffff; - return rec; -} - -/* - * Free the contents of a service record - */ -void sdp_record_free(sdp_record_t *rec) -{ - sdp_list_free(rec->attrlist, (sdp_free_func_t) sdp_data_free); - sdp_list_free(rec->pattern, free); - free(rec); -} - -void sdp_pattern_add_uuid(sdp_record_t *rec, uuid_t *uuid) -{ - uuid_t *uuid128 = sdp_uuid_to_uuid128(uuid); - - SDPDBG("Elements in target pattern : %d\n", sdp_list_len(rec->pattern)); - SDPDBG("Trying to add : 0x%lx\n", (unsigned long) uuid128); - - if (sdp_list_find(rec->pattern, uuid128, sdp_uuid128_cmp) == NULL) - rec->pattern = sdp_list_insert_sorted(rec->pattern, uuid128, sdp_uuid128_cmp); - else - bt_free(uuid128); - - SDPDBG("Elements in target pattern : %d\n", sdp_list_len(rec->pattern)); -} - -void sdp_pattern_add_uuidseq(sdp_record_t *rec, sdp_list_t *seq) -{ - for (; seq; seq = seq->next) { - uuid_t *uuid = (uuid_t *)seq->data; - sdp_pattern_add_uuid(rec, uuid); - } -} - -/* - * Extract a sequence of service record handles from a PDU buffer - * and add the entries to a sdp_list_t. Note that the service record - * handles are not in "data element sequence" form, but just like - * an array of service handles - */ -static void extract_record_handle_seq(uint8_t *pdu, int bufsize, sdp_list_t **seq, int count, unsigned int *scanned) -{ - sdp_list_t *pSeq = *seq; - uint8_t *pdata = pdu; - int n; - - for (n = 0; n < count; n++) { - uint32_t *pSvcRec; - if (bufsize < (int) sizeof(uint32_t)) { - SDPERR("Unexpected end of packet"); - break; - } - pSvcRec = malloc(sizeof(uint32_t)); - if (!pSvcRec) - break; - *pSvcRec = bt_get_be32(pdata); - pSeq = sdp_list_append(pSeq, pSvcRec); - pdata += sizeof(uint32_t); - *scanned += sizeof(uint32_t); - bufsize -= sizeof(uint32_t); - } - *seq = pSeq; -} -/* - * Generate the attribute sequence pdu form - * from sdp_list_t elements. Return length of attr seq - */ -static int gen_dataseq_pdu(uint8_t *dst, const sdp_list_t *seq, uint8_t dtd) -{ - sdp_data_t *dataseq; - void **types, **values; - sdp_buf_t buf; - int i, seqlen = sdp_list_len(seq); - - /* Fill up the value and the dtd arrays */ - SDPDBG(""); - - SDPDBG("Seq length : %d\n", seqlen); - - types = malloc(seqlen * sizeof(void *)); - if (!types) - return -ENOMEM; - - values = malloc(seqlen * sizeof(void *)); - if (!values) { - free(types); - return -ENOMEM; - } - - for (i = 0; i < seqlen; i++) { - void *data = seq->data; - types[i] = &dtd; - if (SDP_IS_UUID(dtd)) - data = &((uuid_t *)data)->value; - values[i] = data; - seq = seq->next; - } - - dataseq = sdp_seq_alloc(types, values, seqlen); - if (!dataseq) { - free(types); - free(values); - return -ENOMEM; - } - - memset(&buf, 0, sizeof(sdp_buf_t)); - sdp_gen_buffer(&buf, dataseq); - buf.data = malloc(buf.buf_size); - - if (!buf.data) { - sdp_data_free(dataseq); - free(types); - free(values); - return -ENOMEM; - } - - SDPDBG("Data Seq : 0x%p\n", seq); - seqlen = sdp_gen_pdu(&buf, dataseq); - SDPDBG("Copying : %d\n", buf.data_size); - memcpy(dst, buf.data, buf.data_size); - - sdp_data_free(dataseq); - - free(types); - free(values); - free(buf.data); - return seqlen; -} - -static int gen_searchseq_pdu(uint8_t *dst, const sdp_list_t *seq) -{ - uuid_t *uuid = seq->data; - return gen_dataseq_pdu(dst, seq, uuid->type); -} - -static int gen_attridseq_pdu(uint8_t *dst, const sdp_list_t *seq, uint8_t dataType) -{ - return gen_dataseq_pdu(dst, seq, dataType); -} - -typedef struct { - uint8_t length; - unsigned char data[16]; -} __attribute__ ((packed)) sdp_cstate_t; - -static int copy_cstate(uint8_t *pdata, int pdata_len, const sdp_cstate_t *cstate) -{ - if (cstate) { - uint8_t len = cstate->length; - if (len >= pdata_len) { - SDPERR("Continuation state size exceeds internal buffer"); - len = pdata_len - 1; - } - *pdata++ = len; - memcpy(pdata, cstate->data, len); - return len + 1; - } - *pdata = 0; - return 1; -} - -/* - * This is a service search request. - * - * INPUT : - * - * sdp_list_t *search - * Singly linked list containing elements of the search - * pattern. Each entry in the list is a UUID (DataTypeSDP_UUID16) - * of the service to be searched - * - * uint16_t max_rec_num - * A 16 bit integer which tells the service, the maximum - * entries that the client can handle in the response. The - * server is obliged not to return > max_rec_num entries - * - * OUTPUT : - * - * int return value - * 0: - * The request completed successfully. This does not - * mean the requested services were found - * -1: - * On any failure and sets errno - * - * sdp_list_t **rsp_list - * This variable is set on a successful return if there are - * non-zero service handles. It is a singly linked list of - * service record handles (uint16_t) - */ -int sdp_service_search_req(sdp_session_t *session, const sdp_list_t *search, - uint16_t max_rec_num, sdp_list_t **rsp) -{ - int status = 0; - uint32_t reqsize = 0, _reqsize; - uint32_t rspsize = 0, rsplen; - int seqlen = 0; - int rec_count; - unsigned scanned, pdata_len; - uint8_t *pdata, *_pdata; - uint8_t *reqbuf, *rspbuf; - sdp_pdu_hdr_t *reqhdr, *rsphdr; - sdp_cstate_t *cstate = NULL; - - reqbuf = malloc(SDP_REQ_BUFFER_SIZE); - rspbuf = malloc(SDP_RSP_BUFFER_SIZE); - if (!reqbuf || !rspbuf) { - errno = ENOMEM; - status = -1; - goto end; - } - reqhdr = (sdp_pdu_hdr_t *) reqbuf; - reqhdr->pdu_id = SDP_SVC_SEARCH_REQ; - pdata = reqbuf + sizeof(sdp_pdu_hdr_t); - reqsize = sizeof(sdp_pdu_hdr_t); - - /* add service class IDs for search */ - seqlen = gen_searchseq_pdu(pdata, search); - - SDPDBG("Data seq added : %d\n", seqlen); - - /* set the length and increment the pointer */ - reqsize += seqlen; - pdata += seqlen; - - /* specify the maximum svc rec count that client expects */ - bt_put_be16(max_rec_num, pdata); - reqsize += sizeof(uint16_t); - pdata += sizeof(uint16_t); - - _reqsize = reqsize; - _pdata = pdata; - *rsp = NULL; - - do { - /* Add continuation state or NULL (first time) */ - reqsize = _reqsize + copy_cstate(_pdata, - SDP_REQ_BUFFER_SIZE - _reqsize, cstate); - - /* Set the request header's param length */ - reqhdr->plen = htons(reqsize - sizeof(sdp_pdu_hdr_t)); - - reqhdr->tid = htons(sdp_gen_tid(session)); - /* - * Send the request, wait for response and if - * no error, set the appropriate values and return - */ - status = sdp_send_req_w4_rsp(session, reqbuf, rspbuf, reqsize, &rspsize); - if (status < 0) - goto end; - - if (rspsize < sizeof(sdp_pdu_hdr_t)) { - SDPERR("Unexpected end of packet"); - status = -1; - goto end; - } - - rsphdr = (sdp_pdu_hdr_t *) rspbuf; - rsplen = ntohs(rsphdr->plen); - - if (rsphdr->pdu_id == SDP_ERROR_RSP) { - SDPDBG("Status : 0x%x\n", rsphdr->pdu_id); - status = -1; - goto end; - } - scanned = 0; - pdata = rspbuf + sizeof(sdp_pdu_hdr_t); - pdata_len = rspsize - sizeof(sdp_pdu_hdr_t); - - if (pdata_len < sizeof(uint16_t) + sizeof(uint16_t)) { - SDPERR("Unexpected end of packet"); - status = -1; - goto end; - } - - /* net service record match count */ - pdata += sizeof(uint16_t); - scanned += sizeof(uint16_t); - pdata_len -= sizeof(uint16_t); - rec_count = bt_get_be16(pdata); - pdata += sizeof(uint16_t); - scanned += sizeof(uint16_t); - pdata_len -= sizeof(uint16_t); - - SDPDBG("Current svc count: %d\n", rec_count); - SDPDBG("ResponseLength: %d\n", rsplen); - - if (!rec_count) { - status = -1; - goto end; - } - extract_record_handle_seq(pdata, pdata_len, rsp, rec_count, &scanned); - SDPDBG("BytesScanned : %d\n", scanned); - - if (rsplen > scanned) { - uint8_t cstate_len; - - if (rspsize < sizeof(sdp_pdu_hdr_t) + scanned + sizeof(uint8_t)) { - SDPERR("Unexpected end of packet: continuation state data missing"); - status = -1; - goto end; - } - - pdata = rspbuf + sizeof(sdp_pdu_hdr_t) + scanned; - cstate_len = *(uint8_t *) pdata; - if (cstate_len > 0) { - cstate = (sdp_cstate_t *)pdata; - SDPDBG("Cont state length: %d\n", cstate_len); - } else - cstate = NULL; - } - } while (cstate); - -end: - free(reqbuf); - free(rspbuf); - - return status; -} - -/* - * This is a service attribute request. - * - * INPUT : - * - * uint32_t handle - * The handle of the service for which the attribute(s) are - * requested - * - * sdp_attrreq_type_t reqtype - * Attribute identifiers are 16 bit unsigned integers specified - * in one of 2 ways described below : - * SDP_ATTR_REQ_INDIVIDUAL - 16bit individual identifiers - * They are the actual attribute identifiers in ascending order - * - * SDP_ATTR_REQ_RANGE - 32bit identifier range - * The high-order 16bits is the start of range - * the low-order 16bits are the end of range - * 0x0000 to 0xFFFF gets all attributes - * - * sdp_list_t *attrid - * Singly linked list containing attribute identifiers desired. - * Every element is either a uint16_t(attrSpec = SDP_ATTR_REQ_INDIVIDUAL) - * or a uint32_t(attrSpec=SDP_ATTR_REQ_RANGE) - * - * OUTPUT : - * return sdp_record_t * - * 0: - * On any error and sets errno - * !0: - * The service record - */ -sdp_record_t *sdp_service_attr_req(sdp_session_t *session, uint32_t handle, - sdp_attrreq_type_t reqtype, const sdp_list_t *attrids) -{ - uint32_t reqsize = 0, _reqsize; - uint32_t rspsize = 0, rsp_count; - int attr_list_len = 0; - int seqlen = 0; - unsigned int pdata_len; - uint8_t *pdata, *_pdata; - uint8_t *reqbuf, *rspbuf; - sdp_pdu_hdr_t *reqhdr, *rsphdr; - sdp_cstate_t *cstate = NULL; - uint8_t cstate_len = 0; - sdp_buf_t rsp_concat_buf; - sdp_record_t *rec = 0; - - if (reqtype != SDP_ATTR_REQ_INDIVIDUAL && reqtype != SDP_ATTR_REQ_RANGE) { - errno = EINVAL; - return NULL; - } - - memset(&rsp_concat_buf, 0, sizeof(sdp_buf_t)); - - reqbuf = malloc(SDP_REQ_BUFFER_SIZE); - rspbuf = malloc(SDP_RSP_BUFFER_SIZE); - if (!reqbuf || !rspbuf) { - errno = ENOMEM; - goto end; - } - reqhdr = (sdp_pdu_hdr_t *) reqbuf; - reqhdr->pdu_id = SDP_SVC_ATTR_REQ; - - pdata = reqbuf + sizeof(sdp_pdu_hdr_t); - reqsize = sizeof(sdp_pdu_hdr_t); - - /* add the service record handle */ - bt_put_be32(handle, pdata); - reqsize += sizeof(uint32_t); - pdata += sizeof(uint32_t); - - /* specify the response limit */ - bt_put_be16(65535, pdata); - reqsize += sizeof(uint16_t); - pdata += sizeof(uint16_t); - - /* get attr seq PDU form */ - seqlen = gen_attridseq_pdu(pdata, attrids, - reqtype == SDP_ATTR_REQ_INDIVIDUAL? SDP_UINT16 : SDP_UINT32); - if (seqlen == -1) { - errno = EINVAL; - goto end; - } - pdata += seqlen; - reqsize += seqlen; - SDPDBG("Attr list length : %d\n", seqlen); - - /* save before Continuation State */ - _pdata = pdata; - _reqsize = reqsize; - - do { - int status; - - /* add NULL continuation state */ - reqsize = _reqsize + copy_cstate(_pdata, - SDP_REQ_BUFFER_SIZE - _reqsize, cstate); - - /* set the request header's param length */ - reqhdr->tid = htons(sdp_gen_tid(session)); - reqhdr->plen = htons(reqsize - sizeof(sdp_pdu_hdr_t)); - - status = sdp_send_req_w4_rsp(session, reqbuf, rspbuf, reqsize, &rspsize); - if (status < 0) - goto end; - - if (rspsize < sizeof(sdp_pdu_hdr_t)) { - SDPERR("Unexpected end of packet"); - goto end; - } - - rsphdr = (sdp_pdu_hdr_t *) rspbuf; - if (rsphdr->pdu_id == SDP_ERROR_RSP) { - SDPDBG("PDU ID : 0x%x\n", rsphdr->pdu_id); - goto end; - } - pdata = rspbuf + sizeof(sdp_pdu_hdr_t); - pdata_len = rspsize - sizeof(sdp_pdu_hdr_t); - - if (pdata_len < sizeof(uint16_t)) { - SDPERR("Unexpected end of packet"); - goto end; - } - - rsp_count = bt_get_be16(pdata); - attr_list_len += rsp_count; - pdata += sizeof(uint16_t); - pdata_len -= sizeof(uint16_t); - - /* - * if continuation state set need to re-issue request before - * parsing - */ - if (pdata_len < rsp_count + sizeof(uint8_t)) { - SDPERR("Unexpected end of packet: continuation state data missing"); - goto end; - } - cstate_len = *(uint8_t *) (pdata + rsp_count); - - SDPDBG("Response id : %d\n", rsphdr->pdu_id); - SDPDBG("Attrlist byte count : %d\n", rsp_count); - SDPDBG("sdp_cstate_t length : %d\n", cstate_len); - - /* - * a split response: concatenate intermediate responses - * and the last one (which has cstate_len == 0) - */ - if (cstate_len > 0 || rsp_concat_buf.data_size != 0) { - uint8_t *targetPtr = NULL; - - cstate = cstate_len > 0 ? (sdp_cstate_t *) (pdata + rsp_count) : 0; - - /* build concatenated response buffer */ - rsp_concat_buf.data = realloc(rsp_concat_buf.data, rsp_concat_buf.data_size + rsp_count); - rsp_concat_buf.buf_size = rsp_concat_buf.data_size + rsp_count; - targetPtr = rsp_concat_buf.data + rsp_concat_buf.data_size; - memcpy(targetPtr, pdata, rsp_count); - rsp_concat_buf.data_size += rsp_count; - } - } while (cstate); - - if (attr_list_len > 0) { - int scanned = 0; - if (rsp_concat_buf.data_size != 0) { - pdata = rsp_concat_buf.data; - pdata_len = rsp_concat_buf.data_size; - } - rec = sdp_extract_pdu(pdata, pdata_len, &scanned); - } - -end: - free(reqbuf); - free(rsp_concat_buf.data); - free(rspbuf); - return rec; -} - -/* - * SDP transaction structure for asynchronous search - */ -struct sdp_transaction { - sdp_callback_t *cb; /* called when the transaction finishes */ - void *udata; /* client user data */ - uint8_t *reqbuf; /* pointer to request PDU */ - sdp_buf_t rsp_concat_buf; - uint32_t reqsize; /* without cstate */ - int err; /* ZERO if success or the errno if failed */ -}; - -/* - * Creates a new sdp session for asynchronous search - * INPUT: - * int sk - * non-blocking L2CAP socket - * - * RETURN: - * sdp_session_t * - * NULL - On memory allocation failure - */ -sdp_session_t *sdp_create(int sk, uint32_t flags) -{ - sdp_session_t *session; - struct sdp_transaction *t; - - session = malloc(sizeof(sdp_session_t)); - if (!session) { - errno = ENOMEM; - return NULL; - } - memset(session, 0, sizeof(*session)); - - session->flags = flags; - session->sock = sk; - - t = malloc(sizeof(struct sdp_transaction)); - if (!t) { - errno = ENOMEM; - free(session); - return NULL; - } - memset(t, 0, sizeof(*t)); - - session->priv = t; - - return session; -} - -/* - * Sets the callback function/user data used to notify the application - * that the asynchronous transaction finished. This function must be - * called before request an asynchronous search. - * - * INPUT: - * sdp_session_t *session - * Current sdp session to be handled - * sdp_callback_t *cb - * callback to be called when the transaction finishes - * void *udata - * user data passed to callback - * RETURN: - * 0 - Success - * -1 - Failure - */ -int sdp_set_notify(sdp_session_t *session, sdp_callback_t *func, void *udata) -{ - struct sdp_transaction *t; - - if (!session || !session->priv) - return -1; - - t = session->priv; - t->cb = func; - t->udata = udata; - - return 0; -} - -/* - * This function starts an asynchronous service search request. - * The incoming and outgoing data are stored in the transaction structure - * buffers. When there is incoming data the sdp_process function must be - * called to get the data and handle the continuation state. - * - * INPUT : - * sdp_session_t *session - * Current sdp session to be handled - * - * sdp_list_t *search - * Singly linked list containing elements of the search - * pattern. Each entry in the list is a UUID (DataTypeSDP_UUID16) - * of the service to be searched - * - * uint16_t max_rec_num - * A 16 bit integer which tells the service, the maximum - * entries that the client can handle in the response. The - * server is obliged not to return > max_rec_num entries - * - * OUTPUT : - * - * int return value - * 0 - if the request has been sent properly - * -1 - On any failure and sets errno - */ - -int sdp_service_search_async(sdp_session_t *session, const sdp_list_t *search, uint16_t max_rec_num) -{ - struct sdp_transaction *t; - sdp_pdu_hdr_t *reqhdr; - uint8_t *pdata; - int cstate_len, seqlen = 0; - - if (!session || !session->priv) - return -1; - - t = session->priv; - - /* clean possible allocated buffer */ - free(t->rsp_concat_buf.data); - memset(&t->rsp_concat_buf, 0, sizeof(sdp_buf_t)); - - if (!t->reqbuf) { - t->reqbuf = malloc(SDP_REQ_BUFFER_SIZE); - if (!t->reqbuf) { - t->err = ENOMEM; - goto end; - } - } - memset(t->reqbuf, 0, SDP_REQ_BUFFER_SIZE); - - reqhdr = (sdp_pdu_hdr_t *) t->reqbuf; - reqhdr->tid = htons(sdp_gen_tid(session)); - reqhdr->pdu_id = SDP_SVC_SEARCH_REQ; - - /* generate PDU */ - pdata = t->reqbuf + sizeof(sdp_pdu_hdr_t); - t->reqsize = sizeof(sdp_pdu_hdr_t); - - /* add service class IDs for search */ - seqlen = gen_searchseq_pdu(pdata, search); - - SDPDBG("Data seq added : %d\n", seqlen); - - /* now set the length and increment the pointer */ - t->reqsize += seqlen; - pdata += seqlen; - - bt_put_be16(max_rec_num, pdata); - t->reqsize += sizeof(uint16_t); - pdata += sizeof(uint16_t); - - /* set the request header's param length */ - cstate_len = copy_cstate(pdata, SDP_REQ_BUFFER_SIZE - t->reqsize, NULL); - reqhdr->plen = htons((t->reqsize + cstate_len) - sizeof(sdp_pdu_hdr_t)); - - if (sdp_send_req(session, t->reqbuf, t->reqsize + cstate_len) < 0) { - SDPERR("Error sendind data:%m"); - t->err = errno; - goto end; - } - - return 0; -end: - - free(t->reqbuf); - t->reqbuf = NULL; - - return -1; -} - -/* - * This function starts an asynchronous service attribute request. - * The incoming and outgoing data are stored in the transaction structure - * buffers. When there is incoming data the sdp_process function must be - * called to get the data and handle the continuation state. - * - * INPUT : - * sdp_session_t *session - * Current sdp session to be handled - * - * uint32_t handle - * The handle of the service for which the attribute(s) are - * requested - * - * sdp_attrreq_type_t reqtype - * Attribute identifiers are 16 bit unsigned integers specified - * in one of 2 ways described below : - * SDP_ATTR_REQ_INDIVIDUAL - 16bit individual identifiers - * They are the actual attribute identifiers in ascending order - * - * SDP_ATTR_REQ_RANGE - 32bit identifier range - * The high-order 16bits is the start of range - * the low-order 16bits are the end of range - * 0x0000 to 0xFFFF gets all attributes - * - * sdp_list_t *attrid_list - * Singly linked list containing attribute identifiers desired. - * Every element is either a uint16_t(attrSpec = SDP_ATTR_REQ_INDIVIDUAL) - * or a uint32_t(attrSpec=SDP_ATTR_REQ_RANGE) - * - * OUTPUT : - * int return value - * 0 - if the request has been sent properly - * -1 - On any failure and sets errno - */ - -int sdp_service_attr_async(sdp_session_t *session, uint32_t handle, sdp_attrreq_type_t reqtype, const sdp_list_t *attrid_list) -{ - struct sdp_transaction *t; - sdp_pdu_hdr_t *reqhdr; - uint8_t *pdata; - int cstate_len, seqlen = 0; - - if (!session || !session->priv) - return -1; - - t = session->priv; - - /* clean possible allocated buffer */ - free(t->rsp_concat_buf.data); - memset(&t->rsp_concat_buf, 0, sizeof(sdp_buf_t)); - - if (!t->reqbuf) { - t->reqbuf = malloc(SDP_REQ_BUFFER_SIZE); - if (!t->reqbuf) { - t->err = ENOMEM; - goto end; - } - } - memset(t->reqbuf, 0, SDP_REQ_BUFFER_SIZE); - - reqhdr = (sdp_pdu_hdr_t *) t->reqbuf; - reqhdr->tid = htons(sdp_gen_tid(session)); - reqhdr->pdu_id = SDP_SVC_ATTR_REQ; - - /* generate PDU */ - pdata = t->reqbuf + sizeof(sdp_pdu_hdr_t); - t->reqsize = sizeof(sdp_pdu_hdr_t); - - /* add the service record handle */ - bt_put_be32(handle, pdata); - t->reqsize += sizeof(uint32_t); - pdata += sizeof(uint32_t); - - /* specify the response limit */ - bt_put_be16(65535, pdata); - t->reqsize += sizeof(uint16_t); - pdata += sizeof(uint16_t); - - /* get attr seq PDU form */ - seqlen = gen_attridseq_pdu(pdata, attrid_list, - reqtype == SDP_ATTR_REQ_INDIVIDUAL? SDP_UINT16 : SDP_UINT32); - if (seqlen == -1) { - t->err = EINVAL; - goto end; - } - - /* now set the length and increment the pointer */ - t->reqsize += seqlen; - pdata += seqlen; - SDPDBG("Attr list length : %d\n", seqlen); - - /* set the request header's param length */ - cstate_len = copy_cstate(pdata, SDP_REQ_BUFFER_SIZE - t->reqsize, NULL); - reqhdr->plen = htons((t->reqsize + cstate_len) - sizeof(sdp_pdu_hdr_t)); - - if (sdp_send_req(session, t->reqbuf, t->reqsize + cstate_len) < 0) { - SDPERR("Error sendind data:%m"); - t->err = errno; - goto end; - } - - return 0; -end: - - free(t->reqbuf); - t->reqbuf = NULL; - - return -1; -} - -/* - * This function starts an asynchronous service search attributes. - * It is a service search request combined with attribute request. The incoming - * and outgoing data are stored in the transaction structure buffers. When there - * is incoming data the sdp_process function must be called to get the data - * and handle the continuation state. - * - * INPUT: - * sdp_session_t *session - * Current sdp session to be handled - * - * sdp_list_t *search - * Singly linked list containing elements of the search - * pattern. Each entry in the list is a UUID(DataTypeSDP_UUID16) - * of the service to be searched - * - * AttributeSpecification attrSpec - * Attribute identifiers are 16 bit unsigned integers specified - * in one of 2 ways described below : - * SDP_ATTR_REQ_INDIVIDUAL - 16bit individual identifiers - * They are the actual attribute identifiers in ascending order - * - * SDP_ATTR_REQ_RANGE - 32bit identifier range - * The high-order 16bits is the start of range - * the low-order 16bits are the end of range - * 0x0000 to 0xFFFF gets all attributes - * - * sdp_list_t *attrid_list - * Singly linked list containing attribute identifiers desired. - * Every element is either a uint16_t(attrSpec = SDP_ATTR_REQ_INDIVIDUAL) - * or a uint32_t(attrSpec=SDP_ATTR_REQ_RANGE) - * - - * RETURN: - * 0 - if the request has been sent properly - * -1 - On any failure - */ -int sdp_service_search_attr_async(sdp_session_t *session, const sdp_list_t *search, sdp_attrreq_type_t reqtype, const sdp_list_t *attrid_list) -{ - struct sdp_transaction *t; - sdp_pdu_hdr_t *reqhdr; - uint8_t *pdata; - int cstate_len, seqlen = 0; - - if (!session || !session->priv) - return -1; - - t = session->priv; - - /* clean possible allocated buffer */ - free(t->rsp_concat_buf.data); - memset(&t->rsp_concat_buf, 0, sizeof(sdp_buf_t)); - - if (!t->reqbuf) { - t->reqbuf = malloc(SDP_REQ_BUFFER_SIZE); - if (!t->reqbuf) { - t->err = ENOMEM; - goto end; - } - } - memset(t->reqbuf, 0, SDP_REQ_BUFFER_SIZE); - - reqhdr = (sdp_pdu_hdr_t *) t->reqbuf; - reqhdr->tid = htons(sdp_gen_tid(session)); - reqhdr->pdu_id = SDP_SVC_SEARCH_ATTR_REQ; - - /* generate PDU */ - pdata = t->reqbuf + sizeof(sdp_pdu_hdr_t); - t->reqsize = sizeof(sdp_pdu_hdr_t); - - /* add service class IDs for search */ - seqlen = gen_searchseq_pdu(pdata, search); - - SDPDBG("Data seq added : %d\n", seqlen); - - /* now set the length and increment the pointer */ - t->reqsize += seqlen; - pdata += seqlen; - - bt_put_be16(SDP_MAX_ATTR_LEN, pdata); - t->reqsize += sizeof(uint16_t); - pdata += sizeof(uint16_t); - - SDPDBG("Max attr byte count : %d\n", SDP_MAX_ATTR_LEN); - - /* get attr seq PDU form */ - seqlen = gen_attridseq_pdu(pdata, attrid_list, - reqtype == SDP_ATTR_REQ_INDIVIDUAL ? SDP_UINT16 : SDP_UINT32); - if (seqlen == -1) { - t->err = EINVAL; - goto end; - } - - pdata += seqlen; - SDPDBG("Attr list length : %d\n", seqlen); - t->reqsize += seqlen; - - /* set the request header's param length */ - cstate_len = copy_cstate(pdata, SDP_REQ_BUFFER_SIZE - t->reqsize, NULL); - reqhdr->plen = htons((t->reqsize + cstate_len) - sizeof(sdp_pdu_hdr_t)); - - if (sdp_send_req(session, t->reqbuf, t->reqsize + cstate_len) < 0) { - SDPERR("Error sendind data:%m"); - t->err = errno; - goto end; - } - - return 0; -end: - - free(t->reqbuf); - t->reqbuf = NULL; - - return -1; -} - -/* - * Function used to get the error reason after sdp_callback_t function has been called - * and the status is 0xffff or if sdp_service_{search, attr, search_attr}_async returns -1. - * It indicates that an error NOT related to SDP_ErrorResponse happened. Get errno directly - * is not safe because multiple transactions can be triggered. - * This function must be used with asynchronous sdp functions only. - * - * INPUT: - * sdp_session_t *session - * Current sdp session to be handled - * RETURN: - * 0 = No error in the current transaction - * -1 - if the session is invalid - * positive value - the errno value - * - */ -int sdp_get_error(sdp_session_t *session) -{ - struct sdp_transaction *t; - - if (!session || !session->priv) { - SDPERR("Invalid session"); - return -1; - } - - t = session->priv; - - return t->err; -} - -/* - * Receive the incoming SDP PDU. This function must be called when there is data - * available to be read. On continuation state, the original request (with a new - * transaction ID) and the continuation state data will be appended in the initial PDU. - * If an error happens or the transaction finishes the callback function will be called. - * - * INPUT: - * sdp_session_t *session - * Current sdp session to be handled - * RETURN: - * 0 - if the transaction is on continuation state - * -1 - On any failure or the transaction finished - */ -int sdp_process(sdp_session_t *session) -{ - struct sdp_transaction *t; - sdp_pdu_hdr_t *reqhdr, *rsphdr; - sdp_cstate_t *pcstate; - uint8_t *pdata, *rspbuf, *targetPtr; - int rsp_count, err = -1; - size_t size = 0; - int n, plen; - uint16_t status = 0xffff; - uint8_t pdu_id = 0x00; - - if (!session || !session->priv) { - SDPERR("Invalid session"); - return -1; - } - - rspbuf = malloc(SDP_RSP_BUFFER_SIZE); - if (!rspbuf) { - SDPERR("Response buffer alloc failure:%m (%d)", errno); - return -1; - } - - memset(rspbuf, 0, SDP_RSP_BUFFER_SIZE); - - t = session->priv; - reqhdr = (sdp_pdu_hdr_t *)t->reqbuf; - rsphdr = (sdp_pdu_hdr_t *)rspbuf; - - pdata = rspbuf + sizeof(sdp_pdu_hdr_t); - - n = sdp_read_rsp(session, rspbuf, SDP_RSP_BUFFER_SIZE); - if (n < 0) { - SDPERR("Read response:%m (%d)", errno); - t->err = errno; - goto end; - } - - if (n == 0 || reqhdr->tid != rsphdr->tid || - (n != (int) (ntohs(rsphdr->plen) + sizeof(sdp_pdu_hdr_t)))) { - t->err = EPROTO; - SDPERR("Protocol error."); - goto end; - } - - pdu_id = rsphdr->pdu_id; - switch (rsphdr->pdu_id) { - uint8_t *ssr_pdata; - uint16_t tsrc, csrc; - case SDP_SVC_SEARCH_RSP: - /* - * TSRC: Total Service Record Count (2 bytes) - * CSRC: Current Service Record Count (2 bytes) - */ - ssr_pdata = pdata; - tsrc = bt_get_be16(ssr_pdata); - ssr_pdata += sizeof(uint16_t); - csrc = bt_get_be16(ssr_pdata); - - /* csrc should never be larger than tsrc */ - if (csrc > tsrc) { - t->err = EPROTO; - SDPERR("Protocol error: wrong current service record count value."); - goto end; - } - - SDPDBG("Total svc count: %d\n", tsrc); - SDPDBG("Current svc count: %d\n", csrc); - - /* parameter length without continuation state */ - plen = sizeof(tsrc) + sizeof(csrc) + csrc * 4; - - if (t->rsp_concat_buf.data_size == 0) { - /* first fragment */ - rsp_count = sizeof(tsrc) + sizeof(csrc) + csrc * 4; - } else if (t->rsp_concat_buf.data_size >= sizeof(uint16_t) * 2) { - /* point to the first csrc */ - uint8_t *pcsrc = t->rsp_concat_buf.data + 2; - uint16_t tcsrc, tcsrc2; - - /* FIXME: update the interface later. csrc doesn't need be passed to clients */ - - pdata += sizeof(uint16_t); /* point to csrc */ - - /* the first csrc contains the sum of partial csrc responses */ - memcpy(&tcsrc, pcsrc, sizeof(tcsrc)); - memcpy(&tcsrc2, pdata, sizeof(tcsrc2)); - tcsrc += tcsrc2; - memcpy(pcsrc, &tcsrc, sizeof(tcsrc)); - - pdata += sizeof(uint16_t); /* point to the first handle */ - rsp_count = csrc * 4; - } else { - t->err = EPROTO; - SDPERR("Protocol error: invalid PDU size"); - status = SDP_INVALID_PDU_SIZE; - goto end; - } - status = 0x0000; - break; - case SDP_SVC_ATTR_RSP: - case SDP_SVC_SEARCH_ATTR_RSP: - rsp_count = bt_get_be16(pdata); - SDPDBG("Attrlist byte count : %d\n", rsp_count); - - /* Valid range for rsp_count is 0x0002-0xFFFF */ - if (rsp_count < 0x0002) { - t->err = EPROTO; - SDPERR("Protocol error: invalid AttrList size"); - status = SDP_INVALID_PDU_SIZE; - goto end; - } - - /* - * Number of bytes in the AttributeLists parameter(without - * continuation state) + AttributeListsByteCount field size. - */ - plen = sizeof(uint16_t) + rsp_count; - - pdata += sizeof(uint16_t); /* points to attribute list */ - status = 0x0000; - break; - case SDP_ERROR_RSP: - status = bt_get_be16(pdata); - size = ntohs(rsphdr->plen); - - goto end; - default: - t->err = EPROTO; - SDPERR("Illegal PDU ID: 0x%x", rsphdr->pdu_id); - goto end; - } - - /* Out of bound check before using rsp_count as offset for - * continuation state, which has at least a one byte size - * field. - */ - if ((n - (int) sizeof(sdp_pdu_hdr_t)) < plen + 1) { - t->err = EPROTO; - SDPERR("Protocol error: invalid PDU size"); - status = SDP_INVALID_PDU_SIZE; - goto end; - } - - pcstate = (sdp_cstate_t *) (pdata + rsp_count); - - SDPDBG("Cstate length : %d\n", pcstate->length); - - /* - * Check out of bound. Continuation state must have at least - * 1 byte: ZERO to indicate that it is not a partial response. - */ - if ((n - (int) sizeof(sdp_pdu_hdr_t)) != (plen + pcstate->length + 1)) { - t->err = EPROTO; - SDPERR("Protocol error: wrong PDU size."); - status = 0xffff; - goto end; - } - - /* - * This is a split response, need to concatenate intermediate - * responses and the last one which will have cstate length == 0 - */ - t->rsp_concat_buf.data = realloc(t->rsp_concat_buf.data, t->rsp_concat_buf.data_size + rsp_count); - targetPtr = t->rsp_concat_buf.data + t->rsp_concat_buf.data_size; - t->rsp_concat_buf.buf_size = t->rsp_concat_buf.data_size + rsp_count; - memcpy(targetPtr, pdata, rsp_count); - t->rsp_concat_buf.data_size += rsp_count; - - if (pcstate->length > 0) { - int reqsize, cstate_len; - - reqhdr->tid = htons(sdp_gen_tid(session)); - - /* add continuation state */ - cstate_len = copy_cstate(t->reqbuf + t->reqsize, - SDP_REQ_BUFFER_SIZE - t->reqsize, pcstate); - - reqsize = t->reqsize + cstate_len; - - /* set the request header's param length */ - reqhdr->plen = htons(reqsize - sizeof(sdp_pdu_hdr_t)); - - if (sdp_send_req(session, t->reqbuf, reqsize) < 0) { - SDPERR("Error sendind data:%m(%d)", errno); - status = 0xffff; - t->err = errno; - goto end; - } - err = 0; - } - -end: - if (err) { - if (t->rsp_concat_buf.data_size != 0) { - pdata = t->rsp_concat_buf.data; - size = t->rsp_concat_buf.data_size; - } - if (t->cb) - t->cb(pdu_id, status, pdata, size, t->udata); - } - - free(rspbuf); - - return err; -} - -/* - * This is a service search request combined with the service - * attribute request. First a service class match is done and - * for matching service, requested attributes are extracted - * - * INPUT : - * - * sdp_list_t *search - * Singly linked list containing elements of the search - * pattern. Each entry in the list is a UUID(DataTypeSDP_UUID16) - * of the service to be searched - * - * AttributeSpecification attrSpec - * Attribute identifiers are 16 bit unsigned integers specified - * in one of 2 ways described below : - * SDP_ATTR_REQ_INDIVIDUAL - 16bit individual identifiers - * They are the actual attribute identifiers in ascending order - * - * SDP_ATTR_REQ_RANGE - 32bit identifier range - * The high-order 16bits is the start of range - * the low-order 16bits are the end of range - * 0x0000 to 0xFFFF gets all attributes - * - * sdp_list_t *attrids - * Singly linked list containing attribute identifiers desired. - * Every element is either a uint16_t(attrSpec = SDP_ATTR_REQ_INDIVIDUAL) - * or a uint32_t(attrSpec=SDP_ATTR_REQ_RANGE) - * - * OUTPUT : - * int return value - * 0: - * The request completed successfully. This does not - * mean the requested services were found - * -1: - * On any error and sets errno - * - * sdp_list_t **rsp - * This variable is set on a successful return to point to - * service(s) found. Each element of this list is of type - * sdp_record_t* (of the services which matched the search list) - */ -int sdp_service_search_attr_req(sdp_session_t *session, const sdp_list_t *search, sdp_attrreq_type_t reqtype, const sdp_list_t *attrids, sdp_list_t **rsp) -{ - int status = 0; - uint32_t reqsize = 0, _reqsize; - uint32_t rspsize = 0; - int seqlen = 0, attr_list_len = 0; - int rsp_count = 0, cstate_len = 0; - unsigned int pdata_len; - uint8_t *pdata, *_pdata; - uint8_t *reqbuf, *rspbuf; - sdp_pdu_hdr_t *reqhdr, *rsphdr; - uint8_t dataType; - sdp_list_t *rec_list = NULL; - sdp_buf_t rsp_concat_buf; - sdp_cstate_t *cstate = NULL; - - if (reqtype != SDP_ATTR_REQ_INDIVIDUAL && reqtype != SDP_ATTR_REQ_RANGE) { - errno = EINVAL; - return -1; - } - - memset(&rsp_concat_buf, 0, sizeof(sdp_buf_t)); - - reqbuf = malloc(SDP_REQ_BUFFER_SIZE); - rspbuf = malloc(SDP_RSP_BUFFER_SIZE); - if (!reqbuf || !rspbuf) { - errno = ENOMEM; - status = -1; - goto end; - } - - reqhdr = (sdp_pdu_hdr_t *) reqbuf; - reqhdr->pdu_id = SDP_SVC_SEARCH_ATTR_REQ; - - /* generate PDU */ - pdata = reqbuf + sizeof(sdp_pdu_hdr_t); - reqsize = sizeof(sdp_pdu_hdr_t); - - /* add service class IDs for search */ - seqlen = gen_searchseq_pdu(pdata, search); - if (seqlen < 0) { - errno = EINVAL; - status = -1; - goto end; - } - - SDPDBG("Data seq added : %d\n", seqlen); - - /* now set the length and increment the pointer */ - reqsize += seqlen; - pdata += seqlen; - - bt_put_be16(SDP_MAX_ATTR_LEN, pdata); - reqsize += sizeof(uint16_t); - pdata += sizeof(uint16_t); - - SDPDBG("Max attr byte count : %d\n", SDP_MAX_ATTR_LEN); - - /* get attr seq PDU form */ - seqlen = gen_attridseq_pdu(pdata, attrids, - reqtype == SDP_ATTR_REQ_INDIVIDUAL ? SDP_UINT16 : SDP_UINT32); - if (seqlen == -1) { - errno = EINVAL; - status = -1; - goto end; - } - pdata += seqlen; - SDPDBG("Attr list length : %d\n", seqlen); - reqsize += seqlen; - *rsp = 0; - - /* save before Continuation State */ - _pdata = pdata; - _reqsize = reqsize; - - do { - reqhdr->tid = htons(sdp_gen_tid(session)); - - /* add continuation state (can be null) */ - reqsize = _reqsize + copy_cstate(_pdata, - SDP_REQ_BUFFER_SIZE - _reqsize, cstate); - - /* set the request header's param length */ - reqhdr->plen = htons(reqsize - sizeof(sdp_pdu_hdr_t)); - rsphdr = (sdp_pdu_hdr_t *) rspbuf; - status = sdp_send_req_w4_rsp(session, reqbuf, rspbuf, reqsize, &rspsize); - if (rspsize < sizeof(sdp_pdu_hdr_t)) { - SDPERR("Unexpected end of packet"); - status = -1; - goto end; - } - - if (status < 0) { - SDPDBG("Status : 0x%x\n", rsphdr->pdu_id); - goto end; - } - - if (rsphdr->pdu_id == SDP_ERROR_RSP) { - status = -1; - goto end; - } - - pdata = rspbuf + sizeof(sdp_pdu_hdr_t); - pdata_len = rspsize - sizeof(sdp_pdu_hdr_t); - - if (pdata_len < sizeof(uint16_t)) { - SDPERR("Unexpected end of packet"); - status = -1; - goto end; - } - - rsp_count = bt_get_be16(pdata); - attr_list_len += rsp_count; - pdata += sizeof(uint16_t); /* pdata points to attribute list */ - pdata_len -= sizeof(uint16_t); - - if (pdata_len < rsp_count + sizeof(uint8_t)) { - SDPERR("Unexpected end of packet: continuation state data missing"); - status = -1; - goto end; - } - - cstate_len = *(uint8_t *) (pdata + rsp_count); - - SDPDBG("Attrlist byte count : %d\n", attr_list_len); - SDPDBG("Response byte count : %d\n", rsp_count); - SDPDBG("Cstate length : %d\n", cstate_len); - /* - * This is a split response, need to concatenate intermediate - * responses and the last one which will have cstate_len == 0 - */ - if (cstate_len > 0 || rsp_concat_buf.data_size != 0) { - uint8_t *targetPtr = NULL; - - cstate = cstate_len > 0 ? (sdp_cstate_t *) (pdata + rsp_count) : 0; - - /* build concatenated response buffer */ - rsp_concat_buf.data = realloc(rsp_concat_buf.data, rsp_concat_buf.data_size + rsp_count); - targetPtr = rsp_concat_buf.data + rsp_concat_buf.data_size; - rsp_concat_buf.buf_size = rsp_concat_buf.data_size + rsp_count; - memcpy(targetPtr, pdata, rsp_count); - rsp_concat_buf.data_size += rsp_count; - } - } while (cstate); - - if (attr_list_len > 0) { - int scanned = 0; - - if (rsp_concat_buf.data_size != 0) { - pdata = rsp_concat_buf.data; - pdata_len = rsp_concat_buf.data_size; - } - - /* - * Response is a sequence of sequence(s) for one or - * more data element sequence(s) representing services - * for which attributes are returned - */ - scanned = sdp_extract_seqtype(pdata, pdata_len, &dataType, &seqlen); - - SDPDBG("Bytes scanned : %d\n", scanned); - SDPDBG("Seq length : %d\n", seqlen); - - if (scanned && seqlen) { - pdata += scanned; - pdata_len -= scanned; - do { - int recsize = 0; - sdp_record_t *rec = sdp_extract_pdu(pdata, pdata_len, &recsize); - if (rec == NULL) { - SDPERR("SVC REC is null\n"); - status = -1; - goto end; - } - if (!recsize) { - sdp_record_free(rec); - break; - } - scanned += recsize; - pdata += recsize; - pdata_len -= recsize; - - SDPDBG("Loc seq length : %d\n", recsize); - SDPDBG("Svc Rec Handle : 0x%x\n", rec->handle); - SDPDBG("Bytes scanned : %d\n", scanned); - SDPDBG("Attrlist byte count : %d\n", attr_list_len); - rec_list = sdp_list_append(rec_list, rec); - } while (scanned < attr_list_len && pdata_len > 0); - - SDPDBG("Successful scan of service attr lists\n"); - *rsp = rec_list; - } - } -end: - free(rsp_concat_buf.data); - free(reqbuf); - free(rspbuf); - return status; -} - -/* - * Find devices in the piconet. - */ -int sdp_general_inquiry(inquiry_info *ii, int num_dev, int duration, uint8_t *found) -{ - int n = hci_inquiry(-1, 10, num_dev, NULL, &ii, 0); - if (n < 0) { - SDPERR("Inquiry failed:%m"); - return -1; - } - *found = n; - return 0; -} - -int sdp_close(sdp_session_t *session) -{ - struct sdp_transaction *t; - int ret; - - if (!session) - return -1; - - ret = close(session->sock); - - t = session->priv; - - if (t) { - free(t->reqbuf); - - free(t->rsp_concat_buf.data); - - free(t); - } - free(session); - return ret; -} - -static inline int sdp_is_local(const bdaddr_t *device) -{ - return memcmp(device, BDADDR_LOCAL, sizeof(bdaddr_t)) == 0; -} - -static int sdp_connect_local(sdp_session_t *session) -{ - struct sockaddr_un sa; - - session->sock = socket(PF_UNIX, SOCK_STREAM | SOCK_CLOEXEC, 0); - if (session->sock < 0) - return -1; - session->local = 1; - - sa.sun_family = AF_UNIX; - strcpy(sa.sun_path, SDP_UNIX_PATH); - - return connect(session->sock, (struct sockaddr *) &sa, sizeof(sa)); -} - -static int sdp_connect_l2cap(const bdaddr_t *src, - const bdaddr_t *dst, sdp_session_t *session) -{ - uint32_t flags = session->flags; - struct sockaddr_l2 sa; - int sk; - int sockflags = SOCK_SEQPACKET | SOCK_CLOEXEC; - - if (flags & SDP_NON_BLOCKING) - sockflags |= SOCK_NONBLOCK; - - session->sock = socket(PF_BLUETOOTH, sockflags, BTPROTO_L2CAP); - if (session->sock < 0) - return -1; - session->local = 0; - - sk = session->sock; - - memset(&sa, 0, sizeof(sa)); - - sa.l2_family = AF_BLUETOOTH; - sa.l2_psm = 0; - - if (bacmp(src, BDADDR_ANY)) { - sa.l2_bdaddr = *src; - if (bind(sk, (struct sockaddr *) &sa, sizeof(sa)) < 0) - return -1; - } - - if (flags & SDP_WAIT_ON_CLOSE) { - struct linger l = { .l_onoff = 1, .l_linger = 1 }; - setsockopt(sk, SOL_SOCKET, SO_LINGER, &l, sizeof(l)); - } - - sa.l2_psm = htobs(SDP_PSM); - sa.l2_bdaddr = *dst; - - do { - int ret = connect(sk, (struct sockaddr *) &sa, sizeof(sa)); - if (!ret) - return 0; - if (ret < 0 && (flags & SDP_NON_BLOCKING) && - (errno == EAGAIN || errno == EINPROGRESS)) - return 0; - } while (errno == EBUSY && (flags & SDP_RETRY_IF_BUSY)); - - return -1; -} - -sdp_session_t *sdp_connect(const bdaddr_t *src, - const bdaddr_t *dst, uint32_t flags) -{ - sdp_session_t *session; - int err; - - if ((flags & SDP_RETRY_IF_BUSY) && (flags & SDP_NON_BLOCKING)) { - errno = EINVAL; - return NULL; - } - - session = sdp_create(-1, flags); - if (!session) - return NULL; - - if (sdp_is_local(dst)) { - if (sdp_connect_local(session) < 0) - goto fail; - } else { - if (sdp_connect_l2cap(src, dst, session) < 0) - goto fail; - } - - return session; - -fail: - err = errno; - if (session->sock >= 0) - close(session->sock); - free(session->priv); - free(session); - errno = err; - - return NULL; -} - -int sdp_get_socket(const sdp_session_t *session) -{ - return session->sock; -} - -uint16_t sdp_gen_tid(sdp_session_t *session) -{ - return session->tid++; -} - -/* - * Set the supported features - */ -int sdp_set_supp_feat(sdp_record_t *rec, const sdp_list_t *sf) -{ - const sdp_list_t *p, *r; - sdp_data_t *feat, *seq_feat; - int seqlen, i; - void **seqDTDs, **seqVals; - - seqlen = sdp_list_len(sf); - seqDTDs = malloc(seqlen * sizeof(void *)); - if (!seqDTDs) - return -1; - seqVals = malloc(seqlen * sizeof(void *)); - if (!seqVals) { - free(seqDTDs); - return -1; - } - - for (p = sf, i = 0; p; p = p->next, i++) { - int plen, j; - void **dtds, **vals; - int *lengths; - - plen = sdp_list_len(p->data); - dtds = malloc(plen * sizeof(void *)); - if (!dtds) - goto fail; - vals = malloc(plen * sizeof(void *)); - if (!vals) { - free(dtds); - goto fail; - } - lengths = malloc(plen * sizeof(int *)); - if (!lengths) { - free(dtds); - free(vals); - goto fail; - } - for (r = p->data, j = 0; r; r = r->next, j++) { - sdp_data_t *data = (sdp_data_t *) r->data; - dtds[j] = &data->dtd; - switch (data->dtd) { - case SDP_URL_STR8: - case SDP_URL_STR16: - case SDP_TEXT_STR8: - case SDP_TEXT_STR16: - vals[j] = data->val.str; - lengths[j] = data->unitSize - sizeof(uint8_t); - break; - case SDP_ALT8: - case SDP_ALT16: - case SDP_ALT32: - case SDP_SEQ8: - case SDP_SEQ16: - case SDP_SEQ32: - vals[j] = data->val.dataseq; - lengths[j] = 0; - break; - default: - vals[j] = &data->val; - lengths[j] = 0; - break; - } - } - feat = sdp_seq_alloc_with_length(dtds, vals, lengths, plen); - free(dtds); - free(vals); - free(lengths); - if (!feat) - goto fail; - seqDTDs[i] = &feat->dtd; - seqVals[i] = feat; - } - seq_feat = sdp_seq_alloc(seqDTDs, seqVals, seqlen); - if (!seq_feat) - goto fail; - sdp_attr_replace(rec, SDP_ATTR_SUPPORTED_FEATURES_LIST, seq_feat); - - free(seqVals); - free(seqDTDs); - return 0; - -fail: - free(seqVals); - free(seqDTDs); - return -1; -} - -/* - * Get the supported features - * If an error occurred -1 is returned and errno is set - */ -int sdp_get_supp_feat(const sdp_record_t *rec, sdp_list_t **seqp) -{ - sdp_data_t *sdpdata, *d; - sdp_list_t *tseq; - tseq = NULL; - - sdpdata = sdp_data_get(rec, SDP_ATTR_SUPPORTED_FEATURES_LIST); - - if (!sdpdata || !SDP_IS_SEQ(sdpdata->dtd)) - return sdp_get_uuidseq_attr(rec, - SDP_ATTR_SUPPORTED_FEATURES_LIST, seqp); - - for (d = sdpdata->val.dataseq; d; d = d->next) { - sdp_data_t *dd; - sdp_list_t *subseq; - - if (!SDP_IS_SEQ(d->dtd)) - goto fail; - - subseq = NULL; - - for (dd = d->val.dataseq; dd; dd = dd->next) { - sdp_data_t *data; - void *val; - int length; - - switch (dd->dtd) { - case SDP_URL_STR8: - case SDP_URL_STR16: - case SDP_TEXT_STR8: - case SDP_TEXT_STR16: - val = dd->val.str; - length = dd->unitSize - sizeof(uint8_t); - break; - case SDP_UINT8: - case SDP_UINT16: - val = &dd->val; - length = 0; - break; - default: - goto fail; - } - - data = sdp_data_alloc_with_length(dd->dtd, val, length); - if (data) - subseq = sdp_list_append(subseq, data); - } - tseq = sdp_list_append(tseq, subseq); - } - *seqp = tseq; - return 0; - -fail: - while (tseq) { - sdp_list_t * next; - - next = tseq->next; - sdp_list_free(tseq, free); - tseq = next; - } - errno = EINVAL; - return -1; -} - -void sdp_add_lang_attr(sdp_record_t *rec) -{ - sdp_lang_attr_t base_lang; - sdp_list_t *langs; - - base_lang.code_ISO639 = (0x65 << 8) | 0x6e; - base_lang.encoding = 106; - base_lang.base_offset = SDP_PRIMARY_LANG_BASE; - - langs = sdp_list_append(0, &base_lang); - sdp_set_lang_attr(rec, langs); - sdp_list_free(langs, NULL); -} diff --git a/GRIB_BLE_HUB/libs/ble_extend/lib/sdp.h b/GRIB_BLE_HUB/libs/ble_extend/lib/sdp.h deleted file mode 100644 index baae15f..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/lib/sdp.h +++ /dev/null @@ -1,530 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2001-2002 Nokia Corporation - * Copyright (C) 2002-2003 Maxim Krasnyansky - * Copyright (C) 2002-2010 Marcel Holtmann - * Copyright (C) 2002-2003 Stephen Crane - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifndef __SDP_H -#define __SDP_H - -#ifdef __cplusplus -extern "C" { -#endif - -#include -#include - -#define SDP_UNIX_PATH "/var/run/sdp" -#define SDP_RESPONSE_TIMEOUT 20 -#define SDP_REQ_BUFFER_SIZE 2048 -#define SDP_RSP_BUFFER_SIZE 65535 -#define SDP_PDU_CHUNK_SIZE 1024 - -/* - * All definitions are based on Bluetooth Assigned Numbers - * of the Bluetooth Specification - */ -#define SDP_PSM 0x0001 - -/* - * Protocol UUIDs - */ -#define SDP_UUID 0x0001 -#define UDP_UUID 0x0002 -#define RFCOMM_UUID 0x0003 -#define TCP_UUID 0x0004 -#define TCS_BIN_UUID 0x0005 -#define TCS_AT_UUID 0x0006 -#define ATT_UUID 0x0007 -#define OBEX_UUID 0x0008 -#define IP_UUID 0x0009 -#define FTP_UUID 0x000a -#define HTTP_UUID 0x000c -#define WSP_UUID 0x000e -#define BNEP_UUID 0x000f -#define UPNP_UUID 0x0010 -#define HIDP_UUID 0x0011 -#define HCRP_CTRL_UUID 0x0012 -#define HCRP_DATA_UUID 0x0014 -#define HCRP_NOTE_UUID 0x0016 -#define AVCTP_UUID 0x0017 -#define AVDTP_UUID 0x0019 -#define CMTP_UUID 0x001b -#define UDI_UUID 0x001d -#define MCAP_CTRL_UUID 0x001e -#define MCAP_DATA_UUID 0x001f -#define L2CAP_UUID 0x0100 - -/* - * Service class identifiers of standard services and service groups - */ -#define SDP_SERVER_SVCLASS_ID 0x1000 -#define BROWSE_GRP_DESC_SVCLASS_ID 0x1001 -#define PUBLIC_BROWSE_GROUP 0x1002 -#define SERIAL_PORT_SVCLASS_ID 0x1101 -#define LAN_ACCESS_SVCLASS_ID 0x1102 -#define DIALUP_NET_SVCLASS_ID 0x1103 -#define IRMC_SYNC_SVCLASS_ID 0x1104 -#define OBEX_OBJPUSH_SVCLASS_ID 0x1105 -#define OBEX_FILETRANS_SVCLASS_ID 0x1106 -#define IRMC_SYNC_CMD_SVCLASS_ID 0x1107 -#define HEADSET_SVCLASS_ID 0x1108 -#define CORDLESS_TELEPHONY_SVCLASS_ID 0x1109 -#define AUDIO_SOURCE_SVCLASS_ID 0x110a -#define AUDIO_SINK_SVCLASS_ID 0x110b -#define AV_REMOTE_TARGET_SVCLASS_ID 0x110c -#define ADVANCED_AUDIO_SVCLASS_ID 0x110d -#define AV_REMOTE_SVCLASS_ID 0x110e -#define VIDEO_CONF_SVCLASS_ID 0x110f -#define INTERCOM_SVCLASS_ID 0x1110 -#define FAX_SVCLASS_ID 0x1111 -#define HEADSET_AGW_SVCLASS_ID 0x1112 -#define WAP_SVCLASS_ID 0x1113 -#define WAP_CLIENT_SVCLASS_ID 0x1114 -#define PANU_SVCLASS_ID 0x1115 -#define NAP_SVCLASS_ID 0x1116 -#define GN_SVCLASS_ID 0x1117 -#define DIRECT_PRINTING_SVCLASS_ID 0x1118 -#define REFERENCE_PRINTING_SVCLASS_ID 0x1119 -#define IMAGING_SVCLASS_ID 0x111a -#define IMAGING_RESPONDER_SVCLASS_ID 0x111b -#define IMAGING_ARCHIVE_SVCLASS_ID 0x111c -#define IMAGING_REFOBJS_SVCLASS_ID 0x111d -#define HANDSFREE_SVCLASS_ID 0x111e -#define HANDSFREE_AGW_SVCLASS_ID 0x111f -#define DIRECT_PRT_REFOBJS_SVCLASS_ID 0x1120 -#define REFLECTED_UI_SVCLASS_ID 0x1121 -#define BASIC_PRINTING_SVCLASS_ID 0x1122 -#define PRINTING_STATUS_SVCLASS_ID 0x1123 -#define HID_SVCLASS_ID 0x1124 -#define HCR_SVCLASS_ID 0x1125 -#define HCR_PRINT_SVCLASS_ID 0x1126 -#define HCR_SCAN_SVCLASS_ID 0x1127 -#define CIP_SVCLASS_ID 0x1128 -#define VIDEO_CONF_GW_SVCLASS_ID 0x1129 -#define UDI_MT_SVCLASS_ID 0x112a -#define UDI_TA_SVCLASS_ID 0x112b -#define AV_SVCLASS_ID 0x112c -#define SAP_SVCLASS_ID 0x112d -#define PBAP_PCE_SVCLASS_ID 0x112e -#define PBAP_PSE_SVCLASS_ID 0x112f -#define PBAP_SVCLASS_ID 0x1130 -#define MAP_MSE_SVCLASS_ID 0x1132 -#define MAP_MCE_SVCLASS_ID 0x1133 -#define MAP_SVCLASS_ID 0x1134 -#define GNSS_SVCLASS_ID 0x1135 -#define GNSS_SERVER_SVCLASS_ID 0x1136 -#define PNP_INFO_SVCLASS_ID 0x1200 -#define GENERIC_NETWORKING_SVCLASS_ID 0x1201 -#define GENERIC_FILETRANS_SVCLASS_ID 0x1202 -#define GENERIC_AUDIO_SVCLASS_ID 0x1203 -#define GENERIC_TELEPHONY_SVCLASS_ID 0x1204 -#define UPNP_SVCLASS_ID 0x1205 -#define UPNP_IP_SVCLASS_ID 0x1206 -#define UPNP_PAN_SVCLASS_ID 0x1300 -#define UPNP_LAP_SVCLASS_ID 0x1301 -#define UPNP_L2CAP_SVCLASS_ID 0x1302 -#define VIDEO_SOURCE_SVCLASS_ID 0x1303 -#define VIDEO_SINK_SVCLASS_ID 0x1304 -#define VIDEO_DISTRIBUTION_SVCLASS_ID 0x1305 -#define HDP_SVCLASS_ID 0x1400 -#define HDP_SOURCE_SVCLASS_ID 0x1401 -#define HDP_SINK_SVCLASS_ID 0x1402 -#define APPLE_AGENT_SVCLASS_ID 0x2112 -#define GENERIC_ATTRIB_SVCLASS_ID 0x1801 - -/* - * Standard profile descriptor identifiers; note these - * may be identical to some of the service classes defined above - */ -#define SDP_SERVER_PROFILE_ID SDP_SERVER_SVCLASS_ID -#define BROWSE_GRP_DESC_PROFILE_ID BROWSE_GRP_DESC_SVCLASS_ID -#define SERIAL_PORT_PROFILE_ID SERIAL_PORT_SVCLASS_ID -#define LAN_ACCESS_PROFILE_ID LAN_ACCESS_SVCLASS_ID -#define DIALUP_NET_PROFILE_ID DIALUP_NET_SVCLASS_ID -#define IRMC_SYNC_PROFILE_ID IRMC_SYNC_SVCLASS_ID -#define OBEX_OBJPUSH_PROFILE_ID OBEX_OBJPUSH_SVCLASS_ID -#define OBEX_FILETRANS_PROFILE_ID OBEX_FILETRANS_SVCLASS_ID -#define IRMC_SYNC_CMD_PROFILE_ID IRMC_SYNC_CMD_SVCLASS_ID -#define HEADSET_PROFILE_ID HEADSET_SVCLASS_ID -#define CORDLESS_TELEPHONY_PROFILE_ID CORDLESS_TELEPHONY_SVCLASS_ID -#define AUDIO_SOURCE_PROFILE_ID AUDIO_SOURCE_SVCLASS_ID -#define AUDIO_SINK_PROFILE_ID AUDIO_SINK_SVCLASS_ID -#define AV_REMOTE_TARGET_PROFILE_ID AV_REMOTE_TARGET_SVCLASS_ID -#define ADVANCED_AUDIO_PROFILE_ID ADVANCED_AUDIO_SVCLASS_ID -#define AV_REMOTE_PROFILE_ID AV_REMOTE_SVCLASS_ID -#define VIDEO_CONF_PROFILE_ID VIDEO_CONF_SVCLASS_ID -#define INTERCOM_PROFILE_ID INTERCOM_SVCLASS_ID -#define FAX_PROFILE_ID FAX_SVCLASS_ID -#define HEADSET_AGW_PROFILE_ID HEADSET_AGW_SVCLASS_ID -#define WAP_PROFILE_ID WAP_SVCLASS_ID -#define WAP_CLIENT_PROFILE_ID WAP_CLIENT_SVCLASS_ID -#define PANU_PROFILE_ID PANU_SVCLASS_ID -#define NAP_PROFILE_ID NAP_SVCLASS_ID -#define GN_PROFILE_ID GN_SVCLASS_ID -#define DIRECT_PRINTING_PROFILE_ID DIRECT_PRINTING_SVCLASS_ID -#define REFERENCE_PRINTING_PROFILE_ID REFERENCE_PRINTING_SVCLASS_ID -#define IMAGING_PROFILE_ID IMAGING_SVCLASS_ID -#define IMAGING_RESPONDER_PROFILE_ID IMAGING_RESPONDER_SVCLASS_ID -#define IMAGING_ARCHIVE_PROFILE_ID IMAGING_ARCHIVE_SVCLASS_ID -#define IMAGING_REFOBJS_PROFILE_ID IMAGING_REFOBJS_SVCLASS_ID -#define HANDSFREE_PROFILE_ID HANDSFREE_SVCLASS_ID -#define HANDSFREE_AGW_PROFILE_ID HANDSFREE_AGW_SVCLASS_ID -#define DIRECT_PRT_REFOBJS_PROFILE_ID DIRECT_PRT_REFOBJS_SVCLASS_ID -#define REFLECTED_UI_PROFILE_ID REFLECTED_UI_SVCLASS_ID -#define BASIC_PRINTING_PROFILE_ID BASIC_PRINTING_SVCLASS_ID -#define PRINTING_STATUS_PROFILE_ID PRINTING_STATUS_SVCLASS_ID -#define HID_PROFILE_ID HID_SVCLASS_ID -#define HCR_PROFILE_ID HCR_SCAN_SVCLASS_ID -#define HCR_PRINT_PROFILE_ID HCR_PRINT_SVCLASS_ID -#define HCR_SCAN_PROFILE_ID HCR_SCAN_SVCLASS_ID -#define CIP_PROFILE_ID CIP_SVCLASS_ID -#define VIDEO_CONF_GW_PROFILE_ID VIDEO_CONF_GW_SVCLASS_ID -#define UDI_MT_PROFILE_ID UDI_MT_SVCLASS_ID -#define UDI_TA_PROFILE_ID UDI_TA_SVCLASS_ID -#define AV_PROFILE_ID AV_SVCLASS_ID -#define SAP_PROFILE_ID SAP_SVCLASS_ID -#define PBAP_PCE_PROFILE_ID PBAP_PCE_SVCLASS_ID -#define PBAP_PSE_PROFILE_ID PBAP_PSE_SVCLASS_ID -#define PBAP_PROFILE_ID PBAP_SVCLASS_ID -#define PNP_INFO_PROFILE_ID PNP_INFO_SVCLASS_ID -#define GENERIC_NETWORKING_PROFILE_ID GENERIC_NETWORKING_SVCLASS_ID -#define GENERIC_FILETRANS_PROFILE_ID GENERIC_FILETRANS_SVCLASS_ID -#define GENERIC_AUDIO_PROFILE_ID GENERIC_AUDIO_SVCLASS_ID -#define GENERIC_TELEPHONY_PROFILE_ID GENERIC_TELEPHONY_SVCLASS_ID -#define UPNP_PROFILE_ID UPNP_SVCLASS_ID -#define UPNP_IP_PROFILE_ID UPNP_IP_SVCLASS_ID -#define UPNP_PAN_PROFILE_ID UPNP_PAN_SVCLASS_ID -#define UPNP_LAP_PROFILE_ID UPNP_LAP_SVCLASS_ID -#define UPNP_L2CAP_PROFILE_ID UPNP_L2CAP_SVCLASS_ID -#define VIDEO_SOURCE_PROFILE_ID VIDEO_SOURCE_SVCLASS_ID -#define VIDEO_SINK_PROFILE_ID VIDEO_SINK_SVCLASS_ID -#define VIDEO_DISTRIBUTION_PROFILE_ID VIDEO_DISTRIBUTION_SVCLASS_ID -#define HDP_PROFILE_ID HDP_SVCLASS_ID -#define HDP_SOURCE_PROFILE_ID HDP_SOURCE_SVCLASS_ID -#define HDP_SINK_PROFILE_ID HDP_SINK_SVCLASS_ID -#define APPLE_AGENT_PROFILE_ID APPLE_AGENT_SVCLASS_ID -#define GENERIC_ACCESS_PROFILE_ID 0x1800 -#define GENERIC_ATTRIB_PROFILE_ID GENERIC_ATTRIB_SVCLASS_ID - -/* - * Compatibility macros for the old MDP acronym - */ -#define MDP_SVCLASS_ID HDP_SVCLASS_ID -#define MDP_SOURCE_SVCLASS_ID HDP_SOURCE_SVCLASS_ID -#define MDP_SINK_SVCLASS_ID HDP_SINK_SVCLASS_ID -#define MDP_PROFILE_ID HDP_PROFILE_ID -#define MDP_SOURCE_PROFILE_ID HDP_SOURCE_PROFILE_ID -#define MDP_SINK_PROFILE_ID HDP_SINK_PROFILE_ID - -/* - * Attribute identifier codes - */ -#define SDP_SERVER_RECORD_HANDLE 0x0000 - -/* - * Possible values for attribute-id are listed below. - * See SDP Spec, section "Service Attribute Definitions" for more details. - */ -#define SDP_ATTR_RECORD_HANDLE 0x0000 -#define SDP_ATTR_SVCLASS_ID_LIST 0x0001 -#define SDP_ATTR_RECORD_STATE 0x0002 -#define SDP_ATTR_SERVICE_ID 0x0003 -#define SDP_ATTR_PROTO_DESC_LIST 0x0004 -#define SDP_ATTR_BROWSE_GRP_LIST 0x0005 -#define SDP_ATTR_LANG_BASE_ATTR_ID_LIST 0x0006 -#define SDP_ATTR_SVCINFO_TTL 0x0007 -#define SDP_ATTR_SERVICE_AVAILABILITY 0x0008 -#define SDP_ATTR_PFILE_DESC_LIST 0x0009 -#define SDP_ATTR_DOC_URL 0x000a -#define SDP_ATTR_CLNT_EXEC_URL 0x000b -#define SDP_ATTR_ICON_URL 0x000c -#define SDP_ATTR_ADD_PROTO_DESC_LIST 0x000d - -#define SDP_ATTR_GROUP_ID 0x0200 -#define SDP_ATTR_IP_SUBNET 0x0200 -#define SDP_ATTR_VERSION_NUM_LIST 0x0200 -#define SDP_ATTR_SUPPORTED_FEATURES_LIST 0x0200 -#define SDP_ATTR_GOEP_L2CAP_PSM 0x0200 -#define SDP_ATTR_SVCDB_STATE 0x0201 - -#define SDP_ATTR_SERVICE_VERSION 0x0300 -#define SDP_ATTR_EXTERNAL_NETWORK 0x0301 -#define SDP_ATTR_SUPPORTED_DATA_STORES_LIST 0x0301 -#define SDP_ATTR_DATA_EXCHANGE_SPEC 0x0301 -#define SDP_ATTR_NETWORK 0x0301 -#define SDP_ATTR_FAX_CLASS1_SUPPORT 0x0302 -#define SDP_ATTR_REMOTE_AUDIO_VOLUME_CONTROL 0x0302 -#define SDP_ATTR_MCAP_SUPPORTED_PROCEDURES 0x0302 -#define SDP_ATTR_FAX_CLASS20_SUPPORT 0x0303 -#define SDP_ATTR_SUPPORTED_FORMATS_LIST 0x0303 -#define SDP_ATTR_FAX_CLASS2_SUPPORT 0x0304 -#define SDP_ATTR_AUDIO_FEEDBACK_SUPPORT 0x0305 -#define SDP_ATTR_NETWORK_ADDRESS 0x0306 -#define SDP_ATTR_WAP_GATEWAY 0x0307 -#define SDP_ATTR_HOMEPAGE_URL 0x0308 -#define SDP_ATTR_WAP_STACK_TYPE 0x0309 -#define SDP_ATTR_SECURITY_DESC 0x030a -#define SDP_ATTR_NET_ACCESS_TYPE 0x030b -#define SDP_ATTR_MAX_NET_ACCESSRATE 0x030c -#define SDP_ATTR_IP4_SUBNET 0x030d -#define SDP_ATTR_IP6_SUBNET 0x030e -#define SDP_ATTR_SUPPORTED_CAPABILITIES 0x0310 -#define SDP_ATTR_SUPPORTED_FEATURES 0x0311 -#define SDP_ATTR_SUPPORTED_FUNCTIONS 0x0312 -#define SDP_ATTR_TOTAL_IMAGING_DATA_CAPACITY 0x0313 -#define SDP_ATTR_SUPPORTED_REPOSITORIES 0x0314 - -#define SDP_ATTR_SPECIFICATION_ID 0x0200 -#define SDP_ATTR_VENDOR_ID 0x0201 -#define SDP_ATTR_PRODUCT_ID 0x0202 -#define SDP_ATTR_VERSION 0x0203 -#define SDP_ATTR_PRIMARY_RECORD 0x0204 -#define SDP_ATTR_VENDOR_ID_SOURCE 0x0205 - -#define SDP_ATTR_HID_DEVICE_RELEASE_NUMBER 0x0200 -#define SDP_ATTR_HID_PARSER_VERSION 0x0201 -#define SDP_ATTR_HID_DEVICE_SUBCLASS 0x0202 -#define SDP_ATTR_HID_COUNTRY_CODE 0x0203 -#define SDP_ATTR_HID_VIRTUAL_CABLE 0x0204 -#define SDP_ATTR_HID_RECONNECT_INITIATE 0x0205 -#define SDP_ATTR_HID_DESCRIPTOR_LIST 0x0206 -#define SDP_ATTR_HID_LANG_ID_BASE_LIST 0x0207 -#define SDP_ATTR_HID_SDP_DISABLE 0x0208 -#define SDP_ATTR_HID_BATTERY_POWER 0x0209 -#define SDP_ATTR_HID_REMOTE_WAKEUP 0x020a -#define SDP_ATTR_HID_PROFILE_VERSION 0x020b -#define SDP_ATTR_HID_SUPERVISION_TIMEOUT 0x020c -#define SDP_ATTR_HID_NORMALLY_CONNECTABLE 0x020d -#define SDP_ATTR_HID_BOOT_DEVICE 0x020e - -/* - * These identifiers are based on the SDP spec stating that - * "base attribute id of the primary (universal) language must be 0x0100" - * - * Other languages should have their own offset; e.g.: - * #define XXXLangBase yyyy - * #define AttrServiceName_XXX 0x0000+XXXLangBase - */ -#define SDP_PRIMARY_LANG_BASE 0x0100 - -#define SDP_ATTR_SVCNAME_PRIMARY 0x0000 + SDP_PRIMARY_LANG_BASE -#define SDP_ATTR_SVCDESC_PRIMARY 0x0001 + SDP_PRIMARY_LANG_BASE -#define SDP_ATTR_PROVNAME_PRIMARY 0x0002 + SDP_PRIMARY_LANG_BASE - -/* - * The Data representation in SDP PDUs (pps 339, 340 of BT SDP Spec) - * These are the exact data type+size descriptor values - * that go into the PDU buffer. - * - * The datatype (leading 5bits) + size descriptor (last 3 bits) - * is 8 bits. The size descriptor is critical to extract the - * right number of bytes for the data value from the PDU. - * - * For most basic types, the datatype+size descriptor is - * straightforward. However for constructed types and strings, - * the size of the data is in the next "n" bytes following the - * 8 bits (datatype+size) descriptor. Exactly what the "n" is - * specified in the 3 bits of the data size descriptor. - * - * TextString and URLString can be of size 2^{8, 16, 32} bytes - * DataSequence and DataSequenceAlternates can be of size 2^{8, 16, 32} - * The size are computed post-facto in the API and are not known apriori - */ -#define SDP_DATA_NIL 0x00 -#define SDP_UINT8 0x08 -#define SDP_UINT16 0x09 -#define SDP_UINT32 0x0A -#define SDP_UINT64 0x0B -#define SDP_UINT128 0x0C -#define SDP_INT8 0x10 -#define SDP_INT16 0x11 -#define SDP_INT32 0x12 -#define SDP_INT64 0x13 -#define SDP_INT128 0x14 -#define SDP_UUID_UNSPEC 0x18 -#define SDP_UUID16 0x19 -#define SDP_UUID32 0x1A -#define SDP_UUID128 0x1C -#define SDP_TEXT_STR_UNSPEC 0x20 -#define SDP_TEXT_STR8 0x25 -#define SDP_TEXT_STR16 0x26 -#define SDP_TEXT_STR32 0x27 -#define SDP_BOOL 0x28 -#define SDP_SEQ_UNSPEC 0x30 -#define SDP_SEQ8 0x35 -#define SDP_SEQ16 0x36 -#define SDP_SEQ32 0x37 -#define SDP_ALT_UNSPEC 0x38 -#define SDP_ALT8 0x3D -#define SDP_ALT16 0x3E -#define SDP_ALT32 0x3F -#define SDP_URL_STR_UNSPEC 0x40 -#define SDP_URL_STR8 0x45 -#define SDP_URL_STR16 0x46 -#define SDP_URL_STR32 0x47 - -/* - * The PDU identifiers of SDP packets between client and server - */ -#define SDP_ERROR_RSP 0x01 -#define SDP_SVC_SEARCH_REQ 0x02 -#define SDP_SVC_SEARCH_RSP 0x03 -#define SDP_SVC_ATTR_REQ 0x04 -#define SDP_SVC_ATTR_RSP 0x05 -#define SDP_SVC_SEARCH_ATTR_REQ 0x06 -#define SDP_SVC_SEARCH_ATTR_RSP 0x07 - -/* - * Some additions to support service registration. - * These are outside the scope of the Bluetooth specification - */ -#define SDP_SVC_REGISTER_REQ 0x75 -#define SDP_SVC_REGISTER_RSP 0x76 -#define SDP_SVC_UPDATE_REQ 0x77 -#define SDP_SVC_UPDATE_RSP 0x78 -#define SDP_SVC_REMOVE_REQ 0x79 -#define SDP_SVC_REMOVE_RSP 0x80 - -/* - * SDP Error codes - */ -#define SDP_INVALID_VERSION 0x0001 -#define SDP_INVALID_RECORD_HANDLE 0x0002 -#define SDP_INVALID_SYNTAX 0x0003 -#define SDP_INVALID_PDU_SIZE 0x0004 -#define SDP_INVALID_CSTATE 0x0005 - -/* - * SDP PDU - */ -typedef struct { - uint8_t pdu_id; - uint16_t tid; - uint16_t plen; -} __attribute__ ((packed)) sdp_pdu_hdr_t; - -/* - * Common definitions for attributes in the SDP. - * Should the type of any of these change, you need only make a change here. - */ - -typedef struct { - uint8_t type; - union { - uint16_t uuid16; - uint32_t uuid32; - uint128_t uuid128; - } value; -} uuid_t; - -#define SDP_IS_UUID(x) ((x) == SDP_UUID16 || (x) == SDP_UUID32 || \ - (x) == SDP_UUID128) -#define SDP_IS_ALT(x) ((x) == SDP_ALT8 || (x) == SDP_ALT16 || (x) == SDP_ALT32) -#define SDP_IS_SEQ(x) ((x) == SDP_SEQ8 || (x) == SDP_SEQ16 || (x) == SDP_SEQ32) -#define SDP_IS_TEXT_STR(x) ((x) == SDP_TEXT_STR8 || (x) == SDP_TEXT_STR16 || \ - (x) == SDP_TEXT_STR32) - -typedef struct _sdp_list sdp_list_t; -struct _sdp_list { - sdp_list_t *next; - void *data; -}; - -/* - * User-visible strings can be in many languages - * in addition to the universal language. - * - * Language meta-data includes language code in ISO639 - * followed by the encoding format. The third field in this - * structure is the attribute offset for the language. - * User-visible strings in the specified language can be - * obtained at this offset. - */ -typedef struct { - uint16_t code_ISO639; - uint16_t encoding; - uint16_t base_offset; -} sdp_lang_attr_t; - -/* - * Profile descriptor is the Bluetooth profile metadata. If a - * service conforms to a well-known profile, then its profile - * identifier (UUID) is an attribute of the service. In addition, - * if the profile has a version number it is specified here. - */ -typedef struct { - uuid_t uuid; - uint16_t version; -} sdp_profile_desc_t; - -typedef struct { - uint8_t major; - uint8_t minor; -} sdp_version_t; - -typedef struct { - uint8_t *data; - uint32_t data_size; - uint32_t buf_size; -} sdp_buf_t; - -typedef struct { - uint32_t handle; - - /* Search pattern: a sequence of all UUIDs seen in this record */ - sdp_list_t *pattern; - sdp_list_t *attrlist; - - /* Main service class for Extended Inquiry Response */ - uuid_t svclass; -} sdp_record_t; - -typedef struct sdp_data_struct sdp_data_t; -struct sdp_data_struct { - uint8_t dtd; - uint16_t attrId; - union { - int8_t int8; - int16_t int16; - int32_t int32; - int64_t int64; - uint128_t int128; - uint8_t uint8; - uint16_t uint16; - uint32_t uint32; - uint64_t uint64; - uint128_t uint128; - uuid_t uuid; - char *str; - sdp_data_t *dataseq; - } val; - sdp_data_t *next; - int unitSize; -}; - -#ifdef __cplusplus -} -#endif - -#endif /* __SDP_H */ diff --git a/GRIB_BLE_HUB/libs/ble_extend/lib/sdp.lo b/GRIB_BLE_HUB/libs/ble_extend/lib/sdp.lo deleted file mode 100644 index a5260e3..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/lib/sdp.lo +++ /dev/null @@ -1,12 +0,0 @@ -# lib/sdp.lo - a libtool object file -# Generated by libtool (GNU libtool) 2.4.2 Debian-2.4.2-1.1 -# -# Please DO NOT delete this file! -# It is necessary for linking the library. - -# Name of the PIC object. -pic_object='.libs/sdp.o' - -# Name of the non-PIC object -non_pic_object=none - diff --git a/GRIB_BLE_HUB/libs/ble_extend/lib/sdp_lib.h b/GRIB_BLE_HUB/libs/ble_extend/lib/sdp_lib.h deleted file mode 100644 index 6e1eb91..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/lib/sdp_lib.h +++ /dev/null @@ -1,633 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2001-2002 Nokia Corporation - * Copyright (C) 2002-2003 Maxim Krasnyansky - * Copyright (C) 2002-2010 Marcel Holtmann - * Copyright (C) 2002-2003 Stephen Crane - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifndef __SDP_LIB_H -#define __SDP_LIB_H - -#include -#include -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* - * SDP lists - */ -typedef void(*sdp_list_func_t)(void *, void *); -typedef void(*sdp_free_func_t)(void *); -typedef int (*sdp_comp_func_t)(const void *, const void *); - -sdp_list_t *sdp_list_append(sdp_list_t *list, void *d); -sdp_list_t *sdp_list_remove(sdp_list_t *list, void *d); -sdp_list_t *sdp_list_insert_sorted(sdp_list_t *list, void *data, sdp_comp_func_t f); -void sdp_list_free(sdp_list_t *list, sdp_free_func_t f); - -static inline int sdp_list_len(const sdp_list_t *list) -{ - int n = 0; - for (; list; list = list->next) - n++; - return n; -} - -static inline sdp_list_t *sdp_list_find(sdp_list_t *list, void *u, sdp_comp_func_t f) -{ - for (; list; list = list->next) - if (f(list->data, u) == 0) - return list; - return NULL; -} - -static inline void sdp_list_foreach(sdp_list_t *list, sdp_list_func_t f, void *u) -{ - for (; list; list = list->next) - f(list->data, u); -} - -/* - * Values of the flags parameter to sdp_record_register - */ -#define SDP_RECORD_PERSIST 0x01 -#define SDP_DEVICE_RECORD 0x02 - -/* - * Values of the flags parameter to sdp_connect - */ -#define SDP_RETRY_IF_BUSY 0x01 -#define SDP_WAIT_ON_CLOSE 0x02 -#define SDP_NON_BLOCKING 0x04 - -/* - * a session with an SDP server - */ -typedef struct { - int sock; - int state; - int local; - int flags; - uint16_t tid; /* Current transaction ID */ - void *priv; -} sdp_session_t; - -typedef enum { - /* - * Attributes are specified as individual elements - */ - SDP_ATTR_REQ_INDIVIDUAL = 1, - /* - * Attributes are specified as a range - */ - SDP_ATTR_REQ_RANGE -} sdp_attrreq_type_t; - -/* - * When the pdu_id(type) is a sdp error response, check the status value - * to figure out the error reason. For status values 0x0001-0x0006 check - * Bluetooth SPEC. If the status is 0xffff, call sdp_get_error function - * to get the real reason: - * - wrong transaction ID(EPROTO) - * - wrong PDU id or(EPROTO) - * - I/O error - */ -typedef void sdp_callback_t(uint8_t type, uint16_t status, uint8_t *rsp, size_t size, void *udata); - -/* - * create an L2CAP connection to a Bluetooth device - * - * INPUT: - * - * bdaddr_t *src: - * Address of the local device to use to make the connection - * (or BDADDR_ANY) - * - * bdaddr_t *dst: - * Address of the SDP server device - */ -sdp_session_t *sdp_connect(const bdaddr_t *src, const bdaddr_t *dst, uint32_t flags); -int sdp_close(sdp_session_t *session); -int sdp_get_socket(const sdp_session_t *session); - -/* - * SDP transaction: functions for asynchronous search. - */ -sdp_session_t *sdp_create(int sk, uint32_t flags); -int sdp_get_error(sdp_session_t *session); -int sdp_process(sdp_session_t *session); -int sdp_set_notify(sdp_session_t *session, sdp_callback_t *func, void *udata); - -int sdp_service_search_async(sdp_session_t *session, const sdp_list_t *search, uint16_t max_rec_num); -int sdp_service_attr_async(sdp_session_t *session, uint32_t handle, sdp_attrreq_type_t reqtype, const sdp_list_t *attrid_list); -int sdp_service_search_attr_async(sdp_session_t *session, const sdp_list_t *search, sdp_attrreq_type_t reqtype, const sdp_list_t *attrid_list); - -uint16_t sdp_gen_tid(sdp_session_t *session); - -/* - * find all devices in the piconet - */ -int sdp_general_inquiry(inquiry_info *ii, int dev_num, int duration, uint8_t *found); - -/* flexible extraction of basic attributes - Jean II */ -int sdp_get_int_attr(const sdp_record_t *rec, uint16_t attr, int *value); -int sdp_get_string_attr(const sdp_record_t *rec, uint16_t attr, char *value, int valuelen); - -/* - * Basic sdp data functions - */ -sdp_data_t *sdp_data_alloc(uint8_t dtd, const void *value); -sdp_data_t *sdp_data_alloc_with_length(uint8_t dtd, const void *value, uint32_t length); -void sdp_data_free(sdp_data_t *data); -sdp_data_t *sdp_data_get(const sdp_record_t *rec, uint16_t attr_id); - -sdp_data_t *sdp_seq_alloc(void **dtds, void **values, int len); -sdp_data_t *sdp_seq_alloc_with_length(void **dtds, void **values, int *length, int len); -sdp_data_t *sdp_seq_append(sdp_data_t *seq, sdp_data_t *data); - -int sdp_attr_add(sdp_record_t *rec, uint16_t attr, sdp_data_t *data); -void sdp_attr_remove(sdp_record_t *rec, uint16_t attr); -void sdp_attr_replace(sdp_record_t *rec, uint16_t attr, sdp_data_t *data); -int sdp_set_uuidseq_attr(sdp_record_t *rec, uint16_t attr, sdp_list_t *seq); -int sdp_get_uuidseq_attr(const sdp_record_t *rec, uint16_t attr, sdp_list_t **seqp); - -/* - * NOTE that none of the functions below will update the SDP server, - * unless the {register, update}sdp_record_t() function is invoked. - * All functions which return an integer value, return 0 on success - * or -1 on failure. - */ - -/* - * Create an attribute and add it to the service record's attribute list. - * This consists of the data type descriptor of the attribute, - * the value of the attribute and the attribute identifier. - */ -int sdp_attr_add_new(sdp_record_t *rec, uint16_t attr, uint8_t dtd, const void *p); - -/* - * Set the information attributes of the service record. - * The set of attributes comprises service name, description - * and provider name - */ -void sdp_set_info_attr(sdp_record_t *rec, const char *name, const char *prov, const char *desc); - -/* - * Set the ServiceClassID attribute to the sequence specified by seq. - * Note that the identifiers need to be in sorted order from the most - * specific to the most generic service class that this service - * conforms to. - */ -static inline int sdp_set_service_classes(sdp_record_t *rec, sdp_list_t *seq) -{ - return sdp_set_uuidseq_attr(rec, SDP_ATTR_SVCLASS_ID_LIST, seq); -} - -/* - * Get the service classes to which the service conforms. - * - * When set, the list contains elements of ServiceClassIdentifer(uint16_t) - * ordered from most specific to most generic - */ -static inline int sdp_get_service_classes(const sdp_record_t *rec, sdp_list_t **seqp) -{ - return sdp_get_uuidseq_attr(rec, SDP_ATTR_SVCLASS_ID_LIST, seqp); -} - -/* - * Set the BrowseGroupList attribute to the list specified by seq. - * - * A service can belong to one or more service groups - * and the list comprises such group identifiers (UUIDs) - */ -static inline int sdp_set_browse_groups(sdp_record_t *rec, sdp_list_t *seq) -{ - return sdp_set_uuidseq_attr(rec, SDP_ATTR_BROWSE_GRP_LIST, seq); -} - -/* - * Set the access protocols of the record to those specified in proto - */ -int sdp_set_access_protos(sdp_record_t *rec, const sdp_list_t *proto); - -/* - * Set the additional access protocols of the record to those specified in proto - */ -int sdp_set_add_access_protos(sdp_record_t *rec, const sdp_list_t *proto); - -/* - * Get protocol port (i.e. PSM for L2CAP, Channel for RFCOMM) - */ -int sdp_get_proto_port(const sdp_list_t *list, int proto); - -/* - * Get protocol descriptor. - */ -sdp_data_t *sdp_get_proto_desc(sdp_list_t *list, int proto); - -/* - * Set the LanguageBase attributes to the values specified in list - * (a linked list of sdp_lang_attr_t objects, one for each language in - * which user-visible attributes are present). - */ -int sdp_set_lang_attr(sdp_record_t *rec, const sdp_list_t *list); - -/* - * Set the ServiceInfoTimeToLive attribute of the service. - * This is the number of seconds that this record is guaranteed - * not to change after being obtained by a client. - */ -static inline int sdp_set_service_ttl(sdp_record_t *rec, uint32_t ttl) -{ - return sdp_attr_add_new(rec, SDP_ATTR_SVCINFO_TTL, SDP_UINT32, &ttl); -} - -/* - * Set the ServiceRecordState attribute of a service. This is - * guaranteed to change if there is any kind of modification to - * the record. - */ -static inline int sdp_set_record_state(sdp_record_t *rec, uint32_t state) -{ - return sdp_attr_add_new(rec, SDP_ATTR_RECORD_STATE, SDP_UINT32, &state); -} - -/* - * Set the ServiceID attribute of a service. - */ -void sdp_set_service_id(sdp_record_t *rec, uuid_t uuid); - -/* - * Set the GroupID attribute of a service - */ -void sdp_set_group_id(sdp_record_t *rec, uuid_t grouuuid); - -/* - * Set the ServiceAvailability attribute of a service. - * - * Note that this represents the relative availability - * of the service: 0x00 means completely unavailable; - * 0xFF means maximum availability. - */ -static inline int sdp_set_service_avail(sdp_record_t *rec, uint8_t avail) -{ - return sdp_attr_add_new(rec, SDP_ATTR_SERVICE_AVAILABILITY, SDP_UINT8, &avail); -} - -/* - * Set the profile descriptor list attribute of a record. - * - * Each element in the list is an object of type - * sdp_profile_desc_t which is a definition of the - * Bluetooth profile that this service conforms to. - */ -int sdp_set_profile_descs(sdp_record_t *rec, const sdp_list_t *desc); - -/* - * Set URL attributes of a record. - * - * ClientExecutableURL: a URL to a client's platform specific (WinCE, - * PalmOS) executable code that can be used to access this service. - * - * DocumentationURL: a URL pointing to service documentation - * - * IconURL: a URL to an icon that can be used to represent this service. - * - * Note: pass NULL for any URLs that you don't want to set or remove - */ -void sdp_set_url_attr(sdp_record_t *rec, const char *clientExecURL, const char *docURL, const char *iconURL); - -/* - * a service search request. - * - * INPUT : - * - * sdp_list_t *search - * list containing elements of the search - * pattern. Each entry in the list is a UUID - * of the service to be searched - * - * uint16_t max_rec_num - * An integer specifying the maximum number of - * entries that the client can handle in the response. - * - * OUTPUT : - * - * int return value - * 0 - * The request completed successfully. This does not - * mean the requested services were found - * -1 - * The request completed unsuccessfully - * - * sdp_list_t *rsp_list - * This variable is set on a successful return if there are - * non-zero service handles. It is a singly linked list of - * service record handles (uint16_t) - */ -int sdp_service_search_req(sdp_session_t *session, const sdp_list_t *search, uint16_t max_rec_num, sdp_list_t **rsp_list); - -/* - * a service attribute request. - * - * INPUT : - * - * uint32_t handle - * The handle of the service for which the attribute(s) are - * requested - * - * sdp_attrreq_type_t reqtype - * Attribute identifiers are 16 bit unsigned integers specified - * in one of 2 ways described below : - * SDP_ATTR_REQ_INDIVIDUAL - 16bit individual identifiers - * They are the actual attribute identifiers in ascending order - * - * SDP_ATTR_REQ_RANGE - 32bit identifier range - * The high-order 16bits is the start of range - * the low-order 16bits are the end of range - * 0x0000 to 0xFFFF gets all attributes - * - * sdp_list_t *attrid_list - * Singly linked list containing attribute identifiers desired. - * Every element is either a uint16_t(attrSpec = SDP_ATTR_REQ_INDIVIDUAL) - * or a uint32_t(attrSpec=SDP_ATTR_REQ_RANGE) - * - * OUTPUT : - * int return value - * 0 - * The request completed successfully. This does not - * mean the requested services were found - * -1 - * The request completed unsuccessfully due to a timeout - */ -sdp_record_t *sdp_service_attr_req(sdp_session_t *session, uint32_t handle, sdp_attrreq_type_t reqtype, const sdp_list_t *attrid_list); - -/* - * This is a service search request combined with the service - * attribute request. First a service class match is done and - * for matching service, requested attributes are extracted - * - * INPUT : - * - * sdp_list_t *search - * Singly linked list containing elements of the search - * pattern. Each entry in the list is a UUID(DataTypeSDP_UUID16) - * of the service to be searched - * - * AttributeSpecification attrSpec - * Attribute identifiers are 16 bit unsigned integers specified - * in one of 2 ways described below : - * SDP_ATTR_REQ_INDIVIDUAL - 16bit individual identifiers - * They are the actual attribute identifiers in ascending order - * - * SDP_ATTR_REQ_RANGE - 32bit identifier range - * The high-order 16bits is the start of range - * the low-order 16bits are the end of range - * 0x0000 to 0xFFFF gets all attributes - * - * sdp_list_t *attrid_list - * Singly linked list containing attribute identifiers desired. - * Every element is either a uint16_t(attrSpec = SDP_ATTR_REQ_INDIVIDUAL) - * or a uint32_t(attrSpec=SDP_ATTR_REQ_RANGE) - * - * OUTPUT : - * int return value - * 0 - * The request completed successfully. This does not - * mean the requested services were found - * -1 - * The request completed unsuccessfully due to a timeout - * - * sdp_list_t *rsp_list - * This variable is set on a successful return to point to - * service(s) found. Each element of this list is of type - * sdp_record_t *. - */ -int sdp_service_search_attr_req(sdp_session_t *session, const sdp_list_t *search, sdp_attrreq_type_t reqtype, const sdp_list_t *attrid_list, sdp_list_t **rsp_list); - -/* - * Allocate/free a service record and its attributes - */ -sdp_record_t *sdp_record_alloc(void); -void sdp_record_free(sdp_record_t *rec); - -/* - * Register a service record. - * - * Note: It is the responsbility of the Service Provider to create the - * record first and set its attributes using setXXX() methods. - * - * The service provider must then call sdp_record_register() to make - * the service record visible to SDP clients. This function returns 0 - * on success or -1 on failure (and sets errno). - */ -int sdp_device_record_register_binary(sdp_session_t *session, bdaddr_t *device, uint8_t *data, uint32_t size, uint8_t flags, uint32_t *handle); -int sdp_device_record_register(sdp_session_t *session, bdaddr_t *device, sdp_record_t *rec, uint8_t flags); -int sdp_record_register(sdp_session_t *session, sdp_record_t *rec, uint8_t flags); - -/* - * Unregister a service record. - */ -int sdp_device_record_unregister_binary(sdp_session_t *session, bdaddr_t *device, uint32_t handle); -int sdp_device_record_unregister(sdp_session_t *session, bdaddr_t *device, sdp_record_t *rec); -int sdp_record_unregister(sdp_session_t *session, sdp_record_t *rec); - -/* - * Update an existing service record. (Calling this function - * before a previous call to sdp_record_register() will result - * in an error.) - */ -int sdp_device_record_update_binary(sdp_session_t *session, bdaddr_t *device, uint32_t handle, uint8_t *data, uint32_t size); -int sdp_device_record_update(sdp_session_t *session, bdaddr_t *device, const sdp_record_t *rec); -int sdp_record_update(sdp_session_t *sess, const sdp_record_t *rec); - -void sdp_record_print(const sdp_record_t *rec); - -/* - * UUID functions - */ -uuid_t *sdp_uuid16_create(uuid_t *uuid, uint16_t data); -uuid_t *sdp_uuid32_create(uuid_t *uuid, uint32_t data); -uuid_t *sdp_uuid128_create(uuid_t *uuid, const void *data); -int sdp_uuid16_cmp(const void *p1, const void *p2); -int sdp_uuid128_cmp(const void *p1, const void *p2); -int sdp_uuid_cmp(const void *p1, const void *p2); -uuid_t *sdp_uuid_to_uuid128(const uuid_t *uuid); -void sdp_uuid16_to_uuid128(uuid_t *uuid128, const uuid_t *uuid16); -void sdp_uuid32_to_uuid128(uuid_t *uuid128, const uuid_t *uuid32); -int sdp_uuid128_to_uuid(uuid_t *uuid); -int sdp_uuid_to_proto(uuid_t *uuid); -int sdp_uuid_extract(const uint8_t *buffer, int bufsize, uuid_t *uuid, int *scanned); -void sdp_uuid_print(const uuid_t *uuid); - -#define MAX_LEN_UUID_STR 37 -#define MAX_LEN_PROTOCOL_UUID_STR 8 -#define MAX_LEN_SERVICECLASS_UUID_STR 28 -#define MAX_LEN_PROFILEDESCRIPTOR_UUID_STR 28 - -int sdp_uuid2strn(const uuid_t *uuid, char *str, size_t n); -int sdp_proto_uuid2strn(const uuid_t *uuid, char *str, size_t n); -int sdp_svclass_uuid2strn(const uuid_t *uuid, char *str, size_t n); -int sdp_profile_uuid2strn(const uuid_t *uuid, char *str, size_t n); - -/* - * In all the sdp_get_XXX(handle, XXX *xxx) functions below, - * the XXX * is set to point to the value, should it exist - * and 0 is returned. If the value does not exist, -1 is - * returned and errno set to ENODATA. - * - * In all the methods below, the memory management rules are - * simple. Don't free anything! The pointer returned, in the - * case of constructed types, is a pointer to the contents - * of the sdp_record_t. - */ - -/* - * Get the access protocols from the service record - */ -int sdp_get_access_protos(const sdp_record_t *rec, sdp_list_t **protos); - -/* - * Get the additional access protocols from the service record - */ -int sdp_get_add_access_protos(const sdp_record_t *rec, sdp_list_t **protos); - -/* - * Extract the list of browse groups to which the service belongs. - * When set, seqp contains elements of GroupID (uint16_t) - */ -static inline int sdp_get_browse_groups(const sdp_record_t *rec, sdp_list_t **seqp) -{ - return sdp_get_uuidseq_attr(rec, SDP_ATTR_BROWSE_GRP_LIST, seqp); -} - -/* - * Extract language attribute meta-data of the service record. - * For each language in the service record, LangSeq has a struct of type - * sdp_lang_attr_t. - */ -int sdp_get_lang_attr(const sdp_record_t *rec, sdp_list_t **langSeq); - -/* - * Extract the Bluetooth profile descriptor sequence from a record. - * Each element in the list is of type sdp_profile_desc_t - * which contains the UUID of the profile and its version number - * (encoded as major and minor in the high-order 8bits - * and low-order 8bits respectively of the uint16_t) - */ -int sdp_get_profile_descs(const sdp_record_t *rec, sdp_list_t **profDesc); - -/* - * Extract SDP server version numbers - * - * Note: that this is an attribute of the SDP server only and - * contains a list of uint16_t each of which represent the - * major and minor SDP version numbers supported by this server - */ -int sdp_get_server_ver(const sdp_record_t *rec, sdp_list_t **pVnumList); - -int sdp_get_service_id(const sdp_record_t *rec, uuid_t *uuid); -int sdp_get_group_id(const sdp_record_t *rec, uuid_t *uuid); -int sdp_get_record_state(const sdp_record_t *rec, uint32_t *svcRecState); -int sdp_get_service_avail(const sdp_record_t *rec, uint8_t *svcAvail); -int sdp_get_service_ttl(const sdp_record_t *rec, uint32_t *svcTTLInfo); -int sdp_get_database_state(const sdp_record_t *rec, uint32_t *svcDBState); - -static inline int sdp_get_service_name(const sdp_record_t *rec, char *str, int len) -{ - return sdp_get_string_attr(rec, SDP_ATTR_SVCNAME_PRIMARY, str, len); -} - -static inline int sdp_get_service_desc(const sdp_record_t *rec, char *str, int len) -{ - return sdp_get_string_attr(rec, SDP_ATTR_SVCDESC_PRIMARY, str, len); -} - -static inline int sdp_get_provider_name(const sdp_record_t *rec, char *str, int len) -{ - return sdp_get_string_attr(rec, SDP_ATTR_PROVNAME_PRIMARY, str, len); -} - -static inline int sdp_get_doc_url(const sdp_record_t *rec, char *str, int len) -{ - return sdp_get_string_attr(rec, SDP_ATTR_DOC_URL, str, len); -} - -static inline int sdp_get_clnt_exec_url(const sdp_record_t *rec, char *str, int len) -{ - return sdp_get_string_attr(rec, SDP_ATTR_CLNT_EXEC_URL, str, len); -} - -static inline int sdp_get_icon_url(const sdp_record_t *rec, char *str, int len) -{ - return sdp_get_string_attr(rec, SDP_ATTR_ICON_URL, str, len); -} - -/* - * Set the supported features - * sf should be a list of list with each feature data - * Returns 0 on success -1 on fail - */ -int sdp_set_supp_feat(sdp_record_t *rec, const sdp_list_t *sf); - -/* - * Get the supported features - * seqp is set to a list of list with each feature data - * Returns 0 on success, if an error occurred -1 is returned and errno is set - */ -int sdp_get_supp_feat(const sdp_record_t *rec, sdp_list_t **seqp); - -sdp_record_t *sdp_extract_pdu(const uint8_t *pdata, int bufsize, int *scanned); -sdp_record_t *sdp_copy_record(sdp_record_t *rec); - -void sdp_data_print(sdp_data_t *data); -void sdp_print_service_attr(sdp_list_t *alist); - -int sdp_attrid_comp_func(const void *key1, const void *key2); - -void sdp_set_seq_len(uint8_t *ptr, uint32_t length); -void sdp_set_attrid(sdp_buf_t *pdu, uint16_t id); -void sdp_append_to_pdu(sdp_buf_t *dst, sdp_data_t *d); -void sdp_append_to_buf(sdp_buf_t *dst, uint8_t *data, uint32_t len); - -int sdp_gen_pdu(sdp_buf_t *pdu, sdp_data_t *data); -int sdp_gen_record_pdu(const sdp_record_t *rec, sdp_buf_t *pdu); - -int sdp_extract_seqtype(const uint8_t *buf, int bufsize, uint8_t *dtdp, int *size); - -sdp_data_t *sdp_extract_attr(const uint8_t *pdata, int bufsize, int *extractedLength, sdp_record_t *rec); - -void sdp_pattern_add_uuid(sdp_record_t *rec, uuid_t *uuid); -void sdp_pattern_add_uuidseq(sdp_record_t *rec, sdp_list_t *seq); - -int sdp_send_req_w4_rsp(sdp_session_t *session, uint8_t *req, uint8_t *rsp, uint32_t reqsize, uint32_t *rspsize); - -void sdp_add_lang_attr(sdp_record_t *rec); - -#ifdef __cplusplus -} -#endif - -#endif /* __SDP_LIB_H */ diff --git a/GRIB_BLE_HUB/libs/ble_extend/lib/uuid.c b/GRIB_BLE_HUB/libs/ble_extend/lib/uuid.c deleted file mode 100644 index 4363aee..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/lib/uuid.c +++ /dev/null @@ -1,278 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2011 Nokia Corporation - * Copyright (C) 2011 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include -#include - -#include "uuid.h" - -#if __BYTE_ORDER == __BIG_ENDIAN -static uint128_t bluetooth_base_uuid = { - .data = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, - 0x80, 0x00, 0x00, 0x80, 0x5F, 0x9B, 0x34, 0xFB } -}; - -#define BASE_UUID16_OFFSET 2 -#define BASE_UUID32_OFFSET 0 - -#else -static uint128_t bluetooth_base_uuid = { - .data = { 0xFB, 0x34, 0x9B, 0x5F, 0x80, 0x00, 0x00, 0x80, - 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } -}; - -#define BASE_UUID16_OFFSET 12 -#define BASE_UUID32_OFFSET BASE_UUID16_OFFSET - -#endif - -static void bt_uuid16_to_uuid128(const bt_uuid_t *src, bt_uuid_t *dst) -{ - dst->value.u128 = bluetooth_base_uuid; - dst->type = BT_UUID128; - - memcpy(&dst->value.u128.data[BASE_UUID16_OFFSET], - &src->value.u16, sizeof(src->value.u16)); -} - -static void bt_uuid32_to_uuid128(const bt_uuid_t *src, bt_uuid_t *dst) -{ - dst->value.u128 = bluetooth_base_uuid; - dst->type = BT_UUID128; - - memcpy(&dst->value.u128.data[BASE_UUID32_OFFSET], - &src->value.u32, sizeof(src->value.u32)); -} - -void bt_uuid_to_uuid128(const bt_uuid_t *src, bt_uuid_t *dst) -{ - switch (src->type) { - case BT_UUID128: - *dst = *src; - break; - case BT_UUID32: - bt_uuid32_to_uuid128(src, dst); - break; - case BT_UUID16: - bt_uuid16_to_uuid128(src, dst); - break; - default: - break; - } -} - -static int bt_uuid128_cmp(const bt_uuid_t *u1, const bt_uuid_t *u2) -{ - return memcmp(&u1->value.u128, &u2->value.u128, sizeof(uint128_t)); -} - -int bt_uuid16_create(bt_uuid_t *btuuid, uint16_t value) -{ - memset(btuuid, 0, sizeof(bt_uuid_t)); - btuuid->type = BT_UUID16; - btuuid->value.u16 = value; - - return 0; -} - -int bt_uuid32_create(bt_uuid_t *btuuid, uint32_t value) -{ - memset(btuuid, 0, sizeof(bt_uuid_t)); - btuuid->type = BT_UUID32; - btuuid->value.u32 = value; - - return 0; -} - -int bt_uuid128_create(bt_uuid_t *btuuid, uint128_t value) -{ - memset(btuuid, 0, sizeof(bt_uuid_t)); - btuuid->type = BT_UUID128; - btuuid->value.u128 = value; - - return 0; -} - -int bt_uuid_cmp(const bt_uuid_t *uuid1, const bt_uuid_t *uuid2) -{ - bt_uuid_t u1, u2; - - bt_uuid_to_uuid128(uuid1, &u1); - bt_uuid_to_uuid128(uuid2, &u2); - - return bt_uuid128_cmp(&u1, &u2); -} - -/* - * convert the UUID to string, copying a maximum of n characters. - */ -int bt_uuid_to_string(const bt_uuid_t *uuid, char *str, size_t n) -{ - if (!uuid) { - snprintf(str, n, "NULL"); - return -EINVAL; - } - - switch (uuid->type) { - case BT_UUID16: - snprintf(str, n, "%.4x", uuid->value.u16); - break; - case BT_UUID32: - snprintf(str, n, "%.8x", uuid->value.u32); - break; - case BT_UUID128: { - unsigned int data0; - unsigned short data1; - unsigned short data2; - unsigned short data3; - unsigned int data4; - unsigned short data5; - - uint128_t nvalue; - const uint8_t *data = (uint8_t *) &nvalue; - - hton128(&uuid->value.u128, &nvalue); - - memcpy(&data0, &data[0], 4); - memcpy(&data1, &data[4], 2); - memcpy(&data2, &data[6], 2); - memcpy(&data3, &data[8], 2); - memcpy(&data4, &data[10], 4); - memcpy(&data5, &data[14], 2); - - snprintf(str, n, "%.8x-%.4x-%.4x-%.4x-%.8x%.4x", - ntohl(data0), ntohs(data1), - ntohs(data2), ntohs(data3), - ntohl(data4), ntohs(data5)); - } - break; - default: - snprintf(str, n, "Type of UUID (%x) unknown.", uuid->type); - return -EINVAL; /* Enum type of UUID not set */ - } - - return 0; -} - -static inline int is_uuid128(const char *string) -{ - return (strlen(string) == 36 && - string[8] == '-' && - string[13] == '-' && - string[18] == '-' && - string[23] == '-'); -} - -static inline int is_uuid32(const char *string) -{ - return (strlen(string) == 8 || strlen(string) == 10); -} - -static inline int is_uuid16(const char *string) -{ - return (strlen(string) == 4 || strlen(string) == 6); -} - -static int bt_string_to_uuid16(bt_uuid_t *uuid, const char *string) -{ - uint16_t u16; - char *endptr = NULL; - - u16 = strtol(string, &endptr, 16); - if (endptr && *endptr == '\0') { - bt_uuid16_create(uuid, u16); - return 0; - } - - return -EINVAL; -} - -static int bt_string_to_uuid32(bt_uuid_t *uuid, const char *string) -{ - uint32_t u32; - char *endptr = NULL; - - u32 = strtol(string, &endptr, 16); - if (endptr && *endptr == '\0') { - bt_uuid32_create(uuid, u32); - return 0; - } - - return -EINVAL; -} - -static int bt_string_to_uuid128(bt_uuid_t *uuid, const char *string) -{ - uint32_t data0, data4; - uint16_t data1, data2, data3, data5; - uint128_t n128, u128; - uint8_t *val = (uint8_t *) &n128; - - if (sscanf(string, "%08x-%04hx-%04hx-%04hx-%08x%04hx", - &data0, &data1, &data2, - &data3, &data4, &data5) != 6) - return -EINVAL; - - data0 = htonl(data0); - data1 = htons(data1); - data2 = htons(data2); - data3 = htons(data3); - data4 = htonl(data4); - data5 = htons(data5); - - memcpy(&val[0], &data0, 4); - memcpy(&val[4], &data1, 2); - memcpy(&val[6], &data2, 2); - memcpy(&val[8], &data3, 2); - memcpy(&val[10], &data4, 4); - memcpy(&val[14], &data5, 2); - - ntoh128(&n128, &u128); - - bt_uuid128_create(uuid, u128); - - return 0; -} - -int bt_string_to_uuid(bt_uuid_t *uuid, const char *string) -{ - if (is_uuid128(string)) - return bt_string_to_uuid128(uuid, string); - else if (is_uuid32(string)) - return bt_string_to_uuid32(uuid, string); - else if (is_uuid16(string)) - return bt_string_to_uuid16(uuid, string); - - return -EINVAL; -} - -int bt_uuid_strcmp(const void *a, const void *b) -{ - return strcasecmp(a, b); -} diff --git a/GRIB_BLE_HUB/libs/ble_extend/lib/uuid.h b/GRIB_BLE_HUB/libs/ble_extend/lib/uuid.h deleted file mode 100644 index 1e8188a..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/lib/uuid.h +++ /dev/null @@ -1,141 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2011 Nokia Corporation - * Copyright (C) 2011 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifndef __BLUETOOTH_UUID_H -#define __BLUETOOTH_UUID_H - -#ifdef __cplusplus -extern "C" { -#endif - -#include -#include - -#define GENERIC_AUDIO_UUID "00001203-0000-1000-8000-00805f9b34fb" - -#define HSP_HS_UUID "00001108-0000-1000-8000-00805f9b34fb" -#define HSP_AG_UUID "00001112-0000-1000-8000-00805f9b34fb" - -#define HFP_HS_UUID "0000111e-0000-1000-8000-00805f9b34fb" -#define HFP_AG_UUID "0000111f-0000-1000-8000-00805f9b34fb" - -#define ADVANCED_AUDIO_UUID "0000110d-0000-1000-8000-00805f9b34fb" - -#define A2DP_SOURCE_UUID "0000110a-0000-1000-8000-00805f9b34fb" -#define A2DP_SINK_UUID "0000110b-0000-1000-8000-00805f9b34fb" - -#define AVRCP_REMOTE_UUID "0000110e-0000-1000-8000-00805f9b34fb" -#define AVRCP_TARGET_UUID "0000110c-0000-1000-8000-00805f9b34fb" - -#define PANU_UUID "00001115-0000-1000-8000-00805f9b34fb" -#define NAP_UUID "00001116-0000-1000-8000-00805f9b34fb" -#define GN_UUID "00001117-0000-1000-8000-00805f9b34fb" -#define BNEP_SVC_UUID "0000000f-0000-1000-8000-00805f9b34fb" - -#define PNPID_UUID "00002a50-0000-1000-8000-00805f9b34fb" -#define DEVICE_INFORMATION_UUID "0000180a-0000-1000-8000-00805f9b34fb" - -#define GATT_UUID "00001801-0000-1000-8000-00805f9b34fb" -#define IMMEDIATE_ALERT_UUID "00001802-0000-1000-8000-00805f9b34fb" -#define LINK_LOSS_UUID "00001803-0000-1000-8000-00805f9b34fb" -#define TX_POWER_UUID "00001804-0000-1000-8000-00805f9b34fb" - -#define SAP_UUID "0000112D-0000-1000-8000-00805f9b34fb" - -#define HEART_RATE_UUID "0000180d-0000-1000-8000-00805f9b34fb" -#define HEART_RATE_MEASUREMENT_UUID "00002a37-0000-1000-8000-00805f9b34fb" -#define BODY_SENSOR_LOCATION_UUID "00002a38-0000-1000-8000-00805f9b34fb" -#define HEART_RATE_CONTROL_POINT_UUID "00002a39-0000-1000-8000-00805f9b34fb" - -#define HEALTH_THERMOMETER_UUID "00001809-0000-1000-8000-00805f9b34fb" -#define TEMPERATURE_MEASUREMENT_UUID "00002a1c-0000-1000-8000-00805f9b34fb" -#define TEMPERATURE_TYPE_UUID "00002a1d-0000-1000-8000-00805f9b34fb" -#define INTERMEDIATE_TEMPERATURE_UUID "00002a1e-0000-1000-8000-00805f9b34fb" -#define MEASUREMENT_INTERVAL_UUID "00002a21-0000-1000-8000-00805f9b34fb" - -#define CYCLING_SC_UUID "00001816-0000-1000-8000-00805f9b34fb" -#define CSC_MEASUREMENT_UUID "00002a5b-0000-1000-8000-00805f9b34fb" -#define CSC_FEATURE_UUID "00002a5c-0000-1000-8000-00805f9b34fb" -#define SENSOR_LOCATION_UUID "00002a5d-0000-1000-8000-00805f9b34fb" -#define SC_CONTROL_POINT_UUID "00002a55-0000-1000-8000-00805f9b34fb" - -#define RFCOMM_UUID_STR "00000003-0000-1000-8000-00805f9b34fb" - -#define HDP_UUID "00001400-0000-1000-8000-00805f9b34fb" -#define HDP_SOURCE_UUID "00001401-0000-1000-8000-00805f9b34fb" -#define HDP_SINK_UUID "00001402-0000-1000-8000-00805f9b34fb" - -#define HSP_HS_UUID "00001108-0000-1000-8000-00805f9b34fb" -#define HID_UUID "00001124-0000-1000-8000-00805f9b34fb" - -#define DUN_GW_UUID "00001103-0000-1000-8000-00805f9b34fb" - -#define GAP_UUID "00001800-0000-1000-8000-00805f9b34fb" -#define PNP_UUID "00001200-0000-1000-8000-00805f9b34fb" - -#define SPP_UUID "00001101-0000-1000-8000-00805f9b34fb" - -#define OBEX_SYNC_UUID "00001104-0000-1000-8000-00805f9b34fb" -#define OBEX_OPP_UUID "00001105-0000-1000-8000-00805f9b34fb" -#define OBEX_FTP_UUID "00001106-0000-1000-8000-00805f9b34fb" -#define OBEX_PCE_UUID "0000112e-0000-1000-8000-00805f9b34fb" -#define OBEX_PSE_UUID "0000112f-0000-1000-8000-00805f9b34fb" -#define OBEX_PBAP_UUID "00001130-0000-1000-8000-00805f9b34fb" -#define OBEX_MAS_UUID "00001132-0000-1000-8000-00805f9b34fb" -#define OBEX_MNS_UUID "00001133-0000-1000-8000-00805f9b34fb" -#define OBEX_MAP_UUID "00001134-0000-1000-8000-00805f9b34fb" - -typedef struct { - enum { - BT_UUID_UNSPEC = 0, - BT_UUID16 = 16, - BT_UUID32 = 32, - BT_UUID128 = 128, - } type; - union { - uint16_t u16; - uint32_t u32; - uint128_t u128; - } value; -} bt_uuid_t; - -int bt_uuid_strcmp(const void *a, const void *b); - -int bt_uuid16_create(bt_uuid_t *btuuid, uint16_t value); -int bt_uuid32_create(bt_uuid_t *btuuid, uint32_t value); -int bt_uuid128_create(bt_uuid_t *btuuid, uint128_t value); - -int bt_uuid_cmp(const bt_uuid_t *uuid1, const bt_uuid_t *uuid2); -void bt_uuid_to_uuid128(const bt_uuid_t *src, bt_uuid_t *dst); - -#define MAX_LEN_UUID_STR 37 - -int bt_uuid_to_string(const bt_uuid_t *uuid, char *str, size_t n); -int bt_string_to_uuid(bt_uuid_t *uuid, const char *string); - -#ifdef __cplusplus -} -#endif - -#endif /* __BLUETOOTH_UUID_H */ diff --git a/GRIB_BLE_HUB/libs/ble_extend/lib/uuid.lo b/GRIB_BLE_HUB/libs/ble_extend/lib/uuid.lo deleted file mode 100644 index 9c35955..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/lib/uuid.lo +++ /dev/null @@ -1,12 +0,0 @@ -# lib/uuid.lo - a libtool object file -# Generated by libtool (GNU libtool) 2.4.2 Debian-2.4.2-1.1 -# -# Please DO NOT delete this file! -# It is necessary for linking the library. - -# Name of the PIC object. -pic_object='.libs/uuid.o' - -# Name of the non-PIC object -non_pic_object=none - diff --git a/GRIB_BLE_HUB/libs/ble_extend/libtool b/GRIB_BLE_HUB/libs/ble_extend/libtool deleted file mode 100644 index 14371e8..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/libtool +++ /dev/null @@ -1,10083 +0,0 @@ -#! /bin/bash - -# libtool - Provide generalized library-building support services. -# Generated automatically by config.status (bluez) 5.4 -# Libtool was configured on host shbaek-Pi3: -# NOTE: Changes made to this file will be lost: look at ltmain.sh. -# -# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, -# 2006, 2007, 2008, 2009, 2010, 2011 Free Software -# Foundation, Inc. -# Written by Gordon Matzigkeit, 1996 -# -# This file is part of GNU Libtool. -# -# GNU Libtool is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License as -# published by the Free Software Foundation; either version 2 of -# the License, or (at your option) any later version. -# -# As a special exception to the GNU General Public License, -# if you distribute this file as part of a program or library that -# is built using GNU Libtool, you may include this file under the -# same distribution terms that you use for the rest of that program. -# -# GNU Libtool is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with GNU Libtool; see the file COPYING. If not, a copy -# can be downloaded from http://www.gnu.org/licenses/gpl.html, or -# obtained by writing to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - - -# The names of the tagged configurations supported by this script. -available_tags="" - -# ### BEGIN LIBTOOL CONFIG - -# Whether or not to build static libraries. -build_old_libs=no - -# Which release of libtool.m4 was used? -macro_version=2.4.2 -macro_revision=1.3337 - -# Whether or not to build shared libraries. -build_libtool_libs=yes - -# What type of objects to build. -pic_mode=default - -# Whether or not to optimize for fast installation. -fast_install=yes - -# Shell to use when invoking shell scripts. -SHELL="/bin/bash" - -# An echo program that protects backslashes. -ECHO="printf %s\\n" - -# The PATH separator for the build system. -PATH_SEPARATOR=":" - -# The host system. -host_alias= -host=armv7l-unknown-linux-gnueabihf -host_os=linux-gnueabihf - -# The build system. -build_alias= -build=armv7l-unknown-linux-gnueabihf -build_os=linux-gnueabihf - -# A sed program that does not truncate output. -SED="/bin/sed" - -# Sed that helps us avoid accidentally triggering echo(1) options like -n. -Xsed="$SED -e 1s/^X//" - -# A grep program that handles long lines. -GREP="/bin/grep" - -# An ERE matcher. -EGREP="/bin/grep -E" - -# A literal string matcher. -FGREP="/bin/grep -F" - -# A BSD- or MS-compatible name lister. -NM="/usr/bin/nm -B" - -# Whether we need soft or hard links. -LN_S="ln -s" - -# What is the maximum length of a command? -max_cmd_len=1572864 - -# Object file suffix (normally "o"). -objext=o - -# Executable file suffix (normally ""). -exeext= - -# whether the shell understands "unset". -lt_unset=unset - -# turn spaces into newlines. -SP2NL="tr \\040 \\012" - -# turn newlines into spaces. -NL2SP="tr \\015\\012 \\040\\040" - -# convert $build file names to $host format. -to_host_file_cmd=func_convert_file_noop - -# convert $build files to toolchain format. -to_tool_file_cmd=func_convert_file_noop - -# An object symbol dumper. -OBJDUMP="objdump" - -# Method to check whether dependent libraries are shared objects. -deplibs_check_method="pass_all" - -# Command to use when deplibs_check_method = "file_magic". -file_magic_cmd="\$MAGIC_CMD" - -# How to find potential files when deplibs_check_method = "file_magic". -file_magic_glob="" - -# Find potential files using nocaseglob when deplibs_check_method = "file_magic". -want_nocaseglob="no" - -# DLL creation program. -DLLTOOL="false" - -# Command to associate shared and link libraries. -sharedlib_from_linklib_cmd="printf %s\\n" - -# The archiver. -AR="ar" - -# Flags to create an archive. -AR_FLAGS="cru" - -# How to feed a file listing to the archiver. -archiver_list_spec="@" - -# A symbol stripping program. -STRIP="strip" - -# Commands used to install an old-style archive. -RANLIB="ranlib" -old_postinstall_cmds="chmod 644 \$oldlib~\$RANLIB \$tool_oldlib" -old_postuninstall_cmds="" - -# Whether to use a lock for old archive extraction. -lock_old_archive_extraction=no - -# A C compiler. -LTCC="gcc" - -# LTCC compiler flags. -LTCFLAGS="-g -O2" - -# Take the output of nm and produce a listing of raw symbols and C names. -global_symbol_pipe="sed -n -e 's/^.*[ ]\\([ABCDGIRSTW][ABCDGIRSTW]*\\)[ ][ ]*\\([_A-Za-z][_A-Za-z0-9]*\\)\$/\\1 \\2 \\2/p' | sed '/ __gnu_lto/d'" - -# Transform the output of nm in a proper C declaration. -global_symbol_to_cdecl="sed -n -e 's/^T .* \\(.*\\)\$/extern int \\1();/p' -e 's/^[ABCDGIRSTW]* .* \\(.*\\)\$/extern char \\1;/p'" - -# Transform the output of nm in a C name address pair. -global_symbol_to_c_name_address="sed -n -e 's/^: \\([^ ]*\\)[ ]*\$/ {\\\"\\1\\\", (void *) 0},/p' -e 's/^[ABCDGIRSTW]* \\([^ ]*\\) \\([^ ]*\\)\$/ {\"\\2\", (void *) \\&\\2},/p'" - -# Transform the output of nm in a C name address pair when lib prefix is needed. -global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \\([^ ]*\\)[ ]*\$/ {\\\"\\1\\\", (void *) 0},/p' -e 's/^[ABCDGIRSTW]* \\([^ ]*\\) \\(lib[^ ]*\\)\$/ {\"\\2\", (void *) \\&\\2},/p' -e 's/^[ABCDGIRSTW]* \\([^ ]*\\) \\([^ ]*\\)\$/ {\"lib\\2\", (void *) \\&\\2},/p'" - -# Specify filename containing input files for $NM. -nm_file_list_spec="@" - -# The root where to search for dependent libraries,and in which our libraries should be installed. -lt_sysroot= - -# The name of the directory that contains temporary libtool files. -objdir=.libs - -# Used to examine libraries when file_magic_cmd begins with "file". -MAGIC_CMD=file - -# Must we lock files when doing compilation? -need_locks="no" - -# Manifest tool. -MANIFEST_TOOL=":" - -# Tool to manipulate archived DWARF debug symbol files on Mac OS X. -DSYMUTIL="" - -# Tool to change global to local symbols on Mac OS X. -NMEDIT="" - -# Tool to manipulate fat objects and archives on Mac OS X. -LIPO="" - -# ldd/readelf like tool for Mach-O binaries on Mac OS X. -OTOOL="" - -# ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4. -OTOOL64="" - -# Old archive suffix (normally "a"). -libext=a - -# Shared library suffix (normally ".so"). -shrext_cmds=".so" - -# The commands to extract the exported symbol list from a shared archive. -extract_expsyms_cmds="" - -# Variables whose values should be saved in libtool wrapper scripts and -# restored at link time. -variables_saved_for_relink="PATH LD_LIBRARY_PATH LD_RUN_PATH GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" - -# Do we need the "lib" prefix for modules? -need_lib_prefix=no - -# Do we need a version for libraries? -need_version=no - -# Library versioning type. -version_type=linux - -# Shared library runtime path variable. -runpath_var=LD_RUN_PATH - -# Shared library path variable. -shlibpath_var=LD_LIBRARY_PATH - -# Is shlibpath searched before the hard-coded library search path? -shlibpath_overrides_runpath=no - -# Format of library name prefix. -libname_spec="lib\$name" - -# List of archive names. First name is the real one, the rest are links. -# The last name is the one that the linker finds with -lNAME -library_names_spec="\${libname}\${release}\${shared_ext}\$versuffix \${libname}\${release}\${shared_ext}\$major \$libname\${shared_ext}" - -# The coded name of the library, if different from the real name. -soname_spec="\${libname}\${release}\${shared_ext}\$major" - -# Permission mode override for installation of shared libraries. -install_override_mode="" - -# Command to use after installation of a shared archive. -postinstall_cmds="" - -# Command to use after uninstallation of a shared archive. -postuninstall_cmds="" - -# Commands used to finish a libtool library installation in a directory. -finish_cmds="PATH=\\\"\\\$PATH:/sbin\\\" ldconfig -n \$libdir" - -# As "finish_cmds", except a single script fragment to be evaled but -# not shown. -finish_eval="" - -# Whether we should hardcode library paths into libraries. -hardcode_into_libs=yes - -# Compile-time system search path for libraries. -sys_lib_search_path_spec="/usr/lib/gcc/arm-linux-gnueabihf/4.9 /usr/lib/arm-linux-gnueabihf /usr/lib /lib/arm-linux-gnueabihf /lib " - -# Run-time system search path for libraries. -sys_lib_dlsearch_path_spec="/lib /usr/lib /opt/vc/lib /lib/arm-linux-gnueabihf /usr/lib/arm-linux-gnueabihf /usr/lib/arm-linux-gnueabihf/libfakeroot /usr/local/lib " - -# Whether dlopen is supported. -dlopen_support=unknown - -# Whether dlopen of programs is supported. -dlopen_self=unknown - -# Whether dlopen of statically linked programs is supported. -dlopen_self_static=unknown - -# Commands to strip libraries. -old_striplib="strip --strip-debug" -striplib="strip --strip-unneeded" - - -# The linker used to build libraries. -LD="/usr/bin/ld" - -# How to create reloadable object files. -reload_flag=" -r" -reload_cmds="\$LD\$reload_flag -o \$output\$reload_objs" - -# Commands used to build an old-style archive. -old_archive_cmds="\$AR \$AR_FLAGS \$oldlib\$oldobjs~\$RANLIB \$tool_oldlib" - -# A language specific compiler. -CC="gcc" - -# Is the compiler the GNU compiler? -with_gcc=yes - -# Compiler flag to turn off builtin functions. -no_builtin_flag=" -fno-builtin" - -# Additional compiler flags for building library objects. -pic_flag=" -fPIC -DPIC" - -# How to pass a linker flag through the compiler. -wl="-Wl," - -# Compiler flag to prevent dynamic linking. -link_static_flag="-static" - -# Does compiler simultaneously support -c and -o options? -compiler_c_o="yes" - -# Whether or not to add -lc for building shared libraries. -build_libtool_need_lc=no - -# Whether or not to disallow shared libs when runtime libs are static. -allow_libtool_libs_with_static_runtimes=no - -# Compiler flag to allow reflexive dlopens. -export_dynamic_flag_spec="\${wl}--export-dynamic" - -# Compiler flag to generate shared objects directly from archives. -whole_archive_flag_spec="\${wl}--whole-archive\$convenience \${wl}--no-whole-archive" - -# Whether the compiler copes with passing no objects directly. -compiler_needs_object="no" - -# Create an old-style archive from a shared archive. -old_archive_from_new_cmds="" - -# Create a temporary old-style archive to link instead of a shared archive. -old_archive_from_expsyms_cmds="" - -# Commands used to build a shared archive. -archive_cmds="\$CC -shared \$pic_flag \$libobjs \$deplibs \$compiler_flags \${wl}-soname \$wl\$soname -o \$lib" -archive_expsym_cmds="echo \\\"{ global:\\\" > \$output_objdir/\$libname.ver~ - cat \$export_symbols | sed -e \\\"s/\\\\(.*\\\\)/\\\\1;/\\\" >> \$output_objdir/\$libname.ver~ - echo \\\"local: *; };\\\" >> \$output_objdir/\$libname.ver~ - \$CC -shared \$pic_flag \$libobjs \$deplibs \$compiler_flags \${wl}-soname \$wl\$soname \${wl}-version-script \${wl}\$output_objdir/\$libname.ver -o \$lib" - -# Commands used to build a loadable module if different from building -# a shared archive. -module_cmds="" -module_expsym_cmds="" - -# Whether we are building with GNU ld or not. -with_gnu_ld="yes" - -# Flag that allows shared libraries with undefined symbols to be built. -allow_undefined_flag="" - -# Flag that enforces no undefined symbols. -no_undefined_flag="" - -# Flag to hardcode $libdir into a binary during linking. -# This must work even if $libdir does not exist -hardcode_libdir_flag_spec="\${wl}-rpath \${wl}\$libdir" - -# Whether we need a single "-rpath" flag with a separated argument. -hardcode_libdir_separator="" - -# Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes -# DIR into the resulting binary. -hardcode_direct=no - -# Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes -# DIR into the resulting binary and the resulting library dependency is -# "absolute",i.e impossible to change by setting ${shlibpath_var} if the -# library is relocated. -hardcode_direct_absolute=no - -# Set to "yes" if using the -LDIR flag during linking hardcodes DIR -# into the resulting binary. -hardcode_minus_L=no - -# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR -# into the resulting binary. -hardcode_shlibpath_var=unsupported - -# Set to "yes" if building a shared library automatically hardcodes DIR -# into the library and all subsequent libraries and executables linked -# against it. -hardcode_automatic=no - -# Set to yes if linker adds runtime paths of dependent libraries -# to runtime path list. -inherit_rpath=no - -# Whether libtool must link a program against all its dependency libraries. -link_all_deplibs=no - -# Set to "yes" if exported symbols are required. -always_export_symbols=no - -# The commands to list exported symbols. -export_symbols_cmds="\$NM \$libobjs \$convenience | \$global_symbol_pipe | \$SED 's/.* //' | sort | uniq > \$export_symbols" - -# Symbols that should not be listed in the preloaded symbols. -exclude_expsyms="_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*" - -# Symbols that must always be exported. -include_expsyms="" - -# Commands necessary for linking programs (against libraries) with templates. -prelink_cmds="" - -# Commands necessary for finishing linking programs. -postlink_cmds="" - -# Specify filename containing input files. -file_list_spec="" - -# How to hardcode a shared library path into an executable. -hardcode_action=immediate - -# ### END LIBTOOL CONFIG - - -# libtool (GNU libtool) 2.4.2 -# Written by Gordon Matzigkeit , 1996 - -# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc. -# This is free software; see the source for copying conditions. There is NO -# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -# GNU Libtool is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# As a special exception to the GNU General Public License, -# if you distribute this file as part of a program or library that -# is built using GNU Libtool, you may include this file under the -# same distribution terms that you use for the rest of that program. -# -# GNU Libtool is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with GNU Libtool; see the file COPYING. If not, a copy -# can be downloaded from http://www.gnu.org/licenses/gpl.html, -# or obtained by writing to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - -# Usage: $progname [OPTION]... [MODE-ARG]... -# -# Provide generalized library-building support services. -# -# --config show all configuration variables -# --debug enable verbose shell tracing -# -n, --dry-run display commands without modifying any files -# --features display basic configuration information and exit -# --mode=MODE use operation mode MODE -# --preserve-dup-deps don't remove duplicate dependency libraries -# --quiet, --silent don't print informational messages -# --no-quiet, --no-silent -# print informational messages (default) -# --no-warn don't display warning messages -# --tag=TAG use configuration variables from tag TAG -# -v, --verbose print more informational messages than default -# --no-verbose don't print the extra informational messages -# --version print version information -# -h, --help, --help-all print short, long, or detailed help message -# -# MODE must be one of the following: -# -# clean remove files from the build directory -# compile compile a source file into a libtool object -# execute automatically set library path, then run a program -# finish complete the installation of libtool libraries -# install install libraries or executables -# link create a library or an executable -# uninstall remove libraries from an installed directory -# -# MODE-ARGS vary depending on the MODE. When passed as first option, -# `--mode=MODE' may be abbreviated as `MODE' or a unique abbreviation of that. -# Try `$progname --help --mode=MODE' for a more detailed description of MODE. -# -# When reporting a bug, please describe a test case to reproduce it and -# include the following information: -# -# host-triplet: $host -# shell: $SHELL -# compiler: $LTCC -# compiler flags: $LTCFLAGS -# linker: $LD (gnu? $with_gnu_ld) -# $progname: (GNU libtool) 2.4.2 Debian-2.4.2-1.1 -# automake: $automake_version -# autoconf: $autoconf_version -# -# Report bugs to . -# GNU libtool home page: . -# General help using GNU software: . - -PROGRAM=libtool -PACKAGE=libtool -VERSION="2.4.2 Debian-2.4.2-1.1" -TIMESTAMP="" -package_revision=1.3337 - -# Be Bourne compatible -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then - emulate sh - NULLCMD=: - # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which - # is contrary to our usage. Disable this feature. - alias -g '${1+"$@"}'='"$@"' - setopt NO_GLOB_SUBST -else - case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac -fi -BIN_SH=xpg4; export BIN_SH # for Tru64 -DUALCASE=1; export DUALCASE # for MKS sh - -# A function that is used when there is no print builtin or printf. -func_fallback_echo () -{ - eval 'cat <<_LTECHO_EOF -$1 -_LTECHO_EOF' -} - -# NLS nuisances: We save the old values to restore during execute mode. -lt_user_locale= -lt_safe_locale= -for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES -do - eval "if test \"\${$lt_var+set}\" = set; then - save_$lt_var=\$$lt_var - $lt_var=C - export $lt_var - lt_user_locale=\"$lt_var=\\\$save_\$lt_var; \$lt_user_locale\" - lt_safe_locale=\"$lt_var=C; \$lt_safe_locale\" - fi" -done -LC_ALL=C -LANGUAGE=C -export LANGUAGE LC_ALL - -$lt_unset CDPATH - - -# Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh -# is ksh but when the shell is invoked as "sh" and the current value of -# the _XPG environment variable is not equal to 1 (one), the special -# positional parameter $0, within a function call, is the name of the -# function. -progpath="$0" - - - -: ${CP="cp -f"} -test "${ECHO+set}" = set || ECHO=${as_echo-'printf %s\n'} -: ${MAKE="make"} -: ${MKDIR="mkdir"} -: ${MV="mv -f"} -: ${RM="rm -f"} -: ${SHELL="${CONFIG_SHELL-/bin/sh}"} -: ${Xsed="$SED -e 1s/^X//"} - -# Global variables: -EXIT_SUCCESS=0 -EXIT_FAILURE=1 -EXIT_MISMATCH=63 # $? = 63 is used to indicate version mismatch to missing. -EXIT_SKIP=77 # $? = 77 is used to indicate a skipped test to automake. - -exit_status=$EXIT_SUCCESS - -# Make sure IFS has a sensible default -lt_nl=' -' -IFS=" $lt_nl" - -dirname="s,/[^/]*$,," -basename="s,^.*/,," - -# func_dirname file append nondir_replacement -# Compute the dirname of FILE. If nonempty, add APPEND to the result, -# otherwise set result to NONDIR_REPLACEMENT. -func_dirname () -{ - case ${1} in - */*) func_dirname_result="${1%/*}${2}" ;; - * ) func_dirname_result="${3}" ;; - esac -} # Extended-shell func_dirname implementation - - -# func_basename file -func_basename () -{ - func_basename_result="${1##*/}" -} # Extended-shell func_basename implementation - - -# func_dirname_and_basename file append nondir_replacement -# perform func_basename and func_dirname in a single function -# call: -# dirname: Compute the dirname of FILE. If nonempty, -# add APPEND to the result, otherwise set result -# to NONDIR_REPLACEMENT. -# value returned in "$func_dirname_result" -# basename: Compute filename of FILE. -# value retuned in "$func_basename_result" -# Implementation must be kept synchronized with func_dirname -# and func_basename. For efficiency, we do not delegate to -# those functions but instead duplicate the functionality here. -func_dirname_and_basename () -{ - case ${1} in - */*) func_dirname_result="${1%/*}${2}" ;; - * ) func_dirname_result="${3}" ;; - esac - func_basename_result="${1##*/}" -} # Extended-shell func_dirname_and_basename implementation - - -# func_stripname prefix suffix name -# strip PREFIX and SUFFIX off of NAME. -# PREFIX and SUFFIX must not contain globbing or regex special -# characters, hashes, percent signs, but SUFFIX may contain a leading -# dot (in which case that matches only a dot). -# func_strip_suffix prefix name -func_stripname () -{ - # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are - # positional parameters, so assign one to ordinary parameter first. - func_stripname_result=${3} - func_stripname_result=${func_stripname_result#"${1}"} - func_stripname_result=${func_stripname_result%"${2}"} -} # Extended-shell func_stripname implementation - - -# These SED scripts presuppose an absolute path with a trailing slash. -pathcar='s,^/\([^/]*\).*$,\1,' -pathcdr='s,^/[^/]*,,' -removedotparts=':dotsl - s@/\./@/@g - t dotsl - s,/\.$,/,' -collapseslashes='s@/\{1,\}@/@g' -finalslash='s,/*$,/,' - -# func_normal_abspath PATH -# Remove doubled-up and trailing slashes, "." path components, -# and cancel out any ".." path components in PATH after making -# it an absolute path. -# value returned in "$func_normal_abspath_result" -func_normal_abspath () -{ - # Start from root dir and reassemble the path. - func_normal_abspath_result= - func_normal_abspath_tpath=$1 - func_normal_abspath_altnamespace= - case $func_normal_abspath_tpath in - "") - # Empty path, that just means $cwd. - func_stripname '' '/' "`pwd`" - func_normal_abspath_result=$func_stripname_result - return - ;; - # The next three entries are used to spot a run of precisely - # two leading slashes without using negated character classes; - # we take advantage of case's first-match behaviour. - ///*) - # Unusual form of absolute path, do nothing. - ;; - //*) - # Not necessarily an ordinary path; POSIX reserves leading '//' - # and for example Cygwin uses it to access remote file shares - # over CIFS/SMB, so we conserve a leading double slash if found. - func_normal_abspath_altnamespace=/ - ;; - /*) - # Absolute path, do nothing. - ;; - *) - # Relative path, prepend $cwd. - func_normal_abspath_tpath=`pwd`/$func_normal_abspath_tpath - ;; - esac - # Cancel out all the simple stuff to save iterations. We also want - # the path to end with a slash for ease of parsing, so make sure - # there is one (and only one) here. - func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \ - -e "$removedotparts" -e "$collapseslashes" -e "$finalslash"` - while :; do - # Processed it all yet? - if test "$func_normal_abspath_tpath" = / ; then - # If we ascended to the root using ".." the result may be empty now. - if test -z "$func_normal_abspath_result" ; then - func_normal_abspath_result=/ - fi - break - fi - func_normal_abspath_tcomponent=`$ECHO "$func_normal_abspath_tpath" | $SED \ - -e "$pathcar"` - func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \ - -e "$pathcdr"` - # Figure out what to do with it - case $func_normal_abspath_tcomponent in - "") - # Trailing empty path component, ignore it. - ;; - ..) - # Parent dir; strip last assembled component from result. - func_dirname "$func_normal_abspath_result" - func_normal_abspath_result=$func_dirname_result - ;; - *) - # Actual path component, append it. - func_normal_abspath_result=$func_normal_abspath_result/$func_normal_abspath_tcomponent - ;; - esac - done - # Restore leading double-slash if one was found on entry. - func_normal_abspath_result=$func_normal_abspath_altnamespace$func_normal_abspath_result -} - -# func_relative_path SRCDIR DSTDIR -# generates a relative path from SRCDIR to DSTDIR, with a trailing -# slash if non-empty, suitable for immediately appending a filename -# without needing to append a separator. -# value returned in "$func_relative_path_result" -func_relative_path () -{ - func_relative_path_result= - func_normal_abspath "$1" - func_relative_path_tlibdir=$func_normal_abspath_result - func_normal_abspath "$2" - func_relative_path_tbindir=$func_normal_abspath_result - - # Ascend the tree starting from libdir - while :; do - # check if we have found a prefix of bindir - case $func_relative_path_tbindir in - $func_relative_path_tlibdir) - # found an exact match - func_relative_path_tcancelled= - break - ;; - $func_relative_path_tlibdir*) - # found a matching prefix - func_stripname "$func_relative_path_tlibdir" '' "$func_relative_path_tbindir" - func_relative_path_tcancelled=$func_stripname_result - if test -z "$func_relative_path_result"; then - func_relative_path_result=. - fi - break - ;; - *) - func_dirname $func_relative_path_tlibdir - func_relative_path_tlibdir=${func_dirname_result} - if test "x$func_relative_path_tlibdir" = x ; then - # Have to descend all the way to the root! - func_relative_path_result=../$func_relative_path_result - func_relative_path_tcancelled=$func_relative_path_tbindir - break - fi - func_relative_path_result=../$func_relative_path_result - ;; - esac - done - - # Now calculate path; take care to avoid doubling-up slashes. - func_stripname '' '/' "$func_relative_path_result" - func_relative_path_result=$func_stripname_result - func_stripname '/' '/' "$func_relative_path_tcancelled" - if test "x$func_stripname_result" != x ; then - func_relative_path_result=${func_relative_path_result}/${func_stripname_result} - fi - - # Normalisation. If bindir is libdir, return empty string, - # else relative path ending with a slash; either way, target - # file name can be directly appended. - if test ! -z "$func_relative_path_result"; then - func_stripname './' '' "$func_relative_path_result/" - func_relative_path_result=$func_stripname_result - fi -} - -# The name of this program: -func_dirname_and_basename "$progpath" -progname=$func_basename_result - -# Make sure we have an absolute path for reexecution: -case $progpath in - [\\/]*|[A-Za-z]:\\*) ;; - *[\\/]*) - progdir=$func_dirname_result - progdir=`cd "$progdir" && pwd` - progpath="$progdir/$progname" - ;; - *) - save_IFS="$IFS" - IFS=${PATH_SEPARATOR-:} - for progdir in $PATH; do - IFS="$save_IFS" - test -x "$progdir/$progname" && break - done - IFS="$save_IFS" - test -n "$progdir" || progdir=`pwd` - progpath="$progdir/$progname" - ;; -esac - -# Sed substitution that helps us do robust quoting. It backslashifies -# metacharacters that are still active within double-quoted strings. -Xsed="${SED}"' -e 1s/^X//' -sed_quote_subst='s/\([`"$\\]\)/\\\1/g' - -# Same as above, but do not quote variable references. -double_quote_subst='s/\(["`\\]\)/\\\1/g' - -# Sed substitution that turns a string into a regex matching for the -# string literally. -sed_make_literal_regex='s,[].[^$\\*\/],\\&,g' - -# Sed substitution that converts a w32 file name or path -# which contains forward slashes, into one that contains -# (escaped) backslashes. A very naive implementation. -lt_sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g' - -# Re-`\' parameter expansions in output of double_quote_subst that were -# `\'-ed in input to the same. If an odd number of `\' preceded a '$' -# in input to double_quote_subst, that '$' was protected from expansion. -# Since each input `\' is now two `\'s, look for any number of runs of -# four `\'s followed by two `\'s and then a '$'. `\' that '$'. -bs='\\' -bs2='\\\\' -bs4='\\\\\\\\' -dollar='\$' -sed_double_backslash="\ - s/$bs4/&\\ -/g - s/^$bs2$dollar/$bs&/ - s/\\([^$bs]\\)$bs2$dollar/\\1$bs2$bs$dollar/g - s/\n//g" - -# Standard options: -opt_dry_run=false -opt_help=false -opt_quiet=false -opt_verbose=false -opt_warning=: - -# func_echo arg... -# Echo program name prefixed message, along with the current mode -# name if it has been set yet. -func_echo () -{ - $ECHO "$progname: ${opt_mode+$opt_mode: }$*" -} - -# func_verbose arg... -# Echo program name prefixed message in verbose mode only. -func_verbose () -{ - $opt_verbose && func_echo ${1+"$@"} - - # A bug in bash halts the script if the last line of a function - # fails when set -e is in force, so we need another command to - # work around that: - : -} - -# func_echo_all arg... -# Invoke $ECHO with all args, space-separated. -func_echo_all () -{ - $ECHO "$*" -} - -# func_error arg... -# Echo program name prefixed message to standard error. -func_error () -{ - $ECHO "$progname: ${opt_mode+$opt_mode: }"${1+"$@"} 1>&2 -} - -# func_warning arg... -# Echo program name prefixed warning message to standard error. -func_warning () -{ - $opt_warning && $ECHO "$progname: ${opt_mode+$opt_mode: }warning: "${1+"$@"} 1>&2 - - # bash bug again: - : -} - -# func_fatal_error arg... -# Echo program name prefixed message to standard error, and exit. -func_fatal_error () -{ - func_error ${1+"$@"} - exit $EXIT_FAILURE -} - -# func_fatal_help arg... -# Echo program name prefixed message to standard error, followed by -# a help hint, and exit. -func_fatal_help () -{ - func_error ${1+"$@"} - func_fatal_error "$help" -} -help="Try \`$progname --help' for more information." ## default - - -# func_grep expression filename -# Check whether EXPRESSION matches any line of FILENAME, without output. -func_grep () -{ - $GREP "$1" "$2" >/dev/null 2>&1 -} - - -# func_mkdir_p directory-path -# Make sure the entire path to DIRECTORY-PATH is available. -func_mkdir_p () -{ - my_directory_path="$1" - my_dir_list= - - if test -n "$my_directory_path" && test "$opt_dry_run" != ":"; then - - # Protect directory names starting with `-' - case $my_directory_path in - -*) my_directory_path="./$my_directory_path" ;; - esac - - # While some portion of DIR does not yet exist... - while test ! -d "$my_directory_path"; do - # ...make a list in topmost first order. Use a colon delimited - # list incase some portion of path contains whitespace. - my_dir_list="$my_directory_path:$my_dir_list" - - # If the last portion added has no slash in it, the list is done - case $my_directory_path in */*) ;; *) break ;; esac - - # ...otherwise throw away the child directory and loop - my_directory_path=`$ECHO "$my_directory_path" | $SED -e "$dirname"` - done - my_dir_list=`$ECHO "$my_dir_list" | $SED 's,:*$,,'` - - save_mkdir_p_IFS="$IFS"; IFS=':' - for my_dir in $my_dir_list; do - IFS="$save_mkdir_p_IFS" - # mkdir can fail with a `File exist' error if two processes - # try to create one of the directories concurrently. Don't - # stop in that case! - $MKDIR "$my_dir" 2>/dev/null || : - done - IFS="$save_mkdir_p_IFS" - - # Bail out if we (or some other process) failed to create a directory. - test -d "$my_directory_path" || \ - func_fatal_error "Failed to create \`$1'" - fi -} - - -# func_mktempdir [string] -# Make a temporary directory that won't clash with other running -# libtool processes, and avoids race conditions if possible. If -# given, STRING is the basename for that directory. -func_mktempdir () -{ - my_template="${TMPDIR-/tmp}/${1-$progname}" - - if test "$opt_dry_run" = ":"; then - # Return a directory name, but don't create it in dry-run mode - my_tmpdir="${my_template}-$$" - else - - # If mktemp works, use that first and foremost - my_tmpdir=`mktemp -d "${my_template}-XXXXXXXX" 2>/dev/null` - - if test ! -d "$my_tmpdir"; then - # Failing that, at least try and use $RANDOM to avoid a race - my_tmpdir="${my_template}-${RANDOM-0}$$" - - save_mktempdir_umask=`umask` - umask 0077 - $MKDIR "$my_tmpdir" - umask $save_mktempdir_umask - fi - - # If we're not in dry-run mode, bomb out on failure - test -d "$my_tmpdir" || \ - func_fatal_error "cannot create temporary directory \`$my_tmpdir'" - fi - - $ECHO "$my_tmpdir" -} - - -# func_quote_for_eval arg -# Aesthetically quote ARG to be evaled later. -# This function returns two values: FUNC_QUOTE_FOR_EVAL_RESULT -# is double-quoted, suitable for a subsequent eval, whereas -# FUNC_QUOTE_FOR_EVAL_UNQUOTED_RESULT has merely all characters -# which are still active within double quotes backslashified. -func_quote_for_eval () -{ - case $1 in - *[\\\`\"\$]*) - func_quote_for_eval_unquoted_result=`$ECHO "$1" | $SED "$sed_quote_subst"` ;; - *) - func_quote_for_eval_unquoted_result="$1" ;; - esac - - case $func_quote_for_eval_unquoted_result in - # Double-quote args containing shell metacharacters to delay - # word splitting, command substitution and and variable - # expansion for a subsequent eval. - # Many Bourne shells cannot handle close brackets correctly - # in scan sets, so we specify it separately. - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - func_quote_for_eval_result="\"$func_quote_for_eval_unquoted_result\"" - ;; - *) - func_quote_for_eval_result="$func_quote_for_eval_unquoted_result" - esac -} - - -# func_quote_for_expand arg -# Aesthetically quote ARG to be evaled later; same as above, -# but do not quote variable references. -func_quote_for_expand () -{ - case $1 in - *[\\\`\"]*) - my_arg=`$ECHO "$1" | $SED \ - -e "$double_quote_subst" -e "$sed_double_backslash"` ;; - *) - my_arg="$1" ;; - esac - - case $my_arg in - # Double-quote args containing shell metacharacters to delay - # word splitting and command substitution for a subsequent eval. - # Many Bourne shells cannot handle close brackets correctly - # in scan sets, so we specify it separately. - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - my_arg="\"$my_arg\"" - ;; - esac - - func_quote_for_expand_result="$my_arg" -} - - -# func_show_eval cmd [fail_exp] -# Unless opt_silent is true, then output CMD. Then, if opt_dryrun is -# not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP -# is given, then evaluate it. -func_show_eval () -{ - my_cmd="$1" - my_fail_exp="${2-:}" - - ${opt_silent-false} || { - func_quote_for_expand "$my_cmd" - eval "func_echo $func_quote_for_expand_result" - } - - if ${opt_dry_run-false}; then :; else - eval "$my_cmd" - my_status=$? - if test "$my_status" -eq 0; then :; else - eval "(exit $my_status); $my_fail_exp" - fi - fi -} - - -# func_show_eval_locale cmd [fail_exp] -# Unless opt_silent is true, then output CMD. Then, if opt_dryrun is -# not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP -# is given, then evaluate it. Use the saved locale for evaluation. -func_show_eval_locale () -{ - my_cmd="$1" - my_fail_exp="${2-:}" - - ${opt_silent-false} || { - func_quote_for_expand "$my_cmd" - eval "func_echo $func_quote_for_expand_result" - } - - if ${opt_dry_run-false}; then :; else - eval "$lt_user_locale - $my_cmd" - my_status=$? - eval "$lt_safe_locale" - if test "$my_status" -eq 0; then :; else - eval "(exit $my_status); $my_fail_exp" - fi - fi -} - -# func_tr_sh -# Turn $1 into a string suitable for a shell variable name. -# Result is stored in $func_tr_sh_result. All characters -# not in the set a-zA-Z0-9_ are replaced with '_'. Further, -# if $1 begins with a digit, a '_' is prepended as well. -func_tr_sh () -{ - case $1 in - [0-9]* | *[!a-zA-Z0-9_]*) - func_tr_sh_result=`$ECHO "$1" | $SED 's/^\([0-9]\)/_\1/; s/[^a-zA-Z0-9_]/_/g'` - ;; - * ) - func_tr_sh_result=$1 - ;; - esac -} - - -# func_version -# Echo version message to standard output and exit. -func_version () -{ - $opt_debug - - $SED -n '/(C)/!b go - :more - /\./!{ - N - s/\n# / / - b more - } - :go - /^# '$PROGRAM' (GNU /,/# warranty; / { - s/^# // - s/^# *$// - s/\((C)\)[ 0-9,-]*\( [1-9][0-9]*\)/\1\2/ - p - }' < "$progpath" - exit $? -} - -# func_usage -# Echo short help message to standard output and exit. -func_usage () -{ - $opt_debug - - $SED -n '/^# Usage:/,/^# *.*--help/ { - s/^# // - s/^# *$// - s/\$progname/'$progname'/ - p - }' < "$progpath" - echo - $ECHO "run \`$progname --help | more' for full usage" - exit $? -} - -# func_help [NOEXIT] -# Echo long help message to standard output and exit, -# unless 'noexit' is passed as argument. -func_help () -{ - $opt_debug - - $SED -n '/^# Usage:/,/# Report bugs to/ { - :print - s/^# // - s/^# *$// - s*\$progname*'$progname'* - s*\$host*'"$host"'* - s*\$SHELL*'"$SHELL"'* - s*\$LTCC*'"$LTCC"'* - s*\$LTCFLAGS*'"$LTCFLAGS"'* - s*\$LD*'"$LD"'* - s/\$with_gnu_ld/'"$with_gnu_ld"'/ - s/\$automake_version/'"`(${AUTOMAKE-automake} --version) 2>/dev/null |$SED 1q`"'/ - s/\$autoconf_version/'"`(${AUTOCONF-autoconf} --version) 2>/dev/null |$SED 1q`"'/ - p - d - } - /^# .* home page:/b print - /^# General help using/b print - ' < "$progpath" - ret=$? - if test -z "$1"; then - exit $ret - fi -} - -# func_missing_arg argname -# Echo program name prefixed message to standard error and set global -# exit_cmd. -func_missing_arg () -{ - $opt_debug - - func_error "missing argument for $1." - exit_cmd=exit -} - - -# func_split_short_opt shortopt -# Set func_split_short_opt_name and func_split_short_opt_arg shell -# variables after splitting SHORTOPT after the 2nd character. -func_split_short_opt () -{ - func_split_short_opt_arg=${1#??} - func_split_short_opt_name=${1%"$func_split_short_opt_arg"} -} # Extended-shell func_split_short_opt implementation - - -# func_split_long_opt longopt -# Set func_split_long_opt_name and func_split_long_opt_arg shell -# variables after splitting LONGOPT at the `=' sign. -func_split_long_opt () -{ - func_split_long_opt_name=${1%%=*} - func_split_long_opt_arg=${1#*=} -} # Extended-shell func_split_long_opt implementation - -exit_cmd=: - - - - - -magic="%%%MAGIC variable%%%" -magic_exe="%%%MAGIC EXE variable%%%" - -# Global variables. -nonopt= -preserve_args= -lo2o="s/\\.lo\$/.${objext}/" -o2lo="s/\\.${objext}\$/.lo/" -extracted_archives= -extracted_serial=0 - -# If this variable is set in any of the actions, the command in it -# will be execed at the end. This prevents here-documents from being -# left over by shells. -exec_cmd= - -# func_append var value -# Append VALUE to the end of shell variable VAR. -func_append () -{ - eval "${1}+=\${2}" -} # Extended-shell func_append implementation - -# func_append_quoted var value -# Quote VALUE and append to the end of shell variable VAR, separated -# by a space. -func_append_quoted () -{ - func_quote_for_eval "${2}" - eval "${1}+=\\ \$func_quote_for_eval_result" -} # Extended-shell func_append_quoted implementation - - -# func_arith arithmetic-term... -func_arith () -{ - func_arith_result=$(( $* )) -} # Extended-shell func_arith implementation - - -# func_len string -# STRING may not start with a hyphen. -func_len () -{ - func_len_result=${#1} -} # Extended-shell func_len implementation - - -# func_lo2o object -func_lo2o () -{ - case ${1} in - *.lo) func_lo2o_result=${1%.lo}.${objext} ;; - *) func_lo2o_result=${1} ;; - esac -} # Extended-shell func_lo2o implementation - - -# func_xform libobj-or-source -func_xform () -{ - func_xform_result=${1%.*}.lo -} # Extended-shell func_xform implementation - - -# func_fatal_configuration arg... -# Echo program name prefixed message to standard error, followed by -# a configuration failure hint, and exit. -func_fatal_configuration () -{ - func_error ${1+"$@"} - func_error "See the $PACKAGE documentation for more information." - func_fatal_error "Fatal configuration error." -} - - -# func_config -# Display the configuration for all the tags in this script. -func_config () -{ - re_begincf='^# ### BEGIN LIBTOOL' - re_endcf='^# ### END LIBTOOL' - - # Default configuration. - $SED "1,/$re_begincf CONFIG/d;/$re_endcf CONFIG/,\$d" < "$progpath" - - # Now print the configurations for the tags. - for tagname in $taglist; do - $SED -n "/$re_begincf TAG CONFIG: $tagname\$/,/$re_endcf TAG CONFIG: $tagname\$/p" < "$progpath" - done - - exit $? -} - -# func_features -# Display the features supported by this script. -func_features () -{ - echo "host: $host" - if test "$build_libtool_libs" = yes; then - echo "enable shared libraries" - else - echo "disable shared libraries" - fi - if test "$build_old_libs" = yes; then - echo "enable static libraries" - else - echo "disable static libraries" - fi - - exit $? -} - -# func_enable_tag tagname -# Verify that TAGNAME is valid, and either flag an error and exit, or -# enable the TAGNAME tag. We also add TAGNAME to the global $taglist -# variable here. -func_enable_tag () -{ - # Global variable: - tagname="$1" - - re_begincf="^# ### BEGIN LIBTOOL TAG CONFIG: $tagname\$" - re_endcf="^# ### END LIBTOOL TAG CONFIG: $tagname\$" - sed_extractcf="/$re_begincf/,/$re_endcf/p" - - # Validate tagname. - case $tagname in - *[!-_A-Za-z0-9,/]*) - func_fatal_error "invalid tag name: $tagname" - ;; - esac - - # Don't test for the "default" C tag, as we know it's - # there but not specially marked. - case $tagname in - CC) ;; - *) - if $GREP "$re_begincf" "$progpath" >/dev/null 2>&1; then - taglist="$taglist $tagname" - - # Evaluate the configuration. Be careful to quote the path - # and the sed script, to avoid splitting on whitespace, but - # also don't use non-portable quotes within backquotes within - # quotes we have to do it in 2 steps: - extractedcf=`$SED -n -e "$sed_extractcf" < "$progpath"` - eval "$extractedcf" - else - func_error "ignoring unknown tag $tagname" - fi - ;; - esac -} - -# func_check_version_match -# Ensure that we are using m4 macros, and libtool script from the same -# release of libtool. -func_check_version_match () -{ - if test "$package_revision" != "$macro_revision"; then - if test "$VERSION" != "$macro_version"; then - if test -z "$macro_version"; then - cat >&2 <<_LT_EOF -$progname: Version mismatch error. This is $PACKAGE $VERSION, but the -$progname: definition of this LT_INIT comes from an older release. -$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION -$progname: and run autoconf again. -_LT_EOF - else - cat >&2 <<_LT_EOF -$progname: Version mismatch error. This is $PACKAGE $VERSION, but the -$progname: definition of this LT_INIT comes from $PACKAGE $macro_version. -$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION -$progname: and run autoconf again. -_LT_EOF - fi - else - cat >&2 <<_LT_EOF -$progname: Version mismatch error. This is $PACKAGE $VERSION, revision $package_revision, -$progname: but the definition of this LT_INIT comes from revision $macro_revision. -$progname: You should recreate aclocal.m4 with macros from revision $package_revision -$progname: of $PACKAGE $VERSION and run autoconf again. -_LT_EOF - fi - - exit $EXIT_MISMATCH - fi -} - - -# Shorthand for --mode=foo, only valid as the first argument -case $1 in -clean|clea|cle|cl) - shift; set dummy --mode clean ${1+"$@"}; shift - ;; -compile|compil|compi|comp|com|co|c) - shift; set dummy --mode compile ${1+"$@"}; shift - ;; -execute|execut|execu|exec|exe|ex|e) - shift; set dummy --mode execute ${1+"$@"}; shift - ;; -finish|finis|fini|fin|fi|f) - shift; set dummy --mode finish ${1+"$@"}; shift - ;; -install|instal|insta|inst|ins|in|i) - shift; set dummy --mode install ${1+"$@"}; shift - ;; -link|lin|li|l) - shift; set dummy --mode link ${1+"$@"}; shift - ;; -uninstall|uninstal|uninsta|uninst|unins|unin|uni|un|u) - shift; set dummy --mode uninstall ${1+"$@"}; shift - ;; -esac - - - -# Option defaults: -opt_debug=: -opt_dry_run=false -opt_config=false -opt_preserve_dup_deps=false -opt_features=false -opt_finish=false -opt_help=false -opt_help_all=false -opt_silent=: -opt_warning=: -opt_verbose=: -opt_silent=false -opt_verbose=false - - -# Parse options once, thoroughly. This comes as soon as possible in the -# script to make things like `--version' happen as quickly as we can. -{ - # this just eases exit handling - while test $# -gt 0; do - opt="$1" - shift - case $opt in - --debug|-x) opt_debug='set -x' - func_echo "enabling shell trace mode" - $opt_debug - ;; - --dry-run|--dryrun|-n) - opt_dry_run=: - ;; - --config) - opt_config=: -func_config - ;; - --dlopen|-dlopen) - optarg="$1" - opt_dlopen="${opt_dlopen+$opt_dlopen -}$optarg" - shift - ;; - --preserve-dup-deps) - opt_preserve_dup_deps=: - ;; - --features) - opt_features=: -func_features - ;; - --finish) - opt_finish=: -set dummy --mode finish ${1+"$@"}; shift - ;; - --help) - opt_help=: - ;; - --help-all) - opt_help_all=: -opt_help=': help-all' - ;; - --mode) - test $# = 0 && func_missing_arg $opt && break - optarg="$1" - opt_mode="$optarg" -case $optarg in - # Valid mode arguments: - clean|compile|execute|finish|install|link|relink|uninstall) ;; - - # Catch anything else as an error - *) func_error "invalid argument for $opt" - exit_cmd=exit - break - ;; -esac - shift - ;; - --no-silent|--no-quiet) - opt_silent=false -preserve_args+=" $opt" - ;; - --no-warning|--no-warn) - opt_warning=false -preserve_args+=" $opt" - ;; - --no-verbose) - opt_verbose=false -preserve_args+=" $opt" - ;; - --silent|--quiet) - opt_silent=: -preserve_args+=" $opt" - opt_verbose=false - ;; - --verbose|-v) - opt_verbose=: -preserve_args+=" $opt" -opt_silent=false - ;; - --tag) - test $# = 0 && func_missing_arg $opt && break - optarg="$1" - opt_tag="$optarg" -preserve_args+=" $opt $optarg" -func_enable_tag "$optarg" - shift - ;; - - -\?|-h) func_usage ;; - --help) func_help ;; - --version) func_version ;; - - # Separate optargs to long options: - --*=*) - func_split_long_opt "$opt" - set dummy "$func_split_long_opt_name" "$func_split_long_opt_arg" ${1+"$@"} - shift - ;; - - # Separate non-argument short options: - -\?*|-h*|-n*|-v*) - func_split_short_opt "$opt" - set dummy "$func_split_short_opt_name" "-$func_split_short_opt_arg" ${1+"$@"} - shift - ;; - - --) break ;; - -*) func_fatal_help "unrecognized option \`$opt'" ;; - *) set dummy "$opt" ${1+"$@"}; shift; break ;; - esac - done - - # Validate options: - - # save first non-option argument - if test "$#" -gt 0; then - nonopt="$opt" - shift - fi - - # preserve --debug - test "$opt_debug" = : || preserve_args+=" --debug" - - case $host in - *cygwin* | *mingw* | *pw32* | *cegcc*) - # don't eliminate duplications in $postdeps and $predeps - opt_duplicate_compiler_generated_deps=: - ;; - *) - opt_duplicate_compiler_generated_deps=$opt_preserve_dup_deps - ;; - esac - - $opt_help || { - # Sanity checks first: - func_check_version_match - - if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then - func_fatal_configuration "not configured to build any kind of library" - fi - - # Darwin sucks - eval std_shrext=\"$shrext_cmds\" - - # Only execute mode is allowed to have -dlopen flags. - if test -n "$opt_dlopen" && test "$opt_mode" != execute; then - func_error "unrecognized option \`-dlopen'" - $ECHO "$help" 1>&2 - exit $EXIT_FAILURE - fi - - # Change the help message to a mode-specific one. - generic_help="$help" - help="Try \`$progname --help --mode=$opt_mode' for more information." - } - - - # Bail if the options were screwed - $exit_cmd $EXIT_FAILURE -} - - - - -## ----------- ## -## Main. ## -## ----------- ## - -# func_lalib_p file -# True iff FILE is a libtool `.la' library or `.lo' object file. -# This function is only a basic sanity check; it will hardly flush out -# determined imposters. -func_lalib_p () -{ - test -f "$1" && - $SED -e 4q "$1" 2>/dev/null \ - | $GREP "^# Generated by .*$PACKAGE" > /dev/null 2>&1 -} - -# func_lalib_unsafe_p file -# True iff FILE is a libtool `.la' library or `.lo' object file. -# This function implements the same check as func_lalib_p without -# resorting to external programs. To this end, it redirects stdin and -# closes it afterwards, without saving the original file descriptor. -# As a safety measure, use it only where a negative result would be -# fatal anyway. Works if `file' does not exist. -func_lalib_unsafe_p () -{ - lalib_p=no - if test -f "$1" && test -r "$1" && exec 5<&0 <"$1"; then - for lalib_p_l in 1 2 3 4 - do - read lalib_p_line - case "$lalib_p_line" in - \#\ Generated\ by\ *$PACKAGE* ) lalib_p=yes; break;; - esac - done - exec 0<&5 5<&- - fi - test "$lalib_p" = yes -} - -# func_ltwrapper_script_p file -# True iff FILE is a libtool wrapper script -# This function is only a basic sanity check; it will hardly flush out -# determined imposters. -func_ltwrapper_script_p () -{ - func_lalib_p "$1" -} - -# func_ltwrapper_executable_p file -# True iff FILE is a libtool wrapper executable -# This function is only a basic sanity check; it will hardly flush out -# determined imposters. -func_ltwrapper_executable_p () -{ - func_ltwrapper_exec_suffix= - case $1 in - *.exe) ;; - *) func_ltwrapper_exec_suffix=.exe ;; - esac - $GREP "$magic_exe" "$1$func_ltwrapper_exec_suffix" >/dev/null 2>&1 -} - -# func_ltwrapper_scriptname file -# Assumes file is an ltwrapper_executable -# uses $file to determine the appropriate filename for a -# temporary ltwrapper_script. -func_ltwrapper_scriptname () -{ - func_dirname_and_basename "$1" "" "." - func_stripname '' '.exe' "$func_basename_result" - func_ltwrapper_scriptname_result="$func_dirname_result/$objdir/${func_stripname_result}_ltshwrapper" -} - -# func_ltwrapper_p file -# True iff FILE is a libtool wrapper script or wrapper executable -# This function is only a basic sanity check; it will hardly flush out -# determined imposters. -func_ltwrapper_p () -{ - func_ltwrapper_script_p "$1" || func_ltwrapper_executable_p "$1" -} - - -# func_execute_cmds commands fail_cmd -# Execute tilde-delimited COMMANDS. -# If FAIL_CMD is given, eval that upon failure. -# FAIL_CMD may read-access the current command in variable CMD! -func_execute_cmds () -{ - $opt_debug - save_ifs=$IFS; IFS='~' - for cmd in $1; do - IFS=$save_ifs - eval cmd=\"$cmd\" - func_show_eval "$cmd" "${2-:}" - done - IFS=$save_ifs -} - - -# func_source file -# Source FILE, adding directory component if necessary. -# Note that it is not necessary on cygwin/mingw to append a dot to -# FILE even if both FILE and FILE.exe exist: automatic-append-.exe -# behavior happens only for exec(3), not for open(2)! Also, sourcing -# `FILE.' does not work on cygwin managed mounts. -func_source () -{ - $opt_debug - case $1 in - */* | *\\*) . "$1" ;; - *) . "./$1" ;; - esac -} - - -# func_resolve_sysroot PATH -# Replace a leading = in PATH with a sysroot. Store the result into -# func_resolve_sysroot_result -func_resolve_sysroot () -{ - func_resolve_sysroot_result=$1 - case $func_resolve_sysroot_result in - =*) - func_stripname '=' '' "$func_resolve_sysroot_result" - func_resolve_sysroot_result=$lt_sysroot$func_stripname_result - ;; - esac -} - -# func_replace_sysroot PATH -# If PATH begins with the sysroot, replace it with = and -# store the result into func_replace_sysroot_result. -func_replace_sysroot () -{ - case "$lt_sysroot:$1" in - ?*:"$lt_sysroot"*) - func_stripname "$lt_sysroot" '' "$1" - func_replace_sysroot_result="=$func_stripname_result" - ;; - *) - # Including no sysroot. - func_replace_sysroot_result=$1 - ;; - esac -} - -# func_infer_tag arg -# Infer tagged configuration to use if any are available and -# if one wasn't chosen via the "--tag" command line option. -# Only attempt this if the compiler in the base compile -# command doesn't match the default compiler. -# arg is usually of the form 'gcc ...' -func_infer_tag () -{ - $opt_debug - if test -n "$available_tags" && test -z "$tagname"; then - CC_quoted= - for arg in $CC; do - func_append_quoted CC_quoted "$arg" - done - CC_expanded=`func_echo_all $CC` - CC_quoted_expanded=`func_echo_all $CC_quoted` - case $@ in - # Blanks in the command may have been stripped by the calling shell, - # but not from the CC environment variable when configure was run. - " $CC "* | "$CC "* | " $CC_expanded "* | "$CC_expanded "* | \ - " $CC_quoted"* | "$CC_quoted "* | " $CC_quoted_expanded "* | "$CC_quoted_expanded "*) ;; - # Blanks at the start of $base_compile will cause this to fail - # if we don't check for them as well. - *) - for z in $available_tags; do - if $GREP "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then - # Evaluate the configuration. - eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`" - CC_quoted= - for arg in $CC; do - # Double-quote args containing other shell metacharacters. - func_append_quoted CC_quoted "$arg" - done - CC_expanded=`func_echo_all $CC` - CC_quoted_expanded=`func_echo_all $CC_quoted` - case "$@ " in - " $CC "* | "$CC "* | " $CC_expanded "* | "$CC_expanded "* | \ - " $CC_quoted"* | "$CC_quoted "* | " $CC_quoted_expanded "* | "$CC_quoted_expanded "*) - # The compiler in the base compile command matches - # the one in the tagged configuration. - # Assume this is the tagged configuration we want. - tagname=$z - break - ;; - esac - fi - done - # If $tagname still isn't set, then no tagged configuration - # was found and let the user know that the "--tag" command - # line option must be used. - if test -z "$tagname"; then - func_echo "unable to infer tagged configuration" - func_fatal_error "specify a tag with \`--tag'" -# else -# func_verbose "using $tagname tagged configuration" - fi - ;; - esac - fi -} - - - -# func_write_libtool_object output_name pic_name nonpic_name -# Create a libtool object file (analogous to a ".la" file), -# but don't create it if we're doing a dry run. -func_write_libtool_object () -{ - write_libobj=${1} - if test "$build_libtool_libs" = yes; then - write_lobj=\'${2}\' - else - write_lobj=none - fi - - if test "$build_old_libs" = yes; then - write_oldobj=\'${3}\' - else - write_oldobj=none - fi - - $opt_dry_run || { - cat >${write_libobj}T </dev/null` - if test "$?" -eq 0 && test -n "${func_convert_core_file_wine_to_w32_tmp}"; then - func_convert_core_file_wine_to_w32_result=`$ECHO "$func_convert_core_file_wine_to_w32_tmp" | - $SED -e "$lt_sed_naive_backslashify"` - else - func_convert_core_file_wine_to_w32_result= - fi - fi -} -# end: func_convert_core_file_wine_to_w32 - - -# func_convert_core_path_wine_to_w32 ARG -# Helper function used by path conversion functions when $build is *nix, and -# $host is mingw, cygwin, or some other w32 environment. Relies on a correctly -# configured wine environment available, with the winepath program in $build's -# $PATH. Assumes ARG has no leading or trailing path separator characters. -# -# ARG is path to be converted from $build format to win32. -# Result is available in $func_convert_core_path_wine_to_w32_result. -# Unconvertible file (directory) names in ARG are skipped; if no directory names -# are convertible, then the result may be empty. -func_convert_core_path_wine_to_w32 () -{ - $opt_debug - # unfortunately, winepath doesn't convert paths, only file names - func_convert_core_path_wine_to_w32_result="" - if test -n "$1"; then - oldIFS=$IFS - IFS=: - for func_convert_core_path_wine_to_w32_f in $1; do - IFS=$oldIFS - func_convert_core_file_wine_to_w32 "$func_convert_core_path_wine_to_w32_f" - if test -n "$func_convert_core_file_wine_to_w32_result" ; then - if test -z "$func_convert_core_path_wine_to_w32_result"; then - func_convert_core_path_wine_to_w32_result="$func_convert_core_file_wine_to_w32_result" - else - func_append func_convert_core_path_wine_to_w32_result ";$func_convert_core_file_wine_to_w32_result" - fi - fi - done - IFS=$oldIFS - fi -} -# end: func_convert_core_path_wine_to_w32 - - -# func_cygpath ARGS... -# Wrapper around calling the cygpath program via LT_CYGPATH. This is used when -# when (1) $build is *nix and Cygwin is hosted via a wine environment; or (2) -# $build is MSYS and $host is Cygwin, or (3) $build is Cygwin. In case (1) or -# (2), returns the Cygwin file name or path in func_cygpath_result (input -# file name or path is assumed to be in w32 format, as previously converted -# from $build's *nix or MSYS format). In case (3), returns the w32 file name -# or path in func_cygpath_result (input file name or path is assumed to be in -# Cygwin format). Returns an empty string on error. -# -# ARGS are passed to cygpath, with the last one being the file name or path to -# be converted. -# -# Specify the absolute *nix (or w32) name to cygpath in the LT_CYGPATH -# environment variable; do not put it in $PATH. -func_cygpath () -{ - $opt_debug - if test -n "$LT_CYGPATH" && test -f "$LT_CYGPATH"; then - func_cygpath_result=`$LT_CYGPATH "$@" 2>/dev/null` - if test "$?" -ne 0; then - # on failure, ensure result is empty - func_cygpath_result= - fi - else - func_cygpath_result= - func_error "LT_CYGPATH is empty or specifies non-existent file: \`$LT_CYGPATH'" - fi -} -#end: func_cygpath - - -# func_convert_core_msys_to_w32 ARG -# Convert file name or path ARG from MSYS format to w32 format. Return -# result in func_convert_core_msys_to_w32_result. -func_convert_core_msys_to_w32 () -{ - $opt_debug - # awkward: cmd appends spaces to result - func_convert_core_msys_to_w32_result=`( cmd //c echo "$1" ) 2>/dev/null | - $SED -e 's/[ ]*$//' -e "$lt_sed_naive_backslashify"` -} -#end: func_convert_core_msys_to_w32 - - -# func_convert_file_check ARG1 ARG2 -# Verify that ARG1 (a file name in $build format) was converted to $host -# format in ARG2. Otherwise, emit an error message, but continue (resetting -# func_to_host_file_result to ARG1). -func_convert_file_check () -{ - $opt_debug - if test -z "$2" && test -n "$1" ; then - func_error "Could not determine host file name corresponding to" - func_error " \`$1'" - func_error "Continuing, but uninstalled executables may not work." - # Fallback: - func_to_host_file_result="$1" - fi -} -# end func_convert_file_check - - -# func_convert_path_check FROM_PATHSEP TO_PATHSEP FROM_PATH TO_PATH -# Verify that FROM_PATH (a path in $build format) was converted to $host -# format in TO_PATH. Otherwise, emit an error message, but continue, resetting -# func_to_host_file_result to a simplistic fallback value (see below). -func_convert_path_check () -{ - $opt_debug - if test -z "$4" && test -n "$3"; then - func_error "Could not determine the host path corresponding to" - func_error " \`$3'" - func_error "Continuing, but uninstalled executables may not work." - # Fallback. This is a deliberately simplistic "conversion" and - # should not be "improved". See libtool.info. - if test "x$1" != "x$2"; then - lt_replace_pathsep_chars="s|$1|$2|g" - func_to_host_path_result=`echo "$3" | - $SED -e "$lt_replace_pathsep_chars"` - else - func_to_host_path_result="$3" - fi - fi -} -# end func_convert_path_check - - -# func_convert_path_front_back_pathsep FRONTPAT BACKPAT REPL ORIG -# Modifies func_to_host_path_result by prepending REPL if ORIG matches FRONTPAT -# and appending REPL if ORIG matches BACKPAT. -func_convert_path_front_back_pathsep () -{ - $opt_debug - case $4 in - $1 ) func_to_host_path_result="$3$func_to_host_path_result" - ;; - esac - case $4 in - $2 ) func_to_host_path_result+="$3" - ;; - esac -} -# end func_convert_path_front_back_pathsep - - -################################################## -# $build to $host FILE NAME CONVERSION FUNCTIONS # -################################################## -# invoked via `$to_host_file_cmd ARG' -# -# In each case, ARG is the path to be converted from $build to $host format. -# Result will be available in $func_to_host_file_result. - - -# func_to_host_file ARG -# Converts the file name ARG from $build format to $host format. Return result -# in func_to_host_file_result. -func_to_host_file () -{ - $opt_debug - $to_host_file_cmd "$1" -} -# end func_to_host_file - - -# func_to_tool_file ARG LAZY -# converts the file name ARG from $build format to toolchain format. Return -# result in func_to_tool_file_result. If the conversion in use is listed -# in (the comma separated) LAZY, no conversion takes place. -func_to_tool_file () -{ - $opt_debug - case ,$2, in - *,"$to_tool_file_cmd",*) - func_to_tool_file_result=$1 - ;; - *) - $to_tool_file_cmd "$1" - func_to_tool_file_result=$func_to_host_file_result - ;; - esac -} -# end func_to_tool_file - - -# func_convert_file_noop ARG -# Copy ARG to func_to_host_file_result. -func_convert_file_noop () -{ - func_to_host_file_result="$1" -} -# end func_convert_file_noop - - -# func_convert_file_msys_to_w32 ARG -# Convert file name ARG from (mingw) MSYS to (mingw) w32 format; automatic -# conversion to w32 is not available inside the cwrapper. Returns result in -# func_to_host_file_result. -func_convert_file_msys_to_w32 () -{ - $opt_debug - func_to_host_file_result="$1" - if test -n "$1"; then - func_convert_core_msys_to_w32 "$1" - func_to_host_file_result="$func_convert_core_msys_to_w32_result" - fi - func_convert_file_check "$1" "$func_to_host_file_result" -} -# end func_convert_file_msys_to_w32 - - -# func_convert_file_cygwin_to_w32 ARG -# Convert file name ARG from Cygwin to w32 format. Returns result in -# func_to_host_file_result. -func_convert_file_cygwin_to_w32 () -{ - $opt_debug - func_to_host_file_result="$1" - if test -n "$1"; then - # because $build is cygwin, we call "the" cygpath in $PATH; no need to use - # LT_CYGPATH in this case. - func_to_host_file_result=`cygpath -m "$1"` - fi - func_convert_file_check "$1" "$func_to_host_file_result" -} -# end func_convert_file_cygwin_to_w32 - - -# func_convert_file_nix_to_w32 ARG -# Convert file name ARG from *nix to w32 format. Requires a wine environment -# and a working winepath. Returns result in func_to_host_file_result. -func_convert_file_nix_to_w32 () -{ - $opt_debug - func_to_host_file_result="$1" - if test -n "$1"; then - func_convert_core_file_wine_to_w32 "$1" - func_to_host_file_result="$func_convert_core_file_wine_to_w32_result" - fi - func_convert_file_check "$1" "$func_to_host_file_result" -} -# end func_convert_file_nix_to_w32 - - -# func_convert_file_msys_to_cygwin ARG -# Convert file name ARG from MSYS to Cygwin format. Requires LT_CYGPATH set. -# Returns result in func_to_host_file_result. -func_convert_file_msys_to_cygwin () -{ - $opt_debug - func_to_host_file_result="$1" - if test -n "$1"; then - func_convert_core_msys_to_w32 "$1" - func_cygpath -u "$func_convert_core_msys_to_w32_result" - func_to_host_file_result="$func_cygpath_result" - fi - func_convert_file_check "$1" "$func_to_host_file_result" -} -# end func_convert_file_msys_to_cygwin - - -# func_convert_file_nix_to_cygwin ARG -# Convert file name ARG from *nix to Cygwin format. Requires Cygwin installed -# in a wine environment, working winepath, and LT_CYGPATH set. Returns result -# in func_to_host_file_result. -func_convert_file_nix_to_cygwin () -{ - $opt_debug - func_to_host_file_result="$1" - if test -n "$1"; then - # convert from *nix to w32, then use cygpath to convert from w32 to cygwin. - func_convert_core_file_wine_to_w32 "$1" - func_cygpath -u "$func_convert_core_file_wine_to_w32_result" - func_to_host_file_result="$func_cygpath_result" - fi - func_convert_file_check "$1" "$func_to_host_file_result" -} -# end func_convert_file_nix_to_cygwin - - -############################################# -# $build to $host PATH CONVERSION FUNCTIONS # -############################################# -# invoked via `$to_host_path_cmd ARG' -# -# In each case, ARG is the path to be converted from $build to $host format. -# The result will be available in $func_to_host_path_result. -# -# Path separators are also converted from $build format to $host format. If -# ARG begins or ends with a path separator character, it is preserved (but -# converted to $host format) on output. -# -# All path conversion functions are named using the following convention: -# file name conversion function : func_convert_file_X_to_Y () -# path conversion function : func_convert_path_X_to_Y () -# where, for any given $build/$host combination the 'X_to_Y' value is the -# same. If conversion functions are added for new $build/$host combinations, -# the two new functions must follow this pattern, or func_init_to_host_path_cmd -# will break. - - -# func_init_to_host_path_cmd -# Ensures that function "pointer" variable $to_host_path_cmd is set to the -# appropriate value, based on the value of $to_host_file_cmd. -to_host_path_cmd= -func_init_to_host_path_cmd () -{ - $opt_debug - if test -z "$to_host_path_cmd"; then - func_stripname 'func_convert_file_' '' "$to_host_file_cmd" - to_host_path_cmd="func_convert_path_${func_stripname_result}" - fi -} - - -# func_to_host_path ARG -# Converts the path ARG from $build format to $host format. Return result -# in func_to_host_path_result. -func_to_host_path () -{ - $opt_debug - func_init_to_host_path_cmd - $to_host_path_cmd "$1" -} -# end func_to_host_path - - -# func_convert_path_noop ARG -# Copy ARG to func_to_host_path_result. -func_convert_path_noop () -{ - func_to_host_path_result="$1" -} -# end func_convert_path_noop - - -# func_convert_path_msys_to_w32 ARG -# Convert path ARG from (mingw) MSYS to (mingw) w32 format; automatic -# conversion to w32 is not available inside the cwrapper. Returns result in -# func_to_host_path_result. -func_convert_path_msys_to_w32 () -{ - $opt_debug - func_to_host_path_result="$1" - if test -n "$1"; then - # Remove leading and trailing path separator characters from ARG. MSYS - # behavior is inconsistent here; cygpath turns them into '.;' and ';.'; - # and winepath ignores them completely. - func_stripname : : "$1" - func_to_host_path_tmp1=$func_stripname_result - func_convert_core_msys_to_w32 "$func_to_host_path_tmp1" - func_to_host_path_result="$func_convert_core_msys_to_w32_result" - func_convert_path_check : ";" \ - "$func_to_host_path_tmp1" "$func_to_host_path_result" - func_convert_path_front_back_pathsep ":*" "*:" ";" "$1" - fi -} -# end func_convert_path_msys_to_w32 - - -# func_convert_path_cygwin_to_w32 ARG -# Convert path ARG from Cygwin to w32 format. Returns result in -# func_to_host_file_result. -func_convert_path_cygwin_to_w32 () -{ - $opt_debug - func_to_host_path_result="$1" - if test -n "$1"; then - # See func_convert_path_msys_to_w32: - func_stripname : : "$1" - func_to_host_path_tmp1=$func_stripname_result - func_to_host_path_result=`cygpath -m -p "$func_to_host_path_tmp1"` - func_convert_path_check : ";" \ - "$func_to_host_path_tmp1" "$func_to_host_path_result" - func_convert_path_front_back_pathsep ":*" "*:" ";" "$1" - fi -} -# end func_convert_path_cygwin_to_w32 - - -# func_convert_path_nix_to_w32 ARG -# Convert path ARG from *nix to w32 format. Requires a wine environment and -# a working winepath. Returns result in func_to_host_file_result. -func_convert_path_nix_to_w32 () -{ - $opt_debug - func_to_host_path_result="$1" - if test -n "$1"; then - # See func_convert_path_msys_to_w32: - func_stripname : : "$1" - func_to_host_path_tmp1=$func_stripname_result - func_convert_core_path_wine_to_w32 "$func_to_host_path_tmp1" - func_to_host_path_result="$func_convert_core_path_wine_to_w32_result" - func_convert_path_check : ";" \ - "$func_to_host_path_tmp1" "$func_to_host_path_result" - func_convert_path_front_back_pathsep ":*" "*:" ";" "$1" - fi -} -# end func_convert_path_nix_to_w32 - - -# func_convert_path_msys_to_cygwin ARG -# Convert path ARG from MSYS to Cygwin format. Requires LT_CYGPATH set. -# Returns result in func_to_host_file_result. -func_convert_path_msys_to_cygwin () -{ - $opt_debug - func_to_host_path_result="$1" - if test -n "$1"; then - # See func_convert_path_msys_to_w32: - func_stripname : : "$1" - func_to_host_path_tmp1=$func_stripname_result - func_convert_core_msys_to_w32 "$func_to_host_path_tmp1" - func_cygpath -u -p "$func_convert_core_msys_to_w32_result" - func_to_host_path_result="$func_cygpath_result" - func_convert_path_check : : \ - "$func_to_host_path_tmp1" "$func_to_host_path_result" - func_convert_path_front_back_pathsep ":*" "*:" : "$1" - fi -} -# end func_convert_path_msys_to_cygwin - - -# func_convert_path_nix_to_cygwin ARG -# Convert path ARG from *nix to Cygwin format. Requires Cygwin installed in a -# a wine environment, working winepath, and LT_CYGPATH set. Returns result in -# func_to_host_file_result. -func_convert_path_nix_to_cygwin () -{ - $opt_debug - func_to_host_path_result="$1" - if test -n "$1"; then - # Remove leading and trailing path separator characters from - # ARG. msys behavior is inconsistent here, cygpath turns them - # into '.;' and ';.', and winepath ignores them completely. - func_stripname : : "$1" - func_to_host_path_tmp1=$func_stripname_result - func_convert_core_path_wine_to_w32 "$func_to_host_path_tmp1" - func_cygpath -u -p "$func_convert_core_path_wine_to_w32_result" - func_to_host_path_result="$func_cygpath_result" - func_convert_path_check : : \ - "$func_to_host_path_tmp1" "$func_to_host_path_result" - func_convert_path_front_back_pathsep ":*" "*:" : "$1" - fi -} -# end func_convert_path_nix_to_cygwin - - -# func_mode_compile arg... -func_mode_compile () -{ - $opt_debug - # Get the compilation command and the source file. - base_compile= - srcfile="$nonopt" # always keep a non-empty value in "srcfile" - suppress_opt=yes - suppress_output= - arg_mode=normal - libobj= - later= - pie_flag= - - for arg - do - case $arg_mode in - arg ) - # do not "continue". Instead, add this to base_compile - lastarg="$arg" - arg_mode=normal - ;; - - target ) - libobj="$arg" - arg_mode=normal - continue - ;; - - normal ) - # Accept any command-line options. - case $arg in - -o) - test -n "$libobj" && \ - func_fatal_error "you cannot specify \`-o' more than once" - arg_mode=target - continue - ;; - - -pie | -fpie | -fPIE) - pie_flag+=" $arg" - continue - ;; - - -shared | -static | -prefer-pic | -prefer-non-pic) - later+=" $arg" - continue - ;; - - -no-suppress) - suppress_opt=no - continue - ;; - - -Xcompiler) - arg_mode=arg # the next one goes into the "base_compile" arg list - continue # The current "srcfile" will either be retained or - ;; # replaced later. I would guess that would be a bug. - - -Wc,*) - func_stripname '-Wc,' '' "$arg" - args=$func_stripname_result - lastarg= - save_ifs="$IFS"; IFS=',' - for arg in $args; do - IFS="$save_ifs" - func_append_quoted lastarg "$arg" - done - IFS="$save_ifs" - func_stripname ' ' '' "$lastarg" - lastarg=$func_stripname_result - - # Add the arguments to base_compile. - base_compile+=" $lastarg" - continue - ;; - - *) - # Accept the current argument as the source file. - # The previous "srcfile" becomes the current argument. - # - lastarg="$srcfile" - srcfile="$arg" - ;; - esac # case $arg - ;; - esac # case $arg_mode - - # Aesthetically quote the previous argument. - func_append_quoted base_compile "$lastarg" - done # for arg - - case $arg_mode in - arg) - func_fatal_error "you must specify an argument for -Xcompile" - ;; - target) - func_fatal_error "you must specify a target with \`-o'" - ;; - *) - # Get the name of the library object. - test -z "$libobj" && { - func_basename "$srcfile" - libobj="$func_basename_result" - } - ;; - esac - - # Recognize several different file suffixes. - # If the user specifies -o file.o, it is replaced with file.lo - case $libobj in - *.[cCFSifmso] | \ - *.ada | *.adb | *.ads | *.asm | \ - *.c++ | *.cc | *.ii | *.class | *.cpp | *.cxx | \ - *.[fF][09]? | *.for | *.java | *.go | *.obj | *.sx | *.cu | *.cup) - func_xform "$libobj" - libobj=$func_xform_result - ;; - esac - - case $libobj in - *.lo) func_lo2o "$libobj"; obj=$func_lo2o_result ;; - *) - func_fatal_error "cannot determine name of library object from \`$libobj'" - ;; - esac - - func_infer_tag $base_compile - - for arg in $later; do - case $arg in - -shared) - test "$build_libtool_libs" != yes && \ - func_fatal_configuration "can not build a shared library" - build_old_libs=no - continue - ;; - - -static) - build_libtool_libs=no - build_old_libs=yes - continue - ;; - - -prefer-pic) - pic_mode=yes - continue - ;; - - -prefer-non-pic) - pic_mode=no - continue - ;; - esac - done - - func_quote_for_eval "$libobj" - test "X$libobj" != "X$func_quote_for_eval_result" \ - && $ECHO "X$libobj" | $GREP '[]~#^*{};<>?"'"'"' &()|`$[]' \ - && func_warning "libobj name \`$libobj' may not contain shell special characters." - func_dirname_and_basename "$obj" "/" "" - objname="$func_basename_result" - xdir="$func_dirname_result" - lobj=${xdir}$objdir/$objname - - test -z "$base_compile" && \ - func_fatal_help "you must specify a compilation command" - - # Delete any leftover library objects. - if test "$build_old_libs" = yes; then - removelist="$obj $lobj $libobj ${libobj}T" - else - removelist="$lobj $libobj ${libobj}T" - fi - - # On Cygwin there's no "real" PIC flag so we must build both object types - case $host_os in - cygwin* | mingw* | pw32* | os2* | cegcc*) - pic_mode=default - ;; - esac - if test "$pic_mode" = no && test "$deplibs_check_method" != pass_all; then - # non-PIC code in shared libraries is not supported - pic_mode=default - fi - - # Calculate the filename of the output object if compiler does - # not support -o with -c - if test "$compiler_c_o" = no; then - output_obj=`$ECHO "$srcfile" | $SED 's%^.*/%%; s%\.[^.]*$%%'`.${objext} - lockfile="$output_obj.lock" - else - output_obj= - need_locks=no - lockfile= - fi - - # Lock this critical section if it is needed - # We use this script file to make the link, it avoids creating a new file - if test "$need_locks" = yes; then - until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do - func_echo "Waiting for $lockfile to be removed" - sleep 2 - done - elif test "$need_locks" = warn; then - if test -f "$lockfile"; then - $ECHO "\ -*** ERROR, $lockfile exists and contains: -`cat $lockfile 2>/dev/null` - -This indicates that another process is trying to use the same -temporary object file, and libtool could not work around it because -your compiler does not support \`-c' and \`-o' together. If you -repeat this compilation, it may succeed, by chance, but you had better -avoid parallel builds (make -j) in this platform, or get a better -compiler." - - $opt_dry_run || $RM $removelist - exit $EXIT_FAILURE - fi - removelist+=" $output_obj" - $ECHO "$srcfile" > "$lockfile" - fi - - $opt_dry_run || $RM $removelist - removelist+=" $lockfile" - trap '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' 1 2 15 - - func_to_tool_file "$srcfile" func_convert_file_msys_to_w32 - srcfile=$func_to_tool_file_result - func_quote_for_eval "$srcfile" - qsrcfile=$func_quote_for_eval_result - - # Only build a PIC object if we are building libtool libraries. - if test "$build_libtool_libs" = yes; then - # Without this assignment, base_compile gets emptied. - fbsd_hideous_sh_bug=$base_compile - - if test "$pic_mode" != no; then - command="$base_compile $qsrcfile $pic_flag" - else - # Don't build PIC code - command="$base_compile $qsrcfile" - fi - - func_mkdir_p "$xdir$objdir" - - if test -z "$output_obj"; then - # Place PIC objects in $objdir - command+=" -o $lobj" - fi - - func_show_eval_locale "$command" \ - 'test -n "$output_obj" && $RM $removelist; exit $EXIT_FAILURE' - - if test "$need_locks" = warn && - test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then - $ECHO "\ -*** ERROR, $lockfile contains: -`cat $lockfile 2>/dev/null` - -but it should contain: -$srcfile - -This indicates that another process is trying to use the same -temporary object file, and libtool could not work around it because -your compiler does not support \`-c' and \`-o' together. If you -repeat this compilation, it may succeed, by chance, but you had better -avoid parallel builds (make -j) in this platform, or get a better -compiler." - - $opt_dry_run || $RM $removelist - exit $EXIT_FAILURE - fi - - # Just move the object if needed, then go on to compile the next one - if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then - func_show_eval '$MV "$output_obj" "$lobj"' \ - 'error=$?; $opt_dry_run || $RM $removelist; exit $error' - fi - - # Allow error messages only from the first compilation. - if test "$suppress_opt" = yes; then - suppress_output=' >/dev/null 2>&1' - fi - fi - - # Only build a position-dependent object if we build old libraries. - if test "$build_old_libs" = yes; then - if test "$pic_mode" != yes; then - # Don't build PIC code - command="$base_compile $qsrcfile$pie_flag" - else - command="$base_compile $qsrcfile $pic_flag" - fi - if test "$compiler_c_o" = yes; then - command+=" -o $obj" - fi - - # Suppress compiler output if we already did a PIC compilation. - command+="$suppress_output" - func_show_eval_locale "$command" \ - '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' - - if test "$need_locks" = warn && - test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then - $ECHO "\ -*** ERROR, $lockfile contains: -`cat $lockfile 2>/dev/null` - -but it should contain: -$srcfile - -This indicates that another process is trying to use the same -temporary object file, and libtool could not work around it because -your compiler does not support \`-c' and \`-o' together. If you -repeat this compilation, it may succeed, by chance, but you had better -avoid parallel builds (make -j) in this platform, or get a better -compiler." - - $opt_dry_run || $RM $removelist - exit $EXIT_FAILURE - fi - - # Just move the object if needed - if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then - func_show_eval '$MV "$output_obj" "$obj"' \ - 'error=$?; $opt_dry_run || $RM $removelist; exit $error' - fi - fi - - $opt_dry_run || { - func_write_libtool_object "$libobj" "$objdir/$objname" "$objname" - - # Unlock the critical section if it was locked - if test "$need_locks" != no; then - removelist=$lockfile - $RM "$lockfile" - fi - } - - exit $EXIT_SUCCESS -} - -$opt_help || { - test "$opt_mode" = compile && func_mode_compile ${1+"$@"} -} - -func_mode_help () -{ - # We need to display help for each of the modes. - case $opt_mode in - "") - # Generic help is extracted from the usage comments - # at the start of this file. - func_help - ;; - - clean) - $ECHO \ -"Usage: $progname [OPTION]... --mode=clean RM [RM-OPTION]... FILE... - -Remove files from the build directory. - -RM is the name of the program to use to delete files associated with each FILE -(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed -to RM. - -If FILE is a libtool library, object or program, all the files associated -with it are deleted. Otherwise, only FILE itself is deleted using RM." - ;; - - compile) - $ECHO \ -"Usage: $progname [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE - -Compile a source file into a libtool library object. - -This mode accepts the following additional options: - - -o OUTPUT-FILE set the output file name to OUTPUT-FILE - -no-suppress do not suppress compiler output for multiple passes - -prefer-pic try to build PIC objects only - -prefer-non-pic try to build non-PIC objects only - -shared do not build a \`.o' file suitable for static linking - -static only build a \`.o' file suitable for static linking - -Wc,FLAG pass FLAG directly to the compiler - -COMPILE-COMMAND is a command to be used in creating a \`standard' object file -from the given SOURCEFILE. - -The output file name is determined by removing the directory component from -SOURCEFILE, then substituting the C source code suffix \`.c' with the -library object suffix, \`.lo'." - ;; - - execute) - $ECHO \ -"Usage: $progname [OPTION]... --mode=execute COMMAND [ARGS]... - -Automatically set library path, then run a program. - -This mode accepts the following additional options: - - -dlopen FILE add the directory containing FILE to the library path - -This mode sets the library path environment variable according to \`-dlopen' -flags. - -If any of the ARGS are libtool executable wrappers, then they are translated -into their corresponding uninstalled binary, and any of their required library -directories are added to the library path. - -Then, COMMAND is executed, with ARGS as arguments." - ;; - - finish) - $ECHO \ -"Usage: $progname [OPTION]... --mode=finish [LIBDIR]... - -Complete the installation of libtool libraries. - -Each LIBDIR is a directory that contains libtool libraries. - -The commands that this mode executes may require superuser privileges. Use -the \`--dry-run' option if you just want to see what would be executed." - ;; - - install) - $ECHO \ -"Usage: $progname [OPTION]... --mode=install INSTALL-COMMAND... - -Install executables or libraries. - -INSTALL-COMMAND is the installation command. The first component should be -either the \`install' or \`cp' program. - -The following components of INSTALL-COMMAND are treated specially: - - -inst-prefix-dir PREFIX-DIR Use PREFIX-DIR as a staging area for installation - -The rest of the components are interpreted as arguments to that command (only -BSD-compatible install options are recognized)." - ;; - - link) - $ECHO \ -"Usage: $progname [OPTION]... --mode=link LINK-COMMAND... - -Link object files or libraries together to form another library, or to -create an executable program. - -LINK-COMMAND is a command using the C compiler that you would use to create -a program from several object files. - -The following components of LINK-COMMAND are treated specially: - - -all-static do not do any dynamic linking at all - -avoid-version do not add a version suffix if possible - -bindir BINDIR specify path to binaries directory (for systems where - libraries must be found in the PATH setting at runtime) - -dlopen FILE \`-dlpreopen' FILE if it cannot be dlopened at runtime - -dlpreopen FILE link in FILE and add its symbols to lt_preloaded_symbols - -export-dynamic allow symbols from OUTPUT-FILE to be resolved with dlsym(3) - -export-symbols SYMFILE - try to export only the symbols listed in SYMFILE - -export-symbols-regex REGEX - try to export only the symbols matching REGEX - -LLIBDIR search LIBDIR for required installed libraries - -lNAME OUTPUT-FILE requires the installed library libNAME - -module build a library that can dlopened - -no-fast-install disable the fast-install mode - -no-install link a not-installable executable - -no-undefined declare that a library does not refer to external symbols - -o OUTPUT-FILE create OUTPUT-FILE from the specified objects - -objectlist FILE Use a list of object files found in FILE to specify objects - -precious-files-regex REGEX - don't remove output files matching REGEX - -release RELEASE specify package release information - -rpath LIBDIR the created library will eventually be installed in LIBDIR - -R[ ]LIBDIR add LIBDIR to the runtime path of programs and libraries - -shared only do dynamic linking of libtool libraries - -shrext SUFFIX override the standard shared library file extension - -static do not do any dynamic linking of uninstalled libtool libraries - -static-libtool-libs - do not do any dynamic linking of libtool libraries - -version-info CURRENT[:REVISION[:AGE]] - specify library version info [each variable defaults to 0] - -weak LIBNAME declare that the target provides the LIBNAME interface - -Wc,FLAG - -Xcompiler FLAG pass linker-specific FLAG directly to the compiler - -Wl,FLAG - -Xlinker FLAG pass linker-specific FLAG directly to the linker - -XCClinker FLAG pass link-specific FLAG to the compiler driver (CC) - -All other options (arguments beginning with \`-') are ignored. - -Every other argument is treated as a filename. Files ending in \`.la' are -treated as uninstalled libtool libraries, other files are standard or library -object files. - -If the OUTPUT-FILE ends in \`.la', then a libtool library is created, -only library objects (\`.lo' files) may be specified, and \`-rpath' is -required, except when creating a convenience library. - -If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created -using \`ar' and \`ranlib', or on Windows using \`lib'. - -If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file -is created, otherwise an executable program is created." - ;; - - uninstall) - $ECHO \ -"Usage: $progname [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE... - -Remove libraries from an installation directory. - -RM is the name of the program to use to delete files associated with each FILE -(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed -to RM. - -If FILE is a libtool library, all the files associated with it are deleted. -Otherwise, only FILE itself is deleted using RM." - ;; - - *) - func_fatal_help "invalid operation mode \`$opt_mode'" - ;; - esac - - echo - $ECHO "Try \`$progname --help' for more information about other modes." -} - -# Now that we've collected a possible --mode arg, show help if necessary -if $opt_help; then - if test "$opt_help" = :; then - func_mode_help - else - { - func_help noexit - for opt_mode in compile link execute install finish uninstall clean; do - func_mode_help - done - } | sed -n '1p; 2,$s/^Usage:/ or: /p' - { - func_help noexit - for opt_mode in compile link execute install finish uninstall clean; do - echo - func_mode_help - done - } | - sed '1d - /^When reporting/,/^Report/{ - H - d - } - $x - /information about other modes/d - /more detailed .*MODE/d - s/^Usage:.*--mode=\([^ ]*\) .*/Description of \1 mode:/' - fi - exit $? -fi - - -# func_mode_execute arg... -func_mode_execute () -{ - $opt_debug - # The first argument is the command name. - cmd="$nonopt" - test -z "$cmd" && \ - func_fatal_help "you must specify a COMMAND" - - # Handle -dlopen flags immediately. - for file in $opt_dlopen; do - test -f "$file" \ - || func_fatal_help "\`$file' is not a file" - - dir= - case $file in - *.la) - func_resolve_sysroot "$file" - file=$func_resolve_sysroot_result - - # Check to see that this really is a libtool archive. - func_lalib_unsafe_p "$file" \ - || func_fatal_help "\`$lib' is not a valid libtool archive" - - # Read the libtool library. - dlname= - library_names= - func_source "$file" - - # Skip this library if it cannot be dlopened. - if test -z "$dlname"; then - # Warn if it was a shared library. - test -n "$library_names" && \ - func_warning "\`$file' was not linked with \`-export-dynamic'" - continue - fi - - func_dirname "$file" "" "." - dir="$func_dirname_result" - - if test -f "$dir/$objdir/$dlname"; then - dir+="/$objdir" - else - if test ! -f "$dir/$dlname"; then - func_fatal_error "cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'" - fi - fi - ;; - - *.lo) - # Just add the directory containing the .lo file. - func_dirname "$file" "" "." - dir="$func_dirname_result" - ;; - - *) - func_warning "\`-dlopen' is ignored for non-libtool libraries and objects" - continue - ;; - esac - - # Get the absolute pathname. - absdir=`cd "$dir" && pwd` - test -n "$absdir" && dir="$absdir" - - # Now add the directory to shlibpath_var. - if eval "test -z \"\$$shlibpath_var\""; then - eval "$shlibpath_var=\"\$dir\"" - else - eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\"" - fi - done - - # This variable tells wrapper scripts just to set shlibpath_var - # rather than running their programs. - libtool_execute_magic="$magic" - - # Check if any of the arguments is a wrapper script. - args= - for file - do - case $file in - -* | *.la | *.lo ) ;; - *) - # Do a test to see if this is really a libtool program. - if func_ltwrapper_script_p "$file"; then - func_source "$file" - # Transform arg to wrapped name. - file="$progdir/$program" - elif func_ltwrapper_executable_p "$file"; then - func_ltwrapper_scriptname "$file" - func_source "$func_ltwrapper_scriptname_result" - # Transform arg to wrapped name. - file="$progdir/$program" - fi - ;; - esac - # Quote arguments (to preserve shell metacharacters). - func_append_quoted args "$file" - done - - if test "X$opt_dry_run" = Xfalse; then - if test -n "$shlibpath_var"; then - # Export the shlibpath_var. - eval "export $shlibpath_var" - fi - - # Restore saved environment variables - for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES - do - eval "if test \"\${save_$lt_var+set}\" = set; then - $lt_var=\$save_$lt_var; export $lt_var - else - $lt_unset $lt_var - fi" - done - - # Now prepare to actually exec the command. - exec_cmd="\$cmd$args" - else - # Display what would be done. - if test -n "$shlibpath_var"; then - eval "\$ECHO \"\$shlibpath_var=\$$shlibpath_var\"" - echo "export $shlibpath_var" - fi - $ECHO "$cmd$args" - exit $EXIT_SUCCESS - fi -} - -test "$opt_mode" = execute && func_mode_execute ${1+"$@"} - - -# func_mode_finish arg... -func_mode_finish () -{ - $opt_debug - libs= - libdirs= - admincmds= - - for opt in "$nonopt" ${1+"$@"} - do - if test -d "$opt"; then - libdirs+=" $opt" - - elif test -f "$opt"; then - if func_lalib_unsafe_p "$opt"; then - libs+=" $opt" - else - func_warning "\`$opt' is not a valid libtool archive" - fi - - else - func_fatal_error "invalid argument \`$opt'" - fi - done - - if test -n "$libs"; then - if test -n "$lt_sysroot"; then - sysroot_regex=`$ECHO "$lt_sysroot" | $SED "$sed_make_literal_regex"` - sysroot_cmd="s/\([ ']\)$sysroot_regex/\1/g;" - else - sysroot_cmd= - fi - - # Remove sysroot references - if $opt_dry_run; then - for lib in $libs; do - echo "removing references to $lt_sysroot and \`=' prefixes from $lib" - done - else - tmpdir=`func_mktempdir` - for lib in $libs; do - sed -e "${sysroot_cmd} s/\([ ']-[LR]\)=/\1/g; s/\([ ']\)=/\1/g" $lib \ - > $tmpdir/tmp-la - mv -f $tmpdir/tmp-la $lib - done - ${RM}r "$tmpdir" - fi - fi - - if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then - for libdir in $libdirs; do - if test -n "$finish_cmds"; then - # Do each command in the finish commands. - func_execute_cmds "$finish_cmds" 'admincmds="$admincmds -'"$cmd"'"' - fi - if test -n "$finish_eval"; then - # Do the single finish_eval. - eval cmds=\"$finish_eval\" - $opt_dry_run || eval "$cmds" || admincmds+=" - $cmds" - fi - done - fi - - # Exit here if they wanted silent mode. - $opt_silent && exit $EXIT_SUCCESS - - if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then - echo "----------------------------------------------------------------------" - echo "Libraries have been installed in:" - for libdir in $libdirs; do - $ECHO " $libdir" - done - echo - echo "If you ever happen to want to link against installed libraries" - echo "in a given directory, LIBDIR, you must either use libtool, and" - echo "specify the full pathname of the library, or use the \`-LLIBDIR'" - echo "flag during linking and do at least one of the following:" - if test -n "$shlibpath_var"; then - echo " - add LIBDIR to the \`$shlibpath_var' environment variable" - echo " during execution" - fi - if test -n "$runpath_var"; then - echo " - add LIBDIR to the \`$runpath_var' environment variable" - echo " during linking" - fi - if test -n "$hardcode_libdir_flag_spec"; then - libdir=LIBDIR - eval flag=\"$hardcode_libdir_flag_spec\" - - $ECHO " - use the \`$flag' linker flag" - fi - if test -n "$admincmds"; then - $ECHO " - have your system administrator run these commands:$admincmds" - fi - if test -f /etc/ld.so.conf; then - echo " - have your system administrator add LIBDIR to \`/etc/ld.so.conf'" - fi - echo - - echo "See any operating system documentation about shared libraries for" - case $host in - solaris2.[6789]|solaris2.1[0-9]) - echo "more information, such as the ld(1), crle(1) and ld.so(8) manual" - echo "pages." - ;; - *) - echo "more information, such as the ld(1) and ld.so(8) manual pages." - ;; - esac - echo "----------------------------------------------------------------------" - fi - exit $EXIT_SUCCESS -} - -test "$opt_mode" = finish && func_mode_finish ${1+"$@"} - - -# func_mode_install arg... -func_mode_install () -{ - $opt_debug - # There may be an optional sh(1) argument at the beginning of - # install_prog (especially on Windows NT). - if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh || - # Allow the use of GNU shtool's install command. - case $nonopt in *shtool*) :;; *) false;; esac; then - # Aesthetically quote it. - func_quote_for_eval "$nonopt" - install_prog="$func_quote_for_eval_result " - arg=$1 - shift - else - install_prog= - arg=$nonopt - fi - - # The real first argument should be the name of the installation program. - # Aesthetically quote it. - func_quote_for_eval "$arg" - install_prog+="$func_quote_for_eval_result" - install_shared_prog=$install_prog - case " $install_prog " in - *[\\\ /]cp\ *) install_cp=: ;; - *) install_cp=false ;; - esac - - # We need to accept at least all the BSD install flags. - dest= - files= - opts= - prev= - install_type= - isdir=no - stripme= - no_mode=: - for arg - do - arg2= - if test -n "$dest"; then - files+=" $dest" - dest=$arg - continue - fi - - case $arg in - -d) isdir=yes ;; - -f) - if $install_cp; then :; else - prev=$arg - fi - ;; - -g | -m | -o) - prev=$arg - ;; - -s) - stripme=" -s" - continue - ;; - -*) - ;; - *) - # If the previous option needed an argument, then skip it. - if test -n "$prev"; then - if test "x$prev" = x-m && test -n "$install_override_mode"; then - arg2=$install_override_mode - no_mode=false - fi - prev= - else - dest=$arg - continue - fi - ;; - esac - - # Aesthetically quote the argument. - func_quote_for_eval "$arg" - install_prog+=" $func_quote_for_eval_result" - if test -n "$arg2"; then - func_quote_for_eval "$arg2" - fi - install_shared_prog+=" $func_quote_for_eval_result" - done - - test -z "$install_prog" && \ - func_fatal_help "you must specify an install program" - - test -n "$prev" && \ - func_fatal_help "the \`$prev' option requires an argument" - - if test -n "$install_override_mode" && $no_mode; then - if $install_cp; then :; else - func_quote_for_eval "$install_override_mode" - install_shared_prog+=" -m $func_quote_for_eval_result" - fi - fi - - if test -z "$files"; then - if test -z "$dest"; then - func_fatal_help "no file or destination specified" - else - func_fatal_help "you must specify a destination" - fi - fi - - # Strip any trailing slash from the destination. - func_stripname '' '/' "$dest" - dest=$func_stripname_result - - # Check to see that the destination is a directory. - test -d "$dest" && isdir=yes - if test "$isdir" = yes; then - destdir="$dest" - destname= - else - func_dirname_and_basename "$dest" "" "." - destdir="$func_dirname_result" - destname="$func_basename_result" - - # Not a directory, so check to see that there is only one file specified. - set dummy $files; shift - test "$#" -gt 1 && \ - func_fatal_help "\`$dest' is not a directory" - fi - case $destdir in - [\\/]* | [A-Za-z]:[\\/]*) ;; - *) - for file in $files; do - case $file in - *.lo) ;; - *) - func_fatal_help "\`$destdir' must be an absolute directory name" - ;; - esac - done - ;; - esac - - # This variable tells wrapper scripts just to set variables rather - # than running their programs. - libtool_install_magic="$magic" - - staticlibs= - future_libdirs= - current_libdirs= - for file in $files; do - - # Do each installation. - case $file in - *.$libext) - # Do the static libraries later. - staticlibs+=" $file" - ;; - - *.la) - func_resolve_sysroot "$file" - file=$func_resolve_sysroot_result - - # Check to see that this really is a libtool archive. - func_lalib_unsafe_p "$file" \ - || func_fatal_help "\`$file' is not a valid libtool archive" - - library_names= - old_library= - relink_command= - func_source "$file" - - # Add the libdir to current_libdirs if it is the destination. - if test "X$destdir" = "X$libdir"; then - case "$current_libdirs " in - *" $libdir "*) ;; - *) current_libdirs+=" $libdir" ;; - esac - else - # Note the libdir as a future libdir. - case "$future_libdirs " in - *" $libdir "*) ;; - *) future_libdirs+=" $libdir" ;; - esac - fi - - func_dirname "$file" "/" "" - dir="$func_dirname_result" - dir+="$objdir" - - if test -n "$relink_command"; then - # Determine the prefix the user has applied to our future dir. - inst_prefix_dir=`$ECHO "$destdir" | $SED -e "s%$libdir\$%%"` - - # Don't allow the user to place us outside of our expected - # location b/c this prevents finding dependent libraries that - # are installed to the same prefix. - # At present, this check doesn't affect windows .dll's that - # are installed into $libdir/../bin (currently, that works fine) - # but it's something to keep an eye on. - test "$inst_prefix_dir" = "$destdir" && \ - func_fatal_error "error: cannot install \`$file' to a directory not ending in $libdir" - - if test -n "$inst_prefix_dir"; then - # Stick the inst_prefix_dir data into the link command. - relink_command=`$ECHO "$relink_command" | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"` - else - relink_command=`$ECHO "$relink_command" | $SED "s%@inst_prefix_dir@%%"` - fi - - func_warning "relinking \`$file'" - func_show_eval "$relink_command" \ - 'func_fatal_error "error: relink \`$file'\'' with the above command before installing it"' - fi - - # See the names of the shared library. - set dummy $library_names; shift - if test -n "$1"; then - realname="$1" - shift - - srcname="$realname" - test -n "$relink_command" && srcname="$realname"T - - # Install the shared library and build the symlinks. - func_show_eval "$install_shared_prog $dir/$srcname $destdir/$realname" \ - 'exit $?' - tstripme="$stripme" - case $host_os in - cygwin* | mingw* | pw32* | cegcc*) - case $realname in - *.dll.a) - tstripme="" - ;; - esac - ;; - esac - if test -n "$tstripme" && test -n "$striplib"; then - func_show_eval "$striplib $destdir/$realname" 'exit $?' - fi - - if test "$#" -gt 0; then - # Delete the old symlinks, and create new ones. - # Try `ln -sf' first, because the `ln' binary might depend on - # the symlink we replace! Solaris /bin/ln does not understand -f, - # so we also need to try rm && ln -s. - for linkname - do - test "$linkname" != "$realname" \ - && func_show_eval "(cd $destdir && { $LN_S -f $realname $linkname || { $RM $linkname && $LN_S $realname $linkname; }; })" - done - fi - - # Do each command in the postinstall commands. - lib="$destdir/$realname" - func_execute_cmds "$postinstall_cmds" 'exit $?' - fi - - # Install the pseudo-library for information purposes. - func_basename "$file" - name="$func_basename_result" - instname="$dir/$name"i - func_show_eval "$install_prog $instname $destdir/$name" 'exit $?' - - # Maybe install the static library, too. - test -n "$old_library" && staticlibs+=" $dir/$old_library" - ;; - - *.lo) - # Install (i.e. copy) a libtool object. - - # Figure out destination file name, if it wasn't already specified. - if test -n "$destname"; then - destfile="$destdir/$destname" - else - func_basename "$file" - destfile="$func_basename_result" - destfile="$destdir/$destfile" - fi - - # Deduce the name of the destination old-style object file. - case $destfile in - *.lo) - func_lo2o "$destfile" - staticdest=$func_lo2o_result - ;; - *.$objext) - staticdest="$destfile" - destfile= - ;; - *) - func_fatal_help "cannot copy a libtool object to \`$destfile'" - ;; - esac - - # Install the libtool object if requested. - test -n "$destfile" && \ - func_show_eval "$install_prog $file $destfile" 'exit $?' - - # Install the old object if enabled. - if test "$build_old_libs" = yes; then - # Deduce the name of the old-style object file. - func_lo2o "$file" - staticobj=$func_lo2o_result - func_show_eval "$install_prog \$staticobj \$staticdest" 'exit $?' - fi - exit $EXIT_SUCCESS - ;; - - *) - # Figure out destination file name, if it wasn't already specified. - if test -n "$destname"; then - destfile="$destdir/$destname" - else - func_basename "$file" - destfile="$func_basename_result" - destfile="$destdir/$destfile" - fi - - # If the file is missing, and there is a .exe on the end, strip it - # because it is most likely a libtool script we actually want to - # install - stripped_ext="" - case $file in - *.exe) - if test ! -f "$file"; then - func_stripname '' '.exe' "$file" - file=$func_stripname_result - stripped_ext=".exe" - fi - ;; - esac - - # Do a test to see if this is really a libtool program. - case $host in - *cygwin* | *mingw*) - if func_ltwrapper_executable_p "$file"; then - func_ltwrapper_scriptname "$file" - wrapper=$func_ltwrapper_scriptname_result - else - func_stripname '' '.exe' "$file" - wrapper=$func_stripname_result - fi - ;; - *) - wrapper=$file - ;; - esac - if func_ltwrapper_script_p "$wrapper"; then - notinst_deplibs= - relink_command= - - func_source "$wrapper" - - # Check the variables that should have been set. - test -z "$generated_by_libtool_version" && \ - func_fatal_error "invalid libtool wrapper script \`$wrapper'" - - finalize=yes - for lib in $notinst_deplibs; do - # Check to see that each library is installed. - libdir= - if test -f "$lib"; then - func_source "$lib" - fi - libfile="$libdir/"`$ECHO "$lib" | $SED 's%^.*/%%g'` ### testsuite: skip nested quoting test - if test -n "$libdir" && test ! -f "$libfile"; then - func_warning "\`$lib' has not been installed in \`$libdir'" - finalize=no - fi - done - - relink_command= - func_source "$wrapper" - - outputname= - if test "$fast_install" = no && test -n "$relink_command"; then - $opt_dry_run || { - if test "$finalize" = yes; then - tmpdir=`func_mktempdir` - func_basename "$file$stripped_ext" - file="$func_basename_result" - outputname="$tmpdir/$file" - # Replace the output file specification. - relink_command=`$ECHO "$relink_command" | $SED 's%@OUTPUT@%'"$outputname"'%g'` - - $opt_silent || { - func_quote_for_expand "$relink_command" - eval "func_echo $func_quote_for_expand_result" - } - if eval "$relink_command"; then : - else - func_error "error: relink \`$file' with the above command before installing it" - $opt_dry_run || ${RM}r "$tmpdir" - continue - fi - file="$outputname" - else - func_warning "cannot relink \`$file'" - fi - } - else - # Install the binary that we compiled earlier. - file=`$ECHO "$file$stripped_ext" | $SED "s%\([^/]*\)$%$objdir/\1%"` - fi - fi - - # remove .exe since cygwin /usr/bin/install will append another - # one anyway - case $install_prog,$host in - */usr/bin/install*,*cygwin*) - case $file:$destfile in - *.exe:*.exe) - # this is ok - ;; - *.exe:*) - destfile=$destfile.exe - ;; - *:*.exe) - func_stripname '' '.exe' "$destfile" - destfile=$func_stripname_result - ;; - esac - ;; - esac - func_show_eval "$install_prog\$stripme \$file \$destfile" 'exit $?' - $opt_dry_run || if test -n "$outputname"; then - ${RM}r "$tmpdir" - fi - ;; - esac - done - - for file in $staticlibs; do - func_basename "$file" - name="$func_basename_result" - - # Set up the ranlib parameters. - oldlib="$destdir/$name" - func_to_tool_file "$oldlib" func_convert_file_msys_to_w32 - tool_oldlib=$func_to_tool_file_result - - func_show_eval "$install_prog \$file \$oldlib" 'exit $?' - - if test -n "$stripme" && test -n "$old_striplib"; then - func_show_eval "$old_striplib $tool_oldlib" 'exit $?' - fi - - # Do each command in the postinstall commands. - func_execute_cmds "$old_postinstall_cmds" 'exit $?' - done - - test -n "$future_libdirs" && \ - func_warning "remember to run \`$progname --finish$future_libdirs'" - - if test -n "$current_libdirs"; then - # Maybe just do a dry run. - $opt_dry_run && current_libdirs=" -n$current_libdirs" - exec_cmd='$SHELL $progpath $preserve_args --finish$current_libdirs' - else - exit $EXIT_SUCCESS - fi -} - -test "$opt_mode" = install && func_mode_install ${1+"$@"} - - -# func_generate_dlsyms outputname originator pic_p -# Extract symbols from dlprefiles and create ${outputname}S.o with -# a dlpreopen symbol table. -func_generate_dlsyms () -{ - $opt_debug - my_outputname="$1" - my_originator="$2" - my_pic_p="${3-no}" - my_prefix=`$ECHO "$my_originator" | sed 's%[^a-zA-Z0-9]%_%g'` - my_dlsyms= - - if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then - if test -n "$NM" && test -n "$global_symbol_pipe"; then - my_dlsyms="${my_outputname}S.c" - else - func_error "not configured to extract global symbols from dlpreopened files" - fi - fi - - if test -n "$my_dlsyms"; then - case $my_dlsyms in - "") ;; - *.c) - # Discover the nlist of each of the dlfiles. - nlist="$output_objdir/${my_outputname}.nm" - - func_show_eval "$RM $nlist ${nlist}S ${nlist}T" - - # Parse the name list into a source file. - func_verbose "creating $output_objdir/$my_dlsyms" - - $opt_dry_run || $ECHO > "$output_objdir/$my_dlsyms" "\ -/* $my_dlsyms - symbol resolution table for \`$my_outputname' dlsym emulation. */ -/* Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION */ - -#ifdef __cplusplus -extern \"C\" { -#endif - -#if defined(__GNUC__) && (((__GNUC__ == 4) && (__GNUC_MINOR__ >= 4)) || (__GNUC__ > 4)) -#pragma GCC diagnostic ignored \"-Wstrict-prototypes\" -#endif - -/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ -#if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE) -/* DATA imports from DLLs on WIN32 con't be const, because runtime - relocations are performed -- see ld's documentation on pseudo-relocs. */ -# define LT_DLSYM_CONST -#elif defined(__osf__) -/* This system does not cope well with relocations in const data. */ -# define LT_DLSYM_CONST -#else -# define LT_DLSYM_CONST const -#endif - -/* External symbol declarations for the compiler. */\ -" - - if test "$dlself" = yes; then - func_verbose "generating symbol list for \`$output'" - - $opt_dry_run || echo ': @PROGRAM@ ' > "$nlist" - - # Add our own program objects to the symbol list. - progfiles=`$ECHO "$objs$old_deplibs" | $SP2NL | $SED "$lo2o" | $NL2SP` - for progfile in $progfiles; do - func_to_tool_file "$progfile" func_convert_file_msys_to_w32 - func_verbose "extracting global C symbols from \`$func_to_tool_file_result'" - $opt_dry_run || eval "$NM $func_to_tool_file_result | $global_symbol_pipe >> '$nlist'" - done - - if test -n "$exclude_expsyms"; then - $opt_dry_run || { - eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T' - eval '$MV "$nlist"T "$nlist"' - } - fi - - if test -n "$export_symbols_regex"; then - $opt_dry_run || { - eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T' - eval '$MV "$nlist"T "$nlist"' - } - fi - - # Prepare the list of exported symbols - if test -z "$export_symbols"; then - export_symbols="$output_objdir/$outputname.exp" - $opt_dry_run || { - $RM $export_symbols - eval "${SED} -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"' - case $host in - *cygwin* | *mingw* | *cegcc* ) - eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' - eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"' - ;; - esac - } - else - $opt_dry_run || { - eval "${SED} -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"' - eval '$GREP -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T' - eval '$MV "$nlist"T "$nlist"' - case $host in - *cygwin* | *mingw* | *cegcc* ) - eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' - eval 'cat "$nlist" >> "$output_objdir/$outputname.def"' - ;; - esac - } - fi - fi - - for dlprefile in $dlprefiles; do - func_verbose "extracting global C symbols from \`$dlprefile'" - func_basename "$dlprefile" - name="$func_basename_result" - case $host in - *cygwin* | *mingw* | *cegcc* ) - # if an import library, we need to obtain dlname - if func_win32_import_lib_p "$dlprefile"; then - func_tr_sh "$dlprefile" - eval "curr_lafile=\$libfile_$func_tr_sh_result" - dlprefile_dlbasename="" - if test -n "$curr_lafile" && func_lalib_p "$curr_lafile"; then - # Use subshell, to avoid clobbering current variable values - dlprefile_dlname=`source "$curr_lafile" && echo "$dlname"` - if test -n "$dlprefile_dlname" ; then - func_basename "$dlprefile_dlname" - dlprefile_dlbasename="$func_basename_result" - else - # no lafile. user explicitly requested -dlpreopen . - $sharedlib_from_linklib_cmd "$dlprefile" - dlprefile_dlbasename=$sharedlib_from_linklib_result - fi - fi - $opt_dry_run || { - if test -n "$dlprefile_dlbasename" ; then - eval '$ECHO ": $dlprefile_dlbasename" >> "$nlist"' - else - func_warning "Could not compute DLL name from $name" - eval '$ECHO ": $name " >> "$nlist"' - fi - func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32 - eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe | - $SED -e '/I __imp/d' -e 's/I __nm_/D /;s/_nm__//' >> '$nlist'" - } - else # not an import lib - $opt_dry_run || { - eval '$ECHO ": $name " >> "$nlist"' - func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32 - eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe >> '$nlist'" - } - fi - ;; - *) - $opt_dry_run || { - eval '$ECHO ": $name " >> "$nlist"' - func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32 - eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe >> '$nlist'" - } - ;; - esac - done - - $opt_dry_run || { - # Make sure we have at least an empty file. - test -f "$nlist" || : > "$nlist" - - if test -n "$exclude_expsyms"; then - $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T - $MV "$nlist"T "$nlist" - fi - - # Try sorting and uniquifying the output. - if $GREP -v "^: " < "$nlist" | - if sort -k 3
/dev/null 2>&1; then - sort -k 3 - else - sort +2 - fi | - uniq > "$nlist"S; then - : - else - $GREP -v "^: " < "$nlist" > "$nlist"S - fi - - if test -f "$nlist"S; then - eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$my_dlsyms"' - else - echo '/* NONE */' >> "$output_objdir/$my_dlsyms" - fi - - echo >> "$output_objdir/$my_dlsyms" "\ - -/* The mapping between symbol names and symbols. */ -typedef struct { - const char *name; - void *address; -} lt_dlsymlist; -extern LT_DLSYM_CONST lt_dlsymlist -lt_${my_prefix}_LTX_preloaded_symbols[]; -LT_DLSYM_CONST lt_dlsymlist -lt_${my_prefix}_LTX_preloaded_symbols[] = -{\ - { \"$my_originator\", (void *) 0 }," - - case $need_lib_prefix in - no) - eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$my_dlsyms" - ;; - *) - eval "$global_symbol_to_c_name_address_lib_prefix" < "$nlist" >> "$output_objdir/$my_dlsyms" - ;; - esac - echo >> "$output_objdir/$my_dlsyms" "\ - {0, (void *) 0} -}; - -/* This works around a problem in FreeBSD linker */ -#ifdef FREEBSD_WORKAROUND -static const void *lt_preloaded_setup() { - return lt_${my_prefix}_LTX_preloaded_symbols; -} -#endif - -#ifdef __cplusplus -} -#endif\ -" - } # !$opt_dry_run - - pic_flag_for_symtable= - case "$compile_command " in - *" -static "*) ;; - *) - case $host in - # compiling the symbol table file with pic_flag works around - # a FreeBSD bug that causes programs to crash when -lm is - # linked before any other PIC object. But we must not use - # pic_flag when linking with -static. The problem exists in - # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1. - *-*-freebsd2.*|*-*-freebsd3.0*|*-*-freebsdelf3.0*) - pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND" ;; - *-*-hpux*) - pic_flag_for_symtable=" $pic_flag" ;; - *) - if test "X$my_pic_p" != Xno; then - pic_flag_for_symtable=" $pic_flag" - fi - ;; - esac - ;; - esac - symtab_cflags= - for arg in $LTCFLAGS; do - case $arg in - -pie | -fpie | -fPIE) ;; - *) symtab_cflags+=" $arg" ;; - esac - done - - # Now compile the dynamic symbol file. - func_show_eval '(cd $output_objdir && $LTCC$symtab_cflags -c$no_builtin_flag$pic_flag_for_symtable "$my_dlsyms")' 'exit $?' - - # Clean up the generated files. - func_show_eval '$RM "$output_objdir/$my_dlsyms" "$nlist" "${nlist}S" "${nlist}T"' - - # Transform the symbol file into the correct name. - symfileobj="$output_objdir/${my_outputname}S.$objext" - case $host in - *cygwin* | *mingw* | *cegcc* ) - if test -f "$output_objdir/$my_outputname.def"; then - compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"` - finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"` - else - compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$symfileobj%"` - finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$symfileobj%"` - fi - ;; - *) - compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$symfileobj%"` - finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$symfileobj%"` - ;; - esac - ;; - *) - func_fatal_error "unknown suffix for \`$my_dlsyms'" - ;; - esac - else - # We keep going just in case the user didn't refer to - # lt_preloaded_symbols. The linker will fail if global_symbol_pipe - # really was required. - - # Nullify the symbol file. - compile_command=`$ECHO "$compile_command" | $SED "s% @SYMFILE@%%"` - finalize_command=`$ECHO "$finalize_command" | $SED "s% @SYMFILE@%%"` - fi -} - -# func_win32_libid arg -# return the library type of file 'arg' -# -# Need a lot of goo to handle *both* DLLs and import libs -# Has to be a shell function in order to 'eat' the argument -# that is supplied when $file_magic_command is called. -# Despite the name, also deal with 64 bit binaries. -func_win32_libid () -{ - $opt_debug - win32_libid_type="unknown" - win32_fileres=`file -L $1 2>/dev/null` - case $win32_fileres in - *ar\ archive\ import\ library*) # definitely import - win32_libid_type="x86 archive import" - ;; - *ar\ archive*) # could be an import, or static - # Keep the egrep pattern in sync with the one in _LT_CHECK_MAGIC_METHOD. - if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null | - $EGREP 'file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' >/dev/null; then - func_to_tool_file "$1" func_convert_file_msys_to_w32 - win32_nmres=`eval $NM -f posix -A \"$func_to_tool_file_result\" | - $SED -n -e ' - 1,100{ - / I /{ - s,.*,import, - p - q - } - }'` - case $win32_nmres in - import*) win32_libid_type="x86 archive import";; - *) win32_libid_type="x86 archive static";; - esac - fi - ;; - *DLL*) - win32_libid_type="x86 DLL" - ;; - *executable*) # but shell scripts are "executable" too... - case $win32_fileres in - *MS\ Windows\ PE\ Intel*) - win32_libid_type="x86 DLL" - ;; - esac - ;; - esac - $ECHO "$win32_libid_type" -} - -# func_cygming_dll_for_implib ARG -# -# Platform-specific function to extract the -# name of the DLL associated with the specified -# import library ARG. -# Invoked by eval'ing the libtool variable -# $sharedlib_from_linklib_cmd -# Result is available in the variable -# $sharedlib_from_linklib_result -func_cygming_dll_for_implib () -{ - $opt_debug - sharedlib_from_linklib_result=`$DLLTOOL --identify-strict --identify "$1"` -} - -# func_cygming_dll_for_implib_fallback_core SECTION_NAME LIBNAMEs -# -# The is the core of a fallback implementation of a -# platform-specific function to extract the name of the -# DLL associated with the specified import library LIBNAME. -# -# SECTION_NAME is either .idata$6 or .idata$7, depending -# on the platform and compiler that created the implib. -# -# Echos the name of the DLL associated with the -# specified import library. -func_cygming_dll_for_implib_fallback_core () -{ - $opt_debug - match_literal=`$ECHO "$1" | $SED "$sed_make_literal_regex"` - $OBJDUMP -s --section "$1" "$2" 2>/dev/null | - $SED '/^Contents of section '"$match_literal"':/{ - # Place marker at beginning of archive member dllname section - s/.*/====MARK====/ - p - d - } - # These lines can sometimes be longer than 43 characters, but - # are always uninteresting - /:[ ]*file format pe[i]\{,1\}-/d - /^In archive [^:]*:/d - # Ensure marker is printed - /^====MARK====/p - # Remove all lines with less than 43 characters - /^.\{43\}/!d - # From remaining lines, remove first 43 characters - s/^.\{43\}//' | - $SED -n ' - # Join marker and all lines until next marker into a single line - /^====MARK====/ b para - H - $ b para - b - :para - x - s/\n//g - # Remove the marker - s/^====MARK====// - # Remove trailing dots and whitespace - s/[\. \t]*$// - # Print - /./p' | - # we now have a list, one entry per line, of the stringified - # contents of the appropriate section of all members of the - # archive which possess that section. Heuristic: eliminate - # all those which have a first or second character that is - # a '.' (that is, objdump's representation of an unprintable - # character.) This should work for all archives with less than - # 0x302f exports -- but will fail for DLLs whose name actually - # begins with a literal '.' or a single character followed by - # a '.'. - # - # Of those that remain, print the first one. - $SED -e '/^\./d;/^.\./d;q' -} - -# func_cygming_gnu_implib_p ARG -# This predicate returns with zero status (TRUE) if -# ARG is a GNU/binutils-style import library. Returns -# with nonzero status (FALSE) otherwise. -func_cygming_gnu_implib_p () -{ - $opt_debug - func_to_tool_file "$1" func_convert_file_msys_to_w32 - func_cygming_gnu_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $EGREP ' (_head_[A-Za-z0-9_]+_[ad]l*|[A-Za-z0-9_]+_[ad]l*_iname)$'` - test -n "$func_cygming_gnu_implib_tmp" -} - -# func_cygming_ms_implib_p ARG -# This predicate returns with zero status (TRUE) if -# ARG is an MS-style import library. Returns -# with nonzero status (FALSE) otherwise. -func_cygming_ms_implib_p () -{ - $opt_debug - func_to_tool_file "$1" func_convert_file_msys_to_w32 - func_cygming_ms_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $GREP '_NULL_IMPORT_DESCRIPTOR'` - test -n "$func_cygming_ms_implib_tmp" -} - -# func_cygming_dll_for_implib_fallback ARG -# Platform-specific function to extract the -# name of the DLL associated with the specified -# import library ARG. -# -# This fallback implementation is for use when $DLLTOOL -# does not support the --identify-strict option. -# Invoked by eval'ing the libtool variable -# $sharedlib_from_linklib_cmd -# Result is available in the variable -# $sharedlib_from_linklib_result -func_cygming_dll_for_implib_fallback () -{ - $opt_debug - if func_cygming_gnu_implib_p "$1" ; then - # binutils import library - sharedlib_from_linklib_result=`func_cygming_dll_for_implib_fallback_core '.idata$7' "$1"` - elif func_cygming_ms_implib_p "$1" ; then - # ms-generated import library - sharedlib_from_linklib_result=`func_cygming_dll_for_implib_fallback_core '.idata$6' "$1"` - else - # unknown - sharedlib_from_linklib_result="" - fi -} - - -# func_extract_an_archive dir oldlib -func_extract_an_archive () -{ - $opt_debug - f_ex_an_ar_dir="$1"; shift - f_ex_an_ar_oldlib="$1" - if test "$lock_old_archive_extraction" = yes; then - lockfile=$f_ex_an_ar_oldlib.lock - until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do - func_echo "Waiting for $lockfile to be removed" - sleep 2 - done - fi - func_show_eval "(cd \$f_ex_an_ar_dir && $AR x \"\$f_ex_an_ar_oldlib\")" \ - 'stat=$?; rm -f "$lockfile"; exit $stat' - if test "$lock_old_archive_extraction" = yes; then - $opt_dry_run || rm -f "$lockfile" - fi - if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then - : - else - func_fatal_error "object name conflicts in archive: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib" - fi -} - - -# func_extract_archives gentop oldlib ... -func_extract_archives () -{ - $opt_debug - my_gentop="$1"; shift - my_oldlibs=${1+"$@"} - my_oldobjs="" - my_xlib="" - my_xabs="" - my_xdir="" - - for my_xlib in $my_oldlibs; do - # Extract the objects. - case $my_xlib in - [\\/]* | [A-Za-z]:[\\/]*) my_xabs="$my_xlib" ;; - *) my_xabs=`pwd`"/$my_xlib" ;; - esac - func_basename "$my_xlib" - my_xlib="$func_basename_result" - my_xlib_u=$my_xlib - while :; do - case " $extracted_archives " in - *" $my_xlib_u "*) - func_arith $extracted_serial + 1 - extracted_serial=$func_arith_result - my_xlib_u=lt$extracted_serial-$my_xlib ;; - *) break ;; - esac - done - extracted_archives="$extracted_archives $my_xlib_u" - my_xdir="$my_gentop/$my_xlib_u" - - func_mkdir_p "$my_xdir" - - case $host in - *-darwin*) - func_verbose "Extracting $my_xabs" - # Do not bother doing anything if just a dry run - $opt_dry_run || { - darwin_orig_dir=`pwd` - cd $my_xdir || exit $? - darwin_archive=$my_xabs - darwin_curdir=`pwd` - darwin_base_archive=`basename "$darwin_archive"` - darwin_arches=`$LIPO -info "$darwin_archive" 2>/dev/null | $GREP Architectures 2>/dev/null || true` - if test -n "$darwin_arches"; then - darwin_arches=`$ECHO "$darwin_arches" | $SED -e 's/.*are://'` - darwin_arch= - func_verbose "$darwin_base_archive has multiple architectures $darwin_arches" - for darwin_arch in $darwin_arches ; do - func_mkdir_p "unfat-$$/${darwin_base_archive}-${darwin_arch}" - $LIPO -thin $darwin_arch -output "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" "${darwin_archive}" - cd "unfat-$$/${darwin_base_archive}-${darwin_arch}" - func_extract_an_archive "`pwd`" "${darwin_base_archive}" - cd "$darwin_curdir" - $RM "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" - done # $darwin_arches - ## Okay now we've a bunch of thin objects, gotta fatten them up :) - darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print | $SED -e "$basename" | sort -u` - darwin_file= - darwin_files= - for darwin_file in $darwin_filelist; do - darwin_files=`find unfat-$$ -name $darwin_file -print | sort | $NL2SP` - $LIPO -create -output "$darwin_file" $darwin_files - done # $darwin_filelist - $RM -rf unfat-$$ - cd "$darwin_orig_dir" - else - cd $darwin_orig_dir - func_extract_an_archive "$my_xdir" "$my_xabs" - fi # $darwin_arches - } # !$opt_dry_run - ;; - *) - func_extract_an_archive "$my_xdir" "$my_xabs" - ;; - esac - my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | sort | $NL2SP` - done - - func_extract_archives_result="$my_oldobjs" -} - - -# func_emit_wrapper [arg=no] -# -# Emit a libtool wrapper script on stdout. -# Don't directly open a file because we may want to -# incorporate the script contents within a cygwin/mingw -# wrapper executable. Must ONLY be called from within -# func_mode_link because it depends on a number of variables -# set therein. -# -# ARG is the value that the WRAPPER_SCRIPT_BELONGS_IN_OBJDIR -# variable will take. If 'yes', then the emitted script -# will assume that the directory in which it is stored is -# the $objdir directory. This is a cygwin/mingw-specific -# behavior. -func_emit_wrapper () -{ - func_emit_wrapper_arg1=${1-no} - - $ECHO "\ -#! $SHELL - -# $output - temporary wrapper script for $objdir/$outputname -# Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION -# -# The $output program cannot be directly executed until all the libtool -# libraries that it depends on are installed. -# -# This wrapper script should never be moved out of the build directory. -# If it is, it will not operate correctly. - -# Sed substitution that helps us do robust quoting. It backslashifies -# metacharacters that are still active within double-quoted strings. -sed_quote_subst='$sed_quote_subst' - -# Be Bourne compatible -if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then - emulate sh - NULLCMD=: - # Zsh 3.x and 4.x performs word splitting on \${1+\"\$@\"}, which - # is contrary to our usage. Disable this feature. - alias -g '\${1+\"\$@\"}'='\"\$@\"' - setopt NO_GLOB_SUBST -else - case \`(set -o) 2>/dev/null\` in *posix*) set -o posix;; esac -fi -BIN_SH=xpg4; export BIN_SH # for Tru64 -DUALCASE=1; export DUALCASE # for MKS sh - -# The HP-UX ksh and POSIX shell print the target directory to stdout -# if CDPATH is set. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH - -relink_command=\"$relink_command\" - -# This environment variable determines our operation mode. -if test \"\$libtool_install_magic\" = \"$magic\"; then - # install mode needs the following variables: - generated_by_libtool_version='$macro_version' - notinst_deplibs='$notinst_deplibs' -else - # When we are sourced in execute mode, \$file and \$ECHO are already set. - if test \"\$libtool_execute_magic\" != \"$magic\"; then - file=\"\$0\"" - - qECHO=`$ECHO "$ECHO" | $SED "$sed_quote_subst"` - $ECHO "\ - -# A function that is used when there is no print builtin or printf. -func_fallback_echo () -{ - eval 'cat <<_LTECHO_EOF -\$1 -_LTECHO_EOF' -} - ECHO=\"$qECHO\" - fi - -# Very basic option parsing. These options are (a) specific to -# the libtool wrapper, (b) are identical between the wrapper -# /script/ and the wrapper /executable/ which is used only on -# windows platforms, and (c) all begin with the string "--lt-" -# (application programs are unlikely to have options which match -# this pattern). -# -# There are only two supported options: --lt-debug and -# --lt-dump-script. There is, deliberately, no --lt-help. -# -# The first argument to this parsing function should be the -# script's $0 value, followed by "$@". -lt_option_debug= -func_parse_lt_options () -{ - lt_script_arg0=\$0 - shift - for lt_opt - do - case \"\$lt_opt\" in - --lt-debug) lt_option_debug=1 ;; - --lt-dump-script) - lt_dump_D=\`\$ECHO \"X\$lt_script_arg0\" | $SED -e 's/^X//' -e 's%/[^/]*$%%'\` - test \"X\$lt_dump_D\" = \"X\$lt_script_arg0\" && lt_dump_D=. - lt_dump_F=\`\$ECHO \"X\$lt_script_arg0\" | $SED -e 's/^X//' -e 's%^.*/%%'\` - cat \"\$lt_dump_D/\$lt_dump_F\" - exit 0 - ;; - --lt-*) - \$ECHO \"Unrecognized --lt- option: '\$lt_opt'\" 1>&2 - exit 1 - ;; - esac - done - - # Print the debug banner immediately: - if test -n \"\$lt_option_debug\"; then - echo \"${outputname}:${output}:\${LINENO}: libtool wrapper (GNU $PACKAGE$TIMESTAMP) $VERSION\" 1>&2 - fi -} - -# Used when --lt-debug. Prints its arguments to stdout -# (redirection is the responsibility of the caller) -func_lt_dump_args () -{ - lt_dump_args_N=1; - for lt_arg - do - \$ECHO \"${outputname}:${output}:\${LINENO}: newargv[\$lt_dump_args_N]: \$lt_arg\" - lt_dump_args_N=\`expr \$lt_dump_args_N + 1\` - done -} - -# Core function for launching the target application -func_exec_program_core () -{ -" - case $host in - # Backslashes separate directories on plain windows - *-*-mingw | *-*-os2* | *-cegcc*) - $ECHO "\ - if test -n \"\$lt_option_debug\"; then - \$ECHO \"${outputname}:${output}:\${LINENO}: newargv[0]: \$progdir\\\\\$program\" 1>&2 - func_lt_dump_args \${1+\"\$@\"} 1>&2 - fi - exec \"\$progdir\\\\\$program\" \${1+\"\$@\"} -" - ;; - - *) - $ECHO "\ - if test -n \"\$lt_option_debug\"; then - \$ECHO \"${outputname}:${output}:\${LINENO}: newargv[0]: \$progdir/\$program\" 1>&2 - func_lt_dump_args \${1+\"\$@\"} 1>&2 - fi - exec \"\$progdir/\$program\" \${1+\"\$@\"} -" - ;; - esac - $ECHO "\ - \$ECHO \"\$0: cannot exec \$program \$*\" 1>&2 - exit 1 -} - -# A function to encapsulate launching the target application -# Strips options in the --lt-* namespace from \$@ and -# launches target application with the remaining arguments. -func_exec_program () -{ - case \" \$* \" in - *\\ --lt-*) - for lt_wr_arg - do - case \$lt_wr_arg in - --lt-*) ;; - *) set x \"\$@\" \"\$lt_wr_arg\"; shift;; - esac - shift - done ;; - esac - func_exec_program_core \${1+\"\$@\"} -} - - # Parse options - func_parse_lt_options \"\$0\" \${1+\"\$@\"} - - # Find the directory that this script lives in. - thisdir=\`\$ECHO \"\$file\" | $SED 's%/[^/]*$%%'\` - test \"x\$thisdir\" = \"x\$file\" && thisdir=. - - # Follow symbolic links until we get to the real thisdir. - file=\`ls -ld \"\$file\" | $SED -n 's/.*-> //p'\` - while test -n \"\$file\"; do - destdir=\`\$ECHO \"\$file\" | $SED 's%/[^/]*\$%%'\` - - # If there was a directory component, then change thisdir. - if test \"x\$destdir\" != \"x\$file\"; then - case \"\$destdir\" in - [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;; - *) thisdir=\"\$thisdir/\$destdir\" ;; - esac - fi - - file=\`\$ECHO \"\$file\" | $SED 's%^.*/%%'\` - file=\`ls -ld \"\$thisdir/\$file\" | $SED -n 's/.*-> //p'\` - done - - # Usually 'no', except on cygwin/mingw when embedded into - # the cwrapper. - WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=$func_emit_wrapper_arg1 - if test \"\$WRAPPER_SCRIPT_BELONGS_IN_OBJDIR\" = \"yes\"; then - # special case for '.' - if test \"\$thisdir\" = \".\"; then - thisdir=\`pwd\` - fi - # remove .libs from thisdir - case \"\$thisdir\" in - *[\\\\/]$objdir ) thisdir=\`\$ECHO \"\$thisdir\" | $SED 's%[\\\\/][^\\\\/]*$%%'\` ;; - $objdir ) thisdir=. ;; - esac - fi - - # Try to get the absolute directory name. - absdir=\`cd \"\$thisdir\" && pwd\` - test -n \"\$absdir\" && thisdir=\"\$absdir\" -" - - if test "$fast_install" = yes; then - $ECHO "\ - program=lt-'$outputname'$exeext - progdir=\"\$thisdir/$objdir\" - - if test ! -f \"\$progdir/\$program\" || - { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | ${SED} 1q\`; \\ - test \"X\$file\" != \"X\$progdir/\$program\"; }; then - - file=\"\$\$-\$program\" - - if test ! -d \"\$progdir\"; then - $MKDIR \"\$progdir\" - else - $RM \"\$progdir/\$file\" - fi" - - $ECHO "\ - - # relink executable if necessary - if test -n \"\$relink_command\"; then - if relink_command_output=\`eval \$relink_command 2>&1\`; then : - else - $ECHO \"\$relink_command_output\" >&2 - $RM \"\$progdir/\$file\" - exit 1 - fi - fi - - $MV \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null || - { $RM \"\$progdir/\$program\"; - $MV \"\$progdir/\$file\" \"\$progdir/\$program\"; } - $RM \"\$progdir/\$file\" - fi" - else - $ECHO "\ - program='$outputname' - progdir=\"\$thisdir/$objdir\" -" - fi - - $ECHO "\ - - if test -f \"\$progdir/\$program\"; then" - - # fixup the dll searchpath if we need to. - # - # Fix the DLL searchpath if we need to. Do this before prepending - # to shlibpath, because on Windows, both are PATH and uninstalled - # libraries must come first. - if test -n "$dllsearchpath"; then - $ECHO "\ - # Add the dll search path components to the executable PATH - PATH=$dllsearchpath:\$PATH -" - fi - - # Export our shlibpath_var if we have one. - if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then - $ECHO "\ - # Add our own library path to $shlibpath_var - $shlibpath_var=\"$temp_rpath\$$shlibpath_var\" - - # Some systems cannot cope with colon-terminated $shlibpath_var - # The second colon is a workaround for a bug in BeOS R4 sed - $shlibpath_var=\`\$ECHO \"\$$shlibpath_var\" | $SED 's/::*\$//'\` - - export $shlibpath_var -" - fi - - $ECHO "\ - if test \"\$libtool_execute_magic\" != \"$magic\"; then - # Run the actual program with our arguments. - func_exec_program \${1+\"\$@\"} - fi - else - # The program doesn't exist. - \$ECHO \"\$0: error: \\\`\$progdir/\$program' does not exist\" 1>&2 - \$ECHO \"This script is just a wrapper for \$program.\" 1>&2 - \$ECHO \"See the $PACKAGE documentation for more information.\" 1>&2 - exit 1 - fi -fi\ -" -} - - -# func_emit_cwrapperexe_src -# emit the source code for a wrapper executable on stdout -# Must ONLY be called from within func_mode_link because -# it depends on a number of variable set therein. -func_emit_cwrapperexe_src () -{ - cat < -#include -#ifdef _MSC_VER -# include -# include -# include -#else -# include -# include -# ifdef __CYGWIN__ -# include -# endif -#endif -#include -#include -#include -#include -#include -#include -#include -#include - -/* declarations of non-ANSI functions */ -#if defined(__MINGW32__) -# ifdef __STRICT_ANSI__ -int _putenv (const char *); -# endif -#elif defined(__CYGWIN__) -# ifdef __STRICT_ANSI__ -char *realpath (const char *, char *); -int putenv (char *); -int setenv (const char *, const char *, int); -# endif -/* #elif defined (other platforms) ... */ -#endif - -/* portability defines, excluding path handling macros */ -#if defined(_MSC_VER) -# define setmode _setmode -# define stat _stat -# define chmod _chmod -# define getcwd _getcwd -# define putenv _putenv -# define S_IXUSR _S_IEXEC -# ifndef _INTPTR_T_DEFINED -# define _INTPTR_T_DEFINED -# define intptr_t int -# endif -#elif defined(__MINGW32__) -# define setmode _setmode -# define stat _stat -# define chmod _chmod -# define getcwd _getcwd -# define putenv _putenv -#elif defined(__CYGWIN__) -# define HAVE_SETENV -# define FOPEN_WB "wb" -/* #elif defined (other platforms) ... */ -#endif - -#if defined(PATH_MAX) -# define LT_PATHMAX PATH_MAX -#elif defined(MAXPATHLEN) -# define LT_PATHMAX MAXPATHLEN -#else -# define LT_PATHMAX 1024 -#endif - -#ifndef S_IXOTH -# define S_IXOTH 0 -#endif -#ifndef S_IXGRP -# define S_IXGRP 0 -#endif - -/* path handling portability macros */ -#ifndef DIR_SEPARATOR -# define DIR_SEPARATOR '/' -# define PATH_SEPARATOR ':' -#endif - -#if defined (_WIN32) || defined (__MSDOS__) || defined (__DJGPP__) || \ - defined (__OS2__) -# define HAVE_DOS_BASED_FILE_SYSTEM -# define FOPEN_WB "wb" -# ifndef DIR_SEPARATOR_2 -# define DIR_SEPARATOR_2 '\\' -# endif -# ifndef PATH_SEPARATOR_2 -# define PATH_SEPARATOR_2 ';' -# endif -#endif - -#ifndef DIR_SEPARATOR_2 -# define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR) -#else /* DIR_SEPARATOR_2 */ -# define IS_DIR_SEPARATOR(ch) \ - (((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2)) -#endif /* DIR_SEPARATOR_2 */ - -#ifndef PATH_SEPARATOR_2 -# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR) -#else /* PATH_SEPARATOR_2 */ -# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2) -#endif /* PATH_SEPARATOR_2 */ - -#ifndef FOPEN_WB -# define FOPEN_WB "w" -#endif -#ifndef _O_BINARY -# define _O_BINARY 0 -#endif - -#define XMALLOC(type, num) ((type *) xmalloc ((num) * sizeof(type))) -#define XFREE(stale) do { \ - if (stale) { free ((void *) stale); stale = 0; } \ -} while (0) - -#if defined(LT_DEBUGWRAPPER) -static int lt_debug = 1; -#else -static int lt_debug = 0; -#endif - -const char *program_name = "libtool-wrapper"; /* in case xstrdup fails */ - -void *xmalloc (size_t num); -char *xstrdup (const char *string); -const char *base_name (const char *name); -char *find_executable (const char *wrapper); -char *chase_symlinks (const char *pathspec); -int make_executable (const char *path); -int check_executable (const char *path); -char *strendzap (char *str, const char *pat); -void lt_debugprintf (const char *file, int line, const char *fmt, ...); -void lt_fatal (const char *file, int line, const char *message, ...); -static const char *nonnull (const char *s); -static const char *nonempty (const char *s); -void lt_setenv (const char *name, const char *value); -char *lt_extend_str (const char *orig_value, const char *add, int to_end); -void lt_update_exe_path (const char *name, const char *value); -void lt_update_lib_path (const char *name, const char *value); -char **prepare_spawn (char **argv); -void lt_dump_script (FILE *f); -EOF - - cat <= 0) - && (st.st_mode & (S_IXUSR | S_IXGRP | S_IXOTH))) - return 1; - else - return 0; -} - -int -make_executable (const char *path) -{ - int rval = 0; - struct stat st; - - lt_debugprintf (__FILE__, __LINE__, "(make_executable): %s\n", - nonempty (path)); - if ((!path) || (!*path)) - return 0; - - if (stat (path, &st) >= 0) - { - rval = chmod (path, st.st_mode | S_IXOTH | S_IXGRP | S_IXUSR); - } - return rval; -} - -/* Searches for the full path of the wrapper. Returns - newly allocated full path name if found, NULL otherwise - Does not chase symlinks, even on platforms that support them. -*/ -char * -find_executable (const char *wrapper) -{ - int has_slash = 0; - const char *p; - const char *p_next; - /* static buffer for getcwd */ - char tmp[LT_PATHMAX + 1]; - int tmp_len; - char *concat_name; - - lt_debugprintf (__FILE__, __LINE__, "(find_executable): %s\n", - nonempty (wrapper)); - - if ((wrapper == NULL) || (*wrapper == '\0')) - return NULL; - - /* Absolute path? */ -#if defined (HAVE_DOS_BASED_FILE_SYSTEM) - if (isalpha ((unsigned char) wrapper[0]) && wrapper[1] == ':') - { - concat_name = xstrdup (wrapper); - if (check_executable (concat_name)) - return concat_name; - XFREE (concat_name); - } - else - { -#endif - if (IS_DIR_SEPARATOR (wrapper[0])) - { - concat_name = xstrdup (wrapper); - if (check_executable (concat_name)) - return concat_name; - XFREE (concat_name); - } -#if defined (HAVE_DOS_BASED_FILE_SYSTEM) - } -#endif - - for (p = wrapper; *p; p++) - if (*p == '/') - { - has_slash = 1; - break; - } - if (!has_slash) - { - /* no slashes; search PATH */ - const char *path = getenv ("PATH"); - if (path != NULL) - { - for (p = path; *p; p = p_next) - { - const char *q; - size_t p_len; - for (q = p; *q; q++) - if (IS_PATH_SEPARATOR (*q)) - break; - p_len = q - p; - p_next = (*q == '\0' ? q : q + 1); - if (p_len == 0) - { - /* empty path: current directory */ - if (getcwd (tmp, LT_PATHMAX) == NULL) - lt_fatal (__FILE__, __LINE__, "getcwd failed: %s", - nonnull (strerror (errno))); - tmp_len = strlen (tmp); - concat_name = - XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1); - memcpy (concat_name, tmp, tmp_len); - concat_name[tmp_len] = '/'; - strcpy (concat_name + tmp_len + 1, wrapper); - } - else - { - concat_name = - XMALLOC (char, p_len + 1 + strlen (wrapper) + 1); - memcpy (concat_name, p, p_len); - concat_name[p_len] = '/'; - strcpy (concat_name + p_len + 1, wrapper); - } - if (check_executable (concat_name)) - return concat_name; - XFREE (concat_name); - } - } - /* not found in PATH; assume curdir */ - } - /* Relative path | not found in path: prepend cwd */ - if (getcwd (tmp, LT_PATHMAX) == NULL) - lt_fatal (__FILE__, __LINE__, "getcwd failed: %s", - nonnull (strerror (errno))); - tmp_len = strlen (tmp); - concat_name = XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1); - memcpy (concat_name, tmp, tmp_len); - concat_name[tmp_len] = '/'; - strcpy (concat_name + tmp_len + 1, wrapper); - - if (check_executable (concat_name)) - return concat_name; - XFREE (concat_name); - return NULL; -} - -char * -chase_symlinks (const char *pathspec) -{ -#ifndef S_ISLNK - return xstrdup (pathspec); -#else - char buf[LT_PATHMAX]; - struct stat s; - char *tmp_pathspec = xstrdup (pathspec); - char *p; - int has_symlinks = 0; - while (strlen (tmp_pathspec) && !has_symlinks) - { - lt_debugprintf (__FILE__, __LINE__, - "checking path component for symlinks: %s\n", - tmp_pathspec); - if (lstat (tmp_pathspec, &s) == 0) - { - if (S_ISLNK (s.st_mode) != 0) - { - has_symlinks = 1; - break; - } - - /* search backwards for last DIR_SEPARATOR */ - p = tmp_pathspec + strlen (tmp_pathspec) - 1; - while ((p > tmp_pathspec) && (!IS_DIR_SEPARATOR (*p))) - p--; - if ((p == tmp_pathspec) && (!IS_DIR_SEPARATOR (*p))) - { - /* no more DIR_SEPARATORS left */ - break; - } - *p = '\0'; - } - else - { - lt_fatal (__FILE__, __LINE__, - "error accessing file \"%s\": %s", - tmp_pathspec, nonnull (strerror (errno))); - } - } - XFREE (tmp_pathspec); - - if (!has_symlinks) - { - return xstrdup (pathspec); - } - - tmp_pathspec = realpath (pathspec, buf); - if (tmp_pathspec == 0) - { - lt_fatal (__FILE__, __LINE__, - "could not follow symlinks for %s", pathspec); - } - return xstrdup (tmp_pathspec); -#endif -} - -char * -strendzap (char *str, const char *pat) -{ - size_t len, patlen; - - assert (str != NULL); - assert (pat != NULL); - - len = strlen (str); - patlen = strlen (pat); - - if (patlen <= len) - { - str += len - patlen; - if (strcmp (str, pat) == 0) - *str = '\0'; - } - return str; -} - -void -lt_debugprintf (const char *file, int line, const char *fmt, ...) -{ - va_list args; - if (lt_debug) - { - (void) fprintf (stderr, "%s:%s:%d: ", program_name, file, line); - va_start (args, fmt); - (void) vfprintf (stderr, fmt, args); - va_end (args); - } -} - -static void -lt_error_core (int exit_status, const char *file, - int line, const char *mode, - const char *message, va_list ap) -{ - fprintf (stderr, "%s:%s:%d: %s: ", program_name, file, line, mode); - vfprintf (stderr, message, ap); - fprintf (stderr, ".\n"); - - if (exit_status >= 0) - exit (exit_status); -} - -void -lt_fatal (const char *file, int line, const char *message, ...) -{ - va_list ap; - va_start (ap, message); - lt_error_core (EXIT_FAILURE, file, line, "FATAL", message, ap); - va_end (ap); -} - -static const char * -nonnull (const char *s) -{ - return s ? s : "(null)"; -} - -static const char * -nonempty (const char *s) -{ - return (s && !*s) ? "(empty)" : nonnull (s); -} - -void -lt_setenv (const char *name, const char *value) -{ - lt_debugprintf (__FILE__, __LINE__, - "(lt_setenv) setting '%s' to '%s'\n", - nonnull (name), nonnull (value)); - { -#ifdef HAVE_SETENV - /* always make a copy, for consistency with !HAVE_SETENV */ - char *str = xstrdup (value); - setenv (name, str, 1); -#else - int len = strlen (name) + 1 + strlen (value) + 1; - char *str = XMALLOC (char, len); - sprintf (str, "%s=%s", name, value); - if (putenv (str) != EXIT_SUCCESS) - { - XFREE (str); - } -#endif - } -} - -char * -lt_extend_str (const char *orig_value, const char *add, int to_end) -{ - char *new_value; - if (orig_value && *orig_value) - { - int orig_value_len = strlen (orig_value); - int add_len = strlen (add); - new_value = XMALLOC (char, add_len + orig_value_len + 1); - if (to_end) - { - strcpy (new_value, orig_value); - strcpy (new_value + orig_value_len, add); - } - else - { - strcpy (new_value, add); - strcpy (new_value + add_len, orig_value); - } - } - else - { - new_value = xstrdup (add); - } - return new_value; -} - -void -lt_update_exe_path (const char *name, const char *value) -{ - lt_debugprintf (__FILE__, __LINE__, - "(lt_update_exe_path) modifying '%s' by prepending '%s'\n", - nonnull (name), nonnull (value)); - - if (name && *name && value && *value) - { - char *new_value = lt_extend_str (getenv (name), value, 0); - /* some systems can't cope with a ':'-terminated path #' */ - int len = strlen (new_value); - while (((len = strlen (new_value)) > 0) && IS_PATH_SEPARATOR (new_value[len-1])) - { - new_value[len-1] = '\0'; - } - lt_setenv (name, new_value); - XFREE (new_value); - } -} - -void -lt_update_lib_path (const char *name, const char *value) -{ - lt_debugprintf (__FILE__, __LINE__, - "(lt_update_lib_path) modifying '%s' by prepending '%s'\n", - nonnull (name), nonnull (value)); - - if (name && *name && value && *value) - { - char *new_value = lt_extend_str (getenv (name), value, 0); - lt_setenv (name, new_value); - XFREE (new_value); - } -} - -EOF - case $host_os in - mingw*) - cat <<"EOF" - -/* Prepares an argument vector before calling spawn(). - Note that spawn() does not by itself call the command interpreter - (getenv ("COMSPEC") != NULL ? getenv ("COMSPEC") : - ({ OSVERSIONINFO v; v.dwOSVersionInfoSize = sizeof(OSVERSIONINFO); - GetVersionEx(&v); - v.dwPlatformId == VER_PLATFORM_WIN32_NT; - }) ? "cmd.exe" : "command.com"). - Instead it simply concatenates the arguments, separated by ' ', and calls - CreateProcess(). We must quote the arguments since Win32 CreateProcess() - interprets characters like ' ', '\t', '\\', '"' (but not '<' and '>') in a - special way: - - Space and tab are interpreted as delimiters. They are not treated as - delimiters if they are surrounded by double quotes: "...". - - Unescaped double quotes are removed from the input. Their only effect is - that within double quotes, space and tab are treated like normal - characters. - - Backslashes not followed by double quotes are not special. - - But 2*n+1 backslashes followed by a double quote become - n backslashes followed by a double quote (n >= 0): - \" -> " - \\\" -> \" - \\\\\" -> \\" - */ -#define SHELL_SPECIAL_CHARS "\"\\ \001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037" -#define SHELL_SPACE_CHARS " \001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037" -char ** -prepare_spawn (char **argv) -{ - size_t argc; - char **new_argv; - size_t i; - - /* Count number of arguments. */ - for (argc = 0; argv[argc] != NULL; argc++) - ; - - /* Allocate new argument vector. */ - new_argv = XMALLOC (char *, argc + 1); - - /* Put quoted arguments into the new argument vector. */ - for (i = 0; i < argc; i++) - { - const char *string = argv[i]; - - if (string[0] == '\0') - new_argv[i] = xstrdup ("\"\""); - else if (strpbrk (string, SHELL_SPECIAL_CHARS) != NULL) - { - int quote_around = (strpbrk (string, SHELL_SPACE_CHARS) != NULL); - size_t length; - unsigned int backslashes; - const char *s; - char *quoted_string; - char *p; - - length = 0; - backslashes = 0; - if (quote_around) - length++; - for (s = string; *s != '\0'; s++) - { - char c = *s; - if (c == '"') - length += backslashes + 1; - length++; - if (c == '\\') - backslashes++; - else - backslashes = 0; - } - if (quote_around) - length += backslashes + 1; - - quoted_string = XMALLOC (char, length + 1); - - p = quoted_string; - backslashes = 0; - if (quote_around) - *p++ = '"'; - for (s = string; *s != '\0'; s++) - { - char c = *s; - if (c == '"') - { - unsigned int j; - for (j = backslashes + 1; j > 0; j--) - *p++ = '\\'; - } - *p++ = c; - if (c == '\\') - backslashes++; - else - backslashes = 0; - } - if (quote_around) - { - unsigned int j; - for (j = backslashes; j > 0; j--) - *p++ = '\\'; - *p++ = '"'; - } - *p = '\0'; - - new_argv[i] = quoted_string; - } - else - new_argv[i] = (char *) string; - } - new_argv[argc] = NULL; - - return new_argv; -} -EOF - ;; - esac - - cat <<"EOF" -void lt_dump_script (FILE* f) -{ -EOF - func_emit_wrapper yes | - $SED -n -e ' -s/^\(.\{79\}\)\(..*\)/\1\ -\2/ -h -s/\([\\"]\)/\\\1/g -s/$/\\n/ -s/\([^\n]*\).*/ fputs ("\1", f);/p -g -D' - cat <<"EOF" -} -EOF -} -# end: func_emit_cwrapperexe_src - -# func_win32_import_lib_p ARG -# True if ARG is an import lib, as indicated by $file_magic_cmd -func_win32_import_lib_p () -{ - $opt_debug - case `eval $file_magic_cmd \"\$1\" 2>/dev/null | $SED -e 10q` in - *import*) : ;; - *) false ;; - esac -} - -# func_mode_link arg... -func_mode_link () -{ - $opt_debug - case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) - # It is impossible to link a dll without this setting, and - # we shouldn't force the makefile maintainer to figure out - # which system we are compiling for in order to pass an extra - # flag for every libtool invocation. - # allow_undefined=no - - # FIXME: Unfortunately, there are problems with the above when trying - # to make a dll which has undefined symbols, in which case not - # even a static library is built. For now, we need to specify - # -no-undefined on the libtool link line when we can be certain - # that all symbols are satisfied, otherwise we get a static library. - allow_undefined=yes - ;; - *) - allow_undefined=yes - ;; - esac - libtool_args=$nonopt - base_compile="$nonopt $@" - compile_command=$nonopt - finalize_command=$nonopt - - compile_rpath= - finalize_rpath= - compile_shlibpath= - finalize_shlibpath= - convenience= - old_convenience= - deplibs= - old_deplibs= - compiler_flags= - linker_flags= - dllsearchpath= - lib_search_path=`pwd` - inst_prefix_dir= - new_inherited_linker_flags= - - avoid_version=no - bindir= - dlfiles= - dlprefiles= - dlself=no - export_dynamic=no - export_symbols= - export_symbols_regex= - generated= - libobjs= - ltlibs= - module=no - no_install=no - objs= - non_pic_objects= - precious_files_regex= - prefer_static_libs=no - preload=no - prev= - prevarg= - release= - rpath= - xrpath= - perm_rpath= - temp_rpath= - thread_safe=no - vinfo= - vinfo_number=no - weak_libs= - single_module="${wl}-single_module" - func_infer_tag $base_compile - - # We need to know -static, to get the right output filenames. - for arg - do - case $arg in - -shared) - test "$build_libtool_libs" != yes && \ - func_fatal_configuration "can not build a shared library" - build_old_libs=no - break - ;; - -all-static | -static | -static-libtool-libs) - case $arg in - -all-static) - if test "$build_libtool_libs" = yes && test -z "$link_static_flag"; then - func_warning "complete static linking is impossible in this configuration" - fi - if test -n "$link_static_flag"; then - dlopen_self=$dlopen_self_static - fi - prefer_static_libs=yes - ;; - -static) - if test -z "$pic_flag" && test -n "$link_static_flag"; then - dlopen_self=$dlopen_self_static - fi - prefer_static_libs=built - ;; - -static-libtool-libs) - if test -z "$pic_flag" && test -n "$link_static_flag"; then - dlopen_self=$dlopen_self_static - fi - prefer_static_libs=yes - ;; - esac - build_libtool_libs=no - build_old_libs=yes - break - ;; - esac - done - - # See if our shared archives depend on static archives. - test -n "$old_archive_from_new_cmds" && build_old_libs=yes - - # Go through the arguments, transforming them on the way. - while test "$#" -gt 0; do - arg="$1" - shift - func_quote_for_eval "$arg" - qarg=$func_quote_for_eval_unquoted_result - libtool_args+=" $func_quote_for_eval_result" - - # If the previous option needs an argument, assign it. - if test -n "$prev"; then - case $prev in - output) - compile_command+=" @OUTPUT@" - finalize_command+=" @OUTPUT@" - ;; - esac - - case $prev in - bindir) - bindir="$arg" - prev= - continue - ;; - dlfiles|dlprefiles) - if test "$preload" = no; then - # Add the symbol object into the linking commands. - compile_command+=" @SYMFILE@" - finalize_command+=" @SYMFILE@" - preload=yes - fi - case $arg in - *.la | *.lo) ;; # We handle these cases below. - force) - if test "$dlself" = no; then - dlself=needless - export_dynamic=yes - fi - prev= - continue - ;; - self) - if test "$prev" = dlprefiles; then - dlself=yes - elif test "$prev" = dlfiles && test "$dlopen_self" != yes; then - dlself=yes - else - dlself=needless - export_dynamic=yes - fi - prev= - continue - ;; - *) - if test "$prev" = dlfiles; then - dlfiles+=" $arg" - else - dlprefiles+=" $arg" - fi - prev= - continue - ;; - esac - ;; - expsyms) - export_symbols="$arg" - test -f "$arg" \ - || func_fatal_error "symbol file \`$arg' does not exist" - prev= - continue - ;; - expsyms_regex) - export_symbols_regex="$arg" - prev= - continue - ;; - framework) - case $host in - *-*-darwin*) - case "$deplibs " in - *" $qarg.ltframework "*) ;; - *) deplibs+=" $qarg.ltframework" # this is fixed later - ;; - esac - ;; - esac - prev= - continue - ;; - inst_prefix) - inst_prefix_dir="$arg" - prev= - continue - ;; - objectlist) - if test -f "$arg"; then - save_arg=$arg - moreargs= - for fil in `cat "$save_arg"` - do -# moreargs+=" $fil" - arg=$fil - # A libtool-controlled object. - - # Check to see that this really is a libtool object. - if func_lalib_unsafe_p "$arg"; then - pic_object= - non_pic_object= - - # Read the .lo file - func_source "$arg" - - if test -z "$pic_object" || - test -z "$non_pic_object" || - test "$pic_object" = none && - test "$non_pic_object" = none; then - func_fatal_error "cannot find name of object for \`$arg'" - fi - - # Extract subdirectory from the argument. - func_dirname "$arg" "/" "" - xdir="$func_dirname_result" - - if test "$pic_object" != none; then - # Prepend the subdirectory the object is found in. - pic_object="$xdir$pic_object" - - if test "$prev" = dlfiles; then - if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then - dlfiles+=" $pic_object" - prev= - continue - else - # If libtool objects are unsupported, then we need to preload. - prev=dlprefiles - fi - fi - - # CHECK ME: I think I busted this. -Ossama - if test "$prev" = dlprefiles; then - # Preload the old-style object. - dlprefiles+=" $pic_object" - prev= - fi - - # A PIC object. - libobjs+=" $pic_object" - arg="$pic_object" - fi - - # Non-PIC object. - if test "$non_pic_object" != none; then - # Prepend the subdirectory the object is found in. - non_pic_object="$xdir$non_pic_object" - - # A standard non-PIC object - non_pic_objects+=" $non_pic_object" - if test -z "$pic_object" || test "$pic_object" = none ; then - arg="$non_pic_object" - fi - else - # If the PIC object exists, use it instead. - # $xdir was prepended to $pic_object above. - non_pic_object="$pic_object" - non_pic_objects+=" $non_pic_object" - fi - else - # Only an error if not doing a dry-run. - if $opt_dry_run; then - # Extract subdirectory from the argument. - func_dirname "$arg" "/" "" - xdir="$func_dirname_result" - - func_lo2o "$arg" - pic_object=$xdir$objdir/$func_lo2o_result - non_pic_object=$xdir$func_lo2o_result - libobjs+=" $pic_object" - non_pic_objects+=" $non_pic_object" - else - func_fatal_error "\`$arg' is not a valid libtool object" - fi - fi - done - else - func_fatal_error "link input file \`$arg' does not exist" - fi - arg=$save_arg - prev= - continue - ;; - precious_regex) - precious_files_regex="$arg" - prev= - continue - ;; - release) - release="-$arg" - prev= - continue - ;; - rpath | xrpath) - # We need an absolute path. - case $arg in - [\\/]* | [A-Za-z]:[\\/]*) ;; - *) - func_fatal_error "only absolute run-paths are allowed" - ;; - esac - if test "$prev" = rpath; then - case "$rpath " in - *" $arg "*) ;; - *) rpath+=" $arg" ;; - esac - else - case "$xrpath " in - *" $arg "*) ;; - *) xrpath+=" $arg" ;; - esac - fi - prev= - continue - ;; - shrext) - shrext_cmds="$arg" - prev= - continue - ;; - weak) - weak_libs+=" $arg" - prev= - continue - ;; - xcclinker) - linker_flags+=" $qarg" - compiler_flags+=" $qarg" - prev= - compile_command+=" $qarg" - finalize_command+=" $qarg" - continue - ;; - xcompiler) - compiler_flags+=" $qarg" - prev= - compile_command+=" $qarg" - finalize_command+=" $qarg" - continue - ;; - xlinker) - linker_flags+=" $qarg" - compiler_flags+=" $wl$qarg" - prev= - compile_command+=" $wl$qarg" - finalize_command+=" $wl$qarg" - continue - ;; - *) - eval "$prev=\"\$arg\"" - prev= - continue - ;; - esac - fi # test -n "$prev" - - prevarg="$arg" - - case $arg in - -all-static) - if test -n "$link_static_flag"; then - # See comment for -static flag below, for more details. - compile_command+=" $link_static_flag" - finalize_command+=" $link_static_flag" - fi - continue - ;; - - -allow-undefined) - # FIXME: remove this flag sometime in the future. - func_fatal_error "\`-allow-undefined' must not be used because it is the default" - ;; - - -avoid-version) - avoid_version=yes - continue - ;; - - -bindir) - prev=bindir - continue - ;; - - -dlopen) - prev=dlfiles - continue - ;; - - -dlpreopen) - prev=dlprefiles - continue - ;; - - -export-dynamic) - export_dynamic=yes - continue - ;; - - -export-symbols | -export-symbols-regex) - if test -n "$export_symbols" || test -n "$export_symbols_regex"; then - func_fatal_error "more than one -exported-symbols argument is not allowed" - fi - if test "X$arg" = "X-export-symbols"; then - prev=expsyms - else - prev=expsyms_regex - fi - continue - ;; - - -framework) - prev=framework - continue - ;; - - -inst-prefix-dir) - prev=inst_prefix - continue - ;; - - # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:* - # so, if we see these flags be careful not to treat them like -L - -L[A-Z][A-Z]*:*) - case $with_gcc/$host in - no/*-*-irix* | /*-*-irix*) - compile_command+=" $arg" - finalize_command+=" $arg" - ;; - esac - continue - ;; - - -L*) - func_stripname "-L" '' "$arg" - if test -z "$func_stripname_result"; then - if test "$#" -gt 0; then - func_fatal_error "require no space between \`-L' and \`$1'" - else - func_fatal_error "need path for \`-L' option" - fi - fi - func_resolve_sysroot "$func_stripname_result" - dir=$func_resolve_sysroot_result - # We need an absolute path. - case $dir in - [\\/]* | [A-Za-z]:[\\/]*) ;; - *) - absdir=`cd "$dir" && pwd` - test -z "$absdir" && \ - func_fatal_error "cannot determine absolute directory name of \`$dir'" - dir="$absdir" - ;; - esac - case "$deplibs " in - *" -L$dir "* | *" $arg "*) - # Will only happen for absolute or sysroot arguments - ;; - *) - # Preserve sysroot, but never include relative directories - case $dir in - [\\/]* | [A-Za-z]:[\\/]* | =*) deplibs+=" $arg" ;; - *) deplibs+=" -L$dir" ;; - esac - lib_search_path+=" $dir" - ;; - esac - case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) - testbindir=`$ECHO "$dir" | $SED 's*/lib$*/bin*'` - case :$dllsearchpath: in - *":$dir:"*) ;; - ::) dllsearchpath=$dir;; - *) dllsearchpath+=":$dir";; - esac - case :$dllsearchpath: in - *":$testbindir:"*) ;; - ::) dllsearchpath=$testbindir;; - *) dllsearchpath+=":$testbindir";; - esac - ;; - esac - continue - ;; - - -l*) - if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then - case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos* | *-cegcc* | *-*-haiku*) - # These systems don't actually have a C or math library (as such) - continue - ;; - *-*-os2*) - # These systems don't actually have a C library (as such) - test "X$arg" = "X-lc" && continue - ;; - *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) - # Do not include libc due to us having libc/libc_r. - test "X$arg" = "X-lc" && continue - ;; - *-*-rhapsody* | *-*-darwin1.[012]) - # Rhapsody C and math libraries are in the System framework - deplibs+=" System.ltframework" - continue - ;; - *-*-sco3.2v5* | *-*-sco5v6*) - # Causes problems with __ctype - test "X$arg" = "X-lc" && continue - ;; - *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) - # Compiler inserts libc in the correct place for threads to work - test "X$arg" = "X-lc" && continue - ;; - esac - elif test "X$arg" = "X-lc_r"; then - case $host in - *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) - # Do not include libc_r directly, use -pthread flag. - continue - ;; - esac - fi - deplibs+=" $arg" - continue - ;; - - -module) - module=yes - continue - ;; - - # Tru64 UNIX uses -model [arg] to determine the layout of C++ - # classes, name mangling, and exception handling. - # Darwin uses the -arch flag to determine output architecture. - -model|-arch|-isysroot|--sysroot) - compiler_flags+=" $arg" - compile_command+=" $arg" - finalize_command+=" $arg" - prev=xcompiler - continue - ;; - - -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe \ - |-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*) - compiler_flags+=" $arg" - compile_command+=" $arg" - finalize_command+=" $arg" - case "$new_inherited_linker_flags " in - *" $arg "*) ;; - * ) new_inherited_linker_flags+=" $arg" ;; - esac - continue - ;; - - -multi_module) - single_module="${wl}-multi_module" - continue - ;; - - -no-fast-install) - fast_install=no - continue - ;; - - -no-install) - case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-darwin* | *-cegcc*) - # The PATH hackery in wrapper scripts is required on Windows - # and Darwin in order for the loader to find any dlls it needs. - func_warning "\`-no-install' is ignored for $host" - func_warning "assuming \`-no-fast-install' instead" - fast_install=no - ;; - *) no_install=yes ;; - esac - continue - ;; - - -no-undefined) - allow_undefined=no - continue - ;; - - -objectlist) - prev=objectlist - continue - ;; - - -o) prev=output ;; - - -precious-files-regex) - prev=precious_regex - continue - ;; - - -release) - prev=release - continue - ;; - - -rpath) - prev=rpath - continue - ;; - - -R) - prev=xrpath - continue - ;; - - -R*) - func_stripname '-R' '' "$arg" - dir=$func_stripname_result - # We need an absolute path. - case $dir in - [\\/]* | [A-Za-z]:[\\/]*) ;; - =*) - func_stripname '=' '' "$dir" - dir=$lt_sysroot$func_stripname_result - ;; - *) - func_fatal_error "only absolute run-paths are allowed" - ;; - esac - case "$xrpath " in - *" $dir "*) ;; - *) xrpath+=" $dir" ;; - esac - continue - ;; - - -shared) - # The effects of -shared are defined in a previous loop. - continue - ;; - - -shrext) - prev=shrext - continue - ;; - - -static | -static-libtool-libs) - # The effects of -static are defined in a previous loop. - # We used to do the same as -all-static on platforms that - # didn't have a PIC flag, but the assumption that the effects - # would be equivalent was wrong. It would break on at least - # Digital Unix and AIX. - continue - ;; - - -thread-safe) - thread_safe=yes - continue - ;; - - -version-info) - prev=vinfo - continue - ;; - - -version-number) - prev=vinfo - vinfo_number=yes - continue - ;; - - -weak) - prev=weak - continue - ;; - - -Wc,*) - func_stripname '-Wc,' '' "$arg" - args=$func_stripname_result - arg= - save_ifs="$IFS"; IFS=',' - for flag in $args; do - IFS="$save_ifs" - func_quote_for_eval "$flag" - arg+=" $func_quote_for_eval_result" - compiler_flags+=" $func_quote_for_eval_result" - done - IFS="$save_ifs" - func_stripname ' ' '' "$arg" - arg=$func_stripname_result - ;; - - -Wl,*) - func_stripname '-Wl,' '' "$arg" - args=$func_stripname_result - arg= - save_ifs="$IFS"; IFS=',' - for flag in $args; do - IFS="$save_ifs" - func_quote_for_eval "$flag" - arg+=" $wl$func_quote_for_eval_result" - compiler_flags+=" $wl$func_quote_for_eval_result" - linker_flags+=" $func_quote_for_eval_result" - done - IFS="$save_ifs" - func_stripname ' ' '' "$arg" - arg=$func_stripname_result - ;; - - -Xcompiler) - prev=xcompiler - continue - ;; - - -Xlinker) - prev=xlinker - continue - ;; - - -XCClinker) - prev=xcclinker - continue - ;; - - # -msg_* for osf cc - -msg_*) - func_quote_for_eval "$arg" - arg="$func_quote_for_eval_result" - ;; - - # Flags to be passed through unchanged, with rationale: - # -64, -mips[0-9] enable 64-bit mode for the SGI compiler - # -r[0-9][0-9]* specify processor for the SGI compiler - # -xarch=*, -xtarget=* enable 64-bit mode for the Sun compiler - # +DA*, +DD* enable 64-bit mode for the HP compiler - # -q* compiler args for the IBM compiler - # -m*, -t[45]*, -txscale* architecture-specific flags for GCC - # -F/path path to uninstalled frameworks, gcc on darwin - # -p, -pg, --coverage, -fprofile-* profiling flags for GCC - # @file GCC response files - # -tp=* Portland pgcc target processor selection - # --sysroot=* for sysroot support - # -O*, -flto*, -fwhopr*, -fuse-linker-plugin GCC link-time optimization - -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \ - -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \ - -O*|-flto*|-fwhopr*|-fuse-linker-plugin) - func_quote_for_eval "$arg" - arg="$func_quote_for_eval_result" - compile_command+=" $arg" - finalize_command+=" $arg" - compiler_flags+=" $arg" - continue - ;; - - # Some other compiler flag. - -* | +*) - func_quote_for_eval "$arg" - arg="$func_quote_for_eval_result" - ;; - - *.$objext) - # A standard object. - objs+=" $arg" - ;; - - *.lo) - # A libtool-controlled object. - - # Check to see that this really is a libtool object. - if func_lalib_unsafe_p "$arg"; then - pic_object= - non_pic_object= - - # Read the .lo file - func_source "$arg" - - if test -z "$pic_object" || - test -z "$non_pic_object" || - test "$pic_object" = none && - test "$non_pic_object" = none; then - func_fatal_error "cannot find name of object for \`$arg'" - fi - - # Extract subdirectory from the argument. - func_dirname "$arg" "/" "" - xdir="$func_dirname_result" - - if test "$pic_object" != none; then - # Prepend the subdirectory the object is found in. - pic_object="$xdir$pic_object" - - if test "$prev" = dlfiles; then - if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then - dlfiles+=" $pic_object" - prev= - continue - else - # If libtool objects are unsupported, then we need to preload. - prev=dlprefiles - fi - fi - - # CHECK ME: I think I busted this. -Ossama - if test "$prev" = dlprefiles; then - # Preload the old-style object. - dlprefiles+=" $pic_object" - prev= - fi - - # A PIC object. - libobjs+=" $pic_object" - arg="$pic_object" - fi - - # Non-PIC object. - if test "$non_pic_object" != none; then - # Prepend the subdirectory the object is found in. - non_pic_object="$xdir$non_pic_object" - - # A standard non-PIC object - non_pic_objects+=" $non_pic_object" - if test -z "$pic_object" || test "$pic_object" = none ; then - arg="$non_pic_object" - fi - else - # If the PIC object exists, use it instead. - # $xdir was prepended to $pic_object above. - non_pic_object="$pic_object" - non_pic_objects+=" $non_pic_object" - fi - else - # Only an error if not doing a dry-run. - if $opt_dry_run; then - # Extract subdirectory from the argument. - func_dirname "$arg" "/" "" - xdir="$func_dirname_result" - - func_lo2o "$arg" - pic_object=$xdir$objdir/$func_lo2o_result - non_pic_object=$xdir$func_lo2o_result - libobjs+=" $pic_object" - non_pic_objects+=" $non_pic_object" - else - func_fatal_error "\`$arg' is not a valid libtool object" - fi - fi - ;; - - *.$libext) - # An archive. - deplibs+=" $arg" - old_deplibs+=" $arg" - continue - ;; - - *.la) - # A libtool-controlled library. - - func_resolve_sysroot "$arg" - if test "$prev" = dlfiles; then - # This library was specified with -dlopen. - dlfiles+=" $func_resolve_sysroot_result" - prev= - elif test "$prev" = dlprefiles; then - # The library was specified with -dlpreopen. - dlprefiles+=" $func_resolve_sysroot_result" - prev= - else - deplibs+=" $func_resolve_sysroot_result" - fi - continue - ;; - - # Some other compiler argument. - *) - # Unknown arguments in both finalize_command and compile_command need - # to be aesthetically quoted because they are evaled later. - func_quote_for_eval "$arg" - arg="$func_quote_for_eval_result" - ;; - esac # arg - - # Now actually substitute the argument into the commands. - if test -n "$arg"; then - compile_command+=" $arg" - finalize_command+=" $arg" - fi - done # argument parsing loop - - test -n "$prev" && \ - func_fatal_help "the \`$prevarg' option requires an argument" - - if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then - eval arg=\"$export_dynamic_flag_spec\" - compile_command+=" $arg" - finalize_command+=" $arg" - fi - - oldlibs= - # calculate the name of the file, without its directory - func_basename "$output" - outputname="$func_basename_result" - libobjs_save="$libobjs" - - if test -n "$shlibpath_var"; then - # get the directories listed in $shlibpath_var - eval shlib_search_path=\`\$ECHO \"\${$shlibpath_var}\" \| \$SED \'s/:/ /g\'\` - else - shlib_search_path= - fi - eval sys_lib_search_path=\"$sys_lib_search_path_spec\" - eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\" - - func_dirname "$output" "/" "" - output_objdir="$func_dirname_result$objdir" - func_to_tool_file "$output_objdir/" - tool_output_objdir=$func_to_tool_file_result - # Create the object directory. - func_mkdir_p "$output_objdir" - - # Determine the type of output - case $output in - "") - func_fatal_help "you must specify an output file" - ;; - *.$libext) linkmode=oldlib ;; - *.lo | *.$objext) linkmode=obj ;; - *.la) linkmode=lib ;; - *) linkmode=prog ;; # Anything else should be a program. - esac - - specialdeplibs= - - libs= - # Find all interdependent deplibs by searching for libraries - # that are linked more than once (e.g. -la -lb -la) - for deplib in $deplibs; do - if $opt_preserve_dup_deps ; then - case "$libs " in - *" $deplib "*) specialdeplibs+=" $deplib" ;; - esac - fi - libs+=" $deplib" - done - - if test "$linkmode" = lib; then - libs="$predeps $libs $compiler_lib_search_path $postdeps" - - # Compute libraries that are listed more than once in $predeps - # $postdeps and mark them as special (i.e., whose duplicates are - # not to be eliminated). - pre_post_deps= - if $opt_duplicate_compiler_generated_deps; then - for pre_post_dep in $predeps $postdeps; do - case "$pre_post_deps " in - *" $pre_post_dep "*) specialdeplibs+=" $pre_post_deps" ;; - esac - pre_post_deps+=" $pre_post_dep" - done - fi - pre_post_deps= - fi - - deplibs= - newdependency_libs= - newlib_search_path= - need_relink=no # whether we're linking any uninstalled libtool libraries - notinst_deplibs= # not-installed libtool libraries - notinst_path= # paths that contain not-installed libtool libraries - - case $linkmode in - lib) - passes="conv dlpreopen link" - for file in $dlfiles $dlprefiles; do - case $file in - *.la) ;; - *) - func_fatal_help "libraries can \`-dlopen' only libtool libraries: $file" - ;; - esac - done - ;; - prog) - compile_deplibs= - finalize_deplibs= - alldeplibs=no - newdlfiles= - newdlprefiles= - passes="conv scan dlopen dlpreopen link" - ;; - *) passes="conv" - ;; - esac - - for pass in $passes; do - # The preopen pass in lib mode reverses $deplibs; put it back here - # so that -L comes before libs that need it for instance... - if test "$linkmode,$pass" = "lib,link"; then - ## FIXME: Find the place where the list is rebuilt in the wrong - ## order, and fix it there properly - tmp_deplibs= - for deplib in $deplibs; do - tmp_deplibs="$deplib $tmp_deplibs" - done - deplibs="$tmp_deplibs" - fi - - if test "$linkmode,$pass" = "lib,link" || - test "$linkmode,$pass" = "prog,scan"; then - libs="$deplibs" - deplibs= - fi - if test "$linkmode" = prog; then - case $pass in - dlopen) libs="$dlfiles" ;; - dlpreopen) libs="$dlprefiles" ;; - link) - libs="$deplibs %DEPLIBS%" - test "X$link_all_deplibs" != Xno && libs="$libs $dependency_libs" - ;; - esac - fi - if test "$linkmode,$pass" = "lib,dlpreopen"; then - # Collect and forward deplibs of preopened libtool libs - for lib in $dlprefiles; do - # Ignore non-libtool-libs - dependency_libs= - func_resolve_sysroot "$lib" - case $lib in - *.la) func_source "$func_resolve_sysroot_result" ;; - esac - - # Collect preopened libtool deplibs, except any this library - # has declared as weak libs - for deplib in $dependency_libs; do - func_basename "$deplib" - deplib_base=$func_basename_result - case " $weak_libs " in - *" $deplib_base "*) ;; - *) deplibs+=" $deplib" ;; - esac - done - done - libs="$dlprefiles" - fi - if test "$pass" = dlopen; then - # Collect dlpreopened libraries - save_deplibs="$deplibs" - deplibs= - fi - - for deplib in $libs; do - lib= - found=no - case $deplib in - -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe \ - |-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*) - if test "$linkmode,$pass" = "prog,link"; then - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - else - compiler_flags+=" $deplib" - if test "$linkmode" = lib ; then - case "$new_inherited_linker_flags " in - *" $deplib "*) ;; - * ) new_inherited_linker_flags+=" $deplib" ;; - esac - fi - fi - continue - ;; - -l*) - if test "$linkmode" != lib && test "$linkmode" != prog; then - func_warning "\`-l' is ignored for archives/objects" - continue - fi - func_stripname '-l' '' "$deplib" - name=$func_stripname_result - if test "$linkmode" = lib; then - searchdirs="$newlib_search_path $lib_search_path $compiler_lib_search_dirs $sys_lib_search_path $shlib_search_path" - else - searchdirs="$newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path" - fi - for searchdir in $searchdirs; do - for search_ext in .la $std_shrext .so .a; do - # Search the libtool library - lib="$searchdir/lib${name}${search_ext}" - if test -f "$lib"; then - if test "$search_ext" = ".la"; then - found=yes - else - found=no - fi - break 2 - fi - done - done - if test "$found" != yes; then - # deplib doesn't seem to be a libtool library - if test "$linkmode,$pass" = "prog,link"; then - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - else - deplibs="$deplib $deplibs" - test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs" - fi - continue - else # deplib is a libtool library - # If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib, - # We need to do some special things here, and not later. - if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then - case " $predeps $postdeps " in - *" $deplib "*) - if func_lalib_p "$lib"; then - library_names= - old_library= - func_source "$lib" - for l in $old_library $library_names; do - ll="$l" - done - if test "X$ll" = "X$old_library" ; then # only static version available - found=no - func_dirname "$lib" "" "." - ladir="$func_dirname_result" - lib=$ladir/$old_library - if test "$linkmode,$pass" = "prog,link"; then - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - else - deplibs="$deplib $deplibs" - test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs" - fi - continue - fi - fi - ;; - *) ;; - esac - fi - fi - ;; # -l - *.ltframework) - if test "$linkmode,$pass" = "prog,link"; then - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - else - deplibs="$deplib $deplibs" - if test "$linkmode" = lib ; then - case "$new_inherited_linker_flags " in - *" $deplib "*) ;; - * ) new_inherited_linker_flags+=" $deplib" ;; - esac - fi - fi - continue - ;; - -L*) - case $linkmode in - lib) - deplibs="$deplib $deplibs" - test "$pass" = conv && continue - newdependency_libs="$deplib $newdependency_libs" - func_stripname '-L' '' "$deplib" - func_resolve_sysroot "$func_stripname_result" - newlib_search_path+=" $func_resolve_sysroot_result" - ;; - prog) - if test "$pass" = conv; then - deplibs="$deplib $deplibs" - continue - fi - if test "$pass" = scan; then - deplibs="$deplib $deplibs" - else - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - fi - func_stripname '-L' '' "$deplib" - func_resolve_sysroot "$func_stripname_result" - newlib_search_path+=" $func_resolve_sysroot_result" - ;; - *) - func_warning "\`-L' is ignored for archives/objects" - ;; - esac # linkmode - continue - ;; # -L - -R*) - if test "$pass" = link; then - func_stripname '-R' '' "$deplib" - func_resolve_sysroot "$func_stripname_result" - dir=$func_resolve_sysroot_result - # Make sure the xrpath contains only unique directories. - case "$xrpath " in - *" $dir "*) ;; - *) xrpath+=" $dir" ;; - esac - fi - deplibs="$deplib $deplibs" - continue - ;; - *.la) - func_resolve_sysroot "$deplib" - lib=$func_resolve_sysroot_result - ;; - *.$libext) - if test "$pass" = conv; then - deplibs="$deplib $deplibs" - continue - fi - case $linkmode in - lib) - # Linking convenience modules into shared libraries is allowed, - # but linking other static libraries is non-portable. - case " $dlpreconveniencelibs " in - *" $deplib "*) ;; - *) - valid_a_lib=no - case $deplibs_check_method in - match_pattern*) - set dummy $deplibs_check_method; shift - match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"` - if eval "\$ECHO \"$deplib\"" 2>/dev/null | $SED 10q \ - | $EGREP "$match_pattern_regex" > /dev/null; then - valid_a_lib=yes - fi - ;; - pass_all) - valid_a_lib=yes - ;; - esac - if test "$valid_a_lib" != yes; then - echo - $ECHO "*** Warning: Trying to link with static lib archive $deplib." - echo "*** I have the capability to make that library automatically link in when" - echo "*** you link to this library. But I can only do this if you have a" - echo "*** shared version of the library, which you do not appear to have" - echo "*** because the file extensions .$libext of this argument makes me believe" - echo "*** that it is just a static archive that I should not use here." - else - echo - $ECHO "*** Warning: Linking the shared library $output against the" - $ECHO "*** static library $deplib is not portable!" - deplibs="$deplib $deplibs" - fi - ;; - esac - continue - ;; - prog) - if test "$pass" != link; then - deplibs="$deplib $deplibs" - else - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - fi - continue - ;; - esac # linkmode - ;; # *.$libext - *.lo | *.$objext) - if test "$pass" = conv; then - deplibs="$deplib $deplibs" - elif test "$linkmode" = prog; then - if test "$pass" = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then - # If there is no dlopen support or we're linking statically, - # we need to preload. - newdlprefiles+=" $deplib" - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - else - newdlfiles+=" $deplib" - fi - fi - continue - ;; - %DEPLIBS%) - alldeplibs=yes - continue - ;; - esac # case $deplib - - if test "$found" = yes || test -f "$lib"; then : - else - func_fatal_error "cannot find the library \`$lib' or unhandled argument \`$deplib'" - fi - - # Check to see that this really is a libtool archive. - func_lalib_unsafe_p "$lib" \ - || func_fatal_error "\`$lib' is not a valid libtool archive" - - func_dirname "$lib" "" "." - ladir="$func_dirname_result" - - dlname= - dlopen= - dlpreopen= - libdir= - library_names= - old_library= - inherited_linker_flags= - # If the library was installed with an old release of libtool, - # it will not redefine variables installed, or shouldnotlink - installed=yes - shouldnotlink=no - avoidtemprpath= - - - # Read the .la file - func_source "$lib" - - # Convert "-framework foo" to "foo.ltframework" - if test -n "$inherited_linker_flags"; then - tmp_inherited_linker_flags=`$ECHO "$inherited_linker_flags" | $SED 's/-framework \([^ $]*\)/\1.ltframework/g'` - for tmp_inherited_linker_flag in $tmp_inherited_linker_flags; do - case " $new_inherited_linker_flags " in - *" $tmp_inherited_linker_flag "*) ;; - *) new_inherited_linker_flags+=" $tmp_inherited_linker_flag";; - esac - done - fi - dependency_libs=`$ECHO " $dependency_libs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` - if test "$linkmode,$pass" = "lib,link" || - test "$linkmode,$pass" = "prog,scan" || - { test "$linkmode" != prog && test "$linkmode" != lib; }; then - test -n "$dlopen" && dlfiles+=" $dlopen" - test -n "$dlpreopen" && dlprefiles+=" $dlpreopen" - fi - - if test "$pass" = conv; then - # Only check for convenience libraries - deplibs="$lib $deplibs" - if test -z "$libdir"; then - if test -z "$old_library"; then - func_fatal_error "cannot find name of link library for \`$lib'" - fi - # It is a libtool convenience library, so add in its objects. - convenience+=" $ladir/$objdir/$old_library" - old_convenience+=" $ladir/$objdir/$old_library" - tmp_libs= - for deplib in $dependency_libs; do - deplibs="$deplib $deplibs" - if $opt_preserve_dup_deps ; then - case "$tmp_libs " in - *" $deplib "*) specialdeplibs+=" $deplib" ;; - esac - fi - tmp_libs+=" $deplib" - done - elif test "$linkmode" != prog && test "$linkmode" != lib; then - func_fatal_error "\`$lib' is not a convenience library" - fi - continue - fi # $pass = conv - - - # Get the name of the library we link against. - linklib= - if test -n "$old_library" && - { test "$prefer_static_libs" = yes || - test "$prefer_static_libs,$installed" = "built,no"; }; then - linklib=$old_library - else - for l in $old_library $library_names; do - linklib="$l" - done - fi - if test -z "$linklib"; then - func_fatal_error "cannot find name of link library for \`$lib'" - fi - - # This library was specified with -dlopen. - if test "$pass" = dlopen; then - if test -z "$libdir"; then - func_fatal_error "cannot -dlopen a convenience library: \`$lib'" - fi - if test -z "$dlname" || - test "$dlopen_support" != yes || - test "$build_libtool_libs" = no; then - # If there is no dlname, no dlopen support or we're linking - # statically, we need to preload. We also need to preload any - # dependent libraries so libltdl's deplib preloader doesn't - # bomb out in the load deplibs phase. - dlprefiles+=" $lib $dependency_libs" - else - newdlfiles+=" $lib" - fi - continue - fi # $pass = dlopen - - # We need an absolute path. - case $ladir in - [\\/]* | [A-Za-z]:[\\/]*) abs_ladir="$ladir" ;; - *) - abs_ladir=`cd "$ladir" && pwd` - if test -z "$abs_ladir"; then - func_warning "cannot determine absolute directory name of \`$ladir'" - func_warning "passing it literally to the linker, although it might fail" - abs_ladir="$ladir" - fi - ;; - esac - func_basename "$lib" - laname="$func_basename_result" - - # Find the relevant object directory and library name. - if test "X$installed" = Xyes; then - if test ! -f "$lt_sysroot$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then - func_warning "library \`$lib' was moved." - dir="$ladir" - absdir="$abs_ladir" - libdir="$abs_ladir" - else - dir="$lt_sysroot$libdir" - absdir="$lt_sysroot$libdir" - fi - test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes - else - if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then - dir="$ladir" - absdir="$abs_ladir" - # Remove this search path later - notinst_path+=" $abs_ladir" - else - dir="$ladir/$objdir" - absdir="$abs_ladir/$objdir" - # Remove this search path later - notinst_path+=" $abs_ladir" - fi - fi # $installed = yes - func_stripname 'lib' '.la' "$laname" - name=$func_stripname_result - - # This library was specified with -dlpreopen. - if test "$pass" = dlpreopen; then - if test -z "$libdir" && test "$linkmode" = prog; then - func_fatal_error "only libraries may -dlpreopen a convenience library: \`$lib'" - fi - case "$host" in - # special handling for platforms with PE-DLLs. - *cygwin* | *mingw* | *cegcc* ) - # Linker will automatically link against shared library if both - # static and shared are present. Therefore, ensure we extract - # symbols from the import library if a shared library is present - # (otherwise, the dlopen module name will be incorrect). We do - # this by putting the import library name into $newdlprefiles. - # We recover the dlopen module name by 'saving' the la file - # name in a special purpose variable, and (later) extracting the - # dlname from the la file. - if test -n "$dlname"; then - func_tr_sh "$dir/$linklib" - eval "libfile_$func_tr_sh_result=\$abs_ladir/\$laname" - newdlprefiles+=" $dir/$linklib" - else - newdlprefiles+=" $dir/$old_library" - # Keep a list of preopened convenience libraries to check - # that they are being used correctly in the link pass. - test -z "$libdir" && \ - dlpreconveniencelibs+=" $dir/$old_library" - fi - ;; - * ) - # Prefer using a static library (so that no silly _DYNAMIC symbols - # are required to link). - if test -n "$old_library"; then - newdlprefiles+=" $dir/$old_library" - # Keep a list of preopened convenience libraries to check - # that they are being used correctly in the link pass. - test -z "$libdir" && \ - dlpreconveniencelibs+=" $dir/$old_library" - # Otherwise, use the dlname, so that lt_dlopen finds it. - elif test -n "$dlname"; then - newdlprefiles+=" $dir/$dlname" - else - newdlprefiles+=" $dir/$linklib" - fi - ;; - esac - fi # $pass = dlpreopen - - if test -z "$libdir"; then - # Link the convenience library - if test "$linkmode" = lib; then - deplibs="$dir/$old_library $deplibs" - elif test "$linkmode,$pass" = "prog,link"; then - compile_deplibs="$dir/$old_library $compile_deplibs" - finalize_deplibs="$dir/$old_library $finalize_deplibs" - else - deplibs="$lib $deplibs" # used for prog,scan pass - fi - continue - fi - - - if test "$linkmode" = prog && test "$pass" != link; then - newlib_search_path+=" $ladir" - deplibs="$lib $deplibs" - - linkalldeplibs=no - if test "$link_all_deplibs" != no || test -z "$library_names" || - test "$build_libtool_libs" = no; then - linkalldeplibs=yes - fi - - tmp_libs= - for deplib in $dependency_libs; do - case $deplib in - -L*) func_stripname '-L' '' "$deplib" - func_resolve_sysroot "$func_stripname_result" - newlib_search_path+=" $func_resolve_sysroot_result" - ;; - esac - # Need to link against all dependency_libs? - if test "$linkalldeplibs" = yes; then - deplibs="$deplib $deplibs" - else - # Need to hardcode shared library paths - # or/and link against static libraries - newdependency_libs="$deplib $newdependency_libs" - fi - if $opt_preserve_dup_deps ; then - case "$tmp_libs " in - *" $deplib "*) specialdeplibs+=" $deplib" ;; - esac - fi - tmp_libs+=" $deplib" - done # for deplib - continue - fi # $linkmode = prog... - - if test "$linkmode,$pass" = "prog,link"; then - if test -n "$library_names" && - { { test "$prefer_static_libs" = no || - test "$prefer_static_libs,$installed" = "built,yes"; } || - test -z "$old_library"; }; then - # We need to hardcode the library path - if test -n "$shlibpath_var" && test -z "$avoidtemprpath" ; then - # Make sure the rpath contains only unique directories. - case "$temp_rpath:" in - *"$absdir:"*) ;; - *) temp_rpath+="$absdir:" ;; - esac - fi - - # Hardcode the library path. - # Skip directories that are in the system default run-time - # search path. - case " $sys_lib_dlsearch_path " in - *" $absdir "*) ;; - *) - case "$compile_rpath " in - *" $absdir "*) ;; - *) compile_rpath+=" $absdir" ;; - esac - ;; - esac - case " $sys_lib_dlsearch_path " in - *" $libdir "*) ;; - *) - case "$finalize_rpath " in - *" $libdir "*) ;; - *) finalize_rpath+=" $libdir" ;; - esac - ;; - esac - fi # $linkmode,$pass = prog,link... - - if test "$alldeplibs" = yes && - { test "$deplibs_check_method" = pass_all || - { test "$build_libtool_libs" = yes && - test -n "$library_names"; }; }; then - # We only need to search for static libraries - continue - fi - fi - - link_static=no # Whether the deplib will be linked statically - use_static_libs=$prefer_static_libs - if test "$use_static_libs" = built && test "$installed" = yes; then - use_static_libs=no - fi - if test -n "$library_names" && - { test "$use_static_libs" = no || test -z "$old_library"; }; then - case $host in - *cygwin* | *mingw* | *cegcc*) - # No point in relinking DLLs because paths are not encoded - notinst_deplibs+=" $lib" - need_relink=no - ;; - *) - if test "$installed" = no; then - notinst_deplibs+=" $lib" - need_relink=yes - fi - ;; - esac - # This is a shared library - - # Warn about portability, can't link against -module's on some - # systems (darwin). Don't bleat about dlopened modules though! - dlopenmodule="" - for dlpremoduletest in $dlprefiles; do - if test "X$dlpremoduletest" = "X$lib"; then - dlopenmodule="$dlpremoduletest" - break - fi - done - if test -z "$dlopenmodule" && test "$shouldnotlink" = yes && test "$pass" = link; then - echo - if test "$linkmode" = prog; then - $ECHO "*** Warning: Linking the executable $output against the loadable module" - else - $ECHO "*** Warning: Linking the shared library $output against the loadable module" - fi - $ECHO "*** $linklib is not portable!" - fi - if test "$linkmode" = lib && - test "$hardcode_into_libs" = yes; then - # Hardcode the library path. - # Skip directories that are in the system default run-time - # search path. - case " $sys_lib_dlsearch_path " in - *" $absdir "*) ;; - *) - case "$compile_rpath " in - *" $absdir "*) ;; - *) compile_rpath+=" $absdir" ;; - esac - ;; - esac - case " $sys_lib_dlsearch_path " in - *" $libdir "*) ;; - *) - case "$finalize_rpath " in - *" $libdir "*) ;; - *) finalize_rpath+=" $libdir" ;; - esac - ;; - esac - fi - - if test -n "$old_archive_from_expsyms_cmds"; then - # figure out the soname - set dummy $library_names - shift - realname="$1" - shift - libname=`eval "\\$ECHO \"$libname_spec\""` - # use dlname if we got it. it's perfectly good, no? - if test -n "$dlname"; then - soname="$dlname" - elif test -n "$soname_spec"; then - # bleh windows - case $host in - *cygwin* | mingw* | *cegcc*) - func_arith $current - $age - major=$func_arith_result - versuffix="-$major" - ;; - esac - eval soname=\"$soname_spec\" - else - soname="$realname" - fi - - # Make a new name for the extract_expsyms_cmds to use - soroot="$soname" - func_basename "$soroot" - soname="$func_basename_result" - func_stripname 'lib' '.dll' "$soname" - newlib=libimp-$func_stripname_result.a - - # If the library has no export list, then create one now - if test -f "$output_objdir/$soname-def"; then : - else - func_verbose "extracting exported symbol list from \`$soname'" - func_execute_cmds "$extract_expsyms_cmds" 'exit $?' - fi - - # Create $newlib - if test -f "$output_objdir/$newlib"; then :; else - func_verbose "generating import library for \`$soname'" - func_execute_cmds "$old_archive_from_expsyms_cmds" 'exit $?' - fi - # make sure the library variables are pointing to the new library - dir=$output_objdir - linklib=$newlib - fi # test -n "$old_archive_from_expsyms_cmds" - - if test "$linkmode" = prog || test "$opt_mode" != relink; then - add_shlibpath= - add_dir= - add= - lib_linked=yes - case $hardcode_action in - immediate | unsupported) - if test "$hardcode_direct" = no; then - add="$dir/$linklib" - case $host in - *-*-sco3.2v5.0.[024]*) add_dir="-L$dir" ;; - *-*-sysv4*uw2*) add_dir="-L$dir" ;; - *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \ - *-*-unixware7*) add_dir="-L$dir" ;; - *-*-darwin* ) - # if the lib is a (non-dlopened) module then we can not - # link against it, someone is ignoring the earlier warnings - if /usr/bin/file -L $add 2> /dev/null | - $GREP ": [^:]* bundle" >/dev/null ; then - if test "X$dlopenmodule" != "X$lib"; then - $ECHO "*** Warning: lib $linklib is a module, not a shared library" - if test -z "$old_library" ; then - echo - echo "*** And there doesn't seem to be a static archive available" - echo "*** The link will probably fail, sorry" - else - add="$dir/$old_library" - fi - elif test -n "$old_library"; then - add="$dir/$old_library" - fi - fi - esac - elif test "$hardcode_minus_L" = no; then - case $host in - *-*-sunos*) add_shlibpath="$dir" ;; - esac - add_dir="-L$dir" - add="-l$name" - elif test "$hardcode_shlibpath_var" = no; then - add_shlibpath="$dir" - add="-l$name" - else - lib_linked=no - fi - ;; - relink) - if test "$hardcode_direct" = yes && - test "$hardcode_direct_absolute" = no; then - add="$dir/$linklib" - elif test "$hardcode_minus_L" = yes; then - add_dir="-L$absdir" - # Try looking first in the location we're being installed to. - if test -n "$inst_prefix_dir"; then - case $libdir in - [\\/]*) - add_dir+=" -L$inst_prefix_dir$libdir" - ;; - esac - fi - add="-l$name" - elif test "$hardcode_shlibpath_var" = yes; then - add_shlibpath="$dir" - add="-l$name" - else - lib_linked=no - fi - ;; - *) lib_linked=no ;; - esac - - if test "$lib_linked" != yes; then - func_fatal_configuration "unsupported hardcode properties" - fi - - if test -n "$add_shlibpath"; then - case :$compile_shlibpath: in - *":$add_shlibpath:"*) ;; - *) compile_shlibpath+="$add_shlibpath:" ;; - esac - fi - if test "$linkmode" = prog; then - test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs" - test -n "$add" && compile_deplibs="$add $compile_deplibs" - else - test -n "$add_dir" && deplibs="$add_dir $deplibs" - test -n "$add" && deplibs="$add $deplibs" - if test "$hardcode_direct" != yes && - test "$hardcode_minus_L" != yes && - test "$hardcode_shlibpath_var" = yes; then - case :$finalize_shlibpath: in - *":$libdir:"*) ;; - *) finalize_shlibpath+="$libdir:" ;; - esac - fi - fi - fi - - if test "$linkmode" = prog || test "$opt_mode" = relink; then - add_shlibpath= - add_dir= - add= - # Finalize command for both is simple: just hardcode it. - if test "$hardcode_direct" = yes && - test "$hardcode_direct_absolute" = no; then - add="$libdir/$linklib" - elif test "$hardcode_minus_L" = yes; then - add_dir="-L$libdir" - add="-l$name" - elif test "$hardcode_shlibpath_var" = yes; then - case :$finalize_shlibpath: in - *":$libdir:"*) ;; - *) finalize_shlibpath+="$libdir:" ;; - esac - add="-l$name" - elif test "$hardcode_automatic" = yes; then - if test -n "$inst_prefix_dir" && - test -f "$inst_prefix_dir$libdir/$linklib" ; then - add="$inst_prefix_dir$libdir/$linklib" - else - add="$libdir/$linklib" - fi - else - # We cannot seem to hardcode it, guess we'll fake it. - add_dir="-L$libdir" - # Try looking first in the location we're being installed to. - if test -n "$inst_prefix_dir"; then - case $libdir in - [\\/]*) - add_dir+=" -L$inst_prefix_dir$libdir" - ;; - esac - fi - add="-l$name" - fi - - if test "$linkmode" = prog; then - test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs" - test -n "$add" && finalize_deplibs="$add $finalize_deplibs" - else - test -n "$add_dir" && deplibs="$add_dir $deplibs" - test -n "$add" && deplibs="$add $deplibs" - fi - fi - elif test "$linkmode" = prog; then - # Here we assume that one of hardcode_direct or hardcode_minus_L - # is not unsupported. This is valid on all known static and - # shared platforms. - if test "$hardcode_direct" != unsupported; then - test -n "$old_library" && linklib="$old_library" - compile_deplibs="$dir/$linklib $compile_deplibs" - finalize_deplibs="$dir/$linklib $finalize_deplibs" - else - compile_deplibs="-l$name -L$dir $compile_deplibs" - finalize_deplibs="-l$name -L$dir $finalize_deplibs" - fi - elif test "$build_libtool_libs" = yes; then - # Not a shared library - if test "$deplibs_check_method" != pass_all; then - # We're trying link a shared library against a static one - # but the system doesn't support it. - - # Just print a warning and add the library to dependency_libs so - # that the program can be linked against the static library. - echo - $ECHO "*** Warning: This system can not link to static lib archive $lib." - echo "*** I have the capability to make that library automatically link in when" - echo "*** you link to this library. But I can only do this if you have a" - echo "*** shared version of the library, which you do not appear to have." - if test "$module" = yes; then - echo "*** But as you try to build a module library, libtool will still create " - echo "*** a static module, that should work as long as the dlopening application" - echo "*** is linked with the -dlopen flag to resolve symbols at runtime." - if test -z "$global_symbol_pipe"; then - echo - echo "*** However, this would only work if libtool was able to extract symbol" - echo "*** lists from a program, using \`nm' or equivalent, but libtool could" - echo "*** not find such a program. So, this module is probably useless." - echo "*** \`nm' from GNU binutils and a full rebuild may help." - fi - if test "$build_old_libs" = no; then - build_libtool_libs=module - build_old_libs=yes - else - build_libtool_libs=no - fi - fi - else - deplibs="$dir/$old_library $deplibs" - link_static=yes - fi - fi # link shared/static library? - - if test "$linkmode" = lib; then - if test -n "$dependency_libs" && - { test "$hardcode_into_libs" != yes || - test "$build_old_libs" = yes || - test "$link_static" = yes; }; then - # Extract -R from dependency_libs - temp_deplibs= - for libdir in $dependency_libs; do - case $libdir in - -R*) func_stripname '-R' '' "$libdir" - temp_xrpath=$func_stripname_result - case " $xrpath " in - *" $temp_xrpath "*) ;; - *) xrpath+=" $temp_xrpath";; - esac;; - *) temp_deplibs+=" $libdir";; - esac - done - dependency_libs="$temp_deplibs" - fi - - newlib_search_path+=" $absdir" - # Link against this library - test "$link_static" = no && newdependency_libs="$abs_ladir/$laname $newdependency_libs" - # ... and its dependency_libs - tmp_libs= - for deplib in $dependency_libs; do - newdependency_libs="$deplib $newdependency_libs" - case $deplib in - -L*) func_stripname '-L' '' "$deplib" - func_resolve_sysroot "$func_stripname_result";; - *) func_resolve_sysroot "$deplib" ;; - esac - if $opt_preserve_dup_deps ; then - case "$tmp_libs " in - *" $func_resolve_sysroot_result "*) - specialdeplibs+=" $func_resolve_sysroot_result" ;; - esac - fi - tmp_libs+=" $func_resolve_sysroot_result" - done - - if test "$link_all_deplibs" != no; then - # Add the search paths of all dependency libraries - for deplib in $dependency_libs; do - path= - case $deplib in - -L*) path="$deplib" ;; - *.la) - func_resolve_sysroot "$deplib" - deplib=$func_resolve_sysroot_result - func_dirname "$deplib" "" "." - dir=$func_dirname_result - # We need an absolute path. - case $dir in - [\\/]* | [A-Za-z]:[\\/]*) absdir="$dir" ;; - *) - absdir=`cd "$dir" && pwd` - if test -z "$absdir"; then - func_warning "cannot determine absolute directory name of \`$dir'" - absdir="$dir" - fi - ;; - esac - if $GREP "^installed=no" $deplib > /dev/null; then - case $host in - *-*-darwin*) - depdepl= - eval deplibrary_names=`${SED} -n -e 's/^library_names=\(.*\)$/\1/p' $deplib` - if test -n "$deplibrary_names" ; then - for tmp in $deplibrary_names ; do - depdepl=$tmp - done - if test -f "$absdir/$objdir/$depdepl" ; then - depdepl="$absdir/$objdir/$depdepl" - darwin_install_name=`${OTOOL} -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'` - if test -z "$darwin_install_name"; then - darwin_install_name=`${OTOOL64} -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'` - fi - compiler_flags+=" ${wl}-dylib_file ${wl}${darwin_install_name}:${depdepl}" - linker_flags+=" -dylib_file ${darwin_install_name}:${depdepl}" - path= - fi - fi - ;; - *) - path="-L$absdir/$objdir" - ;; - esac - else - eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` - test -z "$libdir" && \ - func_fatal_error "\`$deplib' is not a valid libtool archive" - test "$absdir" != "$libdir" && \ - func_warning "\`$deplib' seems to be moved" - - path="-L$absdir" - fi - ;; - esac - case " $deplibs " in - *" $path "*) ;; - *) deplibs="$path $deplibs" ;; - esac - done - fi # link_all_deplibs != no - fi # linkmode = lib - done # for deplib in $libs - if test "$pass" = link; then - if test "$linkmode" = "prog"; then - compile_deplibs="$new_inherited_linker_flags $compile_deplibs" - finalize_deplibs="$new_inherited_linker_flags $finalize_deplibs" - else - compiler_flags="$compiler_flags "`$ECHO " $new_inherited_linker_flags" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` - fi - fi - dependency_libs="$newdependency_libs" - if test "$pass" = dlpreopen; then - # Link the dlpreopened libraries before other libraries - for deplib in $save_deplibs; do - deplibs="$deplib $deplibs" - done - fi - if test "$pass" != dlopen; then - if test "$pass" != conv; then - # Make sure lib_search_path contains only unique directories. - lib_search_path= - for dir in $newlib_search_path; do - case "$lib_search_path " in - *" $dir "*) ;; - *) lib_search_path+=" $dir" ;; - esac - done - newlib_search_path= - fi - - if test "$linkmode,$pass" != "prog,link"; then - vars="deplibs" - else - vars="compile_deplibs finalize_deplibs" - fi - for var in $vars dependency_libs; do - # Add libraries to $var in reverse order - eval tmp_libs=\"\$$var\" - new_libs= - for deplib in $tmp_libs; do - # FIXME: Pedantically, this is the right thing to do, so - # that some nasty dependency loop isn't accidentally - # broken: - #new_libs="$deplib $new_libs" - # Pragmatically, this seems to cause very few problems in - # practice: - case $deplib in - -L*) new_libs="$deplib $new_libs" ;; - -R*) ;; - *) - # And here is the reason: when a library appears more - # than once as an explicit dependence of a library, or - # is implicitly linked in more than once by the - # compiler, it is considered special, and multiple - # occurrences thereof are not removed. Compare this - # with having the same library being listed as a - # dependency of multiple other libraries: in this case, - # we know (pedantically, we assume) the library does not - # need to be listed more than once, so we keep only the - # last copy. This is not always right, but it is rare - # enough that we require users that really mean to play - # such unportable linking tricks to link the library - # using -Wl,-lname, so that libtool does not consider it - # for duplicate removal. - case " $specialdeplibs " in - *" $deplib "*) new_libs="$deplib $new_libs" ;; - *) - case " $new_libs " in - *" $deplib "*) ;; - *) new_libs="$deplib $new_libs" ;; - esac - ;; - esac - ;; - esac - done - tmp_libs= - for deplib in $new_libs; do - case $deplib in - -L*) - case " $tmp_libs " in - *" $deplib "*) ;; - *) tmp_libs+=" $deplib" ;; - esac - ;; - *) tmp_libs+=" $deplib" ;; - esac - done - eval $var=\"$tmp_libs\" - done # for var - fi - # Last step: remove runtime libs from dependency_libs - # (they stay in deplibs) - tmp_libs= - for i in $dependency_libs ; do - case " $predeps $postdeps $compiler_lib_search_path " in - *" $i "*) - i="" - ;; - esac - if test -n "$i" ; then - tmp_libs+=" $i" - fi - done - dependency_libs=$tmp_libs - done # for pass - if test "$linkmode" = prog; then - dlfiles="$newdlfiles" - fi - if test "$linkmode" = prog || test "$linkmode" = lib; then - dlprefiles="$newdlprefiles" - fi - - case $linkmode in - oldlib) - if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then - func_warning "\`-dlopen' is ignored for archives" - fi - - case " $deplibs" in - *\ -l* | *\ -L*) - func_warning "\`-l' and \`-L' are ignored for archives" ;; - esac - - test -n "$rpath" && \ - func_warning "\`-rpath' is ignored for archives" - - test -n "$xrpath" && \ - func_warning "\`-R' is ignored for archives" - - test -n "$vinfo" && \ - func_warning "\`-version-info/-version-number' is ignored for archives" - - test -n "$release" && \ - func_warning "\`-release' is ignored for archives" - - test -n "$export_symbols$export_symbols_regex" && \ - func_warning "\`-export-symbols' is ignored for archives" - - # Now set the variables for building old libraries. - build_libtool_libs=no - oldlibs="$output" - objs+="$old_deplibs" - ;; - - lib) - # Make sure we only generate libraries of the form `libNAME.la'. - case $outputname in - lib*) - func_stripname 'lib' '.la' "$outputname" - name=$func_stripname_result - eval shared_ext=\"$shrext_cmds\" - eval libname=\"$libname_spec\" - ;; - *) - test "$module" = no && \ - func_fatal_help "libtool library \`$output' must begin with \`lib'" - - if test "$need_lib_prefix" != no; then - # Add the "lib" prefix for modules if required - func_stripname '' '.la' "$outputname" - name=$func_stripname_result - eval shared_ext=\"$shrext_cmds\" - eval libname=\"$libname_spec\" - else - func_stripname '' '.la' "$outputname" - libname=$func_stripname_result - fi - ;; - esac - - if test -n "$objs"; then - if test "$deplibs_check_method" != pass_all; then - func_fatal_error "cannot build libtool library \`$output' from non-libtool objects on this host:$objs" - else - echo - $ECHO "*** Warning: Linking the shared library $output against the non-libtool" - $ECHO "*** objects $objs is not portable!" - libobjs+=" $objs" - fi - fi - - test "$dlself" != no && \ - func_warning "\`-dlopen self' is ignored for libtool libraries" - - set dummy $rpath - shift - test "$#" -gt 1 && \ - func_warning "ignoring multiple \`-rpath's for a libtool library" - - install_libdir="$1" - - oldlibs= - if test -z "$rpath"; then - if test "$build_libtool_libs" = yes; then - # Building a libtool convenience library. - # Some compilers have problems with a `.al' extension so - # convenience libraries should have the same extension an - # archive normally would. - oldlibs="$output_objdir/$libname.$libext $oldlibs" - build_libtool_libs=convenience - build_old_libs=yes - fi - - test -n "$vinfo" && \ - func_warning "\`-version-info/-version-number' is ignored for convenience libraries" - - test -n "$release" && \ - func_warning "\`-release' is ignored for convenience libraries" - else - - # Parse the version information argument. - save_ifs="$IFS"; IFS=':' - set dummy $vinfo 0 0 0 - shift - IFS="$save_ifs" - - test -n "$7" && \ - func_fatal_help "too many parameters to \`-version-info'" - - # convert absolute version numbers to libtool ages - # this retains compatibility with .la files and attempts - # to make the code below a bit more comprehensible - - case $vinfo_number in - yes) - number_major="$1" - number_minor="$2" - number_revision="$3" - # - # There are really only two kinds -- those that - # use the current revision as the major version - # and those that subtract age and use age as - # a minor version. But, then there is irix - # which has an extra 1 added just for fun - # - case $version_type in - # correct linux to gnu/linux during the next big refactor - darwin|linux|osf|windows|none) - func_arith $number_major + $number_minor - current=$func_arith_result - age="$number_minor" - revision="$number_revision" - ;; - freebsd-aout|freebsd-elf|qnx|sunos) - current="$number_major" - revision="$number_minor" - age="0" - ;; - irix|nonstopux) - func_arith $number_major + $number_minor - current=$func_arith_result - age="$number_minor" - revision="$number_minor" - lt_irix_increment=no - ;; - *) - func_fatal_configuration "$modename: unknown library version type \`$version_type'" - ;; - esac - ;; - no) - current="$1" - revision="$2" - age="$3" - ;; - esac - - # Check that each of the things are valid numbers. - case $current in - 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; - *) - func_error "CURRENT \`$current' must be a nonnegative integer" - func_fatal_error "\`$vinfo' is not valid version information" - ;; - esac - - case $revision in - 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; - *) - func_error "REVISION \`$revision' must be a nonnegative integer" - func_fatal_error "\`$vinfo' is not valid version information" - ;; - esac - - case $age in - 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; - *) - func_error "AGE \`$age' must be a nonnegative integer" - func_fatal_error "\`$vinfo' is not valid version information" - ;; - esac - - if test "$age" -gt "$current"; then - func_error "AGE \`$age' is greater than the current interface number \`$current'" - func_fatal_error "\`$vinfo' is not valid version information" - fi - - # Calculate the version variables. - major= - versuffix= - verstring= - case $version_type in - none) ;; - - darwin) - # Like Linux, but with the current version available in - # verstring for coding it into the library header - func_arith $current - $age - major=.$func_arith_result - versuffix="$major.$age.$revision" - # Darwin ld doesn't like 0 for these options... - func_arith $current + 1 - minor_current=$func_arith_result - xlcverstring="${wl}-compatibility_version ${wl}$minor_current ${wl}-current_version ${wl}$minor_current.$revision" - verstring="-compatibility_version $minor_current -current_version $minor_current.$revision" - ;; - - freebsd-aout) - major=".$current" - versuffix=".$current.$revision"; - ;; - - freebsd-elf) - major=".$current" - versuffix=".$current" - ;; - - irix | nonstopux) - if test "X$lt_irix_increment" = "Xno"; then - func_arith $current - $age - else - func_arith $current - $age + 1 - fi - major=$func_arith_result - - case $version_type in - nonstopux) verstring_prefix=nonstopux ;; - *) verstring_prefix=sgi ;; - esac - verstring="$verstring_prefix$major.$revision" - - # Add in all the interfaces that we are compatible with. - loop=$revision - while test "$loop" -ne 0; do - func_arith $revision - $loop - iface=$func_arith_result - func_arith $loop - 1 - loop=$func_arith_result - verstring="$verstring_prefix$major.$iface:$verstring" - done - - # Before this point, $major must not contain `.'. - major=.$major - versuffix="$major.$revision" - ;; - - linux) # correct to gnu/linux during the next big refactor - func_arith $current - $age - major=.$func_arith_result - versuffix="$major.$age.$revision" - ;; - - osf) - func_arith $current - $age - major=.$func_arith_result - versuffix=".$current.$age.$revision" - verstring="$current.$age.$revision" - - # Add in all the interfaces that we are compatible with. - loop=$age - while test "$loop" -ne 0; do - func_arith $current - $loop - iface=$func_arith_result - func_arith $loop - 1 - loop=$func_arith_result - verstring="$verstring:${iface}.0" - done - - # Make executables depend on our current version. - verstring+=":${current}.0" - ;; - - qnx) - major=".$current" - versuffix=".$current" - ;; - - sunos) - major=".$current" - versuffix=".$current.$revision" - ;; - - windows) - # Use '-' rather than '.', since we only want one - # extension on DOS 8.3 filesystems. - func_arith $current - $age - major=$func_arith_result - versuffix="-$major" - ;; - - *) - func_fatal_configuration "unknown library version type \`$version_type'" - ;; - esac - - # Clear the version info if we defaulted, and they specified a release. - if test -z "$vinfo" && test -n "$release"; then - major= - case $version_type in - darwin) - # we can't check for "0.0" in archive_cmds due to quoting - # problems, so we reset it completely - verstring= - ;; - *) - verstring="0.0" - ;; - esac - if test "$need_version" = no; then - versuffix= - else - versuffix=".0.0" - fi - fi - - # Remove version info from name if versioning should be avoided - if test "$avoid_version" = yes && test "$need_version" = no; then - major= - versuffix= - verstring="" - fi - - # Check to see if the archive will have undefined symbols. - if test "$allow_undefined" = yes; then - if test "$allow_undefined_flag" = unsupported; then - func_warning "undefined symbols not allowed in $host shared libraries" - build_libtool_libs=no - build_old_libs=yes - fi - else - # Don't allow undefined symbols. - allow_undefined_flag="$no_undefined_flag" - fi - - fi - - func_generate_dlsyms "$libname" "$libname" "yes" - libobjs+=" $symfileobj" - test "X$libobjs" = "X " && libobjs= - - if test "$opt_mode" != relink; then - # Remove our outputs, but don't remove object files since they - # may have been created when compiling PIC objects. - removelist= - tempremovelist=`$ECHO "$output_objdir/*"` - for p in $tempremovelist; do - case $p in - *.$objext | *.gcno) - ;; - $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/${libname}${release}.*) - if test "X$precious_files_regex" != "X"; then - if $ECHO "$p" | $EGREP -e "$precious_files_regex" >/dev/null 2>&1 - then - continue - fi - fi - removelist+=" $p" - ;; - *) ;; - esac - done - test -n "$removelist" && \ - func_show_eval "${RM}r \$removelist" - fi - - # Now set the variables for building old libraries. - if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenience ; then - oldlibs+=" $output_objdir/$libname.$libext" - - # Transform .lo files to .o files. - oldobjs="$objs "`$ECHO "$libobjs" | $SP2NL | $SED "/\.${libext}$/d; $lo2o" | $NL2SP` - fi - - # Eliminate all temporary directories. - #for path in $notinst_path; do - # lib_search_path=`$ECHO "$lib_search_path " | $SED "s% $path % %g"` - # deplibs=`$ECHO "$deplibs " | $SED "s% -L$path % %g"` - # dependency_libs=`$ECHO "$dependency_libs " | $SED "s% -L$path % %g"` - #done - - if test -n "$xrpath"; then - # If the user specified any rpath flags, then add them. - temp_xrpath= - for libdir in $xrpath; do - func_replace_sysroot "$libdir" - temp_xrpath+=" -R$func_replace_sysroot_result" - case "$finalize_rpath " in - *" $libdir "*) ;; - *) finalize_rpath+=" $libdir" ;; - esac - done - if test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes; then - dependency_libs="$temp_xrpath $dependency_libs" - fi - fi - - # Make sure dlfiles contains only unique files that won't be dlpreopened - old_dlfiles="$dlfiles" - dlfiles= - for lib in $old_dlfiles; do - case " $dlprefiles $dlfiles " in - *" $lib "*) ;; - *) dlfiles+=" $lib" ;; - esac - done - - # Make sure dlprefiles contains only unique files - old_dlprefiles="$dlprefiles" - dlprefiles= - for lib in $old_dlprefiles; do - case "$dlprefiles " in - *" $lib "*) ;; - *) dlprefiles+=" $lib" ;; - esac - done - - if test "$build_libtool_libs" = yes; then - if test -n "$rpath"; then - case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos* | *-cegcc* | *-*-haiku*) - # these systems don't actually have a c library (as such)! - ;; - *-*-rhapsody* | *-*-darwin1.[012]) - # Rhapsody C library is in the System framework - deplibs+=" System.ltframework" - ;; - *-*-netbsd*) - # Don't link with libc until the a.out ld.so is fixed. - ;; - *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) - # Do not include libc due to us having libc/libc_r. - ;; - *-*-sco3.2v5* | *-*-sco5v6*) - # Causes problems with __ctype - ;; - *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) - # Compiler inserts libc in the correct place for threads to work - ;; - *) - # Add libc to deplibs on all other systems if necessary. - if test "$build_libtool_need_lc" = "yes"; then - deplibs+=" -lc" - fi - ;; - esac - fi - - # Transform deplibs into only deplibs that can be linked in shared. - name_save=$name - libname_save=$libname - release_save=$release - versuffix_save=$versuffix - major_save=$major - # I'm not sure if I'm treating the release correctly. I think - # release should show up in the -l (ie -lgmp5) so we don't want to - # add it in twice. Is that correct? - release="" - versuffix="" - major="" - newdeplibs= - droppeddeps=no - case $deplibs_check_method in - pass_all) - # Don't check for shared/static. Everything works. - # This might be a little naive. We might want to check - # whether the library exists or not. But this is on - # osf3 & osf4 and I'm not really sure... Just - # implementing what was already the behavior. - newdeplibs=$deplibs - ;; - test_compile) - # This code stresses the "libraries are programs" paradigm to its - # limits. Maybe even breaks it. We compile a program, linking it - # against the deplibs as a proxy for the library. Then we can check - # whether they linked in statically or dynamically with ldd. - $opt_dry_run || $RM conftest.c - cat > conftest.c </dev/null` - $nocaseglob - else - potential_libs=`ls $i/$libnameglob[.-]* 2>/dev/null` - fi - for potent_lib in $potential_libs; do - # Follow soft links. - if ls -lLd "$potent_lib" 2>/dev/null | - $GREP " -> " >/dev/null; then - continue - fi - # The statement above tries to avoid entering an - # endless loop below, in case of cyclic links. - # We might still enter an endless loop, since a link - # loop can be closed while we follow links, - # but so what? - potlib="$potent_lib" - while test -h "$potlib" 2>/dev/null; do - potliblink=`ls -ld $potlib | ${SED} 's/.* -> //'` - case $potliblink in - [\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";; - *) potlib=`$ECHO "$potlib" | $SED 's,[^/]*$,,'`"$potliblink";; - esac - done - if eval $file_magic_cmd \"\$potlib\" 2>/dev/null | - $SED -e 10q | - $EGREP "$file_magic_regex" > /dev/null; then - newdeplibs+=" $a_deplib" - a_deplib="" - break 2 - fi - done - done - fi - if test -n "$a_deplib" ; then - droppeddeps=yes - echo - $ECHO "*** Warning: linker path does not have real file for library $a_deplib." - echo "*** I have the capability to make that library automatically link in when" - echo "*** you link to this library. But I can only do this if you have a" - echo "*** shared version of the library, which you do not appear to have" - echo "*** because I did check the linker path looking for a file starting" - if test -z "$potlib" ; then - $ECHO "*** with $libname but no candidates were found. (...for file magic test)" - else - $ECHO "*** with $libname and none of the candidates passed a file format test" - $ECHO "*** using a file magic. Last file checked: $potlib" - fi - fi - ;; - *) - # Add a -L argument. - newdeplibs+=" $a_deplib" - ;; - esac - done # Gone through all deplibs. - ;; - match_pattern*) - set dummy $deplibs_check_method; shift - match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"` - for a_deplib in $deplibs; do - case $a_deplib in - -l*) - func_stripname -l '' "$a_deplib" - name=$func_stripname_result - if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then - case " $predeps $postdeps " in - *" $a_deplib "*) - newdeplibs+=" $a_deplib" - a_deplib="" - ;; - esac - fi - if test -n "$a_deplib" ; then - libname=`eval "\\$ECHO \"$libname_spec\""` - for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do - potential_libs=`ls $i/$libname[.-]* 2>/dev/null` - for potent_lib in $potential_libs; do - potlib="$potent_lib" # see symlink-check above in file_magic test - if eval "\$ECHO \"$potent_lib\"" 2>/dev/null | $SED 10q | \ - $EGREP "$match_pattern_regex" > /dev/null; then - newdeplibs+=" $a_deplib" - a_deplib="" - break 2 - fi - done - done - fi - if test -n "$a_deplib" ; then - droppeddeps=yes - echo - $ECHO "*** Warning: linker path does not have real file for library $a_deplib." - echo "*** I have the capability to make that library automatically link in when" - echo "*** you link to this library. But I can only do this if you have a" - echo "*** shared version of the library, which you do not appear to have" - echo "*** because I did check the linker path looking for a file starting" - if test -z "$potlib" ; then - $ECHO "*** with $libname but no candidates were found. (...for regex pattern test)" - else - $ECHO "*** with $libname and none of the candidates passed a file format test" - $ECHO "*** using a regex pattern. Last file checked: $potlib" - fi - fi - ;; - *) - # Add a -L argument. - newdeplibs+=" $a_deplib" - ;; - esac - done # Gone through all deplibs. - ;; - none | unknown | *) - newdeplibs="" - tmp_deplibs=`$ECHO " $deplibs" | $SED 's/ -lc$//; s/ -[LR][^ ]*//g'` - if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then - for i in $predeps $postdeps ; do - # can't use Xsed below, because $i might contain '/' - tmp_deplibs=`$ECHO " $tmp_deplibs" | $SED "s,$i,,"` - done - fi - case $tmp_deplibs in - *[!\ \ ]*) - echo - if test "X$deplibs_check_method" = "Xnone"; then - echo "*** Warning: inter-library dependencies are not supported in this platform." - else - echo "*** Warning: inter-library dependencies are not known to be supported." - fi - echo "*** All declared inter-library dependencies are being dropped." - droppeddeps=yes - ;; - esac - ;; - esac - versuffix=$versuffix_save - major=$major_save - release=$release_save - libname=$libname_save - name=$name_save - - case $host in - *-*-rhapsody* | *-*-darwin1.[012]) - # On Rhapsody replace the C library with the System framework - newdeplibs=`$ECHO " $newdeplibs" | $SED 's/ -lc / System.ltframework /'` - ;; - esac - - if test "$droppeddeps" = yes; then - if test "$module" = yes; then - echo - echo "*** Warning: libtool could not satisfy all declared inter-library" - $ECHO "*** dependencies of module $libname. Therefore, libtool will create" - echo "*** a static module, that should work as long as the dlopening" - echo "*** application is linked with the -dlopen flag." - if test -z "$global_symbol_pipe"; then - echo - echo "*** However, this would only work if libtool was able to extract symbol" - echo "*** lists from a program, using \`nm' or equivalent, but libtool could" - echo "*** not find such a program. So, this module is probably useless." - echo "*** \`nm' from GNU binutils and a full rebuild may help." - fi - if test "$build_old_libs" = no; then - oldlibs="$output_objdir/$libname.$libext" - build_libtool_libs=module - build_old_libs=yes - else - build_libtool_libs=no - fi - else - echo "*** The inter-library dependencies that have been dropped here will be" - echo "*** automatically added whenever a program is linked with this library" - echo "*** or is declared to -dlopen it." - - if test "$allow_undefined" = no; then - echo - echo "*** Since this library must not contain undefined symbols," - echo "*** because either the platform does not support them or" - echo "*** it was explicitly requested with -no-undefined," - echo "*** libtool will only create a static version of it." - if test "$build_old_libs" = no; then - oldlibs="$output_objdir/$libname.$libext" - build_libtool_libs=module - build_old_libs=yes - else - build_libtool_libs=no - fi - fi - fi - fi - # Done checking deplibs! - deplibs=$newdeplibs - fi - # Time to change all our "foo.ltframework" stuff back to "-framework foo" - case $host in - *-*-darwin*) - newdeplibs=`$ECHO " $newdeplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` - new_inherited_linker_flags=`$ECHO " $new_inherited_linker_flags" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` - deplibs=`$ECHO " $deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` - ;; - esac - - # move library search paths that coincide with paths to not yet - # installed libraries to the beginning of the library search list - new_libs= - for path in $notinst_path; do - case " $new_libs " in - *" -L$path/$objdir "*) ;; - *) - case " $deplibs " in - *" -L$path/$objdir "*) - new_libs+=" -L$path/$objdir" ;; - esac - ;; - esac - done - for deplib in $deplibs; do - case $deplib in - -L*) - case " $new_libs " in - *" $deplib "*) ;; - *) new_libs+=" $deplib" ;; - esac - ;; - *) new_libs+=" $deplib" ;; - esac - done - deplibs="$new_libs" - - # All the library-specific variables (install_libdir is set above). - library_names= - old_library= - dlname= - - # Test again, we may have decided not to build it any more - if test "$build_libtool_libs" = yes; then - # Remove ${wl} instances when linking with ld. - # FIXME: should test the right _cmds variable. - case $archive_cmds in - *\$LD\ *) wl= ;; - esac - if test "$hardcode_into_libs" = yes; then - # Hardcode the library paths - hardcode_libdirs= - dep_rpath= - rpath="$finalize_rpath" - test "$opt_mode" != relink && rpath="$compile_rpath$rpath" - for libdir in $rpath; do - if test -n "$hardcode_libdir_flag_spec"; then - if test -n "$hardcode_libdir_separator"; then - func_replace_sysroot "$libdir" - libdir=$func_replace_sysroot_result - if test -z "$hardcode_libdirs"; then - hardcode_libdirs="$libdir" - else - # Just accumulate the unique libdirs. - case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in - *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) - ;; - *) - hardcode_libdirs+="$hardcode_libdir_separator$libdir" - ;; - esac - fi - else - eval flag=\"$hardcode_libdir_flag_spec\" - dep_rpath+=" $flag" - fi - elif test -n "$runpath_var"; then - case "$perm_rpath " in - *" $libdir "*) ;; - *) perm_rpath+=" $libdir" ;; - esac - fi - done - # Substitute the hardcoded libdirs into the rpath. - if test -n "$hardcode_libdir_separator" && - test -n "$hardcode_libdirs"; then - libdir="$hardcode_libdirs" - eval "dep_rpath=\"$hardcode_libdir_flag_spec\"" - fi - if test -n "$runpath_var" && test -n "$perm_rpath"; then - # We should set the runpath_var. - rpath= - for dir in $perm_rpath; do - rpath+="$dir:" - done - eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var" - fi - test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs" - fi - - shlibpath="$finalize_shlibpath" - test "$opt_mode" != relink && shlibpath="$compile_shlibpath$shlibpath" - if test -n "$shlibpath"; then - eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var" - fi - - # Get the real and link names of the library. - eval shared_ext=\"$shrext_cmds\" - eval library_names=\"$library_names_spec\" - set dummy $library_names - shift - realname="$1" - shift - - if test -n "$soname_spec"; then - eval soname=\"$soname_spec\" - else - soname="$realname" - fi - if test -z "$dlname"; then - dlname=$soname - fi - - lib="$output_objdir/$realname" - linknames= - for link - do - linknames+=" $link" - done - - # Use standard objects if they are pic - test -z "$pic_flag" && libobjs=`$ECHO "$libobjs" | $SP2NL | $SED "$lo2o" | $NL2SP` - test "X$libobjs" = "X " && libobjs= - - delfiles= - if test -n "$export_symbols" && test -n "$include_expsyms"; then - $opt_dry_run || cp "$export_symbols" "$output_objdir/$libname.uexp" - export_symbols="$output_objdir/$libname.uexp" - delfiles+=" $export_symbols" - fi - - orig_export_symbols= - case $host_os in - cygwin* | mingw* | cegcc*) - if test -n "$export_symbols" && test -z "$export_symbols_regex"; then - # exporting using user supplied symfile - if test "x`$SED 1q $export_symbols`" != xEXPORTS; then - # and it's NOT already a .def file. Must figure out - # which of the given symbols are data symbols and tag - # them as such. So, trigger use of export_symbols_cmds. - # export_symbols gets reassigned inside the "prepare - # the list of exported symbols" if statement, so the - # include_expsyms logic still works. - orig_export_symbols="$export_symbols" - export_symbols= - always_export_symbols=yes - fi - fi - ;; - esac - - # Prepare the list of exported symbols - if test -z "$export_symbols"; then - if test "$always_export_symbols" = yes || test -n "$export_symbols_regex"; then - func_verbose "generating symbol list for \`$libname.la'" - export_symbols="$output_objdir/$libname.exp" - $opt_dry_run || $RM $export_symbols - cmds=$export_symbols_cmds - save_ifs="$IFS"; IFS='~' - for cmd1 in $cmds; do - IFS="$save_ifs" - # Take the normal branch if the nm_file_list_spec branch - # doesn't work or if tool conversion is not needed. - case $nm_file_list_spec~$to_tool_file_cmd in - *~func_convert_file_noop | *~func_convert_file_msys_to_w32 | ~*) - try_normal_branch=yes - eval cmd=\"$cmd1\" - func_len " $cmd" - len=$func_len_result - ;; - *) - try_normal_branch=no - ;; - esac - if test "$try_normal_branch" = yes \ - && { test "$len" -lt "$max_cmd_len" \ - || test "$max_cmd_len" -le -1; } - then - func_show_eval "$cmd" 'exit $?' - skipped_export=false - elif test -n "$nm_file_list_spec"; then - func_basename "$output" - output_la=$func_basename_result - save_libobjs=$libobjs - save_output=$output - output=${output_objdir}/${output_la}.nm - func_to_tool_file "$output" - libobjs=$nm_file_list_spec$func_to_tool_file_result - delfiles+=" $output" - func_verbose "creating $NM input file list: $output" - for obj in $save_libobjs; do - func_to_tool_file "$obj" - $ECHO "$func_to_tool_file_result" - done > "$output" - eval cmd=\"$cmd1\" - func_show_eval "$cmd" 'exit $?' - output=$save_output - libobjs=$save_libobjs - skipped_export=false - else - # The command line is too long to execute in one step. - func_verbose "using reloadable object file for export list..." - skipped_export=: - # Break out early, otherwise skipped_export may be - # set to false by a later but shorter cmd. - break - fi - done - IFS="$save_ifs" - if test -n "$export_symbols_regex" && test "X$skipped_export" != "X:"; then - func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"' - func_show_eval '$MV "${export_symbols}T" "$export_symbols"' - fi - fi - fi - - if test -n "$export_symbols" && test -n "$include_expsyms"; then - tmp_export_symbols="$export_symbols" - test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols" - $opt_dry_run || eval '$ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"' - fi - - if test "X$skipped_export" != "X:" && test -n "$orig_export_symbols"; then - # The given exports_symbols file has to be filtered, so filter it. - func_verbose "filter symbol list for \`$libname.la' to tag DATA exports" - # FIXME: $output_objdir/$libname.filter potentially contains lots of - # 's' commands which not all seds can handle. GNU sed should be fine - # though. Also, the filter scales superlinearly with the number of - # global variables. join(1) would be nice here, but unfortunately - # isn't a blessed tool. - $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter - delfiles+=" $export_symbols $output_objdir/$libname.filter" - export_symbols=$output_objdir/$libname.def - $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols - fi - - tmp_deplibs= - for test_deplib in $deplibs; do - case " $convenience " in - *" $test_deplib "*) ;; - *) - tmp_deplibs+=" $test_deplib" - ;; - esac - done - deplibs="$tmp_deplibs" - - if test -n "$convenience"; then - if test -n "$whole_archive_flag_spec" && - test "$compiler_needs_object" = yes && - test -z "$libobjs"; then - # extract the archives, so we have objects to list. - # TODO: could optimize this to just extract one archive. - whole_archive_flag_spec= - fi - if test -n "$whole_archive_flag_spec"; then - save_libobjs=$libobjs - eval libobjs=\"\$libobjs $whole_archive_flag_spec\" - test "X$libobjs" = "X " && libobjs= - else - gentop="$output_objdir/${outputname}x" - generated+=" $gentop" - - func_extract_archives $gentop $convenience - libobjs+=" $func_extract_archives_result" - test "X$libobjs" = "X " && libobjs= - fi - fi - - if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then - eval flag=\"$thread_safe_flag_spec\" - linker_flags+=" $flag" - fi - - # Make a backup of the uninstalled library when relinking - if test "$opt_mode" = relink; then - $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}U && $MV $realname ${realname}U)' || exit $? - fi - - # Do each of the archive commands. - if test "$module" = yes && test -n "$module_cmds" ; then - if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then - eval test_cmds=\"$module_expsym_cmds\" - cmds=$module_expsym_cmds - else - eval test_cmds=\"$module_cmds\" - cmds=$module_cmds - fi - else - if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then - eval test_cmds=\"$archive_expsym_cmds\" - cmds=$archive_expsym_cmds - else - eval test_cmds=\"$archive_cmds\" - cmds=$archive_cmds - fi - fi - - if test "X$skipped_export" != "X:" && - func_len " $test_cmds" && - len=$func_len_result && - test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then - : - else - # The command line is too long to link in one step, link piecewise - # or, if using GNU ld and skipped_export is not :, use a linker - # script. - - # Save the value of $output and $libobjs because we want to - # use them later. If we have whole_archive_flag_spec, we - # want to use save_libobjs as it was before - # whole_archive_flag_spec was expanded, because we can't - # assume the linker understands whole_archive_flag_spec. - # This may have to be revisited, in case too many - # convenience libraries get linked in and end up exceeding - # the spec. - if test -z "$convenience" || test -z "$whole_archive_flag_spec"; then - save_libobjs=$libobjs - fi - save_output=$output - func_basename "$output" - output_la=$func_basename_result - - # Clear the reloadable object creation command queue and - # initialize k to one. - test_cmds= - concat_cmds= - objlist= - last_robj= - k=1 - - if test -n "$save_libobjs" && test "X$skipped_export" != "X:" && test "$with_gnu_ld" = yes; then - output=${output_objdir}/${output_la}.lnkscript - func_verbose "creating GNU ld script: $output" - echo 'INPUT (' > $output - for obj in $save_libobjs - do - func_to_tool_file "$obj" - $ECHO "$func_to_tool_file_result" >> $output - done - echo ')' >> $output - delfiles+=" $output" - func_to_tool_file "$output" - output=$func_to_tool_file_result - elif test -n "$save_libobjs" && test "X$skipped_export" != "X:" && test "X$file_list_spec" != X; then - output=${output_objdir}/${output_la}.lnk - func_verbose "creating linker input file list: $output" - : > $output - set x $save_libobjs - shift - firstobj= - if test "$compiler_needs_object" = yes; then - firstobj="$1 " - shift - fi - for obj - do - func_to_tool_file "$obj" - $ECHO "$func_to_tool_file_result" >> $output - done - delfiles+=" $output" - func_to_tool_file "$output" - output=$firstobj\"$file_list_spec$func_to_tool_file_result\" - else - if test -n "$save_libobjs"; then - func_verbose "creating reloadable object files..." - output=$output_objdir/$output_la-${k}.$objext - eval test_cmds=\"$reload_cmds\" - func_len " $test_cmds" - len0=$func_len_result - len=$len0 - - # Loop over the list of objects to be linked. - for obj in $save_libobjs - do - func_len " $obj" - func_arith $len + $func_len_result - len=$func_arith_result - if test "X$objlist" = X || - test "$len" -lt "$max_cmd_len"; then - objlist+=" $obj" - else - # The command $test_cmds is almost too long, add a - # command to the queue. - if test "$k" -eq 1 ; then - # The first file doesn't have a previous command to add. - reload_objs=$objlist - eval concat_cmds=\"$reload_cmds\" - else - # All subsequent reloadable object files will link in - # the last one created. - reload_objs="$objlist $last_robj" - eval concat_cmds=\"\$concat_cmds~$reload_cmds~\$RM $last_robj\" - fi - last_robj=$output_objdir/$output_la-${k}.$objext - func_arith $k + 1 - k=$func_arith_result - output=$output_objdir/$output_la-${k}.$objext - objlist=" $obj" - func_len " $last_robj" - func_arith $len0 + $func_len_result - len=$func_arith_result - fi - done - # Handle the remaining objects by creating one last - # reloadable object file. All subsequent reloadable object - # files will link in the last one created. - test -z "$concat_cmds" || concat_cmds=$concat_cmds~ - reload_objs="$objlist $last_robj" - eval concat_cmds=\"\${concat_cmds}$reload_cmds\" - if test -n "$last_robj"; then - eval concat_cmds=\"\${concat_cmds}~\$RM $last_robj\" - fi - delfiles+=" $output" - - else - output= - fi - - if ${skipped_export-false}; then - func_verbose "generating symbol list for \`$libname.la'" - export_symbols="$output_objdir/$libname.exp" - $opt_dry_run || $RM $export_symbols - libobjs=$output - # Append the command to create the export file. - test -z "$concat_cmds" || concat_cmds=$concat_cmds~ - eval concat_cmds=\"\$concat_cmds$export_symbols_cmds\" - if test -n "$last_robj"; then - eval concat_cmds=\"\$concat_cmds~\$RM $last_robj\" - fi - fi - - test -n "$save_libobjs" && - func_verbose "creating a temporary reloadable object file: $output" - - # Loop through the commands generated above and execute them. - save_ifs="$IFS"; IFS='~' - for cmd in $concat_cmds; do - IFS="$save_ifs" - $opt_silent || { - func_quote_for_expand "$cmd" - eval "func_echo $func_quote_for_expand_result" - } - $opt_dry_run || eval "$cmd" || { - lt_exit=$? - - # Restore the uninstalled library and exit - if test "$opt_mode" = relink; then - ( cd "$output_objdir" && \ - $RM "${realname}T" && \ - $MV "${realname}U" "$realname" ) - fi - - exit $lt_exit - } - done - IFS="$save_ifs" - - if test -n "$export_symbols_regex" && ${skipped_export-false}; then - func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"' - func_show_eval '$MV "${export_symbols}T" "$export_symbols"' - fi - fi - - if ${skipped_export-false}; then - if test -n "$export_symbols" && test -n "$include_expsyms"; then - tmp_export_symbols="$export_symbols" - test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols" - $opt_dry_run || eval '$ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"' - fi - - if test -n "$orig_export_symbols"; then - # The given exports_symbols file has to be filtered, so filter it. - func_verbose "filter symbol list for \`$libname.la' to tag DATA exports" - # FIXME: $output_objdir/$libname.filter potentially contains lots of - # 's' commands which not all seds can handle. GNU sed should be fine - # though. Also, the filter scales superlinearly with the number of - # global variables. join(1) would be nice here, but unfortunately - # isn't a blessed tool. - $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter - delfiles+=" $export_symbols $output_objdir/$libname.filter" - export_symbols=$output_objdir/$libname.def - $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols - fi - fi - - libobjs=$output - # Restore the value of output. - output=$save_output - - if test -n "$convenience" && test -n "$whole_archive_flag_spec"; then - eval libobjs=\"\$libobjs $whole_archive_flag_spec\" - test "X$libobjs" = "X " && libobjs= - fi - # Expand the library linking commands again to reset the - # value of $libobjs for piecewise linking. - - # Do each of the archive commands. - if test "$module" = yes && test -n "$module_cmds" ; then - if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then - cmds=$module_expsym_cmds - else - cmds=$module_cmds - fi - else - if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then - cmds=$archive_expsym_cmds - else - cmds=$archive_cmds - fi - fi - fi - - if test -n "$delfiles"; then - # Append the command to remove temporary files to $cmds. - eval cmds=\"\$cmds~\$RM $delfiles\" - fi - - # Add any objects from preloaded convenience libraries - if test -n "$dlprefiles"; then - gentop="$output_objdir/${outputname}x" - generated+=" $gentop" - - func_extract_archives $gentop $dlprefiles - libobjs+=" $func_extract_archives_result" - test "X$libobjs" = "X " && libobjs= - fi - - save_ifs="$IFS"; IFS='~' - for cmd in $cmds; do - IFS="$save_ifs" - eval cmd=\"$cmd\" - $opt_silent || { - func_quote_for_expand "$cmd" - eval "func_echo $func_quote_for_expand_result" - } - $opt_dry_run || eval "$cmd" || { - lt_exit=$? - - # Restore the uninstalled library and exit - if test "$opt_mode" = relink; then - ( cd "$output_objdir" && \ - $RM "${realname}T" && \ - $MV "${realname}U" "$realname" ) - fi - - exit $lt_exit - } - done - IFS="$save_ifs" - - # Restore the uninstalled library and exit - if test "$opt_mode" = relink; then - $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}T && $MV $realname ${realname}T && $MV ${realname}U $realname)' || exit $? - - if test -n "$convenience"; then - if test -z "$whole_archive_flag_spec"; then - func_show_eval '${RM}r "$gentop"' - fi - fi - - exit $EXIT_SUCCESS - fi - - # Create links to the real library. - for linkname in $linknames; do - if test "$realname" != "$linkname"; then - func_show_eval '(cd "$output_objdir" && $RM "$linkname" && $LN_S "$realname" "$linkname")' 'exit $?' - fi - done - - # If -module or -export-dynamic was specified, set the dlname. - if test "$module" = yes || test "$export_dynamic" = yes; then - # On all known operating systems, these are identical. - dlname="$soname" - fi - fi - ;; - - obj) - if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then - func_warning "\`-dlopen' is ignored for objects" - fi - - case " $deplibs" in - *\ -l* | *\ -L*) - func_warning "\`-l' and \`-L' are ignored for objects" ;; - esac - - test -n "$rpath" && \ - func_warning "\`-rpath' is ignored for objects" - - test -n "$xrpath" && \ - func_warning "\`-R' is ignored for objects" - - test -n "$vinfo" && \ - func_warning "\`-version-info' is ignored for objects" - - test -n "$release" && \ - func_warning "\`-release' is ignored for objects" - - case $output in - *.lo) - test -n "$objs$old_deplibs" && \ - func_fatal_error "cannot build library object \`$output' from non-libtool objects" - - libobj=$output - func_lo2o "$libobj" - obj=$func_lo2o_result - ;; - *) - libobj= - obj="$output" - ;; - esac - - # Delete the old objects. - $opt_dry_run || $RM $obj $libobj - - # Objects from convenience libraries. This assumes - # single-version convenience libraries. Whenever we create - # different ones for PIC/non-PIC, this we'll have to duplicate - # the extraction. - reload_conv_objs= - gentop= - # reload_cmds runs $LD directly, so let us get rid of - # -Wl from whole_archive_flag_spec and hope we can get by with - # turning comma into space.. - wl= - - if test -n "$convenience"; then - if test -n "$whole_archive_flag_spec"; then - eval tmp_whole_archive_flags=\"$whole_archive_flag_spec\" - reload_conv_objs=$reload_objs\ `$ECHO "$tmp_whole_archive_flags" | $SED 's|,| |g'` - else - gentop="$output_objdir/${obj}x" - generated+=" $gentop" - - func_extract_archives $gentop $convenience - reload_conv_objs="$reload_objs $func_extract_archives_result" - fi - fi - - # If we're not building shared, we need to use non_pic_objs - test "$build_libtool_libs" != yes && libobjs="$non_pic_objects" - - # Create the old-style object. - reload_objs="$objs$old_deplibs "`$ECHO "$libobjs" | $SP2NL | $SED "/\.${libext}$/d; /\.lib$/d; $lo2o" | $NL2SP`" $reload_conv_objs" ### testsuite: skip nested quoting test - - output="$obj" - func_execute_cmds "$reload_cmds" 'exit $?' - - # Exit if we aren't doing a library object file. - if test -z "$libobj"; then - if test -n "$gentop"; then - func_show_eval '${RM}r "$gentop"' - fi - - exit $EXIT_SUCCESS - fi - - if test "$build_libtool_libs" != yes; then - if test -n "$gentop"; then - func_show_eval '${RM}r "$gentop"' - fi - - # Create an invalid libtool object if no PIC, so that we don't - # accidentally link it into a program. - # $show "echo timestamp > $libobj" - # $opt_dry_run || eval "echo timestamp > $libobj" || exit $? - exit $EXIT_SUCCESS - fi - - if test -n "$pic_flag" || test "$pic_mode" != default; then - # Only do commands if we really have different PIC objects. - reload_objs="$libobjs $reload_conv_objs" - output="$libobj" - func_execute_cmds "$reload_cmds" 'exit $?' - fi - - if test -n "$gentop"; then - func_show_eval '${RM}r "$gentop"' - fi - - exit $EXIT_SUCCESS - ;; - - prog) - case $host in - *cygwin*) func_stripname '' '.exe' "$output" - output=$func_stripname_result.exe;; - esac - test -n "$vinfo" && \ - func_warning "\`-version-info' is ignored for programs" - - test -n "$release" && \ - func_warning "\`-release' is ignored for programs" - - test "$preload" = yes \ - && test "$dlopen_support" = unknown \ - && test "$dlopen_self" = unknown \ - && test "$dlopen_self_static" = unknown && \ - func_warning "\`LT_INIT([dlopen])' not used. Assuming no dlopen support." - - case $host in - *-*-rhapsody* | *-*-darwin1.[012]) - # On Rhapsody replace the C library is the System framework - compile_deplibs=`$ECHO " $compile_deplibs" | $SED 's/ -lc / System.ltframework /'` - finalize_deplibs=`$ECHO " $finalize_deplibs" | $SED 's/ -lc / System.ltframework /'` - ;; - esac - - case $host in - *-*-darwin*) - # Don't allow lazy linking, it breaks C++ global constructors - # But is supposedly fixed on 10.4 or later (yay!). - if test "$tagname" = CXX ; then - case ${MACOSX_DEPLOYMENT_TARGET-10.0} in - 10.[0123]) - compile_command+=" ${wl}-bind_at_load" - finalize_command+=" ${wl}-bind_at_load" - ;; - esac - fi - # Time to change all our "foo.ltframework" stuff back to "-framework foo" - compile_deplibs=`$ECHO " $compile_deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` - finalize_deplibs=`$ECHO " $finalize_deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` - ;; - esac - - - # move library search paths that coincide with paths to not yet - # installed libraries to the beginning of the library search list - new_libs= - for path in $notinst_path; do - case " $new_libs " in - *" -L$path/$objdir "*) ;; - *) - case " $compile_deplibs " in - *" -L$path/$objdir "*) - new_libs+=" -L$path/$objdir" ;; - esac - ;; - esac - done - for deplib in $compile_deplibs; do - case $deplib in - -L*) - case " $new_libs " in - *" $deplib "*) ;; - *) new_libs+=" $deplib" ;; - esac - ;; - *) new_libs+=" $deplib" ;; - esac - done - compile_deplibs="$new_libs" - - - compile_command+=" $compile_deplibs" - finalize_command+=" $finalize_deplibs" - - if test -n "$rpath$xrpath"; then - # If the user specified any rpath flags, then add them. - for libdir in $rpath $xrpath; do - # This is the magic to use -rpath. - case "$finalize_rpath " in - *" $libdir "*) ;; - *) finalize_rpath+=" $libdir" ;; - esac - done - fi - - # Now hardcode the library paths - rpath= - hardcode_libdirs= - for libdir in $compile_rpath $finalize_rpath; do - if test -n "$hardcode_libdir_flag_spec"; then - if test -n "$hardcode_libdir_separator"; then - if test -z "$hardcode_libdirs"; then - hardcode_libdirs="$libdir" - else - # Just accumulate the unique libdirs. - case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in - *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) - ;; - *) - hardcode_libdirs+="$hardcode_libdir_separator$libdir" - ;; - esac - fi - else - eval flag=\"$hardcode_libdir_flag_spec\" - rpath+=" $flag" - fi - elif test -n "$runpath_var"; then - case "$perm_rpath " in - *" $libdir "*) ;; - *) perm_rpath+=" $libdir" ;; - esac - fi - case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) - testbindir=`${ECHO} "$libdir" | ${SED} -e 's*/lib$*/bin*'` - case :$dllsearchpath: in - *":$libdir:"*) ;; - ::) dllsearchpath=$libdir;; - *) dllsearchpath+=":$libdir";; - esac - case :$dllsearchpath: in - *":$testbindir:"*) ;; - ::) dllsearchpath=$testbindir;; - *) dllsearchpath+=":$testbindir";; - esac - ;; - esac - done - # Substitute the hardcoded libdirs into the rpath. - if test -n "$hardcode_libdir_separator" && - test -n "$hardcode_libdirs"; then - libdir="$hardcode_libdirs" - eval rpath=\" $hardcode_libdir_flag_spec\" - fi - compile_rpath="$rpath" - - rpath= - hardcode_libdirs= - for libdir in $finalize_rpath; do - if test -n "$hardcode_libdir_flag_spec"; then - if test -n "$hardcode_libdir_separator"; then - if test -z "$hardcode_libdirs"; then - hardcode_libdirs="$libdir" - else - # Just accumulate the unique libdirs. - case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in - *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) - ;; - *) - hardcode_libdirs+="$hardcode_libdir_separator$libdir" - ;; - esac - fi - else - eval flag=\"$hardcode_libdir_flag_spec\" - rpath+=" $flag" - fi - elif test -n "$runpath_var"; then - case "$finalize_perm_rpath " in - *" $libdir "*) ;; - *) finalize_perm_rpath+=" $libdir" ;; - esac - fi - done - # Substitute the hardcoded libdirs into the rpath. - if test -n "$hardcode_libdir_separator" && - test -n "$hardcode_libdirs"; then - libdir="$hardcode_libdirs" - eval rpath=\" $hardcode_libdir_flag_spec\" - fi - finalize_rpath="$rpath" - - if test -n "$libobjs" && test "$build_old_libs" = yes; then - # Transform all the library objects into standard objects. - compile_command=`$ECHO "$compile_command" | $SP2NL | $SED "$lo2o" | $NL2SP` - finalize_command=`$ECHO "$finalize_command" | $SP2NL | $SED "$lo2o" | $NL2SP` - fi - - func_generate_dlsyms "$outputname" "@PROGRAM@" "no" - - # template prelinking step - if test -n "$prelink_cmds"; then - func_execute_cmds "$prelink_cmds" 'exit $?' - fi - - wrappers_required=yes - case $host in - *cegcc* | *mingw32ce*) - # Disable wrappers for cegcc and mingw32ce hosts, we are cross compiling anyway. - wrappers_required=no - ;; - *cygwin* | *mingw* ) - if test "$build_libtool_libs" != yes; then - wrappers_required=no - fi - ;; - *) - if test "$need_relink" = no || test "$build_libtool_libs" != yes; then - wrappers_required=no - fi - ;; - esac - if test "$wrappers_required" = no; then - # Replace the output file specification. - compile_command=`$ECHO "$compile_command" | $SED 's%@OUTPUT@%'"$output"'%g'` - link_command="$compile_command$compile_rpath" - - # We have no uninstalled library dependencies, so finalize right now. - exit_status=0 - func_show_eval "$link_command" 'exit_status=$?' - - if test -n "$postlink_cmds"; then - func_to_tool_file "$output" - postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'` - func_execute_cmds "$postlink_cmds" 'exit $?' - fi - - # Delete the generated files. - if test -f "$output_objdir/${outputname}S.${objext}"; then - func_show_eval '$RM "$output_objdir/${outputname}S.${objext}"' - fi - - exit $exit_status - fi - - if test -n "$compile_shlibpath$finalize_shlibpath"; then - compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command" - fi - if test -n "$finalize_shlibpath"; then - finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command" - fi - - compile_var= - finalize_var= - if test -n "$runpath_var"; then - if test -n "$perm_rpath"; then - # We should set the runpath_var. - rpath= - for dir in $perm_rpath; do - rpath+="$dir:" - done - compile_var="$runpath_var=\"$rpath\$$runpath_var\" " - fi - if test -n "$finalize_perm_rpath"; then - # We should set the runpath_var. - rpath= - for dir in $finalize_perm_rpath; do - rpath+="$dir:" - done - finalize_var="$runpath_var=\"$rpath\$$runpath_var\" " - fi - fi - - if test "$no_install" = yes; then - # We don't need to create a wrapper script. - link_command="$compile_var$compile_command$compile_rpath" - # Replace the output file specification. - link_command=`$ECHO "$link_command" | $SED 's%@OUTPUT@%'"$output"'%g'` - # Delete the old output file. - $opt_dry_run || $RM $output - # Link the executable and exit - func_show_eval "$link_command" 'exit $?' - - if test -n "$postlink_cmds"; then - func_to_tool_file "$output" - postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'` - func_execute_cmds "$postlink_cmds" 'exit $?' - fi - - exit $EXIT_SUCCESS - fi - - if test "$hardcode_action" = relink; then - # Fast installation is not supported - link_command="$compile_var$compile_command$compile_rpath" - relink_command="$finalize_var$finalize_command$finalize_rpath" - - func_warning "this platform does not like uninstalled shared libraries" - func_warning "\`$output' will be relinked during installation" - else - if test "$fast_install" != no; then - link_command="$finalize_var$compile_command$finalize_rpath" - if test "$fast_install" = yes; then - relink_command=`$ECHO "$compile_var$compile_command$compile_rpath" | $SED 's%@OUTPUT@%\$progdir/\$file%g'` - else - # fast_install is set to needless - relink_command= - fi - else - link_command="$compile_var$compile_command$compile_rpath" - relink_command="$finalize_var$finalize_command$finalize_rpath" - fi - fi - - # Replace the output file specification. - link_command=`$ECHO "$link_command" | $SED 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'` - - # Delete the old output files. - $opt_dry_run || $RM $output $output_objdir/$outputname $output_objdir/lt-$outputname - - func_show_eval "$link_command" 'exit $?' - - if test -n "$postlink_cmds"; then - func_to_tool_file "$output_objdir/$outputname" - postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'` - func_execute_cmds "$postlink_cmds" 'exit $?' - fi - - # Now create the wrapper script. - func_verbose "creating $output" - - # Quote the relink command for shipping. - if test -n "$relink_command"; then - # Preserve any variables that may affect compiler behavior - for var in $variables_saved_for_relink; do - if eval test -z \"\${$var+set}\"; then - relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command" - elif eval var_value=\$$var; test -z "$var_value"; then - relink_command="$var=; export $var; $relink_command" - else - func_quote_for_eval "$var_value" - relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command" - fi - done - relink_command="(cd `pwd`; $relink_command)" - relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"` - fi - - # Only actually do things if not in dry run mode. - $opt_dry_run || { - # win32 will think the script is a binary if it has - # a .exe suffix, so we strip it off here. - case $output in - *.exe) func_stripname '' '.exe' "$output" - output=$func_stripname_result ;; - esac - # test for cygwin because mv fails w/o .exe extensions - case $host in - *cygwin*) - exeext=.exe - func_stripname '' '.exe' "$outputname" - outputname=$func_stripname_result ;; - *) exeext= ;; - esac - case $host in - *cygwin* | *mingw* ) - func_dirname_and_basename "$output" "" "." - output_name=$func_basename_result - output_path=$func_dirname_result - cwrappersource="$output_path/$objdir/lt-$output_name.c" - cwrapper="$output_path/$output_name.exe" - $RM $cwrappersource $cwrapper - trap "$RM $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15 - - func_emit_cwrapperexe_src > $cwrappersource - - # The wrapper executable is built using the $host compiler, - # because it contains $host paths and files. If cross- - # compiling, it, like the target executable, must be - # executed on the $host or under an emulation environment. - $opt_dry_run || { - $LTCC $LTCFLAGS -o $cwrapper $cwrappersource - $STRIP $cwrapper - } - - # Now, create the wrapper script for func_source use: - func_ltwrapper_scriptname $cwrapper - $RM $func_ltwrapper_scriptname_result - trap "$RM $func_ltwrapper_scriptname_result; exit $EXIT_FAILURE" 1 2 15 - $opt_dry_run || { - # note: this script will not be executed, so do not chmod. - if test "x$build" = "x$host" ; then - $cwrapper --lt-dump-script > $func_ltwrapper_scriptname_result - else - func_emit_wrapper no > $func_ltwrapper_scriptname_result - fi - } - ;; - * ) - $RM $output - trap "$RM $output; exit $EXIT_FAILURE" 1 2 15 - - func_emit_wrapper no > $output - chmod +x $output - ;; - esac - } - exit $EXIT_SUCCESS - ;; - esac - - # See if we need to build an old-fashioned archive. - for oldlib in $oldlibs; do - - if test "$build_libtool_libs" = convenience; then - oldobjs="$libobjs_save $symfileobj" - addlibs="$convenience" - build_libtool_libs=no - else - if test "$build_libtool_libs" = module; then - oldobjs="$libobjs_save" - build_libtool_libs=no - else - oldobjs="$old_deplibs $non_pic_objects" - if test "$preload" = yes && test -f "$symfileobj"; then - oldobjs+=" $symfileobj" - fi - fi - addlibs="$old_convenience" - fi - - if test -n "$addlibs"; then - gentop="$output_objdir/${outputname}x" - generated+=" $gentop" - - func_extract_archives $gentop $addlibs - oldobjs+=" $func_extract_archives_result" - fi - - # Do each command in the archive commands. - if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then - cmds=$old_archive_from_new_cmds - else - - # Add any objects from preloaded convenience libraries - if test -n "$dlprefiles"; then - gentop="$output_objdir/${outputname}x" - generated+=" $gentop" - - func_extract_archives $gentop $dlprefiles - oldobjs+=" $func_extract_archives_result" - fi - - # POSIX demands no paths to be encoded in archives. We have - # to avoid creating archives with duplicate basenames if we - # might have to extract them afterwards, e.g., when creating a - # static archive out of a convenience library, or when linking - # the entirety of a libtool archive into another (currently - # not supported by libtool). - if (for obj in $oldobjs - do - func_basename "$obj" - $ECHO "$func_basename_result" - done | sort | sort -uc >/dev/null 2>&1); then - : - else - echo "copying selected object files to avoid basename conflicts..." - gentop="$output_objdir/${outputname}x" - generated+=" $gentop" - func_mkdir_p "$gentop" - save_oldobjs=$oldobjs - oldobjs= - counter=1 - for obj in $save_oldobjs - do - func_basename "$obj" - objbase="$func_basename_result" - case " $oldobjs " in - " ") oldobjs=$obj ;; - *[\ /]"$objbase "*) - while :; do - # Make sure we don't pick an alternate name that also - # overlaps. - newobj=lt$counter-$objbase - func_arith $counter + 1 - counter=$func_arith_result - case " $oldobjs " in - *[\ /]"$newobj "*) ;; - *) if test ! -f "$gentop/$newobj"; then break; fi ;; - esac - done - func_show_eval "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj" - oldobjs+=" $gentop/$newobj" - ;; - *) oldobjs+=" $obj" ;; - esac - done - fi - func_to_tool_file "$oldlib" func_convert_file_msys_to_w32 - tool_oldlib=$func_to_tool_file_result - eval cmds=\"$old_archive_cmds\" - - func_len " $cmds" - len=$func_len_result - if test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then - cmds=$old_archive_cmds - elif test -n "$archiver_list_spec"; then - func_verbose "using command file archive linking..." - for obj in $oldobjs - do - func_to_tool_file "$obj" - $ECHO "$func_to_tool_file_result" - done > $output_objdir/$libname.libcmd - func_to_tool_file "$output_objdir/$libname.libcmd" - oldobjs=" $archiver_list_spec$func_to_tool_file_result" - cmds=$old_archive_cmds - else - # the command line is too long to link in one step, link in parts - func_verbose "using piecewise archive linking..." - save_RANLIB=$RANLIB - RANLIB=: - objlist= - concat_cmds= - save_oldobjs=$oldobjs - oldobjs= - # Is there a better way of finding the last object in the list? - for obj in $save_oldobjs - do - last_oldobj=$obj - done - eval test_cmds=\"$old_archive_cmds\" - func_len " $test_cmds" - len0=$func_len_result - len=$len0 - for obj in $save_oldobjs - do - func_len " $obj" - func_arith $len + $func_len_result - len=$func_arith_result - objlist+=" $obj" - if test "$len" -lt "$max_cmd_len"; then - : - else - # the above command should be used before it gets too long - oldobjs=$objlist - if test "$obj" = "$last_oldobj" ; then - RANLIB=$save_RANLIB - fi - test -z "$concat_cmds" || concat_cmds=$concat_cmds~ - eval concat_cmds=\"\${concat_cmds}$old_archive_cmds\" - objlist= - len=$len0 - fi - done - RANLIB=$save_RANLIB - oldobjs=$objlist - if test "X$oldobjs" = "X" ; then - eval cmds=\"\$concat_cmds\" - else - eval cmds=\"\$concat_cmds~\$old_archive_cmds\" - fi - fi - fi - func_execute_cmds "$cmds" 'exit $?' - done - - test -n "$generated" && \ - func_show_eval "${RM}r$generated" - - # Now create the libtool archive. - case $output in - *.la) - old_library= - test "$build_old_libs" = yes && old_library="$libname.$libext" - func_verbose "creating $output" - - # Preserve any variables that may affect compiler behavior - for var in $variables_saved_for_relink; do - if eval test -z \"\${$var+set}\"; then - relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command" - elif eval var_value=\$$var; test -z "$var_value"; then - relink_command="$var=; export $var; $relink_command" - else - func_quote_for_eval "$var_value" - relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command" - fi - done - # Quote the link command for shipping. - relink_command="(cd `pwd`; $SHELL $progpath $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)" - relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"` - if test "$hardcode_automatic" = yes ; then - relink_command= - fi - - # Only create the output if not a dry run. - $opt_dry_run || { - for installed in no yes; do - if test "$installed" = yes; then - if test -z "$install_libdir"; then - break - fi - output="$output_objdir/$outputname"i - # Replace all uninstalled libtool libraries with the installed ones - newdependency_libs= - for deplib in $dependency_libs; do - case $deplib in - *.la) - func_basename "$deplib" - name="$func_basename_result" - func_resolve_sysroot "$deplib" - eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $func_resolve_sysroot_result` - test -z "$libdir" && \ - func_fatal_error "\`$deplib' is not a valid libtool archive" - newdependency_libs+=" ${lt_sysroot:+=}$libdir/$name" - ;; - -L*) - func_stripname -L '' "$deplib" - func_replace_sysroot "$func_stripname_result" - newdependency_libs+=" -L$func_replace_sysroot_result" - ;; - -R*) - func_stripname -R '' "$deplib" - func_replace_sysroot "$func_stripname_result" - newdependency_libs+=" -R$func_replace_sysroot_result" - ;; - *) newdependency_libs+=" $deplib" ;; - esac - done - dependency_libs="$newdependency_libs" - newdlfiles= - - for lib in $dlfiles; do - case $lib in - *.la) - func_basename "$lib" - name="$func_basename_result" - eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib` - test -z "$libdir" && \ - func_fatal_error "\`$lib' is not a valid libtool archive" - newdlfiles+=" ${lt_sysroot:+=}$libdir/$name" - ;; - *) newdlfiles+=" $lib" ;; - esac - done - dlfiles="$newdlfiles" - newdlprefiles= - for lib in $dlprefiles; do - case $lib in - *.la) - # Only pass preopened files to the pseudo-archive (for - # eventual linking with the app. that links it) if we - # didn't already link the preopened objects directly into - # the library: - func_basename "$lib" - name="$func_basename_result" - eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib` - test -z "$libdir" && \ - func_fatal_error "\`$lib' is not a valid libtool archive" - newdlprefiles+=" ${lt_sysroot:+=}$libdir/$name" - ;; - esac - done - dlprefiles="$newdlprefiles" - else - newdlfiles= - for lib in $dlfiles; do - case $lib in - [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;; - *) abs=`pwd`"/$lib" ;; - esac - newdlfiles+=" $abs" - done - dlfiles="$newdlfiles" - newdlprefiles= - for lib in $dlprefiles; do - case $lib in - [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;; - *) abs=`pwd`"/$lib" ;; - esac - newdlprefiles+=" $abs" - done - dlprefiles="$newdlprefiles" - fi - $RM $output - # place dlname in correct position for cygwin - # In fact, it would be nice if we could use this code for all target - # systems that can't hard-code library paths into their executables - # and that have no shared library path variable independent of PATH, - # but it turns out we can't easily determine that from inspecting - # libtool variables, so we have to hard-code the OSs to which it - # applies here; at the moment, that means platforms that use the PE - # object format with DLL files. See the long comment at the top of - # tests/bindir.at for full details. - tdlname=$dlname - case $host,$output,$installed,$module,$dlname in - *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll | *cegcc*,*lai,yes,no,*.dll) - # If a -bindir argument was supplied, place the dll there. - if test "x$bindir" != x ; - then - func_relative_path "$install_libdir" "$bindir" - tdlname=$func_relative_path_result$dlname - else - # Otherwise fall back on heuristic. - tdlname=../bin/$dlname - fi - ;; - esac - $ECHO > $output "\ -# $outputname - a libtool library file -# Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION -# -# Please DO NOT delete this file! -# It is necessary for linking the library. - -# The name that we can dlopen(3). -dlname='$tdlname' - -# Names of this library. -library_names='$library_names' - -# The name of the static archive. -old_library='$old_library' - -# Linker flags that can not go in dependency_libs. -inherited_linker_flags='$new_inherited_linker_flags' - -# Libraries that this one depends upon. -dependency_libs='$dependency_libs' - -# Names of additional weak libraries provided by this library -weak_library_names='$weak_libs' - -# Version information for $libname. -current=$current -age=$age -revision=$revision - -# Is this an already installed library? -installed=$installed - -# Should we warn about portability when linking against -modules? -shouldnotlink=$module - -# Files to dlopen/dlpreopen -dlopen='$dlfiles' -dlpreopen='$dlprefiles' - -# Directory that this library needs to be installed in: -libdir='$install_libdir'" - if test "$installed" = no && test "$need_relink" = yes; then - $ECHO >> $output "\ -relink_command=\"$relink_command\"" - fi - done - } - - # Do a symbolic link so that the libtool archive can be found in - # LD_LIBRARY_PATH before the program is installed. - func_show_eval '( cd "$output_objdir" && $RM "$outputname" && $LN_S "../$outputname" "$outputname" )' 'exit $?' - ;; - esac - exit $EXIT_SUCCESS -} - -{ test "$opt_mode" = link || test "$opt_mode" = relink; } && - func_mode_link ${1+"$@"} - - -# func_mode_uninstall arg... -func_mode_uninstall () -{ - $opt_debug - RM="$nonopt" - files= - rmforce= - exit_status=0 - - # This variable tells wrapper scripts just to set variables rather - # than running their programs. - libtool_install_magic="$magic" - - for arg - do - case $arg in - -f) RM+=" $arg"; rmforce=yes ;; - -*) RM+=" $arg" ;; - *) files+=" $arg" ;; - esac - done - - test -z "$RM" && \ - func_fatal_help "you must specify an RM program" - - rmdirs= - - for file in $files; do - func_dirname "$file" "" "." - dir="$func_dirname_result" - if test "X$dir" = X.; then - odir="$objdir" - else - odir="$dir/$objdir" - fi - func_basename "$file" - name="$func_basename_result" - test "$opt_mode" = uninstall && odir="$dir" - - # Remember odir for removal later, being careful to avoid duplicates - if test "$opt_mode" = clean; then - case " $rmdirs " in - *" $odir "*) ;; - *) rmdirs+=" $odir" ;; - esac - fi - - # Don't error if the file doesn't exist and rm -f was used. - if { test -L "$file"; } >/dev/null 2>&1 || - { test -h "$file"; } >/dev/null 2>&1 || - test -f "$file"; then - : - elif test -d "$file"; then - exit_status=1 - continue - elif test "$rmforce" = yes; then - continue - fi - - rmfiles="$file" - - case $name in - *.la) - # Possibly a libtool archive, so verify it. - if func_lalib_p "$file"; then - func_source $dir/$name - - # Delete the libtool libraries and symlinks. - for n in $library_names; do - rmfiles+=" $odir/$n" - done - test -n "$old_library" && rmfiles+=" $odir/$old_library" - - case "$opt_mode" in - clean) - case " $library_names " in - *" $dlname "*) ;; - *) test -n "$dlname" && rmfiles+=" $odir/$dlname" ;; - esac - test -n "$libdir" && rmfiles+=" $odir/$name $odir/${name}i" - ;; - uninstall) - if test -n "$library_names"; then - # Do each command in the postuninstall commands. - func_execute_cmds "$postuninstall_cmds" 'test "$rmforce" = yes || exit_status=1' - fi - - if test -n "$old_library"; then - # Do each command in the old_postuninstall commands. - func_execute_cmds "$old_postuninstall_cmds" 'test "$rmforce" = yes || exit_status=1' - fi - # FIXME: should reinstall the best remaining shared library. - ;; - esac - fi - ;; - - *.lo) - # Possibly a libtool object, so verify it. - if func_lalib_p "$file"; then - - # Read the .lo file - func_source $dir/$name - - # Add PIC object to the list of files to remove. - if test -n "$pic_object" && - test "$pic_object" != none; then - rmfiles+=" $dir/$pic_object" - fi - - # Add non-PIC object to the list of files to remove. - if test -n "$non_pic_object" && - test "$non_pic_object" != none; then - rmfiles+=" $dir/$non_pic_object" - fi - fi - ;; - - *) - if test "$opt_mode" = clean ; then - noexename=$name - case $file in - *.exe) - func_stripname '' '.exe' "$file" - file=$func_stripname_result - func_stripname '' '.exe' "$name" - noexename=$func_stripname_result - # $file with .exe has already been added to rmfiles, - # add $file without .exe - rmfiles+=" $file" - ;; - esac - # Do a test to see if this is a libtool program. - if func_ltwrapper_p "$file"; then - if func_ltwrapper_executable_p "$file"; then - func_ltwrapper_scriptname "$file" - relink_command= - func_source $func_ltwrapper_scriptname_result - rmfiles+=" $func_ltwrapper_scriptname_result" - else - relink_command= - func_source $dir/$noexename - fi - - # note $name still contains .exe if it was in $file originally - # as does the version of $file that was added into $rmfiles - rmfiles+=" $odir/$name $odir/${name}S.${objext}" - if test "$fast_install" = yes && test -n "$relink_command"; then - rmfiles+=" $odir/lt-$name" - fi - if test "X$noexename" != "X$name" ; then - rmfiles+=" $odir/lt-${noexename}.c" - fi - fi - fi - ;; - esac - func_show_eval "$RM $rmfiles" 'exit_status=1' - done - - # Try to remove the ${objdir}s in the directories where we deleted files - for dir in $rmdirs; do - if test -d "$dir"; then - func_show_eval "rmdir $dir >/dev/null 2>&1" - fi - done - - exit $exit_status -} - -{ test "$opt_mode" = uninstall || test "$opt_mode" = clean; } && - func_mode_uninstall ${1+"$@"} - -test -z "$opt_mode" && { - help="$generic_help" - func_fatal_help "you must specify a MODE" -} - -test -z "$exec_cmd" && \ - func_fatal_help "invalid operation mode \`$opt_mode'" - -if test -n "$exec_cmd"; then - eval exec "$exec_cmd" - exit $EXIT_FAILURE -fi - -exit $exit_status - - -# The TAGs below are defined such that we never get into a situation -# in which we disable both kinds of libraries. Given conflicting -# choices, we go for a static library, that is the most portable, -# since we can't tell whether shared libraries were disabled because -# the user asked for that or because the platform doesn't support -# them. This is particularly important on AIX, because we don't -# support having both static and shared libraries enabled at the same -# time on that platform, so we default to a shared-only configuration. -# If a disable-shared tag is given, we'll fallback to a static-only -# configuration. But we'll never go from static-only to shared-only. - -# ### BEGIN LIBTOOL TAG CONFIG: disable-shared -build_libtool_libs=no -build_old_libs=yes -# ### END LIBTOOL TAG CONFIG: disable-shared - -# ### BEGIN LIBTOOL TAG CONFIG: disable-static -build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac` -# ### END LIBTOOL TAG CONFIG: disable-static - -# Local Variables: -# mode:shell-script -# sh-indentation:2 -# End: -# vi:sw=2 - diff --git a/GRIB_BLE_HUB/libs/ble_extend/ltmain.sh b/GRIB_BLE_HUB/libs/ble_extend/ltmain.sh deleted file mode 100644 index 33f642a..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/ltmain.sh +++ /dev/null @@ -1,9661 +0,0 @@ - -# libtool (GNU libtool) 2.4.2 -# Written by Gordon Matzigkeit , 1996 - -# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc. -# This is free software; see the source for copying conditions. There is NO -# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -# GNU Libtool is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# As a special exception to the GNU General Public License, -# if you distribute this file as part of a program or library that -# is built using GNU Libtool, you may include this file under the -# same distribution terms that you use for the rest of that program. -# -# GNU Libtool is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with GNU Libtool; see the file COPYING. If not, a copy -# can be downloaded from http://www.gnu.org/licenses/gpl.html, -# or obtained by writing to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - -# Usage: $progname [OPTION]... [MODE-ARG]... -# -# Provide generalized library-building support services. -# -# --config show all configuration variables -# --debug enable verbose shell tracing -# -n, --dry-run display commands without modifying any files -# --features display basic configuration information and exit -# --mode=MODE use operation mode MODE -# --preserve-dup-deps don't remove duplicate dependency libraries -# --quiet, --silent don't print informational messages -# --no-quiet, --no-silent -# print informational messages (default) -# --no-warn don't display warning messages -# --tag=TAG use configuration variables from tag TAG -# -v, --verbose print more informational messages than default -# --no-verbose don't print the extra informational messages -# --version print version information -# -h, --help, --help-all print short, long, or detailed help message -# -# MODE must be one of the following: -# -# clean remove files from the build directory -# compile compile a source file into a libtool object -# execute automatically set library path, then run a program -# finish complete the installation of libtool libraries -# install install libraries or executables -# link create a library or an executable -# uninstall remove libraries from an installed directory -# -# MODE-ARGS vary depending on the MODE. When passed as first option, -# `--mode=MODE' may be abbreviated as `MODE' or a unique abbreviation of that. -# Try `$progname --help --mode=MODE' for a more detailed description of MODE. -# -# When reporting a bug, please describe a test case to reproduce it and -# include the following information: -# -# host-triplet: $host -# shell: $SHELL -# compiler: $LTCC -# compiler flags: $LTCFLAGS -# linker: $LD (gnu? $with_gnu_ld) -# $progname: (GNU libtool) 2.4.2 Debian-2.4.2-1.1 -# automake: $automake_version -# autoconf: $autoconf_version -# -# Report bugs to . -# GNU libtool home page: . -# General help using GNU software: . - -PROGRAM=libtool -PACKAGE=libtool -VERSION="2.4.2 Debian-2.4.2-1.1" -TIMESTAMP="" -package_revision=1.3337 - -# Be Bourne compatible -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then - emulate sh - NULLCMD=: - # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which - # is contrary to our usage. Disable this feature. - alias -g '${1+"$@"}'='"$@"' - setopt NO_GLOB_SUBST -else - case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac -fi -BIN_SH=xpg4; export BIN_SH # for Tru64 -DUALCASE=1; export DUALCASE # for MKS sh - -# A function that is used when there is no print builtin or printf. -func_fallback_echo () -{ - eval 'cat <<_LTECHO_EOF -$1 -_LTECHO_EOF' -} - -# NLS nuisances: We save the old values to restore during execute mode. -lt_user_locale= -lt_safe_locale= -for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES -do - eval "if test \"\${$lt_var+set}\" = set; then - save_$lt_var=\$$lt_var - $lt_var=C - export $lt_var - lt_user_locale=\"$lt_var=\\\$save_\$lt_var; \$lt_user_locale\" - lt_safe_locale=\"$lt_var=C; \$lt_safe_locale\" - fi" -done -LC_ALL=C -LANGUAGE=C -export LANGUAGE LC_ALL - -$lt_unset CDPATH - - -# Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh -# is ksh but when the shell is invoked as "sh" and the current value of -# the _XPG environment variable is not equal to 1 (one), the special -# positional parameter $0, within a function call, is the name of the -# function. -progpath="$0" - - - -: ${CP="cp -f"} -test "${ECHO+set}" = set || ECHO=${as_echo-'printf %s\n'} -: ${MAKE="make"} -: ${MKDIR="mkdir"} -: ${MV="mv -f"} -: ${RM="rm -f"} -: ${SHELL="${CONFIG_SHELL-/bin/sh}"} -: ${Xsed="$SED -e 1s/^X//"} - -# Global variables: -EXIT_SUCCESS=0 -EXIT_FAILURE=1 -EXIT_MISMATCH=63 # $? = 63 is used to indicate version mismatch to missing. -EXIT_SKIP=77 # $? = 77 is used to indicate a skipped test to automake. - -exit_status=$EXIT_SUCCESS - -# Make sure IFS has a sensible default -lt_nl=' -' -IFS=" $lt_nl" - -dirname="s,/[^/]*$,," -basename="s,^.*/,," - -# func_dirname file append nondir_replacement -# Compute the dirname of FILE. If nonempty, add APPEND to the result, -# otherwise set result to NONDIR_REPLACEMENT. -func_dirname () -{ - func_dirname_result=`$ECHO "${1}" | $SED "$dirname"` - if test "X$func_dirname_result" = "X${1}"; then - func_dirname_result="${3}" - else - func_dirname_result="$func_dirname_result${2}" - fi -} # func_dirname may be replaced by extended shell implementation - - -# func_basename file -func_basename () -{ - func_basename_result=`$ECHO "${1}" | $SED "$basename"` -} # func_basename may be replaced by extended shell implementation - - -# func_dirname_and_basename file append nondir_replacement -# perform func_basename and func_dirname in a single function -# call: -# dirname: Compute the dirname of FILE. If nonempty, -# add APPEND to the result, otherwise set result -# to NONDIR_REPLACEMENT. -# value returned in "$func_dirname_result" -# basename: Compute filename of FILE. -# value retuned in "$func_basename_result" -# Implementation must be kept synchronized with func_dirname -# and func_basename. For efficiency, we do not delegate to -# those functions but instead duplicate the functionality here. -func_dirname_and_basename () -{ - # Extract subdirectory from the argument. - func_dirname_result=`$ECHO "${1}" | $SED -e "$dirname"` - if test "X$func_dirname_result" = "X${1}"; then - func_dirname_result="${3}" - else - func_dirname_result="$func_dirname_result${2}" - fi - func_basename_result=`$ECHO "${1}" | $SED -e "$basename"` -} # func_dirname_and_basename may be replaced by extended shell implementation - - -# func_stripname prefix suffix name -# strip PREFIX and SUFFIX off of NAME. -# PREFIX and SUFFIX must not contain globbing or regex special -# characters, hashes, percent signs, but SUFFIX may contain a leading -# dot (in which case that matches only a dot). -# func_strip_suffix prefix name -func_stripname () -{ - case ${2} in - .*) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%\\\\${2}\$%%"`;; - *) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%${2}\$%%"`;; - esac -} # func_stripname may be replaced by extended shell implementation - - -# These SED scripts presuppose an absolute path with a trailing slash. -pathcar='s,^/\([^/]*\).*$,\1,' -pathcdr='s,^/[^/]*,,' -removedotparts=':dotsl - s@/\./@/@g - t dotsl - s,/\.$,/,' -collapseslashes='s@/\{1,\}@/@g' -finalslash='s,/*$,/,' - -# func_normal_abspath PATH -# Remove doubled-up and trailing slashes, "." path components, -# and cancel out any ".." path components in PATH after making -# it an absolute path. -# value returned in "$func_normal_abspath_result" -func_normal_abspath () -{ - # Start from root dir and reassemble the path. - func_normal_abspath_result= - func_normal_abspath_tpath=$1 - func_normal_abspath_altnamespace= - case $func_normal_abspath_tpath in - "") - # Empty path, that just means $cwd. - func_stripname '' '/' "`pwd`" - func_normal_abspath_result=$func_stripname_result - return - ;; - # The next three entries are used to spot a run of precisely - # two leading slashes without using negated character classes; - # we take advantage of case's first-match behaviour. - ///*) - # Unusual form of absolute path, do nothing. - ;; - //*) - # Not necessarily an ordinary path; POSIX reserves leading '//' - # and for example Cygwin uses it to access remote file shares - # over CIFS/SMB, so we conserve a leading double slash if found. - func_normal_abspath_altnamespace=/ - ;; - /*) - # Absolute path, do nothing. - ;; - *) - # Relative path, prepend $cwd. - func_normal_abspath_tpath=`pwd`/$func_normal_abspath_tpath - ;; - esac - # Cancel out all the simple stuff to save iterations. We also want - # the path to end with a slash for ease of parsing, so make sure - # there is one (and only one) here. - func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \ - -e "$removedotparts" -e "$collapseslashes" -e "$finalslash"` - while :; do - # Processed it all yet? - if test "$func_normal_abspath_tpath" = / ; then - # If we ascended to the root using ".." the result may be empty now. - if test -z "$func_normal_abspath_result" ; then - func_normal_abspath_result=/ - fi - break - fi - func_normal_abspath_tcomponent=`$ECHO "$func_normal_abspath_tpath" | $SED \ - -e "$pathcar"` - func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \ - -e "$pathcdr"` - # Figure out what to do with it - case $func_normal_abspath_tcomponent in - "") - # Trailing empty path component, ignore it. - ;; - ..) - # Parent dir; strip last assembled component from result. - func_dirname "$func_normal_abspath_result" - func_normal_abspath_result=$func_dirname_result - ;; - *) - # Actual path component, append it. - func_normal_abspath_result=$func_normal_abspath_result/$func_normal_abspath_tcomponent - ;; - esac - done - # Restore leading double-slash if one was found on entry. - func_normal_abspath_result=$func_normal_abspath_altnamespace$func_normal_abspath_result -} - -# func_relative_path SRCDIR DSTDIR -# generates a relative path from SRCDIR to DSTDIR, with a trailing -# slash if non-empty, suitable for immediately appending a filename -# without needing to append a separator. -# value returned in "$func_relative_path_result" -func_relative_path () -{ - func_relative_path_result= - func_normal_abspath "$1" - func_relative_path_tlibdir=$func_normal_abspath_result - func_normal_abspath "$2" - func_relative_path_tbindir=$func_normal_abspath_result - - # Ascend the tree starting from libdir - while :; do - # check if we have found a prefix of bindir - case $func_relative_path_tbindir in - $func_relative_path_tlibdir) - # found an exact match - func_relative_path_tcancelled= - break - ;; - $func_relative_path_tlibdir*) - # found a matching prefix - func_stripname "$func_relative_path_tlibdir" '' "$func_relative_path_tbindir" - func_relative_path_tcancelled=$func_stripname_result - if test -z "$func_relative_path_result"; then - func_relative_path_result=. - fi - break - ;; - *) - func_dirname $func_relative_path_tlibdir - func_relative_path_tlibdir=${func_dirname_result} - if test "x$func_relative_path_tlibdir" = x ; then - # Have to descend all the way to the root! - func_relative_path_result=../$func_relative_path_result - func_relative_path_tcancelled=$func_relative_path_tbindir - break - fi - func_relative_path_result=../$func_relative_path_result - ;; - esac - done - - # Now calculate path; take care to avoid doubling-up slashes. - func_stripname '' '/' "$func_relative_path_result" - func_relative_path_result=$func_stripname_result - func_stripname '/' '/' "$func_relative_path_tcancelled" - if test "x$func_stripname_result" != x ; then - func_relative_path_result=${func_relative_path_result}/${func_stripname_result} - fi - - # Normalisation. If bindir is libdir, return empty string, - # else relative path ending with a slash; either way, target - # file name can be directly appended. - if test ! -z "$func_relative_path_result"; then - func_stripname './' '' "$func_relative_path_result/" - func_relative_path_result=$func_stripname_result - fi -} - -# The name of this program: -func_dirname_and_basename "$progpath" -progname=$func_basename_result - -# Make sure we have an absolute path for reexecution: -case $progpath in - [\\/]*|[A-Za-z]:\\*) ;; - *[\\/]*) - progdir=$func_dirname_result - progdir=`cd "$progdir" && pwd` - progpath="$progdir/$progname" - ;; - *) - save_IFS="$IFS" - IFS=${PATH_SEPARATOR-:} - for progdir in $PATH; do - IFS="$save_IFS" - test -x "$progdir/$progname" && break - done - IFS="$save_IFS" - test -n "$progdir" || progdir=`pwd` - progpath="$progdir/$progname" - ;; -esac - -# Sed substitution that helps us do robust quoting. It backslashifies -# metacharacters that are still active within double-quoted strings. -Xsed="${SED}"' -e 1s/^X//' -sed_quote_subst='s/\([`"$\\]\)/\\\1/g' - -# Same as above, but do not quote variable references. -double_quote_subst='s/\(["`\\]\)/\\\1/g' - -# Sed substitution that turns a string into a regex matching for the -# string literally. -sed_make_literal_regex='s,[].[^$\\*\/],\\&,g' - -# Sed substitution that converts a w32 file name or path -# which contains forward slashes, into one that contains -# (escaped) backslashes. A very naive implementation. -lt_sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g' - -# Re-`\' parameter expansions in output of double_quote_subst that were -# `\'-ed in input to the same. If an odd number of `\' preceded a '$' -# in input to double_quote_subst, that '$' was protected from expansion. -# Since each input `\' is now two `\'s, look for any number of runs of -# four `\'s followed by two `\'s and then a '$'. `\' that '$'. -bs='\\' -bs2='\\\\' -bs4='\\\\\\\\' -dollar='\$' -sed_double_backslash="\ - s/$bs4/&\\ -/g - s/^$bs2$dollar/$bs&/ - s/\\([^$bs]\\)$bs2$dollar/\\1$bs2$bs$dollar/g - s/\n//g" - -# Standard options: -opt_dry_run=false -opt_help=false -opt_quiet=false -opt_verbose=false -opt_warning=: - -# func_echo arg... -# Echo program name prefixed message, along with the current mode -# name if it has been set yet. -func_echo () -{ - $ECHO "$progname: ${opt_mode+$opt_mode: }$*" -} - -# func_verbose arg... -# Echo program name prefixed message in verbose mode only. -func_verbose () -{ - $opt_verbose && func_echo ${1+"$@"} - - # A bug in bash halts the script if the last line of a function - # fails when set -e is in force, so we need another command to - # work around that: - : -} - -# func_echo_all arg... -# Invoke $ECHO with all args, space-separated. -func_echo_all () -{ - $ECHO "$*" -} - -# func_error arg... -# Echo program name prefixed message to standard error. -func_error () -{ - $ECHO "$progname: ${opt_mode+$opt_mode: }"${1+"$@"} 1>&2 -} - -# func_warning arg... -# Echo program name prefixed warning message to standard error. -func_warning () -{ - $opt_warning && $ECHO "$progname: ${opt_mode+$opt_mode: }warning: "${1+"$@"} 1>&2 - - # bash bug again: - : -} - -# func_fatal_error arg... -# Echo program name prefixed message to standard error, and exit. -func_fatal_error () -{ - func_error ${1+"$@"} - exit $EXIT_FAILURE -} - -# func_fatal_help arg... -# Echo program name prefixed message to standard error, followed by -# a help hint, and exit. -func_fatal_help () -{ - func_error ${1+"$@"} - func_fatal_error "$help" -} -help="Try \`$progname --help' for more information." ## default - - -# func_grep expression filename -# Check whether EXPRESSION matches any line of FILENAME, without output. -func_grep () -{ - $GREP "$1" "$2" >/dev/null 2>&1 -} - - -# func_mkdir_p directory-path -# Make sure the entire path to DIRECTORY-PATH is available. -func_mkdir_p () -{ - my_directory_path="$1" - my_dir_list= - - if test -n "$my_directory_path" && test "$opt_dry_run" != ":"; then - - # Protect directory names starting with `-' - case $my_directory_path in - -*) my_directory_path="./$my_directory_path" ;; - esac - - # While some portion of DIR does not yet exist... - while test ! -d "$my_directory_path"; do - # ...make a list in topmost first order. Use a colon delimited - # list incase some portion of path contains whitespace. - my_dir_list="$my_directory_path:$my_dir_list" - - # If the last portion added has no slash in it, the list is done - case $my_directory_path in */*) ;; *) break ;; esac - - # ...otherwise throw away the child directory and loop - my_directory_path=`$ECHO "$my_directory_path" | $SED -e "$dirname"` - done - my_dir_list=`$ECHO "$my_dir_list" | $SED 's,:*$,,'` - - save_mkdir_p_IFS="$IFS"; IFS=':' - for my_dir in $my_dir_list; do - IFS="$save_mkdir_p_IFS" - # mkdir can fail with a `File exist' error if two processes - # try to create one of the directories concurrently. Don't - # stop in that case! - $MKDIR "$my_dir" 2>/dev/null || : - done - IFS="$save_mkdir_p_IFS" - - # Bail out if we (or some other process) failed to create a directory. - test -d "$my_directory_path" || \ - func_fatal_error "Failed to create \`$1'" - fi -} - - -# func_mktempdir [string] -# Make a temporary directory that won't clash with other running -# libtool processes, and avoids race conditions if possible. If -# given, STRING is the basename for that directory. -func_mktempdir () -{ - my_template="${TMPDIR-/tmp}/${1-$progname}" - - if test "$opt_dry_run" = ":"; then - # Return a directory name, but don't create it in dry-run mode - my_tmpdir="${my_template}-$$" - else - - # If mktemp works, use that first and foremost - my_tmpdir=`mktemp -d "${my_template}-XXXXXXXX" 2>/dev/null` - - if test ! -d "$my_tmpdir"; then - # Failing that, at least try and use $RANDOM to avoid a race - my_tmpdir="${my_template}-${RANDOM-0}$$" - - save_mktempdir_umask=`umask` - umask 0077 - $MKDIR "$my_tmpdir" - umask $save_mktempdir_umask - fi - - # If we're not in dry-run mode, bomb out on failure - test -d "$my_tmpdir" || \ - func_fatal_error "cannot create temporary directory \`$my_tmpdir'" - fi - - $ECHO "$my_tmpdir" -} - - -# func_quote_for_eval arg -# Aesthetically quote ARG to be evaled later. -# This function returns two values: FUNC_QUOTE_FOR_EVAL_RESULT -# is double-quoted, suitable for a subsequent eval, whereas -# FUNC_QUOTE_FOR_EVAL_UNQUOTED_RESULT has merely all characters -# which are still active within double quotes backslashified. -func_quote_for_eval () -{ - case $1 in - *[\\\`\"\$]*) - func_quote_for_eval_unquoted_result=`$ECHO "$1" | $SED "$sed_quote_subst"` ;; - *) - func_quote_for_eval_unquoted_result="$1" ;; - esac - - case $func_quote_for_eval_unquoted_result in - # Double-quote args containing shell metacharacters to delay - # word splitting, command substitution and and variable - # expansion for a subsequent eval. - # Many Bourne shells cannot handle close brackets correctly - # in scan sets, so we specify it separately. - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - func_quote_for_eval_result="\"$func_quote_for_eval_unquoted_result\"" - ;; - *) - func_quote_for_eval_result="$func_quote_for_eval_unquoted_result" - esac -} - - -# func_quote_for_expand arg -# Aesthetically quote ARG to be evaled later; same as above, -# but do not quote variable references. -func_quote_for_expand () -{ - case $1 in - *[\\\`\"]*) - my_arg=`$ECHO "$1" | $SED \ - -e "$double_quote_subst" -e "$sed_double_backslash"` ;; - *) - my_arg="$1" ;; - esac - - case $my_arg in - # Double-quote args containing shell metacharacters to delay - # word splitting and command substitution for a subsequent eval. - # Many Bourne shells cannot handle close brackets correctly - # in scan sets, so we specify it separately. - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - my_arg="\"$my_arg\"" - ;; - esac - - func_quote_for_expand_result="$my_arg" -} - - -# func_show_eval cmd [fail_exp] -# Unless opt_silent is true, then output CMD. Then, if opt_dryrun is -# not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP -# is given, then evaluate it. -func_show_eval () -{ - my_cmd="$1" - my_fail_exp="${2-:}" - - ${opt_silent-false} || { - func_quote_for_expand "$my_cmd" - eval "func_echo $func_quote_for_expand_result" - } - - if ${opt_dry_run-false}; then :; else - eval "$my_cmd" - my_status=$? - if test "$my_status" -eq 0; then :; else - eval "(exit $my_status); $my_fail_exp" - fi - fi -} - - -# func_show_eval_locale cmd [fail_exp] -# Unless opt_silent is true, then output CMD. Then, if opt_dryrun is -# not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP -# is given, then evaluate it. Use the saved locale for evaluation. -func_show_eval_locale () -{ - my_cmd="$1" - my_fail_exp="${2-:}" - - ${opt_silent-false} || { - func_quote_for_expand "$my_cmd" - eval "func_echo $func_quote_for_expand_result" - } - - if ${opt_dry_run-false}; then :; else - eval "$lt_user_locale - $my_cmd" - my_status=$? - eval "$lt_safe_locale" - if test "$my_status" -eq 0; then :; else - eval "(exit $my_status); $my_fail_exp" - fi - fi -} - -# func_tr_sh -# Turn $1 into a string suitable for a shell variable name. -# Result is stored in $func_tr_sh_result. All characters -# not in the set a-zA-Z0-9_ are replaced with '_'. Further, -# if $1 begins with a digit, a '_' is prepended as well. -func_tr_sh () -{ - case $1 in - [0-9]* | *[!a-zA-Z0-9_]*) - func_tr_sh_result=`$ECHO "$1" | $SED 's/^\([0-9]\)/_\1/; s/[^a-zA-Z0-9_]/_/g'` - ;; - * ) - func_tr_sh_result=$1 - ;; - esac -} - - -# func_version -# Echo version message to standard output and exit. -func_version () -{ - $opt_debug - - $SED -n '/(C)/!b go - :more - /\./!{ - N - s/\n# / / - b more - } - :go - /^# '$PROGRAM' (GNU /,/# warranty; / { - s/^# // - s/^# *$// - s/\((C)\)[ 0-9,-]*\( [1-9][0-9]*\)/\1\2/ - p - }' < "$progpath" - exit $? -} - -# func_usage -# Echo short help message to standard output and exit. -func_usage () -{ - $opt_debug - - $SED -n '/^# Usage:/,/^# *.*--help/ { - s/^# // - s/^# *$// - s/\$progname/'$progname'/ - p - }' < "$progpath" - echo - $ECHO "run \`$progname --help | more' for full usage" - exit $? -} - -# func_help [NOEXIT] -# Echo long help message to standard output and exit, -# unless 'noexit' is passed as argument. -func_help () -{ - $opt_debug - - $SED -n '/^# Usage:/,/# Report bugs to/ { - :print - s/^# // - s/^# *$// - s*\$progname*'$progname'* - s*\$host*'"$host"'* - s*\$SHELL*'"$SHELL"'* - s*\$LTCC*'"$LTCC"'* - s*\$LTCFLAGS*'"$LTCFLAGS"'* - s*\$LD*'"$LD"'* - s/\$with_gnu_ld/'"$with_gnu_ld"'/ - s/\$automake_version/'"`(${AUTOMAKE-automake} --version) 2>/dev/null |$SED 1q`"'/ - s/\$autoconf_version/'"`(${AUTOCONF-autoconf} --version) 2>/dev/null |$SED 1q`"'/ - p - d - } - /^# .* home page:/b print - /^# General help using/b print - ' < "$progpath" - ret=$? - if test -z "$1"; then - exit $ret - fi -} - -# func_missing_arg argname -# Echo program name prefixed message to standard error and set global -# exit_cmd. -func_missing_arg () -{ - $opt_debug - - func_error "missing argument for $1." - exit_cmd=exit -} - - -# func_split_short_opt shortopt -# Set func_split_short_opt_name and func_split_short_opt_arg shell -# variables after splitting SHORTOPT after the 2nd character. -func_split_short_opt () -{ - my_sed_short_opt='1s/^\(..\).*$/\1/;q' - my_sed_short_rest='1s/^..\(.*\)$/\1/;q' - - func_split_short_opt_name=`$ECHO "$1" | $SED "$my_sed_short_opt"` - func_split_short_opt_arg=`$ECHO "$1" | $SED "$my_sed_short_rest"` -} # func_split_short_opt may be replaced by extended shell implementation - - -# func_split_long_opt longopt -# Set func_split_long_opt_name and func_split_long_opt_arg shell -# variables after splitting LONGOPT at the `=' sign. -func_split_long_opt () -{ - my_sed_long_opt='1s/^\(--[^=]*\)=.*/\1/;q' - my_sed_long_arg='1s/^--[^=]*=//' - - func_split_long_opt_name=`$ECHO "$1" | $SED "$my_sed_long_opt"` - func_split_long_opt_arg=`$ECHO "$1" | $SED "$my_sed_long_arg"` -} # func_split_long_opt may be replaced by extended shell implementation - -exit_cmd=: - - - - - -magic="%%%MAGIC variable%%%" -magic_exe="%%%MAGIC EXE variable%%%" - -# Global variables. -nonopt= -preserve_args= -lo2o="s/\\.lo\$/.${objext}/" -o2lo="s/\\.${objext}\$/.lo/" -extracted_archives= -extracted_serial=0 - -# If this variable is set in any of the actions, the command in it -# will be execed at the end. This prevents here-documents from being -# left over by shells. -exec_cmd= - -# func_append var value -# Append VALUE to the end of shell variable VAR. -func_append () -{ - eval "${1}=\$${1}\${2}" -} # func_append may be replaced by extended shell implementation - -# func_append_quoted var value -# Quote VALUE and append to the end of shell variable VAR, separated -# by a space. -func_append_quoted () -{ - func_quote_for_eval "${2}" - eval "${1}=\$${1}\\ \$func_quote_for_eval_result" -} # func_append_quoted may be replaced by extended shell implementation - - -# func_arith arithmetic-term... -func_arith () -{ - func_arith_result=`expr "${@}"` -} # func_arith may be replaced by extended shell implementation - - -# func_len string -# STRING may not start with a hyphen. -func_len () -{ - func_len_result=`expr "${1}" : ".*" 2>/dev/null || echo $max_cmd_len` -} # func_len may be replaced by extended shell implementation - - -# func_lo2o object -func_lo2o () -{ - func_lo2o_result=`$ECHO "${1}" | $SED "$lo2o"` -} # func_lo2o may be replaced by extended shell implementation - - -# func_xform libobj-or-source -func_xform () -{ - func_xform_result=`$ECHO "${1}" | $SED 's/\.[^.]*$/.lo/'` -} # func_xform may be replaced by extended shell implementation - - -# func_fatal_configuration arg... -# Echo program name prefixed message to standard error, followed by -# a configuration failure hint, and exit. -func_fatal_configuration () -{ - func_error ${1+"$@"} - func_error "See the $PACKAGE documentation for more information." - func_fatal_error "Fatal configuration error." -} - - -# func_config -# Display the configuration for all the tags in this script. -func_config () -{ - re_begincf='^# ### BEGIN LIBTOOL' - re_endcf='^# ### END LIBTOOL' - - # Default configuration. - $SED "1,/$re_begincf CONFIG/d;/$re_endcf CONFIG/,\$d" < "$progpath" - - # Now print the configurations for the tags. - for tagname in $taglist; do - $SED -n "/$re_begincf TAG CONFIG: $tagname\$/,/$re_endcf TAG CONFIG: $tagname\$/p" < "$progpath" - done - - exit $? -} - -# func_features -# Display the features supported by this script. -func_features () -{ - echo "host: $host" - if test "$build_libtool_libs" = yes; then - echo "enable shared libraries" - else - echo "disable shared libraries" - fi - if test "$build_old_libs" = yes; then - echo "enable static libraries" - else - echo "disable static libraries" - fi - - exit $? -} - -# func_enable_tag tagname -# Verify that TAGNAME is valid, and either flag an error and exit, or -# enable the TAGNAME tag. We also add TAGNAME to the global $taglist -# variable here. -func_enable_tag () -{ - # Global variable: - tagname="$1" - - re_begincf="^# ### BEGIN LIBTOOL TAG CONFIG: $tagname\$" - re_endcf="^# ### END LIBTOOL TAG CONFIG: $tagname\$" - sed_extractcf="/$re_begincf/,/$re_endcf/p" - - # Validate tagname. - case $tagname in - *[!-_A-Za-z0-9,/]*) - func_fatal_error "invalid tag name: $tagname" - ;; - esac - - # Don't test for the "default" C tag, as we know it's - # there but not specially marked. - case $tagname in - CC) ;; - *) - if $GREP "$re_begincf" "$progpath" >/dev/null 2>&1; then - taglist="$taglist $tagname" - - # Evaluate the configuration. Be careful to quote the path - # and the sed script, to avoid splitting on whitespace, but - # also don't use non-portable quotes within backquotes within - # quotes we have to do it in 2 steps: - extractedcf=`$SED -n -e "$sed_extractcf" < "$progpath"` - eval "$extractedcf" - else - func_error "ignoring unknown tag $tagname" - fi - ;; - esac -} - -# func_check_version_match -# Ensure that we are using m4 macros, and libtool script from the same -# release of libtool. -func_check_version_match () -{ - if test "$package_revision" != "$macro_revision"; then - if test "$VERSION" != "$macro_version"; then - if test -z "$macro_version"; then - cat >&2 <<_LT_EOF -$progname: Version mismatch error. This is $PACKAGE $VERSION, but the -$progname: definition of this LT_INIT comes from an older release. -$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION -$progname: and run autoconf again. -_LT_EOF - else - cat >&2 <<_LT_EOF -$progname: Version mismatch error. This is $PACKAGE $VERSION, but the -$progname: definition of this LT_INIT comes from $PACKAGE $macro_version. -$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION -$progname: and run autoconf again. -_LT_EOF - fi - else - cat >&2 <<_LT_EOF -$progname: Version mismatch error. This is $PACKAGE $VERSION, revision $package_revision, -$progname: but the definition of this LT_INIT comes from revision $macro_revision. -$progname: You should recreate aclocal.m4 with macros from revision $package_revision -$progname: of $PACKAGE $VERSION and run autoconf again. -_LT_EOF - fi - - exit $EXIT_MISMATCH - fi -} - - -# Shorthand for --mode=foo, only valid as the first argument -case $1 in -clean|clea|cle|cl) - shift; set dummy --mode clean ${1+"$@"}; shift - ;; -compile|compil|compi|comp|com|co|c) - shift; set dummy --mode compile ${1+"$@"}; shift - ;; -execute|execut|execu|exec|exe|ex|e) - shift; set dummy --mode execute ${1+"$@"}; shift - ;; -finish|finis|fini|fin|fi|f) - shift; set dummy --mode finish ${1+"$@"}; shift - ;; -install|instal|insta|inst|ins|in|i) - shift; set dummy --mode install ${1+"$@"}; shift - ;; -link|lin|li|l) - shift; set dummy --mode link ${1+"$@"}; shift - ;; -uninstall|uninstal|uninsta|uninst|unins|unin|uni|un|u) - shift; set dummy --mode uninstall ${1+"$@"}; shift - ;; -esac - - - -# Option defaults: -opt_debug=: -opt_dry_run=false -opt_config=false -opt_preserve_dup_deps=false -opt_features=false -opt_finish=false -opt_help=false -opt_help_all=false -opt_silent=: -opt_warning=: -opt_verbose=: -opt_silent=false -opt_verbose=false - - -# Parse options once, thoroughly. This comes as soon as possible in the -# script to make things like `--version' happen as quickly as we can. -{ - # this just eases exit handling - while test $# -gt 0; do - opt="$1" - shift - case $opt in - --debug|-x) opt_debug='set -x' - func_echo "enabling shell trace mode" - $opt_debug - ;; - --dry-run|--dryrun|-n) - opt_dry_run=: - ;; - --config) - opt_config=: -func_config - ;; - --dlopen|-dlopen) - optarg="$1" - opt_dlopen="${opt_dlopen+$opt_dlopen -}$optarg" - shift - ;; - --preserve-dup-deps) - opt_preserve_dup_deps=: - ;; - --features) - opt_features=: -func_features - ;; - --finish) - opt_finish=: -set dummy --mode finish ${1+"$@"}; shift - ;; - --help) - opt_help=: - ;; - --help-all) - opt_help_all=: -opt_help=': help-all' - ;; - --mode) - test $# = 0 && func_missing_arg $opt && break - optarg="$1" - opt_mode="$optarg" -case $optarg in - # Valid mode arguments: - clean|compile|execute|finish|install|link|relink|uninstall) ;; - - # Catch anything else as an error - *) func_error "invalid argument for $opt" - exit_cmd=exit - break - ;; -esac - shift - ;; - --no-silent|--no-quiet) - opt_silent=false -func_append preserve_args " $opt" - ;; - --no-warning|--no-warn) - opt_warning=false -func_append preserve_args " $opt" - ;; - --no-verbose) - opt_verbose=false -func_append preserve_args " $opt" - ;; - --silent|--quiet) - opt_silent=: -func_append preserve_args " $opt" - opt_verbose=false - ;; - --verbose|-v) - opt_verbose=: -func_append preserve_args " $opt" -opt_silent=false - ;; - --tag) - test $# = 0 && func_missing_arg $opt && break - optarg="$1" - opt_tag="$optarg" -func_append preserve_args " $opt $optarg" -func_enable_tag "$optarg" - shift - ;; - - -\?|-h) func_usage ;; - --help) func_help ;; - --version) func_version ;; - - # Separate optargs to long options: - --*=*) - func_split_long_opt "$opt" - set dummy "$func_split_long_opt_name" "$func_split_long_opt_arg" ${1+"$@"} - shift - ;; - - # Separate non-argument short options: - -\?*|-h*|-n*|-v*) - func_split_short_opt "$opt" - set dummy "$func_split_short_opt_name" "-$func_split_short_opt_arg" ${1+"$@"} - shift - ;; - - --) break ;; - -*) func_fatal_help "unrecognized option \`$opt'" ;; - *) set dummy "$opt" ${1+"$@"}; shift; break ;; - esac - done - - # Validate options: - - # save first non-option argument - if test "$#" -gt 0; then - nonopt="$opt" - shift - fi - - # preserve --debug - test "$opt_debug" = : || func_append preserve_args " --debug" - - case $host in - *cygwin* | *mingw* | *pw32* | *cegcc*) - # don't eliminate duplications in $postdeps and $predeps - opt_duplicate_compiler_generated_deps=: - ;; - *) - opt_duplicate_compiler_generated_deps=$opt_preserve_dup_deps - ;; - esac - - $opt_help || { - # Sanity checks first: - func_check_version_match - - if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then - func_fatal_configuration "not configured to build any kind of library" - fi - - # Darwin sucks - eval std_shrext=\"$shrext_cmds\" - - # Only execute mode is allowed to have -dlopen flags. - if test -n "$opt_dlopen" && test "$opt_mode" != execute; then - func_error "unrecognized option \`-dlopen'" - $ECHO "$help" 1>&2 - exit $EXIT_FAILURE - fi - - # Change the help message to a mode-specific one. - generic_help="$help" - help="Try \`$progname --help --mode=$opt_mode' for more information." - } - - - # Bail if the options were screwed - $exit_cmd $EXIT_FAILURE -} - - - - -## ----------- ## -## Main. ## -## ----------- ## - -# func_lalib_p file -# True iff FILE is a libtool `.la' library or `.lo' object file. -# This function is only a basic sanity check; it will hardly flush out -# determined imposters. -func_lalib_p () -{ - test -f "$1" && - $SED -e 4q "$1" 2>/dev/null \ - | $GREP "^# Generated by .*$PACKAGE" > /dev/null 2>&1 -} - -# func_lalib_unsafe_p file -# True iff FILE is a libtool `.la' library or `.lo' object file. -# This function implements the same check as func_lalib_p without -# resorting to external programs. To this end, it redirects stdin and -# closes it afterwards, without saving the original file descriptor. -# As a safety measure, use it only where a negative result would be -# fatal anyway. Works if `file' does not exist. -func_lalib_unsafe_p () -{ - lalib_p=no - if test -f "$1" && test -r "$1" && exec 5<&0 <"$1"; then - for lalib_p_l in 1 2 3 4 - do - read lalib_p_line - case "$lalib_p_line" in - \#\ Generated\ by\ *$PACKAGE* ) lalib_p=yes; break;; - esac - done - exec 0<&5 5<&- - fi - test "$lalib_p" = yes -} - -# func_ltwrapper_script_p file -# True iff FILE is a libtool wrapper script -# This function is only a basic sanity check; it will hardly flush out -# determined imposters. -func_ltwrapper_script_p () -{ - func_lalib_p "$1" -} - -# func_ltwrapper_executable_p file -# True iff FILE is a libtool wrapper executable -# This function is only a basic sanity check; it will hardly flush out -# determined imposters. -func_ltwrapper_executable_p () -{ - func_ltwrapper_exec_suffix= - case $1 in - *.exe) ;; - *) func_ltwrapper_exec_suffix=.exe ;; - esac - $GREP "$magic_exe" "$1$func_ltwrapper_exec_suffix" >/dev/null 2>&1 -} - -# func_ltwrapper_scriptname file -# Assumes file is an ltwrapper_executable -# uses $file to determine the appropriate filename for a -# temporary ltwrapper_script. -func_ltwrapper_scriptname () -{ - func_dirname_and_basename "$1" "" "." - func_stripname '' '.exe' "$func_basename_result" - func_ltwrapper_scriptname_result="$func_dirname_result/$objdir/${func_stripname_result}_ltshwrapper" -} - -# func_ltwrapper_p file -# True iff FILE is a libtool wrapper script or wrapper executable -# This function is only a basic sanity check; it will hardly flush out -# determined imposters. -func_ltwrapper_p () -{ - func_ltwrapper_script_p "$1" || func_ltwrapper_executable_p "$1" -} - - -# func_execute_cmds commands fail_cmd -# Execute tilde-delimited COMMANDS. -# If FAIL_CMD is given, eval that upon failure. -# FAIL_CMD may read-access the current command in variable CMD! -func_execute_cmds () -{ - $opt_debug - save_ifs=$IFS; IFS='~' - for cmd in $1; do - IFS=$save_ifs - eval cmd=\"$cmd\" - func_show_eval "$cmd" "${2-:}" - done - IFS=$save_ifs -} - - -# func_source file -# Source FILE, adding directory component if necessary. -# Note that it is not necessary on cygwin/mingw to append a dot to -# FILE even if both FILE and FILE.exe exist: automatic-append-.exe -# behavior happens only for exec(3), not for open(2)! Also, sourcing -# `FILE.' does not work on cygwin managed mounts. -func_source () -{ - $opt_debug - case $1 in - */* | *\\*) . "$1" ;; - *) . "./$1" ;; - esac -} - - -# func_resolve_sysroot PATH -# Replace a leading = in PATH with a sysroot. Store the result into -# func_resolve_sysroot_result -func_resolve_sysroot () -{ - func_resolve_sysroot_result=$1 - case $func_resolve_sysroot_result in - =*) - func_stripname '=' '' "$func_resolve_sysroot_result" - func_resolve_sysroot_result=$lt_sysroot$func_stripname_result - ;; - esac -} - -# func_replace_sysroot PATH -# If PATH begins with the sysroot, replace it with = and -# store the result into func_replace_sysroot_result. -func_replace_sysroot () -{ - case "$lt_sysroot:$1" in - ?*:"$lt_sysroot"*) - func_stripname "$lt_sysroot" '' "$1" - func_replace_sysroot_result="=$func_stripname_result" - ;; - *) - # Including no sysroot. - func_replace_sysroot_result=$1 - ;; - esac -} - -# func_infer_tag arg -# Infer tagged configuration to use if any are available and -# if one wasn't chosen via the "--tag" command line option. -# Only attempt this if the compiler in the base compile -# command doesn't match the default compiler. -# arg is usually of the form 'gcc ...' -func_infer_tag () -{ - $opt_debug - if test -n "$available_tags" && test -z "$tagname"; then - CC_quoted= - for arg in $CC; do - func_append_quoted CC_quoted "$arg" - done - CC_expanded=`func_echo_all $CC` - CC_quoted_expanded=`func_echo_all $CC_quoted` - case $@ in - # Blanks in the command may have been stripped by the calling shell, - # but not from the CC environment variable when configure was run. - " $CC "* | "$CC "* | " $CC_expanded "* | "$CC_expanded "* | \ - " $CC_quoted"* | "$CC_quoted "* | " $CC_quoted_expanded "* | "$CC_quoted_expanded "*) ;; - # Blanks at the start of $base_compile will cause this to fail - # if we don't check for them as well. - *) - for z in $available_tags; do - if $GREP "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then - # Evaluate the configuration. - eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`" - CC_quoted= - for arg in $CC; do - # Double-quote args containing other shell metacharacters. - func_append_quoted CC_quoted "$arg" - done - CC_expanded=`func_echo_all $CC` - CC_quoted_expanded=`func_echo_all $CC_quoted` - case "$@ " in - " $CC "* | "$CC "* | " $CC_expanded "* | "$CC_expanded "* | \ - " $CC_quoted"* | "$CC_quoted "* | " $CC_quoted_expanded "* | "$CC_quoted_expanded "*) - # The compiler in the base compile command matches - # the one in the tagged configuration. - # Assume this is the tagged configuration we want. - tagname=$z - break - ;; - esac - fi - done - # If $tagname still isn't set, then no tagged configuration - # was found and let the user know that the "--tag" command - # line option must be used. - if test -z "$tagname"; then - func_echo "unable to infer tagged configuration" - func_fatal_error "specify a tag with \`--tag'" -# else -# func_verbose "using $tagname tagged configuration" - fi - ;; - esac - fi -} - - - -# func_write_libtool_object output_name pic_name nonpic_name -# Create a libtool object file (analogous to a ".la" file), -# but don't create it if we're doing a dry run. -func_write_libtool_object () -{ - write_libobj=${1} - if test "$build_libtool_libs" = yes; then - write_lobj=\'${2}\' - else - write_lobj=none - fi - - if test "$build_old_libs" = yes; then - write_oldobj=\'${3}\' - else - write_oldobj=none - fi - - $opt_dry_run || { - cat >${write_libobj}T </dev/null` - if test "$?" -eq 0 && test -n "${func_convert_core_file_wine_to_w32_tmp}"; then - func_convert_core_file_wine_to_w32_result=`$ECHO "$func_convert_core_file_wine_to_w32_tmp" | - $SED -e "$lt_sed_naive_backslashify"` - else - func_convert_core_file_wine_to_w32_result= - fi - fi -} -# end: func_convert_core_file_wine_to_w32 - - -# func_convert_core_path_wine_to_w32 ARG -# Helper function used by path conversion functions when $build is *nix, and -# $host is mingw, cygwin, or some other w32 environment. Relies on a correctly -# configured wine environment available, with the winepath program in $build's -# $PATH. Assumes ARG has no leading or trailing path separator characters. -# -# ARG is path to be converted from $build format to win32. -# Result is available in $func_convert_core_path_wine_to_w32_result. -# Unconvertible file (directory) names in ARG are skipped; if no directory names -# are convertible, then the result may be empty. -func_convert_core_path_wine_to_w32 () -{ - $opt_debug - # unfortunately, winepath doesn't convert paths, only file names - func_convert_core_path_wine_to_w32_result="" - if test -n "$1"; then - oldIFS=$IFS - IFS=: - for func_convert_core_path_wine_to_w32_f in $1; do - IFS=$oldIFS - func_convert_core_file_wine_to_w32 "$func_convert_core_path_wine_to_w32_f" - if test -n "$func_convert_core_file_wine_to_w32_result" ; then - if test -z "$func_convert_core_path_wine_to_w32_result"; then - func_convert_core_path_wine_to_w32_result="$func_convert_core_file_wine_to_w32_result" - else - func_append func_convert_core_path_wine_to_w32_result ";$func_convert_core_file_wine_to_w32_result" - fi - fi - done - IFS=$oldIFS - fi -} -# end: func_convert_core_path_wine_to_w32 - - -# func_cygpath ARGS... -# Wrapper around calling the cygpath program via LT_CYGPATH. This is used when -# when (1) $build is *nix and Cygwin is hosted via a wine environment; or (2) -# $build is MSYS and $host is Cygwin, or (3) $build is Cygwin. In case (1) or -# (2), returns the Cygwin file name or path in func_cygpath_result (input -# file name or path is assumed to be in w32 format, as previously converted -# from $build's *nix or MSYS format). In case (3), returns the w32 file name -# or path in func_cygpath_result (input file name or path is assumed to be in -# Cygwin format). Returns an empty string on error. -# -# ARGS are passed to cygpath, with the last one being the file name or path to -# be converted. -# -# Specify the absolute *nix (or w32) name to cygpath in the LT_CYGPATH -# environment variable; do not put it in $PATH. -func_cygpath () -{ - $opt_debug - if test -n "$LT_CYGPATH" && test -f "$LT_CYGPATH"; then - func_cygpath_result=`$LT_CYGPATH "$@" 2>/dev/null` - if test "$?" -ne 0; then - # on failure, ensure result is empty - func_cygpath_result= - fi - else - func_cygpath_result= - func_error "LT_CYGPATH is empty or specifies non-existent file: \`$LT_CYGPATH'" - fi -} -#end: func_cygpath - - -# func_convert_core_msys_to_w32 ARG -# Convert file name or path ARG from MSYS format to w32 format. Return -# result in func_convert_core_msys_to_w32_result. -func_convert_core_msys_to_w32 () -{ - $opt_debug - # awkward: cmd appends spaces to result - func_convert_core_msys_to_w32_result=`( cmd //c echo "$1" ) 2>/dev/null | - $SED -e 's/[ ]*$//' -e "$lt_sed_naive_backslashify"` -} -#end: func_convert_core_msys_to_w32 - - -# func_convert_file_check ARG1 ARG2 -# Verify that ARG1 (a file name in $build format) was converted to $host -# format in ARG2. Otherwise, emit an error message, but continue (resetting -# func_to_host_file_result to ARG1). -func_convert_file_check () -{ - $opt_debug - if test -z "$2" && test -n "$1" ; then - func_error "Could not determine host file name corresponding to" - func_error " \`$1'" - func_error "Continuing, but uninstalled executables may not work." - # Fallback: - func_to_host_file_result="$1" - fi -} -# end func_convert_file_check - - -# func_convert_path_check FROM_PATHSEP TO_PATHSEP FROM_PATH TO_PATH -# Verify that FROM_PATH (a path in $build format) was converted to $host -# format in TO_PATH. Otherwise, emit an error message, but continue, resetting -# func_to_host_file_result to a simplistic fallback value (see below). -func_convert_path_check () -{ - $opt_debug - if test -z "$4" && test -n "$3"; then - func_error "Could not determine the host path corresponding to" - func_error " \`$3'" - func_error "Continuing, but uninstalled executables may not work." - # Fallback. This is a deliberately simplistic "conversion" and - # should not be "improved". See libtool.info. - if test "x$1" != "x$2"; then - lt_replace_pathsep_chars="s|$1|$2|g" - func_to_host_path_result=`echo "$3" | - $SED -e "$lt_replace_pathsep_chars"` - else - func_to_host_path_result="$3" - fi - fi -} -# end func_convert_path_check - - -# func_convert_path_front_back_pathsep FRONTPAT BACKPAT REPL ORIG -# Modifies func_to_host_path_result by prepending REPL if ORIG matches FRONTPAT -# and appending REPL if ORIG matches BACKPAT. -func_convert_path_front_back_pathsep () -{ - $opt_debug - case $4 in - $1 ) func_to_host_path_result="$3$func_to_host_path_result" - ;; - esac - case $4 in - $2 ) func_append func_to_host_path_result "$3" - ;; - esac -} -# end func_convert_path_front_back_pathsep - - -################################################## -# $build to $host FILE NAME CONVERSION FUNCTIONS # -################################################## -# invoked via `$to_host_file_cmd ARG' -# -# In each case, ARG is the path to be converted from $build to $host format. -# Result will be available in $func_to_host_file_result. - - -# func_to_host_file ARG -# Converts the file name ARG from $build format to $host format. Return result -# in func_to_host_file_result. -func_to_host_file () -{ - $opt_debug - $to_host_file_cmd "$1" -} -# end func_to_host_file - - -# func_to_tool_file ARG LAZY -# converts the file name ARG from $build format to toolchain format. Return -# result in func_to_tool_file_result. If the conversion in use is listed -# in (the comma separated) LAZY, no conversion takes place. -func_to_tool_file () -{ - $opt_debug - case ,$2, in - *,"$to_tool_file_cmd",*) - func_to_tool_file_result=$1 - ;; - *) - $to_tool_file_cmd "$1" - func_to_tool_file_result=$func_to_host_file_result - ;; - esac -} -# end func_to_tool_file - - -# func_convert_file_noop ARG -# Copy ARG to func_to_host_file_result. -func_convert_file_noop () -{ - func_to_host_file_result="$1" -} -# end func_convert_file_noop - - -# func_convert_file_msys_to_w32 ARG -# Convert file name ARG from (mingw) MSYS to (mingw) w32 format; automatic -# conversion to w32 is not available inside the cwrapper. Returns result in -# func_to_host_file_result. -func_convert_file_msys_to_w32 () -{ - $opt_debug - func_to_host_file_result="$1" - if test -n "$1"; then - func_convert_core_msys_to_w32 "$1" - func_to_host_file_result="$func_convert_core_msys_to_w32_result" - fi - func_convert_file_check "$1" "$func_to_host_file_result" -} -# end func_convert_file_msys_to_w32 - - -# func_convert_file_cygwin_to_w32 ARG -# Convert file name ARG from Cygwin to w32 format. Returns result in -# func_to_host_file_result. -func_convert_file_cygwin_to_w32 () -{ - $opt_debug - func_to_host_file_result="$1" - if test -n "$1"; then - # because $build is cygwin, we call "the" cygpath in $PATH; no need to use - # LT_CYGPATH in this case. - func_to_host_file_result=`cygpath -m "$1"` - fi - func_convert_file_check "$1" "$func_to_host_file_result" -} -# end func_convert_file_cygwin_to_w32 - - -# func_convert_file_nix_to_w32 ARG -# Convert file name ARG from *nix to w32 format. Requires a wine environment -# and a working winepath. Returns result in func_to_host_file_result. -func_convert_file_nix_to_w32 () -{ - $opt_debug - func_to_host_file_result="$1" - if test -n "$1"; then - func_convert_core_file_wine_to_w32 "$1" - func_to_host_file_result="$func_convert_core_file_wine_to_w32_result" - fi - func_convert_file_check "$1" "$func_to_host_file_result" -} -# end func_convert_file_nix_to_w32 - - -# func_convert_file_msys_to_cygwin ARG -# Convert file name ARG from MSYS to Cygwin format. Requires LT_CYGPATH set. -# Returns result in func_to_host_file_result. -func_convert_file_msys_to_cygwin () -{ - $opt_debug - func_to_host_file_result="$1" - if test -n "$1"; then - func_convert_core_msys_to_w32 "$1" - func_cygpath -u "$func_convert_core_msys_to_w32_result" - func_to_host_file_result="$func_cygpath_result" - fi - func_convert_file_check "$1" "$func_to_host_file_result" -} -# end func_convert_file_msys_to_cygwin - - -# func_convert_file_nix_to_cygwin ARG -# Convert file name ARG from *nix to Cygwin format. Requires Cygwin installed -# in a wine environment, working winepath, and LT_CYGPATH set. Returns result -# in func_to_host_file_result. -func_convert_file_nix_to_cygwin () -{ - $opt_debug - func_to_host_file_result="$1" - if test -n "$1"; then - # convert from *nix to w32, then use cygpath to convert from w32 to cygwin. - func_convert_core_file_wine_to_w32 "$1" - func_cygpath -u "$func_convert_core_file_wine_to_w32_result" - func_to_host_file_result="$func_cygpath_result" - fi - func_convert_file_check "$1" "$func_to_host_file_result" -} -# end func_convert_file_nix_to_cygwin - - -############################################# -# $build to $host PATH CONVERSION FUNCTIONS # -############################################# -# invoked via `$to_host_path_cmd ARG' -# -# In each case, ARG is the path to be converted from $build to $host format. -# The result will be available in $func_to_host_path_result. -# -# Path separators are also converted from $build format to $host format. If -# ARG begins or ends with a path separator character, it is preserved (but -# converted to $host format) on output. -# -# All path conversion functions are named using the following convention: -# file name conversion function : func_convert_file_X_to_Y () -# path conversion function : func_convert_path_X_to_Y () -# where, for any given $build/$host combination the 'X_to_Y' value is the -# same. If conversion functions are added for new $build/$host combinations, -# the two new functions must follow this pattern, or func_init_to_host_path_cmd -# will break. - - -# func_init_to_host_path_cmd -# Ensures that function "pointer" variable $to_host_path_cmd is set to the -# appropriate value, based on the value of $to_host_file_cmd. -to_host_path_cmd= -func_init_to_host_path_cmd () -{ - $opt_debug - if test -z "$to_host_path_cmd"; then - func_stripname 'func_convert_file_' '' "$to_host_file_cmd" - to_host_path_cmd="func_convert_path_${func_stripname_result}" - fi -} - - -# func_to_host_path ARG -# Converts the path ARG from $build format to $host format. Return result -# in func_to_host_path_result. -func_to_host_path () -{ - $opt_debug - func_init_to_host_path_cmd - $to_host_path_cmd "$1" -} -# end func_to_host_path - - -# func_convert_path_noop ARG -# Copy ARG to func_to_host_path_result. -func_convert_path_noop () -{ - func_to_host_path_result="$1" -} -# end func_convert_path_noop - - -# func_convert_path_msys_to_w32 ARG -# Convert path ARG from (mingw) MSYS to (mingw) w32 format; automatic -# conversion to w32 is not available inside the cwrapper. Returns result in -# func_to_host_path_result. -func_convert_path_msys_to_w32 () -{ - $opt_debug - func_to_host_path_result="$1" - if test -n "$1"; then - # Remove leading and trailing path separator characters from ARG. MSYS - # behavior is inconsistent here; cygpath turns them into '.;' and ';.'; - # and winepath ignores them completely. - func_stripname : : "$1" - func_to_host_path_tmp1=$func_stripname_result - func_convert_core_msys_to_w32 "$func_to_host_path_tmp1" - func_to_host_path_result="$func_convert_core_msys_to_w32_result" - func_convert_path_check : ";" \ - "$func_to_host_path_tmp1" "$func_to_host_path_result" - func_convert_path_front_back_pathsep ":*" "*:" ";" "$1" - fi -} -# end func_convert_path_msys_to_w32 - - -# func_convert_path_cygwin_to_w32 ARG -# Convert path ARG from Cygwin to w32 format. Returns result in -# func_to_host_file_result. -func_convert_path_cygwin_to_w32 () -{ - $opt_debug - func_to_host_path_result="$1" - if test -n "$1"; then - # See func_convert_path_msys_to_w32: - func_stripname : : "$1" - func_to_host_path_tmp1=$func_stripname_result - func_to_host_path_result=`cygpath -m -p "$func_to_host_path_tmp1"` - func_convert_path_check : ";" \ - "$func_to_host_path_tmp1" "$func_to_host_path_result" - func_convert_path_front_back_pathsep ":*" "*:" ";" "$1" - fi -} -# end func_convert_path_cygwin_to_w32 - - -# func_convert_path_nix_to_w32 ARG -# Convert path ARG from *nix to w32 format. Requires a wine environment and -# a working winepath. Returns result in func_to_host_file_result. -func_convert_path_nix_to_w32 () -{ - $opt_debug - func_to_host_path_result="$1" - if test -n "$1"; then - # See func_convert_path_msys_to_w32: - func_stripname : : "$1" - func_to_host_path_tmp1=$func_stripname_result - func_convert_core_path_wine_to_w32 "$func_to_host_path_tmp1" - func_to_host_path_result="$func_convert_core_path_wine_to_w32_result" - func_convert_path_check : ";" \ - "$func_to_host_path_tmp1" "$func_to_host_path_result" - func_convert_path_front_back_pathsep ":*" "*:" ";" "$1" - fi -} -# end func_convert_path_nix_to_w32 - - -# func_convert_path_msys_to_cygwin ARG -# Convert path ARG from MSYS to Cygwin format. Requires LT_CYGPATH set. -# Returns result in func_to_host_file_result. -func_convert_path_msys_to_cygwin () -{ - $opt_debug - func_to_host_path_result="$1" - if test -n "$1"; then - # See func_convert_path_msys_to_w32: - func_stripname : : "$1" - func_to_host_path_tmp1=$func_stripname_result - func_convert_core_msys_to_w32 "$func_to_host_path_tmp1" - func_cygpath -u -p "$func_convert_core_msys_to_w32_result" - func_to_host_path_result="$func_cygpath_result" - func_convert_path_check : : \ - "$func_to_host_path_tmp1" "$func_to_host_path_result" - func_convert_path_front_back_pathsep ":*" "*:" : "$1" - fi -} -# end func_convert_path_msys_to_cygwin - - -# func_convert_path_nix_to_cygwin ARG -# Convert path ARG from *nix to Cygwin format. Requires Cygwin installed in a -# a wine environment, working winepath, and LT_CYGPATH set. Returns result in -# func_to_host_file_result. -func_convert_path_nix_to_cygwin () -{ - $opt_debug - func_to_host_path_result="$1" - if test -n "$1"; then - # Remove leading and trailing path separator characters from - # ARG. msys behavior is inconsistent here, cygpath turns them - # into '.;' and ';.', and winepath ignores them completely. - func_stripname : : "$1" - func_to_host_path_tmp1=$func_stripname_result - func_convert_core_path_wine_to_w32 "$func_to_host_path_tmp1" - func_cygpath -u -p "$func_convert_core_path_wine_to_w32_result" - func_to_host_path_result="$func_cygpath_result" - func_convert_path_check : : \ - "$func_to_host_path_tmp1" "$func_to_host_path_result" - func_convert_path_front_back_pathsep ":*" "*:" : "$1" - fi -} -# end func_convert_path_nix_to_cygwin - - -# func_mode_compile arg... -func_mode_compile () -{ - $opt_debug - # Get the compilation command and the source file. - base_compile= - srcfile="$nonopt" # always keep a non-empty value in "srcfile" - suppress_opt=yes - suppress_output= - arg_mode=normal - libobj= - later= - pie_flag= - - for arg - do - case $arg_mode in - arg ) - # do not "continue". Instead, add this to base_compile - lastarg="$arg" - arg_mode=normal - ;; - - target ) - libobj="$arg" - arg_mode=normal - continue - ;; - - normal ) - # Accept any command-line options. - case $arg in - -o) - test -n "$libobj" && \ - func_fatal_error "you cannot specify \`-o' more than once" - arg_mode=target - continue - ;; - - -pie | -fpie | -fPIE) - func_append pie_flag " $arg" - continue - ;; - - -shared | -static | -prefer-pic | -prefer-non-pic) - func_append later " $arg" - continue - ;; - - -no-suppress) - suppress_opt=no - continue - ;; - - -Xcompiler) - arg_mode=arg # the next one goes into the "base_compile" arg list - continue # The current "srcfile" will either be retained or - ;; # replaced later. I would guess that would be a bug. - - -Wc,*) - func_stripname '-Wc,' '' "$arg" - args=$func_stripname_result - lastarg= - save_ifs="$IFS"; IFS=',' - for arg in $args; do - IFS="$save_ifs" - func_append_quoted lastarg "$arg" - done - IFS="$save_ifs" - func_stripname ' ' '' "$lastarg" - lastarg=$func_stripname_result - - # Add the arguments to base_compile. - func_append base_compile " $lastarg" - continue - ;; - - *) - # Accept the current argument as the source file. - # The previous "srcfile" becomes the current argument. - # - lastarg="$srcfile" - srcfile="$arg" - ;; - esac # case $arg - ;; - esac # case $arg_mode - - # Aesthetically quote the previous argument. - func_append_quoted base_compile "$lastarg" - done # for arg - - case $arg_mode in - arg) - func_fatal_error "you must specify an argument for -Xcompile" - ;; - target) - func_fatal_error "you must specify a target with \`-o'" - ;; - *) - # Get the name of the library object. - test -z "$libobj" && { - func_basename "$srcfile" - libobj="$func_basename_result" - } - ;; - esac - - # Recognize several different file suffixes. - # If the user specifies -o file.o, it is replaced with file.lo - case $libobj in - *.[cCFSifmso] | \ - *.ada | *.adb | *.ads | *.asm | \ - *.c++ | *.cc | *.ii | *.class | *.cpp | *.cxx | \ - *.[fF][09]? | *.for | *.java | *.go | *.obj | *.sx | *.cu | *.cup) - func_xform "$libobj" - libobj=$func_xform_result - ;; - esac - - case $libobj in - *.lo) func_lo2o "$libobj"; obj=$func_lo2o_result ;; - *) - func_fatal_error "cannot determine name of library object from \`$libobj'" - ;; - esac - - func_infer_tag $base_compile - - for arg in $later; do - case $arg in - -shared) - test "$build_libtool_libs" != yes && \ - func_fatal_configuration "can not build a shared library" - build_old_libs=no - continue - ;; - - -static) - build_libtool_libs=no - build_old_libs=yes - continue - ;; - - -prefer-pic) - pic_mode=yes - continue - ;; - - -prefer-non-pic) - pic_mode=no - continue - ;; - esac - done - - func_quote_for_eval "$libobj" - test "X$libobj" != "X$func_quote_for_eval_result" \ - && $ECHO "X$libobj" | $GREP '[]~#^*{};<>?"'"'"' &()|`$[]' \ - && func_warning "libobj name \`$libobj' may not contain shell special characters." - func_dirname_and_basename "$obj" "/" "" - objname="$func_basename_result" - xdir="$func_dirname_result" - lobj=${xdir}$objdir/$objname - - test -z "$base_compile" && \ - func_fatal_help "you must specify a compilation command" - - # Delete any leftover library objects. - if test "$build_old_libs" = yes; then - removelist="$obj $lobj $libobj ${libobj}T" - else - removelist="$lobj $libobj ${libobj}T" - fi - - # On Cygwin there's no "real" PIC flag so we must build both object types - case $host_os in - cygwin* | mingw* | pw32* | os2* | cegcc*) - pic_mode=default - ;; - esac - if test "$pic_mode" = no && test "$deplibs_check_method" != pass_all; then - # non-PIC code in shared libraries is not supported - pic_mode=default - fi - - # Calculate the filename of the output object if compiler does - # not support -o with -c - if test "$compiler_c_o" = no; then - output_obj=`$ECHO "$srcfile" | $SED 's%^.*/%%; s%\.[^.]*$%%'`.${objext} - lockfile="$output_obj.lock" - else - output_obj= - need_locks=no - lockfile= - fi - - # Lock this critical section if it is needed - # We use this script file to make the link, it avoids creating a new file - if test "$need_locks" = yes; then - until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do - func_echo "Waiting for $lockfile to be removed" - sleep 2 - done - elif test "$need_locks" = warn; then - if test -f "$lockfile"; then - $ECHO "\ -*** ERROR, $lockfile exists and contains: -`cat $lockfile 2>/dev/null` - -This indicates that another process is trying to use the same -temporary object file, and libtool could not work around it because -your compiler does not support \`-c' and \`-o' together. If you -repeat this compilation, it may succeed, by chance, but you had better -avoid parallel builds (make -j) in this platform, or get a better -compiler." - - $opt_dry_run || $RM $removelist - exit $EXIT_FAILURE - fi - func_append removelist " $output_obj" - $ECHO "$srcfile" > "$lockfile" - fi - - $opt_dry_run || $RM $removelist - func_append removelist " $lockfile" - trap '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' 1 2 15 - - func_to_tool_file "$srcfile" func_convert_file_msys_to_w32 - srcfile=$func_to_tool_file_result - func_quote_for_eval "$srcfile" - qsrcfile=$func_quote_for_eval_result - - # Only build a PIC object if we are building libtool libraries. - if test "$build_libtool_libs" = yes; then - # Without this assignment, base_compile gets emptied. - fbsd_hideous_sh_bug=$base_compile - - if test "$pic_mode" != no; then - command="$base_compile $qsrcfile $pic_flag" - else - # Don't build PIC code - command="$base_compile $qsrcfile" - fi - - func_mkdir_p "$xdir$objdir" - - if test -z "$output_obj"; then - # Place PIC objects in $objdir - func_append command " -o $lobj" - fi - - func_show_eval_locale "$command" \ - 'test -n "$output_obj" && $RM $removelist; exit $EXIT_FAILURE' - - if test "$need_locks" = warn && - test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then - $ECHO "\ -*** ERROR, $lockfile contains: -`cat $lockfile 2>/dev/null` - -but it should contain: -$srcfile - -This indicates that another process is trying to use the same -temporary object file, and libtool could not work around it because -your compiler does not support \`-c' and \`-o' together. If you -repeat this compilation, it may succeed, by chance, but you had better -avoid parallel builds (make -j) in this platform, or get a better -compiler." - - $opt_dry_run || $RM $removelist - exit $EXIT_FAILURE - fi - - # Just move the object if needed, then go on to compile the next one - if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then - func_show_eval '$MV "$output_obj" "$lobj"' \ - 'error=$?; $opt_dry_run || $RM $removelist; exit $error' - fi - - # Allow error messages only from the first compilation. - if test "$suppress_opt" = yes; then - suppress_output=' >/dev/null 2>&1' - fi - fi - - # Only build a position-dependent object if we build old libraries. - if test "$build_old_libs" = yes; then - if test "$pic_mode" != yes; then - # Don't build PIC code - command="$base_compile $qsrcfile$pie_flag" - else - command="$base_compile $qsrcfile $pic_flag" - fi - if test "$compiler_c_o" = yes; then - func_append command " -o $obj" - fi - - # Suppress compiler output if we already did a PIC compilation. - func_append command "$suppress_output" - func_show_eval_locale "$command" \ - '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' - - if test "$need_locks" = warn && - test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then - $ECHO "\ -*** ERROR, $lockfile contains: -`cat $lockfile 2>/dev/null` - -but it should contain: -$srcfile - -This indicates that another process is trying to use the same -temporary object file, and libtool could not work around it because -your compiler does not support \`-c' and \`-o' together. If you -repeat this compilation, it may succeed, by chance, but you had better -avoid parallel builds (make -j) in this platform, or get a better -compiler." - - $opt_dry_run || $RM $removelist - exit $EXIT_FAILURE - fi - - # Just move the object if needed - if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then - func_show_eval '$MV "$output_obj" "$obj"' \ - 'error=$?; $opt_dry_run || $RM $removelist; exit $error' - fi - fi - - $opt_dry_run || { - func_write_libtool_object "$libobj" "$objdir/$objname" "$objname" - - # Unlock the critical section if it was locked - if test "$need_locks" != no; then - removelist=$lockfile - $RM "$lockfile" - fi - } - - exit $EXIT_SUCCESS -} - -$opt_help || { - test "$opt_mode" = compile && func_mode_compile ${1+"$@"} -} - -func_mode_help () -{ - # We need to display help for each of the modes. - case $opt_mode in - "") - # Generic help is extracted from the usage comments - # at the start of this file. - func_help - ;; - - clean) - $ECHO \ -"Usage: $progname [OPTION]... --mode=clean RM [RM-OPTION]... FILE... - -Remove files from the build directory. - -RM is the name of the program to use to delete files associated with each FILE -(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed -to RM. - -If FILE is a libtool library, object or program, all the files associated -with it are deleted. Otherwise, only FILE itself is deleted using RM." - ;; - - compile) - $ECHO \ -"Usage: $progname [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE - -Compile a source file into a libtool library object. - -This mode accepts the following additional options: - - -o OUTPUT-FILE set the output file name to OUTPUT-FILE - -no-suppress do not suppress compiler output for multiple passes - -prefer-pic try to build PIC objects only - -prefer-non-pic try to build non-PIC objects only - -shared do not build a \`.o' file suitable for static linking - -static only build a \`.o' file suitable for static linking - -Wc,FLAG pass FLAG directly to the compiler - -COMPILE-COMMAND is a command to be used in creating a \`standard' object file -from the given SOURCEFILE. - -The output file name is determined by removing the directory component from -SOURCEFILE, then substituting the C source code suffix \`.c' with the -library object suffix, \`.lo'." - ;; - - execute) - $ECHO \ -"Usage: $progname [OPTION]... --mode=execute COMMAND [ARGS]... - -Automatically set library path, then run a program. - -This mode accepts the following additional options: - - -dlopen FILE add the directory containing FILE to the library path - -This mode sets the library path environment variable according to \`-dlopen' -flags. - -If any of the ARGS are libtool executable wrappers, then they are translated -into their corresponding uninstalled binary, and any of their required library -directories are added to the library path. - -Then, COMMAND is executed, with ARGS as arguments." - ;; - - finish) - $ECHO \ -"Usage: $progname [OPTION]... --mode=finish [LIBDIR]... - -Complete the installation of libtool libraries. - -Each LIBDIR is a directory that contains libtool libraries. - -The commands that this mode executes may require superuser privileges. Use -the \`--dry-run' option if you just want to see what would be executed." - ;; - - install) - $ECHO \ -"Usage: $progname [OPTION]... --mode=install INSTALL-COMMAND... - -Install executables or libraries. - -INSTALL-COMMAND is the installation command. The first component should be -either the \`install' or \`cp' program. - -The following components of INSTALL-COMMAND are treated specially: - - -inst-prefix-dir PREFIX-DIR Use PREFIX-DIR as a staging area for installation - -The rest of the components are interpreted as arguments to that command (only -BSD-compatible install options are recognized)." - ;; - - link) - $ECHO \ -"Usage: $progname [OPTION]... --mode=link LINK-COMMAND... - -Link object files or libraries together to form another library, or to -create an executable program. - -LINK-COMMAND is a command using the C compiler that you would use to create -a program from several object files. - -The following components of LINK-COMMAND are treated specially: - - -all-static do not do any dynamic linking at all - -avoid-version do not add a version suffix if possible - -bindir BINDIR specify path to binaries directory (for systems where - libraries must be found in the PATH setting at runtime) - -dlopen FILE \`-dlpreopen' FILE if it cannot be dlopened at runtime - -dlpreopen FILE link in FILE and add its symbols to lt_preloaded_symbols - -export-dynamic allow symbols from OUTPUT-FILE to be resolved with dlsym(3) - -export-symbols SYMFILE - try to export only the symbols listed in SYMFILE - -export-symbols-regex REGEX - try to export only the symbols matching REGEX - -LLIBDIR search LIBDIR for required installed libraries - -lNAME OUTPUT-FILE requires the installed library libNAME - -module build a library that can dlopened - -no-fast-install disable the fast-install mode - -no-install link a not-installable executable - -no-undefined declare that a library does not refer to external symbols - -o OUTPUT-FILE create OUTPUT-FILE from the specified objects - -objectlist FILE Use a list of object files found in FILE to specify objects - -precious-files-regex REGEX - don't remove output files matching REGEX - -release RELEASE specify package release information - -rpath LIBDIR the created library will eventually be installed in LIBDIR - -R[ ]LIBDIR add LIBDIR to the runtime path of programs and libraries - -shared only do dynamic linking of libtool libraries - -shrext SUFFIX override the standard shared library file extension - -static do not do any dynamic linking of uninstalled libtool libraries - -static-libtool-libs - do not do any dynamic linking of libtool libraries - -version-info CURRENT[:REVISION[:AGE]] - specify library version info [each variable defaults to 0] - -weak LIBNAME declare that the target provides the LIBNAME interface - -Wc,FLAG - -Xcompiler FLAG pass linker-specific FLAG directly to the compiler - -Wl,FLAG - -Xlinker FLAG pass linker-specific FLAG directly to the linker - -XCClinker FLAG pass link-specific FLAG to the compiler driver (CC) - -All other options (arguments beginning with \`-') are ignored. - -Every other argument is treated as a filename. Files ending in \`.la' are -treated as uninstalled libtool libraries, other files are standard or library -object files. - -If the OUTPUT-FILE ends in \`.la', then a libtool library is created, -only library objects (\`.lo' files) may be specified, and \`-rpath' is -required, except when creating a convenience library. - -If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created -using \`ar' and \`ranlib', or on Windows using \`lib'. - -If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file -is created, otherwise an executable program is created." - ;; - - uninstall) - $ECHO \ -"Usage: $progname [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE... - -Remove libraries from an installation directory. - -RM is the name of the program to use to delete files associated with each FILE -(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed -to RM. - -If FILE is a libtool library, all the files associated with it are deleted. -Otherwise, only FILE itself is deleted using RM." - ;; - - *) - func_fatal_help "invalid operation mode \`$opt_mode'" - ;; - esac - - echo - $ECHO "Try \`$progname --help' for more information about other modes." -} - -# Now that we've collected a possible --mode arg, show help if necessary -if $opt_help; then - if test "$opt_help" = :; then - func_mode_help - else - { - func_help noexit - for opt_mode in compile link execute install finish uninstall clean; do - func_mode_help - done - } | sed -n '1p; 2,$s/^Usage:/ or: /p' - { - func_help noexit - for opt_mode in compile link execute install finish uninstall clean; do - echo - func_mode_help - done - } | - sed '1d - /^When reporting/,/^Report/{ - H - d - } - $x - /information about other modes/d - /more detailed .*MODE/d - s/^Usage:.*--mode=\([^ ]*\) .*/Description of \1 mode:/' - fi - exit $? -fi - - -# func_mode_execute arg... -func_mode_execute () -{ - $opt_debug - # The first argument is the command name. - cmd="$nonopt" - test -z "$cmd" && \ - func_fatal_help "you must specify a COMMAND" - - # Handle -dlopen flags immediately. - for file in $opt_dlopen; do - test -f "$file" \ - || func_fatal_help "\`$file' is not a file" - - dir= - case $file in - *.la) - func_resolve_sysroot "$file" - file=$func_resolve_sysroot_result - - # Check to see that this really is a libtool archive. - func_lalib_unsafe_p "$file" \ - || func_fatal_help "\`$lib' is not a valid libtool archive" - - # Read the libtool library. - dlname= - library_names= - func_source "$file" - - # Skip this library if it cannot be dlopened. - if test -z "$dlname"; then - # Warn if it was a shared library. - test -n "$library_names" && \ - func_warning "\`$file' was not linked with \`-export-dynamic'" - continue - fi - - func_dirname "$file" "" "." - dir="$func_dirname_result" - - if test -f "$dir/$objdir/$dlname"; then - func_append dir "/$objdir" - else - if test ! -f "$dir/$dlname"; then - func_fatal_error "cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'" - fi - fi - ;; - - *.lo) - # Just add the directory containing the .lo file. - func_dirname "$file" "" "." - dir="$func_dirname_result" - ;; - - *) - func_warning "\`-dlopen' is ignored for non-libtool libraries and objects" - continue - ;; - esac - - # Get the absolute pathname. - absdir=`cd "$dir" && pwd` - test -n "$absdir" && dir="$absdir" - - # Now add the directory to shlibpath_var. - if eval "test -z \"\$$shlibpath_var\""; then - eval "$shlibpath_var=\"\$dir\"" - else - eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\"" - fi - done - - # This variable tells wrapper scripts just to set shlibpath_var - # rather than running their programs. - libtool_execute_magic="$magic" - - # Check if any of the arguments is a wrapper script. - args= - for file - do - case $file in - -* | *.la | *.lo ) ;; - *) - # Do a test to see if this is really a libtool program. - if func_ltwrapper_script_p "$file"; then - func_source "$file" - # Transform arg to wrapped name. - file="$progdir/$program" - elif func_ltwrapper_executable_p "$file"; then - func_ltwrapper_scriptname "$file" - func_source "$func_ltwrapper_scriptname_result" - # Transform arg to wrapped name. - file="$progdir/$program" - fi - ;; - esac - # Quote arguments (to preserve shell metacharacters). - func_append_quoted args "$file" - done - - if test "X$opt_dry_run" = Xfalse; then - if test -n "$shlibpath_var"; then - # Export the shlibpath_var. - eval "export $shlibpath_var" - fi - - # Restore saved environment variables - for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES - do - eval "if test \"\${save_$lt_var+set}\" = set; then - $lt_var=\$save_$lt_var; export $lt_var - else - $lt_unset $lt_var - fi" - done - - # Now prepare to actually exec the command. - exec_cmd="\$cmd$args" - else - # Display what would be done. - if test -n "$shlibpath_var"; then - eval "\$ECHO \"\$shlibpath_var=\$$shlibpath_var\"" - echo "export $shlibpath_var" - fi - $ECHO "$cmd$args" - exit $EXIT_SUCCESS - fi -} - -test "$opt_mode" = execute && func_mode_execute ${1+"$@"} - - -# func_mode_finish arg... -func_mode_finish () -{ - $opt_debug - libs= - libdirs= - admincmds= - - for opt in "$nonopt" ${1+"$@"} - do - if test -d "$opt"; then - func_append libdirs " $opt" - - elif test -f "$opt"; then - if func_lalib_unsafe_p "$opt"; then - func_append libs " $opt" - else - func_warning "\`$opt' is not a valid libtool archive" - fi - - else - func_fatal_error "invalid argument \`$opt'" - fi - done - - if test -n "$libs"; then - if test -n "$lt_sysroot"; then - sysroot_regex=`$ECHO "$lt_sysroot" | $SED "$sed_make_literal_regex"` - sysroot_cmd="s/\([ ']\)$sysroot_regex/\1/g;" - else - sysroot_cmd= - fi - - # Remove sysroot references - if $opt_dry_run; then - for lib in $libs; do - echo "removing references to $lt_sysroot and \`=' prefixes from $lib" - done - else - tmpdir=`func_mktempdir` - for lib in $libs; do - sed -e "${sysroot_cmd} s/\([ ']-[LR]\)=/\1/g; s/\([ ']\)=/\1/g" $lib \ - > $tmpdir/tmp-la - mv -f $tmpdir/tmp-la $lib - done - ${RM}r "$tmpdir" - fi - fi - - if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then - for libdir in $libdirs; do - if test -n "$finish_cmds"; then - # Do each command in the finish commands. - func_execute_cmds "$finish_cmds" 'admincmds="$admincmds -'"$cmd"'"' - fi - if test -n "$finish_eval"; then - # Do the single finish_eval. - eval cmds=\"$finish_eval\" - $opt_dry_run || eval "$cmds" || func_append admincmds " - $cmds" - fi - done - fi - - # Exit here if they wanted silent mode. - $opt_silent && exit $EXIT_SUCCESS - - if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then - echo "----------------------------------------------------------------------" - echo "Libraries have been installed in:" - for libdir in $libdirs; do - $ECHO " $libdir" - done - echo - echo "If you ever happen to want to link against installed libraries" - echo "in a given directory, LIBDIR, you must either use libtool, and" - echo "specify the full pathname of the library, or use the \`-LLIBDIR'" - echo "flag during linking and do at least one of the following:" - if test -n "$shlibpath_var"; then - echo " - add LIBDIR to the \`$shlibpath_var' environment variable" - echo " during execution" - fi - if test -n "$runpath_var"; then - echo " - add LIBDIR to the \`$runpath_var' environment variable" - echo " during linking" - fi - if test -n "$hardcode_libdir_flag_spec"; then - libdir=LIBDIR - eval flag=\"$hardcode_libdir_flag_spec\" - - $ECHO " - use the \`$flag' linker flag" - fi - if test -n "$admincmds"; then - $ECHO " - have your system administrator run these commands:$admincmds" - fi - if test -f /etc/ld.so.conf; then - echo " - have your system administrator add LIBDIR to \`/etc/ld.so.conf'" - fi - echo - - echo "See any operating system documentation about shared libraries for" - case $host in - solaris2.[6789]|solaris2.1[0-9]) - echo "more information, such as the ld(1), crle(1) and ld.so(8) manual" - echo "pages." - ;; - *) - echo "more information, such as the ld(1) and ld.so(8) manual pages." - ;; - esac - echo "----------------------------------------------------------------------" - fi - exit $EXIT_SUCCESS -} - -test "$opt_mode" = finish && func_mode_finish ${1+"$@"} - - -# func_mode_install arg... -func_mode_install () -{ - $opt_debug - # There may be an optional sh(1) argument at the beginning of - # install_prog (especially on Windows NT). - if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh || - # Allow the use of GNU shtool's install command. - case $nonopt in *shtool*) :;; *) false;; esac; then - # Aesthetically quote it. - func_quote_for_eval "$nonopt" - install_prog="$func_quote_for_eval_result " - arg=$1 - shift - else - install_prog= - arg=$nonopt - fi - - # The real first argument should be the name of the installation program. - # Aesthetically quote it. - func_quote_for_eval "$arg" - func_append install_prog "$func_quote_for_eval_result" - install_shared_prog=$install_prog - case " $install_prog " in - *[\\\ /]cp\ *) install_cp=: ;; - *) install_cp=false ;; - esac - - # We need to accept at least all the BSD install flags. - dest= - files= - opts= - prev= - install_type= - isdir=no - stripme= - no_mode=: - for arg - do - arg2= - if test -n "$dest"; then - func_append files " $dest" - dest=$arg - continue - fi - - case $arg in - -d) isdir=yes ;; - -f) - if $install_cp; then :; else - prev=$arg - fi - ;; - -g | -m | -o) - prev=$arg - ;; - -s) - stripme=" -s" - continue - ;; - -*) - ;; - *) - # If the previous option needed an argument, then skip it. - if test -n "$prev"; then - if test "x$prev" = x-m && test -n "$install_override_mode"; then - arg2=$install_override_mode - no_mode=false - fi - prev= - else - dest=$arg - continue - fi - ;; - esac - - # Aesthetically quote the argument. - func_quote_for_eval "$arg" - func_append install_prog " $func_quote_for_eval_result" - if test -n "$arg2"; then - func_quote_for_eval "$arg2" - fi - func_append install_shared_prog " $func_quote_for_eval_result" - done - - test -z "$install_prog" && \ - func_fatal_help "you must specify an install program" - - test -n "$prev" && \ - func_fatal_help "the \`$prev' option requires an argument" - - if test -n "$install_override_mode" && $no_mode; then - if $install_cp; then :; else - func_quote_for_eval "$install_override_mode" - func_append install_shared_prog " -m $func_quote_for_eval_result" - fi - fi - - if test -z "$files"; then - if test -z "$dest"; then - func_fatal_help "no file or destination specified" - else - func_fatal_help "you must specify a destination" - fi - fi - - # Strip any trailing slash from the destination. - func_stripname '' '/' "$dest" - dest=$func_stripname_result - - # Check to see that the destination is a directory. - test -d "$dest" && isdir=yes - if test "$isdir" = yes; then - destdir="$dest" - destname= - else - func_dirname_and_basename "$dest" "" "." - destdir="$func_dirname_result" - destname="$func_basename_result" - - # Not a directory, so check to see that there is only one file specified. - set dummy $files; shift - test "$#" -gt 1 && \ - func_fatal_help "\`$dest' is not a directory" - fi - case $destdir in - [\\/]* | [A-Za-z]:[\\/]*) ;; - *) - for file in $files; do - case $file in - *.lo) ;; - *) - func_fatal_help "\`$destdir' must be an absolute directory name" - ;; - esac - done - ;; - esac - - # This variable tells wrapper scripts just to set variables rather - # than running their programs. - libtool_install_magic="$magic" - - staticlibs= - future_libdirs= - current_libdirs= - for file in $files; do - - # Do each installation. - case $file in - *.$libext) - # Do the static libraries later. - func_append staticlibs " $file" - ;; - - *.la) - func_resolve_sysroot "$file" - file=$func_resolve_sysroot_result - - # Check to see that this really is a libtool archive. - func_lalib_unsafe_p "$file" \ - || func_fatal_help "\`$file' is not a valid libtool archive" - - library_names= - old_library= - relink_command= - func_source "$file" - - # Add the libdir to current_libdirs if it is the destination. - if test "X$destdir" = "X$libdir"; then - case "$current_libdirs " in - *" $libdir "*) ;; - *) func_append current_libdirs " $libdir" ;; - esac - else - # Note the libdir as a future libdir. - case "$future_libdirs " in - *" $libdir "*) ;; - *) func_append future_libdirs " $libdir" ;; - esac - fi - - func_dirname "$file" "/" "" - dir="$func_dirname_result" - func_append dir "$objdir" - - if test -n "$relink_command"; then - # Determine the prefix the user has applied to our future dir. - inst_prefix_dir=`$ECHO "$destdir" | $SED -e "s%$libdir\$%%"` - - # Don't allow the user to place us outside of our expected - # location b/c this prevents finding dependent libraries that - # are installed to the same prefix. - # At present, this check doesn't affect windows .dll's that - # are installed into $libdir/../bin (currently, that works fine) - # but it's something to keep an eye on. - test "$inst_prefix_dir" = "$destdir" && \ - func_fatal_error "error: cannot install \`$file' to a directory not ending in $libdir" - - if test -n "$inst_prefix_dir"; then - # Stick the inst_prefix_dir data into the link command. - relink_command=`$ECHO "$relink_command" | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"` - else - relink_command=`$ECHO "$relink_command" | $SED "s%@inst_prefix_dir@%%"` - fi - - func_warning "relinking \`$file'" - func_show_eval "$relink_command" \ - 'func_fatal_error "error: relink \`$file'\'' with the above command before installing it"' - fi - - # See the names of the shared library. - set dummy $library_names; shift - if test -n "$1"; then - realname="$1" - shift - - srcname="$realname" - test -n "$relink_command" && srcname="$realname"T - - # Install the shared library and build the symlinks. - func_show_eval "$install_shared_prog $dir/$srcname $destdir/$realname" \ - 'exit $?' - tstripme="$stripme" - case $host_os in - cygwin* | mingw* | pw32* | cegcc*) - case $realname in - *.dll.a) - tstripme="" - ;; - esac - ;; - esac - if test -n "$tstripme" && test -n "$striplib"; then - func_show_eval "$striplib $destdir/$realname" 'exit $?' - fi - - if test "$#" -gt 0; then - # Delete the old symlinks, and create new ones. - # Try `ln -sf' first, because the `ln' binary might depend on - # the symlink we replace! Solaris /bin/ln does not understand -f, - # so we also need to try rm && ln -s. - for linkname - do - test "$linkname" != "$realname" \ - && func_show_eval "(cd $destdir && { $LN_S -f $realname $linkname || { $RM $linkname && $LN_S $realname $linkname; }; })" - done - fi - - # Do each command in the postinstall commands. - lib="$destdir/$realname" - func_execute_cmds "$postinstall_cmds" 'exit $?' - fi - - # Install the pseudo-library for information purposes. - func_basename "$file" - name="$func_basename_result" - instname="$dir/$name"i - func_show_eval "$install_prog $instname $destdir/$name" 'exit $?' - - # Maybe install the static library, too. - test -n "$old_library" && func_append staticlibs " $dir/$old_library" - ;; - - *.lo) - # Install (i.e. copy) a libtool object. - - # Figure out destination file name, if it wasn't already specified. - if test -n "$destname"; then - destfile="$destdir/$destname" - else - func_basename "$file" - destfile="$func_basename_result" - destfile="$destdir/$destfile" - fi - - # Deduce the name of the destination old-style object file. - case $destfile in - *.lo) - func_lo2o "$destfile" - staticdest=$func_lo2o_result - ;; - *.$objext) - staticdest="$destfile" - destfile= - ;; - *) - func_fatal_help "cannot copy a libtool object to \`$destfile'" - ;; - esac - - # Install the libtool object if requested. - test -n "$destfile" && \ - func_show_eval "$install_prog $file $destfile" 'exit $?' - - # Install the old object if enabled. - if test "$build_old_libs" = yes; then - # Deduce the name of the old-style object file. - func_lo2o "$file" - staticobj=$func_lo2o_result - func_show_eval "$install_prog \$staticobj \$staticdest" 'exit $?' - fi - exit $EXIT_SUCCESS - ;; - - *) - # Figure out destination file name, if it wasn't already specified. - if test -n "$destname"; then - destfile="$destdir/$destname" - else - func_basename "$file" - destfile="$func_basename_result" - destfile="$destdir/$destfile" - fi - - # If the file is missing, and there is a .exe on the end, strip it - # because it is most likely a libtool script we actually want to - # install - stripped_ext="" - case $file in - *.exe) - if test ! -f "$file"; then - func_stripname '' '.exe' "$file" - file=$func_stripname_result - stripped_ext=".exe" - fi - ;; - esac - - # Do a test to see if this is really a libtool program. - case $host in - *cygwin* | *mingw*) - if func_ltwrapper_executable_p "$file"; then - func_ltwrapper_scriptname "$file" - wrapper=$func_ltwrapper_scriptname_result - else - func_stripname '' '.exe' "$file" - wrapper=$func_stripname_result - fi - ;; - *) - wrapper=$file - ;; - esac - if func_ltwrapper_script_p "$wrapper"; then - notinst_deplibs= - relink_command= - - func_source "$wrapper" - - # Check the variables that should have been set. - test -z "$generated_by_libtool_version" && \ - func_fatal_error "invalid libtool wrapper script \`$wrapper'" - - finalize=yes - for lib in $notinst_deplibs; do - # Check to see that each library is installed. - libdir= - if test -f "$lib"; then - func_source "$lib" - fi - libfile="$libdir/"`$ECHO "$lib" | $SED 's%^.*/%%g'` ### testsuite: skip nested quoting test - if test -n "$libdir" && test ! -f "$libfile"; then - func_warning "\`$lib' has not been installed in \`$libdir'" - finalize=no - fi - done - - relink_command= - func_source "$wrapper" - - outputname= - if test "$fast_install" = no && test -n "$relink_command"; then - $opt_dry_run || { - if test "$finalize" = yes; then - tmpdir=`func_mktempdir` - func_basename "$file$stripped_ext" - file="$func_basename_result" - outputname="$tmpdir/$file" - # Replace the output file specification. - relink_command=`$ECHO "$relink_command" | $SED 's%@OUTPUT@%'"$outputname"'%g'` - - $opt_silent || { - func_quote_for_expand "$relink_command" - eval "func_echo $func_quote_for_expand_result" - } - if eval "$relink_command"; then : - else - func_error "error: relink \`$file' with the above command before installing it" - $opt_dry_run || ${RM}r "$tmpdir" - continue - fi - file="$outputname" - else - func_warning "cannot relink \`$file'" - fi - } - else - # Install the binary that we compiled earlier. - file=`$ECHO "$file$stripped_ext" | $SED "s%\([^/]*\)$%$objdir/\1%"` - fi - fi - - # remove .exe since cygwin /usr/bin/install will append another - # one anyway - case $install_prog,$host in - */usr/bin/install*,*cygwin*) - case $file:$destfile in - *.exe:*.exe) - # this is ok - ;; - *.exe:*) - destfile=$destfile.exe - ;; - *:*.exe) - func_stripname '' '.exe' "$destfile" - destfile=$func_stripname_result - ;; - esac - ;; - esac - func_show_eval "$install_prog\$stripme \$file \$destfile" 'exit $?' - $opt_dry_run || if test -n "$outputname"; then - ${RM}r "$tmpdir" - fi - ;; - esac - done - - for file in $staticlibs; do - func_basename "$file" - name="$func_basename_result" - - # Set up the ranlib parameters. - oldlib="$destdir/$name" - func_to_tool_file "$oldlib" func_convert_file_msys_to_w32 - tool_oldlib=$func_to_tool_file_result - - func_show_eval "$install_prog \$file \$oldlib" 'exit $?' - - if test -n "$stripme" && test -n "$old_striplib"; then - func_show_eval "$old_striplib $tool_oldlib" 'exit $?' - fi - - # Do each command in the postinstall commands. - func_execute_cmds "$old_postinstall_cmds" 'exit $?' - done - - test -n "$future_libdirs" && \ - func_warning "remember to run \`$progname --finish$future_libdirs'" - - if test -n "$current_libdirs"; then - # Maybe just do a dry run. - $opt_dry_run && current_libdirs=" -n$current_libdirs" - exec_cmd='$SHELL $progpath $preserve_args --finish$current_libdirs' - else - exit $EXIT_SUCCESS - fi -} - -test "$opt_mode" = install && func_mode_install ${1+"$@"} - - -# func_generate_dlsyms outputname originator pic_p -# Extract symbols from dlprefiles and create ${outputname}S.o with -# a dlpreopen symbol table. -func_generate_dlsyms () -{ - $opt_debug - my_outputname="$1" - my_originator="$2" - my_pic_p="${3-no}" - my_prefix=`$ECHO "$my_originator" | sed 's%[^a-zA-Z0-9]%_%g'` - my_dlsyms= - - if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then - if test -n "$NM" && test -n "$global_symbol_pipe"; then - my_dlsyms="${my_outputname}S.c" - else - func_error "not configured to extract global symbols from dlpreopened files" - fi - fi - - if test -n "$my_dlsyms"; then - case $my_dlsyms in - "") ;; - *.c) - # Discover the nlist of each of the dlfiles. - nlist="$output_objdir/${my_outputname}.nm" - - func_show_eval "$RM $nlist ${nlist}S ${nlist}T" - - # Parse the name list into a source file. - func_verbose "creating $output_objdir/$my_dlsyms" - - $opt_dry_run || $ECHO > "$output_objdir/$my_dlsyms" "\ -/* $my_dlsyms - symbol resolution table for \`$my_outputname' dlsym emulation. */ -/* Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION */ - -#ifdef __cplusplus -extern \"C\" { -#endif - -#if defined(__GNUC__) && (((__GNUC__ == 4) && (__GNUC_MINOR__ >= 4)) || (__GNUC__ > 4)) -#pragma GCC diagnostic ignored \"-Wstrict-prototypes\" -#endif - -/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ -#if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE) -/* DATA imports from DLLs on WIN32 con't be const, because runtime - relocations are performed -- see ld's documentation on pseudo-relocs. */ -# define LT_DLSYM_CONST -#elif defined(__osf__) -/* This system does not cope well with relocations in const data. */ -# define LT_DLSYM_CONST -#else -# define LT_DLSYM_CONST const -#endif - -/* External symbol declarations for the compiler. */\ -" - - if test "$dlself" = yes; then - func_verbose "generating symbol list for \`$output'" - - $opt_dry_run || echo ': @PROGRAM@ ' > "$nlist" - - # Add our own program objects to the symbol list. - progfiles=`$ECHO "$objs$old_deplibs" | $SP2NL | $SED "$lo2o" | $NL2SP` - for progfile in $progfiles; do - func_to_tool_file "$progfile" func_convert_file_msys_to_w32 - func_verbose "extracting global C symbols from \`$func_to_tool_file_result'" - $opt_dry_run || eval "$NM $func_to_tool_file_result | $global_symbol_pipe >> '$nlist'" - done - - if test -n "$exclude_expsyms"; then - $opt_dry_run || { - eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T' - eval '$MV "$nlist"T "$nlist"' - } - fi - - if test -n "$export_symbols_regex"; then - $opt_dry_run || { - eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T' - eval '$MV "$nlist"T "$nlist"' - } - fi - - # Prepare the list of exported symbols - if test -z "$export_symbols"; then - export_symbols="$output_objdir/$outputname.exp" - $opt_dry_run || { - $RM $export_symbols - eval "${SED} -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"' - case $host in - *cygwin* | *mingw* | *cegcc* ) - eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' - eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"' - ;; - esac - } - else - $opt_dry_run || { - eval "${SED} -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"' - eval '$GREP -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T' - eval '$MV "$nlist"T "$nlist"' - case $host in - *cygwin* | *mingw* | *cegcc* ) - eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' - eval 'cat "$nlist" >> "$output_objdir/$outputname.def"' - ;; - esac - } - fi - fi - - for dlprefile in $dlprefiles; do - func_verbose "extracting global C symbols from \`$dlprefile'" - func_basename "$dlprefile" - name="$func_basename_result" - case $host in - *cygwin* | *mingw* | *cegcc* ) - # if an import library, we need to obtain dlname - if func_win32_import_lib_p "$dlprefile"; then - func_tr_sh "$dlprefile" - eval "curr_lafile=\$libfile_$func_tr_sh_result" - dlprefile_dlbasename="" - if test -n "$curr_lafile" && func_lalib_p "$curr_lafile"; then - # Use subshell, to avoid clobbering current variable values - dlprefile_dlname=`source "$curr_lafile" && echo "$dlname"` - if test -n "$dlprefile_dlname" ; then - func_basename "$dlprefile_dlname" - dlprefile_dlbasename="$func_basename_result" - else - # no lafile. user explicitly requested -dlpreopen . - $sharedlib_from_linklib_cmd "$dlprefile" - dlprefile_dlbasename=$sharedlib_from_linklib_result - fi - fi - $opt_dry_run || { - if test -n "$dlprefile_dlbasename" ; then - eval '$ECHO ": $dlprefile_dlbasename" >> "$nlist"' - else - func_warning "Could not compute DLL name from $name" - eval '$ECHO ": $name " >> "$nlist"' - fi - func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32 - eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe | - $SED -e '/I __imp/d' -e 's/I __nm_/D /;s/_nm__//' >> '$nlist'" - } - else # not an import lib - $opt_dry_run || { - eval '$ECHO ": $name " >> "$nlist"' - func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32 - eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe >> '$nlist'" - } - fi - ;; - *) - $opt_dry_run || { - eval '$ECHO ": $name " >> "$nlist"' - func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32 - eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe >> '$nlist'" - } - ;; - esac - done - - $opt_dry_run || { - # Make sure we have at least an empty file. - test -f "$nlist" || : > "$nlist" - - if test -n "$exclude_expsyms"; then - $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T - $MV "$nlist"T "$nlist" - fi - - # Try sorting and uniquifying the output. - if $GREP -v "^: " < "$nlist" | - if sort -k 3 /dev/null 2>&1; then - sort -k 3 - else - sort +2 - fi | - uniq > "$nlist"S; then - : - else - $GREP -v "^: " < "$nlist" > "$nlist"S - fi - - if test -f "$nlist"S; then - eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$my_dlsyms"' - else - echo '/* NONE */' >> "$output_objdir/$my_dlsyms" - fi - - echo >> "$output_objdir/$my_dlsyms" "\ - -/* The mapping between symbol names and symbols. */ -typedef struct { - const char *name; - void *address; -} lt_dlsymlist; -extern LT_DLSYM_CONST lt_dlsymlist -lt_${my_prefix}_LTX_preloaded_symbols[]; -LT_DLSYM_CONST lt_dlsymlist -lt_${my_prefix}_LTX_preloaded_symbols[] = -{\ - { \"$my_originator\", (void *) 0 }," - - case $need_lib_prefix in - no) - eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$my_dlsyms" - ;; - *) - eval "$global_symbol_to_c_name_address_lib_prefix" < "$nlist" >> "$output_objdir/$my_dlsyms" - ;; - esac - echo >> "$output_objdir/$my_dlsyms" "\ - {0, (void *) 0} -}; - -/* This works around a problem in FreeBSD linker */ -#ifdef FREEBSD_WORKAROUND -static const void *lt_preloaded_setup() { - return lt_${my_prefix}_LTX_preloaded_symbols; -} -#endif - -#ifdef __cplusplus -} -#endif\ -" - } # !$opt_dry_run - - pic_flag_for_symtable= - case "$compile_command " in - *" -static "*) ;; - *) - case $host in - # compiling the symbol table file with pic_flag works around - # a FreeBSD bug that causes programs to crash when -lm is - # linked before any other PIC object. But we must not use - # pic_flag when linking with -static. The problem exists in - # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1. - *-*-freebsd2.*|*-*-freebsd3.0*|*-*-freebsdelf3.0*) - pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND" ;; - *-*-hpux*) - pic_flag_for_symtable=" $pic_flag" ;; - *) - if test "X$my_pic_p" != Xno; then - pic_flag_for_symtable=" $pic_flag" - fi - ;; - esac - ;; - esac - symtab_cflags= - for arg in $LTCFLAGS; do - case $arg in - -pie | -fpie | -fPIE) ;; - *) func_append symtab_cflags " $arg" ;; - esac - done - - # Now compile the dynamic symbol file. - func_show_eval '(cd $output_objdir && $LTCC$symtab_cflags -c$no_builtin_flag$pic_flag_for_symtable "$my_dlsyms")' 'exit $?' - - # Clean up the generated files. - func_show_eval '$RM "$output_objdir/$my_dlsyms" "$nlist" "${nlist}S" "${nlist}T"' - - # Transform the symbol file into the correct name. - symfileobj="$output_objdir/${my_outputname}S.$objext" - case $host in - *cygwin* | *mingw* | *cegcc* ) - if test -f "$output_objdir/$my_outputname.def"; then - compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"` - finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"` - else - compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$symfileobj%"` - finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$symfileobj%"` - fi - ;; - *) - compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$symfileobj%"` - finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$symfileobj%"` - ;; - esac - ;; - *) - func_fatal_error "unknown suffix for \`$my_dlsyms'" - ;; - esac - else - # We keep going just in case the user didn't refer to - # lt_preloaded_symbols. The linker will fail if global_symbol_pipe - # really was required. - - # Nullify the symbol file. - compile_command=`$ECHO "$compile_command" | $SED "s% @SYMFILE@%%"` - finalize_command=`$ECHO "$finalize_command" | $SED "s% @SYMFILE@%%"` - fi -} - -# func_win32_libid arg -# return the library type of file 'arg' -# -# Need a lot of goo to handle *both* DLLs and import libs -# Has to be a shell function in order to 'eat' the argument -# that is supplied when $file_magic_command is called. -# Despite the name, also deal with 64 bit binaries. -func_win32_libid () -{ - $opt_debug - win32_libid_type="unknown" - win32_fileres=`file -L $1 2>/dev/null` - case $win32_fileres in - *ar\ archive\ import\ library*) # definitely import - win32_libid_type="x86 archive import" - ;; - *ar\ archive*) # could be an import, or static - # Keep the egrep pattern in sync with the one in _LT_CHECK_MAGIC_METHOD. - if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null | - $EGREP 'file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' >/dev/null; then - func_to_tool_file "$1" func_convert_file_msys_to_w32 - win32_nmres=`eval $NM -f posix -A \"$func_to_tool_file_result\" | - $SED -n -e ' - 1,100{ - / I /{ - s,.*,import, - p - q - } - }'` - case $win32_nmres in - import*) win32_libid_type="x86 archive import";; - *) win32_libid_type="x86 archive static";; - esac - fi - ;; - *DLL*) - win32_libid_type="x86 DLL" - ;; - *executable*) # but shell scripts are "executable" too... - case $win32_fileres in - *MS\ Windows\ PE\ Intel*) - win32_libid_type="x86 DLL" - ;; - esac - ;; - esac - $ECHO "$win32_libid_type" -} - -# func_cygming_dll_for_implib ARG -# -# Platform-specific function to extract the -# name of the DLL associated with the specified -# import library ARG. -# Invoked by eval'ing the libtool variable -# $sharedlib_from_linklib_cmd -# Result is available in the variable -# $sharedlib_from_linklib_result -func_cygming_dll_for_implib () -{ - $opt_debug - sharedlib_from_linklib_result=`$DLLTOOL --identify-strict --identify "$1"` -} - -# func_cygming_dll_for_implib_fallback_core SECTION_NAME LIBNAMEs -# -# The is the core of a fallback implementation of a -# platform-specific function to extract the name of the -# DLL associated with the specified import library LIBNAME. -# -# SECTION_NAME is either .idata$6 or .idata$7, depending -# on the platform and compiler that created the implib. -# -# Echos the name of the DLL associated with the -# specified import library. -func_cygming_dll_for_implib_fallback_core () -{ - $opt_debug - match_literal=`$ECHO "$1" | $SED "$sed_make_literal_regex"` - $OBJDUMP -s --section "$1" "$2" 2>/dev/null | - $SED '/^Contents of section '"$match_literal"':/{ - # Place marker at beginning of archive member dllname section - s/.*/====MARK====/ - p - d - } - # These lines can sometimes be longer than 43 characters, but - # are always uninteresting - /:[ ]*file format pe[i]\{,1\}-/d - /^In archive [^:]*:/d - # Ensure marker is printed - /^====MARK====/p - # Remove all lines with less than 43 characters - /^.\{43\}/!d - # From remaining lines, remove first 43 characters - s/^.\{43\}//' | - $SED -n ' - # Join marker and all lines until next marker into a single line - /^====MARK====/ b para - H - $ b para - b - :para - x - s/\n//g - # Remove the marker - s/^====MARK====// - # Remove trailing dots and whitespace - s/[\. \t]*$// - # Print - /./p' | - # we now have a list, one entry per line, of the stringified - # contents of the appropriate section of all members of the - # archive which possess that section. Heuristic: eliminate - # all those which have a first or second character that is - # a '.' (that is, objdump's representation of an unprintable - # character.) This should work for all archives with less than - # 0x302f exports -- but will fail for DLLs whose name actually - # begins with a literal '.' or a single character followed by - # a '.'. - # - # Of those that remain, print the first one. - $SED -e '/^\./d;/^.\./d;q' -} - -# func_cygming_gnu_implib_p ARG -# This predicate returns with zero status (TRUE) if -# ARG is a GNU/binutils-style import library. Returns -# with nonzero status (FALSE) otherwise. -func_cygming_gnu_implib_p () -{ - $opt_debug - func_to_tool_file "$1" func_convert_file_msys_to_w32 - func_cygming_gnu_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $EGREP ' (_head_[A-Za-z0-9_]+_[ad]l*|[A-Za-z0-9_]+_[ad]l*_iname)$'` - test -n "$func_cygming_gnu_implib_tmp" -} - -# func_cygming_ms_implib_p ARG -# This predicate returns with zero status (TRUE) if -# ARG is an MS-style import library. Returns -# with nonzero status (FALSE) otherwise. -func_cygming_ms_implib_p () -{ - $opt_debug - func_to_tool_file "$1" func_convert_file_msys_to_w32 - func_cygming_ms_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $GREP '_NULL_IMPORT_DESCRIPTOR'` - test -n "$func_cygming_ms_implib_tmp" -} - -# func_cygming_dll_for_implib_fallback ARG -# Platform-specific function to extract the -# name of the DLL associated with the specified -# import library ARG. -# -# This fallback implementation is for use when $DLLTOOL -# does not support the --identify-strict option. -# Invoked by eval'ing the libtool variable -# $sharedlib_from_linklib_cmd -# Result is available in the variable -# $sharedlib_from_linklib_result -func_cygming_dll_for_implib_fallback () -{ - $opt_debug - if func_cygming_gnu_implib_p "$1" ; then - # binutils import library - sharedlib_from_linklib_result=`func_cygming_dll_for_implib_fallback_core '.idata$7' "$1"` - elif func_cygming_ms_implib_p "$1" ; then - # ms-generated import library - sharedlib_from_linklib_result=`func_cygming_dll_for_implib_fallback_core '.idata$6' "$1"` - else - # unknown - sharedlib_from_linklib_result="" - fi -} - - -# func_extract_an_archive dir oldlib -func_extract_an_archive () -{ - $opt_debug - f_ex_an_ar_dir="$1"; shift - f_ex_an_ar_oldlib="$1" - if test "$lock_old_archive_extraction" = yes; then - lockfile=$f_ex_an_ar_oldlib.lock - until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do - func_echo "Waiting for $lockfile to be removed" - sleep 2 - done - fi - func_show_eval "(cd \$f_ex_an_ar_dir && $AR x \"\$f_ex_an_ar_oldlib\")" \ - 'stat=$?; rm -f "$lockfile"; exit $stat' - if test "$lock_old_archive_extraction" = yes; then - $opt_dry_run || rm -f "$lockfile" - fi - if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then - : - else - func_fatal_error "object name conflicts in archive: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib" - fi -} - - -# func_extract_archives gentop oldlib ... -func_extract_archives () -{ - $opt_debug - my_gentop="$1"; shift - my_oldlibs=${1+"$@"} - my_oldobjs="" - my_xlib="" - my_xabs="" - my_xdir="" - - for my_xlib in $my_oldlibs; do - # Extract the objects. - case $my_xlib in - [\\/]* | [A-Za-z]:[\\/]*) my_xabs="$my_xlib" ;; - *) my_xabs=`pwd`"/$my_xlib" ;; - esac - func_basename "$my_xlib" - my_xlib="$func_basename_result" - my_xlib_u=$my_xlib - while :; do - case " $extracted_archives " in - *" $my_xlib_u "*) - func_arith $extracted_serial + 1 - extracted_serial=$func_arith_result - my_xlib_u=lt$extracted_serial-$my_xlib ;; - *) break ;; - esac - done - extracted_archives="$extracted_archives $my_xlib_u" - my_xdir="$my_gentop/$my_xlib_u" - - func_mkdir_p "$my_xdir" - - case $host in - *-darwin*) - func_verbose "Extracting $my_xabs" - # Do not bother doing anything if just a dry run - $opt_dry_run || { - darwin_orig_dir=`pwd` - cd $my_xdir || exit $? - darwin_archive=$my_xabs - darwin_curdir=`pwd` - darwin_base_archive=`basename "$darwin_archive"` - darwin_arches=`$LIPO -info "$darwin_archive" 2>/dev/null | $GREP Architectures 2>/dev/null || true` - if test -n "$darwin_arches"; then - darwin_arches=`$ECHO "$darwin_arches" | $SED -e 's/.*are://'` - darwin_arch= - func_verbose "$darwin_base_archive has multiple architectures $darwin_arches" - for darwin_arch in $darwin_arches ; do - func_mkdir_p "unfat-$$/${darwin_base_archive}-${darwin_arch}" - $LIPO -thin $darwin_arch -output "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" "${darwin_archive}" - cd "unfat-$$/${darwin_base_archive}-${darwin_arch}" - func_extract_an_archive "`pwd`" "${darwin_base_archive}" - cd "$darwin_curdir" - $RM "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" - done # $darwin_arches - ## Okay now we've a bunch of thin objects, gotta fatten them up :) - darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print | $SED -e "$basename" | sort -u` - darwin_file= - darwin_files= - for darwin_file in $darwin_filelist; do - darwin_files=`find unfat-$$ -name $darwin_file -print | sort | $NL2SP` - $LIPO -create -output "$darwin_file" $darwin_files - done # $darwin_filelist - $RM -rf unfat-$$ - cd "$darwin_orig_dir" - else - cd $darwin_orig_dir - func_extract_an_archive "$my_xdir" "$my_xabs" - fi # $darwin_arches - } # !$opt_dry_run - ;; - *) - func_extract_an_archive "$my_xdir" "$my_xabs" - ;; - esac - my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | sort | $NL2SP` - done - - func_extract_archives_result="$my_oldobjs" -} - - -# func_emit_wrapper [arg=no] -# -# Emit a libtool wrapper script on stdout. -# Don't directly open a file because we may want to -# incorporate the script contents within a cygwin/mingw -# wrapper executable. Must ONLY be called from within -# func_mode_link because it depends on a number of variables -# set therein. -# -# ARG is the value that the WRAPPER_SCRIPT_BELONGS_IN_OBJDIR -# variable will take. If 'yes', then the emitted script -# will assume that the directory in which it is stored is -# the $objdir directory. This is a cygwin/mingw-specific -# behavior. -func_emit_wrapper () -{ - func_emit_wrapper_arg1=${1-no} - - $ECHO "\ -#! $SHELL - -# $output - temporary wrapper script for $objdir/$outputname -# Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION -# -# The $output program cannot be directly executed until all the libtool -# libraries that it depends on are installed. -# -# This wrapper script should never be moved out of the build directory. -# If it is, it will not operate correctly. - -# Sed substitution that helps us do robust quoting. It backslashifies -# metacharacters that are still active within double-quoted strings. -sed_quote_subst='$sed_quote_subst' - -# Be Bourne compatible -if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then - emulate sh - NULLCMD=: - # Zsh 3.x and 4.x performs word splitting on \${1+\"\$@\"}, which - # is contrary to our usage. Disable this feature. - alias -g '\${1+\"\$@\"}'='\"\$@\"' - setopt NO_GLOB_SUBST -else - case \`(set -o) 2>/dev/null\` in *posix*) set -o posix;; esac -fi -BIN_SH=xpg4; export BIN_SH # for Tru64 -DUALCASE=1; export DUALCASE # for MKS sh - -# The HP-UX ksh and POSIX shell print the target directory to stdout -# if CDPATH is set. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH - -relink_command=\"$relink_command\" - -# This environment variable determines our operation mode. -if test \"\$libtool_install_magic\" = \"$magic\"; then - # install mode needs the following variables: - generated_by_libtool_version='$macro_version' - notinst_deplibs='$notinst_deplibs' -else - # When we are sourced in execute mode, \$file and \$ECHO are already set. - if test \"\$libtool_execute_magic\" != \"$magic\"; then - file=\"\$0\"" - - qECHO=`$ECHO "$ECHO" | $SED "$sed_quote_subst"` - $ECHO "\ - -# A function that is used when there is no print builtin or printf. -func_fallback_echo () -{ - eval 'cat <<_LTECHO_EOF -\$1 -_LTECHO_EOF' -} - ECHO=\"$qECHO\" - fi - -# Very basic option parsing. These options are (a) specific to -# the libtool wrapper, (b) are identical between the wrapper -# /script/ and the wrapper /executable/ which is used only on -# windows platforms, and (c) all begin with the string "--lt-" -# (application programs are unlikely to have options which match -# this pattern). -# -# There are only two supported options: --lt-debug and -# --lt-dump-script. There is, deliberately, no --lt-help. -# -# The first argument to this parsing function should be the -# script's $0 value, followed by "$@". -lt_option_debug= -func_parse_lt_options () -{ - lt_script_arg0=\$0 - shift - for lt_opt - do - case \"\$lt_opt\" in - --lt-debug) lt_option_debug=1 ;; - --lt-dump-script) - lt_dump_D=\`\$ECHO \"X\$lt_script_arg0\" | $SED -e 's/^X//' -e 's%/[^/]*$%%'\` - test \"X\$lt_dump_D\" = \"X\$lt_script_arg0\" && lt_dump_D=. - lt_dump_F=\`\$ECHO \"X\$lt_script_arg0\" | $SED -e 's/^X//' -e 's%^.*/%%'\` - cat \"\$lt_dump_D/\$lt_dump_F\" - exit 0 - ;; - --lt-*) - \$ECHO \"Unrecognized --lt- option: '\$lt_opt'\" 1>&2 - exit 1 - ;; - esac - done - - # Print the debug banner immediately: - if test -n \"\$lt_option_debug\"; then - echo \"${outputname}:${output}:\${LINENO}: libtool wrapper (GNU $PACKAGE$TIMESTAMP) $VERSION\" 1>&2 - fi -} - -# Used when --lt-debug. Prints its arguments to stdout -# (redirection is the responsibility of the caller) -func_lt_dump_args () -{ - lt_dump_args_N=1; - for lt_arg - do - \$ECHO \"${outputname}:${output}:\${LINENO}: newargv[\$lt_dump_args_N]: \$lt_arg\" - lt_dump_args_N=\`expr \$lt_dump_args_N + 1\` - done -} - -# Core function for launching the target application -func_exec_program_core () -{ -" - case $host in - # Backslashes separate directories on plain windows - *-*-mingw | *-*-os2* | *-cegcc*) - $ECHO "\ - if test -n \"\$lt_option_debug\"; then - \$ECHO \"${outputname}:${output}:\${LINENO}: newargv[0]: \$progdir\\\\\$program\" 1>&2 - func_lt_dump_args \${1+\"\$@\"} 1>&2 - fi - exec \"\$progdir\\\\\$program\" \${1+\"\$@\"} -" - ;; - - *) - $ECHO "\ - if test -n \"\$lt_option_debug\"; then - \$ECHO \"${outputname}:${output}:\${LINENO}: newargv[0]: \$progdir/\$program\" 1>&2 - func_lt_dump_args \${1+\"\$@\"} 1>&2 - fi - exec \"\$progdir/\$program\" \${1+\"\$@\"} -" - ;; - esac - $ECHO "\ - \$ECHO \"\$0: cannot exec \$program \$*\" 1>&2 - exit 1 -} - -# A function to encapsulate launching the target application -# Strips options in the --lt-* namespace from \$@ and -# launches target application with the remaining arguments. -func_exec_program () -{ - case \" \$* \" in - *\\ --lt-*) - for lt_wr_arg - do - case \$lt_wr_arg in - --lt-*) ;; - *) set x \"\$@\" \"\$lt_wr_arg\"; shift;; - esac - shift - done ;; - esac - func_exec_program_core \${1+\"\$@\"} -} - - # Parse options - func_parse_lt_options \"\$0\" \${1+\"\$@\"} - - # Find the directory that this script lives in. - thisdir=\`\$ECHO \"\$file\" | $SED 's%/[^/]*$%%'\` - test \"x\$thisdir\" = \"x\$file\" && thisdir=. - - # Follow symbolic links until we get to the real thisdir. - file=\`ls -ld \"\$file\" | $SED -n 's/.*-> //p'\` - while test -n \"\$file\"; do - destdir=\`\$ECHO \"\$file\" | $SED 's%/[^/]*\$%%'\` - - # If there was a directory component, then change thisdir. - if test \"x\$destdir\" != \"x\$file\"; then - case \"\$destdir\" in - [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;; - *) thisdir=\"\$thisdir/\$destdir\" ;; - esac - fi - - file=\`\$ECHO \"\$file\" | $SED 's%^.*/%%'\` - file=\`ls -ld \"\$thisdir/\$file\" | $SED -n 's/.*-> //p'\` - done - - # Usually 'no', except on cygwin/mingw when embedded into - # the cwrapper. - WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=$func_emit_wrapper_arg1 - if test \"\$WRAPPER_SCRIPT_BELONGS_IN_OBJDIR\" = \"yes\"; then - # special case for '.' - if test \"\$thisdir\" = \".\"; then - thisdir=\`pwd\` - fi - # remove .libs from thisdir - case \"\$thisdir\" in - *[\\\\/]$objdir ) thisdir=\`\$ECHO \"\$thisdir\" | $SED 's%[\\\\/][^\\\\/]*$%%'\` ;; - $objdir ) thisdir=. ;; - esac - fi - - # Try to get the absolute directory name. - absdir=\`cd \"\$thisdir\" && pwd\` - test -n \"\$absdir\" && thisdir=\"\$absdir\" -" - - if test "$fast_install" = yes; then - $ECHO "\ - program=lt-'$outputname'$exeext - progdir=\"\$thisdir/$objdir\" - - if test ! -f \"\$progdir/\$program\" || - { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | ${SED} 1q\`; \\ - test \"X\$file\" != \"X\$progdir/\$program\"; }; then - - file=\"\$\$-\$program\" - - if test ! -d \"\$progdir\"; then - $MKDIR \"\$progdir\" - else - $RM \"\$progdir/\$file\" - fi" - - $ECHO "\ - - # relink executable if necessary - if test -n \"\$relink_command\"; then - if relink_command_output=\`eval \$relink_command 2>&1\`; then : - else - $ECHO \"\$relink_command_output\" >&2 - $RM \"\$progdir/\$file\" - exit 1 - fi - fi - - $MV \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null || - { $RM \"\$progdir/\$program\"; - $MV \"\$progdir/\$file\" \"\$progdir/\$program\"; } - $RM \"\$progdir/\$file\" - fi" - else - $ECHO "\ - program='$outputname' - progdir=\"\$thisdir/$objdir\" -" - fi - - $ECHO "\ - - if test -f \"\$progdir/\$program\"; then" - - # fixup the dll searchpath if we need to. - # - # Fix the DLL searchpath if we need to. Do this before prepending - # to shlibpath, because on Windows, both are PATH and uninstalled - # libraries must come first. - if test -n "$dllsearchpath"; then - $ECHO "\ - # Add the dll search path components to the executable PATH - PATH=$dllsearchpath:\$PATH -" - fi - - # Export our shlibpath_var if we have one. - if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then - $ECHO "\ - # Add our own library path to $shlibpath_var - $shlibpath_var=\"$temp_rpath\$$shlibpath_var\" - - # Some systems cannot cope with colon-terminated $shlibpath_var - # The second colon is a workaround for a bug in BeOS R4 sed - $shlibpath_var=\`\$ECHO \"\$$shlibpath_var\" | $SED 's/::*\$//'\` - - export $shlibpath_var -" - fi - - $ECHO "\ - if test \"\$libtool_execute_magic\" != \"$magic\"; then - # Run the actual program with our arguments. - func_exec_program \${1+\"\$@\"} - fi - else - # The program doesn't exist. - \$ECHO \"\$0: error: \\\`\$progdir/\$program' does not exist\" 1>&2 - \$ECHO \"This script is just a wrapper for \$program.\" 1>&2 - \$ECHO \"See the $PACKAGE documentation for more information.\" 1>&2 - exit 1 - fi -fi\ -" -} - - -# func_emit_cwrapperexe_src -# emit the source code for a wrapper executable on stdout -# Must ONLY be called from within func_mode_link because -# it depends on a number of variable set therein. -func_emit_cwrapperexe_src () -{ - cat < -#include -#ifdef _MSC_VER -# include -# include -# include -#else -# include -# include -# ifdef __CYGWIN__ -# include -# endif -#endif -#include -#include -#include -#include -#include -#include -#include -#include - -/* declarations of non-ANSI functions */ -#if defined(__MINGW32__) -# ifdef __STRICT_ANSI__ -int _putenv (const char *); -# endif -#elif defined(__CYGWIN__) -# ifdef __STRICT_ANSI__ -char *realpath (const char *, char *); -int putenv (char *); -int setenv (const char *, const char *, int); -# endif -/* #elif defined (other platforms) ... */ -#endif - -/* portability defines, excluding path handling macros */ -#if defined(_MSC_VER) -# define setmode _setmode -# define stat _stat -# define chmod _chmod -# define getcwd _getcwd -# define putenv _putenv -# define S_IXUSR _S_IEXEC -# ifndef _INTPTR_T_DEFINED -# define _INTPTR_T_DEFINED -# define intptr_t int -# endif -#elif defined(__MINGW32__) -# define setmode _setmode -# define stat _stat -# define chmod _chmod -# define getcwd _getcwd -# define putenv _putenv -#elif defined(__CYGWIN__) -# define HAVE_SETENV -# define FOPEN_WB "wb" -/* #elif defined (other platforms) ... */ -#endif - -#if defined(PATH_MAX) -# define LT_PATHMAX PATH_MAX -#elif defined(MAXPATHLEN) -# define LT_PATHMAX MAXPATHLEN -#else -# define LT_PATHMAX 1024 -#endif - -#ifndef S_IXOTH -# define S_IXOTH 0 -#endif -#ifndef S_IXGRP -# define S_IXGRP 0 -#endif - -/* path handling portability macros */ -#ifndef DIR_SEPARATOR -# define DIR_SEPARATOR '/' -# define PATH_SEPARATOR ':' -#endif - -#if defined (_WIN32) || defined (__MSDOS__) || defined (__DJGPP__) || \ - defined (__OS2__) -# define HAVE_DOS_BASED_FILE_SYSTEM -# define FOPEN_WB "wb" -# ifndef DIR_SEPARATOR_2 -# define DIR_SEPARATOR_2 '\\' -# endif -# ifndef PATH_SEPARATOR_2 -# define PATH_SEPARATOR_2 ';' -# endif -#endif - -#ifndef DIR_SEPARATOR_2 -# define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR) -#else /* DIR_SEPARATOR_2 */ -# define IS_DIR_SEPARATOR(ch) \ - (((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2)) -#endif /* DIR_SEPARATOR_2 */ - -#ifndef PATH_SEPARATOR_2 -# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR) -#else /* PATH_SEPARATOR_2 */ -# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2) -#endif /* PATH_SEPARATOR_2 */ - -#ifndef FOPEN_WB -# define FOPEN_WB "w" -#endif -#ifndef _O_BINARY -# define _O_BINARY 0 -#endif - -#define XMALLOC(type, num) ((type *) xmalloc ((num) * sizeof(type))) -#define XFREE(stale) do { \ - if (stale) { free ((void *) stale); stale = 0; } \ -} while (0) - -#if defined(LT_DEBUGWRAPPER) -static int lt_debug = 1; -#else -static int lt_debug = 0; -#endif - -const char *program_name = "libtool-wrapper"; /* in case xstrdup fails */ - -void *xmalloc (size_t num); -char *xstrdup (const char *string); -const char *base_name (const char *name); -char *find_executable (const char *wrapper); -char *chase_symlinks (const char *pathspec); -int make_executable (const char *path); -int check_executable (const char *path); -char *strendzap (char *str, const char *pat); -void lt_debugprintf (const char *file, int line, const char *fmt, ...); -void lt_fatal (const char *file, int line, const char *message, ...); -static const char *nonnull (const char *s); -static const char *nonempty (const char *s); -void lt_setenv (const char *name, const char *value); -char *lt_extend_str (const char *orig_value, const char *add, int to_end); -void lt_update_exe_path (const char *name, const char *value); -void lt_update_lib_path (const char *name, const char *value); -char **prepare_spawn (char **argv); -void lt_dump_script (FILE *f); -EOF - - cat <= 0) - && (st.st_mode & (S_IXUSR | S_IXGRP | S_IXOTH))) - return 1; - else - return 0; -} - -int -make_executable (const char *path) -{ - int rval = 0; - struct stat st; - - lt_debugprintf (__FILE__, __LINE__, "(make_executable): %s\n", - nonempty (path)); - if ((!path) || (!*path)) - return 0; - - if (stat (path, &st) >= 0) - { - rval = chmod (path, st.st_mode | S_IXOTH | S_IXGRP | S_IXUSR); - } - return rval; -} - -/* Searches for the full path of the wrapper. Returns - newly allocated full path name if found, NULL otherwise - Does not chase symlinks, even on platforms that support them. -*/ -char * -find_executable (const char *wrapper) -{ - int has_slash = 0; - const char *p; - const char *p_next; - /* static buffer for getcwd */ - char tmp[LT_PATHMAX + 1]; - int tmp_len; - char *concat_name; - - lt_debugprintf (__FILE__, __LINE__, "(find_executable): %s\n", - nonempty (wrapper)); - - if ((wrapper == NULL) || (*wrapper == '\0')) - return NULL; - - /* Absolute path? */ -#if defined (HAVE_DOS_BASED_FILE_SYSTEM) - if (isalpha ((unsigned char) wrapper[0]) && wrapper[1] == ':') - { - concat_name = xstrdup (wrapper); - if (check_executable (concat_name)) - return concat_name; - XFREE (concat_name); - } - else - { -#endif - if (IS_DIR_SEPARATOR (wrapper[0])) - { - concat_name = xstrdup (wrapper); - if (check_executable (concat_name)) - return concat_name; - XFREE (concat_name); - } -#if defined (HAVE_DOS_BASED_FILE_SYSTEM) - } -#endif - - for (p = wrapper; *p; p++) - if (*p == '/') - { - has_slash = 1; - break; - } - if (!has_slash) - { - /* no slashes; search PATH */ - const char *path = getenv ("PATH"); - if (path != NULL) - { - for (p = path; *p; p = p_next) - { - const char *q; - size_t p_len; - for (q = p; *q; q++) - if (IS_PATH_SEPARATOR (*q)) - break; - p_len = q - p; - p_next = (*q == '\0' ? q : q + 1); - if (p_len == 0) - { - /* empty path: current directory */ - if (getcwd (tmp, LT_PATHMAX) == NULL) - lt_fatal (__FILE__, __LINE__, "getcwd failed: %s", - nonnull (strerror (errno))); - tmp_len = strlen (tmp); - concat_name = - XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1); - memcpy (concat_name, tmp, tmp_len); - concat_name[tmp_len] = '/'; - strcpy (concat_name + tmp_len + 1, wrapper); - } - else - { - concat_name = - XMALLOC (char, p_len + 1 + strlen (wrapper) + 1); - memcpy (concat_name, p, p_len); - concat_name[p_len] = '/'; - strcpy (concat_name + p_len + 1, wrapper); - } - if (check_executable (concat_name)) - return concat_name; - XFREE (concat_name); - } - } - /* not found in PATH; assume curdir */ - } - /* Relative path | not found in path: prepend cwd */ - if (getcwd (tmp, LT_PATHMAX) == NULL) - lt_fatal (__FILE__, __LINE__, "getcwd failed: %s", - nonnull (strerror (errno))); - tmp_len = strlen (tmp); - concat_name = XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1); - memcpy (concat_name, tmp, tmp_len); - concat_name[tmp_len] = '/'; - strcpy (concat_name + tmp_len + 1, wrapper); - - if (check_executable (concat_name)) - return concat_name; - XFREE (concat_name); - return NULL; -} - -char * -chase_symlinks (const char *pathspec) -{ -#ifndef S_ISLNK - return xstrdup (pathspec); -#else - char buf[LT_PATHMAX]; - struct stat s; - char *tmp_pathspec = xstrdup (pathspec); - char *p; - int has_symlinks = 0; - while (strlen (tmp_pathspec) && !has_symlinks) - { - lt_debugprintf (__FILE__, __LINE__, - "checking path component for symlinks: %s\n", - tmp_pathspec); - if (lstat (tmp_pathspec, &s) == 0) - { - if (S_ISLNK (s.st_mode) != 0) - { - has_symlinks = 1; - break; - } - - /* search backwards for last DIR_SEPARATOR */ - p = tmp_pathspec + strlen (tmp_pathspec) - 1; - while ((p > tmp_pathspec) && (!IS_DIR_SEPARATOR (*p))) - p--; - if ((p == tmp_pathspec) && (!IS_DIR_SEPARATOR (*p))) - { - /* no more DIR_SEPARATORS left */ - break; - } - *p = '\0'; - } - else - { - lt_fatal (__FILE__, __LINE__, - "error accessing file \"%s\": %s", - tmp_pathspec, nonnull (strerror (errno))); - } - } - XFREE (tmp_pathspec); - - if (!has_symlinks) - { - return xstrdup (pathspec); - } - - tmp_pathspec = realpath (pathspec, buf); - if (tmp_pathspec == 0) - { - lt_fatal (__FILE__, __LINE__, - "could not follow symlinks for %s", pathspec); - } - return xstrdup (tmp_pathspec); -#endif -} - -char * -strendzap (char *str, const char *pat) -{ - size_t len, patlen; - - assert (str != NULL); - assert (pat != NULL); - - len = strlen (str); - patlen = strlen (pat); - - if (patlen <= len) - { - str += len - patlen; - if (strcmp (str, pat) == 0) - *str = '\0'; - } - return str; -} - -void -lt_debugprintf (const char *file, int line, const char *fmt, ...) -{ - va_list args; - if (lt_debug) - { - (void) fprintf (stderr, "%s:%s:%d: ", program_name, file, line); - va_start (args, fmt); - (void) vfprintf (stderr, fmt, args); - va_end (args); - } -} - -static void -lt_error_core (int exit_status, const char *file, - int line, const char *mode, - const char *message, va_list ap) -{ - fprintf (stderr, "%s:%s:%d: %s: ", program_name, file, line, mode); - vfprintf (stderr, message, ap); - fprintf (stderr, ".\n"); - - if (exit_status >= 0) - exit (exit_status); -} - -void -lt_fatal (const char *file, int line, const char *message, ...) -{ - va_list ap; - va_start (ap, message); - lt_error_core (EXIT_FAILURE, file, line, "FATAL", message, ap); - va_end (ap); -} - -static const char * -nonnull (const char *s) -{ - return s ? s : "(null)"; -} - -static const char * -nonempty (const char *s) -{ - return (s && !*s) ? "(empty)" : nonnull (s); -} - -void -lt_setenv (const char *name, const char *value) -{ - lt_debugprintf (__FILE__, __LINE__, - "(lt_setenv) setting '%s' to '%s'\n", - nonnull (name), nonnull (value)); - { -#ifdef HAVE_SETENV - /* always make a copy, for consistency with !HAVE_SETENV */ - char *str = xstrdup (value); - setenv (name, str, 1); -#else - int len = strlen (name) + 1 + strlen (value) + 1; - char *str = XMALLOC (char, len); - sprintf (str, "%s=%s", name, value); - if (putenv (str) != EXIT_SUCCESS) - { - XFREE (str); - } -#endif - } -} - -char * -lt_extend_str (const char *orig_value, const char *add, int to_end) -{ - char *new_value; - if (orig_value && *orig_value) - { - int orig_value_len = strlen (orig_value); - int add_len = strlen (add); - new_value = XMALLOC (char, add_len + orig_value_len + 1); - if (to_end) - { - strcpy (new_value, orig_value); - strcpy (new_value + orig_value_len, add); - } - else - { - strcpy (new_value, add); - strcpy (new_value + add_len, orig_value); - } - } - else - { - new_value = xstrdup (add); - } - return new_value; -} - -void -lt_update_exe_path (const char *name, const char *value) -{ - lt_debugprintf (__FILE__, __LINE__, - "(lt_update_exe_path) modifying '%s' by prepending '%s'\n", - nonnull (name), nonnull (value)); - - if (name && *name && value && *value) - { - char *new_value = lt_extend_str (getenv (name), value, 0); - /* some systems can't cope with a ':'-terminated path #' */ - int len = strlen (new_value); - while (((len = strlen (new_value)) > 0) && IS_PATH_SEPARATOR (new_value[len-1])) - { - new_value[len-1] = '\0'; - } - lt_setenv (name, new_value); - XFREE (new_value); - } -} - -void -lt_update_lib_path (const char *name, const char *value) -{ - lt_debugprintf (__FILE__, __LINE__, - "(lt_update_lib_path) modifying '%s' by prepending '%s'\n", - nonnull (name), nonnull (value)); - - if (name && *name && value && *value) - { - char *new_value = lt_extend_str (getenv (name), value, 0); - lt_setenv (name, new_value); - XFREE (new_value); - } -} - -EOF - case $host_os in - mingw*) - cat <<"EOF" - -/* Prepares an argument vector before calling spawn(). - Note that spawn() does not by itself call the command interpreter - (getenv ("COMSPEC") != NULL ? getenv ("COMSPEC") : - ({ OSVERSIONINFO v; v.dwOSVersionInfoSize = sizeof(OSVERSIONINFO); - GetVersionEx(&v); - v.dwPlatformId == VER_PLATFORM_WIN32_NT; - }) ? "cmd.exe" : "command.com"). - Instead it simply concatenates the arguments, separated by ' ', and calls - CreateProcess(). We must quote the arguments since Win32 CreateProcess() - interprets characters like ' ', '\t', '\\', '"' (but not '<' and '>') in a - special way: - - Space and tab are interpreted as delimiters. They are not treated as - delimiters if they are surrounded by double quotes: "...". - - Unescaped double quotes are removed from the input. Their only effect is - that within double quotes, space and tab are treated like normal - characters. - - Backslashes not followed by double quotes are not special. - - But 2*n+1 backslashes followed by a double quote become - n backslashes followed by a double quote (n >= 0): - \" -> " - \\\" -> \" - \\\\\" -> \\" - */ -#define SHELL_SPECIAL_CHARS "\"\\ \001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037" -#define SHELL_SPACE_CHARS " \001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037" -char ** -prepare_spawn (char **argv) -{ - size_t argc; - char **new_argv; - size_t i; - - /* Count number of arguments. */ - for (argc = 0; argv[argc] != NULL; argc++) - ; - - /* Allocate new argument vector. */ - new_argv = XMALLOC (char *, argc + 1); - - /* Put quoted arguments into the new argument vector. */ - for (i = 0; i < argc; i++) - { - const char *string = argv[i]; - - if (string[0] == '\0') - new_argv[i] = xstrdup ("\"\""); - else if (strpbrk (string, SHELL_SPECIAL_CHARS) != NULL) - { - int quote_around = (strpbrk (string, SHELL_SPACE_CHARS) != NULL); - size_t length; - unsigned int backslashes; - const char *s; - char *quoted_string; - char *p; - - length = 0; - backslashes = 0; - if (quote_around) - length++; - for (s = string; *s != '\0'; s++) - { - char c = *s; - if (c == '"') - length += backslashes + 1; - length++; - if (c == '\\') - backslashes++; - else - backslashes = 0; - } - if (quote_around) - length += backslashes + 1; - - quoted_string = XMALLOC (char, length + 1); - - p = quoted_string; - backslashes = 0; - if (quote_around) - *p++ = '"'; - for (s = string; *s != '\0'; s++) - { - char c = *s; - if (c == '"') - { - unsigned int j; - for (j = backslashes + 1; j > 0; j--) - *p++ = '\\'; - } - *p++ = c; - if (c == '\\') - backslashes++; - else - backslashes = 0; - } - if (quote_around) - { - unsigned int j; - for (j = backslashes; j > 0; j--) - *p++ = '\\'; - *p++ = '"'; - } - *p = '\0'; - - new_argv[i] = quoted_string; - } - else - new_argv[i] = (char *) string; - } - new_argv[argc] = NULL; - - return new_argv; -} -EOF - ;; - esac - - cat <<"EOF" -void lt_dump_script (FILE* f) -{ -EOF - func_emit_wrapper yes | - $SED -n -e ' -s/^\(.\{79\}\)\(..*\)/\1\ -\2/ -h -s/\([\\"]\)/\\\1/g -s/$/\\n/ -s/\([^\n]*\).*/ fputs ("\1", f);/p -g -D' - cat <<"EOF" -} -EOF -} -# end: func_emit_cwrapperexe_src - -# func_win32_import_lib_p ARG -# True if ARG is an import lib, as indicated by $file_magic_cmd -func_win32_import_lib_p () -{ - $opt_debug - case `eval $file_magic_cmd \"\$1\" 2>/dev/null | $SED -e 10q` in - *import*) : ;; - *) false ;; - esac -} - -# func_mode_link arg... -func_mode_link () -{ - $opt_debug - case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) - # It is impossible to link a dll without this setting, and - # we shouldn't force the makefile maintainer to figure out - # which system we are compiling for in order to pass an extra - # flag for every libtool invocation. - # allow_undefined=no - - # FIXME: Unfortunately, there are problems with the above when trying - # to make a dll which has undefined symbols, in which case not - # even a static library is built. For now, we need to specify - # -no-undefined on the libtool link line when we can be certain - # that all symbols are satisfied, otherwise we get a static library. - allow_undefined=yes - ;; - *) - allow_undefined=yes - ;; - esac - libtool_args=$nonopt - base_compile="$nonopt $@" - compile_command=$nonopt - finalize_command=$nonopt - - compile_rpath= - finalize_rpath= - compile_shlibpath= - finalize_shlibpath= - convenience= - old_convenience= - deplibs= - old_deplibs= - compiler_flags= - linker_flags= - dllsearchpath= - lib_search_path=`pwd` - inst_prefix_dir= - new_inherited_linker_flags= - - avoid_version=no - bindir= - dlfiles= - dlprefiles= - dlself=no - export_dynamic=no - export_symbols= - export_symbols_regex= - generated= - libobjs= - ltlibs= - module=no - no_install=no - objs= - non_pic_objects= - precious_files_regex= - prefer_static_libs=no - preload=no - prev= - prevarg= - release= - rpath= - xrpath= - perm_rpath= - temp_rpath= - thread_safe=no - vinfo= - vinfo_number=no - weak_libs= - single_module="${wl}-single_module" - func_infer_tag $base_compile - - # We need to know -static, to get the right output filenames. - for arg - do - case $arg in - -shared) - test "$build_libtool_libs" != yes && \ - func_fatal_configuration "can not build a shared library" - build_old_libs=no - break - ;; - -all-static | -static | -static-libtool-libs) - case $arg in - -all-static) - if test "$build_libtool_libs" = yes && test -z "$link_static_flag"; then - func_warning "complete static linking is impossible in this configuration" - fi - if test -n "$link_static_flag"; then - dlopen_self=$dlopen_self_static - fi - prefer_static_libs=yes - ;; - -static) - if test -z "$pic_flag" && test -n "$link_static_flag"; then - dlopen_self=$dlopen_self_static - fi - prefer_static_libs=built - ;; - -static-libtool-libs) - if test -z "$pic_flag" && test -n "$link_static_flag"; then - dlopen_self=$dlopen_self_static - fi - prefer_static_libs=yes - ;; - esac - build_libtool_libs=no - build_old_libs=yes - break - ;; - esac - done - - # See if our shared archives depend on static archives. - test -n "$old_archive_from_new_cmds" && build_old_libs=yes - - # Go through the arguments, transforming them on the way. - while test "$#" -gt 0; do - arg="$1" - shift - func_quote_for_eval "$arg" - qarg=$func_quote_for_eval_unquoted_result - func_append libtool_args " $func_quote_for_eval_result" - - # If the previous option needs an argument, assign it. - if test -n "$prev"; then - case $prev in - output) - func_append compile_command " @OUTPUT@" - func_append finalize_command " @OUTPUT@" - ;; - esac - - case $prev in - bindir) - bindir="$arg" - prev= - continue - ;; - dlfiles|dlprefiles) - if test "$preload" = no; then - # Add the symbol object into the linking commands. - func_append compile_command " @SYMFILE@" - func_append finalize_command " @SYMFILE@" - preload=yes - fi - case $arg in - *.la | *.lo) ;; # We handle these cases below. - force) - if test "$dlself" = no; then - dlself=needless - export_dynamic=yes - fi - prev= - continue - ;; - self) - if test "$prev" = dlprefiles; then - dlself=yes - elif test "$prev" = dlfiles && test "$dlopen_self" != yes; then - dlself=yes - else - dlself=needless - export_dynamic=yes - fi - prev= - continue - ;; - *) - if test "$prev" = dlfiles; then - func_append dlfiles " $arg" - else - func_append dlprefiles " $arg" - fi - prev= - continue - ;; - esac - ;; - expsyms) - export_symbols="$arg" - test -f "$arg" \ - || func_fatal_error "symbol file \`$arg' does not exist" - prev= - continue - ;; - expsyms_regex) - export_symbols_regex="$arg" - prev= - continue - ;; - framework) - case $host in - *-*-darwin*) - case "$deplibs " in - *" $qarg.ltframework "*) ;; - *) func_append deplibs " $qarg.ltframework" # this is fixed later - ;; - esac - ;; - esac - prev= - continue - ;; - inst_prefix) - inst_prefix_dir="$arg" - prev= - continue - ;; - objectlist) - if test -f "$arg"; then - save_arg=$arg - moreargs= - for fil in `cat "$save_arg"` - do -# func_append moreargs " $fil" - arg=$fil - # A libtool-controlled object. - - # Check to see that this really is a libtool object. - if func_lalib_unsafe_p "$arg"; then - pic_object= - non_pic_object= - - # Read the .lo file - func_source "$arg" - - if test -z "$pic_object" || - test -z "$non_pic_object" || - test "$pic_object" = none && - test "$non_pic_object" = none; then - func_fatal_error "cannot find name of object for \`$arg'" - fi - - # Extract subdirectory from the argument. - func_dirname "$arg" "/" "" - xdir="$func_dirname_result" - - if test "$pic_object" != none; then - # Prepend the subdirectory the object is found in. - pic_object="$xdir$pic_object" - - if test "$prev" = dlfiles; then - if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then - func_append dlfiles " $pic_object" - prev= - continue - else - # If libtool objects are unsupported, then we need to preload. - prev=dlprefiles - fi - fi - - # CHECK ME: I think I busted this. -Ossama - if test "$prev" = dlprefiles; then - # Preload the old-style object. - func_append dlprefiles " $pic_object" - prev= - fi - - # A PIC object. - func_append libobjs " $pic_object" - arg="$pic_object" - fi - - # Non-PIC object. - if test "$non_pic_object" != none; then - # Prepend the subdirectory the object is found in. - non_pic_object="$xdir$non_pic_object" - - # A standard non-PIC object - func_append non_pic_objects " $non_pic_object" - if test -z "$pic_object" || test "$pic_object" = none ; then - arg="$non_pic_object" - fi - else - # If the PIC object exists, use it instead. - # $xdir was prepended to $pic_object above. - non_pic_object="$pic_object" - func_append non_pic_objects " $non_pic_object" - fi - else - # Only an error if not doing a dry-run. - if $opt_dry_run; then - # Extract subdirectory from the argument. - func_dirname "$arg" "/" "" - xdir="$func_dirname_result" - - func_lo2o "$arg" - pic_object=$xdir$objdir/$func_lo2o_result - non_pic_object=$xdir$func_lo2o_result - func_append libobjs " $pic_object" - func_append non_pic_objects " $non_pic_object" - else - func_fatal_error "\`$arg' is not a valid libtool object" - fi - fi - done - else - func_fatal_error "link input file \`$arg' does not exist" - fi - arg=$save_arg - prev= - continue - ;; - precious_regex) - precious_files_regex="$arg" - prev= - continue - ;; - release) - release="-$arg" - prev= - continue - ;; - rpath | xrpath) - # We need an absolute path. - case $arg in - [\\/]* | [A-Za-z]:[\\/]*) ;; - *) - func_fatal_error "only absolute run-paths are allowed" - ;; - esac - if test "$prev" = rpath; then - case "$rpath " in - *" $arg "*) ;; - *) func_append rpath " $arg" ;; - esac - else - case "$xrpath " in - *" $arg "*) ;; - *) func_append xrpath " $arg" ;; - esac - fi - prev= - continue - ;; - shrext) - shrext_cmds="$arg" - prev= - continue - ;; - weak) - func_append weak_libs " $arg" - prev= - continue - ;; - xcclinker) - func_append linker_flags " $qarg" - func_append compiler_flags " $qarg" - prev= - func_append compile_command " $qarg" - func_append finalize_command " $qarg" - continue - ;; - xcompiler) - func_append compiler_flags " $qarg" - prev= - func_append compile_command " $qarg" - func_append finalize_command " $qarg" - continue - ;; - xlinker) - func_append linker_flags " $qarg" - func_append compiler_flags " $wl$qarg" - prev= - func_append compile_command " $wl$qarg" - func_append finalize_command " $wl$qarg" - continue - ;; - *) - eval "$prev=\"\$arg\"" - prev= - continue - ;; - esac - fi # test -n "$prev" - - prevarg="$arg" - - case $arg in - -all-static) - if test -n "$link_static_flag"; then - # See comment for -static flag below, for more details. - func_append compile_command " $link_static_flag" - func_append finalize_command " $link_static_flag" - fi - continue - ;; - - -allow-undefined) - # FIXME: remove this flag sometime in the future. - func_fatal_error "\`-allow-undefined' must not be used because it is the default" - ;; - - -avoid-version) - avoid_version=yes - continue - ;; - - -bindir) - prev=bindir - continue - ;; - - -dlopen) - prev=dlfiles - continue - ;; - - -dlpreopen) - prev=dlprefiles - continue - ;; - - -export-dynamic) - export_dynamic=yes - continue - ;; - - -export-symbols | -export-symbols-regex) - if test -n "$export_symbols" || test -n "$export_symbols_regex"; then - func_fatal_error "more than one -exported-symbols argument is not allowed" - fi - if test "X$arg" = "X-export-symbols"; then - prev=expsyms - else - prev=expsyms_regex - fi - continue - ;; - - -framework) - prev=framework - continue - ;; - - -inst-prefix-dir) - prev=inst_prefix - continue - ;; - - # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:* - # so, if we see these flags be careful not to treat them like -L - -L[A-Z][A-Z]*:*) - case $with_gcc/$host in - no/*-*-irix* | /*-*-irix*) - func_append compile_command " $arg" - func_append finalize_command " $arg" - ;; - esac - continue - ;; - - -L*) - func_stripname "-L" '' "$arg" - if test -z "$func_stripname_result"; then - if test "$#" -gt 0; then - func_fatal_error "require no space between \`-L' and \`$1'" - else - func_fatal_error "need path for \`-L' option" - fi - fi - func_resolve_sysroot "$func_stripname_result" - dir=$func_resolve_sysroot_result - # We need an absolute path. - case $dir in - [\\/]* | [A-Za-z]:[\\/]*) ;; - *) - absdir=`cd "$dir" && pwd` - test -z "$absdir" && \ - func_fatal_error "cannot determine absolute directory name of \`$dir'" - dir="$absdir" - ;; - esac - case "$deplibs " in - *" -L$dir "* | *" $arg "*) - # Will only happen for absolute or sysroot arguments - ;; - *) - # Preserve sysroot, but never include relative directories - case $dir in - [\\/]* | [A-Za-z]:[\\/]* | =*) func_append deplibs " $arg" ;; - *) func_append deplibs " -L$dir" ;; - esac - func_append lib_search_path " $dir" - ;; - esac - case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) - testbindir=`$ECHO "$dir" | $SED 's*/lib$*/bin*'` - case :$dllsearchpath: in - *":$dir:"*) ;; - ::) dllsearchpath=$dir;; - *) func_append dllsearchpath ":$dir";; - esac - case :$dllsearchpath: in - *":$testbindir:"*) ;; - ::) dllsearchpath=$testbindir;; - *) func_append dllsearchpath ":$testbindir";; - esac - ;; - esac - continue - ;; - - -l*) - if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then - case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos* | *-cegcc* | *-*-haiku*) - # These systems don't actually have a C or math library (as such) - continue - ;; - *-*-os2*) - # These systems don't actually have a C library (as such) - test "X$arg" = "X-lc" && continue - ;; - *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) - # Do not include libc due to us having libc/libc_r. - test "X$arg" = "X-lc" && continue - ;; - *-*-rhapsody* | *-*-darwin1.[012]) - # Rhapsody C and math libraries are in the System framework - func_append deplibs " System.ltframework" - continue - ;; - *-*-sco3.2v5* | *-*-sco5v6*) - # Causes problems with __ctype - test "X$arg" = "X-lc" && continue - ;; - *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) - # Compiler inserts libc in the correct place for threads to work - test "X$arg" = "X-lc" && continue - ;; - esac - elif test "X$arg" = "X-lc_r"; then - case $host in - *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) - # Do not include libc_r directly, use -pthread flag. - continue - ;; - esac - fi - func_append deplibs " $arg" - continue - ;; - - -module) - module=yes - continue - ;; - - # Tru64 UNIX uses -model [arg] to determine the layout of C++ - # classes, name mangling, and exception handling. - # Darwin uses the -arch flag to determine output architecture. - -model|-arch|-isysroot|--sysroot) - func_append compiler_flags " $arg" - func_append compile_command " $arg" - func_append finalize_command " $arg" - prev=xcompiler - continue - ;; - - -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe \ - |-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*) - func_append compiler_flags " $arg" - func_append compile_command " $arg" - func_append finalize_command " $arg" - case "$new_inherited_linker_flags " in - *" $arg "*) ;; - * ) func_append new_inherited_linker_flags " $arg" ;; - esac - continue - ;; - - -multi_module) - single_module="${wl}-multi_module" - continue - ;; - - -no-fast-install) - fast_install=no - continue - ;; - - -no-install) - case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-darwin* | *-cegcc*) - # The PATH hackery in wrapper scripts is required on Windows - # and Darwin in order for the loader to find any dlls it needs. - func_warning "\`-no-install' is ignored for $host" - func_warning "assuming \`-no-fast-install' instead" - fast_install=no - ;; - *) no_install=yes ;; - esac - continue - ;; - - -no-undefined) - allow_undefined=no - continue - ;; - - -objectlist) - prev=objectlist - continue - ;; - - -o) prev=output ;; - - -precious-files-regex) - prev=precious_regex - continue - ;; - - -release) - prev=release - continue - ;; - - -rpath) - prev=rpath - continue - ;; - - -R) - prev=xrpath - continue - ;; - - -R*) - func_stripname '-R' '' "$arg" - dir=$func_stripname_result - # We need an absolute path. - case $dir in - [\\/]* | [A-Za-z]:[\\/]*) ;; - =*) - func_stripname '=' '' "$dir" - dir=$lt_sysroot$func_stripname_result - ;; - *) - func_fatal_error "only absolute run-paths are allowed" - ;; - esac - case "$xrpath " in - *" $dir "*) ;; - *) func_append xrpath " $dir" ;; - esac - continue - ;; - - -shared) - # The effects of -shared are defined in a previous loop. - continue - ;; - - -shrext) - prev=shrext - continue - ;; - - -static | -static-libtool-libs) - # The effects of -static are defined in a previous loop. - # We used to do the same as -all-static on platforms that - # didn't have a PIC flag, but the assumption that the effects - # would be equivalent was wrong. It would break on at least - # Digital Unix and AIX. - continue - ;; - - -thread-safe) - thread_safe=yes - continue - ;; - - -version-info) - prev=vinfo - continue - ;; - - -version-number) - prev=vinfo - vinfo_number=yes - continue - ;; - - -weak) - prev=weak - continue - ;; - - -Wc,*) - func_stripname '-Wc,' '' "$arg" - args=$func_stripname_result - arg= - save_ifs="$IFS"; IFS=',' - for flag in $args; do - IFS="$save_ifs" - func_quote_for_eval "$flag" - func_append arg " $func_quote_for_eval_result" - func_append compiler_flags " $func_quote_for_eval_result" - done - IFS="$save_ifs" - func_stripname ' ' '' "$arg" - arg=$func_stripname_result - ;; - - -Wl,*) - func_stripname '-Wl,' '' "$arg" - args=$func_stripname_result - arg= - save_ifs="$IFS"; IFS=',' - for flag in $args; do - IFS="$save_ifs" - func_quote_for_eval "$flag" - func_append arg " $wl$func_quote_for_eval_result" - func_append compiler_flags " $wl$func_quote_for_eval_result" - func_append linker_flags " $func_quote_for_eval_result" - done - IFS="$save_ifs" - func_stripname ' ' '' "$arg" - arg=$func_stripname_result - ;; - - -Xcompiler) - prev=xcompiler - continue - ;; - - -Xlinker) - prev=xlinker - continue - ;; - - -XCClinker) - prev=xcclinker - continue - ;; - - # -msg_* for osf cc - -msg_*) - func_quote_for_eval "$arg" - arg="$func_quote_for_eval_result" - ;; - - # Flags to be passed through unchanged, with rationale: - # -64, -mips[0-9] enable 64-bit mode for the SGI compiler - # -r[0-9][0-9]* specify processor for the SGI compiler - # -xarch=*, -xtarget=* enable 64-bit mode for the Sun compiler - # +DA*, +DD* enable 64-bit mode for the HP compiler - # -q* compiler args for the IBM compiler - # -m*, -t[45]*, -txscale* architecture-specific flags for GCC - # -F/path path to uninstalled frameworks, gcc on darwin - # -p, -pg, --coverage, -fprofile-* profiling flags for GCC - # @file GCC response files - # -tp=* Portland pgcc target processor selection - # --sysroot=* for sysroot support - # -O*, -flto*, -fwhopr*, -fuse-linker-plugin GCC link-time optimization - -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \ - -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \ - -O*|-flto*|-fwhopr*|-fuse-linker-plugin) - func_quote_for_eval "$arg" - arg="$func_quote_for_eval_result" - func_append compile_command " $arg" - func_append finalize_command " $arg" - func_append compiler_flags " $arg" - continue - ;; - - # Some other compiler flag. - -* | +*) - func_quote_for_eval "$arg" - arg="$func_quote_for_eval_result" - ;; - - *.$objext) - # A standard object. - func_append objs " $arg" - ;; - - *.lo) - # A libtool-controlled object. - - # Check to see that this really is a libtool object. - if func_lalib_unsafe_p "$arg"; then - pic_object= - non_pic_object= - - # Read the .lo file - func_source "$arg" - - if test -z "$pic_object" || - test -z "$non_pic_object" || - test "$pic_object" = none && - test "$non_pic_object" = none; then - func_fatal_error "cannot find name of object for \`$arg'" - fi - - # Extract subdirectory from the argument. - func_dirname "$arg" "/" "" - xdir="$func_dirname_result" - - if test "$pic_object" != none; then - # Prepend the subdirectory the object is found in. - pic_object="$xdir$pic_object" - - if test "$prev" = dlfiles; then - if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then - func_append dlfiles " $pic_object" - prev= - continue - else - # If libtool objects are unsupported, then we need to preload. - prev=dlprefiles - fi - fi - - # CHECK ME: I think I busted this. -Ossama - if test "$prev" = dlprefiles; then - # Preload the old-style object. - func_append dlprefiles " $pic_object" - prev= - fi - - # A PIC object. - func_append libobjs " $pic_object" - arg="$pic_object" - fi - - # Non-PIC object. - if test "$non_pic_object" != none; then - # Prepend the subdirectory the object is found in. - non_pic_object="$xdir$non_pic_object" - - # A standard non-PIC object - func_append non_pic_objects " $non_pic_object" - if test -z "$pic_object" || test "$pic_object" = none ; then - arg="$non_pic_object" - fi - else - # If the PIC object exists, use it instead. - # $xdir was prepended to $pic_object above. - non_pic_object="$pic_object" - func_append non_pic_objects " $non_pic_object" - fi - else - # Only an error if not doing a dry-run. - if $opt_dry_run; then - # Extract subdirectory from the argument. - func_dirname "$arg" "/" "" - xdir="$func_dirname_result" - - func_lo2o "$arg" - pic_object=$xdir$objdir/$func_lo2o_result - non_pic_object=$xdir$func_lo2o_result - func_append libobjs " $pic_object" - func_append non_pic_objects " $non_pic_object" - else - func_fatal_error "\`$arg' is not a valid libtool object" - fi - fi - ;; - - *.$libext) - # An archive. - func_append deplibs " $arg" - func_append old_deplibs " $arg" - continue - ;; - - *.la) - # A libtool-controlled library. - - func_resolve_sysroot "$arg" - if test "$prev" = dlfiles; then - # This library was specified with -dlopen. - func_append dlfiles " $func_resolve_sysroot_result" - prev= - elif test "$prev" = dlprefiles; then - # The library was specified with -dlpreopen. - func_append dlprefiles " $func_resolve_sysroot_result" - prev= - else - func_append deplibs " $func_resolve_sysroot_result" - fi - continue - ;; - - # Some other compiler argument. - *) - # Unknown arguments in both finalize_command and compile_command need - # to be aesthetically quoted because they are evaled later. - func_quote_for_eval "$arg" - arg="$func_quote_for_eval_result" - ;; - esac # arg - - # Now actually substitute the argument into the commands. - if test -n "$arg"; then - func_append compile_command " $arg" - func_append finalize_command " $arg" - fi - done # argument parsing loop - - test -n "$prev" && \ - func_fatal_help "the \`$prevarg' option requires an argument" - - if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then - eval arg=\"$export_dynamic_flag_spec\" - func_append compile_command " $arg" - func_append finalize_command " $arg" - fi - - oldlibs= - # calculate the name of the file, without its directory - func_basename "$output" - outputname="$func_basename_result" - libobjs_save="$libobjs" - - if test -n "$shlibpath_var"; then - # get the directories listed in $shlibpath_var - eval shlib_search_path=\`\$ECHO \"\${$shlibpath_var}\" \| \$SED \'s/:/ /g\'\` - else - shlib_search_path= - fi - eval sys_lib_search_path=\"$sys_lib_search_path_spec\" - eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\" - - func_dirname "$output" "/" "" - output_objdir="$func_dirname_result$objdir" - func_to_tool_file "$output_objdir/" - tool_output_objdir=$func_to_tool_file_result - # Create the object directory. - func_mkdir_p "$output_objdir" - - # Determine the type of output - case $output in - "") - func_fatal_help "you must specify an output file" - ;; - *.$libext) linkmode=oldlib ;; - *.lo | *.$objext) linkmode=obj ;; - *.la) linkmode=lib ;; - *) linkmode=prog ;; # Anything else should be a program. - esac - - specialdeplibs= - - libs= - # Find all interdependent deplibs by searching for libraries - # that are linked more than once (e.g. -la -lb -la) - for deplib in $deplibs; do - if $opt_preserve_dup_deps ; then - case "$libs " in - *" $deplib "*) func_append specialdeplibs " $deplib" ;; - esac - fi - func_append libs " $deplib" - done - - if test "$linkmode" = lib; then - libs="$predeps $libs $compiler_lib_search_path $postdeps" - - # Compute libraries that are listed more than once in $predeps - # $postdeps and mark them as special (i.e., whose duplicates are - # not to be eliminated). - pre_post_deps= - if $opt_duplicate_compiler_generated_deps; then - for pre_post_dep in $predeps $postdeps; do - case "$pre_post_deps " in - *" $pre_post_dep "*) func_append specialdeplibs " $pre_post_deps" ;; - esac - func_append pre_post_deps " $pre_post_dep" - done - fi - pre_post_deps= - fi - - deplibs= - newdependency_libs= - newlib_search_path= - need_relink=no # whether we're linking any uninstalled libtool libraries - notinst_deplibs= # not-installed libtool libraries - notinst_path= # paths that contain not-installed libtool libraries - - case $linkmode in - lib) - passes="conv dlpreopen link" - for file in $dlfiles $dlprefiles; do - case $file in - *.la) ;; - *) - func_fatal_help "libraries can \`-dlopen' only libtool libraries: $file" - ;; - esac - done - ;; - prog) - compile_deplibs= - finalize_deplibs= - alldeplibs=no - newdlfiles= - newdlprefiles= - passes="conv scan dlopen dlpreopen link" - ;; - *) passes="conv" - ;; - esac - - for pass in $passes; do - # The preopen pass in lib mode reverses $deplibs; put it back here - # so that -L comes before libs that need it for instance... - if test "$linkmode,$pass" = "lib,link"; then - ## FIXME: Find the place where the list is rebuilt in the wrong - ## order, and fix it there properly - tmp_deplibs= - for deplib in $deplibs; do - tmp_deplibs="$deplib $tmp_deplibs" - done - deplibs="$tmp_deplibs" - fi - - if test "$linkmode,$pass" = "lib,link" || - test "$linkmode,$pass" = "prog,scan"; then - libs="$deplibs" - deplibs= - fi - if test "$linkmode" = prog; then - case $pass in - dlopen) libs="$dlfiles" ;; - dlpreopen) libs="$dlprefiles" ;; - link) - libs="$deplibs %DEPLIBS%" - test "X$link_all_deplibs" != Xno && libs="$libs $dependency_libs" - ;; - esac - fi - if test "$linkmode,$pass" = "lib,dlpreopen"; then - # Collect and forward deplibs of preopened libtool libs - for lib in $dlprefiles; do - # Ignore non-libtool-libs - dependency_libs= - func_resolve_sysroot "$lib" - case $lib in - *.la) func_source "$func_resolve_sysroot_result" ;; - esac - - # Collect preopened libtool deplibs, except any this library - # has declared as weak libs - for deplib in $dependency_libs; do - func_basename "$deplib" - deplib_base=$func_basename_result - case " $weak_libs " in - *" $deplib_base "*) ;; - *) func_append deplibs " $deplib" ;; - esac - done - done - libs="$dlprefiles" - fi - if test "$pass" = dlopen; then - # Collect dlpreopened libraries - save_deplibs="$deplibs" - deplibs= - fi - - for deplib in $libs; do - lib= - found=no - case $deplib in - -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe \ - |-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*) - if test "$linkmode,$pass" = "prog,link"; then - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - else - func_append compiler_flags " $deplib" - if test "$linkmode" = lib ; then - case "$new_inherited_linker_flags " in - *" $deplib "*) ;; - * ) func_append new_inherited_linker_flags " $deplib" ;; - esac - fi - fi - continue - ;; - -l*) - if test "$linkmode" != lib && test "$linkmode" != prog; then - func_warning "\`-l' is ignored for archives/objects" - continue - fi - func_stripname '-l' '' "$deplib" - name=$func_stripname_result - if test "$linkmode" = lib; then - searchdirs="$newlib_search_path $lib_search_path $compiler_lib_search_dirs $sys_lib_search_path $shlib_search_path" - else - searchdirs="$newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path" - fi - for searchdir in $searchdirs; do - for search_ext in .la $std_shrext .so .a; do - # Search the libtool library - lib="$searchdir/lib${name}${search_ext}" - if test -f "$lib"; then - if test "$search_ext" = ".la"; then - found=yes - else - found=no - fi - break 2 - fi - done - done - if test "$found" != yes; then - # deplib doesn't seem to be a libtool library - if test "$linkmode,$pass" = "prog,link"; then - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - else - deplibs="$deplib $deplibs" - test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs" - fi - continue - else # deplib is a libtool library - # If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib, - # We need to do some special things here, and not later. - if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then - case " $predeps $postdeps " in - *" $deplib "*) - if func_lalib_p "$lib"; then - library_names= - old_library= - func_source "$lib" - for l in $old_library $library_names; do - ll="$l" - done - if test "X$ll" = "X$old_library" ; then # only static version available - found=no - func_dirname "$lib" "" "." - ladir="$func_dirname_result" - lib=$ladir/$old_library - if test "$linkmode,$pass" = "prog,link"; then - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - else - deplibs="$deplib $deplibs" - test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs" - fi - continue - fi - fi - ;; - *) ;; - esac - fi - fi - ;; # -l - *.ltframework) - if test "$linkmode,$pass" = "prog,link"; then - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - else - deplibs="$deplib $deplibs" - if test "$linkmode" = lib ; then - case "$new_inherited_linker_flags " in - *" $deplib "*) ;; - * ) func_append new_inherited_linker_flags " $deplib" ;; - esac - fi - fi - continue - ;; - -L*) - case $linkmode in - lib) - deplibs="$deplib $deplibs" - test "$pass" = conv && continue - newdependency_libs="$deplib $newdependency_libs" - func_stripname '-L' '' "$deplib" - func_resolve_sysroot "$func_stripname_result" - func_append newlib_search_path " $func_resolve_sysroot_result" - ;; - prog) - if test "$pass" = conv; then - deplibs="$deplib $deplibs" - continue - fi - if test "$pass" = scan; then - deplibs="$deplib $deplibs" - else - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - fi - func_stripname '-L' '' "$deplib" - func_resolve_sysroot "$func_stripname_result" - func_append newlib_search_path " $func_resolve_sysroot_result" - ;; - *) - func_warning "\`-L' is ignored for archives/objects" - ;; - esac # linkmode - continue - ;; # -L - -R*) - if test "$pass" = link; then - func_stripname '-R' '' "$deplib" - func_resolve_sysroot "$func_stripname_result" - dir=$func_resolve_sysroot_result - # Make sure the xrpath contains only unique directories. - case "$xrpath " in - *" $dir "*) ;; - *) func_append xrpath " $dir" ;; - esac - fi - deplibs="$deplib $deplibs" - continue - ;; - *.la) - func_resolve_sysroot "$deplib" - lib=$func_resolve_sysroot_result - ;; - *.$libext) - if test "$pass" = conv; then - deplibs="$deplib $deplibs" - continue - fi - case $linkmode in - lib) - # Linking convenience modules into shared libraries is allowed, - # but linking other static libraries is non-portable. - case " $dlpreconveniencelibs " in - *" $deplib "*) ;; - *) - valid_a_lib=no - case $deplibs_check_method in - match_pattern*) - set dummy $deplibs_check_method; shift - match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"` - if eval "\$ECHO \"$deplib\"" 2>/dev/null | $SED 10q \ - | $EGREP "$match_pattern_regex" > /dev/null; then - valid_a_lib=yes - fi - ;; - pass_all) - valid_a_lib=yes - ;; - esac - if test "$valid_a_lib" != yes; then - echo - $ECHO "*** Warning: Trying to link with static lib archive $deplib." - echo "*** I have the capability to make that library automatically link in when" - echo "*** you link to this library. But I can only do this if you have a" - echo "*** shared version of the library, which you do not appear to have" - echo "*** because the file extensions .$libext of this argument makes me believe" - echo "*** that it is just a static archive that I should not use here." - else - echo - $ECHO "*** Warning: Linking the shared library $output against the" - $ECHO "*** static library $deplib is not portable!" - deplibs="$deplib $deplibs" - fi - ;; - esac - continue - ;; - prog) - if test "$pass" != link; then - deplibs="$deplib $deplibs" - else - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - fi - continue - ;; - esac # linkmode - ;; # *.$libext - *.lo | *.$objext) - if test "$pass" = conv; then - deplibs="$deplib $deplibs" - elif test "$linkmode" = prog; then - if test "$pass" = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then - # If there is no dlopen support or we're linking statically, - # we need to preload. - func_append newdlprefiles " $deplib" - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - else - func_append newdlfiles " $deplib" - fi - fi - continue - ;; - %DEPLIBS%) - alldeplibs=yes - continue - ;; - esac # case $deplib - - if test "$found" = yes || test -f "$lib"; then : - else - func_fatal_error "cannot find the library \`$lib' or unhandled argument \`$deplib'" - fi - - # Check to see that this really is a libtool archive. - func_lalib_unsafe_p "$lib" \ - || func_fatal_error "\`$lib' is not a valid libtool archive" - - func_dirname "$lib" "" "." - ladir="$func_dirname_result" - - dlname= - dlopen= - dlpreopen= - libdir= - library_names= - old_library= - inherited_linker_flags= - # If the library was installed with an old release of libtool, - # it will not redefine variables installed, or shouldnotlink - installed=yes - shouldnotlink=no - avoidtemprpath= - - - # Read the .la file - func_source "$lib" - - # Convert "-framework foo" to "foo.ltframework" - if test -n "$inherited_linker_flags"; then - tmp_inherited_linker_flags=`$ECHO "$inherited_linker_flags" | $SED 's/-framework \([^ $]*\)/\1.ltframework/g'` - for tmp_inherited_linker_flag in $tmp_inherited_linker_flags; do - case " $new_inherited_linker_flags " in - *" $tmp_inherited_linker_flag "*) ;; - *) func_append new_inherited_linker_flags " $tmp_inherited_linker_flag";; - esac - done - fi - dependency_libs=`$ECHO " $dependency_libs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` - if test "$linkmode,$pass" = "lib,link" || - test "$linkmode,$pass" = "prog,scan" || - { test "$linkmode" != prog && test "$linkmode" != lib; }; then - test -n "$dlopen" && func_append dlfiles " $dlopen" - test -n "$dlpreopen" && func_append dlprefiles " $dlpreopen" - fi - - if test "$pass" = conv; then - # Only check for convenience libraries - deplibs="$lib $deplibs" - if test -z "$libdir"; then - if test -z "$old_library"; then - func_fatal_error "cannot find name of link library for \`$lib'" - fi - # It is a libtool convenience library, so add in its objects. - func_append convenience " $ladir/$objdir/$old_library" - func_append old_convenience " $ladir/$objdir/$old_library" - tmp_libs= - for deplib in $dependency_libs; do - deplibs="$deplib $deplibs" - if $opt_preserve_dup_deps ; then - case "$tmp_libs " in - *" $deplib "*) func_append specialdeplibs " $deplib" ;; - esac - fi - func_append tmp_libs " $deplib" - done - elif test "$linkmode" != prog && test "$linkmode" != lib; then - func_fatal_error "\`$lib' is not a convenience library" - fi - continue - fi # $pass = conv - - - # Get the name of the library we link against. - linklib= - if test -n "$old_library" && - { test "$prefer_static_libs" = yes || - test "$prefer_static_libs,$installed" = "built,no"; }; then - linklib=$old_library - else - for l in $old_library $library_names; do - linklib="$l" - done - fi - if test -z "$linklib"; then - func_fatal_error "cannot find name of link library for \`$lib'" - fi - - # This library was specified with -dlopen. - if test "$pass" = dlopen; then - if test -z "$libdir"; then - func_fatal_error "cannot -dlopen a convenience library: \`$lib'" - fi - if test -z "$dlname" || - test "$dlopen_support" != yes || - test "$build_libtool_libs" = no; then - # If there is no dlname, no dlopen support or we're linking - # statically, we need to preload. We also need to preload any - # dependent libraries so libltdl's deplib preloader doesn't - # bomb out in the load deplibs phase. - func_append dlprefiles " $lib $dependency_libs" - else - func_append newdlfiles " $lib" - fi - continue - fi # $pass = dlopen - - # We need an absolute path. - case $ladir in - [\\/]* | [A-Za-z]:[\\/]*) abs_ladir="$ladir" ;; - *) - abs_ladir=`cd "$ladir" && pwd` - if test -z "$abs_ladir"; then - func_warning "cannot determine absolute directory name of \`$ladir'" - func_warning "passing it literally to the linker, although it might fail" - abs_ladir="$ladir" - fi - ;; - esac - func_basename "$lib" - laname="$func_basename_result" - - # Find the relevant object directory and library name. - if test "X$installed" = Xyes; then - if test ! -f "$lt_sysroot$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then - func_warning "library \`$lib' was moved." - dir="$ladir" - absdir="$abs_ladir" - libdir="$abs_ladir" - else - dir="$lt_sysroot$libdir" - absdir="$lt_sysroot$libdir" - fi - test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes - else - if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then - dir="$ladir" - absdir="$abs_ladir" - # Remove this search path later - func_append notinst_path " $abs_ladir" - else - dir="$ladir/$objdir" - absdir="$abs_ladir/$objdir" - # Remove this search path later - func_append notinst_path " $abs_ladir" - fi - fi # $installed = yes - func_stripname 'lib' '.la' "$laname" - name=$func_stripname_result - - # This library was specified with -dlpreopen. - if test "$pass" = dlpreopen; then - if test -z "$libdir" && test "$linkmode" = prog; then - func_fatal_error "only libraries may -dlpreopen a convenience library: \`$lib'" - fi - case "$host" in - # special handling for platforms with PE-DLLs. - *cygwin* | *mingw* | *cegcc* ) - # Linker will automatically link against shared library if both - # static and shared are present. Therefore, ensure we extract - # symbols from the import library if a shared library is present - # (otherwise, the dlopen module name will be incorrect). We do - # this by putting the import library name into $newdlprefiles. - # We recover the dlopen module name by 'saving' the la file - # name in a special purpose variable, and (later) extracting the - # dlname from the la file. - if test -n "$dlname"; then - func_tr_sh "$dir/$linklib" - eval "libfile_$func_tr_sh_result=\$abs_ladir/\$laname" - func_append newdlprefiles " $dir/$linklib" - else - func_append newdlprefiles " $dir/$old_library" - # Keep a list of preopened convenience libraries to check - # that they are being used correctly in the link pass. - test -z "$libdir" && \ - func_append dlpreconveniencelibs " $dir/$old_library" - fi - ;; - * ) - # Prefer using a static library (so that no silly _DYNAMIC symbols - # are required to link). - if test -n "$old_library"; then - func_append newdlprefiles " $dir/$old_library" - # Keep a list of preopened convenience libraries to check - # that they are being used correctly in the link pass. - test -z "$libdir" && \ - func_append dlpreconveniencelibs " $dir/$old_library" - # Otherwise, use the dlname, so that lt_dlopen finds it. - elif test -n "$dlname"; then - func_append newdlprefiles " $dir/$dlname" - else - func_append newdlprefiles " $dir/$linklib" - fi - ;; - esac - fi # $pass = dlpreopen - - if test -z "$libdir"; then - # Link the convenience library - if test "$linkmode" = lib; then - deplibs="$dir/$old_library $deplibs" - elif test "$linkmode,$pass" = "prog,link"; then - compile_deplibs="$dir/$old_library $compile_deplibs" - finalize_deplibs="$dir/$old_library $finalize_deplibs" - else - deplibs="$lib $deplibs" # used for prog,scan pass - fi - continue - fi - - - if test "$linkmode" = prog && test "$pass" != link; then - func_append newlib_search_path " $ladir" - deplibs="$lib $deplibs" - - linkalldeplibs=no - if test "$link_all_deplibs" != no || test -z "$library_names" || - test "$build_libtool_libs" = no; then - linkalldeplibs=yes - fi - - tmp_libs= - for deplib in $dependency_libs; do - case $deplib in - -L*) func_stripname '-L' '' "$deplib" - func_resolve_sysroot "$func_stripname_result" - func_append newlib_search_path " $func_resolve_sysroot_result" - ;; - esac - # Need to link against all dependency_libs? - if test "$linkalldeplibs" = yes; then - deplibs="$deplib $deplibs" - else - # Need to hardcode shared library paths - # or/and link against static libraries - newdependency_libs="$deplib $newdependency_libs" - fi - if $opt_preserve_dup_deps ; then - case "$tmp_libs " in - *" $deplib "*) func_append specialdeplibs " $deplib" ;; - esac - fi - func_append tmp_libs " $deplib" - done # for deplib - continue - fi # $linkmode = prog... - - if test "$linkmode,$pass" = "prog,link"; then - if test -n "$library_names" && - { { test "$prefer_static_libs" = no || - test "$prefer_static_libs,$installed" = "built,yes"; } || - test -z "$old_library"; }; then - # We need to hardcode the library path - if test -n "$shlibpath_var" && test -z "$avoidtemprpath" ; then - # Make sure the rpath contains only unique directories. - case "$temp_rpath:" in - *"$absdir:"*) ;; - *) func_append temp_rpath "$absdir:" ;; - esac - fi - - # Hardcode the library path. - # Skip directories that are in the system default run-time - # search path. - case " $sys_lib_dlsearch_path " in - *" $absdir "*) ;; - *) - case "$compile_rpath " in - *" $absdir "*) ;; - *) func_append compile_rpath " $absdir" ;; - esac - ;; - esac - case " $sys_lib_dlsearch_path " in - *" $libdir "*) ;; - *) - case "$finalize_rpath " in - *" $libdir "*) ;; - *) func_append finalize_rpath " $libdir" ;; - esac - ;; - esac - fi # $linkmode,$pass = prog,link... - - if test "$alldeplibs" = yes && - { test "$deplibs_check_method" = pass_all || - { test "$build_libtool_libs" = yes && - test -n "$library_names"; }; }; then - # We only need to search for static libraries - continue - fi - fi - - link_static=no # Whether the deplib will be linked statically - use_static_libs=$prefer_static_libs - if test "$use_static_libs" = built && test "$installed" = yes; then - use_static_libs=no - fi - if test -n "$library_names" && - { test "$use_static_libs" = no || test -z "$old_library"; }; then - case $host in - *cygwin* | *mingw* | *cegcc*) - # No point in relinking DLLs because paths are not encoded - func_append notinst_deplibs " $lib" - need_relink=no - ;; - *) - if test "$installed" = no; then - func_append notinst_deplibs " $lib" - need_relink=yes - fi - ;; - esac - # This is a shared library - - # Warn about portability, can't link against -module's on some - # systems (darwin). Don't bleat about dlopened modules though! - dlopenmodule="" - for dlpremoduletest in $dlprefiles; do - if test "X$dlpremoduletest" = "X$lib"; then - dlopenmodule="$dlpremoduletest" - break - fi - done - if test -z "$dlopenmodule" && test "$shouldnotlink" = yes && test "$pass" = link; then - echo - if test "$linkmode" = prog; then - $ECHO "*** Warning: Linking the executable $output against the loadable module" - else - $ECHO "*** Warning: Linking the shared library $output against the loadable module" - fi - $ECHO "*** $linklib is not portable!" - fi - if test "$linkmode" = lib && - test "$hardcode_into_libs" = yes; then - # Hardcode the library path. - # Skip directories that are in the system default run-time - # search path. - case " $sys_lib_dlsearch_path " in - *" $absdir "*) ;; - *) - case "$compile_rpath " in - *" $absdir "*) ;; - *) func_append compile_rpath " $absdir" ;; - esac - ;; - esac - case " $sys_lib_dlsearch_path " in - *" $libdir "*) ;; - *) - case "$finalize_rpath " in - *" $libdir "*) ;; - *) func_append finalize_rpath " $libdir" ;; - esac - ;; - esac - fi - - if test -n "$old_archive_from_expsyms_cmds"; then - # figure out the soname - set dummy $library_names - shift - realname="$1" - shift - libname=`eval "\\$ECHO \"$libname_spec\""` - # use dlname if we got it. it's perfectly good, no? - if test -n "$dlname"; then - soname="$dlname" - elif test -n "$soname_spec"; then - # bleh windows - case $host in - *cygwin* | mingw* | *cegcc*) - func_arith $current - $age - major=$func_arith_result - versuffix="-$major" - ;; - esac - eval soname=\"$soname_spec\" - else - soname="$realname" - fi - - # Make a new name for the extract_expsyms_cmds to use - soroot="$soname" - func_basename "$soroot" - soname="$func_basename_result" - func_stripname 'lib' '.dll' "$soname" - newlib=libimp-$func_stripname_result.a - - # If the library has no export list, then create one now - if test -f "$output_objdir/$soname-def"; then : - else - func_verbose "extracting exported symbol list from \`$soname'" - func_execute_cmds "$extract_expsyms_cmds" 'exit $?' - fi - - # Create $newlib - if test -f "$output_objdir/$newlib"; then :; else - func_verbose "generating import library for \`$soname'" - func_execute_cmds "$old_archive_from_expsyms_cmds" 'exit $?' - fi - # make sure the library variables are pointing to the new library - dir=$output_objdir - linklib=$newlib - fi # test -n "$old_archive_from_expsyms_cmds" - - if test "$linkmode" = prog || test "$opt_mode" != relink; then - add_shlibpath= - add_dir= - add= - lib_linked=yes - case $hardcode_action in - immediate | unsupported) - if test "$hardcode_direct" = no; then - add="$dir/$linklib" - case $host in - *-*-sco3.2v5.0.[024]*) add_dir="-L$dir" ;; - *-*-sysv4*uw2*) add_dir="-L$dir" ;; - *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \ - *-*-unixware7*) add_dir="-L$dir" ;; - *-*-darwin* ) - # if the lib is a (non-dlopened) module then we can not - # link against it, someone is ignoring the earlier warnings - if /usr/bin/file -L $add 2> /dev/null | - $GREP ": [^:]* bundle" >/dev/null ; then - if test "X$dlopenmodule" != "X$lib"; then - $ECHO "*** Warning: lib $linklib is a module, not a shared library" - if test -z "$old_library" ; then - echo - echo "*** And there doesn't seem to be a static archive available" - echo "*** The link will probably fail, sorry" - else - add="$dir/$old_library" - fi - elif test -n "$old_library"; then - add="$dir/$old_library" - fi - fi - esac - elif test "$hardcode_minus_L" = no; then - case $host in - *-*-sunos*) add_shlibpath="$dir" ;; - esac - add_dir="-L$dir" - add="-l$name" - elif test "$hardcode_shlibpath_var" = no; then - add_shlibpath="$dir" - add="-l$name" - else - lib_linked=no - fi - ;; - relink) - if test "$hardcode_direct" = yes && - test "$hardcode_direct_absolute" = no; then - add="$dir/$linklib" - elif test "$hardcode_minus_L" = yes; then - add_dir="-L$absdir" - # Try looking first in the location we're being installed to. - if test -n "$inst_prefix_dir"; then - case $libdir in - [\\/]*) - func_append add_dir " -L$inst_prefix_dir$libdir" - ;; - esac - fi - add="-l$name" - elif test "$hardcode_shlibpath_var" = yes; then - add_shlibpath="$dir" - add="-l$name" - else - lib_linked=no - fi - ;; - *) lib_linked=no ;; - esac - - if test "$lib_linked" != yes; then - func_fatal_configuration "unsupported hardcode properties" - fi - - if test -n "$add_shlibpath"; then - case :$compile_shlibpath: in - *":$add_shlibpath:"*) ;; - *) func_append compile_shlibpath "$add_shlibpath:" ;; - esac - fi - if test "$linkmode" = prog; then - test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs" - test -n "$add" && compile_deplibs="$add $compile_deplibs" - else - test -n "$add_dir" && deplibs="$add_dir $deplibs" - test -n "$add" && deplibs="$add $deplibs" - if test "$hardcode_direct" != yes && - test "$hardcode_minus_L" != yes && - test "$hardcode_shlibpath_var" = yes; then - case :$finalize_shlibpath: in - *":$libdir:"*) ;; - *) func_append finalize_shlibpath "$libdir:" ;; - esac - fi - fi - fi - - if test "$linkmode" = prog || test "$opt_mode" = relink; then - add_shlibpath= - add_dir= - add= - # Finalize command for both is simple: just hardcode it. - if test "$hardcode_direct" = yes && - test "$hardcode_direct_absolute" = no; then - add="$libdir/$linklib" - elif test "$hardcode_minus_L" = yes; then - add_dir="-L$libdir" - add="-l$name" - elif test "$hardcode_shlibpath_var" = yes; then - case :$finalize_shlibpath: in - *":$libdir:"*) ;; - *) func_append finalize_shlibpath "$libdir:" ;; - esac - add="-l$name" - elif test "$hardcode_automatic" = yes; then - if test -n "$inst_prefix_dir" && - test -f "$inst_prefix_dir$libdir/$linklib" ; then - add="$inst_prefix_dir$libdir/$linklib" - else - add="$libdir/$linklib" - fi - else - # We cannot seem to hardcode it, guess we'll fake it. - add_dir="-L$libdir" - # Try looking first in the location we're being installed to. - if test -n "$inst_prefix_dir"; then - case $libdir in - [\\/]*) - func_append add_dir " -L$inst_prefix_dir$libdir" - ;; - esac - fi - add="-l$name" - fi - - if test "$linkmode" = prog; then - test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs" - test -n "$add" && finalize_deplibs="$add $finalize_deplibs" - else - test -n "$add_dir" && deplibs="$add_dir $deplibs" - test -n "$add" && deplibs="$add $deplibs" - fi - fi - elif test "$linkmode" = prog; then - # Here we assume that one of hardcode_direct or hardcode_minus_L - # is not unsupported. This is valid on all known static and - # shared platforms. - if test "$hardcode_direct" != unsupported; then - test -n "$old_library" && linklib="$old_library" - compile_deplibs="$dir/$linklib $compile_deplibs" - finalize_deplibs="$dir/$linklib $finalize_deplibs" - else - compile_deplibs="-l$name -L$dir $compile_deplibs" - finalize_deplibs="-l$name -L$dir $finalize_deplibs" - fi - elif test "$build_libtool_libs" = yes; then - # Not a shared library - if test "$deplibs_check_method" != pass_all; then - # We're trying link a shared library against a static one - # but the system doesn't support it. - - # Just print a warning and add the library to dependency_libs so - # that the program can be linked against the static library. - echo - $ECHO "*** Warning: This system can not link to static lib archive $lib." - echo "*** I have the capability to make that library automatically link in when" - echo "*** you link to this library. But I can only do this if you have a" - echo "*** shared version of the library, which you do not appear to have." - if test "$module" = yes; then - echo "*** But as you try to build a module library, libtool will still create " - echo "*** a static module, that should work as long as the dlopening application" - echo "*** is linked with the -dlopen flag to resolve symbols at runtime." - if test -z "$global_symbol_pipe"; then - echo - echo "*** However, this would only work if libtool was able to extract symbol" - echo "*** lists from a program, using \`nm' or equivalent, but libtool could" - echo "*** not find such a program. So, this module is probably useless." - echo "*** \`nm' from GNU binutils and a full rebuild may help." - fi - if test "$build_old_libs" = no; then - build_libtool_libs=module - build_old_libs=yes - else - build_libtool_libs=no - fi - fi - else - deplibs="$dir/$old_library $deplibs" - link_static=yes - fi - fi # link shared/static library? - - if test "$linkmode" = lib; then - if test -n "$dependency_libs" && - { test "$hardcode_into_libs" != yes || - test "$build_old_libs" = yes || - test "$link_static" = yes; }; then - # Extract -R from dependency_libs - temp_deplibs= - for libdir in $dependency_libs; do - case $libdir in - -R*) func_stripname '-R' '' "$libdir" - temp_xrpath=$func_stripname_result - case " $xrpath " in - *" $temp_xrpath "*) ;; - *) func_append xrpath " $temp_xrpath";; - esac;; - *) func_append temp_deplibs " $libdir";; - esac - done - dependency_libs="$temp_deplibs" - fi - - func_append newlib_search_path " $absdir" - # Link against this library - test "$link_static" = no && newdependency_libs="$abs_ladir/$laname $newdependency_libs" - # ... and its dependency_libs - tmp_libs= - for deplib in $dependency_libs; do - newdependency_libs="$deplib $newdependency_libs" - case $deplib in - -L*) func_stripname '-L' '' "$deplib" - func_resolve_sysroot "$func_stripname_result";; - *) func_resolve_sysroot "$deplib" ;; - esac - if $opt_preserve_dup_deps ; then - case "$tmp_libs " in - *" $func_resolve_sysroot_result "*) - func_append specialdeplibs " $func_resolve_sysroot_result" ;; - esac - fi - func_append tmp_libs " $func_resolve_sysroot_result" - done - - if test "$link_all_deplibs" != no; then - # Add the search paths of all dependency libraries - for deplib in $dependency_libs; do - path= - case $deplib in - -L*) path="$deplib" ;; - *.la) - func_resolve_sysroot "$deplib" - deplib=$func_resolve_sysroot_result - func_dirname "$deplib" "" "." - dir=$func_dirname_result - # We need an absolute path. - case $dir in - [\\/]* | [A-Za-z]:[\\/]*) absdir="$dir" ;; - *) - absdir=`cd "$dir" && pwd` - if test -z "$absdir"; then - func_warning "cannot determine absolute directory name of \`$dir'" - absdir="$dir" - fi - ;; - esac - if $GREP "^installed=no" $deplib > /dev/null; then - case $host in - *-*-darwin*) - depdepl= - eval deplibrary_names=`${SED} -n -e 's/^library_names=\(.*\)$/\1/p' $deplib` - if test -n "$deplibrary_names" ; then - for tmp in $deplibrary_names ; do - depdepl=$tmp - done - if test -f "$absdir/$objdir/$depdepl" ; then - depdepl="$absdir/$objdir/$depdepl" - darwin_install_name=`${OTOOL} -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'` - if test -z "$darwin_install_name"; then - darwin_install_name=`${OTOOL64} -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'` - fi - func_append compiler_flags " ${wl}-dylib_file ${wl}${darwin_install_name}:${depdepl}" - func_append linker_flags " -dylib_file ${darwin_install_name}:${depdepl}" - path= - fi - fi - ;; - *) - path="-L$absdir/$objdir" - ;; - esac - else - eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` - test -z "$libdir" && \ - func_fatal_error "\`$deplib' is not a valid libtool archive" - test "$absdir" != "$libdir" && \ - func_warning "\`$deplib' seems to be moved" - - path="-L$absdir" - fi - ;; - esac - case " $deplibs " in - *" $path "*) ;; - *) deplibs="$path $deplibs" ;; - esac - done - fi # link_all_deplibs != no - fi # linkmode = lib - done # for deplib in $libs - if test "$pass" = link; then - if test "$linkmode" = "prog"; then - compile_deplibs="$new_inherited_linker_flags $compile_deplibs" - finalize_deplibs="$new_inherited_linker_flags $finalize_deplibs" - else - compiler_flags="$compiler_flags "`$ECHO " $new_inherited_linker_flags" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` - fi - fi - dependency_libs="$newdependency_libs" - if test "$pass" = dlpreopen; then - # Link the dlpreopened libraries before other libraries - for deplib in $save_deplibs; do - deplibs="$deplib $deplibs" - done - fi - if test "$pass" != dlopen; then - if test "$pass" != conv; then - # Make sure lib_search_path contains only unique directories. - lib_search_path= - for dir in $newlib_search_path; do - case "$lib_search_path " in - *" $dir "*) ;; - *) func_append lib_search_path " $dir" ;; - esac - done - newlib_search_path= - fi - - if test "$linkmode,$pass" != "prog,link"; then - vars="deplibs" - else - vars="compile_deplibs finalize_deplibs" - fi - for var in $vars dependency_libs; do - # Add libraries to $var in reverse order - eval tmp_libs=\"\$$var\" - new_libs= - for deplib in $tmp_libs; do - # FIXME: Pedantically, this is the right thing to do, so - # that some nasty dependency loop isn't accidentally - # broken: - #new_libs="$deplib $new_libs" - # Pragmatically, this seems to cause very few problems in - # practice: - case $deplib in - -L*) new_libs="$deplib $new_libs" ;; - -R*) ;; - *) - # And here is the reason: when a library appears more - # than once as an explicit dependence of a library, or - # is implicitly linked in more than once by the - # compiler, it is considered special, and multiple - # occurrences thereof are not removed. Compare this - # with having the same library being listed as a - # dependency of multiple other libraries: in this case, - # we know (pedantically, we assume) the library does not - # need to be listed more than once, so we keep only the - # last copy. This is not always right, but it is rare - # enough that we require users that really mean to play - # such unportable linking tricks to link the library - # using -Wl,-lname, so that libtool does not consider it - # for duplicate removal. - case " $specialdeplibs " in - *" $deplib "*) new_libs="$deplib $new_libs" ;; - *) - case " $new_libs " in - *" $deplib "*) ;; - *) new_libs="$deplib $new_libs" ;; - esac - ;; - esac - ;; - esac - done - tmp_libs= - for deplib in $new_libs; do - case $deplib in - -L*) - case " $tmp_libs " in - *" $deplib "*) ;; - *) func_append tmp_libs " $deplib" ;; - esac - ;; - *) func_append tmp_libs " $deplib" ;; - esac - done - eval $var=\"$tmp_libs\" - done # for var - fi - # Last step: remove runtime libs from dependency_libs - # (they stay in deplibs) - tmp_libs= - for i in $dependency_libs ; do - case " $predeps $postdeps $compiler_lib_search_path " in - *" $i "*) - i="" - ;; - esac - if test -n "$i" ; then - func_append tmp_libs " $i" - fi - done - dependency_libs=$tmp_libs - done # for pass - if test "$linkmode" = prog; then - dlfiles="$newdlfiles" - fi - if test "$linkmode" = prog || test "$linkmode" = lib; then - dlprefiles="$newdlprefiles" - fi - - case $linkmode in - oldlib) - if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then - func_warning "\`-dlopen' is ignored for archives" - fi - - case " $deplibs" in - *\ -l* | *\ -L*) - func_warning "\`-l' and \`-L' are ignored for archives" ;; - esac - - test -n "$rpath" && \ - func_warning "\`-rpath' is ignored for archives" - - test -n "$xrpath" && \ - func_warning "\`-R' is ignored for archives" - - test -n "$vinfo" && \ - func_warning "\`-version-info/-version-number' is ignored for archives" - - test -n "$release" && \ - func_warning "\`-release' is ignored for archives" - - test -n "$export_symbols$export_symbols_regex" && \ - func_warning "\`-export-symbols' is ignored for archives" - - # Now set the variables for building old libraries. - build_libtool_libs=no - oldlibs="$output" - func_append objs "$old_deplibs" - ;; - - lib) - # Make sure we only generate libraries of the form `libNAME.la'. - case $outputname in - lib*) - func_stripname 'lib' '.la' "$outputname" - name=$func_stripname_result - eval shared_ext=\"$shrext_cmds\" - eval libname=\"$libname_spec\" - ;; - *) - test "$module" = no && \ - func_fatal_help "libtool library \`$output' must begin with \`lib'" - - if test "$need_lib_prefix" != no; then - # Add the "lib" prefix for modules if required - func_stripname '' '.la' "$outputname" - name=$func_stripname_result - eval shared_ext=\"$shrext_cmds\" - eval libname=\"$libname_spec\" - else - func_stripname '' '.la' "$outputname" - libname=$func_stripname_result - fi - ;; - esac - - if test -n "$objs"; then - if test "$deplibs_check_method" != pass_all; then - func_fatal_error "cannot build libtool library \`$output' from non-libtool objects on this host:$objs" - else - echo - $ECHO "*** Warning: Linking the shared library $output against the non-libtool" - $ECHO "*** objects $objs is not portable!" - func_append libobjs " $objs" - fi - fi - - test "$dlself" != no && \ - func_warning "\`-dlopen self' is ignored for libtool libraries" - - set dummy $rpath - shift - test "$#" -gt 1 && \ - func_warning "ignoring multiple \`-rpath's for a libtool library" - - install_libdir="$1" - - oldlibs= - if test -z "$rpath"; then - if test "$build_libtool_libs" = yes; then - # Building a libtool convenience library. - # Some compilers have problems with a `.al' extension so - # convenience libraries should have the same extension an - # archive normally would. - oldlibs="$output_objdir/$libname.$libext $oldlibs" - build_libtool_libs=convenience - build_old_libs=yes - fi - - test -n "$vinfo" && \ - func_warning "\`-version-info/-version-number' is ignored for convenience libraries" - - test -n "$release" && \ - func_warning "\`-release' is ignored for convenience libraries" - else - - # Parse the version information argument. - save_ifs="$IFS"; IFS=':' - set dummy $vinfo 0 0 0 - shift - IFS="$save_ifs" - - test -n "$7" && \ - func_fatal_help "too many parameters to \`-version-info'" - - # convert absolute version numbers to libtool ages - # this retains compatibility with .la files and attempts - # to make the code below a bit more comprehensible - - case $vinfo_number in - yes) - number_major="$1" - number_minor="$2" - number_revision="$3" - # - # There are really only two kinds -- those that - # use the current revision as the major version - # and those that subtract age and use age as - # a minor version. But, then there is irix - # which has an extra 1 added just for fun - # - case $version_type in - # correct linux to gnu/linux during the next big refactor - darwin|linux|osf|windows|none) - func_arith $number_major + $number_minor - current=$func_arith_result - age="$number_minor" - revision="$number_revision" - ;; - freebsd-aout|freebsd-elf|qnx|sunos) - current="$number_major" - revision="$number_minor" - age="0" - ;; - irix|nonstopux) - func_arith $number_major + $number_minor - current=$func_arith_result - age="$number_minor" - revision="$number_minor" - lt_irix_increment=no - ;; - *) - func_fatal_configuration "$modename: unknown library version type \`$version_type'" - ;; - esac - ;; - no) - current="$1" - revision="$2" - age="$3" - ;; - esac - - # Check that each of the things are valid numbers. - case $current in - 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; - *) - func_error "CURRENT \`$current' must be a nonnegative integer" - func_fatal_error "\`$vinfo' is not valid version information" - ;; - esac - - case $revision in - 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; - *) - func_error "REVISION \`$revision' must be a nonnegative integer" - func_fatal_error "\`$vinfo' is not valid version information" - ;; - esac - - case $age in - 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; - *) - func_error "AGE \`$age' must be a nonnegative integer" - func_fatal_error "\`$vinfo' is not valid version information" - ;; - esac - - if test "$age" -gt "$current"; then - func_error "AGE \`$age' is greater than the current interface number \`$current'" - func_fatal_error "\`$vinfo' is not valid version information" - fi - - # Calculate the version variables. - major= - versuffix= - verstring= - case $version_type in - none) ;; - - darwin) - # Like Linux, but with the current version available in - # verstring for coding it into the library header - func_arith $current - $age - major=.$func_arith_result - versuffix="$major.$age.$revision" - # Darwin ld doesn't like 0 for these options... - func_arith $current + 1 - minor_current=$func_arith_result - xlcverstring="${wl}-compatibility_version ${wl}$minor_current ${wl}-current_version ${wl}$minor_current.$revision" - verstring="-compatibility_version $minor_current -current_version $minor_current.$revision" - ;; - - freebsd-aout) - major=".$current" - versuffix=".$current.$revision"; - ;; - - freebsd-elf) - major=".$current" - versuffix=".$current" - ;; - - irix | nonstopux) - if test "X$lt_irix_increment" = "Xno"; then - func_arith $current - $age - else - func_arith $current - $age + 1 - fi - major=$func_arith_result - - case $version_type in - nonstopux) verstring_prefix=nonstopux ;; - *) verstring_prefix=sgi ;; - esac - verstring="$verstring_prefix$major.$revision" - - # Add in all the interfaces that we are compatible with. - loop=$revision - while test "$loop" -ne 0; do - func_arith $revision - $loop - iface=$func_arith_result - func_arith $loop - 1 - loop=$func_arith_result - verstring="$verstring_prefix$major.$iface:$verstring" - done - - # Before this point, $major must not contain `.'. - major=.$major - versuffix="$major.$revision" - ;; - - linux) # correct to gnu/linux during the next big refactor - func_arith $current - $age - major=.$func_arith_result - versuffix="$major.$age.$revision" - ;; - - osf) - func_arith $current - $age - major=.$func_arith_result - versuffix=".$current.$age.$revision" - verstring="$current.$age.$revision" - - # Add in all the interfaces that we are compatible with. - loop=$age - while test "$loop" -ne 0; do - func_arith $current - $loop - iface=$func_arith_result - func_arith $loop - 1 - loop=$func_arith_result - verstring="$verstring:${iface}.0" - done - - # Make executables depend on our current version. - func_append verstring ":${current}.0" - ;; - - qnx) - major=".$current" - versuffix=".$current" - ;; - - sunos) - major=".$current" - versuffix=".$current.$revision" - ;; - - windows) - # Use '-' rather than '.', since we only want one - # extension on DOS 8.3 filesystems. - func_arith $current - $age - major=$func_arith_result - versuffix="-$major" - ;; - - *) - func_fatal_configuration "unknown library version type \`$version_type'" - ;; - esac - - # Clear the version info if we defaulted, and they specified a release. - if test -z "$vinfo" && test -n "$release"; then - major= - case $version_type in - darwin) - # we can't check for "0.0" in archive_cmds due to quoting - # problems, so we reset it completely - verstring= - ;; - *) - verstring="0.0" - ;; - esac - if test "$need_version" = no; then - versuffix= - else - versuffix=".0.0" - fi - fi - - # Remove version info from name if versioning should be avoided - if test "$avoid_version" = yes && test "$need_version" = no; then - major= - versuffix= - verstring="" - fi - - # Check to see if the archive will have undefined symbols. - if test "$allow_undefined" = yes; then - if test "$allow_undefined_flag" = unsupported; then - func_warning "undefined symbols not allowed in $host shared libraries" - build_libtool_libs=no - build_old_libs=yes - fi - else - # Don't allow undefined symbols. - allow_undefined_flag="$no_undefined_flag" - fi - - fi - - func_generate_dlsyms "$libname" "$libname" "yes" - func_append libobjs " $symfileobj" - test "X$libobjs" = "X " && libobjs= - - if test "$opt_mode" != relink; then - # Remove our outputs, but don't remove object files since they - # may have been created when compiling PIC objects. - removelist= - tempremovelist=`$ECHO "$output_objdir/*"` - for p in $tempremovelist; do - case $p in - *.$objext | *.gcno) - ;; - $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/${libname}${release}.*) - if test "X$precious_files_regex" != "X"; then - if $ECHO "$p" | $EGREP -e "$precious_files_regex" >/dev/null 2>&1 - then - continue - fi - fi - func_append removelist " $p" - ;; - *) ;; - esac - done - test -n "$removelist" && \ - func_show_eval "${RM}r \$removelist" - fi - - # Now set the variables for building old libraries. - if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenience ; then - func_append oldlibs " $output_objdir/$libname.$libext" - - # Transform .lo files to .o files. - oldobjs="$objs "`$ECHO "$libobjs" | $SP2NL | $SED "/\.${libext}$/d; $lo2o" | $NL2SP` - fi - - # Eliminate all temporary directories. - #for path in $notinst_path; do - # lib_search_path=`$ECHO "$lib_search_path " | $SED "s% $path % %g"` - # deplibs=`$ECHO "$deplibs " | $SED "s% -L$path % %g"` - # dependency_libs=`$ECHO "$dependency_libs " | $SED "s% -L$path % %g"` - #done - - if test -n "$xrpath"; then - # If the user specified any rpath flags, then add them. - temp_xrpath= - for libdir in $xrpath; do - func_replace_sysroot "$libdir" - func_append temp_xrpath " -R$func_replace_sysroot_result" - case "$finalize_rpath " in - *" $libdir "*) ;; - *) func_append finalize_rpath " $libdir" ;; - esac - done - if test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes; then - dependency_libs="$temp_xrpath $dependency_libs" - fi - fi - - # Make sure dlfiles contains only unique files that won't be dlpreopened - old_dlfiles="$dlfiles" - dlfiles= - for lib in $old_dlfiles; do - case " $dlprefiles $dlfiles " in - *" $lib "*) ;; - *) func_append dlfiles " $lib" ;; - esac - done - - # Make sure dlprefiles contains only unique files - old_dlprefiles="$dlprefiles" - dlprefiles= - for lib in $old_dlprefiles; do - case "$dlprefiles " in - *" $lib "*) ;; - *) func_append dlprefiles " $lib" ;; - esac - done - - if test "$build_libtool_libs" = yes; then - if test -n "$rpath"; then - case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos* | *-cegcc* | *-*-haiku*) - # these systems don't actually have a c library (as such)! - ;; - *-*-rhapsody* | *-*-darwin1.[012]) - # Rhapsody C library is in the System framework - func_append deplibs " System.ltframework" - ;; - *-*-netbsd*) - # Don't link with libc until the a.out ld.so is fixed. - ;; - *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) - # Do not include libc due to us having libc/libc_r. - ;; - *-*-sco3.2v5* | *-*-sco5v6*) - # Causes problems with __ctype - ;; - *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) - # Compiler inserts libc in the correct place for threads to work - ;; - *) - # Add libc to deplibs on all other systems if necessary. - if test "$build_libtool_need_lc" = "yes"; then - func_append deplibs " -lc" - fi - ;; - esac - fi - - # Transform deplibs into only deplibs that can be linked in shared. - name_save=$name - libname_save=$libname - release_save=$release - versuffix_save=$versuffix - major_save=$major - # I'm not sure if I'm treating the release correctly. I think - # release should show up in the -l (ie -lgmp5) so we don't want to - # add it in twice. Is that correct? - release="" - versuffix="" - major="" - newdeplibs= - droppeddeps=no - case $deplibs_check_method in - pass_all) - # Don't check for shared/static. Everything works. - # This might be a little naive. We might want to check - # whether the library exists or not. But this is on - # osf3 & osf4 and I'm not really sure... Just - # implementing what was already the behavior. - newdeplibs=$deplibs - ;; - test_compile) - # This code stresses the "libraries are programs" paradigm to its - # limits. Maybe even breaks it. We compile a program, linking it - # against the deplibs as a proxy for the library. Then we can check - # whether they linked in statically or dynamically with ldd. - $opt_dry_run || $RM conftest.c - cat > conftest.c </dev/null` - $nocaseglob - else - potential_libs=`ls $i/$libnameglob[.-]* 2>/dev/null` - fi - for potent_lib in $potential_libs; do - # Follow soft links. - if ls -lLd "$potent_lib" 2>/dev/null | - $GREP " -> " >/dev/null; then - continue - fi - # The statement above tries to avoid entering an - # endless loop below, in case of cyclic links. - # We might still enter an endless loop, since a link - # loop can be closed while we follow links, - # but so what? - potlib="$potent_lib" - while test -h "$potlib" 2>/dev/null; do - potliblink=`ls -ld $potlib | ${SED} 's/.* -> //'` - case $potliblink in - [\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";; - *) potlib=`$ECHO "$potlib" | $SED 's,[^/]*$,,'`"$potliblink";; - esac - done - if eval $file_magic_cmd \"\$potlib\" 2>/dev/null | - $SED -e 10q | - $EGREP "$file_magic_regex" > /dev/null; then - func_append newdeplibs " $a_deplib" - a_deplib="" - break 2 - fi - done - done - fi - if test -n "$a_deplib" ; then - droppeddeps=yes - echo - $ECHO "*** Warning: linker path does not have real file for library $a_deplib." - echo "*** I have the capability to make that library automatically link in when" - echo "*** you link to this library. But I can only do this if you have a" - echo "*** shared version of the library, which you do not appear to have" - echo "*** because I did check the linker path looking for a file starting" - if test -z "$potlib" ; then - $ECHO "*** with $libname but no candidates were found. (...for file magic test)" - else - $ECHO "*** with $libname and none of the candidates passed a file format test" - $ECHO "*** using a file magic. Last file checked: $potlib" - fi - fi - ;; - *) - # Add a -L argument. - func_append newdeplibs " $a_deplib" - ;; - esac - done # Gone through all deplibs. - ;; - match_pattern*) - set dummy $deplibs_check_method; shift - match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"` - for a_deplib in $deplibs; do - case $a_deplib in - -l*) - func_stripname -l '' "$a_deplib" - name=$func_stripname_result - if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then - case " $predeps $postdeps " in - *" $a_deplib "*) - func_append newdeplibs " $a_deplib" - a_deplib="" - ;; - esac - fi - if test -n "$a_deplib" ; then - libname=`eval "\\$ECHO \"$libname_spec\""` - for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do - potential_libs=`ls $i/$libname[.-]* 2>/dev/null` - for potent_lib in $potential_libs; do - potlib="$potent_lib" # see symlink-check above in file_magic test - if eval "\$ECHO \"$potent_lib\"" 2>/dev/null | $SED 10q | \ - $EGREP "$match_pattern_regex" > /dev/null; then - func_append newdeplibs " $a_deplib" - a_deplib="" - break 2 - fi - done - done - fi - if test -n "$a_deplib" ; then - droppeddeps=yes - echo - $ECHO "*** Warning: linker path does not have real file for library $a_deplib." - echo "*** I have the capability to make that library automatically link in when" - echo "*** you link to this library. But I can only do this if you have a" - echo "*** shared version of the library, which you do not appear to have" - echo "*** because I did check the linker path looking for a file starting" - if test -z "$potlib" ; then - $ECHO "*** with $libname but no candidates were found. (...for regex pattern test)" - else - $ECHO "*** with $libname and none of the candidates passed a file format test" - $ECHO "*** using a regex pattern. Last file checked: $potlib" - fi - fi - ;; - *) - # Add a -L argument. - func_append newdeplibs " $a_deplib" - ;; - esac - done # Gone through all deplibs. - ;; - none | unknown | *) - newdeplibs="" - tmp_deplibs=`$ECHO " $deplibs" | $SED 's/ -lc$//; s/ -[LR][^ ]*//g'` - if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then - for i in $predeps $postdeps ; do - # can't use Xsed below, because $i might contain '/' - tmp_deplibs=`$ECHO " $tmp_deplibs" | $SED "s,$i,,"` - done - fi - case $tmp_deplibs in - *[!\ \ ]*) - echo - if test "X$deplibs_check_method" = "Xnone"; then - echo "*** Warning: inter-library dependencies are not supported in this platform." - else - echo "*** Warning: inter-library dependencies are not known to be supported." - fi - echo "*** All declared inter-library dependencies are being dropped." - droppeddeps=yes - ;; - esac - ;; - esac - versuffix=$versuffix_save - major=$major_save - release=$release_save - libname=$libname_save - name=$name_save - - case $host in - *-*-rhapsody* | *-*-darwin1.[012]) - # On Rhapsody replace the C library with the System framework - newdeplibs=`$ECHO " $newdeplibs" | $SED 's/ -lc / System.ltframework /'` - ;; - esac - - if test "$droppeddeps" = yes; then - if test "$module" = yes; then - echo - echo "*** Warning: libtool could not satisfy all declared inter-library" - $ECHO "*** dependencies of module $libname. Therefore, libtool will create" - echo "*** a static module, that should work as long as the dlopening" - echo "*** application is linked with the -dlopen flag." - if test -z "$global_symbol_pipe"; then - echo - echo "*** However, this would only work if libtool was able to extract symbol" - echo "*** lists from a program, using \`nm' or equivalent, but libtool could" - echo "*** not find such a program. So, this module is probably useless." - echo "*** \`nm' from GNU binutils and a full rebuild may help." - fi - if test "$build_old_libs" = no; then - oldlibs="$output_objdir/$libname.$libext" - build_libtool_libs=module - build_old_libs=yes - else - build_libtool_libs=no - fi - else - echo "*** The inter-library dependencies that have been dropped here will be" - echo "*** automatically added whenever a program is linked with this library" - echo "*** or is declared to -dlopen it." - - if test "$allow_undefined" = no; then - echo - echo "*** Since this library must not contain undefined symbols," - echo "*** because either the platform does not support them or" - echo "*** it was explicitly requested with -no-undefined," - echo "*** libtool will only create a static version of it." - if test "$build_old_libs" = no; then - oldlibs="$output_objdir/$libname.$libext" - build_libtool_libs=module - build_old_libs=yes - else - build_libtool_libs=no - fi - fi - fi - fi - # Done checking deplibs! - deplibs=$newdeplibs - fi - # Time to change all our "foo.ltframework" stuff back to "-framework foo" - case $host in - *-*-darwin*) - newdeplibs=`$ECHO " $newdeplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` - new_inherited_linker_flags=`$ECHO " $new_inherited_linker_flags" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` - deplibs=`$ECHO " $deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` - ;; - esac - - # move library search paths that coincide with paths to not yet - # installed libraries to the beginning of the library search list - new_libs= - for path in $notinst_path; do - case " $new_libs " in - *" -L$path/$objdir "*) ;; - *) - case " $deplibs " in - *" -L$path/$objdir "*) - func_append new_libs " -L$path/$objdir" ;; - esac - ;; - esac - done - for deplib in $deplibs; do - case $deplib in - -L*) - case " $new_libs " in - *" $deplib "*) ;; - *) func_append new_libs " $deplib" ;; - esac - ;; - *) func_append new_libs " $deplib" ;; - esac - done - deplibs="$new_libs" - - # All the library-specific variables (install_libdir is set above). - library_names= - old_library= - dlname= - - # Test again, we may have decided not to build it any more - if test "$build_libtool_libs" = yes; then - # Remove ${wl} instances when linking with ld. - # FIXME: should test the right _cmds variable. - case $archive_cmds in - *\$LD\ *) wl= ;; - esac - if test "$hardcode_into_libs" = yes; then - # Hardcode the library paths - hardcode_libdirs= - dep_rpath= - rpath="$finalize_rpath" - test "$opt_mode" != relink && rpath="$compile_rpath$rpath" - for libdir in $rpath; do - if test -n "$hardcode_libdir_flag_spec"; then - if test -n "$hardcode_libdir_separator"; then - func_replace_sysroot "$libdir" - libdir=$func_replace_sysroot_result - if test -z "$hardcode_libdirs"; then - hardcode_libdirs="$libdir" - else - # Just accumulate the unique libdirs. - case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in - *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) - ;; - *) - func_append hardcode_libdirs "$hardcode_libdir_separator$libdir" - ;; - esac - fi - else - eval flag=\"$hardcode_libdir_flag_spec\" - func_append dep_rpath " $flag" - fi - elif test -n "$runpath_var"; then - case "$perm_rpath " in - *" $libdir "*) ;; - *) func_append perm_rpath " $libdir" ;; - esac - fi - done - # Substitute the hardcoded libdirs into the rpath. - if test -n "$hardcode_libdir_separator" && - test -n "$hardcode_libdirs"; then - libdir="$hardcode_libdirs" - eval "dep_rpath=\"$hardcode_libdir_flag_spec\"" - fi - if test -n "$runpath_var" && test -n "$perm_rpath"; then - # We should set the runpath_var. - rpath= - for dir in $perm_rpath; do - func_append rpath "$dir:" - done - eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var" - fi - test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs" - fi - - shlibpath="$finalize_shlibpath" - test "$opt_mode" != relink && shlibpath="$compile_shlibpath$shlibpath" - if test -n "$shlibpath"; then - eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var" - fi - - # Get the real and link names of the library. - eval shared_ext=\"$shrext_cmds\" - eval library_names=\"$library_names_spec\" - set dummy $library_names - shift - realname="$1" - shift - - if test -n "$soname_spec"; then - eval soname=\"$soname_spec\" - else - soname="$realname" - fi - if test -z "$dlname"; then - dlname=$soname - fi - - lib="$output_objdir/$realname" - linknames= - for link - do - func_append linknames " $link" - done - - # Use standard objects if they are pic - test -z "$pic_flag" && libobjs=`$ECHO "$libobjs" | $SP2NL | $SED "$lo2o" | $NL2SP` - test "X$libobjs" = "X " && libobjs= - - delfiles= - if test -n "$export_symbols" && test -n "$include_expsyms"; then - $opt_dry_run || cp "$export_symbols" "$output_objdir/$libname.uexp" - export_symbols="$output_objdir/$libname.uexp" - func_append delfiles " $export_symbols" - fi - - orig_export_symbols= - case $host_os in - cygwin* | mingw* | cegcc*) - if test -n "$export_symbols" && test -z "$export_symbols_regex"; then - # exporting using user supplied symfile - if test "x`$SED 1q $export_symbols`" != xEXPORTS; then - # and it's NOT already a .def file. Must figure out - # which of the given symbols are data symbols and tag - # them as such. So, trigger use of export_symbols_cmds. - # export_symbols gets reassigned inside the "prepare - # the list of exported symbols" if statement, so the - # include_expsyms logic still works. - orig_export_symbols="$export_symbols" - export_symbols= - always_export_symbols=yes - fi - fi - ;; - esac - - # Prepare the list of exported symbols - if test -z "$export_symbols"; then - if test "$always_export_symbols" = yes || test -n "$export_symbols_regex"; then - func_verbose "generating symbol list for \`$libname.la'" - export_symbols="$output_objdir/$libname.exp" - $opt_dry_run || $RM $export_symbols - cmds=$export_symbols_cmds - save_ifs="$IFS"; IFS='~' - for cmd1 in $cmds; do - IFS="$save_ifs" - # Take the normal branch if the nm_file_list_spec branch - # doesn't work or if tool conversion is not needed. - case $nm_file_list_spec~$to_tool_file_cmd in - *~func_convert_file_noop | *~func_convert_file_msys_to_w32 | ~*) - try_normal_branch=yes - eval cmd=\"$cmd1\" - func_len " $cmd" - len=$func_len_result - ;; - *) - try_normal_branch=no - ;; - esac - if test "$try_normal_branch" = yes \ - && { test "$len" -lt "$max_cmd_len" \ - || test "$max_cmd_len" -le -1; } - then - func_show_eval "$cmd" 'exit $?' - skipped_export=false - elif test -n "$nm_file_list_spec"; then - func_basename "$output" - output_la=$func_basename_result - save_libobjs=$libobjs - save_output=$output - output=${output_objdir}/${output_la}.nm - func_to_tool_file "$output" - libobjs=$nm_file_list_spec$func_to_tool_file_result - func_append delfiles " $output" - func_verbose "creating $NM input file list: $output" - for obj in $save_libobjs; do - func_to_tool_file "$obj" - $ECHO "$func_to_tool_file_result" - done > "$output" - eval cmd=\"$cmd1\" - func_show_eval "$cmd" 'exit $?' - output=$save_output - libobjs=$save_libobjs - skipped_export=false - else - # The command line is too long to execute in one step. - func_verbose "using reloadable object file for export list..." - skipped_export=: - # Break out early, otherwise skipped_export may be - # set to false by a later but shorter cmd. - break - fi - done - IFS="$save_ifs" - if test -n "$export_symbols_regex" && test "X$skipped_export" != "X:"; then - func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"' - func_show_eval '$MV "${export_symbols}T" "$export_symbols"' - fi - fi - fi - - if test -n "$export_symbols" && test -n "$include_expsyms"; then - tmp_export_symbols="$export_symbols" - test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols" - $opt_dry_run || eval '$ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"' - fi - - if test "X$skipped_export" != "X:" && test -n "$orig_export_symbols"; then - # The given exports_symbols file has to be filtered, so filter it. - func_verbose "filter symbol list for \`$libname.la' to tag DATA exports" - # FIXME: $output_objdir/$libname.filter potentially contains lots of - # 's' commands which not all seds can handle. GNU sed should be fine - # though. Also, the filter scales superlinearly with the number of - # global variables. join(1) would be nice here, but unfortunately - # isn't a blessed tool. - $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter - func_append delfiles " $export_symbols $output_objdir/$libname.filter" - export_symbols=$output_objdir/$libname.def - $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols - fi - - tmp_deplibs= - for test_deplib in $deplibs; do - case " $convenience " in - *" $test_deplib "*) ;; - *) - func_append tmp_deplibs " $test_deplib" - ;; - esac - done - deplibs="$tmp_deplibs" - - if test -n "$convenience"; then - if test -n "$whole_archive_flag_spec" && - test "$compiler_needs_object" = yes && - test -z "$libobjs"; then - # extract the archives, so we have objects to list. - # TODO: could optimize this to just extract one archive. - whole_archive_flag_spec= - fi - if test -n "$whole_archive_flag_spec"; then - save_libobjs=$libobjs - eval libobjs=\"\$libobjs $whole_archive_flag_spec\" - test "X$libobjs" = "X " && libobjs= - else - gentop="$output_objdir/${outputname}x" - func_append generated " $gentop" - - func_extract_archives $gentop $convenience - func_append libobjs " $func_extract_archives_result" - test "X$libobjs" = "X " && libobjs= - fi - fi - - if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then - eval flag=\"$thread_safe_flag_spec\" - func_append linker_flags " $flag" - fi - - # Make a backup of the uninstalled library when relinking - if test "$opt_mode" = relink; then - $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}U && $MV $realname ${realname}U)' || exit $? - fi - - # Do each of the archive commands. - if test "$module" = yes && test -n "$module_cmds" ; then - if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then - eval test_cmds=\"$module_expsym_cmds\" - cmds=$module_expsym_cmds - else - eval test_cmds=\"$module_cmds\" - cmds=$module_cmds - fi - else - if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then - eval test_cmds=\"$archive_expsym_cmds\" - cmds=$archive_expsym_cmds - else - eval test_cmds=\"$archive_cmds\" - cmds=$archive_cmds - fi - fi - - if test "X$skipped_export" != "X:" && - func_len " $test_cmds" && - len=$func_len_result && - test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then - : - else - # The command line is too long to link in one step, link piecewise - # or, if using GNU ld and skipped_export is not :, use a linker - # script. - - # Save the value of $output and $libobjs because we want to - # use them later. If we have whole_archive_flag_spec, we - # want to use save_libobjs as it was before - # whole_archive_flag_spec was expanded, because we can't - # assume the linker understands whole_archive_flag_spec. - # This may have to be revisited, in case too many - # convenience libraries get linked in and end up exceeding - # the spec. - if test -z "$convenience" || test -z "$whole_archive_flag_spec"; then - save_libobjs=$libobjs - fi - save_output=$output - func_basename "$output" - output_la=$func_basename_result - - # Clear the reloadable object creation command queue and - # initialize k to one. - test_cmds= - concat_cmds= - objlist= - last_robj= - k=1 - - if test -n "$save_libobjs" && test "X$skipped_export" != "X:" && test "$with_gnu_ld" = yes; then - output=${output_objdir}/${output_la}.lnkscript - func_verbose "creating GNU ld script: $output" - echo 'INPUT (' > $output - for obj in $save_libobjs - do - func_to_tool_file "$obj" - $ECHO "$func_to_tool_file_result" >> $output - done - echo ')' >> $output - func_append delfiles " $output" - func_to_tool_file "$output" - output=$func_to_tool_file_result - elif test -n "$save_libobjs" && test "X$skipped_export" != "X:" && test "X$file_list_spec" != X; then - output=${output_objdir}/${output_la}.lnk - func_verbose "creating linker input file list: $output" - : > $output - set x $save_libobjs - shift - firstobj= - if test "$compiler_needs_object" = yes; then - firstobj="$1 " - shift - fi - for obj - do - func_to_tool_file "$obj" - $ECHO "$func_to_tool_file_result" >> $output - done - func_append delfiles " $output" - func_to_tool_file "$output" - output=$firstobj\"$file_list_spec$func_to_tool_file_result\" - else - if test -n "$save_libobjs"; then - func_verbose "creating reloadable object files..." - output=$output_objdir/$output_la-${k}.$objext - eval test_cmds=\"$reload_cmds\" - func_len " $test_cmds" - len0=$func_len_result - len=$len0 - - # Loop over the list of objects to be linked. - for obj in $save_libobjs - do - func_len " $obj" - func_arith $len + $func_len_result - len=$func_arith_result - if test "X$objlist" = X || - test "$len" -lt "$max_cmd_len"; then - func_append objlist " $obj" - else - # The command $test_cmds is almost too long, add a - # command to the queue. - if test "$k" -eq 1 ; then - # The first file doesn't have a previous command to add. - reload_objs=$objlist - eval concat_cmds=\"$reload_cmds\" - else - # All subsequent reloadable object files will link in - # the last one created. - reload_objs="$objlist $last_robj" - eval concat_cmds=\"\$concat_cmds~$reload_cmds~\$RM $last_robj\" - fi - last_robj=$output_objdir/$output_la-${k}.$objext - func_arith $k + 1 - k=$func_arith_result - output=$output_objdir/$output_la-${k}.$objext - objlist=" $obj" - func_len " $last_robj" - func_arith $len0 + $func_len_result - len=$func_arith_result - fi - done - # Handle the remaining objects by creating one last - # reloadable object file. All subsequent reloadable object - # files will link in the last one created. - test -z "$concat_cmds" || concat_cmds=$concat_cmds~ - reload_objs="$objlist $last_robj" - eval concat_cmds=\"\${concat_cmds}$reload_cmds\" - if test -n "$last_robj"; then - eval concat_cmds=\"\${concat_cmds}~\$RM $last_robj\" - fi - func_append delfiles " $output" - - else - output= - fi - - if ${skipped_export-false}; then - func_verbose "generating symbol list for \`$libname.la'" - export_symbols="$output_objdir/$libname.exp" - $opt_dry_run || $RM $export_symbols - libobjs=$output - # Append the command to create the export file. - test -z "$concat_cmds" || concat_cmds=$concat_cmds~ - eval concat_cmds=\"\$concat_cmds$export_symbols_cmds\" - if test -n "$last_robj"; then - eval concat_cmds=\"\$concat_cmds~\$RM $last_robj\" - fi - fi - - test -n "$save_libobjs" && - func_verbose "creating a temporary reloadable object file: $output" - - # Loop through the commands generated above and execute them. - save_ifs="$IFS"; IFS='~' - for cmd in $concat_cmds; do - IFS="$save_ifs" - $opt_silent || { - func_quote_for_expand "$cmd" - eval "func_echo $func_quote_for_expand_result" - } - $opt_dry_run || eval "$cmd" || { - lt_exit=$? - - # Restore the uninstalled library and exit - if test "$opt_mode" = relink; then - ( cd "$output_objdir" && \ - $RM "${realname}T" && \ - $MV "${realname}U" "$realname" ) - fi - - exit $lt_exit - } - done - IFS="$save_ifs" - - if test -n "$export_symbols_regex" && ${skipped_export-false}; then - func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"' - func_show_eval '$MV "${export_symbols}T" "$export_symbols"' - fi - fi - - if ${skipped_export-false}; then - if test -n "$export_symbols" && test -n "$include_expsyms"; then - tmp_export_symbols="$export_symbols" - test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols" - $opt_dry_run || eval '$ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"' - fi - - if test -n "$orig_export_symbols"; then - # The given exports_symbols file has to be filtered, so filter it. - func_verbose "filter symbol list for \`$libname.la' to tag DATA exports" - # FIXME: $output_objdir/$libname.filter potentially contains lots of - # 's' commands which not all seds can handle. GNU sed should be fine - # though. Also, the filter scales superlinearly with the number of - # global variables. join(1) would be nice here, but unfortunately - # isn't a blessed tool. - $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter - func_append delfiles " $export_symbols $output_objdir/$libname.filter" - export_symbols=$output_objdir/$libname.def - $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols - fi - fi - - libobjs=$output - # Restore the value of output. - output=$save_output - - if test -n "$convenience" && test -n "$whole_archive_flag_spec"; then - eval libobjs=\"\$libobjs $whole_archive_flag_spec\" - test "X$libobjs" = "X " && libobjs= - fi - # Expand the library linking commands again to reset the - # value of $libobjs for piecewise linking. - - # Do each of the archive commands. - if test "$module" = yes && test -n "$module_cmds" ; then - if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then - cmds=$module_expsym_cmds - else - cmds=$module_cmds - fi - else - if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then - cmds=$archive_expsym_cmds - else - cmds=$archive_cmds - fi - fi - fi - - if test -n "$delfiles"; then - # Append the command to remove temporary files to $cmds. - eval cmds=\"\$cmds~\$RM $delfiles\" - fi - - # Add any objects from preloaded convenience libraries - if test -n "$dlprefiles"; then - gentop="$output_objdir/${outputname}x" - func_append generated " $gentop" - - func_extract_archives $gentop $dlprefiles - func_append libobjs " $func_extract_archives_result" - test "X$libobjs" = "X " && libobjs= - fi - - save_ifs="$IFS"; IFS='~' - for cmd in $cmds; do - IFS="$save_ifs" - eval cmd=\"$cmd\" - $opt_silent || { - func_quote_for_expand "$cmd" - eval "func_echo $func_quote_for_expand_result" - } - $opt_dry_run || eval "$cmd" || { - lt_exit=$? - - # Restore the uninstalled library and exit - if test "$opt_mode" = relink; then - ( cd "$output_objdir" && \ - $RM "${realname}T" && \ - $MV "${realname}U" "$realname" ) - fi - - exit $lt_exit - } - done - IFS="$save_ifs" - - # Restore the uninstalled library and exit - if test "$opt_mode" = relink; then - $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}T && $MV $realname ${realname}T && $MV ${realname}U $realname)' || exit $? - - if test -n "$convenience"; then - if test -z "$whole_archive_flag_spec"; then - func_show_eval '${RM}r "$gentop"' - fi - fi - - exit $EXIT_SUCCESS - fi - - # Create links to the real library. - for linkname in $linknames; do - if test "$realname" != "$linkname"; then - func_show_eval '(cd "$output_objdir" && $RM "$linkname" && $LN_S "$realname" "$linkname")' 'exit $?' - fi - done - - # If -module or -export-dynamic was specified, set the dlname. - if test "$module" = yes || test "$export_dynamic" = yes; then - # On all known operating systems, these are identical. - dlname="$soname" - fi - fi - ;; - - obj) - if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then - func_warning "\`-dlopen' is ignored for objects" - fi - - case " $deplibs" in - *\ -l* | *\ -L*) - func_warning "\`-l' and \`-L' are ignored for objects" ;; - esac - - test -n "$rpath" && \ - func_warning "\`-rpath' is ignored for objects" - - test -n "$xrpath" && \ - func_warning "\`-R' is ignored for objects" - - test -n "$vinfo" && \ - func_warning "\`-version-info' is ignored for objects" - - test -n "$release" && \ - func_warning "\`-release' is ignored for objects" - - case $output in - *.lo) - test -n "$objs$old_deplibs" && \ - func_fatal_error "cannot build library object \`$output' from non-libtool objects" - - libobj=$output - func_lo2o "$libobj" - obj=$func_lo2o_result - ;; - *) - libobj= - obj="$output" - ;; - esac - - # Delete the old objects. - $opt_dry_run || $RM $obj $libobj - - # Objects from convenience libraries. This assumes - # single-version convenience libraries. Whenever we create - # different ones for PIC/non-PIC, this we'll have to duplicate - # the extraction. - reload_conv_objs= - gentop= - # reload_cmds runs $LD directly, so let us get rid of - # -Wl from whole_archive_flag_spec and hope we can get by with - # turning comma into space.. - wl= - - if test -n "$convenience"; then - if test -n "$whole_archive_flag_spec"; then - eval tmp_whole_archive_flags=\"$whole_archive_flag_spec\" - reload_conv_objs=$reload_objs\ `$ECHO "$tmp_whole_archive_flags" | $SED 's|,| |g'` - else - gentop="$output_objdir/${obj}x" - func_append generated " $gentop" - - func_extract_archives $gentop $convenience - reload_conv_objs="$reload_objs $func_extract_archives_result" - fi - fi - - # If we're not building shared, we need to use non_pic_objs - test "$build_libtool_libs" != yes && libobjs="$non_pic_objects" - - # Create the old-style object. - reload_objs="$objs$old_deplibs "`$ECHO "$libobjs" | $SP2NL | $SED "/\.${libext}$/d; /\.lib$/d; $lo2o" | $NL2SP`" $reload_conv_objs" ### testsuite: skip nested quoting test - - output="$obj" - func_execute_cmds "$reload_cmds" 'exit $?' - - # Exit if we aren't doing a library object file. - if test -z "$libobj"; then - if test -n "$gentop"; then - func_show_eval '${RM}r "$gentop"' - fi - - exit $EXIT_SUCCESS - fi - - if test "$build_libtool_libs" != yes; then - if test -n "$gentop"; then - func_show_eval '${RM}r "$gentop"' - fi - - # Create an invalid libtool object if no PIC, so that we don't - # accidentally link it into a program. - # $show "echo timestamp > $libobj" - # $opt_dry_run || eval "echo timestamp > $libobj" || exit $? - exit $EXIT_SUCCESS - fi - - if test -n "$pic_flag" || test "$pic_mode" != default; then - # Only do commands if we really have different PIC objects. - reload_objs="$libobjs $reload_conv_objs" - output="$libobj" - func_execute_cmds "$reload_cmds" 'exit $?' - fi - - if test -n "$gentop"; then - func_show_eval '${RM}r "$gentop"' - fi - - exit $EXIT_SUCCESS - ;; - - prog) - case $host in - *cygwin*) func_stripname '' '.exe' "$output" - output=$func_stripname_result.exe;; - esac - test -n "$vinfo" && \ - func_warning "\`-version-info' is ignored for programs" - - test -n "$release" && \ - func_warning "\`-release' is ignored for programs" - - test "$preload" = yes \ - && test "$dlopen_support" = unknown \ - && test "$dlopen_self" = unknown \ - && test "$dlopen_self_static" = unknown && \ - func_warning "\`LT_INIT([dlopen])' not used. Assuming no dlopen support." - - case $host in - *-*-rhapsody* | *-*-darwin1.[012]) - # On Rhapsody replace the C library is the System framework - compile_deplibs=`$ECHO " $compile_deplibs" | $SED 's/ -lc / System.ltframework /'` - finalize_deplibs=`$ECHO " $finalize_deplibs" | $SED 's/ -lc / System.ltframework /'` - ;; - esac - - case $host in - *-*-darwin*) - # Don't allow lazy linking, it breaks C++ global constructors - # But is supposedly fixed on 10.4 or later (yay!). - if test "$tagname" = CXX ; then - case ${MACOSX_DEPLOYMENT_TARGET-10.0} in - 10.[0123]) - func_append compile_command " ${wl}-bind_at_load" - func_append finalize_command " ${wl}-bind_at_load" - ;; - esac - fi - # Time to change all our "foo.ltframework" stuff back to "-framework foo" - compile_deplibs=`$ECHO " $compile_deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` - finalize_deplibs=`$ECHO " $finalize_deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` - ;; - esac - - - # move library search paths that coincide with paths to not yet - # installed libraries to the beginning of the library search list - new_libs= - for path in $notinst_path; do - case " $new_libs " in - *" -L$path/$objdir "*) ;; - *) - case " $compile_deplibs " in - *" -L$path/$objdir "*) - func_append new_libs " -L$path/$objdir" ;; - esac - ;; - esac - done - for deplib in $compile_deplibs; do - case $deplib in - -L*) - case " $new_libs " in - *" $deplib "*) ;; - *) func_append new_libs " $deplib" ;; - esac - ;; - *) func_append new_libs " $deplib" ;; - esac - done - compile_deplibs="$new_libs" - - - func_append compile_command " $compile_deplibs" - func_append finalize_command " $finalize_deplibs" - - if test -n "$rpath$xrpath"; then - # If the user specified any rpath flags, then add them. - for libdir in $rpath $xrpath; do - # This is the magic to use -rpath. - case "$finalize_rpath " in - *" $libdir "*) ;; - *) func_append finalize_rpath " $libdir" ;; - esac - done - fi - - # Now hardcode the library paths - rpath= - hardcode_libdirs= - for libdir in $compile_rpath $finalize_rpath; do - if test -n "$hardcode_libdir_flag_spec"; then - if test -n "$hardcode_libdir_separator"; then - if test -z "$hardcode_libdirs"; then - hardcode_libdirs="$libdir" - else - # Just accumulate the unique libdirs. - case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in - *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) - ;; - *) - func_append hardcode_libdirs "$hardcode_libdir_separator$libdir" - ;; - esac - fi - else - eval flag=\"$hardcode_libdir_flag_spec\" - func_append rpath " $flag" - fi - elif test -n "$runpath_var"; then - case "$perm_rpath " in - *" $libdir "*) ;; - *) func_append perm_rpath " $libdir" ;; - esac - fi - case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) - testbindir=`${ECHO} "$libdir" | ${SED} -e 's*/lib$*/bin*'` - case :$dllsearchpath: in - *":$libdir:"*) ;; - ::) dllsearchpath=$libdir;; - *) func_append dllsearchpath ":$libdir";; - esac - case :$dllsearchpath: in - *":$testbindir:"*) ;; - ::) dllsearchpath=$testbindir;; - *) func_append dllsearchpath ":$testbindir";; - esac - ;; - esac - done - # Substitute the hardcoded libdirs into the rpath. - if test -n "$hardcode_libdir_separator" && - test -n "$hardcode_libdirs"; then - libdir="$hardcode_libdirs" - eval rpath=\" $hardcode_libdir_flag_spec\" - fi - compile_rpath="$rpath" - - rpath= - hardcode_libdirs= - for libdir in $finalize_rpath; do - if test -n "$hardcode_libdir_flag_spec"; then - if test -n "$hardcode_libdir_separator"; then - if test -z "$hardcode_libdirs"; then - hardcode_libdirs="$libdir" - else - # Just accumulate the unique libdirs. - case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in - *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) - ;; - *) - func_append hardcode_libdirs "$hardcode_libdir_separator$libdir" - ;; - esac - fi - else - eval flag=\"$hardcode_libdir_flag_spec\" - func_append rpath " $flag" - fi - elif test -n "$runpath_var"; then - case "$finalize_perm_rpath " in - *" $libdir "*) ;; - *) func_append finalize_perm_rpath " $libdir" ;; - esac - fi - done - # Substitute the hardcoded libdirs into the rpath. - if test -n "$hardcode_libdir_separator" && - test -n "$hardcode_libdirs"; then - libdir="$hardcode_libdirs" - eval rpath=\" $hardcode_libdir_flag_spec\" - fi - finalize_rpath="$rpath" - - if test -n "$libobjs" && test "$build_old_libs" = yes; then - # Transform all the library objects into standard objects. - compile_command=`$ECHO "$compile_command" | $SP2NL | $SED "$lo2o" | $NL2SP` - finalize_command=`$ECHO "$finalize_command" | $SP2NL | $SED "$lo2o" | $NL2SP` - fi - - func_generate_dlsyms "$outputname" "@PROGRAM@" "no" - - # template prelinking step - if test -n "$prelink_cmds"; then - func_execute_cmds "$prelink_cmds" 'exit $?' - fi - - wrappers_required=yes - case $host in - *cegcc* | *mingw32ce*) - # Disable wrappers for cegcc and mingw32ce hosts, we are cross compiling anyway. - wrappers_required=no - ;; - *cygwin* | *mingw* ) - if test "$build_libtool_libs" != yes; then - wrappers_required=no - fi - ;; - *) - if test "$need_relink" = no || test "$build_libtool_libs" != yes; then - wrappers_required=no - fi - ;; - esac - if test "$wrappers_required" = no; then - # Replace the output file specification. - compile_command=`$ECHO "$compile_command" | $SED 's%@OUTPUT@%'"$output"'%g'` - link_command="$compile_command$compile_rpath" - - # We have no uninstalled library dependencies, so finalize right now. - exit_status=0 - func_show_eval "$link_command" 'exit_status=$?' - - if test -n "$postlink_cmds"; then - func_to_tool_file "$output" - postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'` - func_execute_cmds "$postlink_cmds" 'exit $?' - fi - - # Delete the generated files. - if test -f "$output_objdir/${outputname}S.${objext}"; then - func_show_eval '$RM "$output_objdir/${outputname}S.${objext}"' - fi - - exit $exit_status - fi - - if test -n "$compile_shlibpath$finalize_shlibpath"; then - compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command" - fi - if test -n "$finalize_shlibpath"; then - finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command" - fi - - compile_var= - finalize_var= - if test -n "$runpath_var"; then - if test -n "$perm_rpath"; then - # We should set the runpath_var. - rpath= - for dir in $perm_rpath; do - func_append rpath "$dir:" - done - compile_var="$runpath_var=\"$rpath\$$runpath_var\" " - fi - if test -n "$finalize_perm_rpath"; then - # We should set the runpath_var. - rpath= - for dir in $finalize_perm_rpath; do - func_append rpath "$dir:" - done - finalize_var="$runpath_var=\"$rpath\$$runpath_var\" " - fi - fi - - if test "$no_install" = yes; then - # We don't need to create a wrapper script. - link_command="$compile_var$compile_command$compile_rpath" - # Replace the output file specification. - link_command=`$ECHO "$link_command" | $SED 's%@OUTPUT@%'"$output"'%g'` - # Delete the old output file. - $opt_dry_run || $RM $output - # Link the executable and exit - func_show_eval "$link_command" 'exit $?' - - if test -n "$postlink_cmds"; then - func_to_tool_file "$output" - postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'` - func_execute_cmds "$postlink_cmds" 'exit $?' - fi - - exit $EXIT_SUCCESS - fi - - if test "$hardcode_action" = relink; then - # Fast installation is not supported - link_command="$compile_var$compile_command$compile_rpath" - relink_command="$finalize_var$finalize_command$finalize_rpath" - - func_warning "this platform does not like uninstalled shared libraries" - func_warning "\`$output' will be relinked during installation" - else - if test "$fast_install" != no; then - link_command="$finalize_var$compile_command$finalize_rpath" - if test "$fast_install" = yes; then - relink_command=`$ECHO "$compile_var$compile_command$compile_rpath" | $SED 's%@OUTPUT@%\$progdir/\$file%g'` - else - # fast_install is set to needless - relink_command= - fi - else - link_command="$compile_var$compile_command$compile_rpath" - relink_command="$finalize_var$finalize_command$finalize_rpath" - fi - fi - - # Replace the output file specification. - link_command=`$ECHO "$link_command" | $SED 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'` - - # Delete the old output files. - $opt_dry_run || $RM $output $output_objdir/$outputname $output_objdir/lt-$outputname - - func_show_eval "$link_command" 'exit $?' - - if test -n "$postlink_cmds"; then - func_to_tool_file "$output_objdir/$outputname" - postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'` - func_execute_cmds "$postlink_cmds" 'exit $?' - fi - - # Now create the wrapper script. - func_verbose "creating $output" - - # Quote the relink command for shipping. - if test -n "$relink_command"; then - # Preserve any variables that may affect compiler behavior - for var in $variables_saved_for_relink; do - if eval test -z \"\${$var+set}\"; then - relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command" - elif eval var_value=\$$var; test -z "$var_value"; then - relink_command="$var=; export $var; $relink_command" - else - func_quote_for_eval "$var_value" - relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command" - fi - done - relink_command="(cd `pwd`; $relink_command)" - relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"` - fi - - # Only actually do things if not in dry run mode. - $opt_dry_run || { - # win32 will think the script is a binary if it has - # a .exe suffix, so we strip it off here. - case $output in - *.exe) func_stripname '' '.exe' "$output" - output=$func_stripname_result ;; - esac - # test for cygwin because mv fails w/o .exe extensions - case $host in - *cygwin*) - exeext=.exe - func_stripname '' '.exe' "$outputname" - outputname=$func_stripname_result ;; - *) exeext= ;; - esac - case $host in - *cygwin* | *mingw* ) - func_dirname_and_basename "$output" "" "." - output_name=$func_basename_result - output_path=$func_dirname_result - cwrappersource="$output_path/$objdir/lt-$output_name.c" - cwrapper="$output_path/$output_name.exe" - $RM $cwrappersource $cwrapper - trap "$RM $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15 - - func_emit_cwrapperexe_src > $cwrappersource - - # The wrapper executable is built using the $host compiler, - # because it contains $host paths and files. If cross- - # compiling, it, like the target executable, must be - # executed on the $host or under an emulation environment. - $opt_dry_run || { - $LTCC $LTCFLAGS -o $cwrapper $cwrappersource - $STRIP $cwrapper - } - - # Now, create the wrapper script for func_source use: - func_ltwrapper_scriptname $cwrapper - $RM $func_ltwrapper_scriptname_result - trap "$RM $func_ltwrapper_scriptname_result; exit $EXIT_FAILURE" 1 2 15 - $opt_dry_run || { - # note: this script will not be executed, so do not chmod. - if test "x$build" = "x$host" ; then - $cwrapper --lt-dump-script > $func_ltwrapper_scriptname_result - else - func_emit_wrapper no > $func_ltwrapper_scriptname_result - fi - } - ;; - * ) - $RM $output - trap "$RM $output; exit $EXIT_FAILURE" 1 2 15 - - func_emit_wrapper no > $output - chmod +x $output - ;; - esac - } - exit $EXIT_SUCCESS - ;; - esac - - # See if we need to build an old-fashioned archive. - for oldlib in $oldlibs; do - - if test "$build_libtool_libs" = convenience; then - oldobjs="$libobjs_save $symfileobj" - addlibs="$convenience" - build_libtool_libs=no - else - if test "$build_libtool_libs" = module; then - oldobjs="$libobjs_save" - build_libtool_libs=no - else - oldobjs="$old_deplibs $non_pic_objects" - if test "$preload" = yes && test -f "$symfileobj"; then - func_append oldobjs " $symfileobj" - fi - fi - addlibs="$old_convenience" - fi - - if test -n "$addlibs"; then - gentop="$output_objdir/${outputname}x" - func_append generated " $gentop" - - func_extract_archives $gentop $addlibs - func_append oldobjs " $func_extract_archives_result" - fi - - # Do each command in the archive commands. - if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then - cmds=$old_archive_from_new_cmds - else - - # Add any objects from preloaded convenience libraries - if test -n "$dlprefiles"; then - gentop="$output_objdir/${outputname}x" - func_append generated " $gentop" - - func_extract_archives $gentop $dlprefiles - func_append oldobjs " $func_extract_archives_result" - fi - - # POSIX demands no paths to be encoded in archives. We have - # to avoid creating archives with duplicate basenames if we - # might have to extract them afterwards, e.g., when creating a - # static archive out of a convenience library, or when linking - # the entirety of a libtool archive into another (currently - # not supported by libtool). - if (for obj in $oldobjs - do - func_basename "$obj" - $ECHO "$func_basename_result" - done | sort | sort -uc >/dev/null 2>&1); then - : - else - echo "copying selected object files to avoid basename conflicts..." - gentop="$output_objdir/${outputname}x" - func_append generated " $gentop" - func_mkdir_p "$gentop" - save_oldobjs=$oldobjs - oldobjs= - counter=1 - for obj in $save_oldobjs - do - func_basename "$obj" - objbase="$func_basename_result" - case " $oldobjs " in - " ") oldobjs=$obj ;; - *[\ /]"$objbase "*) - while :; do - # Make sure we don't pick an alternate name that also - # overlaps. - newobj=lt$counter-$objbase - func_arith $counter + 1 - counter=$func_arith_result - case " $oldobjs " in - *[\ /]"$newobj "*) ;; - *) if test ! -f "$gentop/$newobj"; then break; fi ;; - esac - done - func_show_eval "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj" - func_append oldobjs " $gentop/$newobj" - ;; - *) func_append oldobjs " $obj" ;; - esac - done - fi - func_to_tool_file "$oldlib" func_convert_file_msys_to_w32 - tool_oldlib=$func_to_tool_file_result - eval cmds=\"$old_archive_cmds\" - - func_len " $cmds" - len=$func_len_result - if test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then - cmds=$old_archive_cmds - elif test -n "$archiver_list_spec"; then - func_verbose "using command file archive linking..." - for obj in $oldobjs - do - func_to_tool_file "$obj" - $ECHO "$func_to_tool_file_result" - done > $output_objdir/$libname.libcmd - func_to_tool_file "$output_objdir/$libname.libcmd" - oldobjs=" $archiver_list_spec$func_to_tool_file_result" - cmds=$old_archive_cmds - else - # the command line is too long to link in one step, link in parts - func_verbose "using piecewise archive linking..." - save_RANLIB=$RANLIB - RANLIB=: - objlist= - concat_cmds= - save_oldobjs=$oldobjs - oldobjs= - # Is there a better way of finding the last object in the list? - for obj in $save_oldobjs - do - last_oldobj=$obj - done - eval test_cmds=\"$old_archive_cmds\" - func_len " $test_cmds" - len0=$func_len_result - len=$len0 - for obj in $save_oldobjs - do - func_len " $obj" - func_arith $len + $func_len_result - len=$func_arith_result - func_append objlist " $obj" - if test "$len" -lt "$max_cmd_len"; then - : - else - # the above command should be used before it gets too long - oldobjs=$objlist - if test "$obj" = "$last_oldobj" ; then - RANLIB=$save_RANLIB - fi - test -z "$concat_cmds" || concat_cmds=$concat_cmds~ - eval concat_cmds=\"\${concat_cmds}$old_archive_cmds\" - objlist= - len=$len0 - fi - done - RANLIB=$save_RANLIB - oldobjs=$objlist - if test "X$oldobjs" = "X" ; then - eval cmds=\"\$concat_cmds\" - else - eval cmds=\"\$concat_cmds~\$old_archive_cmds\" - fi - fi - fi - func_execute_cmds "$cmds" 'exit $?' - done - - test -n "$generated" && \ - func_show_eval "${RM}r$generated" - - # Now create the libtool archive. - case $output in - *.la) - old_library= - test "$build_old_libs" = yes && old_library="$libname.$libext" - func_verbose "creating $output" - - # Preserve any variables that may affect compiler behavior - for var in $variables_saved_for_relink; do - if eval test -z \"\${$var+set}\"; then - relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command" - elif eval var_value=\$$var; test -z "$var_value"; then - relink_command="$var=; export $var; $relink_command" - else - func_quote_for_eval "$var_value" - relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command" - fi - done - # Quote the link command for shipping. - relink_command="(cd `pwd`; $SHELL $progpath $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)" - relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"` - if test "$hardcode_automatic" = yes ; then - relink_command= - fi - - # Only create the output if not a dry run. - $opt_dry_run || { - for installed in no yes; do - if test "$installed" = yes; then - if test -z "$install_libdir"; then - break - fi - output="$output_objdir/$outputname"i - # Replace all uninstalled libtool libraries with the installed ones - newdependency_libs= - for deplib in $dependency_libs; do - case $deplib in - *.la) - func_basename "$deplib" - name="$func_basename_result" - func_resolve_sysroot "$deplib" - eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $func_resolve_sysroot_result` - test -z "$libdir" && \ - func_fatal_error "\`$deplib' is not a valid libtool archive" - func_append newdependency_libs " ${lt_sysroot:+=}$libdir/$name" - ;; - -L*) - func_stripname -L '' "$deplib" - func_replace_sysroot "$func_stripname_result" - func_append newdependency_libs " -L$func_replace_sysroot_result" - ;; - -R*) - func_stripname -R '' "$deplib" - func_replace_sysroot "$func_stripname_result" - func_append newdependency_libs " -R$func_replace_sysroot_result" - ;; - *) func_append newdependency_libs " $deplib" ;; - esac - done - dependency_libs="$newdependency_libs" - newdlfiles= - - for lib in $dlfiles; do - case $lib in - *.la) - func_basename "$lib" - name="$func_basename_result" - eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib` - test -z "$libdir" && \ - func_fatal_error "\`$lib' is not a valid libtool archive" - func_append newdlfiles " ${lt_sysroot:+=}$libdir/$name" - ;; - *) func_append newdlfiles " $lib" ;; - esac - done - dlfiles="$newdlfiles" - newdlprefiles= - for lib in $dlprefiles; do - case $lib in - *.la) - # Only pass preopened files to the pseudo-archive (for - # eventual linking with the app. that links it) if we - # didn't already link the preopened objects directly into - # the library: - func_basename "$lib" - name="$func_basename_result" - eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib` - test -z "$libdir" && \ - func_fatal_error "\`$lib' is not a valid libtool archive" - func_append newdlprefiles " ${lt_sysroot:+=}$libdir/$name" - ;; - esac - done - dlprefiles="$newdlprefiles" - else - newdlfiles= - for lib in $dlfiles; do - case $lib in - [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;; - *) abs=`pwd`"/$lib" ;; - esac - func_append newdlfiles " $abs" - done - dlfiles="$newdlfiles" - newdlprefiles= - for lib in $dlprefiles; do - case $lib in - [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;; - *) abs=`pwd`"/$lib" ;; - esac - func_append newdlprefiles " $abs" - done - dlprefiles="$newdlprefiles" - fi - $RM $output - # place dlname in correct position for cygwin - # In fact, it would be nice if we could use this code for all target - # systems that can't hard-code library paths into their executables - # and that have no shared library path variable independent of PATH, - # but it turns out we can't easily determine that from inspecting - # libtool variables, so we have to hard-code the OSs to which it - # applies here; at the moment, that means platforms that use the PE - # object format with DLL files. See the long comment at the top of - # tests/bindir.at for full details. - tdlname=$dlname - case $host,$output,$installed,$module,$dlname in - *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll | *cegcc*,*lai,yes,no,*.dll) - # If a -bindir argument was supplied, place the dll there. - if test "x$bindir" != x ; - then - func_relative_path "$install_libdir" "$bindir" - tdlname=$func_relative_path_result$dlname - else - # Otherwise fall back on heuristic. - tdlname=../bin/$dlname - fi - ;; - esac - $ECHO > $output "\ -# $outputname - a libtool library file -# Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION -# -# Please DO NOT delete this file! -# It is necessary for linking the library. - -# The name that we can dlopen(3). -dlname='$tdlname' - -# Names of this library. -library_names='$library_names' - -# The name of the static archive. -old_library='$old_library' - -# Linker flags that can not go in dependency_libs. -inherited_linker_flags='$new_inherited_linker_flags' - -# Libraries that this one depends upon. -dependency_libs='$dependency_libs' - -# Names of additional weak libraries provided by this library -weak_library_names='$weak_libs' - -# Version information for $libname. -current=$current -age=$age -revision=$revision - -# Is this an already installed library? -installed=$installed - -# Should we warn about portability when linking against -modules? -shouldnotlink=$module - -# Files to dlopen/dlpreopen -dlopen='$dlfiles' -dlpreopen='$dlprefiles' - -# Directory that this library needs to be installed in: -libdir='$install_libdir'" - if test "$installed" = no && test "$need_relink" = yes; then - $ECHO >> $output "\ -relink_command=\"$relink_command\"" - fi - done - } - - # Do a symbolic link so that the libtool archive can be found in - # LD_LIBRARY_PATH before the program is installed. - func_show_eval '( cd "$output_objdir" && $RM "$outputname" && $LN_S "../$outputname" "$outputname" )' 'exit $?' - ;; - esac - exit $EXIT_SUCCESS -} - -{ test "$opt_mode" = link || test "$opt_mode" = relink; } && - func_mode_link ${1+"$@"} - - -# func_mode_uninstall arg... -func_mode_uninstall () -{ - $opt_debug - RM="$nonopt" - files= - rmforce= - exit_status=0 - - # This variable tells wrapper scripts just to set variables rather - # than running their programs. - libtool_install_magic="$magic" - - for arg - do - case $arg in - -f) func_append RM " $arg"; rmforce=yes ;; - -*) func_append RM " $arg" ;; - *) func_append files " $arg" ;; - esac - done - - test -z "$RM" && \ - func_fatal_help "you must specify an RM program" - - rmdirs= - - for file in $files; do - func_dirname "$file" "" "." - dir="$func_dirname_result" - if test "X$dir" = X.; then - odir="$objdir" - else - odir="$dir/$objdir" - fi - func_basename "$file" - name="$func_basename_result" - test "$opt_mode" = uninstall && odir="$dir" - - # Remember odir for removal later, being careful to avoid duplicates - if test "$opt_mode" = clean; then - case " $rmdirs " in - *" $odir "*) ;; - *) func_append rmdirs " $odir" ;; - esac - fi - - # Don't error if the file doesn't exist and rm -f was used. - if { test -L "$file"; } >/dev/null 2>&1 || - { test -h "$file"; } >/dev/null 2>&1 || - test -f "$file"; then - : - elif test -d "$file"; then - exit_status=1 - continue - elif test "$rmforce" = yes; then - continue - fi - - rmfiles="$file" - - case $name in - *.la) - # Possibly a libtool archive, so verify it. - if func_lalib_p "$file"; then - func_source $dir/$name - - # Delete the libtool libraries and symlinks. - for n in $library_names; do - func_append rmfiles " $odir/$n" - done - test -n "$old_library" && func_append rmfiles " $odir/$old_library" - - case "$opt_mode" in - clean) - case " $library_names " in - *" $dlname "*) ;; - *) test -n "$dlname" && func_append rmfiles " $odir/$dlname" ;; - esac - test -n "$libdir" && func_append rmfiles " $odir/$name $odir/${name}i" - ;; - uninstall) - if test -n "$library_names"; then - # Do each command in the postuninstall commands. - func_execute_cmds "$postuninstall_cmds" 'test "$rmforce" = yes || exit_status=1' - fi - - if test -n "$old_library"; then - # Do each command in the old_postuninstall commands. - func_execute_cmds "$old_postuninstall_cmds" 'test "$rmforce" = yes || exit_status=1' - fi - # FIXME: should reinstall the best remaining shared library. - ;; - esac - fi - ;; - - *.lo) - # Possibly a libtool object, so verify it. - if func_lalib_p "$file"; then - - # Read the .lo file - func_source $dir/$name - - # Add PIC object to the list of files to remove. - if test -n "$pic_object" && - test "$pic_object" != none; then - func_append rmfiles " $dir/$pic_object" - fi - - # Add non-PIC object to the list of files to remove. - if test -n "$non_pic_object" && - test "$non_pic_object" != none; then - func_append rmfiles " $dir/$non_pic_object" - fi - fi - ;; - - *) - if test "$opt_mode" = clean ; then - noexename=$name - case $file in - *.exe) - func_stripname '' '.exe' "$file" - file=$func_stripname_result - func_stripname '' '.exe' "$name" - noexename=$func_stripname_result - # $file with .exe has already been added to rmfiles, - # add $file without .exe - func_append rmfiles " $file" - ;; - esac - # Do a test to see if this is a libtool program. - if func_ltwrapper_p "$file"; then - if func_ltwrapper_executable_p "$file"; then - func_ltwrapper_scriptname "$file" - relink_command= - func_source $func_ltwrapper_scriptname_result - func_append rmfiles " $func_ltwrapper_scriptname_result" - else - relink_command= - func_source $dir/$noexename - fi - - # note $name still contains .exe if it was in $file originally - # as does the version of $file that was added into $rmfiles - func_append rmfiles " $odir/$name $odir/${name}S.${objext}" - if test "$fast_install" = yes && test -n "$relink_command"; then - func_append rmfiles " $odir/lt-$name" - fi - if test "X$noexename" != "X$name" ; then - func_append rmfiles " $odir/lt-${noexename}.c" - fi - fi - fi - ;; - esac - func_show_eval "$RM $rmfiles" 'exit_status=1' - done - - # Try to remove the ${objdir}s in the directories where we deleted files - for dir in $rmdirs; do - if test -d "$dir"; then - func_show_eval "rmdir $dir >/dev/null 2>&1" - fi - done - - exit $exit_status -} - -{ test "$opt_mode" = uninstall || test "$opt_mode" = clean; } && - func_mode_uninstall ${1+"$@"} - -test -z "$opt_mode" && { - help="$generic_help" - func_fatal_help "you must specify a MODE" -} - -test -z "$exec_cmd" && \ - func_fatal_help "invalid operation mode \`$opt_mode'" - -if test -n "$exec_cmd"; then - eval exec "$exec_cmd" - exit $EXIT_FAILURE -fi - -exit $exit_status - - -# The TAGs below are defined such that we never get into a situation -# in which we disable both kinds of libraries. Given conflicting -# choices, we go for a static library, that is the most portable, -# since we can't tell whether shared libraries were disabled because -# the user asked for that or because the platform doesn't support -# them. This is particularly important on AIX, because we don't -# support having both static and shared libraries enabled at the same -# time on that platform, so we default to a shared-only configuration. -# If a disable-shared tag is given, we'll fallback to a static-only -# configuration. But we'll never go from static-only to shared-only. - -# ### BEGIN LIBTOOL TAG CONFIG: disable-shared -build_libtool_libs=no -build_old_libs=yes -# ### END LIBTOOL TAG CONFIG: disable-shared - -# ### BEGIN LIBTOOL TAG CONFIG: disable-static -build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac` -# ### END LIBTOOL TAG CONFIG: disable-static - -# Local Variables: -# mode:shell-script -# sh-indentation:2 -# End: -# vi:sw=2 - diff --git a/GRIB_BLE_HUB/libs/ble_extend/missing b/GRIB_BLE_HUB/libs/ble_extend/missing deleted file mode 100644 index 86a8fc3..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/missing +++ /dev/null @@ -1,331 +0,0 @@ -#! /bin/sh -# Common stub for a few missing GNU programs while installing. - -scriptversion=2012-01-06.13; # UTC - -# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006, -# 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc. -# Originally by Fran,cois Pinard , 1996. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . - -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - -if test $# -eq 0; then - echo 1>&2 "Try \`$0 --help' for more information" - exit 1 -fi - -run=: -sed_output='s/.* --output[ =]\([^ ]*\).*/\1/p' -sed_minuso='s/.* -o \([^ ]*\).*/\1/p' - -# In the cases where this matters, `missing' is being run in the -# srcdir already. -if test -f configure.ac; then - configure_ac=configure.ac -else - configure_ac=configure.in -fi - -msg="missing on your system" - -case $1 in ---run) - # Try to run requested program, and just exit if it succeeds. - run= - shift - "$@" && exit 0 - # Exit code 63 means version mismatch. This often happens - # when the user try to use an ancient version of a tool on - # a file that requires a minimum version. In this case we - # we should proceed has if the program had been absent, or - # if --run hadn't been passed. - if test $? = 63; then - run=: - msg="probably too old" - fi - ;; - - -h|--h|--he|--hel|--help) - echo "\ -$0 [OPTION]... PROGRAM [ARGUMENT]... - -Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an -error status if there is no known handling for PROGRAM. - -Options: - -h, --help display this help and exit - -v, --version output version information and exit - --run try to run the given command, and emulate it if it fails - -Supported PROGRAM values: - aclocal touch file \`aclocal.m4' - autoconf touch file \`configure' - autoheader touch file \`config.h.in' - autom4te touch the output file, or create a stub one - automake touch all \`Makefile.in' files - bison create \`y.tab.[ch]', if possible, from existing .[ch] - flex create \`lex.yy.c', if possible, from existing .c - help2man touch the output file - lex create \`lex.yy.c', if possible, from existing .c - makeinfo touch the output file - yacc create \`y.tab.[ch]', if possible, from existing .[ch] - -Version suffixes to PROGRAM as well as the prefixes \`gnu-', \`gnu', and -\`g' are ignored when checking the name. - -Send bug reports to ." - exit $? - ;; - - -v|--v|--ve|--ver|--vers|--versi|--versio|--version) - echo "missing $scriptversion (GNU Automake)" - exit $? - ;; - - -*) - echo 1>&2 "$0: Unknown \`$1' option" - echo 1>&2 "Try \`$0 --help' for more information" - exit 1 - ;; - -esac - -# normalize program name to check for. -program=`echo "$1" | sed ' - s/^gnu-//; t - s/^gnu//; t - s/^g//; t'` - -# Now exit if we have it, but it failed. Also exit now if we -# don't have it and --version was passed (most likely to detect -# the program). This is about non-GNU programs, so use $1 not -# $program. -case $1 in - lex*|yacc*) - # Not GNU programs, they don't have --version. - ;; - - *) - if test -z "$run" && ($1 --version) > /dev/null 2>&1; then - # We have it, but it failed. - exit 1 - elif test "x$2" = "x--version" || test "x$2" = "x--help"; then - # Could not run --version or --help. This is probably someone - # running `$TOOL --version' or `$TOOL --help' to check whether - # $TOOL exists and not knowing $TOOL uses missing. - exit 1 - fi - ;; -esac - -# If it does not exist, or fails to run (possibly an outdated version), -# try to emulate it. -case $program in - aclocal*) - echo 1>&2 "\ -WARNING: \`$1' is $msg. You should only need it if - you modified \`acinclude.m4' or \`${configure_ac}'. You might want - to install the \`Automake' and \`Perl' packages. Grab them from - any GNU archive site." - touch aclocal.m4 - ;; - - autoconf*) - echo 1>&2 "\ -WARNING: \`$1' is $msg. You should only need it if - you modified \`${configure_ac}'. You might want to install the - \`Autoconf' and \`GNU m4' packages. Grab them from any GNU - archive site." - touch configure - ;; - - autoheader*) - echo 1>&2 "\ -WARNING: \`$1' is $msg. You should only need it if - you modified \`acconfig.h' or \`${configure_ac}'. You might want - to install the \`Autoconf' and \`GNU m4' packages. Grab them - from any GNU archive site." - files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}` - test -z "$files" && files="config.h" - touch_files= - for f in $files; do - case $f in - *:*) touch_files="$touch_files "`echo "$f" | - sed -e 's/^[^:]*://' -e 's/:.*//'`;; - *) touch_files="$touch_files $f.in";; - esac - done - touch $touch_files - ;; - - automake*) - echo 1>&2 "\ -WARNING: \`$1' is $msg. You should only need it if - you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'. - You might want to install the \`Automake' and \`Perl' packages. - Grab them from any GNU archive site." - find . -type f -name Makefile.am -print | - sed 's/\.am$/.in/' | - while read f; do touch "$f"; done - ;; - - autom4te*) - echo 1>&2 "\ -WARNING: \`$1' is needed, but is $msg. - You might have modified some files without having the - proper tools for further handling them. - You can get \`$1' as part of \`Autoconf' from any GNU - archive site." - - file=`echo "$*" | sed -n "$sed_output"` - test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` - if test -f "$file"; then - touch $file - else - test -z "$file" || exec >$file - echo "#! /bin/sh" - echo "# Created by GNU Automake missing as a replacement of" - echo "# $ $@" - echo "exit 0" - chmod +x $file - exit 1 - fi - ;; - - bison*|yacc*) - echo 1>&2 "\ -WARNING: \`$1' $msg. You should only need it if - you modified a \`.y' file. You may need the \`Bison' package - in order for those modifications to take effect. You can get - \`Bison' from any GNU archive site." - rm -f y.tab.c y.tab.h - if test $# -ne 1; then - eval LASTARG=\${$#} - case $LASTARG in - *.y) - SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'` - if test -f "$SRCFILE"; then - cp "$SRCFILE" y.tab.c - fi - SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'` - if test -f "$SRCFILE"; then - cp "$SRCFILE" y.tab.h - fi - ;; - esac - fi - if test ! -f y.tab.h; then - echo >y.tab.h - fi - if test ! -f y.tab.c; then - echo 'main() { return 0; }' >y.tab.c - fi - ;; - - lex*|flex*) - echo 1>&2 "\ -WARNING: \`$1' is $msg. You should only need it if - you modified a \`.l' file. You may need the \`Flex' package - in order for those modifications to take effect. You can get - \`Flex' from any GNU archive site." - rm -f lex.yy.c - if test $# -ne 1; then - eval LASTARG=\${$#} - case $LASTARG in - *.l) - SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'` - if test -f "$SRCFILE"; then - cp "$SRCFILE" lex.yy.c - fi - ;; - esac - fi - if test ! -f lex.yy.c; then - echo 'main() { return 0; }' >lex.yy.c - fi - ;; - - help2man*) - echo 1>&2 "\ -WARNING: \`$1' is $msg. You should only need it if - you modified a dependency of a manual page. You may need the - \`Help2man' package in order for those modifications to take - effect. You can get \`Help2man' from any GNU archive site." - - file=`echo "$*" | sed -n "$sed_output"` - test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` - if test -f "$file"; then - touch $file - else - test -z "$file" || exec >$file - echo ".ab help2man is required to generate this page" - exit $? - fi - ;; - - makeinfo*) - echo 1>&2 "\ -WARNING: \`$1' is $msg. You should only need it if - you modified a \`.texi' or \`.texinfo' file, or any other file - indirectly affecting the aspect of the manual. The spurious - call might also be the consequence of using a buggy \`make' (AIX, - DU, IRIX). You might want to install the \`Texinfo' package or - the \`GNU make' package. Grab either from any GNU archive site." - # The file to touch is that specified with -o ... - file=`echo "$*" | sed -n "$sed_output"` - test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` - if test -z "$file"; then - # ... or it is the one specified with @setfilename ... - infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'` - file=`sed -n ' - /^@setfilename/{ - s/.* \([^ ]*\) *$/\1/ - p - q - }' $infile` - # ... or it is derived from the source name (dir/f.texi becomes f.info) - test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info - fi - # If the file does not exist, the user really needs makeinfo; - # let's fail without touching anything. - test -f $file || exit 1 - touch $file - ;; - - *) - echo 1>&2 "\ -WARNING: \`$1' is needed, and is $msg. - You might have modified some files without having the - proper tools for further handling them. Check the \`README' file, - it often tells you about the needed prerequisites for installing - this package. You may also peek at any GNU archive site, in case - some other package would contain this missing \`$1' program." - exit 1 - ;; -esac - -exit 0 - -# Local variables: -# eval: (add-hook 'write-file-hooks 'time-stamp) -# time-stamp-start: "scriptversion=" -# time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-time-zone: "UTC" -# time-stamp-end: "; # UTC" -# End: diff --git a/GRIB_BLE_HUB/libs/ble_extend/monitor/.deps/.dirstamp b/GRIB_BLE_HUB/libs/ble_extend/monitor/.deps/.dirstamp deleted file mode 100644 index e69de29..0000000 diff --git a/GRIB_BLE_HUB/libs/ble_extend/monitor/.deps/btsnoop.Po b/GRIB_BLE_HUB/libs/ble_extend/monitor/.deps/btsnoop.Po deleted file mode 100644 index 9a69337..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/monitor/.deps/btsnoop.Po +++ /dev/null @@ -1,194 +0,0 @@ -monitor/btsnoop.o: monitor/btsnoop.c /usr/include/stdc-predef.h config.h \ - /usr/include/stdio.h /usr/include/features.h \ - /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/sys_errlist.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio.h /usr/include/errno.h \ - /usr/include/arm-linux-gnueabihf/bits/errno.h /usr/include/linux/errno.h \ - /usr/include/arm-linux-gnueabihf/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/include/fcntl.h /usr/include/arm-linux-gnueabihf/bits/fcntl.h \ - /usr/include/arm-linux-gnueabihf/bits/fcntl-linux.h \ - /usr/include/arm-linux-gnueabihf/bits/uio.h \ - /usr/include/arm-linux-gnueabihf/sys/types.h /usr/include/time.h \ - /usr/include/endian.h /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/arm-linux-gnueabihf/bits/stat.h /usr/include/unistd.h \ - /usr/include/arm-linux-gnueabihf/bits/posix_opt.h \ - /usr/include/arm-linux-gnueabihf/bits/environments.h \ - /usr/include/arm-linux-gnueabihf/bits/confname.h /usr/include/getopt.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h \ - /usr/include/stdint.h /usr/include/arm-linux-gnueabihf/bits/wchar.h \ - /usr/include/string.h /usr/include/xlocale.h \ - /usr/include/arm-linux-gnueabihf/bits/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string2.h /usr/include/stdlib.h \ - /usr/include/arm-linux-gnueabihf/sys/stat.h /usr/include/arpa/inet.h \ - /usr/include/netinet/in.h /usr/include/arm-linux-gnueabihf/sys/socket.h \ - /usr/include/arm-linux-gnueabihf/sys/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/socket.h \ - /usr/include/arm-linux-gnueabihf/bits/socket_type.h \ - /usr/include/arm-linux-gnueabihf/bits/sockaddr.h \ - /usr/include/arm-linux-gnueabihf/asm/socket.h \ - /usr/include/asm-generic/socket.h \ - /usr/include/arm-linux-gnueabihf/asm/sockios.h \ - /usr/include/asm-generic/sockios.h \ - /usr/include/arm-linux-gnueabihf/bits/in.h monitor/packet.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdbool.h \ - /usr/include/arm-linux-gnueabihf/sys/time.h monitor/btsnoop.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/include/stdio.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/sys_errlist.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio.h: - -/usr/include/errno.h: - -/usr/include/arm-linux-gnueabihf/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/arm-linux-gnueabihf/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/include/fcntl.h: - -/usr/include/arm-linux-gnueabihf/bits/fcntl.h: - -/usr/include/arm-linux-gnueabihf/bits/fcntl-linux.h: - -/usr/include/arm-linux-gnueabihf/bits/uio.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/time.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/arm-linux-gnueabihf/bits/stat.h: - -/usr/include/unistd.h: - -/usr/include/arm-linux-gnueabihf/bits/posix_opt.h: - -/usr/include/arm-linux-gnueabihf/bits/environments.h: - -/usr/include/arm-linux-gnueabihf/bits/confname.h: - -/usr/include/getopt.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/arm-linux-gnueabihf/bits/wchar.h: - -/usr/include/string.h: - -/usr/include/xlocale.h: - -/usr/include/arm-linux-gnueabihf/bits/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string2.h: - -/usr/include/stdlib.h: - -/usr/include/arm-linux-gnueabihf/sys/stat.h: - -/usr/include/arpa/inet.h: - -/usr/include/netinet/in.h: - -/usr/include/arm-linux-gnueabihf/sys/socket.h: - -/usr/include/arm-linux-gnueabihf/sys/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/socket.h: - -/usr/include/arm-linux-gnueabihf/bits/socket_type.h: - -/usr/include/arm-linux-gnueabihf/bits/sockaddr.h: - -/usr/include/arm-linux-gnueabihf/asm/socket.h: - -/usr/include/asm-generic/socket.h: - -/usr/include/arm-linux-gnueabihf/asm/sockios.h: - -/usr/include/asm-generic/sockios.h: - -/usr/include/arm-linux-gnueabihf/bits/in.h: - -monitor/packet.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdbool.h: - -/usr/include/arm-linux-gnueabihf/sys/time.h: - -monitor/btsnoop.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/monitor/.deps/control.Po b/GRIB_BLE_HUB/libs/ble_extend/monitor/.deps/control.Po deleted file mode 100644 index 4601a2c..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/monitor/.deps/control.Po +++ /dev/null @@ -1,246 +0,0 @@ -monitor/control.o: monitor/control.c /usr/include/stdc-predef.h config.h \ - /usr/include/stdio.h /usr/include/features.h \ - /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/sys_errlist.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdbool.h \ - /usr/include/errno.h /usr/include/arm-linux-gnueabihf/bits/errno.h \ - /usr/include/linux/errno.h /usr/include/arm-linux-gnueabihf/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/include/unistd.h /usr/include/arm-linux-gnueabihf/bits/posix_opt.h \ - /usr/include/arm-linux-gnueabihf/bits/environments.h \ - /usr/include/arm-linux-gnueabihf/bits/confname.h /usr/include/getopt.h \ - /usr/include/stdlib.h /usr/include/arm-linux-gnueabihf/bits/waitflags.h \ - /usr/include/arm-linux-gnueabihf/bits/waitstatus.h /usr/include/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/xlocale.h /usr/include/arm-linux-gnueabihf/sys/types.h \ - /usr/include/time.h /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/alloca.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-float.h \ - /usr/include/string.h /usr/include/arm-linux-gnueabihf/bits/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string2.h \ - /usr/include/arm-linux-gnueabihf/sys/time.h \ - /usr/include/arm-linux-gnueabihf/sys/socket.h \ - /usr/include/arm-linux-gnueabihf/sys/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/socket.h \ - /usr/include/arm-linux-gnueabihf/bits/socket_type.h \ - /usr/include/arm-linux-gnueabihf/bits/sockaddr.h \ - /usr/include/arm-linux-gnueabihf/asm/socket.h \ - /usr/include/asm-generic/socket.h \ - /usr/include/arm-linux-gnueabihf/asm/sockios.h \ - /usr/include/asm-generic/sockios.h \ - /usr/include/arm-linux-gnueabihf/sys/un.h lib/bluetooth.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h \ - /usr/include/stdint.h /usr/include/arm-linux-gnueabihf/bits/wchar.h \ - /usr/include/byteswap.h /usr/include/netinet/in.h \ - /usr/include/arm-linux-gnueabihf/bits/in.h lib/hci.h lib/mgmt.h \ - monitor/mainloop.h /usr/include/signal.h \ - /usr/include/arm-linux-gnueabihf/bits/signum.h \ - /usr/include/arm-linux-gnueabihf/bits/siginfo.h \ - /usr/include/arm-linux-gnueabihf/bits/sigaction.h \ - /usr/include/arm-linux-gnueabihf/bits/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/asm/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigstack.h \ - /usr/include/arm-linux-gnueabihf/sys/ucontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigthread.h \ - /usr/include/arm-linux-gnueabihf/sys/epoll.h \ - /usr/include/arm-linux-gnueabihf/bits/epoll.h monitor/display.h \ - monitor/packet.h monitor/btsnoop.h monitor/hcidump.h monitor/control.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/include/stdio.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/sys_errlist.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdbool.h: - -/usr/include/errno.h: - -/usr/include/arm-linux-gnueabihf/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/arm-linux-gnueabihf/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/include/unistd.h: - -/usr/include/arm-linux-gnueabihf/bits/posix_opt.h: - -/usr/include/arm-linux-gnueabihf/bits/environments.h: - -/usr/include/arm-linux-gnueabihf/bits/confname.h: - -/usr/include/getopt.h: - -/usr/include/stdlib.h: - -/usr/include/arm-linux-gnueabihf/bits/waitflags.h: - -/usr/include/arm-linux-gnueabihf/bits/waitstatus.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/xlocale.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/time.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/alloca.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-float.h: - -/usr/include/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string2.h: - -/usr/include/arm-linux-gnueabihf/sys/time.h: - -/usr/include/arm-linux-gnueabihf/sys/socket.h: - -/usr/include/arm-linux-gnueabihf/sys/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/socket.h: - -/usr/include/arm-linux-gnueabihf/bits/socket_type.h: - -/usr/include/arm-linux-gnueabihf/bits/sockaddr.h: - -/usr/include/arm-linux-gnueabihf/asm/socket.h: - -/usr/include/asm-generic/socket.h: - -/usr/include/arm-linux-gnueabihf/asm/sockios.h: - -/usr/include/asm-generic/sockios.h: - -/usr/include/arm-linux-gnueabihf/sys/un.h: - -lib/bluetooth.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/arm-linux-gnueabihf/bits/wchar.h: - -/usr/include/byteswap.h: - -/usr/include/netinet/in.h: - -/usr/include/arm-linux-gnueabihf/bits/in.h: - -lib/hci.h: - -lib/mgmt.h: - -monitor/mainloop.h: - -/usr/include/signal.h: - -/usr/include/arm-linux-gnueabihf/bits/signum.h: - -/usr/include/arm-linux-gnueabihf/bits/siginfo.h: - -/usr/include/arm-linux-gnueabihf/bits/sigaction.h: - -/usr/include/arm-linux-gnueabihf/bits/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/asm/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigstack.h: - -/usr/include/arm-linux-gnueabihf/sys/ucontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigthread.h: - -/usr/include/arm-linux-gnueabihf/sys/epoll.h: - -/usr/include/arm-linux-gnueabihf/bits/epoll.h: - -monitor/display.h: - -monitor/packet.h: - -monitor/btsnoop.h: - -monitor/hcidump.h: - -monitor/control.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/monitor/.deps/display.Po b/GRIB_BLE_HUB/libs/ble_extend/monitor/.deps/display.Po deleted file mode 100644 index d0790e8..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/monitor/.deps/display.Po +++ /dev/null @@ -1,204 +0,0 @@ -monitor/display.o: monitor/display.c /usr/include/stdc-predef.h config.h \ - /usr/include/stdio.h /usr/include/features.h \ - /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/sys_errlist.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio.h /usr/include/errno.h \ - /usr/include/arm-linux-gnueabihf/bits/errno.h /usr/include/linux/errno.h \ - /usr/include/arm-linux-gnueabihf/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/include/unistd.h /usr/include/arm-linux-gnueabihf/bits/posix_opt.h \ - /usr/include/arm-linux-gnueabihf/bits/environments.h \ - /usr/include/arm-linux-gnueabihf/bits/confname.h /usr/include/getopt.h \ - /usr/include/stdlib.h /usr/include/arm-linux-gnueabihf/bits/waitflags.h \ - /usr/include/arm-linux-gnueabihf/bits/waitstatus.h /usr/include/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/xlocale.h /usr/include/arm-linux-gnueabihf/sys/types.h \ - /usr/include/time.h /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/alloca.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-float.h \ - /usr/include/string.h /usr/include/arm-linux-gnueabihf/bits/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string2.h /usr/include/signal.h \ - /usr/include/arm-linux-gnueabihf/bits/signum.h \ - /usr/include/arm-linux-gnueabihf/bits/siginfo.h \ - /usr/include/arm-linux-gnueabihf/bits/sigaction.h \ - /usr/include/arm-linux-gnueabihf/bits/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/asm/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigstack.h \ - /usr/include/arm-linux-gnueabihf/sys/ucontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigthread.h \ - /usr/include/arm-linux-gnueabihf/sys/wait.h \ - /usr/include/arm-linux-gnueabihf/sys/prctl.h /usr/include/linux/prctl.h \ - /usr/include/arm-linux-gnueabihf/sys/ioctl.h \ - /usr/include/arm-linux-gnueabihf/bits/ioctls.h \ - /usr/include/arm-linux-gnueabihf/asm/ioctls.h \ - /usr/include/asm-generic/ioctls.h /usr/include/linux/ioctl.h \ - /usr/include/arm-linux-gnueabihf/asm/ioctl.h \ - /usr/include/asm-generic/ioctl.h \ - /usr/include/arm-linux-gnueabihf/bits/ioctl-types.h \ - /usr/include/arm-linux-gnueabihf/sys/ttydefaults.h monitor/display.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdbool.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/include/stdio.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/sys_errlist.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio.h: - -/usr/include/errno.h: - -/usr/include/arm-linux-gnueabihf/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/arm-linux-gnueabihf/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/include/unistd.h: - -/usr/include/arm-linux-gnueabihf/bits/posix_opt.h: - -/usr/include/arm-linux-gnueabihf/bits/environments.h: - -/usr/include/arm-linux-gnueabihf/bits/confname.h: - -/usr/include/getopt.h: - -/usr/include/stdlib.h: - -/usr/include/arm-linux-gnueabihf/bits/waitflags.h: - -/usr/include/arm-linux-gnueabihf/bits/waitstatus.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/xlocale.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/time.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/alloca.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-float.h: - -/usr/include/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string2.h: - -/usr/include/signal.h: - -/usr/include/arm-linux-gnueabihf/bits/signum.h: - -/usr/include/arm-linux-gnueabihf/bits/siginfo.h: - -/usr/include/arm-linux-gnueabihf/bits/sigaction.h: - -/usr/include/arm-linux-gnueabihf/bits/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/asm/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigstack.h: - -/usr/include/arm-linux-gnueabihf/sys/ucontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigthread.h: - -/usr/include/arm-linux-gnueabihf/sys/wait.h: - -/usr/include/arm-linux-gnueabihf/sys/prctl.h: - -/usr/include/linux/prctl.h: - -/usr/include/arm-linux-gnueabihf/sys/ioctl.h: - -/usr/include/arm-linux-gnueabihf/bits/ioctls.h: - -/usr/include/arm-linux-gnueabihf/asm/ioctls.h: - -/usr/include/asm-generic/ioctls.h: - -/usr/include/linux/ioctl.h: - -/usr/include/arm-linux-gnueabihf/asm/ioctl.h: - -/usr/include/asm-generic/ioctl.h: - -/usr/include/arm-linux-gnueabihf/bits/ioctl-types.h: - -/usr/include/arm-linux-gnueabihf/sys/ttydefaults.h: - -monitor/display.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdbool.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/monitor/.deps/hcidump.Po b/GRIB_BLE_HUB/libs/ble_extend/monitor/.deps/hcidump.Po deleted file mode 100644 index 6d61565..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/monitor/.deps/hcidump.Po +++ /dev/null @@ -1,262 +0,0 @@ -monitor/hcidump.o: monitor/hcidump.c /usr/include/stdc-predef.h config.h \ - /usr/include/stdio.h /usr/include/features.h \ - /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/sys_errlist.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio.h /usr/include/errno.h \ - /usr/include/arm-linux-gnueabihf/bits/errno.h /usr/include/linux/errno.h \ - /usr/include/arm-linux-gnueabihf/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/include/unistd.h /usr/include/arm-linux-gnueabihf/bits/posix_opt.h \ - /usr/include/arm-linux-gnueabihf/bits/environments.h \ - /usr/include/arm-linux-gnueabihf/bits/confname.h /usr/include/getopt.h \ - /usr/include/stdlib.h /usr/include/arm-linux-gnueabihf/bits/waitflags.h \ - /usr/include/arm-linux-gnueabihf/bits/waitstatus.h /usr/include/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/xlocale.h /usr/include/arm-linux-gnueabihf/sys/types.h \ - /usr/include/time.h /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/alloca.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-float.h \ - /usr/include/string.h /usr/include/arm-linux-gnueabihf/bits/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string2.h \ - /usr/include/arm-linux-gnueabihf/sys/ioctl.h \ - /usr/include/arm-linux-gnueabihf/bits/ioctls.h \ - /usr/include/arm-linux-gnueabihf/asm/ioctls.h \ - /usr/include/asm-generic/ioctls.h /usr/include/linux/ioctl.h \ - /usr/include/arm-linux-gnueabihf/asm/ioctl.h \ - /usr/include/asm-generic/ioctl.h \ - /usr/include/arm-linux-gnueabihf/bits/ioctl-types.h \ - /usr/include/arm-linux-gnueabihf/sys/ttydefaults.h \ - /usr/include/arm-linux-gnueabihf/sys/socket.h \ - /usr/include/arm-linux-gnueabihf/sys/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/socket.h \ - /usr/include/arm-linux-gnueabihf/bits/socket_type.h \ - /usr/include/arm-linux-gnueabihf/bits/sockaddr.h \ - /usr/include/arm-linux-gnueabihf/asm/socket.h \ - /usr/include/asm-generic/socket.h \ - /usr/include/arm-linux-gnueabihf/asm/sockios.h \ - /usr/include/asm-generic/sockios.h lib/bluetooth/bluetooth.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h \ - /usr/include/stdint.h /usr/include/arm-linux-gnueabihf/bits/wchar.h \ - /usr/include/byteswap.h /usr/include/netinet/in.h \ - /usr/include/arm-linux-gnueabihf/bits/in.h lib/bluetooth/hci.h \ - lib/bluetooth/hci_lib.h monitor/mainloop.h /usr/include/signal.h \ - /usr/include/arm-linux-gnueabihf/bits/signum.h \ - /usr/include/arm-linux-gnueabihf/bits/siginfo.h \ - /usr/include/arm-linux-gnueabihf/bits/sigaction.h \ - /usr/include/arm-linux-gnueabihf/bits/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/asm/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigstack.h \ - /usr/include/arm-linux-gnueabihf/sys/ucontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigthread.h \ - /usr/include/arm-linux-gnueabihf/sys/epoll.h \ - /usr/include/arm-linux-gnueabihf/bits/epoll.h monitor/packet.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdbool.h \ - /usr/include/arm-linux-gnueabihf/sys/time.h monitor/hcidump.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/include/stdio.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/sys_errlist.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio.h: - -/usr/include/errno.h: - -/usr/include/arm-linux-gnueabihf/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/arm-linux-gnueabihf/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/include/unistd.h: - -/usr/include/arm-linux-gnueabihf/bits/posix_opt.h: - -/usr/include/arm-linux-gnueabihf/bits/environments.h: - -/usr/include/arm-linux-gnueabihf/bits/confname.h: - -/usr/include/getopt.h: - -/usr/include/stdlib.h: - -/usr/include/arm-linux-gnueabihf/bits/waitflags.h: - -/usr/include/arm-linux-gnueabihf/bits/waitstatus.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/xlocale.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/time.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/alloca.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-float.h: - -/usr/include/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string2.h: - -/usr/include/arm-linux-gnueabihf/sys/ioctl.h: - -/usr/include/arm-linux-gnueabihf/bits/ioctls.h: - -/usr/include/arm-linux-gnueabihf/asm/ioctls.h: - -/usr/include/asm-generic/ioctls.h: - -/usr/include/linux/ioctl.h: - -/usr/include/arm-linux-gnueabihf/asm/ioctl.h: - -/usr/include/asm-generic/ioctl.h: - -/usr/include/arm-linux-gnueabihf/bits/ioctl-types.h: - -/usr/include/arm-linux-gnueabihf/sys/ttydefaults.h: - -/usr/include/arm-linux-gnueabihf/sys/socket.h: - -/usr/include/arm-linux-gnueabihf/sys/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/socket.h: - -/usr/include/arm-linux-gnueabihf/bits/socket_type.h: - -/usr/include/arm-linux-gnueabihf/bits/sockaddr.h: - -/usr/include/arm-linux-gnueabihf/asm/socket.h: - -/usr/include/asm-generic/socket.h: - -/usr/include/arm-linux-gnueabihf/asm/sockios.h: - -/usr/include/asm-generic/sockios.h: - -lib/bluetooth/bluetooth.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/arm-linux-gnueabihf/bits/wchar.h: - -/usr/include/byteswap.h: - -/usr/include/netinet/in.h: - -/usr/include/arm-linux-gnueabihf/bits/in.h: - -lib/bluetooth/hci.h: - -lib/bluetooth/hci_lib.h: - -monitor/mainloop.h: - -/usr/include/signal.h: - -/usr/include/arm-linux-gnueabihf/bits/signum.h: - -/usr/include/arm-linux-gnueabihf/bits/siginfo.h: - -/usr/include/arm-linux-gnueabihf/bits/sigaction.h: - -/usr/include/arm-linux-gnueabihf/bits/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/asm/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigstack.h: - -/usr/include/arm-linux-gnueabihf/sys/ucontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigthread.h: - -/usr/include/arm-linux-gnueabihf/sys/epoll.h: - -/usr/include/arm-linux-gnueabihf/bits/epoll.h: - -monitor/packet.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdbool.h: - -/usr/include/arm-linux-gnueabihf/sys/time.h: - -monitor/hcidump.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/monitor/.deps/l2cap.Po b/GRIB_BLE_HUB/libs/ble_extend/monitor/.deps/l2cap.Po deleted file mode 100644 index 048e590..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/monitor/.deps/l2cap.Po +++ /dev/null @@ -1,181 +0,0 @@ -monitor/l2cap.o: monitor/l2cap.c /usr/include/stdc-predef.h config.h \ - /usr/include/stdio.h /usr/include/features.h \ - /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/sys_errlist.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio.h /usr/include/stdlib.h \ - /usr/include/arm-linux-gnueabihf/bits/waitflags.h \ - /usr/include/arm-linux-gnueabihf/bits/waitstatus.h /usr/include/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/xlocale.h /usr/include/arm-linux-gnueabihf/sys/types.h \ - /usr/include/time.h /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/alloca.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-float.h \ - /usr/include/inttypes.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h \ - /usr/include/stdint.h /usr/include/arm-linux-gnueabihf/bits/wchar.h \ - lib/bluetooth/bluetooth.h /usr/include/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string2.h /usr/include/byteswap.h \ - /usr/include/netinet/in.h /usr/include/arm-linux-gnueabihf/sys/socket.h \ - /usr/include/arm-linux-gnueabihf/sys/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/socket.h \ - /usr/include/arm-linux-gnueabihf/bits/socket_type.h \ - /usr/include/arm-linux-gnueabihf/bits/sockaddr.h \ - /usr/include/arm-linux-gnueabihf/asm/socket.h \ - /usr/include/asm-generic/socket.h \ - /usr/include/arm-linux-gnueabihf/asm/sockios.h \ - /usr/include/asm-generic/sockios.h \ - /usr/include/arm-linux-gnueabihf/bits/in.h monitor/bt.h monitor/packet.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdbool.h \ - /usr/include/arm-linux-gnueabihf/sys/time.h monitor/display.h \ - monitor/l2cap.h monitor/uuid.h monitor/sdp.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/include/stdio.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/sys_errlist.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio.h: - -/usr/include/stdlib.h: - -/usr/include/arm-linux-gnueabihf/bits/waitflags.h: - -/usr/include/arm-linux-gnueabihf/bits/waitstatus.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/xlocale.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/time.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/alloca.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-float.h: - -/usr/include/inttypes.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/arm-linux-gnueabihf/bits/wchar.h: - -lib/bluetooth/bluetooth.h: - -/usr/include/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string2.h: - -/usr/include/byteswap.h: - -/usr/include/netinet/in.h: - -/usr/include/arm-linux-gnueabihf/sys/socket.h: - -/usr/include/arm-linux-gnueabihf/sys/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/socket.h: - -/usr/include/arm-linux-gnueabihf/bits/socket_type.h: - -/usr/include/arm-linux-gnueabihf/bits/sockaddr.h: - -/usr/include/arm-linux-gnueabihf/asm/socket.h: - -/usr/include/asm-generic/socket.h: - -/usr/include/arm-linux-gnueabihf/asm/sockios.h: - -/usr/include/asm-generic/sockios.h: - -/usr/include/arm-linux-gnueabihf/bits/in.h: - -monitor/bt.h: - -monitor/packet.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdbool.h: - -/usr/include/arm-linux-gnueabihf/sys/time.h: - -monitor/display.h: - -monitor/l2cap.h: - -monitor/uuid.h: - -monitor/sdp.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/monitor/.deps/main.Po b/GRIB_BLE_HUB/libs/ble_extend/monitor/.deps/main.Po deleted file mode 100644 index b675282..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/monitor/.deps/main.Po +++ /dev/null @@ -1,172 +0,0 @@ -monitor/main.o: monitor/main.c /usr/include/stdc-predef.h config.h \ - /usr/include/stdio.h /usr/include/features.h \ - /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/sys_errlist.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio.h /usr/include/ctype.h \ - /usr/include/endian.h /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/xlocale.h /usr/include/stdlib.h \ - /usr/include/arm-linux-gnueabihf/bits/waitflags.h \ - /usr/include/arm-linux-gnueabihf/bits/waitstatus.h \ - /usr/include/arm-linux-gnueabihf/sys/types.h /usr/include/time.h \ - /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/alloca.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-float.h \ - /usr/include/string.h /usr/include/arm-linux-gnueabihf/bits/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string2.h /usr/include/getopt.h \ - monitor/mainloop.h /usr/include/signal.h \ - /usr/include/arm-linux-gnueabihf/bits/signum.h \ - /usr/include/arm-linux-gnueabihf/bits/siginfo.h \ - /usr/include/arm-linux-gnueabihf/bits/sigaction.h \ - /usr/include/arm-linux-gnueabihf/bits/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/asm/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigstack.h \ - /usr/include/arm-linux-gnueabihf/sys/ucontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigthread.h \ - /usr/include/arm-linux-gnueabihf/sys/epoll.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h \ - /usr/include/stdint.h /usr/include/arm-linux-gnueabihf/bits/wchar.h \ - /usr/include/arm-linux-gnueabihf/bits/epoll.h monitor/packet.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdbool.h \ - /usr/include/arm-linux-gnueabihf/sys/time.h monitor/control.h \ - monitor/btsnoop.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/include/stdio.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/sys_errlist.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio.h: - -/usr/include/ctype.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/xlocale.h: - -/usr/include/stdlib.h: - -/usr/include/arm-linux-gnueabihf/bits/waitflags.h: - -/usr/include/arm-linux-gnueabihf/bits/waitstatus.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/time.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/alloca.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-float.h: - -/usr/include/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string2.h: - -/usr/include/getopt.h: - -monitor/mainloop.h: - -/usr/include/signal.h: - -/usr/include/arm-linux-gnueabihf/bits/signum.h: - -/usr/include/arm-linux-gnueabihf/bits/siginfo.h: - -/usr/include/arm-linux-gnueabihf/bits/sigaction.h: - -/usr/include/arm-linux-gnueabihf/bits/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/asm/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigstack.h: - -/usr/include/arm-linux-gnueabihf/sys/ucontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigthread.h: - -/usr/include/arm-linux-gnueabihf/sys/epoll.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/arm-linux-gnueabihf/bits/wchar.h: - -/usr/include/arm-linux-gnueabihf/bits/epoll.h: - -monitor/packet.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdbool.h: - -/usr/include/arm-linux-gnueabihf/sys/time.h: - -monitor/control.h: - -monitor/btsnoop.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/monitor/.deps/mainloop.Po b/GRIB_BLE_HUB/libs/ble_extend/monitor/.deps/mainloop.Po deleted file mode 100644 index 8a73fea..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/monitor/.deps/mainloop.Po +++ /dev/null @@ -1,196 +0,0 @@ -monitor/mainloop.o: monitor/mainloop.c /usr/include/stdc-predef.h \ - config.h /usr/include/stdio.h /usr/include/features.h \ - /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/sys_errlist.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio.h /usr/include/errno.h \ - /usr/include/arm-linux-gnueabihf/bits/errno.h /usr/include/linux/errno.h \ - /usr/include/arm-linux-gnueabihf/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/include/unistd.h /usr/include/arm-linux-gnueabihf/bits/posix_opt.h \ - /usr/include/arm-linux-gnueabihf/bits/environments.h \ - /usr/include/arm-linux-gnueabihf/bits/confname.h /usr/include/getopt.h \ - /usr/include/stdlib.h /usr/include/arm-linux-gnueabihf/bits/waitflags.h \ - /usr/include/arm-linux-gnueabihf/bits/waitstatus.h /usr/include/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/xlocale.h /usr/include/arm-linux-gnueabihf/sys/types.h \ - /usr/include/time.h /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/alloca.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-float.h \ - /usr/include/string.h /usr/include/arm-linux-gnueabihf/bits/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string2.h /usr/include/signal.h \ - /usr/include/arm-linux-gnueabihf/bits/signum.h \ - /usr/include/arm-linux-gnueabihf/bits/siginfo.h \ - /usr/include/arm-linux-gnueabihf/bits/sigaction.h \ - /usr/include/arm-linux-gnueabihf/bits/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/asm/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigstack.h \ - /usr/include/arm-linux-gnueabihf/sys/ucontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigthread.h \ - /usr/include/arm-linux-gnueabihf/sys/signalfd.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h \ - /usr/include/stdint.h /usr/include/arm-linux-gnueabihf/bits/wchar.h \ - /usr/include/arm-linux-gnueabihf/bits/signalfd.h \ - /usr/include/arm-linux-gnueabihf/sys/timerfd.h \ - /usr/include/arm-linux-gnueabihf/bits/timex.h \ - /usr/include/arm-linux-gnueabihf/bits/timerfd.h \ - /usr/include/arm-linux-gnueabihf/sys/epoll.h \ - /usr/include/arm-linux-gnueabihf/bits/epoll.h monitor/mainloop.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/include/stdio.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/sys_errlist.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio.h: - -/usr/include/errno.h: - -/usr/include/arm-linux-gnueabihf/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/arm-linux-gnueabihf/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/include/unistd.h: - -/usr/include/arm-linux-gnueabihf/bits/posix_opt.h: - -/usr/include/arm-linux-gnueabihf/bits/environments.h: - -/usr/include/arm-linux-gnueabihf/bits/confname.h: - -/usr/include/getopt.h: - -/usr/include/stdlib.h: - -/usr/include/arm-linux-gnueabihf/bits/waitflags.h: - -/usr/include/arm-linux-gnueabihf/bits/waitstatus.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/xlocale.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/time.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/alloca.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-float.h: - -/usr/include/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string2.h: - -/usr/include/signal.h: - -/usr/include/arm-linux-gnueabihf/bits/signum.h: - -/usr/include/arm-linux-gnueabihf/bits/siginfo.h: - -/usr/include/arm-linux-gnueabihf/bits/sigaction.h: - -/usr/include/arm-linux-gnueabihf/bits/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/asm/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigstack.h: - -/usr/include/arm-linux-gnueabihf/sys/ucontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigthread.h: - -/usr/include/arm-linux-gnueabihf/sys/signalfd.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/arm-linux-gnueabihf/bits/wchar.h: - -/usr/include/arm-linux-gnueabihf/bits/signalfd.h: - -/usr/include/arm-linux-gnueabihf/sys/timerfd.h: - -/usr/include/arm-linux-gnueabihf/bits/timex.h: - -/usr/include/arm-linux-gnueabihf/bits/timerfd.h: - -/usr/include/arm-linux-gnueabihf/sys/epoll.h: - -/usr/include/arm-linux-gnueabihf/bits/epoll.h: - -monitor/mainloop.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/monitor/.deps/packet.Po b/GRIB_BLE_HUB/libs/ble_extend/monitor/.deps/packet.Po deleted file mode 100644 index 310cbc5..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/monitor/.deps/packet.Po +++ /dev/null @@ -1,221 +0,0 @@ -monitor/packet.o: monitor/packet.c /usr/include/stdc-predef.h config.h \ - /usr/include/stdio.h /usr/include/features.h \ - /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/sys_errlist.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio.h /usr/include/errno.h \ - /usr/include/arm-linux-gnueabihf/bits/errno.h /usr/include/linux/errno.h \ - /usr/include/arm-linux-gnueabihf/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/include/ctype.h /usr/include/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/xlocale.h /usr/include/unistd.h \ - /usr/include/arm-linux-gnueabihf/bits/posix_opt.h \ - /usr/include/arm-linux-gnueabihf/bits/environments.h \ - /usr/include/arm-linux-gnueabihf/bits/confname.h /usr/include/getopt.h \ - /usr/include/stdlib.h /usr/include/arm-linux-gnueabihf/bits/waitflags.h \ - /usr/include/arm-linux-gnueabihf/bits/waitstatus.h \ - /usr/include/arm-linux-gnueabihf/sys/types.h /usr/include/time.h \ - /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/alloca.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-float.h \ - /usr/include/string.h /usr/include/arm-linux-gnueabihf/bits/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string2.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdbool.h \ - /usr/include/inttypes.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h \ - /usr/include/stdint.h /usr/include/arm-linux-gnueabihf/bits/wchar.h \ - /usr/include/arm-linux-gnueabihf/bits/timex.h \ - /usr/include/arm-linux-gnueabihf/sys/time.h lib/bluetooth/bluetooth.h \ - /usr/include/byteswap.h /usr/include/netinet/in.h \ - /usr/include/arm-linux-gnueabihf/sys/socket.h \ - /usr/include/arm-linux-gnueabihf/sys/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/socket.h \ - /usr/include/arm-linux-gnueabihf/bits/socket_type.h \ - /usr/include/arm-linux-gnueabihf/bits/sockaddr.h \ - /usr/include/arm-linux-gnueabihf/asm/socket.h \ - /usr/include/asm-generic/socket.h \ - /usr/include/arm-linux-gnueabihf/asm/sockios.h \ - /usr/include/asm-generic/sockios.h \ - /usr/include/arm-linux-gnueabihf/bits/in.h lib/bluetooth/hci.h \ - lib/bluetooth/hci_lib.h monitor/display.h monitor/bt.h monitor/uuid.h \ - monitor/l2cap.h monitor/control.h monitor/packet.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/include/stdio.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/sys_errlist.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio.h: - -/usr/include/errno.h: - -/usr/include/arm-linux-gnueabihf/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/arm-linux-gnueabihf/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/include/ctype.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/xlocale.h: - -/usr/include/unistd.h: - -/usr/include/arm-linux-gnueabihf/bits/posix_opt.h: - -/usr/include/arm-linux-gnueabihf/bits/environments.h: - -/usr/include/arm-linux-gnueabihf/bits/confname.h: - -/usr/include/getopt.h: - -/usr/include/stdlib.h: - -/usr/include/arm-linux-gnueabihf/bits/waitflags.h: - -/usr/include/arm-linux-gnueabihf/bits/waitstatus.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/time.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/alloca.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-float.h: - -/usr/include/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string2.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdbool.h: - -/usr/include/inttypes.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/arm-linux-gnueabihf/bits/wchar.h: - -/usr/include/arm-linux-gnueabihf/bits/timex.h: - -/usr/include/arm-linux-gnueabihf/sys/time.h: - -lib/bluetooth/bluetooth.h: - -/usr/include/byteswap.h: - -/usr/include/netinet/in.h: - -/usr/include/arm-linux-gnueabihf/sys/socket.h: - -/usr/include/arm-linux-gnueabihf/sys/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/socket.h: - -/usr/include/arm-linux-gnueabihf/bits/socket_type.h: - -/usr/include/arm-linux-gnueabihf/bits/sockaddr.h: - -/usr/include/arm-linux-gnueabihf/asm/socket.h: - -/usr/include/asm-generic/socket.h: - -/usr/include/arm-linux-gnueabihf/asm/sockios.h: - -/usr/include/asm-generic/sockios.h: - -/usr/include/arm-linux-gnueabihf/bits/in.h: - -lib/bluetooth/hci.h: - -lib/bluetooth/hci_lib.h: - -monitor/display.h: - -monitor/bt.h: - -monitor/uuid.h: - -monitor/l2cap.h: - -monitor/control.h: - -monitor/packet.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/monitor/.deps/sdp.Po b/GRIB_BLE_HUB/libs/ble_extend/monitor/.deps/sdp.Po deleted file mode 100644 index 1e22314..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/monitor/.deps/sdp.Po +++ /dev/null @@ -1,180 +0,0 @@ -monitor/sdp.o: monitor/sdp.c /usr/include/stdc-predef.h config.h \ - /usr/include/stdio.h /usr/include/features.h \ - /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/sys_errlist.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio.h /usr/include/stdlib.h \ - /usr/include/arm-linux-gnueabihf/bits/waitflags.h \ - /usr/include/arm-linux-gnueabihf/bits/waitstatus.h /usr/include/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/xlocale.h /usr/include/arm-linux-gnueabihf/sys/types.h \ - /usr/include/time.h /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/alloca.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-float.h \ - /usr/include/string.h /usr/include/arm-linux-gnueabihf/bits/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string2.h /usr/include/inttypes.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h \ - /usr/include/stdint.h /usr/include/arm-linux-gnueabihf/bits/wchar.h \ - lib/bluetooth/bluetooth.h /usr/include/byteswap.h \ - /usr/include/netinet/in.h /usr/include/arm-linux-gnueabihf/sys/socket.h \ - /usr/include/arm-linux-gnueabihf/sys/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/socket.h \ - /usr/include/arm-linux-gnueabihf/bits/socket_type.h \ - /usr/include/arm-linux-gnueabihf/bits/sockaddr.h \ - /usr/include/arm-linux-gnueabihf/asm/socket.h \ - /usr/include/asm-generic/socket.h \ - /usr/include/arm-linux-gnueabihf/asm/sockios.h \ - /usr/include/asm-generic/sockios.h \ - /usr/include/arm-linux-gnueabihf/bits/in.h monitor/bt.h monitor/packet.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdbool.h \ - /usr/include/arm-linux-gnueabihf/sys/time.h monitor/display.h \ - monitor/l2cap.h monitor/uuid.h monitor/sdp.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/include/stdio.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/sys_errlist.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio.h: - -/usr/include/stdlib.h: - -/usr/include/arm-linux-gnueabihf/bits/waitflags.h: - -/usr/include/arm-linux-gnueabihf/bits/waitstatus.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/xlocale.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/time.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/alloca.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-float.h: - -/usr/include/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string2.h: - -/usr/include/inttypes.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/arm-linux-gnueabihf/bits/wchar.h: - -lib/bluetooth/bluetooth.h: - -/usr/include/byteswap.h: - -/usr/include/netinet/in.h: - -/usr/include/arm-linux-gnueabihf/sys/socket.h: - -/usr/include/arm-linux-gnueabihf/sys/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/socket.h: - -/usr/include/arm-linux-gnueabihf/bits/socket_type.h: - -/usr/include/arm-linux-gnueabihf/bits/sockaddr.h: - -/usr/include/arm-linux-gnueabihf/asm/socket.h: - -/usr/include/asm-generic/socket.h: - -/usr/include/arm-linux-gnueabihf/asm/sockios.h: - -/usr/include/asm-generic/sockios.h: - -/usr/include/arm-linux-gnueabihf/bits/in.h: - -monitor/bt.h: - -monitor/packet.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdbool.h: - -/usr/include/arm-linux-gnueabihf/sys/time.h: - -monitor/display.h: - -monitor/l2cap.h: - -monitor/uuid.h: - -monitor/sdp.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/monitor/.deps/uuid.Po b/GRIB_BLE_HUB/libs/ble_extend/monitor/.deps/uuid.Po deleted file mode 100644 index 7d495a2..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/monitor/.deps/uuid.Po +++ /dev/null @@ -1,72 +0,0 @@ -monitor/uuid.o: monitor/uuid.c /usr/include/stdc-predef.h config.h \ - /usr/include/stdio.h /usr/include/features.h \ - /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/sys_errlist.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio.h /usr/include/string.h \ - /usr/include/xlocale.h /usr/include/arm-linux-gnueabihf/bits/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string2.h /usr/include/stdlib.h \ - monitor/uuid.h /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h \ - /usr/include/stdint.h /usr/include/arm-linux-gnueabihf/bits/wchar.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/include/stdio.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/sys_errlist.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio.h: - -/usr/include/string.h: - -/usr/include/xlocale.h: - -/usr/include/arm-linux-gnueabihf/bits/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string2.h: - -/usr/include/stdlib.h: - -monitor/uuid.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/arm-linux-gnueabihf/bits/wchar.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/monitor/.dirstamp b/GRIB_BLE_HUB/libs/ble_extend/monitor/.dirstamp deleted file mode 100644 index e69de29..0000000 diff --git a/GRIB_BLE_HUB/libs/ble_extend/monitor/bt.h b/GRIB_BLE_HUB/libs/ble_extend/monitor/bt.h deleted file mode 100644 index 64cbe74..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/monitor/bt.h +++ /dev/null @@ -1,1786 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2011-2012 Intel Corporation - * Copyright (C) 2004-2010 Marcel Holtmann - * - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#include - -#define BT_H4_CMD_PKT 0x01 -#define BT_H4_ACL_PKT 0x02 -#define BT_H4_SCO_PKT 0x03 -#define BT_H4_EVT_PKT 0x04 - -struct bt_hci_cmd_hdr { - uint16_t opcode; - uint8_t plen; -} __attribute__ ((packed)); - -struct bt_hci_evt_hdr { - uint8_t evt; - uint8_t plen; -} __attribute__ ((packed)); - -#define BT_HCI_CMD_NOP 0x0000 - -#define BT_HCI_CMD_INQUIRY 0x0401 -struct bt_hci_cmd_inquiry { - uint8_t lap[3]; - uint8_t length; - uint8_t num_resp; -} __attribute__ ((packed)); - -#define BT_HCI_CMD_INQUIRY_CANCEL 0x0402 - -#define BT_HCI_CMD_PERIODIC_INQUIRY 0x0403 -struct bt_hci_cmd_periodic_inquiry { - uint16_t max_period; - uint16_t min_period; - uint8_t lap[3]; - uint8_t length; - uint8_t num_resp; -} __attribute__ ((packed)); - -#define BT_HCI_CMD_EXIT_PERIODIC_INQUIRY 0x0404 - -#define BT_HCI_CMD_CREATE_CONN 0x0405 -struct bt_hci_cmd_create_conn { - uint8_t bdaddr[6]; - uint16_t pkt_type; - uint8_t pscan_rep_mode; - uint8_t pscan_mode; - uint16_t clock_offset; - uint8_t role_switch; -} __attribute__ ((packed)); - -#define BT_HCI_CMD_DISCONNECT 0x0406 -struct bt_hci_cmd_disconnect { - uint16_t handle; - uint8_t reason; -} __attribute__ ((packed)); - -#define BT_HCI_CMD_ADD_SCO_CONN 0x0407 -struct bt_hci_cmd_add_sco_conn { - uint16_t handle; - uint16_t pkt_type; -} __attribute__ ((packed)); - -#define BT_HCI_CMD_CREATE_CONN_CANCEL 0x0408 -struct bt_hci_cmd_create_conn_cancel { - uint8_t bdaddr[6]; -} __attribute__ ((packed)); - -#define BT_HCI_CMD_ACCEPT_CONN_REQUEST 0x0409 -struct bt_hci_cmd_accept_conn_request { - uint8_t bdaddr[6]; - uint8_t role; -} __attribute__ ((packed)); - -#define BT_HCI_CMD_REJECT_CONN_REQUEST 0x040a -struct bt_hci_cmd_reject_conn_request { - uint8_t bdaddr[6]; - uint8_t reason; -} __attribute__ ((packed)); - -#define BT_HCI_CMD_LINK_KEY_REQUEST_REPLY 0x040b -struct bt_hci_cmd_link_key_request_reply { - uint8_t bdaddr[6]; - uint8_t link_key[16]; -} __attribute__ ((packed)); - -#define BT_HCI_CMD_LINK_KEY_REQUEST_NEG_REPLY 0x040c -struct bt_hci_cmd_link_key_request_neg_reply { - uint8_t bdaddr[6]; -} __attribute__ ((packed)); - -#define BT_HCI_CMD_PIN_CODE_REQUEST_REPLY 0x040d -struct bt_hci_cmd_pin_code_request_reply { - uint8_t bdaddr[6]; - uint8_t pin_len; - uint8_t pin_code[16]; -} __attribute__ ((packed)); - -#define BT_HCI_CMD_PIN_CODE_REQUEST_NEG_REPLY 0x040e -struct bt_hci_cmd_pin_code_request_neg_reply { - uint8_t bdaddr[6]; -} __attribute__ ((packed)); - -#define BT_HCI_CMD_CHANGE_CONN_PKT_TYPE 0x040f -struct bt_hci_cmd_change_conn_pkt_type { - uint16_t handle; - uint16_t pkt_type; -} __attribute__ ((packed)); - -#define BT_HCI_CMD_AUTH_REQUESTED 0x0411 -struct bt_hci_cmd_auth_requested { - uint16_t handle; -} __attribute__ ((packed)); - -#define BT_HCI_CMD_SET_CONN_ENCRYPT 0x0413 -struct bt_hci_cmd_set_conn_encrypt { - uint16_t handle; - uint8_t encr_mode; -} __attribute__ ((packed)); - -#define BT_HCI_CMD_CHANGE_CONN_LINK_KEY 0x0415 -struct bt_hci_cmd_change_conn_link_key { - uint16_t handle; -} __attribute__ ((packed)); - -#define BT_HCI_CMD_MASTER_LINK_KEY 0x0417 -struct bt_hci_cmd_master_link_key { - uint8_t key_flag; -} __attribute__ ((packed)); - -#define BT_HCI_CMD_REMOTE_NAME_REQUEST 0x0419 -struct bt_hci_cmd_remote_name_request { - uint8_t bdaddr[6]; - uint8_t pscan_rep_mode; - uint8_t pscan_mode; - uint16_t clock_offset; -} __attribute__ ((packed)); - -#define BT_HCI_CMD_REMOTE_NAME_REQUEST_CANCEL 0x041a -struct bt_hci_cmd_remote_name_request_cancel { - uint8_t bdaddr[6]; -} __attribute__ ((packed)); - -#define BT_HCI_CMD_READ_REMOTE_FEATURES 0x041b -struct bt_hci_cmd_read_remote_features { - uint16_t handle; -} __attribute__ ((packed)); - -#define BT_HCI_CMD_READ_REMOTE_EXT_FEATURES 0x041c -struct bt_hci_cmd_read_remote_ext_features { - uint16_t handle; - uint8_t page; -} __attribute__ ((packed)); - -#define BT_HCI_CMD_READ_REMOTE_VERSION 0x041d -struct bt_hci_cmd_read_remote_version { - uint16_t handle; -} __attribute__ ((packed)); - -#define BT_HCI_CMD_READ_CLOCK_OFFSET 0x041f -struct bt_hci_cmd_read_clock_offset { - uint16_t handle; -} __attribute__ ((packed)); - -#define BT_HCI_CMD_READ_LMP_HANDLE 0x0420 -struct bt_hci_cmd_read_lmp_handle { - uint16_t handle; -} __attribute__ ((packed)); -struct bt_hci_rsp_read_lmp_handle { - uint8_t status; - uint16_t handle; - uint8_t lmp_handle; - uint32_t reserved; -} __attribute__ ((packed)); - -#define BT_HCI_CMD_SETUP_SYNC_CONN 0x0428 -struct bt_hci_cmd_setup_sync_conn { - uint16_t handle; - uint32_t tx_bandwidth; - uint32_t rx_bandwidth; - uint16_t max_latency; - uint16_t voice_setting; - uint8_t retrans_effort; - uint16_t pkt_type; -} __attribute__ ((packed)); - -#define BT_HCI_CMD_ACCEPT_SYNC_CONN 0x0429 -struct bt_hci_cmd_accept_sync_conn { - uint8_t bdaddr[6]; - uint32_t tx_bandwidth; - uint32_t rx_bandwidth; - uint16_t max_latency; - uint16_t voice_setting; - uint8_t retrans_effort; - uint16_t pkt_type; -} __attribute__ ((packed)); - -#define BT_HCI_CMD_REJECT_SYNC_CONN 0x042a -struct bt_hci_cmd_reject_sync_conn { - uint8_t bdaddr[6]; - uint8_t reason; -} __attribute__ ((packed)); - -#define BT_HCI_CMD_IO_CAPABILITY_REQUEST_REPLY 0x042b -struct bt_hci_cmd_io_capability_request_reply { - uint8_t bdaddr[6]; - uint8_t capability; - uint8_t oob_data; - uint8_t authentication; -} __attribute__ ((packed)); - -#define BT_HCI_CMD_USER_CONFIRM_REQUEST_REPLY 0x042c -struct bt_hci_cmd_user_confirm_request_reply { - uint8_t bdaddr[6]; -} __attribute__ ((packed)); - -#define BT_HCI_CMD_USER_CONFIRM_REQUEST_NEG_REPLY 0x042d -struct bt_hci_cmd_user_confirm_request_neg_reply { - uint8_t bdaddr[6]; -} __attribute__ ((packed)); - -#define BT_HCI_CMD_USER_PASSKEY_REQUEST_REPLY 0x042e -struct bt_hci_cmd_user_passkey_request_reply { - uint8_t bdaddr[6]; - uint32_t passkey; -} __attribute__ ((packed)); - -#define BT_HCI_CMD_USER_PASSKEY_REQUEST_NEG_REPLY 0x042f -struct bt_hci_cmd_user_passkey_request_neg_reply { - uint8_t bdaddr[6]; -} __attribute__ ((packed)); - -#define BT_HCI_CMD_REMOTE_OOB_DATA_REQUEST_REPLY 0x0430 -struct bt_hci_cmd_remote_oob_data_request_reply { - uint8_t bdaddr[6]; - uint8_t hash[16]; - uint8_t randomizer[16]; -} __attribute__ ((packed)); - -#define BT_HCI_CMD_REMOTE_OOB_DATA_REQUEST_NEG_REPLY 0x0433 -struct bt_hci_cmd_remote_oob_data_request_neg_reply { - uint8_t bdaddr[6]; -} __attribute__ ((packed)); - -#define BT_HCI_CMD_IO_CAPABILITY_REQUEST_NEG_REPLY 0x0434 -struct bt_hci_cmd_io_capability_request_neg_reply { - uint8_t bdaddr[6]; - uint8_t reason; -} __attribute__ ((packed)); - -#define BT_HCI_CMD_CREATE_PHY_LINK 0x0435 -struct bt_hci_cmd_create_phy_link { - uint8_t phy_handle; - uint8_t key_len; - uint8_t key_type; -} __attribute__ ((packed)); - -#define BT_HCI_CMD_ACCEPT_PHY_LINK 0x0436 -struct bt_hci_cmd_accept_phy_link { - uint8_t phy_handle; - uint8_t key_len; - uint8_t key_type; -} __attribute__ ((packed)); - -#define BT_HCI_CMD_DISCONN_PHY_LINK 0x0437 -struct bt_hci_cmd_disconn_phy_link { - uint8_t phy_handle; - uint8_t reason; -} __attribute__ ((packed)); - -#define BT_HCI_CMD_CREATE_LOGIC_LINK 0x0438 -struct bt_hci_cmd_create_logic_link { - uint8_t phy_handle; - uint8_t tx_flow_spec[16]; - uint8_t rx_flow_spec[16]; -} __attribute__ ((packed)); - -#define BT_HCI_CMD_ACCEPT_LOGIC_LINK 0x0439 -struct bt_hci_cmd_accept_logic_link { - uint8_t phy_handle; - uint8_t tx_flow_spec[16]; - uint8_t rx_flow_spec[16]; -} __attribute__ ((packed)); - -#define BT_HCI_CMD_DISCONN_LOGIC_LINK 0x043a -struct bt_hci_cmd_disconn_logic_link { - uint16_t handle; -} __attribute__ ((packed)); - -#define BT_HCI_CMD_LOGIC_LINK_CANCEL 0x043b -struct bt_hci_cmd_logic_link_cancel { - uint8_t phy_handle; - uint8_t flow_spec; -} __attribute__ ((packed)); -struct bt_hci_rsp_logic_link_cancel { - uint8_t status; - uint8_t phy_handle; - uint8_t flow_spec; -} __attribute__ ((packed)); - -#define BT_HCI_CMD_FLOW_SPEC_MODIFY 0x043c -struct bt_hci_cmd_flow_spec_modify { - uint16_t handle; - uint8_t tx_flow_spec[16]; - uint8_t rx_flow_spec[16]; -} __attribute__ ((packed)); - -#define BT_HCI_CMD_HOLD_MODE 0x0801 -struct bt_hci_cmd_hold_mode { - uint16_t handle; - uint16_t max_interval; - uint16_t min_interval; -} __attribute__ ((packed)); - -#define BT_HCI_CMD_SNIFF_MODE 0x0803 -struct bt_hci_cmd_sniff_mode { - uint16_t handle; - uint16_t max_interval; - uint16_t min_interval; - uint16_t attempt; - uint16_t timeout; -} __attribute__ ((packed)); - -#define BT_HCI_CMD_EXIT_SNIFF_MODE 0x0804 -struct bt_hci_cmd_exit_sniff_mode { - uint16_t handle; -} __attribute__ ((packed)); - -#define BT_HCI_CMD_PARK_STATE 0x0805 -struct bt_hci_cmd_park_state { - uint16_t handle; - uint16_t max_interval; - uint16_t min_interval; -} __attribute__ ((packed)); - -#define BT_HCI_CMD_EXIT_PARK_STATE 0x0806 -struct bt_hci_cmd_exit_park_state { - uint16_t handle; -} __attribute__ ((packed)); - -#define BT_HCI_CMD_QOS_SETUP 0x0807 -struct bt_hci_cmd_qos_setup { - uint16_t handle; - uint8_t flags; - uint8_t service_type; - uint32_t token_rate; - uint32_t peak_bandwidth; - uint32_t latency; - uint32_t delay_variation; -} __attribute__ ((packed)); - -#define BT_HCI_CMD_ROLE_DISCOVERY 0x0809 -struct bt_hci_cmd_role_discovery { - uint16_t handle; -} __attribute__ ((packed)); -struct bt_hci_rsp_role_discovery { - uint8_t status; - uint16_t handle; - uint8_t role; -} __attribute__ ((packed)); - -#define BT_HCI_CMD_SWITCH_ROLE 0x080b -struct bt_hci_cmd_switch_role { - uint8_t bdaddr[6]; - uint8_t role; -} __attribute__ ((packed)); - -#define BT_HCI_CMD_READ_LINK_POLICY 0x080c -struct bt_hci_cmd_read_link_policy { - uint16_t handle; -} __attribute__ ((packed)); -struct bt_hci_rsp_read_link_policy { - uint8_t status; - uint16_t handle; - uint16_t policy; -} __attribute__ ((packed)); - -#define BT_HCI_CMD_WRITE_LINK_POLICY 0x080d -struct bt_hci_cmd_write_link_policy { - uint16_t handle; - uint16_t policy; -} __attribute__ ((packed)); -struct bt_hci_rsp_write_link_policy { - uint8_t status; - uint16_t handle; -} __attribute__ ((packed)); - -#define BT_HCI_CMD_READ_DEFAULT_LINK_POLICY 0x080e -struct bt_hci_rsp_read_default_link_policy { - uint8_t status; - uint16_t policy; -} __attribute__ ((packed)); - -#define BT_HCI_CMD_WRITE_DEFAULT_LINK_POLICY 0x080f -struct bt_hci_cmd_write_default_link_policy { - uint16_t policy; -} __attribute__ ((packed)); - -#define BT_HCI_CMD_FLOW_SPEC 0x0810 -struct bt_hci_cmd_flow_spec { - uint16_t handle; - uint8_t flags; - uint8_t direction; - uint8_t service_type; - uint32_t token_rate; - uint32_t token_bucket_size; - uint32_t peak_bandwidth; - uint32_t access_latency; -} __attribute__ ((packed)); - -#define BT_HCI_CMD_SNIFF_SUBRATING 0x0811 -struct bt_hci_cmd_sniff_subrating { - uint16_t handle; - uint16_t max_latency; - uint16_t min_remote_timeout; - uint16_t min_local_timeout; -} __attribute__ ((packed)); -struct bt_hci_rsp_sniff_subrating { - uint8_t status; - uint16_t handle; -} __attribute__ ((packed)); - -#define BT_HCI_CMD_SET_EVENT_MASK 0x0c01 -struct bt_hci_cmd_set_event_mask { - uint8_t mask[8]; -} __attribute__ ((packed)); - -#define BT_HCI_CMD_RESET 0x0c03 - -#define BT_HCI_CMD_SET_EVENT_FILTER 0x0c05 -struct bt_hci_cmd_set_event_filter { - uint8_t type; - uint8_t cond_type; - uint8_t cond[0]; -} __attribute__ ((packed)); - -#define BT_HCI_CMD_FLUSH 0x0c08 -struct bt_hci_cmd_flush { - uint16_t handle; -} __attribute__ ((packed)); -struct bt_hci_rsp_flush { - uint8_t status; - uint16_t handle; -} __attribute__ ((packed)); - -#define BT_HCI_CMD_READ_PIN_TYPE 0x0c09 -struct bt_hci_rsp_read_pin_type { - uint8_t status; - uint8_t pin_type; -} __attribute__ ((packed)); - -#define BT_HCI_CMD_WRITE_PIN_TYPE 0x0c0a -struct bt_hci_cmd_write_pin_type { - uint8_t pin_type; -} __attribute__ ((packed)); - -#define BT_HCI_CMD_CREATE_NEW_UNIT_KEY 0x0c0b - -#define BT_HCI_CMD_READ_STORED_LINK_KEY 0x0c0d -struct bt_hci_cmd_read_stored_link_key { - uint8_t bdaddr[6]; - uint8_t read_all; -} __attribute__ ((packed)); -struct bt_hci_rsp_read_stored_link_key { - uint8_t status; - uint16_t max_num_keys; - uint16_t num_keys; -} __attribute__ ((packed)); - -#define BT_HCI_CMD_WRITE_STORED_LINK_KEY 0x0c11 -struct bt_hci_cmd_write_stored_link_key { - uint8_t num_keys; -} __attribute__ ((packed)); -struct bt_hci_rsp_write_stored_link_key { - uint8_t status; - uint8_t num_keys; -} __attribute__ ((packed)); - -#define BT_HCI_CMD_DELETE_STORED_LINK_KEY 0x0c12 -struct bt_hci_cmd_delete_stored_link_key { - uint8_t bdaddr[6]; - uint8_t delete_all; -} __attribute__ ((packed)); -struct bt_hci_rsp_delete_stored_link_key { - uint8_t status; - uint16_t num_keys; -} __attribute__ ((packed)); - -#define BT_HCI_CMD_WRITE_LOCAL_NAME 0x0c13 -struct bt_hci_cmd_write_local_name { - uint8_t name[248]; -} __attribute__ ((packed)); - -#define BT_HCI_CMD_READ_LOCAL_NAME 0x0c14 -struct bt_hci_rsp_read_local_name { - uint8_t status; - uint8_t name[248]; -} __attribute__ ((packed)); - -#define BT_HCI_CMD_READ_CONN_ACCEPT_TIMEOUT 0x0c15 -struct bt_hci_rsp_read_conn_accept_timeout { - uint8_t status; - uint16_t timeout; -} __attribute__ ((packed)); - -#define BT_HCI_CMD_WRITE_CONN_ACCEPT_TIMEOUT 0x0c16 -struct bt_hci_cmd_write_conn_accept_timeout { - uint16_t timeout; -} __attribute__ ((packed)); - -#define BT_HCI_CMD_READ_PAGE_TIMEOUT 0x0c17 -struct bt_hci_rsp_read_page_timeout { - uint8_t status; - uint16_t timeout; -} __attribute__ ((packed)); - -#define BT_HCI_CMD_WRITE_PAGE_TIMEOUT 0x0c18 -struct bt_hci_cmd_write_page_timeout { - uint16_t timeout; -} __attribute__ ((packed)); - -#define BT_HCI_CMD_READ_SCAN_ENABLE 0x0c19 -struct bt_hci_rsp_read_scan_enable { - uint8_t status; - uint8_t enable; -} __attribute__ ((packed)); - -#define BT_HCI_CMD_WRITE_SCAN_ENABLE 0x0c1a -struct bt_hci_cmd_write_scan_enable { - uint8_t enable; -} __attribute__ ((packed)); - -#define BT_HCI_CMD_READ_PAGE_SCAN_ACTIVITY 0x0c1b -struct bt_hci_rsp_read_page_scan_activity { - uint8_t status; - uint16_t interval; - uint16_t window; -} __attribute__ ((packed)); - -#define BT_HCI_CMD_WRITE_PAGE_SCAN_ACTIVITY 0x0c1c -struct bt_hci_cmd_write_page_scan_activity { - uint16_t interval; - uint16_t window; -} __attribute__ ((packed)); - -#define BT_HCI_CMD_READ_AUTH_ENABLE 0x0c1f -struct bt_hci_rsp_read_auth_enable { - uint8_t status; - uint8_t enable; -} __attribute__ ((packed)); - -#define BT_HCI_CMD_WRITE_AUTH_ENABLE 0x0c20 -struct bt_hci_cmd_write_auth_enable { - uint8_t enable; -} __attribute__ ((packed)); - -#define BT_HCI_CMD_READ_CLASS_OF_DEV 0x0c23 -struct bt_hci_rsp_read_class_of_dev { - uint8_t status; - uint8_t dev_class[3]; -} __attribute__ ((packed)); - -#define BT_HCI_CMD_WRITE_CLASS_OF_DEV 0x0c24 -struct bt_hci_cmd_write_class_of_dev { - uint8_t dev_class[3]; -} __attribute__ ((packed)); - -#define BT_HCI_CMD_READ_VOICE_SETTING 0x0c25 -struct bt_hci_rsp_read_voice_setting { - uint8_t status; - uint16_t setting; -} __attribute__ ((packed)); - -#define BT_HCI_CMD_WRITE_VOICE_SETTING 0x0c26 -struct bt_hci_cmd_write_voice_setting { - uint16_t setting; -} __attribute__ ((packed)); - -#define BT_HCI_CMD_READ_INQUIRY_MODE 0x0c44 -struct bt_hci_rsp_read_inquiry_mode { - uint8_t status; - uint8_t mode; -} __attribute__ ((packed)); - -#define BT_HCI_CMD_WRITE_INQUIRY_MODE 0x0c45 -struct bt_hci_cmd_write_inquiry_mode { - uint8_t mode; -} __attribute__ ((packed)); - -#define BT_HCI_CMD_READ_PAGE_SCAN_TYPE 0x0c46 -struct bt_hci_rsp_read_page_scan_type { - uint8_t status; - uint8_t type; -} __attribute__ ((packed)); - -#define BT_HCI_CMD_WRITE_PAGE_SCAN_TYPE 0x0c47 -struct bt_hci_cmd_write_page_scan_type { - uint8_t type; -} __attribute__ ((packed)); - -#define BT_HCI_CMD_READ_AFH_ASSESS_MODE 0x0c48 -struct bt_hci_rsp_read_afh_assess_mode { - uint8_t status; - uint8_t mode; -} __attribute__ ((packed)); - -#define BT_HCI_CMD_WRITE_AFH_ASSESS_MODE 0x0c49 -struct bt_hci_cmd_write_afh_assess_mode { - uint8_t mode; -} __attribute__ ((packed)); - -#define BT_HCI_CMD_READ_EXT_INQUIRY_RESPONSE 0x0c51 -struct bt_hci_rsp_read_ext_inquiry_response { - uint8_t status; - uint8_t fec; - uint8_t data[240]; -} __attribute__ ((packed)); - -#define BT_HCI_CMD_WRITE_EXT_INQUIRY_RESPONSE 0x0c52 -struct bt_hci_cmd_write_ext_inquiry_response { - uint8_t fec; - uint8_t data[240]; -} __attribute__ ((packed)); - -#define BT_HCI_CMD_REFRESH_ENCRYPT_KEY 0x0c53 -struct bt_hci_cmd_refresh_encrypt_key { - uint16_t handle; -} __attribute__ ((packed)); - -#define BT_HCI_CMD_READ_SIMPLE_PAIRING_MODE 0x0c55 -struct bt_hci_rsp_read_simple_pairing_mode { - uint8_t status; - uint8_t mode; -} __attribute__ ((packed)); - -#define BT_HCI_CMD_WRITE_SIMPLE_PAIRING_MODE 0x0c56 -struct bt_hci_cmd_write_simple_pairing_mode { - uint8_t mode; -} __attribute__ ((packed)); - -#define BT_HCI_CMD_READ_INQUIRY_RESP_TX_POWER 0x0c58 -struct bt_hci_rsp_read_inquiry_resp_tx_power { - uint8_t status; - int8_t level; -} __attribute__ ((packed)); - -#define BT_HCI_CMD_ENHANCED_FLUSH 0x0c5f -struct bt_hci_cmd_enhanced_flush { - uint16_t handle; - uint8_t type; -} __attribute__ ((packed)); - -#define BT_HCI_CMD_SET_EVENT_MASK_PAGE2 0x0c63 -struct bt_hci_cmd_set_event_mask_page2 { - uint8_t mask[8]; -} __attribute__ ((packed)); - -#define BT_HCI_CMD_READ_LE_HOST_SUPPORTED 0x0c6c -struct bt_hci_rsp_read_le_host_supported { - uint8_t status; - uint8_t supported; - uint8_t simultaneous; -} __attribute__ ((packed)); - -#define BT_HCI_CMD_WRITE_LE_HOST_SUPPORTED 0x0c6d -struct bt_hci_cmd_write_le_host_supported { - uint8_t supported; - uint8_t simultaneous; -} __attribute__ ((packed)); - -#define BT_HCI_CMD_READ_LOCAL_VERSION 0x1001 -struct bt_hci_rsp_read_local_version { - uint8_t status; - uint8_t hci_ver; - uint16_t hci_rev; - uint8_t lmp_ver; - uint16_t manufacturer; - uint16_t lmp_subver; -} __attribute__ ((packed)); - -#define BT_HCI_CMD_READ_LOCAL_COMMANDS 0x1002 -struct bt_hci_rsp_read_local_commands { - uint8_t status; - uint8_t commands[64]; -} __attribute__ ((packed)); - -#define BT_HCI_CMD_READ_LOCAL_FEATURES 0x1003 -struct bt_hci_rsp_read_local_features { - uint8_t status; - uint8_t features[8]; -} __attribute__ ((packed)); - -#define BT_HCI_CMD_READ_LOCAL_EXT_FEATURES 0x1004 -struct bt_hci_cmd_read_local_ext_features { - uint8_t page; -} __attribute__ ((packed)); -struct bt_hci_rsp_read_local_ext_features { - uint8_t status; - uint8_t page; - uint8_t max_page; - uint8_t features[8]; -} __attribute__ ((packed)); - -#define BT_HCI_CMD_READ_BUFFER_SIZE 0x1005 -struct bt_hci_rsp_read_buffer_size { - uint8_t status; - uint16_t acl_mtu; - uint8_t sco_mtu; - uint16_t acl_max_pkt; - uint16_t sco_max_pkt; -} __attribute__ ((packed)); - -#define BT_HCI_CMD_READ_COUNTRY_CODE 0x1007 -struct bt_hci_rsp_read_country_code { - uint8_t status; - uint8_t code; -} __attribute__ ((packed)); - -#define BT_HCI_CMD_READ_BD_ADDR 0x1009 -struct bt_hci_rsp_read_bd_addr { - uint8_t status; - uint8_t bdaddr[6]; -} __attribute__ ((packed)); - -#define BT_HCI_CMD_READ_DATA_BLOCK_SIZE 0x100a -struct bt_hci_rsp_read_data_block_size { - uint8_t status; - uint16_t max_acl_len; - uint16_t block_len; - uint16_t num_blocks; -} __attribute__ ((packed)); - -#define BT_HCI_CMD_READ_ENCRYPT_KEY_SIZE 0x1408 -struct bt_hci_cmd_read_encrypt_key_size { - uint16_t handle; -} __attribute__ ((packed)); -struct bt_hci_rsp_read_encrypt_key_size { - uint8_t status; - uint16_t handle; - uint8_t key_size; -} __attribute__ ((packed)); - -#define BT_HCI_CMD_READ_LOCAL_AMP_INFO 0x1409 -struct bt_hci_rsp_read_local_amp_info { - uint8_t status; - uint8_t amp_status; - uint32_t total_bw; - uint32_t max_bw; - uint32_t min_latency; - uint32_t max_pdu; - uint8_t amp_type; - uint16_t pal_cap; - uint16_t max_assoc_len; - uint32_t max_flush_to; - uint32_t be_flush_to; -} __attribute__ ((packed)); - -#define BT_HCI_CMD_READ_LOCAL_AMP_ASSOC 0x140a -struct bt_hci_cmd_read_local_amp_assoc { - uint8_t phy_handle; - uint16_t len_so_far; - uint16_t max_assoc_len; -} __attribute__ ((packed)); -struct bt_hci_rsp_read_local_amp_assoc { - uint8_t status; - uint8_t phy_handle; - uint16_t remain_assoc_len; - uint8_t assoc_fragement[248]; -} __attribute__ ((packed)); - -#define BT_HCI_CMD_WRITE_REMOTE_AMP_ASSOC 0x140b -struct bt_hci_cmd_write_remote_amp_assoc { - uint8_t phy_handle; - uint16_t len_so_far; - uint16_t remain_assoc_len; - uint8_t assoc_fragement[248]; -} __attribute__ ((packed)); -struct bt_hci_rsp_write_remote_amp_assoc { - uint8_t status; - uint8_t phy_handle; -} __attribute__ ((packed)); - -#define BT_HCI_CMD_LE_SET_EVENT_MASK 0x2001 -struct bt_hci_cmd_le_set_event_mask { - uint8_t mask[8]; -} __attribute__ ((packed)); - -#define BT_HCI_CMD_LE_READ_BUFFER_SIZE 0x2002 -struct bt_hci_rsp_le_read_buffer_size { - uint8_t status; - uint16_t le_mtu; - uint8_t le_max_pkt; -} __attribute__ ((packed)); - -#define BT_HCI_CMD_LE_READ_LOCAL_FEATURES 0x2003 -struct bt_hci_rsp_le_read_local_features { - uint8_t status; - uint8_t features[8]; -} __attribute__ ((packed)); - -#define BT_HCI_CMD_LE_SET_RANDOM_ADDRESS 0x2005 -struct bt_hci_cmd_le_set_random_address { - uint8_t addr[6]; -} __attribute__ ((packed)); - -#define BT_HCI_CMD_LE_READ_ADV_TX_POWER 0x2007 -struct bt_hci_rsp_le_read_adv_tx_power { - uint8_t status; - int8_t level; -} __attribute__ ((packed)); - -#define BT_HCI_CMD_LE_SET_ADV_DATA 0x2008 -struct bt_hci_cmd_le_set_adv_data { - uint8_t len; - uint8_t data[31]; -} __attribute__ ((packed)); - -#define BT_HCI_CMD_LE_SCAN_RESPONSE_DATA 0x2009 -struct bt_hci_cmd_le_set_scan_response_data { - uint8_t len; - uint8_t data[31]; -} __attribute__ ((packed)); - -#define BT_HCI_CMD_LE_SET_ADV_ENABLE 0x200a -struct bt_hci_cmd_le_set_adv_enable { - uint8_t enable; -} __attribute__ ((packed)); - -#define BT_HCI_CMD_LE_SET_SCAN_PARAMETERS 0x200b -struct bt_hci_cmd_le_set_scan_parameters { - uint8_t type; - uint16_t interval; - uint16_t window; - uint8_t own_addr_type; - uint8_t filter_policy; -} __attribute__ ((packed)); - -#define BT_HCI_CMD_LE_SET_SCAN_ENABLE 0x200c -struct bt_hci_cmd_le_set_scan_enable { - uint8_t enable; - uint8_t filter_dup; -} __attribute__ ((packed)); - -#define BT_HCI_CMD_LE_CREATE_CONN 0x200d -struct bt_hci_cmd_le_create_conn { - uint16_t scan_interval; - uint16_t scan_window; - uint8_t filter_policy; - uint8_t peer_addr_type; - uint8_t peer_addr[6]; - uint8_t own_addr_type; - uint16_t min_interval; - uint16_t max_interval; - uint16_t latency; - uint16_t supv_timeout; - uint16_t min_length; - uint16_t max_length; -} __attribute__ ((packed)); - -#define BT_HCI_CMD_LE_CREATE_CONN_CANCEL 0x200e - -#define BT_HCI_CMD_LE_READ_WHITE_LIST_SIZE 0x200f -struct bt_hci_rsp_le_read_white_list_size { - uint8_t status; - uint8_t size; -} __attribute__ ((packed)); - -#define BT_HCI_CMD_LE_CLEAR_WHITE_LIST 0x2010 - -#define BT_HCI_CMD_LE_ADD_TO_WHITE_LIST 0x2011 -struct bt_hci_cmd_le_add_to_white_list { - uint8_t addr_type; - uint8_t addr[6]; -} __attribute__ ((packed)); - -#define BT_HCI_CMD_LE_REMOVE_FROM_WHITE_LIST 0x2012 -struct bt_hci_cmd_le_remove_from_white_list { - uint8_t addr_type; - uint8_t addr[6]; -} __attribute__ ((packed)); - -#define BT_HCI_CMD_LE_CONN_UPDATE 0x2013 -struct bt_hci_cmd_le_conn_update { - uint16_t handle; - uint16_t min_interval; - uint16_t max_interval; - uint16_t latency; - uint16_t supv_timeout; - uint16_t min_length; - uint16_t max_length; -} __attribute__ ((packed)); - -#define BT_HCI_CMD_LE_SET_HOST_CLASSIFICATION 0x2014 -struct bt_hci_cmd_le_set_host_classification { - uint8_t map[5]; -} __attribute__ ((packed)); - -#define BT_HCI_CMD_LE_READ_CHANNEL_MAP 0x2015 -struct bt_hci_cmd_le_read_channel_map { - uint16_t handle; -} __attribute__ ((packed)); -struct bt_hci_rsp_le_read_channel_map { - uint8_t status; - uint16_t handle; - uint8_t map[5]; -} __attribute__ ((packed)); - -#define BT_HCI_CMD_LE_READ_REMOTE_FEATURES 0x2016 -struct bt_hci_cmd_le_read_remote_features { - uint16_t handle; -} __attribute__ ((packed)); - -#define BT_HCI_CMD_LE_ENCRYPT 0x2017 -struct bt_hci_cmd_le_encrypt { - uint8_t key[16]; - uint8_t plaintext[16]; -} __attribute__ ((packed)); -struct bt_hci_rsp_le_encrypt { - uint8_t status; - uint8_t data[16]; -} __attribute__ ((packed)); - -#define BT_HCI_CMD_LE_RAND 0x2018 -struct bt_hci_rsp_le_rand { - uint8_t status; - uint8_t number[8]; -} __attribute__ ((packed)); - -#define BT_HCI_CMD_LE_START_ENCRYPT 0x2019 -struct bt_hci_cmd_le_start_encrypt { - uint16_t handle; - uint8_t number[8]; - uint16_t diversifier; - uint8_t ltk[16]; -} __attribute__ ((packed)); - -#define BT_HCI_CMD_LE_READ_SUPPORTED_STATES 0x201c -struct bt_hci_rsp_le_read_supported_states { - uint8_t status; - uint8_t states[8]; -} __attribute__ ((packed)); - -#define BT_HCI_EVT_INQUIRY_COMPLETE 0x01 -struct bt_hci_evt_inquiry_complete { - uint8_t status; -} __attribute__ ((packed)); - -#define BT_HCI_EVT_INQUIRY_RESULT 0x02 -struct bt_hci_evt_inquiry_result { - uint8_t num_resp; - uint8_t bdaddr[6]; - uint8_t pscan_rep_mode; - uint8_t pscan_period_mode; - uint8_t pscan_mode; - uint8_t dev_class[3]; - uint16_t clock_offset; -} __attribute__ ((packed)); - -#define BT_HCI_EVT_CONN_COMPLETE 0x03 -struct bt_hci_evt_conn_complete { - uint8_t status; - uint16_t handle; - uint8_t bdaddr[6]; - uint8_t link_type; - uint8_t encr_mode; -} __attribute__ ((packed)); - -#define BT_HCI_EVT_CONN_REQUEST 0x04 -struct bt_hci_evt_conn_request { - uint8_t bdaddr[6]; - uint8_t dev_class[3]; - uint8_t link_type; -} __attribute__ ((packed)); - -#define BT_HCI_EVT_DISCONNECT_COMPLETE 0x05 -struct bt_hci_evt_disconnect_complete { - uint8_t status; - uint16_t handle; - uint8_t reason; -} __attribute__ ((packed)); - -#define BT_HCI_EVT_AUTH_COMPLETE 0x06 -struct bt_hci_evt_auth_complete { - uint8_t status; - uint16_t handle; -} __attribute__ ((packed)); - -#define BT_HCI_EVT_REMOTE_NAME_REQUEST_COMPLETE 0x07 -struct bt_hci_evt_remote_name_request_complete { - uint8_t status; - uint8_t bdaddr[6]; - uint8_t name[248]; -} __attribute__ ((packed)); - -#define BT_HCI_EVT_ENCRYPT_CHANGE 0x08 -struct bt_hci_evt_encrypt_change { - uint8_t status; - uint16_t handle; - uint8_t encr_mode; -} __attribute__ ((packed)); - -#define BT_HCI_EVT_CHANGE_CONN_LINK_KEY_COMPLETE 0x09 -struct bt_hci_evt_change_conn_link_key_complete { - uint8_t status; - uint16_t handle; -} __attribute__ ((packed)); - -#define BT_HCI_EVT_MASTER_LINK_KEY_COMPLETE 0x0a -struct bt_hci_evt_master_link_key_complete { - uint8_t status; - uint16_t handle; - uint8_t key_flag; -} __attribute__ ((packed)); - -#define BT_HCI_EVT_REMOTE_FEATURES_COMPLETE 0x0b -struct bt_hci_evt_remote_features_complete { - uint8_t status; - uint16_t handle; - uint8_t features[8]; -} __attribute__ ((packed)); - -#define BT_HCI_EVT_REMOTE_VERSION_COMPLETE 0x0c -struct bt_hci_evt_remote_version_complete { - uint8_t status; - uint16_t handle; - uint8_t lmp_ver; - uint16_t manufacturer; - uint16_t lmp_subver; -} __attribute__ ((packed)); - -#define BT_HCI_EVT_QOS_SETUP_COMPLETE 0x0d -struct bt_hci_evt_qos_setup_complete { - uint8_t status; - uint16_t handle; - uint8_t flags; - uint8_t service_type; - uint32_t token_rate; - uint32_t peak_bandwidth; - uint32_t latency; - uint32_t delay_variation; -} __attribute__ ((packed)); - -#define BT_HCI_EVT_CMD_COMPLETE 0x0e -struct bt_hci_evt_cmd_complete { - uint8_t ncmd; - uint16_t opcode; -} __attribute__ ((packed)); - -#define BT_HCI_EVT_CMD_STATUS 0x0f -struct bt_hci_evt_cmd_status { - uint8_t status; - uint8_t ncmd; - uint16_t opcode; -} __attribute__ ((packed)); - -#define BT_HCI_EVT_HARDWARE_ERROR 0x10 -struct bt_hci_evt_hardware_error { - uint8_t code; -} __attribute__ ((packed)); - -#define BT_HCI_EVT_FLUSH_OCCURRED 0x11 -struct bt_hci_evt_flush_occurred { - uint16_t handle; -} __attribute__ ((packed)); - -#define BT_HCI_EVT_ROLE_CHANGE 0x12 -struct bt_hci_evt_role_change { - uint8_t status; - uint8_t bdaddr[6]; - uint8_t role; -} __attribute__ ((packed)); - -#define BT_HCI_EVT_NUM_COMPLETED_PACKETS 0x13 -struct bt_hci_evt_num_completed_packets { - uint8_t num_handles; - uint16_t handle; - uint16_t count; -} __attribute__ ((packed)); - -#define BT_HCI_EVT_MODE_CHANGE 0x14 -struct bt_hci_evt_mode_change { - uint8_t status; - uint16_t handle; - uint8_t mode; - uint16_t interval; -} __attribute__ ((packed)); - -#define BT_HCI_EVT_RETURN_LINK_KEYS 0x15 - -#define BT_HCI_EVT_PIN_CODE_REQUEST 0x16 -struct bt_hci_evt_pin_code_request { - uint8_t bdaddr[6]; -} __attribute__ ((packed)); - -#define BT_HCI_EVT_LINK_KEY_REQUEST 0x17 -struct bt_hci_evt_link_key_request { - uint8_t bdaddr[6]; -} __attribute__ ((packed)); - -#define BT_HCI_EVT_LINK_KEY_NOTIFY 0x18 -struct bt_hci_evt_link_key_notify { - uint8_t bdaddr[6]; - uint8_t link_key[16]; - uint8_t key_type; -} __attribute__ ((packed)); - -#define BT_HCI_EVT_LOOPBACK_COMMAND 0x19 - -#define BT_HCI_EVT_DATA_BUFFER_OVERFLOW 0x1a -struct bt_hci_evt_data_buffer_overflow { - uint8_t link_type; -} __attribute__ ((packed)); - -#define BT_HCI_EVT_MAX_SLOTS_CHANGE 0x1b -struct bt_hci_evt_max_slots_change { - uint16_t handle; - uint8_t max_slots; -} __attribute__ ((packed)); - -#define BT_HCI_EVT_CLOCK_OFFSET_COMPLETE 0x1c -struct bt_hci_evt_clock_offset_complete { - uint8_t status; - uint16_t handle; - uint16_t clock_offset; -} __attribute__ ((packed)); - -#define BT_HCI_EVT_CONN_PKT_TYPE_CHANGED 0x1d -struct bt_hci_evt_conn_pkt_type_changed { - uint8_t status; - uint16_t handle; - uint16_t pkt_type; -} __attribute__ ((packed)); - -#define BT_HCI_EVT_QOS_VIOLATION 0x1e -struct bt_hci_evt_qos_violation { - uint16_t handle; -} __attribute__ ((packed)); - -#define BT_HCI_EVT_PSCAN_MODE_CHANGE 0x1f -struct bt_hci_evt_pscan_mode_change { - uint8_t bdaddr[6]; - uint8_t pscan_mode; -} __attribute__ ((packed)); - -#define BT_HCI_EVT_PSCAN_REP_MODE_CHANGE 0x20 -struct bt_hci_evt_pscan_rep_mode_change { - uint8_t bdaddr[6]; - uint8_t pscan_rep_mode; -} __attribute__ ((packed)); - -#define BT_HCI_EVT_FLOW_SPEC_COMPLETE 0x21 -struct bt_hci_evt_flow_spec_complete { - uint8_t status; - uint16_t handle; - uint8_t flags; - uint8_t direction; - uint8_t service_type; - uint32_t token_rate; - uint32_t token_bucket_size; - uint32_t peak_bandwidth; - uint32_t access_latency; -} __attribute__ ((packed)); - -#define BT_HCI_EVT_INQUIRY_RESULT_WITH_RSSI 0x22 -struct bt_hci_evt_inquiry_result_with_rssi { - uint8_t num_resp; - uint8_t bdaddr[6]; - uint8_t pscan_rep_mode; - uint8_t pscan_period_mode; - uint8_t dev_class[3]; - uint16_t clock_offset; - int8_t rssi; -} __attribute__ ((packed)); - -#define BT_HCI_EVT_REMOTE_EXT_FEATURES_COMPLETE 0x23 -struct bt_hci_evt_remote_ext_features_complete { - uint8_t status; - uint16_t handle; - uint8_t page; - uint8_t max_page; - uint8_t features[8]; -} __attribute__ ((packed)); - -#define BT_HCI_EVT_SYNC_CONN_COMPLETE 0x2c -struct bt_hci_evt_sync_conn_complete { - uint8_t status; - uint16_t handle; - uint8_t bdaddr[6]; - uint8_t link_type; - uint8_t tx_interval; - uint8_t retrans_window; - uint16_t rx_pkt_len; - uint16_t tx_pkt_len; - uint8_t air_mode; -} __attribute__ ((packed)); - -#define BT_HCI_EVT_SYNC_CONN_CHANGED 0x2d -struct bt_hci_evt_sync_conn_changed { - uint8_t status; - uint16_t handle; - uint8_t tx_interval; - uint8_t retrans_window; - uint16_t rx_pkt_len; - uint16_t tx_pkt_len; -} __attribute__ ((packed)); - -#define BT_HCI_EVT_SNIFF_SUBRATING 0x2e -struct bt_hci_evt_sniff_subrating { - uint8_t status; - uint16_t handle; - uint16_t max_tx_latency; - uint16_t max_rx_latency; - uint16_t min_remote_timeout; - uint16_t min_local_timeout; -} __attribute__ ((packed)); - -#define BT_HCI_EVT_EXT_INQUIRY_RESULT 0x2f -struct bt_hci_evt_ext_inquiry_result { - uint8_t num_resp; - uint8_t bdaddr[6]; - uint8_t pscan_rep_mode; - uint8_t pscan_period_mode; - uint8_t dev_class[3]; - uint16_t clock_offset; - int8_t rssi; - uint8_t data[240]; -} __attribute__ ((packed)); - -#define BT_HCI_EVT_ENCRYPT_KEY_REFRESH_COMPLETE 0x30 -struct bt_hci_evt_encrypt_key_refresh_complete { - uint8_t status; - uint16_t handle; -} __attribute__ ((packed)); - -#define BT_HCI_EVT_IO_CAPABILITY_REQUEST 0x31 -struct bt_hci_evt_io_capability_request { - uint8_t bdaddr[6]; -} __attribute__ ((packed)); - -#define BT_HCI_EVT_IO_CAPABILITY_RESPONSE 0x32 -struct bt_hci_evt_io_capability_response { - uint8_t bdaddr[6]; - uint8_t capability; - uint8_t oob_data; - uint8_t authentication; -} __attribute__ ((packed)); - -#define BT_HCI_EVT_USER_CONFIRM_REQUEST 0x33 -struct bt_hci_evt_user_confirm_request { - uint8_t bdaddr[6]; - uint32_t passkey; -} __attribute__ ((packed)); - -#define BT_HCI_EVT_USER_PASSKEY_REQUEST 0x34 -struct bt_hci_evt_user_passkey_request { - uint8_t bdaddr[6]; -} __attribute__ ((packed)); - -#define BT_HCI_EVT_REMOTE_OOB_DATA_REQUEST 0x35 -struct bt_hci_evt_remote_oob_data_request { - uint8_t bdaddr[6]; -} __attribute__ ((packed)); - -#define BT_HCI_EVT_SIMPLE_PAIRING_COMPLETE 0x36 -struct bt_hci_evt_simple_pairing_complete { - uint8_t status; - uint8_t bdaddr[6]; -} __attribute__ ((packed)); - -#define BT_HCI_EVT_LINK_SUPV_TIMEOUT_CHANGED 0x38 -struct bt_hci_evt_link_supv_timeout_changed { - uint16_t handle; - uint16_t timeout; -} __attribute__ ((packed)); - -#define BT_HCI_EVT_ENHANCED_FLUSH_COMPLETE 0x39 -struct bt_hci_evt_enhanced_flush_complete { - uint16_t handle; -} __attribute__ ((packed)); - -#define BT_HCI_EVT_USER_PASSKEY_NOTIFY 0x3b -struct bt_hci_evt_user_passkey_notify { - uint8_t bdaddr[6]; - uint32_t passkey; -} __attribute__ ((packed)); - -#define BT_HCI_EVT_KEYPRESS_NOTIFY 0x3c -struct bt_hci_evt_keypress_notify { - uint8_t bdaddr[6]; - uint8_t type; -} __attribute__ ((packed)); - -#define BT_HCI_EVT_REMOTE_HOST_FEATURES_NOTIFY 0x3d -struct bt_hci_evt_remote_host_features_notify { - uint8_t bdaddr[6]; - uint8_t features[8]; -} __attribute__ ((packed)); - -#define BT_HCI_EVT_LE_META_EVENT 0x3e - -#define BT_HCI_EVT_PHY_LINK_COMPLETE 0x40 -struct bt_hci_evt_phy_link_complete { - uint8_t status; - uint8_t phy_handle; -} __attribute__ ((packed)); - -#define BT_HCI_EVT_CHANNEL_SELECTED 0x412 -struct bt_hci_evt_channel_selected { - uint8_t phy_handle; -} __attribute__ ((packed)); - -#define BT_HCI_EVT_DISCONN_PHY_LINK_COMPLETE 0x42 -struct bt_hci_evt_disconn_phy_link_complete { - uint8_t status; - uint8_t phy_handle; - uint8_t reason; -} __attribute__ ((packed)); - -#define BT_HCI_EVT_PHY_LINK_LOSS_EARLY_WARNING 0x43 -struct bt_hci_evt_phy_link_loss_early_warning { - uint8_t phy_handle; - uint8_t reason; -} __attribute__ ((packed)); - -#define BT_HCI_EVT_PHY_LINK_RECOVERY 0x44 -struct bt_hci_evt_phy_link_recovery { - uint8_t phy_handle; -} __attribute__ ((packed)); - -#define BT_HCI_EVT_LOGIC_LINK_COMPLETE 0x45 -struct bt_hci_evt_logic_link_complete { - uint8_t status; - uint16_t handle; - uint8_t phy_handle; - uint8_t flow_spec; -} __attribute__ ((packed)); - -#define BT_HCI_EVT_DISCONN_LOGIC_LINK_COMPLETE 0x46 -struct bt_hci_evt_disconn_logic_link_complete { - uint8_t status; - uint16_t handle; - uint8_t reason; -} __attribute__ ((packed)); - -#define BT_HCI_EVT_FLOW_SPEC_MODIFY_COMPLETE 0x47 -struct bt_hci_evt_flow_spec_modify_complete { - uint8_t status; - uint16_t handle; -} __attribute__ ((packed)); - -#define BT_HCI_EVT_NUM_COMPLETED_DATA_BLOCKS 0x48 -struct bt_hci_evt_num_completed_data_blocks { - uint16_t total_num_blocks; - uint8_t num_handles; - uint16_t handle; - uint16_t num_packets; - uint16_t num_blocks; -} __attribute__ ((packed)); - -#define BT_HCI_EVT_SHORT_RANGE_MODE_CHANGE 0x4c -struct bt_hci_evt_short_range_mode_change { - uint8_t status; - uint8_t phy_handle; - uint8_t mode; -} __attribute__ ((packed)); - -#define BT_HCI_EVT_AMP_STATUS_CHANGE 0x4d -struct bt_hci_evt_amp_status_change { - uint8_t status; - uint8_t amp_status; -} __attribute__ ((packed)); - -#define BT_HCI_EVT_LE_CONN_COMPLETE 0x01 -struct bt_hci_evt_le_conn_complete { - uint8_t status; - uint16_t handle; - uint8_t role; - uint8_t peer_addr_type; - uint8_t peer_addr[6]; - uint16_t interval; - uint16_t latency; - uint16_t supv_timeout; - uint8_t clock_accuracy; -} __attribute__ ((packed)); - -#define BT_HCI_EVT_LE_ADV_REPORT 0x02 -struct bt_hci_evt_le_adv_report { - uint8_t num_reports; - uint8_t event_type; - uint8_t addr_type; - uint8_t addr[6]; - uint8_t data_len; - uint8_t data[0]; -} __attribute__ ((packed)); - -#define BT_HCI_EVT_LE_CONN_UPDATE_COMPLETE 0x03 -struct bt_hci_evt_le_conn_update_complete { - uint8_t status; - uint16_t handle; - uint16_t interval; - uint16_t latency; - uint16_t supv_timeout; -} __attribute__ ((packed)); - -#define BT_HCI_EVT_LE_REMOTE_FEATURES_COMPLETE 0x04 -struct bt_hci_evt_le_remote_features_complete { - uint8_t status; - uint16_t handle; - uint8_t features[8]; -} __attribute__ ((packed)); - -#define BT_HCI_EVT_LE_LONG_TERM_KEY_REQUEST 0x05 -struct bt_hci_evt_le_long_term_key_request { - uint16_t handle; - uint8_t number[8]; - uint16_t diversifier; -} __attribute__ ((packed)); - -#define BT_HCI_ERR_SUCCESS 0x00 -#define BT_HCI_ERR_UNKNOWN_COMMAND 0x01 -#define BT_HCI_ERR_UNKNOWN_CONN_ID 0x02 -#define BT_HCI_ERR_HARDWARE_FAILURE 0x03 -#define BT_HCI_ERR_PAGE_TIMEOUT 0x04 -#define BT_HCI_ERR_INVALID_PARAMETERS 0x12 - -struct bt_l2cap_hdr { - uint16_t len; - uint16_t cid; -} __attribute__ ((packed)); - -struct bt_l2cap_hdr_sig { - uint8_t code; - uint8_t ident; - uint16_t len; -} __attribute__ ((packed)); - -#define BT_L2CAP_PDU_CMD_REJECT 0x01 -struct bt_l2cap_pdu_cmd_reject { - uint16_t reason; -} __attribute__ ((packed)); - -#define BT_L2CAP_PDU_CONN_REQ 0x02 -struct bt_l2cap_pdu_conn_req { - uint16_t psm; - uint16_t scid; -} __attribute__ ((packed)); - -#define BT_L2CAP_PDU_CONN_RSP 0x03 -struct bt_l2cap_pdu_conn_rsp { - uint16_t dcid; - uint16_t scid; - uint16_t result; - uint16_t status; -} __attribute__ ((packed)); - -#define BT_L2CAP_PDU_CONFIG_REQ 0x04 -struct bt_l2cap_pdu_config_req { - uint16_t dcid; - uint16_t flags; -} __attribute__ ((packed)); - -#define BT_L2CAP_PDU_CONFIG_RSP 0x05 -struct bt_l2cap_pdu_config_rsp { - uint16_t dcid; - uint16_t flags; - uint16_t result; -} __attribute__ ((packed)); - -#define BT_L2CAP_PDU_DISCONN_REQ 0x06 -struct bt_l2cap_pdu_disconn_req { - uint16_t dcid; - uint16_t scid; -} __attribute__ ((packed)); - -#define BT_L2CAP_PDU_DISCONN_RSP 0x07 -struct bt_l2cap_pdu_disconn_rsp { - uint16_t dcid; - uint16_t scid; -} __attribute__ ((packed)); - -#define BT_L2CAP_PDU_ECHO_REQ 0x08 - -#define BT_L2CAP_PDU_ECHO_RSP 0x09 - -#define BT_L2CAP_PDU_INFO_REQ 0x0a -struct bt_l2cap_pdu_info_req { - uint16_t type; -} __attribute__ ((packed)); - -#define BT_L2CAP_PDU_INFO_RSP 0x0b -struct bt_l2cap_pdu_info_rsp { - uint16_t type; - uint16_t result; -} __attribute__ ((packed)); - -#define BT_L2CAP_PDU_CREATE_CHAN_REQ 0x0c -struct bt_l2cap_pdu_create_chan_req { - uint16_t psm; - uint16_t scid; - uint8_t ctrlid; -} __attribute__ ((packed)); - -#define BT_L2CAP_PDU_CREATE_CHAN_RSP 0x0d -struct bt_l2cap_pdu_create_chan_rsp { - uint16_t dcid; - uint16_t scid; - uint16_t result; - uint16_t status; -} __attribute__ ((packed)); - -#define BT_L2CAP_PDU_MOVE_CHAN_REQ 0x0e -struct bt_l2cap_pdu_move_chan_req { - uint16_t icid; - uint8_t ctrlid; -} __attribute__ ((packed)); - -#define BT_L2CAP_PDU_MOVE_CHAN_RSP 0x0f -struct bt_l2cap_pdu_move_chan_rsp { - uint16_t icid; - uint16_t result; -} __attribute__ ((packed)); - -#define BT_L2CAP_PDU_MOVE_CHAN_CFM 0x10 -struct bt_l2cap_pdu_move_chan_cfm { - uint16_t icid; - uint16_t result; -} __attribute__ ((packed)); - -#define BT_L2CAP_PDU_MOVE_CHAN_CFM_RSP 0x11 -struct bt_l2cap_pdu_move_chan_cfm_rsp { - uint16_t icid; -} __attribute__ ((packed)); - -#define BT_L2CAP_PDU_CONN_PARAM_REQ 0x12 -struct bt_l2cap_pdu_conn_param_req { - uint16_t min_interval; - uint16_t max_interval; - uint16_t latency; - uint16_t timeout; -} __attribute__ ((packed)); - -#define BT_L2CAP_PDU_CONN_PARAM_RSP 0x13 -struct bt_l2cap_pdu_conn_param_rsp { - uint16_t result; -} __attribute__ ((packed)); - -struct bt_l2cap_hdr_amp { - uint8_t code; - uint8_t ident; - uint16_t len; -} __attribute__ ((packed)); - -#define BT_L2CAP_AMP_CMD_REJECT 0x01 -struct bt_l2cap_amp_cmd_reject { - uint16_t reason; -} __attribute__ ((packed)); - -#define BT_L2CAP_AMP_DISCOVER_REQ 0x02 -struct bt_l2cap_amp_discover_req { - uint16_t size; - uint16_t features; -} __attribute__ ((packed)); - -#define BT_L2CAP_AMP_DISCOVER_RSP 0x03 -struct bt_l2cap_amp_discover_rsp { - uint16_t size; - uint16_t features; -} __attribute__ ((packed)); - -#define BT_L2CAP_AMP_CHANGE_NOTIFY 0x04 - -#define BT_L2CAP_AMP_CHANGE_RESPONSE 0x05 - -#define BT_L2CAP_AMP_GET_INFO_REQ 0x06 -struct bt_l2cap_amp_get_info_req { - uint8_t ctrlid; -} __attribute__ ((packed)); - -#define BT_L2CAP_AMP_GET_INFO_RSP 0x07 -struct bt_l2cap_amp_get_info_rsp { - uint8_t ctrlid; - uint8_t status; - uint32_t total_bw; - uint32_t max_bw; - uint32_t min_latency; - uint16_t pal_cap; - uint16_t max_assoc_len; -} __attribute__ ((packed)); - -#define BT_L2CAP_AMP_GET_ASSOC_REQ 0x08 -struct bt_l2cap_amp_get_assoc_req { - uint8_t ctrlid; -} __attribute__ ((packed)); - -#define BT_L2CAP_AMP_GET_ASSOC_RSP 0x09 -struct bt_l2cap_amp_get_assoc_rsp { - uint8_t ctrlid; - uint8_t status; -} __attribute__ ((packed)); - -#define BT_L2CAP_AMP_CREATE_PHY_LINK_REQ 0x0a -struct bt_l2cap_amp_create_phy_link_req { - uint8_t local_ctrlid; - uint8_t remote_ctrlid; -} __attribute__ ((packed)); - -#define BT_L2CAP_AMP_CREATE_PHY_LINK_RSP 0x0b -struct bt_l2cap_amp_create_phy_link_rsp { - uint8_t local_ctrlid; - uint8_t remote_ctrlid; - uint8_t status; -} __attribute__ ((packed)); - -#define BT_L2CAP_AMP_DISCONN_PHY_LINK_REQ 0x0c -struct bt_l2cap_amp_disconn_phy_link_req { - uint8_t local_ctrlid; - uint8_t remote_ctrlid; -} __attribute__ ((packed)); - -#define BT_L2CAP_AMP_DISCONN_PHY_LINK_RSP 0x0d -struct bt_l2cap_amp_disconn_phy_link_rsp { - uint8_t local_ctrlid; - uint8_t remote_ctrlid; - uint8_t status; -} __attribute__ ((packed)); - -struct bt_l2cap_hdr_att { - uint8_t code; -} __attribute__ ((packed)); - -#define BT_L2CAP_ATT_ERROR_RESPONSE 0x01 -struct bt_l2cap_att_error_response { - uint8_t request; - uint16_t handle; - uint8_t error; -} __attribute__ ((packed)); - -#define BT_L2CAP_ATT_EXCHANGE_MTU_REQ 0x02 -struct bt_l2cap_att_exchange_mtu_req { - uint16_t mtu; -} __attribute__ ((packed)); - -#define BT_L2CAP_ATT_EXCHANGE_MTU_RSP 0x03 -struct bt_l2cap_att_exchange_mtu_rsp { - uint16_t mtu; -} __attribute__ ((packed)); - -#define BT_L2CAP_ATT_READ_TYPE_REQ 0x08 -struct bt_l2cap_att_read_type_req { - uint16_t start_handle; - uint16_t end_handle; -} __attribute__ ((packed)); - -#define BT_L2CAP_ATT_READ_TYPE_RSP 0x09 -struct bt_l2cap_att_read_type_rsp { - uint8_t length; -} __attribute__ ((packed)); - -#define BT_L2CAP_ATT_READ_REQ 0x0a -struct bt_l2cap_att_read_req { - uint16_t handle; -} __attribute__ ((packed)); - -#define BT_L2CAP_ATT_READ_RSP 0x0b - -#define BT_L2CAP_ATT_READ_GROUP_TYPE_REQ 0x10 -struct bt_l2cap_att_read_group_type_req { - uint16_t start_handle; - uint16_t end_handle; -} __attribute__ ((packed)); - -#define BT_L2CAP_ATT_READ_GROUP_TYPE_RSP 0x11 -struct bt_l2cap_att_read_group_type_rsp { - uint8_t length; -} __attribute__ ((packed)); - -#define BT_L2CAP_ATT_HANDLE_VALUE_NOTIFY 0x1b -struct bt_l2cap_att_handle_value_notify { - uint16_t handle; -} __attribute__ ((packed)); - -#define BT_L2CAP_ATT_HANDLE_VALUE_IND 0x1d -struct bt_l2cap_att_handle_value_ind { - uint16_t handle; -} __attribute__ ((packed)); - -#define BT_L2CAP_ATT_HANDLE_VALUE_CONF 0x1e - -struct bt_l2cap_hdr_smp { - uint8_t code; -} __attribute__ ((packed)); - -#define BT_L2CAP_SMP_PAIRING_REQUEST 0x01 -struct bt_l2cap_smp_pairing_request { - uint8_t io_capa; - uint8_t oob_data; - uint8_t auth_req; - uint8_t max_key_size; - uint8_t init_key_dist; - uint8_t resp_key_dist; -} __attribute__ ((packed)); - -#define BT_L2CAP_SMP_PAIRING_RESPONSE 0x02 -struct bt_l2cap_smp_pairing_response { - uint8_t io_capa; - uint8_t oob_data; - uint8_t auth_req; - uint8_t max_key_size; - uint8_t init_key_dist; - uint8_t resp_key_dist; -} __attribute__ ((packed)); - -#define BT_L2CAP_SMP_PAIRING_CONFIRM 0x03 -struct bt_l2cap_smp_pairing_confirm { - uint8_t value[16]; -} __attribute__ ((packed)); - -#define BT_L2CAP_SMP_PAIRING_RANDOM 0x04 -struct bt_l2cap_smp_pairing_random { - uint8_t value[16]; -} __attribute__ ((packed)); - -#define BT_L2CAP_SMP_PAIRING_FAILED 0x05 -struct bt_l2cap_smp_pairing_failed { - uint8_t reason; -} __attribute__ ((packed)); - -#define BT_L2CAP_SMP_ENCRYPT_INFO 0x06 -struct bt_l2cap_smp_encrypt_info { - uint8_t ltk[16]; -} __attribute__ ((packed)); - -#define BT_L2CAP_SMP_MASTER_IDENT 0x07 -struct bt_l2cap_smp_master_ident { - uint16_t ediv; - uint64_t rand; -} __attribute__ ((packed)); - -#define BT_L2CAP_SMP_IDENT_INFO 0x08 -struct bt_l2cap_smp_ident_info { - uint8_t irk[16]; -} __attribute__ ((packed)); - -#define BT_L2CAP_SMP_IDENT_ADDR_INFO 0x09 -struct bt_l2cap_smp_ident_addr_info { - uint8_t addr_type; - uint8_t addr[6]; -} __attribute__ ((packed)); - -#define BT_L2CAP_SMP_SIGNING_INFO 0x0a -struct bt_l2cap_smp_signing_info { - uint8_t csrk[16]; -} __attribute__ ((packed)); - -#define BT_L2CAP_SMP_SECURITY_REQUEST 0x0b -struct bt_l2cap_smp_security_request { - uint8_t auth_req; -} __attribute__ ((packed)); - -struct bt_sdp_hdr { - uint8_t pdu; - uint16_t tid; - uint16_t plen; -} __attribute__ ((packed)); diff --git a/GRIB_BLE_HUB/libs/ble_extend/monitor/btmon b/GRIB_BLE_HUB/libs/ble_extend/monitor/btmon deleted file mode 100644 index dc903ab..0000000 Binary files a/GRIB_BLE_HUB/libs/ble_extend/monitor/btmon and /dev/null differ diff --git a/GRIB_BLE_HUB/libs/ble_extend/monitor/btsnoop.c b/GRIB_BLE_HUB/libs/ble_extend/monitor/btsnoop.c deleted file mode 100644 index 04a6dff..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/monitor/btsnoop.c +++ /dev/null @@ -1,299 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2011-2012 Intel Corporation - * Copyright (C) 2004-2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include -#include -#include -#include -#include -#include -#include - -#include "packet.h" -#include "btsnoop.h" - -static inline uint64_t ntoh64(uint64_t n) -{ - uint64_t h; - uint64_t tmp = ntohl(n & 0x00000000ffffffff); - - h = ntohl(n >> 32); - h |= tmp << 32; - - return h; -} - -#define hton64(x) ntoh64(x) - -struct btsnoop_hdr { - uint8_t id[8]; /* Identification Pattern */ - uint32_t version; /* Version Number = 1 */ - uint32_t type; /* Datalink Type */ -} __attribute__ ((packed)); -#define BTSNOOP_HDR_SIZE (sizeof(struct btsnoop_hdr)) - -struct btsnoop_pkt { - uint32_t size; /* Original Length */ - uint32_t len; /* Included Length */ - uint32_t flags; /* Packet Flags */ - uint32_t drops; /* Cumulative Drops */ - uint64_t ts; /* Timestamp microseconds */ - uint8_t data[0]; /* Packet Data */ -} __attribute__ ((packed)); -#define BTSNOOP_PKT_SIZE (sizeof(struct btsnoop_pkt)) - -static const uint8_t btsnoop_id[] = { 0x62, 0x74, 0x73, 0x6e, - 0x6f, 0x6f, 0x70, 0x00 }; - -static const uint32_t btsnoop_version = 1; -static uint32_t btsnoop_type = 0; - -static int btsnoop_fd = -1; -static uint16_t btsnoop_index = 0xffff; - -void btsnoop_create(const char *path) -{ - struct btsnoop_hdr hdr; - ssize_t written; - - if (btsnoop_fd >= 0) - return; - - btsnoop_fd = open(path, O_WRONLY | O_CREAT | O_TRUNC | O_CLOEXEC, - S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH); - if (btsnoop_fd < 0) - return; - - btsnoop_type = 2001; - - memcpy(hdr.id, btsnoop_id, sizeof(btsnoop_id)); - hdr.version = htonl(btsnoop_version); - hdr.type = htonl(btsnoop_type); - - written = write(btsnoop_fd, &hdr, BTSNOOP_HDR_SIZE); - if (written < 0) { - close(btsnoop_fd); - btsnoop_fd = -1; - return; - } -} - -void btsnoop_write(struct timeval *tv, uint16_t index, uint16_t opcode, - const void *data, uint16_t size) -{ - struct btsnoop_pkt pkt; - uint32_t flags; - uint64_t ts; - ssize_t written; - - if (!tv) - return; - - if (btsnoop_fd < 0) - return; - - switch (btsnoop_type) { - case 1001: - if (btsnoop_index == 0xffff) - btsnoop_index = index; - - if (index != btsnoop_index) - return; - - flags = packet_get_flags(opcode); - if (flags == 0xff) - return; - break; - - case 2001: - flags = (index << 16) | opcode; - break; - - default: - return; - } - - ts = (tv->tv_sec - 946684800ll) * 1000000ll + tv->tv_usec; - - pkt.size = htonl(size); - pkt.len = htonl(size); - pkt.flags = htonl(flags); - pkt.drops = htonl(0); - pkt.ts = hton64(ts + 0x00E03AB44A676000ll); - - written = write(btsnoop_fd, &pkt, BTSNOOP_PKT_SIZE); - if (written < 0) - return; - - if (data && size > 0) { - written = write(btsnoop_fd, data, size); - if (written < 0) - return; - } -} - -int btsnoop_open(const char *path) -{ - struct btsnoop_hdr hdr; - ssize_t len; - - if (btsnoop_fd >= 0) { - fprintf(stderr, "Too many open files\n"); - return -1; - } - - btsnoop_fd = open(path, O_RDONLY | O_CLOEXEC); - if (btsnoop_fd < 0) { - perror("Failed to open file"); - return -1; - } - - len = read(btsnoop_fd, &hdr, BTSNOOP_HDR_SIZE); - if (len < 0 || len != BTSNOOP_HDR_SIZE) { - perror("Failed to read header"); - close(btsnoop_fd); - btsnoop_fd = -1; - return -1; - } - - if (memcmp(hdr.id, btsnoop_id, sizeof(btsnoop_id))) { - fprintf(stderr, "Invalid btsnoop header\n"); - close(btsnoop_fd); - btsnoop_fd = -1; - return -1; - } - - if (ntohl(hdr.version) != btsnoop_version) { - fprintf(stderr, "Invalid btsnoop version\n"); - close(btsnoop_fd); - btsnoop_fd = -1; - return -1; - } - - btsnoop_type = ntohl(hdr.type); - - switch (btsnoop_type) { - case 1001: - case 1002: - packet_del_filter(PACKET_FILTER_SHOW_INDEX); - break; - - case 2001: - packet_add_filter(PACKET_FILTER_SHOW_INDEX); - break; - } - - return 0; -} - -int btsnoop_read(struct timeval *tv, uint16_t *index, uint16_t *opcode, - void *data, uint16_t *size) -{ - struct btsnoop_pkt pkt; - uint32_t toread, flags; - uint64_t ts; - uint8_t pkt_type; - ssize_t len; - - if (btsnoop_fd < 0) - return -1; - - len = read(btsnoop_fd, &pkt, BTSNOOP_PKT_SIZE); - if (len == 0) - return -1; - - if (len < 0 || len != BTSNOOP_PKT_SIZE) { - perror("Failed to read packet"); - close(btsnoop_fd); - btsnoop_fd = -1; - return -1; - } - - toread = ntohl(pkt.size); - flags = ntohl(pkt.flags); - - ts = ntoh64(pkt.ts) - 0x00E03AB44A676000ll; - tv->tv_sec = (ts / 1000000ll) + 946684800ll; - tv->tv_usec = ts % 1000000ll; - - switch (btsnoop_type) { - case 1001: - *index = 0; - *opcode = packet_get_opcode(0xff, flags); - break; - - case 1002: - len = read(btsnoop_fd, &pkt_type, 1); - if (len < 0) { - perror("Failed to read packet type"); - close(btsnoop_fd); - btsnoop_fd = -1; - return -1; - } - toread--; - - *index = 0; - *opcode = packet_get_opcode(pkt_type, flags); - break; - - case 2001: - *index = flags >> 16; - *opcode = flags & 0xffff; - break; - - default: - fprintf(stderr, "Unknown packet type\n"); - close(btsnoop_fd); - btsnoop_fd = -1; - return -1; - } - - len = read(btsnoop_fd, data, toread); - if (len < 0) { - perror("Failed to read data"); - close(btsnoop_fd); - btsnoop_fd = -1; - return -1; - } - - *size = toread; - - return 0; -} - -void btsnoop_close(void) -{ - if (btsnoop_fd < 0) - return; - - close(btsnoop_fd); - btsnoop_fd = -1; - - btsnoop_index = 0xffff; -} diff --git a/GRIB_BLE_HUB/libs/ble_extend/monitor/btsnoop.h b/GRIB_BLE_HUB/libs/ble_extend/monitor/btsnoop.h deleted file mode 100644 index 044d1a2..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/monitor/btsnoop.h +++ /dev/null @@ -1,33 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2011-2012 Intel Corporation - * Copyright (C) 2004-2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#include - -void btsnoop_create(const char *path); -void btsnoop_write(struct timeval *tv, uint16_t index, uint16_t opcode, - const void *data, uint16_t size); -int btsnoop_open(const char *path); -int btsnoop_read(struct timeval *tv, uint16_t *index, uint16_t *opcode, - void *data, uint16_t *size); -void btsnoop_close(void); diff --git a/GRIB_BLE_HUB/libs/ble_extend/monitor/control.c b/GRIB_BLE_HUB/libs/ble_extend/monitor/control.c deleted file mode 100644 index d4085ef..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/monitor/control.c +++ /dev/null @@ -1,850 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2011-2012 Intel Corporation - * Copyright (C) 2004-2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "lib/bluetooth.h" -#include "lib/hci.h" -#include "lib/mgmt.h" - -#include "mainloop.h" -#include "display.h" -#include "packet.h" -#include "btsnoop.h" -#include "hcidump.h" -#include "control.h" - -static bool hcidump_fallback = false; - -#define MAX_PACKET_SIZE (1486 + 4) - -struct control_data { - uint16_t channel; - int fd; - unsigned char buf[MAX_PACKET_SIZE]; - uint16_t offset; -}; - -static void free_data(void *user_data) -{ - struct control_data *data = user_data; - - close(data->fd); - - free(data); -} - -static void mgmt_index_added(uint16_t len, const void *buf) -{ - printf("@ Index Added\n"); - - packet_hexdump(buf, len); -} - -static void mgmt_index_removed(uint16_t len, const void *buf) -{ - printf("@ Index Removed\n"); - - packet_hexdump(buf, len); -} - -static void mgmt_controller_error(uint16_t len, const void *buf) -{ - const struct mgmt_ev_controller_error *ev = buf; - - if (len < sizeof(*ev)) { - printf("* Malformed Controller Error control\n"); - return; - } - - printf("@ Controller Error: 0x%2.2x\n", ev->error_code); - - buf += sizeof(*ev); - len -= sizeof(*ev); - - packet_hexdump(buf, len); -} - -#ifndef NELEM -#define NELEM(x) (sizeof(x) / sizeof((x)[0])) -#endif - -static const char *settings_str[] = { - "powered", "connectable", "fast-connectable", "discoverable", - "pairable", "link-security", "ssp", "br/edr", "hs", "le" -}; - -static void mgmt_new_settings(uint16_t len, const void *buf) -{ - uint32_t settings; - unsigned int i; - - if (len < 4) { - printf("* Malformed New Settings control\n"); - return; - } - - settings = bt_get_le32(buf); - - printf("@ New Settings: 0x%4.4x\n", settings); - - printf("%-12c", ' '); - for (i = 0; i < NELEM(settings_str); i++) { - if (settings & (1 << i)) - printf("%s ", settings_str[i]); - } - printf("\n"); - - buf += 4; - len -= 4; - - packet_hexdump(buf, len); -} - -static void mgmt_class_of_dev_changed(uint16_t len, const void *buf) -{ - const struct mgmt_ev_class_of_dev_changed *ev = buf; - - if (len < sizeof(*ev)) { - printf("* Malformed Class of Device Changed control\n"); - return; - } - - printf("@ Class of Device Changed: 0x%2.2x%2.2x%2.2x\n", - ev->class_of_dev[2], - ev->class_of_dev[1], - ev->class_of_dev[0]); - - buf += sizeof(*ev); - len -= sizeof(*ev); - - packet_hexdump(buf, len); -} - -static void mgmt_local_name_changed(uint16_t len, const void *buf) -{ - const struct mgmt_ev_local_name_changed *ev = buf; - - if (len < sizeof(*ev)) { - printf("* Malformed Local Name Changed control\n"); - return; - } - - printf("@ Local Name Changed: %s (%s)\n", ev->name, ev->short_name); - - buf += sizeof(*ev); - len -= sizeof(*ev); - - packet_hexdump(buf, len); -} - -static void mgmt_new_link_key(uint16_t len, const void *buf) -{ - const struct mgmt_ev_new_link_key *ev = buf; - char str[18]; - - if (len < sizeof(*ev)) { - printf("* Malformed New Link Key control\n"); - return; - } - - ba2str(&ev->key.addr.bdaddr, str); - - printf("@ New Link Key: %s (%d)\n", str, ev->key.addr.type); - - buf += sizeof(*ev); - len -= sizeof(*ev); - - packet_hexdump(buf, len); -} - -static void mgmt_new_long_term_key(uint16_t len, const void *buf) -{ - const struct mgmt_ev_new_long_term_key *ev = buf; - char str[18]; - - if (len < sizeof(*ev)) { - printf("* Malformed New Long Term Key control\n"); - return; - } - - ba2str(&ev->key.addr.bdaddr, str); - - printf("@ New Long Term Key: %s (%d)\n", str, ev->key.addr.type); - - buf += sizeof(*ev); - len -= sizeof(*ev); - - packet_hexdump(buf, len); -} - -static void mgmt_device_connected(uint16_t len, const void *buf) -{ - const struct mgmt_ev_device_connected *ev = buf; - uint32_t flags; - char str[18]; - - if (len < sizeof(*ev)) { - printf("* Malformed Device Connected control\n"); - return; - } - - flags = btohl(ev->flags); - ba2str(&ev->addr.bdaddr, str); - - printf("@ Device Connected: %s (%d) flags 0x%4.4x\n", - str, ev->addr.type, flags); - - buf += sizeof(*ev); - len -= sizeof(*ev); - - packet_hexdump(buf, len); -} - -static void mgmt_device_disconnected(uint16_t len, const void *buf) -{ - const struct mgmt_ev_device_disconnected *ev = buf; - char str[18]; - uint8_t reason; - uint16_t consumed_len; - - if (len < sizeof(struct mgmt_addr_info)) { - printf("* Malformed Device Disconnected control\n"); - return; - } - - if (len < sizeof(*ev)) { - reason = MGMT_DEV_DISCONN_UNKNOWN; - consumed_len = len; - } else { - reason = ev->reason; - consumed_len = sizeof(*ev); - } - - ba2str(&ev->addr.bdaddr, str); - - printf("@ Device Disconnected: %s (%d) reason %u\n", str, ev->addr.type, - reason); - - buf += consumed_len; - len -= consumed_len; - - packet_hexdump(buf, len); -} - -static void mgmt_connect_failed(uint16_t len, const void *buf) -{ - const struct mgmt_ev_connect_failed *ev = buf; - char str[18]; - - if (len < sizeof(*ev)) { - printf("* Malformed Connect Failed control\n"); - return; - } - - ba2str(&ev->addr.bdaddr, str); - - printf("@ Connect Failed: %s (%d) status 0x%2.2x\n", - str, ev->addr.type, ev->status); - - buf += sizeof(*ev); - len -= sizeof(*ev); - - packet_hexdump(buf, len); -} - -static void mgmt_pin_code_request(uint16_t len, const void *buf) -{ - const struct mgmt_ev_pin_code_request *ev = buf; - char str[18]; - - if (len < sizeof(*ev)) { - printf("* Malformed PIN Code Request control\n"); - return; - } - - ba2str(&ev->addr.bdaddr, str); - - printf("@ PIN Code Request: %s (%d) secure 0x%2.2x\n", - str, ev->addr.type, ev->secure); - - buf += sizeof(*ev); - len -= sizeof(*ev); - - packet_hexdump(buf, len); -} - -static void mgmt_user_confirm_request(uint16_t len, const void *buf) -{ - const struct mgmt_ev_user_confirm_request *ev = buf; - char str[18]; - - if (len < sizeof(*ev)) { - printf("* Malformed User Confirmation Request control\n"); - return; - } - - ba2str(&ev->addr.bdaddr, str); - - printf("@ User Confirmation Request: %s (%d) hint %d value %d\n", - str, ev->addr.type, ev->confirm_hint, ev->value); - - buf += sizeof(*ev); - len -= sizeof(*ev); - - packet_hexdump(buf, len); -} - -static void mgmt_user_passkey_request(uint16_t len, const void *buf) -{ - const struct mgmt_ev_user_passkey_request *ev = buf; - char str[18]; - - if (len < sizeof(*ev)) { - printf("* Malformed User Passkey Request control\n"); - return; - } - - ba2str(&ev->addr.bdaddr, str); - - printf("@ PIN User Passkey Request: %s (%d)\n", str, ev->addr.type); - - buf += sizeof(*ev); - len -= sizeof(*ev); - - packet_hexdump(buf, len); -} - -static void mgmt_auth_failed(uint16_t len, const void *buf) -{ - const struct mgmt_ev_auth_failed *ev = buf; - char str[18]; - - if (len < sizeof(*ev)) { - printf("* Malformed Authentication Failed control\n"); - return; - } - - ba2str(&ev->addr.bdaddr, str); - - printf("@ Authentication Failed: %s (%d) status 0x%2.2x\n", - str, ev->addr.type, ev->status); - - buf += sizeof(*ev); - len -= sizeof(*ev); - - packet_hexdump(buf, len); -} - -static void mgmt_device_found(uint16_t len, const void *buf) -{ - const struct mgmt_ev_device_found *ev = buf; - uint32_t flags; - char str[18]; - - if (len < sizeof(*ev)) { - printf("* Malformed Device Found control\n"); - return; - } - - flags = btohl(ev->flags); - ba2str(&ev->addr.bdaddr, str); - - printf("@ Device Found: %s (%d) rssi %d flags 0x%4.4x\n", - str, ev->addr.type, ev->rssi, flags); - - buf += sizeof(*ev); - len -= sizeof(*ev); - - packet_hexdump(buf, len); -} - -static void mgmt_discovering(uint16_t len, const void *buf) -{ - const struct mgmt_ev_discovering *ev = buf; - - if (len < sizeof(*ev)) { - printf("* Malformed Discovering control\n"); - return; - } - - printf("@ Discovering: 0x%2.2x (%d)\n", ev->discovering, ev->type); - - buf += sizeof(*ev); - len -= sizeof(*ev); - - packet_hexdump(buf, len); -} - -static void mgmt_device_blocked(uint16_t len, const void *buf) -{ - const struct mgmt_ev_device_blocked *ev = buf; - char str[18]; - - if (len < sizeof(*ev)) { - printf("* Malformed Device Blocked control\n"); - return; - } - - ba2str(&ev->addr.bdaddr, str); - - printf("@ Device Blocked: %s (%d)\n", str, ev->addr.type); - - buf += sizeof(*ev); - len -= sizeof(*ev); - - packet_hexdump(buf, len); -} - -static void mgmt_device_unblocked(uint16_t len, const void *buf) -{ - const struct mgmt_ev_device_unblocked *ev = buf; - char str[18]; - - if (len < sizeof(*ev)) { - printf("* Malformed Device Unblocked control\n"); - return; - } - - ba2str(&ev->addr.bdaddr, str); - - printf("@ Device Unblocked: %s (%d)\n", str, ev->addr.type); - - buf += sizeof(*ev); - len -= sizeof(*ev); - - packet_hexdump(buf, len); -} - -static void mgmt_device_unpaired(uint16_t len, const void *buf) -{ - const struct mgmt_ev_device_unpaired *ev = buf; - char str[18]; - - if (len < sizeof(*ev)) { - printf("* Malformed Device Unpaired control\n"); - return; - } - - ba2str(&ev->addr.bdaddr, str); - - printf("@ Device Unpaired: %s (%d)\n", str, ev->addr.type); - - buf += sizeof(*ev); - len -= sizeof(*ev); - - packet_hexdump(buf, len); -} - -static void mgmt_passkey_notify(uint16_t len, const void *buf) -{ - const struct mgmt_ev_passkey_notify *ev = buf; - uint32_t passkey; - char str[18]; - - if (len < sizeof(*ev)) { - printf("* Malformed Passkey Notify control\n"); - return; - } - - ba2str(&ev->addr.bdaddr, str); - - passkey = btohl(ev->passkey); - - printf("@ Passkey Notify: %s (%d) passkey %06u entered %u\n", - str, ev->addr.type, passkey, ev->entered); - - buf += sizeof(*ev); - len -= sizeof(*ev); - - packet_hexdump(buf, len); -} - -void control_message(uint16_t opcode, const void *data, uint16_t size) -{ - switch (opcode) { - case MGMT_EV_INDEX_ADDED: - mgmt_index_added(size, data); - break; - case MGMT_EV_INDEX_REMOVED: - mgmt_index_removed(size, data); - break; - case MGMT_EV_CONTROLLER_ERROR: - mgmt_controller_error(size, data); - break; - case MGMT_EV_NEW_SETTINGS: - mgmt_new_settings(size, data); - break; - case MGMT_EV_CLASS_OF_DEV_CHANGED: - mgmt_class_of_dev_changed(size, data); - break; - case MGMT_EV_LOCAL_NAME_CHANGED: - mgmt_local_name_changed(size, data); - break; - case MGMT_EV_NEW_LINK_KEY: - mgmt_new_link_key(size, data); - break; - case MGMT_EV_NEW_LONG_TERM_KEY: - mgmt_new_long_term_key(size, data); - break; - case MGMT_EV_DEVICE_CONNECTED: - mgmt_device_connected(size, data); - break; - case MGMT_EV_DEVICE_DISCONNECTED: - mgmt_device_disconnected(size, data); - break; - case MGMT_EV_CONNECT_FAILED: - mgmt_connect_failed(size, data); - break; - case MGMT_EV_PIN_CODE_REQUEST: - mgmt_pin_code_request(size, data); - break; - case MGMT_EV_USER_CONFIRM_REQUEST: - mgmt_user_confirm_request(size, data); - break; - case MGMT_EV_USER_PASSKEY_REQUEST: - mgmt_user_passkey_request(size, data); - break; - case MGMT_EV_AUTH_FAILED: - mgmt_auth_failed(size, data); - break; - case MGMT_EV_DEVICE_FOUND: - mgmt_device_found(size, data); - break; - case MGMT_EV_DISCOVERING: - mgmt_discovering(size, data); - break; - case MGMT_EV_DEVICE_BLOCKED: - mgmt_device_blocked(size, data); - break; - case MGMT_EV_DEVICE_UNBLOCKED: - mgmt_device_unblocked(size, data); - break; - case MGMT_EV_DEVICE_UNPAIRED: - mgmt_device_unpaired(size, data); - break; - case MGMT_EV_PASSKEY_NOTIFY: - mgmt_passkey_notify(size, data); - break; - default: - printf("* Unknown control (code %d len %d)\n", opcode, size); - packet_hexdump(data, size); - break; - } -} - -static void data_callback(int fd, uint32_t events, void *user_data) -{ - struct control_data *data = user_data; - unsigned char control[32]; - struct mgmt_hdr hdr; - struct msghdr msg; - struct iovec iov[2]; - - if (events & (EPOLLERR | EPOLLHUP)) { - mainloop_remove_fd(data->fd); - return; - } - - iov[0].iov_base = &hdr; - iov[0].iov_len = MGMT_HDR_SIZE; - iov[1].iov_base = data->buf; - iov[1].iov_len = sizeof(data->buf); - - memset(&msg, 0, sizeof(msg)); - msg.msg_iov = iov; - msg.msg_iovlen = 2; - msg.msg_control = control; - msg.msg_controllen = sizeof(control); - - while (1) { - struct cmsghdr *cmsg; - struct timeval *tv = NULL; - struct timeval ctv; - uint16_t opcode, index, pktlen; - ssize_t len; - - len = recvmsg(data->fd, &msg, MSG_DONTWAIT); - if (len < 0) - break; - - if (len < MGMT_HDR_SIZE) - break; - - for (cmsg = CMSG_FIRSTHDR(&msg); cmsg != NULL; - cmsg = CMSG_NXTHDR(&msg, cmsg)) { - if (cmsg->cmsg_level != SOL_SOCKET) - continue; - - if (cmsg->cmsg_type == SCM_TIMESTAMP) { - memcpy(&ctv, CMSG_DATA(cmsg), sizeof(ctv)); - tv = &ctv; - } - } - - opcode = btohs(hdr.opcode); - index = btohs(hdr.index); - pktlen = btohs(hdr.len); - - switch (data->channel) { - case HCI_CHANNEL_CONTROL: - packet_control(tv, index, opcode, data->buf, pktlen); - break; - case HCI_CHANNEL_MONITOR: - packet_monitor(tv, index, opcode, data->buf, pktlen); - btsnoop_write(tv, index, opcode, data->buf, pktlen); - break; - } - } -} - -static int open_socket(uint16_t channel) -{ - struct sockaddr_hci addr; - int fd, opt = 1; - - fd = socket(AF_BLUETOOTH, SOCK_RAW | SOCK_CLOEXEC, BTPROTO_HCI); - if (fd < 0) { - perror("Failed to open channel"); - return -1; - } - - memset(&addr, 0, sizeof(addr)); - addr.hci_family = AF_BLUETOOTH; - addr.hci_dev = HCI_DEV_NONE; - addr.hci_channel = channel; - - if (bind(fd, (struct sockaddr *) &addr, sizeof(addr)) < 0) { - if (errno == EINVAL) { - /* Fallback to hcidump support */ - hcidump_fallback = true; - close(fd); - return -1; - } - perror("Failed to bind channel"); - close(fd); - return -1; - } - - if (setsockopt(fd, SOL_SOCKET, SO_TIMESTAMP, &opt, sizeof(opt)) < 0) { - perror("Failed to enable timestamps"); - close(fd); - return -1; - } - - return fd; -} - -static int open_channel(uint16_t channel) -{ - struct control_data *data; - - data = malloc(sizeof(*data)); - if (!data) - return -1; - - memset(data, 0, sizeof(*data)); - data->channel = channel; - - data->fd = open_socket(channel); - if (data->fd < 0) { - free(data); - return -1; - } - - mainloop_add_fd(data->fd, EPOLLIN, data_callback, data, free_data); - - return 0; -} - -static void client_callback(int fd, uint32_t events, void *user_data) -{ - struct control_data *data = user_data; - ssize_t len; - - if (events & (EPOLLERR | EPOLLHUP)) { - mainloop_remove_fd(data->fd); - return; - } - - len = recv(data->fd, data->buf + data->offset, - sizeof(data->buf) - data->offset, MSG_DONTWAIT); - if (len < 0) - return; - - data->offset += len; - - if (data->offset > MGMT_HDR_SIZE) { - struct mgmt_hdr *hdr = (struct mgmt_hdr *) data->buf; - uint16_t pktlen = btohs(hdr->len); - - if (data->offset > pktlen + MGMT_HDR_SIZE) { - uint16_t opcode = btohs(hdr->opcode); - uint16_t index = btohs(hdr->index); - - packet_monitor(NULL, index, opcode, - data->buf + MGMT_HDR_SIZE, pktlen); - - data->offset -= pktlen + MGMT_HDR_SIZE; - - if (data->offset > 0) - memmove(data->buf, data->buf + - MGMT_HDR_SIZE + pktlen, data->offset); - } - } -} - -static void server_accept_callback(int fd, uint32_t events, void *user_data) -{ - struct control_data *data; - struct sockaddr_un addr; - socklen_t len; - int nfd; - - if (events & (EPOLLERR | EPOLLHUP)) { - mainloop_remove_fd(fd); - return; - } - - memset(&addr, 0, sizeof(addr)); - len = sizeof(addr); - - nfd = accept(fd, (struct sockaddr *) &addr, &len); - if (nfd < 0) { - perror("Failed to accept client socket"); - return; - } - - printf("--- New monitor connection ---\n"); - - data = malloc(sizeof(*data)); - if (!data) { - close(nfd); - return; - } - - memset(data, 0, sizeof(*data)); - data->channel = HCI_CHANNEL_MONITOR; - data->fd = nfd; - - mainloop_add_fd(data->fd, EPOLLIN, client_callback, data, free_data); -} - -static int server_fd = -1; - -void control_server(const char *path) -{ - struct sockaddr_un addr; - int fd; - - if (server_fd >= 0) - return; - - unlink(path); - - fd = socket(PF_UNIX, SOCK_STREAM | SOCK_CLOEXEC, 0); - if (fd < 0) { - perror("Failed to open server socket"); - return; - } - - memset(&addr, 0, sizeof(addr)); - addr.sun_family = AF_UNIX; - strcpy(addr.sun_path, path); - - if (bind(fd, (struct sockaddr *) &addr, sizeof(addr)) < 0) { - perror("Failed to bind server socket"); - close(fd); - return; - } - - if (listen(fd, 5) < 0) { - perror("Failed to listen server socket"); - close(fd); - return; - } - - if (mainloop_add_fd(fd, EPOLLIN, server_accept_callback, - NULL, NULL) < 0) { - close(fd); - return; - } - - server_fd = fd; -} - -void control_reader(const char *path) -{ - unsigned char buf[MAX_PACKET_SIZE]; - uint16_t index, opcode, pktlen; - struct timeval tv; - - if (btsnoop_open(path) < 0) - return; - - open_pager(); - - while (1) { - if (btsnoop_read(&tv, &index, &opcode, buf, &pktlen) < 0) - break; - - packet_monitor(&tv, index, opcode, buf, pktlen); - } - - close_pager(); - - btsnoop_close(); -} - -int control_tracing(void) -{ - packet_add_filter(PACKET_FILTER_SHOW_INDEX); - - if (server_fd >= 0) - return 0; - - if (open_channel(HCI_CHANNEL_MONITOR) < 0) { - if (!hcidump_fallback) - return -1; - if (hcidump_tracing() < 0) - return -1; - return 0; - } - - open_channel(HCI_CHANNEL_CONTROL); - - return 0; -} diff --git a/GRIB_BLE_HUB/libs/ble_extend/monitor/control.h b/GRIB_BLE_HUB/libs/ble_extend/monitor/control.h deleted file mode 100644 index 2d7d625..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/monitor/control.h +++ /dev/null @@ -1,31 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2011-2012 Intel Corporation - * Copyright (C) 2004-2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#include - -void control_reader(const char *path); -void control_server(const char *path); -int control_tracing(void); - -void control_message(uint16_t opcode, const void *data, uint16_t size); diff --git a/GRIB_BLE_HUB/libs/ble_extend/monitor/display.c b/GRIB_BLE_HUB/libs/ble_extend/monitor/display.c deleted file mode 100644 index 7b6fc98..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/monitor/display.c +++ /dev/null @@ -1,170 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2011-2012 Intel Corporation - * Copyright (C) 2004-2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "display.h" - -static pid_t pager_pid = 0; - -bool use_color(void) -{ - static int cached_use_color = -1; - - if (__builtin_expect(!!(cached_use_color < 0), 0)) - cached_use_color = isatty(STDOUT_FILENO) > 0 || pager_pid > 0; - - return cached_use_color; -} - -int num_columns(void) -{ - static int cached_num_columns = -1; - - if (__builtin_expect(!!(cached_num_columns < 0), 0)) { - struct winsize ws; - - if (ioctl(STDOUT_FILENO, TIOCGWINSZ, &ws) < 0) - return -1; - - if (ws.ws_col > 0) - cached_num_columns = ws.ws_col; - } - - return cached_num_columns; -} - -static void close_pipe(int p[]) -{ - if (p[0] >= 0) - close(p[0]); - if (p[1] >= 0) - close(p[1]); -} - -static void wait_for_terminate(pid_t pid) -{ - siginfo_t dummy; - - for (;;) { - memset(&dummy, 0, sizeof(dummy)); - - if (waitid(P_PID, pid, &dummy, WEXITED) < 0) { - if (errno == EINTR) - continue; - return; - } - - return; - } -} - -void open_pager(void) -{ - const char *pager; - pid_t parent_pid; - int fd[2]; - - if (pager_pid > 0) - return; - - pager = getenv("PAGER"); - if (pager) { - if (!*pager || strcmp(pager, "cat") == 0) - return; - } - - if (!(isatty(STDOUT_FILENO) > 0)) - return; - - num_columns(); - - if (pipe(fd) < 0) { - perror("Failed to create pager pipe"); - return; - } - - parent_pid = getpid(); - - pager_pid = fork(); - if (pager_pid < 0) { - perror("Failed to fork pager"); - close_pipe(fd); - return; - } - - if (pager_pid == 0) { - dup2(fd[0], STDIN_FILENO); - close_pipe(fd); - - setenv("LESS", "FRSX", 0); - - if (prctl(PR_SET_PDEATHSIG, SIGTERM) < 0) - _exit(EXIT_FAILURE); - - if (getppid() != parent_pid) - _exit(EXIT_SUCCESS); - - if (pager) { - execlp(pager, pager, NULL); - execl("/bin/sh", "sh", "-c", pager, NULL); - } - - execlp("pager", "pager", NULL); - execlp("less", "less", NULL); - execlp("more", "more", NULL); - - _exit(EXIT_FAILURE); - } - - if (dup2(fd[1], STDOUT_FILENO) < 0) { - perror("Failed to duplicate pager pipe"); - return; - } - - close_pipe(fd); -} - -void close_pager(void) -{ - if (pager_pid <= 0) - return; - - fclose(stdout); - kill(pager_pid, SIGCONT); - wait_for_terminate(pager_pid); - pager_pid = 0; -} diff --git a/GRIB_BLE_HUB/libs/ble_extend/monitor/display.h b/GRIB_BLE_HUB/libs/ble_extend/monitor/display.h deleted file mode 100644 index 6139cc2..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/monitor/display.h +++ /dev/null @@ -1,60 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2011-2012 Intel Corporation - * Copyright (C) 2004-2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#include - -bool use_color(void); - -#define COLOR_OFF "\x1B[0m" -#define COLOR_BLACK "\x1B[0;30m" -#define COLOR_RED "\x1B[0;31m" -#define COLOR_GREEN "\x1B[0;32m" -#define COLOR_YELLOW "\x1B[0;33m" -#define COLOR_BLUE "\x1B[0;34m" -#define COLOR_MAGENTA "\x1B[0;35m" -#define COLOR_CYAN "\x1B[0;36m" -#define COLOR_WHITE "\x1B[0;37m" -#define COLOR_WHITE_BG "\x1B[0;47m" -#define COLOR_HIGHLIGHT "\x1B[1;39m" - -#define COLOR_ERROR "\x1B[1;31m" - -#define print_indent(indent, color1, prefix, title, color2, fmt, args...) \ -do { \ - printf("%*c%s%s%s%s" fmt "%s\n", (indent), ' ', \ - use_color() ? (color1) : "", prefix, title, \ - use_color() ? (color2) : "", ## args, \ - use_color() ? COLOR_OFF : ""); \ -} while (0) - -#define print_text(color, fmt, args...) \ - print_indent(8, COLOR_OFF, "", "", color, fmt, ## args) - -#define print_field(fmt, args...) \ - print_indent(8, COLOR_OFF, "", "", COLOR_OFF, fmt, ## args) - -int num_columns(void); - -void open_pager(void); -void close_pager(void); diff --git a/GRIB_BLE_HUB/libs/ble_extend/monitor/hcidump.c b/GRIB_BLE_HUB/libs/ble_extend/monitor/hcidump.c deleted file mode 100644 index 9881bb3..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/monitor/hcidump.c +++ /dev/null @@ -1,409 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2011-2012 Intel Corporation - * Copyright (C) 2004-2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include - -#include "mainloop.h" -#include "packet.h" -#include "hcidump.h" - -struct hcidump_data { - uint16_t index; - int fd; -}; - -static void free_data(void *user_data) -{ - struct hcidump_data *data = user_data; - - close(data->fd); - - free(data); -} - -static int open_hci_dev(uint16_t index) -{ - struct sockaddr_hci addr; - struct hci_filter flt; - int fd, opt = 1; - - fd = socket(AF_BLUETOOTH, SOCK_RAW | SOCK_CLOEXEC, BTPROTO_HCI); - if (fd < 0) { - perror("Failed to open channel"); - return -1; - } - - /* Setup filter */ - hci_filter_clear(&flt); - hci_filter_all_ptypes(&flt); - hci_filter_all_events(&flt); - - if (setsockopt(fd, SOL_HCI, HCI_FILTER, &flt, sizeof(flt)) < 0) { - perror("Failed to set HCI filter"); - close(fd); - return -1; - } - - if (setsockopt(fd, SOL_HCI, HCI_DATA_DIR, &opt, sizeof(opt)) < 0) { - perror("Failed to enable HCI data direction info"); - close(fd); - return -1; - } - - if (setsockopt(fd, SOL_HCI, HCI_TIME_STAMP, &opt, sizeof(opt)) < 0) { - perror("Failed to enable HCI time stamps"); - close(fd); - return -1; - } - - memset(&addr, 0, sizeof(addr)); - addr.hci_family = AF_BLUETOOTH; - addr.hci_dev = index; - addr.hci_channel = HCI_CHANNEL_RAW; - - if (bind(fd, (struct sockaddr *) &addr, sizeof(addr)) < 0) { - perror("Failed to bind channel"); - close(fd); - return -1; - } - - return fd; -} - -static void device_callback(int fd, uint32_t events, void *user_data) -{ - struct hcidump_data *data = user_data; - unsigned char buf[HCI_MAX_FRAME_SIZE * 2]; - unsigned char control[64]; - struct msghdr msg; - struct iovec iov; - - if (events & (EPOLLERR | EPOLLHUP)) { - mainloop_remove_fd(fd); - return; - } - - iov.iov_base = buf; - iov.iov_len = sizeof(buf); - - memset(&msg, 0, sizeof(msg)); - msg.msg_iov = &iov; - msg.msg_iovlen = 1; - msg.msg_control = control; - msg.msg_controllen = sizeof(control); - - while (1) { - struct cmsghdr *cmsg; - struct timeval *tv = NULL; - struct timeval ctv; - int dir = -1; - ssize_t len; - - len = recvmsg(fd, &msg, MSG_DONTWAIT); - if (len < 0) - break; - - for (cmsg = CMSG_FIRSTHDR(&msg); cmsg != NULL; - cmsg = CMSG_NXTHDR(&msg, cmsg)) { - if (cmsg->cmsg_level != SOL_HCI) - continue; - - switch (cmsg->cmsg_type) { - case HCI_DATA_DIR: - memcpy(&dir, CMSG_DATA(cmsg), sizeof(dir)); - break; - case HCI_CMSG_TSTAMP: - memcpy(&ctv, CMSG_DATA(cmsg), sizeof(ctv)); - tv = &ctv; - break; - } - } - - if (dir < 0 || len < 1) - continue; - - switch (buf[0]) { - case HCI_COMMAND_PKT: - packet_hci_command(tv, data->index, buf + 1, len - 1); - break; - case HCI_EVENT_PKT: - packet_hci_event(tv, data->index, buf + 1, len - 1); - break; - case HCI_ACLDATA_PKT: - packet_hci_acldata(tv, data->index, !!dir, - buf + 1, len - 1); - break; - case HCI_SCODATA_PKT: - packet_hci_scodata(tv, data->index, !!dir, - buf + 1, len - 1); - break; - } - } -} - -static void open_device(uint16_t index) -{ - struct hcidump_data *data; - - data = malloc(sizeof(*data)); - if (!data) - return; - - memset(data, 0, sizeof(*data)); - data->index = index; - - data->fd = open_hci_dev(index); - if (data->fd < 0) { - free(data); - return; - } - - mainloop_add_fd(data->fd, EPOLLIN, device_callback, data, free_data); -} - -static void device_info(int fd, uint16_t index, uint8_t *type, uint8_t *bus, - bdaddr_t *bdaddr, char *name) -{ - struct hci_dev_info di; - - memset(&di, 0, sizeof(di)); - di.dev_id = index; - - if (ioctl(fd, HCIGETDEVINFO, (void *) &di) < 0) { - perror("Failed to get device information"); - return; - } - - *type = di.type >> 4; - *bus = di.type & 0x0f; - - bacpy(bdaddr, &di.bdaddr); - memcpy(name, di.name, 8); -} - -static void device_list(int fd, int max_dev) -{ - struct hci_dev_list_req *dl; - struct hci_dev_req *dr; - int i; - - dl = malloc(max_dev * sizeof(*dr) + sizeof(*dl)); - if (!dl) { - perror("Failed to allocate device list memory"); - return; - } - - memset(dl, 0, max_dev * sizeof(*dr) + sizeof(*dl)); - dl->dev_num = max_dev; - - dr = dl->dev_req; - - if (ioctl(fd, HCIGETDEVLIST, (void *) dl) < 0) { - perror("Failed to get device list"); - goto done; - } - - for (i = 0; i < dl->dev_num; i++, dr++) { - struct timeval tmp_tv, *tv = NULL; - uint8_t type = 0xff, bus = 0xff; - char str[18], name[8] = ""; - bdaddr_t bdaddr; - - bacpy(&bdaddr, BDADDR_ANY); - - if (!gettimeofday(&tmp_tv, NULL)) - tv = &tmp_tv; - - device_info(fd, dr->dev_id, &type, &bus, &bdaddr, name); - ba2str(&bdaddr, str); - packet_new_index(tv, dr->dev_id, str, type, bus, name); - open_device(dr->dev_id); - } - -done: - free(dl); -} - -static int open_stack_internal(void) -{ - struct sockaddr_hci addr; - struct hci_filter flt; - int fd, opt = 1; - - fd = socket(AF_BLUETOOTH, SOCK_RAW | SOCK_CLOEXEC, BTPROTO_HCI); - if (fd < 0) { - perror("Failed to open channel"); - return -1; - } - - /* Setup filter */ - hci_filter_clear(&flt); - hci_filter_set_ptype(HCI_EVENT_PKT, &flt); - hci_filter_set_event(EVT_STACK_INTERNAL, &flt); - - if (setsockopt(fd, SOL_HCI, HCI_FILTER, &flt, sizeof(flt)) < 0) { - perror("Failed to set HCI filter"); - close(fd); - return -1; - } - - if (setsockopt(fd, SOL_HCI, HCI_TIME_STAMP, &opt, sizeof(opt)) < 0) { - perror("Failed to enable HCI time stamps"); - close(fd); - return -1; - } - - memset(&addr, 0, sizeof(addr)); - addr.hci_family = AF_BLUETOOTH; - addr.hci_dev = HCI_DEV_NONE; - addr.hci_channel = HCI_CHANNEL_RAW; - - if (bind(fd, (struct sockaddr *) &addr, sizeof(addr)) < 0) { - perror("Failed to bind channel"); - close(fd); - return -1; - } - - device_list(fd, HCI_MAX_DEV); - - return fd; -} - -static void stack_internal_callback(int fd, uint32_t events, void *user_data) -{ - unsigned char buf[HCI_MAX_FRAME_SIZE]; - unsigned char control[32]; - struct msghdr msg; - struct iovec iov; - struct cmsghdr *cmsg; - ssize_t len; - hci_event_hdr *eh; - evt_stack_internal *si; - evt_si_device *sd; - struct timeval *tv = NULL; - struct timeval ctv; - uint8_t type = 0xff, bus = 0xff; - char str[18], name[8] = ""; - bdaddr_t bdaddr; - - bacpy(&bdaddr, BDADDR_ANY); - - if (events & (EPOLLERR | EPOLLHUP)) { - mainloop_remove_fd(fd); - return; - } - - iov.iov_base = buf; - iov.iov_len = sizeof(buf); - - memset(&msg, 0, sizeof(msg)); - msg.msg_iov = &iov; - msg.msg_iovlen = 1; - msg.msg_control = control; - msg.msg_controllen = sizeof(control); - - len = recvmsg(fd, &msg, MSG_DONTWAIT); - if (len < 0) - return; - - for (cmsg = CMSG_FIRSTHDR(&msg); cmsg != NULL; - cmsg = CMSG_NXTHDR(&msg, cmsg)) { - if (cmsg->cmsg_level != SOL_HCI) - continue; - - switch (cmsg->cmsg_type) { - case HCI_CMSG_TSTAMP: - memcpy(&ctv, CMSG_DATA(cmsg), sizeof(ctv)); - tv = &ctv; - break; - } - } - - if (len < 1 + HCI_EVENT_HDR_SIZE + EVT_STACK_INTERNAL_SIZE + - EVT_SI_DEVICE_SIZE) - return; - - if (buf[0] != HCI_EVENT_PKT) - return; - - eh = (hci_event_hdr *) (buf + 1); - if (eh->evt != EVT_STACK_INTERNAL) - return; - - si = (evt_stack_internal *) (buf + 1 + HCI_EVENT_HDR_SIZE); - if (si->type != EVT_SI_DEVICE) - return; - - sd = (evt_si_device *) &si->data; - - switch (sd->event) { - case HCI_DEV_REG: - device_info(fd, sd->dev_id, &type, &bus, &bdaddr, name); - ba2str(&bdaddr, str); - packet_new_index(tv, sd->dev_id, str, type, bus, name); - open_device(sd->dev_id); - break; - case HCI_DEV_UNREG: - ba2str(&bdaddr, str); - packet_del_index(tv, sd->dev_id, str); - break; - } -} - -int hcidump_tracing(void) -{ - struct hcidump_data *data; - - data = malloc(sizeof(*data)); - if (!data) - return -1; - - memset(data, 0, sizeof(*data)); - data->index = HCI_DEV_NONE; - - data->fd = open_stack_internal(); - if (data->fd < 0) { - free(data); - return -1; - } - - mainloop_add_fd(data->fd, EPOLLIN, stack_internal_callback, - data, free_data); - - return 0; -} diff --git a/GRIB_BLE_HUB/libs/ble_extend/monitor/hcidump.h b/GRIB_BLE_HUB/libs/ble_extend/monitor/hcidump.h deleted file mode 100644 index 3801c98..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/monitor/hcidump.h +++ /dev/null @@ -1,25 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2011-2012 Intel Corporation - * Copyright (C) 2004-2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -int hcidump_tracing(void); diff --git a/GRIB_BLE_HUB/libs/ble_extend/monitor/l2cap.c b/GRIB_BLE_HUB/libs/ble_extend/monitor/l2cap.c deleted file mode 100644 index 2f2b7ae..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/monitor/l2cap.c +++ /dev/null @@ -1,2347 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2011-2012 Intel Corporation - * Copyright (C) 2004-2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include -#include - -#include - -#include "bt.h" -#include "packet.h" -#include "display.h" -#include "l2cap.h" -#include "uuid.h" -#include "sdp.h" - -#define MAX_CHAN 64 - -struct chan_data { - uint16_t index; - uint16_t handle; - uint16_t scid; - uint16_t dcid; - uint16_t psm; - uint8_t ctrlid; - uint8_t mode; -}; - -static struct chan_data chan_list[MAX_CHAN]; - -static void assign_scid(const struct l2cap_frame *frame, - uint16_t scid, uint16_t psm, uint8_t ctrlid) -{ - int i, n = -1; - - for (i = 0; i < MAX_CHAN; i++) { - if (n < 0 && chan_list[i].handle == 0x0000) - n = i; - - if (chan_list[i].index != frame->index) - continue; - - if (chan_list[i].handle != frame->handle) - continue; - - if (frame->in) { - if (chan_list[i].dcid == scid) { - n = i; - break; - } - } else { - if (chan_list[i].scid == scid) { - n = i; - break; - } - } - } - - if (n < 0) - return; - - memset(&chan_list[n], 0, sizeof(chan_list[n])); - chan_list[n].index = frame->index; - chan_list[n].handle = frame->handle; - - if (frame->in) - chan_list[n].dcid = scid; - else - chan_list[n].scid = scid; - - chan_list[n].psm = psm; - chan_list[n].ctrlid = ctrlid; - chan_list[n].mode = 0; -} - -static void release_scid(const struct l2cap_frame *frame, uint16_t scid) -{ - int i; - - for (i = 0; i < MAX_CHAN; i++) { - if (chan_list[i].index != frame->index) - continue; - - if (chan_list[i].handle != frame->handle) - continue; - - if (frame->in) { - if (chan_list[i].scid == scid) { - chan_list[i].handle = 0; - break; - } - } else { - if (chan_list[i].dcid == scid) { - chan_list[i].handle = 0; - break; - } - } - } -} - -static void assign_dcid(const struct l2cap_frame *frame, - uint16_t dcid, uint16_t scid) -{ - int i; - - for (i = 0; i < MAX_CHAN; i++) { - if (chan_list[i].index != frame->index) - continue; - - if (chan_list[i].handle != frame->handle) - continue; - - if (frame->in) { - if (chan_list[i].scid == scid) { - chan_list[i].dcid = dcid; - break; - } - } else { - if (chan_list[i].dcid == scid) { - chan_list[i].scid = dcid; - break; - } - } - } -} - -static void assign_mode(const struct l2cap_frame *frame, - uint8_t mode, uint16_t dcid) -{ - int i; - - for (i = 0; i < MAX_CHAN; i++) { - if (chan_list[i].index != frame->index) - continue; - - if (chan_list[i].handle != frame->handle) - continue; - - if (frame->in) { - if (chan_list[i].scid == dcid) { - chan_list[i].mode = mode; - break; - } - } else { - if (chan_list[i].dcid == dcid) { - chan_list[i].mode = mode; - break; - } - } - } -} - -static uint16_t get_psm(const struct l2cap_frame *frame) -{ - int i; - - for (i = 0; i < MAX_CHAN; i++) { - if (chan_list[i].index != frame->index && - chan_list[i].ctrlid == 0) - continue; - - if (chan_list[i].handle != frame->handle && - chan_list[i].ctrlid != frame->index) - continue; - - if (frame->in) { - if (chan_list[i].scid == frame->cid) - return chan_list[i].psm; - } else { - if (chan_list[i].dcid == frame->cid) - return chan_list[i].psm; - } - } - - return 0; -} - -static uint8_t get_mode(const struct l2cap_frame *frame) -{ - int i; - - for (i = 0; i < MAX_CHAN; i++) { - if (chan_list[i].index != frame->index && - chan_list[i].ctrlid == 0) - continue; - - if (chan_list[i].handle != frame->handle && - chan_list[i].ctrlid != frame->index) - continue; - - if (frame->in) { - if (chan_list[i].scid == frame->cid) - return chan_list[i].mode; - } else { - if (chan_list[i].dcid == frame->cid) - return chan_list[i].mode; - } - } - - return 0; -} - -static uint16_t get_chan(const struct l2cap_frame *frame) -{ - int i; - - for (i = 0; i < MAX_CHAN; i++) { - if (chan_list[i].index != frame->index && - chan_list[i].ctrlid == 0) - continue; - - if (chan_list[i].handle != frame->handle && - chan_list[i].ctrlid != frame->index) - continue; - - if (frame->in) { - if (chan_list[i].scid == frame->cid) - return i; - } else { - if (chan_list[i].dcid == frame->cid) - return i; - } - } - - return 0; -} - -#define MAX_INDEX 16 - -struct index_data { - void *frag_buf; - uint16_t frag_pos; - uint16_t frag_len; - uint16_t frag_cid; -}; - -static struct index_data index_list[MAX_INDEX]; - -static void clear_fragment_buffer(uint16_t index) -{ - free(index_list[index].frag_buf); - index_list[index].frag_buf = NULL; - index_list[index].frag_pos = 0; - index_list[index].frag_len = 0; -} - -static void print_psm(uint16_t psm) -{ - print_field("PSM: %d (0x%4.4x)", btohs(psm), btohs(psm)); -} - -static void print_cid(const char *type, uint16_t cid) -{ - print_field("%s CID: %d", type, btohs(cid)); -} - -static void print_reject_reason(uint16_t reason) -{ - const char *str; - - switch (btohs(reason)) { - case 0x0000: - str = "Command not understood"; - break; - case 0x0001: - str = "Signaling MTU exceeded"; - break; - case 0x0002: - str = "Invalid CID in request"; - break; - default: - str = "Reserved"; - break; - } - - print_field("Reason: %s (0x%4.4x)", str, btohs(reason)); -} - -static void print_conn_result(uint16_t result) -{ - const char *str; - - switch (btohs(result)) { - case 0x0000: - str = "Connection successful"; - break; - case 0x0001: - str = "Connection pending"; - break; - case 0x0002: - str = "Connection refused - PSM not supported"; - break; - case 0x0003: - str = "Connection refused - security block"; - break; - case 0x0004: - str = "Connection refused - no resources available"; - break; - default: - str = "Reserved"; - break; - } - - print_field("Result: %s (0x%4.4x)", str, btohs(result)); -} - -static void print_conn_status(uint16_t status) -{ - const char *str; - - switch (btohs(status)) { - case 0x0000: - str = "No further information available"; - break; - case 0x0001: - str = "Authentication pending"; - break; - case 0x0002: - str = "Authorization pending"; - break; - default: - str = "Reserved"; - break; - } - - print_field("Status: %s (0x%4.4x)", str, btohs(status)); -} - -static void print_config_flags(uint16_t flags) -{ - const char *str; - - if (btohs(flags) & 0x0001) - str = " (continuation)"; - else - str = ""; - - print_field("Flags: 0x%4.4x%s", btohs(flags), str); -} - -static void print_config_result(uint16_t result) -{ - const char *str; - - switch (btohs(result)) { - case 0x0000: - str = "Success"; - break; - case 0x0001: - str = "Failure - unacceptable parameters"; - break; - case 0x0002: - str = "Failure - rejected"; - break; - case 0x0003: - str = "Failure - unknown options"; - break; - case 0x0004: - str = "Pending"; - break; - case 0x0005: - str = "Failure - flow spec rejected"; - break; - default: - str = "Reserved"; - break; - } - - print_field("Result: %s (0x%4.4x)", str, btohs(result)); -} - -static struct { - uint8_t type; - uint8_t len; - const char *str; -} options_table[] = { - { 0x01, 2, "Maximum Transmission Unit" }, - { 0x02, 2, "Flush Timeout" }, - { 0x03, 22, "Quality of Service" }, - { 0x04, 9, "Retransmission and Flow Control" }, - { 0x05, 1, "Frame Check Sequence" }, - { 0x06, 16, "Extended Flow Specification" }, - { 0x07, 2, "Extended Window Size" }, - { } -}; - -static void print_config_options(const struct l2cap_frame *frame, - uint8_t offset, uint16_t dcid, bool response) -{ - const uint8_t *data = frame->data + offset; - uint16_t size = frame->size - offset; - uint16_t consumed = 0; - - while (consumed < size - 2) { - const char *str = "Unknown"; - uint8_t type = data[consumed]; - uint8_t len = data[consumed + 1]; - uint8_t expect_len = 0; - int i; - - for (i = 0; options_table[i].str; i++) { - if (options_table[i].type == type) { - str = options_table[i].str; - expect_len = options_table[i].len; - break; - } - } - - print_field("Option: %s (0x%2.2x)", str, type); - - if (expect_len == 0) { - consumed += 2; - break; - } - - if (len != expect_len) { - print_text(COLOR_ERROR, "wrong option size (%d != %d)", - len, expect_len); - consumed += 2; - break; - } - - switch (type) { - case 0x01: - print_field(" MTU: %d", - bt_get_le16(data + consumed + 2)); - break; - case 0x02: - print_field(" Flush timeout: %d", - bt_get_le16(data + consumed + 2)); - break; - case 0x03: - switch (data[consumed + 3]) { - case 0x00: - str = "No Traffic"; - break; - case 0x01: - str = "Best Effort"; - break; - case 0x02: - str = "Guaranteed"; - break; - default: - str = "Reserved"; - break; - } - print_field(" Flags: 0x%2.2x", data[consumed + 2]); - print_field(" Service type: %s (0x%2.2x)", - str, data[consumed + 3]); - print_field(" Token rate: 0x%8.8x", - bt_get_le32(data + consumed + 4)); - print_field(" Token bucket size: 0x%8.8x", - bt_get_le32(data + consumed + 8)); - print_field(" Peak bandwidth: 0x%8.8x", - bt_get_le32(data + consumed + 12)); - print_field(" Latency: 0x%8.8x", - bt_get_le32(data + consumed + 16)); - print_field(" Delay variation: 0x%8.8x", - bt_get_le32(data + consumed + 20)); - break; - case 0x04: - if (response) - assign_mode(frame, data[consumed + 2], dcid); - - switch (data[consumed + 2]) { - case 0x00: - str = "Basic"; - break; - case 0x01: - str = "Retransmission"; - break; - case 0x02: - str = "Flow control"; - break; - case 0x03: - str = "Enhanced retransmission"; - break; - case 0x04: - str = "Streaming"; - break; - default: - str = "Reserved"; - break; - } - print_field(" Mode: %s (0x%2.2x)", - str, data[consumed + 2]); - print_field(" TX window size: %d", data[consumed + 3]); - print_field(" Max transmit: %d", data[consumed + 4]); - print_field(" Retransmission timeout: %d", - bt_get_le16(data + consumed + 5)); - print_field(" Monitor timeout: %d", - bt_get_le16(data + consumed + 7)); - print_field(" Maximum PDU size: %d", - bt_get_le16(data + consumed + 9)); - break; - case 0x05: - switch (data[consumed + 2]) { - case 0x00: - str = "No FCS"; - break; - case 0x01: - str = "16-bit FCS"; - break; - default: - str = "Reserved"; - break; - } - print_field(" FCS: %s (0x%2.2d)", - str, data[consumed + 2]); - break; - case 0x06: - switch (data[consumed + 3]) { - case 0x00: - str = "No traffic"; - break; - case 0x01: - str = "Best effort"; - break; - case 0x02: - str = "Guaranteed"; - break; - default: - str = "Reserved"; - break; - } - print_field(" Identifier: 0x%2.2x", - data[consumed + 2]); - print_field(" Service type: %s (0x%2.2x)", - str, data[consumed + 3]); - print_field(" Maximum SDU size: 0x%4.4x", - bt_get_le16(data + consumed + 4)); - print_field(" SDU inter-arrival time: 0x%8.8x", - bt_get_le32(data + consumed + 6)); - print_field(" Access latency: 0x%8.8x", - bt_get_le32(data + consumed + 10)); - print_field(" Flush timeout: 0x%8.8x", - bt_get_le32(data + consumed + 14)); - break; - case 0x07: - print_field(" Max window size: %d", - bt_get_le16(data + consumed + 2)); - break; - default: - packet_hexdump(data + consumed + 2, len); - break; - } - - consumed += len + 2; - } - - if (consumed < size) - packet_hexdump(data + consumed, size - consumed); -} - -static void print_info_type(uint16_t type) -{ - const char *str; - - switch (btohs(type)) { - case 0x0001: - str = "Connectionless MTU"; - break; - case 0x0002: - str = "Extended features supported"; - break; - case 0x0003: - str = "Fixed channels supported"; - break; - default: - str = "Reserved"; - break; - } - - print_field("Type: %s (0x%4.4x)", str, btohs(type)); -} - -static void print_info_result(uint16_t result) -{ - const char *str; - - switch (btohs(result)) { - case 0x0000: - str = "Success"; - break; - case 0x0001: - str = "Not supported"; - break; - default: - str = "Reserved"; - break; - } - - print_field("Result: %s (0x%4.4x)", str, btohs(result)); -} - -static struct { - uint8_t bit; - const char *str; -} features_table[] = { - { 0, "Flow control mode" }, - { 1, "Retransmission mode" }, - { 2, "Bi-directional QoS" }, - { 3, "Enhanced Retransmission Mode" }, - { 4, "Streaming Mode" }, - { 5, "FCS Option" }, - { 6, "Extended Flow Specification for BR/EDR" }, - { 7, "Fixed Channels" }, - { 8, "Extended Window Size" }, - { 9, "Unicast Connectionless Data Reception" }, - { 31, "Reserved for feature mask extension" }, - { } -}; - -static void print_features(uint32_t features) -{ - uint32_t mask = features; - int i; - - print_field("Features: 0x%8.8x", features); - - for (i = 0; features_table[i].str; i++) { - if (features & (1 << features_table[i].bit)) { - print_field(" %s", features_table[i].str); - mask &= ~(1 << features_table[i].bit); - } - } - - if (mask) - print_field(" Unknown features (0x%8.8x)", mask); -} - -static struct { - uint16_t cid; - const char *str; -} channels_table[] = { - { 0x0000, "Null identifier" }, - { 0x0001, "L2CAP Signaling (BR/EDR)" }, - { 0x0002, "Connectionless reception" }, - { 0x0003, "AMP Manager Protocol" }, - { 0x0004, "Attribute Protocol" }, - { 0x0005, "L2CAP Signaling (LE)" }, - { 0x0006, "Security Manager" }, - { 0x003f, "AMP Test Manager" }, - { } -}; - -static void print_channels(uint64_t channels) -{ - uint64_t mask = channels; - int i; - - print_field("Channels: 0x%16.16" PRIx64, channels); - - for (i = 0; channels_table[i].str; i++) { - if (channels & (1 << channels_table[i].cid)) { - print_field(" %s", channels_table[i].str); - mask &= ~(1 << channels_table[i].cid); - } - } - - if (mask) - print_field(" Unknown channels (0x%8.8" PRIx64 ")", mask); -} - -static void print_move_result(uint16_t result) -{ - const char *str; - - switch (btohs(result)) { - case 0x0000: - str = "Move success"; - break; - case 0x0001: - str = "Move pending"; - break; - case 0x0002: - str = "Move refused - Controller ID not supported"; - break; - case 0x0003: - str = "Move refused - new Controller ID is same"; - break; - case 0x0004: - str = "Move refused - Configuration not supported"; - break; - case 0x0005: - str = "Move refused - Move Channel collision"; - break; - case 0x0006: - str = "Move refused - Channel not allowed to be moved"; - break; - default: - str = "Reserved"; - break; - } - - print_field("Result: %s (0x%4.4x)", str, btohs(result)); -} - -static void print_move_cfm_result(uint16_t result) -{ - const char *str; - - switch (btohs(result)) { - case 0x0000: - str = "Move success - both sides succeed"; - break; - case 0x0001: - str = "Move failure - one or both sides refuse"; - break; - default: - str = "Reserved"; - break; - } - - print_field("Result: %s (0x%4.4x)", str, btohs(result)); -} - -static void print_conn_param_result(uint16_t result) -{ - const char *str; - - switch (btohs(result)) { - case 0x0000: - str = "Connection Parameters accepted"; - break; - case 0x0001: - str = "Connection Parameters rejected"; - break; - default: - str = "Reserved"; - break; - } - - print_field("Result: %s (0x%4.4x)", str, btohs(result)); -} - -static void sig_cmd_reject(const struct l2cap_frame *frame) -{ - const struct bt_l2cap_pdu_cmd_reject *pdu = frame->data; - const void *data = frame->data; - uint16_t size = frame->size; - uint16_t scid, dcid; - - print_reject_reason(pdu->reason); - - data += sizeof(*pdu); - size -= sizeof(*pdu); - - switch (btohs(pdu->reason)) { - case 0x0000: - if (size != 0) { - print_text(COLOR_ERROR, "invalid data size"); - packet_hexdump(data, size); - break; - } - break; - case 0x0001: - if (size != 2) { - print_text(COLOR_ERROR, "invalid data size"); - packet_hexdump(data, size); - break; - } - print_field("MTU: %d", bt_get_le16(data)); - break; - case 0x0002: - if (size != 4) { - print_text(COLOR_ERROR, "invalid data size"); - packet_hexdump(data, size); - break; - } - dcid = bt_get_le16(data); - scid = bt_get_le16(data + 2); - print_cid("Destination", htobs(dcid)); - print_cid("Source", htobs(scid)); - break; - default: - packet_hexdump(data, size); - break; - } -} - -static void sig_conn_req(const struct l2cap_frame *frame) -{ - const struct bt_l2cap_pdu_conn_req *pdu = frame->data; - - print_psm(pdu->psm); - print_cid("Source", pdu->scid); - - assign_scid(frame, btohs(pdu->scid), btohs(pdu->psm), 0); -} - -static void sig_conn_rsp(const struct l2cap_frame *frame) -{ - const struct bt_l2cap_pdu_conn_rsp *pdu = frame->data; - - print_cid("Destination", pdu->dcid); - print_cid("Source", pdu->scid); - print_conn_result(pdu->result); - print_conn_status(pdu->status); - - assign_dcid(frame, btohs(pdu->dcid), btohs(pdu->scid)); -} - -static void sig_config_req(const struct l2cap_frame *frame) -{ - const struct bt_l2cap_pdu_config_rsp *pdu = frame->data; - - print_cid("Destination", pdu->dcid); - print_config_flags(pdu->flags); - print_config_options(frame, 4, btohs(pdu->dcid), false); -} - -static void sig_config_rsp(const struct l2cap_frame *frame) -{ - const struct bt_l2cap_pdu_config_rsp *pdu = frame->data; - - print_cid("Destination", pdu->dcid); - print_config_flags(pdu->flags); - print_config_result(pdu->result); - print_config_options(frame, 6, btohs(pdu->dcid), true); -} - -static void sig_disconn_req(const struct l2cap_frame *frame) -{ - const struct bt_l2cap_pdu_disconn_req *pdu = frame->data; - - print_cid("Destination", pdu->dcid); - print_cid("Source", pdu->scid); -} - -static void sig_disconn_rsp(const struct l2cap_frame *frame) -{ - const struct bt_l2cap_pdu_disconn_rsp *pdu = frame->data; - - print_cid("Destination", pdu->dcid); - print_cid("Source", pdu->scid); - - release_scid(frame, btohs(pdu->scid)); -} - -static void sig_echo_req(const struct l2cap_frame *frame) -{ - packet_hexdump(frame->data, frame->size); -} - -static void sig_echo_rsp(const struct l2cap_frame *frame) -{ - packet_hexdump(frame->data, frame->size); -} - -static void sig_info_req(const struct l2cap_frame *frame) -{ - const struct bt_l2cap_pdu_info_req *pdu = frame->data; - - print_info_type(pdu->type); -} - -static void sig_info_rsp(const struct l2cap_frame *frame) -{ - const struct bt_l2cap_pdu_info_rsp *pdu = frame->data; - const void *data = frame->data; - uint16_t size = frame->size; - - print_info_type(pdu->type); - print_info_result(pdu->result); - - data += sizeof(*pdu); - size -= sizeof(*pdu); - - if (btohs(pdu->result) != 0x0000) { - if (size > 0) { - print_text(COLOR_ERROR, "invalid data size"); - packet_hexdump(data, size); - } - return; - } - - switch (btohs(pdu->type)) { - case 0x0001: - if (size != 2) { - print_text(COLOR_ERROR, "invalid data size"); - packet_hexdump(data, size); - break; - } - print_field("MTU: %d", bt_get_le16(data)); - break; - case 0x0002: - if (size != 4) { - print_text(COLOR_ERROR, "invalid data size"); - packet_hexdump(data, size); - break; - } - print_features(bt_get_le32(data)); - break; - case 0x0003: - if (size != 8) { - print_text(COLOR_ERROR, "invalid data size"); - packet_hexdump(data, size); - break; - } - print_channels(bt_get_le64(data)); - break; - default: - packet_hexdump(data, size); - break; - } -} - -static void sig_create_chan_req(const struct l2cap_frame *frame) -{ - const struct bt_l2cap_pdu_create_chan_req *pdu = frame->data; - - print_psm(pdu->psm); - print_cid("Source", pdu->scid); - print_field("Controller ID: %d", pdu->ctrlid); - - assign_scid(frame, btohs(pdu->scid), btohs(pdu->psm), pdu->ctrlid); -} - -static void sig_create_chan_rsp(const struct l2cap_frame *frame) -{ - const struct bt_l2cap_pdu_create_chan_rsp *pdu = frame->data; - - print_cid("Destination", pdu->dcid); - print_cid("Source", pdu->scid); - print_conn_result(pdu->result); - print_conn_status(pdu->status); - - assign_dcid(frame, btohs(pdu->dcid), btohs(pdu->scid)); -} - -static void sig_move_chan_req(const struct l2cap_frame *frame) -{ - const struct bt_l2cap_pdu_move_chan_req *pdu = frame->data; - - print_cid("Initiator", pdu->icid); - print_field("Controller ID: %d", pdu->ctrlid); -} - -static void sig_move_chan_rsp(const struct l2cap_frame *frame) -{ - const struct bt_l2cap_pdu_move_chan_rsp *pdu = frame->data; - - print_cid("Initiator", pdu->icid); - print_move_result(pdu->result); -} - -static void sig_move_chan_cfm(const struct l2cap_frame *frame) -{ - const struct bt_l2cap_pdu_move_chan_cfm *pdu = frame->data; - - print_cid("Initiator", pdu->icid); - print_move_cfm_result(pdu->result); -} - -static void sig_move_chan_cfm_rsp(const struct l2cap_frame *frame) -{ - const struct bt_l2cap_pdu_move_chan_cfm_rsp *pdu = frame->data; - - print_cid("Initiator", pdu->icid); -} - -static void sig_conn_param_req(const struct l2cap_frame *frame) -{ - const struct bt_l2cap_pdu_conn_param_req *pdu = frame->data; - - print_field("Min interval: %d", btohs(pdu->min_interval)); - print_field("Max interval: %d", btohs(pdu->max_interval)); - print_field("Slave latency: %d", btohs(pdu->latency)); - print_field("Timeout multiplier: %d", btohs(pdu->timeout)); -} - -static void sig_conn_param_rsp(const struct l2cap_frame *frame) -{ - const struct bt_l2cap_pdu_conn_param_rsp *pdu = frame->data; - - print_conn_param_result(pdu->result); -} - -struct sig_opcode_data { - uint8_t opcode; - const char *str; - void (*func) (const struct l2cap_frame *frame); - uint16_t size; - bool fixed; -}; - -static const struct sig_opcode_data sig_opcode_table[] = { - { 0x01, "Command Reject", - sig_cmd_reject, 2, false }, - { 0x02, "Connection Request", - sig_conn_req, 4, true }, - { 0x03, "Connection Response", - sig_conn_rsp, 8, true }, - { 0x04, "Configure Request", - sig_config_req, 4, false }, - { 0x05, "Configure Response", - sig_config_rsp, 6, false }, - { 0x06, "Disconnection Request", - sig_disconn_req, 4, true }, - { 0x07, "Disconnection Response", - sig_disconn_rsp, 4, true }, - { 0x08, "Echo Request", - sig_echo_req, 0, false }, - { 0x09, "Echo Response", - sig_echo_rsp, 0, false }, - { 0x0a, "Information Request", - sig_info_req, 2, true }, - { 0x0b, "Information Response", - sig_info_rsp, 4, false }, - { 0x0c, "Create Channel Request", - sig_create_chan_req, 5, true }, - { 0x0d, "Create Channel Response", - sig_create_chan_rsp, 8, true }, - { 0x0e, "Move Channel Request", - sig_move_chan_req, 3, true }, - { 0x0f, "Move Channel Response", - sig_move_chan_rsp, 4, true }, - { 0x10, "Move Channel Confirmation", - sig_move_chan_cfm, 4, true }, - { 0x11, "Move Channel Confirmation Response", - sig_move_chan_cfm_rsp, 2, true }, - { 0x12, "Connection Parameter Update Request", - sig_conn_param_req, 8, true }, - { 0x13, "Connection Parameter Update Response", - sig_conn_param_rsp, 2, true }, - { }, -}; - -static void sig_packet(uint16_t index, bool in, uint16_t handle, - uint16_t cid, const void *data, uint16_t size) -{ - struct l2cap_frame frame; - - while (size > 0) { - uint16_t len; - const struct bt_l2cap_hdr_sig *hdr = data; - const struct sig_opcode_data *opcode_data = NULL; - const char *opcode_color, *opcode_str; - int i; - - if (size < 4) { - print_text(COLOR_ERROR, "malformed signal packet"); - packet_hexdump(data, size); - return; - } - - len = btohs(hdr->len); - - data += 4; - size -= 4; - - if (size < len) { - print_text(COLOR_ERROR, "invalid signal packet size"); - packet_hexdump(data, size); - return; - } - - for (i = 0; sig_opcode_table[i].str; i++) { - if (sig_opcode_table[i].opcode == hdr->code) { - opcode_data = &sig_opcode_table[i]; - break; - } - } - - if (opcode_data) { - if (opcode_data->func) { - if (in) - opcode_color = COLOR_MAGENTA; - else - opcode_color = COLOR_BLUE; - } else - opcode_color = COLOR_WHITE_BG; - opcode_str = opcode_data->str; - } else { - opcode_color = COLOR_WHITE_BG; - opcode_str = "Unknown"; - } - - print_indent(6, opcode_color, "L2CAP: ", opcode_str, - COLOR_OFF, - " (0x%2.2x) ident %d len %d", - hdr->code, hdr->ident, len); - - if (!opcode_data || !opcode_data->func) { - packet_hexdump(data, len); - data += len; - size -= len; - return; - } - - if (opcode_data->fixed) { - if (len != opcode_data->size) { - print_text(COLOR_ERROR, "invalid size"); - packet_hexdump(data, len); - data += len; - size -= len; - continue; - } - } else { - if (len < opcode_data->size) { - print_text(COLOR_ERROR, "too short packet"); - packet_hexdump(data, size); - data += len; - size -= len; - continue; - } - } - - l2cap_frame_init(&frame, index, in, handle, cid, data, len); - opcode_data->func(&frame); - - data += len; - size -= len; - } - - packet_hexdump(data, size); -} - -static void print_controller_list(const uint8_t *data, uint16_t size) -{ - while (size > 2) { - const char *str; - - print_field("Controller ID: %d", data[0]); - - switch (data[1]) { - case 0x00: - str = "Primary BR/EDR Controller"; - break; - case 0x01: - str = "802.11 AMP Controller"; - break; - default: - str = "Reserved"; - break; - } - - print_field(" Type: %s (0x%2.2x)", str, data[1]); - - switch (data[2]) { - case 0x00: - str = "Present"; - break; - case 0x01: - str = "Bluetooth only"; - break; - case 0x02: - str = "No capacity"; - break; - case 0x03: - str = "Low capacity"; - break; - case 0x04: - str = "Medium capacity"; - break; - case 0x05: - str = "High capacity"; - break; - case 0x06: - str = "Full capacity"; - break; - default: - str = "Reserved"; - break; - } - - print_field(" Status: %s (0x%2.2x)", str, data[2]); - - data += 3; - size -= 3; - } - - packet_hexdump(data, size); -} - -static void amp_cmd_reject(const struct l2cap_frame *frame) -{ - const struct bt_l2cap_amp_cmd_reject *pdu = frame->data; - - print_field("Reason: 0x%4.4x", btohs(pdu->reason)); -} - -static void amp_discover_req(const struct l2cap_frame *frame) -{ - const struct bt_l2cap_amp_discover_req *pdu = frame->data; - - print_field("MTU/MPS size: %d", btohs(pdu->size)); - print_field("Extended feature mask: 0x%4.4x", btohs(pdu->features)); -} - -static void amp_discover_rsp(const struct l2cap_frame *frame) -{ - const struct bt_l2cap_amp_discover_rsp *pdu = frame->data; - - print_field("MTU/MPS size: %d", btohs(pdu->size)); - print_field("Extended feature mask: 0x%4.4x", btohs(pdu->features)); - - print_controller_list(frame->data + 4, frame->size - 4); -} - -static void amp_change_notify(const struct l2cap_frame *frame) -{ - print_controller_list(frame->data, frame->size); -} - -static void amp_change_response(const struct l2cap_frame *frame) -{ -} - -static void amp_get_info_req(const struct l2cap_frame *frame) -{ - const struct bt_l2cap_amp_get_info_req *pdu = frame->data; - - print_field("Controller ID: %d", pdu->ctrlid); -} - -static void amp_get_info_rsp(const struct l2cap_frame *frame) -{ - const struct bt_l2cap_amp_get_info_rsp *pdu = frame->data; - const char *str; - - print_field("Controller ID: %d", pdu->ctrlid); - - switch (pdu->status) { - case 0x00: - str = "Success"; - break; - case 0x01: - str = "Invalid Controller ID"; - break; - default: - str = "Reserved"; - break; - } - - print_field("Status: %s (0x%2.2x)", str, pdu->status); - - print_field("Total bandwidth: %d kbps", btohl(pdu->total_bw)); - print_field("Max guaranteed bandwidth: %d kbps", btohl(pdu->max_bw)); - print_field("Min latency: %d", btohl(pdu->min_latency)); - - print_field("PAL capabilities: 0x%4.4x", btohs(pdu->pal_cap)); - print_field("Max ASSOC length: %d", btohs(pdu->max_assoc_len)); -} - -static void amp_get_assoc_req(const struct l2cap_frame *frame) -{ - const struct bt_l2cap_amp_get_assoc_req *pdu = frame->data; - - print_field("Controller ID: %d", pdu->ctrlid); -} - -static void amp_get_assoc_rsp(const struct l2cap_frame *frame) -{ - const struct bt_l2cap_amp_get_assoc_rsp *pdu = frame->data; - const char *str; - - print_field("Controller ID: %d", pdu->ctrlid); - - switch (pdu->status) { - case 0x00: - str = "Success"; - break; - case 0x01: - str = "Invalid Controller ID"; - break; - default: - str = "Reserved"; - break; - } - - print_field("Status: %s (0x%2.2x)", str, pdu->status); - - packet_hexdump(frame->data + 2, frame->size - 2); -} - -static void amp_create_phy_link_req(const struct l2cap_frame *frame) -{ - const struct bt_l2cap_amp_create_phy_link_req *pdu = frame->data; - - print_field("Local controller ID: %d", pdu->local_ctrlid); - print_field("Remote controller ID: %d", pdu->remote_ctrlid); - - packet_hexdump(frame->data + 2, frame->size - 2); -} - -static void amp_create_phy_link_rsp(const struct l2cap_frame *frame) -{ - const struct bt_l2cap_amp_create_phy_link_rsp *pdu = frame->data; - const char *str; - - print_field("Local controller ID: %d", pdu->local_ctrlid); - print_field("Remote controller ID: %d", pdu->remote_ctrlid); - - switch (pdu->status) { - case 0x00: - str = "Success"; - break; - case 0x01: - str = "Invalid Controller ID"; - break; - case 0x02: - str = "Failed - Unable to start link creation"; - break; - case 0x03: - str = "Failed - Collision occurred"; - break; - case 0x04: - str = "Failed - Disconnected link packet received"; - break; - case 0x05: - str = "Failed - Link already exists"; - break; - case 0x06: - str = "Failed - Security violation"; - break; - default: - str = "Reserved"; - break; - } - - print_field("Status: %s (0x%2.2x)", str, pdu->status); -} - -static void amp_disconn_phy_link_req(const struct l2cap_frame *frame) -{ - const struct bt_l2cap_amp_disconn_phy_link_req *pdu = frame->data; - - print_field("Local controller ID: %d", pdu->local_ctrlid); - print_field("Remote controller ID: %d", pdu->remote_ctrlid); -} - -static void amp_disconn_phy_link_rsp(const struct l2cap_frame *frame) -{ - const struct bt_l2cap_amp_disconn_phy_link_rsp *pdu = frame->data; - const char *str; - - print_field("Local controller ID: %d", pdu->local_ctrlid); - print_field("Remote controller ID: %d", pdu->remote_ctrlid); - - switch (pdu->status) { - case 0x00: - str = "Success"; - break; - case 0x01: - str = "Invalid Controller ID"; - break; - case 0x02: - str = "Failed - No link exists"; - break; - default: - str = "Reserved"; - break; - } - - print_field("Status: %s (0x%2.2x)", str, pdu->status); -} - -struct amp_opcode_data { - uint8_t opcode; - const char *str; - void (*func) (const struct l2cap_frame *frame); - uint16_t size; - bool fixed; -}; - -static const struct amp_opcode_data amp_opcode_table[] = { - { 0x01, "Command Reject", - amp_cmd_reject, 2, false }, - { 0x02, "Discover Request", - amp_discover_req, 4, true }, - { 0x03, "Discover Response", - amp_discover_rsp, 7, false }, - { 0x04, "Change Notify", - amp_change_notify, 3, false }, - { 0x05, "Change Response", - amp_change_response, 0, true }, - { 0x06, "Get Info Request", - amp_get_info_req, 1, true }, - { 0x07, "Get Info Response", - amp_get_info_rsp, 18, true }, - { 0x08, "Get Assoc Request", - amp_get_assoc_req, 1, true }, - { 0x09, "Get Assoc Response", - amp_get_assoc_rsp, 2, false }, - { 0x0a, "Create Physical Link Request", - amp_create_phy_link_req, 2, false }, - { 0x0b, "Create Physical Link Response", - amp_create_phy_link_rsp, 3, true }, - { 0x0c, "Disconnect Physical Link Request", - amp_disconn_phy_link_req, 2, true }, - { 0x0d, "Disconnect Physical Link Response", - amp_disconn_phy_link_rsp, 3, true }, - { }, -}; - -static void amp_packet(uint16_t index, bool in, uint16_t handle, - uint16_t cid, const void *data, uint16_t size) -{ - struct l2cap_frame frame; - uint16_t control, fcs, len; - uint8_t opcode, ident; - const struct amp_opcode_data *opcode_data = NULL; - const char *opcode_color, *opcode_str; - int i; - - if (size < 4) { - print_text(COLOR_ERROR, "malformed info frame packet"); - packet_hexdump(data, size); - return; - } - - control = bt_get_le16(data); - fcs = bt_get_le16(data + size - 2); - - print_indent(6, COLOR_CYAN, "Channel:", "", COLOR_OFF, - " %d dlen %d control 0x%4.4x fcs 0x%4.4x", - 3, size, control, fcs); - - if (control & 0x01) - return; - - if (size < 8) { - print_text(COLOR_ERROR, "malformed manager packet"); - packet_hexdump(data, size); - return; - } - - opcode = *((const uint8_t *) (data + 2)); - ident = *((const uint8_t *) (data + 3)); - len = bt_get_le16(data + 4); - - if (len != size - 8) { - print_text(COLOR_ERROR, "invalid manager packet size"); - packet_hexdump(data + 2, size - 4); - return; - } - - for (i = 0; amp_opcode_table[i].str; i++) { - if (amp_opcode_table[i].opcode == opcode) { - opcode_data = &_opcode_table[i]; - break; - } - } - - if (opcode_data) { - if (opcode_data->func) { - if (in) - opcode_color = COLOR_MAGENTA; - else - opcode_color = COLOR_BLUE; - } else - opcode_color = COLOR_WHITE_BG; - opcode_str = opcode_data->str; - } else { - opcode_color = COLOR_WHITE_BG; - opcode_str = "Unknown"; - } - - print_indent(6, opcode_color, "AMP: ", opcode_str, COLOR_OFF, - " (0x%2.2x) ident %d len %d", opcode, ident, len); - - if (!opcode_data || !opcode_data->func) { - packet_hexdump(data + 6, size - 8); - return; - } - - if (opcode_data->fixed) { - if (len != opcode_data->size) { - print_text(COLOR_ERROR, "invalid size"); - packet_hexdump(data + 6, size - 8); - return; - } - } else { - if (len < opcode_data->size) { - print_text(COLOR_ERROR, "too short packet"); - packet_hexdump(data + 6, size - 8); - return; - } - } - - l2cap_frame_init(&frame, index, in, handle, cid, data + 6, len); - opcode_data->func(&frame); -} - -static void print_hex_field(const char *label, const uint8_t *data, - uint8_t len) -{ - char str[len * 2 + 1]; - uint8_t i; - - for (i = 0; i < len; i++) - sprintf(str + (i * 2), "%2.2x", data[i]); - - print_field("%s: %s", label, str); -} - -static void print_uuid(const char *label, const void *data, uint16_t size) -{ - const char *str; - - switch (size) { - case 2: - str = uuid16_to_str(bt_get_le16(data)); - print_field("%s: %s (0x%4.4x)", label, str, bt_get_le16(data)); - break; - default: - packet_hexdump(data, size); - break; - } -} - -static void print_handle_range(const char *label, const void *data) -{ - print_field("%s: 0x%4.4x-0x%4.4x", label, - bt_get_le16(data), bt_get_le16(data + 2)); -} - -static void print_data_list(const char *label, uint8_t length, - const void *data, uint16_t size) -{ - while (size > length) { - print_handle_range("Handle", data); - print_hex_field(" Data", data + 4, length - 4); - - data += length; - size -= length; - } - - packet_hexdump(data, size); -} - -static const char *att_opcode_to_str(uint8_t opcode); - -static void att_error_response(const struct l2cap_frame *frame) -{ - const struct bt_l2cap_att_error_response *pdu = frame->data; - const char *str; - - switch (pdu->error) { - case 0x01: - str = "Invalid Handle"; - break; - case 0x02: - str = "Read Not Permitted"; - break; - case 0x03: - str = "Write Not Permitted"; - break; - case 0x04: - str = "Invalid PDU"; - break; - case 0x05: - str = "Insufficient Authentication"; - break; - case 0x06: - str = "Request Not Supported"; - break; - case 0x07: - str = "Invalid Offset"; - break; - case 0x08: - str = "Insufficient Authorization"; - break; - case 0x09: - str = "Prepare Queue Full"; - break; - case 0x0a: - str = "Attribute Not Found"; - break; - case 0x0b: - str = "Attribute Not Long"; - break; - case 0x0c: - str = "Insufficient Encryption Key Size"; - break; - case 0x0d: - str = "Invalid Attribute Value Length"; - break; - case 0x0e: - str = "Unlikely Error"; - break; - case 0x0f: - str = "Insufficient Encryption"; - break; - case 0x10: - str = "Unsupported Group Type"; - break; - case 0x11: - str = "Insufficient Resources"; - break; - default: - str = "Reserved"; - break; - } - - print_field("%s (0x%2.2x)", att_opcode_to_str(pdu->request), - pdu->request); - print_field("Handle: 0x%4.4x", btohs(pdu->handle)); - print_field("Error: %s (0x%2.2x)", str, pdu->error); -} - -static void att_exchange_mtu_req(const struct l2cap_frame *frame) -{ - const struct bt_l2cap_att_exchange_mtu_req *pdu = frame->data; - - print_field("Client RX MTU: %d", btohs(pdu->mtu)); -} - -static void att_exchange_mtu_rsp(const struct l2cap_frame *frame) -{ - const struct bt_l2cap_att_exchange_mtu_rsp *pdu = frame->data; - - print_field("Server RX MTU: %d", btohs(pdu->mtu)); -} - -static void att_read_type_req(const struct l2cap_frame *frame) -{ - print_handle_range("Handle range", frame->data); - print_uuid("Attribute group type", frame->data + 4, frame->size - 4); -} - -static void att_read_type_rsp(const struct l2cap_frame *frame) -{ - const struct bt_l2cap_att_read_group_type_rsp *pdu = frame->data; - - print_field("Attribute data length: %d", pdu->length); - print_data_list("Attribute data list", pdu->length, - frame->data + 1, frame->size - 1); -} - -static void att_read_req(const struct l2cap_frame *frame) -{ - const struct bt_l2cap_att_read_req *pdu = frame->data; - - print_field("Handle: 0x%4.4x", btohs(pdu->handle)); -} - -static void att_read_rsp(const struct l2cap_frame *frame) -{ - print_hex_field("Value", frame->data, frame->size); -} - -static void att_read_group_type_req(const struct l2cap_frame *frame) -{ - print_handle_range("Handle range", frame->data); - print_uuid("Attribute group type", frame->data + 4, frame->size - 4); -} - -static void att_read_group_type_rsp(const struct l2cap_frame *frame) -{ - const struct bt_l2cap_att_read_group_type_rsp *pdu = frame->data; - - print_field("Attribute data length: %d", pdu->length); - print_data_list("Attribute data list", pdu->length, - frame->data + 1, frame->size - 1); -} - -static void att_handle_value_notify(const struct l2cap_frame *frame) -{ - const struct bt_l2cap_att_handle_value_notify *pdu = frame->data; - - print_field("Handle: 0x%4.4x", btohs(pdu->handle)); - print_hex_field(" Data", frame->data + 2, frame->size - 2); -} - -static void att_handle_value_ind(const struct l2cap_frame *frame) -{ - const struct bt_l2cap_att_handle_value_ind *pdu = frame->data; - - print_field("Handle: 0x%4.4x", btohs(pdu->handle)); - print_hex_field(" Data", frame->data + 2, frame->size - 2); -} - -static void att_handle_value_conf(const struct l2cap_frame *frame) -{ -} - -struct att_opcode_data { - uint8_t opcode; - const char *str; - void (*func) (const struct l2cap_frame *frame); - uint8_t size; - bool fixed; -}; - -static const struct att_opcode_data att_opcode_table[] = { - { 0x01, "Error Response", - att_error_response, 4, true }, - { 0x02, "Exchange MTU Request", - att_exchange_mtu_req, 2, true }, - { 0x03, "Exchange MTU Response", - att_exchange_mtu_rsp, 2, true }, - { 0x04, "Find Information Request" }, - { 0x05, "Find Information Response" }, - { 0x06, "Find By Type Value Request" }, - { 0x07, "Find By Type Value Response" }, - { 0x08, "Read By Type Request", - att_read_type_req, 6, false }, - { 0x09, "Read By Type Response", - att_read_type_rsp, 4, false }, - { 0x0a, "Read Request", - att_read_req, 2, true }, - { 0x0b, "Read Response", - att_read_rsp, 0, false }, - { 0x0c, "Read Blob Request" }, - { 0x0d, "Read Blob Response" }, - { 0x0e, "Read Multiple Request" }, - { 0x0f, "Read Multiple Response" }, - { 0x10, "Read By Group Type Request", - att_read_group_type_req, 6, false }, - { 0x11, "Read By Group Type Response", - att_read_group_type_rsp, 4, false }, - { 0x12, "Write Request" }, - { 0x13, "Write Response" }, - { 0x16, "Prepare Write Request" }, - { 0x17, "Prepare Write Response" }, - { 0x18, "Execute Write Request" }, - { 0x19, "Execute Write Response" }, - { 0x1b, "Handle Value Notification", - att_handle_value_notify, 2, false }, - { 0x1d, "Handle Value Indication", - att_handle_value_ind, 2, false }, - { 0x1e, "Handle Value Confirmation", - att_handle_value_conf, 0, true }, - { 0x52, "Write Command" }, - { 0xd2, "Signed Write Command" }, - { } -}; - -static const char *att_opcode_to_str(uint8_t opcode) -{ - int i; - - for (i = 0; att_opcode_table[i].str; i++) { - if (att_opcode_table[i].opcode == opcode) - return att_opcode_table[i].str; - } - - return "Unknown"; -} - -static void att_packet(uint16_t index, bool in, uint16_t handle, - uint16_t cid, const void *data, uint16_t size) -{ - struct l2cap_frame frame; - uint8_t opcode = *((const uint8_t *) data); - const struct att_opcode_data *opcode_data = NULL; - const char *opcode_color, *opcode_str; - int i; - - if (size < 1) { - print_text(COLOR_ERROR, "malformed attribute packet"); - packet_hexdump(data, size); - return; - } - - for (i = 0; att_opcode_table[i].str; i++) { - if (att_opcode_table[i].opcode == opcode) { - opcode_data = &att_opcode_table[i]; - break; - } - } - - if (opcode_data) { - if (opcode_data->func) { - if (in) - opcode_color = COLOR_MAGENTA; - else - opcode_color = COLOR_BLUE; - } else - opcode_color = COLOR_WHITE_BG; - opcode_str = opcode_data->str; - } else { - opcode_color = COLOR_WHITE_BG; - opcode_str = "Unknown"; - } - - print_indent(6, opcode_color, "ATT: ", opcode_str, COLOR_OFF, - " (0x%2.2x) len %d", opcode, size - 1); - - if (!opcode_data || !opcode_data->func) { - packet_hexdump(data + 1, size - 1); - return; - } - - if (opcode_data->fixed) { - if (size - 1 != opcode_data->size) { - print_text(COLOR_ERROR, "invalid size"); - packet_hexdump(data + 1, size - 1); - return; - } - } else { - if (size - 1 < opcode_data->size) { - print_text(COLOR_ERROR, "too short packet"); - packet_hexdump(data + 1, size - 1); - return; - } - } - - l2cap_frame_init(&frame, index, in, handle, cid, data + 1, size - 1); - opcode_data->func(&frame); -} - -static void print_addr(const uint8_t *addr, uint8_t addr_type) -{ - const char *str; - - switch (addr_type) { - case 0x00: - print_field("Address: %2.2X:%2.2X:%2.2X:%2.2X:%2.2X:%2.2X", - addr[5], addr[4], addr[3], - addr[2], addr[1], addr[0]); - break; - case 0x01: - switch ((addr[5] & 0xc0) >> 6) { - case 0x00: - str = "Non-Resolvable"; - break; - case 0x01: - str = "Resolvable"; - break; - case 0x03: - str = "Static"; - break; - default: - str = "Reserved"; - break; - } - - print_field("Address: %2.2X:%2.2X:%2.2X:%2.2X:%2.2X:%2.2X" - " (%s)", addr[5], addr[4], addr[3], - addr[2], addr[1], addr[0], str); - break; - default: - print_field("Address: %2.2X-%2.2X-%2.2X-%2.2X-%2.2X-%2.2X", - addr[5], addr[4], addr[3], - addr[2], addr[1], addr[0]); - break; - } -} - -static void print_addr_type(uint8_t addr_type) -{ - const char *str; - - switch (addr_type) { - case 0x00: - str = "Public"; - break; - case 0x01: - str = "Random"; - break; - default: - str = "Reserved"; - break; - } - - print_field("Address type: %s (0x%2.2x)", str, addr_type); -} - -static void print_smp_io_capa(uint8_t io_capa) -{ - const char *str; - - switch (io_capa) { - case 0x00: - str = "DisplayOnly"; - break; - case 0x01: - str = "DisplayYesNo"; - break; - case 0x02: - str = "KeyboardOnly"; - break; - case 0x03: - str = "NoInputNoOutput"; - break; - case 0x04: - str = "KeyboardDisplay"; - break; - default: - str = "Reserved"; - break; - } - - print_field("IO capability: %s (0x%2.2x)", str, io_capa); -} - -static void print_smp_oob_data(uint8_t oob_data) -{ - const char *str; - - switch (oob_data) { - case 0x00: - str = "Authentication data not present"; - break; - case 0x01: - str = "Authentication data from remote device present"; - break; - default: - str = "Reserved"; - break; - } - - print_field("OOB data: %s (0x%2.2x)", str, oob_data); -} - -static void print_smp_auth_req(uint8_t auth_req) -{ - const char *str; - - switch (auth_req & 0x03) { - case 0x00: - str = "No bonding"; - break; - case 0x01: - str = "Bonding"; - break; - default: - str = "Reserved"; - break; - } - - print_field("Authentication requirement: %s - %s (0x%2.2x)", - str, (auth_req & 0x04) ? "MITM" : "No MITM", auth_req); -} - -static void smp_pairing_request(const struct l2cap_frame *frame) -{ - const struct bt_l2cap_smp_pairing_request *pdu = frame->data; - - print_smp_io_capa(pdu->io_capa); - print_smp_oob_data(pdu->oob_data); - print_smp_auth_req(pdu->auth_req); - - print_field("Max encryption key size: %d", pdu->max_key_size); - print_field("Initiator key distribution: 0x%2.2x", pdu->init_key_dist); - print_field("Responder key distribution: 0x%2.2x", pdu->resp_key_dist); -} - -static void smp_pairing_response(const struct l2cap_frame *frame) -{ - const struct bt_l2cap_smp_pairing_response *pdu = frame->data; - - print_smp_io_capa(pdu->io_capa); - print_smp_oob_data(pdu->oob_data); - print_smp_auth_req(pdu->auth_req); - - print_field("Max encryption key size: %d", pdu->max_key_size); - print_field("Initiator key distribution: 0x%2.2x", pdu->init_key_dist); - print_field("Responder key distribution: 0x%2.2x", pdu->resp_key_dist); -} - -static void smp_pairing_confirm(const struct l2cap_frame *frame) -{ - const struct bt_l2cap_smp_pairing_confirm *pdu = frame->data; - - print_hex_field("Confim value", pdu->value, 16); -} - -static void smp_pairing_random(const struct l2cap_frame *frame) -{ - const struct bt_l2cap_smp_pairing_random *pdu = frame->data; - - print_hex_field("Random value", pdu->value, 16); -} - -static void smp_pairing_failed(const struct l2cap_frame *frame) -{ - const struct bt_l2cap_smp_pairing_failed *pdu = frame->data; - const char *str; - - switch (pdu->reason) { - case 0x01: - str = "Passkey entry failed"; - break; - case 0x02: - str = "OOB not available"; - break; - case 0x03: - str = "Authentication requirements"; - break; - case 0x04: - str = "Confirm value failed"; - break; - case 0x05: - str = "Pairing not supported"; - break; - case 0x06: - str = "Encryption key size"; - break; - case 0x07: - str = "Command not supported"; - break; - case 0x08: - str = "Unspecified reason"; - break; - case 0x09: - str = "Repeated attempts"; - break; - case 0x0a: - str = "Invalid parameters"; - break; - default: - str = "Reserved"; - break; - } - - print_field("Reason: %s (0x%2.2x)", str, pdu->reason); -} - -static void smp_encrypt_info(const struct l2cap_frame *frame) -{ - const struct bt_l2cap_smp_encrypt_info *pdu = frame->data; - - print_hex_field("Long term key", pdu->ltk, 16); -} - -static void smp_master_ident(const struct l2cap_frame *frame) -{ - const struct bt_l2cap_smp_master_ident *pdu = frame->data; - - print_field("EDIV: 0x%4.4x", btohs(pdu->ediv)); - print_field("Rand: 0x%16.16" PRIx64, btohll(pdu->rand)); -} - -static void smp_ident_info(const struct l2cap_frame *frame) -{ - const struct bt_l2cap_smp_ident_info *pdu = frame->data; - - print_hex_field("Identity resolving key", pdu->irk, 16); -} - -static void smp_ident_addr_info(const struct l2cap_frame *frame) -{ - const struct bt_l2cap_smp_ident_addr_info *pdu = frame->data; - - print_addr_type(pdu->addr_type); - print_addr(pdu->addr, pdu->addr_type); -} - -static void smp_signing_info(const struct l2cap_frame *frame) -{ - const struct bt_l2cap_smp_signing_info *pdu = frame->data; - - print_hex_field("Signature key", pdu->csrk, 16); -} - -static void smp_security_request(const struct l2cap_frame *frame) -{ - const struct bt_l2cap_smp_security_request *pdu = frame->data; - - print_smp_auth_req(pdu->auth_req); -} - -struct smp_opcode_data { - uint8_t opcode; - const char *str; - void (*func) (const struct l2cap_frame *frame); - uint8_t size; - bool fixed; -}; - -static const struct smp_opcode_data smp_opcode_table[] = { - { 0x01, "Pairing Request", - smp_pairing_request, 6, true }, - { 0x02, "Pairing Response", - smp_pairing_response, 6, true }, - { 0x03, "Pairing Confirm", - smp_pairing_confirm, 16, true }, - { 0x04, "Pairing Random", - smp_pairing_random, 16, true }, - { 0x05, "Pairing Failed", - smp_pairing_failed, 1, true }, - { 0x06, "Encryption Information", - smp_encrypt_info, 16, true }, - { 0x07, "Master Identification", - smp_master_ident, 10, true }, - { 0x08, "Identity Information", - smp_ident_info, 16, true }, - { 0x09, "Identity Address Information", - smp_ident_addr_info, 7, true }, - { 0x0a, "Signing Information", - smp_signing_info, 16, true }, - { 0x0b, "Security Request", - smp_security_request, 1, true }, - { } -}; - -static void smp_packet(uint16_t index, bool in, uint16_t handle, - uint16_t cid, const void *data, uint16_t size) -{ - struct l2cap_frame frame; - uint8_t opcode = *((const uint8_t *) data); - const struct smp_opcode_data *opcode_data = NULL; - const char *opcode_color, *opcode_str; - int i; - - if (size < 1) { - print_text(COLOR_ERROR, "malformed attribute packet"); - packet_hexdump(data, size); - return; - } - - for (i = 0; smp_opcode_table[i].str; i++) { - if (smp_opcode_table[i].opcode == opcode) { - opcode_data = &smp_opcode_table[i]; - break; - } - } - - if (opcode_data) { - if (opcode_data->func) { - if (in) - opcode_color = COLOR_MAGENTA; - else - opcode_color = COLOR_BLUE; - } else - opcode_color = COLOR_WHITE_BG; - opcode_str = opcode_data->str; - } else { - opcode_color = COLOR_WHITE_BG; - opcode_str = "Unknown"; - } - - print_indent(6, opcode_color, "SMP: ", opcode_str, COLOR_OFF, - " (0x%2.2x) len %d", opcode, size - 1); - - if (!opcode_data || !opcode_data->func) { - packet_hexdump(data + 1, size - 1); - return; - } - - if (opcode_data->fixed) { - if (size - 1 != opcode_data->size) { - print_text(COLOR_ERROR, "invalid size"); - packet_hexdump(data + 1, size - 1); - return; - } - } else { - if (size - 1 < opcode_data->size) { - print_text(COLOR_ERROR, "too short packet"); - packet_hexdump(data + 1, size - 1); - return; - } - } - - l2cap_frame_init(&frame, index, in, handle, cid, data + 1, size - 1); - opcode_data->func(&frame); -} - -static void l2cap_frame(uint16_t index, bool in, uint16_t handle, - uint16_t cid, const void *data, uint16_t size) -{ - struct l2cap_frame frame; - uint16_t psm, chan; - uint8_t mode; - - switch (cid) { - case 0x0001: - case 0x0005: - sig_packet(index, in, handle, cid, data, size); - break; - case 0x0003: - amp_packet(index, in, handle, cid, data, size); - break; - case 0x0004: - att_packet(index, in, handle, cid, data, size); - break; - case 0x0006: - smp_packet(index, in, handle, cid, data, size); - break; - default: - l2cap_frame_init(&frame, index, in, handle, cid, data, size); - psm = get_psm(&frame); - mode = get_mode(&frame); - chan = get_chan(&frame); - - print_indent(6, COLOR_CYAN, "Channel:", "", COLOR_OFF, - " %d len %d [PSM %d mode %d] {chan %d}", - cid, size, psm, mode, chan); - - switch (psm) { - case 0x0001: - sdp_packet(&frame, chan); - break; - default: - packet_hexdump(data, size); - break; - } - break; - } -} - -void l2cap_packet(uint16_t index, bool in, uint16_t handle, uint8_t flags, - const void *data, uint16_t size) -{ - const struct bt_l2cap_hdr *hdr = data; - uint16_t len, cid; - - if (index > MAX_INDEX - 1) { - print_text(COLOR_ERROR, "controller index too large"); - packet_hexdump(data, size); - return; - } - - switch (flags) { - case 0x00: /* start of a non-automatically-flushable PDU */ - case 0x02: /* start of an automatically-flushable PDU */ - if (index_list[index].frag_len) { - print_text(COLOR_ERROR, "unexpected start frame"); - packet_hexdump(data, size); - clear_fragment_buffer(index); - return; - } - - if (size < sizeof(*hdr)) { - print_text(COLOR_ERROR, "frame too short"); - packet_hexdump(data, size); - return; - } - - len = btohs(hdr->len); - cid = btohs(hdr->cid); - - data += sizeof(*hdr); - size -= sizeof(*hdr); - - if (len == size) { - /* complete frame */ - l2cap_frame(index, in, handle, cid, data, len); - return; - } - - if (size > len) { - print_text(COLOR_ERROR, "frame too long"); - packet_hexdump(data, size); - return; - } - - index_list[index].frag_buf = malloc(len); - if (!index_list[index].frag_buf) { - print_text(COLOR_ERROR, "failed buffer allocation"); - packet_hexdump(data, size); - return; - } - - memcpy(index_list[index].frag_buf, data, size); - index_list[index].frag_pos = size; - index_list[index].frag_len = len - size; - index_list[index].frag_cid = cid; - break; - - case 0x01: /* continuing fragment */ - if (!index_list[index].frag_len) { - print_text(COLOR_ERROR, "unexpected continuation"); - packet_hexdump(data, size); - return; - } - - if (size > index_list[index].frag_len) { - print_text(COLOR_ERROR, "fragment too long"); - packet_hexdump(data, size); - clear_fragment_buffer(index); - return; - } - - memcpy(index_list[index].frag_buf + - index_list[index].frag_pos, data, size); - index_list[index].frag_pos += size; - index_list[index].frag_len -= size; - - if (!index_list[index].frag_len) { - /* complete frame */ - l2cap_frame(index, in, handle, - index_list[index].frag_cid, - index_list[index].frag_buf, - index_list[index].frag_pos); - clear_fragment_buffer(index); - return; - } - break; - - case 0x03: /* complete automatically-flushable PDU */ - if (index_list[index].frag_len) { - print_text(COLOR_ERROR, "unexpected complete frame"); - packet_hexdump(data, size); - clear_fragment_buffer(index); - return; - } - - if (size < sizeof(*hdr)) { - print_text(COLOR_ERROR, "frame too short"); - packet_hexdump(data, size); - return; - } - - len = btohs(hdr->len); - cid = btohs(hdr->cid); - - data += sizeof(*hdr); - size -= sizeof(*hdr); - - if (len != size) { - print_text(COLOR_ERROR, "wrong frame size"); - packet_hexdump(data, size); - return; - } - - /* complete frame */ - l2cap_frame(index, in, handle, cid, data, len); - break; - - default: - print_text(COLOR_ERROR, "invalid packet flags (0x%2.2x)", - flags); - packet_hexdump(data, size); - return; - } -} diff --git a/GRIB_BLE_HUB/libs/ble_extend/monitor/l2cap.h b/GRIB_BLE_HUB/libs/ble_extend/monitor/l2cap.h deleted file mode 100644 index 30bcb6a..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/monitor/l2cap.h +++ /dev/null @@ -1,61 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2011-2012 Intel Corporation - * Copyright (C) 2004-2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#include -#include - -struct l2cap_frame { - uint16_t index; - bool in; - uint16_t handle; - uint16_t cid; - const void *data; - uint16_t size; -}; - -static inline void l2cap_frame_init(struct l2cap_frame *frame, - uint16_t index, bool in, uint16_t handle, - uint16_t cid, const void *data, uint16_t size) -{ - frame->index = index; - frame->in = in; - frame->handle = handle; - frame->cid = cid; - frame->data = data; - frame->size = size; -} - -static inline void l2cap_frame_pull(struct l2cap_frame *frame, - const struct l2cap_frame *source, uint16_t len) -{ - frame->index = source->index; - frame->in = source->in; - frame->handle = source->handle; - frame->cid = source->cid; - frame->data = source->data + len; - frame->size = source->size - len; -} - -void l2cap_packet(uint16_t index, bool in, uint16_t handle, uint8_t flags, - const void *data, uint16_t size); diff --git a/GRIB_BLE_HUB/libs/ble_extend/monitor/main.c b/GRIB_BLE_HUB/libs/ble_extend/monitor/main.c deleted file mode 100644 index 27a5722..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/monitor/main.c +++ /dev/null @@ -1,155 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2011-2012 Intel Corporation - * Copyright (C) 2004-2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include -#include -#include -#include - -#include "mainloop.h" -#include "packet.h" -#include "control.h" -#include "btsnoop.h" - -static void signal_callback(int signum, void *user_data) -{ - switch (signum) { - case SIGINT: - case SIGTERM: - mainloop_quit(); - break; - } -} - -static void usage(void) -{ - printf("btmon - Bluetooth monitor\n" - "Usage:\n"); - printf("\tbtmon [options]\n"); - printf("options:\n" - "\t-r, --read Read traces in btsnoop format\n" - "\t-w, --write Save traces in btsnoop format\n" - "\t-s, --server Start monitor server socket\n" - "\t-i, --index Show only specified controller\n" - "\t-t, --time Show time instead of time offset\n" - "\t-T, --date Show time and date information\n" - "\t-h, --help Show help options\n"); -} - -static const struct option main_options[] = { - { "read", required_argument, NULL, 'r' }, - { "write", required_argument, NULL, 'w' }, - { "server", required_argument, NULL, 's' }, - { "index", required_argument, NULL, 'i' }, - { "time", no_argument, NULL, 't' }, - { "date", no_argument, NULL, 'T' }, - { "version", no_argument, NULL, 'v' }, - { "help", no_argument, NULL, 'h' }, - { } -}; - -int main(int argc, char *argv[]) -{ - unsigned long filter_mask = 0; - const char *str, *reader_path = NULL; - sigset_t mask; - - mainloop_init(); - - filter_mask |= PACKET_FILTER_SHOW_TIME_OFFSET; - - for (;;) { - int opt; - - opt = getopt_long(argc, argv, "r:w:s:i:tTvh", - main_options, NULL); - if (opt < 0) - break; - - switch (opt) { - case 'r': - reader_path = optarg; - break; - case 'w': - btsnoop_create(optarg); - break; - case 's': - control_server(optarg); - break; - case 'i': - if (strlen(optarg) > 3 && !strncmp(optarg, "hci", 3)) - str = optarg + 3; - else - str = optarg; - if (!isdigit(*str)) { - usage(); - return EXIT_FAILURE; - } - packet_select_index(atoi(str)); - break; - case 't': - filter_mask &= ~PACKET_FILTER_SHOW_TIME_OFFSET; - filter_mask |= PACKET_FILTER_SHOW_TIME; - break; - case 'T': - filter_mask &= ~PACKET_FILTER_SHOW_TIME_OFFSET; - filter_mask |= PACKET_FILTER_SHOW_TIME; - filter_mask |= PACKET_FILTER_SHOW_DATE; - break; - case 'v': - printf("%s\n", VERSION); - return EXIT_SUCCESS; - case 'h': - usage(); - return EXIT_SUCCESS; - default: - return EXIT_FAILURE; - } - } - - sigemptyset(&mask); - sigaddset(&mask, SIGINT); - sigaddset(&mask, SIGTERM); - - mainloop_set_signal(&mask, signal_callback, NULL, NULL); - - printf("Bluetooth monitor ver %s\n", VERSION); - - packet_set_filter(filter_mask); - - if (reader_path) { - control_reader(reader_path); - return EXIT_SUCCESS; - } - - if (control_tracing() < 0) - return EXIT_FAILURE; - - return mainloop_run(); -} diff --git a/GRIB_BLE_HUB/libs/ble_extend/monitor/mainloop.c b/GRIB_BLE_HUB/libs/ble_extend/monitor/mainloop.c deleted file mode 100644 index 1cc787e..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/monitor/mainloop.c +++ /dev/null @@ -1,389 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2011-2012 Intel Corporation - * Copyright (C) 2002-2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "mainloop.h" - -#define MAX_EPOLL_EVENTS 10 - -static int epoll_fd; -static int epoll_terminate; - -struct mainloop_data { - int fd; - uint32_t events; - mainloop_event_func callback; - mainloop_destroy_func destroy; - void *user_data; -}; - -#define MAX_MAINLOOP_ENTRIES 128 - -static struct mainloop_data *mainloop_list[MAX_MAINLOOP_ENTRIES]; - -struct timeout_data { - int fd; - mainloop_timeout_func callback; - mainloop_destroy_func destroy; - void *user_data; -}; - -struct signal_data { - int fd; - sigset_t mask; - mainloop_signal_func callback; - mainloop_destroy_func destroy; - void *user_data; -}; - -static struct signal_data *signal_data; - -void mainloop_init(void) -{ - unsigned int i; - - epoll_fd = epoll_create1(EPOLL_CLOEXEC); - - for (i = 0; i < MAX_MAINLOOP_ENTRIES; i++) - mainloop_list[i] = NULL; - - epoll_terminate = 0; -} - -void mainloop_quit(void) -{ - epoll_terminate = 1; -} - -static void signal_callback(int fd, uint32_t events, void *user_data) -{ - struct signal_data *data = user_data; - struct signalfd_siginfo si; - ssize_t result; - - if (events & (EPOLLERR | EPOLLHUP)) { - mainloop_quit(); - return; - } - - result = read(fd, &si, sizeof(si)); - if (result != sizeof(si)) - return; - - if (data->callback) - data->callback(si.ssi_signo, data->user_data); -} - -int mainloop_run(void) -{ - unsigned int i; - - if (signal_data) { - if (sigprocmask(SIG_BLOCK, &signal_data->mask, NULL) < 0) - return 1; - - signal_data->fd = signalfd(-1, &signal_data->mask, - SFD_NONBLOCK | SFD_CLOEXEC); - if (signal_data->fd < 0) - return 1; - - if (mainloop_add_fd(signal_data->fd, EPOLLIN, - signal_callback, signal_data, NULL) < 0) { - close(signal_data->fd); - return 1; - } - } - - while (!epoll_terminate) { - struct epoll_event events[MAX_EPOLL_EVENTS]; - int n, nfds; - - nfds = epoll_wait(epoll_fd, events, MAX_EPOLL_EVENTS, -1); - if (nfds < 0) - continue; - - for (n = 0; n < nfds; n++) { - struct mainloop_data *data = events[n].data.ptr; - - data->callback(data->fd, events[n].events, - data->user_data); - } - } - - if (signal_data) { - mainloop_remove_fd(signal_data->fd); - close(signal_data->fd); - - if (signal_data->destroy) - signal_data->destroy(signal_data->user_data); - } - - for (i = 0; i < MAX_MAINLOOP_ENTRIES; i++) { - struct mainloop_data *data = mainloop_list[i]; - - mainloop_list[i] = NULL; - - if (data) { - epoll_ctl(epoll_fd, EPOLL_CTL_DEL, data->fd, NULL); - - if (data->destroy) - data->destroy(data->user_data); - - free(data); - } - } - - close(epoll_fd); - epoll_fd = 0; - - return 0; -} - -int mainloop_add_fd(int fd, uint32_t events, mainloop_event_func callback, - void *user_data, mainloop_destroy_func destroy) -{ - struct mainloop_data *data; - struct epoll_event ev; - int err; - - if (fd < 0 || fd > MAX_MAINLOOP_ENTRIES - 1 || !callback) - return -EINVAL; - - data = malloc(sizeof(*data)); - if (!data) - return -ENOMEM; - - memset(data, 0, sizeof(*data)); - data->fd = fd; - data->events = events; - data->callback = callback; - data->destroy = destroy; - data->user_data = user_data; - - memset(&ev, 0, sizeof(ev)); - ev.events = events; - ev.data.ptr = data; - - err = epoll_ctl(epoll_fd, EPOLL_CTL_ADD, data->fd, &ev); - if (err < 0) { - free(data); - return err; - } - - mainloop_list[fd] = data; - - return 0; -} - -int mainloop_modify_fd(int fd, uint32_t events) -{ - struct mainloop_data *data; - struct epoll_event ev; - int err; - - if (fd < 0 || fd > MAX_MAINLOOP_ENTRIES - 1) - return -EINVAL; - - data = mainloop_list[fd]; - if (!data) - return -ENXIO; - - if (data->events == events) - return 0; - - memset(&ev, 0, sizeof(ev)); - ev.events = events; - ev.data.ptr = data; - - err = epoll_ctl(epoll_fd, EPOLL_CTL_MOD, data->fd, &ev); - if (err < 0) - return err; - - data->events = events; - - return 0; -} - -int mainloop_remove_fd(int fd) -{ - struct mainloop_data *data; - int err; - - if (fd < 0 || fd > MAX_MAINLOOP_ENTRIES - 1) - return -EINVAL; - - data = mainloop_list[fd]; - if (!data) - return -ENXIO; - - mainloop_list[fd] = NULL; - - err = epoll_ctl(epoll_fd, EPOLL_CTL_DEL, data->fd, NULL); - - if (data->destroy) - data->destroy(data->user_data); - - free(data); - - return err; -} - -static void timeout_destroy(void *user_data) -{ - struct timeout_data *data = user_data; - - close(data->fd); - data->fd = -1; - - if (data->destroy) - data->destroy(data->user_data); -} - -static void timeout_callback(int fd, uint32_t events, void *user_data) -{ - struct timeout_data *data = user_data; - uint64_t expired; - ssize_t result; - - if (events & (EPOLLERR | EPOLLHUP)) - return; - - result = read(data->fd, &expired, sizeof(expired)); - if (result != sizeof(expired)) - return; - - if (data->callback) - data->callback(data->fd, data->user_data); -} - -static inline int timeout_set(int fd, unsigned int seconds) -{ - struct itimerspec itimer; - - memset(&itimer, 0, sizeof(itimer)); - itimer.it_interval.tv_sec = 0; - itimer.it_interval.tv_nsec = 0; - itimer.it_value.tv_sec = seconds; - itimer.it_value.tv_nsec = 0; - - return timerfd_settime(fd, 0, &itimer, NULL); -} - -int mainloop_add_timeout(unsigned int seconds, mainloop_timeout_func callback, - void *user_data, mainloop_destroy_func destroy) -{ - struct timeout_data *data; - - if (!callback) - return -EINVAL; - - data = malloc(sizeof(*data)); - if (!data) - return -ENOMEM; - - memset(data, 0, sizeof(*data)); - data->callback = callback; - data->destroy = destroy; - data->user_data = user_data; - - data->fd = timerfd_create(CLOCK_MONOTONIC, TFD_NONBLOCK | TFD_CLOEXEC); - if (data->fd < 0) { - free(data); - return -EIO; - } - - if (seconds > 0) { - if (timeout_set(data->fd, seconds) < 0) { - close(data->fd); - free(data); - return -EIO; - } - } - - if (mainloop_add_fd(data->fd, EPOLLIN | EPOLLONESHOT, - timeout_callback, data, timeout_destroy) < 0) { - close(data->fd); - free(data); - return -EIO; - } - - return data->fd; -} - -int mainloop_modify_timeout(int id, unsigned int seconds) -{ - if (seconds > 0) { - if (timeout_set(id, seconds) < 0) - return -EIO; - } - - if (mainloop_modify_fd(id, EPOLLIN | EPOLLONESHOT) < 0) - return -EIO; - - return 0; -} - -int mainloop_remove_timeout(int id) -{ - return mainloop_remove_fd(id); -} - -int mainloop_set_signal(sigset_t *mask, mainloop_signal_func callback, - void *user_data, mainloop_destroy_func destroy) -{ - struct signal_data *data; - - if (!mask || !callback) - return -EINVAL; - - data = malloc(sizeof(*data)); - if (!data) - return -ENOMEM; - - memset(data, 0, sizeof(*data)); - data->callback = callback; - data->destroy = destroy; - data->user_data = user_data; - - data->fd = -1; - memcpy(&data->mask, mask, sizeof(sigset_t)); - - free(signal_data); - signal_data = data; - - return 0; -} diff --git a/GRIB_BLE_HUB/libs/ble_extend/monitor/mainloop.h b/GRIB_BLE_HUB/libs/ble_extend/monitor/mainloop.h deleted file mode 100644 index 04745d2..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/monitor/mainloop.h +++ /dev/null @@ -1,49 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2011-2012 Intel Corporation - * Copyright (C) 2002-2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#include -#include - -typedef void (*mainloop_destroy_func) (void *user_data); - -typedef void (*mainloop_event_func) (int fd, uint32_t events, void *user_data); -typedef void (*mainloop_timeout_func) (int id, void *user_data); -typedef void (*mainloop_signal_func) (int signum, void *user_data); - -void mainloop_init(void); -void mainloop_quit(void); -int mainloop_run(void); - -int mainloop_add_fd(int fd, uint32_t events, mainloop_event_func callback, - void *user_data, mainloop_destroy_func destroy); -int mainloop_modify_fd(int fd, uint32_t events); -int mainloop_remove_fd(int fd); - -int mainloop_add_timeout(unsigned int seconds, mainloop_timeout_func callback, - void *user_data, mainloop_destroy_func destroy); -int mainloop_modify_timeout(int fd, unsigned int seconds); -int mainloop_remove_timeout(int id); - -int mainloop_set_signal(sigset_t *mask, mainloop_signal_func callback, - void *user_data, mainloop_destroy_func destroy); diff --git a/GRIB_BLE_HUB/libs/ble_extend/monitor/packet.c b/GRIB_BLE_HUB/libs/ble_extend/monitor/packet.c deleted file mode 100644 index dc2a9ee..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/monitor/packet.c +++ /dev/null @@ -1,5481 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2011-2012 Intel Corporation - * Copyright (C) 2004-2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include - -#include "display.h" -#include "bt.h" -#include "uuid.h" -#include "l2cap.h" -#include "control.h" -#include "packet.h" - -#define COLOR_INDEX_LABEL COLOR_WHITE -#define COLOR_TIMESTAMP COLOR_YELLOW - -#define COLOR_NEW_INDEX COLOR_GREEN -#define COLOR_DEL_INDEX COLOR_RED - -#define COLOR_HCI_COMMAND COLOR_BLUE -#define COLOR_HCI_COMMAND_UNKNOWN COLOR_WHITE_BG - -#define COLOR_HCI_EVENT COLOR_MAGENTA -#define COLOR_HCI_EVENT_UNKNOWN COLOR_WHITE_BG - -#define COLOR_HCI_ACLDATA COLOR_CYAN -#define COLOR_HCI_SCODATA COLOR_YELLOW - -#define COLOR_UNKNOWN_FEATURE_BIT COLOR_WHITE_BG -#define COLOR_UNKNOWN_EVENT_MASK COLOR_WHITE_BG -#define COLOR_UNKNOWN_LE_STATES COLOR_WHITE_BG -#define COLOR_UNKNOWN_SERVICE_CLASS COLOR_WHITE_BG - -static time_t time_offset = ((time_t) -1); -static unsigned long filter_mask = 0; -static bool index_filter = false; -static uint16_t index_number = 0; - -#define MAX_CONN 16 - -struct conn_data { - uint16_t handle; - uint8_t type; -}; - -static struct conn_data conn_list[MAX_CONN]; - -static void assign_handle(uint16_t handle, uint8_t type) -{ - int i; - - for (i = 0; i < MAX_CONN; i++) { - if (conn_list[i].handle == 0x0000) { - conn_list[i].handle = handle; - conn_list[i].type = type; - break; - } - } -} - -static void release_handle(uint16_t handle) -{ - int i; - - for (i = 0; i < MAX_CONN; i++) { - if (conn_list[i].handle == handle) { - conn_list[i].handle = 0x0000; - conn_list[i].type = 0x00; - break; - } - } -} - -static uint8_t get_type(uint16_t handle) -{ - int i; - - for (i = 0; i < MAX_CONN; i++) { - if (conn_list[i].handle == handle) - return conn_list[i].type; - } - - return 0xff; -} - -void packet_set_filter(unsigned long filter) -{ - filter_mask = filter; -} - -void packet_add_filter(unsigned long filter) -{ - if (index_filter) - filter &= ~PACKET_FILTER_SHOW_INDEX; - - filter_mask |= filter; -} - -void packet_del_filter(unsigned long filter) -{ - filter_mask &= ~filter; -} - -void packet_select_index(uint16_t index) -{ - filter_mask &= ~PACKET_FILTER_SHOW_INDEX; - - index_filter = true; - index_number = index; -} - -#define print_space(x) printf("%*c", (x), ' '); - -static void print_packet(struct timeval *tv, uint16_t index, char ident, - const char *color, const char *label, - const char *text, const char *extra) -{ - int col = num_columns(); - char line[256], ts_str[64]; - int n, ts_len = 0, ts_pos = 0, len = 0, pos = 0; - - if (filter_mask & PACKET_FILTER_SHOW_INDEX) { - if (use_color()) { - n = sprintf(ts_str + ts_pos, "%s", COLOR_INDEX_LABEL); - if (n > 0) - ts_pos += n; - } - - n = sprintf(ts_str + ts_pos, " [hci%d]", index); - if (n > 0) { - ts_pos += n; - ts_len += n; - } - } - - if (tv) { - time_t t = tv->tv_sec; - struct tm tm; - - localtime_r(&t, &tm); - - if (use_color()) { - n = sprintf(ts_str + ts_pos, "%s", COLOR_TIMESTAMP); - if (n > 0) - ts_pos += n; - } - - if (filter_mask & PACKET_FILTER_SHOW_DATE) { - n = sprintf(ts_str + ts_pos, " %04d-%02d-%02d", - tm.tm_year + 1900, tm.tm_mon + 1, tm.tm_mday); - if (n > 0) { - ts_pos += n; - ts_len += n; - } - } - - if (filter_mask & PACKET_FILTER_SHOW_TIME) { - n = sprintf(ts_str + ts_pos, " %02d:%02d:%02d.%06lu", - tm.tm_hour, tm.tm_min, tm.tm_sec, tv->tv_usec); - if (n > 0) { - ts_pos += n; - ts_len += n; - } - } - - if (filter_mask & PACKET_FILTER_SHOW_TIME_OFFSET) { - n = sprintf(ts_str + ts_pos, " %lu.%06lu", - tv->tv_sec - time_offset, tv->tv_usec); - if (n > 0) { - ts_pos += n; - ts_len += n; - } - } - } - - if (use_color()) { - n = sprintf(ts_str + ts_pos, "%s", COLOR_OFF); - if (n > 0) - ts_pos += n; - } - - if (use_color()) { - n = sprintf(line + pos, "%s", color); - if (n > 0) - pos += n; - } - - n = sprintf(line + pos, "%c %s", ident, label); - if (n > 0) { - pos += n; - len += n; - } - - if (text) { - int extra_len = extra ? strlen(extra) : 0; - int max_len = col - len - extra_len - ts_len - 3; - - n = snprintf(line + pos, max_len + 1, ": %s", text); - if (n > max_len) { - line[pos + max_len - 1] = '.'; - line[pos + max_len - 2] = '.'; - if (line[pos + max_len - 3] == ' ') - line[pos + max_len - 3] = '.'; - - n = max_len; - } - - if (n > 0) { - pos += n; - len += n; - } - } - - if (use_color()) { - n = sprintf(line + pos, "%s", COLOR_OFF); - if (n > 0) - pos += n; - } - - if (extra) { - n = sprintf(line + pos, " %s", extra); - if (n > 0) { - pos += n; - len += n; - } - } - - if (ts_len > 0) { - printf("%s", line); - if (len < col) - print_space(col - len - ts_len - 1); - printf("%s%s\n", use_color() ? COLOR_TIMESTAMP : "", ts_str); - } else - printf("%s\n", line); -} - -static const struct { - uint8_t error; - const char *str; -} error2str_table[] = { - { 0x00, "Success" }, - { 0x01, "Unknown HCI Command" }, - { 0x02, "Unknown Connection Identifier" }, - { 0x03, "Hardware Failure" }, - { 0x04, "Page Timeout" }, - { 0x05, "Authentication Failure" }, - { 0x06, "PIN or Key Missing" }, - { 0x07, "Memory Capacity Exceeded" }, - { 0x08, "Connection Timeout" }, - { 0x09, "Connection Limit Exceeded" }, - { 0x0a, "Synchronous Connection Limit to a Device Exceeded" }, - { 0x0b, "ACL Connection Already Exists" }, - { 0x0c, "Command Disallowed" }, - { 0x0d, "Connection Rejected due to Limited Resources" }, - { 0x0e, "Connection Rejected due to Security Reasons" }, - { 0x0f, "Connection Rejected due to Unacceptable BD_ADDR" }, - { 0x10, "Connection Accept Timeout Exceeded" }, - { 0x11, "Unsupported Feature or Parameter Value" }, - { 0x12, "Invalid HCI Command Parameters" }, - { 0x13, "Remote User Terminated Connection" }, - { 0x14, "Remote Device Terminated due to Low Resources" }, - { 0x15, "Remote Device Terminated due to Power Off" }, - { 0x16, "Connection Terminated By Local Host" }, - { 0x17, "Repeated Attempts" }, - { 0x18, "Pairing Not Allowed" }, - { 0x19, "Unknown LMP PDU" }, - { 0x1a, "Unsupported Remote Feature / Unsupported LMP Feature" }, - { 0x1b, "SCO Offset Rejected" }, - { 0x1c, "SCO Interval Rejected" }, - { 0x1d, "SCO Air Mode Rejected" }, - { 0x1e, "Invalid LMP Parameters" }, - { 0x1f, "Unspecified Error" }, - { 0x20, "Unsupported LMP Parameter Value" }, - { 0x21, "Role Change Not Allowed" }, - { 0x22, "LMP Response Timeout / LL Response Timeout" }, - { 0x23, "LMP Error Transaction Collision" }, - { 0x24, "LMP PDU Not Allowed" }, - { 0x25, "Encryption Mode Not Acceptable" }, - { 0x26, "Link Key cannot be Changed" }, - { 0x27, "Requested QoS Not Supported" }, - { 0x28, "Instant Passed" }, - { 0x29, "Pairing With Unit Key Not Supported" }, - { 0x2a, "Different Transaction Collision" }, - { 0x2b, "Reserved" }, - { 0x2c, "QoS Unacceptable Parameter" }, - { 0x2d, "QoS Rejected" }, - { 0x2e, "Channel Classification Not Supported" }, - { 0x2f, "Insufficient Security" }, - { 0x30, "Parameter Out Of Manadatory Range" }, - { 0x31, "Reserved" }, - { 0x32, "Role Switch Pending" }, - { 0x33, "Reserved" }, - { 0x34, "Reserved Slot Violation" }, - { 0x35, "Role Switch Failed" }, - { 0x36, "Extended Inquiry Response Too Large" }, - { 0x37, "Secure Simple Pairing Not Supported By Host" }, - { 0x38, "Host Busy - Pairing" }, - { 0x39, "Connection Rejected due to No Suitable Channel Found" }, - { 0x3a, "Controller Busy" }, - { 0x3b, "Unacceptable Connection Interval" }, - { 0x3c, "Directed Advertising Timeout" }, - { 0x3d, "Connection Terminated due to MIC Failure" }, - { 0x3e, "Connection Failed to be Established" }, - { 0x3f, "MAC Connection Failed" }, - { } -}; - -static void print_error(const char *label, uint8_t error) -{ - const char *str = "Unknown"; - const char *color_on, *color_off; - int i; - - for (i = 0; error2str_table[i].str; i++) { - if (error2str_table[i].error == error) { - str = error2str_table[i].str; - break; - } - } - - if (use_color()) { - if (error) - color_on = COLOR_RED; - else - color_on = COLOR_GREEN; - color_off = COLOR_OFF; - } else { - color_on = ""; - color_off = ""; - } - - print_field("%s: %s%s%s (0x%2.2x)", label, - color_on, str, color_off, error); -} - -static void print_status(uint8_t status) -{ - print_error("Status", status); -} - -static void print_reason(uint8_t reason) -{ - print_error("Reason", reason); -} - -static void print_bdaddr(const uint8_t *bdaddr) -{ - print_field("Address: %2.2X:%2.2X:%2.2X:%2.2X:%2.2X:%2.2X" - " (OUI %2.2X-%2.2X-%2.2X)", - bdaddr[5], bdaddr[4], bdaddr[3], - bdaddr[2], bdaddr[1], bdaddr[0], - bdaddr[5], bdaddr[4], bdaddr[3]); -} - -static void print_addr(const uint8_t *addr, uint8_t addr_type) -{ - const char *str; - - switch (addr_type) { - case 0x00: - print_bdaddr(addr); - break; - case 0x01: - switch ((addr[5] & 0xc0) >> 6) { - case 0x00: - str = "Non-Resolvable"; - break; - case 0x01: - str = "Resolvable"; - break; - case 0x03: - str = "Static"; - break; - default: - str = "Reserved"; - break; - } - - print_field("Address: %2.2X:%2.2X:%2.2X:%2.2X:%2.2X:%2.2X" - " (%s)", addr[5], addr[4], addr[3], - addr[2], addr[1], addr[0], str); - break; - default: - print_field("Address: %2.2X-%2.2X-%2.2X-%2.2X-%2.2X-%2.2X", - addr[5], addr[4], addr[3], - addr[2], addr[1], addr[0]); - break; - } -} - -static void print_addr_type(const char *label, uint8_t addr_type) -{ - const char *str; - - switch (addr_type) { - case 0x00: - str = "Public"; - break; - case 0x01: - str = "Random"; - break; - default: - str = "Reserved"; - break; - } - - print_field("%s: %s (0x%2.2x)", label, str, addr_type); -} - -static void print_handle(uint16_t handle) -{ - print_field("Handle: %d", btohs(handle)); -} - -static void print_phy_handle(uint8_t phy_handle) -{ - print_field("Physical handle: %d", phy_handle); -} - -static void print_pkt_type(uint16_t pkt_type) -{ - print_field("Packet type: 0x%4.4x", btohs(pkt_type)); -} - -static void print_iac(const uint8_t *lap) -{ - const char *str = ""; - - if (lap[2] == 0x9e && lap[1] == 0x8b) { - switch (lap[0]) { - case 0x33: - str = " (General Inquiry)"; - break; - case 0x00: - str = " (Limited Inquiry)"; - break; - } - } - - print_field("Access code: 0x%2.2x%2.2x%2.2x%s", - lap[2], lap[1], lap[0], str); -} - -static const struct { - uint8_t bit; - const char *str; -} svc_class_table[] = { - { 0, "Positioning (Location identification)" }, - { 1, "Networking (LAN, Ad hoc)" }, - { 2, "Rendering (Printing, Speaker)" }, - { 3, "Capturing (Scanner, Microphone)" }, - { 4, "Object Transfer (v-Inbox, v-Folder)" }, - { 5, "Audio (Speaker, Microphone, Headset)" }, - { 6, "Telephony (Cordless telephony, Modem, Headset)" }, - { 7, "Information (WEB-server, WAP-server)" }, - { } -}; - -static const struct { - uint8_t val; - const char *str; -} major_class_computer_table[] = { - { 0x00, "Uncategorized, code for device not assigned" }, - { 0x01, "Desktop workstation" }, - { 0x02, "Server-class computer" }, - { 0x03, "Laptop" }, - { 0x04, "Handheld PC/PDA (clam shell)" }, - { 0x05, "Palm sized PC/PDA" }, - { 0x06, "Wearable computer (Watch sized)" }, - { 0x07, "Tablet" }, - { } -}; - -static const char *major_class_computer(uint8_t minor) -{ - int i; - - for (i = 0; major_class_computer_table[i].str; i++) { - if (major_class_computer_table[i].val == minor) - return major_class_computer_table[i].str; - } - - return NULL; -} - -static const struct { - uint8_t val; - const char *str; -} major_class_phone_table[] = { - { 0x00, "Uncategorized, code for device not assigned" }, - { 0x01, "Cellular" }, - { 0x02, "Cordless" }, - { 0x03, "Smart phone" }, - { 0x04, "Wired modem or voice gateway" }, - { 0x05, "Common ISDN Access" }, - { } -}; - -static const char *major_class_phone(uint8_t minor) -{ - int i; - - for (i = 0; major_class_phone_table[i].str; i++) { - if (major_class_phone_table[i].val == minor) - return major_class_phone_table[i].str; - } - - return NULL; -} - -static const struct { - uint8_t val; - const char *str; -} major_class_wearable_table[] = { - { 0x01, "Wrist Watch" }, - { 0x02, "Pager" }, - { 0x03, "Jacket" }, - { 0x04, "Helmet" }, - { 0x05, "Glasses" }, - { } -}; - -static const char *major_class_wearable(uint8_t minor) -{ - int i; - - for (i = 0; major_class_wearable_table[i].str; i++) { - if (major_class_wearable_table[i].val == minor) - return major_class_wearable_table[i].str; - } - - return NULL; -} - -static const struct { - uint8_t val; - const char *str; - const char *(*func)(uint8_t minor); -} major_class_table[] = { - { 0x00, "Miscellaneous" }, - { 0x01, "Computer (desktop, notebook, PDA, organizers)", - major_class_computer }, - { 0x02, "Phone (cellular, cordless, payphone, modem)", - major_class_phone }, - { 0x03, "LAN /Network Access point" }, - { 0x04, "Audio/Video (headset, speaker, stereo, video, vcr)" }, - { 0x05, "Peripheral (mouse, joystick, keyboards)" }, - { 0x06, "Imaging (printing, scanner, camera, display)" }, - { 0x07, "Wearable", major_class_wearable }, - { 0x08, "Toy" }, - { 0x09, "Health" }, - { 0x1f, "Uncategorized, specific device code not specified" }, - { } -}; - -static void print_dev_class(const uint8_t *dev_class) -{ - uint8_t mask, major_cls, minor_cls; - const char *major_str = NULL; - const char *minor_str = NULL; - int i; - - print_field("Class: 0x%2.2x%2.2x%2.2x", - dev_class[2], dev_class[1], dev_class[0]); - - if ((dev_class[0] & 0x03) != 0x00) { - print_field(" Format type: 0x%2.2x", dev_class[0] & 0x03); - print_text(COLOR_ERROR, " invalid format type"); - return; - } - - major_cls = dev_class[1] & 0x1f; - minor_cls = (dev_class[0] & 0xfc) >> 2; - - for (i = 0; major_class_table[i].str; i++) { - if (major_class_table[i].val == major_cls) { - major_str = major_class_table[i].str; - - if (!major_class_table[i].func) - break; - - minor_str = major_class_table[i].func(minor_cls); - break; - } - } - - if (major_str) { - print_field(" Major class: %s", major_str); - if (minor_str) - print_field(" Minor class: %s", minor_str); - else - print_field(" Minor class: 0x%2.2x", minor_cls); - } else { - print_field(" Major class: 0x%2.2x", major_cls); - print_field(" Minor class: 0x%2.2x", minor_cls); - } - - if (dev_class[1] & 0x20) - print_field(" Limited Discoverable Mode"); - - if ((dev_class[1] & 0xc0) != 0x00) { - print_text(COLOR_ERROR, " invalid service class"); - return; - } - - mask = dev_class[2]; - - for (i = 0; svc_class_table[i].str; i++) { - if (dev_class[2] & (1 << svc_class_table[i].bit)) { - print_field(" %s", svc_class_table[i].str); - mask &= ~(1 << svc_class_table[i].bit); - } - } - - if (mask) - print_text(COLOR_UNKNOWN_SERVICE_CLASS, - " Unknown service class (0x%2.2x)", mask); -} - -static void print_voice_setting(uint16_t setting) -{ - print_field("Setting: 0x%4.4x", btohs(setting)); -} - -static void print_retransmission_effort(uint8_t effort) -{ - const char *str; - - switch (effort) { - case 0x00: - str = "No retransmissions"; - break; - case 0x01: - str = "Optimize for power consumption"; - break; - case 0x02: - str = "Optimize for link quality"; - break; - case 0xff: - str = "Don't care"; - break; - default: - str = "Reserved"; - break; - } - - print_field("Retransmission effort: %s (0x%2.2x)", str, effort); -} - -static void print_scan_enable(uint8_t scan_enable) -{ - const char *str; - - switch (scan_enable) { - case 0x00: - str = "No Scans"; - break; - case 0x01: - str = "Inquiry Scan"; - break; - case 0x02: - str = "Page Scan"; - break; - case 0x03: - str = "Inquiry Scan + Page Scan"; - break; - default: - str = "Reserved"; - break; - } - - print_field("Scan enable: %s (0x%2.2x)", str, scan_enable); -} - -static void print_link_policy(uint16_t link_policy) -{ - print_field("Link policy: 0x%4.4x", btohs(link_policy)); -} - -static void print_air_mode(uint8_t mode) -{ - const char *str; - - switch (mode) { - case 0x00: - str = "u-law log"; - break; - case 0x01: - str = "A-law log"; - break; - case 0x02: - str = "CVSD"; - break; - case 0x03: - str = "Transparent"; - break; - default: - str = "Reserved"; - break; - } - - print_field("Air mode: %s (0x%2.2x)", str, mode); -} - -static void print_inquiry_mode(uint8_t mode) -{ - const char *str; - - switch (mode) { - case 0x00: - str = "Standard Inquiry Result"; - break; - case 0x01: - str = "Inquiry Result with RSSI"; - break; - case 0x02: - str = "Inquiry Result with RSSI or Extended Inquiry Result"; - break; - default: - str = "Reserved"; - break; - } - - print_field("Mode: %s (0x%2.2x)", str, mode); -} - -static void print_pscan_type(uint8_t type) -{ - const char *str; - - switch (type) { - case 0x00: - str = "Standard Scan"; - break; - case 0x01: - str = "Interlaced Scan"; - break; - default: - str = "Reserved"; - break; - } - - print_field("Type: %s (0x%2.2x)", str, type); -} - -static void print_simple_pairing_mode(uint8_t mode) -{ - const char *str; - - switch (mode) { - case 0x00: - str = "Disabled"; - break; - case 0x01: - str = "Enabled"; - break; - default: - str = "Reserved"; - break; - } - - print_field("Mode: %s (0x%2.2x)", str, mode); -} - -static void print_pscan_rep_mode(uint8_t pscan_rep_mode) -{ - const char *str; - - switch (pscan_rep_mode) { - case 0x00: - str = "R0"; - break; - case 0x01: - str = "R1"; - break; - case 0x02: - str = "R2"; - break; - default: - str = "Reserved"; - break; - } - - print_field("Page scan repetition mode: %s (0x%2.2x)", - str, pscan_rep_mode); -} - -static void print_pscan_period_mode(uint8_t pscan_period_mode) -{ - const char *str; - - switch (pscan_period_mode) { - case 0x00: - str = "P0"; - break; - case 0x01: - str = "P1"; - break; - case 0x02: - str = "P2"; - break; - default: - str = "Reserved"; - break; - } - - print_field("Page period mode: %s (0x%2.2x)", str, pscan_period_mode); -} - -static void print_pscan_mode(uint8_t pscan_mode) -{ - const char *str; - - switch (pscan_mode) { - case 0x00: - str = "Mandatory"; - break; - case 0x01: - str = "Optional I"; - break; - case 0x02: - str = "Optional II"; - break; - case 0x03: - str = "Optional III"; - break; - default: - str = "Reserved"; - break; - } - - print_field("Page scan mode: %s (0x%2.2x)", str, pscan_mode); -} - -static void print_clock_offset(uint16_t clock_offset) -{ - print_field("Clock offset: 0x%4.4x", btohs(clock_offset)); -} - -static void print_link_type(uint8_t link_type) -{ - const char *str; - - switch (link_type) { - case 0x00: - str = "SCO"; - break; - case 0x01: - str = "ACL"; - break; - case 0x02: - str = "eSCO"; - break; - default: - str = "Reserved"; - break; - } - - print_field("Link type: %s (0x%2.2x)", str, link_type); -} - -static void print_encr_mode(uint8_t encr_mode) -{ - const char *str; - - switch (encr_mode) { - case 0x00: - str = "Disabled"; - break; - case 0x01: - str = "Enabled"; - break; - default: - str = "Reserved"; - break; - } - - print_field("Encryption: %s (0x%2.2x)", str, encr_mode); -} - -static void print_encr_mode_change(uint8_t encr_mode, uint16_t handle) -{ - const char *str; - uint8_t conn_type; - - conn_type = get_type(btohs(handle)); - - switch (encr_mode) { - case 0x00: - str = "Disabled"; - break; - case 0x01: - switch (conn_type) { - case 0x00: - str = "Enabled with E0"; - break; - case 0x01: - str = "Enabled with AES-CCM"; - break; - default: - str = "Enabled"; - break; - } - break; - default: - str = "Reserved"; - break; - } - - print_field("Encryption: %s (0x%2.2x)", str, encr_mode); -} - -static void print_pin_type(uint8_t pin_type) -{ - const char *str; - - switch (pin_type) { - case 0x00: - str = "Variable"; - break; - case 0x01: - str = "Fixed"; - break; - default: - str = "Reserved"; - break; - } - - print_field("PIN type: %s (0x%2.2x)", str, pin_type); -} - -static void print_key_flag(uint8_t key_flag) -{ - const char *str; - - switch (key_flag) { - case 0x00: - str = "Semi-permanent"; - break; - case 0x01: - str = "Temporary"; - break; - default: - str = "Reserved"; - break; - } - - print_field("Key flag: %s (0x%2.2x)", str, key_flag); -} - -static void print_key_len(uint8_t key_len) -{ - const char *str; - - switch (key_len) { - case 32: - str = "802.11 PAL"; - break; - default: - str = "Reserved"; - break; - } - - print_field("Key length: %s (%d)", str, key_len); -} - -static void print_key_type(uint8_t key_type) -{ - const char *str; - - switch (key_type) { - case 0x00: - str = "Combination key"; - break; - case 0x01: - str = "Local Unit key"; - break; - case 0x02: - str = "Remote Unit key"; - break; - case 0x03: - str = "Debug Combination key"; - break; - case 0x04: - str = "Unauthenticated Combination key"; - break; - case 0x05: - str = "Authenticated Combination key"; - break; - case 0x06: - str = "Changed Combination key"; - break; - default: - str = "Reserved"; - break; - } - - print_field("Key type: %s (0x%2.2x)", str, key_type); -} - -static void print_key_size(uint8_t key_size) -{ - print_field("Key size: %d", key_size); -} - -static void print_hex_field(const char *label, const uint8_t *data, - uint8_t len) -{ - char str[len * 2 + 1]; - uint8_t i; - - for (i = 0; i < len; i++) - sprintf(str + (i * 2), "%2.2x", data[i]); - - print_field("%s: %s", label, str); -} - -static void print_key(const char *label, const uint8_t *link_key) -{ - print_hex_field(label, link_key, 16); -} - -static void print_link_key(const uint8_t *link_key) -{ - print_key("Link key", link_key); -} - -static void print_pin_code(const uint8_t *pin_code, uint8_t pin_len) -{ - char str[pin_len + 1]; - uint8_t i; - - for (i = 0; i < pin_len; i++) - sprintf(str + i, "%c", (const char) pin_code[i]); - - print_field("PIN code: %s", str); -} - -static void print_hash(const uint8_t *hash) -{ - print_key("Hash C", hash); -} - -static void print_randomizer(const uint8_t *randomizer) -{ - print_key("Randomizer R", randomizer); -} - -static void print_passkey(uint32_t passkey) -{ - print_field("Passkey: %06d", btohl(passkey)); -} - -static void print_io_capability(uint8_t capability) -{ - const char *str; - - switch (capability) { - case 0x00: - str = "DisplayOnly"; - break; - case 0x01: - str = "DisplayYesNo"; - break; - case 0x02: - str = "KeyboardOnly"; - break; - case 0x03: - str = "NoInputNoOutput"; - break; - default: - str = "Reserved"; - break; - } - - print_field("IO capability: %s (0x%2.2x)", str, capability); -} - -static void print_oob_data(uint8_t oob_data) -{ - const char *str; - - switch (oob_data) { - case 0x00: - str = "Authentication data not present"; - break; - case 0x01: - str = "Authentication data present"; - break; - default: - str = "Reserved"; - break; - } - - print_field("OOB data: %s (0x%2.2x)", str, oob_data); -} - -static void print_authentication(uint8_t authentication) -{ - const char *str; - - switch (authentication) { - case 0x00: - str = "No Bonding - MITM not required"; - break; - case 0x01: - str = "No Bonding - MITM required"; - break; - case 0x02: - str = "Dedicated Bonding - MITM not required"; - break; - case 0x03: - str = "Dedicated Bonding - MITM required"; - break; - case 0x04: - str = "General Bonding - MITM not required"; - break; - case 0x05: - str = "General Bonding - MITM required"; - break; - default: - str = "Reserved"; - break; - } - - print_field("Authentication: %s (0x%2.2x)", str, authentication); -} - -static void print_flow_direction(uint8_t direction) -{ - const char *str; - - switch (direction) { - case 0x00: - str = "Outgoing"; - break; - case 0x01: - str = "Incoming"; - break; - default: - str = "Reserved"; - break; - } - - print_field("Flow direction: %s (0x%2.2x)", str, direction); -} - -static void print_service_type(uint8_t service_type) -{ - const char *str; - - switch (service_type) { - case 0x00: - str = "No Traffic"; - break; - case 0x01: - str = "Best Effort"; - break; - case 0x02: - str = "Guaranteed"; - break; - default: - str = "Reserved"; - break; - } - - print_field("Service type: %s (0x%2.2x)", str, service_type); -} - -static void print_flow_spec(const char *label, const uint8_t *data) -{ - const char *str; - - switch (data[1]) { - case 0x00: - str = "No traffic"; - break; - case 0x01: - str = "Best effort"; - break; - case 0x02: - str = "Guaranteed"; - break; - default: - str = "Reserved"; - break; - } - - print_field("%s flow spec: 0x%2.2x", label, data[0]); - print_field(" Service type: %s (0x%2.2x)", str, data[1]); - print_field(" Maximum SDU size: 0x%4.4x", bt_get_le16(data + 2)); - print_field(" SDU inter-arrival time: 0x%8.8x", bt_get_le32(data + 4)); - print_field(" Access latency: 0x%8.8x", bt_get_le32(data + 8)); - print_field(" Flush timeout: 0x%8.8x", bt_get_le32(data + 12)); -} - -static void print_short_range_mode(uint8_t mode) -{ - const char *str; - - switch (mode) { - case 0x00: - str = "Disabled"; - break; - case 0x01: - str = "Enabled"; - break; - default: - str = "Reserved"; - break; - } - - print_field("Short range mode: %s (0x%2.2x)", str, mode); -} - -static void print_amp_status(uint8_t amp_status) -{ - const char *str; - - switch (amp_status) { - case 0x00: - str = "Present"; - break; - case 0x01: - str = "Bluetooth only"; - break; - case 0x02: - str = "No capacity"; - break; - case 0x03: - str = "Low capacity"; - break; - case 0x04: - str = "Medium capacity"; - break; - case 0x05: - str = "High capacity"; - break; - case 0x06: - str = "Full capacity"; - break; - default: - str = "Reserved"; - break; - } - - print_field("AMP status: %s (0x%2.2x)", str, amp_status); -} - -static void print_num_resp(uint8_t num_resp) -{ - print_field("Num responses: %d", num_resp); -} - -static void print_num_reports(uint8_t num_reports) -{ - print_field("Num reports: %d", num_reports); -} - -static void print_rssi(int8_t rssi) -{ - print_field("RSSI: %d dBm", rssi); -} - -static void print_slot_625(const char *label, uint16_t value) -{ - print_field("%s: %.3f msec (0x%4.4x)", label, - btohs(value) * 0.625, value); -} - -static void print_slot_125(const char *label, uint16_t value) -{ - print_field("%s: %.2f msec (0x%4.4x)", label, - btohs(value) * 1.25, value); -} - -static void print_timeout(uint16_t timeout) -{ - print_slot_625("Timeout", timeout); -} - -static void print_interval(uint16_t interval) -{ - print_slot_625("Interval", interval); -} - -static void print_window(uint16_t window) -{ - print_slot_625("Window", window); -} - -static void print_role(uint8_t role) -{ - const char *str; - - switch (role) { - case 0x00: - str = "Master"; - break; - case 0x01: - str = "Slave"; - break; - default: - str = "Reserved"; - break; - } - - print_field("Role: %s (0x%2.2x)", str, role); -} - -static void print_mode(uint8_t mode) -{ - const char *str; - - switch (mode) { - case 0x00: - str = "Active"; - break; - case 0x01: - str = "Hold"; - break; - case 0x02: - str = "Sniff"; - break; - case 0x03: - str = "Park"; - break; - default: - str = "Reserved"; - break; - } - - print_field("Mode: %s (0x%2.2x)", str, mode); -} - -static void print_name(const uint8_t *name) -{ - char str[249]; - - memcpy(str, name, 248); - str[248] = '\0'; - - print_field("Name: %s", str); -} - -static void print_version(const char *label, uint8_t version, uint16_t revision) -{ - print_field("%s: %d - 0x%4.4x", label, version, revision); -} - -static void print_hci_version(uint8_t hci_ver, uint16_t hci_rev) -{ - print_version("HCI version", hci_ver, hci_rev); -} - -static void print_lmp_version(uint8_t lmp_ver, uint16_t lmp_subver) -{ - print_version("LMP version", lmp_ver, lmp_subver); -} - -static void print_manufacturer(uint16_t manufacturer) -{ - print_field("Manufacturer: %s (%d)", - bt_compidtostr(manufacturer), manufacturer); -} - -static const char *get_supported_command(int bit); - -static void print_commands(const uint8_t *commands) -{ - unsigned int count = 0; - int i, n; - - for (i = 0; i < 64; i++) { - for (n = 0; n < 8; n++) { - if (commands[i] & (1 << n)) - count++; - } - } - - print_field("Commands: %u entr%s", count, count == 1 ? "y" : "ies"); - - for (i = 0; i < 64; i++) { - for (n = 0; n < 8; n++) { - const char *cmd; - - if (!(commands[i] & (1 << n))) - continue; - - cmd = get_supported_command((i * 8) + n); - print_field(" %s (Octet %d - Bit %d)", cmd, i, n); - } - } -} - -struct features_data { - uint8_t bit; - const char *str; -}; - -static const struct features_data features_page0[] = { - { 0, "3 slot packets" }, - { 1, "5 slot packets" }, - { 2, "Encryption" }, - { 3, "Slot offset" }, - { 4, "Timing accuracy" }, - { 5, "Role switch" }, - { 6, "Hold mode" }, - { 7, "Sniff mode" }, - { 8, "Park state" }, - { 9, "Power control requests" }, - { 10, "Channel quality driven data rate (CQDDR)"}, - { 11, "SCO link" }, - { 12, "HV2 packets" }, - { 13, "HV3 packets" }, - { 14, "u-law log synchronous data" }, - { 15, "A-law log synchronous data" }, - { 16, "CVSD synchronous data" }, - { 17, "Paging parameter negotiation" }, - { 18, "Power control" }, - { 19, "Transparent synchronous data" }, - { 20, "Flow control lag (least significant bit)"}, - { 21, "Flow control lag (middle bit)" }, - { 22, "Flow control lag (most significant bit)" }, - { 23, "Broadcast Encryption" }, - { 25, "Enhanced Data Rate ACL 2 Mbps mode" }, - { 26, "Enhanced Data Rate ACL 3 Mbps mode" }, - { 27, "Enhanced inquiry scan" }, - { 28, "Interlaced inquiry scan" }, - { 29, "Interlaced page scan" }, - { 30, "RSSI with inquiry results" }, - { 31, "Extended SCO link (EV3 packets)" }, - { 32, "EV4 packets" }, - { 33, "EV5 packets" }, - { 35, "AFH capable slave" }, - { 36, "AFH classification slave" }, - { 37, "BR/EDR Not Supported" }, - { 38, "LE Supported (Controller)" }, - { 39, "3-slot Enhanced Data Rate ACL packets" }, - { 40, "5-slot Enhanced Data Rate ACL packets" }, - { 41, "Sniff subrating" }, - { 42, "Pause encryption" }, - { 43, "AFH capable master" }, - { 44, "AFH classification master" }, - { 45, "Enhanced Data Rate eSCO 2 Mbps mode" }, - { 46, "Enhanced Data Rate eSCO 3 Mbps mode" }, - { 47, "3-slot Enhanced Data Rate eSCO packets" }, - { 48, "Extended Inquiry Response" }, - { 49, "Simultaneous LE and BR/EDR (Controller)" }, - { 51, "Secure Simple Pairing" }, - { 52, "Encapsulated PDU" }, - { 53, "Erroneous Data Reporting" }, - { 54, "Non-flushable Packet Boundary Flag" }, - { 56, "Link Supervision Timeout Changed Event" }, - { 57, "Inquiry TX Power Level" }, - { 58, "Enhanced Power Control" }, - { 63, "Extended features" }, - { } -}; - -static const struct features_data features_page1[] = { - { 0, "Secure Simple Pairing (Host Support)" }, - { 1, "LE Supported (Host)" }, - { 2, "Simultaneous LE and BR/EDR (Host)" }, - { } -}; - -static const struct features_data features_page2[] = { - { 0, "Connectionless Slave Broadcast - Master" }, - { 1, "Connectionless Slave Broadcast - Slave" }, - { 2, "Synchronization Train" }, - { 3, "Synchronization Scan" }, - { 4, "Inquiry Response Notification Event" }, - { } -}; - -static const struct features_data features_le[] = { - { 0, "LE Encryption" }, - { } -}; - -static void print_features(uint8_t page, const uint8_t *features_array, - uint8_t type) -{ - const struct features_data *features_table = NULL; - uint64_t mask, features = 0; - char str[41]; - int i; - - for (i = 0; i < 8; i++) { - sprintf(str + (i * 5), " 0x%2.2x", features_array[i]); - features |= ((uint64_t) features_array[i]) << (i * 8); - } - - print_field("Features:%s", str); - - switch (type) { - case 0x00: - switch (page) { - case 0: - features_table = features_page0; - break; - case 1: - features_table = features_page1; - break; - case 2: - features_table = features_page2; - break; - } - break; - case 0x01: - switch (page) { - case 0: - features_table = features_le; - break; - } - break; - } - - if (!features_table) - return; - - mask = features; - - for (i = 0; features_table[i].str; i++) { - if (features & (((uint64_t) 1) << features_table[i].bit)) { - print_field(" %s", features_table[i].str); - mask &= ~(((uint64_t) 1) << features_table[i].bit); - } - } - - if (mask) - print_text(COLOR_UNKNOWN_FEATURE_BIT, " Unknown features " - "(0x%16.16" PRIx64 ")", mask); -} - -static const struct { - uint8_t bit; - const char *str; -} le_states_table[] = { - { 0, "Non-connectable Advertising State" }, - { 1, "Scannable Advertising State" }, - { 2, "Connectable Advertising State" }, - { 3, "Directed Advertising State" }, - { 4, "Passive Scanning State" }, - { 5, "Active Scanning State" }, - { 6, "Initiating State" }, - { 7, "Connection State in Salve Role" }, - { 8, "Non-connectable Advertising State and " - "Passive Scanning State combination" }, - { 9, "Scannable Advertising State and " - "Passive Scanning State combination" }, - { 10, "Connectable Advertising State and " - "Passive Scanning State combination" }, - { 11, "Directed Advertising State and " - "Passive Scanning State combination" }, - { 12, "Non-connectable Advertising State and " - "Active Scanning State combination" }, - { 13, "Scannable Advertising State and " - "Active Scanning State combination" }, - { 14, "Connectable Advertising State and " - "Active Scanning State combination" }, - { 15, "Directed Advertising State and " - "Active Scanning State combination" }, - { 16, "Non-connectable Advertising State and " - "Initiating State combination" }, - { 17, "Scannable Advertising State and " - "Initiating State combination" }, - { 18, "Non-connectable Advertising State and " - "Mater Role combination" }, - { 19, "Scannable Advertising State and " - "Master Role combination" }, - { 20, "Non-connectable Advertising State and " - "Slave Role combination" }, - { 21, "Scannable Advertising State and " - "Slave Role combination" }, - { 22, "Passive Scanning State and Initiating State combination" }, - { 23, "Active Scanning State and Initiating State combination" }, - { 24, "Passive Scanning State and Master Role combination" }, - { 25, "Active Scanning State and Master Role combination" }, - { 26, "Passive Scanning State and Slave Role combination" }, - { 27, "Active Scanning State and Slave Role combination" }, - { 28, "Initiating State and Master Role combination" }, - { } -}; - -static void print_le_states(const uint8_t *states_array) -{ - uint64_t mask, states = 0; - int i; - - for (i = 0; i < 8; i++) - states |= ((uint64_t) states_array[i]) << (i * 8); - - print_field("States: 0x%16.16" PRIx64, states); - - mask = states; - - for (i = 0; le_states_table[i].str; i++) { - if (states & (((uint64_t) 1) << le_states_table[i].bit)) { - print_field(" %s", le_states_table[i].str); - mask &= ~(((uint64_t) 1) << le_states_table[i].bit); - } - } - - if (mask) - print_text(COLOR_UNKNOWN_LE_STATES, " Unknown states " - "(0x%16.16" PRIx64 ")", mask); -} - -static void print_le_channel_map(const uint8_t *map) -{ - char str[11]; - int i; - - for (i = 0; i < 5; i++) - sprintf(str + (i * 2), "%2.2x", map[i]); - - print_field("Channel map: 0x%s", str); -} - -static void print_random_number(const uint8_t *number) -{ - print_hex_field("Random number", number, 8); -} - -static const struct { - uint8_t bit; - const char *str; -} events_table[] = { - { 0, "Inquiry Complete" }, - { 1, "Inquiry Result" }, - { 2, "Connection Complete" }, - { 3, "Connection Request" }, - { 4, "Disconnection Complete" }, - { 5, "Authentication Complete" }, - { 6, "Remote Name Request Complete" }, - { 7, "Encryption Change" }, - { 8, "Change Connection Link Key Complete" }, - { 9, "Master Link Key Complete" }, - { 10, "Read Remote Supported Features Complete" }, - { 11, "Read Remote Version Information Complete" }, - { 12, "QoS Setup Complete" }, - { 13, "Command Complete" }, - { 14, "Command Status" }, - { 15, "Hardware Error" }, - { 16, "Flush Occurred" }, - { 17, "Role Change" }, - { 19, "Mode Change" }, - { 20, "Return Link Keys" }, - { 21, "PIN Code Request" }, - { 22, "Link Key Request" }, - { 23, "Link Key Notification" }, - { 24, "Loopback Command" }, - { 25, "Data Buffer Overflow" }, - { 26, "Max Slots Change" }, - { 27, "Read Clock Offset Complete" }, - { 28, "Connection Packet Type Changed" }, - { 29, "QoS Violation" }, - { 30, "Page Scan Mode Change" }, - { 31, "Page Scan Repetition Mode Change" }, - { 32, "Flow Specification Complete" }, - { 33, "Inquiry Result with RSSI" }, - { 34, "Read Remote Extended Features Complete" }, - { 43, "Synchronous Connection Complete" }, - { 44, "Synchronous Connection Changed" }, - { 45, "Sniff Subrating" }, - { 46, "Extended Inquiry Result" }, - { 47, "Encryption Key Refresh Complete" }, - { 48, "IO Capability Request" }, - { 49, "IO Capability Request Reply" }, - { 50, "User Confirmation Request" }, - { 51, "User Passkey Request" }, - { 52, "Remote OOB Data Request" }, - { 53, "Simple Pairing Complete" }, - { 55, "Link Supervision Timeout Changed" }, - { 56, "Enhanced Flush Complete" }, - { 58, "User Passkey Notification" }, - { 59, "Keypress Notification" }, - { 60, "Remote Host Supported Features Notification" }, - { 61, "LE Meta" }, - /* reserved events */ - { 78, "Triggered Clock Capture" }, - /* reserved event */ - { 80, "Synchronization Train Received" }, - { 81, "Connectionless Slave Broadcast Receive" }, - { 82, "Connectionless Slave Broadcast Timeout" }, - { 83, "Truncated Page Complete" }, - { 84, "Slave Page Response Timeout" }, - { 85, "Connectionless Slave Broadcast Channel Map Change" }, - { 86, "Inquiry Response Notification" }, - { } -}; - -static void print_event_mask(const uint8_t *events_array) -{ - uint64_t mask, events = 0; - int i; - - for (i = 0; i < 8; i++) - events |= ((uint64_t) events_array[i]) << (i * 8); - - print_field("Mask: 0x%16.16" PRIx64, events); - - mask = events; - - for (i = 0; events_table[i].str; i++) { - if (events & (((uint64_t) 1) << events_table[i].bit)) { - print_field(" %s", events_table[i].str); - mask &= ~(((uint64_t) 1) << events_table[i].bit); - } - } - - if (mask) - print_text(COLOR_UNKNOWN_EVENT_MASK, " Unknown mask " - "(0x%16.16" PRIx64 ")", mask); -} - -static const struct { - uint8_t bit; - const char *str; -} events_page2_table[] = { - { 0, "Physical Link Complete" }, - { 1, "Channel Selected" }, - { 2, "Disconnection Physical Link" }, - { 3, "Physical Link Loss Early Warning" }, - { 4, "Physical Link Recovery" }, - { 5, "Logical Link Complete" }, - { 6, "Disconnection Logical Link Complete" }, - { 7, "Flow Spec Modify Complete" }, - { 8, "Number of Completed Data Blocks" }, - { 9, "AMP Start Test" }, - { 10, "AMP Test End" }, - { 11, "AMP Receiver Report" }, - { 12, "Short Range Mode Change Complete" }, - { 13, "AMP Status Change" }, - { 14, "Triggered Clock Capture" }, - { 15, "Synchronization Train Complete" }, - { 16, "Synchronization Train Received" }, - { 17, "Connectionless Slave Broadcast Receive" }, - { 18, "Connectionless Slave Broadcast Timeout" }, - { 19, "Truncated Page Complete" }, - { 20, "Slave Page Response Timeout" }, - { 21, "Connectionless Slave Broadcast Channel Map Change" }, - { 22, "Inquiry Response Notification" }, - { } -}; - -static void print_event_mask_page2(const uint8_t *events_array) -{ - uint64_t mask, events = 0; - int i; - - for (i = 0; i < 8; i++) - events |= ((uint64_t) events_array[i]) << (i * 8); - - print_field("Mask: 0x%16.16" PRIx64, events); - - mask = events; - - for (i = 0; events_page2_table[i].str; i++) { - if (events & (((uint64_t) 1) << events_page2_table[i].bit)) { - print_field(" %s", events_page2_table[i].str); - mask &= ~(((uint64_t) 1) << events_page2_table[i].bit); - } - } - - if (mask) - print_text(COLOR_UNKNOWN_EVENT_MASK, " Unknown mask " - "(0x%16.16" PRIx64 ")", mask); -} - -static const struct { - uint8_t bit; - const char *str; -} events_le_table[] = { - { 0, "LE Connection Complete" }, - { 1, "LE Advertising Report" }, - { 2, "LE Connection Update Complete" }, - { 3, "LE Read Remote Used Features" }, - { 4, "LE Long Term Key Request" }, - { } -}; - -static void print_event_mask_le(const uint8_t *events_array) -{ - uint64_t mask, events = 0; - int i; - - for (i = 0; i < 8; i++) - events |= ((uint64_t) events_array[i]) << (i * 8); - - print_field("Mask: 0x%16.16" PRIx64, events); - - mask = events; - - for (i = 0; events_le_table[i].str; i++) { - if (events & (((uint64_t) 1) << events_le_table[i].bit)) { - print_field(" %s", events_le_table[i].str); - mask &= ~(((uint64_t) 1) << events_le_table[i].bit); - } - } - - if (mask) - print_text(COLOR_UNKNOWN_EVENT_MASK, " Unknown mask " - "(0x%16.16" PRIx64 ")", mask); -} - -static void print_fec(uint8_t fec) -{ - const char *str; - - switch (fec) { - case 0x00: - str = "Not required"; - break; - case 0x01: - str = "Required"; - break; - default: - str = "Reserved"; - break; - } - - print_field("FEC: %s (0x%02x)", str, fec); -} - -#define BT_EIR_FLAGS 0x01 -#define BT_EIR_UUID16_SOME 0x02 -#define BT_EIR_UUID16_ALL 0x03 -#define BT_EIR_UUID32_SOME 0x04 -#define BT_EIR_UUID32_ALL 0x05 -#define BT_EIR_UUID128_SOME 0x06 -#define BT_EIR_UUID128_ALL 0x07 -#define BT_EIR_NAME_SHORT 0x08 -#define BT_EIR_NAME_COMPLETE 0x09 -#define BT_EIR_TX_POWER 0x0a -#define BT_EIR_CLASS_OF_DEV 0x0d -#define BT_EIR_SSP_HASH 0x0e -#define BT_EIR_SSP_RANDOMIZER 0x0f -#define BT_EIR_DEVICE_ID 0x10 -#define BT_EIR_SMP_TK 0x10 -#define BT_EIR_SMP_OOB_FLAGS 0x11 -#define BT_EIR_SLAVE_CONN_INT 0x12 -#define BT_EIR_SERVICE_UUID16 0x14 -#define BT_EIR_SERVICE_UUID128 0x15 -#define BT_EIR_SERVICE_DATA 0x16 -#define BT_EIR_RANDOM_ADDRESS 0x17 -#define BT_EIR_PUBLIC_ADDRESS 0x18 -#define BT_EIR_GAP_APPEARANCE 0x19 -#define BT_EIR_MANUFACTURER_DATA 0xff - -static void print_uuid16_list(const char *label, const void *data, - uint8_t data_len) -{ - uint8_t count = data_len / sizeof(uint16_t); - unsigned int i; - - print_field("%s: %u entr%s", label, count, count == 1 ? "y" : "ies"); - - for (i = 0; i < count; i++) { - uint16_t uuid = bt_get_le16(data + (i * 2)); - print_field(" %s (0x%4.4x)", uuid16_to_str(uuid), uuid); - } -} - -static void print_uuid32_list(const char *label, const void *data, - uint8_t data_len) -{ - uint8_t count = data_len / sizeof(uint32_t); - unsigned int i; - - print_field("%s: %u entr%s", label, count, count == 1 ? "y" : "ies"); - - for (i = 0; i < count; i++) { - uint32_t uuid = bt_get_le32(data + (i * 4)); - print_field(" %s (0x%8.8x)", uuid32_to_str(uuid), uuid); - } -} - -static void print_uuid128_list(const char *label, const void *data, - uint8_t data_len) -{ - uint8_t count = data_len / 16; - unsigned int i; - - print_field("%s: %u entr%s", label, count, count == 1 ? "y" : "ies"); - - for (i = 0; i < count; i++) { - const uint8_t *uuid = data + (i * 16); - - print_field(" %.8x-%.4x-%.4x-%.4x-%.8x%.4x", - bt_get_le32(&uuid[12]), bt_get_le16(&uuid[10]), - bt_get_le16(&uuid[8]), bt_get_le16(&uuid[6]), - bt_get_le32(&uuid[2]), bt_get_le16(&uuid[0])); - } -} - -static const struct { - uint8_t bit; - const char *str; -} eir_flags_table[] = { - { 0, "LE Limited Discoverable Mode" }, - { 1, "LE General Discoverable Mode" }, - { 2, "BR/EDR Not Supported" }, - { 3, "Simultaneous LE and BR/EDR (Controller)" }, - { 4, "Simultaneous LE and BR/EDR (Host)" }, - { } -}; - -static void print_eir(const uint8_t *eir, uint8_t eir_len, bool le) -{ - uint8_t len = 0; - - if (eir_len == 0) - return; - - while (len < eir_len - 1) { - uint8_t field_len = eir[0]; - const uint8_t *data = &eir[2]; - uint8_t data_len; - char name[239], label[100]; - uint8_t flags, mask; - int i; - - /* Check for the end of EIR */ - if (field_len == 0) - break; - - len += field_len + 1; - - /* Do not continue EIR Data parsing if got incorrect length */ - if (len > eir_len) { - len -= field_len + 1; - break; - } - - data_len = field_len - 1; - - switch (eir[1]) { - case BT_EIR_FLAGS: - flags = *data; - mask = flags; - - print_field("Flags: 0x%2.2x", flags); - - for (i = 0; eir_flags_table[i].str; i++) { - if (flags & (1 << eir_flags_table[i].bit)) { - print_field(" %s", - eir_flags_table[i].str); - mask &= ~(1 << eir_flags_table[i].bit); - } - } - - if (mask) - print_text(COLOR_UNKNOWN_SERVICE_CLASS, - " Unknown flags (0x%2.2x)", mask); - break; - - case BT_EIR_UUID16_SOME: - if (data_len < sizeof(uint16_t)) - break; - print_uuid16_list("16-bit Service UUIDs (partial)", - data, data_len); - break; - - case BT_EIR_UUID16_ALL: - if (data_len < sizeof(uint16_t)) - break; - print_uuid16_list("16-bit Service UUIDs (complete)", - data, data_len); - break; - - case BT_EIR_UUID32_SOME: - if (data_len < sizeof(uint32_t)) - break; - print_uuid32_list("32-bit Service UUIDs (partial)", - data, data_len); - break; - - case BT_EIR_UUID32_ALL: - if (data_len < sizeof(uint32_t)) - break; - print_uuid32_list("32-bit Service UUIDs (complete)", - data, data_len); - break; - - case BT_EIR_UUID128_SOME: - if (data_len < 16) - break; - print_uuid128_list("128-bit Service UUIDs (partial)", - data, data_len); - break; - - case BT_EIR_UUID128_ALL: - if (data_len < 16) - break; - print_uuid128_list("128-bit Service UUIDs (complete)", - data, data_len); - break; - - case BT_EIR_NAME_SHORT: - memset(name, 0, sizeof(name)); - memcpy(name, data, data_len); - print_field("Name (short): %s", name); - break; - - case BT_EIR_NAME_COMPLETE: - memset(name, 0, sizeof(name)); - memcpy(name, data, data_len); - print_field("Name (complete): %s", name); - break; - - case BT_EIR_TX_POWER: - print_field("TX power: %d dBm", (int8_t) *data); - break; - - case BT_EIR_CLASS_OF_DEV: - if (data_len < 3) - break; - print_dev_class(data); - break; - - case BT_EIR_SSP_HASH: - print_hex_field("SSP Hash", data, data_len); - break; - - case BT_EIR_SSP_RANDOMIZER: - print_hex_field("SSP Rand", data, data_len); - break; - - case BT_EIR_DEVICE_ID: - /* SMP TK has the same value as Device ID */ - if (le) - print_hex_field("SMP TK", data, data_len); - else if (data_len >= 8) - print_field("Device ID: " - "Source 0x%4.4x " - "Vendor 0x%4.4x " - "Product 0x%4.4x " - "Version 0x%4.4x", - bt_get_le16(&data[0]), - bt_get_le16(&data[2]), - bt_get_le16(&data[4]), - bt_get_le16(&data[6])); - break; - - case BT_EIR_SMP_OOB_FLAGS: - print_field("SMP OOB Flags: 0x%2.2x", *data); - break; - - case BT_EIR_SLAVE_CONN_INT: - if (data_len < 4) - break; - print_field("Slave Conn. Interval: 0x%4.4x - 0x%4.4x", - bt_get_le16(&data[0]), - bt_get_le16(&data[2])); - break; - - case BT_EIR_SERVICE_UUID16: - if (data_len < sizeof(uint16_t)) - break; - print_uuid16_list("16-bit Service UUIDs", - data, data_len); - break; - - case BT_EIR_SERVICE_UUID128: - if (data_len < 16) - break; - print_uuid128_list("128-bit Service UUIDs", - data, data_len); - break; - - case BT_EIR_SERVICE_DATA: - if (data_len < 2) - break; - sprintf(label, "Service Data (UUID 0x%4.4x)", - bt_get_le16(&data[0])); - print_hex_field(label, &data[2], data_len - 2); - break; - - case BT_EIR_RANDOM_ADDRESS: - if (data_len < 6) - break; - print_addr(data, 0x01); - break; - - case BT_EIR_PUBLIC_ADDRESS: - if (data_len < 6) - break; - print_addr(data, 0x00); - break; - - case BT_EIR_GAP_APPEARANCE: - if (data_len < 2) - break; - print_field("Appearance: 0x%4.4x", bt_get_le16(data)); - break; - - case BT_EIR_MANUFACTURER_DATA: - if (data_len < 2) - break; - print_manufacturer(bt_get_le16(data)); - print_hex_field(" Data", data + 2, data_len - 2); - break; - - default: - sprintf(label, "Unknown EIR field 0x%2.2x", eir[1]); - print_hex_field(label, data, data_len); - break; - } - - eir += field_len + 1; - } - - if (len < eir_len && eir[0] != 0) - packet_hexdump(eir, eir_len - len); -} - -void packet_hexdump(const unsigned char *buf, uint16_t len) -{ - static const char hexdigits[] = "0123456789abcdef"; - char str[68]; - uint16_t i; - - if (!len) - return; - - for (i = 0; i < len; i++) { - str[((i % 16) * 3) + 0] = hexdigits[buf[i] >> 4]; - str[((i % 16) * 3) + 1] = hexdigits[buf[i] & 0xf]; - str[((i % 16) * 3) + 2] = ' '; - str[(i % 16) + 49] = isprint(buf[i]) ? buf[i] : '.'; - - if ((i + 1) % 16 == 0) { - str[47] = ' '; - str[48] = ' '; - str[65] = '\0'; - print_text(COLOR_WHITE, "%s", str); - str[0] = ' '; - } - } - - if (i % 16 > 0) { - uint16_t j; - for (j = (i % 16); j < 16; j++) { - str[(j * 3) + 0] = ' '; - str[(j * 3) + 1] = ' '; - str[(j * 3) + 2] = ' '; - str[j + 49] = ' '; - } - str[47] = ' '; - str[48] = ' '; - str[65] = '\0'; - print_text(COLOR_WHITE, "%s", str); - } -} - -void packet_control(struct timeval *tv, uint16_t index, uint16_t opcode, - const void *data, uint16_t size) -{ - if (index_filter && index_number != index) - return; - - control_message(opcode, data, size); -} - -#define MONITOR_NEW_INDEX 0 -#define MONITOR_DEL_INDEX 1 -#define MONITOR_COMMAND_PKT 2 -#define MONITOR_EVENT_PKT 3 -#define MONITOR_ACL_TX_PKT 4 -#define MONITOR_ACL_RX_PKT 5 -#define MONITOR_SCO_TX_PKT 6 -#define MONITOR_SCO_RX_PKT 7 - -struct monitor_new_index { - uint8_t type; - uint8_t bus; - bdaddr_t bdaddr; - char name[8]; -} __attribute__((packed)); - -#define MONITOR_NEW_INDEX_SIZE 16 - -#define MONITOR_DEL_INDEX_SIZE 0 - -#define MAX_INDEX 16 - -struct index_data { - bdaddr_t bdaddr; -}; - -static struct index_data index_list[MAX_INDEX]; - -uint32_t packet_get_flags(uint16_t opcode) -{ - switch (opcode) { - case MONITOR_NEW_INDEX: - case MONITOR_DEL_INDEX: - break; - case MONITOR_COMMAND_PKT: - return 0x02; - case MONITOR_EVENT_PKT: - return 0x03; - case MONITOR_ACL_TX_PKT: - return 0x00; - case MONITOR_ACL_RX_PKT: - return 0x01; - case MONITOR_SCO_TX_PKT: - case MONITOR_SCO_RX_PKT: - break; - } - - return 0xff; -} - -uint16_t packet_get_opcode(uint8_t type, uint32_t flags) -{ - switch (type) { - case HCI_COMMAND_PKT: - return MONITOR_COMMAND_PKT; - case HCI_ACLDATA_PKT: - if (flags & 0x01) - return MONITOR_ACL_RX_PKT; - else - return MONITOR_ACL_TX_PKT; - case HCI_SCODATA_PKT: - if (flags & 0x01) - return MONITOR_SCO_RX_PKT; - else - return MONITOR_SCO_TX_PKT; - case HCI_EVENT_PKT: - return MONITOR_EVENT_PKT; - case 0xff: - if (flags & 0x02) { - if (flags & 0x01) - return MONITOR_EVENT_PKT; - else - return MONITOR_COMMAND_PKT; - } else { - if (flags & 0x01) - return MONITOR_ACL_RX_PKT; - else - return MONITOR_ACL_TX_PKT; - } - break; - } - - return 0xff; -} - -void packet_monitor(struct timeval *tv, uint16_t index, uint16_t opcode, - const void *data, uint16_t size) -{ - const struct monitor_new_index *ni; - char str[18], extra_str[24]; - - if (index_filter && index_number != index) - return; - - if (tv && time_offset == ((time_t) -1)) - time_offset = tv->tv_sec; - - switch (opcode) { - case MONITOR_NEW_INDEX: - ni = data; - - if (index < MAX_INDEX) { - bacpy(&index_list[index].bdaddr, &ni->bdaddr); - } - - ba2str(&ni->bdaddr, str); - packet_new_index(tv, index, str, ni->type, ni->bus, ni->name); - break; - case MONITOR_DEL_INDEX: - if (index < MAX_INDEX) - ba2str(&index_list[index].bdaddr, str); - else - ba2str(BDADDR_ANY, str); - - packet_del_index(tv, index, str); - break; - case MONITOR_COMMAND_PKT: - packet_hci_command(tv, index, data, size); - break; - case MONITOR_EVENT_PKT: - packet_hci_event(tv, index, data, size); - break; - case MONITOR_ACL_TX_PKT: - packet_hci_acldata(tv, index, false, data, size); - break; - case MONITOR_ACL_RX_PKT: - packet_hci_acldata(tv, index, true, data, size); - break; - case MONITOR_SCO_TX_PKT: - packet_hci_scodata(tv, index, false, data, size); - break; - case MONITOR_SCO_RX_PKT: - packet_hci_scodata(tv, index, true, data, size); - break; - default: - sprintf(extra_str, "(code %d len %d)", opcode, size); - print_packet(tv, index, '*', COLOR_ERROR, - "Unknown packet", NULL, extra_str); - packet_hexdump(data, size); - break; - } -} - -static void null_cmd(const void *data, uint8_t size) -{ -} - -static void status_rsp(const void *data, uint8_t size) -{ - uint8_t status = *((const uint8_t *) data); - - print_status(status); -} - -static void status_bdaddr_rsp(const void *data, uint8_t size) -{ - uint8_t status = *((const uint8_t *) data); - - print_status(status); - print_bdaddr(data + 1); -} - -static void inquiry_cmd(const void *data, uint8_t size) -{ - const struct bt_hci_cmd_inquiry *cmd = data; - - print_iac(cmd->lap); - print_field("Length: %.2fs (0x%2.2x)", - cmd->length * 1.28, cmd->length); - print_num_resp(cmd->num_resp); -} - -static void periodic_inquiry_cmd(const void *data, uint8_t size) -{ - const struct bt_hci_cmd_periodic_inquiry *cmd = data; - - print_field("Max period: %.2fs (0x%2.2x)", - cmd->max_period * 1.28, cmd->max_period); - print_field("Min period: %.2fs (0x%2.2x)", - cmd->min_period * 1.28, cmd->min_period); - print_iac(cmd->lap); - print_field("Length: %.2fs (0x%2.2x)", - cmd->length * 1.28, cmd->length); - print_num_resp(cmd->num_resp); -} - -static void create_conn_cmd(const void *data, uint8_t size) -{ - const struct bt_hci_cmd_create_conn *cmd = data; - const char *str; - - print_bdaddr(cmd->bdaddr); - print_pkt_type(cmd->pkt_type); - print_pscan_rep_mode(cmd->pscan_rep_mode); - print_pscan_mode(cmd->pscan_mode); - print_clock_offset(cmd->clock_offset); - - switch (cmd->role_switch) { - case 0x00: - str = "Stay master"; - break; - case 0x01: - str = "Allow slave"; - break; - default: - str = "Reserved"; - break; - } - - print_field("Role switch: %s (0x%2.2x)", str, cmd->role_switch); -} - -static void disconnect_cmd(const void *data, uint8_t size) -{ - const struct bt_hci_cmd_disconnect *cmd = data; - - print_handle(cmd->handle); - print_reason(cmd->reason); -} - -static void add_sco_conn_cmd(const void *data, uint8_t size) -{ - const struct bt_hci_cmd_add_sco_conn *cmd = data; - - print_handle(cmd->handle); - print_pkt_type(cmd->pkt_type); -} - -static void create_conn_cancel_cmd(const void *data, uint8_t size) -{ - const struct bt_hci_cmd_create_conn_cancel *cmd = data; - - print_bdaddr(cmd->bdaddr); -} - -static void accept_conn_request_cmd(const void *data, uint8_t size) -{ - const struct bt_hci_cmd_accept_conn_request *cmd = data; - - print_bdaddr(cmd->bdaddr); - print_role(cmd->role); -} - -static void reject_conn_request_cmd(const void *data, uint8_t size) -{ - const struct bt_hci_cmd_reject_conn_request *cmd = data; - - print_bdaddr(cmd->bdaddr); - print_reason(cmd->reason); -} - -static void link_key_request_reply_cmd(const void *data, uint8_t size) -{ - const struct bt_hci_cmd_link_key_request_reply *cmd = data; - - print_bdaddr(cmd->bdaddr); - print_link_key(cmd->link_key); -} - -static void link_key_request_neg_reply_cmd(const void *data, uint8_t size) -{ - const struct bt_hci_cmd_link_key_request_neg_reply *cmd = data; - - print_bdaddr(cmd->bdaddr); -} - -static void pin_code_request_reply_cmd(const void *data, uint8_t size) -{ - const struct bt_hci_cmd_pin_code_request_reply *cmd = data; - - print_bdaddr(cmd->bdaddr); - print_field("PIN length: %d", cmd->pin_len); - print_pin_code(cmd->pin_code, cmd->pin_len); -} - -static void pin_code_request_neg_reply_cmd(const void *data, uint8_t size) -{ - const struct bt_hci_cmd_pin_code_request_neg_reply *cmd = data; - - print_bdaddr(cmd->bdaddr); -} - -static void change_conn_pkt_type_cmd(const void *data, uint8_t size) -{ - const struct bt_hci_cmd_change_conn_pkt_type *cmd = data; - - print_handle(cmd->handle); - print_pkt_type(cmd->pkt_type); -} - -static void auth_requested_cmd(const void *data, uint8_t size) -{ - const struct bt_hci_cmd_auth_requested *cmd = data; - - print_handle(cmd->handle); -} - -static void set_conn_encrypt_cmd(const void *data, uint8_t size) -{ - const struct bt_hci_cmd_set_conn_encrypt *cmd = data; - - print_handle(cmd->handle); - print_encr_mode(cmd->encr_mode); -} - -static void change_conn_link_key_cmd(const void *data, uint8_t size) -{ - const struct bt_hci_cmd_change_conn_link_key *cmd = data; - - print_handle(cmd->handle); -} - -static void master_link_key_cmd(const void *data, uint8_t size) -{ - const struct bt_hci_cmd_master_link_key *cmd = data; - - print_key_flag(cmd->key_flag); -} - -static void remote_name_request_cmd(const void *data, uint8_t size) -{ - const struct bt_hci_cmd_remote_name_request *cmd = data; - - print_bdaddr(cmd->bdaddr); - print_pscan_rep_mode(cmd->pscan_rep_mode); - print_pscan_mode(cmd->pscan_mode); - print_clock_offset(cmd->clock_offset); -} - -static void remote_name_request_cancel_cmd(const void *data, uint8_t size) -{ - const struct bt_hci_cmd_remote_name_request_cancel *cmd = data; - - print_bdaddr(cmd->bdaddr); -} - -static void read_remote_features_cmd(const void *data, uint8_t size) -{ - const struct bt_hci_cmd_read_remote_features *cmd = data; - - print_handle(cmd->handle); -} - -static void read_remote_ext_features_cmd(const void *data, uint8_t size) -{ - const struct bt_hci_cmd_read_remote_ext_features *cmd = data; - - print_handle(cmd->handle); - print_field("Page: %d", cmd->page); -} - -static void read_remote_version_cmd(const void *data, uint8_t size) -{ - const struct bt_hci_cmd_read_remote_version *cmd = data; - - print_handle(cmd->handle); -} - -static void read_clock_offset_cmd(const void *data, uint8_t size) -{ - const struct bt_hci_cmd_read_clock_offset *cmd = data; - - print_handle(cmd->handle); -} - -static void read_lmp_handle_cmd(const void *data, uint8_t size) -{ - const struct bt_hci_cmd_read_lmp_handle *cmd = data; - - print_handle(cmd->handle); -} - -static void read_lmp_handle_rsp(const void *data, uint8_t size) -{ - const struct bt_hci_rsp_read_lmp_handle *rsp = data; - - print_status(rsp->status); - print_handle(rsp->handle); - print_field("LMP handle: %d", rsp->lmp_handle); - print_field("Reserved: %d", btohl(rsp->reserved)); -} - -static void setup_sync_conn_cmd(const void *data, uint8_t size) -{ - const struct bt_hci_cmd_setup_sync_conn *cmd = data; - - print_handle(cmd->handle); - print_field("Transmit bandwidth: %d", btohl(cmd->tx_bandwidth)); - print_field("Receive bandwidth: %d", btohl(cmd->rx_bandwidth)); - print_field("Max latency: %d", btohs(cmd->max_latency)); - print_voice_setting(cmd->voice_setting); - print_retransmission_effort(cmd->retrans_effort); - print_pkt_type(cmd->pkt_type); -} - -static void accept_sync_conn_cmd(const void *data, uint8_t size) -{ - const struct bt_hci_cmd_accept_sync_conn *cmd = data; - - print_bdaddr(cmd->bdaddr); - print_field("Transmit bandwidth: %d", btohl(cmd->tx_bandwidth)); - print_field("Receive bandwidth: %d", btohl(cmd->rx_bandwidth)); - print_field("Max latency: %d", btohs(cmd->max_latency)); - print_voice_setting(cmd->voice_setting); - print_retransmission_effort(cmd->retrans_effort); - print_pkt_type(cmd->pkt_type); -} - -static void reject_sync_conn_cmd(const void *data, uint8_t size) -{ - const struct bt_hci_cmd_reject_sync_conn *cmd = data; - - print_bdaddr(cmd->bdaddr); - print_reason(cmd->reason); -} - -static void io_capability_request_reply_cmd(const void *data, uint8_t size) -{ - const struct bt_hci_cmd_io_capability_request_reply *cmd = data; - - print_bdaddr(cmd->bdaddr); - print_io_capability(cmd->capability); - print_oob_data(cmd->oob_data); - print_authentication(cmd->authentication); -} - -static void user_confirm_request_reply_cmd(const void *data, uint8_t size) -{ - const struct bt_hci_cmd_user_confirm_request_reply *cmd = data; - - print_bdaddr(cmd->bdaddr); -} - -static void user_confirm_request_neg_reply_cmd(const void *data, uint8_t size) -{ - const struct bt_hci_cmd_user_confirm_request_neg_reply *cmd = data; - - print_bdaddr(cmd->bdaddr); -} - -static void user_passkey_request_reply_cmd(const void *data, uint8_t size) -{ - const struct bt_hci_cmd_user_passkey_request_reply *cmd = data; - - print_bdaddr(cmd->bdaddr); - print_passkey(cmd->passkey); -} - -static void user_passkey_request_neg_reply_cmd(const void *data, uint8_t size) -{ - const struct bt_hci_cmd_user_passkey_request_neg_reply *cmd = data; - - print_bdaddr(cmd->bdaddr); -} - -static void remote_oob_data_request_reply_cmd(const void *data, uint8_t size) -{ - const struct bt_hci_cmd_remote_oob_data_request_reply *cmd = data; - - print_bdaddr(cmd->bdaddr); - print_hash(cmd->hash); - print_randomizer(cmd->randomizer); -} - -static void remote_oob_data_request_neg_reply_cmd(const void *data, uint8_t size) -{ - const struct bt_hci_cmd_remote_oob_data_request_neg_reply *cmd = data; - - print_bdaddr(cmd->bdaddr); -} - -static void io_capability_request_neg_reply_cmd(const void *data, uint8_t size) -{ - const struct bt_hci_cmd_io_capability_request_neg_reply *cmd = data; - - print_bdaddr(cmd->bdaddr); - print_reason(cmd->reason); -} - -static void create_phy_link_cmd(const void *data, uint8_t size) -{ - const struct bt_hci_cmd_create_phy_link *cmd = data; - - print_phy_handle(cmd->phy_handle); - print_key_len(cmd->key_len); - print_key_type(cmd->key_type); - - packet_hexdump(data + 3, size - 3); -} - -static void accept_phy_link_cmd(const void *data, uint8_t size) -{ - const struct bt_hci_cmd_accept_phy_link *cmd = data; - - print_phy_handle(cmd->phy_handle); - print_key_len(cmd->key_len); - print_key_type(cmd->key_type); - - packet_hexdump(data + 3, size - 3); -} - -static void disconn_phy_link_cmd(const void *data, uint8_t size) -{ - const struct bt_hci_cmd_disconn_phy_link *cmd = data; - - print_phy_handle(cmd->phy_handle); - print_reason(cmd->reason); -} - -static void create_logic_link_cmd(const void *data, uint8_t size) -{ - const struct bt_hci_cmd_create_logic_link *cmd = data; - - print_phy_handle(cmd->phy_handle); - print_flow_spec("TX", cmd->tx_flow_spec); - print_flow_spec("RX", cmd->rx_flow_spec); -} - -static void accept_logic_link_cmd(const void *data, uint8_t size) -{ - const struct bt_hci_cmd_accept_logic_link *cmd = data; - - print_phy_handle(cmd->phy_handle); - print_flow_spec("TX", cmd->tx_flow_spec); - print_flow_spec("RX", cmd->rx_flow_spec); -} - -static void disconn_logic_link_cmd(const void *data, uint8_t size) -{ - const struct bt_hci_cmd_disconn_logic_link *cmd = data; - - print_handle(cmd->handle); -} - -static void logic_link_cancel_cmd(const void *data, uint8_t size) -{ - const struct bt_hci_cmd_logic_link_cancel *cmd = data; - - print_phy_handle(cmd->phy_handle); - print_field("TX flow spec: 0x%2.2x", cmd->flow_spec); -} - -static void logic_link_cancel_rsp(const void *data, uint8_t size) -{ - const struct bt_hci_rsp_logic_link_cancel *rsp = data; - - print_status(rsp->status); - print_phy_handle(rsp->phy_handle); - print_field("TX flow spec: 0x%2.2x", rsp->flow_spec); -} - -static void flow_spec_modify_cmd(const void *data, uint8_t size) -{ - const struct bt_hci_cmd_flow_spec_modify *cmd = data; - - print_handle(cmd->handle); - print_flow_spec("TX", cmd->tx_flow_spec); - print_flow_spec("RX", cmd->rx_flow_spec); -} - -static void hold_mode_cmd(const void *data, uint8_t size) -{ - const struct bt_hci_cmd_hold_mode *cmd = data; - - print_handle(cmd->handle); - print_slot_625("Hold max interval", cmd->max_interval); - print_slot_625("Hold min interval", cmd->min_interval); -} - -static void sniff_mode_cmd(const void *data, uint8_t size) -{ - const struct bt_hci_cmd_sniff_mode *cmd = data; - - print_handle(cmd->handle); - print_slot_625("Sniff max interval", cmd->max_interval); - print_slot_625("Sniff min interval", cmd->min_interval); - print_slot_125("Sniff attempt", cmd->attempt); - print_slot_125("Sniff timeout", cmd->timeout); -} - -static void exit_sniff_mode_cmd(const void *data, uint8_t size) -{ - const struct bt_hci_cmd_exit_sniff_mode *cmd = data; - - print_handle(cmd->handle); -} - -static void park_state_cmd(const void *data, uint8_t size) -{ - const struct bt_hci_cmd_park_state *cmd = data; - - print_handle(cmd->handle); - print_slot_625("Beacon max interval", cmd->max_interval); - print_slot_625("Beacon min interval", cmd->min_interval); -} - -static void exit_park_state_cmd(const void *data, uint8_t size) -{ - const struct bt_hci_cmd_exit_park_state *cmd = data; - - print_handle(cmd->handle); -} - -static void qos_setup_cmd(const void *data, uint8_t size) -{ - const struct bt_hci_cmd_qos_setup *cmd = data; - - print_handle(cmd->handle); - print_field("Flags: 0x%2.2x", cmd->flags); - - print_service_type(cmd->service_type); - - print_field("Token rate: %d", btohl(cmd->token_rate)); - print_field("Peak bandwidth: %d", btohl(cmd->peak_bandwidth)); - print_field("Latency: %d", btohl(cmd->latency)); - print_field("Delay variation: %d", btohl(cmd->delay_variation)); -} - -static void role_discovery_cmd(const void *data, uint8_t size) -{ - const struct bt_hci_cmd_role_discovery *cmd = data; - - print_handle(cmd->handle); -} - -static void role_discovery_rsp(const void *data, uint8_t size) -{ - const struct bt_hci_rsp_role_discovery *rsp = data; - - print_status(rsp->status); - print_handle(rsp->handle); - print_role(rsp->role); -} - -static void switch_role_cmd(const void *data, uint8_t size) -{ - const struct bt_hci_cmd_switch_role *cmd = data; - - print_bdaddr(cmd->bdaddr); - print_role(cmd->role); -} - -static void read_link_policy_cmd(const void *data, uint8_t size) -{ - const struct bt_hci_cmd_read_link_policy *cmd = data; - - print_handle(cmd->handle); -} - -static void read_link_policy_rsp(const void *data, uint8_t size) -{ - const struct bt_hci_rsp_read_link_policy *rsp = data; - - print_status(rsp->status); - print_handle(rsp->handle); - print_link_policy(rsp->policy); -} - -static void write_link_policy_cmd(const void *data, uint8_t size) -{ - const struct bt_hci_cmd_write_link_policy *cmd = data; - - print_handle(cmd->handle); - print_link_policy(cmd->policy); -} - -static void write_link_policy_rsp(const void *data, uint8_t size) -{ - const struct bt_hci_rsp_write_link_policy *rsp = data; - - print_status(rsp->status); - print_handle(rsp->handle); -} - -static void read_default_link_policy_rsp(const void *data, uint8_t size) -{ - const struct bt_hci_rsp_read_default_link_policy *rsp = data; - - print_status(rsp->status); - print_link_policy(rsp->policy); -} - -static void write_default_link_policy_cmd(const void *data, uint8_t size) -{ - const struct bt_hci_cmd_write_default_link_policy *cmd = data; - - print_link_policy(cmd->policy); -} - -static void flow_spec_cmd(const void *data, uint8_t size) -{ - const struct bt_hci_cmd_flow_spec *cmd = data; - - print_handle(cmd->handle); - print_field("Flags: 0x%2.2x", cmd->flags); - - print_flow_direction(cmd->direction); - print_service_type(cmd->service_type); - - print_field("Token rate: %d", btohl(cmd->token_rate)); - print_field("Token bucket size: %d", btohl(cmd->token_bucket_size)); - print_field("Peak bandwidth: %d", btohl(cmd->peak_bandwidth)); - print_field("Access latency: %d", btohl(cmd->access_latency)); -} - -static void sniff_subrating_cmd(const void *data, uint8_t size) -{ - const struct bt_hci_cmd_sniff_subrating *cmd = data; - - print_handle(cmd->handle); - print_slot_625("Max latency", cmd->max_latency); - print_slot_625("Min remote timeout", cmd->min_remote_timeout); - print_slot_625("Min local timeout", cmd->min_local_timeout); -} - -static void sniff_subrating_rsp(const void *data, uint8_t size) -{ - const struct bt_hci_rsp_sniff_subrating *rsp = data; - - print_status(rsp->status); - print_handle(rsp->handle); -} - -static void set_event_mask_cmd(const void *data, uint8_t size) -{ - const struct bt_hci_cmd_set_event_mask *cmd = data; - - print_event_mask(cmd->mask); -} - -static void set_event_filter_cmd(const void *data, uint8_t size) -{ - uint8_t type = *((const uint8_t *) data); - - print_field("Type: 0x%2.2x", type); - - packet_hexdump(data + 1, size - 1); -} - -static void flush_cmd(const void *data, uint8_t size) -{ - const struct bt_hci_cmd_flush *cmd = data; - - print_handle(cmd->handle); -} - -static void flush_rsp(const void *data, uint8_t size) -{ - const struct bt_hci_rsp_flush *rsp = data; - - print_status(rsp->status); - print_handle(rsp->handle); -} - -static void read_pin_type_rsp(const void *data, uint8_t size) -{ - const struct bt_hci_rsp_read_pin_type *rsp = data; - - print_status(rsp->status); - print_pin_type(rsp->pin_type); -} - -static void write_pin_type_cmd(const void *data, uint8_t size) -{ - const struct bt_hci_cmd_write_pin_type *cmd = data; - - print_pin_type(cmd->pin_type); -} - -static void read_stored_link_key_cmd(const void *data, uint8_t size) -{ - const struct bt_hci_cmd_read_stored_link_key *cmd = data; - - print_bdaddr(cmd->bdaddr); - print_field("Read all: 0x%2.2x", cmd->read_all); -} - -static void read_stored_link_key_rsp(const void *data, uint8_t size) -{ - const struct bt_hci_rsp_read_stored_link_key *rsp = data; - - print_status(rsp->status); - print_field("Max num keys: %d", btohs(rsp->max_num_keys)); - print_field("Num keys: %d", btohs(rsp->num_keys)); -} - -static void write_stored_link_key_cmd(const void *data, uint8_t size) -{ - const struct bt_hci_cmd_write_stored_link_key *cmd = data; - - print_field("Num keys: %d", cmd->num_keys); - - packet_hexdump(data + 1, size - 1); -} - -static void write_stored_link_key_rsp(const void *data, uint8_t size) -{ - const struct bt_hci_rsp_write_stored_link_key *rsp = data; - - print_status(rsp->status); - print_field("Num keys: %d", rsp->num_keys); -} - -static void delete_stored_link_key_cmd(const void *data, uint8_t size) -{ - const struct bt_hci_cmd_delete_stored_link_key *cmd = data; - - print_bdaddr(cmd->bdaddr); - print_field("Delete all: 0x%2.2x", cmd->delete_all); -} - -static void delete_stored_link_key_rsp(const void *data, uint8_t size) -{ - const struct bt_hci_rsp_delete_stored_link_key *rsp = data; - - print_status(rsp->status); - print_field("Num keys: %d", btohs(rsp->num_keys)); -} - -static void write_local_name_cmd(const void *data, uint8_t size) -{ - const struct bt_hci_cmd_write_local_name *cmd = data; - - print_name(cmd->name); -} - -static void read_local_name_rsp(const void *data, uint8_t size) -{ - const struct bt_hci_rsp_read_local_name *rsp = data; - - print_status(rsp->status); - print_name(rsp->name); -} - -static void read_conn_accept_timeout_rsp(const void *data, uint8_t size) -{ - const struct bt_hci_rsp_read_conn_accept_timeout *rsp = data; - - print_status(rsp->status); - print_timeout(rsp->timeout); -} - -static void write_conn_accept_timeout_cmd(const void *data, uint8_t size) -{ - const struct bt_hci_cmd_write_conn_accept_timeout *cmd = data; - - print_timeout(cmd->timeout); -} - -static void read_page_timeout_rsp(const void *data, uint8_t size) -{ - const struct bt_hci_rsp_read_page_timeout *rsp = data; - - print_status(rsp->status); - print_timeout(rsp->timeout); -} - -static void write_page_timeout_cmd(const void *data, uint8_t size) -{ - const struct bt_hci_cmd_write_page_timeout *cmd = data; - - print_timeout(cmd->timeout); -} - -static void read_scan_enable_rsp(const void *data, uint8_t size) -{ - const struct bt_hci_rsp_read_scan_enable *rsp = data; - - print_status(rsp->status); - print_scan_enable(rsp->enable); -} - -static void write_scan_enable_cmd(const void *data, uint8_t size) -{ - const struct bt_hci_cmd_write_scan_enable *cmd = data; - - print_scan_enable(cmd->enable); -} - -static void read_page_scan_activity_rsp(const void *data, uint8_t size) -{ - const struct bt_hci_rsp_read_page_scan_activity *rsp = data; - - print_status(rsp->status); - print_interval(rsp->interval); - print_window(rsp->window); -} - -static void write_page_scan_activity_cmd(const void *data, uint8_t size) -{ - const struct bt_hci_cmd_write_page_scan_activity *cmd = data; - - print_interval(cmd->interval); - print_window(cmd->window); -} - -static void read_class_of_dev_rsp(const void *data, uint8_t size) -{ - const struct bt_hci_rsp_read_class_of_dev *rsp = data; - - print_status(rsp->status); - print_dev_class(rsp->dev_class); -} - -static void write_class_of_dev_cmd(const void *data, uint8_t size) -{ - const struct bt_hci_cmd_write_class_of_dev *cmd = data; - - print_dev_class(cmd->dev_class); -} - -static void read_voice_setting_rsp(const void *data, uint8_t size) -{ - const struct bt_hci_rsp_read_voice_setting *rsp = data; - - print_status(rsp->status); - print_voice_setting(rsp->setting); -} - -static void write_voice_setting_cmd(const void *data, uint8_t size) -{ - const struct bt_hci_cmd_write_voice_setting *cmd = data; - - print_voice_setting(cmd->setting); -} - -static void read_inquiry_mode_rsp(const void *data, uint8_t size) -{ - const struct bt_hci_rsp_read_inquiry_mode *rsp = data; - - print_status(rsp->status); - print_inquiry_mode(rsp->mode); -} - -static void write_inquiry_mode_cmd(const void *data, uint8_t size) -{ - const struct bt_hci_cmd_write_inquiry_mode *cmd = data; - - print_inquiry_mode(cmd->mode); -} - -static void read_page_scan_type_rsp(const void *data, uint8_t size) -{ - const struct bt_hci_rsp_read_page_scan_type *rsp = data; - - print_status(rsp->status); - print_pscan_type(rsp->type); -} - -static void write_page_scan_type_cmd(const void *data, uint8_t size) -{ - const struct bt_hci_cmd_write_page_scan_type *cmd = data; - - print_pscan_type(cmd->type); -} - -static void read_ext_inquiry_response_rsp(const void *data, uint8_t size) -{ - const struct bt_hci_rsp_read_ext_inquiry_response *rsp = data; - - print_status(rsp->status); - print_fec(rsp->fec); - print_eir(rsp->data, sizeof(rsp->data), false); -} - -static void write_ext_inquiry_response_cmd(const void *data, uint8_t size) -{ - const struct bt_hci_cmd_write_ext_inquiry_response *cmd = data; - - print_fec(cmd->fec); - print_eir(cmd->data, sizeof(cmd->data), false); -} - -static void refresh_encrypt_key_cmd(const void *data, uint8_t size) -{ - const struct bt_hci_cmd_refresh_encrypt_key *cmd = data; - - print_handle(cmd->handle); -} - -static void read_simple_pairing_mode_rsp(const void *data, uint8_t size) -{ - const struct bt_hci_rsp_read_simple_pairing_mode *rsp = data; - - print_status(rsp->status); - print_simple_pairing_mode(rsp->mode); -} - -static void write_simple_pairing_mode_cmd(const void *data, uint8_t size) -{ - const struct bt_hci_cmd_write_simple_pairing_mode *cmd = data; - - print_simple_pairing_mode(cmd->mode); -} - -static void read_inquiry_resp_tx_power_rsp(const void *data, uint8_t size) -{ - const struct bt_hci_rsp_read_inquiry_resp_tx_power *rsp = data; - - print_status(rsp->status); - print_field("TX power: %d dBm", rsp->level); -} - -static void enhanced_flush_cmd(const void *data, uint8_t size) -{ - const struct bt_hci_cmd_enhanced_flush *cmd = data; - const char *str; - - print_handle(cmd->handle); - - switch (cmd->type) { - case 0x00: - str = "Automatic flushable only"; - break; - default: - str = "Reserved"; - break; - } - - print_field("Type: %s (0x%2.2x)", str, cmd->type); -} - -static void set_event_mask_page2_cmd(const void *data, uint8_t size) -{ - const struct bt_hci_cmd_set_event_mask_page2 *cmd = data; - - print_event_mask_page2(cmd->mask); -} - -static void read_le_host_supported_rsp(const void *data, uint8_t size) -{ - const struct bt_hci_rsp_read_le_host_supported *rsp = data; - - print_status(rsp->status); - print_field("Supported: 0x%2.2x", rsp->supported); - print_field("Simultaneous: 0x%2.2x", rsp->simultaneous); -} - -static void write_le_host_supported_cmd(const void *data, uint8_t size) -{ - const struct bt_hci_cmd_write_le_host_supported *cmd = data; - - print_field("Supported: 0x%2.2x", cmd->supported); - print_field("Simultaneous: 0x%2.2x", cmd->simultaneous); -} - -static void read_local_version_rsp(const void *data, uint8_t size) -{ - const struct bt_hci_rsp_read_local_version *rsp = data; - - print_status(rsp->status); - print_hci_version(rsp->hci_ver, rsp->hci_rev); - print_lmp_version(rsp->lmp_ver, rsp->lmp_subver); - print_manufacturer(rsp->manufacturer); -} - -static void read_local_commands_rsp(const void *data, uint8_t size) -{ - const struct bt_hci_rsp_read_local_commands *rsp = data; - - print_status(rsp->status); - print_commands(rsp->commands); -} - -static void read_local_features_rsp(const void *data, uint8_t size) -{ - const struct bt_hci_rsp_read_local_features *rsp = data; - - print_status(rsp->status); - print_features(0, rsp->features, 0x00); -} - -static void read_local_ext_features_cmd(const void *data, uint8_t size) -{ - const struct bt_hci_cmd_read_local_ext_features *cmd = data; - - print_field("Page: %d", cmd->page); -} - -static void read_local_ext_features_rsp(const void *data, uint8_t size) -{ - const struct bt_hci_rsp_read_local_ext_features *rsp = data; - - print_status(rsp->status); - print_field("Page: %d/%d", rsp->page, rsp->max_page); - print_features(rsp->page, rsp->features, 0x00); -} - -static void read_buffer_size_rsp(const void *data, uint8_t size) -{ - const struct bt_hci_rsp_read_buffer_size *rsp = data; - - print_status(rsp->status); - print_field("ACL MTU: %-4d ACL max packet: %d", - btohs(rsp->acl_mtu), btohs(rsp->acl_max_pkt)); - print_field("SCO MTU: %-4d SCO max packet: %d", - rsp->sco_mtu, btohs(rsp->sco_max_pkt)); -} - -static void read_country_code_rsp(const void *data, uint8_t size) -{ - const struct bt_hci_rsp_read_country_code *rsp = data; - const char *str; - - print_status(rsp->status); - - switch (rsp->code) { - case 0x00: - str = "North America, Europe*, Japan"; - break; - case 0x01: - str = "France"; - break; - default: - str = "Reserved"; - break; - } - - print_field("Country code: %s (0x%2.2x)", str, rsp->code); -} - -static void read_bd_addr_rsp(const void *data, uint8_t size) -{ - const struct bt_hci_rsp_read_bd_addr *rsp = data; - - print_status(rsp->status); - print_bdaddr(rsp->bdaddr); -} - -static void read_data_block_size_rsp(const void *data, uint8_t size) -{ - const struct bt_hci_rsp_read_data_block_size *rsp = data; - - print_status(rsp->status); - print_field("Max ACL length: %d", btohs(rsp->max_acl_len)); - print_field("Block length: %d", btohs(rsp->block_len)); - print_field("Num blocks: %d", btohs(rsp->num_blocks)); -} - -static void read_encrypt_key_size_cmd(const void *data, uint8_t size) -{ - const struct bt_hci_cmd_read_encrypt_key_size *cmd = data; - - print_handle(cmd->handle); -} - -static void read_encrypt_key_size_rsp(const void *data, uint8_t size) -{ - const struct bt_hci_rsp_read_encrypt_key_size *rsp = data; - - print_status(rsp->status); - print_handle(rsp->handle); - print_key_size(rsp->key_size); -} - -static void read_local_amp_info_rsp(const void *data, uint8_t size) -{ - const struct bt_hci_rsp_read_local_amp_info *rsp = data; - const char *str; - - print_status(rsp->status); - print_amp_status(rsp->amp_status); - - print_field("Total bandwidth: %d kbps", btohl(rsp->total_bw)); - print_field("Max guaranteed bandwidth: %d kbps", btohl(rsp->max_bw)); - print_field("Min latency: %d", btohl(rsp->min_latency)); - print_field("Max PDU size: %d", btohl(rsp->max_pdu)); - - switch (rsp->amp_type) { - case 0x00: - str = "Primary BR/EDR Controller"; - break; - case 0x01: - str = "802.11 AMP Controller"; - break; - default: - str = "Reserved"; - break; - } - - print_field("Controller type: %s (0x%2.2x)", str, rsp->amp_type); - - print_field("PAL capabilities: 0x%4.4x", btohs(rsp->pal_cap)); - print_field("Max ASSOC length: %d", btohs(rsp->max_assoc_len)); - print_field("Max flush timeout: %d", btohl(rsp->max_flush_to)); - print_field("Best effort flush timeout: %d", btohl(rsp->be_flush_to)); -} - -static void read_local_amp_assoc_cmd(const void *data, uint8_t size) -{ - const struct bt_hci_cmd_read_local_amp_assoc *cmd = data; - - print_phy_handle(cmd->phy_handle); - print_field("Length so far: %d", btohs(cmd->len_so_far)); - print_field("Max ASSOC length: %d", btohs(cmd->max_assoc_len)); -} - -static void read_local_amp_assoc_rsp(const void *data, uint8_t size) -{ - const struct bt_hci_rsp_read_local_amp_assoc *rsp = data; - - print_status(rsp->status); - print_phy_handle(rsp->phy_handle); - print_field("Remaining ASSOC length: %d", btohs(rsp->remain_assoc_len)); - - packet_hexdump(data + 4, size - 4); -} - -static void write_remote_amp_assoc_cmd(const void *data, uint8_t size) -{ - const struct bt_hci_cmd_write_remote_amp_assoc *cmd = data; - - print_phy_handle(cmd->phy_handle); - print_field("Length so far: %d", btohs(cmd->len_so_far)); - print_field("Remaining ASSOC length: %d", btohs(cmd->remain_assoc_len)); - - packet_hexdump(data + 5, size - 5); -} - -static void write_remote_amp_assoc_rsp(const void *data, uint8_t size) -{ - const struct bt_hci_rsp_write_remote_amp_assoc *rsp = data; - - print_status(rsp->status); - print_phy_handle(rsp->phy_handle); -} - -static void le_set_event_mask_cmd(const void *data, uint8_t size) -{ - const struct bt_hci_cmd_le_set_event_mask *cmd = data; - - print_event_mask_le(cmd->mask); -} - -static void le_read_buffer_size_rsp(const void *data, uint8_t size) -{ - const struct bt_hci_rsp_le_read_buffer_size *rsp = data; - - print_status(rsp->status); - print_field("Data packet length: %d", btohs(rsp->le_mtu)); - print_field("Num data packets: %d", rsp->le_max_pkt); -} - -static void le_read_local_features_rsp(const void *data, uint8_t size) -{ - const struct bt_hci_rsp_le_read_local_features *rsp = data; - - print_status(rsp->status); - print_features(0, rsp->features, 0x01); -} - -static void le_set_random_address_cmd(const void *data, uint8_t size) -{ - const struct bt_hci_cmd_le_set_random_address *cmd = data; - - print_addr(cmd->addr, 0x01); -} - -static void le_read_adv_tx_power_rsp(const void *data, uint8_t size) -{ - const struct bt_hci_rsp_le_read_adv_tx_power *rsp = data; - - print_status(rsp->status); - print_field("TX power: %d dBm", rsp->level); -} - -static void le_set_adv_data_cmd(const void *data, uint8_t size) -{ - const struct bt_hci_cmd_le_set_adv_data *cmd = data; - - print_field("Length: %d", cmd->len); - print_eir(cmd->data, cmd->len, true); -} - -static void le_set_scan_response_data_cmd(const void *data, uint8_t size) -{ - const struct bt_hci_cmd_le_set_scan_response_data *cmd = data; - - print_field("Length: %d", cmd->len); - print_eir(cmd->data, cmd->len, true); -} - -static void le_set_adv_enable_cmd(const void *data, uint8_t size) -{ - const struct bt_hci_cmd_le_set_adv_enable *cmd = data; - const char *str; - - switch (cmd->enable) { - case 0x00: - str = "Disabled"; - break; - case 0x01: - str = "Enabled"; - break; - default: - str = "Reserved"; - break; - } - - print_field("Advertising: %s (0x%2.2x)", str, cmd->enable); -} - -static void le_set_scan_parameters_cmd(const void *data, uint8_t size) -{ - const struct bt_hci_cmd_le_set_scan_parameters *cmd = data; - const char *str; - - switch (cmd->type) { - case 0x00: - str = "Passive"; - break; - case 0x01: - str = "Active"; - break; - default: - str = "Reserved"; - break; - } - - print_field("Type: %s (0x%2.2x)", str, cmd->type); - - print_interval(cmd->interval); - print_window(cmd->window); - print_addr_type("Own address type", cmd->own_addr_type); - - switch (cmd->filter_policy) { - case 0x00: - str = "Accept all advertisement"; - break; - case 0x01: - str = "Ignore not in white list"; - break; - default: - str = "Reserved"; - break; - } - - print_field("Filter policy: %s (0x%2.2x)", str, cmd->filter_policy); -} - -static void le_set_scan_enable_cmd(const void *data, uint8_t size) -{ - const struct bt_hci_cmd_le_set_scan_enable *cmd = data; - const char *str; - - switch (cmd->enable) { - case 0x00: - str = "Disabled"; - break; - case 0x01: - str = "Enabled"; - break; - default: - str = "Reserved"; - break; - } - - print_field("Scanning: %s (0x%2.2x)", str, cmd->enable); - - switch (cmd->filter_dup) { - case 0x00: - str = "Disabled"; - break; - case 0x01: - str = "Enabled"; - break; - default: - str = "Reserved"; - break; - } - - print_field("Filter duplicates: %s (0x%2.2x)", str, cmd->filter_dup); -} - -static void le_create_conn_cmd(const void *data, uint8_t size) -{ - const struct bt_hci_cmd_le_create_conn *cmd = data; - const char *str; - - print_slot_625("Scan interval", cmd->scan_interval); - print_slot_625("Scan window", cmd->scan_window); - - switch (cmd->filter_policy) { - case 0x00: - str = "White list is not used"; - break; - case 0x01: - str = "White list is used"; - break; - default: - str = "Reserved"; - break; - } - - print_field("Filter policy: %s (0x%2.2x)", str, cmd->filter_policy); - - print_addr_type("Peer address type", cmd->peer_addr_type); - print_addr(cmd->peer_addr, cmd->peer_addr_type); - print_addr_type("Own address type", cmd->own_addr_type); - - print_slot_125("Min connection interval", cmd->min_interval); - print_slot_125("Max connection interval", cmd->max_interval); - print_field("Connection latency: 0x%4.4x", btohs(cmd->latency)); - print_field("Supervision timeout: %d msec (0x%4.4x)", - btohs(cmd->supv_timeout) * 10, btohs(cmd->supv_timeout)); - print_slot_625("Min connection length", cmd->min_length); - print_slot_625("Max connection length", cmd->max_length); -} - -static void le_read_white_list_size_rsp(const void *data, uint8_t size) -{ - const struct bt_hci_rsp_le_read_white_list_size *rsp = data; - - print_status(rsp->status); - print_field("Size: %u", rsp->size); -} - -static void le_add_to_white_list_cmd(const void *data, uint8_t size) -{ - const struct bt_hci_cmd_le_add_to_white_list *cmd = data; - - print_addr_type("Address type", cmd->addr_type); - print_addr(cmd->addr, cmd->addr_type); -} - -static void le_remove_from_white_list_cmd(const void *data, uint8_t size) -{ - const struct bt_hci_cmd_le_remove_from_white_list *cmd = data; - - print_addr_type("Address type", cmd->addr_type); - print_addr(cmd->addr, cmd->addr_type); -} - -static void le_conn_update_cmd(const void *data, uint8_t size) -{ - const struct bt_hci_cmd_le_conn_update *cmd = data; - - print_handle(cmd->handle); - print_slot_125("Min connection interval", cmd->min_interval); - print_slot_125("Max connection interval", cmd->max_interval); - print_field("Connection latency: 0x%4.4x", btohs(cmd->latency)); - print_field("Supervision timeout: %d msec (0x%4.4x)", - btohs(cmd->supv_timeout) * 10, btohs(cmd->supv_timeout)); - print_slot_625("Min connection length", cmd->min_length); - print_slot_625("Max connection length", cmd->max_length); -} - -static void le_set_host_classification_cmd(const void *data, uint8_t size) -{ - const struct bt_hci_cmd_le_set_host_classification *cmd = data; - - print_le_channel_map(cmd->map); -} - -static void le_read_channel_map_cmd(const void *data, uint8_t size) -{ - const struct bt_hci_cmd_le_read_channel_map *cmd = data; - - print_handle(cmd->handle); -} - -static void le_read_channel_map_rsp(const void *data, uint8_t size) -{ - const struct bt_hci_rsp_le_read_channel_map *rsp = data; - - print_status(rsp->status); - print_handle(rsp->handle); - print_le_channel_map(rsp->map); -} - -static void le_read_remote_features_cmd(const void *data, uint8_t size) -{ - const struct bt_hci_cmd_le_read_remote_features *cmd = data; - - print_handle(cmd->handle); -} - -static void le_encrypt_cmd(const void *data, uint8_t size) -{ - const struct bt_hci_cmd_le_encrypt *cmd = data; - - print_key("Key", cmd->key); - print_key("Plaintext data", cmd->plaintext); -} - -static void le_encrypt_rsp(const void *data, uint8_t size) -{ - const struct bt_hci_rsp_le_encrypt *rsp = data; - - print_status(rsp->status); - print_key("Encrypted data", rsp->data); -} - -static void le_rand_rsp(const void *data, uint8_t size) -{ - const struct bt_hci_rsp_le_rand *rsp = data; - - print_status(rsp->status); - print_random_number(rsp->number); -} - -static void le_start_encrypt(const void *data, uint8_t size) -{ - const struct bt_hci_cmd_le_start_encrypt *cmd = data; - - print_handle(cmd->handle); - print_random_number(cmd->number); - print_field("Encryption diversifier: 0x%4.4x", - btohs(cmd->diversifier)); - print_key("Long term key", cmd->ltk); - -} - -static void le_read_supported_states_rsp(const void *data, uint8_t size) -{ - const struct bt_hci_rsp_le_read_supported_states *rsp = data; - - print_status(rsp->status); - print_le_states(rsp->states); -} - -struct opcode_data { - uint16_t opcode; - int bit; - const char *str; - void (*cmd_func) (const void *data, uint8_t size); - uint8_t cmd_size; - bool cmd_fixed; - void (*rsp_func) (const void *data, uint8_t size); - uint8_t rsp_size; - bool rsp_fixed; -}; - -static const struct opcode_data opcode_table[] = { - { 0x0000, -1, "NOP" }, - - /* OGF 1 - Link Control */ - { 0x0401, 0, "Inquiry", - inquiry_cmd, 5, true }, - { 0x0402, 1, "Inquiry Cancel", - null_cmd, 0, true, - status_rsp, 1, true }, - { 0x0403, 2, "Periodic Inquiry Mode", - periodic_inquiry_cmd, 9, true, - status_rsp, 1, true }, - { 0x0404, 3, "Exit Periodic Inquiry Mode", - null_cmd, 0, true, - status_rsp, 1, true }, - { 0x0405, 4, "Create Connection", - create_conn_cmd, 13, true }, - { 0x0406, 5, "Disconnect", - disconnect_cmd, 3, true }, - { 0x0407, 6, "Add SCO Connection", - add_sco_conn_cmd, 4, true }, - { 0x0408, 7, "Create Connection Cancel", - create_conn_cancel_cmd, 6, true, - status_bdaddr_rsp, 7, true }, - { 0x0409, 8, "Accept Connection Request", - accept_conn_request_cmd, 7, true }, - { 0x040a, 9, "Reject Connection Request", - reject_conn_request_cmd, 7, true }, - { 0x040b, 10, "Link Key Request Reply", - link_key_request_reply_cmd, 22, true, - status_bdaddr_rsp, 7, true }, - { 0x040c, 11, "Link Key Request Negative Reply", - link_key_request_neg_reply_cmd, 6, true, - status_bdaddr_rsp, 7, true }, - { 0x040d, 12, "PIN Code Request Reply", - pin_code_request_reply_cmd, 23, true, - status_bdaddr_rsp, 7, true }, - { 0x040e, 13, "PIN Code Request Negative Reply", - pin_code_request_neg_reply_cmd, 6, true, - status_bdaddr_rsp, 7, true }, - { 0x040f, 14, "Change Connection Packet Type", - change_conn_pkt_type_cmd, 4, true }, - /* reserved command */ - { 0x0411, 15, "Authentication Requested", - auth_requested_cmd, 2, true }, - /* reserved command */ - { 0x0413, 16, "Set Connection Encryption", - set_conn_encrypt_cmd, 3, true }, - /* reserved command */ - { 0x0415, 17, "Change Connection Link Key", - change_conn_link_key_cmd, 2, true }, - /* reserved command */ - { 0x0417, 18, "Master Link Key", - master_link_key_cmd, 1, true }, - /* reserved command */ - { 0x0419, 19, "Remote Name Request", - remote_name_request_cmd, 10, true }, - { 0x041a, 20, "Remote Name Request Cancel", - remote_name_request_cancel_cmd, 6, true, - status_bdaddr_rsp, 7, true }, - { 0x041b, 21, "Read Remote Supported Features", - read_remote_features_cmd, 2, true }, - { 0x041c, 22, "Read Remote Extended Features", - read_remote_ext_features_cmd, 3, true }, - { 0x041d, 23, "Read Remote Version Information", - read_remote_version_cmd, 2, true }, - /* reserved command */ - { 0x041f, 24, "Read Clock Offset", - read_clock_offset_cmd, 2, true }, - { 0x0420, 25, "Read LMP Handle", - read_lmp_handle_cmd, 2, true, - read_lmp_handle_rsp, 8, true }, - /* reserved commands */ - { 0x0428, 131, "Setup Synchronous Connection", - setup_sync_conn_cmd, 17, true }, - { 0x0429, 132, "Accept Synchronous Connection", - accept_sync_conn_cmd, 21, true }, - { 0x042a, 133, "Reject Synchronous Connection", - reject_sync_conn_cmd, 7, true }, - { 0x042b, 151, "IO Capability Request Reply", - io_capability_request_reply_cmd, 9, true, - status_bdaddr_rsp, 7, true }, - { 0x042c, 152, "User Confirmation Request Reply", - user_confirm_request_reply_cmd, 6, true, - status_bdaddr_rsp, 7, true }, - { 0x042d, 153, "User Confirmation Request Neg Reply", - user_confirm_request_neg_reply_cmd, 6, true, - status_bdaddr_rsp, 7, true }, - { 0x042e, 154, "User Passkey Request Reply", - user_passkey_request_reply_cmd, 10, true, - status_bdaddr_rsp, 7, true }, - { 0x042f, 155, "User Passkey Request Negative Reply", - user_passkey_request_neg_reply_cmd, 6, true, - status_bdaddr_rsp, 7, true }, - { 0x0430, 156, "Remote OOB Data Request Reply", - remote_oob_data_request_reply_cmd, 38, true, - status_bdaddr_rsp, 7, true }, - /* reserved commands */ - { 0x0433, 159, "Remote OOB Data Request Neg Reply", - remote_oob_data_request_neg_reply_cmd, 6, true, - status_bdaddr_rsp, 7, true }, - { 0x0434, 163, "IO Capability Request Negative Reply", - io_capability_request_neg_reply_cmd, 7, true, - status_bdaddr_rsp, 7, true }, - { 0x0435, 168, "Create Physical Link", - create_phy_link_cmd, 3, false }, - { 0x0436, 169, "Accept Physical Link", - accept_phy_link_cmd, 3, false }, - { 0x0437, 170, "Disconnect Physical Link", - disconn_phy_link_cmd, 2, true }, - { 0x0438, 171, "Create Logical Link", - create_logic_link_cmd, 33, true }, - { 0x0439, 172, "Accept Logical Link", - accept_logic_link_cmd, 33, true }, - { 0x043a, 173, "Disconnect Logical Link", - disconn_logic_link_cmd, 2, true }, - { 0x043b, 174, "Logical Link Cancel", - logic_link_cancel_cmd, 2, true, - logic_link_cancel_rsp, 3, true }, - { 0x043c, 175, "Flow Specifcation Modify", - flow_spec_modify_cmd, 34, true }, - { 0x043d, 235, "Enhanced Setup Synchronous Connection" }, - { 0x043e, 236, "Enhanced Accept Synchronous Connection" }, - { 0x043f, 246, "Truncated Page" }, - { 0x0440, 247, "Truncated Page Cancel" }, - { 0x0441, 248, "Set Connectionless Slave Broadcast" }, - { 0x0442, 249, "Set Connectionless Slave Broadcast Receive" }, - { 0x0443, 250, "Start Synchronization Train" }, - { 0x0444, 251, "Receive Synchronization Train" }, - - /* OGF 2 - Link Policy */ - { 0x0801, 33, "Holde Mode", - hold_mode_cmd, 6, true }, - /* reserved command */ - { 0x0803, 34, "Sniff Mode", - sniff_mode_cmd, 10, true }, - { 0x0804, 35, "Exit Sniff Mode", - exit_sniff_mode_cmd, 2, true }, - { 0x0805, 36, "Park State", - park_state_cmd, 6, true }, - { 0x0806, 37, "Exit Park State", - exit_park_state_cmd, 2, true }, - { 0x0807, 38, "QoS Setup", - qos_setup_cmd, 20, true }, - /* reserved command */ - { 0x0809, 39, "Role Discovery", - role_discovery_cmd, 2, true, - role_discovery_rsp, 4, true }, - /* reserved command */ - { 0x080b, 40, "Switch Role", - switch_role_cmd, 7, true }, - { 0x080c, 41, "Read Link Policy Settings", - read_link_policy_cmd, 2, true, - read_link_policy_rsp, 5, true }, - { 0x080d, 42, "Write Link Policy Settings", - write_link_policy_cmd, 2, true, - write_link_policy_rsp, 2, true }, - { 0x080e, 43, "Read Default Link Policy Settings", - null_cmd, 0, true, - read_default_link_policy_rsp, 3, true }, - { 0x080f, 44, "Write Default Link Policy Settings", - write_default_link_policy_cmd, 2, true, - status_rsp, 1, true }, - { 0x0810, 45, "Flow Specification", - flow_spec_cmd, 21, true }, - { 0x0811, 140, "Sniff Subrating", - sniff_subrating_cmd, 8, true, - sniff_subrating_rsp, 3, true }, - - /* OGF 3 - Host Control */ - { 0x0c01, 46, "Set Event Mask", - set_event_mask_cmd, 8, true, - status_rsp, 1, true }, - /* reserved command */ - { 0x0c03, 47, "Reset", - null_cmd, 0, true, - status_rsp, 1, true }, - /* reserved command */ - { 0x0c05, 48, "Set Event Filter", - set_event_filter_cmd, 1, false, - status_rsp, 1, true }, - /* reserved commands */ - { 0x0c08, 49, "Flush", - flush_cmd, 2, true, - flush_rsp, 3, true }, - { 0x0c09, 50, "Read PIN Type", - null_cmd, 0, true, - read_pin_type_rsp, 2, true }, - { 0x0c0a, 51, "Write PIN Type", - write_pin_type_cmd, 1, true, - status_rsp, 1, true }, - { 0x0c0b, 52, "Create New Unit Key", - null_cmd, 0, true, - status_rsp, 1, true }, - /* reserved command */ - { 0x0c0d, 53, "Read Stored Link Key", - read_stored_link_key_cmd, 7, true, - read_stored_link_key_rsp, 5, true }, - /* reserved commands */ - { 0x0c11, 54, "Write Stored Link Key", - write_stored_link_key_cmd, 1, false, - write_stored_link_key_rsp, 2, true }, - { 0x0c12, 55, "Delete Stored Link Key", - delete_stored_link_key_cmd, 7, true, - delete_stored_link_key_rsp, 3, true }, - { 0x0c13, 56, "Write Local Name", - write_local_name_cmd, 248, true, - status_rsp, 1, true }, - { 0x0c14, 57, "Read Local Name", - null_cmd, 0, true, - read_local_name_rsp, 249, true }, - { 0x0c15, 58, "Read Connection Accept Timeout", - null_cmd, 0, true, - read_conn_accept_timeout_rsp, 3, true }, - { 0x0c16, 59, "Write Connection Accept Timeout", - write_conn_accept_timeout_cmd, 2, true, - status_rsp, 1, true }, - { 0x0c17, 60, "Read Page Timeout", - null_cmd, 0, true, - read_page_timeout_rsp, 3, true }, - { 0x0c18, 61, "Write Page Timeout", - write_page_timeout_cmd, 2, true, - status_rsp, 1, true }, - { 0x0c19, 62, "Read Scan Enable", - null_cmd, 0, true, - read_scan_enable_rsp, 2, true }, - { 0x0c1a, 63, "Write Scan Enable", - write_scan_enable_cmd, 1, true, - status_rsp, 1, true }, - { 0x0c1b, 64, "Read Page Scan Activity", - null_cmd, 0, true, - read_page_scan_activity_rsp, 5, true }, - { 0x0c1c, 65, "Write Page Scan Activity", - write_page_scan_activity_cmd, 4, true, - status_rsp, 1, true }, - { 0x0c1d, 66, "Read Inquiry Scan Activity" }, - { 0x0c1e, 67, "Write Inquiry Scan Activity" }, - { 0x0c1f, 68, "Read Authentication Enable" }, - { 0x0c20, 69, "Write Authentication Enable" }, - { 0x0c21, 70, "Read Encryption Mode" }, - { 0x0c22, 71, "Write Encryption Mode" }, - { 0x0c23, 72, "Read Class of Device", - null_cmd, 0, true, - read_class_of_dev_rsp, 4, true }, - { 0x0c24, 73, "Write Class of Device", - write_class_of_dev_cmd, 3, true, - status_rsp, 1, true }, - { 0x0c25, 74, "Read Voice Setting", - null_cmd, 0, true, - read_voice_setting_rsp, 3, true }, - { 0x0c26, 75, "Write Voice Setting", - write_voice_setting_cmd, 2, true, - status_rsp, 1, true }, - { 0x0c27, 76, "Read Automatic Flush Timeout" }, - { 0x0c28, 77, "Write Automatic Flush Timeout" }, - { 0x0c29, 78, "Read Num Broadcast Retransmissions" }, - { 0x0c2a, 79, "Write Num Broadcast Retransmissions" }, - { 0x0c2b, 80, "Read Hold Mode Activity" }, - { 0x0c2c, 81, "Write Hold Mode Activity" }, - { 0x0c2d, 82, "Read Transmit Power Level" }, - { 0x0c2e, 83, "Read Sync Flow Control Enable" }, - { 0x0c2f, 84, "Write Sync Flow Control Enable" }, - /* reserved command */ - { 0x0c31, 85, "Set Host Controller To Host Flow" }, - /* reserved command */ - { 0x0c33, 86, "Host Buffer Size" }, - /* reserved command */ - { 0x0c35, 87, "Host Number of Completed Packets" }, - { 0x0c36, 88, "Read Link Supervision Timeout" }, - { 0x0c37, 89, "Write Link Supervision Timeout" }, - { 0x0c38, 90, "Read Number of Supported IAC" }, - { 0x0c39, 91, "Read Current IAC LAP" }, - { 0x0c3a, 92, "Write Current IAC LAP" }, - { 0x0c3b, 93, "Read Page Scan Period Mode" }, - { 0x0c3c, 94, "Write Page Scan Period Mode" }, - { 0x0c3d, 95, "Read Page Scan Mode" }, - { 0x0c3e, 96, "Write Page Scan Mode" }, - { 0x0c3f, 97, "Set AFH Host Channel Classification" }, - /* reserved commands */ - { 0x0c42, 100, "Read Inquiry Scan Type" }, - { 0x0c43, 101, "Write Inquiry Scan Type" }, - { 0x0c44, 102, "Read Inquiry Mode", - null_cmd, 0, true, - read_inquiry_mode_rsp, 2, true }, - { 0x0c45, 103, "Write Inquiry Mode", - write_inquiry_mode_cmd, 1, true, - status_rsp, 1, true }, - { 0x0c46, 104, "Read Page Scan Type", - null_cmd, 0, true, - read_page_scan_type_rsp, 2, true }, - { 0x0c47, 105, "Write Page Scan Type", - write_page_scan_type_cmd, 1, true, - status_rsp, 1, true }, - { 0x0c48, 106, "Read AFH Channel Assessment Mode" }, - { 0x0c49, 107, "Write AFH Channel Assessment Mode" }, - /* reserved commands */ - { 0x0c51, 136, "Read Extended Inquiry Response", - null_cmd, 0, true, - read_ext_inquiry_response_rsp, 242, true }, - { 0x0c52, 137, "Write Extended Inquiry Response", - write_ext_inquiry_response_cmd, 241, true, - status_rsp, 1, true }, - { 0x0c53, 138, "Refresh Encryption Key", - refresh_encrypt_key_cmd, 2, true }, - /* reserved command */ - { 0x0c55, 141, "Read Simple Pairing Mode", - null_cmd, 0, true, - read_simple_pairing_mode_rsp, 2, true }, - { 0x0c56, 142, "Write Simple Pairing Mode", - write_simple_pairing_mode_cmd, 1, true, - status_rsp, 1, true }, - { 0x0c57, 143, "Read Local OOB Data" }, - { 0x0c58, 144, "Read Inquiry Response TX Power Level", - null_cmd, 0, true, - read_inquiry_resp_tx_power_rsp, 2, true }, - { 0x0c59, 145, "Write Inquiry Transmit Power Level" }, - { 0x0c5a, 146, "Read Default Erroneous Reporting" }, - { 0x0c5b, 147, "Write Default Erroneous Reporting" }, - /* reserved commands */ - { 0x0c5f, 158, "Enhanced Flush", - enhanced_flush_cmd, 3, true }, - { 0x0c60, 162, "Send Keypress Notification" }, - { 0x0c61, 176, "Read Logical Link Accept Timeout" }, - { 0x0c62, 177, "Write Logical Link Accept Timeout" }, - { 0x0c63, 178, "Set Event Mask Page 2", - set_event_mask_page2_cmd, 8, true, - status_rsp, 1, true }, - { 0x0c64, 179, "Read Location Data" }, - { 0x0c65, 180, "Write Location Data" }, - { 0x0c66, 184, "Read Flow Control Mode" }, - { 0x0c67, 185, "Write Flow Control Mode" }, - { 0x0c68, 192, "Read Enhanced Transmit Power Level" }, - { 0x0c69, 194, "Read Best Effort Flush Timeout" }, - { 0x0c6a, 195, "Write Best Effort Flush Timeout" }, - { 0x0c6b, 196, "Short Range Mode" }, - { 0x0c6c, 197, "Read LE Host Supported", - null_cmd, 0, true, - read_le_host_supported_rsp, 3, true }, - { 0x0c6d, 198, "Write LE Host Supported", - write_le_host_supported_cmd, 2, true, - status_rsp, 1, true }, - { 0x0c6e, 238, "Set MWS Channel Parameters" }, - { 0x0c6f, 239, "Set External Fram Configuration" }, - { 0x0c70, 240, "Set MWS Signaling" }, - { 0x0c71, 241, "Set MWS Transport Layer" }, - { 0x0c72, 242, "Set MWS Scan Frequency Table" }, - { 0x0c73, 244, "Set MWS Pattern Configuration" }, - { 0x0c74, 252, "Set Reserved LT_ADDR" }, - { 0x0c75, 253, "Delete Reserved LT_ADDR" }, - { 0x0c76, 254, "Set Connectionless Slave Broadcast Data" }, - { 0x0c77, 255, "Read Synchronization Train Parameters" }, - { 0x0c78, 256, "Write Synchronization Train Parameters" }, - - /* OGF 4 - Information Parameter */ - { 0x1001, 115, "Read Local Version Information", - null_cmd, 0, true, - read_local_version_rsp, 9, true }, - { 0x1002, 116, "Read Local Supported Commands", - null_cmd, 0, true, - read_local_commands_rsp, 65, true }, - { 0x1003, 117, "Read Local Supported Features", - null_cmd, 0, true, - read_local_features_rsp, 9, true }, - { 0x1004, 118, "Read Local Extended Features", - read_local_ext_features_cmd, 1, true, - read_local_ext_features_rsp, 11, true }, - { 0x1005, 119, "Read Buffer Size", - null_cmd, 0, true, - read_buffer_size_rsp, 8, true }, - /* reserved command */ - { 0x1007, 120, "Read Country Code", - null_cmd, 0, true, - read_country_code_rsp, 2, true }, - /* reserved command */ - { 0x1009, 121, "Read BD ADDR", - null_cmd, 0, true, - read_bd_addr_rsp, 7, true }, - { 0x100a, 186, "Read Data Block Size", - null_cmd, 0, true, - read_data_block_size_rsp, 7, true }, - { 0x100b, 237, "Read Local Supported Codecs" }, - - /* OGF 5 - Status Parameter */ - { 0x1401, 122, "Read Failed Contact Counter" }, - { 0x1402, 123, "Reset Failed Contact Counter" }, - { 0x1403, 124, "Read Link Quality" }, - /* reserved command */ - { 0x1405, 125, "Read RSSI" }, - { 0x1406, 126, "Read AFH Channel Map" }, - { 0x1407, 127, "Read Clock" }, - { 0x1408, 164, "Read Encryption Key Size", - read_encrypt_key_size_cmd, 2, true, - read_encrypt_key_size_rsp, 4, true }, - { 0x1409, 181, "Read Local AMP Info", - null_cmd, 0, true, - read_local_amp_info_rsp, 31, true }, - { 0x140a, 182, "Read Local AMP ASSOC", - read_local_amp_assoc_cmd, 5, true, - read_local_amp_assoc_rsp, 5, false }, - { 0x140b, 183, "Write Remote AMP ASSOC", - write_remote_amp_assoc_cmd, 6, false, - write_remote_amp_assoc_rsp, 2, true }, - { 0x140c, 243, "Get MWS Transport Layer Configuration" }, - { 0x140d, 245, "Set Triggered Clock Capture" }, - - /* OGF 6 - Testing */ - { 0x1801, 128, "Read Loopback Mode" }, - { 0x1802, 129, "Write Loopback Mode" }, - { 0x1803, 130, "Enable Device Under Test Mode" }, - { 0x1804, 157, "Write Simple Pairing Debug Mode" }, - /* reserved commands */ - { 0x1807, 189, "Enable AMP Receiver Reports" }, - { 0x1808, 190, "AMP Test End" }, - { 0x1809, 191, "AMP Test" }, - - /* OGF 8 - LE Control */ - { 0x2001, 200, "LE Set Event Mask", - le_set_event_mask_cmd, 8, true, - status_rsp, 1, true }, - { 0x2002, 201, "LE Read Buffer Size", - null_cmd, 0, true, - le_read_buffer_size_rsp, 4, true }, - { 0x2003, 202, "LE Read Local Supported Features", - null_cmd, 0, true, - le_read_local_features_rsp, 9, true }, - /* reserved command */ - { 0x2005, 204, "LE Set Random Address", - le_set_random_address_cmd, 6, true, - status_rsp, 1, true }, - { 0x2006, 205, "LE Set Advertising Parameters" }, - { 0x2007, 206, "LE Read Advertising Channel TX Power", - null_cmd, 0, true, - le_read_adv_tx_power_rsp, 2, true }, - { 0x2008, 207, "LE Set Advertising Data", - le_set_adv_data_cmd, 32, true, - status_rsp, 1, true }, - { 0x2009, 208, "LE Set Scan Response Data", - le_set_scan_response_data_cmd, 32, true, - status_rsp, 1, true }, - { 0x200a, 209, "LE Set Advertise Enable", - le_set_adv_enable_cmd, 1, true, - status_rsp, 1, true }, - { 0x200b, 210, "LE Set Scan Parameters", - le_set_scan_parameters_cmd, 7, true, - status_rsp, 1, true }, - { 0x200c, 211, "LE Set Scan Enable", - le_set_scan_enable_cmd, 2, true, - status_rsp, 1, true }, - { 0x200d, 212, "LE Create Connection", - le_create_conn_cmd, 25, true }, - { 0x200e, 213, "LE Create Connection Cancel", - null_cmd, 0, true, - status_rsp, 1, true }, - { 0x200f, 214, "LE Read White List Size", - null_cmd, 0, true, - le_read_white_list_size_rsp, 2, true }, - { 0x2010, 215, "LE Clear White List", - null_cmd, 0, true, - status_rsp, 1, true }, - { 0x2011, 216, "LE Add Device To White List", - le_add_to_white_list_cmd, 7, true, - status_rsp, 1, true }, - { 0x2012, 217, "LE Remove Device From White List", - le_remove_from_white_list_cmd, 7, true, - status_rsp, 1, true }, - { 0x2013, 218, "LE Connection Update", - le_conn_update_cmd, 14, true }, - { 0x2014, 219, "LE Set Host Channel Classification", - le_set_host_classification_cmd, 5, true, - status_rsp, 1, true }, - { 0x2015, 220, "LE Read Channel Map", - le_read_channel_map_cmd, 2, true, - le_read_channel_map_rsp, 8, true }, - { 0x2016, 221, "LE Read Remote Used Features", - le_read_remote_features_cmd, 2, true }, - { 0x2017, 222, "LE Encrypt", - le_encrypt_cmd, 32, true, - le_encrypt_rsp, 17, true }, - { 0x2018, 223, "LE Rand", - null_cmd, 0, true, - le_rand_rsp, 9, true }, - { 0x2019, 224, "LE Start Encryption", - le_start_encrypt, 28, true }, - { 0x201a, 225, "LE Long Term Key Request Reply" }, - { 0x201b, 226, "LE Long Term Key Request Neg Reply" }, - { 0x201c, 227, "LE Read Supported States", - null_cmd, 0, true, - le_read_supported_states_rsp, 9, true }, - { 0x201d, 228, "LE Receiver Test" }, - { 0x201e, 229, "LE Transmitter Test" }, - { 0x201f, 230, "LE Test End" }, - { } -}; - -static const char *get_supported_command(int bit) -{ - int i; - - for (i = 0; opcode_table[i].str; i++) { - if (opcode_table[i].bit == bit) - return opcode_table[i].str; - } - - return NULL; -} - -static void status_evt(const void *data, uint8_t size) -{ - uint8_t status = *((uint8_t *) data); - - print_status(status); -} - -static void inquiry_result_evt(const void *data, uint8_t size) -{ - const struct bt_hci_evt_inquiry_result *evt = data; - - print_num_resp(evt->num_resp); - print_bdaddr(evt->bdaddr); - print_pscan_rep_mode(evt->pscan_rep_mode); - print_pscan_period_mode(evt->pscan_period_mode); - print_pscan_mode(evt->pscan_mode); - print_dev_class(evt->dev_class); - print_clock_offset(evt->clock_offset); - - if (size > sizeof(*evt)) - packet_hexdump(data + sizeof(*evt), size - sizeof(*evt)); -} - -static void conn_complete_evt(const void *data, uint8_t size) -{ - const struct bt_hci_evt_conn_complete *evt = data; - - print_status(evt->status); - print_handle(evt->handle); - print_bdaddr(evt->bdaddr); - print_link_type(evt->link_type); - print_encr_mode(evt->encr_mode); - - if (evt->status == 0x00) - assign_handle(btohs(evt->handle), 0x00); -} - -static void conn_request_evt(const void *data, uint8_t size) -{ - const struct bt_hci_evt_conn_request *evt = data; - - print_bdaddr(evt->bdaddr); - print_dev_class(evt->dev_class); - print_link_type(evt->link_type); -} - -static void disconnect_complete_evt(const void *data, uint8_t size) -{ - const struct bt_hci_evt_disconnect_complete *evt = data; - - print_status(evt->status); - print_handle(evt->handle); - print_reason(evt->reason); - - if (evt->status == 0x00) - release_handle(btohs(evt->handle)); -} - -static void auth_complete_evt(const void *data, uint8_t size) -{ - const struct bt_hci_evt_auth_complete *evt = data; - - print_status(evt->status); - print_handle(evt->handle); -} - -static void remote_name_request_complete_evt(const void *data, uint8_t size) -{ - const struct bt_hci_evt_remote_name_request_complete *evt = data; - - print_status(evt->status); - print_bdaddr(evt->bdaddr); - print_name(evt->name); -} - -static void encrypt_change_evt(const void *data, uint8_t size) -{ - const struct bt_hci_evt_encrypt_change *evt = data; - - print_status(evt->status); - print_handle(evt->handle); - print_encr_mode_change(evt->encr_mode, evt->handle); -} - -static void change_conn_link_key_complete_evt(const void *data, uint8_t size) -{ - const struct bt_hci_evt_change_conn_link_key_complete *evt = data; - - print_status(evt->status); - print_handle(evt->handle); -} - -static void master_link_key_complete_evt(const void *data, uint8_t size) -{ - const struct bt_hci_evt_master_link_key_complete *evt = data; - - print_status(evt->status); - print_handle(evt->handle); - print_key_flag(evt->key_flag); -} - -static void remote_features_complete_evt(const void *data, uint8_t size) -{ - const struct bt_hci_evt_remote_features_complete *evt = data; - - print_status(evt->status); - print_handle(evt->handle); - print_features(0, evt->features, 0x00); -} - -static void remote_version_complete_evt(const void *data, uint8_t size) -{ - const struct bt_hci_evt_remote_version_complete *evt = data; - - print_status(evt->status); - print_handle(evt->handle); - print_lmp_version(evt->lmp_ver, evt->lmp_subver); - print_manufacturer(evt->manufacturer); -} - -static void qos_setup_complete_evt(const void *data, uint8_t size) -{ - const struct bt_hci_evt_qos_setup_complete *evt = data; - - print_status(evt->status); - print_handle(evt->handle); - print_field("Flags: 0x%2.2x", evt->flags); - - print_service_type(evt->service_type); - - print_field("Token rate: %d", btohl(evt->token_rate)); - print_field("Peak bandwidth: %d", btohl(evt->peak_bandwidth)); - print_field("Latency: %d", btohl(evt->latency)); - print_field("Delay variation: %d", btohl(evt->delay_variation)); -} - -static void cmd_complete_evt(const void *data, uint8_t size) -{ - const struct bt_hci_evt_cmd_complete *evt = data; - uint16_t opcode = btohs(evt->opcode); - uint16_t ogf = cmd_opcode_ogf(opcode); - uint16_t ocf = cmd_opcode_ocf(opcode); - const struct opcode_data *opcode_data = NULL; - const char *opcode_color, *opcode_str; - int i; - - for (i = 0; opcode_table[i].str; i++) { - if (opcode_table[i].opcode == opcode) { - opcode_data = &opcode_table[i]; - break; - } - } - - if (opcode_data) { - if (opcode_data->rsp_func) - opcode_color = COLOR_HCI_COMMAND; - else - opcode_color = COLOR_HCI_COMMAND_UNKNOWN; - opcode_str = opcode_data->str; - } else { - opcode_color = COLOR_HCI_COMMAND_UNKNOWN; - opcode_str = "Unknown"; - } - - print_indent(6, opcode_color, "", opcode_str, COLOR_OFF, - " (0x%2.2x|0x%4.4x) ncmd %d", ogf, ocf, evt->ncmd); - - if (!opcode_data || !opcode_data->rsp_func) { - packet_hexdump(data + 3, size - 3); - return; - } - - if (opcode_data->rsp_fixed) { - if (size - 3 != opcode_data->rsp_size) { - print_text(COLOR_ERROR, "invalid packet size"); - packet_hexdump(data + 3, size - 3); - return; - } - } else { - if (size - 3 < opcode_data->rsp_size) { - print_text(COLOR_ERROR, "too short packet"); - packet_hexdump(data + 3, size - 3); - return; - } - } - - opcode_data->rsp_func(data + 3, size - 3); -} - -static void cmd_status_evt(const void *data, uint8_t size) -{ - const struct bt_hci_evt_cmd_status *evt = data; - uint16_t opcode = btohs(evt->opcode); - uint16_t ogf = cmd_opcode_ogf(opcode); - uint16_t ocf = cmd_opcode_ocf(opcode); - const struct opcode_data *opcode_data = NULL; - const char *opcode_color, *opcode_str; - int i; - - for (i = 0; opcode_table[i].str; i++) { - if (opcode_table[i].opcode == opcode) { - opcode_data = &opcode_table[i]; - break; - } - } - - if (opcode_data) { - opcode_color = COLOR_HCI_COMMAND; - opcode_str = opcode_data->str; - } else { - opcode_color = COLOR_HCI_COMMAND_UNKNOWN; - opcode_str = "Unknown"; - } - - print_indent(6, opcode_color, "", opcode_str, COLOR_OFF, - " (0x%2.2x|0x%4.4x) ncmd %d", ogf, ocf, evt->ncmd); - - print_status(evt->status); -} - -static void hardware_error_evt(const void *data, uint8_t size) -{ - const struct bt_hci_evt_hardware_error *evt = data; - - print_field("Code: 0x%2.2x", evt->code); -} - -static void flush_occurred_evt(const void *data, uint8_t size) -{ - const struct bt_hci_evt_flush_occurred *evt = data; - - print_handle(evt->handle); -} - -static void role_change_evt(const void *data, uint8_t size) -{ - const struct bt_hci_evt_role_change *evt = data; - - print_status(evt->status); - print_bdaddr(evt->bdaddr); - print_role(evt->role); -} - -static void num_completed_packets_evt(const void *data, uint8_t size) -{ - const struct bt_hci_evt_num_completed_packets *evt = data; - - print_field("Num handles: %d", evt->num_handles); - print_handle(evt->handle); - print_field("Count: %d", btohs(evt->count)); - - if (size > sizeof(*evt)) - packet_hexdump(data + sizeof(*evt), size - sizeof(*evt)); -} - -static void mode_change_evt(const void *data, uint8_t size) -{ - const struct bt_hci_evt_mode_change *evt = data; - - print_status(evt->status); - print_handle(evt->handle); - print_mode(evt->mode); - print_interval(evt->interval); -} - -static void return_link_keys_evt(const void *data, uint8_t size) -{ - uint8_t num_keys = *((uint8_t *) data); - - print_field("Num keys: %d", num_keys); - - packet_hexdump(data + 1, size - 1); -} - -static void pin_code_request_evt(const void *data, uint8_t size) -{ - const struct bt_hci_evt_pin_code_request *evt = data; - - print_bdaddr(evt->bdaddr); -} - -static void link_key_request_evt(const void *data, uint8_t size) -{ - const struct bt_hci_evt_link_key_request *evt = data; - - print_bdaddr(evt->bdaddr); -} - -static void link_key_notify_evt(const void *data, uint8_t size) -{ - const struct bt_hci_evt_link_key_notify *evt = data; - - print_bdaddr(evt->bdaddr); - print_link_key(evt->link_key); - print_key_type(evt->key_type); -} - -static void loopback_command_evt(const void *data, uint8_t size) -{ - packet_hexdump(data, size); -} - -static void data_buffer_overflow_evt(const void *data, uint8_t size) -{ - const struct bt_hci_evt_data_buffer_overflow *evt = data; - - print_link_type(evt->link_type); -} - -static void max_slots_change_evt(const void *data, uint8_t size) -{ - const struct bt_hci_evt_max_slots_change *evt = data; - - print_handle(evt->handle); - print_field("Max slots: %d", evt->max_slots); -} - -static void clock_offset_complete_evt(const void *data, uint8_t size) -{ - const struct bt_hci_evt_clock_offset_complete *evt = data; - - print_status(evt->status); - print_handle(evt->handle); - print_clock_offset(evt->clock_offset); -} - -static void conn_pkt_type_changed_evt(const void *data, uint8_t size) -{ - const struct bt_hci_evt_conn_pkt_type_changed *evt = data; - - print_status(evt->status); - print_handle(evt->handle); - print_pkt_type(evt->pkt_type); -} - -static void qos_violation_evt(const void *data, uint8_t size) -{ - const struct bt_hci_evt_qos_violation *evt = data; - - print_handle(evt->handle); -} - -static void pscan_mode_change_evt(const void *data, uint8_t size) -{ - const struct bt_hci_evt_pscan_mode_change *evt = data; - - print_bdaddr(evt->bdaddr); - print_pscan_mode(evt->pscan_mode); -} - -static void pscan_rep_mode_change_evt(const void *data, uint8_t size) -{ - const struct bt_hci_evt_pscan_rep_mode_change *evt = data; - - print_bdaddr(evt->bdaddr); - print_pscan_rep_mode(evt->pscan_rep_mode); -} - -static void flow_spec_complete_evt(const void *data, uint8_t size) -{ - const struct bt_hci_evt_flow_spec_complete *evt = data; - - print_status(evt->status); - print_handle(evt->handle); - print_field("Flags: 0x%2.2x", evt->flags); - - print_flow_direction(evt->direction); - print_service_type(evt->service_type); - - print_field("Token rate: %d", btohl(evt->token_rate)); - print_field("Token bucket size: %d", btohl(evt->token_bucket_size)); - print_field("Peak bandwidth: %d", btohl(evt->peak_bandwidth)); - print_field("Access latency: %d", btohl(evt->access_latency)); -} - -static void inquiry_result_with_rssi_evt(const void *data, uint8_t size) -{ - const struct bt_hci_evt_inquiry_result_with_rssi *evt = data; - - print_num_resp(evt->num_resp); - print_bdaddr(evt->bdaddr); - print_pscan_rep_mode(evt->pscan_rep_mode); - print_pscan_period_mode(evt->pscan_period_mode); - print_dev_class(evt->dev_class); - print_clock_offset(evt->clock_offset); - print_rssi(evt->rssi); - - if (size > sizeof(*evt)) - packet_hexdump(data + sizeof(*evt), size - sizeof(*evt)); -} - -static void remote_ext_features_complete_evt(const void *data, uint8_t size) -{ - const struct bt_hci_evt_remote_ext_features_complete *evt = data; - - print_status(evt->status); - print_handle(evt->handle); - print_field("Page: %d/%d", evt->page, evt->max_page); - print_features(evt->page, evt->features, 0x00); -} - -static void sync_conn_complete_evt(const void *data, uint8_t size) -{ - const struct bt_hci_evt_sync_conn_complete *evt = data; - - print_status(evt->status); - print_handle(evt->handle); - print_bdaddr(evt->bdaddr); - print_link_type(evt->link_type); - print_field("Transmission interval: 0x%2.2x", evt->tx_interval); - print_field("Retransmission window: 0x%2.2x", evt->retrans_window); - print_field("RX packet length: %d", btohs(evt->rx_pkt_len)); - print_field("TX packet length: %d", btohs(evt->tx_pkt_len)); - print_air_mode(evt->air_mode); -} - -static void sync_conn_changed_evt(const void *data, uint8_t size) -{ - const struct bt_hci_evt_sync_conn_changed *evt = data; - - print_status(evt->status); - print_handle(evt->handle); - print_field("Transmission interval: 0x%2.2x", evt->tx_interval); - print_field("Retransmission window: 0x%2.2x", evt->retrans_window); - print_field("RX packet length: %d", btohs(evt->rx_pkt_len)); - print_field("TX packet length: %d", btohs(evt->tx_pkt_len)); -} - -static void sniff_subrating_evt(const void *data, uint8_t size) -{ - const struct bt_hci_evt_sniff_subrating *evt = data; - - print_status(evt->status); - print_handle(evt->handle); - print_slot_625("Max transmit latency", evt->max_tx_latency); - print_slot_625("Max receive latency", evt->max_rx_latency); - print_slot_625("Min remote timeout", evt->min_remote_timeout); - print_slot_625("Min local timeout", evt->min_local_timeout); -} - -static void ext_inquiry_result_evt(const void *data, uint8_t size) -{ - const struct bt_hci_evt_ext_inquiry_result *evt = data; - - print_num_resp(evt->num_resp); - print_bdaddr(evt->bdaddr); - print_pscan_rep_mode(evt->pscan_rep_mode); - print_pscan_period_mode(evt->pscan_period_mode); - print_dev_class(evt->dev_class); - print_clock_offset(evt->clock_offset); - print_rssi(evt->rssi); - print_eir(evt->data, sizeof(evt->data), false); -} - -static void encrypt_key_refresh_complete_evt(const void *data, uint8_t size) -{ - const struct bt_hci_evt_encrypt_key_refresh_complete *evt = data; - - print_status(evt->status); - print_handle(evt->handle); -} - -static void io_capability_request_evt(const void *data, uint8_t size) -{ - const struct bt_hci_evt_io_capability_request *evt = data; - - print_bdaddr(evt->bdaddr); -} - -static void io_capability_response_evt(const void *data, uint8_t size) -{ - const struct bt_hci_evt_io_capability_response *evt = data; - - print_bdaddr(evt->bdaddr); - print_io_capability(evt->capability); - print_oob_data(evt->oob_data); - print_authentication(evt->authentication); -} - -static void user_confirm_request_evt(const void *data, uint8_t size) -{ - const struct bt_hci_evt_user_confirm_request *evt = data; - - print_bdaddr(evt->bdaddr); - print_passkey(evt->passkey); -} - -static void user_passkey_request_evt(const void *data, uint8_t size) -{ - const struct bt_hci_evt_user_passkey_request *evt = data; - - print_bdaddr(evt->bdaddr); -} - -static void remote_oob_data_request_evt(const void *data, uint8_t size) -{ - const struct bt_hci_evt_remote_oob_data_request *evt = data; - - print_bdaddr(evt->bdaddr); -} - -static void simple_pairing_complete_evt(const void *data, uint8_t size) -{ - const struct bt_hci_evt_simple_pairing_complete *evt = data; - - print_status(evt->status); - print_bdaddr(evt->bdaddr); -} - -static void link_supv_timeout_changed_evt(const void *data, uint8_t size) -{ - const struct bt_hci_evt_link_supv_timeout_changed *evt = data; - - print_handle(evt->handle); - print_timeout(evt->timeout); -} - -static void enhanced_flush_complete_evt(const void *data, uint8_t size) -{ - const struct bt_hci_evt_enhanced_flush_complete *evt = data; - - print_handle(evt->handle); -} - -static void user_passkey_notify_evt(const void *data, uint8_t size) -{ - const struct bt_hci_evt_user_passkey_notify *evt = data; - - print_bdaddr(evt->bdaddr); - print_passkey(evt->passkey); -} - -static void keypress_notify_evt(const void *data, uint8_t size) -{ - const struct bt_hci_evt_keypress_notify *evt = data; - const char *str; - - print_bdaddr(evt->bdaddr); - - switch (evt->type) { - case 0x00: - str = "Passkey entry started"; - break; - case 0x01: - str = "Passkey digit entered"; - break; - case 0x02: - str = "Passkey digit erased"; - break; - case 0x03: - str = "Passkey clared"; - break; - case 0x04: - str = "Passkey entry completed"; - break; - default: - str = "Reserved"; - break; - } - - print_field("Notification type: %s (0x%2.2x)", str, evt->type); -} - -static void remote_host_features_notify_evt(const void *data, uint8_t size) -{ - const struct bt_hci_evt_remote_host_features_notify *evt = data; - - print_bdaddr(evt->bdaddr); - print_features(1, evt->features, 0x00); -} - -static void phy_link_complete_evt(const void *data, uint8_t size) -{ - const struct bt_hci_evt_phy_link_complete *evt = data; - - print_status(evt->status); - print_phy_handle(evt->phy_handle); -} - -static void channel_selected_evt(const void *data, uint8_t size) -{ - const struct bt_hci_evt_channel_selected *evt = data; - - print_phy_handle(evt->phy_handle); -} - -static void disconn_phy_link_complete_evt(const void *data, uint8_t size) -{ - const struct bt_hci_evt_disconn_phy_link_complete *evt = data; - - print_status(evt->status); - print_phy_handle(evt->phy_handle); - print_reason(evt->reason); -} - -static void phy_link_loss_early_warning_evt(const void *data, uint8_t size) -{ - const struct bt_hci_evt_phy_link_loss_early_warning *evt = data; - const char *str; - - print_phy_handle(evt->phy_handle); - - switch (evt->reason) { - case 0x00: - str = "Unknown"; - break; - case 0x01: - str = "Range related"; - break; - case 0x02: - str = "Bandwidth related"; - break; - case 0x03: - str = "Resolving conflict"; - break; - case 0x04: - str = "Interference"; - break; - default: - str = "Reserved"; - break; - } - - print_field("Reason: %s (0x%2.2x)", str, evt->reason); -} - -static void phy_link_recovery_evt(const void *data, uint8_t size) -{ - const struct bt_hci_evt_phy_link_recovery *evt = data; - - print_phy_handle(evt->phy_handle); -} - -static void logic_link_complete_evt(const void *data, uint8_t size) -{ - const struct bt_hci_evt_logic_link_complete *evt = data; - - print_status(evt->status); - print_handle(evt->handle); - print_phy_handle(evt->phy_handle); - print_field("TX flow spec: 0x%2.2x", evt->flow_spec); -} - -static void disconn_logic_link_complete_evt(const void *data, uint8_t size) -{ - const struct bt_hci_evt_disconn_logic_link_complete *evt = data; - - print_status(evt->status); - print_handle(evt->handle); - print_reason(evt->reason); -} - -static void flow_spec_modify_complete_evt(const void *data, uint8_t size) -{ - const struct bt_hci_evt_flow_spec_modify_complete *evt = data; - - print_status(evt->status); - print_handle(evt->handle); -} - -static void num_completed_data_blocks_evt(const void *data, uint8_t size) -{ - const struct bt_hci_evt_num_completed_data_blocks *evt = data; - - print_field("Total num data blocks: %d", btohs(evt->total_num_blocks)); - print_field("Num handles: %d", evt->num_handles); - print_handle(evt->handle); - print_field("Num packets: %d", evt->num_packets); - print_field("Num blocks: %d", evt->num_blocks); - - if (size > sizeof(*evt)) - packet_hexdump(data + sizeof(*evt), size - sizeof(*evt)); -} - -static void short_range_mode_change_evt(const void *data, uint8_t size) -{ - const struct bt_hci_evt_short_range_mode_change *evt = data; - - print_status(evt->status); - print_phy_handle(evt->phy_handle); - print_short_range_mode(evt->mode); -} - -static void amp_status_change_evt(const void *data, uint8_t size) -{ - const struct bt_hci_evt_amp_status_change *evt = data; - - print_status(evt->status); - print_amp_status(evt->amp_status); -} - -static void le_conn_complete_evt(const void *data, uint8_t size) -{ - const struct bt_hci_evt_le_conn_complete *evt = data; - - print_status(evt->status); - print_handle(evt->handle); - print_role(evt->role); - print_addr_type("Peer address type", evt->peer_addr_type); - print_addr(evt->peer_addr, evt->peer_addr_type); - print_slot_125("Connection interval", evt->interval); - print_slot_125("Connection latency", evt->latency); - print_field("Supervision timeout: %d msec (0x%4.4x)", - btohs(evt->supv_timeout) * 10, btohs(evt->supv_timeout)); - print_field("Master clock accuracy: 0x%2.2x", evt->clock_accuracy); - - if (evt->status == 0x00) - assign_handle(btohs(evt->handle), 0x01); -} - -static void le_adv_report_evt(const void *data, uint8_t size) -{ - const struct bt_hci_evt_le_adv_report *evt = data; - const char *str; - uint8_t evt_len; - int8_t *rssi; - - print_num_reports(evt->num_reports); - - switch (evt->event_type) { - case 0x00: - str = "Connectable undirected - ADV_IND"; - break; - case 0x01: - str = "Connectable directed - ADV_DIRECT_IND"; - break; - case 0x02: - str = "Scannable undirected - ADV_SCAN_IND"; - break; - case 0x03: - str = "Non connectable undirected - ADV_NONCONN_IND"; - break; - case 0x04: - str = "Scan response - SCAN_RSP"; - break; - default: - str = "Reserved"; - break; - } - - print_field("Event type: %s (0x%2.2x)", str, evt->event_type); - print_addr_type("Address type", evt->addr_type); - print_addr(evt->addr, evt->addr_type); - print_field("Data length: %d", evt->data_len); - print_eir(evt->data, evt->data_len, true); - - rssi = (int8_t *) (evt->data + evt->data_len); - print_rssi(*rssi); - - evt_len = sizeof(*evt) + evt->data_len + 1; - - if (size > evt_len) - packet_hexdump(data + evt_len, size - evt_len); -} - -static void le_conn_update_complete_evt(const void *data, uint8_t size) -{ - const struct bt_hci_evt_le_conn_update_complete *evt = data; - - print_status(evt->status); - print_handle(evt->handle); - print_slot_125("Connection interval", evt->interval); - print_slot_125("Connection latency", evt->latency); - print_field("Supervision timeout: %d msec (0x%4.4x)", - btohs(evt->supv_timeout) * 10, btohs(evt->supv_timeout)); -} - -static void le_remote_features_complete_evt(const void *data, uint8_t size) -{ - const struct bt_hci_evt_le_remote_features_complete *evt = data; - - print_status(evt->status); - print_handle(evt->handle); - print_features(0, evt->features, 0x01); -} - -static void le_long_term_key_request_evt(const void *data, uint8_t size) -{ - const struct bt_hci_evt_le_long_term_key_request *evt = data; - - print_handle(evt->handle); - print_random_number(evt->number); - print_field("Encryption diversifier: 0x%4.4x", - btohs(evt->diversifier)); -} - -struct subevent_data { - uint8_t subevent; - const char *str; - void (*func) (const void *data, uint8_t size); - uint8_t size; - bool fixed; -}; - -static const struct subevent_data subevent_table[] = { - { 0x01, "LE Connection Complete", - le_conn_complete_evt, 18, true }, - { 0x02, "LE Advertising Report", - le_adv_report_evt, 1, false }, - { 0x03, "LE Connection Update Complete", - le_conn_update_complete_evt, 9, true }, - { 0x04, "LE Read Remote Used Features", - le_remote_features_complete_evt, 11, true }, - { 0x05, "LE Long Term Key Request", - le_long_term_key_request_evt, 12, true }, - { } -}; - -static void le_meta_event_evt(const void *data, uint8_t size) -{ - uint8_t subevent = *((const uint8_t *) data); - const struct subevent_data *subevent_data = NULL; - const char *subevent_color, *subevent_str; - int i; - - for (i = 0; subevent_table[i].str; i++) { - if (subevent_table[i].subevent == subevent) { - subevent_data = &subevent_table[i]; - break; - } - } - - if (subevent_data) { - if (subevent_data->func) - subevent_color = COLOR_HCI_EVENT; - else - subevent_color = COLOR_HCI_EVENT_UNKNOWN; - subevent_str = subevent_data->str; - } else { - subevent_color = COLOR_HCI_EVENT_UNKNOWN; - subevent_str = "Unknown"; - } - - print_indent(6, subevent_color, "", subevent_str, COLOR_OFF, - " (0x%2.2x)", subevent); - - if (!subevent_data || !subevent_data->func) { - packet_hexdump(data + 1, size - 1); - return; - } - - if (subevent_data->fixed) { - if (size - 1 != subevent_data->size) { - print_text(COLOR_ERROR, "invalid packet size"); - packet_hexdump(data + 1, size - 1); - return; - } - } else { - if (size - 1 < subevent_data->size) { - print_text(COLOR_ERROR, "too short packet"); - packet_hexdump(data + 1, size - 1); - return; - } - } - - subevent_data->func(data + 1, size - 1); -} - -struct event_data { - uint8_t event; - const char *str; - void (*func) (const void *data, uint8_t size); - uint8_t size; - bool fixed; -}; - -static const struct event_data event_table[] = { - { 0x01, "Inquiry Complete", - status_evt, 1, true }, - { 0x02, "Inquiry Result", - inquiry_result_evt, 1, false }, - { 0x03, "Connect Complete", - conn_complete_evt, 11, true }, - { 0x04, "Connect Request", - conn_request_evt, 10, true }, - { 0x05, "Disconnect Complete", - disconnect_complete_evt, 4, true }, - { 0x06, "Auth Complete", - auth_complete_evt, 3, true }, - { 0x07, "Remote Name Req Complete", - remote_name_request_complete_evt, 255, true }, - { 0x08, "Encryption Change", - encrypt_change_evt, 4, true }, - { 0x09, "Change Connection Link Key Complete", - change_conn_link_key_complete_evt, 3, true }, - { 0x0a, "Master Link Key Complete", - master_link_key_complete_evt, 4, true }, - { 0x0b, "Read Remote Supported Features", - remote_features_complete_evt, 11, true }, - { 0x0c, "Read Remote Version Complete", - remote_version_complete_evt, 8, true }, - { 0x0d, "QoS Setup Complete", - qos_setup_complete_evt, 21, true }, - { 0x0e, "Command Complete", - cmd_complete_evt, 3, false }, - { 0x0f, "Command Status", - cmd_status_evt, 4, true }, - { 0x10, "Hardware Error", - hardware_error_evt, 1, true }, - { 0x11, "Flush Occurred", - flush_occurred_evt, 2, true }, - { 0x12, "Role Change", - role_change_evt, 8, true }, - { 0x13, "Number of Completed Packets", - num_completed_packets_evt, 1, false }, - { 0x14, "Mode Change", - mode_change_evt, 6, true }, - { 0x15, "Return Link Keys", - return_link_keys_evt, 1, false }, - { 0x16, "PIN Code Request", - pin_code_request_evt, 6, true }, - { 0x17, "Link Key Request", - link_key_request_evt, 6, true }, - { 0x18, "Link Key Notification", - link_key_notify_evt, 23, true }, - { 0x19, "Loopback Command", - loopback_command_evt, 3, false }, - { 0x1a, "Data Buffer Overflow", - data_buffer_overflow_evt, 1, true }, - { 0x1b, "Max Slots Change", - max_slots_change_evt, 3, true }, - { 0x1c, "Read Clock Offset Complete", - clock_offset_complete_evt, 5, true }, - { 0x1d, "Connection Packet Type Changed", - conn_pkt_type_changed_evt, 5, true }, - { 0x1e, "QoS Violation", - qos_violation_evt, 2, true }, - { 0x1f, "Page Scan Mode Change", - pscan_mode_change_evt, 7, true }, - { 0x20, "Page Scan Repetition Mode Change", - pscan_rep_mode_change_evt, 7, true }, - { 0x21, "Flow Specification Complete", - flow_spec_complete_evt, 22, true }, - { 0x22, "Inquiry Result with RSSI", - inquiry_result_with_rssi_evt, 1, false }, - { 0x23, "Read Remote Extended Features", - remote_ext_features_complete_evt, 13, true }, - /* reserved events */ - { 0x2c, "Synchronous Connect Complete", - sync_conn_complete_evt, 17, true }, - { 0x2d, "Synchronous Connect Changed", - sync_conn_changed_evt, 9, true }, - { 0x2e, "Sniff Subrating", - sniff_subrating_evt, 11, true }, - { 0x2f, "Extended Inquiry Result", - ext_inquiry_result_evt, 1, false }, - { 0x30, "Encryption Key Refresh Complete", - encrypt_key_refresh_complete_evt, 3, true }, - { 0x31, "IO Capability Request", - io_capability_request_evt, 6, true }, - { 0x32, "IO Capability Response", - io_capability_response_evt, 9, true }, - { 0x33, "User Confirmation Request", - user_confirm_request_evt, 10, true }, - { 0x34, "User Passkey Request", - user_passkey_request_evt, 6, true }, - { 0x35, "Remote OOB Data Request", - remote_oob_data_request_evt, 6, true }, - { 0x36, "Simple Pairing Complete", - simple_pairing_complete_evt, 7, true }, - /* reserved event */ - { 0x38, "Link Supervision Timeout Changed", - link_supv_timeout_changed_evt, 4, true }, - { 0x39, "Enhanced Flush Complete", - enhanced_flush_complete_evt, 2, true }, - /* reserved event */ - { 0x3b, "User Passkey Notification", - user_passkey_notify_evt, 10, true }, - { 0x3c, "Keypress Notification", - keypress_notify_evt, 7, true }, - { 0x3d, "Remote Host Supported Features", - remote_host_features_notify_evt, 14, true }, - { 0x3e, "LE Meta Event", - le_meta_event_evt, 1, false }, - /* reserved event */ - { 0x40, "Physical Link Complete", - phy_link_complete_evt, 2, true }, - { 0x41, "Channel Selected", - channel_selected_evt, 1, true }, - { 0x42, "Disconnect Physical Link Complete", - disconn_phy_link_complete_evt, 3, true }, - { 0x43, "Physical Link Loss Early Warning", - phy_link_loss_early_warning_evt, 2, true }, - { 0x44, "Physical Link Recovery", - phy_link_recovery_evt, 1, true }, - { 0x45, "Logical Link Complete", - logic_link_complete_evt, 5, true }, - { 0x46, "Disconnect Logical Link Complete", - disconn_logic_link_complete_evt, 4, true }, - { 0x47, "Flow Spec Modify Complete", - flow_spec_modify_complete_evt, 3, true }, - { 0x48, "Number Of Completed Data Blocks", - num_completed_data_blocks_evt, 3, false }, - { 0x49, "AMP Start Test" }, - { 0x4a, "AMP Test End" }, - { 0x4b, "AMP Receiver Report" }, - { 0x4c, "Short Range Mode Change Complete", - short_range_mode_change_evt, 3, true }, - { 0x4d, "AMP Status Change", - amp_status_change_evt, 2, true }, - { 0xfe, "Testing" }, - { 0xff, "Vendor" }, - { } -}; - -void packet_new_index(struct timeval *tv, uint16_t index, const char *label, - uint8_t type, uint8_t bus, const char *name) -{ - char details[48]; - - sprintf(details, "(%s,%s,%s)", hci_typetostr(type), - hci_bustostr(bus), name); - - print_packet(tv, index, '=', COLOR_NEW_INDEX, "New Index", - label, details); -} - -void packet_del_index(struct timeval *tv, uint16_t index, const char *label) -{ - print_packet(tv, index, '=', COLOR_DEL_INDEX, "Delete Index", - label, NULL); -} - -void packet_hci_command(struct timeval *tv, uint16_t index, - const void *data, uint16_t size) -{ - const hci_command_hdr *hdr = data; - uint16_t opcode = btohs(hdr->opcode); - uint16_t ogf = cmd_opcode_ogf(opcode); - uint16_t ocf = cmd_opcode_ocf(opcode); - const struct opcode_data *opcode_data = NULL; - const char *opcode_color, *opcode_str; - char extra_str[25]; - int i; - - if (size < HCI_COMMAND_HDR_SIZE) { - sprintf(extra_str, "(len %d)", size); - print_packet(tv, index, '*', COLOR_ERROR, - "Malformed HCI Command packet", NULL, extra_str); - packet_hexdump(data, size); - return; - } - - data += HCI_COMMAND_HDR_SIZE; - size -= HCI_COMMAND_HDR_SIZE; - - for (i = 0; opcode_table[i].str; i++) { - if (opcode_table[i].opcode == opcode) { - opcode_data = &opcode_table[i]; - break; - } - } - - if (opcode_data) { - if (opcode_data->cmd_func) - opcode_color = COLOR_HCI_COMMAND; - else - opcode_color = COLOR_HCI_COMMAND_UNKNOWN; - opcode_str = opcode_data->str; - } else { - opcode_color = COLOR_HCI_COMMAND_UNKNOWN; - opcode_str = "Unknown"; - } - - sprintf(extra_str, "(0x%2.2x|0x%4.4x) plen %d", ogf, ocf, hdr->plen); - - print_packet(tv, index, '<', opcode_color, "HCI Command", - opcode_str, extra_str); - - if (!opcode_data || !opcode_data->cmd_func) { - packet_hexdump(data, size); - return; - } - - if (opcode_data->cmd_fixed) { - if (hdr->plen != opcode_data->cmd_size) { - print_text(COLOR_ERROR, "invalid packet size"); - packet_hexdump(data, size); - return; - } - } else { - if (hdr->plen < opcode_data->cmd_size) { - print_text(COLOR_ERROR, "too short packet"); - packet_hexdump(data, size); - return; - } - } - - opcode_data->cmd_func(data, hdr->plen); -} - -void packet_hci_event(struct timeval *tv, uint16_t index, - const void *data, uint16_t size) -{ - const hci_event_hdr *hdr = data; - const struct event_data *event_data = NULL; - const char *event_color, *event_str; - char extra_str[25]; - int i; - - if (size < HCI_EVENT_HDR_SIZE) { - sprintf(extra_str, "(len %d)", size); - print_packet(tv, index, '*', COLOR_ERROR, - "Malformed HCI Event packet", NULL, extra_str); - packet_hexdump(data, size); - return; - } - - data += HCI_EVENT_HDR_SIZE; - size -= HCI_EVENT_HDR_SIZE; - - for (i = 0; event_table[i].str; i++) { - if (event_table[i].event == hdr->evt) { - event_data = &event_table[i]; - break; - } - } - - if (event_data) { - if (event_data->func) - event_color = COLOR_HCI_EVENT; - else - event_color = COLOR_HCI_EVENT_UNKNOWN; - event_str = event_data->str; - } else { - event_color = COLOR_HCI_EVENT_UNKNOWN; - event_str = "Unknown"; - } - - sprintf(extra_str, "(0x%2.2x) plen %d", hdr->evt, hdr->plen); - - print_packet(tv, index, '>', event_color, "HCI Event", - event_str, extra_str); - - if (!event_data || !event_data->func) { - packet_hexdump(data, size); - return; - } - - if (event_data->fixed) { - if (hdr->plen != event_data->size) { - print_text(COLOR_ERROR, "invalid packet size"); - packet_hexdump(data, size); - return; - } - } else { - if (hdr->plen < event_data->size) { - print_text(COLOR_ERROR, "too short packet"); - packet_hexdump(data, size); - return; - } - } - - event_data->func(data, hdr->plen); -} - -void packet_hci_acldata(struct timeval *tv, uint16_t index, bool in, - const void *data, uint16_t size) -{ - const hci_acl_hdr *hdr = data; - uint16_t handle = btohs(hdr->handle); - uint16_t dlen = btohs(hdr->dlen); - uint8_t flags = acl_flags(handle); - char handle_str[16], extra_str[32]; - - if (size < HCI_ACL_HDR_SIZE) { - if (in) - print_packet(tv, index, '*', COLOR_ERROR, - "Malformed ACL Data RX packet", NULL, NULL); - else - print_packet(tv, index, '*', COLOR_ERROR, - "Malformed ACL Data TX packet", NULL, NULL); - packet_hexdump(data, size); - return; - } - - data += HCI_ACL_HDR_SIZE; - size -= HCI_ACL_HDR_SIZE; - - sprintf(handle_str, "Handle %d", acl_handle(handle)); - sprintf(extra_str, "flags 0x%2.2x dlen %d", flags, dlen); - - print_packet(tv, index, in ? '>' : '<', COLOR_HCI_ACLDATA, - in ? "ACL Data RX" : "ACL Data TX", - handle_str, extra_str); - - if (size != dlen) { - print_text(COLOR_ERROR, "invalid packet size (%d != %d)", - size, dlen); - packet_hexdump(data, size); - return; - } - - if (filter_mask & PACKET_FILTER_SHOW_ACL_DATA) - packet_hexdump(data, size); - - l2cap_packet(index, in, acl_handle(handle), flags, data, size); -} - -void packet_hci_scodata(struct timeval *tv, uint16_t index, bool in, - const void *data, uint16_t size) -{ - const hci_sco_hdr *hdr = data; - uint16_t handle = btohs(hdr->handle); - uint8_t flags = acl_flags(handle); - char handle_str[16], extra_str[32]; - - if (size < HCI_SCO_HDR_SIZE) { - if (in) - print_packet(tv, index, '*', COLOR_ERROR, - "Malformed SCO Data RX packet", NULL, NULL); - else - print_packet(tv, index, '*', COLOR_ERROR, - "Malformed SCO Data TX packet", NULL, NULL); - packet_hexdump(data, size); - return; - } - - data += HCI_SCO_HDR_SIZE; - size -= HCI_SCO_HDR_SIZE; - - sprintf(handle_str, "Handle %d", acl_handle(handle)); - sprintf(extra_str, "flags 0x%2.2x dlen %d", flags, hdr->dlen); - - print_packet(tv, index, in ? '>' : '<', COLOR_HCI_SCODATA, - in ? "SCO Data RX" : "SCO Data TX", - handle_str, extra_str); - - if (size != hdr->dlen) { - print_text(COLOR_ERROR, "invalid packet size (%d != %d)", - size, hdr->dlen); - packet_hexdump(data, size); - return; - } - - if (filter_mask & PACKET_FILTER_SHOW_SCO_DATA) - packet_hexdump(data, size); -} diff --git a/GRIB_BLE_HUB/libs/ble_extend/monitor/packet.h b/GRIB_BLE_HUB/libs/ble_extend/monitor/packet.h deleted file mode 100644 index 9a12376..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/monitor/packet.h +++ /dev/null @@ -1,63 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2011-2012 Intel Corporation - * Copyright (C) 2004-2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#include -#include -#include - -#define PACKET_FILTER_SHOW_INDEX (1 << 0) -#define PACKET_FILTER_SHOW_DATE (1 << 1) -#define PACKET_FILTER_SHOW_TIME (1 << 2) -#define PACKET_FILTER_SHOW_TIME_OFFSET (1 << 3) -#define PACKET_FILTER_SHOW_ACL_DATA (1 << 4) -#define PACKET_FILTER_SHOW_SCO_DATA (1 << 5) - -void packet_set_filter(unsigned long filter); -void packet_add_filter(unsigned long filter); -void packet_del_filter(unsigned long filter); - -void packet_select_index(uint16_t index); - -void packet_hexdump(const unsigned char *buf, uint16_t len); - -void packet_control(struct timeval *tv, uint16_t index, uint16_t opcode, - const void *data, uint16_t size); -void packet_monitor(struct timeval *tv, uint16_t index, uint16_t opcode, - const void *data, uint16_t size); - -uint32_t packet_get_flags(uint16_t opcode); -uint16_t packet_get_opcode(uint8_t type, uint32_t flags); - -void packet_new_index(struct timeval *tv, uint16_t index, const char *label, - uint8_t type, uint8_t bus, const char *name); -void packet_del_index(struct timeval *tv, uint16_t index, const char *label); - -void packet_hci_command(struct timeval *tv, uint16_t index, - const void *data, uint16_t size); -void packet_hci_event(struct timeval *tv, uint16_t index, - const void *data, uint16_t size); -void packet_hci_acldata(struct timeval *tv, uint16_t index, bool in, - const void *data, uint16_t size); -void packet_hci_scodata(struct timeval *tv, uint16_t index, bool in, - const void *data, uint16_t size); diff --git a/GRIB_BLE_HUB/libs/ble_extend/monitor/sdp.c b/GRIB_BLE_HUB/libs/ble_extend/monitor/sdp.c deleted file mode 100644 index 45ee59b..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/monitor/sdp.c +++ /dev/null @@ -1,744 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2011-2012 Intel Corporation - * Copyright (C) 2004-2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include -#include -#include - -#include - -#include "bt.h" -#include "packet.h" -#include "display.h" -#include "l2cap.h" -#include "uuid.h" -#include "sdp.h" - -#define MAX_TID 16 - -struct tid_data { - bool inuse; - uint16_t tid; - uint16_t channel; - uint8_t cont[17]; -}; - -static struct tid_data tid_list[MAX_TID]; - -static struct tid_data *get_tid(uint16_t tid, uint16_t channel) -{ - int i, n = -1; - - for (i = 0; i < MAX_TID; i++) { - if (!tid_list[i].inuse) { - if (n < 0) - n = i; - continue; - } - - if (tid_list[i].tid == tid && tid_list[i].channel == channel) - return &tid_list[i]; - } - - if (n < 0) - return NULL; - - tid_list[n].inuse = true; - tid_list[n].tid = tid; - tid_list[n].channel = channel; - - return &tid_list[n]; -} - -static void clear_tid(struct tid_data *tid) -{ - if (tid) - tid->inuse = false; -} - -static void print_uint(uint8_t indent, const uint8_t *data, uint32_t size) -{ - switch (size) { - case 1: - print_field("%*c0x%2.2x", indent, ' ', data[0]); - break; - case 2: - print_field("%*c0x%4.4x", indent, ' ', bt_get_be16(data)); - break; - case 4: - print_field("%*c0x%8.8x", indent, ' ', bt_get_be32(data)); - break; - case 8: - print_field("%*c0x%16.16" PRIx64, indent, ' ', - bt_get_be64(data)); - break; - default: - packet_hexdump(data, size); - break; - } -} - -static void print_sint(uint8_t indent, const uint8_t *data, uint32_t size) -{ - packet_hexdump(data, size); -} - -static void print_uuid(uint8_t indent, const uint8_t *data, uint32_t size) -{ - switch (size) { - case 2: - print_field("%*c%s (0x%4.4x)", indent, ' ', - uuid16_to_str(bt_get_be16(data)), bt_get_be16(data)); - break; - case 4: - print_field("%*c%s (0x%8.8x)", indent, ' ', - uuid32_to_str(bt_get_be32(data)), bt_get_be32(data)); - break; - case 16: - /* BASE_UUID = 00000000-0000-1000-8000-00805F9B34FB */ - print_field("%*c%8.8x-%4.4x-%4.4x-%4.4x-%4.4x%8.4x", - indent, ' ', - bt_get_be32(data), bt_get_be16(data + 4), - bt_get_be16(data + 6), bt_get_be16(data + 8), - bt_get_be16(data + 10), bt_get_be32(data + 12)); - if (bt_get_be16(data + 4) == 0x0000 && - bt_get_be16(data + 6) == 0x1000 && - bt_get_be16(data + 8) == 0x8000 && - bt_get_be16(data + 10) == 0x0080 && - bt_get_be32(data + 12) == 0x5F9B34FB) - print_field("%*c%s", indent, ' ', - uuid32_to_str(bt_get_be32(data))); - break; - default: - packet_hexdump(data, size); - break; - } -} - -static void print_string(uint8_t indent, const uint8_t *data, uint32_t size) -{ - char *str = strndupa((const char *) data, size); - print_field("%*c%s [len %d]", indent, ' ', str, size); -} - -static void print_boolean(uint8_t indent, const uint8_t *data, uint32_t size) -{ - print_field("%*c%s", indent, ' ', data[0] ? "true" : "false"); -} - -#define SIZES(args...) ((uint8_t[]) { args, 0xff } ) - -static struct { - uint8_t value; - uint8_t *sizes; - bool recurse; - const char *str; - void (*print) (uint8_t indent, const uint8_t *data, uint32_t size); -} type_table[] = { - { 0, SIZES(0), false, "Nil" }, - { 1, SIZES(0, 1, 2, 3, 4), false, "Unsigned Integer", print_uint }, - { 2, SIZES(0, 1, 2, 3, 4), false, "Signed Integer", print_sint }, - { 3, SIZES(1, 2, 4), false, "UUID", print_uuid }, - { 4, SIZES(5, 6, 7), false, "String", print_string }, - { 5, SIZES(0), false, "Boolean", print_boolean }, - { 6, SIZES(5, 6, 7), true, "Sequence" }, - { 7, SIZES(5, 6, 7), true, "Alternative" }, - { 8, SIZES(5, 6, 7), false, "URL", print_string }, - { } -}; - -static struct { - uint8_t index; - uint8_t bits; - uint8_t size; - const char *str; -} size_table[] = { - { 0, 0, 1, "1 byte" }, - { 1, 0, 2, "2 bytes" }, - { 2, 0, 4, "4 bytes" }, - { 3, 0, 8, "8 bytes" }, - { 4, 0, 16, "16 bytes" }, - { 5, 8, 0, "8 bits" }, - { 6, 16, 0, "16 bits" }, - { 7, 32, 0, "32 bits" }, - { } -}; - -static bool valid_size(uint8_t size, uint8_t *sizes) -{ - int i; - - for (i = 0; sizes[i] != 0xff; i++) { - if (sizes[i] == size) - return true; - } - - return false; -} - -static uint8_t get_bits(const uint8_t *data, uint32_t size) -{ - int i; - - for (i = 0; size_table[i].str; i++) { - if (size_table[i].index == (data[0] & 0x07)) - return size_table[i].bits; - } - - return 0; -} - -static uint32_t get_size(const uint8_t *data, uint32_t size) -{ - int i; - - for (i = 0; size_table[i].str; i++) { - if (size_table[i].index == (data[0] & 0x07)) { - switch (size_table[i].bits) { - case 0: - if ((data[0] & 0xf8) == 0) - return 0; - else - return size_table[i].size; - case 8: - return data[1]; - case 16: - return bt_get_be16(data + 1); - case 32: - return bt_get_be32(data + 1); - default: - return 0; - } - } - } - - return 0; -} - -static void decode_data_elements(uint32_t position, uint8_t indent, - const uint8_t *data, uint32_t size, - void (*print_func) (uint32_t, uint8_t, uint8_t, - const uint8_t *, uint32_t)) - -{ - uint32_t datalen, elemlen, extrabits; - int i; - - if (!size) - return; - - extrabits = get_bits(data, size); - - if (size < 1 + (extrabits / 8)) { - print_text(COLOR_ERROR, "data element descriptor too short"); - packet_hexdump(data, size); - return; - } - - datalen = get_size(data, size); - - if (size < 1 + (extrabits / 8) + datalen) { - print_text(COLOR_ERROR, "data element size too short"); - packet_hexdump(data, size); - return; - } - - elemlen = 1 + (extrabits / 8) + datalen; - - for (i = 0; type_table[i].str; i++) { - uint8_t type = (data[0] & 0xf8) >> 3; - - if (type_table[i].value != type) - continue; - - if (print_func) { - print_func(position, indent, type, - data + 1 + (extrabits / 8), datalen); - break; - } - - print_field("%*c%s (%d) with %u byte%s [%u extra bits] len %u", - indent, ' ', type_table[i].str, type, - datalen, datalen == 1 ? "" : "s", - extrabits, elemlen); - if (!valid_size(data[0] & 0x07, type_table[i].sizes)) { - print_text(COLOR_ERROR, "invalid data element size"); - packet_hexdump(data + 1 + (extrabits / 8), datalen); - break; - } - - if (type_table[i].recurse) - decode_data_elements(0, indent + 2, - data + 1 + (extrabits / 8), datalen, - print_func); - else if (type_table[i].print) - type_table[i].print(indent + 2, - data + 1 + (extrabits / 8), datalen); - break; - } - - data += elemlen; - size -= elemlen; - - decode_data_elements(position + 1, indent, data, size, print_func); -} - -static uint32_t get_bytes(const uint8_t *data, uint32_t size) -{ - switch (data[0] & 0x07) { - case 5: - return 2 + data[1]; - case 6: - return 3 + bt_get_be16(data + 1); - case 7: - return 5 + bt_get_be32(data + 1); - } - - return 0; -} - -static struct { - uint16_t id; - const char *str; -} attribute_table[] = { - { 0x0000, "Service Record Handle" }, - { 0x0001, "Service Class ID List" }, - { 0x0002, "Service Record State" }, - { 0x0003, "Service ID" }, - { 0x0004, "Protocol Descriptor List" }, - { 0x0005, "Browse Group List" }, - { 0x0006, "Language Base Attribute ID List" }, - { 0x0007, "Service Info Time To Live" }, - { 0x0008, "Service Availability" }, - { 0x0009, "Bluetooth Profile Descriptor List" }, - { 0x000a, "Documentation URL" }, - { 0x000b, "Client Executable URL" }, - { 0x000c, "Icon URL" }, - { 0x000d, "Additional Protocol Descriptor List" }, - { } -}; - -static void print_attr(uint32_t position, uint8_t indent, uint8_t type, - const uint8_t *data, uint32_t size) -{ - int i; - - if ((position % 2) == 0) { - uint16_t id = bt_get_be16(data); - const char *str = "Unknown"; - - for (i = 0; attribute_table[i].str; i++) { - if (attribute_table[i].id == id) - str = attribute_table[i].str; - } - - print_field("%*cAttribute: %s (0x%4.4x) [len %d]", - indent, ' ', str, id, size); - return; - } - - for (i = 0; type_table[i].str; i++) { - if (type_table[i].value != type) - continue; - - if (type_table[i].recurse) - decode_data_elements(0, indent + 2, data, size, NULL); - else if (type_table[i].print) - type_table[i].print(indent + 2, data, size); - break; - } -} - -static void print_attr_list(uint32_t position, uint8_t indent, uint8_t type, - const uint8_t *data, uint32_t size) -{ - print_field("%*cAttribute list: [len %d] {position %d}", - indent, ' ', size, position); - - decode_data_elements(0, indent + 2, data, size, print_attr); -} - -static void print_attr_lists(uint32_t position, uint8_t indent, uint8_t type, - const uint8_t *data, uint32_t size) -{ - decode_data_elements(0, indent, data, size, print_attr_list); -} - -static void print_continuation(const uint8_t *data, uint16_t size) -{ - if (data[0] != size - 1) { - print_text(COLOR_ERROR, "invalid continuation state"); - packet_hexdump(data, size); - return; - } - - print_field("Continuation state: %d", data[0]); - packet_hexdump(data + 1, size - 1); -} - -static void store_continuation(struct tid_data *tid, - const uint8_t *data, uint16_t size) -{ - memcpy(tid->cont, data, size); - print_continuation(data, size); -} - -#define MAX_CONT 8 - -struct cont_data { - uint16_t channel; - uint8_t cont[17]; - void *data; - uint32_t size; -}; - -static struct cont_data cont_list[MAX_CONT]; - -static void handle_continuation(struct tid_data *tid, bool nested, - uint16_t bytes, const uint8_t *data, uint16_t size) -{ - uint8_t *newdata; - int i, n = -1; - - if (bytes + 1 > size) { - print_text(COLOR_ERROR, "missing continuation state"); - return; - } - - if (tid->cont[0] == 0x00 && data[bytes] == 0x00) { - decode_data_elements(0, 2, data, bytes, - nested ? print_attr_lists : print_attr_list); - - print_continuation(data + bytes, size - bytes); - return; - } - - for (i = 0; i < MAX_CONT; i++) { - if (cont_list[i].cont[0] == 0x00) { - if (n < 0) - n = i; - continue; - } - - if (cont_list[i].channel != tid->channel) - continue; - - if (cont_list[i].cont[0] != tid->cont[0]) - continue; - - if (!memcmp(cont_list[i].cont + 1, - tid->cont + 1, tid->cont[0])) { - n = i; - break; - } - } - - print_continuation(data + bytes, size - bytes); - - if (n < 0) - return; - - newdata = realloc(cont_list[n].data, cont_list[n].size + bytes); - if (!newdata) { - print_text(COLOR_ERROR, "failed buffer allocation"); - free(cont_list[n].data); - cont_list[n].data = NULL; - cont_list[n].size = 0; - return; - } - - cont_list[n].channel = tid->channel; - cont_list[n].data = newdata; - - if (bytes > 0) { - memcpy(cont_list[n].data + cont_list[n].size, data, bytes); - cont_list[n].size += bytes; - } - - if (data[bytes] == 0x00) { - print_field("Combined attribute bytes: %d", cont_list[n].size); - - decode_data_elements(0, 2, cont_list[n].data, cont_list[n].size, - nested ? print_attr_lists : print_attr_list); - - free(cont_list[n].data); - cont_list[n].data = NULL; - cont_list[n].size = 0; - } else - memcpy(cont_list[i].cont, data + bytes, data[bytes] + 1); -} - -static uint16_t common_rsp(const struct l2cap_frame *frame, - struct tid_data *tid) -{ - uint16_t bytes; - - if (frame->size < 2) { - print_text(COLOR_ERROR, "invalid size"); - packet_hexdump(frame->data, frame->size); - return 0; - } - - bytes = bt_get_be16(frame->data); - print_field("Attribute bytes: %d", bytes); - - if (bytes > frame->size - 2) { - print_text(COLOR_ERROR, "invalid attribute size"); - packet_hexdump(frame->data + 2, frame->size - 2); - return 0; - } - - return bytes; -} - -static void error_rsp(const struct l2cap_frame *frame, struct tid_data *tid) -{ - uint16_t error; - - clear_tid(tid); - - if (frame->size < 2) { - print_text(COLOR_ERROR, "invalid size"); - packet_hexdump(frame->data, frame->size); - return; - } - - error = bt_get_be16(frame->data); - - print_field("Error code: 0x%2.2x", error); -} - -static void service_req(const struct l2cap_frame *frame, struct tid_data *tid) -{ - uint32_t search_bytes; - - search_bytes = get_bytes(frame->data, frame->size); - print_field("Search pattern: [len %d]", search_bytes); - - if (search_bytes + 2 > frame->size) { - print_text(COLOR_ERROR, "invalid search list length"); - packet_hexdump(frame->data, frame->size); - return; - } - - decode_data_elements(0, 2, frame->data, search_bytes, NULL); - - print_field("Max record count: %d", - bt_get_be16(frame->data + search_bytes)); - - print_continuation(frame->data + search_bytes + 2, - frame->size - search_bytes - 2); -} - -static void service_rsp(const struct l2cap_frame *frame, struct tid_data *tid) -{ - uint16_t count; - int i; - - clear_tid(tid); - - if (frame->size < 4) { - print_text(COLOR_ERROR, "invalid size"); - packet_hexdump(frame->data, frame->size); - return; - } - - count = bt_get_be16(frame->data + 2); - - print_field("Total record count: %d", bt_get_be16(frame->data)); - print_field("Current record count: %d", count); - - for (i = 0; i < count; i++) - print_field("Record handle: 0x%4.4x", - bt_get_be32(frame->data + 4 + (i * 4))); - - print_continuation(frame->data + 4 + (count * 4), - frame->size - 4 - (count * 4)); -} - -static void attr_req(const struct l2cap_frame *frame, struct tid_data *tid) -{ - uint32_t attr_bytes; - - if (frame->size < 6) { - print_text(COLOR_ERROR, "invalid size"); - packet_hexdump(frame->data, frame->size); - return; - } - - print_field("Record handle: 0x%4.4x", bt_get_be32(frame->data)); - print_field("Max attribute bytes: %d", bt_get_be16(frame->data + 4)); - - attr_bytes = get_bytes(frame->data + 6, frame->size - 6); - print_field("Attribute list: [len %d]", attr_bytes); - - if (attr_bytes + 6 > frame->size) { - print_text(COLOR_ERROR, "invalid attribute list length"); - packet_hexdump(frame->data, frame->size); - return; - } - - decode_data_elements(0, 2, frame->data + 6, attr_bytes, NULL); - - store_continuation(tid, frame->data + 6 + attr_bytes, - frame->size - 6 - attr_bytes); -} - -static void attr_rsp(const struct l2cap_frame *frame, struct tid_data *tid) -{ - uint16_t bytes; - - bytes = common_rsp(frame, tid); - - handle_continuation(tid, false, bytes, - frame->data + 2, frame->size - 2); - - clear_tid(tid); -} - -static void search_attr_req(const struct l2cap_frame *frame, - struct tid_data *tid) -{ - uint32_t search_bytes, attr_bytes; - - search_bytes = get_bytes(frame->data, frame->size); - print_field("Search pattern: [len %d]", search_bytes); - - if (search_bytes + 2 > frame->size) { - print_text(COLOR_ERROR, "invalid search list length"); - packet_hexdump(frame->data, frame->size); - return; - } - - decode_data_elements(0, 2, frame->data, search_bytes, NULL); - - print_field("Max record count: %d", - bt_get_be16(frame->data + search_bytes)); - - attr_bytes = get_bytes(frame->data + search_bytes + 2, - frame->size - search_bytes - 2); - print_field("Attribute list: [len %d]", attr_bytes); - - decode_data_elements(0, 2, frame->data + search_bytes + 2, - attr_bytes, NULL); - - store_continuation(tid, frame->data + search_bytes + 2 + attr_bytes, - frame->size - search_bytes - 2 - attr_bytes); -} - -static void search_attr_rsp(const struct l2cap_frame *frame, - struct tid_data *tid) -{ - uint16_t bytes; - - bytes = common_rsp(frame, tid); - - handle_continuation(tid, true, bytes, frame->data + 2, frame->size - 2); - - clear_tid(tid); -} - -struct sdp_data { - uint8_t pdu; - const char *str; - void (*func) (const struct l2cap_frame *frame, struct tid_data *tid); -}; - -static const struct sdp_data sdp_table[] = { - { 0x01, "Error Response", error_rsp }, - { 0x02, "Service Search Request", service_req }, - { 0x03, "Service Search Response", service_rsp }, - { 0x04, "Service Attribute Request", attr_req }, - { 0x05, "Service Attribute Response", attr_rsp }, - { 0x06, "Service Search Attribute Request", search_attr_req }, - { 0x07, "Service Search Attribute Response", search_attr_rsp }, - { } -}; - -void sdp_packet(const struct l2cap_frame *frame, uint16_t channel) -{ - uint8_t pdu; - uint16_t tid, plen; - struct l2cap_frame sdp_frame; - struct tid_data *tid_info; - const struct sdp_data *sdp_data = NULL; - const char *pdu_color, *pdu_str; - - int i; - - if (frame->size < 5) { - print_text(COLOR_ERROR, "frame too short"); - packet_hexdump(frame->data, frame->size); - return; - } - - pdu = *((uint8_t *) frame->data); - tid = bt_get_be16(frame->data + 1); - plen = bt_get_be16(frame->data + 3); - - if (frame->size != plen + 5) { - print_text(COLOR_ERROR, "invalid frame size"); - packet_hexdump(frame->data, frame->size); - return; - } - - for (i = 0; sdp_table[i].str; i++) { - if (sdp_table[i].pdu == pdu) { - sdp_data = &sdp_table[i]; - break; - } - } - - if (sdp_data) { - if (sdp_data->func) { - if (frame->in) - pdu_color = COLOR_MAGENTA; - else - pdu_color = COLOR_BLUE; - } else - pdu_color = COLOR_WHITE_BG; - pdu_str = sdp_data->str; - } else { - pdu_color = COLOR_WHITE_BG; - pdu_str = "Unknown"; - } - - print_indent(6, pdu_color, "SDP: ", pdu_str, COLOR_OFF, - " (0x%2.2x) tid %d len %d", pdu, tid, plen); - - if (!sdp_data || !sdp_data->func) { - packet_hexdump(frame->data + 5, frame->size - 5); - return; - } - - tid_info = get_tid(tid, channel); - - l2cap_frame_pull(&sdp_frame, frame, 5); - sdp_data->func(&sdp_frame, tid_info); -} diff --git a/GRIB_BLE_HUB/libs/ble_extend/monitor/sdp.h b/GRIB_BLE_HUB/libs/ble_extend/monitor/sdp.h deleted file mode 100644 index c339772..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/monitor/sdp.h +++ /dev/null @@ -1,25 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2011-2012 Intel Corporation - * Copyright (C) 2004-2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -void sdp_packet(const struct l2cap_frame *frame, uint16_t channel); diff --git a/GRIB_BLE_HUB/libs/ble_extend/monitor/uuid.c b/GRIB_BLE_HUB/libs/ble_extend/monitor/uuid.c deleted file mode 100644 index b6d6517..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/monitor/uuid.c +++ /dev/null @@ -1,279 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2011-2012 Intel Corporation - * Copyright (C) 2004-2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include - -#include "uuid.h" - -static struct { - uint16_t uuid; - const char *str; -} uuid16_table[] = { - { 0x0001, "SDP" }, - { 0x0003, "RFCOMM" }, - { 0x0005, "TCS-BIN" }, - { 0x0007, "ATT" }, - { 0x0008, "OBEX" }, - { 0x000f, "BNEP" }, - { 0x0010, "UPNP" }, - { 0x0011, "HIDP" }, - { 0x0012, "Hardcopy Control Channel" }, - { 0x0014, "Hardcopy Data Channel" }, - { 0x0016, "Hardcopy Notification" }, - { 0x0017, "AVCTP" }, - { 0x0019, "AVDTP" }, - { 0x001b, "CMTP" }, - { 0x001e, "MCAP Control Channel" }, - { 0x001f, "MCAP Data Channel" }, - { 0x0100, "L2CAP" }, - { 0x1000, "Service Discovery Server Service Class" }, - { 0x1001, "Browse Group Descriptor Service Class" }, - { 0x1002, "Public Browse Root" }, - { 0x1101, "Serial Port" }, - { 0x1102, "LAN Access Using PPP" }, - { 0x1103, "Dialup Networking" }, - { 0x1104, "IrMC Sync" }, - { 0x1105, "OBEX Object Push" }, - { 0x1106, "OBEX File Transfer" }, - { 0x1107, "IrMC Sync Command" }, - { 0x1108, "Headset" }, - { 0x1109, "Cordless Telephony" }, - { 0x110a, "Audio Source" }, - { 0x110b, "Audio Sink" }, - { 0x110c, "A/V Remote Control Target" }, - { 0x110d, "Advanced Audio Distribution" }, - { 0x110e, "A/V Remote Control" }, - { 0x110f, "A/V Remote Control Controller" }, - { 0x1110, "Intercom" }, - { 0x1111, "Fax" }, - { 0x1112, "Headset AG" }, - { 0x1113, "WAP" }, - { 0x1114, "WAP Client" }, - { 0x1115, "PANU" }, - { 0x1116, "NAP" }, - { 0x1117, "GN" }, - { 0x1118, "Direct Printing" }, - { 0x1119, "Reference Printing" }, - { 0x111a, "Basic Imaging Profile" }, - { 0x111b, "Imaging Responder" }, - { 0x111c, "Imaging Automatic Archive" }, - { 0x111d, "Imaging Referenced Objects" }, - { 0x111e, "Handsfree" }, - { 0x111f, "Handsfree Audio Gateway" }, - { 0x1120, "Direct Printing Refrence Objects Service" }, - { 0x1121, "Reflected UI" }, - { 0x1122, "Basic Printing" }, - { 0x1123, "Printing Status" }, - { 0x1124, "Human Interface Device Service" }, - { 0x1125, "Hardcopy Cable Replacement" }, - { 0x1126, "HCR Print" }, - { 0x1127, "HCR Scan" }, - { 0x1128, "Common ISDN Access" }, - { 0x112d, "SIM Access" }, - { 0x112e, "Phonebook Access Client" }, - { 0x112f, "Phonebook Access Server" }, - { 0x1130, "Phonebook Access" }, - { 0x1131, "Headset HS" }, - { 0x1132, "Message Access Server" }, - { 0x1133, "Message Notification Server" }, - { 0x1134, "Message Access Profile" }, - { 0x1135, "GNSS" }, - { 0x1136, "GNSS Server" }, - { 0x1200, "PnP Information" }, - { 0x1201, "Generic Networking" }, - { 0x1202, "Generic File Transfer" }, - { 0x1203, "Generic Audio" }, - { 0x1204, "Generic Telephony" }, - { 0x1205, "UPNP Service" }, - { 0x1206, "UPNP IP Service" }, - { 0x1300, "UPNP IP PAN" }, - { 0x1301, "UPNP IP LAP" }, - { 0x1302, "UPNP IP L2CAP" }, - { 0x1303, "Video Source" }, - { 0x1304, "Video Sink" }, - { 0x1305, "Video Distribution" }, - { 0x1400, "HDP" }, - { 0x1401, "HDP Source" }, - { 0x1402, "HDP Sink" }, - { 0x1800, "Generic Access Profile" }, - { 0x1801, "Generic Attribute Profile" }, - { 0x1802, "Immediate Alert" }, - { 0x1803, "Link Loss" }, - { 0x1804, "Tx Power" }, - { 0x1805, "Current Time Service" }, - { 0x1806, "Reference Time Update Service" }, - { 0x1807, "Next DST Change Service" }, - { 0x1808, "Glucose" }, - { 0x1809, "Health Thermometer" }, - { 0x180a, "Device Information" }, - /* 0x180b and 0x180c undefined */ - { 0x180d, "Heart Rate" }, - { 0x180e, "Phone Alert Status Service" }, - { 0x180f, "Battery Service" }, - { 0x1810, "Blood Pressure" }, - { 0x1811, "Alert Notification Service" }, - { 0x1812, "Human Interface Device" }, - { 0x1813, "Scan Parameters" }, - { 0x1814, "Running Speed and Cadence" }, - /* 0x1815 undefined */ - { 0x1816, "Cycling Speed and Cadence" }, - { 0x2800, "Primary Service" }, - { 0x2801, "Secondary Service" }, - { 0x2802, "Include" }, - { 0x2803, "Characteristic" }, - { 0x2900, "Characteristic Extended Properties" }, - { 0x2901, "Characteristic User Description" }, - { 0x2902, "Client Characteristic Configuration" }, - { 0x2903, "Server Characteristic Configuration" }, - { 0x2904, "Characteristic Format" }, - { 0x2905, "Characteristic Aggregate Formate" }, - { 0x2906, "Valid Range" }, - { 0x2907, "External Report Reference" }, - { 0x2908, "Report Reference" }, - { 0x2a00, "Device Name" }, - { 0x2a01, "Appearance" }, - { 0x2a02, "Peripheral Privacy Flag" }, - { 0x2a03, "Reconnection Address" }, - { 0x2a04, "Peripheral Preferred Connection Parameters" }, - { 0x2a05, "Service Changed" }, - { 0x2a06, "Alert Level" }, - { 0x2a07, "Tx Power Level" }, - { 0x2a08, "Date Time" }, - { 0x2a09, "Day of Week" }, - { 0x2a0a, "Day Date Time" }, - /* 0x2a0b undefined */ - { 0x2a0c, "Exact Time 256" }, - { 0x2a0d, "DST Offset" }, - { 0x2a0e, "Time Zone" }, - { 0x2a0f, "Local Time Information" }, - /* 0x2a10 undefined */ - { 0x2a11, "Time with DST" }, - { 0x2a12, "Time Accuracy" }, - { 0x2a13, "Time Source" }, - { 0x2a14, "Reference Time Information" }, - /* 0x2a15 undefined */ - { 0x2a16, "Time Update Control Point" }, - { 0x2a17, "Time Update State" }, - { 0x2a18, "Glucose Measurement" }, - { 0x2a19, "Battery Level" }, - /* 0x2a1a and 0x2a1b undefined */ - { 0x2a1c, "Temperature Measurement" }, - { 0x2a1d, "Temperature Type" }, - { 0x2a1e, "Intermediate Temperature" }, - /* 0x2a1f and 0x2a20 undefined */ - { 0x2a21, "Measurement Interval" }, - { 0x2a22, "Boot Keyboard Input Report" }, - { 0x2a23, "System ID" }, - { 0x2a24, "Model Number String" }, - { 0x2a25, "Serial Number String" }, - { 0x2a26, "Firmware Revision String" }, - { 0x2a27, "Hardware Revision String" }, - { 0x2a28, "Software Revision String" }, - { 0x2a29, "Manufacturer Name String" }, - { 0x2a2a, "IEEE 11073-20601 Regulatory Cert. Data List" }, - { 0x2a2b, "Current Time" }, - /* 0x2a2c to 0x2a30 undefined */ - { 0x2a31, "Scan Refresh" }, - { 0x2a32, "Boot Keyboard Output Report" }, - { 0x2a33, "Boot Mouse Input Report" }, - { 0x2a34, "Glucose Measurement Context" }, - { 0x2a35, "Blood Pressure Measurement" }, - { 0x2a36, "Intermediate Cuff Pressure" }, - { 0x2a37, "Heart Rate Measurement" }, - { 0x2a38, "Body Sensor Location" }, - { 0x2a39, "Heart Rate Control Point" }, - /* 0x2a3a to 0x2a3e undefined */ - { 0x2a3f, "Alert Status" }, - { 0x2a40, "Ringer Control Point" }, - { 0x2a41, "Ringer Setting" }, - { 0x2a42, "Alert Category ID Bit Mask" }, - { 0x2a43, "Alert Category ID" }, - { 0x2a44, "Alert Notification Control Point" }, - { 0x2a45, "Unread Alert Status" }, - { 0x2a46, "New Alert" }, - { 0x2a47, "Supported New Alert Category" }, - { 0x2a48, "Supported Unread Alert Category" }, - { 0x2a49, "Blood Pressure Feature" }, - { 0x2a4a, "HID Information" }, - { 0x2a4b, "Report Map" }, - { 0x2a4c, "HID Control Point" }, - { 0x2a4d, "Report" }, - { 0x2a4e, "Protocol Mode" }, - { 0x2a4f, "Scan Interval Window" }, - { 0x2a50, "PnP ID" }, - { 0x2a51, "Glucose Feature" }, - { 0x2a52, "Record Access Control Point" }, - { 0x2a53, "RSC Measurement" }, - { 0x2a54, "RSC Feature" }, - { 0x2a55, "SC Control Point" }, - /* 0x2a56 to 0x2a5a undefined */ - { 0x2a5b, "CSC Measurement" }, - { 0x2a5c, "CSC Feature" }, - { 0x2a5d, "Sensor Location" }, - { } -}; - -const char *uuid16_to_str(uint16_t uuid) -{ - int i; - - for (i = 0; uuid16_table[i].str; i++) { - if (uuid16_table[i].uuid == uuid) - return uuid16_table[i].str; - } - - return "Unknown"; -} - -const char *uuid32_to_str(uint32_t uuid) -{ - if ((uuid & 0xffff0000) == 0x0000) - return uuid16_to_str(uuid & 0x0000ffff); - - return "Unknown"; -} - -const char *uuidstr_to_str(const char *uuid) -{ - uint32_t val; - - if (!uuid) - return NULL; - - if (strlen(uuid) != 36) - return NULL; - - if (strncasecmp(uuid + 8, "-0000-1000-8000-00805f9b34fb", 28)) - return "Vendor specific"; - - if (sscanf(uuid, "%08x-0000-1000-8000-00805f9b34fb", &val) != 1) - return NULL; - - return uuid32_to_str(val); -} diff --git a/GRIB_BLE_HUB/libs/ble_extend/monitor/uuid.h b/GRIB_BLE_HUB/libs/ble_extend/monitor/uuid.h deleted file mode 100644 index 4d441c8..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/monitor/uuid.h +++ /dev/null @@ -1,30 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2011-2012 Intel Corporation - * Copyright (C) 2004-2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#include - -const char *uuid16_to_str(uint16_t uuid); -const char *uuid32_to_str(uint32_t uuid); - -const char *uuidstr_to_str(const char *uuid); diff --git a/GRIB_BLE_HUB/libs/ble_extend/obexd/client/.deps/.dirstamp b/GRIB_BLE_HUB/libs/ble_extend/obexd/client/.deps/.dirstamp deleted file mode 100644 index e69de29..0000000 diff --git a/GRIB_BLE_HUB/libs/ble_extend/obexd/client/.deps/obexd-bluetooth.Po b/GRIB_BLE_HUB/libs/ble_extend/obexd/client/.deps/obexd-bluetooth.Po deleted file mode 100644 index 53594f7..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/obexd/client/.deps/obexd-bluetooth.Po +++ /dev/null @@ -1,523 +0,0 @@ -obexd/client/obexd-bluetooth.o: obexd/client/bluetooth.c \ - /usr/include/stdc-predef.h config.h /usr/include/errno.h \ - /usr/include/features.h /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/include/arm-linux-gnueabihf/bits/errno.h /usr/include/linux/errno.h \ - /usr/include/arm-linux-gnueabihf/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/include/inttypes.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h \ - /usr/include/stdint.h /usr/include/arm-linux-gnueabihf/bits/wchar.h \ - /usr/include/glib-2.0/glib.h /usr/include/glib-2.0/glib/galloca.h \ - /usr/include/glib-2.0/glib/gtypes.h \ - /usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h \ - /usr/include/glib-2.0/glib/gmacros.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h \ - /usr/include/limits.h /usr/include/arm-linux-gnueabihf/bits/posix1_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/local_lim.h \ - /usr/include/linux/limits.h \ - /usr/include/arm-linux-gnueabihf/bits/posix2_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/xopen_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h \ - /usr/include/glib-2.0/glib/gversionmacros.h /usr/include/time.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h \ - /usr/include/arm-linux-gnueabihf/bits/timex.h /usr/include/xlocale.h \ - /usr/include/glib-2.0/glib/garray.h \ - /usr/include/glib-2.0/glib/gasyncqueue.h \ - /usr/include/glib-2.0/glib/gthread.h \ - /usr/include/glib-2.0/glib/gatomic.h /usr/include/glib-2.0/glib/gerror.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/glib-2.0/glib/gquark.h \ - /usr/include/glib-2.0/glib/gbacktrace.h /usr/include/signal.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/signum.h \ - /usr/include/arm-linux-gnueabihf/bits/siginfo.h \ - /usr/include/arm-linux-gnueabihf/bits/sigaction.h \ - /usr/include/arm-linux-gnueabihf/bits/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/asm/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigstack.h \ - /usr/include/arm-linux-gnueabihf/sys/ucontext.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/endian.h /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/arm-linux-gnueabihf/bits/sigthread.h \ - /usr/include/glib-2.0/glib/gbase64.h \ - /usr/include/glib-2.0/glib/gbitlock.h \ - /usr/include/glib-2.0/glib/gbookmarkfile.h \ - /usr/include/glib-2.0/glib/gbytes.h \ - /usr/include/glib-2.0/glib/gcharset.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/gconvert.h \ - /usr/include/glib-2.0/glib/gdataset.h /usr/include/glib-2.0/glib/gdate.h \ - /usr/include/glib-2.0/glib/gdatetime.h \ - /usr/include/glib-2.0/glib/gtimezone.h /usr/include/glib-2.0/glib/gdir.h \ - /usr/include/dirent.h /usr/include/arm-linux-gnueabihf/bits/dirent.h \ - /usr/include/glib-2.0/glib/genviron.h \ - /usr/include/glib-2.0/glib/gfileutils.h \ - /usr/include/glib-2.0/glib/ggettext.h /usr/include/glib-2.0/glib/ghash.h \ - /usr/include/glib-2.0/glib/glist.h /usr/include/glib-2.0/glib/gmem.h \ - /usr/include/glib-2.0/glib/gnode.h /usr/include/glib-2.0/glib/ghmac.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/ghook.h \ - /usr/include/glib-2.0/glib/ghostutils.h \ - /usr/include/glib-2.0/glib/giochannel.h \ - /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gpoll.h \ - /usr/include/glib-2.0/glib/gslist.h /usr/include/glib-2.0/glib/gstring.h \ - /usr/include/glib-2.0/glib/gunicode.h \ - /usr/include/glib-2.0/glib/gutils.h \ - /usr/include/glib-2.0/glib/gkeyfile.h \ - /usr/include/glib-2.0/glib/gmappedfile.h \ - /usr/include/glib-2.0/glib/gmarkup.h \ - /usr/include/glib-2.0/glib/gmessages.h \ - /usr/include/glib-2.0/glib/goption.h \ - /usr/include/glib-2.0/glib/gpattern.h \ - /usr/include/glib-2.0/glib/gprimes.h /usr/include/glib-2.0/glib/gqsort.h \ - /usr/include/glib-2.0/glib/gqueue.h /usr/include/glib-2.0/glib/grand.h \ - /usr/include/glib-2.0/glib/gregex.h \ - /usr/include/glib-2.0/glib/gscanner.h \ - /usr/include/glib-2.0/glib/gsequence.h \ - /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gslice.h \ - /usr/include/glib-2.0/glib/gspawn.h \ - /usr/include/glib-2.0/glib/gstrfuncs.h \ - /usr/include/glib-2.0/glib/gstringchunk.h \ - /usr/include/glib-2.0/glib/gtestutils.h \ - /usr/include/glib-2.0/glib/gthreadpool.h \ - /usr/include/glib-2.0/glib/gtimer.h \ - /usr/include/glib-2.0/glib/gtrashstack.h \ - /usr/include/glib-2.0/glib/gtree.h \ - /usr/include/glib-2.0/glib/gurifuncs.h \ - /usr/include/glib-2.0/glib/gvarianttype.h \ - /usr/include/glib-2.0/glib/gvariant.h \ - /usr/include/glib-2.0/glib/gversion.h \ - /usr/include/glib-2.0/glib/deprecated/gallocator.h \ - /usr/include/glib-2.0/glib/deprecated/gcache.h \ - /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ - /usr/include/glib-2.0/glib/deprecated/gmain.h \ - /usr/include/glib-2.0/glib/deprecated/grel.h \ - /usr/include/glib-2.0/glib/deprecated/gthread.h \ - /usr/include/arm-linux-gnueabihf/sys/types.h \ - /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h /usr/include/pthread.h \ - /usr/include/sched.h /usr/include/arm-linux-gnueabihf/bits/sched.h \ - /usr/include/arm-linux-gnueabihf/bits/setjmp.h gdbus/gdbus.h \ - /usr/include/dbus-1.0/dbus/dbus.h \ - /usr/lib/arm-linux-gnueabihf/dbus-1.0/include/dbus/dbus-arch-deps.h \ - /usr/include/dbus-1.0/dbus/dbus-macros.h \ - /usr/include/dbus-1.0/dbus/dbus-address.h \ - /usr/include/dbus-1.0/dbus/dbus-types.h \ - /usr/include/dbus-1.0/dbus/dbus-errors.h \ - /usr/include/dbus-1.0/dbus/dbus-protocol.h \ - /usr/include/dbus-1.0/dbus/dbus-bus.h \ - /usr/include/dbus-1.0/dbus/dbus-connection.h \ - /usr/include/dbus-1.0/dbus/dbus-memory.h \ - /usr/include/dbus-1.0/dbus/dbus-message.h \ - /usr/include/dbus-1.0/dbus/dbus-shared.h \ - /usr/include/dbus-1.0/dbus/dbus-misc.h \ - /usr/include/dbus-1.0/dbus/dbus-pending-call.h \ - /usr/include/dbus-1.0/dbus/dbus-server.h \ - /usr/include/dbus-1.0/dbus/dbus-signature.h \ - /usr/include/dbus-1.0/dbus/dbus-syntax.h \ - /usr/include/dbus-1.0/dbus/dbus-threads.h btio/btio.h \ - lib/bluetooth/bluetooth.h /usr/include/stdio.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/include/arm-linux-gnueabihf/bits/sys_errlist.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio.h /usr/include/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string2.h /usr/include/stdlib.h \ - /usr/include/byteswap.h /usr/include/netinet/in.h \ - /usr/include/arm-linux-gnueabihf/sys/socket.h \ - /usr/include/arm-linux-gnueabihf/sys/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/socket.h \ - /usr/include/arm-linux-gnueabihf/bits/socket_type.h \ - /usr/include/arm-linux-gnueabihf/bits/sockaddr.h \ - /usr/include/arm-linux-gnueabihf/asm/socket.h \ - /usr/include/asm-generic/socket.h \ - /usr/include/arm-linux-gnueabihf/asm/sockios.h \ - /usr/include/asm-generic/sockios.h \ - /usr/include/arm-linux-gnueabihf/bits/in.h lib/bluetooth/rfcomm.h \ - lib/bluetooth/sdp.h lib/bluetooth/sdp_lib.h lib/bluetooth/hci.h \ - obexd/src/log.h obexd/client/transport.h obexd/client/bluetooth.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/include/errno.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/include/arm-linux-gnueabihf/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/arm-linux-gnueabihf/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/include/inttypes.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/arm-linux-gnueabihf/bits/wchar.h: - -/usr/include/glib-2.0/glib.h: - -/usr/include/glib-2.0/glib/galloca.h: - -/usr/include/glib-2.0/glib/gtypes.h: - -/usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h: - -/usr/include/glib-2.0/glib/gmacros.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h: - -/usr/include/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/local_lim.h: - -/usr/include/linux/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix2_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/xopen_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h: - -/usr/include/glib-2.0/glib/gversionmacros.h: - -/usr/include/time.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/arm-linux-gnueabihf/bits/timex.h: - -/usr/include/xlocale.h: - -/usr/include/glib-2.0/glib/garray.h: - -/usr/include/glib-2.0/glib/gasyncqueue.h: - -/usr/include/glib-2.0/glib/gthread.h: - -/usr/include/glib-2.0/glib/gatomic.h: - -/usr/include/glib-2.0/glib/gerror.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/glib-2.0/glib/gquark.h: - -/usr/include/glib-2.0/glib/gbacktrace.h: - -/usr/include/signal.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/signum.h: - -/usr/include/arm-linux-gnueabihf/bits/siginfo.h: - -/usr/include/arm-linux-gnueabihf/bits/sigaction.h: - -/usr/include/arm-linux-gnueabihf/bits/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/asm/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigstack.h: - -/usr/include/arm-linux-gnueabihf/sys/ucontext.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/arm-linux-gnueabihf/bits/sigthread.h: - -/usr/include/glib-2.0/glib/gbase64.h: - -/usr/include/glib-2.0/glib/gbitlock.h: - -/usr/include/glib-2.0/glib/gbookmarkfile.h: - -/usr/include/glib-2.0/glib/gbytes.h: - -/usr/include/glib-2.0/glib/gcharset.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/gconvert.h: - -/usr/include/glib-2.0/glib/gdataset.h: - -/usr/include/glib-2.0/glib/gdate.h: - -/usr/include/glib-2.0/glib/gdatetime.h: - -/usr/include/glib-2.0/glib/gtimezone.h: - -/usr/include/glib-2.0/glib/gdir.h: - -/usr/include/dirent.h: - -/usr/include/arm-linux-gnueabihf/bits/dirent.h: - -/usr/include/glib-2.0/glib/genviron.h: - -/usr/include/glib-2.0/glib/gfileutils.h: - -/usr/include/glib-2.0/glib/ggettext.h: - -/usr/include/glib-2.0/glib/ghash.h: - -/usr/include/glib-2.0/glib/glist.h: - -/usr/include/glib-2.0/glib/gmem.h: - -/usr/include/glib-2.0/glib/gnode.h: - -/usr/include/glib-2.0/glib/ghmac.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/ghook.h: - -/usr/include/glib-2.0/glib/ghostutils.h: - -/usr/include/glib-2.0/glib/giochannel.h: - -/usr/include/glib-2.0/glib/gmain.h: - -/usr/include/glib-2.0/glib/gpoll.h: - -/usr/include/glib-2.0/glib/gslist.h: - -/usr/include/glib-2.0/glib/gstring.h: - -/usr/include/glib-2.0/glib/gunicode.h: - -/usr/include/glib-2.0/glib/gutils.h: - -/usr/include/glib-2.0/glib/gkeyfile.h: - -/usr/include/glib-2.0/glib/gmappedfile.h: - -/usr/include/glib-2.0/glib/gmarkup.h: - -/usr/include/glib-2.0/glib/gmessages.h: - -/usr/include/glib-2.0/glib/goption.h: - -/usr/include/glib-2.0/glib/gpattern.h: - -/usr/include/glib-2.0/glib/gprimes.h: - -/usr/include/glib-2.0/glib/gqsort.h: - -/usr/include/glib-2.0/glib/gqueue.h: - -/usr/include/glib-2.0/glib/grand.h: - -/usr/include/glib-2.0/glib/gregex.h: - -/usr/include/glib-2.0/glib/gscanner.h: - -/usr/include/glib-2.0/glib/gsequence.h: - -/usr/include/glib-2.0/glib/gshell.h: - -/usr/include/glib-2.0/glib/gslice.h: - -/usr/include/glib-2.0/glib/gspawn.h: - -/usr/include/glib-2.0/glib/gstrfuncs.h: - -/usr/include/glib-2.0/glib/gstringchunk.h: - -/usr/include/glib-2.0/glib/gtestutils.h: - -/usr/include/glib-2.0/glib/gthreadpool.h: - -/usr/include/glib-2.0/glib/gtimer.h: - -/usr/include/glib-2.0/glib/gtrashstack.h: - -/usr/include/glib-2.0/glib/gtree.h: - -/usr/include/glib-2.0/glib/gurifuncs.h: - -/usr/include/glib-2.0/glib/gvarianttype.h: - -/usr/include/glib-2.0/glib/gvariant.h: - -/usr/include/glib-2.0/glib/gversion.h: - -/usr/include/glib-2.0/glib/deprecated/gallocator.h: - -/usr/include/glib-2.0/glib/deprecated/gcache.h: - -/usr/include/glib-2.0/glib/deprecated/gcompletion.h: - -/usr/include/glib-2.0/glib/deprecated/gmain.h: - -/usr/include/glib-2.0/glib/deprecated/grel.h: - -/usr/include/glib-2.0/glib/deprecated/gthread.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/pthread.h: - -/usr/include/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/setjmp.h: - -gdbus/gdbus.h: - -/usr/include/dbus-1.0/dbus/dbus.h: - -/usr/lib/arm-linux-gnueabihf/dbus-1.0/include/dbus/dbus-arch-deps.h: - -/usr/include/dbus-1.0/dbus/dbus-macros.h: - -/usr/include/dbus-1.0/dbus/dbus-address.h: - -/usr/include/dbus-1.0/dbus/dbus-types.h: - -/usr/include/dbus-1.0/dbus/dbus-errors.h: - -/usr/include/dbus-1.0/dbus/dbus-protocol.h: - -/usr/include/dbus-1.0/dbus/dbus-bus.h: - -/usr/include/dbus-1.0/dbus/dbus-connection.h: - -/usr/include/dbus-1.0/dbus/dbus-memory.h: - -/usr/include/dbus-1.0/dbus/dbus-message.h: - -/usr/include/dbus-1.0/dbus/dbus-shared.h: - -/usr/include/dbus-1.0/dbus/dbus-misc.h: - -/usr/include/dbus-1.0/dbus/dbus-pending-call.h: - -/usr/include/dbus-1.0/dbus/dbus-server.h: - -/usr/include/dbus-1.0/dbus/dbus-signature.h: - -/usr/include/dbus-1.0/dbus/dbus-syntax.h: - -/usr/include/dbus-1.0/dbus/dbus-threads.h: - -btio/btio.h: - -lib/bluetooth/bluetooth.h: - -/usr/include/stdio.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/include/arm-linux-gnueabihf/bits/sys_errlist.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio.h: - -/usr/include/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string2.h: - -/usr/include/stdlib.h: - -/usr/include/byteswap.h: - -/usr/include/netinet/in.h: - -/usr/include/arm-linux-gnueabihf/sys/socket.h: - -/usr/include/arm-linux-gnueabihf/sys/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/socket.h: - -/usr/include/arm-linux-gnueabihf/bits/socket_type.h: - -/usr/include/arm-linux-gnueabihf/bits/sockaddr.h: - -/usr/include/arm-linux-gnueabihf/asm/socket.h: - -/usr/include/asm-generic/socket.h: - -/usr/include/arm-linux-gnueabihf/asm/sockios.h: - -/usr/include/asm-generic/sockios.h: - -/usr/include/arm-linux-gnueabihf/bits/in.h: - -lib/bluetooth/rfcomm.h: - -lib/bluetooth/sdp.h: - -lib/bluetooth/sdp_lib.h: - -lib/bluetooth/hci.h: - -obexd/src/log.h: - -obexd/client/transport.h: - -obexd/client/bluetooth.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/obexd/client/.deps/obexd-dbus.Po b/GRIB_BLE_HUB/libs/ble_extend/obexd/client/.deps/obexd-dbus.Po deleted file mode 100644 index d820784..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/obexd/client/.deps/obexd-dbus.Po +++ /dev/null @@ -1,418 +0,0 @@ -obexd/client/obexd-dbus.o: obexd/client/dbus.c /usr/include/stdc-predef.h \ - config.h /usr/include/glib-2.0/glib.h \ - /usr/include/glib-2.0/glib/galloca.h /usr/include/glib-2.0/glib/gtypes.h \ - /usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h \ - /usr/include/glib-2.0/glib/gmacros.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h \ - /usr/include/limits.h /usr/include/features.h \ - /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/include/arm-linux-gnueabihf/bits/posix1_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/local_lim.h \ - /usr/include/linux/limits.h \ - /usr/include/arm-linux-gnueabihf/bits/posix2_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/xopen_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h \ - /usr/include/glib-2.0/glib/gversionmacros.h /usr/include/time.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h \ - /usr/include/arm-linux-gnueabihf/bits/timex.h /usr/include/xlocale.h \ - /usr/include/glib-2.0/glib/garray.h \ - /usr/include/glib-2.0/glib/gasyncqueue.h \ - /usr/include/glib-2.0/glib/gthread.h \ - /usr/include/glib-2.0/glib/gatomic.h /usr/include/glib-2.0/glib/gerror.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/glib-2.0/glib/gquark.h \ - /usr/include/glib-2.0/glib/gbacktrace.h /usr/include/signal.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/signum.h \ - /usr/include/arm-linux-gnueabihf/bits/siginfo.h \ - /usr/include/arm-linux-gnueabihf/bits/sigaction.h \ - /usr/include/arm-linux-gnueabihf/bits/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/asm/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigstack.h \ - /usr/include/arm-linux-gnueabihf/sys/ucontext.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/endian.h /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/arm-linux-gnueabihf/bits/sigthread.h \ - /usr/include/glib-2.0/glib/gbase64.h \ - /usr/include/glib-2.0/glib/gbitlock.h \ - /usr/include/glib-2.0/glib/gbookmarkfile.h \ - /usr/include/glib-2.0/glib/gbytes.h \ - /usr/include/glib-2.0/glib/gcharset.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/gconvert.h \ - /usr/include/glib-2.0/glib/gdataset.h /usr/include/glib-2.0/glib/gdate.h \ - /usr/include/glib-2.0/glib/gdatetime.h \ - /usr/include/glib-2.0/glib/gtimezone.h /usr/include/glib-2.0/glib/gdir.h \ - /usr/include/dirent.h /usr/include/arm-linux-gnueabihf/bits/dirent.h \ - /usr/include/glib-2.0/glib/genviron.h \ - /usr/include/glib-2.0/glib/gfileutils.h \ - /usr/include/glib-2.0/glib/ggettext.h /usr/include/glib-2.0/glib/ghash.h \ - /usr/include/glib-2.0/glib/glist.h /usr/include/glib-2.0/glib/gmem.h \ - /usr/include/glib-2.0/glib/gnode.h /usr/include/glib-2.0/glib/ghmac.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/ghook.h \ - /usr/include/glib-2.0/glib/ghostutils.h \ - /usr/include/glib-2.0/glib/giochannel.h \ - /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gpoll.h \ - /usr/include/glib-2.0/glib/gslist.h /usr/include/glib-2.0/glib/gstring.h \ - /usr/include/glib-2.0/glib/gunicode.h \ - /usr/include/glib-2.0/glib/gutils.h \ - /usr/include/glib-2.0/glib/gkeyfile.h \ - /usr/include/glib-2.0/glib/gmappedfile.h \ - /usr/include/glib-2.0/glib/gmarkup.h \ - /usr/include/glib-2.0/glib/gmessages.h \ - /usr/include/glib-2.0/glib/goption.h \ - /usr/include/glib-2.0/glib/gpattern.h \ - /usr/include/glib-2.0/glib/gprimes.h /usr/include/glib-2.0/glib/gqsort.h \ - /usr/include/glib-2.0/glib/gqueue.h /usr/include/glib-2.0/glib/grand.h \ - /usr/include/glib-2.0/glib/gregex.h \ - /usr/include/glib-2.0/glib/gscanner.h \ - /usr/include/glib-2.0/glib/gsequence.h \ - /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gslice.h \ - /usr/include/glib-2.0/glib/gspawn.h \ - /usr/include/glib-2.0/glib/gstrfuncs.h \ - /usr/include/glib-2.0/glib/gstringchunk.h \ - /usr/include/glib-2.0/glib/gtestutils.h \ - /usr/include/glib-2.0/glib/gthreadpool.h \ - /usr/include/glib-2.0/glib/gtimer.h \ - /usr/include/glib-2.0/glib/gtrashstack.h \ - /usr/include/glib-2.0/glib/gtree.h \ - /usr/include/glib-2.0/glib/gurifuncs.h \ - /usr/include/glib-2.0/glib/gvarianttype.h \ - /usr/include/glib-2.0/glib/gvariant.h \ - /usr/include/glib-2.0/glib/gversion.h \ - /usr/include/glib-2.0/glib/deprecated/gallocator.h \ - /usr/include/glib-2.0/glib/deprecated/gcache.h \ - /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ - /usr/include/glib-2.0/glib/deprecated/gmain.h \ - /usr/include/glib-2.0/glib/deprecated/grel.h \ - /usr/include/glib-2.0/glib/deprecated/gthread.h \ - /usr/include/arm-linux-gnueabihf/sys/types.h \ - /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h /usr/include/pthread.h \ - /usr/include/sched.h /usr/include/arm-linux-gnueabihf/bits/sched.h \ - /usr/include/arm-linux-gnueabihf/bits/setjmp.h gdbus/gdbus.h \ - /usr/include/dbus-1.0/dbus/dbus.h \ - /usr/lib/arm-linux-gnueabihf/dbus-1.0/include/dbus/dbus-arch-deps.h \ - /usr/include/dbus-1.0/dbus/dbus-macros.h \ - /usr/include/dbus-1.0/dbus/dbus-address.h \ - /usr/include/dbus-1.0/dbus/dbus-types.h \ - /usr/include/dbus-1.0/dbus/dbus-errors.h \ - /usr/include/dbus-1.0/dbus/dbus-protocol.h \ - /usr/include/dbus-1.0/dbus/dbus-bus.h \ - /usr/include/dbus-1.0/dbus/dbus-connection.h \ - /usr/include/dbus-1.0/dbus/dbus-memory.h \ - /usr/include/dbus-1.0/dbus/dbus-message.h \ - /usr/include/dbus-1.0/dbus/dbus-shared.h \ - /usr/include/dbus-1.0/dbus/dbus-misc.h \ - /usr/include/dbus-1.0/dbus/dbus-pending-call.h \ - /usr/include/dbus-1.0/dbus/dbus-server.h \ - /usr/include/dbus-1.0/dbus/dbus-signature.h \ - /usr/include/dbus-1.0/dbus/dbus-syntax.h \ - /usr/include/dbus-1.0/dbus/dbus-threads.h obexd/src/log.h \ - obexd/client/dbus.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/include/glib-2.0/glib.h: - -/usr/include/glib-2.0/glib/galloca.h: - -/usr/include/glib-2.0/glib/gtypes.h: - -/usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h: - -/usr/include/glib-2.0/glib/gmacros.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h: - -/usr/include/limits.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/local_lim.h: - -/usr/include/linux/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix2_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/xopen_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h: - -/usr/include/glib-2.0/glib/gversionmacros.h: - -/usr/include/time.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/arm-linux-gnueabihf/bits/timex.h: - -/usr/include/xlocale.h: - -/usr/include/glib-2.0/glib/garray.h: - -/usr/include/glib-2.0/glib/gasyncqueue.h: - -/usr/include/glib-2.0/glib/gthread.h: - -/usr/include/glib-2.0/glib/gatomic.h: - -/usr/include/glib-2.0/glib/gerror.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/glib-2.0/glib/gquark.h: - -/usr/include/glib-2.0/glib/gbacktrace.h: - -/usr/include/signal.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/signum.h: - -/usr/include/arm-linux-gnueabihf/bits/siginfo.h: - -/usr/include/arm-linux-gnueabihf/bits/sigaction.h: - -/usr/include/arm-linux-gnueabihf/bits/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/asm/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigstack.h: - -/usr/include/arm-linux-gnueabihf/sys/ucontext.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/arm-linux-gnueabihf/bits/sigthread.h: - -/usr/include/glib-2.0/glib/gbase64.h: - -/usr/include/glib-2.0/glib/gbitlock.h: - -/usr/include/glib-2.0/glib/gbookmarkfile.h: - -/usr/include/glib-2.0/glib/gbytes.h: - -/usr/include/glib-2.0/glib/gcharset.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/gconvert.h: - -/usr/include/glib-2.0/glib/gdataset.h: - -/usr/include/glib-2.0/glib/gdate.h: - -/usr/include/glib-2.0/glib/gdatetime.h: - -/usr/include/glib-2.0/glib/gtimezone.h: - -/usr/include/glib-2.0/glib/gdir.h: - -/usr/include/dirent.h: - -/usr/include/arm-linux-gnueabihf/bits/dirent.h: - -/usr/include/glib-2.0/glib/genviron.h: - -/usr/include/glib-2.0/glib/gfileutils.h: - -/usr/include/glib-2.0/glib/ggettext.h: - -/usr/include/glib-2.0/glib/ghash.h: - -/usr/include/glib-2.0/glib/glist.h: - -/usr/include/glib-2.0/glib/gmem.h: - -/usr/include/glib-2.0/glib/gnode.h: - -/usr/include/glib-2.0/glib/ghmac.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/ghook.h: - -/usr/include/glib-2.0/glib/ghostutils.h: - -/usr/include/glib-2.0/glib/giochannel.h: - -/usr/include/glib-2.0/glib/gmain.h: - -/usr/include/glib-2.0/glib/gpoll.h: - -/usr/include/glib-2.0/glib/gslist.h: - -/usr/include/glib-2.0/glib/gstring.h: - -/usr/include/glib-2.0/glib/gunicode.h: - -/usr/include/glib-2.0/glib/gutils.h: - -/usr/include/glib-2.0/glib/gkeyfile.h: - -/usr/include/glib-2.0/glib/gmappedfile.h: - -/usr/include/glib-2.0/glib/gmarkup.h: - -/usr/include/glib-2.0/glib/gmessages.h: - -/usr/include/glib-2.0/glib/goption.h: - -/usr/include/glib-2.0/glib/gpattern.h: - -/usr/include/glib-2.0/glib/gprimes.h: - -/usr/include/glib-2.0/glib/gqsort.h: - -/usr/include/glib-2.0/glib/gqueue.h: - -/usr/include/glib-2.0/glib/grand.h: - -/usr/include/glib-2.0/glib/gregex.h: - -/usr/include/glib-2.0/glib/gscanner.h: - -/usr/include/glib-2.0/glib/gsequence.h: - -/usr/include/glib-2.0/glib/gshell.h: - -/usr/include/glib-2.0/glib/gslice.h: - -/usr/include/glib-2.0/glib/gspawn.h: - -/usr/include/glib-2.0/glib/gstrfuncs.h: - -/usr/include/glib-2.0/glib/gstringchunk.h: - -/usr/include/glib-2.0/glib/gtestutils.h: - -/usr/include/glib-2.0/glib/gthreadpool.h: - -/usr/include/glib-2.0/glib/gtimer.h: - -/usr/include/glib-2.0/glib/gtrashstack.h: - -/usr/include/glib-2.0/glib/gtree.h: - -/usr/include/glib-2.0/glib/gurifuncs.h: - -/usr/include/glib-2.0/glib/gvarianttype.h: - -/usr/include/glib-2.0/glib/gvariant.h: - -/usr/include/glib-2.0/glib/gversion.h: - -/usr/include/glib-2.0/glib/deprecated/gallocator.h: - -/usr/include/glib-2.0/glib/deprecated/gcache.h: - -/usr/include/glib-2.0/glib/deprecated/gcompletion.h: - -/usr/include/glib-2.0/glib/deprecated/gmain.h: - -/usr/include/glib-2.0/glib/deprecated/grel.h: - -/usr/include/glib-2.0/glib/deprecated/gthread.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/pthread.h: - -/usr/include/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/setjmp.h: - -gdbus/gdbus.h: - -/usr/include/dbus-1.0/dbus/dbus.h: - -/usr/lib/arm-linux-gnueabihf/dbus-1.0/include/dbus/dbus-arch-deps.h: - -/usr/include/dbus-1.0/dbus/dbus-macros.h: - -/usr/include/dbus-1.0/dbus/dbus-address.h: - -/usr/include/dbus-1.0/dbus/dbus-types.h: - -/usr/include/dbus-1.0/dbus/dbus-errors.h: - -/usr/include/dbus-1.0/dbus/dbus-protocol.h: - -/usr/include/dbus-1.0/dbus/dbus-bus.h: - -/usr/include/dbus-1.0/dbus/dbus-connection.h: - -/usr/include/dbus-1.0/dbus/dbus-memory.h: - -/usr/include/dbus-1.0/dbus/dbus-message.h: - -/usr/include/dbus-1.0/dbus/dbus-shared.h: - -/usr/include/dbus-1.0/dbus/dbus-misc.h: - -/usr/include/dbus-1.0/dbus/dbus-pending-call.h: - -/usr/include/dbus-1.0/dbus/dbus-server.h: - -/usr/include/dbus-1.0/dbus/dbus-signature.h: - -/usr/include/dbus-1.0/dbus/dbus-syntax.h: - -/usr/include/dbus-1.0/dbus/dbus-threads.h: - -obexd/src/log.h: - -obexd/client/dbus.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/obexd/client/.deps/obexd-driver.Po b/GRIB_BLE_HUB/libs/ble_extend/obexd/client/.deps/obexd-driver.Po deleted file mode 100644 index 64f05c5..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/obexd/client/.deps/obexd-driver.Po +++ /dev/null @@ -1,456 +0,0 @@ -obexd/client/obexd-driver.o: obexd/client/driver.c \ - /usr/include/stdc-predef.h config.h /usr/include/string.h \ - /usr/include/features.h /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/include/xlocale.h /usr/include/arm-linux-gnueabihf/bits/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string2.h /usr/include/stdlib.h \ - /usr/include/errno.h /usr/include/arm-linux-gnueabihf/bits/errno.h \ - /usr/include/linux/errno.h /usr/include/arm-linux-gnueabihf/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/include/glib-2.0/glib.h /usr/include/glib-2.0/glib/galloca.h \ - /usr/include/glib-2.0/glib/gtypes.h \ - /usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h \ - /usr/include/glib-2.0/glib/gmacros.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h \ - /usr/include/limits.h /usr/include/arm-linux-gnueabihf/bits/posix1_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/local_lim.h \ - /usr/include/linux/limits.h \ - /usr/include/arm-linux-gnueabihf/bits/posix2_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/xopen_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h \ - /usr/include/glib-2.0/glib/gversionmacros.h /usr/include/time.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h \ - /usr/include/arm-linux-gnueabihf/bits/timex.h \ - /usr/include/glib-2.0/glib/garray.h \ - /usr/include/glib-2.0/glib/gasyncqueue.h \ - /usr/include/glib-2.0/glib/gthread.h \ - /usr/include/glib-2.0/glib/gatomic.h /usr/include/glib-2.0/glib/gerror.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/glib-2.0/glib/gquark.h \ - /usr/include/glib-2.0/glib/gbacktrace.h /usr/include/signal.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/signum.h \ - /usr/include/arm-linux-gnueabihf/bits/siginfo.h \ - /usr/include/arm-linux-gnueabihf/bits/sigaction.h \ - /usr/include/arm-linux-gnueabihf/bits/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/asm/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigstack.h \ - /usr/include/arm-linux-gnueabihf/sys/ucontext.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/endian.h /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/arm-linux-gnueabihf/bits/sigthread.h \ - /usr/include/glib-2.0/glib/gbase64.h \ - /usr/include/glib-2.0/glib/gbitlock.h \ - /usr/include/glib-2.0/glib/gbookmarkfile.h \ - /usr/include/glib-2.0/glib/gbytes.h \ - /usr/include/glib-2.0/glib/gcharset.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/gconvert.h \ - /usr/include/glib-2.0/glib/gdataset.h /usr/include/glib-2.0/glib/gdate.h \ - /usr/include/glib-2.0/glib/gdatetime.h \ - /usr/include/glib-2.0/glib/gtimezone.h /usr/include/glib-2.0/glib/gdir.h \ - /usr/include/dirent.h /usr/include/arm-linux-gnueabihf/bits/dirent.h \ - /usr/include/glib-2.0/glib/genviron.h \ - /usr/include/glib-2.0/glib/gfileutils.h \ - /usr/include/glib-2.0/glib/ggettext.h /usr/include/glib-2.0/glib/ghash.h \ - /usr/include/glib-2.0/glib/glist.h /usr/include/glib-2.0/glib/gmem.h \ - /usr/include/glib-2.0/glib/gnode.h /usr/include/glib-2.0/glib/ghmac.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/ghook.h \ - /usr/include/glib-2.0/glib/ghostutils.h \ - /usr/include/glib-2.0/glib/giochannel.h \ - /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gpoll.h \ - /usr/include/glib-2.0/glib/gslist.h /usr/include/glib-2.0/glib/gstring.h \ - /usr/include/glib-2.0/glib/gunicode.h \ - /usr/include/glib-2.0/glib/gutils.h \ - /usr/include/glib-2.0/glib/gkeyfile.h \ - /usr/include/glib-2.0/glib/gmappedfile.h \ - /usr/include/glib-2.0/glib/gmarkup.h \ - /usr/include/glib-2.0/glib/gmessages.h \ - /usr/include/glib-2.0/glib/goption.h \ - /usr/include/glib-2.0/glib/gpattern.h \ - /usr/include/glib-2.0/glib/gprimes.h /usr/include/glib-2.0/glib/gqsort.h \ - /usr/include/glib-2.0/glib/gqueue.h /usr/include/glib-2.0/glib/grand.h \ - /usr/include/glib-2.0/glib/gregex.h \ - /usr/include/glib-2.0/glib/gscanner.h \ - /usr/include/glib-2.0/glib/gsequence.h \ - /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gslice.h \ - /usr/include/glib-2.0/glib/gspawn.h \ - /usr/include/glib-2.0/glib/gstrfuncs.h \ - /usr/include/glib-2.0/glib/gstringchunk.h \ - /usr/include/glib-2.0/glib/gtestutils.h \ - /usr/include/glib-2.0/glib/gthreadpool.h \ - /usr/include/glib-2.0/glib/gtimer.h \ - /usr/include/glib-2.0/glib/gtrashstack.h \ - /usr/include/glib-2.0/glib/gtree.h \ - /usr/include/glib-2.0/glib/gurifuncs.h \ - /usr/include/glib-2.0/glib/gvarianttype.h \ - /usr/include/glib-2.0/glib/gvariant.h \ - /usr/include/glib-2.0/glib/gversion.h \ - /usr/include/glib-2.0/glib/deprecated/gallocator.h \ - /usr/include/glib-2.0/glib/deprecated/gcache.h \ - /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ - /usr/include/glib-2.0/glib/deprecated/gmain.h \ - /usr/include/glib-2.0/glib/deprecated/grel.h \ - /usr/include/glib-2.0/glib/deprecated/gthread.h \ - /usr/include/arm-linux-gnueabihf/sys/types.h \ - /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h /usr/include/pthread.h \ - /usr/include/sched.h /usr/include/arm-linux-gnueabihf/bits/sched.h \ - /usr/include/arm-linux-gnueabihf/bits/setjmp.h gdbus/gdbus.h \ - /usr/include/dbus-1.0/dbus/dbus.h \ - /usr/lib/arm-linux-gnueabihf/dbus-1.0/include/dbus/dbus-arch-deps.h \ - /usr/include/dbus-1.0/dbus/dbus-macros.h \ - /usr/include/dbus-1.0/dbus/dbus-address.h \ - /usr/include/dbus-1.0/dbus/dbus-types.h \ - /usr/include/dbus-1.0/dbus/dbus-errors.h \ - /usr/include/dbus-1.0/dbus/dbus-protocol.h \ - /usr/include/dbus-1.0/dbus/dbus-bus.h \ - /usr/include/dbus-1.0/dbus/dbus-connection.h \ - /usr/include/dbus-1.0/dbus/dbus-memory.h \ - /usr/include/dbus-1.0/dbus/dbus-message.h \ - /usr/include/dbus-1.0/dbus/dbus-shared.h \ - /usr/include/dbus-1.0/dbus/dbus-misc.h \ - /usr/include/dbus-1.0/dbus/dbus-pending-call.h \ - /usr/include/dbus-1.0/dbus/dbus-server.h \ - /usr/include/dbus-1.0/dbus/dbus-signature.h \ - /usr/include/dbus-1.0/dbus/dbus-syntax.h \ - /usr/include/dbus-1.0/dbus/dbus-threads.h obexd/client/transfer.h \ - obexd/client/session.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h \ - /usr/include/stdint.h /usr/include/arm-linux-gnueabihf/bits/wchar.h \ - obexd/client/driver.h obexd/src/log.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/include/string.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/include/xlocale.h: - -/usr/include/arm-linux-gnueabihf/bits/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string2.h: - -/usr/include/stdlib.h: - -/usr/include/errno.h: - -/usr/include/arm-linux-gnueabihf/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/arm-linux-gnueabihf/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/include/glib-2.0/glib.h: - -/usr/include/glib-2.0/glib/galloca.h: - -/usr/include/glib-2.0/glib/gtypes.h: - -/usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h: - -/usr/include/glib-2.0/glib/gmacros.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h: - -/usr/include/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/local_lim.h: - -/usr/include/linux/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix2_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/xopen_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h: - -/usr/include/glib-2.0/glib/gversionmacros.h: - -/usr/include/time.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/arm-linux-gnueabihf/bits/timex.h: - -/usr/include/glib-2.0/glib/garray.h: - -/usr/include/glib-2.0/glib/gasyncqueue.h: - -/usr/include/glib-2.0/glib/gthread.h: - -/usr/include/glib-2.0/glib/gatomic.h: - -/usr/include/glib-2.0/glib/gerror.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/glib-2.0/glib/gquark.h: - -/usr/include/glib-2.0/glib/gbacktrace.h: - -/usr/include/signal.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/signum.h: - -/usr/include/arm-linux-gnueabihf/bits/siginfo.h: - -/usr/include/arm-linux-gnueabihf/bits/sigaction.h: - -/usr/include/arm-linux-gnueabihf/bits/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/asm/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigstack.h: - -/usr/include/arm-linux-gnueabihf/sys/ucontext.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/arm-linux-gnueabihf/bits/sigthread.h: - -/usr/include/glib-2.0/glib/gbase64.h: - -/usr/include/glib-2.0/glib/gbitlock.h: - -/usr/include/glib-2.0/glib/gbookmarkfile.h: - -/usr/include/glib-2.0/glib/gbytes.h: - -/usr/include/glib-2.0/glib/gcharset.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/gconvert.h: - -/usr/include/glib-2.0/glib/gdataset.h: - -/usr/include/glib-2.0/glib/gdate.h: - -/usr/include/glib-2.0/glib/gdatetime.h: - -/usr/include/glib-2.0/glib/gtimezone.h: - -/usr/include/glib-2.0/glib/gdir.h: - -/usr/include/dirent.h: - -/usr/include/arm-linux-gnueabihf/bits/dirent.h: - -/usr/include/glib-2.0/glib/genviron.h: - -/usr/include/glib-2.0/glib/gfileutils.h: - -/usr/include/glib-2.0/glib/ggettext.h: - -/usr/include/glib-2.0/glib/ghash.h: - -/usr/include/glib-2.0/glib/glist.h: - -/usr/include/glib-2.0/glib/gmem.h: - -/usr/include/glib-2.0/glib/gnode.h: - -/usr/include/glib-2.0/glib/ghmac.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/ghook.h: - -/usr/include/glib-2.0/glib/ghostutils.h: - -/usr/include/glib-2.0/glib/giochannel.h: - -/usr/include/glib-2.0/glib/gmain.h: - -/usr/include/glib-2.0/glib/gpoll.h: - -/usr/include/glib-2.0/glib/gslist.h: - -/usr/include/glib-2.0/glib/gstring.h: - -/usr/include/glib-2.0/glib/gunicode.h: - -/usr/include/glib-2.0/glib/gutils.h: - -/usr/include/glib-2.0/glib/gkeyfile.h: - -/usr/include/glib-2.0/glib/gmappedfile.h: - -/usr/include/glib-2.0/glib/gmarkup.h: - -/usr/include/glib-2.0/glib/gmessages.h: - -/usr/include/glib-2.0/glib/goption.h: - -/usr/include/glib-2.0/glib/gpattern.h: - -/usr/include/glib-2.0/glib/gprimes.h: - -/usr/include/glib-2.0/glib/gqsort.h: - -/usr/include/glib-2.0/glib/gqueue.h: - -/usr/include/glib-2.0/glib/grand.h: - -/usr/include/glib-2.0/glib/gregex.h: - -/usr/include/glib-2.0/glib/gscanner.h: - -/usr/include/glib-2.0/glib/gsequence.h: - -/usr/include/glib-2.0/glib/gshell.h: - -/usr/include/glib-2.0/glib/gslice.h: - -/usr/include/glib-2.0/glib/gspawn.h: - -/usr/include/glib-2.0/glib/gstrfuncs.h: - -/usr/include/glib-2.0/glib/gstringchunk.h: - -/usr/include/glib-2.0/glib/gtestutils.h: - -/usr/include/glib-2.0/glib/gthreadpool.h: - -/usr/include/glib-2.0/glib/gtimer.h: - -/usr/include/glib-2.0/glib/gtrashstack.h: - -/usr/include/glib-2.0/glib/gtree.h: - -/usr/include/glib-2.0/glib/gurifuncs.h: - -/usr/include/glib-2.0/glib/gvarianttype.h: - -/usr/include/glib-2.0/glib/gvariant.h: - -/usr/include/glib-2.0/glib/gversion.h: - -/usr/include/glib-2.0/glib/deprecated/gallocator.h: - -/usr/include/glib-2.0/glib/deprecated/gcache.h: - -/usr/include/glib-2.0/glib/deprecated/gcompletion.h: - -/usr/include/glib-2.0/glib/deprecated/gmain.h: - -/usr/include/glib-2.0/glib/deprecated/grel.h: - -/usr/include/glib-2.0/glib/deprecated/gthread.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/pthread.h: - -/usr/include/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/setjmp.h: - -gdbus/gdbus.h: - -/usr/include/dbus-1.0/dbus/dbus.h: - -/usr/lib/arm-linux-gnueabihf/dbus-1.0/include/dbus/dbus-arch-deps.h: - -/usr/include/dbus-1.0/dbus/dbus-macros.h: - -/usr/include/dbus-1.0/dbus/dbus-address.h: - -/usr/include/dbus-1.0/dbus/dbus-types.h: - -/usr/include/dbus-1.0/dbus/dbus-errors.h: - -/usr/include/dbus-1.0/dbus/dbus-protocol.h: - -/usr/include/dbus-1.0/dbus/dbus-bus.h: - -/usr/include/dbus-1.0/dbus/dbus-connection.h: - -/usr/include/dbus-1.0/dbus/dbus-memory.h: - -/usr/include/dbus-1.0/dbus/dbus-message.h: - -/usr/include/dbus-1.0/dbus/dbus-shared.h: - -/usr/include/dbus-1.0/dbus/dbus-misc.h: - -/usr/include/dbus-1.0/dbus/dbus-pending-call.h: - -/usr/include/dbus-1.0/dbus/dbus-server.h: - -/usr/include/dbus-1.0/dbus/dbus-signature.h: - -/usr/include/dbus-1.0/dbus/dbus-syntax.h: - -/usr/include/dbus-1.0/dbus/dbus-threads.h: - -obexd/client/transfer.h: - -obexd/client/session.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/arm-linux-gnueabihf/bits/wchar.h: - -obexd/client/driver.h: - -obexd/src/log.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/obexd/client/.deps/obexd-ftp.Po b/GRIB_BLE_HUB/libs/ble_extend/obexd/client/.deps/obexd-ftp.Po deleted file mode 100644 index 4b88b98..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/obexd/client/.deps/obexd-ftp.Po +++ /dev/null @@ -1,460 +0,0 @@ -obexd/client/obexd-ftp.o: obexd/client/ftp.c /usr/include/stdc-predef.h \ - config.h /usr/include/errno.h /usr/include/features.h \ - /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/include/arm-linux-gnueabihf/bits/errno.h /usr/include/linux/errno.h \ - /usr/include/arm-linux-gnueabihf/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/include/string.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/include/xlocale.h /usr/include/arm-linux-gnueabihf/bits/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string2.h /usr/include/stdlib.h \ - gdbus/gdbus.h /usr/include/dbus-1.0/dbus/dbus.h \ - /usr/lib/arm-linux-gnueabihf/dbus-1.0/include/dbus/dbus-arch-deps.h \ - /usr/include/dbus-1.0/dbus/dbus-macros.h \ - /usr/include/dbus-1.0/dbus/dbus-address.h \ - /usr/include/dbus-1.0/dbus/dbus-types.h \ - /usr/include/dbus-1.0/dbus/dbus-errors.h \ - /usr/include/dbus-1.0/dbus/dbus-protocol.h \ - /usr/include/dbus-1.0/dbus/dbus-bus.h \ - /usr/include/dbus-1.0/dbus/dbus-connection.h \ - /usr/include/dbus-1.0/dbus/dbus-memory.h \ - /usr/include/dbus-1.0/dbus/dbus-message.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/dbus-1.0/dbus/dbus-shared.h \ - /usr/include/dbus-1.0/dbus/dbus-misc.h \ - /usr/include/dbus-1.0/dbus/dbus-pending-call.h \ - /usr/include/dbus-1.0/dbus/dbus-server.h \ - /usr/include/dbus-1.0/dbus/dbus-signature.h \ - /usr/include/dbus-1.0/dbus/dbus-syntax.h \ - /usr/include/dbus-1.0/dbus/dbus-threads.h /usr/include/glib-2.0/glib.h \ - /usr/include/glib-2.0/glib/galloca.h /usr/include/glib-2.0/glib/gtypes.h \ - /usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h \ - /usr/include/glib-2.0/glib/gmacros.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h \ - /usr/include/limits.h /usr/include/arm-linux-gnueabihf/bits/posix1_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/local_lim.h \ - /usr/include/linux/limits.h \ - /usr/include/arm-linux-gnueabihf/bits/posix2_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/xopen_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h \ - /usr/include/glib-2.0/glib/gversionmacros.h /usr/include/time.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h \ - /usr/include/arm-linux-gnueabihf/bits/timex.h \ - /usr/include/glib-2.0/glib/garray.h \ - /usr/include/glib-2.0/glib/gasyncqueue.h \ - /usr/include/glib-2.0/glib/gthread.h \ - /usr/include/glib-2.0/glib/gatomic.h /usr/include/glib-2.0/glib/gerror.h \ - /usr/include/glib-2.0/glib/gquark.h \ - /usr/include/glib-2.0/glib/gbacktrace.h /usr/include/signal.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/signum.h \ - /usr/include/arm-linux-gnueabihf/bits/siginfo.h \ - /usr/include/arm-linux-gnueabihf/bits/sigaction.h \ - /usr/include/arm-linux-gnueabihf/bits/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/asm/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigstack.h \ - /usr/include/arm-linux-gnueabihf/sys/ucontext.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/endian.h /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/arm-linux-gnueabihf/bits/sigthread.h \ - /usr/include/glib-2.0/glib/gbase64.h \ - /usr/include/glib-2.0/glib/gbitlock.h \ - /usr/include/glib-2.0/glib/gbookmarkfile.h \ - /usr/include/glib-2.0/glib/gbytes.h \ - /usr/include/glib-2.0/glib/gcharset.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/gconvert.h \ - /usr/include/glib-2.0/glib/gdataset.h /usr/include/glib-2.0/glib/gdate.h \ - /usr/include/glib-2.0/glib/gdatetime.h \ - /usr/include/glib-2.0/glib/gtimezone.h /usr/include/glib-2.0/glib/gdir.h \ - /usr/include/dirent.h /usr/include/arm-linux-gnueabihf/bits/dirent.h \ - /usr/include/glib-2.0/glib/genviron.h \ - /usr/include/glib-2.0/glib/gfileutils.h \ - /usr/include/glib-2.0/glib/ggettext.h /usr/include/glib-2.0/glib/ghash.h \ - /usr/include/glib-2.0/glib/glist.h /usr/include/glib-2.0/glib/gmem.h \ - /usr/include/glib-2.0/glib/gnode.h /usr/include/glib-2.0/glib/ghmac.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/ghook.h \ - /usr/include/glib-2.0/glib/ghostutils.h \ - /usr/include/glib-2.0/glib/giochannel.h \ - /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gpoll.h \ - /usr/include/glib-2.0/glib/gslist.h /usr/include/glib-2.0/glib/gstring.h \ - /usr/include/glib-2.0/glib/gunicode.h \ - /usr/include/glib-2.0/glib/gutils.h \ - /usr/include/glib-2.0/glib/gkeyfile.h \ - /usr/include/glib-2.0/glib/gmappedfile.h \ - /usr/include/glib-2.0/glib/gmarkup.h \ - /usr/include/glib-2.0/glib/gmessages.h \ - /usr/include/glib-2.0/glib/goption.h \ - /usr/include/glib-2.0/glib/gpattern.h \ - /usr/include/glib-2.0/glib/gprimes.h /usr/include/glib-2.0/glib/gqsort.h \ - /usr/include/glib-2.0/glib/gqueue.h /usr/include/glib-2.0/glib/grand.h \ - /usr/include/glib-2.0/glib/gregex.h \ - /usr/include/glib-2.0/glib/gscanner.h \ - /usr/include/glib-2.0/glib/gsequence.h \ - /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gslice.h \ - /usr/include/glib-2.0/glib/gspawn.h \ - /usr/include/glib-2.0/glib/gstrfuncs.h \ - /usr/include/glib-2.0/glib/gstringchunk.h \ - /usr/include/glib-2.0/glib/gtestutils.h \ - /usr/include/glib-2.0/glib/gthreadpool.h \ - /usr/include/glib-2.0/glib/gtimer.h \ - /usr/include/glib-2.0/glib/gtrashstack.h \ - /usr/include/glib-2.0/glib/gtree.h \ - /usr/include/glib-2.0/glib/gurifuncs.h \ - /usr/include/glib-2.0/glib/gvarianttype.h \ - /usr/include/glib-2.0/glib/gvariant.h \ - /usr/include/glib-2.0/glib/gversion.h \ - /usr/include/glib-2.0/glib/deprecated/gallocator.h \ - /usr/include/glib-2.0/glib/deprecated/gcache.h \ - /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ - /usr/include/glib-2.0/glib/deprecated/gmain.h \ - /usr/include/glib-2.0/glib/deprecated/grel.h \ - /usr/include/glib-2.0/glib/deprecated/gthread.h \ - /usr/include/arm-linux-gnueabihf/sys/types.h \ - /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h /usr/include/pthread.h \ - /usr/include/sched.h /usr/include/arm-linux-gnueabihf/bits/sched.h \ - /usr/include/arm-linux-gnueabihf/bits/setjmp.h obexd/client/dbus.h \ - obexd/src/log.h obexd/client/transfer.h obexd/client/session.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h \ - /usr/include/stdint.h /usr/include/arm-linux-gnueabihf/bits/wchar.h \ - obexd/client/driver.h obexd/client/ftp.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/include/errno.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/include/arm-linux-gnueabihf/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/arm-linux-gnueabihf/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/include/string.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/include/xlocale.h: - -/usr/include/arm-linux-gnueabihf/bits/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string2.h: - -/usr/include/stdlib.h: - -gdbus/gdbus.h: - -/usr/include/dbus-1.0/dbus/dbus.h: - -/usr/lib/arm-linux-gnueabihf/dbus-1.0/include/dbus/dbus-arch-deps.h: - -/usr/include/dbus-1.0/dbus/dbus-macros.h: - -/usr/include/dbus-1.0/dbus/dbus-address.h: - -/usr/include/dbus-1.0/dbus/dbus-types.h: - -/usr/include/dbus-1.0/dbus/dbus-errors.h: - -/usr/include/dbus-1.0/dbus/dbus-protocol.h: - -/usr/include/dbus-1.0/dbus/dbus-bus.h: - -/usr/include/dbus-1.0/dbus/dbus-connection.h: - -/usr/include/dbus-1.0/dbus/dbus-memory.h: - -/usr/include/dbus-1.0/dbus/dbus-message.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/dbus-1.0/dbus/dbus-shared.h: - -/usr/include/dbus-1.0/dbus/dbus-misc.h: - -/usr/include/dbus-1.0/dbus/dbus-pending-call.h: - -/usr/include/dbus-1.0/dbus/dbus-server.h: - -/usr/include/dbus-1.0/dbus/dbus-signature.h: - -/usr/include/dbus-1.0/dbus/dbus-syntax.h: - -/usr/include/dbus-1.0/dbus/dbus-threads.h: - -/usr/include/glib-2.0/glib.h: - -/usr/include/glib-2.0/glib/galloca.h: - -/usr/include/glib-2.0/glib/gtypes.h: - -/usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h: - -/usr/include/glib-2.0/glib/gmacros.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h: - -/usr/include/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/local_lim.h: - -/usr/include/linux/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix2_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/xopen_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h: - -/usr/include/glib-2.0/glib/gversionmacros.h: - -/usr/include/time.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/arm-linux-gnueabihf/bits/timex.h: - -/usr/include/glib-2.0/glib/garray.h: - -/usr/include/glib-2.0/glib/gasyncqueue.h: - -/usr/include/glib-2.0/glib/gthread.h: - -/usr/include/glib-2.0/glib/gatomic.h: - -/usr/include/glib-2.0/glib/gerror.h: - -/usr/include/glib-2.0/glib/gquark.h: - -/usr/include/glib-2.0/glib/gbacktrace.h: - -/usr/include/signal.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/signum.h: - -/usr/include/arm-linux-gnueabihf/bits/siginfo.h: - -/usr/include/arm-linux-gnueabihf/bits/sigaction.h: - -/usr/include/arm-linux-gnueabihf/bits/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/asm/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigstack.h: - -/usr/include/arm-linux-gnueabihf/sys/ucontext.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/arm-linux-gnueabihf/bits/sigthread.h: - -/usr/include/glib-2.0/glib/gbase64.h: - -/usr/include/glib-2.0/glib/gbitlock.h: - -/usr/include/glib-2.0/glib/gbookmarkfile.h: - -/usr/include/glib-2.0/glib/gbytes.h: - -/usr/include/glib-2.0/glib/gcharset.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/gconvert.h: - -/usr/include/glib-2.0/glib/gdataset.h: - -/usr/include/glib-2.0/glib/gdate.h: - -/usr/include/glib-2.0/glib/gdatetime.h: - -/usr/include/glib-2.0/glib/gtimezone.h: - -/usr/include/glib-2.0/glib/gdir.h: - -/usr/include/dirent.h: - -/usr/include/arm-linux-gnueabihf/bits/dirent.h: - -/usr/include/glib-2.0/glib/genviron.h: - -/usr/include/glib-2.0/glib/gfileutils.h: - -/usr/include/glib-2.0/glib/ggettext.h: - -/usr/include/glib-2.0/glib/ghash.h: - -/usr/include/glib-2.0/glib/glist.h: - -/usr/include/glib-2.0/glib/gmem.h: - -/usr/include/glib-2.0/glib/gnode.h: - -/usr/include/glib-2.0/glib/ghmac.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/ghook.h: - -/usr/include/glib-2.0/glib/ghostutils.h: - -/usr/include/glib-2.0/glib/giochannel.h: - -/usr/include/glib-2.0/glib/gmain.h: - -/usr/include/glib-2.0/glib/gpoll.h: - -/usr/include/glib-2.0/glib/gslist.h: - -/usr/include/glib-2.0/glib/gstring.h: - -/usr/include/glib-2.0/glib/gunicode.h: - -/usr/include/glib-2.0/glib/gutils.h: - -/usr/include/glib-2.0/glib/gkeyfile.h: - -/usr/include/glib-2.0/glib/gmappedfile.h: - -/usr/include/glib-2.0/glib/gmarkup.h: - -/usr/include/glib-2.0/glib/gmessages.h: - -/usr/include/glib-2.0/glib/goption.h: - -/usr/include/glib-2.0/glib/gpattern.h: - -/usr/include/glib-2.0/glib/gprimes.h: - -/usr/include/glib-2.0/glib/gqsort.h: - -/usr/include/glib-2.0/glib/gqueue.h: - -/usr/include/glib-2.0/glib/grand.h: - -/usr/include/glib-2.0/glib/gregex.h: - -/usr/include/glib-2.0/glib/gscanner.h: - -/usr/include/glib-2.0/glib/gsequence.h: - -/usr/include/glib-2.0/glib/gshell.h: - -/usr/include/glib-2.0/glib/gslice.h: - -/usr/include/glib-2.0/glib/gspawn.h: - -/usr/include/glib-2.0/glib/gstrfuncs.h: - -/usr/include/glib-2.0/glib/gstringchunk.h: - -/usr/include/glib-2.0/glib/gtestutils.h: - -/usr/include/glib-2.0/glib/gthreadpool.h: - -/usr/include/glib-2.0/glib/gtimer.h: - -/usr/include/glib-2.0/glib/gtrashstack.h: - -/usr/include/glib-2.0/glib/gtree.h: - -/usr/include/glib-2.0/glib/gurifuncs.h: - -/usr/include/glib-2.0/glib/gvarianttype.h: - -/usr/include/glib-2.0/glib/gvariant.h: - -/usr/include/glib-2.0/glib/gversion.h: - -/usr/include/glib-2.0/glib/deprecated/gallocator.h: - -/usr/include/glib-2.0/glib/deprecated/gcache.h: - -/usr/include/glib-2.0/glib/deprecated/gcompletion.h: - -/usr/include/glib-2.0/glib/deprecated/gmain.h: - -/usr/include/glib-2.0/glib/deprecated/grel.h: - -/usr/include/glib-2.0/glib/deprecated/gthread.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/pthread.h: - -/usr/include/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/setjmp.h: - -obexd/client/dbus.h: - -obexd/src/log.h: - -obexd/client/transfer.h: - -obexd/client/session.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/arm-linux-gnueabihf/bits/wchar.h: - -obexd/client/driver.h: - -obexd/client/ftp.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/obexd/client/.deps/obexd-manager.Po b/GRIB_BLE_HUB/libs/ble_extend/obexd/client/.deps/obexd-manager.Po deleted file mode 100644 index b28a65e..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/obexd/client/.deps/obexd-manager.Po +++ /dev/null @@ -1,495 +0,0 @@ -obexd/client/obexd-manager.o: obexd/client/manager.c \ - /usr/include/stdc-predef.h config.h /usr/include/stdio.h \ - /usr/include/features.h /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/sys_errlist.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio.h /usr/include/stdlib.h \ - /usr/include/arm-linux-gnueabihf/bits/waitflags.h \ - /usr/include/arm-linux-gnueabihf/bits/waitstatus.h /usr/include/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/xlocale.h /usr/include/arm-linux-gnueabihf/sys/types.h \ - /usr/include/time.h /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/alloca.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-float.h \ - /usr/include/string.h /usr/include/arm-linux-gnueabihf/bits/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string2.h /usr/include/signal.h \ - /usr/include/arm-linux-gnueabihf/bits/signum.h \ - /usr/include/arm-linux-gnueabihf/bits/siginfo.h \ - /usr/include/arm-linux-gnueabihf/bits/sigaction.h \ - /usr/include/arm-linux-gnueabihf/bits/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/asm/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigstack.h \ - /usr/include/arm-linux-gnueabihf/sys/ucontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigthread.h /usr/include/syslog.h \ - /usr/include/arm-linux-gnueabihf/sys/syslog.h \ - /usr/include/arm-linux-gnueabihf/bits/syslog-path.h \ - /usr/include/glib-2.0/glib.h /usr/include/glib-2.0/glib/galloca.h \ - /usr/include/glib-2.0/glib/gtypes.h \ - /usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h \ - /usr/include/glib-2.0/glib/gmacros.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h \ - /usr/include/limits.h /usr/include/arm-linux-gnueabihf/bits/posix1_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/local_lim.h \ - /usr/include/linux/limits.h \ - /usr/include/arm-linux-gnueabihf/bits/posix2_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/xopen_lim.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h \ - /usr/include/glib-2.0/glib/gversionmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/timex.h \ - /usr/include/glib-2.0/glib/garray.h \ - /usr/include/glib-2.0/glib/gasyncqueue.h \ - /usr/include/glib-2.0/glib/gthread.h \ - /usr/include/glib-2.0/glib/gatomic.h /usr/include/glib-2.0/glib/gerror.h \ - /usr/include/glib-2.0/glib/gquark.h \ - /usr/include/glib-2.0/glib/gbacktrace.h \ - /usr/include/glib-2.0/glib/gbase64.h \ - /usr/include/glib-2.0/glib/gbitlock.h \ - /usr/include/glib-2.0/glib/gbookmarkfile.h \ - /usr/include/glib-2.0/glib/gbytes.h \ - /usr/include/glib-2.0/glib/gcharset.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/gconvert.h \ - /usr/include/glib-2.0/glib/gdataset.h /usr/include/glib-2.0/glib/gdate.h \ - /usr/include/glib-2.0/glib/gdatetime.h \ - /usr/include/glib-2.0/glib/gtimezone.h /usr/include/glib-2.0/glib/gdir.h \ - /usr/include/dirent.h /usr/include/arm-linux-gnueabihf/bits/dirent.h \ - /usr/include/glib-2.0/glib/genviron.h \ - /usr/include/glib-2.0/glib/gfileutils.h \ - /usr/include/glib-2.0/glib/ggettext.h /usr/include/glib-2.0/glib/ghash.h \ - /usr/include/glib-2.0/glib/glist.h /usr/include/glib-2.0/glib/gmem.h \ - /usr/include/glib-2.0/glib/gnode.h /usr/include/glib-2.0/glib/ghmac.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/ghook.h \ - /usr/include/glib-2.0/glib/ghostutils.h \ - /usr/include/glib-2.0/glib/giochannel.h \ - /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gpoll.h \ - /usr/include/glib-2.0/glib/gslist.h /usr/include/glib-2.0/glib/gstring.h \ - /usr/include/glib-2.0/glib/gunicode.h \ - /usr/include/glib-2.0/glib/gutils.h \ - /usr/include/glib-2.0/glib/gkeyfile.h \ - /usr/include/glib-2.0/glib/gmappedfile.h \ - /usr/include/glib-2.0/glib/gmarkup.h \ - /usr/include/glib-2.0/glib/gmessages.h \ - /usr/include/glib-2.0/glib/goption.h \ - /usr/include/glib-2.0/glib/gpattern.h \ - /usr/include/glib-2.0/glib/gprimes.h /usr/include/glib-2.0/glib/gqsort.h \ - /usr/include/glib-2.0/glib/gqueue.h /usr/include/glib-2.0/glib/grand.h \ - /usr/include/glib-2.0/glib/gregex.h \ - /usr/include/glib-2.0/glib/gscanner.h \ - /usr/include/glib-2.0/glib/gsequence.h \ - /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gslice.h \ - /usr/include/glib-2.0/glib/gspawn.h \ - /usr/include/glib-2.0/glib/gstrfuncs.h \ - /usr/include/glib-2.0/glib/gstringchunk.h \ - /usr/include/glib-2.0/glib/gtestutils.h \ - /usr/include/glib-2.0/glib/gthreadpool.h \ - /usr/include/glib-2.0/glib/gtimer.h \ - /usr/include/glib-2.0/glib/gtrashstack.h \ - /usr/include/glib-2.0/glib/gtree.h \ - /usr/include/glib-2.0/glib/gurifuncs.h \ - /usr/include/glib-2.0/glib/gvarianttype.h \ - /usr/include/glib-2.0/glib/gvariant.h \ - /usr/include/glib-2.0/glib/gversion.h \ - /usr/include/glib-2.0/glib/deprecated/gallocator.h \ - /usr/include/glib-2.0/glib/deprecated/gcache.h \ - /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ - /usr/include/glib-2.0/glib/deprecated/gmain.h \ - /usr/include/glib-2.0/glib/deprecated/grel.h \ - /usr/include/glib-2.0/glib/deprecated/gthread.h /usr/include/pthread.h \ - /usr/include/sched.h /usr/include/arm-linux-gnueabihf/bits/sched.h \ - /usr/include/arm-linux-gnueabihf/bits/setjmp.h gdbus/gdbus.h \ - /usr/include/dbus-1.0/dbus/dbus.h \ - /usr/lib/arm-linux-gnueabihf/dbus-1.0/include/dbus/dbus-arch-deps.h \ - /usr/include/dbus-1.0/dbus/dbus-macros.h \ - /usr/include/dbus-1.0/dbus/dbus-address.h \ - /usr/include/dbus-1.0/dbus/dbus-types.h \ - /usr/include/dbus-1.0/dbus/dbus-errors.h \ - /usr/include/dbus-1.0/dbus/dbus-protocol.h \ - /usr/include/dbus-1.0/dbus/dbus-bus.h \ - /usr/include/dbus-1.0/dbus/dbus-connection.h \ - /usr/include/dbus-1.0/dbus/dbus-memory.h \ - /usr/include/dbus-1.0/dbus/dbus-message.h \ - /usr/include/dbus-1.0/dbus/dbus-shared.h \ - /usr/include/dbus-1.0/dbus/dbus-misc.h \ - /usr/include/dbus-1.0/dbus/dbus-pending-call.h \ - /usr/include/dbus-1.0/dbus/dbus-server.h \ - /usr/include/dbus-1.0/dbus/dbus-signature.h \ - /usr/include/dbus-1.0/dbus/dbus-syntax.h \ - /usr/include/dbus-1.0/dbus/dbus-threads.h obexd/src/log.h \ - obexd/client/transfer.h obexd/client/session.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h \ - /usr/include/stdint.h /usr/include/arm-linux-gnueabihf/bits/wchar.h \ - obexd/client/manager.h obexd/client/bluetooth.h obexd/client/opp.h \ - obexd/client/ftp.h obexd/client/pbap.h obexd/client/sync.h \ - obexd/client/map.h obexd/src/manager.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/include/stdio.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/sys_errlist.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio.h: - -/usr/include/stdlib.h: - -/usr/include/arm-linux-gnueabihf/bits/waitflags.h: - -/usr/include/arm-linux-gnueabihf/bits/waitstatus.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/xlocale.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/time.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/alloca.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-float.h: - -/usr/include/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string2.h: - -/usr/include/signal.h: - -/usr/include/arm-linux-gnueabihf/bits/signum.h: - -/usr/include/arm-linux-gnueabihf/bits/siginfo.h: - -/usr/include/arm-linux-gnueabihf/bits/sigaction.h: - -/usr/include/arm-linux-gnueabihf/bits/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/asm/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigstack.h: - -/usr/include/arm-linux-gnueabihf/sys/ucontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigthread.h: - -/usr/include/syslog.h: - -/usr/include/arm-linux-gnueabihf/sys/syslog.h: - -/usr/include/arm-linux-gnueabihf/bits/syslog-path.h: - -/usr/include/glib-2.0/glib.h: - -/usr/include/glib-2.0/glib/galloca.h: - -/usr/include/glib-2.0/glib/gtypes.h: - -/usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h: - -/usr/include/glib-2.0/glib/gmacros.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h: - -/usr/include/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/local_lim.h: - -/usr/include/linux/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix2_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/xopen_lim.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h: - -/usr/include/glib-2.0/glib/gversionmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/timex.h: - -/usr/include/glib-2.0/glib/garray.h: - -/usr/include/glib-2.0/glib/gasyncqueue.h: - -/usr/include/glib-2.0/glib/gthread.h: - -/usr/include/glib-2.0/glib/gatomic.h: - -/usr/include/glib-2.0/glib/gerror.h: - -/usr/include/glib-2.0/glib/gquark.h: - -/usr/include/glib-2.0/glib/gbacktrace.h: - -/usr/include/glib-2.0/glib/gbase64.h: - -/usr/include/glib-2.0/glib/gbitlock.h: - -/usr/include/glib-2.0/glib/gbookmarkfile.h: - -/usr/include/glib-2.0/glib/gbytes.h: - -/usr/include/glib-2.0/glib/gcharset.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/gconvert.h: - -/usr/include/glib-2.0/glib/gdataset.h: - -/usr/include/glib-2.0/glib/gdate.h: - -/usr/include/glib-2.0/glib/gdatetime.h: - -/usr/include/glib-2.0/glib/gtimezone.h: - -/usr/include/glib-2.0/glib/gdir.h: - -/usr/include/dirent.h: - -/usr/include/arm-linux-gnueabihf/bits/dirent.h: - -/usr/include/glib-2.0/glib/genviron.h: - -/usr/include/glib-2.0/glib/gfileutils.h: - -/usr/include/glib-2.0/glib/ggettext.h: - -/usr/include/glib-2.0/glib/ghash.h: - -/usr/include/glib-2.0/glib/glist.h: - -/usr/include/glib-2.0/glib/gmem.h: - -/usr/include/glib-2.0/glib/gnode.h: - -/usr/include/glib-2.0/glib/ghmac.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/ghook.h: - -/usr/include/glib-2.0/glib/ghostutils.h: - -/usr/include/glib-2.0/glib/giochannel.h: - -/usr/include/glib-2.0/glib/gmain.h: - -/usr/include/glib-2.0/glib/gpoll.h: - -/usr/include/glib-2.0/glib/gslist.h: - -/usr/include/glib-2.0/glib/gstring.h: - -/usr/include/glib-2.0/glib/gunicode.h: - -/usr/include/glib-2.0/glib/gutils.h: - -/usr/include/glib-2.0/glib/gkeyfile.h: - -/usr/include/glib-2.0/glib/gmappedfile.h: - -/usr/include/glib-2.0/glib/gmarkup.h: - -/usr/include/glib-2.0/glib/gmessages.h: - -/usr/include/glib-2.0/glib/goption.h: - -/usr/include/glib-2.0/glib/gpattern.h: - -/usr/include/glib-2.0/glib/gprimes.h: - -/usr/include/glib-2.0/glib/gqsort.h: - -/usr/include/glib-2.0/glib/gqueue.h: - -/usr/include/glib-2.0/glib/grand.h: - -/usr/include/glib-2.0/glib/gregex.h: - -/usr/include/glib-2.0/glib/gscanner.h: - -/usr/include/glib-2.0/glib/gsequence.h: - -/usr/include/glib-2.0/glib/gshell.h: - -/usr/include/glib-2.0/glib/gslice.h: - -/usr/include/glib-2.0/glib/gspawn.h: - -/usr/include/glib-2.0/glib/gstrfuncs.h: - -/usr/include/glib-2.0/glib/gstringchunk.h: - -/usr/include/glib-2.0/glib/gtestutils.h: - -/usr/include/glib-2.0/glib/gthreadpool.h: - -/usr/include/glib-2.0/glib/gtimer.h: - -/usr/include/glib-2.0/glib/gtrashstack.h: - -/usr/include/glib-2.0/glib/gtree.h: - -/usr/include/glib-2.0/glib/gurifuncs.h: - -/usr/include/glib-2.0/glib/gvarianttype.h: - -/usr/include/glib-2.0/glib/gvariant.h: - -/usr/include/glib-2.0/glib/gversion.h: - -/usr/include/glib-2.0/glib/deprecated/gallocator.h: - -/usr/include/glib-2.0/glib/deprecated/gcache.h: - -/usr/include/glib-2.0/glib/deprecated/gcompletion.h: - -/usr/include/glib-2.0/glib/deprecated/gmain.h: - -/usr/include/glib-2.0/glib/deprecated/grel.h: - -/usr/include/glib-2.0/glib/deprecated/gthread.h: - -/usr/include/pthread.h: - -/usr/include/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/setjmp.h: - -gdbus/gdbus.h: - -/usr/include/dbus-1.0/dbus/dbus.h: - -/usr/lib/arm-linux-gnueabihf/dbus-1.0/include/dbus/dbus-arch-deps.h: - -/usr/include/dbus-1.0/dbus/dbus-macros.h: - -/usr/include/dbus-1.0/dbus/dbus-address.h: - -/usr/include/dbus-1.0/dbus/dbus-types.h: - -/usr/include/dbus-1.0/dbus/dbus-errors.h: - -/usr/include/dbus-1.0/dbus/dbus-protocol.h: - -/usr/include/dbus-1.0/dbus/dbus-bus.h: - -/usr/include/dbus-1.0/dbus/dbus-connection.h: - -/usr/include/dbus-1.0/dbus/dbus-memory.h: - -/usr/include/dbus-1.0/dbus/dbus-message.h: - -/usr/include/dbus-1.0/dbus/dbus-shared.h: - -/usr/include/dbus-1.0/dbus/dbus-misc.h: - -/usr/include/dbus-1.0/dbus/dbus-pending-call.h: - -/usr/include/dbus-1.0/dbus/dbus-server.h: - -/usr/include/dbus-1.0/dbus/dbus-signature.h: - -/usr/include/dbus-1.0/dbus/dbus-syntax.h: - -/usr/include/dbus-1.0/dbus/dbus-threads.h: - -obexd/src/log.h: - -obexd/client/transfer.h: - -obexd/client/session.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/arm-linux-gnueabihf/bits/wchar.h: - -obexd/client/manager.h: - -obexd/client/bluetooth.h: - -obexd/client/opp.h: - -obexd/client/ftp.h: - -obexd/client/pbap.h: - -obexd/client/sync.h: - -obexd/client/map.h: - -obexd/src/manager.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/obexd/client/.deps/obexd-map.Po b/GRIB_BLE_HUB/libs/ble_extend/obexd/client/.deps/obexd-map.Po deleted file mode 100644 index 22313d2..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/obexd/client/.deps/obexd-map.Po +++ /dev/null @@ -1,484 +0,0 @@ -obexd/client/obexd-map.o: obexd/client/map.c /usr/include/stdc-predef.h \ - config.h /usr/include/errno.h /usr/include/features.h \ - /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/include/arm-linux-gnueabihf/bits/errno.h /usr/include/linux/errno.h \ - /usr/include/arm-linux-gnueabihf/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/include/string.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/include/xlocale.h /usr/include/arm-linux-gnueabihf/bits/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string2.h /usr/include/stdlib.h \ - /usr/include/stdio.h /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/sys_errlist.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdbool.h \ - /usr/include/glib-2.0/glib.h /usr/include/glib-2.0/glib/galloca.h \ - /usr/include/glib-2.0/glib/gtypes.h \ - /usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h \ - /usr/include/glib-2.0/glib/gmacros.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h \ - /usr/include/limits.h /usr/include/arm-linux-gnueabihf/bits/posix1_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/local_lim.h \ - /usr/include/linux/limits.h \ - /usr/include/arm-linux-gnueabihf/bits/posix2_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/xopen_lim.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h \ - /usr/include/glib-2.0/glib/gversionmacros.h /usr/include/time.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/bits/timex.h \ - /usr/include/glib-2.0/glib/garray.h \ - /usr/include/glib-2.0/glib/gasyncqueue.h \ - /usr/include/glib-2.0/glib/gthread.h \ - /usr/include/glib-2.0/glib/gatomic.h /usr/include/glib-2.0/glib/gerror.h \ - /usr/include/glib-2.0/glib/gquark.h \ - /usr/include/glib-2.0/glib/gbacktrace.h /usr/include/signal.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/signum.h \ - /usr/include/arm-linux-gnueabihf/bits/siginfo.h \ - /usr/include/arm-linux-gnueabihf/bits/sigaction.h \ - /usr/include/arm-linux-gnueabihf/bits/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/asm/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigstack.h \ - /usr/include/arm-linux-gnueabihf/sys/ucontext.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/endian.h /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/arm-linux-gnueabihf/bits/sigthread.h \ - /usr/include/glib-2.0/glib/gbase64.h \ - /usr/include/glib-2.0/glib/gbitlock.h \ - /usr/include/glib-2.0/glib/gbookmarkfile.h \ - /usr/include/glib-2.0/glib/gbytes.h \ - /usr/include/glib-2.0/glib/gcharset.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/gconvert.h \ - /usr/include/glib-2.0/glib/gdataset.h /usr/include/glib-2.0/glib/gdate.h \ - /usr/include/glib-2.0/glib/gdatetime.h \ - /usr/include/glib-2.0/glib/gtimezone.h /usr/include/glib-2.0/glib/gdir.h \ - /usr/include/dirent.h /usr/include/arm-linux-gnueabihf/bits/dirent.h \ - /usr/include/glib-2.0/glib/genviron.h \ - /usr/include/glib-2.0/glib/gfileutils.h \ - /usr/include/glib-2.0/glib/ggettext.h /usr/include/glib-2.0/glib/ghash.h \ - /usr/include/glib-2.0/glib/glist.h /usr/include/glib-2.0/glib/gmem.h \ - /usr/include/glib-2.0/glib/gnode.h /usr/include/glib-2.0/glib/ghmac.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/ghook.h \ - /usr/include/glib-2.0/glib/ghostutils.h \ - /usr/include/glib-2.0/glib/giochannel.h \ - /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gpoll.h \ - /usr/include/glib-2.0/glib/gslist.h /usr/include/glib-2.0/glib/gstring.h \ - /usr/include/glib-2.0/glib/gunicode.h \ - /usr/include/glib-2.0/glib/gutils.h \ - /usr/include/glib-2.0/glib/gkeyfile.h \ - /usr/include/glib-2.0/glib/gmappedfile.h \ - /usr/include/glib-2.0/glib/gmarkup.h \ - /usr/include/glib-2.0/glib/gmessages.h \ - /usr/include/glib-2.0/glib/goption.h \ - /usr/include/glib-2.0/glib/gpattern.h \ - /usr/include/glib-2.0/glib/gprimes.h /usr/include/glib-2.0/glib/gqsort.h \ - /usr/include/glib-2.0/glib/gqueue.h /usr/include/glib-2.0/glib/grand.h \ - /usr/include/glib-2.0/glib/gregex.h \ - /usr/include/glib-2.0/glib/gscanner.h \ - /usr/include/glib-2.0/glib/gsequence.h \ - /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gslice.h \ - /usr/include/glib-2.0/glib/gspawn.h \ - /usr/include/glib-2.0/glib/gstrfuncs.h \ - /usr/include/glib-2.0/glib/gstringchunk.h \ - /usr/include/glib-2.0/glib/gtestutils.h \ - /usr/include/glib-2.0/glib/gthreadpool.h \ - /usr/include/glib-2.0/glib/gtimer.h \ - /usr/include/glib-2.0/glib/gtrashstack.h \ - /usr/include/glib-2.0/glib/gtree.h \ - /usr/include/glib-2.0/glib/gurifuncs.h \ - /usr/include/glib-2.0/glib/gvarianttype.h \ - /usr/include/glib-2.0/glib/gvariant.h \ - /usr/include/glib-2.0/glib/gversion.h \ - /usr/include/glib-2.0/glib/deprecated/gallocator.h \ - /usr/include/glib-2.0/glib/deprecated/gcache.h \ - /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ - /usr/include/glib-2.0/glib/deprecated/gmain.h \ - /usr/include/glib-2.0/glib/deprecated/grel.h \ - /usr/include/glib-2.0/glib/deprecated/gthread.h \ - /usr/include/arm-linux-gnueabihf/sys/types.h \ - /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h /usr/include/pthread.h \ - /usr/include/sched.h /usr/include/arm-linux-gnueabihf/bits/sched.h \ - /usr/include/arm-linux-gnueabihf/bits/setjmp.h gdbus/gdbus.h \ - /usr/include/dbus-1.0/dbus/dbus.h \ - /usr/lib/arm-linux-gnueabihf/dbus-1.0/include/dbus/dbus-arch-deps.h \ - /usr/include/dbus-1.0/dbus/dbus-macros.h \ - /usr/include/dbus-1.0/dbus/dbus-address.h \ - /usr/include/dbus-1.0/dbus/dbus-types.h \ - /usr/include/dbus-1.0/dbus/dbus-errors.h \ - /usr/include/dbus-1.0/dbus/dbus-protocol.h \ - /usr/include/dbus-1.0/dbus/dbus-bus.h \ - /usr/include/dbus-1.0/dbus/dbus-connection.h \ - /usr/include/dbus-1.0/dbus/dbus-memory.h \ - /usr/include/dbus-1.0/dbus/dbus-message.h \ - /usr/include/dbus-1.0/dbus/dbus-shared.h \ - /usr/include/dbus-1.0/dbus/dbus-misc.h \ - /usr/include/dbus-1.0/dbus/dbus-pending-call.h \ - /usr/include/dbus-1.0/dbus/dbus-server.h \ - /usr/include/dbus-1.0/dbus/dbus-signature.h \ - /usr/include/dbus-1.0/dbus/dbus-syntax.h \ - /usr/include/dbus-1.0/dbus/dbus-threads.h gobex/gobex-apparam.h \ - obexd/client/dbus.h obexd/src/log.h obexd/src/map_ap.h \ - obexd/client/map.h obexd/client/transfer.h obexd/client/session.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h \ - /usr/include/stdint.h /usr/include/arm-linux-gnueabihf/bits/wchar.h \ - obexd/client/driver.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/include/errno.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/include/arm-linux-gnueabihf/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/arm-linux-gnueabihf/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/include/string.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/include/xlocale.h: - -/usr/include/arm-linux-gnueabihf/bits/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string2.h: - -/usr/include/stdlib.h: - -/usr/include/stdio.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/sys_errlist.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdbool.h: - -/usr/include/glib-2.0/glib.h: - -/usr/include/glib-2.0/glib/galloca.h: - -/usr/include/glib-2.0/glib/gtypes.h: - -/usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h: - -/usr/include/glib-2.0/glib/gmacros.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h: - -/usr/include/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/local_lim.h: - -/usr/include/linux/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix2_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/xopen_lim.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h: - -/usr/include/glib-2.0/glib/gversionmacros.h: - -/usr/include/time.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/bits/timex.h: - -/usr/include/glib-2.0/glib/garray.h: - -/usr/include/glib-2.0/glib/gasyncqueue.h: - -/usr/include/glib-2.0/glib/gthread.h: - -/usr/include/glib-2.0/glib/gatomic.h: - -/usr/include/glib-2.0/glib/gerror.h: - -/usr/include/glib-2.0/glib/gquark.h: - -/usr/include/glib-2.0/glib/gbacktrace.h: - -/usr/include/signal.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/signum.h: - -/usr/include/arm-linux-gnueabihf/bits/siginfo.h: - -/usr/include/arm-linux-gnueabihf/bits/sigaction.h: - -/usr/include/arm-linux-gnueabihf/bits/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/asm/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigstack.h: - -/usr/include/arm-linux-gnueabihf/sys/ucontext.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/arm-linux-gnueabihf/bits/sigthread.h: - -/usr/include/glib-2.0/glib/gbase64.h: - -/usr/include/glib-2.0/glib/gbitlock.h: - -/usr/include/glib-2.0/glib/gbookmarkfile.h: - -/usr/include/glib-2.0/glib/gbytes.h: - -/usr/include/glib-2.0/glib/gcharset.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/gconvert.h: - -/usr/include/glib-2.0/glib/gdataset.h: - -/usr/include/glib-2.0/glib/gdate.h: - -/usr/include/glib-2.0/glib/gdatetime.h: - -/usr/include/glib-2.0/glib/gtimezone.h: - -/usr/include/glib-2.0/glib/gdir.h: - -/usr/include/dirent.h: - -/usr/include/arm-linux-gnueabihf/bits/dirent.h: - -/usr/include/glib-2.0/glib/genviron.h: - -/usr/include/glib-2.0/glib/gfileutils.h: - -/usr/include/glib-2.0/glib/ggettext.h: - -/usr/include/glib-2.0/glib/ghash.h: - -/usr/include/glib-2.0/glib/glist.h: - -/usr/include/glib-2.0/glib/gmem.h: - -/usr/include/glib-2.0/glib/gnode.h: - -/usr/include/glib-2.0/glib/ghmac.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/ghook.h: - -/usr/include/glib-2.0/glib/ghostutils.h: - -/usr/include/glib-2.0/glib/giochannel.h: - -/usr/include/glib-2.0/glib/gmain.h: - -/usr/include/glib-2.0/glib/gpoll.h: - -/usr/include/glib-2.0/glib/gslist.h: - -/usr/include/glib-2.0/glib/gstring.h: - -/usr/include/glib-2.0/glib/gunicode.h: - -/usr/include/glib-2.0/glib/gutils.h: - -/usr/include/glib-2.0/glib/gkeyfile.h: - -/usr/include/glib-2.0/glib/gmappedfile.h: - -/usr/include/glib-2.0/glib/gmarkup.h: - -/usr/include/glib-2.0/glib/gmessages.h: - -/usr/include/glib-2.0/glib/goption.h: - -/usr/include/glib-2.0/glib/gpattern.h: - -/usr/include/glib-2.0/glib/gprimes.h: - -/usr/include/glib-2.0/glib/gqsort.h: - -/usr/include/glib-2.0/glib/gqueue.h: - -/usr/include/glib-2.0/glib/grand.h: - -/usr/include/glib-2.0/glib/gregex.h: - -/usr/include/glib-2.0/glib/gscanner.h: - -/usr/include/glib-2.0/glib/gsequence.h: - -/usr/include/glib-2.0/glib/gshell.h: - -/usr/include/glib-2.0/glib/gslice.h: - -/usr/include/glib-2.0/glib/gspawn.h: - -/usr/include/glib-2.0/glib/gstrfuncs.h: - -/usr/include/glib-2.0/glib/gstringchunk.h: - -/usr/include/glib-2.0/glib/gtestutils.h: - -/usr/include/glib-2.0/glib/gthreadpool.h: - -/usr/include/glib-2.0/glib/gtimer.h: - -/usr/include/glib-2.0/glib/gtrashstack.h: - -/usr/include/glib-2.0/glib/gtree.h: - -/usr/include/glib-2.0/glib/gurifuncs.h: - -/usr/include/glib-2.0/glib/gvarianttype.h: - -/usr/include/glib-2.0/glib/gvariant.h: - -/usr/include/glib-2.0/glib/gversion.h: - -/usr/include/glib-2.0/glib/deprecated/gallocator.h: - -/usr/include/glib-2.0/glib/deprecated/gcache.h: - -/usr/include/glib-2.0/glib/deprecated/gcompletion.h: - -/usr/include/glib-2.0/glib/deprecated/gmain.h: - -/usr/include/glib-2.0/glib/deprecated/grel.h: - -/usr/include/glib-2.0/glib/deprecated/gthread.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/pthread.h: - -/usr/include/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/setjmp.h: - -gdbus/gdbus.h: - -/usr/include/dbus-1.0/dbus/dbus.h: - -/usr/lib/arm-linux-gnueabihf/dbus-1.0/include/dbus/dbus-arch-deps.h: - -/usr/include/dbus-1.0/dbus/dbus-macros.h: - -/usr/include/dbus-1.0/dbus/dbus-address.h: - -/usr/include/dbus-1.0/dbus/dbus-types.h: - -/usr/include/dbus-1.0/dbus/dbus-errors.h: - -/usr/include/dbus-1.0/dbus/dbus-protocol.h: - -/usr/include/dbus-1.0/dbus/dbus-bus.h: - -/usr/include/dbus-1.0/dbus/dbus-connection.h: - -/usr/include/dbus-1.0/dbus/dbus-memory.h: - -/usr/include/dbus-1.0/dbus/dbus-message.h: - -/usr/include/dbus-1.0/dbus/dbus-shared.h: - -/usr/include/dbus-1.0/dbus/dbus-misc.h: - -/usr/include/dbus-1.0/dbus/dbus-pending-call.h: - -/usr/include/dbus-1.0/dbus/dbus-server.h: - -/usr/include/dbus-1.0/dbus/dbus-signature.h: - -/usr/include/dbus-1.0/dbus/dbus-syntax.h: - -/usr/include/dbus-1.0/dbus/dbus-threads.h: - -gobex/gobex-apparam.h: - -obexd/client/dbus.h: - -obexd/src/log.h: - -obexd/src/map_ap.h: - -obexd/client/map.h: - -obexd/client/transfer.h: - -obexd/client/session.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/arm-linux-gnueabihf/bits/wchar.h: - -obexd/client/driver.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/obexd/client/.deps/obexd-mns.Po b/GRIB_BLE_HUB/libs/ble_extend/obexd/client/.deps/obexd-mns.Po deleted file mode 100644 index b254954..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/obexd/client/.deps/obexd-mns.Po +++ /dev/null @@ -1,436 +0,0 @@ -obexd/client/obexd-mns.o: obexd/client/mns.c /usr/include/stdc-predef.h \ - config.h /usr/include/string.h /usr/include/features.h \ - /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/include/xlocale.h /usr/include/arm-linux-gnueabihf/bits/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string2.h /usr/include/stdlib.h \ - /usr/include/errno.h /usr/include/arm-linux-gnueabihf/bits/errno.h \ - /usr/include/linux/errno.h /usr/include/arm-linux-gnueabihf/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/include/glib-2.0/glib.h /usr/include/glib-2.0/glib/galloca.h \ - /usr/include/glib-2.0/glib/gtypes.h \ - /usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h \ - /usr/include/glib-2.0/glib/gmacros.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h \ - /usr/include/limits.h /usr/include/arm-linux-gnueabihf/bits/posix1_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/local_lim.h \ - /usr/include/linux/limits.h \ - /usr/include/arm-linux-gnueabihf/bits/posix2_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/xopen_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h \ - /usr/include/glib-2.0/glib/gversionmacros.h /usr/include/time.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h \ - /usr/include/arm-linux-gnueabihf/bits/timex.h \ - /usr/include/glib-2.0/glib/garray.h \ - /usr/include/glib-2.0/glib/gasyncqueue.h \ - /usr/include/glib-2.0/glib/gthread.h \ - /usr/include/glib-2.0/glib/gatomic.h /usr/include/glib-2.0/glib/gerror.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/glib-2.0/glib/gquark.h \ - /usr/include/glib-2.0/glib/gbacktrace.h /usr/include/signal.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/signum.h \ - /usr/include/arm-linux-gnueabihf/bits/siginfo.h \ - /usr/include/arm-linux-gnueabihf/bits/sigaction.h \ - /usr/include/arm-linux-gnueabihf/bits/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/asm/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigstack.h \ - /usr/include/arm-linux-gnueabihf/sys/ucontext.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/endian.h /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/arm-linux-gnueabihf/bits/sigthread.h \ - /usr/include/glib-2.0/glib/gbase64.h \ - /usr/include/glib-2.0/glib/gbitlock.h \ - /usr/include/glib-2.0/glib/gbookmarkfile.h \ - /usr/include/glib-2.0/glib/gbytes.h \ - /usr/include/glib-2.0/glib/gcharset.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/gconvert.h \ - /usr/include/glib-2.0/glib/gdataset.h /usr/include/glib-2.0/glib/gdate.h \ - /usr/include/glib-2.0/glib/gdatetime.h \ - /usr/include/glib-2.0/glib/gtimezone.h /usr/include/glib-2.0/glib/gdir.h \ - /usr/include/dirent.h /usr/include/arm-linux-gnueabihf/bits/dirent.h \ - /usr/include/glib-2.0/glib/genviron.h \ - /usr/include/glib-2.0/glib/gfileutils.h \ - /usr/include/glib-2.0/glib/ggettext.h /usr/include/glib-2.0/glib/ghash.h \ - /usr/include/glib-2.0/glib/glist.h /usr/include/glib-2.0/glib/gmem.h \ - /usr/include/glib-2.0/glib/gnode.h /usr/include/glib-2.0/glib/ghmac.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/ghook.h \ - /usr/include/glib-2.0/glib/ghostutils.h \ - /usr/include/glib-2.0/glib/giochannel.h \ - /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gpoll.h \ - /usr/include/glib-2.0/glib/gslist.h /usr/include/glib-2.0/glib/gstring.h \ - /usr/include/glib-2.0/glib/gunicode.h \ - /usr/include/glib-2.0/glib/gutils.h \ - /usr/include/glib-2.0/glib/gkeyfile.h \ - /usr/include/glib-2.0/glib/gmappedfile.h \ - /usr/include/glib-2.0/glib/gmarkup.h \ - /usr/include/glib-2.0/glib/gmessages.h \ - /usr/include/glib-2.0/glib/goption.h \ - /usr/include/glib-2.0/glib/gpattern.h \ - /usr/include/glib-2.0/glib/gprimes.h /usr/include/glib-2.0/glib/gqsort.h \ - /usr/include/glib-2.0/glib/gqueue.h /usr/include/glib-2.0/glib/grand.h \ - /usr/include/glib-2.0/glib/gregex.h \ - /usr/include/glib-2.0/glib/gscanner.h \ - /usr/include/glib-2.0/glib/gsequence.h \ - /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gslice.h \ - /usr/include/glib-2.0/glib/gspawn.h \ - /usr/include/glib-2.0/glib/gstrfuncs.h \ - /usr/include/glib-2.0/glib/gstringchunk.h \ - /usr/include/glib-2.0/glib/gtestutils.h \ - /usr/include/glib-2.0/glib/gthreadpool.h \ - /usr/include/glib-2.0/glib/gtimer.h \ - /usr/include/glib-2.0/glib/gtrashstack.h \ - /usr/include/glib-2.0/glib/gtree.h \ - /usr/include/glib-2.0/glib/gurifuncs.h \ - /usr/include/glib-2.0/glib/gvarianttype.h \ - /usr/include/glib-2.0/glib/gvariant.h \ - /usr/include/glib-2.0/glib/gversion.h \ - /usr/include/glib-2.0/glib/deprecated/gallocator.h \ - /usr/include/glib-2.0/glib/deprecated/gcache.h \ - /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ - /usr/include/glib-2.0/glib/deprecated/gmain.h \ - /usr/include/glib-2.0/glib/deprecated/grel.h \ - /usr/include/glib-2.0/glib/deprecated/gthread.h \ - /usr/include/arm-linux-gnueabihf/sys/types.h \ - /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h /usr/include/pthread.h \ - /usr/include/sched.h /usr/include/arm-linux-gnueabihf/bits/sched.h \ - /usr/include/arm-linux-gnueabihf/bits/setjmp.h /usr/include/fcntl.h \ - /usr/include/arm-linux-gnueabihf/bits/fcntl.h \ - /usr/include/arm-linux-gnueabihf/bits/fcntl-linux.h \ - /usr/include/arm-linux-gnueabihf/bits/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/stat.h /usr/include/inttypes.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h \ - /usr/include/stdint.h /usr/include/arm-linux-gnueabihf/bits/wchar.h \ - gobex/gobex.h gobex/gobex-defs.h gobex/gobex-packet.h \ - gobex/gobex-header.h gobex/gobex-apparam.h obexd/src/obexd.h \ - obexd/src/plugin.h obexd/src/log.h obexd/src/obex.h obexd/src/service.h \ - obexd/src/mimetype.h obexd/src/map_ap.h obexd/client/map-event.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/include/string.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/include/xlocale.h: - -/usr/include/arm-linux-gnueabihf/bits/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string2.h: - -/usr/include/stdlib.h: - -/usr/include/errno.h: - -/usr/include/arm-linux-gnueabihf/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/arm-linux-gnueabihf/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/include/glib-2.0/glib.h: - -/usr/include/glib-2.0/glib/galloca.h: - -/usr/include/glib-2.0/glib/gtypes.h: - -/usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h: - -/usr/include/glib-2.0/glib/gmacros.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h: - -/usr/include/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/local_lim.h: - -/usr/include/linux/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix2_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/xopen_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h: - -/usr/include/glib-2.0/glib/gversionmacros.h: - -/usr/include/time.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/arm-linux-gnueabihf/bits/timex.h: - -/usr/include/glib-2.0/glib/garray.h: - -/usr/include/glib-2.0/glib/gasyncqueue.h: - -/usr/include/glib-2.0/glib/gthread.h: - -/usr/include/glib-2.0/glib/gatomic.h: - -/usr/include/glib-2.0/glib/gerror.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/glib-2.0/glib/gquark.h: - -/usr/include/glib-2.0/glib/gbacktrace.h: - -/usr/include/signal.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/signum.h: - -/usr/include/arm-linux-gnueabihf/bits/siginfo.h: - -/usr/include/arm-linux-gnueabihf/bits/sigaction.h: - -/usr/include/arm-linux-gnueabihf/bits/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/asm/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigstack.h: - -/usr/include/arm-linux-gnueabihf/sys/ucontext.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/arm-linux-gnueabihf/bits/sigthread.h: - -/usr/include/glib-2.0/glib/gbase64.h: - -/usr/include/glib-2.0/glib/gbitlock.h: - -/usr/include/glib-2.0/glib/gbookmarkfile.h: - -/usr/include/glib-2.0/glib/gbytes.h: - -/usr/include/glib-2.0/glib/gcharset.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/gconvert.h: - -/usr/include/glib-2.0/glib/gdataset.h: - -/usr/include/glib-2.0/glib/gdate.h: - -/usr/include/glib-2.0/glib/gdatetime.h: - -/usr/include/glib-2.0/glib/gtimezone.h: - -/usr/include/glib-2.0/glib/gdir.h: - -/usr/include/dirent.h: - -/usr/include/arm-linux-gnueabihf/bits/dirent.h: - -/usr/include/glib-2.0/glib/genviron.h: - -/usr/include/glib-2.0/glib/gfileutils.h: - -/usr/include/glib-2.0/glib/ggettext.h: - -/usr/include/glib-2.0/glib/ghash.h: - -/usr/include/glib-2.0/glib/glist.h: - -/usr/include/glib-2.0/glib/gmem.h: - -/usr/include/glib-2.0/glib/gnode.h: - -/usr/include/glib-2.0/glib/ghmac.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/ghook.h: - -/usr/include/glib-2.0/glib/ghostutils.h: - -/usr/include/glib-2.0/glib/giochannel.h: - -/usr/include/glib-2.0/glib/gmain.h: - -/usr/include/glib-2.0/glib/gpoll.h: - -/usr/include/glib-2.0/glib/gslist.h: - -/usr/include/glib-2.0/glib/gstring.h: - -/usr/include/glib-2.0/glib/gunicode.h: - -/usr/include/glib-2.0/glib/gutils.h: - -/usr/include/glib-2.0/glib/gkeyfile.h: - -/usr/include/glib-2.0/glib/gmappedfile.h: - -/usr/include/glib-2.0/glib/gmarkup.h: - -/usr/include/glib-2.0/glib/gmessages.h: - -/usr/include/glib-2.0/glib/goption.h: - -/usr/include/glib-2.0/glib/gpattern.h: - -/usr/include/glib-2.0/glib/gprimes.h: - -/usr/include/glib-2.0/glib/gqsort.h: - -/usr/include/glib-2.0/glib/gqueue.h: - -/usr/include/glib-2.0/glib/grand.h: - -/usr/include/glib-2.0/glib/gregex.h: - -/usr/include/glib-2.0/glib/gscanner.h: - -/usr/include/glib-2.0/glib/gsequence.h: - -/usr/include/glib-2.0/glib/gshell.h: - -/usr/include/glib-2.0/glib/gslice.h: - -/usr/include/glib-2.0/glib/gspawn.h: - -/usr/include/glib-2.0/glib/gstrfuncs.h: - -/usr/include/glib-2.0/glib/gstringchunk.h: - -/usr/include/glib-2.0/glib/gtestutils.h: - -/usr/include/glib-2.0/glib/gthreadpool.h: - -/usr/include/glib-2.0/glib/gtimer.h: - -/usr/include/glib-2.0/glib/gtrashstack.h: - -/usr/include/glib-2.0/glib/gtree.h: - -/usr/include/glib-2.0/glib/gurifuncs.h: - -/usr/include/glib-2.0/glib/gvarianttype.h: - -/usr/include/glib-2.0/glib/gvariant.h: - -/usr/include/glib-2.0/glib/gversion.h: - -/usr/include/glib-2.0/glib/deprecated/gallocator.h: - -/usr/include/glib-2.0/glib/deprecated/gcache.h: - -/usr/include/glib-2.0/glib/deprecated/gcompletion.h: - -/usr/include/glib-2.0/glib/deprecated/gmain.h: - -/usr/include/glib-2.0/glib/deprecated/grel.h: - -/usr/include/glib-2.0/glib/deprecated/gthread.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/pthread.h: - -/usr/include/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/setjmp.h: - -/usr/include/fcntl.h: - -/usr/include/arm-linux-gnueabihf/bits/fcntl.h: - -/usr/include/arm-linux-gnueabihf/bits/fcntl-linux.h: - -/usr/include/arm-linux-gnueabihf/bits/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/stat.h: - -/usr/include/inttypes.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/arm-linux-gnueabihf/bits/wchar.h: - -gobex/gobex.h: - -gobex/gobex-defs.h: - -gobex/gobex-packet.h: - -gobex/gobex-header.h: - -gobex/gobex-apparam.h: - -obexd/src/obexd.h: - -obexd/src/plugin.h: - -obexd/src/log.h: - -obexd/src/obex.h: - -obexd/src/service.h: - -obexd/src/mimetype.h: - -obexd/src/map_ap.h: - -obexd/client/map-event.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/obexd/client/.deps/obexd-opp.Po b/GRIB_BLE_HUB/libs/ble_extend/obexd/client/.deps/obexd-opp.Po deleted file mode 100644 index 09d3f52..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/obexd/client/.deps/obexd-opp.Po +++ /dev/null @@ -1,447 +0,0 @@ -obexd/client/obexd-opp.o: obexd/client/opp.c /usr/include/stdc-predef.h \ - config.h /usr/include/errno.h /usr/include/features.h \ - /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/include/arm-linux-gnueabihf/bits/errno.h /usr/include/linux/errno.h \ - /usr/include/arm-linux-gnueabihf/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - gdbus/gdbus.h /usr/include/dbus-1.0/dbus/dbus.h \ - /usr/lib/arm-linux-gnueabihf/dbus-1.0/include/dbus/dbus-arch-deps.h \ - /usr/include/dbus-1.0/dbus/dbus-macros.h \ - /usr/include/dbus-1.0/dbus/dbus-address.h \ - /usr/include/dbus-1.0/dbus/dbus-types.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/include/dbus-1.0/dbus/dbus-errors.h \ - /usr/include/dbus-1.0/dbus/dbus-protocol.h \ - /usr/include/dbus-1.0/dbus/dbus-bus.h \ - /usr/include/dbus-1.0/dbus/dbus-connection.h \ - /usr/include/dbus-1.0/dbus/dbus-memory.h \ - /usr/include/dbus-1.0/dbus/dbus-message.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/dbus-1.0/dbus/dbus-shared.h \ - /usr/include/dbus-1.0/dbus/dbus-misc.h \ - /usr/include/dbus-1.0/dbus/dbus-pending-call.h \ - /usr/include/dbus-1.0/dbus/dbus-server.h \ - /usr/include/dbus-1.0/dbus/dbus-signature.h \ - /usr/include/dbus-1.0/dbus/dbus-syntax.h \ - /usr/include/dbus-1.0/dbus/dbus-threads.h /usr/include/glib-2.0/glib.h \ - /usr/include/glib-2.0/glib/galloca.h /usr/include/glib-2.0/glib/gtypes.h \ - /usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h \ - /usr/include/glib-2.0/glib/gmacros.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h \ - /usr/include/limits.h /usr/include/arm-linux-gnueabihf/bits/posix1_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/local_lim.h \ - /usr/include/linux/limits.h \ - /usr/include/arm-linux-gnueabihf/bits/posix2_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/xopen_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h \ - /usr/include/glib-2.0/glib/gversionmacros.h /usr/include/time.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h \ - /usr/include/arm-linux-gnueabihf/bits/timex.h /usr/include/xlocale.h \ - /usr/include/glib-2.0/glib/garray.h \ - /usr/include/glib-2.0/glib/gasyncqueue.h \ - /usr/include/glib-2.0/glib/gthread.h \ - /usr/include/glib-2.0/glib/gatomic.h /usr/include/glib-2.0/glib/gerror.h \ - /usr/include/glib-2.0/glib/gquark.h \ - /usr/include/glib-2.0/glib/gbacktrace.h /usr/include/signal.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/signum.h \ - /usr/include/arm-linux-gnueabihf/bits/siginfo.h \ - /usr/include/arm-linux-gnueabihf/bits/sigaction.h \ - /usr/include/arm-linux-gnueabihf/bits/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/asm/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigstack.h \ - /usr/include/arm-linux-gnueabihf/sys/ucontext.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/endian.h /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/arm-linux-gnueabihf/bits/sigthread.h \ - /usr/include/glib-2.0/glib/gbase64.h \ - /usr/include/glib-2.0/glib/gbitlock.h \ - /usr/include/glib-2.0/glib/gbookmarkfile.h \ - /usr/include/glib-2.0/glib/gbytes.h \ - /usr/include/glib-2.0/glib/gcharset.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/gconvert.h \ - /usr/include/glib-2.0/glib/gdataset.h /usr/include/glib-2.0/glib/gdate.h \ - /usr/include/glib-2.0/glib/gdatetime.h \ - /usr/include/glib-2.0/glib/gtimezone.h /usr/include/glib-2.0/glib/gdir.h \ - /usr/include/dirent.h /usr/include/arm-linux-gnueabihf/bits/dirent.h \ - /usr/include/glib-2.0/glib/genviron.h \ - /usr/include/glib-2.0/glib/gfileutils.h \ - /usr/include/glib-2.0/glib/ggettext.h /usr/include/glib-2.0/glib/ghash.h \ - /usr/include/glib-2.0/glib/glist.h /usr/include/glib-2.0/glib/gmem.h \ - /usr/include/glib-2.0/glib/gnode.h /usr/include/glib-2.0/glib/ghmac.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/ghook.h \ - /usr/include/glib-2.0/glib/ghostutils.h \ - /usr/include/glib-2.0/glib/giochannel.h \ - /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gpoll.h \ - /usr/include/glib-2.0/glib/gslist.h /usr/include/glib-2.0/glib/gstring.h \ - /usr/include/glib-2.0/glib/gunicode.h \ - /usr/include/glib-2.0/glib/gutils.h \ - /usr/include/glib-2.0/glib/gkeyfile.h \ - /usr/include/glib-2.0/glib/gmappedfile.h \ - /usr/include/glib-2.0/glib/gmarkup.h \ - /usr/include/glib-2.0/glib/gmessages.h \ - /usr/include/glib-2.0/glib/goption.h \ - /usr/include/glib-2.0/glib/gpattern.h \ - /usr/include/glib-2.0/glib/gprimes.h /usr/include/glib-2.0/glib/gqsort.h \ - /usr/include/glib-2.0/glib/gqueue.h /usr/include/glib-2.0/glib/grand.h \ - /usr/include/glib-2.0/glib/gregex.h \ - /usr/include/glib-2.0/glib/gscanner.h \ - /usr/include/glib-2.0/glib/gsequence.h \ - /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gslice.h \ - /usr/include/glib-2.0/glib/gspawn.h \ - /usr/include/glib-2.0/glib/gstrfuncs.h \ - /usr/include/glib-2.0/glib/gstringchunk.h \ - /usr/include/glib-2.0/glib/gtestutils.h \ - /usr/include/glib-2.0/glib/gthreadpool.h \ - /usr/include/glib-2.0/glib/gtimer.h \ - /usr/include/glib-2.0/glib/gtrashstack.h \ - /usr/include/glib-2.0/glib/gtree.h \ - /usr/include/glib-2.0/glib/gurifuncs.h \ - /usr/include/glib-2.0/glib/gvarianttype.h \ - /usr/include/glib-2.0/glib/gvariant.h \ - /usr/include/glib-2.0/glib/gversion.h \ - /usr/include/glib-2.0/glib/deprecated/gallocator.h \ - /usr/include/glib-2.0/glib/deprecated/gcache.h \ - /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ - /usr/include/glib-2.0/glib/deprecated/gmain.h \ - /usr/include/glib-2.0/glib/deprecated/grel.h \ - /usr/include/glib-2.0/glib/deprecated/gthread.h \ - /usr/include/arm-linux-gnueabihf/sys/types.h \ - /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h /usr/include/pthread.h \ - /usr/include/sched.h /usr/include/arm-linux-gnueabihf/bits/sched.h \ - /usr/include/arm-linux-gnueabihf/bits/setjmp.h obexd/src/log.h \ - obexd/client/transfer.h obexd/client/session.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h \ - /usr/include/stdint.h /usr/include/arm-linux-gnueabihf/bits/wchar.h \ - obexd/client/driver.h obexd/client/opp.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/include/errno.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/include/arm-linux-gnueabihf/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/arm-linux-gnueabihf/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -gdbus/gdbus.h: - -/usr/include/dbus-1.0/dbus/dbus.h: - -/usr/lib/arm-linux-gnueabihf/dbus-1.0/include/dbus/dbus-arch-deps.h: - -/usr/include/dbus-1.0/dbus/dbus-macros.h: - -/usr/include/dbus-1.0/dbus/dbus-address.h: - -/usr/include/dbus-1.0/dbus/dbus-types.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/include/dbus-1.0/dbus/dbus-errors.h: - -/usr/include/dbus-1.0/dbus/dbus-protocol.h: - -/usr/include/dbus-1.0/dbus/dbus-bus.h: - -/usr/include/dbus-1.0/dbus/dbus-connection.h: - -/usr/include/dbus-1.0/dbus/dbus-memory.h: - -/usr/include/dbus-1.0/dbus/dbus-message.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/dbus-1.0/dbus/dbus-shared.h: - -/usr/include/dbus-1.0/dbus/dbus-misc.h: - -/usr/include/dbus-1.0/dbus/dbus-pending-call.h: - -/usr/include/dbus-1.0/dbus/dbus-server.h: - -/usr/include/dbus-1.0/dbus/dbus-signature.h: - -/usr/include/dbus-1.0/dbus/dbus-syntax.h: - -/usr/include/dbus-1.0/dbus/dbus-threads.h: - -/usr/include/glib-2.0/glib.h: - -/usr/include/glib-2.0/glib/galloca.h: - -/usr/include/glib-2.0/glib/gtypes.h: - -/usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h: - -/usr/include/glib-2.0/glib/gmacros.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h: - -/usr/include/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/local_lim.h: - -/usr/include/linux/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix2_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/xopen_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h: - -/usr/include/glib-2.0/glib/gversionmacros.h: - -/usr/include/time.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/arm-linux-gnueabihf/bits/timex.h: - -/usr/include/xlocale.h: - -/usr/include/glib-2.0/glib/garray.h: - -/usr/include/glib-2.0/glib/gasyncqueue.h: - -/usr/include/glib-2.0/glib/gthread.h: - -/usr/include/glib-2.0/glib/gatomic.h: - -/usr/include/glib-2.0/glib/gerror.h: - -/usr/include/glib-2.0/glib/gquark.h: - -/usr/include/glib-2.0/glib/gbacktrace.h: - -/usr/include/signal.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/signum.h: - -/usr/include/arm-linux-gnueabihf/bits/siginfo.h: - -/usr/include/arm-linux-gnueabihf/bits/sigaction.h: - -/usr/include/arm-linux-gnueabihf/bits/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/asm/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigstack.h: - -/usr/include/arm-linux-gnueabihf/sys/ucontext.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/arm-linux-gnueabihf/bits/sigthread.h: - -/usr/include/glib-2.0/glib/gbase64.h: - -/usr/include/glib-2.0/glib/gbitlock.h: - -/usr/include/glib-2.0/glib/gbookmarkfile.h: - -/usr/include/glib-2.0/glib/gbytes.h: - -/usr/include/glib-2.0/glib/gcharset.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/gconvert.h: - -/usr/include/glib-2.0/glib/gdataset.h: - -/usr/include/glib-2.0/glib/gdate.h: - -/usr/include/glib-2.0/glib/gdatetime.h: - -/usr/include/glib-2.0/glib/gtimezone.h: - -/usr/include/glib-2.0/glib/gdir.h: - -/usr/include/dirent.h: - -/usr/include/arm-linux-gnueabihf/bits/dirent.h: - -/usr/include/glib-2.0/glib/genviron.h: - -/usr/include/glib-2.0/glib/gfileutils.h: - -/usr/include/glib-2.0/glib/ggettext.h: - -/usr/include/glib-2.0/glib/ghash.h: - -/usr/include/glib-2.0/glib/glist.h: - -/usr/include/glib-2.0/glib/gmem.h: - -/usr/include/glib-2.0/glib/gnode.h: - -/usr/include/glib-2.0/glib/ghmac.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/ghook.h: - -/usr/include/glib-2.0/glib/ghostutils.h: - -/usr/include/glib-2.0/glib/giochannel.h: - -/usr/include/glib-2.0/glib/gmain.h: - -/usr/include/glib-2.0/glib/gpoll.h: - -/usr/include/glib-2.0/glib/gslist.h: - -/usr/include/glib-2.0/glib/gstring.h: - -/usr/include/glib-2.0/glib/gunicode.h: - -/usr/include/glib-2.0/glib/gutils.h: - -/usr/include/glib-2.0/glib/gkeyfile.h: - -/usr/include/glib-2.0/glib/gmappedfile.h: - -/usr/include/glib-2.0/glib/gmarkup.h: - -/usr/include/glib-2.0/glib/gmessages.h: - -/usr/include/glib-2.0/glib/goption.h: - -/usr/include/glib-2.0/glib/gpattern.h: - -/usr/include/glib-2.0/glib/gprimes.h: - -/usr/include/glib-2.0/glib/gqsort.h: - -/usr/include/glib-2.0/glib/gqueue.h: - -/usr/include/glib-2.0/glib/grand.h: - -/usr/include/glib-2.0/glib/gregex.h: - -/usr/include/glib-2.0/glib/gscanner.h: - -/usr/include/glib-2.0/glib/gsequence.h: - -/usr/include/glib-2.0/glib/gshell.h: - -/usr/include/glib-2.0/glib/gslice.h: - -/usr/include/glib-2.0/glib/gspawn.h: - -/usr/include/glib-2.0/glib/gstrfuncs.h: - -/usr/include/glib-2.0/glib/gstringchunk.h: - -/usr/include/glib-2.0/glib/gtestutils.h: - -/usr/include/glib-2.0/glib/gthreadpool.h: - -/usr/include/glib-2.0/glib/gtimer.h: - -/usr/include/glib-2.0/glib/gtrashstack.h: - -/usr/include/glib-2.0/glib/gtree.h: - -/usr/include/glib-2.0/glib/gurifuncs.h: - -/usr/include/glib-2.0/glib/gvarianttype.h: - -/usr/include/glib-2.0/glib/gvariant.h: - -/usr/include/glib-2.0/glib/gversion.h: - -/usr/include/glib-2.0/glib/deprecated/gallocator.h: - -/usr/include/glib-2.0/glib/deprecated/gcache.h: - -/usr/include/glib-2.0/glib/deprecated/gcompletion.h: - -/usr/include/glib-2.0/glib/deprecated/gmain.h: - -/usr/include/glib-2.0/glib/deprecated/grel.h: - -/usr/include/glib-2.0/glib/deprecated/gthread.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/pthread.h: - -/usr/include/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/setjmp.h: - -obexd/src/log.h: - -obexd/client/transfer.h: - -obexd/client/session.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/arm-linux-gnueabihf/bits/wchar.h: - -obexd/client/driver.h: - -obexd/client/opp.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/obexd/client/.deps/obexd-pbap.Po b/GRIB_BLE_HUB/libs/ble_extend/obexd/client/.deps/obexd-pbap.Po deleted file mode 100644 index dba0f73..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/obexd/client/.deps/obexd-pbap.Po +++ /dev/null @@ -1,516 +0,0 @@ -obexd/client/obexd-pbap.o: obexd/client/pbap.c /usr/include/stdc-predef.h \ - config.h /usr/include/errno.h /usr/include/features.h \ - /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/include/arm-linux-gnueabihf/bits/errno.h /usr/include/linux/errno.h \ - /usr/include/arm-linux-gnueabihf/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/include/string.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/include/xlocale.h /usr/include/arm-linux-gnueabihf/bits/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string2.h /usr/include/stdlib.h \ - /usr/include/stdio.h /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/sys_errlist.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio.h \ - /usr/include/glib-2.0/glib.h /usr/include/glib-2.0/glib/galloca.h \ - /usr/include/glib-2.0/glib/gtypes.h \ - /usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h \ - /usr/include/glib-2.0/glib/gmacros.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h \ - /usr/include/limits.h /usr/include/arm-linux-gnueabihf/bits/posix1_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/local_lim.h \ - /usr/include/linux/limits.h \ - /usr/include/arm-linux-gnueabihf/bits/posix2_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/xopen_lim.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h \ - /usr/include/glib-2.0/glib/gversionmacros.h /usr/include/time.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/bits/timex.h \ - /usr/include/glib-2.0/glib/garray.h \ - /usr/include/glib-2.0/glib/gasyncqueue.h \ - /usr/include/glib-2.0/glib/gthread.h \ - /usr/include/glib-2.0/glib/gatomic.h /usr/include/glib-2.0/glib/gerror.h \ - /usr/include/glib-2.0/glib/gquark.h \ - /usr/include/glib-2.0/glib/gbacktrace.h /usr/include/signal.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/signum.h \ - /usr/include/arm-linux-gnueabihf/bits/siginfo.h \ - /usr/include/arm-linux-gnueabihf/bits/sigaction.h \ - /usr/include/arm-linux-gnueabihf/bits/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/asm/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigstack.h \ - /usr/include/arm-linux-gnueabihf/sys/ucontext.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/endian.h /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/arm-linux-gnueabihf/bits/sigthread.h \ - /usr/include/glib-2.0/glib/gbase64.h \ - /usr/include/glib-2.0/glib/gbitlock.h \ - /usr/include/glib-2.0/glib/gbookmarkfile.h \ - /usr/include/glib-2.0/glib/gbytes.h \ - /usr/include/glib-2.0/glib/gcharset.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/gconvert.h \ - /usr/include/glib-2.0/glib/gdataset.h /usr/include/glib-2.0/glib/gdate.h \ - /usr/include/glib-2.0/glib/gdatetime.h \ - /usr/include/glib-2.0/glib/gtimezone.h /usr/include/glib-2.0/glib/gdir.h \ - /usr/include/dirent.h /usr/include/arm-linux-gnueabihf/bits/dirent.h \ - /usr/include/glib-2.0/glib/genviron.h \ - /usr/include/glib-2.0/glib/gfileutils.h \ - /usr/include/glib-2.0/glib/ggettext.h /usr/include/glib-2.0/glib/ghash.h \ - /usr/include/glib-2.0/glib/glist.h /usr/include/glib-2.0/glib/gmem.h \ - /usr/include/glib-2.0/glib/gnode.h /usr/include/glib-2.0/glib/ghmac.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/ghook.h \ - /usr/include/glib-2.0/glib/ghostutils.h \ - /usr/include/glib-2.0/glib/giochannel.h \ - /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gpoll.h \ - /usr/include/glib-2.0/glib/gslist.h /usr/include/glib-2.0/glib/gstring.h \ - /usr/include/glib-2.0/glib/gunicode.h \ - /usr/include/glib-2.0/glib/gutils.h \ - /usr/include/glib-2.0/glib/gkeyfile.h \ - /usr/include/glib-2.0/glib/gmappedfile.h \ - /usr/include/glib-2.0/glib/gmarkup.h \ - /usr/include/glib-2.0/glib/gmessages.h \ - /usr/include/glib-2.0/glib/goption.h \ - /usr/include/glib-2.0/glib/gpattern.h \ - /usr/include/glib-2.0/glib/gprimes.h /usr/include/glib-2.0/glib/gqsort.h \ - /usr/include/glib-2.0/glib/gqueue.h /usr/include/glib-2.0/glib/grand.h \ - /usr/include/glib-2.0/glib/gregex.h \ - /usr/include/glib-2.0/glib/gscanner.h \ - /usr/include/glib-2.0/glib/gsequence.h \ - /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gslice.h \ - /usr/include/glib-2.0/glib/gspawn.h \ - /usr/include/glib-2.0/glib/gstrfuncs.h \ - /usr/include/glib-2.0/glib/gstringchunk.h \ - /usr/include/glib-2.0/glib/gtestutils.h \ - /usr/include/glib-2.0/glib/gthreadpool.h \ - /usr/include/glib-2.0/glib/gtimer.h \ - /usr/include/glib-2.0/glib/gtrashstack.h \ - /usr/include/glib-2.0/glib/gtree.h \ - /usr/include/glib-2.0/glib/gurifuncs.h \ - /usr/include/glib-2.0/glib/gvarianttype.h \ - /usr/include/glib-2.0/glib/gvariant.h \ - /usr/include/glib-2.0/glib/gversion.h \ - /usr/include/glib-2.0/glib/deprecated/gallocator.h \ - /usr/include/glib-2.0/glib/deprecated/gcache.h \ - /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ - /usr/include/glib-2.0/glib/deprecated/gmain.h \ - /usr/include/glib-2.0/glib/deprecated/grel.h \ - /usr/include/glib-2.0/glib/deprecated/gthread.h \ - /usr/include/arm-linux-gnueabihf/sys/types.h \ - /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h /usr/include/pthread.h \ - /usr/include/sched.h /usr/include/arm-linux-gnueabihf/bits/sched.h \ - /usr/include/arm-linux-gnueabihf/bits/setjmp.h gdbus/gdbus.h \ - /usr/include/dbus-1.0/dbus/dbus.h \ - /usr/lib/arm-linux-gnueabihf/dbus-1.0/include/dbus/dbus-arch-deps.h \ - /usr/include/dbus-1.0/dbus/dbus-macros.h \ - /usr/include/dbus-1.0/dbus/dbus-address.h \ - /usr/include/dbus-1.0/dbus/dbus-types.h \ - /usr/include/dbus-1.0/dbus/dbus-errors.h \ - /usr/include/dbus-1.0/dbus/dbus-protocol.h \ - /usr/include/dbus-1.0/dbus/dbus-bus.h \ - /usr/include/dbus-1.0/dbus/dbus-connection.h \ - /usr/include/dbus-1.0/dbus/dbus-memory.h \ - /usr/include/dbus-1.0/dbus/dbus-message.h \ - /usr/include/dbus-1.0/dbus/dbus-shared.h \ - /usr/include/dbus-1.0/dbus/dbus-misc.h \ - /usr/include/dbus-1.0/dbus/dbus-pending-call.h \ - /usr/include/dbus-1.0/dbus/dbus-server.h \ - /usr/include/dbus-1.0/dbus/dbus-signature.h \ - /usr/include/dbus-1.0/dbus/dbus-syntax.h \ - /usr/include/dbus-1.0/dbus/dbus-threads.h lib/bluetooth/bluetooth.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h \ - /usr/include/stdint.h /usr/include/arm-linux-gnueabihf/bits/wchar.h \ - /usr/include/byteswap.h /usr/include/netinet/in.h \ - /usr/include/arm-linux-gnueabihf/sys/socket.h \ - /usr/include/arm-linux-gnueabihf/sys/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/socket.h \ - /usr/include/arm-linux-gnueabihf/bits/socket_type.h \ - /usr/include/arm-linux-gnueabihf/bits/sockaddr.h \ - /usr/include/arm-linux-gnueabihf/asm/socket.h \ - /usr/include/asm-generic/socket.h \ - /usr/include/arm-linux-gnueabihf/asm/sockios.h \ - /usr/include/asm-generic/sockios.h \ - /usr/include/arm-linux-gnueabihf/bits/in.h gobex/gobex-apparam.h \ - obexd/src/log.h obexd/client/transfer.h obexd/client/session.h \ - obexd/client/driver.h obexd/client/pbap.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/include/errno.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/include/arm-linux-gnueabihf/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/arm-linux-gnueabihf/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/include/string.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/include/xlocale.h: - -/usr/include/arm-linux-gnueabihf/bits/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string2.h: - -/usr/include/stdlib.h: - -/usr/include/stdio.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/sys_errlist.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio.h: - -/usr/include/glib-2.0/glib.h: - -/usr/include/glib-2.0/glib/galloca.h: - -/usr/include/glib-2.0/glib/gtypes.h: - -/usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h: - -/usr/include/glib-2.0/glib/gmacros.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h: - -/usr/include/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/local_lim.h: - -/usr/include/linux/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix2_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/xopen_lim.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h: - -/usr/include/glib-2.0/glib/gversionmacros.h: - -/usr/include/time.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/bits/timex.h: - -/usr/include/glib-2.0/glib/garray.h: - -/usr/include/glib-2.0/glib/gasyncqueue.h: - -/usr/include/glib-2.0/glib/gthread.h: - -/usr/include/glib-2.0/glib/gatomic.h: - -/usr/include/glib-2.0/glib/gerror.h: - -/usr/include/glib-2.0/glib/gquark.h: - -/usr/include/glib-2.0/glib/gbacktrace.h: - -/usr/include/signal.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/signum.h: - -/usr/include/arm-linux-gnueabihf/bits/siginfo.h: - -/usr/include/arm-linux-gnueabihf/bits/sigaction.h: - -/usr/include/arm-linux-gnueabihf/bits/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/asm/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigstack.h: - -/usr/include/arm-linux-gnueabihf/sys/ucontext.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/arm-linux-gnueabihf/bits/sigthread.h: - -/usr/include/glib-2.0/glib/gbase64.h: - -/usr/include/glib-2.0/glib/gbitlock.h: - -/usr/include/glib-2.0/glib/gbookmarkfile.h: - -/usr/include/glib-2.0/glib/gbytes.h: - -/usr/include/glib-2.0/glib/gcharset.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/gconvert.h: - -/usr/include/glib-2.0/glib/gdataset.h: - -/usr/include/glib-2.0/glib/gdate.h: - -/usr/include/glib-2.0/glib/gdatetime.h: - -/usr/include/glib-2.0/glib/gtimezone.h: - -/usr/include/glib-2.0/glib/gdir.h: - -/usr/include/dirent.h: - -/usr/include/arm-linux-gnueabihf/bits/dirent.h: - -/usr/include/glib-2.0/glib/genviron.h: - -/usr/include/glib-2.0/glib/gfileutils.h: - -/usr/include/glib-2.0/glib/ggettext.h: - -/usr/include/glib-2.0/glib/ghash.h: - -/usr/include/glib-2.0/glib/glist.h: - -/usr/include/glib-2.0/glib/gmem.h: - -/usr/include/glib-2.0/glib/gnode.h: - -/usr/include/glib-2.0/glib/ghmac.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/ghook.h: - -/usr/include/glib-2.0/glib/ghostutils.h: - -/usr/include/glib-2.0/glib/giochannel.h: - -/usr/include/glib-2.0/glib/gmain.h: - -/usr/include/glib-2.0/glib/gpoll.h: - -/usr/include/glib-2.0/glib/gslist.h: - -/usr/include/glib-2.0/glib/gstring.h: - -/usr/include/glib-2.0/glib/gunicode.h: - -/usr/include/glib-2.0/glib/gutils.h: - -/usr/include/glib-2.0/glib/gkeyfile.h: - -/usr/include/glib-2.0/glib/gmappedfile.h: - -/usr/include/glib-2.0/glib/gmarkup.h: - -/usr/include/glib-2.0/glib/gmessages.h: - -/usr/include/glib-2.0/glib/goption.h: - -/usr/include/glib-2.0/glib/gpattern.h: - -/usr/include/glib-2.0/glib/gprimes.h: - -/usr/include/glib-2.0/glib/gqsort.h: - -/usr/include/glib-2.0/glib/gqueue.h: - -/usr/include/glib-2.0/glib/grand.h: - -/usr/include/glib-2.0/glib/gregex.h: - -/usr/include/glib-2.0/glib/gscanner.h: - -/usr/include/glib-2.0/glib/gsequence.h: - -/usr/include/glib-2.0/glib/gshell.h: - -/usr/include/glib-2.0/glib/gslice.h: - -/usr/include/glib-2.0/glib/gspawn.h: - -/usr/include/glib-2.0/glib/gstrfuncs.h: - -/usr/include/glib-2.0/glib/gstringchunk.h: - -/usr/include/glib-2.0/glib/gtestutils.h: - -/usr/include/glib-2.0/glib/gthreadpool.h: - -/usr/include/glib-2.0/glib/gtimer.h: - -/usr/include/glib-2.0/glib/gtrashstack.h: - -/usr/include/glib-2.0/glib/gtree.h: - -/usr/include/glib-2.0/glib/gurifuncs.h: - -/usr/include/glib-2.0/glib/gvarianttype.h: - -/usr/include/glib-2.0/glib/gvariant.h: - -/usr/include/glib-2.0/glib/gversion.h: - -/usr/include/glib-2.0/glib/deprecated/gallocator.h: - -/usr/include/glib-2.0/glib/deprecated/gcache.h: - -/usr/include/glib-2.0/glib/deprecated/gcompletion.h: - -/usr/include/glib-2.0/glib/deprecated/gmain.h: - -/usr/include/glib-2.0/glib/deprecated/grel.h: - -/usr/include/glib-2.0/glib/deprecated/gthread.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/pthread.h: - -/usr/include/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/setjmp.h: - -gdbus/gdbus.h: - -/usr/include/dbus-1.0/dbus/dbus.h: - -/usr/lib/arm-linux-gnueabihf/dbus-1.0/include/dbus/dbus-arch-deps.h: - -/usr/include/dbus-1.0/dbus/dbus-macros.h: - -/usr/include/dbus-1.0/dbus/dbus-address.h: - -/usr/include/dbus-1.0/dbus/dbus-types.h: - -/usr/include/dbus-1.0/dbus/dbus-errors.h: - -/usr/include/dbus-1.0/dbus/dbus-protocol.h: - -/usr/include/dbus-1.0/dbus/dbus-bus.h: - -/usr/include/dbus-1.0/dbus/dbus-connection.h: - -/usr/include/dbus-1.0/dbus/dbus-memory.h: - -/usr/include/dbus-1.0/dbus/dbus-message.h: - -/usr/include/dbus-1.0/dbus/dbus-shared.h: - -/usr/include/dbus-1.0/dbus/dbus-misc.h: - -/usr/include/dbus-1.0/dbus/dbus-pending-call.h: - -/usr/include/dbus-1.0/dbus/dbus-server.h: - -/usr/include/dbus-1.0/dbus/dbus-signature.h: - -/usr/include/dbus-1.0/dbus/dbus-syntax.h: - -/usr/include/dbus-1.0/dbus/dbus-threads.h: - -lib/bluetooth/bluetooth.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/arm-linux-gnueabihf/bits/wchar.h: - -/usr/include/byteswap.h: - -/usr/include/netinet/in.h: - -/usr/include/arm-linux-gnueabihf/sys/socket.h: - -/usr/include/arm-linux-gnueabihf/sys/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/socket.h: - -/usr/include/arm-linux-gnueabihf/bits/socket_type.h: - -/usr/include/arm-linux-gnueabihf/bits/sockaddr.h: - -/usr/include/arm-linux-gnueabihf/asm/socket.h: - -/usr/include/asm-generic/socket.h: - -/usr/include/arm-linux-gnueabihf/asm/sockios.h: - -/usr/include/asm-generic/sockios.h: - -/usr/include/arm-linux-gnueabihf/bits/in.h: - -gobex/gobex-apparam.h: - -obexd/src/log.h: - -obexd/client/transfer.h: - -obexd/client/session.h: - -obexd/client/driver.h: - -obexd/client/pbap.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/obexd/client/.deps/obexd-session.Po b/GRIB_BLE_HUB/libs/ble_extend/obexd/client/.deps/obexd-session.Po deleted file mode 100644 index ec99f07..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/obexd/client/.deps/obexd-session.Po +++ /dev/null @@ -1,532 +0,0 @@ -obexd/client/obexd-session.o: obexd/client/session.c \ - /usr/include/stdc-predef.h config.h /usr/include/stdlib.h \ - /usr/include/features.h /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/include/arm-linux-gnueabihf/bits/waitflags.h \ - /usr/include/arm-linux-gnueabihf/bits/waitstatus.h /usr/include/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/xlocale.h /usr/include/arm-linux-gnueabihf/sys/types.h \ - /usr/include/time.h /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/alloca.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-float.h \ - /usr/include/stdio.h /usr/include/libio.h /usr/include/_G_config.h \ - /usr/include/wchar.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/sys_errlist.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio.h /usr/include/errno.h \ - /usr/include/arm-linux-gnueabihf/bits/errno.h /usr/include/linux/errno.h \ - /usr/include/arm-linux-gnueabihf/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/include/fcntl.h /usr/include/arm-linux-gnueabihf/bits/fcntl.h \ - /usr/include/arm-linux-gnueabihf/bits/fcntl-linux.h \ - /usr/include/arm-linux-gnueabihf/bits/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/stat.h /usr/include/unistd.h \ - /usr/include/arm-linux-gnueabihf/bits/posix_opt.h \ - /usr/include/arm-linux-gnueabihf/bits/environments.h \ - /usr/include/arm-linux-gnueabihf/bits/confname.h /usr/include/getopt.h \ - /usr/include/string.h /usr/include/arm-linux-gnueabihf/bits/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string2.h \ - /usr/include/arm-linux-gnueabihf/sys/stat.h /usr/include/glib-2.0/glib.h \ - /usr/include/glib-2.0/glib/galloca.h /usr/include/glib-2.0/glib/gtypes.h \ - /usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h \ - /usr/include/glib-2.0/glib/gmacros.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h \ - /usr/include/limits.h /usr/include/arm-linux-gnueabihf/bits/posix1_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/local_lim.h \ - /usr/include/linux/limits.h \ - /usr/include/arm-linux-gnueabihf/bits/posix2_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/xopen_lim.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h \ - /usr/include/glib-2.0/glib/gversionmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/timex.h \ - /usr/include/glib-2.0/glib/garray.h \ - /usr/include/glib-2.0/glib/gasyncqueue.h \ - /usr/include/glib-2.0/glib/gthread.h \ - /usr/include/glib-2.0/glib/gatomic.h /usr/include/glib-2.0/glib/gerror.h \ - /usr/include/glib-2.0/glib/gquark.h \ - /usr/include/glib-2.0/glib/gbacktrace.h /usr/include/signal.h \ - /usr/include/arm-linux-gnueabihf/bits/signum.h \ - /usr/include/arm-linux-gnueabihf/bits/siginfo.h \ - /usr/include/arm-linux-gnueabihf/bits/sigaction.h \ - /usr/include/arm-linux-gnueabihf/bits/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/asm/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigstack.h \ - /usr/include/arm-linux-gnueabihf/sys/ucontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigthread.h \ - /usr/include/glib-2.0/glib/gbase64.h \ - /usr/include/glib-2.0/glib/gbitlock.h \ - /usr/include/glib-2.0/glib/gbookmarkfile.h \ - /usr/include/glib-2.0/glib/gbytes.h \ - /usr/include/glib-2.0/glib/gcharset.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/gconvert.h \ - /usr/include/glib-2.0/glib/gdataset.h /usr/include/glib-2.0/glib/gdate.h \ - /usr/include/glib-2.0/glib/gdatetime.h \ - /usr/include/glib-2.0/glib/gtimezone.h /usr/include/glib-2.0/glib/gdir.h \ - /usr/include/dirent.h /usr/include/arm-linux-gnueabihf/bits/dirent.h \ - /usr/include/glib-2.0/glib/genviron.h \ - /usr/include/glib-2.0/glib/gfileutils.h \ - /usr/include/glib-2.0/glib/ggettext.h /usr/include/glib-2.0/glib/ghash.h \ - /usr/include/glib-2.0/glib/glist.h /usr/include/glib-2.0/glib/gmem.h \ - /usr/include/glib-2.0/glib/gnode.h /usr/include/glib-2.0/glib/ghmac.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/ghook.h \ - /usr/include/glib-2.0/glib/ghostutils.h \ - /usr/include/glib-2.0/glib/giochannel.h \ - /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gpoll.h \ - /usr/include/glib-2.0/glib/gslist.h /usr/include/glib-2.0/glib/gstring.h \ - /usr/include/glib-2.0/glib/gunicode.h \ - /usr/include/glib-2.0/glib/gutils.h \ - /usr/include/glib-2.0/glib/gkeyfile.h \ - /usr/include/glib-2.0/glib/gmappedfile.h \ - /usr/include/glib-2.0/glib/gmarkup.h \ - /usr/include/glib-2.0/glib/gmessages.h \ - /usr/include/glib-2.0/glib/goption.h \ - /usr/include/glib-2.0/glib/gpattern.h \ - /usr/include/glib-2.0/glib/gprimes.h /usr/include/glib-2.0/glib/gqsort.h \ - /usr/include/glib-2.0/glib/gqueue.h /usr/include/glib-2.0/glib/grand.h \ - /usr/include/glib-2.0/glib/gregex.h \ - /usr/include/glib-2.0/glib/gscanner.h \ - /usr/include/glib-2.0/glib/gsequence.h \ - /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gslice.h \ - /usr/include/glib-2.0/glib/gspawn.h \ - /usr/include/glib-2.0/glib/gstrfuncs.h \ - /usr/include/glib-2.0/glib/gstringchunk.h \ - /usr/include/glib-2.0/glib/gtestutils.h \ - /usr/include/glib-2.0/glib/gthreadpool.h \ - /usr/include/glib-2.0/glib/gtimer.h \ - /usr/include/glib-2.0/glib/gtrashstack.h \ - /usr/include/glib-2.0/glib/gtree.h \ - /usr/include/glib-2.0/glib/gurifuncs.h \ - /usr/include/glib-2.0/glib/gvarianttype.h \ - /usr/include/glib-2.0/glib/gvariant.h \ - /usr/include/glib-2.0/glib/gversion.h \ - /usr/include/glib-2.0/glib/deprecated/gallocator.h \ - /usr/include/glib-2.0/glib/deprecated/gcache.h \ - /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ - /usr/include/glib-2.0/glib/deprecated/gmain.h \ - /usr/include/glib-2.0/glib/deprecated/grel.h \ - /usr/include/glib-2.0/glib/deprecated/gthread.h /usr/include/pthread.h \ - /usr/include/sched.h /usr/include/arm-linux-gnueabihf/bits/sched.h \ - /usr/include/arm-linux-gnueabihf/bits/setjmp.h gdbus/gdbus.h \ - /usr/include/dbus-1.0/dbus/dbus.h \ - /usr/lib/arm-linux-gnueabihf/dbus-1.0/include/dbus/dbus-arch-deps.h \ - /usr/include/dbus-1.0/dbus/dbus-macros.h \ - /usr/include/dbus-1.0/dbus/dbus-address.h \ - /usr/include/dbus-1.0/dbus/dbus-types.h \ - /usr/include/dbus-1.0/dbus/dbus-errors.h \ - /usr/include/dbus-1.0/dbus/dbus-protocol.h \ - /usr/include/dbus-1.0/dbus/dbus-bus.h \ - /usr/include/dbus-1.0/dbus/dbus-connection.h \ - /usr/include/dbus-1.0/dbus/dbus-memory.h \ - /usr/include/dbus-1.0/dbus/dbus-message.h \ - /usr/include/dbus-1.0/dbus/dbus-shared.h \ - /usr/include/dbus-1.0/dbus/dbus-misc.h \ - /usr/include/dbus-1.0/dbus/dbus-pending-call.h \ - /usr/include/dbus-1.0/dbus/dbus-server.h \ - /usr/include/dbus-1.0/dbus/dbus-signature.h \ - /usr/include/dbus-1.0/dbus/dbus-syntax.h \ - /usr/include/dbus-1.0/dbus/dbus-threads.h gobex/gobex.h \ - gobex/gobex-defs.h gobex/gobex-packet.h gobex/gobex-header.h \ - gobex/gobex-apparam.h obexd/client/dbus.h obexd/src/log.h \ - obexd/client/transfer.h obexd/client/session.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h \ - /usr/include/stdint.h /usr/include/arm-linux-gnueabihf/bits/wchar.h \ - obexd/client/driver.h obexd/client/transport.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/include/stdlib.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/include/arm-linux-gnueabihf/bits/waitflags.h: - -/usr/include/arm-linux-gnueabihf/bits/waitstatus.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/xlocale.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/time.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/alloca.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-float.h: - -/usr/include/stdio.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/sys_errlist.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio.h: - -/usr/include/errno.h: - -/usr/include/arm-linux-gnueabihf/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/arm-linux-gnueabihf/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/include/fcntl.h: - -/usr/include/arm-linux-gnueabihf/bits/fcntl.h: - -/usr/include/arm-linux-gnueabihf/bits/fcntl-linux.h: - -/usr/include/arm-linux-gnueabihf/bits/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/stat.h: - -/usr/include/unistd.h: - -/usr/include/arm-linux-gnueabihf/bits/posix_opt.h: - -/usr/include/arm-linux-gnueabihf/bits/environments.h: - -/usr/include/arm-linux-gnueabihf/bits/confname.h: - -/usr/include/getopt.h: - -/usr/include/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string2.h: - -/usr/include/arm-linux-gnueabihf/sys/stat.h: - -/usr/include/glib-2.0/glib.h: - -/usr/include/glib-2.0/glib/galloca.h: - -/usr/include/glib-2.0/glib/gtypes.h: - -/usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h: - -/usr/include/glib-2.0/glib/gmacros.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h: - -/usr/include/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/local_lim.h: - -/usr/include/linux/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix2_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/xopen_lim.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h: - -/usr/include/glib-2.0/glib/gversionmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/timex.h: - -/usr/include/glib-2.0/glib/garray.h: - -/usr/include/glib-2.0/glib/gasyncqueue.h: - -/usr/include/glib-2.0/glib/gthread.h: - -/usr/include/glib-2.0/glib/gatomic.h: - -/usr/include/glib-2.0/glib/gerror.h: - -/usr/include/glib-2.0/glib/gquark.h: - -/usr/include/glib-2.0/glib/gbacktrace.h: - -/usr/include/signal.h: - -/usr/include/arm-linux-gnueabihf/bits/signum.h: - -/usr/include/arm-linux-gnueabihf/bits/siginfo.h: - -/usr/include/arm-linux-gnueabihf/bits/sigaction.h: - -/usr/include/arm-linux-gnueabihf/bits/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/asm/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigstack.h: - -/usr/include/arm-linux-gnueabihf/sys/ucontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigthread.h: - -/usr/include/glib-2.0/glib/gbase64.h: - -/usr/include/glib-2.0/glib/gbitlock.h: - -/usr/include/glib-2.0/glib/gbookmarkfile.h: - -/usr/include/glib-2.0/glib/gbytes.h: - -/usr/include/glib-2.0/glib/gcharset.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/gconvert.h: - -/usr/include/glib-2.0/glib/gdataset.h: - -/usr/include/glib-2.0/glib/gdate.h: - -/usr/include/glib-2.0/glib/gdatetime.h: - -/usr/include/glib-2.0/glib/gtimezone.h: - -/usr/include/glib-2.0/glib/gdir.h: - -/usr/include/dirent.h: - -/usr/include/arm-linux-gnueabihf/bits/dirent.h: - -/usr/include/glib-2.0/glib/genviron.h: - -/usr/include/glib-2.0/glib/gfileutils.h: - -/usr/include/glib-2.0/glib/ggettext.h: - -/usr/include/glib-2.0/glib/ghash.h: - -/usr/include/glib-2.0/glib/glist.h: - -/usr/include/glib-2.0/glib/gmem.h: - -/usr/include/glib-2.0/glib/gnode.h: - -/usr/include/glib-2.0/glib/ghmac.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/ghook.h: - -/usr/include/glib-2.0/glib/ghostutils.h: - -/usr/include/glib-2.0/glib/giochannel.h: - -/usr/include/glib-2.0/glib/gmain.h: - -/usr/include/glib-2.0/glib/gpoll.h: - -/usr/include/glib-2.0/glib/gslist.h: - -/usr/include/glib-2.0/glib/gstring.h: - -/usr/include/glib-2.0/glib/gunicode.h: - -/usr/include/glib-2.0/glib/gutils.h: - -/usr/include/glib-2.0/glib/gkeyfile.h: - -/usr/include/glib-2.0/glib/gmappedfile.h: - -/usr/include/glib-2.0/glib/gmarkup.h: - -/usr/include/glib-2.0/glib/gmessages.h: - -/usr/include/glib-2.0/glib/goption.h: - -/usr/include/glib-2.0/glib/gpattern.h: - -/usr/include/glib-2.0/glib/gprimes.h: - -/usr/include/glib-2.0/glib/gqsort.h: - -/usr/include/glib-2.0/glib/gqueue.h: - -/usr/include/glib-2.0/glib/grand.h: - -/usr/include/glib-2.0/glib/gregex.h: - -/usr/include/glib-2.0/glib/gscanner.h: - -/usr/include/glib-2.0/glib/gsequence.h: - -/usr/include/glib-2.0/glib/gshell.h: - -/usr/include/glib-2.0/glib/gslice.h: - -/usr/include/glib-2.0/glib/gspawn.h: - -/usr/include/glib-2.0/glib/gstrfuncs.h: - -/usr/include/glib-2.0/glib/gstringchunk.h: - -/usr/include/glib-2.0/glib/gtestutils.h: - -/usr/include/glib-2.0/glib/gthreadpool.h: - -/usr/include/glib-2.0/glib/gtimer.h: - -/usr/include/glib-2.0/glib/gtrashstack.h: - -/usr/include/glib-2.0/glib/gtree.h: - -/usr/include/glib-2.0/glib/gurifuncs.h: - -/usr/include/glib-2.0/glib/gvarianttype.h: - -/usr/include/glib-2.0/glib/gvariant.h: - -/usr/include/glib-2.0/glib/gversion.h: - -/usr/include/glib-2.0/glib/deprecated/gallocator.h: - -/usr/include/glib-2.0/glib/deprecated/gcache.h: - -/usr/include/glib-2.0/glib/deprecated/gcompletion.h: - -/usr/include/glib-2.0/glib/deprecated/gmain.h: - -/usr/include/glib-2.0/glib/deprecated/grel.h: - -/usr/include/glib-2.0/glib/deprecated/gthread.h: - -/usr/include/pthread.h: - -/usr/include/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/setjmp.h: - -gdbus/gdbus.h: - -/usr/include/dbus-1.0/dbus/dbus.h: - -/usr/lib/arm-linux-gnueabihf/dbus-1.0/include/dbus/dbus-arch-deps.h: - -/usr/include/dbus-1.0/dbus/dbus-macros.h: - -/usr/include/dbus-1.0/dbus/dbus-address.h: - -/usr/include/dbus-1.0/dbus/dbus-types.h: - -/usr/include/dbus-1.0/dbus/dbus-errors.h: - -/usr/include/dbus-1.0/dbus/dbus-protocol.h: - -/usr/include/dbus-1.0/dbus/dbus-bus.h: - -/usr/include/dbus-1.0/dbus/dbus-connection.h: - -/usr/include/dbus-1.0/dbus/dbus-memory.h: - -/usr/include/dbus-1.0/dbus/dbus-message.h: - -/usr/include/dbus-1.0/dbus/dbus-shared.h: - -/usr/include/dbus-1.0/dbus/dbus-misc.h: - -/usr/include/dbus-1.0/dbus/dbus-pending-call.h: - -/usr/include/dbus-1.0/dbus/dbus-server.h: - -/usr/include/dbus-1.0/dbus/dbus-signature.h: - -/usr/include/dbus-1.0/dbus/dbus-syntax.h: - -/usr/include/dbus-1.0/dbus/dbus-threads.h: - -gobex/gobex.h: - -gobex/gobex-defs.h: - -gobex/gobex-packet.h: - -gobex/gobex-header.h: - -gobex/gobex-apparam.h: - -obexd/client/dbus.h: - -obexd/src/log.h: - -obexd/client/transfer.h: - -obexd/client/session.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/arm-linux-gnueabihf/bits/wchar.h: - -obexd/client/driver.h: - -obexd/client/transport.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/obexd/client/.deps/obexd-sync.Po b/GRIB_BLE_HUB/libs/ble_extend/obexd/client/.deps/obexd-sync.Po deleted file mode 100644 index 239e51d..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/obexd/client/.deps/obexd-sync.Po +++ /dev/null @@ -1,459 +0,0 @@ -obexd/client/obexd-sync.o: obexd/client/sync.c /usr/include/stdc-predef.h \ - config.h /usr/include/errno.h /usr/include/features.h \ - /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/include/arm-linux-gnueabihf/bits/errno.h /usr/include/linux/errno.h \ - /usr/include/arm-linux-gnueabihf/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/include/string.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/include/xlocale.h /usr/include/arm-linux-gnueabihf/bits/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string2.h /usr/include/stdlib.h \ - /usr/include/glib-2.0/glib.h /usr/include/glib-2.0/glib/galloca.h \ - /usr/include/glib-2.0/glib/gtypes.h \ - /usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h \ - /usr/include/glib-2.0/glib/gmacros.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h \ - /usr/include/limits.h /usr/include/arm-linux-gnueabihf/bits/posix1_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/local_lim.h \ - /usr/include/linux/limits.h \ - /usr/include/arm-linux-gnueabihf/bits/posix2_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/xopen_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h \ - /usr/include/glib-2.0/glib/gversionmacros.h /usr/include/time.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h \ - /usr/include/arm-linux-gnueabihf/bits/timex.h \ - /usr/include/glib-2.0/glib/garray.h \ - /usr/include/glib-2.0/glib/gasyncqueue.h \ - /usr/include/glib-2.0/glib/gthread.h \ - /usr/include/glib-2.0/glib/gatomic.h /usr/include/glib-2.0/glib/gerror.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/glib-2.0/glib/gquark.h \ - /usr/include/glib-2.0/glib/gbacktrace.h /usr/include/signal.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/signum.h \ - /usr/include/arm-linux-gnueabihf/bits/siginfo.h \ - /usr/include/arm-linux-gnueabihf/bits/sigaction.h \ - /usr/include/arm-linux-gnueabihf/bits/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/asm/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigstack.h \ - /usr/include/arm-linux-gnueabihf/sys/ucontext.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/endian.h /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/arm-linux-gnueabihf/bits/sigthread.h \ - /usr/include/glib-2.0/glib/gbase64.h \ - /usr/include/glib-2.0/glib/gbitlock.h \ - /usr/include/glib-2.0/glib/gbookmarkfile.h \ - /usr/include/glib-2.0/glib/gbytes.h \ - /usr/include/glib-2.0/glib/gcharset.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/gconvert.h \ - /usr/include/glib-2.0/glib/gdataset.h /usr/include/glib-2.0/glib/gdate.h \ - /usr/include/glib-2.0/glib/gdatetime.h \ - /usr/include/glib-2.0/glib/gtimezone.h /usr/include/glib-2.0/glib/gdir.h \ - /usr/include/dirent.h /usr/include/arm-linux-gnueabihf/bits/dirent.h \ - /usr/include/glib-2.0/glib/genviron.h \ - /usr/include/glib-2.0/glib/gfileutils.h \ - /usr/include/glib-2.0/glib/ggettext.h /usr/include/glib-2.0/glib/ghash.h \ - /usr/include/glib-2.0/glib/glist.h /usr/include/glib-2.0/glib/gmem.h \ - /usr/include/glib-2.0/glib/gnode.h /usr/include/glib-2.0/glib/ghmac.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/ghook.h \ - /usr/include/glib-2.0/glib/ghostutils.h \ - /usr/include/glib-2.0/glib/giochannel.h \ - /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gpoll.h \ - /usr/include/glib-2.0/glib/gslist.h /usr/include/glib-2.0/glib/gstring.h \ - /usr/include/glib-2.0/glib/gunicode.h \ - /usr/include/glib-2.0/glib/gutils.h \ - /usr/include/glib-2.0/glib/gkeyfile.h \ - /usr/include/glib-2.0/glib/gmappedfile.h \ - /usr/include/glib-2.0/glib/gmarkup.h \ - /usr/include/glib-2.0/glib/gmessages.h \ - /usr/include/glib-2.0/glib/goption.h \ - /usr/include/glib-2.0/glib/gpattern.h \ - /usr/include/glib-2.0/glib/gprimes.h /usr/include/glib-2.0/glib/gqsort.h \ - /usr/include/glib-2.0/glib/gqueue.h /usr/include/glib-2.0/glib/grand.h \ - /usr/include/glib-2.0/glib/gregex.h \ - /usr/include/glib-2.0/glib/gscanner.h \ - /usr/include/glib-2.0/glib/gsequence.h \ - /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gslice.h \ - /usr/include/glib-2.0/glib/gspawn.h \ - /usr/include/glib-2.0/glib/gstrfuncs.h \ - /usr/include/glib-2.0/glib/gstringchunk.h \ - /usr/include/glib-2.0/glib/gtestutils.h \ - /usr/include/glib-2.0/glib/gthreadpool.h \ - /usr/include/glib-2.0/glib/gtimer.h \ - /usr/include/glib-2.0/glib/gtrashstack.h \ - /usr/include/glib-2.0/glib/gtree.h \ - /usr/include/glib-2.0/glib/gurifuncs.h \ - /usr/include/glib-2.0/glib/gvarianttype.h \ - /usr/include/glib-2.0/glib/gvariant.h \ - /usr/include/glib-2.0/glib/gversion.h \ - /usr/include/glib-2.0/glib/deprecated/gallocator.h \ - /usr/include/glib-2.0/glib/deprecated/gcache.h \ - /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ - /usr/include/glib-2.0/glib/deprecated/gmain.h \ - /usr/include/glib-2.0/glib/deprecated/grel.h \ - /usr/include/glib-2.0/glib/deprecated/gthread.h \ - /usr/include/arm-linux-gnueabihf/sys/types.h \ - /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h /usr/include/pthread.h \ - /usr/include/sched.h /usr/include/arm-linux-gnueabihf/bits/sched.h \ - /usr/include/arm-linux-gnueabihf/bits/setjmp.h gdbus/gdbus.h \ - /usr/include/dbus-1.0/dbus/dbus.h \ - /usr/lib/arm-linux-gnueabihf/dbus-1.0/include/dbus/dbus-arch-deps.h \ - /usr/include/dbus-1.0/dbus/dbus-macros.h \ - /usr/include/dbus-1.0/dbus/dbus-address.h \ - /usr/include/dbus-1.0/dbus/dbus-types.h \ - /usr/include/dbus-1.0/dbus/dbus-errors.h \ - /usr/include/dbus-1.0/dbus/dbus-protocol.h \ - /usr/include/dbus-1.0/dbus/dbus-bus.h \ - /usr/include/dbus-1.0/dbus/dbus-connection.h \ - /usr/include/dbus-1.0/dbus/dbus-memory.h \ - /usr/include/dbus-1.0/dbus/dbus-message.h \ - /usr/include/dbus-1.0/dbus/dbus-shared.h \ - /usr/include/dbus-1.0/dbus/dbus-misc.h \ - /usr/include/dbus-1.0/dbus/dbus-pending-call.h \ - /usr/include/dbus-1.0/dbus/dbus-server.h \ - /usr/include/dbus-1.0/dbus/dbus-signature.h \ - /usr/include/dbus-1.0/dbus/dbus-syntax.h \ - /usr/include/dbus-1.0/dbus/dbus-threads.h obexd/src/log.h \ - obexd/client/transfer.h obexd/client/session.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h \ - /usr/include/stdint.h /usr/include/arm-linux-gnueabihf/bits/wchar.h \ - obexd/client/driver.h obexd/client/sync.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/include/errno.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/include/arm-linux-gnueabihf/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/arm-linux-gnueabihf/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/include/string.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/include/xlocale.h: - -/usr/include/arm-linux-gnueabihf/bits/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string2.h: - -/usr/include/stdlib.h: - -/usr/include/glib-2.0/glib.h: - -/usr/include/glib-2.0/glib/galloca.h: - -/usr/include/glib-2.0/glib/gtypes.h: - -/usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h: - -/usr/include/glib-2.0/glib/gmacros.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h: - -/usr/include/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/local_lim.h: - -/usr/include/linux/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix2_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/xopen_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h: - -/usr/include/glib-2.0/glib/gversionmacros.h: - -/usr/include/time.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/arm-linux-gnueabihf/bits/timex.h: - -/usr/include/glib-2.0/glib/garray.h: - -/usr/include/glib-2.0/glib/gasyncqueue.h: - -/usr/include/glib-2.0/glib/gthread.h: - -/usr/include/glib-2.0/glib/gatomic.h: - -/usr/include/glib-2.0/glib/gerror.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/glib-2.0/glib/gquark.h: - -/usr/include/glib-2.0/glib/gbacktrace.h: - -/usr/include/signal.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/signum.h: - -/usr/include/arm-linux-gnueabihf/bits/siginfo.h: - -/usr/include/arm-linux-gnueabihf/bits/sigaction.h: - -/usr/include/arm-linux-gnueabihf/bits/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/asm/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigstack.h: - -/usr/include/arm-linux-gnueabihf/sys/ucontext.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/arm-linux-gnueabihf/bits/sigthread.h: - -/usr/include/glib-2.0/glib/gbase64.h: - -/usr/include/glib-2.0/glib/gbitlock.h: - -/usr/include/glib-2.0/glib/gbookmarkfile.h: - -/usr/include/glib-2.0/glib/gbytes.h: - -/usr/include/glib-2.0/glib/gcharset.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/gconvert.h: - -/usr/include/glib-2.0/glib/gdataset.h: - -/usr/include/glib-2.0/glib/gdate.h: - -/usr/include/glib-2.0/glib/gdatetime.h: - -/usr/include/glib-2.0/glib/gtimezone.h: - -/usr/include/glib-2.0/glib/gdir.h: - -/usr/include/dirent.h: - -/usr/include/arm-linux-gnueabihf/bits/dirent.h: - -/usr/include/glib-2.0/glib/genviron.h: - -/usr/include/glib-2.0/glib/gfileutils.h: - -/usr/include/glib-2.0/glib/ggettext.h: - -/usr/include/glib-2.0/glib/ghash.h: - -/usr/include/glib-2.0/glib/glist.h: - -/usr/include/glib-2.0/glib/gmem.h: - -/usr/include/glib-2.0/glib/gnode.h: - -/usr/include/glib-2.0/glib/ghmac.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/ghook.h: - -/usr/include/glib-2.0/glib/ghostutils.h: - -/usr/include/glib-2.0/glib/giochannel.h: - -/usr/include/glib-2.0/glib/gmain.h: - -/usr/include/glib-2.0/glib/gpoll.h: - -/usr/include/glib-2.0/glib/gslist.h: - -/usr/include/glib-2.0/glib/gstring.h: - -/usr/include/glib-2.0/glib/gunicode.h: - -/usr/include/glib-2.0/glib/gutils.h: - -/usr/include/glib-2.0/glib/gkeyfile.h: - -/usr/include/glib-2.0/glib/gmappedfile.h: - -/usr/include/glib-2.0/glib/gmarkup.h: - -/usr/include/glib-2.0/glib/gmessages.h: - -/usr/include/glib-2.0/glib/goption.h: - -/usr/include/glib-2.0/glib/gpattern.h: - -/usr/include/glib-2.0/glib/gprimes.h: - -/usr/include/glib-2.0/glib/gqsort.h: - -/usr/include/glib-2.0/glib/gqueue.h: - -/usr/include/glib-2.0/glib/grand.h: - -/usr/include/glib-2.0/glib/gregex.h: - -/usr/include/glib-2.0/glib/gscanner.h: - -/usr/include/glib-2.0/glib/gsequence.h: - -/usr/include/glib-2.0/glib/gshell.h: - -/usr/include/glib-2.0/glib/gslice.h: - -/usr/include/glib-2.0/glib/gspawn.h: - -/usr/include/glib-2.0/glib/gstrfuncs.h: - -/usr/include/glib-2.0/glib/gstringchunk.h: - -/usr/include/glib-2.0/glib/gtestutils.h: - -/usr/include/glib-2.0/glib/gthreadpool.h: - -/usr/include/glib-2.0/glib/gtimer.h: - -/usr/include/glib-2.0/glib/gtrashstack.h: - -/usr/include/glib-2.0/glib/gtree.h: - -/usr/include/glib-2.0/glib/gurifuncs.h: - -/usr/include/glib-2.0/glib/gvarianttype.h: - -/usr/include/glib-2.0/glib/gvariant.h: - -/usr/include/glib-2.0/glib/gversion.h: - -/usr/include/glib-2.0/glib/deprecated/gallocator.h: - -/usr/include/glib-2.0/glib/deprecated/gcache.h: - -/usr/include/glib-2.0/glib/deprecated/gcompletion.h: - -/usr/include/glib-2.0/glib/deprecated/gmain.h: - -/usr/include/glib-2.0/glib/deprecated/grel.h: - -/usr/include/glib-2.0/glib/deprecated/gthread.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/pthread.h: - -/usr/include/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/setjmp.h: - -gdbus/gdbus.h: - -/usr/include/dbus-1.0/dbus/dbus.h: - -/usr/lib/arm-linux-gnueabihf/dbus-1.0/include/dbus/dbus-arch-deps.h: - -/usr/include/dbus-1.0/dbus/dbus-macros.h: - -/usr/include/dbus-1.0/dbus/dbus-address.h: - -/usr/include/dbus-1.0/dbus/dbus-types.h: - -/usr/include/dbus-1.0/dbus/dbus-errors.h: - -/usr/include/dbus-1.0/dbus/dbus-protocol.h: - -/usr/include/dbus-1.0/dbus/dbus-bus.h: - -/usr/include/dbus-1.0/dbus/dbus-connection.h: - -/usr/include/dbus-1.0/dbus/dbus-memory.h: - -/usr/include/dbus-1.0/dbus/dbus-message.h: - -/usr/include/dbus-1.0/dbus/dbus-shared.h: - -/usr/include/dbus-1.0/dbus/dbus-misc.h: - -/usr/include/dbus-1.0/dbus/dbus-pending-call.h: - -/usr/include/dbus-1.0/dbus/dbus-server.h: - -/usr/include/dbus-1.0/dbus/dbus-signature.h: - -/usr/include/dbus-1.0/dbus/dbus-syntax.h: - -/usr/include/dbus-1.0/dbus/dbus-threads.h: - -obexd/src/log.h: - -obexd/client/transfer.h: - -obexd/client/session.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/arm-linux-gnueabihf/bits/wchar.h: - -obexd/client/driver.h: - -obexd/client/sync.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/obexd/client/.deps/obexd-transfer.Po b/GRIB_BLE_HUB/libs/ble_extend/obexd/client/.deps/obexd-transfer.Po deleted file mode 100644 index d10c026..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/obexd/client/.deps/obexd-transfer.Po +++ /dev/null @@ -1,528 +0,0 @@ -obexd/client/obexd-transfer.o: obexd/client/transfer.c \ - /usr/include/stdc-predef.h config.h /usr/include/stdlib.h \ - /usr/include/features.h /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/include/arm-linux-gnueabihf/bits/waitflags.h \ - /usr/include/arm-linux-gnueabihf/bits/waitstatus.h /usr/include/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/xlocale.h /usr/include/arm-linux-gnueabihf/sys/types.h \ - /usr/include/time.h /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/alloca.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-float.h \ - /usr/include/stdio.h /usr/include/libio.h /usr/include/_G_config.h \ - /usr/include/wchar.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/sys_errlist.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio.h /usr/include/errno.h \ - /usr/include/arm-linux-gnueabihf/bits/errno.h /usr/include/linux/errno.h \ - /usr/include/arm-linux-gnueabihf/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/include/fcntl.h /usr/include/arm-linux-gnueabihf/bits/fcntl.h \ - /usr/include/arm-linux-gnueabihf/bits/fcntl-linux.h \ - /usr/include/arm-linux-gnueabihf/bits/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/stat.h /usr/include/unistd.h \ - /usr/include/arm-linux-gnueabihf/bits/posix_opt.h \ - /usr/include/arm-linux-gnueabihf/bits/environments.h \ - /usr/include/arm-linux-gnueabihf/bits/confname.h /usr/include/getopt.h \ - /usr/include/string.h /usr/include/arm-linux-gnueabihf/bits/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string2.h \ - /usr/include/arm-linux-gnueabihf/sys/stat.h /usr/include/inttypes.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h \ - /usr/include/stdint.h /usr/include/arm-linux-gnueabihf/bits/wchar.h \ - /usr/include/glib-2.0/glib.h /usr/include/glib-2.0/glib/galloca.h \ - /usr/include/glib-2.0/glib/gtypes.h \ - /usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h \ - /usr/include/glib-2.0/glib/gmacros.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h \ - /usr/include/limits.h /usr/include/arm-linux-gnueabihf/bits/posix1_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/local_lim.h \ - /usr/include/linux/limits.h \ - /usr/include/arm-linux-gnueabihf/bits/posix2_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/xopen_lim.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h \ - /usr/include/glib-2.0/glib/gversionmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/timex.h \ - /usr/include/glib-2.0/glib/garray.h \ - /usr/include/glib-2.0/glib/gasyncqueue.h \ - /usr/include/glib-2.0/glib/gthread.h \ - /usr/include/glib-2.0/glib/gatomic.h /usr/include/glib-2.0/glib/gerror.h \ - /usr/include/glib-2.0/glib/gquark.h \ - /usr/include/glib-2.0/glib/gbacktrace.h /usr/include/signal.h \ - /usr/include/arm-linux-gnueabihf/bits/signum.h \ - /usr/include/arm-linux-gnueabihf/bits/siginfo.h \ - /usr/include/arm-linux-gnueabihf/bits/sigaction.h \ - /usr/include/arm-linux-gnueabihf/bits/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/asm/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigstack.h \ - /usr/include/arm-linux-gnueabihf/sys/ucontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigthread.h \ - /usr/include/glib-2.0/glib/gbase64.h \ - /usr/include/glib-2.0/glib/gbitlock.h \ - /usr/include/glib-2.0/glib/gbookmarkfile.h \ - /usr/include/glib-2.0/glib/gbytes.h \ - /usr/include/glib-2.0/glib/gcharset.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/gconvert.h \ - /usr/include/glib-2.0/glib/gdataset.h /usr/include/glib-2.0/glib/gdate.h \ - /usr/include/glib-2.0/glib/gdatetime.h \ - /usr/include/glib-2.0/glib/gtimezone.h /usr/include/glib-2.0/glib/gdir.h \ - /usr/include/dirent.h /usr/include/arm-linux-gnueabihf/bits/dirent.h \ - /usr/include/glib-2.0/glib/genviron.h \ - /usr/include/glib-2.0/glib/gfileutils.h \ - /usr/include/glib-2.0/glib/ggettext.h /usr/include/glib-2.0/glib/ghash.h \ - /usr/include/glib-2.0/glib/glist.h /usr/include/glib-2.0/glib/gmem.h \ - /usr/include/glib-2.0/glib/gnode.h /usr/include/glib-2.0/glib/ghmac.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/ghook.h \ - /usr/include/glib-2.0/glib/ghostutils.h \ - /usr/include/glib-2.0/glib/giochannel.h \ - /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gpoll.h \ - /usr/include/glib-2.0/glib/gslist.h /usr/include/glib-2.0/glib/gstring.h \ - /usr/include/glib-2.0/glib/gunicode.h \ - /usr/include/glib-2.0/glib/gutils.h \ - /usr/include/glib-2.0/glib/gkeyfile.h \ - /usr/include/glib-2.0/glib/gmappedfile.h \ - /usr/include/glib-2.0/glib/gmarkup.h \ - /usr/include/glib-2.0/glib/gmessages.h \ - /usr/include/glib-2.0/glib/goption.h \ - /usr/include/glib-2.0/glib/gpattern.h \ - /usr/include/glib-2.0/glib/gprimes.h /usr/include/glib-2.0/glib/gqsort.h \ - /usr/include/glib-2.0/glib/gqueue.h /usr/include/glib-2.0/glib/grand.h \ - /usr/include/glib-2.0/glib/gregex.h \ - /usr/include/glib-2.0/glib/gscanner.h \ - /usr/include/glib-2.0/glib/gsequence.h \ - /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gslice.h \ - /usr/include/glib-2.0/glib/gspawn.h \ - /usr/include/glib-2.0/glib/gstrfuncs.h \ - /usr/include/glib-2.0/glib/gstringchunk.h \ - /usr/include/glib-2.0/glib/gtestutils.h \ - /usr/include/glib-2.0/glib/gthreadpool.h \ - /usr/include/glib-2.0/glib/gtimer.h \ - /usr/include/glib-2.0/glib/gtrashstack.h \ - /usr/include/glib-2.0/glib/gtree.h \ - /usr/include/glib-2.0/glib/gurifuncs.h \ - /usr/include/glib-2.0/glib/gvarianttype.h \ - /usr/include/glib-2.0/glib/gvariant.h \ - /usr/include/glib-2.0/glib/gversion.h \ - /usr/include/glib-2.0/glib/deprecated/gallocator.h \ - /usr/include/glib-2.0/glib/deprecated/gcache.h \ - /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ - /usr/include/glib-2.0/glib/deprecated/gmain.h \ - /usr/include/glib-2.0/glib/deprecated/grel.h \ - /usr/include/glib-2.0/glib/deprecated/gthread.h /usr/include/pthread.h \ - /usr/include/sched.h /usr/include/arm-linux-gnueabihf/bits/sched.h \ - /usr/include/arm-linux-gnueabihf/bits/setjmp.h gdbus/gdbus.h \ - /usr/include/dbus-1.0/dbus/dbus.h \ - /usr/lib/arm-linux-gnueabihf/dbus-1.0/include/dbus/dbus-arch-deps.h \ - /usr/include/dbus-1.0/dbus/dbus-macros.h \ - /usr/include/dbus-1.0/dbus/dbus-address.h \ - /usr/include/dbus-1.0/dbus/dbus-types.h \ - /usr/include/dbus-1.0/dbus/dbus-errors.h \ - /usr/include/dbus-1.0/dbus/dbus-protocol.h \ - /usr/include/dbus-1.0/dbus/dbus-bus.h \ - /usr/include/dbus-1.0/dbus/dbus-connection.h \ - /usr/include/dbus-1.0/dbus/dbus-memory.h \ - /usr/include/dbus-1.0/dbus/dbus-message.h \ - /usr/include/dbus-1.0/dbus/dbus-shared.h \ - /usr/include/dbus-1.0/dbus/dbus-misc.h \ - /usr/include/dbus-1.0/dbus/dbus-pending-call.h \ - /usr/include/dbus-1.0/dbus/dbus-server.h \ - /usr/include/dbus-1.0/dbus/dbus-signature.h \ - /usr/include/dbus-1.0/dbus/dbus-syntax.h \ - /usr/include/dbus-1.0/dbus/dbus-threads.h gobex/gobex.h \ - gobex/gobex-defs.h gobex/gobex-packet.h gobex/gobex-header.h \ - gobex/gobex-apparam.h obexd/client/dbus.h obexd/src/log.h \ - obexd/client/transfer.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/include/stdlib.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/include/arm-linux-gnueabihf/bits/waitflags.h: - -/usr/include/arm-linux-gnueabihf/bits/waitstatus.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/xlocale.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/time.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/alloca.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-float.h: - -/usr/include/stdio.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/sys_errlist.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio.h: - -/usr/include/errno.h: - -/usr/include/arm-linux-gnueabihf/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/arm-linux-gnueabihf/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/include/fcntl.h: - -/usr/include/arm-linux-gnueabihf/bits/fcntl.h: - -/usr/include/arm-linux-gnueabihf/bits/fcntl-linux.h: - -/usr/include/arm-linux-gnueabihf/bits/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/stat.h: - -/usr/include/unistd.h: - -/usr/include/arm-linux-gnueabihf/bits/posix_opt.h: - -/usr/include/arm-linux-gnueabihf/bits/environments.h: - -/usr/include/arm-linux-gnueabihf/bits/confname.h: - -/usr/include/getopt.h: - -/usr/include/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string2.h: - -/usr/include/arm-linux-gnueabihf/sys/stat.h: - -/usr/include/inttypes.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/arm-linux-gnueabihf/bits/wchar.h: - -/usr/include/glib-2.0/glib.h: - -/usr/include/glib-2.0/glib/galloca.h: - -/usr/include/glib-2.0/glib/gtypes.h: - -/usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h: - -/usr/include/glib-2.0/glib/gmacros.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h: - -/usr/include/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/local_lim.h: - -/usr/include/linux/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix2_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/xopen_lim.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h: - -/usr/include/glib-2.0/glib/gversionmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/timex.h: - -/usr/include/glib-2.0/glib/garray.h: - -/usr/include/glib-2.0/glib/gasyncqueue.h: - -/usr/include/glib-2.0/glib/gthread.h: - -/usr/include/glib-2.0/glib/gatomic.h: - -/usr/include/glib-2.0/glib/gerror.h: - -/usr/include/glib-2.0/glib/gquark.h: - -/usr/include/glib-2.0/glib/gbacktrace.h: - -/usr/include/signal.h: - -/usr/include/arm-linux-gnueabihf/bits/signum.h: - -/usr/include/arm-linux-gnueabihf/bits/siginfo.h: - -/usr/include/arm-linux-gnueabihf/bits/sigaction.h: - -/usr/include/arm-linux-gnueabihf/bits/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/asm/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigstack.h: - -/usr/include/arm-linux-gnueabihf/sys/ucontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigthread.h: - -/usr/include/glib-2.0/glib/gbase64.h: - -/usr/include/glib-2.0/glib/gbitlock.h: - -/usr/include/glib-2.0/glib/gbookmarkfile.h: - -/usr/include/glib-2.0/glib/gbytes.h: - -/usr/include/glib-2.0/glib/gcharset.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/gconvert.h: - -/usr/include/glib-2.0/glib/gdataset.h: - -/usr/include/glib-2.0/glib/gdate.h: - -/usr/include/glib-2.0/glib/gdatetime.h: - -/usr/include/glib-2.0/glib/gtimezone.h: - -/usr/include/glib-2.0/glib/gdir.h: - -/usr/include/dirent.h: - -/usr/include/arm-linux-gnueabihf/bits/dirent.h: - -/usr/include/glib-2.0/glib/genviron.h: - -/usr/include/glib-2.0/glib/gfileutils.h: - -/usr/include/glib-2.0/glib/ggettext.h: - -/usr/include/glib-2.0/glib/ghash.h: - -/usr/include/glib-2.0/glib/glist.h: - -/usr/include/glib-2.0/glib/gmem.h: - -/usr/include/glib-2.0/glib/gnode.h: - -/usr/include/glib-2.0/glib/ghmac.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/ghook.h: - -/usr/include/glib-2.0/glib/ghostutils.h: - -/usr/include/glib-2.0/glib/giochannel.h: - -/usr/include/glib-2.0/glib/gmain.h: - -/usr/include/glib-2.0/glib/gpoll.h: - -/usr/include/glib-2.0/glib/gslist.h: - -/usr/include/glib-2.0/glib/gstring.h: - -/usr/include/glib-2.0/glib/gunicode.h: - -/usr/include/glib-2.0/glib/gutils.h: - -/usr/include/glib-2.0/glib/gkeyfile.h: - -/usr/include/glib-2.0/glib/gmappedfile.h: - -/usr/include/glib-2.0/glib/gmarkup.h: - -/usr/include/glib-2.0/glib/gmessages.h: - -/usr/include/glib-2.0/glib/goption.h: - -/usr/include/glib-2.0/glib/gpattern.h: - -/usr/include/glib-2.0/glib/gprimes.h: - -/usr/include/glib-2.0/glib/gqsort.h: - -/usr/include/glib-2.0/glib/gqueue.h: - -/usr/include/glib-2.0/glib/grand.h: - -/usr/include/glib-2.0/glib/gregex.h: - -/usr/include/glib-2.0/glib/gscanner.h: - -/usr/include/glib-2.0/glib/gsequence.h: - -/usr/include/glib-2.0/glib/gshell.h: - -/usr/include/glib-2.0/glib/gslice.h: - -/usr/include/glib-2.0/glib/gspawn.h: - -/usr/include/glib-2.0/glib/gstrfuncs.h: - -/usr/include/glib-2.0/glib/gstringchunk.h: - -/usr/include/glib-2.0/glib/gtestutils.h: - -/usr/include/glib-2.0/glib/gthreadpool.h: - -/usr/include/glib-2.0/glib/gtimer.h: - -/usr/include/glib-2.0/glib/gtrashstack.h: - -/usr/include/glib-2.0/glib/gtree.h: - -/usr/include/glib-2.0/glib/gurifuncs.h: - -/usr/include/glib-2.0/glib/gvarianttype.h: - -/usr/include/glib-2.0/glib/gvariant.h: - -/usr/include/glib-2.0/glib/gversion.h: - -/usr/include/glib-2.0/glib/deprecated/gallocator.h: - -/usr/include/glib-2.0/glib/deprecated/gcache.h: - -/usr/include/glib-2.0/glib/deprecated/gcompletion.h: - -/usr/include/glib-2.0/glib/deprecated/gmain.h: - -/usr/include/glib-2.0/glib/deprecated/grel.h: - -/usr/include/glib-2.0/glib/deprecated/gthread.h: - -/usr/include/pthread.h: - -/usr/include/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/setjmp.h: - -gdbus/gdbus.h: - -/usr/include/dbus-1.0/dbus/dbus.h: - -/usr/lib/arm-linux-gnueabihf/dbus-1.0/include/dbus/dbus-arch-deps.h: - -/usr/include/dbus-1.0/dbus/dbus-macros.h: - -/usr/include/dbus-1.0/dbus/dbus-address.h: - -/usr/include/dbus-1.0/dbus/dbus-types.h: - -/usr/include/dbus-1.0/dbus/dbus-errors.h: - -/usr/include/dbus-1.0/dbus/dbus-protocol.h: - -/usr/include/dbus-1.0/dbus/dbus-bus.h: - -/usr/include/dbus-1.0/dbus/dbus-connection.h: - -/usr/include/dbus-1.0/dbus/dbus-memory.h: - -/usr/include/dbus-1.0/dbus/dbus-message.h: - -/usr/include/dbus-1.0/dbus/dbus-shared.h: - -/usr/include/dbus-1.0/dbus/dbus-misc.h: - -/usr/include/dbus-1.0/dbus/dbus-pending-call.h: - -/usr/include/dbus-1.0/dbus/dbus-server.h: - -/usr/include/dbus-1.0/dbus/dbus-signature.h: - -/usr/include/dbus-1.0/dbus/dbus-syntax.h: - -/usr/include/dbus-1.0/dbus/dbus-threads.h: - -gobex/gobex.h: - -gobex/gobex-defs.h: - -gobex/gobex-packet.h: - -gobex/gobex-header.h: - -gobex/gobex-apparam.h: - -obexd/client/dbus.h: - -obexd/src/log.h: - -obexd/client/transfer.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/obexd/client/.deps/obexd-transport.Po b/GRIB_BLE_HUB/libs/ble_extend/obexd/client/.deps/obexd-transport.Po deleted file mode 100644 index 9629349..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/obexd/client/.deps/obexd-transport.Po +++ /dev/null @@ -1,397 +0,0 @@ -obexd/client/obexd-transport.o: obexd/client/transport.c \ - /usr/include/stdc-predef.h config.h /usr/include/string.h \ - /usr/include/features.h /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/include/xlocale.h /usr/include/arm-linux-gnueabihf/bits/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string2.h /usr/include/stdlib.h \ - /usr/include/errno.h /usr/include/arm-linux-gnueabihf/bits/errno.h \ - /usr/include/linux/errno.h /usr/include/arm-linux-gnueabihf/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/include/glib-2.0/glib.h /usr/include/glib-2.0/glib/galloca.h \ - /usr/include/glib-2.0/glib/gtypes.h \ - /usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h \ - /usr/include/glib-2.0/glib/gmacros.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h \ - /usr/include/limits.h /usr/include/arm-linux-gnueabihf/bits/posix1_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/local_lim.h \ - /usr/include/linux/limits.h \ - /usr/include/arm-linux-gnueabihf/bits/posix2_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/xopen_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h \ - /usr/include/glib-2.0/glib/gversionmacros.h /usr/include/time.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h \ - /usr/include/arm-linux-gnueabihf/bits/timex.h \ - /usr/include/glib-2.0/glib/garray.h \ - /usr/include/glib-2.0/glib/gasyncqueue.h \ - /usr/include/glib-2.0/glib/gthread.h \ - /usr/include/glib-2.0/glib/gatomic.h /usr/include/glib-2.0/glib/gerror.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/glib-2.0/glib/gquark.h \ - /usr/include/glib-2.0/glib/gbacktrace.h /usr/include/signal.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/signum.h \ - /usr/include/arm-linux-gnueabihf/bits/siginfo.h \ - /usr/include/arm-linux-gnueabihf/bits/sigaction.h \ - /usr/include/arm-linux-gnueabihf/bits/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/asm/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigstack.h \ - /usr/include/arm-linux-gnueabihf/sys/ucontext.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/endian.h /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/arm-linux-gnueabihf/bits/sigthread.h \ - /usr/include/glib-2.0/glib/gbase64.h \ - /usr/include/glib-2.0/glib/gbitlock.h \ - /usr/include/glib-2.0/glib/gbookmarkfile.h \ - /usr/include/glib-2.0/glib/gbytes.h \ - /usr/include/glib-2.0/glib/gcharset.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/gconvert.h \ - /usr/include/glib-2.0/glib/gdataset.h /usr/include/glib-2.0/glib/gdate.h \ - /usr/include/glib-2.0/glib/gdatetime.h \ - /usr/include/glib-2.0/glib/gtimezone.h /usr/include/glib-2.0/glib/gdir.h \ - /usr/include/dirent.h /usr/include/arm-linux-gnueabihf/bits/dirent.h \ - /usr/include/glib-2.0/glib/genviron.h \ - /usr/include/glib-2.0/glib/gfileutils.h \ - /usr/include/glib-2.0/glib/ggettext.h /usr/include/glib-2.0/glib/ghash.h \ - /usr/include/glib-2.0/glib/glist.h /usr/include/glib-2.0/glib/gmem.h \ - /usr/include/glib-2.0/glib/gnode.h /usr/include/glib-2.0/glib/ghmac.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/ghook.h \ - /usr/include/glib-2.0/glib/ghostutils.h \ - /usr/include/glib-2.0/glib/giochannel.h \ - /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gpoll.h \ - /usr/include/glib-2.0/glib/gslist.h /usr/include/glib-2.0/glib/gstring.h \ - /usr/include/glib-2.0/glib/gunicode.h \ - /usr/include/glib-2.0/glib/gutils.h \ - /usr/include/glib-2.0/glib/gkeyfile.h \ - /usr/include/glib-2.0/glib/gmappedfile.h \ - /usr/include/glib-2.0/glib/gmarkup.h \ - /usr/include/glib-2.0/glib/gmessages.h \ - /usr/include/glib-2.0/glib/goption.h \ - /usr/include/glib-2.0/glib/gpattern.h \ - /usr/include/glib-2.0/glib/gprimes.h /usr/include/glib-2.0/glib/gqsort.h \ - /usr/include/glib-2.0/glib/gqueue.h /usr/include/glib-2.0/glib/grand.h \ - /usr/include/glib-2.0/glib/gregex.h \ - /usr/include/glib-2.0/glib/gscanner.h \ - /usr/include/glib-2.0/glib/gsequence.h \ - /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gslice.h \ - /usr/include/glib-2.0/glib/gspawn.h \ - /usr/include/glib-2.0/glib/gstrfuncs.h \ - /usr/include/glib-2.0/glib/gstringchunk.h \ - /usr/include/glib-2.0/glib/gtestutils.h \ - /usr/include/glib-2.0/glib/gthreadpool.h \ - /usr/include/glib-2.0/glib/gtimer.h \ - /usr/include/glib-2.0/glib/gtrashstack.h \ - /usr/include/glib-2.0/glib/gtree.h \ - /usr/include/glib-2.0/glib/gurifuncs.h \ - /usr/include/glib-2.0/glib/gvarianttype.h \ - /usr/include/glib-2.0/glib/gvariant.h \ - /usr/include/glib-2.0/glib/gversion.h \ - /usr/include/glib-2.0/glib/deprecated/gallocator.h \ - /usr/include/glib-2.0/glib/deprecated/gcache.h \ - /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ - /usr/include/glib-2.0/glib/deprecated/gmain.h \ - /usr/include/glib-2.0/glib/deprecated/grel.h \ - /usr/include/glib-2.0/glib/deprecated/gthread.h \ - /usr/include/arm-linux-gnueabihf/sys/types.h \ - /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h /usr/include/pthread.h \ - /usr/include/sched.h /usr/include/arm-linux-gnueabihf/bits/sched.h \ - /usr/include/arm-linux-gnueabihf/bits/setjmp.h /usr/include/inttypes.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h \ - /usr/include/stdint.h /usr/include/arm-linux-gnueabihf/bits/wchar.h \ - obexd/client/transport.h obexd/src/log.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/include/string.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/include/xlocale.h: - -/usr/include/arm-linux-gnueabihf/bits/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string2.h: - -/usr/include/stdlib.h: - -/usr/include/errno.h: - -/usr/include/arm-linux-gnueabihf/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/arm-linux-gnueabihf/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/include/glib-2.0/glib.h: - -/usr/include/glib-2.0/glib/galloca.h: - -/usr/include/glib-2.0/glib/gtypes.h: - -/usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h: - -/usr/include/glib-2.0/glib/gmacros.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h: - -/usr/include/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/local_lim.h: - -/usr/include/linux/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix2_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/xopen_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h: - -/usr/include/glib-2.0/glib/gversionmacros.h: - -/usr/include/time.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/arm-linux-gnueabihf/bits/timex.h: - -/usr/include/glib-2.0/glib/garray.h: - -/usr/include/glib-2.0/glib/gasyncqueue.h: - -/usr/include/glib-2.0/glib/gthread.h: - -/usr/include/glib-2.0/glib/gatomic.h: - -/usr/include/glib-2.0/glib/gerror.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/glib-2.0/glib/gquark.h: - -/usr/include/glib-2.0/glib/gbacktrace.h: - -/usr/include/signal.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/signum.h: - -/usr/include/arm-linux-gnueabihf/bits/siginfo.h: - -/usr/include/arm-linux-gnueabihf/bits/sigaction.h: - -/usr/include/arm-linux-gnueabihf/bits/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/asm/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigstack.h: - -/usr/include/arm-linux-gnueabihf/sys/ucontext.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/arm-linux-gnueabihf/bits/sigthread.h: - -/usr/include/glib-2.0/glib/gbase64.h: - -/usr/include/glib-2.0/glib/gbitlock.h: - -/usr/include/glib-2.0/glib/gbookmarkfile.h: - -/usr/include/glib-2.0/glib/gbytes.h: - -/usr/include/glib-2.0/glib/gcharset.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/gconvert.h: - -/usr/include/glib-2.0/glib/gdataset.h: - -/usr/include/glib-2.0/glib/gdate.h: - -/usr/include/glib-2.0/glib/gdatetime.h: - -/usr/include/glib-2.0/glib/gtimezone.h: - -/usr/include/glib-2.0/glib/gdir.h: - -/usr/include/dirent.h: - -/usr/include/arm-linux-gnueabihf/bits/dirent.h: - -/usr/include/glib-2.0/glib/genviron.h: - -/usr/include/glib-2.0/glib/gfileutils.h: - -/usr/include/glib-2.0/glib/ggettext.h: - -/usr/include/glib-2.0/glib/ghash.h: - -/usr/include/glib-2.0/glib/glist.h: - -/usr/include/glib-2.0/glib/gmem.h: - -/usr/include/glib-2.0/glib/gnode.h: - -/usr/include/glib-2.0/glib/ghmac.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/ghook.h: - -/usr/include/glib-2.0/glib/ghostutils.h: - -/usr/include/glib-2.0/glib/giochannel.h: - -/usr/include/glib-2.0/glib/gmain.h: - -/usr/include/glib-2.0/glib/gpoll.h: - -/usr/include/glib-2.0/glib/gslist.h: - -/usr/include/glib-2.0/glib/gstring.h: - -/usr/include/glib-2.0/glib/gunicode.h: - -/usr/include/glib-2.0/glib/gutils.h: - -/usr/include/glib-2.0/glib/gkeyfile.h: - -/usr/include/glib-2.0/glib/gmappedfile.h: - -/usr/include/glib-2.0/glib/gmarkup.h: - -/usr/include/glib-2.0/glib/gmessages.h: - -/usr/include/glib-2.0/glib/goption.h: - -/usr/include/glib-2.0/glib/gpattern.h: - -/usr/include/glib-2.0/glib/gprimes.h: - -/usr/include/glib-2.0/glib/gqsort.h: - -/usr/include/glib-2.0/glib/gqueue.h: - -/usr/include/glib-2.0/glib/grand.h: - -/usr/include/glib-2.0/glib/gregex.h: - -/usr/include/glib-2.0/glib/gscanner.h: - -/usr/include/glib-2.0/glib/gsequence.h: - -/usr/include/glib-2.0/glib/gshell.h: - -/usr/include/glib-2.0/glib/gslice.h: - -/usr/include/glib-2.0/glib/gspawn.h: - -/usr/include/glib-2.0/glib/gstrfuncs.h: - -/usr/include/glib-2.0/glib/gstringchunk.h: - -/usr/include/glib-2.0/glib/gtestutils.h: - -/usr/include/glib-2.0/glib/gthreadpool.h: - -/usr/include/glib-2.0/glib/gtimer.h: - -/usr/include/glib-2.0/glib/gtrashstack.h: - -/usr/include/glib-2.0/glib/gtree.h: - -/usr/include/glib-2.0/glib/gurifuncs.h: - -/usr/include/glib-2.0/glib/gvarianttype.h: - -/usr/include/glib-2.0/glib/gvariant.h: - -/usr/include/glib-2.0/glib/gversion.h: - -/usr/include/glib-2.0/glib/deprecated/gallocator.h: - -/usr/include/glib-2.0/glib/deprecated/gcache.h: - -/usr/include/glib-2.0/glib/deprecated/gcompletion.h: - -/usr/include/glib-2.0/glib/deprecated/gmain.h: - -/usr/include/glib-2.0/glib/deprecated/grel.h: - -/usr/include/glib-2.0/glib/deprecated/gthread.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/pthread.h: - -/usr/include/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/setjmp.h: - -/usr/include/inttypes.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/arm-linux-gnueabihf/bits/wchar.h: - -obexd/client/transport.h: - -obexd/src/log.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/obexd/client/.dirstamp b/GRIB_BLE_HUB/libs/ble_extend/obexd/client/.dirstamp deleted file mode 100644 index e69de29..0000000 diff --git a/GRIB_BLE_HUB/libs/ble_extend/obexd/client/bluetooth.c b/GRIB_BLE_HUB/libs/ble_extend/obexd/client/bluetooth.c deleted file mode 100644 index a832a3f..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/obexd/client/bluetooth.c +++ /dev/null @@ -1,481 +0,0 @@ -/* - * - * OBEX Client - * - * Copyright (C) 2012 Intel Corporation - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include - -#include -#include -#include - -#include -#include -#include -#include - -#include "log.h" -#include "transport.h" -#include "bluetooth.h" - -#define BT_RX_MTU 32767 -#define BT_TX_MTU 32767 - -#define OBC_BT_ERROR obc_bt_error_quark() - -struct bluetooth_session { - guint id; - bdaddr_t src; - bdaddr_t dst; - uint16_t port; - sdp_session_t *sdp; - GIOChannel *io; - char *service; - obc_transport_func func; - void *user_data; -}; - -static GSList *sessions = NULL; - -static GQuark obc_bt_error_quark(void) -{ - return g_quark_from_static_string("obc-bluetooth-error-quark"); -} - -static void session_destroy(struct bluetooth_session *session) -{ - DBG("%p", session); - - if (g_slist_find(sessions, session) == NULL) - return; - - sessions = g_slist_remove(sessions, session); - - if (session->io != NULL) { - g_io_channel_shutdown(session->io, TRUE, NULL); - g_io_channel_unref(session->io); - } - - if (session->sdp) - sdp_close(session->sdp); - - g_free(session->service); - g_free(session); -} - -static void transport_callback(GIOChannel *io, GError *err, gpointer user_data) -{ - struct bluetooth_session *session = user_data; - - DBG(""); - - if (session->func) - session->func(io, err, session->user_data); - - if (err != NULL) - session_destroy(session); -} - -static GIOChannel *transport_connect(const bdaddr_t *src, const bdaddr_t *dst, - uint16_t port, BtIOConnect function, - gpointer user_data) -{ - GIOChannel *io; - GError *err = NULL; - - DBG("port %u", port); - - if (port > 31) { - io = bt_io_connect(function, user_data, - NULL, &err, - BT_IO_OPT_SOURCE_BDADDR, src, - BT_IO_OPT_DEST_BDADDR, dst, - BT_IO_OPT_PSM, port, - BT_IO_OPT_MODE, BT_IO_MODE_ERTM, - BT_IO_OPT_OMTU, BT_TX_MTU, - BT_IO_OPT_IMTU, BT_RX_MTU, - BT_IO_OPT_SEC_LEVEL, BT_IO_SEC_LOW, - BT_IO_OPT_INVALID); - } else { - io = bt_io_connect(function, user_data, - NULL, &err, - BT_IO_OPT_SOURCE_BDADDR, src, - BT_IO_OPT_DEST_BDADDR, dst, - BT_IO_OPT_CHANNEL, port, - BT_IO_OPT_SEC_LEVEL, BT_IO_SEC_LOW, - BT_IO_OPT_INVALID); - } - - if (io != NULL) - return io; - - error("%s", err->message); - g_error_free(err); - return NULL; -} - -static void search_callback(uint8_t type, uint16_t status, - uint8_t *rsp, size_t size, void *user_data) -{ - struct bluetooth_session *session = user_data; - unsigned int scanned, bytesleft = size; - int seqlen = 0; - uint8_t dataType; - uint16_t port = 0; - GError *gerr = NULL; - - if (status || type != SDP_SVC_SEARCH_ATTR_RSP) - goto failed; - - scanned = sdp_extract_seqtype(rsp, bytesleft, &dataType, &seqlen); - if (!scanned || !seqlen) - goto failed; - - rsp += scanned; - bytesleft -= scanned; - do { - sdp_record_t *rec; - sdp_list_t *protos; - sdp_data_t *data; - int recsize, ch = -1; - - recsize = 0; - rec = sdp_extract_pdu(rsp, bytesleft, &recsize); - if (!rec) - break; - - if (!recsize) { - sdp_record_free(rec); - break; - } - - if (!sdp_get_access_protos(rec, &protos)) { - ch = sdp_get_proto_port(protos, RFCOMM_UUID); - sdp_list_foreach(protos, - (sdp_list_func_t) sdp_list_free, NULL); - sdp_list_free(protos, NULL); - protos = NULL; - } - - data = sdp_data_get(rec, 0x0200); - /* PSM must be odd and lsb of upper byte must be 0 */ - if (data != NULL && (data->val.uint16 & 0x0101) == 0x0001) - ch = data->val.uint16; - - sdp_record_free(rec); - - if (ch > 0) { - port = ch; - break; - } - - scanned += recsize; - rsp += recsize; - bytesleft -= recsize; - } while (scanned < size && bytesleft > 0); - - if (port == 0) - goto failed; - - session->port = port; - - g_io_channel_set_close_on_unref(session->io, FALSE); - g_io_channel_unref(session->io); - - session->io = transport_connect(&session->src, &session->dst, port, - transport_callback, session); - if (session->io != NULL) { - sdp_close(session->sdp); - session->sdp = NULL; - return; - } - -failed: - if (session->io != NULL) { - g_io_channel_shutdown(session->io, TRUE, NULL); - g_io_channel_unref(session->io); - session->io = NULL; - } - - g_set_error(&gerr, OBC_BT_ERROR, -EIO, - "Unable to find service record"); - if (session->func) - session->func(session->io, gerr, session->user_data); - - g_clear_error(&gerr); - - session_destroy(session); -} - -static gboolean process_callback(GIOChannel *io, GIOCondition cond, - gpointer user_data) -{ - struct bluetooth_session *session = user_data; - - if (cond & (G_IO_ERR | G_IO_HUP | G_IO_NVAL)) - return FALSE; - - if (sdp_process(session->sdp) < 0) - return FALSE; - - return TRUE; -} - -static int bt_string2uuid(uuid_t *uuid, const char *string) -{ - uint32_t data0, data4; - uint16_t data1, data2, data3, data5; - - if (sscanf(string, "%08x-%04hx-%04hx-%04hx-%08x%04hx", - &data0, &data1, &data2, &data3, &data4, &data5) == 6) { - uint8_t val[16]; - - data0 = g_htonl(data0); - data1 = g_htons(data1); - data2 = g_htons(data2); - data3 = g_htons(data3); - data4 = g_htonl(data4); - data5 = g_htons(data5); - - memcpy(&val[0], &data0, 4); - memcpy(&val[4], &data1, 2); - memcpy(&val[6], &data2, 2); - memcpy(&val[8], &data3, 2); - memcpy(&val[10], &data4, 4); - memcpy(&val[14], &data5, 2); - - sdp_uuid128_create(uuid, val); - - return 0; - } - - return -EINVAL; -} - -static gboolean service_callback(GIOChannel *io, GIOCondition cond, - gpointer user_data) -{ - struct bluetooth_session *session = user_data; - sdp_list_t *search, *attrid; - uint32_t range = 0x0000ffff; - GError *gerr = NULL; - uuid_t uuid; - - if (cond & G_IO_NVAL) - return FALSE; - - if (cond & G_IO_ERR) - goto failed; - - if (sdp_set_notify(session->sdp, search_callback, session) < 0) - goto failed; - - if (bt_string2uuid(&uuid, session->service) < 0) - goto failed; - - search = sdp_list_append(NULL, &uuid); - attrid = sdp_list_append(NULL, &range); - - if (sdp_service_search_attr_async(session->sdp, - search, SDP_ATTR_REQ_RANGE, attrid) < 0) { - sdp_list_free(attrid, NULL); - sdp_list_free(search, NULL); - goto failed; - } - - sdp_list_free(attrid, NULL); - sdp_list_free(search, NULL); - - g_io_add_watch(io, G_IO_IN | G_IO_HUP | G_IO_ERR | G_IO_NVAL, - process_callback, session); - - return FALSE; - -failed: - g_io_channel_shutdown(session->io, TRUE, NULL); - g_io_channel_unref(session->io); - session->io = NULL; - - g_set_error(&gerr, OBC_BT_ERROR, -EIO, - "Unable to find service record"); - if (session->func) - session->func(session->io, gerr, session->user_data); - g_clear_error(&gerr); - - session_destroy(session); - return FALSE; -} - -static sdp_session_t *service_connect(const bdaddr_t *src, const bdaddr_t *dst, - GIOFunc function, gpointer user_data) -{ - struct bluetooth_session *session = user_data; - sdp_session_t *sdp; - GIOChannel *io; - - DBG(""); - - sdp = sdp_connect(src, dst, SDP_NON_BLOCKING); - if (sdp == NULL) - return NULL; - - io = g_io_channel_unix_new(sdp_get_socket(sdp)); - if (io == NULL) { - sdp_close(sdp); - return NULL; - } - - g_io_add_watch(io, G_IO_OUT | G_IO_HUP | G_IO_ERR | G_IO_NVAL, - function, user_data); - - session->io = io; - - return sdp; -} - -static int session_connect(struct bluetooth_session *session) -{ - int err; - - DBG("session %p", session); - - if (session->port > 0) { - session->io = transport_connect(&session->src, &session->dst, - session->port, - transport_callback, - session); - err = (session->io == NULL) ? -EINVAL : 0; - } else { - session->sdp = service_connect(&session->src, &session->dst, - service_callback, session); - err = (session->sdp == NULL) ? -ENOMEM : 0; - } - - return err; -} - -static guint bluetooth_connect(const char *source, const char *destination, - const char *service, uint16_t port, - obc_transport_func func, void *user_data) -{ - struct bluetooth_session *session; - static guint id = 0; - - DBG("src %s dest %s service %s port %u", - source, destination, service, port); - - if (destination == NULL) - return 0; - - session = g_try_malloc0(sizeof(*session)); - if (session == NULL) - return 0; - - session->id = ++id; - session->func = func; - session->port = port; - session->user_data = user_data; - - session->service = g_strdup(service); - str2ba(destination, &session->dst); - str2ba(source, &session->src); - - if (session_connect(session) < 0) { - g_free(session); - return 0; - } - - sessions = g_slist_prepend(sessions, session); - - return session->id; -} - -static void bluetooth_disconnect(guint id) -{ - GSList *l; - - DBG(""); - - for (l = sessions; l; l = l->next) { - struct bluetooth_session *session = l->data; - - if (session->id == id) { - session_destroy(session); - return; - } - } -} - -static int bluetooth_getpacketopt(GIOChannel *io, int *tx_mtu, int *rx_mtu) -{ - int sk = g_io_channel_unix_get_fd(io); - int type; - int omtu = -1; - int imtu = -1; - socklen_t len = sizeof(int); - - DBG(""); - - if (getsockopt(sk, SOL_SOCKET, SO_TYPE, &type, &len) < 0) - return -errno; - - if (type != SOCK_SEQPACKET) - return -EINVAL; - - if (!bt_io_get(io, NULL, BT_IO_OPT_OMTU, &omtu, - BT_IO_OPT_IMTU, &imtu, - BT_IO_OPT_INVALID)) - return -EINVAL; - - if (tx_mtu) - *tx_mtu = omtu; - - if (rx_mtu) - *rx_mtu = imtu; - - return 0; -} - -static struct obc_transport bluetooth = { - .name = "Bluetooth", - .connect = bluetooth_connect, - .getpacketopt = bluetooth_getpacketopt, - .disconnect = bluetooth_disconnect, -}; - -int bluetooth_init(void) -{ - DBG(""); - - return obc_transport_register(&bluetooth); -} - -void bluetooth_exit(void) -{ - DBG(""); - - obc_transport_unregister(&bluetooth); -} diff --git a/GRIB_BLE_HUB/libs/ble_extend/obexd/client/bluetooth.h b/GRIB_BLE_HUB/libs/ble_extend/obexd/client/bluetooth.h deleted file mode 100644 index 968e131..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/obexd/client/bluetooth.h +++ /dev/null @@ -1,25 +0,0 @@ -/* - * - * OBEX Client - * - * Copyright (C) 2011 Intel Corporation - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -int bluetooth_init(void); -void bluetooth_exit(void); diff --git a/GRIB_BLE_HUB/libs/ble_extend/obexd/client/dbus.c b/GRIB_BLE_HUB/libs/ble_extend/obexd/client/dbus.c deleted file mode 100644 index d635a45..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/obexd/client/dbus.c +++ /dev/null @@ -1,174 +0,0 @@ -/* - * - * OBEX Client - * - * Copyright (C) 2008-2011 Intel Corporation. All rights reserved. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include - -#include "log.h" -#include "dbus.h" - -static void append_variant(DBusMessageIter *iter, - int type, void *value) -{ - char sig[2]; - DBusMessageIter valueiter; - - sig[0] = type; - sig[1] = 0; - - dbus_message_iter_open_container(iter, DBUS_TYPE_VARIANT, - sig, &valueiter); - - dbus_message_iter_append_basic(&valueiter, type, value); - - dbus_message_iter_close_container(iter, &valueiter); -} - -void obex_dbus_dict_append(DBusMessageIter *dict, - const char *key, int type, void *value) -{ - DBusMessageIter keyiter; - - if (type == DBUS_TYPE_STRING) { - const char *str = *((const char **) value); - if (str == NULL) - return; - } - - dbus_message_iter_open_container(dict, DBUS_TYPE_DICT_ENTRY, - NULL, &keyiter); - - dbus_message_iter_append_basic(&keyiter, DBUS_TYPE_STRING, &key); - - append_variant(&keyiter, type, value); - - dbus_message_iter_close_container(dict, &keyiter); -} - -static void append_array_variant(DBusMessageIter *iter, int type, void *val) -{ - DBusMessageIter variant, array; - char typesig[2]; - char arraysig[3]; - const char **str_array = *(const char ***) val; - int i; - - arraysig[0] = DBUS_TYPE_ARRAY; - arraysig[1] = typesig[0] = type; - arraysig[2] = typesig[1] = '\0'; - - dbus_message_iter_open_container(iter, DBUS_TYPE_VARIANT, - arraysig, &variant); - - dbus_message_iter_open_container(&variant, DBUS_TYPE_ARRAY, - typesig, &array); - - for (i = 0; str_array[i]; i++) - dbus_message_iter_append_basic(&array, type, - &(str_array[i])); - - dbus_message_iter_close_container(&variant, &array); - - dbus_message_iter_close_container(iter, &variant); -} - -static void append_dict_variant(DBusMessageIter *iter, int type, void *val) -{ - DBusMessageIter variant, array, entry; - char typesig[5]; - char arraysig[6]; - const void **val_array = *(const void ***) val; - int i; - - arraysig[0] = DBUS_TYPE_ARRAY; - arraysig[1] = typesig[0] = DBUS_DICT_ENTRY_BEGIN_CHAR; - arraysig[2] = typesig[1] = DBUS_TYPE_STRING; - arraysig[3] = typesig[2] = type; - arraysig[4] = typesig[3] = DBUS_DICT_ENTRY_END_CHAR; - arraysig[5] = typesig[4] = '\0'; - - dbus_message_iter_open_container(iter, DBUS_TYPE_VARIANT, - arraysig, &variant); - - dbus_message_iter_open_container(&variant, DBUS_TYPE_ARRAY, - typesig, &array); - - for (i = 0; val_array[i]; i += 2) { - dbus_message_iter_open_container(&array, DBUS_TYPE_DICT_ENTRY, - NULL, &entry); - - dbus_message_iter_append_basic(&entry, DBUS_TYPE_STRING, - &(val_array[i + 0])); - - /* - * D-Bus expects a char** or uint8* depending on the type - * given. Since we are dealing with an array through a void** - * (and thus val_array[i] is a pointer) we need to - * differentiate DBUS_TYPE_STRING from the others. The other - * option would be the user to pass the exact type to this - * function, instead of a pointer to it. However in this case - * a cast from type to void* would be needed, which is not - * good. - */ - if (type == DBUS_TYPE_STRING) { - dbus_message_iter_append_basic(&entry, type, - &(val_array[i + 1])); - } else { - dbus_message_iter_append_basic(&entry, type, - val_array[i + 1]); - } - - dbus_message_iter_close_container(&array, &entry); - } - - dbus_message_iter_close_container(&variant, &array); - - dbus_message_iter_close_container(iter, &variant); -} - -int obex_dbus_signal_property_changed(DBusConnection *conn, - const char *path, - const char *interface, - const char *name, - int type, void *value) -{ - DBusMessage *signal; - DBusMessageIter iter; - - signal = dbus_message_new_signal(path, interface, "PropertyChanged"); - if (signal == NULL) { - error("Unable to allocate new %s.PropertyChanged signal", - interface); - return -1; - } - - dbus_message_iter_init_append(signal, &iter); - - dbus_message_iter_append_basic(&iter, DBUS_TYPE_STRING, &name); - - append_variant(&iter, type, value); - - return g_dbus_send_message(conn, signal); -} diff --git a/GRIB_BLE_HUB/libs/ble_extend/obexd/client/dbus.h b/GRIB_BLE_HUB/libs/ble_extend/obexd/client/dbus.h deleted file mode 100644 index 6136bf5..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/obexd/client/dbus.h +++ /dev/null @@ -1,48 +0,0 @@ -/* - * - * OBEX Client - * - * Copyright (C) 2008-2011 Intel Corporation. All rights reserved. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifndef __OBEX_DBUS_H -#define __OBEX_DBUS_H - -#ifdef __cplusplus -extern "C" { -#endif - -#include - -/* Essentially a{sv} */ -#define OBC_PROPERTIES_ARRAY_SIGNATURE DBUS_DICT_ENTRY_BEGIN_CHAR_AS_STRING \ - DBUS_TYPE_STRING_AS_STRING \ - DBUS_TYPE_VARIANT_AS_STRING \ - DBUS_DICT_ENTRY_END_CHAR_AS_STRING - -void obex_dbus_dict_append(DBusMessageIter *dict, const char *key, int type, - void *value); - -int obex_dbus_signal_property_changed(DBusConnection *conn, const char *path, - const char *interface, const char *name, - int type, void *value); - -#ifdef __cplusplus -} -#endif - -#endif /* __OBEX_DBUS_H */ diff --git a/GRIB_BLE_HUB/libs/ble_extend/obexd/client/driver.c b/GRIB_BLE_HUB/libs/ble_extend/obexd/client/driver.c deleted file mode 100644 index a98dcf4..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/obexd/client/driver.c +++ /dev/null @@ -1,87 +0,0 @@ -/* - * - * OBEX Server - * - * Copyright (C) 2007-2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include -#include -#include - -#include "transfer.h" -#include "session.h" -#include "driver.h" -#include "log.h" - -static GSList *drivers = NULL; - -struct obc_driver *obc_driver_find(const char *pattern) -{ - GSList *l; - - for (l = drivers; l; l = l->next) { - struct obc_driver *driver = l->data; - - if (strcasecmp(pattern, driver->service) == 0) - return driver; - - if (strcasecmp(pattern, driver->uuid) == 0) - return driver; - } - - return NULL; -} - -int obc_driver_register(struct obc_driver *driver) -{ - if (!driver) { - error("Invalid driver"); - return -EINVAL; - } - - if (obc_driver_find(driver->service)) { - error("Permission denied: service %s already registered", - driver->service); - return -EPERM; - } - - DBG("driver %p service %s registered", driver, driver->service); - - drivers = g_slist_append(drivers, driver); - - return 0; -} - -void obc_driver_unregister(struct obc_driver *driver) -{ - if (!g_slist_find(drivers, driver)) { - error("Unable to unregister: No such driver %p", driver); - return; - } - - DBG("driver %p service %s unregistered", driver, driver->service); - - drivers = g_slist_remove(drivers, driver); -} diff --git a/GRIB_BLE_HUB/libs/ble_extend/obexd/client/driver.h b/GRIB_BLE_HUB/libs/ble_extend/obexd/client/driver.h deleted file mode 100644 index f1c0646..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/obexd/client/driver.h +++ /dev/null @@ -1,35 +0,0 @@ -/* - * - * OBEX Server - * - * Copyright (C) 2007-2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -struct obc_driver { - const char *service; - const char *uuid; - void *target; - gsize target_len; - int (*probe) (struct obc_session *session); - void (*remove) (struct obc_session *session); -}; - -int obc_driver_register(struct obc_driver *driver); -void obc_driver_unregister(struct obc_driver *driver); -struct obc_driver *obc_driver_find(const char *pattern); diff --git a/GRIB_BLE_HUB/libs/ble_extend/obexd/client/ftp.c b/GRIB_BLE_HUB/libs/ble_extend/obexd/client/ftp.c deleted file mode 100644 index a4cf3fc..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/obexd/client/ftp.c +++ /dev/null @@ -1,511 +0,0 @@ -/* - * - * OBEX Client - * - * Copyright (C) 2007-2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include - -#include - -#include "dbus.h" -#include "log.h" - -#include "transfer.h" -#include "session.h" -#include "driver.h" -#include "ftp.h" - -#define OBEX_FTP_UUID \ - "\xF9\xEC\x7B\xC4\x95\x3C\x11\xD2\x98\x4E\x52\x54\x00\xDC\x9E\x09" -#define OBEX_FTP_UUID_LEN 16 - -#define FTP_INTERFACE "org.bluez.obex.FileTransfer1" -#define ERROR_INTERFACE "org.bluez.obex.Error" -#define FTP_UUID "00001106-0000-1000-8000-00805f9b34fb" -#define PCSUITE_UUID "00005005-0000-1000-8000-0002ee000001" - -static DBusConnection *conn = NULL; - -struct ftp_data { - struct obc_session *session; -}; - -static void async_cb(struct obc_session *session, struct obc_transfer *transfer, - GError *err, void *user_data) -{ - DBusMessage *reply, *msg = user_data; - - if (err != NULL) - reply = g_dbus_create_error(msg, ERROR_INTERFACE ".Failed", - "%s", err->message); - else - reply = dbus_message_new_method_return(msg); - - g_dbus_send_message(conn, reply); - dbus_message_unref(msg); -} - -static DBusMessage *change_folder(DBusConnection *connection, - DBusMessage *message, void *user_data) -{ - struct ftp_data *ftp = user_data; - struct obc_session *session = ftp->session; - const char *folder; - GError *err = NULL; - - if (dbus_message_get_args(message, NULL, - DBUS_TYPE_STRING, &folder, - DBUS_TYPE_INVALID) == FALSE) - return g_dbus_create_error(message, - ERROR_INTERFACE ".InvalidArguments", NULL); - - obc_session_setpath(session, folder, async_cb, message, &err); - if (err != NULL) { - DBusMessage *reply; - reply = g_dbus_create_error(message, - ERROR_INTERFACE ".Failed", - "%s", err->message); - g_error_free(err); - return reply; - } - - dbus_message_ref(message); - - return NULL; -} - -static void xml_element(GMarkupParseContext *ctxt, - const char *element, - const char **names, - const char **values, - gpointer user_data, - GError **gerr) -{ - DBusMessageIter dict, *iter = user_data; - char *key; - gint i; - - if (strcasecmp("folder", element) != 0 && strcasecmp("file", element) != 0) - return; - - dbus_message_iter_open_container(iter, DBUS_TYPE_ARRAY, - DBUS_DICT_ENTRY_BEGIN_CHAR_AS_STRING - DBUS_TYPE_STRING_AS_STRING DBUS_TYPE_VARIANT_AS_STRING - DBUS_DICT_ENTRY_END_CHAR_AS_STRING, &dict); - - obex_dbus_dict_append(&dict, "Type", DBUS_TYPE_STRING, &element); - - /* FIXME: User, Group, Other permission must be reviewed */ - - i = 0; - for (key = (char *) names[i]; key; key = (char *) names[++i]) { - key[0] = g_ascii_toupper(key[0]); - if (g_str_equal("Size", key) == TRUE) { - guint64 size; - size = g_ascii_strtoll(values[i], NULL, 10); - obex_dbus_dict_append(&dict, key, DBUS_TYPE_UINT64, - &size); - } else - obex_dbus_dict_append(&dict, key, DBUS_TYPE_STRING, - &values[i]); - } - - dbus_message_iter_close_container(iter, &dict); -} - -static const GMarkupParser parser = { - xml_element, - NULL, - NULL, - NULL, - NULL -}; - -static void list_folder_callback(struct obc_session *session, - struct obc_transfer *transfer, - GError *err, void *user_data) -{ - DBusMessage *msg = user_data; - GMarkupParseContext *ctxt; - DBusMessage *reply; - DBusMessageIter iter, array; - char *contents; - size_t size; - - reply = dbus_message_new_method_return(msg); - - if (obc_transfer_get_contents(transfer, &contents, &size) < 0) - goto done; - - dbus_message_iter_init_append(reply, &iter); - dbus_message_iter_open_container(&iter, DBUS_TYPE_ARRAY, - DBUS_TYPE_ARRAY_AS_STRING - DBUS_DICT_ENTRY_BEGIN_CHAR_AS_STRING - DBUS_TYPE_STRING_AS_STRING DBUS_TYPE_VARIANT_AS_STRING - DBUS_DICT_ENTRY_END_CHAR_AS_STRING, &array); - ctxt = g_markup_parse_context_new(&parser, 0, &array, NULL); - g_markup_parse_context_parse(ctxt, contents, size, NULL); - g_markup_parse_context_free(ctxt); - dbus_message_iter_close_container(&iter, &array); - g_free(contents); - -done: - g_dbus_send_message(conn, reply); - dbus_message_unref(msg); -} - -static DBusMessage *create_folder(DBusConnection *connection, - DBusMessage *message, void *user_data) -{ - struct ftp_data *ftp = user_data; - struct obc_session *session = ftp->session; - const char *folder; - GError *err = NULL; - - if (dbus_message_get_args(message, NULL, - DBUS_TYPE_STRING, &folder, - DBUS_TYPE_INVALID) == FALSE) - return g_dbus_create_error(message, - ERROR_INTERFACE ".InvalidArguments", NULL); - - obc_session_mkdir(session, folder, async_cb, message, &err); - if (err != NULL) { - DBusMessage *reply; - reply = g_dbus_create_error(message, - ERROR_INTERFACE ".Failed", - "%s", err->message); - g_error_free(err); - return reply; - } - - dbus_message_ref(message); - - return NULL; -} - -static DBusMessage *list_folder(DBusConnection *connection, - DBusMessage *message, void *user_data) -{ - struct ftp_data *ftp = user_data; - struct obc_session *session = ftp->session; - struct obc_transfer *transfer; - GError *err = NULL; - DBusMessage *reply; - - transfer = obc_transfer_get("x-obex/folder-listing", NULL, NULL, &err); - if (transfer == NULL) - goto fail; - - if (obc_session_queue(session, transfer, list_folder_callback, - message, &err)) { - dbus_message_ref(message); - return NULL; - } - -fail: - reply = g_dbus_create_error(message, ERROR_INTERFACE ".Failed", "%s", - err->message); - g_error_free(err); - return reply; -} - -static DBusMessage *get_file(DBusConnection *connection, - DBusMessage *message, void *user_data) -{ - struct ftp_data *ftp = user_data; - struct obc_session *session = ftp->session; - struct obc_transfer *transfer; - const char *target_file, *source_file; - GError *err = NULL; - DBusMessage *reply; - - if (dbus_message_get_args(message, NULL, - DBUS_TYPE_STRING, &target_file, - DBUS_TYPE_STRING, &source_file, - DBUS_TYPE_INVALID) == FALSE) - return g_dbus_create_error(message, - ERROR_INTERFACE ".InvalidArguments", NULL); - - transfer = obc_transfer_get(NULL, source_file, target_file, &err); - if (transfer == NULL) - goto fail; - - if (!obc_session_queue(session, transfer, NULL, NULL, &err)) - goto fail; - - return obc_transfer_create_dbus_reply(transfer, message); - -fail: - reply = g_dbus_create_error(message, ERROR_INTERFACE ".Failed", "%s", - err->message); - g_error_free(err); - return reply; -} - -static DBusMessage *put_file(DBusConnection *connection, - DBusMessage *message, void *user_data) -{ - struct ftp_data *ftp = user_data; - struct obc_session *session = ftp->session; - struct obc_transfer *transfer; - char *sourcefile, *targetfile; - GError *err = NULL; - DBusMessage *reply; - - if (dbus_message_get_args(message, NULL, - DBUS_TYPE_STRING, &sourcefile, - DBUS_TYPE_STRING, &targetfile, - DBUS_TYPE_INVALID) == FALSE) - return g_dbus_create_error(message, - ERROR_INTERFACE ".InvalidArguments", - "Invalid arguments in method call"); - - transfer = obc_transfer_put(NULL, targetfile, sourcefile, NULL, 0, - &err); - if (transfer == NULL) - goto fail; - - if (!obc_session_queue(session, transfer, NULL, NULL, &err)) - goto fail; - - return obc_transfer_create_dbus_reply(transfer, message); - -fail: - reply = g_dbus_create_error(message, ERROR_INTERFACE ".Failed", "%s", - err->message); - g_error_free(err); - return reply; -} - -static DBusMessage *copy_file(DBusConnection *connection, - DBusMessage *message, void *user_data) -{ - struct ftp_data *ftp = user_data; - struct obc_session *session = ftp->session; - const char *filename, *destname; - GError *err = NULL; - - if (dbus_message_get_args(message, NULL, - DBUS_TYPE_STRING, &filename, - DBUS_TYPE_STRING, &destname, - DBUS_TYPE_INVALID) == FALSE) - return g_dbus_create_error(message, - ERROR_INTERFACE ".InvalidArguments", NULL); - - obc_session_copy(session, filename, destname, async_cb, message, &err); - if (err != NULL) { - DBusMessage *reply; - reply = g_dbus_create_error(message, ERROR_INTERFACE ".Failed", - "%s", err->message); - g_error_free(err); - return reply; - } - - dbus_message_ref(message); - - return NULL; -} - -static DBusMessage *move_file(DBusConnection *connection, - DBusMessage *message, void *user_data) -{ - struct ftp_data *ftp = user_data; - struct obc_session *session = ftp->session; - const char *filename, *destname; - GError *err = NULL; - - if (dbus_message_get_args(message, NULL, - DBUS_TYPE_STRING, &filename, - DBUS_TYPE_STRING, &destname, - DBUS_TYPE_INVALID) == FALSE) - return g_dbus_create_error(message, - ERROR_INTERFACE ".InvalidArguments", NULL); - - obc_session_move(session, filename, destname, async_cb, message, &err); - if (err != NULL) { - DBusMessage *reply; - reply = g_dbus_create_error(message, ERROR_INTERFACE ".Failed", - "%s", err->message); - g_error_free(err); - return reply; - } - - dbus_message_ref(message); - - return NULL; -} - -static DBusMessage *delete(DBusConnection *connection, - DBusMessage *message, void *user_data) -{ - struct ftp_data *ftp = user_data; - struct obc_session *session = ftp->session; - const char *file; - GError *err = NULL; - - if (dbus_message_get_args(message, NULL, - DBUS_TYPE_STRING, &file, - DBUS_TYPE_INVALID) == FALSE) - return g_dbus_create_error(message, - ERROR_INTERFACE ".InvalidArguments", NULL); - - obc_session_delete(session, file, async_cb, message, &err); - if (err != NULL) { - DBusMessage *reply; - reply = g_dbus_create_error(message, ERROR_INTERFACE ".Failed", - "%s", err->message); - g_error_free(err); - return reply; - } - - dbus_message_ref(message); - - return NULL; -} - -static const GDBusMethodTable ftp_methods[] = { - { GDBUS_ASYNC_METHOD("ChangeFolder", - GDBUS_ARGS({ "folder", "s" }), NULL, change_folder) }, - { GDBUS_ASYNC_METHOD("CreateFolder", - GDBUS_ARGS({ "folder", "s" }), NULL, create_folder) }, - { GDBUS_ASYNC_METHOD("ListFolder", - NULL, GDBUS_ARGS({ "folderinfo", "aa{sv}" }), list_folder) }, - { GDBUS_METHOD("GetFile", - GDBUS_ARGS({ "targetfile", "s" }, { "sourcefile", "s" }), - GDBUS_ARGS({ "transfer", "o" }, { "properties", "a{sv}" }), - get_file) }, - { GDBUS_METHOD("PutFile", - GDBUS_ARGS({ "sourcefile", "s" }, { "targetfile", "s" }), - GDBUS_ARGS({ "transfer", "o" }, { "properties", "a{sv}" }), - put_file) }, - { GDBUS_ASYNC_METHOD("CopyFile", - GDBUS_ARGS({ "sourcefile", "s" }, { "targetfile", "s" }), NULL, - copy_file) }, - { GDBUS_ASYNC_METHOD("MoveFile", - GDBUS_ARGS({ "sourcefile", "s" }, { "targetfile", "s" }), NULL, - move_file) }, - { GDBUS_ASYNC_METHOD("Delete", - GDBUS_ARGS({ "file", "s" }), NULL, delete) }, - { } -}; - -static void ftp_free(void *data) -{ - struct ftp_data *ftp = data; - - obc_session_unref(ftp->session); - g_free(ftp); -} - -static int ftp_probe(struct obc_session *session) -{ - struct ftp_data *ftp; - const char *path; - - path = obc_session_get_path(session); - - DBG("%s", path); - - ftp = g_try_new0(struct ftp_data, 1); - if (!ftp) - return -ENOMEM; - - ftp->session = obc_session_ref(session); - - if (!g_dbus_register_interface(conn, path, FTP_INTERFACE, ftp_methods, - NULL, NULL, ftp, ftp_free)) { - ftp_free(ftp); - return -ENOMEM; - } - - return 0; -} - -static void ftp_remove(struct obc_session *session) -{ - const char *path = obc_session_get_path(session); - - DBG("%s", path); - - g_dbus_unregister_interface(conn, path, FTP_INTERFACE); -} - -static struct obc_driver ftp = { - .service = "FTP", - .uuid = FTP_UUID, - .target = OBEX_FTP_UUID, - .target_len = OBEX_FTP_UUID_LEN, - .probe = ftp_probe, - .remove = ftp_remove -}; - -static struct obc_driver pcsuite = { - .service = "PCSUITE", - .uuid = PCSUITE_UUID, - .target = OBEX_FTP_UUID, - .target_len = OBEX_FTP_UUID_LEN, - .probe = ftp_probe, - .remove = ftp_remove -}; - -int ftp_init(void) -{ - int err; - - DBG(""); - - conn = dbus_bus_get(DBUS_BUS_SESSION, NULL); - if (!conn) - return -EIO; - - err = obc_driver_register(&ftp); - if (err < 0) - goto failed; - - err = obc_driver_register(&pcsuite); - if (err < 0) { - obc_driver_unregister(&ftp); - goto failed; - } - - return 0; - -failed: - dbus_connection_unref(conn); - conn = NULL; - return err; -} - -void ftp_exit(void) -{ - DBG(""); - - dbus_connection_unref(conn); - conn = NULL; - - obc_driver_unregister(&ftp); - obc_driver_unregister(&pcsuite); -} diff --git a/GRIB_BLE_HUB/libs/ble_extend/obexd/client/ftp.h b/GRIB_BLE_HUB/libs/ble_extend/obexd/client/ftp.h deleted file mode 100644 index 3d90968..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/obexd/client/ftp.h +++ /dev/null @@ -1,25 +0,0 @@ -/* - * - * OBEX Client - * - * Copyright (C) 2007-2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -int ftp_init(void); -void ftp_exit(void); diff --git a/GRIB_BLE_HUB/libs/ble_extend/obexd/client/manager.c b/GRIB_BLE_HUB/libs/ble_extend/obexd/client/manager.c deleted file mode 100644 index 8efe1f2..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/obexd/client/manager.c +++ /dev/null @@ -1,315 +0,0 @@ -/* - * - * OBEX Client - * - * Copyright (C) 2007-2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include -#include -#include -#include - -#include -#include - -#include "log.h" -#include "transfer.h" -#include "session.h" -#include "manager.h" -#include "bluetooth.h" -#include "opp.h" -#include "ftp.h" -#include "pbap.h" -#include "sync.h" -#include "map.h" -#include "obexd/src/manager.h" - -#define CLIENT_INTERFACE "org.bluez.obex.Client1" -#define ERROR_INTERFACE "org.bluez.obex.Error" -#define CLIENT_PATH "/org/bluez/obex" - -struct send_data { - DBusConnection *connection; - DBusMessage *message; -}; - -static GSList *sessions = NULL; - -static void shutdown_session(struct obc_session *session) -{ - obc_session_shutdown(session); - obc_session_unref(session); -} - -static void release_session(struct obc_session *session) -{ - sessions = g_slist_remove(sessions, session); - shutdown_session(session); -} - -static void unregister_session(void *data) -{ - struct obc_session *session = data; - - if (g_slist_find(sessions, session) == NULL) - return; - - sessions = g_slist_remove(sessions, session); - obc_session_unref(session); -} - -static void create_callback(struct obc_session *session, - struct obc_transfer *transfer, - GError *err, void *user_data) -{ - struct send_data *data = user_data; - const char *path; - - if (err != NULL) { - DBusMessage *error = g_dbus_create_error(data->message, - ERROR_INTERFACE ".Failed", - "%s", err->message); - g_dbus_send_message(data->connection, error); - shutdown_session(session); - goto done; - } - - - path = obc_session_register(session, unregister_session); - if (path == NULL) { - DBusMessage *error = g_dbus_create_error(data->message, - ERROR_INTERFACE ".Failed", - NULL); - g_dbus_send_message(data->connection, error); - shutdown_session(session); - goto done; - } - - sessions = g_slist_append(sessions, session); - g_dbus_send_reply(data->connection, data->message, - DBUS_TYPE_OBJECT_PATH, &path, - DBUS_TYPE_INVALID); - -done: - dbus_message_unref(data->message); - dbus_connection_unref(data->connection); - g_free(data); -} - -static int parse_device_dict(DBusMessageIter *iter, - const char **source, const char **target, uint8_t *channel) -{ - while (dbus_message_iter_get_arg_type(iter) == DBUS_TYPE_DICT_ENTRY) { - DBusMessageIter entry, value; - const char *key; - - dbus_message_iter_recurse(iter, &entry); - dbus_message_iter_get_basic(&entry, &key); - - dbus_message_iter_next(&entry); - dbus_message_iter_recurse(&entry, &value); - - switch (dbus_message_iter_get_arg_type(&value)) { - case DBUS_TYPE_STRING: - if (g_str_equal(key, "Source") == TRUE) - dbus_message_iter_get_basic(&value, source); - else if (g_str_equal(key, "Target") == TRUE) - dbus_message_iter_get_basic(&value, target); - break; - case DBUS_TYPE_BYTE: - if (g_str_equal(key, "Channel") == TRUE) - dbus_message_iter_get_basic(&value, channel); - break; - } - - dbus_message_iter_next(iter); - } - - return 0; -} - -static struct obc_session *find_session(const char *path) -{ - GSList *l; - - for (l = sessions; l; l = l->next) { - struct obc_session *session = l->data; - - if (g_str_equal(obc_session_get_path(session), path) == TRUE) - return session; - } - - return NULL; -} - -static DBusMessage *create_session(DBusConnection *connection, - DBusMessage *message, void *user_data) -{ - DBusMessageIter iter, dict; - struct obc_session *session; - struct send_data *data; - const char *source = NULL, *dest = NULL, *target = NULL; - uint8_t channel = 0; - - dbus_message_iter_init(message, &iter); - if (dbus_message_iter_get_arg_type(&iter) != DBUS_TYPE_STRING) - return g_dbus_create_error(message, - ERROR_INTERFACE ".InvalidArguments", NULL); - - dbus_message_iter_get_basic(&iter, &dest); - dbus_message_iter_next(&iter); - - if (dbus_message_iter_get_arg_type(&iter) != DBUS_TYPE_ARRAY) - return g_dbus_create_error(message, - ERROR_INTERFACE ".InvalidArguments", NULL); - - dbus_message_iter_recurse(&iter, &dict); - - parse_device_dict(&dict, &source, &target, &channel); - if (dest == NULL || target == NULL) - return g_dbus_create_error(message, - ERROR_INTERFACE ".InvalidArguments", NULL); - - data = g_try_malloc0(sizeof(*data)); - if (data == NULL) - return g_dbus_create_error(message, - ERROR_INTERFACE ".Error.NoMemory", NULL); - - data->connection = dbus_connection_ref(connection); - data->message = dbus_message_ref(message); - - session = obc_session_create(source, dest, target, channel, - dbus_message_get_sender(message), - create_callback, data); - if (session != NULL) { - return NULL; - } - - dbus_message_unref(data->message); - dbus_connection_unref(data->connection); - g_free(data); - - return g_dbus_create_error(message, ERROR_INTERFACE ".Failed", NULL); -} - -static DBusMessage *remove_session(DBusConnection *connection, - DBusMessage *message, void *user_data) -{ - struct obc_session *session; - const char *sender, *path; - - if (dbus_message_get_args(message, NULL, - DBUS_TYPE_OBJECT_PATH, &path, - DBUS_TYPE_INVALID) == FALSE) - return g_dbus_create_error(message, - ERROR_INTERFACE ".InvalidArguments", NULL); - - session = find_session(path); - if (session == NULL) - return g_dbus_create_error(message, - ERROR_INTERFACE ".InvalidArguments", NULL); - - sender = dbus_message_get_sender(message); - if (g_str_equal(sender, obc_session_get_owner(session)) == FALSE) - return g_dbus_create_error(message, - ERROR_INTERFACE ".NotAuthorized", - "Not Authorized"); - - release_session(session); - - return dbus_message_new_method_return(message); -} - -static const GDBusMethodTable client_methods[] = { - { GDBUS_ASYNC_METHOD("CreateSession", - GDBUS_ARGS({ "destination", "s" }, { "args", "a{sv}" }), - GDBUS_ARGS({ "session", "o" }), create_session) }, - { GDBUS_ASYNC_METHOD("RemoveSession", - GDBUS_ARGS({ "session", "o" }), NULL, remove_session) }, - { } -}; - -static DBusConnection *conn = NULL; - -static struct obc_module { - const char *name; - int (*init) (void); - void (*exit) (void); -} modules[] = { - { "bluetooth", bluetooth_init, bluetooth_exit }, - { "opp", opp_init, opp_exit }, - { "ftp", ftp_init, ftp_exit }, - { "pbap", pbap_init, pbap_exit }, - { "sync", sync_init, sync_exit }, - { "map", map_init, map_exit }, - { } -}; - -int client_manager_init(void) -{ - DBusError derr; - struct obc_module *module; - - dbus_error_init(&derr); - - conn = manager_dbus_get_connection(); - if (conn == NULL) { - error("Can't get client D-Bus connection"); - return -1; - } - - if (g_dbus_register_interface(conn, CLIENT_PATH, CLIENT_INTERFACE, - client_methods, NULL, NULL, - NULL, NULL) == FALSE) { - error("Can't register client interface"); - dbus_connection_unref(conn); - conn = NULL; - return -1; - } - - for (module = modules; module && module->init; module++) { - if (module->init() < 0) - continue; - - DBG("Module %s loaded", module->name); - } - - return 0; -} - -void client_manager_exit(void) -{ - struct obc_module *module; - - if (conn == NULL) - return; - - for (module = modules; module && module->exit; module++) - module->exit(); - - g_dbus_unregister_interface(conn, CLIENT_PATH, CLIENT_INTERFACE); - - dbus_connection_unref(conn); -} diff --git a/GRIB_BLE_HUB/libs/ble_extend/obexd/client/manager.h b/GRIB_BLE_HUB/libs/ble_extend/obexd/client/manager.h deleted file mode 100644 index e4068de..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/obexd/client/manager.h +++ /dev/null @@ -1,25 +0,0 @@ -/* - * - * OBEX Server - * - * Copyright (C) 2007-2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -int client_manager_init(void); -void client_manager_exit(void); diff --git a/GRIB_BLE_HUB/libs/ble_extend/obexd/client/map-event.h b/GRIB_BLE_HUB/libs/ble_extend/obexd/client/map-event.h deleted file mode 100644 index 749f1e0..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/obexd/client/map-event.h +++ /dev/null @@ -1,42 +0,0 @@ -/* - * - * OBEX - * - * Copyright (C) 2013 BMW Car IT GmbH. All rights reserved. - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -enum map_event_type { - MAP_ET_NEW_MESSAGE, - MAP_ET_DELIVERY_SUCCESS, - MAP_ET_SENDING_SUCCESS, - MAP_ET_DELIVERY_FAILURE, - MAP_ET_SENDING_FAILURE, - MAP_ET_MEMORY_FULL, - MAP_ET_MEMORY_AVAILABLE, - MAP_ET_MESSAGE_DELETED, - MAP_ET_MESSAGE_SHIFT -}; - -struct map_event { - enum map_event_type type; - char *handle; - char *folder; - char *old_folder; - char *msg_type; -}; diff --git a/GRIB_BLE_HUB/libs/ble_extend/obexd/client/map.c b/GRIB_BLE_HUB/libs/ble_extend/obexd/client/map.c deleted file mode 100644 index 3188a08..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/obexd/client/map.c +++ /dev/null @@ -1,1807 +0,0 @@ -/* - * - * OBEX Client - * - * Copyright (C) 2011 Bartosz Szatkowski for Comarch - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include -#include -#include -#include -#include -#include - -#include "dbus.h" -#include "log.h" -#include "map_ap.h" - -#include "map.h" -#include "transfer.h" -#include "session.h" -#include "driver.h" - -#define OBEX_MAS_UUID \ - "\xBB\x58\x2B\x40\x42\x0C\x11\xDB\xB0\xDE\x08\x00\x20\x0C\x9A\x66" -#define OBEX_MAS_UUID_LEN 16 - -#define MAP_INTERFACE "org.bluez.obex.MessageAccess1" -#define MAP_MSG_INTERFACE "org.bluez.obex.Message1" -#define ERROR_INTERFACE "org.bluez.obex.Error" -#define MAS_UUID "00001132-0000-1000-8000-00805f9b34fb" - -#define DEFAULT_COUNT 1024 -#define DEFAULT_OFFSET 0 - -#define CHARSET_NATIVE 0 -#define CHARSET_UTF8 1 - -static const char * const filter_list[] = { - "subject", - "timestamp", - "sender", - "sender-address", - "recipient", - "recipient-address", - "type", - "size", - "status", - "text", - "attachment", - "priority", - "read", - "sent", - "protected", - "replyto", - NULL -}; - -#define FILTER_BIT_MAX 15 -#define FILTER_ALL 0x0000FFFF - -#define FILTER_READ_STATUS_NONE 0x00 -#define FILTER_READ_STATUS_ONLY_UNREAD 0x01 -#define FILTER_READ_STATUS_ONLY_READ 0x02 - -#define FILTER_PRIORITY_NONE 0x00 -#define FILTER_PRIORITY_ONLY_HIGH 0x01 -#define FILTER_PRIORITY_ONLY_NONHIGH 0x02 - -#define STATUS_READ 0 -#define STATUS_DELETE 1 -#define FILLER_BYTE 0x30 - -struct map_data { - struct obc_session *session; - DBusMessage *msg; - GHashTable *messages; -}; - -#define MAP_MSG_FLAG_PRIORITY 0x01 -#define MAP_MSG_FLAG_READ 0x02 -#define MAP_MSG_FLAG_SENT 0x04 -#define MAP_MSG_FLAG_PROTECTED 0x08 -#define MAP_MSG_FLAG_TEXT 0x10 - -struct map_msg { - struct map_data *data; - char *path; - char *handle; - char *subject; - char *timestamp; - char *sender; - char *sender_address; - char *replyto; - char *recipient; - char *recipient_address; - char *type; - uint64_t size; - char *status; - uint64_t attachment_size; - uint8_t flags; - GDBusPendingPropertySet pending; -}; - -struct map_parser { - struct map_data *data; - DBusMessageIter *iter; -}; - -static DBusConnection *conn = NULL; - -static void simple_cb(struct obc_session *session, - struct obc_transfer *transfer, - GError *err, void *user_data) -{ - DBusMessage *reply; - struct map_data *map = user_data; - - if (err != NULL) - reply = g_dbus_create_error(map->msg, - ERROR_INTERFACE ".Failed", - "%s", err->message); - else - reply = dbus_message_new_method_return(map->msg); - - g_dbus_send_message(conn, reply); - dbus_message_unref(map->msg); -} - -static DBusMessage *map_setpath(DBusConnection *connection, - DBusMessage *message, void *user_data) -{ - struct map_data *map = user_data; - const char *folder; - GError *err = NULL; - - if (dbus_message_get_args(message, NULL, DBUS_TYPE_STRING, &folder, - DBUS_TYPE_INVALID) == FALSE) - return g_dbus_create_error(message, - ERROR_INTERFACE ".InvalidArguments", - NULL); - - obc_session_setpath(map->session, folder, simple_cb, map, &err); - if (err != NULL) { - DBusMessage *reply; - reply = g_dbus_create_error(message, - ERROR_INTERFACE ".Failed", - "%s", err->message); - g_error_free(err); - return reply; - } - - map->msg = dbus_message_ref(message); - - return NULL; -} - -static void folder_element(GMarkupParseContext *ctxt, const char *element, - const char **names, const char **values, - gpointer user_data, GError **gerr) -{ - DBusMessageIter dict, *iter = user_data; - const char *key; - gint i; - - if (strcasecmp("folder", element) != 0) - return; - - dbus_message_iter_open_container(iter, DBUS_TYPE_ARRAY, - DBUS_DICT_ENTRY_BEGIN_CHAR_AS_STRING - DBUS_TYPE_STRING_AS_STRING DBUS_TYPE_VARIANT_AS_STRING - DBUS_DICT_ENTRY_END_CHAR_AS_STRING, &dict); - - for (i = 0, key = names[i]; key; key = names[++i]) { - if (strcasecmp("name", key) == 0) - obex_dbus_dict_append(&dict, "Name", DBUS_TYPE_STRING, - &values[i]); - } - - dbus_message_iter_close_container(iter, &dict); -} - -static const GMarkupParser folder_parser = { - folder_element, - NULL, - NULL, - NULL, - NULL -}; - -static void folder_listing_cb(struct obc_session *session, - struct obc_transfer *transfer, - GError *err, void *user_data) -{ - struct map_data *map = user_data; - GMarkupParseContext *ctxt; - DBusMessage *reply; - DBusMessageIter iter, array; - char *contents; - size_t size; - int perr; - - if (err != NULL) { - reply = g_dbus_create_error(map->msg, - ERROR_INTERFACE ".Failed", - "%s", err->message); - goto done; - } - - perr = obc_transfer_get_contents(transfer, &contents, &size); - if (perr < 0) { - reply = g_dbus_create_error(map->msg, - ERROR_INTERFACE ".Failed", - "Error reading contents: %s", - strerror(-perr)); - goto done; - } - - reply = dbus_message_new_method_return(map->msg); - if (reply == NULL) - return; - - dbus_message_iter_init_append(reply, &iter); - dbus_message_iter_open_container(&iter, DBUS_TYPE_ARRAY, - DBUS_TYPE_ARRAY_AS_STRING - DBUS_DICT_ENTRY_BEGIN_CHAR_AS_STRING - DBUS_TYPE_STRING_AS_STRING DBUS_TYPE_VARIANT_AS_STRING - DBUS_DICT_ENTRY_END_CHAR_AS_STRING, &array); - ctxt = g_markup_parse_context_new(&folder_parser, 0, &array, NULL); - g_markup_parse_context_parse(ctxt, contents, size, NULL); - g_markup_parse_context_free(ctxt); - dbus_message_iter_close_container(&iter, &array); - g_free(contents); - -done: - g_dbus_send_message(conn, reply); - dbus_message_unref(map->msg); -} - -static DBusMessage *get_folder_listing(struct map_data *map, - DBusMessage *message, - GObexApparam *apparam) -{ - struct obc_transfer *transfer; - GError *err = NULL; - DBusMessage *reply; - - transfer = obc_transfer_get("x-obex/folder-listing", NULL, NULL, &err); - if (transfer == NULL) { - g_obex_apparam_free(apparam); - goto fail; - } - - obc_transfer_set_apparam(transfer, apparam); - - if (obc_session_queue(map->session, transfer, folder_listing_cb, map, - &err)) { - map->msg = dbus_message_ref(message); - return NULL; - } - -fail: - reply = g_dbus_create_error(message, ERROR_INTERFACE ".Failed", "%s", - err->message); - g_error_free(err); - return reply; -} - -static GObexApparam *parse_offset(GObexApparam *apparam, DBusMessageIter *iter) -{ - guint16 num; - - if (dbus_message_iter_get_arg_type(iter) != DBUS_TYPE_UINT16) - return NULL; - - dbus_message_iter_get_basic(iter, &num); - - return g_obex_apparam_set_uint16(apparam, MAP_AP_STARTOFFSET, num); -} - -static GObexApparam *parse_max_count(GObexApparam *apparam, - DBusMessageIter *iter) -{ - guint16 num; - - if (dbus_message_iter_get_arg_type(iter) != DBUS_TYPE_UINT16) - return NULL; - - dbus_message_iter_get_basic(iter, &num); - - return g_obex_apparam_set_uint16(apparam, MAP_AP_MAXLISTCOUNT, num); -} - -static GObexApparam *parse_folder_filters(GObexApparam *apparam, - DBusMessageIter *iter) -{ - DBusMessageIter array; - - if (dbus_message_iter_get_arg_type(iter) != DBUS_TYPE_ARRAY) - return NULL; - - dbus_message_iter_recurse(iter, &array); - - while (dbus_message_iter_get_arg_type(&array) == DBUS_TYPE_DICT_ENTRY) { - const char *key; - DBusMessageIter value, entry; - - dbus_message_iter_recurse(&array, &entry); - dbus_message_iter_get_basic(&entry, &key); - - dbus_message_iter_next(&entry); - dbus_message_iter_recurse(&entry, &value); - - if (strcasecmp(key, "Offset") == 0) { - if (parse_offset(apparam, &value) == NULL) - return NULL; - } else if (strcasecmp(key, "MaxCount") == 0) { - if (parse_max_count(apparam, &value) == NULL) - return NULL; - } - - dbus_message_iter_next(&array); - } - - return apparam; -} - -static DBusMessage *map_list_folders(DBusConnection *connection, - DBusMessage *message, void *user_data) -{ - struct map_data *map = user_data; - GObexApparam *apparam; - DBusMessageIter args; - - dbus_message_iter_init(message, &args); - - apparam = g_obex_apparam_set_uint16(NULL, MAP_AP_MAXLISTCOUNT, - DEFAULT_COUNT); - apparam = g_obex_apparam_set_uint16(apparam, MAP_AP_STARTOFFSET, - DEFAULT_OFFSET); - - if (parse_folder_filters(apparam, &args) == NULL) { - g_obex_apparam_free(apparam); - return g_dbus_create_error(message, - ERROR_INTERFACE ".InvalidArguments", NULL); - } - - return get_folder_listing(map, message, apparam); -} - -static void map_msg_free(void *data) -{ - struct map_msg *msg = data; - - g_free(msg->path); - g_free(msg->subject); - g_free(msg->handle); - g_free(msg->timestamp); - g_free(msg->sender); - g_free(msg->sender_address); - g_free(msg->replyto); - g_free(msg->recipient); - g_free(msg->recipient_address); - g_free(msg->type); - g_free(msg->status); - g_free(msg); -} - -static DBusMessage *map_msg_get(DBusConnection *connection, - DBusMessage *message, void *user_data) -{ - struct map_msg *msg = user_data; - struct obc_transfer *transfer; - const char *target_file; - gboolean attachment; - GError *err = NULL; - DBusMessage *reply; - GObexApparam *apparam; - - if (dbus_message_get_args(message, NULL, - DBUS_TYPE_STRING, &target_file, - DBUS_TYPE_BOOLEAN, &attachment, - DBUS_TYPE_INVALID) == FALSE) - return g_dbus_create_error(message, - ERROR_INTERFACE ".InvalidArguments", NULL); - - transfer = obc_transfer_get("x-bt/message", msg->handle, target_file, - &err); - if (transfer == NULL) - goto fail; - - apparam = g_obex_apparam_set_uint8(NULL, MAP_AP_ATTACHMENT, - attachment); - apparam = g_obex_apparam_set_uint8(apparam, MAP_AP_CHARSET, - CHARSET_UTF8); - - obc_transfer_set_apparam(transfer, apparam); - - if (!obc_session_queue(msg->data->session, transfer, NULL, NULL, &err)) - goto fail; - - return obc_transfer_create_dbus_reply(transfer, message); - -fail: - reply = g_dbus_create_error(message, ERROR_INTERFACE ".Failed", "%s", - err->message); - g_error_free(err); - return reply; -} - -static void set_message_status_cb(struct obc_session *session, - struct obc_transfer *transfer, - GError *err, void *user_data) -{ - struct map_msg *msg = user_data; - - if (err != NULL) { - g_dbus_pending_property_error(msg->pending, - ERROR_INTERFACE ".Failed", - "%s", err->message); - goto done; - } - - g_dbus_pending_property_success(msg->pending); - -done: - msg->pending = 0; -} - -static gboolean subject_exists(const GDBusPropertyTable *property, void *data) -{ - struct map_msg *msg = data; - - return msg->subject != NULL; -} - -static gboolean get_subject(const GDBusPropertyTable *property, - DBusMessageIter *iter, void *data) -{ - struct map_msg *msg = data; - - dbus_message_iter_append_basic(iter, DBUS_TYPE_STRING, &msg->subject); - - return TRUE; -} - -static gboolean timestamp_exists(const GDBusPropertyTable *property, void *data) -{ - struct map_msg *msg = data; - - return msg->timestamp != NULL; -} - -static gboolean get_timestamp(const GDBusPropertyTable *property, - DBusMessageIter *iter, void *data) -{ - struct map_msg *msg = data; - - dbus_message_iter_append_basic(iter, DBUS_TYPE_STRING, &msg->timestamp); - - return TRUE; -} - -static gboolean sender_exists(const GDBusPropertyTable *property, void *data) -{ - struct map_msg *msg = data; - - return msg->sender != NULL; -} - -static gboolean get_sender(const GDBusPropertyTable *property, - DBusMessageIter *iter, void *data) -{ - struct map_msg *msg = data; - - dbus_message_iter_append_basic(iter, DBUS_TYPE_STRING, &msg->sender); - - return TRUE; -} - -static gboolean sender_address_exists(const GDBusPropertyTable *property, - void *data) -{ - struct map_msg *msg = data; - - return msg->sender_address != NULL; -} - -static gboolean get_sender_address(const GDBusPropertyTable *property, - DBusMessageIter *iter, void *data) -{ - struct map_msg *msg = data; - - dbus_message_iter_append_basic(iter, DBUS_TYPE_STRING, - &msg->sender_address); - - return TRUE; -} - -static gboolean replyto_exists(const GDBusPropertyTable *property, void *data) -{ - struct map_msg *msg = data; - - return msg->replyto != NULL; -} - -static gboolean get_replyto(const GDBusPropertyTable *property, - DBusMessageIter *iter, void *data) -{ - struct map_msg *msg = data; - - dbus_message_iter_append_basic(iter, DBUS_TYPE_STRING, &msg->replyto); - - return TRUE; -} - -static gboolean recipient_exists(const GDBusPropertyTable *property, void *data) -{ - struct map_msg *msg = data; - - return msg->recipient != NULL; -} - -static gboolean get_recipient(const GDBusPropertyTable *property, - DBusMessageIter *iter, void *data) -{ - struct map_msg *msg = data; - - dbus_message_iter_append_basic(iter, DBUS_TYPE_STRING, &msg->recipient); - - return TRUE; -} - -static gboolean recipient_address_exists(const GDBusPropertyTable *property, - void *data) -{ - struct map_msg *msg = data; - - return msg->recipient_address != NULL; -} - -static gboolean get_recipient_address(const GDBusPropertyTable *property, - DBusMessageIter *iter, void *data) -{ - struct map_msg *msg = data; - - dbus_message_iter_append_basic(iter, DBUS_TYPE_STRING, - &msg->recipient_address); - - return TRUE; -} - -static gboolean type_exists(const GDBusPropertyTable *property, void *data) -{ - struct map_msg *msg = data; - - return msg->type != NULL; -} - -static gboolean get_type(const GDBusPropertyTable *property, - DBusMessageIter *iter, void *data) -{ - struct map_msg *msg = data; - - dbus_message_iter_append_basic(iter, DBUS_TYPE_STRING, &msg->type); - - return TRUE; -} - -static gboolean get_size(const GDBusPropertyTable *property, - DBusMessageIter *iter, void *data) -{ - struct map_msg *msg = data; - - dbus_message_iter_append_basic(iter, DBUS_TYPE_UINT64, &msg->size); - - return TRUE; -} - -static gboolean reception_status_exists(const GDBusPropertyTable *property, - void *data) -{ - struct map_msg *msg = data; - - return msg->status != NULL; -} - -static gboolean get_reception_status(const GDBusPropertyTable *property, - DBusMessageIter *iter, void *data) -{ - struct map_msg *msg = data; - - dbus_message_iter_append_basic(iter, DBUS_TYPE_STRING, &msg->status); - - return TRUE; -} - -static gboolean get_attachment_size(const GDBusPropertyTable *property, - DBusMessageIter *iter, void *data) -{ - struct map_msg *msg = data; - - dbus_message_iter_append_basic(iter, DBUS_TYPE_UINT64, - &msg->attachment_size); - - return TRUE; -} - -static gboolean get_flag(const GDBusPropertyTable *property, - DBusMessageIter *iter, uint8_t flag, - void *data) -{ - struct map_msg *msg = data; - dbus_bool_t value = (msg->flags & flag) != 0; - - dbus_message_iter_append_basic(iter, DBUS_TYPE_BOOLEAN, &value); - - return TRUE; -} - -static gboolean get_priority(const GDBusPropertyTable *property, - DBusMessageIter *iter, void *data) -{ - return get_flag(property, iter, MAP_MSG_FLAG_PRIORITY, data); -} - -static gboolean get_read(const GDBusPropertyTable *property, - DBusMessageIter *iter, void *data) -{ - return get_flag(property, iter, MAP_MSG_FLAG_READ, data); -} - -static gboolean get_sent(const GDBusPropertyTable *property, - DBusMessageIter *iter, void *data) -{ - return get_flag(property, iter, MAP_MSG_FLAG_SENT, data); -} - -static gboolean get_protected(const GDBusPropertyTable *property, - DBusMessageIter *iter, void *data) -{ - return get_flag(property, iter, MAP_MSG_FLAG_PROTECTED, data); -} - -static gboolean get_text(const GDBusPropertyTable *property, - DBusMessageIter *iter, void *data) -{ - return get_flag(property, iter, MAP_MSG_FLAG_TEXT, data); -} - -static void set_status(const GDBusPropertyTable *property, - DBusMessageIter *iter, GDBusPendingPropertySet id, - uint8_t status, void *data) -{ - struct map_msg *msg = data; - struct obc_transfer *transfer; - gboolean value; - GError *err = NULL; - GObexApparam *apparam; - char contents[2]; - - if (dbus_message_iter_get_arg_type(iter) != DBUS_TYPE_BOOLEAN) { - g_dbus_pending_property_error(id, - ERROR_INTERFACE ".InvalidArguments", - "Invalid arguments in method call"); - return; - } - - dbus_message_iter_get_basic(iter, &value); - - contents[0] = FILLER_BYTE; - contents[1] = '\0'; - - transfer = obc_transfer_put("x-bt/messageStatus", msg->handle, NULL, - contents, sizeof(contents), &err); - if (transfer == NULL) - goto fail; - - apparam = g_obex_apparam_set_uint8(NULL, MAP_AP_STATUSINDICATOR, - status); - apparam = g_obex_apparam_set_uint8(apparam, MAP_AP_STATUSVALUE, - value); - obc_transfer_set_apparam(transfer, apparam); - - if (!obc_session_queue(msg->data->session, transfer, - set_message_status_cb, msg, &err)) - goto fail; - - msg->pending = id; - return; - -fail: - g_dbus_pending_property_error(id, ERROR_INTERFACE ".Failed", "%s", - err->message); - g_error_free(err); -} - -static void set_read(const GDBusPropertyTable *property, - DBusMessageIter *iter, GDBusPendingPropertySet id, - void *data) -{ - set_status(property, iter, id, STATUS_READ, data); -} - -static void set_deleted(const GDBusPropertyTable *property, - DBusMessageIter *iter, GDBusPendingPropertySet id, - void *data) -{ - set_status(property, iter, id, STATUS_DELETE, data); -} - -static const GDBusMethodTable map_msg_methods[] = { - { GDBUS_METHOD("Get", - GDBUS_ARGS({ "targetfile", "s" }, - { "attachment", "b" }), - GDBUS_ARGS({ "transfer", "o" }, - { "properties", "a{sv}" }), - map_msg_get) }, - { } -}; - -static const GDBusPropertyTable map_msg_properties[] = { - { "Subject", "s", get_subject, NULL, subject_exists }, - { "Timestamp", "s", get_timestamp, NULL, timestamp_exists }, - { "Sender", "s", get_sender, NULL, sender_exists }, - { "SenderAddress", "s", get_sender_address, NULL, - sender_address_exists }, - { "ReplyTo", "s", get_replyto, NULL, replyto_exists }, - { "Recipient", "s", get_recipient, NULL, recipient_exists }, - { "RecipientAddress", "s", get_recipient_address, NULL, - recipient_address_exists }, - { "Type", "s", get_type, NULL, type_exists }, - { "Size", "t", get_size }, - { "Text", "b", get_text }, - { "Status", "s", get_reception_status, NULL, reception_status_exists }, - { "AttachmentSize", "t", get_attachment_size }, - { "Priority", "b", get_priority }, - { "Read", "b", get_read, set_read }, - { "Sent", "b", get_sent }, - { "Protected", "b", get_sent }, - { "Deleted", "b", NULL, set_deleted }, - { } -}; - -static struct map_msg *map_msg_create(struct map_data *data, const char *handle) -{ - struct map_msg *msg; - - msg = g_new0(struct map_msg, 1); - msg->data = data; - msg->path = g_strdup_printf("%s/message%s", - obc_session_get_path(data->session), - handle); - - if (!g_dbus_register_interface(conn, msg->path, MAP_MSG_INTERFACE, - map_msg_methods, NULL, - map_msg_properties, - msg, map_msg_free)) { - map_msg_free(msg); - return NULL; - } - - msg->handle = g_strdup(handle); - g_hash_table_insert(data->messages, msg->handle, msg); - - return msg; -} - -static void parse_subject(struct map_msg *msg, const char *value, - DBusMessageIter *iter) -{ - g_free(msg->subject); - msg->subject = g_strdup(value); - obex_dbus_dict_append(iter, "Subject", DBUS_TYPE_STRING, &value); -} - -static void parse_datetime(struct map_msg *msg, const char *value, - DBusMessageIter *iter) -{ - g_free(msg->timestamp); - msg->timestamp = g_strdup(value); - obex_dbus_dict_append(iter, "Timestamp", DBUS_TYPE_STRING, &value); -} - -static void parse_sender(struct map_msg *msg, const char *value, - DBusMessageIter *iter) -{ - g_free(msg->sender); - msg->sender = g_strdup(value); - obex_dbus_dict_append(iter, "Sender", DBUS_TYPE_STRING, &value); -} - -static void parse_sender_address(struct map_msg *msg, const char *value, - DBusMessageIter *iter) -{ - g_free(msg->sender_address); - msg->sender_address = g_strdup(value); - obex_dbus_dict_append(iter, "SenderAddress", DBUS_TYPE_STRING, - &value); -} - -static void parse_replyto(struct map_msg *msg, const char *value, - DBusMessageIter *iter) -{ - g_free(msg->replyto); - msg->replyto = g_strdup(value); - obex_dbus_dict_append(iter, "ReplyTo", DBUS_TYPE_STRING, &value); -} - -static void parse_recipient(struct map_msg *msg, const char *value, - DBusMessageIter *iter) -{ - g_free(msg->recipient); - msg->recipient = g_strdup(value); - obex_dbus_dict_append(iter, "Recipient", DBUS_TYPE_STRING, &value); -} - -static void parse_recipient_address(struct map_msg *msg, const char *value, - DBusMessageIter *iter) -{ - g_free(msg->recipient_address); - msg->recipient_address = g_strdup(value); - obex_dbus_dict_append(iter, "RecipientAddress", DBUS_TYPE_STRING, - &value); -} - -static void parse_type(struct map_msg *msg, const char *value, - DBusMessageIter *iter) -{ - g_free(msg->type); - msg->type = g_strdup(value); - obex_dbus_dict_append(iter, "Type", DBUS_TYPE_STRING, &value); -} - -static void parse_size(struct map_msg *msg, const char *value, - DBusMessageIter *iter) -{ - msg->size = g_ascii_strtoll(value, NULL, 10); - obex_dbus_dict_append(iter, "Size", DBUS_TYPE_UINT64, &msg->size); -} - -static void parse_text(struct map_msg *msg, const char *value, - DBusMessageIter *iter) -{ - gboolean flag = strcasecmp(value, "no") != 0; - - if (flag) - msg->flags |= MAP_MSG_FLAG_TEXT; - else - msg->flags &= ~MAP_MSG_FLAG_TEXT; - - obex_dbus_dict_append(iter, "Text", DBUS_TYPE_BOOLEAN, &flag); -} - -static void parse_status(struct map_msg *msg, const char *value, - DBusMessageIter *iter) -{ - g_free(msg->status); - msg->status = g_strdup(value); - obex_dbus_dict_append(iter, "Status", DBUS_TYPE_STRING, &value); -} - -static void parse_attachment_size(struct map_msg *msg, const char *value, - DBusMessageIter *iter) -{ - msg->attachment_size = g_ascii_strtoll(value, NULL, 10); - obex_dbus_dict_append(iter, "AttachmentSize", DBUS_TYPE_UINT64, - &msg->attachment_size); -} - -static void parse_priority(struct map_msg *msg, const char *value, - DBusMessageIter *iter) -{ - gboolean flag = strcasecmp(value, "no") != 0; - - if (flag) - msg->flags |= MAP_MSG_FLAG_PRIORITY; - else - msg->flags &= ~MAP_MSG_FLAG_PRIORITY; - - obex_dbus_dict_append(iter, "Priority", DBUS_TYPE_BOOLEAN, &flag); -} - -static void parse_read(struct map_msg *msg, const char *value, - DBusMessageIter *iter) -{ - gboolean flag = strcasecmp(value, "no") != 0; - - if (flag) - msg->flags |= MAP_MSG_FLAG_READ; - else - msg->flags &= ~MAP_MSG_FLAG_READ; - - obex_dbus_dict_append(iter, "Read", DBUS_TYPE_BOOLEAN, &flag); -} - -static void parse_sent(struct map_msg *msg, const char *value, - DBusMessageIter *iter) -{ - gboolean flag = strcasecmp(value, "no") != 0; - - if (flag) - msg->flags |= MAP_MSG_FLAG_SENT; - else - msg->flags &= ~MAP_MSG_FLAG_SENT; - - obex_dbus_dict_append(iter, "Sent", DBUS_TYPE_BOOLEAN, &flag); -} - -static void parse_protected(struct map_msg *msg, const char *value, - DBusMessageIter *iter) -{ - gboolean flag = strcasecmp(value, "no") != 0; - - if (flag) - msg->flags |= MAP_MSG_FLAG_PROTECTED; - else - msg->flags &= ~MAP_MSG_FLAG_PROTECTED; - - obex_dbus_dict_append(iter, "Protected", DBUS_TYPE_BOOLEAN, &flag); -} - -static struct map_msg_parser { - const char *name; - void (*func) (struct map_msg *msg, const char *value, - DBusMessageIter *iter); -} msg_parsers[] = { - { "subject", parse_subject }, - { "datetime", parse_datetime }, - { "sender_name", parse_sender }, - { "sender_addressing", parse_sender_address }, - { "replyto_addressing", parse_replyto }, - { "recipient_name", parse_recipient }, - { "recipient_addressing", parse_recipient_address }, - { "type", parse_type }, - { "size", parse_size }, - { "text", parse_text }, - { "reception_status", parse_status }, - { "attachment_size", parse_attachment_size }, - { "priority", parse_priority }, - { "read", parse_read }, - { "sent", parse_sent }, - { "protected", parse_protected }, - { } -}; - -static void msg_element(GMarkupParseContext *ctxt, const char *element, - const char **names, const char **values, - gpointer user_data, GError **gerr) -{ - struct map_parser *parser = user_data; - struct map_data *data = parser->data; - DBusMessageIter entry, dict, *iter = parser->iter; - struct map_msg *msg; - const char *key; - gint i; - - if (strcasecmp("msg", element) != 0) - return; - - for (i = 0, key = names[i]; key; key = names[++i]) { - if (strcasecmp(key, "handle") == 0) - break; - } - - msg = g_hash_table_lookup(data->messages, values[i]); - if (msg == NULL) { - msg = map_msg_create(data, values[i]); - if (msg == NULL) - return; - } - - dbus_message_iter_open_container(iter, DBUS_TYPE_DICT_ENTRY, NULL, - &entry); - - dbus_message_iter_append_basic(&entry, DBUS_TYPE_OBJECT_PATH, - &msg->path); - - dbus_message_iter_open_container(&entry, DBUS_TYPE_ARRAY, - DBUS_DICT_ENTRY_BEGIN_CHAR_AS_STRING - DBUS_TYPE_STRING_AS_STRING - DBUS_TYPE_VARIANT_AS_STRING - DBUS_DICT_ENTRY_END_CHAR_AS_STRING, - &dict); - - for (i = 0, key = names[i]; key; key = names[++i]) { - struct map_msg_parser *parser; - - for (parser = msg_parsers; parser && parser->name; parser++) { - if (strcasecmp(key, parser->name) == 0) { - parser->func(msg, values[i], &dict); - break; - } - } - } - - dbus_message_iter_close_container(&entry, &dict); - dbus_message_iter_close_container(iter, &entry); -} - -static const GMarkupParser msg_parser = { - msg_element, - NULL, - NULL, - NULL, - NULL -}; - -static void message_listing_cb(struct obc_session *session, - struct obc_transfer *transfer, - GError *err, void *user_data) -{ - struct map_data *map = user_data; - struct map_parser *parser; - GMarkupParseContext *ctxt; - DBusMessage *reply; - DBusMessageIter iter, array; - char *contents; - size_t size; - int perr; - - if (err != NULL) { - reply = g_dbus_create_error(map->msg, - ERROR_INTERFACE ".Failed", - "%s", err->message); - goto done; - } - - perr = obc_transfer_get_contents(transfer, &contents, &size); - if (perr < 0) { - reply = g_dbus_create_error(map->msg, - ERROR_INTERFACE ".Failed", - "Error reading contents: %s", - strerror(-perr)); - goto done; - } - - reply = dbus_message_new_method_return(map->msg); - if (reply == NULL) - return; - - dbus_message_iter_init_append(reply, &iter); - dbus_message_iter_open_container(&iter, DBUS_TYPE_ARRAY, - DBUS_DICT_ENTRY_BEGIN_CHAR_AS_STRING - DBUS_TYPE_OBJECT_PATH_AS_STRING - DBUS_TYPE_ARRAY_AS_STRING - DBUS_DICT_ENTRY_BEGIN_CHAR_AS_STRING - DBUS_TYPE_STRING_AS_STRING - DBUS_TYPE_VARIANT_AS_STRING - DBUS_DICT_ENTRY_END_CHAR_AS_STRING - DBUS_DICT_ENTRY_END_CHAR_AS_STRING, - &array); - - parser = g_new(struct map_parser, 1); - parser->data = map; - parser->iter = &array; - - ctxt = g_markup_parse_context_new(&msg_parser, 0, parser, NULL); - g_markup_parse_context_parse(ctxt, contents, size, NULL); - g_markup_parse_context_free(ctxt); - dbus_message_iter_close_container(&iter, &array); - g_free(contents); - g_free(parser); - -done: - g_dbus_send_message(conn, reply); - dbus_message_unref(map->msg); -} - -static DBusMessage *get_message_listing(struct map_data *map, - DBusMessage *message, - const char *folder, - GObexApparam *apparam) -{ - struct obc_transfer *transfer; - GError *err = NULL; - DBusMessage *reply; - - transfer = obc_transfer_get("x-bt/MAP-msg-listing", folder, NULL, &err); - if (transfer == NULL) { - g_obex_apparam_free(apparam); - goto fail; - } - - obc_transfer_set_apparam(transfer, apparam); - - if (obc_session_queue(map->session, transfer, message_listing_cb, map, - &err)) { - map->msg = dbus_message_ref(message); - return NULL; - } - -fail: - reply = g_dbus_create_error(message, ERROR_INTERFACE ".Failed", "%s", - err->message); - g_error_free(err); - return reply; -} - -static GObexApparam *parse_subject_length(GObexApparam *apparam, - DBusMessageIter *iter) -{ - guint8 num; - - if (dbus_message_iter_get_arg_type(iter) != DBUS_TYPE_BYTE) - return NULL; - - dbus_message_iter_get_basic(iter, &num); - - return g_obex_apparam_set_uint8(apparam, MAP_AP_SUBJECTLENGTH, num); -} - -static uint64_t get_filter_mask(const char *filterstr) -{ - int i; - - if (!filterstr) - return 0; - - if (!g_ascii_strcasecmp(filterstr, "ALL")) - return FILTER_ALL; - - for (i = 0; filter_list[i] != NULL; i++) - if (!g_ascii_strcasecmp(filterstr, filter_list[i])) - return 1ULL << i; - - return 0; -} - -static int set_field(guint32 *filter, const char *filterstr) -{ - guint64 mask; - - mask = get_filter_mask(filterstr); - - if (mask == 0) - return -EINVAL; - - *filter |= mask; - return 0; -} - -static GObexApparam *parse_fields(GObexApparam *apparam, DBusMessageIter *iter) -{ - DBusMessageIter array; - guint32 filter = 0; - - if (dbus_message_iter_get_arg_type(iter) != DBUS_TYPE_ARRAY) - return NULL; - - dbus_message_iter_recurse(iter, &array); - - while (dbus_message_iter_get_arg_type(&array) == DBUS_TYPE_STRING) { - const char *string; - - dbus_message_iter_get_basic(&array, &string); - - if (set_field(&filter, string) < 0) - return NULL; - - dbus_message_iter_next(&array); - } - - return g_obex_apparam_set_uint32(apparam, MAP_AP_PARAMETERMASK, - filter); -} - -static GObexApparam *parse_filter_type(GObexApparam *apparam, - DBusMessageIter *iter) -{ - DBusMessageIter array; - guint8 types = 0; - - if (dbus_message_iter_get_arg_type(iter) != DBUS_TYPE_ARRAY) - return NULL; - - dbus_message_iter_recurse(iter, &array); - - while (dbus_message_iter_get_arg_type(&array) == DBUS_TYPE_STRING) { - const char *string; - - dbus_message_iter_get_basic(&array, &string); - - if (!g_ascii_strcasecmp(string, "sms")) - types |= 0x03; /* sms-gsm and sms-cdma */ - else if (!g_ascii_strcasecmp(string, "email")) - types |= 0x04; /* email */ - else if (!g_ascii_strcasecmp(string, "mms")) - types |= 0x08; /* mms */ - else - return NULL; - - dbus_message_iter_next(&array); - } - - return g_obex_apparam_set_uint8(apparam, MAP_AP_FILTERMESSAGETYPE, - types); -} - -static GObexApparam *parse_period_begin(GObexApparam *apparam, - DBusMessageIter *iter) -{ - const char *string; - - if (dbus_message_iter_get_arg_type(iter) != DBUS_TYPE_STRING) - return NULL; - - dbus_message_iter_get_basic(iter, &string); - - return g_obex_apparam_set_string(apparam, MAP_AP_FILTERPERIODBEGIN, - string); -} - -static GObexApparam *parse_period_end(GObexApparam *apparam, - DBusMessageIter *iter) -{ - const char *string; - - if (dbus_message_iter_get_arg_type(iter) != DBUS_TYPE_STRING) - return NULL; - - dbus_message_iter_get_basic(iter, &string); - - return g_obex_apparam_set_string(apparam, MAP_AP_FILTERPERIODEND, - string); -} - -static GObexApparam *parse_filter_read(GObexApparam *apparam, - DBusMessageIter *iter) -{ - guint8 status = FILTER_READ_STATUS_NONE; - dbus_bool_t dbus_status = FALSE; - - if (dbus_message_iter_get_arg_type(iter) != DBUS_TYPE_BOOLEAN) - return NULL; - - dbus_message_iter_get_basic(iter, &dbus_status); - - if (dbus_status) - status = FILTER_READ_STATUS_ONLY_READ; - else - status = FILTER_READ_STATUS_ONLY_UNREAD; - - return g_obex_apparam_set_uint8(apparam, MAP_AP_FILTERREADSTATUS, - status); -} - -static GObexApparam *parse_filter_recipient(GObexApparam *apparam, - DBusMessageIter *iter) -{ - const char *string; - - if (dbus_message_iter_get_arg_type(iter) != DBUS_TYPE_STRING) - return NULL; - - dbus_message_iter_get_basic(iter, &string); - - return g_obex_apparam_set_string(apparam, MAP_AP_FILTERRECIPIENT, - string); -} - -static GObexApparam *parse_filter_sender(GObexApparam *apparam, - DBusMessageIter *iter) -{ - const char *string; - - if (dbus_message_iter_get_arg_type(iter) != DBUS_TYPE_STRING) - return NULL; - - dbus_message_iter_get_basic(iter, &string); - - return g_obex_apparam_set_string(apparam, MAP_AP_FILTERORIGINATOR, - string); -} - -static GObexApparam *parse_filter_priority(GObexApparam *apparam, - DBusMessageIter *iter) -{ - guint8 priority = FILTER_PRIORITY_NONE; - dbus_bool_t dbus_priority = FALSE; - - if (dbus_message_iter_get_arg_type(iter) != DBUS_TYPE_BOOLEAN) - return NULL; - - dbus_message_iter_get_basic(iter, &dbus_priority); - - if (dbus_priority) - priority = FILTER_PRIORITY_ONLY_HIGH; - else - priority = FILTER_PRIORITY_ONLY_NONHIGH; - - return g_obex_apparam_set_uint8(apparam, MAP_AP_FILTERPRIORITY, - priority); -} - -static GObexApparam *parse_message_filters(GObexApparam *apparam, - DBusMessageIter *iter) -{ - DBusMessageIter array; - - DBG(""); - - if (dbus_message_iter_get_arg_type(iter) != DBUS_TYPE_ARRAY) - return NULL; - - dbus_message_iter_recurse(iter, &array); - - while (dbus_message_iter_get_arg_type(&array) == DBUS_TYPE_DICT_ENTRY) { - const char *key; - DBusMessageIter value, entry; - - dbus_message_iter_recurse(&array, &entry); - dbus_message_iter_get_basic(&entry, &key); - - dbus_message_iter_next(&entry); - dbus_message_iter_recurse(&entry, &value); - - if (strcasecmp(key, "Offset") == 0) { - if (parse_offset(apparam, &value) == NULL) - return NULL; - } else if (strcasecmp(key, "MaxCount") == 0) { - if (parse_max_count(apparam, &value) == NULL) - return NULL; - } else if (strcasecmp(key, "SubjectLength") == 0) { - if (parse_subject_length(apparam, &value) == NULL) - return NULL; - } else if (strcasecmp(key, "Fields") == 0) { - if (parse_fields(apparam, &value) == NULL) - return NULL; - } else if (strcasecmp(key, "Types") == 0) { - if (parse_filter_type(apparam, &value) == NULL) - return NULL; - } else if (strcasecmp(key, "PeriodBegin") == 0) { - if (parse_period_begin(apparam, &value) == NULL) - return NULL; - } else if (strcasecmp(key, "PeriodEnd") == 0) { - if (parse_period_end(apparam, &value) == NULL) - return NULL; - } else if (strcasecmp(key, "Read") == 0) { - if (parse_filter_read(apparam, &value) == NULL) - return NULL; - } else if (strcasecmp(key, "Recipient") == 0) { - if (parse_filter_recipient(apparam, &value) == NULL) - return NULL; - } else if (strcasecmp(key, "Sender") == 0) { - if (parse_filter_sender(apparam, &value) == NULL) - return NULL; - } else if (strcasecmp(key, "Priority") == 0) { - if (parse_filter_priority(apparam, &value) == NULL) - return NULL; - } - - dbus_message_iter_next(&array); - } - - return apparam; -} - -static DBusMessage *map_list_messages(DBusConnection *connection, - DBusMessage *message, void *user_data) -{ - struct map_data *map = user_data; - const char *folder; - GObexApparam *apparam; - DBusMessageIter args; - - dbus_message_iter_init(message, &args); - - if (dbus_message_iter_get_arg_type(&args) != DBUS_TYPE_STRING) - return g_dbus_create_error(message, - ERROR_INTERFACE ".InvalidArguments", NULL); - - dbus_message_iter_get_basic(&args, &folder); - - apparam = g_obex_apparam_set_uint16(NULL, MAP_AP_MAXLISTCOUNT, - DEFAULT_COUNT); - apparam = g_obex_apparam_set_uint16(apparam, MAP_AP_STARTOFFSET, - DEFAULT_OFFSET); - - dbus_message_iter_next(&args); - - if (parse_message_filters(apparam, &args) == NULL) { - g_obex_apparam_free(apparam); - return g_dbus_create_error(message, - ERROR_INTERFACE ".InvalidArguments", NULL); - } - - return get_message_listing(map, message, folder, apparam); -} - -static char **get_filter_strs(uint64_t filter, gint *size) -{ - char **list, **item; - gint i; - - list = g_malloc0(sizeof(char **) * (FILTER_BIT_MAX + 2)); - - item = list; - - for (i = 0; filter_list[i] != NULL; i++) - if (filter & (1ULL << i)) - *(item++) = g_strdup(filter_list[i]); - - *item = NULL; - *size = item - list; - return list; -} - -static DBusMessage *map_list_filter_fields(DBusConnection *connection, - DBusMessage *message, void *user_data) -{ - char **filters = NULL; - gint size; - DBusMessage *reply; - - filters = get_filter_strs(FILTER_ALL, &size); - reply = dbus_message_new_method_return(message); - dbus_message_append_args(reply, DBUS_TYPE_ARRAY, - DBUS_TYPE_STRING, &filters, size, - DBUS_TYPE_INVALID); - - g_strfreev(filters); - return reply; -} - -static void update_inbox_cb(struct obc_session *session, - struct obc_transfer *transfer, - GError *err, void *user_data) -{ - struct map_data *map = user_data; - DBusMessage *reply; - - if (err != NULL) { - reply = g_dbus_create_error(map->msg, - ERROR_INTERFACE ".Failed", - "%s", err->message); - goto done; - } - - reply = dbus_message_new_method_return(map->msg); - -done: - g_dbus_send_message(conn, reply); - dbus_message_unref(map->msg); -} - -static DBusMessage *map_update_inbox(DBusConnection *connection, - DBusMessage *message, void *user_data) -{ - struct map_data *map = user_data; - DBusMessage *reply; - char contents[2]; - struct obc_transfer *transfer; - GError *err = NULL; - - contents[0] = FILLER_BYTE; - contents[1] = '\0'; - - transfer = obc_transfer_put("x-bt/MAP-messageUpdate", NULL, NULL, - contents, sizeof(contents), - &err); - if (transfer == NULL) - goto fail; - - if (!obc_session_queue(map->session, transfer, update_inbox_cb, - map, &err)) - goto fail; - - map->msg = dbus_message_ref(message); - - return NULL; - -fail: - reply = g_dbus_create_error(message, ERROR_INTERFACE ".Failed", "%s", - err->message); - g_error_free(err); - return reply; -} - -static DBusMessage *push_message(struct map_data *map, - DBusMessage *message, - const char *filename, - const char *folder, - GObexApparam *apparam) -{ - struct obc_transfer *transfer; - GError *err = NULL; - DBusMessage *reply; - - transfer = obc_transfer_put("x-bt/message", folder, filename, - NULL, 0, &err); - if (transfer == NULL) { - g_obex_apparam_free(apparam); - goto fail; - } - - obc_transfer_set_apparam(transfer, apparam); - - if (!obc_session_queue(map->session, transfer, NULL, NULL, &err)) - goto fail; - - return obc_transfer_create_dbus_reply(transfer, message); - -fail: - reply = g_dbus_create_error(message, ERROR_INTERFACE ".Failed", "%s", - err->message); - g_error_free(err); - return reply; -} - -static GObexApparam *parse_transparent(GObexApparam *apparam, - DBusMessageIter *iter) -{ - dbus_bool_t transparent; - - if (dbus_message_iter_get_arg_type(iter) != DBUS_TYPE_BOOLEAN) - return NULL; - - dbus_message_iter_get_basic(iter, &transparent); - - return g_obex_apparam_set_uint8(apparam, MAP_AP_TRANSPARENT, - transparent ? TRUE : FALSE); -} - -static GObexApparam *parse_retry(GObexApparam *apparam, DBusMessageIter *iter) -{ - dbus_bool_t retry; - - if (dbus_message_iter_get_arg_type(iter) != DBUS_TYPE_BOOLEAN) - return NULL; - - dbus_message_iter_get_basic(iter, &retry); - - return g_obex_apparam_set_uint8(apparam, MAP_AP_RETRY, - retry ? TRUE : FALSE); -} - -static GObexApparam *parse_charset(GObexApparam *apparam, DBusMessageIter *iter) -{ - guint8 charset = 0; - const char *string; - - if (dbus_message_iter_get_arg_type(iter) != DBUS_TYPE_STRING) - return NULL; - - dbus_message_iter_get_basic(iter, &string); - - if (strcasecmp(string, "native") == 0) - charset = CHARSET_NATIVE; - else if (strcasecmp(string, "utf8") == 0) - charset = CHARSET_UTF8; - else - return NULL; - - return g_obex_apparam_set_uint8(apparam, MAP_AP_CHARSET, charset); -} - -static GObexApparam *parse_push_options(GObexApparam *apparam, - DBusMessageIter *iter) -{ - DBusMessageIter array; - - if (dbus_message_iter_get_arg_type(iter) != DBUS_TYPE_ARRAY) - return NULL; - - dbus_message_iter_recurse(iter, &array); - - while (dbus_message_iter_get_arg_type(&array) == DBUS_TYPE_DICT_ENTRY) { - const char *key; - DBusMessageIter value, entry; - - dbus_message_iter_recurse(&array, &entry); - dbus_message_iter_get_basic(&entry, &key); - - dbus_message_iter_next(&entry); - dbus_message_iter_recurse(&entry, &value); - - if (strcasecmp(key, "Transparent") == 0) { - if (parse_transparent(apparam, &value) == NULL) - return NULL; - } else if (strcasecmp(key, "Retry") == 0) { - if (parse_retry(apparam, &value) == NULL) - return NULL; - } else if (strcasecmp(key, "Charset") == 0) { - if (parse_charset(apparam, &value) == NULL) - return NULL; - } - - dbus_message_iter_next(&array); - } - - return apparam; -} - -static DBusMessage *map_push_message(DBusConnection *connection, - DBusMessage *message, void *user_data) -{ - struct map_data *map = user_data; - char *filename; - char *folder; - GObexApparam *apparam; - DBusMessageIter args; - - dbus_message_iter_init(message, &args); - - if (dbus_message_iter_get_arg_type(&args) != DBUS_TYPE_STRING) - return g_dbus_create_error(message, - ERROR_INTERFACE ".InvalidArguments", NULL); - - dbus_message_iter_get_basic(&args, &filename); - - dbus_message_iter_next(&args); - - if (dbus_message_iter_get_arg_type(&args) != DBUS_TYPE_STRING) { - return g_dbus_create_error(message, - ERROR_INTERFACE ".InvalidArguments", NULL); - } - - dbus_message_iter_get_basic(&args, &folder); - - dbus_message_iter_next(&args); - - apparam = g_obex_apparam_set_uint8(NULL, MAP_AP_CHARSET, CHARSET_UTF8); - - if (parse_push_options(apparam, &args) == NULL) { - g_obex_apparam_free(apparam); - return g_dbus_create_error(message, - ERROR_INTERFACE ".InvalidArguments", NULL); - } - - return push_message(map, message, filename, folder, apparam); -} - -static const GDBusMethodTable map_methods[] = { - { GDBUS_ASYNC_METHOD("SetFolder", - GDBUS_ARGS({ "name", "s" }), NULL, - map_setpath) }, - { GDBUS_ASYNC_METHOD("ListFolders", - GDBUS_ARGS({ "filters", "a{sv}" }), - GDBUS_ARGS({ "content", "aa{sv}" }), - map_list_folders) }, - { GDBUS_ASYNC_METHOD("ListMessages", - GDBUS_ARGS({ "folder", "s" }, { "filter", "a{sv}" }), - GDBUS_ARGS({ "messages", "a{oa{sv}}" }), - map_list_messages) }, - { GDBUS_METHOD("ListFilterFields", - NULL, - GDBUS_ARGS({ "fields", "as" }), - map_list_filter_fields) }, - { GDBUS_ASYNC_METHOD("UpdateInbox", - NULL, - NULL, - map_update_inbox) }, - { GDBUS_ASYNC_METHOD("PushMessage", - GDBUS_ARGS({ "file", "s" }, { "folder", "s" }, - { "args", "a{sv}" }), - GDBUS_ARGS({ "transfer", "o" }, - { "properties", "a{sv}" }), - map_push_message) }, - { } -}; - -static void map_msg_remove(void *data) -{ - struct map_msg *msg = data; - char *path; - - path = msg->path; - msg->path = NULL; - g_dbus_unregister_interface(conn, path, MAP_MSG_INTERFACE); - g_free(path); -} - -static bool set_notification_registration(struct map_data *map, bool status) -{ - struct obc_transfer *transfer; - GError *err = NULL; - GObexApparam *apparam; - char contents[2]; - - contents[0] = FILLER_BYTE; - contents[1] = '\0'; - - transfer = obc_transfer_put("x-bt/MAP-NotificationRegistration", NULL, - NULL, contents, sizeof(contents), &err); - - if (transfer == NULL) - return false; - - apparam = g_obex_apparam_set_uint8(NULL, MAP_AP_NOTIFICATIONSTATUS, - status); - - obc_transfer_set_apparam(transfer, apparam); - - if (obc_session_queue(map->session, transfer, NULL, map, &err)) - return true; - - return false; -} - -static void map_free(void *data) -{ - struct map_data *map = data; - - set_notification_registration(map, false); - - obc_session_unref(map->session); - g_hash_table_unref(map->messages); - g_free(map); -} - -static int map_probe(struct obc_session *session) -{ - struct map_data *map; - const char *path; - - path = obc_session_get_path(session); - - DBG("%s", path); - - map = g_try_new0(struct map_data, 1); - if (!map) - return -ENOMEM; - - map->session = obc_session_ref(session); - map->messages = g_hash_table_new_full(g_str_hash, g_str_equal, NULL, - map_msg_remove); - - set_notification_registration(map, true); - - if (!g_dbus_register_interface(conn, path, MAP_INTERFACE, map_methods, - NULL, NULL, map, map_free)) { - map_free(map); - - return -ENOMEM; - } - - return 0; -} - -static void map_remove(struct obc_session *session) -{ - const char *path = obc_session_get_path(session); - - DBG("%s", path); - - g_dbus_unregister_interface(conn, path, MAP_INTERFACE); -} - -static struct obc_driver map = { - .service = "MAP", - .uuid = MAS_UUID, - .target = OBEX_MAS_UUID, - .target_len = OBEX_MAS_UUID_LEN, - .probe = map_probe, - .remove = map_remove -}; - -int map_init(void) -{ - int err; - - DBG(""); - - conn = dbus_bus_get(DBUS_BUS_SESSION, NULL); - if (!conn) - return -EIO; - - err = obc_driver_register(&map); - if (err < 0) { - dbus_connection_unref(conn); - conn = NULL; - return err; - } - - return 0; -} - -void map_exit(void) -{ - DBG(""); - - dbus_connection_unref(conn); - conn = NULL; - - obc_driver_unregister(&map); -} diff --git a/GRIB_BLE_HUB/libs/ble_extend/obexd/client/map.h b/GRIB_BLE_HUB/libs/ble_extend/obexd/client/map.h deleted file mode 100644 index 86f6b95..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/obexd/client/map.h +++ /dev/null @@ -1,24 +0,0 @@ -/* - * - * OBEX Client - * - * Copyright (C) 2011 Bartosz Szatkowski for Comarch - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -int map_init(void); -void map_exit(void); diff --git a/GRIB_BLE_HUB/libs/ble_extend/obexd/client/mns.c b/GRIB_BLE_HUB/libs/ble_extend/obexd/client/mns.c deleted file mode 100644 index 752452c..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/obexd/client/mns.c +++ /dev/null @@ -1,363 +0,0 @@ -/* - * - * OBEX Server - * - * Copyright (C) 2013 BMW Car IT GmbH. All rights reserved. - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include -#include -#include -#include - -#include -#include - -#include "obexd.h" -#include "plugin.h" -#include "log.h" -#include "obex.h" -#include "service.h" -#include "mimetype.h" -#include "map_ap.h" -#include "map-event.h" - -struct mns_session { - GString *buffer; - GObexApparam *inparams; - char *remote_address; - uint8_t mas_instance_id; -}; - -static const uint8_t MNS_TARGET[TARGET_SIZE] = { - 0xbb, 0x58, 0x2b, 0x41, 0x42, 0x0c, 0x11, 0xdb, - 0xb0, 0xde, 0x08, 0x00, 0x20, 0x0c, 0x9a, 0x66 }; - -static int get_params(struct obex_session *os, struct mns_session *mns) -{ - const uint8_t *buffer; - ssize_t size; - - size = obex_get_apparam(os, &buffer); - if (size < 0) - size = 0; - - mns->inparams = g_obex_apparam_decode(buffer, size); - if (mns->inparams == NULL) { - DBG("Error when parsing parameters!"); - return -EBADR; - } - - return 0; -} - -static void reset_request(struct mns_session *mns) -{ - if (mns->buffer) { - g_string_free(mns->buffer, TRUE); - mns->buffer = NULL; - } - - if (mns->inparams) { - g_obex_apparam_free(mns->inparams); - mns->inparams = NULL; - } - - if (mns->remote_address) - g_free(mns->remote_address); -} - -static void mns_session_free(struct mns_session *mns) -{ - reset_request(mns); - g_free(mns); -} - -static void *mns_connect(struct obex_session *os, int *err) -{ - struct mns_session *mns; - char *address; - - manager_register_session(os); - - mns = g_new0(struct mns_session, 1); - - if (obex_getpeername(os, &address) == 0) { - mns->remote_address = g_strdup(address); - g_free(address); - } - - DBG("MNS connected to %s", mns->remote_address); - - if (err) - *err = 0; - - return mns; -} - -static void mns_disconnect(struct obex_session *os, void *user_data) -{ - struct mns_session *mns = user_data; - - DBG("MNS disconnected from %s", mns->remote_address); - - manager_unregister_session(os); - - mns_session_free(mns); -} - -static int mns_put(struct obex_session *os, void *user_data) -{ - struct mns_session *mns = user_data; - const char *type = obex_get_type(os); - const char *name = obex_get_name(os); - int ret; - - DBG("PUT: name %s type %s mns %p", name, type, mns); - - if (type == NULL) - return -EBADR; - - ret = get_params(os, mns); - if (ret < 0) - goto failed; - - ret = obex_put_stream_start(os, name); - if (ret < 0) - goto failed; - - return 0; - -failed: - reset_request(mns); - - return ret; -} - -static void parse_event_report_type(struct map_event *event, const char *value) -{ - if (!g_ascii_strcasecmp(value, "NewMessage")) - event->type = MAP_ET_NEW_MESSAGE; - else if (!g_ascii_strcasecmp(value, "DeliverySuccess")) - event->type = MAP_ET_DELIVERY_SUCCESS; - else if (!g_ascii_strcasecmp(value, "SendingSuccess")) - event->type = MAP_ET_SENDING_SUCCESS; - else if (!g_ascii_strcasecmp(value, "DeliveryFailure")) - event->type = MAP_ET_DELIVERY_FAILURE; - else if (!g_ascii_strcasecmp(value, "SendingFailure")) - event->type = MAP_ET_SENDING_FAILURE; - else if (!g_ascii_strcasecmp(value, "MemoryFull")) - event->type = MAP_ET_MEMORY_FULL; - else if (!g_ascii_strcasecmp(value, "MemoryAvailable")) - event->type = MAP_ET_MEMORY_AVAILABLE; - else if (!g_ascii_strcasecmp(value, "MessageDeleted")) - event->type = MAP_ET_MESSAGE_DELETED; - else if (!g_ascii_strcasecmp(value, "MessageShift")) - event->type = MAP_ET_MESSAGE_SHIFT; -} - -static void parse_event_report_handle(struct map_event *event, - const char *value) -{ - event->handle = g_strdup(value); -} - -static void parse_event_report_folder(struct map_event *event, - const char *value) -{ - event->folder = g_strdup(value); -} - -static void parse_event_report_old_folder(struct map_event *event, - const char *value) -{ - event->old_folder = g_strdup(value); -} - -static void parse_event_report_msg_type(struct map_event *event, - const char *value) -{ - event->msg_type = g_strdup(value); -} - -static struct map_event_report_parser { - const char *name; - void (*func) (struct map_event *event, const char *value); -} event_report_parsers[] = { - { "type", parse_event_report_type }, - { "handle", parse_event_report_handle }, - { "folder", parse_event_report_folder }, - { "old_folder", parse_event_report_old_folder }, - { "msg_type", parse_event_report_msg_type }, - { } -}; - -static void event_report_element(GMarkupParseContext *ctxt, - const gchar *element, const gchar **names, - const gchar **values, gpointer user_data, - GError **gerr) -{ - struct map_event *event = user_data; - const gchar *key; - gint i; - - if (strcasecmp("event", element) != 0) - return; - - for (i = 0, key = names[i]; key; key = names[++i]) { - struct map_event_report_parser *parser; - - for (parser = event_report_parsers; parser && parser->name; - parser++) { - if (strcasecmp(key, parser->name) == 0) { - parser->func(event, values[i]); - break; - } - } - } -} - -static const GMarkupParser event_report_parser = { - event_report_element, - NULL, - NULL, - NULL, - NULL -}; - -static void map_event_free(struct map_event *event) -{ - g_free(event->handle); - g_free(event->folder); - g_free(event->old_folder); - g_free(event->msg_type); - g_free(event); -} - -static void *event_report_open(const char *name, int oflag, mode_t mode, - void *driver_data, size_t *size, int *err) -{ - struct mns_session *mns = driver_data; - - DBG(""); - - g_obex_apparam_get_uint8(mns->inparams, MAP_AP_MASINSTANCEID, - &mns->mas_instance_id); - - mns->buffer = g_string_new(""); - - if (*err < 0) - return NULL; - else - return mns; -} - -static int event_report_close(void *obj) -{ - struct mns_session *mns = obj; - GMarkupParseContext *ctxt; - struct map_event *event; - - event = g_new0(struct map_event, 1); - ctxt = g_markup_parse_context_new(&event_report_parser, 0, event, - NULL); - g_markup_parse_context_parse(ctxt, mns->buffer->str, mns->buffer->len, - NULL); - g_markup_parse_context_free(ctxt); - - DBG("Event report for %s:%d", mns->remote_address, - mns->mas_instance_id); - - DBG("type=%x, handle=%s, folder=%s, old_folder=%s, msg_type=%s", - event->type, event->handle, event->folder, - event->old_folder, event->msg_type); - - map_event_free(event); - - reset_request(mns); - - return 0; -} - -static ssize_t event_report_write(void *obj, const void *buf, size_t count) -{ - struct mns_session *mns = obj; - - DBG(""); - - g_string_append_len(mns->buffer, buf, count); - return count; -} - -static struct obex_service_driver mns = { - .name = "Message Notification server", - .service = OBEX_MNS, - .target = MNS_TARGET, - .target_size = TARGET_SIZE, - .connect = mns_connect, - .put = mns_put, - .disconnect = mns_disconnect, -}; - -static struct obex_mime_type_driver mime_event_report = { - .target = MNS_TARGET, - .target_size = TARGET_SIZE, - .mimetype = "x-bt/MAP-event-report", - .open = event_report_open, - .close = event_report_close, - .write = event_report_write, -}; - -static struct obex_mime_type_driver *mas_drivers[] = { - &mime_event_report, - NULL -}; - -static int mns_init(void) -{ - int err; - - err = obex_mime_type_driver_register(&mime_event_report); - if (err < 0) - goto fail_mime_event; - - err = obex_service_driver_register(&mns); - if (err < 0) - goto fail_mns_reg; - - return 0; - -fail_mns_reg: - obex_mime_type_driver_unregister(&mime_event_report); -fail_mime_event: - return err; -} - -static void mns_exit(void) -{ - obex_service_driver_unregister(&mns); - obex_mime_type_driver_unregister(&mime_event_report); -} - -OBEX_PLUGIN_DEFINE(mns, mns_init, mns_exit) diff --git a/GRIB_BLE_HUB/libs/ble_extend/obexd/client/opp.c b/GRIB_BLE_HUB/libs/ble_extend/obexd/client/opp.c deleted file mode 100644 index d6fd1c6..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/obexd/client/opp.c +++ /dev/null @@ -1,214 +0,0 @@ -/* - * - * OBEX Client - * - * Copyright (C) 2011 Intel Corporation - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include - -#include "log.h" - -#include "transfer.h" -#include "session.h" -#include "driver.h" -#include "opp.h" - -#define OPP_UUID "00001105-0000-1000-8000-00805f9b34fb" -#define OPP_INTERFACE "org.bluez.obex.ObjectPush1" -#define ERROR_INTERFACE "org.bluez.obex.Error" - -struct opp_data { - struct obc_session *session; -}; - -static DBusConnection *conn = NULL; - -static DBusMessage *opp_send_file(DBusConnection *connection, - DBusMessage *message, void *user_data) -{ - struct opp_data *opp = user_data; - struct obc_transfer *transfer; - DBusMessage *reply; - char *filename; - char *basename; - GError *err = NULL; - - if (dbus_message_get_args(message, NULL, - DBUS_TYPE_STRING, &filename, - DBUS_TYPE_INVALID) == FALSE) - return g_dbus_create_error(message, - ERROR_INTERFACE ".InvalidArguments", NULL); - - basename = g_path_get_basename(filename); - - transfer = obc_transfer_put(NULL, basename, filename, NULL, 0, &err); - - g_free(basename); - - if (transfer == NULL) - goto fail; - - if (!obc_session_queue(opp->session, transfer, NULL, NULL, &err)) - goto fail; - - return obc_transfer_create_dbus_reply(transfer, message); - -fail: - reply = g_dbus_create_error(message, - ERROR_INTERFACE ".Failed", "%s", err->message); - g_error_free(err); - return reply; -} - -static DBusMessage *opp_pull_business_card(DBusConnection *connection, - DBusMessage *message, void *user_data) -{ - struct opp_data *opp = user_data; - struct obc_transfer *pull; - DBusMessage *reply; - const char *filename = NULL; - GError *err = NULL; - - if (dbus_message_get_args(message, NULL, - DBUS_TYPE_STRING, &filename, - DBUS_TYPE_INVALID) == FALSE) - return g_dbus_create_error(message, - ERROR_INTERFACE ".InvalidArguments", NULL); - - pull = obc_transfer_get("text/x-vcard", NULL, filename, &err); - if (pull == NULL) - goto fail; - - if (!obc_session_queue(opp->session, pull, NULL, NULL, &err)) - goto fail; - - return obc_transfer_create_dbus_reply(pull, message); - -fail: - reply = g_dbus_create_error(message, - ERROR_INTERFACE ".Failed", "%s", err->message); - g_error_free(err); - return reply; -} - -static DBusMessage *opp_exchange_business_cards(DBusConnection *connection, - DBusMessage *message, void *user_data) -{ - return g_dbus_create_error(message, ERROR_INTERFACE ".Failed", NULL); -} - -static const GDBusMethodTable opp_methods[] = { - { GDBUS_METHOD("SendFile", - GDBUS_ARGS({ "sourcefile", "s" }), - GDBUS_ARGS({ "transfer", "o" }, { "properties", "a{sv}" }), - opp_send_file) }, - { GDBUS_METHOD("PullBusinessCard", - GDBUS_ARGS({ "targetfile", "s" }), - GDBUS_ARGS({ "transfer", "o" }, { "properties", "a{sv}" }), - opp_pull_business_card) }, - { GDBUS_METHOD("ExchangeBusinessCards", - GDBUS_ARGS({ "clientfile", "s" }, { "targetfile", "s" }), - GDBUS_ARGS({ "transfer", "o" }, { "properties", "a{sv}" }), - opp_exchange_business_cards) }, - { } -}; - -static void opp_free(void *data) -{ - struct opp_data *opp = data; - - obc_session_unref(opp->session); - g_free(opp); -} - -static int opp_probe(struct obc_session *session) -{ - struct opp_data *opp; - const char *path; - - path = obc_session_get_path(session); - - DBG("%s", path); - - opp = g_try_new0(struct opp_data, 1); - if (!opp) - return -ENOMEM; - - opp->session = obc_session_ref(session); - - if (!g_dbus_register_interface(conn, path, OPP_INTERFACE, opp_methods, - NULL, NULL, opp, opp_free)) { - opp_free(opp); - return -ENOMEM; - } - - return 0; -} - -static void opp_remove(struct obc_session *session) -{ - const char *path = obc_session_get_path(session); - - DBG("%s", path); - - g_dbus_unregister_interface(conn, path, OPP_INTERFACE); -} - -static struct obc_driver opp = { - .service = "OPP", - .uuid = OPP_UUID, - .probe = opp_probe, - .remove = opp_remove -}; - -int opp_init(void) -{ - int err; - - DBG(""); - - conn = dbus_bus_get(DBUS_BUS_SESSION, NULL); - if (!conn) - return -EIO; - - err = obc_driver_register(&opp); - if (err < 0) { - dbus_connection_unref(conn); - conn = NULL; - return err; - } - - return 0; -} - -void opp_exit(void) -{ - DBG(""); - - dbus_connection_unref(conn); - conn = NULL; - - obc_driver_unregister(&opp); -} diff --git a/GRIB_BLE_HUB/libs/ble_extend/obexd/client/opp.h b/GRIB_BLE_HUB/libs/ble_extend/obexd/client/opp.h deleted file mode 100644 index a23e94e..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/obexd/client/opp.h +++ /dev/null @@ -1,25 +0,0 @@ -/* - * - * OBEX Client - * - * Copyright (C) 2011 Intel Corporation - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -int opp_init(void); -void opp_exit(void); diff --git a/GRIB_BLE_HUB/libs/ble_extend/obexd/client/pbap.c b/GRIB_BLE_HUB/libs/ble_extend/obexd/client/pbap.c deleted file mode 100644 index 25cc17c..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/obexd/client/pbap.c +++ /dev/null @@ -1,1031 +0,0 @@ -/* - * - * OBEX Client - * - * Copyright (C) 2007-2010 Intel Corporation - * Copyright (C) 2007-2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include -#include -#include -#include - -#include -#include - -#include "log.h" - -#include "transfer.h" -#include "session.h" -#include "driver.h" -#include "pbap.h" - -#define OBEX_PBAP_UUID \ - "\x79\x61\x35\xF0\xF0\xC5\x11\xD8\x09\x66\x08\x00\x20\x0C\x9A\x66" -#define OBEX_PBAP_UUID_LEN 16 - -#define FORMAT_VCARD21 0x0 -#define FORMAT_VCARD30 0x1 - -#define ORDER_INDEXED 0x0 -#define ORDER_ALPHANUMERIC 0x1 -#define ORDER_PHONETIC 0x2 - -#define ATTRIB_NAME 0x0 -#define ATTRIB_NUMBER 0x1 -#define ATTRIB_SOUND 0x2 - -#define DEFAULT_COUNT 65535 -#define DEFAULT_OFFSET 0 - -#define PULLPHONEBOOK 0x1 -#define GETPHONEBOOKSIZE 0x2 - -#define ORDER_TAG 0x01 -#define SEARCHVALUE_TAG 0x02 -#define SEARCHATTRIB_TAG 0x03 -#define MAXLISTCOUNT_TAG 0x04 -#define LISTSTARTOFFSET_TAG 0x05 -#define FILTER_TAG 0x06 -#define FORMAT_TAG 0X07 -#define PHONEBOOKSIZE_TAG 0X08 -#define NEWMISSEDCALLS_TAG 0X09 - -static const char *filter_list[] = { - "VERSION", - "FN", - "N", - "PHOTO", - "BDAY", - "ADR", - "LABEL", - "TEL", - "EMAIL", - "MAILER", - "TZ", - "GEO", - "TITLE", - "ROLE", - "LOGO", - "AGENT", - "ORG", - "NOTE", - "REV", - "SOUND", - "URL", - "UID", - "KEY", - "NICKNAME", - "CATEGORIES", - "PROID", - "CLASS", - "SORT-STRING", - "X-IRMC-CALL-DATETIME", - NULL -}; - -#define FILTER_BIT_MAX 63 -#define FILTER_ALL 0xFFFFFFFFFFFFFFFFULL - -#define PBAP_INTERFACE "org.bluez.obex.PhonebookAccess1" -#define ERROR_INTERFACE "org.bluez.obex.Error" -#define PBAP_UUID "0000112f-0000-1000-8000-00805f9b34fb" - -struct pbap_data { - struct obc_session *session; - char *path; -}; - -struct pending_request { - struct pbap_data *pbap; - DBusMessage *msg; -}; - -static DBusConnection *conn = NULL; - -static struct pending_request *pending_request_new(struct pbap_data *pbap, - DBusMessage *message) -{ - struct pending_request *p; - - p = g_new0(struct pending_request, 1); - p->pbap = pbap; - p->msg = dbus_message_ref(message); - - return p; -} - -static void pending_request_free(struct pending_request *p) -{ - dbus_message_unref(p->msg); - g_free(p); -} - -static void listing_element(GMarkupParseContext *ctxt, - const char *element, - const char **names, - const char **values, - gpointer user_data, - GError **gerr) -{ - DBusMessageIter *item = user_data, entry; - char **key; - const char *handle = NULL, *vcardname = NULL; - - if (g_str_equal(element, "card") != TRUE) - return; - - for (key = (char **) names; *key; key++, values++) { - if (g_str_equal(*key, "handle") == TRUE) - handle = *values; - else if (g_str_equal(*key, "name") == TRUE) - vcardname = *values; - } - - if (!handle || !vcardname) - return; - - dbus_message_iter_open_container(item, DBUS_TYPE_STRUCT, NULL, &entry); - dbus_message_iter_append_basic(&entry, DBUS_TYPE_STRING, &handle); - dbus_message_iter_append_basic(&entry, DBUS_TYPE_STRING, &vcardname); - dbus_message_iter_close_container(item, &entry); -} - -static const GMarkupParser listing_parser = { - listing_element, - NULL, - NULL, - NULL, - NULL -}; -static char *build_phonebook_path(const char *location, const char *item) -{ - char *path = NULL, *tmp, *tmp1; - - if (!g_ascii_strcasecmp(location, "int") || - !g_ascii_strcasecmp(location, "internal")) - path = g_strdup("/telecom"); - else if (!g_ascii_strncasecmp(location, "sim", 3)) { - if (strlen(location) == 3) - tmp = g_strdup("sim1"); - else - tmp = g_ascii_strup(location, 4); - - path = g_build_filename("/", tmp, "telecom", NULL); - g_free(tmp); - } else - return NULL; - - if (!g_ascii_strcasecmp(item, "pb") || - !g_ascii_strcasecmp(item, "ich") || - !g_ascii_strcasecmp(item, "och") || - !g_ascii_strcasecmp(item, "mch") || - !g_ascii_strcasecmp(item, "cch")) { - tmp = path; - tmp1 = g_ascii_strdown(item, -1); - path = g_build_filename(tmp, tmp1, NULL); - g_free(tmp); - g_free(tmp1); - } else { - g_free(path); - return NULL; - } - - return path; -} - -/* should only be called inside pbap_set_path */ -static void pbap_reset_path(struct pbap_data *pbap) -{ - if (!pbap->path) - return; - - obc_session_setpath(pbap->session, pbap->path, NULL, NULL, NULL); -} - -static void pbap_setpath_cb(struct obc_session *session, - struct obc_transfer *transfer, - GError *err, void *user_data) -{ - struct pending_request *request = user_data; - struct pbap_data *pbap = request->pbap; - - if (err != NULL) - pbap_reset_path(pbap); - - if (err) { - DBusMessage *reply = g_dbus_create_error(request->msg, - ERROR_INTERFACE ".Failed", - "%s", err->message); - g_dbus_send_message(conn, reply); - } else - g_dbus_send_reply(conn, request->msg, DBUS_TYPE_INVALID); - - pending_request_free(request); -} - -static void read_return_apparam(struct obc_transfer *transfer, - guint16 *phone_book_size, guint8 *new_missed_calls) -{ - GObexApparam *apparam; - - *phone_book_size = 0; - *new_missed_calls = 0; - - apparam = obc_transfer_get_apparam(transfer); - if (apparam == NULL) - return; - - g_obex_apparam_get_uint16(apparam, PHONEBOOKSIZE_TAG, - phone_book_size); - g_obex_apparam_get_uint8(apparam, NEWMISSEDCALLS_TAG, - new_missed_calls); -} - -static void phonebook_size_callback(struct obc_session *session, - struct obc_transfer *transfer, - GError *err, void *user_data) -{ - struct pending_request *request = user_data; - DBusMessage *reply; - guint16 phone_book_size; - guint8 new_missed_calls; - - if (err) { - reply = g_dbus_create_error(request->msg, - ERROR_INTERFACE ".Failed", - "%s", err->message); - goto send; - } - - reply = dbus_message_new_method_return(request->msg); - - read_return_apparam(transfer, &phone_book_size, &new_missed_calls); - - dbus_message_append_args(reply, - DBUS_TYPE_UINT16, &phone_book_size, - DBUS_TYPE_INVALID); - -send: - g_dbus_send_message(conn, reply); - pending_request_free(request); -} - -static void pull_vcard_listing_callback(struct obc_session *session, - struct obc_transfer *transfer, - GError *err, void *user_data) -{ - struct pending_request *request = user_data; - GMarkupParseContext *ctxt; - DBusMessage *reply; - DBusMessageIter iter, array; - char *contents; - size_t size; - int perr; - - if (err) { - reply = g_dbus_create_error(request->msg, - ERROR_INTERFACE ".Failed", - "%s", err->message); - goto send; - } - - perr = obc_transfer_get_contents(transfer, &contents, &size); - if (perr < 0) { - reply = g_dbus_create_error(request->msg, - ERROR_INTERFACE ".Failed", - "Error reading contents: %s", - strerror(-perr)); - goto send; - } - - reply = dbus_message_new_method_return(request->msg); - - dbus_message_iter_init_append(reply, &iter); - dbus_message_iter_open_container(&iter, DBUS_TYPE_ARRAY, - DBUS_STRUCT_BEGIN_CHAR_AS_STRING - DBUS_TYPE_STRING_AS_STRING DBUS_TYPE_STRING_AS_STRING - DBUS_STRUCT_END_CHAR_AS_STRING, &array); - ctxt = g_markup_parse_context_new(&listing_parser, 0, &array, NULL); - g_markup_parse_context_parse(ctxt, contents, size, NULL); - g_markup_parse_context_free(ctxt); - dbus_message_iter_close_container(&iter, &array); - g_free(contents); - -send: - g_dbus_send_message(conn, reply); - pending_request_free(request); -} - -static GObexApparam *parse_format(GObexApparam *apparam, DBusMessageIter *iter) -{ - const char *string; - guint8 format; - - if (dbus_message_iter_get_arg_type(iter) != DBUS_TYPE_STRING) - return NULL; - - dbus_message_iter_get_basic(iter, &string); - - if (!string || g_str_equal(string, "")) - format = FORMAT_VCARD21; - else if (!g_ascii_strcasecmp(string, "vcard21")) - format = FORMAT_VCARD21; - else if (!g_ascii_strcasecmp(string, "vcard30")) - format = FORMAT_VCARD30; - else - return NULL; - - return g_obex_apparam_set_uint8(apparam, FORMAT_TAG, format); -} - -static GObexApparam *parse_order(GObexApparam *apparam, DBusMessageIter *iter) -{ - const char *string; - guint8 order; - - if (dbus_message_iter_get_arg_type(iter) != DBUS_TYPE_STRING) - return NULL; - - dbus_message_iter_get_basic(iter, &string); - - if (!string || g_str_equal(string, "")) - order = ORDER_INDEXED; - else if (!g_ascii_strcasecmp(string, "indexed")) - order = ORDER_INDEXED; - else if (!g_ascii_strcasecmp(string, "alphanumeric")) - order = ORDER_ALPHANUMERIC; - else if (!g_ascii_strcasecmp(string, "phonetic")) - order = ORDER_PHONETIC; - else - return NULL; - - return g_obex_apparam_set_uint8(apparam, ORDER_TAG, order); -} - -static GObexApparam *parse_offset(GObexApparam *apparam, DBusMessageIter *iter) -{ - guint16 num; - - if (dbus_message_iter_get_arg_type(iter) != DBUS_TYPE_UINT16) - return NULL; - - dbus_message_iter_get_basic(iter, &num); - - return g_obex_apparam_set_uint16(apparam, LISTSTARTOFFSET_TAG, num); -} - -static GObexApparam *parse_max_count(GObexApparam *apparam, - DBusMessageIter *iter) -{ - guint16 num; - - if (dbus_message_iter_get_arg_type(iter) != DBUS_TYPE_UINT16) - return NULL; - - dbus_message_iter_get_basic(iter, &num); - - return g_obex_apparam_set_uint16(apparam, MAXLISTCOUNT_TAG, num); -} - -static uint64_t get_filter_mask(const char *filterstr) -{ - int i, bit = -1; - - if (!filterstr) - return 0; - - if (!g_ascii_strcasecmp(filterstr, "ALL")) - return FILTER_ALL; - - for (i = 0; filter_list[i] != NULL; i++) - if (!g_ascii_strcasecmp(filterstr, filter_list[i])) - return 1ULL << i; - - if (strlen(filterstr) < 4 || strlen(filterstr) > 5 - || g_ascii_strncasecmp(filterstr, "bit", 3) != 0) - return 0; - - sscanf(&filterstr[3], "%d", &bit); - if (bit >= 0 && bit <= FILTER_BIT_MAX) - return 1ULL << bit; - else - return 0; -} - -static int set_field(guint64 *filter, const char *filterstr) -{ - guint64 mask; - - mask = get_filter_mask(filterstr); - - if (mask == 0) - return -EINVAL; - - *filter |= mask; - return 0; -} - -static GObexApparam *parse_fields(GObexApparam *apparam, DBusMessageIter *iter) -{ - DBusMessageIter array; - guint64 filter = 0; - - if (dbus_message_iter_get_arg_type(iter) != DBUS_TYPE_ARRAY) - return NULL; - - dbus_message_iter_recurse(iter, &array); - - while (dbus_message_iter_get_arg_type(&array) == DBUS_TYPE_STRING) { - const char *string; - - dbus_message_iter_get_basic(&array, &string); - - if (set_field(&filter, string) < 0) - return NULL; - - dbus_message_iter_next(&array); - } - - return g_obex_apparam_set_uint64(apparam, FILTER_TAG, filter); -} - -static GObexApparam *parse_filters(GObexApparam *apparam, - DBusMessageIter *iter) -{ - DBusMessageIter array; - - if (dbus_message_iter_get_arg_type(iter) != DBUS_TYPE_ARRAY) - return NULL; - - dbus_message_iter_recurse(iter, &array); - - while (dbus_message_iter_get_arg_type(&array) == DBUS_TYPE_DICT_ENTRY) { - const char *key; - DBusMessageIter value, entry; - - dbus_message_iter_recurse(&array, &entry); - dbus_message_iter_get_basic(&entry, &key); - - dbus_message_iter_next(&entry); - dbus_message_iter_recurse(&entry, &value); - - if (strcasecmp(key, "Format") == 0) { - if (parse_format(apparam, &value) == NULL) - return NULL; - } else if (strcasecmp(key, "Order") == 0) { - if (parse_order(apparam, &value) == NULL) - return NULL; - } else if (strcasecmp(key, "Offset") == 0) { - if (parse_offset(apparam, &value) == NULL) - return NULL; - } else if (strcasecmp(key, "MaxCount") == 0) { - if (parse_max_count(apparam, &value) == NULL) - return NULL; - } else if (strcasecmp(key, "Fields") == 0) { - if (parse_fields(apparam, &value) == NULL) - return NULL; - } - - dbus_message_iter_next(&array); - } - - return apparam; -} - -static DBusMessage *pull_phonebook(struct pbap_data *pbap, - DBusMessage *message, - guint8 type, - const char *targetfile, - GObexApparam *apparam) -{ - struct pending_request *request; - struct obc_transfer *transfer; - char *name; - session_callback_t func; - DBusMessage *reply; - GError *err = NULL; - - name = g_strconcat(g_path_skip_root(pbap->path), ".vcf", NULL); - - transfer = obc_transfer_get("x-bt/phonebook", name, targetfile, &err); - if (transfer == NULL) { - g_obex_apparam_free(apparam); - goto fail; - } - - switch (type) { - case PULLPHONEBOOK: - func = NULL; - request = NULL; - break; - case GETPHONEBOOKSIZE: - func = phonebook_size_callback; - request = pending_request_new(pbap, message); - break; - default: - error("Unexpected type : 0x%2x", type); - return NULL; - } - - obc_transfer_set_apparam(transfer, apparam); - - if (!obc_session_queue(pbap->session, transfer, func, request, &err)) { - if (request != NULL) - pending_request_free(request); - - goto fail; - } - - g_free(name); - - if (targetfile == NULL) - return NULL; - - return obc_transfer_create_dbus_reply(transfer, message); - -fail: - g_free(name); - reply = g_dbus_create_error(message, ERROR_INTERFACE ".Failed", "%s", - err->message); - g_error_free(err); - return reply; -} - -static DBusMessage *pull_vcard_listing(struct pbap_data *pbap, - DBusMessage *message, const char *name, - GObexApparam *apparam) -{ - struct pending_request *request; - struct obc_transfer *transfer; - GError *err = NULL; - DBusMessage *reply; - - transfer = obc_transfer_get("x-bt/vcard-listing", name, NULL, &err); - if (transfer == NULL) { - g_obex_apparam_free(apparam); - goto fail; - } - - obc_transfer_set_apparam(transfer, apparam); - - request = pending_request_new(pbap, message); - if (obc_session_queue(pbap->session, transfer, - pull_vcard_listing_callback, request, &err)) - return NULL; - - pending_request_free(request); - -fail: - reply = g_dbus_create_error(message, ERROR_INTERFACE ".Failed", "%s", - err->message); - g_error_free(err); - return reply; -} - -static DBusMessage *pbap_select(DBusConnection *connection, - DBusMessage *message, void *user_data) -{ - struct pbap_data *pbap = user_data; - const char *item, *location; - char *path; - struct pending_request *request; - GError *err = NULL; - - if (dbus_message_get_args(message, NULL, - DBUS_TYPE_STRING, &location, - DBUS_TYPE_STRING, &item, - DBUS_TYPE_INVALID) == FALSE) - return g_dbus_create_error(message, - ERROR_INTERFACE ".InvalidArguments", NULL); - - path = build_phonebook_path(location, item); - if (path == NULL) - return g_dbus_create_error(message, - ERROR_INTERFACE ".InvalidArguments", - "Invalid path"); - - if (pbap->path != NULL && g_str_equal(pbap->path, path)) { - g_free(path); - return dbus_message_new_method_return(message); - } - - request = pending_request_new(pbap, message); - - obc_session_setpath(pbap->session, path, pbap_setpath_cb, request, - &err); - if (err != NULL) { - DBusMessage *reply; - reply = g_dbus_create_error(message, ERROR_INTERFACE ".Failed", - "%s", err->message); - g_error_free(err); - g_free(path); - pending_request_free(request); - return reply; - } - - g_free(pbap->path); - pbap->path = path; - - return NULL; -} - -static DBusMessage *pbap_pull_all(DBusConnection *connection, - DBusMessage *message, void *user_data) -{ - struct pbap_data *pbap = user_data; - const char *targetfile; - GObexApparam *apparam; - DBusMessageIter args; - - if (!pbap->path) - return g_dbus_create_error(message, - ERROR_INTERFACE ".Forbidden", - "Call Select first of all"); - - dbus_message_iter_init(message, &args); - - if (dbus_message_iter_get_arg_type(&args) != DBUS_TYPE_STRING) - return g_dbus_create_error(message, - ERROR_INTERFACE ".InvalidArguments", NULL); - - dbus_message_iter_get_basic(&args, &targetfile); - dbus_message_iter_next(&args); - - apparam = g_obex_apparam_set_uint16(NULL, MAXLISTCOUNT_TAG, - DEFAULT_COUNT); - apparam = g_obex_apparam_set_uint16(apparam, LISTSTARTOFFSET_TAG, - DEFAULT_OFFSET); - - if (parse_filters(apparam, &args) == NULL) { - g_obex_apparam_free(apparam); - return g_dbus_create_error(message, - ERROR_INTERFACE ".InvalidArguments", NULL); - } - - return pull_phonebook(pbap, message, PULLPHONEBOOK, targetfile, - apparam); -} - -static DBusMessage *pull_vcard(struct pbap_data *pbap, DBusMessage *message, - const char *name, const char *targetfile, - GObexApparam *apparam) -{ - struct obc_transfer *transfer; - DBusMessage *reply; - GError *err = NULL; - - transfer = obc_transfer_get("x-bt/vcard", name, targetfile, &err); - if (transfer == NULL) { - g_obex_apparam_free(apparam); - goto fail; - } - - obc_transfer_set_apparam(transfer, apparam); - - if (!obc_session_queue(pbap->session, transfer, NULL, NULL, &err)) - goto fail; - - return obc_transfer_create_dbus_reply(transfer, message); - -fail: - reply = g_dbus_create_error(message, ERROR_INTERFACE ".Failed", "%s", - err->message); - g_error_free(err); - return reply; -} - -static DBusMessage *pbap_pull_vcard(DBusConnection *connection, - DBusMessage *message, void *user_data) -{ - struct pbap_data *pbap = user_data; - GObexApparam *apparam; - const char *name, *targetfile; - DBusMessageIter args; - - if (!pbap->path) - return g_dbus_create_error(message, - ERROR_INTERFACE ".Forbidden", - "Call Select first of all"); - - dbus_message_iter_init(message, &args); - - if (dbus_message_iter_get_arg_type(&args) != DBUS_TYPE_STRING) - return g_dbus_create_error(message, - ERROR_INTERFACE ".InvalidArguments", NULL); - - dbus_message_iter_get_basic(&args, &name); - dbus_message_iter_next(&args); - - if (dbus_message_iter_get_arg_type(&args) != DBUS_TYPE_STRING) - return g_dbus_create_error(message, - ERROR_INTERFACE ".InvalidArguments", NULL); - - dbus_message_iter_get_basic(&args, &targetfile); - dbus_message_iter_next(&args); - - apparam = g_obex_apparam_set_uint16(NULL, MAXLISTCOUNT_TAG, - DEFAULT_COUNT); - apparam = g_obex_apparam_set_uint16(apparam, LISTSTARTOFFSET_TAG, - DEFAULT_OFFSET); - - if (parse_filters(apparam, &args) == NULL) { - g_obex_apparam_free(apparam); - return g_dbus_create_error(message, - ERROR_INTERFACE ".InvalidArguments", NULL); - } - - return pull_vcard(pbap, message, name, targetfile, apparam); -} - -static DBusMessage *pbap_list(DBusConnection *connection, - DBusMessage *message, void *user_data) -{ - struct pbap_data *pbap = user_data; - GObexApparam *apparam; - DBusMessageIter args; - - if (!pbap->path) - return g_dbus_create_error(message, - ERROR_INTERFACE ".Forbidden", - "Call Select first of all"); - - dbus_message_iter_init(message, &args); - - apparam = g_obex_apparam_set_uint16(NULL, MAXLISTCOUNT_TAG, - DEFAULT_COUNT); - apparam = g_obex_apparam_set_uint16(apparam, LISTSTARTOFFSET_TAG, - DEFAULT_OFFSET); - - if (parse_filters(apparam, &args) == NULL) { - g_obex_apparam_free(apparam); - return g_dbus_create_error(message, - ERROR_INTERFACE ".InvalidArguments", NULL); - } - - return pull_vcard_listing(pbap, message, "", apparam); -} - -static GObexApparam *parse_attribute(GObexApparam *apparam, const char *field) -{ - guint8 attrib; - - if (!field || g_str_equal(field, "")) - attrib = ATTRIB_NAME; - else if (!g_ascii_strcasecmp(field, "name")) - attrib = ATTRIB_NAME; - else if (!g_ascii_strcasecmp(field, "number")) - attrib = ATTRIB_NUMBER; - else if (!g_ascii_strcasecmp(field, "sound")) - attrib = ATTRIB_SOUND; - else - return NULL; - - return g_obex_apparam_set_uint8(apparam, SEARCHATTRIB_TAG, attrib); -} - -static DBusMessage *pbap_search(DBusConnection *connection, - DBusMessage *message, void *user_data) -{ - struct pbap_data *pbap = user_data; - char *field, *value; - GObexApparam *apparam; - DBusMessageIter args; - - if (!pbap->path) - return g_dbus_create_error(message, - ERROR_INTERFACE ".Forbidden", - "Call Select first of all"); - - dbus_message_iter_init(message, &args); - - if (dbus_message_iter_get_arg_type(&args) != DBUS_TYPE_STRING) - return g_dbus_create_error(message, - ERROR_INTERFACE ".InvalidArguments", NULL); - - dbus_message_iter_get_basic(&args, &field); - dbus_message_iter_next(&args); - - apparam = parse_attribute(NULL, field); - if (apparam == NULL) - return g_dbus_create_error(message, - ERROR_INTERFACE ".InvalidArguments", NULL); - - if (dbus_message_iter_get_arg_type(&args) != DBUS_TYPE_STRING) - return g_dbus_create_error(message, - ERROR_INTERFACE ".InvalidArguments", NULL); - - dbus_message_iter_get_basic(&args, &value); - dbus_message_iter_next(&args); - - apparam = g_obex_apparam_set_uint16(apparam, MAXLISTCOUNT_TAG, - DEFAULT_COUNT); - apparam = g_obex_apparam_set_uint16(apparam, LISTSTARTOFFSET_TAG, - DEFAULT_OFFSET); - apparam = g_obex_apparam_set_string(apparam, SEARCHVALUE_TAG, value); - - if (parse_filters(apparam, &args) == NULL) { - g_obex_apparam_free(apparam); - return g_dbus_create_error(message, - ERROR_INTERFACE ".InvalidArguments", NULL); - } - - return pull_vcard_listing(pbap, message, "", apparam); -} - -static DBusMessage *pbap_get_size(DBusConnection *connection, - DBusMessage *message, void *user_data) -{ - struct pbap_data *pbap = user_data; - GObexApparam *apparam; - DBusMessageIter args; - - if (!pbap->path) - return g_dbus_create_error(message, - ERROR_INTERFACE ".Forbidden", - "Call Select first of all"); - - dbus_message_iter_init(message, &args); - - apparam = g_obex_apparam_set_uint16(NULL, MAXLISTCOUNT_TAG, 0); - apparam = g_obex_apparam_set_uint16(apparam, LISTSTARTOFFSET_TAG, - DEFAULT_OFFSET); - - return pull_phonebook(pbap, message, GETPHONEBOOKSIZE, NULL, apparam); -} - -static char **get_filter_strs(uint64_t filter, gint *size) -{ - char **list, **item; - gint i; - - list = g_malloc0(sizeof(char **) * (FILTER_BIT_MAX + 2)); - - item = list; - - for (i = 0; filter_list[i] != NULL; i++) - if (filter & (1ULL << i)) - *(item++) = g_strdup(filter_list[i]); - - for (; i <= FILTER_BIT_MAX; i++) - if (filter & (1ULL << i)) - *(item++) = g_strdup_printf("%s%d", "BIT", i); - - *item = NULL; - *size = item - list; - return list; -} - -static DBusMessage *pbap_list_filter_fields(DBusConnection *connection, - DBusMessage *message, void *user_data) -{ - char **filters = NULL; - gint size; - DBusMessage *reply; - - filters = get_filter_strs(FILTER_ALL, &size); - reply = dbus_message_new_method_return(message); - dbus_message_append_args(reply, DBUS_TYPE_ARRAY, - DBUS_TYPE_STRING, &filters, size, - DBUS_TYPE_INVALID); - - g_strfreev(filters); - return reply; -} - -static const GDBusMethodTable pbap_methods[] = { - { GDBUS_ASYNC_METHOD("Select", - GDBUS_ARGS({ "location", "s" }, { "phonebook", "s" }), - NULL, pbap_select) }, - { GDBUS_METHOD("PullAll", - GDBUS_ARGS({ "targetfile", "s" }, - { "filters", "a{sv}" }), - GDBUS_ARGS({ "transfer", "o" }, - { "properties", "a{sv}" }), - pbap_pull_all) }, - { GDBUS_METHOD("Pull", - GDBUS_ARGS({ "vcard", "s" }, { "targetfile", "s" }, - { "filters", "a{sv}" }), - GDBUS_ARGS({ "transfer", "o" }, - { "properties", "a{sv}" }), - pbap_pull_vcard) }, - { GDBUS_ASYNC_METHOD("List", - GDBUS_ARGS({ "filters", "a{sv}" }), - GDBUS_ARGS({ "vcard_listing", "a(ss)" }), - pbap_list) }, - { GDBUS_ASYNC_METHOD("Search", - GDBUS_ARGS({ "field", "s" }, { "value", "s" }, - { "filters", "a{sv}" }), - GDBUS_ARGS({ "vcard_listing", "a(ss)" }), - pbap_search) }, - { GDBUS_ASYNC_METHOD("GetSize", - NULL, GDBUS_ARGS({ "size", "q" }), - pbap_get_size) }, - { GDBUS_METHOD("ListFilterFields", - NULL, GDBUS_ARGS({ "fields", "as" }), - pbap_list_filter_fields) }, - { } -}; - -static void pbap_free(void *data) -{ - struct pbap_data *pbap = data; - - obc_session_unref(pbap->session); - g_free(pbap->path); - g_free(pbap); -} - -static int pbap_probe(struct obc_session *session) -{ - struct pbap_data *pbap; - const char *path; - - path = obc_session_get_path(session); - - DBG("%s", path); - - pbap = g_try_new0(struct pbap_data, 1); - if (!pbap) - return -ENOMEM; - - pbap->session = obc_session_ref(session); - - if (!g_dbus_register_interface(conn, path, PBAP_INTERFACE, pbap_methods, - NULL, NULL, pbap, pbap_free)) { - pbap_free(pbap); - return -ENOMEM; - } - - return 0; -} - -static void pbap_remove(struct obc_session *session) -{ - const char *path = obc_session_get_path(session); - - DBG("%s", path); - - g_dbus_unregister_interface(conn, path, PBAP_INTERFACE); -} - -static struct obc_driver pbap = { - .service = "PBAP", - .uuid = PBAP_UUID, - .target = OBEX_PBAP_UUID, - .target_len = OBEX_PBAP_UUID_LEN, - .probe = pbap_probe, - .remove = pbap_remove -}; - -int pbap_init(void) -{ - int err; - - DBG(""); - - conn = dbus_bus_get(DBUS_BUS_SESSION, NULL); - if (!conn) - return -EIO; - - err = obc_driver_register(&pbap); - if (err < 0) { - dbus_connection_unref(conn); - conn = NULL; - return err; - } - - return 0; -} - -void pbap_exit(void) -{ - DBG(""); - - dbus_connection_unref(conn); - conn = NULL; - - obc_driver_unregister(&pbap); -} diff --git a/GRIB_BLE_HUB/libs/ble_extend/obexd/client/pbap.h b/GRIB_BLE_HUB/libs/ble_extend/obexd/client/pbap.h deleted file mode 100644 index ce56258..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/obexd/client/pbap.h +++ /dev/null @@ -1,26 +0,0 @@ -/* - * - * OBEX Client - * - * Copyright (C) 2007-2010 Intel Corporation - * Copyright (C) 2007-2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -int pbap_init(void); -void pbap_exit(void); diff --git a/GRIB_BLE_HUB/libs/ble_extend/obexd/client/session.c b/GRIB_BLE_HUB/libs/ble_extend/obexd/client/session.c deleted file mode 100644 index 2e8b113..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/obexd/client/session.c +++ /dev/null @@ -1,1132 +0,0 @@ -/* - * - * OBEX Client - * - * Copyright (C) 2007-2010 Marcel Holtmann - * Copyright (C) 2011-2012 BMW Car IT GmbH. All rights reserved. - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include - -#include "dbus.h" -#include "log.h" -#include "transfer.h" -#include "session.h" -#include "driver.h" -#include "transport.h" - -#define SESSION_INTERFACE "org.bluez.obex.Session1" -#define ERROR_INTERFACE "org.bluez.obex.Error" -#define SESSION_BASEPATH "/org/bluez/obex" - -#define OBEX_IO_ERROR obex_io_error_quark() -#define OBEX_IO_ERROR_FIRST (0xff + 1) - -enum { - OBEX_IO_DISCONNECTED = OBEX_IO_ERROR_FIRST, - OBEX_IO_BUSY, -}; - -static guint64 counter = 0; - -struct callback_data { - struct obc_session *session; - session_callback_t func; - void *data; -}; - -struct pending_request { - guint id; - guint req_id; - struct obc_session *session; - struct obc_transfer *transfer; - session_callback_t func; - void *data; -}; - -struct setpath_data { - char **remaining; - int index; - session_callback_t func; - void *user_data; -}; - -struct obc_session { - guint id; - gint refcount; - char *source; - char *destination; - uint8_t channel; - struct obc_transport *transport; - struct obc_driver *driver; - char *path; /* Session path */ - DBusConnection *conn; - GObex *obex; - struct pending_request *p; - char *owner; /* Session owner */ - guint watch; - GQueue *queue; - guint queue_complete_id; -}; - -static GSList *sessions = NULL; - -static void session_process_queue(struct obc_session *session); -static void session_terminate_transfer(struct obc_session *session, - struct obc_transfer *transfer, - GError *gerr); -static void transfer_complete(struct obc_transfer *transfer, - GError *err, void *user_data); - -static GQuark obex_io_error_quark(void) -{ - return g_quark_from_static_string("obex-io-error-quark"); -} - -struct obc_session *obc_session_ref(struct obc_session *session) -{ - int refs = __sync_add_and_fetch(&session->refcount, 1); - - DBG("%p: ref=%d", session, refs); - - return session; -} - -static void session_unregistered(struct obc_session *session) -{ - char *path; - - if (session->driver && session->driver->remove) - session->driver->remove(session); - - path = session->path; - session->path = NULL; - - g_dbus_unregister_interface(session->conn, path, SESSION_INTERFACE); - - DBG("Session(%p) unregistered %s", session, path); - - g_free(path); -} - -static struct pending_request *pending_request_new(struct obc_session *session, - struct obc_transfer *transfer, - session_callback_t func, - void *data) -{ - struct pending_request *p; - static guint id = 0; - - p = g_new0(struct pending_request, 1); - p->id = ++id; - p->session = obc_session_ref(session); - p->transfer = transfer; - p->func = func; - p->data = data; - - return p; -} - -static void pending_request_free(struct pending_request *p) -{ - if (p->transfer) - obc_transfer_unregister(p->transfer); - - if (p->session) - obc_session_unref(p->session); - - g_free(p); -} - -static void session_free(struct obc_session *session) -{ - DBG("%p", session); - - if (session->queue_complete_id != 0) - g_source_remove(session->queue_complete_id); - - if (session->queue) { - g_queue_foreach(session->queue, (GFunc) pending_request_free, - NULL); - g_queue_free(session->queue); - } - - if (session->watch) - g_dbus_remove_watch(session->conn, session->watch); - - if (session->obex != NULL) - g_obex_unref(session->obex); - - if (session->id > 0 && session->transport != NULL) - session->transport->disconnect(session->id); - - if (session->path) - session_unregistered(session); - - if (session->conn) - dbus_connection_unref(session->conn); - - if (session->p) - pending_request_free(session->p); - - sessions = g_slist_remove(sessions, session); - - g_free(session->path); - g_free(session->owner); - g_free(session->source); - g_free(session->destination); - g_free(session); -} - -void obc_session_unref(struct obc_session *session) -{ - int refs; - - refs = __sync_sub_and_fetch(&session->refcount, 1); - - DBG("%p: ref=%d", session, refs); - - if (refs > 0) - return; - - session_free(session); -} - -static void connect_cb(GObex *obex, GError *err, GObexPacket *rsp, - gpointer user_data) -{ - struct callback_data *callback = user_data; - GError *gerr = NULL; - uint8_t rsp_code; - - if (err != NULL) { - error("connect_cb: %s", err->message); - gerr = g_error_copy(err); - goto done; - } - - rsp_code = g_obex_packet_get_operation(rsp, NULL); - if (rsp_code != G_OBEX_RSP_SUCCESS) - gerr = g_error_new(OBEX_IO_ERROR, -EIO, - "OBEX Connect failed with 0x%02x", rsp_code); - -done: - callback->func(callback->session, NULL, gerr, callback->data); - if (gerr != NULL) - g_error_free(gerr); - obc_session_unref(callback->session); - g_free(callback); -} - -static void transport_func(GIOChannel *io, GError *err, gpointer user_data) -{ - struct callback_data *callback = user_data; - struct obc_session *session = callback->session; - struct obc_driver *driver = session->driver; - struct obc_transport *transport = session->transport; - GObex *obex; - GObexTransportType type; - int tx_mtu = -1; - int rx_mtu = -1; - - DBG(""); - - if (err != NULL) { - error("%s", err->message); - goto done; - } - - g_io_channel_set_close_on_unref(io, FALSE); - - if (transport->getpacketopt && - transport->getpacketopt(io, &tx_mtu, &rx_mtu) == 0) - type = G_OBEX_TRANSPORT_PACKET; - else - type = G_OBEX_TRANSPORT_STREAM; - - obex = g_obex_new(io, type, tx_mtu, rx_mtu); - if (obex == NULL) - goto done; - - g_io_channel_set_close_on_unref(io, TRUE); - - if (driver->target != NULL) - g_obex_connect(obex, connect_cb, callback, &err, - G_OBEX_HDR_TARGET, driver->target, driver->target_len, - G_OBEX_HDR_INVALID); - else - g_obex_connect(obex, connect_cb, callback, &err, - G_OBEX_HDR_INVALID); - - if (err != NULL) { - error("%s", err->message); - g_obex_unref(obex); - goto done; - } - - session->obex = obex; - sessions = g_slist_prepend(sessions, session); - - return; -done: - callback->func(callback->session, NULL, err, callback->data); - obc_session_unref(callback->session); - g_free(callback); -} - -static void owner_disconnected(DBusConnection *connection, void *user_data) -{ - struct obc_session *session = user_data; - - DBG(""); - - obc_session_shutdown(session); -} - -int obc_session_set_owner(struct obc_session *session, const char *name, - GDBusWatchFunction func) -{ - if (session == NULL) - return -EINVAL; - - if (session->watch) - g_dbus_remove_watch(session->conn, session->watch); - - session->watch = g_dbus_add_disconnect_watch(session->conn, name, func, - session, NULL); - if (session->watch == 0) - return -EINVAL; - - session->owner = g_strdup(name); - - return 0; -} - - -static struct obc_session *session_find(const char *source, - const char *destination, - const char *service, - uint8_t channel, - const char *owner) -{ - GSList *l; - - for (l = sessions; l; l = l->next) { - struct obc_session *session = l->data; - - if (g_strcmp0(session->destination, destination)) - continue; - - if (g_strcmp0(service, session->driver->service)) - continue; - - if (source && g_strcmp0(session->source, source)) - continue; - - if (channel && session->channel != channel) - continue; - - if (g_strcmp0(owner, session->owner)) - continue; - - return session; - } - - return NULL; -} - -static gboolean connection_complete(gpointer data) -{ - struct callback_data *cb = data; - - cb->func(cb->session, NULL, NULL, cb->data); - - obc_session_unref(cb->session); - - g_free(cb); - - return FALSE; -} - -static int session_connect(struct obc_session *session, - session_callback_t function, void *user_data) -{ - struct callback_data *callback; - struct obc_transport *transport = session->transport; - struct obc_driver *driver = session->driver; - - callback = g_try_malloc0(sizeof(*callback)); - if (callback == NULL) - return -ENOMEM; - - callback->func = function; - callback->data = user_data; - callback->session = obc_session_ref(session); - - /* Connection completed */ - if (session->obex) { - g_idle_add(connection_complete, callback); - return 0; - } - - /* Ongoing connection */ - if (session->id > 0) { - obc_session_unref(callback->session); - g_free(callback); - return 0; - } - - session->id = transport->connect(session->source, session->destination, - driver->uuid, session->channel, - transport_func, callback); - if (session->id == 0) { - obc_session_unref(callback->session); - g_free(callback); - return -EINVAL; - } - - return 0; -} - -struct obc_session *obc_session_create(const char *source, - const char *destination, - const char *service, - uint8_t channel, - const char *owner, - session_callback_t function, - void *user_data) -{ - DBusConnection *conn; - struct obc_session *session; - struct obc_transport *transport; - struct obc_driver *driver; - - if (destination == NULL) - return NULL; - - session = session_find(source, destination, service, channel, owner); - if (session != NULL) - goto proceed; - - /* FIXME: Do proper transport lookup when the API supports it */ - transport = obc_transport_find("Bluetooth"); - if (transport == NULL) - return NULL; - - driver = obc_driver_find(service); - if (driver == NULL) - return NULL; - - conn = dbus_bus_get(DBUS_BUS_SESSION, NULL); - if (conn == NULL) - return NULL; - - session = g_try_malloc0(sizeof(*session)); - if (session == NULL) - return NULL; - - session->refcount = 1; - session->transport = transport; - session->driver = driver; - session->conn = conn; - session->source = g_strdup(source); - session->destination = g_strdup(destination); - session->channel = channel; - session->queue = g_queue_new(); - - if (owner) - obc_session_set_owner(session, owner, owner_disconnected); - -proceed: - if (session_connect(session, function, user_data) < 0) { - obc_session_unref(session); - return NULL; - } - - DBG("session %p transport %s driver %s", session, - session->transport->name, session->driver->service); - - return session; -} - -void obc_session_shutdown(struct obc_session *session) -{ - struct pending_request *p; - GError *err; - - DBG("%p", session); - - obc_session_ref(session); - - /* Unregister any pending transfer */ - err = g_error_new(OBEX_IO_ERROR, OBEX_IO_DISCONNECTED, - "Session closed by user"); - - if (session->p != NULL && session->p->id != 0) { - p = session->p; - session->p = NULL; - - if (p->func) - p->func(session, p->transfer, err, p->data); - - pending_request_free(p); - } - - while ((p = g_queue_pop_head(session->queue))) { - if (p->func) - p->func(session, p->transfer, err, p->data); - - pending_request_free(p); - } - - g_error_free(err); - - /* Unregister interfaces */ - if (session->path) - session_unregistered(session); - - /* Disconnect transport */ - if (session->id > 0 && session->transport != NULL) { - session->transport->disconnect(session->id); - session->id = 0; - } - - obc_session_unref(session); -} - -static void capabilities_complete_callback(struct obc_session *session, - struct obc_transfer *transfer, - GError *err, void *user_data) -{ - DBusMessage *message = user_data; - char *contents; - size_t size; - int perr; - - if (err != NULL) { - DBusMessage *error = g_dbus_create_error(message, - ERROR_INTERFACE ".Failed", - "%s", err->message); - g_dbus_send_message(session->conn, error); - goto done; - } - - perr = obc_transfer_get_contents(transfer, &contents, &size); - if (perr < 0) { - DBusMessage *error = g_dbus_create_error(message, - ERROR_INTERFACE ".Failed", - "Error reading contents: %s", - strerror(-perr)); - g_dbus_send_message(session->conn, error); - goto done; - } - - g_dbus_send_reply(session->conn, message, - DBUS_TYPE_STRING, &contents, - DBUS_TYPE_INVALID); - g_free(contents); - -done: - dbus_message_unref(message); -} - -static DBusMessage *get_capabilities(DBusConnection *connection, - DBusMessage *message, void *user_data) -{ - struct obc_session *session = user_data; - struct obc_transfer *pull; - DBusMessage *reply; - GError *gerr = NULL; - - pull = obc_transfer_get("x-obex/capability", NULL, NULL, &gerr); - if (pull == NULL) - goto fail; - - if (!obc_session_queue(session, pull, capabilities_complete_callback, - message, &gerr)) - goto fail; - - dbus_message_ref(message); - - return NULL; - -fail: - reply = g_dbus_create_error(message, ERROR_INTERFACE ".Failed", "%s", - gerr->message); - g_error_free(gerr); - return reply; - -} - -static gboolean get_source(const GDBusPropertyTable *property, - DBusMessageIter *iter, void *data) -{ - struct obc_session *session = data; - - if (session->source == NULL) - return FALSE; - - dbus_message_iter_append_basic(iter, DBUS_TYPE_STRING, - &session->source); - - return TRUE; -} - -static gboolean source_exists(const GDBusPropertyTable *property, void *data) -{ - struct obc_session *session = data; - - return session->source != NULL; -} - -static gboolean get_destination(const GDBusPropertyTable *property, - DBusMessageIter *iter, void *data) -{ - struct obc_session *session = data; - - dbus_message_iter_append_basic(iter, DBUS_TYPE_STRING, - &session->destination); - - return TRUE; -} - -static gboolean get_channel(const GDBusPropertyTable *property, - DBusMessageIter *iter, void *data) -{ - struct obc_session *session = data; - - dbus_message_iter_append_basic(iter, DBUS_TYPE_BYTE, - &session->channel); - - return TRUE; -} - -static const GDBusMethodTable session_methods[] = { - { GDBUS_ASYNC_METHOD("GetCapabilities", - NULL, GDBUS_ARGS({ "capabilities", "s" }), - get_capabilities) }, - { } -}; - -static const GDBusPropertyTable session_properties[] = { - { "Source", "s", get_source, NULL, source_exists }, - { "Destination", "s", get_destination }, - { "Channel", "y", get_channel }, - { } -}; - -static gboolean session_queue_complete(gpointer data) -{ - struct obc_session *session = data; - - session_process_queue(session); - - session->queue_complete_id = 0; - - return FALSE; -} - -guint obc_session_queue(struct obc_session *session, - struct obc_transfer *transfer, - session_callback_t func, void *user_data, - GError **err) -{ - struct pending_request *p; - - if (session->obex == NULL) { - obc_transfer_unregister(transfer); - g_set_error(err, OBEX_IO_ERROR, -ENOTCONN, - "Session not connected"); - return 0; - } - - if (!obc_transfer_register(transfer, session->conn, session->path, - session->owner, err)) { - obc_transfer_unregister(transfer); - return 0; - } - - obc_transfer_set_callback(transfer, transfer_complete, session); - - p = pending_request_new(session, transfer, func, user_data); - g_queue_push_tail(session->queue, p); - - if (session->queue_complete_id == 0) - session->queue_complete_id = g_idle_add( - session_queue_complete, session); - - return p->id; -} - -static void session_process_queue(struct obc_session *session) -{ - struct pending_request *p; - - if (session->p != NULL) - return; - - if (session->queue == NULL || g_queue_is_empty(session->queue)) - return; - - obc_session_ref(session); - - while ((p = g_queue_pop_head(session->queue))) { - GError *gerr = NULL; - - DBG("Transfer(%p) started", p->transfer); - - if (obc_transfer_start(p->transfer, session->obex, &gerr)) { - session->p = p; - break; - } - - if (p->func) - p->func(session, p->transfer, gerr, p->data); - - g_clear_error(&gerr); - - pending_request_free(p); - } - - obc_session_unref(session); -} - -static gint pending_transfer_cmptransfer(gconstpointer a, gconstpointer b) -{ - const struct pending_request *p = a; - const struct obc_transfer *transfer = b; - - if (p->transfer == transfer) - return 0; - - return -1; -} - -static void session_terminate_transfer(struct obc_session *session, - struct obc_transfer *transfer, - GError *gerr) -{ - struct pending_request *p = session->p; - - if (p == NULL || p->transfer != transfer) { - GList *match; - - match = g_list_find_custom(session->queue->head, transfer, - pending_transfer_cmptransfer); - if (match == NULL) - return; - - p = match->data; - g_queue_delete_link(session->queue, match); - } else - session->p = NULL; - - obc_session_ref(session); - - if (p->func) - p->func(session, p->transfer, gerr, p->data); - - pending_request_free(p); - - if (session->p == NULL) - session_process_queue(session); - - obc_session_unref(session); -} - -static void session_notify_complete(struct obc_session *session, - struct obc_transfer *transfer) -{ - DBG("Transfer(%p) complete", transfer); - - session_terminate_transfer(session, transfer, NULL); -} - -static void session_notify_error(struct obc_session *session, - struct obc_transfer *transfer, - GError *err) -{ - error("Transfer(%p) Error: %s", transfer, err->message); - - session_terminate_transfer(session, transfer, err); -} - -static void transfer_complete(struct obc_transfer *transfer, - GError *err, void *user_data) -{ - struct obc_session *session = user_data; - - if (err != 0) - goto fail; - - session_notify_complete(session, transfer); - - return; - -fail: - session_notify_error(session, transfer, err); -} - -const char *obc_session_register(struct obc_session *session, - GDBusDestroyFunction destroy) -{ - if (session->path) - return session->path; - - session->path = g_strdup_printf("%s/session%ju", - SESSION_BASEPATH, counter++); - - if (g_dbus_register_interface(session->conn, session->path, - SESSION_INTERFACE, session_methods, - NULL, NULL, session, destroy) == FALSE) - goto fail; - - if (session->driver->probe && session->driver->probe(session) < 0) { - g_dbus_unregister_interface(session->conn, session->path, - SESSION_INTERFACE); - goto fail; - } - - DBG("Session(%p) registered %s", session, session->path); - - return session->path; - -fail: - g_free(session->path); - session->path = NULL; - return NULL; -} - -const char *obc_session_get_owner(struct obc_session *session) -{ - if (session == NULL) - return NULL; - - return session->owner; -} - -const char *obc_session_get_path(struct obc_session *session) -{ - return session->path; -} - -const char *obc_session_get_target(struct obc_session *session) -{ - return session->driver->target; -} - -static void setpath_complete(struct obc_session *session, - struct obc_transfer *transfer, - GError *err, void *user_data) -{ - struct pending_request *p = user_data; - struct setpath_data *data = p->data; - - if (data->func) - data->func(session, NULL, err, data->user_data); - - g_strfreev(data->remaining); - g_free(data); - - if (session->p == p) - session->p = NULL; - - pending_request_free(p); - - session_process_queue(session); -} - -static void setpath_cb(GObex *obex, GError *err, GObexPacket *rsp, - gpointer user_data) -{ - struct pending_request *p = user_data; - struct setpath_data *data = p->data; - char *next; - guint8 code; - - p->req_id = 0; - - if (err != NULL) { - setpath_complete(p->session, NULL, err, user_data); - return; - } - - code = g_obex_packet_get_operation(rsp, NULL); - if (code != G_OBEX_RSP_SUCCESS) { - GError *gerr = NULL; - g_set_error(&gerr, OBEX_IO_ERROR, code, "%s", - g_obex_strerror(code)); - setpath_complete(p->session, NULL, err, user_data); - g_clear_error(&gerr); - return; - } - - /* Ignore empty folder names to avoid resetting the current path */ - while ((next = data->remaining[data->index]) && strlen(next) == 0) - data->index++; - - if (next == NULL) { - setpath_complete(p->session, NULL, NULL, user_data); - return; - } - - data->index++; - - p->req_id = g_obex_setpath(obex, next, setpath_cb, p, &err); - if (err != NULL) { - setpath_complete(p->session, NULL, err, data); - g_error_free(err); - } -} - -guint obc_session_setpath(struct obc_session *session, const char *path, - session_callback_t func, void *user_data, - GError **err) -{ - struct setpath_data *data; - struct pending_request *p; - const char *first = ""; - - if (session->obex == NULL) { - g_set_error(err, OBEX_IO_ERROR, OBEX_IO_DISCONNECTED, - "Session disconnected"); - return 0; - } - - if (session->p != NULL) { - g_set_error(err, OBEX_IO_ERROR, OBEX_IO_BUSY, - "Session busy"); - return 0; - } - - data = g_new0(struct setpath_data, 1); - data->func = func; - data->user_data = user_data; - data->remaining = g_strsplit(strlen(path) ? path : "/", "/", 0); - - p = pending_request_new(session, NULL, setpath_complete, data); - - /* Relative path */ - if (path[0] != '/') - first = data->remaining[data->index]; - - data->index++; - - p->req_id = g_obex_setpath(session->obex, first, setpath_cb, p, err); - if (*err != NULL) - goto fail; - - session->p = p; - - return p->id; - -fail: - g_strfreev(data->remaining); - g_free(data); - pending_request_free(p); - return 0; -} - -static void async_cb(GObex *obex, GError *err, GObexPacket *rsp, - gpointer user_data) -{ - struct pending_request *p = user_data; - struct obc_session *session = p->session; - GError *gerr = NULL; - uint8_t code; - - p->req_id = 0; - - if (err != NULL) { - if (p->func) - p->func(p->session, NULL, err, p->data); - goto done; - } - - code = g_obex_packet_get_operation(rsp, NULL); - if (code != G_OBEX_RSP_SUCCESS) - g_set_error(&gerr, OBEX_IO_ERROR, code, "%s", - g_obex_strerror(code)); - - if (p->func) - p->func(p->session, NULL, gerr, p->data); - - if (gerr != NULL) - g_clear_error(&gerr); - -done: - pending_request_free(p); - session->p = NULL; - - session_process_queue(session); -} - -guint obc_session_mkdir(struct obc_session *session, const char *folder, - session_callback_t func, void *user_data, - GError **err) -{ - struct pending_request *p; - - if (session->obex == NULL) { - g_set_error(err, OBEX_IO_ERROR, OBEX_IO_DISCONNECTED, - "Session disconnected"); - return 0; - } - - if (session->p != NULL) { - g_set_error(err, OBEX_IO_ERROR, OBEX_IO_BUSY, "Session busy"); - return 0; - } - - - p = pending_request_new(session, NULL, func, user_data); - - p->req_id = g_obex_mkdir(session->obex, folder, async_cb, p, err); - if (*err != NULL) { - pending_request_free(p); - return 0; - } - - session->p = p; - return p->id; -} - -guint obc_session_copy(struct obc_session *session, const char *srcname, - const char *destname, session_callback_t func, - void *user_data, GError **err) -{ - struct pending_request *p; - - if (session->obex == NULL) { - g_set_error(err, OBEX_IO_ERROR, OBEX_IO_DISCONNECTED, - "Session disconnected"); - return 0; - } - - if (session->p != NULL) { - g_set_error(err, OBEX_IO_ERROR, OBEX_IO_BUSY, "Session busy"); - return 0; - } - - p = pending_request_new(session, NULL, func, user_data); - - p->req_id = g_obex_copy(session->obex, srcname, destname, async_cb, p, - err); - if (*err != NULL) { - pending_request_free(p); - return 0; - } - - session->p = p; - return p->id; -} - -guint obc_session_move(struct obc_session *session, const char *srcname, - const char *destname, session_callback_t func, - void *user_data, GError **err) -{ - struct pending_request *p; - - if (session->obex == NULL) { - g_set_error(err, OBEX_IO_ERROR, OBEX_IO_DISCONNECTED, - "Session disconnected"); - return 0; - } - - if (session->p != NULL) { - g_set_error(err, OBEX_IO_ERROR, OBEX_IO_BUSY, "Session busy"); - return 0; - } - - p = pending_request_new(session, NULL, func, user_data); - - p->req_id = g_obex_move(session->obex, srcname, destname, async_cb, p, - err); - if (*err != NULL) { - pending_request_free(p); - return 0; - } - - session->p = p; - return p->id; -} - -guint obc_session_delete(struct obc_session *session, const char *file, - session_callback_t func, void *user_data, - GError **err) -{ - struct pending_request *p; - - if (session->obex == NULL) { - g_set_error(err, OBEX_IO_ERROR, OBEX_IO_DISCONNECTED, - "Session disconnected"); - return 0; - } - - if (session->p != NULL) { - g_set_error(err, OBEX_IO_ERROR, OBEX_IO_BUSY, "Session busy"); - return 0; - } - - p = pending_request_new(session, NULL, func, user_data); - - p->req_id = g_obex_delete(session->obex, file, async_cb, p, err); - if (*err != NULL) { - pending_request_free(p); - return 0; - } - - session->p = p; - return p->id; -} - -void obc_session_cancel(struct obc_session *session, guint id, - gboolean remove) -{ - struct pending_request *p = session->p; - - if (p == NULL || p->id != id) - return; - - if (p->req_id == 0) - return; - - g_obex_cancel_req(session->obex, p->req_id, remove); - if (!remove) - return; - - pending_request_free(p); - session->p = NULL; - - session_process_queue(session); -} diff --git a/GRIB_BLE_HUB/libs/ble_extend/obexd/client/session.h b/GRIB_BLE_HUB/libs/ble_extend/obexd/client/session.h deleted file mode 100644 index 402c042..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/obexd/client/session.h +++ /dev/null @@ -1,77 +0,0 @@ -/* - * - * OBEX Client - * - * Copyright (C) 2007-2010 Marcel Holtmann - * Copyright (C) 2011-2012 BMW Car IT GmbH. All rights reserved. - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#include -#include -#include - -struct obc_session; - -typedef void (*session_callback_t) (struct obc_session *session, - struct obc_transfer *transfer, - GError *err, void *user_data); - -struct obc_session *obc_session_create(const char *source, - const char *destination, - const char *service, - uint8_t channel, - const char *owner, - session_callback_t function, - void *user_data); - -struct obc_session *obc_session_ref(struct obc_session *session); -void obc_session_unref(struct obc_session *session); -void obc_session_shutdown(struct obc_session *session); - -int obc_session_set_owner(struct obc_session *session, const char *name, - GDBusWatchFunction func); -const char *obc_session_get_owner(struct obc_session *session); - -const char *obc_session_get_path(struct obc_session *session); -const char *obc_session_get_target(struct obc_session *session); - -const char *obc_session_register(struct obc_session *session, - GDBusDestroyFunction destroy); - -guint obc_session_queue(struct obc_session *session, - struct obc_transfer *transfer, - session_callback_t func, void *user_data, - GError **err); -guint obc_session_setpath(struct obc_session *session, const char *path, - session_callback_t func, void *user_data, - GError **err); -guint obc_session_mkdir(struct obc_session *session, const char *folder, - session_callback_t func, void *user_data, - GError **err); -guint obc_session_copy(struct obc_session *session, const char *srcname, - const char *destname, session_callback_t func, - void *user_data, GError **err); -guint obc_session_move(struct obc_session *session, const char *srcname, - const char *destname, session_callback_t func, - void *user_data, GError **err); -guint obc_session_delete(struct obc_session *session, const char *file, - session_callback_t func, void *user_data, - GError **err); -void obc_session_cancel(struct obc_session *session, guint id, - gboolean remove); diff --git a/GRIB_BLE_HUB/libs/ble_extend/obexd/client/sync.c b/GRIB_BLE_HUB/libs/ble_extend/obexd/client/sync.c deleted file mode 100644 index 1a4b482..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/obexd/client/sync.c +++ /dev/null @@ -1,261 +0,0 @@ -/* - * - * OBEX Client - * - * Copyright (C) 2007-2010 Intel Corporation - * Copyright (C) 2007-2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include - -#include -#include - -#include "log.h" - -#include "transfer.h" -#include "session.h" -#include "driver.h" -#include "sync.h" - -#define OBEX_SYNC_UUID "IRMC-SYNC" -#define OBEX_SYNC_UUID_LEN 9 - -#define SYNC_INTERFACE "org.bluez.obex.Synchronization1" -#define ERROR_INF SYNC_INTERFACE ".Error" -#define SYNC_UUID "00001104-0000-1000-8000-00805f9b34fb" - -struct sync_data { - struct obc_session *session; - char *phonebook_path; - DBusMessage *msg; -}; - -static DBusConnection *conn = NULL; - -static DBusMessage *sync_setlocation(DBusConnection *connection, - DBusMessage *message, void *user_data) -{ - struct sync_data *sync = user_data; - const char *location; - char *path = NULL, *tmp; - - if (dbus_message_get_args(message, NULL, - DBUS_TYPE_STRING, &location, - DBUS_TYPE_INVALID) == FALSE) - return g_dbus_create_error(message, - ERROR_INF ".InvalidArguments", NULL); - - if (!g_ascii_strcasecmp(location, "int") || - !g_ascii_strcasecmp(location, "internal")) - path = g_strdup("telecom/pb.vcf"); - else if (!g_ascii_strncasecmp(location, "sim", 3)) { - tmp = g_ascii_strup(location, 4); - path = g_build_filename(tmp, "telecom/pb.vcf", NULL); - g_free(tmp); - } else - return g_dbus_create_error(message, - ERROR_INF ".InvalidArguments", "InvalidPhonebook"); - - g_free(sync->phonebook_path); - sync->phonebook_path = path; - - return dbus_message_new_method_return(message); -} - -static DBusMessage *sync_getphonebook(DBusConnection *connection, - DBusMessage *message, void *user_data) -{ - struct sync_data *sync = user_data; - struct obc_transfer *transfer; - const char *target_file; - GError *err = NULL; - DBusMessage *reply; - - if (dbus_message_get_args(message, NULL, - DBUS_TYPE_STRING, &target_file, - DBUS_TYPE_INVALID) == FALSE) - return g_dbus_create_error(message, - ERROR_INF ".InvalidArguments", - "Invalid arguments in method call"); - - if (sync->msg) - return g_dbus_create_error(message, - ERROR_INF ".InProgress", "Transfer in progress"); - - /* set default phonebook_path to memory internal phonebook */ - if (!sync->phonebook_path) - sync->phonebook_path = g_strdup("telecom/pb.vcf"); - - transfer = obc_transfer_get("phonebook", sync->phonebook_path, - target_file, &err); - if (transfer == NULL) - goto fail; - - if (!obc_session_queue(sync->session, transfer, NULL, NULL, &err)) - goto fail; - - return obc_transfer_create_dbus_reply(transfer, message); - -fail: - reply = g_dbus_create_error(message, ERROR_INF ".Failed", "%s", - err->message); - g_error_free(err); - return reply; -} - -static DBusMessage *sync_putphonebook(DBusConnection *connection, - DBusMessage *message, void *user_data) -{ - struct sync_data *sync = user_data; - struct obc_transfer *transfer; - const char *source_file; - GError *err = NULL; - DBusMessage *reply; - - if (dbus_message_get_args(message, NULL, - DBUS_TYPE_STRING, &source_file, - DBUS_TYPE_INVALID) == FALSE) - return g_dbus_create_error(message, - ERROR_INF ".InvalidArguments", - "Invalid arguments in method call"); - - /* set default phonebook_path to memory internal phonebook */ - if (!sync->phonebook_path) - sync->phonebook_path = g_strdup("telecom/pb.vcf"); - - transfer = obc_transfer_put(NULL, sync->phonebook_path, source_file, - NULL, 0, &err); - if (transfer == NULL) - goto fail; - - if (!obc_session_queue(sync->session, transfer, NULL, NULL, &err)) - goto fail; - - return obc_transfer_create_dbus_reply(transfer, message); - -fail: - reply = g_dbus_create_error(message, ERROR_INF ".Failed", "%s", - err->message); - g_error_free(err); - return reply; -} - -static const GDBusMethodTable sync_methods[] = { - { GDBUS_METHOD("SetLocation", - GDBUS_ARGS({ "location", "s" }), NULL, - sync_setlocation) }, - { GDBUS_METHOD("GetPhonebook", - GDBUS_ARGS({ "targetfile", "s" }), - GDBUS_ARGS({ "transfer", "o" }, - { "properties", "a{sv}" }), - sync_getphonebook) }, - { GDBUS_METHOD("PutPhonebook", - GDBUS_ARGS({ "sourcefile", "s" }), - GDBUS_ARGS({ "transfer", "o" }, - { "properties", "a{sv}" }), - sync_putphonebook) }, - { } -}; - -static void sync_free(void *data) -{ - struct sync_data *sync = data; - - obc_session_unref(sync->session); - g_free(sync->phonebook_path); - g_free(sync); -} - -static int sync_probe(struct obc_session *session) -{ - struct sync_data *sync; - const char *path; - - path = obc_session_get_path(session); - - DBG("%s", path); - - sync = g_try_new0(struct sync_data, 1); - if (!sync) - return -ENOMEM; - - sync->session = obc_session_ref(session); - - if (!g_dbus_register_interface(conn, path, SYNC_INTERFACE, sync_methods, - NULL, NULL, sync, sync_free)) { - sync_free(sync); - return -ENOMEM; - } - - return 0; -} - -static void sync_remove(struct obc_session *session) -{ - const char *path = obc_session_get_path(session); - - DBG("%s", path); - - g_dbus_unregister_interface(conn, path, SYNC_INTERFACE); -} - -static struct obc_driver sync = { - .service = "SYNC", - .uuid = SYNC_UUID, - .target = OBEX_SYNC_UUID, - .target_len = OBEX_SYNC_UUID_LEN, - .probe = sync_probe, - .remove = sync_remove -}; - -int sync_init(void) -{ - int err; - - DBG(""); - - conn = dbus_bus_get(DBUS_BUS_SESSION, NULL); - if (!conn) - return -EIO; - - err = obc_driver_register(&sync); - if (err < 0) { - dbus_connection_unref(conn); - conn = NULL; - return err; - } - - return 0; -} - -void sync_exit(void) -{ - DBG(""); - - dbus_connection_unref(conn); - conn = NULL; - - obc_driver_unregister(&sync); -} diff --git a/GRIB_BLE_HUB/libs/ble_extend/obexd/client/sync.h b/GRIB_BLE_HUB/libs/ble_extend/obexd/client/sync.h deleted file mode 100644 index 8adc5f8..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/obexd/client/sync.h +++ /dev/null @@ -1,26 +0,0 @@ -/* - * - * OBEX Client - * - * Copyright (C) 2007-2010 Intel Corporation - * Copyright (C) 2007-2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -int sync_init(void); -void sync_exit(void); diff --git a/GRIB_BLE_HUB/libs/ble_extend/obexd/client/transfer.c b/GRIB_BLE_HUB/libs/ble_extend/obexd/client/transfer.c deleted file mode 100644 index 427eab7..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/obexd/client/transfer.c +++ /dev/null @@ -1,856 +0,0 @@ -/* - * - * OBEX Client - * - * Copyright (C) 2007-2010 Marcel Holtmann - * Copyright (C) 2011-2012 BMW Car IT GmbH. All rights reserved. - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include - -#include "dbus.h" -#include "log.h" -#include "transfer.h" - -#define TRANSFER_INTERFACE "org.bluez.obex.Transfer1" -#define ERROR_INTERFACE "org.bluez.obex.Error" - -#define OBC_TRANSFER_ERROR obc_transfer_error_quark() - -#define FIRST_PACKET_TIMEOUT 60 - -static guint64 counter = 0; - -struct transfer_callback { - transfer_callback_t func; - void *data; -}; - -enum { - TRANSFER_STATUS_QUEUED = 0, - TRANSFER_STATUS_ACTIVE, - TRANSFER_STATUS_COMPLETE, - TRANSFER_STATUS_ERROR -}; - -struct obc_transfer { - GObex *obex; - uint8_t status; - GObexApparam *apparam; - guint8 op; - struct transfer_callback *callback; - DBusConnection *conn; - DBusMessage *msg; - char *session; /* Session path */ - char *owner; /* Transfer initiator */ - char *path; /* Transfer path */ - char *filename; /* Transfer file location */ - char *name; /* Transfer object name */ - char *type; /* Transfer object type */ - int fd; - guint xfer; - gint64 size; - gint64 transferred; - gint64 progress; - guint progress_id; -}; - -static GQuark obc_transfer_error_quark(void) -{ - return g_quark_from_static_string("obc-transfer-error-quark"); -} - -DBusMessage *obc_transfer_create_dbus_reply(struct obc_transfer *transfer, - DBusMessage *message) -{ - DBusMessage *reply; - DBusMessageIter iter; - - reply = dbus_message_new_method_return(message); - if (reply == NULL) - return NULL; - - dbus_message_iter_init_append(reply, &iter); - dbus_message_iter_append_basic(&iter, DBUS_TYPE_OBJECT_PATH, - &transfer->path); - g_dbus_get_properties(transfer->conn, transfer->path, - TRANSFER_INTERFACE, &iter); - - return reply; -} - -static void abort_complete(GObex *obex, GError *err, gpointer user_data) -{ - struct obc_transfer *transfer = user_data; - struct transfer_callback *callback = transfer->callback; - DBusMessage *reply; - - transfer->xfer = 0; - - reply = dbus_message_new_method_return(transfer->msg); - if (reply) - g_dbus_send_message(transfer->conn, reply); - - dbus_message_unref(transfer->msg); - transfer->msg = NULL; - - if (callback == NULL) - return; - - if (err) { - callback->func(transfer, err, callback->data); - } else { - GError *abort_err; - - abort_err = g_error_new(OBC_TRANSFER_ERROR, -ECANCELED, "%s", - "Transfer cancelled by user"); - callback->func(transfer, abort_err, callback->data); - g_error_free(abort_err); - } -} - -static DBusMessage *obc_transfer_cancel(DBusConnection *connection, - DBusMessage *message, void *user_data) -{ - struct obc_transfer *transfer = user_data; - const char *sender; - - sender = dbus_message_get_sender(message); - if (g_strcmp0(transfer->owner, sender) != 0) - return g_dbus_create_error(message, - ERROR_INTERFACE ".NotAuthorized", - "Not Authorized"); - - if (transfer->msg != NULL) - return g_dbus_create_error(message, - ERROR_INTERFACE ".InProgress", - "Cancellation already in progress"); - - if (transfer->xfer == 0) { - struct transfer_callback *callback = transfer->callback; - - if (callback != NULL) { - GError *err; - - err = g_error_new(OBC_TRANSFER_ERROR, -ECANCELED, "%s", - "Transfer cancelled by user"); - callback->func(transfer, err, callback->data); - g_error_free(err); - } - - return dbus_message_new_method_return(message); - } - - if (transfer->progress_id != 0) { - g_source_remove(transfer->progress_id); - transfer->progress_id = 0; - } - - if (!g_obex_cancel_transfer(transfer->xfer, abort_complete, transfer)) - return g_dbus_create_error(message, - ERROR_INTERFACE ".Failed", - "Failed"); - - transfer->msg = dbus_message_ref(message); - - return NULL; -} - -static gboolean name_exists(const GDBusPropertyTable *property, void *data) -{ - struct obc_transfer *transfer = data; - - return transfer->name != NULL; -} - -static gboolean get_name(const GDBusPropertyTable *property, - DBusMessageIter *iter, void *data) -{ - struct obc_transfer *transfer = data; - - if (transfer->name == NULL) - return FALSE; - - dbus_message_iter_append_basic(iter, DBUS_TYPE_STRING, - &transfer->name); - - return TRUE; -} - -static gboolean get_size(const GDBusPropertyTable *property, - DBusMessageIter *iter, void *data) -{ - struct obc_transfer *transfer = data; - - dbus_message_iter_append_basic(iter, DBUS_TYPE_UINT64, - &transfer->size); - - return TRUE; -} - -static gboolean filename_exists(const GDBusPropertyTable *property, void *data) -{ - struct obc_transfer *transfer = data; - - return transfer->filename != NULL; -} - -static gboolean get_filename(const GDBusPropertyTable *property, - DBusMessageIter *iter, void *data) -{ - struct obc_transfer *transfer = data; - - if (transfer->filename == NULL) - return FALSE; - - dbus_message_iter_append_basic(iter, DBUS_TYPE_STRING, - &transfer->filename); - - return TRUE; -} - -static gboolean transferred_exists(const GDBusPropertyTable *property, - void *data) -{ - struct obc_transfer *transfer = data; - - return transfer->obex != NULL; -} - -static gboolean get_transferred(const GDBusPropertyTable *property, - DBusMessageIter *iter, void *data) -{ - struct obc_transfer *transfer = data; - - if (transfer->obex == NULL) - return FALSE; - - dbus_message_iter_append_basic(iter, DBUS_TYPE_UINT64, - &transfer->progress); - - return TRUE; -} - -static const char *status2str(uint8_t status) -{ - switch (status) { - case TRANSFER_STATUS_QUEUED: - return "queued"; - case TRANSFER_STATUS_ACTIVE: - return "active"; - case TRANSFER_STATUS_COMPLETE: - return "complete"; - case TRANSFER_STATUS_ERROR: - return "error"; - } -} - -static gboolean get_status(const GDBusPropertyTable *property, - DBusMessageIter *iter, void *data) -{ - struct obc_transfer *transfer = data; - const char *status = status2str(transfer->status); - - dbus_message_iter_append_basic(iter, DBUS_TYPE_STRING, &status); - - return TRUE; -} - -static gboolean get_session(const GDBusPropertyTable *property, - DBusMessageIter *iter, void *data) -{ - struct obc_transfer *transfer = data; - - dbus_message_iter_append_basic(iter, DBUS_TYPE_OBJECT_PATH, - &transfer->session); - - return TRUE; -} - -static const GDBusMethodTable obc_transfer_methods[] = { - { GDBUS_ASYNC_METHOD("Cancel", NULL, NULL, - obc_transfer_cancel) }, - { } -}; - -static const GDBusPropertyTable obc_transfer_properties[] = { - { "Status", "s", get_status }, - { "Name", "s", get_name, NULL, name_exists }, - { "Size", "t", get_size }, - { "Filename", "s", get_filename, NULL, filename_exists }, - { "Transferred", "t", get_transferred, NULL, transferred_exists }, - { "Session", "o", get_session }, - { } -}; - -static void obc_transfer_free(struct obc_transfer *transfer) -{ - DBG("%p", transfer); - - if (transfer->xfer) - g_obex_cancel_transfer(transfer->xfer, NULL, NULL); - - if (transfer->progress_id != 0) { - g_source_remove(transfer->progress_id); - transfer->progress_id = 0; - } - - if (transfer->op == G_OBEX_OP_GET && - transfer->status != TRANSFER_STATUS_COMPLETE && - transfer->filename) - remove(transfer->filename); - - if (transfer->fd > 0) - close(transfer->fd); - - if (transfer->apparam != NULL) - g_obex_apparam_free(transfer->apparam); - - if (transfer->conn) - dbus_connection_unref(transfer->conn); - - if (transfer->msg) - dbus_message_unref(transfer->msg); - - if (transfer->obex) - g_obex_unref(transfer->obex); - - g_free(transfer->callback); - g_free(transfer->owner); - g_free(transfer->filename); - g_free(transfer->name); - g_free(transfer->type); - g_free(transfer->session); - g_free(transfer->path); - g_free(transfer); -} - -static struct obc_transfer *obc_transfer_create(guint8 op, - const char *filename, - const char *name, - const char *type) -{ - struct obc_transfer *transfer; - - transfer = g_new0(struct obc_transfer, 1); - transfer->op = op; - transfer->filename = g_strdup(filename); - transfer->name = g_strdup(name); - transfer->type = g_strdup(type); - - return transfer; -} - -gboolean obc_transfer_register(struct obc_transfer *transfer, - DBusConnection *conn, - const char *session, - const char *owner, - GError **err) -{ - transfer->owner = g_strdup(owner); - - transfer->session = g_strdup(session); - transfer->path = g_strdup_printf("%s/transfer%ju", session, counter++); - - transfer->conn = dbus_connection_ref(conn); - if (transfer->conn == NULL) { - g_set_error(err, OBC_TRANSFER_ERROR, -EFAULT, - "Unable to connect to D-Bus"); - return FALSE; - } - - if (g_dbus_register_interface(transfer->conn, transfer->path, - TRANSFER_INTERFACE, - obc_transfer_methods, NULL, - obc_transfer_properties, transfer, - NULL) == FALSE) { - g_set_error(err, OBC_TRANSFER_ERROR, -EFAULT, - "Unable to register to D-Bus"); - return FALSE; - } - - DBG("%p registered %s", transfer, transfer->path); - - return TRUE; -} - -static gboolean transfer_open(struct obc_transfer *transfer, int flags, - mode_t mode, GError **err) -{ - int fd; - char *filename; - - if (transfer->filename != NULL && strcmp(transfer->filename, "") != 0) { - fd = open(transfer->filename, flags, mode); - if (fd < 0) { - error("open(): %s(%d)", strerror(errno), errno); - g_set_error(err, OBC_TRANSFER_ERROR, -errno, - "Unable to open file"); - return FALSE; - } - goto done; - } - - fd = g_file_open_tmp("obex-clientXXXXXX", &filename, err); - if (fd < 0) { - error("g_file_open_tmp(): %s", (*err)->message); - return FALSE; - } - - if (transfer->filename == NULL) { - remove(filename); /* remove always only if NULL was given */ - g_free(filename); - } else { - g_free(transfer->filename); - transfer->filename = filename; - } - -done: - transfer->fd = fd; - return TRUE; -} - -struct obc_transfer *obc_transfer_get(const char *type, const char *name, - const char *filename, GError **err) -{ - struct obc_transfer *transfer; - int perr; - - transfer = obc_transfer_create(G_OBEX_OP_GET, filename, name, type); - - perr = transfer_open(transfer, O_WRONLY | O_CREAT | O_TRUNC, 0600, err); - if (perr < 0) { - obc_transfer_free(transfer); - return NULL; - } - - return transfer; -} - -struct obc_transfer *obc_transfer_put(const char *type, const char *name, - const char *filename, - const void *contents, size_t size, - GError **err) -{ - struct obc_transfer *transfer; - struct stat st; - int perr; - - if ((filename == NULL || strcmp(filename, "") == 0) && - contents == NULL) { - g_set_error(err, OBC_TRANSFER_ERROR, -EINVAL, - "Invalid filename given"); - return NULL; - } - - transfer = obc_transfer_create(G_OBEX_OP_PUT, filename, name, type); - - if (contents != NULL) { - ssize_t w; - - if (!transfer_open(transfer, O_RDWR, 0, err)) - goto fail; - - w = write(transfer->fd, contents, size); - if (w < 0) { - perr = errno; - error("write(): %s(%d)", strerror(perr), perr); - g_set_error(err, OBC_TRANSFER_ERROR, -perr, - "Writing to file failed"); - goto fail; - } else if ((size_t) w != size) { - error("Unable to write all contents to file"); - g_set_error(err, OBC_TRANSFER_ERROR, -EFAULT, - "Writing all contents to file failed"); - goto fail; - } - lseek(transfer->fd, 0, SEEK_SET); - } else { - if (!transfer_open(transfer, O_RDONLY, 0, err)) - goto fail; - } - - if (fstat(transfer->fd, &st) < 0) { - perr = errno; - error("fstat(): %s(%d)", strerror(perr), perr); - g_set_error(err, OBC_TRANSFER_ERROR, -perr, - "Unable to get file status"); - goto fail; - } - - transfer->size = st.st_size; - - return transfer; - -fail: - obc_transfer_free(transfer); - return NULL; -} - -void obc_transfer_unregister(struct obc_transfer *transfer) -{ - if (transfer->path) { - g_dbus_unregister_interface(transfer->conn, - transfer->path, TRANSFER_INTERFACE); - } - - DBG("%p unregistered %s", transfer, transfer->path); - - obc_transfer_free(transfer); -} - -static gboolean get_xfer_progress(const void *buf, gsize len, - gpointer user_data) -{ - struct obc_transfer *transfer = user_data; - - if (transfer->fd > 0) { - gint w; - - w = write(transfer->fd, buf, len); - if (w < 0) - return FALSE; - - transfer->transferred += w; - } - - return TRUE; -} - -static void transfer_set_status(struct obc_transfer *transfer, uint8_t status) -{ - transfer->status = status; - - g_dbus_emit_property_changed(transfer->conn, transfer->path, - TRANSFER_INTERFACE, "Status"); -} - -static void xfer_complete(GObex *obex, GError *err, gpointer user_data) -{ - struct obc_transfer *transfer = user_data; - struct transfer_callback *callback = transfer->callback; - - transfer->xfer = 0; - - if (transfer->progress_id != 0) { - g_source_remove(transfer->progress_id); - transfer->progress_id = 0; - } - - if (err) - transfer_set_status(transfer, TRANSFER_STATUS_ERROR); - else - transfer_set_status(transfer, TRANSFER_STATUS_COMPLETE); - - if (callback) - callback->func(transfer, err, callback->data); -} - -static void get_xfer_progress_first(GObex *obex, GError *err, GObexPacket *rsp, - gpointer user_data) -{ - struct obc_transfer *transfer = user_data; - GObexPacket *req; - GObexHeader *hdr; - GObexApparam *apparam; - const guint8 *buf; - gsize len; - guint8 rspcode; - gboolean final; - - if (err != NULL) { - xfer_complete(obex, err, transfer); - return; - } - - rspcode = g_obex_packet_get_operation(rsp, &final); - if (rspcode != G_OBEX_RSP_SUCCESS && rspcode != G_OBEX_RSP_CONTINUE) { - err = g_error_new(OBC_TRANSFER_ERROR, rspcode, - "Transfer failed (0x%02x)", rspcode); - xfer_complete(obex, err, transfer); - g_error_free(err); - return; - } - - hdr = g_obex_packet_get_header(rsp, G_OBEX_HDR_APPARAM); - if (hdr) { - apparam = g_obex_header_get_apparam(hdr); - if (apparam != NULL) - obc_transfer_set_apparam(transfer, apparam); - } - - hdr = g_obex_packet_get_body(rsp); - if (hdr) { - g_obex_header_get_bytes(hdr, &buf, &len); - if (len != 0) - get_xfer_progress(buf, len, transfer); - } - - if (rspcode == G_OBEX_RSP_SUCCESS) { - xfer_complete(obex, err, transfer); - return; - } - - if (!g_obex_srm_active(obex)) { - req = g_obex_packet_new(G_OBEX_OP_GET, TRUE, G_OBEX_HDR_INVALID); - - transfer->xfer = g_obex_get_req_pkt(obex, req, get_xfer_progress, - xfer_complete, transfer, - &err); - } -} - -static gssize put_xfer_progress(void *buf, gsize len, gpointer user_data) -{ - struct obc_transfer *transfer = user_data; - gssize size; - - size = read(transfer->fd, buf, len); - if (size <= 0) - return size; - - transfer->transferred += size; - - return size; -} - -gboolean obc_transfer_set_callback(struct obc_transfer *transfer, - transfer_callback_t func, - void *user_data) -{ - struct transfer_callback *callback; - - if (transfer->callback != NULL) - return FALSE; - - callback = g_new0(struct transfer_callback, 1); - callback->func = func; - callback->data = user_data; - - transfer->callback = callback; - - return TRUE; -} - -static gboolean report_progress(gpointer data) -{ - struct obc_transfer *transfer = data; - - if (transfer->transferred == transfer->progress) - return TRUE; - - transfer->progress = transfer->transferred; - - if (transfer->transferred == transfer->size) { - transfer->progress_id = 0; - return FALSE; - } - - if (transfer->status != TRANSFER_STATUS_ACTIVE) - transfer_set_status(transfer, TRANSFER_STATUS_ACTIVE); - - g_dbus_emit_property_changed(transfer->conn, transfer->path, - TRANSFER_INTERFACE, "Transferred"); - - return TRUE; -} - -static gboolean transfer_start_get(struct obc_transfer *transfer, GError **err) -{ - GObexPacket *req; - GObexHeader *hdr; - - if (transfer->xfer > 0) { - g_set_error(err, OBC_TRANSFER_ERROR, -EALREADY, - "Transfer already started"); - return FALSE; - } - - req = g_obex_packet_new(G_OBEX_OP_GET, TRUE, G_OBEX_HDR_INVALID); - - if (transfer->name != NULL) - g_obex_packet_add_unicode(req, G_OBEX_HDR_NAME, - transfer->name); - - if (transfer->type != NULL) - g_obex_packet_add_bytes(req, G_OBEX_HDR_TYPE, transfer->type, - strlen(transfer->type) + 1); - - if (transfer->apparam != NULL) { - hdr = g_obex_header_new_apparam(transfer->apparam); - g_obex_packet_add_header(req, hdr); - } - - transfer->xfer = g_obex_send_req(transfer->obex, req, - FIRST_PACKET_TIMEOUT, - get_xfer_progress_first, - transfer, err); - if (transfer->xfer == 0) - return FALSE; - - if (transfer->path == NULL) - return TRUE; - - transfer->progress_id = g_timeout_add_seconds(1, report_progress, - transfer); - - return TRUE; -} - -static gboolean transfer_start_put(struct obc_transfer *transfer, GError **err) -{ - GObexPacket *req; - GObexHeader *hdr; - - if (transfer->xfer > 0) { - g_set_error(err, OBC_TRANSFER_ERROR, -EALREADY, - "Transfer already started"); - return FALSE; - } - - req = g_obex_packet_new(G_OBEX_OP_PUT, FALSE, G_OBEX_HDR_INVALID); - - if (transfer->name != NULL) - g_obex_packet_add_unicode(req, G_OBEX_HDR_NAME, - transfer->name); - - if (transfer->type != NULL) - g_obex_packet_add_bytes(req, G_OBEX_HDR_TYPE, transfer->type, - strlen(transfer->type) + 1); - - if (transfer->size < UINT32_MAX) - g_obex_packet_add_uint32(req, G_OBEX_HDR_LENGTH, transfer->size); - - if (transfer->apparam != NULL) { - hdr = g_obex_header_new_apparam(transfer->apparam); - g_obex_packet_add_header(req, hdr); - } - - transfer->xfer = g_obex_put_req_pkt(transfer->obex, req, - put_xfer_progress, xfer_complete, - transfer, err); - if (transfer->xfer == 0) - return FALSE; - - if (transfer->path == NULL) - return TRUE; - - transfer->progress_id = g_timeout_add_seconds(1, report_progress, - transfer); - - return TRUE; -} - -gboolean obc_transfer_start(struct obc_transfer *transfer, void *obex, - GError **err) -{ - transfer->obex = g_obex_ref(obex); - - switch (transfer->op) { - case G_OBEX_OP_GET: - return transfer_start_get(transfer, err); - case G_OBEX_OP_PUT: - return transfer_start_put(transfer, err); - } - - g_set_error(err, OBC_TRANSFER_ERROR, -ENOTSUP, "Not supported"); - return FALSE; -} - -guint8 obc_transfer_get_operation(struct obc_transfer *transfer) -{ - return transfer->op; -} - -void obc_transfer_set_apparam(struct obc_transfer *transfer, void *data) -{ - if (transfer->apparam != NULL) - g_obex_apparam_free(transfer->apparam); - - if (data == NULL) - return; - - transfer->apparam = data; -} - -void *obc_transfer_get_apparam(struct obc_transfer *transfer) -{ - return transfer->apparam; -} - -int obc_transfer_get_contents(struct obc_transfer *transfer, char **contents, - size_t *size) -{ - struct stat st; - ssize_t ret; - - if (contents == NULL) - return -EINVAL; - - if (fstat(transfer->fd, &st) < 0) { - error("fstat(): %s(%d)", strerror(errno), errno); - return -errno; - } - - if (lseek(transfer->fd, 0, SEEK_SET) < 0) { - error("lseek(): %s(%d)", strerror(errno), errno); - return -errno; - } - - *contents = g_malloc(st.st_size + 1); - - ret = read(transfer->fd, *contents, st.st_size); - if (ret < 0) { - error("read(): %s(%d)", strerror(errno), errno); - g_free(*contents); - return -errno; - } - - (*contents)[ret] = '\0'; - - if (size) - *size = ret; - - return 0; -} - -const char *obc_transfer_get_path(struct obc_transfer *transfer) -{ - return transfer->path; -} - -gint64 obc_transfer_get_size(struct obc_transfer *transfer) -{ - return transfer->size; -} diff --git a/GRIB_BLE_HUB/libs/ble_extend/obexd/client/transfer.h b/GRIB_BLE_HUB/libs/ble_extend/obexd/client/transfer.h deleted file mode 100644 index b6b835d..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/obexd/client/transfer.h +++ /dev/null @@ -1,62 +0,0 @@ -/* - * - * OBEX Client - * - * Copyright (C) 2007-2010 Marcel Holtmann - * Copyright (C) 2011-2012 BMW Car IT GmbH. All rights reserved. - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -struct obc_transfer; - -typedef void (*transfer_callback_t) (struct obc_transfer *transfer, - GError *err, void *user_data); - -struct obc_transfer *obc_transfer_get(const char *type, const char *name, - const char *filename, GError **err); -struct obc_transfer *obc_transfer_put(const char *type, const char *name, - const char *filename, - const void *contents, size_t size, - GError **err); - -gboolean obc_transfer_register(struct obc_transfer *transfer, - DBusConnection *conn, - const char *session, - const char *owner, - GError **err); - -void obc_transfer_unregister(struct obc_transfer *transfer); - -gboolean obc_transfer_set_callback(struct obc_transfer *transfer, - transfer_callback_t func, - void *user_data); - -gboolean obc_transfer_start(struct obc_transfer *transfer, void *obex, - GError **err); -guint8 obc_transfer_get_operation(struct obc_transfer *transfer); - -void obc_transfer_set_apparam(struct obc_transfer *transfer, void *data); -void *obc_transfer_get_apparam(struct obc_transfer *transfer); -int obc_transfer_get_contents(struct obc_transfer *transfer, char **contents, - size_t *size); - -const char *obc_transfer_get_path(struct obc_transfer *transfer); -gint64 obc_transfer_get_size(struct obc_transfer *transfer); - -DBusMessage *obc_transfer_create_dbus_reply(struct obc_transfer *transfer, - DBusMessage *message); diff --git a/GRIB_BLE_HUB/libs/ble_extend/obexd/client/transport.c b/GRIB_BLE_HUB/libs/ble_extend/obexd/client/transport.c deleted file mode 100644 index 77e52f7..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/obexd/client/transport.c +++ /dev/null @@ -1,82 +0,0 @@ -/* - * - * OBEX Server - * - * Copyright (C) 2012 Intel Corporation - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include -#include -#include - -#include "transport.h" -#include "log.h" - -static GSList *transports = NULL; - -struct obc_transport *obc_transport_find(const char *name) -{ - GSList *l; - - for (l = transports; l; l = l->next) { - struct obc_transport *transport = l->data; - - if (strcasecmp(name, transport->name) == 0) - return transport; - } - - return NULL; -} - -int obc_transport_register(struct obc_transport *transport) -{ - if (!transport) { - error("Invalid transport"); - return -EINVAL; - } - - if (obc_transport_find(transport->name)) { - error("Permission denied: transport %s already registered", - transport->name); - return -EPERM; - } - - DBG("transport %p name %s registered", transport, transport->name); - - transports = g_slist_append(transports, transport); - - return 0; -} - -void obc_transport_unregister(struct obc_transport *transport) -{ - if (!g_slist_find(transports, transport)) { - error("Unable to unregister: No such transport %p", transport); - return; - } - - DBG("transport %p name %s unregistered", transport, transport->name); - - transports = g_slist_remove(transports, transport); -} diff --git a/GRIB_BLE_HUB/libs/ble_extend/obexd/client/transport.h b/GRIB_BLE_HUB/libs/ble_extend/obexd/client/transport.h deleted file mode 100644 index 5140840..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/obexd/client/transport.h +++ /dev/null @@ -1,38 +0,0 @@ -/* - * - * OBEX Server - * - * Copyright (C) 2012 Intel Corporation - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -typedef void (*obc_transport_func)(GIOChannel *io, GError *err, - gpointer user_data); - -struct obc_transport { - const char *name; - guint (*connect) (const char *source, const char *destination, - const char *service, uint16_t port, - obc_transport_func func, void *user_data); - int (*getpacketopt) (GIOChannel *io, int *tx_mtu, int *rx_mtu); - void (*disconnect) (guint id); -}; - -int obc_transport_register(struct obc_transport *transport); -void obc_transport_unregister(struct obc_transport *transport); -struct obc_transport *obc_transport_find(const char *name); diff --git a/GRIB_BLE_HUB/libs/ble_extend/obexd/plugins/.deps/.dirstamp b/GRIB_BLE_HUB/libs/ble_extend/obexd/plugins/.deps/.dirstamp deleted file mode 100644 index e69de29..0000000 diff --git a/GRIB_BLE_HUB/libs/ble_extend/obexd/plugins/.deps/obexd-bluetooth.Po b/GRIB_BLE_HUB/libs/ble_extend/obexd/plugins/.deps/obexd-bluetooth.Po deleted file mode 100644 index ad59b96..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/obexd/plugins/.deps/obexd-bluetooth.Po +++ /dev/null @@ -1,537 +0,0 @@ -obexd/plugins/obexd-bluetooth.o: obexd/plugins/bluetooth.c \ - /usr/include/stdc-predef.h config.h /usr/include/errno.h \ - /usr/include/features.h /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/include/arm-linux-gnueabihf/bits/errno.h /usr/include/linux/errno.h \ - /usr/include/arm-linux-gnueabihf/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/include/string.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/include/xlocale.h /usr/include/arm-linux-gnueabihf/bits/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string2.h /usr/include/stdlib.h \ - /usr/include/unistd.h /usr/include/arm-linux-gnueabihf/bits/posix_opt.h \ - /usr/include/arm-linux-gnueabihf/bits/environments.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h \ - /usr/include/arm-linux-gnueabihf/bits/confname.h /usr/include/getopt.h \ - /usr/include/inttypes.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h \ - /usr/include/stdint.h /usr/include/arm-linux-gnueabihf/bits/wchar.h \ - /usr/include/arm-linux-gnueabihf/sys/socket.h \ - /usr/include/arm-linux-gnueabihf/sys/uio.h \ - /usr/include/arm-linux-gnueabihf/sys/types.h /usr/include/time.h \ - /usr/include/endian.h /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/arm-linux-gnueabihf/bits/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/socket.h \ - /usr/include/arm-linux-gnueabihf/bits/socket_type.h \ - /usr/include/arm-linux-gnueabihf/bits/sockaddr.h \ - /usr/include/arm-linux-gnueabihf/asm/socket.h \ - /usr/include/asm-generic/socket.h \ - /usr/include/arm-linux-gnueabihf/asm/sockios.h \ - /usr/include/asm-generic/sockios.h /usr/include/glib-2.0/glib.h \ - /usr/include/glib-2.0/glib/galloca.h /usr/include/glib-2.0/glib/gtypes.h \ - /usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h \ - /usr/include/glib-2.0/glib/gmacros.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h \ - /usr/include/limits.h /usr/include/arm-linux-gnueabihf/bits/posix1_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/local_lim.h \ - /usr/include/linux/limits.h \ - /usr/include/arm-linux-gnueabihf/bits/posix2_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/xopen_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h \ - /usr/include/glib-2.0/glib/gversionmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/timex.h \ - /usr/include/glib-2.0/glib/garray.h \ - /usr/include/glib-2.0/glib/gasyncqueue.h \ - /usr/include/glib-2.0/glib/gthread.h \ - /usr/include/glib-2.0/glib/gatomic.h /usr/include/glib-2.0/glib/gerror.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/glib-2.0/glib/gquark.h \ - /usr/include/glib-2.0/glib/gbacktrace.h /usr/include/signal.h \ - /usr/include/arm-linux-gnueabihf/bits/signum.h \ - /usr/include/arm-linux-gnueabihf/bits/siginfo.h \ - /usr/include/arm-linux-gnueabihf/bits/sigaction.h \ - /usr/include/arm-linux-gnueabihf/bits/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/asm/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigstack.h \ - /usr/include/arm-linux-gnueabihf/sys/ucontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigthread.h \ - /usr/include/glib-2.0/glib/gbase64.h \ - /usr/include/glib-2.0/glib/gbitlock.h \ - /usr/include/glib-2.0/glib/gbookmarkfile.h \ - /usr/include/glib-2.0/glib/gbytes.h \ - /usr/include/glib-2.0/glib/gcharset.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/gconvert.h \ - /usr/include/glib-2.0/glib/gdataset.h /usr/include/glib-2.0/glib/gdate.h \ - /usr/include/glib-2.0/glib/gdatetime.h \ - /usr/include/glib-2.0/glib/gtimezone.h /usr/include/glib-2.0/glib/gdir.h \ - /usr/include/dirent.h /usr/include/arm-linux-gnueabihf/bits/dirent.h \ - /usr/include/glib-2.0/glib/genviron.h \ - /usr/include/glib-2.0/glib/gfileutils.h \ - /usr/include/glib-2.0/glib/ggettext.h /usr/include/glib-2.0/glib/ghash.h \ - /usr/include/glib-2.0/glib/glist.h /usr/include/glib-2.0/glib/gmem.h \ - /usr/include/glib-2.0/glib/gnode.h /usr/include/glib-2.0/glib/ghmac.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/ghook.h \ - /usr/include/glib-2.0/glib/ghostutils.h \ - /usr/include/glib-2.0/glib/giochannel.h \ - /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gpoll.h \ - /usr/include/glib-2.0/glib/gslist.h /usr/include/glib-2.0/glib/gstring.h \ - /usr/include/glib-2.0/glib/gunicode.h \ - /usr/include/glib-2.0/glib/gutils.h \ - /usr/include/glib-2.0/glib/gkeyfile.h \ - /usr/include/glib-2.0/glib/gmappedfile.h \ - /usr/include/glib-2.0/glib/gmarkup.h \ - /usr/include/glib-2.0/glib/gmessages.h \ - /usr/include/glib-2.0/glib/goption.h \ - /usr/include/glib-2.0/glib/gpattern.h \ - /usr/include/glib-2.0/glib/gprimes.h /usr/include/glib-2.0/glib/gqsort.h \ - /usr/include/glib-2.0/glib/gqueue.h /usr/include/glib-2.0/glib/grand.h \ - /usr/include/glib-2.0/glib/gregex.h \ - /usr/include/glib-2.0/glib/gscanner.h \ - /usr/include/glib-2.0/glib/gsequence.h \ - /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gslice.h \ - /usr/include/glib-2.0/glib/gspawn.h \ - /usr/include/glib-2.0/glib/gstrfuncs.h \ - /usr/include/glib-2.0/glib/gstringchunk.h \ - /usr/include/glib-2.0/glib/gtestutils.h \ - /usr/include/glib-2.0/glib/gthreadpool.h \ - /usr/include/glib-2.0/glib/gtimer.h \ - /usr/include/glib-2.0/glib/gtrashstack.h \ - /usr/include/glib-2.0/glib/gtree.h \ - /usr/include/glib-2.0/glib/gurifuncs.h \ - /usr/include/glib-2.0/glib/gvarianttype.h \ - /usr/include/glib-2.0/glib/gvariant.h \ - /usr/include/glib-2.0/glib/gversion.h \ - /usr/include/glib-2.0/glib/deprecated/gallocator.h \ - /usr/include/glib-2.0/glib/deprecated/gcache.h \ - /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ - /usr/include/glib-2.0/glib/deprecated/gmain.h \ - /usr/include/glib-2.0/glib/deprecated/grel.h \ - /usr/include/glib-2.0/glib/deprecated/gthread.h /usr/include/pthread.h \ - /usr/include/sched.h /usr/include/arm-linux-gnueabihf/bits/sched.h \ - /usr/include/arm-linux-gnueabihf/bits/setjmp.h gdbus/gdbus.h \ - /usr/include/dbus-1.0/dbus/dbus.h \ - /usr/lib/arm-linux-gnueabihf/dbus-1.0/include/dbus/dbus-arch-deps.h \ - /usr/include/dbus-1.0/dbus/dbus-macros.h \ - /usr/include/dbus-1.0/dbus/dbus-address.h \ - /usr/include/dbus-1.0/dbus/dbus-types.h \ - /usr/include/dbus-1.0/dbus/dbus-errors.h \ - /usr/include/dbus-1.0/dbus/dbus-protocol.h \ - /usr/include/dbus-1.0/dbus/dbus-bus.h \ - /usr/include/dbus-1.0/dbus/dbus-connection.h \ - /usr/include/dbus-1.0/dbus/dbus-memory.h \ - /usr/include/dbus-1.0/dbus/dbus-message.h \ - /usr/include/dbus-1.0/dbus/dbus-shared.h \ - /usr/include/dbus-1.0/dbus/dbus-misc.h \ - /usr/include/dbus-1.0/dbus/dbus-pending-call.h \ - /usr/include/dbus-1.0/dbus/dbus-server.h \ - /usr/include/dbus-1.0/dbus/dbus-signature.h \ - /usr/include/dbus-1.0/dbus/dbus-syntax.h \ - /usr/include/dbus-1.0/dbus/dbus-threads.h btio/btio.h lib/uuid.h \ - lib/bluetooth/bluetooth.h /usr/include/stdio.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/include/arm-linux-gnueabihf/bits/sys_errlist.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio.h /usr/include/byteswap.h \ - /usr/include/netinet/in.h /usr/include/arm-linux-gnueabihf/bits/in.h \ - obexd/src/obexd.h obexd/src/plugin.h obexd/src/server.h obexd/src/obex.h \ - obexd/src/transport.h obexd/src/service.h obexd/src/log.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/include/errno.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/include/arm-linux-gnueabihf/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/arm-linux-gnueabihf/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/include/string.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/include/xlocale.h: - -/usr/include/arm-linux-gnueabihf/bits/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string2.h: - -/usr/include/stdlib.h: - -/usr/include/unistd.h: - -/usr/include/arm-linux-gnueabihf/bits/posix_opt.h: - -/usr/include/arm-linux-gnueabihf/bits/environments.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/arm-linux-gnueabihf/bits/confname.h: - -/usr/include/getopt.h: - -/usr/include/inttypes.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/arm-linux-gnueabihf/bits/wchar.h: - -/usr/include/arm-linux-gnueabihf/sys/socket.h: - -/usr/include/arm-linux-gnueabihf/sys/uio.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/time.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/arm-linux-gnueabihf/bits/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/socket.h: - -/usr/include/arm-linux-gnueabihf/bits/socket_type.h: - -/usr/include/arm-linux-gnueabihf/bits/sockaddr.h: - -/usr/include/arm-linux-gnueabihf/asm/socket.h: - -/usr/include/asm-generic/socket.h: - -/usr/include/arm-linux-gnueabihf/asm/sockios.h: - -/usr/include/asm-generic/sockios.h: - -/usr/include/glib-2.0/glib.h: - -/usr/include/glib-2.0/glib/galloca.h: - -/usr/include/glib-2.0/glib/gtypes.h: - -/usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h: - -/usr/include/glib-2.0/glib/gmacros.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h: - -/usr/include/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/local_lim.h: - -/usr/include/linux/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix2_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/xopen_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h: - -/usr/include/glib-2.0/glib/gversionmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/timex.h: - -/usr/include/glib-2.0/glib/garray.h: - -/usr/include/glib-2.0/glib/gasyncqueue.h: - -/usr/include/glib-2.0/glib/gthread.h: - -/usr/include/glib-2.0/glib/gatomic.h: - -/usr/include/glib-2.0/glib/gerror.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/glib-2.0/glib/gquark.h: - -/usr/include/glib-2.0/glib/gbacktrace.h: - -/usr/include/signal.h: - -/usr/include/arm-linux-gnueabihf/bits/signum.h: - -/usr/include/arm-linux-gnueabihf/bits/siginfo.h: - -/usr/include/arm-linux-gnueabihf/bits/sigaction.h: - -/usr/include/arm-linux-gnueabihf/bits/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/asm/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigstack.h: - -/usr/include/arm-linux-gnueabihf/sys/ucontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigthread.h: - -/usr/include/glib-2.0/glib/gbase64.h: - -/usr/include/glib-2.0/glib/gbitlock.h: - -/usr/include/glib-2.0/glib/gbookmarkfile.h: - -/usr/include/glib-2.0/glib/gbytes.h: - -/usr/include/glib-2.0/glib/gcharset.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/gconvert.h: - -/usr/include/glib-2.0/glib/gdataset.h: - -/usr/include/glib-2.0/glib/gdate.h: - -/usr/include/glib-2.0/glib/gdatetime.h: - -/usr/include/glib-2.0/glib/gtimezone.h: - -/usr/include/glib-2.0/glib/gdir.h: - -/usr/include/dirent.h: - -/usr/include/arm-linux-gnueabihf/bits/dirent.h: - -/usr/include/glib-2.0/glib/genviron.h: - -/usr/include/glib-2.0/glib/gfileutils.h: - -/usr/include/glib-2.0/glib/ggettext.h: - -/usr/include/glib-2.0/glib/ghash.h: - -/usr/include/glib-2.0/glib/glist.h: - -/usr/include/glib-2.0/glib/gmem.h: - -/usr/include/glib-2.0/glib/gnode.h: - -/usr/include/glib-2.0/glib/ghmac.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/ghook.h: - -/usr/include/glib-2.0/glib/ghostutils.h: - -/usr/include/glib-2.0/glib/giochannel.h: - -/usr/include/glib-2.0/glib/gmain.h: - -/usr/include/glib-2.0/glib/gpoll.h: - -/usr/include/glib-2.0/glib/gslist.h: - -/usr/include/glib-2.0/glib/gstring.h: - -/usr/include/glib-2.0/glib/gunicode.h: - -/usr/include/glib-2.0/glib/gutils.h: - -/usr/include/glib-2.0/glib/gkeyfile.h: - -/usr/include/glib-2.0/glib/gmappedfile.h: - -/usr/include/glib-2.0/glib/gmarkup.h: - -/usr/include/glib-2.0/glib/gmessages.h: - -/usr/include/glib-2.0/glib/goption.h: - -/usr/include/glib-2.0/glib/gpattern.h: - -/usr/include/glib-2.0/glib/gprimes.h: - -/usr/include/glib-2.0/glib/gqsort.h: - -/usr/include/glib-2.0/glib/gqueue.h: - -/usr/include/glib-2.0/glib/grand.h: - -/usr/include/glib-2.0/glib/gregex.h: - -/usr/include/glib-2.0/glib/gscanner.h: - -/usr/include/glib-2.0/glib/gsequence.h: - -/usr/include/glib-2.0/glib/gshell.h: - -/usr/include/glib-2.0/glib/gslice.h: - -/usr/include/glib-2.0/glib/gspawn.h: - -/usr/include/glib-2.0/glib/gstrfuncs.h: - -/usr/include/glib-2.0/glib/gstringchunk.h: - -/usr/include/glib-2.0/glib/gtestutils.h: - -/usr/include/glib-2.0/glib/gthreadpool.h: - -/usr/include/glib-2.0/glib/gtimer.h: - -/usr/include/glib-2.0/glib/gtrashstack.h: - -/usr/include/glib-2.0/glib/gtree.h: - -/usr/include/glib-2.0/glib/gurifuncs.h: - -/usr/include/glib-2.0/glib/gvarianttype.h: - -/usr/include/glib-2.0/glib/gvariant.h: - -/usr/include/glib-2.0/glib/gversion.h: - -/usr/include/glib-2.0/glib/deprecated/gallocator.h: - -/usr/include/glib-2.0/glib/deprecated/gcache.h: - -/usr/include/glib-2.0/glib/deprecated/gcompletion.h: - -/usr/include/glib-2.0/glib/deprecated/gmain.h: - -/usr/include/glib-2.0/glib/deprecated/grel.h: - -/usr/include/glib-2.0/glib/deprecated/gthread.h: - -/usr/include/pthread.h: - -/usr/include/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/setjmp.h: - -gdbus/gdbus.h: - -/usr/include/dbus-1.0/dbus/dbus.h: - -/usr/lib/arm-linux-gnueabihf/dbus-1.0/include/dbus/dbus-arch-deps.h: - -/usr/include/dbus-1.0/dbus/dbus-macros.h: - -/usr/include/dbus-1.0/dbus/dbus-address.h: - -/usr/include/dbus-1.0/dbus/dbus-types.h: - -/usr/include/dbus-1.0/dbus/dbus-errors.h: - -/usr/include/dbus-1.0/dbus/dbus-protocol.h: - -/usr/include/dbus-1.0/dbus/dbus-bus.h: - -/usr/include/dbus-1.0/dbus/dbus-connection.h: - -/usr/include/dbus-1.0/dbus/dbus-memory.h: - -/usr/include/dbus-1.0/dbus/dbus-message.h: - -/usr/include/dbus-1.0/dbus/dbus-shared.h: - -/usr/include/dbus-1.0/dbus/dbus-misc.h: - -/usr/include/dbus-1.0/dbus/dbus-pending-call.h: - -/usr/include/dbus-1.0/dbus/dbus-server.h: - -/usr/include/dbus-1.0/dbus/dbus-signature.h: - -/usr/include/dbus-1.0/dbus/dbus-syntax.h: - -/usr/include/dbus-1.0/dbus/dbus-threads.h: - -btio/btio.h: - -lib/uuid.h: - -lib/bluetooth/bluetooth.h: - -/usr/include/stdio.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/include/arm-linux-gnueabihf/bits/sys_errlist.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio.h: - -/usr/include/byteswap.h: - -/usr/include/netinet/in.h: - -/usr/include/arm-linux-gnueabihf/bits/in.h: - -obexd/src/obexd.h: - -obexd/src/plugin.h: - -obexd/src/server.h: - -obexd/src/obex.h: - -obexd/src/transport.h: - -obexd/src/service.h: - -obexd/src/log.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/obexd/plugins/.deps/obexd-filesystem.Po b/GRIB_BLE_HUB/libs/ble_extend/obexd/plugins/.deps/obexd-filesystem.Po deleted file mode 100644 index ed5e40e..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/obexd/plugins/.deps/obexd-filesystem.Po +++ /dev/null @@ -1,478 +0,0 @@ -obexd/plugins/obexd-filesystem.o: obexd/plugins/filesystem.c \ - /usr/include/stdc-predef.h config.h /usr/include/stdio.h \ - /usr/include/features.h /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/sys_errlist.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio.h /usr/include/errno.h \ - /usr/include/arm-linux-gnueabihf/bits/errno.h /usr/include/linux/errno.h \ - /usr/include/arm-linux-gnueabihf/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/include/stdlib.h /usr/include/arm-linux-gnueabihf/bits/waitflags.h \ - /usr/include/arm-linux-gnueabihf/bits/waitstatus.h /usr/include/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/xlocale.h /usr/include/arm-linux-gnueabihf/sys/types.h \ - /usr/include/time.h /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/alloca.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-float.h \ - /usr/include/string.h /usr/include/arm-linux-gnueabihf/bits/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string2.h /usr/include/unistd.h \ - /usr/include/arm-linux-gnueabihf/bits/posix_opt.h \ - /usr/include/arm-linux-gnueabihf/bits/environments.h \ - /usr/include/arm-linux-gnueabihf/bits/confname.h /usr/include/getopt.h \ - /usr/include/dirent.h /usr/include/arm-linux-gnueabihf/bits/dirent.h \ - /usr/include/arm-linux-gnueabihf/bits/posix1_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/local_lim.h \ - /usr/include/linux/limits.h /usr/include/arm-linux-gnueabihf/sys/stat.h \ - /usr/include/arm-linux-gnueabihf/bits/stat.h \ - /usr/include/arm-linux-gnueabihf/sys/statvfs.h \ - /usr/include/arm-linux-gnueabihf/bits/statvfs.h \ - /usr/include/arm-linux-gnueabihf/sys/sendfile.h /usr/include/fcntl.h \ - /usr/include/arm-linux-gnueabihf/bits/fcntl.h \ - /usr/include/arm-linux-gnueabihf/bits/fcntl-linux.h \ - /usr/include/arm-linux-gnueabihf/bits/uio.h /usr/include/wait.h \ - /usr/include/arm-linux-gnueabihf/sys/wait.h /usr/include/signal.h \ - /usr/include/arm-linux-gnueabihf/bits/signum.h \ - /usr/include/arm-linux-gnueabihf/bits/siginfo.h \ - /usr/include/arm-linux-gnueabihf/bits/sigaction.h \ - /usr/include/arm-linux-gnueabihf/bits/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/asm/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigstack.h \ - /usr/include/arm-linux-gnueabihf/sys/ucontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigthread.h \ - /usr/include/inttypes.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h \ - /usr/include/stdint.h /usr/include/arm-linux-gnueabihf/bits/wchar.h \ - /usr/include/glib-2.0/glib.h /usr/include/glib-2.0/glib/galloca.h \ - /usr/include/glib-2.0/glib/gtypes.h \ - /usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h \ - /usr/include/glib-2.0/glib/gmacros.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h \ - /usr/include/limits.h /usr/include/arm-linux-gnueabihf/bits/posix2_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/xopen_lim.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h \ - /usr/include/glib-2.0/glib/gversionmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/timex.h \ - /usr/include/glib-2.0/glib/garray.h \ - /usr/include/glib-2.0/glib/gasyncqueue.h \ - /usr/include/glib-2.0/glib/gthread.h \ - /usr/include/glib-2.0/glib/gatomic.h /usr/include/glib-2.0/glib/gerror.h \ - /usr/include/glib-2.0/glib/gquark.h \ - /usr/include/glib-2.0/glib/gbacktrace.h \ - /usr/include/glib-2.0/glib/gbase64.h \ - /usr/include/glib-2.0/glib/gbitlock.h \ - /usr/include/glib-2.0/glib/gbookmarkfile.h \ - /usr/include/glib-2.0/glib/gbytes.h \ - /usr/include/glib-2.0/glib/gcharset.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/gconvert.h \ - /usr/include/glib-2.0/glib/gdataset.h /usr/include/glib-2.0/glib/gdate.h \ - /usr/include/glib-2.0/glib/gdatetime.h \ - /usr/include/glib-2.0/glib/gtimezone.h /usr/include/glib-2.0/glib/gdir.h \ - /usr/include/glib-2.0/glib/genviron.h \ - /usr/include/glib-2.0/glib/gfileutils.h \ - /usr/include/glib-2.0/glib/ggettext.h /usr/include/glib-2.0/glib/ghash.h \ - /usr/include/glib-2.0/glib/glist.h /usr/include/glib-2.0/glib/gmem.h \ - /usr/include/glib-2.0/glib/gnode.h /usr/include/glib-2.0/glib/ghmac.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/ghook.h \ - /usr/include/glib-2.0/glib/ghostutils.h \ - /usr/include/glib-2.0/glib/giochannel.h \ - /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gpoll.h \ - /usr/include/glib-2.0/glib/gslist.h /usr/include/glib-2.0/glib/gstring.h \ - /usr/include/glib-2.0/glib/gunicode.h \ - /usr/include/glib-2.0/glib/gutils.h \ - /usr/include/glib-2.0/glib/gkeyfile.h \ - /usr/include/glib-2.0/glib/gmappedfile.h \ - /usr/include/glib-2.0/glib/gmarkup.h \ - /usr/include/glib-2.0/glib/gmessages.h \ - /usr/include/glib-2.0/glib/goption.h \ - /usr/include/glib-2.0/glib/gpattern.h \ - /usr/include/glib-2.0/glib/gprimes.h /usr/include/glib-2.0/glib/gqsort.h \ - /usr/include/glib-2.0/glib/gqueue.h /usr/include/glib-2.0/glib/grand.h \ - /usr/include/glib-2.0/glib/gregex.h \ - /usr/include/glib-2.0/glib/gscanner.h \ - /usr/include/glib-2.0/glib/gsequence.h \ - /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gslice.h \ - /usr/include/glib-2.0/glib/gspawn.h \ - /usr/include/glib-2.0/glib/gstrfuncs.h \ - /usr/include/glib-2.0/glib/gstringchunk.h \ - /usr/include/glib-2.0/glib/gtestutils.h \ - /usr/include/glib-2.0/glib/gthreadpool.h \ - /usr/include/glib-2.0/glib/gtimer.h \ - /usr/include/glib-2.0/glib/gtrashstack.h \ - /usr/include/glib-2.0/glib/gtree.h \ - /usr/include/glib-2.0/glib/gurifuncs.h \ - /usr/include/glib-2.0/glib/gvarianttype.h \ - /usr/include/glib-2.0/glib/gvariant.h \ - /usr/include/glib-2.0/glib/gversion.h \ - /usr/include/glib-2.0/glib/deprecated/gallocator.h \ - /usr/include/glib-2.0/glib/deprecated/gcache.h \ - /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ - /usr/include/glib-2.0/glib/deprecated/gmain.h \ - /usr/include/glib-2.0/glib/deprecated/grel.h \ - /usr/include/glib-2.0/glib/deprecated/gthread.h /usr/include/pthread.h \ - /usr/include/sched.h /usr/include/arm-linux-gnueabihf/bits/sched.h \ - /usr/include/arm-linux-gnueabihf/bits/setjmp.h obexd/src/obexd.h \ - obexd/src/plugin.h obexd/src/log.h obexd/src/mimetype.h \ - obexd/plugins/filesystem.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/include/stdio.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/sys_errlist.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio.h: - -/usr/include/errno.h: - -/usr/include/arm-linux-gnueabihf/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/arm-linux-gnueabihf/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/include/stdlib.h: - -/usr/include/arm-linux-gnueabihf/bits/waitflags.h: - -/usr/include/arm-linux-gnueabihf/bits/waitstatus.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/xlocale.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/time.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/alloca.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-float.h: - -/usr/include/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string2.h: - -/usr/include/unistd.h: - -/usr/include/arm-linux-gnueabihf/bits/posix_opt.h: - -/usr/include/arm-linux-gnueabihf/bits/environments.h: - -/usr/include/arm-linux-gnueabihf/bits/confname.h: - -/usr/include/getopt.h: - -/usr/include/dirent.h: - -/usr/include/arm-linux-gnueabihf/bits/dirent.h: - -/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/local_lim.h: - -/usr/include/linux/limits.h: - -/usr/include/arm-linux-gnueabihf/sys/stat.h: - -/usr/include/arm-linux-gnueabihf/bits/stat.h: - -/usr/include/arm-linux-gnueabihf/sys/statvfs.h: - -/usr/include/arm-linux-gnueabihf/bits/statvfs.h: - -/usr/include/arm-linux-gnueabihf/sys/sendfile.h: - -/usr/include/fcntl.h: - -/usr/include/arm-linux-gnueabihf/bits/fcntl.h: - -/usr/include/arm-linux-gnueabihf/bits/fcntl-linux.h: - -/usr/include/arm-linux-gnueabihf/bits/uio.h: - -/usr/include/wait.h: - -/usr/include/arm-linux-gnueabihf/sys/wait.h: - -/usr/include/signal.h: - -/usr/include/arm-linux-gnueabihf/bits/signum.h: - -/usr/include/arm-linux-gnueabihf/bits/siginfo.h: - -/usr/include/arm-linux-gnueabihf/bits/sigaction.h: - -/usr/include/arm-linux-gnueabihf/bits/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/asm/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigstack.h: - -/usr/include/arm-linux-gnueabihf/sys/ucontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigthread.h: - -/usr/include/inttypes.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/arm-linux-gnueabihf/bits/wchar.h: - -/usr/include/glib-2.0/glib.h: - -/usr/include/glib-2.0/glib/galloca.h: - -/usr/include/glib-2.0/glib/gtypes.h: - -/usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h: - -/usr/include/glib-2.0/glib/gmacros.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h: - -/usr/include/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix2_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/xopen_lim.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h: - -/usr/include/glib-2.0/glib/gversionmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/timex.h: - -/usr/include/glib-2.0/glib/garray.h: - -/usr/include/glib-2.0/glib/gasyncqueue.h: - -/usr/include/glib-2.0/glib/gthread.h: - -/usr/include/glib-2.0/glib/gatomic.h: - -/usr/include/glib-2.0/glib/gerror.h: - -/usr/include/glib-2.0/glib/gquark.h: - -/usr/include/glib-2.0/glib/gbacktrace.h: - -/usr/include/glib-2.0/glib/gbase64.h: - -/usr/include/glib-2.0/glib/gbitlock.h: - -/usr/include/glib-2.0/glib/gbookmarkfile.h: - -/usr/include/glib-2.0/glib/gbytes.h: - -/usr/include/glib-2.0/glib/gcharset.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/gconvert.h: - -/usr/include/glib-2.0/glib/gdataset.h: - -/usr/include/glib-2.0/glib/gdate.h: - -/usr/include/glib-2.0/glib/gdatetime.h: - -/usr/include/glib-2.0/glib/gtimezone.h: - -/usr/include/glib-2.0/glib/gdir.h: - -/usr/include/glib-2.0/glib/genviron.h: - -/usr/include/glib-2.0/glib/gfileutils.h: - -/usr/include/glib-2.0/glib/ggettext.h: - -/usr/include/glib-2.0/glib/ghash.h: - -/usr/include/glib-2.0/glib/glist.h: - -/usr/include/glib-2.0/glib/gmem.h: - -/usr/include/glib-2.0/glib/gnode.h: - -/usr/include/glib-2.0/glib/ghmac.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/ghook.h: - -/usr/include/glib-2.0/glib/ghostutils.h: - -/usr/include/glib-2.0/glib/giochannel.h: - -/usr/include/glib-2.0/glib/gmain.h: - -/usr/include/glib-2.0/glib/gpoll.h: - -/usr/include/glib-2.0/glib/gslist.h: - -/usr/include/glib-2.0/glib/gstring.h: - -/usr/include/glib-2.0/glib/gunicode.h: - -/usr/include/glib-2.0/glib/gutils.h: - -/usr/include/glib-2.0/glib/gkeyfile.h: - -/usr/include/glib-2.0/glib/gmappedfile.h: - -/usr/include/glib-2.0/glib/gmarkup.h: - -/usr/include/glib-2.0/glib/gmessages.h: - -/usr/include/glib-2.0/glib/goption.h: - -/usr/include/glib-2.0/glib/gpattern.h: - -/usr/include/glib-2.0/glib/gprimes.h: - -/usr/include/glib-2.0/glib/gqsort.h: - -/usr/include/glib-2.0/glib/gqueue.h: - -/usr/include/glib-2.0/glib/grand.h: - -/usr/include/glib-2.0/glib/gregex.h: - -/usr/include/glib-2.0/glib/gscanner.h: - -/usr/include/glib-2.0/glib/gsequence.h: - -/usr/include/glib-2.0/glib/gshell.h: - -/usr/include/glib-2.0/glib/gslice.h: - -/usr/include/glib-2.0/glib/gspawn.h: - -/usr/include/glib-2.0/glib/gstrfuncs.h: - -/usr/include/glib-2.0/glib/gstringchunk.h: - -/usr/include/glib-2.0/glib/gtestutils.h: - -/usr/include/glib-2.0/glib/gthreadpool.h: - -/usr/include/glib-2.0/glib/gtimer.h: - -/usr/include/glib-2.0/glib/gtrashstack.h: - -/usr/include/glib-2.0/glib/gtree.h: - -/usr/include/glib-2.0/glib/gurifuncs.h: - -/usr/include/glib-2.0/glib/gvarianttype.h: - -/usr/include/glib-2.0/glib/gvariant.h: - -/usr/include/glib-2.0/glib/gversion.h: - -/usr/include/glib-2.0/glib/deprecated/gallocator.h: - -/usr/include/glib-2.0/glib/deprecated/gcache.h: - -/usr/include/glib-2.0/glib/deprecated/gcompletion.h: - -/usr/include/glib-2.0/glib/deprecated/gmain.h: - -/usr/include/glib-2.0/glib/deprecated/grel.h: - -/usr/include/glib-2.0/glib/deprecated/gthread.h: - -/usr/include/pthread.h: - -/usr/include/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/setjmp.h: - -obexd/src/obexd.h: - -obexd/src/plugin.h: - -obexd/src/log.h: - -obexd/src/mimetype.h: - -obexd/plugins/filesystem.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/obexd/plugins/.deps/obexd-ftp.Po b/GRIB_BLE_HUB/libs/ble_extend/obexd/plugins/.deps/obexd-ftp.Po deleted file mode 100644 index c83b588..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/obexd/plugins/.deps/obexd-ftp.Po +++ /dev/null @@ -1,529 +0,0 @@ -obexd/plugins/obexd-ftp.o: obexd/plugins/ftp.c /usr/include/stdc-predef.h \ - config.h /usr/include/fcntl.h /usr/include/features.h \ - /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h \ - /usr/include/arm-linux-gnueabihf/bits/fcntl.h \ - /usr/include/arm-linux-gnueabihf/bits/fcntl-linux.h \ - /usr/include/arm-linux-gnueabihf/bits/uio.h \ - /usr/include/arm-linux-gnueabihf/sys/types.h /usr/include/time.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/include/endian.h /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/arm-linux-gnueabihf/bits/stat.h /usr/include/stdio.h \ - /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/sys_errlist.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio.h /usr/include/errno.h \ - /usr/include/arm-linux-gnueabihf/bits/errno.h /usr/include/linux/errno.h \ - /usr/include/arm-linux-gnueabihf/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/include/stdlib.h /usr/include/arm-linux-gnueabihf/bits/waitflags.h \ - /usr/include/arm-linux-gnueabihf/bits/waitstatus.h \ - /usr/include/xlocale.h /usr/include/alloca.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-float.h \ - /usr/include/string.h /usr/include/arm-linux-gnueabihf/bits/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string2.h /usr/include/dirent.h \ - /usr/include/arm-linux-gnueabihf/bits/dirent.h \ - /usr/include/arm-linux-gnueabihf/bits/posix1_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/local_lim.h \ - /usr/include/linux/limits.h /usr/include/arm-linux-gnueabihf/sys/stat.h \ - /usr/include/arm-linux-gnueabihf/sys/wait.h /usr/include/signal.h \ - /usr/include/arm-linux-gnueabihf/bits/signum.h \ - /usr/include/arm-linux-gnueabihf/bits/siginfo.h \ - /usr/include/arm-linux-gnueabihf/bits/sigaction.h \ - /usr/include/arm-linux-gnueabihf/bits/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/asm/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigstack.h \ - /usr/include/arm-linux-gnueabihf/sys/ucontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigthread.h /usr/include/unistd.h \ - /usr/include/arm-linux-gnueabihf/bits/posix_opt.h \ - /usr/include/arm-linux-gnueabihf/bits/environments.h \ - /usr/include/arm-linux-gnueabihf/bits/confname.h /usr/include/getopt.h \ - /usr/include/inttypes.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h \ - /usr/include/stdint.h /usr/include/arm-linux-gnueabihf/bits/wchar.h \ - /usr/include/glib-2.0/glib.h /usr/include/glib-2.0/glib/galloca.h \ - /usr/include/glib-2.0/glib/gtypes.h \ - /usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h \ - /usr/include/glib-2.0/glib/gmacros.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h \ - /usr/include/limits.h /usr/include/arm-linux-gnueabihf/bits/posix2_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/xopen_lim.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h \ - /usr/include/glib-2.0/glib/gversionmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/timex.h \ - /usr/include/glib-2.0/glib/garray.h \ - /usr/include/glib-2.0/glib/gasyncqueue.h \ - /usr/include/glib-2.0/glib/gthread.h \ - /usr/include/glib-2.0/glib/gatomic.h /usr/include/glib-2.0/glib/gerror.h \ - /usr/include/glib-2.0/glib/gquark.h \ - /usr/include/glib-2.0/glib/gbacktrace.h \ - /usr/include/glib-2.0/glib/gbase64.h \ - /usr/include/glib-2.0/glib/gbitlock.h \ - /usr/include/glib-2.0/glib/gbookmarkfile.h \ - /usr/include/glib-2.0/glib/gbytes.h \ - /usr/include/glib-2.0/glib/gcharset.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/gconvert.h \ - /usr/include/glib-2.0/glib/gdataset.h /usr/include/glib-2.0/glib/gdate.h \ - /usr/include/glib-2.0/glib/gdatetime.h \ - /usr/include/glib-2.0/glib/gtimezone.h /usr/include/glib-2.0/glib/gdir.h \ - /usr/include/glib-2.0/glib/genviron.h \ - /usr/include/glib-2.0/glib/gfileutils.h \ - /usr/include/glib-2.0/glib/ggettext.h /usr/include/glib-2.0/glib/ghash.h \ - /usr/include/glib-2.0/glib/glist.h /usr/include/glib-2.0/glib/gmem.h \ - /usr/include/glib-2.0/glib/gnode.h /usr/include/glib-2.0/glib/ghmac.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/ghook.h \ - /usr/include/glib-2.0/glib/ghostutils.h \ - /usr/include/glib-2.0/glib/giochannel.h \ - /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gpoll.h \ - /usr/include/glib-2.0/glib/gslist.h /usr/include/glib-2.0/glib/gstring.h \ - /usr/include/glib-2.0/glib/gunicode.h \ - /usr/include/glib-2.0/glib/gutils.h \ - /usr/include/glib-2.0/glib/gkeyfile.h \ - /usr/include/glib-2.0/glib/gmappedfile.h \ - /usr/include/glib-2.0/glib/gmarkup.h \ - /usr/include/glib-2.0/glib/gmessages.h \ - /usr/include/glib-2.0/glib/goption.h \ - /usr/include/glib-2.0/glib/gpattern.h \ - /usr/include/glib-2.0/glib/gprimes.h /usr/include/glib-2.0/glib/gqsort.h \ - /usr/include/glib-2.0/glib/gqueue.h /usr/include/glib-2.0/glib/grand.h \ - /usr/include/glib-2.0/glib/gregex.h \ - /usr/include/glib-2.0/glib/gscanner.h \ - /usr/include/glib-2.0/glib/gsequence.h \ - /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gslice.h \ - /usr/include/glib-2.0/glib/gspawn.h \ - /usr/include/glib-2.0/glib/gstrfuncs.h \ - /usr/include/glib-2.0/glib/gstringchunk.h \ - /usr/include/glib-2.0/glib/gtestutils.h \ - /usr/include/glib-2.0/glib/gthreadpool.h \ - /usr/include/glib-2.0/glib/gtimer.h \ - /usr/include/glib-2.0/glib/gtrashstack.h \ - /usr/include/glib-2.0/glib/gtree.h \ - /usr/include/glib-2.0/glib/gurifuncs.h \ - /usr/include/glib-2.0/glib/gvarianttype.h \ - /usr/include/glib-2.0/glib/gvariant.h \ - /usr/include/glib-2.0/glib/gversion.h \ - /usr/include/glib-2.0/glib/deprecated/gallocator.h \ - /usr/include/glib-2.0/glib/deprecated/gcache.h \ - /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ - /usr/include/glib-2.0/glib/deprecated/gmain.h \ - /usr/include/glib-2.0/glib/deprecated/grel.h \ - /usr/include/glib-2.0/glib/deprecated/gthread.h /usr/include/pthread.h \ - /usr/include/sched.h /usr/include/arm-linux-gnueabihf/bits/sched.h \ - /usr/include/arm-linux-gnueabihf/bits/setjmp.h obexd/src/obexd.h \ - obexd/src/plugin.h obexd/src/log.h obexd/src/obex.h obexd/src/manager.h \ - /usr/include/dbus-1.0/dbus/dbus.h \ - /usr/lib/arm-linux-gnueabihf/dbus-1.0/include/dbus/dbus-arch-deps.h \ - /usr/include/dbus-1.0/dbus/dbus-macros.h \ - /usr/include/dbus-1.0/dbus/dbus-address.h \ - /usr/include/dbus-1.0/dbus/dbus-types.h \ - /usr/include/dbus-1.0/dbus/dbus-errors.h \ - /usr/include/dbus-1.0/dbus/dbus-protocol.h \ - /usr/include/dbus-1.0/dbus/dbus-bus.h \ - /usr/include/dbus-1.0/dbus/dbus-connection.h \ - /usr/include/dbus-1.0/dbus/dbus-memory.h \ - /usr/include/dbus-1.0/dbus/dbus-message.h \ - /usr/include/dbus-1.0/dbus/dbus-shared.h \ - /usr/include/dbus-1.0/dbus/dbus-misc.h \ - /usr/include/dbus-1.0/dbus/dbus-pending-call.h \ - /usr/include/dbus-1.0/dbus/dbus-server.h \ - /usr/include/dbus-1.0/dbus/dbus-signature.h \ - /usr/include/dbus-1.0/dbus/dbus-syntax.h \ - /usr/include/dbus-1.0/dbus/dbus-threads.h obexd/src/mimetype.h \ - obexd/src/service.h obexd/plugins/ftp.h obexd/plugins/filesystem.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/include/fcntl.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/arm-linux-gnueabihf/bits/fcntl.h: - -/usr/include/arm-linux-gnueabihf/bits/fcntl-linux.h: - -/usr/include/arm-linux-gnueabihf/bits/uio.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/time.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/arm-linux-gnueabihf/bits/stat.h: - -/usr/include/stdio.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/sys_errlist.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio.h: - -/usr/include/errno.h: - -/usr/include/arm-linux-gnueabihf/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/arm-linux-gnueabihf/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/include/stdlib.h: - -/usr/include/arm-linux-gnueabihf/bits/waitflags.h: - -/usr/include/arm-linux-gnueabihf/bits/waitstatus.h: - -/usr/include/xlocale.h: - -/usr/include/alloca.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-float.h: - -/usr/include/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string2.h: - -/usr/include/dirent.h: - -/usr/include/arm-linux-gnueabihf/bits/dirent.h: - -/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/local_lim.h: - -/usr/include/linux/limits.h: - -/usr/include/arm-linux-gnueabihf/sys/stat.h: - -/usr/include/arm-linux-gnueabihf/sys/wait.h: - -/usr/include/signal.h: - -/usr/include/arm-linux-gnueabihf/bits/signum.h: - -/usr/include/arm-linux-gnueabihf/bits/siginfo.h: - -/usr/include/arm-linux-gnueabihf/bits/sigaction.h: - -/usr/include/arm-linux-gnueabihf/bits/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/asm/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigstack.h: - -/usr/include/arm-linux-gnueabihf/sys/ucontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigthread.h: - -/usr/include/unistd.h: - -/usr/include/arm-linux-gnueabihf/bits/posix_opt.h: - -/usr/include/arm-linux-gnueabihf/bits/environments.h: - -/usr/include/arm-linux-gnueabihf/bits/confname.h: - -/usr/include/getopt.h: - -/usr/include/inttypes.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/arm-linux-gnueabihf/bits/wchar.h: - -/usr/include/glib-2.0/glib.h: - -/usr/include/glib-2.0/glib/galloca.h: - -/usr/include/glib-2.0/glib/gtypes.h: - -/usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h: - -/usr/include/glib-2.0/glib/gmacros.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h: - -/usr/include/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix2_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/xopen_lim.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h: - -/usr/include/glib-2.0/glib/gversionmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/timex.h: - -/usr/include/glib-2.0/glib/garray.h: - -/usr/include/glib-2.0/glib/gasyncqueue.h: - -/usr/include/glib-2.0/glib/gthread.h: - -/usr/include/glib-2.0/glib/gatomic.h: - -/usr/include/glib-2.0/glib/gerror.h: - -/usr/include/glib-2.0/glib/gquark.h: - -/usr/include/glib-2.0/glib/gbacktrace.h: - -/usr/include/glib-2.0/glib/gbase64.h: - -/usr/include/glib-2.0/glib/gbitlock.h: - -/usr/include/glib-2.0/glib/gbookmarkfile.h: - -/usr/include/glib-2.0/glib/gbytes.h: - -/usr/include/glib-2.0/glib/gcharset.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/gconvert.h: - -/usr/include/glib-2.0/glib/gdataset.h: - -/usr/include/glib-2.0/glib/gdate.h: - -/usr/include/glib-2.0/glib/gdatetime.h: - -/usr/include/glib-2.0/glib/gtimezone.h: - -/usr/include/glib-2.0/glib/gdir.h: - -/usr/include/glib-2.0/glib/genviron.h: - -/usr/include/glib-2.0/glib/gfileutils.h: - -/usr/include/glib-2.0/glib/ggettext.h: - -/usr/include/glib-2.0/glib/ghash.h: - -/usr/include/glib-2.0/glib/glist.h: - -/usr/include/glib-2.0/glib/gmem.h: - -/usr/include/glib-2.0/glib/gnode.h: - -/usr/include/glib-2.0/glib/ghmac.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/ghook.h: - -/usr/include/glib-2.0/glib/ghostutils.h: - -/usr/include/glib-2.0/glib/giochannel.h: - -/usr/include/glib-2.0/glib/gmain.h: - -/usr/include/glib-2.0/glib/gpoll.h: - -/usr/include/glib-2.0/glib/gslist.h: - -/usr/include/glib-2.0/glib/gstring.h: - -/usr/include/glib-2.0/glib/gunicode.h: - -/usr/include/glib-2.0/glib/gutils.h: - -/usr/include/glib-2.0/glib/gkeyfile.h: - -/usr/include/glib-2.0/glib/gmappedfile.h: - -/usr/include/glib-2.0/glib/gmarkup.h: - -/usr/include/glib-2.0/glib/gmessages.h: - -/usr/include/glib-2.0/glib/goption.h: - -/usr/include/glib-2.0/glib/gpattern.h: - -/usr/include/glib-2.0/glib/gprimes.h: - -/usr/include/glib-2.0/glib/gqsort.h: - -/usr/include/glib-2.0/glib/gqueue.h: - -/usr/include/glib-2.0/glib/grand.h: - -/usr/include/glib-2.0/glib/gregex.h: - -/usr/include/glib-2.0/glib/gscanner.h: - -/usr/include/glib-2.0/glib/gsequence.h: - -/usr/include/glib-2.0/glib/gshell.h: - -/usr/include/glib-2.0/glib/gslice.h: - -/usr/include/glib-2.0/glib/gspawn.h: - -/usr/include/glib-2.0/glib/gstrfuncs.h: - -/usr/include/glib-2.0/glib/gstringchunk.h: - -/usr/include/glib-2.0/glib/gtestutils.h: - -/usr/include/glib-2.0/glib/gthreadpool.h: - -/usr/include/glib-2.0/glib/gtimer.h: - -/usr/include/glib-2.0/glib/gtrashstack.h: - -/usr/include/glib-2.0/glib/gtree.h: - -/usr/include/glib-2.0/glib/gurifuncs.h: - -/usr/include/glib-2.0/glib/gvarianttype.h: - -/usr/include/glib-2.0/glib/gvariant.h: - -/usr/include/glib-2.0/glib/gversion.h: - -/usr/include/glib-2.0/glib/deprecated/gallocator.h: - -/usr/include/glib-2.0/glib/deprecated/gcache.h: - -/usr/include/glib-2.0/glib/deprecated/gcompletion.h: - -/usr/include/glib-2.0/glib/deprecated/gmain.h: - -/usr/include/glib-2.0/glib/deprecated/grel.h: - -/usr/include/glib-2.0/glib/deprecated/gthread.h: - -/usr/include/pthread.h: - -/usr/include/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/setjmp.h: - -obexd/src/obexd.h: - -obexd/src/plugin.h: - -obexd/src/log.h: - -obexd/src/obex.h: - -obexd/src/manager.h: - -/usr/include/dbus-1.0/dbus/dbus.h: - -/usr/lib/arm-linux-gnueabihf/dbus-1.0/include/dbus/dbus-arch-deps.h: - -/usr/include/dbus-1.0/dbus/dbus-macros.h: - -/usr/include/dbus-1.0/dbus/dbus-address.h: - -/usr/include/dbus-1.0/dbus/dbus-types.h: - -/usr/include/dbus-1.0/dbus/dbus-errors.h: - -/usr/include/dbus-1.0/dbus/dbus-protocol.h: - -/usr/include/dbus-1.0/dbus/dbus-bus.h: - -/usr/include/dbus-1.0/dbus/dbus-connection.h: - -/usr/include/dbus-1.0/dbus/dbus-memory.h: - -/usr/include/dbus-1.0/dbus/dbus-message.h: - -/usr/include/dbus-1.0/dbus/dbus-shared.h: - -/usr/include/dbus-1.0/dbus/dbus-misc.h: - -/usr/include/dbus-1.0/dbus/dbus-pending-call.h: - -/usr/include/dbus-1.0/dbus/dbus-server.h: - -/usr/include/dbus-1.0/dbus/dbus-signature.h: - -/usr/include/dbus-1.0/dbus/dbus-syntax.h: - -/usr/include/dbus-1.0/dbus/dbus-threads.h: - -obexd/src/mimetype.h: - -obexd/src/service.h: - -obexd/plugins/ftp.h: - -obexd/plugins/filesystem.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/obexd/plugins/.deps/obexd-irmc.Po b/GRIB_BLE_HUB/libs/ble_extend/obexd/plugins/.deps/obexd-irmc.Po deleted file mode 100644 index 0a98e71..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/obexd/plugins/.deps/obexd-irmc.Po +++ /dev/null @@ -1,562 +0,0 @@ -obexd/plugins/obexd-irmc.o: obexd/plugins/irmc.c \ - /usr/include/stdc-predef.h config.h /usr/include/stdio.h \ - /usr/include/features.h /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/sys_errlist.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio.h /usr/include/string.h \ - /usr/include/xlocale.h /usr/include/arm-linux-gnueabihf/bits/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string2.h /usr/include/stdlib.h \ - /usr/include/errno.h /usr/include/arm-linux-gnueabihf/bits/errno.h \ - /usr/include/linux/errno.h /usr/include/arm-linux-gnueabihf/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/include/glib-2.0/glib.h /usr/include/glib-2.0/glib/galloca.h \ - /usr/include/glib-2.0/glib/gtypes.h \ - /usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h \ - /usr/include/glib-2.0/glib/gmacros.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h \ - /usr/include/limits.h /usr/include/arm-linux-gnueabihf/bits/posix1_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/local_lim.h \ - /usr/include/linux/limits.h \ - /usr/include/arm-linux-gnueabihf/bits/posix2_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/xopen_lim.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h \ - /usr/include/glib-2.0/glib/gversionmacros.h /usr/include/time.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/bits/timex.h \ - /usr/include/glib-2.0/glib/garray.h \ - /usr/include/glib-2.0/glib/gasyncqueue.h \ - /usr/include/glib-2.0/glib/gthread.h \ - /usr/include/glib-2.0/glib/gatomic.h /usr/include/glib-2.0/glib/gerror.h \ - /usr/include/glib-2.0/glib/gquark.h \ - /usr/include/glib-2.0/glib/gbacktrace.h /usr/include/signal.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/signum.h \ - /usr/include/arm-linux-gnueabihf/bits/siginfo.h \ - /usr/include/arm-linux-gnueabihf/bits/sigaction.h \ - /usr/include/arm-linux-gnueabihf/bits/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/asm/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigstack.h \ - /usr/include/arm-linux-gnueabihf/sys/ucontext.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/endian.h /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/arm-linux-gnueabihf/bits/sigthread.h \ - /usr/include/glib-2.0/glib/gbase64.h \ - /usr/include/glib-2.0/glib/gbitlock.h \ - /usr/include/glib-2.0/glib/gbookmarkfile.h \ - /usr/include/glib-2.0/glib/gbytes.h \ - /usr/include/glib-2.0/glib/gcharset.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/gconvert.h \ - /usr/include/glib-2.0/glib/gdataset.h /usr/include/glib-2.0/glib/gdate.h \ - /usr/include/glib-2.0/glib/gdatetime.h \ - /usr/include/glib-2.0/glib/gtimezone.h /usr/include/glib-2.0/glib/gdir.h \ - /usr/include/dirent.h /usr/include/arm-linux-gnueabihf/bits/dirent.h \ - /usr/include/glib-2.0/glib/genviron.h \ - /usr/include/glib-2.0/glib/gfileutils.h \ - /usr/include/glib-2.0/glib/ggettext.h /usr/include/glib-2.0/glib/ghash.h \ - /usr/include/glib-2.0/glib/glist.h /usr/include/glib-2.0/glib/gmem.h \ - /usr/include/glib-2.0/glib/gnode.h /usr/include/glib-2.0/glib/ghmac.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/ghook.h \ - /usr/include/glib-2.0/glib/ghostutils.h \ - /usr/include/glib-2.0/glib/giochannel.h \ - /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gpoll.h \ - /usr/include/glib-2.0/glib/gslist.h /usr/include/glib-2.0/glib/gstring.h \ - /usr/include/glib-2.0/glib/gunicode.h \ - /usr/include/glib-2.0/glib/gutils.h \ - /usr/include/glib-2.0/glib/gkeyfile.h \ - /usr/include/glib-2.0/glib/gmappedfile.h \ - /usr/include/glib-2.0/glib/gmarkup.h \ - /usr/include/glib-2.0/glib/gmessages.h \ - /usr/include/glib-2.0/glib/goption.h \ - /usr/include/glib-2.0/glib/gpattern.h \ - /usr/include/glib-2.0/glib/gprimes.h /usr/include/glib-2.0/glib/gqsort.h \ - /usr/include/glib-2.0/glib/gqueue.h /usr/include/glib-2.0/glib/grand.h \ - /usr/include/glib-2.0/glib/gregex.h \ - /usr/include/glib-2.0/glib/gscanner.h \ - /usr/include/glib-2.0/glib/gsequence.h \ - /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gslice.h \ - /usr/include/glib-2.0/glib/gspawn.h \ - /usr/include/glib-2.0/glib/gstrfuncs.h \ - /usr/include/glib-2.0/glib/gstringchunk.h \ - /usr/include/glib-2.0/glib/gtestutils.h \ - /usr/include/glib-2.0/glib/gthreadpool.h \ - /usr/include/glib-2.0/glib/gtimer.h \ - /usr/include/glib-2.0/glib/gtrashstack.h \ - /usr/include/glib-2.0/glib/gtree.h \ - /usr/include/glib-2.0/glib/gurifuncs.h \ - /usr/include/glib-2.0/glib/gvarianttype.h \ - /usr/include/glib-2.0/glib/gvariant.h \ - /usr/include/glib-2.0/glib/gversion.h \ - /usr/include/glib-2.0/glib/deprecated/gallocator.h \ - /usr/include/glib-2.0/glib/deprecated/gcache.h \ - /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ - /usr/include/glib-2.0/glib/deprecated/gmain.h \ - /usr/include/glib-2.0/glib/deprecated/grel.h \ - /usr/include/glib-2.0/glib/deprecated/gthread.h \ - /usr/include/arm-linux-gnueabihf/sys/types.h \ - /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h /usr/include/pthread.h \ - /usr/include/sched.h /usr/include/arm-linux-gnueabihf/bits/sched.h \ - /usr/include/arm-linux-gnueabihf/bits/setjmp.h \ - /usr/include/arm-linux-gnueabihf/bits/waitflags.h \ - /usr/include/arm-linux-gnueabihf/bits/waitstatus.h /usr/include/alloca.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-float.h \ - /usr/include/unistd.h /usr/include/arm-linux-gnueabihf/bits/posix_opt.h \ - /usr/include/arm-linux-gnueabihf/bits/environments.h \ - /usr/include/arm-linux-gnueabihf/bits/confname.h /usr/include/getopt.h \ - /usr/include/arpa/inet.h /usr/include/netinet/in.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h \ - /usr/include/stdint.h /usr/include/arm-linux-gnueabihf/bits/wchar.h \ - /usr/include/arm-linux-gnueabihf/sys/socket.h \ - /usr/include/arm-linux-gnueabihf/sys/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/socket.h \ - /usr/include/arm-linux-gnueabihf/bits/socket_type.h \ - /usr/include/arm-linux-gnueabihf/bits/sockaddr.h \ - /usr/include/arm-linux-gnueabihf/asm/socket.h \ - /usr/include/asm-generic/socket.h \ - /usr/include/arm-linux-gnueabihf/asm/sockios.h \ - /usr/include/asm-generic/sockios.h \ - /usr/include/arm-linux-gnueabihf/bits/in.h \ - /usr/include/arm-linux-gnueabihf/sys/stat.h \ - /usr/include/arm-linux-gnueabihf/bits/stat.h /usr/include/fcntl.h \ - /usr/include/arm-linux-gnueabihf/bits/fcntl.h \ - /usr/include/arm-linux-gnueabihf/bits/fcntl-linux.h \ - /usr/include/inttypes.h obexd/src/obexd.h obexd/src/plugin.h \ - obexd/src/log.h obexd/src/obex.h obexd/src/service.h \ - obexd/plugins/phonebook.h obexd/src/mimetype.h \ - obexd/plugins/filesystem.h obexd/src/manager.h \ - /usr/include/dbus-1.0/dbus/dbus.h \ - /usr/lib/arm-linux-gnueabihf/dbus-1.0/include/dbus/dbus-arch-deps.h \ - /usr/include/dbus-1.0/dbus/dbus-macros.h \ - /usr/include/dbus-1.0/dbus/dbus-address.h \ - /usr/include/dbus-1.0/dbus/dbus-types.h \ - /usr/include/dbus-1.0/dbus/dbus-errors.h \ - /usr/include/dbus-1.0/dbus/dbus-protocol.h \ - /usr/include/dbus-1.0/dbus/dbus-bus.h \ - /usr/include/dbus-1.0/dbus/dbus-connection.h \ - /usr/include/dbus-1.0/dbus/dbus-memory.h \ - /usr/include/dbus-1.0/dbus/dbus-message.h \ - /usr/include/dbus-1.0/dbus/dbus-shared.h \ - /usr/include/dbus-1.0/dbus/dbus-misc.h \ - /usr/include/dbus-1.0/dbus/dbus-pending-call.h \ - /usr/include/dbus-1.0/dbus/dbus-server.h \ - /usr/include/dbus-1.0/dbus/dbus-signature.h \ - /usr/include/dbus-1.0/dbus/dbus-syntax.h \ - /usr/include/dbus-1.0/dbus/dbus-threads.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/include/stdio.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/sys_errlist.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio.h: - -/usr/include/string.h: - -/usr/include/xlocale.h: - -/usr/include/arm-linux-gnueabihf/bits/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string2.h: - -/usr/include/stdlib.h: - -/usr/include/errno.h: - -/usr/include/arm-linux-gnueabihf/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/arm-linux-gnueabihf/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/include/glib-2.0/glib.h: - -/usr/include/glib-2.0/glib/galloca.h: - -/usr/include/glib-2.0/glib/gtypes.h: - -/usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h: - -/usr/include/glib-2.0/glib/gmacros.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h: - -/usr/include/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/local_lim.h: - -/usr/include/linux/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix2_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/xopen_lim.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h: - -/usr/include/glib-2.0/glib/gversionmacros.h: - -/usr/include/time.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/bits/timex.h: - -/usr/include/glib-2.0/glib/garray.h: - -/usr/include/glib-2.0/glib/gasyncqueue.h: - -/usr/include/glib-2.0/glib/gthread.h: - -/usr/include/glib-2.0/glib/gatomic.h: - -/usr/include/glib-2.0/glib/gerror.h: - -/usr/include/glib-2.0/glib/gquark.h: - -/usr/include/glib-2.0/glib/gbacktrace.h: - -/usr/include/signal.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/signum.h: - -/usr/include/arm-linux-gnueabihf/bits/siginfo.h: - -/usr/include/arm-linux-gnueabihf/bits/sigaction.h: - -/usr/include/arm-linux-gnueabihf/bits/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/asm/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigstack.h: - -/usr/include/arm-linux-gnueabihf/sys/ucontext.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/arm-linux-gnueabihf/bits/sigthread.h: - -/usr/include/glib-2.0/glib/gbase64.h: - -/usr/include/glib-2.0/glib/gbitlock.h: - -/usr/include/glib-2.0/glib/gbookmarkfile.h: - -/usr/include/glib-2.0/glib/gbytes.h: - -/usr/include/glib-2.0/glib/gcharset.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/gconvert.h: - -/usr/include/glib-2.0/glib/gdataset.h: - -/usr/include/glib-2.0/glib/gdate.h: - -/usr/include/glib-2.0/glib/gdatetime.h: - -/usr/include/glib-2.0/glib/gtimezone.h: - -/usr/include/glib-2.0/glib/gdir.h: - -/usr/include/dirent.h: - -/usr/include/arm-linux-gnueabihf/bits/dirent.h: - -/usr/include/glib-2.0/glib/genviron.h: - -/usr/include/glib-2.0/glib/gfileutils.h: - -/usr/include/glib-2.0/glib/ggettext.h: - -/usr/include/glib-2.0/glib/ghash.h: - -/usr/include/glib-2.0/glib/glist.h: - -/usr/include/glib-2.0/glib/gmem.h: - -/usr/include/glib-2.0/glib/gnode.h: - -/usr/include/glib-2.0/glib/ghmac.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/ghook.h: - -/usr/include/glib-2.0/glib/ghostutils.h: - -/usr/include/glib-2.0/glib/giochannel.h: - -/usr/include/glib-2.0/glib/gmain.h: - -/usr/include/glib-2.0/glib/gpoll.h: - -/usr/include/glib-2.0/glib/gslist.h: - -/usr/include/glib-2.0/glib/gstring.h: - -/usr/include/glib-2.0/glib/gunicode.h: - -/usr/include/glib-2.0/glib/gutils.h: - -/usr/include/glib-2.0/glib/gkeyfile.h: - -/usr/include/glib-2.0/glib/gmappedfile.h: - -/usr/include/glib-2.0/glib/gmarkup.h: - -/usr/include/glib-2.0/glib/gmessages.h: - -/usr/include/glib-2.0/glib/goption.h: - -/usr/include/glib-2.0/glib/gpattern.h: - -/usr/include/glib-2.0/glib/gprimes.h: - -/usr/include/glib-2.0/glib/gqsort.h: - -/usr/include/glib-2.0/glib/gqueue.h: - -/usr/include/glib-2.0/glib/grand.h: - -/usr/include/glib-2.0/glib/gregex.h: - -/usr/include/glib-2.0/glib/gscanner.h: - -/usr/include/glib-2.0/glib/gsequence.h: - -/usr/include/glib-2.0/glib/gshell.h: - -/usr/include/glib-2.0/glib/gslice.h: - -/usr/include/glib-2.0/glib/gspawn.h: - -/usr/include/glib-2.0/glib/gstrfuncs.h: - -/usr/include/glib-2.0/glib/gstringchunk.h: - -/usr/include/glib-2.0/glib/gtestutils.h: - -/usr/include/glib-2.0/glib/gthreadpool.h: - -/usr/include/glib-2.0/glib/gtimer.h: - -/usr/include/glib-2.0/glib/gtrashstack.h: - -/usr/include/glib-2.0/glib/gtree.h: - -/usr/include/glib-2.0/glib/gurifuncs.h: - -/usr/include/glib-2.0/glib/gvarianttype.h: - -/usr/include/glib-2.0/glib/gvariant.h: - -/usr/include/glib-2.0/glib/gversion.h: - -/usr/include/glib-2.0/glib/deprecated/gallocator.h: - -/usr/include/glib-2.0/glib/deprecated/gcache.h: - -/usr/include/glib-2.0/glib/deprecated/gcompletion.h: - -/usr/include/glib-2.0/glib/deprecated/gmain.h: - -/usr/include/glib-2.0/glib/deprecated/grel.h: - -/usr/include/glib-2.0/glib/deprecated/gthread.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/pthread.h: - -/usr/include/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/setjmp.h: - -/usr/include/arm-linux-gnueabihf/bits/waitflags.h: - -/usr/include/arm-linux-gnueabihf/bits/waitstatus.h: - -/usr/include/alloca.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-float.h: - -/usr/include/unistd.h: - -/usr/include/arm-linux-gnueabihf/bits/posix_opt.h: - -/usr/include/arm-linux-gnueabihf/bits/environments.h: - -/usr/include/arm-linux-gnueabihf/bits/confname.h: - -/usr/include/getopt.h: - -/usr/include/arpa/inet.h: - -/usr/include/netinet/in.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/arm-linux-gnueabihf/bits/wchar.h: - -/usr/include/arm-linux-gnueabihf/sys/socket.h: - -/usr/include/arm-linux-gnueabihf/sys/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/socket.h: - -/usr/include/arm-linux-gnueabihf/bits/socket_type.h: - -/usr/include/arm-linux-gnueabihf/bits/sockaddr.h: - -/usr/include/arm-linux-gnueabihf/asm/socket.h: - -/usr/include/asm-generic/socket.h: - -/usr/include/arm-linux-gnueabihf/asm/sockios.h: - -/usr/include/asm-generic/sockios.h: - -/usr/include/arm-linux-gnueabihf/bits/in.h: - -/usr/include/arm-linux-gnueabihf/sys/stat.h: - -/usr/include/arm-linux-gnueabihf/bits/stat.h: - -/usr/include/fcntl.h: - -/usr/include/arm-linux-gnueabihf/bits/fcntl.h: - -/usr/include/arm-linux-gnueabihf/bits/fcntl-linux.h: - -/usr/include/inttypes.h: - -obexd/src/obexd.h: - -obexd/src/plugin.h: - -obexd/src/log.h: - -obexd/src/obex.h: - -obexd/src/service.h: - -obexd/plugins/phonebook.h: - -obexd/src/mimetype.h: - -obexd/plugins/filesystem.h: - -obexd/src/manager.h: - -/usr/include/dbus-1.0/dbus/dbus.h: - -/usr/lib/arm-linux-gnueabihf/dbus-1.0/include/dbus/dbus-arch-deps.h: - -/usr/include/dbus-1.0/dbus/dbus-macros.h: - -/usr/include/dbus-1.0/dbus/dbus-address.h: - -/usr/include/dbus-1.0/dbus/dbus-types.h: - -/usr/include/dbus-1.0/dbus/dbus-errors.h: - -/usr/include/dbus-1.0/dbus/dbus-protocol.h: - -/usr/include/dbus-1.0/dbus/dbus-bus.h: - -/usr/include/dbus-1.0/dbus/dbus-connection.h: - -/usr/include/dbus-1.0/dbus/dbus-memory.h: - -/usr/include/dbus-1.0/dbus/dbus-message.h: - -/usr/include/dbus-1.0/dbus/dbus-shared.h: - -/usr/include/dbus-1.0/dbus/dbus-misc.h: - -/usr/include/dbus-1.0/dbus/dbus-pending-call.h: - -/usr/include/dbus-1.0/dbus/dbus-server.h: - -/usr/include/dbus-1.0/dbus/dbus-signature.h: - -/usr/include/dbus-1.0/dbus/dbus-syntax.h: - -/usr/include/dbus-1.0/dbus/dbus-threads.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/obexd/plugins/.deps/obexd-mas.Po b/GRIB_BLE_HUB/libs/ble_extend/obexd/plugins/.deps/obexd-mas.Po deleted file mode 100644 index 256081e..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/obexd/plugins/.deps/obexd-mas.Po +++ /dev/null @@ -1,495 +0,0 @@ -obexd/plugins/obexd-mas.o: obexd/plugins/mas.c /usr/include/stdc-predef.h \ - config.h /usr/include/string.h /usr/include/features.h \ - /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/include/xlocale.h /usr/include/arm-linux-gnueabihf/bits/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string2.h /usr/include/stdlib.h \ - /usr/include/errno.h /usr/include/arm-linux-gnueabihf/bits/errno.h \ - /usr/include/linux/errno.h /usr/include/arm-linux-gnueabihf/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/include/glib-2.0/glib.h /usr/include/glib-2.0/glib/galloca.h \ - /usr/include/glib-2.0/glib/gtypes.h \ - /usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h \ - /usr/include/glib-2.0/glib/gmacros.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h \ - /usr/include/limits.h /usr/include/arm-linux-gnueabihf/bits/posix1_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/local_lim.h \ - /usr/include/linux/limits.h \ - /usr/include/arm-linux-gnueabihf/bits/posix2_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/xopen_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h \ - /usr/include/glib-2.0/glib/gversionmacros.h /usr/include/time.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h \ - /usr/include/arm-linux-gnueabihf/bits/timex.h \ - /usr/include/glib-2.0/glib/garray.h \ - /usr/include/glib-2.0/glib/gasyncqueue.h \ - /usr/include/glib-2.0/glib/gthread.h \ - /usr/include/glib-2.0/glib/gatomic.h /usr/include/glib-2.0/glib/gerror.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/glib-2.0/glib/gquark.h \ - /usr/include/glib-2.0/glib/gbacktrace.h /usr/include/signal.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/signum.h \ - /usr/include/arm-linux-gnueabihf/bits/siginfo.h \ - /usr/include/arm-linux-gnueabihf/bits/sigaction.h \ - /usr/include/arm-linux-gnueabihf/bits/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/asm/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigstack.h \ - /usr/include/arm-linux-gnueabihf/sys/ucontext.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/endian.h /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/arm-linux-gnueabihf/bits/sigthread.h \ - /usr/include/glib-2.0/glib/gbase64.h \ - /usr/include/glib-2.0/glib/gbitlock.h \ - /usr/include/glib-2.0/glib/gbookmarkfile.h \ - /usr/include/glib-2.0/glib/gbytes.h \ - /usr/include/glib-2.0/glib/gcharset.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/gconvert.h \ - /usr/include/glib-2.0/glib/gdataset.h /usr/include/glib-2.0/glib/gdate.h \ - /usr/include/glib-2.0/glib/gdatetime.h \ - /usr/include/glib-2.0/glib/gtimezone.h /usr/include/glib-2.0/glib/gdir.h \ - /usr/include/dirent.h /usr/include/arm-linux-gnueabihf/bits/dirent.h \ - /usr/include/glib-2.0/glib/genviron.h \ - /usr/include/glib-2.0/glib/gfileutils.h \ - /usr/include/glib-2.0/glib/ggettext.h /usr/include/glib-2.0/glib/ghash.h \ - /usr/include/glib-2.0/glib/glist.h /usr/include/glib-2.0/glib/gmem.h \ - /usr/include/glib-2.0/glib/gnode.h /usr/include/glib-2.0/glib/ghmac.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/ghook.h \ - /usr/include/glib-2.0/glib/ghostutils.h \ - /usr/include/glib-2.0/glib/giochannel.h \ - /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gpoll.h \ - /usr/include/glib-2.0/glib/gslist.h /usr/include/glib-2.0/glib/gstring.h \ - /usr/include/glib-2.0/glib/gunicode.h \ - /usr/include/glib-2.0/glib/gutils.h \ - /usr/include/glib-2.0/glib/gkeyfile.h \ - /usr/include/glib-2.0/glib/gmappedfile.h \ - /usr/include/glib-2.0/glib/gmarkup.h \ - /usr/include/glib-2.0/glib/gmessages.h \ - /usr/include/glib-2.0/glib/goption.h \ - /usr/include/glib-2.0/glib/gpattern.h \ - /usr/include/glib-2.0/glib/gprimes.h /usr/include/glib-2.0/glib/gqsort.h \ - /usr/include/glib-2.0/glib/gqueue.h /usr/include/glib-2.0/glib/grand.h \ - /usr/include/glib-2.0/glib/gregex.h \ - /usr/include/glib-2.0/glib/gscanner.h \ - /usr/include/glib-2.0/glib/gsequence.h \ - /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gslice.h \ - /usr/include/glib-2.0/glib/gspawn.h \ - /usr/include/glib-2.0/glib/gstrfuncs.h \ - /usr/include/glib-2.0/glib/gstringchunk.h \ - /usr/include/glib-2.0/glib/gtestutils.h \ - /usr/include/glib-2.0/glib/gthreadpool.h \ - /usr/include/glib-2.0/glib/gtimer.h \ - /usr/include/glib-2.0/glib/gtrashstack.h \ - /usr/include/glib-2.0/glib/gtree.h \ - /usr/include/glib-2.0/glib/gurifuncs.h \ - /usr/include/glib-2.0/glib/gvarianttype.h \ - /usr/include/glib-2.0/glib/gvariant.h \ - /usr/include/glib-2.0/glib/gversion.h \ - /usr/include/glib-2.0/glib/deprecated/gallocator.h \ - /usr/include/glib-2.0/glib/deprecated/gcache.h \ - /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ - /usr/include/glib-2.0/glib/deprecated/gmain.h \ - /usr/include/glib-2.0/glib/deprecated/grel.h \ - /usr/include/glib-2.0/glib/deprecated/gthread.h \ - /usr/include/arm-linux-gnueabihf/sys/types.h \ - /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h /usr/include/pthread.h \ - /usr/include/sched.h /usr/include/arm-linux-gnueabihf/bits/sched.h \ - /usr/include/arm-linux-gnueabihf/bits/setjmp.h /usr/include/fcntl.h \ - /usr/include/arm-linux-gnueabihf/bits/fcntl.h \ - /usr/include/arm-linux-gnueabihf/bits/fcntl-linux.h \ - /usr/include/arm-linux-gnueabihf/bits/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/stat.h /usr/include/inttypes.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h \ - /usr/include/stdint.h /usr/include/arm-linux-gnueabihf/bits/wchar.h \ - gobex/gobex.h gobex/gobex-defs.h gobex/gobex-packet.h \ - gobex/gobex-header.h gobex/gobex-apparam.h obexd/src/obexd.h \ - obexd/src/plugin.h obexd/src/log.h obexd/src/obex.h obexd/src/service.h \ - obexd/src/mimetype.h obexd/plugins/filesystem.h obexd/src/manager.h \ - /usr/include/dbus-1.0/dbus/dbus.h \ - /usr/lib/arm-linux-gnueabihf/dbus-1.0/include/dbus/dbus-arch-deps.h \ - /usr/include/dbus-1.0/dbus/dbus-macros.h \ - /usr/include/dbus-1.0/dbus/dbus-address.h \ - /usr/include/dbus-1.0/dbus/dbus-types.h \ - /usr/include/dbus-1.0/dbus/dbus-errors.h \ - /usr/include/dbus-1.0/dbus/dbus-protocol.h \ - /usr/include/dbus-1.0/dbus/dbus-bus.h \ - /usr/include/dbus-1.0/dbus/dbus-connection.h \ - /usr/include/dbus-1.0/dbus/dbus-memory.h \ - /usr/include/dbus-1.0/dbus/dbus-message.h \ - /usr/include/dbus-1.0/dbus/dbus-shared.h \ - /usr/include/dbus-1.0/dbus/dbus-misc.h \ - /usr/include/dbus-1.0/dbus/dbus-pending-call.h \ - /usr/include/dbus-1.0/dbus/dbus-server.h \ - /usr/include/dbus-1.0/dbus/dbus-signature.h \ - /usr/include/dbus-1.0/dbus/dbus-syntax.h \ - /usr/include/dbus-1.0/dbus/dbus-threads.h obexd/src/map_ap.h \ - obexd/plugins/messages.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/include/string.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/include/xlocale.h: - -/usr/include/arm-linux-gnueabihf/bits/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string2.h: - -/usr/include/stdlib.h: - -/usr/include/errno.h: - -/usr/include/arm-linux-gnueabihf/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/arm-linux-gnueabihf/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/include/glib-2.0/glib.h: - -/usr/include/glib-2.0/glib/galloca.h: - -/usr/include/glib-2.0/glib/gtypes.h: - -/usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h: - -/usr/include/glib-2.0/glib/gmacros.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h: - -/usr/include/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/local_lim.h: - -/usr/include/linux/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix2_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/xopen_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h: - -/usr/include/glib-2.0/glib/gversionmacros.h: - -/usr/include/time.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/arm-linux-gnueabihf/bits/timex.h: - -/usr/include/glib-2.0/glib/garray.h: - -/usr/include/glib-2.0/glib/gasyncqueue.h: - -/usr/include/glib-2.0/glib/gthread.h: - -/usr/include/glib-2.0/glib/gatomic.h: - -/usr/include/glib-2.0/glib/gerror.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/glib-2.0/glib/gquark.h: - -/usr/include/glib-2.0/glib/gbacktrace.h: - -/usr/include/signal.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/signum.h: - -/usr/include/arm-linux-gnueabihf/bits/siginfo.h: - -/usr/include/arm-linux-gnueabihf/bits/sigaction.h: - -/usr/include/arm-linux-gnueabihf/bits/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/asm/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigstack.h: - -/usr/include/arm-linux-gnueabihf/sys/ucontext.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/arm-linux-gnueabihf/bits/sigthread.h: - -/usr/include/glib-2.0/glib/gbase64.h: - -/usr/include/glib-2.0/glib/gbitlock.h: - -/usr/include/glib-2.0/glib/gbookmarkfile.h: - -/usr/include/glib-2.0/glib/gbytes.h: - -/usr/include/glib-2.0/glib/gcharset.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/gconvert.h: - -/usr/include/glib-2.0/glib/gdataset.h: - -/usr/include/glib-2.0/glib/gdate.h: - -/usr/include/glib-2.0/glib/gdatetime.h: - -/usr/include/glib-2.0/glib/gtimezone.h: - -/usr/include/glib-2.0/glib/gdir.h: - -/usr/include/dirent.h: - -/usr/include/arm-linux-gnueabihf/bits/dirent.h: - -/usr/include/glib-2.0/glib/genviron.h: - -/usr/include/glib-2.0/glib/gfileutils.h: - -/usr/include/glib-2.0/glib/ggettext.h: - -/usr/include/glib-2.0/glib/ghash.h: - -/usr/include/glib-2.0/glib/glist.h: - -/usr/include/glib-2.0/glib/gmem.h: - -/usr/include/glib-2.0/glib/gnode.h: - -/usr/include/glib-2.0/glib/ghmac.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/ghook.h: - -/usr/include/glib-2.0/glib/ghostutils.h: - -/usr/include/glib-2.0/glib/giochannel.h: - -/usr/include/glib-2.0/glib/gmain.h: - -/usr/include/glib-2.0/glib/gpoll.h: - -/usr/include/glib-2.0/glib/gslist.h: - -/usr/include/glib-2.0/glib/gstring.h: - -/usr/include/glib-2.0/glib/gunicode.h: - -/usr/include/glib-2.0/glib/gutils.h: - -/usr/include/glib-2.0/glib/gkeyfile.h: - -/usr/include/glib-2.0/glib/gmappedfile.h: - -/usr/include/glib-2.0/glib/gmarkup.h: - -/usr/include/glib-2.0/glib/gmessages.h: - -/usr/include/glib-2.0/glib/goption.h: - -/usr/include/glib-2.0/glib/gpattern.h: - -/usr/include/glib-2.0/glib/gprimes.h: - -/usr/include/glib-2.0/glib/gqsort.h: - -/usr/include/glib-2.0/glib/gqueue.h: - -/usr/include/glib-2.0/glib/grand.h: - -/usr/include/glib-2.0/glib/gregex.h: - -/usr/include/glib-2.0/glib/gscanner.h: - -/usr/include/glib-2.0/glib/gsequence.h: - -/usr/include/glib-2.0/glib/gshell.h: - -/usr/include/glib-2.0/glib/gslice.h: - -/usr/include/glib-2.0/glib/gspawn.h: - -/usr/include/glib-2.0/glib/gstrfuncs.h: - -/usr/include/glib-2.0/glib/gstringchunk.h: - -/usr/include/glib-2.0/glib/gtestutils.h: - -/usr/include/glib-2.0/glib/gthreadpool.h: - -/usr/include/glib-2.0/glib/gtimer.h: - -/usr/include/glib-2.0/glib/gtrashstack.h: - -/usr/include/glib-2.0/glib/gtree.h: - -/usr/include/glib-2.0/glib/gurifuncs.h: - -/usr/include/glib-2.0/glib/gvarianttype.h: - -/usr/include/glib-2.0/glib/gvariant.h: - -/usr/include/glib-2.0/glib/gversion.h: - -/usr/include/glib-2.0/glib/deprecated/gallocator.h: - -/usr/include/glib-2.0/glib/deprecated/gcache.h: - -/usr/include/glib-2.0/glib/deprecated/gcompletion.h: - -/usr/include/glib-2.0/glib/deprecated/gmain.h: - -/usr/include/glib-2.0/glib/deprecated/grel.h: - -/usr/include/glib-2.0/glib/deprecated/gthread.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/pthread.h: - -/usr/include/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/setjmp.h: - -/usr/include/fcntl.h: - -/usr/include/arm-linux-gnueabihf/bits/fcntl.h: - -/usr/include/arm-linux-gnueabihf/bits/fcntl-linux.h: - -/usr/include/arm-linux-gnueabihf/bits/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/stat.h: - -/usr/include/inttypes.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/arm-linux-gnueabihf/bits/wchar.h: - -gobex/gobex.h: - -gobex/gobex-defs.h: - -gobex/gobex-packet.h: - -gobex/gobex-header.h: - -gobex/gobex-apparam.h: - -obexd/src/obexd.h: - -obexd/src/plugin.h: - -obexd/src/log.h: - -obexd/src/obex.h: - -obexd/src/service.h: - -obexd/src/mimetype.h: - -obexd/plugins/filesystem.h: - -obexd/src/manager.h: - -/usr/include/dbus-1.0/dbus/dbus.h: - -/usr/lib/arm-linux-gnueabihf/dbus-1.0/include/dbus/dbus-arch-deps.h: - -/usr/include/dbus-1.0/dbus/dbus-macros.h: - -/usr/include/dbus-1.0/dbus/dbus-address.h: - -/usr/include/dbus-1.0/dbus/dbus-types.h: - -/usr/include/dbus-1.0/dbus/dbus-errors.h: - -/usr/include/dbus-1.0/dbus/dbus-protocol.h: - -/usr/include/dbus-1.0/dbus/dbus-bus.h: - -/usr/include/dbus-1.0/dbus/dbus-connection.h: - -/usr/include/dbus-1.0/dbus/dbus-memory.h: - -/usr/include/dbus-1.0/dbus/dbus-message.h: - -/usr/include/dbus-1.0/dbus/dbus-shared.h: - -/usr/include/dbus-1.0/dbus/dbus-misc.h: - -/usr/include/dbus-1.0/dbus/dbus-pending-call.h: - -/usr/include/dbus-1.0/dbus/dbus-server.h: - -/usr/include/dbus-1.0/dbus/dbus-signature.h: - -/usr/include/dbus-1.0/dbus/dbus-syntax.h: - -/usr/include/dbus-1.0/dbus/dbus-threads.h: - -obexd/src/map_ap.h: - -obexd/plugins/messages.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/obexd/plugins/.deps/obexd-messages-dummy.Po b/GRIB_BLE_HUB/libs/ble_extend/obexd/plugins/.deps/obexd-messages-dummy.Po deleted file mode 100644 index 6a70e85..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/obexd/plugins/.deps/obexd-messages-dummy.Po +++ /dev/null @@ -1,409 +0,0 @@ -obexd/plugins/obexd-messages-dummy.o: obexd/plugins/messages-dummy.c \ - /usr/include/stdc-predef.h config.h \ - /usr/include/arm-linux-gnueabihf/sys/types.h /usr/include/features.h \ - /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h /usr/include/time.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/include/endian.h /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/dirent.h /usr/include/arm-linux-gnueabihf/bits/dirent.h \ - /usr/include/arm-linux-gnueabihf/bits/posix1_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/local_lim.h \ - /usr/include/linux/limits.h /usr/include/errno.h \ - /usr/include/arm-linux-gnueabihf/bits/errno.h /usr/include/linux/errno.h \ - /usr/include/arm-linux-gnueabihf/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/include/stdlib.h /usr/include/arm-linux-gnueabihf/bits/waitflags.h \ - /usr/include/arm-linux-gnueabihf/bits/waitstatus.h \ - /usr/include/xlocale.h /usr/include/alloca.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-float.h \ - /usr/include/string.h /usr/include/arm-linux-gnueabihf/bits/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string2.h obexd/src/log.h \ - obexd/plugins/messages.h /usr/include/glib-2.0/glib.h \ - /usr/include/glib-2.0/glib/galloca.h /usr/include/glib-2.0/glib/gtypes.h \ - /usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h \ - /usr/include/glib-2.0/glib/gmacros.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h \ - /usr/include/limits.h /usr/include/arm-linux-gnueabihf/bits/posix2_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/xopen_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h \ - /usr/include/glib-2.0/glib/gversionmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/timex.h \ - /usr/include/glib-2.0/glib/garray.h \ - /usr/include/glib-2.0/glib/gasyncqueue.h \ - /usr/include/glib-2.0/glib/gthread.h \ - /usr/include/glib-2.0/glib/gatomic.h /usr/include/glib-2.0/glib/gerror.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/glib-2.0/glib/gquark.h \ - /usr/include/glib-2.0/glib/gbacktrace.h /usr/include/signal.h \ - /usr/include/arm-linux-gnueabihf/bits/signum.h \ - /usr/include/arm-linux-gnueabihf/bits/siginfo.h \ - /usr/include/arm-linux-gnueabihf/bits/sigaction.h \ - /usr/include/arm-linux-gnueabihf/bits/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/asm/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigstack.h \ - /usr/include/arm-linux-gnueabihf/sys/ucontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigthread.h \ - /usr/include/glib-2.0/glib/gbase64.h \ - /usr/include/glib-2.0/glib/gbitlock.h \ - /usr/include/glib-2.0/glib/gbookmarkfile.h \ - /usr/include/glib-2.0/glib/gbytes.h \ - /usr/include/glib-2.0/glib/gcharset.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/gconvert.h \ - /usr/include/glib-2.0/glib/gdataset.h /usr/include/glib-2.0/glib/gdate.h \ - /usr/include/glib-2.0/glib/gdatetime.h \ - /usr/include/glib-2.0/glib/gtimezone.h /usr/include/glib-2.0/glib/gdir.h \ - /usr/include/glib-2.0/glib/genviron.h \ - /usr/include/glib-2.0/glib/gfileutils.h \ - /usr/include/glib-2.0/glib/ggettext.h /usr/include/glib-2.0/glib/ghash.h \ - /usr/include/glib-2.0/glib/glist.h /usr/include/glib-2.0/glib/gmem.h \ - /usr/include/glib-2.0/glib/gnode.h /usr/include/glib-2.0/glib/ghmac.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/ghook.h \ - /usr/include/glib-2.0/glib/ghostutils.h \ - /usr/include/glib-2.0/glib/giochannel.h \ - /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gpoll.h \ - /usr/include/glib-2.0/glib/gslist.h /usr/include/glib-2.0/glib/gstring.h \ - /usr/include/glib-2.0/glib/gunicode.h \ - /usr/include/glib-2.0/glib/gutils.h \ - /usr/include/glib-2.0/glib/gkeyfile.h \ - /usr/include/glib-2.0/glib/gmappedfile.h \ - /usr/include/glib-2.0/glib/gmarkup.h \ - /usr/include/glib-2.0/glib/gmessages.h \ - /usr/include/glib-2.0/glib/goption.h \ - /usr/include/glib-2.0/glib/gpattern.h \ - /usr/include/glib-2.0/glib/gprimes.h /usr/include/glib-2.0/glib/gqsort.h \ - /usr/include/glib-2.0/glib/gqueue.h /usr/include/glib-2.0/glib/grand.h \ - /usr/include/glib-2.0/glib/gregex.h \ - /usr/include/glib-2.0/glib/gscanner.h \ - /usr/include/glib-2.0/glib/gsequence.h \ - /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gslice.h \ - /usr/include/glib-2.0/glib/gspawn.h \ - /usr/include/glib-2.0/glib/gstrfuncs.h \ - /usr/include/glib-2.0/glib/gstringchunk.h \ - /usr/include/glib-2.0/glib/gtestutils.h \ - /usr/include/glib-2.0/glib/gthreadpool.h \ - /usr/include/glib-2.0/glib/gtimer.h \ - /usr/include/glib-2.0/glib/gtrashstack.h \ - /usr/include/glib-2.0/glib/gtree.h \ - /usr/include/glib-2.0/glib/gurifuncs.h \ - /usr/include/glib-2.0/glib/gvarianttype.h \ - /usr/include/glib-2.0/glib/gvariant.h \ - /usr/include/glib-2.0/glib/gversion.h \ - /usr/include/glib-2.0/glib/deprecated/gallocator.h \ - /usr/include/glib-2.0/glib/deprecated/gcache.h \ - /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ - /usr/include/glib-2.0/glib/deprecated/gmain.h \ - /usr/include/glib-2.0/glib/deprecated/grel.h \ - /usr/include/glib-2.0/glib/deprecated/gthread.h /usr/include/pthread.h \ - /usr/include/sched.h /usr/include/arm-linux-gnueabihf/bits/sched.h \ - /usr/include/arm-linux-gnueabihf/bits/setjmp.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h \ - /usr/include/stdint.h /usr/include/arm-linux-gnueabihf/bits/wchar.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/time.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/dirent.h: - -/usr/include/arm-linux-gnueabihf/bits/dirent.h: - -/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/local_lim.h: - -/usr/include/linux/limits.h: - -/usr/include/errno.h: - -/usr/include/arm-linux-gnueabihf/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/arm-linux-gnueabihf/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/include/stdlib.h: - -/usr/include/arm-linux-gnueabihf/bits/waitflags.h: - -/usr/include/arm-linux-gnueabihf/bits/waitstatus.h: - -/usr/include/xlocale.h: - -/usr/include/alloca.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-float.h: - -/usr/include/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string2.h: - -obexd/src/log.h: - -obexd/plugins/messages.h: - -/usr/include/glib-2.0/glib.h: - -/usr/include/glib-2.0/glib/galloca.h: - -/usr/include/glib-2.0/glib/gtypes.h: - -/usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h: - -/usr/include/glib-2.0/glib/gmacros.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h: - -/usr/include/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix2_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/xopen_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h: - -/usr/include/glib-2.0/glib/gversionmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/timex.h: - -/usr/include/glib-2.0/glib/garray.h: - -/usr/include/glib-2.0/glib/gasyncqueue.h: - -/usr/include/glib-2.0/glib/gthread.h: - -/usr/include/glib-2.0/glib/gatomic.h: - -/usr/include/glib-2.0/glib/gerror.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/glib-2.0/glib/gquark.h: - -/usr/include/glib-2.0/glib/gbacktrace.h: - -/usr/include/signal.h: - -/usr/include/arm-linux-gnueabihf/bits/signum.h: - -/usr/include/arm-linux-gnueabihf/bits/siginfo.h: - -/usr/include/arm-linux-gnueabihf/bits/sigaction.h: - -/usr/include/arm-linux-gnueabihf/bits/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/asm/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigstack.h: - -/usr/include/arm-linux-gnueabihf/sys/ucontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigthread.h: - -/usr/include/glib-2.0/glib/gbase64.h: - -/usr/include/glib-2.0/glib/gbitlock.h: - -/usr/include/glib-2.0/glib/gbookmarkfile.h: - -/usr/include/glib-2.0/glib/gbytes.h: - -/usr/include/glib-2.0/glib/gcharset.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/gconvert.h: - -/usr/include/glib-2.0/glib/gdataset.h: - -/usr/include/glib-2.0/glib/gdate.h: - -/usr/include/glib-2.0/glib/gdatetime.h: - -/usr/include/glib-2.0/glib/gtimezone.h: - -/usr/include/glib-2.0/glib/gdir.h: - -/usr/include/glib-2.0/glib/genviron.h: - -/usr/include/glib-2.0/glib/gfileutils.h: - -/usr/include/glib-2.0/glib/ggettext.h: - -/usr/include/glib-2.0/glib/ghash.h: - -/usr/include/glib-2.0/glib/glist.h: - -/usr/include/glib-2.0/glib/gmem.h: - -/usr/include/glib-2.0/glib/gnode.h: - -/usr/include/glib-2.0/glib/ghmac.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/ghook.h: - -/usr/include/glib-2.0/glib/ghostutils.h: - -/usr/include/glib-2.0/glib/giochannel.h: - -/usr/include/glib-2.0/glib/gmain.h: - -/usr/include/glib-2.0/glib/gpoll.h: - -/usr/include/glib-2.0/glib/gslist.h: - -/usr/include/glib-2.0/glib/gstring.h: - -/usr/include/glib-2.0/glib/gunicode.h: - -/usr/include/glib-2.0/glib/gutils.h: - -/usr/include/glib-2.0/glib/gkeyfile.h: - -/usr/include/glib-2.0/glib/gmappedfile.h: - -/usr/include/glib-2.0/glib/gmarkup.h: - -/usr/include/glib-2.0/glib/gmessages.h: - -/usr/include/glib-2.0/glib/goption.h: - -/usr/include/glib-2.0/glib/gpattern.h: - -/usr/include/glib-2.0/glib/gprimes.h: - -/usr/include/glib-2.0/glib/gqsort.h: - -/usr/include/glib-2.0/glib/gqueue.h: - -/usr/include/glib-2.0/glib/grand.h: - -/usr/include/glib-2.0/glib/gregex.h: - -/usr/include/glib-2.0/glib/gscanner.h: - -/usr/include/glib-2.0/glib/gsequence.h: - -/usr/include/glib-2.0/glib/gshell.h: - -/usr/include/glib-2.0/glib/gslice.h: - -/usr/include/glib-2.0/glib/gspawn.h: - -/usr/include/glib-2.0/glib/gstrfuncs.h: - -/usr/include/glib-2.0/glib/gstringchunk.h: - -/usr/include/glib-2.0/glib/gtestutils.h: - -/usr/include/glib-2.0/glib/gthreadpool.h: - -/usr/include/glib-2.0/glib/gtimer.h: - -/usr/include/glib-2.0/glib/gtrashstack.h: - -/usr/include/glib-2.0/glib/gtree.h: - -/usr/include/glib-2.0/glib/gurifuncs.h: - -/usr/include/glib-2.0/glib/gvarianttype.h: - -/usr/include/glib-2.0/glib/gvariant.h: - -/usr/include/glib-2.0/glib/gversion.h: - -/usr/include/glib-2.0/glib/deprecated/gallocator.h: - -/usr/include/glib-2.0/glib/deprecated/gcache.h: - -/usr/include/glib-2.0/glib/deprecated/gcompletion.h: - -/usr/include/glib-2.0/glib/deprecated/gmain.h: - -/usr/include/glib-2.0/glib/deprecated/grel.h: - -/usr/include/glib-2.0/glib/deprecated/gthread.h: - -/usr/include/pthread.h: - -/usr/include/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/setjmp.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/arm-linux-gnueabihf/bits/wchar.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/obexd/plugins/.deps/obexd-opp.Po b/GRIB_BLE_HUB/libs/ble_extend/obexd/plugins/.deps/obexd-opp.Po deleted file mode 100644 index 1059c6c..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/obexd/plugins/.deps/obexd-opp.Po +++ /dev/null @@ -1,476 +0,0 @@ -obexd/plugins/obexd-opp.o: obexd/plugins/opp.c /usr/include/stdc-predef.h \ - config.h /usr/include/errno.h /usr/include/features.h \ - /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/include/arm-linux-gnueabihf/bits/errno.h /usr/include/linux/errno.h \ - /usr/include/arm-linux-gnueabihf/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/include/string.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/include/xlocale.h /usr/include/arm-linux-gnueabihf/bits/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string2.h /usr/include/stdlib.h \ - /usr/include/unistd.h /usr/include/arm-linux-gnueabihf/bits/posix_opt.h \ - /usr/include/arm-linux-gnueabihf/bits/environments.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h \ - /usr/include/arm-linux-gnueabihf/bits/confname.h /usr/include/getopt.h \ - /usr/include/inttypes.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h \ - /usr/include/stdint.h /usr/include/arm-linux-gnueabihf/bits/wchar.h \ - /usr/include/glib-2.0/glib.h /usr/include/glib-2.0/glib/galloca.h \ - /usr/include/glib-2.0/glib/gtypes.h \ - /usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h \ - /usr/include/glib-2.0/glib/gmacros.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h \ - /usr/include/limits.h /usr/include/arm-linux-gnueabihf/bits/posix1_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/local_lim.h \ - /usr/include/linux/limits.h \ - /usr/include/arm-linux-gnueabihf/bits/posix2_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/xopen_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h \ - /usr/include/glib-2.0/glib/gversionmacros.h /usr/include/time.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/bits/timex.h \ - /usr/include/glib-2.0/glib/garray.h \ - /usr/include/glib-2.0/glib/gasyncqueue.h \ - /usr/include/glib-2.0/glib/gthread.h \ - /usr/include/glib-2.0/glib/gatomic.h /usr/include/glib-2.0/glib/gerror.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/glib-2.0/glib/gquark.h \ - /usr/include/glib-2.0/glib/gbacktrace.h /usr/include/signal.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/signum.h \ - /usr/include/arm-linux-gnueabihf/bits/siginfo.h \ - /usr/include/arm-linux-gnueabihf/bits/sigaction.h \ - /usr/include/arm-linux-gnueabihf/bits/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/asm/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigstack.h \ - /usr/include/arm-linux-gnueabihf/sys/ucontext.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/endian.h /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/arm-linux-gnueabihf/bits/sigthread.h \ - /usr/include/glib-2.0/glib/gbase64.h \ - /usr/include/glib-2.0/glib/gbitlock.h \ - /usr/include/glib-2.0/glib/gbookmarkfile.h \ - /usr/include/glib-2.0/glib/gbytes.h \ - /usr/include/glib-2.0/glib/gcharset.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/gconvert.h \ - /usr/include/glib-2.0/glib/gdataset.h /usr/include/glib-2.0/glib/gdate.h \ - /usr/include/glib-2.0/glib/gdatetime.h \ - /usr/include/glib-2.0/glib/gtimezone.h /usr/include/glib-2.0/glib/gdir.h \ - /usr/include/dirent.h /usr/include/arm-linux-gnueabihf/bits/dirent.h \ - /usr/include/glib-2.0/glib/genviron.h \ - /usr/include/glib-2.0/glib/gfileutils.h \ - /usr/include/glib-2.0/glib/ggettext.h /usr/include/glib-2.0/glib/ghash.h \ - /usr/include/glib-2.0/glib/glist.h /usr/include/glib-2.0/glib/gmem.h \ - /usr/include/glib-2.0/glib/gnode.h /usr/include/glib-2.0/glib/ghmac.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/ghook.h \ - /usr/include/glib-2.0/glib/ghostutils.h \ - /usr/include/glib-2.0/glib/giochannel.h \ - /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gpoll.h \ - /usr/include/glib-2.0/glib/gslist.h /usr/include/glib-2.0/glib/gstring.h \ - /usr/include/glib-2.0/glib/gunicode.h \ - /usr/include/glib-2.0/glib/gutils.h \ - /usr/include/glib-2.0/glib/gkeyfile.h \ - /usr/include/glib-2.0/glib/gmappedfile.h \ - /usr/include/glib-2.0/glib/gmarkup.h \ - /usr/include/glib-2.0/glib/gmessages.h \ - /usr/include/glib-2.0/glib/goption.h \ - /usr/include/glib-2.0/glib/gpattern.h \ - /usr/include/glib-2.0/glib/gprimes.h /usr/include/glib-2.0/glib/gqsort.h \ - /usr/include/glib-2.0/glib/gqueue.h /usr/include/glib-2.0/glib/grand.h \ - /usr/include/glib-2.0/glib/gregex.h \ - /usr/include/glib-2.0/glib/gscanner.h \ - /usr/include/glib-2.0/glib/gsequence.h \ - /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gslice.h \ - /usr/include/glib-2.0/glib/gspawn.h \ - /usr/include/glib-2.0/glib/gstrfuncs.h \ - /usr/include/glib-2.0/glib/gstringchunk.h \ - /usr/include/glib-2.0/glib/gtestutils.h \ - /usr/include/glib-2.0/glib/gthreadpool.h \ - /usr/include/glib-2.0/glib/gtimer.h \ - /usr/include/glib-2.0/glib/gtrashstack.h \ - /usr/include/glib-2.0/glib/gtree.h \ - /usr/include/glib-2.0/glib/gurifuncs.h \ - /usr/include/glib-2.0/glib/gvarianttype.h \ - /usr/include/glib-2.0/glib/gvariant.h \ - /usr/include/glib-2.0/glib/gversion.h \ - /usr/include/glib-2.0/glib/deprecated/gallocator.h \ - /usr/include/glib-2.0/glib/deprecated/gcache.h \ - /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ - /usr/include/glib-2.0/glib/deprecated/gmain.h \ - /usr/include/glib-2.0/glib/deprecated/grel.h \ - /usr/include/glib-2.0/glib/deprecated/gthread.h \ - /usr/include/arm-linux-gnueabihf/sys/types.h \ - /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h /usr/include/pthread.h \ - /usr/include/sched.h /usr/include/arm-linux-gnueabihf/bits/sched.h \ - /usr/include/arm-linux-gnueabihf/bits/setjmp.h obexd/src/obexd.h \ - obexd/src/plugin.h obexd/src/obex.h obexd/src/service.h obexd/src/log.h \ - obexd/src/manager.h /usr/include/dbus-1.0/dbus/dbus.h \ - /usr/lib/arm-linux-gnueabihf/dbus-1.0/include/dbus/dbus-arch-deps.h \ - /usr/include/dbus-1.0/dbus/dbus-macros.h \ - /usr/include/dbus-1.0/dbus/dbus-address.h \ - /usr/include/dbus-1.0/dbus/dbus-types.h \ - /usr/include/dbus-1.0/dbus/dbus-errors.h \ - /usr/include/dbus-1.0/dbus/dbus-protocol.h \ - /usr/include/dbus-1.0/dbus/dbus-bus.h \ - /usr/include/dbus-1.0/dbus/dbus-connection.h \ - /usr/include/dbus-1.0/dbus/dbus-memory.h \ - /usr/include/dbus-1.0/dbus/dbus-message.h \ - /usr/include/dbus-1.0/dbus/dbus-shared.h \ - /usr/include/dbus-1.0/dbus/dbus-misc.h \ - /usr/include/dbus-1.0/dbus/dbus-pending-call.h \ - /usr/include/dbus-1.0/dbus/dbus-server.h \ - /usr/include/dbus-1.0/dbus/dbus-signature.h \ - /usr/include/dbus-1.0/dbus/dbus-syntax.h \ - /usr/include/dbus-1.0/dbus/dbus-threads.h obexd/plugins/filesystem.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/include/errno.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/include/arm-linux-gnueabihf/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/arm-linux-gnueabihf/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/include/string.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/include/xlocale.h: - -/usr/include/arm-linux-gnueabihf/bits/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string2.h: - -/usr/include/stdlib.h: - -/usr/include/unistd.h: - -/usr/include/arm-linux-gnueabihf/bits/posix_opt.h: - -/usr/include/arm-linux-gnueabihf/bits/environments.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/arm-linux-gnueabihf/bits/confname.h: - -/usr/include/getopt.h: - -/usr/include/inttypes.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/arm-linux-gnueabihf/bits/wchar.h: - -/usr/include/glib-2.0/glib.h: - -/usr/include/glib-2.0/glib/galloca.h: - -/usr/include/glib-2.0/glib/gtypes.h: - -/usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h: - -/usr/include/glib-2.0/glib/gmacros.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h: - -/usr/include/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/local_lim.h: - -/usr/include/linux/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix2_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/xopen_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h: - -/usr/include/glib-2.0/glib/gversionmacros.h: - -/usr/include/time.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/bits/timex.h: - -/usr/include/glib-2.0/glib/garray.h: - -/usr/include/glib-2.0/glib/gasyncqueue.h: - -/usr/include/glib-2.0/glib/gthread.h: - -/usr/include/glib-2.0/glib/gatomic.h: - -/usr/include/glib-2.0/glib/gerror.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/glib-2.0/glib/gquark.h: - -/usr/include/glib-2.0/glib/gbacktrace.h: - -/usr/include/signal.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/signum.h: - -/usr/include/arm-linux-gnueabihf/bits/siginfo.h: - -/usr/include/arm-linux-gnueabihf/bits/sigaction.h: - -/usr/include/arm-linux-gnueabihf/bits/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/asm/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigstack.h: - -/usr/include/arm-linux-gnueabihf/sys/ucontext.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/arm-linux-gnueabihf/bits/sigthread.h: - -/usr/include/glib-2.0/glib/gbase64.h: - -/usr/include/glib-2.0/glib/gbitlock.h: - -/usr/include/glib-2.0/glib/gbookmarkfile.h: - -/usr/include/glib-2.0/glib/gbytes.h: - -/usr/include/glib-2.0/glib/gcharset.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/gconvert.h: - -/usr/include/glib-2.0/glib/gdataset.h: - -/usr/include/glib-2.0/glib/gdate.h: - -/usr/include/glib-2.0/glib/gdatetime.h: - -/usr/include/glib-2.0/glib/gtimezone.h: - -/usr/include/glib-2.0/glib/gdir.h: - -/usr/include/dirent.h: - -/usr/include/arm-linux-gnueabihf/bits/dirent.h: - -/usr/include/glib-2.0/glib/genviron.h: - -/usr/include/glib-2.0/glib/gfileutils.h: - -/usr/include/glib-2.0/glib/ggettext.h: - -/usr/include/glib-2.0/glib/ghash.h: - -/usr/include/glib-2.0/glib/glist.h: - -/usr/include/glib-2.0/glib/gmem.h: - -/usr/include/glib-2.0/glib/gnode.h: - -/usr/include/glib-2.0/glib/ghmac.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/ghook.h: - -/usr/include/glib-2.0/glib/ghostutils.h: - -/usr/include/glib-2.0/glib/giochannel.h: - -/usr/include/glib-2.0/glib/gmain.h: - -/usr/include/glib-2.0/glib/gpoll.h: - -/usr/include/glib-2.0/glib/gslist.h: - -/usr/include/glib-2.0/glib/gstring.h: - -/usr/include/glib-2.0/glib/gunicode.h: - -/usr/include/glib-2.0/glib/gutils.h: - -/usr/include/glib-2.0/glib/gkeyfile.h: - -/usr/include/glib-2.0/glib/gmappedfile.h: - -/usr/include/glib-2.0/glib/gmarkup.h: - -/usr/include/glib-2.0/glib/gmessages.h: - -/usr/include/glib-2.0/glib/goption.h: - -/usr/include/glib-2.0/glib/gpattern.h: - -/usr/include/glib-2.0/glib/gprimes.h: - -/usr/include/glib-2.0/glib/gqsort.h: - -/usr/include/glib-2.0/glib/gqueue.h: - -/usr/include/glib-2.0/glib/grand.h: - -/usr/include/glib-2.0/glib/gregex.h: - -/usr/include/glib-2.0/glib/gscanner.h: - -/usr/include/glib-2.0/glib/gsequence.h: - -/usr/include/glib-2.0/glib/gshell.h: - -/usr/include/glib-2.0/glib/gslice.h: - -/usr/include/glib-2.0/glib/gspawn.h: - -/usr/include/glib-2.0/glib/gstrfuncs.h: - -/usr/include/glib-2.0/glib/gstringchunk.h: - -/usr/include/glib-2.0/glib/gtestutils.h: - -/usr/include/glib-2.0/glib/gthreadpool.h: - -/usr/include/glib-2.0/glib/gtimer.h: - -/usr/include/glib-2.0/glib/gtrashstack.h: - -/usr/include/glib-2.0/glib/gtree.h: - -/usr/include/glib-2.0/glib/gurifuncs.h: - -/usr/include/glib-2.0/glib/gvarianttype.h: - -/usr/include/glib-2.0/glib/gvariant.h: - -/usr/include/glib-2.0/glib/gversion.h: - -/usr/include/glib-2.0/glib/deprecated/gallocator.h: - -/usr/include/glib-2.0/glib/deprecated/gcache.h: - -/usr/include/glib-2.0/glib/deprecated/gcompletion.h: - -/usr/include/glib-2.0/glib/deprecated/gmain.h: - -/usr/include/glib-2.0/glib/deprecated/grel.h: - -/usr/include/glib-2.0/glib/deprecated/gthread.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/pthread.h: - -/usr/include/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/setjmp.h: - -obexd/src/obexd.h: - -obexd/src/plugin.h: - -obexd/src/obex.h: - -obexd/src/service.h: - -obexd/src/log.h: - -obexd/src/manager.h: - -/usr/include/dbus-1.0/dbus/dbus.h: - -/usr/lib/arm-linux-gnueabihf/dbus-1.0/include/dbus/dbus-arch-deps.h: - -/usr/include/dbus-1.0/dbus/dbus-macros.h: - -/usr/include/dbus-1.0/dbus/dbus-address.h: - -/usr/include/dbus-1.0/dbus/dbus-types.h: - -/usr/include/dbus-1.0/dbus/dbus-errors.h: - -/usr/include/dbus-1.0/dbus/dbus-protocol.h: - -/usr/include/dbus-1.0/dbus/dbus-bus.h: - -/usr/include/dbus-1.0/dbus/dbus-connection.h: - -/usr/include/dbus-1.0/dbus/dbus-memory.h: - -/usr/include/dbus-1.0/dbus/dbus-message.h: - -/usr/include/dbus-1.0/dbus/dbus-shared.h: - -/usr/include/dbus-1.0/dbus/dbus-misc.h: - -/usr/include/dbus-1.0/dbus/dbus-pending-call.h: - -/usr/include/dbus-1.0/dbus/dbus-server.h: - -/usr/include/dbus-1.0/dbus/dbus-signature.h: - -/usr/include/dbus-1.0/dbus/dbus-syntax.h: - -/usr/include/dbus-1.0/dbus/dbus-threads.h: - -obexd/plugins/filesystem.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/obexd/plugins/.deps/obexd-pbap.Po b/GRIB_BLE_HUB/libs/ble_extend/obexd/plugins/.deps/obexd-pbap.Po deleted file mode 100644 index 4812171..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/obexd/plugins/.deps/obexd-pbap.Po +++ /dev/null @@ -1,576 +0,0 @@ -obexd/plugins/obexd-pbap.o: obexd/plugins/pbap.c \ - /usr/include/stdc-predef.h config.h /usr/include/stdio.h \ - /usr/include/features.h /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/sys_errlist.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio.h /usr/include/string.h \ - /usr/include/xlocale.h /usr/include/arm-linux-gnueabihf/bits/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string2.h /usr/include/stdlib.h \ - /usr/include/errno.h /usr/include/arm-linux-gnueabihf/bits/errno.h \ - /usr/include/linux/errno.h /usr/include/arm-linux-gnueabihf/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/include/glib-2.0/glib.h /usr/include/glib-2.0/glib/galloca.h \ - /usr/include/glib-2.0/glib/gtypes.h \ - /usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h \ - /usr/include/glib-2.0/glib/gmacros.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h \ - /usr/include/limits.h /usr/include/arm-linux-gnueabihf/bits/posix1_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/local_lim.h \ - /usr/include/linux/limits.h \ - /usr/include/arm-linux-gnueabihf/bits/posix2_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/xopen_lim.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h \ - /usr/include/glib-2.0/glib/gversionmacros.h /usr/include/time.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/bits/timex.h \ - /usr/include/glib-2.0/glib/garray.h \ - /usr/include/glib-2.0/glib/gasyncqueue.h \ - /usr/include/glib-2.0/glib/gthread.h \ - /usr/include/glib-2.0/glib/gatomic.h /usr/include/glib-2.0/glib/gerror.h \ - /usr/include/glib-2.0/glib/gquark.h \ - /usr/include/glib-2.0/glib/gbacktrace.h /usr/include/signal.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/signum.h \ - /usr/include/arm-linux-gnueabihf/bits/siginfo.h \ - /usr/include/arm-linux-gnueabihf/bits/sigaction.h \ - /usr/include/arm-linux-gnueabihf/bits/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/asm/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigstack.h \ - /usr/include/arm-linux-gnueabihf/sys/ucontext.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/endian.h /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/arm-linux-gnueabihf/bits/sigthread.h \ - /usr/include/glib-2.0/glib/gbase64.h \ - /usr/include/glib-2.0/glib/gbitlock.h \ - /usr/include/glib-2.0/glib/gbookmarkfile.h \ - /usr/include/glib-2.0/glib/gbytes.h \ - /usr/include/glib-2.0/glib/gcharset.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/gconvert.h \ - /usr/include/glib-2.0/glib/gdataset.h /usr/include/glib-2.0/glib/gdate.h \ - /usr/include/glib-2.0/glib/gdatetime.h \ - /usr/include/glib-2.0/glib/gtimezone.h /usr/include/glib-2.0/glib/gdir.h \ - /usr/include/dirent.h /usr/include/arm-linux-gnueabihf/bits/dirent.h \ - /usr/include/glib-2.0/glib/genviron.h \ - /usr/include/glib-2.0/glib/gfileutils.h \ - /usr/include/glib-2.0/glib/ggettext.h /usr/include/glib-2.0/glib/ghash.h \ - /usr/include/glib-2.0/glib/glist.h /usr/include/glib-2.0/glib/gmem.h \ - /usr/include/glib-2.0/glib/gnode.h /usr/include/glib-2.0/glib/ghmac.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/ghook.h \ - /usr/include/glib-2.0/glib/ghostutils.h \ - /usr/include/glib-2.0/glib/giochannel.h \ - /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gpoll.h \ - /usr/include/glib-2.0/glib/gslist.h /usr/include/glib-2.0/glib/gstring.h \ - /usr/include/glib-2.0/glib/gunicode.h \ - /usr/include/glib-2.0/glib/gutils.h \ - /usr/include/glib-2.0/glib/gkeyfile.h \ - /usr/include/glib-2.0/glib/gmappedfile.h \ - /usr/include/glib-2.0/glib/gmarkup.h \ - /usr/include/glib-2.0/glib/gmessages.h \ - /usr/include/glib-2.0/glib/goption.h \ - /usr/include/glib-2.0/glib/gpattern.h \ - /usr/include/glib-2.0/glib/gprimes.h /usr/include/glib-2.0/glib/gqsort.h \ - /usr/include/glib-2.0/glib/gqueue.h /usr/include/glib-2.0/glib/grand.h \ - /usr/include/glib-2.0/glib/gregex.h \ - /usr/include/glib-2.0/glib/gscanner.h \ - /usr/include/glib-2.0/glib/gsequence.h \ - /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gslice.h \ - /usr/include/glib-2.0/glib/gspawn.h \ - /usr/include/glib-2.0/glib/gstrfuncs.h \ - /usr/include/glib-2.0/glib/gstringchunk.h \ - /usr/include/glib-2.0/glib/gtestutils.h \ - /usr/include/glib-2.0/glib/gthreadpool.h \ - /usr/include/glib-2.0/glib/gtimer.h \ - /usr/include/glib-2.0/glib/gtrashstack.h \ - /usr/include/glib-2.0/glib/gtree.h \ - /usr/include/glib-2.0/glib/gurifuncs.h \ - /usr/include/glib-2.0/glib/gvarianttype.h \ - /usr/include/glib-2.0/glib/gvariant.h \ - /usr/include/glib-2.0/glib/gversion.h \ - /usr/include/glib-2.0/glib/deprecated/gallocator.h \ - /usr/include/glib-2.0/glib/deprecated/gcache.h \ - /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ - /usr/include/glib-2.0/glib/deprecated/gmain.h \ - /usr/include/glib-2.0/glib/deprecated/grel.h \ - /usr/include/glib-2.0/glib/deprecated/gthread.h \ - /usr/include/arm-linux-gnueabihf/sys/types.h \ - /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h /usr/include/pthread.h \ - /usr/include/sched.h /usr/include/arm-linux-gnueabihf/bits/sched.h \ - /usr/include/arm-linux-gnueabihf/bits/setjmp.h \ - /usr/include/arm-linux-gnueabihf/bits/waitflags.h \ - /usr/include/arm-linux-gnueabihf/bits/waitstatus.h /usr/include/alloca.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-float.h \ - /usr/include/unistd.h /usr/include/arm-linux-gnueabihf/bits/posix_opt.h \ - /usr/include/arm-linux-gnueabihf/bits/environments.h \ - /usr/include/arm-linux-gnueabihf/bits/confname.h /usr/include/getopt.h \ - /usr/include/arpa/inet.h /usr/include/netinet/in.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h \ - /usr/include/stdint.h /usr/include/arm-linux-gnueabihf/bits/wchar.h \ - /usr/include/arm-linux-gnueabihf/sys/socket.h \ - /usr/include/arm-linux-gnueabihf/sys/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/socket.h \ - /usr/include/arm-linux-gnueabihf/bits/socket_type.h \ - /usr/include/arm-linux-gnueabihf/bits/sockaddr.h \ - /usr/include/arm-linux-gnueabihf/asm/socket.h \ - /usr/include/asm-generic/socket.h \ - /usr/include/arm-linux-gnueabihf/asm/sockios.h \ - /usr/include/asm-generic/sockios.h \ - /usr/include/arm-linux-gnueabihf/bits/in.h \ - /usr/include/arm-linux-gnueabihf/sys/stat.h \ - /usr/include/arm-linux-gnueabihf/bits/stat.h /usr/include/fcntl.h \ - /usr/include/arm-linux-gnueabihf/bits/fcntl.h \ - /usr/include/arm-linux-gnueabihf/bits/fcntl-linux.h \ - /usr/include/inttypes.h gobex/gobex.h gobex/gobex-defs.h \ - gobex/gobex-packet.h gobex/gobex-header.h gobex/gobex-apparam.h \ - gobex/gobex-apparam.h obexd/src/obexd.h obexd/src/plugin.h \ - obexd/src/log.h obexd/src/obex.h obexd/src/service.h \ - obexd/plugins/phonebook.h obexd/src/mimetype.h \ - obexd/plugins/filesystem.h obexd/src/manager.h \ - /usr/include/dbus-1.0/dbus/dbus.h \ - /usr/lib/arm-linux-gnueabihf/dbus-1.0/include/dbus/dbus-arch-deps.h \ - /usr/include/dbus-1.0/dbus/dbus-macros.h \ - /usr/include/dbus-1.0/dbus/dbus-address.h \ - /usr/include/dbus-1.0/dbus/dbus-types.h \ - /usr/include/dbus-1.0/dbus/dbus-errors.h \ - /usr/include/dbus-1.0/dbus/dbus-protocol.h \ - /usr/include/dbus-1.0/dbus/dbus-bus.h \ - /usr/include/dbus-1.0/dbus/dbus-connection.h \ - /usr/include/dbus-1.0/dbus/dbus-memory.h \ - /usr/include/dbus-1.0/dbus/dbus-message.h \ - /usr/include/dbus-1.0/dbus/dbus-shared.h \ - /usr/include/dbus-1.0/dbus/dbus-misc.h \ - /usr/include/dbus-1.0/dbus/dbus-pending-call.h \ - /usr/include/dbus-1.0/dbus/dbus-server.h \ - /usr/include/dbus-1.0/dbus/dbus-signature.h \ - /usr/include/dbus-1.0/dbus/dbus-syntax.h \ - /usr/include/dbus-1.0/dbus/dbus-threads.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/include/stdio.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/sys_errlist.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio.h: - -/usr/include/string.h: - -/usr/include/xlocale.h: - -/usr/include/arm-linux-gnueabihf/bits/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string2.h: - -/usr/include/stdlib.h: - -/usr/include/errno.h: - -/usr/include/arm-linux-gnueabihf/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/arm-linux-gnueabihf/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/include/glib-2.0/glib.h: - -/usr/include/glib-2.0/glib/galloca.h: - -/usr/include/glib-2.0/glib/gtypes.h: - -/usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h: - -/usr/include/glib-2.0/glib/gmacros.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h: - -/usr/include/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/local_lim.h: - -/usr/include/linux/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix2_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/xopen_lim.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h: - -/usr/include/glib-2.0/glib/gversionmacros.h: - -/usr/include/time.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/bits/timex.h: - -/usr/include/glib-2.0/glib/garray.h: - -/usr/include/glib-2.0/glib/gasyncqueue.h: - -/usr/include/glib-2.0/glib/gthread.h: - -/usr/include/glib-2.0/glib/gatomic.h: - -/usr/include/glib-2.0/glib/gerror.h: - -/usr/include/glib-2.0/glib/gquark.h: - -/usr/include/glib-2.0/glib/gbacktrace.h: - -/usr/include/signal.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/signum.h: - -/usr/include/arm-linux-gnueabihf/bits/siginfo.h: - -/usr/include/arm-linux-gnueabihf/bits/sigaction.h: - -/usr/include/arm-linux-gnueabihf/bits/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/asm/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigstack.h: - -/usr/include/arm-linux-gnueabihf/sys/ucontext.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/arm-linux-gnueabihf/bits/sigthread.h: - -/usr/include/glib-2.0/glib/gbase64.h: - -/usr/include/glib-2.0/glib/gbitlock.h: - -/usr/include/glib-2.0/glib/gbookmarkfile.h: - -/usr/include/glib-2.0/glib/gbytes.h: - -/usr/include/glib-2.0/glib/gcharset.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/gconvert.h: - -/usr/include/glib-2.0/glib/gdataset.h: - -/usr/include/glib-2.0/glib/gdate.h: - -/usr/include/glib-2.0/glib/gdatetime.h: - -/usr/include/glib-2.0/glib/gtimezone.h: - -/usr/include/glib-2.0/glib/gdir.h: - -/usr/include/dirent.h: - -/usr/include/arm-linux-gnueabihf/bits/dirent.h: - -/usr/include/glib-2.0/glib/genviron.h: - -/usr/include/glib-2.0/glib/gfileutils.h: - -/usr/include/glib-2.0/glib/ggettext.h: - -/usr/include/glib-2.0/glib/ghash.h: - -/usr/include/glib-2.0/glib/glist.h: - -/usr/include/glib-2.0/glib/gmem.h: - -/usr/include/glib-2.0/glib/gnode.h: - -/usr/include/glib-2.0/glib/ghmac.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/ghook.h: - -/usr/include/glib-2.0/glib/ghostutils.h: - -/usr/include/glib-2.0/glib/giochannel.h: - -/usr/include/glib-2.0/glib/gmain.h: - -/usr/include/glib-2.0/glib/gpoll.h: - -/usr/include/glib-2.0/glib/gslist.h: - -/usr/include/glib-2.0/glib/gstring.h: - -/usr/include/glib-2.0/glib/gunicode.h: - -/usr/include/glib-2.0/glib/gutils.h: - -/usr/include/glib-2.0/glib/gkeyfile.h: - -/usr/include/glib-2.0/glib/gmappedfile.h: - -/usr/include/glib-2.0/glib/gmarkup.h: - -/usr/include/glib-2.0/glib/gmessages.h: - -/usr/include/glib-2.0/glib/goption.h: - -/usr/include/glib-2.0/glib/gpattern.h: - -/usr/include/glib-2.0/glib/gprimes.h: - -/usr/include/glib-2.0/glib/gqsort.h: - -/usr/include/glib-2.0/glib/gqueue.h: - -/usr/include/glib-2.0/glib/grand.h: - -/usr/include/glib-2.0/glib/gregex.h: - -/usr/include/glib-2.0/glib/gscanner.h: - -/usr/include/glib-2.0/glib/gsequence.h: - -/usr/include/glib-2.0/glib/gshell.h: - -/usr/include/glib-2.0/glib/gslice.h: - -/usr/include/glib-2.0/glib/gspawn.h: - -/usr/include/glib-2.0/glib/gstrfuncs.h: - -/usr/include/glib-2.0/glib/gstringchunk.h: - -/usr/include/glib-2.0/glib/gtestutils.h: - -/usr/include/glib-2.0/glib/gthreadpool.h: - -/usr/include/glib-2.0/glib/gtimer.h: - -/usr/include/glib-2.0/glib/gtrashstack.h: - -/usr/include/glib-2.0/glib/gtree.h: - -/usr/include/glib-2.0/glib/gurifuncs.h: - -/usr/include/glib-2.0/glib/gvarianttype.h: - -/usr/include/glib-2.0/glib/gvariant.h: - -/usr/include/glib-2.0/glib/gversion.h: - -/usr/include/glib-2.0/glib/deprecated/gallocator.h: - -/usr/include/glib-2.0/glib/deprecated/gcache.h: - -/usr/include/glib-2.0/glib/deprecated/gcompletion.h: - -/usr/include/glib-2.0/glib/deprecated/gmain.h: - -/usr/include/glib-2.0/glib/deprecated/grel.h: - -/usr/include/glib-2.0/glib/deprecated/gthread.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/pthread.h: - -/usr/include/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/setjmp.h: - -/usr/include/arm-linux-gnueabihf/bits/waitflags.h: - -/usr/include/arm-linux-gnueabihf/bits/waitstatus.h: - -/usr/include/alloca.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-float.h: - -/usr/include/unistd.h: - -/usr/include/arm-linux-gnueabihf/bits/posix_opt.h: - -/usr/include/arm-linux-gnueabihf/bits/environments.h: - -/usr/include/arm-linux-gnueabihf/bits/confname.h: - -/usr/include/getopt.h: - -/usr/include/arpa/inet.h: - -/usr/include/netinet/in.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/arm-linux-gnueabihf/bits/wchar.h: - -/usr/include/arm-linux-gnueabihf/sys/socket.h: - -/usr/include/arm-linux-gnueabihf/sys/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/socket.h: - -/usr/include/arm-linux-gnueabihf/bits/socket_type.h: - -/usr/include/arm-linux-gnueabihf/bits/sockaddr.h: - -/usr/include/arm-linux-gnueabihf/asm/socket.h: - -/usr/include/asm-generic/socket.h: - -/usr/include/arm-linux-gnueabihf/asm/sockios.h: - -/usr/include/asm-generic/sockios.h: - -/usr/include/arm-linux-gnueabihf/bits/in.h: - -/usr/include/arm-linux-gnueabihf/sys/stat.h: - -/usr/include/arm-linux-gnueabihf/bits/stat.h: - -/usr/include/fcntl.h: - -/usr/include/arm-linux-gnueabihf/bits/fcntl.h: - -/usr/include/arm-linux-gnueabihf/bits/fcntl-linux.h: - -/usr/include/inttypes.h: - -gobex/gobex.h: - -gobex/gobex-defs.h: - -gobex/gobex-packet.h: - -gobex/gobex-header.h: - -gobex/gobex-apparam.h: - -gobex/gobex-apparam.h: - -obexd/src/obexd.h: - -obexd/src/plugin.h: - -obexd/src/log.h: - -obexd/src/obex.h: - -obexd/src/service.h: - -obexd/plugins/phonebook.h: - -obexd/src/mimetype.h: - -obexd/plugins/filesystem.h: - -obexd/src/manager.h: - -/usr/include/dbus-1.0/dbus/dbus.h: - -/usr/lib/arm-linux-gnueabihf/dbus-1.0/include/dbus/dbus-arch-deps.h: - -/usr/include/dbus-1.0/dbus/dbus-macros.h: - -/usr/include/dbus-1.0/dbus/dbus-address.h: - -/usr/include/dbus-1.0/dbus/dbus-types.h: - -/usr/include/dbus-1.0/dbus/dbus-errors.h: - -/usr/include/dbus-1.0/dbus/dbus-protocol.h: - -/usr/include/dbus-1.0/dbus/dbus-bus.h: - -/usr/include/dbus-1.0/dbus/dbus-connection.h: - -/usr/include/dbus-1.0/dbus/dbus-memory.h: - -/usr/include/dbus-1.0/dbus/dbus-message.h: - -/usr/include/dbus-1.0/dbus/dbus-shared.h: - -/usr/include/dbus-1.0/dbus/dbus-misc.h: - -/usr/include/dbus-1.0/dbus/dbus-pending-call.h: - -/usr/include/dbus-1.0/dbus/dbus-server.h: - -/usr/include/dbus-1.0/dbus/dbus-signature.h: - -/usr/include/dbus-1.0/dbus/dbus-syntax.h: - -/usr/include/dbus-1.0/dbus/dbus-threads.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/obexd/plugins/.deps/obexd-pcsuite.Po b/GRIB_BLE_HUB/libs/ble_extend/obexd/plugins/.deps/obexd-pcsuite.Po deleted file mode 100644 index 9ce06a8..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/obexd/plugins/.deps/obexd-pcsuite.Po +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/GRIB_BLE_HUB/libs/ble_extend/obexd/plugins/.deps/obexd-phonebook-dummy.Po b/GRIB_BLE_HUB/libs/ble_extend/obexd/plugins/.deps/obexd-phonebook-dummy.Po deleted file mode 100644 index 31342c2..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/obexd/plugins/.deps/obexd-phonebook-dummy.Po +++ /dev/null @@ -1,471 +0,0 @@ -obexd/plugins/obexd-phonebook-dummy.o: obexd/plugins/phonebook-dummy.c \ - /usr/include/stdc-predef.h config.h /usr/include/dirent.h \ - /usr/include/features.h /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h \ - /usr/include/arm-linux-gnueabihf/bits/dirent.h \ - /usr/include/arm-linux-gnueabihf/bits/posix1_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/local_lim.h \ - /usr/include/linux/limits.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/include/errno.h /usr/include/arm-linux-gnueabihf/bits/errno.h \ - /usr/include/linux/errno.h /usr/include/arm-linux-gnueabihf/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/include/stdio.h /usr/include/libio.h /usr/include/_G_config.h \ - /usr/include/wchar.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/sys_errlist.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h \ - /usr/include/stdint.h /usr/include/arm-linux-gnueabihf/bits/wchar.h \ - /usr/include/string.h /usr/include/xlocale.h \ - /usr/include/arm-linux-gnueabihf/bits/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string2.h /usr/include/stdlib.h \ - /usr/include/glib-2.0/glib.h /usr/include/glib-2.0/glib/galloca.h \ - /usr/include/glib-2.0/glib/gtypes.h \ - /usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h \ - /usr/include/glib-2.0/glib/gmacros.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h \ - /usr/include/limits.h /usr/include/arm-linux-gnueabihf/bits/posix2_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/xopen_lim.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h \ - /usr/include/glib-2.0/glib/gversionmacros.h /usr/include/time.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/bits/timex.h \ - /usr/include/glib-2.0/glib/garray.h \ - /usr/include/glib-2.0/glib/gasyncqueue.h \ - /usr/include/glib-2.0/glib/gthread.h \ - /usr/include/glib-2.0/glib/gatomic.h /usr/include/glib-2.0/glib/gerror.h \ - /usr/include/glib-2.0/glib/gquark.h \ - /usr/include/glib-2.0/glib/gbacktrace.h /usr/include/signal.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/signum.h \ - /usr/include/arm-linux-gnueabihf/bits/siginfo.h \ - /usr/include/arm-linux-gnueabihf/bits/sigaction.h \ - /usr/include/arm-linux-gnueabihf/bits/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/asm/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigstack.h \ - /usr/include/arm-linux-gnueabihf/sys/ucontext.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/endian.h /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/arm-linux-gnueabihf/bits/sigthread.h \ - /usr/include/glib-2.0/glib/gbase64.h \ - /usr/include/glib-2.0/glib/gbitlock.h \ - /usr/include/glib-2.0/glib/gbookmarkfile.h \ - /usr/include/glib-2.0/glib/gbytes.h \ - /usr/include/glib-2.0/glib/gcharset.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/gconvert.h \ - /usr/include/glib-2.0/glib/gdataset.h /usr/include/glib-2.0/glib/gdate.h \ - /usr/include/glib-2.0/glib/gdatetime.h \ - /usr/include/glib-2.0/glib/gtimezone.h /usr/include/glib-2.0/glib/gdir.h \ - /usr/include/glib-2.0/glib/genviron.h \ - /usr/include/glib-2.0/glib/gfileutils.h \ - /usr/include/glib-2.0/glib/ggettext.h /usr/include/glib-2.0/glib/ghash.h \ - /usr/include/glib-2.0/glib/glist.h /usr/include/glib-2.0/glib/gmem.h \ - /usr/include/glib-2.0/glib/gnode.h /usr/include/glib-2.0/glib/ghmac.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/ghook.h \ - /usr/include/glib-2.0/glib/ghostutils.h \ - /usr/include/glib-2.0/glib/giochannel.h \ - /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gpoll.h \ - /usr/include/glib-2.0/glib/gslist.h /usr/include/glib-2.0/glib/gstring.h \ - /usr/include/glib-2.0/glib/gunicode.h \ - /usr/include/glib-2.0/glib/gutils.h \ - /usr/include/glib-2.0/glib/gkeyfile.h \ - /usr/include/glib-2.0/glib/gmappedfile.h \ - /usr/include/glib-2.0/glib/gmarkup.h \ - /usr/include/glib-2.0/glib/gmessages.h \ - /usr/include/glib-2.0/glib/goption.h \ - /usr/include/glib-2.0/glib/gpattern.h \ - /usr/include/glib-2.0/glib/gprimes.h /usr/include/glib-2.0/glib/gqsort.h \ - /usr/include/glib-2.0/glib/gqueue.h /usr/include/glib-2.0/glib/grand.h \ - /usr/include/glib-2.0/glib/gregex.h \ - /usr/include/glib-2.0/glib/gscanner.h \ - /usr/include/glib-2.0/glib/gsequence.h \ - /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gslice.h \ - /usr/include/glib-2.0/glib/gspawn.h \ - /usr/include/glib-2.0/glib/gstrfuncs.h \ - /usr/include/glib-2.0/glib/gstringchunk.h \ - /usr/include/glib-2.0/glib/gtestutils.h \ - /usr/include/glib-2.0/glib/gthreadpool.h \ - /usr/include/glib-2.0/glib/gtimer.h \ - /usr/include/glib-2.0/glib/gtrashstack.h \ - /usr/include/glib-2.0/glib/gtree.h \ - /usr/include/glib-2.0/glib/gurifuncs.h \ - /usr/include/glib-2.0/glib/gvarianttype.h \ - /usr/include/glib-2.0/glib/gvariant.h \ - /usr/include/glib-2.0/glib/gversion.h \ - /usr/include/glib-2.0/glib/deprecated/gallocator.h \ - /usr/include/glib-2.0/glib/deprecated/gcache.h \ - /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ - /usr/include/glib-2.0/glib/deprecated/gmain.h \ - /usr/include/glib-2.0/glib/deprecated/grel.h \ - /usr/include/glib-2.0/glib/deprecated/gthread.h \ - /usr/include/arm-linux-gnueabihf/sys/types.h \ - /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h /usr/include/pthread.h \ - /usr/include/sched.h /usr/include/arm-linux-gnueabihf/bits/sched.h \ - /usr/include/arm-linux-gnueabihf/bits/setjmp.h \ - /usr/include/arm-linux-gnueabihf/bits/waitflags.h \ - /usr/include/arm-linux-gnueabihf/bits/waitstatus.h /usr/include/alloca.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-float.h \ - /usr/include/arm-linux-gnueabihf/sys/stat.h \ - /usr/include/arm-linux-gnueabihf/bits/stat.h /usr/include/fcntl.h \ - /usr/include/arm-linux-gnueabihf/bits/fcntl.h \ - /usr/include/arm-linux-gnueabihf/bits/fcntl-linux.h \ - /usr/include/arm-linux-gnueabihf/bits/uio.h /usr/include/unistd.h \ - /usr/include/arm-linux-gnueabihf/bits/posix_opt.h \ - /usr/include/arm-linux-gnueabihf/bits/environments.h \ - /usr/include/arm-linux-gnueabihf/bits/confname.h /usr/include/getopt.h \ - /usr/include/libical/ical.h /usr/include/assert.h \ - /usr/include/libical/vobject.h /usr/include/libical/port.h \ - /usr/include/libical/vcc.h /usr/include/libical/vobject.h \ - obexd/src/log.h obexd/plugins/phonebook.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/include/dirent.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/arm-linux-gnueabihf/bits/dirent.h: - -/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/local_lim.h: - -/usr/include/linux/limits.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/include/errno.h: - -/usr/include/arm-linux-gnueabihf/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/arm-linux-gnueabihf/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/include/stdio.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/sys_errlist.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/arm-linux-gnueabihf/bits/wchar.h: - -/usr/include/string.h: - -/usr/include/xlocale.h: - -/usr/include/arm-linux-gnueabihf/bits/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string2.h: - -/usr/include/stdlib.h: - -/usr/include/glib-2.0/glib.h: - -/usr/include/glib-2.0/glib/galloca.h: - -/usr/include/glib-2.0/glib/gtypes.h: - -/usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h: - -/usr/include/glib-2.0/glib/gmacros.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h: - -/usr/include/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix2_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/xopen_lim.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h: - -/usr/include/glib-2.0/glib/gversionmacros.h: - -/usr/include/time.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/bits/timex.h: - -/usr/include/glib-2.0/glib/garray.h: - -/usr/include/glib-2.0/glib/gasyncqueue.h: - -/usr/include/glib-2.0/glib/gthread.h: - -/usr/include/glib-2.0/glib/gatomic.h: - -/usr/include/glib-2.0/glib/gerror.h: - -/usr/include/glib-2.0/glib/gquark.h: - -/usr/include/glib-2.0/glib/gbacktrace.h: - -/usr/include/signal.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/signum.h: - -/usr/include/arm-linux-gnueabihf/bits/siginfo.h: - -/usr/include/arm-linux-gnueabihf/bits/sigaction.h: - -/usr/include/arm-linux-gnueabihf/bits/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/asm/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigstack.h: - -/usr/include/arm-linux-gnueabihf/sys/ucontext.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/arm-linux-gnueabihf/bits/sigthread.h: - -/usr/include/glib-2.0/glib/gbase64.h: - -/usr/include/glib-2.0/glib/gbitlock.h: - -/usr/include/glib-2.0/glib/gbookmarkfile.h: - -/usr/include/glib-2.0/glib/gbytes.h: - -/usr/include/glib-2.0/glib/gcharset.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/gconvert.h: - -/usr/include/glib-2.0/glib/gdataset.h: - -/usr/include/glib-2.0/glib/gdate.h: - -/usr/include/glib-2.0/glib/gdatetime.h: - -/usr/include/glib-2.0/glib/gtimezone.h: - -/usr/include/glib-2.0/glib/gdir.h: - -/usr/include/glib-2.0/glib/genviron.h: - -/usr/include/glib-2.0/glib/gfileutils.h: - -/usr/include/glib-2.0/glib/ggettext.h: - -/usr/include/glib-2.0/glib/ghash.h: - -/usr/include/glib-2.0/glib/glist.h: - -/usr/include/glib-2.0/glib/gmem.h: - -/usr/include/glib-2.0/glib/gnode.h: - -/usr/include/glib-2.0/glib/ghmac.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/ghook.h: - -/usr/include/glib-2.0/glib/ghostutils.h: - -/usr/include/glib-2.0/glib/giochannel.h: - -/usr/include/glib-2.0/glib/gmain.h: - -/usr/include/glib-2.0/glib/gpoll.h: - -/usr/include/glib-2.0/glib/gslist.h: - -/usr/include/glib-2.0/glib/gstring.h: - -/usr/include/glib-2.0/glib/gunicode.h: - -/usr/include/glib-2.0/glib/gutils.h: - -/usr/include/glib-2.0/glib/gkeyfile.h: - -/usr/include/glib-2.0/glib/gmappedfile.h: - -/usr/include/glib-2.0/glib/gmarkup.h: - -/usr/include/glib-2.0/glib/gmessages.h: - -/usr/include/glib-2.0/glib/goption.h: - -/usr/include/glib-2.0/glib/gpattern.h: - -/usr/include/glib-2.0/glib/gprimes.h: - -/usr/include/glib-2.0/glib/gqsort.h: - -/usr/include/glib-2.0/glib/gqueue.h: - -/usr/include/glib-2.0/glib/grand.h: - -/usr/include/glib-2.0/glib/gregex.h: - -/usr/include/glib-2.0/glib/gscanner.h: - -/usr/include/glib-2.0/glib/gsequence.h: - -/usr/include/glib-2.0/glib/gshell.h: - -/usr/include/glib-2.0/glib/gslice.h: - -/usr/include/glib-2.0/glib/gspawn.h: - -/usr/include/glib-2.0/glib/gstrfuncs.h: - -/usr/include/glib-2.0/glib/gstringchunk.h: - -/usr/include/glib-2.0/glib/gtestutils.h: - -/usr/include/glib-2.0/glib/gthreadpool.h: - -/usr/include/glib-2.0/glib/gtimer.h: - -/usr/include/glib-2.0/glib/gtrashstack.h: - -/usr/include/glib-2.0/glib/gtree.h: - -/usr/include/glib-2.0/glib/gurifuncs.h: - -/usr/include/glib-2.0/glib/gvarianttype.h: - -/usr/include/glib-2.0/glib/gvariant.h: - -/usr/include/glib-2.0/glib/gversion.h: - -/usr/include/glib-2.0/glib/deprecated/gallocator.h: - -/usr/include/glib-2.0/glib/deprecated/gcache.h: - -/usr/include/glib-2.0/glib/deprecated/gcompletion.h: - -/usr/include/glib-2.0/glib/deprecated/gmain.h: - -/usr/include/glib-2.0/glib/deprecated/grel.h: - -/usr/include/glib-2.0/glib/deprecated/gthread.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/pthread.h: - -/usr/include/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/setjmp.h: - -/usr/include/arm-linux-gnueabihf/bits/waitflags.h: - -/usr/include/arm-linux-gnueabihf/bits/waitstatus.h: - -/usr/include/alloca.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-float.h: - -/usr/include/arm-linux-gnueabihf/sys/stat.h: - -/usr/include/arm-linux-gnueabihf/bits/stat.h: - -/usr/include/fcntl.h: - -/usr/include/arm-linux-gnueabihf/bits/fcntl.h: - -/usr/include/arm-linux-gnueabihf/bits/fcntl-linux.h: - -/usr/include/arm-linux-gnueabihf/bits/uio.h: - -/usr/include/unistd.h: - -/usr/include/arm-linux-gnueabihf/bits/posix_opt.h: - -/usr/include/arm-linux-gnueabihf/bits/environments.h: - -/usr/include/arm-linux-gnueabihf/bits/confname.h: - -/usr/include/getopt.h: - -/usr/include/libical/ical.h: - -/usr/include/assert.h: - -/usr/include/libical/vobject.h: - -/usr/include/libical/port.h: - -/usr/include/libical/vcc.h: - -/usr/include/libical/vobject.h: - -obexd/src/log.h: - -obexd/plugins/phonebook.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/obexd/plugins/.deps/obexd-vcard.Po b/GRIB_BLE_HUB/libs/ble_extend/obexd/plugins/.deps/obexd-vcard.Po deleted file mode 100644 index 75cac16..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/obexd/plugins/.deps/obexd-vcard.Po +++ /dev/null @@ -1,481 +0,0 @@ -obexd/plugins/obexd-vcard.o: obexd/plugins/vcard.c \ - /usr/include/stdc-predef.h config.h /usr/include/string.h \ - /usr/include/features.h /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/include/xlocale.h /usr/include/arm-linux-gnueabihf/bits/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string2.h /usr/include/stdlib.h \ - /usr/include/stdio.h /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/sys_errlist.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio.h \ - /usr/include/arm-linux-gnueabihf/bits/waitflags.h \ - /usr/include/arm-linux-gnueabihf/bits/waitstatus.h /usr/include/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/arm-linux-gnueabihf/sys/types.h /usr/include/time.h \ - /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/alloca.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-float.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h \ - /usr/include/stdint.h /usr/include/arm-linux-gnueabihf/bits/wchar.h \ - /usr/include/ctype.h /usr/include/errno.h \ - /usr/include/arm-linux-gnueabihf/bits/errno.h /usr/include/linux/errno.h \ - /usr/include/arm-linux-gnueabihf/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/include/glib-2.0/glib.h /usr/include/glib-2.0/glib/galloca.h \ - /usr/include/glib-2.0/glib/gtypes.h \ - /usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h \ - /usr/include/glib-2.0/glib/gmacros.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h \ - /usr/include/limits.h /usr/include/arm-linux-gnueabihf/bits/posix1_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/local_lim.h \ - /usr/include/linux/limits.h \ - /usr/include/arm-linux-gnueabihf/bits/posix2_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/xopen_lim.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h \ - /usr/include/glib-2.0/glib/gversionmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/timex.h \ - /usr/include/glib-2.0/glib/garray.h \ - /usr/include/glib-2.0/glib/gasyncqueue.h \ - /usr/include/glib-2.0/glib/gthread.h \ - /usr/include/glib-2.0/glib/gatomic.h /usr/include/glib-2.0/glib/gerror.h \ - /usr/include/glib-2.0/glib/gquark.h \ - /usr/include/glib-2.0/glib/gbacktrace.h /usr/include/signal.h \ - /usr/include/arm-linux-gnueabihf/bits/signum.h \ - /usr/include/arm-linux-gnueabihf/bits/siginfo.h \ - /usr/include/arm-linux-gnueabihf/bits/sigaction.h \ - /usr/include/arm-linux-gnueabihf/bits/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/asm/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigstack.h \ - /usr/include/arm-linux-gnueabihf/sys/ucontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigthread.h \ - /usr/include/glib-2.0/glib/gbase64.h \ - /usr/include/glib-2.0/glib/gbitlock.h \ - /usr/include/glib-2.0/glib/gbookmarkfile.h \ - /usr/include/glib-2.0/glib/gbytes.h \ - /usr/include/glib-2.0/glib/gcharset.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/gconvert.h \ - /usr/include/glib-2.0/glib/gdataset.h /usr/include/glib-2.0/glib/gdate.h \ - /usr/include/glib-2.0/glib/gdatetime.h \ - /usr/include/glib-2.0/glib/gtimezone.h /usr/include/glib-2.0/glib/gdir.h \ - /usr/include/dirent.h /usr/include/arm-linux-gnueabihf/bits/dirent.h \ - /usr/include/glib-2.0/glib/genviron.h \ - /usr/include/glib-2.0/glib/gfileutils.h \ - /usr/include/glib-2.0/glib/ggettext.h /usr/include/glib-2.0/glib/ghash.h \ - /usr/include/glib-2.0/glib/glist.h /usr/include/glib-2.0/glib/gmem.h \ - /usr/include/glib-2.0/glib/gnode.h /usr/include/glib-2.0/glib/ghmac.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/ghook.h \ - /usr/include/glib-2.0/glib/ghostutils.h \ - /usr/include/glib-2.0/glib/giochannel.h \ - /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gpoll.h \ - /usr/include/glib-2.0/glib/gslist.h /usr/include/glib-2.0/glib/gstring.h \ - /usr/include/glib-2.0/glib/gunicode.h \ - /usr/include/glib-2.0/glib/gutils.h \ - /usr/include/glib-2.0/glib/gkeyfile.h \ - /usr/include/glib-2.0/glib/gmappedfile.h \ - /usr/include/glib-2.0/glib/gmarkup.h \ - /usr/include/glib-2.0/glib/gmessages.h \ - /usr/include/glib-2.0/glib/goption.h \ - /usr/include/glib-2.0/glib/gpattern.h \ - /usr/include/glib-2.0/glib/gprimes.h /usr/include/glib-2.0/glib/gqsort.h \ - /usr/include/glib-2.0/glib/gqueue.h /usr/include/glib-2.0/glib/grand.h \ - /usr/include/glib-2.0/glib/gregex.h \ - /usr/include/glib-2.0/glib/gscanner.h \ - /usr/include/glib-2.0/glib/gsequence.h \ - /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gslice.h \ - /usr/include/glib-2.0/glib/gspawn.h \ - /usr/include/glib-2.0/glib/gstrfuncs.h \ - /usr/include/glib-2.0/glib/gstringchunk.h \ - /usr/include/glib-2.0/glib/gtestutils.h \ - /usr/include/glib-2.0/glib/gthreadpool.h \ - /usr/include/glib-2.0/glib/gtimer.h \ - /usr/include/glib-2.0/glib/gtrashstack.h \ - /usr/include/glib-2.0/glib/gtree.h \ - /usr/include/glib-2.0/glib/gurifuncs.h \ - /usr/include/glib-2.0/glib/gvarianttype.h \ - /usr/include/glib-2.0/glib/gvariant.h \ - /usr/include/glib-2.0/glib/gversion.h \ - /usr/include/glib-2.0/glib/deprecated/gallocator.h \ - /usr/include/glib-2.0/glib/deprecated/gcache.h \ - /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ - /usr/include/glib-2.0/glib/deprecated/gmain.h \ - /usr/include/glib-2.0/glib/deprecated/grel.h \ - /usr/include/glib-2.0/glib/deprecated/gthread.h /usr/include/pthread.h \ - /usr/include/sched.h /usr/include/arm-linux-gnueabihf/bits/sched.h \ - /usr/include/arm-linux-gnueabihf/bits/setjmp.h gdbus/gdbus.h \ - /usr/include/dbus-1.0/dbus/dbus.h \ - /usr/lib/arm-linux-gnueabihf/dbus-1.0/include/dbus/dbus-arch-deps.h \ - /usr/include/dbus-1.0/dbus/dbus-macros.h \ - /usr/include/dbus-1.0/dbus/dbus-address.h \ - /usr/include/dbus-1.0/dbus/dbus-types.h \ - /usr/include/dbus-1.0/dbus/dbus-errors.h \ - /usr/include/dbus-1.0/dbus/dbus-protocol.h \ - /usr/include/dbus-1.0/dbus/dbus-bus.h \ - /usr/include/dbus-1.0/dbus/dbus-connection.h \ - /usr/include/dbus-1.0/dbus/dbus-memory.h \ - /usr/include/dbus-1.0/dbus/dbus-message.h \ - /usr/include/dbus-1.0/dbus/dbus-shared.h \ - /usr/include/dbus-1.0/dbus/dbus-misc.h \ - /usr/include/dbus-1.0/dbus/dbus-pending-call.h \ - /usr/include/dbus-1.0/dbus/dbus-server.h \ - /usr/include/dbus-1.0/dbus/dbus-signature.h \ - /usr/include/dbus-1.0/dbus/dbus-syntax.h \ - /usr/include/dbus-1.0/dbus/dbus-threads.h obexd/plugins/vcard.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/include/string.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/include/xlocale.h: - -/usr/include/arm-linux-gnueabihf/bits/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string2.h: - -/usr/include/stdlib.h: - -/usr/include/stdio.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/sys_errlist.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio.h: - -/usr/include/arm-linux-gnueabihf/bits/waitflags.h: - -/usr/include/arm-linux-gnueabihf/bits/waitstatus.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/time.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/alloca.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-float.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/arm-linux-gnueabihf/bits/wchar.h: - -/usr/include/ctype.h: - -/usr/include/errno.h: - -/usr/include/arm-linux-gnueabihf/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/arm-linux-gnueabihf/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/include/glib-2.0/glib.h: - -/usr/include/glib-2.0/glib/galloca.h: - -/usr/include/glib-2.0/glib/gtypes.h: - -/usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h: - -/usr/include/glib-2.0/glib/gmacros.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h: - -/usr/include/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/local_lim.h: - -/usr/include/linux/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix2_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/xopen_lim.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h: - -/usr/include/glib-2.0/glib/gversionmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/timex.h: - -/usr/include/glib-2.0/glib/garray.h: - -/usr/include/glib-2.0/glib/gasyncqueue.h: - -/usr/include/glib-2.0/glib/gthread.h: - -/usr/include/glib-2.0/glib/gatomic.h: - -/usr/include/glib-2.0/glib/gerror.h: - -/usr/include/glib-2.0/glib/gquark.h: - -/usr/include/glib-2.0/glib/gbacktrace.h: - -/usr/include/signal.h: - -/usr/include/arm-linux-gnueabihf/bits/signum.h: - -/usr/include/arm-linux-gnueabihf/bits/siginfo.h: - -/usr/include/arm-linux-gnueabihf/bits/sigaction.h: - -/usr/include/arm-linux-gnueabihf/bits/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/asm/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigstack.h: - -/usr/include/arm-linux-gnueabihf/sys/ucontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigthread.h: - -/usr/include/glib-2.0/glib/gbase64.h: - -/usr/include/glib-2.0/glib/gbitlock.h: - -/usr/include/glib-2.0/glib/gbookmarkfile.h: - -/usr/include/glib-2.0/glib/gbytes.h: - -/usr/include/glib-2.0/glib/gcharset.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/gconvert.h: - -/usr/include/glib-2.0/glib/gdataset.h: - -/usr/include/glib-2.0/glib/gdate.h: - -/usr/include/glib-2.0/glib/gdatetime.h: - -/usr/include/glib-2.0/glib/gtimezone.h: - -/usr/include/glib-2.0/glib/gdir.h: - -/usr/include/dirent.h: - -/usr/include/arm-linux-gnueabihf/bits/dirent.h: - -/usr/include/glib-2.0/glib/genviron.h: - -/usr/include/glib-2.0/glib/gfileutils.h: - -/usr/include/glib-2.0/glib/ggettext.h: - -/usr/include/glib-2.0/glib/ghash.h: - -/usr/include/glib-2.0/glib/glist.h: - -/usr/include/glib-2.0/glib/gmem.h: - -/usr/include/glib-2.0/glib/gnode.h: - -/usr/include/glib-2.0/glib/ghmac.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/ghook.h: - -/usr/include/glib-2.0/glib/ghostutils.h: - -/usr/include/glib-2.0/glib/giochannel.h: - -/usr/include/glib-2.0/glib/gmain.h: - -/usr/include/glib-2.0/glib/gpoll.h: - -/usr/include/glib-2.0/glib/gslist.h: - -/usr/include/glib-2.0/glib/gstring.h: - -/usr/include/glib-2.0/glib/gunicode.h: - -/usr/include/glib-2.0/glib/gutils.h: - -/usr/include/glib-2.0/glib/gkeyfile.h: - -/usr/include/glib-2.0/glib/gmappedfile.h: - -/usr/include/glib-2.0/glib/gmarkup.h: - -/usr/include/glib-2.0/glib/gmessages.h: - -/usr/include/glib-2.0/glib/goption.h: - -/usr/include/glib-2.0/glib/gpattern.h: - -/usr/include/glib-2.0/glib/gprimes.h: - -/usr/include/glib-2.0/glib/gqsort.h: - -/usr/include/glib-2.0/glib/gqueue.h: - -/usr/include/glib-2.0/glib/grand.h: - -/usr/include/glib-2.0/glib/gregex.h: - -/usr/include/glib-2.0/glib/gscanner.h: - -/usr/include/glib-2.0/glib/gsequence.h: - -/usr/include/glib-2.0/glib/gshell.h: - -/usr/include/glib-2.0/glib/gslice.h: - -/usr/include/glib-2.0/glib/gspawn.h: - -/usr/include/glib-2.0/glib/gstrfuncs.h: - -/usr/include/glib-2.0/glib/gstringchunk.h: - -/usr/include/glib-2.0/glib/gtestutils.h: - -/usr/include/glib-2.0/glib/gthreadpool.h: - -/usr/include/glib-2.0/glib/gtimer.h: - -/usr/include/glib-2.0/glib/gtrashstack.h: - -/usr/include/glib-2.0/glib/gtree.h: - -/usr/include/glib-2.0/glib/gurifuncs.h: - -/usr/include/glib-2.0/glib/gvarianttype.h: - -/usr/include/glib-2.0/glib/gvariant.h: - -/usr/include/glib-2.0/glib/gversion.h: - -/usr/include/glib-2.0/glib/deprecated/gallocator.h: - -/usr/include/glib-2.0/glib/deprecated/gcache.h: - -/usr/include/glib-2.0/glib/deprecated/gcompletion.h: - -/usr/include/glib-2.0/glib/deprecated/gmain.h: - -/usr/include/glib-2.0/glib/deprecated/grel.h: - -/usr/include/glib-2.0/glib/deprecated/gthread.h: - -/usr/include/pthread.h: - -/usr/include/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/setjmp.h: - -gdbus/gdbus.h: - -/usr/include/dbus-1.0/dbus/dbus.h: - -/usr/lib/arm-linux-gnueabihf/dbus-1.0/include/dbus/dbus-arch-deps.h: - -/usr/include/dbus-1.0/dbus/dbus-macros.h: - -/usr/include/dbus-1.0/dbus/dbus-address.h: - -/usr/include/dbus-1.0/dbus/dbus-types.h: - -/usr/include/dbus-1.0/dbus/dbus-errors.h: - -/usr/include/dbus-1.0/dbus/dbus-protocol.h: - -/usr/include/dbus-1.0/dbus/dbus-bus.h: - -/usr/include/dbus-1.0/dbus/dbus-connection.h: - -/usr/include/dbus-1.0/dbus/dbus-memory.h: - -/usr/include/dbus-1.0/dbus/dbus-message.h: - -/usr/include/dbus-1.0/dbus/dbus-shared.h: - -/usr/include/dbus-1.0/dbus/dbus-misc.h: - -/usr/include/dbus-1.0/dbus/dbus-pending-call.h: - -/usr/include/dbus-1.0/dbus/dbus-server.h: - -/usr/include/dbus-1.0/dbus/dbus-signature.h: - -/usr/include/dbus-1.0/dbus/dbus-syntax.h: - -/usr/include/dbus-1.0/dbus/dbus-threads.h: - -obexd/plugins/vcard.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/obexd/plugins/.dirstamp b/GRIB_BLE_HUB/libs/ble_extend/obexd/plugins/.dirstamp deleted file mode 100644 index e69de29..0000000 diff --git a/GRIB_BLE_HUB/libs/ble_extend/obexd/plugins/bluetooth.c b/GRIB_BLE_HUB/libs/ble_extend/obexd/plugins/bluetooth.c deleted file mode 100644 index b9e9c91..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/obexd/plugins/bluetooth.c +++ /dev/null @@ -1,467 +0,0 @@ -/* - * - * OBEX Server - * - * Copyright (C) 2007-2010 Nokia Corporation - * Copyright (C) 2007-2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include -#include -#include -#include - -#include -#include -#include - -#include "lib/uuid.h" - -#include "obexd.h" -#include "plugin.h" -#include "server.h" -#include "obex.h" -#include "transport.h" -#include "service.h" -#include "log.h" - -#define BT_RX_MTU 32767 -#define BT_TX_MTU 32767 - -struct bluetooth_profile { - struct obex_server *server; - struct obex_service_driver *driver; - char *uuid; - char *path; -}; - -static GSList *profiles = NULL; - -static DBusConnection *connection = NULL; - -static DBusMessage *profile_release(DBusConnection *conn, DBusMessage *msg, - void *data) -{ - return g_dbus_create_reply(msg, DBUS_TYPE_INVALID); -} - -static void connect_event(GIOChannel *io, GError *err, void *user_data) -{ - int sk = g_io_channel_unix_get_fd(io); - struct bluetooth_profile *profile = user_data; - struct obex_server *server = profile->server; - int type; - int omtu = BT_TX_MTU; - int imtu = BT_RX_MTU; - gboolean stream = TRUE; - socklen_t len = sizeof(int); - - if (err) - goto drop; - - if (getsockopt(sk, SOL_SOCKET, SO_TYPE, &type, &len) < 0) - goto done; - - if (type != SOCK_SEQPACKET) - goto done; - - stream = FALSE; - - /* Read MTU if io is an L2CAP socket */ - bt_io_get(io, NULL, BT_IO_OPT_OMTU, &omtu, BT_IO_OPT_IMTU, &imtu, - BT_IO_OPT_INVALID); - -done: - if (obex_server_new_connection(server, io, omtu, imtu, stream) < 0) - g_io_channel_shutdown(io, TRUE, NULL); - - return; - -drop: - error("%s", err->message); - g_io_channel_shutdown(io, TRUE, NULL); - return; -} - -static DBusMessage *invalid_args(DBusMessage *msg) -{ - return g_dbus_create_error(msg, "org.bluez.Error.InvalidArguments", - "Invalid arguments in method call"); -} - -static DBusMessage *profile_new_connection(DBusConnection *conn, - DBusMessage *msg, void *data) -{ - DBusMessageIter args; - const char *device; - int fd; - GIOChannel *io; - - dbus_message_iter_init(msg, &args); - - if (dbus_message_iter_get_arg_type(&args) != DBUS_TYPE_OBJECT_PATH) - return invalid_args(msg); - - dbus_message_iter_get_basic(&args, &device); - - dbus_message_iter_next(&args); - - if (dbus_message_iter_get_arg_type(&args) != DBUS_TYPE_UNIX_FD) - return invalid_args(msg); - - dbus_message_iter_get_basic(&args, &fd); - - io = g_io_channel_unix_new(fd); - if (io == NULL) - return invalid_args(msg); - - DBG("device %s", device); - - connect_event(io, NULL, data); - - return g_dbus_create_reply(msg, DBUS_TYPE_INVALID); -} - -static DBusMessage *profile_request_disconnection(DBusConnection *conn, - DBusMessage *msg, void *data) -{ - return g_dbus_create_reply(msg, DBUS_TYPE_INVALID); -} - -static DBusMessage *profile_cancel(DBusConnection *conn, - DBusMessage *msg, void *data) -{ - return g_dbus_create_reply(msg, DBUS_TYPE_INVALID); -} - -static const GDBusMethodTable profile_methods[] = { - { GDBUS_METHOD("Release", - NULL, NULL, - profile_release) }, - { GDBUS_METHOD("NewConnection", - GDBUS_ARGS({ "device", "o" }, { "fd", "h" }, - { "options", "a{sv}" }), NULL, - profile_new_connection) }, - { GDBUS_METHOD("RequestDisconnection", - GDBUS_ARGS({ "device", "o" }), NULL, - profile_request_disconnection) }, - { GDBUS_METHOD("Cancel", - NULL, NULL, - profile_cancel) }, - { } -}; - -static void register_profile_reply(DBusPendingCall *call, void *user_data) -{ - struct bluetooth_profile *profile = user_data; - DBusMessage *reply = dbus_pending_call_steal_reply(call); - DBusError derr; - GError *err = NULL; - - dbus_error_init(&derr); - if (!dbus_set_error_from_message(&derr, reply)) { - DBG("Profile %s registered", profile->path); - goto done; - } - - g_free(profile->path); - profile->path = NULL; - - error("bluetooth: RequestProfile error: %s, %s", derr.name, - derr.message); - dbus_error_free(&derr); -done: - dbus_message_unref(reply); -} - -static void unregister_profile(struct bluetooth_profile *profile) -{ - g_dbus_unregister_interface(connection, profile->path, - "org.bluez.Profile1"); - g_free(profile->path); - profile->path = NULL; -} - -static void profile_free(void *data) -{ - struct bluetooth_profile *profile = data; - - if (profile->path != NULL) - unregister_profile(profile); - - g_free(profile->uuid); - g_free(profile); -} - -static void append_variant(DBusMessageIter *iter, int type, void *val) -{ - DBusMessageIter value; - char sig[2] = { type, '\0' }; - - dbus_message_iter_open_container(iter, DBUS_TYPE_VARIANT, sig, &value); - - dbus_message_iter_append_basic(&value, type, val); - - dbus_message_iter_close_container(iter, &value); -} - - -void dict_append_entry(DBusMessageIter *dict, - const char *key, int type, void *val) -{ - DBusMessageIter entry; - - if (type == DBUS_TYPE_STRING) { - const char *str = *((const char **) val); - if (str == NULL) - return; - } - - dbus_message_iter_open_container(dict, DBUS_TYPE_DICT_ENTRY, - NULL, &entry); - - dbus_message_iter_append_basic(&entry, DBUS_TYPE_STRING, &key); - - append_variant(&entry, type, val); - - dbus_message_iter_close_container(dict, &entry); -} - -static int register_profile(struct bluetooth_profile *profile) -{ - DBusMessage *msg; - DBusMessageIter iter, opt; - DBusPendingCall *call; - dbus_bool_t auto_connect = FALSE; - char *xml; - int ret = 0; - - profile->path = g_strconcat("/org/bluez/obex/", profile->uuid, NULL); - g_strdelimit(profile->path, "-", '_'); - - if (!g_dbus_register_interface(connection, profile->path, - "org.bluez.Profile1", profile_methods, - NULL, NULL, - profile, NULL)) { - error("D-Bus failed to register %s", profile->path); - g_free(profile->path); - profile->path = NULL; - return -1; - } - - msg = dbus_message_new_method_call("org.bluez", "/org/bluez", - "org.bluez.ProfileManager1", - "RegisterProfile"); - - dbus_message_iter_init_append(msg, &iter); - - dbus_message_iter_append_basic(&iter, DBUS_TYPE_OBJECT_PATH, - &profile->path); - dbus_message_iter_append_basic(&iter, DBUS_TYPE_STRING, - &profile->uuid); - dbus_message_iter_open_container(&iter, DBUS_TYPE_ARRAY, - DBUS_DICT_ENTRY_BEGIN_CHAR_AS_STRING - DBUS_TYPE_STRING_AS_STRING - DBUS_TYPE_VARIANT_AS_STRING - DBUS_DICT_ENTRY_END_CHAR_AS_STRING, - &opt); - dict_append_entry(&opt, "AutoConnect", DBUS_TYPE_BOOLEAN, - &auto_connect); - if (profile->driver->record) { - if (profile->driver->port != 0) - xml = g_markup_printf_escaped(profile->driver->record, - profile->driver->channel, - profile->driver->name, - profile->driver->port); - else - xml = g_markup_printf_escaped(profile->driver->record, - profile->driver->channel, - profile->driver->name); - dict_append_entry(&opt, "ServiceRecord", DBUS_TYPE_STRING, - &xml); - g_free(xml); - } - dbus_message_iter_close_container(&iter, &opt); - - if (!dbus_connection_send_with_reply(connection, msg, &call, -1)) { - ret = -1; - unregister_profile(profile); - goto failed; - } - - dbus_pending_call_set_notify(call, register_profile_reply, profile, - NULL); - dbus_pending_call_unref(call); - -failed: - dbus_message_unref(msg); - return ret; -} - -static const char *service2uuid(uint16_t service) -{ - switch (service) { - case OBEX_OPP: - return OBEX_OPP_UUID; - case OBEX_FTP: - return OBEX_FTP_UUID; - case OBEX_PBAP: - return OBEX_PSE_UUID; - case OBEX_IRMC: - return OBEX_SYNC_UUID; - case OBEX_PCSUITE: - return "00005005-0000-1000-8000-0002ee000001"; - case OBEX_SYNCEVOLUTION: - return "00000002-0000-1000-8000-0002ee000002"; - case OBEX_MAS: - return OBEX_MAS_UUID; - case OBEX_MNS: - return OBEX_MNS_UUID; - } - - return NULL; -} - -static void name_acquired(DBusConnection *conn, void *user_data) -{ - GSList *l; - - DBG("org.bluez appeared"); - - for (l = profiles; l; l = l->next) { - struct bluetooth_profile *profile = l->data; - const char *uuid; - - if (profile->path != NULL) - continue; - - if (register_profile(profile) < 0) { - error("bluetooth: Failed to register profile %s", - profile->path); - g_free(profile->path); - profile->path = NULL; - } - } -} - -static void name_released(DBusConnection *conn, void *user_data) -{ - GSList *l; - - DBG("org.bluez disappered"); - - for (l = profiles; l; l = l->next) { - struct bluetooth_profile *profile = l->data; - const char *uuid; - - if (profile->path == NULL) - continue; - - unregister_profile(profile); - } -} - -static void *bluetooth_start(struct obex_server *server, int *err) -{ - GSList *ios = NULL; - const GSList *l; - - for (l = server->drivers; l; l = l->next) { - struct obex_service_driver *driver = l->data; - struct bluetooth_profile *profile; - const char *uuid; - - uuid = service2uuid(driver->service); - if (uuid == NULL) - continue; - - profile = g_new0(struct bluetooth_profile, 1); - profile->driver = driver; - profile->server = server; - profile->uuid = g_strdup(uuid); - - profiles = g_slist_prepend(profiles, profile); - } - - return profiles; -} - -static void bluetooth_stop(void *data) -{ - g_slist_free_full(profiles, profile_free); - profiles = NULL; -} - -static int bluetooth_getpeername(GIOChannel *io, char **name) -{ - GError *gerr = NULL; - char address[18]; - - bt_io_get(io, &gerr, BT_IO_OPT_DEST, address, BT_IO_OPT_INVALID); - - if (gerr) { - error("%s", gerr->message); - g_error_free(gerr); - return -EINVAL; - } - - *name = g_strdup(address); - - return 0; -} - -static struct obex_transport_driver driver = { - .name = "bluetooth", - .start = bluetooth_start, - .getpeername = bluetooth_getpeername, - .stop = bluetooth_stop -}; - -static unsigned int listener_id = 0; - -static int bluetooth_init(void) -{ - connection = g_dbus_setup_private(DBUS_BUS_SYSTEM, NULL, NULL); - if (connection == NULL) - return -EPERM; - - listener_id = g_dbus_add_service_watch(connection, "org.bluez", - name_acquired, name_released, NULL, NULL); - - return obex_transport_driver_register(&driver); -} - -static void bluetooth_exit(void) -{ - g_dbus_remove_watch(connection, listener_id); - - g_slist_free_full(profiles, profile_free); - - if (connection) - dbus_connection_unref(connection); - - obex_transport_driver_unregister(&driver); -} - -OBEX_PLUGIN_DEFINE(bluetooth, bluetooth_init, bluetooth_exit) diff --git a/GRIB_BLE_HUB/libs/ble_extend/obexd/plugins/filesystem.c b/GRIB_BLE_HUB/libs/ble_extend/obexd/plugins/filesystem.c deleted file mode 100644 index 1132a34..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/obexd/plugins/filesystem.c +++ /dev/null @@ -1,722 +0,0 @@ -/* - * - * OBEX Server - * - * Copyright (C) 2009-2010 Intel Corporation - * Copyright (C) 2007-2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include - -#include "obexd.h" -#include "plugin.h" -#include "log.h" -#include "mimetype.h" -#include "filesystem.h" - -#define EOL_CHARS "\n" - -#define FL_VERSION "" EOL_CHARS - -#define FL_TYPE "" EOL_CHARS - -#define FL_TYPE_PCSUITE " ]>" EOL_CHARS - -#define FL_BODY_BEGIN "" EOL_CHARS - -#define FL_BODY_END "" EOL_CHARS - -#define FL_PARENT_FOLDER_ELEMENT "" EOL_CHARS - -#define FL_FILE_ELEMENT "" EOL_CHARS - -#define FL_FOLDER_ELEMENT "" EOL_CHARS - -#define FL_FOLDER_ELEMENT_PCSUITE "" EOL_CHARS - -#define FTP_TARGET_SIZE 16 - -static const uint8_t FTP_TARGET[FTP_TARGET_SIZE] = { - 0xF9, 0xEC, 0x7B, 0xC4, 0x95, 0x3C, 0x11, 0xD2, - 0x98, 0x4E, 0x52, 0x54, 0x00, 0xDC, 0x9E, 0x09 }; - -#define PCSUITE_WHO_SIZE 8 - -static const uint8_t PCSUITE_WHO[PCSUITE_WHO_SIZE] = { - 'P', 'C', ' ', 'S', 'u', 'i', 't', 'e' }; - -gboolean is_filename(const char *name) -{ - if (strchr(name, '/')) - return FALSE; - - if (strcmp(name, ".") == 0) - return FALSE; - - if (strcmp(name, "..") == 0) - return FALSE; - - return TRUE; -} - -int verify_path(const char *path) -{ - char *t; - int ret = 0; - - if (obex_option_symlinks()) - return 0; - - t = realpath(path, NULL); - if (t == NULL) - return -errno; - - if (!g_str_has_prefix(t, obex_option_root_folder())) - ret = -EPERM; - - free(t); - - return ret; -} - -static char *file_stat_line(char *filename, struct stat *fstat, - struct stat *dstat, gboolean root, - gboolean pcsuite) -{ - char perm[51], atime[18], ctime[18], mtime[18]; - char *escaped, *ret = NULL; - - snprintf(perm, 50, "user-perm=\"%s%s%s\" group-perm=\"%s%s%s\" " - "other-perm=\"%s%s%s\"", - (fstat->st_mode & S_IRUSR ? "R" : ""), - (fstat->st_mode & S_IWUSR ? "W" : ""), - (dstat->st_mode & S_IWUSR ? "D" : ""), - (fstat->st_mode & S_IRGRP ? "R" : ""), - (fstat->st_mode & S_IWGRP ? "W" : ""), - (dstat->st_mode & S_IWGRP ? "D" : ""), - (fstat->st_mode & S_IROTH ? "R" : ""), - (fstat->st_mode & S_IWOTH ? "W" : ""), - (dstat->st_mode & S_IWOTH ? "D" : "")); - - strftime(atime, 17, "%Y%m%dT%H%M%SZ", gmtime(&fstat->st_atime)); - strftime(ctime, 17, "%Y%m%dT%H%M%SZ", gmtime(&fstat->st_ctime)); - strftime(mtime, 17, "%Y%m%dT%H%M%SZ", gmtime(&fstat->st_mtime)); - - escaped = g_markup_escape_text(filename, -1); - - if (S_ISDIR(fstat->st_mode)) { - if (pcsuite && root && g_str_equal(filename, "Data")) - ret = g_strdup_printf(FL_FOLDER_ELEMENT_PCSUITE, - escaped, perm, atime, - mtime, ctime); - else - ret = g_strdup_printf(FL_FOLDER_ELEMENT, escaped, perm, - atime, mtime, ctime); - } else if (S_ISREG(fstat->st_mode)) - ret = g_strdup_printf(FL_FILE_ELEMENT, escaped, - (uint64_t) fstat->st_size, - perm, atime, mtime, ctime); - - g_free(escaped); - - return ret; -} - -static void *filesystem_open(const char *name, int oflag, mode_t mode, - void *context, size_t *size, int *err) -{ - struct stat stats; - struct statvfs buf; - int fd, ret; - uint64_t avail; - - fd = open(name, oflag, mode); - if (fd < 0) { - if (err) - *err = -errno; - return NULL; - } - - if (fstat(fd, &stats) < 0) { - if (err) - *err = -errno; - goto failed; - } - - ret = verify_path(name); - if (ret < 0) { - if (err) - *err = ret; - goto failed; - } - - if (oflag == O_RDONLY) { - if (size) - *size = stats.st_size; - goto done; - } - - if (fstatvfs(fd, &buf) < 0) { - if (err) - *err = -errno; - goto failed; - } - - if (size == NULL) - goto done; - - avail = (uint64_t) buf.f_bsize * buf.f_bavail; - if (avail < *size) { - if (err) - *err = -ENOSPC; - goto failed; - } - -done: - if (err) - *err = 0; - - return GINT_TO_POINTER(fd); - -failed: - close(fd); - return NULL; -} - -static int filesystem_close(void *object) -{ - if (close(GPOINTER_TO_INT(object)) < 0) - return -errno; - - return 0; -} - -static ssize_t filesystem_read(void *object, void *buf, size_t count) -{ - ssize_t ret; - - ret = read(GPOINTER_TO_INT(object), buf, count); - if (ret < 0) - return -errno; - - return ret; -} - -static ssize_t filesystem_write(void *object, const void *buf, size_t count) -{ - ssize_t ret; - - ret = write(GPOINTER_TO_INT(object), buf, count); - if (ret < 0) - return -errno; - - return ret; -} - -static int filesystem_rename(const char *name, const char *destname) -{ - int ret; - - ret = rename(name, destname); - if (ret < 0) { - error("rename(%s, %s): %s (%d)", name, destname, - strerror(errno), errno); - return -errno; - } - - return ret; -} - -static int sendfile_async(int out_fd, int in_fd, off_t *offset, size_t count) -{ - int pid; - - /* Run sendfile on child process */ - pid = fork(); - switch (pid) { - case 0: - break; - case -1: - error("fork() %s (%d)", strerror(errno), errno); - return -errno; - default: - DBG("child %d forked", pid); - return pid; - } - - /* At child */ - if (sendfile(out_fd, in_fd, offset, count) < 0) - error("sendfile(): %s (%d)", strerror(errno), errno); - - close(in_fd); - close(out_fd); - - exit(errno); -} - -static int filesystem_copy(const char *name, const char *destname) -{ - void *in, *out; - ssize_t ret; - size_t size; - struct stat st; - int in_fd, out_fd, err; - - in = filesystem_open(name, O_RDONLY, 0, NULL, &size, &err); - if (in == NULL) { - error("open(%s): %s (%d)", name, strerror(-err), -err); - return -err; - } - - in_fd = GPOINTER_TO_INT(in); - ret = fstat(in_fd, &st); - if (ret < 0) { - error("stat(%s): %s (%d)", name, strerror(errno), errno); - return -errno; - } - - out = filesystem_open(destname, O_WRONLY | O_CREAT | O_TRUNC, - st.st_mode, NULL, &size, &err); - if (out == NULL) { - error("open(%s): %s (%d)", destname, strerror(-err), -err); - filesystem_close(in); - return -errno; - } - - out_fd = GPOINTER_TO_INT(out); - - /* Check if sendfile is supported */ - ret = sendfile(out_fd, in_fd, NULL, 0); - if (ret < 0) { - ret = -errno; - error("sendfile: %s (%zd)", strerror(-ret), -ret); - goto done; - } - - ret = sendfile_async(out_fd, in_fd, NULL, st.st_size); - if (ret < 0) - goto done; - - return 0; - -done: - filesystem_close(in); - filesystem_close(out); - - return ret; -} - -struct capability_object { - int pid; - int output; - int err; - gboolean aborted; - GString *buffer; -}; - -static void script_exited(GPid pid, int status, void *data) -{ - struct capability_object *object = data; - char buf[128]; - - object->pid = -1; - - DBG("pid: %d status: %d", pid, status); - - g_spawn_close_pid(pid); - - /* free the object if aborted */ - if (object->aborted) { - if (object->buffer != NULL) - g_string_free(object->buffer, TRUE); - - g_free(object); - return; - } - - if (WEXITSTATUS(status) != EXIT_SUCCESS) { - memset(buf, 0, sizeof(buf)); - if (read(object->err, buf, sizeof(buf)) > 0) - error("%s", buf); - obex_object_set_io_flags(data, G_IO_ERR, -EPERM); - } else - obex_object_set_io_flags(data, G_IO_IN, 0); -} - -static int capability_exec(const char **argv, int *output, int *err) -{ - GError *gerr = NULL; - int pid; - GSpawnFlags flags = G_SPAWN_DO_NOT_REAP_CHILD | G_SPAWN_SEARCH_PATH; - - if (!g_spawn_async_with_pipes(NULL, (char **) argv, NULL, flags, NULL, - NULL, &pid, NULL, output, err, &gerr)) { - error("%s", gerr->message); - g_error_free(gerr); - return -EPERM; - } - - DBG("executing %s pid %d", argv[0], pid); - - return pid; -} - -static void *capability_open(const char *name, int oflag, mode_t mode, - void *context, size_t *size, int *err) -{ - struct capability_object *object = NULL; - char *buf; - const char *argv[2]; - - if (oflag != O_RDONLY) - goto fail; - - object = g_new0(struct capability_object, 1); - object->pid = -1; - object->output = -1; - object->err = -1; - - if (name[0] != '!') { - GError *gerr = NULL; - gboolean ret; - - ret = g_file_get_contents(name, &buf, NULL, &gerr); - if (ret == FALSE) { - error("%s", gerr->message); - g_error_free(gerr); - goto fail; - } - - object->buffer = g_string_new(buf); - - if (size) - *size = object->buffer->len; - - goto done; - } - - argv[0] = &name[1]; - argv[1] = NULL; - - object->pid = capability_exec(argv, &object->output, &object->err); - if (object->pid < 0) - goto fail; - - /* Watch cannot be removed while the process is still running */ - g_child_watch_add(object->pid, script_exited, object); - -done: - if (err) - *err = 0; - - return object; - -fail: - if (err) - *err = -EPERM; - - g_free(object); - return NULL; -} - -static GString *append_pcsuite_preamble(GString *object) -{ - return g_string_append(object, FL_TYPE_PCSUITE); -} - -static GString *append_folder_preamble(GString *object) -{ - return g_string_append(object, FL_TYPE); -} - -static GString *append_listing(GString *object, const char *name, - gboolean pcsuite, size_t *size, int *err) -{ - struct stat fstat, dstat; - struct dirent *ep; - DIR *dp; - gboolean root; - int ret; - - root = g_str_equal(name, obex_option_root_folder()); - - dp = opendir(name); - if (dp == NULL) { - if (err) - *err = -ENOENT; - goto failed; - } - - if (!root) - object = g_string_append(object, FL_PARENT_FOLDER_ELEMENT); - - ret = verify_path(name); - if (ret < 0) { - *err = ret; - goto failed; - } - - ret = stat(name, &dstat); - if (ret < 0) { - if (err) - *err = -errno; - goto failed; - } - - while ((ep = readdir(dp))) { - char *filename; - char *fullname; - char *line; - - if (ep->d_name[0] == '.') - continue; - - filename = g_filename_to_utf8(ep->d_name, -1, NULL, NULL, NULL); - if (filename == NULL) { - error("g_filename_to_utf8: invalid filename"); - continue; - } - - fullname = g_build_filename(name, ep->d_name, NULL); - - ret = stat(fullname, &fstat); - if (ret < 0) { - DBG("stat: %s(%d)", strerror(errno), errno); - g_free(filename); - g_free(fullname); - continue; - } - - g_free(fullname); - - line = file_stat_line(filename, &fstat, &dstat, root, FALSE); - if (line == NULL) { - g_free(filename); - continue; - } - - g_free(filename); - - object = g_string_append(object, line); - g_free(line); - } - - closedir(dp); - - object = g_string_append(object, FL_BODY_END); - if (size) - *size = object->len; - - if (err) - *err = 0; - - return object; - -failed: - if (dp) - closedir(dp); - - g_string_free(object, TRUE); - return NULL; -} - -static void *folder_open(const char *name, int oflag, mode_t mode, - void *context, size_t *size, int *err) -{ - GString *object; - - object = g_string_new(FL_VERSION); - object = append_folder_preamble(object); - object = g_string_append(object, FL_BODY_BEGIN); - - return append_listing(object, name, FALSE, size, err); -} - -static void *pcsuite_open(const char *name, int oflag, mode_t mode, - void *context, size_t *size, int *err) -{ - GString *object; - - object = g_string_new(FL_VERSION); - object = append_pcsuite_preamble(object); - object = g_string_append(object, FL_BODY_BEGIN); - - return append_listing(object, name, TRUE, size, err); -} - -static int string_free(void *object) -{ - GString *string = object; - - g_string_free(string, TRUE); - - return 0; -} - -ssize_t string_read(void *object, void *buf, size_t count) -{ - GString *string = object; - ssize_t len; - - if (string->len == 0) - return 0; - - len = MIN(string->len, count); - memcpy(buf, string->str, len); - g_string_erase(string, 0, len); - - return len; -} - -static ssize_t folder_read(void *object, void *buf, size_t count) -{ - return string_read(object, buf, count); -} - -static ssize_t capability_read(void *object, void *buf, size_t count) -{ - struct capability_object *obj = object; - - if (obj->buffer) - return string_read(obj->buffer, buf, count); - - if (obj->pid >= 0) - return -EAGAIN; - - return read(obj->output, buf, count); -} - -static int capability_close(void *object) -{ - struct capability_object *obj = object; - int err = 0; - - if (obj->pid < 0) - goto done; - - DBG("kill: pid %d", obj->pid); - err = kill(obj->pid, SIGTERM); - if (err < 0) { - err = -errno; - error("kill: %s (%d)", strerror(-err), -err); - goto done; - } - - obj->aborted = TRUE; - return 0; - -done: - if (obj->buffer != NULL) - g_string_free(obj->buffer, TRUE); - - g_free(obj); - - return err; -} - -static struct obex_mime_type_driver file = { - .open = filesystem_open, - .close = filesystem_close, - .read = filesystem_read, - .write = filesystem_write, - .remove = remove, - .move = filesystem_rename, - .copy = filesystem_copy, -}; - -static struct obex_mime_type_driver capability = { - .target = FTP_TARGET, - .target_size = FTP_TARGET_SIZE, - .mimetype = "x-obex/capability", - .open = capability_open, - .close = capability_close, - .read = capability_read, -}; - -static struct obex_mime_type_driver folder = { - .target = FTP_TARGET, - .target_size = FTP_TARGET_SIZE, - .mimetype = "x-obex/folder-listing", - .open = folder_open, - .close = string_free, - .read = folder_read, -}; - -static struct obex_mime_type_driver pcsuite = { - .target = FTP_TARGET, - .target_size = FTP_TARGET_SIZE, - .who = PCSUITE_WHO, - .who_size = PCSUITE_WHO_SIZE, - .mimetype = "x-obex/folder-listing", - .open = pcsuite_open, - .close = string_free, - .read = folder_read, -}; - -static int filesystem_init(void) -{ - int err; - - err = obex_mime_type_driver_register(&folder); - if (err < 0) - return err; - - err = obex_mime_type_driver_register(&capability); - if (err < 0) - return err; - - err = obex_mime_type_driver_register(&pcsuite); - if (err < 0) - return err; - - return obex_mime_type_driver_register(&file); -} - -static void filesystem_exit(void) -{ - obex_mime_type_driver_unregister(&folder); - obex_mime_type_driver_unregister(&capability); - obex_mime_type_driver_unregister(&file); -} - -OBEX_PLUGIN_DEFINE(filesystem, filesystem_init, filesystem_exit) diff --git a/GRIB_BLE_HUB/libs/ble_extend/obexd/plugins/filesystem.h b/GRIB_BLE_HUB/libs/ble_extend/obexd/plugins/filesystem.h deleted file mode 100644 index f95773b..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/obexd/plugins/filesystem.h +++ /dev/null @@ -1,26 +0,0 @@ -/* - * - * OBEX Server - * - * Copyright (C) 2007-2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -ssize_t string_read(void *object, void *buf, size_t count); -gboolean is_filename(const char *name); -int verify_path(const char *path); diff --git a/GRIB_BLE_HUB/libs/ble_extend/obexd/plugins/ftp.c b/GRIB_BLE_HUB/libs/ble_extend/obexd/plugins/ftp.c deleted file mode 100644 index 773861d..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/obexd/plugins/ftp.c +++ /dev/null @@ -1,502 +0,0 @@ -/* - * - * OBEX Server - * - * Copyright (C) 2007-2010 Nokia Corporation - * Copyright (C) 2007-2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include - -#include "obexd.h" -#include "plugin.h" -#include "log.h" -#include "obex.h" -#include "manager.h" -#include "mimetype.h" -#include "service.h" -#include "ftp.h" -#include "filesystem.h" - -#define LST_TYPE "x-obex/folder-listing" -#define CAP_TYPE "x-obex/capability" - -static const uint8_t FTP_TARGET[TARGET_SIZE] = { - 0xF9, 0xEC, 0x7B, 0xC4, 0x95, 0x3C, 0x11, 0xD2, - 0x98, 0x4E, 0x52, 0x54, 0x00, 0xDC, 0x9E, 0x09 }; - -struct ftp_session { - struct obex_session *os; - char *folder; -}; - -static void set_folder(struct ftp_session *ftp, const char *new_folder) -{ - DBG("%p folder %s", ftp, new_folder); - - g_free(ftp->folder); - - ftp->folder = new_folder ? g_strdup(new_folder) : NULL; -} - -static int get_by_type(struct ftp_session *ftp, const char *type) -{ - struct obex_session *os = ftp->os; - const char *capability = obex_option_capability(); - const char *name = obex_get_name(os); - char *path; - int err; - - DBG("%p name %s type %s", ftp, name, type); - - if (type == NULL && name == NULL) - return -EBADR; - - if (type != NULL && g_ascii_strcasecmp(type, CAP_TYPE) == 0) - return obex_get_stream_start(os, capability); - - if (name != NULL && !is_filename(name)) - return -EBADR; - - path = g_build_filename(ftp->folder, name, NULL); - err = obex_get_stream_start(os, path); - - g_free(path); - - return err; -} - -void *ftp_connect(struct obex_session *os, int *err) -{ - struct ftp_session *ftp; - const char *root_folder; - - DBG(""); - - root_folder = obex_option_root_folder(); - - manager_register_session(os); - - ftp = g_new0(struct ftp_session, 1); - set_folder(ftp, root_folder); - ftp->os = os; - - if (err) - *err = 0; - - DBG("session %p created", ftp); - - return ftp; -} - -int ftp_get(struct obex_session *os, void *user_data) -{ - struct ftp_session *ftp = user_data; - const char *type = obex_get_type(os); - int ret; - - DBG("%p", ftp); - - if (ftp->folder == NULL) - return -ENOENT; - - ret = get_by_type(ftp, type); - if (ret < 0) - return ret; - - return 0; -} - -static int ftp_delete(struct ftp_session *ftp, const char *name) -{ - char *path; - int ret = 0; - - DBG("%p name %s", ftp, name); - - if (!(ftp->folder && name)) - return -EINVAL; - - path = g_build_filename(ftp->folder, name, NULL); - - if (obex_remove(ftp->os, path) < 0) - ret = -errno; - - g_free(path); - - return ret; -} - -int ftp_chkput(struct obex_session *os, void *user_data) -{ - struct ftp_session *ftp = user_data; - const char *name = obex_get_name(os); - char *path; - int ret; - - DBG("%p name %s", ftp, name); - - if (name == NULL) - return -EBADR; - - if (!is_filename(name)) - return -EBADR; - - if (obex_get_size(os) == OBJECT_SIZE_DELETE) - return 0; - - path = g_build_filename(ftp->folder, name, NULL); - - ret = obex_put_stream_start(os, path); - - g_free(path); - - return ret; -} - -int ftp_put(struct obex_session *os, void *user_data) -{ - struct ftp_session *ftp = user_data; - const char *name = obex_get_name(os); - ssize_t size = obex_get_size(os); - - DBG("%p name %s size %zd", ftp, name, size); - - if (ftp->folder == NULL) - return -EPERM; - - if (name == NULL) - return -EBADR; - - if (!is_filename(name)) - return -EBADR; - - if (size == OBJECT_SIZE_DELETE) - return ftp_delete(ftp, name); - - return 0; -} - -int ftp_setpath(struct obex_session *os, void *user_data) -{ - struct ftp_session *ftp = user_data; - const char *root_folder, *name; - const uint8_t *nonhdr; - char *fullname; - struct stat dstat; - gboolean root; - int err; - - if (obex_get_non_header_data(os, &nonhdr) != 2) { - error("Set path failed: flag and constants not found!"); - return -EBADMSG; - } - - name = obex_get_name(os); - root_folder = obex_option_root_folder(); - root = g_str_equal(root_folder, ftp->folder); - - DBG("%p name %s", ftp, name); - - /* Check flag "Backup" */ - if ((nonhdr[0] & 0x01) == 0x01) { - DBG("Set to parent path"); - - if (root) - return -EPERM; - - fullname = g_path_get_dirname(ftp->folder); - set_folder(ftp, fullname); - g_free(fullname); - - DBG("Set to parent path: %s", ftp->folder); - - return 0; - } - - if (!name) { - DBG("Set path failed: name missing!"); - return -EINVAL; - } - - if (strlen(name) == 0) { - DBG("Set to root"); - set_folder(ftp, root_folder); - return 0; - } - - /* Check and set to name path */ - if (!is_filename(name)) { - error("Set path failed: name incorrect!"); - return -EPERM; - } - - fullname = g_build_filename(ftp->folder, name, NULL); - - DBG("Fullname: %s", fullname); - - err = verify_path(fullname); - - if (err < 0) - goto done; - - err = stat(fullname, &dstat); - - if (err < 0) { - err = -errno; - - if (err == -ENOENT) - goto not_found; - - DBG("stat: %s(%d)", strerror(-err), -err); - - goto done; - } - - if (S_ISDIR(dstat.st_mode) && (dstat.st_mode & S_IRUSR) && - (dstat.st_mode & S_IXUSR)) { - set_folder(ftp, fullname); - goto done; - } - - err = -EPERM; - goto done; - -not_found: - if (nonhdr[0] != 0) { - err = -ENOENT; - goto done; - } - - if (mkdir(fullname, 0755) < 0) { - err = -errno; - DBG("mkdir: %s(%d)", strerror(-err), -err); - goto done; - } - - err = 0; - set_folder(ftp, fullname); - -done: - g_free(fullname); - return err; -} - -static gboolean is_valid_path(const char *path) -{ - char **elements, **cur; - int depth = 0; - - elements = g_strsplit(path, "/", 0); - - for (cur = elements; *cur != NULL; cur++) { - if (**cur == '\0' || strcmp(*cur, ".") == 0) - continue; - - if (strcmp(*cur, "..") == 0) { - depth--; - if (depth < 0) - break; - continue; - } - - depth++; - } - - g_strfreev(elements); - - if (depth < 0) - return FALSE; - - return TRUE; -} - -static char *ftp_build_filename(struct ftp_session *ftp, const char *destname) -{ - char *filename; - - /* DestName can either be relative or absolute (FTP style) */ - if (destname[0] == '/') - filename = g_build_filename(obex_option_root_folder(), - destname, NULL); - else - filename = g_build_filename(ftp->folder, destname, NULL); - - if (is_valid_path(filename + strlen(obex_option_root_folder()))) - return filename; - - g_free(filename); - - return NULL; -} - -static int ftp_copy(struct ftp_session *ftp, const char *name, - const char *destname) -{ - char *source, *destination, *destdir; - int ret; - - DBG("%p name %s destination %s", ftp, name, destname); - - if (ftp->folder == NULL) { - error("No folder set"); - return -ENOENT; - } - - if (name == NULL || destname == NULL) - return -EINVAL; - - destination = ftp_build_filename(ftp, destname); - - if (destination == NULL) - return -EBADR; - - destdir = g_path_get_dirname(destination); - ret = verify_path(destdir); - g_free(destdir); - - if (ret < 0) - return ret; - - source = g_build_filename(ftp->folder, name, NULL); - - ret = obex_copy(ftp->os, source, destination); - - g_free(source); - g_free(destination); - - return ret; -} - -static int ftp_move(struct ftp_session *ftp, const char *name, - const char *destname) -{ - char *source, *destination, *destdir; - int ret; - - DBG("%p name %s destname %s", ftp, name, destname); - - if (ftp->folder == NULL) { - error("No folder set"); - return -ENOENT; - } - - if (name == NULL || destname == NULL) - return -EINVAL; - - destination = ftp_build_filename(ftp, destname); - - if (destination == NULL) - return -EBADR; - - destdir = g_path_get_dirname(destination); - ret = verify_path(destdir); - g_free(destdir); - - if (ret < 0) - return ret; - - source = g_build_filename(ftp->folder, name, NULL); - - ret = obex_move(ftp->os, source, destination); - - g_free(source); - g_free(destination); - - return ret; -} - -int ftp_action(struct obex_session *os, void *user_data) -{ - struct ftp_session *ftp = user_data; - const char *name, *destname; - uint8_t action_id; - - name = obex_get_name(os); - if (name == NULL || !is_filename(name)) - return -EBADR; - - destname = obex_get_destname(os); - action_id = obex_get_action_id(os); - - DBG("%p action 0x%x", ftp, action_id); - - switch (action_id) { - case 0x00: /* Copy Object */ - return ftp_copy(ftp, name, destname); - case 0x01: /* Move/Rename Object */ - return ftp_move(ftp, name, destname); - default: - return -ENOSYS; - } -} - -void ftp_disconnect(struct obex_session *os, void *user_data) -{ - struct ftp_session *ftp = user_data; - - DBG("%p", ftp); - - manager_unregister_session(os); - - g_free(ftp->folder); - g_free(ftp); -} - -static struct obex_service_driver ftp = { - .name = "File Transfer server", - .service = OBEX_FTP, - .target = FTP_TARGET, - .target_size = TARGET_SIZE, - .connect = ftp_connect, - .get = ftp_get, - .put = ftp_put, - .chkput = ftp_chkput, - .setpath = ftp_setpath, - .action = ftp_action, - .disconnect = ftp_disconnect -}; - -static int ftp_init(void) -{ - return obex_service_driver_register(&ftp); -} - -static void ftp_exit(void) -{ - obex_service_driver_unregister(&ftp); -} - -OBEX_PLUGIN_DEFINE(ftp, ftp_init, ftp_exit) diff --git a/GRIB_BLE_HUB/libs/ble_extend/obexd/plugins/ftp.h b/GRIB_BLE_HUB/libs/ble_extend/obexd/plugins/ftp.h deleted file mode 100644 index f06de84..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/obexd/plugins/ftp.h +++ /dev/null @@ -1,30 +0,0 @@ -/* - * - * OBEX Server - * - * Copyright (C) 2007-2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -void *ftp_connect(struct obex_session *os, int *err); -int ftp_get(struct obex_session *os, void *user_data); -int ftp_chkput(struct obex_session *os, void *user_data); -int ftp_put(struct obex_session *os, void *user_data); -int ftp_setpath(struct obex_session *os, void *user_data); -void ftp_disconnect(struct obex_session *os, void *user_data); -int ftp_action(struct obex_session *os, void *user_data); diff --git a/GRIB_BLE_HUB/libs/ble_extend/obexd/plugins/irmc.c b/GRIB_BLE_HUB/libs/ble_extend/obexd/plugins/irmc.c deleted file mode 100644 index d343977..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/obexd/plugins/irmc.c +++ /dev/null @@ -1,488 +0,0 @@ -/* - * - * OBEX IrMC Sync Server - * - * Copyright (C) 2010 Marcel Mol - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "obexd.h" -#include "plugin.h" -#include "log.h" -#include "obex.h" -#include "service.h" -#include "phonebook.h" -#include "mimetype.h" -#include "filesystem.h" -#include "manager.h" - -struct aparam_header { - uint8_t tag; - uint8_t len; - uint8_t val[0]; -} __attribute__ ((packed)); - -#define DID_LEN 18 - -struct irmc_session { - struct obex_session *os; - struct apparam_field *params; - uint16_t entries; - GString *buffer; - char sn[DID_LEN]; - char did[DID_LEN]; - char manu[DID_LEN]; - char model[DID_LEN]; - void *request; -}; - -#define IRMC_TARGET_SIZE 9 - -static const guint8 IRMC_TARGET[IRMC_TARGET_SIZE] = { - 0x49, 0x52, 0x4d, 0x43, 0x2d, 0x53, 0x59, 0x4e, 0x43 }; - -/* FIXME: - * the IrMC specs state the first vcard should be the owner - * vcard. As there is no simple way to collect ownerdetails - * just create an empty vcard (which is allowed according to the - * specs). - */ -static const char *owner_vcard = - "BEGIN:VCARD\r\n" - "VERSION:2.1\r\n" - "N:\r\n" - "TEL:\r\n" - "X-IRMX-LUID:0\r\n" - "END:VCARD\r\n"; - -static void phonebook_size_result(const char *buffer, size_t bufsize, - int vcards, int missed, - gboolean lastpart, void *user_data) -{ - struct irmc_session *irmc = user_data; - - DBG("vcards %d", vcards); - - irmc->params->maxlistcount = vcards; - - if (irmc->request) { - phonebook_req_finalize(irmc->request); - irmc->request = NULL; - } -} - -static void query_result(const char *buffer, size_t bufsize, int vcards, - int missed, gboolean lastpart, void *user_data) -{ - struct irmc_session *irmc = user_data; - const char *s, *t; - - DBG("bufsize %zu vcards %d missed %d", bufsize, vcards, missed); - - if (irmc->request) { - phonebook_req_finalize(irmc->request); - irmc->request = NULL; - } - - /* first add a 'owner' vcard */ - if (!irmc->buffer) - irmc->buffer = g_string_new(owner_vcard); - else - irmc->buffer = g_string_append(irmc->buffer, owner_vcard); - - if (buffer == NULL) - goto done; - - /* loop around buffer and add X-IRMC-LUID attribs */ - s = buffer; - while ((t = strstr(s, "UID:")) != NULL) { - /* add up to UID: into buffer */ - irmc->buffer = g_string_append_len(irmc->buffer, s, t-s); - /* - * add UID: line into buffer - * Not sure if UID is still needed if X-IRMC-LUID is there - */ - s = t; - t = strstr(s, "\r\n"); - t += 2; - irmc->buffer = g_string_append_len(irmc->buffer, s, t-s); - /* add X-IRMC-LUID with same number as UID */ - irmc->buffer = g_string_append_len(irmc->buffer, - "X-IRMC-LUID:", 12); - s += 4; /* point to uid number */ - irmc->buffer = g_string_append_len(irmc->buffer, s, t-s); - s = t; - } - /* add remaining bit of buffer */ - irmc->buffer = g_string_append(irmc->buffer, s); - -done: - obex_object_set_io_flags(irmc, G_IO_IN, 0); -} - -static void *irmc_connect(struct obex_session *os, int *err) -{ - struct irmc_session *irmc; - struct apparam_field *param; - int ret; - - DBG(""); - - manager_register_session(os); - - irmc = g_new0(struct irmc_session, 1); - irmc->os = os; - - /* FIXME: - * Ideally get capabilities info here and use that to define - * IrMC DID and SN etc parameters. - * For now lets used hostname and some 'random' value - */ - gethostname(irmc->did, DID_LEN); - strncpy(irmc->sn, "12345", sizeof(irmc->sn) - 1); - strncpy(irmc->manu, "obex", sizeof(irmc->manu) - 1); - strncpy(irmc->model, "mymodel", sizeof(irmc->model) - 1); - - /* We need to know the number of contact/cal/nt entries - * somewhere so why not do it now. - */ - param = g_new0(struct apparam_field, 1); - param->maxlistcount = 0; /* to count the number of vcards... */ - param->filter = 0x200085; /* UID TEL N VERSION */ - irmc->params = param; - irmc->request = phonebook_pull(PB_CONTACTS, irmc->params, - phonebook_size_result, irmc, err); - ret = phonebook_pull_read(irmc->request); - if (err) - *err = ret; - - return irmc; -} - -static int irmc_get(struct obex_session *os, void *user_data) -{ - struct irmc_session *irmc = user_data; - const char *type = obex_get_type(os); - const char *name = obex_get_name(os); - char *path; - int ret; - - DBG("name %s type %s irmc %p", name, type ? type : "NA", irmc); - - path = g_strdup(name); - - ret = obex_get_stream_start(os, path); - - g_free(path); - - return ret; -} - -static void irmc_disconnect(struct obex_session *os, void *user_data) -{ - struct irmc_session *irmc = user_data; - - DBG(""); - - manager_unregister_session(os); - - if (irmc->params) { - if (irmc->params->searchval) - g_free(irmc->params->searchval); - g_free(irmc->params); - } - - if (irmc->buffer) - g_string_free(irmc->buffer, TRUE); - - g_free(irmc); -} - -static int irmc_chkput(struct obex_session *os, void *user_data) -{ - DBG(""); - /* Reject all PUTs */ - return -EBADR; -} - -static int irmc_open_devinfo(struct irmc_session *irmc) -{ - if (!irmc->buffer) - irmc->buffer = g_string_new(""); - - g_string_append_printf(irmc->buffer, - "MANU:%s\r\n" - "MOD:%s\r\n" - "SN:%s\r\n" - "IRMC-VERSION:1.1\r\n" - "PB-TYPE-TX:VCARD2.1\r\n" - "PB-TYPE-RX:NONE\r\n" - "CAL-TYPE-TX:NONE\r\n" - "CAL-TYPE-RX:NONE\r\n" - "MSG-TYPE-TX:NONE\r\n" - "MSG-TYPE-RX:NONE\r\n" - "NOTE-TYPE-TX:NONE\r\n" - "NOTE-TYPE-RX:NONE\r\n", - irmc->manu, irmc->model, irmc->sn); - - return 0; -} - -static int irmc_open_pb(struct irmc_session *irmc) -{ - int ret; - - /* how can we tell if the vcard count call already finished? */ - irmc->request = phonebook_pull(PB_CONTACTS, irmc->params, - query_result, irmc, &ret); - if (ret < 0) { - DBG("phonebook_pull failed..."); - return ret; - } - - ret = phonebook_pull_read(irmc->request); - if (ret < 0) { - DBG("phonebook_pull_read failed..."); - return ret; - } - - return 0; -} - -static int irmc_open_info(struct irmc_session *irmc) -{ - if (irmc->buffer == NULL) - irmc->buffer = g_string_new(""); - - g_string_printf(irmc->buffer, "Total-Records:%d\r\n" - "Maximum-Records:%d\r\n" - "IEL:2\r\n" - "DID:%s\r\n", - irmc->params->maxlistcount, - irmc->params->maxlistcount, irmc->did); - - return 0; -} - -static int irmc_open_cc(struct irmc_session *irmc) -{ - if (irmc->buffer == NULL) - irmc->buffer = g_string_new(""); - - g_string_printf(irmc->buffer, "%d\r\n", irmc->params->maxlistcount); - - return 0; -} - -static int irmc_open_cal(struct irmc_session *irmc) -{ - /* no suport yet. Just return an empty buffer. cal.vcs */ - DBG("unsupported, returning empty buffer"); - - if (!irmc->buffer) - irmc->buffer = g_string_new(""); - - return 0; -} - -static int irmc_open_nt(struct irmc_session *irmc) -{ - /* no suport yet. Just return an empty buffer. nt.vnt */ - DBG("unsupported, returning empty buffer"); - - if (!irmc->buffer) - irmc->buffer = g_string_new(""); - - return 0; -} - -static int irmc_open_luid(struct irmc_session *irmc) -{ - if (irmc->buffer == NULL) - irmc->buffer = g_string_new(""); - - DBG("changelog request, force whole book"); - g_string_printf(irmc->buffer, "SN:%s\r\n" - "DID:%s\r\n" - "Total-Records:%d\r\n" - "Maximum-Records:%d\r\n" - "*\r\n", - irmc->sn, irmc->did, - irmc->params->maxlistcount, - irmc->params->maxlistcount); - - return 0; -} - -static void *irmc_open(const char *name, int oflag, mode_t mode, void *context, - size_t *size, int *err) -{ - struct irmc_session *irmc = context; - int ret = 0; - char *path; - - DBG("name %s context %p", name, context); - - if (oflag != O_RDONLY) { - ret = -EPERM; - goto fail; - } - - if (name == NULL) { - ret = -EBADR; - goto fail; - } - - /* Always contains the absolute path */ - if (g_path_is_absolute(name)) - path = g_strdup(name); - else - path = g_build_filename("/", name, NULL); - - if (g_str_equal(path, PB_DEVINFO)) - ret = irmc_open_devinfo(irmc); - else if (g_str_equal(path, PB_CONTACTS)) - ret = irmc_open_pb(irmc); - else if (g_str_equal(path, PB_INFO_LOG)) - ret = irmc_open_info(irmc); - else if (g_str_equal(path, PB_CC_LOG)) - ret = irmc_open_cc(irmc); - else if (g_str_has_prefix(path, PB_CALENDAR_FOLDER)) - ret = irmc_open_cal(irmc); - else if (g_str_has_prefix(path, PB_NOTES_FOLDER)) - ret = irmc_open_nt(irmc); - else if (g_str_has_prefix(path, PB_LUID_FOLDER)) - ret = irmc_open_luid(irmc); - else - ret = -EBADR; - - g_free(path); - - if (ret == 0) - return irmc; - -fail: - if (err) - *err = ret; - - return NULL; -} - -static int irmc_close(void *object) -{ - struct irmc_session *irmc = object; - - DBG(""); - - if (irmc->buffer) { - g_string_free(irmc->buffer, TRUE); - irmc->buffer = NULL; - } - - if (irmc->request) { - phonebook_req_finalize(irmc->request); - irmc->request = NULL; - } - - return 0; -} - -static ssize_t irmc_read(void *object, void *buf, size_t count) -{ - struct irmc_session *irmc = object; - int len; - - DBG("buffer %p count %zu", irmc->buffer, count); - if (!irmc->buffer) - return -EAGAIN; - - len = string_read(irmc->buffer, buf, count); - DBG("returning %d bytes", len); - return len; -} - -static struct obex_mime_type_driver irmc_driver = { - .target = IRMC_TARGET, - .target_size = IRMC_TARGET_SIZE, - .open = irmc_open, - .close = irmc_close, - .read = irmc_read, -}; - -static struct obex_service_driver irmc = { - .name = "IRMC Sync server", - .service = OBEX_IRMC, - .target = IRMC_TARGET, - .target_size = IRMC_TARGET_SIZE, - .connect = irmc_connect, - .get = irmc_get, - .disconnect = irmc_disconnect, - .chkput = irmc_chkput -}; - -static int irmc_init(void) -{ - int err; - - DBG(""); - err = phonebook_init(); - if (err < 0) - return err; - - err = obex_mime_type_driver_register(&irmc_driver); - if (err < 0) - goto fail_mime_irmc; - - err = obex_service_driver_register(&irmc); - if (err < 0) - goto fail_irmc_reg; - - return 0; - -fail_irmc_reg: - obex_mime_type_driver_unregister(&irmc_driver); -fail_mime_irmc: - phonebook_exit(); - - return err; -} - -static void irmc_exit(void) -{ - DBG(""); - obex_service_driver_unregister(&irmc); - obex_mime_type_driver_unregister(&irmc_driver); - phonebook_exit(); -} - -OBEX_PLUGIN_DEFINE(irmc, irmc_init, irmc_exit) diff --git a/GRIB_BLE_HUB/libs/ble_extend/obexd/plugins/mas.c b/GRIB_BLE_HUB/libs/ble_extend/obexd/plugins/mas.c deleted file mode 100644 index 5729c22..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/obexd/plugins/mas.c +++ /dev/null @@ -1,853 +0,0 @@ -/* - * - * OBEX Server - * - * Copyright (C) 2010-2011 Nokia Corporation - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include -#include -#include -#include - -#include -#include - -#include "obexd.h" -#include "plugin.h" -#include "log.h" -#include "obex.h" -#include "service.h" -#include "mimetype.h" -#include "filesystem.h" -#include "manager.h" -#include "map_ap.h" - -#include "messages.h" - -#define READ_STATUS_REQ 0 -#define DELETE_STATUS_REQ 1 - -#define XML_DECL "" - -/* Building blocks for x-obex/folder-listing */ -#define FL_DTD "" -#define FL_BODY_BEGIN "" -#define FL_BODY_EMPTY "" -#define FL_PARENT_FOLDER_ELEMENT "" -#define FL_FOLDER_ELEMENT "" -#define FL_BODY_END "" - -#define ML_BODY_BEGIN "" -#define ML_BODY_END "" - -struct mas_session { - struct mas_request *request; - void *backend_data; - gboolean finished; - gboolean nth_call; - GString *buffer; - GObexApparam *inparams; - GObexApparam *outparams; - gboolean ap_sent; -}; - -static const uint8_t MAS_TARGET[TARGET_SIZE] = { - 0xbb, 0x58, 0x2b, 0x40, 0x42, 0x0c, 0x11, 0xdb, - 0xb0, 0xde, 0x08, 0x00, 0x20, 0x0c, 0x9a, 0x66 }; - -static int get_params(struct obex_session *os, struct mas_session *mas) -{ - const uint8_t *buffer; - ssize_t size; - - size = obex_get_apparam(os, &buffer); - if (size < 0) - size = 0; - - mas->inparams = g_obex_apparam_decode(buffer, size); - if (mas->inparams == NULL) { - DBG("Error when parsing parameters!"); - return -EBADR; - } - - return 0; -} - -static void reset_request(struct mas_session *mas) -{ - if (mas->buffer) { - g_string_free(mas->buffer, TRUE); - mas->buffer = NULL; - } - - if (mas->inparams) { - g_obex_apparam_free(mas->inparams); - mas->inparams = NULL; - } - - if (mas->outparams) { - g_obex_apparam_free(mas->outparams); - mas->outparams = NULL; - } - - mas->nth_call = FALSE; - mas->finished = FALSE; - mas->ap_sent = FALSE; -} - -static void mas_clean(struct mas_session *mas) -{ - reset_request(mas); - g_free(mas); -} - -static void *mas_connect(struct obex_session *os, int *err) -{ - struct mas_session *mas; - - DBG(""); - - mas = g_new0(struct mas_session, 1); - - *err = messages_connect(&mas->backend_data); - if (*err < 0) - goto failed; - - manager_register_session(os); - - return mas; - -failed: - g_free(mas); - - return NULL; -} - -static void mas_disconnect(struct obex_session *os, void *user_data) -{ - struct mas_session *mas = user_data; - - DBG(""); - - manager_unregister_session(os); - messages_disconnect(mas->backend_data); - - mas_clean(mas); -} - -static int mas_get(struct obex_session *os, void *user_data) -{ - struct mas_session *mas = user_data; - const char *type = obex_get_type(os); - const char *name = obex_get_name(os); - int ret; - - DBG("GET: name %s type %s mas %p", - name, type, mas); - - if (type == NULL) - return -EBADR; - - ret = get_params(os, mas); - if (ret < 0) - goto failed; - - ret = obex_get_stream_start(os, name); - if (ret < 0) - goto failed; - - return 0; - -failed: - reset_request(mas); - - return ret; -} - -static int mas_put(struct obex_session *os, void *user_data) -{ - struct mas_session *mas = user_data; - const char *type = obex_get_type(os); - const char *name = obex_get_name(os); - int ret; - - DBG("PUT: name %s type %s mas %p", name, type, mas); - - if (type == NULL) - return -EBADR; - - ret = get_params(os, mas); - if (ret < 0) - goto failed; - - ret = obex_put_stream_start(os, name); - if (ret < 0) - goto failed; - - return 0; - -failed: - reset_request(mas); - - return ret; -} - -/* FIXME: Preserve whitespaces */ -static void g_string_append_escaped_printf(GString *string, - const char *format, ...) -{ - va_list ap; - char *escaped; - - va_start(ap, format); - escaped = g_markup_vprintf_escaped(format, ap); - g_string_append(string, escaped); - g_free(escaped); - va_end(ap); -} - -static const char *yesorno(gboolean a) -{ - if (a) - return "yes"; - - return "no"; -} - -static void get_messages_listing_cb(void *session, int err, uint16_t size, - gboolean newmsg, - const struct messages_message *entry, - void *user_data) -{ - struct mas_session *mas = user_data; - uint16_t max = 1024; - - if (err < 0 && err != -EAGAIN) { - obex_object_set_io_flags(mas, G_IO_ERR, err); - return; - } - - g_obex_apparam_get_uint16(mas->inparams, MAP_AP_MAXLISTCOUNT, &max); - - if (max == 0) { - if (!entry) - mas->finished = TRUE; - - goto proceed; - } - - if (!mas->nth_call) { - g_string_append(mas->buffer, ML_BODY_BEGIN); - mas->nth_call = TRUE; - } - - if (!entry) { - g_string_append(mas->buffer, ML_BODY_END); - mas->finished = TRUE; - - goto proceed; - } - - g_string_append(mas->buffer, "buffer, " handle=\"%s\"", - entry->handle); - - if (entry->mask & PMASK_SUBJECT) - g_string_append_escaped_printf(mas->buffer, " subject=\"%s\"", - entry->subject); - - if (entry->mask & PMASK_DATETIME) - g_string_append_escaped_printf(mas->buffer, " datetime=\"%s\"", - entry->datetime); - - if (entry->mask & PMASK_SENDER_NAME) - g_string_append_escaped_printf(mas->buffer, - " sender_name=\"%s\"", - entry->sender_name); - - if (entry->mask & PMASK_SENDER_ADDRESSING) - g_string_append_escaped_printf(mas->buffer, - " sender_addressing=\"%s\"", - entry->sender_addressing); - - if (entry->mask & PMASK_REPLYTO_ADDRESSING) - g_string_append_escaped_printf(mas->buffer, - " replyto_addressing=\"%s\"", - entry->replyto_addressing); - - if (entry->mask & PMASK_RECIPIENT_NAME) - g_string_append_escaped_printf(mas->buffer, - " recipient_name=\"%s\"", - entry->recipient_name); - - if (entry->mask & PMASK_RECIPIENT_ADDRESSING) - g_string_append_escaped_printf(mas->buffer, - " recipient_addressing=\"%s\"", - entry->recipient_addressing); - - if (entry->mask & PMASK_TYPE) - g_string_append_escaped_printf(mas->buffer, " type=\"%s\"", - entry->type); - - if (entry->mask & PMASK_RECEPTION_STATUS) - g_string_append_escaped_printf(mas->buffer, - " reception_status=\"%s\"", - entry->reception_status); - - if (entry->mask & PMASK_SIZE) - g_string_append_escaped_printf(mas->buffer, " size=\"%s\"", - entry->size); - - if (entry->mask & PMASK_ATTACHMENT_SIZE) - g_string_append_escaped_printf(mas->buffer, - " attachment_size=\"%s\"", - entry->attachment_size); - - if (entry->mask & PMASK_TEXT) - g_string_append_escaped_printf(mas->buffer, " text=\"%s\"", - yesorno(entry->text)); - - if (entry->mask & PMASK_READ) - g_string_append_escaped_printf(mas->buffer, " read=\"%s\"", - yesorno(entry->read)); - - if (entry->mask & PMASK_SENT) - g_string_append_escaped_printf(mas->buffer, " sent=\"%s\"", - yesorno(entry->sent)); - - if (entry->mask & PMASK_PROTECTED) - g_string_append_escaped_printf(mas->buffer, " protected=\"%s\"", - yesorno(entry->protect)); - - if (entry->mask & PMASK_PRIORITY) - g_string_append_escaped_printf(mas->buffer, " priority=\"%s\"", - yesorno(entry->priority)); - - g_string_append(mas->buffer, "/>\n"); - -proceed: - if (!entry) { - mas->outparams = g_obex_apparam_set_uint16(mas->outparams, - MAP_AP_MESSAGESLISTINGSIZE, - size); - mas->outparams = g_obex_apparam_set_uint8(mas->outparams, - MAP_AP_NEWMESSAGE, - newmsg ? 1 : 0); - } - - if (err != -EAGAIN) - obex_object_set_io_flags(mas, G_IO_IN, 0); -} - -static void get_message_cb(void *session, int err, gboolean fmore, - const char *chunk, void *user_data) -{ - struct mas_session *mas = user_data; - - DBG(""); - - if (err < 0 && err != -EAGAIN) { - obex_object_set_io_flags(mas, G_IO_ERR, err); - return; - } - - if (!chunk) { - mas->finished = TRUE; - goto proceed; - } - - g_string_append(mas->buffer, chunk); - -proceed: - if (err != -EAGAIN) - obex_object_set_io_flags(mas, G_IO_IN, 0); -} - -static void get_folder_listing_cb(void *session, int err, uint16_t size, - const char *name, void *user_data) -{ - struct mas_session *mas = user_data; - uint16_t max = 1024; - - if (err < 0 && err != -EAGAIN) { - obex_object_set_io_flags(mas, G_IO_ERR, err); - return; - } - - g_obex_apparam_get_uint16(mas->inparams, MAP_AP_MAXLISTCOUNT, &max); - - if (max == 0) { - if (err != -EAGAIN) - mas->outparams = g_obex_apparam_set_uint16( - mas->outparams, - MAP_AP_FOLDERLISTINGSIZE, - size); - - if (!name) - mas->finished = TRUE; - - goto proceed; - } - - if (!mas->nth_call) { - g_string_append(mas->buffer, XML_DECL); - g_string_append(mas->buffer, FL_DTD); - if (!name) { - g_string_append(mas->buffer, FL_BODY_EMPTY); - mas->finished = TRUE; - goto proceed; - } - g_string_append(mas->buffer, FL_BODY_BEGIN); - mas->nth_call = TRUE; - } - - if (!name) { - g_string_append(mas->buffer, FL_BODY_END); - mas->finished = TRUE; - goto proceed; - } - - if (g_strcmp0(name, "..") == 0) - g_string_append(mas->buffer, FL_PARENT_FOLDER_ELEMENT); - else - g_string_append_escaped_printf(mas->buffer, FL_FOLDER_ELEMENT, - name); - -proceed: - if (err != -EAGAIN) - obex_object_set_io_flags(mas, G_IO_IN, err); -} - -static void set_status_cb(void *session, int err, void *user_data) -{ - struct mas_session *mas = user_data; - - DBG(""); - - mas->finished = TRUE; - - if (err < 0) - obex_object_set_io_flags(mas, G_IO_ERR, err); - else - obex_object_set_io_flags(mas, G_IO_OUT, 0); -} - -static int mas_setpath(struct obex_session *os, void *user_data) -{ - const char *name; - const uint8_t *nonhdr; - struct mas_session *mas = user_data; - - if (obex_get_non_header_data(os, &nonhdr) != 2) { - error("Set path failed: flag and constants not found!"); - return -EBADR; - } - - name = obex_get_name(os); - - DBG("SETPATH: name %s nonhdr 0x%x%x", name, nonhdr[0], nonhdr[1]); - - if ((nonhdr[0] & 0x02) != 0x02) { - DBG("Error: requested directory creation"); - return -EBADR; - } - - return messages_set_folder(mas->backend_data, name, nonhdr[0] & 0x01); -} - -static void *folder_listing_open(const char *name, int oflag, mode_t mode, - void *driver_data, size_t *size, int *err) -{ - struct mas_session *mas = driver_data; - /* 1024 is the default when there was no MaxListCount sent */ - uint16_t max = 1024; - uint16_t offset = 0; - - if (oflag != O_RDONLY) { - *err = -EBADR; - return NULL; - } - - DBG("name = %s", name); - - g_obex_apparam_get_uint16(mas->inparams, MAP_AP_MAXLISTCOUNT, &max); - g_obex_apparam_get_uint16(mas->inparams, MAP_AP_STARTOFFSET, &offset); - - *err = messages_get_folder_listing(mas->backend_data, name, max, - offset, get_folder_listing_cb, mas); - - mas->buffer = g_string_new(""); - - if (*err < 0) - return NULL; - else - return mas; -} - -static void *msg_listing_open(const char *name, int oflag, mode_t mode, - void *driver_data, size_t *size, int *err) -{ - struct mas_session *mas = driver_data; - struct messages_filter filter = { 0, }; - /* 1024 is the default when there was no MaxListCount sent */ - uint16_t max = 1024; - uint16_t offset = 0; - /* If MAP client does not specify the subject length, - then subject_len = 0 and subject should be sent unaltered. */ - uint8_t subject_len = 0; - - DBG(""); - - if (oflag != O_RDONLY) { - *err = -EBADR; - return NULL; - } - - g_obex_apparam_get_uint16(mas->inparams, MAP_AP_MAXLISTCOUNT, &max); - g_obex_apparam_get_uint16(mas->inparams, MAP_AP_STARTOFFSET, &offset); - g_obex_apparam_get_uint8(mas->inparams, MAP_AP_SUBJECTLENGTH, - &subject_len); - - g_obex_apparam_get_uint32(mas->inparams, MAP_AP_PARAMETERMASK, - &filter.parameter_mask); - g_obex_apparam_get_uint8(mas->inparams, MAP_AP_FILTERMESSAGETYPE, - &filter.type); - filter.period_begin = g_obex_apparam_get_string(mas->inparams, - MAP_AP_FILTERPERIODBEGIN); - filter.period_end = g_obex_apparam_get_string(mas->inparams, - MAP_AP_FILTERPERIODEND); - g_obex_apparam_get_uint8(mas->inparams, MAP_AP_FILTERREADSTATUS, - &filter.read_status); - filter.recipient = g_obex_apparam_get_string(mas->inparams, - MAP_AP_FILTERRECIPIENT); - filter.originator = g_obex_apparam_get_string(mas->inparams, - MAP_AP_FILTERORIGINATOR); - g_obex_apparam_get_uint8(mas->inparams, MAP_AP_FILTERPRIORITY, - &filter.priority); - - *err = messages_get_messages_listing(mas->backend_data, name, max, - offset, subject_len, &filter, - get_messages_listing_cb, mas); - - mas->buffer = g_string_new(""); - - if (*err < 0) - return NULL; - else - return mas; -} - -static void *message_open(const char *name, int oflag, mode_t mode, - void *driver_data, size_t *size, int *err) -{ - struct mas_session *mas = driver_data; - - DBG(""); - - if (oflag != O_RDONLY) { - DBG("Message pushing unsupported"); - *err = -ENOSYS; - - return NULL; - } - - *err = messages_get_message(mas->backend_data, name, 0, - get_message_cb, mas); - - mas->buffer = g_string_new(""); - - if (*err < 0) - return NULL; - else - return mas; -} - -static void *message_update_open(const char *name, int oflag, mode_t mode, - void *driver_data, size_t *size, - int *err) -{ - struct mas_session *mas = driver_data; - - DBG(""); - - if (oflag == O_RDONLY) { - *err = -EBADR; - return NULL; - } - - *err = messages_update_inbox(mas->backend_data, set_status_cb, mas); - if (*err < 0) - return NULL; - else - return mas; -} - -static void *message_set_status_open(const char *name, int oflag, mode_t mode, - void *driver_data, size_t *size, - int *err) - -{ - struct mas_session *mas = driver_data; - uint8_t indicator; - uint8_t value; - - DBG(""); - - if (oflag == O_RDONLY) { - *err = -EBADR; - return NULL; - } - - if (!g_obex_apparam_get_uint8(mas->inparams, MAP_AP_STATUSINDICATOR, - &indicator)) { - *err = -EBADR; - return NULL; - } - - if (!g_obex_apparam_get_uint8(mas->inparams, MAP_AP_STATUSVALUE, - &value)) { - *err = -EBADR; - return NULL; - } - - if (indicator == READ_STATUS_REQ) - *err = messages_set_read(mas->backend_data, name, value, - set_status_cb, mas); - else if (indicator == DELETE_STATUS_REQ) - *err = messages_set_delete(mas->backend_data, name, value, - set_status_cb, mas); - else - *err = -EBADR; - - if (*err < 0) - return NULL; - - return mas; -} - -static ssize_t any_get_next_header(void *object, void *buf, size_t mtu, - uint8_t *hi) -{ - struct mas_session *mas = object; - - DBG(""); - - if (mas->buffer->len == 0 && !mas->finished) - return -EAGAIN; - - *hi = G_OBEX_HDR_APPARAM; - - if (mas->ap_sent) - return 0; - - mas->ap_sent = TRUE; - return g_obex_apparam_encode(mas->outparams, buf, mtu); -} - -static void *any_open(const char *name, int oflag, mode_t mode, - void *driver_data, size_t *size, int *err) -{ - DBG(""); - - *err = -ENOSYS; - - return NULL; -} - -static ssize_t any_write(void *object, const void *buf, size_t count) -{ - DBG(""); - - return count; -} - -static ssize_t any_read(void *obj, void *buf, size_t count) -{ - struct mas_session *mas = obj; - ssize_t len; - - DBG(""); - - len = string_read(mas->buffer, buf, count); - - if (len == 0 && !mas->finished) - return -EAGAIN; - - return len; -} - -static int any_close(void *obj) -{ - struct mas_session *mas = obj; - - DBG(""); - - if (!mas->finished) - messages_abort(mas->backend_data); - - reset_request(mas); - - return 0; -} - -static struct obex_service_driver mas = { - .name = "Message Access server", - .service = OBEX_MAS, - .target = MAS_TARGET, - .target_size = TARGET_SIZE, - .connect = mas_connect, - .get = mas_get, - .put = mas_put, - .setpath = mas_setpath, - .disconnect = mas_disconnect, -}; - -static struct obex_mime_type_driver mime_map = { - .target = MAS_TARGET, - .target_size = TARGET_SIZE, - .mimetype = NULL, - .open = any_open, - .close = any_close, - .read = any_read, - .write = any_write, -}; - -static struct obex_mime_type_driver mime_message = { - .target = MAS_TARGET, - .target_size = TARGET_SIZE, - .mimetype = "x-bt/message", - .open = message_open, - .close = any_close, - .read = any_read, - .write = any_write, -}; - -static struct obex_mime_type_driver mime_folder_listing = { - .target = MAS_TARGET, - .target_size = TARGET_SIZE, - .mimetype = "x-obex/folder-listing", - .get_next_header = any_get_next_header, - .open = folder_listing_open, - .close = any_close, - .read = any_read, - .write = any_write, -}; - -static struct obex_mime_type_driver mime_msg_listing = { - .target = MAS_TARGET, - .target_size = TARGET_SIZE, - .mimetype = "x-bt/MAP-msg-listing", - .get_next_header = any_get_next_header, - .open = msg_listing_open, - .close = any_close, - .read = any_read, - .write = any_write, -}; - -static struct obex_mime_type_driver mime_notification_registration = { - .target = MAS_TARGET, - .target_size = TARGET_SIZE, - .mimetype = "x-bt/MAP-NotificationRegistration", - .open = any_open, - .close = any_close, - .read = any_read, - .write = any_write, -}; - -static struct obex_mime_type_driver mime_message_status = { - .target = MAS_TARGET, - .target_size = TARGET_SIZE, - .mimetype = "x-bt/messageStatus", - .open = message_set_status_open, - .close = any_close, - .read = any_read, - .write = any_write, -}; - -static struct obex_mime_type_driver mime_message_update = { - .target = MAS_TARGET, - .target_size = TARGET_SIZE, - .mimetype = "x-bt/MAP-messageUpdate", - .open = message_update_open, - .close = any_close, - .read = any_read, - .write = any_write, -}; - -static struct obex_mime_type_driver *map_drivers[] = { - &mime_map, - &mime_message, - &mime_folder_listing, - &mime_msg_listing, - &mime_notification_registration, - &mime_message_status, - &mime_message_update, - NULL -}; - -static int mas_init(void) -{ - int err; - int i; - - err = messages_init(); - if (err < 0) - return err; - - for (i = 0; map_drivers[i] != NULL; ++i) { - err = obex_mime_type_driver_register(map_drivers[i]); - if (err < 0) - goto failed; - } - - err = obex_service_driver_register(&mas); - if (err < 0) - goto failed; - - return 0; - -failed: - for (--i; i >= 0; --i) - obex_mime_type_driver_unregister(map_drivers[i]); - - messages_exit(); - - return err; -} - -static void mas_exit(void) -{ - int i; - - obex_service_driver_unregister(&mas); - - for (i = 0; map_drivers[i] != NULL; ++i) - obex_mime_type_driver_unregister(map_drivers[i]); - - messages_exit(); -} - -OBEX_PLUGIN_DEFINE(mas, mas_init, mas_exit) diff --git a/GRIB_BLE_HUB/libs/ble_extend/obexd/plugins/messages-dummy.c b/GRIB_BLE_HUB/libs/ble_extend/obexd/plugins/messages-dummy.c deleted file mode 100644 index 4c66f51..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/obexd/plugins/messages-dummy.c +++ /dev/null @@ -1,376 +0,0 @@ -/* - * - * OBEX Server - * - * Copyright (C) 2010-2011 Nokia Corporation - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include -#include -#include -#include - -#include "log.h" - -#include "messages.h" - -static char *root_folder = NULL; - -struct session { - char *cwd; - char *cwd_absolute; - void *request; -}; - -struct folder_listing_data { - struct session *session; - const char *name; - uint16_t max; - uint16_t offset; - messages_folder_listing_cb callback; - void *user_data; -}; - -/* NOTE: Neither IrOBEX nor MAP specs says that folder listing needs to - * be sorted (in IrOBEX examples it is not). However existing implementations - * seem to follow the fig. 3-2 from MAP specification v1.0, and I've seen a - * test suite requiring folder listing to be in that order. - */ -static gint folder_names_cmp(gconstpointer a, gconstpointer b, - gpointer user_data) -{ - static const char *order[] = { - "inbox", "outbox", "sent", "deleted", "draft", NULL - }; - struct session *session = user_data; - int ia, ib; - - if (g_strcmp0(session->cwd, "telecom/msg") == 0) { - for (ia = 0; order[ia]; ia++) { - if (g_strcmp0(a, order[ia]) == 0) - break; - } - for (ib = 0; order[ib]; ib++) { - if (g_strcmp0(b, order[ib]) == 0) - break; - } - if (ia != ib) - return ia - ib; - } - - return g_strcmp0(a, b); -} - -static char *get_next_subdir(DIR *dp, char *path) -{ - struct dirent *ep; - char *abs, *name; - - for (;;) { - if ((ep = readdir(dp)) == NULL) - return NULL; - - if (strcmp(ep->d_name, ".") == 0 || strcmp(ep->d_name, "..") == 0) - continue; - - abs = g_build_filename(path, ep->d_name, NULL); - - if (g_file_test(abs, G_FILE_TEST_IS_DIR)) { - g_free(abs); - break; - } - - g_free(abs); - } - - name = g_filename_to_utf8(ep->d_name, -1, NULL, NULL, NULL); - - if (name == NULL) { - DBG("g_filename_to_utf8(): invalid filename"); - return NULL; - } - - return name; -} - -static ssize_t get_subdirs(struct folder_listing_data *fld, GSList **list) -{ - DIR *dp; - char *path, *name; - size_t n; - - path = g_build_filename(fld->session->cwd_absolute, fld->name, NULL); - dp = opendir(path); - - if (dp == NULL) { - int err = -errno; - - DBG("opendir(): %d, %s", -err, strerror(-err)); - g_free(path); - - return err; - } - - n = 0; - - while ((name = get_next_subdir(dp, path)) != NULL) { - n++; - if (fld->max > 0) - *list = g_slist_prepend(*list, name); - } - - closedir(dp); - g_free(path); - - *list = g_slist_sort_with_data(*list, folder_names_cmp, fld->session); - - return n; -} - -static void return_folder_listing(struct folder_listing_data *fld, GSList *list) -{ - struct session *session = fld->session; - GSList *cur; - uint16_t num = 0; - uint16_t offs = 0; - - /* XXX: This isn't really documented for MAP. I need to take a look how - * other implementations choose to deal with parent folder. - */ - if (session->cwd[0] != 0 && fld->offset == 0) { - num++; - fld->callback(session, -EAGAIN, 0, "..", fld->user_data); - } else { - offs++; - } - - for (cur = list; offs < fld->offset; offs++) { - cur = cur->next; - if (cur == NULL) - break; - } - - for (; cur != NULL && num < fld->max; cur = cur->next, num++) - fld->callback(session, -EAGAIN, 0, cur->data, fld->user_data); - - fld->callback(session, 0, 0, NULL, fld->user_data); -} - -static gboolean get_folder_listing(void *d) -{ - struct folder_listing_data *fld = d; - ssize_t n; - GSList *list = NULL; - - n = get_subdirs(fld, &list); - - if (n < 0) { - fld->callback(fld->session, n, 0, NULL, fld->user_data); - return FALSE; - } - - if (fld->max == 0) { - fld->callback(fld->session, 0, n, NULL, fld->user_data); - return FALSE; - } - - return_folder_listing(fld, list); - g_slist_free_full(list, g_free); - - return FALSE; -} - -int messages_init(void) -{ - char *tmp; - - if (root_folder) - return 0; - - tmp = getenv("MAP_ROOT"); - if (tmp) { - root_folder = g_strdup(tmp); - return 0; - } - - tmp = getenv("HOME"); - if (!tmp) - return -ENOENT; - - root_folder = g_build_filename(tmp, "map-messages", NULL); - - return 0; -} - -void messages_exit(void) -{ - g_free(root_folder); - root_folder = NULL; -} - -int messages_connect(void **s) -{ - struct session *session; - - session = g_new0(struct session, 1); - session->cwd = g_strdup(""); - session->cwd_absolute = g_strdup(root_folder); - - *s = session; - - return 0; -} - -void messages_disconnect(void *s) -{ - struct session *session = s; - - g_free(session->cwd); - g_free(session->cwd_absolute); - g_free(session); -} - -int messages_set_notification_registration(void *session, - void (*send_event)(void *session, - const struct messages_event *event, void *user_data), - void *user_data) -{ - return -ENOSYS; -} - -int messages_set_folder(void *s, const char *name, gboolean cdup) -{ - struct session *session = s; - char *newrel = NULL; - char *newabs; - char *tmp; - - if (name && (strchr(name, '/') || strcmp(name, "..") == 0)) - return -EBADR; - - if (cdup) { - if (session->cwd[0] == 0) - return -ENOENT; - - newrel = g_path_get_dirname(session->cwd); - - /* We use empty string for indication of the root directory */ - if (newrel[0] == '.' && newrel[1] == 0) - newrel[0] = 0; - } - - tmp = newrel; - if (!cdup && (!name || name[0] == 0)) - newrel = g_strdup(""); - else - newrel = g_build_filename(newrel ? newrel : session->cwd, name, - NULL); - g_free(tmp); - - newabs = g_build_filename(root_folder, newrel, NULL); - - if (!g_file_test(newabs, G_FILE_TEST_IS_DIR)) { - g_free(newrel); - g_free(newabs); - return -ENOENT; - } - - g_free(session->cwd); - session->cwd = newrel; - - g_free(session->cwd_absolute); - session->cwd_absolute = newabs; - - return 0; -} - -int messages_get_folder_listing(void *s, const char *name, uint16_t max, - uint16_t offset, - messages_folder_listing_cb callback, - void *user_data) -{ - struct session *session = s; - struct folder_listing_data *fld; - - fld = g_new0(struct folder_listing_data, 1); - fld->session = session; - fld->name = name; - fld->max = max; - fld->offset = offset; - fld->callback = callback; - fld->user_data = user_data; - - session->request = fld; - - g_idle_add_full(G_PRIORITY_DEFAULT_IDLE, get_folder_listing, - fld, g_free); - - return 0; -} - -int messages_get_messages_listing(void *session, const char *name, - uint16_t max, uint16_t offset, - uint8_t subject_len, - const struct messages_filter *filter, - messages_get_messages_listing_cb callback, - void *user_data) -{ - return -ENOSYS; -} - -int messages_get_message(void *session, const char *handle, - unsigned long flags, - messages_get_message_cb callback, - void *user_data) -{ - return -ENOSYS; -} - -int messages_update_inbox(void *session, messages_status_cb callback, - void *user_data) -{ - return -ENOSYS; -} - -int messages_set_read(void *session, const char *handle, uint8_t value, - messages_status_cb callback, void *user_data) -{ - return -ENOSYS; -} - -int messages_set_delete(void *session, const char *handle, uint8_t value, - messages_status_cb callback, void *user_data) -{ - return -ENOSYS; -} - -void messages_abort(void *s) -{ - struct session *session = s; - - if (session->request) { - g_idle_remove_by_data(session->request); - session->request = NULL; - } -} diff --git a/GRIB_BLE_HUB/libs/ble_extend/obexd/plugins/messages.h b/GRIB_BLE_HUB/libs/ble_extend/obexd/plugins/messages.h deleted file mode 100644 index 00a16b1..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/obexd/plugins/messages.h +++ /dev/null @@ -1,309 +0,0 @@ -/* - * - * OBEX Server - * - * Copyright (C) 2010-2011 Nokia Corporation - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#include -#include - -/* Those are used by backend to notify transport plugin which properties did it - * send. - */ -#define PMASK_SUBJECT 0x0001 -#define PMASK_DATETIME 0x0002 -#define PMASK_SENDER_NAME 0x0004 -#define PMASK_SENDER_ADDRESSING 0x0008 -#define PMASK_RECIPIENT_NAME 0x0010 -#define PMASK_RECIPIENT_ADDRESSING 0x0020 -#define PMASK_TYPE 0x0040 -#define PMASK_SIZE 0x0080 -#define PMASK_RECEPTION_STATUS 0x0100 -#define PMASK_TEXT 0x0200 -#define PMASK_ATTACHMENT_SIZE 0x0400 -#define PMASK_PRIORITY 0x0800 -#define PMASK_READ 0x1000 -#define PMASK_SENT 0x2000 -#define PMASK_PROTECTED 0x4000 -#define PMASK_REPLYTO_ADDRESSING 0x8000 - -/* This one is used in a response to GetMessagesListing. Use PMASK_* values to - * notify the plugin which members are actually set. Backend shall not omit - * properties required by MAP specification (subject, datetime, - * recipient_addressing, type, size, reception_status, attachment_size) unless - * ordered by PARAMETERMASK. Boolean values should be probably - * always sent (need checking). Handle is mandatory. Plugin will filter out any - * properties that were not wanted by MCE. - * - * Handle shall be set to hexadecimal representation with upper-case letters. No - * prefix shall be appended and without no zeros. This corresponds to PTS - * behaviour described in comments to the MAP specification. - * - * The rest of char * fields shall be set according to the MAP specification - * rules. - */ -struct messages_message { - uint32_t mask; - char *handle; - char *subject; - char *datetime; - char *sender_name; - char *sender_addressing; - char *replyto_addressing; - char *recipient_name; - char *recipient_addressing; - char *type; - char *reception_status; - char *size; - char *attachment_size; - gboolean text; - gboolean read; - gboolean sent; - gboolean protect; - gboolean priority; -}; - -/* Type of message event to be delivered to MNS server */ -enum messages_event_type { - MET_NEW_MESSAGE, - MET_DELIVERY_SUCCESS, - MET_SENDING_SUCCESS, - MET_DELIVERY_FAILURE, - MET_SENDING_FAILURE, - MET_MEMORY_FULL, - MET_MEMORY_AVAILABLE, - MET_MESSAGE_DELETED, - MET_MESSAGE_SHIFT -}; - -/* Data for sending MNS notification. Handle shall be formatted as described in - * messages_message. - */ -struct messages_event { - enum messages_event_type type; - uint8_t instance_id; - char *handle; - char *folder; - char *old_folder; - char *msg_type; -}; - -/* parameter_mask: |-ed PMASK_* values - * See MAP specification for the rest. - */ -struct messages_filter { - uint32_t parameter_mask; - uint8_t type; - const char *period_begin; - const char *period_end; - uint8_t read_status; - const char *recipient; - const char *originator; - uint8_t priority; -}; - -/* This is called once after server starts. - * - * Returns value less than zero if error. This will prevent MAP plugin from - * starting. - */ -int messages_init(void); - -/* This gets called right before server finishes - */ -void messages_exit(void); - -/* Starts a new MAP session. - * - * session: variable to store pointer to backend session data. This one shall be - * passed to all in-session calls. - * - * If session start succeeded, backend shall return 0. Otherwise the error value - * will be sent as a response to OBEX connect. - */ -int messages_connect(void **session); - -/* Closes a MAP session. - * - * This call should free buffer reserved by messages_connect. - */ -void messages_disconnect(void *session); - -/****************************************************************************** - * NOTE on callbacks. - * - * All functions requiring callbacks have to call them asynchronously. - * 'user_data' is for passing arbitrary user data. - * - * Functions for GetMessagesListing, GetFolder listing and GetMessage call their - * callbacks multiple times - one for each listing entry or message body chunk. - * To indicate the end of operation backend must call callback with the data - * pointer parameter set to NULL. - * - * If err == -EAGAIN the transport * plugin does not wake IO. - * - * Keep in mind that application parameters has to be send first. Therefore the - * first time err == 0 and thus sending is started, callback will use provided - * parameters (e.g. size in case of folder listing) to build applications - * parameters header used in response. In any other case those parameters will - * be ignored. - * - * If err != 0 && err != -EAGAIN, the operation is finished immediately and err - * value is used to set the error code in OBEX response. - ******************************************************************************/ - -/* Registers for messaging events notifications. - * - * session: Backend session. - * send_event: Function that will be called to indicate a new event. - * - * To unregister currently registered notifications, call this with send_event - * set to NULL. - */ -int messages_set_notification_registration(void *session, - void (*send_event)(void *session, - const struct messages_event *event, void *user_data), - void *user_data); - -/* Changes current directory. - * - * session: Backend session. - * name: Subdirectory to go to. If empty or null and cdup is false, go to the - * root directory. - * cdup: If true, go up one level first. - */ -int messages_set_folder(void *session, const char *name, gboolean cdup); - -/* Retrieves subdirectories listing from a current directory. - * - * session: Backend session. - * name: Optional subdirectory name (not strictly required by MAP). - * max: Maximum number of entries to retrieve. - * offset: Offset of the first entry. - * size: Total size of listing to be returned. - * - * Callback shall be called for every entry of the listing. 'name' is the - * subdirectory name. - */ -typedef void (*messages_folder_listing_cb)(void *session, int err, - uint16_t size, const char *name, void *user_data); - -int messages_get_folder_listing(void *session, const char *name, uint16_t max, - uint16_t offset, - messages_folder_listing_cb callback, - void *user_data); - -/* Retrieves messages listing from a current directory. - * - * session: Backend session. - * name: Optional subdirectory name. - * max: Maximum number of entries to retrieve. - * offset: Offset of the first entry. - * subject_len: Maximum string length of the "subject" parameter in the entries. - * filter: Filter to apply on returned message listing. - * size: Total size of listing to be returned. - * newmsg: Indicates presence of unread messages. - * - * Callback shall be called for every entry of the listing, giving message data - * in 'message'. - */ -typedef void (*messages_get_messages_listing_cb)(void *session, int err, - uint16_t size, gboolean newmsg, - const struct messages_message *message, - void *user_data); - -int messages_get_messages_listing(void *session, const char *name, - uint16_t max, uint16_t offset, - uint8_t subject_len, - const struct messages_filter *filter, - messages_get_messages_listing_cb callback, - void *user_data); - -#define MESSAGES_ATTACHMENT (1 << 0) -#define MESSAGES_UTF8 (1 << 1) -#define MESSAGES_FRACTION (1 << 2) -#define MESSAGES_NEXT (1 << 3) - -/* Retrieves bMessage object (see MAP specification, ch. 3.1.3) of a given - * message. - * - * session: Backend session. - * handle: Handle of the message to retrieve. - * flags: or-ed mask of following: - * MESSAGES_ATTACHMENT: Selects whether or not attachments (if any) are to - * be included. - * MESSAGES_UTF8: If true, convert message to utf-8. Otherwise use native - * encoding. - * MESSAGES_FRACTION: If true, deliver fractioned message. - * MESSAGES_NEXT: If fraction is true this indicates whether to retrieve - * first fraction - * or the next one. - * fmore: Indicates whether next fraction is available. - * chunk: chunk of bMessage body - * - * Callback allows for returning bMessage in chunks. - */ -typedef void (*messages_get_message_cb)(void *session, int err, gboolean fmore, - const char *chunk, void *user_data); - -int messages_get_message(void *session, const char *handle, - unsigned long flags, - messages_get_message_cb callback, - void *user_data); - -typedef void (*messages_status_cb)(void *session, int err, void *user_data); - -/* Informs Message Server to Update Inbox via network. - * - * session: Backend session. - * user_data: User data if any to be sent. - * Callback shall be called for every update inbox request received from MCE. - */ -int messages_update_inbox(void *session, messages_status_cb callback, - void *user_data); -/* Informs Message Server to modify read status of a given message. - * - * session: Backend session. - * handle: Unique identifier to the message. - * value: Indicates the new value of the read status for a given message. - * Callback shall be called for every read status update request - * recieved from MCE. - * user_data: User data if any to be sent. - */ -int messages_set_read(void *session, const char *handle, uint8_t value, - messages_status_cb callback, void *user_data); - -/* Informs Message Server to modify delete status of a given message. - * - * session: Backend session. - * handle: Unique identifier to the message. - * value: Indicates the new value of the delete status for a given message. - * Callback shall be called for every delete status update request - * recieved from MCE. - * user_data: User data if any to be sent. - */ -int messages_set_delete(void *session, const char *handle, uint8_t value, - messages_status_cb callback, void *user_data); - -/* Aborts currently pending request. - * - * session: Backend session. - */ -void messages_abort(void *session); diff --git a/GRIB_BLE_HUB/libs/ble_extend/obexd/plugins/opp.c b/GRIB_BLE_HUB/libs/ble_extend/obexd/plugins/opp.c deleted file mode 100644 index 97bf943..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/obexd/plugins/opp.c +++ /dev/null @@ -1,186 +0,0 @@ -/* - * - * OBEX Server - * - * Copyright (C) 2007-2010 Nokia Corporation - * Copyright (C) 2007-2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include -#include -#include - -#include - -#include "obexd.h" -#include "plugin.h" -#include "obex.h" -#include "service.h" -#include "log.h" -#include "manager.h" -#include "filesystem.h" - -#define VCARD_TYPE "text/x-vcard" -#define VCARD_FILE CONFIGDIR "/vcard.vcf" - -static void *opp_connect(struct obex_session *os, int *err) -{ - if (err) - *err = 0; - - return manager_register_transfer(os); -} - -static void opp_progress(struct obex_session *os, void *user_data) -{ - manager_emit_transfer_progress(user_data); -} - -static int opp_chkput(struct obex_session *os, void *user_data) -{ - char *folder, *name, *path; - int32_t time; - const char *t; - int err; - - if (obex_get_size(os) == OBJECT_SIZE_DELETE) - return -ENOSYS; - - t = obex_get_name(os); - if (t != NULL && !is_filename(t)) - return -EBADR; - - if (obex_option_auto_accept()) { - folder = g_strdup(obex_option_root_folder()); - name = g_strdup(obex_get_name(os)); - goto skip_auth; - } - - time = 0; - err = manager_request_authorization(user_data, time, &folder, &name); - if (err < 0) - return -EPERM; - - if (folder == NULL) - folder = g_strdup(obex_option_root_folder()); - - if (name == NULL) - name = g_strdup(obex_get_name(os)); - -skip_auth: - if (name == NULL || strlen(name) == 0) { - err = -EBADR; - goto failed; - } - - if (g_strcmp0(name, obex_get_name(os)) != 0) - obex_set_name(os, name); - - path = g_build_filename(folder, name, NULL); - - err = obex_put_stream_start(os, path); - - g_free(path); - - if (err < 0) - goto failed; - - manager_emit_transfer_started(user_data); - -failed: - g_free(folder); - g_free(name); - - return err; -} - -static int opp_put(struct obex_session *os, void *user_data) -{ - const char *name = obex_get_name(os); - const char *folder = obex_option_root_folder(); - - if (folder == NULL) - return -EPERM; - - if (name == NULL) - return -EBADR; - - return 0; -} - -static int opp_get(struct obex_session *os, void *user_data) -{ - const char *type; - - if (obex_get_name(os)) - return -EPERM; - - type = obex_get_type(os); - - if (type == NULL) - return -EPERM; - - if (g_ascii_strcasecmp(type, VCARD_TYPE) == 0) { - if (obex_get_stream_start(os, VCARD_FILE) < 0) - return -ENOENT; - - } else - return -EPERM; - - return 0; -} - -static void opp_disconnect(struct obex_session *os, void *user_data) -{ - manager_unregister_transfer(user_data); -} - -static void opp_reset(struct obex_session *os, void *user_data) -{ - manager_emit_transfer_completed(user_data); -} - -static struct obex_service_driver driver = { - .name = "Object Push server", - .service = OBEX_OPP, - .connect = opp_connect, - .progress = opp_progress, - .disconnect = opp_disconnect, - .get = opp_get, - .put = opp_put, - .chkput = opp_chkput, - .reset = opp_reset -}; - -static int opp_init(void) -{ - return obex_service_driver_register(&driver); -} - -static void opp_exit(void) -{ - obex_service_driver_unregister(&driver); -} - -OBEX_PLUGIN_DEFINE(opp, opp_init, opp_exit) diff --git a/GRIB_BLE_HUB/libs/ble_extend/obexd/plugins/pbap.c b/GRIB_BLE_HUB/libs/ble_extend/obexd/plugins/pbap.c deleted file mode 100644 index 4740188..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/obexd/plugins/pbap.c +++ /dev/null @@ -1,991 +0,0 @@ -/* - * - * OBEX Server - * - * Copyright (C) 2009-2010 Intel Corporation - * Copyright (C) 2007-2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include - -#include "obexd.h" -#include "plugin.h" -#include "log.h" -#include "obex.h" -#include "service.h" -#include "phonebook.h" -#include "mimetype.h" -#include "filesystem.h" -#include "manager.h" - -#define PHONEBOOK_TYPE "x-bt/phonebook" -#define VCARDLISTING_TYPE "x-bt/vcard-listing" -#define VCARDENTRY_TYPE "x-bt/vcard" - -#define ORDER_TAG 0x01 -#define SEARCHVALUE_TAG 0x02 -#define SEARCHATTRIB_TAG 0x03 -#define MAXLISTCOUNT_TAG 0x04 -#define LISTSTARTOFFSET_TAG 0x05 -#define FILTER_TAG 0x06 -#define FORMAT_TAG 0X07 -#define PHONEBOOKSIZE_TAG 0X08 -#define NEWMISSEDCALLS_TAG 0X09 - -struct cache { - gboolean valid; - uint32_t index; - GSList *entries; -}; - -struct cache_entry { - uint32_t handle; - char *id; - char *name; - char *sound; - char *tel; -}; - -struct pbap_session { - struct apparam_field *params; - char *folder; - uint32_t find_handle; - struct cache cache; - struct pbap_object *obj; -}; - -struct pbap_object { - GString *buffer; - GObexApparam *apparam; - gboolean firstpacket; - gboolean lastpart; - struct pbap_session *session; - void *request; -}; - -static const uint8_t PBAP_TARGET[TARGET_SIZE] = { - 0x79, 0x61, 0x35, 0xF0, 0xF0, 0xC5, 0x11, 0xD8, - 0x09, 0x66, 0x08, 0x00, 0x20, 0x0C, 0x9A, 0x66 }; - -typedef int (*cache_entry_find_f) (const struct cache_entry *entry, - const char *value); - -static void cache_entry_free(void *data) -{ - struct cache_entry *entry = data; - - g_free(entry->id); - g_free(entry->name); - g_free(entry->sound); - g_free(entry->tel); - g_free(entry); -} - -static gboolean entry_name_find(const struct cache_entry *entry, - const char *value) -{ - char *name; - gboolean ret; - - if (!entry->name) - return FALSE; - - if (strlen(value) == 0) - return TRUE; - - name = g_utf8_strdown(entry->name, -1); - ret = (g_strstr_len(name, -1, value) ? TRUE : FALSE); - g_free(name); - - return ret; -} - -static gboolean entry_sound_find(const struct cache_entry *entry, - const char *value) -{ - if (!entry->sound) - return FALSE; - - return (g_strstr_len(entry->sound, -1, value) ? TRUE : FALSE); -} - -static gboolean entry_tel_find(const struct cache_entry *entry, - const char *value) -{ - if (!entry->tel) - return FALSE; - - return (g_strstr_len(entry->tel, -1, value) ? TRUE : FALSE); -} - -static const char *cache_find(struct cache *cache, uint32_t handle) -{ - GSList *l; - - for (l = cache->entries; l; l = l->next) { - struct cache_entry *entry = l->data; - - if (entry->handle == handle) - return entry->id; - } - - return NULL; -} - -static void cache_clear(struct cache *cache) -{ - g_slist_free_full(cache->entries, cache_entry_free); - cache->entries = NULL; -} - -static void phonebook_size_result(const char *buffer, size_t bufsize, - int vcards, int missed, - gboolean lastpart, void *user_data) -{ - struct pbap_session *pbap = user_data; - uint16_t phonebooksize; - - if (pbap->obj->request) { - phonebook_req_finalize(pbap->obj->request); - pbap->obj->request = NULL; - } - - if (vcards < 0) - vcards = 0; - - DBG("vcards %d", vcards); - - phonebooksize = htons(vcards); - - pbap->obj->apparam = g_obex_apparam_set_uint16(NULL, PHONEBOOKSIZE_TAG, - phonebooksize); - - if (missed > 0) { - DBG("missed %d", missed); - - pbap->obj->apparam = g_obex_apparam_set_uint16( - pbap->obj->apparam, - NEWMISSEDCALLS_TAG, - missed); - } - - obex_object_set_io_flags(pbap->obj, G_IO_IN, 0); -} - -static void query_result(const char *buffer, size_t bufsize, int vcards, - int missed, gboolean lastpart, void *user_data) -{ - struct pbap_session *pbap = user_data; - - DBG(""); - - if (pbap->obj->request && lastpart) { - phonebook_req_finalize(pbap->obj->request); - pbap->obj->request = NULL; - } - - pbap->obj->lastpart = lastpart; - - if (vcards < 0) { - obex_object_set_io_flags(pbap->obj, G_IO_ERR, -ENOENT); - return; - } - - if (!pbap->obj->buffer) - pbap->obj->buffer = g_string_new_len(buffer, bufsize); - else - pbap->obj->buffer = g_string_append_len(pbap->obj->buffer, - buffer, bufsize); - - if (missed > 0) { - DBG("missed %d", missed); - - pbap->obj->firstpacket = TRUE; - - pbap->obj->apparam = g_obex_apparam_set_uint16( - pbap->obj->apparam, - NEWMISSEDCALLS_TAG, - missed); - } - - obex_object_set_io_flags(pbap->obj, G_IO_IN, 0); -} - -static void cache_entry_notify(const char *id, uint32_t handle, - const char *name, const char *sound, - const char *tel, void *user_data) -{ - struct pbap_session *pbap = user_data; - struct cache_entry *entry = g_new0(struct cache_entry, 1); - struct cache *cache = &pbap->cache; - - if (handle != PHONEBOOK_INVALID_HANDLE) - entry->handle = handle; - else - entry->handle = ++pbap->cache.index; - - entry->id = g_strdup(id); - entry->name = g_strdup(name); - entry->sound = g_strdup(sound); - entry->tel = g_strdup(tel); - - cache->entries = g_slist_append(cache->entries, entry); -} - -static int alpha_sort(gconstpointer a, gconstpointer b) -{ - const struct cache_entry *e1 = a; - const struct cache_entry *e2 = b; - - return g_strcmp0(e1->name, e2->name); -} - -static int indexed_sort(gconstpointer a, gconstpointer b) -{ - const struct cache_entry *e1 = a; - const struct cache_entry *e2 = b; - - return (e1->handle - e2->handle); -} - -static int phonetical_sort(gconstpointer a, gconstpointer b) -{ - const struct cache_entry *e1 = a; - const struct cache_entry *e2 = b; - - /* SOUND attribute is optional. Use Indexed sort if not present. */ - if (!e1->sound || !e2->sound) - return indexed_sort(a, b); - - return g_strcmp0(e1->sound, e2->sound); -} - -static GSList *sort_entries(GSList *l, uint8_t order, uint8_t search_attrib, - const char *value) -{ - GSList *sorted = NULL; - cache_entry_find_f find; - GCompareFunc sort; - char *searchval; - - /* - * Default sorter is "Indexed". Some backends doesn't inform the index, - * for this case a sequential internal index is assigned. - * 0x00 = indexed - * 0x01 = alphanumeric - * 0x02 = phonetic - */ - switch (order) { - case 0x01: - sort = alpha_sort; - break; - case 0x02: - sort = phonetical_sort; - break; - default: - sort = indexed_sort; - break; - } - - /* - * This implementation checks if the given field CONTAINS the - * search value(case insensitive). Name is the default field - * when the attribute is not provided. - */ - switch (search_attrib) { - /* Number */ - case 1: - find = entry_tel_find; - break; - /* Sound */ - case 2: - find = entry_sound_find; - break; - default: - find = entry_name_find; - break; - } - - searchval = value ? g_utf8_strdown(value, -1) : NULL; - for (; l; l = l->next) { - struct cache_entry *entry = l->data; - - if (searchval && !find(entry, (const char *) searchval)) - continue; - - sorted = g_slist_insert_sorted(sorted, entry, sort); - } - - g_free(searchval); - - return sorted; -} - -static int generate_response(void *user_data) -{ - struct pbap_session *pbap = user_data; - GSList *sorted; - GSList *l; - uint16_t max = pbap->params->maxlistcount; - - DBG(""); - - if (max == 0) { - /* Ignore all other parameter and return PhoneBookSize */ - uint16_t size = htons(g_slist_length(pbap->cache.entries)); - - pbap->obj->apparam = g_obex_apparam_set_uint16( - pbap->obj->apparam, - PHONEBOOKSIZE_TAG, - size); - - return 0; - } - - /* - * Don't free the sorted list content: this list contains - * only the reference for the "real" cache entry. - */ - sorted = sort_entries(pbap->cache.entries, pbap->params->order, - pbap->params->searchattrib, - (const char *) pbap->params->searchval); - - /* Computing offset considering first entry of the phonebook */ - l = g_slist_nth(sorted, pbap->params->liststartoffset); - - pbap->obj->buffer = g_string_new(VCARD_LISTING_BEGIN); - for (; l && max; l = l->next, max--) { - const struct cache_entry *entry = l->data; - char *escaped_name = g_markup_escape_text(entry->name, -1); - - g_string_append_printf(pbap->obj->buffer, - VCARD_LISTING_ELEMENT, entry->handle, escaped_name); - - g_free(escaped_name); - } - - pbap->obj->buffer = g_string_append(pbap->obj->buffer, - VCARD_LISTING_END); - g_slist_free(sorted); - - return 0; -} - -static void cache_ready_notify(void *user_data) -{ - struct pbap_session *pbap = user_data; - - DBG(""); - - phonebook_req_finalize(pbap->obj->request); - pbap->obj->request = NULL; - - pbap->cache.valid = TRUE; - - generate_response(pbap); - obex_object_set_io_flags(pbap->obj, G_IO_IN, 0); -} - -static void cache_entry_done(void *user_data) -{ - struct pbap_session *pbap = user_data; - const char *id; - int ret; - - DBG(""); - - pbap->cache.valid = TRUE; - - id = cache_find(&pbap->cache, pbap->find_handle); - if (id == NULL) { - DBG("Entry %d not found on cache", pbap->find_handle); - obex_object_set_io_flags(pbap->obj, G_IO_ERR, -ENOENT); - return; - } - - phonebook_req_finalize(pbap->obj->request); - pbap->obj->request = phonebook_get_entry(pbap->folder, id, - pbap->params, query_result, pbap, &ret); - if (ret < 0) - obex_object_set_io_flags(pbap->obj, G_IO_ERR, ret); -} - -static struct apparam_field *parse_aparam(const uint8_t *buffer, uint32_t hlen) -{ - GObexApparam *apparam; - struct apparam_field *param; - - apparam = g_obex_apparam_decode(buffer, hlen); - if (apparam == NULL) - return NULL; - - param = g_new0(struct apparam_field, 1); - - g_obex_apparam_get_uint8(apparam, ORDER_TAG, ¶m->order); - g_obex_apparam_get_uint8(apparam, SEARCHATTRIB_TAG, - ¶m->searchattrib); - g_obex_apparam_get_uint8(apparam, FORMAT_TAG, ¶m->format); - g_obex_apparam_get_uint16(apparam, MAXLISTCOUNT_TAG, - ¶m->maxlistcount); - g_obex_apparam_get_uint16(apparam, LISTSTARTOFFSET_TAG, - ¶m->liststartoffset); - g_obex_apparam_get_uint64(apparam, FILTER_TAG, ¶m->filter); - param->searchval = g_obex_apparam_get_string(apparam, SEARCHVALUE_TAG); - - DBG("o %x sa %x sv %s fil %" G_GINT64_MODIFIER "x for %x max %x off %x", - param->order, param->searchattrib, param->searchval, - param->filter, param->format, param->maxlistcount, - param->liststartoffset); - - g_obex_apparam_free(apparam); - - return param; -} - -static void *pbap_connect(struct obex_session *os, int *err) -{ - struct pbap_session *pbap; - - manager_register_session(os); - - pbap = g_new0(struct pbap_session, 1); - pbap->folder = g_strdup("/"); - pbap->find_handle = PHONEBOOK_INVALID_HANDLE; - - if (err) - *err = 0; - - return pbap; -} - -static int pbap_get(struct obex_session *os, void *user_data) -{ - struct pbap_session *pbap = user_data; - const char *type = obex_get_type(os); - const char *name = obex_get_name(os); - struct apparam_field *params; - const uint8_t *buffer; - char *path; - ssize_t rsize; - int ret; - - DBG("name %s type %s pbap %p", name, type, pbap); - - if (type == NULL) - return -EBADR; - - rsize = obex_get_apparam(os, &buffer); - if (rsize < 0) { - if (g_ascii_strcasecmp(type, VCARDENTRY_TYPE) != 0) - return -EBADR; - - rsize = 0; - } - - params = parse_aparam(buffer, rsize); - if (params == NULL) - return -EBADR; - - if (pbap->params) { - g_free(pbap->params->searchval); - g_free(pbap->params); - } - - pbap->params = params; - - if (g_ascii_strcasecmp(type, PHONEBOOK_TYPE) == 0) { - /* Always contains the absolute path */ - if (g_path_is_absolute(name)) - path = g_strdup(name); - else - path = g_build_filename("/", name, NULL); - - } else if (g_ascii_strcasecmp(type, VCARDLISTING_TYPE) == 0) { - /* Always relative */ - if (!name || strlen(name) == 0) - /* Current folder */ - path = g_strdup(pbap->folder); - else - /* Current folder + relative path */ - path = g_build_filename(pbap->folder, name, NULL); - - } else if (g_ascii_strcasecmp(type, VCARDENTRY_TYPE) == 0) { - /* File name only */ - path = g_strdup(name); - } else - return -EBADR; - - if (path == NULL) - return -EBADR; - - ret = obex_get_stream_start(os, path); - - g_free(path); - - return ret; -} - -static int pbap_setpath(struct obex_session *os, void *user_data) -{ - struct pbap_session *pbap = user_data; - const char *name; - const uint8_t *nonhdr; - char *fullname; - int err; - - if (obex_get_non_header_data(os, &nonhdr) != 2) { - error("Set path failed: flag and constants not found!"); - return -EBADMSG; - } - - name = obex_get_name(os); - - DBG("name %s folder %s nonhdr 0x%x%x", name, pbap->folder, - nonhdr[0], nonhdr[1]); - - fullname = phonebook_set_folder(pbap->folder, name, nonhdr[0], &err); - if (err < 0) - return err; - - g_free(pbap->folder); - pbap->folder = fullname; - - /* - * FIXME: Define a criteria to mark the cache as invalid - */ - pbap->cache.valid = FALSE; - pbap->cache.index = 0; - cache_clear(&pbap->cache); - - return 0; -} - -static void pbap_disconnect(struct obex_session *os, void *user_data) -{ - struct pbap_session *pbap = user_data; - - manager_unregister_session(os); - - if (pbap->obj) - pbap->obj->session = NULL; - - if (pbap->params) { - g_free(pbap->params->searchval); - g_free(pbap->params); - } - - cache_clear(&pbap->cache); - g_free(pbap->folder); - g_free(pbap); -} - -static int pbap_chkput(struct obex_session *os, void *user_data) -{ - /* Rejects all PUTs */ - return -EBADR; -} - -static struct obex_service_driver pbap = { - .name = "Phonebook Access server", - .service = OBEX_PBAP, - .target = PBAP_TARGET, - .target_size = TARGET_SIZE, - .connect = pbap_connect, - .get = pbap_get, - .setpath = pbap_setpath, - .disconnect = pbap_disconnect, - .chkput = pbap_chkput -}; - -static struct pbap_object *vobject_create(struct pbap_session *pbap, - void *request) -{ - struct pbap_object *obj; - - obj = g_new0(struct pbap_object, 1); - obj->session = pbap; - pbap->obj = obj; - obj->request = request; - - return obj; -} - -static void *vobject_pull_open(const char *name, int oflag, mode_t mode, - void *context, size_t *size, int *err) -{ - struct pbap_session *pbap = context; - phonebook_cb cb; - int ret; - void *request; - - DBG("name %s context %p maxlistcount %d", name, context, - pbap->params->maxlistcount); - - if (oflag != O_RDONLY) { - ret = -EPERM; - goto fail; - } - - if (name == NULL) { - ret = -EBADR; - goto fail; - } - - if (pbap->params->maxlistcount == 0) - cb = phonebook_size_result; - else - cb = query_result; - - request = phonebook_pull(name, pbap->params, cb, pbap, &ret); - - if (ret < 0) - goto fail; - - /* reading first part of results from backend */ - ret = phonebook_pull_read(request); - if (ret < 0) - goto fail; - - if (err) - *err = 0; - - return vobject_create(pbap, request); - -fail: - if (err) - *err = ret; - - return NULL; -} - -static int vobject_close(void *object) -{ - struct pbap_object *obj = object; - - DBG(""); - - if (obj->session) - obj->session->obj = NULL; - - if (obj->buffer) - g_string_free(obj->buffer, TRUE); - - if (obj->apparam) - g_obex_apparam_free(obj->apparam); - - if (obj->request) - phonebook_req_finalize(obj->request); - - g_free(obj); - - return 0; -} - -static void *vobject_list_open(const char *name, int oflag, mode_t mode, - void *context, size_t *size, int *err) -{ - struct pbap_session *pbap = context; - struct pbap_object *obj = NULL; - int ret; - void *request; - - DBG("name %s context %p valid %d", name, context, pbap->cache.valid); - - if (oflag != O_RDONLY) { - ret = -EPERM; - goto fail; - } - - if (name == NULL) { - ret = -EBADR; - goto fail; - } - - /* PullvCardListing always get the contacts from the cache */ - - if (pbap->cache.valid) { - obj = vobject_create(pbap, NULL); - ret = generate_response(pbap); - } else { - request = phonebook_create_cache(name, cache_entry_notify, - cache_ready_notify, pbap, &ret); - if (ret == 0) - obj = vobject_create(pbap, request); - } - if (ret < 0) - goto fail; - - if (err) - *err = 0; - - return obj; - -fail: - if (obj) - vobject_close(obj); - - if (err) - *err = ret; - - return NULL; -} - -static void *vobject_vcard_open(const char *name, int oflag, mode_t mode, - void *context, size_t *size, int *err) -{ - struct pbap_session *pbap = context; - const char *id; - uint32_t handle; - int ret; - void *request; - - DBG("name %s context %p valid %d", name, context, pbap->cache.valid); - - if (oflag != O_RDONLY) { - ret = -EPERM; - goto fail; - } - - if (name == NULL || sscanf(name, "%u.vcf", &handle) != 1) { - ret = -EBADR; - goto fail; - } - - if (pbap->cache.valid == FALSE) { - pbap->find_handle = handle; - request = phonebook_create_cache(pbap->folder, - cache_entry_notify, cache_entry_done, pbap, &ret); - goto done; - } - - id = cache_find(&pbap->cache, handle); - if (!id) { - ret = -ENOENT; - goto fail; - } - - request = phonebook_get_entry(pbap->folder, id, pbap->params, - query_result, pbap, &ret); - -done: - if (ret < 0) - goto fail; - - if (err) - *err = 0; - - return vobject_create(pbap, request); - -fail: - if (err) - *err = ret; - - return NULL; -} - -static ssize_t vobject_pull_get_next_header(void *object, void *buf, size_t mtu, - uint8_t *hi) -{ - struct pbap_object *obj = object; - struct pbap_session *pbap = obj->session; - - if (!obj->buffer && !obj->apparam) - return -EAGAIN; - - *hi = G_OBEX_HDR_APPARAM; - - if (pbap->params->maxlistcount == 0 || obj->firstpacket) { - obj->firstpacket = FALSE; - - return g_obex_apparam_encode(obj->apparam, buf, mtu); - } - - return 0; -} - -static ssize_t vobject_pull_read(void *object, void *buf, size_t count) -{ - struct pbap_object *obj = object; - struct pbap_session *pbap = obj->session; - int len, ret; - - DBG("buffer %p maxlistcount %d", obj->buffer, - pbap->params->maxlistcount); - - if (!obj->buffer) { - if (pbap->params->maxlistcount == 0) - return -ENOSTR; - - return -EAGAIN; - } - - len = string_read(obj->buffer, buf, count); - if (len == 0 && !obj->lastpart) { - /* in case when buffer is empty and we know that more - * data is still available in backend, requesting new - * data part via phonebook_pull_read and returning - * -EAGAIN to suspend request for now */ - ret = phonebook_pull_read(obj->request); - if (ret) - return -EPERM; - - return -EAGAIN; - } - - return len; -} - -static ssize_t vobject_list_get_next_header(void *object, void *buf, size_t mtu, - uint8_t *hi) -{ - struct pbap_object *obj = object; - struct pbap_session *pbap = obj->session; - - /* Backend still busy reading contacts */ - if (!pbap->cache.valid) - return -EAGAIN; - - *hi = G_OBEX_HDR_APPARAM; - - if (pbap->params->maxlistcount == 0) - return g_obex_apparam_encode(obj->apparam, buf, mtu); - - return 0; -} - -static ssize_t vobject_list_read(void *object, void *buf, size_t count) -{ - struct pbap_object *obj = object; - struct pbap_session *pbap = obj->session; - - DBG("valid %d maxlistcount %d", pbap->cache.valid, - pbap->params->maxlistcount); - - if (pbap->params->maxlistcount == 0) - return -ENOSTR; - - return string_read(obj->buffer, buf, count); -} - -static ssize_t vobject_vcard_read(void *object, void *buf, size_t count) -{ - struct pbap_object *obj = object; - - DBG("buffer %p", obj->buffer); - - if (!obj->buffer) - return -EAGAIN; - - return string_read(obj->buffer, buf, count); -} - -static struct obex_mime_type_driver mime_pull = { - .target = PBAP_TARGET, - .target_size = TARGET_SIZE, - .mimetype = "x-bt/phonebook", - .open = vobject_pull_open, - .close = vobject_close, - .read = vobject_pull_read, - .get_next_header = vobject_pull_get_next_header, -}; - -static struct obex_mime_type_driver mime_list = { - .target = PBAP_TARGET, - .target_size = TARGET_SIZE, - .mimetype = "x-bt/vcard-listing", - .open = vobject_list_open, - .close = vobject_close, - .read = vobject_list_read, - .get_next_header = vobject_list_get_next_header, -}; - -static struct obex_mime_type_driver mime_vcard = { - .target = PBAP_TARGET, - .target_size = TARGET_SIZE, - .mimetype = "x-bt/vcard", - .open = vobject_vcard_open, - .close = vobject_close, - .read = vobject_vcard_read, -}; - -static int pbap_init(void) -{ - int err; - - err = phonebook_init(); - if (err < 0) - return err; - - err = obex_mime_type_driver_register(&mime_pull); - if (err < 0) - goto fail_mime_pull; - - err = obex_mime_type_driver_register(&mime_list); - if (err < 0) - goto fail_mime_list; - - err = obex_mime_type_driver_register(&mime_vcard); - if (err < 0) - goto fail_mime_vcard; - - err = obex_service_driver_register(&pbap); - if (err < 0) - goto fail_pbap_reg; - - return 0; - -fail_pbap_reg: - obex_mime_type_driver_unregister(&mime_vcard); -fail_mime_vcard: - obex_mime_type_driver_unregister(&mime_list); -fail_mime_list: - obex_mime_type_driver_unregister(&mime_pull); -fail_mime_pull: - phonebook_exit(); - - return err; -} - -static void pbap_exit(void) -{ - obex_service_driver_unregister(&pbap); - obex_mime_type_driver_unregister(&mime_pull); - obex_mime_type_driver_unregister(&mime_list); - obex_mime_type_driver_unregister(&mime_vcard); - phonebook_exit(); -} - -OBEX_PLUGIN_DEFINE(pbap, pbap_init, pbap_exit) diff --git a/GRIB_BLE_HUB/libs/ble_extend/obexd/plugins/pcsuite.c b/GRIB_BLE_HUB/libs/ble_extend/obexd/plugins/pcsuite.c deleted file mode 100644 index 4ce2fe4..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/obexd/plugins/pcsuite.c +++ /dev/null @@ -1,513 +0,0 @@ -/* - * - * OBEX Server - * - * Copyright (C) 2007-2010 Nokia Corporation - * Copyright (C) 2007-2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include - -#include "obexd.h" -#include "plugin.h" -#include "log.h" -#include "obex.h" -#include "mimetype.h" -#include "service.h" -#include "ftp.h" - -#define PCSUITE_CHANNEL 24 -#define PCSUITE_WHO_SIZE 8 - -#define PCSUITE_RECORD " \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ -" - -#define BACKUP_BUS_NAME "com.nokia.backup.plugin" -#define BACKUP_PATH "/com/nokia/backup" -#define BACKUP_PLUGIN_INTERFACE "com.nokia.backup.plugin" -#define BACKUP_DBUS_TIMEOUT (1000 * 60 * 15) - -static const uint8_t FTP_TARGET[TARGET_SIZE] = { - 0xF9, 0xEC, 0x7B, 0xC4, 0x95, 0x3C, 0x11, 0xD2, - 0x98, 0x4E, 0x52, 0x54, 0x00, 0xDC, 0x9E, 0x09 }; - -static const uint8_t PCSUITE_WHO[PCSUITE_WHO_SIZE] = { - 'P', 'C', ' ', 'S', 'u', 'i', 't', 'e' }; - -struct pcsuite_session { - struct ftp_session *ftp; - char *lock_file; - int fd; -}; - -static void *pcsuite_connect(struct obex_session *os, int *err) -{ - struct pcsuite_session *pcsuite; - struct ftp_session *ftp; - int fd; - char *filename; - - DBG(""); - - ftp = ftp_connect(os, err); - if (ftp == NULL) - return NULL; - - filename = g_build_filename(g_get_home_dir(), ".pcsuite", NULL); - - fd = open(filename, O_WRONLY | O_CREAT | O_EXCL, 0644); - if (fd < 0 && errno != EEXIST) { - error("open(%s): %s(%d)", filename, strerror(errno), errno); - goto fail; - } - - /* Try to remove the file before retrying since it could be - that some process left/crash without removing it */ - if (fd < 0) { - if (remove(filename) < 0) { - error("remove(%s): %s(%d)", filename, strerror(errno), - errno); - goto fail; - } - - fd = open(filename, O_WRONLY | O_CREAT | O_EXCL, 0644); - if (fd < 0) { - error("open(%s): %s(%d)", filename, strerror(errno), - errno); - goto fail; - } - } - - DBG("%s created", filename); - - pcsuite = g_new0(struct pcsuite_session, 1); - pcsuite->ftp = ftp; - pcsuite->lock_file = filename; - pcsuite->fd = fd; - - DBG("session %p created", pcsuite); - - if (err) - *err = 0; - - return pcsuite; - -fail: - if (ftp) - ftp_disconnect(os, ftp); - if (err) - *err = -errno; - - g_free(filename); - - return NULL; -} - -static int pcsuite_get(struct obex_session *os, void *user_data) -{ - struct pcsuite_session *pcsuite = user_data; - - DBG("%p", pcsuite); - - return ftp_get(os, pcsuite->ftp); -} - -static int pcsuite_chkput(struct obex_session *os, void *user_data) -{ - struct pcsuite_session *pcsuite = user_data; - - DBG("%p", pcsuite); - - return ftp_chkput(os, pcsuite->ftp); -} - -static int pcsuite_put(struct obex_session *os, void *user_data) -{ - struct pcsuite_session *pcsuite = user_data; - - DBG("%p", pcsuite); - - return ftp_put(os, pcsuite->ftp); -} - -static int pcsuite_setpath(struct obex_session *os, void *user_data) -{ - struct pcsuite_session *pcsuite = user_data; - - DBG("%p", pcsuite); - - return ftp_setpath(os, pcsuite->ftp); -} - -static int pcsuite_action(struct obex_session *os, void *user_data) -{ - struct pcsuite_session *pcsuite = user_data; - - DBG("%p", pcsuite); - - return ftp_action(os, pcsuite->ftp); -} - -static void pcsuite_disconnect(struct obex_session *os, void *user_data) -{ - struct pcsuite_session *pcsuite = user_data; - - DBG("%p", pcsuite); - - if (pcsuite->fd >= 0) - close(pcsuite->fd); - - if (pcsuite->lock_file) { - remove(pcsuite->lock_file); - g_free(pcsuite->lock_file); - } - - if (pcsuite->ftp) - ftp_disconnect(os, pcsuite->ftp); - - g_free(pcsuite); -} - -static struct obex_service_driver pcsuite = { - .name = "Nokia OBEX PC Suite Services", - .service = OBEX_PCSUITE, - .channel = PCSUITE_CHANNEL, - .secure = TRUE, - .record = PCSUITE_RECORD, - .target = FTP_TARGET, - .target_size = TARGET_SIZE, - .who = PCSUITE_WHO, - .who_size = PCSUITE_WHO_SIZE, - .connect = pcsuite_connect, - .get = pcsuite_get, - .put = pcsuite_put, - .chkput = pcsuite_chkput, - .setpath = pcsuite_setpath, - .action = pcsuite_action, - .disconnect = pcsuite_disconnect -}; - -struct backup_object { - char *cmd; - int fd; - int oflag; - int error_code; - mode_t mode; - DBusPendingCall *pending_call; - DBusConnection *conn; -}; - -static void on_backup_dbus_notify(DBusPendingCall *pending_call, - void *user_data) -{ - struct backup_object *obj = user_data; - DBusMessage *reply; - const char *filename; - int error_code; - - DBG("Notification received for pending call - %s", obj->cmd); - - reply = dbus_pending_call_steal_reply(pending_call); - - if (reply && dbus_message_get_args(reply, NULL, DBUS_TYPE_INT32, - &error_code, DBUS_TYPE_STRING, - &filename, DBUS_TYPE_INVALID)) { - - obj->error_code = error_code; - - if (filename) { - DBG("Notification - file path = %s, error_code = %d", - filename, error_code); - if (error_code == 0) - obj->fd = open(filename,obj->oflag,obj->mode); - } - - } else - DBG("Notification timed out or connection got closed"); - - if (reply) - dbus_message_unref(reply); - - dbus_pending_call_unref(pending_call); - obj->pending_call = NULL; - dbus_connection_unref(obj->conn); - obj->conn = NULL; - - if (obj->fd >= 0) { - DBG("File opened, setting io flags, cmd = %s", - obj->cmd); - if (obj->oflag == O_RDONLY) - obex_object_set_io_flags(user_data, G_IO_IN, 0); - else - obex_object_set_io_flags(user_data, G_IO_OUT, 0); - } else { - DBG("File open error, setting io error, cmd = %s", - obj->cmd); - obex_object_set_io_flags(user_data, G_IO_ERR, -EPERM); - } -} - -static gboolean send_backup_dbus_message(const char *oper, - struct backup_object *obj, - size_t *size) -{ - DBusConnection *conn; - DBusMessage *msg; - DBusPendingCall *pending_call; - gboolean ret = FALSE; - dbus_uint32_t file_size; - - file_size = size ? *size : 0; - - conn = g_dbus_setup_bus(DBUS_BUS_SESSION, NULL, NULL); - - if (conn == NULL) - return FALSE; - - msg = dbus_message_new_method_call(BACKUP_BUS_NAME, BACKUP_PATH, - BACKUP_PLUGIN_INTERFACE, - "request"); - if (msg == NULL) { - dbus_connection_unref(conn); - return FALSE; - } - - dbus_message_append_args(msg, DBUS_TYPE_STRING, &oper, - DBUS_TYPE_STRING, &obj->cmd, - DBUS_TYPE_INT32, &file_size, - DBUS_TYPE_INVALID); - - if (strcmp(oper, "open") == 0) { - ret = dbus_connection_send_with_reply(conn, msg, &pending_call, - BACKUP_DBUS_TIMEOUT); - dbus_message_unref(msg); - if (ret) { - obj->conn = conn; - obj->pending_call = pending_call; - ret = dbus_pending_call_set_notify(pending_call, - on_backup_dbus_notify, - obj, NULL); - } else - dbus_connection_unref(conn); - } else { - ret = dbus_connection_send(conn, msg, NULL); - dbus_message_unref(msg); - dbus_connection_unref(conn); - } - - return ret; -} - -static void *backup_open(const char *name, int oflag, mode_t mode, - void *context, size_t *size, int *err) -{ - struct backup_object *obj = g_new0(struct backup_object, 1); - - DBG("cmd = %s", name); - - obj->cmd = g_path_get_basename(name); - obj->oflag = oflag; - obj->mode = mode; - obj->fd = -1; - obj->pending_call = NULL; - obj->conn = NULL; - obj->error_code = 0; - - if (send_backup_dbus_message("open", obj, size) == FALSE) { - g_free(obj); - obj = NULL; - } - - if (err) - *err = 0; - - return obj; -} - -static int backup_close(void *object) -{ - struct backup_object *obj = object; - size_t size = 0; - - DBG("cmd = %s", obj->cmd); - - if (obj->fd != -1) - close(obj->fd); - - if (obj->pending_call) { - dbus_pending_call_cancel(obj->pending_call); - dbus_pending_call_unref(obj->pending_call); - dbus_connection_unref(obj->conn); - } - - send_backup_dbus_message("close", obj, &size); - - g_free(obj->cmd); - g_free(obj); - - return 0; -} - -static ssize_t backup_read(void *object, void *buf, size_t count) -{ - struct backup_object *obj = object; - ssize_t ret = 0; - - if (obj->pending_call) { - DBG("cmd = %s, IN WAITING STAGE", obj->cmd); - return -EAGAIN; - } - - if (obj->fd != -1) { - DBG("cmd = %s, READING DATA", obj->cmd); - ret = read(obj->fd, buf, count); - if (ret < 0) - ret = -errno; - } else { - DBG("cmd = %s, PERMANENT FAILURE", obj->cmd); - ret = obj->error_code ? -obj->error_code : -ENOENT; - } - - return ret; -} - -static ssize_t backup_write(void *object, const void *buf, size_t count) -{ - struct backup_object *obj = object; - ssize_t ret = 0; - - if (obj->pending_call) { - DBG("cmd = %s, IN WAITING STAGE", obj->cmd); - return -EAGAIN; - } - - if (obj->fd != -1) { - ret = write(obj->fd, buf, count); - - DBG("cmd = %s, WRITTING", obj->cmd); - - if (ret < 0) { - error("backup: cmd = %s", obj->cmd); - ret = -errno; - } - } else { - error("backup: cmd = %s", obj->cmd); - ret = obj->error_code ? -obj->error_code : -ENOENT; - } - - return ret; -} - -static int backup_flush(void *object) -{ - DBG("%p", object); - - return 0; -} - -static struct obex_mime_type_driver backup = { - .target = FTP_TARGET, - .target_size = TARGET_SIZE, - .mimetype = "application/vnd.nokia-backup", - .open = backup_open, - .close = backup_close, - .read = backup_read, - .write = backup_write, - .flush = backup_flush, -}; - -static int pcsuite_init(void) -{ - int err; - - err = obex_service_driver_register(&pcsuite); - if (err < 0) - return err; - - err = obex_mime_type_driver_register(&backup); - if (err < 0) - obex_service_driver_unregister(&pcsuite); - - return err; -} - -static void pcsuite_exit(void) -{ - obex_mime_type_driver_unregister(&backup); - obex_service_driver_unregister(&pcsuite); -} - -OBEX_PLUGIN_DEFINE(pcsuite, pcsuite_init, pcsuite_exit) diff --git a/GRIB_BLE_HUB/libs/ble_extend/obexd/plugins/phonebook-dummy.c b/GRIB_BLE_HUB/libs/ble_extend/obexd/plugins/phonebook-dummy.c deleted file mode 100644 index 6b9d040..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/obexd/plugins/phonebook-dummy.c +++ /dev/null @@ -1,582 +0,0 @@ -/* - * - * OBEX Server - * - * Copyright (C) 2009-2010 Intel Corporation - * Copyright (C) 2007-2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "log.h" -#include "phonebook.h" - -typedef void (*vcard_func_t) (const char *file, VObject *vo, void *user_data); - -struct dummy_data { - phonebook_cb cb; - void *user_data; - const struct apparam_field *apparams; - char *folder; - int fd; - guint id; -}; - -struct cache_query { - phonebook_entry_cb entry_cb; - phonebook_cache_ready_cb ready_cb; - void *user_data; - DIR *dp; -}; - -static char *root_folder = NULL; - -static void dummy_free(void *user_data) -{ - struct dummy_data *dummy = user_data; - - if (dummy->fd >= 0) - close(dummy->fd); - - g_free(dummy->folder); - g_free(dummy); -} - -static void query_free(void *user_data) -{ - struct cache_query *query = user_data; - - if (query->dp) - closedir(query->dp); - - g_free(query); -} - -int phonebook_init(void) -{ - if (root_folder) - return 0; - - /* FIXME: It should NOT be hard-coded */ - root_folder = g_build_filename(getenv("HOME"), "phonebook", NULL); - - return 0; -} - -void phonebook_exit(void) -{ - g_free(root_folder); - root_folder = NULL; -} - -static int handle_cmp(gconstpointer a, gconstpointer b) -{ - const char *f1 = a; - const char *f2 = b; - unsigned int i1, i2; - - if (sscanf(f1, "%u.vcf", &i1) != 1) - return -1; - - if (sscanf(f2, "%u.vcf", &i2) != 1) - return -1; - - return (i1 - i2); -} - -static int foreach_vcard(DIR *dp, vcard_func_t func, uint16_t offset, - uint16_t maxlistcount, void *user_data, uint16_t *count) -{ - struct dirent *ep; - GSList *sorted = NULL, *l; - VObject *v; - FILE *fp; - int err, fd, folderfd; - uint16_t n = 0; - - folderfd = dirfd(dp); - if (folderfd < 0) { - err = errno; - error("dirfd(): %s(%d)", strerror(err), err); - return -err; - } - - /* - * Sorting vcards by file name. versionsort is a GNU extension. - * The simple sorting function implemented on handle_cmp address - * vcards handle only(handle is always a number). This sort function - * doesn't address filename started by "0". - */ - while ((ep = readdir(dp))) { - char *filename; - - if (ep->d_name[0] == '.') - continue; - - filename = g_filename_to_utf8(ep->d_name, -1, NULL, NULL, NULL); - if (filename == NULL) { - error("g_filename_to_utf8: invalid filename"); - continue; - } - - if (!g_str_has_suffix(filename, ".vcf")) { - g_free(filename); - continue; - } - - sorted = g_slist_insert_sorted(sorted, filename, handle_cmp); - } - - /* - * Filtering only the requested vCards attributes. Offset - * shall be based on the first entry of the phonebook. - */ - for (l = g_slist_nth(sorted, offset); - l && n < maxlistcount; l = l->next) { - const char *filename = l->data; - - fd = openat(folderfd, filename, O_RDONLY); - if (fd < 0) { - err = errno; - error("openat(%s): %s(%d)", filename, strerror(err), err); - continue; - } - - fp = fdopen(fd, "r"); - v = Parse_MIME_FromFile(fp); - if (v != NULL) { - func(filename, v, user_data); - deleteVObject(v); - n++; - } - - close(fd); - } - - g_slist_free_full(sorted, g_free); - - if (count) - *count = n; - - return 0; -} - -static void entry_concat(const char *filename, VObject *v, void *user_data) -{ - GString *buffer = user_data; - char tmp[1024]; - int len; - - /* - * VObject API uses len for IN and OUT - * Written bytes is also returned in the len variable - */ - len = sizeof(tmp); - memset(tmp, 0, len); - - writeMemVObject(tmp, &len, v); - - /* FIXME: only the requested fields must be added */ - g_string_append_len(buffer, tmp, len); -} - -static gboolean read_dir(void *user_data) -{ - struct dummy_data *dummy = user_data; - GString *buffer; - DIR *dp; - uint16_t count = 0, max, offset; - - buffer = g_string_new(""); - - dp = opendir(dummy->folder); - if (dp == NULL) { - int err = errno; - DBG("opendir(): %s(%d)", strerror(err), err); - goto done; - } - - /* - * For PullPhoneBook function, the decision of returning the size - * or contacts is made in the PBAP core. When MaxListCount is ZERO, - * PCE wants to know the size of a given folder, PSE shall ignore all - * other applicattion parameters that may be present in the request. - */ - if (dummy->apparams->maxlistcount == 0) { - max = 0xffff; - offset = 0; - } else { - max = dummy->apparams->maxlistcount; - offset = dummy->apparams->liststartoffset; - } - - foreach_vcard(dp, entry_concat, offset, max, buffer, &count); - - closedir(dp); -done: - /* FIXME: Missing vCards fields filtering */ - dummy->cb(buffer->str, buffer->len, count, 0, TRUE, dummy->user_data); - - g_string_free(buffer, TRUE); - - return FALSE; -} - -static void entry_notify(const char *filename, VObject *v, void *user_data) -{ - struct cache_query *query = user_data; - VObject *property, *subproperty; - GString *name; - const char *tel; - long unsigned int handle; - - property = isAPropertyOf(v, VCNameProp); - if (!property) - return; - - if (sscanf(filename, "%lu.vcf", &handle) != 1) - return; - - if (handle > UINT32_MAX) - return; - - /* LastName; FirstName; MiddleName; Prefix; Suffix */ - - name = g_string_new(""); - subproperty = isAPropertyOf(property, VCFamilyNameProp); - if (subproperty) { - g_string_append(name, - fakeCString(vObjectUStringZValue(subproperty))); - } - - subproperty = isAPropertyOf(property, VCGivenNameProp); - if (subproperty) - g_string_append_printf(name, ";%s", - fakeCString(vObjectUStringZValue(subproperty))); - - subproperty = isAPropertyOf(property, VCAdditionalNamesProp); - if (subproperty) - g_string_append_printf(name, ";%s", - fakeCString(vObjectUStringZValue(subproperty))); - - subproperty = isAPropertyOf(property, VCNamePrefixesProp); - if (subproperty) - g_string_append_printf(name, ";%s", - fakeCString(vObjectUStringZValue(subproperty))); - - - subproperty = isAPropertyOf(property, VCNameSuffixesProp); - if (subproperty) - g_string_append_printf(name, ";%s", - fakeCString(vObjectUStringZValue(subproperty))); - - property = isAPropertyOf(v, VCTelephoneProp); - - tel = property ? fakeCString(vObjectUStringZValue(property)) : NULL; - - query->entry_cb(filename, handle, name->str, NULL, tel, - query->user_data); - g_string_free(name, TRUE); -} - -static gboolean create_cache(void *user_data) -{ - struct cache_query *query = user_data; - - /* - * MaxListCount and ListStartOffset shall not be used - * when creating the cache. All entries shall be fetched. - * PBAP core is responsible for consider these application - * parameters before reply the entries. - */ - foreach_vcard(query->dp, entry_notify, 0, 0xffff, query, NULL); - - query->ready_cb(query->user_data); - - return FALSE; -} - -static gboolean read_entry(void *user_data) -{ - struct dummy_data *dummy = user_data; - char buffer[1024]; - ssize_t count; - - memset(buffer, 0, sizeof(buffer)); - count = read(dummy->fd, buffer, sizeof(buffer)); - - if (count < 0) { - int err = errno; - error("read(): %s(%d)", strerror(err), err); - count = 0; - } - - /* FIXME: Missing vCards fields filtering */ - - dummy->cb(buffer, count, 1, 0, TRUE, dummy->user_data); - - return FALSE; -} - -static gboolean is_dir(const char *dir) -{ - struct stat st; - - if (stat(dir, &st) < 0) { - int err = errno; - error("stat(%s): %s (%d)", dir, strerror(err), err); - return FALSE; - } - - return S_ISDIR(st.st_mode); -} - -char *phonebook_set_folder(const char *current_folder, - const char *new_folder, uint8_t flags, int *err) -{ - gboolean root, child; - char *tmp1, *tmp2, *base, *absolute, *relative = NULL; - int len, ret = 0; - - root = (g_strcmp0("/", current_folder) == 0); - child = (new_folder && strlen(new_folder) != 0); - - switch (flags) { - case 0x02: - /* Go back to root */ - if (!child) { - relative = g_strdup("/"); - goto done; - } - - relative = g_build_filename(current_folder, new_folder, NULL); - break; - case 0x03: - /* Go up 1 level */ - if (root) { - /* Already root */ - ret = -EBADR; - goto done; - } - - /* - * Removing one level of the current folder. Current folder - * contains AT LEAST one level since it is not at root folder. - * Use glib utility functions to handle invalid chars in the - * folder path properly. - */ - tmp1 = g_path_get_basename(current_folder); - tmp2 = g_strrstr(current_folder, tmp1); - len = tmp2 - (current_folder + 1); - - g_free(tmp1); - - if (len == 0) - base = g_strdup("/"); - else - base = g_strndup(current_folder, len); - - /* Return: one level only */ - if (!child) { - relative = base; - goto done; - } - - relative = g_build_filename(base, new_folder, NULL); - g_free(base); - - break; - default: - ret = -EBADR; - break; - } - -done: - if (!relative) { - if (err) - *err = ret; - - return NULL; - } - - absolute = g_build_filename(root_folder, relative, NULL); - if (!is_dir(absolute)) { - g_free(relative); - relative = NULL; - ret = -ENOENT; - } - - g_free(absolute); - - if (err) - *err = ret; - - return relative; -} - -void phonebook_req_finalize(void *request) -{ - struct dummy_data *dummy = request; - - /* dummy_data will be cleaned when request will be finished via - * g_source_remove */ - if (dummy && dummy->id) - g_source_remove(dummy->id); -} - -void *phonebook_pull(const char *name, const struct apparam_field *params, - phonebook_cb cb, void *user_data, int *err) -{ - struct dummy_data *dummy; - char *filename, *folder; - - /* - * Main phonebook objects will be created dinamically based on the - * folder content. All vcards inside the given folder will be appended - * in the "virtual" main phonebook object. - */ - - filename = g_build_filename(root_folder, name, NULL); - - if (!g_str_has_suffix(filename, ".vcf")) { - g_free(filename); - if (err) - *err = -EBADR; - return NULL; - } - - folder = g_strndup(filename, strlen(filename) - 4); - g_free(filename); - if (!is_dir(folder)) { - g_free(folder); - if (err) - *err = -ENOENT; - return NULL; - } - - dummy = g_new0(struct dummy_data, 1); - dummy->cb = cb; - dummy->user_data = user_data; - dummy->apparams = params; - dummy->folder = folder; - dummy->fd = -1; - - if (err) - *err = 0; - - return dummy; -} - -int phonebook_pull_read(void *request) -{ - struct dummy_data *dummy = request; - - if (!dummy) - return -ENOENT; - - dummy->id = g_idle_add_full(G_PRIORITY_DEFAULT_IDLE, read_dir, dummy, - dummy_free); - - return 0; -} - -void *phonebook_get_entry(const char *folder, const char *id, - const struct apparam_field *params, phonebook_cb cb, - void *user_data, int *err) -{ - struct dummy_data *dummy; - char *filename; - int fd; - guint ret; - - filename = g_build_filename(root_folder, folder, id, NULL); - - fd = open(filename, O_RDONLY); - if (fd < 0) { - DBG("open(): %s(%d)", strerror(errno), errno); - if (err) - *err = -ENOENT; - return NULL; - } - - dummy = g_new0(struct dummy_data, 1); - dummy->cb = cb; - dummy->user_data = user_data; - dummy->apparams = params; - dummy->fd = fd; - - ret = g_idle_add_full(G_PRIORITY_DEFAULT_IDLE, read_entry, dummy, - dummy_free); - - if (err) - *err = 0; - - return GINT_TO_POINTER(ret); -} - -void *phonebook_create_cache(const char *name, phonebook_entry_cb entry_cb, - phonebook_cache_ready_cb ready_cb, void *user_data, int *err) -{ - struct cache_query *query; - char *foldername; - DIR *dp; - guint ret; - - foldername = g_build_filename(root_folder, name, NULL); - dp = opendir(foldername); - g_free(foldername); - - if (dp == NULL) { - DBG("opendir(): %s(%d)", strerror(errno), errno); - if (err) - *err = -ENOENT; - return NULL; - } - - query = g_new0(struct cache_query, 1); - query->entry_cb = entry_cb; - query->ready_cb = ready_cb; - query->user_data = user_data; - query->dp = dp; - - ret = g_idle_add_full(G_PRIORITY_DEFAULT_IDLE, create_cache, query, - query_free); - - if (err) - *err = 0; - - return GINT_TO_POINTER(ret); -} diff --git a/GRIB_BLE_HUB/libs/ble_extend/obexd/plugins/phonebook.h b/GRIB_BLE_HUB/libs/ble_extend/obexd/plugins/phonebook.h deleted file mode 100644 index 441cff2..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/obexd/plugins/phonebook.h +++ /dev/null @@ -1,162 +0,0 @@ -/* - * - * OBEX Server - * - * Copyright (C) 2007-2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#define EOL "\r\n" -#define VCARD_LISTING_BEGIN \ - "" EOL\ - "" EOL\ - "" EOL -#define VCARD_LISTING_ELEMENT "" EOL -#define VCARD_LISTING_END "" - -#define PB_TELECOM_FOLDER "/telecom" -#define PB_CONTACTS_FOLDER "/telecom/pb" -#define PB_CALENDAR_FOLDER "/telecom/cal" -#define PB_NOTES_FOLDER "/telecom/nt" -#define PB_CALLS_COMBINED_FOLDER "/telecom/cch" -#define PB_CALLS_INCOMING_FOLDER "/telecom/ich" -#define PB_CALLS_MISSED_FOLDER "/telecom/mch" -#define PB_CALLS_OUTGOING_FOLDER "/telecom/och" -#define PB_LUID_FOLDER "/telecom/luid" - -#define PB_CONTACTS "/telecom/pb.vcf" -#define PB_CALLS_COMBINED "/telecom/cch.vcf" -#define PB_CALLS_INCOMING "/telecom/ich.vcf" -#define PB_CALLS_MISSED "/telecom/mch.vcf" -#define PB_CALLS_OUTGOING "/telecom/och.vcf" -#define PB_DEVINFO "/telecom/devinfo.txt" -#define PB_INFO_LOG "/telecom/pb/info.log" -#define PB_CC_LOG "/telecom/pb/luid/cc.log" - - -struct apparam_field { - /* list and pull attributes */ - uint16_t maxlistcount; - uint16_t liststartoffset; - - /* pull and vcard attributes */ - uint64_t filter; - uint8_t format; - - /* list attributes only */ - uint8_t order; - uint8_t searchattrib; - char *searchval; -}; - -/* - * Interface between the PBAP core and backends to retrieve - * all contacts that match the application parameters rules. - * Contacts will be returned in the vcard format. - */ -typedef void (*phonebook_cb) (const char *buffer, size_t bufsize, - int vcards, int missed, gboolean lastpart, void *user_data); - -/* - * Interface between the PBAP core and backends to - * append a new entry in the PBAP folder cache. - */ -#define PHONEBOOK_INVALID_HANDLE 0xffffffff -typedef void (*phonebook_entry_cb) (const char *id, uint32_t handle, - const char *name, const char *sound, - const char *tel, void *user_data); - -/* - * After notify all entries to PBAP core, the backend - * needs to notify that the operation has finished. - */ -typedef void (*phonebook_cache_ready_cb) (void *user_data); - - -int phonebook_init(void); -void phonebook_exit(void); - -/* - * Changes the current folder in the phonebook back-end. The PBAP core - * doesn't validate or restrict the possible values for the folders, - * allowing non-standard backends implementation which doesn't follow - * the PBAP virtual folder architecture. Validate the folder's name - * is responsibility of the back-ends. -*/ -char *phonebook_set_folder(const char *current_folder, - const char *new_folder, uint8_t flags, int *err); - -/* - * phonebook_pull should be used only to prepare pull request - prepared - * request data is returned by this function. Start of fetching data from - * back-end will be done only after calling phonebook_pull_read with this - * returned request given as a parameter. - * - * phonebook_req_finalize MUST always be used to free associated resources. - */ -void *phonebook_pull(const char *name, const struct apparam_field *params, - phonebook_cb cb, void *user_data, int *err); - -/* - * phonebook_pull_read should be used to start getting results from back-end. - * The back-end can return data as one response or can return it many parts. - * After obtaining one part, PBAP core need to call phonebook_pull_read with - * the same request again to get more results from back-end. - * The back-end MUST return only the content based on the application - * parameters requested by the client. - * - * Returns error code or 0 in case of success - */ -int phonebook_pull_read(void *request); - -/* - * Function used to retrieve a contact from the backend. Only contacts - * found in the cache are requested to the back-ends. The back-end MUST - * return only the content based on the application parameters requested - * by the client. - * - * Return value is a pointer to asynchronous request to phonebook back-end. - * phonebook_req_finalize MUST always be used to free associated resources. - */ -void *phonebook_get_entry(const char *folder, const char *id, - const struct apparam_field *params, - phonebook_cb cb, void *user_data, int *err); - -/* - * PBAP core will keep the contacts cache per folder. SetPhoneBook or - * PullvCardListing can invalidate the cache if the current folder changes. - * Cache will store only the necessary information required to reply to - * PullvCardListing request and verify if a given contact belongs to the - * source. - * - * Return value is a pointer to asynchronous request to phonebook back-end. - * phonebook_req_finalize MUST always be used to free associated resources. - */ -void *phonebook_create_cache(const char *name, phonebook_entry_cb entry_cb, - phonebook_cache_ready_cb ready_cb, void *user_data, int *err); - -/* - * Finalizes request to phonebook back-end and deallocates associated - * resources. Operation is canceled if not completed. This function MUST - * always be used after any of phonebook_pull, phonebook_get_entry, and - * phonebook_create_cache invoked. - * - * request is a pointer to asynchronous operation returned by phonebook_pull, - * phonebook_get_entry, and phonebook_create_cache. - */ -void phonebook_req_finalize(void *request); diff --git a/GRIB_BLE_HUB/libs/ble_extend/obexd/plugins/vcard.c b/GRIB_BLE_HUB/libs/ble_extend/obexd/plugins/vcard.c deleted file mode 100644 index b36e4bf..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/obexd/plugins/vcard.c +++ /dev/null @@ -1,924 +0,0 @@ -/* - * OBEX Server - * - * Copyright (C) 2008-2010 Intel Corporation. All rights reserved. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include -#include -#include -#include -#include - -#include -#include - -#include "vcard.h" - -#define ADDR_FIELD_AMOUNT 7 -#define LEN_MAX 128 -#define TYPE_INTERNATIONAL 145 - -#define PHONEBOOK_FLAG_CACHED 0x1 - -#define FILTER_VERSION (1 << 0) -#define FILTER_FN (1 << 1) -#define FILTER_N (1 << 2) -#define FILTER_PHOTO (1 << 3) -#define FILTER_BDAY (1 << 4) -#define FILTER_ADR (1 << 5) -#define FILTER_LABEL (1 << 6) -#define FILTER_TEL (1 << 7) -#define FILTER_EMAIL (1 << 8) -#define FILTER_MAILER (1 << 9) -#define FILTER_TZ (1 << 10) -#define FILTER_GEO (1 << 11) -#define FILTER_TITLE (1 << 12) -#define FILTER_ROLE (1 << 13) -#define FILTER_LOGO (1 << 14) -#define FILTER_AGENT (1 << 15) -#define FILTER_ORG (1 << 16) -#define FILTER_NOTE (1 << 17) -#define FILTER_REV (1 << 18) -#define FILTER_SOUND (1 << 19) -#define FILTER_URL (1 << 20) -#define FILTER_UID (1 << 21) -#define FILTER_KEY (1 << 22) -#define FILTER_NICKNAME (1 << 23) -#define FILTER_CATEGORIES (1 << 24) -#define FILTER_PROID (1 << 25) -#define FILTER_CLASS (1 << 26) -#define FILTER_SORT_STRING (1 << 27) -#define FILTER_X_IRMC_CALL_DATETIME (1 << 28) - -#define FORMAT_VCARD21 0x00 -#define FORMAT_VCARD30 0x01 - -#define QP_LINE_LEN 75 -#define QP_CHAR_LEN 3 -#define QP_CR 0x0D -#define QP_LF 0x0A -#define QP_ESC 0x5C -#define QP_SOFT_LINE_BREAK "=" -#define QP_SELECT "\n!\"#$=@[\\]^`{|}~" -#define ASCII_LIMIT 0x7F - -/* according to RFC 2425, the output string may need folding */ -static void vcard_printf(GString *str, const char *fmt, ...) -{ - char buf[1024]; - va_list ap; - int len_temp, line_number, i; - unsigned int line_delimit = 75; - - va_start(ap, fmt); - vsnprintf(buf, sizeof(buf), fmt, ap); - va_end(ap); - - line_number = strlen(buf) / line_delimit + 1; - - for (i = 0; i < line_number; i++) { - len_temp = MIN(line_delimit, strlen(buf) - line_delimit * i); - g_string_append_len(str, buf + line_delimit * i, len_temp); - if (i != line_number - 1) - g_string_append(str, "\r\n "); - } - - g_string_append(str, "\r\n"); -} - -/* According to RFC 2426, we need escape following characters: - * '\n', '\r', ';', ',', '\'. - */ -static void add_slash(char *dest, const char *src, int len_max, int len) -{ - int i, j; - - for (i = 0, j = 0; i < len && j + 1 < len_max; i++, j++) { - /* filling dest buffer - last field need to be reserved - * for '\0'*/ - switch (src[i]) { - case '\n': - if (j + 2 >= len_max) - /* not enough space in the buffer to put char - * preceded with escaping sequence (and '\0' in - * the end) */ - goto done; - - dest[j++] = '\\'; - dest[j] = 'n'; - break; - case '\r': - if (j + 2 >= len_max) - goto done; - - dest[j++] = '\\'; - dest[j] = 'r'; - break; - case '\\': - case ';': - case ',': - if (j + 2 >= len_max) - goto done; - - dest[j++] = '\\'; - default: - dest[j] = src[i]; - break; - } - } - -done: - dest[j] = 0; -} - -static void escape_semicolon(char *dest, const char *src, int len_max, int len) -{ - int i, j; - - for (i = 0, j = 0; i < len && j + 1 < len_max; i++, j++) { - if (src[i] == ';') { - if (j + 2 >= len_max) - break; - - dest[j++] = '\\'; - } - - dest[j] = src[i]; - } - - dest[j] = 0; -} - -static void set_escape(uint8_t format, char *dest, const char *src, - int len_max, int len) -{ - if (format == FORMAT_VCARD30) - add_slash(dest, src, len_max, len); - else if (format == FORMAT_VCARD21) - escape_semicolon(dest, src, len_max, len); -} - -static void get_escaped_fields(uint8_t format, char **fields, ...) -{ - va_list ap; - GString *line; - char *field; - char escaped[LEN_MAX]; - - va_start(ap, fields); - line = g_string_new(""); - - for (field = va_arg(ap, char *); field; ) { - set_escape(format, escaped, field, LEN_MAX, strlen(field)); - g_string_append(line, escaped); - - field = va_arg(ap, char *); - - if (field) - g_string_append(line, ";"); - } - - va_end(ap); - - *fields = g_string_free(line, FALSE); -} - -static gboolean set_qp_encoding(char c) -{ - unsigned char q = c; - - if (strchr(QP_SELECT, q) != NULL) - return TRUE; - - if (q < '!' || q > '~') - return TRUE; - - return FALSE; -} - -static void append_qp_break_line(GString *vcards, size_t *limit) -{ - /* Quoted Printable lines of text must be limited to less than 76 - * characters and terminated by Quoted Printable softline break - * sequence of "=" (if some more characters left) */ - g_string_append(vcards, QP_SOFT_LINE_BREAK); - g_string_append(vcards, "\r\n "); - *limit = QP_LINE_LEN - 1; -} - -static void append_qp_ascii(GString *vcards, size_t *limit, char c) -{ - if (*limit == 0) - append_qp_break_line(vcards, limit); - - g_string_append_c(vcards, c); - --*limit; -} - -static void append_qp_hex(GString *vcards, size_t *limit, char c) -{ - if (*limit < QP_CHAR_LEN) - append_qp_break_line(vcards, limit); - - g_string_append_printf(vcards, "=%2.2X", (unsigned char) c); - *limit -= QP_CHAR_LEN; -} - -static void append_qp_new_line(GString *vcards, size_t *limit) -{ - /* Multiple lines of text are separated with a Quoted Printable CRLF - * sequence of "=0D" followed by "=0A" followed by a Quoted Printable - * softline break sequence of "=" */ - append_qp_hex(vcards, limit, QP_CR); - append_qp_hex(vcards, limit, QP_LF); - append_qp_break_line(vcards, limit); -} - -static gboolean utf8_select(const char *field) -{ - const char *pos; - - if (g_utf8_validate(field, -1, NULL) == FALSE) - return FALSE; - - for (pos = field; *pos != '\0'; pos = g_utf8_next_char(pos)) { - /* Test for non-standard UTF-8 character (out of range - * standard ASCII set), composed of more than single byte - * and represented by 32-bit value greater than 0x7F */ - if (g_utf8_get_char(pos) > ASCII_LIMIT) - return TRUE; - } - - return FALSE; -} - -static void vcard_qp_print_encoded(GString *vcards, const char *desc, ...) -{ - const char *field, *charset = ""; - const char *encoding = ";ENCODING=QUOTED-PRINTABLE"; - size_t limit, param_len; - va_list ap; - - va_start(ap, desc); - - for (field = va_arg(ap, char *); field; field = va_arg(ap, char *)) { - if (utf8_select(field) == TRUE) { - charset = ";CHARSET=UTF-8"; - break; - } - } - - va_end(ap); - - vcard_printf(vcards, "%s%s%s:", desc, encoding, charset); - g_string_truncate(vcards, vcards->len - 2); - - param_len = strlen(desc) + strlen(encoding) + strlen(charset) + 1; - limit = QP_LINE_LEN - param_len; - - va_start(ap, desc); - - for (field = va_arg(ap, char *); field != NULL; ) { - size_t i, size = strlen(field); - - for (i = 0; i < size; ++i) { - if (set_qp_encoding(field[i])) { - if (field[i] == '\n') { - append_qp_new_line(vcards, &limit); - continue; - } - - append_qp_hex(vcards, &limit, field[i]); - } else { - /* According to vCard 2.1 spec. semicolons in - * property parameter value must be escaped */ - if (field[i] == ';') - append_qp_hex(vcards, &limit, QP_ESC); - - append_qp_ascii(vcards, &limit, field[i]); - } - } - - field = va_arg(ap, char *); - if (field) - append_qp_ascii(vcards, &limit, ';'); - } - - va_end(ap); - - g_string_append(vcards, "\r\n"); -} - -static gboolean select_qp_encoding(uint8_t format, ...) -{ - char *field; - va_list ap; - - if (format != FORMAT_VCARD21) - return FALSE; - - va_start(ap, format); - - for (field = va_arg(ap, char *); field; field = va_arg(ap, char *)) { - int i; - unsigned char c; - - if (strpbrk(field, QP_SELECT)) { - va_end(ap); - return TRUE; - } - - /* Quoted Printable encoding is selected if there is - * a character, which value is out of range standard - * ASCII set, since it may be a part of some - * non-standard character such as specified by UTF-8 */ - for (i = 0; (c = field[i]) != '\0'; ++i) { - if (c > ASCII_LIMIT) { - va_end(ap); - return TRUE; - } - } - } - - va_end(ap); - - return FALSE; -} - -static void vcard_printf_begin(GString *vcards, uint8_t format) -{ - vcard_printf(vcards, "BEGIN:VCARD"); - - if (format == FORMAT_VCARD30) - vcard_printf(vcards, "VERSION:3.0"); - else if (format == FORMAT_VCARD21) - vcard_printf(vcards, "VERSION:2.1"); -} - -/* check if there is at least one contact field with personal data present */ -static gboolean contact_fields_present(struct phonebook_contact * contact) -{ - if (contact->family && strlen(contact->family) > 0) - return TRUE; - - if (contact->given && strlen(contact->given) > 0) - return TRUE; - - if (contact->additional && strlen(contact->additional) > 0) - return TRUE; - - if (contact->prefix && strlen(contact->prefix) > 0) - return TRUE; - - if (contact->suffix && strlen(contact->suffix) > 0) - return TRUE; - - /* none of the personal data fields are present*/ - return FALSE; -} - -static void vcard_printf_name(GString *vcards, uint8_t format, - struct phonebook_contact *contact) -{ - char *fields; - - if (contact_fields_present(contact) == FALSE) { - /* If fields are empty, add only 'N:' as parameter. - * This is crucial for some devices (Nokia BH-903) which - * have problems with history listings and can't determine - * that a parameter is really empty if there are unnecessary - * characters after 'N:' (e.g. 'N:;;;;'). - * We need to add only'N:' param - without semicolons. - */ - vcard_printf(vcards, "N:"); - return; - } - - if (select_qp_encoding(format, contact->family, contact->given, - contact->additional, contact->prefix, - contact->suffix, NULL)) { - vcard_qp_print_encoded(vcards, "N", contact->family, - contact->given, contact->additional, - contact->prefix, contact->suffix, - NULL); - return; - } - - get_escaped_fields(format, &fields, contact->family, - contact->given, contact->additional, - contact->prefix, contact->suffix, - NULL); - - vcard_printf(vcards, "N:%s", fields); - - g_free(fields); -} - -static void vcard_printf_fullname(GString *vcards, uint8_t format, - const char *text) -{ - char field[LEN_MAX]; - - if (!text || strlen(text) == 0) { - vcard_printf(vcards, "FN:"); - return; - } - - if (select_qp_encoding(format, text, NULL)) { - vcard_qp_print_encoded(vcards, "FN", text, NULL); - return; - } - - set_escape(format, field, text, LEN_MAX, strlen(text)); - vcard_printf(vcards, "FN:%s", field); -} - -static void vcard_printf_number(GString *vcards, uint8_t format, - const char *number, int type, - enum phonebook_number_type category) -{ - const char *intl = "", *category_string = ""; - char buf[LEN_MAX], field[LEN_MAX]; - - /* TEL is a mandatory field, include even if empty */ - if (!number || !strlen(number) || !type) { - vcard_printf(vcards, "TEL:"); - return; - } - - switch (category) { - case TEL_TYPE_HOME: - if (format == FORMAT_VCARD21) - category_string = "HOME;VOICE"; - else if (format == FORMAT_VCARD30) - category_string = "TYPE=HOME;TYPE=VOICE"; - break; - case TEL_TYPE_MOBILE: - if (format == FORMAT_VCARD21) - category_string = "CELL;VOICE"; - else if (format == FORMAT_VCARD30) - category_string = "TYPE=CELL;TYPE=VOICE"; - break; - case TEL_TYPE_FAX: - if (format == FORMAT_VCARD21) - category_string = "FAX"; - else if (format == FORMAT_VCARD30) - category_string = "TYPE=FAX"; - break; - case TEL_TYPE_WORK: - if (format == FORMAT_VCARD21) - category_string = "WORK;VOICE"; - else if (format == FORMAT_VCARD30) - category_string = "TYPE=WORK;TYPE=VOICE"; - break; - case TEL_TYPE_OTHER: - if (format == FORMAT_VCARD21) - category_string = "OTHER;VOICE"; - else if (format == FORMAT_VCARD30) - category_string = "TYPE=OTHER;TYPE=VOICE"; - break; - } - - if ((type == TYPE_INTERNATIONAL) && (number[0] != '+')) - intl = "+"; - - snprintf(field, sizeof(field), "%s%s", intl, number); - - if (select_qp_encoding(format, number, NULL)) { - snprintf(buf, sizeof(buf), "TEL;%s", category_string); - vcard_qp_print_encoded(vcards, buf, field, NULL); - return; - } - - vcard_printf(vcards, "TEL;%s:%s", category_string, field); -} - -static void vcard_printf_tag(GString *vcards, uint8_t format, - const char *tag, const char *category, - const char *fld) -{ - int len; - char *separator = "", *type = ""; - char buf[LEN_MAX], field[LEN_MAX]; - - if (tag == NULL || strlen(tag) == 0) - return; - - if (fld == NULL || (len = strlen(fld)) == 0) { - vcard_printf(vcards, "%s:", tag); - return; - } - - if (category && strlen(category)) { - separator = ";"; - if (format == FORMAT_VCARD30) - type = "TYPE="; - } else { - category = ""; - } - - snprintf(buf, LEN_MAX, "%s%s%s%s", tag, separator, type, category); - - if (select_qp_encoding(format, fld, NULL)) { - vcard_qp_print_encoded(vcards, buf, fld, NULL); - return; - } - - set_escape(format, field, fld, LEN_MAX, len); - vcard_printf(vcards, "%s:%s", buf, field); -} - -static void vcard_printf_email(GString *vcards, uint8_t format, - const char *address, - enum phonebook_field_type category) -{ - const char *category_string = ""; - char buf[LEN_MAX], field[LEN_MAX]; - int len = 0; - - if (!address || !(len = strlen(address))) { - vcard_printf(vcards, "EMAIL:"); - return; - } - switch (category) { - case FIELD_TYPE_HOME: - if (format == FORMAT_VCARD21) - category_string = "INTERNET;HOME"; - else if (format == FORMAT_VCARD30) - category_string = "TYPE=INTERNET;TYPE=HOME"; - break; - case FIELD_TYPE_WORK: - if (format == FORMAT_VCARD21) - category_string = "INTERNET;WORK"; - else if (format == FORMAT_VCARD30) - category_string = "TYPE=INTERNET;TYPE=WORK"; - break; - default: - if (format == FORMAT_VCARD21) - category_string = "INTERNET"; - else if (format == FORMAT_VCARD30) - category_string = "TYPE=INTERNET;TYPE=OTHER"; - } - - if (select_qp_encoding(format, address, NULL)) { - snprintf(buf, sizeof(buf), "EMAIL;%s", category_string); - vcard_qp_print_encoded(vcards, buf, address, NULL); - return; - } - - set_escape(format, field, address, LEN_MAX, len); - vcard_printf(vcards, "EMAIL;%s:%s", category_string, field); -} - -static void vcard_printf_url(GString *vcards, uint8_t format, - const char *url, - enum phonebook_field_type category) -{ - const char *category_string = ""; - char buf[LEN_MAX], field[LEN_MAX]; - - if (!url || strlen(url) == 0) { - vcard_printf(vcards, "URL:"); - return; - } - - switch (category) { - case FIELD_TYPE_HOME: - if (format == FORMAT_VCARD21) - category_string = "INTERNET;HOME"; - else if (format == FORMAT_VCARD30) - category_string = "TYPE=INTERNET;TYPE=HOME"; - break; - case FIELD_TYPE_WORK: - if (format == FORMAT_VCARD21) - category_string = "INTERNET;WORK"; - else if (format == FORMAT_VCARD30) - category_string = "TYPE=INTERNET;TYPE=WORK"; - break; - default: - if (format == FORMAT_VCARD21) - category_string = "INTERNET"; - else if (format == FORMAT_VCARD30) - category_string = "TYPE=INTERNET"; - break; - } - - if (select_qp_encoding(format, url, NULL)) { - snprintf(buf, sizeof(buf), "URL;%s", category_string); - vcard_qp_print_encoded(vcards, buf, url, NULL); - return; - } - - set_escape(format, field, url, LEN_MAX, strlen(url)); - vcard_printf(vcards, "URL;%s:%s", category_string, field); -} - -static gboolean org_fields_present(struct phonebook_contact *contact) -{ - if (contact->company && strlen(contact->company)) - return TRUE; - - if (contact->department && strlen(contact->department)) - return TRUE; - - return FALSE; -} - -static void vcard_printf_org(GString *vcards, uint8_t format, - struct phonebook_contact *contact) -{ - char *fields; - - if (org_fields_present(contact) == FALSE) - return; - - if (select_qp_encoding(format, contact->company, - contact->department, NULL)) { - vcard_qp_print_encoded(vcards, "ORG", contact->company, - contact->department, NULL); - return; - } - - get_escaped_fields(format, &fields, contact->company, - contact->department, NULL); - - vcard_printf(vcards, "ORG:%s", fields); - - g_free(fields); -} - -static void vcard_printf_address(GString *vcards, uint8_t format, - struct phonebook_addr *address) -{ - char *fields, field_esc[LEN_MAX]; - const char *category_string = ""; - char buf[LEN_MAX], *address_fields[ADDR_FIELD_AMOUNT]; - int i; - size_t len; - GSList *l; - - if (!address) { - vcard_printf(vcards, "ADR:"); - return; - } - - switch (address->type) { - case FIELD_TYPE_HOME: - if (format == FORMAT_VCARD21) - category_string = "HOME"; - else if (format == FORMAT_VCARD30) - category_string = "TYPE=HOME"; - break; - case FIELD_TYPE_WORK: - if (format == FORMAT_VCARD21) - category_string = "WORK"; - else if (format == FORMAT_VCARD30) - category_string = "TYPE=WORK"; - break; - default: - if (format == FORMAT_VCARD21) - category_string = "OTHER"; - else if (format == FORMAT_VCARD30) - category_string = "TYPE=OTHER"; - break; - } - - for (i = 0, l = address->fields; l; l = l->next) - address_fields[i++] = l->data; - - if (select_qp_encoding(format, address_fields[0], address_fields[1], - address_fields[2], address_fields[3], - address_fields[4], address_fields[5], - address_fields[6], NULL)) { - snprintf(buf, sizeof(buf), "ADR;%s", category_string); - vcard_qp_print_encoded(vcards, buf, - address_fields[0], address_fields[1], - address_fields[2], address_fields[3], - address_fields[4], address_fields[5], - address_fields[6], NULL); - return; - } - - /* allocate enough memory to insert address fields separated by ';' - * and terminated by '\0' */ - len = ADDR_FIELD_AMOUNT * LEN_MAX; - fields = g_malloc0(len); - - for (l = address->fields; l; l = l->next) { - char *field = l->data; - - if (field) { - set_escape(format, field_esc, field, LEN_MAX, - strlen(field)); - g_strlcat(fields, field_esc, len); - } - - if (l->next) - /* not adding ';' after last addr field */ - g_strlcat(fields, ";", len); - } - - vcard_printf(vcards,"ADR;%s:%s", category_string, fields); - - g_free(fields); -} - -static void vcard_printf_datetime(GString *vcards, uint8_t format, - struct phonebook_contact *contact) -{ - const char *type; - char buf[LEN_MAX]; - - switch (contact->calltype) { - case CALL_TYPE_MISSED: - type = "MISSED"; - break; - - case CALL_TYPE_INCOMING: - type = "RECEIVED"; - break; - - case CALL_TYPE_OUTGOING: - type = "DIALED"; - break; - - case CALL_TYPE_NOT_A_CALL: - default: - return; - } - - if (select_qp_encoding(format, contact->datetime, NULL)) { - snprintf(buf, sizeof(buf), "X-IRMC-CALL-DATETIME;%s", type); - vcard_qp_print_encoded(vcards, buf, contact->datetime, NULL); - return; - } - - vcard_printf(vcards, "X-IRMC-CALL-DATETIME;%s:%s", type, - contact->datetime); -} - -static void vcard_printf_end(GString *vcards) -{ - vcard_printf(vcards, "END:VCARD"); -} - -void phonebook_add_contact(GString *vcards, struct phonebook_contact *contact, - uint64_t filter, uint8_t format) -{ - if (format == FORMAT_VCARD30 && filter) - filter |= (FILTER_VERSION | FILTER_FN | FILTER_N | FILTER_TEL); - else if (format == FORMAT_VCARD21 && filter) - filter |= (FILTER_VERSION | FILTER_N | FILTER_TEL); - else - filter = (FILTER_VERSION | FILTER_UID | FILTER_N | FILTER_FN | - FILTER_TEL | FILTER_EMAIL | FILTER_ADR | - FILTER_BDAY | FILTER_NICKNAME | FILTER_URL | - FILTER_PHOTO | FILTER_ORG | FILTER_ROLE | - FILTER_TITLE | FILTER_X_IRMC_CALL_DATETIME); - - vcard_printf_begin(vcards, format); - - if (filter & FILTER_UID && *contact->uid) - vcard_printf_tag(vcards, format, "UID", NULL, contact->uid); - - if (filter & FILTER_N) - vcard_printf_name(vcards, format, contact); - - if (filter & FILTER_FN && (*contact->fullname || - format == FORMAT_VCARD30)) - vcard_printf_fullname(vcards, format, contact->fullname); - - if (filter & FILTER_TEL) { - GSList *l = contact->numbers; - - if (g_slist_length(l) == 0) - vcard_printf_number(vcards, format, NULL, 1, - TEL_TYPE_OTHER); - - for (; l; l = l->next) { - struct phonebook_field *number = l->data; - - vcard_printf_number(vcards, format, number->text, 1, - number->type); - } - } - - if (filter & FILTER_EMAIL) { - GSList *l = contact->emails; - - for (; l; l = l->next) { - struct phonebook_field *email = l->data; - vcard_printf_email(vcards, format, email->text, - email->type); - } - } - - if (filter & FILTER_ADR) { - GSList *l = contact->addresses; - - for (; l; l = l->next) { - struct phonebook_addr *addr = l->data; - vcard_printf_address(vcards, format, addr); - } - } - - if (filter & FILTER_BDAY && *contact->birthday) - vcard_printf_tag(vcards, format, "BDAY", NULL, - contact->birthday); - - if (filter & FILTER_NICKNAME && *contact->nickname) - vcard_printf_tag(vcards, format, "NICKNAME", NULL, - contact->nickname); - - if (filter & FILTER_URL) { - GSList *l = contact->urls; - - for (; l; l = l->next) { - struct phonebook_field *url = l->data; - vcard_printf_url(vcards, format, url->text, url->type); - } - } - - if (filter & FILTER_PHOTO && *contact->photo) - vcard_printf_tag(vcards, format, "PHOTO", NULL, - contact->photo); - - if (filter & FILTER_ORG) - vcard_printf_org(vcards, format, contact); - - if (filter & FILTER_ROLE && *contact->role) - vcard_printf_tag(vcards, format, "ROLE", NULL, contact->role); - - if (filter & FILTER_TITLE && *contact->title) - vcard_printf_tag(vcards, format, "TITLE", NULL, contact->title); - - if (filter & FILTER_X_IRMC_CALL_DATETIME) - vcard_printf_datetime(vcards, format, contact); - - vcard_printf_end(vcards); -} - -static void field_free(gpointer data) -{ - struct phonebook_field *field = data; - - g_free(field->text); - g_free(field); -} - -void phonebook_addr_free(gpointer addr) -{ - struct phonebook_addr *address = addr; - - g_slist_free_full(address->fields, g_free); - g_free(address); -} - -void phonebook_contact_free(struct phonebook_contact *contact) -{ - if (contact == NULL) - return; - - g_slist_free_full(contact->numbers, field_free); - g_slist_free_full(contact->emails, field_free); - g_slist_free_full(contact->addresses, phonebook_addr_free); - g_slist_free_full(contact->urls, field_free); - - g_free(contact->uid); - g_free(contact->fullname); - g_free(contact->given); - g_free(contact->family); - g_free(contact->additional); - g_free(contact->prefix); - g_free(contact->suffix); - g_free(contact->birthday); - g_free(contact->nickname); - g_free(contact->photo); - g_free(contact->company); - g_free(contact->department); - g_free(contact->role); - g_free(contact->title); - g_free(contact->datetime); - g_free(contact); -} diff --git a/GRIB_BLE_HUB/libs/ble_extend/obexd/plugins/vcard.h b/GRIB_BLE_HUB/libs/ble_extend/obexd/plugins/vcard.h deleted file mode 100644 index 22c3f68..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/obexd/plugins/vcard.h +++ /dev/null @@ -1,81 +0,0 @@ -/* - * OBEX Server - * - * Copyright (C) 2008-2010 Intel Corporation. All rights reserved. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -enum phonebook_number_type { - TEL_TYPE_HOME, - TEL_TYPE_MOBILE, - TEL_TYPE_FAX, - TEL_TYPE_WORK, - TEL_TYPE_OTHER, -}; - -enum phonebook_field_type { - FIELD_TYPE_HOME, - FIELD_TYPE_WORK, - FIELD_TYPE_OTHER, -}; - -enum phonebook_call_type { - CALL_TYPE_NOT_A_CALL, - CALL_TYPE_MISSED, - CALL_TYPE_INCOMING, - CALL_TYPE_OUTGOING, -}; - -struct phonebook_field { - char *text; - int type; -}; - -struct phonebook_addr { - GSList *fields; - int type; -}; - -struct phonebook_contact { - char *uid; - char *fullname; - char *given; - char *family; - char *additional; - GSList *numbers; - GSList *emails; - char *prefix; - char *suffix; - GSList *addresses; - char *birthday; - char *nickname; - GSList *urls; - char *photo; - char *company; - char *department; - char *role; - char *title; - char *datetime; - int calltype; -}; - -void phonebook_add_contact(GString *vcards, struct phonebook_contact *contact, - uint64_t filter, uint8_t format); - -void phonebook_contact_free(struct phonebook_contact *contact); - -void phonebook_addr_free(gpointer addr); diff --git a/GRIB_BLE_HUB/libs/ble_extend/obexd/src/.deps/.dirstamp b/GRIB_BLE_HUB/libs/ble_extend/obexd/src/.deps/.dirstamp deleted file mode 100644 index e69de29..0000000 diff --git a/GRIB_BLE_HUB/libs/ble_extend/obexd/src/.deps/obexd-log.Po b/GRIB_BLE_HUB/libs/ble_extend/obexd/src/.deps/obexd-log.Po deleted file mode 100644 index 585c6f4..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/obexd/src/.deps/obexd-log.Po +++ /dev/null @@ -1,382 +0,0 @@ -obexd/src/obexd-log.o: obexd/src/log.c /usr/include/stdc-predef.h \ - config.h /usr/include/stdio.h /usr/include/features.h \ - /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/sys_errlist.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio.h /usr/include/syslog.h \ - /usr/include/arm-linux-gnueabihf/sys/syslog.h \ - /usr/include/arm-linux-gnueabihf/bits/syslog-path.h \ - /usr/include/glib-2.0/glib.h /usr/include/glib-2.0/glib/galloca.h \ - /usr/include/glib-2.0/glib/gtypes.h \ - /usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h \ - /usr/include/glib-2.0/glib/gmacros.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h \ - /usr/include/limits.h /usr/include/arm-linux-gnueabihf/bits/posix1_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/local_lim.h \ - /usr/include/linux/limits.h \ - /usr/include/arm-linux-gnueabihf/bits/posix2_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/xopen_lim.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h \ - /usr/include/glib-2.0/glib/gversionmacros.h /usr/include/time.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/bits/timex.h /usr/include/xlocale.h \ - /usr/include/glib-2.0/glib/garray.h \ - /usr/include/glib-2.0/glib/gasyncqueue.h \ - /usr/include/glib-2.0/glib/gthread.h \ - /usr/include/glib-2.0/glib/gatomic.h /usr/include/glib-2.0/glib/gerror.h \ - /usr/include/glib-2.0/glib/gquark.h \ - /usr/include/glib-2.0/glib/gbacktrace.h /usr/include/signal.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/signum.h \ - /usr/include/arm-linux-gnueabihf/bits/siginfo.h \ - /usr/include/arm-linux-gnueabihf/bits/sigaction.h \ - /usr/include/arm-linux-gnueabihf/bits/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/asm/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigstack.h \ - /usr/include/arm-linux-gnueabihf/sys/ucontext.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/endian.h /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/arm-linux-gnueabihf/bits/sigthread.h \ - /usr/include/glib-2.0/glib/gbase64.h \ - /usr/include/glib-2.0/glib/gbitlock.h \ - /usr/include/glib-2.0/glib/gbookmarkfile.h \ - /usr/include/glib-2.0/glib/gbytes.h \ - /usr/include/glib-2.0/glib/gcharset.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/gconvert.h \ - /usr/include/glib-2.0/glib/gdataset.h /usr/include/glib-2.0/glib/gdate.h \ - /usr/include/glib-2.0/glib/gdatetime.h \ - /usr/include/glib-2.0/glib/gtimezone.h /usr/include/glib-2.0/glib/gdir.h \ - /usr/include/dirent.h /usr/include/arm-linux-gnueabihf/bits/dirent.h \ - /usr/include/glib-2.0/glib/genviron.h \ - /usr/include/glib-2.0/glib/gfileutils.h \ - /usr/include/glib-2.0/glib/ggettext.h /usr/include/glib-2.0/glib/ghash.h \ - /usr/include/glib-2.0/glib/glist.h /usr/include/glib-2.0/glib/gmem.h \ - /usr/include/glib-2.0/glib/gnode.h /usr/include/glib-2.0/glib/ghmac.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/ghook.h \ - /usr/include/glib-2.0/glib/ghostutils.h \ - /usr/include/glib-2.0/glib/giochannel.h \ - /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gpoll.h \ - /usr/include/glib-2.0/glib/gslist.h /usr/include/glib-2.0/glib/gstring.h \ - /usr/include/glib-2.0/glib/gunicode.h \ - /usr/include/glib-2.0/glib/gutils.h \ - /usr/include/glib-2.0/glib/gkeyfile.h \ - /usr/include/glib-2.0/glib/gmappedfile.h \ - /usr/include/glib-2.0/glib/gmarkup.h \ - /usr/include/glib-2.0/glib/gmessages.h \ - /usr/include/glib-2.0/glib/goption.h \ - /usr/include/glib-2.0/glib/gpattern.h \ - /usr/include/glib-2.0/glib/gprimes.h /usr/include/glib-2.0/glib/gqsort.h \ - /usr/include/glib-2.0/glib/gqueue.h /usr/include/glib-2.0/glib/grand.h \ - /usr/include/glib-2.0/glib/gregex.h \ - /usr/include/glib-2.0/glib/gscanner.h \ - /usr/include/glib-2.0/glib/gsequence.h \ - /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gslice.h \ - /usr/include/glib-2.0/glib/gspawn.h \ - /usr/include/glib-2.0/glib/gstrfuncs.h \ - /usr/include/glib-2.0/glib/gstringchunk.h \ - /usr/include/glib-2.0/glib/gtestutils.h \ - /usr/include/glib-2.0/glib/gthreadpool.h \ - /usr/include/glib-2.0/glib/gtimer.h \ - /usr/include/glib-2.0/glib/gtrashstack.h \ - /usr/include/glib-2.0/glib/gtree.h \ - /usr/include/glib-2.0/glib/gurifuncs.h \ - /usr/include/glib-2.0/glib/gvarianttype.h \ - /usr/include/glib-2.0/glib/gvariant.h \ - /usr/include/glib-2.0/glib/gversion.h \ - /usr/include/glib-2.0/glib/deprecated/gallocator.h \ - /usr/include/glib-2.0/glib/deprecated/gcache.h \ - /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ - /usr/include/glib-2.0/glib/deprecated/gmain.h \ - /usr/include/glib-2.0/glib/deprecated/grel.h \ - /usr/include/glib-2.0/glib/deprecated/gthread.h \ - /usr/include/arm-linux-gnueabihf/sys/types.h \ - /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h /usr/include/pthread.h \ - /usr/include/sched.h /usr/include/arm-linux-gnueabihf/bits/sched.h \ - /usr/include/arm-linux-gnueabihf/bits/setjmp.h obexd/src/log.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/include/stdio.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/sys_errlist.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio.h: - -/usr/include/syslog.h: - -/usr/include/arm-linux-gnueabihf/sys/syslog.h: - -/usr/include/arm-linux-gnueabihf/bits/syslog-path.h: - -/usr/include/glib-2.0/glib.h: - -/usr/include/glib-2.0/glib/galloca.h: - -/usr/include/glib-2.0/glib/gtypes.h: - -/usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h: - -/usr/include/glib-2.0/glib/gmacros.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h: - -/usr/include/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/local_lim.h: - -/usr/include/linux/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix2_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/xopen_lim.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h: - -/usr/include/glib-2.0/glib/gversionmacros.h: - -/usr/include/time.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/bits/timex.h: - -/usr/include/xlocale.h: - -/usr/include/glib-2.0/glib/garray.h: - -/usr/include/glib-2.0/glib/gasyncqueue.h: - -/usr/include/glib-2.0/glib/gthread.h: - -/usr/include/glib-2.0/glib/gatomic.h: - -/usr/include/glib-2.0/glib/gerror.h: - -/usr/include/glib-2.0/glib/gquark.h: - -/usr/include/glib-2.0/glib/gbacktrace.h: - -/usr/include/signal.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/signum.h: - -/usr/include/arm-linux-gnueabihf/bits/siginfo.h: - -/usr/include/arm-linux-gnueabihf/bits/sigaction.h: - -/usr/include/arm-linux-gnueabihf/bits/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/asm/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigstack.h: - -/usr/include/arm-linux-gnueabihf/sys/ucontext.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/arm-linux-gnueabihf/bits/sigthread.h: - -/usr/include/glib-2.0/glib/gbase64.h: - -/usr/include/glib-2.0/glib/gbitlock.h: - -/usr/include/glib-2.0/glib/gbookmarkfile.h: - -/usr/include/glib-2.0/glib/gbytes.h: - -/usr/include/glib-2.0/glib/gcharset.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/gconvert.h: - -/usr/include/glib-2.0/glib/gdataset.h: - -/usr/include/glib-2.0/glib/gdate.h: - -/usr/include/glib-2.0/glib/gdatetime.h: - -/usr/include/glib-2.0/glib/gtimezone.h: - -/usr/include/glib-2.0/glib/gdir.h: - -/usr/include/dirent.h: - -/usr/include/arm-linux-gnueabihf/bits/dirent.h: - -/usr/include/glib-2.0/glib/genviron.h: - -/usr/include/glib-2.0/glib/gfileutils.h: - -/usr/include/glib-2.0/glib/ggettext.h: - -/usr/include/glib-2.0/glib/ghash.h: - -/usr/include/glib-2.0/glib/glist.h: - -/usr/include/glib-2.0/glib/gmem.h: - -/usr/include/glib-2.0/glib/gnode.h: - -/usr/include/glib-2.0/glib/ghmac.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/ghook.h: - -/usr/include/glib-2.0/glib/ghostutils.h: - -/usr/include/glib-2.0/glib/giochannel.h: - -/usr/include/glib-2.0/glib/gmain.h: - -/usr/include/glib-2.0/glib/gpoll.h: - -/usr/include/glib-2.0/glib/gslist.h: - -/usr/include/glib-2.0/glib/gstring.h: - -/usr/include/glib-2.0/glib/gunicode.h: - -/usr/include/glib-2.0/glib/gutils.h: - -/usr/include/glib-2.0/glib/gkeyfile.h: - -/usr/include/glib-2.0/glib/gmappedfile.h: - -/usr/include/glib-2.0/glib/gmarkup.h: - -/usr/include/glib-2.0/glib/gmessages.h: - -/usr/include/glib-2.0/glib/goption.h: - -/usr/include/glib-2.0/glib/gpattern.h: - -/usr/include/glib-2.0/glib/gprimes.h: - -/usr/include/glib-2.0/glib/gqsort.h: - -/usr/include/glib-2.0/glib/gqueue.h: - -/usr/include/glib-2.0/glib/grand.h: - -/usr/include/glib-2.0/glib/gregex.h: - -/usr/include/glib-2.0/glib/gscanner.h: - -/usr/include/glib-2.0/glib/gsequence.h: - -/usr/include/glib-2.0/glib/gshell.h: - -/usr/include/glib-2.0/glib/gslice.h: - -/usr/include/glib-2.0/glib/gspawn.h: - -/usr/include/glib-2.0/glib/gstrfuncs.h: - -/usr/include/glib-2.0/glib/gstringchunk.h: - -/usr/include/glib-2.0/glib/gtestutils.h: - -/usr/include/glib-2.0/glib/gthreadpool.h: - -/usr/include/glib-2.0/glib/gtimer.h: - -/usr/include/glib-2.0/glib/gtrashstack.h: - -/usr/include/glib-2.0/glib/gtree.h: - -/usr/include/glib-2.0/glib/gurifuncs.h: - -/usr/include/glib-2.0/glib/gvarianttype.h: - -/usr/include/glib-2.0/glib/gvariant.h: - -/usr/include/glib-2.0/glib/gversion.h: - -/usr/include/glib-2.0/glib/deprecated/gallocator.h: - -/usr/include/glib-2.0/glib/deprecated/gcache.h: - -/usr/include/glib-2.0/glib/deprecated/gcompletion.h: - -/usr/include/glib-2.0/glib/deprecated/gmain.h: - -/usr/include/glib-2.0/glib/deprecated/grel.h: - -/usr/include/glib-2.0/glib/deprecated/gthread.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/pthread.h: - -/usr/include/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/setjmp.h: - -obexd/src/log.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/obexd/src/.deps/obexd-main.Po b/GRIB_BLE_HUB/libs/ble_extend/obexd/src/.deps/obexd-main.Po deleted file mode 100644 index ec57bf0..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/obexd/src/.deps/obexd-main.Po +++ /dev/null @@ -1,540 +0,0 @@ -obexd/src/obexd-main.o: obexd/src/main.c /usr/include/stdc-predef.h \ - config.h /usr/include/stdio.h /usr/include/features.h \ - /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/sys_errlist.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio.h /usr/include/errno.h \ - /usr/include/arm-linux-gnueabihf/bits/errno.h /usr/include/linux/errno.h \ - /usr/include/arm-linux-gnueabihf/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/include/unistd.h /usr/include/arm-linux-gnueabihf/bits/posix_opt.h \ - /usr/include/arm-linux-gnueabihf/bits/environments.h \ - /usr/include/arm-linux-gnueabihf/bits/confname.h /usr/include/getopt.h \ - /usr/include/stdlib.h /usr/include/arm-linux-gnueabihf/bits/waitflags.h \ - /usr/include/arm-linux-gnueabihf/bits/waitstatus.h /usr/include/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/xlocale.h /usr/include/arm-linux-gnueabihf/sys/types.h \ - /usr/include/time.h /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/alloca.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-float.h \ - /usr/include/string.h /usr/include/arm-linux-gnueabihf/bits/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string2.h /usr/include/signal.h \ - /usr/include/arm-linux-gnueabihf/bits/signum.h \ - /usr/include/arm-linux-gnueabihf/bits/siginfo.h \ - /usr/include/arm-linux-gnueabihf/bits/sigaction.h \ - /usr/include/arm-linux-gnueabihf/bits/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/asm/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigstack.h \ - /usr/include/arm-linux-gnueabihf/sys/ucontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigthread.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h \ - /usr/include/stdint.h /usr/include/arm-linux-gnueabihf/bits/wchar.h \ - /usr/include/arm-linux-gnueabihf/sys/stat.h \ - /usr/include/arm-linux-gnueabihf/bits/stat.h \ - /usr/include/arm-linux-gnueabihf/sys/wait.h \ - /usr/include/arm-linux-gnueabihf/sys/signalfd.h \ - /usr/include/arm-linux-gnueabihf/bits/signalfd.h /usr/include/fcntl.h \ - /usr/include/arm-linux-gnueabihf/bits/fcntl.h \ - /usr/include/arm-linux-gnueabihf/bits/fcntl-linux.h \ - /usr/include/arm-linux-gnueabihf/bits/uio.h /usr/include/termios.h \ - /usr/include/arm-linux-gnueabihf/bits/termios.h \ - /usr/include/arm-linux-gnueabihf/sys/ttydefaults.h /usr/include/syslog.h \ - /usr/include/arm-linux-gnueabihf/sys/syslog.h \ - /usr/include/arm-linux-gnueabihf/bits/syslog-path.h \ - /usr/include/glib-2.0/glib.h /usr/include/glib-2.0/glib/galloca.h \ - /usr/include/glib-2.0/glib/gtypes.h \ - /usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h \ - /usr/include/glib-2.0/glib/gmacros.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h \ - /usr/include/limits.h /usr/include/arm-linux-gnueabihf/bits/posix1_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/local_lim.h \ - /usr/include/linux/limits.h \ - /usr/include/arm-linux-gnueabihf/bits/posix2_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/xopen_lim.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h \ - /usr/include/glib-2.0/glib/gversionmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/timex.h \ - /usr/include/glib-2.0/glib/garray.h \ - /usr/include/glib-2.0/glib/gasyncqueue.h \ - /usr/include/glib-2.0/glib/gthread.h \ - /usr/include/glib-2.0/glib/gatomic.h /usr/include/glib-2.0/glib/gerror.h \ - /usr/include/glib-2.0/glib/gquark.h \ - /usr/include/glib-2.0/glib/gbacktrace.h \ - /usr/include/glib-2.0/glib/gbase64.h \ - /usr/include/glib-2.0/glib/gbitlock.h \ - /usr/include/glib-2.0/glib/gbookmarkfile.h \ - /usr/include/glib-2.0/glib/gbytes.h \ - /usr/include/glib-2.0/glib/gcharset.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/gconvert.h \ - /usr/include/glib-2.0/glib/gdataset.h /usr/include/glib-2.0/glib/gdate.h \ - /usr/include/glib-2.0/glib/gdatetime.h \ - /usr/include/glib-2.0/glib/gtimezone.h /usr/include/glib-2.0/glib/gdir.h \ - /usr/include/dirent.h /usr/include/arm-linux-gnueabihf/bits/dirent.h \ - /usr/include/glib-2.0/glib/genviron.h \ - /usr/include/glib-2.0/glib/gfileutils.h \ - /usr/include/glib-2.0/glib/ggettext.h /usr/include/glib-2.0/glib/ghash.h \ - /usr/include/glib-2.0/glib/glist.h /usr/include/glib-2.0/glib/gmem.h \ - /usr/include/glib-2.0/glib/gnode.h /usr/include/glib-2.0/glib/ghmac.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/ghook.h \ - /usr/include/glib-2.0/glib/ghostutils.h \ - /usr/include/glib-2.0/glib/giochannel.h \ - /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gpoll.h \ - /usr/include/glib-2.0/glib/gslist.h /usr/include/glib-2.0/glib/gstring.h \ - /usr/include/glib-2.0/glib/gunicode.h \ - /usr/include/glib-2.0/glib/gutils.h \ - /usr/include/glib-2.0/glib/gkeyfile.h \ - /usr/include/glib-2.0/glib/gmappedfile.h \ - /usr/include/glib-2.0/glib/gmarkup.h \ - /usr/include/glib-2.0/glib/gmessages.h \ - /usr/include/glib-2.0/glib/goption.h \ - /usr/include/glib-2.0/glib/gpattern.h \ - /usr/include/glib-2.0/glib/gprimes.h /usr/include/glib-2.0/glib/gqsort.h \ - /usr/include/glib-2.0/glib/gqueue.h /usr/include/glib-2.0/glib/grand.h \ - /usr/include/glib-2.0/glib/gregex.h \ - /usr/include/glib-2.0/glib/gscanner.h \ - /usr/include/glib-2.0/glib/gsequence.h \ - /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gslice.h \ - /usr/include/glib-2.0/glib/gspawn.h \ - /usr/include/glib-2.0/glib/gstrfuncs.h \ - /usr/include/glib-2.0/glib/gstringchunk.h \ - /usr/include/glib-2.0/glib/gtestutils.h \ - /usr/include/glib-2.0/glib/gthreadpool.h \ - /usr/include/glib-2.0/glib/gtimer.h \ - /usr/include/glib-2.0/glib/gtrashstack.h \ - /usr/include/glib-2.0/glib/gtree.h \ - /usr/include/glib-2.0/glib/gurifuncs.h \ - /usr/include/glib-2.0/glib/gvarianttype.h \ - /usr/include/glib-2.0/glib/gvariant.h \ - /usr/include/glib-2.0/glib/gversion.h \ - /usr/include/glib-2.0/glib/deprecated/gallocator.h \ - /usr/include/glib-2.0/glib/deprecated/gcache.h \ - /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ - /usr/include/glib-2.0/glib/deprecated/gmain.h \ - /usr/include/glib-2.0/glib/deprecated/grel.h \ - /usr/include/glib-2.0/glib/deprecated/gthread.h /usr/include/pthread.h \ - /usr/include/sched.h /usr/include/arm-linux-gnueabihf/bits/sched.h \ - /usr/include/arm-linux-gnueabihf/bits/setjmp.h gdbus/gdbus.h \ - /usr/include/dbus-1.0/dbus/dbus.h \ - /usr/lib/arm-linux-gnueabihf/dbus-1.0/include/dbus/dbus-arch-deps.h \ - /usr/include/dbus-1.0/dbus/dbus-macros.h \ - /usr/include/dbus-1.0/dbus/dbus-address.h \ - /usr/include/dbus-1.0/dbus/dbus-types.h \ - /usr/include/dbus-1.0/dbus/dbus-errors.h \ - /usr/include/dbus-1.0/dbus/dbus-protocol.h \ - /usr/include/dbus-1.0/dbus/dbus-bus.h \ - /usr/include/dbus-1.0/dbus/dbus-connection.h \ - /usr/include/dbus-1.0/dbus/dbus-memory.h \ - /usr/include/dbus-1.0/dbus/dbus-message.h \ - /usr/include/dbus-1.0/dbus/dbus-shared.h \ - /usr/include/dbus-1.0/dbus/dbus-misc.h \ - /usr/include/dbus-1.0/dbus/dbus-pending-call.h \ - /usr/include/dbus-1.0/dbus/dbus-server.h \ - /usr/include/dbus-1.0/dbus/dbus-signature.h \ - /usr/include/dbus-1.0/dbus/dbus-syntax.h \ - /usr/include/dbus-1.0/dbus/dbus-threads.h obexd/src/../client/manager.h \ - obexd/src/log.h obexd/src/obexd.h obexd/src/server.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/include/stdio.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/sys_errlist.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio.h: - -/usr/include/errno.h: - -/usr/include/arm-linux-gnueabihf/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/arm-linux-gnueabihf/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/include/unistd.h: - -/usr/include/arm-linux-gnueabihf/bits/posix_opt.h: - -/usr/include/arm-linux-gnueabihf/bits/environments.h: - -/usr/include/arm-linux-gnueabihf/bits/confname.h: - -/usr/include/getopt.h: - -/usr/include/stdlib.h: - -/usr/include/arm-linux-gnueabihf/bits/waitflags.h: - -/usr/include/arm-linux-gnueabihf/bits/waitstatus.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/xlocale.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/time.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/alloca.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-float.h: - -/usr/include/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string2.h: - -/usr/include/signal.h: - -/usr/include/arm-linux-gnueabihf/bits/signum.h: - -/usr/include/arm-linux-gnueabihf/bits/siginfo.h: - -/usr/include/arm-linux-gnueabihf/bits/sigaction.h: - -/usr/include/arm-linux-gnueabihf/bits/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/asm/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigstack.h: - -/usr/include/arm-linux-gnueabihf/sys/ucontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigthread.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/arm-linux-gnueabihf/bits/wchar.h: - -/usr/include/arm-linux-gnueabihf/sys/stat.h: - -/usr/include/arm-linux-gnueabihf/bits/stat.h: - -/usr/include/arm-linux-gnueabihf/sys/wait.h: - -/usr/include/arm-linux-gnueabihf/sys/signalfd.h: - -/usr/include/arm-linux-gnueabihf/bits/signalfd.h: - -/usr/include/fcntl.h: - -/usr/include/arm-linux-gnueabihf/bits/fcntl.h: - -/usr/include/arm-linux-gnueabihf/bits/fcntl-linux.h: - -/usr/include/arm-linux-gnueabihf/bits/uio.h: - -/usr/include/termios.h: - -/usr/include/arm-linux-gnueabihf/bits/termios.h: - -/usr/include/arm-linux-gnueabihf/sys/ttydefaults.h: - -/usr/include/syslog.h: - -/usr/include/arm-linux-gnueabihf/sys/syslog.h: - -/usr/include/arm-linux-gnueabihf/bits/syslog-path.h: - -/usr/include/glib-2.0/glib.h: - -/usr/include/glib-2.0/glib/galloca.h: - -/usr/include/glib-2.0/glib/gtypes.h: - -/usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h: - -/usr/include/glib-2.0/glib/gmacros.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h: - -/usr/include/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/local_lim.h: - -/usr/include/linux/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix2_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/xopen_lim.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h: - -/usr/include/glib-2.0/glib/gversionmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/timex.h: - -/usr/include/glib-2.0/glib/garray.h: - -/usr/include/glib-2.0/glib/gasyncqueue.h: - -/usr/include/glib-2.0/glib/gthread.h: - -/usr/include/glib-2.0/glib/gatomic.h: - -/usr/include/glib-2.0/glib/gerror.h: - -/usr/include/glib-2.0/glib/gquark.h: - -/usr/include/glib-2.0/glib/gbacktrace.h: - -/usr/include/glib-2.0/glib/gbase64.h: - -/usr/include/glib-2.0/glib/gbitlock.h: - -/usr/include/glib-2.0/glib/gbookmarkfile.h: - -/usr/include/glib-2.0/glib/gbytes.h: - -/usr/include/glib-2.0/glib/gcharset.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/gconvert.h: - -/usr/include/glib-2.0/glib/gdataset.h: - -/usr/include/glib-2.0/glib/gdate.h: - -/usr/include/glib-2.0/glib/gdatetime.h: - -/usr/include/glib-2.0/glib/gtimezone.h: - -/usr/include/glib-2.0/glib/gdir.h: - -/usr/include/dirent.h: - -/usr/include/arm-linux-gnueabihf/bits/dirent.h: - -/usr/include/glib-2.0/glib/genviron.h: - -/usr/include/glib-2.0/glib/gfileutils.h: - -/usr/include/glib-2.0/glib/ggettext.h: - -/usr/include/glib-2.0/glib/ghash.h: - -/usr/include/glib-2.0/glib/glist.h: - -/usr/include/glib-2.0/glib/gmem.h: - -/usr/include/glib-2.0/glib/gnode.h: - -/usr/include/glib-2.0/glib/ghmac.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/ghook.h: - -/usr/include/glib-2.0/glib/ghostutils.h: - -/usr/include/glib-2.0/glib/giochannel.h: - -/usr/include/glib-2.0/glib/gmain.h: - -/usr/include/glib-2.0/glib/gpoll.h: - -/usr/include/glib-2.0/glib/gslist.h: - -/usr/include/glib-2.0/glib/gstring.h: - -/usr/include/glib-2.0/glib/gunicode.h: - -/usr/include/glib-2.0/glib/gutils.h: - -/usr/include/glib-2.0/glib/gkeyfile.h: - -/usr/include/glib-2.0/glib/gmappedfile.h: - -/usr/include/glib-2.0/glib/gmarkup.h: - -/usr/include/glib-2.0/glib/gmessages.h: - -/usr/include/glib-2.0/glib/goption.h: - -/usr/include/glib-2.0/glib/gpattern.h: - -/usr/include/glib-2.0/glib/gprimes.h: - -/usr/include/glib-2.0/glib/gqsort.h: - -/usr/include/glib-2.0/glib/gqueue.h: - -/usr/include/glib-2.0/glib/grand.h: - -/usr/include/glib-2.0/glib/gregex.h: - -/usr/include/glib-2.0/glib/gscanner.h: - -/usr/include/glib-2.0/glib/gsequence.h: - -/usr/include/glib-2.0/glib/gshell.h: - -/usr/include/glib-2.0/glib/gslice.h: - -/usr/include/glib-2.0/glib/gspawn.h: - -/usr/include/glib-2.0/glib/gstrfuncs.h: - -/usr/include/glib-2.0/glib/gstringchunk.h: - -/usr/include/glib-2.0/glib/gtestutils.h: - -/usr/include/glib-2.0/glib/gthreadpool.h: - -/usr/include/glib-2.0/glib/gtimer.h: - -/usr/include/glib-2.0/glib/gtrashstack.h: - -/usr/include/glib-2.0/glib/gtree.h: - -/usr/include/glib-2.0/glib/gurifuncs.h: - -/usr/include/glib-2.0/glib/gvarianttype.h: - -/usr/include/glib-2.0/glib/gvariant.h: - -/usr/include/glib-2.0/glib/gversion.h: - -/usr/include/glib-2.0/glib/deprecated/gallocator.h: - -/usr/include/glib-2.0/glib/deprecated/gcache.h: - -/usr/include/glib-2.0/glib/deprecated/gcompletion.h: - -/usr/include/glib-2.0/glib/deprecated/gmain.h: - -/usr/include/glib-2.0/glib/deprecated/grel.h: - -/usr/include/glib-2.0/glib/deprecated/gthread.h: - -/usr/include/pthread.h: - -/usr/include/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/setjmp.h: - -gdbus/gdbus.h: - -/usr/include/dbus-1.0/dbus/dbus.h: - -/usr/lib/arm-linux-gnueabihf/dbus-1.0/include/dbus/dbus-arch-deps.h: - -/usr/include/dbus-1.0/dbus/dbus-macros.h: - -/usr/include/dbus-1.0/dbus/dbus-address.h: - -/usr/include/dbus-1.0/dbus/dbus-types.h: - -/usr/include/dbus-1.0/dbus/dbus-errors.h: - -/usr/include/dbus-1.0/dbus/dbus-protocol.h: - -/usr/include/dbus-1.0/dbus/dbus-bus.h: - -/usr/include/dbus-1.0/dbus/dbus-connection.h: - -/usr/include/dbus-1.0/dbus/dbus-memory.h: - -/usr/include/dbus-1.0/dbus/dbus-message.h: - -/usr/include/dbus-1.0/dbus/dbus-shared.h: - -/usr/include/dbus-1.0/dbus/dbus-misc.h: - -/usr/include/dbus-1.0/dbus/dbus-pending-call.h: - -/usr/include/dbus-1.0/dbus/dbus-server.h: - -/usr/include/dbus-1.0/dbus/dbus-signature.h: - -/usr/include/dbus-1.0/dbus/dbus-syntax.h: - -/usr/include/dbus-1.0/dbus/dbus-threads.h: - -obexd/src/../client/manager.h: - -obexd/src/log.h: - -obexd/src/obexd.h: - -obexd/src/server.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/obexd/src/.deps/obexd-manager.Po b/GRIB_BLE_HUB/libs/ble_extend/obexd/src/.deps/obexd-manager.Po deleted file mode 100644 index 6541195..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/obexd/src/.deps/obexd-manager.Po +++ /dev/null @@ -1,536 +0,0 @@ -obexd/src/obexd-manager.o: obexd/src/manager.c /usr/include/stdc-predef.h \ - config.h /usr/include/stdio.h /usr/include/features.h \ - /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/sys_errlist.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio.h /usr/include/unistd.h \ - /usr/include/arm-linux-gnueabihf/bits/posix_opt.h \ - /usr/include/arm-linux-gnueabihf/bits/environments.h \ - /usr/include/arm-linux-gnueabihf/bits/confname.h /usr/include/getopt.h \ - /usr/include/string.h /usr/include/xlocale.h \ - /usr/include/arm-linux-gnueabihf/bits/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string2.h /usr/include/stdlib.h \ - /usr/include/errno.h /usr/include/arm-linux-gnueabihf/bits/errno.h \ - /usr/include/linux/errno.h /usr/include/arm-linux-gnueabihf/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - gdbus/gdbus.h /usr/include/dbus-1.0/dbus/dbus.h \ - /usr/lib/arm-linux-gnueabihf/dbus-1.0/include/dbus/dbus-arch-deps.h \ - /usr/include/dbus-1.0/dbus/dbus-macros.h \ - /usr/include/dbus-1.0/dbus/dbus-address.h \ - /usr/include/dbus-1.0/dbus/dbus-types.h \ - /usr/include/dbus-1.0/dbus/dbus-errors.h \ - /usr/include/dbus-1.0/dbus/dbus-protocol.h \ - /usr/include/dbus-1.0/dbus/dbus-bus.h \ - /usr/include/dbus-1.0/dbus/dbus-connection.h \ - /usr/include/dbus-1.0/dbus/dbus-memory.h \ - /usr/include/dbus-1.0/dbus/dbus-message.h \ - /usr/include/dbus-1.0/dbus/dbus-shared.h \ - /usr/include/dbus-1.0/dbus/dbus-misc.h \ - /usr/include/dbus-1.0/dbus/dbus-pending-call.h \ - /usr/include/dbus-1.0/dbus/dbus-server.h \ - /usr/include/dbus-1.0/dbus/dbus-signature.h \ - /usr/include/dbus-1.0/dbus/dbus-syntax.h \ - /usr/include/dbus-1.0/dbus/dbus-threads.h /usr/include/glib-2.0/glib.h \ - /usr/include/glib-2.0/glib/galloca.h /usr/include/glib-2.0/glib/gtypes.h \ - /usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h \ - /usr/include/glib-2.0/glib/gmacros.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h \ - /usr/include/limits.h /usr/include/arm-linux-gnueabihf/bits/posix1_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/local_lim.h \ - /usr/include/linux/limits.h \ - /usr/include/arm-linux-gnueabihf/bits/posix2_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/xopen_lim.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h \ - /usr/include/glib-2.0/glib/gversionmacros.h /usr/include/time.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/bits/timex.h \ - /usr/include/glib-2.0/glib/garray.h \ - /usr/include/glib-2.0/glib/gasyncqueue.h \ - /usr/include/glib-2.0/glib/gthread.h \ - /usr/include/glib-2.0/glib/gatomic.h /usr/include/glib-2.0/glib/gerror.h \ - /usr/include/glib-2.0/glib/gquark.h \ - /usr/include/glib-2.0/glib/gbacktrace.h /usr/include/signal.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/signum.h \ - /usr/include/arm-linux-gnueabihf/bits/siginfo.h \ - /usr/include/arm-linux-gnueabihf/bits/sigaction.h \ - /usr/include/arm-linux-gnueabihf/bits/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/asm/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigstack.h \ - /usr/include/arm-linux-gnueabihf/sys/ucontext.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/endian.h /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/arm-linux-gnueabihf/bits/sigthread.h \ - /usr/include/glib-2.0/glib/gbase64.h \ - /usr/include/glib-2.0/glib/gbitlock.h \ - /usr/include/glib-2.0/glib/gbookmarkfile.h \ - /usr/include/glib-2.0/glib/gbytes.h \ - /usr/include/glib-2.0/glib/gcharset.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/gconvert.h \ - /usr/include/glib-2.0/glib/gdataset.h /usr/include/glib-2.0/glib/gdate.h \ - /usr/include/glib-2.0/glib/gdatetime.h \ - /usr/include/glib-2.0/glib/gtimezone.h /usr/include/glib-2.0/glib/gdir.h \ - /usr/include/dirent.h /usr/include/arm-linux-gnueabihf/bits/dirent.h \ - /usr/include/glib-2.0/glib/genviron.h \ - /usr/include/glib-2.0/glib/gfileutils.h \ - /usr/include/glib-2.0/glib/ggettext.h /usr/include/glib-2.0/glib/ghash.h \ - /usr/include/glib-2.0/glib/glist.h /usr/include/glib-2.0/glib/gmem.h \ - /usr/include/glib-2.0/glib/gnode.h /usr/include/glib-2.0/glib/ghmac.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/ghook.h \ - /usr/include/glib-2.0/glib/ghostutils.h \ - /usr/include/glib-2.0/glib/giochannel.h \ - /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gpoll.h \ - /usr/include/glib-2.0/glib/gslist.h /usr/include/glib-2.0/glib/gstring.h \ - /usr/include/glib-2.0/glib/gunicode.h \ - /usr/include/glib-2.0/glib/gutils.h \ - /usr/include/glib-2.0/glib/gkeyfile.h \ - /usr/include/glib-2.0/glib/gmappedfile.h \ - /usr/include/glib-2.0/glib/gmarkup.h \ - /usr/include/glib-2.0/glib/gmessages.h \ - /usr/include/glib-2.0/glib/goption.h \ - /usr/include/glib-2.0/glib/gpattern.h \ - /usr/include/glib-2.0/glib/gprimes.h /usr/include/glib-2.0/glib/gqsort.h \ - /usr/include/glib-2.0/glib/gqueue.h /usr/include/glib-2.0/glib/grand.h \ - /usr/include/glib-2.0/glib/gregex.h \ - /usr/include/glib-2.0/glib/gscanner.h \ - /usr/include/glib-2.0/glib/gsequence.h \ - /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gslice.h \ - /usr/include/glib-2.0/glib/gspawn.h \ - /usr/include/glib-2.0/glib/gstrfuncs.h \ - /usr/include/glib-2.0/glib/gstringchunk.h \ - /usr/include/glib-2.0/glib/gtestutils.h \ - /usr/include/glib-2.0/glib/gthreadpool.h \ - /usr/include/glib-2.0/glib/gtimer.h \ - /usr/include/glib-2.0/glib/gtrashstack.h \ - /usr/include/glib-2.0/glib/gtree.h \ - /usr/include/glib-2.0/glib/gurifuncs.h \ - /usr/include/glib-2.0/glib/gvarianttype.h \ - /usr/include/glib-2.0/glib/gvariant.h \ - /usr/include/glib-2.0/glib/gversion.h \ - /usr/include/glib-2.0/glib/deprecated/gallocator.h \ - /usr/include/glib-2.0/glib/deprecated/gcache.h \ - /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ - /usr/include/glib-2.0/glib/deprecated/gmain.h \ - /usr/include/glib-2.0/glib/deprecated/grel.h \ - /usr/include/glib-2.0/glib/deprecated/gthread.h \ - /usr/include/arm-linux-gnueabihf/sys/types.h \ - /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h /usr/include/pthread.h \ - /usr/include/sched.h /usr/include/arm-linux-gnueabihf/bits/sched.h \ - /usr/include/arm-linux-gnueabihf/bits/setjmp.h \ - /usr/include/arm-linux-gnueabihf/sys/socket.h \ - /usr/include/arm-linux-gnueabihf/sys/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/socket.h \ - /usr/include/arm-linux-gnueabihf/bits/socket_type.h \ - /usr/include/arm-linux-gnueabihf/bits/sockaddr.h \ - /usr/include/arm-linux-gnueabihf/asm/socket.h \ - /usr/include/asm-generic/socket.h \ - /usr/include/arm-linux-gnueabihf/asm/sockios.h \ - /usr/include/asm-generic/sockios.h /usr/include/inttypes.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h \ - /usr/include/stdint.h /usr/include/arm-linux-gnueabihf/bits/wchar.h \ - btio/btio.h gobex/gobex.h gobex/gobex-defs.h gobex/gobex-packet.h \ - gobex/gobex-header.h gobex/gobex-apparam.h obexd/src/obexd.h \ - obexd/src/obex.h obexd/src/obex-priv.h obexd/src/server.h \ - obexd/src/manager.h obexd/src/log.h obexd/src/service.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/include/stdio.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/sys_errlist.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio.h: - -/usr/include/unistd.h: - -/usr/include/arm-linux-gnueabihf/bits/posix_opt.h: - -/usr/include/arm-linux-gnueabihf/bits/environments.h: - -/usr/include/arm-linux-gnueabihf/bits/confname.h: - -/usr/include/getopt.h: - -/usr/include/string.h: - -/usr/include/xlocale.h: - -/usr/include/arm-linux-gnueabihf/bits/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string2.h: - -/usr/include/stdlib.h: - -/usr/include/errno.h: - -/usr/include/arm-linux-gnueabihf/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/arm-linux-gnueabihf/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -gdbus/gdbus.h: - -/usr/include/dbus-1.0/dbus/dbus.h: - -/usr/lib/arm-linux-gnueabihf/dbus-1.0/include/dbus/dbus-arch-deps.h: - -/usr/include/dbus-1.0/dbus/dbus-macros.h: - -/usr/include/dbus-1.0/dbus/dbus-address.h: - -/usr/include/dbus-1.0/dbus/dbus-types.h: - -/usr/include/dbus-1.0/dbus/dbus-errors.h: - -/usr/include/dbus-1.0/dbus/dbus-protocol.h: - -/usr/include/dbus-1.0/dbus/dbus-bus.h: - -/usr/include/dbus-1.0/dbus/dbus-connection.h: - -/usr/include/dbus-1.0/dbus/dbus-memory.h: - -/usr/include/dbus-1.0/dbus/dbus-message.h: - -/usr/include/dbus-1.0/dbus/dbus-shared.h: - -/usr/include/dbus-1.0/dbus/dbus-misc.h: - -/usr/include/dbus-1.0/dbus/dbus-pending-call.h: - -/usr/include/dbus-1.0/dbus/dbus-server.h: - -/usr/include/dbus-1.0/dbus/dbus-signature.h: - -/usr/include/dbus-1.0/dbus/dbus-syntax.h: - -/usr/include/dbus-1.0/dbus/dbus-threads.h: - -/usr/include/glib-2.0/glib.h: - -/usr/include/glib-2.0/glib/galloca.h: - -/usr/include/glib-2.0/glib/gtypes.h: - -/usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h: - -/usr/include/glib-2.0/glib/gmacros.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h: - -/usr/include/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/local_lim.h: - -/usr/include/linux/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix2_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/xopen_lim.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h: - -/usr/include/glib-2.0/glib/gversionmacros.h: - -/usr/include/time.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/bits/timex.h: - -/usr/include/glib-2.0/glib/garray.h: - -/usr/include/glib-2.0/glib/gasyncqueue.h: - -/usr/include/glib-2.0/glib/gthread.h: - -/usr/include/glib-2.0/glib/gatomic.h: - -/usr/include/glib-2.0/glib/gerror.h: - -/usr/include/glib-2.0/glib/gquark.h: - -/usr/include/glib-2.0/glib/gbacktrace.h: - -/usr/include/signal.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/signum.h: - -/usr/include/arm-linux-gnueabihf/bits/siginfo.h: - -/usr/include/arm-linux-gnueabihf/bits/sigaction.h: - -/usr/include/arm-linux-gnueabihf/bits/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/asm/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigstack.h: - -/usr/include/arm-linux-gnueabihf/sys/ucontext.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/arm-linux-gnueabihf/bits/sigthread.h: - -/usr/include/glib-2.0/glib/gbase64.h: - -/usr/include/glib-2.0/glib/gbitlock.h: - -/usr/include/glib-2.0/glib/gbookmarkfile.h: - -/usr/include/glib-2.0/glib/gbytes.h: - -/usr/include/glib-2.0/glib/gcharset.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/gconvert.h: - -/usr/include/glib-2.0/glib/gdataset.h: - -/usr/include/glib-2.0/glib/gdate.h: - -/usr/include/glib-2.0/glib/gdatetime.h: - -/usr/include/glib-2.0/glib/gtimezone.h: - -/usr/include/glib-2.0/glib/gdir.h: - -/usr/include/dirent.h: - -/usr/include/arm-linux-gnueabihf/bits/dirent.h: - -/usr/include/glib-2.0/glib/genviron.h: - -/usr/include/glib-2.0/glib/gfileutils.h: - -/usr/include/glib-2.0/glib/ggettext.h: - -/usr/include/glib-2.0/glib/ghash.h: - -/usr/include/glib-2.0/glib/glist.h: - -/usr/include/glib-2.0/glib/gmem.h: - -/usr/include/glib-2.0/glib/gnode.h: - -/usr/include/glib-2.0/glib/ghmac.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/ghook.h: - -/usr/include/glib-2.0/glib/ghostutils.h: - -/usr/include/glib-2.0/glib/giochannel.h: - -/usr/include/glib-2.0/glib/gmain.h: - -/usr/include/glib-2.0/glib/gpoll.h: - -/usr/include/glib-2.0/glib/gslist.h: - -/usr/include/glib-2.0/glib/gstring.h: - -/usr/include/glib-2.0/glib/gunicode.h: - -/usr/include/glib-2.0/glib/gutils.h: - -/usr/include/glib-2.0/glib/gkeyfile.h: - -/usr/include/glib-2.0/glib/gmappedfile.h: - -/usr/include/glib-2.0/glib/gmarkup.h: - -/usr/include/glib-2.0/glib/gmessages.h: - -/usr/include/glib-2.0/glib/goption.h: - -/usr/include/glib-2.0/glib/gpattern.h: - -/usr/include/glib-2.0/glib/gprimes.h: - -/usr/include/glib-2.0/glib/gqsort.h: - -/usr/include/glib-2.0/glib/gqueue.h: - -/usr/include/glib-2.0/glib/grand.h: - -/usr/include/glib-2.0/glib/gregex.h: - -/usr/include/glib-2.0/glib/gscanner.h: - -/usr/include/glib-2.0/glib/gsequence.h: - -/usr/include/glib-2.0/glib/gshell.h: - -/usr/include/glib-2.0/glib/gslice.h: - -/usr/include/glib-2.0/glib/gspawn.h: - -/usr/include/glib-2.0/glib/gstrfuncs.h: - -/usr/include/glib-2.0/glib/gstringchunk.h: - -/usr/include/glib-2.0/glib/gtestutils.h: - -/usr/include/glib-2.0/glib/gthreadpool.h: - -/usr/include/glib-2.0/glib/gtimer.h: - -/usr/include/glib-2.0/glib/gtrashstack.h: - -/usr/include/glib-2.0/glib/gtree.h: - -/usr/include/glib-2.0/glib/gurifuncs.h: - -/usr/include/glib-2.0/glib/gvarianttype.h: - -/usr/include/glib-2.0/glib/gvariant.h: - -/usr/include/glib-2.0/glib/gversion.h: - -/usr/include/glib-2.0/glib/deprecated/gallocator.h: - -/usr/include/glib-2.0/glib/deprecated/gcache.h: - -/usr/include/glib-2.0/glib/deprecated/gcompletion.h: - -/usr/include/glib-2.0/glib/deprecated/gmain.h: - -/usr/include/glib-2.0/glib/deprecated/grel.h: - -/usr/include/glib-2.0/glib/deprecated/gthread.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/pthread.h: - -/usr/include/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/setjmp.h: - -/usr/include/arm-linux-gnueabihf/sys/socket.h: - -/usr/include/arm-linux-gnueabihf/sys/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/socket.h: - -/usr/include/arm-linux-gnueabihf/bits/socket_type.h: - -/usr/include/arm-linux-gnueabihf/bits/sockaddr.h: - -/usr/include/arm-linux-gnueabihf/asm/socket.h: - -/usr/include/asm-generic/socket.h: - -/usr/include/arm-linux-gnueabihf/asm/sockios.h: - -/usr/include/asm-generic/sockios.h: - -/usr/include/inttypes.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/arm-linux-gnueabihf/bits/wchar.h: - -btio/btio.h: - -gobex/gobex.h: - -gobex/gobex-defs.h: - -gobex/gobex-packet.h: - -gobex/gobex-header.h: - -gobex/gobex-apparam.h: - -obexd/src/obexd.h: - -obexd/src/obex.h: - -obexd/src/obex-priv.h: - -obexd/src/server.h: - -obexd/src/manager.h: - -obexd/src/log.h: - -obexd/src/service.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/obexd/src/.deps/obexd-mimetype.Po b/GRIB_BLE_HUB/libs/ble_extend/obexd/src/.deps/obexd-mimetype.Po deleted file mode 100644 index d7c68d6..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/obexd/src/.deps/obexd-mimetype.Po +++ /dev/null @@ -1,434 +0,0 @@ -obexd/src/obexd-mimetype.o: obexd/src/mimetype.c \ - /usr/include/stdc-predef.h config.h /usr/include/stdio.h \ - /usr/include/features.h /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/sys_errlist.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio.h /usr/include/errno.h \ - /usr/include/arm-linux-gnueabihf/bits/errno.h /usr/include/linux/errno.h \ - /usr/include/arm-linux-gnueabihf/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/include/string.h /usr/include/xlocale.h \ - /usr/include/arm-linux-gnueabihf/bits/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string2.h /usr/include/stdlib.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h \ - /usr/include/stdint.h /usr/include/arm-linux-gnueabihf/bits/wchar.h \ - /usr/include/arm-linux-gnueabihf/bits/waitflags.h \ - /usr/include/arm-linux-gnueabihf/bits/waitstatus.h /usr/include/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/arm-linux-gnueabihf/sys/types.h /usr/include/time.h \ - /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/alloca.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-float.h \ - /usr/include/arm-linux-gnueabihf/sys/stat.h \ - /usr/include/arm-linux-gnueabihf/bits/stat.h \ - /usr/include/glib-2.0/glib.h /usr/include/glib-2.0/glib/galloca.h \ - /usr/include/glib-2.0/glib/gtypes.h \ - /usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h \ - /usr/include/glib-2.0/glib/gmacros.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h \ - /usr/include/limits.h /usr/include/arm-linux-gnueabihf/bits/posix1_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/local_lim.h \ - /usr/include/linux/limits.h \ - /usr/include/arm-linux-gnueabihf/bits/posix2_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/xopen_lim.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h \ - /usr/include/glib-2.0/glib/gversionmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/timex.h \ - /usr/include/glib-2.0/glib/garray.h \ - /usr/include/glib-2.0/glib/gasyncqueue.h \ - /usr/include/glib-2.0/glib/gthread.h \ - /usr/include/glib-2.0/glib/gatomic.h /usr/include/glib-2.0/glib/gerror.h \ - /usr/include/glib-2.0/glib/gquark.h \ - /usr/include/glib-2.0/glib/gbacktrace.h /usr/include/signal.h \ - /usr/include/arm-linux-gnueabihf/bits/signum.h \ - /usr/include/arm-linux-gnueabihf/bits/siginfo.h \ - /usr/include/arm-linux-gnueabihf/bits/sigaction.h \ - /usr/include/arm-linux-gnueabihf/bits/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/asm/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigstack.h \ - /usr/include/arm-linux-gnueabihf/sys/ucontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigthread.h \ - /usr/include/glib-2.0/glib/gbase64.h \ - /usr/include/glib-2.0/glib/gbitlock.h \ - /usr/include/glib-2.0/glib/gbookmarkfile.h \ - /usr/include/glib-2.0/glib/gbytes.h \ - /usr/include/glib-2.0/glib/gcharset.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/gconvert.h \ - /usr/include/glib-2.0/glib/gdataset.h /usr/include/glib-2.0/glib/gdate.h \ - /usr/include/glib-2.0/glib/gdatetime.h \ - /usr/include/glib-2.0/glib/gtimezone.h /usr/include/glib-2.0/glib/gdir.h \ - /usr/include/dirent.h /usr/include/arm-linux-gnueabihf/bits/dirent.h \ - /usr/include/glib-2.0/glib/genviron.h \ - /usr/include/glib-2.0/glib/gfileutils.h \ - /usr/include/glib-2.0/glib/ggettext.h /usr/include/glib-2.0/glib/ghash.h \ - /usr/include/glib-2.0/glib/glist.h /usr/include/glib-2.0/glib/gmem.h \ - /usr/include/glib-2.0/glib/gnode.h /usr/include/glib-2.0/glib/ghmac.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/ghook.h \ - /usr/include/glib-2.0/glib/ghostutils.h \ - /usr/include/glib-2.0/glib/giochannel.h \ - /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gpoll.h \ - /usr/include/glib-2.0/glib/gslist.h /usr/include/glib-2.0/glib/gstring.h \ - /usr/include/glib-2.0/glib/gunicode.h \ - /usr/include/glib-2.0/glib/gutils.h \ - /usr/include/glib-2.0/glib/gkeyfile.h \ - /usr/include/glib-2.0/glib/gmappedfile.h \ - /usr/include/glib-2.0/glib/gmarkup.h \ - /usr/include/glib-2.0/glib/gmessages.h \ - /usr/include/glib-2.0/glib/goption.h \ - /usr/include/glib-2.0/glib/gpattern.h \ - /usr/include/glib-2.0/glib/gprimes.h /usr/include/glib-2.0/glib/gqsort.h \ - /usr/include/glib-2.0/glib/gqueue.h /usr/include/glib-2.0/glib/grand.h \ - /usr/include/glib-2.0/glib/gregex.h \ - /usr/include/glib-2.0/glib/gscanner.h \ - /usr/include/glib-2.0/glib/gsequence.h \ - /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gslice.h \ - /usr/include/glib-2.0/glib/gspawn.h \ - /usr/include/glib-2.0/glib/gstrfuncs.h \ - /usr/include/glib-2.0/glib/gstringchunk.h \ - /usr/include/glib-2.0/glib/gtestutils.h \ - /usr/include/glib-2.0/glib/gthreadpool.h \ - /usr/include/glib-2.0/glib/gtimer.h \ - /usr/include/glib-2.0/glib/gtrashstack.h \ - /usr/include/glib-2.0/glib/gtree.h \ - /usr/include/glib-2.0/glib/gurifuncs.h \ - /usr/include/glib-2.0/glib/gvarianttype.h \ - /usr/include/glib-2.0/glib/gvariant.h \ - /usr/include/glib-2.0/glib/gversion.h \ - /usr/include/glib-2.0/glib/deprecated/gallocator.h \ - /usr/include/glib-2.0/glib/deprecated/gcache.h \ - /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ - /usr/include/glib-2.0/glib/deprecated/gmain.h \ - /usr/include/glib-2.0/glib/deprecated/grel.h \ - /usr/include/glib-2.0/glib/deprecated/gthread.h /usr/include/pthread.h \ - /usr/include/sched.h /usr/include/arm-linux-gnueabihf/bits/sched.h \ - /usr/include/arm-linux-gnueabihf/bits/setjmp.h obexd/src/log.h \ - obexd/src/obex.h obexd/src/mimetype.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/include/stdio.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/sys_errlist.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio.h: - -/usr/include/errno.h: - -/usr/include/arm-linux-gnueabihf/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/arm-linux-gnueabihf/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/include/string.h: - -/usr/include/xlocale.h: - -/usr/include/arm-linux-gnueabihf/bits/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string2.h: - -/usr/include/stdlib.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/arm-linux-gnueabihf/bits/wchar.h: - -/usr/include/arm-linux-gnueabihf/bits/waitflags.h: - -/usr/include/arm-linux-gnueabihf/bits/waitstatus.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/time.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/alloca.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-float.h: - -/usr/include/arm-linux-gnueabihf/sys/stat.h: - -/usr/include/arm-linux-gnueabihf/bits/stat.h: - -/usr/include/glib-2.0/glib.h: - -/usr/include/glib-2.0/glib/galloca.h: - -/usr/include/glib-2.0/glib/gtypes.h: - -/usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h: - -/usr/include/glib-2.0/glib/gmacros.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h: - -/usr/include/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/local_lim.h: - -/usr/include/linux/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix2_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/xopen_lim.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h: - -/usr/include/glib-2.0/glib/gversionmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/timex.h: - -/usr/include/glib-2.0/glib/garray.h: - -/usr/include/glib-2.0/glib/gasyncqueue.h: - -/usr/include/glib-2.0/glib/gthread.h: - -/usr/include/glib-2.0/glib/gatomic.h: - -/usr/include/glib-2.0/glib/gerror.h: - -/usr/include/glib-2.0/glib/gquark.h: - -/usr/include/glib-2.0/glib/gbacktrace.h: - -/usr/include/signal.h: - -/usr/include/arm-linux-gnueabihf/bits/signum.h: - -/usr/include/arm-linux-gnueabihf/bits/siginfo.h: - -/usr/include/arm-linux-gnueabihf/bits/sigaction.h: - -/usr/include/arm-linux-gnueabihf/bits/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/asm/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigstack.h: - -/usr/include/arm-linux-gnueabihf/sys/ucontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigthread.h: - -/usr/include/glib-2.0/glib/gbase64.h: - -/usr/include/glib-2.0/glib/gbitlock.h: - -/usr/include/glib-2.0/glib/gbookmarkfile.h: - -/usr/include/glib-2.0/glib/gbytes.h: - -/usr/include/glib-2.0/glib/gcharset.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/gconvert.h: - -/usr/include/glib-2.0/glib/gdataset.h: - -/usr/include/glib-2.0/glib/gdate.h: - -/usr/include/glib-2.0/glib/gdatetime.h: - -/usr/include/glib-2.0/glib/gtimezone.h: - -/usr/include/glib-2.0/glib/gdir.h: - -/usr/include/dirent.h: - -/usr/include/arm-linux-gnueabihf/bits/dirent.h: - -/usr/include/glib-2.0/glib/genviron.h: - -/usr/include/glib-2.0/glib/gfileutils.h: - -/usr/include/glib-2.0/glib/ggettext.h: - -/usr/include/glib-2.0/glib/ghash.h: - -/usr/include/glib-2.0/glib/glist.h: - -/usr/include/glib-2.0/glib/gmem.h: - -/usr/include/glib-2.0/glib/gnode.h: - -/usr/include/glib-2.0/glib/ghmac.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/ghook.h: - -/usr/include/glib-2.0/glib/ghostutils.h: - -/usr/include/glib-2.0/glib/giochannel.h: - -/usr/include/glib-2.0/glib/gmain.h: - -/usr/include/glib-2.0/glib/gpoll.h: - -/usr/include/glib-2.0/glib/gslist.h: - -/usr/include/glib-2.0/glib/gstring.h: - -/usr/include/glib-2.0/glib/gunicode.h: - -/usr/include/glib-2.0/glib/gutils.h: - -/usr/include/glib-2.0/glib/gkeyfile.h: - -/usr/include/glib-2.0/glib/gmappedfile.h: - -/usr/include/glib-2.0/glib/gmarkup.h: - -/usr/include/glib-2.0/glib/gmessages.h: - -/usr/include/glib-2.0/glib/goption.h: - -/usr/include/glib-2.0/glib/gpattern.h: - -/usr/include/glib-2.0/glib/gprimes.h: - -/usr/include/glib-2.0/glib/gqsort.h: - -/usr/include/glib-2.0/glib/gqueue.h: - -/usr/include/glib-2.0/glib/grand.h: - -/usr/include/glib-2.0/glib/gregex.h: - -/usr/include/glib-2.0/glib/gscanner.h: - -/usr/include/glib-2.0/glib/gsequence.h: - -/usr/include/glib-2.0/glib/gshell.h: - -/usr/include/glib-2.0/glib/gslice.h: - -/usr/include/glib-2.0/glib/gspawn.h: - -/usr/include/glib-2.0/glib/gstrfuncs.h: - -/usr/include/glib-2.0/glib/gstringchunk.h: - -/usr/include/glib-2.0/glib/gtestutils.h: - -/usr/include/glib-2.0/glib/gthreadpool.h: - -/usr/include/glib-2.0/glib/gtimer.h: - -/usr/include/glib-2.0/glib/gtrashstack.h: - -/usr/include/glib-2.0/glib/gtree.h: - -/usr/include/glib-2.0/glib/gurifuncs.h: - -/usr/include/glib-2.0/glib/gvarianttype.h: - -/usr/include/glib-2.0/glib/gvariant.h: - -/usr/include/glib-2.0/glib/gversion.h: - -/usr/include/glib-2.0/glib/deprecated/gallocator.h: - -/usr/include/glib-2.0/glib/deprecated/gcache.h: - -/usr/include/glib-2.0/glib/deprecated/gcompletion.h: - -/usr/include/glib-2.0/glib/deprecated/gmain.h: - -/usr/include/glib-2.0/glib/deprecated/grel.h: - -/usr/include/glib-2.0/glib/deprecated/gthread.h: - -/usr/include/pthread.h: - -/usr/include/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/setjmp.h: - -obexd/src/log.h: - -obexd/src/obex.h: - -obexd/src/mimetype.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/obexd/src/.deps/obexd-obex.Po b/GRIB_BLE_HUB/libs/ble_extend/obexd/src/.deps/obexd-obex.Po deleted file mode 100644 index 8848810..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/obexd/src/.deps/obexd-obex.Po +++ /dev/null @@ -1,546 +0,0 @@ -obexd/src/obexd-obex.o: obexd/src/obex.c /usr/include/stdc-predef.h \ - config.h /usr/include/stdio.h /usr/include/features.h \ - /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/sys_errlist.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio.h /usr/include/errno.h \ - /usr/include/arm-linux-gnueabihf/bits/errno.h /usr/include/linux/errno.h \ - /usr/include/arm-linux-gnueabihf/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/include/stdlib.h /usr/include/arm-linux-gnueabihf/bits/waitflags.h \ - /usr/include/arm-linux-gnueabihf/bits/waitstatus.h /usr/include/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/xlocale.h /usr/include/arm-linux-gnueabihf/sys/types.h \ - /usr/include/time.h /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/alloca.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-float.h \ - /usr/include/signal.h /usr/include/arm-linux-gnueabihf/bits/signum.h \ - /usr/include/arm-linux-gnueabihf/bits/siginfo.h \ - /usr/include/arm-linux-gnueabihf/bits/sigaction.h \ - /usr/include/arm-linux-gnueabihf/bits/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/asm/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigstack.h \ - /usr/include/arm-linux-gnueabihf/sys/ucontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigthread.h \ - /usr/include/arm-linux-gnueabihf/bits/timex.h /usr/include/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string2.h /usr/include/unistd.h \ - /usr/include/arm-linux-gnueabihf/bits/posix_opt.h \ - /usr/include/arm-linux-gnueabihf/bits/environments.h \ - /usr/include/arm-linux-gnueabihf/bits/confname.h /usr/include/getopt.h \ - /usr/include/arm-linux-gnueabihf/sys/stat.h \ - /usr/include/arm-linux-gnueabihf/bits/stat.h \ - /usr/include/arm-linux-gnueabihf/sys/statvfs.h \ - /usr/include/arm-linux-gnueabihf/bits/statvfs.h /usr/include/fcntl.h \ - /usr/include/arm-linux-gnueabihf/bits/fcntl.h \ - /usr/include/arm-linux-gnueabihf/bits/fcntl-linux.h \ - /usr/include/arm-linux-gnueabihf/bits/uio.h /usr/include/inttypes.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h \ - /usr/include/stdint.h /usr/include/arm-linux-gnueabihf/bits/wchar.h \ - /usr/include/glib-2.0/glib.h /usr/include/glib-2.0/glib/galloca.h \ - /usr/include/glib-2.0/glib/gtypes.h \ - /usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h \ - /usr/include/glib-2.0/glib/gmacros.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h \ - /usr/include/limits.h /usr/include/arm-linux-gnueabihf/bits/posix1_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/local_lim.h \ - /usr/include/linux/limits.h \ - /usr/include/arm-linux-gnueabihf/bits/posix2_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/xopen_lim.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h \ - /usr/include/glib-2.0/glib/gversionmacros.h \ - /usr/include/glib-2.0/glib/garray.h \ - /usr/include/glib-2.0/glib/gasyncqueue.h \ - /usr/include/glib-2.0/glib/gthread.h \ - /usr/include/glib-2.0/glib/gatomic.h /usr/include/glib-2.0/glib/gerror.h \ - /usr/include/glib-2.0/glib/gquark.h \ - /usr/include/glib-2.0/glib/gbacktrace.h \ - /usr/include/glib-2.0/glib/gbase64.h \ - /usr/include/glib-2.0/glib/gbitlock.h \ - /usr/include/glib-2.0/glib/gbookmarkfile.h \ - /usr/include/glib-2.0/glib/gbytes.h \ - /usr/include/glib-2.0/glib/gcharset.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/gconvert.h \ - /usr/include/glib-2.0/glib/gdataset.h /usr/include/glib-2.0/glib/gdate.h \ - /usr/include/glib-2.0/glib/gdatetime.h \ - /usr/include/glib-2.0/glib/gtimezone.h /usr/include/glib-2.0/glib/gdir.h \ - /usr/include/dirent.h /usr/include/arm-linux-gnueabihf/bits/dirent.h \ - /usr/include/glib-2.0/glib/genviron.h \ - /usr/include/glib-2.0/glib/gfileutils.h \ - /usr/include/glib-2.0/glib/ggettext.h /usr/include/glib-2.0/glib/ghash.h \ - /usr/include/glib-2.0/glib/glist.h /usr/include/glib-2.0/glib/gmem.h \ - /usr/include/glib-2.0/glib/gnode.h /usr/include/glib-2.0/glib/ghmac.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/ghook.h \ - /usr/include/glib-2.0/glib/ghostutils.h \ - /usr/include/glib-2.0/glib/giochannel.h \ - /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gpoll.h \ - /usr/include/glib-2.0/glib/gslist.h /usr/include/glib-2.0/glib/gstring.h \ - /usr/include/glib-2.0/glib/gunicode.h \ - /usr/include/glib-2.0/glib/gutils.h \ - /usr/include/glib-2.0/glib/gkeyfile.h \ - /usr/include/glib-2.0/glib/gmappedfile.h \ - /usr/include/glib-2.0/glib/gmarkup.h \ - /usr/include/glib-2.0/glib/gmessages.h \ - /usr/include/glib-2.0/glib/goption.h \ - /usr/include/glib-2.0/glib/gpattern.h \ - /usr/include/glib-2.0/glib/gprimes.h /usr/include/glib-2.0/glib/gqsort.h \ - /usr/include/glib-2.0/glib/gqueue.h /usr/include/glib-2.0/glib/grand.h \ - /usr/include/glib-2.0/glib/gregex.h \ - /usr/include/glib-2.0/glib/gscanner.h \ - /usr/include/glib-2.0/glib/gsequence.h \ - /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gslice.h \ - /usr/include/glib-2.0/glib/gspawn.h \ - /usr/include/glib-2.0/glib/gstrfuncs.h \ - /usr/include/glib-2.0/glib/gstringchunk.h \ - /usr/include/glib-2.0/glib/gtestutils.h \ - /usr/include/glib-2.0/glib/gthreadpool.h \ - /usr/include/glib-2.0/glib/gtimer.h \ - /usr/include/glib-2.0/glib/gtrashstack.h \ - /usr/include/glib-2.0/glib/gtree.h \ - /usr/include/glib-2.0/glib/gurifuncs.h \ - /usr/include/glib-2.0/glib/gvarianttype.h \ - /usr/include/glib-2.0/glib/gvariant.h \ - /usr/include/glib-2.0/glib/gversion.h \ - /usr/include/glib-2.0/glib/deprecated/gallocator.h \ - /usr/include/glib-2.0/glib/deprecated/gcache.h \ - /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ - /usr/include/glib-2.0/glib/deprecated/gmain.h \ - /usr/include/glib-2.0/glib/deprecated/grel.h \ - /usr/include/glib-2.0/glib/deprecated/gthread.h /usr/include/pthread.h \ - /usr/include/sched.h /usr/include/arm-linux-gnueabihf/bits/sched.h \ - /usr/include/arm-linux-gnueabihf/bits/setjmp.h btio/btio.h gobex/gobex.h \ - gobex/gobex-defs.h gobex/gobex-packet.h gobex/gobex-header.h \ - gobex/gobex-apparam.h obexd/src/obexd.h obexd/src/log.h obexd/src/obex.h \ - obexd/src/obex-priv.h obexd/src/server.h obexd/src/manager.h \ - /usr/include/dbus-1.0/dbus/dbus.h \ - /usr/lib/arm-linux-gnueabihf/dbus-1.0/include/dbus/dbus-arch-deps.h \ - /usr/include/dbus-1.0/dbus/dbus-macros.h \ - /usr/include/dbus-1.0/dbus/dbus-address.h \ - /usr/include/dbus-1.0/dbus/dbus-types.h \ - /usr/include/dbus-1.0/dbus/dbus-errors.h \ - /usr/include/dbus-1.0/dbus/dbus-protocol.h \ - /usr/include/dbus-1.0/dbus/dbus-bus.h \ - /usr/include/dbus-1.0/dbus/dbus-connection.h \ - /usr/include/dbus-1.0/dbus/dbus-memory.h \ - /usr/include/dbus-1.0/dbus/dbus-message.h \ - /usr/include/dbus-1.0/dbus/dbus-shared.h \ - /usr/include/dbus-1.0/dbus/dbus-misc.h \ - /usr/include/dbus-1.0/dbus/dbus-pending-call.h \ - /usr/include/dbus-1.0/dbus/dbus-server.h \ - /usr/include/dbus-1.0/dbus/dbus-signature.h \ - /usr/include/dbus-1.0/dbus/dbus-syntax.h \ - /usr/include/dbus-1.0/dbus/dbus-threads.h obexd/src/mimetype.h \ - obexd/src/service.h obexd/src/transport.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/include/stdio.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/sys_errlist.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio.h: - -/usr/include/errno.h: - -/usr/include/arm-linux-gnueabihf/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/arm-linux-gnueabihf/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/include/stdlib.h: - -/usr/include/arm-linux-gnueabihf/bits/waitflags.h: - -/usr/include/arm-linux-gnueabihf/bits/waitstatus.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/xlocale.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/time.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/alloca.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-float.h: - -/usr/include/signal.h: - -/usr/include/arm-linux-gnueabihf/bits/signum.h: - -/usr/include/arm-linux-gnueabihf/bits/siginfo.h: - -/usr/include/arm-linux-gnueabihf/bits/sigaction.h: - -/usr/include/arm-linux-gnueabihf/bits/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/asm/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigstack.h: - -/usr/include/arm-linux-gnueabihf/sys/ucontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigthread.h: - -/usr/include/arm-linux-gnueabihf/bits/timex.h: - -/usr/include/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string2.h: - -/usr/include/unistd.h: - -/usr/include/arm-linux-gnueabihf/bits/posix_opt.h: - -/usr/include/arm-linux-gnueabihf/bits/environments.h: - -/usr/include/arm-linux-gnueabihf/bits/confname.h: - -/usr/include/getopt.h: - -/usr/include/arm-linux-gnueabihf/sys/stat.h: - -/usr/include/arm-linux-gnueabihf/bits/stat.h: - -/usr/include/arm-linux-gnueabihf/sys/statvfs.h: - -/usr/include/arm-linux-gnueabihf/bits/statvfs.h: - -/usr/include/fcntl.h: - -/usr/include/arm-linux-gnueabihf/bits/fcntl.h: - -/usr/include/arm-linux-gnueabihf/bits/fcntl-linux.h: - -/usr/include/arm-linux-gnueabihf/bits/uio.h: - -/usr/include/inttypes.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/arm-linux-gnueabihf/bits/wchar.h: - -/usr/include/glib-2.0/glib.h: - -/usr/include/glib-2.0/glib/galloca.h: - -/usr/include/glib-2.0/glib/gtypes.h: - -/usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h: - -/usr/include/glib-2.0/glib/gmacros.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h: - -/usr/include/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/local_lim.h: - -/usr/include/linux/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix2_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/xopen_lim.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h: - -/usr/include/glib-2.0/glib/gversionmacros.h: - -/usr/include/glib-2.0/glib/garray.h: - -/usr/include/glib-2.0/glib/gasyncqueue.h: - -/usr/include/glib-2.0/glib/gthread.h: - -/usr/include/glib-2.0/glib/gatomic.h: - -/usr/include/glib-2.0/glib/gerror.h: - -/usr/include/glib-2.0/glib/gquark.h: - -/usr/include/glib-2.0/glib/gbacktrace.h: - -/usr/include/glib-2.0/glib/gbase64.h: - -/usr/include/glib-2.0/glib/gbitlock.h: - -/usr/include/glib-2.0/glib/gbookmarkfile.h: - -/usr/include/glib-2.0/glib/gbytes.h: - -/usr/include/glib-2.0/glib/gcharset.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/gconvert.h: - -/usr/include/glib-2.0/glib/gdataset.h: - -/usr/include/glib-2.0/glib/gdate.h: - -/usr/include/glib-2.0/glib/gdatetime.h: - -/usr/include/glib-2.0/glib/gtimezone.h: - -/usr/include/glib-2.0/glib/gdir.h: - -/usr/include/dirent.h: - -/usr/include/arm-linux-gnueabihf/bits/dirent.h: - -/usr/include/glib-2.0/glib/genviron.h: - -/usr/include/glib-2.0/glib/gfileutils.h: - -/usr/include/glib-2.0/glib/ggettext.h: - -/usr/include/glib-2.0/glib/ghash.h: - -/usr/include/glib-2.0/glib/glist.h: - -/usr/include/glib-2.0/glib/gmem.h: - -/usr/include/glib-2.0/glib/gnode.h: - -/usr/include/glib-2.0/glib/ghmac.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/ghook.h: - -/usr/include/glib-2.0/glib/ghostutils.h: - -/usr/include/glib-2.0/glib/giochannel.h: - -/usr/include/glib-2.0/glib/gmain.h: - -/usr/include/glib-2.0/glib/gpoll.h: - -/usr/include/glib-2.0/glib/gslist.h: - -/usr/include/glib-2.0/glib/gstring.h: - -/usr/include/glib-2.0/glib/gunicode.h: - -/usr/include/glib-2.0/glib/gutils.h: - -/usr/include/glib-2.0/glib/gkeyfile.h: - -/usr/include/glib-2.0/glib/gmappedfile.h: - -/usr/include/glib-2.0/glib/gmarkup.h: - -/usr/include/glib-2.0/glib/gmessages.h: - -/usr/include/glib-2.0/glib/goption.h: - -/usr/include/glib-2.0/glib/gpattern.h: - -/usr/include/glib-2.0/glib/gprimes.h: - -/usr/include/glib-2.0/glib/gqsort.h: - -/usr/include/glib-2.0/glib/gqueue.h: - -/usr/include/glib-2.0/glib/grand.h: - -/usr/include/glib-2.0/glib/gregex.h: - -/usr/include/glib-2.0/glib/gscanner.h: - -/usr/include/glib-2.0/glib/gsequence.h: - -/usr/include/glib-2.0/glib/gshell.h: - -/usr/include/glib-2.0/glib/gslice.h: - -/usr/include/glib-2.0/glib/gspawn.h: - -/usr/include/glib-2.0/glib/gstrfuncs.h: - -/usr/include/glib-2.0/glib/gstringchunk.h: - -/usr/include/glib-2.0/glib/gtestutils.h: - -/usr/include/glib-2.0/glib/gthreadpool.h: - -/usr/include/glib-2.0/glib/gtimer.h: - -/usr/include/glib-2.0/glib/gtrashstack.h: - -/usr/include/glib-2.0/glib/gtree.h: - -/usr/include/glib-2.0/glib/gurifuncs.h: - -/usr/include/glib-2.0/glib/gvarianttype.h: - -/usr/include/glib-2.0/glib/gvariant.h: - -/usr/include/glib-2.0/glib/gversion.h: - -/usr/include/glib-2.0/glib/deprecated/gallocator.h: - -/usr/include/glib-2.0/glib/deprecated/gcache.h: - -/usr/include/glib-2.0/glib/deprecated/gcompletion.h: - -/usr/include/glib-2.0/glib/deprecated/gmain.h: - -/usr/include/glib-2.0/glib/deprecated/grel.h: - -/usr/include/glib-2.0/glib/deprecated/gthread.h: - -/usr/include/pthread.h: - -/usr/include/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/setjmp.h: - -btio/btio.h: - -gobex/gobex.h: - -gobex/gobex-defs.h: - -gobex/gobex-packet.h: - -gobex/gobex-header.h: - -gobex/gobex-apparam.h: - -obexd/src/obexd.h: - -obexd/src/log.h: - -obexd/src/obex.h: - -obexd/src/obex-priv.h: - -obexd/src/server.h: - -obexd/src/manager.h: - -/usr/include/dbus-1.0/dbus/dbus.h: - -/usr/lib/arm-linux-gnueabihf/dbus-1.0/include/dbus/dbus-arch-deps.h: - -/usr/include/dbus-1.0/dbus/dbus-macros.h: - -/usr/include/dbus-1.0/dbus/dbus-address.h: - -/usr/include/dbus-1.0/dbus/dbus-types.h: - -/usr/include/dbus-1.0/dbus/dbus-errors.h: - -/usr/include/dbus-1.0/dbus/dbus-protocol.h: - -/usr/include/dbus-1.0/dbus/dbus-bus.h: - -/usr/include/dbus-1.0/dbus/dbus-connection.h: - -/usr/include/dbus-1.0/dbus/dbus-memory.h: - -/usr/include/dbus-1.0/dbus/dbus-message.h: - -/usr/include/dbus-1.0/dbus/dbus-shared.h: - -/usr/include/dbus-1.0/dbus/dbus-misc.h: - -/usr/include/dbus-1.0/dbus/dbus-pending-call.h: - -/usr/include/dbus-1.0/dbus/dbus-server.h: - -/usr/include/dbus-1.0/dbus/dbus-signature.h: - -/usr/include/dbus-1.0/dbus/dbus-syntax.h: - -/usr/include/dbus-1.0/dbus/dbus-threads.h: - -obexd/src/mimetype.h: - -obexd/src/service.h: - -obexd/src/transport.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/obexd/src/.deps/obexd-plugin.Po b/GRIB_BLE_HUB/libs/ble_extend/obexd/src/.deps/obexd-plugin.Po deleted file mode 100644 index 821acee..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/obexd/src/.deps/obexd-plugin.Po +++ /dev/null @@ -1,403 +0,0 @@ -obexd/src/obexd-plugin.o: obexd/src/plugin.c /usr/include/stdc-predef.h \ - config.h /usr/include/errno.h /usr/include/features.h \ - /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/include/arm-linux-gnueabihf/bits/errno.h /usr/include/linux/errno.h \ - /usr/include/arm-linux-gnueabihf/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/include/dlfcn.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/include/arm-linux-gnueabihf/bits/dlfcn.h /usr/include/string.h \ - /usr/include/xlocale.h /usr/include/arm-linux-gnueabihf/bits/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string2.h /usr/include/stdlib.h \ - /usr/include/arm-linux-gnueabihf/sys/stat.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h /usr/include/time.h \ - /usr/include/arm-linux-gnueabihf/bits/stat.h \ - /usr/include/glib-2.0/glib.h /usr/include/glib-2.0/glib/galloca.h \ - /usr/include/glib-2.0/glib/gtypes.h \ - /usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h \ - /usr/include/glib-2.0/glib/gmacros.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h \ - /usr/include/limits.h /usr/include/arm-linux-gnueabihf/bits/posix1_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/local_lim.h \ - /usr/include/linux/limits.h \ - /usr/include/arm-linux-gnueabihf/bits/posix2_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/xopen_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h \ - /usr/include/glib-2.0/glib/gversionmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/bits/timex.h \ - /usr/include/glib-2.0/glib/garray.h \ - /usr/include/glib-2.0/glib/gasyncqueue.h \ - /usr/include/glib-2.0/glib/gthread.h \ - /usr/include/glib-2.0/glib/gatomic.h /usr/include/glib-2.0/glib/gerror.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/glib-2.0/glib/gquark.h \ - /usr/include/glib-2.0/glib/gbacktrace.h /usr/include/signal.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/signum.h \ - /usr/include/arm-linux-gnueabihf/bits/siginfo.h \ - /usr/include/arm-linux-gnueabihf/bits/sigaction.h \ - /usr/include/arm-linux-gnueabihf/bits/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/asm/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigstack.h \ - /usr/include/arm-linux-gnueabihf/sys/ucontext.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/endian.h /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/arm-linux-gnueabihf/bits/sigthread.h \ - /usr/include/glib-2.0/glib/gbase64.h \ - /usr/include/glib-2.0/glib/gbitlock.h \ - /usr/include/glib-2.0/glib/gbookmarkfile.h \ - /usr/include/glib-2.0/glib/gbytes.h \ - /usr/include/glib-2.0/glib/gcharset.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/gconvert.h \ - /usr/include/glib-2.0/glib/gdataset.h /usr/include/glib-2.0/glib/gdate.h \ - /usr/include/glib-2.0/glib/gdatetime.h \ - /usr/include/glib-2.0/glib/gtimezone.h /usr/include/glib-2.0/glib/gdir.h \ - /usr/include/dirent.h /usr/include/arm-linux-gnueabihf/bits/dirent.h \ - /usr/include/glib-2.0/glib/genviron.h \ - /usr/include/glib-2.0/glib/gfileutils.h \ - /usr/include/glib-2.0/glib/ggettext.h /usr/include/glib-2.0/glib/ghash.h \ - /usr/include/glib-2.0/glib/glist.h /usr/include/glib-2.0/glib/gmem.h \ - /usr/include/glib-2.0/glib/gnode.h /usr/include/glib-2.0/glib/ghmac.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/ghook.h \ - /usr/include/glib-2.0/glib/ghostutils.h \ - /usr/include/glib-2.0/glib/giochannel.h \ - /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gpoll.h \ - /usr/include/glib-2.0/glib/gslist.h /usr/include/glib-2.0/glib/gstring.h \ - /usr/include/glib-2.0/glib/gunicode.h \ - /usr/include/glib-2.0/glib/gutils.h \ - /usr/include/glib-2.0/glib/gkeyfile.h \ - /usr/include/glib-2.0/glib/gmappedfile.h \ - /usr/include/glib-2.0/glib/gmarkup.h \ - /usr/include/glib-2.0/glib/gmessages.h \ - /usr/include/glib-2.0/glib/goption.h \ - /usr/include/glib-2.0/glib/gpattern.h \ - /usr/include/glib-2.0/glib/gprimes.h /usr/include/glib-2.0/glib/gqsort.h \ - /usr/include/glib-2.0/glib/gqueue.h /usr/include/glib-2.0/glib/grand.h \ - /usr/include/glib-2.0/glib/gregex.h \ - /usr/include/glib-2.0/glib/gscanner.h \ - /usr/include/glib-2.0/glib/gsequence.h \ - /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gslice.h \ - /usr/include/glib-2.0/glib/gspawn.h \ - /usr/include/glib-2.0/glib/gstrfuncs.h \ - /usr/include/glib-2.0/glib/gstringchunk.h \ - /usr/include/glib-2.0/glib/gtestutils.h \ - /usr/include/glib-2.0/glib/gthreadpool.h \ - /usr/include/glib-2.0/glib/gtimer.h \ - /usr/include/glib-2.0/glib/gtrashstack.h \ - /usr/include/glib-2.0/glib/gtree.h \ - /usr/include/glib-2.0/glib/gurifuncs.h \ - /usr/include/glib-2.0/glib/gvarianttype.h \ - /usr/include/glib-2.0/glib/gvariant.h \ - /usr/include/glib-2.0/glib/gversion.h \ - /usr/include/glib-2.0/glib/deprecated/gallocator.h \ - /usr/include/glib-2.0/glib/deprecated/gcache.h \ - /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ - /usr/include/glib-2.0/glib/deprecated/gmain.h \ - /usr/include/glib-2.0/glib/deprecated/grel.h \ - /usr/include/glib-2.0/glib/deprecated/gthread.h \ - /usr/include/arm-linux-gnueabihf/sys/types.h \ - /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h /usr/include/pthread.h \ - /usr/include/sched.h /usr/include/arm-linux-gnueabihf/bits/sched.h \ - /usr/include/arm-linux-gnueabihf/bits/setjmp.h obexd/src/obexd.h \ - obexd/src/plugin.h obexd/src/log.h obexd/src/builtin.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/include/errno.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/include/arm-linux-gnueabihf/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/arm-linux-gnueabihf/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/include/dlfcn.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/include/arm-linux-gnueabihf/bits/dlfcn.h: - -/usr/include/string.h: - -/usr/include/xlocale.h: - -/usr/include/arm-linux-gnueabihf/bits/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string2.h: - -/usr/include/stdlib.h: - -/usr/include/arm-linux-gnueabihf/sys/stat.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/time.h: - -/usr/include/arm-linux-gnueabihf/bits/stat.h: - -/usr/include/glib-2.0/glib.h: - -/usr/include/glib-2.0/glib/galloca.h: - -/usr/include/glib-2.0/glib/gtypes.h: - -/usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h: - -/usr/include/glib-2.0/glib/gmacros.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h: - -/usr/include/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/local_lim.h: - -/usr/include/linux/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix2_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/xopen_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h: - -/usr/include/glib-2.0/glib/gversionmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/bits/timex.h: - -/usr/include/glib-2.0/glib/garray.h: - -/usr/include/glib-2.0/glib/gasyncqueue.h: - -/usr/include/glib-2.0/glib/gthread.h: - -/usr/include/glib-2.0/glib/gatomic.h: - -/usr/include/glib-2.0/glib/gerror.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/glib-2.0/glib/gquark.h: - -/usr/include/glib-2.0/glib/gbacktrace.h: - -/usr/include/signal.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/signum.h: - -/usr/include/arm-linux-gnueabihf/bits/siginfo.h: - -/usr/include/arm-linux-gnueabihf/bits/sigaction.h: - -/usr/include/arm-linux-gnueabihf/bits/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/asm/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigstack.h: - -/usr/include/arm-linux-gnueabihf/sys/ucontext.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/arm-linux-gnueabihf/bits/sigthread.h: - -/usr/include/glib-2.0/glib/gbase64.h: - -/usr/include/glib-2.0/glib/gbitlock.h: - -/usr/include/glib-2.0/glib/gbookmarkfile.h: - -/usr/include/glib-2.0/glib/gbytes.h: - -/usr/include/glib-2.0/glib/gcharset.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/gconvert.h: - -/usr/include/glib-2.0/glib/gdataset.h: - -/usr/include/glib-2.0/glib/gdate.h: - -/usr/include/glib-2.0/glib/gdatetime.h: - -/usr/include/glib-2.0/glib/gtimezone.h: - -/usr/include/glib-2.0/glib/gdir.h: - -/usr/include/dirent.h: - -/usr/include/arm-linux-gnueabihf/bits/dirent.h: - -/usr/include/glib-2.0/glib/genviron.h: - -/usr/include/glib-2.0/glib/gfileutils.h: - -/usr/include/glib-2.0/glib/ggettext.h: - -/usr/include/glib-2.0/glib/ghash.h: - -/usr/include/glib-2.0/glib/glist.h: - -/usr/include/glib-2.0/glib/gmem.h: - -/usr/include/glib-2.0/glib/gnode.h: - -/usr/include/glib-2.0/glib/ghmac.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/ghook.h: - -/usr/include/glib-2.0/glib/ghostutils.h: - -/usr/include/glib-2.0/glib/giochannel.h: - -/usr/include/glib-2.0/glib/gmain.h: - -/usr/include/glib-2.0/glib/gpoll.h: - -/usr/include/glib-2.0/glib/gslist.h: - -/usr/include/glib-2.0/glib/gstring.h: - -/usr/include/glib-2.0/glib/gunicode.h: - -/usr/include/glib-2.0/glib/gutils.h: - -/usr/include/glib-2.0/glib/gkeyfile.h: - -/usr/include/glib-2.0/glib/gmappedfile.h: - -/usr/include/glib-2.0/glib/gmarkup.h: - -/usr/include/glib-2.0/glib/gmessages.h: - -/usr/include/glib-2.0/glib/goption.h: - -/usr/include/glib-2.0/glib/gpattern.h: - -/usr/include/glib-2.0/glib/gprimes.h: - -/usr/include/glib-2.0/glib/gqsort.h: - -/usr/include/glib-2.0/glib/gqueue.h: - -/usr/include/glib-2.0/glib/grand.h: - -/usr/include/glib-2.0/glib/gregex.h: - -/usr/include/glib-2.0/glib/gscanner.h: - -/usr/include/glib-2.0/glib/gsequence.h: - -/usr/include/glib-2.0/glib/gshell.h: - -/usr/include/glib-2.0/glib/gslice.h: - -/usr/include/glib-2.0/glib/gspawn.h: - -/usr/include/glib-2.0/glib/gstrfuncs.h: - -/usr/include/glib-2.0/glib/gstringchunk.h: - -/usr/include/glib-2.0/glib/gtestutils.h: - -/usr/include/glib-2.0/glib/gthreadpool.h: - -/usr/include/glib-2.0/glib/gtimer.h: - -/usr/include/glib-2.0/glib/gtrashstack.h: - -/usr/include/glib-2.0/glib/gtree.h: - -/usr/include/glib-2.0/glib/gurifuncs.h: - -/usr/include/glib-2.0/glib/gvarianttype.h: - -/usr/include/glib-2.0/glib/gvariant.h: - -/usr/include/glib-2.0/glib/gversion.h: - -/usr/include/glib-2.0/glib/deprecated/gallocator.h: - -/usr/include/glib-2.0/glib/deprecated/gcache.h: - -/usr/include/glib-2.0/glib/deprecated/gcompletion.h: - -/usr/include/glib-2.0/glib/deprecated/gmain.h: - -/usr/include/glib-2.0/glib/deprecated/grel.h: - -/usr/include/glib-2.0/glib/deprecated/gthread.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/pthread.h: - -/usr/include/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/setjmp.h: - -obexd/src/obexd.h: - -obexd/src/plugin.h: - -obexd/src/log.h: - -obexd/src/builtin.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/obexd/src/.deps/obexd-server.Po b/GRIB_BLE_HUB/libs/ble_extend/obexd/src/.deps/obexd-server.Po deleted file mode 100644 index f4f4720..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/obexd/src/.deps/obexd-server.Po +++ /dev/null @@ -1,475 +0,0 @@ -obexd/src/obexd-server.o: obexd/src/server.c /usr/include/stdc-predef.h \ - config.h /usr/include/stdio.h /usr/include/features.h \ - /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/sys_errlist.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio.h /usr/include/errno.h \ - /usr/include/arm-linux-gnueabihf/bits/errno.h /usr/include/linux/errno.h \ - /usr/include/arm-linux-gnueabihf/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/include/stdlib.h /usr/include/arm-linux-gnueabihf/bits/waitflags.h \ - /usr/include/arm-linux-gnueabihf/bits/waitstatus.h /usr/include/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/xlocale.h /usr/include/arm-linux-gnueabihf/sys/types.h \ - /usr/include/time.h /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/alloca.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-float.h \ - /usr/include/unistd.h /usr/include/arm-linux-gnueabihf/bits/posix_opt.h \ - /usr/include/arm-linux-gnueabihf/bits/environments.h \ - /usr/include/arm-linux-gnueabihf/bits/confname.h /usr/include/getopt.h \ - /usr/include/fcntl.h /usr/include/arm-linux-gnueabihf/bits/fcntl.h \ - /usr/include/arm-linux-gnueabihf/bits/fcntl-linux.h \ - /usr/include/arm-linux-gnueabihf/bits/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/stat.h /usr/include/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string2.h /usr/include/inttypes.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h \ - /usr/include/stdint.h /usr/include/arm-linux-gnueabihf/bits/wchar.h \ - /usr/include/glib-2.0/glib.h /usr/include/glib-2.0/glib/galloca.h \ - /usr/include/glib-2.0/glib/gtypes.h \ - /usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h \ - /usr/include/glib-2.0/glib/gmacros.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h \ - /usr/include/limits.h /usr/include/arm-linux-gnueabihf/bits/posix1_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/local_lim.h \ - /usr/include/linux/limits.h \ - /usr/include/arm-linux-gnueabihf/bits/posix2_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/xopen_lim.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h \ - /usr/include/glib-2.0/glib/gversionmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/timex.h \ - /usr/include/glib-2.0/glib/garray.h \ - /usr/include/glib-2.0/glib/gasyncqueue.h \ - /usr/include/glib-2.0/glib/gthread.h \ - /usr/include/glib-2.0/glib/gatomic.h /usr/include/glib-2.0/glib/gerror.h \ - /usr/include/glib-2.0/glib/gquark.h \ - /usr/include/glib-2.0/glib/gbacktrace.h /usr/include/signal.h \ - /usr/include/arm-linux-gnueabihf/bits/signum.h \ - /usr/include/arm-linux-gnueabihf/bits/siginfo.h \ - /usr/include/arm-linux-gnueabihf/bits/sigaction.h \ - /usr/include/arm-linux-gnueabihf/bits/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/asm/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigstack.h \ - /usr/include/arm-linux-gnueabihf/sys/ucontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigthread.h \ - /usr/include/glib-2.0/glib/gbase64.h \ - /usr/include/glib-2.0/glib/gbitlock.h \ - /usr/include/glib-2.0/glib/gbookmarkfile.h \ - /usr/include/glib-2.0/glib/gbytes.h \ - /usr/include/glib-2.0/glib/gcharset.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/gconvert.h \ - /usr/include/glib-2.0/glib/gdataset.h /usr/include/glib-2.0/glib/gdate.h \ - /usr/include/glib-2.0/glib/gdatetime.h \ - /usr/include/glib-2.0/glib/gtimezone.h /usr/include/glib-2.0/glib/gdir.h \ - /usr/include/dirent.h /usr/include/arm-linux-gnueabihf/bits/dirent.h \ - /usr/include/glib-2.0/glib/genviron.h \ - /usr/include/glib-2.0/glib/gfileutils.h \ - /usr/include/glib-2.0/glib/ggettext.h /usr/include/glib-2.0/glib/ghash.h \ - /usr/include/glib-2.0/glib/glist.h /usr/include/glib-2.0/glib/gmem.h \ - /usr/include/glib-2.0/glib/gnode.h /usr/include/glib-2.0/glib/ghmac.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/ghook.h \ - /usr/include/glib-2.0/glib/ghostutils.h \ - /usr/include/glib-2.0/glib/giochannel.h \ - /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gpoll.h \ - /usr/include/glib-2.0/glib/gslist.h /usr/include/glib-2.0/glib/gstring.h \ - /usr/include/glib-2.0/glib/gunicode.h \ - /usr/include/glib-2.0/glib/gutils.h \ - /usr/include/glib-2.0/glib/gkeyfile.h \ - /usr/include/glib-2.0/glib/gmappedfile.h \ - /usr/include/glib-2.0/glib/gmarkup.h \ - /usr/include/glib-2.0/glib/gmessages.h \ - /usr/include/glib-2.0/glib/goption.h \ - /usr/include/glib-2.0/glib/gpattern.h \ - /usr/include/glib-2.0/glib/gprimes.h /usr/include/glib-2.0/glib/gqsort.h \ - /usr/include/glib-2.0/glib/gqueue.h /usr/include/glib-2.0/glib/grand.h \ - /usr/include/glib-2.0/glib/gregex.h \ - /usr/include/glib-2.0/glib/gscanner.h \ - /usr/include/glib-2.0/glib/gsequence.h \ - /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gslice.h \ - /usr/include/glib-2.0/glib/gspawn.h \ - /usr/include/glib-2.0/glib/gstrfuncs.h \ - /usr/include/glib-2.0/glib/gstringchunk.h \ - /usr/include/glib-2.0/glib/gtestutils.h \ - /usr/include/glib-2.0/glib/gthreadpool.h \ - /usr/include/glib-2.0/glib/gtimer.h \ - /usr/include/glib-2.0/glib/gtrashstack.h \ - /usr/include/glib-2.0/glib/gtree.h \ - /usr/include/glib-2.0/glib/gurifuncs.h \ - /usr/include/glib-2.0/glib/gvarianttype.h \ - /usr/include/glib-2.0/glib/gvariant.h \ - /usr/include/glib-2.0/glib/gversion.h \ - /usr/include/glib-2.0/glib/deprecated/gallocator.h \ - /usr/include/glib-2.0/glib/deprecated/gcache.h \ - /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ - /usr/include/glib-2.0/glib/deprecated/gmain.h \ - /usr/include/glib-2.0/glib/deprecated/grel.h \ - /usr/include/glib-2.0/glib/deprecated/gthread.h /usr/include/pthread.h \ - /usr/include/sched.h /usr/include/arm-linux-gnueabihf/bits/sched.h \ - /usr/include/arm-linux-gnueabihf/bits/setjmp.h gobex/gobex.h \ - gobex/gobex-defs.h gobex/gobex-packet.h gobex/gobex-header.h \ - gobex/gobex-apparam.h obexd/src/log.h obexd/src/obex.h \ - obexd/src/obex-priv.h obexd/src/server.h obexd/src/service.h \ - obexd/src/transport.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/include/stdio.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/sys_errlist.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio.h: - -/usr/include/errno.h: - -/usr/include/arm-linux-gnueabihf/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/arm-linux-gnueabihf/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/include/stdlib.h: - -/usr/include/arm-linux-gnueabihf/bits/waitflags.h: - -/usr/include/arm-linux-gnueabihf/bits/waitstatus.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/xlocale.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/time.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/alloca.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-float.h: - -/usr/include/unistd.h: - -/usr/include/arm-linux-gnueabihf/bits/posix_opt.h: - -/usr/include/arm-linux-gnueabihf/bits/environments.h: - -/usr/include/arm-linux-gnueabihf/bits/confname.h: - -/usr/include/getopt.h: - -/usr/include/fcntl.h: - -/usr/include/arm-linux-gnueabihf/bits/fcntl.h: - -/usr/include/arm-linux-gnueabihf/bits/fcntl-linux.h: - -/usr/include/arm-linux-gnueabihf/bits/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/stat.h: - -/usr/include/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string2.h: - -/usr/include/inttypes.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/arm-linux-gnueabihf/bits/wchar.h: - -/usr/include/glib-2.0/glib.h: - -/usr/include/glib-2.0/glib/galloca.h: - -/usr/include/glib-2.0/glib/gtypes.h: - -/usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h: - -/usr/include/glib-2.0/glib/gmacros.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h: - -/usr/include/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/local_lim.h: - -/usr/include/linux/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix2_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/xopen_lim.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h: - -/usr/include/glib-2.0/glib/gversionmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/timex.h: - -/usr/include/glib-2.0/glib/garray.h: - -/usr/include/glib-2.0/glib/gasyncqueue.h: - -/usr/include/glib-2.0/glib/gthread.h: - -/usr/include/glib-2.0/glib/gatomic.h: - -/usr/include/glib-2.0/glib/gerror.h: - -/usr/include/glib-2.0/glib/gquark.h: - -/usr/include/glib-2.0/glib/gbacktrace.h: - -/usr/include/signal.h: - -/usr/include/arm-linux-gnueabihf/bits/signum.h: - -/usr/include/arm-linux-gnueabihf/bits/siginfo.h: - -/usr/include/arm-linux-gnueabihf/bits/sigaction.h: - -/usr/include/arm-linux-gnueabihf/bits/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/asm/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigstack.h: - -/usr/include/arm-linux-gnueabihf/sys/ucontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigthread.h: - -/usr/include/glib-2.0/glib/gbase64.h: - -/usr/include/glib-2.0/glib/gbitlock.h: - -/usr/include/glib-2.0/glib/gbookmarkfile.h: - -/usr/include/glib-2.0/glib/gbytes.h: - -/usr/include/glib-2.0/glib/gcharset.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/gconvert.h: - -/usr/include/glib-2.0/glib/gdataset.h: - -/usr/include/glib-2.0/glib/gdate.h: - -/usr/include/glib-2.0/glib/gdatetime.h: - -/usr/include/glib-2.0/glib/gtimezone.h: - -/usr/include/glib-2.0/glib/gdir.h: - -/usr/include/dirent.h: - -/usr/include/arm-linux-gnueabihf/bits/dirent.h: - -/usr/include/glib-2.0/glib/genviron.h: - -/usr/include/glib-2.0/glib/gfileutils.h: - -/usr/include/glib-2.0/glib/ggettext.h: - -/usr/include/glib-2.0/glib/ghash.h: - -/usr/include/glib-2.0/glib/glist.h: - -/usr/include/glib-2.0/glib/gmem.h: - -/usr/include/glib-2.0/glib/gnode.h: - -/usr/include/glib-2.0/glib/ghmac.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/ghook.h: - -/usr/include/glib-2.0/glib/ghostutils.h: - -/usr/include/glib-2.0/glib/giochannel.h: - -/usr/include/glib-2.0/glib/gmain.h: - -/usr/include/glib-2.0/glib/gpoll.h: - -/usr/include/glib-2.0/glib/gslist.h: - -/usr/include/glib-2.0/glib/gstring.h: - -/usr/include/glib-2.0/glib/gunicode.h: - -/usr/include/glib-2.0/glib/gutils.h: - -/usr/include/glib-2.0/glib/gkeyfile.h: - -/usr/include/glib-2.0/glib/gmappedfile.h: - -/usr/include/glib-2.0/glib/gmarkup.h: - -/usr/include/glib-2.0/glib/gmessages.h: - -/usr/include/glib-2.0/glib/goption.h: - -/usr/include/glib-2.0/glib/gpattern.h: - -/usr/include/glib-2.0/glib/gprimes.h: - -/usr/include/glib-2.0/glib/gqsort.h: - -/usr/include/glib-2.0/glib/gqueue.h: - -/usr/include/glib-2.0/glib/grand.h: - -/usr/include/glib-2.0/glib/gregex.h: - -/usr/include/glib-2.0/glib/gscanner.h: - -/usr/include/glib-2.0/glib/gsequence.h: - -/usr/include/glib-2.0/glib/gshell.h: - -/usr/include/glib-2.0/glib/gslice.h: - -/usr/include/glib-2.0/glib/gspawn.h: - -/usr/include/glib-2.0/glib/gstrfuncs.h: - -/usr/include/glib-2.0/glib/gstringchunk.h: - -/usr/include/glib-2.0/glib/gtestutils.h: - -/usr/include/glib-2.0/glib/gthreadpool.h: - -/usr/include/glib-2.0/glib/gtimer.h: - -/usr/include/glib-2.0/glib/gtrashstack.h: - -/usr/include/glib-2.0/glib/gtree.h: - -/usr/include/glib-2.0/glib/gurifuncs.h: - -/usr/include/glib-2.0/glib/gvarianttype.h: - -/usr/include/glib-2.0/glib/gvariant.h: - -/usr/include/glib-2.0/glib/gversion.h: - -/usr/include/glib-2.0/glib/deprecated/gallocator.h: - -/usr/include/glib-2.0/glib/deprecated/gcache.h: - -/usr/include/glib-2.0/glib/deprecated/gcompletion.h: - -/usr/include/glib-2.0/glib/deprecated/gmain.h: - -/usr/include/glib-2.0/glib/deprecated/grel.h: - -/usr/include/glib-2.0/glib/deprecated/gthread.h: - -/usr/include/pthread.h: - -/usr/include/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/setjmp.h: - -gobex/gobex.h: - -gobex/gobex-defs.h: - -gobex/gobex-packet.h: - -gobex/gobex-header.h: - -gobex/gobex-apparam.h: - -obexd/src/log.h: - -obexd/src/obex.h: - -obexd/src/obex-priv.h: - -obexd/src/server.h: - -obexd/src/service.h: - -obexd/src/transport.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/obexd/src/.deps/obexd-service.Po b/GRIB_BLE_HUB/libs/ble_extend/obexd/src/.deps/obexd-service.Po deleted file mode 100644 index 29a8ed1..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/obexd/src/.deps/obexd-service.Po +++ /dev/null @@ -1,428 +0,0 @@ -obexd/src/obexd-service.o: obexd/src/service.c /usr/include/stdc-predef.h \ - config.h /usr/include/stdio.h /usr/include/features.h \ - /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/sys_errlist.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio.h /usr/include/errno.h \ - /usr/include/arm-linux-gnueabihf/bits/errno.h /usr/include/linux/errno.h \ - /usr/include/arm-linux-gnueabihf/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/include/string.h /usr/include/xlocale.h \ - /usr/include/arm-linux-gnueabihf/bits/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string2.h /usr/include/stdlib.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h \ - /usr/include/stdint.h /usr/include/arm-linux-gnueabihf/bits/wchar.h \ - /usr/include/arm-linux-gnueabihf/bits/waitflags.h \ - /usr/include/arm-linux-gnueabihf/bits/waitstatus.h /usr/include/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/arm-linux-gnueabihf/sys/types.h /usr/include/time.h \ - /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/alloca.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-float.h \ - /usr/include/glib-2.0/glib.h /usr/include/glib-2.0/glib/galloca.h \ - /usr/include/glib-2.0/glib/gtypes.h \ - /usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h \ - /usr/include/glib-2.0/glib/gmacros.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h \ - /usr/include/limits.h /usr/include/arm-linux-gnueabihf/bits/posix1_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/local_lim.h \ - /usr/include/linux/limits.h \ - /usr/include/arm-linux-gnueabihf/bits/posix2_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/xopen_lim.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h \ - /usr/include/glib-2.0/glib/gversionmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/timex.h \ - /usr/include/glib-2.0/glib/garray.h \ - /usr/include/glib-2.0/glib/gasyncqueue.h \ - /usr/include/glib-2.0/glib/gthread.h \ - /usr/include/glib-2.0/glib/gatomic.h /usr/include/glib-2.0/glib/gerror.h \ - /usr/include/glib-2.0/glib/gquark.h \ - /usr/include/glib-2.0/glib/gbacktrace.h /usr/include/signal.h \ - /usr/include/arm-linux-gnueabihf/bits/signum.h \ - /usr/include/arm-linux-gnueabihf/bits/siginfo.h \ - /usr/include/arm-linux-gnueabihf/bits/sigaction.h \ - /usr/include/arm-linux-gnueabihf/bits/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/asm/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigstack.h \ - /usr/include/arm-linux-gnueabihf/sys/ucontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigthread.h \ - /usr/include/glib-2.0/glib/gbase64.h \ - /usr/include/glib-2.0/glib/gbitlock.h \ - /usr/include/glib-2.0/glib/gbookmarkfile.h \ - /usr/include/glib-2.0/glib/gbytes.h \ - /usr/include/glib-2.0/glib/gcharset.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/gconvert.h \ - /usr/include/glib-2.0/glib/gdataset.h /usr/include/glib-2.0/glib/gdate.h \ - /usr/include/glib-2.0/glib/gdatetime.h \ - /usr/include/glib-2.0/glib/gtimezone.h /usr/include/glib-2.0/glib/gdir.h \ - /usr/include/dirent.h /usr/include/arm-linux-gnueabihf/bits/dirent.h \ - /usr/include/glib-2.0/glib/genviron.h \ - /usr/include/glib-2.0/glib/gfileutils.h \ - /usr/include/glib-2.0/glib/ggettext.h /usr/include/glib-2.0/glib/ghash.h \ - /usr/include/glib-2.0/glib/glist.h /usr/include/glib-2.0/glib/gmem.h \ - /usr/include/glib-2.0/glib/gnode.h /usr/include/glib-2.0/glib/ghmac.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/ghook.h \ - /usr/include/glib-2.0/glib/ghostutils.h \ - /usr/include/glib-2.0/glib/giochannel.h \ - /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gpoll.h \ - /usr/include/glib-2.0/glib/gslist.h /usr/include/glib-2.0/glib/gstring.h \ - /usr/include/glib-2.0/glib/gunicode.h \ - /usr/include/glib-2.0/glib/gutils.h \ - /usr/include/glib-2.0/glib/gkeyfile.h \ - /usr/include/glib-2.0/glib/gmappedfile.h \ - /usr/include/glib-2.0/glib/gmarkup.h \ - /usr/include/glib-2.0/glib/gmessages.h \ - /usr/include/glib-2.0/glib/goption.h \ - /usr/include/glib-2.0/glib/gpattern.h \ - /usr/include/glib-2.0/glib/gprimes.h /usr/include/glib-2.0/glib/gqsort.h \ - /usr/include/glib-2.0/glib/gqueue.h /usr/include/glib-2.0/glib/grand.h \ - /usr/include/glib-2.0/glib/gregex.h \ - /usr/include/glib-2.0/glib/gscanner.h \ - /usr/include/glib-2.0/glib/gsequence.h \ - /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gslice.h \ - /usr/include/glib-2.0/glib/gspawn.h \ - /usr/include/glib-2.0/glib/gstrfuncs.h \ - /usr/include/glib-2.0/glib/gstringchunk.h \ - /usr/include/glib-2.0/glib/gtestutils.h \ - /usr/include/glib-2.0/glib/gthreadpool.h \ - /usr/include/glib-2.0/glib/gtimer.h \ - /usr/include/glib-2.0/glib/gtrashstack.h \ - /usr/include/glib-2.0/glib/gtree.h \ - /usr/include/glib-2.0/glib/gurifuncs.h \ - /usr/include/glib-2.0/glib/gvarianttype.h \ - /usr/include/glib-2.0/glib/gvariant.h \ - /usr/include/glib-2.0/glib/gversion.h \ - /usr/include/glib-2.0/glib/deprecated/gallocator.h \ - /usr/include/glib-2.0/glib/deprecated/gcache.h \ - /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ - /usr/include/glib-2.0/glib/deprecated/gmain.h \ - /usr/include/glib-2.0/glib/deprecated/grel.h \ - /usr/include/glib-2.0/glib/deprecated/gthread.h /usr/include/pthread.h \ - /usr/include/sched.h /usr/include/arm-linux-gnueabihf/bits/sched.h \ - /usr/include/arm-linux-gnueabihf/bits/setjmp.h obexd/src/obex.h \ - obexd/src/service.h obexd/src/log.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/include/stdio.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/sys_errlist.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio.h: - -/usr/include/errno.h: - -/usr/include/arm-linux-gnueabihf/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/arm-linux-gnueabihf/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/include/string.h: - -/usr/include/xlocale.h: - -/usr/include/arm-linux-gnueabihf/bits/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string2.h: - -/usr/include/stdlib.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/arm-linux-gnueabihf/bits/wchar.h: - -/usr/include/arm-linux-gnueabihf/bits/waitflags.h: - -/usr/include/arm-linux-gnueabihf/bits/waitstatus.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/time.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/alloca.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-float.h: - -/usr/include/glib-2.0/glib.h: - -/usr/include/glib-2.0/glib/galloca.h: - -/usr/include/glib-2.0/glib/gtypes.h: - -/usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h: - -/usr/include/glib-2.0/glib/gmacros.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h: - -/usr/include/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/local_lim.h: - -/usr/include/linux/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix2_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/xopen_lim.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h: - -/usr/include/glib-2.0/glib/gversionmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/timex.h: - -/usr/include/glib-2.0/glib/garray.h: - -/usr/include/glib-2.0/glib/gasyncqueue.h: - -/usr/include/glib-2.0/glib/gthread.h: - -/usr/include/glib-2.0/glib/gatomic.h: - -/usr/include/glib-2.0/glib/gerror.h: - -/usr/include/glib-2.0/glib/gquark.h: - -/usr/include/glib-2.0/glib/gbacktrace.h: - -/usr/include/signal.h: - -/usr/include/arm-linux-gnueabihf/bits/signum.h: - -/usr/include/arm-linux-gnueabihf/bits/siginfo.h: - -/usr/include/arm-linux-gnueabihf/bits/sigaction.h: - -/usr/include/arm-linux-gnueabihf/bits/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/asm/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigstack.h: - -/usr/include/arm-linux-gnueabihf/sys/ucontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigthread.h: - -/usr/include/glib-2.0/glib/gbase64.h: - -/usr/include/glib-2.0/glib/gbitlock.h: - -/usr/include/glib-2.0/glib/gbookmarkfile.h: - -/usr/include/glib-2.0/glib/gbytes.h: - -/usr/include/glib-2.0/glib/gcharset.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/gconvert.h: - -/usr/include/glib-2.0/glib/gdataset.h: - -/usr/include/glib-2.0/glib/gdate.h: - -/usr/include/glib-2.0/glib/gdatetime.h: - -/usr/include/glib-2.0/glib/gtimezone.h: - -/usr/include/glib-2.0/glib/gdir.h: - -/usr/include/dirent.h: - -/usr/include/arm-linux-gnueabihf/bits/dirent.h: - -/usr/include/glib-2.0/glib/genviron.h: - -/usr/include/glib-2.0/glib/gfileutils.h: - -/usr/include/glib-2.0/glib/ggettext.h: - -/usr/include/glib-2.0/glib/ghash.h: - -/usr/include/glib-2.0/glib/glist.h: - -/usr/include/glib-2.0/glib/gmem.h: - -/usr/include/glib-2.0/glib/gnode.h: - -/usr/include/glib-2.0/glib/ghmac.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/ghook.h: - -/usr/include/glib-2.0/glib/ghostutils.h: - -/usr/include/glib-2.0/glib/giochannel.h: - -/usr/include/glib-2.0/glib/gmain.h: - -/usr/include/glib-2.0/glib/gpoll.h: - -/usr/include/glib-2.0/glib/gslist.h: - -/usr/include/glib-2.0/glib/gstring.h: - -/usr/include/glib-2.0/glib/gunicode.h: - -/usr/include/glib-2.0/glib/gutils.h: - -/usr/include/glib-2.0/glib/gkeyfile.h: - -/usr/include/glib-2.0/glib/gmappedfile.h: - -/usr/include/glib-2.0/glib/gmarkup.h: - -/usr/include/glib-2.0/glib/gmessages.h: - -/usr/include/glib-2.0/glib/goption.h: - -/usr/include/glib-2.0/glib/gpattern.h: - -/usr/include/glib-2.0/glib/gprimes.h: - -/usr/include/glib-2.0/glib/gqsort.h: - -/usr/include/glib-2.0/glib/gqueue.h: - -/usr/include/glib-2.0/glib/grand.h: - -/usr/include/glib-2.0/glib/gregex.h: - -/usr/include/glib-2.0/glib/gscanner.h: - -/usr/include/glib-2.0/glib/gsequence.h: - -/usr/include/glib-2.0/glib/gshell.h: - -/usr/include/glib-2.0/glib/gslice.h: - -/usr/include/glib-2.0/glib/gspawn.h: - -/usr/include/glib-2.0/glib/gstrfuncs.h: - -/usr/include/glib-2.0/glib/gstringchunk.h: - -/usr/include/glib-2.0/glib/gtestutils.h: - -/usr/include/glib-2.0/glib/gthreadpool.h: - -/usr/include/glib-2.0/glib/gtimer.h: - -/usr/include/glib-2.0/glib/gtrashstack.h: - -/usr/include/glib-2.0/glib/gtree.h: - -/usr/include/glib-2.0/glib/gurifuncs.h: - -/usr/include/glib-2.0/glib/gvarianttype.h: - -/usr/include/glib-2.0/glib/gvariant.h: - -/usr/include/glib-2.0/glib/gversion.h: - -/usr/include/glib-2.0/glib/deprecated/gallocator.h: - -/usr/include/glib-2.0/glib/deprecated/gcache.h: - -/usr/include/glib-2.0/glib/deprecated/gcompletion.h: - -/usr/include/glib-2.0/glib/deprecated/gmain.h: - -/usr/include/glib-2.0/glib/deprecated/grel.h: - -/usr/include/glib-2.0/glib/deprecated/gthread.h: - -/usr/include/pthread.h: - -/usr/include/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/setjmp.h: - -obexd/src/obex.h: - -obexd/src/service.h: - -obexd/src/log.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/obexd/src/.deps/obexd-transport.Po b/GRIB_BLE_HUB/libs/ble_extend/obexd/src/.deps/obexd-transport.Po deleted file mode 100644 index 544b38e..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/obexd/src/.deps/obexd-transport.Po +++ /dev/null @@ -1,430 +0,0 @@ -obexd/src/obexd-transport.o: obexd/src/transport.c \ - /usr/include/stdc-predef.h config.h /usr/include/stdio.h \ - /usr/include/features.h /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/sys_errlist.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio.h /usr/include/errno.h \ - /usr/include/arm-linux-gnueabihf/bits/errno.h /usr/include/linux/errno.h \ - /usr/include/arm-linux-gnueabihf/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/include/string.h /usr/include/xlocale.h \ - /usr/include/arm-linux-gnueabihf/bits/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string2.h /usr/include/stdlib.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h \ - /usr/include/stdint.h /usr/include/arm-linux-gnueabihf/bits/wchar.h \ - /usr/include/arm-linux-gnueabihf/bits/waitflags.h \ - /usr/include/arm-linux-gnueabihf/bits/waitstatus.h /usr/include/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/arm-linux-gnueabihf/sys/types.h /usr/include/time.h \ - /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/alloca.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-float.h \ - /usr/include/glib-2.0/glib.h /usr/include/glib-2.0/glib/galloca.h \ - /usr/include/glib-2.0/glib/gtypes.h \ - /usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h \ - /usr/include/glib-2.0/glib/gmacros.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h \ - /usr/include/limits.h /usr/include/arm-linux-gnueabihf/bits/posix1_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/local_lim.h \ - /usr/include/linux/limits.h \ - /usr/include/arm-linux-gnueabihf/bits/posix2_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/xopen_lim.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h \ - /usr/include/glib-2.0/glib/gversionmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/timex.h \ - /usr/include/glib-2.0/glib/garray.h \ - /usr/include/glib-2.0/glib/gasyncqueue.h \ - /usr/include/glib-2.0/glib/gthread.h \ - /usr/include/glib-2.0/glib/gatomic.h /usr/include/glib-2.0/glib/gerror.h \ - /usr/include/glib-2.0/glib/gquark.h \ - /usr/include/glib-2.0/glib/gbacktrace.h /usr/include/signal.h \ - /usr/include/arm-linux-gnueabihf/bits/signum.h \ - /usr/include/arm-linux-gnueabihf/bits/siginfo.h \ - /usr/include/arm-linux-gnueabihf/bits/sigaction.h \ - /usr/include/arm-linux-gnueabihf/bits/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/asm/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigstack.h \ - /usr/include/arm-linux-gnueabihf/sys/ucontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigthread.h \ - /usr/include/glib-2.0/glib/gbase64.h \ - /usr/include/glib-2.0/glib/gbitlock.h \ - /usr/include/glib-2.0/glib/gbookmarkfile.h \ - /usr/include/glib-2.0/glib/gbytes.h \ - /usr/include/glib-2.0/glib/gcharset.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/gconvert.h \ - /usr/include/glib-2.0/glib/gdataset.h /usr/include/glib-2.0/glib/gdate.h \ - /usr/include/glib-2.0/glib/gdatetime.h \ - /usr/include/glib-2.0/glib/gtimezone.h /usr/include/glib-2.0/glib/gdir.h \ - /usr/include/dirent.h /usr/include/arm-linux-gnueabihf/bits/dirent.h \ - /usr/include/glib-2.0/glib/genviron.h \ - /usr/include/glib-2.0/glib/gfileutils.h \ - /usr/include/glib-2.0/glib/ggettext.h /usr/include/glib-2.0/glib/ghash.h \ - /usr/include/glib-2.0/glib/glist.h /usr/include/glib-2.0/glib/gmem.h \ - /usr/include/glib-2.0/glib/gnode.h /usr/include/glib-2.0/glib/ghmac.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/ghook.h \ - /usr/include/glib-2.0/glib/ghostutils.h \ - /usr/include/glib-2.0/glib/giochannel.h \ - /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gpoll.h \ - /usr/include/glib-2.0/glib/gslist.h /usr/include/glib-2.0/glib/gstring.h \ - /usr/include/glib-2.0/glib/gunicode.h \ - /usr/include/glib-2.0/glib/gutils.h \ - /usr/include/glib-2.0/glib/gkeyfile.h \ - /usr/include/glib-2.0/glib/gmappedfile.h \ - /usr/include/glib-2.0/glib/gmarkup.h \ - /usr/include/glib-2.0/glib/gmessages.h \ - /usr/include/glib-2.0/glib/goption.h \ - /usr/include/glib-2.0/glib/gpattern.h \ - /usr/include/glib-2.0/glib/gprimes.h /usr/include/glib-2.0/glib/gqsort.h \ - /usr/include/glib-2.0/glib/gqueue.h /usr/include/glib-2.0/glib/grand.h \ - /usr/include/glib-2.0/glib/gregex.h \ - /usr/include/glib-2.0/glib/gscanner.h \ - /usr/include/glib-2.0/glib/gsequence.h \ - /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gslice.h \ - /usr/include/glib-2.0/glib/gspawn.h \ - /usr/include/glib-2.0/glib/gstrfuncs.h \ - /usr/include/glib-2.0/glib/gstringchunk.h \ - /usr/include/glib-2.0/glib/gtestutils.h \ - /usr/include/glib-2.0/glib/gthreadpool.h \ - /usr/include/glib-2.0/glib/gtimer.h \ - /usr/include/glib-2.0/glib/gtrashstack.h \ - /usr/include/glib-2.0/glib/gtree.h \ - /usr/include/glib-2.0/glib/gurifuncs.h \ - /usr/include/glib-2.0/glib/gvarianttype.h \ - /usr/include/glib-2.0/glib/gvariant.h \ - /usr/include/glib-2.0/glib/gversion.h \ - /usr/include/glib-2.0/glib/deprecated/gallocator.h \ - /usr/include/glib-2.0/glib/deprecated/gcache.h \ - /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ - /usr/include/glib-2.0/glib/deprecated/gmain.h \ - /usr/include/glib-2.0/glib/deprecated/grel.h \ - /usr/include/glib-2.0/glib/deprecated/gthread.h /usr/include/pthread.h \ - /usr/include/sched.h /usr/include/arm-linux-gnueabihf/bits/sched.h \ - /usr/include/arm-linux-gnueabihf/bits/setjmp.h obexd/src/obex.h \ - obexd/src/server.h obexd/src/transport.h obexd/src/log.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/include/stdio.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/sys_errlist.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio.h: - -/usr/include/errno.h: - -/usr/include/arm-linux-gnueabihf/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/arm-linux-gnueabihf/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/include/string.h: - -/usr/include/xlocale.h: - -/usr/include/arm-linux-gnueabihf/bits/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string2.h: - -/usr/include/stdlib.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/arm-linux-gnueabihf/bits/wchar.h: - -/usr/include/arm-linux-gnueabihf/bits/waitflags.h: - -/usr/include/arm-linux-gnueabihf/bits/waitstatus.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/time.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/alloca.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-float.h: - -/usr/include/glib-2.0/glib.h: - -/usr/include/glib-2.0/glib/galloca.h: - -/usr/include/glib-2.0/glib/gtypes.h: - -/usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h: - -/usr/include/glib-2.0/glib/gmacros.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h: - -/usr/include/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/local_lim.h: - -/usr/include/linux/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix2_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/xopen_lim.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h: - -/usr/include/glib-2.0/glib/gversionmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/timex.h: - -/usr/include/glib-2.0/glib/garray.h: - -/usr/include/glib-2.0/glib/gasyncqueue.h: - -/usr/include/glib-2.0/glib/gthread.h: - -/usr/include/glib-2.0/glib/gatomic.h: - -/usr/include/glib-2.0/glib/gerror.h: - -/usr/include/glib-2.0/glib/gquark.h: - -/usr/include/glib-2.0/glib/gbacktrace.h: - -/usr/include/signal.h: - -/usr/include/arm-linux-gnueabihf/bits/signum.h: - -/usr/include/arm-linux-gnueabihf/bits/siginfo.h: - -/usr/include/arm-linux-gnueabihf/bits/sigaction.h: - -/usr/include/arm-linux-gnueabihf/bits/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/asm/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigstack.h: - -/usr/include/arm-linux-gnueabihf/sys/ucontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigthread.h: - -/usr/include/glib-2.0/glib/gbase64.h: - -/usr/include/glib-2.0/glib/gbitlock.h: - -/usr/include/glib-2.0/glib/gbookmarkfile.h: - -/usr/include/glib-2.0/glib/gbytes.h: - -/usr/include/glib-2.0/glib/gcharset.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/gconvert.h: - -/usr/include/glib-2.0/glib/gdataset.h: - -/usr/include/glib-2.0/glib/gdate.h: - -/usr/include/glib-2.0/glib/gdatetime.h: - -/usr/include/glib-2.0/glib/gtimezone.h: - -/usr/include/glib-2.0/glib/gdir.h: - -/usr/include/dirent.h: - -/usr/include/arm-linux-gnueabihf/bits/dirent.h: - -/usr/include/glib-2.0/glib/genviron.h: - -/usr/include/glib-2.0/glib/gfileutils.h: - -/usr/include/glib-2.0/glib/ggettext.h: - -/usr/include/glib-2.0/glib/ghash.h: - -/usr/include/glib-2.0/glib/glist.h: - -/usr/include/glib-2.0/glib/gmem.h: - -/usr/include/glib-2.0/glib/gnode.h: - -/usr/include/glib-2.0/glib/ghmac.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/ghook.h: - -/usr/include/glib-2.0/glib/ghostutils.h: - -/usr/include/glib-2.0/glib/giochannel.h: - -/usr/include/glib-2.0/glib/gmain.h: - -/usr/include/glib-2.0/glib/gpoll.h: - -/usr/include/glib-2.0/glib/gslist.h: - -/usr/include/glib-2.0/glib/gstring.h: - -/usr/include/glib-2.0/glib/gunicode.h: - -/usr/include/glib-2.0/glib/gutils.h: - -/usr/include/glib-2.0/glib/gkeyfile.h: - -/usr/include/glib-2.0/glib/gmappedfile.h: - -/usr/include/glib-2.0/glib/gmarkup.h: - -/usr/include/glib-2.0/glib/gmessages.h: - -/usr/include/glib-2.0/glib/goption.h: - -/usr/include/glib-2.0/glib/gpattern.h: - -/usr/include/glib-2.0/glib/gprimes.h: - -/usr/include/glib-2.0/glib/gqsort.h: - -/usr/include/glib-2.0/glib/gqueue.h: - -/usr/include/glib-2.0/glib/grand.h: - -/usr/include/glib-2.0/glib/gregex.h: - -/usr/include/glib-2.0/glib/gscanner.h: - -/usr/include/glib-2.0/glib/gsequence.h: - -/usr/include/glib-2.0/glib/gshell.h: - -/usr/include/glib-2.0/glib/gslice.h: - -/usr/include/glib-2.0/glib/gspawn.h: - -/usr/include/glib-2.0/glib/gstrfuncs.h: - -/usr/include/glib-2.0/glib/gstringchunk.h: - -/usr/include/glib-2.0/glib/gtestutils.h: - -/usr/include/glib-2.0/glib/gthreadpool.h: - -/usr/include/glib-2.0/glib/gtimer.h: - -/usr/include/glib-2.0/glib/gtrashstack.h: - -/usr/include/glib-2.0/glib/gtree.h: - -/usr/include/glib-2.0/glib/gurifuncs.h: - -/usr/include/glib-2.0/glib/gvarianttype.h: - -/usr/include/glib-2.0/glib/gvariant.h: - -/usr/include/glib-2.0/glib/gversion.h: - -/usr/include/glib-2.0/glib/deprecated/gallocator.h: - -/usr/include/glib-2.0/glib/deprecated/gcache.h: - -/usr/include/glib-2.0/glib/deprecated/gcompletion.h: - -/usr/include/glib-2.0/glib/deprecated/gmain.h: - -/usr/include/glib-2.0/glib/deprecated/grel.h: - -/usr/include/glib-2.0/glib/deprecated/gthread.h: - -/usr/include/pthread.h: - -/usr/include/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/setjmp.h: - -obexd/src/obex.h: - -obexd/src/server.h: - -obexd/src/transport.h: - -obexd/src/log.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/obexd/src/.dirstamp b/GRIB_BLE_HUB/libs/ble_extend/obexd/src/.dirstamp deleted file mode 100644 index e69de29..0000000 diff --git a/GRIB_BLE_HUB/libs/ble_extend/obexd/src/builtin.h b/GRIB_BLE_HUB/libs/ble_extend/obexd/src/builtin.h deleted file mode 100644 index 7bc2fdb..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/obexd/src/builtin.h +++ /dev/null @@ -1,20 +0,0 @@ -extern struct obex_plugin_desc __obex_builtin_filesystem; -extern struct obex_plugin_desc __obex_builtin_bluetooth; -extern struct obex_plugin_desc __obex_builtin_opp; -extern struct obex_plugin_desc __obex_builtin_ftp; -extern struct obex_plugin_desc __obex_builtin_irmc; -extern struct obex_plugin_desc __obex_builtin_pbap; -extern struct obex_plugin_desc __obex_builtin_mas; -extern struct obex_plugin_desc __obex_builtin_mns; - -static struct obex_plugin_desc *__obex_builtin[] = { - &__obex_builtin_filesystem, - &__obex_builtin_bluetooth, - &__obex_builtin_opp, - &__obex_builtin_ftp, - &__obex_builtin_irmc, - &__obex_builtin_pbap, - &__obex_builtin_mas, - &__obex_builtin_mns, - NULL -}; diff --git a/GRIB_BLE_HUB/libs/ble_extend/obexd/src/genbuiltin b/GRIB_BLE_HUB/libs/ble_extend/obexd/src/genbuiltin deleted file mode 100644 index 39f7735..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/obexd/src/genbuiltin +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/sh - -for i in $* -do - echo "extern struct obex_plugin_desc __obex_builtin_$i;" -done - -echo -echo "static struct obex_plugin_desc *__obex_builtin[] = {" - -for i in $* -do - echo " &__obex_builtin_$i," -done - -echo " NULL" -echo "};" diff --git a/GRIB_BLE_HUB/libs/ble_extend/obexd/src/log.c b/GRIB_BLE_HUB/libs/ble_extend/obexd/src/log.c deleted file mode 100644 index a96b07b..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/obexd/src/log.c +++ /dev/null @@ -1,136 +0,0 @@ -/* - * - * OBEX Server - * - * Copyright (C) 2007-2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include -#include - -#include - -#include "log.h" - -void info(const char *format, ...) -{ - va_list ap; - - va_start(ap, format); - - vsyslog(LOG_INFO, format, ap); - - va_end(ap); -} - -void error(const char *format, ...) -{ - va_list ap; - - va_start(ap, format); - - vsyslog(LOG_ERR, format, ap); - - va_end(ap); -} - -void obex_debug(const char *format, ...) -{ - va_list ap; - - va_start(ap, format); - - vsyslog(LOG_DEBUG, format, ap); - - va_end(ap); -} - -extern struct obex_debug_desc __start___debug[]; -extern struct obex_debug_desc __stop___debug[]; - -static gchar **enabled = NULL; - -static gboolean is_enabled(struct obex_debug_desc *desc) -{ - int i; - - if (enabled == NULL) - return 0; - - for (i = 0; enabled[i] != NULL; i++) { - if (desc->name != NULL && g_pattern_match_simple(enabled[i], - desc->name) == TRUE) - return 1; - if (desc->file != NULL && g_pattern_match_simple(enabled[i], - desc->file) == TRUE) - return 1; - } - - return 0; -} - -void __obex_log_enable_debug(void) -{ - struct obex_debug_desc *desc; - - for (desc = __start___debug; desc < __stop___debug; desc++) - desc->flags |= OBEX_DEBUG_FLAG_PRINT; -} - -void __obex_log_init(const char *debug, int detach) -{ - int option = LOG_NDELAY | LOG_PID; - struct obex_debug_desc *desc; - const char *name = NULL, *file = NULL; - - if (debug != NULL) - enabled = g_strsplit_set(debug, ":, ", 0); - - for (desc = __start___debug; desc < __stop___debug; desc++) { - if (file != NULL || name != NULL) { - if (g_strcmp0(desc->file, file) == 0) { - if (desc->name == NULL) - desc->name = name; - } else - file = NULL; - } - - if (is_enabled(desc)) - desc->flags |= OBEX_DEBUG_FLAG_PRINT; - } - - if (!detach) - option |= LOG_PERROR; - - openlog("obexd", option, LOG_DAEMON); - - syslog(LOG_INFO, "OBEX daemon %s", VERSION); -} - -void __obex_log_cleanup(void) -{ - closelog(); - - g_strfreev(enabled); -} diff --git a/GRIB_BLE_HUB/libs/ble_extend/obexd/src/log.h b/GRIB_BLE_HUB/libs/ble_extend/obexd/src/log.h deleted file mode 100644 index 1bf1b05..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/obexd/src/log.h +++ /dev/null @@ -1,56 +0,0 @@ -/* - * - * OBEX Server - * - * Copyright (C) 2007-2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -void info(const char *format, ...) __attribute__((format(printf, 1, 2))); -void error(const char *format, ...) __attribute__((format(printf, 1, 2))); - -void obex_debug(const char *format, ...) __attribute__((format(printf, 1, 2))); - -void __obex_log_init(const char *debug, int detach); -void __obex_log_cleanup(void); -void __obex_log_enable_debug(void); - -struct obex_debug_desc { - const char *name; - const char *file; -#define OBEX_DEBUG_FLAG_DEFAULT (0) -#define OBEX_DEBUG_FLAG_PRINT (1 << 0) - unsigned int flags; -} __attribute__((aligned(8))); - -/** - * DBG: - * @fmt: format string - * @arg...: list of arguments - * - * Simple macro around debug() which also include the function - * name it is called in. - */ -#define DBG(fmt, arg...) do { \ - static struct obex_debug_desc __obex_debug_desc \ - __attribute__((used, section("__debug"), aligned(8))) = { \ - .file = __FILE__, .flags = OBEX_DEBUG_FLAG_DEFAULT, \ - }; \ - if (__obex_debug_desc.flags & OBEX_DEBUG_FLAG_PRINT) \ - obex_debug("%s:%s() " fmt, __FILE__, __FUNCTION__ , ## arg); \ -} while (0) diff --git a/GRIB_BLE_HUB/libs/ble_extend/obexd/src/main.c b/GRIB_BLE_HUB/libs/ble_extend/obexd/src/main.c deleted file mode 100644 index 61a06b2..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/obexd/src/main.c +++ /dev/null @@ -1,339 +0,0 @@ -/* - * - * OBEX Server - * - * Copyright (C) 2007-2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include - -#include "../client/manager.h" - -#include "log.h" -#include "obexd.h" -#include "server.h" - -#define DEFAULT_ROOT_PATH "/tmp" - -#define DEFAULT_CAP_FILE CONFIGDIR "/capability.xml" - -static GMainLoop *main_loop = NULL; - -static gboolean signal_handler(GIOChannel *channel, GIOCondition cond, - gpointer user_data) -{ - static unsigned int __terminated = 0; - struct signalfd_siginfo si; - ssize_t result; - int fd; - - if (cond & (G_IO_NVAL | G_IO_ERR | G_IO_HUP)) - return FALSE; - - fd = g_io_channel_unix_get_fd(channel); - - result = read(fd, &si, sizeof(si)); - if (result != sizeof(si)) - return FALSE; - - switch (si.ssi_signo) { - case SIGINT: - case SIGTERM: - if (__terminated == 0) { - info("Terminating"); - g_main_loop_quit(main_loop); - } - - __terminated = 1; - break; - case SIGUSR2: - __obex_log_enable_debug(); - break; - } - - return TRUE; -} - -static guint setup_signalfd(void) -{ - GIOChannel *channel; - guint source; - sigset_t mask; - int fd; - - sigemptyset(&mask); - sigaddset(&mask, SIGINT); - sigaddset(&mask, SIGTERM); - sigaddset(&mask, SIGUSR2); - - if (sigprocmask(SIG_BLOCK, &mask, NULL) < 0) { - perror("Failed to set signal mask"); - return 0; - } - - fd = signalfd(-1, &mask, 0); - if (fd < 0) { - perror("Failed to create signal descriptor"); - return 0; - } - - channel = g_io_channel_unix_new(fd); - - g_io_channel_set_close_on_unref(channel, TRUE); - g_io_channel_set_encoding(channel, NULL, NULL); - g_io_channel_set_buffered(channel, FALSE); - - source = g_io_add_watch(channel, - G_IO_IN | G_IO_HUP | G_IO_ERR | G_IO_NVAL, - signal_handler, NULL); - - g_io_channel_unref(channel); - - return source; -} - -static gboolean option_detach = TRUE; -static char *option_debug = NULL; - -static char *option_root = NULL; -static char *option_root_setup = NULL; -static char *option_capability = NULL; -static char *option_plugin = NULL; -static char *option_noplugin = NULL; - -static gboolean option_autoaccept = FALSE; -static gboolean option_symlinks = FALSE; - -static gboolean parse_debug(const char *key, const char *value, - gpointer user_data, GError **error) -{ - if (value) - option_debug = g_strdup(value); - else - option_debug = g_strdup("*"); - - return TRUE; -} - -static GOptionEntry options[] = { - { "debug", 'd', G_OPTION_FLAG_OPTIONAL_ARG, - G_OPTION_ARG_CALLBACK, parse_debug, - "Enable debug information output", "DEBUG" }, - { "plugin", 'p', 0, G_OPTION_ARG_STRING, &option_plugin, - "Specify plugins to load", "NAME,..." }, - { "noplugin", 'P', 0, G_OPTION_ARG_STRING, &option_noplugin, - "Specify plugins not to load", "NAME,..." }, - { "nodetach", 'n', G_OPTION_FLAG_REVERSE, - G_OPTION_ARG_NONE, &option_detach, - "Run with logging in foreground" }, - { "root", 'r', 0, G_OPTION_ARG_STRING, &option_root, - "Specify root folder location. Both absolute " - "and relative can be used, but relative paths " - "are assumed to be relative to user $HOME " - "folder", "PATH" }, - { "root-setup", 'S', 0, G_OPTION_ARG_STRING, &option_root_setup, - "Root folder setup script", "SCRIPT" }, - { "symlinks", 'l', 0, G_OPTION_ARG_NONE, &option_symlinks, - "Allow symlinks leading outside of the root " - "folder" }, - { "capability", 'c', 0, G_OPTION_ARG_STRING, &option_capability, - "Specify capability file, use '!' mark for " - "scripts", "FILE" }, - { "auto-accept", 'a', 0, G_OPTION_ARG_NONE, &option_autoaccept, - "Automatically accept push requests" }, - { NULL }, -}; - -gboolean obex_option_auto_accept(void) -{ - return option_autoaccept; -} - -const char *obex_option_root_folder(void) -{ - return option_root; -} - -gboolean obex_option_symlinks(void) -{ - return option_symlinks; -} - -const char *obex_option_capability(void) -{ - return option_capability; -} - -static gboolean is_dir(const char *dir) { - struct stat st; - - if (stat(dir, &st) < 0) { - error("stat(%s): %s (%d)", dir, strerror(errno), errno); - return FALSE; - } - - return S_ISDIR(st.st_mode); -} - -static gboolean root_folder_setup(char *root, char *root_setup) -{ - int status; - char *argv[3] = { root_setup, root, NULL }; - - if (is_dir(root)) - return TRUE; - - if (root_setup == NULL) - return FALSE; - - DBG("Setting up %s using %s", root, root_setup); - - if (!g_spawn_sync(NULL, argv, NULL, 0, NULL, NULL, NULL, NULL, - &status, NULL)) { - error("Unable to execute %s", root_setup); - return FALSE; - } - - if (WEXITSTATUS(status) != EXIT_SUCCESS) { - error("%s exited with status %d", root_setup, - WEXITSTATUS(status)); - return FALSE; - } - - return is_dir(root); -} - -int main(int argc, char *argv[]) -{ - GOptionContext *context; - GError *err = NULL; - guint signal; - -#ifdef NEED_THREADS - if (g_thread_supported() == FALSE) - g_thread_init(NULL); -#endif - - context = g_option_context_new(NULL); - g_option_context_add_main_entries(context, options, NULL); - - if (g_option_context_parse(context, &argc, &argv, &err) == FALSE) { - if (err != NULL) { - g_printerr("%s\n", err->message); - g_error_free(err); - } else - g_printerr("An unknown error occurred\n"); - exit(EXIT_FAILURE); - } - - g_option_context_free(context); - - __obex_log_init(option_debug, option_detach); - - DBG("Entering main loop"); - - main_loop = g_main_loop_new(NULL, FALSE); - - signal = setup_signalfd(); - -#ifdef NEED_THREADS - if (dbus_threads_init_default() == FALSE) { - fprintf(stderr, "Can't init usage of threads\n"); - exit(EXIT_FAILURE); - } -#endif - - if (manager_init() == FALSE) { - error("manager_init failed"); - exit(EXIT_FAILURE); - } - - if (option_root == NULL) - option_root = g_strdup(DEFAULT_ROOT_PATH); - - if (option_root[0] != '/') { - char *old_root = option_root, *home = getenv("HOME"); - if (home) { - option_root = g_strdup_printf("%s/%s", home, old_root); - g_free(old_root); - } - } - - if (option_capability == NULL) - option_capability = g_strdup(DEFAULT_CAP_FILE); - - plugin_init(option_plugin, option_noplugin); - - if (obex_server_init() < 0) { - error("obex_server_init failed"); - exit(EXIT_FAILURE); - } - - if (!root_folder_setup(option_root, option_root_setup)) { - error("Unable to setup root folder %s", option_root); - exit(EXIT_FAILURE); - } - - if (client_manager_init() < 0) { - error("client_manager_init failed"); - exit(EXIT_FAILURE); - } - - g_main_loop_run(main_loop); - - g_source_remove(signal); - - client_manager_exit(); - - obex_server_exit(); - - plugin_cleanup(); - - manager_cleanup(); - - g_main_loop_unref(main_loop); - - g_free(option_capability); - g_free(option_root); - - __obex_log_cleanup(); - - return 0; -} diff --git a/GRIB_BLE_HUB/libs/ble_extend/obexd/src/manager.c b/GRIB_BLE_HUB/libs/ble_extend/obexd/src/manager.c deleted file mode 100644 index c0887ca..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/obexd/src/manager.c +++ /dev/null @@ -1,844 +0,0 @@ -/* - * - * OBEX Server - * - * Copyright (C) 2007-2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include -#include -#include -#include -#include -#include - -#include -#include - -#include "obexd.h" -#include "obex.h" -#include "obex-priv.h" -#include "server.h" -#include "manager.h" -#include "log.h" -#include "service.h" - -#define OBEX_BASE_PATH "/org/bluez/obex" -#define OBEX_MANAGER_INTERFACE OBEXD_SERVICE ".AgentManager1" -#define ERROR_INTERFACE OBEXD_SERVICE ".Error" -#define TRANSFER_INTERFACE OBEXD_SERVICE ".Transfer1" -#define SESSION_INTERFACE OBEXD_SERVICE ".Session1" -#define AGENT_INTERFACE OBEXD_SERVICE ".Agent1" - -#define TIMEOUT 60*1000 /* Timeout for user response (miliseconds) */ - -struct agent { - char *bus_name; - char *path; - gboolean auth_pending; - char *new_name; - char *new_folder; - unsigned int watch_id; -}; - -enum { - TRANSFER_STATUS_QUEUED = 0, - TRANSFER_STATUS_ACTIVE, - TRANSFER_STATUS_COMPLETE, - TRANSFER_STATUS_ERROR -}; - -struct obex_transfer { - uint8_t status; - char *path; - struct obex_session *session; -}; - -static struct agent *agent = NULL; - -static DBusConnection *connection = NULL; - -static void agent_free(struct agent *agent) -{ - if (!agent) - return; - - g_free(agent->new_folder); - g_free(agent->new_name); - g_free(agent->bus_name); - g_free(agent->path); - g_free(agent); -} - -static inline DBusMessage *invalid_args(DBusMessage *msg) -{ - return g_dbus_create_error(msg, - ERROR_INTERFACE ".InvalidArguments", - "Invalid arguments in method call"); -} - -static inline DBusMessage *not_supported(DBusMessage *msg) -{ - return g_dbus_create_error(msg, - ERROR_INTERFACE ".NotSupported", - "Operation is not supported"); -} - -static inline DBusMessage *agent_already_exists(DBusMessage *msg) -{ - return g_dbus_create_error(msg, - ERROR_INTERFACE ".AlreadyExists", - "Agent already exists"); -} - -static inline DBusMessage *agent_does_not_exist(DBusMessage *msg) -{ - return g_dbus_create_error(msg, - ERROR_INTERFACE ".DoesNotExist", - "Agent does not exist"); -} - -static inline DBusMessage *not_authorized(DBusMessage *msg) -{ - return g_dbus_create_error(msg, - ERROR_INTERFACE ".NotAuthorized", - "Not authorized"); -} - -static void dbus_message_iter_append_variant(DBusMessageIter *iter, - int type, void *val) -{ - DBusMessageIter value; - DBusMessageIter array; - const char *sig; - - switch (type) { - case DBUS_TYPE_STRING: - sig = DBUS_TYPE_STRING_AS_STRING; - break; - case DBUS_TYPE_BYTE: - sig = DBUS_TYPE_BYTE_AS_STRING; - break; - case DBUS_TYPE_INT16: - sig = DBUS_TYPE_INT16_AS_STRING; - break; - case DBUS_TYPE_UINT16: - sig = DBUS_TYPE_UINT16_AS_STRING; - break; - case DBUS_TYPE_INT32: - sig = DBUS_TYPE_INT32_AS_STRING; - break; - case DBUS_TYPE_UINT32: - sig = DBUS_TYPE_UINT32_AS_STRING; - break; - case DBUS_TYPE_BOOLEAN: - sig = DBUS_TYPE_BOOLEAN_AS_STRING; - break; - case DBUS_TYPE_ARRAY: - sig = DBUS_TYPE_ARRAY_AS_STRING DBUS_TYPE_STRING_AS_STRING; - break; - case DBUS_TYPE_OBJECT_PATH: - sig = DBUS_TYPE_OBJECT_PATH_AS_STRING; - break; - default: - error("Could not append variant with type %d", type); - return; - } - - dbus_message_iter_open_container(iter, DBUS_TYPE_VARIANT, sig, &value); - - if (type == DBUS_TYPE_ARRAY) { - int i; - const char ***str_array = val; - - dbus_message_iter_open_container(&value, DBUS_TYPE_ARRAY, - DBUS_TYPE_STRING_AS_STRING, &array); - - for (i = 0; (*str_array)[i]; i++) - dbus_message_iter_append_basic(&array, DBUS_TYPE_STRING, - &((*str_array)[i])); - - dbus_message_iter_close_container(&value, &array); - } else - dbus_message_iter_append_basic(&value, type, val); - - dbus_message_iter_close_container(iter, &value); -} - -static void dbus_message_iter_append_dict_entry(DBusMessageIter *dict, - const char *key, int type, void *val) -{ - DBusMessageIter entry; - - dbus_message_iter_open_container(dict, DBUS_TYPE_DICT_ENTRY, - NULL, &entry); - - dbus_message_iter_append_basic(&entry, DBUS_TYPE_STRING, &key); - - dbus_message_iter_append_variant(&entry, type, val); - - dbus_message_iter_close_container(dict, &entry); -} - -static void agent_disconnected(DBusConnection *conn, void *user_data) -{ - DBG("Agent exited"); - agent_free(agent); - agent = NULL; -} - -static DBusMessage *register_agent(DBusConnection *conn, - DBusMessage *msg, void *data) -{ - const char *path, *sender; - - if (agent) - return agent_already_exists(msg); - - if (!dbus_message_get_args(msg, NULL, - DBUS_TYPE_OBJECT_PATH, &path, - DBUS_TYPE_INVALID)) - return invalid_args(msg); - - sender = dbus_message_get_sender(msg); - agent = g_new0(struct agent, 1); - agent->bus_name = g_strdup(sender); - agent->path = g_strdup(path); - - agent->watch_id = g_dbus_add_disconnect_watch(conn, sender, - agent_disconnected, NULL, NULL); - - DBG("Agent registered"); - - return dbus_message_new_method_return(msg); -} - -static DBusMessage *unregister_agent(DBusConnection *conn, - DBusMessage *msg, void *data) -{ - const char *path, *sender; - - if (!agent) - return agent_does_not_exist(msg); - - if (!dbus_message_get_args(msg, NULL, - DBUS_TYPE_OBJECT_PATH, &path, - DBUS_TYPE_INVALID)) - return invalid_args(msg); - - if (strcmp(agent->path, path) != 0) - return agent_does_not_exist(msg); - - sender = dbus_message_get_sender(msg); - if (strcmp(agent->bus_name, sender) != 0) - return not_authorized(msg); - - g_dbus_remove_watch(conn, agent->watch_id); - - agent_free(agent); - agent = NULL; - - DBG("Agent unregistered"); - - return dbus_message_new_method_return(msg); -} - -static char *target2str(const uint8_t *t) -{ - if (!t) - return NULL; - - return g_strdup_printf("%02X%02X%02X%02X-%02X%02X-%02X%02X-" - "%02X%02X-%02X%02X%02X%02X%02X%02X", - t[0], t[1], t[2], t[3], t[4], t[5], t[6], t[7], - t[8], t[9], t[10], t[11], t[12], t[13], t[14], t[15]); -} - -static gboolean get_target(const GDBusPropertyTable *property, - DBusMessageIter *iter, void *data) -{ - struct obex_session *os = data; - char *uuid; - - uuid = target2str(os->service->target); - dbus_message_iter_append_basic(iter, DBUS_TYPE_STRING, &uuid); - g_free(uuid); - - return TRUE; -} - -static gboolean get_root(const GDBusPropertyTable *property, - DBusMessageIter *iter, void *data) -{ - struct obex_session *os = data; - const char *root; - - root = obex_option_root_folder(); - dbus_message_iter_append_basic(iter, DBUS_TYPE_STRING, &root); - - return TRUE; -} - -static DBusMessage *transfer_cancel(DBusConnection *connection, - DBusMessage *msg, void *user_data) -{ - struct obex_transfer *transfer = user_data; - struct obex_session *os = transfer->session; - const char *sender; - - if (!os) - return invalid_args(msg); - - sender = dbus_message_get_sender(msg); - if (strcmp(agent->bus_name, sender) != 0) - return not_authorized(msg); - - os->aborted = TRUE; - - return dbus_message_new_method_return(msg); -} - -static const char *status2str(uint8_t status) -{ - switch (status) { - case TRANSFER_STATUS_QUEUED: - return "queued"; - case TRANSFER_STATUS_ACTIVE: - return "active"; - case TRANSFER_STATUS_COMPLETE: - return "complete"; - case TRANSFER_STATUS_ERROR: - return "error"; - } -} - -static gboolean transfer_get_status(const GDBusPropertyTable *property, - DBusMessageIter *iter, void *data) -{ - struct obex_transfer *transfer = data; - const char *status = status2str(transfer->status); - - dbus_message_iter_append_basic(iter, DBUS_TYPE_STRING, &status); - - return TRUE; -} - -static gboolean transfer_get_session(const GDBusPropertyTable *property, - DBusMessageIter *iter, void *data) -{ - struct obex_transfer *transfer = data; - struct obex_session *session = transfer->session; - char *path; - - if (session == NULL) - return FALSE; - - path = g_strdup_printf("%s/session%u", OBEX_BASE_PATH, session->id); - - dbus_message_iter_append_basic(iter, DBUS_TYPE_OBJECT_PATH, &path); - - g_free(path); - - return TRUE; -} - -static gboolean transfer_name_exists(const GDBusPropertyTable *property, - void *data) -{ - struct obex_transfer *transfer = data; - struct obex_session *session = transfer->session; - - return session->name != NULL; -} - -static gboolean transfer_get_name(const GDBusPropertyTable *property, - DBusMessageIter *iter, void *data) -{ - struct obex_transfer *transfer = data; - struct obex_session *session = transfer->session; - - if (session->name == NULL) - return FALSE; - - dbus_message_iter_append_basic(iter, DBUS_TYPE_STRING, &session->name); - - return TRUE; -} - -static gboolean transfer_type_exists(const GDBusPropertyTable *property, - void *data) -{ - struct obex_transfer *transfer = data; - struct obex_session *session = transfer->session; - - return session->type != NULL; -} - -static gboolean transfer_get_type(const GDBusPropertyTable *property, - DBusMessageIter *iter, void *data) -{ - struct obex_transfer *transfer = data; - struct obex_session *session = transfer->session; - - if (session->type == NULL) - return FALSE; - - dbus_message_iter_append_basic(iter, DBUS_TYPE_STRING, &session->type); - - return TRUE; -} - -static gboolean transfer_size_exists(const GDBusPropertyTable *property, - void *data) -{ - struct obex_transfer *transfer = data; - struct obex_session *session = transfer->session; - - return session->size != OBJECT_SIZE_UNKNOWN; -} - -static gboolean transfer_get_size(const GDBusPropertyTable *property, - DBusMessageIter *iter, void *data) -{ - struct obex_transfer *transfer = data; - struct obex_session *session = transfer->session; - - if (session->size == OBJECT_SIZE_UNKNOWN) - return FALSE; - - dbus_message_iter_append_basic(iter, DBUS_TYPE_UINT64, &session->size); - - return TRUE; -} - -static gboolean transfer_time_exists(const GDBusPropertyTable *property, - void *data) -{ - struct obex_transfer *transfer = data; - struct obex_session *session = transfer->session; - - return session->time != 0; -} - -static gboolean transfer_get_time(const GDBusPropertyTable *property, - DBusMessageIter *iter, void *data) -{ - struct obex_transfer *transfer = data; - struct obex_session *session = transfer->session; - dbus_uint64_t time_u64; - - if (session->size == 0) - return FALSE; - - time_u64 = session->time; - - dbus_message_iter_append_basic(iter, DBUS_TYPE_UINT64, &time_u64); - - return TRUE; -} - -static gboolean transfer_filename_exists(const GDBusPropertyTable *property, - void *data) -{ - struct obex_transfer *transfer = data; - struct obex_session *session = transfer->session; - - return session->path != NULL; -} - -static gboolean transfer_get_filename(const GDBusPropertyTable *property, - DBusMessageIter *iter, void *data) -{ - struct obex_transfer *transfer = data; - struct obex_session *session = transfer->session; - - if (session->path == NULL) - return FALSE; - - dbus_message_iter_append_basic(iter, DBUS_TYPE_STRING, &session->path); - - return TRUE; -} - -static gboolean transfer_get_transferred(const GDBusPropertyTable *property, - DBusMessageIter *iter, void *data) -{ - struct obex_transfer *transfer = data; - struct obex_session *session = transfer->session; - - dbus_message_iter_append_basic(iter, DBUS_TYPE_UINT64, - &session->offset); - - return TRUE; -} - -static const GDBusMethodTable manager_methods[] = { - { GDBUS_METHOD("RegisterAgent", - GDBUS_ARGS({ "agent", "o" }), NULL, register_agent) }, - { GDBUS_METHOD("UnregisterAgent", - GDBUS_ARGS({ "agent", "o" }), NULL, unregister_agent) }, - { } -}; - -static const GDBusMethodTable transfer_methods[] = { - { GDBUS_METHOD("Cancel", NULL, NULL, transfer_cancel) }, - { } -}; - -static const GDBusPropertyTable transfer_properties[] = { - { "Status", "s", transfer_get_status }, - { "Session", "o", transfer_get_session }, - { "Name", "s", transfer_get_name, NULL, transfer_name_exists }, - { "Type", "s", transfer_get_type, NULL, transfer_type_exists }, - { "Size", "t", transfer_get_size, NULL, transfer_size_exists }, - { "Time", "t", transfer_get_time, NULL, transfer_time_exists }, - { "Filename", "s", transfer_get_filename, NULL, - transfer_filename_exists }, - { "Transferred", "t", transfer_get_transferred }, - { } -}; - -static const GDBusPropertyTable session_properties[] = { - { "Target", "s", get_target }, - { "Root", "s", get_root }, - { } -}; - -gboolean manager_init(void) -{ - DBusError err; - - DBG(""); - - dbus_error_init(&err); - - connection = g_dbus_setup_bus(DBUS_BUS_SESSION, OBEXD_SERVICE, &err); - if (connection == NULL) { - if (dbus_error_is_set(&err) == TRUE) { - fprintf(stderr, "%s\n", err.message); - dbus_error_free(&err); - } else - fprintf(stderr, "Can't register with session bus\n"); - return FALSE; - } - - g_dbus_attach_object_manager(connection); - - return g_dbus_register_interface(connection, OBEX_BASE_PATH, - OBEX_MANAGER_INTERFACE, - manager_methods, NULL, NULL, - NULL, NULL); -} - -void manager_cleanup(void) -{ - DBG(""); - - g_dbus_unregister_interface(connection, OBEX_BASE_PATH, - OBEX_MANAGER_INTERFACE); - - /* FIXME: Release agent? */ - - if (agent) - agent_free(agent); - - g_dbus_detach_object_manager(connection); - - dbus_connection_unref(connection); -} - -void manager_emit_transfer_started(struct obex_transfer *transfer) -{ - static unsigned int id = 0; - - transfer->status = TRANSFER_STATUS_ACTIVE; - - g_dbus_emit_property_changed(connection, transfer->path, - TRANSFER_INTERFACE, "Status"); -} - -static void emit_transfer_completed(struct obex_transfer *transfer, - gboolean success) -{ - if (transfer->path == NULL) - return; - - transfer->status = success ? TRANSFER_STATUS_COMPLETE : - TRANSFER_STATUS_ERROR; - - g_dbus_emit_property_changed(connection, transfer->path, - TRANSFER_INTERFACE, "Status"); -} - -static void emit_transfer_progress(struct obex_transfer *transfer, - uint32_t total, uint32_t transferred) -{ - if (transfer->path == NULL) - return; - - g_dbus_emit_property_changed(connection, transfer->path, - TRANSFER_INTERFACE, "Transferred"); -} - -static void transfer_free(struct obex_transfer *transfer) -{ - g_free(transfer->path); - g_free(transfer); -} - -struct obex_transfer *manager_register_transfer(struct obex_session *os) -{ - struct obex_transfer *transfer; - static unsigned int id = 0; - - transfer = g_new0(struct obex_transfer, 1); - transfer->path = g_strdup_printf("%s/session%u/transfer%u", - OBEX_BASE_PATH, os->id, id++); - transfer->session = os; - - if (!g_dbus_register_interface(connection, transfer->path, - TRANSFER_INTERFACE, - transfer_methods, NULL, - transfer_properties, transfer, NULL)) { - error("Cannot register Transfer interface."); - transfer_free(transfer); - return NULL; - } - - return transfer; -} - -void manager_unregister_transfer(struct obex_transfer *transfer) -{ - struct obex_session *os = transfer->session; - - if (transfer->status == TRANSFER_STATUS_ACTIVE) - emit_transfer_completed(transfer, os->offset == os->size); - - g_dbus_unregister_interface(connection, transfer->path, - TRANSFER_INTERFACE); - - transfer_free(transfer); -} - -static void agent_cancel(void) -{ - DBusMessage *msg; - - if (agent == NULL) - return; - - msg = dbus_message_new_method_call(agent->bus_name, agent->path, - AGENT_INTERFACE, "Cancel"); - - g_dbus_send_message(connection, msg); -} - -static void agent_reply(DBusPendingCall *call, void *user_data) -{ - DBusMessage *reply = dbus_pending_call_steal_reply(call); - const char *name; - DBusError derr; - gboolean *got_reply = user_data; - - *got_reply = TRUE; - - /* Received a reply after the agent exited */ - if (!agent) - return; - - agent->auth_pending = FALSE; - - dbus_error_init(&derr); - if (dbus_set_error_from_message(&derr, reply)) { - error("Agent replied with an error: %s, %s", - derr.name, derr.message); - - if (dbus_error_has_name(&derr, DBUS_ERROR_NO_REPLY)) - agent_cancel(); - - dbus_error_free(&derr); - dbus_message_unref(reply); - return; - } - - if (dbus_message_get_args(reply, NULL, - DBUS_TYPE_STRING, &name, - DBUS_TYPE_INVALID)) { - /* Splits folder and name */ - const char *slash = strrchr(name, '/'); - DBG("Agent replied with %s", name); - if (!slash) { - agent->new_name = g_strdup(name); - agent->new_folder = NULL; - } else { - agent->new_name = g_strdup(slash + 1); - agent->new_folder = g_strndup(name, slash - name); - } - } - - dbus_message_unref(reply); -} - -static gboolean auth_error(GIOChannel *io, GIOCondition cond, void *user_data) -{ - agent->auth_pending = FALSE; - - return FALSE; -} - -int manager_request_authorization(struct obex_transfer *transfer, int32_t time, - char **new_folder, char **new_name) -{ - struct obex_session *os = transfer->session; - DBusMessage *msg; - DBusPendingCall *call; - const char *filename = os->name ? os->name : ""; - const char *type = os->type ? os->type : ""; - char *address; - unsigned int watch; - gboolean got_reply; - int err; - - if (!agent) - return -1; - - if (agent->auth_pending) - return -EPERM; - - if (!new_folder || !new_name) - return -EINVAL; - - err = obex_getpeername(os, &address); - if (err < 0) - return err; - - msg = dbus_message_new_method_call(agent->bus_name, agent->path, - AGENT_INTERFACE, - "AuthorizePush"); - - dbus_message_append_args(msg, DBUS_TYPE_OBJECT_PATH, &transfer->path, - DBUS_TYPE_INVALID); - - g_free(address); - - if (!dbus_connection_send_with_reply(connection, - msg, &call, TIMEOUT)) { - dbus_message_unref(msg); - return -EPERM; - } - - dbus_message_unref(msg); - - agent->auth_pending = TRUE; - got_reply = FALSE; - - /* Catches errors before authorization response comes */ - watch = g_io_add_watch_full(os->io, G_PRIORITY_DEFAULT, - G_IO_HUP | G_IO_ERR | G_IO_NVAL, - auth_error, NULL, NULL); - - dbus_pending_call_set_notify(call, agent_reply, &got_reply, NULL); - - /* Workaround: process events while agent doesn't reply */ - while (agent && agent->auth_pending) - g_main_context_iteration(NULL, TRUE); - - g_source_remove(watch); - - if (!got_reply) { - dbus_pending_call_cancel(call); - agent_cancel(); - } - - dbus_pending_call_unref(call); - - if (!agent || !agent->new_name) - return -EPERM; - - *new_folder = agent->new_folder; - *new_name = agent->new_name; - agent->new_folder = NULL; - agent->new_name = NULL; - - return 0; -} - -static DBusMessage *session_get_capabilities(DBusConnection *connection, - DBusMessage *message, void *user_data) -{ - return not_supported(message); -} - -static const GDBusMethodTable session_methods[] = { - { GDBUS_ASYNC_METHOD("GetCapabilities", - NULL, GDBUS_ARGS({ "capabilities", "s" }), - session_get_capabilities) }, - { } -}; - -void manager_register_session(struct obex_session *os) -{ - char *path = g_strdup_printf("%s/session%u", OBEX_BASE_PATH, os->id); - - if (!g_dbus_register_interface(connection, path, - SESSION_INTERFACE, - session_methods, NULL, - session_properties, os, NULL)) { - error("Cannot register Session interface."); - goto done; - } - -done: - g_free(path); -} - -void manager_unregister_session(struct obex_session *os) -{ - char *path = g_strdup_printf("%s/session%u", OBEX_BASE_PATH, os->id); - - g_dbus_unregister_interface(connection, path, SESSION_INTERFACE); - - g_free(path); -} - -void manager_emit_transfer_progress(struct obex_transfer *transfer) -{ - emit_transfer_progress(transfer, transfer->session->size, - transfer->session->offset); -} - -void manager_emit_transfer_completed(struct obex_transfer *transfer) -{ - if (transfer->session->object) - emit_transfer_completed(transfer, !transfer->session->aborted); -} - -DBusConnection *manager_dbus_get_connection(void) -{ - if (connection == NULL) - return NULL; - - return dbus_connection_ref(connection); -} diff --git a/GRIB_BLE_HUB/libs/ble_extend/obexd/src/manager.h b/GRIB_BLE_HUB/libs/ble_extend/obexd/src/manager.h deleted file mode 100644 index 669b223..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/obexd/src/manager.h +++ /dev/null @@ -1,42 +0,0 @@ -/* - * - * OBEX Server - * - * Copyright (C) 2007-2010 Nokia Corporation - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#include - -#define OBEXD_SERVICE "org.bluez.obex" - -struct obex_session; -struct obex_transfer; - -void manager_register_session(struct obex_session *os); -void manager_unregister_session(struct obex_session *os); - -struct obex_transfer *manager_register_transfer(struct obex_session *os); -void manager_unregister_transfer(struct obex_transfer *transfer); -void manager_emit_transfer_started(struct obex_transfer *transfer); -void manager_emit_transfer_progress(struct obex_transfer *transfer); -void manager_emit_transfer_completed(struct obex_transfer *transfer); -int manager_request_authorization(struct obex_transfer *transfer, int32_t time, - char **new_folder, char **new_name); - -DBusConnection *manager_dbus_get_connection(void); diff --git a/GRIB_BLE_HUB/libs/ble_extend/obexd/src/map_ap.h b/GRIB_BLE_HUB/libs/ble_extend/obexd/src/map_ap.h deleted file mode 100644 index da108fe..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/obexd/src/map_ap.h +++ /dev/null @@ -1,51 +0,0 @@ -/* - * - * OBEX Server - * - * Copyright (C) 2010-2011 Nokia Corporation - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -/* List of OBEX application parameters tags as per MAP specification. */ -enum map_ap_tag { - MAP_AP_MAXLISTCOUNT = 0x01, /* uint16_t */ - MAP_AP_STARTOFFSET = 0x02, /* uint16_t */ - MAP_AP_FILTERMESSAGETYPE = 0x03, /* uint8_t */ - MAP_AP_FILTERPERIODBEGIN = 0x04, /* char * */ - MAP_AP_FILTERPERIODEND = 0x05, /* char * */ - MAP_AP_FILTERREADSTATUS = 0x06, /* uint8_t */ - MAP_AP_FILTERRECIPIENT = 0x07, /* char * */ - MAP_AP_FILTERORIGINATOR = 0x08, /* char * */ - MAP_AP_FILTERPRIORITY = 0x09, /* uint8_t */ - MAP_AP_ATTACHMENT = 0x0A, /* uint8_t */ - MAP_AP_TRANSPARENT = 0x0B, /* uint8_t */ - MAP_AP_RETRY = 0x0C, /* uint8_t */ - MAP_AP_NEWMESSAGE = 0x0D, /* uint8_t */ - MAP_AP_NOTIFICATIONSTATUS = 0x0E, /* uint8_t */ - MAP_AP_MASINSTANCEID = 0x0F, /* uint8_t */ - MAP_AP_PARAMETERMASK = 0x10, /* uint32_t */ - MAP_AP_FOLDERLISTINGSIZE = 0x11, /* uint16_t */ - MAP_AP_MESSAGESLISTINGSIZE = 0x12, /* uint16_t */ - MAP_AP_SUBJECTLENGTH = 0x13, /* uint8_t */ - MAP_AP_CHARSET = 0x14, /* uint8_t */ - MAP_AP_FRACTIONREQUEST = 0x15, /* uint8_t */ - MAP_AP_FRACTIONDELIVER = 0x16, /* uint8_t */ - MAP_AP_STATUSINDICATOR = 0x17, /* uint8_t */ - MAP_AP_STATUSVALUE = 0x18, /* uint8_t */ - MAP_AP_MSETIME = 0x19, /* char * */ -}; diff --git a/GRIB_BLE_HUB/libs/ble_extend/obexd/src/mimetype.c b/GRIB_BLE_HUB/libs/ble_extend/obexd/src/mimetype.c deleted file mode 100644 index 833ddc7..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/obexd/src/mimetype.c +++ /dev/null @@ -1,216 +0,0 @@ -/* - * - * OBEX Server - * - * Copyright (C) 2007-2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include -#include -#include -#include -#include - -#include - -#include "log.h" -#include "obex.h" -#include "mimetype.h" - -static GSList *drivers = NULL; - -static GSList *watches = NULL; - -struct io_watch { - void *object; - obex_object_io_func func; - void *user_data; -}; - -void obex_object_set_io_flags(void *object, int flags, int err) -{ - GSList *l; - - for (l = watches; l;) { - struct io_watch *watch = l->data; - - l = l->next; - - if (watch->object != object) - continue; - - if (watch->func(object, flags, err, watch->user_data) == TRUE) - continue; - - if (g_slist_find(watches, watch) == NULL) - continue; - - watches = g_slist_remove(watches, watch); - g_free(watch); - } -} - -static struct io_watch *find_io_watch(void *object) -{ - GSList *l; - - for (l = watches; l; l = l->next) { - struct io_watch *watch = l->data; - - if (watch->object == object) - return watch; - } - - return NULL; -} - -static void reset_io_watch(void *object) -{ - struct io_watch *watch; - - watch = find_io_watch(object); - if (watch == NULL) - return; - - watches = g_slist_remove(watches, watch); - g_free(watch); -} - -static int set_io_watch(void *object, obex_object_io_func func, - void *user_data) -{ - struct io_watch *watch; - - if (func == NULL) { - reset_io_watch(object); - return 0; - } - - watch = find_io_watch(object); - if (watch) - return -EPERM; - - watch = g_new0(struct io_watch, 1); - watch->object = object; - watch->func = func; - watch->user_data = user_data; - - watches = g_slist_append(watches, watch); - - return 0; -} - -static struct obex_mime_type_driver *find_driver(const uint8_t *target, - unsigned int target_size, - const char *mimetype, const uint8_t *who, - unsigned int who_size) -{ - GSList *l; - - for (l = drivers; l; l = l->next) { - struct obex_mime_type_driver *driver = l->data; - - if (memncmp0(target, target_size, driver->target, driver->target_size)) - continue; - - if (memncmp0(who, who_size, driver->who, driver->who_size)) - continue; - - if (mimetype == NULL || driver->mimetype == NULL) { - if (mimetype == driver->mimetype) - return driver; - else - continue; - } - - if (g_ascii_strcasecmp(mimetype, driver->mimetype) == 0) - return driver; - } - - return NULL; -} - -struct obex_mime_type_driver *obex_mime_type_driver_find(const uint8_t *target, - unsigned int target_size, - const char *mimetype, const uint8_t *who, - unsigned int who_size) -{ - struct obex_mime_type_driver *driver; - - driver = find_driver(target, target_size, mimetype, who, who_size); - if (driver == NULL) { - if (who != NULL) { - /* Fallback to non-who specific */ - driver = find_driver(target, target_size, mimetype, NULL, 0); - if (driver != NULL) - return driver; - } - - if (mimetype != NULL) - /* Fallback to target default */ - driver = find_driver(target, target_size, NULL, NULL, 0); - - if (driver == NULL) - /* Fallback to general default */ - driver = find_driver(NULL, 0, NULL, NULL, 0); - } - - return driver; -} - -int obex_mime_type_driver_register(struct obex_mime_type_driver *driver) -{ - if (!driver) { - error("Invalid driver"); - return -EINVAL; - } - - if (find_driver(driver->target, driver->target_size, driver->mimetype, - driver->who, driver->who_size)) { - error("Permission denied: %s could not be registered", - driver->mimetype); - return -EPERM; - } - - if (driver->set_io_watch == NULL) - driver->set_io_watch = set_io_watch; - - DBG("driver %p mimetype %s registered", driver, driver->mimetype); - - drivers = g_slist_append(drivers, driver); - - return 0; -} - -void obex_mime_type_driver_unregister(struct obex_mime_type_driver *driver) -{ - if (!g_slist_find(drivers, driver)) { - error("Unable to unregister: No such driver %p", driver); - return; - } - - DBG("driver %p mimetype %s unregistered", driver, driver->mimetype); - - drivers = g_slist_remove(drivers, driver); -} diff --git a/GRIB_BLE_HUB/libs/ble_extend/obexd/src/mimetype.h b/GRIB_BLE_HUB/libs/ble_extend/obexd/src/mimetype.h deleted file mode 100644 index 79529b8..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/obexd/src/mimetype.h +++ /dev/null @@ -1,55 +0,0 @@ -/* - * - * OBEX Server - * - * Copyright (C) 2007-2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -typedef gboolean (*obex_object_io_func) (void *object, int flags, int err, - void *user_data); - -struct obex_mime_type_driver { - const uint8_t *target; - unsigned int target_size; - const char *mimetype; - const uint8_t *who; - unsigned int who_size; - void *(*open) (const char *name, int oflag, mode_t mode, - void *driver_data, size_t *size, int *err); - int (*close) (void *object); - ssize_t (*get_next_header)(void *object, void *buf, size_t mtu, - uint8_t *hi); - ssize_t (*read) (void *object, void *buf, size_t count); - ssize_t (*write) (void *object, const void *buf, size_t count); - int (*flush) (void *object); - int (*copy) (const char *name, const char *destname); - int (*move) (const char *name, const char *destname); - int (*remove) (const char *name); - int (*set_io_watch) (void *object, obex_object_io_func func, - void *user_data); -}; - -int obex_mime_type_driver_register(struct obex_mime_type_driver *driver); -void obex_mime_type_driver_unregister(struct obex_mime_type_driver *driver); -struct obex_mime_type_driver *obex_mime_type_driver_find(const uint8_t *target, - unsigned int target_size, - const char *mimetype, const uint8_t *who, - unsigned int who_size); - -void obex_object_set_io_flags(void *object, int flags, int err); diff --git a/GRIB_BLE_HUB/libs/ble_extend/obexd/src/obex-priv.h b/GRIB_BLE_HUB/libs/ble_extend/obexd/src/obex-priv.h deleted file mode 100644 index 41854bc..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/obexd/src/obex-priv.h +++ /dev/null @@ -1,57 +0,0 @@ -/* - * - * OBEX Server - * - * Copyright (C) 2007-2010 Nokia Corporation - * Copyright (C) 2007-2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -struct obex_session { - GIOChannel *io; - uint32_t id; - uint8_t cmd; - uint8_t action_id; - char *name; - char *destname; - char *type; - char *path; - time_t time; - uint8_t *apparam; - size_t apparam_len; - const void *nonhdr; - size_t nonhdr_len; - guint get_rsp; - uint8_t *buf; - int64_t pending; - int64_t offset; - int64_t size; - void *object; - gboolean aborted; - int err; - struct obex_service_driver *service; - void *service_data; - struct obex_server *server; - gboolean checked; - GObex *obex; - struct obex_mime_type_driver *driver; - gboolean headers_sent; -}; - -int obex_session_start(GIOChannel *io, uint16_t tx_mtu, uint16_t rx_mtu, - gboolean stream, struct obex_server *server); diff --git a/GRIB_BLE_HUB/libs/ble_extend/obexd/src/obex.c b/GRIB_BLE_HUB/libs/ble_extend/obexd/src/obex.c deleted file mode 100644 index a3e7b0e..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/obexd/src/obex.c +++ /dev/null @@ -1,1241 +0,0 @@ -/* - * - * OBEX Server - * - * Copyright (C) 2007-2010 Nokia Corporation - * Copyright (C) 2007-2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include - -#include "obexd.h" -#include "log.h" -#include "obex.h" -#include "obex-priv.h" -#include "server.h" -#include "manager.h" -#include "mimetype.h" -#include "service.h" -#include "transport.h" - -/* Challenge request */ -#define NONCE_TAG 0x00 -#define OPTIONS_TAG 0x01 /* Optional */ -#define REALM_TAG 0x02 /* Optional */ - -#define NONCE_LEN 16 - -/* Challenge response */ -#define DIGEST_TAG 0x00 -#define USER_ID_TAG 0x01 /* Optional */ -#define DIGEST_NONCE_TAG 0x02 /* Optional */ - -static GSList *sessions = NULL; - -typedef struct { - uint8_t version; - uint8_t flags; - uint16_t mtu; -} __attribute__ ((packed)) obex_connect_hdr_t; - -struct auth_header { - uint8_t tag; - uint8_t len; - uint8_t val[0]; -} __attribute__ ((packed)); - -/* Possible commands */ -static struct { - int cmd; - const char *name; -} obex_command[] = { - { G_OBEX_OP_CONNECT, "CONNECT" }, - { G_OBEX_OP_DISCONNECT, "DISCONNECT" }, - { G_OBEX_OP_PUT, "PUT" }, - { G_OBEX_OP_GET, "GET" }, - { G_OBEX_OP_SETPATH, "SETPATH" }, - { G_OBEX_OP_SESSION, "SESSION" }, - { G_OBEX_OP_ABORT, "ABORT" }, - { G_OBEX_OP_ACTION, "ACTION" }, - { 0xFF, NULL }, -}; - -/* Possible Response */ -static struct { - int rsp; - const char *name; -} obex_response[] = { - { G_OBEX_RSP_CONTINUE, "CONTINUE" }, - { G_OBEX_RSP_SUCCESS, "SUCCESS" }, - { G_OBEX_RSP_CREATED, "CREATED" }, - { G_OBEX_RSP_ACCEPTED, "ACCEPTED" }, - { G_OBEX_RSP_NON_AUTHORITATIVE, "NON_AUTHORITATIVE" }, - { G_OBEX_RSP_NO_CONTENT, "NO_CONTENT" }, - { G_OBEX_RSP_RESET_CONTENT, "RESET_CONTENT" }, - { G_OBEX_RSP_PARTIAL_CONTENT, "PARTIAL_CONTENT" }, - { G_OBEX_RSP_MULTIPLE_CHOICES, "MULTIPLE_CHOICES" }, - { G_OBEX_RSP_MOVED_PERMANENTLY, "MOVED_PERMANENTLY" }, - { G_OBEX_RSP_MOVED_TEMPORARILY, "MOVED_TEMPORARILY" }, - { G_OBEX_RSP_SEE_OTHER, "SEE_OTHER" }, - { G_OBEX_RSP_NOT_MODIFIED, "NOT_MODIFIED" }, - { G_OBEX_RSP_USE_PROXY, "USE_PROXY" }, - { G_OBEX_RSP_BAD_REQUEST, "BAD_REQUEST" }, - { G_OBEX_RSP_UNAUTHORIZED, "UNAUTHORIZED" }, - { G_OBEX_RSP_PAYMENT_REQUIRED, "PAYMENT_REQUIRED" }, - { G_OBEX_RSP_FORBIDDEN, "FORBIDDEN" }, - { G_OBEX_RSP_NOT_FOUND, "NOT_FOUND" }, - { G_OBEX_RSP_METHOD_NOT_ALLOWED, "METHOD_NOT_ALLOWED" }, - { G_OBEX_RSP_NOT_ACCEPTABLE, "NOT_ACCEPTABLE" }, - { G_OBEX_RSP_PROXY_AUTH_REQUIRED, "PROXY_AUTH_REQUIRED" }, - { G_OBEX_RSP_REQUEST_TIME_OUT, "REQUEST_TIME_OUT" }, - { G_OBEX_RSP_CONFLICT, "CONFLICT" }, - { G_OBEX_RSP_GONE, "GONE" }, - { G_OBEX_RSP_LENGTH_REQUIRED, "LENGTH_REQUIRED" }, - { G_OBEX_RSP_PRECONDITION_FAILED, "PRECONDITION_FAILED" }, - { G_OBEX_RSP_REQ_ENTITY_TOO_LARGE, "REQ_ENTITY_TOO_LARGE" }, - { G_OBEX_RSP_REQ_URL_TOO_LARGE, "REQ_URL_TOO_LARGE" }, - { G_OBEX_RSP_UNSUPPORTED_MEDIA_TYPE, "UNSUPPORTED_MEDIA_TYPE"}, - { G_OBEX_RSP_INTERNAL_SERVER_ERROR, "INTERNAL_SERVER_ERROR" }, - { G_OBEX_RSP_NOT_IMPLEMENTED, "NOT_IMPLEMENTED" }, - { G_OBEX_RSP_BAD_GATEWAY, "BAD_GATEWAY" }, - { G_OBEX_RSP_SERVICE_UNAVAILABLE, "SERVICE_UNAVAILABLE" }, - { G_OBEX_RSP_GATEWAY_TIMEOUT, "GATEWAY_TIMEOUT" }, - { G_OBEX_RSP_VERSION_NOT_SUPPORTED, "VERSION_NOT_SUPPORTED" }, - { G_OBEX_RSP_DATABASE_FULL, "DATABASE_FULL" }, - { G_OBEX_RSP_DATABASE_LOCKED, "DATABASE_LOCKED" }, - { 0xFF, NULL }, -}; - -static gboolean handle_async_io(void *object, int flags, int err, - void *user_data); - -static void print_event(int cmd, int rsp) -{ - const char *cmdstr = NULL, *rspstr = NULL; - int i; - static int lastcmd; - - if (cmd < 0) - cmd = lastcmd; - else - lastcmd = cmd; - - for (i = 0; obex_command[i].cmd != 0xFF; i++) { - if (obex_command[i].cmd != cmd) - continue; - cmdstr = obex_command[i].name; - } - - for (i = 0; obex_response[i].rsp != 0xFF; i++) { - if (obex_response[i].rsp != rsp) - continue; - rspstr = obex_response[i].name; - } - - obex_debug("%s(0x%x), %s(0x%x)", cmdstr, cmd, rspstr, rsp); -} - -static void os_set_response(struct obex_session *os, int err) -{ - uint8_t rsp; - - rsp = g_obex_errno_to_rsp(err); - - print_event(-1, rsp); - - g_obex_send_rsp(os->obex, rsp, NULL, G_OBEX_HDR_INVALID); -} - -static void os_session_mark_aborted(struct obex_session *os) -{ - /* the session was already cancelled/aborted or size in unknown */ - if (os->aborted || os->size == OBJECT_SIZE_UNKNOWN) - return; - - os->aborted = (os->size != os->offset); -} - -static void os_reset_session(struct obex_session *os) -{ - os_session_mark_aborted(os); - - if (os->object) { - os->driver->set_io_watch(os->object, NULL, NULL); - os->driver->close(os->object); - if (os->aborted && os->cmd == G_OBEX_OP_PUT && os->path && - os->driver->remove) - os->driver->remove(os->path); - } - - if (os->service && os->service->reset) - os->service->reset(os, os->service_data); - - if (os->name) { - g_free(os->name); - os->name = NULL; - } - if (os->type) { - g_free(os->type); - os->type = NULL; - } - if (os->buf) { - g_free(os->buf); - os->buf = NULL; - } - if (os->path) { - g_free(os->path); - os->path = NULL; - } - if (os->apparam) { - g_free(os->apparam); - os->apparam = NULL; - os->apparam_len = 0; - } - - if (os->get_rsp > 0) { - g_obex_remove_request_function(os->obex, os->get_rsp); - os->get_rsp = 0; - } - - os->object = NULL; - os->driver = NULL; - os->aborted = FALSE; - os->pending = 0; - os->offset = 0; - os->size = OBJECT_SIZE_DELETE; - os->headers_sent = FALSE; - os->checked = FALSE; -} - -static void obex_session_free(struct obex_session *os) -{ - sessions = g_slist_remove(sessions, os); - - if (os->io) - g_io_channel_unref(os->io); - - if (os->obex) - g_obex_unref(os->obex); - - g_free(os); -} - -/* From Imendio's GnomeVFS OBEX module (om-utils.c) */ -static time_t parse_iso8610(const char *val, int size) -{ - time_t time, tz_offset = 0; - struct tm tm; - char *date; - char tz; - int nr; - - memset(&tm, 0, sizeof(tm)); - /* According to spec the time doesn't have to be null terminated */ - date = g_strndup(val, size); - nr = sscanf(date, "%04u%02u%02uT%02u%02u%02u%c", - &tm.tm_year, &tm.tm_mon, &tm.tm_mday, - &tm.tm_hour, &tm.tm_min, &tm.tm_sec, - &tz); - g_free(date); - if (nr < 6) { - /* Invalid time format */ - return -1; - } - - tm.tm_year -= 1900; /* Year since 1900 */ - tm.tm_mon--; /* Months since January, values 0-11 */ - tm.tm_isdst = -1; /* Daylight savings information not avail */ - -#if defined(HAVE_TM_GMTOFF) - tz_offset = tm.tm_gmtoff; -#elif defined(HAVE_TIMEZONE) - tz_offset = -timezone; - if (tm.tm_isdst > 0) - tz_offset += 3600; -#endif - - time = mktime(&tm); - if (nr == 7) { - /* - * Date/Time was in localtime (to remote device) - * already. Since we don't know anything about the - * timezone on that one we won't try to apply UTC offset - */ - time += tz_offset; - } - - return time; -} - -static uint8_t *extract_nonce(const uint8_t *buffer, unsigned int hlen) -{ - struct auth_header *hdr; - uint8_t *nonce = NULL; - uint32_t len = 0; - - while (len < hlen) { - hdr = (void *) buffer + len; - - switch (hdr->tag) { - case NONCE_TAG: - if (hdr->len != NONCE_LEN) - return NULL; - - nonce = hdr->val; - break; - } - - len += hdr->len + sizeof(struct auth_header); - } - - return nonce; -} - -static uint8_t *challenge_response(const uint8_t *nonce) -{ - GChecksum *md5; - uint8_t *result; - size_t size; - - result = g_new0(uint8_t, NONCE_LEN); - - md5 = g_checksum_new(G_CHECKSUM_MD5); - if (md5 == NULL) - return result; - - g_checksum_update(md5, nonce, NONCE_LEN); - g_checksum_update(md5, (uint8_t *) ":BlueZ", 6); - - size = NONCE_LEN; - g_checksum_get_digest(md5, result, &size); - - g_checksum_free(md5); - - return result; -} - -static void parse_service(struct obex_session *os, GObexPacket *req) -{ - GObexHeader *hdr; - const guint8 *target = NULL, *who = NULL; - gsize target_size = 0, who_size = 0; - - hdr = g_obex_packet_get_header(req, G_OBEX_HDR_WHO); - if (hdr == NULL) - goto target; - - g_obex_header_get_bytes(hdr, &who, &who_size); - -target: - hdr = g_obex_packet_get_header(req, G_OBEX_HDR_TARGET); - if (hdr == NULL) - goto probe; - - g_obex_header_get_bytes(hdr, &target, &target_size); - -probe: - os->service = obex_service_driver_find(os->server->drivers, - target, target_size, - who, who_size); -} - -static void parse_authchal(struct obex_session *session, GObexPacket *req, - GObexPacket *rsp) -{ - GObexHeader *hdr; - const guint8 *data, *nonce = NULL; - gsize len; - uint8_t challenge[18]; - struct auth_header *auth = (struct auth_header *) challenge; - uint8_t *response; - - hdr = g_obex_packet_get_header(req, G_OBEX_HDR_AUTHCHAL); - if (hdr == NULL) - return; - - if (!g_obex_header_get_bytes(hdr, &data, &len)) - return; - - nonce = extract_nonce(data, len); - DBG("AUTH CHALLENGE REQUEST"); - - response = challenge_response(nonce); - auth->tag = DIGEST_TAG; - auth->len = NONCE_LEN; - memcpy(auth->val, response, NONCE_LEN); - - hdr = g_obex_header_new_bytes(G_OBEX_HDR_AUTHRESP, challenge, - sizeof(challenge)); - g_obex_packet_add_header(rsp, hdr); -} - -static void cmd_connect(GObex *obex, GObexPacket *req, void *user_data) -{ - struct obex_session *os = user_data; - GObexPacket *rsp; - GObexHeader *hdr; - int err; - - DBG(""); - - print_event(G_OBEX_OP_CONNECT, -1); - - parse_service(os, req); - - if (os->service == NULL || os->service->connect == NULL) { - error("Connect attempt to a non-supported target"); - os_set_response(os, -EPERM); - return; - } - - DBG("Selected driver: %s", os->service->name); - - os->service_data = os->service->connect(os, &err); - if (err < 0) { - os_set_response(os, err); - return; - } - - os->cmd = G_OBEX_OP_CONNECT; - - rsp = g_obex_packet_new(G_OBEX_RSP_SUCCESS, TRUE, G_OBEX_HDR_INVALID); - - parse_authchal(os, req, rsp); - - if (os->service->target) { - hdr = g_obex_header_new_bytes(G_OBEX_HDR_WHO, - os->service->target, - os->service->target_size); - g_obex_packet_add_header(rsp, hdr); - } - - g_obex_send(obex, rsp, NULL); - - print_event(-1, 0); -} - -static void cmd_disconnect(GObex *obex, GObexPacket *req, void *user_data) -{ - struct obex_session *os = user_data; - - DBG("session %p", os); - - print_event(G_OBEX_OP_DISCONNECT, -1); - - os->cmd = G_OBEX_OP_DISCONNECT; - - os_set_response(os, 0); -} - -static ssize_t driver_write(struct obex_session *os) -{ - ssize_t len = 0; - - while (os->pending > 0) { - ssize_t w; - - w = os->driver->write(os->object, os->buf + len, os->pending); - if (w < 0) { - error("write(): %s (%zd)", strerror(-w), -w); - if (w == -EINTR) - continue; - else if (w == -EINVAL) - memmove(os->buf, os->buf + len, os->pending); - - return w; - } - - len += w; - os->offset += w; - os->pending -= w; - } - - DBG("%zd written", len); - - if (os->service->progress != NULL) - os->service->progress(os, os->service_data); - - return len; -} - -static gssize driver_read(struct obex_session *os, void *buf, gsize size) -{ - gssize len; - - if (os->object == NULL) - return -EIO; - - if (os->service->progress != NULL) - os->service->progress(os, os->service_data); - - len = os->driver->read(os->object, buf, size); - if (len < 0) { - error("read(): %s (%zd)", strerror(-len), -len); - if (len == -ENOSTR) - return 0; - if (len == -EAGAIN) - os->driver->set_io_watch(os->object, handle_async_io, - os); - } - - os->offset += len; - - DBG("%zd read", len); - - return len; -} - -static gssize send_data(void *buf, gsize size, gpointer user_data) -{ - struct obex_session *os = user_data; - - DBG("name=%s type=%s file=%p size=%zu", os->name, os->type, os->object, - size); - - if (os->aborted) - return os->err < 0 ? os->err : -EPERM; - - return driver_read(os, buf, size); -} - -static void transfer_complete(GObex *obex, GError *err, gpointer user_data) -{ - struct obex_session *os = user_data; - - DBG(""); - - if (err != NULL) { - error("transfer failed: %s\n", err->message); - goto reset; - } - - if (os->object && os->driver && os->driver->flush) { - if (os->driver->flush(os->object) == -EAGAIN) { - g_obex_suspend(os->obex); - os->driver->set_io_watch(os->object, handle_async_io, - os); - return; - } - } - -reset: - os_reset_session(os); -} - -static int driver_get_headers(struct obex_session *os) -{ - GObexPacket *rsp; - gssize len; - guint8 data[255]; - guint8 id; - GObexHeader *hdr; - - DBG("name=%s type=%s object=%p", os->name, os->type, os->object); - - if (os->aborted) - return os->err < 0 ? os->err : -EPERM; - - if (os->object == NULL) - return -EIO; - - if (os->headers_sent) - return 0; - - rsp = g_obex_packet_new(G_OBEX_RSP_CONTINUE, TRUE, G_OBEX_HDR_INVALID); - - if (os->driver->get_next_header == NULL) - goto done; - - while ((len = os->driver->get_next_header(os->object, &data, - sizeof(data), &id))) { - if (len < 0) { - error("get_next_header(): %s (%zd)", strerror(-len), - -len); - - g_obex_packet_free(rsp); - - if (len == -EAGAIN) - return len; - - g_free(os->buf); - os->buf = NULL; - - return len; - } - - hdr = g_obex_header_new_bytes(id, data, len); - g_obex_packet_add_header(rsp, hdr); - } - -done: - if (os->size != OBJECT_SIZE_UNKNOWN && os->size < UINT32_MAX) { - hdr = g_obex_header_new_uint32(G_OBEX_HDR_LENGTH, os->size); - g_obex_packet_add_header(rsp, hdr); - } - - g_obex_get_rsp_pkt(os->obex, rsp, send_data, transfer_complete, os, - NULL); - - os->headers_sent = TRUE; - - print_event(-1, G_OBEX_RSP_CONTINUE); - - return 0; -} - -static gboolean handle_async_io(void *object, int flags, int err, - void *user_data) -{ - struct obex_session *os = user_data; - - if (err < 0) - goto done; - - if (flags & G_IO_OUT) - err = driver_write(os); - if ((flags & G_IO_IN) && !os->headers_sent) - err = driver_get_headers(os); - - if (err == -EAGAIN) - return TRUE; - -done: - if (err < 0) { - os->err = err; - os->aborted = TRUE; - } - - g_obex_resume(os->obex); - - return FALSE; -} - -static gboolean recv_data(const void *buf, gsize size, gpointer user_data) -{ - struct obex_session *os = user_data; - ssize_t ret; - - DBG("name=%s type=%s file=%p size=%zu", os->name, os->type, os->object, - size); - - if (os->aborted) - return FALSE; - - /* workaround: client didn't send the object length */ - if (os->size == OBJECT_SIZE_DELETE) - os->size = OBJECT_SIZE_UNKNOWN; - - os->buf = g_realloc(os->buf, os->pending + size); - memcpy(os->buf + os->pending, buf, size); - os->pending += size; - - /* only write if both object and driver are valid */ - if (os->object == NULL || os->driver == NULL) { - DBG("Stored %" PRIu64 " bytes into temporary buffer", - os->pending); - return TRUE; - } - - ret = driver_write(os); - if (ret >= 0) - return TRUE; - - if (ret == -EAGAIN) { - g_obex_suspend(os->obex); - os->driver->set_io_watch(os->object, handle_async_io, os); - return TRUE; - } - - return FALSE; -} - -static void parse_type(struct obex_session *os, GObexPacket *req) -{ - GObexHeader *hdr; - const guint8 *type; - gsize len; - - g_free(os->type); - os->type = NULL; - - hdr = g_obex_packet_get_header(req, G_OBEX_HDR_TYPE); - if (hdr == NULL) - goto probe; - - if (!g_obex_header_get_bytes(hdr, &type, &len)) - goto probe; - - /* Ensure null termination */ - if (type[len - 1] != '\0') - goto probe; - - os->type = g_strndup((const char *) type, len); - DBG("TYPE: %s", os->type); - -probe: - os->driver = obex_mime_type_driver_find(os->service->target, - os->service->target_size, - os->type, - os->service->who, - os->service->who_size); -} - -static void parse_name(struct obex_session *os, GObexPacket *req) -{ - GObexHeader *hdr; - const char *name; - - g_free(os->name); - os->name = NULL; - - hdr = g_obex_packet_get_header(req, G_OBEX_HDR_NAME); - if (hdr == NULL) - return; - - if (!g_obex_header_get_unicode(hdr, &name)) - return; - - os->name = g_strdup(name); - DBG("NAME: %s", os->name); -} - -static void parse_apparam(struct obex_session *os, GObexPacket *req) -{ - GObexHeader *hdr; - const guint8 *apparam; - gsize len; - - hdr = g_obex_packet_get_header(req, G_OBEX_HDR_APPARAM); - if (hdr == NULL) - return; - - if (!g_obex_header_get_bytes(hdr, &apparam, &len)) - return; - - os->apparam = g_memdup(apparam, len); - os->apparam_len = len; - DBG("APPARAM"); -} - -static void cmd_get(GObex *obex, GObexPacket *req, gpointer user_data) -{ - struct obex_session *os = user_data; - int err; - - DBG("session %p", os); - - print_event(G_OBEX_OP_GET, -1); - - if (os->service == NULL) { - os_set_response(os, -EPERM); - return; - } - - if (os->service->get == NULL) { - os_set_response(os, -ENOSYS); - return; - } - - os->headers_sent = FALSE; - - if (os->type) { - g_free(os->type); - os->type = NULL; - } - - parse_type(os, req); - - if (!os->driver) { - error("No driver found"); - os_set_response(os, -ENOSYS); - return; - } - - os->cmd = G_OBEX_OP_GET; - - parse_name(os, req); - - parse_apparam(os, req); - - err = os->service->get(os, os->service_data); - if (err == 0) - return; - - os_set_response(os, err); -} - -static void cmd_setpath(GObex *obex, GObexPacket *req, gpointer user_data) -{ - struct obex_session *os = user_data; - int err; - - DBG(""); - - print_event(G_OBEX_OP_SETPATH, -1); - - if (os->service == NULL) { - err = -EPERM; - goto done; - } - - if (os->service->setpath == NULL) { - err = -ENOSYS; - goto done; - } - - os->cmd = G_OBEX_OP_SETPATH; - - parse_name(os, req); - - os->nonhdr = g_obex_packet_get_data(req, &os->nonhdr_len); - - err = os->service->setpath(os, os->service_data); -done: - os_set_response(os, err); -} - -int obex_get_stream_start(struct obex_session *os, const char *filename) -{ - int err; - void *object; - size_t size = OBJECT_SIZE_UNKNOWN; - - object = os->driver->open(filename, O_RDONLY, 0, os->service_data, - &size, &err); - if (object == NULL) { - error("open(%s): %s (%d)", filename, strerror(-err), -err); - return err; - } - - os->object = object; - os->offset = 0; - os->size = size; - - err = driver_get_headers(os); - if (err != -EAGAIN) - return err; - - g_obex_suspend(os->obex); - os->driver->set_io_watch(os->object, handle_async_io, os); - return 0; -} - -int obex_put_stream_start(struct obex_session *os, const char *filename) -{ - int err; - - os->object = os->driver->open(filename, O_WRONLY | O_CREAT | O_TRUNC, - 0600, os->service_data, - os->size != OBJECT_SIZE_UNKNOWN ? - (size_t *) &os->size : NULL, &err); - if (os->object == NULL) { - error("open(%s): %s (%d)", filename, strerror(-err), -err); - return err; - } - - os->path = g_strdup(filename); - - return 0; -} - -static void parse_length(struct obex_session *os, GObexPacket *req) -{ - GObexHeader *hdr; - guint32 size; - - hdr = g_obex_packet_get_header(req, G_OBEX_HDR_LENGTH); - if (hdr == NULL) - return; - - if (!g_obex_header_get_uint32(hdr, &size)) - return; - - os->size = size; - DBG("LENGTH: %" PRIu64, os->size); -} - -static void parse_time(struct obex_session *os, GObexPacket *req) -{ - GObexHeader *hdr; - const guint8 *time; - gsize len; - - hdr = g_obex_packet_get_header(req, G_OBEX_HDR_TIME); - if (hdr == NULL) - return; - - - if (!g_obex_header_get_bytes(hdr, &time, &len)) - return; - - os->time = parse_iso8610((const char *) time, len); - DBG("TIME: %s", ctime(&os->time)); -} - -static gboolean check_put(GObex *obex, GObexPacket *req, void *user_data) -{ - struct obex_session *os = user_data; - int ret; - - if (os->service->chkput == NULL) - goto done; - - ret = os->service->chkput(os, os->service_data); - switch (ret) { - case 0: - break; - case -EAGAIN: - g_obex_suspend(os->obex); - os->driver->set_io_watch(os->object, handle_async_io, os); - return TRUE; - default: - os_set_response(os, ret); - return FALSE; - } - - if (os->size == OBJECT_SIZE_DELETE || os->size == OBJECT_SIZE_UNKNOWN) - DBG("Got a PUT without a Length"); - -done: - os->checked = TRUE; - - return TRUE; -} - -static void cmd_put(GObex *obex, GObexPacket *req, gpointer user_data) -{ - struct obex_session *os = user_data; - int err; - - DBG(""); - - print_event(G_OBEX_OP_PUT, -1); - - if (os->service == NULL) { - os_set_response(os, -EPERM); - return; - } - - parse_type(os, req); - - if (os->driver == NULL) { - error("No driver found"); - os_set_response(os, -ENOSYS); - return; - } - - os->cmd = G_OBEX_OP_PUT; - - parse_name(os, req); - parse_length(os, req); - parse_time(os, req); - parse_apparam(os, req); - - if (!os->checked) { - if (!check_put(obex, req, user_data)) - return; - } - - if (os->service->put == NULL) { - os_set_response(os, -ENOSYS); - return; - } - - err = os->service->put(os, os->service_data); - if (err == 0) { - g_obex_put_rsp(obex, req, recv_data, transfer_complete, os, - NULL, G_OBEX_HDR_INVALID); - print_event(G_OBEX_OP_PUT, G_OBEX_RSP_CONTINUE); - return; - } - - os_set_response(os, err); -} - -static void parse_destname(struct obex_session *os, GObexPacket *req) -{ - GObexHeader *hdr; - const char *destname; - - g_free(os->destname); - os->destname = NULL; - - hdr = g_obex_packet_get_header(req, G_OBEX_HDR_DESTNAME); - if (hdr == NULL) - return; - - if (!g_obex_header_get_unicode(hdr, &destname)) - return; - - os->destname = g_strdup(destname); - DBG("DESTNAME: %s", os->destname); -} - -static void parse_action(struct obex_session *os, GObexPacket *req) -{ - GObexHeader *hdr; - guint8 id; - - hdr = g_obex_packet_get_header(req, G_OBEX_HDR_ACTION); - if (hdr == NULL) - return; - - if (!g_obex_header_get_uint8(hdr, &id)) - return; - - os->action_id = id; - DBG("ACTION: 0x%02x", os->action_id); -} - -static void cmd_action(GObex *obex, GObexPacket *req, gpointer user_data) -{ - struct obex_session *os = user_data; - int err; - - DBG(""); - - print_event(G_OBEX_OP_ACTION, -1); - - if (os->service == NULL) { - err = -EPERM; - goto done; - } - - if (os->service->action == NULL) { - err = -ENOSYS; - goto done; - } - - os->cmd = G_OBEX_OP_ACTION; - - parse_name(os, req); - parse_destname(os, req); - parse_action(os, req); - - os->driver = obex_mime_type_driver_find(os->service->target, - os->service->target_size, - NULL, - os->service->who, - os->service->who_size); - if (os->driver == NULL) { - err = -ENOSYS; - goto done; - } - - err = os->service->action(os, os->service_data); -done: - os_set_response(os, err); -} - -static void cmd_abort(GObex *obex, GObexPacket *req, gpointer user_data) -{ - struct obex_session *os = user_data; - - DBG(""); - - print_event(G_OBEX_OP_ABORT, -1); - - os_reset_session(os); - - os_set_response(os, 0); -} - -static void obex_session_destroy(struct obex_session *os) -{ - DBG(""); - - os_reset_session(os); - - if (os->service && os->service->disconnect) - os->service->disconnect(os, os->service_data); - - obex_session_free(os); -} - -static void disconn_func(GObex *obex, GError *err, gpointer user_data) -{ - struct obex_session *os = user_data; - - error("disconnected: %s\n", err ? err->message : ""); - obex_session_destroy(os); -} - -int obex_session_start(GIOChannel *io, uint16_t tx_mtu, uint16_t rx_mtu, - gboolean stream, struct obex_server *server) -{ - struct obex_session *os; - GObex *obex; - GObexTransportType type; - static uint32_t id = 0; - - DBG(""); - - os = g_new0(struct obex_session, 1); - os->id = ++id; - - os->service = obex_service_driver_find(server->drivers, NULL, - 0, NULL, 0); - os->server = server; - os->size = OBJECT_SIZE_DELETE; - - type = stream ? G_OBEX_TRANSPORT_STREAM : G_OBEX_TRANSPORT_PACKET; - - obex = g_obex_new(io, type, rx_mtu, tx_mtu); - if (!obex) { - obex_session_free(os); - return -EIO; - } - - g_obex_set_disconnect_function(obex, disconn_func, os); - g_obex_add_request_function(obex, G_OBEX_OP_CONNECT, cmd_connect, os); - g_obex_add_request_function(obex, G_OBEX_OP_DISCONNECT, cmd_disconnect, - os); - g_obex_add_request_function(obex, G_OBEX_OP_PUT, cmd_put, os); - g_obex_add_request_function(obex, G_OBEX_OP_GET, cmd_get, os); - g_obex_add_request_function(obex, G_OBEX_OP_SETPATH, cmd_setpath, os); - g_obex_add_request_function(obex, G_OBEX_OP_ACTION, cmd_action, os); - g_obex_add_request_function(obex, G_OBEX_OP_ABORT, cmd_abort, os); - - os->obex = obex; - os->io = g_io_channel_ref(io); - - sessions = g_slist_prepend(sessions, os); - - return 0; -} - -const char *obex_get_name(struct obex_session *os) -{ - return os->name; -} - -const char *obex_get_destname(struct obex_session *os) -{ - return os->destname; -} - -void obex_set_name(struct obex_session *os, const char *name) -{ - g_free(os->name); - os->name = g_strdup(name); - DBG("Name changed: %s", os->name); -} - -ssize_t obex_get_size(struct obex_session *os) -{ - return os->size; -} - -const char *obex_get_type(struct obex_session *os) -{ - return os->type; -} - -int obex_remove(struct obex_session *os, const char *path) -{ - if (os->driver == NULL) - return -ENOSYS; - - return os->driver->remove(path); -} - -int obex_copy(struct obex_session *os, const char *source, - const char *destination) -{ - if (os->driver == NULL || os->driver->copy == NULL) - return -ENOSYS; - - DBG("%s %s", source, destination); - - return os->driver->copy(source, destination); -} - -int obex_move(struct obex_session *os, const char *source, - const char *destination) -{ - if (os->driver == NULL || os->driver->move == NULL) - return -ENOSYS; - - DBG("%s %s", source, destination); - - return os->driver->move(source, destination); -} - -uint8_t obex_get_action_id(struct obex_session *os) -{ - return os->action_id; -} - -ssize_t obex_get_apparam(struct obex_session *os, const uint8_t **buffer) -{ - *buffer = os->apparam; - - return os->apparam_len; -} - -ssize_t obex_get_non_header_data(struct obex_session *os, - const uint8_t **data) -{ - *data = os->nonhdr; - - return os->nonhdr_len; -} - -int obex_getpeername(struct obex_session *os, char **name) -{ - struct obex_transport_driver *transport = os->server->transport; - - if (transport == NULL || transport->getpeername == NULL) - return -ENOTSUP; - - return transport->getpeername(os->io, name); -} - -int memncmp0(const void *a, size_t na, const void *b, size_t nb) -{ - if (na != nb) - return na - nb; - - if (a == NULL) - return -(a != b); - - if (b == NULL) - return a != b; - - return memcmp(a, b, na); -} diff --git a/GRIB_BLE_HUB/libs/ble_extend/obexd/src/obex.h b/GRIB_BLE_HUB/libs/ble_extend/obexd/src/obex.h deleted file mode 100644 index 443a748..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/obexd/src/obex.h +++ /dev/null @@ -1,51 +0,0 @@ -/* - * - * OBEX Server - * - * Copyright (C) 2007-2010 Nokia Corporation - * Copyright (C) 2007-2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#define OBJECT_SIZE_UNKNOWN -1 -#define OBJECT_SIZE_DELETE -2 - -#define TARGET_SIZE 16 - -struct obex_session; - -int obex_get_stream_start(struct obex_session *os, const char *filename); -int obex_put_stream_start(struct obex_session *os, const char *filename); -const char *obex_get_name(struct obex_session *os); -const char *obex_get_destname(struct obex_session *os); -void obex_set_name(struct obex_session *os, const char *name); -ssize_t obex_get_size(struct obex_session *os); -const char *obex_get_type(struct obex_session *os); -int obex_remove(struct obex_session *os, const char *path); -int obex_copy(struct obex_session *os, const char *source, - const char *destination); -int obex_move(struct obex_session *os, const char *source, - const char *destination); -uint8_t obex_get_action_id(struct obex_session *os); -ssize_t obex_get_apparam(struct obex_session *os, const uint8_t **buffer); -ssize_t obex_get_non_header_data(struct obex_session *os, - const uint8_t **data); -int obex_getpeername(struct obex_session *os, char **name); - -/* Just a thin wrapper around memcmp to deal with NULL values */ -int memncmp0(const void *a, size_t na, const void *b, size_t nb); diff --git a/GRIB_BLE_HUB/libs/ble_extend/obexd/src/obex.service.in b/GRIB_BLE_HUB/libs/ble_extend/obexd/src/obex.service.in deleted file mode 100644 index bca3aef..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/obexd/src/obex.service.in +++ /dev/null @@ -1,10 +0,0 @@ -[Unit] -Description=Bluetooth OBEX service - -[Service] -Type=dbus -BusName=org.bluez.obex -ExecStart=@libexecdir@/obexd - -[Install] -Alias=dbus-org.bluez.obex.service diff --git a/GRIB_BLE_HUB/libs/ble_extend/obexd/src/obexd b/GRIB_BLE_HUB/libs/ble_extend/obexd/src/obexd deleted file mode 100644 index 5a8f0f4..0000000 Binary files a/GRIB_BLE_HUB/libs/ble_extend/obexd/src/obexd and /dev/null differ diff --git a/GRIB_BLE_HUB/libs/ble_extend/obexd/src/obexd.h b/GRIB_BLE_HUB/libs/ble_extend/obexd/src/obexd.h deleted file mode 100644 index 42c3c4d..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/obexd/src/obexd.h +++ /dev/null @@ -1,43 +0,0 @@ -/* - * - * OBEX Server - * - * Copyright (C) 2007-2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#define OBEX_OPP (1 << 1) -#define OBEX_FTP (1 << 2) -#define OBEX_BIP (1 << 3) -#define OBEX_PBAP (1 << 4) -#define OBEX_IRMC (1 << 5) -#define OBEX_PCSUITE (1 << 6) -#define OBEX_SYNCEVOLUTION (1 << 7) -#define OBEX_MAS (1 << 8) -#define OBEX_MNS (1 << 9) - -gboolean plugin_init(const char *pattern, const char *exclude); -void plugin_cleanup(void); - -gboolean manager_init(void); -void manager_cleanup(void); - -gboolean obex_option_auto_accept(void); -const char *obex_option_root_folder(void); -gboolean obex_option_symlinks(void); -const char *obex_option_capability(void); diff --git a/GRIB_BLE_HUB/libs/ble_extend/obexd/src/org.bluez.obex.service b/GRIB_BLE_HUB/libs/ble_extend/obexd/src/org.bluez.obex.service deleted file mode 100644 index a538088..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/obexd/src/org.bluez.obex.service +++ /dev/null @@ -1,4 +0,0 @@ -[D-BUS Service] -Name=org.bluez.obex -Exec=/bin/false -SystemdService=dbus-org.bluez.obex.service diff --git a/GRIB_BLE_HUB/libs/ble_extend/obexd/src/plugin.c b/GRIB_BLE_HUB/libs/ble_extend/obexd/src/plugin.c deleted file mode 100644 index c8ec642..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/obexd/src/plugin.c +++ /dev/null @@ -1,207 +0,0 @@ -/* - * - * OBEX Server - * - * Copyright (C) 2007-2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include -#include -#include - -#include - -#include "obexd.h" -#include "plugin.h" -#include "log.h" - -/* - * Plugins that are using libraries with threads and their own mainloop - * will crash on exit. This is a bug inside these libraries, but there is - * nothing much that can be done about it. One bad example is libebook. - */ -#ifdef NEED_THREADS -#define PLUGINFLAG (RTLD_NOW | RTLD_NODELETE) -#else -#define PLUGINFLAG (RTLD_NOW) -#endif - -static GSList *plugins = NULL; - -struct obex_plugin { - void *handle; - struct obex_plugin_desc *desc; -}; - -static gboolean add_plugin(void *handle, struct obex_plugin_desc *desc) -{ - struct obex_plugin *plugin; - - if (desc->init == NULL) - return FALSE; - - plugin = g_try_new0(struct obex_plugin, 1); - if (plugin == NULL) - return FALSE; - - plugin->handle = handle; - plugin->desc = desc; - - if (desc->init() < 0) { - g_free(plugin); - return FALSE; - } - - plugins = g_slist_append(plugins, plugin); - DBG("Plugin %s loaded", desc->name); - - return TRUE; -} - -static gboolean check_plugin(struct obex_plugin_desc *desc, - char **patterns, char **excludes) -{ - if (excludes) { - for (; *excludes; excludes++) - if (g_pattern_match_simple(*excludes, desc->name)) - break; - if (*excludes) { - info("Excluding %s", desc->name); - return FALSE; - } - } - - if (patterns) { - for (; *patterns; patterns++) - if (g_pattern_match_simple(*patterns, desc->name)) - break; - if (*patterns == NULL) { - info("Ignoring %s", desc->name); - return FALSE; - } - } - - return TRUE; -} - - -#include "builtin.h" - -gboolean plugin_init(const char *pattern, const char *exclude) -{ - gchar **patterns = NULL; - gchar **excludes = NULL; - GDir *dir; - const char *file; - unsigned int i; - - if (strlen(PLUGINDIR) == 0) - return FALSE; - - if (pattern) - patterns = g_strsplit_set(pattern, ":, ", -1); - - if (exclude) - excludes = g_strsplit_set(exclude, ":, ", -1); - - DBG("Loading builtin plugins"); - - for (i = 0; __obex_builtin[i]; i++) { - if (check_plugin(__obex_builtin[i], - patterns, excludes) == FALSE) - continue; - - add_plugin(NULL, __obex_builtin[i]); - } - - DBG("Loading plugins %s", PLUGINDIR); - - dir = g_dir_open(PLUGINDIR, 0, NULL); - if (!dir) - return FALSE; - - while ((file = g_dir_read_name(dir)) != NULL) { - struct obex_plugin_desc *desc; - void *handle; - char *filename; - - if (g_str_has_prefix(file, "lib") == TRUE || - g_str_has_suffix(file, ".so") == FALSE) - continue; - - filename = g_build_filename(PLUGINDIR, file, NULL); - - handle = dlopen(filename, PLUGINFLAG); - if (handle == NULL) { - error("Can't load plugin %s: %s", filename, - dlerror()); - g_free(filename); - continue; - } - - g_free(filename); - - desc = dlsym(handle, "obex_plugin_desc"); - if (desc == NULL) { - error("Can't load plugin description: %s", dlerror()); - dlclose(handle); - continue; - } - - if (check_plugin(desc, patterns, excludes) == FALSE) { - dlclose(handle); - continue; - } - - if (add_plugin(handle, desc) == FALSE) - dlclose(handle); - } - - g_dir_close(dir); - g_strfreev(patterns); - g_strfreev(excludes); - - return TRUE; -} - -void plugin_cleanup(void) -{ - GSList *list; - - DBG("Cleanup plugins"); - - for (list = plugins; list; list = list->next) { - struct obex_plugin *plugin = list->data; - - if (plugin->desc->exit) - plugin->desc->exit(); - - if (plugin->handle != NULL) - dlclose(plugin->handle); - - g_free(plugin); - } - - g_slist_free(plugins); -} diff --git a/GRIB_BLE_HUB/libs/ble_extend/obexd/src/plugin.h b/GRIB_BLE_HUB/libs/ble_extend/obexd/src/plugin.h deleted file mode 100644 index 13d7769..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/obexd/src/plugin.h +++ /dev/null @@ -1,42 +0,0 @@ -/* - * - * OBEX Server - * - * Copyright (C) 2007-2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -struct obex_plugin_desc { - const char *name; - int (*init) (void); - void (*exit) (void); -}; - -#ifdef OBEX_PLUGIN_BUILTIN -#define OBEX_PLUGIN_DEFINE(name, init, exit) \ - struct obex_plugin_desc __obex_builtin_ ## name = { \ - #name, init, exit \ - }; -#else -#define OBEX_PLUGIN_DEFINE(name,init,exit) \ - extern struct obex_plugin_desc obex_plugin_desc \ - __attribute__ ((visibility("default"))); \ - struct obex_plugin_desc obex_plugin_desc = { \ - #name, init, exit \ - }; -#endif diff --git a/GRIB_BLE_HUB/libs/ble_extend/obexd/src/server.c b/GRIB_BLE_HUB/libs/ble_extend/obexd/src/server.c deleted file mode 100644 index 36e6c7c..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/obexd/src/server.c +++ /dev/null @@ -1,126 +0,0 @@ -/* - * - * OBEX Server - * - * Copyright (C) 2007-2010 Nokia Corporation - * Copyright (C) 2007-2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include -#include -#include -#include -#include -#include - -#include -#include - -#include "log.h" -#include "obex.h" -#include "obex-priv.h" -#include "server.h" -#include "service.h" -#include "transport.h" - -static GSList *servers = NULL; - -static void init_server(uint16_t service, GSList *transports) -{ - GSList *l; - - for (l = transports; l; l = l->next) { - struct obex_transport_driver *transport = l->data; - struct obex_server *server; - int err; - - if (transport->service != 0 && - (transport->service & service) == FALSE) - continue; - - server = g_new0(struct obex_server, 1); - server->transport = transport; - server->drivers = obex_service_driver_list(service); - - server->transport_data = transport->start(server, &err); - if (server->transport_data == NULL) { - DBG("Unable to start %s transport: %s (%d)", - transport->name, strerror(err), err); - g_free(server); - continue; - } - - servers = g_slist_prepend(servers, server); - } -} - -int obex_server_init(void) -{ - GSList *drivers; - GSList *transports; - GSList *l; - - drivers = obex_service_driver_list(0); - if (drivers == NULL) { - DBG("No service driver registered"); - return -EINVAL; - } - - transports = obex_transport_driver_list(); - if (transports == NULL) { - DBG("No transport driver registered"); - return -EINVAL; - } - - for (l = drivers; l; l = l->next) { - struct obex_service_driver *driver = l->data; - - init_server(driver->service, transports); - } - - return 0; -} - -void obex_server_exit(void) -{ - GSList *l; - - for (l = servers; l; l = l->next) { - struct obex_server *server = l->data; - - server->transport->stop(server->transport_data); - g_free(server); - } - - g_slist_free(servers); - - return; -} - -int obex_server_new_connection(struct obex_server *server, GIOChannel *io, - uint16_t tx_mtu, uint16_t rx_mtu, - gboolean stream) -{ - return obex_session_start(io, tx_mtu, rx_mtu, stream, server); -} diff --git a/GRIB_BLE_HUB/libs/ble_extend/obexd/src/server.h b/GRIB_BLE_HUB/libs/ble_extend/obexd/src/server.h deleted file mode 100644 index 278c35f..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/obexd/src/server.h +++ /dev/null @@ -1,37 +0,0 @@ -/* - * - * OBEX Server - * - * Copyright (C) 2007-2010 Nokia Corporation - * Copyright (C) 2007-2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -struct obex_server { - struct obex_transport_driver *transport; - void *transport_data; - GSList *drivers; -}; - -int obex_server_init(void); - -void obex_server_exit(void); - -int obex_server_new_connection(struct obex_server *server, GIOChannel *io, - uint16_t tx_mtu, uint16_t rx_mtu, - gboolean stream); diff --git a/GRIB_BLE_HUB/libs/ble_extend/obexd/src/service.c b/GRIB_BLE_HUB/libs/ble_extend/obexd/src/service.c deleted file mode 100644 index 4d9ebfd..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/obexd/src/service.c +++ /dev/null @@ -1,118 +0,0 @@ -/* - * - * OBEX Server - * - * Copyright (C) 2007-2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include -#include -#include -#include - -#include - -#include "obex.h" -#include "service.h" -#include "log.h" - -static GSList *drivers = NULL; - -struct obex_service_driver *obex_service_driver_find(GSList *drivers, - const uint8_t *target, unsigned int target_size, - const uint8_t *who, unsigned int who_size) -{ - GSList *l; - - for (l = drivers; l; l = l->next) { - struct obex_service_driver *driver = l->data; - - /* who is optional, so only check for it if not NULL */ - if (who != NULL && memncmp0(who, who_size, driver->who, - driver->who_size)) - continue; - - if (memncmp0(target, target_size, driver->target, - driver->target_size) == 0) - return driver; - } - - return NULL; -} - -GSList *obex_service_driver_list(uint16_t services) -{ - GSList *l; - GSList *list = NULL; - - if (services == 0) - return drivers; - - for (l = drivers; l && services; l = l->next) { - struct obex_service_driver *driver = l->data; - - if (driver->service & services) { - list = g_slist_append(list, driver); - services &= ~driver->service; - } - } - - return list; -} - -int obex_service_driver_register(struct obex_service_driver *driver) -{ - if (!driver) { - error("Invalid driver"); - return -EINVAL; - } - - if (obex_service_driver_list(driver->service)) { - error("Permission denied: service %s already registered", - driver->name); - return -EPERM; - } - - DBG("driver %p service %s registered", driver, driver->name); - - /* Drivers that support who has priority */ - if (driver->who) - drivers = g_slist_prepend(drivers, driver); - else - drivers = g_slist_append(drivers, driver); - - return 0; -} - -void obex_service_driver_unregister(struct obex_service_driver *driver) -{ - if (!g_slist_find(drivers, driver)) { - error("Unable to unregister: No such driver %p", driver); - return; - } - - DBG("driver %p service %s unregistered", driver, driver->name); - - drivers = g_slist_remove(drivers, driver); -} diff --git a/GRIB_BLE_HUB/libs/ble_extend/obexd/src/service.h b/GRIB_BLE_HUB/libs/ble_extend/obexd/src/service.h deleted file mode 100644 index 5d9d325..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/obexd/src/service.h +++ /dev/null @@ -1,53 +0,0 @@ -/* - * - * OBEX Server - * - * Copyright (C) 2007-2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#define OBEX_PORT_RANDOM UINT16_MAX - -struct obex_service_driver { - const char *name; - uint16_t service; - uint8_t channel; - uint16_t port; - gboolean secure; - const uint8_t *target; - unsigned int target_size; - const uint8_t *who; - unsigned int who_size; - const char *record; - void *(*connect) (struct obex_session *os, int *err); - void (*progress) (struct obex_session *os, void *user_data); - int (*get) (struct obex_session *os, void *user_data); - int (*put) (struct obex_session *os, void *user_data); - int (*chkput) (struct obex_session *os, void *user_data); - int (*setpath) (struct obex_session *os, void *user_data); - int (*action) (struct obex_session *os, void *user_data); - void (*disconnect) (struct obex_session *os, void *user_data); - void (*reset) (struct obex_session *os, void *user_data); -}; - -int obex_service_driver_register(struct obex_service_driver *driver); -void obex_service_driver_unregister(struct obex_service_driver *driver); -GSList *obex_service_driver_list(uint16_t services); -struct obex_service_driver *obex_service_driver_find(GSList *drivers, - const uint8_t *target, unsigned int target_size, - const uint8_t *who, unsigned int who_size); diff --git a/GRIB_BLE_HUB/libs/ble_extend/obexd/src/transport.c b/GRIB_BLE_HUB/libs/ble_extend/obexd/src/transport.c deleted file mode 100644 index 4984643..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/obexd/src/transport.c +++ /dev/null @@ -1,93 +0,0 @@ -/* - * - * OBEX Server - * - * Copyright (C) 2007-2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include -#include -#include -#include - -#include - -#include "obex.h" -#include "server.h" -#include "transport.h" -#include "log.h" - -static GSList *drivers = NULL; - -static struct obex_transport_driver *obex_transport_driver_find( - const char *name) -{ - GSList *l; - - for (l = drivers; l; l = l->next) { - struct obex_transport_driver *driver = l->data; - - if (g_strcmp0(name, driver->name) == 0) - return driver; - } - - return NULL; -} - -GSList *obex_transport_driver_list(void) -{ - return drivers; -} - -int obex_transport_driver_register(struct obex_transport_driver *driver) -{ - if (!driver) { - error("Invalid driver"); - return -EINVAL; - } - - if (obex_transport_driver_find(driver->name) != NULL) { - error("Permission denied: transport %s already registered", - driver->name); - return -EPERM; - } - - DBG("driver %p transport %s registered", driver, driver->name); - - drivers = g_slist_prepend(drivers, driver); - - return 0; -} - -void obex_transport_driver_unregister(struct obex_transport_driver *driver) -{ - if (!g_slist_find(drivers, driver)) { - error("Unable to unregister: No such driver %p", driver); - return; - } - - DBG("driver %p transport %s unregistered", driver, driver->name); - - drivers = g_slist_remove(drivers, driver); -} diff --git a/GRIB_BLE_HUB/libs/ble_extend/obexd/src/transport.h b/GRIB_BLE_HUB/libs/ble_extend/obexd/src/transport.h deleted file mode 100644 index b81615b..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/obexd/src/transport.h +++ /dev/null @@ -1,34 +0,0 @@ -/* - * - * OBEX Server - * - * Copyright (C) 2007-2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -struct obex_transport_driver { - const char *name; - uint16_t service; - void *(*start) (struct obex_server *server, int *err); - int (*getpeername) (GIOChannel *io, char **name); - void (*stop) (void *data); -}; - -int obex_transport_driver_register(struct obex_transport_driver *driver); -void obex_transport_driver_unregister(struct obex_transport_driver *driver); -GSList *obex_transport_driver_list(void); diff --git a/GRIB_BLE_HUB/libs/ble_extend/plugins/.deps/.dirstamp b/GRIB_BLE_HUB/libs/ble_extend/plugins/.deps/.dirstamp deleted file mode 100644 index e69de29..0000000 diff --git a/GRIB_BLE_HUB/libs/ble_extend/plugins/.deps/bluetoothd-gatt-example.Po b/GRIB_BLE_HUB/libs/ble_extend/plugins/.deps/bluetoothd-gatt-example.Po deleted file mode 100644 index 9ce06a8..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/plugins/.deps/bluetoothd-gatt-example.Po +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/GRIB_BLE_HUB/libs/ble_extend/plugins/.deps/bluetoothd-hostname.Po b/GRIB_BLE_HUB/libs/ble_extend/plugins/.deps/bluetoothd-hostname.Po deleted file mode 100644 index cf1e224..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/plugins/.deps/bluetoothd-hostname.Po +++ /dev/null @@ -1,534 +0,0 @@ -plugins/bluetoothd-hostname.o: plugins/hostname.c \ - /usr/include/stdc-predef.h config.h /usr/include/errno.h \ - /usr/include/features.h /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/include/arm-linux-gnueabihf/bits/errno.h /usr/include/linux/errno.h \ - /usr/include/arm-linux-gnueabihf/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h \ - /usr/include/stdint.h /usr/include/arm-linux-gnueabihf/bits/wchar.h \ - /usr/include/stdlib.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/include/arm-linux-gnueabihf/bits/waitflags.h \ - /usr/include/arm-linux-gnueabihf/bits/waitstatus.h /usr/include/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/xlocale.h /usr/include/arm-linux-gnueabihf/sys/types.h \ - /usr/include/time.h /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/alloca.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-float.h gdbus/gdbus.h \ - /usr/include/dbus-1.0/dbus/dbus.h \ - /usr/lib/arm-linux-gnueabihf/dbus-1.0/include/dbus/dbus-arch-deps.h \ - /usr/include/dbus-1.0/dbus/dbus-macros.h \ - /usr/include/dbus-1.0/dbus/dbus-address.h \ - /usr/include/dbus-1.0/dbus/dbus-types.h \ - /usr/include/dbus-1.0/dbus/dbus-errors.h \ - /usr/include/dbus-1.0/dbus/dbus-protocol.h \ - /usr/include/dbus-1.0/dbus/dbus-bus.h \ - /usr/include/dbus-1.0/dbus/dbus-connection.h \ - /usr/include/dbus-1.0/dbus/dbus-memory.h \ - /usr/include/dbus-1.0/dbus/dbus-message.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/dbus-1.0/dbus/dbus-shared.h \ - /usr/include/dbus-1.0/dbus/dbus-misc.h \ - /usr/include/dbus-1.0/dbus/dbus-pending-call.h \ - /usr/include/dbus-1.0/dbus/dbus-server.h \ - /usr/include/dbus-1.0/dbus/dbus-signature.h \ - /usr/include/dbus-1.0/dbus/dbus-syntax.h \ - /usr/include/dbus-1.0/dbus/dbus-threads.h /usr/include/glib-2.0/glib.h \ - /usr/include/glib-2.0/glib/galloca.h /usr/include/glib-2.0/glib/gtypes.h \ - /usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h \ - /usr/include/glib-2.0/glib/gmacros.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h \ - /usr/include/limits.h /usr/include/arm-linux-gnueabihf/bits/posix1_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/local_lim.h \ - /usr/include/linux/limits.h \ - /usr/include/arm-linux-gnueabihf/bits/posix2_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/xopen_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h \ - /usr/include/glib-2.0/glib/gversionmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/timex.h \ - /usr/include/glib-2.0/glib/garray.h \ - /usr/include/glib-2.0/glib/gasyncqueue.h \ - /usr/include/glib-2.0/glib/gthread.h \ - /usr/include/glib-2.0/glib/gatomic.h /usr/include/glib-2.0/glib/gerror.h \ - /usr/include/glib-2.0/glib/gquark.h \ - /usr/include/glib-2.0/glib/gbacktrace.h /usr/include/signal.h \ - /usr/include/arm-linux-gnueabihf/bits/signum.h \ - /usr/include/arm-linux-gnueabihf/bits/siginfo.h \ - /usr/include/arm-linux-gnueabihf/bits/sigaction.h \ - /usr/include/arm-linux-gnueabihf/bits/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/asm/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigstack.h \ - /usr/include/arm-linux-gnueabihf/sys/ucontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigthread.h \ - /usr/include/glib-2.0/glib/gbase64.h \ - /usr/include/glib-2.0/glib/gbitlock.h \ - /usr/include/glib-2.0/glib/gbookmarkfile.h \ - /usr/include/glib-2.0/glib/gbytes.h \ - /usr/include/glib-2.0/glib/gcharset.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/gconvert.h \ - /usr/include/glib-2.0/glib/gdataset.h /usr/include/glib-2.0/glib/gdate.h \ - /usr/include/glib-2.0/glib/gdatetime.h \ - /usr/include/glib-2.0/glib/gtimezone.h /usr/include/glib-2.0/glib/gdir.h \ - /usr/include/dirent.h /usr/include/arm-linux-gnueabihf/bits/dirent.h \ - /usr/include/glib-2.0/glib/genviron.h \ - /usr/include/glib-2.0/glib/gfileutils.h \ - /usr/include/glib-2.0/glib/ggettext.h /usr/include/glib-2.0/glib/ghash.h \ - /usr/include/glib-2.0/glib/glist.h /usr/include/glib-2.0/glib/gmem.h \ - /usr/include/glib-2.0/glib/gnode.h /usr/include/glib-2.0/glib/ghmac.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/ghook.h \ - /usr/include/glib-2.0/glib/ghostutils.h \ - /usr/include/glib-2.0/glib/giochannel.h \ - /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gpoll.h \ - /usr/include/glib-2.0/glib/gslist.h /usr/include/glib-2.0/glib/gstring.h \ - /usr/include/glib-2.0/glib/gunicode.h \ - /usr/include/glib-2.0/glib/gutils.h \ - /usr/include/glib-2.0/glib/gkeyfile.h \ - /usr/include/glib-2.0/glib/gmappedfile.h \ - /usr/include/glib-2.0/glib/gmarkup.h \ - /usr/include/glib-2.0/glib/gmessages.h \ - /usr/include/glib-2.0/glib/goption.h \ - /usr/include/glib-2.0/glib/gpattern.h \ - /usr/include/glib-2.0/glib/gprimes.h /usr/include/glib-2.0/glib/gqsort.h \ - /usr/include/glib-2.0/glib/gqueue.h /usr/include/glib-2.0/glib/grand.h \ - /usr/include/glib-2.0/glib/gregex.h \ - /usr/include/glib-2.0/glib/gscanner.h \ - /usr/include/glib-2.0/glib/gsequence.h \ - /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gslice.h \ - /usr/include/glib-2.0/glib/gspawn.h \ - /usr/include/glib-2.0/glib/gstrfuncs.h \ - /usr/include/glib-2.0/glib/gstringchunk.h \ - /usr/include/glib-2.0/glib/gtestutils.h \ - /usr/include/glib-2.0/glib/gthreadpool.h \ - /usr/include/glib-2.0/glib/gtimer.h \ - /usr/include/glib-2.0/glib/gtrashstack.h \ - /usr/include/glib-2.0/glib/gtree.h \ - /usr/include/glib-2.0/glib/gurifuncs.h \ - /usr/include/glib-2.0/glib/gvarianttype.h \ - /usr/include/glib-2.0/glib/gvariant.h \ - /usr/include/glib-2.0/glib/gversion.h \ - /usr/include/glib-2.0/glib/deprecated/gallocator.h \ - /usr/include/glib-2.0/glib/deprecated/gcache.h \ - /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ - /usr/include/glib-2.0/glib/deprecated/gmain.h \ - /usr/include/glib-2.0/glib/deprecated/grel.h \ - /usr/include/glib-2.0/glib/deprecated/gthread.h /usr/include/pthread.h \ - /usr/include/sched.h /usr/include/arm-linux-gnueabihf/bits/sched.h \ - /usr/include/arm-linux-gnueabihf/bits/setjmp.h src/dbus-common.h \ - src/plugin.h src/adapter.h lib/bluetooth/bluetooth.h \ - /usr/include/stdio.h /usr/include/libio.h /usr/include/_G_config.h \ - /usr/include/wchar.h /usr/include/arm-linux-gnueabihf/bits/sys_errlist.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio.h /usr/include/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string2.h /usr/include/byteswap.h \ - /usr/include/netinet/in.h /usr/include/arm-linux-gnueabihf/sys/socket.h \ - /usr/include/arm-linux-gnueabihf/sys/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/socket.h \ - /usr/include/arm-linux-gnueabihf/bits/socket_type.h \ - /usr/include/arm-linux-gnueabihf/bits/sockaddr.h \ - /usr/include/arm-linux-gnueabihf/asm/socket.h \ - /usr/include/asm-generic/socket.h \ - /usr/include/arm-linux-gnueabihf/asm/sockios.h \ - /usr/include/asm-generic/sockios.h \ - /usr/include/arm-linux-gnueabihf/bits/in.h lib/bluetooth/sdp.h \ - lib/bluetooth/hci.h lib/bluetooth/hci_lib.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdbool.h src/log.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/include/errno.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/include/arm-linux-gnueabihf/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/arm-linux-gnueabihf/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/arm-linux-gnueabihf/bits/wchar.h: - -/usr/include/stdlib.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/include/arm-linux-gnueabihf/bits/waitflags.h: - -/usr/include/arm-linux-gnueabihf/bits/waitstatus.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/xlocale.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/time.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/alloca.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-float.h: - -gdbus/gdbus.h: - -/usr/include/dbus-1.0/dbus/dbus.h: - -/usr/lib/arm-linux-gnueabihf/dbus-1.0/include/dbus/dbus-arch-deps.h: - -/usr/include/dbus-1.0/dbus/dbus-macros.h: - -/usr/include/dbus-1.0/dbus/dbus-address.h: - -/usr/include/dbus-1.0/dbus/dbus-types.h: - -/usr/include/dbus-1.0/dbus/dbus-errors.h: - -/usr/include/dbus-1.0/dbus/dbus-protocol.h: - -/usr/include/dbus-1.0/dbus/dbus-bus.h: - -/usr/include/dbus-1.0/dbus/dbus-connection.h: - -/usr/include/dbus-1.0/dbus/dbus-memory.h: - -/usr/include/dbus-1.0/dbus/dbus-message.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/dbus-1.0/dbus/dbus-shared.h: - -/usr/include/dbus-1.0/dbus/dbus-misc.h: - -/usr/include/dbus-1.0/dbus/dbus-pending-call.h: - -/usr/include/dbus-1.0/dbus/dbus-server.h: - -/usr/include/dbus-1.0/dbus/dbus-signature.h: - -/usr/include/dbus-1.0/dbus/dbus-syntax.h: - -/usr/include/dbus-1.0/dbus/dbus-threads.h: - -/usr/include/glib-2.0/glib.h: - -/usr/include/glib-2.0/glib/galloca.h: - -/usr/include/glib-2.0/glib/gtypes.h: - -/usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h: - -/usr/include/glib-2.0/glib/gmacros.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h: - -/usr/include/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/local_lim.h: - -/usr/include/linux/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix2_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/xopen_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h: - -/usr/include/glib-2.0/glib/gversionmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/timex.h: - -/usr/include/glib-2.0/glib/garray.h: - -/usr/include/glib-2.0/glib/gasyncqueue.h: - -/usr/include/glib-2.0/glib/gthread.h: - -/usr/include/glib-2.0/glib/gatomic.h: - -/usr/include/glib-2.0/glib/gerror.h: - -/usr/include/glib-2.0/glib/gquark.h: - -/usr/include/glib-2.0/glib/gbacktrace.h: - -/usr/include/signal.h: - -/usr/include/arm-linux-gnueabihf/bits/signum.h: - -/usr/include/arm-linux-gnueabihf/bits/siginfo.h: - -/usr/include/arm-linux-gnueabihf/bits/sigaction.h: - -/usr/include/arm-linux-gnueabihf/bits/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/asm/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigstack.h: - -/usr/include/arm-linux-gnueabihf/sys/ucontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigthread.h: - -/usr/include/glib-2.0/glib/gbase64.h: - -/usr/include/glib-2.0/glib/gbitlock.h: - -/usr/include/glib-2.0/glib/gbookmarkfile.h: - -/usr/include/glib-2.0/glib/gbytes.h: - -/usr/include/glib-2.0/glib/gcharset.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/gconvert.h: - -/usr/include/glib-2.0/glib/gdataset.h: - -/usr/include/glib-2.0/glib/gdate.h: - -/usr/include/glib-2.0/glib/gdatetime.h: - -/usr/include/glib-2.0/glib/gtimezone.h: - -/usr/include/glib-2.0/glib/gdir.h: - -/usr/include/dirent.h: - -/usr/include/arm-linux-gnueabihf/bits/dirent.h: - -/usr/include/glib-2.0/glib/genviron.h: - -/usr/include/glib-2.0/glib/gfileutils.h: - -/usr/include/glib-2.0/glib/ggettext.h: - -/usr/include/glib-2.0/glib/ghash.h: - -/usr/include/glib-2.0/glib/glist.h: - -/usr/include/glib-2.0/glib/gmem.h: - -/usr/include/glib-2.0/glib/gnode.h: - -/usr/include/glib-2.0/glib/ghmac.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/ghook.h: - -/usr/include/glib-2.0/glib/ghostutils.h: - -/usr/include/glib-2.0/glib/giochannel.h: - -/usr/include/glib-2.0/glib/gmain.h: - -/usr/include/glib-2.0/glib/gpoll.h: - -/usr/include/glib-2.0/glib/gslist.h: - -/usr/include/glib-2.0/glib/gstring.h: - -/usr/include/glib-2.0/glib/gunicode.h: - -/usr/include/glib-2.0/glib/gutils.h: - -/usr/include/glib-2.0/glib/gkeyfile.h: - -/usr/include/glib-2.0/glib/gmappedfile.h: - -/usr/include/glib-2.0/glib/gmarkup.h: - -/usr/include/glib-2.0/glib/gmessages.h: - -/usr/include/glib-2.0/glib/goption.h: - -/usr/include/glib-2.0/glib/gpattern.h: - -/usr/include/glib-2.0/glib/gprimes.h: - -/usr/include/glib-2.0/glib/gqsort.h: - -/usr/include/glib-2.0/glib/gqueue.h: - -/usr/include/glib-2.0/glib/grand.h: - -/usr/include/glib-2.0/glib/gregex.h: - -/usr/include/glib-2.0/glib/gscanner.h: - -/usr/include/glib-2.0/glib/gsequence.h: - -/usr/include/glib-2.0/glib/gshell.h: - -/usr/include/glib-2.0/glib/gslice.h: - -/usr/include/glib-2.0/glib/gspawn.h: - -/usr/include/glib-2.0/glib/gstrfuncs.h: - -/usr/include/glib-2.0/glib/gstringchunk.h: - -/usr/include/glib-2.0/glib/gtestutils.h: - -/usr/include/glib-2.0/glib/gthreadpool.h: - -/usr/include/glib-2.0/glib/gtimer.h: - -/usr/include/glib-2.0/glib/gtrashstack.h: - -/usr/include/glib-2.0/glib/gtree.h: - -/usr/include/glib-2.0/glib/gurifuncs.h: - -/usr/include/glib-2.0/glib/gvarianttype.h: - -/usr/include/glib-2.0/glib/gvariant.h: - -/usr/include/glib-2.0/glib/gversion.h: - -/usr/include/glib-2.0/glib/deprecated/gallocator.h: - -/usr/include/glib-2.0/glib/deprecated/gcache.h: - -/usr/include/glib-2.0/glib/deprecated/gcompletion.h: - -/usr/include/glib-2.0/glib/deprecated/gmain.h: - -/usr/include/glib-2.0/glib/deprecated/grel.h: - -/usr/include/glib-2.0/glib/deprecated/gthread.h: - -/usr/include/pthread.h: - -/usr/include/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/setjmp.h: - -src/dbus-common.h: - -src/plugin.h: - -src/adapter.h: - -lib/bluetooth/bluetooth.h: - -/usr/include/stdio.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/include/arm-linux-gnueabihf/bits/sys_errlist.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio.h: - -/usr/include/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string2.h: - -/usr/include/byteswap.h: - -/usr/include/netinet/in.h: - -/usr/include/arm-linux-gnueabihf/sys/socket.h: - -/usr/include/arm-linux-gnueabihf/sys/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/socket.h: - -/usr/include/arm-linux-gnueabihf/bits/socket_type.h: - -/usr/include/arm-linux-gnueabihf/bits/sockaddr.h: - -/usr/include/arm-linux-gnueabihf/asm/socket.h: - -/usr/include/asm-generic/socket.h: - -/usr/include/arm-linux-gnueabihf/asm/sockios.h: - -/usr/include/asm-generic/sockios.h: - -/usr/include/arm-linux-gnueabihf/bits/in.h: - -lib/bluetooth/sdp.h: - -lib/bluetooth/hci.h: - -lib/bluetooth/hci_lib.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdbool.h: - -src/log.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/plugins/.deps/bluetoothd-neard.Po b/GRIB_BLE_HUB/libs/ble_extend/plugins/.deps/bluetoothd-neard.Po deleted file mode 100644 index 9ce06a8..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/plugins/.deps/bluetoothd-neard.Po +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/GRIB_BLE_HUB/libs/ble_extend/plugins/.deps/bluetoothd-wiimote.Po b/GRIB_BLE_HUB/libs/ble_extend/plugins/.deps/bluetoothd-wiimote.Po deleted file mode 100644 index 478a67b..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/plugins/.deps/bluetoothd-wiimote.Po +++ /dev/null @@ -1,508 +0,0 @@ -plugins/bluetoothd-wiimote.o: plugins/wiimote.c \ - /usr/include/stdc-predef.h config.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdbool.h \ - lib/bluetooth/bluetooth.h /usr/include/stdio.h /usr/include/features.h \ - /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/sys_errlist.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h \ - /usr/include/stdint.h /usr/include/arm-linux-gnueabihf/bits/wchar.h \ - /usr/include/string.h /usr/include/xlocale.h \ - /usr/include/arm-linux-gnueabihf/bits/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string2.h /usr/include/stdlib.h \ - /usr/include/endian.h /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/byteswap.h /usr/include/netinet/in.h \ - /usr/include/arm-linux-gnueabihf/sys/socket.h \ - /usr/include/arm-linux-gnueabihf/sys/uio.h \ - /usr/include/arm-linux-gnueabihf/sys/types.h /usr/include/time.h \ - /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/arm-linux-gnueabihf/bits/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/socket.h \ - /usr/include/arm-linux-gnueabihf/bits/socket_type.h \ - /usr/include/arm-linux-gnueabihf/bits/sockaddr.h \ - /usr/include/arm-linux-gnueabihf/asm/socket.h \ - /usr/include/asm-generic/socket.h \ - /usr/include/arm-linux-gnueabihf/asm/sockios.h \ - /usr/include/asm-generic/sockios.h \ - /usr/include/arm-linux-gnueabihf/bits/in.h /usr/include/glib-2.0/glib.h \ - /usr/include/glib-2.0/glib/galloca.h /usr/include/glib-2.0/glib/gtypes.h \ - /usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h \ - /usr/include/glib-2.0/glib/gmacros.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h \ - /usr/include/limits.h /usr/include/arm-linux-gnueabihf/bits/posix1_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/local_lim.h \ - /usr/include/linux/limits.h \ - /usr/include/arm-linux-gnueabihf/bits/posix2_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/xopen_lim.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h \ - /usr/include/glib-2.0/glib/gversionmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/timex.h \ - /usr/include/glib-2.0/glib/garray.h \ - /usr/include/glib-2.0/glib/gasyncqueue.h \ - /usr/include/glib-2.0/glib/gthread.h \ - /usr/include/glib-2.0/glib/gatomic.h /usr/include/glib-2.0/glib/gerror.h \ - /usr/include/glib-2.0/glib/gquark.h \ - /usr/include/glib-2.0/glib/gbacktrace.h /usr/include/signal.h \ - /usr/include/arm-linux-gnueabihf/bits/signum.h \ - /usr/include/arm-linux-gnueabihf/bits/siginfo.h \ - /usr/include/arm-linux-gnueabihf/bits/sigaction.h \ - /usr/include/arm-linux-gnueabihf/bits/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/asm/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigstack.h \ - /usr/include/arm-linux-gnueabihf/sys/ucontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigthread.h \ - /usr/include/glib-2.0/glib/gbase64.h \ - /usr/include/glib-2.0/glib/gbitlock.h \ - /usr/include/glib-2.0/glib/gbookmarkfile.h \ - /usr/include/glib-2.0/glib/gbytes.h \ - /usr/include/glib-2.0/glib/gcharset.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/gconvert.h \ - /usr/include/glib-2.0/glib/gdataset.h /usr/include/glib-2.0/glib/gdate.h \ - /usr/include/glib-2.0/glib/gdatetime.h \ - /usr/include/glib-2.0/glib/gtimezone.h /usr/include/glib-2.0/glib/gdir.h \ - /usr/include/dirent.h /usr/include/arm-linux-gnueabihf/bits/dirent.h \ - /usr/include/glib-2.0/glib/genviron.h \ - /usr/include/glib-2.0/glib/gfileutils.h \ - /usr/include/glib-2.0/glib/ggettext.h /usr/include/glib-2.0/glib/ghash.h \ - /usr/include/glib-2.0/glib/glist.h /usr/include/glib-2.0/glib/gmem.h \ - /usr/include/glib-2.0/glib/gnode.h /usr/include/glib-2.0/glib/ghmac.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/ghook.h \ - /usr/include/glib-2.0/glib/ghostutils.h \ - /usr/include/glib-2.0/glib/giochannel.h \ - /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gpoll.h \ - /usr/include/glib-2.0/glib/gslist.h /usr/include/glib-2.0/glib/gstring.h \ - /usr/include/glib-2.0/glib/gunicode.h \ - /usr/include/glib-2.0/glib/gutils.h \ - /usr/include/glib-2.0/glib/gkeyfile.h \ - /usr/include/glib-2.0/glib/gmappedfile.h \ - /usr/include/glib-2.0/glib/gmarkup.h \ - /usr/include/glib-2.0/glib/gmessages.h \ - /usr/include/glib-2.0/glib/goption.h \ - /usr/include/glib-2.0/glib/gpattern.h \ - /usr/include/glib-2.0/glib/gprimes.h /usr/include/glib-2.0/glib/gqsort.h \ - /usr/include/glib-2.0/glib/gqueue.h /usr/include/glib-2.0/glib/grand.h \ - /usr/include/glib-2.0/glib/gregex.h \ - /usr/include/glib-2.0/glib/gscanner.h \ - /usr/include/glib-2.0/glib/gsequence.h \ - /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gslice.h \ - /usr/include/glib-2.0/glib/gspawn.h \ - /usr/include/glib-2.0/glib/gstrfuncs.h \ - /usr/include/glib-2.0/glib/gstringchunk.h \ - /usr/include/glib-2.0/glib/gtestutils.h \ - /usr/include/glib-2.0/glib/gthreadpool.h \ - /usr/include/glib-2.0/glib/gtimer.h \ - /usr/include/glib-2.0/glib/gtrashstack.h \ - /usr/include/glib-2.0/glib/gtree.h \ - /usr/include/glib-2.0/glib/gurifuncs.h \ - /usr/include/glib-2.0/glib/gvarianttype.h \ - /usr/include/glib-2.0/glib/gvariant.h \ - /usr/include/glib-2.0/glib/gversion.h \ - /usr/include/glib-2.0/glib/deprecated/gallocator.h \ - /usr/include/glib-2.0/glib/deprecated/gcache.h \ - /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ - /usr/include/glib-2.0/glib/deprecated/gmain.h \ - /usr/include/glib-2.0/glib/deprecated/grel.h \ - /usr/include/glib-2.0/glib/deprecated/gthread.h /usr/include/pthread.h \ - /usr/include/sched.h /usr/include/arm-linux-gnueabihf/bits/sched.h \ - /usr/include/arm-linux-gnueabihf/bits/setjmp.h src/plugin.h \ - src/adapter.h lib/bluetooth/sdp.h lib/bluetooth/hci.h \ - lib/bluetooth/hci_lib.h /usr/include/dbus-1.0/dbus/dbus.h \ - /usr/lib/arm-linux-gnueabihf/dbus-1.0/include/dbus/dbus-arch-deps.h \ - /usr/include/dbus-1.0/dbus/dbus-macros.h \ - /usr/include/dbus-1.0/dbus/dbus-address.h \ - /usr/include/dbus-1.0/dbus/dbus-types.h \ - /usr/include/dbus-1.0/dbus/dbus-errors.h \ - /usr/include/dbus-1.0/dbus/dbus-protocol.h \ - /usr/include/dbus-1.0/dbus/dbus-bus.h \ - /usr/include/dbus-1.0/dbus/dbus-connection.h \ - /usr/include/dbus-1.0/dbus/dbus-memory.h \ - /usr/include/dbus-1.0/dbus/dbus-message.h \ - /usr/include/dbus-1.0/dbus/dbus-shared.h \ - /usr/include/dbus-1.0/dbus/dbus-misc.h \ - /usr/include/dbus-1.0/dbus/dbus-pending-call.h \ - /usr/include/dbus-1.0/dbus/dbus-server.h \ - /usr/include/dbus-1.0/dbus/dbus-signature.h \ - /usr/include/dbus-1.0/dbus/dbus-syntax.h \ - /usr/include/dbus-1.0/dbus/dbus-threads.h src/device.h src/log.h \ - src/storage.h src/textfile.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdbool.h: - -lib/bluetooth/bluetooth.h: - -/usr/include/stdio.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/sys_errlist.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/arm-linux-gnueabihf/bits/wchar.h: - -/usr/include/string.h: - -/usr/include/xlocale.h: - -/usr/include/arm-linux-gnueabihf/bits/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string2.h: - -/usr/include/stdlib.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/byteswap.h: - -/usr/include/netinet/in.h: - -/usr/include/arm-linux-gnueabihf/sys/socket.h: - -/usr/include/arm-linux-gnueabihf/sys/uio.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/time.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/arm-linux-gnueabihf/bits/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/socket.h: - -/usr/include/arm-linux-gnueabihf/bits/socket_type.h: - -/usr/include/arm-linux-gnueabihf/bits/sockaddr.h: - -/usr/include/arm-linux-gnueabihf/asm/socket.h: - -/usr/include/asm-generic/socket.h: - -/usr/include/arm-linux-gnueabihf/asm/sockios.h: - -/usr/include/asm-generic/sockios.h: - -/usr/include/arm-linux-gnueabihf/bits/in.h: - -/usr/include/glib-2.0/glib.h: - -/usr/include/glib-2.0/glib/galloca.h: - -/usr/include/glib-2.0/glib/gtypes.h: - -/usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h: - -/usr/include/glib-2.0/glib/gmacros.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h: - -/usr/include/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/local_lim.h: - -/usr/include/linux/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix2_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/xopen_lim.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h: - -/usr/include/glib-2.0/glib/gversionmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/timex.h: - -/usr/include/glib-2.0/glib/garray.h: - -/usr/include/glib-2.0/glib/gasyncqueue.h: - -/usr/include/glib-2.0/glib/gthread.h: - -/usr/include/glib-2.0/glib/gatomic.h: - -/usr/include/glib-2.0/glib/gerror.h: - -/usr/include/glib-2.0/glib/gquark.h: - -/usr/include/glib-2.0/glib/gbacktrace.h: - -/usr/include/signal.h: - -/usr/include/arm-linux-gnueabihf/bits/signum.h: - -/usr/include/arm-linux-gnueabihf/bits/siginfo.h: - -/usr/include/arm-linux-gnueabihf/bits/sigaction.h: - -/usr/include/arm-linux-gnueabihf/bits/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/asm/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigstack.h: - -/usr/include/arm-linux-gnueabihf/sys/ucontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigthread.h: - -/usr/include/glib-2.0/glib/gbase64.h: - -/usr/include/glib-2.0/glib/gbitlock.h: - -/usr/include/glib-2.0/glib/gbookmarkfile.h: - -/usr/include/glib-2.0/glib/gbytes.h: - -/usr/include/glib-2.0/glib/gcharset.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/gconvert.h: - -/usr/include/glib-2.0/glib/gdataset.h: - -/usr/include/glib-2.0/glib/gdate.h: - -/usr/include/glib-2.0/glib/gdatetime.h: - -/usr/include/glib-2.0/glib/gtimezone.h: - -/usr/include/glib-2.0/glib/gdir.h: - -/usr/include/dirent.h: - -/usr/include/arm-linux-gnueabihf/bits/dirent.h: - -/usr/include/glib-2.0/glib/genviron.h: - -/usr/include/glib-2.0/glib/gfileutils.h: - -/usr/include/glib-2.0/glib/ggettext.h: - -/usr/include/glib-2.0/glib/ghash.h: - -/usr/include/glib-2.0/glib/glist.h: - -/usr/include/glib-2.0/glib/gmem.h: - -/usr/include/glib-2.0/glib/gnode.h: - -/usr/include/glib-2.0/glib/ghmac.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/ghook.h: - -/usr/include/glib-2.0/glib/ghostutils.h: - -/usr/include/glib-2.0/glib/giochannel.h: - -/usr/include/glib-2.0/glib/gmain.h: - -/usr/include/glib-2.0/glib/gpoll.h: - -/usr/include/glib-2.0/glib/gslist.h: - -/usr/include/glib-2.0/glib/gstring.h: - -/usr/include/glib-2.0/glib/gunicode.h: - -/usr/include/glib-2.0/glib/gutils.h: - -/usr/include/glib-2.0/glib/gkeyfile.h: - -/usr/include/glib-2.0/glib/gmappedfile.h: - -/usr/include/glib-2.0/glib/gmarkup.h: - -/usr/include/glib-2.0/glib/gmessages.h: - -/usr/include/glib-2.0/glib/goption.h: - -/usr/include/glib-2.0/glib/gpattern.h: - -/usr/include/glib-2.0/glib/gprimes.h: - -/usr/include/glib-2.0/glib/gqsort.h: - -/usr/include/glib-2.0/glib/gqueue.h: - -/usr/include/glib-2.0/glib/grand.h: - -/usr/include/glib-2.0/glib/gregex.h: - -/usr/include/glib-2.0/glib/gscanner.h: - -/usr/include/glib-2.0/glib/gsequence.h: - -/usr/include/glib-2.0/glib/gshell.h: - -/usr/include/glib-2.0/glib/gslice.h: - -/usr/include/glib-2.0/glib/gspawn.h: - -/usr/include/glib-2.0/glib/gstrfuncs.h: - -/usr/include/glib-2.0/glib/gstringchunk.h: - -/usr/include/glib-2.0/glib/gtestutils.h: - -/usr/include/glib-2.0/glib/gthreadpool.h: - -/usr/include/glib-2.0/glib/gtimer.h: - -/usr/include/glib-2.0/glib/gtrashstack.h: - -/usr/include/glib-2.0/glib/gtree.h: - -/usr/include/glib-2.0/glib/gurifuncs.h: - -/usr/include/glib-2.0/glib/gvarianttype.h: - -/usr/include/glib-2.0/glib/gvariant.h: - -/usr/include/glib-2.0/glib/gversion.h: - -/usr/include/glib-2.0/glib/deprecated/gallocator.h: - -/usr/include/glib-2.0/glib/deprecated/gcache.h: - -/usr/include/glib-2.0/glib/deprecated/gcompletion.h: - -/usr/include/glib-2.0/glib/deprecated/gmain.h: - -/usr/include/glib-2.0/glib/deprecated/grel.h: - -/usr/include/glib-2.0/glib/deprecated/gthread.h: - -/usr/include/pthread.h: - -/usr/include/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/setjmp.h: - -src/plugin.h: - -src/adapter.h: - -lib/bluetooth/sdp.h: - -lib/bluetooth/hci.h: - -lib/bluetooth/hci_lib.h: - -/usr/include/dbus-1.0/dbus/dbus.h: - -/usr/lib/arm-linux-gnueabihf/dbus-1.0/include/dbus/dbus-arch-deps.h: - -/usr/include/dbus-1.0/dbus/dbus-macros.h: - -/usr/include/dbus-1.0/dbus/dbus-address.h: - -/usr/include/dbus-1.0/dbus/dbus-types.h: - -/usr/include/dbus-1.0/dbus/dbus-errors.h: - -/usr/include/dbus-1.0/dbus/dbus-protocol.h: - -/usr/include/dbus-1.0/dbus/dbus-bus.h: - -/usr/include/dbus-1.0/dbus/dbus-connection.h: - -/usr/include/dbus-1.0/dbus/dbus-memory.h: - -/usr/include/dbus-1.0/dbus/dbus-message.h: - -/usr/include/dbus-1.0/dbus/dbus-shared.h: - -/usr/include/dbus-1.0/dbus/dbus-misc.h: - -/usr/include/dbus-1.0/dbus/dbus-pending-call.h: - -/usr/include/dbus-1.0/dbus/dbus-server.h: - -/usr/include/dbus-1.0/dbus/dbus-signature.h: - -/usr/include/dbus-1.0/dbus/dbus-syntax.h: - -/usr/include/dbus-1.0/dbus/dbus-threads.h: - -src/device.h: - -src/log.h: - -src/storage.h: - -src/textfile.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/plugins/.deps/plugins_external_dummy_la-external-dummy.Plo b/GRIB_BLE_HUB/libs/ble_extend/plugins/.deps/plugins_external_dummy_la-external-dummy.Plo deleted file mode 100644 index 9ce06a8..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/plugins/.deps/plugins_external_dummy_la-external-dummy.Plo +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/GRIB_BLE_HUB/libs/ble_extend/plugins/.dirstamp b/GRIB_BLE_HUB/libs/ble_extend/plugins/.dirstamp deleted file mode 100644 index e69de29..0000000 diff --git a/GRIB_BLE_HUB/libs/ble_extend/plugins/external-dummy.c b/GRIB_BLE_HUB/libs/ble_extend/plugins/external-dummy.c deleted file mode 100644 index ff31290..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/plugins/external-dummy.c +++ /dev/null @@ -1,41 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include "plugin.h" -#include "log.h" - -static int dummy_init(void) -{ - DBG(""); - - return 0; -} - -static void dummy_exit(void) -{ - DBG(""); -} - -BLUETOOTH_PLUGIN_DEFINE(external_dummy, VERSION, - BLUETOOTH_PLUGIN_PRIORITY_LOW, dummy_init, dummy_exit) diff --git a/GRIB_BLE_HUB/libs/ble_extend/plugins/gatt-example.c b/GRIB_BLE_HUB/libs/ble_extend/plugins/gatt-example.c deleted file mode 100644 index bd0fbff..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/plugins/gatt-example.c +++ /dev/null @@ -1,575 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2010 Nokia Corporation - * Copyright (C) 2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include -#include - -#include "lib/uuid.h" -#include "plugin.h" -#include "hcid.h" -#include "log.h" -#include "attrib/gattrib.h" -#include "attrib/gatt-service.h" -#include "attrib/att.h" -#include "attrib/gatt.h" -#include "attrib/att-database.h" -#include "attrib-server.h" - -/* FIXME: Not defined by SIG? UUID128? */ -#define OPCODES_SUPPORTED_UUID 0xA001 -#define BATTERY_STATE_SVC_UUID 0xA002 -#define BATTERY_STATE_UUID 0xA003 -#define THERM_HUMIDITY_SVC_UUID 0xA004 -#define MANUFACTURER_SVC_UUID 0xA005 -#define TEMPERATURE_UUID 0xA006 -#define FMT_CELSIUS_UUID 0xA007 -#define FMT_OUTSIDE_UUID 0xA008 -#define RELATIVE_HUMIDITY_UUID 0xA009 -#define FMT_PERCENT_UUID 0xA00A -#define BLUETOOTH_SIG_UUID 0xA00B -#define MANUFACTURER_NAME_UUID 0xA00C -#define MANUFACTURER_SERIAL_UUID 0xA00D -#define VENDOR_SPECIFIC_SVC_UUID 0xA00E -#define VENDOR_SPECIFIC_TYPE_UUID 0xA00F -#define FMT_KILOGRAM_UUID 0xA010 -#define FMT_HANGING_UUID 0xA011 - -struct gatt_example_adapter { - struct btd_adapter *adapter; - GSList *sdp_handles; -}; - -static GSList *adapters = NULL; - -static void gatt_example_adapter_free(struct gatt_example_adapter *gadapter) -{ - while (gadapter->sdp_handles != NULL) { - uint32_t handle = GPOINTER_TO_UINT(gadapter->sdp_handles->data); - - attrib_free_sdp(handle); - gadapter->sdp_handles = g_slist_remove(gadapter->sdp_handles, - gadapter->sdp_handles->data); - } - - if (gadapter->adapter != NULL) - btd_adapter_unref(gadapter->adapter); - - g_free(gadapter); -} - -static gint adapter_cmp(gconstpointer a, gconstpointer b) -{ - const struct gatt_example_adapter *gatt_adapter = a; - const struct btd_adapter *adapter = b; - - if (gatt_adapter->adapter == adapter) - return 0; - - return -1; -} - -static uint8_t battery_state_read(struct attribute *a, - struct btd_device *device, gpointer user_data) -{ - struct btd_adapter *adapter = user_data; - uint8_t value; - - value = 0x04; - attrib_db_update(adapter, a->handle, NULL, &value, sizeof(value), NULL); - - return 0; -} - -static gboolean register_battery_service(struct btd_adapter *adapter) -{ - bt_uuid_t uuid; - - bt_uuid16_create(&uuid, BATTERY_STATE_SVC_UUID); - - return gatt_service_add(adapter, GATT_PRIM_SVC_UUID, &uuid, - /* battery state characteristic */ - GATT_OPT_CHR_UUID, BATTERY_STATE_UUID, - GATT_OPT_CHR_PROPS, ATT_CHAR_PROPER_READ | - ATT_CHAR_PROPER_NOTIFY, - GATT_OPT_CHR_VALUE_CB, ATTRIB_READ, - battery_state_read, adapter, - - GATT_OPT_INVALID); -} - -static void register_termometer_service(struct gatt_example_adapter *adapter, - const uint16_t manuf1[2], const uint16_t manuf2[2]) -{ - const char *desc_out_temp = "Outside Temperature"; - const char *desc_out_hum = "Outside Relative Humidity"; - uint16_t start_handle, h; - const int svc_size = 11; - uint32_t sdp_handle; - uint8_t atval[256]; - bt_uuid_t uuid; - int len; - - bt_uuid16_create(&uuid, THERM_HUMIDITY_SVC_UUID); - start_handle = attrib_db_find_avail(adapter->adapter, &uuid, svc_size); - if (start_handle == 0) { - error("Not enough free handles to register service"); - return; - } - - DBG("start_handle=0x%04x manuf1=0x%04x-0x%04x, manuf2=0x%04x-0x%04x", - start_handle, manuf1[0], manuf1[1], manuf2[0], manuf2[1]); - - h = start_handle; - - /* Thermometer: primary service definition */ - bt_uuid16_create(&uuid, GATT_PRIM_SVC_UUID); - att_put_u16(THERM_HUMIDITY_SVC_UUID, &atval[0]); - attrib_db_add(adapter->adapter, h++, &uuid, ATT_NONE, ATT_NOT_PERMITTED, - atval, 2); - - bt_uuid16_create(&uuid, GATT_INCLUDE_UUID); - - /* Thermometer: Include */ - if (manuf1[0] && manuf1[1]) { - att_put_u16(manuf1[0], &atval[0]); - att_put_u16(manuf1[1], &atval[2]); - att_put_u16(MANUFACTURER_SVC_UUID, &atval[4]); - attrib_db_add(adapter->adapter, h++, &uuid, ATT_NONE, - ATT_NOT_PERMITTED, atval, 6); - } - - /* Thermometer: Include */ - if (manuf2[0] && manuf2[1]) { - att_put_u16(manuf2[0], &atval[0]); - att_put_u16(manuf2[1], &atval[2]); - att_put_u16(VENDOR_SPECIFIC_SVC_UUID, &atval[4]); - attrib_db_add(adapter->adapter, h++, &uuid, ATT_NONE, - ATT_NOT_PERMITTED, atval, 6); - } - - /* Thermometer: temperature characteristic */ - bt_uuid16_create(&uuid, GATT_CHARAC_UUID); - atval[0] = ATT_CHAR_PROPER_READ; - att_put_u16(h + 1, &atval[1]); - att_put_u16(TEMPERATURE_UUID, &atval[3]); - attrib_db_add(adapter->adapter, h++, &uuid, ATT_NONE, ATT_NOT_PERMITTED, - atval, 5); - - /* Thermometer: temperature characteristic value */ - bt_uuid16_create(&uuid, TEMPERATURE_UUID); - atval[0] = 0x8A; - atval[1] = 0x02; - attrib_db_add(adapter->adapter, h++, &uuid, ATT_NONE, ATT_NOT_PERMITTED, - atval, 2); - - /* Thermometer: temperature characteristic format */ - bt_uuid16_create(&uuid, GATT_CHARAC_FMT_UUID); - atval[0] = 0x0E; - atval[1] = 0xFE; - att_put_u16(FMT_CELSIUS_UUID, &atval[2]); - atval[4] = 0x01; - att_put_u16(FMT_OUTSIDE_UUID, &atval[5]); - attrib_db_add(adapter->adapter, h++, &uuid, ATT_NONE, ATT_NOT_PERMITTED, - atval, 7); - - /* Thermometer: characteristic user description */ - bt_uuid16_create(&uuid, GATT_CHARAC_USER_DESC_UUID); - len = strlen(desc_out_temp); - strncpy((char *) atval, desc_out_temp, len); - attrib_db_add(adapter->adapter, h++, &uuid, ATT_NONE, ATT_NOT_PERMITTED, - atval, len); - - /* Thermometer: relative humidity characteristic */ - bt_uuid16_create(&uuid, GATT_CHARAC_UUID); - atval[0] = ATT_CHAR_PROPER_READ; - att_put_u16(h + 1, &atval[1]); - att_put_u16(RELATIVE_HUMIDITY_UUID, &atval[3]); - attrib_db_add(adapter->adapter, h++, &uuid, ATT_NONE, ATT_NOT_PERMITTED, - atval, 5); - - /* Thermometer: relative humidity value */ - bt_uuid16_create(&uuid, RELATIVE_HUMIDITY_UUID); - atval[0] = 0x27; - attrib_db_add(adapter->adapter, h++, &uuid, ATT_NONE, ATT_NOT_PERMITTED, - atval, 1); - - /* Thermometer: relative humidity characteristic format */ - bt_uuid16_create(&uuid, GATT_CHARAC_FMT_UUID); - atval[0] = 0x04; - atval[1] = 0x00; - att_put_u16(FMT_PERCENT_UUID, &atval[2]); - att_put_u16(BLUETOOTH_SIG_UUID, &atval[4]); - att_put_u16(FMT_OUTSIDE_UUID, &atval[6]); - attrib_db_add(adapter->adapter, h++, &uuid, ATT_NONE, ATT_NOT_PERMITTED, - atval, 8); - - /* Thermometer: characteristic user description */ - bt_uuid16_create(&uuid, GATT_CHARAC_USER_DESC_UUID); - len = strlen(desc_out_hum); - strncpy((char *) atval, desc_out_hum, len); - attrib_db_add(adapter->adapter, h, &uuid, ATT_NONE, ATT_NOT_PERMITTED, - atval, len); - - g_assert(h - start_handle + 1 == svc_size); - - /* Add an SDP record for the above service */ - sdp_handle = attrib_create_sdp(adapter->adapter, start_handle, - "Thermometer"); - if (sdp_handle) - adapter->sdp_handles = g_slist_prepend(adapter->sdp_handles, - GUINT_TO_POINTER(sdp_handle)); -} - -static void register_manuf1_service(struct gatt_example_adapter *adapter, - uint16_t range[2]) -{ - const char *manufacturer_name1 = "ACME Temperature Sensor"; - const char *serial1 = "237495-3282-A"; - uint16_t start_handle, h; - const int svc_size = 5; - uint8_t atval[256]; - bt_uuid_t uuid; - int len; - - bt_uuid16_create(&uuid, MANUFACTURER_SVC_UUID); - start_handle = attrib_db_find_avail(adapter->adapter, &uuid, svc_size); - if (start_handle == 0) { - error("Not enough free handles to register service"); - return; - } - - DBG("start_handle=0x%04x", start_handle); - - h = start_handle; - - /* Secondary Service: Manufacturer Service */ - bt_uuid16_create(&uuid, GATT_SND_SVC_UUID); - att_put_u16(MANUFACTURER_SVC_UUID, &atval[0]); - attrib_db_add(adapter->adapter, h++, &uuid, ATT_NONE, ATT_NOT_PERMITTED, - atval, 2); - - /* Manufacturer name characteristic definition */ - bt_uuid16_create(&uuid, GATT_CHARAC_UUID); - atval[0] = ATT_CHAR_PROPER_READ; - att_put_u16(h + 1, &atval[1]); - att_put_u16(MANUFACTURER_NAME_UUID, &atval[3]); - attrib_db_add(adapter->adapter, h++, &uuid, ATT_NONE, ATT_NOT_PERMITTED, - atval, 5); - - /* Manufacturer name characteristic value */ - bt_uuid16_create(&uuid, MANUFACTURER_NAME_UUID); - len = strlen(manufacturer_name1); - strncpy((char *) atval, manufacturer_name1, len); - attrib_db_add(adapter->adapter, h++, &uuid, ATT_NONE, ATT_NOT_PERMITTED, - atval, len); - - /* Manufacturer serial number characteristic */ - bt_uuid16_create(&uuid, GATT_CHARAC_UUID); - atval[0] = ATT_CHAR_PROPER_READ; - att_put_u16(h + 1, &atval[1]); - att_put_u16(MANUFACTURER_SERIAL_UUID, &atval[3]); - attrib_db_add(adapter->adapter, h++, &uuid, ATT_NONE, ATT_NOT_PERMITTED, - atval, 5); - - /* Manufacturer serial number characteristic value */ - bt_uuid16_create(&uuid, MANUFACTURER_SERIAL_UUID); - len = strlen(serial1); - strncpy((char *) atval, serial1, len); - attrib_db_add(adapter->adapter, h, &uuid, ATT_NONE, ATT_NOT_PERMITTED, - atval, len); - - g_assert(h - start_handle + 1 == svc_size); - - range[0] = start_handle; - range[1] = start_handle + svc_size - 1; -} - -static void register_manuf2_service(struct gatt_example_adapter *adapter, - uint16_t range[2]) -{ - const char *manufacturer_name2 = "ACME Weighing Scales"; - const char *serial2 = "11267-2327A00239"; - uint16_t start_handle, h; - const int svc_size = 5; - uint8_t atval[256]; - bt_uuid_t uuid; - int len; - - bt_uuid16_create(&uuid, MANUFACTURER_SVC_UUID); - start_handle = attrib_db_find_avail(adapter->adapter, &uuid, svc_size); - if (start_handle == 0) { - error("Not enough free handles to register service"); - return; - } - - DBG("start_handle=0x%04x", start_handle); - - h = start_handle; - - /* Secondary Service: Manufacturer Service */ - bt_uuid16_create(&uuid, GATT_SND_SVC_UUID); - att_put_u16(MANUFACTURER_SVC_UUID, &atval[0]); - attrib_db_add(adapter->adapter, h++, &uuid, ATT_NONE, ATT_NOT_PERMITTED, - atval, 2); - - /* Manufacturer name characteristic definition */ - bt_uuid16_create(&uuid, GATT_CHARAC_UUID); - atval[0] = ATT_CHAR_PROPER_READ; - att_put_u16(h + 1, &atval[1]); - att_put_u16(MANUFACTURER_NAME_UUID, &atval[3]); - attrib_db_add(adapter->adapter, h++, &uuid, ATT_NONE, ATT_NOT_PERMITTED, - atval, 5); - - /* Manufacturer name attribute */ - bt_uuid16_create(&uuid, MANUFACTURER_NAME_UUID); - len = strlen(manufacturer_name2); - strncpy((char *) atval, manufacturer_name2, len); - attrib_db_add(adapter->adapter, h++, &uuid, ATT_NONE, ATT_NOT_PERMITTED, - atval, len); - - /* Characteristic: serial number */ - bt_uuid16_create(&uuid, GATT_CHARAC_UUID); - atval[0] = ATT_CHAR_PROPER_READ; - att_put_u16(h + 1, &atval[1]); - att_put_u16(MANUFACTURER_SERIAL_UUID, &atval[3]); - attrib_db_add(adapter->adapter, h++, &uuid, ATT_NONE, ATT_NOT_PERMITTED, - atval, 5); - - /* Serial number characteristic value */ - bt_uuid16_create(&uuid, MANUFACTURER_SERIAL_UUID); - len = strlen(serial2); - strncpy((char *) atval, serial2, len); - attrib_db_add(adapter->adapter, h, &uuid, ATT_NONE, ATT_NOT_PERMITTED, - atval, len); - - g_assert(h - start_handle + 1 == svc_size); - - range[0] = start_handle; - range[1] = start_handle + svc_size - 1; -} - -static void register_vendor_service(struct gatt_example_adapter *adapter, - uint16_t range[2]) -{ - uint16_t start_handle, h; - const int svc_size = 3; - uint8_t atval[256]; - bt_uuid_t uuid; - - bt_uuid16_create(&uuid, VENDOR_SPECIFIC_SVC_UUID); - start_handle = attrib_db_find_avail(adapter->adapter, &uuid, svc_size); - if (start_handle == 0) { - error("Not enough free handles to register service"); - return; - } - - DBG("start_handle=0x%04x", start_handle); - - h = start_handle; - - /* Secondary Service: Vendor Specific Service */ - bt_uuid16_create(&uuid, GATT_SND_SVC_UUID); - att_put_u16(VENDOR_SPECIFIC_SVC_UUID, &atval[0]); - attrib_db_add(adapter->adapter, h++, &uuid, ATT_NONE, ATT_NOT_PERMITTED, - atval, 2); - - /* Vendor Specific Type characteristic definition */ - bt_uuid16_create(&uuid, GATT_CHARAC_UUID); - atval[0] = ATT_CHAR_PROPER_READ; - att_put_u16(h + 1, &atval[1]); - att_put_u16(VENDOR_SPECIFIC_TYPE_UUID, &atval[3]); - attrib_db_add(adapter->adapter, h++, &uuid, ATT_NONE, ATT_NOT_PERMITTED, - atval, 5); - - /* Vendor Specific Type characteristic value */ - bt_uuid16_create(&uuid, VENDOR_SPECIFIC_TYPE_UUID); - atval[0] = 0x56; - atval[1] = 0x65; - atval[2] = 0x6E; - atval[3] = 0x64; - atval[4] = 0x6F; - atval[5] = 0x72; - attrib_db_add(adapter->adapter, h, &uuid, ATT_NONE, ATT_NOT_PERMITTED, - atval, 6); - - g_assert(h - start_handle + 1 == svc_size); - - range[0] = start_handle; - range[1] = start_handle + svc_size - 1; -} - -static void register_weight_service(struct gatt_example_adapter *adapter, - const uint16_t vendor[2]) -{ - const char *desc_weight = "Rucksack Weight"; - const uint128_t char_weight_uuid_btorder = { - .data = { 0x80, 0x88, 0xF2, 0x18, 0x90, 0x2C, 0x45, 0x0B, - 0xB6, 0xC4, 0x62, 0x89, 0x1E, 0x8C, 0x25, 0xE9 } }; - const uint128_t prim_weight_uuid_btorder = { - .data = { 0x4F, 0x0A, 0xC0, 0x96, 0x35, 0xD4, 0x49, 0x11, - 0x96, 0x31, 0xDE, 0xA8, 0xDC, 0x74, 0xEE, 0xFE } }; - uint128_t prim_weight_uuid, char_weight_uuid; - uint16_t start_handle, h; - const int svc_size = 6; - uint32_t sdp_handle; - uint8_t atval[256]; - bt_uuid_t uuid; - int len; - - btoh128(&char_weight_uuid_btorder, &char_weight_uuid); - btoh128(&prim_weight_uuid_btorder, &prim_weight_uuid); - bt_uuid128_create(&uuid, prim_weight_uuid); - start_handle = attrib_db_find_avail(adapter->adapter, &uuid, svc_size); - if (start_handle == 0) { - error("Not enough free handles to register service"); - return; - } - - DBG("start_handle=0x%04x, vendor=0x%04x-0x%04x", start_handle, - vendor[0], vendor[1]); - - h = start_handle; - - /* Weight service: primary service definition */ - bt_uuid16_create(&uuid, GATT_PRIM_SVC_UUID); - memcpy(atval, &prim_weight_uuid_btorder, 16); - attrib_db_add(adapter->adapter, h++, &uuid, ATT_NONE, ATT_NOT_PERMITTED, - atval, 16); - - if (vendor[0] && vendor[1]) { - /* Weight: include */ - bt_uuid16_create(&uuid, GATT_INCLUDE_UUID); - att_put_u16(vendor[0], &atval[0]); - att_put_u16(vendor[1], &atval[2]); - att_put_u16(MANUFACTURER_SVC_UUID, &atval[4]); - attrib_db_add(adapter->adapter, h++, &uuid, ATT_NONE, - ATT_NOT_PERMITTED, atval, 6); - } - - /* Weight: characteristic */ - bt_uuid16_create(&uuid, GATT_CHARAC_UUID); - atval[0] = ATT_CHAR_PROPER_READ; - att_put_u16(h + 1, &atval[1]); - memcpy(&atval[3], &char_weight_uuid_btorder, 16); - attrib_db_add(adapter->adapter, h++, &uuid, ATT_NONE, ATT_NOT_PERMITTED, - atval, 19); - - /* Weight: characteristic value */ - bt_uuid128_create(&uuid, char_weight_uuid); - atval[0] = 0x82; - atval[1] = 0x55; - atval[2] = 0x00; - atval[3] = 0x00; - attrib_db_add(adapter->adapter, h++, &uuid, ATT_NONE, ATT_NOT_PERMITTED, - atval, 4); - - /* Weight: characteristic format */ - bt_uuid16_create(&uuid, GATT_CHARAC_FMT_UUID); - atval[0] = 0x08; - atval[1] = 0xFD; - att_put_u16(FMT_KILOGRAM_UUID, &atval[2]); - att_put_u16(BLUETOOTH_SIG_UUID, &atval[4]); - att_put_u16(FMT_HANGING_UUID, &atval[6]); - attrib_db_add(adapter->adapter, h++, &uuid, ATT_NONE, ATT_NOT_PERMITTED, - atval, 8); - - /* Weight: characteristic user description */ - bt_uuid16_create(&uuid, GATT_CHARAC_USER_DESC_UUID); - len = strlen(desc_weight); - strncpy((char *) atval, desc_weight, len); - attrib_db_add(adapter->adapter, h, &uuid, ATT_NONE, ATT_NOT_PERMITTED, - atval, len); - g_assert(h - start_handle + 1 == svc_size); - - /* Add an SDP record for the above service */ - sdp_handle = attrib_create_sdp(adapter->adapter, start_handle, - "Weight Service"); - if (sdp_handle) - adapter->sdp_handles = g_slist_prepend(adapter->sdp_handles, - GUINT_TO_POINTER(sdp_handle)); -} - -static int gatt_example_adapter_probe(struct btd_adapter *adapter) -{ - uint16_t manuf1_range[2] = {0, 0}, manuf2_range[2] = {0, 0}; - uint16_t vendor_range[2] = {0, 0}; - struct gatt_example_adapter *gadapter; - - gadapter = g_new0(struct gatt_example_adapter, 1); - gadapter->adapter = btd_adapter_ref(adapter); - - if (!register_battery_service(adapter)) { - DBG("Battery service could not be registered"); - gatt_example_adapter_free(gadapter); - return -EIO; - } - - register_manuf1_service(gadapter, manuf1_range); - register_manuf2_service(gadapter, manuf2_range); - register_termometer_service(gadapter, manuf1_range, manuf2_range); - register_vendor_service(gadapter, vendor_range); - register_weight_service(gadapter, vendor_range); - - adapters = g_slist_append(adapters, gadapter); - - return 0; -} - -static void gatt_example_adapter_remove(struct btd_adapter *adapter) -{ - struct gatt_example_adapter *gadapter; - GSList *l; - - l = g_slist_find_custom(adapters, adapter, adapter_cmp); - if (l == NULL) - return; - - gadapter = l->data; - adapters = g_slist_remove(adapters, gadapter); - gatt_example_adapter_free(gadapter); -} - -static struct btd_adapter_driver gatt_example_adapter_driver = { - .name = "gatt-example-adapter-driver", - .probe = gatt_example_adapter_probe, - .remove = gatt_example_adapter_remove, -}; - -static int gatt_example_init(void) -{ - return btd_register_adapter_driver(&gatt_example_adapter_driver); -} - -static void gatt_example_exit(void) -{ - btd_unregister_adapter_driver(&gatt_example_adapter_driver); -} - -BLUETOOTH_PLUGIN_DEFINE(gatt_example, VERSION, BLUETOOTH_PLUGIN_PRIORITY_LOW, - gatt_example_init, gatt_example_exit) diff --git a/GRIB_BLE_HUB/libs/ble_extend/plugins/hostname.c b/GRIB_BLE_HUB/libs/ble_extend/plugins/hostname.c deleted file mode 100644 index 92a71e0..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/plugins/hostname.c +++ /dev/null @@ -1,323 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2004-2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include -#include -#include - -#include "dbus-common.h" -#include "plugin.h" -#include "adapter.h" -#include "log.h" - -/* http://www.bluetooth.org/Technical/AssignedNumbers/baseband.htm */ - -#define MAJOR_CLASS_MISCELLANEOUS 0x00 -#define MAJOR_CLASS_COMPUTER 0x01 - -#define MINOR_CLASS_UNCATEGORIZED 0x00 -#define MINOR_CLASS_DESKTOP 0x01 -#define MINOR_CLASS_SERVER 0x02 -#define MINOR_CLASS_LAPTOP 0x03 -#define MINOR_CLASS_HANDHELD 0x04 -#define MINOR_CLASS_PALM_SIZED 0x05 -#define MINOR_CLASS_WEARABLE 0x06 -#define MINOR_CLASS_TABLET 0x07 - -static uint8_t major_class = MAJOR_CLASS_MISCELLANEOUS; -static uint8_t minor_class = MINOR_CLASS_UNCATEGORIZED; - -static char *pretty_hostname = NULL; -static char *static_hostname = NULL; - -/* - * Fallback to static hostname only if empty pretty hostname was already - * received. - */ -static const char *get_hostname(void) -{ - if (pretty_hostname) { - if (g_str_equal(pretty_hostname, "") == FALSE) - return pretty_hostname; - - if (static_hostname && - g_str_equal(static_hostname, "") == FALSE) - return static_hostname; - } - - return NULL; -} - -static void update_name(struct btd_adapter *adapter, gpointer user_data) -{ - const char *hostname = get_hostname(); - - if (hostname == NULL) - return; - - if (btd_adapter_is_default(adapter)) { - DBG("name: %s", hostname); - - adapter_set_name(adapter, hostname); - } else { - uint16_t index = btd_adapter_get_index(adapter); - char *str; - - /* Avoid "some device #0" names, start at #1 */ - str = g_strdup_printf("%s #%u", hostname, index + 1); - - DBG("name: %s", str); - - adapter_set_name(adapter, str); - - g_free(str); - } -} - -static void update_class(struct btd_adapter *adapter, gpointer user_data) -{ - if (major_class == MAJOR_CLASS_MISCELLANEOUS) - return; - - DBG("major: 0x%02x minor: 0x%02x", major_class, minor_class); - - btd_adapter_set_class(adapter, major_class, minor_class); -} - -static const struct { - const char *chassis; - uint8_t major_class; - uint8_t minor_class; -} chassis_table[] = { - { "desktop", MAJOR_CLASS_COMPUTER, MINOR_CLASS_DESKTOP }, - { "server", MAJOR_CLASS_COMPUTER, MINOR_CLASS_SERVER }, - { "laptop", MAJOR_CLASS_COMPUTER, MINOR_CLASS_LAPTOP }, - { "handset", MAJOR_CLASS_COMPUTER, MINOR_CLASS_HANDHELD }, - { "tablet", MAJOR_CLASS_COMPUTER, MINOR_CLASS_TABLET }, - { } -}; - -static void property_changed(GDBusProxy *proxy, const char *name, - DBusMessageIter *iter, void *user_data) -{ - if (g_str_equal(name, "PrettyHostname") == TRUE) { - if (iter == NULL) { - g_dbus_proxy_refresh_property(proxy, name); - return; - } - - if (dbus_message_iter_get_arg_type(iter) == DBUS_TYPE_STRING) { - const char *str; - - dbus_message_iter_get_basic(iter, &str); - - DBG("pretty hostname: %s", str); - - g_free(pretty_hostname); - pretty_hostname = g_strdup(str); - - adapter_foreach(update_name, NULL); - } - } else if (g_str_equal(name, "StaticHostname") == TRUE) { - if (iter == NULL) { - g_dbus_proxy_refresh_property(proxy, name); - return; - } - - if (dbus_message_iter_get_arg_type(iter) == DBUS_TYPE_STRING) { - const char *str; - - dbus_message_iter_get_basic(iter, &str); - - DBG("static hostname: %s", str); - - g_free(static_hostname); - static_hostname = g_strdup(str); - - adapter_foreach(update_name, NULL); - } - } else if (g_str_equal(name, "Chassis") == TRUE) { - if (iter == NULL) { - g_dbus_proxy_refresh_property(proxy, name); - return; - } - - if (dbus_message_iter_get_arg_type(iter) == DBUS_TYPE_STRING) { - const char *str; - int i; - - dbus_message_iter_get_basic(iter, &str); - - DBG("chassis: %s", str); - - for (i = 0; chassis_table[i].chassis; i++) { - if (strcmp(chassis_table[i].chassis, str)) - continue; - - major_class = chassis_table[i].major_class; - minor_class = chassis_table[i].minor_class; - - adapter_foreach(update_class, NULL); - break; - } - } - } -} - -static int hostname_probe(struct btd_adapter *adapter) -{ - DBG(""); - - update_name(adapter, NULL); - update_class(adapter, NULL); - - return 0; -} - -static void hostname_remove(struct btd_adapter *adapter) -{ - DBG(""); -} - -static struct btd_adapter_driver hostname_driver = { - .name = "hostname", - .probe = hostname_probe, - .remove = hostname_remove, -}; - -static void read_dmi_fallback(void) -{ - char *contents; - int i, type; - const char *str; - - if (g_file_get_contents("/sys/class/dmi/id/chassis_type", - &contents, NULL, NULL) == FALSE) - return; - - type = atoi(contents); - if (type < 0 || type > 0x1D) - return; - - g_free(contents); - - /* from systemd hostname chassis list */ - switch (type) { - case 0x3: - case 0x4: - case 0x6: - case 0x7: - str = "desktop"; - break; - case 0x8: - case 0x9: - case 0xA: - case 0xE: - str = "laptop"; - break; - case 0xB: - str = "handset"; - break; - case 0x11: - case 0x1C: - str = "server"; - break; - default: - return; - } - - DBG("chassis: %s", str); - - for (i = 0; chassis_table[i].chassis; i++) { - if (!strcmp(chassis_table[i].chassis, str)) { - major_class = chassis_table[i].major_class; - minor_class = chassis_table[i].minor_class; - break; - } - } - - DBG("major: 0x%02x minor: 0x%02x", major_class, minor_class); -} - -static GDBusClient *hostname_client = NULL; -static GDBusProxy *hostname_proxy = NULL; - -static int hostname_init(void) -{ - DBusConnection *conn = btd_get_dbus_connection(); - int err; - - read_dmi_fallback(); - - hostname_client = g_dbus_client_new(conn, "org.freedesktop.hostname1", - "/org/freedesktop/hostname1"); - if (!hostname_client) - return -EIO; - - hostname_proxy = g_dbus_proxy_new(hostname_client, - "/org/freedesktop/hostname1", - "org.freedesktop.hostname1"); - if (!hostname_proxy) { - g_dbus_client_unref(hostname_client); - hostname_client = NULL; - return -EIO; - } - - g_dbus_proxy_set_property_watch(hostname_proxy, property_changed, NULL); - - err = btd_register_adapter_driver(&hostname_driver); - if (err < 0) { - g_dbus_proxy_unref(hostname_proxy); - hostname_proxy = NULL; - g_dbus_client_unref(hostname_client); - hostname_client = NULL; - } - - return err; -} - -static void hostname_exit(void) -{ - btd_unregister_adapter_driver(&hostname_driver); - - if (hostname_proxy) { - g_dbus_proxy_unref(hostname_proxy); - hostname_proxy = NULL; - } - - if (hostname_client) { - g_dbus_client_unref(hostname_client); - hostname_client = NULL; - } - - g_free(pretty_hostname); - g_free(static_hostname); -} - -BLUETOOTH_PLUGIN_DEFINE(hostname, VERSION, BLUETOOTH_PLUGIN_PRIORITY_DEFAULT, - hostname_init, hostname_exit) diff --git a/GRIB_BLE_HUB/libs/ble_extend/plugins/neard.c b/GRIB_BLE_HUB/libs/ble_extend/plugins/neard.c deleted file mode 100644 index c60c076..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/plugins/neard.c +++ /dev/null @@ -1,903 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2012-2013 Tieto Poland - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include - -#include -#include -#include - -#include "plugin.h" -#include "log.h" -#include "dbus-common.h" -#include "adapter.h" -#include "device.h" -#include "eir.h" -#include "agent.h" -#include "hcid.h" - -#define NEARD_NAME "org.neard" -#define NEARD_PATH "/" -#define NEARD_MANAGER_INTERFACE "org.neard.Manager" -#define AGENT_INTERFACE "org.neard.HandoverAgent" -#define AGENT_PATH "/org/bluez/neard_handover_agent" -#define AGENT_CARRIER_TYPE "bluetooth" -#define ERROR_INTERFACE "org.neard.HandoverAgent.Error" - -static guint watcher_id = 0; -static char *neard_service = NULL; -static bool agent_register_postpone = false; - -/* For NFC mimetype limits max OOB EIR size */ -#define NFC_OOB_EIR_MAX UINT8_MAX - -enum cps { - CPS_ACTIVE, - CPS_INACTIVE, - CPS_ACTIVATING, - CPS_UNKNOWN, -}; - -struct oob_params { - bdaddr_t address; - uint32_t class; - char *name; - GSList *services; - uint8_t *hash; - uint8_t *randomizer; - uint8_t *pin; - int pin_len; - enum cps power_state; -}; - -static void free_oob_params(struct oob_params *params) -{ - g_slist_free_full(params->services, g_free); - g_free(params->name); - g_free(params->hash); - g_free(params->randomizer); - g_free(params->pin); -} - -static DBusMessage *error_reply(DBusMessage *msg, int error) -{ - const char *name; - - if (error == EINPROGRESS) - name = ERROR_INTERFACE ".InProgress"; - else - name = ERROR_INTERFACE ".Failed"; - - return g_dbus_create_error(msg, name , "%s", strerror(error)); -} - -static void register_agent(bool append_carrier); - -static void register_agent_cb(DBusPendingCall *call, void *user_data) -{ - DBusMessage *reply; - DBusError err; - static bool try_fallback = true; - - reply = dbus_pending_call_steal_reply(call); - - dbus_error_init(&err); - if (dbus_set_error_from_message(&err, reply)) { - if (g_str_equal(DBUS_ERROR_UNKNOWN_METHOD, err.name) && - try_fallback) { - DBG("Register to neard failed, trying legacy way"); - - register_agent(false); - try_fallback = false; - } else { - error("neard manager replied with an error: %s, %s", - err.name, err.message); - - g_dbus_unregister_interface(btd_get_dbus_connection(), - AGENT_PATH, AGENT_INTERFACE); - try_fallback = true; - } - - dbus_error_free(&err); - dbus_message_unref(reply); - - return; - } - - dbus_message_unref(reply); - neard_service = g_strdup(dbus_message_get_sender(reply)); - - try_fallback = true; - - info("Registered as neard handover agent"); -} - -static void register_agent(bool append_carrier) -{ - DBusMessage *message; - DBusPendingCall *call; - const char *path = AGENT_PATH; - const char *carrier = AGENT_CARRIER_TYPE; - - message = dbus_message_new_method_call(NEARD_NAME, NEARD_PATH, - NEARD_MANAGER_INTERFACE, "RegisterHandoverAgent"); - if (!message) { - error("Couldn't allocate D-Bus message"); - return; - } - - dbus_message_append_args(message, DBUS_TYPE_OBJECT_PATH, &path, - DBUS_TYPE_INVALID); - - if (append_carrier) - dbus_message_append_args(message, DBUS_TYPE_STRING, &carrier, - DBUS_TYPE_INVALID); - - if (!dbus_connection_send_with_reply(btd_get_dbus_connection(), - message, &call, -1)) { - dbus_message_unref(message); - error("D-Bus send failed"); - return; - } - - dbus_pending_call_set_notify(call, register_agent_cb, NULL, NULL); - dbus_pending_call_unref(call); - - dbus_message_unref(message); -} - -static void unregister_agent(void) -{ - DBusMessage *message; - const char *path = AGENT_PATH; - const char *carrier = AGENT_CARRIER_TYPE; - - g_free(neard_service); - neard_service = NULL; - - message = dbus_message_new_method_call(NEARD_NAME, NEARD_PATH, - NEARD_MANAGER_INTERFACE, "UnregisterHandoverAgent"); - - if (!message) { - error("Couldn't allocate D-Bus message"); - goto unregister; - } - - dbus_message_append_args(message, DBUS_TYPE_OBJECT_PATH, &path, - DBUS_TYPE_INVALID); - - dbus_message_append_args(message, DBUS_TYPE_STRING, &carrier, - DBUS_TYPE_INVALID); - - if (!g_dbus_send_message(btd_get_dbus_connection(), message)) - error("D-Bus send failed"); - -unregister: - g_dbus_unregister_interface(btd_get_dbus_connection(), AGENT_PATH, - AGENT_INTERFACE); -} - -static void add_power_state(DBusMessageIter *dict, struct btd_adapter *adapter) -{ - const char *state; - - if (btd_adapter_get_powered(adapter) && - btd_adapter_get_connectable(adapter)) - state = "active"; - else - state = "inactive"; - - dict_append_entry(dict, "State", DBUS_TYPE_STRING, &state); -} - -static DBusMessage *create_request_oob_reply(struct btd_adapter *adapter, - const uint8_t *hash, - const uint8_t *randomizer, - DBusMessage *msg) -{ - DBusMessage *reply; - DBusMessageIter iter; - DBusMessageIter dict; - uint8_t eir[NFC_OOB_EIR_MAX]; - uint8_t *peir = eir; - int len; - - len = eir_create_oob(adapter_get_address(adapter), - btd_adapter_get_name(adapter), - btd_adapter_get_class(adapter), hash, - randomizer, main_opts.did_vendor, - main_opts.did_product, main_opts.did_version, - main_opts.did_source, - btd_adapter_get_services(adapter), eir); - - reply = dbus_message_new_method_return(msg); - if (!reply) - return NULL; - - dbus_message_iter_init_append(reply, &iter); - - dbus_message_iter_open_container(&iter, DBUS_TYPE_ARRAY, - DBUS_DICT_ENTRY_BEGIN_CHAR_AS_STRING - DBUS_TYPE_STRING_AS_STRING - DBUS_TYPE_VARIANT_AS_STRING - DBUS_DICT_ENTRY_END_CHAR_AS_STRING, - &dict); - - dict_append_array(&dict, "EIR", DBUS_TYPE_BYTE, &peir, len); - - add_power_state(&dict, adapter); - - dbus_message_iter_close_container(&iter, &dict); - - return reply; -} - -static void read_local_complete(struct btd_adapter *adapter, - const uint8_t *hash, const uint8_t *randomizer, - void *user_data) -{ - DBusMessage *msg = user_data; - DBusMessage *reply; - - DBG(""); - - if (neard_service == NULL) { - dbus_message_unref(msg); - - if (agent_register_postpone) { - agent_register_postpone = false; - register_agent(true); - } - - return; - } - - if (hash && randomizer) - reply = create_request_oob_reply(adapter, hash, randomizer, - msg); - else - reply = error_reply(msg, EIO); - - dbus_message_unref(msg); - - if (!g_dbus_send_message(btd_get_dbus_connection(), reply)) - error("D-Bus send failed"); -} - -static void bonding_complete(struct btd_adapter *adapter, - const bdaddr_t *bdaddr, uint8_t status, - void *user_data) -{ - DBusMessage *msg = user_data; - DBusMessage *reply; - - DBG(""); - - if (neard_service == NULL) { - dbus_message_unref(msg); - - if (agent_register_postpone) { - agent_register_postpone = false; - register_agent(true); - } - - return; - } - - if (status) - reply = error_reply(msg, EIO); - else - reply = g_dbus_create_reply(msg, DBUS_TYPE_INVALID); - - dbus_message_unref(msg); - - if (!g_dbus_send_message(btd_get_dbus_connection(), reply)) - error("D-Bus send failed"); -} - -static int check_device(struct btd_device *device) -{ - if (!device) - return -ENOENT; - - /* If already paired */ - if (device_is_paired(device)) { - DBG("already paired"); - return -EALREADY; - } - - /* Pairing in progress... */ - if (device_is_bonding(device, NULL)) { - DBG("pairing in progress"); - return -EINPROGRESS; - } - - return 0; -} - -static int process_eir(uint8_t *eir, size_t size, struct oob_params *remote) -{ - struct eir_data eir_data; - - DBG("size %zu", size); - - memset(&eir_data, 0, sizeof(eir_data)); - - if (eir_parse_oob(&eir_data, eir, size) < 0) - return -EINVAL; - - bacpy(&remote->address, &eir_data.addr); - - remote->class = eir_data.class; - - remote->name = eir_data.name; - eir_data.name = NULL; - - remote->services = eir_data.services; - eir_data.services = NULL; - - remote->hash = eir_data.hash; - eir_data.hash = NULL; - - remote->randomizer = eir_data.randomizer; - eir_data.randomizer = NULL; - - eir_data_free(&eir_data); - - return 0; -} - -/* - * This is (barely documented) Nokia extension format, most work was done by - * reverse engineering. - * - * Binary format varies among different devices, type depends on first byte - * 0x00 - BT address not reversed, 16 bytes authentication data (all zeros) - * 0x01 - BT address not reversed, 16 bytes authentication data (4 digit PIN, - * padded with zeros) - * 0x02 - BT address not reversed, 16 bytes authentication data (not sure if - * 16 digit PIN or link key?, Nokia refers to it as ' Public Key') - * 0x10 - BT address reversed, no authentication data - * 0x24 - BT address not reversed, 4 bytes authentication data (4 digit PIN) - * - * General structure: - * 1 byte - marker - * 6 bytes - BT address (reversed or not, depends on marker) - * 3 bytes - Class of Device - * 0, 4 or 16 bytes - authentication data, interpretation depends on marker - * 1 bytes - name length - * N bytes - name - */ - -static int process_nokia_long (void *data, size_t size, uint8_t marker, - struct oob_params *remote) -{ - struct { - bdaddr_t address; - uint8_t class[3]; - uint8_t authentication[16]; - uint8_t name_len; - uint8_t name[0]; - } __attribute__((packed)) *n = data; - - if (size != sizeof(*n) + n->name_len) - return -EINVAL; - - /* address is not reverted */ - baswap(&remote->address, &n->address); - - remote->class = n->class[0] | (n->class[1] << 8) | (n->class[2] << 16); - - if (n->name_len > 0) - remote->name = g_strndup((char *)n->name, n->name_len); - - if (marker == 0x01) { - remote->pin = g_memdup(n->authentication, 4); - remote->pin_len = 4; - } else if (marker == 0x02) { - remote->pin = g_memdup(n->authentication, 16); - remote->pin_len = 16; - } - - return 0; -} - -static int process_nokia_short (void *data, size_t size, - struct oob_params *remote) -{ - struct { - bdaddr_t address; - uint8_t class[3]; - uint8_t authentication[4]; - uint8_t name_len; - uint8_t name[0]; - } __attribute__((packed)) *n = data; - - if (size != sizeof(*n) + n->name_len) - return -EINVAL; - - /* address is not reverted */ - baswap(&remote->address, &n->address); - - remote->class = n->class[0] | (n->class[1] << 8) | (n->class[2] << 16); - - if (n->name_len > 0) - remote->name = g_strndup((char *)n->name, n->name_len); - - remote->pin = g_memdup(n->authentication, 4); - remote->pin_len = 4; - - return 0; -} - -static int process_nokia_extra_short (void *data, size_t size, - struct oob_params *remote) -{ - struct { - bdaddr_t address; - uint8_t class[3]; - uint8_t name_len; - uint8_t name[0]; - } __attribute__((packed)) *n = data; - - if (size != sizeof(*n) + n->name_len) - return -EINVAL; - - bacpy(&remote->address, &n->address); - - remote->class = n->class[0] | (n->class[1] << 8) | (n->class[2] << 16); - - if (n->name_len > 0) - remote->name = g_strndup((char *)n->name, n->name_len); - - return 0; -} - -static int process_nokia_com_bt(uint8_t *data, size_t size, - struct oob_params *remote) -{ - uint8_t marker; - - marker = *data++; - size--; - - DBG("marker: 0x%.2x size: %zu", marker, size); - - switch (marker) { - case 0x00: - case 0x01: - case 0x02: - return process_nokia_long(data, size, marker, remote); - case 0x10: - return process_nokia_extra_short(data, size, remote); - case 0x24: - return process_nokia_short(data, size, remote); - default: - warn("Not supported Nokia NFC extension (0x%.2x)", marker); - return -EPROTONOSUPPORT; - } -} - -static enum cps process_state(const char *state) -{ - if (strcasecmp(state, "active") == 0) - return CPS_ACTIVE; - - if (strcasecmp(state, "activating") == 0) - return CPS_ACTIVATING; - - if (strcasecmp(state, "inactive") == 0) - return CPS_INACTIVE; - - return CPS_UNKNOWN; -} - -static int process_message(DBusMessage *msg, struct oob_params *remote) -{ - DBusMessageIter iter; - DBusMessageIter dict; - - dbus_message_iter_init(msg, &iter); - - if (dbus_message_iter_get_arg_type(&iter) != DBUS_TYPE_ARRAY) - return -EINVAL; - - dbus_message_iter_recurse(&iter, &dict); - - while (dbus_message_iter_get_arg_type(&dict) == DBUS_TYPE_DICT_ENTRY) { - DBusMessageIter value; - DBusMessageIter entry; - const char *key; - - dbus_message_iter_recurse(&dict, &entry); - - if (dbus_message_iter_get_arg_type(&entry) != DBUS_TYPE_STRING) - goto error; - - dbus_message_iter_get_basic(&entry, &key); - dbus_message_iter_next(&entry); - - dbus_message_iter_recurse(&entry, &value); - - if (strcasecmp(key, "EIR") == 0) { - DBusMessageIter array; - uint8_t *eir; - int size; - - /* nokia.com:bt and EIR should not be passed together */ - if (bacmp(&remote->address, BDADDR_ANY) != 0) - goto error; - - if (dbus_message_iter_get_arg_type(&value) != - DBUS_TYPE_ARRAY) - goto error; - - dbus_message_iter_recurse(&value, &array); - dbus_message_iter_get_fixed_array(&array, &eir, &size); - - if (process_eir(eir, size, remote) < 0) - goto error; - } else if (strcasecmp(key, "nokia.com:bt") == 0) { - DBusMessageIter array; - uint8_t *data; - int size; - - /* nokia.com:bt and EIR should not be passed together */ - if (bacmp(&remote->address, BDADDR_ANY) != 0) - goto error; - - if (dbus_message_iter_get_arg_type(&value) != - DBUS_TYPE_ARRAY) - goto error; - - dbus_message_iter_recurse(&value, &array); - dbus_message_iter_get_fixed_array(&array, &data, &size); - - if (process_nokia_com_bt(data, size, remote)) - goto error; - } else if (strcasecmp(key, "State") == 0) { - DBusMessageIter array; - const char *state; - - if (dbus_message_iter_get_arg_type(&value) != - DBUS_TYPE_STRING) - goto error; - - dbus_message_iter_recurse(&value, &array); - dbus_message_iter_get_basic(&value, &state); - - remote->power_state = process_state(state); - if (remote->power_state == CPS_UNKNOWN) - goto error; - } - - dbus_message_iter_next(&dict); - } - - /* Check if 'State' was passed along with one of other fields */ - if (remote->power_state != CPS_UNKNOWN - && bacmp(&remote->address, BDADDR_ANY) == 0) - return -EINVAL; - - return 0; - -error: - if (bacmp(&remote->address, BDADDR_ANY) != 0) { - free_oob_params(remote); - memset(remote, 0, sizeof(*remote)); - } - - return -EINVAL; -} - -static int check_adapter(struct btd_adapter *adapter) -{ - if (!adapter) - return -ENOENT; - - if (btd_adapter_check_oob_handler(adapter)) - return -EINPROGRESS; - - if (!btd_adapter_ssp_enabled(adapter)) - return -ENOTSUP; - - return 0; -} - -static void store_params(struct btd_adapter *adapter, struct btd_device *device, - struct oob_params *params) -{ - if (params->class != 0) - device_set_class(device, params->class); - - if (params->name) { - adapter_store_cached_name(adapter_get_address(adapter), - ¶ms->address, params->name); - device_set_name(device, params->name); - } - - /* TODO handle UUIDs? */ - - if (params->hash) { - btd_adapter_add_remote_oob_data(adapter, ¶ms->address, - params->hash, - params->randomizer); - } else if (params->pin_len) { - /* TODO - * Handle PIN, for now only discovery mode and 'common' PINs - * that might be provided by agent will work correctly. - */ - } -} - -static DBusMessage *push_oob(DBusConnection *conn, DBusMessage *msg, void *data) -{ - struct btd_adapter *adapter; - struct agent *agent; - struct oob_handler *handler; - struct oob_params remote; - struct btd_device *device; - uint8_t io_cap; - int err; - - if (neard_service == NULL || - !g_str_equal(neard_service, dbus_message_get_sender(msg))) - return error_reply(msg, EPERM); - - DBG(""); - - adapter = btd_adapter_get_default(); - - err = check_adapter(adapter); - if (err < 0) - return error_reply(msg, -err); - - if (!btd_adapter_get_powered(adapter)) - return error_reply(msg, ENONET); - - agent = adapter_get_agent(adapter); - if (!agent) - return error_reply(msg, ENONET); - - io_cap = agent_get_io_capability(agent); - agent_unref(agent); - - memset(&remote, 0, sizeof(remote)); - - err = process_message(msg, &remote); - if (err < 0) - return error_reply(msg, -err); - - if (bacmp(&remote.address, BDADDR_ANY) == 0) { - free_oob_params(&remote); - - return error_reply(msg, EINVAL); - } - - device = adapter_get_device(adapter, &remote.address, BDADDR_BREDR); - - err = check_device(device); - if (err < 0) { - free_oob_params(&remote); - - /* already paired, reply immediately */ - if (err == -EALREADY) - return g_dbus_create_reply(msg, DBUS_TYPE_INVALID); - - return error_reply(msg, -err); - } - - if (!btd_adapter_get_pairable(adapter)) { - free_oob_params(&remote); - - return error_reply(msg, ENONET); - } - - store_params(adapter, device, &remote); - - free_oob_params(&remote); - - err = adapter_create_bonding(adapter, device_get_address(device), - BDADDR_BREDR, io_cap); - if (err < 0) - return error_reply(msg, -err); - - handler = g_new0(struct oob_handler, 1); - handler->bonding_cb = bonding_complete; - bacpy(&handler->remote_addr, device_get_address(device)); - handler->user_data = dbus_message_ref(msg); - - btd_adapter_set_oob_handler(adapter, handler); - - return NULL; -} - -static DBusMessage *request_oob(DBusConnection *conn, DBusMessage *msg, - void *data) -{ - struct btd_adapter *adapter; - struct oob_handler *handler; - struct oob_params remote; - struct btd_device *device; - int err; - - if (neard_service == NULL || - !g_str_equal(neard_service, dbus_message_get_sender(msg))) - return error_reply(msg, EPERM); - - DBG(""); - - adapter = btd_adapter_get_default(); - - err = check_adapter(adapter); - if (err < 0) - return error_reply(msg, -err); - - memset(&remote, 0, sizeof(remote)); - - err = process_message(msg, &remote); - if (err < 0) - return error_reply(msg, -err); - - if (bacmp(&remote.address, BDADDR_ANY) == 0) - goto read_local; - - device = adapter_get_device(adapter, &remote.address, BDADDR_BREDR); - - err = check_device(device); - if (err < 0) { - free_oob_params(&remote); - - if (err == -EALREADY) - return create_request_oob_reply(adapter, NULL, NULL, - msg); - - return error_reply(msg, -err); - } - - if (!btd_adapter_get_pairable(adapter)) { - free_oob_params(&remote); - - return error_reply(msg, ENONET); - } - - store_params(adapter, device, &remote); - - if (!remote.hash) { - free_oob_params(&remote); - return create_request_oob_reply(adapter, NULL, NULL, msg); - } - -read_local: - free_oob_params(&remote); - - err = btd_adapter_read_local_oob_data(adapter); - if (err < 0) - return error_reply(msg, -err); - - handler = g_new0(struct oob_handler, 1); - handler->read_local_cb = read_local_complete; - handler->user_data = dbus_message_ref(msg); - - btd_adapter_set_oob_handler(adapter, handler); - - return NULL; -} - -static DBusMessage *release(DBusConnection *conn, DBusMessage *msg, - void *user_data) -{ - if (neard_service == NULL || - !g_str_equal(neard_service, dbus_message_get_sender(msg))) - return error_reply(msg, EPERM); - - DBG(""); - - g_free(neard_service); - neard_service = NULL; - - g_dbus_unregister_interface(conn, AGENT_PATH, AGENT_INTERFACE); - - return g_dbus_create_reply(msg, DBUS_TYPE_INVALID); -} - -static const GDBusMethodTable neard_methods[] = { - { GDBUS_ASYNC_METHOD("RequestOOB", - GDBUS_ARGS({ "data", "a{sv}" }), - GDBUS_ARGS({ "data", "a{sv}" }), request_oob) }, - { GDBUS_ASYNC_METHOD("PushOOB", - GDBUS_ARGS({ "data", "a{sv}"}), NULL, push_oob) }, - { GDBUS_METHOD("Release", NULL, NULL, release) }, - { } -}; - -static void neard_appeared(DBusConnection *conn, void *user_data) -{ - struct btd_adapter *adapter; - - DBG(""); - - if (!g_dbus_register_interface(conn, AGENT_PATH, AGENT_INTERFACE, - neard_methods, - NULL, NULL, NULL, NULL)) { - error("neard interface init failed on path " AGENT_PATH); - return; - } - - /* - * If there is pending action ongoing when neard appeared, possibly - * due to neard crash or release before action was completed, postpone - * register until action is finished. - */ - adapter = btd_adapter_get_default(); - - if (adapter && btd_adapter_check_oob_handler(adapter)) - agent_register_postpone = true; - else - register_agent(true); -} - -static void neard_vanished(DBusConnection *conn, void *user_data) -{ - DBG(""); - - /* neard existed without unregistering agent */ - if (neard_service != NULL) { - g_free(neard_service); - neard_service = NULL; - - g_dbus_unregister_interface(conn, AGENT_PATH, AGENT_INTERFACE); - } -} - -static int neard_init(void) -{ - DBG("Setup neard plugin"); - - watcher_id = g_dbus_add_service_watch(btd_get_dbus_connection(), - NEARD_NAME, neard_appeared, - neard_vanished, NULL, NULL); - if (watcher_id == 0) - return -ENOMEM; - - return 0; -} - -static void neard_exit(void) -{ - DBG("Cleanup neard plugin"); - - g_dbus_remove_watch(btd_get_dbus_connection(), watcher_id); - watcher_id = 0; - - if (neard_service != NULL) - unregister_agent(); -} - -BLUETOOTH_PLUGIN_DEFINE(neard, VERSION, BLUETOOTH_PLUGIN_PRIORITY_DEFAULT, - neard_init, neard_exit) diff --git a/GRIB_BLE_HUB/libs/ble_extend/plugins/wiimote.c b/GRIB_BLE_HUB/libs/ble_extend/plugins/wiimote.c deleted file mode 100644 index 90d6d7b..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/plugins/wiimote.c +++ /dev/null @@ -1,134 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2011-2012 David Herrmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include - -#include -#include - -#include "plugin.h" -#include "adapter.h" -#include "device.h" -#include "log.h" -#include "storage.h" - -/* - * Nintendo Wii Remote devices require the bdaddr of the host as pin input for - * authentication. This plugin registers a pin-callback and forces this pin - * to be used for authentication. - * - * There are two ways to place the wiimote into discoverable mode. - * - Pressing the red-sync button on the back of the wiimote. This module - * supports pairing via this method. Auto-reconnect should be possible after - * the device was paired once. - * - Pressing the 1+2 buttons on the front of the wiimote. This module does - * not support this method since this method never enables auto-reconnect. - * Hence, pairing is not needed. Use it without pairing if you want. - * After connecting the wiimote you should immediately connect to the input - * service of the wiimote. If you don't, the wiimote will close the connection. - * The wiimote waits about 5 seconds until it turns off again. - * Auto-reconnect is only enabled when pairing with the wiimote via the red - * sync-button and then connecting to the input service. If you do not connect - * to the input service, then auto-reconnect is not enabled. - * If enabled, the wiimote connects to the host automatically when any button - * is pressed. - */ - -static uint16_t wii_ids[][2] = { - { 0x057e, 0x0306 }, - { 0x057e, 0x0330 }, -}; - -static const char *wii_names[] = { - "Nintendo RVL-CNT-01", - "Nintendo RVL-CNT-01-TR", - "Nintendo RVL-WBC-01", -}; - -static ssize_t wii_pincb(struct btd_adapter *adapter, struct btd_device *device, - char *pinbuf, gboolean *display) -{ - uint16_t vendor, product; - char addr[18], name[25]; - unsigned int i; - - ba2str(device_get_address(device), addr); - - vendor = btd_device_get_vendor(device); - product = btd_device_get_product(device); - - device_get_name(device, name, sizeof(name)); - name[sizeof(name) - 1] = 0; - - for (i = 0; i < G_N_ELEMENTS(wii_ids); ++i) { - if (vendor == wii_ids[i][0] && product == wii_ids[i][1]) - goto found; - } - - for (i = 0; i < G_N_ELEMENTS(wii_names); ++i) { - if (g_str_equal(name, wii_names[i])) - goto found; - } - - return 0; - -found: - DBG("Forcing fixed pin on detected wiimote %s", addr); - memcpy(pinbuf, adapter_get_address(adapter), 6); - return 6; -} - -static int wii_probe(struct btd_adapter *adapter) -{ - btd_adapter_register_pin_cb(adapter, wii_pincb); - - return 0; -} - -static void wii_remove(struct btd_adapter *adapter) -{ - btd_adapter_unregister_pin_cb(adapter, wii_pincb); -} - -static struct btd_adapter_driver wii_driver = { - .name = "wiimote", - .probe = wii_probe, - .remove = wii_remove, -}; - -static int wii_init(void) -{ - return btd_register_adapter_driver(&wii_driver); -} - -static void wii_exit(void) -{ - btd_unregister_adapter_driver(&wii_driver); -} - -BLUETOOTH_PLUGIN_DEFINE(wiimote, VERSION, - BLUETOOTH_PLUGIN_PRIORITY_LOW, wii_init, wii_exit) diff --git a/GRIB_BLE_HUB/libs/ble_extend/profiles/alert/.deps/bluetoothd-server.Po b/GRIB_BLE_HUB/libs/ble_extend/profiles/alert/.deps/bluetoothd-server.Po deleted file mode 100644 index 9ce06a8..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/profiles/alert/.deps/bluetoothd-server.Po +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/GRIB_BLE_HUB/libs/ble_extend/profiles/alert/server.c b/GRIB_BLE_HUB/libs/ble_extend/profiles/alert/server.c deleted file mode 100644 index 4536c81..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/profiles/alert/server.c +++ /dev/null @@ -1,1010 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2011 Nokia Corporation - * Copyright (C) 2011 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include -#include -#include -#include - -#include "lib/uuid.h" -#include "plugin.h" -#include "dbus-common.h" -#include "attrib/att.h" -#include "adapter.h" -#include "device.h" -#include "attrib/att-database.h" -#include "log.h" -#include "attrib/gatt-service.h" -#include "attrib/gattrib.h" -#include "attrib-server.h" -#include "attrib/gatt.h" -#include "profile.h" -#include "error.h" -#include "textfile.h" -#include "attio.h" - -#define PHONE_ALERT_STATUS_SVC_UUID 0x180E -#define ALERT_NOTIF_SVC_UUID 0x1811 - -#define ALERT_STATUS_CHR_UUID 0x2A3F -#define RINGER_CP_CHR_UUID 0x2A40 -#define RINGER_SETTING_CHR_UUID 0x2A41 - -#define ALERT_NOTIF_CP_CHR_UUID 0x2A44 -#define UNREAD_ALERT_CHR_UUID 0x2A45 -#define NEW_ALERT_CHR_UUID 0x2A46 -#define SUPP_NEW_ALERT_CAT_CHR_UUID 0x2A47 -#define SUPP_UNREAD_ALERT_CAT_CHR_UUID 0x2A48 - -#define ALERT_OBJECT_PATH "/org/bluez" -#define ALERT_INTERFACE "org.bluez.Alert1" -#define ALERT_AGENT_INTERFACE "org.bluez.AlertAgent1" - -/* Maximum length for "Text String Information" */ -#define NEW_ALERT_MAX_INFO_SIZE 18 -/* Maximum length for New Alert Characteristic Value */ -#define NEW_ALERT_CHR_MAX_VALUE_SIZE (NEW_ALERT_MAX_INFO_SIZE + 2) - -enum { - ENABLE_NEW_INCOMING, - ENABLE_UNREAD_CAT, - DISABLE_NEW_INCOMING, - DISABLE_UNREAD_CAT, - NOTIFY_NEW_INCOMING, - NOTIFY_UNREAD_CAT, -}; - -enum { - RINGER_SILENT_MODE = 1, - RINGER_MUTE_ONCE, - RINGER_CANCEL_SILENT_MODE, -}; - -/* Ringer Setting characteristic values */ -enum { - RINGER_SILENT, - RINGER_NORMAL, -}; - -enum notify_type { - NOTIFY_RINGER_SETTING = 0, - NOTIFY_ALERT_STATUS, - NOTIFY_NEW_ALERT, - NOTIFY_UNREAD_ALERT, - NOTIFY_SIZE, -}; - -struct alert_data { - const char *category; - char *srv; - char *path; - guint watcher; -}; - -struct alert_adapter { - struct btd_adapter *adapter; - uint16_t supp_new_alert_cat_handle; - uint16_t supp_unread_alert_cat_handle; - uint16_t hnd_ccc[NOTIFY_SIZE]; - uint16_t hnd_value[NOTIFY_SIZE]; -}; - -struct notify_data { - struct alert_adapter *al_adapter; - enum notify_type type; - uint8_t *value; - size_t len; -}; - -struct notify_callback { - struct notify_data *notify_data; - struct btd_device *device; - guint id; -}; - -static GSList *registered_alerts = NULL; -static GSList *alert_adapters = NULL; -static uint8_t ringer_setting = RINGER_NORMAL; -static uint8_t alert_status = 0; - -static const char * const anp_categories[] = { - "simple", - "email", - "news", - "call", - "missed-call", - "sms-mms", - "voice-mail", - "schedule", - "high-priority", - "instant-message", -}; - -static const char * const pasp_categories[] = { - "ringer", - "vibrate", - "display", -}; - -static int adapter_cmp(gconstpointer a, gconstpointer b) -{ - const struct alert_adapter *al_adapter = a; - const struct btd_adapter *adapter = b; - - return al_adapter->adapter == adapter ? 0 : -1; -} - -static struct alert_adapter *find_alert_adapter(struct btd_adapter *adapter) -{ - GSList *l = g_slist_find_custom(alert_adapters, adapter, adapter_cmp); - - return l ? l->data : NULL; -} - -static void alert_data_destroy(gpointer user_data) -{ - struct alert_data *alert = user_data; - - if (alert->watcher) - g_dbus_remove_watch(btd_get_dbus_connection(), alert->watcher); - - g_free(alert->srv); - g_free(alert->path); - g_free(alert); -} - -static void alert_release(gpointer user_data) -{ - struct alert_data *alert = user_data; - DBusMessage *msg; - - msg = dbus_message_new_method_call(alert->srv, alert->path, - ALERT_AGENT_INTERFACE, - "Release"); - if (msg) - g_dbus_send_message(btd_get_dbus_connection(), msg); - - alert_data_destroy(alert); -} - -static void alert_destroy(gpointer user_data) -{ - DBG(""); - - g_slist_free_full(registered_alerts, alert_release); - registered_alerts = NULL; -} - -static const char *valid_category(const char *category) -{ - unsigned i; - - for (i = 0; i < G_N_ELEMENTS(anp_categories); i++) { - if (g_str_equal(anp_categories[i], category)) - return anp_categories[i]; - } - - for (i = 0; i < G_N_ELEMENTS(pasp_categories); i++) { - if (g_str_equal(pasp_categories[i], category)) - return pasp_categories[i]; - } - - return NULL; -} - -static struct alert_data *get_alert_data_by_category(const char *category) -{ - GSList *l; - struct alert_data *alert; - - for (l = registered_alerts; l; l = g_slist_next(l)) { - alert = l->data; - if (g_str_equal(alert->category, category)) - return alert; - } - - return NULL; -} - -static gboolean registered_category(const char *category) -{ - struct alert_data *alert; - - alert = get_alert_data_by_category(category); - if (alert) - return TRUE; - - return FALSE; -} - -static gboolean pasp_category(const char *category) -{ - unsigned i; - - for (i = 0; i < G_N_ELEMENTS(pasp_categories); i++) - if (g_str_equal(category, pasp_categories[i])) - return TRUE; - - return FALSE; -} - -static gboolean valid_description(const char *category, - const char *description) -{ - if (!pasp_category(category)) { - if (strlen(description) >= NEW_ALERT_MAX_INFO_SIZE) - return FALSE; - - return TRUE; - } - - if (g_str_equal(description, "active") || - g_str_equal(description, "not active")) - return TRUE; - - if (g_str_equal(category, "ringer")) - if (g_str_equal(description, "enabled") || - g_str_equal(description, "disabled")) - return TRUE; - - return FALSE; -} - -static gboolean valid_count(const char *category, uint16_t count) -{ - if (!pasp_category(category) && count > 0 && count <= 255) - return TRUE; - - if (pasp_category(category) && count == 1) - return TRUE; - - return FALSE; -} - -static void update_supported_categories(gpointer data, gpointer user_data) -{ - struct alert_adapter *al_adapter = data; - struct btd_adapter *adapter = al_adapter->adapter; - uint8_t value[2]; - unsigned int i; - - memset(value, 0, sizeof(value)); - - for (i = 0; i < G_N_ELEMENTS(anp_categories); i++) { - if (registered_category(anp_categories[i])) - hci_set_bit(i, value); - } - - attrib_db_update(adapter, al_adapter->supp_new_alert_cat_handle, NULL, - value, sizeof(value), NULL); - - /* FIXME: For now report all registered categories as supporting unread - * status, until it is known which ones should be supported */ - attrib_db_update(adapter, al_adapter->supp_unread_alert_cat_handle, - NULL, value, sizeof(value), NULL); -} - -static void watcher_disconnect(DBusConnection *conn, void *user_data) -{ - struct alert_data *alert = user_data; - - DBG("Category %s was disconnected", alert->category); - - registered_alerts = g_slist_remove(registered_alerts, alert); - alert_data_destroy(alert); - - g_slist_foreach(alert_adapters, update_supported_categories, NULL); -} - -static gboolean is_notifiable_device(struct btd_device *device, uint16_t ccc) -{ - char *filename; - GKeyFile *key_file; - char handle[6]; - char *str; - uint16_t val; - gboolean result; - - sprintf(handle, "%hu", ccc); - - filename = btd_device_get_storage_path(device, "ccc"); - - key_file = g_key_file_new(); - g_key_file_load_from_file(key_file, filename, 0, NULL); - - str = g_key_file_get_string(key_file, handle, "Value", NULL); - if (!str) { - result = FALSE; - goto end; - } - - val = strtol(str, NULL, 16); - if (!(val & 0x0001)) { - result = FALSE; - goto end; - } - - result = TRUE; -end: - g_free(str); - g_free(filename); - g_key_file_free(key_file); - - return result; -} - -static void attio_connected_cb(GAttrib *attrib, gpointer user_data) -{ - struct notify_callback *cb = user_data; - struct notify_data *nd = cb->notify_data; - enum notify_type type = nd->type; - struct alert_adapter *al_adapter = nd->al_adapter; - size_t len; - uint8_t *pdu = g_attrib_get_buffer(attrib, &len); - - - switch (type) { - case NOTIFY_RINGER_SETTING: - len = enc_notification(al_adapter->hnd_value[type], - &ringer_setting, sizeof(ringer_setting), - pdu, len); - break; - case NOTIFY_ALERT_STATUS: - len = enc_notification(al_adapter->hnd_value[type], - &alert_status, sizeof(alert_status), - pdu, len); - break; - case NOTIFY_NEW_ALERT: - case NOTIFY_UNREAD_ALERT: - len = enc_notification(al_adapter->hnd_value[type], - nd->value, nd->len, pdu, len); - break; - default: - DBG("Unknown type, could not send notification"); - goto end; - } - - DBG("Send notification for handle: 0x%04x, ccc: 0x%04x", - al_adapter->hnd_value[type], - al_adapter->hnd_ccc[type]); - - g_attrib_send(attrib, 0, pdu, len, NULL, NULL, NULL); - -end: - btd_device_remove_attio_callback(cb->device, cb->id); - btd_device_unref(cb->device); - g_free(cb->notify_data->value); - g_free(cb->notify_data); - g_free(cb); -} - -static void filter_devices_notify(struct btd_device *device, void *user_data) -{ - struct notify_data *notify_data = user_data; - struct alert_adapter *al_adapter = notify_data->al_adapter; - enum notify_type type = notify_data->type; - struct notify_callback *cb; - - if (!is_notifiable_device(device, al_adapter->hnd_ccc[type])) - return; - - cb = g_new0(struct notify_callback, 1); - cb->notify_data = notify_data; - cb->device = btd_device_ref(device); - cb->id = btd_device_add_attio_callback(device, - attio_connected_cb, NULL, cb); -} - -static void notify_devices(struct alert_adapter *al_adapter, - enum notify_type type, uint8_t *value, size_t len) -{ - struct notify_data *notify_data; - - notify_data = g_new0(struct notify_data, 1); - notify_data->al_adapter = al_adapter; - notify_data->type = type; - notify_data->value = g_memdup(value, len); - notify_data->len = len; - - btd_adapter_for_each_device(al_adapter->adapter, filter_devices_notify, - notify_data); -} - -static void pasp_notification(enum notify_type type) -{ - GSList *it; - struct alert_adapter *al_adapter; - - for (it = alert_adapters; it; it = g_slist_next(it)) { - al_adapter = it->data; - - notify_devices(al_adapter, type, NULL, 0); - } -} - -static DBusMessage *register_alert(DBusConnection *conn, DBusMessage *msg, - void *data) -{ - const char *sender = dbus_message_get_sender(msg); - char *path; - const char *category; - const char *c; - struct alert_data *alert; - - if (!dbus_message_get_args(msg, NULL, DBUS_TYPE_STRING, &c, - DBUS_TYPE_OBJECT_PATH, &path, DBUS_TYPE_INVALID)) - return btd_error_invalid_args(msg); - - category = valid_category(c); - if (!category) { - DBG("Invalid category: %s", c); - return btd_error_invalid_args(msg); - } - - if (registered_category(category)) { - DBG("Category %s already registered", category); - return dbus_message_new_method_return(msg); - } - - alert = g_new0(struct alert_data, 1); - alert->srv = g_strdup(sender); - alert->path = g_strdup(path); - alert->category = category; - alert->watcher = g_dbus_add_disconnect_watch(conn, alert->srv, - watcher_disconnect, alert, NULL); - - if (alert->watcher == 0) { - alert_data_destroy(alert); - DBG("Could not register disconnect watcher"); - return btd_error_failed(msg, - "Could not register disconnect watcher"); - } - - registered_alerts = g_slist_append(registered_alerts, alert); - - g_slist_foreach(alert_adapters, update_supported_categories, NULL); - - DBG("RegisterAlert(\"%s\", \"%s\")", alert->category, alert->path); - - return dbus_message_new_method_return(msg); -} - -static void update_new_alert(gpointer data, gpointer user_data) -{ - struct alert_adapter *al_adapter = data; - struct btd_adapter *adapter = al_adapter->adapter; - uint8_t *value = user_data; - - attrib_db_update(adapter, al_adapter->hnd_value[NOTIFY_NEW_ALERT], NULL, - &value[1], value[0], NULL); - - notify_devices(al_adapter, NOTIFY_NEW_ALERT, &value[1], value[0]); -} - -static void update_phone_alerts(const char *category, const char *description) -{ - unsigned int i; - - if (g_str_equal(category, "ringer")) { - if (g_str_equal(description, "enabled")) { - ringer_setting = RINGER_NORMAL; - pasp_notification(NOTIFY_RINGER_SETTING); - return; - } else if (g_str_equal(description, "disabled")) { - ringer_setting = RINGER_SILENT; - pasp_notification(NOTIFY_RINGER_SETTING); - return; - } - } - - for (i = 0; i < G_N_ELEMENTS(pasp_categories); i++) { - if (g_str_equal(pasp_categories[i], category)) { - if (g_str_equal(description, "active")) { - alert_status |= (1 << i); - pasp_notification(NOTIFY_ALERT_STATUS); - } else if (g_str_equal(description, "not active")) { - alert_status &= ~(1 << i); - pasp_notification(NOTIFY_ALERT_STATUS); - } - break; - } - } -} - -static DBusMessage *new_alert(DBusConnection *conn, DBusMessage *msg, - void *data) -{ - const char *sender = dbus_message_get_sender(msg); - const char *category, *description; - struct alert_data *alert; - uint16_t count; - unsigned int i; - size_t dlen; - - if (!dbus_message_get_args(msg, NULL, DBUS_TYPE_STRING, &category, - DBUS_TYPE_UINT16, &count, DBUS_TYPE_STRING, - &description, DBUS_TYPE_INVALID)) - return btd_error_invalid_args(msg); - - alert = get_alert_data_by_category(category); - if (!alert) { - DBG("Category %s not registered", category); - return btd_error_invalid_args(msg); - } - - if (!g_str_equal(alert->srv, sender)) { - DBG("Sender %s is not registered in category %s", sender, - category); - return btd_error_invalid_args(msg); - } - - if (!valid_description(category, description)) { - DBG("Description %s is invalid for %s category", - description, category); - return btd_error_invalid_args(msg); - } - - if (!valid_count(category, count)) { - DBG("Count %d is invalid for %s category", count, category); - return btd_error_invalid_args(msg); - } - - dlen = strlen(description); - - for (i = 0; i < G_N_ELEMENTS(anp_categories); i++) { - uint8_t value[NEW_ALERT_CHR_MAX_VALUE_SIZE + 1]; - uint8_t *ptr = value; - - if (!g_str_equal(anp_categories[i], category)) - continue; - - memset(value, 0, sizeof(value)); - - *ptr++ = 2; /* Attribute value size */ - *ptr++ = i; /* Category ID (mandatory) */ - *ptr++ = count; /* Number of New Alert (mandatory) */ - /* Text String Information (optional) */ - strncpy((char *) ptr, description, - NEW_ALERT_MAX_INFO_SIZE - 1); - - if (dlen > 0) - *value += dlen + 1; - - g_slist_foreach(alert_adapters, update_new_alert, value); - } - - if (pasp_category(category)) - update_phone_alerts(category, description); - - DBG("NewAlert(\"%s\", %d, \"%s\")", category, count, description); - - return dbus_message_new_method_return(msg); -} - -static int agent_ringer_mute_once(void) -{ - struct alert_data *alert; - DBusMessage *msg; - - alert = get_alert_data_by_category("ringer"); - if (!alert) { - DBG("Category ringer is not registered"); - return -EINVAL; - } - - msg = dbus_message_new_method_call(alert->srv, alert->path, - ALERT_AGENT_INTERFACE, "MuteOnce"); - if (!msg) - return -ENOMEM; - - dbus_message_set_no_reply(msg, TRUE); - g_dbus_send_message(btd_get_dbus_connection(), msg); - - return 0; -} - -static int agent_ringer_set_ringer(const char *mode) -{ - struct alert_data *alert; - DBusMessage *msg; - - alert = get_alert_data_by_category("ringer"); - if (!alert) { - DBG("Category ringer is not registered"); - return -EINVAL; - } - - msg = dbus_message_new_method_call(alert->srv, alert->path, - ALERT_AGENT_INTERFACE, "SetRinger"); - if (!msg) - return -ENOMEM; - - dbus_message_append_args(msg, DBUS_TYPE_STRING, &mode, - DBUS_TYPE_INVALID); - - dbus_message_set_no_reply(msg, TRUE); - g_dbus_send_message(btd_get_dbus_connection(), msg); - - return 0; -} - -static void update_unread_alert(gpointer data, gpointer user_data) -{ - struct alert_adapter *al_adapter = data; - struct btd_adapter *adapter = al_adapter->adapter; - uint8_t *value = user_data; - - attrib_db_update(adapter, - al_adapter->hnd_value[NOTIFY_UNREAD_ALERT], NULL, value, - 2, NULL); - - notify_devices(al_adapter, NOTIFY_UNREAD_ALERT, value, 2); -} - -static DBusMessage *unread_alert(DBusConnection *conn, DBusMessage *msg, - void *data) -{ - const char *sender = dbus_message_get_sender(msg); - struct alert_data *alert; - const char *category; - unsigned int i; - uint16_t count; - - if (!dbus_message_get_args(msg, NULL, DBUS_TYPE_STRING, &category, - DBUS_TYPE_UINT16, &count, - DBUS_TYPE_INVALID)) - return btd_error_invalid_args(msg); - - alert = get_alert_data_by_category(category); - if (!alert) { - DBG("Category %s not registered", category); - return btd_error_invalid_args(msg); - } - - if (!valid_count(category, count)) { - DBG("Count %d is invalid for %s category", count, category); - return btd_error_invalid_args(msg); - } - - if (!g_str_equal(alert->srv, sender)) { - DBG("Sender %s is not registered in category %s", sender, - category); - return btd_error_invalid_args(msg); - } - - for (i = 0; i < G_N_ELEMENTS(anp_categories); i++) { - if (g_str_equal(anp_categories[i], category)) { - uint8_t value[2]; - - value[0] = i; /* Category ID */ - value[1] = count; /* Unread count */ - - g_slist_foreach(alert_adapters, update_unread_alert, - value); - } - } - - DBG("category %s, count %d", category, count); - - return dbus_message_new_method_return(msg); -} - -static uint8_t ringer_cp_write(struct attribute *a, - struct btd_device *device, - gpointer user_data) -{ - DBG("a = %p", a); - - if (a->len > 1) { - DBG("Invalid command size (%zu)", a->len); - return 0; - } - - switch (a->data[0]) { - case RINGER_SILENT_MODE: - DBG("Silent Mode"); - agent_ringer_set_ringer("disabled"); - break; - case RINGER_MUTE_ONCE: - DBG("Mute Once"); - agent_ringer_mute_once(); - break; - case RINGER_CANCEL_SILENT_MODE: - DBG("Cancel Silent Mode"); - agent_ringer_set_ringer("enabled"); - break; - default: - DBG("Invalid command (0x%02x)", a->data[0]); - } - - return 0; -} - -static uint8_t alert_status_read(struct attribute *a, - struct btd_device *device, - gpointer user_data) -{ - struct btd_adapter *adapter = user_data; - - DBG("a = %p", a); - - if (a->data == NULL || a->data[0] != alert_status) - attrib_db_update(adapter, a->handle, NULL, &alert_status, - sizeof(alert_status), NULL); - - return 0; -} - -static uint8_t ringer_setting_read(struct attribute *a, - struct btd_device *device, - gpointer user_data) -{ - struct btd_adapter *adapter = user_data; - - DBG("a = %p", a); - - if (a->data == NULL || a->data[0] != ringer_setting) - attrib_db_update(adapter, a->handle, NULL, &ringer_setting, - sizeof(ringer_setting), NULL); - - return 0; -} - -static void register_phone_alert_service(struct alert_adapter *al_adapter) -{ - bt_uuid_t uuid; - - bt_uuid16_create(&uuid, PHONE_ALERT_STATUS_SVC_UUID); - - /* Phone Alert Status Service */ - gatt_service_add(al_adapter->adapter, GATT_PRIM_SVC_UUID, &uuid, - /* Alert Status characteristic */ - GATT_OPT_CHR_UUID, ALERT_STATUS_CHR_UUID, - GATT_OPT_CHR_PROPS, ATT_CHAR_PROPER_READ | - ATT_CHAR_PROPER_NOTIFY, - GATT_OPT_CHR_VALUE_CB, ATTRIB_READ, - alert_status_read, al_adapter->adapter, - GATT_OPT_CCC_GET_HANDLE, - &al_adapter->hnd_ccc[NOTIFY_ALERT_STATUS], - GATT_OPT_CHR_VALUE_GET_HANDLE, - &al_adapter->hnd_value[NOTIFY_ALERT_STATUS], - /* Ringer Control Point characteristic */ - GATT_OPT_CHR_UUID, RINGER_CP_CHR_UUID, - GATT_OPT_CHR_PROPS, ATT_CHAR_PROPER_WRITE_WITHOUT_RESP, - GATT_OPT_CHR_VALUE_CB, ATTRIB_WRITE, - ringer_cp_write, NULL, - /* Ringer Setting characteristic */ - GATT_OPT_CHR_UUID, RINGER_SETTING_CHR_UUID, - GATT_OPT_CHR_PROPS, ATT_CHAR_PROPER_READ | - ATT_CHAR_PROPER_NOTIFY, - GATT_OPT_CHR_VALUE_CB, ATTRIB_READ, - ringer_setting_read, al_adapter->adapter, - GATT_OPT_CCC_GET_HANDLE, - &al_adapter->hnd_ccc[NOTIFY_RINGER_SETTING], - GATT_OPT_CHR_VALUE_GET_HANDLE, - &al_adapter->hnd_value[NOTIFY_RINGER_SETTING], - GATT_OPT_INVALID); -} - -static uint8_t supp_new_alert_cat_read(struct attribute *a, - struct btd_device *device, - gpointer user_data) -{ - struct btd_adapter *adapter = user_data; - uint8_t value[] = { 0x00, 0x00 }; - - DBG("a = %p", a); - - if (a->data == NULL) - attrib_db_update(adapter, a->handle, NULL, value, sizeof(value), - NULL); - - return 0; -} - -static uint8_t supp_unread_alert_cat_read(struct attribute *a, - struct btd_device *device, - gpointer user_data) -{ - struct btd_adapter *adapter = user_data; - uint8_t value[] = { 0x00, 0x00 }; - - DBG("a = %p", a); - - if (a->data == NULL) - attrib_db_update(adapter, a->handle, NULL, value, sizeof(value), - NULL); - - return 0; -} - -static uint8_t alert_notif_cp_write(struct attribute *a, - struct btd_device *device, - gpointer user_data) -{ - DBG("a = %p", a); - - switch (a->data[0]) { - case ENABLE_NEW_INCOMING: - DBG("ENABLE_NEW_INCOMING: 0x%02x", a->data[1]); - break; - case ENABLE_UNREAD_CAT: - DBG("ENABLE_UNREAD_CAT: 0x%02x", a->data[1]); - break; - case DISABLE_NEW_INCOMING: - DBG("DISABLE_NEW_INCOMING: 0x%02x", a->data[1]); - break; - case DISABLE_UNREAD_CAT: - DBG("DISABLE_UNREAD_CAT: 0x%02x", a->data[1]); - break; - case NOTIFY_NEW_INCOMING: - DBG("NOTIFY_NEW_INCOMING: 0x%02x", a->data[1]); - break; - case NOTIFY_UNREAD_CAT: - DBG("NOTIFY_UNREAD_CAT: 0x%02x", a->data[1]); - break; - default: - DBG("0x%02x 0x%02x", a->data[0], a->data[1]); - } - - return 0; -} - -static void register_alert_notif_service(struct alert_adapter *al_adapter) -{ - bt_uuid_t uuid; - - bt_uuid16_create(&uuid, ALERT_NOTIF_SVC_UUID); - - /* Alert Notification Service */ - gatt_service_add(al_adapter->adapter, GATT_PRIM_SVC_UUID, &uuid, - /* Supported New Alert Category */ - GATT_OPT_CHR_UUID, SUPP_NEW_ALERT_CAT_CHR_UUID, - GATT_OPT_CHR_PROPS, ATT_CHAR_PROPER_READ, - GATT_OPT_CHR_VALUE_CB, ATTRIB_READ, - supp_new_alert_cat_read, al_adapter->adapter, - GATT_OPT_CHR_VALUE_GET_HANDLE, - &al_adapter->supp_new_alert_cat_handle, - /* New Alert */ - GATT_OPT_CHR_UUID, NEW_ALERT_CHR_UUID, - GATT_OPT_CHR_PROPS, ATT_CHAR_PROPER_NOTIFY, - GATT_OPT_CCC_GET_HANDLE, - &al_adapter->hnd_ccc[NOTIFY_NEW_ALERT], - GATT_OPT_CHR_VALUE_GET_HANDLE, - &al_adapter->hnd_value[NOTIFY_NEW_ALERT], - /* Supported Unread Alert Category */ - GATT_OPT_CHR_UUID, SUPP_UNREAD_ALERT_CAT_CHR_UUID, - GATT_OPT_CHR_PROPS, ATT_CHAR_PROPER_READ, - GATT_OPT_CHR_VALUE_CB, ATTRIB_READ, - supp_unread_alert_cat_read, al_adapter->adapter, - GATT_OPT_CHR_VALUE_GET_HANDLE, - &al_adapter->supp_unread_alert_cat_handle, - /* Unread Alert Status */ - GATT_OPT_CHR_UUID, UNREAD_ALERT_CHR_UUID, - GATT_OPT_CHR_PROPS, ATT_CHAR_PROPER_NOTIFY, - GATT_OPT_CCC_GET_HANDLE, - &al_adapter->hnd_ccc[NOTIFY_UNREAD_ALERT], - GATT_OPT_CHR_VALUE_GET_HANDLE, - &al_adapter->hnd_value[NOTIFY_UNREAD_ALERT], - /* Alert Notification Control Point */ - GATT_OPT_CHR_UUID, ALERT_NOTIF_CP_CHR_UUID, - GATT_OPT_CHR_PROPS, ATT_CHAR_PROPER_WRITE, - GATT_OPT_CHR_VALUE_CB, ATTRIB_WRITE, - alert_notif_cp_write, NULL, - GATT_OPT_INVALID); -} - -static int alert_server_probe(struct btd_profile *p, - struct btd_adapter *adapter) -{ - struct alert_adapter *al_adapter; - - al_adapter = g_new0(struct alert_adapter, 1); - al_adapter->adapter = btd_adapter_ref(adapter); - - alert_adapters = g_slist_append(alert_adapters, al_adapter); - - register_phone_alert_service(al_adapter); - register_alert_notif_service(al_adapter); - - return 0; -} - -static void alert_server_remove(struct btd_profile *p, - struct btd_adapter *adapter) -{ - struct alert_adapter *al_adapter; - - al_adapter = find_alert_adapter(adapter); - if (!al_adapter) - return; - - alert_adapters = g_slist_remove(alert_adapters, al_adapter); - btd_adapter_unref(al_adapter->adapter); - - g_free(al_adapter); -} - -static struct btd_profile alert_profile = { - .name = "gatt-alert-server", - .adapter_probe = alert_server_probe, - .adapter_remove = alert_server_remove, -}; - -static const GDBusMethodTable alert_methods[] = { - { GDBUS_METHOD("RegisterAlert", - GDBUS_ARGS({ "category", "s" }, - { "agent", "o" }), NULL, - register_alert) }, - { GDBUS_METHOD("NewAlert", - GDBUS_ARGS({ "category", "s" }, - { "count", "q" }, - { "description", "s" }), NULL, - new_alert) }, - { GDBUS_METHOD("UnreadAlert", - GDBUS_ARGS({ "category", "s" }, { "count", "q" }), NULL, - unread_alert) }, - { } -}; - -static int alert_server_init(void) -{ - if (!g_dbus_register_interface(btd_get_dbus_connection(), - ALERT_OBJECT_PATH, ALERT_INTERFACE, - alert_methods, NULL, NULL, NULL, - alert_destroy)) { - error("D-Bus failed to register %s interface", - ALERT_INTERFACE); - return -EIO; - } - - return btd_profile_register(&alert_profile); -} - -static void alert_server_exit(void) -{ - btd_profile_unregister(&alert_profile); - - g_dbus_unregister_interface(btd_get_dbus_connection(), - ALERT_OBJECT_PATH, ALERT_INTERFACE); -} - -static int alert_init(void) -{ - return alert_server_init(); -} - -static void alert_exit(void) -{ - alert_server_exit(); -} - -BLUETOOTH_PLUGIN_DEFINE(alert, VERSION, - BLUETOOTH_PLUGIN_PRIORITY_DEFAULT, - alert_init, alert_exit) diff --git a/GRIB_BLE_HUB/libs/ble_extend/profiles/audio/.deps/.dirstamp b/GRIB_BLE_HUB/libs/ble_extend/profiles/audio/.deps/.dirstamp deleted file mode 100644 index e69de29..0000000 diff --git a/GRIB_BLE_HUB/libs/ble_extend/profiles/audio/.deps/bluetoothd-a2dp.Po b/GRIB_BLE_HUB/libs/ble_extend/profiles/audio/.deps/bluetoothd-a2dp.Po deleted file mode 100644 index 5a57ea2..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/profiles/audio/.deps/bluetoothd-a2dp.Po +++ /dev/null @@ -1,548 +0,0 @@ -profiles/audio/bluetoothd-a2dp.o: profiles/audio/a2dp.c \ - /usr/include/stdc-predef.h config.h /usr/include/stdlib.h \ - /usr/include/features.h /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/include/arm-linux-gnueabihf/bits/waitflags.h \ - /usr/include/arm-linux-gnueabihf/bits/waitstatus.h /usr/include/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/xlocale.h /usr/include/arm-linux-gnueabihf/sys/types.h \ - /usr/include/time.h /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/alloca.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-float.h \ - /usr/include/errno.h /usr/include/arm-linux-gnueabihf/bits/errno.h \ - /usr/include/linux/errno.h /usr/include/arm-linux-gnueabihf/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/include/dbus-1.0/dbus/dbus.h \ - /usr/lib/arm-linux-gnueabihf/dbus-1.0/include/dbus/dbus-arch-deps.h \ - /usr/include/dbus-1.0/dbus/dbus-macros.h \ - /usr/include/dbus-1.0/dbus/dbus-address.h \ - /usr/include/dbus-1.0/dbus/dbus-types.h \ - /usr/include/dbus-1.0/dbus/dbus-errors.h \ - /usr/include/dbus-1.0/dbus/dbus-protocol.h \ - /usr/include/dbus-1.0/dbus/dbus-bus.h \ - /usr/include/dbus-1.0/dbus/dbus-connection.h \ - /usr/include/dbus-1.0/dbus/dbus-memory.h \ - /usr/include/dbus-1.0/dbus/dbus-message.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/dbus-1.0/dbus/dbus-shared.h \ - /usr/include/dbus-1.0/dbus/dbus-misc.h \ - /usr/include/dbus-1.0/dbus/dbus-pending-call.h \ - /usr/include/dbus-1.0/dbus/dbus-server.h \ - /usr/include/dbus-1.0/dbus/dbus-signature.h \ - /usr/include/dbus-1.0/dbus/dbus-syntax.h \ - /usr/include/dbus-1.0/dbus/dbus-threads.h /usr/include/glib-2.0/glib.h \ - /usr/include/glib-2.0/glib/galloca.h /usr/include/glib-2.0/glib/gtypes.h \ - /usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h \ - /usr/include/glib-2.0/glib/gmacros.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h \ - /usr/include/limits.h /usr/include/arm-linux-gnueabihf/bits/posix1_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/local_lim.h \ - /usr/include/linux/limits.h \ - /usr/include/arm-linux-gnueabihf/bits/posix2_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/xopen_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h \ - /usr/include/glib-2.0/glib/gversionmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/timex.h \ - /usr/include/glib-2.0/glib/garray.h \ - /usr/include/glib-2.0/glib/gasyncqueue.h \ - /usr/include/glib-2.0/glib/gthread.h \ - /usr/include/glib-2.0/glib/gatomic.h /usr/include/glib-2.0/glib/gerror.h \ - /usr/include/glib-2.0/glib/gquark.h \ - /usr/include/glib-2.0/glib/gbacktrace.h /usr/include/signal.h \ - /usr/include/arm-linux-gnueabihf/bits/signum.h \ - /usr/include/arm-linux-gnueabihf/bits/siginfo.h \ - /usr/include/arm-linux-gnueabihf/bits/sigaction.h \ - /usr/include/arm-linux-gnueabihf/bits/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/asm/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigstack.h \ - /usr/include/arm-linux-gnueabihf/sys/ucontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigthread.h \ - /usr/include/glib-2.0/glib/gbase64.h \ - /usr/include/glib-2.0/glib/gbitlock.h \ - /usr/include/glib-2.0/glib/gbookmarkfile.h \ - /usr/include/glib-2.0/glib/gbytes.h \ - /usr/include/glib-2.0/glib/gcharset.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/gconvert.h \ - /usr/include/glib-2.0/glib/gdataset.h /usr/include/glib-2.0/glib/gdate.h \ - /usr/include/glib-2.0/glib/gdatetime.h \ - /usr/include/glib-2.0/glib/gtimezone.h /usr/include/glib-2.0/glib/gdir.h \ - /usr/include/dirent.h /usr/include/arm-linux-gnueabihf/bits/dirent.h \ - /usr/include/glib-2.0/glib/genviron.h \ - /usr/include/glib-2.0/glib/gfileutils.h \ - /usr/include/glib-2.0/glib/ggettext.h /usr/include/glib-2.0/glib/ghash.h \ - /usr/include/glib-2.0/glib/glist.h /usr/include/glib-2.0/glib/gmem.h \ - /usr/include/glib-2.0/glib/gnode.h /usr/include/glib-2.0/glib/ghmac.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/ghook.h \ - /usr/include/glib-2.0/glib/ghostutils.h \ - /usr/include/glib-2.0/glib/giochannel.h \ - /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gpoll.h \ - /usr/include/glib-2.0/glib/gslist.h /usr/include/glib-2.0/glib/gstring.h \ - /usr/include/glib-2.0/glib/gunicode.h \ - /usr/include/glib-2.0/glib/gutils.h \ - /usr/include/glib-2.0/glib/gkeyfile.h \ - /usr/include/glib-2.0/glib/gmappedfile.h \ - /usr/include/glib-2.0/glib/gmarkup.h \ - /usr/include/glib-2.0/glib/gmessages.h \ - /usr/include/glib-2.0/glib/goption.h \ - /usr/include/glib-2.0/glib/gpattern.h \ - /usr/include/glib-2.0/glib/gprimes.h /usr/include/glib-2.0/glib/gqsort.h \ - /usr/include/glib-2.0/glib/gqueue.h /usr/include/glib-2.0/glib/grand.h \ - /usr/include/glib-2.0/glib/gregex.h \ - /usr/include/glib-2.0/glib/gscanner.h \ - /usr/include/glib-2.0/glib/gsequence.h \ - /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gslice.h \ - /usr/include/glib-2.0/glib/gspawn.h \ - /usr/include/glib-2.0/glib/gstrfuncs.h \ - /usr/include/glib-2.0/glib/gstringchunk.h \ - /usr/include/glib-2.0/glib/gtestutils.h \ - /usr/include/glib-2.0/glib/gthreadpool.h \ - /usr/include/glib-2.0/glib/gtimer.h \ - /usr/include/glib-2.0/glib/gtrashstack.h \ - /usr/include/glib-2.0/glib/gtree.h \ - /usr/include/glib-2.0/glib/gurifuncs.h \ - /usr/include/glib-2.0/glib/gvarianttype.h \ - /usr/include/glib-2.0/glib/gvariant.h \ - /usr/include/glib-2.0/glib/gversion.h \ - /usr/include/glib-2.0/glib/deprecated/gallocator.h \ - /usr/include/glib-2.0/glib/deprecated/gcache.h \ - /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ - /usr/include/glib-2.0/glib/deprecated/gmain.h \ - /usr/include/glib-2.0/glib/deprecated/grel.h \ - /usr/include/glib-2.0/glib/deprecated/gthread.h /usr/include/pthread.h \ - /usr/include/sched.h /usr/include/arm-linux-gnueabihf/bits/sched.h \ - /usr/include/arm-linux-gnueabihf/bits/setjmp.h lib/bluetooth/bluetooth.h \ - /usr/include/stdio.h /usr/include/libio.h /usr/include/_G_config.h \ - /usr/include/wchar.h /usr/include/arm-linux-gnueabihf/bits/sys_errlist.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h \ - /usr/include/stdint.h /usr/include/arm-linux-gnueabihf/bits/wchar.h \ - /usr/include/string.h /usr/include/arm-linux-gnueabihf/bits/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string2.h /usr/include/byteswap.h \ - /usr/include/netinet/in.h /usr/include/arm-linux-gnueabihf/sys/socket.h \ - /usr/include/arm-linux-gnueabihf/sys/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/socket.h \ - /usr/include/arm-linux-gnueabihf/bits/socket_type.h \ - /usr/include/arm-linux-gnueabihf/bits/sockaddr.h \ - /usr/include/arm-linux-gnueabihf/asm/socket.h \ - /usr/include/asm-generic/socket.h \ - /usr/include/arm-linux-gnueabihf/asm/sockios.h \ - /usr/include/asm-generic/sockios.h \ - /usr/include/arm-linux-gnueabihf/bits/in.h lib/bluetooth/sdp.h \ - lib/bluetooth/sdp_lib.h lib/bluetooth/hci.h lib/../src/adapter.h \ - lib/bluetooth/hci_lib.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdbool.h src/log.h \ - profiles/audio/device.h profiles/audio/manager.h profiles/audio/avdtp.h \ - profiles/audio/sink.h profiles/audio/source.h profiles/audio/a2dp.h \ - profiles/audio/a2dp-codecs.h src/sdpd.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/include/stdlib.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/include/arm-linux-gnueabihf/bits/waitflags.h: - -/usr/include/arm-linux-gnueabihf/bits/waitstatus.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/xlocale.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/time.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/alloca.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-float.h: - -/usr/include/errno.h: - -/usr/include/arm-linux-gnueabihf/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/arm-linux-gnueabihf/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/include/dbus-1.0/dbus/dbus.h: - -/usr/lib/arm-linux-gnueabihf/dbus-1.0/include/dbus/dbus-arch-deps.h: - -/usr/include/dbus-1.0/dbus/dbus-macros.h: - -/usr/include/dbus-1.0/dbus/dbus-address.h: - -/usr/include/dbus-1.0/dbus/dbus-types.h: - -/usr/include/dbus-1.0/dbus/dbus-errors.h: - -/usr/include/dbus-1.0/dbus/dbus-protocol.h: - -/usr/include/dbus-1.0/dbus/dbus-bus.h: - -/usr/include/dbus-1.0/dbus/dbus-connection.h: - -/usr/include/dbus-1.0/dbus/dbus-memory.h: - -/usr/include/dbus-1.0/dbus/dbus-message.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/dbus-1.0/dbus/dbus-shared.h: - -/usr/include/dbus-1.0/dbus/dbus-misc.h: - -/usr/include/dbus-1.0/dbus/dbus-pending-call.h: - -/usr/include/dbus-1.0/dbus/dbus-server.h: - -/usr/include/dbus-1.0/dbus/dbus-signature.h: - -/usr/include/dbus-1.0/dbus/dbus-syntax.h: - -/usr/include/dbus-1.0/dbus/dbus-threads.h: - -/usr/include/glib-2.0/glib.h: - -/usr/include/glib-2.0/glib/galloca.h: - -/usr/include/glib-2.0/glib/gtypes.h: - -/usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h: - -/usr/include/glib-2.0/glib/gmacros.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h: - -/usr/include/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/local_lim.h: - -/usr/include/linux/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix2_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/xopen_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h: - -/usr/include/glib-2.0/glib/gversionmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/timex.h: - -/usr/include/glib-2.0/glib/garray.h: - -/usr/include/glib-2.0/glib/gasyncqueue.h: - -/usr/include/glib-2.0/glib/gthread.h: - -/usr/include/glib-2.0/glib/gatomic.h: - -/usr/include/glib-2.0/glib/gerror.h: - -/usr/include/glib-2.0/glib/gquark.h: - -/usr/include/glib-2.0/glib/gbacktrace.h: - -/usr/include/signal.h: - -/usr/include/arm-linux-gnueabihf/bits/signum.h: - -/usr/include/arm-linux-gnueabihf/bits/siginfo.h: - -/usr/include/arm-linux-gnueabihf/bits/sigaction.h: - -/usr/include/arm-linux-gnueabihf/bits/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/asm/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigstack.h: - -/usr/include/arm-linux-gnueabihf/sys/ucontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigthread.h: - -/usr/include/glib-2.0/glib/gbase64.h: - -/usr/include/glib-2.0/glib/gbitlock.h: - -/usr/include/glib-2.0/glib/gbookmarkfile.h: - -/usr/include/glib-2.0/glib/gbytes.h: - -/usr/include/glib-2.0/glib/gcharset.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/gconvert.h: - -/usr/include/glib-2.0/glib/gdataset.h: - -/usr/include/glib-2.0/glib/gdate.h: - -/usr/include/glib-2.0/glib/gdatetime.h: - -/usr/include/glib-2.0/glib/gtimezone.h: - -/usr/include/glib-2.0/glib/gdir.h: - -/usr/include/dirent.h: - -/usr/include/arm-linux-gnueabihf/bits/dirent.h: - -/usr/include/glib-2.0/glib/genviron.h: - -/usr/include/glib-2.0/glib/gfileutils.h: - -/usr/include/glib-2.0/glib/ggettext.h: - -/usr/include/glib-2.0/glib/ghash.h: - -/usr/include/glib-2.0/glib/glist.h: - -/usr/include/glib-2.0/glib/gmem.h: - -/usr/include/glib-2.0/glib/gnode.h: - -/usr/include/glib-2.0/glib/ghmac.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/ghook.h: - -/usr/include/glib-2.0/glib/ghostutils.h: - -/usr/include/glib-2.0/glib/giochannel.h: - -/usr/include/glib-2.0/glib/gmain.h: - -/usr/include/glib-2.0/glib/gpoll.h: - -/usr/include/glib-2.0/glib/gslist.h: - -/usr/include/glib-2.0/glib/gstring.h: - -/usr/include/glib-2.0/glib/gunicode.h: - -/usr/include/glib-2.0/glib/gutils.h: - -/usr/include/glib-2.0/glib/gkeyfile.h: - -/usr/include/glib-2.0/glib/gmappedfile.h: - -/usr/include/glib-2.0/glib/gmarkup.h: - -/usr/include/glib-2.0/glib/gmessages.h: - -/usr/include/glib-2.0/glib/goption.h: - -/usr/include/glib-2.0/glib/gpattern.h: - -/usr/include/glib-2.0/glib/gprimes.h: - -/usr/include/glib-2.0/glib/gqsort.h: - -/usr/include/glib-2.0/glib/gqueue.h: - -/usr/include/glib-2.0/glib/grand.h: - -/usr/include/glib-2.0/glib/gregex.h: - -/usr/include/glib-2.0/glib/gscanner.h: - -/usr/include/glib-2.0/glib/gsequence.h: - -/usr/include/glib-2.0/glib/gshell.h: - -/usr/include/glib-2.0/glib/gslice.h: - -/usr/include/glib-2.0/glib/gspawn.h: - -/usr/include/glib-2.0/glib/gstrfuncs.h: - -/usr/include/glib-2.0/glib/gstringchunk.h: - -/usr/include/glib-2.0/glib/gtestutils.h: - -/usr/include/glib-2.0/glib/gthreadpool.h: - -/usr/include/glib-2.0/glib/gtimer.h: - -/usr/include/glib-2.0/glib/gtrashstack.h: - -/usr/include/glib-2.0/glib/gtree.h: - -/usr/include/glib-2.0/glib/gurifuncs.h: - -/usr/include/glib-2.0/glib/gvarianttype.h: - -/usr/include/glib-2.0/glib/gvariant.h: - -/usr/include/glib-2.0/glib/gversion.h: - -/usr/include/glib-2.0/glib/deprecated/gallocator.h: - -/usr/include/glib-2.0/glib/deprecated/gcache.h: - -/usr/include/glib-2.0/glib/deprecated/gcompletion.h: - -/usr/include/glib-2.0/glib/deprecated/gmain.h: - -/usr/include/glib-2.0/glib/deprecated/grel.h: - -/usr/include/glib-2.0/glib/deprecated/gthread.h: - -/usr/include/pthread.h: - -/usr/include/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/setjmp.h: - -lib/bluetooth/bluetooth.h: - -/usr/include/stdio.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/include/arm-linux-gnueabihf/bits/sys_errlist.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/arm-linux-gnueabihf/bits/wchar.h: - -/usr/include/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string2.h: - -/usr/include/byteswap.h: - -/usr/include/netinet/in.h: - -/usr/include/arm-linux-gnueabihf/sys/socket.h: - -/usr/include/arm-linux-gnueabihf/sys/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/socket.h: - -/usr/include/arm-linux-gnueabihf/bits/socket_type.h: - -/usr/include/arm-linux-gnueabihf/bits/sockaddr.h: - -/usr/include/arm-linux-gnueabihf/asm/socket.h: - -/usr/include/asm-generic/socket.h: - -/usr/include/arm-linux-gnueabihf/asm/sockios.h: - -/usr/include/asm-generic/sockios.h: - -/usr/include/arm-linux-gnueabihf/bits/in.h: - -lib/bluetooth/sdp.h: - -lib/bluetooth/sdp_lib.h: - -lib/bluetooth/hci.h: - -lib/../src/adapter.h: - -lib/bluetooth/hci_lib.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdbool.h: - -src/log.h: - -profiles/audio/device.h: - -profiles/audio/manager.h: - -profiles/audio/avdtp.h: - -profiles/audio/sink.h: - -profiles/audio/source.h: - -profiles/audio/a2dp.h: - -profiles/audio/a2dp-codecs.h: - -src/sdpd.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/profiles/audio/.deps/bluetoothd-avctp.Po b/GRIB_BLE_HUB/libs/ble_extend/profiles/audio/.deps/bluetoothd-avctp.Po deleted file mode 100644 index e4181e2..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/profiles/audio/.deps/bluetoothd-avctp.Po +++ /dev/null @@ -1,609 +0,0 @@ -profiles/audio/bluetoothd-avctp.o: profiles/audio/avctp.c \ - /usr/include/stdc-predef.h config.h /usr/include/stdlib.h \ - /usr/include/features.h /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/include/arm-linux-gnueabihf/bits/waitflags.h \ - /usr/include/arm-linux-gnueabihf/bits/waitstatus.h /usr/include/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/xlocale.h /usr/include/arm-linux-gnueabihf/sys/types.h \ - /usr/include/time.h /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/alloca.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-float.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h \ - /usr/include/stdint.h /usr/include/arm-linux-gnueabihf/bits/wchar.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdbool.h \ - /usr/include/errno.h /usr/include/arm-linux-gnueabihf/bits/errno.h \ - /usr/include/linux/errno.h /usr/include/arm-linux-gnueabihf/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/include/unistd.h /usr/include/arm-linux-gnueabihf/bits/posix_opt.h \ - /usr/include/arm-linux-gnueabihf/bits/environments.h \ - /usr/include/arm-linux-gnueabihf/bits/confname.h /usr/include/getopt.h \ - /usr/include/assert.h /usr/include/signal.h \ - /usr/include/arm-linux-gnueabihf/bits/signum.h \ - /usr/include/arm-linux-gnueabihf/bits/siginfo.h \ - /usr/include/arm-linux-gnueabihf/bits/sigaction.h \ - /usr/include/arm-linux-gnueabihf/bits/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/asm/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigstack.h \ - /usr/include/arm-linux-gnueabihf/sys/ucontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigthread.h \ - /usr/include/arm-linux-gnueabihf/sys/stat.h \ - /usr/include/arm-linux-gnueabihf/bits/stat.h /usr/include/fcntl.h \ - /usr/include/arm-linux-gnueabihf/bits/fcntl.h \ - /usr/include/arm-linux-gnueabihf/bits/fcntl-linux.h \ - /usr/include/arm-linux-gnueabihf/bits/uio.h /usr/include/netinet/in.h \ - /usr/include/arm-linux-gnueabihf/sys/socket.h \ - /usr/include/arm-linux-gnueabihf/sys/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/socket.h \ - /usr/include/arm-linux-gnueabihf/bits/socket_type.h \ - /usr/include/arm-linux-gnueabihf/bits/sockaddr.h \ - /usr/include/arm-linux-gnueabihf/asm/socket.h \ - /usr/include/asm-generic/socket.h \ - /usr/include/arm-linux-gnueabihf/asm/sockios.h \ - /usr/include/asm-generic/sockios.h \ - /usr/include/arm-linux-gnueabihf/bits/in.h lib/bluetooth/bluetooth.h \ - /usr/include/stdio.h /usr/include/libio.h /usr/include/_G_config.h \ - /usr/include/wchar.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/sys_errlist.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio.h /usr/include/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string2.h /usr/include/byteswap.h \ - lib/bluetooth/sdp.h lib/bluetooth/l2cap.h /usr/include/glib-2.0/glib.h \ - /usr/include/glib-2.0/glib/galloca.h /usr/include/glib-2.0/glib/gtypes.h \ - /usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h \ - /usr/include/glib-2.0/glib/gmacros.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h \ - /usr/include/limits.h /usr/include/arm-linux-gnueabihf/bits/posix1_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/local_lim.h \ - /usr/include/linux/limits.h \ - /usr/include/arm-linux-gnueabihf/bits/posix2_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/xopen_lim.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h \ - /usr/include/glib-2.0/glib/gversionmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/timex.h \ - /usr/include/glib-2.0/glib/garray.h \ - /usr/include/glib-2.0/glib/gasyncqueue.h \ - /usr/include/glib-2.0/glib/gthread.h \ - /usr/include/glib-2.0/glib/gatomic.h /usr/include/glib-2.0/glib/gerror.h \ - /usr/include/glib-2.0/glib/gquark.h \ - /usr/include/glib-2.0/glib/gbacktrace.h \ - /usr/include/glib-2.0/glib/gbase64.h \ - /usr/include/glib-2.0/glib/gbitlock.h \ - /usr/include/glib-2.0/glib/gbookmarkfile.h \ - /usr/include/glib-2.0/glib/gbytes.h \ - /usr/include/glib-2.0/glib/gcharset.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/gconvert.h \ - /usr/include/glib-2.0/glib/gdataset.h /usr/include/glib-2.0/glib/gdate.h \ - /usr/include/glib-2.0/glib/gdatetime.h \ - /usr/include/glib-2.0/glib/gtimezone.h /usr/include/glib-2.0/glib/gdir.h \ - /usr/include/dirent.h /usr/include/arm-linux-gnueabihf/bits/dirent.h \ - /usr/include/glib-2.0/glib/genviron.h \ - /usr/include/glib-2.0/glib/gfileutils.h \ - /usr/include/glib-2.0/glib/ggettext.h /usr/include/glib-2.0/glib/ghash.h \ - /usr/include/glib-2.0/glib/glist.h /usr/include/glib-2.0/glib/gmem.h \ - /usr/include/glib-2.0/glib/gnode.h /usr/include/glib-2.0/glib/ghmac.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/ghook.h \ - /usr/include/glib-2.0/glib/ghostutils.h \ - /usr/include/glib-2.0/glib/giochannel.h \ - /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gpoll.h \ - /usr/include/glib-2.0/glib/gslist.h /usr/include/glib-2.0/glib/gstring.h \ - /usr/include/glib-2.0/glib/gunicode.h \ - /usr/include/glib-2.0/glib/gutils.h \ - /usr/include/glib-2.0/glib/gkeyfile.h \ - /usr/include/glib-2.0/glib/gmappedfile.h \ - /usr/include/glib-2.0/glib/gmarkup.h \ - /usr/include/glib-2.0/glib/gmessages.h \ - /usr/include/glib-2.0/glib/goption.h \ - /usr/include/glib-2.0/glib/gpattern.h \ - /usr/include/glib-2.0/glib/gprimes.h /usr/include/glib-2.0/glib/gqsort.h \ - /usr/include/glib-2.0/glib/gqueue.h /usr/include/glib-2.0/glib/grand.h \ - /usr/include/glib-2.0/glib/gregex.h \ - /usr/include/glib-2.0/glib/gscanner.h \ - /usr/include/glib-2.0/glib/gsequence.h \ - /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gslice.h \ - /usr/include/glib-2.0/glib/gspawn.h \ - /usr/include/glib-2.0/glib/gstrfuncs.h \ - /usr/include/glib-2.0/glib/gstringchunk.h \ - /usr/include/glib-2.0/glib/gtestutils.h \ - /usr/include/glib-2.0/glib/gthreadpool.h \ - /usr/include/glib-2.0/glib/gtimer.h \ - /usr/include/glib-2.0/glib/gtrashstack.h \ - /usr/include/glib-2.0/glib/gtree.h \ - /usr/include/glib-2.0/glib/gurifuncs.h \ - /usr/include/glib-2.0/glib/gvarianttype.h \ - /usr/include/glib-2.0/glib/gvariant.h \ - /usr/include/glib-2.0/glib/gversion.h \ - /usr/include/glib-2.0/glib/deprecated/gallocator.h \ - /usr/include/glib-2.0/glib/deprecated/gcache.h \ - /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ - /usr/include/glib-2.0/glib/deprecated/gmain.h \ - /usr/include/glib-2.0/glib/deprecated/grel.h \ - /usr/include/glib-2.0/glib/deprecated/gthread.h /usr/include/pthread.h \ - /usr/include/sched.h /usr/include/arm-linux-gnueabihf/bits/sched.h \ - /usr/include/arm-linux-gnueabihf/bits/setjmp.h btio/btio.h lib/uuid.h \ - src/adapter.h lib/bluetooth/hci.h lib/bluetooth/hci_lib.h \ - /usr/include/dbus-1.0/dbus/dbus.h \ - /usr/lib/arm-linux-gnueabihf/dbus-1.0/include/dbus/dbus-arch-deps.h \ - /usr/include/dbus-1.0/dbus/dbus-macros.h \ - /usr/include/dbus-1.0/dbus/dbus-address.h \ - /usr/include/dbus-1.0/dbus/dbus-types.h \ - /usr/include/dbus-1.0/dbus/dbus-errors.h \ - /usr/include/dbus-1.0/dbus/dbus-protocol.h \ - /usr/include/dbus-1.0/dbus/dbus-bus.h \ - /usr/include/dbus-1.0/dbus/dbus-connection.h \ - /usr/include/dbus-1.0/dbus/dbus-memory.h \ - /usr/include/dbus-1.0/dbus/dbus-message.h \ - /usr/include/dbus-1.0/dbus/dbus-shared.h \ - /usr/include/dbus-1.0/dbus/dbus-misc.h \ - /usr/include/dbus-1.0/dbus/dbus-pending-call.h \ - /usr/include/dbus-1.0/dbus/dbus-server.h \ - /usr/include/dbus-1.0/dbus/dbus-signature.h \ - /usr/include/dbus-1.0/dbus/dbus-syntax.h \ - /usr/include/dbus-1.0/dbus/dbus-threads.h lib/../src/device.h src/log.h \ - src/error.h src/uinput.h /usr/include/arm-linux-gnueabihf/sys/time.h \ - /usr/include/arm-linux-gnueabihf/sys/ioctl.h \ - /usr/include/arm-linux-gnueabihf/bits/ioctls.h \ - /usr/include/arm-linux-gnueabihf/asm/ioctls.h \ - /usr/include/asm-generic/ioctls.h /usr/include/linux/ioctl.h \ - /usr/include/arm-linux-gnueabihf/asm/ioctl.h \ - /usr/include/asm-generic/ioctl.h \ - /usr/include/arm-linux-gnueabihf/bits/ioctl-types.h \ - /usr/include/arm-linux-gnueabihf/sys/ttydefaults.h \ - profiles/audio/manager.h profiles/audio/device.h profiles/audio/avctp.h \ - profiles/audio/avrcp.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/include/stdlib.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/include/arm-linux-gnueabihf/bits/waitflags.h: - -/usr/include/arm-linux-gnueabihf/bits/waitstatus.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/xlocale.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/time.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/alloca.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-float.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/arm-linux-gnueabihf/bits/wchar.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdbool.h: - -/usr/include/errno.h: - -/usr/include/arm-linux-gnueabihf/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/arm-linux-gnueabihf/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/include/unistd.h: - -/usr/include/arm-linux-gnueabihf/bits/posix_opt.h: - -/usr/include/arm-linux-gnueabihf/bits/environments.h: - -/usr/include/arm-linux-gnueabihf/bits/confname.h: - -/usr/include/getopt.h: - -/usr/include/assert.h: - -/usr/include/signal.h: - -/usr/include/arm-linux-gnueabihf/bits/signum.h: - -/usr/include/arm-linux-gnueabihf/bits/siginfo.h: - -/usr/include/arm-linux-gnueabihf/bits/sigaction.h: - -/usr/include/arm-linux-gnueabihf/bits/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/asm/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigstack.h: - -/usr/include/arm-linux-gnueabihf/sys/ucontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigthread.h: - -/usr/include/arm-linux-gnueabihf/sys/stat.h: - -/usr/include/arm-linux-gnueabihf/bits/stat.h: - -/usr/include/fcntl.h: - -/usr/include/arm-linux-gnueabihf/bits/fcntl.h: - -/usr/include/arm-linux-gnueabihf/bits/fcntl-linux.h: - -/usr/include/arm-linux-gnueabihf/bits/uio.h: - -/usr/include/netinet/in.h: - -/usr/include/arm-linux-gnueabihf/sys/socket.h: - -/usr/include/arm-linux-gnueabihf/sys/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/socket.h: - -/usr/include/arm-linux-gnueabihf/bits/socket_type.h: - -/usr/include/arm-linux-gnueabihf/bits/sockaddr.h: - -/usr/include/arm-linux-gnueabihf/asm/socket.h: - -/usr/include/asm-generic/socket.h: - -/usr/include/arm-linux-gnueabihf/asm/sockios.h: - -/usr/include/asm-generic/sockios.h: - -/usr/include/arm-linux-gnueabihf/bits/in.h: - -lib/bluetooth/bluetooth.h: - -/usr/include/stdio.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/sys_errlist.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio.h: - -/usr/include/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string2.h: - -/usr/include/byteswap.h: - -lib/bluetooth/sdp.h: - -lib/bluetooth/l2cap.h: - -/usr/include/glib-2.0/glib.h: - -/usr/include/glib-2.0/glib/galloca.h: - -/usr/include/glib-2.0/glib/gtypes.h: - -/usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h: - -/usr/include/glib-2.0/glib/gmacros.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h: - -/usr/include/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/local_lim.h: - -/usr/include/linux/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix2_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/xopen_lim.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h: - -/usr/include/glib-2.0/glib/gversionmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/timex.h: - -/usr/include/glib-2.0/glib/garray.h: - -/usr/include/glib-2.0/glib/gasyncqueue.h: - -/usr/include/glib-2.0/glib/gthread.h: - -/usr/include/glib-2.0/glib/gatomic.h: - -/usr/include/glib-2.0/glib/gerror.h: - -/usr/include/glib-2.0/glib/gquark.h: - -/usr/include/glib-2.0/glib/gbacktrace.h: - -/usr/include/glib-2.0/glib/gbase64.h: - -/usr/include/glib-2.0/glib/gbitlock.h: - -/usr/include/glib-2.0/glib/gbookmarkfile.h: - -/usr/include/glib-2.0/glib/gbytes.h: - -/usr/include/glib-2.0/glib/gcharset.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/gconvert.h: - -/usr/include/glib-2.0/glib/gdataset.h: - -/usr/include/glib-2.0/glib/gdate.h: - -/usr/include/glib-2.0/glib/gdatetime.h: - -/usr/include/glib-2.0/glib/gtimezone.h: - -/usr/include/glib-2.0/glib/gdir.h: - -/usr/include/dirent.h: - -/usr/include/arm-linux-gnueabihf/bits/dirent.h: - -/usr/include/glib-2.0/glib/genviron.h: - -/usr/include/glib-2.0/glib/gfileutils.h: - -/usr/include/glib-2.0/glib/ggettext.h: - -/usr/include/glib-2.0/glib/ghash.h: - -/usr/include/glib-2.0/glib/glist.h: - -/usr/include/glib-2.0/glib/gmem.h: - -/usr/include/glib-2.0/glib/gnode.h: - -/usr/include/glib-2.0/glib/ghmac.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/ghook.h: - -/usr/include/glib-2.0/glib/ghostutils.h: - -/usr/include/glib-2.0/glib/giochannel.h: - -/usr/include/glib-2.0/glib/gmain.h: - -/usr/include/glib-2.0/glib/gpoll.h: - -/usr/include/glib-2.0/glib/gslist.h: - -/usr/include/glib-2.0/glib/gstring.h: - -/usr/include/glib-2.0/glib/gunicode.h: - -/usr/include/glib-2.0/glib/gutils.h: - -/usr/include/glib-2.0/glib/gkeyfile.h: - -/usr/include/glib-2.0/glib/gmappedfile.h: - -/usr/include/glib-2.0/glib/gmarkup.h: - -/usr/include/glib-2.0/glib/gmessages.h: - -/usr/include/glib-2.0/glib/goption.h: - -/usr/include/glib-2.0/glib/gpattern.h: - -/usr/include/glib-2.0/glib/gprimes.h: - -/usr/include/glib-2.0/glib/gqsort.h: - -/usr/include/glib-2.0/glib/gqueue.h: - -/usr/include/glib-2.0/glib/grand.h: - -/usr/include/glib-2.0/glib/gregex.h: - -/usr/include/glib-2.0/glib/gscanner.h: - -/usr/include/glib-2.0/glib/gsequence.h: - -/usr/include/glib-2.0/glib/gshell.h: - -/usr/include/glib-2.0/glib/gslice.h: - -/usr/include/glib-2.0/glib/gspawn.h: - -/usr/include/glib-2.0/glib/gstrfuncs.h: - -/usr/include/glib-2.0/glib/gstringchunk.h: - -/usr/include/glib-2.0/glib/gtestutils.h: - -/usr/include/glib-2.0/glib/gthreadpool.h: - -/usr/include/glib-2.0/glib/gtimer.h: - -/usr/include/glib-2.0/glib/gtrashstack.h: - -/usr/include/glib-2.0/glib/gtree.h: - -/usr/include/glib-2.0/glib/gurifuncs.h: - -/usr/include/glib-2.0/glib/gvarianttype.h: - -/usr/include/glib-2.0/glib/gvariant.h: - -/usr/include/glib-2.0/glib/gversion.h: - -/usr/include/glib-2.0/glib/deprecated/gallocator.h: - -/usr/include/glib-2.0/glib/deprecated/gcache.h: - -/usr/include/glib-2.0/glib/deprecated/gcompletion.h: - -/usr/include/glib-2.0/glib/deprecated/gmain.h: - -/usr/include/glib-2.0/glib/deprecated/grel.h: - -/usr/include/glib-2.0/glib/deprecated/gthread.h: - -/usr/include/pthread.h: - -/usr/include/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/setjmp.h: - -btio/btio.h: - -lib/uuid.h: - -src/adapter.h: - -lib/bluetooth/hci.h: - -lib/bluetooth/hci_lib.h: - -/usr/include/dbus-1.0/dbus/dbus.h: - -/usr/lib/arm-linux-gnueabihf/dbus-1.0/include/dbus/dbus-arch-deps.h: - -/usr/include/dbus-1.0/dbus/dbus-macros.h: - -/usr/include/dbus-1.0/dbus/dbus-address.h: - -/usr/include/dbus-1.0/dbus/dbus-types.h: - -/usr/include/dbus-1.0/dbus/dbus-errors.h: - -/usr/include/dbus-1.0/dbus/dbus-protocol.h: - -/usr/include/dbus-1.0/dbus/dbus-bus.h: - -/usr/include/dbus-1.0/dbus/dbus-connection.h: - -/usr/include/dbus-1.0/dbus/dbus-memory.h: - -/usr/include/dbus-1.0/dbus/dbus-message.h: - -/usr/include/dbus-1.0/dbus/dbus-shared.h: - -/usr/include/dbus-1.0/dbus/dbus-misc.h: - -/usr/include/dbus-1.0/dbus/dbus-pending-call.h: - -/usr/include/dbus-1.0/dbus/dbus-server.h: - -/usr/include/dbus-1.0/dbus/dbus-signature.h: - -/usr/include/dbus-1.0/dbus/dbus-syntax.h: - -/usr/include/dbus-1.0/dbus/dbus-threads.h: - -lib/../src/device.h: - -src/log.h: - -src/error.h: - -src/uinput.h: - -/usr/include/arm-linux-gnueabihf/sys/time.h: - -/usr/include/arm-linux-gnueabihf/sys/ioctl.h: - -/usr/include/arm-linux-gnueabihf/bits/ioctls.h: - -/usr/include/arm-linux-gnueabihf/asm/ioctls.h: - -/usr/include/asm-generic/ioctls.h: - -/usr/include/linux/ioctl.h: - -/usr/include/arm-linux-gnueabihf/asm/ioctl.h: - -/usr/include/asm-generic/ioctl.h: - -/usr/include/arm-linux-gnueabihf/bits/ioctl-types.h: - -/usr/include/arm-linux-gnueabihf/sys/ttydefaults.h: - -profiles/audio/manager.h: - -profiles/audio/device.h: - -profiles/audio/avctp.h: - -profiles/audio/avrcp.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/profiles/audio/.deps/bluetoothd-avdtp.Po b/GRIB_BLE_HUB/libs/ble_extend/profiles/audio/.deps/bluetoothd-avdtp.Po deleted file mode 100644 index fd8df29..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/profiles/audio/.deps/bluetoothd-avdtp.Po +++ /dev/null @@ -1,568 +0,0 @@ -profiles/audio/bluetoothd-avdtp.o: profiles/audio/avdtp.c \ - /usr/include/stdc-predef.h config.h /usr/include/stdlib.h \ - /usr/include/features.h /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/include/arm-linux-gnueabihf/bits/waitflags.h \ - /usr/include/arm-linux-gnueabihf/bits/waitstatus.h /usr/include/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/xlocale.h /usr/include/arm-linux-gnueabihf/sys/types.h \ - /usr/include/time.h /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/alloca.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-float.h \ - /usr/include/stdio.h /usr/include/libio.h /usr/include/_G_config.h \ - /usr/include/wchar.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/sys_errlist.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h \ - /usr/include/stdint.h /usr/include/arm-linux-gnueabihf/bits/wchar.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdbool.h \ - /usr/include/errno.h /usr/include/arm-linux-gnueabihf/bits/errno.h \ - /usr/include/linux/errno.h /usr/include/arm-linux-gnueabihf/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/include/unistd.h /usr/include/arm-linux-gnueabihf/bits/posix_opt.h \ - /usr/include/arm-linux-gnueabihf/bits/environments.h \ - /usr/include/arm-linux-gnueabihf/bits/confname.h /usr/include/getopt.h \ - /usr/include/assert.h /usr/include/signal.h \ - /usr/include/arm-linux-gnueabihf/bits/signum.h \ - /usr/include/arm-linux-gnueabihf/bits/siginfo.h \ - /usr/include/arm-linux-gnueabihf/bits/sigaction.h \ - /usr/include/arm-linux-gnueabihf/bits/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/asm/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigstack.h \ - /usr/include/arm-linux-gnueabihf/sys/ucontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigthread.h \ - /usr/include/netinet/in.h /usr/include/arm-linux-gnueabihf/sys/socket.h \ - /usr/include/arm-linux-gnueabihf/sys/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/socket.h \ - /usr/include/arm-linux-gnueabihf/bits/socket_type.h \ - /usr/include/arm-linux-gnueabihf/bits/sockaddr.h \ - /usr/include/arm-linux-gnueabihf/asm/socket.h \ - /usr/include/asm-generic/socket.h \ - /usr/include/arm-linux-gnueabihf/asm/sockios.h \ - /usr/include/asm-generic/sockios.h \ - /usr/include/arm-linux-gnueabihf/bits/in.h lib/bluetooth/bluetooth.h \ - /usr/include/string.h /usr/include/arm-linux-gnueabihf/bits/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string2.h /usr/include/byteswap.h \ - lib/bluetooth/sdp.h lib/bluetooth/sdp_lib.h lib/bluetooth/hci.h \ - /usr/include/glib-2.0/glib.h /usr/include/glib-2.0/glib/galloca.h \ - /usr/include/glib-2.0/glib/gtypes.h \ - /usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h \ - /usr/include/glib-2.0/glib/gmacros.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h \ - /usr/include/limits.h /usr/include/arm-linux-gnueabihf/bits/posix1_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/local_lim.h \ - /usr/include/linux/limits.h \ - /usr/include/arm-linux-gnueabihf/bits/posix2_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/xopen_lim.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h \ - /usr/include/glib-2.0/glib/gversionmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/timex.h \ - /usr/include/glib-2.0/glib/garray.h \ - /usr/include/glib-2.0/glib/gasyncqueue.h \ - /usr/include/glib-2.0/glib/gthread.h \ - /usr/include/glib-2.0/glib/gatomic.h /usr/include/glib-2.0/glib/gerror.h \ - /usr/include/glib-2.0/glib/gquark.h \ - /usr/include/glib-2.0/glib/gbacktrace.h \ - /usr/include/glib-2.0/glib/gbase64.h \ - /usr/include/glib-2.0/glib/gbitlock.h \ - /usr/include/glib-2.0/glib/gbookmarkfile.h \ - /usr/include/glib-2.0/glib/gbytes.h \ - /usr/include/glib-2.0/glib/gcharset.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/gconvert.h \ - /usr/include/glib-2.0/glib/gdataset.h /usr/include/glib-2.0/glib/gdate.h \ - /usr/include/glib-2.0/glib/gdatetime.h \ - /usr/include/glib-2.0/glib/gtimezone.h /usr/include/glib-2.0/glib/gdir.h \ - /usr/include/dirent.h /usr/include/arm-linux-gnueabihf/bits/dirent.h \ - /usr/include/glib-2.0/glib/genviron.h \ - /usr/include/glib-2.0/glib/gfileutils.h \ - /usr/include/glib-2.0/glib/ggettext.h /usr/include/glib-2.0/glib/ghash.h \ - /usr/include/glib-2.0/glib/glist.h /usr/include/glib-2.0/glib/gmem.h \ - /usr/include/glib-2.0/glib/gnode.h /usr/include/glib-2.0/glib/ghmac.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/ghook.h \ - /usr/include/glib-2.0/glib/ghostutils.h \ - /usr/include/glib-2.0/glib/giochannel.h \ - /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gpoll.h \ - /usr/include/glib-2.0/glib/gslist.h /usr/include/glib-2.0/glib/gstring.h \ - /usr/include/glib-2.0/glib/gunicode.h \ - /usr/include/glib-2.0/glib/gutils.h \ - /usr/include/glib-2.0/glib/gkeyfile.h \ - /usr/include/glib-2.0/glib/gmappedfile.h \ - /usr/include/glib-2.0/glib/gmarkup.h \ - /usr/include/glib-2.0/glib/gmessages.h \ - /usr/include/glib-2.0/glib/goption.h \ - /usr/include/glib-2.0/glib/gpattern.h \ - /usr/include/glib-2.0/glib/gprimes.h /usr/include/glib-2.0/glib/gqsort.h \ - /usr/include/glib-2.0/glib/gqueue.h /usr/include/glib-2.0/glib/grand.h \ - /usr/include/glib-2.0/glib/gregex.h \ - /usr/include/glib-2.0/glib/gscanner.h \ - /usr/include/glib-2.0/glib/gsequence.h \ - /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gslice.h \ - /usr/include/glib-2.0/glib/gspawn.h \ - /usr/include/glib-2.0/glib/gstrfuncs.h \ - /usr/include/glib-2.0/glib/gstringchunk.h \ - /usr/include/glib-2.0/glib/gtestutils.h \ - /usr/include/glib-2.0/glib/gthreadpool.h \ - /usr/include/glib-2.0/glib/gtimer.h \ - /usr/include/glib-2.0/glib/gtrashstack.h \ - /usr/include/glib-2.0/glib/gtree.h \ - /usr/include/glib-2.0/glib/gurifuncs.h \ - /usr/include/glib-2.0/glib/gvarianttype.h \ - /usr/include/glib-2.0/glib/gvariant.h \ - /usr/include/glib-2.0/glib/gversion.h \ - /usr/include/glib-2.0/glib/deprecated/gallocator.h \ - /usr/include/glib-2.0/glib/deprecated/gcache.h \ - /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ - /usr/include/glib-2.0/glib/deprecated/gmain.h \ - /usr/include/glib-2.0/glib/deprecated/grel.h \ - /usr/include/glib-2.0/glib/deprecated/gthread.h /usr/include/pthread.h \ - /usr/include/sched.h /usr/include/arm-linux-gnueabihf/bits/sched.h \ - /usr/include/arm-linux-gnueabihf/bits/setjmp.h \ - /usr/include/dbus-1.0/dbus/dbus.h \ - /usr/lib/arm-linux-gnueabihf/dbus-1.0/include/dbus/dbus-arch-deps.h \ - /usr/include/dbus-1.0/dbus/dbus-macros.h \ - /usr/include/dbus-1.0/dbus/dbus-address.h \ - /usr/include/dbus-1.0/dbus/dbus-types.h \ - /usr/include/dbus-1.0/dbus/dbus-errors.h \ - /usr/include/dbus-1.0/dbus/dbus-protocol.h \ - /usr/include/dbus-1.0/dbus/dbus-bus.h \ - /usr/include/dbus-1.0/dbus/dbus-connection.h \ - /usr/include/dbus-1.0/dbus/dbus-memory.h \ - /usr/include/dbus-1.0/dbus/dbus-message.h \ - /usr/include/dbus-1.0/dbus/dbus-shared.h \ - /usr/include/dbus-1.0/dbus/dbus-misc.h \ - /usr/include/dbus-1.0/dbus/dbus-pending-call.h \ - /usr/include/dbus-1.0/dbus/dbus-server.h \ - /usr/include/dbus-1.0/dbus/dbus-signature.h \ - /usr/include/dbus-1.0/dbus/dbus-syntax.h \ - /usr/include/dbus-1.0/dbus/dbus-threads.h btio/btio.h src/log.h \ - lib/uuid.h lib/../src/adapter.h lib/bluetooth/hci_lib.h \ - lib/../src/device.h profiles/audio/device.h profiles/audio/manager.h \ - profiles/audio/control.h profiles/audio/avdtp.h profiles/audio/sink.h \ - profiles/audio/source.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/include/stdlib.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/include/arm-linux-gnueabihf/bits/waitflags.h: - -/usr/include/arm-linux-gnueabihf/bits/waitstatus.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/xlocale.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/time.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/alloca.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-float.h: - -/usr/include/stdio.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/sys_errlist.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/arm-linux-gnueabihf/bits/wchar.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdbool.h: - -/usr/include/errno.h: - -/usr/include/arm-linux-gnueabihf/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/arm-linux-gnueabihf/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/include/unistd.h: - -/usr/include/arm-linux-gnueabihf/bits/posix_opt.h: - -/usr/include/arm-linux-gnueabihf/bits/environments.h: - -/usr/include/arm-linux-gnueabihf/bits/confname.h: - -/usr/include/getopt.h: - -/usr/include/assert.h: - -/usr/include/signal.h: - -/usr/include/arm-linux-gnueabihf/bits/signum.h: - -/usr/include/arm-linux-gnueabihf/bits/siginfo.h: - -/usr/include/arm-linux-gnueabihf/bits/sigaction.h: - -/usr/include/arm-linux-gnueabihf/bits/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/asm/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigstack.h: - -/usr/include/arm-linux-gnueabihf/sys/ucontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigthread.h: - -/usr/include/netinet/in.h: - -/usr/include/arm-linux-gnueabihf/sys/socket.h: - -/usr/include/arm-linux-gnueabihf/sys/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/socket.h: - -/usr/include/arm-linux-gnueabihf/bits/socket_type.h: - -/usr/include/arm-linux-gnueabihf/bits/sockaddr.h: - -/usr/include/arm-linux-gnueabihf/asm/socket.h: - -/usr/include/asm-generic/socket.h: - -/usr/include/arm-linux-gnueabihf/asm/sockios.h: - -/usr/include/asm-generic/sockios.h: - -/usr/include/arm-linux-gnueabihf/bits/in.h: - -lib/bluetooth/bluetooth.h: - -/usr/include/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string2.h: - -/usr/include/byteswap.h: - -lib/bluetooth/sdp.h: - -lib/bluetooth/sdp_lib.h: - -lib/bluetooth/hci.h: - -/usr/include/glib-2.0/glib.h: - -/usr/include/glib-2.0/glib/galloca.h: - -/usr/include/glib-2.0/glib/gtypes.h: - -/usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h: - -/usr/include/glib-2.0/glib/gmacros.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h: - -/usr/include/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/local_lim.h: - -/usr/include/linux/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix2_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/xopen_lim.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h: - -/usr/include/glib-2.0/glib/gversionmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/timex.h: - -/usr/include/glib-2.0/glib/garray.h: - -/usr/include/glib-2.0/glib/gasyncqueue.h: - -/usr/include/glib-2.0/glib/gthread.h: - -/usr/include/glib-2.0/glib/gatomic.h: - -/usr/include/glib-2.0/glib/gerror.h: - -/usr/include/glib-2.0/glib/gquark.h: - -/usr/include/glib-2.0/glib/gbacktrace.h: - -/usr/include/glib-2.0/glib/gbase64.h: - -/usr/include/glib-2.0/glib/gbitlock.h: - -/usr/include/glib-2.0/glib/gbookmarkfile.h: - -/usr/include/glib-2.0/glib/gbytes.h: - -/usr/include/glib-2.0/glib/gcharset.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/gconvert.h: - -/usr/include/glib-2.0/glib/gdataset.h: - -/usr/include/glib-2.0/glib/gdate.h: - -/usr/include/glib-2.0/glib/gdatetime.h: - -/usr/include/glib-2.0/glib/gtimezone.h: - -/usr/include/glib-2.0/glib/gdir.h: - -/usr/include/dirent.h: - -/usr/include/arm-linux-gnueabihf/bits/dirent.h: - -/usr/include/glib-2.0/glib/genviron.h: - -/usr/include/glib-2.0/glib/gfileutils.h: - -/usr/include/glib-2.0/glib/ggettext.h: - -/usr/include/glib-2.0/glib/ghash.h: - -/usr/include/glib-2.0/glib/glist.h: - -/usr/include/glib-2.0/glib/gmem.h: - -/usr/include/glib-2.0/glib/gnode.h: - -/usr/include/glib-2.0/glib/ghmac.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/ghook.h: - -/usr/include/glib-2.0/glib/ghostutils.h: - -/usr/include/glib-2.0/glib/giochannel.h: - -/usr/include/glib-2.0/glib/gmain.h: - -/usr/include/glib-2.0/glib/gpoll.h: - -/usr/include/glib-2.0/glib/gslist.h: - -/usr/include/glib-2.0/glib/gstring.h: - -/usr/include/glib-2.0/glib/gunicode.h: - -/usr/include/glib-2.0/glib/gutils.h: - -/usr/include/glib-2.0/glib/gkeyfile.h: - -/usr/include/glib-2.0/glib/gmappedfile.h: - -/usr/include/glib-2.0/glib/gmarkup.h: - -/usr/include/glib-2.0/glib/gmessages.h: - -/usr/include/glib-2.0/glib/goption.h: - -/usr/include/glib-2.0/glib/gpattern.h: - -/usr/include/glib-2.0/glib/gprimes.h: - -/usr/include/glib-2.0/glib/gqsort.h: - -/usr/include/glib-2.0/glib/gqueue.h: - -/usr/include/glib-2.0/glib/grand.h: - -/usr/include/glib-2.0/glib/gregex.h: - -/usr/include/glib-2.0/glib/gscanner.h: - -/usr/include/glib-2.0/glib/gsequence.h: - -/usr/include/glib-2.0/glib/gshell.h: - -/usr/include/glib-2.0/glib/gslice.h: - -/usr/include/glib-2.0/glib/gspawn.h: - -/usr/include/glib-2.0/glib/gstrfuncs.h: - -/usr/include/glib-2.0/glib/gstringchunk.h: - -/usr/include/glib-2.0/glib/gtestutils.h: - -/usr/include/glib-2.0/glib/gthreadpool.h: - -/usr/include/glib-2.0/glib/gtimer.h: - -/usr/include/glib-2.0/glib/gtrashstack.h: - -/usr/include/glib-2.0/glib/gtree.h: - -/usr/include/glib-2.0/glib/gurifuncs.h: - -/usr/include/glib-2.0/glib/gvarianttype.h: - -/usr/include/glib-2.0/glib/gvariant.h: - -/usr/include/glib-2.0/glib/gversion.h: - -/usr/include/glib-2.0/glib/deprecated/gallocator.h: - -/usr/include/glib-2.0/glib/deprecated/gcache.h: - -/usr/include/glib-2.0/glib/deprecated/gcompletion.h: - -/usr/include/glib-2.0/glib/deprecated/gmain.h: - -/usr/include/glib-2.0/glib/deprecated/grel.h: - -/usr/include/glib-2.0/glib/deprecated/gthread.h: - -/usr/include/pthread.h: - -/usr/include/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/setjmp.h: - -/usr/include/dbus-1.0/dbus/dbus.h: - -/usr/lib/arm-linux-gnueabihf/dbus-1.0/include/dbus/dbus-arch-deps.h: - -/usr/include/dbus-1.0/dbus/dbus-macros.h: - -/usr/include/dbus-1.0/dbus/dbus-address.h: - -/usr/include/dbus-1.0/dbus/dbus-types.h: - -/usr/include/dbus-1.0/dbus/dbus-errors.h: - -/usr/include/dbus-1.0/dbus/dbus-protocol.h: - -/usr/include/dbus-1.0/dbus/dbus-bus.h: - -/usr/include/dbus-1.0/dbus/dbus-connection.h: - -/usr/include/dbus-1.0/dbus/dbus-memory.h: - -/usr/include/dbus-1.0/dbus/dbus-message.h: - -/usr/include/dbus-1.0/dbus/dbus-shared.h: - -/usr/include/dbus-1.0/dbus/dbus-misc.h: - -/usr/include/dbus-1.0/dbus/dbus-pending-call.h: - -/usr/include/dbus-1.0/dbus/dbus-server.h: - -/usr/include/dbus-1.0/dbus/dbus-signature.h: - -/usr/include/dbus-1.0/dbus/dbus-syntax.h: - -/usr/include/dbus-1.0/dbus/dbus-threads.h: - -btio/btio.h: - -src/log.h: - -lib/uuid.h: - -lib/../src/adapter.h: - -lib/bluetooth/hci_lib.h: - -lib/../src/device.h: - -profiles/audio/device.h: - -profiles/audio/manager.h: - -profiles/audio/control.h: - -profiles/audio/avdtp.h: - -profiles/audio/sink.h: - -profiles/audio/source.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/profiles/audio/.deps/bluetoothd-avrcp.Po b/GRIB_BLE_HUB/libs/ble_extend/profiles/audio/.deps/bluetoothd-avrcp.Po deleted file mode 100644 index 512fdd7..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/profiles/audio/.deps/bluetoothd-avrcp.Po +++ /dev/null @@ -1,594 +0,0 @@ -profiles/audio/bluetoothd-avrcp.o: profiles/audio/avrcp.c \ - /usr/include/stdc-predef.h config.h /usr/include/stdlib.h \ - /usr/include/features.h /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/include/arm-linux-gnueabihf/bits/waitflags.h \ - /usr/include/arm-linux-gnueabihf/bits/waitstatus.h /usr/include/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/xlocale.h /usr/include/arm-linux-gnueabihf/sys/types.h \ - /usr/include/time.h /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/alloca.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-float.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h \ - /usr/include/stdint.h /usr/include/arm-linux-gnueabihf/bits/wchar.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdbool.h \ - /usr/include/errno.h /usr/include/arm-linux-gnueabihf/bits/errno.h \ - /usr/include/linux/errno.h /usr/include/arm-linux-gnueabihf/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/include/unistd.h /usr/include/arm-linux-gnueabihf/bits/posix_opt.h \ - /usr/include/arm-linux-gnueabihf/bits/environments.h \ - /usr/include/arm-linux-gnueabihf/bits/confname.h /usr/include/getopt.h \ - /usr/include/assert.h /usr/include/signal.h \ - /usr/include/arm-linux-gnueabihf/bits/signum.h \ - /usr/include/arm-linux-gnueabihf/bits/siginfo.h \ - /usr/include/arm-linux-gnueabihf/bits/sigaction.h \ - /usr/include/arm-linux-gnueabihf/bits/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/asm/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigstack.h \ - /usr/include/arm-linux-gnueabihf/sys/ucontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigthread.h \ - /usr/include/arm-linux-gnueabihf/sys/stat.h \ - /usr/include/arm-linux-gnueabihf/bits/stat.h /usr/include/fcntl.h \ - /usr/include/arm-linux-gnueabihf/bits/fcntl.h \ - /usr/include/arm-linux-gnueabihf/bits/fcntl-linux.h \ - /usr/include/arm-linux-gnueabihf/bits/uio.h lib/bluetooth/bluetooth.h \ - /usr/include/stdio.h /usr/include/libio.h /usr/include/_G_config.h \ - /usr/include/wchar.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/sys_errlist.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio.h /usr/include/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string2.h /usr/include/byteswap.h \ - /usr/include/netinet/in.h /usr/include/arm-linux-gnueabihf/sys/socket.h \ - /usr/include/arm-linux-gnueabihf/sys/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/socket.h \ - /usr/include/arm-linux-gnueabihf/bits/socket_type.h \ - /usr/include/arm-linux-gnueabihf/bits/sockaddr.h \ - /usr/include/arm-linux-gnueabihf/asm/socket.h \ - /usr/include/asm-generic/socket.h \ - /usr/include/arm-linux-gnueabihf/asm/sockios.h \ - /usr/include/asm-generic/sockios.h \ - /usr/include/arm-linux-gnueabihf/bits/in.h lib/bluetooth/sdp.h \ - lib/bluetooth/sdp_lib.h lib/bluetooth/hci.h /usr/include/glib-2.0/glib.h \ - /usr/include/glib-2.0/glib/galloca.h /usr/include/glib-2.0/glib/gtypes.h \ - /usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h \ - /usr/include/glib-2.0/glib/gmacros.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h \ - /usr/include/limits.h /usr/include/arm-linux-gnueabihf/bits/posix1_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/local_lim.h \ - /usr/include/linux/limits.h \ - /usr/include/arm-linux-gnueabihf/bits/posix2_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/xopen_lim.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h \ - /usr/include/glib-2.0/glib/gversionmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/timex.h \ - /usr/include/glib-2.0/glib/garray.h \ - /usr/include/glib-2.0/glib/gasyncqueue.h \ - /usr/include/glib-2.0/glib/gthread.h \ - /usr/include/glib-2.0/glib/gatomic.h /usr/include/glib-2.0/glib/gerror.h \ - /usr/include/glib-2.0/glib/gquark.h \ - /usr/include/glib-2.0/glib/gbacktrace.h \ - /usr/include/glib-2.0/glib/gbase64.h \ - /usr/include/glib-2.0/glib/gbitlock.h \ - /usr/include/glib-2.0/glib/gbookmarkfile.h \ - /usr/include/glib-2.0/glib/gbytes.h \ - /usr/include/glib-2.0/glib/gcharset.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/gconvert.h \ - /usr/include/glib-2.0/glib/gdataset.h /usr/include/glib-2.0/glib/gdate.h \ - /usr/include/glib-2.0/glib/gdatetime.h \ - /usr/include/glib-2.0/glib/gtimezone.h /usr/include/glib-2.0/glib/gdir.h \ - /usr/include/dirent.h /usr/include/arm-linux-gnueabihf/bits/dirent.h \ - /usr/include/glib-2.0/glib/genviron.h \ - /usr/include/glib-2.0/glib/gfileutils.h \ - /usr/include/glib-2.0/glib/ggettext.h /usr/include/glib-2.0/glib/ghash.h \ - /usr/include/glib-2.0/glib/glist.h /usr/include/glib-2.0/glib/gmem.h \ - /usr/include/glib-2.0/glib/gnode.h /usr/include/glib-2.0/glib/ghmac.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/ghook.h \ - /usr/include/glib-2.0/glib/ghostutils.h \ - /usr/include/glib-2.0/glib/giochannel.h \ - /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gpoll.h \ - /usr/include/glib-2.0/glib/gslist.h /usr/include/glib-2.0/glib/gstring.h \ - /usr/include/glib-2.0/glib/gunicode.h \ - /usr/include/glib-2.0/glib/gutils.h \ - /usr/include/glib-2.0/glib/gkeyfile.h \ - /usr/include/glib-2.0/glib/gmappedfile.h \ - /usr/include/glib-2.0/glib/gmarkup.h \ - /usr/include/glib-2.0/glib/gmessages.h \ - /usr/include/glib-2.0/glib/goption.h \ - /usr/include/glib-2.0/glib/gpattern.h \ - /usr/include/glib-2.0/glib/gprimes.h /usr/include/glib-2.0/glib/gqsort.h \ - /usr/include/glib-2.0/glib/gqueue.h /usr/include/glib-2.0/glib/grand.h \ - /usr/include/glib-2.0/glib/gregex.h \ - /usr/include/glib-2.0/glib/gscanner.h \ - /usr/include/glib-2.0/glib/gsequence.h \ - /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gslice.h \ - /usr/include/glib-2.0/glib/gspawn.h \ - /usr/include/glib-2.0/glib/gstrfuncs.h \ - /usr/include/glib-2.0/glib/gstringchunk.h \ - /usr/include/glib-2.0/glib/gtestutils.h \ - /usr/include/glib-2.0/glib/gthreadpool.h \ - /usr/include/glib-2.0/glib/gtimer.h \ - /usr/include/glib-2.0/glib/gtrashstack.h \ - /usr/include/glib-2.0/glib/gtree.h \ - /usr/include/glib-2.0/glib/gurifuncs.h \ - /usr/include/glib-2.0/glib/gvarianttype.h \ - /usr/include/glib-2.0/glib/gvariant.h \ - /usr/include/glib-2.0/glib/gversion.h \ - /usr/include/glib-2.0/glib/deprecated/gallocator.h \ - /usr/include/glib-2.0/glib/deprecated/gcache.h \ - /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ - /usr/include/glib-2.0/glib/deprecated/gmain.h \ - /usr/include/glib-2.0/glib/deprecated/grel.h \ - /usr/include/glib-2.0/glib/deprecated/gthread.h /usr/include/pthread.h \ - /usr/include/sched.h /usr/include/arm-linux-gnueabihf/bits/sched.h \ - /usr/include/arm-linux-gnueabihf/bits/setjmp.h \ - /usr/include/dbus-1.0/dbus/dbus.h \ - /usr/lib/arm-linux-gnueabihf/dbus-1.0/include/dbus/dbus-arch-deps.h \ - /usr/include/dbus-1.0/dbus/dbus-macros.h \ - /usr/include/dbus-1.0/dbus/dbus-address.h \ - /usr/include/dbus-1.0/dbus/dbus-types.h \ - /usr/include/dbus-1.0/dbus/dbus-errors.h \ - /usr/include/dbus-1.0/dbus/dbus-protocol.h \ - /usr/include/dbus-1.0/dbus/dbus-bus.h \ - /usr/include/dbus-1.0/dbus/dbus-connection.h \ - /usr/include/dbus-1.0/dbus/dbus-memory.h \ - /usr/include/dbus-1.0/dbus/dbus-message.h \ - /usr/include/dbus-1.0/dbus/dbus-shared.h \ - /usr/include/dbus-1.0/dbus/dbus-misc.h \ - /usr/include/dbus-1.0/dbus/dbus-pending-call.h \ - /usr/include/dbus-1.0/dbus/dbus-server.h \ - /usr/include/dbus-1.0/dbus/dbus-signature.h \ - /usr/include/dbus-1.0/dbus/dbus-syntax.h \ - /usr/include/dbus-1.0/dbus/dbus-threads.h gdbus/gdbus.h lib/uuid.h \ - lib/../src/adapter.h lib/bluetooth/hci_lib.h lib/../src/device.h \ - src/log.h src/error.h profiles/audio/device.h profiles/audio/manager.h \ - profiles/audio/avctp.h profiles/audio/avrcp.h src/sdpd.h \ - src/dbus-common.h profiles/audio/control.h profiles/audio/avdtp.h \ - profiles/audio/sink.h profiles/audio/player.h profiles/audio/transport.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/include/stdlib.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/include/arm-linux-gnueabihf/bits/waitflags.h: - -/usr/include/arm-linux-gnueabihf/bits/waitstatus.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/xlocale.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/time.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/alloca.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-float.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/arm-linux-gnueabihf/bits/wchar.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdbool.h: - -/usr/include/errno.h: - -/usr/include/arm-linux-gnueabihf/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/arm-linux-gnueabihf/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/include/unistd.h: - -/usr/include/arm-linux-gnueabihf/bits/posix_opt.h: - -/usr/include/arm-linux-gnueabihf/bits/environments.h: - -/usr/include/arm-linux-gnueabihf/bits/confname.h: - -/usr/include/getopt.h: - -/usr/include/assert.h: - -/usr/include/signal.h: - -/usr/include/arm-linux-gnueabihf/bits/signum.h: - -/usr/include/arm-linux-gnueabihf/bits/siginfo.h: - -/usr/include/arm-linux-gnueabihf/bits/sigaction.h: - -/usr/include/arm-linux-gnueabihf/bits/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/asm/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigstack.h: - -/usr/include/arm-linux-gnueabihf/sys/ucontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigthread.h: - -/usr/include/arm-linux-gnueabihf/sys/stat.h: - -/usr/include/arm-linux-gnueabihf/bits/stat.h: - -/usr/include/fcntl.h: - -/usr/include/arm-linux-gnueabihf/bits/fcntl.h: - -/usr/include/arm-linux-gnueabihf/bits/fcntl-linux.h: - -/usr/include/arm-linux-gnueabihf/bits/uio.h: - -lib/bluetooth/bluetooth.h: - -/usr/include/stdio.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/sys_errlist.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio.h: - -/usr/include/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string2.h: - -/usr/include/byteswap.h: - -/usr/include/netinet/in.h: - -/usr/include/arm-linux-gnueabihf/sys/socket.h: - -/usr/include/arm-linux-gnueabihf/sys/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/socket.h: - -/usr/include/arm-linux-gnueabihf/bits/socket_type.h: - -/usr/include/arm-linux-gnueabihf/bits/sockaddr.h: - -/usr/include/arm-linux-gnueabihf/asm/socket.h: - -/usr/include/asm-generic/socket.h: - -/usr/include/arm-linux-gnueabihf/asm/sockios.h: - -/usr/include/asm-generic/sockios.h: - -/usr/include/arm-linux-gnueabihf/bits/in.h: - -lib/bluetooth/sdp.h: - -lib/bluetooth/sdp_lib.h: - -lib/bluetooth/hci.h: - -/usr/include/glib-2.0/glib.h: - -/usr/include/glib-2.0/glib/galloca.h: - -/usr/include/glib-2.0/glib/gtypes.h: - -/usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h: - -/usr/include/glib-2.0/glib/gmacros.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h: - -/usr/include/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/local_lim.h: - -/usr/include/linux/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix2_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/xopen_lim.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h: - -/usr/include/glib-2.0/glib/gversionmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/timex.h: - -/usr/include/glib-2.0/glib/garray.h: - -/usr/include/glib-2.0/glib/gasyncqueue.h: - -/usr/include/glib-2.0/glib/gthread.h: - -/usr/include/glib-2.0/glib/gatomic.h: - -/usr/include/glib-2.0/glib/gerror.h: - -/usr/include/glib-2.0/glib/gquark.h: - -/usr/include/glib-2.0/glib/gbacktrace.h: - -/usr/include/glib-2.0/glib/gbase64.h: - -/usr/include/glib-2.0/glib/gbitlock.h: - -/usr/include/glib-2.0/glib/gbookmarkfile.h: - -/usr/include/glib-2.0/glib/gbytes.h: - -/usr/include/glib-2.0/glib/gcharset.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/gconvert.h: - -/usr/include/glib-2.0/glib/gdataset.h: - -/usr/include/glib-2.0/glib/gdate.h: - -/usr/include/glib-2.0/glib/gdatetime.h: - -/usr/include/glib-2.0/glib/gtimezone.h: - -/usr/include/glib-2.0/glib/gdir.h: - -/usr/include/dirent.h: - -/usr/include/arm-linux-gnueabihf/bits/dirent.h: - -/usr/include/glib-2.0/glib/genviron.h: - -/usr/include/glib-2.0/glib/gfileutils.h: - -/usr/include/glib-2.0/glib/ggettext.h: - -/usr/include/glib-2.0/glib/ghash.h: - -/usr/include/glib-2.0/glib/glist.h: - -/usr/include/glib-2.0/glib/gmem.h: - -/usr/include/glib-2.0/glib/gnode.h: - -/usr/include/glib-2.0/glib/ghmac.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/ghook.h: - -/usr/include/glib-2.0/glib/ghostutils.h: - -/usr/include/glib-2.0/glib/giochannel.h: - -/usr/include/glib-2.0/glib/gmain.h: - -/usr/include/glib-2.0/glib/gpoll.h: - -/usr/include/glib-2.0/glib/gslist.h: - -/usr/include/glib-2.0/glib/gstring.h: - -/usr/include/glib-2.0/glib/gunicode.h: - -/usr/include/glib-2.0/glib/gutils.h: - -/usr/include/glib-2.0/glib/gkeyfile.h: - -/usr/include/glib-2.0/glib/gmappedfile.h: - -/usr/include/glib-2.0/glib/gmarkup.h: - -/usr/include/glib-2.0/glib/gmessages.h: - -/usr/include/glib-2.0/glib/goption.h: - -/usr/include/glib-2.0/glib/gpattern.h: - -/usr/include/glib-2.0/glib/gprimes.h: - -/usr/include/glib-2.0/glib/gqsort.h: - -/usr/include/glib-2.0/glib/gqueue.h: - -/usr/include/glib-2.0/glib/grand.h: - -/usr/include/glib-2.0/glib/gregex.h: - -/usr/include/glib-2.0/glib/gscanner.h: - -/usr/include/glib-2.0/glib/gsequence.h: - -/usr/include/glib-2.0/glib/gshell.h: - -/usr/include/glib-2.0/glib/gslice.h: - -/usr/include/glib-2.0/glib/gspawn.h: - -/usr/include/glib-2.0/glib/gstrfuncs.h: - -/usr/include/glib-2.0/glib/gstringchunk.h: - -/usr/include/glib-2.0/glib/gtestutils.h: - -/usr/include/glib-2.0/glib/gthreadpool.h: - -/usr/include/glib-2.0/glib/gtimer.h: - -/usr/include/glib-2.0/glib/gtrashstack.h: - -/usr/include/glib-2.0/glib/gtree.h: - -/usr/include/glib-2.0/glib/gurifuncs.h: - -/usr/include/glib-2.0/glib/gvarianttype.h: - -/usr/include/glib-2.0/glib/gvariant.h: - -/usr/include/glib-2.0/glib/gversion.h: - -/usr/include/glib-2.0/glib/deprecated/gallocator.h: - -/usr/include/glib-2.0/glib/deprecated/gcache.h: - -/usr/include/glib-2.0/glib/deprecated/gcompletion.h: - -/usr/include/glib-2.0/glib/deprecated/gmain.h: - -/usr/include/glib-2.0/glib/deprecated/grel.h: - -/usr/include/glib-2.0/glib/deprecated/gthread.h: - -/usr/include/pthread.h: - -/usr/include/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/setjmp.h: - -/usr/include/dbus-1.0/dbus/dbus.h: - -/usr/lib/arm-linux-gnueabihf/dbus-1.0/include/dbus/dbus-arch-deps.h: - -/usr/include/dbus-1.0/dbus/dbus-macros.h: - -/usr/include/dbus-1.0/dbus/dbus-address.h: - -/usr/include/dbus-1.0/dbus/dbus-types.h: - -/usr/include/dbus-1.0/dbus/dbus-errors.h: - -/usr/include/dbus-1.0/dbus/dbus-protocol.h: - -/usr/include/dbus-1.0/dbus/dbus-bus.h: - -/usr/include/dbus-1.0/dbus/dbus-connection.h: - -/usr/include/dbus-1.0/dbus/dbus-memory.h: - -/usr/include/dbus-1.0/dbus/dbus-message.h: - -/usr/include/dbus-1.0/dbus/dbus-shared.h: - -/usr/include/dbus-1.0/dbus/dbus-misc.h: - -/usr/include/dbus-1.0/dbus/dbus-pending-call.h: - -/usr/include/dbus-1.0/dbus/dbus-server.h: - -/usr/include/dbus-1.0/dbus/dbus-signature.h: - -/usr/include/dbus-1.0/dbus/dbus-syntax.h: - -/usr/include/dbus-1.0/dbus/dbus-threads.h: - -gdbus/gdbus.h: - -lib/uuid.h: - -lib/../src/adapter.h: - -lib/bluetooth/hci_lib.h: - -lib/../src/device.h: - -src/log.h: - -src/error.h: - -profiles/audio/device.h: - -profiles/audio/manager.h: - -profiles/audio/avctp.h: - -profiles/audio/avrcp.h: - -src/sdpd.h: - -src/dbus-common.h: - -profiles/audio/control.h: - -profiles/audio/avdtp.h: - -profiles/audio/sink.h: - -profiles/audio/player.h: - -profiles/audio/transport.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/profiles/audio/.deps/bluetoothd-control.Po b/GRIB_BLE_HUB/libs/ble_extend/profiles/audio/.deps/bluetoothd-control.Po deleted file mode 100644 index f4bd35a..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/profiles/audio/.deps/bluetoothd-control.Po +++ /dev/null @@ -1,585 +0,0 @@ -profiles/audio/bluetoothd-control.o: profiles/audio/control.c \ - /usr/include/stdc-predef.h config.h /usr/include/stdlib.h \ - /usr/include/features.h /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/include/arm-linux-gnueabihf/bits/waitflags.h \ - /usr/include/arm-linux-gnueabihf/bits/waitstatus.h /usr/include/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/xlocale.h /usr/include/arm-linux-gnueabihf/sys/types.h \ - /usr/include/time.h /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/alloca.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-float.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h \ - /usr/include/stdint.h /usr/include/arm-linux-gnueabihf/bits/wchar.h \ - /usr/include/errno.h /usr/include/arm-linux-gnueabihf/bits/errno.h \ - /usr/include/linux/errno.h /usr/include/arm-linux-gnueabihf/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/include/unistd.h /usr/include/arm-linux-gnueabihf/bits/posix_opt.h \ - /usr/include/arm-linux-gnueabihf/bits/environments.h \ - /usr/include/arm-linux-gnueabihf/bits/confname.h /usr/include/getopt.h \ - /usr/include/assert.h /usr/include/signal.h \ - /usr/include/arm-linux-gnueabihf/bits/signum.h \ - /usr/include/arm-linux-gnueabihf/bits/siginfo.h \ - /usr/include/arm-linux-gnueabihf/bits/sigaction.h \ - /usr/include/arm-linux-gnueabihf/bits/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/asm/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigstack.h \ - /usr/include/arm-linux-gnueabihf/sys/ucontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigthread.h \ - /usr/include/arm-linux-gnueabihf/sys/stat.h \ - /usr/include/arm-linux-gnueabihf/bits/stat.h /usr/include/fcntl.h \ - /usr/include/arm-linux-gnueabihf/bits/fcntl.h \ - /usr/include/arm-linux-gnueabihf/bits/fcntl-linux.h \ - /usr/include/arm-linux-gnueabihf/bits/uio.h lib/bluetooth/bluetooth.h \ - /usr/include/stdio.h /usr/include/libio.h /usr/include/_G_config.h \ - /usr/include/wchar.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/sys_errlist.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio.h /usr/include/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string2.h /usr/include/byteswap.h \ - /usr/include/netinet/in.h /usr/include/arm-linux-gnueabihf/sys/socket.h \ - /usr/include/arm-linux-gnueabihf/sys/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/socket.h \ - /usr/include/arm-linux-gnueabihf/bits/socket_type.h \ - /usr/include/arm-linux-gnueabihf/bits/sockaddr.h \ - /usr/include/arm-linux-gnueabihf/asm/socket.h \ - /usr/include/asm-generic/socket.h \ - /usr/include/arm-linux-gnueabihf/asm/sockios.h \ - /usr/include/asm-generic/sockios.h \ - /usr/include/arm-linux-gnueabihf/bits/in.h lib/bluetooth/sdp.h \ - lib/bluetooth/sdp_lib.h lib/bluetooth/hci.h /usr/include/glib-2.0/glib.h \ - /usr/include/glib-2.0/glib/galloca.h /usr/include/glib-2.0/glib/gtypes.h \ - /usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h \ - /usr/include/glib-2.0/glib/gmacros.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h \ - /usr/include/limits.h /usr/include/arm-linux-gnueabihf/bits/posix1_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/local_lim.h \ - /usr/include/linux/limits.h \ - /usr/include/arm-linux-gnueabihf/bits/posix2_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/xopen_lim.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h \ - /usr/include/glib-2.0/glib/gversionmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/timex.h \ - /usr/include/glib-2.0/glib/garray.h \ - /usr/include/glib-2.0/glib/gasyncqueue.h \ - /usr/include/glib-2.0/glib/gthread.h \ - /usr/include/glib-2.0/glib/gatomic.h /usr/include/glib-2.0/glib/gerror.h \ - /usr/include/glib-2.0/glib/gquark.h \ - /usr/include/glib-2.0/glib/gbacktrace.h \ - /usr/include/glib-2.0/glib/gbase64.h \ - /usr/include/glib-2.0/glib/gbitlock.h \ - /usr/include/glib-2.0/glib/gbookmarkfile.h \ - /usr/include/glib-2.0/glib/gbytes.h \ - /usr/include/glib-2.0/glib/gcharset.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/gconvert.h \ - /usr/include/glib-2.0/glib/gdataset.h /usr/include/glib-2.0/glib/gdate.h \ - /usr/include/glib-2.0/glib/gdatetime.h \ - /usr/include/glib-2.0/glib/gtimezone.h /usr/include/glib-2.0/glib/gdir.h \ - /usr/include/dirent.h /usr/include/arm-linux-gnueabihf/bits/dirent.h \ - /usr/include/glib-2.0/glib/genviron.h \ - /usr/include/glib-2.0/glib/gfileutils.h \ - /usr/include/glib-2.0/glib/ggettext.h /usr/include/glib-2.0/glib/ghash.h \ - /usr/include/glib-2.0/glib/glist.h /usr/include/glib-2.0/glib/gmem.h \ - /usr/include/glib-2.0/glib/gnode.h /usr/include/glib-2.0/glib/ghmac.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/ghook.h \ - /usr/include/glib-2.0/glib/ghostutils.h \ - /usr/include/glib-2.0/glib/giochannel.h \ - /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gpoll.h \ - /usr/include/glib-2.0/glib/gslist.h /usr/include/glib-2.0/glib/gstring.h \ - /usr/include/glib-2.0/glib/gunicode.h \ - /usr/include/glib-2.0/glib/gutils.h \ - /usr/include/glib-2.0/glib/gkeyfile.h \ - /usr/include/glib-2.0/glib/gmappedfile.h \ - /usr/include/glib-2.0/glib/gmarkup.h \ - /usr/include/glib-2.0/glib/gmessages.h \ - /usr/include/glib-2.0/glib/goption.h \ - /usr/include/glib-2.0/glib/gpattern.h \ - /usr/include/glib-2.0/glib/gprimes.h /usr/include/glib-2.0/glib/gqsort.h \ - /usr/include/glib-2.0/glib/gqueue.h /usr/include/glib-2.0/glib/grand.h \ - /usr/include/glib-2.0/glib/gregex.h \ - /usr/include/glib-2.0/glib/gscanner.h \ - /usr/include/glib-2.0/glib/gsequence.h \ - /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gslice.h \ - /usr/include/glib-2.0/glib/gspawn.h \ - /usr/include/glib-2.0/glib/gstrfuncs.h \ - /usr/include/glib-2.0/glib/gstringchunk.h \ - /usr/include/glib-2.0/glib/gtestutils.h \ - /usr/include/glib-2.0/glib/gthreadpool.h \ - /usr/include/glib-2.0/glib/gtimer.h \ - /usr/include/glib-2.0/glib/gtrashstack.h \ - /usr/include/glib-2.0/glib/gtree.h \ - /usr/include/glib-2.0/glib/gurifuncs.h \ - /usr/include/glib-2.0/glib/gvarianttype.h \ - /usr/include/glib-2.0/glib/gvariant.h \ - /usr/include/glib-2.0/glib/gversion.h \ - /usr/include/glib-2.0/glib/deprecated/gallocator.h \ - /usr/include/glib-2.0/glib/deprecated/gcache.h \ - /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ - /usr/include/glib-2.0/glib/deprecated/gmain.h \ - /usr/include/glib-2.0/glib/deprecated/grel.h \ - /usr/include/glib-2.0/glib/deprecated/gthread.h /usr/include/pthread.h \ - /usr/include/sched.h /usr/include/arm-linux-gnueabihf/bits/sched.h \ - /usr/include/arm-linux-gnueabihf/bits/setjmp.h \ - /usr/include/dbus-1.0/dbus/dbus.h \ - /usr/lib/arm-linux-gnueabihf/dbus-1.0/include/dbus/dbus-arch-deps.h \ - /usr/include/dbus-1.0/dbus/dbus-macros.h \ - /usr/include/dbus-1.0/dbus/dbus-address.h \ - /usr/include/dbus-1.0/dbus/dbus-types.h \ - /usr/include/dbus-1.0/dbus/dbus-errors.h \ - /usr/include/dbus-1.0/dbus/dbus-protocol.h \ - /usr/include/dbus-1.0/dbus/dbus-bus.h \ - /usr/include/dbus-1.0/dbus/dbus-connection.h \ - /usr/include/dbus-1.0/dbus/dbus-memory.h \ - /usr/include/dbus-1.0/dbus/dbus-message.h \ - /usr/include/dbus-1.0/dbus/dbus-shared.h \ - /usr/include/dbus-1.0/dbus/dbus-misc.h \ - /usr/include/dbus-1.0/dbus/dbus-pending-call.h \ - /usr/include/dbus-1.0/dbus/dbus-server.h \ - /usr/include/dbus-1.0/dbus/dbus-signature.h \ - /usr/include/dbus-1.0/dbus/dbus-syntax.h \ - /usr/include/dbus-1.0/dbus/dbus-threads.h gdbus/gdbus.h lib/uuid.h \ - lib/../src/adapter.h lib/bluetooth/hci_lib.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdbool.h \ - lib/../src/device.h src/log.h src/error.h profiles/audio/device.h \ - profiles/audio/manager.h profiles/audio/avctp.h profiles/audio/control.h \ - src/sdpd.h src/glib-helper.h src/dbus-common.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/include/stdlib.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/include/arm-linux-gnueabihf/bits/waitflags.h: - -/usr/include/arm-linux-gnueabihf/bits/waitstatus.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/xlocale.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/time.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/alloca.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-float.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/arm-linux-gnueabihf/bits/wchar.h: - -/usr/include/errno.h: - -/usr/include/arm-linux-gnueabihf/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/arm-linux-gnueabihf/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/include/unistd.h: - -/usr/include/arm-linux-gnueabihf/bits/posix_opt.h: - -/usr/include/arm-linux-gnueabihf/bits/environments.h: - -/usr/include/arm-linux-gnueabihf/bits/confname.h: - -/usr/include/getopt.h: - -/usr/include/assert.h: - -/usr/include/signal.h: - -/usr/include/arm-linux-gnueabihf/bits/signum.h: - -/usr/include/arm-linux-gnueabihf/bits/siginfo.h: - -/usr/include/arm-linux-gnueabihf/bits/sigaction.h: - -/usr/include/arm-linux-gnueabihf/bits/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/asm/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigstack.h: - -/usr/include/arm-linux-gnueabihf/sys/ucontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigthread.h: - -/usr/include/arm-linux-gnueabihf/sys/stat.h: - -/usr/include/arm-linux-gnueabihf/bits/stat.h: - -/usr/include/fcntl.h: - -/usr/include/arm-linux-gnueabihf/bits/fcntl.h: - -/usr/include/arm-linux-gnueabihf/bits/fcntl-linux.h: - -/usr/include/arm-linux-gnueabihf/bits/uio.h: - -lib/bluetooth/bluetooth.h: - -/usr/include/stdio.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/sys_errlist.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio.h: - -/usr/include/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string2.h: - -/usr/include/byteswap.h: - -/usr/include/netinet/in.h: - -/usr/include/arm-linux-gnueabihf/sys/socket.h: - -/usr/include/arm-linux-gnueabihf/sys/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/socket.h: - -/usr/include/arm-linux-gnueabihf/bits/socket_type.h: - -/usr/include/arm-linux-gnueabihf/bits/sockaddr.h: - -/usr/include/arm-linux-gnueabihf/asm/socket.h: - -/usr/include/asm-generic/socket.h: - -/usr/include/arm-linux-gnueabihf/asm/sockios.h: - -/usr/include/asm-generic/sockios.h: - -/usr/include/arm-linux-gnueabihf/bits/in.h: - -lib/bluetooth/sdp.h: - -lib/bluetooth/sdp_lib.h: - -lib/bluetooth/hci.h: - -/usr/include/glib-2.0/glib.h: - -/usr/include/glib-2.0/glib/galloca.h: - -/usr/include/glib-2.0/glib/gtypes.h: - -/usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h: - -/usr/include/glib-2.0/glib/gmacros.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h: - -/usr/include/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/local_lim.h: - -/usr/include/linux/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix2_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/xopen_lim.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h: - -/usr/include/glib-2.0/glib/gversionmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/timex.h: - -/usr/include/glib-2.0/glib/garray.h: - -/usr/include/glib-2.0/glib/gasyncqueue.h: - -/usr/include/glib-2.0/glib/gthread.h: - -/usr/include/glib-2.0/glib/gatomic.h: - -/usr/include/glib-2.0/glib/gerror.h: - -/usr/include/glib-2.0/glib/gquark.h: - -/usr/include/glib-2.0/glib/gbacktrace.h: - -/usr/include/glib-2.0/glib/gbase64.h: - -/usr/include/glib-2.0/glib/gbitlock.h: - -/usr/include/glib-2.0/glib/gbookmarkfile.h: - -/usr/include/glib-2.0/glib/gbytes.h: - -/usr/include/glib-2.0/glib/gcharset.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/gconvert.h: - -/usr/include/glib-2.0/glib/gdataset.h: - -/usr/include/glib-2.0/glib/gdate.h: - -/usr/include/glib-2.0/glib/gdatetime.h: - -/usr/include/glib-2.0/glib/gtimezone.h: - -/usr/include/glib-2.0/glib/gdir.h: - -/usr/include/dirent.h: - -/usr/include/arm-linux-gnueabihf/bits/dirent.h: - -/usr/include/glib-2.0/glib/genviron.h: - -/usr/include/glib-2.0/glib/gfileutils.h: - -/usr/include/glib-2.0/glib/ggettext.h: - -/usr/include/glib-2.0/glib/ghash.h: - -/usr/include/glib-2.0/glib/glist.h: - -/usr/include/glib-2.0/glib/gmem.h: - -/usr/include/glib-2.0/glib/gnode.h: - -/usr/include/glib-2.0/glib/ghmac.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/ghook.h: - -/usr/include/glib-2.0/glib/ghostutils.h: - -/usr/include/glib-2.0/glib/giochannel.h: - -/usr/include/glib-2.0/glib/gmain.h: - -/usr/include/glib-2.0/glib/gpoll.h: - -/usr/include/glib-2.0/glib/gslist.h: - -/usr/include/glib-2.0/glib/gstring.h: - -/usr/include/glib-2.0/glib/gunicode.h: - -/usr/include/glib-2.0/glib/gutils.h: - -/usr/include/glib-2.0/glib/gkeyfile.h: - -/usr/include/glib-2.0/glib/gmappedfile.h: - -/usr/include/glib-2.0/glib/gmarkup.h: - -/usr/include/glib-2.0/glib/gmessages.h: - -/usr/include/glib-2.0/glib/goption.h: - -/usr/include/glib-2.0/glib/gpattern.h: - -/usr/include/glib-2.0/glib/gprimes.h: - -/usr/include/glib-2.0/glib/gqsort.h: - -/usr/include/glib-2.0/glib/gqueue.h: - -/usr/include/glib-2.0/glib/grand.h: - -/usr/include/glib-2.0/glib/gregex.h: - -/usr/include/glib-2.0/glib/gscanner.h: - -/usr/include/glib-2.0/glib/gsequence.h: - -/usr/include/glib-2.0/glib/gshell.h: - -/usr/include/glib-2.0/glib/gslice.h: - -/usr/include/glib-2.0/glib/gspawn.h: - -/usr/include/glib-2.0/glib/gstrfuncs.h: - -/usr/include/glib-2.0/glib/gstringchunk.h: - -/usr/include/glib-2.0/glib/gtestutils.h: - -/usr/include/glib-2.0/glib/gthreadpool.h: - -/usr/include/glib-2.0/glib/gtimer.h: - -/usr/include/glib-2.0/glib/gtrashstack.h: - -/usr/include/glib-2.0/glib/gtree.h: - -/usr/include/glib-2.0/glib/gurifuncs.h: - -/usr/include/glib-2.0/glib/gvarianttype.h: - -/usr/include/glib-2.0/glib/gvariant.h: - -/usr/include/glib-2.0/glib/gversion.h: - -/usr/include/glib-2.0/glib/deprecated/gallocator.h: - -/usr/include/glib-2.0/glib/deprecated/gcache.h: - -/usr/include/glib-2.0/glib/deprecated/gcompletion.h: - -/usr/include/glib-2.0/glib/deprecated/gmain.h: - -/usr/include/glib-2.0/glib/deprecated/grel.h: - -/usr/include/glib-2.0/glib/deprecated/gthread.h: - -/usr/include/pthread.h: - -/usr/include/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/setjmp.h: - -/usr/include/dbus-1.0/dbus/dbus.h: - -/usr/lib/arm-linux-gnueabihf/dbus-1.0/include/dbus/dbus-arch-deps.h: - -/usr/include/dbus-1.0/dbus/dbus-macros.h: - -/usr/include/dbus-1.0/dbus/dbus-address.h: - -/usr/include/dbus-1.0/dbus/dbus-types.h: - -/usr/include/dbus-1.0/dbus/dbus-errors.h: - -/usr/include/dbus-1.0/dbus/dbus-protocol.h: - -/usr/include/dbus-1.0/dbus/dbus-bus.h: - -/usr/include/dbus-1.0/dbus/dbus-connection.h: - -/usr/include/dbus-1.0/dbus/dbus-memory.h: - -/usr/include/dbus-1.0/dbus/dbus-message.h: - -/usr/include/dbus-1.0/dbus/dbus-shared.h: - -/usr/include/dbus-1.0/dbus/dbus-misc.h: - -/usr/include/dbus-1.0/dbus/dbus-pending-call.h: - -/usr/include/dbus-1.0/dbus/dbus-server.h: - -/usr/include/dbus-1.0/dbus/dbus-signature.h: - -/usr/include/dbus-1.0/dbus/dbus-syntax.h: - -/usr/include/dbus-1.0/dbus/dbus-threads.h: - -gdbus/gdbus.h: - -lib/uuid.h: - -lib/../src/adapter.h: - -lib/bluetooth/hci_lib.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdbool.h: - -lib/../src/device.h: - -src/log.h: - -src/error.h: - -profiles/audio/device.h: - -profiles/audio/manager.h: - -profiles/audio/avctp.h: - -profiles/audio/control.h: - -src/sdpd.h: - -src/glib-helper.h: - -src/dbus-common.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/profiles/audio/.deps/bluetoothd-device.Po b/GRIB_BLE_HUB/libs/ble_extend/profiles/audio/.deps/bluetoothd-device.Po deleted file mode 100644 index 7310c32..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/profiles/audio/.deps/bluetoothd-device.Po +++ /dev/null @@ -1,574 +0,0 @@ -profiles/audio/bluetoothd-device.o: profiles/audio/device.c \ - /usr/include/stdc-predef.h config.h /usr/include/stdio.h \ - /usr/include/features.h /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/sys_errlist.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio.h /usr/include/errno.h \ - /usr/include/arm-linux-gnueabihf/bits/errno.h /usr/include/linux/errno.h \ - /usr/include/arm-linux-gnueabihf/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/include/unistd.h /usr/include/arm-linux-gnueabihf/bits/posix_opt.h \ - /usr/include/arm-linux-gnueabihf/bits/environments.h \ - /usr/include/arm-linux-gnueabihf/bits/confname.h /usr/include/getopt.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdbool.h \ - /usr/include/arm-linux-gnueabihf/sys/stat.h /usr/include/time.h \ - /usr/include/arm-linux-gnueabihf/bits/stat.h \ - /usr/include/arm-linux-gnueabihf/sys/param.h \ - /usr/include/arm-linux-gnueabihf/sys/types.h /usr/include/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h \ - /usr/include/limits.h /usr/include/arm-linux-gnueabihf/bits/posix1_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/local_lim.h \ - /usr/include/linux/limits.h \ - /usr/include/arm-linux-gnueabihf/bits/posix2_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/xopen_lim.h /usr/include/signal.h \ - /usr/include/arm-linux-gnueabihf/bits/signum.h \ - /usr/include/arm-linux-gnueabihf/bits/siginfo.h \ - /usr/include/arm-linux-gnueabihf/bits/sigaction.h \ - /usr/include/arm-linux-gnueabihf/bits/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/asm/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigstack.h \ - /usr/include/arm-linux-gnueabihf/sys/ucontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigthread.h \ - /usr/include/arm-linux-gnueabihf/bits/param.h /usr/include/linux/param.h \ - /usr/include/arm-linux-gnueabihf/asm/param.h \ - /usr/include/asm-generic/param.h /usr/include/netinet/in.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h \ - /usr/include/stdint.h /usr/include/arm-linux-gnueabihf/bits/wchar.h \ - /usr/include/arm-linux-gnueabihf/sys/socket.h \ - /usr/include/arm-linux-gnueabihf/sys/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/socket.h \ - /usr/include/arm-linux-gnueabihf/bits/socket_type.h \ - /usr/include/arm-linux-gnueabihf/bits/sockaddr.h \ - /usr/include/arm-linux-gnueabihf/asm/socket.h \ - /usr/include/asm-generic/socket.h \ - /usr/include/arm-linux-gnueabihf/asm/sockios.h \ - /usr/include/asm-generic/sockios.h \ - /usr/include/arm-linux-gnueabihf/bits/in.h lib/bluetooth/bluetooth.h \ - /usr/include/string.h /usr/include/xlocale.h \ - /usr/include/arm-linux-gnueabihf/bits/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string2.h /usr/include/stdlib.h \ - /usr/include/byteswap.h lib/bluetooth/sdp.h lib/bluetooth/sdp_lib.h \ - lib/bluetooth/hci.h /usr/include/glib-2.0/glib.h \ - /usr/include/glib-2.0/glib/galloca.h /usr/include/glib-2.0/glib/gtypes.h \ - /usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h \ - /usr/include/glib-2.0/glib/gmacros.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h \ - /usr/include/glib-2.0/glib/gversionmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/timex.h \ - /usr/include/glib-2.0/glib/garray.h \ - /usr/include/glib-2.0/glib/gasyncqueue.h \ - /usr/include/glib-2.0/glib/gthread.h \ - /usr/include/glib-2.0/glib/gatomic.h /usr/include/glib-2.0/glib/gerror.h \ - /usr/include/glib-2.0/glib/gquark.h \ - /usr/include/glib-2.0/glib/gbacktrace.h \ - /usr/include/glib-2.0/glib/gbase64.h \ - /usr/include/glib-2.0/glib/gbitlock.h \ - /usr/include/glib-2.0/glib/gbookmarkfile.h \ - /usr/include/glib-2.0/glib/gbytes.h \ - /usr/include/glib-2.0/glib/gcharset.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/gconvert.h \ - /usr/include/glib-2.0/glib/gdataset.h /usr/include/glib-2.0/glib/gdate.h \ - /usr/include/glib-2.0/glib/gdatetime.h \ - /usr/include/glib-2.0/glib/gtimezone.h /usr/include/glib-2.0/glib/gdir.h \ - /usr/include/dirent.h /usr/include/arm-linux-gnueabihf/bits/dirent.h \ - /usr/include/glib-2.0/glib/genviron.h \ - /usr/include/glib-2.0/glib/gfileutils.h \ - /usr/include/glib-2.0/glib/ggettext.h /usr/include/glib-2.0/glib/ghash.h \ - /usr/include/glib-2.0/glib/glist.h /usr/include/glib-2.0/glib/gmem.h \ - /usr/include/glib-2.0/glib/gnode.h /usr/include/glib-2.0/glib/ghmac.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/ghook.h \ - /usr/include/glib-2.0/glib/ghostutils.h \ - /usr/include/glib-2.0/glib/giochannel.h \ - /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gpoll.h \ - /usr/include/glib-2.0/glib/gslist.h /usr/include/glib-2.0/glib/gstring.h \ - /usr/include/glib-2.0/glib/gunicode.h \ - /usr/include/glib-2.0/glib/gutils.h \ - /usr/include/glib-2.0/glib/gkeyfile.h \ - /usr/include/glib-2.0/glib/gmappedfile.h \ - /usr/include/glib-2.0/glib/gmarkup.h \ - /usr/include/glib-2.0/glib/gmessages.h \ - /usr/include/glib-2.0/glib/goption.h \ - /usr/include/glib-2.0/glib/gpattern.h \ - /usr/include/glib-2.0/glib/gprimes.h /usr/include/glib-2.0/glib/gqsort.h \ - /usr/include/glib-2.0/glib/gqueue.h /usr/include/glib-2.0/glib/grand.h \ - /usr/include/glib-2.0/glib/gregex.h \ - /usr/include/glib-2.0/glib/gscanner.h \ - /usr/include/glib-2.0/glib/gsequence.h \ - /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gslice.h \ - /usr/include/glib-2.0/glib/gspawn.h \ - /usr/include/glib-2.0/glib/gstrfuncs.h \ - /usr/include/glib-2.0/glib/gstringchunk.h \ - /usr/include/glib-2.0/glib/gtestutils.h \ - /usr/include/glib-2.0/glib/gthreadpool.h \ - /usr/include/glib-2.0/glib/gtimer.h \ - /usr/include/glib-2.0/glib/gtrashstack.h \ - /usr/include/glib-2.0/glib/gtree.h \ - /usr/include/glib-2.0/glib/gurifuncs.h \ - /usr/include/glib-2.0/glib/gvarianttype.h \ - /usr/include/glib-2.0/glib/gvariant.h \ - /usr/include/glib-2.0/glib/gversion.h \ - /usr/include/glib-2.0/glib/deprecated/gallocator.h \ - /usr/include/glib-2.0/glib/deprecated/gcache.h \ - /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ - /usr/include/glib-2.0/glib/deprecated/gmain.h \ - /usr/include/glib-2.0/glib/deprecated/grel.h \ - /usr/include/glib-2.0/glib/deprecated/gthread.h /usr/include/pthread.h \ - /usr/include/sched.h /usr/include/arm-linux-gnueabihf/bits/sched.h \ - /usr/include/arm-linux-gnueabihf/bits/setjmp.h \ - /usr/include/dbus-1.0/dbus/dbus.h \ - /usr/lib/arm-linux-gnueabihf/dbus-1.0/include/dbus/dbus-arch-deps.h \ - /usr/include/dbus-1.0/dbus/dbus-macros.h \ - /usr/include/dbus-1.0/dbus/dbus-address.h \ - /usr/include/dbus-1.0/dbus/dbus-types.h \ - /usr/include/dbus-1.0/dbus/dbus-errors.h \ - /usr/include/dbus-1.0/dbus/dbus-protocol.h \ - /usr/include/dbus-1.0/dbus/dbus-bus.h \ - /usr/include/dbus-1.0/dbus/dbus-connection.h \ - /usr/include/dbus-1.0/dbus/dbus-memory.h \ - /usr/include/dbus-1.0/dbus/dbus-message.h \ - /usr/include/dbus-1.0/dbus/dbus-shared.h \ - /usr/include/dbus-1.0/dbus/dbus-misc.h \ - /usr/include/dbus-1.0/dbus/dbus-pending-call.h \ - /usr/include/dbus-1.0/dbus/dbus-server.h \ - /usr/include/dbus-1.0/dbus/dbus-signature.h \ - /usr/include/dbus-1.0/dbus/dbus-syntax.h \ - /usr/include/dbus-1.0/dbus/dbus-threads.h gdbus/gdbus.h src/log.h \ - lib/../src/adapter.h lib/bluetooth/hci_lib.h lib/../src/device.h \ - src/error.h src/dbus-common.h profiles/audio/device.h \ - profiles/audio/avdtp.h profiles/audio/control.h profiles/audio/avctp.h \ - profiles/audio/avrcp.h profiles/audio/sink.h profiles/audio/source.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/include/stdio.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/sys_errlist.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio.h: - -/usr/include/errno.h: - -/usr/include/arm-linux-gnueabihf/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/arm-linux-gnueabihf/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/include/unistd.h: - -/usr/include/arm-linux-gnueabihf/bits/posix_opt.h: - -/usr/include/arm-linux-gnueabihf/bits/environments.h: - -/usr/include/arm-linux-gnueabihf/bits/confname.h: - -/usr/include/getopt.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdbool.h: - -/usr/include/arm-linux-gnueabihf/sys/stat.h: - -/usr/include/time.h: - -/usr/include/arm-linux-gnueabihf/bits/stat.h: - -/usr/include/arm-linux-gnueabihf/sys/param.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h: - -/usr/include/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/local_lim.h: - -/usr/include/linux/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix2_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/xopen_lim.h: - -/usr/include/signal.h: - -/usr/include/arm-linux-gnueabihf/bits/signum.h: - -/usr/include/arm-linux-gnueabihf/bits/siginfo.h: - -/usr/include/arm-linux-gnueabihf/bits/sigaction.h: - -/usr/include/arm-linux-gnueabihf/bits/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/asm/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigstack.h: - -/usr/include/arm-linux-gnueabihf/sys/ucontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigthread.h: - -/usr/include/arm-linux-gnueabihf/bits/param.h: - -/usr/include/linux/param.h: - -/usr/include/arm-linux-gnueabihf/asm/param.h: - -/usr/include/asm-generic/param.h: - -/usr/include/netinet/in.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/arm-linux-gnueabihf/bits/wchar.h: - -/usr/include/arm-linux-gnueabihf/sys/socket.h: - -/usr/include/arm-linux-gnueabihf/sys/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/socket.h: - -/usr/include/arm-linux-gnueabihf/bits/socket_type.h: - -/usr/include/arm-linux-gnueabihf/bits/sockaddr.h: - -/usr/include/arm-linux-gnueabihf/asm/socket.h: - -/usr/include/asm-generic/socket.h: - -/usr/include/arm-linux-gnueabihf/asm/sockios.h: - -/usr/include/asm-generic/sockios.h: - -/usr/include/arm-linux-gnueabihf/bits/in.h: - -lib/bluetooth/bluetooth.h: - -/usr/include/string.h: - -/usr/include/xlocale.h: - -/usr/include/arm-linux-gnueabihf/bits/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string2.h: - -/usr/include/stdlib.h: - -/usr/include/byteswap.h: - -lib/bluetooth/sdp.h: - -lib/bluetooth/sdp_lib.h: - -lib/bluetooth/hci.h: - -/usr/include/glib-2.0/glib.h: - -/usr/include/glib-2.0/glib/galloca.h: - -/usr/include/glib-2.0/glib/gtypes.h: - -/usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h: - -/usr/include/glib-2.0/glib/gmacros.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h: - -/usr/include/glib-2.0/glib/gversionmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/timex.h: - -/usr/include/glib-2.0/glib/garray.h: - -/usr/include/glib-2.0/glib/gasyncqueue.h: - -/usr/include/glib-2.0/glib/gthread.h: - -/usr/include/glib-2.0/glib/gatomic.h: - -/usr/include/glib-2.0/glib/gerror.h: - -/usr/include/glib-2.0/glib/gquark.h: - -/usr/include/glib-2.0/glib/gbacktrace.h: - -/usr/include/glib-2.0/glib/gbase64.h: - -/usr/include/glib-2.0/glib/gbitlock.h: - -/usr/include/glib-2.0/glib/gbookmarkfile.h: - -/usr/include/glib-2.0/glib/gbytes.h: - -/usr/include/glib-2.0/glib/gcharset.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/gconvert.h: - -/usr/include/glib-2.0/glib/gdataset.h: - -/usr/include/glib-2.0/glib/gdate.h: - -/usr/include/glib-2.0/glib/gdatetime.h: - -/usr/include/glib-2.0/glib/gtimezone.h: - -/usr/include/glib-2.0/glib/gdir.h: - -/usr/include/dirent.h: - -/usr/include/arm-linux-gnueabihf/bits/dirent.h: - -/usr/include/glib-2.0/glib/genviron.h: - -/usr/include/glib-2.0/glib/gfileutils.h: - -/usr/include/glib-2.0/glib/ggettext.h: - -/usr/include/glib-2.0/glib/ghash.h: - -/usr/include/glib-2.0/glib/glist.h: - -/usr/include/glib-2.0/glib/gmem.h: - -/usr/include/glib-2.0/glib/gnode.h: - -/usr/include/glib-2.0/glib/ghmac.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/ghook.h: - -/usr/include/glib-2.0/glib/ghostutils.h: - -/usr/include/glib-2.0/glib/giochannel.h: - -/usr/include/glib-2.0/glib/gmain.h: - -/usr/include/glib-2.0/glib/gpoll.h: - -/usr/include/glib-2.0/glib/gslist.h: - -/usr/include/glib-2.0/glib/gstring.h: - -/usr/include/glib-2.0/glib/gunicode.h: - -/usr/include/glib-2.0/glib/gutils.h: - -/usr/include/glib-2.0/glib/gkeyfile.h: - -/usr/include/glib-2.0/glib/gmappedfile.h: - -/usr/include/glib-2.0/glib/gmarkup.h: - -/usr/include/glib-2.0/glib/gmessages.h: - -/usr/include/glib-2.0/glib/goption.h: - -/usr/include/glib-2.0/glib/gpattern.h: - -/usr/include/glib-2.0/glib/gprimes.h: - -/usr/include/glib-2.0/glib/gqsort.h: - -/usr/include/glib-2.0/glib/gqueue.h: - -/usr/include/glib-2.0/glib/grand.h: - -/usr/include/glib-2.0/glib/gregex.h: - -/usr/include/glib-2.0/glib/gscanner.h: - -/usr/include/glib-2.0/glib/gsequence.h: - -/usr/include/glib-2.0/glib/gshell.h: - -/usr/include/glib-2.0/glib/gslice.h: - -/usr/include/glib-2.0/glib/gspawn.h: - -/usr/include/glib-2.0/glib/gstrfuncs.h: - -/usr/include/glib-2.0/glib/gstringchunk.h: - -/usr/include/glib-2.0/glib/gtestutils.h: - -/usr/include/glib-2.0/glib/gthreadpool.h: - -/usr/include/glib-2.0/glib/gtimer.h: - -/usr/include/glib-2.0/glib/gtrashstack.h: - -/usr/include/glib-2.0/glib/gtree.h: - -/usr/include/glib-2.0/glib/gurifuncs.h: - -/usr/include/glib-2.0/glib/gvarianttype.h: - -/usr/include/glib-2.0/glib/gvariant.h: - -/usr/include/glib-2.0/glib/gversion.h: - -/usr/include/glib-2.0/glib/deprecated/gallocator.h: - -/usr/include/glib-2.0/glib/deprecated/gcache.h: - -/usr/include/glib-2.0/glib/deprecated/gcompletion.h: - -/usr/include/glib-2.0/glib/deprecated/gmain.h: - -/usr/include/glib-2.0/glib/deprecated/grel.h: - -/usr/include/glib-2.0/glib/deprecated/gthread.h: - -/usr/include/pthread.h: - -/usr/include/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/setjmp.h: - -/usr/include/dbus-1.0/dbus/dbus.h: - -/usr/lib/arm-linux-gnueabihf/dbus-1.0/include/dbus/dbus-arch-deps.h: - -/usr/include/dbus-1.0/dbus/dbus-macros.h: - -/usr/include/dbus-1.0/dbus/dbus-address.h: - -/usr/include/dbus-1.0/dbus/dbus-types.h: - -/usr/include/dbus-1.0/dbus/dbus-errors.h: - -/usr/include/dbus-1.0/dbus/dbus-protocol.h: - -/usr/include/dbus-1.0/dbus/dbus-bus.h: - -/usr/include/dbus-1.0/dbus/dbus-connection.h: - -/usr/include/dbus-1.0/dbus/dbus-memory.h: - -/usr/include/dbus-1.0/dbus/dbus-message.h: - -/usr/include/dbus-1.0/dbus/dbus-shared.h: - -/usr/include/dbus-1.0/dbus/dbus-misc.h: - -/usr/include/dbus-1.0/dbus/dbus-pending-call.h: - -/usr/include/dbus-1.0/dbus/dbus-server.h: - -/usr/include/dbus-1.0/dbus/dbus-signature.h: - -/usr/include/dbus-1.0/dbus/dbus-syntax.h: - -/usr/include/dbus-1.0/dbus/dbus-threads.h: - -gdbus/gdbus.h: - -src/log.h: - -lib/../src/adapter.h: - -lib/bluetooth/hci_lib.h: - -lib/../src/device.h: - -src/error.h: - -src/dbus-common.h: - -profiles/audio/device.h: - -profiles/audio/avdtp.h: - -profiles/audio/control.h: - -profiles/audio/avctp.h: - -profiles/audio/avrcp.h: - -profiles/audio/sink.h: - -profiles/audio/source.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/profiles/audio/.deps/bluetoothd-main.Po b/GRIB_BLE_HUB/libs/ble_extend/profiles/audio/.deps/bluetoothd-main.Po deleted file mode 100644 index f151e1a..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/profiles/audio/.deps/bluetoothd-main.Po +++ /dev/null @@ -1,544 +0,0 @@ -profiles/audio/bluetoothd-main.o: profiles/audio/main.c \ - /usr/include/stdc-predef.h config.h /usr/include/errno.h \ - /usr/include/features.h /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/include/arm-linux-gnueabihf/bits/errno.h /usr/include/linux/errno.h \ - /usr/include/arm-linux-gnueabihf/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/include/arm-linux-gnueabihf/sys/socket.h \ - /usr/include/arm-linux-gnueabihf/sys/uio.h \ - /usr/include/arm-linux-gnueabihf/sys/types.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h /usr/include/time.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/include/endian.h /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/arm-linux-gnueabihf/bits/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/socket.h \ - /usr/include/arm-linux-gnueabihf/bits/socket_type.h \ - /usr/include/arm-linux-gnueabihf/bits/sockaddr.h \ - /usr/include/arm-linux-gnueabihf/asm/socket.h \ - /usr/include/asm-generic/socket.h \ - /usr/include/arm-linux-gnueabihf/asm/sockios.h \ - /usr/include/asm-generic/sockios.h /usr/include/unistd.h \ - /usr/include/arm-linux-gnueabihf/bits/posix_opt.h \ - /usr/include/arm-linux-gnueabihf/bits/environments.h \ - /usr/include/arm-linux-gnueabihf/bits/confname.h /usr/include/getopt.h \ - /usr/include/fcntl.h /usr/include/arm-linux-gnueabihf/bits/fcntl.h \ - /usr/include/arm-linux-gnueabihf/bits/fcntl-linux.h \ - /usr/include/arm-linux-gnueabihf/bits/stat.h lib/bluetooth/bluetooth.h \ - /usr/include/stdio.h /usr/include/libio.h /usr/include/_G_config.h \ - /usr/include/wchar.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/sys_errlist.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h \ - /usr/include/stdint.h /usr/include/arm-linux-gnueabihf/bits/wchar.h \ - /usr/include/string.h /usr/include/xlocale.h \ - /usr/include/arm-linux-gnueabihf/bits/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string2.h /usr/include/stdlib.h \ - /usr/include/byteswap.h /usr/include/netinet/in.h \ - /usr/include/arm-linux-gnueabihf/bits/in.h lib/bluetooth/sdp.h \ - lib/bluetooth/sdp_lib.h lib/bluetooth/hci.h /usr/include/glib-2.0/glib.h \ - /usr/include/glib-2.0/glib/galloca.h /usr/include/glib-2.0/glib/gtypes.h \ - /usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h \ - /usr/include/glib-2.0/glib/gmacros.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h \ - /usr/include/limits.h /usr/include/arm-linux-gnueabihf/bits/posix1_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/local_lim.h \ - /usr/include/linux/limits.h \ - /usr/include/arm-linux-gnueabihf/bits/posix2_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/xopen_lim.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h \ - /usr/include/glib-2.0/glib/gversionmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/timex.h \ - /usr/include/glib-2.0/glib/garray.h \ - /usr/include/glib-2.0/glib/gasyncqueue.h \ - /usr/include/glib-2.0/glib/gthread.h \ - /usr/include/glib-2.0/glib/gatomic.h /usr/include/glib-2.0/glib/gerror.h \ - /usr/include/glib-2.0/glib/gquark.h \ - /usr/include/glib-2.0/glib/gbacktrace.h /usr/include/signal.h \ - /usr/include/arm-linux-gnueabihf/bits/signum.h \ - /usr/include/arm-linux-gnueabihf/bits/siginfo.h \ - /usr/include/arm-linux-gnueabihf/bits/sigaction.h \ - /usr/include/arm-linux-gnueabihf/bits/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/asm/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigstack.h \ - /usr/include/arm-linux-gnueabihf/sys/ucontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigthread.h \ - /usr/include/glib-2.0/glib/gbase64.h \ - /usr/include/glib-2.0/glib/gbitlock.h \ - /usr/include/glib-2.0/glib/gbookmarkfile.h \ - /usr/include/glib-2.0/glib/gbytes.h \ - /usr/include/glib-2.0/glib/gcharset.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/gconvert.h \ - /usr/include/glib-2.0/glib/gdataset.h /usr/include/glib-2.0/glib/gdate.h \ - /usr/include/glib-2.0/glib/gdatetime.h \ - /usr/include/glib-2.0/glib/gtimezone.h /usr/include/glib-2.0/glib/gdir.h \ - /usr/include/dirent.h /usr/include/arm-linux-gnueabihf/bits/dirent.h \ - /usr/include/glib-2.0/glib/genviron.h \ - /usr/include/glib-2.0/glib/gfileutils.h \ - /usr/include/glib-2.0/glib/ggettext.h /usr/include/glib-2.0/glib/ghash.h \ - /usr/include/glib-2.0/glib/glist.h /usr/include/glib-2.0/glib/gmem.h \ - /usr/include/glib-2.0/glib/gnode.h /usr/include/glib-2.0/glib/ghmac.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/ghook.h \ - /usr/include/glib-2.0/glib/ghostutils.h \ - /usr/include/glib-2.0/glib/giochannel.h \ - /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gpoll.h \ - /usr/include/glib-2.0/glib/gslist.h /usr/include/glib-2.0/glib/gstring.h \ - /usr/include/glib-2.0/glib/gunicode.h \ - /usr/include/glib-2.0/glib/gutils.h \ - /usr/include/glib-2.0/glib/gkeyfile.h \ - /usr/include/glib-2.0/glib/gmappedfile.h \ - /usr/include/glib-2.0/glib/gmarkup.h \ - /usr/include/glib-2.0/glib/gmessages.h \ - /usr/include/glib-2.0/glib/goption.h \ - /usr/include/glib-2.0/glib/gpattern.h \ - /usr/include/glib-2.0/glib/gprimes.h /usr/include/glib-2.0/glib/gqsort.h \ - /usr/include/glib-2.0/glib/gqueue.h /usr/include/glib-2.0/glib/grand.h \ - /usr/include/glib-2.0/glib/gregex.h \ - /usr/include/glib-2.0/glib/gscanner.h \ - /usr/include/glib-2.0/glib/gsequence.h \ - /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gslice.h \ - /usr/include/glib-2.0/glib/gspawn.h \ - /usr/include/glib-2.0/glib/gstrfuncs.h \ - /usr/include/glib-2.0/glib/gstringchunk.h \ - /usr/include/glib-2.0/glib/gtestutils.h \ - /usr/include/glib-2.0/glib/gthreadpool.h \ - /usr/include/glib-2.0/glib/gtimer.h \ - /usr/include/glib-2.0/glib/gtrashstack.h \ - /usr/include/glib-2.0/glib/gtree.h \ - /usr/include/glib-2.0/glib/gurifuncs.h \ - /usr/include/glib-2.0/glib/gvarianttype.h \ - /usr/include/glib-2.0/glib/gvariant.h \ - /usr/include/glib-2.0/glib/gversion.h \ - /usr/include/glib-2.0/glib/deprecated/gallocator.h \ - /usr/include/glib-2.0/glib/deprecated/gcache.h \ - /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ - /usr/include/glib-2.0/glib/deprecated/gmain.h \ - /usr/include/glib-2.0/glib/deprecated/grel.h \ - /usr/include/glib-2.0/glib/deprecated/gthread.h /usr/include/pthread.h \ - /usr/include/sched.h /usr/include/arm-linux-gnueabihf/bits/sched.h \ - /usr/include/arm-linux-gnueabihf/bits/setjmp.h \ - /usr/include/dbus-1.0/dbus/dbus.h \ - /usr/lib/arm-linux-gnueabihf/dbus-1.0/include/dbus/dbus-arch-deps.h \ - /usr/include/dbus-1.0/dbus/dbus-macros.h \ - /usr/include/dbus-1.0/dbus/dbus-address.h \ - /usr/include/dbus-1.0/dbus/dbus-types.h \ - /usr/include/dbus-1.0/dbus/dbus-errors.h \ - /usr/include/dbus-1.0/dbus/dbus-protocol.h \ - /usr/include/dbus-1.0/dbus/dbus-bus.h \ - /usr/include/dbus-1.0/dbus/dbus-connection.h \ - /usr/include/dbus-1.0/dbus/dbus-memory.h \ - /usr/include/dbus-1.0/dbus/dbus-message.h \ - /usr/include/dbus-1.0/dbus/dbus-shared.h \ - /usr/include/dbus-1.0/dbus/dbus-misc.h \ - /usr/include/dbus-1.0/dbus/dbus-pending-call.h \ - /usr/include/dbus-1.0/dbus/dbus-server.h \ - /usr/include/dbus-1.0/dbus/dbus-signature.h \ - /usr/include/dbus-1.0/dbus/dbus-syntax.h \ - /usr/include/dbus-1.0/dbus/dbus-threads.h btio/btio.h src/glib-helper.h \ - src/plugin.h src/log.h profiles/audio/device.h profiles/audio/manager.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/include/errno.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/include/arm-linux-gnueabihf/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/arm-linux-gnueabihf/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/include/arm-linux-gnueabihf/sys/socket.h: - -/usr/include/arm-linux-gnueabihf/sys/uio.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/time.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/arm-linux-gnueabihf/bits/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/socket.h: - -/usr/include/arm-linux-gnueabihf/bits/socket_type.h: - -/usr/include/arm-linux-gnueabihf/bits/sockaddr.h: - -/usr/include/arm-linux-gnueabihf/asm/socket.h: - -/usr/include/asm-generic/socket.h: - -/usr/include/arm-linux-gnueabihf/asm/sockios.h: - -/usr/include/asm-generic/sockios.h: - -/usr/include/unistd.h: - -/usr/include/arm-linux-gnueabihf/bits/posix_opt.h: - -/usr/include/arm-linux-gnueabihf/bits/environments.h: - -/usr/include/arm-linux-gnueabihf/bits/confname.h: - -/usr/include/getopt.h: - -/usr/include/fcntl.h: - -/usr/include/arm-linux-gnueabihf/bits/fcntl.h: - -/usr/include/arm-linux-gnueabihf/bits/fcntl-linux.h: - -/usr/include/arm-linux-gnueabihf/bits/stat.h: - -lib/bluetooth/bluetooth.h: - -/usr/include/stdio.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/sys_errlist.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/arm-linux-gnueabihf/bits/wchar.h: - -/usr/include/string.h: - -/usr/include/xlocale.h: - -/usr/include/arm-linux-gnueabihf/bits/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string2.h: - -/usr/include/stdlib.h: - -/usr/include/byteswap.h: - -/usr/include/netinet/in.h: - -/usr/include/arm-linux-gnueabihf/bits/in.h: - -lib/bluetooth/sdp.h: - -lib/bluetooth/sdp_lib.h: - -lib/bluetooth/hci.h: - -/usr/include/glib-2.0/glib.h: - -/usr/include/glib-2.0/glib/galloca.h: - -/usr/include/glib-2.0/glib/gtypes.h: - -/usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h: - -/usr/include/glib-2.0/glib/gmacros.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h: - -/usr/include/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/local_lim.h: - -/usr/include/linux/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix2_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/xopen_lim.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h: - -/usr/include/glib-2.0/glib/gversionmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/timex.h: - -/usr/include/glib-2.0/glib/garray.h: - -/usr/include/glib-2.0/glib/gasyncqueue.h: - -/usr/include/glib-2.0/glib/gthread.h: - -/usr/include/glib-2.0/glib/gatomic.h: - -/usr/include/glib-2.0/glib/gerror.h: - -/usr/include/glib-2.0/glib/gquark.h: - -/usr/include/glib-2.0/glib/gbacktrace.h: - -/usr/include/signal.h: - -/usr/include/arm-linux-gnueabihf/bits/signum.h: - -/usr/include/arm-linux-gnueabihf/bits/siginfo.h: - -/usr/include/arm-linux-gnueabihf/bits/sigaction.h: - -/usr/include/arm-linux-gnueabihf/bits/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/asm/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigstack.h: - -/usr/include/arm-linux-gnueabihf/sys/ucontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigthread.h: - -/usr/include/glib-2.0/glib/gbase64.h: - -/usr/include/glib-2.0/glib/gbitlock.h: - -/usr/include/glib-2.0/glib/gbookmarkfile.h: - -/usr/include/glib-2.0/glib/gbytes.h: - -/usr/include/glib-2.0/glib/gcharset.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/gconvert.h: - -/usr/include/glib-2.0/glib/gdataset.h: - -/usr/include/glib-2.0/glib/gdate.h: - -/usr/include/glib-2.0/glib/gdatetime.h: - -/usr/include/glib-2.0/glib/gtimezone.h: - -/usr/include/glib-2.0/glib/gdir.h: - -/usr/include/dirent.h: - -/usr/include/arm-linux-gnueabihf/bits/dirent.h: - -/usr/include/glib-2.0/glib/genviron.h: - -/usr/include/glib-2.0/glib/gfileutils.h: - -/usr/include/glib-2.0/glib/ggettext.h: - -/usr/include/glib-2.0/glib/ghash.h: - -/usr/include/glib-2.0/glib/glist.h: - -/usr/include/glib-2.0/glib/gmem.h: - -/usr/include/glib-2.0/glib/gnode.h: - -/usr/include/glib-2.0/glib/ghmac.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/ghook.h: - -/usr/include/glib-2.0/glib/ghostutils.h: - -/usr/include/glib-2.0/glib/giochannel.h: - -/usr/include/glib-2.0/glib/gmain.h: - -/usr/include/glib-2.0/glib/gpoll.h: - -/usr/include/glib-2.0/glib/gslist.h: - -/usr/include/glib-2.0/glib/gstring.h: - -/usr/include/glib-2.0/glib/gunicode.h: - -/usr/include/glib-2.0/glib/gutils.h: - -/usr/include/glib-2.0/glib/gkeyfile.h: - -/usr/include/glib-2.0/glib/gmappedfile.h: - -/usr/include/glib-2.0/glib/gmarkup.h: - -/usr/include/glib-2.0/glib/gmessages.h: - -/usr/include/glib-2.0/glib/goption.h: - -/usr/include/glib-2.0/glib/gpattern.h: - -/usr/include/glib-2.0/glib/gprimes.h: - -/usr/include/glib-2.0/glib/gqsort.h: - -/usr/include/glib-2.0/glib/gqueue.h: - -/usr/include/glib-2.0/glib/grand.h: - -/usr/include/glib-2.0/glib/gregex.h: - -/usr/include/glib-2.0/glib/gscanner.h: - -/usr/include/glib-2.0/glib/gsequence.h: - -/usr/include/glib-2.0/glib/gshell.h: - -/usr/include/glib-2.0/glib/gslice.h: - -/usr/include/glib-2.0/glib/gspawn.h: - -/usr/include/glib-2.0/glib/gstrfuncs.h: - -/usr/include/glib-2.0/glib/gstringchunk.h: - -/usr/include/glib-2.0/glib/gtestutils.h: - -/usr/include/glib-2.0/glib/gthreadpool.h: - -/usr/include/glib-2.0/glib/gtimer.h: - -/usr/include/glib-2.0/glib/gtrashstack.h: - -/usr/include/glib-2.0/glib/gtree.h: - -/usr/include/glib-2.0/glib/gurifuncs.h: - -/usr/include/glib-2.0/glib/gvarianttype.h: - -/usr/include/glib-2.0/glib/gvariant.h: - -/usr/include/glib-2.0/glib/gversion.h: - -/usr/include/glib-2.0/glib/deprecated/gallocator.h: - -/usr/include/glib-2.0/glib/deprecated/gcache.h: - -/usr/include/glib-2.0/glib/deprecated/gcompletion.h: - -/usr/include/glib-2.0/glib/deprecated/gmain.h: - -/usr/include/glib-2.0/glib/deprecated/grel.h: - -/usr/include/glib-2.0/glib/deprecated/gthread.h: - -/usr/include/pthread.h: - -/usr/include/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/setjmp.h: - -/usr/include/dbus-1.0/dbus/dbus.h: - -/usr/lib/arm-linux-gnueabihf/dbus-1.0/include/dbus/dbus-arch-deps.h: - -/usr/include/dbus-1.0/dbus/dbus-macros.h: - -/usr/include/dbus-1.0/dbus/dbus-address.h: - -/usr/include/dbus-1.0/dbus/dbus-types.h: - -/usr/include/dbus-1.0/dbus/dbus-errors.h: - -/usr/include/dbus-1.0/dbus/dbus-protocol.h: - -/usr/include/dbus-1.0/dbus/dbus-bus.h: - -/usr/include/dbus-1.0/dbus/dbus-connection.h: - -/usr/include/dbus-1.0/dbus/dbus-memory.h: - -/usr/include/dbus-1.0/dbus/dbus-message.h: - -/usr/include/dbus-1.0/dbus/dbus-shared.h: - -/usr/include/dbus-1.0/dbus/dbus-misc.h: - -/usr/include/dbus-1.0/dbus/dbus-pending-call.h: - -/usr/include/dbus-1.0/dbus/dbus-server.h: - -/usr/include/dbus-1.0/dbus/dbus-signature.h: - -/usr/include/dbus-1.0/dbus/dbus-syntax.h: - -/usr/include/dbus-1.0/dbus/dbus-threads.h: - -btio/btio.h: - -src/glib-helper.h: - -src/plugin.h: - -src/log.h: - -profiles/audio/device.h: - -profiles/audio/manager.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/profiles/audio/.deps/bluetoothd-manager.Po b/GRIB_BLE_HUB/libs/ble_extend/profiles/audio/.deps/bluetoothd-manager.Po deleted file mode 100644 index 18e765f..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/profiles/audio/.deps/bluetoothd-manager.Po +++ /dev/null @@ -1,598 +0,0 @@ -profiles/audio/bluetoothd-manager.o: profiles/audio/manager.c \ - /usr/include/stdc-predef.h config.h /usr/include/stdio.h \ - /usr/include/features.h /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/sys_errlist.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio.h /usr/include/stdlib.h \ - /usr/include/arm-linux-gnueabihf/bits/waitflags.h \ - /usr/include/arm-linux-gnueabihf/bits/waitstatus.h /usr/include/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/xlocale.h /usr/include/arm-linux-gnueabihf/sys/types.h \ - /usr/include/time.h /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/alloca.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-float.h \ - /usr/include/errno.h /usr/include/arm-linux-gnueabihf/bits/errno.h \ - /usr/include/linux/errno.h /usr/include/arm-linux-gnueabihf/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/include/unistd.h /usr/include/arm-linux-gnueabihf/bits/posix_opt.h \ - /usr/include/arm-linux-gnueabihf/bits/environments.h \ - /usr/include/arm-linux-gnueabihf/bits/confname.h /usr/include/getopt.h \ - /usr/include/fcntl.h /usr/include/arm-linux-gnueabihf/bits/fcntl.h \ - /usr/include/arm-linux-gnueabihf/bits/fcntl-linux.h \ - /usr/include/arm-linux-gnueabihf/bits/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/stat.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h \ - /usr/include/stdint.h /usr/include/arm-linux-gnueabihf/bits/wchar.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdbool.h \ - /usr/include/arm-linux-gnueabihf/sys/stat.h /usr/include/dirent.h \ - /usr/include/arm-linux-gnueabihf/bits/dirent.h \ - /usr/include/arm-linux-gnueabihf/bits/posix1_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/local_lim.h \ - /usr/include/linux/limits.h /usr/include/ctype.h /usr/include/signal.h \ - /usr/include/arm-linux-gnueabihf/bits/signum.h \ - /usr/include/arm-linux-gnueabihf/bits/siginfo.h \ - /usr/include/arm-linux-gnueabihf/bits/sigaction.h \ - /usr/include/arm-linux-gnueabihf/bits/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/asm/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigstack.h \ - /usr/include/arm-linux-gnueabihf/sys/ucontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigthread.h \ - lib/bluetooth/bluetooth.h /usr/include/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string2.h /usr/include/byteswap.h \ - /usr/include/netinet/in.h /usr/include/arm-linux-gnueabihf/sys/socket.h \ - /usr/include/arm-linux-gnueabihf/sys/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/socket.h \ - /usr/include/arm-linux-gnueabihf/bits/socket_type.h \ - /usr/include/arm-linux-gnueabihf/bits/sockaddr.h \ - /usr/include/arm-linux-gnueabihf/asm/socket.h \ - /usr/include/asm-generic/socket.h \ - /usr/include/arm-linux-gnueabihf/asm/sockios.h \ - /usr/include/asm-generic/sockios.h \ - /usr/include/arm-linux-gnueabihf/bits/in.h lib/bluetooth/sdp.h \ - lib/bluetooth/sdp_lib.h lib/bluetooth/hci.h /usr/include/glib-2.0/glib.h \ - /usr/include/glib-2.0/glib/galloca.h /usr/include/glib-2.0/glib/gtypes.h \ - /usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h \ - /usr/include/glib-2.0/glib/gmacros.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h \ - /usr/include/limits.h /usr/include/arm-linux-gnueabihf/bits/posix2_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/xopen_lim.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h \ - /usr/include/glib-2.0/glib/gversionmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/timex.h \ - /usr/include/glib-2.0/glib/garray.h \ - /usr/include/glib-2.0/glib/gasyncqueue.h \ - /usr/include/glib-2.0/glib/gthread.h \ - /usr/include/glib-2.0/glib/gatomic.h /usr/include/glib-2.0/glib/gerror.h \ - /usr/include/glib-2.0/glib/gquark.h \ - /usr/include/glib-2.0/glib/gbacktrace.h \ - /usr/include/glib-2.0/glib/gbase64.h \ - /usr/include/glib-2.0/glib/gbitlock.h \ - /usr/include/glib-2.0/glib/gbookmarkfile.h \ - /usr/include/glib-2.0/glib/gbytes.h \ - /usr/include/glib-2.0/glib/gcharset.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/gconvert.h \ - /usr/include/glib-2.0/glib/gdataset.h /usr/include/glib-2.0/glib/gdate.h \ - /usr/include/glib-2.0/glib/gdatetime.h \ - /usr/include/glib-2.0/glib/gtimezone.h /usr/include/glib-2.0/glib/gdir.h \ - /usr/include/glib-2.0/glib/genviron.h \ - /usr/include/glib-2.0/glib/gfileutils.h \ - /usr/include/glib-2.0/glib/ggettext.h /usr/include/glib-2.0/glib/ghash.h \ - /usr/include/glib-2.0/glib/glist.h /usr/include/glib-2.0/glib/gmem.h \ - /usr/include/glib-2.0/glib/gnode.h /usr/include/glib-2.0/glib/ghmac.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/ghook.h \ - /usr/include/glib-2.0/glib/ghostutils.h \ - /usr/include/glib-2.0/glib/giochannel.h \ - /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gpoll.h \ - /usr/include/glib-2.0/glib/gslist.h /usr/include/glib-2.0/glib/gstring.h \ - /usr/include/glib-2.0/glib/gunicode.h \ - /usr/include/glib-2.0/glib/gutils.h \ - /usr/include/glib-2.0/glib/gkeyfile.h \ - /usr/include/glib-2.0/glib/gmappedfile.h \ - /usr/include/glib-2.0/glib/gmarkup.h \ - /usr/include/glib-2.0/glib/gmessages.h \ - /usr/include/glib-2.0/glib/goption.h \ - /usr/include/glib-2.0/glib/gpattern.h \ - /usr/include/glib-2.0/glib/gprimes.h /usr/include/glib-2.0/glib/gqsort.h \ - /usr/include/glib-2.0/glib/gqueue.h /usr/include/glib-2.0/glib/grand.h \ - /usr/include/glib-2.0/glib/gregex.h \ - /usr/include/glib-2.0/glib/gscanner.h \ - /usr/include/glib-2.0/glib/gsequence.h \ - /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gslice.h \ - /usr/include/glib-2.0/glib/gspawn.h \ - /usr/include/glib-2.0/glib/gstrfuncs.h \ - /usr/include/glib-2.0/glib/gstringchunk.h \ - /usr/include/glib-2.0/glib/gtestutils.h \ - /usr/include/glib-2.0/glib/gthreadpool.h \ - /usr/include/glib-2.0/glib/gtimer.h \ - /usr/include/glib-2.0/glib/gtrashstack.h \ - /usr/include/glib-2.0/glib/gtree.h \ - /usr/include/glib-2.0/glib/gurifuncs.h \ - /usr/include/glib-2.0/glib/gvarianttype.h \ - /usr/include/glib-2.0/glib/gvariant.h \ - /usr/include/glib-2.0/glib/gversion.h \ - /usr/include/glib-2.0/glib/deprecated/gallocator.h \ - /usr/include/glib-2.0/glib/deprecated/gcache.h \ - /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ - /usr/include/glib-2.0/glib/deprecated/gmain.h \ - /usr/include/glib-2.0/glib/deprecated/grel.h \ - /usr/include/glib-2.0/glib/deprecated/gthread.h /usr/include/pthread.h \ - /usr/include/sched.h /usr/include/arm-linux-gnueabihf/bits/sched.h \ - /usr/include/arm-linux-gnueabihf/bits/setjmp.h \ - /usr/include/dbus-1.0/dbus/dbus.h \ - /usr/lib/arm-linux-gnueabihf/dbus-1.0/include/dbus/dbus-arch-deps.h \ - /usr/include/dbus-1.0/dbus/dbus-macros.h \ - /usr/include/dbus-1.0/dbus/dbus-address.h \ - /usr/include/dbus-1.0/dbus/dbus-types.h \ - /usr/include/dbus-1.0/dbus/dbus-errors.h \ - /usr/include/dbus-1.0/dbus/dbus-protocol.h \ - /usr/include/dbus-1.0/dbus/dbus-bus.h \ - /usr/include/dbus-1.0/dbus/dbus-connection.h \ - /usr/include/dbus-1.0/dbus/dbus-memory.h \ - /usr/include/dbus-1.0/dbus/dbus-message.h \ - /usr/include/dbus-1.0/dbus/dbus-shared.h \ - /usr/include/dbus-1.0/dbus/dbus-misc.h \ - /usr/include/dbus-1.0/dbus/dbus-pending-call.h \ - /usr/include/dbus-1.0/dbus/dbus-server.h \ - /usr/include/dbus-1.0/dbus/dbus-signature.h \ - /usr/include/dbus-1.0/dbus/dbus-syntax.h \ - /usr/include/dbus-1.0/dbus/dbus-threads.h btio/btio.h gdbus/gdbus.h \ - lib/uuid.h src/glib-helper.h lib/../src/adapter.h \ - lib/bluetooth/hci_lib.h lib/../src/device.h lib/../src/profile.h \ - src/log.h profiles/audio/device.h src/error.h profiles/audio/avdtp.h \ - profiles/audio/media.h profiles/audio/a2dp.h profiles/audio/sink.h \ - profiles/audio/source.h profiles/audio/avrcp.h profiles/audio/control.h \ - profiles/audio/manager.h src/sdpd.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/include/stdio.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/sys_errlist.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio.h: - -/usr/include/stdlib.h: - -/usr/include/arm-linux-gnueabihf/bits/waitflags.h: - -/usr/include/arm-linux-gnueabihf/bits/waitstatus.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/xlocale.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/time.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/alloca.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-float.h: - -/usr/include/errno.h: - -/usr/include/arm-linux-gnueabihf/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/arm-linux-gnueabihf/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/include/unistd.h: - -/usr/include/arm-linux-gnueabihf/bits/posix_opt.h: - -/usr/include/arm-linux-gnueabihf/bits/environments.h: - -/usr/include/arm-linux-gnueabihf/bits/confname.h: - -/usr/include/getopt.h: - -/usr/include/fcntl.h: - -/usr/include/arm-linux-gnueabihf/bits/fcntl.h: - -/usr/include/arm-linux-gnueabihf/bits/fcntl-linux.h: - -/usr/include/arm-linux-gnueabihf/bits/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/stat.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/arm-linux-gnueabihf/bits/wchar.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdbool.h: - -/usr/include/arm-linux-gnueabihf/sys/stat.h: - -/usr/include/dirent.h: - -/usr/include/arm-linux-gnueabihf/bits/dirent.h: - -/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/local_lim.h: - -/usr/include/linux/limits.h: - -/usr/include/ctype.h: - -/usr/include/signal.h: - -/usr/include/arm-linux-gnueabihf/bits/signum.h: - -/usr/include/arm-linux-gnueabihf/bits/siginfo.h: - -/usr/include/arm-linux-gnueabihf/bits/sigaction.h: - -/usr/include/arm-linux-gnueabihf/bits/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/asm/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigstack.h: - -/usr/include/arm-linux-gnueabihf/sys/ucontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigthread.h: - -lib/bluetooth/bluetooth.h: - -/usr/include/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string2.h: - -/usr/include/byteswap.h: - -/usr/include/netinet/in.h: - -/usr/include/arm-linux-gnueabihf/sys/socket.h: - -/usr/include/arm-linux-gnueabihf/sys/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/socket.h: - -/usr/include/arm-linux-gnueabihf/bits/socket_type.h: - -/usr/include/arm-linux-gnueabihf/bits/sockaddr.h: - -/usr/include/arm-linux-gnueabihf/asm/socket.h: - -/usr/include/asm-generic/socket.h: - -/usr/include/arm-linux-gnueabihf/asm/sockios.h: - -/usr/include/asm-generic/sockios.h: - -/usr/include/arm-linux-gnueabihf/bits/in.h: - -lib/bluetooth/sdp.h: - -lib/bluetooth/sdp_lib.h: - -lib/bluetooth/hci.h: - -/usr/include/glib-2.0/glib.h: - -/usr/include/glib-2.0/glib/galloca.h: - -/usr/include/glib-2.0/glib/gtypes.h: - -/usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h: - -/usr/include/glib-2.0/glib/gmacros.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h: - -/usr/include/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix2_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/xopen_lim.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h: - -/usr/include/glib-2.0/glib/gversionmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/timex.h: - -/usr/include/glib-2.0/glib/garray.h: - -/usr/include/glib-2.0/glib/gasyncqueue.h: - -/usr/include/glib-2.0/glib/gthread.h: - -/usr/include/glib-2.0/glib/gatomic.h: - -/usr/include/glib-2.0/glib/gerror.h: - -/usr/include/glib-2.0/glib/gquark.h: - -/usr/include/glib-2.0/glib/gbacktrace.h: - -/usr/include/glib-2.0/glib/gbase64.h: - -/usr/include/glib-2.0/glib/gbitlock.h: - -/usr/include/glib-2.0/glib/gbookmarkfile.h: - -/usr/include/glib-2.0/glib/gbytes.h: - -/usr/include/glib-2.0/glib/gcharset.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/gconvert.h: - -/usr/include/glib-2.0/glib/gdataset.h: - -/usr/include/glib-2.0/glib/gdate.h: - -/usr/include/glib-2.0/glib/gdatetime.h: - -/usr/include/glib-2.0/glib/gtimezone.h: - -/usr/include/glib-2.0/glib/gdir.h: - -/usr/include/glib-2.0/glib/genviron.h: - -/usr/include/glib-2.0/glib/gfileutils.h: - -/usr/include/glib-2.0/glib/ggettext.h: - -/usr/include/glib-2.0/glib/ghash.h: - -/usr/include/glib-2.0/glib/glist.h: - -/usr/include/glib-2.0/glib/gmem.h: - -/usr/include/glib-2.0/glib/gnode.h: - -/usr/include/glib-2.0/glib/ghmac.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/ghook.h: - -/usr/include/glib-2.0/glib/ghostutils.h: - -/usr/include/glib-2.0/glib/giochannel.h: - -/usr/include/glib-2.0/glib/gmain.h: - -/usr/include/glib-2.0/glib/gpoll.h: - -/usr/include/glib-2.0/glib/gslist.h: - -/usr/include/glib-2.0/glib/gstring.h: - -/usr/include/glib-2.0/glib/gunicode.h: - -/usr/include/glib-2.0/glib/gutils.h: - -/usr/include/glib-2.0/glib/gkeyfile.h: - -/usr/include/glib-2.0/glib/gmappedfile.h: - -/usr/include/glib-2.0/glib/gmarkup.h: - -/usr/include/glib-2.0/glib/gmessages.h: - -/usr/include/glib-2.0/glib/goption.h: - -/usr/include/glib-2.0/glib/gpattern.h: - -/usr/include/glib-2.0/glib/gprimes.h: - -/usr/include/glib-2.0/glib/gqsort.h: - -/usr/include/glib-2.0/glib/gqueue.h: - -/usr/include/glib-2.0/glib/grand.h: - -/usr/include/glib-2.0/glib/gregex.h: - -/usr/include/glib-2.0/glib/gscanner.h: - -/usr/include/glib-2.0/glib/gsequence.h: - -/usr/include/glib-2.0/glib/gshell.h: - -/usr/include/glib-2.0/glib/gslice.h: - -/usr/include/glib-2.0/glib/gspawn.h: - -/usr/include/glib-2.0/glib/gstrfuncs.h: - -/usr/include/glib-2.0/glib/gstringchunk.h: - -/usr/include/glib-2.0/glib/gtestutils.h: - -/usr/include/glib-2.0/glib/gthreadpool.h: - -/usr/include/glib-2.0/glib/gtimer.h: - -/usr/include/glib-2.0/glib/gtrashstack.h: - -/usr/include/glib-2.0/glib/gtree.h: - -/usr/include/glib-2.0/glib/gurifuncs.h: - -/usr/include/glib-2.0/glib/gvarianttype.h: - -/usr/include/glib-2.0/glib/gvariant.h: - -/usr/include/glib-2.0/glib/gversion.h: - -/usr/include/glib-2.0/glib/deprecated/gallocator.h: - -/usr/include/glib-2.0/glib/deprecated/gcache.h: - -/usr/include/glib-2.0/glib/deprecated/gcompletion.h: - -/usr/include/glib-2.0/glib/deprecated/gmain.h: - -/usr/include/glib-2.0/glib/deprecated/grel.h: - -/usr/include/glib-2.0/glib/deprecated/gthread.h: - -/usr/include/pthread.h: - -/usr/include/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/setjmp.h: - -/usr/include/dbus-1.0/dbus/dbus.h: - -/usr/lib/arm-linux-gnueabihf/dbus-1.0/include/dbus/dbus-arch-deps.h: - -/usr/include/dbus-1.0/dbus/dbus-macros.h: - -/usr/include/dbus-1.0/dbus/dbus-address.h: - -/usr/include/dbus-1.0/dbus/dbus-types.h: - -/usr/include/dbus-1.0/dbus/dbus-errors.h: - -/usr/include/dbus-1.0/dbus/dbus-protocol.h: - -/usr/include/dbus-1.0/dbus/dbus-bus.h: - -/usr/include/dbus-1.0/dbus/dbus-connection.h: - -/usr/include/dbus-1.0/dbus/dbus-memory.h: - -/usr/include/dbus-1.0/dbus/dbus-message.h: - -/usr/include/dbus-1.0/dbus/dbus-shared.h: - -/usr/include/dbus-1.0/dbus/dbus-misc.h: - -/usr/include/dbus-1.0/dbus/dbus-pending-call.h: - -/usr/include/dbus-1.0/dbus/dbus-server.h: - -/usr/include/dbus-1.0/dbus/dbus-signature.h: - -/usr/include/dbus-1.0/dbus/dbus-syntax.h: - -/usr/include/dbus-1.0/dbus/dbus-threads.h: - -btio/btio.h: - -gdbus/gdbus.h: - -lib/uuid.h: - -src/glib-helper.h: - -lib/../src/adapter.h: - -lib/bluetooth/hci_lib.h: - -lib/../src/device.h: - -lib/../src/profile.h: - -src/log.h: - -profiles/audio/device.h: - -src/error.h: - -profiles/audio/avdtp.h: - -profiles/audio/media.h: - -profiles/audio/a2dp.h: - -profiles/audio/sink.h: - -profiles/audio/source.h: - -profiles/audio/avrcp.h: - -profiles/audio/control.h: - -profiles/audio/manager.h: - -src/sdpd.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/profiles/audio/.deps/bluetoothd-media.Po b/GRIB_BLE_HUB/libs/ble_extend/profiles/audio/.deps/bluetoothd-media.Po deleted file mode 100644 index 6c76de4..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/profiles/audio/.deps/bluetoothd-media.Po +++ /dev/null @@ -1,549 +0,0 @@ -profiles/audio/bluetoothd-media.o: profiles/audio/media.c \ - /usr/include/stdc-predef.h config.h /usr/include/errno.h \ - /usr/include/features.h /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/include/arm-linux-gnueabihf/bits/errno.h /usr/include/linux/errno.h \ - /usr/include/arm-linux-gnueabihf/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/include/inttypes.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h \ - /usr/include/stdint.h /usr/include/arm-linux-gnueabihf/bits/wchar.h \ - /usr/include/glib-2.0/glib.h /usr/include/glib-2.0/glib/galloca.h \ - /usr/include/glib-2.0/glib/gtypes.h \ - /usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h \ - /usr/include/glib-2.0/glib/gmacros.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h \ - /usr/include/limits.h /usr/include/arm-linux-gnueabihf/bits/posix1_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/local_lim.h \ - /usr/include/linux/limits.h \ - /usr/include/arm-linux-gnueabihf/bits/posix2_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/xopen_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h \ - /usr/include/glib-2.0/glib/gversionmacros.h /usr/include/time.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h \ - /usr/include/arm-linux-gnueabihf/bits/timex.h /usr/include/xlocale.h \ - /usr/include/glib-2.0/glib/garray.h \ - /usr/include/glib-2.0/glib/gasyncqueue.h \ - /usr/include/glib-2.0/glib/gthread.h \ - /usr/include/glib-2.0/glib/gatomic.h /usr/include/glib-2.0/glib/gerror.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/glib-2.0/glib/gquark.h \ - /usr/include/glib-2.0/glib/gbacktrace.h /usr/include/signal.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/signum.h \ - /usr/include/arm-linux-gnueabihf/bits/siginfo.h \ - /usr/include/arm-linux-gnueabihf/bits/sigaction.h \ - /usr/include/arm-linux-gnueabihf/bits/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/asm/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigstack.h \ - /usr/include/arm-linux-gnueabihf/sys/ucontext.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/endian.h /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/arm-linux-gnueabihf/bits/sigthread.h \ - /usr/include/glib-2.0/glib/gbase64.h \ - /usr/include/glib-2.0/glib/gbitlock.h \ - /usr/include/glib-2.0/glib/gbookmarkfile.h \ - /usr/include/glib-2.0/glib/gbytes.h \ - /usr/include/glib-2.0/glib/gcharset.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/gconvert.h \ - /usr/include/glib-2.0/glib/gdataset.h /usr/include/glib-2.0/glib/gdate.h \ - /usr/include/glib-2.0/glib/gdatetime.h \ - /usr/include/glib-2.0/glib/gtimezone.h /usr/include/glib-2.0/glib/gdir.h \ - /usr/include/dirent.h /usr/include/arm-linux-gnueabihf/bits/dirent.h \ - /usr/include/glib-2.0/glib/genviron.h \ - /usr/include/glib-2.0/glib/gfileutils.h \ - /usr/include/glib-2.0/glib/ggettext.h /usr/include/glib-2.0/glib/ghash.h \ - /usr/include/glib-2.0/glib/glist.h /usr/include/glib-2.0/glib/gmem.h \ - /usr/include/glib-2.0/glib/gnode.h /usr/include/glib-2.0/glib/ghmac.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/ghook.h \ - /usr/include/glib-2.0/glib/ghostutils.h \ - /usr/include/glib-2.0/glib/giochannel.h \ - /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gpoll.h \ - /usr/include/glib-2.0/glib/gslist.h /usr/include/glib-2.0/glib/gstring.h \ - /usr/include/glib-2.0/glib/gunicode.h \ - /usr/include/glib-2.0/glib/gutils.h \ - /usr/include/glib-2.0/glib/gkeyfile.h \ - /usr/include/glib-2.0/glib/gmappedfile.h \ - /usr/include/glib-2.0/glib/gmarkup.h \ - /usr/include/glib-2.0/glib/gmessages.h \ - /usr/include/glib-2.0/glib/goption.h \ - /usr/include/glib-2.0/glib/gpattern.h \ - /usr/include/glib-2.0/glib/gprimes.h /usr/include/glib-2.0/glib/gqsort.h \ - /usr/include/glib-2.0/glib/gqueue.h /usr/include/glib-2.0/glib/grand.h \ - /usr/include/glib-2.0/glib/gregex.h \ - /usr/include/glib-2.0/glib/gscanner.h \ - /usr/include/glib-2.0/glib/gsequence.h \ - /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gslice.h \ - /usr/include/glib-2.0/glib/gspawn.h \ - /usr/include/glib-2.0/glib/gstrfuncs.h \ - /usr/include/glib-2.0/glib/gstringchunk.h \ - /usr/include/glib-2.0/glib/gtestutils.h \ - /usr/include/glib-2.0/glib/gthreadpool.h \ - /usr/include/glib-2.0/glib/gtimer.h \ - /usr/include/glib-2.0/glib/gtrashstack.h \ - /usr/include/glib-2.0/glib/gtree.h \ - /usr/include/glib-2.0/glib/gurifuncs.h \ - /usr/include/glib-2.0/glib/gvarianttype.h \ - /usr/include/glib-2.0/glib/gvariant.h \ - /usr/include/glib-2.0/glib/gversion.h \ - /usr/include/glib-2.0/glib/deprecated/gallocator.h \ - /usr/include/glib-2.0/glib/deprecated/gcache.h \ - /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ - /usr/include/glib-2.0/glib/deprecated/gmain.h \ - /usr/include/glib-2.0/glib/deprecated/grel.h \ - /usr/include/glib-2.0/glib/deprecated/gthread.h \ - /usr/include/arm-linux-gnueabihf/sys/types.h \ - /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h /usr/include/pthread.h \ - /usr/include/sched.h /usr/include/arm-linux-gnueabihf/bits/sched.h \ - /usr/include/arm-linux-gnueabihf/bits/setjmp.h gdbus/gdbus.h \ - /usr/include/dbus-1.0/dbus/dbus.h \ - /usr/lib/arm-linux-gnueabihf/dbus-1.0/include/dbus/dbus-arch-deps.h \ - /usr/include/dbus-1.0/dbus/dbus-macros.h \ - /usr/include/dbus-1.0/dbus/dbus-address.h \ - /usr/include/dbus-1.0/dbus/dbus-types.h \ - /usr/include/dbus-1.0/dbus/dbus-errors.h \ - /usr/include/dbus-1.0/dbus/dbus-protocol.h \ - /usr/include/dbus-1.0/dbus/dbus-bus.h \ - /usr/include/dbus-1.0/dbus/dbus-connection.h \ - /usr/include/dbus-1.0/dbus/dbus-memory.h \ - /usr/include/dbus-1.0/dbus/dbus-message.h \ - /usr/include/dbus-1.0/dbus/dbus-shared.h \ - /usr/include/dbus-1.0/dbus/dbus-misc.h \ - /usr/include/dbus-1.0/dbus/dbus-pending-call.h \ - /usr/include/dbus-1.0/dbus/dbus-server.h \ - /usr/include/dbus-1.0/dbus/dbus-signature.h \ - /usr/include/dbus-1.0/dbus/dbus-syntax.h \ - /usr/include/dbus-1.0/dbus/dbus-threads.h lib/uuid.h \ - lib/bluetooth/bluetooth.h /usr/include/stdio.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/include/arm-linux-gnueabihf/bits/sys_errlist.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio.h /usr/include/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string2.h /usr/include/stdlib.h \ - /usr/include/byteswap.h /usr/include/netinet/in.h \ - /usr/include/arm-linux-gnueabihf/sys/socket.h \ - /usr/include/arm-linux-gnueabihf/sys/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/socket.h \ - /usr/include/arm-linux-gnueabihf/bits/socket_type.h \ - /usr/include/arm-linux-gnueabihf/bits/sockaddr.h \ - /usr/include/arm-linux-gnueabihf/asm/socket.h \ - /usr/include/asm-generic/socket.h \ - /usr/include/arm-linux-gnueabihf/asm/sockios.h \ - /usr/include/asm-generic/sockios.h \ - /usr/include/arm-linux-gnueabihf/bits/in.h lib/../src/adapter.h \ - lib/bluetooth/sdp.h lib/bluetooth/hci.h lib/bluetooth/hci_lib.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdbool.h \ - lib/../src/device.h lib/../src/dbus-common.h lib/../src/profile.h \ - src/glib-helper.h src/log.h src/error.h profiles/audio/device.h \ - profiles/audio/avdtp.h profiles/audio/media.h profiles/audio/transport.h \ - profiles/audio/a2dp.h profiles/audio/avrcp.h profiles/audio/manager.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/include/errno.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/include/arm-linux-gnueabihf/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/arm-linux-gnueabihf/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/include/inttypes.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/arm-linux-gnueabihf/bits/wchar.h: - -/usr/include/glib-2.0/glib.h: - -/usr/include/glib-2.0/glib/galloca.h: - -/usr/include/glib-2.0/glib/gtypes.h: - -/usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h: - -/usr/include/glib-2.0/glib/gmacros.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h: - -/usr/include/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/local_lim.h: - -/usr/include/linux/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix2_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/xopen_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h: - -/usr/include/glib-2.0/glib/gversionmacros.h: - -/usr/include/time.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/arm-linux-gnueabihf/bits/timex.h: - -/usr/include/xlocale.h: - -/usr/include/glib-2.0/glib/garray.h: - -/usr/include/glib-2.0/glib/gasyncqueue.h: - -/usr/include/glib-2.0/glib/gthread.h: - -/usr/include/glib-2.0/glib/gatomic.h: - -/usr/include/glib-2.0/glib/gerror.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/glib-2.0/glib/gquark.h: - -/usr/include/glib-2.0/glib/gbacktrace.h: - -/usr/include/signal.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/signum.h: - -/usr/include/arm-linux-gnueabihf/bits/siginfo.h: - -/usr/include/arm-linux-gnueabihf/bits/sigaction.h: - -/usr/include/arm-linux-gnueabihf/bits/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/asm/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigstack.h: - -/usr/include/arm-linux-gnueabihf/sys/ucontext.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/arm-linux-gnueabihf/bits/sigthread.h: - -/usr/include/glib-2.0/glib/gbase64.h: - -/usr/include/glib-2.0/glib/gbitlock.h: - -/usr/include/glib-2.0/glib/gbookmarkfile.h: - -/usr/include/glib-2.0/glib/gbytes.h: - -/usr/include/glib-2.0/glib/gcharset.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/gconvert.h: - -/usr/include/glib-2.0/glib/gdataset.h: - -/usr/include/glib-2.0/glib/gdate.h: - -/usr/include/glib-2.0/glib/gdatetime.h: - -/usr/include/glib-2.0/glib/gtimezone.h: - -/usr/include/glib-2.0/glib/gdir.h: - -/usr/include/dirent.h: - -/usr/include/arm-linux-gnueabihf/bits/dirent.h: - -/usr/include/glib-2.0/glib/genviron.h: - -/usr/include/glib-2.0/glib/gfileutils.h: - -/usr/include/glib-2.0/glib/ggettext.h: - -/usr/include/glib-2.0/glib/ghash.h: - -/usr/include/glib-2.0/glib/glist.h: - -/usr/include/glib-2.0/glib/gmem.h: - -/usr/include/glib-2.0/glib/gnode.h: - -/usr/include/glib-2.0/glib/ghmac.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/ghook.h: - -/usr/include/glib-2.0/glib/ghostutils.h: - -/usr/include/glib-2.0/glib/giochannel.h: - -/usr/include/glib-2.0/glib/gmain.h: - -/usr/include/glib-2.0/glib/gpoll.h: - -/usr/include/glib-2.0/glib/gslist.h: - -/usr/include/glib-2.0/glib/gstring.h: - -/usr/include/glib-2.0/glib/gunicode.h: - -/usr/include/glib-2.0/glib/gutils.h: - -/usr/include/glib-2.0/glib/gkeyfile.h: - -/usr/include/glib-2.0/glib/gmappedfile.h: - -/usr/include/glib-2.0/glib/gmarkup.h: - -/usr/include/glib-2.0/glib/gmessages.h: - -/usr/include/glib-2.0/glib/goption.h: - -/usr/include/glib-2.0/glib/gpattern.h: - -/usr/include/glib-2.0/glib/gprimes.h: - -/usr/include/glib-2.0/glib/gqsort.h: - -/usr/include/glib-2.0/glib/gqueue.h: - -/usr/include/glib-2.0/glib/grand.h: - -/usr/include/glib-2.0/glib/gregex.h: - -/usr/include/glib-2.0/glib/gscanner.h: - -/usr/include/glib-2.0/glib/gsequence.h: - -/usr/include/glib-2.0/glib/gshell.h: - -/usr/include/glib-2.0/glib/gslice.h: - -/usr/include/glib-2.0/glib/gspawn.h: - -/usr/include/glib-2.0/glib/gstrfuncs.h: - -/usr/include/glib-2.0/glib/gstringchunk.h: - -/usr/include/glib-2.0/glib/gtestutils.h: - -/usr/include/glib-2.0/glib/gthreadpool.h: - -/usr/include/glib-2.0/glib/gtimer.h: - -/usr/include/glib-2.0/glib/gtrashstack.h: - -/usr/include/glib-2.0/glib/gtree.h: - -/usr/include/glib-2.0/glib/gurifuncs.h: - -/usr/include/glib-2.0/glib/gvarianttype.h: - -/usr/include/glib-2.0/glib/gvariant.h: - -/usr/include/glib-2.0/glib/gversion.h: - -/usr/include/glib-2.0/glib/deprecated/gallocator.h: - -/usr/include/glib-2.0/glib/deprecated/gcache.h: - -/usr/include/glib-2.0/glib/deprecated/gcompletion.h: - -/usr/include/glib-2.0/glib/deprecated/gmain.h: - -/usr/include/glib-2.0/glib/deprecated/grel.h: - -/usr/include/glib-2.0/glib/deprecated/gthread.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/pthread.h: - -/usr/include/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/setjmp.h: - -gdbus/gdbus.h: - -/usr/include/dbus-1.0/dbus/dbus.h: - -/usr/lib/arm-linux-gnueabihf/dbus-1.0/include/dbus/dbus-arch-deps.h: - -/usr/include/dbus-1.0/dbus/dbus-macros.h: - -/usr/include/dbus-1.0/dbus/dbus-address.h: - -/usr/include/dbus-1.0/dbus/dbus-types.h: - -/usr/include/dbus-1.0/dbus/dbus-errors.h: - -/usr/include/dbus-1.0/dbus/dbus-protocol.h: - -/usr/include/dbus-1.0/dbus/dbus-bus.h: - -/usr/include/dbus-1.0/dbus/dbus-connection.h: - -/usr/include/dbus-1.0/dbus/dbus-memory.h: - -/usr/include/dbus-1.0/dbus/dbus-message.h: - -/usr/include/dbus-1.0/dbus/dbus-shared.h: - -/usr/include/dbus-1.0/dbus/dbus-misc.h: - -/usr/include/dbus-1.0/dbus/dbus-pending-call.h: - -/usr/include/dbus-1.0/dbus/dbus-server.h: - -/usr/include/dbus-1.0/dbus/dbus-signature.h: - -/usr/include/dbus-1.0/dbus/dbus-syntax.h: - -/usr/include/dbus-1.0/dbus/dbus-threads.h: - -lib/uuid.h: - -lib/bluetooth/bluetooth.h: - -/usr/include/stdio.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/include/arm-linux-gnueabihf/bits/sys_errlist.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio.h: - -/usr/include/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string2.h: - -/usr/include/stdlib.h: - -/usr/include/byteswap.h: - -/usr/include/netinet/in.h: - -/usr/include/arm-linux-gnueabihf/sys/socket.h: - -/usr/include/arm-linux-gnueabihf/sys/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/socket.h: - -/usr/include/arm-linux-gnueabihf/bits/socket_type.h: - -/usr/include/arm-linux-gnueabihf/bits/sockaddr.h: - -/usr/include/arm-linux-gnueabihf/asm/socket.h: - -/usr/include/asm-generic/socket.h: - -/usr/include/arm-linux-gnueabihf/asm/sockios.h: - -/usr/include/asm-generic/sockios.h: - -/usr/include/arm-linux-gnueabihf/bits/in.h: - -lib/../src/adapter.h: - -lib/bluetooth/sdp.h: - -lib/bluetooth/hci.h: - -lib/bluetooth/hci_lib.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdbool.h: - -lib/../src/device.h: - -lib/../src/dbus-common.h: - -lib/../src/profile.h: - -src/glib-helper.h: - -src/log.h: - -src/error.h: - -profiles/audio/device.h: - -profiles/audio/avdtp.h: - -profiles/audio/media.h: - -profiles/audio/transport.h: - -profiles/audio/a2dp.h: - -profiles/audio/avrcp.h: - -profiles/audio/manager.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/profiles/audio/.deps/bluetoothd-player.Po b/GRIB_BLE_HUB/libs/ble_extend/profiles/audio/.deps/bluetoothd-player.Po deleted file mode 100644 index 80e5ef3..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/profiles/audio/.deps/bluetoothd-player.Po +++ /dev/null @@ -1,489 +0,0 @@ -profiles/audio/bluetoothd-player.o: profiles/audio/player.c \ - /usr/include/stdc-predef.h config.h /usr/include/stdlib.h \ - /usr/include/features.h /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/include/arm-linux-gnueabihf/bits/waitflags.h \ - /usr/include/arm-linux-gnueabihf/bits/waitstatus.h /usr/include/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/xlocale.h /usr/include/arm-linux-gnueabihf/sys/types.h \ - /usr/include/time.h /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/alloca.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-float.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h \ - /usr/include/stdint.h /usr/include/arm-linux-gnueabihf/bits/wchar.h \ - /usr/include/inttypes.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdbool.h \ - /usr/include/errno.h /usr/include/arm-linux-gnueabihf/bits/errno.h \ - /usr/include/linux/errno.h /usr/include/arm-linux-gnueabihf/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/include/unistd.h /usr/include/arm-linux-gnueabihf/bits/posix_opt.h \ - /usr/include/arm-linux-gnueabihf/bits/environments.h \ - /usr/include/arm-linux-gnueabihf/bits/confname.h /usr/include/getopt.h \ - /usr/include/string.h /usr/include/arm-linux-gnueabihf/bits/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string2.h \ - /usr/include/glib-2.0/glib.h /usr/include/glib-2.0/glib/galloca.h \ - /usr/include/glib-2.0/glib/gtypes.h \ - /usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h \ - /usr/include/glib-2.0/glib/gmacros.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h \ - /usr/include/limits.h /usr/include/arm-linux-gnueabihf/bits/posix1_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/local_lim.h \ - /usr/include/linux/limits.h \ - /usr/include/arm-linux-gnueabihf/bits/posix2_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/xopen_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h \ - /usr/include/glib-2.0/glib/gversionmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/timex.h \ - /usr/include/glib-2.0/glib/garray.h \ - /usr/include/glib-2.0/glib/gasyncqueue.h \ - /usr/include/glib-2.0/glib/gthread.h \ - /usr/include/glib-2.0/glib/gatomic.h /usr/include/glib-2.0/glib/gerror.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/glib-2.0/glib/gquark.h \ - /usr/include/glib-2.0/glib/gbacktrace.h /usr/include/signal.h \ - /usr/include/arm-linux-gnueabihf/bits/signum.h \ - /usr/include/arm-linux-gnueabihf/bits/siginfo.h \ - /usr/include/arm-linux-gnueabihf/bits/sigaction.h \ - /usr/include/arm-linux-gnueabihf/bits/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/asm/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigstack.h \ - /usr/include/arm-linux-gnueabihf/sys/ucontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigthread.h \ - /usr/include/glib-2.0/glib/gbase64.h \ - /usr/include/glib-2.0/glib/gbitlock.h \ - /usr/include/glib-2.0/glib/gbookmarkfile.h \ - /usr/include/glib-2.0/glib/gbytes.h \ - /usr/include/glib-2.0/glib/gcharset.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/gconvert.h \ - /usr/include/glib-2.0/glib/gdataset.h /usr/include/glib-2.0/glib/gdate.h \ - /usr/include/glib-2.0/glib/gdatetime.h \ - /usr/include/glib-2.0/glib/gtimezone.h /usr/include/glib-2.0/glib/gdir.h \ - /usr/include/dirent.h /usr/include/arm-linux-gnueabihf/bits/dirent.h \ - /usr/include/glib-2.0/glib/genviron.h \ - /usr/include/glib-2.0/glib/gfileutils.h \ - /usr/include/glib-2.0/glib/ggettext.h /usr/include/glib-2.0/glib/ghash.h \ - /usr/include/glib-2.0/glib/glist.h /usr/include/glib-2.0/glib/gmem.h \ - /usr/include/glib-2.0/glib/gnode.h /usr/include/glib-2.0/glib/ghmac.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/ghook.h \ - /usr/include/glib-2.0/glib/ghostutils.h \ - /usr/include/glib-2.0/glib/giochannel.h \ - /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gpoll.h \ - /usr/include/glib-2.0/glib/gslist.h /usr/include/glib-2.0/glib/gstring.h \ - /usr/include/glib-2.0/glib/gunicode.h \ - /usr/include/glib-2.0/glib/gutils.h \ - /usr/include/glib-2.0/glib/gkeyfile.h \ - /usr/include/glib-2.0/glib/gmappedfile.h \ - /usr/include/glib-2.0/glib/gmarkup.h \ - /usr/include/glib-2.0/glib/gmessages.h \ - /usr/include/glib-2.0/glib/goption.h \ - /usr/include/glib-2.0/glib/gpattern.h \ - /usr/include/glib-2.0/glib/gprimes.h /usr/include/glib-2.0/glib/gqsort.h \ - /usr/include/glib-2.0/glib/gqueue.h /usr/include/glib-2.0/glib/grand.h \ - /usr/include/glib-2.0/glib/gregex.h \ - /usr/include/glib-2.0/glib/gscanner.h \ - /usr/include/glib-2.0/glib/gsequence.h \ - /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gslice.h \ - /usr/include/glib-2.0/glib/gspawn.h \ - /usr/include/glib-2.0/glib/gstrfuncs.h \ - /usr/include/glib-2.0/glib/gstringchunk.h \ - /usr/include/glib-2.0/glib/gtestutils.h \ - /usr/include/glib-2.0/glib/gthreadpool.h \ - /usr/include/glib-2.0/glib/gtimer.h \ - /usr/include/glib-2.0/glib/gtrashstack.h \ - /usr/include/glib-2.0/glib/gtree.h \ - /usr/include/glib-2.0/glib/gurifuncs.h \ - /usr/include/glib-2.0/glib/gvarianttype.h \ - /usr/include/glib-2.0/glib/gvariant.h \ - /usr/include/glib-2.0/glib/gversion.h \ - /usr/include/glib-2.0/glib/deprecated/gallocator.h \ - /usr/include/glib-2.0/glib/deprecated/gcache.h \ - /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ - /usr/include/glib-2.0/glib/deprecated/gmain.h \ - /usr/include/glib-2.0/glib/deprecated/grel.h \ - /usr/include/glib-2.0/glib/deprecated/gthread.h /usr/include/pthread.h \ - /usr/include/sched.h /usr/include/arm-linux-gnueabihf/bits/sched.h \ - /usr/include/arm-linux-gnueabihf/bits/setjmp.h \ - /usr/include/dbus-1.0/dbus/dbus.h \ - /usr/lib/arm-linux-gnueabihf/dbus-1.0/include/dbus/dbus-arch-deps.h \ - /usr/include/dbus-1.0/dbus/dbus-macros.h \ - /usr/include/dbus-1.0/dbus/dbus-address.h \ - /usr/include/dbus-1.0/dbus/dbus-types.h \ - /usr/include/dbus-1.0/dbus/dbus-errors.h \ - /usr/include/dbus-1.0/dbus/dbus-protocol.h \ - /usr/include/dbus-1.0/dbus/dbus-bus.h \ - /usr/include/dbus-1.0/dbus/dbus-connection.h \ - /usr/include/dbus-1.0/dbus/dbus-memory.h \ - /usr/include/dbus-1.0/dbus/dbus-message.h \ - /usr/include/dbus-1.0/dbus/dbus-shared.h \ - /usr/include/dbus-1.0/dbus/dbus-misc.h \ - /usr/include/dbus-1.0/dbus/dbus-pending-call.h \ - /usr/include/dbus-1.0/dbus/dbus-server.h \ - /usr/include/dbus-1.0/dbus/dbus-signature.h \ - /usr/include/dbus-1.0/dbus/dbus-syntax.h \ - /usr/include/dbus-1.0/dbus/dbus-threads.h gdbus/gdbus.h src/log.h \ - profiles/audio/player.h src/dbus-common.h src/error.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/include/stdlib.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/include/arm-linux-gnueabihf/bits/waitflags.h: - -/usr/include/arm-linux-gnueabihf/bits/waitstatus.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/xlocale.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/time.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/alloca.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-float.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/arm-linux-gnueabihf/bits/wchar.h: - -/usr/include/inttypes.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdbool.h: - -/usr/include/errno.h: - -/usr/include/arm-linux-gnueabihf/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/arm-linux-gnueabihf/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/include/unistd.h: - -/usr/include/arm-linux-gnueabihf/bits/posix_opt.h: - -/usr/include/arm-linux-gnueabihf/bits/environments.h: - -/usr/include/arm-linux-gnueabihf/bits/confname.h: - -/usr/include/getopt.h: - -/usr/include/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string2.h: - -/usr/include/glib-2.0/glib.h: - -/usr/include/glib-2.0/glib/galloca.h: - -/usr/include/glib-2.0/glib/gtypes.h: - -/usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h: - -/usr/include/glib-2.0/glib/gmacros.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h: - -/usr/include/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/local_lim.h: - -/usr/include/linux/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix2_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/xopen_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h: - -/usr/include/glib-2.0/glib/gversionmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/timex.h: - -/usr/include/glib-2.0/glib/garray.h: - -/usr/include/glib-2.0/glib/gasyncqueue.h: - -/usr/include/glib-2.0/glib/gthread.h: - -/usr/include/glib-2.0/glib/gatomic.h: - -/usr/include/glib-2.0/glib/gerror.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/glib-2.0/glib/gquark.h: - -/usr/include/glib-2.0/glib/gbacktrace.h: - -/usr/include/signal.h: - -/usr/include/arm-linux-gnueabihf/bits/signum.h: - -/usr/include/arm-linux-gnueabihf/bits/siginfo.h: - -/usr/include/arm-linux-gnueabihf/bits/sigaction.h: - -/usr/include/arm-linux-gnueabihf/bits/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/asm/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigstack.h: - -/usr/include/arm-linux-gnueabihf/sys/ucontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigthread.h: - -/usr/include/glib-2.0/glib/gbase64.h: - -/usr/include/glib-2.0/glib/gbitlock.h: - -/usr/include/glib-2.0/glib/gbookmarkfile.h: - -/usr/include/glib-2.0/glib/gbytes.h: - -/usr/include/glib-2.0/glib/gcharset.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/gconvert.h: - -/usr/include/glib-2.0/glib/gdataset.h: - -/usr/include/glib-2.0/glib/gdate.h: - -/usr/include/glib-2.0/glib/gdatetime.h: - -/usr/include/glib-2.0/glib/gtimezone.h: - -/usr/include/glib-2.0/glib/gdir.h: - -/usr/include/dirent.h: - -/usr/include/arm-linux-gnueabihf/bits/dirent.h: - -/usr/include/glib-2.0/glib/genviron.h: - -/usr/include/glib-2.0/glib/gfileutils.h: - -/usr/include/glib-2.0/glib/ggettext.h: - -/usr/include/glib-2.0/glib/ghash.h: - -/usr/include/glib-2.0/glib/glist.h: - -/usr/include/glib-2.0/glib/gmem.h: - -/usr/include/glib-2.0/glib/gnode.h: - -/usr/include/glib-2.0/glib/ghmac.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/ghook.h: - -/usr/include/glib-2.0/glib/ghostutils.h: - -/usr/include/glib-2.0/glib/giochannel.h: - -/usr/include/glib-2.0/glib/gmain.h: - -/usr/include/glib-2.0/glib/gpoll.h: - -/usr/include/glib-2.0/glib/gslist.h: - -/usr/include/glib-2.0/glib/gstring.h: - -/usr/include/glib-2.0/glib/gunicode.h: - -/usr/include/glib-2.0/glib/gutils.h: - -/usr/include/glib-2.0/glib/gkeyfile.h: - -/usr/include/glib-2.0/glib/gmappedfile.h: - -/usr/include/glib-2.0/glib/gmarkup.h: - -/usr/include/glib-2.0/glib/gmessages.h: - -/usr/include/glib-2.0/glib/goption.h: - -/usr/include/glib-2.0/glib/gpattern.h: - -/usr/include/glib-2.0/glib/gprimes.h: - -/usr/include/glib-2.0/glib/gqsort.h: - -/usr/include/glib-2.0/glib/gqueue.h: - -/usr/include/glib-2.0/glib/grand.h: - -/usr/include/glib-2.0/glib/gregex.h: - -/usr/include/glib-2.0/glib/gscanner.h: - -/usr/include/glib-2.0/glib/gsequence.h: - -/usr/include/glib-2.0/glib/gshell.h: - -/usr/include/glib-2.0/glib/gslice.h: - -/usr/include/glib-2.0/glib/gspawn.h: - -/usr/include/glib-2.0/glib/gstrfuncs.h: - -/usr/include/glib-2.0/glib/gstringchunk.h: - -/usr/include/glib-2.0/glib/gtestutils.h: - -/usr/include/glib-2.0/glib/gthreadpool.h: - -/usr/include/glib-2.0/glib/gtimer.h: - -/usr/include/glib-2.0/glib/gtrashstack.h: - -/usr/include/glib-2.0/glib/gtree.h: - -/usr/include/glib-2.0/glib/gurifuncs.h: - -/usr/include/glib-2.0/glib/gvarianttype.h: - -/usr/include/glib-2.0/glib/gvariant.h: - -/usr/include/glib-2.0/glib/gversion.h: - -/usr/include/glib-2.0/glib/deprecated/gallocator.h: - -/usr/include/glib-2.0/glib/deprecated/gcache.h: - -/usr/include/glib-2.0/glib/deprecated/gcompletion.h: - -/usr/include/glib-2.0/glib/deprecated/gmain.h: - -/usr/include/glib-2.0/glib/deprecated/grel.h: - -/usr/include/glib-2.0/glib/deprecated/gthread.h: - -/usr/include/pthread.h: - -/usr/include/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/setjmp.h: - -/usr/include/dbus-1.0/dbus/dbus.h: - -/usr/lib/arm-linux-gnueabihf/dbus-1.0/include/dbus/dbus-arch-deps.h: - -/usr/include/dbus-1.0/dbus/dbus-macros.h: - -/usr/include/dbus-1.0/dbus/dbus-address.h: - -/usr/include/dbus-1.0/dbus/dbus-types.h: - -/usr/include/dbus-1.0/dbus/dbus-errors.h: - -/usr/include/dbus-1.0/dbus/dbus-protocol.h: - -/usr/include/dbus-1.0/dbus/dbus-bus.h: - -/usr/include/dbus-1.0/dbus/dbus-connection.h: - -/usr/include/dbus-1.0/dbus/dbus-memory.h: - -/usr/include/dbus-1.0/dbus/dbus-message.h: - -/usr/include/dbus-1.0/dbus/dbus-shared.h: - -/usr/include/dbus-1.0/dbus/dbus-misc.h: - -/usr/include/dbus-1.0/dbus/dbus-pending-call.h: - -/usr/include/dbus-1.0/dbus/dbus-server.h: - -/usr/include/dbus-1.0/dbus/dbus-signature.h: - -/usr/include/dbus-1.0/dbus/dbus-syntax.h: - -/usr/include/dbus-1.0/dbus/dbus-threads.h: - -gdbus/gdbus.h: - -src/log.h: - -profiles/audio/player.h: - -src/dbus-common.h: - -src/error.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/profiles/audio/.deps/bluetoothd-sink.Po b/GRIB_BLE_HUB/libs/ble_extend/profiles/audio/.deps/bluetoothd-sink.Po deleted file mode 100644 index e45f6cd..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/profiles/audio/.deps/bluetoothd-sink.Po +++ /dev/null @@ -1,538 +0,0 @@ -profiles/audio/bluetoothd-sink.o: profiles/audio/sink.c \ - /usr/include/stdc-predef.h config.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h \ - /usr/include/stdint.h /usr/include/features.h \ - /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/include/arm-linux-gnueabihf/bits/wchar.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdbool.h \ - /usr/include/errno.h /usr/include/arm-linux-gnueabihf/bits/errno.h \ - /usr/include/linux/errno.h /usr/include/arm-linux-gnueabihf/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - lib/bluetooth/bluetooth.h /usr/include/stdio.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/sys_errlist.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio.h /usr/include/string.h \ - /usr/include/xlocale.h /usr/include/arm-linux-gnueabihf/bits/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string2.h /usr/include/stdlib.h \ - /usr/include/endian.h /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/byteswap.h /usr/include/netinet/in.h \ - /usr/include/arm-linux-gnueabihf/sys/socket.h \ - /usr/include/arm-linux-gnueabihf/sys/uio.h \ - /usr/include/arm-linux-gnueabihf/sys/types.h /usr/include/time.h \ - /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/arm-linux-gnueabihf/bits/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/socket.h \ - /usr/include/arm-linux-gnueabihf/bits/socket_type.h \ - /usr/include/arm-linux-gnueabihf/bits/sockaddr.h \ - /usr/include/arm-linux-gnueabihf/asm/socket.h \ - /usr/include/asm-generic/socket.h \ - /usr/include/arm-linux-gnueabihf/asm/sockios.h \ - /usr/include/asm-generic/sockios.h \ - /usr/include/arm-linux-gnueabihf/bits/in.h lib/bluetooth/sdp.h \ - /usr/include/glib-2.0/glib.h /usr/include/glib-2.0/glib/galloca.h \ - /usr/include/glib-2.0/glib/gtypes.h \ - /usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h \ - /usr/include/glib-2.0/glib/gmacros.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h \ - /usr/include/limits.h /usr/include/arm-linux-gnueabihf/bits/posix1_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/local_lim.h \ - /usr/include/linux/limits.h \ - /usr/include/arm-linux-gnueabihf/bits/posix2_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/xopen_lim.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h \ - /usr/include/glib-2.0/glib/gversionmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/timex.h \ - /usr/include/glib-2.0/glib/garray.h \ - /usr/include/glib-2.0/glib/gasyncqueue.h \ - /usr/include/glib-2.0/glib/gthread.h \ - /usr/include/glib-2.0/glib/gatomic.h /usr/include/glib-2.0/glib/gerror.h \ - /usr/include/glib-2.0/glib/gquark.h \ - /usr/include/glib-2.0/glib/gbacktrace.h /usr/include/signal.h \ - /usr/include/arm-linux-gnueabihf/bits/signum.h \ - /usr/include/arm-linux-gnueabihf/bits/siginfo.h \ - /usr/include/arm-linux-gnueabihf/bits/sigaction.h \ - /usr/include/arm-linux-gnueabihf/bits/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/asm/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigstack.h \ - /usr/include/arm-linux-gnueabihf/sys/ucontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigthread.h \ - /usr/include/glib-2.0/glib/gbase64.h \ - /usr/include/glib-2.0/glib/gbitlock.h \ - /usr/include/glib-2.0/glib/gbookmarkfile.h \ - /usr/include/glib-2.0/glib/gbytes.h \ - /usr/include/glib-2.0/glib/gcharset.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/gconvert.h \ - /usr/include/glib-2.0/glib/gdataset.h /usr/include/glib-2.0/glib/gdate.h \ - /usr/include/glib-2.0/glib/gdatetime.h \ - /usr/include/glib-2.0/glib/gtimezone.h /usr/include/glib-2.0/glib/gdir.h \ - /usr/include/dirent.h /usr/include/arm-linux-gnueabihf/bits/dirent.h \ - /usr/include/glib-2.0/glib/genviron.h \ - /usr/include/glib-2.0/glib/gfileutils.h \ - /usr/include/glib-2.0/glib/ggettext.h /usr/include/glib-2.0/glib/ghash.h \ - /usr/include/glib-2.0/glib/glist.h /usr/include/glib-2.0/glib/gmem.h \ - /usr/include/glib-2.0/glib/gnode.h /usr/include/glib-2.0/glib/ghmac.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/ghook.h \ - /usr/include/glib-2.0/glib/ghostutils.h \ - /usr/include/glib-2.0/glib/giochannel.h \ - /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gpoll.h \ - /usr/include/glib-2.0/glib/gslist.h /usr/include/glib-2.0/glib/gstring.h \ - /usr/include/glib-2.0/glib/gunicode.h \ - /usr/include/glib-2.0/glib/gutils.h \ - /usr/include/glib-2.0/glib/gkeyfile.h \ - /usr/include/glib-2.0/glib/gmappedfile.h \ - /usr/include/glib-2.0/glib/gmarkup.h \ - /usr/include/glib-2.0/glib/gmessages.h \ - /usr/include/glib-2.0/glib/goption.h \ - /usr/include/glib-2.0/glib/gpattern.h \ - /usr/include/glib-2.0/glib/gprimes.h /usr/include/glib-2.0/glib/gqsort.h \ - /usr/include/glib-2.0/glib/gqueue.h /usr/include/glib-2.0/glib/grand.h \ - /usr/include/glib-2.0/glib/gregex.h \ - /usr/include/glib-2.0/glib/gscanner.h \ - /usr/include/glib-2.0/glib/gsequence.h \ - /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gslice.h \ - /usr/include/glib-2.0/glib/gspawn.h \ - /usr/include/glib-2.0/glib/gstrfuncs.h \ - /usr/include/glib-2.0/glib/gstringchunk.h \ - /usr/include/glib-2.0/glib/gtestutils.h \ - /usr/include/glib-2.0/glib/gthreadpool.h \ - /usr/include/glib-2.0/glib/gtimer.h \ - /usr/include/glib-2.0/glib/gtrashstack.h \ - /usr/include/glib-2.0/glib/gtree.h \ - /usr/include/glib-2.0/glib/gurifuncs.h \ - /usr/include/glib-2.0/glib/gvarianttype.h \ - /usr/include/glib-2.0/glib/gvariant.h \ - /usr/include/glib-2.0/glib/gversion.h \ - /usr/include/glib-2.0/glib/deprecated/gallocator.h \ - /usr/include/glib-2.0/glib/deprecated/gcache.h \ - /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ - /usr/include/glib-2.0/glib/deprecated/gmain.h \ - /usr/include/glib-2.0/glib/deprecated/grel.h \ - /usr/include/glib-2.0/glib/deprecated/gthread.h /usr/include/pthread.h \ - /usr/include/sched.h /usr/include/arm-linux-gnueabihf/bits/sched.h \ - /usr/include/arm-linux-gnueabihf/bits/setjmp.h \ - /usr/include/dbus-1.0/dbus/dbus.h \ - /usr/lib/arm-linux-gnueabihf/dbus-1.0/include/dbus/dbus-arch-deps.h \ - /usr/include/dbus-1.0/dbus/dbus-macros.h \ - /usr/include/dbus-1.0/dbus/dbus-address.h \ - /usr/include/dbus-1.0/dbus/dbus-types.h \ - /usr/include/dbus-1.0/dbus/dbus-errors.h \ - /usr/include/dbus-1.0/dbus/dbus-protocol.h \ - /usr/include/dbus-1.0/dbus/dbus-bus.h \ - /usr/include/dbus-1.0/dbus/dbus-connection.h \ - /usr/include/dbus-1.0/dbus/dbus-memory.h \ - /usr/include/dbus-1.0/dbus/dbus-message.h \ - /usr/include/dbus-1.0/dbus/dbus-shared.h \ - /usr/include/dbus-1.0/dbus/dbus-misc.h \ - /usr/include/dbus-1.0/dbus/dbus-pending-call.h \ - /usr/include/dbus-1.0/dbus/dbus-server.h \ - /usr/include/dbus-1.0/dbus/dbus-signature.h \ - /usr/include/dbus-1.0/dbus/dbus-syntax.h \ - /usr/include/dbus-1.0/dbus/dbus-threads.h gdbus/gdbus.h src/log.h \ - lib/../src/adapter.h lib/bluetooth/hci.h lib/bluetooth/hci_lib.h \ - lib/../src/device.h profiles/audio/device.h profiles/audio/avdtp.h \ - profiles/audio/media.h profiles/audio/a2dp.h src/error.h \ - profiles/audio/manager.h profiles/audio/sink.h src/dbus-common.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/include/arm-linux-gnueabihf/bits/wchar.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdbool.h: - -/usr/include/errno.h: - -/usr/include/arm-linux-gnueabihf/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/arm-linux-gnueabihf/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -lib/bluetooth/bluetooth.h: - -/usr/include/stdio.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/sys_errlist.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio.h: - -/usr/include/string.h: - -/usr/include/xlocale.h: - -/usr/include/arm-linux-gnueabihf/bits/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string2.h: - -/usr/include/stdlib.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/byteswap.h: - -/usr/include/netinet/in.h: - -/usr/include/arm-linux-gnueabihf/sys/socket.h: - -/usr/include/arm-linux-gnueabihf/sys/uio.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/time.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/arm-linux-gnueabihf/bits/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/socket.h: - -/usr/include/arm-linux-gnueabihf/bits/socket_type.h: - -/usr/include/arm-linux-gnueabihf/bits/sockaddr.h: - -/usr/include/arm-linux-gnueabihf/asm/socket.h: - -/usr/include/asm-generic/socket.h: - -/usr/include/arm-linux-gnueabihf/asm/sockios.h: - -/usr/include/asm-generic/sockios.h: - -/usr/include/arm-linux-gnueabihf/bits/in.h: - -lib/bluetooth/sdp.h: - -/usr/include/glib-2.0/glib.h: - -/usr/include/glib-2.0/glib/galloca.h: - -/usr/include/glib-2.0/glib/gtypes.h: - -/usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h: - -/usr/include/glib-2.0/glib/gmacros.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h: - -/usr/include/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/local_lim.h: - -/usr/include/linux/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix2_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/xopen_lim.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h: - -/usr/include/glib-2.0/glib/gversionmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/timex.h: - -/usr/include/glib-2.0/glib/garray.h: - -/usr/include/glib-2.0/glib/gasyncqueue.h: - -/usr/include/glib-2.0/glib/gthread.h: - -/usr/include/glib-2.0/glib/gatomic.h: - -/usr/include/glib-2.0/glib/gerror.h: - -/usr/include/glib-2.0/glib/gquark.h: - -/usr/include/glib-2.0/glib/gbacktrace.h: - -/usr/include/signal.h: - -/usr/include/arm-linux-gnueabihf/bits/signum.h: - -/usr/include/arm-linux-gnueabihf/bits/siginfo.h: - -/usr/include/arm-linux-gnueabihf/bits/sigaction.h: - -/usr/include/arm-linux-gnueabihf/bits/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/asm/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigstack.h: - -/usr/include/arm-linux-gnueabihf/sys/ucontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigthread.h: - -/usr/include/glib-2.0/glib/gbase64.h: - -/usr/include/glib-2.0/glib/gbitlock.h: - -/usr/include/glib-2.0/glib/gbookmarkfile.h: - -/usr/include/glib-2.0/glib/gbytes.h: - -/usr/include/glib-2.0/glib/gcharset.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/gconvert.h: - -/usr/include/glib-2.0/glib/gdataset.h: - -/usr/include/glib-2.0/glib/gdate.h: - -/usr/include/glib-2.0/glib/gdatetime.h: - -/usr/include/glib-2.0/glib/gtimezone.h: - -/usr/include/glib-2.0/glib/gdir.h: - -/usr/include/dirent.h: - -/usr/include/arm-linux-gnueabihf/bits/dirent.h: - -/usr/include/glib-2.0/glib/genviron.h: - -/usr/include/glib-2.0/glib/gfileutils.h: - -/usr/include/glib-2.0/glib/ggettext.h: - -/usr/include/glib-2.0/glib/ghash.h: - -/usr/include/glib-2.0/glib/glist.h: - -/usr/include/glib-2.0/glib/gmem.h: - -/usr/include/glib-2.0/glib/gnode.h: - -/usr/include/glib-2.0/glib/ghmac.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/ghook.h: - -/usr/include/glib-2.0/glib/ghostutils.h: - -/usr/include/glib-2.0/glib/giochannel.h: - -/usr/include/glib-2.0/glib/gmain.h: - -/usr/include/glib-2.0/glib/gpoll.h: - -/usr/include/glib-2.0/glib/gslist.h: - -/usr/include/glib-2.0/glib/gstring.h: - -/usr/include/glib-2.0/glib/gunicode.h: - -/usr/include/glib-2.0/glib/gutils.h: - -/usr/include/glib-2.0/glib/gkeyfile.h: - -/usr/include/glib-2.0/glib/gmappedfile.h: - -/usr/include/glib-2.0/glib/gmarkup.h: - -/usr/include/glib-2.0/glib/gmessages.h: - -/usr/include/glib-2.0/glib/goption.h: - -/usr/include/glib-2.0/glib/gpattern.h: - -/usr/include/glib-2.0/glib/gprimes.h: - -/usr/include/glib-2.0/glib/gqsort.h: - -/usr/include/glib-2.0/glib/gqueue.h: - -/usr/include/glib-2.0/glib/grand.h: - -/usr/include/glib-2.0/glib/gregex.h: - -/usr/include/glib-2.0/glib/gscanner.h: - -/usr/include/glib-2.0/glib/gsequence.h: - -/usr/include/glib-2.0/glib/gshell.h: - -/usr/include/glib-2.0/glib/gslice.h: - -/usr/include/glib-2.0/glib/gspawn.h: - -/usr/include/glib-2.0/glib/gstrfuncs.h: - -/usr/include/glib-2.0/glib/gstringchunk.h: - -/usr/include/glib-2.0/glib/gtestutils.h: - -/usr/include/glib-2.0/glib/gthreadpool.h: - -/usr/include/glib-2.0/glib/gtimer.h: - -/usr/include/glib-2.0/glib/gtrashstack.h: - -/usr/include/glib-2.0/glib/gtree.h: - -/usr/include/glib-2.0/glib/gurifuncs.h: - -/usr/include/glib-2.0/glib/gvarianttype.h: - -/usr/include/glib-2.0/glib/gvariant.h: - -/usr/include/glib-2.0/glib/gversion.h: - -/usr/include/glib-2.0/glib/deprecated/gallocator.h: - -/usr/include/glib-2.0/glib/deprecated/gcache.h: - -/usr/include/glib-2.0/glib/deprecated/gcompletion.h: - -/usr/include/glib-2.0/glib/deprecated/gmain.h: - -/usr/include/glib-2.0/glib/deprecated/grel.h: - -/usr/include/glib-2.0/glib/deprecated/gthread.h: - -/usr/include/pthread.h: - -/usr/include/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/setjmp.h: - -/usr/include/dbus-1.0/dbus/dbus.h: - -/usr/lib/arm-linux-gnueabihf/dbus-1.0/include/dbus/dbus-arch-deps.h: - -/usr/include/dbus-1.0/dbus/dbus-macros.h: - -/usr/include/dbus-1.0/dbus/dbus-address.h: - -/usr/include/dbus-1.0/dbus/dbus-types.h: - -/usr/include/dbus-1.0/dbus/dbus-errors.h: - -/usr/include/dbus-1.0/dbus/dbus-protocol.h: - -/usr/include/dbus-1.0/dbus/dbus-bus.h: - -/usr/include/dbus-1.0/dbus/dbus-connection.h: - -/usr/include/dbus-1.0/dbus/dbus-memory.h: - -/usr/include/dbus-1.0/dbus/dbus-message.h: - -/usr/include/dbus-1.0/dbus/dbus-shared.h: - -/usr/include/dbus-1.0/dbus/dbus-misc.h: - -/usr/include/dbus-1.0/dbus/dbus-pending-call.h: - -/usr/include/dbus-1.0/dbus/dbus-server.h: - -/usr/include/dbus-1.0/dbus/dbus-signature.h: - -/usr/include/dbus-1.0/dbus/dbus-syntax.h: - -/usr/include/dbus-1.0/dbus/dbus-threads.h: - -gdbus/gdbus.h: - -src/log.h: - -lib/../src/adapter.h: - -lib/bluetooth/hci.h: - -lib/bluetooth/hci_lib.h: - -lib/../src/device.h: - -profiles/audio/device.h: - -profiles/audio/avdtp.h: - -profiles/audio/media.h: - -profiles/audio/a2dp.h: - -src/error.h: - -profiles/audio/manager.h: - -profiles/audio/sink.h: - -src/dbus-common.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/profiles/audio/.deps/bluetoothd-source.Po b/GRIB_BLE_HUB/libs/ble_extend/profiles/audio/.deps/bluetoothd-source.Po deleted file mode 100644 index 8679427..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/profiles/audio/.deps/bluetoothd-source.Po +++ /dev/null @@ -1,538 +0,0 @@ -profiles/audio/bluetoothd-source.o: profiles/audio/source.c \ - /usr/include/stdc-predef.h config.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h \ - /usr/include/stdint.h /usr/include/features.h \ - /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/include/arm-linux-gnueabihf/bits/wchar.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdbool.h \ - /usr/include/errno.h /usr/include/arm-linux-gnueabihf/bits/errno.h \ - /usr/include/linux/errno.h /usr/include/arm-linux-gnueabihf/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - lib/bluetooth/bluetooth.h /usr/include/stdio.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/sys_errlist.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio.h /usr/include/string.h \ - /usr/include/xlocale.h /usr/include/arm-linux-gnueabihf/bits/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string2.h /usr/include/stdlib.h \ - /usr/include/endian.h /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/byteswap.h /usr/include/netinet/in.h \ - /usr/include/arm-linux-gnueabihf/sys/socket.h \ - /usr/include/arm-linux-gnueabihf/sys/uio.h \ - /usr/include/arm-linux-gnueabihf/sys/types.h /usr/include/time.h \ - /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/arm-linux-gnueabihf/bits/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/socket.h \ - /usr/include/arm-linux-gnueabihf/bits/socket_type.h \ - /usr/include/arm-linux-gnueabihf/bits/sockaddr.h \ - /usr/include/arm-linux-gnueabihf/asm/socket.h \ - /usr/include/asm-generic/socket.h \ - /usr/include/arm-linux-gnueabihf/asm/sockios.h \ - /usr/include/asm-generic/sockios.h \ - /usr/include/arm-linux-gnueabihf/bits/in.h lib/bluetooth/sdp.h \ - /usr/include/glib-2.0/glib.h /usr/include/glib-2.0/glib/galloca.h \ - /usr/include/glib-2.0/glib/gtypes.h \ - /usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h \ - /usr/include/glib-2.0/glib/gmacros.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h \ - /usr/include/limits.h /usr/include/arm-linux-gnueabihf/bits/posix1_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/local_lim.h \ - /usr/include/linux/limits.h \ - /usr/include/arm-linux-gnueabihf/bits/posix2_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/xopen_lim.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h \ - /usr/include/glib-2.0/glib/gversionmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/timex.h \ - /usr/include/glib-2.0/glib/garray.h \ - /usr/include/glib-2.0/glib/gasyncqueue.h \ - /usr/include/glib-2.0/glib/gthread.h \ - /usr/include/glib-2.0/glib/gatomic.h /usr/include/glib-2.0/glib/gerror.h \ - /usr/include/glib-2.0/glib/gquark.h \ - /usr/include/glib-2.0/glib/gbacktrace.h /usr/include/signal.h \ - /usr/include/arm-linux-gnueabihf/bits/signum.h \ - /usr/include/arm-linux-gnueabihf/bits/siginfo.h \ - /usr/include/arm-linux-gnueabihf/bits/sigaction.h \ - /usr/include/arm-linux-gnueabihf/bits/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/asm/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigstack.h \ - /usr/include/arm-linux-gnueabihf/sys/ucontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigthread.h \ - /usr/include/glib-2.0/glib/gbase64.h \ - /usr/include/glib-2.0/glib/gbitlock.h \ - /usr/include/glib-2.0/glib/gbookmarkfile.h \ - /usr/include/glib-2.0/glib/gbytes.h \ - /usr/include/glib-2.0/glib/gcharset.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/gconvert.h \ - /usr/include/glib-2.0/glib/gdataset.h /usr/include/glib-2.0/glib/gdate.h \ - /usr/include/glib-2.0/glib/gdatetime.h \ - /usr/include/glib-2.0/glib/gtimezone.h /usr/include/glib-2.0/glib/gdir.h \ - /usr/include/dirent.h /usr/include/arm-linux-gnueabihf/bits/dirent.h \ - /usr/include/glib-2.0/glib/genviron.h \ - /usr/include/glib-2.0/glib/gfileutils.h \ - /usr/include/glib-2.0/glib/ggettext.h /usr/include/glib-2.0/glib/ghash.h \ - /usr/include/glib-2.0/glib/glist.h /usr/include/glib-2.0/glib/gmem.h \ - /usr/include/glib-2.0/glib/gnode.h /usr/include/glib-2.0/glib/ghmac.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/ghook.h \ - /usr/include/glib-2.0/glib/ghostutils.h \ - /usr/include/glib-2.0/glib/giochannel.h \ - /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gpoll.h \ - /usr/include/glib-2.0/glib/gslist.h /usr/include/glib-2.0/glib/gstring.h \ - /usr/include/glib-2.0/glib/gunicode.h \ - /usr/include/glib-2.0/glib/gutils.h \ - /usr/include/glib-2.0/glib/gkeyfile.h \ - /usr/include/glib-2.0/glib/gmappedfile.h \ - /usr/include/glib-2.0/glib/gmarkup.h \ - /usr/include/glib-2.0/glib/gmessages.h \ - /usr/include/glib-2.0/glib/goption.h \ - /usr/include/glib-2.0/glib/gpattern.h \ - /usr/include/glib-2.0/glib/gprimes.h /usr/include/glib-2.0/glib/gqsort.h \ - /usr/include/glib-2.0/glib/gqueue.h /usr/include/glib-2.0/glib/grand.h \ - /usr/include/glib-2.0/glib/gregex.h \ - /usr/include/glib-2.0/glib/gscanner.h \ - /usr/include/glib-2.0/glib/gsequence.h \ - /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gslice.h \ - /usr/include/glib-2.0/glib/gspawn.h \ - /usr/include/glib-2.0/glib/gstrfuncs.h \ - /usr/include/glib-2.0/glib/gstringchunk.h \ - /usr/include/glib-2.0/glib/gtestutils.h \ - /usr/include/glib-2.0/glib/gthreadpool.h \ - /usr/include/glib-2.0/glib/gtimer.h \ - /usr/include/glib-2.0/glib/gtrashstack.h \ - /usr/include/glib-2.0/glib/gtree.h \ - /usr/include/glib-2.0/glib/gurifuncs.h \ - /usr/include/glib-2.0/glib/gvarianttype.h \ - /usr/include/glib-2.0/glib/gvariant.h \ - /usr/include/glib-2.0/glib/gversion.h \ - /usr/include/glib-2.0/glib/deprecated/gallocator.h \ - /usr/include/glib-2.0/glib/deprecated/gcache.h \ - /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ - /usr/include/glib-2.0/glib/deprecated/gmain.h \ - /usr/include/glib-2.0/glib/deprecated/grel.h \ - /usr/include/glib-2.0/glib/deprecated/gthread.h /usr/include/pthread.h \ - /usr/include/sched.h /usr/include/arm-linux-gnueabihf/bits/sched.h \ - /usr/include/arm-linux-gnueabihf/bits/setjmp.h \ - /usr/include/dbus-1.0/dbus/dbus.h \ - /usr/lib/arm-linux-gnueabihf/dbus-1.0/include/dbus/dbus-arch-deps.h \ - /usr/include/dbus-1.0/dbus/dbus-macros.h \ - /usr/include/dbus-1.0/dbus/dbus-address.h \ - /usr/include/dbus-1.0/dbus/dbus-types.h \ - /usr/include/dbus-1.0/dbus/dbus-errors.h \ - /usr/include/dbus-1.0/dbus/dbus-protocol.h \ - /usr/include/dbus-1.0/dbus/dbus-bus.h \ - /usr/include/dbus-1.0/dbus/dbus-connection.h \ - /usr/include/dbus-1.0/dbus/dbus-memory.h \ - /usr/include/dbus-1.0/dbus/dbus-message.h \ - /usr/include/dbus-1.0/dbus/dbus-shared.h \ - /usr/include/dbus-1.0/dbus/dbus-misc.h \ - /usr/include/dbus-1.0/dbus/dbus-pending-call.h \ - /usr/include/dbus-1.0/dbus/dbus-server.h \ - /usr/include/dbus-1.0/dbus/dbus-signature.h \ - /usr/include/dbus-1.0/dbus/dbus-syntax.h \ - /usr/include/dbus-1.0/dbus/dbus-threads.h gdbus/gdbus.h src/log.h \ - lib/../src/adapter.h lib/bluetooth/hci.h lib/bluetooth/hci_lib.h \ - lib/../src/device.h profiles/audio/device.h profiles/audio/avdtp.h \ - profiles/audio/media.h profiles/audio/a2dp.h src/error.h \ - profiles/audio/manager.h profiles/audio/source.h src/dbus-common.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/include/arm-linux-gnueabihf/bits/wchar.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdbool.h: - -/usr/include/errno.h: - -/usr/include/arm-linux-gnueabihf/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/arm-linux-gnueabihf/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -lib/bluetooth/bluetooth.h: - -/usr/include/stdio.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/sys_errlist.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio.h: - -/usr/include/string.h: - -/usr/include/xlocale.h: - -/usr/include/arm-linux-gnueabihf/bits/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string2.h: - -/usr/include/stdlib.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/byteswap.h: - -/usr/include/netinet/in.h: - -/usr/include/arm-linux-gnueabihf/sys/socket.h: - -/usr/include/arm-linux-gnueabihf/sys/uio.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/time.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/arm-linux-gnueabihf/bits/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/socket.h: - -/usr/include/arm-linux-gnueabihf/bits/socket_type.h: - -/usr/include/arm-linux-gnueabihf/bits/sockaddr.h: - -/usr/include/arm-linux-gnueabihf/asm/socket.h: - -/usr/include/asm-generic/socket.h: - -/usr/include/arm-linux-gnueabihf/asm/sockios.h: - -/usr/include/asm-generic/sockios.h: - -/usr/include/arm-linux-gnueabihf/bits/in.h: - -lib/bluetooth/sdp.h: - -/usr/include/glib-2.0/glib.h: - -/usr/include/glib-2.0/glib/galloca.h: - -/usr/include/glib-2.0/glib/gtypes.h: - -/usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h: - -/usr/include/glib-2.0/glib/gmacros.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h: - -/usr/include/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/local_lim.h: - -/usr/include/linux/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix2_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/xopen_lim.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h: - -/usr/include/glib-2.0/glib/gversionmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/timex.h: - -/usr/include/glib-2.0/glib/garray.h: - -/usr/include/glib-2.0/glib/gasyncqueue.h: - -/usr/include/glib-2.0/glib/gthread.h: - -/usr/include/glib-2.0/glib/gatomic.h: - -/usr/include/glib-2.0/glib/gerror.h: - -/usr/include/glib-2.0/glib/gquark.h: - -/usr/include/glib-2.0/glib/gbacktrace.h: - -/usr/include/signal.h: - -/usr/include/arm-linux-gnueabihf/bits/signum.h: - -/usr/include/arm-linux-gnueabihf/bits/siginfo.h: - -/usr/include/arm-linux-gnueabihf/bits/sigaction.h: - -/usr/include/arm-linux-gnueabihf/bits/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/asm/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigstack.h: - -/usr/include/arm-linux-gnueabihf/sys/ucontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigthread.h: - -/usr/include/glib-2.0/glib/gbase64.h: - -/usr/include/glib-2.0/glib/gbitlock.h: - -/usr/include/glib-2.0/glib/gbookmarkfile.h: - -/usr/include/glib-2.0/glib/gbytes.h: - -/usr/include/glib-2.0/glib/gcharset.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/gconvert.h: - -/usr/include/glib-2.0/glib/gdataset.h: - -/usr/include/glib-2.0/glib/gdate.h: - -/usr/include/glib-2.0/glib/gdatetime.h: - -/usr/include/glib-2.0/glib/gtimezone.h: - -/usr/include/glib-2.0/glib/gdir.h: - -/usr/include/dirent.h: - -/usr/include/arm-linux-gnueabihf/bits/dirent.h: - -/usr/include/glib-2.0/glib/genviron.h: - -/usr/include/glib-2.0/glib/gfileutils.h: - -/usr/include/glib-2.0/glib/ggettext.h: - -/usr/include/glib-2.0/glib/ghash.h: - -/usr/include/glib-2.0/glib/glist.h: - -/usr/include/glib-2.0/glib/gmem.h: - -/usr/include/glib-2.0/glib/gnode.h: - -/usr/include/glib-2.0/glib/ghmac.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/ghook.h: - -/usr/include/glib-2.0/glib/ghostutils.h: - -/usr/include/glib-2.0/glib/giochannel.h: - -/usr/include/glib-2.0/glib/gmain.h: - -/usr/include/glib-2.0/glib/gpoll.h: - -/usr/include/glib-2.0/glib/gslist.h: - -/usr/include/glib-2.0/glib/gstring.h: - -/usr/include/glib-2.0/glib/gunicode.h: - -/usr/include/glib-2.0/glib/gutils.h: - -/usr/include/glib-2.0/glib/gkeyfile.h: - -/usr/include/glib-2.0/glib/gmappedfile.h: - -/usr/include/glib-2.0/glib/gmarkup.h: - -/usr/include/glib-2.0/glib/gmessages.h: - -/usr/include/glib-2.0/glib/goption.h: - -/usr/include/glib-2.0/glib/gpattern.h: - -/usr/include/glib-2.0/glib/gprimes.h: - -/usr/include/glib-2.0/glib/gqsort.h: - -/usr/include/glib-2.0/glib/gqueue.h: - -/usr/include/glib-2.0/glib/grand.h: - -/usr/include/glib-2.0/glib/gregex.h: - -/usr/include/glib-2.0/glib/gscanner.h: - -/usr/include/glib-2.0/glib/gsequence.h: - -/usr/include/glib-2.0/glib/gshell.h: - -/usr/include/glib-2.0/glib/gslice.h: - -/usr/include/glib-2.0/glib/gspawn.h: - -/usr/include/glib-2.0/glib/gstrfuncs.h: - -/usr/include/glib-2.0/glib/gstringchunk.h: - -/usr/include/glib-2.0/glib/gtestutils.h: - -/usr/include/glib-2.0/glib/gthreadpool.h: - -/usr/include/glib-2.0/glib/gtimer.h: - -/usr/include/glib-2.0/glib/gtrashstack.h: - -/usr/include/glib-2.0/glib/gtree.h: - -/usr/include/glib-2.0/glib/gurifuncs.h: - -/usr/include/glib-2.0/glib/gvarianttype.h: - -/usr/include/glib-2.0/glib/gvariant.h: - -/usr/include/glib-2.0/glib/gversion.h: - -/usr/include/glib-2.0/glib/deprecated/gallocator.h: - -/usr/include/glib-2.0/glib/deprecated/gcache.h: - -/usr/include/glib-2.0/glib/deprecated/gcompletion.h: - -/usr/include/glib-2.0/glib/deprecated/gmain.h: - -/usr/include/glib-2.0/glib/deprecated/grel.h: - -/usr/include/glib-2.0/glib/deprecated/gthread.h: - -/usr/include/pthread.h: - -/usr/include/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/setjmp.h: - -/usr/include/dbus-1.0/dbus/dbus.h: - -/usr/lib/arm-linux-gnueabihf/dbus-1.0/include/dbus/dbus-arch-deps.h: - -/usr/include/dbus-1.0/dbus/dbus-macros.h: - -/usr/include/dbus-1.0/dbus/dbus-address.h: - -/usr/include/dbus-1.0/dbus/dbus-types.h: - -/usr/include/dbus-1.0/dbus/dbus-errors.h: - -/usr/include/dbus-1.0/dbus/dbus-protocol.h: - -/usr/include/dbus-1.0/dbus/dbus-bus.h: - -/usr/include/dbus-1.0/dbus/dbus-connection.h: - -/usr/include/dbus-1.0/dbus/dbus-memory.h: - -/usr/include/dbus-1.0/dbus/dbus-message.h: - -/usr/include/dbus-1.0/dbus/dbus-shared.h: - -/usr/include/dbus-1.0/dbus/dbus-misc.h: - -/usr/include/dbus-1.0/dbus/dbus-pending-call.h: - -/usr/include/dbus-1.0/dbus/dbus-server.h: - -/usr/include/dbus-1.0/dbus/dbus-signature.h: - -/usr/include/dbus-1.0/dbus/dbus-syntax.h: - -/usr/include/dbus-1.0/dbus/dbus-threads.h: - -gdbus/gdbus.h: - -src/log.h: - -lib/../src/adapter.h: - -lib/bluetooth/hci.h: - -lib/bluetooth/hci_lib.h: - -lib/../src/device.h: - -profiles/audio/device.h: - -profiles/audio/avdtp.h: - -profiles/audio/media.h: - -profiles/audio/a2dp.h: - -src/error.h: - -profiles/audio/manager.h: - -profiles/audio/source.h: - -src/dbus-common.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/profiles/audio/.deps/bluetoothd-transport.Po b/GRIB_BLE_HUB/libs/ble_extend/profiles/audio/.deps/bluetoothd-transport.Po deleted file mode 100644 index 8b6871d..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/profiles/audio/.deps/bluetoothd-transport.Po +++ /dev/null @@ -1,544 +0,0 @@ -profiles/audio/bluetoothd-transport.o: profiles/audio/transport.c \ - /usr/include/stdc-predef.h config.h /usr/include/errno.h \ - /usr/include/features.h /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/include/arm-linux-gnueabihf/bits/errno.h /usr/include/linux/errno.h \ - /usr/include/arm-linux-gnueabihf/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/include/glib-2.0/glib.h /usr/include/glib-2.0/glib/galloca.h \ - /usr/include/glib-2.0/glib/gtypes.h \ - /usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h \ - /usr/include/glib-2.0/glib/gmacros.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h \ - /usr/include/limits.h /usr/include/arm-linux-gnueabihf/bits/posix1_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/local_lim.h \ - /usr/include/linux/limits.h \ - /usr/include/arm-linux-gnueabihf/bits/posix2_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/xopen_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h \ - /usr/include/glib-2.0/glib/gversionmacros.h /usr/include/time.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h \ - /usr/include/arm-linux-gnueabihf/bits/timex.h /usr/include/xlocale.h \ - /usr/include/glib-2.0/glib/garray.h \ - /usr/include/glib-2.0/glib/gasyncqueue.h \ - /usr/include/glib-2.0/glib/gthread.h \ - /usr/include/glib-2.0/glib/gatomic.h /usr/include/glib-2.0/glib/gerror.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/glib-2.0/glib/gquark.h \ - /usr/include/glib-2.0/glib/gbacktrace.h /usr/include/signal.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/signum.h \ - /usr/include/arm-linux-gnueabihf/bits/siginfo.h \ - /usr/include/arm-linux-gnueabihf/bits/sigaction.h \ - /usr/include/arm-linux-gnueabihf/bits/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/asm/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigstack.h \ - /usr/include/arm-linux-gnueabihf/sys/ucontext.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/endian.h /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/arm-linux-gnueabihf/bits/sigthread.h \ - /usr/include/glib-2.0/glib/gbase64.h \ - /usr/include/glib-2.0/glib/gbitlock.h \ - /usr/include/glib-2.0/glib/gbookmarkfile.h \ - /usr/include/glib-2.0/glib/gbytes.h \ - /usr/include/glib-2.0/glib/gcharset.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/gconvert.h \ - /usr/include/glib-2.0/glib/gdataset.h /usr/include/glib-2.0/glib/gdate.h \ - /usr/include/glib-2.0/glib/gdatetime.h \ - /usr/include/glib-2.0/glib/gtimezone.h /usr/include/glib-2.0/glib/gdir.h \ - /usr/include/dirent.h /usr/include/arm-linux-gnueabihf/bits/dirent.h \ - /usr/include/glib-2.0/glib/genviron.h \ - /usr/include/glib-2.0/glib/gfileutils.h \ - /usr/include/glib-2.0/glib/ggettext.h /usr/include/glib-2.0/glib/ghash.h \ - /usr/include/glib-2.0/glib/glist.h /usr/include/glib-2.0/glib/gmem.h \ - /usr/include/glib-2.0/glib/gnode.h /usr/include/glib-2.0/glib/ghmac.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/ghook.h \ - /usr/include/glib-2.0/glib/ghostutils.h \ - /usr/include/glib-2.0/glib/giochannel.h \ - /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gpoll.h \ - /usr/include/glib-2.0/glib/gslist.h /usr/include/glib-2.0/glib/gstring.h \ - /usr/include/glib-2.0/glib/gunicode.h \ - /usr/include/glib-2.0/glib/gutils.h \ - /usr/include/glib-2.0/glib/gkeyfile.h \ - /usr/include/glib-2.0/glib/gmappedfile.h \ - /usr/include/glib-2.0/glib/gmarkup.h \ - /usr/include/glib-2.0/glib/gmessages.h \ - /usr/include/glib-2.0/glib/goption.h \ - /usr/include/glib-2.0/glib/gpattern.h \ - /usr/include/glib-2.0/glib/gprimes.h /usr/include/glib-2.0/glib/gqsort.h \ - /usr/include/glib-2.0/glib/gqueue.h /usr/include/glib-2.0/glib/grand.h \ - /usr/include/glib-2.0/glib/gregex.h \ - /usr/include/glib-2.0/glib/gscanner.h \ - /usr/include/glib-2.0/glib/gsequence.h \ - /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gslice.h \ - /usr/include/glib-2.0/glib/gspawn.h \ - /usr/include/glib-2.0/glib/gstrfuncs.h \ - /usr/include/glib-2.0/glib/gstringchunk.h \ - /usr/include/glib-2.0/glib/gtestutils.h \ - /usr/include/glib-2.0/glib/gthreadpool.h \ - /usr/include/glib-2.0/glib/gtimer.h \ - /usr/include/glib-2.0/glib/gtrashstack.h \ - /usr/include/glib-2.0/glib/gtree.h \ - /usr/include/glib-2.0/glib/gurifuncs.h \ - /usr/include/glib-2.0/glib/gvarianttype.h \ - /usr/include/glib-2.0/glib/gvariant.h \ - /usr/include/glib-2.0/glib/gversion.h \ - /usr/include/glib-2.0/glib/deprecated/gallocator.h \ - /usr/include/glib-2.0/glib/deprecated/gcache.h \ - /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ - /usr/include/glib-2.0/glib/deprecated/gmain.h \ - /usr/include/glib-2.0/glib/deprecated/grel.h \ - /usr/include/glib-2.0/glib/deprecated/gthread.h \ - /usr/include/arm-linux-gnueabihf/sys/types.h \ - /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h /usr/include/pthread.h \ - /usr/include/sched.h /usr/include/arm-linux-gnueabihf/bits/sched.h \ - /usr/include/arm-linux-gnueabihf/bits/setjmp.h gdbus/gdbus.h \ - /usr/include/dbus-1.0/dbus/dbus.h \ - /usr/lib/arm-linux-gnueabihf/dbus-1.0/include/dbus/dbus-arch-deps.h \ - /usr/include/dbus-1.0/dbus/dbus-macros.h \ - /usr/include/dbus-1.0/dbus/dbus-address.h \ - /usr/include/dbus-1.0/dbus/dbus-types.h \ - /usr/include/dbus-1.0/dbus/dbus-errors.h \ - /usr/include/dbus-1.0/dbus/dbus-protocol.h \ - /usr/include/dbus-1.0/dbus/dbus-bus.h \ - /usr/include/dbus-1.0/dbus/dbus-connection.h \ - /usr/include/dbus-1.0/dbus/dbus-memory.h \ - /usr/include/dbus-1.0/dbus/dbus-message.h \ - /usr/include/dbus-1.0/dbus/dbus-shared.h \ - /usr/include/dbus-1.0/dbus/dbus-misc.h \ - /usr/include/dbus-1.0/dbus/dbus-pending-call.h \ - /usr/include/dbus-1.0/dbus/dbus-server.h \ - /usr/include/dbus-1.0/dbus/dbus-signature.h \ - /usr/include/dbus-1.0/dbus/dbus-syntax.h \ - /usr/include/dbus-1.0/dbus/dbus-threads.h lib/uuid.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h \ - /usr/include/stdint.h /usr/include/arm-linux-gnueabihf/bits/wchar.h \ - lib/bluetooth/bluetooth.h /usr/include/stdio.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/include/arm-linux-gnueabihf/bits/sys_errlist.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio.h /usr/include/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string2.h /usr/include/stdlib.h \ - /usr/include/byteswap.h /usr/include/netinet/in.h \ - /usr/include/arm-linux-gnueabihf/sys/socket.h \ - /usr/include/arm-linux-gnueabihf/sys/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/socket.h \ - /usr/include/arm-linux-gnueabihf/bits/socket_type.h \ - /usr/include/arm-linux-gnueabihf/bits/sockaddr.h \ - /usr/include/arm-linux-gnueabihf/asm/socket.h \ - /usr/include/asm-generic/socket.h \ - /usr/include/arm-linux-gnueabihf/asm/sockios.h \ - /usr/include/asm-generic/sockios.h \ - /usr/include/arm-linux-gnueabihf/bits/in.h lib/../src/adapter.h \ - lib/bluetooth/sdp.h lib/bluetooth/hci.h lib/bluetooth/hci_lib.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdbool.h \ - lib/../src/device.h lib/../src/dbus-common.h src/log.h src/error.h \ - profiles/audio/device.h profiles/audio/avdtp.h profiles/audio/media.h \ - profiles/audio/transport.h profiles/audio/a2dp.h profiles/audio/sink.h \ - profiles/audio/source.h profiles/audio/avrcp.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/include/errno.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/include/arm-linux-gnueabihf/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/arm-linux-gnueabihf/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/include/glib-2.0/glib.h: - -/usr/include/glib-2.0/glib/galloca.h: - -/usr/include/glib-2.0/glib/gtypes.h: - -/usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h: - -/usr/include/glib-2.0/glib/gmacros.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h: - -/usr/include/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/local_lim.h: - -/usr/include/linux/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix2_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/xopen_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h: - -/usr/include/glib-2.0/glib/gversionmacros.h: - -/usr/include/time.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/arm-linux-gnueabihf/bits/timex.h: - -/usr/include/xlocale.h: - -/usr/include/glib-2.0/glib/garray.h: - -/usr/include/glib-2.0/glib/gasyncqueue.h: - -/usr/include/glib-2.0/glib/gthread.h: - -/usr/include/glib-2.0/glib/gatomic.h: - -/usr/include/glib-2.0/glib/gerror.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/glib-2.0/glib/gquark.h: - -/usr/include/glib-2.0/glib/gbacktrace.h: - -/usr/include/signal.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/signum.h: - -/usr/include/arm-linux-gnueabihf/bits/siginfo.h: - -/usr/include/arm-linux-gnueabihf/bits/sigaction.h: - -/usr/include/arm-linux-gnueabihf/bits/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/asm/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigstack.h: - -/usr/include/arm-linux-gnueabihf/sys/ucontext.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/arm-linux-gnueabihf/bits/sigthread.h: - -/usr/include/glib-2.0/glib/gbase64.h: - -/usr/include/glib-2.0/glib/gbitlock.h: - -/usr/include/glib-2.0/glib/gbookmarkfile.h: - -/usr/include/glib-2.0/glib/gbytes.h: - -/usr/include/glib-2.0/glib/gcharset.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/gconvert.h: - -/usr/include/glib-2.0/glib/gdataset.h: - -/usr/include/glib-2.0/glib/gdate.h: - -/usr/include/glib-2.0/glib/gdatetime.h: - -/usr/include/glib-2.0/glib/gtimezone.h: - -/usr/include/glib-2.0/glib/gdir.h: - -/usr/include/dirent.h: - -/usr/include/arm-linux-gnueabihf/bits/dirent.h: - -/usr/include/glib-2.0/glib/genviron.h: - -/usr/include/glib-2.0/glib/gfileutils.h: - -/usr/include/glib-2.0/glib/ggettext.h: - -/usr/include/glib-2.0/glib/ghash.h: - -/usr/include/glib-2.0/glib/glist.h: - -/usr/include/glib-2.0/glib/gmem.h: - -/usr/include/glib-2.0/glib/gnode.h: - -/usr/include/glib-2.0/glib/ghmac.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/ghook.h: - -/usr/include/glib-2.0/glib/ghostutils.h: - -/usr/include/glib-2.0/glib/giochannel.h: - -/usr/include/glib-2.0/glib/gmain.h: - -/usr/include/glib-2.0/glib/gpoll.h: - -/usr/include/glib-2.0/glib/gslist.h: - -/usr/include/glib-2.0/glib/gstring.h: - -/usr/include/glib-2.0/glib/gunicode.h: - -/usr/include/glib-2.0/glib/gutils.h: - -/usr/include/glib-2.0/glib/gkeyfile.h: - -/usr/include/glib-2.0/glib/gmappedfile.h: - -/usr/include/glib-2.0/glib/gmarkup.h: - -/usr/include/glib-2.0/glib/gmessages.h: - -/usr/include/glib-2.0/glib/goption.h: - -/usr/include/glib-2.0/glib/gpattern.h: - -/usr/include/glib-2.0/glib/gprimes.h: - -/usr/include/glib-2.0/glib/gqsort.h: - -/usr/include/glib-2.0/glib/gqueue.h: - -/usr/include/glib-2.0/glib/grand.h: - -/usr/include/glib-2.0/glib/gregex.h: - -/usr/include/glib-2.0/glib/gscanner.h: - -/usr/include/glib-2.0/glib/gsequence.h: - -/usr/include/glib-2.0/glib/gshell.h: - -/usr/include/glib-2.0/glib/gslice.h: - -/usr/include/glib-2.0/glib/gspawn.h: - -/usr/include/glib-2.0/glib/gstrfuncs.h: - -/usr/include/glib-2.0/glib/gstringchunk.h: - -/usr/include/glib-2.0/glib/gtestutils.h: - -/usr/include/glib-2.0/glib/gthreadpool.h: - -/usr/include/glib-2.0/glib/gtimer.h: - -/usr/include/glib-2.0/glib/gtrashstack.h: - -/usr/include/glib-2.0/glib/gtree.h: - -/usr/include/glib-2.0/glib/gurifuncs.h: - -/usr/include/glib-2.0/glib/gvarianttype.h: - -/usr/include/glib-2.0/glib/gvariant.h: - -/usr/include/glib-2.0/glib/gversion.h: - -/usr/include/glib-2.0/glib/deprecated/gallocator.h: - -/usr/include/glib-2.0/glib/deprecated/gcache.h: - -/usr/include/glib-2.0/glib/deprecated/gcompletion.h: - -/usr/include/glib-2.0/glib/deprecated/gmain.h: - -/usr/include/glib-2.0/glib/deprecated/grel.h: - -/usr/include/glib-2.0/glib/deprecated/gthread.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/pthread.h: - -/usr/include/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/setjmp.h: - -gdbus/gdbus.h: - -/usr/include/dbus-1.0/dbus/dbus.h: - -/usr/lib/arm-linux-gnueabihf/dbus-1.0/include/dbus/dbus-arch-deps.h: - -/usr/include/dbus-1.0/dbus/dbus-macros.h: - -/usr/include/dbus-1.0/dbus/dbus-address.h: - -/usr/include/dbus-1.0/dbus/dbus-types.h: - -/usr/include/dbus-1.0/dbus/dbus-errors.h: - -/usr/include/dbus-1.0/dbus/dbus-protocol.h: - -/usr/include/dbus-1.0/dbus/dbus-bus.h: - -/usr/include/dbus-1.0/dbus/dbus-connection.h: - -/usr/include/dbus-1.0/dbus/dbus-memory.h: - -/usr/include/dbus-1.0/dbus/dbus-message.h: - -/usr/include/dbus-1.0/dbus/dbus-shared.h: - -/usr/include/dbus-1.0/dbus/dbus-misc.h: - -/usr/include/dbus-1.0/dbus/dbus-pending-call.h: - -/usr/include/dbus-1.0/dbus/dbus-server.h: - -/usr/include/dbus-1.0/dbus/dbus-signature.h: - -/usr/include/dbus-1.0/dbus/dbus-syntax.h: - -/usr/include/dbus-1.0/dbus/dbus-threads.h: - -lib/uuid.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/arm-linux-gnueabihf/bits/wchar.h: - -lib/bluetooth/bluetooth.h: - -/usr/include/stdio.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/include/arm-linux-gnueabihf/bits/sys_errlist.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio.h: - -/usr/include/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string2.h: - -/usr/include/stdlib.h: - -/usr/include/byteswap.h: - -/usr/include/netinet/in.h: - -/usr/include/arm-linux-gnueabihf/sys/socket.h: - -/usr/include/arm-linux-gnueabihf/sys/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/socket.h: - -/usr/include/arm-linux-gnueabihf/bits/socket_type.h: - -/usr/include/arm-linux-gnueabihf/bits/sockaddr.h: - -/usr/include/arm-linux-gnueabihf/asm/socket.h: - -/usr/include/asm-generic/socket.h: - -/usr/include/arm-linux-gnueabihf/asm/sockios.h: - -/usr/include/asm-generic/sockios.h: - -/usr/include/arm-linux-gnueabihf/bits/in.h: - -lib/../src/adapter.h: - -lib/bluetooth/sdp.h: - -lib/bluetooth/hci.h: - -lib/bluetooth/hci_lib.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdbool.h: - -lib/../src/device.h: - -lib/../src/dbus-common.h: - -src/log.h: - -src/error.h: - -profiles/audio/device.h: - -profiles/audio/avdtp.h: - -profiles/audio/media.h: - -profiles/audio/transport.h: - -profiles/audio/a2dp.h: - -profiles/audio/sink.h: - -profiles/audio/source.h: - -profiles/audio/avrcp.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/profiles/audio/.dirstamp b/GRIB_BLE_HUB/libs/ble_extend/profiles/audio/.dirstamp deleted file mode 100644 index e69de29..0000000 diff --git a/GRIB_BLE_HUB/libs/ble_extend/profiles/audio/a2dp-codecs.h b/GRIB_BLE_HUB/libs/ble_extend/profiles/audio/a2dp-codecs.h deleted file mode 100644 index 3dc31cb..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/profiles/audio/a2dp-codecs.h +++ /dev/null @@ -1,139 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2006-2010 Nokia Corporation - * Copyright (C) 2004-2010 Marcel Holtmann - * - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#define A2DP_CODEC_SBC 0x00 -#define A2DP_CODEC_MPEG12 0x01 -#define A2DP_CODEC_MPEG24 0x02 -#define A2DP_CODEC_ATRAC 0x03 -#define A2DP_CODEC_VENDOR 0xFF - -#define SBC_SAMPLING_FREQ_16000 (1 << 3) -#define SBC_SAMPLING_FREQ_32000 (1 << 2) -#define SBC_SAMPLING_FREQ_44100 (1 << 1) -#define SBC_SAMPLING_FREQ_48000 1 - -#define SBC_CHANNEL_MODE_MONO (1 << 3) -#define SBC_CHANNEL_MODE_DUAL_CHANNEL (1 << 2) -#define SBC_CHANNEL_MODE_STEREO (1 << 1) -#define SBC_CHANNEL_MODE_JOINT_STEREO 1 - -#define SBC_BLOCK_LENGTH_4 (1 << 3) -#define SBC_BLOCK_LENGTH_8 (1 << 2) -#define SBC_BLOCK_LENGTH_12 (1 << 1) -#define SBC_BLOCK_LENGTH_16 1 - -#define SBC_SUBBANDS_4 (1 << 1) -#define SBC_SUBBANDS_8 1 - -#define SBC_ALLOCATION_SNR (1 << 1) -#define SBC_ALLOCATION_LOUDNESS 1 - -#define MAX_BITPOOL 64 -#define MIN_BITPOOL 2 - -#define MPEG_CHANNEL_MODE_MONO (1 << 3) -#define MPEG_CHANNEL_MODE_DUAL_CHANNEL (1 << 2) -#define MPEG_CHANNEL_MODE_STEREO (1 << 1) -#define MPEG_CHANNEL_MODE_JOINT_STEREO 1 - -#define MPEG_LAYER_MP1 (1 << 2) -#define MPEG_LAYER_MP2 (1 << 1) -#define MPEG_LAYER_MP3 1 - -#define MPEG_SAMPLING_FREQ_16000 (1 << 5) -#define MPEG_SAMPLING_FREQ_22050 (1 << 4) -#define MPEG_SAMPLING_FREQ_24000 (1 << 3) -#define MPEG_SAMPLING_FREQ_32000 (1 << 2) -#define MPEG_SAMPLING_FREQ_44100 (1 << 1) -#define MPEG_SAMPLING_FREQ_48000 1 - -#define MPEG_BIT_RATE_VBR 0x8000 -#define MPEG_BIT_RATE_320000 0x4000 -#define MPEG_BIT_RATE_256000 0x2000 -#define MPEG_BIT_RATE_224000 0x1000 -#define MPEG_BIT_RATE_192000 0x0800 -#define MPEG_BIT_RATE_160000 0x0400 -#define MPEG_BIT_RATE_128000 0x0200 -#define MPEG_BIT_RATE_112000 0x0100 -#define MPEG_BIT_RATE_96000 0x0080 -#define MPEG_BIT_RATE_80000 0x0040 -#define MPEG_BIT_RATE_64000 0x0020 -#define MPEG_BIT_RATE_56000 0x0010 -#define MPEG_BIT_RATE_48000 0x0008 -#define MPEG_BIT_RATE_40000 0x0004 -#define MPEG_BIT_RATE_32000 0x0002 -#define MPEG_BIT_RATE_FREE 0x0001 - -#if __BYTE_ORDER == __LITTLE_ENDIAN - -typedef struct { - uint8_t channel_mode:4; - uint8_t frequency:4; - uint8_t allocation_method:2; - uint8_t subbands:2; - uint8_t block_length:4; - uint8_t min_bitpool; - uint8_t max_bitpool; -} __attribute__ ((packed)) a2dp_sbc_t; - -typedef struct { - uint8_t channel_mode:4; - uint8_t crc:1; - uint8_t layer:3; - uint8_t frequency:6; - uint8_t mpf:1; - uint8_t rfa:1; - uint16_t bitrate; -} __attribute__ ((packed)) a2dp_mpeg_t; - -#elif __BYTE_ORDER == __BIG_ENDIAN - -typedef struct { - uint8_t frequency:4; - uint8_t channel_mode:4; - uint8_t block_length:4; - uint8_t subbands:2; - uint8_t allocation_method:2; - uint8_t min_bitpool; - uint8_t max_bitpool; -} __attribute__ ((packed)) a2dp_sbc_t; - -typedef struct { - uint8_t layer:3; - uint8_t crc:1; - uint8_t channel_mode:4; - uint8_t rfa:1; - uint8_t mpf:1; - uint8_t frequency:6; - uint16_t bitrate; -} __attribute__ ((packed)) a2dp_mpeg_t; - -#else -#error "Unknown byte order" -#endif - -typedef struct { - uint8_t vendor_id[4]; - uint8_t codec_id[2]; -} __attribute__ ((packed)) a2dp_vendor_codec_t; diff --git a/GRIB_BLE_HUB/libs/ble_extend/profiles/audio/a2dp.c b/GRIB_BLE_HUB/libs/ble_extend/profiles/audio/a2dp.c deleted file mode 100644 index 215f4db..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/profiles/audio/a2dp.c +++ /dev/null @@ -1,1931 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2006-2010 Nokia Corporation - * Copyright (C) 2004-2010 Marcel Holtmann - * Copyright (C) 2011 BMW Car IT GmbH. All rights reserved. - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include - -#include -#include - -#include -#include -#include - -#include "../src/adapter.h" - -#include "log.h" -#include "device.h" -#include "manager.h" -#include "avdtp.h" -#include "sink.h" -#include "source.h" -#include "a2dp.h" -#include "a2dp-codecs.h" -#include "sdpd.h" - -/* The duration that streams without users are allowed to stay in - * STREAMING state. */ -#define SUSPEND_TIMEOUT 5 -#define RECONFIGURE_TIMEOUT 500 - -struct a2dp_sep { - struct a2dp_server *server; - struct a2dp_endpoint *endpoint; - uint8_t type; - uint8_t codec; - struct avdtp_local_sep *lsep; - struct avdtp *session; - struct avdtp_stream *stream; - guint suspend_timer; - gboolean delay_reporting; - gboolean locked; - gboolean suspending; - gboolean starting; - void *user_data; - GDestroyNotify destroy; -}; - -struct a2dp_setup_cb { - struct a2dp_setup *setup; - a2dp_select_cb_t select_cb; - a2dp_config_cb_t config_cb; - a2dp_stream_cb_t resume_cb; - a2dp_stream_cb_t suspend_cb; - guint source_id; - void *user_data; - unsigned int id; -}; - -struct a2dp_setup { - struct audio_device *dev; - struct avdtp *session; - struct a2dp_sep *sep; - struct avdtp_remote_sep *rsep; - struct avdtp_stream *stream; - struct avdtp_error *err; - avdtp_set_configuration_cb setconf_cb; - GSList *caps; - gboolean reconfigure; - gboolean start; - GSList *cb; - int ref; -}; - -struct a2dp_server { - struct btd_adapter *adapter; - GSList *sinks; - GSList *sources; - uint32_t source_record_id; - uint32_t sink_record_id; - gboolean sink_enabled; - gboolean source_enabled; -}; - -static GSList *servers = NULL; -static GSList *setups = NULL; -static unsigned int cb_id = 0; - -static struct a2dp_setup *setup_ref(struct a2dp_setup *setup) -{ - setup->ref++; - - DBG("%p: ref=%d", setup, setup->ref); - - return setup; -} - -static struct audio_device *a2dp_get_dev(struct avdtp *session) -{ - return manager_get_audio_device(avdtp_get_device(session), FALSE); -} - -static struct a2dp_setup *setup_new(struct avdtp *session) -{ - struct audio_device *dev; - struct a2dp_setup *setup; - - dev = a2dp_get_dev(session); - if (!dev) { - error("Unable to create setup"); - return NULL; - } - - setup = g_new0(struct a2dp_setup, 1); - setup->session = avdtp_ref(session); - setup->dev = a2dp_get_dev(session); - setups = g_slist_append(setups, setup); - - return setup; -} - -static void setup_free(struct a2dp_setup *s) -{ - DBG("%p", s); - - setups = g_slist_remove(setups, s); - if (s->session) - avdtp_unref(s->session); - g_slist_free_full(s->cb, g_free); - g_slist_free_full(s->caps, g_free); - g_free(s); -} - -static void setup_unref(struct a2dp_setup *setup) -{ - setup->ref--; - - DBG("%p: ref=%d", setup, setup->ref); - - if (setup->ref > 0) - return; - - setup_free(setup); -} - -static struct a2dp_setup_cb *setup_cb_new(struct a2dp_setup *setup) -{ - struct a2dp_setup_cb *cb; - - cb = g_new0(struct a2dp_setup_cb, 1); - cb->setup = setup; - cb->id = ++cb_id; - - setup->cb = g_slist_append(setup->cb, cb); - return cb; -} - -static void setup_cb_free(struct a2dp_setup_cb *cb) -{ - struct a2dp_setup *setup = cb->setup; - - if (cb->source_id) - g_source_remove(cb->source_id); - - setup->cb = g_slist_remove(setup->cb, cb); - setup_unref(cb->setup); - g_free(cb); -} - -static void finalize_setup_errno(struct a2dp_setup *s, int err, - GSourceFunc cb1, ...) -{ - GSourceFunc finalize; - va_list args; - struct avdtp_error avdtp_err; - - if (err < 0) { - avdtp_error_init(&avdtp_err, AVDTP_ERRNO, -err); - s->err = &avdtp_err; - } - - va_start(args, cb1); - finalize = cb1; - setup_ref(s); - while (finalize != NULL) { - finalize(s); - finalize = va_arg(args, GSourceFunc); - } - setup_unref(s); - va_end(args); -} - -static gboolean finalize_config(gpointer data) -{ - struct a2dp_setup *s = data; - GSList *l; - struct avdtp_stream *stream = s->err ? NULL : s->stream; - - for (l = s->cb; l != NULL; ) { - struct a2dp_setup_cb *cb = l->data; - - l = l->next; - - if (!cb->config_cb) - continue; - - cb->config_cb(s->session, s->sep, stream, s->err, - cb->user_data); - setup_cb_free(cb); - } - - return FALSE; -} - -static gboolean finalize_resume(gpointer data) -{ - struct a2dp_setup *s = data; - GSList *l; - - for (l = s->cb; l != NULL; ) { - struct a2dp_setup_cb *cb = l->data; - - l = l->next; - - if (!cb->resume_cb) - continue; - - cb->resume_cb(s->session, s->err, cb->user_data); - setup_cb_free(cb); - } - - return FALSE; -} - -static gboolean finalize_suspend(gpointer data) -{ - struct a2dp_setup *s = data; - GSList *l; - - for (l = s->cb; l != NULL; ) { - struct a2dp_setup_cb *cb = l->data; - - l = l->next; - - if (!cb->suspend_cb) - continue; - - cb->suspend_cb(s->session, s->err, cb->user_data); - setup_cb_free(cb); - } - - return FALSE; -} - -static void finalize_select(struct a2dp_setup *s) -{ - GSList *l; - - for (l = s->cb; l != NULL; ) { - struct a2dp_setup_cb *cb = l->data; - - l = l->next; - - if (!cb->select_cb) - continue; - - cb->select_cb(s->session, s->sep, s->caps, cb->user_data); - setup_cb_free(cb); - } -} - -static struct a2dp_setup *find_setup_by_session(struct avdtp *session) -{ - GSList *l; - - for (l = setups; l != NULL; l = l->next) { - struct a2dp_setup *setup = l->data; - - if (setup->session == session) - return setup; - } - - return NULL; -} - -static struct a2dp_setup *a2dp_setup_get(struct avdtp *session) -{ - struct a2dp_setup *setup; - - setup = find_setup_by_session(session); - if (!setup) { - setup = setup_new(session); - if (!setup) - return NULL; - } - - return setup_ref(setup); -} - -static struct a2dp_setup *find_setup_by_dev(struct audio_device *dev) -{ - GSList *l; - - for (l = setups; l != NULL; l = l->next) { - struct a2dp_setup *setup = l->data; - - if (setup->dev == dev) - return setup; - } - - return NULL; -} - -static struct a2dp_setup *find_setup_by_stream(struct avdtp_stream *stream) -{ - GSList *l; - - for (l = setups; l != NULL; l = l->next) { - struct a2dp_setup *setup = l->data; - - if (setup->stream == stream) - return setup; - } - - return NULL; -} - -static void stream_state_changed(struct avdtp_stream *stream, - avdtp_state_t old_state, - avdtp_state_t new_state, - struct avdtp_error *err, - void *user_data) -{ - struct a2dp_sep *sep = user_data; - - if (new_state == AVDTP_STATE_OPEN) { - struct a2dp_setup *setup; - int err; - - setup = find_setup_by_stream(stream); - if (!setup || !setup->start) - return; - - setup->start = FALSE; - - err = avdtp_start(setup->session, stream); - if (err < 0 && err != -EINPROGRESS) { - error("avdtp_start: %s (%d)", strerror(-err), -err); - finalize_setup_errno(setup, err, finalize_resume, - NULL); - return; - } - - sep->starting = TRUE; - - return; - } - - if (new_state != AVDTP_STATE_IDLE) - return; - - if (sep->suspend_timer) { - g_source_remove(sep->suspend_timer); - sep->suspend_timer = 0; - } - - if (sep->session) { - avdtp_unref(sep->session); - sep->session = NULL; - } - - sep->stream = NULL; - - if (sep->endpoint && sep->endpoint->clear_configuration) - sep->endpoint->clear_configuration(sep, sep->user_data); -} - -static gboolean auto_config(gpointer data) -{ - struct a2dp_setup *setup = data; - - /* Check if configuration was aborted */ - if (setup->sep->stream == NULL) - return FALSE; - - if (setup->err != NULL) - goto done; - - avdtp_stream_add_cb(setup->session, setup->stream, - stream_state_changed, setup->sep); - - if (setup->sep->type == AVDTP_SEP_TYPE_SOURCE) - sink_new_stream(setup->dev, setup->session, setup->stream); - else - source_new_stream(setup->dev, setup->session, setup->stream); - -done: - if (setup->setconf_cb) - setup->setconf_cb(setup->session, setup->stream, setup->err); - - finalize_config(setup); - - if (setup->err) { - g_free(setup->err); - setup->err = NULL; - } - - setup_unref(setup); - - return FALSE; -} - -static void endpoint_setconf_cb(struct a2dp_setup *setup, gboolean ret) -{ - if (ret == FALSE) { - setup->err = g_new(struct avdtp_error, 1); - avdtp_error_init(setup->err, AVDTP_MEDIA_CODEC, - AVDTP_UNSUPPORTED_CONFIGURATION); - } - - auto_config(setup); -} - -static gboolean endpoint_setconf_ind(struct avdtp *session, - struct avdtp_local_sep *sep, - struct avdtp_stream *stream, - GSList *caps, - avdtp_set_configuration_cb cb, - void *user_data) -{ - struct a2dp_sep *a2dp_sep = user_data; - struct a2dp_setup *setup; - - if (a2dp_sep->type == AVDTP_SEP_TYPE_SINK) - DBG("Sink %p: Set_Configuration_Ind", sep); - else - DBG("Source %p: Set_Configuration_Ind", sep); - - setup = a2dp_setup_get(session); - if (!session) - return FALSE; - - a2dp_sep->stream = stream; - setup->sep = a2dp_sep; - setup->stream = stream; - setup->setconf_cb = cb; - - for (; caps != NULL; caps = g_slist_next(caps)) { - struct avdtp_service_capability *cap = caps->data; - struct avdtp_media_codec_capability *codec; - gboolean ret; - - if (cap->category == AVDTP_DELAY_REPORTING && - !a2dp_sep->delay_reporting) { - setup->err = g_new(struct avdtp_error, 1); - avdtp_error_init(setup->err, AVDTP_DELAY_REPORTING, - AVDTP_UNSUPPORTED_CONFIGURATION); - goto done; - } - - if (cap->category != AVDTP_MEDIA_CODEC) - continue; - - codec = (struct avdtp_media_codec_capability *) cap->data; - - if (codec->media_codec_type != a2dp_sep->codec) { - setup->err = g_new(struct avdtp_error, 1); - avdtp_error_init(setup->err, AVDTP_MEDIA_CODEC, - AVDTP_UNSUPPORTED_CONFIGURATION); - goto done; - } - - ret = a2dp_sep->endpoint->set_configuration(a2dp_sep, - setup->dev, codec->data, - cap->length - sizeof(*codec), - setup, - endpoint_setconf_cb, - a2dp_sep->user_data); - if (ret == 0) - return TRUE; - - setup->err = g_new(struct avdtp_error, 1); - avdtp_error_init(setup->err, AVDTP_MEDIA_CODEC, - AVDTP_UNSUPPORTED_CONFIGURATION); - break; - } - -done: - g_idle_add(auto_config, setup); - return TRUE; -} - -static gboolean endpoint_getcap_ind(struct avdtp *session, - struct avdtp_local_sep *sep, - gboolean get_all, GSList **caps, - uint8_t *err, void *user_data) -{ - struct a2dp_sep *a2dp_sep = user_data; - struct avdtp_service_capability *media_transport, *media_codec; - struct avdtp_media_codec_capability *codec_caps; - uint8_t *capabilities; - size_t length; - - if (a2dp_sep->type == AVDTP_SEP_TYPE_SINK) - DBG("Sink %p: Get_Capability_Ind", sep); - else - DBG("Source %p: Get_Capability_Ind", sep); - - *caps = NULL; - - media_transport = avdtp_service_cap_new(AVDTP_MEDIA_TRANSPORT, - NULL, 0); - - *caps = g_slist_append(*caps, media_transport); - - length = a2dp_sep->endpoint->get_capabilities(a2dp_sep, &capabilities, - a2dp_sep->user_data); - - codec_caps = g_malloc0(sizeof(*codec_caps) + length); - codec_caps->media_type = AVDTP_MEDIA_TYPE_AUDIO; - codec_caps->media_codec_type = a2dp_sep->codec; - memcpy(codec_caps->data, capabilities, length); - - media_codec = avdtp_service_cap_new(AVDTP_MEDIA_CODEC, codec_caps, - sizeof(*codec_caps) + length); - - *caps = g_slist_append(*caps, media_codec); - g_free(codec_caps); - - if (get_all) { - struct avdtp_service_capability *delay_reporting; - delay_reporting = avdtp_service_cap_new(AVDTP_DELAY_REPORTING, - NULL, 0); - *caps = g_slist_append(*caps, delay_reporting); - } - - return TRUE; -} - -static void endpoint_open_cb(struct a2dp_setup *setup, gboolean ret) -{ - int err; - - if (ret == FALSE) { - setup->stream = NULL; - finalize_setup_errno(setup, -EPERM, finalize_config, NULL); - return; - } - - err = avdtp_open(setup->session, setup->stream); - if (err == 0) - return; - - error("Error on avdtp_open %s (%d)", strerror(-err), -err); - setup->stream = NULL; - finalize_setup_errno(setup, err, finalize_config, NULL); -} - -static void setconf_cfm(struct avdtp *session, struct avdtp_local_sep *sep, - struct avdtp_stream *stream, - struct avdtp_error *err, void *user_data) -{ - struct a2dp_sep *a2dp_sep = user_data; - struct a2dp_setup *setup; - struct audio_device *dev; - int ret; - - if (a2dp_sep->type == AVDTP_SEP_TYPE_SINK) - DBG("Sink %p: Set_Configuration_Cfm", sep); - else - DBG("Source %p: Set_Configuration_Cfm", sep); - - setup = find_setup_by_session(session); - - if (err) { - if (setup) { - setup_ref(setup); - setup->err = err; - finalize_config(setup); - setup->err = NULL; - setup_unref(setup); - } - return; - } - - avdtp_stream_add_cb(session, stream, stream_state_changed, a2dp_sep); - a2dp_sep->stream = stream; - - if (!setup) - return; - - dev = a2dp_get_dev(session); - - /* Notify D-Bus interface of the new stream */ - if (a2dp_sep->type == AVDTP_SEP_TYPE_SOURCE) - sink_new_stream(dev, session, setup->stream); - else - source_new_stream(dev, session, setup->stream); - - /* Notify Endpoint */ - if (a2dp_sep->endpoint) { - struct avdtp_service_capability *service; - struct avdtp_media_codec_capability *codec; - int err; - - service = avdtp_stream_get_codec(stream); - codec = (struct avdtp_media_codec_capability *) service->data; - - err = a2dp_sep->endpoint->set_configuration(a2dp_sep, dev, - codec->data, service->length - - sizeof(*codec), - setup, - endpoint_open_cb, - a2dp_sep->user_data); - if (err == 0) - return; - - setup->stream = NULL; - finalize_setup_errno(setup, -EPERM, finalize_config, NULL); - return; - } - - ret = avdtp_open(session, stream); - if (ret < 0) { - error("Error on avdtp_open %s (%d)", strerror(-ret), -ret); - setup->stream = NULL; - finalize_setup_errno(setup, ret, finalize_config, NULL); - } -} - -static gboolean getconf_ind(struct avdtp *session, struct avdtp_local_sep *sep, - uint8_t *err, void *user_data) -{ - struct a2dp_sep *a2dp_sep = user_data; - - if (a2dp_sep->type == AVDTP_SEP_TYPE_SINK) - DBG("Sink %p: Get_Configuration_Ind", sep); - else - DBG("Source %p: Get_Configuration_Ind", sep); - return TRUE; -} - -static void getconf_cfm(struct avdtp *session, struct avdtp_local_sep *sep, - struct avdtp_stream *stream, struct avdtp_error *err, - void *user_data) -{ - struct a2dp_sep *a2dp_sep = user_data; - - if (a2dp_sep->type == AVDTP_SEP_TYPE_SINK) - DBG("Sink %p: Set_Configuration_Cfm", sep); - else - DBG("Source %p: Set_Configuration_Cfm", sep); -} - -static gboolean open_ind(struct avdtp *session, struct avdtp_local_sep *sep, - struct avdtp_stream *stream, uint8_t *err, - void *user_data) -{ - struct a2dp_sep *a2dp_sep = user_data; - struct a2dp_setup *setup; - - if (a2dp_sep->type == AVDTP_SEP_TYPE_SINK) - DBG("Sink %p: Open_Ind", sep); - else - DBG("Source %p: Open_Ind", sep); - - setup = find_setup_by_session(session); - if (!setup) - return TRUE; - - if (setup->reconfigure) - setup->reconfigure = FALSE; - - finalize_config(setup); - - return TRUE; -} - -static void open_cfm(struct avdtp *session, struct avdtp_local_sep *sep, - struct avdtp_stream *stream, struct avdtp_error *err, - void *user_data) -{ - struct a2dp_sep *a2dp_sep = user_data; - struct a2dp_setup *setup; - - if (a2dp_sep->type == AVDTP_SEP_TYPE_SINK) - DBG("Sink %p: Open_Cfm", sep); - else - DBG("Source %p: Open_Cfm", sep); - - setup = find_setup_by_session(session); - if (!setup) - return; - - if (setup->reconfigure) - setup->reconfigure = FALSE; - - if (err) { - setup->stream = NULL; - setup->err = err; - } - - finalize_config(setup); - - if (!setup->start || !err) - return; - - setup->start = FALSE; - finalize_resume(setup); - - return; -} - -static gboolean suspend_timeout(struct a2dp_sep *sep) -{ - if (avdtp_suspend(sep->session, sep->stream) == 0) - sep->suspending = TRUE; - - sep->suspend_timer = 0; - - avdtp_unref(sep->session); - sep->session = NULL; - - return FALSE; -} - -static gboolean start_ind(struct avdtp *session, struct avdtp_local_sep *sep, - struct avdtp_stream *stream, uint8_t *err, - void *user_data) -{ - struct a2dp_sep *a2dp_sep = user_data; - struct a2dp_setup *setup; - - if (a2dp_sep->type == AVDTP_SEP_TYPE_SINK) - DBG("Sink %p: Start_Ind", sep); - else - DBG("Source %p: Start_Ind", sep); - - if (!a2dp_sep->locked) { - a2dp_sep->session = avdtp_ref(session); - a2dp_sep->suspend_timer = g_timeout_add_seconds(SUSPEND_TIMEOUT, - (GSourceFunc) suspend_timeout, - a2dp_sep); - } - - if (!a2dp_sep->starting) - return TRUE; - - a2dp_sep->starting = FALSE; - - setup = find_setup_by_session(session); - if (setup) - finalize_resume(setup); - - return TRUE; -} - -static void start_cfm(struct avdtp *session, struct avdtp_local_sep *sep, - struct avdtp_stream *stream, struct avdtp_error *err, - void *user_data) -{ - struct a2dp_sep *a2dp_sep = user_data; - struct a2dp_setup *setup; - - if (a2dp_sep->type == AVDTP_SEP_TYPE_SINK) - DBG("Sink %p: Start_Cfm", sep); - else - DBG("Source %p: Start_Cfm", sep); - - a2dp_sep->starting = FALSE; - - setup = find_setup_by_session(session); - if (!setup) - return; - - if (err) { - setup->stream = NULL; - setup->err = err; - } - - finalize_resume(setup); -} - -static gboolean suspend_ind(struct avdtp *session, struct avdtp_local_sep *sep, - struct avdtp_stream *stream, uint8_t *err, - void *user_data) -{ - struct a2dp_sep *a2dp_sep = user_data; - struct a2dp_setup *setup; - gboolean start; - int start_err; - - if (a2dp_sep->type == AVDTP_SEP_TYPE_SINK) - DBG("Sink %p: Suspend_Ind", sep); - else - DBG("Source %p: Suspend_Ind", sep); - - if (a2dp_sep->suspend_timer) { - g_source_remove(a2dp_sep->suspend_timer); - a2dp_sep->suspend_timer = 0; - avdtp_unref(a2dp_sep->session); - a2dp_sep->session = NULL; - } - - if (!a2dp_sep->suspending) - return TRUE; - - a2dp_sep->suspending = FALSE; - - setup = find_setup_by_session(session); - if (!setup) - return TRUE; - - start = setup->start; - setup->start = FALSE; - - finalize_suspend(setup); - - if (!start) - return TRUE; - - start_err = avdtp_start(session, a2dp_sep->stream); - if (start_err < 0 && start_err != -EINPROGRESS) { - error("avdtp_start: %s (%d)", strerror(-start_err), - -start_err); - finalize_setup_errno(setup, start_err, finalize_resume, NULL); - } - - return TRUE; -} - -static void suspend_cfm(struct avdtp *session, struct avdtp_local_sep *sep, - struct avdtp_stream *stream, struct avdtp_error *err, - void *user_data) -{ - struct a2dp_sep *a2dp_sep = user_data; - struct a2dp_setup *setup; - gboolean start; - int start_err; - - if (a2dp_sep->type == AVDTP_SEP_TYPE_SINK) - DBG("Sink %p: Suspend_Cfm", sep); - else - DBG("Source %p: Suspend_Cfm", sep); - - a2dp_sep->suspending = FALSE; - - setup = find_setup_by_session(session); - if (!setup) - return; - - start = setup->start; - setup->start = FALSE; - - if (err) { - setup->stream = NULL; - setup->err = err; - } - - finalize_suspend(setup); - - if (!start) - return; - - if (err) { - finalize_resume(setup); - return; - } - - start_err = avdtp_start(session, a2dp_sep->stream); - if (start_err < 0 && start_err != -EINPROGRESS) { - error("avdtp_start: %s (%d)", strerror(-start_err), - -start_err); - finalize_setup_errno(setup, start_err, finalize_suspend, NULL); - } -} - -static gboolean close_ind(struct avdtp *session, struct avdtp_local_sep *sep, - struct avdtp_stream *stream, uint8_t *err, - void *user_data) -{ - struct a2dp_sep *a2dp_sep = user_data; - struct a2dp_setup *setup; - - if (a2dp_sep->type == AVDTP_SEP_TYPE_SINK) - DBG("Sink %p: Close_Ind", sep); - else - DBG("Source %p: Close_Ind", sep); - - setup = find_setup_by_session(session); - if (!setup) - return TRUE; - - finalize_setup_errno(setup, -ECONNRESET, finalize_suspend, - finalize_resume, NULL); - - return TRUE; -} - -static gboolean a2dp_reconfigure(gpointer data) -{ - struct a2dp_setup *setup = data; - struct a2dp_sep *sep = setup->sep; - int posix_err; - struct avdtp_media_codec_capability *rsep_codec; - struct avdtp_service_capability *cap; - - if (setup->rsep) { - cap = avdtp_get_codec(setup->rsep); - rsep_codec = (struct avdtp_media_codec_capability *) cap->data; - } - - if (!setup->rsep || sep->codec != rsep_codec->media_codec_type) - setup->rsep = avdtp_find_remote_sep(setup->session, sep->lsep); - - posix_err = avdtp_set_configuration(setup->session, setup->rsep, - sep->lsep, - setup->caps, - &setup->stream); - if (posix_err < 0) { - error("avdtp_set_configuration: %s", strerror(-posix_err)); - goto failed; - } - - return FALSE; - -failed: - finalize_setup_errno(setup, posix_err, finalize_config, NULL); - return FALSE; -} - -static void close_cfm(struct avdtp *session, struct avdtp_local_sep *sep, - struct avdtp_stream *stream, struct avdtp_error *err, - void *user_data) -{ - struct a2dp_sep *a2dp_sep = user_data; - struct a2dp_setup *setup; - - if (a2dp_sep->type == AVDTP_SEP_TYPE_SINK) - DBG("Sink %p: Close_Cfm", sep); - else - DBG("Source %p: Close_Cfm", sep); - - setup = find_setup_by_session(session); - if (!setup) - return; - - if (err) { - setup->stream = NULL; - setup->err = err; - finalize_config(setup); - return; - } - - if (!setup->rsep) - setup->rsep = avdtp_stream_get_remote_sep(stream); - - if (setup->reconfigure) - g_timeout_add(RECONFIGURE_TIMEOUT, a2dp_reconfigure, setup); -} - -static void abort_ind(struct avdtp *session, struct avdtp_local_sep *sep, - struct avdtp_stream *stream, uint8_t *err, - void *user_data) -{ - struct a2dp_sep *a2dp_sep = user_data; - struct a2dp_setup *setup; - - if (a2dp_sep->type == AVDTP_SEP_TYPE_SINK) - DBG("Sink %p: Abort_Ind", sep); - else - DBG("Source %p: Abort_Ind", sep); - - a2dp_sep->stream = NULL; - - setup = find_setup_by_session(session); - if (!setup) - return; - - finalize_setup_errno(setup, -ECONNRESET, finalize_suspend, - finalize_resume, - finalize_config, NULL); - - return; -} - -static void abort_cfm(struct avdtp *session, struct avdtp_local_sep *sep, - struct avdtp_stream *stream, struct avdtp_error *err, - void *user_data) -{ - struct a2dp_sep *a2dp_sep = user_data; - struct a2dp_setup *setup; - - if (a2dp_sep->type == AVDTP_SEP_TYPE_SINK) - DBG("Sink %p: Abort_Cfm", sep); - else - DBG("Source %p: Abort_Cfm", sep); - - setup = find_setup_by_session(session); - if (!setup) - return; - - setup_unref(setup); -} - -static gboolean reconf_ind(struct avdtp *session, struct avdtp_local_sep *sep, - uint8_t *err, void *user_data) -{ - struct a2dp_sep *a2dp_sep = user_data; - - if (a2dp_sep->type == AVDTP_SEP_TYPE_SINK) - DBG("Sink %p: ReConfigure_Ind", sep); - else - DBG("Source %p: ReConfigure_Ind", sep); - - return TRUE; -} - -static gboolean endpoint_delayreport_ind(struct avdtp *session, - struct avdtp_local_sep *sep, - uint8_t rseid, uint16_t delay, - uint8_t *err, void *user_data) -{ - struct a2dp_sep *a2dp_sep = user_data; - - if (a2dp_sep->type == AVDTP_SEP_TYPE_SINK) - DBG("Sink %p: DelayReport_Ind", sep); - else - DBG("Source %p: DelayReport_Ind", sep); - - if (a2dp_sep->endpoint == NULL || - a2dp_sep->endpoint->set_delay == NULL) - return FALSE; - - a2dp_sep->endpoint->set_delay(a2dp_sep, delay, a2dp_sep->user_data); - - return TRUE; -} - -static void reconf_cfm(struct avdtp *session, struct avdtp_local_sep *sep, - struct avdtp_stream *stream, struct avdtp_error *err, - void *user_data) -{ - struct a2dp_sep *a2dp_sep = user_data; - struct a2dp_setup *setup; - - if (a2dp_sep->type == AVDTP_SEP_TYPE_SINK) - DBG("Sink %p: ReConfigure_Cfm", sep); - else - DBG("Source %p: ReConfigure_Cfm", sep); - - setup = find_setup_by_session(session); - if (!setup) - return; - - if (err) { - setup->stream = NULL; - setup->err = err; - } - - finalize_config(setup); -} - -static void delay_report_cfm(struct avdtp *session, struct avdtp_local_sep *sep, - struct avdtp_stream *stream, - struct avdtp_error *err, void *user_data) -{ - struct a2dp_sep *a2dp_sep = user_data; - - if (a2dp_sep->type == AVDTP_SEP_TYPE_SINK) - DBG("Sink %p: DelayReport_Cfm", sep); - else - DBG("Source %p: DelayReport_Cfm", sep); -} - -static struct avdtp_sep_cfm cfm = { - .set_configuration = setconf_cfm, - .get_configuration = getconf_cfm, - .open = open_cfm, - .start = start_cfm, - .suspend = suspend_cfm, - .close = close_cfm, - .abort = abort_cfm, - .reconfigure = reconf_cfm, - .delay_report = delay_report_cfm, -}; - -static struct avdtp_sep_ind endpoint_ind = { - .get_capability = endpoint_getcap_ind, - .set_configuration = endpoint_setconf_ind, - .get_configuration = getconf_ind, - .open = open_ind, - .start = start_ind, - .suspend = suspend_ind, - .close = close_ind, - .abort = abort_ind, - .reconfigure = reconf_ind, - .delayreport = endpoint_delayreport_ind, -}; - -static sdp_record_t *a2dp_record(uint8_t type) -{ - sdp_list_t *svclass_id, *pfseq, *apseq, *root; - uuid_t root_uuid, l2cap_uuid, avdtp_uuid, a2dp_uuid; - sdp_profile_desc_t profile[1]; - sdp_list_t *aproto, *proto[2]; - sdp_record_t *record; - sdp_data_t *psm, *version, *features; - uint16_t lp = AVDTP_UUID; - uint16_t a2dp_ver = 0x0103, avdtp_ver = 0x0103, feat = 0x000f; - - record = sdp_record_alloc(); - if (!record) - return NULL; - - sdp_uuid16_create(&root_uuid, PUBLIC_BROWSE_GROUP); - root = sdp_list_append(0, &root_uuid); - sdp_set_browse_groups(record, root); - - if (type == AVDTP_SEP_TYPE_SOURCE) - sdp_uuid16_create(&a2dp_uuid, AUDIO_SOURCE_SVCLASS_ID); - else - sdp_uuid16_create(&a2dp_uuid, AUDIO_SINK_SVCLASS_ID); - svclass_id = sdp_list_append(0, &a2dp_uuid); - sdp_set_service_classes(record, svclass_id); - - sdp_uuid16_create(&profile[0].uuid, ADVANCED_AUDIO_PROFILE_ID); - profile[0].version = a2dp_ver; - pfseq = sdp_list_append(0, &profile[0]); - sdp_set_profile_descs(record, pfseq); - - sdp_uuid16_create(&l2cap_uuid, L2CAP_UUID); - proto[0] = sdp_list_append(0, &l2cap_uuid); - psm = sdp_data_alloc(SDP_UINT16, &lp); - proto[0] = sdp_list_append(proto[0], psm); - apseq = sdp_list_append(0, proto[0]); - - sdp_uuid16_create(&avdtp_uuid, AVDTP_UUID); - proto[1] = sdp_list_append(0, &avdtp_uuid); - version = sdp_data_alloc(SDP_UINT16, &avdtp_ver); - proto[1] = sdp_list_append(proto[1], version); - apseq = sdp_list_append(apseq, proto[1]); - - aproto = sdp_list_append(0, apseq); - sdp_set_access_protos(record, aproto); - - features = sdp_data_alloc(SDP_UINT16, &feat); - sdp_attr_add(record, SDP_ATTR_SUPPORTED_FEATURES, features); - - if (type == AVDTP_SEP_TYPE_SOURCE) - sdp_set_info_attr(record, "Audio Source", 0, 0); - else - sdp_set_info_attr(record, "Audio Sink", 0, 0); - - free(psm); - free(version); - sdp_list_free(proto[0], 0); - sdp_list_free(proto[1], 0); - sdp_list_free(apseq, 0); - sdp_list_free(pfseq, 0); - sdp_list_free(aproto, 0); - sdp_list_free(root, 0); - sdp_list_free(svclass_id, 0); - - return record; -} - -static struct a2dp_server *find_server(GSList *list, struct btd_adapter *a) -{ - - for (; list; list = list->next) { - struct a2dp_server *server = list->data; - - if (server->adapter == a) - return server; - } - - return NULL; -} - -static struct a2dp_server *a2dp_server_register(struct btd_adapter *adapter, - GKeyFile *config) -{ - struct a2dp_server *server; - int av_err; - - server = g_new0(struct a2dp_server, 1); - - av_err = avdtp_init(adapter, config); - if (av_err < 0) { - DBG("AVDTP not registered"); - g_free(server); - return NULL; - } - - server->adapter = btd_adapter_ref(adapter); - servers = g_slist_append(servers, server); - - return server; -} - -int a2dp_source_register(struct btd_adapter *adapter, GKeyFile *config) -{ - struct a2dp_server *server; - - server = find_server(servers, adapter); - if (server != NULL) - goto done; - - server = a2dp_server_register(adapter, config); - if (server == NULL) - return -EPROTONOSUPPORT; - -done: - server->source_enabled = TRUE; - - return 0; -} - -int a2dp_sink_register(struct btd_adapter *adapter, GKeyFile *config) -{ - struct a2dp_server *server; - - server = find_server(servers, adapter); - if (server != NULL) - goto done; - - server = a2dp_server_register(adapter, config); - if (server == NULL) - return -EPROTONOSUPPORT; - -done: - server->sink_enabled = TRUE; - - return 0; -} - -static void a2dp_unregister_sep(struct a2dp_sep *sep) -{ - if (sep->destroy) { - sep->destroy(sep->user_data); - sep->endpoint = NULL; - } - - avdtp_unregister_sep(sep->lsep); - g_free(sep); -} - -static void a2dp_server_unregister(struct a2dp_server *server) -{ - avdtp_exit(server->adapter); - - servers = g_slist_remove(servers, server); - btd_adapter_unref(server->adapter); - g_free(server); -} - -void a2dp_sink_unregister(struct btd_adapter *adapter) -{ - struct a2dp_server *server; - - server = find_server(servers, adapter); - if (!server) - return; - - g_slist_free_full(server->sinks, (GDestroyNotify) a2dp_unregister_sep); - - if (server->sink_record_id) { - remove_record_from_server(server->sink_record_id); - server->sink_record_id = 0; - } - - if (server->source_record_id) - return; - - a2dp_server_unregister(server); -} - -void a2dp_source_unregister(struct btd_adapter *adapter) -{ - struct a2dp_server *server; - - server = find_server(servers, adapter); - if (!server) - return; - - g_slist_free_full(server->sources, - (GDestroyNotify) a2dp_unregister_sep); - - if (server->source_record_id) { - remove_record_from_server(server->source_record_id); - server->source_record_id = 0; - } - - if (server->sink_record_id) - return; - - a2dp_server_unregister(server); -} - -struct a2dp_sep *a2dp_add_sep(struct btd_adapter *adapter, uint8_t type, - uint8_t codec, gboolean delay_reporting, - struct a2dp_endpoint *endpoint, - void *user_data, GDestroyNotify destroy, - int *err) -{ - struct a2dp_server *server; - struct a2dp_sep *sep; - GSList **l; - uint32_t *record_id; - sdp_record_t *record; - - server = find_server(servers, adapter); - if (server == NULL) { - if (err) - *err = -EPROTONOSUPPORT; - return NULL; - } - - if (type == AVDTP_SEP_TYPE_SINK && !server->sink_enabled) { - if (err) - *err = -EPROTONOSUPPORT; - return NULL; - } - - if (type == AVDTP_SEP_TYPE_SOURCE && !server->source_enabled) { - if (err) - *err = -EPROTONOSUPPORT; - return NULL; - } - - sep = g_new0(struct a2dp_sep, 1); - - sep->lsep = avdtp_register_sep(adapter, type, - AVDTP_MEDIA_TYPE_AUDIO, codec, - delay_reporting, &endpoint_ind, - &cfm, sep); - - if (sep->lsep == NULL) { - g_free(sep); - if (err) - *err = -EINVAL; - return NULL; - } - - sep->server = server; - sep->endpoint = endpoint; - sep->codec = codec; - sep->type = type; - sep->delay_reporting = delay_reporting; - sep->user_data = user_data; - sep->destroy = destroy; - - if (type == AVDTP_SEP_TYPE_SOURCE) { - l = &server->sources; - record_id = &server->source_record_id; - } else { - l = &server->sinks; - record_id = &server->sink_record_id; - } - - if (*record_id != 0) - goto add; - - record = a2dp_record(type); - if (!record) { - error("Unable to allocate new service record"); - avdtp_unregister_sep(sep->lsep); - g_free(sep); - if (err) - *err = -EINVAL; - return NULL; - } - - if (add_record_to_server(adapter_get_address(server->adapter), - record) < 0) { - error("Unable to register A2DP service record"); - sdp_record_free(record); - avdtp_unregister_sep(sep->lsep); - g_free(sep); - if (err) - *err = -EINVAL; - return NULL; - } - *record_id = record->handle; - -add: - *l = g_slist_append(*l, sep); - - if (err) - *err = 0; - return sep; -} - -void a2dp_remove_sep(struct a2dp_sep *sep) -{ - struct a2dp_server *server = sep->server; - - if (sep->type == AVDTP_SEP_TYPE_SOURCE) { - if (g_slist_find(server->sources, sep) == NULL) - return; - server->sources = g_slist_remove(server->sources, sep); - if (server->sources == NULL && server->source_record_id) { - remove_record_from_server(server->source_record_id); - server->source_record_id = 0; - } - } else { - if (g_slist_find(server->sinks, sep) == NULL) - return; - server->sinks = g_slist_remove(server->sinks, sep); - if (server->sinks == NULL && server->sink_record_id) { - remove_record_from_server(server->sink_record_id); - server->sink_record_id = 0; - } - } - - if (sep->locked) - return; - - a2dp_unregister_sep(sep); -} - -static void select_cb(struct a2dp_setup *setup, void *ret, int size) -{ - struct avdtp_service_capability *media_transport, *media_codec; - struct avdtp_media_codec_capability *cap; - - if (size < 0) { - DBG("Endpoint replied an invalid configuration"); - goto done; - } - - media_transport = avdtp_service_cap_new(AVDTP_MEDIA_TRANSPORT, - NULL, 0); - - setup->caps = g_slist_append(setup->caps, media_transport); - - cap = g_malloc0(sizeof(*cap) + size); - cap->media_type = AVDTP_MEDIA_TYPE_AUDIO; - cap->media_codec_type = setup->sep->codec; - memcpy(cap->data, ret, size); - - media_codec = avdtp_service_cap_new(AVDTP_MEDIA_CODEC, cap, - sizeof(*cap) + size); - - setup->caps = g_slist_append(setup->caps, media_codec); - g_free(cap); - -done: - finalize_select(setup); -} - -static gboolean check_vendor_codec(struct a2dp_sep *sep, uint8_t *cap, - size_t len) -{ - uint8_t *capabilities; - size_t length; - a2dp_vendor_codec_t *local_codec; - a2dp_vendor_codec_t *remote_codec; - - if (len < sizeof(a2dp_vendor_codec_t)) - return FALSE; - - remote_codec = (a2dp_vendor_codec_t *) cap; - - if (sep->endpoint == NULL) - return FALSE; - - length = sep->endpoint->get_capabilities(sep, - &capabilities, sep->user_data); - - if (length < sizeof(a2dp_vendor_codec_t)) - return FALSE; - - local_codec = (a2dp_vendor_codec_t *) capabilities; - - if (memcmp(remote_codec->vendor_id, local_codec->vendor_id, - sizeof(local_codec->vendor_id))) - return FALSE; - - if (memcmp(remote_codec->codec_id, local_codec->codec_id, - sizeof(local_codec->codec_id))) - return FALSE; - - DBG("vendor 0x%02x%02x%02x%02x codec 0x%02x%02x", - remote_codec->vendor_id[0], remote_codec->vendor_id[1], - remote_codec->vendor_id[2], remote_codec->vendor_id[3], - remote_codec->codec_id[0], remote_codec->codec_id[1]); - - return TRUE; -} - -static struct a2dp_sep *a2dp_find_sep(struct avdtp *session, GSList *list, - const char *sender) -{ - for (; list; list = list->next) { - struct a2dp_sep *sep = list->data; - struct avdtp_remote_sep *rsep; - struct avdtp_media_codec_capability *cap; - struct avdtp_service_capability *service; - - /* Use sender's endpoint if available */ - if (sender) { - const char *name; - - if (sep->endpoint == NULL) - continue; - - name = sep->endpoint->get_name(sep, sep->user_data); - if (g_strcmp0(sender, name) != 0) - continue; - } - - rsep = avdtp_find_remote_sep(session, sep->lsep); - if (rsep == NULL) - continue; - - service = avdtp_get_codec(rsep); - cap = (struct avdtp_media_codec_capability *) service->data; - - if (cap->media_codec_type != A2DP_CODEC_VENDOR) - return sep; - - if (check_vendor_codec(sep, cap->data, - service->length - sizeof(*cap))) - return sep; - } - - return NULL; -} - -static struct a2dp_sep *a2dp_select_sep(struct avdtp *session, uint8_t type, - const char *sender) -{ - struct a2dp_server *server; - struct a2dp_sep *sep; - GSList *l; - - server = find_server(servers, avdtp_get_adapter(session)); - if (!server) - return NULL; - - l = type == AVDTP_SEP_TYPE_SINK ? server->sources : server->sinks; - - /* Check sender's seps first */ - sep = a2dp_find_sep(session, l, sender); - if (sep != NULL) - return sep; - - return a2dp_find_sep(session, l, NULL); -} - -unsigned int a2dp_select_capabilities(struct avdtp *session, - uint8_t type, const char *sender, - a2dp_select_cb_t cb, - void *user_data) -{ - struct a2dp_setup *setup; - struct a2dp_setup_cb *cb_data; - struct a2dp_sep *sep; - struct avdtp_service_capability *service; - struct avdtp_media_codec_capability *codec; - int err; - - sep = a2dp_select_sep(session, type, sender); - if (!sep) { - error("Unable to select SEP"); - return 0; - } - - setup = a2dp_setup_get(session); - if (!setup) - return 0; - - cb_data = setup_cb_new(setup); - cb_data->select_cb = cb; - cb_data->user_data = user_data; - - setup->sep = sep; - setup->rsep = avdtp_find_remote_sep(session, sep->lsep); - - if (setup->rsep == NULL) { - error("Could not find remote sep"); - goto fail; - } - - service = avdtp_get_codec(setup->rsep); - codec = (struct avdtp_media_codec_capability *) service->data; - - err = sep->endpoint->select_configuration(sep, codec->data, - service->length - sizeof(*codec), - setup, - select_cb, sep->user_data); - if (err == 0) - return cb_data->id; - -fail: - setup_cb_free(cb_data); - return 0; - -} - -unsigned int a2dp_config(struct avdtp *session, struct a2dp_sep *sep, - a2dp_config_cb_t cb, GSList *caps, - void *user_data) -{ - struct a2dp_setup_cb *cb_data; - GSList *l; - struct a2dp_server *server; - struct a2dp_setup *setup; - struct a2dp_sep *tmp; - struct avdtp_service_capability *cap; - struct avdtp_media_codec_capability *codec_cap = NULL; - int posix_err; - - server = find_server(servers, avdtp_get_adapter(session)); - if (!server) - return 0; - - for (l = caps; l != NULL; l = l->next) { - cap = l->data; - - if (cap->category != AVDTP_MEDIA_CODEC) - continue; - - codec_cap = (void *) cap->data; - break; - } - - if (!codec_cap) - return 0; - - if (sep->codec != codec_cap->media_codec_type) - return 0; - - DBG("a2dp_config: selected SEP %p", sep->lsep); - - setup = a2dp_setup_get(session); - if (!setup) - return 0; - - cb_data = setup_cb_new(setup); - cb_data->config_cb = cb; - cb_data->user_data = user_data; - - setup->sep = sep; - setup->stream = sep->stream; - - /* Copy given caps if they are different than current caps */ - if (setup->caps != caps) { - g_slist_free_full(setup->caps, g_free); - setup->caps = g_slist_copy(caps); - } - - switch (avdtp_sep_get_state(sep->lsep)) { - case AVDTP_STATE_IDLE: - if (sep->type == AVDTP_SEP_TYPE_SOURCE) - l = server->sources; - else - l = server->sinks; - - for (; l != NULL; l = l->next) { - tmp = l->data; - if (avdtp_has_stream(session, tmp->stream)) - break; - } - - if (l != NULL) { - if (tmp->locked) - goto failed; - setup->reconfigure = TRUE; - if (avdtp_close(session, tmp->stream, FALSE) < 0) { - error("avdtp_close failed"); - goto failed; - } - break; - } - - setup->rsep = avdtp_find_remote_sep(session, sep->lsep); - if (setup->rsep == NULL) { - error("No matching ACP and INT SEPs found"); - goto failed; - } - - posix_err = avdtp_set_configuration(session, setup->rsep, - sep->lsep, caps, - &setup->stream); - if (posix_err < 0) { - error("avdtp_set_configuration: %s", - strerror(-posix_err)); - goto failed; - } - break; - case AVDTP_STATE_OPEN: - case AVDTP_STATE_STREAMING: - if (avdtp_stream_has_capabilities(setup->stream, caps)) { - DBG("Configuration match: resuming"); - cb_data->source_id = g_idle_add(finalize_config, - setup); - } else if (!setup->reconfigure) { - setup->reconfigure = TRUE; - if (avdtp_close(session, sep->stream, FALSE) < 0) { - error("avdtp_close failed"); - goto failed; - } - } - break; - default: - error("SEP in bad state for requesting a new stream"); - goto failed; - } - - return cb_data->id; - -failed: - setup_cb_free(cb_data); - return 0; -} - -unsigned int a2dp_resume(struct avdtp *session, struct a2dp_sep *sep, - a2dp_stream_cb_t cb, void *user_data) -{ - struct a2dp_setup_cb *cb_data; - struct a2dp_setup *setup; - - setup = a2dp_setup_get(session); - if (!setup) - return 0; - - cb_data = setup_cb_new(setup); - cb_data->resume_cb = cb; - cb_data->user_data = user_data; - - setup->sep = sep; - setup->stream = sep->stream; - - switch (avdtp_sep_get_state(sep->lsep)) { - case AVDTP_STATE_IDLE: - goto failed; - break; - case AVDTP_STATE_CONFIGURED: - setup->start = TRUE; - break; - case AVDTP_STATE_OPEN: - if (avdtp_start(session, sep->stream) < 0) { - error("avdtp_start failed"); - goto failed; - } - sep->starting = TRUE; - break; - case AVDTP_STATE_STREAMING: - if (!sep->suspending && sep->suspend_timer) { - g_source_remove(sep->suspend_timer); - sep->suspend_timer = 0; - avdtp_unref(sep->session); - sep->session = NULL; - } - if (sep->suspending) - setup->start = TRUE; - else - cb_data->source_id = g_idle_add(finalize_resume, - setup); - break; - default: - error("SEP in bad state for resume"); - goto failed; - } - - return cb_data->id; - -failed: - setup_cb_free(cb_data); - return 0; -} - -unsigned int a2dp_suspend(struct avdtp *session, struct a2dp_sep *sep, - a2dp_stream_cb_t cb, void *user_data) -{ - struct a2dp_setup_cb *cb_data; - struct a2dp_setup *setup; - - setup = a2dp_setup_get(session); - if (!setup) - return 0; - - cb_data = setup_cb_new(setup); - cb_data->suspend_cb = cb; - cb_data->user_data = user_data; - - setup->sep = sep; - setup->stream = sep->stream; - - switch (avdtp_sep_get_state(sep->lsep)) { - case AVDTP_STATE_IDLE: - error("a2dp_suspend: no stream to suspend"); - goto failed; - break; - case AVDTP_STATE_OPEN: - cb_data->source_id = g_idle_add(finalize_suspend, setup); - break; - case AVDTP_STATE_STREAMING: - if (avdtp_suspend(session, sep->stream) < 0) { - error("avdtp_suspend failed"); - goto failed; - } - sep->suspending = TRUE; - break; - default: - error("SEP in bad state for suspend"); - goto failed; - } - - return cb_data->id; - -failed: - setup_cb_free(cb_data); - return 0; -} - -gboolean a2dp_cancel(struct audio_device *dev, unsigned int id) -{ - struct a2dp_setup *setup; - GSList *l; - - setup = find_setup_by_dev(dev); - if (!setup) - return FALSE; - - for (l = setup->cb; l != NULL; l = g_slist_next(l)) { - struct a2dp_setup_cb *cb = l->data; - - if (cb->id != id) - continue; - - setup_ref(setup); - setup_cb_free(cb); - - if (!setup->cb) { - DBG("aborting setup %p", setup); - avdtp_abort(setup->session, setup->stream); - return TRUE; - } - - setup_unref(setup); - return TRUE; - } - - return FALSE; -} - -gboolean a2dp_sep_lock(struct a2dp_sep *sep, struct avdtp *session) -{ - if (sep->locked) - return FALSE; - - DBG("SEP %p locked", sep->lsep); - sep->locked = TRUE; - - return TRUE; -} - -gboolean a2dp_sep_unlock(struct a2dp_sep *sep, struct avdtp *session) -{ - struct a2dp_server *server = sep->server; - avdtp_state_t state; - GSList *l; - - state = avdtp_sep_get_state(sep->lsep); - - sep->locked = FALSE; - - DBG("SEP %p unlocked", sep->lsep); - - if (sep->type == AVDTP_SEP_TYPE_SOURCE) - l = server->sources; - else - l = server->sinks; - - /* Unregister sep if it was removed */ - if (g_slist_find(l, sep) == NULL) { - a2dp_unregister_sep(sep); - return TRUE; - } - - if (!sep->stream || state == AVDTP_STATE_IDLE) - return TRUE; - - switch (state) { - case AVDTP_STATE_OPEN: - /* Set timer here */ - break; - case AVDTP_STATE_STREAMING: - if (avdtp_suspend(session, sep->stream) == 0) - sep->suspending = TRUE; - break; - default: - break; - } - - return TRUE; -} - -struct avdtp_stream *a2dp_sep_get_stream(struct a2dp_sep *sep) -{ - return sep->stream; -} diff --git a/GRIB_BLE_HUB/libs/ble_extend/profiles/audio/a2dp.h b/GRIB_BLE_HUB/libs/ble_extend/profiles/audio/a2dp.h deleted file mode 100644 index 4819f7b..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/profiles/audio/a2dp.h +++ /dev/null @@ -1,94 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2006-2010 Nokia Corporation - * Copyright (C) 2004-2010 Marcel Holtmann - * Copyright (C) 2011 BMW Car IT GmbH. All rights reserved. - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -struct a2dp_sep; -struct a2dp_setup; - -typedef void (*a2dp_endpoint_select_t) (struct a2dp_setup *setup, void *ret, - int size); -typedef void (*a2dp_endpoint_config_t) (struct a2dp_setup *setup, gboolean ret); - -struct a2dp_endpoint { - const char *(*get_name) (struct a2dp_sep *sep, void *user_data); - size_t (*get_capabilities) (struct a2dp_sep *sep, - uint8_t **capabilities, - void *user_data); - int (*select_configuration) (struct a2dp_sep *sep, - uint8_t *capabilities, - size_t length, - struct a2dp_setup *setup, - a2dp_endpoint_select_t cb, - void *user_data); - int (*set_configuration) (struct a2dp_sep *sep, - struct audio_device *dev, - uint8_t *configuration, - size_t length, - struct a2dp_setup *setup, - a2dp_endpoint_config_t cb, - void *user_data); - void (*clear_configuration) (struct a2dp_sep *sep, void *user_data); - void (*set_delay) (struct a2dp_sep *sep, uint16_t delay, - void *user_data); -}; - -typedef void (*a2dp_select_cb_t) (struct avdtp *session, - struct a2dp_sep *sep, GSList *caps, - void *user_data); -typedef void (*a2dp_config_cb_t) (struct avdtp *session, struct a2dp_sep *sep, - struct avdtp_stream *stream, - struct avdtp_error *err, - void *user_data); -typedef void (*a2dp_stream_cb_t) (struct avdtp *session, - struct avdtp_error *err, - void *user_data); - -int a2dp_source_register(struct btd_adapter *adapter, GKeyFile *config); -void a2dp_source_unregister(struct btd_adapter *adapter); -int a2dp_sink_register(struct btd_adapter *adapter, GKeyFile *config); -void a2dp_sink_unregister(struct btd_adapter *adapter); - -struct a2dp_sep *a2dp_add_sep(struct btd_adapter *adapter, uint8_t type, - uint8_t codec, gboolean delay_reporting, - struct a2dp_endpoint *endpoint, - void *user_data, GDestroyNotify destroy, - int *err); -void a2dp_remove_sep(struct a2dp_sep *sep); - -unsigned int a2dp_select_capabilities(struct avdtp *session, - uint8_t type, const char *sender, - a2dp_select_cb_t cb, - void *user_data); -unsigned int a2dp_config(struct avdtp *session, struct a2dp_sep *sep, - a2dp_config_cb_t cb, GSList *caps, - void *user_data); -unsigned int a2dp_resume(struct avdtp *session, struct a2dp_sep *sep, - a2dp_stream_cb_t cb, void *user_data); -unsigned int a2dp_suspend(struct avdtp *session, struct a2dp_sep *sep, - a2dp_stream_cb_t cb, void *user_data); -gboolean a2dp_cancel(struct audio_device *dev, unsigned int id); - -gboolean a2dp_sep_lock(struct a2dp_sep *sep, struct avdtp *session); -gboolean a2dp_sep_unlock(struct a2dp_sep *sep, struct avdtp *session); -struct avdtp_stream *a2dp_sep_get_stream(struct a2dp_sep *sep); diff --git a/GRIB_BLE_HUB/libs/ble_extend/profiles/audio/audio.conf b/GRIB_BLE_HUB/libs/ble_extend/profiles/audio/audio.conf deleted file mode 100644 index 067b3fc..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/profiles/audio/audio.conf +++ /dev/null @@ -1,8 +0,0 @@ -# Configuration file for the audio service - -# This section contains options which are not specific to any -# particular interface -[General] - -# Switch to master role for incoming connections (defaults to true) -#Master=true diff --git a/GRIB_BLE_HUB/libs/ble_extend/profiles/audio/avctp.c b/GRIB_BLE_HUB/libs/ble_extend/profiles/audio/avctp.c deleted file mode 100644 index 21aeb6f..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/profiles/audio/avctp.c +++ /dev/null @@ -1,1898 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2006-2010 Nokia Corporation - * Copyright (C) 2004-2010 Marcel Holtmann - * Copyright (C) 2011 Texas Instruments, Inc. - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include - -#include -#include - -#include "lib/uuid.h" -#include "adapter.h" -#include "../src/device.h" - -#include "log.h" -#include "error.h" -#include "uinput.h" -#include "manager.h" -#include "device.h" -#include "avctp.h" -#include "avrcp.h" - -#define QUIRK_NO_RELEASE 1 << 0 - -/* Message types */ -#define AVCTP_COMMAND 0 -#define AVCTP_RESPONSE 1 - -/* Packet types */ -#define AVCTP_PACKET_SINGLE 0 -#define AVCTP_PACKET_START 1 -#define AVCTP_PACKET_CONTINUE 2 -#define AVCTP_PACKET_END 3 - -#if __BYTE_ORDER == __LITTLE_ENDIAN - -struct avctp_header { - uint8_t ipid:1; - uint8_t cr:1; - uint8_t packet_type:2; - uint8_t transaction:4; - uint16_t pid; -} __attribute__ ((packed)); -#define AVCTP_HEADER_LENGTH 3 - -struct avc_header { - uint8_t code:4; - uint8_t _hdr0:4; - uint8_t subunit_id:3; - uint8_t subunit_type:5; - uint8_t opcode; -} __attribute__ ((packed)); - -#elif __BYTE_ORDER == __BIG_ENDIAN - -struct avctp_header { - uint8_t transaction:4; - uint8_t packet_type:2; - uint8_t cr:1; - uint8_t ipid:1; - uint16_t pid; -} __attribute__ ((packed)); -#define AVCTP_HEADER_LENGTH 3 - -struct avc_header { - uint8_t _hdr0:4; - uint8_t code:4; - uint8_t subunit_type:5; - uint8_t subunit_id:3; - uint8_t opcode; -} __attribute__ ((packed)); - -#else -#error "Unknown byte order" -#endif - -struct avctp_state_callback { - avctp_state_cb cb; - struct audio_device *dev; - unsigned int id; -}; - -struct avctp_server { - struct btd_adapter *adapter; - GIOChannel *control_io; - GIOChannel *browsing_io; - GSList *sessions; -}; - -struct avctp_control_req { - struct avctp_pending_req *p; - uint8_t code; - uint8_t subunit; - uint8_t op; - uint8_t *operands; - uint16_t operand_count; - avctp_rsp_cb func; - void *user_data; -}; - -struct avctp_browsing_req { - struct avctp_pending_req *p; - uint8_t *operands; - uint16_t operand_count; - avctp_browsing_rsp_cb func; - void *user_data; -}; - -typedef int (*avctp_process_cb) (void *data); - -struct avctp_pending_req { - struct avctp_channel *chan; - uint8_t transaction; - guint timeout; - avctp_process_cb process; - void *data; - GDestroyNotify destroy; -}; - -struct avctp_channel { - struct avctp *session; - GIOChannel *io; - uint8_t transaction; - guint watch; - uint16_t imtu; - uint16_t omtu; - uint8_t *buffer; - GSList *handlers; - struct avctp_pending_req *p; - GQueue *queue; - GSList *processed; - guint process_id; - GDestroyNotify destroy; -}; - -struct key_pressed { - uint8_t op; - guint timer; -}; - -struct avctp { - struct avctp_server *server; - struct btd_device *device; - - avctp_state_t state; - - int uinput; - - guint auth_id; - unsigned int passthrough_id; - unsigned int unit_id; - unsigned int subunit_id; - - struct avctp_channel *control; - struct avctp_channel *browsing; - - uint8_t key_quirks[256]; - struct key_pressed *key; -}; - -struct avctp_pdu_handler { - uint8_t opcode; - avctp_control_pdu_cb cb; - void *user_data; - unsigned int id; -}; - -struct avctp_browsing_pdu_handler { - avctp_browsing_pdu_cb cb; - void *user_data; - unsigned int id; - GDestroyNotify destroy; -}; - -static struct { - const char *name; - uint8_t avc; - uint16_t uinput; -} key_map[] = { - { "SELECT", AVC_SELECT, KEY_SELECT }, - { "UP", AVC_UP, KEY_UP }, - { "DOWN", AVC_DOWN, KEY_DOWN }, - { "LEFT", AVC_LEFT, KEY_LEFT }, - { "RIGHT", AVC_RIGHT, KEY_RIGHT }, - { "ROOT MENU", AVC_ROOT_MENU, KEY_MENU }, - { "CONTENTS MENU", AVC_CONTENTS_MENU, KEY_PROGRAM }, - { "FAVORITE MENU", AVC_FAVORITE_MENU, KEY_FAVORITES }, - { "ENTER", AVC_ENTER, KEY_ENTER }, - { "CHANNEL UP", AVC_CHANNEL_UP, KEY_CHANNELUP }, - { "CHANNEL DOWN", AVC_CHANNEL_DOWN, KEY_CHANNELDOWN }, - { "INPUT SELECT", AVC_INPUT_SELECT, KEY_CONFIG }, - { "HELP", AVC_HELP, KEY_HELP }, - { "POWER", AVC_POWER, KEY_POWER2 }, - { "VOLUME UP", AVC_VOLUME_UP, KEY_VOLUMEUP }, - { "VOLUME DOWN", AVC_VOLUME_DOWN, KEY_VOLUMEDOWN }, - { "PLAY", AVC_PLAY, KEY_PLAYCD }, - { "STOP", AVC_STOP, KEY_STOPCD }, - { "PAUSE", AVC_PAUSE, KEY_PAUSECD }, - { "FORWARD", AVC_FORWARD, KEY_NEXTSONG }, - { "BACKWARD", AVC_BACKWARD, KEY_PREVIOUSSONG }, - { "REWIND", AVC_REWIND, KEY_REWIND }, - { "FAST FORWARD", AVC_FAST_FORWARD, KEY_FASTFORWARD }, - { "F1", AVC_F1, KEY_F1 }, - { "F2", AVC_F2, KEY_F2 }, - { "F3", AVC_F3, KEY_F3 }, - { "F4", AVC_F4, KEY_F4 }, - { NULL } -}; - -static GSList *callbacks = NULL; -static GSList *servers = NULL; - -static void auth_cb(DBusError *derr, void *user_data); -static gboolean process_queue(gpointer user_data); -static gboolean avctp_passthrough_rsp(struct avctp *session, uint8_t code, - uint8_t subunit, uint8_t *operands, - size_t operand_count, void *user_data); - -static int send_event(int fd, uint16_t type, uint16_t code, int32_t value) -{ - struct uinput_event event; - - memset(&event, 0, sizeof(event)); - event.type = type; - event.code = code; - event.value = value; - - return write(fd, &event, sizeof(event)); -} - -static void send_key(int fd, uint16_t key, int pressed) -{ - if (fd < 0) - return; - - send_event(fd, EV_KEY, key, pressed); - send_event(fd, EV_SYN, SYN_REPORT, 0); -} - -static size_t handle_panel_passthrough(struct avctp *session, - uint8_t transaction, uint8_t *code, - uint8_t *subunit, uint8_t *operands, - size_t operand_count, void *user_data) -{ - const char *status; - int pressed, i; - - if (*code != AVC_CTYPE_CONTROL || *subunit != AVC_SUBUNIT_PANEL) { - *code = AVC_CTYPE_REJECTED; - return 0; - } - - if (operand_count == 0) - goto done; - - if (operands[0] & 0x80) { - status = "released"; - pressed = 0; - } else { - status = "pressed"; - pressed = 1; - } - - for (i = 0; key_map[i].name != NULL; i++) { - uint8_t key_quirks; - - if ((operands[0] & 0x7F) != key_map[i].avc) - continue; - - DBG("AV/C: %s %s", key_map[i].name, status); - - key_quirks = session->key_quirks[key_map[i].avc]; - - if (key_quirks & QUIRK_NO_RELEASE) { - if (!pressed) { - DBG("AV/C: Ignoring release"); - break; - } - - DBG("AV/C: treating key press as press + release"); - send_key(session->uinput, key_map[i].uinput, 1); - send_key(session->uinput, key_map[i].uinput, 0); - break; - } - - send_key(session->uinput, key_map[i].uinput, pressed); - break; - } - - if (key_map[i].name == NULL) { - DBG("AV/C: unknown button 0x%02X %s", - operands[0] & 0x7F, status); - *code = AVC_CTYPE_NOT_IMPLEMENTED; - return 0; - } - -done: - *code = AVC_CTYPE_ACCEPTED; - return operand_count; -} - -static size_t handle_unit_info(struct avctp *session, - uint8_t transaction, uint8_t *code, - uint8_t *subunit, uint8_t *operands, - size_t operand_count, void *user_data) -{ - if (*code != AVC_CTYPE_STATUS) { - *code = AVC_CTYPE_REJECTED; - return 0; - } - - *code = AVC_CTYPE_STABLE; - - /* The first operand should be 0x07 for the UNITINFO response. - * Neither AVRCP (section 22.1, page 117) nor AVC Digital - * Interface Command Set (section 9.2.1, page 45) specs - * explain this value but both use it */ - if (operand_count >= 1) - operands[0] = 0x07; - if (operand_count >= 2) - operands[1] = AVC_SUBUNIT_PANEL << 3; - - DBG("reply to AVC_OP_UNITINFO"); - - return operand_count; -} - -static size_t handle_subunit_info(struct avctp *session, - uint8_t transaction, uint8_t *code, - uint8_t *subunit, uint8_t *operands, - size_t operand_count, void *user_data) -{ - if (*code != AVC_CTYPE_STATUS) { - *code = AVC_CTYPE_REJECTED; - return 0; - } - - *code = AVC_CTYPE_STABLE; - - /* The first operand should be 0x07 for the UNITINFO response. - * Neither AVRCP (section 22.1, page 117) nor AVC Digital - * Interface Command Set (section 9.2.1, page 45) specs - * explain this value but both use it */ - if (operand_count >= 2) - operands[1] = AVC_SUBUNIT_PANEL << 3; - - DBG("reply to AVC_OP_SUBUNITINFO"); - - return operand_count; -} - -static struct avctp_pdu_handler *find_handler(GSList *list, uint8_t opcode) -{ - for (; list; list = list->next) { - struct avctp_pdu_handler *handler = list->data; - - if (handler->opcode == opcode) - return handler; - } - - return NULL; -} - -static void pending_destroy(gpointer data, gpointer user_data) -{ - struct avctp_pending_req *req = data; - - if (req->destroy) - req->destroy(req->data); - - if (req->timeout > 0) - g_source_remove(req->timeout); - - g_free(req); -} - -static void avctp_channel_destroy(struct avctp_channel *chan) -{ - g_io_channel_shutdown(chan->io, TRUE, NULL); - g_io_channel_unref(chan->io); - - if (chan->watch) - g_source_remove(chan->watch); - - if (chan->p) - pending_destroy(chan->p, NULL); - - if (chan->process_id > 0) - g_source_remove(chan->process_id); - - if (chan->destroy) - chan->destroy(chan); - - g_free(chan->buffer); - g_queue_foreach(chan->queue, pending_destroy, NULL); - g_queue_free(chan->queue); - g_slist_foreach(chan->processed, pending_destroy, NULL); - g_slist_free(chan->processed); - g_slist_free_full(chan->handlers, g_free); - g_free(chan); -} - -static void avctp_disconnected(struct avctp *session) -{ - struct avctp_server *server; - - if (!session) - return; - - if (session->browsing) - avctp_channel_destroy(session->browsing); - - if (session->control) - avctp_channel_destroy(session->control); - - if (session->auth_id != 0) { - btd_cancel_authorization(session->auth_id); - session->auth_id = 0; - } - - if (session->key != NULL) { - if (session->key->timer > 0) - g_source_remove(session->key->timer); - g_free(session->key); - } - - if (session->uinput >= 0) { - char address[18]; - - ba2str(device_get_address(session->device), address); - DBG("AVCTP: closing uinput for %s", address); - - ioctl(session->uinput, UI_DEV_DESTROY); - close(session->uinput); - session->uinput = -1; - } - - server = session->server; - server->sessions = g_slist_remove(server->sessions, session); - btd_device_unref(session->device); - g_free(session); -} - -static void avctp_set_state(struct avctp *session, avctp_state_t new_state) -{ - GSList *l; - struct audio_device *dev; - avctp_state_t old_state = session->state; - - dev = manager_get_audio_device(session->device, FALSE); - if (dev == NULL) { - error("%s(): No matching audio device", __func__); - return; - } - - session->state = new_state; - - for (l = callbacks; l != NULL; l = l->next) { - struct avctp_state_callback *cb = l->data; - - if (cb->dev && cb->dev != dev) - continue; - - cb->cb(dev, old_state, new_state); - } - - switch (new_state) { - case AVCTP_STATE_DISCONNECTED: - DBG("AVCTP Disconnected"); - avctp_disconnected(session); - break; - case AVCTP_STATE_CONNECTING: - DBG("AVCTP Connecting"); - break; - case AVCTP_STATE_CONNECTED: - DBG("AVCTP Connected"); - break; - case AVCTP_STATE_BROWSING_CONNECTING: - DBG("AVCTP Browsing Connecting"); - break; - case AVCTP_STATE_BROWSING_CONNECTED: - DBG("AVCTP Browsing Connected"); - break; - default: - error("Invalid AVCTP state %d", new_state); - return; - } -} - -static int avctp_send(struct avctp_channel *control, uint8_t transaction, - uint8_t cr, uint8_t code, - uint8_t subunit, uint8_t opcode, - uint8_t *operands, size_t operand_count) -{ - struct avctp_header *avctp; - struct avc_header *avc; - struct msghdr msg; - struct iovec iov[2]; - int sk, err = 0; - - iov[0].iov_base = control->buffer; - iov[0].iov_len = sizeof(*avctp) + sizeof(*avc); - iov[1].iov_base = operands; - iov[1].iov_len = operand_count; - - if (control->omtu < (iov[0].iov_len + iov[1].iov_len)) - return -EOVERFLOW; - - sk = g_io_channel_unix_get_fd(control->io); - - memset(control->buffer, 0, iov[0].iov_len); - - avctp = (void *) control->buffer; - avc = (void *) avctp + sizeof(*avctp); - - avctp->transaction = transaction; - avctp->packet_type = AVCTP_PACKET_SINGLE; - avctp->cr = cr; - avctp->pid = htons(AV_REMOTE_SVCLASS_ID); - - avc->code = code; - avc->subunit_type = subunit; - avc->opcode = opcode; - - memset(&msg, 0, sizeof(msg)); - msg.msg_iov = iov; - msg.msg_iovlen = 2; - - if (sendmsg(sk, &msg, 0) < 0) - err = -errno; - - return err; -} - -static int avctp_browsing_send(struct avctp_channel *browsing, - uint8_t transaction, uint8_t cr, - uint8_t *operands, size_t operand_count) -{ - struct avctp_header *avctp; - struct msghdr msg; - struct iovec iov[2]; - int sk, err = 0; - - iov[0].iov_base = browsing->buffer; - iov[0].iov_len = sizeof(*avctp); - iov[1].iov_base = operands; - iov[1].iov_len = operand_count; - - if (browsing->omtu < (iov[0].iov_len + iov[1].iov_len)) - return -EOVERFLOW; - - sk = g_io_channel_unix_get_fd(browsing->io); - - memset(browsing->buffer, 0, iov[0].iov_len); - - avctp = (void *) browsing->buffer; - - avctp->transaction = transaction; - avctp->packet_type = AVCTP_PACKET_SINGLE; - avctp->cr = cr; - avctp->pid = htons(AV_REMOTE_SVCLASS_ID); - - memset(&msg, 0, sizeof(msg)); - msg.msg_iov = iov; - msg.msg_iovlen = 2; - - if (sendmsg(sk, &msg, 0) < 0) - err = -errno; - - return err; -} - -static void control_req_destroy(void *data) -{ - struct avctp_control_req *req = data; - - g_free(req->operands); - g_free(req); -} - -static void browsing_req_destroy(void *data) -{ - struct avctp_browsing_req *req = data; - - g_free(req->operands); - g_free(req); -} - -static gboolean req_timeout(gpointer user_data) -{ - struct avctp_channel *chan = user_data; - struct avctp_pending_req *p = chan->p; - - DBG("transaction %u", p->transaction); - - p->timeout = 0; - - pending_destroy(p, NULL); - chan->p = NULL; - - if (chan->process_id == 0) - chan->process_id = g_idle_add(process_queue, chan); - - return FALSE; -} - -static int process_control(void *data) -{ - struct avctp_control_req *req = data; - struct avctp_pending_req *p = req->p; - - return avctp_send(p->chan, p->transaction, AVCTP_COMMAND, req->code, - req->subunit, req->op, - req->operands, req->operand_count); -} - -static int process_browsing(void *data) -{ - struct avctp_browsing_req *req = data; - struct avctp_pending_req *p = req->p; - - return avctp_browsing_send(p->chan, p->transaction, AVCTP_COMMAND, - req->operands, req->operand_count); -} - -static gboolean process_queue(void *user_data) -{ - struct avctp_channel *chan = user_data; - struct avctp_pending_req *p = chan->p; - - chan->process_id = 0; - - if (p != NULL) - return FALSE; - - while ((p = g_queue_pop_head(chan->queue))) { - - if (p->process(p->data) == 0) - break; - - pending_destroy(p, NULL); - } - - if (p == NULL) - return FALSE; - - chan->p = p; - p->timeout = g_timeout_add_seconds(2, req_timeout, chan); - - return FALSE; - -} - -static void control_response(struct avctp_channel *control, - struct avctp_header *avctp, - struct avc_header *avc, - uint8_t *operands, - size_t operand_count) -{ - struct avctp_pending_req *p = control->p; - struct avctp_control_req *req; - GSList *l; - - if (p && p->transaction == avctp->transaction) { - control->processed = g_slist_prepend(control->processed, p); - - if (p->timeout > 0) { - g_source_remove(p->timeout); - p->timeout = 0; - } - - control->p = NULL; - - if (control->process_id == 0) - control->process_id = g_idle_add(process_queue, - control); - } - - for (l = control->processed; l; l = l->next) { - p = l->data; - req = p->data; - - if (p->transaction != avctp->transaction) - continue; - - if (req->func && req->func(control->session, avc->code, - avc->subunit_type, - operands, operand_count, - req->user_data)) - return; - - control->processed = g_slist_remove(control->processed, p); - pending_destroy(p, NULL); - - return; - } -} - -static void browsing_response(struct avctp_channel *browsing, - struct avctp_header *avctp, - uint8_t *operands, - size_t operand_count) -{ - struct avctp_pending_req *p = browsing->p; - struct avctp_browsing_req *req; - GSList *l; - - if (p && p->transaction == avctp->transaction) { - browsing->processed = g_slist_prepend(browsing->processed, p); - - if (p->timeout > 0) { - g_source_remove(p->timeout); - p->timeout = 0; - } - - browsing->p = NULL; - - if (browsing->process_id == 0) - browsing->process_id = g_idle_add(process_queue, - browsing); - } - - for (l = browsing->processed; l; l = l->next) { - p = l->data; - req = p->data; - - if (p->transaction != avctp->transaction) - continue; - - if (req->func && req->func(browsing->session, - operands, operand_count, - req->user_data)) - return; - - browsing->processed = g_slist_remove(browsing->processed, p); - pending_destroy(p, NULL); - - return; - } -} - -static gboolean session_browsing_cb(GIOChannel *chan, GIOCondition cond, - gpointer data) -{ - struct avctp *session = data; - struct avctp_channel *browsing = session->browsing; - uint8_t *buf = browsing->buffer; - uint8_t *operands; - struct avctp_header *avctp; - int sock, ret, packet_size, operand_count; - struct avctp_browsing_pdu_handler *handler; - - if (cond & (G_IO_ERR | G_IO_HUP | G_IO_NVAL)) - goto failed; - - sock = g_io_channel_unix_get_fd(chan); - - ret = read(sock, buf, browsing->imtu); - if (ret <= 0) - goto failed; - - avctp = (struct avctp_header *) buf; - - if (avctp->packet_type != AVCTP_PACKET_SINGLE) - goto failed; - - operands = buf + AVCTP_HEADER_LENGTH; - ret -= AVCTP_HEADER_LENGTH; - operand_count = ret; - - if (avctp->cr == AVCTP_RESPONSE) { - browsing_response(browsing, avctp, operands, operand_count); - return TRUE; - } - - packet_size = AVCTP_HEADER_LENGTH; - avctp->cr = AVCTP_RESPONSE; - - handler = g_slist_nth_data(browsing->handlers, 0); - if (handler == NULL) { - DBG("handler not found"); - packet_size += avrcp_browsing_general_reject(operands); - goto send; - } - - packet_size += handler->cb(session, avctp->transaction, - operands, operand_count, - handler->user_data); - -send: - if (packet_size != 0) { - ret = write(sock, buf, packet_size); - if (ret != packet_size) - goto failed; - } - - return TRUE; - -failed: - DBG("AVCTP Browsing: disconnected"); - avctp_set_state(session, AVCTP_STATE_CONNECTED); - - if (session->browsing) { - avctp_channel_destroy(session->browsing); - session->browsing = NULL; - } - - return FALSE; -} - -static gboolean session_cb(GIOChannel *chan, GIOCondition cond, - gpointer data) -{ - struct avctp *session = data; - struct avctp_channel *control = session->control; - uint8_t *buf = control->buffer; - uint8_t *operands, code, subunit; - struct avctp_header *avctp; - struct avc_header *avc; - int ret, packet_size, operand_count, sock; - struct avctp_pdu_handler *handler; - - if (cond & (G_IO_ERR | G_IO_HUP | G_IO_NVAL)) - goto failed; - - sock = g_io_channel_unix_get_fd(chan); - - ret = read(sock, buf, control->imtu); - if (ret <= 0) - goto failed; - - if ((unsigned int) ret < sizeof(struct avctp_header)) { - error("Too small AVCTP packet"); - goto failed; - } - - avctp = (struct avctp_header *) buf; - - ret -= sizeof(struct avctp_header); - if ((unsigned int) ret < sizeof(struct avc_header)) { - error("Too small AVCTP packet"); - goto failed; - } - - avc = (struct avc_header *) (buf + sizeof(struct avctp_header)); - - ret -= sizeof(struct avc_header); - - operands = buf + sizeof(struct avctp_header) + sizeof(struct avc_header); - operand_count = ret; - - if (avctp->cr == AVCTP_RESPONSE) { - control_response(control, avctp, avc, operands, operand_count); - return TRUE; - } - - packet_size = AVCTP_HEADER_LENGTH + AVC_HEADER_LENGTH; - avctp->cr = AVCTP_RESPONSE; - - if (avctp->packet_type != AVCTP_PACKET_SINGLE) { - avc->code = AVC_CTYPE_NOT_IMPLEMENTED; - goto done; - } - - if (avctp->pid != htons(AV_REMOTE_SVCLASS_ID)) { - avctp->ipid = 1; - packet_size = AVCTP_HEADER_LENGTH; - goto done; - } - - handler = find_handler(control->handlers, avc->opcode); - if (!handler) { - DBG("handler not found for 0x%02x", avc->opcode); - packet_size += avrcp_handle_vendor_reject(&code, operands); - avc->code = code; - goto done; - } - - code = avc->code; - subunit = avc->subunit_type; - - packet_size += handler->cb(session, avctp->transaction, &code, - &subunit, operands, operand_count, - handler->user_data); - - avc->code = code; - avc->subunit_type = subunit; - -done: - ret = write(sock, buf, packet_size); - if (ret != packet_size) - goto failed; - - return TRUE; - -failed: - DBG("AVCTP session %p got disconnected", session); - avctp_set_state(session, AVCTP_STATE_DISCONNECTED); - return FALSE; -} - -static int uinput_create(char *name) -{ - struct uinput_dev dev; - int fd, err, i; - - fd = open("/dev/uinput", O_RDWR); - if (fd < 0) { - fd = open("/dev/input/uinput", O_RDWR); - if (fd < 0) { - fd = open("/dev/misc/uinput", O_RDWR); - if (fd < 0) { - err = -errno; - error("Can't open input device: %s (%d)", - strerror(-err), -err); - return err; - } - } - } - - memset(&dev, 0, sizeof(dev)); - if (name) - strncpy(dev.name, name, UINPUT_MAX_NAME_SIZE - 1); - - dev.id.bustype = BUS_BLUETOOTH; - dev.id.vendor = 0x0000; - dev.id.product = 0x0000; - dev.id.version = 0x0000; - - if (write(fd, &dev, sizeof(dev)) < 0) { - err = -errno; - error("Can't write device information: %s (%d)", - strerror(-err), -err); - close(fd); - return err; - } - - ioctl(fd, UI_SET_EVBIT, EV_KEY); - ioctl(fd, UI_SET_EVBIT, EV_REL); - ioctl(fd, UI_SET_EVBIT, EV_REP); - ioctl(fd, UI_SET_EVBIT, EV_SYN); - - for (i = 0; key_map[i].name != NULL; i++) - ioctl(fd, UI_SET_KEYBIT, key_map[i].uinput); - - if (ioctl(fd, UI_DEV_CREATE, NULL) < 0) { - err = -errno; - error("Can't create uinput device: %s (%d)", - strerror(-err), -err); - close(fd); - return err; - } - - return fd; -} - -static void init_uinput(struct avctp *session) -{ - struct audio_device *dev; - char address[18], name[248 + 1]; - - dev = manager_get_audio_device(session->device, FALSE); - - device_get_name(dev->btd_dev, name, sizeof(name)); - if (g_str_equal(name, "Nokia CK-20W")) { - session->key_quirks[AVC_FORWARD] |= QUIRK_NO_RELEASE; - session->key_quirks[AVC_BACKWARD] |= QUIRK_NO_RELEASE; - session->key_quirks[AVC_PLAY] |= QUIRK_NO_RELEASE; - session->key_quirks[AVC_PAUSE] |= QUIRK_NO_RELEASE; - } - - ba2str(device_get_address(session->device), address); - session->uinput = uinput_create(address); - if (session->uinput < 0) - error("AVRCP: failed to init uinput for %s", address); - else - DBG("AVRCP: uinput initialized for %s", address); -} - -static struct avctp_channel *avctp_channel_create(struct avctp *session, - GIOChannel *io, - GDestroyNotify destroy) -{ - struct avctp_channel *chan; - - chan = g_new0(struct avctp_channel, 1); - chan->session = session; - chan->io = g_io_channel_ref(io); - chan->queue = g_queue_new(); - chan->destroy = destroy; - - return chan; -} - -static void handler_free(void *data) -{ - struct avctp_browsing_pdu_handler *handler = data; - - if (handler->destroy) - handler->destroy(handler->user_data); - - g_free(data); -} - -static void avctp_destroy_browsing(void *data) -{ - struct avctp_channel *chan = data; - - g_slist_free_full(chan->handlers, handler_free); - - chan->handlers = NULL; -} - -static void avctp_connect_browsing_cb(GIOChannel *chan, GError *err, - gpointer data) -{ - struct avctp *session = data; - char address[18]; - uint16_t imtu, omtu; - GError *gerr = NULL; - - if (err) { - error("Browsing: %s", err->message); - goto fail; - } - - bt_io_get(chan, &gerr, - BT_IO_OPT_DEST, &address, - BT_IO_OPT_IMTU, &imtu, - BT_IO_OPT_OMTU, &omtu, - BT_IO_OPT_INVALID); - if (gerr) { - error("%s", gerr->message); - g_io_channel_shutdown(chan, TRUE, NULL); - g_io_channel_unref(chan); - g_error_free(gerr); - goto fail; - } - - DBG("AVCTP Browsing: connected to %s", address); - - if (session->browsing == NULL) - session->browsing = avctp_channel_create(session, chan, - avctp_destroy_browsing); - - session->browsing->imtu = imtu; - session->browsing->omtu = omtu; - session->browsing->buffer = g_malloc0(MAX(imtu, omtu)); - session->browsing->watch = g_io_add_watch(session->browsing->io, - G_IO_IN | G_IO_ERR | G_IO_HUP | G_IO_NVAL, - (GIOFunc) session_browsing_cb, session); - - avctp_set_state(session, AVCTP_STATE_BROWSING_CONNECTED); - return; - -fail: - avctp_set_state(session, AVCTP_STATE_CONNECTED); - - if (session->browsing) { - avctp_channel_destroy(session->browsing); - session->browsing = NULL; - } -} - -static void avctp_connect_cb(GIOChannel *chan, GError *err, gpointer data) -{ - struct avctp *session = data; - char address[18]; - uint16_t imtu, omtu; - GError *gerr = NULL; - - if (err) { - avctp_set_state(session, AVCTP_STATE_DISCONNECTED); - error("%s", err->message); - return; - } - - bt_io_get(chan, &gerr, - BT_IO_OPT_DEST, &address, - BT_IO_OPT_IMTU, &imtu, - BT_IO_OPT_IMTU, &omtu, - BT_IO_OPT_INVALID); - if (gerr) { - avctp_set_state(session, AVCTP_STATE_DISCONNECTED); - error("%s", gerr->message); - g_error_free(gerr); - return; - } - - DBG("AVCTP: connected to %s", address); - - if (session->control == NULL) - session->control = avctp_channel_create(session, chan, NULL); - - session->control->imtu = imtu; - session->control->omtu = omtu; - session->control->buffer = g_malloc0(MAX(imtu, omtu)); - session->control->watch = g_io_add_watch(session->control->io, - G_IO_IN | G_IO_ERR | G_IO_HUP | G_IO_NVAL, - (GIOFunc) session_cb, session); - - session->passthrough_id = avctp_register_pdu_handler(session, - AVC_OP_PASSTHROUGH, - handle_panel_passthrough, - NULL); - session->unit_id = avctp_register_pdu_handler(session, - AVC_OP_UNITINFO, - handle_unit_info, - NULL); - session->subunit_id = avctp_register_pdu_handler(session, - AVC_OP_SUBUNITINFO, - handle_subunit_info, - NULL); - - init_uinput(session); - - avctp_set_state(session, AVCTP_STATE_CONNECTED); -} - -static void auth_cb(DBusError *derr, void *user_data) -{ - struct avctp *session = user_data; - GError *err = NULL; - - session->auth_id = 0; - - if (session->control->watch > 0) { - g_source_remove(session->control->watch); - session->control->watch = 0; - } - - if (derr && dbus_error_is_set(derr)) { - error("Access denied: %s", derr->message); - avctp_set_state(session, AVCTP_STATE_DISCONNECTED); - return; - } - - if (!bt_io_accept(session->control->io, avctp_connect_cb, session, - NULL, &err)) { - error("bt_io_accept: %s", err->message); - g_error_free(err); - avctp_set_state(session, AVCTP_STATE_DISCONNECTED); - } -} - -static struct avctp_server *find_server(GSList *list, struct btd_adapter *a) -{ - for (; list; list = list->next) { - struct avctp_server *server = list->data; - - if (server->adapter == a) - return server; - } - - return NULL; -} - -static struct avctp *find_session(GSList *list, struct btd_device *device) -{ - for (; list != NULL; list = g_slist_next(list)) { - struct avctp *s = list->data; - - if (s->device == device) - return s; - } - - return NULL; -} - -static struct avctp *avctp_get_internal(struct btd_device *device) -{ - struct avctp_server *server; - struct avctp *session; - - server = find_server(servers, device_get_adapter(device)); - if (server == NULL) - return NULL; - - session = find_session(server->sessions, device); - if (session) - return session; - - session = g_new0(struct avctp, 1); - - session->server = server; - session->device = btd_device_ref(device); - session->state = AVCTP_STATE_DISCONNECTED; - session->uinput = -1; - - server->sessions = g_slist_append(server->sessions, session); - - return session; -} - -static void avctp_control_confirm(struct avctp *session, GIOChannel *chan, - struct audio_device *dev) -{ - const bdaddr_t *src; - const bdaddr_t *dst; - - if (session->control != NULL) { - error("Control: Refusing unexpected connect"); - g_io_channel_shutdown(chan, TRUE, NULL); - return; - } - - avctp_set_state(session, AVCTP_STATE_CONNECTING); - session->control = avctp_channel_create(session, chan, NULL); - - src = adapter_get_address(device_get_adapter(dev->btd_dev)); - dst = device_get_address(dev->btd_dev); - - session->auth_id = btd_request_authorization(src, dst, - AVRCP_TARGET_UUID, - auth_cb, session); - if (session->auth_id == 0) - goto drop; - - session->control->watch = g_io_add_watch(chan, G_IO_ERR | G_IO_HUP | - G_IO_NVAL, session_cb, session); - return; - -drop: - avctp_set_state(session, AVCTP_STATE_DISCONNECTED); -} - -static void avctp_browsing_confirm(struct avctp *session, GIOChannel *chan, - struct audio_device *dev) -{ - GError *err = NULL; - - if (session->control == NULL || session->browsing != NULL) { - error("Browsing: Refusing unexpected connect"); - g_io_channel_shutdown(chan, TRUE, NULL); - return; - } - - if (bt_io_accept(chan, avctp_connect_browsing_cb, session, NULL, - &err)) - return; - - error("Browsing: %s", err->message); - g_error_free(err); - - return; -} - -static void avctp_confirm_cb(GIOChannel *chan, gpointer data) -{ - struct avctp *session; - struct audio_device *dev; - char address[18]; - bdaddr_t src, dst; - GError *err = NULL; - uint16_t psm; - struct btd_device *device; - - bt_io_get(chan, &err, - BT_IO_OPT_SOURCE_BDADDR, &src, - BT_IO_OPT_DEST_BDADDR, &dst, - BT_IO_OPT_DEST, address, - BT_IO_OPT_PSM, &psm, - BT_IO_OPT_INVALID); - if (err) { - error("%s", err->message); - g_error_free(err); - g_io_channel_shutdown(chan, TRUE, NULL); - return; - } - - DBG("AVCTP: incoming connect from %s", address); - - device = adapter_find_device(adapter_find(&src), &dst); - if (!device) - return; - - session = avctp_get_internal(device); - if (session == NULL) - return; - - dev = manager_get_audio_device(device, TRUE); - if (!dev) { - error("Unable to get audio device object for %s", address); - goto drop; - } - - if (dev->control == NULL) { - btd_device_add_uuid(dev->btd_dev, AVRCP_REMOTE_UUID); - if (dev->control == NULL) - goto drop; - } - - switch (psm) { - case AVCTP_CONTROL_PSM: - avctp_control_confirm(session, chan, dev); - break; - case AVCTP_BROWSING_PSM: - avctp_browsing_confirm(session, chan, dev); - break; - } - - return; - -drop: - if (psm == AVCTP_CONTROL_PSM) - avctp_set_state(session, AVCTP_STATE_DISCONNECTED); -} - -static GIOChannel *avctp_server_socket(const bdaddr_t *src, gboolean master, - uint8_t mode, uint16_t psm) -{ - GError *err = NULL; - GIOChannel *io; - - io = bt_io_listen(NULL, avctp_confirm_cb, NULL, - NULL, &err, - BT_IO_OPT_SOURCE_BDADDR, src, - BT_IO_OPT_PSM, psm, - BT_IO_OPT_SEC_LEVEL, BT_IO_SEC_MEDIUM, - BT_IO_OPT_MASTER, master, - BT_IO_OPT_MODE, mode, - BT_IO_OPT_INVALID); - if (!io) { - error("%s", err->message); - g_error_free(err); - } - - return io; -} - -int avctp_register(struct btd_adapter *adapter, gboolean master) -{ - struct avctp_server *server; - const bdaddr_t *src = adapter_get_address(adapter); - - server = g_new0(struct avctp_server, 1); - - server->control_io = avctp_server_socket(src, master, L2CAP_MODE_BASIC, - AVCTP_CONTROL_PSM); - if (!server->control_io) { - g_free(server); - return -1; - } - server->browsing_io = avctp_server_socket(src, master, L2CAP_MODE_ERTM, - AVCTP_BROWSING_PSM); - if (!server->browsing_io) { - if (server->control_io) { - g_io_channel_shutdown(server->control_io, TRUE, NULL); - g_io_channel_unref(server->control_io); - server->control_io = NULL; - } - g_free(server); - return -1; - } - - server->adapter = btd_adapter_ref(adapter); - - servers = g_slist_append(servers, server); - - return 0; -} - -void avctp_unregister(struct btd_adapter *adapter) -{ - struct avctp_server *server; - - server = find_server(servers, adapter); - if (!server) - return; - - while (server->sessions) - avctp_disconnected(server->sessions->data); - - servers = g_slist_remove(servers, server); - - g_io_channel_shutdown(server->browsing_io, TRUE, NULL); - g_io_channel_unref(server->browsing_io); - server->browsing_io = NULL; - - g_io_channel_shutdown(server->control_io, TRUE, NULL); - g_io_channel_unref(server->control_io); - btd_adapter_unref(server->adapter); - g_free(server); -} - -static struct avctp_pending_req *pending_create(struct avctp_channel *chan, - avctp_process_cb process, - void *data, - GDestroyNotify destroy) -{ - struct avctp_pending_req *p; - - p = g_new0(struct avctp_pending_req, 1); - p->chan = chan; - p->transaction = chan->transaction; - p->process = process; - p->data = data; - p->destroy = destroy; - - chan->transaction++; - chan->transaction %= 16; - - return p; -} - -static int avctp_send_req(struct avctp *session, uint8_t code, - uint8_t subunit, uint8_t opcode, - uint8_t *operands, size_t operand_count, - avctp_rsp_cb func, void *user_data) -{ - struct avctp_channel *control = session->control; - struct avctp_pending_req *p; - struct avctp_control_req *req; - - if (control == NULL) - return -ENOTCONN; - - req = g_new0(struct avctp_control_req, 1); - req->code = code; - req->subunit = subunit; - req->op = opcode; - req->func = func; - req->operands = g_memdup(operands, operand_count); - req->operand_count = operand_count; - req->user_data = user_data; - - p = pending_create(control, process_control, req, control_req_destroy); - - req->p = p; - - g_queue_push_tail(control->queue, p); - - if (control->process_id == 0) - control->process_id = g_idle_add(process_queue, control); - - return 0; -} - -int avctp_send_browsing_req(struct avctp *session, - uint8_t *operands, size_t operand_count, - avctp_browsing_rsp_cb func, void *user_data) -{ - struct avctp_channel *browsing = session->browsing; - struct avctp_pending_req *p; - struct avctp_browsing_req *req; - - if (browsing == NULL) - return -ENOTCONN; - - req = g_new0(struct avctp_browsing_req, 1); - req->func = func; - req->operands = g_memdup(operands, operand_count); - req->operand_count = operand_count; - req->user_data = user_data; - - p = pending_create(browsing, process_browsing, req, - browsing_req_destroy); - - req->p = p; - - g_queue_push_tail(browsing->queue, p); - - if (browsing->process_id == 0) - browsing->process_id = g_idle_add(process_queue, browsing); - - return 0; -} - -static char *op2str(uint8_t op) -{ - switch (op & 0x7f) { - case AVC_VOLUME_UP: - return "VOLUME UP"; - case AVC_VOLUME_DOWN: - return "VOLUME DOWN"; - case AVC_MUTE: - return "MUTE"; - case AVC_PLAY: - return "PLAY"; - case AVC_STOP: - return "STOP"; - case AVC_PAUSE: - return "PAUSE"; - case AVC_RECORD: - return "RECORD"; - case AVC_REWIND: - return "REWIND"; - case AVC_FAST_FORWARD: - return "FAST FORWARD"; - case AVC_EJECT: - return "EJECT"; - case AVC_FORWARD: - return "FORWARD"; - case AVC_BACKWARD: - return "BACKWARD"; - default: - return "UNKNOWN"; - } -} - -static int avctp_passthrough_press(struct avctp *session, uint8_t op) -{ - uint8_t operands[2]; - - DBG("%s", op2str(op)); - - /* Button pressed */ - operands[0] = op & 0x7f; - operands[1] = 0; - - return avctp_send_req(session, AVC_CTYPE_CONTROL, - AVC_SUBUNIT_PANEL, AVC_OP_PASSTHROUGH, - operands, sizeof(operands), - avctp_passthrough_rsp, NULL); -} - -static int avctp_passthrough_release(struct avctp *session, uint8_t op) -{ - uint8_t operands[2]; - - DBG("%s", op2str(op)); - - /* Button released */ - operands[0] = op | 0x80; - operands[1] = 0; - - return avctp_send_req(session, AVC_CTYPE_CONTROL, - AVC_SUBUNIT_PANEL, AVC_OP_PASSTHROUGH, - operands, sizeof(operands), - NULL, NULL); -} - -static gboolean repeat_timeout(gpointer user_data) -{ - struct avctp *session = user_data; - struct key_pressed *key = session->key; - - avctp_passthrough_release(session, key->op); - avctp_passthrough_press(session, key->op); - - return TRUE; -} - -static void release_pressed(struct avctp *session) -{ - struct key_pressed *key = session->key; - - avctp_passthrough_release(session, key->op); - - if (key->timer > 0) - g_source_remove(key->timer); - - g_free(key); - session->key = NULL; -} - -static bool set_pressed(struct avctp *session, uint8_t op) -{ - struct key_pressed *key; - - if (session->key != NULL) { - if (session->key->op == op) - return TRUE; - release_pressed(session); - } - - if (op != AVC_FAST_FORWARD && op != AVC_REWIND) - return FALSE; - - key = g_new0(struct key_pressed, 1); - key->op = op; - key->timer = g_timeout_add_seconds(2, repeat_timeout, session); - - session->key = key; - - return TRUE; -} - -static gboolean avctp_passthrough_rsp(struct avctp *session, uint8_t code, - uint8_t subunit, uint8_t *operands, - size_t operand_count, void *user_data) -{ - if (code != AVC_CTYPE_ACCEPTED) - return FALSE; - - if (set_pressed(session, operands[0])) - return FALSE; - - avctp_passthrough_release(session, operands[0]); - - return FALSE; -} - -int avctp_send_passthrough(struct avctp *session, uint8_t op) -{ - /* Auto release if key pressed */ - if (session->key != NULL) - release_pressed(session); - - return avctp_passthrough_press(session, op); -} - -int avctp_send_vendordep(struct avctp *session, uint8_t transaction, - uint8_t code, uint8_t subunit, - uint8_t *operands, size_t operand_count) -{ - struct avctp_channel *control = session->control; - - if (control == NULL) - return -ENOTCONN; - - return avctp_send(control, transaction, AVCTP_RESPONSE, code, subunit, - AVC_OP_VENDORDEP, operands, operand_count); -} - -int avctp_send_vendordep_req(struct avctp *session, uint8_t code, - uint8_t subunit, uint8_t *operands, - size_t operand_count, - avctp_rsp_cb func, void *user_data) -{ - return avctp_send_req(session, code, subunit, AVC_OP_VENDORDEP, - operands, operand_count, - func, user_data); -} - -unsigned int avctp_add_state_cb(struct audio_device *dev, avctp_state_cb cb) -{ - struct avctp_state_callback *state_cb; - static unsigned int id = 0; - - state_cb = g_new(struct avctp_state_callback, 1); - state_cb->cb = cb; - state_cb->dev = dev; - state_cb->id = ++id; - - callbacks = g_slist_append(callbacks, state_cb); - - return state_cb->id; -} - -gboolean avctp_remove_state_cb(unsigned int id) -{ - GSList *l; - - for (l = callbacks; l != NULL; l = l->next) { - struct avctp_state_callback *cb = l->data; - if (cb && cb->id == id) { - callbacks = g_slist_remove(callbacks, cb); - g_free(cb); - return TRUE; - } - } - - return FALSE; -} - -unsigned int avctp_register_pdu_handler(struct avctp *session, uint8_t opcode, - avctp_control_pdu_cb cb, - void *user_data) -{ - struct avctp_channel *control = session->control; - struct avctp_pdu_handler *handler; - static unsigned int id = 0; - - if (control == NULL) - return 0; - - handler = find_handler(control->handlers, opcode); - if (handler) - return 0; - - handler = g_new(struct avctp_pdu_handler, 1); - handler->opcode = opcode; - handler->cb = cb; - handler->user_data = user_data; - handler->id = ++id; - - control->handlers = g_slist_append(control->handlers, handler); - - return handler->id; -} - -unsigned int avctp_register_browsing_pdu_handler(struct avctp *session, - avctp_browsing_pdu_cb cb, - void *user_data, - GDestroyNotify destroy) -{ - struct avctp_channel *browsing = session->browsing; - struct avctp_browsing_pdu_handler *handler; - static unsigned int id = 0; - - if (browsing == NULL) - return 0; - - if (browsing->handlers != NULL) - return 0; - - handler = g_new(struct avctp_browsing_pdu_handler, 1); - handler->cb = cb; - handler->user_data = user_data; - handler->id = ++id; - handler->destroy = destroy; - - browsing->handlers = g_slist_append(browsing->handlers, handler); - - return handler->id; -} - -gboolean avctp_unregister_pdu_handler(unsigned int id) -{ - GSList *l; - - for (l = servers; l; l = l->next) { - struct avctp_server *server = l->data; - GSList *s; - - for (s = server->sessions; s; s = s->next) { - struct avctp *session = s->data; - struct avctp_channel *control = session->control; - GSList *h; - - if (control == NULL) - continue; - - for (h = control->handlers; h; h = h->next) { - struct avctp_pdu_handler *handler = h->data; - - if (handler->id != id) - continue; - - control->handlers = g_slist_remove( - control->handlers, - handler); - g_free(handler); - return TRUE; - } - } - } - - return FALSE; -} - -gboolean avctp_unregister_browsing_pdu_handler(unsigned int id) -{ - GSList *l; - - for (l = servers; l; l = l->next) { - struct avctp_server *server = l->data; - GSList *s; - - for (s = server->sessions; s; s = s->next) { - struct avctp *session = s->data; - struct avctp_channel *browsing = session->browsing; - GSList *h; - - if (browsing == NULL) - continue; - - for (h = browsing->handlers; h; h = h->next) { - struct avctp_browsing_pdu_handler *handler = - h->data; - - if (handler->id != id) - continue; - - browsing->handlers = g_slist_remove( - browsing->handlers, - handler); - g_free(handler); - return TRUE; - } - } - } - - return FALSE; -} - -struct avctp *avctp_connect(struct audio_device *device) -{ - struct avctp *session; - GError *err = NULL; - GIOChannel *io; - - session = avctp_get_internal(device->btd_dev); - if (!session) - return NULL; - - if (session->state > AVCTP_STATE_DISCONNECTED) - return session; - - avctp_set_state(session, AVCTP_STATE_CONNECTING); - - io = bt_io_connect(avctp_connect_cb, session, NULL, &err, - BT_IO_OPT_SOURCE_BDADDR, - adapter_get_address(session->server->adapter), - BT_IO_OPT_DEST_BDADDR, - device_get_address(session->device), - BT_IO_OPT_SEC_LEVEL, BT_IO_SEC_MEDIUM, - BT_IO_OPT_PSM, AVCTP_CONTROL_PSM, - BT_IO_OPT_INVALID); - if (err) { - avctp_set_state(session, AVCTP_STATE_DISCONNECTED); - error("%s", err->message); - g_error_free(err); - return NULL; - } - - session->control = avctp_channel_create(session, io, NULL); - g_io_channel_unref(io); - - return session; -} - -int avctp_connect_browsing(struct avctp *session) -{ - GError *err = NULL; - GIOChannel *io; - - if (session->state != AVCTP_STATE_CONNECTED) - return -ENOTCONN; - - if (session->browsing != NULL) - return 0; - - avctp_set_state(session, AVCTP_STATE_BROWSING_CONNECTING); - - io = bt_io_connect(avctp_connect_browsing_cb, session, NULL, &err, - BT_IO_OPT_SOURCE_BDADDR, - adapter_get_address(session->server->adapter), - BT_IO_OPT_DEST_BDADDR, - device_get_address(session->device), - BT_IO_OPT_SEC_LEVEL, BT_IO_SEC_MEDIUM, - BT_IO_OPT_PSM, AVCTP_BROWSING_PSM, - BT_IO_OPT_MODE, L2CAP_MODE_ERTM, - BT_IO_OPT_INVALID); - if (err) { - error("%s", err->message); - g_error_free(err); - return -EIO; - } - - session->browsing = avctp_channel_create(session, io, - avctp_destroy_browsing); - g_io_channel_unref(io); - - return 0; -} - -void avctp_disconnect(struct avctp *session) -{ - if (session->state == AVCTP_STATE_DISCONNECTED) - return; - - avctp_set_state(session, AVCTP_STATE_DISCONNECTED); -} - -struct avctp *avctp_get(struct audio_device *device) -{ - return avctp_get_internal(device->btd_dev); -} diff --git a/GRIB_BLE_HUB/libs/ble_extend/profiles/audio/avctp.h b/GRIB_BLE_HUB/libs/ble_extend/profiles/audio/avctp.h deleted file mode 100644 index 648e982..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/profiles/audio/avctp.h +++ /dev/null @@ -1,144 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2006-2010 Nokia Corporation - * Copyright (C) 2004-2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#define AVCTP_CONTROL_PSM 23 -#define AVCTP_BROWSING_PSM 27 - -#define AVC_MTU 512 -#define AVC_HEADER_LENGTH 3 - -/* ctype entries */ -#define AVC_CTYPE_CONTROL 0x0 -#define AVC_CTYPE_STATUS 0x1 -#define AVC_CTYPE_NOTIFY 0x3 -#define AVC_CTYPE_NOT_IMPLEMENTED 0x8 -#define AVC_CTYPE_ACCEPTED 0x9 -#define AVC_CTYPE_REJECTED 0xA -#define AVC_CTYPE_STABLE 0xC -#define AVC_CTYPE_CHANGED 0xD -#define AVC_CTYPE_INTERIM 0xF - -/* opcodes */ -#define AVC_OP_VENDORDEP 0x00 -#define AVC_OP_UNITINFO 0x30 -#define AVC_OP_SUBUNITINFO 0x31 -#define AVC_OP_PASSTHROUGH 0x7c - -/* subunits of interest */ -#define AVC_SUBUNIT_PANEL 0x09 - -/* operands in passthrough commands */ -#define AVC_SELECT 0x00 -#define AVC_UP 0x01 -#define AVC_DOWN 0x02 -#define AVC_LEFT 0x03 -#define AVC_RIGHT 0x04 -#define AVC_ROOT_MENU 0x09 -#define AVC_CONTENTS_MENU 0x0b -#define AVC_FAVORITE_MENU 0x0c -#define AVC_ENTER 0x2b -#define AVC_CHANNEL_UP 0x30 -#define AVC_CHANNEL_DOWN 0x31 -#define AVC_INPUT_SELECT 0x34 -#define AVC_HELP 0x36 -#define AVC_POWER 0x40 -#define AVC_VOLUME_UP 0x41 -#define AVC_VOLUME_DOWN 0x42 -#define AVC_MUTE 0x43 -#define AVC_PLAY 0x44 -#define AVC_STOP 0x45 -#define AVC_PAUSE 0x46 -#define AVC_RECORD 0x47 -#define AVC_REWIND 0x48 -#define AVC_FAST_FORWARD 0x49 -#define AVC_EJECT 0x4a -#define AVC_FORWARD 0x4b -#define AVC_BACKWARD 0x4c -#define AVC_F1 0x71 -#define AVC_F2 0x72 -#define AVC_F3 0x73 -#define AVC_F4 0x74 - -struct avctp; - -typedef enum { - AVCTP_STATE_DISCONNECTED = 0, - AVCTP_STATE_CONNECTING, - AVCTP_STATE_CONNECTED, - AVCTP_STATE_BROWSING_CONNECTING, - AVCTP_STATE_BROWSING_CONNECTED -} avctp_state_t; - -typedef void (*avctp_state_cb) (struct audio_device *dev, - avctp_state_t old_state, - avctp_state_t new_state); - -typedef size_t (*avctp_control_pdu_cb) (struct avctp *session, - uint8_t transaction, uint8_t *code, - uint8_t *subunit, uint8_t *operands, - size_t operand_count, void *user_data); -typedef gboolean (*avctp_rsp_cb) (struct avctp *session, uint8_t code, - uint8_t subunit, uint8_t *operands, - size_t operand_count, void *user_data); -typedef gboolean (*avctp_browsing_rsp_cb) (struct avctp *session, - uint8_t *operands, size_t operand_count, - void *user_data); -typedef size_t (*avctp_browsing_pdu_cb) (struct avctp *session, - uint8_t transaction, - uint8_t *operands, size_t operand_count, - void *user_data); - -unsigned int avctp_add_state_cb(struct audio_device *dev, avctp_state_cb cb); -gboolean avctp_remove_state_cb(unsigned int id); - -int avctp_register(struct btd_adapter *adapter, gboolean master); -void avctp_unregister(struct btd_adapter *adapter); - -struct avctp *avctp_connect(struct audio_device *device); -struct avctp *avctp_get(struct audio_device *device); -int avctp_connect_browsing(struct avctp *session); -void avctp_disconnect(struct avctp *session); - -unsigned int avctp_register_pdu_handler(struct avctp *session, uint8_t opcode, - avctp_control_pdu_cb cb, - void *user_data); -gboolean avctp_unregister_pdu_handler(unsigned int id); - -unsigned int avctp_register_browsing_pdu_handler(struct avctp *session, - avctp_browsing_pdu_cb cb, - void *user_data, - GDestroyNotify destroy); -gboolean avctp_unregister_browsing_pdu_handler(unsigned int id); - -int avctp_send_passthrough(struct avctp *session, uint8_t op); -int avctp_send_vendordep(struct avctp *session, uint8_t transaction, - uint8_t code, uint8_t subunit, - uint8_t *operands, size_t operand_count); -int avctp_send_vendordep_req(struct avctp *session, uint8_t code, - uint8_t subunit, uint8_t *operands, - size_t operand_count, - avctp_rsp_cb func, void *user_data); -int avctp_send_browsing_req(struct avctp *session, - uint8_t *operands, size_t operand_count, - avctp_browsing_rsp_cb func, void *user_data); diff --git a/GRIB_BLE_HUB/libs/ble_extend/profiles/audio/avdtp.c b/GRIB_BLE_HUB/libs/ble_extend/profiles/audio/avdtp.c deleted file mode 100644 index bd73572..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/profiles/audio/avdtp.c +++ /dev/null @@ -1,3955 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2006-2010 Nokia Corporation - * Copyright (C) 2004-2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include - -#include -#include -#include - -#include "log.h" - -#include "lib/uuid.h" -#include "../src/adapter.h" -#include "../src/device.h" - -#include "device.h" -#include "manager.h" -#include "control.h" -#include "avdtp.h" -#include "sink.h" -#include "source.h" - -#define AVDTP_PSM 25 - -#define MAX_SEID 0x3E - -#ifndef MAX -# define MAX(x, y) ((x) > (y) ? (x) : (y)) -#endif - -#define AVDTP_DISCOVER 0x01 -#define AVDTP_GET_CAPABILITIES 0x02 -#define AVDTP_SET_CONFIGURATION 0x03 -#define AVDTP_GET_CONFIGURATION 0x04 -#define AVDTP_RECONFIGURE 0x05 -#define AVDTP_OPEN 0x06 -#define AVDTP_START 0x07 -#define AVDTP_CLOSE 0x08 -#define AVDTP_SUSPEND 0x09 -#define AVDTP_ABORT 0x0A -#define AVDTP_SECURITY_CONTROL 0x0B -#define AVDTP_GET_ALL_CAPABILITIES 0x0C -#define AVDTP_DELAY_REPORT 0x0D - -#define AVDTP_PKT_TYPE_SINGLE 0x00 -#define AVDTP_PKT_TYPE_START 0x01 -#define AVDTP_PKT_TYPE_CONTINUE 0x02 -#define AVDTP_PKT_TYPE_END 0x03 - -#define AVDTP_MSG_TYPE_COMMAND 0x00 -#define AVDTP_MSG_TYPE_GEN_REJECT 0x01 -#define AVDTP_MSG_TYPE_ACCEPT 0x02 -#define AVDTP_MSG_TYPE_REJECT 0x03 - -#define REQ_TIMEOUT 6 -#define ABORT_TIMEOUT 2 -#define DISCONNECT_TIMEOUT 1 -#define STREAM_TIMEOUT 20 -#define START_TIMEOUT 1 - -#if __BYTE_ORDER == __LITTLE_ENDIAN - -struct avdtp_common_header { - uint8_t message_type:2; - uint8_t packet_type:2; - uint8_t transaction:4; -} __attribute__ ((packed)); - -struct avdtp_single_header { - uint8_t message_type:2; - uint8_t packet_type:2; - uint8_t transaction:4; - uint8_t signal_id:6; - uint8_t rfa0:2; -} __attribute__ ((packed)); - -struct avdtp_start_header { - uint8_t message_type:2; - uint8_t packet_type:2; - uint8_t transaction:4; - uint8_t no_of_packets; - uint8_t signal_id:6; - uint8_t rfa0:2; -} __attribute__ ((packed)); - -struct avdtp_continue_header { - uint8_t message_type:2; - uint8_t packet_type:2; - uint8_t transaction:4; -} __attribute__ ((packed)); - -struct seid_info { - uint8_t rfa0:1; - uint8_t inuse:1; - uint8_t seid:6; - uint8_t rfa2:3; - uint8_t type:1; - uint8_t media_type:4; -} __attribute__ ((packed)); - -struct seid { - uint8_t rfa0:2; - uint8_t seid:6; -} __attribute__ ((packed)); - -#elif __BYTE_ORDER == __BIG_ENDIAN - -struct avdtp_common_header { - uint8_t transaction:4; - uint8_t packet_type:2; - uint8_t message_type:2; -} __attribute__ ((packed)); - -struct avdtp_single_header { - uint8_t transaction:4; - uint8_t packet_type:2; - uint8_t message_type:2; - uint8_t rfa0:2; - uint8_t signal_id:6; -} __attribute__ ((packed)); - -struct avdtp_start_header { - uint8_t transaction:4; - uint8_t packet_type:2; - uint8_t message_type:2; - uint8_t no_of_packets; - uint8_t rfa0:2; - uint8_t signal_id:6; -} __attribute__ ((packed)); - -struct avdtp_continue_header { - uint8_t transaction:4; - uint8_t packet_type:2; - uint8_t message_type:2; -} __attribute__ ((packed)); - -struct seid_info { - uint8_t seid:6; - uint8_t inuse:1; - uint8_t rfa0:1; - uint8_t media_type:4; - uint8_t type:1; - uint8_t rfa2:3; -} __attribute__ ((packed)); - -struct seid { - uint8_t seid:6; - uint8_t rfa0:2; -} __attribute__ ((packed)); - -#else -#error "Unknown byte order" -#endif - -/* packets */ - -struct discover_resp { - struct seid_info seps[0]; -} __attribute__ ((packed)); - -struct getcap_resp { - uint8_t caps[0]; -} __attribute__ ((packed)); - -struct start_req { - struct seid first_seid; - struct seid other_seids[0]; -} __attribute__ ((packed)); - -struct suspend_req { - struct seid first_seid; - struct seid other_seids[0]; -} __attribute__ ((packed)); - -struct seid_rej { - uint8_t error; -} __attribute__ ((packed)); - -struct conf_rej { - uint8_t category; - uint8_t error; -} __attribute__ ((packed)); - -#if __BYTE_ORDER == __LITTLE_ENDIAN - -struct seid_req { - uint8_t rfa0:2; - uint8_t acp_seid:6; -} __attribute__ ((packed)); - -struct setconf_req { - uint8_t rfa0:2; - uint8_t acp_seid:6; - uint8_t rfa1:2; - uint8_t int_seid:6; - - uint8_t caps[0]; -} __attribute__ ((packed)); - -struct stream_rej { - uint8_t rfa0:2; - uint8_t acp_seid:6; - uint8_t error; -} __attribute__ ((packed)); - -struct reconf_req { - uint8_t rfa0:2; - uint8_t acp_seid:6; - - uint8_t serv_cap; - uint8_t serv_cap_len; - - uint8_t caps[0]; -} __attribute__ ((packed)); - -struct delay_req { - uint8_t rfa0:2; - uint8_t acp_seid:6; - uint16_t delay; -} __attribute__ ((packed)); - -#elif __BYTE_ORDER == __BIG_ENDIAN - -struct seid_req { - uint8_t acp_seid:6; - uint8_t rfa0:2; -} __attribute__ ((packed)); - -struct setconf_req { - uint8_t acp_seid:6; - uint8_t rfa0:2; - uint8_t int_seid:6; - uint8_t rfa1:2; - - uint8_t caps[0]; -} __attribute__ ((packed)); - -struct stream_rej { - uint8_t acp_seid:6; - uint8_t rfa0:2; - uint8_t error; -} __attribute__ ((packed)); - -struct reconf_req { - uint8_t acp_seid:6; - uint8_t rfa0:2; - - uint8_t serv_cap; - uint8_t serv_cap_len; - - uint8_t caps[0]; -} __attribute__ ((packed)); - -struct delay_req { - uint8_t acp_seid:6; - uint8_t rfa0:2; - uint16_t delay; -} __attribute__ ((packed)); - -#else -#error "Unknown byte order" -#endif - -struct in_buf { - gboolean active; - int no_of_packets; - uint8_t transaction; - uint8_t message_type; - uint8_t signal_id; - uint8_t buf[1024]; - uint8_t data_size; -}; - -struct pending_req { - uint8_t transaction; - uint8_t signal_id; - void *data; - size_t data_size; - struct avdtp_stream *stream; /* Set if the request targeted a stream */ - guint timeout; - gboolean collided; -}; - -struct avdtp_remote_sep { - uint8_t seid; - uint8_t type; - uint8_t media_type; - struct avdtp_service_capability *codec; - gboolean delay_reporting; - GSList *caps; /* of type struct avdtp_service_capability */ - struct avdtp_stream *stream; -}; - -struct avdtp_server { - struct btd_adapter *adapter; - GIOChannel *io; - GSList *seps; - GSList *sessions; -}; - -struct avdtp_local_sep { - avdtp_state_t state; - struct avdtp_stream *stream; - struct seid_info info; - uint8_t codec; - gboolean delay_reporting; - GSList *caps; - struct avdtp_sep_ind *ind; - struct avdtp_sep_cfm *cfm; - void *user_data; - struct avdtp_server *server; -}; - -struct stream_callback { - avdtp_stream_state_cb cb; - void *user_data; - unsigned int id; -}; - -struct avdtp_state_callback { - avdtp_session_state_cb cb; - struct audio_device *dev; - unsigned int id; -}; - -struct avdtp_stream { - GIOChannel *io; - uint16_t imtu; - uint16_t omtu; - struct avdtp *session; - struct avdtp_local_sep *lsep; - uint8_t rseid; - GSList *caps; - GSList *callbacks; - struct avdtp_service_capability *codec; - guint io_id; /* Transport GSource ID */ - guint timer; /* Waiting for other side to close or open - * the transport channel */ - gboolean open_acp; /* If we are in ACT role for Open */ - gboolean close_int; /* If we are in INT role for Close */ - gboolean abort_int; /* If we are in INT role for Abort */ - guint start_timer; /* Wait START command timer */ - gboolean delay_reporting; - uint16_t delay; /* AVDTP 1.3 Delay Reporting feature */ - gboolean starting; /* only valid while sep state == OPEN */ -}; - -/* Structure describing an AVDTP connection between two devices */ - -struct avdtp { - unsigned int ref; - - uint16_t version; - - struct avdtp_server *server; - struct btd_device *device; - - avdtp_session_state_t state; - - /* True if the entire device is being disconnected */ - gboolean device_disconnect; - - guint auth_id; - - GIOChannel *io; - guint io_id; - - GSList *seps; /* Elements of type struct avdtp_remote_sep * */ - - GSList *streams; /* Elements of type struct avdtp_stream * */ - - GSList *req_queue; /* Elements of type struct pending_req * */ - GSList *prio_queue; /* Same as req_queue but is processed before it */ - - struct avdtp_stream *pending_open; - - uint16_t imtu; - uint16_t omtu; - - struct in_buf in; - - char *buf; - - avdtp_discover_cb_t discov_cb; - void *user_data; - - struct pending_req *req; - - guint dc_timer; - - /* Attempt stream setup instead of disconnecting */ - gboolean stream_setup; - - DBusPendingCall *pending_auth; -}; - -static GSList *servers = NULL; - -static GSList *avdtp_callbacks = NULL; - -static int send_request(struct avdtp *session, gboolean priority, - struct avdtp_stream *stream, uint8_t signal_id, - void *buffer, size_t size); -static gboolean avdtp_parse_resp(struct avdtp *session, - struct avdtp_stream *stream, - uint8_t transaction, uint8_t signal_id, - void *buf, int size); -static gboolean avdtp_parse_rej(struct avdtp *session, - struct avdtp_stream *stream, - uint8_t transaction, uint8_t signal_id, - void *buf, int size); -static int process_queue(struct avdtp *session); -static void connection_lost(struct avdtp *session, int err); -static void avdtp_sep_set_state(struct avdtp *session, - struct avdtp_local_sep *sep, - avdtp_state_t state); -static void auth_cb(DBusError *derr, void *user_data); - -static struct avdtp_server *find_server(GSList *list, struct btd_adapter *a) -{ - for (; list; list = list->next) { - struct avdtp_server *server = list->data; - - if (server->adapter == a) - return server; - } - - return NULL; -} - -static const char *avdtp_statestr(avdtp_state_t state) -{ - switch (state) { - case AVDTP_STATE_IDLE: - return "IDLE"; - case AVDTP_STATE_CONFIGURED: - return "CONFIGURED"; - case AVDTP_STATE_OPEN: - return "OPEN"; - case AVDTP_STATE_STREAMING: - return "STREAMING"; - case AVDTP_STATE_CLOSING: - return "CLOSING"; - case AVDTP_STATE_ABORTING: - return "ABORTING"; - default: - return ""; - } -} - -static gboolean try_send(int sk, void *data, size_t len) -{ - int err; - - do { - err = send(sk, data, len, 0); - } while (err < 0 && errno == EINTR); - - if (err < 0) { - error("send: %s (%d)", strerror(errno), errno); - return FALSE; - } else if ((size_t) err != len) { - error("try_send: complete buffer not sent (%d/%zu bytes)", - err, len); - return FALSE; - } - - return TRUE; -} - -static gboolean avdtp_send(struct avdtp *session, uint8_t transaction, - uint8_t message_type, uint8_t signal_id, - void *data, size_t len) -{ - unsigned int cont_fragments, sent; - struct avdtp_start_header start; - struct avdtp_continue_header cont; - int sock; - - if (session->io == NULL) { - error("avdtp_send: session is closed"); - return FALSE; - } - - sock = g_io_channel_unix_get_fd(session->io); - - /* Single packet - no fragmentation */ - if (sizeof(struct avdtp_single_header) + len <= session->omtu) { - struct avdtp_single_header single; - - memset(&single, 0, sizeof(single)); - - single.transaction = transaction; - single.packet_type = AVDTP_PKT_TYPE_SINGLE; - single.message_type = message_type; - single.signal_id = signal_id; - - memcpy(session->buf, &single, sizeof(single)); - memcpy(session->buf + sizeof(single), data, len); - - return try_send(sock, session->buf, sizeof(single) + len); - } - - /* Check if there is enough space to start packet */ - if (session->omtu < sizeof(start)) { - error("No enough space to fragment packet"); - return FALSE; - } - - /* Count the number of needed fragments */ - cont_fragments = (len - (session->omtu - sizeof(start))) / - (session->omtu - sizeof(cont)) + 1; - - DBG("%zu bytes split into %d fragments", len, cont_fragments + 1); - - /* Send the start packet */ - memset(&start, 0, sizeof(start)); - start.transaction = transaction; - start.packet_type = AVDTP_PKT_TYPE_START; - start.message_type = message_type; - start.no_of_packets = cont_fragments + 1; - start.signal_id = signal_id; - - memcpy(session->buf, &start, sizeof(start)); - memcpy(session->buf + sizeof(start), data, - session->omtu - sizeof(start)); - - if (!try_send(sock, session->buf, session->omtu)) - return FALSE; - - DBG("first packet with %zu bytes sent", session->omtu - sizeof(start)); - - sent = session->omtu - sizeof(start); - - /* Send the continue fragments and the end packet */ - while (sent < len) { - int left, to_copy; - - left = len - sent; - if (left + sizeof(cont) > session->omtu) { - cont.packet_type = AVDTP_PKT_TYPE_CONTINUE; - to_copy = session->omtu - sizeof(cont); - DBG("sending continue with %d bytes", to_copy); - } else { - cont.packet_type = AVDTP_PKT_TYPE_END; - to_copy = left; - DBG("sending end with %d bytes", to_copy); - } - - cont.transaction = transaction; - cont.message_type = message_type; - - memcpy(session->buf, &cont, sizeof(cont)); - memcpy(session->buf + sizeof(cont), data + sent, to_copy); - - if (!try_send(sock, session->buf, to_copy + sizeof(cont))) - return FALSE; - - sent += to_copy; - } - - return TRUE; -} - -static void pending_req_free(void *data) -{ - struct pending_req *req = data; - - if (req->timeout) - g_source_remove(req->timeout); - g_free(req->data); - g_free(req); -} - -static void close_stream(struct avdtp_stream *stream) -{ - int sock; - - if (stream->io == NULL) - return; - - sock = g_io_channel_unix_get_fd(stream->io); - - shutdown(sock, SHUT_RDWR); - - g_io_channel_shutdown(stream->io, FALSE, NULL); - - g_io_channel_unref(stream->io); - stream->io = NULL; -} - -static gboolean stream_close_timeout(gpointer user_data) -{ - struct avdtp_stream *stream = user_data; - - DBG("Timed out waiting for peer to close the transport channel"); - - stream->timer = 0; - - close_stream(stream); - - return FALSE; -} - -static gboolean stream_open_timeout(gpointer user_data) -{ - struct avdtp_stream *stream = user_data; - - DBG("Timed out waiting for peer to open the transport channel"); - - stream->timer = 0; - - stream->session->pending_open = NULL; - - avdtp_abort(stream->session, stream); - - return FALSE; -} - -void avdtp_error_init(struct avdtp_error *err, uint8_t category, int id) -{ - err->category = category; - - if (category == AVDTP_ERRNO) - err->err.posix_errno = id; - else - err->err.error_code = id; -} - -uint8_t avdtp_error_category(struct avdtp_error *err) -{ - return err->category; -} - -int avdtp_error_error_code(struct avdtp_error *err) -{ - assert(err->category != AVDTP_ERRNO); - return err->err.error_code; -} - -int avdtp_error_posix_errno(struct avdtp_error *err) -{ - assert(err->category == AVDTP_ERRNO); - return err->err.posix_errno; -} - -static struct avdtp_stream *find_stream_by_rseid(struct avdtp *session, - uint8_t rseid) -{ - GSList *l; - - for (l = session->streams; l != NULL; l = g_slist_next(l)) { - struct avdtp_stream *stream = l->data; - - if (stream->rseid == rseid) - return stream; - } - - return NULL; -} - -static struct avdtp_remote_sep *find_remote_sep(GSList *seps, uint8_t seid) -{ - GSList *l; - - for (l = seps; l != NULL; l = g_slist_next(l)) { - struct avdtp_remote_sep *sep = l->data; - - if (sep->seid == seid) - return sep; - } - - return NULL; -} - -static void avdtp_set_state(struct avdtp *session, - avdtp_session_state_t new_state) -{ - GSList *l; - struct audio_device *dev; - avdtp_session_state_t old_state = session->state; - - session->state = new_state; - - dev = manager_get_audio_device(avdtp_get_device(session), FALSE); - if (dev == NULL) { - error("%s(): No matching audio device", __func__); - return; - } - - for (l = avdtp_callbacks; l != NULL; l = l->next) { - struct avdtp_state_callback *cb = l->data; - - if (dev != cb->dev) - continue; - - cb->cb(dev, session, old_state, new_state); - } -} - -static void stream_free(void *data) -{ - struct avdtp_stream *stream = data; - struct avdtp_remote_sep *rsep; - - stream->lsep->info.inuse = 0; - stream->lsep->stream = NULL; - - rsep = find_remote_sep(stream->session->seps, stream->rseid); - if (rsep) - rsep->stream = NULL; - - if (stream->timer) - g_source_remove(stream->timer); - - if (stream->io) - close_stream(stream); - - if (stream->io_id) - g_source_remove(stream->io_id); - - g_slist_free_full(stream->callbacks, g_free); - g_slist_free_full(stream->caps, g_free); - - g_free(stream); -} - -static gboolean transport_cb(GIOChannel *chan, GIOCondition cond, - gpointer data) -{ - struct avdtp_stream *stream = data; - struct avdtp_local_sep *sep = stream->lsep; - - if (stream->close_int && sep->cfm && sep->cfm->close) - sep->cfm->close(stream->session, sep, stream, NULL, - sep->user_data); - - if (!(cond & G_IO_NVAL)) - close_stream(stream); - - stream->io_id = 0; - - if (!stream->abort_int) - avdtp_sep_set_state(stream->session, sep, AVDTP_STATE_IDLE); - - return FALSE; -} - -static int get_send_buffer_size(int sk) -{ - int size; - socklen_t optlen = sizeof(size); - - if (getsockopt(sk, SOL_SOCKET, SO_SNDBUF, &size, &optlen) < 0) { - int err = -errno; - error("getsockopt(SO_SNDBUF) failed: %s (%d)", strerror(-err), - -err); - return err; - } - - /* - * Doubled value is returned by getsockopt since kernel uses that - * space for its own purposes (see man 7 socket, bookkeeping overhead - * for SO_SNDBUF). - */ - return size / 2; -} - -static int set_send_buffer_size(int sk, int size) -{ - socklen_t optlen = sizeof(size); - - if (setsockopt(sk, SOL_SOCKET, SO_SNDBUF, &size, optlen) < 0) { - int err = -errno; - error("setsockopt(SO_SNDBUF) failed: %s (%d)", strerror(-err), - -err); - return err; - } - - return 0; -} - -static void handle_transport_connect(struct avdtp *session, GIOChannel *io, - uint16_t imtu, uint16_t omtu) -{ - struct avdtp_stream *stream = session->pending_open; - struct avdtp_local_sep *sep = stream->lsep; - int sk, buf_size, min_buf_size; - GError *err = NULL; - - session->pending_open = NULL; - - if (stream->timer) { - g_source_remove(stream->timer); - stream->timer = 0; - } - - if (io == NULL) { - if (!stream->open_acp && sep->cfm && sep->cfm->open) { - struct avdtp_error err; - avdtp_error_init(&err, AVDTP_ERRNO, EIO); - sep->cfm->open(session, sep, NULL, &err, - sep->user_data); - } - return; - } - - if (stream->io == NULL) - stream->io = g_io_channel_ref(io); - - stream->omtu = omtu; - stream->imtu = imtu; - - /* Apply special settings only if local SEP is of type SRC */ - if (sep->info.type != AVDTP_SEP_TYPE_SOURCE) - goto proceed; - - bt_io_set(stream->io, &err, BT_IO_OPT_FLUSHABLE, TRUE, - BT_IO_OPT_INVALID); - if (err != NULL) { - error("Enabling flushable packets failed: %s", err->message); - g_error_free(err); - } else - DBG("Flushable packets enabled"); - - sk = g_io_channel_unix_get_fd(stream->io); - buf_size = get_send_buffer_size(sk); - if (buf_size < 0) - goto proceed; - - DBG("sk %d, omtu %d, send buffer size %d", sk, omtu, buf_size); - min_buf_size = omtu * 2; - if (buf_size < min_buf_size) { - DBG("send buffer size to be increassed to %d", - min_buf_size); - set_send_buffer_size(sk, min_buf_size); - } - -proceed: - if (!stream->open_acp && sep->cfm && sep->cfm->open) - sep->cfm->open(session, sep, stream, NULL, sep->user_data); - - avdtp_sep_set_state(session, sep, AVDTP_STATE_OPEN); - - stream->io_id = g_io_add_watch(io, G_IO_ERR | G_IO_HUP | G_IO_NVAL, - (GIOFunc) transport_cb, stream); -} - -static int pending_req_cmp(gconstpointer a, gconstpointer b) -{ - const struct pending_req *req = a; - const struct avdtp_stream *stream = b; - - if (req->stream == stream) - return 0; - - return -1; -} - -static void cleanup_queue(struct avdtp *session, struct avdtp_stream *stream) -{ - GSList *l; - struct pending_req *req; - - while ((l = g_slist_find_custom(session->prio_queue, stream, - pending_req_cmp))) { - req = l->data; - pending_req_free(req); - session->prio_queue = g_slist_remove(session->prio_queue, req); - } - - while ((l = g_slist_find_custom(session->req_queue, stream, - pending_req_cmp))) { - req = l->data; - pending_req_free(req); - session->req_queue = g_slist_remove(session->req_queue, req); - } -} - -static void handle_unanswered_req(struct avdtp *session, - struct avdtp_stream *stream) -{ - struct pending_req *req; - struct avdtp_local_sep *lsep; - struct avdtp_error err; - - if (session->req->signal_id == AVDTP_ABORT) { - /* Avoid freeing the Abort request here */ - DBG("handle_unanswered_req: Abort req, returning"); - session->req->stream = NULL; - return; - } - - req = session->req; - session->req = NULL; - - avdtp_error_init(&err, AVDTP_ERRNO, EIO); - - lsep = stream->lsep; - - switch (req->signal_id) { - case AVDTP_RECONFIGURE: - error("No reply to Reconfigure request"); - if (lsep && lsep->cfm && lsep->cfm->reconfigure) - lsep->cfm->reconfigure(session, lsep, stream, &err, - lsep->user_data); - break; - case AVDTP_OPEN: - error("No reply to Open request"); - if (lsep && lsep->cfm && lsep->cfm->open) - lsep->cfm->open(session, lsep, stream, &err, - lsep->user_data); - break; - case AVDTP_START: - error("No reply to Start request"); - if (lsep && lsep->cfm && lsep->cfm->start) - lsep->cfm->start(session, lsep, stream, &err, - lsep->user_data); - break; - case AVDTP_SUSPEND: - error("No reply to Suspend request"); - if (lsep && lsep->cfm && lsep->cfm->suspend) - lsep->cfm->suspend(session, lsep, stream, &err, - lsep->user_data); - break; - case AVDTP_CLOSE: - error("No reply to Close request"); - if (lsep && lsep->cfm && lsep->cfm->close) - lsep->cfm->close(session, lsep, stream, &err, - lsep->user_data); - break; - case AVDTP_SET_CONFIGURATION: - error("No reply to SetConfiguration request"); - if (lsep && lsep->cfm && lsep->cfm->set_configuration) - lsep->cfm->set_configuration(session, lsep, stream, - &err, lsep->user_data); - } - - pending_req_free(req); -} - -static void avdtp_sep_set_state(struct avdtp *session, - struct avdtp_local_sep *sep, - avdtp_state_t state) -{ - struct avdtp_stream *stream = sep->stream; - avdtp_state_t old_state; - struct avdtp_error err, *err_ptr = NULL; - GSList *l; - - if (!stream) { - error("Error changing sep state: stream not available"); - return; - } - - if (sep->state == state) { - avdtp_error_init(&err, AVDTP_ERRNO, EIO); - DBG("stream state change failed: %s", avdtp_strerror(&err)); - err_ptr = &err; - } else { - err_ptr = NULL; - DBG("stream state changed: %s -> %s", - avdtp_statestr(sep->state), - avdtp_statestr(state)); - } - - old_state = sep->state; - sep->state = state; - - switch (state) { - case AVDTP_STATE_CONFIGURED: - if (sep->info.type == AVDTP_SEP_TYPE_SINK) - avdtp_delay_report(session, stream, stream->delay); - break; - case AVDTP_STATE_OPEN: - stream->starting = FALSE; - break; - case AVDTP_STATE_STREAMING: - if (stream->start_timer) { - g_source_remove(stream->start_timer); - stream->start_timer = 0; - } - stream->open_acp = FALSE; - break; - case AVDTP_STATE_CLOSING: - case AVDTP_STATE_ABORTING: - if (stream->start_timer) { - g_source_remove(stream->start_timer); - stream->start_timer = 0; - } - break; - case AVDTP_STATE_IDLE: - if (stream->start_timer) { - g_source_remove(stream->start_timer); - stream->start_timer = 0; - } - if (session->pending_open == stream) - handle_transport_connect(session, NULL, 0, 0); - if (session->req && session->req->stream == stream) - handle_unanswered_req(session, stream); - /* Remove pending commands for this stream from the queue */ - cleanup_queue(session, stream); - break; - default: - break; - } - - l = stream->callbacks; - while (l != NULL) { - struct stream_callback *cb = l->data; - l = g_slist_next(l); - cb->cb(stream, old_state, state, err_ptr, cb->user_data); - } - - if (state == AVDTP_STATE_IDLE && - g_slist_find(session->streams, stream)) { - session->streams = g_slist_remove(session->streams, stream); - stream_free(stream); - } -} - -static void finalize_discovery(struct avdtp *session, int err) -{ - struct avdtp_error avdtp_err; - - avdtp_error_init(&avdtp_err, AVDTP_ERRNO, err); - - if (!session->discov_cb) - return; - - session->discov_cb(session, session->seps, - err ? &avdtp_err : NULL, - session->user_data); - - session->discov_cb = NULL; - session->user_data = NULL; -} - -static void release_stream(struct avdtp_stream *stream, struct avdtp *session) -{ - struct avdtp_local_sep *sep = stream->lsep; - - if (sep->cfm && sep->cfm->abort && - (sep->state != AVDTP_STATE_ABORTING || - stream->abort_int)) - sep->cfm->abort(session, sep, stream, NULL, sep->user_data); - - avdtp_sep_set_state(session, sep, AVDTP_STATE_IDLE); -} - -static int avdtp_cancel_authorization(struct avdtp *session) -{ - int err; - - if (session->state != AVDTP_SESSION_STATE_CONNECTING) - return 0; - - if (session->auth_id == 0) - return 0; - - err = btd_cancel_authorization(session->auth_id); - if (err < 0) - return err; - - session->auth_id = 0; - - return 0; -} - -static void sep_free(gpointer data) -{ - struct avdtp_remote_sep *sep = data; - - g_slist_free_full(sep->caps, g_free); - g_free(sep); -} - -static void remove_disconnect_timer(struct avdtp *session) -{ - g_source_remove(session->dc_timer); - session->dc_timer = 0; - session->stream_setup = FALSE; -} - -static void avdtp_free(void *data) -{ - struct avdtp *session = data; - - DBG("%p", session); - - g_slist_free_full(session->streams, stream_free); - - if (session->io) { - g_io_channel_shutdown(session->io, FALSE, NULL); - g_io_channel_unref(session->io); - } - - if (session->io_id) { - g_source_remove(session->io_id); - session->io_id = 0; - } - - if (session->dc_timer) - remove_disconnect_timer(session); - - if (session->req) - pending_req_free(session->req); - - g_slist_free_full(session->req_queue, pending_req_free); - g_slist_free_full(session->prio_queue, pending_req_free); - g_slist_free_full(session->seps, sep_free); - - g_free(session->buf); - - g_free(session); -} - -static gboolean disconnect_timeout(gpointer user_data) -{ - struct avdtp *session = user_data; - struct audio_device *dev; - gboolean stream_setup; - - session->dc_timer = 0; - - stream_setup = session->stream_setup; - session->stream_setup = FALSE; - dev = manager_get_audio_device(session->device, FALSE); - - if (dev && dev->sink && stream_setup) - sink_setup_stream(dev->sink, session); - else if (dev && dev->source && stream_setup) - source_setup_stream(dev->source, session); - else - connection_lost(session, ETIMEDOUT); - - return FALSE; -} - -static void set_disconnect_timer(struct avdtp *session) -{ - if (session->dc_timer) - remove_disconnect_timer(session); - - if (session->device_disconnect) { - session->dc_timer = g_idle_add(disconnect_timeout, session); - return; - } - - session->dc_timer = g_timeout_add_seconds(DISCONNECT_TIMEOUT, - disconnect_timeout, - session); -} - -static void connection_lost(struct avdtp *session, int err) -{ - struct avdtp_server *server = session->server; - char address[18]; - - ba2str(device_get_address(session->device), address); - DBG("Disconnected from %s", address); - - if (err != EACCES) - avdtp_cancel_authorization(session); - - g_slist_foreach(session->streams, (GFunc) release_stream, session); - session->streams = NULL; - - finalize_discovery(session, err); - - avdtp_set_state(session, AVDTP_SESSION_STATE_DISCONNECTED); - - if (session->ref > 0) - return; - - server->sessions = g_slist_remove(server->sessions, session); - btd_device_unref(session->device); - avdtp_free(session); -} - -void avdtp_unref(struct avdtp *session) -{ - if (!session) - return; - - session->ref--; - - DBG("%p: ref=%d", session, session->ref); - - if (session->ref > 0) - return; - - set_disconnect_timer(session); -} - -struct avdtp *avdtp_ref(struct avdtp *session) -{ - session->ref++; - DBG("%p: ref=%d", session, session->ref); - if (session->dc_timer) - remove_disconnect_timer(session); - return session; -} - -static struct avdtp_local_sep *find_local_sep_by_seid(struct avdtp_server *server, - uint8_t seid) -{ - GSList *l; - - for (l = server->seps; l != NULL; l = g_slist_next(l)) { - struct avdtp_local_sep *sep = l->data; - - if (sep->info.seid == seid) - return sep; - } - - return NULL; -} - -struct avdtp_remote_sep *avdtp_find_remote_sep(struct avdtp *session, - struct avdtp_local_sep *lsep) -{ - GSList *l; - - if (lsep->info.inuse) - return NULL; - - for (l = session->seps; l != NULL; l = g_slist_next(l)) { - struct avdtp_remote_sep *sep = l->data; - struct avdtp_service_capability *cap; - struct avdtp_media_codec_capability *codec_data; - - /* Type must be different: source <-> sink */ - if (sep->type == lsep->info.type) - continue; - - if (sep->media_type != lsep->info.media_type) - continue; - - if (!sep->codec) - continue; - - cap = sep->codec; - codec_data = (void *) cap->data; - - if (codec_data->media_codec_type != lsep->codec) - continue; - - if (sep->stream == NULL) - return sep; - } - - return NULL; -} - -static GSList *caps_to_list(uint8_t *data, int size, - struct avdtp_service_capability **codec, - gboolean *delay_reporting) -{ - GSList *caps; - int processed; - - if (delay_reporting) - *delay_reporting = FALSE; - - for (processed = 0, caps = NULL; processed + 2 <= size;) { - struct avdtp_service_capability *cap; - uint8_t length, category; - - category = data[0]; - length = data[1]; - - if (processed + 2 + length > size) { - error("Invalid capability data in getcap resp"); - break; - } - - cap = g_malloc(sizeof(struct avdtp_service_capability) + - length); - memcpy(cap, data, 2 + length); - - processed += 2 + length; - data += 2 + length; - - caps = g_slist_append(caps, cap); - - if (category == AVDTP_MEDIA_CODEC && - length >= - sizeof(struct avdtp_media_codec_capability)) - *codec = cap; - else if (category == AVDTP_DELAY_REPORTING && delay_reporting) - *delay_reporting = TRUE; - } - - return caps; -} - -static gboolean avdtp_unknown_cmd(struct avdtp *session, uint8_t transaction, - uint8_t signal_id) -{ - return avdtp_send(session, transaction, AVDTP_MSG_TYPE_GEN_REJECT, - signal_id, NULL, 0); -} - -static gboolean avdtp_discover_cmd(struct avdtp *session, uint8_t transaction, - void *buf, int size) -{ - GSList *l; - unsigned int rsp_size, sep_count, i; - struct seid_info *seps; - gboolean ret; - - sep_count = g_slist_length(session->server->seps); - - if (sep_count == 0) { - uint8_t err = AVDTP_NOT_SUPPORTED_COMMAND; - return avdtp_send(session, transaction, AVDTP_MSG_TYPE_REJECT, - AVDTP_DISCOVER, &err, sizeof(err)); - } - - rsp_size = sep_count * sizeof(struct seid_info); - - seps = g_new0(struct seid_info, sep_count); - - for (l = session->server->seps, i = 0; l != NULL; l = l->next, i++) { - struct avdtp_local_sep *sep = l->data; - - memcpy(&seps[i], &sep->info, sizeof(struct seid_info)); - } - - ret = avdtp_send(session, transaction, AVDTP_MSG_TYPE_ACCEPT, - AVDTP_DISCOVER, seps, rsp_size); - g_free(seps); - - return ret; -} - -static gboolean avdtp_getcap_cmd(struct avdtp *session, uint8_t transaction, - struct seid_req *req, unsigned int size, - gboolean get_all) -{ - GSList *l, *caps; - struct avdtp_local_sep *sep = NULL; - unsigned int rsp_size; - uint8_t err, buf[1024], *ptr = buf; - uint8_t cmd; - - cmd = get_all ? AVDTP_GET_ALL_CAPABILITIES : AVDTP_GET_CAPABILITIES; - - if (size < sizeof(struct seid_req)) { - err = AVDTP_BAD_LENGTH; - goto failed; - } - - sep = find_local_sep_by_seid(session->server, req->acp_seid); - if (!sep) { - err = AVDTP_BAD_ACP_SEID; - goto failed; - } - - if (!sep->ind->get_capability(session, sep, get_all, &caps, - &err, sep->user_data)) - goto failed; - - for (l = caps, rsp_size = 0; l != NULL; l = g_slist_next(l)) { - struct avdtp_service_capability *cap = l->data; - - if (rsp_size + cap->length + 2 > sizeof(buf)) - break; - - memcpy(ptr, cap, cap->length + 2); - rsp_size += cap->length + 2; - ptr += cap->length + 2; - - g_free(cap); - } - - g_slist_free(caps); - - return avdtp_send(session, transaction, AVDTP_MSG_TYPE_ACCEPT, cmd, - buf, rsp_size); - -failed: - return avdtp_send(session, transaction, AVDTP_MSG_TYPE_REJECT, cmd, - &err, sizeof(err)); -} - -static void setconf_cb(struct avdtp *session, struct avdtp_stream *stream, - struct avdtp_error *err) -{ - struct conf_rej rej; - struct avdtp_local_sep *sep; - - if (err != NULL) { - rej.error = AVDTP_UNSUPPORTED_CONFIGURATION; - rej.category = err->err.error_code; - avdtp_send(session, session->in.transaction, - AVDTP_MSG_TYPE_REJECT, AVDTP_SET_CONFIGURATION, - &rej, sizeof(rej)); - return; - } - - if (!avdtp_send(session, session->in.transaction, AVDTP_MSG_TYPE_ACCEPT, - AVDTP_SET_CONFIGURATION, NULL, 0)) { - stream_free(stream); - return; - } - - sep = stream->lsep; - sep->stream = stream; - sep->info.inuse = 1; - session->streams = g_slist_append(session->streams, stream); - - avdtp_sep_set_state(session, sep, AVDTP_STATE_CONFIGURED); -} - -static gboolean avdtp_setconf_cmd(struct avdtp *session, uint8_t transaction, - struct setconf_req *req, unsigned int size) -{ - struct conf_rej rej; - struct avdtp_local_sep *sep; - struct avdtp_stream *stream; - uint8_t err, category = 0x00; - struct audio_device *dev; - GSList *l; - - if (size < sizeof(struct setconf_req)) { - error("Too short getcap request"); - return FALSE; - } - - sep = find_local_sep_by_seid(session->server, req->acp_seid); - if (!sep) { - err = AVDTP_BAD_ACP_SEID; - goto failed; - } - - if (sep->stream) { - err = AVDTP_SEP_IN_USE; - goto failed; - } - - dev = manager_get_audio_device(avdtp_get_device(session), FALSE); - if (!dev) { - error("Unable to get a audio device object"); - err = AVDTP_BAD_STATE; - goto failed; - } - - switch (sep->info.type) { - case AVDTP_SEP_TYPE_SOURCE: - if (!dev->sink) { - btd_device_add_uuid(dev->btd_dev, A2DP_SINK_UUID); - if (!dev->sink) { - error("Unable to get a audio sink object"); - err = AVDTP_BAD_STATE; - goto failed; - } - } - break; - case AVDTP_SEP_TYPE_SINK: - if (!dev->source) { - btd_device_add_uuid(dev->btd_dev, A2DP_SOURCE_UUID); - if (!dev->source) { - error("Unable to get a audio source object"); - err = AVDTP_BAD_STATE; - goto failed; - } - } - break; - } - - stream = g_new0(struct avdtp_stream, 1); - stream->session = session; - stream->lsep = sep; - stream->rseid = req->int_seid; - stream->caps = caps_to_list(req->caps, - size - sizeof(struct setconf_req), - &stream->codec, - &stream->delay_reporting); - - /* Verify that the Media Transport capability's length = 0. Reject otherwise */ - for (l = stream->caps; l != NULL; l = g_slist_next(l)) { - struct avdtp_service_capability *cap = l->data; - - if (cap->category == AVDTP_MEDIA_TRANSPORT && cap->length != 0) { - err = AVDTP_BAD_MEDIA_TRANSPORT_FORMAT; - goto failed_stream; - } - } - - if (stream->delay_reporting && session->version < 0x0103) - session->version = 0x0103; - - if (sep->ind && sep->ind->set_configuration) { - if (!sep->ind->set_configuration(session, sep, stream, - stream->caps, - setconf_cb, - sep->user_data)) { - err = AVDTP_UNSUPPORTED_CONFIGURATION; - category = 0x00; - goto failed_stream; - } - } else { - if (!avdtp_send(session, transaction, AVDTP_MSG_TYPE_ACCEPT, - AVDTP_SET_CONFIGURATION, NULL, 0)) { - stream_free(stream); - return FALSE; - } - - sep->stream = stream; - sep->info.inuse = 1; - session->streams = g_slist_append(session->streams, stream); - - avdtp_sep_set_state(session, sep, AVDTP_STATE_CONFIGURED); - } - - return TRUE; - -failed_stream: - stream_free(stream); -failed: - rej.error = err; - rej.category = category; - return avdtp_send(session, transaction, AVDTP_MSG_TYPE_REJECT, - AVDTP_SET_CONFIGURATION, &rej, sizeof(rej)); -} - -static gboolean avdtp_getconf_cmd(struct avdtp *session, uint8_t transaction, - struct seid_req *req, int size) -{ - GSList *l; - struct avdtp_local_sep *sep = NULL; - int rsp_size; - uint8_t err; - uint8_t buf[1024]; - uint8_t *ptr = buf; - - if (size < (int) sizeof(struct seid_req)) { - error("Too short getconf request"); - return FALSE; - } - - memset(buf, 0, sizeof(buf)); - - sep = find_local_sep_by_seid(session->server, req->acp_seid); - if (!sep) { - err = AVDTP_BAD_ACP_SEID; - goto failed; - } - if (!sep->stream || !sep->stream->caps) { - err = AVDTP_UNSUPPORTED_CONFIGURATION; - goto failed; - } - - for (l = sep->stream->caps, rsp_size = 0; l != NULL; l = g_slist_next(l)) { - struct avdtp_service_capability *cap = l->data; - - if (rsp_size + cap->length + 2 > (int) sizeof(buf)) - break; - - memcpy(ptr, cap, cap->length + 2); - rsp_size += cap->length + 2; - ptr += cap->length + 2; - } - - return avdtp_send(session, transaction, AVDTP_MSG_TYPE_ACCEPT, - AVDTP_GET_CONFIGURATION, buf, rsp_size); - -failed: - return avdtp_send(session, transaction, AVDTP_MSG_TYPE_REJECT, - AVDTP_GET_CONFIGURATION, &err, sizeof(err)); -} - -static gboolean avdtp_reconf_cmd(struct avdtp *session, uint8_t transaction, - struct seid_req *req, int size) -{ - struct conf_rej rej; - - rej.error = AVDTP_NOT_SUPPORTED_COMMAND; - rej.category = 0x00; - - return avdtp_send(session, transaction, AVDTP_MSG_TYPE_REJECT, - AVDTP_RECONFIGURE, &rej, sizeof(rej)); -} - -static void check_seid_collision(struct pending_req *req, uint8_t id) -{ - struct seid_req *seid = req->data; - - if (seid->acp_seid == id) - req->collided = TRUE; -} - -static void check_start_collision(struct pending_req *req, uint8_t id) -{ - struct start_req *start = req->data; - struct seid *seid = &start->first_seid; - int count = 1 + req->data_size - sizeof(struct start_req); - int i; - - for (i = 0; i < count; i++, seid++) { - if (seid->seid == id) { - req->collided = TRUE; - return; - } - } -} - -static void check_suspend_collision(struct pending_req *req, uint8_t id) -{ - struct suspend_req *suspend = req->data; - struct seid *seid = &suspend->first_seid; - int count = 1 + req->data_size - sizeof(struct suspend_req); - int i; - - for (i = 0; i < count; i++, seid++) { - if (seid->seid == id) { - req->collided = TRUE; - return; - } - } -} - -static void avdtp_check_collision(struct avdtp *session, uint8_t cmd, - struct avdtp_stream *stream) -{ - struct pending_req *req = session->req; - - if (req == NULL || (req->signal_id != cmd && cmd != AVDTP_ABORT)) - return; - - if (cmd == AVDTP_ABORT) - cmd = req->signal_id; - - switch (cmd) { - case AVDTP_OPEN: - case AVDTP_CLOSE: - check_seid_collision(req, stream->rseid); - break; - case AVDTP_START: - check_start_collision(req, stream->rseid); - break; - case AVDTP_SUSPEND: - check_suspend_collision(req, stream->rseid); - break; - } -} - -static gboolean avdtp_open_cmd(struct avdtp *session, uint8_t transaction, - struct seid_req *req, unsigned int size) -{ - struct avdtp_local_sep *sep; - struct avdtp_stream *stream; - uint8_t err; - - if (size < sizeof(struct seid_req)) { - error("Too short abort request"); - return FALSE; - } - - sep = find_local_sep_by_seid(session->server, req->acp_seid); - if (!sep) { - err = AVDTP_BAD_ACP_SEID; - goto failed; - } - - if (sep->state != AVDTP_STATE_CONFIGURED) { - err = AVDTP_BAD_STATE; - goto failed; - } - - stream = sep->stream; - - if (sep->ind && sep->ind->open) { - if (!sep->ind->open(session, sep, stream, &err, - sep->user_data)) - goto failed; - } - - avdtp_check_collision(session, AVDTP_OPEN, stream); - - if (!avdtp_send(session, transaction, AVDTP_MSG_TYPE_ACCEPT, - AVDTP_OPEN, NULL, 0)) - return FALSE; - - stream->open_acp = TRUE; - session->pending_open = stream; - stream->timer = g_timeout_add_seconds(REQ_TIMEOUT, - stream_open_timeout, - stream); - - return TRUE; - -failed: - return avdtp_send(session, transaction, AVDTP_MSG_TYPE_REJECT, - AVDTP_OPEN, &err, sizeof(err)); -} - -static gboolean avdtp_start_cmd(struct avdtp *session, uint8_t transaction, - struct start_req *req, unsigned int size) -{ - struct avdtp_local_sep *sep; - struct avdtp_stream *stream; - struct stream_rej rej; - struct seid *seid; - uint8_t err, failed_seid; - int seid_count, i; - - if (size < sizeof(struct start_req)) { - error("Too short start request"); - return FALSE; - } - - seid_count = 1 + size - sizeof(struct start_req); - - seid = &req->first_seid; - - for (i = 0; i < seid_count; i++, seid++) { - failed_seid = seid->seid; - - sep = find_local_sep_by_seid(session->server, - req->first_seid.seid); - if (!sep || !sep->stream) { - err = AVDTP_BAD_ACP_SEID; - goto failed; - } - - stream = sep->stream; - - /* Also reject start cmd if state is not open */ - if (sep->state != AVDTP_STATE_OPEN) { - err = AVDTP_BAD_STATE; - goto failed; - } - stream->starting = TRUE; - - if (sep->ind && sep->ind->start) { - if (!sep->ind->start(session, sep, stream, &err, - sep->user_data)) - goto failed; - } - - avdtp_check_collision(session, AVDTP_START, stream); - - avdtp_sep_set_state(session, sep, AVDTP_STATE_STREAMING); - } - - return avdtp_send(session, transaction, AVDTP_MSG_TYPE_ACCEPT, - AVDTP_START, NULL, 0); - -failed: - DBG("Rejecting (%d)", err); - memset(&rej, 0, sizeof(rej)); - rej.acp_seid = failed_seid; - rej.error = err; - return avdtp_send(session, transaction, AVDTP_MSG_TYPE_REJECT, - AVDTP_START, &rej, sizeof(rej)); -} - -static gboolean avdtp_close_cmd(struct avdtp *session, uint8_t transaction, - struct seid_req *req, unsigned int size) -{ - struct avdtp_local_sep *sep; - struct avdtp_stream *stream; - uint8_t err; - - if (size < sizeof(struct seid_req)) { - error("Too short close request"); - return FALSE; - } - - sep = find_local_sep_by_seid(session->server, req->acp_seid); - if (!sep || !sep->stream) { - err = AVDTP_BAD_ACP_SEID; - goto failed; - } - - if (sep->state != AVDTP_STATE_OPEN && - sep->state != AVDTP_STATE_STREAMING) { - err = AVDTP_BAD_STATE; - goto failed; - } - - stream = sep->stream; - - if (sep->ind && sep->ind->close) { - if (!sep->ind->close(session, sep, stream, &err, - sep->user_data)) - goto failed; - } - - avdtp_check_collision(session, AVDTP_CLOSE, stream); - - avdtp_sep_set_state(session, sep, AVDTP_STATE_CLOSING); - - if (!avdtp_send(session, transaction, AVDTP_MSG_TYPE_ACCEPT, - AVDTP_CLOSE, NULL, 0)) - return FALSE; - - stream->timer = g_timeout_add_seconds(REQ_TIMEOUT, - stream_close_timeout, - stream); - - return TRUE; - -failed: - return avdtp_send(session, transaction, AVDTP_MSG_TYPE_REJECT, - AVDTP_CLOSE, &err, sizeof(err)); -} - -static gboolean avdtp_suspend_cmd(struct avdtp *session, uint8_t transaction, - struct suspend_req *req, unsigned int size) -{ - struct avdtp_local_sep *sep; - struct avdtp_stream *stream; - struct stream_rej rej; - struct seid *seid; - uint8_t err, failed_seid; - int seid_count, i; - - if (size < sizeof(struct suspend_req)) { - error("Too short suspend request"); - return FALSE; - } - - seid_count = 1 + size - sizeof(struct suspend_req); - - seid = &req->first_seid; - - for (i = 0; i < seid_count; i++, seid++) { - failed_seid = seid->seid; - - sep = find_local_sep_by_seid(session->server, - req->first_seid.seid); - if (!sep || !sep->stream) { - err = AVDTP_BAD_ACP_SEID; - goto failed; - } - - stream = sep->stream; - - if (sep->state != AVDTP_STATE_STREAMING) { - err = AVDTP_BAD_STATE; - goto failed; - } - - if (sep->ind && sep->ind->suspend) { - if (!sep->ind->suspend(session, sep, stream, &err, - sep->user_data)) - goto failed; - } - - avdtp_check_collision(session, AVDTP_SUSPEND, stream); - - avdtp_sep_set_state(session, sep, AVDTP_STATE_OPEN); - } - - return avdtp_send(session, transaction, AVDTP_MSG_TYPE_ACCEPT, - AVDTP_SUSPEND, NULL, 0); - -failed: - memset(&rej, 0, sizeof(rej)); - rej.acp_seid = failed_seid; - rej.error = err; - return avdtp_send(session, transaction, AVDTP_MSG_TYPE_REJECT, - AVDTP_SUSPEND, &rej, sizeof(rej)); -} - -static gboolean avdtp_abort_cmd(struct avdtp *session, uint8_t transaction, - struct seid_req *req, unsigned int size) -{ - struct avdtp_local_sep *sep; - uint8_t err; - gboolean ret; - - if (size < sizeof(struct seid_req)) { - error("Too short abort request"); - return FALSE; - } - - sep = find_local_sep_by_seid(session->server, req->acp_seid); - if (!sep || !sep->stream) - return TRUE; - - if (sep->ind && sep->ind->abort) - sep->ind->abort(session, sep, sep->stream, &err, - sep->user_data); - - avdtp_check_collision(session, AVDTP_ABORT, sep->stream); - - ret = avdtp_send(session, transaction, AVDTP_MSG_TYPE_ACCEPT, - AVDTP_ABORT, NULL, 0); - if (ret) - avdtp_sep_set_state(session, sep, AVDTP_STATE_ABORTING); - - return ret; -} - -static gboolean avdtp_secctl_cmd(struct avdtp *session, uint8_t transaction, - struct seid_req *req, int size) -{ - return avdtp_unknown_cmd(session, transaction, AVDTP_SECURITY_CONTROL); -} - -static gboolean avdtp_delayreport_cmd(struct avdtp *session, - uint8_t transaction, - struct delay_req *req, - unsigned int size) -{ - struct avdtp_local_sep *sep; - struct avdtp_stream *stream; - uint8_t err; - - if (size < sizeof(struct delay_req)) { - error("Too short delay report request"); - return FALSE; - } - - sep = find_local_sep_by_seid(session->server, req->acp_seid); - if (!sep || !sep->stream) { - err = AVDTP_BAD_ACP_SEID; - goto failed; - } - - stream = sep->stream; - - if (sep->state != AVDTP_STATE_CONFIGURED && - sep->state != AVDTP_STATE_STREAMING) { - err = AVDTP_BAD_STATE; - goto failed; - } - - stream->delay = ntohs(req->delay); - - if (sep->ind && sep->ind->delayreport) { - if (!sep->ind->delayreport(session, sep, stream->rseid, - stream->delay, &err, - sep->user_data)) - goto failed; - } - - return avdtp_send(session, transaction, AVDTP_MSG_TYPE_ACCEPT, - AVDTP_DELAY_REPORT, NULL, 0); - -failed: - return avdtp_send(session, transaction, AVDTP_MSG_TYPE_REJECT, - AVDTP_DELAY_REPORT, &err, sizeof(err)); -} - -static gboolean avdtp_parse_cmd(struct avdtp *session, uint8_t transaction, - uint8_t signal_id, void *buf, int size) -{ - switch (signal_id) { - case AVDTP_DISCOVER: - DBG("Received DISCOVER_CMD"); - return avdtp_discover_cmd(session, transaction, buf, size); - case AVDTP_GET_CAPABILITIES: - DBG("Received GET_CAPABILITIES_CMD"); - return avdtp_getcap_cmd(session, transaction, buf, size, - FALSE); - case AVDTP_GET_ALL_CAPABILITIES: - DBG("Received GET_ALL_CAPABILITIES_CMD"); - return avdtp_getcap_cmd(session, transaction, buf, size, TRUE); - case AVDTP_SET_CONFIGURATION: - DBG("Received SET_CONFIGURATION_CMD"); - return avdtp_setconf_cmd(session, transaction, buf, size); - case AVDTP_GET_CONFIGURATION: - DBG("Received GET_CONFIGURATION_CMD"); - return avdtp_getconf_cmd(session, transaction, buf, size); - case AVDTP_RECONFIGURE: - DBG("Received RECONFIGURE_CMD"); - return avdtp_reconf_cmd(session, transaction, buf, size); - case AVDTP_OPEN: - DBG("Received OPEN_CMD"); - return avdtp_open_cmd(session, transaction, buf, size); - case AVDTP_START: - DBG("Received START_CMD"); - return avdtp_start_cmd(session, transaction, buf, size); - case AVDTP_CLOSE: - DBG("Received CLOSE_CMD"); - return avdtp_close_cmd(session, transaction, buf, size); - case AVDTP_SUSPEND: - DBG("Received SUSPEND_CMD"); - return avdtp_suspend_cmd(session, transaction, buf, size); - case AVDTP_ABORT: - DBG("Received ABORT_CMD"); - return avdtp_abort_cmd(session, transaction, buf, size); - case AVDTP_SECURITY_CONTROL: - DBG("Received SECURITY_CONTROL_CMD"); - return avdtp_secctl_cmd(session, transaction, buf, size); - case AVDTP_DELAY_REPORT: - DBG("Received DELAY_REPORT_CMD"); - return avdtp_delayreport_cmd(session, transaction, buf, size); - default: - DBG("Received unknown request id %u", signal_id); - return avdtp_unknown_cmd(session, transaction, signal_id); - } -} - -enum avdtp_parse_result { PARSE_ERROR, PARSE_FRAGMENT, PARSE_SUCCESS }; - -static enum avdtp_parse_result avdtp_parse_data(struct avdtp *session, - void *buf, size_t size) -{ - struct avdtp_common_header *header = buf; - struct avdtp_single_header *single = (void *) session->buf; - struct avdtp_start_header *start = (void *) session->buf; - void *payload; - gsize payload_size; - - switch (header->packet_type) { - case AVDTP_PKT_TYPE_SINGLE: - if (size < sizeof(*single)) { - error("Received too small single packet (%zu bytes)", size); - return PARSE_ERROR; - } - if (session->in.active) { - error("SINGLE: Invalid AVDTP packet fragmentation"); - return PARSE_ERROR; - } - - payload = session->buf + sizeof(*single); - payload_size = size - sizeof(*single); - - session->in.active = TRUE; - session->in.data_size = 0; - session->in.no_of_packets = 1; - session->in.transaction = header->transaction; - session->in.message_type = header->message_type; - session->in.signal_id = single->signal_id; - - break; - case AVDTP_PKT_TYPE_START: - if (size < sizeof(*start)) { - error("Received too small start packet (%zu bytes)", size); - return PARSE_ERROR; - } - if (session->in.active) { - error("START: Invalid AVDTP packet fragmentation"); - return PARSE_ERROR; - } - - session->in.active = TRUE; - session->in.data_size = 0; - session->in.transaction = header->transaction; - session->in.message_type = header->message_type; - session->in.no_of_packets = start->no_of_packets; - session->in.signal_id = start->signal_id; - - payload = session->buf + sizeof(*start); - payload_size = size - sizeof(*start); - - break; - case AVDTP_PKT_TYPE_CONTINUE: - if (size < sizeof(struct avdtp_continue_header)) { - error("Received too small continue packet (%zu bytes)", - size); - return PARSE_ERROR; - } - if (!session->in.active) { - error("CONTINUE: Invalid AVDTP packet fragmentation"); - return PARSE_ERROR; - } - if (session->in.transaction != header->transaction) { - error("Continue transaction id doesn't match"); - return PARSE_ERROR; - } - if (session->in.no_of_packets <= 1) { - error("Too few continue packets"); - return PARSE_ERROR; - } - - payload = session->buf + sizeof(struct avdtp_continue_header); - payload_size = size - sizeof(struct avdtp_continue_header); - - break; - case AVDTP_PKT_TYPE_END: - if (size < sizeof(struct avdtp_continue_header)) { - error("Received too small end packet (%zu bytes)", size); - return PARSE_ERROR; - } - if (!session->in.active) { - error("END: Invalid AVDTP packet fragmentation"); - return PARSE_ERROR; - } - if (session->in.transaction != header->transaction) { - error("End transaction id doesn't match"); - return PARSE_ERROR; - } - if (session->in.no_of_packets > 1) { - error("Got an end packet too early"); - return PARSE_ERROR; - } - - payload = session->buf + sizeof(struct avdtp_continue_header); - payload_size = size - sizeof(struct avdtp_continue_header); - - break; - default: - error("Invalid AVDTP packet type 0x%02X", header->packet_type); - return PARSE_ERROR; - } - - if (session->in.data_size + payload_size > - sizeof(session->in.buf)) { - error("Not enough incoming buffer space!"); - return PARSE_ERROR; - } - - memcpy(session->in.buf + session->in.data_size, payload, payload_size); - session->in.data_size += payload_size; - - if (session->in.no_of_packets > 1) { - session->in.no_of_packets--; - DBG("Received AVDTP fragment. %d to go", - session->in.no_of_packets); - return PARSE_FRAGMENT; - } - - session->in.active = FALSE; - - return PARSE_SUCCESS; -} - -static gboolean session_cb(GIOChannel *chan, GIOCondition cond, - gpointer data) -{ - struct avdtp *session = data; - struct avdtp_common_header *header; - ssize_t size; - int fd; - - DBG(""); - - if (cond & G_IO_NVAL) - return FALSE; - - header = (void *) session->buf; - - if (cond & (G_IO_HUP | G_IO_ERR)) - goto failed; - - fd = g_io_channel_unix_get_fd(chan); - size = read(fd, session->buf, session->imtu); - if (size < 0) { - error("IO Channel read error"); - goto failed; - } - - if ((size_t) size < sizeof(struct avdtp_common_header)) { - error("Received too small packet (%zu bytes)", size); - goto failed; - } - - switch (avdtp_parse_data(session, session->buf, size)) { - case PARSE_ERROR: - goto failed; - case PARSE_FRAGMENT: - return TRUE; - case PARSE_SUCCESS: - break; - } - - if (session->in.message_type == AVDTP_MSG_TYPE_COMMAND) { - if (!avdtp_parse_cmd(session, session->in.transaction, - session->in.signal_id, - session->in.buf, - session->in.data_size)) { - error("Unable to handle command. Disconnecting"); - goto failed; - } - - if (session->req && session->req->collided) { - DBG("Collision detected"); - goto next; - } - - return TRUE; - } - - if (session->req == NULL) { - error("No pending request, ignoring message"); - return TRUE; - } - - if (header->transaction != session->req->transaction) { - error("Transaction label doesn't match"); - return TRUE; - } - - if (session->in.signal_id != session->req->signal_id) { - error("Response signal doesn't match"); - return TRUE; - } - - g_source_remove(session->req->timeout); - session->req->timeout = 0; - - switch (header->message_type) { - case AVDTP_MSG_TYPE_ACCEPT: - if (!avdtp_parse_resp(session, session->req->stream, - session->in.transaction, - session->in.signal_id, - session->in.buf, - session->in.data_size)) { - error("Unable to parse accept response"); - goto failed; - } - break; - case AVDTP_MSG_TYPE_REJECT: - if (!avdtp_parse_rej(session, session->req->stream, - session->in.transaction, - session->in.signal_id, - session->in.buf, - session->in.data_size)) { - error("Unable to parse reject response"); - goto failed; - } - break; - case AVDTP_MSG_TYPE_GEN_REJECT: - error("Received a General Reject message"); - break; - default: - error("Unknown message type 0x%02X", header->message_type); - break; - } - -next: - pending_req_free(session->req); - session->req = NULL; - - process_queue(session); - - return TRUE; - -failed: - connection_lost(session, EIO); - - return FALSE; -} - -static struct avdtp *find_session(GSList *list, struct btd_device *device) -{ - for (; list != NULL; list = g_slist_next(list)) { - struct avdtp *s = list->data; - - if (s->device == device) - return s; - } - - return NULL; -} - -static uint16_t get_version(struct avdtp *session) -{ - const sdp_record_t *rec; - sdp_list_t *protos; - sdp_data_t *proto_desc; - uint16_t ver = 0x0100; - - rec = btd_device_get_record(session->device, A2DP_SINK_UUID); - if (!rec) - rec = btd_device_get_record(session->device, A2DP_SOURCE_UUID); - - if (!rec) - return ver; - - if (sdp_get_access_protos(rec, &protos) < 0) - return ver; - - proto_desc = sdp_get_proto_desc(protos, AVDTP_UUID); - if (proto_desc && proto_desc->dtd == SDP_UINT16) - ver = proto_desc->val.uint16; - - sdp_list_foreach(protos, (sdp_list_func_t) sdp_list_free, NULL); - sdp_list_free(protos, NULL); - - return ver; -} - -static struct avdtp *avdtp_get_internal(struct btd_device *device) -{ - struct avdtp_server *server; - struct avdtp *session; - - server = find_server(servers, device_get_adapter(device)); - if (server == NULL) - return NULL; - - session = find_session(server->sessions, device); - if (session) { - if (session->pending_auth) - return NULL; - else - return session; - } - - session = g_new0(struct avdtp, 1); - - session->server = server; - session->device = btd_device_ref(device); - /* We don't use avdtp_set_state() here since this isn't a state change - * but just setting of the initial state */ - session->state = AVDTP_SESSION_STATE_DISCONNECTED; - - session->version = get_version(session); - - server->sessions = g_slist_append(server->sessions, session); - - return session; -} - -struct avdtp *avdtp_get(struct audio_device *device) -{ - struct avdtp *session; - - session = avdtp_get_internal(device->btd_dev); - - if (!session) - return NULL; - - return avdtp_ref(session); -} - -static void avdtp_connect_cb(GIOChannel *chan, GError *err, gpointer user_data) -{ - struct avdtp *session = user_data; - char address[18]; - int err_no = EIO; - - if (err) { - err_no = err->code; - error("%s", err->message); - goto failed; - } - - if (!session->io) - session->io = g_io_channel_ref(chan); - - bt_io_get(chan, &err, - BT_IO_OPT_OMTU, &session->omtu, - BT_IO_OPT_IMTU, &session->imtu, - BT_IO_OPT_INVALID); - if (err) { - err_no = err->code; - error("%s", err->message); - goto failed; - } - - ba2str(device_get_address(session->device), address); - DBG("AVDTP: connected %s channel to %s", - session->pending_open ? "transport" : "signaling", - address); - - if (session->state == AVDTP_SESSION_STATE_CONNECTING) { - DBG("AVDTP imtu=%u, omtu=%u", session->imtu, session->omtu); - - session->buf = g_malloc0(MAX(session->imtu, session->omtu)); - avdtp_set_state(session, AVDTP_SESSION_STATE_CONNECTED); - - if (session->io_id) - g_source_remove(session->io_id); - - /* This watch should be low priority since otherwise the - * connect callback might be dispatched before the session - * callback if the kernel wakes us up at the same time for - * them. This could happen if a headset is very quick in - * sending the Start command after connecting the stream - * transport channel. - */ - session->io_id = g_io_add_watch_full(chan, - G_PRIORITY_LOW, - G_IO_IN | G_IO_ERR | G_IO_HUP - | G_IO_NVAL, - (GIOFunc) session_cb, session, - NULL); - - if (session->stream_setup) - set_disconnect_timer(session); - } else if (session->pending_open) - handle_transport_connect(session, chan, session->imtu, - session->omtu); - else - goto failed; - - process_queue(session); - - return; - -failed: - if (session->pending_open) { - struct avdtp_stream *stream = session->pending_open; - - handle_transport_connect(session, NULL, 0, 0); - - if (avdtp_abort(session, stream) < 0) - avdtp_sep_set_state(session, stream->lsep, - AVDTP_STATE_IDLE); - } else - connection_lost(session, err_no); -} - -static void auth_cb(DBusError *derr, void *user_data) -{ - struct avdtp *session = user_data; - GError *err = NULL; - - if (derr && dbus_error_is_set(derr)) { - error("Access denied: %s", derr->message); - connection_lost(session, EACCES); - return; - } - - if (!bt_io_accept(session->io, avdtp_connect_cb, session, NULL, - &err)) { - error("bt_io_accept: %s", err->message); - connection_lost(session, EACCES); - g_error_free(err); - return; - } - - /* This is so that avdtp_connect_cb will know to do the right thing - * with respect to the disconnect timer */ - session->stream_setup = TRUE; -} - -static void avdtp_confirm_cb(GIOChannel *chan, gpointer data) -{ - struct avdtp *session; - struct audio_device *dev; - char address[18]; - bdaddr_t src, dst; - GError *err = NULL; - struct btd_device *device; - - bt_io_get(chan, &err, - BT_IO_OPT_SOURCE_BDADDR, &src, - BT_IO_OPT_DEST_BDADDR, &dst, - BT_IO_OPT_DEST, address, - BT_IO_OPT_INVALID); - if (err) { - error("%s", err->message); - g_error_free(err); - goto drop; - } - - DBG("AVDTP: incoming connect from %s", address); - - device = adapter_find_device(adapter_find(&src), &dst); - if (!device) - goto drop; - - session = avdtp_get_internal(device); - if (!session) - goto drop; - - /* This state (ie, session is already *connecting*) happens when the - * device initiates a connect (really a config'd L2CAP channel) even - * though there is a connect we initiated in progress. In sink.c & - * source.c, this state is referred to as XCASE connect:connect. - * Abort the device's channel in favor of our own. - */ - if (session->state == AVDTP_SESSION_STATE_CONNECTING) { - DBG("connect already in progress (XCASE connect:connect)"); - goto drop; - } - - if (session->pending_open && session->pending_open->open_acp) { - if (!bt_io_accept(chan, avdtp_connect_cb, session, NULL, NULL)) - goto drop; - return; - } - - if (session->io) { - error("Refusing unexpected connect from %s", address); - goto drop; - } - - dev = manager_get_audio_device(device, FALSE); - if (!dev) { - dev = manager_get_audio_device(device, TRUE); - if (!dev) { - error("Unable to get audio device object for %s", - address); - goto drop; - } - btd_device_add_uuid(dev->btd_dev, ADVANCED_AUDIO_UUID); - } - - session->io = g_io_channel_ref(chan); - avdtp_set_state(session, AVDTP_SESSION_STATE_CONNECTING); - - session->io_id = g_io_add_watch(chan, G_IO_ERR | G_IO_HUP | G_IO_NVAL, - (GIOFunc) session_cb, session); - - session->auth_id = btd_request_authorization(&src, &dst, - ADVANCED_AUDIO_UUID, - auth_cb, session); - if (session->auth_id == 0) { - avdtp_set_state(session, AVDTP_SESSION_STATE_DISCONNECTED); - goto drop; - } - - return; - -drop: - g_io_channel_shutdown(chan, TRUE, NULL); -} - -static GIOChannel *l2cap_connect(struct avdtp *session) -{ - GError *err = NULL; - GIOChannel *io; - - io = bt_io_connect(avdtp_connect_cb, session, - NULL, &err, - BT_IO_OPT_SOURCE_BDADDR, - adapter_get_address(session->server->adapter), - BT_IO_OPT_DEST_BDADDR, - device_get_address(session->device), - BT_IO_OPT_PSM, AVDTP_PSM, - BT_IO_OPT_SEC_LEVEL, BT_IO_SEC_MEDIUM, - BT_IO_OPT_INVALID); - if (!io) { - error("%s", err->message); - g_error_free(err); - return NULL; - } - - return io; -} - -static void queue_request(struct avdtp *session, struct pending_req *req, - gboolean priority) -{ - if (priority) - session->prio_queue = g_slist_append(session->prio_queue, req); - else - session->req_queue = g_slist_append(session->req_queue, req); -} - -static uint8_t req_get_seid(struct pending_req *req) -{ - if (req->signal_id == AVDTP_DISCOVER) - return 0; - - return ((struct seid_req *) (req->data))->acp_seid; -} - -static int cancel_request(struct avdtp *session, int err) -{ - struct pending_req *req; - struct seid_req sreq; - struct avdtp_local_sep *lsep; - struct avdtp_stream *stream; - uint8_t seid; - struct avdtp_error averr; - - req = session->req; - session->req = NULL; - - avdtp_error_init(&averr, AVDTP_ERRNO, err); - - seid = req_get_seid(req); - if (seid) - stream = find_stream_by_rseid(session, seid); - else - stream = NULL; - - if (stream) { - stream->abort_int = TRUE; - lsep = stream->lsep; - } else - lsep = NULL; - - switch (req->signal_id) { - case AVDTP_RECONFIGURE: - error("Reconfigure: %s (%d)", strerror(err), err); - if (lsep && lsep->cfm && lsep->cfm->reconfigure) - lsep->cfm->reconfigure(session, lsep, stream, &averr, - lsep->user_data); - break; - case AVDTP_OPEN: - error("Open: %s (%d)", strerror(err), err); - if (lsep && lsep->cfm && lsep->cfm->open) - lsep->cfm->open(session, lsep, stream, &averr, - lsep->user_data); - break; - case AVDTP_START: - error("Start: %s (%d)", strerror(err), err); - if (lsep && lsep->cfm && lsep->cfm->start) { - lsep->cfm->start(session, lsep, stream, &averr, - lsep->user_data); - if (stream) - stream->starting = FALSE; - } - break; - case AVDTP_SUSPEND: - error("Suspend: %s (%d)", strerror(err), err); - if (lsep && lsep->cfm && lsep->cfm->suspend) - lsep->cfm->suspend(session, lsep, stream, &averr, - lsep->user_data); - break; - case AVDTP_CLOSE: - error("Close: %s (%d)", strerror(err), err); - if (lsep && lsep->cfm && lsep->cfm->close) { - lsep->cfm->close(session, lsep, stream, &averr, - lsep->user_data); - if (stream) - stream->close_int = FALSE; - } - break; - case AVDTP_SET_CONFIGURATION: - error("SetConfiguration: %s (%d)", strerror(err), err); - if (lsep && lsep->cfm && lsep->cfm->set_configuration) - lsep->cfm->set_configuration(session, lsep, stream, - &averr, lsep->user_data); - goto failed; - case AVDTP_DISCOVER: - error("Discover: %s (%d)", strerror(err), err); - goto failed; - case AVDTP_GET_CAPABILITIES: - error("GetCapabilities: %s (%d)", strerror(err), err); - goto failed; - case AVDTP_ABORT: - error("Abort: %s (%d)", strerror(err), err); - goto failed; - } - - if (!stream) - goto failed; - - memset(&sreq, 0, sizeof(sreq)); - sreq.acp_seid = seid; - - err = send_request(session, TRUE, stream, AVDTP_ABORT, &sreq, - sizeof(sreq)); - if (err < 0) { - error("Unable to send abort request"); - goto failed; - } - - goto done; - -failed: - connection_lost(session, err); -done: - pending_req_free(req); - return err; -} - -static gboolean request_timeout(gpointer user_data) -{ - struct avdtp *session = user_data; - - cancel_request(session, ETIMEDOUT); - - return FALSE; -} - -static int send_req(struct avdtp *session, gboolean priority, - struct pending_req *req) -{ - static int transaction = 0; - int err; - - if (session->state == AVDTP_SESSION_STATE_DISCONNECTED) { - session->io = l2cap_connect(session); - if (!session->io) { - err = -EIO; - goto failed; - } - avdtp_set_state(session, AVDTP_SESSION_STATE_CONNECTING); - } - - if (session->state < AVDTP_SESSION_STATE_CONNECTED || - session->req != NULL) { - queue_request(session, req, priority); - return 0; - } - - req->transaction = transaction++; - transaction %= 16; - - /* FIXME: Should we retry to send if the buffer - was not totally sent or in case of EINTR? */ - if (!avdtp_send(session, req->transaction, AVDTP_MSG_TYPE_COMMAND, - req->signal_id, req->data, req->data_size)) { - err = -EIO; - goto failed; - } - - session->req = req; - - req->timeout = g_timeout_add_seconds(req->signal_id == AVDTP_ABORT ? - ABORT_TIMEOUT : REQ_TIMEOUT, - request_timeout, - session); - return 0; - -failed: - g_free(req->data); - g_free(req); - return err; -} - -static int send_request(struct avdtp *session, gboolean priority, - struct avdtp_stream *stream, uint8_t signal_id, - void *buffer, size_t size) -{ - struct pending_req *req; - - if (stream && stream->abort_int && signal_id != AVDTP_ABORT) { - DBG("Unable to send requests while aborting"); - return -EINVAL; - } - - req = g_new0(struct pending_req, 1); - req->signal_id = signal_id; - req->data = g_malloc(size); - memcpy(req->data, buffer, size); - req->data_size = size; - req->stream = stream; - - return send_req(session, priority, req); -} - -static gboolean avdtp_discover_resp(struct avdtp *session, - struct discover_resp *resp, int size) -{ - int sep_count, i; - uint8_t getcap_cmd; - int ret = 0; - gboolean getcap_pending = FALSE; - - if (session->version >= 0x0103) - getcap_cmd = AVDTP_GET_ALL_CAPABILITIES; - else - getcap_cmd = AVDTP_GET_CAPABILITIES; - - sep_count = size / sizeof(struct seid_info); - - for (i = 0; i < sep_count; i++) { - struct avdtp_remote_sep *sep; - struct avdtp_stream *stream; - struct seid_req req; - - DBG("seid %d type %d media %d in use %d", - resp->seps[i].seid, resp->seps[i].type, - resp->seps[i].media_type, resp->seps[i].inuse); - - stream = find_stream_by_rseid(session, resp->seps[i].seid); - - sep = find_remote_sep(session->seps, resp->seps[i].seid); - if (!sep) { - if (resp->seps[i].inuse && !stream) - continue; - sep = g_new0(struct avdtp_remote_sep, 1); - session->seps = g_slist_append(session->seps, sep); - } - - sep->stream = stream; - sep->seid = resp->seps[i].seid; - sep->type = resp->seps[i].type; - sep->media_type = resp->seps[i].media_type; - - memset(&req, 0, sizeof(req)); - req.acp_seid = sep->seid; - - ret = send_request(session, TRUE, NULL, getcap_cmd, - &req, sizeof(req)); - if (ret < 0) - break; - getcap_pending = TRUE; - } - - if (!getcap_pending) - finalize_discovery(session, -ret); - - return TRUE; -} - -static gboolean avdtp_get_capabilities_resp(struct avdtp *session, - struct getcap_resp *resp, - unsigned int size) -{ - struct avdtp_remote_sep *sep; - uint8_t seid; - - /* Check for minimum required packet size includes: - * 1. getcap resp header - * 2. media transport capability (2 bytes) - * 3. media codec capability type + length (2 bytes) - * 4. the actual media codec elements - * */ - if (size < (sizeof(struct getcap_resp) + 4 + - sizeof(struct avdtp_media_codec_capability))) { - error("Too short getcap resp packet"); - return FALSE; - } - - seid = ((struct seid_req *) session->req->data)->acp_seid; - - sep = find_remote_sep(session->seps, seid); - - DBG("seid %d type %d media %d", sep->seid, - sep->type, sep->media_type); - - if (sep->caps) { - g_slist_free_full(sep->caps, g_free); - sep->caps = NULL; - sep->codec = NULL; - sep->delay_reporting = FALSE; - } - - sep->caps = caps_to_list(resp->caps, size - sizeof(struct getcap_resp), - &sep->codec, &sep->delay_reporting); - - return TRUE; -} - -static gboolean avdtp_set_configuration_resp(struct avdtp *session, - struct avdtp_stream *stream, - struct avdtp_single_header *resp, - int size) -{ - struct avdtp_local_sep *sep = stream->lsep; - - if (sep->cfm && sep->cfm->set_configuration) - sep->cfm->set_configuration(session, sep, stream, NULL, - sep->user_data); - - avdtp_sep_set_state(session, sep, AVDTP_STATE_CONFIGURED); - - return TRUE; -} - -static gboolean avdtp_reconfigure_resp(struct avdtp *session, - struct avdtp_stream *stream, - struct avdtp_single_header *resp, int size) -{ - return TRUE; -} - -static gboolean avdtp_open_resp(struct avdtp *session, struct avdtp_stream *stream, - struct seid_rej *resp, int size) -{ - struct avdtp_local_sep *sep = stream->lsep; - - stream->io = l2cap_connect(session); - if (!stream->io) { - avdtp_sep_set_state(session, sep, AVDTP_STATE_IDLE); - return FALSE; - } - - session->pending_open = stream; - - return TRUE; -} - -static gboolean avdtp_start_resp(struct avdtp *session, - struct avdtp_stream *stream, - struct seid_rej *resp, int size) -{ - struct avdtp_local_sep *sep = stream->lsep; - - if (sep->cfm && sep->cfm->start) - sep->cfm->start(session, sep, stream, NULL, sep->user_data); - - /* We might be in STREAMING already if both sides send START_CMD at the - * same time and the one in SNK role doesn't reject it as it should */ - if (sep->state != AVDTP_STATE_STREAMING) - avdtp_sep_set_state(session, sep, AVDTP_STATE_STREAMING); - - return TRUE; -} - -static gboolean avdtp_close_resp(struct avdtp *session, - struct avdtp_stream *stream, - struct seid_rej *resp, int size) -{ - struct avdtp_local_sep *sep = stream->lsep; - - avdtp_sep_set_state(session, sep, AVDTP_STATE_CLOSING); - - close_stream(stream); - - return TRUE; -} - -static gboolean avdtp_suspend_resp(struct avdtp *session, - struct avdtp_stream *stream, - void *data, int size) -{ - struct avdtp_local_sep *sep = stream->lsep; - - avdtp_sep_set_state(session, sep, AVDTP_STATE_OPEN); - - if (sep->cfm && sep->cfm->suspend) - sep->cfm->suspend(session, sep, stream, NULL, sep->user_data); - - return TRUE; -} - -static gboolean avdtp_abort_resp(struct avdtp *session, - struct avdtp_stream *stream, - struct seid_rej *resp, int size) -{ - struct avdtp_local_sep *sep = stream->lsep; - - avdtp_sep_set_state(session, sep, AVDTP_STATE_ABORTING); - - if (sep->cfm && sep->cfm->abort) - sep->cfm->abort(session, sep, stream, NULL, sep->user_data); - - avdtp_sep_set_state(session, sep, AVDTP_STATE_IDLE); - - return TRUE; -} - -static gboolean avdtp_delay_report_resp(struct avdtp *session, - struct avdtp_stream *stream, - void *data, int size) -{ - struct avdtp_local_sep *sep = stream->lsep; - - if (sep->cfm && sep->cfm->delay_report) - sep->cfm->delay_report(session, sep, stream, NULL, sep->user_data); - - return TRUE; -} - -static gboolean avdtp_parse_resp(struct avdtp *session, - struct avdtp_stream *stream, - uint8_t transaction, uint8_t signal_id, - void *buf, int size) -{ - struct pending_req *next; - const char *get_all = ""; - - if (session->prio_queue) - next = session->prio_queue->data; - else if (session->req_queue) - next = session->req_queue->data; - else - next = NULL; - - switch (signal_id) { - case AVDTP_DISCOVER: - DBG("DISCOVER request succeeded"); - return avdtp_discover_resp(session, buf, size); - case AVDTP_GET_ALL_CAPABILITIES: - get_all = "ALL_"; - case AVDTP_GET_CAPABILITIES: - DBG("GET_%sCAPABILITIES request succeeded", get_all); - if (!avdtp_get_capabilities_resp(session, buf, size)) - return FALSE; - if (!(next && (next->signal_id == AVDTP_GET_CAPABILITIES || - next->signal_id == AVDTP_GET_ALL_CAPABILITIES))) - finalize_discovery(session, 0); - return TRUE; - } - - /* The remaining commands require an existing stream so bail out - * here if the stream got unexpectedly disconnected */ - if (!stream) { - DBG("AVDTP: stream was closed while waiting for reply"); - return TRUE; - } - - switch (signal_id) { - case AVDTP_SET_CONFIGURATION: - DBG("SET_CONFIGURATION request succeeded"); - return avdtp_set_configuration_resp(session, stream, - buf, size); - case AVDTP_RECONFIGURE: - DBG("RECONFIGURE request succeeded"); - return avdtp_reconfigure_resp(session, stream, buf, size); - case AVDTP_OPEN: - DBG("OPEN request succeeded"); - return avdtp_open_resp(session, stream, buf, size); - case AVDTP_SUSPEND: - DBG("SUSPEND request succeeded"); - return avdtp_suspend_resp(session, stream, buf, size); - case AVDTP_START: - DBG("START request succeeded"); - return avdtp_start_resp(session, stream, buf, size); - case AVDTP_CLOSE: - DBG("CLOSE request succeeded"); - return avdtp_close_resp(session, stream, buf, size); - case AVDTP_ABORT: - DBG("ABORT request succeeded"); - return avdtp_abort_resp(session, stream, buf, size); - case AVDTP_DELAY_REPORT: - DBG("DELAY_REPORT request succeeded"); - return avdtp_delay_report_resp(session, stream, buf, size); - } - - error("Unknown signal id in accept response: %u", signal_id); - return TRUE; -} - -static gboolean seid_rej_to_err(struct seid_rej *rej, unsigned int size, - struct avdtp_error *err) -{ - if (size < sizeof(struct seid_rej)) { - error("Too small packet for seid_rej"); - return FALSE; - } - - avdtp_error_init(err, 0x00, rej->error); - - return TRUE; -} - -static gboolean conf_rej_to_err(struct conf_rej *rej, unsigned int size, - struct avdtp_error *err) -{ - if (size < sizeof(struct conf_rej)) { - error("Too small packet for conf_rej"); - return FALSE; - } - - avdtp_error_init(err, rej->category, rej->error); - - return TRUE; -} - -static gboolean stream_rej_to_err(struct stream_rej *rej, unsigned int size, - struct avdtp_error *err, - uint8_t *acp_seid) -{ - if (size < sizeof(struct stream_rej)) { - error("Too small packet for stream_rej"); - return FALSE; - } - - avdtp_error_init(err, 0x00, rej->error); - - if (acp_seid) - *acp_seid = rej->acp_seid; - - return TRUE; -} - -static gboolean avdtp_parse_rej(struct avdtp *session, - struct avdtp_stream *stream, - uint8_t transaction, uint8_t signal_id, - void *buf, int size) -{ - struct avdtp_error err; - uint8_t acp_seid; - struct avdtp_local_sep *sep = stream ? stream->lsep : NULL; - - switch (signal_id) { - case AVDTP_DISCOVER: - if (!seid_rej_to_err(buf, size, &err)) - return FALSE; - error("DISCOVER request rejected: %s (%d)", - avdtp_strerror(&err), err.err.error_code); - return TRUE; - case AVDTP_GET_CAPABILITIES: - case AVDTP_GET_ALL_CAPABILITIES: - if (!seid_rej_to_err(buf, size, &err)) - return FALSE; - error("GET_CAPABILITIES request rejected: %s (%d)", - avdtp_strerror(&err), err.err.error_code); - return TRUE; - case AVDTP_OPEN: - if (!seid_rej_to_err(buf, size, &err)) - return FALSE; - error("OPEN request rejected: %s (%d)", - avdtp_strerror(&err), err.err.error_code); - if (sep && sep->cfm && sep->cfm->open) - sep->cfm->open(session, sep, stream, &err, - sep->user_data); - return TRUE; - case AVDTP_SET_CONFIGURATION: - if (!conf_rej_to_err(buf, size, &err)) - return FALSE; - error("SET_CONFIGURATION request rejected: %s (%d)", - avdtp_strerror(&err), err.err.error_code); - if (sep && sep->cfm && sep->cfm->set_configuration) - sep->cfm->set_configuration(session, sep, stream, - &err, sep->user_data); - return TRUE; - case AVDTP_RECONFIGURE: - if (!conf_rej_to_err(buf, size, &err)) - return FALSE; - error("RECONFIGURE request rejected: %s (%d)", - avdtp_strerror(&err), err.err.error_code); - if (sep && sep->cfm && sep->cfm->reconfigure) - sep->cfm->reconfigure(session, sep, stream, &err, - sep->user_data); - return TRUE; - case AVDTP_START: - if (!stream_rej_to_err(buf, size, &err, &acp_seid)) - return FALSE; - error("START request rejected: %s (%d)", - avdtp_strerror(&err), err.err.error_code); - if (sep && sep->cfm && sep->cfm->start) { - sep->cfm->start(session, sep, stream, &err, - sep->user_data); - stream->starting = FALSE; - } - return TRUE; - case AVDTP_SUSPEND: - if (!stream_rej_to_err(buf, size, &err, &acp_seid)) - return FALSE; - error("SUSPEND request rejected: %s (%d)", - avdtp_strerror(&err), err.err.error_code); - if (sep && sep->cfm && sep->cfm->suspend) - sep->cfm->suspend(session, sep, stream, &err, - sep->user_data); - return TRUE; - case AVDTP_CLOSE: - if (!stream_rej_to_err(buf, size, &err, &acp_seid)) - return FALSE; - error("CLOSE request rejected: %s (%d)", - avdtp_strerror(&err), err.err.error_code); - if (sep && sep->cfm && sep->cfm->close) { - sep->cfm->close(session, sep, stream, &err, - sep->user_data); - stream->close_int = FALSE; - } - return TRUE; - case AVDTP_ABORT: - if (!stream_rej_to_err(buf, size, &err, &acp_seid)) - return FALSE; - error("ABORT request rejected: %s (%d)", - avdtp_strerror(&err), err.err.error_code); - if (sep && sep->cfm && sep->cfm->abort) - sep->cfm->abort(session, sep, stream, &err, - sep->user_data); - return FALSE; - case AVDTP_DELAY_REPORT: - if (!stream_rej_to_err(buf, size, &err, &acp_seid)) - return FALSE; - error("DELAY_REPORT request rejected: %s (%d)", - avdtp_strerror(&err), err.err.error_code); - if (sep && sep->cfm && sep->cfm->delay_report) - sep->cfm->delay_report(session, sep, stream, &err, - sep->user_data); - return TRUE; - default: - error("Unknown reject response signal id: %u", signal_id); - return TRUE; - } -} - -gboolean avdtp_is_connected(struct audio_device *device) -{ - struct avdtp_server *server; - struct avdtp *session; - - server = find_server(servers, device_get_adapter(device->btd_dev)); - if (!server) - return FALSE; - - session = find_session(server->sessions, device->btd_dev); - if (!session) - return FALSE; - - if (session->state != AVDTP_SESSION_STATE_DISCONNECTED) - return TRUE; - - return FALSE; -} - -struct avdtp_service_capability *avdtp_stream_get_codec( - struct avdtp_stream *stream) -{ - GSList *l; - - for (l = stream->caps; l; l = l->next) { - struct avdtp_service_capability *cap = l->data; - - if (cap->category == AVDTP_MEDIA_CODEC) - return cap; - } - - return NULL; -} - -gboolean avdtp_stream_has_capability(struct avdtp_stream *stream, - struct avdtp_service_capability *cap) -{ - GSList *l; - struct avdtp_service_capability *stream_cap; - - for (l = stream->caps; l; l = g_slist_next(l)) { - stream_cap = l->data; - - if (stream_cap->category != cap->category || - stream_cap->length != cap->length) - continue; - - if (memcmp(stream_cap->data, cap->data, cap->length) == 0) - return TRUE; - } - - return FALSE; -} - -gboolean avdtp_stream_has_capabilities(struct avdtp_stream *stream, - GSList *caps) -{ - for (; caps; caps = g_slist_next(caps)) { - struct avdtp_service_capability *cap = caps->data; - - if (!avdtp_stream_has_capability(stream, cap)) - return FALSE; - } - - return TRUE; -} - -struct avdtp_remote_sep *avdtp_stream_get_remote_sep( - struct avdtp_stream *stream) -{ - return avdtp_get_remote_sep(stream->session, stream->rseid); -} - -gboolean avdtp_stream_get_transport(struct avdtp_stream *stream, int *sock, - uint16_t *imtu, uint16_t *omtu, - GSList **caps) -{ - if (stream->io == NULL) - return FALSE; - - if (sock) - *sock = g_io_channel_unix_get_fd(stream->io); - - if (omtu) - *omtu = stream->omtu; - - if (imtu) - *imtu = stream->imtu; - - if (caps) - *caps = stream->caps; - - return TRUE; -} - -static int process_queue(struct avdtp *session) -{ - GSList **queue, *l; - struct pending_req *req; - - if (session->req) - return 0; - - if (session->prio_queue) - queue = &session->prio_queue; - else - queue = &session->req_queue; - - if (!*queue) - return 0; - - l = *queue; - req = l->data; - - *queue = g_slist_remove(*queue, req); - - return send_req(session, FALSE, req); -} - -struct avdtp_remote_sep *avdtp_get_remote_sep(struct avdtp *session, - uint8_t seid) -{ - GSList *l; - - for (l = session->seps; l; l = l->next) { - struct avdtp_remote_sep *sep = l->data; - - if (sep->seid == seid) - return sep; - } - - return NULL; -} - -uint8_t avdtp_get_seid(struct avdtp_remote_sep *sep) -{ - return sep->seid; -} - -uint8_t avdtp_get_type(struct avdtp_remote_sep *sep) -{ - return sep->type; -} - -struct avdtp_service_capability *avdtp_get_codec(struct avdtp_remote_sep *sep) -{ - return sep->codec; -} - -gboolean avdtp_get_delay_reporting(struct avdtp_remote_sep *sep) -{ - return sep->delay_reporting; -} - -struct avdtp_stream *avdtp_get_stream(struct avdtp_remote_sep *sep) -{ - return sep->stream; -} - -struct avdtp_service_capability *avdtp_service_cap_new(uint8_t category, - void *data, int length) -{ - struct avdtp_service_capability *cap; - - if (category < AVDTP_MEDIA_TRANSPORT || category > AVDTP_DELAY_REPORTING) - return NULL; - - cap = g_malloc(sizeof(struct avdtp_service_capability) + length); - cap->category = category; - cap->length = length; - memcpy(cap->data, data, length); - - return cap; -} - -static gboolean process_discover(gpointer data) -{ - struct avdtp *session = data; - - finalize_discovery(session, 0); - - return FALSE; -} - -int avdtp_discover(struct avdtp *session, avdtp_discover_cb_t cb, - void *user_data) -{ - int err; - - if (session->discov_cb) - return -EBUSY; - - if (session->seps) { - session->discov_cb = cb; - session->user_data = user_data; - g_idle_add(process_discover, session); - return 0; - } - - err = send_request(session, FALSE, NULL, AVDTP_DISCOVER, NULL, 0); - if (err == 0) { - session->discov_cb = cb; - session->user_data = user_data; - } - - return err; -} - -gboolean avdtp_stream_remove_cb(struct avdtp *session, - struct avdtp_stream *stream, - unsigned int id) -{ - GSList *l; - struct stream_callback *cb; - - if (!stream) - return FALSE; - - for (cb = NULL, l = stream->callbacks; l != NULL; l = l->next) { - struct stream_callback *tmp = l->data; - if (tmp && tmp->id == id) { - cb = tmp; - break; - } - } - - if (!cb) - return FALSE; - - stream->callbacks = g_slist_remove(stream->callbacks, cb); - g_free(cb); - - return TRUE; -} - -unsigned int avdtp_stream_add_cb(struct avdtp *session, - struct avdtp_stream *stream, - avdtp_stream_state_cb cb, void *data) -{ - struct stream_callback *stream_cb; - static unsigned int id = 0; - - stream_cb = g_new(struct stream_callback, 1); - stream_cb->cb = cb; - stream_cb->user_data = data; - stream_cb->id = ++id; - - stream->callbacks = g_slist_append(stream->callbacks, stream_cb); - - return stream_cb->id; -} - -int avdtp_get_configuration(struct avdtp *session, struct avdtp_stream *stream) -{ - struct seid_req req; - - if (session->state < AVDTP_SESSION_STATE_CONNECTED) - return -EINVAL; - - memset(&req, 0, sizeof(req)); - req.acp_seid = stream->rseid; - - return send_request(session, FALSE, stream, AVDTP_GET_CONFIGURATION, - &req, sizeof(req)); -} - -static void copy_capabilities(gpointer data, gpointer user_data) -{ - struct avdtp_service_capability *src_cap = data; - struct avdtp_service_capability *dst_cap; - GSList **l = user_data; - - dst_cap = avdtp_service_cap_new(src_cap->category, src_cap->data, - src_cap->length); - - *l = g_slist_append(*l, dst_cap); -} - -int avdtp_set_configuration(struct avdtp *session, - struct avdtp_remote_sep *rsep, - struct avdtp_local_sep *lsep, - GSList *caps, - struct avdtp_stream **stream) -{ - struct setconf_req *req; - struct avdtp_stream *new_stream; - unsigned char *ptr; - int err, caps_len; - struct avdtp_service_capability *cap; - GSList *l; - - if (session->state != AVDTP_SESSION_STATE_CONNECTED) - return -ENOTCONN; - - if (!(lsep && rsep)) - return -EINVAL; - - DBG("%p: int_seid=%u, acp_seid=%u", session, - lsep->info.seid, rsep->seid); - - new_stream = g_new0(struct avdtp_stream, 1); - new_stream->session = session; - new_stream->lsep = lsep; - new_stream->rseid = rsep->seid; - - if (rsep->delay_reporting && lsep->delay_reporting) { - struct avdtp_service_capability *delay_reporting; - - delay_reporting = avdtp_service_cap_new(AVDTP_DELAY_REPORTING, - NULL, 0); - caps = g_slist_append(caps, delay_reporting); - new_stream->delay_reporting = TRUE; - } - - g_slist_foreach(caps, copy_capabilities, &new_stream->caps); - - /* Calculate total size of request */ - for (l = caps, caps_len = 0; l != NULL; l = g_slist_next(l)) { - cap = l->data; - caps_len += cap->length + 2; - } - - req = g_malloc0(sizeof(struct setconf_req) + caps_len); - - req->int_seid = lsep->info.seid; - req->acp_seid = rsep->seid; - - /* Copy the capabilities into the request */ - for (l = caps, ptr = req->caps; l != NULL; l = g_slist_next(l)) { - cap = l->data; - memcpy(ptr, cap, cap->length + 2); - ptr += cap->length + 2; - } - - err = send_request(session, FALSE, new_stream, - AVDTP_SET_CONFIGURATION, req, - sizeof(struct setconf_req) + caps_len); - if (err < 0) - stream_free(new_stream); - else { - lsep->info.inuse = 1; - lsep->stream = new_stream; - rsep->stream = new_stream; - session->streams = g_slist_append(session->streams, new_stream); - if (stream) - *stream = new_stream; - } - - g_free(req); - - return err; -} - -int avdtp_open(struct avdtp *session, struct avdtp_stream *stream) -{ - struct seid_req req; - - if (!g_slist_find(session->streams, stream)) - return -EINVAL; - - if (stream->lsep->state > AVDTP_STATE_CONFIGURED) - return -EINVAL; - - memset(&req, 0, sizeof(req)); - req.acp_seid = stream->rseid; - - return send_request(session, FALSE, stream, AVDTP_OPEN, - &req, sizeof(req)); -} - -static gboolean start_timeout(gpointer user_data) -{ - struct avdtp_stream *stream = user_data; - struct avdtp *session = stream->session; - - stream->open_acp = FALSE; - - if (avdtp_start(session, stream) < 0) - error("wait_timeout: avdtp_start failed"); - - stream->start_timer = 0; - - return FALSE; -} - -int avdtp_start(struct avdtp *session, struct avdtp_stream *stream) -{ - struct start_req req; - int ret; - - if (!g_slist_find(session->streams, stream)) - return -EINVAL; - - if (stream->lsep->state != AVDTP_STATE_OPEN) - return -EINVAL; - - /* Recommendation 12: - * If the RD has configured and opened a stream it is also responsible - * to start the streaming via GAVDP_START. - */ - if (stream->open_acp) { - /* If timer already active wait it */ - if (stream->start_timer) - return 0; - - stream->start_timer = g_timeout_add_seconds(START_TIMEOUT, - start_timeout, - stream); - return 0; - } - - if (stream->close_int == TRUE) { - error("avdtp_start: rejecting start since close is initiated"); - return -EINVAL; - } - - if (stream->starting == TRUE) { - DBG("stream already started"); - return -EINPROGRESS; - } - - memset(&req, 0, sizeof(req)); - req.first_seid.seid = stream->rseid; - - ret = send_request(session, FALSE, stream, AVDTP_START, - &req, sizeof(req)); - if (ret == 0) - stream->starting = TRUE; - - return ret; -} - -int avdtp_close(struct avdtp *session, struct avdtp_stream *stream, - gboolean immediate) -{ - struct seid_req req; - int ret; - - if (!g_slist_find(session->streams, stream)) - return -EINVAL; - - if (stream->lsep->state < AVDTP_STATE_OPEN) - return -EINVAL; - - if (stream->close_int == TRUE) { - error("avdtp_close: rejecting since close is already initiated"); - return -EINVAL; - } - - if (immediate && session->req && stream == session->req->stream) - return avdtp_abort(session, stream); - - memset(&req, 0, sizeof(req)); - req.acp_seid = stream->rseid; - - ret = send_request(session, FALSE, stream, AVDTP_CLOSE, - &req, sizeof(req)); - if (ret == 0) - stream->close_int = TRUE; - - return ret; -} - -int avdtp_suspend(struct avdtp *session, struct avdtp_stream *stream) -{ - struct seid_req req; - - if (!g_slist_find(session->streams, stream)) - return -EINVAL; - - if (stream->lsep->state <= AVDTP_STATE_OPEN || stream->close_int) - return -EINVAL; - - memset(&req, 0, sizeof(req)); - req.acp_seid = stream->rseid; - - return send_request(session, FALSE, stream, AVDTP_SUSPEND, - &req, sizeof(req)); -} - -int avdtp_abort(struct avdtp *session, struct avdtp_stream *stream) -{ - struct seid_req req; - int ret; - - if (!g_slist_find(session->streams, stream)) - return -EINVAL; - - if (stream->lsep->state == AVDTP_STATE_ABORTING) - return -EINVAL; - - if (session->req && stream == session->req->stream) - return cancel_request(session, ECANCELED); - - memset(&req, 0, sizeof(req)); - req.acp_seid = stream->rseid; - - ret = send_request(session, TRUE, stream, AVDTP_ABORT, - &req, sizeof(req)); - if (ret == 0) - stream->abort_int = TRUE; - - return ret; -} - -int avdtp_delay_report(struct avdtp *session, struct avdtp_stream *stream, - uint16_t delay) -{ - struct delay_req req; - - if (!g_slist_find(session->streams, stream)) - return -EINVAL; - - if (stream->lsep->state != AVDTP_STATE_CONFIGURED && - stream->lsep->state != AVDTP_STATE_STREAMING) - return -EINVAL; - - if (!stream->delay_reporting || session->version < 0x0103) - return -EINVAL; - - stream->delay = delay; - - memset(&req, 0, sizeof(req)); - req.acp_seid = stream->rseid; - req.delay = htons(delay); - - return send_request(session, TRUE, stream, AVDTP_DELAY_REPORT, - &req, sizeof(req)); -} - -struct avdtp_local_sep *avdtp_register_sep(struct btd_adapter *adapter, - uint8_t type, - uint8_t media_type, - uint8_t codec_type, - gboolean delay_reporting, - struct avdtp_sep_ind *ind, - struct avdtp_sep_cfm *cfm, - void *user_data) -{ - struct avdtp_server *server; - struct avdtp_local_sep *sep; - - server = find_server(servers, adapter); - if (!server) - return NULL; - - if (g_slist_length(server->seps) > MAX_SEID) - return NULL; - - sep = g_new0(struct avdtp_local_sep, 1); - - sep->state = AVDTP_STATE_IDLE; - sep->info.seid = g_slist_length(server->seps) + 1; - sep->info.type = type; - sep->info.media_type = media_type; - sep->codec = codec_type; - sep->ind = ind; - sep->cfm = cfm; - sep->user_data = user_data; - sep->server = server; - sep->delay_reporting = TRUE; - - DBG("SEP %p registered: type:%d codec:%d seid:%d", sep, - sep->info.type, sep->codec, sep->info.seid); - server->seps = g_slist_append(server->seps, sep); - - return sep; -} - -int avdtp_unregister_sep(struct avdtp_local_sep *sep) -{ - struct avdtp_server *server; - - if (!sep) - return -EINVAL; - - server = sep->server; - server->seps = g_slist_remove(server->seps, sep); - - if (sep->stream) - release_stream(sep->stream, sep->stream->session); - - DBG("SEP %p unregistered: type:%d codec:%d seid:%d", sep, - sep->info.type, sep->codec, sep->info.seid); - - g_free(sep); - - return 0; -} - -static GIOChannel *avdtp_server_socket(const bdaddr_t *src, gboolean master) -{ - GError *err = NULL; - GIOChannel *io; - - io = bt_io_listen(NULL, avdtp_confirm_cb, - NULL, NULL, &err, - BT_IO_OPT_SOURCE_BDADDR, src, - BT_IO_OPT_PSM, AVDTP_PSM, - BT_IO_OPT_SEC_LEVEL, BT_IO_SEC_MEDIUM, - BT_IO_OPT_MASTER, master, - BT_IO_OPT_INVALID); - if (!io) { - error("%s", err->message); - g_error_free(err); - } - - return io; -} - -const char *avdtp_strerror(struct avdtp_error *err) -{ - if (err->category == AVDTP_ERRNO) - return strerror(err->err.posix_errno); - - switch(err->err.error_code) { - case AVDTP_BAD_HEADER_FORMAT: - return "Bad Header Format"; - case AVDTP_BAD_LENGTH: - return "Bad Packet Length"; - case AVDTP_BAD_ACP_SEID: - return "Bad Acceptor SEID"; - case AVDTP_SEP_IN_USE: - return "Stream End Point in Use"; - case AVDTP_SEP_NOT_IN_USE: - return "Stream End Point Not in Use"; - case AVDTP_BAD_SERV_CATEGORY: - return "Bad Service Category"; - case AVDTP_BAD_PAYLOAD_FORMAT: - return "Bad Payload format"; - case AVDTP_NOT_SUPPORTED_COMMAND: - return "Command Not Supported"; - case AVDTP_INVALID_CAPABILITIES: - return "Invalid Capabilities"; - case AVDTP_BAD_RECOVERY_TYPE: - return "Bad Recovery Type"; - case AVDTP_BAD_MEDIA_TRANSPORT_FORMAT: - return "Bad Media Transport Format"; - case AVDTP_BAD_RECOVERY_FORMAT: - return "Bad Recovery Format"; - case AVDTP_BAD_ROHC_FORMAT: - return "Bad Header Compression Format"; - case AVDTP_BAD_CP_FORMAT: - return "Bad Content Protetion Format"; - case AVDTP_BAD_MULTIPLEXING_FORMAT: - return "Bad Multiplexing Format"; - case AVDTP_UNSUPPORTED_CONFIGURATION: - return "Configuration not supported"; - case AVDTP_BAD_STATE: - return "Bad State"; - default: - return "Unknow error"; - } -} - -avdtp_state_t avdtp_sep_get_state(struct avdtp_local_sep *sep) -{ - return sep->state; -} - -struct btd_adapter *avdtp_get_adapter(struct avdtp *session) -{ - return session->server->adapter; -} - -struct btd_device *avdtp_get_device(struct avdtp *session) -{ - return session->device; -} - -int avdtp_init(struct btd_adapter *adapter, GKeyFile *config) -{ - GError *err = NULL; - gboolean tmp, master = TRUE; - struct avdtp_server *server; - - if (!config) - goto proceed; - - tmp = g_key_file_get_boolean(config, "General", - "Master", &err); - if (err) { - DBG("audio.conf: %s", err->message); - g_clear_error(&err); - } else - master = tmp; - -proceed: - server = g_new0(struct avdtp_server, 1); - - server->io = avdtp_server_socket(adapter_get_address(adapter), master); - if (!server->io) { - g_free(server); - return -1; - } - - server->adapter = btd_adapter_ref(adapter); - - servers = g_slist_append(servers, server); - - return 0; -} - -void avdtp_exit(struct btd_adapter *adapter) -{ - struct avdtp_server *server; - - server = find_server(servers, adapter); - if (!server) - return; - - g_slist_free_full(server->sessions, avdtp_free); - - servers = g_slist_remove(servers, server); - - g_io_channel_shutdown(server->io, TRUE, NULL); - g_io_channel_unref(server->io); - btd_adapter_unref(server->adapter); - g_free(server); -} - -gboolean avdtp_has_stream(struct avdtp *session, struct avdtp_stream *stream) -{ - return g_slist_find(session->streams, stream) ? TRUE : FALSE; -} - -gboolean avdtp_stream_setup_active(struct avdtp *session) -{ - return session->stream_setup; -} - -void avdtp_set_device_disconnect(struct avdtp *session, gboolean dev_dc) -{ - session->device_disconnect = dev_dc; -} - -unsigned int avdtp_add_state_cb(struct audio_device *dev, - avdtp_session_state_cb cb) -{ - struct avdtp_state_callback *state_cb; - static unsigned int id = 0; - - state_cb = g_new(struct avdtp_state_callback, 1); - state_cb->cb = cb; - state_cb->dev = dev; - state_cb->id = ++id; - - avdtp_callbacks = g_slist_append(avdtp_callbacks, state_cb); - - return state_cb->id; -} - -gboolean avdtp_remove_state_cb(unsigned int id) -{ - GSList *l; - - for (l = avdtp_callbacks; l != NULL; l = l->next) { - struct avdtp_state_callback *cb = l->data; - if (cb && cb->id == id) { - avdtp_callbacks = g_slist_remove(avdtp_callbacks, cb); - g_free(cb); - return TRUE; - } - } - - return FALSE; -} diff --git a/GRIB_BLE_HUB/libs/ble_extend/profiles/audio/avdtp.h b/GRIB_BLE_HUB/libs/ble_extend/profiles/audio/avdtp.h deleted file mode 100644 index 4e6a597..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/profiles/audio/avdtp.h +++ /dev/null @@ -1,315 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2006-2010 Nokia Corporation - * Copyright (C) 2004-2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -typedef enum { - AVDTP_SESSION_STATE_DISCONNECTED, - AVDTP_SESSION_STATE_CONNECTING, - AVDTP_SESSION_STATE_CONNECTED -} avdtp_session_state_t; - -struct avdtp; -struct avdtp_stream; -struct avdtp_local_sep; -struct avdtp_remote_sep; -struct avdtp_error { - uint8_t category; - union { - uint8_t error_code; - int posix_errno; - } err; -}; - -/* SEP capability categories */ -#define AVDTP_MEDIA_TRANSPORT 0x01 -#define AVDTP_REPORTING 0x02 -#define AVDTP_RECOVERY 0x03 -#define AVDTP_CONTENT_PROTECTION 0x04 -#define AVDTP_HEADER_COMPRESSION 0x05 -#define AVDTP_MULTIPLEXING 0x06 -#define AVDTP_MEDIA_CODEC 0x07 -#define AVDTP_DELAY_REPORTING 0x08 -#define AVDTP_ERRNO 0xff - -/* AVDTP error definitions */ -#define AVDTP_BAD_HEADER_FORMAT 0x01 -#define AVDTP_BAD_LENGTH 0x11 -#define AVDTP_BAD_ACP_SEID 0x12 -#define AVDTP_SEP_IN_USE 0x13 -#define AVDTP_SEP_NOT_IN_USE 0x14 -#define AVDTP_BAD_SERV_CATEGORY 0x17 -#define AVDTP_BAD_PAYLOAD_FORMAT 0x18 -#define AVDTP_NOT_SUPPORTED_COMMAND 0x19 -#define AVDTP_INVALID_CAPABILITIES 0x1A -#define AVDTP_BAD_RECOVERY_TYPE 0x22 -#define AVDTP_BAD_MEDIA_TRANSPORT_FORMAT 0x23 -#define AVDTP_BAD_RECOVERY_FORMAT 0x25 -#define AVDTP_BAD_ROHC_FORMAT 0x26 -#define AVDTP_BAD_CP_FORMAT 0x27 -#define AVDTP_BAD_MULTIPLEXING_FORMAT 0x28 -#define AVDTP_UNSUPPORTED_CONFIGURATION 0x29 -#define AVDTP_BAD_STATE 0x31 - -/* SEP types definitions */ -#define AVDTP_SEP_TYPE_SOURCE 0x00 -#define AVDTP_SEP_TYPE_SINK 0x01 - -/* Media types definitions */ -#define AVDTP_MEDIA_TYPE_AUDIO 0x00 -#define AVDTP_MEDIA_TYPE_VIDEO 0x01 -#define AVDTP_MEDIA_TYPE_MULTIMEDIA 0x02 - -typedef enum { - AVDTP_STATE_IDLE, - AVDTP_STATE_CONFIGURED, - AVDTP_STATE_OPEN, - AVDTP_STATE_STREAMING, - AVDTP_STATE_CLOSING, - AVDTP_STATE_ABORTING, -} avdtp_state_t; - -struct avdtp_service_capability { - uint8_t category; - uint8_t length; - uint8_t data[0]; -} __attribute__ ((packed)); - -#if __BYTE_ORDER == __LITTLE_ENDIAN - -struct avdtp_media_codec_capability { - uint8_t rfa0:4; - uint8_t media_type:4; - uint8_t media_codec_type; - uint8_t data[0]; -} __attribute__ ((packed)); - -#elif __BYTE_ORDER == __BIG_ENDIAN - -struct avdtp_media_codec_capability { - uint8_t media_type:4; - uint8_t rfa0:4; - uint8_t media_codec_type; - uint8_t data[0]; -} __attribute__ ((packed)); - -#else -#error "Unknown byte order" -#endif - -typedef void (*avdtp_session_state_cb) (struct audio_device *dev, - struct avdtp *session, - avdtp_session_state_t old_state, - avdtp_session_state_t new_state); - -typedef void (*avdtp_stream_state_cb) (struct avdtp_stream *stream, - avdtp_state_t old_state, - avdtp_state_t new_state, - struct avdtp_error *err, - void *user_data); - -typedef void (*avdtp_set_configuration_cb) (struct avdtp *session, - struct avdtp_stream *stream, - struct avdtp_error *err); - -/* Callbacks for when a reply is received to a command that we sent */ -struct avdtp_sep_cfm { - void (*set_configuration) (struct avdtp *session, - struct avdtp_local_sep *lsep, - struct avdtp_stream *stream, - struct avdtp_error *err, - void *user_data); - void (*get_configuration) (struct avdtp *session, - struct avdtp_local_sep *lsep, - struct avdtp_stream *stream, - struct avdtp_error *err, - void *user_data); - void (*open) (struct avdtp *session, struct avdtp_local_sep *lsep, - struct avdtp_stream *stream, struct avdtp_error *err, - void *user_data); - void (*start) (struct avdtp *session, struct avdtp_local_sep *lsep, - struct avdtp_stream *stream, struct avdtp_error *err, - void *user_data); - void (*suspend) (struct avdtp *session, struct avdtp_local_sep *lsep, - struct avdtp_stream *stream, - struct avdtp_error *err, void *user_data); - void (*close) (struct avdtp *session, struct avdtp_local_sep *lsep, - struct avdtp_stream *stream, - struct avdtp_error *err, void *user_data); - void (*abort) (struct avdtp *session, struct avdtp_local_sep *lsep, - struct avdtp_stream *stream, - struct avdtp_error *err, void *user_data); - void (*reconfigure) (struct avdtp *session, - struct avdtp_local_sep *lsep, - struct avdtp_stream *stream, - struct avdtp_error *err, void *user_data); - void (*delay_report) (struct avdtp *session, struct avdtp_local_sep *lsep, - struct avdtp_stream *stream, - struct avdtp_error *err, void *user_data); -}; - -/* Callbacks for indicating when we received a new command. The return value - * indicates whether the command should be rejected or accepted */ -struct avdtp_sep_ind { - gboolean (*get_capability) (struct avdtp *session, - struct avdtp_local_sep *sep, - gboolean get_all, - GSList **caps, uint8_t *err, - void *user_data); - gboolean (*set_configuration) (struct avdtp *session, - struct avdtp_local_sep *lsep, - struct avdtp_stream *stream, - GSList *caps, - avdtp_set_configuration_cb cb, - void *user_data); - gboolean (*get_configuration) (struct avdtp *session, - struct avdtp_local_sep *lsep, - uint8_t *err, void *user_data); - gboolean (*open) (struct avdtp *session, struct avdtp_local_sep *lsep, - struct avdtp_stream *stream, uint8_t *err, - void *user_data); - gboolean (*start) (struct avdtp *session, struct avdtp_local_sep *lsep, - struct avdtp_stream *stream, uint8_t *err, - void *user_data); - gboolean (*suspend) (struct avdtp *session, - struct avdtp_local_sep *sep, - struct avdtp_stream *stream, uint8_t *err, - void *user_data); - gboolean (*close) (struct avdtp *session, struct avdtp_local_sep *sep, - struct avdtp_stream *stream, uint8_t *err, - void *user_data); - void (*abort) (struct avdtp *session, struct avdtp_local_sep *sep, - struct avdtp_stream *stream, uint8_t *err, - void *user_data); - gboolean (*reconfigure) (struct avdtp *session, - struct avdtp_local_sep *lsep, - uint8_t *err, void *user_data); - gboolean (*delayreport) (struct avdtp *session, - struct avdtp_local_sep *lsep, - uint8_t rseid, uint16_t delay, - uint8_t *err, void *user_data); -}; - -typedef void (*avdtp_discover_cb_t) (struct avdtp *session, GSList *seps, - struct avdtp_error *err, void *user_data); - -struct avdtp *avdtp_get(struct audio_device *device); - -void avdtp_unref(struct avdtp *session); -struct avdtp *avdtp_ref(struct avdtp *session); - -gboolean avdtp_is_connected(struct audio_device *device); - -struct avdtp_service_capability *avdtp_service_cap_new(uint8_t category, - void *data, int size); - -struct avdtp_remote_sep *avdtp_get_remote_sep(struct avdtp *session, - uint8_t seid); - -uint8_t avdtp_get_seid(struct avdtp_remote_sep *sep); - -uint8_t avdtp_get_type(struct avdtp_remote_sep *sep); - -struct avdtp_service_capability *avdtp_get_codec(struct avdtp_remote_sep *sep); - -gboolean avdtp_get_delay_reporting(struct avdtp_remote_sep *sep); - -struct avdtp_stream *avdtp_get_stream(struct avdtp_remote_sep *sep); - -int avdtp_discover(struct avdtp *session, avdtp_discover_cb_t cb, - void *user_data); - -gboolean avdtp_has_stream(struct avdtp *session, struct avdtp_stream *stream); - -unsigned int avdtp_stream_add_cb(struct avdtp *session, - struct avdtp_stream *stream, - avdtp_stream_state_cb cb, void *data); -gboolean avdtp_stream_remove_cb(struct avdtp *session, - struct avdtp_stream *stream, - unsigned int id); - -gboolean avdtp_stream_get_transport(struct avdtp_stream *stream, int *sock, - uint16_t *imtu, uint16_t *omtu, - GSList **caps); -struct avdtp_service_capability *avdtp_stream_get_codec( - struct avdtp_stream *stream); -gboolean avdtp_stream_has_capability(struct avdtp_stream *stream, - struct avdtp_service_capability *cap); -gboolean avdtp_stream_has_capabilities(struct avdtp_stream *stream, - GSList *caps); -struct avdtp_remote_sep *avdtp_stream_get_remote_sep( - struct avdtp_stream *stream); - -unsigned int avdtp_add_state_cb(struct audio_device *dev, - avdtp_session_state_cb cb); - -gboolean avdtp_remove_state_cb(unsigned int id); - -int avdtp_set_configuration(struct avdtp *session, - struct avdtp_remote_sep *rsep, - struct avdtp_local_sep *lsep, - GSList *caps, - struct avdtp_stream **stream); - -int avdtp_get_configuration(struct avdtp *session, - struct avdtp_stream *stream); - -int avdtp_open(struct avdtp *session, struct avdtp_stream *stream); -int avdtp_start(struct avdtp *session, struct avdtp_stream *stream); -int avdtp_suspend(struct avdtp *session, struct avdtp_stream *stream); -int avdtp_close(struct avdtp *session, struct avdtp_stream *stream, - gboolean immediate); -int avdtp_abort(struct avdtp *session, struct avdtp_stream *stream); -int avdtp_delay_report(struct avdtp *session, struct avdtp_stream *stream, - uint16_t delay); - -struct avdtp_local_sep *avdtp_register_sep(struct btd_adapter *adapter, - uint8_t type, - uint8_t media_type, - uint8_t codec_type, - gboolean delay_reporting, - struct avdtp_sep_ind *ind, - struct avdtp_sep_cfm *cfm, - void *user_data); - -/* Find a matching pair of local and remote SEP ID's */ -struct avdtp_remote_sep *avdtp_find_remote_sep(struct avdtp *session, - struct avdtp_local_sep *lsep); - -int avdtp_unregister_sep(struct avdtp_local_sep *sep); - -avdtp_state_t avdtp_sep_get_state(struct avdtp_local_sep *sep); - -void avdtp_error_init(struct avdtp_error *err, uint8_t type, int id); -const char *avdtp_strerror(struct avdtp_error *err); -uint8_t avdtp_error_category(struct avdtp_error *err); -int avdtp_error_error_code(struct avdtp_error *err); -int avdtp_error_posix_errno(struct avdtp_error *err); - -struct btd_adapter *avdtp_get_adapter(struct avdtp *session); -struct btd_device *avdtp_get_device(struct avdtp *session); - -gboolean avdtp_stream_setup_active(struct avdtp *session); -void avdtp_set_device_disconnect(struct avdtp *session, gboolean dev_dc); - -int avdtp_init(struct btd_adapter *adapter, GKeyFile *config); -void avdtp_exit(struct btd_adapter *adapter); diff --git a/GRIB_BLE_HUB/libs/ble_extend/profiles/audio/avrcp.c b/GRIB_BLE_HUB/libs/ble_extend/profiles/audio/avrcp.c deleted file mode 100644 index 512b018..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/profiles/audio/avrcp.c +++ /dev/null @@ -1,3147 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2006-2010 Nokia Corporation - * Copyright (C) 2004-2010 Marcel Holtmann - * Copyright (C) 2011 Texas Instruments, Inc. - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include - -#include -#include -#include - -#include "lib/uuid.h" -#include "../src/adapter.h" -#include "../src/device.h" - -#include "log.h" -#include "error.h" -#include "device.h" -#include "manager.h" -#include "avctp.h" -#include "avrcp.h" -#include "sdpd.h" -#include "dbus-common.h" -#include "control.h" -#include "avdtp.h" -#include "sink.h" -#include "player.h" -#include "transport.h" - -/* Company IDs for vendor dependent commands */ -#define IEEEID_BTSIG 0x001958 - -/* Status codes */ -#define AVRCP_STATUS_INVALID_COMMAND 0x00 -#define AVRCP_STATUS_INVALID_PARAM 0x01 -#define AVRCP_STATUS_PARAM_NOT_FOUND 0x02 -#define AVRCP_STATUS_INTERNAL_ERROR 0x03 -#define AVRCP_STATUS_SUCCESS 0x04 -#define AVRCP_STATUS_INVALID_PLAYER_ID 0x11 -#define AVRCP_STATUS_PLAYER_NOT_BROWSABLE 0x12 -#define AVRCP_STATUS_NO_AVAILABLE_PLAYERS 0x15 -#define AVRCP_STATUS_ADDRESSED_PLAYER_CHANGED 0x16 - -/* Packet types */ -#define AVRCP_PACKET_TYPE_SINGLE 0x00 -#define AVRCP_PACKET_TYPE_START 0x01 -#define AVRCP_PACKET_TYPE_CONTINUING 0x02 -#define AVRCP_PACKET_TYPE_END 0x03 - -/* PDU types for metadata transfer */ -#define AVRCP_GET_CAPABILITIES 0x10 -#define AVRCP_LIST_PLAYER_ATTRIBUTES 0X11 -#define AVRCP_LIST_PLAYER_VALUES 0x12 -#define AVRCP_GET_CURRENT_PLAYER_VALUE 0x13 -#define AVRCP_SET_PLAYER_VALUE 0x14 -#define AVRCP_GET_PLAYER_ATTRIBUTE_TEXT 0x15 -#define AVRCP_GET_PLAYER_VALUE_TEXT 0x16 -#define AVRCP_DISPLAYABLE_CHARSET 0x17 -#define AVRCP_CT_BATTERY_STATUS 0x18 -#define AVRCP_GET_ELEMENT_ATTRIBUTES 0x20 -#define AVRCP_GET_PLAY_STATUS 0x30 -#define AVRCP_REGISTER_NOTIFICATION 0x31 -#define AVRCP_REQUEST_CONTINUING 0x40 -#define AVRCP_ABORT_CONTINUING 0x41 -#define AVRCP_SET_ABSOLUTE_VOLUME 0x50 -#define AVRCP_SET_BROWSED_PLAYER 0x70 -#define AVRCP_GET_ITEM_ATTRIBUTES 0x73 -#define AVRCP_GET_FOLDER_ITEMS 0x71 -#define AVRCP_GENERAL_REJECT 0xA0 - -/* Capabilities for AVRCP_GET_CAPABILITIES pdu */ -#define CAP_COMPANY_ID 0x02 -#define CAP_EVENTS_SUPPORTED 0x03 - -#define AVRCP_REGISTER_NOTIFICATION_PARAM_LENGTH 5 -#define AVRCP_GET_CAPABILITIES_PARAM_LENGTH 1 - -#define AVRCP_FEATURE_CATEGORY_1 0x0001 -#define AVRCP_FEATURE_CATEGORY_2 0x0002 -#define AVRCP_FEATURE_CATEGORY_3 0x0004 -#define AVRCP_FEATURE_CATEGORY_4 0x0008 -#define AVRCP_FEATURE_PLAYER_SETTINGS 0x0010 -#define AVRCP_FEATURE_BROWSING 0x0040 - -#define AVRCP_BATTERY_STATUS_NORMAL 0 -#define AVRCP_BATTERY_STATUS_WARNING 1 -#define AVRCP_BATTERY_STATUS_CRITICAL 2 -#define AVRCP_BATTERY_STATUS_EXTERNAL 3 -#define AVRCP_BATTERY_STATUS_FULL_CHARGE 4 - -#if __BYTE_ORDER == __LITTLE_ENDIAN - -struct avrcp_header { - uint8_t company_id[3]; - uint8_t pdu_id; - uint8_t packet_type:2; - uint8_t rsvd:6; - uint16_t params_len; - uint8_t params[0]; -} __attribute__ ((packed)); -#define AVRCP_HEADER_LENGTH 7 - -#elif __BYTE_ORDER == __BIG_ENDIAN - -struct avrcp_header { - uint8_t company_id[3]; - uint8_t pdu_id; - uint8_t rsvd:6; - uint8_t packet_type:2; - uint16_t params_len; - uint8_t params[0]; -} __attribute__ ((packed)); -#define AVRCP_HEADER_LENGTH 7 - -#else -#error "Unknown byte order" -#endif - -#define AVRCP_MTU (AVC_MTU - AVC_HEADER_LENGTH) -#define AVRCP_PDU_MTU (AVRCP_MTU - AVRCP_HEADER_LENGTH) - -struct avrcp_browsing_header { - uint8_t pdu_id; - uint16_t param_len; - uint8_t params[0]; -} __attribute__ ((packed)); -#define AVRCP_BROWSING_HEADER_LENGTH 3 - -struct avrcp_server { - struct btd_adapter *adapter; - uint32_t tg_record_id; - uint32_t ct_record_id; - GSList *players; - GSList *sessions; -}; - -struct pending_pdu { - uint8_t pdu_id; - GList *attr_ids; - uint16_t offset; -}; - -struct avrcp_player { - struct avrcp_server *server; - GSList *sessions; - uint16_t id; - uint16_t uid_counter; - uint8_t *features; - - struct avrcp_player_cb *cb; - void *user_data; - GDestroyNotify destroy; -}; - -struct avrcp { - struct avrcp_server *server; - struct avctp *conn; - struct audio_device *dev; - struct avrcp_player *player; - gboolean target; - uint16_t version; - int features; - GSList *players; - - void (*init_control) (struct avrcp *session); - void (*init_browsing) (struct avrcp *session); - void (*destroy) (struct avrcp *sesion); - - const struct control_pdu_handler *control_handlers; - - unsigned int control_id; - unsigned int browsing_id; - uint16_t supported_events; - uint16_t registered_events; - uint8_t transaction; - uint8_t transaction_events[AVRCP_EVENT_LAST + 1]; - struct pending_pdu *pending_pdu; -}; - -struct control_pdu_handler { - uint8_t pdu_id; - uint8_t code; - uint8_t (*func) (struct avrcp *session, struct avrcp_header *pdu, - uint8_t transaction); -}; - -static GSList *servers = NULL; -static unsigned int avctp_id = 0; - -/* Company IDs supported by this device */ -static uint32_t company_ids[] = { - IEEEID_BTSIG, -}; - -static void avrcp_register_notification(struct avrcp *session, uint8_t event); - -static sdp_record_t *avrcp_ct_record(void) -{ - sdp_list_t *svclass_id, *pfseq, *apseq, *root; - uuid_t root_uuid, l2cap, avctp, avrct; - sdp_profile_desc_t profile[1]; - sdp_list_t *aproto, *proto[2]; - sdp_record_t *record; - sdp_data_t *psm, *version, *features; - uint16_t lp = AVCTP_CONTROL_PSM; - uint16_t avrcp_ver = 0x0105, avctp_ver = 0x0103; - uint16_t feat = ( AVRCP_FEATURE_CATEGORY_1 | - AVRCP_FEATURE_CATEGORY_2 | - AVRCP_FEATURE_CATEGORY_3 | - AVRCP_FEATURE_CATEGORY_4 ); - - record = sdp_record_alloc(); - if (!record) - return NULL; - - sdp_uuid16_create(&root_uuid, PUBLIC_BROWSE_GROUP); - root = sdp_list_append(0, &root_uuid); - sdp_set_browse_groups(record, root); - - /* Service Class ID List */ - sdp_uuid16_create(&avrct, AV_REMOTE_SVCLASS_ID); - svclass_id = sdp_list_append(0, &avrct); - sdp_set_service_classes(record, svclass_id); - - /* Protocol Descriptor List */ - sdp_uuid16_create(&l2cap, L2CAP_UUID); - proto[0] = sdp_list_append(0, &l2cap); - psm = sdp_data_alloc(SDP_UINT16, &lp); - proto[0] = sdp_list_append(proto[0], psm); - apseq = sdp_list_append(0, proto[0]); - - sdp_uuid16_create(&avctp, AVCTP_UUID); - proto[1] = sdp_list_append(0, &avctp); - version = sdp_data_alloc(SDP_UINT16, &avctp_ver); - proto[1] = sdp_list_append(proto[1], version); - apseq = sdp_list_append(apseq, proto[1]); - - aproto = sdp_list_append(0, apseq); - sdp_set_access_protos(record, aproto); - - /* Bluetooth Profile Descriptor List */ - sdp_uuid16_create(&profile[0].uuid, AV_REMOTE_PROFILE_ID); - profile[0].version = avrcp_ver; - pfseq = sdp_list_append(0, &profile[0]); - sdp_set_profile_descs(record, pfseq); - - features = sdp_data_alloc(SDP_UINT16, &feat); - sdp_attr_add(record, SDP_ATTR_SUPPORTED_FEATURES, features); - - sdp_set_info_attr(record, "AVRCP CT", 0, 0); - - free(psm); - free(version); - sdp_list_free(proto[0], 0); - sdp_list_free(proto[1], 0); - sdp_list_free(apseq, 0); - sdp_list_free(pfseq, 0); - sdp_list_free(aproto, 0); - sdp_list_free(root, 0); - sdp_list_free(svclass_id, 0); - - return record; -} - -static sdp_record_t *avrcp_tg_record(void) -{ - sdp_list_t *svclass_id, *pfseq, *apseq, *root, *apseq_browsing; - uuid_t root_uuid, l2cap, avctp, avrtg; - sdp_profile_desc_t profile[1]; - sdp_list_t *aproto_control, *proto_control[2]; - sdp_record_t *record; - sdp_data_t *psm_control, *version, *features, *psm_browsing; - sdp_list_t *aproto_browsing, *proto_browsing[2] = {0}; - uint16_t lp = AVCTP_CONTROL_PSM; - uint16_t lp_browsing = AVCTP_BROWSING_PSM; - uint16_t avrcp_ver = 0x0104, avctp_ver = 0x0103; - uint16_t feat = ( AVRCP_FEATURE_CATEGORY_1 | - AVRCP_FEATURE_CATEGORY_2 | - AVRCP_FEATURE_CATEGORY_3 | - AVRCP_FEATURE_CATEGORY_4 | - AVRCP_FEATURE_BROWSING | - AVRCP_FEATURE_PLAYER_SETTINGS ); - - record = sdp_record_alloc(); - if (!record) - return NULL; - - sdp_uuid16_create(&root_uuid, PUBLIC_BROWSE_GROUP); - root = sdp_list_append(0, &root_uuid); - sdp_set_browse_groups(record, root); - - /* Service Class ID List */ - sdp_uuid16_create(&avrtg, AV_REMOTE_TARGET_SVCLASS_ID); - svclass_id = sdp_list_append(0, &avrtg); - sdp_set_service_classes(record, svclass_id); - - /* Protocol Descriptor List */ - sdp_uuid16_create(&l2cap, L2CAP_UUID); - proto_control[0] = sdp_list_append(0, &l2cap); - psm_control = sdp_data_alloc(SDP_UINT16, &lp); - proto_control[0] = sdp_list_append(proto_control[0], psm_control); - apseq = sdp_list_append(0, proto_control[0]); - - sdp_uuid16_create(&avctp, AVCTP_UUID); - proto_control[1] = sdp_list_append(0, &avctp); - version = sdp_data_alloc(SDP_UINT16, &avctp_ver); - proto_control[1] = sdp_list_append(proto_control[1], version); - apseq = sdp_list_append(apseq, proto_control[1]); - - aproto_control = sdp_list_append(0, apseq); - sdp_set_access_protos(record, aproto_control); - proto_browsing[0] = sdp_list_append(0, &l2cap); - psm_browsing = sdp_data_alloc(SDP_UINT16, &lp_browsing); - proto_browsing[0] = sdp_list_append(proto_browsing[0], psm_browsing); - apseq_browsing = sdp_list_append(0, proto_browsing[0]); - - proto_browsing[1] = sdp_list_append(0, &avctp); - proto_browsing[1] = sdp_list_append(proto_browsing[1], version); - apseq_browsing = sdp_list_append(apseq_browsing, proto_browsing[1]); - - aproto_browsing = sdp_list_append(0, apseq_browsing); - sdp_set_add_access_protos(record, aproto_browsing); - - /* Bluetooth Profile Descriptor List */ - sdp_uuid16_create(&profile[0].uuid, AV_REMOTE_PROFILE_ID); - profile[0].version = avrcp_ver; - pfseq = sdp_list_append(0, &profile[0]); - sdp_set_profile_descs(record, pfseq); - - features = sdp_data_alloc(SDP_UINT16, &feat); - sdp_attr_add(record, SDP_ATTR_SUPPORTED_FEATURES, features); - - sdp_set_info_attr(record, "AVRCP TG", 0, 0); - - free(psm_browsing); - sdp_list_free(proto_browsing[0], 0); - sdp_list_free(proto_browsing[1], 0); - sdp_list_free(apseq_browsing, 0); - sdp_list_free(aproto_browsing, 0); - - free(psm_control); - free(version); - sdp_list_free(proto_control[0], 0); - sdp_list_free(proto_control[1], 0); - sdp_list_free(apseq, 0); - sdp_list_free(aproto_control, 0); - sdp_list_free(pfseq, 0); - sdp_list_free(root, 0); - sdp_list_free(svclass_id, 0); - - return record; -} - -static unsigned int attr_get_max_val(uint8_t attr) -{ - switch (attr) { - case AVRCP_ATTRIBUTE_EQUALIZER: - return AVRCP_EQUALIZER_ON; - case AVRCP_ATTRIBUTE_REPEAT_MODE: - return AVRCP_REPEAT_MODE_GROUP; - case AVRCP_ATTRIBUTE_SHUFFLE: - return AVRCP_SHUFFLE_GROUP; - case AVRCP_ATTRIBUTE_SCAN: - return AVRCP_SCAN_GROUP; - } - - return 0; -} - -static const char *battery_status_to_str(uint8_t status) -{ - switch (status) { - case AVRCP_BATTERY_STATUS_NORMAL: - return "normal"; - case AVRCP_BATTERY_STATUS_WARNING: - return "warning"; - case AVRCP_BATTERY_STATUS_CRITICAL: - return "critical"; - case AVRCP_BATTERY_STATUS_EXTERNAL: - return "external"; - case AVRCP_BATTERY_STATUS_FULL_CHARGE: - return "fullcharge"; - } - - return NULL; -} - -/* - * get_company_id: - * - * Get three-byte Company_ID from incoming AVRCP message - */ -static uint32_t get_company_id(const uint8_t cid[3]) -{ - return cid[0] << 16 | cid[1] << 8 | cid[2]; -} - -/* - * set_company_id: - * - * Set three-byte Company_ID into outgoing AVRCP message - */ -static void set_company_id(uint8_t cid[3], const uint32_t cid_in) -{ - cid[0] = cid_in >> 16; - cid[1] = cid_in >> 8; - cid[2] = cid_in; -} - -static const char *attr_to_str(uint8_t attr) -{ - switch (attr) { - case AVRCP_ATTRIBUTE_EQUALIZER: - return "Equalizer"; - case AVRCP_ATTRIBUTE_REPEAT_MODE: - return "Repeat"; - case AVRCP_ATTRIBUTE_SHUFFLE: - return "Shuffle"; - case AVRCP_ATTRIBUTE_SCAN: - return "Scan"; - } - - return NULL; -} - -static int attrval_to_val(uint8_t attr, const char *value) -{ - int ret; - - switch (attr) { - case AVRCP_ATTRIBUTE_EQUALIZER: - if (!strcmp(value, "off")) - ret = AVRCP_EQUALIZER_OFF; - else if (!strcmp(value, "on")) - ret = AVRCP_EQUALIZER_ON; - else - ret = -EINVAL; - - return ret; - case AVRCP_ATTRIBUTE_REPEAT_MODE: - if (!strcmp(value, "off")) - ret = AVRCP_REPEAT_MODE_OFF; - else if (!strcmp(value, "singletrack")) - ret = AVRCP_REPEAT_MODE_SINGLE; - else if (!strcmp(value, "alltracks")) - ret = AVRCP_REPEAT_MODE_ALL; - else if (!strcmp(value, "group")) - ret = AVRCP_REPEAT_MODE_GROUP; - else - ret = -EINVAL; - - return ret; - case AVRCP_ATTRIBUTE_SHUFFLE: - if (!strcmp(value, "off")) - ret = AVRCP_SHUFFLE_OFF; - else if (!strcmp(value, "alltracks")) - ret = AVRCP_SHUFFLE_ALL; - else if (!strcmp(value, "group")) - ret = AVRCP_SHUFFLE_GROUP; - else - ret = -EINVAL; - - return ret; - case AVRCP_ATTRIBUTE_SCAN: - if (!strcmp(value, "off")) - ret = AVRCP_SCAN_OFF; - else if (!strcmp(value, "alltracks")) - ret = AVRCP_SCAN_ALL; - else if (!strcmp(value, "group")) - ret = AVRCP_SCAN_GROUP; - else - ret = -EINVAL; - - return ret; - } - - return -EINVAL; -} - -static int attr_to_val(const char *str) -{ - if (!strcasecmp(str, "Equalizer")) - return AVRCP_ATTRIBUTE_EQUALIZER; - else if (!strcasecmp(str, "Repeat")) - return AVRCP_ATTRIBUTE_REPEAT_MODE; - else if (!strcasecmp(str, "Shuffle")) - return AVRCP_ATTRIBUTE_SHUFFLE; - else if (!strcasecmp(str, "Scan")) - return AVRCP_ATTRIBUTE_SCAN; - - return -EINVAL; -} - -static int player_get_setting(struct avrcp_player *player, uint8_t id) -{ - const char *key; - const char *value; - - if (player == NULL) - return -ENOENT; - - key = attr_to_str(id); - if (key == NULL) - return -EINVAL; - - value = player->cb->get_setting(key, player->user_data); - - return attrval_to_val(id, value); -} - -static int play_status_to_val(const char *status) -{ - if (!strcasecmp(status, "stopped")) - return AVRCP_PLAY_STATUS_STOPPED; - else if (!strcasecmp(status, "playing")) - return AVRCP_PLAY_STATUS_PLAYING; - else if (!strcasecmp(status, "paused")) - return AVRCP_PLAY_STATUS_PAUSED; - else if (!strcasecmp(status, "forward-seek")) - return AVRCP_PLAY_STATUS_FWD_SEEK; - else if (!strcasecmp(status, "reverse-seek")) - return AVRCP_PLAY_STATUS_REV_SEEK; - else if (!strcasecmp(status, "error")) - return AVRCP_PLAY_STATUS_ERROR; - - return -EINVAL; -} - -void avrcp_player_event(struct avrcp_player *player, uint8_t id, void *data) -{ - uint8_t buf[AVRCP_HEADER_LENGTH + 9]; - struct avrcp_header *pdu = (void *) buf; - uint16_t size; - GSList *l; - GList *settings; - - if (player->sessions == NULL) - return; - - memset(buf, 0, sizeof(buf)); - - set_company_id(pdu->company_id, IEEEID_BTSIG); - - pdu->pdu_id = AVRCP_REGISTER_NOTIFICATION; - pdu->params[0] = id; - - DBG("id=%u", id); - - switch (id) { - case AVRCP_EVENT_STATUS_CHANGED: - size = 2; - pdu->params[1] = play_status_to_val(data); - - break; - case AVRCP_EVENT_TRACK_CHANGED: - size = 9; - memcpy(&pdu->params[1], data, sizeof(uint64_t)); - - break; - case AVRCP_EVENT_TRACK_REACHED_END: - case AVRCP_EVENT_TRACK_REACHED_START: - size = 1; - break; - case AVRCP_EVENT_SETTINGS_CHANGED: - size = 2; - settings = data; - pdu->params[1] = g_list_length(settings); - for (; settings; settings = settings->next) { - const char *key = settings->data; - int attr; - int val; - - attr = attr_to_val(key); - if (attr < 0) - continue; - - val = player_get_setting(player, attr); - if (val < 0) - continue; - - pdu->params[++size] = attr; - pdu->params[++size] = val; - } - break; - default: - error("Unknown event %u", id); - return; - } - - pdu->params_len = htons(size); - - for (l = player->sessions; l; l = l->next) { - struct avrcp *session = l->data; - int err; - - if (!(session->registered_events & (1 << id))) - continue; - - err = avctp_send_vendordep(session->conn, - session->transaction_events[id], - AVC_CTYPE_CHANGED, AVC_SUBUNIT_PANEL, - buf, size + AVRCP_HEADER_LENGTH); - if (err < 0) - continue; - - /* Unregister event as per AVRCP 1.3 spec, section 5.4.2 */ - session->registered_events ^= 1 << id; - } - - return; -} - -static const char *metadata_to_str(uint32_t id) -{ - switch (id) { - case AVRCP_MEDIA_ATTRIBUTE_TITLE: - return "Title"; - case AVRCP_MEDIA_ATTRIBUTE_ARTIST: - return "Artist"; - case AVRCP_MEDIA_ATTRIBUTE_ALBUM: - return "Album"; - case AVRCP_MEDIA_ATTRIBUTE_GENRE: - return "Genre"; - case AVRCP_MEDIA_ATTRIBUTE_TRACK: - return "TrackNumber"; - case AVRCP_MEDIA_ATTRIBUTE_N_TRACKS: - return "NumberOfTracks"; - case AVRCP_MEDIA_ATTRIBUTE_DURATION: - return "Duration"; - } - - return NULL; -} - -static const char *player_get_metadata(struct avrcp_player *player, - uint32_t id) -{ - const char *key; - - key = metadata_to_str(id); - if (key == NULL) - return NULL; - - if (player != NULL) - return player->cb->get_metadata(key, player->user_data); - - if (id == AVRCP_MEDIA_ATTRIBUTE_TITLE) - return ""; - - return NULL; -} - -static uint16_t player_write_media_attribute(struct avrcp_player *player, - uint32_t id, uint8_t *buf, - uint16_t *pos, - uint16_t *offset) -{ - uint16_t len; - uint16_t attr_len; - const char *value = NULL; - - DBG("%u", id); - - value = player_get_metadata(player, id); - if (value == NULL) { - *offset = 0; - return 0; - } - - attr_len = strlen(value); - value = ((char *) value) + *offset; - len = attr_len - *offset; - - if (len > AVRCP_PDU_MTU - *pos) { - len = AVRCP_PDU_MTU - *pos; - *offset += len; - } else { - *offset = 0; - } - - memcpy(&buf[*pos], value, len); - *pos += len; - - return attr_len; -} - -static GList *player_fill_media_attribute(struct avrcp_player *player, - GList *attr_ids, uint8_t *buf, - uint16_t *pos, uint16_t *offset) -{ - struct media_attribute_header { - uint32_t id; - uint16_t charset; - uint16_t len; - } *hdr = NULL; - GList *l; - - for (l = attr_ids; l != NULL; l = g_list_delete_link(l, l)) { - uint32_t attr = GPOINTER_TO_UINT(l->data); - uint16_t attr_len; - - if (*offset == 0) { - if (*pos + sizeof(*hdr) >= AVRCP_PDU_MTU) - break; - - hdr = (void *) &buf[*pos]; - hdr->id = htonl(attr); - hdr->charset = htons(0x6A); /* Always use UTF-8 */ - *pos += sizeof(*hdr); - } - - attr_len = player_write_media_attribute(player, attr, buf, - pos, offset); - - if (hdr != NULL) - hdr->len = htons(attr_len); - - if (*offset > 0) - break; - } - - return l; -} - -static struct pending_pdu *pending_pdu_new(uint8_t pdu_id, GList *attr_ids, - unsigned int offset) -{ - struct pending_pdu *pending = g_new(struct pending_pdu, 1); - - pending->pdu_id = pdu_id; - pending->attr_ids = attr_ids; - pending->offset = offset; - - return pending; -} - -static gboolean session_abort_pending_pdu(struct avrcp *session) -{ - if (session->pending_pdu == NULL) - return FALSE; - - g_list_free(session->pending_pdu->attr_ids); - g_free(session->pending_pdu); - session->pending_pdu = NULL; - - return TRUE; -} - -static const char *attrval_to_str(uint8_t attr, uint8_t value) -{ - switch (attr) { - case AVRCP_ATTRIBUTE_EQUALIZER: - switch (value) { - case AVRCP_EQUALIZER_ON: - return "on"; - case AVRCP_EQUALIZER_OFF: - return "off"; - } - - break; - case AVRCP_ATTRIBUTE_REPEAT_MODE: - switch (value) { - case AVRCP_REPEAT_MODE_OFF: - return "off"; - case AVRCP_REPEAT_MODE_SINGLE: - return "singletrack"; - case AVRCP_REPEAT_MODE_ALL: - return "alltracks"; - case AVRCP_REPEAT_MODE_GROUP: - return "group"; - } - - break; - /* Shuffle and scan have the same values */ - case AVRCP_ATTRIBUTE_SHUFFLE: - case AVRCP_ATTRIBUTE_SCAN: - switch (value) { - case AVRCP_SCAN_OFF: - return "off"; - case AVRCP_SCAN_ALL: - return "alltracks"; - case AVRCP_SCAN_GROUP: - return "group"; - } - - break; - } - - return NULL; -} - -static int player_set_setting(struct avrcp_player *player, uint8_t id, - uint8_t val) -{ - const char *key, *value; - - key = attr_to_str(id); - if (key == NULL) - return -EINVAL; - - value = attrval_to_str(id, val); - if (value == NULL) - return -EINVAL; - - if (player == NULL) - return -ENOENT; - - return player->cb->set_setting(key, value, player->user_data); -} - -static uint8_t avrcp_handle_get_capabilities(struct avrcp *session, - struct avrcp_header *pdu, - uint8_t transaction) -{ - uint16_t len = ntohs(pdu->params_len); - unsigned int i; - - if (len != 1) - goto err; - - DBG("id=%u", pdu->params[0]); - - switch (pdu->params[0]) { - case CAP_COMPANY_ID: - for (i = 0; i < G_N_ELEMENTS(company_ids); i++) { - set_company_id(&pdu->params[2 + i * 3], - company_ids[i]); - } - - pdu->params_len = htons(2 + (3 * G_N_ELEMENTS(company_ids))); - pdu->params[1] = G_N_ELEMENTS(company_ids); - - return AVC_CTYPE_STABLE; - case CAP_EVENTS_SUPPORTED: - for (i = 0; i <= AVRCP_EVENT_LAST; i++) { - if (session->supported_events & (1 << i)) { - pdu->params[1]++; - pdu->params[pdu->params[1] + 1] = i; - } - } - - pdu->params_len = htons(2 + pdu->params[1]); - return AVC_CTYPE_STABLE; - } - -err: - pdu->params_len = htons(1); - pdu->params[0] = AVRCP_STATUS_INVALID_PARAM; - - return AVC_CTYPE_REJECTED; -} - -static uint8_t avrcp_handle_list_player_attributes(struct avrcp *session, - struct avrcp_header *pdu, - uint8_t transaction) -{ - struct avrcp_player *player = session->player; - uint16_t len = ntohs(pdu->params_len); - unsigned int i; - - if (len != 0) { - pdu->params_len = htons(1); - pdu->params[0] = AVRCP_STATUS_INVALID_PARAM; - return AVC_CTYPE_REJECTED; - } - - if (!player) - goto done; - - for (i = 1; i <= AVRCP_ATTRIBUTE_SCAN; i++) { - if (player_get_setting(player, i) < 0) - continue; - - len++; - pdu->params[len] = i; - } - -done: - pdu->params[0] = len; - pdu->params_len = htons(len + 1); - - return AVC_CTYPE_STABLE; -} - -static uint8_t avrcp_handle_list_player_values(struct avrcp *session, - struct avrcp_header *pdu, - uint8_t transaction) -{ - struct avrcp_player *player = session->player; - uint16_t len = ntohs(pdu->params_len); - unsigned int i; - - if (len != 1) - goto err; - - if (player_get_setting(player, pdu->params[0]) < 0) - goto err; - - len = attr_get_max_val(pdu->params[0]); - - for (i = 1; i <= len; i++) - pdu->params[i] = i; - - pdu->params[0] = len; - pdu->params_len = htons(len + 1); - - return AVC_CTYPE_STABLE; - -err: - pdu->params_len = htons(1); - pdu->params[0] = AVRCP_STATUS_INVALID_PARAM; - return AVC_CTYPE_REJECTED; -} - -static GList *player_list_metadata(struct avrcp_player *player) -{ - if (player != NULL) - return player->cb->list_metadata(player->user_data); - - return g_list_prepend(NULL, - GUINT_TO_POINTER(AVRCP_MEDIA_ATTRIBUTE_TITLE)); -} - -static uint8_t avrcp_handle_get_element_attributes(struct avrcp *session, - struct avrcp_header *pdu, - uint8_t transaction) -{ - struct avrcp_player *player = session->player; - uint16_t len = ntohs(pdu->params_len); - uint64_t identifier = bt_get_le64(&pdu->params[0]); - uint16_t pos; - uint8_t nattr; - GList *attr_ids; - uint16_t offset; - - if (len < 9 || identifier != 0) - goto err; - - nattr = pdu->params[8]; - - if (len < nattr * sizeof(uint32_t) + 1) - goto err; - - if (!nattr) { - /* - * Return all available information, at least - * title must be returned if there's a track selected. - */ - attr_ids = player_list_metadata(player); - len = g_list_length(attr_ids); - } else { - unsigned int i; - for (i = 0, len = 0, attr_ids = NULL; i < nattr; i++) { - uint32_t id; - - id = bt_get_be32(&pdu->params[9] + (i * sizeof(id))); - - /* Don't add invalid attributes */ - if (id == AVRCP_MEDIA_ATTRIBUTE_ILLEGAL || - id > AVRCP_MEDIA_ATTRIBUTE_LAST) - continue; - - len++; - attr_ids = g_list_prepend(attr_ids, - GUINT_TO_POINTER(id)); - } - - attr_ids = g_list_reverse(attr_ids); - } - - if (!len) - goto err; - - session_abort_pending_pdu(session); - pos = 1; - offset = 0; - attr_ids = player_fill_media_attribute(player, attr_ids, pdu->params, - &pos, &offset); - - if (attr_ids != NULL) { - session->pending_pdu = pending_pdu_new(pdu->pdu_id, attr_ids, - offset); - pdu->packet_type = AVRCP_PACKET_TYPE_START; - } - - pdu->params[0] = len; - pdu->params_len = htons(pos); - - return AVC_CTYPE_STABLE; -err: - pdu->params_len = htons(1); - pdu->params[0] = AVRCP_STATUS_INVALID_PARAM; - return AVC_CTYPE_REJECTED; -} - -static uint8_t avrcp_handle_get_current_player_value(struct avrcp *session, - struct avrcp_header *pdu, - uint8_t transaction) -{ - struct avrcp_player *player = session->player; - uint16_t len = ntohs(pdu->params_len); - uint8_t *settings; - unsigned int i; - - if (len <= 1 || pdu->params[0] != len - 1) - goto err; - - /* - * Save a copy of requested settings because we can override them - * while responding - */ - settings = g_memdup(&pdu->params[1], pdu->params[0]); - len = 0; - - /* - * From sec. 5.7 of AVRCP 1.3 spec, we should igore non-existent IDs - * and send a response with the existent ones. Only if all IDs are - * non-existent we should send an error. - */ - for (i = 0; i < pdu->params[0]; i++) { - int val; - - if (settings[i] < AVRCP_ATTRIBUTE_EQUALIZER || - settings[i] > AVRCP_ATTRIBUTE_SCAN) { - DBG("Ignoring %u", settings[i]); - continue; - } - - val = player_get_setting(player, settings[i]); - if (val < 0) - continue; - - pdu->params[++len] = settings[i]; - pdu->params[++len] = val; - } - - g_free(settings); - - if (len) { - pdu->params[0] = len / 2; - pdu->params_len = htons(len + 1); - - return AVC_CTYPE_STABLE; - } - - error("No valid attributes in request"); - -err: - pdu->params_len = htons(1); - pdu->params[0] = AVRCP_STATUS_INVALID_PARAM; - - return AVC_CTYPE_REJECTED; -} - -static uint8_t avrcp_handle_set_player_value(struct avrcp *session, - struct avrcp_header *pdu, - uint8_t transaction) -{ - struct avrcp_player *player = session->player; - uint16_t len = ntohs(pdu->params_len); - unsigned int i; - uint8_t *param; - - if (len < 3 || len > 2 * pdu->params[0] + 1U || player == NULL) - goto err; - - /* - * From sec. 5.7 of AVRCP 1.3 spec, we should igore non-existent IDs - * and set the existent ones. Sec. 5.2.4 is not clear however how to - * indicate that a certain ID was not accepted. If at least one - * attribute is valid, we respond with no parameters. Otherwise an - * AVRCP_STATUS_INVALID_PARAM is sent. - */ - for (len = 0, i = 0, param = &pdu->params[1]; i < pdu->params[0]; - i++, param += 2) { - if (player_set_setting(player, param[0], param[1]) < 0) - continue; - - len++; - } - - if (len) { - pdu->params_len = 0; - - return AVC_CTYPE_ACCEPTED; - } - -err: - pdu->params_len = htons(1); - pdu->params[0] = AVRCP_STATUS_INVALID_PARAM; - return AVC_CTYPE_REJECTED; -} - -static uint8_t avrcp_handle_displayable_charset(struct avrcp *session, - struct avrcp_header *pdu, - uint8_t transaction) -{ - uint16_t len = ntohs(pdu->params_len); - - if (len < 3) { - pdu->params_len = htons(1); - pdu->params[0] = AVRCP_STATUS_INVALID_PARAM; - return AVC_CTYPE_REJECTED; - } - - /* - * We acknowledge the commands, but we always use UTF-8 for - * encoding since CT is obliged to support it. - */ - pdu->params_len = 0; - return AVC_CTYPE_STABLE; -} - -static uint8_t avrcp_handle_ct_battery_status(struct avrcp *session, - struct avrcp_header *pdu, - uint8_t transaction) -{ - uint16_t len = ntohs(pdu->params_len); - const char *valstr; - - if (len != 1) - goto err; - - valstr = battery_status_to_str(pdu->params[0]); - if (valstr == NULL) - goto err; - - pdu->params_len = 0; - - return AVC_CTYPE_STABLE; - -err: - pdu->params_len = htons(1); - pdu->params[0] = AVRCP_STATUS_INVALID_PARAM; - return AVC_CTYPE_REJECTED; -} - -static uint32_t player_get_position(struct avrcp_player *player) -{ - if (player == NULL) - return 0; - - return player->cb->get_position(player->user_data); -} - -static uint32_t player_get_duration(struct avrcp_player *player) -{ - uint32_t num; - - if (player == NULL) - return UINT32_MAX; - - num = player->cb->get_duration(player->user_data); - if (num == 0) - return UINT32_MAX; - - return num; -} - -static uint8_t player_get_status(struct avrcp_player *player) -{ - const char *value; - - if (player == NULL) - return AVRCP_PLAY_STATUS_STOPPED; - - value = player->cb->get_status(player->user_data); - - return play_status_to_val(value); -} - -static uint8_t avrcp_handle_get_play_status(struct avrcp *session, - struct avrcp_header *pdu, - uint8_t transaction) -{ - struct avrcp_player *player = session->player; - uint16_t len = ntohs(pdu->params_len); - uint32_t position; - uint32_t duration; - - if (len != 0) { - pdu->params_len = htons(1); - pdu->params[0] = AVRCP_STATUS_INVALID_PARAM; - return AVC_CTYPE_REJECTED; - } - - position = player_get_position(player); - duration = player_get_duration(player); - - position = htonl(position); - duration = htonl(duration); - - memcpy(&pdu->params[0], &duration, 4); - memcpy(&pdu->params[4], &position, 4); - pdu->params[8] = player_get_status(player); - - pdu->params_len = htons(9); - - return AVC_CTYPE_STABLE; -} - -static uint64_t player_get_uid(struct avrcp_player *player) -{ - if (player == NULL) - return UINT64_MAX; - - return player->cb->get_uid(player->user_data); -} - -static GList *player_list_settings(struct avrcp_player *player) -{ - if (player == NULL) - return NULL; - - return player->cb->list_settings(player->user_data); -} - -static uint8_t avrcp_handle_register_notification(struct avrcp *session, - struct avrcp_header *pdu, - uint8_t transaction) -{ - struct avrcp_player *player = session->player; - struct audio_device *dev = session->dev; - uint16_t len = ntohs(pdu->params_len); - uint64_t uid; - GList *settings; - - /* - * 1 byte for EventID, 4 bytes for Playback interval but the latest - * one is applicable only for EVENT_PLAYBACK_POS_CHANGED. See AVRCP - * 1.3 spec, section 5.4.2. - */ - if (len != 5) - goto err; - - switch (pdu->params[0]) { - case AVRCP_EVENT_STATUS_CHANGED: - len = 2; - pdu->params[1] = player_get_status(player); - - break; - case AVRCP_EVENT_TRACK_CHANGED: - len = 9; - uid = player_get_uid(player); - memcpy(&pdu->params[1], &uid, sizeof(uint64_t)); - - break; - case AVRCP_EVENT_TRACK_REACHED_END: - case AVRCP_EVENT_TRACK_REACHED_START: - len = 1; - break; - case AVRCP_EVENT_SETTINGS_CHANGED: - settings = player_list_settings(player); - - pdu->params[++len] = g_list_length(settings); - for (; settings; settings = settings->next) { - const char *key = settings->data; - uint8_t attr = attr_to_val(key); - int val; - - val = player_get_setting(player, attr); - if (val < 0) - continue; - - pdu->params[++len] = attr; - pdu->params[++len] = val; - } - - break; - case AVRCP_EVENT_VOLUME_CHANGED: - if (session->version < 0x0104) - goto err; - - pdu->params[1] = media_transport_get_device_volume(dev); - if (pdu->params[1] > 127) - goto err; - - len = 2; - - break; - default: - /* All other events are not supported yet */ - goto err; - } - - /* Register event and save the transaction used */ - session->registered_events |= (1 << pdu->params[0]); - session->transaction_events[pdu->params[0]] = transaction; - - pdu->params_len = htons(len); - - return AVC_CTYPE_INTERIM; - -err: - pdu->params_len = htons(1); - pdu->params[0] = AVRCP_STATUS_INVALID_PARAM; - return AVC_CTYPE_REJECTED; -} - -static uint8_t avrcp_handle_request_continuing(struct avrcp *session, - struct avrcp_header *pdu, - uint8_t transaction) -{ - struct avrcp_player *player = session->player; - uint16_t len = ntohs(pdu->params_len); - struct pending_pdu *pending; - - if (len != 1 || session->pending_pdu == NULL) - goto err; - - pending = session->pending_pdu; - - if (pending->pdu_id != pdu->params[0]) - goto err; - - - len = 0; - pending->attr_ids = player_fill_media_attribute(player, - pending->attr_ids, - pdu->params, &len, - &pending->offset); - pdu->pdu_id = pending->pdu_id; - - if (pending->attr_ids == NULL) { - g_free(session->pending_pdu); - session->pending_pdu = NULL; - pdu->packet_type = AVRCP_PACKET_TYPE_END; - } else { - pdu->packet_type = AVRCP_PACKET_TYPE_CONTINUING; - } - - pdu->params_len = htons(len); - - return AVC_CTYPE_STABLE; -err: - pdu->params_len = htons(1); - pdu->params[0] = AVRCP_STATUS_INVALID_PARAM; - return AVC_CTYPE_REJECTED; -} - -static uint8_t avrcp_handle_abort_continuing(struct avrcp *session, - struct avrcp_header *pdu, - uint8_t transaction) -{ - uint16_t len = ntohs(pdu->params_len); - struct pending_pdu *pending; - - if (len != 1 || session->pending_pdu == NULL) - goto err; - - pending = session->pending_pdu; - - if (pending->pdu_id != pdu->params[0]) - goto err; - - session_abort_pending_pdu(session); - pdu->params_len = 0; - - return AVC_CTYPE_ACCEPTED; - -err: - pdu->params_len = htons(1); - pdu->params[0] = AVRCP_STATUS_INVALID_PARAM; - return AVC_CTYPE_REJECTED; -} - -static uint8_t avrcp_handle_set_absolute_volume(struct avrcp *session, - struct avrcp_header *pdu, - uint8_t transaction) -{ - struct avrcp_player *player = session->player; - uint16_t len = ntohs(pdu->params_len); - uint8_t volume; - - if (len != 1) - goto err; - - volume = pdu->params[0] & 0x7F; - if (volume > 127) - goto err; - - if (!player) - goto err; - - media_transport_update_device_volume(session->dev, pdu->params[0]); - - return AVC_CTYPE_ACCEPTED; - -err: - pdu->params_len = htons(1); - pdu->params[0] = AVRCP_STATUS_INVALID_PARAM; - return AVC_CTYPE_REJECTED; -} - -static const struct control_pdu_handler tg_control_handlers[] = { - { AVRCP_GET_CAPABILITIES, AVC_CTYPE_STATUS, - avrcp_handle_get_capabilities }, - { AVRCP_LIST_PLAYER_ATTRIBUTES, AVC_CTYPE_STATUS, - avrcp_handle_list_player_attributes }, - { AVRCP_LIST_PLAYER_VALUES, AVC_CTYPE_STATUS, - avrcp_handle_list_player_values }, - { AVRCP_GET_ELEMENT_ATTRIBUTES, AVC_CTYPE_STATUS, - avrcp_handle_get_element_attributes }, - { AVRCP_GET_CURRENT_PLAYER_VALUE, AVC_CTYPE_STATUS, - avrcp_handle_get_current_player_value }, - { AVRCP_SET_PLAYER_VALUE, AVC_CTYPE_CONTROL, - avrcp_handle_set_player_value }, - { AVRCP_GET_PLAYER_ATTRIBUTE_TEXT, AVC_CTYPE_STATUS, - NULL }, - { AVRCP_GET_PLAYER_VALUE_TEXT, AVC_CTYPE_STATUS, - NULL }, - { AVRCP_DISPLAYABLE_CHARSET, AVC_CTYPE_STATUS, - avrcp_handle_displayable_charset }, - { AVRCP_CT_BATTERY_STATUS, AVC_CTYPE_STATUS, - avrcp_handle_ct_battery_status }, - { AVRCP_GET_PLAY_STATUS, AVC_CTYPE_STATUS, - avrcp_handle_get_play_status }, - { AVRCP_REGISTER_NOTIFICATION, AVC_CTYPE_NOTIFY, - avrcp_handle_register_notification }, - { AVRCP_REQUEST_CONTINUING, AVC_CTYPE_CONTROL, - avrcp_handle_request_continuing }, - { AVRCP_ABORT_CONTINUING, AVC_CTYPE_CONTROL, - avrcp_handle_abort_continuing }, - { }, -}; - -static const struct control_pdu_handler ct_control_handlers[] = { - { AVRCP_GET_CAPABILITIES, AVC_CTYPE_STATUS, - avrcp_handle_get_capabilities }, - { AVRCP_REGISTER_NOTIFICATION, AVC_CTYPE_NOTIFY, - avrcp_handle_register_notification }, - { AVRCP_SET_ABSOLUTE_VOLUME, AVC_CTYPE_CONTROL, - avrcp_handle_set_absolute_volume }, - { }, -}; - -/* handle vendordep pdu inside an avctp packet */ -static size_t handle_vendordep_pdu(struct avctp *conn, uint8_t transaction, - uint8_t *code, uint8_t *subunit, - uint8_t *operands, size_t operand_count, - void *user_data) -{ - struct avrcp *session = user_data; - const struct control_pdu_handler *handler; - struct avrcp_header *pdu = (void *) operands; - uint32_t company_id = get_company_id(pdu->company_id); - - if (company_id != IEEEID_BTSIG) { - *code = AVC_CTYPE_NOT_IMPLEMENTED; - return 0; - } - - DBG("AVRCP PDU 0x%02X, company 0x%06X len 0x%04X", - pdu->pdu_id, company_id, pdu->params_len); - - pdu->packet_type = 0; - pdu->rsvd = 0; - - if (operand_count < AVRCP_HEADER_LENGTH) { - pdu->params[0] = AVRCP_STATUS_INVALID_COMMAND; - goto err_metadata; - } - - for (handler = session->control_handlers; handler->pdu_id; handler++) { - if (handler->pdu_id == pdu->pdu_id) - break; - } - - if (!handler || handler->code != *code) { - pdu->params[0] = AVRCP_STATUS_INVALID_COMMAND; - goto err_metadata; - } - - if (!handler->func) { - pdu->params[0] = AVRCP_STATUS_INVALID_PARAM; - goto err_metadata; - } - - *code = handler->func(session, pdu, transaction); - - if (*code != AVC_CTYPE_REJECTED && - pdu->pdu_id != AVRCP_GET_ELEMENT_ATTRIBUTES && - pdu->pdu_id != AVRCP_REQUEST_CONTINUING && - pdu->pdu_id != AVRCP_ABORT_CONTINUING) - session_abort_pending_pdu(session); - - return AVRCP_HEADER_LENGTH + ntohs(pdu->params_len); - -err_metadata: - pdu->params_len = htons(1); - *code = AVC_CTYPE_REJECTED; - - return AVRCP_HEADER_LENGTH + 1; -} - -static struct browsing_pdu_handler { - uint8_t pdu_id; - void (*func) (struct avrcp *session, struct avrcp_browsing_header *pdu, - uint8_t transaction); -} browsing_handlers[] = { - { }, -}; - -size_t avrcp_browsing_general_reject(uint8_t *operands) -{ - struct avrcp_browsing_header *pdu = (void *) operands; - uint8_t status; - - pdu->pdu_id = AVRCP_GENERAL_REJECT; - status = AVRCP_STATUS_INVALID_COMMAND; - - pdu->param_len = htons(sizeof(status)); - memcpy(pdu->params, &status, (sizeof(status))); - return AVRCP_BROWSING_HEADER_LENGTH + sizeof(status); -} - -static size_t handle_browsing_pdu(struct avctp *conn, - uint8_t transaction, uint8_t *operands, - size_t operand_count, void *user_data) -{ - struct avrcp *session = user_data; - struct browsing_pdu_handler *handler; - struct avrcp_browsing_header *pdu = (void *) operands; - - DBG("AVRCP Browsing PDU 0x%02X, len 0x%04X", pdu->pdu_id, - pdu->param_len); - - for (handler = browsing_handlers; handler->pdu_id; handler++) { - if (handler->pdu_id == pdu->pdu_id) - break; - } - - if (handler == NULL || handler->func == NULL) - return avrcp_browsing_general_reject(operands); - - session->transaction = transaction; - handler->func(session, pdu, transaction); - return AVRCP_BROWSING_HEADER_LENGTH + ntohs(pdu->param_len); -} - -size_t avrcp_handle_vendor_reject(uint8_t *code, uint8_t *operands) -{ - struct avrcp_header *pdu = (void *) operands; - uint32_t company_id = get_company_id(pdu->company_id); - - *code = AVC_CTYPE_REJECTED; - pdu->params_len = htons(1); - pdu->params[0] = AVRCP_STATUS_INTERNAL_ERROR; - - DBG("rejecting AVRCP PDU 0x%02X, company 0x%06X len 0x%04X", - pdu->pdu_id, company_id, pdu->params_len); - - return AVRCP_HEADER_LENGTH + 1; -} - -static struct avrcp_server *find_server(GSList *list, struct btd_adapter *a) -{ - for (; list; list = list->next) { - struct avrcp_server *server = list->data; - - if (server->adapter == a) - return server; - } - - return NULL; -} - -static const char *status_to_string(uint8_t status) -{ - switch (status) { - case AVRCP_PLAY_STATUS_STOPPED: - return "stopped"; - case AVRCP_PLAY_STATUS_PLAYING: - return "playing"; - case AVRCP_PLAY_STATUS_PAUSED: - return "paused"; - case AVRCP_PLAY_STATUS_FWD_SEEK: - return "forward-seek"; - case AVRCP_PLAY_STATUS_REV_SEEK: - return "reverse-seek"; - case AVRCP_PLAY_STATUS_ERROR: - return "error"; - default: - return NULL; - } -} - -static gboolean avrcp_get_play_status_rsp(struct avctp *conn, - uint8_t code, uint8_t subunit, - uint8_t *operands, size_t operand_count, - void *user_data) -{ - struct avrcp *session = user_data; - struct avrcp_player *player = session->player; - struct media_player *mp = player->user_data; - struct avrcp_header *pdu = (void *) operands; - uint32_t duration; - uint32_t position; - uint8_t status; - - if (code == AVC_CTYPE_REJECTED || ntohs(pdu->params_len) != 9) - return FALSE; - - memcpy(&duration, pdu->params, sizeof(uint32_t)); - duration = ntohl(duration); - media_player_set_duration(mp, duration); - - memcpy(&position, pdu->params + 4, sizeof(uint32_t)); - position = ntohl(position); - media_player_set_position(mp, position); - - memcpy(&status, pdu->params + 8, sizeof(uint8_t)); - media_player_set_status(mp, status_to_string(status)); - - return FALSE; -} - -static void avrcp_get_play_status(struct avrcp *session) -{ - uint8_t buf[AVRCP_HEADER_LENGTH]; - struct avrcp_header *pdu = (void *) buf; - - memset(buf, 0, sizeof(buf)); - - set_company_id(pdu->company_id, IEEEID_BTSIG); - pdu->pdu_id = AVRCP_GET_PLAY_STATUS; - pdu->packet_type = AVRCP_PACKET_TYPE_SINGLE; - - avctp_send_vendordep_req(session->conn, AVC_CTYPE_STATUS, - AVC_SUBUNIT_PANEL, buf, sizeof(buf), - avrcp_get_play_status_rsp, - session); -} - -static const char *status_to_str(uint8_t status) -{ - switch (status) { - case AVRCP_STATUS_INVALID_COMMAND: - return "Invalid Command"; - case AVRCP_STATUS_INVALID_PARAM: - return "Invalid Parameter"; - case AVRCP_STATUS_INTERNAL_ERROR: - return "Internal Error"; - case AVRCP_STATUS_SUCCESS: - return "Success"; - default: - return "Unknown"; - } -} - -static gboolean avrcp_player_value_rsp(struct avctp *conn, - uint8_t code, uint8_t subunit, - uint8_t *operands, size_t operand_count, - void *user_data) -{ - struct avrcp *session = user_data; - struct avrcp_player *player = session->player; - struct media_player *mp = player->user_data; - struct avrcp_header *pdu = (void *) operands; - uint8_t count; - int i; - - if (code == AVC_CTYPE_REJECTED) { - media_player_set_setting(mp, "Error", - status_to_str(pdu->params[0])); - return FALSE; - } - - count = pdu->params[0]; - - if (pdu->params_len < count * 2) - return FALSE; - - for (i = 1; count > 0; count--, i += 2) { - const char *key; - const char *value; - - key = attr_to_str(pdu->params[i]); - if (key == NULL) - continue; - - value = attrval_to_str(pdu->params[i], pdu->params[i + 1]); - if (value == NULL) - continue; - - media_player_set_setting(mp, key, value); - } - - return FALSE; -} - -static void avrcp_get_current_player_value(struct avrcp *session, - uint8_t *attrs, uint8_t count) -{ - uint8_t buf[AVRCP_HEADER_LENGTH + 5]; - struct avrcp_header *pdu = (void *) buf; - int i; - - memset(buf, 0, sizeof(buf)); - - set_company_id(pdu->company_id, IEEEID_BTSIG); - pdu->pdu_id = AVRCP_GET_CURRENT_PLAYER_VALUE; - pdu->packet_type = AVRCP_PACKET_TYPE_SINGLE; - pdu->params_len = htons(count + 1); - pdu->params[0] = count; - - for (i = 0; count > 0; count--, i++) - pdu->params[i + 1] = attrs[i]; - - avctp_send_vendordep_req(session->conn, AVC_CTYPE_STATUS, - AVC_SUBUNIT_PANEL, buf, sizeof(buf), - avrcp_player_value_rsp, session); -} - -static gboolean avrcp_list_player_attributes_rsp(struct avctp *conn, - uint8_t code, uint8_t subunit, - uint8_t *operands, size_t operand_count, - void *user_data) -{ - struct avrcp *session = user_data; - struct avrcp_header *pdu = (void *) operands; - uint8_t count; - - if (code == AVC_CTYPE_REJECTED) - return FALSE; - - count = pdu->params[0]; - - if (ntohs(pdu->params_len) < count) { - error("Invalid parameters"); - return FALSE; - } - - avrcp_get_current_player_value(session, &pdu->params[1], - pdu->params[0]); - - return FALSE; -} - -static void avrcp_list_player_attributes(struct avrcp *session) -{ - uint8_t buf[AVRCP_HEADER_LENGTH]; - struct avrcp_header *pdu = (void *) buf; - - memset(buf, 0, sizeof(buf)); - - set_company_id(pdu->company_id, IEEEID_BTSIG); - pdu->pdu_id = AVRCP_LIST_PLAYER_ATTRIBUTES; - pdu->packet_type = AVRCP_PACKET_TYPE_SINGLE; - - avctp_send_vendordep_req(session->conn, AVC_CTYPE_STATUS, - AVC_SUBUNIT_PANEL, buf, sizeof(buf), - avrcp_list_player_attributes_rsp, - session); -} - -static void avrcp_parse_attribute_list(struct avrcp_player *player, - uint8_t *operands, uint8_t count) -{ - struct media_player *mp = player->user_data; - int i; - - for (i = 0; count > 0; count--) { - uint32_t id; - uint16_t charset, len; - - id = bt_get_be32(&operands[i]); - i += sizeof(uint32_t); - - charset = bt_get_be16(&operands[i]); - i += sizeof(uint16_t); - - len = bt_get_be16(&operands[i]); - i += sizeof(uint16_t); - - if (charset == 106) { - const char *key = metadata_to_str(id); - - if (key != NULL) - media_player_set_metadata(mp, - metadata_to_str(id), - &operands[i], len); - } - - i += len; - } -} - -static gboolean avrcp_get_element_attributes_rsp(struct avctp *conn, - uint8_t code, uint8_t subunit, - uint8_t *operands, - size_t operand_count, - void *user_data) -{ - struct avrcp *session = user_data; - struct avrcp_player *player = session->player; - struct avrcp_header *pdu = (void *) operands; - uint8_t count; - - if (code == AVC_CTYPE_REJECTED) - return FALSE; - - count = pdu->params[0]; - - if (ntohs(pdu->params_len) - 1 < count * 8) { - error("Invalid parameters"); - return FALSE; - } - - avrcp_parse_attribute_list(player, &pdu->params[1], count); - - avrcp_get_play_status(session); - - return FALSE; -} - -static void avrcp_get_element_attributes(struct avrcp *session) -{ - uint8_t buf[AVRCP_HEADER_LENGTH + 9]; - struct avrcp_header *pdu = (void *) buf; - uint16_t length; - - memset(buf, 0, sizeof(buf)); - - set_company_id(pdu->company_id, IEEEID_BTSIG); - pdu->pdu_id = AVRCP_GET_ELEMENT_ATTRIBUTES; - pdu->params_len = htons(9); - pdu->packet_type = AVRCP_PACKET_TYPE_SINGLE; - - length = AVRCP_HEADER_LENGTH + ntohs(pdu->params_len); - - avctp_send_vendordep_req(session->conn, AVC_CTYPE_STATUS, - AVC_SUBUNIT_PANEL, buf, length, - avrcp_get_element_attributes_rsp, - session); -} - -static const char *type_to_string(uint8_t type) -{ - switch (type & 0x0F) { - case 0x01: - return "Audio"; - case 0x02: - return "Video"; - case 0x03: - return "Audio, Video"; - case 0x04: - return "Audio Broadcasting"; - case 0x05: - return "Audio, Audio Broadcasting"; - case 0x06: - return "Video, Audio Broadcasting"; - case 0x07: - return "Audio, Video, Audio Broadcasting"; - case 0x08: - return "Video Broadcasting"; - case 0x09: - return "Audio, Video Broadcasting"; - case 0x0A: - return "Video, Video Broadcasting"; - case 0x0B: - return "Audio, Video, Video Broadcasting"; - case 0x0C: - return "Audio Broadcasting, Video Broadcasting"; - case 0x0D: - return "Audio, Audio Broadcasting, Video Broadcasting"; - case 0x0E: - return "Video, Audio Broadcasting, Video Broadcasting"; - case 0x0F: - return "Audio, Video, Audio Broadcasting, Video Broadcasting"; - } - - return "None"; -} - -static const char *subtype_to_string(uint32_t subtype) -{ - switch (subtype & 0x03) { - case 0x01: - return "Audio Book"; - case 0x02: - return "Podcast"; - case 0x03: - return "Audio Book, Podcast"; - } - - return "None"; -} - -static gboolean avrcp_set_browsed_player_rsp(struct avctp *conn, - uint8_t *operands, - size_t operand_count, - void *user_data) -{ - struct avrcp *session = user_data; - struct avrcp_player *player = session->player; - struct media_player *mp = player->user_data; - struct avrcp_browsing_header *pdu = (void *) operands; - uint32_t items; - char **folders, *path; - uint8_t depth, count; - size_t i; - - if (pdu->params[0] != AVRCP_STATUS_SUCCESS || operand_count < 13) - return FALSE; - - player->uid_counter = bt_get_be16(&pdu->params[1]); - - items = bt_get_be32(&pdu->params[3]); - - depth = pdu->params[9]; - - folders = g_new0(char *, depth + 2); - folders[0] = g_strdup("/Filesystem"); - - for (i = 10, count = 1; count - 1 < depth && i < operand_count; - count++) { - uint8_t len; - - len = pdu->params[i++]; - - if (i + len > operand_count || len == 0) { - error("Invalid folder length"); - break; - } - - folders[count] = g_memdup(&pdu->params[i], len); - i += len; - } - - path = g_build_pathv("/", folders); - g_strfreev(folders); - - media_player_set_folder(mp, path, items); - - g_free(path); - - return FALSE; -} - -static void avrcp_set_browsed_player(struct avrcp *session, - struct avrcp_player *player) -{ - uint8_t buf[AVRCP_BROWSING_HEADER_LENGTH + 2]; - struct avrcp_browsing_header *pdu = (void *) buf; - uint16_t id; - - memset(buf, 0, sizeof(buf)); - - pdu->pdu_id = AVRCP_SET_BROWSED_PLAYER; - id = htons(player->id); - memcpy(pdu->params, &id, 2); - pdu->param_len = htons(2); - - avctp_send_browsing_req(session->conn, buf, sizeof(buf), - avrcp_set_browsed_player_rsp, session); -} - -static gboolean avrcp_get_item_attributes_rsp(struct avctp *conn, - uint8_t *operands, - size_t operand_count, - void *user_data) -{ - struct avrcp *session = user_data; - struct avrcp_player *player = session->player; - struct avrcp_browsing_header *pdu = (void *) operands; - uint8_t count; - - if (pdu->params[0] != AVRCP_STATUS_SUCCESS || operand_count < 4) { - if (pdu->params[0] == AVRCP_STATUS_PLAYER_NOT_BROWSABLE) - avrcp_get_element_attributes(session); - return FALSE; - } - - count = pdu->params[1]; - - if (ntohs(pdu->param_len) - 1 < count * 8) { - error("Invalid parameters"); - return FALSE; - } - - avrcp_parse_attribute_list(player, &pdu->params[2], count); - - avrcp_get_play_status(session); - - return FALSE; -} - -static void avrcp_get_item_attributes(struct avrcp *session, uint64_t uid) -{ - uint8_t buf[AVRCP_BROWSING_HEADER_LENGTH + 12]; - struct avrcp_browsing_header *pdu = (void *) buf; - - memset(buf, 0, sizeof(buf)); - - pdu->pdu_id = AVRCP_GET_ITEM_ATTRIBUTES; - pdu->params[0] = 0x03; - bt_put_be64(uid, &pdu->params[1]); - bt_put_be16(session->player->uid_counter, &pdu->params[9]); - pdu->param_len = htons(12); - - avctp_send_browsing_req(session->conn, buf, sizeof(buf), - avrcp_get_item_attributes_rsp, session); -} - -static void avrcp_player_parse_features(struct avrcp_player *player, - uint8_t *features) -{ - struct media_player *mp = player->user_data; - - player->features = g_memdup(features, 16); - - if (features[7] & 0x08) { - media_player_set_browsable(mp, true); - media_player_create_folder(mp, "/Filesystem", - PLAYER_FOLDER_TYPE_MIXED); - } - - if (features[7] & 0x10) - media_player_set_searchable(mp, true); - - if (features[8] & 0x02) { - media_player_create_folder(mp, "/NowPlaying", - PLAYER_FOLDER_TYPE_MIXED); - media_player_set_playlist(mp, "/NowPlaying"); - } -} - -static void avrcp_set_player_value(struct avrcp *session, uint8_t attr, - uint8_t val) -{ - uint8_t buf[AVRCP_HEADER_LENGTH + 3]; - struct avrcp_header *pdu = (void *) buf; - uint8_t length; - - memset(buf, 0, sizeof(buf)); - - set_company_id(pdu->company_id, IEEEID_BTSIG); - pdu->pdu_id = AVRCP_SET_PLAYER_VALUE; - pdu->packet_type = AVRCP_PACKET_TYPE_SINGLE; - pdu->params[0] = 1; - pdu->params[1] = attr; - pdu->params[2] = val; - pdu->params_len = htons(3); - - length = AVRCP_HEADER_LENGTH + ntohs(pdu->params_len); - - avctp_send_vendordep_req(session->conn, AVC_CTYPE_NOTIFY, - AVC_SUBUNIT_PANEL, buf, length, - avrcp_player_value_rsp, session); -} - -static bool ct_set_setting(struct media_player *mp, const char *key, - const char *value, void *user_data) -{ - struct avrcp_player *player = user_data; - int attr; - int val; - struct avrcp *session; - - session = player->sessions->data; - if (session == NULL) - return false; - - if (session->version < 0x0103) - return false; - - attr = attr_to_val(key); - if (attr < 0) - return false; - - val = attrval_to_val(attr, value); - if (val < 0) - return false; - - avrcp_set_player_value(session, attr, val); - - return true; -} - -static int ct_press(struct avrcp_player *player, uint8_t op) -{ - int err; - struct avrcp *session; - - session = player->sessions->data; - if (session == NULL) - return -ENOTCONN; - - err = avctp_send_passthrough(session->conn, op); - if (err < 0) - return err; - - return 0; -} - -static int ct_play(struct media_player *mp, void *user_data) -{ - struct avrcp_player *player = user_data; - - return ct_press(player, AVC_PLAY); -} - -static int ct_pause(struct media_player *mp, void *user_data) -{ - struct avrcp_player *player = user_data; - - return ct_press(player, AVC_PAUSE); -} - -static int ct_stop(struct media_player *mp, void *user_data) -{ - struct avrcp_player *player = user_data; - - return ct_press(player, AVC_STOP); -} - -static int ct_next(struct media_player *mp, void *user_data) -{ - struct avrcp_player *player = user_data; - - return ct_press(player, AVC_FORWARD); -} - -static int ct_previous(struct media_player *mp, void *user_data) -{ - struct avrcp_player *player = user_data; - - return ct_press(player, AVC_BACKWARD); -} - -static int ct_fast_forward(struct media_player *mp, void *user_data) -{ - struct avrcp_player *player = user_data; - - return ct_press(player, AVC_FAST_FORWARD); -} - -static int ct_rewind(struct media_player *mp, void *user_data) -{ - struct avrcp_player *player = user_data; - - return ct_press(player, AVC_REWIND); -} - -static const struct media_player_callback ct_cbs = { - .set_setting = ct_set_setting, - .play = ct_play, - .pause = ct_pause, - .stop = ct_stop, - .next = ct_next, - .previous = ct_previous, - .fast_forward = ct_fast_forward, - .rewind = ct_rewind, -}; - -static struct avrcp_player *create_ct_player(struct avrcp *session, - uint16_t id) -{ - struct avrcp_player *player; - struct media_player *mp; - const char *path; - - player = g_new0(struct avrcp_player, 1); - player->sessions = g_slist_prepend(player->sessions, session); - - path = device_get_path(session->dev->btd_dev); - - mp = media_player_controller_create(path, id); - if (mp == NULL) - return NULL; - - media_player_set_callbacks(mp, &ct_cbs, player); - player->user_data = mp; - player->destroy = (GDestroyNotify) media_player_destroy; - - if (session->player == NULL) - session->player = player; - - session->players = g_slist_prepend(session->players, player); - - return player; -} - -static struct avrcp_player *find_ct_player(struct avrcp *session, uint16_t id) -{ - GSList *l; - - for (l = session->players; l; l = l->next) { - struct avrcp_player *player = l->data; - - if (player->id == 0) { - player->id = id; - return player; - } - - if (player->id == id) - return player; - } - - return NULL; -} - -static struct avrcp_player * -avrcp_parse_media_player_item(struct avrcp *session, uint8_t *operands, - uint16_t len) -{ - struct avrcp_player *player; - struct media_player *mp; - uint16_t id, namelen; - uint32_t subtype; - const char *curval, *strval; - char name[255]; - - if (len < 28) - return NULL; - - id = bt_get_be16(&operands[0]); - - player = find_ct_player(session, id); - if (player == NULL) { - player = create_ct_player(session, id); - if (player == NULL) - return NULL; - } - - mp = player->user_data; - - media_player_set_type(mp, type_to_string(operands[2])); - - subtype = bt_get_be32(&operands[3]); - - media_player_set_subtype(mp, subtype_to_string(subtype)); - - curval = media_player_get_status(mp); - strval = status_to_string(operands[7]); - - if (g_strcmp0(curval, strval) != 0) { - media_player_set_status(mp, strval); - avrcp_get_play_status(session); - } - - avrcp_player_parse_features(player, &operands[8]); - - namelen = bt_get_be16(&operands[26]); - if (namelen > 0 && namelen + 28 == len) { - namelen = MIN(namelen, sizeof(name) - 1); - memcpy(name, &operands[28], namelen); - name[namelen] = '\0'; - media_player_set_name(mp, name); - } - - if (session->player == player) - avrcp_set_browsed_player(session, player); - - return player; -} - -static void player_destroy(gpointer data) -{ - struct avrcp_player *player = data; - - if (player->destroy) - player->destroy(player->user_data); - - g_slist_free(player->sessions); - g_free(player->features); - g_free(player); -} - -static gboolean avrcp_get_media_player_list_rsp(struct avctp *conn, - uint8_t *operands, - size_t operand_count, - void *user_data) -{ - struct avrcp_browsing_header *pdu = (void *) operands; - struct avrcp *session = user_data; - uint16_t count; - size_t i; - GSList *removed; - - if (pdu->params[0] != AVRCP_STATUS_SUCCESS || operand_count < 5) - return FALSE; - - removed = g_slist_copy(session->players); - count = bt_get_be16(&operands[6]); - - for (i = 8; count && i < operand_count; count--) { - struct avrcp_player *player; - uint8_t type; - uint16_t len; - - type = operands[i++]; - len = bt_get_be16(&operands[i]); - i += 2; - - if (type != 0x01) { - i += len; - continue; - } - - if (i + len > operand_count) { - error("Invalid player item length"); - return FALSE; - } - - player = avrcp_parse_media_player_item(session, &operands[i], - len); - if (player) - removed = g_slist_remove(removed, player); - - i += len; - } - - g_slist_free_full(removed, player_destroy); - - return FALSE; -} - -static void avrcp_get_media_player_list(struct avrcp *session) -{ - uint8_t buf[AVRCP_BROWSING_HEADER_LENGTH + 10]; - struct avrcp_browsing_header *pdu = (void *) buf; - - memset(buf, 0, sizeof(buf)); - - pdu->pdu_id = AVRCP_GET_FOLDER_ITEMS; - pdu->param_len = htons(10); - - avctp_send_browsing_req(session->conn, buf, sizeof(buf), - avrcp_get_media_player_list_rsp, session); -} - -static void avrcp_volume_changed(struct avrcp *session, - struct avrcp_header *pdu) -{ - struct avrcp_player *player = session->player; - uint8_t volume; - - if (player == NULL) - return; - - volume = pdu->params[1] & 0x7F; - - player->cb->set_volume(volume, session->dev, player->user_data); -} - -static void avrcp_status_changed(struct avrcp *session, - struct avrcp_header *pdu) -{ - struct avrcp_player *player = session->player; - struct media_player *mp = player->user_data; - uint8_t value; - const char *curval, *strval; - - value = pdu->params[1]; - - curval = media_player_get_status(mp); - strval = status_to_string(value); - - if (g_strcmp0(curval, strval) == 0) - return; - - media_player_set_status(mp, strval); - avrcp_get_play_status(session); -} - -static void avrcp_track_changed(struct avrcp *session, - struct avrcp_header *pdu) -{ - uint64_t uid; - - if (session->browsing_id) { - uid = bt_get_be64(&pdu->params[1]); - avrcp_get_item_attributes(session, uid); - } else - avrcp_get_element_attributes(session); -} - -static void avrcp_setting_changed(struct avrcp *session, - struct avrcp_header *pdu) -{ - struct avrcp_player *player = session->player; - struct media_player *mp = player->user_data; - uint8_t count = pdu->params[1]; - int i; - - for (i = 2; count > 0; count--, i += 2) { - const char *key; - const char *value; - - key = attr_to_str(pdu->params[i]); - if (key == NULL) - continue; - - value = attrval_to_str(pdu->params[i], pdu->params[i + 1]); - if (value == NULL) - continue; - - media_player_set_setting(mp, key, value); - } -} - -static void avrcp_available_players_changed(struct avrcp *session, - struct avrcp_header *pdu) -{ - avrcp_get_media_player_list(session); -} - -static void avrcp_addressed_player_changed(struct avrcp *session, - struct avrcp_header *pdu) -{ - struct avrcp_player *player = session->player; - uint16_t id = bt_get_be16(&pdu->params[1]); - - if (player->id == id) - return; - - player = find_ct_player(session, id); - if (player == NULL) - return; - - player->uid_counter = bt_get_be16(&pdu->params[3]); - session->player = player; - - if (player->features != NULL) - return; - - avrcp_get_media_player_list(session); -} - -static void avrcp_uids_changed(struct avrcp *session, struct avrcp_header *pdu) -{ - struct avrcp_player *player = session->player; - - player->uid_counter = bt_get_be16(&pdu->params[1]); -} - -static gboolean avrcp_handle_event(struct avctp *conn, - uint8_t code, uint8_t subunit, - uint8_t *operands, size_t operand_count, - void *user_data) -{ - struct avrcp *session = user_data; - struct avrcp_header *pdu = (void *) operands; - uint8_t event; - - if (code != AVC_CTYPE_INTERIM && code != AVC_CTYPE_CHANGED) - return FALSE; - - event = pdu->params[0]; - - if (code == AVC_CTYPE_CHANGED) { - session->registered_events ^= (1 << event); - avrcp_register_notification(session, event); - return FALSE; - } - - switch (event) { - case AVRCP_EVENT_VOLUME_CHANGED: - avrcp_volume_changed(session, pdu); - break; - case AVRCP_EVENT_STATUS_CHANGED: - avrcp_status_changed(session, pdu); - break; - case AVRCP_EVENT_TRACK_CHANGED: - avrcp_track_changed(session, pdu); - break; - case AVRCP_EVENT_SETTINGS_CHANGED: - avrcp_setting_changed(session, pdu); - break; - case AVRCP_EVENT_AVAILABLE_PLAYERS_CHANGED: - avrcp_available_players_changed(session, pdu); - break; - case AVRCP_EVENT_ADDRESSED_PLAYER_CHANGED: - avrcp_addressed_player_changed(session, pdu); - break; - case AVRCP_EVENT_UIDS_CHANGED: - avrcp_uids_changed(session, pdu); - break; - } - - session->registered_events |= (1 << event); - - return TRUE; -} - -static void avrcp_register_notification(struct avrcp *session, uint8_t event) -{ - uint8_t buf[AVRCP_HEADER_LENGTH + AVRCP_REGISTER_NOTIFICATION_PARAM_LENGTH]; - struct avrcp_header *pdu = (void *) buf; - uint8_t length; - - memset(buf, 0, sizeof(buf)); - - set_company_id(pdu->company_id, IEEEID_BTSIG); - pdu->pdu_id = AVRCP_REGISTER_NOTIFICATION; - pdu->packet_type = AVRCP_PACKET_TYPE_SINGLE; - pdu->params[0] = event; - pdu->params_len = htons(AVRCP_REGISTER_NOTIFICATION_PARAM_LENGTH); - - length = AVRCP_HEADER_LENGTH + ntohs(pdu->params_len); - - avctp_send_vendordep_req(session->conn, AVC_CTYPE_NOTIFY, - AVC_SUBUNIT_PANEL, buf, length, - avrcp_handle_event, session); -} - -static gboolean avrcp_get_capabilities_resp(struct avctp *conn, - uint8_t code, uint8_t subunit, - uint8_t *operands, size_t operand_count, - void *user_data) -{ - struct avrcp *session = user_data; - struct avrcp_header *pdu = (void *) operands; - uint16_t events = 0; - uint8_t count; - - if (pdu->params[0] != CAP_EVENTS_SUPPORTED) - return FALSE; - - count = pdu->params[1]; - - for (; count > 0; count--) { - uint8_t event = pdu->params[1 + count]; - - events |= (1 << event); - - switch (event) { - case AVRCP_EVENT_STATUS_CHANGED: - case AVRCP_EVENT_TRACK_CHANGED: - case AVRCP_EVENT_SETTINGS_CHANGED: - case AVRCP_EVENT_ADDRESSED_PLAYER_CHANGED: - case AVRCP_EVENT_UIDS_CHANGED: - case AVRCP_EVENT_AVAILABLE_PLAYERS_CHANGED: - avrcp_register_notification(session, event); - break; - } - } - - if (!(events & (1 << AVRCP_EVENT_SETTINGS_CHANGED))) - avrcp_list_player_attributes(session); - - if (!(events & (1 << AVRCP_EVENT_STATUS_CHANGED))) - avrcp_get_play_status(session); - - if (!(events & (1 << AVRCP_EVENT_STATUS_CHANGED))) - avrcp_get_element_attributes(session); - - return FALSE; -} - -static void avrcp_get_capabilities(struct avrcp *session) -{ - uint8_t buf[AVRCP_HEADER_LENGTH + AVRCP_GET_CAPABILITIES_PARAM_LENGTH]; - struct avrcp_header *pdu = (void *) buf; - uint8_t length; - - memset(buf, 0, sizeof(buf)); - - set_company_id(pdu->company_id, IEEEID_BTSIG); - pdu->pdu_id = AVRCP_GET_CAPABILITIES; - pdu->packet_type = AVRCP_PACKET_TYPE_SINGLE; - pdu->params[0] = CAP_EVENTS_SUPPORTED; - pdu->params_len = htons(AVRCP_GET_CAPABILITIES_PARAM_LENGTH); - - length = AVRCP_HEADER_LENGTH + ntohs(pdu->params_len); - - avctp_send_vendordep_req(session->conn, AVC_CTYPE_STATUS, - AVC_SUBUNIT_PANEL, buf, length, - avrcp_get_capabilities_resp, - session); -} - -static struct avrcp *find_session(GSList *list, struct audio_device *dev) -{ - for (; list; list = list->next) { - struct avrcp *session = list->data; - - if (session->dev == dev) - return session; - } - - return NULL; -} - -static void destroy_browsing(void *data) -{ - struct avrcp *session = data; - - session->browsing_id = 0; -} - -static void session_tg_init_browsing(struct avrcp *session) -{ - session->browsing_id = avctp_register_browsing_pdu_handler( - session->conn, - handle_browsing_pdu, - session, - destroy_browsing); -} - -static void session_tg_init_control(struct avrcp *session) -{ - struct avrcp_server *server = session->server; - struct avrcp_player *player; - - if (session->version < 0x0103) - return; - - DBG("%p version 0x%04x", session, session->version); - - player = g_slist_nth_data(server->players, 0); - if (player != NULL) { - session->player = player; - player->sessions = g_slist_prepend(player->sessions, session); - } - - session->control_id = avctp_register_pdu_handler(session->conn, - AVC_OP_VENDORDEP, - handle_vendordep_pdu, - session); - session->control_handlers = tg_control_handlers; - session->supported_events = (1 << AVRCP_EVENT_STATUS_CHANGED) | - (1 << AVRCP_EVENT_TRACK_CHANGED) | - (1 << AVRCP_EVENT_TRACK_REACHED_START) | - (1 << AVRCP_EVENT_TRACK_REACHED_END) | - (1 << AVRCP_EVENT_SETTINGS_CHANGED); - - if (session->version >= 0x0104) - avrcp_register_notification(session, - AVRCP_EVENT_VOLUME_CHANGED); - - audio_controller_connected(session->dev->btd_dev, 0); -} - -static void session_ct_init_browsing(struct avrcp *session) -{ - session->browsing_id = avctp_register_browsing_pdu_handler( - session->conn, - handle_browsing_pdu, - session, - destroy_browsing); -} - -static void session_ct_init_control(struct avrcp *session) -{ - struct avrcp_player *player; - - DBG("%p version 0x%04x", session, session->version); - - session->control_id = avctp_register_pdu_handler(session->conn, - AVC_OP_VENDORDEP, - handle_vendordep_pdu, - session); - session->control_handlers = ct_control_handlers; - if (session->version >= 0x0104) - session->supported_events = (1 << AVRCP_EVENT_VOLUME_CHANGED); - - audio_target_connected(session->dev->btd_dev, 0); - - player = create_ct_player(session, 0); - if (player == NULL) - return; - - if (session->version < 0x0103) - return; - - avrcp_get_capabilities(session); -} - -static void session_destroy(struct avrcp *session) -{ - struct avrcp_server *server = session->server; - - server->sessions = g_slist_remove(server->sessions, session); - - if (session->control_id > 0) - avctp_unregister_pdu_handler(session->control_id); - - if (session->browsing_id > 0) - avctp_unregister_browsing_pdu_handler(session->browsing_id); - - g_free(session); -} - -static void session_tg_destroy(struct avrcp *session) -{ - struct avrcp_player *player = session->player; - - DBG("%p", session); - - if (player != NULL) - player->sessions = g_slist_remove(player->sessions, session); - - if (session->control_id == 0) - audio_controller_connected(session->dev->btd_dev, -EIO); - - audio_controller_disconnected(session->dev->btd_dev, 0); - - session_destroy(session); -} - -static void session_ct_destroy(struct avrcp *session) -{ - DBG("%p", session); - - g_slist_free_full(session->players, player_destroy); - - if (session->control_id == 0) - audio_target_connected(session->dev->btd_dev, -EIO); - - audio_target_disconnected(session->dev->btd_dev, 0); - - session_destroy(session); -} - -static struct avrcp *session_create(struct avrcp_server *server, - struct audio_device *dev) -{ - struct avrcp *session; - const sdp_record_t *rec; - sdp_list_t *list; - sdp_profile_desc_t *desc; - - session = g_new0(struct avrcp, 1); - session->server = server; - session->conn = avctp_connect(dev); - session->dev = dev; - - server->sessions = g_slist_append(server->sessions, session); - - if (dev->sink && !dev->source) - session->target = TRUE; - else if (dev->source && !dev->sink) - session->target = FALSE; - else if (dev->sink && sink_is_active(dev)) - session->target = TRUE; - else - session->target = FALSE; - - if (session->target) { - session->init_control = session_tg_init_control; - session->init_browsing = session_tg_init_browsing; - session->destroy = session_tg_destroy; - rec = btd_device_get_record(dev->btd_dev, AVRCP_REMOTE_UUID); - } else { - session->init_control = session_ct_init_control; - session->init_browsing = session_ct_init_browsing; - session->destroy = session_ct_destroy; - rec = btd_device_get_record(dev->btd_dev, AVRCP_TARGET_UUID); - } - - if (rec == NULL) - return session; - - if (sdp_get_profile_descs(rec, &list) < 0) - return session; - - desc = list->data; - session->version = desc->version; - sdp_get_int_attr(rec, SDP_ATTR_SUPPORTED_FEATURES, &session->features); - - sdp_list_free(list, free); - - return session; -} - -static void state_changed(struct audio_device *dev, avctp_state_t old_state, - avctp_state_t new_state) -{ - struct avrcp_server *server; - struct avrcp *session; - - server = find_server(servers, device_get_adapter(dev->btd_dev)); - if (!server) - return; - - session = find_session(server->sessions, dev); - - switch (new_state) { - case AVCTP_STATE_DISCONNECTED: - if (session == NULL) - break; - - session->destroy(session); - - break; - case AVCTP_STATE_CONNECTING: - if (session != NULL) - break; - - session_create(server, dev); - - break; - case AVCTP_STATE_CONNECTED: - if (session == NULL || session->control_id > 0) - break; - - session->init_control(session); - - if (session->version >= 0x0104 && - session->features & AVRCP_FEATURE_BROWSING) - avctp_connect_browsing(session->conn); - - break; - case AVCTP_STATE_BROWSING_CONNECTED: - if (session == NULL || session->browsing_id > 0) - break; - - session->init_browsing(session); - break; - default: - return; - } -} - -gboolean avrcp_connect(struct audio_device *dev) -{ - struct avctp *session; - - session = avctp_connect(dev); - if (session) - return FALSE; - - return TRUE; -} - -void avrcp_disconnect(struct audio_device *dev) -{ - struct avctp *session; - - session = avctp_get(dev); - if (!session) - return; - - avctp_disconnect(session); -} - -static struct avrcp_server *avrcp_server_register(struct btd_adapter *adapter, - GKeyFile *config) -{ - gboolean tmp, master = TRUE; - GError *err = NULL; - struct avrcp_server *server; - - if (config) { - tmp = g_key_file_get_boolean(config, "General", - "Master", &err); - if (err) { - DBG("audio.conf: %s", err->message); - g_error_free(err); - } else - master = tmp; - } - - if (avctp_register(adapter, master) < 0) - return NULL; - - server = g_new0(struct avrcp_server, 1); - server->adapter = btd_adapter_ref(adapter); - - servers = g_slist_append(servers, server); - - if (!avctp_id) - avctp_id = avctp_add_state_cb(NULL, state_changed); - - return server; -} - -int avrcp_target_register(struct btd_adapter *adapter, GKeyFile *config) -{ - sdp_record_t *record; - struct avrcp_server *server; - - server = find_server(servers, adapter); - if (server != NULL) - goto done; - - server = avrcp_server_register(adapter, config); - if (server == NULL) - return -EPROTONOSUPPORT; - -done: - record = avrcp_tg_record(); - if (!record) { - error("Unable to allocate new service record"); - avrcp_target_unregister(adapter); - return -1; - } - - if (add_record_to_server(adapter_get_address(adapter), record) < 0) { - error("Unable to register AVRCP target service record"); - avrcp_target_unregister(adapter); - sdp_record_free(record); - return -1; - } - server->tg_record_id = record->handle; - - return 0; -} - -int avrcp_remote_register(struct btd_adapter *adapter, GKeyFile *config) -{ - sdp_record_t *record; - struct avrcp_server *server; - - server = find_server(servers, adapter); - if (server != NULL) - goto done; - - server = avrcp_server_register(adapter, config); - if (server == NULL) - return -EPROTONOSUPPORT; - -done: - record = avrcp_ct_record(); - if (!record) { - error("Unable to allocate new service record"); - avrcp_remote_unregister(adapter); - return -1; - } - - if (add_record_to_server(adapter_get_address(adapter), record) < 0) { - error("Unable to register AVRCP service record"); - sdp_record_free(record); - avrcp_remote_unregister(adapter); - return -1; - } - server->ct_record_id = record->handle; - - return 0; -} - -static void avrcp_server_unregister(struct avrcp_server *server) -{ - g_slist_free_full(server->sessions, g_free); - g_slist_free_full(server->players, player_destroy); - - servers = g_slist_remove(servers, server); - - avctp_unregister(server->adapter); - btd_adapter_unref(server->adapter); - g_free(server); - - if (servers) - return; - - if (avctp_id) { - avctp_remove_state_cb(avctp_id); - avctp_id = 0; - } -} - -void avrcp_target_unregister(struct btd_adapter *adapter) -{ - struct avrcp_server *server; - - server = find_server(servers, adapter); - if (!server) - return; - - if (server->tg_record_id != 0) { - remove_record_from_server(server->tg_record_id); - server->tg_record_id = 0; - } - - if (server->ct_record_id == 0) - avrcp_server_unregister(server); -} - -void avrcp_remote_unregister(struct btd_adapter *adapter) -{ - struct avrcp_server *server; - - server = find_server(servers, adapter); - if (!server) - return; - - if (server->ct_record_id != 0) { - remove_record_from_server(server->ct_record_id); - server->ct_record_id = 0; - } - - if (server->tg_record_id == 0) - avrcp_server_unregister(server); -} - -struct avrcp_player *avrcp_register_player(struct btd_adapter *adapter, - struct avrcp_player_cb *cb, - void *user_data, - GDestroyNotify destroy) -{ - struct avrcp_server *server; - struct avrcp_player *player; - GSList *l; - - server = find_server(servers, adapter); - if (!server) - return NULL; - - player = g_new0(struct avrcp_player, 1); - player->server = server; - player->cb = cb; - player->user_data = user_data; - player->destroy = destroy; - - server->players = g_slist_append(server->players, player); - - /* Assign player to session without current player */ - for (l = server->sessions; l; l = l->next) { - struct avrcp *session = l->data; - - if (session->player == NULL) { - session->player = player; - player->sessions = g_slist_append(player->sessions, - session); - } - } - - return player; -} - -void avrcp_unregister_player(struct avrcp_player *player) -{ - struct avrcp_server *server = player->server; - GSList *l; - - server->players = g_slist_remove(server->players, player); - - /* Remove player from sessions using it */ - for (l = player->sessions; l; l = l->next) { - struct avrcp *session = l->data; - - if (session->player == player) - session->player = g_slist_nth_data(server->players, 0); - } - - player_destroy(player); -} - -static gboolean avrcp_handle_set_volume(struct avctp *conn, - uint8_t code, uint8_t subunit, - uint8_t *operands, size_t operand_count, - void *user_data) -{ - struct avrcp *session = user_data; - struct avrcp_player *player = session->player; - struct avrcp_header *pdu = (void *) operands; - uint8_t volume; - - if (code == AVC_CTYPE_REJECTED || code == AVC_CTYPE_NOT_IMPLEMENTED) - return FALSE; - - volume = pdu->params[0] & 0x7F; - - player->cb->set_volume(volume, session->dev, player->user_data); - - return FALSE; -} - -int avrcp_set_volume(struct audio_device *dev, uint8_t volume) -{ - struct avrcp_server *server; - struct avrcp *session; - uint8_t buf[AVRCP_HEADER_LENGTH + 2]; - struct avrcp_header *pdu = (void *) buf; - - server = find_server(servers, device_get_adapter(dev->btd_dev)); - if (server == NULL) - return -EINVAL; - - session = find_session(server->sessions, dev); - if (session == NULL) - return -ENOTCONN; - - if (session->version < 0x0104) - return -ENOTSUP; - - memset(buf, 0, sizeof(buf)); - - set_company_id(pdu->company_id, IEEEID_BTSIG); - - DBG("volume=%u", volume); - - if (session->target) { - pdu->pdu_id = AVRCP_SET_ABSOLUTE_VOLUME; - pdu->params[0] = volume; - pdu->params_len = htons(1); - - return avctp_send_vendordep_req(session->conn, - AVC_CTYPE_CONTROL, AVC_SUBUNIT_PANEL, - buf, sizeof(buf), - avrcp_handle_set_volume, session); - } else if (session->registered_events & - (1 << AVRCP_EVENT_VOLUME_CHANGED)) { - uint8_t id = AVRCP_EVENT_VOLUME_CHANGED; - pdu->pdu_id = AVRCP_REGISTER_NOTIFICATION; - pdu->params[0] = AVRCP_EVENT_VOLUME_CHANGED; - pdu->params[1] = volume; - pdu->params_len = htons(2); - - return avctp_send_vendordep(session->conn, - session->transaction_events[id], - AVC_CTYPE_CHANGED, AVC_SUBUNIT_PANEL, - buf, sizeof(buf)); - } - - return 0; -} diff --git a/GRIB_BLE_HUB/libs/ble_extend/profiles/audio/avrcp.h b/GRIB_BLE_HUB/libs/ble_extend/profiles/audio/avrcp.h deleted file mode 100644 index 7b6fe92..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/profiles/audio/avrcp.h +++ /dev/null @@ -1,117 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2006-2010 Nokia Corporation - * Copyright (C) 2004-2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -/* player attributes */ -#define AVRCP_ATTRIBUTE_ILEGAL 0x00 -#define AVRCP_ATTRIBUTE_EQUALIZER 0x01 -#define AVRCP_ATTRIBUTE_REPEAT_MODE 0x02 -#define AVRCP_ATTRIBUTE_SHUFFLE 0x03 -#define AVRCP_ATTRIBUTE_SCAN 0x04 - -/* equalizer values */ -#define AVRCP_EQUALIZER_OFF 0x01 -#define AVRCP_EQUALIZER_ON 0x02 - -/* repeat mode values */ -#define AVRCP_REPEAT_MODE_OFF 0x01 -#define AVRCP_REPEAT_MODE_SINGLE 0x02 -#define AVRCP_REPEAT_MODE_ALL 0x03 -#define AVRCP_REPEAT_MODE_GROUP 0x04 - -/* shuffle values */ -#define AVRCP_SHUFFLE_OFF 0x01 -#define AVRCP_SHUFFLE_ALL 0x02 -#define AVRCP_SHUFFLE_GROUP 0x03 - -/* scan values */ -#define AVRCP_SCAN_OFF 0x01 -#define AVRCP_SCAN_ALL 0x02 -#define AVRCP_SCAN_GROUP 0x03 - -/* media attributes */ -#define AVRCP_MEDIA_ATTRIBUTE_ILLEGAL 0x00 -#define AVRCP_MEDIA_ATTRIBUTE_TITLE 0x01 -#define AVRCP_MEDIA_ATTRIBUTE_ARTIST 0x02 -#define AVRCP_MEDIA_ATTRIBUTE_ALBUM 0x03 -#define AVRCP_MEDIA_ATTRIBUTE_TRACK 0x04 -#define AVRCP_MEDIA_ATTRIBUTE_N_TRACKS 0x05 -#define AVRCP_MEDIA_ATTRIBUTE_GENRE 0x06 -#define AVRCP_MEDIA_ATTRIBUTE_DURATION 0x07 -#define AVRCP_MEDIA_ATTRIBUTE_LAST AVRCP_MEDIA_ATTRIBUTE_DURATION - -/* play status */ -#define AVRCP_PLAY_STATUS_STOPPED 0x00 -#define AVRCP_PLAY_STATUS_PLAYING 0x01 -#define AVRCP_PLAY_STATUS_PAUSED 0x02 -#define AVRCP_PLAY_STATUS_FWD_SEEK 0x03 -#define AVRCP_PLAY_STATUS_REV_SEEK 0x04 -#define AVRCP_PLAY_STATUS_ERROR 0xFF - -/* Notification events */ -#define AVRCP_EVENT_STATUS_CHANGED 0x01 -#define AVRCP_EVENT_TRACK_CHANGED 0x02 -#define AVRCP_EVENT_TRACK_REACHED_END 0x03 -#define AVRCP_EVENT_TRACK_REACHED_START 0x04 -#define AVRCP_EVENT_SETTINGS_CHANGED 0x08 -#define AVRCP_EVENT_AVAILABLE_PLAYERS_CHANGED 0x0a -#define AVRCP_EVENT_ADDRESSED_PLAYER_CHANGED 0x0b -#define AVRCP_EVENT_UIDS_CHANGED 0x0c -#define AVRCP_EVENT_VOLUME_CHANGED 0x0d -#define AVRCP_EVENT_LAST AVRCP_EVENT_VOLUME_CHANGED - -struct avrcp_player_cb { - GList *(*list_settings) (void *user_data); - const char *(*get_setting) (const char *key, void *user_data); - int (*set_setting) (const char *key, const char *value, - void *user_data); - uint64_t (*get_uid) (void *user_data); - const char *(*get_metadata) (const char *key, void *user_data); - GList *(*list_metadata) (void *user_data); - const char *(*get_status) (void *user_data); - uint32_t (*get_position) (void *user_data); - uint32_t (*get_duration) (void *user_data); - void (*set_volume) (uint8_t volume, struct audio_device *dev, - void *user_data); -}; - -int avrcp_target_register(struct btd_adapter *adapter, GKeyFile *config); -void avrcp_target_unregister(struct btd_adapter *adapter); -int avrcp_remote_register(struct btd_adapter *adapter, GKeyFile *config); -void avrcp_remote_unregister(struct btd_adapter *adapter); - -gboolean avrcp_connect(struct audio_device *dev); -void avrcp_disconnect(struct audio_device *dev); -int avrcp_set_volume(struct audio_device *dev, uint8_t volume); - -struct avrcp_player *avrcp_register_player(struct btd_adapter *adapter, - struct avrcp_player_cb *cb, - void *user_data, - GDestroyNotify destroy); -void avrcp_unregister_player(struct avrcp_player *player); - -void avrcp_player_event(struct avrcp_player *player, uint8_t id, void *data); - - -size_t avrcp_handle_vendor_reject(uint8_t *code, uint8_t *operands); -size_t avrcp_browsing_general_reject(uint8_t *operands); diff --git a/GRIB_BLE_HUB/libs/ble_extend/profiles/audio/control.c b/GRIB_BLE_HUB/libs/ble_extend/profiles/audio/control.c deleted file mode 100644 index 6086bde..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/profiles/audio/control.c +++ /dev/null @@ -1,294 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2006-2010 Nokia Corporation - * Copyright (C) 2004-2010 Marcel Holtmann - * Copyright (C) 2011 Texas Instruments, Inc. - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include - -#include -#include -#include - -#include "lib/uuid.h" -#include "../src/adapter.h" -#include "../src/device.h" - -#include "log.h" -#include "error.h" -#include "device.h" -#include "manager.h" -#include "avctp.h" -#include "control.h" -#include "sdpd.h" -#include "glib-helper.h" -#include "dbus-common.h" - -struct control { - struct avctp *session; - gboolean target; - unsigned int avctp_id; -}; - -static void state_changed(struct audio_device *dev, avctp_state_t old_state, - avctp_state_t new_state) -{ - DBusConnection *conn = btd_get_dbus_connection(); - struct control *control = dev->control; - const char *path = device_get_path(dev->btd_dev); - - switch (new_state) { - case AVCTP_STATE_DISCONNECTED: - control->session = NULL; - - g_dbus_emit_property_changed(conn, path, - AUDIO_CONTROL_INTERFACE, "Connected"); - - break; - case AVCTP_STATE_CONNECTING: - if (control->session) - break; - - control->session = avctp_get(dev); - - break; - case AVCTP_STATE_CONNECTED: - g_dbus_emit_property_changed(conn, path, - AUDIO_CONTROL_INTERFACE, "Connected"); - break; - default: - return; - } -} - -int control_connect(struct audio_device *dev) -{ - struct control *control = dev->control; - - if (control->session) - return -EALREADY; - - if (!control->target) - return -ENOTSUP; - - control->session = avctp_connect(dev); - if (!control->session) - return -EIO; - - return 0; -} - -int control_disconnect(struct audio_device *dev) -{ - struct control *control = dev->control; - - if (!control->session) - return -ENOTCONN; - - avctp_disconnect(control->session); - - return 0; -} - -static DBusMessage *key_pressed(DBusConnection *conn, DBusMessage *msg, - uint8_t op, void *data) -{ - struct audio_device *device = data; - struct control *control = device->control; - int err; - - if (!control->session) - return btd_error_not_connected(msg); - - if (!control->target) - return btd_error_not_supported(msg); - - err = avctp_send_passthrough(control->session, op); - if (err < 0) - return btd_error_failed(msg, strerror(-err)); - - return dbus_message_new_method_return(msg); -} - -static DBusMessage *control_volume_up(DBusConnection *conn, DBusMessage *msg, - void *data) -{ - return key_pressed(conn, msg, AVC_VOLUME_UP, data); -} - -static DBusMessage *control_volume_down(DBusConnection *conn, DBusMessage *msg, - void *data) -{ - return key_pressed(conn, msg, AVC_VOLUME_DOWN, data); -} - -static DBusMessage *control_play(DBusConnection *conn, DBusMessage *msg, - void *data) -{ - return key_pressed(conn, msg, AVC_PLAY, data); -} - -static DBusMessage *control_pause(DBusConnection *conn, DBusMessage *msg, - void *data) -{ - return key_pressed(conn, msg, AVC_PAUSE, data); -} - -static DBusMessage *control_stop(DBusConnection *conn, DBusMessage *msg, - void *data) -{ - return key_pressed(conn, msg, AVC_STOP, data); -} - -static DBusMessage *control_next(DBusConnection *conn, DBusMessage *msg, - void *data) -{ - return key_pressed(conn, msg, AVC_FORWARD, data); -} - -static DBusMessage *control_previous(DBusConnection *conn, DBusMessage *msg, - void *data) -{ - return key_pressed(conn, msg, AVC_BACKWARD, data); -} - -static DBusMessage *control_fast_forward(DBusConnection *conn, DBusMessage *msg, - void *data) -{ - return key_pressed(conn, msg, AVC_FAST_FORWARD, data); -} - -static DBusMessage *control_rewind(DBusConnection *conn, DBusMessage *msg, - void *data) -{ - return key_pressed(conn, msg, AVC_REWIND, data); -} - -static gboolean control_property_get_connected( - const GDBusPropertyTable *property, - DBusMessageIter *iter, void *data) -{ - struct audio_device *device = data; - dbus_bool_t value = (device->control->session != NULL); - - dbus_message_iter_append_basic(iter, DBUS_TYPE_BOOLEAN, &value); - - return TRUE; -} - -static const GDBusMethodTable control_methods[] = { - { GDBUS_METHOD("Play", NULL, NULL, control_play) }, - { GDBUS_METHOD("Pause", NULL, NULL, control_pause) }, - { GDBUS_METHOD("Stop", NULL, NULL, control_stop) }, - { GDBUS_METHOD("Next", NULL, NULL, control_next) }, - { GDBUS_METHOD("Previous", NULL, NULL, control_previous) }, - { GDBUS_METHOD("VolumeUp", NULL, NULL, control_volume_up) }, - { GDBUS_METHOD("VolumeDown", NULL, NULL, control_volume_down) }, - { GDBUS_METHOD("FastForward", NULL, NULL, control_fast_forward) }, - { GDBUS_METHOD("Rewind", NULL, NULL, control_rewind) }, - { } -}; - -static const GDBusPropertyTable control_properties[] = { - { "Connected", "b", control_property_get_connected }, - { } -}; - -static void path_unregister(void *data) -{ - struct audio_device *dev = data; - struct control *control = dev->control; - - DBG("Unregistered interface %s on path %s", - AUDIO_CONTROL_INTERFACE, device_get_path(dev->btd_dev)); - - if (control->session) - avctp_disconnect(control->session); - - avctp_remove_state_cb(control->avctp_id); - - g_free(control); - dev->control = NULL; -} - -void control_unregister(struct audio_device *dev) -{ - g_dbus_unregister_interface(btd_get_dbus_connection(), - device_get_path(dev->btd_dev), - AUDIO_CONTROL_INTERFACE); -} - -void control_update(struct control *control, GSList *uuids) -{ - if (g_slist_find_custom(uuids, AVRCP_TARGET_UUID, bt_uuid_strcmp)) - control->target = TRUE; -} - -struct control *control_init(struct audio_device *dev, GSList *uuids) -{ - struct control *control; - - if (!g_dbus_register_interface(btd_get_dbus_connection(), - device_get_path(dev->btd_dev), - AUDIO_CONTROL_INTERFACE, - control_methods, NULL, - control_properties, dev, - path_unregister)) - return NULL; - - DBG("Registered interface %s on path %s", - AUDIO_CONTROL_INTERFACE, device_get_path(dev->btd_dev)); - - control = g_new0(struct control, 1); - - control_update(control, uuids); - - control->avctp_id = avctp_add_state_cb(dev, state_changed); - - return control; -} - -gboolean control_is_active(struct audio_device *dev) -{ - struct control *control = dev->control; - - if (control && control->session) - return TRUE; - - return FALSE; -} diff --git a/GRIB_BLE_HUB/libs/ble_extend/profiles/audio/control.h b/GRIB_BLE_HUB/libs/ble_extend/profiles/audio/control.h deleted file mode 100644 index de0259e..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/profiles/audio/control.h +++ /dev/null @@ -1,33 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2006-2010 Nokia Corporation - * Copyright (C) 2004-2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#define AUDIO_CONTROL_INTERFACE "org.bluez.MediaControl1" - -struct control *control_init(struct audio_device *dev, GSList *uuids); -void control_update(struct control *control, GSList *uuids); -void control_unregister(struct audio_device *dev); -gboolean control_is_active(struct audio_device *dev); - -int control_connect(struct audio_device *dev); -int control_disconnect(struct audio_device *dev); diff --git a/GRIB_BLE_HUB/libs/ble_extend/profiles/audio/device.c b/GRIB_BLE_HUB/libs/ble_extend/profiles/audio/device.c deleted file mode 100644 index 907221d..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/profiles/audio/device.c +++ /dev/null @@ -1,354 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2006-2010 Nokia Corporation - * Copyright (C) 2004-2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include - -#include -#include -#include - -#include "log.h" -#include "../src/adapter.h" -#include "../src/device.h" - -#include "error.h" -#include "dbus-common.h" -#include "device.h" -#include "avdtp.h" -#include "control.h" -#include "avctp.h" -#include "avrcp.h" -#include "sink.h" -#include "source.h" - -#define AUDIO_INTERFACE "org.bluez.Audio" - -#define CONTROL_CONNECT_TIMEOUT 2 -#define AVDTP_CONNECT_TIMEOUT 1 -#define AVDTP_CONNECT_TIMEOUT_BOOST 1 - -typedef enum { - AUDIO_STATE_DISCONNECTED, - AUDIO_STATE_CONNECTING, - AUDIO_STATE_CONNECTED, -} audio_state_t; - -struct dev_priv { - audio_state_t state; - - sink_state_t sink_state; - avctp_state_t avctp_state; - - guint control_timer; - guint avdtp_timer; - guint dc_id; - - gboolean disconnecting; - - unsigned int avdtp_callback_id; - unsigned int avctp_callback_id; - unsigned int sink_callback_id; -}; - -static void device_free(struct audio_device *dev) -{ - struct dev_priv *priv = dev->priv; - - if (priv) { - if (priv->control_timer) - g_source_remove(priv->control_timer); - if (priv->avdtp_timer) - g_source_remove(priv->avdtp_timer); - if (priv->dc_id) - device_remove_disconnect_watch(dev->btd_dev, - priv->dc_id); - - avdtp_remove_state_cb(priv->avdtp_callback_id); - avctp_remove_state_cb(priv->avctp_callback_id); - sink_remove_state_cb(priv->sink_callback_id); - - g_free(priv); - } - - btd_device_unref(dev->btd_dev); - - g_free(dev); -} - -static const char *state2str(audio_state_t state) -{ - switch (state) { - case AUDIO_STATE_DISCONNECTED: - return "disconnected"; - case AUDIO_STATE_CONNECTING: - return "connecting"; - case AUDIO_STATE_CONNECTED: - return "connected"; - default: - error("Invalid audio state %d", state); - return NULL; - } -} - -static gboolean control_connect_timeout(gpointer user_data) -{ - struct audio_device *dev = user_data; - - dev->priv->control_timer = 0; - - if (dev->control) - avrcp_connect(dev); - - return FALSE; -} - -static gboolean device_set_control_timer(struct audio_device *dev) -{ - struct dev_priv *priv = dev->priv; - - if (!dev->control) - return FALSE; - - if (priv->control_timer) - return FALSE; - - priv->control_timer = g_timeout_add_seconds(CONTROL_CONNECT_TIMEOUT, - control_connect_timeout, - dev); - - return TRUE; -} - -static void device_remove_control_timer(struct audio_device *dev) -{ - if (dev->priv->control_timer) - g_source_remove(dev->priv->control_timer); - dev->priv->control_timer = 0; -} - -static void device_remove_avdtp_timer(struct audio_device *dev) -{ - if (dev->priv->avdtp_timer) - g_source_remove(dev->priv->avdtp_timer); - dev->priv->avdtp_timer = 0; -} - -static void disconnect_cb(struct btd_device *btd_dev, gboolean removal, - void *user_data) -{ - struct audio_device *dev = user_data; - struct dev_priv *priv = dev->priv; - - if (priv->state == AUDIO_STATE_DISCONNECTED) - return; - - if (priv->disconnecting) - return; - - priv->disconnecting = TRUE; - - device_remove_control_timer(dev); - device_remove_avdtp_timer(dev); - - if (dev->control) - avrcp_disconnect(dev); - - if (dev->sink && priv->sink_state != SINK_STATE_DISCONNECTED) - sink_disconnect(dev, TRUE); - else - priv->disconnecting = FALSE; -} - -static void device_set_state(struct audio_device *dev, audio_state_t new_state) -{ - struct dev_priv *priv = dev->priv; - const char *state_str; - - state_str = state2str(new_state); - if (!state_str) - return; - - if (new_state == AUDIO_STATE_DISCONNECTED) { - if (priv->dc_id) { - device_remove_disconnect_watch(dev->btd_dev, - priv->dc_id); - priv->dc_id = 0; - } - } else if (new_state == AUDIO_STATE_CONNECTING) - priv->dc_id = device_add_disconnect_watch(dev->btd_dev, - disconnect_cb, dev, NULL); - - if (dev->priv->state == new_state) { - DBG("state change attempted from %s to %s", - state_str, state_str); - return; - } - - dev->priv->state = new_state; - - if (new_state == AUDIO_STATE_DISCONNECTED) - priv->disconnecting = FALSE; -} - -static void device_avdtp_cb(struct audio_device *dev, struct avdtp *session, - avdtp_session_state_t old_state, - avdtp_session_state_t new_state) -{ - if (!dev->control) - return; - - if (new_state == AVDTP_SESSION_STATE_CONNECTED) { - if (avdtp_stream_setup_active(session)) - device_set_control_timer(dev); - else - avrcp_connect(dev); - } -} - -static void device_sink_cb(struct audio_device *dev, - sink_state_t old_state, - sink_state_t new_state, - void *user_data) -{ - struct dev_priv *priv = dev->priv; - - if (!dev->sink) - return; - - priv->sink_state = new_state; - - switch (new_state) { - case SINK_STATE_DISCONNECTED: - if (dev->control) { - device_remove_control_timer(dev); - avrcp_disconnect(dev); - } - - device_set_state(dev, AUDIO_STATE_DISCONNECTED); - break; - case SINK_STATE_CONNECTING: - device_remove_avdtp_timer(dev); - device_set_state(dev, AUDIO_STATE_CONNECTING); - break; - case SINK_STATE_CONNECTED: - if (old_state == SINK_STATE_PLAYING) - break; - device_set_state(dev, AUDIO_STATE_CONNECTED); - break; - case SINK_STATE_PLAYING: - break; - } -} - -static void device_avctp_cb(struct audio_device *dev, avctp_state_t old_state, - avctp_state_t new_state) -{ - if (!dev->control) - return; - - dev->priv->avctp_state = new_state; - - switch (new_state) { - case AVCTP_STATE_DISCONNECTED: - break; - case AVCTP_STATE_CONNECTING: - device_remove_control_timer(dev); - break; - case AVCTP_STATE_CONNECTED: - break; - case AVCTP_STATE_BROWSING_CONNECTING: - break; - case AVCTP_STATE_BROWSING_CONNECTED: - break; - } -} - -struct audio_device *audio_device_register(struct btd_device *device) -{ - struct audio_device *dev; - - DBG("%s", device_get_path(device)); - - dev = g_new0(struct audio_device, 1); - - dev->btd_dev = btd_device_ref(device); - dev->priv = g_new0(struct dev_priv, 1); - dev->priv->state = AUDIO_STATE_DISCONNECTED; - - dev->priv->sink_callback_id = sink_add_state_cb(dev, device_sink_cb, - NULL); - dev->priv->avdtp_callback_id = avdtp_add_state_cb(dev, device_avdtp_cb); - dev->priv->avctp_callback_id = avctp_add_state_cb(dev, device_avctp_cb); - - return dev; -} - -gboolean audio_device_is_active(struct audio_device *dev, - const char *interface) -{ - if (!interface) { - if ((dev->sink || dev->source) && avdtp_is_connected(dev)) - return TRUE; - } else if (!strcmp(interface, AUDIO_SINK_INTERFACE) && dev->sink && - avdtp_is_connected(dev)) - return TRUE; - else if (!strcmp(interface, AUDIO_SOURCE_INTERFACE) && dev->source && - avdtp_is_connected(dev)) - return TRUE; - else if (!strcmp(interface, AUDIO_CONTROL_INTERFACE) && dev->control && - control_is_active(dev)) - return TRUE; - - return FALSE; -} - -void audio_device_unregister(struct audio_device *device) -{ - DBG("%s", device_get_path(device->btd_dev)); - - if (device->sink) - sink_unregister(device); - - if (device->source) - source_unregister(device); - - if (device->control) - control_unregister(device); - - device_free(device); -} diff --git a/GRIB_BLE_HUB/libs/ble_extend/profiles/audio/device.h b/GRIB_BLE_HUB/libs/ble_extend/profiles/audio/device.h deleted file mode 100644 index ad4dae5..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/profiles/audio/device.h +++ /dev/null @@ -1,48 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2006-2010 Nokia Corporation - * Copyright (C) 2004-2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -struct audio_device; -struct source; -struct control; -struct sink; -struct dev_priv; - -typedef void (*audio_device_cb) (struct audio_device *dev, int err, void *data); - -struct audio_device { - struct btd_device *btd_dev; - - struct sink *sink; - struct source *source; - struct control *control; - - struct dev_priv *priv; -}; - -struct audio_device *audio_device_register(struct btd_device *device); - -void audio_device_unregister(struct audio_device *device); - -gboolean audio_device_is_active(struct audio_device *dev, - const char *interface); diff --git a/GRIB_BLE_HUB/libs/ble_extend/profiles/audio/main.c b/GRIB_BLE_HUB/libs/ble_extend/profiles/audio/main.c deleted file mode 100644 index adc9e45..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/profiles/audio/main.c +++ /dev/null @@ -1,87 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2006-2010 Nokia Corporation - * Copyright (C) 2004-2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include - -#include "glib-helper.h" -#include "plugin.h" -#include "log.h" -#include "device.h" -#include "manager.h" - -static GKeyFile *load_config_file(const char *file) -{ - GError *err = NULL; - GKeyFile *keyfile; - - keyfile = g_key_file_new(); - - g_key_file_set_list_separator(keyfile, ','); - - if (!g_key_file_load_from_file(keyfile, file, 0, &err)) { - if (!g_error_matches(err, G_FILE_ERROR, G_FILE_ERROR_NOENT)) - error("Parsing %s failed: %s", file, err->message); - g_error_free(err); - g_key_file_free(keyfile); - return NULL; - } - - return keyfile; -} - -static int audio_init(void) -{ - GKeyFile *config; - - config = load_config_file(CONFIGDIR "/audio.conf"); - - if (audio_manager_init(config) < 0) { - audio_manager_exit(); - return -EIO; - } - - return 0; -} - -static void audio_exit(void) -{ - audio_manager_exit(); -} - -BLUETOOTH_PLUGIN_DEFINE(audio, VERSION, - BLUETOOTH_PLUGIN_PRIORITY_DEFAULT, audio_init, audio_exit) diff --git a/GRIB_BLE_HUB/libs/ble_extend/profiles/audio/manager.c b/GRIB_BLE_HUB/libs/ble_extend/profiles/audio/manager.c deleted file mode 100644 index 4517815..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/profiles/audio/manager.c +++ /dev/null @@ -1,506 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2006-2010 Nokia Corporation - * Copyright (C) 2004-2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include - -#include -#include -#include -#include - -#include "lib/uuid.h" -#include "glib-helper.h" -#include "../src/adapter.h" -#include "../src/device.h" -#include "../src/profile.h" - -#include "log.h" -#include "device.h" -#include "error.h" -#include "avdtp.h" -#include "media.h" -#include "a2dp.h" -#include "sink.h" -#include "source.h" -#include "avrcp.h" -#include "control.h" -#include "manager.h" -#include "sdpd.h" - -static GKeyFile *config = NULL; -static GSList *devices = NULL; - -static struct audio_device *get_audio_dev(struct btd_device *device) -{ - return manager_get_audio_device(device, TRUE); -} - -static struct audio_device *manager_find_device(struct btd_device *device) -{ - GSList *l; - - for (l = devices; l != NULL; l = l->next) { - struct audio_device *dev = l->data; - - if (dev->btd_dev == device) - return dev; - } - - return NULL; -} - -static void audio_remove(struct btd_profile *p, struct btd_device *device) -{ - struct audio_device *dev; - - dev = manager_find_device(device); - if (dev == NULL) - return; - - devices = g_slist_remove(devices, dev); - audio_device_unregister(dev); -} - -static int a2dp_source_probe(struct btd_profile *p, struct btd_device *device, - GSList *uuids) -{ - struct audio_device *audio_dev; - - audio_dev = get_audio_dev(device); - if (!audio_dev) { - DBG("unable to get a device object"); - return -1; - } - - audio_dev->source = source_init(audio_dev); - - return 0; -} - -static int a2dp_sink_probe(struct btd_profile *p, struct btd_device *device, - GSList *uuids) -{ - struct audio_device *audio_dev; - - audio_dev = get_audio_dev(device); - if (!audio_dev) { - DBG("unable to get a device object"); - return -1; - } - - audio_dev->sink = sink_init(audio_dev); - - return 0; -} - -static int avrcp_probe(struct btd_profile *p, struct btd_device *device, - GSList *uuids) -{ - struct audio_device *audio_dev; - - audio_dev = get_audio_dev(device); - if (!audio_dev) { - DBG("unable to get a device object"); - return -1; - } - - if (audio_dev->control) - control_update(audio_dev->control, uuids); - else - audio_dev->control = control_init(audio_dev, uuids); - - if (audio_dev->sink && sink_is_active(audio_dev)) - avrcp_connect(audio_dev); - - return 0; -} - -static int a2dp_source_connect(struct btd_device *dev, - struct btd_profile *profile) -{ - const char *path = device_get_path(dev); - struct audio_device *audio_dev; - - DBG("path %s", path); - - audio_dev = get_audio_dev(dev); - if (!audio_dev) { - DBG("unable to get a device object"); - return -1; - } - - return source_connect(audio_dev); -} - -static int a2dp_source_disconnect(struct btd_device *dev, - struct btd_profile *profile) -{ - const char *path = device_get_path(dev); - struct audio_device *audio_dev; - - DBG("path %s", path); - - audio_dev = get_audio_dev(dev); - if (!audio_dev) { - DBG("unable to get a device object"); - return -1; - } - - return source_disconnect(audio_dev, FALSE); -} - -static int a2dp_sink_connect(struct btd_device *dev, - struct btd_profile *profile) -{ - const char *path = device_get_path(dev); - struct audio_device *audio_dev; - - DBG("path %s", path); - - audio_dev = get_audio_dev(dev); - if (!audio_dev) { - DBG("unable to get a device object"); - return -1; - } - - return sink_connect(audio_dev); -} - -static int a2dp_sink_disconnect(struct btd_device *dev, - struct btd_profile *profile) -{ - const char *path = device_get_path(dev); - struct audio_device *audio_dev; - - DBG("path %s", path); - - audio_dev = get_audio_dev(dev); - if (!audio_dev) { - DBG("unable to get a device object"); - return -1; - } - - return sink_disconnect(audio_dev, FALSE); -} - -static int avrcp_target_connect(struct btd_device *dev, - struct btd_profile *profile) -{ - const char *path = device_get_path(dev); - struct audio_device *audio_dev; - - DBG("path %s", path); - - audio_dev = get_audio_dev(dev); - if (!audio_dev) { - DBG("unable to get a device object"); - return -1; - } - - return control_connect(audio_dev); -} - -static int avrcp_target_disconnect(struct btd_device *dev, - struct btd_profile *profile) -{ - const char *path = device_get_path(dev); - struct audio_device *audio_dev; - - DBG("path %s", path); - - audio_dev = get_audio_dev(dev); - if (!audio_dev) { - DBG("unable to get a device object"); - return -1; - } - - return control_disconnect(audio_dev); -} - -static int a2dp_source_server_probe(struct btd_profile *p, - struct btd_adapter *adapter) -{ - DBG("path %s", adapter_get_path(adapter)); - - return a2dp_source_register(adapter, config); -} - -static void a2dp_source_server_remove(struct btd_profile *p, - struct btd_adapter *adapter) -{ - DBG("path %s", adapter_get_path(adapter)); - - a2dp_source_unregister(adapter); -} - -static int a2dp_sink_server_probe(struct btd_profile *p, - struct btd_adapter *adapter) -{ - DBG("path %s", adapter_get_path(adapter)); - - return a2dp_sink_register(adapter, config); -} - -static void a2dp_sink_server_remove(struct btd_profile *p, - struct btd_adapter *adapter) -{ - DBG("path %s", adapter_get_path(adapter)); - - a2dp_sink_unregister(adapter); -} - -static int avrcp_target_server_probe(struct btd_profile *p, - struct btd_adapter *adapter) -{ - DBG("path %s", adapter_get_path(adapter)); - - return avrcp_target_register(adapter, config); -} - -static int avrcp_remote_server_probe(struct btd_profile *p, - struct btd_adapter *adapter) -{ - DBG("path %s", adapter_get_path(adapter)); - - return avrcp_remote_register(adapter, config); -} - -static void avrcp_target_server_remove(struct btd_profile *p, - struct btd_adapter *adapter) -{ - DBG("path %s", adapter_get_path(adapter)); - - avrcp_target_unregister(adapter); -} - -static void avrcp_remote_server_remove(struct btd_profile *p, - struct btd_adapter *adapter) -{ - DBG("path %s", adapter_get_path(adapter)); - - avrcp_remote_unregister(adapter); -} - -static int media_server_probe(struct btd_adapter *adapter) -{ - DBG("path %s", adapter_get_path(adapter)); - - return media_register(adapter); -} - -static void media_server_remove(struct btd_adapter *adapter) -{ - DBG("path %s", adapter_get_path(adapter)); - - media_unregister(adapter); -} - -static struct btd_profile a2dp_source_profile = { - .name = "audio-source", - .priority = BTD_PROFILE_PRIORITY_MEDIUM, - - .remote_uuid = A2DP_SOURCE_UUID, - .device_probe = a2dp_source_probe, - .device_remove = audio_remove, - - .auto_connect = true, - .connect = a2dp_source_connect, - .disconnect = a2dp_source_disconnect, - - .adapter_probe = a2dp_sink_server_probe, - .adapter_remove = a2dp_sink_server_remove, -}; - -static struct btd_profile a2dp_sink_profile = { - .name = "audio-sink", - .priority = BTD_PROFILE_PRIORITY_MEDIUM, - - .remote_uuid = A2DP_SINK_UUID, - .device_probe = a2dp_sink_probe, - .device_remove = audio_remove, - - .auto_connect = true, - .connect = a2dp_sink_connect, - .disconnect = a2dp_sink_disconnect, - - .adapter_probe = a2dp_source_server_probe, - .adapter_remove = a2dp_source_server_remove, -}; - -static struct btd_profile avrcp_target_profile = { - .name = "audio-avrcp-target", - - .remote_uuid = AVRCP_TARGET_UUID, - .device_probe = avrcp_probe, - .device_remove = audio_remove, - - .auto_connect = true, - .connect = avrcp_target_connect, - .disconnect = avrcp_target_disconnect, - - .adapter_probe = avrcp_target_server_probe, - .adapter_remove = avrcp_target_server_remove, -}; - -static struct btd_profile avrcp_remote_profile = { - .name = "audio-avrcp-control", - - .remote_uuid = AVRCP_REMOTE_UUID, - .device_probe = avrcp_probe, - .device_remove = audio_remove, - - .adapter_probe = avrcp_remote_server_probe, - .adapter_remove = avrcp_remote_server_remove, -}; - -static struct btd_adapter_driver media_driver = { - .name = "media", - .probe = media_server_probe, - .remove = media_server_remove, -}; - -void audio_sink_connected(struct btd_device *dev, int err) -{ - device_profile_connected(dev, &a2dp_sink_profile, err); -} - -void audio_sink_disconnected(struct btd_device *dev, int err) -{ - device_profile_disconnected(dev, &a2dp_sink_profile, err); -} - -void audio_source_connected(struct btd_device *dev, int err) -{ - device_profile_connected(dev, &a2dp_source_profile, err); -} - -void audio_source_disconnected(struct btd_device *dev, int err) -{ - device_profile_disconnected(dev, &a2dp_source_profile, err); -} - -void audio_target_connected(struct btd_device *dev, int err) -{ - device_profile_connected(dev, &avrcp_target_profile, err); -} - -void audio_target_disconnected(struct btd_device *dev, int err) -{ - device_profile_disconnected(dev, &avrcp_target_profile, err); -} - -void audio_controller_connected(struct btd_device *dev, int err) -{ - device_profile_connected(dev, &avrcp_remote_profile, err); -} - -void audio_controller_disconnected(struct btd_device *dev, int err) -{ - device_profile_disconnected(dev, &avrcp_remote_profile, err); -} - -int audio_manager_init(GKeyFile *conf) -{ - if (conf) - config = conf; - - btd_profile_register(&a2dp_source_profile); - btd_profile_register(&a2dp_sink_profile); - btd_profile_register(&avrcp_remote_profile); - btd_profile_register(&avrcp_target_profile); - - btd_register_adapter_driver(&media_driver); - - return 0; -} - -void audio_manager_exit(void) -{ - if (config) { - g_key_file_free(config); - config = NULL; - } - - btd_profile_unregister(&a2dp_source_profile); - btd_profile_unregister(&a2dp_sink_profile); - btd_profile_unregister(&avrcp_remote_profile); - btd_profile_unregister(&avrcp_target_profile); - - btd_unregister_adapter_driver(&media_driver); -} - -struct audio_device *manager_get_audio_device(struct btd_device *device, - gboolean create) -{ - struct audio_device *dev; - - dev = manager_find_device(device); - if (dev) - return dev; - - if (!create) - return NULL; - - dev = audio_device_register(device); - if (!dev) - return NULL; - - devices = g_slist_append(devices, dev); - - return dev; -} - -static void set_fast_connectable(struct btd_adapter *adapter, - gpointer user_data) -{ - gboolean enable = GPOINTER_TO_UINT(user_data); - - if (btd_adapter_set_fast_connectable(adapter, enable)) - error("Changing fast connectable for hci%d failed", - btd_adapter_get_index(adapter)); -} - -void manager_set_fast_connectable(gboolean enable) -{ - adapter_foreach(set_fast_connectable, GUINT_TO_POINTER(enable)); -} diff --git a/GRIB_BLE_HUB/libs/ble_extend/profiles/audio/manager.h b/GRIB_BLE_HUB/libs/ble_extend/profiles/audio/manager.h deleted file mode 100644 index 9b5af5f..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/profiles/audio/manager.h +++ /dev/null @@ -1,49 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2006-2010 Nokia Corporation - * Copyright (C) 2004-2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -struct enabled_interfaces { - gboolean sink; - gboolean source; - gboolean control; - gboolean media_player; -}; - -void audio_sink_connected(struct btd_device *dev, int err); -void audio_sink_disconnected(struct btd_device *dev, int err); -void audio_source_connected(struct btd_device *dev, int err); -void audio_source_disconnected(struct btd_device *dev, int err); -void audio_target_connected(struct btd_device *dev, int err); -void audio_target_disconnected(struct btd_device *dev, int err); -void audio_controller_connected(struct btd_device *dev, int err); -void audio_controller_disconnected(struct btd_device *dev, int err); - -int audio_manager_init(GKeyFile *config); -void audio_manager_exit(void); - -struct audio_device *manager_get_audio_device(struct btd_device *device, - gboolean create); - -/* TRUE to enable fast connectable and FALSE to disable fast connectable for all - * audio adapters. */ -void manager_set_fast_connectable(gboolean enable); diff --git a/GRIB_BLE_HUB/libs/ble_extend/profiles/audio/media.c b/GRIB_BLE_HUB/libs/ble_extend/profiles/audio/media.c deleted file mode 100644 index 59fc840..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/profiles/audio/media.c +++ /dev/null @@ -1,1704 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2006-2007 Nokia Corporation - * Copyright (C) 2004-2009 Marcel Holtmann - * Copyright (C) 2011 BMW Car IT GmbH. All rights reserved. - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include - -#include -#include - -#include "lib/uuid.h" -#include "../src/adapter.h" -#include "../src/device.h" -#include "../src/dbus-common.h" -#include "../src/profile.h" - -#include "glib-helper.h" -#include "log.h" -#include "error.h" -#include "device.h" -#include "avdtp.h" -#include "media.h" -#include "transport.h" -#include "a2dp.h" -#include "avrcp.h" -#include "manager.h" - -#define MEDIA_INTERFACE "org.bluez.Media1" -#define MEDIA_ENDPOINT_INTERFACE "org.bluez.MediaEndpoint1" -#define MEDIA_PLAYER_INTERFACE "org.mpris.MediaPlayer2.Player" - -#define REQUEST_TIMEOUT (3 * 1000) /* 3 seconds */ - -struct media_adapter { - struct btd_adapter *btd_adapter; - GSList *endpoints; /* Endpoints list */ - GSList *players; /* Players list */ -}; - -struct endpoint_request { - struct media_endpoint *endpoint; - DBusMessage *msg; - DBusPendingCall *call; - media_endpoint_cb_t cb; - GDestroyNotify destroy; - void *user_data; -}; - -struct media_endpoint { - struct a2dp_sep *sep; - char *sender; /* Endpoint DBus bus id */ - char *path; /* Endpoint object path */ - char *uuid; /* Endpoint property UUID */ - uint8_t codec; /* Endpoint codec */ - uint8_t *capabilities; /* Endpoint property capabilities */ - size_t size; /* Endpoint capabilities size */ - guint hs_watch; - guint ag_watch; - guint watch; - GSList *requests; - struct media_adapter *adapter; - GSList *transports; -}; - -struct media_player { - struct media_adapter *adapter; - struct avrcp_player *player; - char *sender; /* Player DBus bus id */ - char *path; /* Player object path */ - GHashTable *settings; /* Player settings */ - GHashTable *track; /* Player current track */ - guint watch; - guint properties_watch; - guint track_watch; - char *status; - uint32_t position; - uint32_t duration; - uint8_t volume; - GTimer *timer; -}; - -static GSList *adapters = NULL; - -static void endpoint_request_free(struct endpoint_request *request) -{ - if (request->call) - dbus_pending_call_unref(request->call); - - if (request->destroy) - request->destroy(request->user_data); - - dbus_message_unref(request->msg); - g_free(request); -} - -static void media_endpoint_cancel(struct endpoint_request *request) -{ - struct media_endpoint *endpoint = request->endpoint; - - if (request->call) - dbus_pending_call_cancel(request->call); - - endpoint->requests = g_slist_remove(endpoint->requests, request); - - endpoint_request_free(request); -} - -static void media_endpoint_cancel_all(struct media_endpoint *endpoint) -{ - while (endpoint->requests != NULL) - media_endpoint_cancel(endpoint->requests->data); -} - -static void media_endpoint_destroy(struct media_endpoint *endpoint) -{ - DBG("sender=%s path=%s", endpoint->sender, endpoint->path); - - media_endpoint_cancel_all(endpoint); - - g_slist_free_full(endpoint->transports, - (GDestroyNotify) media_transport_destroy); - - g_dbus_remove_watch(btd_get_dbus_connection(), endpoint->watch); - g_free(endpoint->capabilities); - g_free(endpoint->sender); - g_free(endpoint->path); - g_free(endpoint->uuid); - g_free(endpoint); -} - -static struct media_endpoint *media_adapter_find_endpoint( - struct media_adapter *adapter, - const char *sender, - const char *path, - const char *uuid) -{ - GSList *l; - - for (l = adapter->endpoints; l; l = l->next) { - struct media_endpoint *endpoint = l->data; - - if (sender && g_strcmp0(endpoint->sender, sender) != 0) - continue; - - if (path && g_strcmp0(endpoint->path, path) != 0) - continue; - - if (uuid && strcasecmp(endpoint->uuid, uuid) != 0) - continue; - - return endpoint; - } - - return NULL; -} - -static void media_endpoint_remove(struct media_endpoint *endpoint) -{ - struct media_adapter *adapter = endpoint->adapter; - - if (endpoint->sep) { - a2dp_remove_sep(endpoint->sep); - return; - } - - info("Endpoint unregistered: sender=%s path=%s", endpoint->sender, - endpoint->path); - - adapter->endpoints = g_slist_remove(adapter->endpoints, endpoint); - - if (media_adapter_find_endpoint(adapter, NULL, NULL, - endpoint->uuid) == NULL) - btd_profile_remove_custom_prop(endpoint->uuid, - "MediaEndpoints"); - - media_endpoint_destroy(endpoint); -} - -static void media_endpoint_exit(DBusConnection *connection, void *user_data) -{ - struct media_endpoint *endpoint = user_data; - - endpoint->watch = 0; - media_endpoint_remove(endpoint); -} - -static void clear_configuration(struct media_endpoint *endpoint, - struct media_transport *transport) -{ - DBusMessage *msg; - const char *path; - - msg = dbus_message_new_method_call(endpoint->sender, endpoint->path, - MEDIA_ENDPOINT_INTERFACE, - "ClearConfiguration"); - if (msg == NULL) { - error("Couldn't allocate D-Bus message"); - goto done; - } - - path = media_transport_get_path(transport); - dbus_message_append_args(msg, DBUS_TYPE_OBJECT_PATH, &path, - DBUS_TYPE_INVALID); - g_dbus_send_message(btd_get_dbus_connection(), msg); -done: - endpoint->transports = g_slist_remove(endpoint->transports, transport); - media_transport_destroy(transport); -} - -static void clear_endpoint(struct media_endpoint *endpoint) -{ - media_endpoint_cancel_all(endpoint); - - while (endpoint->transports != NULL) - clear_configuration(endpoint, endpoint->transports->data); -} - -static void endpoint_reply(DBusPendingCall *call, void *user_data) -{ - struct endpoint_request *request = user_data; - struct media_endpoint *endpoint = request->endpoint; - DBusMessage *reply; - DBusError err; - gboolean value; - void *ret = NULL; - int size = -1; - - /* steal_reply will always return non-NULL since the callback - * is only called after a reply has been received */ - reply = dbus_pending_call_steal_reply(call); - - dbus_error_init(&err); - if (dbus_set_error_from_message(&err, reply)) { - error("Endpoint replied with an error: %s", - err.name); - - /* Clear endpoint configuration in case of NO_REPLY error */ - if (dbus_error_has_name(&err, DBUS_ERROR_NO_REPLY)) { - if (request->cb) - request->cb(endpoint, NULL, size, - request->user_data); - clear_endpoint(endpoint); - dbus_message_unref(reply); - dbus_error_free(&err); - return; - } - - dbus_error_free(&err); - goto done; - } - - if (dbus_message_is_method_call(request->msg, MEDIA_ENDPOINT_INTERFACE, - "SelectConfiguration")) { - DBusMessageIter args, array; - uint8_t *configuration; - - dbus_message_iter_init(reply, &args); - - dbus_message_iter_recurse(&args, &array); - - dbus_message_iter_get_fixed_array(&array, &configuration, &size); - - ret = configuration; - goto done; - } else if (!dbus_message_get_args(reply, &err, DBUS_TYPE_INVALID)) { - error("Wrong reply signature: %s", err.message); - dbus_error_free(&err); - goto done; - } - - size = 1; - value = TRUE; - ret = &value; - -done: - dbus_message_unref(reply); - - if (request->cb) - request->cb(endpoint, ret, size, request->user_data); - - endpoint->requests = g_slist_remove(endpoint->requests, request); - endpoint_request_free(request); -} - -static gboolean media_endpoint_async_call(DBusMessage *msg, - struct media_endpoint *endpoint, - media_endpoint_cb_t cb, - void *user_data, - GDestroyNotify destroy) -{ - struct endpoint_request *request; - - request = g_new0(struct endpoint_request, 1); - - /* Timeout should be less than avdtp request timeout (4 seconds) */ - if (dbus_connection_send_with_reply(btd_get_dbus_connection(), - msg, &request->call, - REQUEST_TIMEOUT) == FALSE) { - error("D-Bus send failed"); - g_free(request); - return FALSE; - } - - dbus_pending_call_set_notify(request->call, endpoint_reply, request, - NULL); - - request->endpoint = endpoint; - request->msg = msg; - request->cb = cb; - request->destroy = destroy; - request->user_data = user_data; - - endpoint->requests = g_slist_append(endpoint->requests, request); - - DBG("Calling %s: name = %s path = %s", dbus_message_get_member(msg), - dbus_message_get_destination(msg), - dbus_message_get_path(msg)); - - return TRUE; -} - -static gboolean select_configuration(struct media_endpoint *endpoint, - uint8_t *capabilities, - size_t length, - media_endpoint_cb_t cb, - void *user_data, - GDestroyNotify destroy) -{ - DBusMessage *msg; - - msg = dbus_message_new_method_call(endpoint->sender, endpoint->path, - MEDIA_ENDPOINT_INTERFACE, - "SelectConfiguration"); - if (msg == NULL) { - error("Couldn't allocate D-Bus message"); - return FALSE; - } - - dbus_message_append_args(msg, DBUS_TYPE_ARRAY, DBUS_TYPE_BYTE, - &capabilities, length, - DBUS_TYPE_INVALID); - - return media_endpoint_async_call(msg, endpoint, cb, user_data, destroy); -} - -static gint transport_device_cmp(gconstpointer data, gconstpointer user_data) -{ - struct media_transport *transport = (struct media_transport *) data; - const struct audio_device *device = user_data; - - if (device == media_transport_get_dev(transport)) - return 0; - - return -1; -} - -static struct media_transport *find_device_transport( - struct media_endpoint *endpoint, - struct audio_device *device) -{ - GSList *match; - - match = g_slist_find_custom(endpoint->transports, device, - transport_device_cmp); - if (match == NULL) - return NULL; - - return match->data; -} - -static gboolean set_configuration(struct media_endpoint *endpoint, - struct audio_device *device, - uint8_t *configuration, size_t size, - media_endpoint_cb_t cb, - void *user_data, - GDestroyNotify destroy) -{ - DBusConnection *conn = btd_get_dbus_connection(); - DBusMessage *msg; - const char *path; - DBusMessageIter iter; - struct media_transport *transport; - - transport = find_device_transport(endpoint, device); - - if (transport != NULL) - return FALSE; - - transport = media_transport_create(device, configuration, size, - endpoint); - if (transport == NULL) - return FALSE; - - msg = dbus_message_new_method_call(endpoint->sender, endpoint->path, - MEDIA_ENDPOINT_INTERFACE, - "SetConfiguration"); - if (msg == NULL) { - error("Couldn't allocate D-Bus message"); - media_transport_destroy(transport); - return FALSE; - } - - endpoint->transports = g_slist_append(endpoint->transports, transport); - - dbus_message_iter_init_append(msg, &iter); - - path = media_transport_get_path(transport); - dbus_message_iter_append_basic(&iter, DBUS_TYPE_OBJECT_PATH, &path); - - g_dbus_get_properties(conn, path, "org.bluez.MediaTransport1", &iter); - - return media_endpoint_async_call(msg, endpoint, cb, user_data, destroy); -} - -static void release_endpoint(struct media_endpoint *endpoint) -{ - DBusMessage *msg; - - DBG("sender=%s path=%s", endpoint->sender, endpoint->path); - - /* already exit */ - if (endpoint->watch == 0) - goto done; - - clear_endpoint(endpoint); - - msg = dbus_message_new_method_call(endpoint->sender, endpoint->path, - MEDIA_ENDPOINT_INTERFACE, - "Release"); - if (msg == NULL) { - error("Couldn't allocate D-Bus message"); - return; - } - - g_dbus_send_message(btd_get_dbus_connection(), msg); - -done: - media_endpoint_remove(endpoint); -} - -static const char *get_name(struct a2dp_sep *sep, void *user_data) -{ - struct media_endpoint *endpoint = user_data; - - return endpoint->sender; -} - -static size_t get_capabilities(struct a2dp_sep *sep, uint8_t **capabilities, - void *user_data) -{ - struct media_endpoint *endpoint = user_data; - - *capabilities = endpoint->capabilities; - return endpoint->size; -} - -struct a2dp_config_data { - struct a2dp_setup *setup; - a2dp_endpoint_config_t cb; -}; - -struct a2dp_select_data { - struct a2dp_setup *setup; - a2dp_endpoint_select_t cb; -}; - -static void select_cb(struct media_endpoint *endpoint, void *ret, int size, - void *user_data) -{ - struct a2dp_select_data *data = user_data; - - data->cb(data->setup, ret, size); -} - -static int select_config(struct a2dp_sep *sep, uint8_t *capabilities, - size_t length, struct a2dp_setup *setup, - a2dp_endpoint_select_t cb, void *user_data) -{ - struct media_endpoint *endpoint = user_data; - struct a2dp_select_data *data; - - data = g_new0(struct a2dp_select_data, 1); - data->setup = setup; - data->cb = cb; - - if (select_configuration(endpoint, capabilities, length, - select_cb, data, g_free) == TRUE) - return 0; - - g_free(data); - return -ENOMEM; -} - -static void config_cb(struct media_endpoint *endpoint, void *ret, int size, - void *user_data) -{ - struct a2dp_config_data *data = user_data; - - data->cb(data->setup, ret ? TRUE : FALSE); -} - -static int set_config(struct a2dp_sep *sep, struct audio_device *dev, - uint8_t *configuration, size_t length, - struct a2dp_setup *setup, - a2dp_endpoint_config_t cb, - void *user_data) -{ - struct media_endpoint *endpoint = user_data; - struct a2dp_config_data *data; - - data = g_new0(struct a2dp_config_data, 1); - data->setup = setup; - data->cb = cb; - - if (set_configuration(endpoint, dev, configuration, length, - config_cb, data, g_free) == TRUE) - return 0; - - g_free(data); - return -ENOMEM; -} - -static void clear_config(struct a2dp_sep *sep, void *user_data) -{ - struct media_endpoint *endpoint = user_data; - - clear_endpoint(endpoint); -} - -static void set_delay(struct a2dp_sep *sep, uint16_t delay, void *user_data) -{ - struct media_endpoint *endpoint = user_data; - - if (endpoint->transports == NULL) - return; - - media_transport_update_delay(endpoint->transports->data, delay); -} - -static struct a2dp_endpoint a2dp_endpoint = { - .get_name = get_name, - .get_capabilities = get_capabilities, - .select_configuration = select_config, - .set_configuration = set_config, - .clear_configuration = clear_config, - .set_delay = set_delay -}; - -static void a2dp_destroy_endpoint(void *user_data) -{ - struct media_endpoint *endpoint = user_data; - - endpoint->sep = NULL; - release_endpoint(endpoint); -} - -static gboolean endpoint_init_a2dp_source(struct media_endpoint *endpoint, - gboolean delay_reporting, - int *err) -{ - endpoint->sep = a2dp_add_sep(endpoint->adapter->btd_adapter, - AVDTP_SEP_TYPE_SOURCE, endpoint->codec, - delay_reporting, &a2dp_endpoint, - endpoint, a2dp_destroy_endpoint, err); - if (endpoint->sep == NULL) - return FALSE; - - return TRUE; -} - -static gboolean endpoint_init_a2dp_sink(struct media_endpoint *endpoint, - gboolean delay_reporting, - int *err) -{ - endpoint->sep = a2dp_add_sep(endpoint->adapter->btd_adapter, - AVDTP_SEP_TYPE_SINK, endpoint->codec, - delay_reporting, &a2dp_endpoint, - endpoint, a2dp_destroy_endpoint, err); - if (endpoint->sep == NULL) - return FALSE; - - return TRUE; -} - -static struct media_adapter *find_adapter(struct btd_device *device) -{ - GSList *l; - - for (l = adapters; l; l = l->next) { - struct media_adapter *adapter = l->data; - - if (adapter->btd_adapter == device_get_adapter(device)) - return adapter; - } - - return NULL; -} - -static bool endpoint_properties_exists(const char *uuid, - struct btd_device *dev, - void *user_data) -{ - struct media_adapter *adapter; - - adapter = find_adapter(dev); - if (adapter == NULL) - return false; - - if (media_adapter_find_endpoint(adapter, NULL, NULL, uuid) == NULL) - return false; - - return true; -} - -static void append_endpoint(struct media_endpoint *endpoint, - DBusMessageIter *dict) -{ - DBusMessageIter entry, var, props; - - dbus_message_iter_open_container(dict, DBUS_TYPE_DICT_ENTRY, - NULL, &entry); - - dbus_message_iter_append_basic(&entry, DBUS_TYPE_STRING, - &endpoint->sender); - - dbus_message_iter_open_container(&entry, DBUS_TYPE_VARIANT, "a{sv}", - &var); - - dbus_message_iter_open_container(&var, DBUS_TYPE_ARRAY, - DBUS_DICT_ENTRY_BEGIN_CHAR_AS_STRING - DBUS_TYPE_STRING_AS_STRING - DBUS_TYPE_VARIANT_AS_STRING - DBUS_DICT_ENTRY_END_CHAR_AS_STRING, - &props); - - dict_append_entry(&props, "Path", DBUS_TYPE_OBJECT_PATH, - &endpoint->path); - dict_append_entry(&props, "Codec", DBUS_TYPE_BYTE, &endpoint->codec); - dict_append_array(&props, "Capabilities", DBUS_TYPE_BYTE, - &endpoint->capabilities, endpoint->size); - - dbus_message_iter_close_container(&var, &props); - dbus_message_iter_close_container(&entry, &var); - dbus_message_iter_close_container(dict, &entry); -} - -static bool endpoint_properties_get(const char *uuid, - struct btd_device *dev, - DBusMessageIter *iter, - void *user_data) -{ - struct media_adapter *adapter; - DBusMessageIter dict; - GSList *l; - - adapter = find_adapter(dev); - if (adapter == NULL) - return false; - - dbus_message_iter_open_container(iter, DBUS_TYPE_ARRAY, - DBUS_DICT_ENTRY_BEGIN_CHAR_AS_STRING - DBUS_TYPE_STRING_AS_STRING - DBUS_TYPE_VARIANT_AS_STRING - DBUS_DICT_ENTRY_END_CHAR_AS_STRING, - &dict); - - for (l = adapter->endpoints; l; l = l->next) { - struct media_endpoint *endpoint = l->data; - - if (strcasecmp(endpoint->uuid, uuid) != 0) - continue; - - append_endpoint(endpoint, &dict); - } - - dbus_message_iter_close_container(iter, &dict); - - return true; -} - -static struct media_endpoint *media_endpoint_create(struct media_adapter *adapter, - const char *sender, - const char *path, - const char *uuid, - gboolean delay_reporting, - uint8_t codec, - uint8_t *capabilities, - int size, - int *err) -{ - struct media_endpoint *endpoint; - gboolean succeeded; - - endpoint = g_new0(struct media_endpoint, 1); - endpoint->sender = g_strdup(sender); - endpoint->path = g_strdup(path); - endpoint->uuid = g_strdup(uuid); - endpoint->codec = codec; - - if (size > 0) { - endpoint->capabilities = g_new(uint8_t, size); - memcpy(endpoint->capabilities, capabilities, size); - endpoint->size = size; - } - - endpoint->adapter = adapter; - - if (strcasecmp(uuid, A2DP_SOURCE_UUID) == 0) - succeeded = endpoint_init_a2dp_source(endpoint, - delay_reporting, err); - else if (strcasecmp(uuid, A2DP_SINK_UUID) == 0) - succeeded = endpoint_init_a2dp_sink(endpoint, - delay_reporting, err); - else if (strcasecmp(uuid, HFP_AG_UUID) == 0 || - strcasecmp(uuid, HSP_AG_UUID) == 0) - succeeded = TRUE; - else if (strcasecmp(uuid, HFP_HS_UUID) == 0 || - strcasecmp(uuid, HSP_HS_UUID) == 0) - succeeded = TRUE; - else { - succeeded = FALSE; - - if (err) - *err = -EINVAL; - } - - if (!succeeded) { - media_endpoint_destroy(endpoint); - return NULL; - } - - endpoint->watch = g_dbus_add_disconnect_watch(btd_get_dbus_connection(), - sender, media_endpoint_exit, - endpoint, NULL); - - if (media_adapter_find_endpoint(adapter, NULL, NULL, uuid) == NULL) { - btd_profile_add_custom_prop(uuid, "a{sv}", "MediaEndpoints", - endpoint_properties_exists, - endpoint_properties_get, - NULL); - } - - adapter->endpoints = g_slist_append(adapter->endpoints, endpoint); - info("Endpoint registered: sender=%s path=%s", sender, path); - - if (err) - *err = 0; - return endpoint; -} - -static int parse_properties(DBusMessageIter *props, const char **uuid, - gboolean *delay_reporting, uint8_t *codec, - uint8_t **capabilities, int *size) -{ - gboolean has_uuid = FALSE; - gboolean has_codec = FALSE; - - while (dbus_message_iter_get_arg_type(props) == DBUS_TYPE_DICT_ENTRY) { - const char *key; - DBusMessageIter value, entry; - int var; - - dbus_message_iter_recurse(props, &entry); - dbus_message_iter_get_basic(&entry, &key); - - dbus_message_iter_next(&entry); - dbus_message_iter_recurse(&entry, &value); - - var = dbus_message_iter_get_arg_type(&value); - if (strcasecmp(key, "UUID") == 0) { - if (var != DBUS_TYPE_STRING) - return -EINVAL; - dbus_message_iter_get_basic(&value, uuid); - has_uuid = TRUE; - } else if (strcasecmp(key, "Codec") == 0) { - if (var != DBUS_TYPE_BYTE) - return -EINVAL; - dbus_message_iter_get_basic(&value, codec); - has_codec = TRUE; - } else if (strcasecmp(key, "DelayReporting") == 0) { - if (var != DBUS_TYPE_BOOLEAN) - return -EINVAL; - dbus_message_iter_get_basic(&value, delay_reporting); - } else if (strcasecmp(key, "Capabilities") == 0) { - DBusMessageIter array; - - if (var != DBUS_TYPE_ARRAY) - return -EINVAL; - - dbus_message_iter_recurse(&value, &array); - dbus_message_iter_get_fixed_array(&array, capabilities, - size); - } - - dbus_message_iter_next(props); - } - - return (has_uuid && has_codec) ? 0 : -EINVAL; -} - -static DBusMessage *register_endpoint(DBusConnection *conn, DBusMessage *msg, - void *data) -{ - struct media_adapter *adapter = data; - DBusMessageIter args, props; - const char *sender, *path, *uuid; - gboolean delay_reporting = FALSE; - uint8_t codec; - uint8_t *capabilities; - int size = 0; - int err; - - sender = dbus_message_get_sender(msg); - - dbus_message_iter_init(msg, &args); - - dbus_message_iter_get_basic(&args, &path); - dbus_message_iter_next(&args); - - if (media_adapter_find_endpoint(adapter, sender, path, NULL) != NULL) - return btd_error_already_exists(msg); - - dbus_message_iter_recurse(&args, &props); - if (dbus_message_iter_get_arg_type(&props) != DBUS_TYPE_DICT_ENTRY) - return btd_error_invalid_args(msg); - - if (parse_properties(&props, &uuid, &delay_reporting, &codec, - &capabilities, &size) < 0) - return btd_error_invalid_args(msg); - - if (media_endpoint_create(adapter, sender, path, uuid, delay_reporting, - codec, capabilities, size, &err) == NULL) { - if (err == -EPROTONOSUPPORT) - return btd_error_not_supported(msg); - else - return btd_error_invalid_args(msg); - } - - return g_dbus_create_reply(msg, DBUS_TYPE_INVALID); -} - -static DBusMessage *unregister_endpoint(DBusConnection *conn, DBusMessage *msg, - void *data) -{ - struct media_adapter *adapter = data; - struct media_endpoint *endpoint; - const char *sender, *path; - - if (!dbus_message_get_args(msg, NULL, - DBUS_TYPE_OBJECT_PATH, &path, - DBUS_TYPE_INVALID)) - return btd_error_invalid_args(msg); - - sender = dbus_message_get_sender(msg); - - endpoint = media_adapter_find_endpoint(adapter, sender, path, NULL); - if (endpoint == NULL) - return btd_error_does_not_exist(msg); - - media_endpoint_remove(endpoint); - - return g_dbus_create_reply(msg, DBUS_TYPE_INVALID); -} - -static struct media_player *media_adapter_find_player( - struct media_adapter *adapter, - const char *sender, - const char *path) -{ - GSList *l; - - for (l = adapter->players; l; l = l->next) { - struct media_player *mp = l->data; - - if (sender && g_strcmp0(mp->sender, sender) != 0) - continue; - - if (path && g_strcmp0(mp->path, path) != 0) - continue; - - return mp; - } - - return NULL; -} - -static void release_player(struct media_player *mp) -{ - DBusMessage *msg; - - DBG("sender=%s path=%s", mp->sender, mp->path); - - msg = dbus_message_new_method_call(mp->sender, mp->path, - MEDIA_PLAYER_INTERFACE, - "Release"); - if (msg == NULL) { - error("Couldn't allocate D-Bus message"); - return; - } - - g_dbus_send_message(btd_get_dbus_connection(), msg); -} - -static void media_player_free(gpointer data) -{ - DBusConnection *conn = btd_get_dbus_connection(); - struct media_player *mp = data; - struct media_adapter *adapter = mp->adapter; - - if (mp->player) { - adapter->players = g_slist_remove(adapter->players, mp); - release_player(mp); - } - - g_dbus_remove_watch(conn, mp->watch); - g_dbus_remove_watch(conn, mp->properties_watch); - g_dbus_remove_watch(conn, mp->track_watch); - - if (mp->track) - g_hash_table_unref(mp->track); - - if (mp->settings) - g_hash_table_unref(mp->settings); - - g_timer_destroy(mp->timer); - g_free(mp->sender); - g_free(mp->path); - g_free(mp->status); - g_free(mp); -} - -static void media_player_destroy(struct media_player *mp) -{ - struct media_adapter *adapter = mp->adapter; - - DBG("sender=%s path=%s", mp->sender, mp->path); - - if (mp->player) { - struct avrcp_player *player = mp->player; - mp->player = NULL; - adapter->players = g_slist_remove(adapter->players, mp); - avrcp_unregister_player(player); - return; - } - - media_player_free(mp); -} - -static void media_player_remove(struct media_player *mp) -{ - info("Player unregistered: sender=%s path=%s", mp->sender, mp->path); - - media_player_destroy(mp); -} - -static GList *list_settings(void *user_data) -{ - struct media_player *mp = user_data; - - DBG(""); - - if (mp->settings == NULL) - return NULL; - - return g_hash_table_get_keys(mp->settings); -} - -static const char *get_setting(const char *key, void *user_data) -{ - struct media_player *mp = user_data; - - DBG("%s", key); - - return g_hash_table_lookup(mp->settings, key); -} - -static int set_setting(const char *key, const char *value, void *user_data) -{ - struct media_player *mp = user_data; - const char *iface = MEDIA_PLAYER_INTERFACE; - DBusMessage *msg; - DBusMessageIter iter, var; - - DBG("%s = %s", key, value); - - if (!g_hash_table_lookup(mp->settings, key)) - return -EINVAL; - - msg = dbus_message_new_method_call(mp->sender, mp->path, - DBUS_INTERFACE_PROPERTIES, "Set"); - if (msg == NULL) { - error("Couldn't allocate D-Bus message"); - return -ENOMEM; - } - - dbus_message_iter_init_append(msg, &iter); - dbus_message_iter_append_basic(&iter, DBUS_TYPE_STRING, &iface); - dbus_message_iter_append_basic(&iter, DBUS_TYPE_STRING, &key); - - dbus_message_iter_open_container(&iter, DBUS_TYPE_VARIANT, - DBUS_TYPE_STRING_AS_STRING, - &var); - dbus_message_iter_append_basic(&var, DBUS_TYPE_STRING, &value); - dbus_message_iter_close_container(&iter, &var); - - g_dbus_send_message(btd_get_dbus_connection(), msg); - - return 0; -} - -static GList *list_metadata(void *user_data) -{ - struct media_player *mp = user_data; - - DBG(""); - - if (mp->track == NULL) - return NULL; - - return g_hash_table_get_keys(mp->track); -} - -static uint64_t get_uid(void *user_data) -{ - struct media_player *mp = user_data; - - DBG("%p", mp->track); - - if (mp->track == NULL) - return UINT64_MAX; - - return 0; -} - -static const char *get_metadata(const char *key, void *user_data) -{ - struct media_player *mp = user_data; - - DBG("%s", key); - - if (mp->track == NULL) - return NULL; - - return g_hash_table_lookup(mp->track, key); -} - -static const char *get_status(void *user_data) -{ - struct media_player *mp = user_data; - - return mp->status; -} - -static uint32_t get_position(void *user_data) -{ - struct media_player *mp = user_data; - double timedelta; - uint32_t sec, msec; - - if (g_strcmp0(mp->status, "playing") != 0) - return mp->position; - - timedelta = g_timer_elapsed(mp->timer, NULL); - - sec = (uint32_t) timedelta; - msec = (uint32_t) ((timedelta - sec) * 1000); - - return mp->position + sec * 1000 + msec; -} - -static uint32_t get_duration(void *user_data) -{ - struct media_player *mp = user_data; - - return mp->duration; -} - -static void set_volume(uint8_t volume, struct audio_device *dev, void *user_data) -{ - struct media_player *mp = user_data; - GSList *l; - - if (mp->volume == volume) - return; - - mp->volume = volume; - - for (l = mp->adapter->endpoints; l; l = l->next) { - struct media_endpoint *endpoint = l->data; - struct media_transport *transport; - - /* Volume is A2DP only */ - if (endpoint->sep == NULL) - continue; - - transport = find_device_transport(endpoint, dev); - if (transport == NULL) - continue; - - media_transport_update_volume(transport, volume); - } -} - -static struct avrcp_player_cb player_cb = { - .list_settings = list_settings, - .get_setting = get_setting, - .set_setting = set_setting, - .list_metadata = list_metadata, - .get_uid = get_uid, - .get_metadata = get_metadata, - .get_position = get_position, - .get_duration = get_duration, - .get_status = get_status, - .set_volume = set_volume -}; - -static void media_player_exit(DBusConnection *connection, void *user_data) -{ - struct media_player *mp = user_data; - - mp->watch = 0; - media_player_remove(mp); -} - -static gboolean set_status(struct media_player *mp, DBusMessageIter *iter) -{ - const char *value; - - if (dbus_message_iter_get_arg_type(iter) != DBUS_TYPE_STRING) - return FALSE; - - dbus_message_iter_get_basic(iter, &value); - DBG("Status=%s", value); - - if (g_strcmp0(mp->status, value) == 0) - return TRUE; - - mp->position = get_position(mp); - g_timer_start(mp->timer); - - g_free(mp->status); - mp->status = g_strdup(value); - - avrcp_player_event(mp->player, AVRCP_EVENT_STATUS_CHANGED, mp->status); - - return TRUE; -} - -static gboolean set_position(struct media_player *mp, DBusMessageIter *iter) -{ - uint64_t value; - - if (dbus_message_iter_get_arg_type(iter) != DBUS_TYPE_INT64) - return FALSE; - - dbus_message_iter_get_basic(iter, &value); - - mp->position = value / 1000; - g_timer_start(mp->timer); - - DBG("Position=%u", mp->position); - - if (!mp->position) { - avrcp_player_event(mp->player, - AVRCP_EVENT_TRACK_REACHED_START, NULL); - return TRUE; - } - - /* - * If position is the maximum value allowed or greater than track's - * duration, we send a track-reached-end event. - */ - if (mp->position == UINT32_MAX || mp->position >= mp->duration) - avrcp_player_event(mp->player, AVRCP_EVENT_TRACK_REACHED_END, - NULL); - - return TRUE; -} - -static void set_metadata(struct media_player *mp, const char *key, - const char *value) -{ - DBG("%s=%s", key, value); - g_hash_table_replace(mp->track, g_strdup(key), g_strdup(value)); -} - -static gboolean parse_string_metadata(struct media_player *mp, const char *key, - DBusMessageIter *iter) -{ - const char *value; - - if (dbus_message_iter_get_arg_type(iter) != DBUS_TYPE_STRING) - return FALSE; - - dbus_message_iter_get_basic(iter, &value); - - set_metadata(mp, key, value); - - return TRUE; -} - -static gboolean parse_array_metadata(struct media_player *mp, const char *key, - DBusMessageIter *iter) -{ - DBusMessageIter array; - const char *value; - - if (dbus_message_iter_get_arg_type(iter) != DBUS_TYPE_ARRAY) - return FALSE; - - dbus_message_iter_recurse(iter, &array); - - if (dbus_message_iter_get_arg_type(&array) == DBUS_TYPE_INVALID) - return TRUE; - - if (dbus_message_iter_get_arg_type(&array) != DBUS_TYPE_STRING) - return FALSE; - - dbus_message_iter_get_basic(&array, &value); - - set_metadata(mp, key, value); - - return TRUE; -} - -static gboolean parse_int64_metadata(struct media_player *mp, const char *key, - DBusMessageIter *iter) -{ - uint64_t value; - char valstr[20]; - - if (dbus_message_iter_get_arg_type(iter) != DBUS_TYPE_INT64) - return FALSE; - - dbus_message_iter_get_basic(iter, &value); - - if (strcasecmp(key, "Duration") == 0) { - value /= 1000; - mp->duration = value; - } - - snprintf(valstr, 20, "%" PRIu64, value); - - set_metadata(mp, key, valstr); - - return TRUE; -} - -static gboolean parse_int32_metadata(struct media_player *mp, const char *key, - DBusMessageIter *iter) -{ - uint32_t value; - char valstr[20]; - - if (dbus_message_iter_get_arg_type(iter) != DBUS_TYPE_INT32) - return FALSE; - - dbus_message_iter_get_basic(iter, &value); - - snprintf(valstr, 20, "%u", value); - - set_metadata(mp, key, valstr); - - return TRUE; -} - -static gboolean parse_player_metadata(struct media_player *mp, - DBusMessageIter *iter) -{ - DBusMessageIter dict; - DBusMessageIter var; - int ctype; - gboolean title = FALSE; - uint64_t uid; - - ctype = dbus_message_iter_get_arg_type(iter); - if (ctype != DBUS_TYPE_ARRAY) - return FALSE; - - dbus_message_iter_recurse(iter, &dict); - - if (mp->track != NULL) - g_hash_table_unref(mp->track); - - mp->track = g_hash_table_new_full(g_str_hash, g_str_equal, g_free, - g_free); - - while ((ctype = dbus_message_iter_get_arg_type(&dict)) != - DBUS_TYPE_INVALID) { - DBusMessageIter entry; - const char *key; - - if (ctype != DBUS_TYPE_DICT_ENTRY) - return FALSE; - - dbus_message_iter_recurse(&dict, &entry); - if (dbus_message_iter_get_arg_type(&entry) != DBUS_TYPE_STRING) - return FALSE; - - dbus_message_iter_get_basic(&entry, &key); - dbus_message_iter_next(&entry); - - if (dbus_message_iter_get_arg_type(&entry) != DBUS_TYPE_VARIANT) - return FALSE; - - dbus_message_iter_recurse(&entry, &var); - - if (strcasecmp(key, "xesam:title") == 0) { - if (!parse_string_metadata(mp, "Title", &var)) - return FALSE; - title = TRUE; - } else if (strcasecmp(key, "xesam:artist") == 0) { - if (!parse_array_metadata(mp, "Artist", &var)) - return FALSE; - } else if (strcasecmp(key, "xesam:album") == 0) { - if (!parse_string_metadata(mp, "Album", &var)) - return FALSE; - } else if (strcasecmp(key, "xesam:genre") == 0) { - if (!parse_array_metadata(mp, "Genre", &var)) - return FALSE; - } else if (strcasecmp(key, "mpris:length") == 0) { - if (!parse_int64_metadata(mp, "Duration", &var)) - return FALSE; - } else if (strcasecmp(key, "xesam:trackNumber") == 0) { - if (!parse_int32_metadata(mp, "TrackNumber", &var)) - return FALSE; - } else - DBG("%s not supported, ignoring", key); - - dbus_message_iter_next(&dict); - } - - if (title == FALSE) - g_hash_table_insert(mp->track, g_strdup("Title"), - g_strdup("")); - - mp->position = 0; - g_timer_start(mp->timer); - uid = get_uid(mp); - - avrcp_player_event(mp->player, AVRCP_EVENT_TRACK_CHANGED, &uid); - avrcp_player_event(mp->player, AVRCP_EVENT_TRACK_REACHED_START, NULL); - - return TRUE; -} - -static gboolean set_property(struct media_player *mp, const char *key, - const char *value) -{ - const char *curval; - GList *settings; - - curval = g_hash_table_lookup(mp->settings, key); - if (g_strcmp0(curval, value) == 0) - return TRUE; - - DBG("%s=%s", key, value); - - g_hash_table_replace(mp->settings, g_strdup(key), g_strdup(value)); - - settings = list_settings(mp); - - avrcp_player_event(mp->player, AVRCP_EVENT_SETTINGS_CHANGED, settings); - - g_list_free(settings); - - return TRUE; -} - -static gboolean set_shuffle(struct media_player *mp, DBusMessageIter *iter) -{ - dbus_bool_t value; - const char *strvalue; - - if (dbus_message_iter_get_arg_type(iter) != DBUS_TYPE_BOOLEAN) - return FALSE; - - dbus_message_iter_get_basic(iter, &value); - - strvalue = value ? "alltracks" : "off"; - - return set_property(mp, "Shuffle", strvalue); -} - -static const char *loop_status_to_repeat(const char *value) -{ - if (strcasecmp(value, "None") == 0) - return "off"; - else if (strcasecmp(value, "Track") == 0) - return "singletrack"; - else if (strcasecmp(value, "Track") == 0) - return "alltracks"; - - return NULL; -} - -static gboolean set_repeat(struct media_player *mp, DBusMessageIter *iter) -{ - const char *value; - - if (dbus_message_iter_get_arg_type(iter) != DBUS_TYPE_STRING) - return FALSE; - - dbus_message_iter_get_basic(iter, &value); - - value = loop_status_to_repeat(value); - if (value == NULL) - return FALSE; - - return set_property(mp, "Repeat", value); -} - -static gboolean set_player_property(struct media_player *mp, const char *key, - DBusMessageIter *entry) -{ - DBusMessageIter var; - - if (dbus_message_iter_get_arg_type(entry) != DBUS_TYPE_VARIANT) - return FALSE; - - dbus_message_iter_recurse(entry, &var); - - if (strcasecmp(key, "PlaybackStatus") == 0) - return set_status(mp, &var); - - if (strcasecmp(key, "Position") == 0) - return set_position(mp, &var); - - if (strcasecmp(key, "Metadata") == 0) - return parse_player_metadata(mp, &var); - - if (strcasecmp(key, "Shuffle") == 0) - return set_shuffle(mp, &var); - - if (strcasecmp(key, "LoopStatus") == 0) - return set_repeat(mp, &var); - - DBG("%s not supported, ignoring", key); - - return TRUE; -} - -static gboolean parse_player_properties(struct media_player *mp, - DBusMessageIter *iter) -{ - DBusMessageIter dict; - int ctype; - - ctype = dbus_message_iter_get_arg_type(iter); - if (ctype != DBUS_TYPE_ARRAY) - return FALSE; - - dbus_message_iter_recurse(iter, &dict); - - while ((ctype = dbus_message_iter_get_arg_type(&dict)) != - DBUS_TYPE_INVALID) { - DBusMessageIter entry; - const char *key; - - if (ctype != DBUS_TYPE_DICT_ENTRY) - return FALSE; - - dbus_message_iter_recurse(&dict, &entry); - if (dbus_message_iter_get_arg_type(&entry) != DBUS_TYPE_STRING) - return FALSE; - - dbus_message_iter_get_basic(&entry, &key); - dbus_message_iter_next(&entry); - - if (set_player_property(mp, key, &entry) == FALSE) - return FALSE; - - dbus_message_iter_next(&dict); - } - - return TRUE; -} - -static gboolean properties_changed(DBusConnection *connection, DBusMessage *msg, - void *user_data) -{ - struct media_player *mp = user_data; - DBusMessageIter iter; - - DBG("sender=%s path=%s", mp->sender, mp->path); - - dbus_message_iter_init(msg, &iter); - - dbus_message_iter_next(&iter); - - parse_player_properties(mp, &iter); - - return TRUE; -} - -static struct media_player *media_player_create(struct media_adapter *adapter, - const char *sender, - const char *path, - int *err) -{ - DBusConnection *conn = btd_get_dbus_connection(); - struct media_player *mp; - - mp = g_new0(struct media_player, 1); - mp->adapter = adapter; - mp->sender = g_strdup(sender); - mp->path = g_strdup(path); - mp->timer = g_timer_new(); - - mp->watch = g_dbus_add_disconnect_watch(conn, sender, - media_player_exit, mp, - NULL); - mp->properties_watch = g_dbus_add_properties_watch(conn, sender, - path, MEDIA_PLAYER_INTERFACE, - properties_changed, - mp, NULL); - mp->player = avrcp_register_player(adapter->btd_adapter, &player_cb, - mp, media_player_free); - if (!mp->player) { - if (err) - *err = -EPROTONOSUPPORT; - media_player_destroy(mp); - return NULL; - } - - mp->settings = g_hash_table_new_full(g_str_hash, g_str_equal, g_free, - g_free); - - adapter->players = g_slist_append(adapter->players, mp); - - info("Player registered: sender=%s path=%s", sender, path); - - if (err) - *err = 0; - - return mp; -} - -static DBusMessage *register_player(DBusConnection *conn, DBusMessage *msg, - void *data) -{ - struct media_adapter *adapter = data; - struct media_player *mp; - DBusMessageIter args; - const char *sender, *path; - int err; - - sender = dbus_message_get_sender(msg); - - dbus_message_iter_init(msg, &args); - - dbus_message_iter_get_basic(&args, &path); - dbus_message_iter_next(&args); - - if (media_adapter_find_player(adapter, sender, path) != NULL) - return btd_error_already_exists(msg); - - mp = media_player_create(adapter, sender, path, &err); - if (mp == NULL) { - if (err == -EPROTONOSUPPORT) - return btd_error_not_supported(msg); - else - return btd_error_invalid_args(msg); - } - - if (parse_player_properties(mp, &args) == FALSE) { - media_player_destroy(mp); - return btd_error_invalid_args(msg); - } - - return g_dbus_create_reply(msg, DBUS_TYPE_INVALID); -} - -static DBusMessage *unregister_player(DBusConnection *conn, DBusMessage *msg, - void *data) -{ - struct media_adapter *adapter = data; - struct media_player *player; - const char *sender, *path; - - if (!dbus_message_get_args(msg, NULL, - DBUS_TYPE_OBJECT_PATH, &path, - DBUS_TYPE_INVALID)) - return btd_error_invalid_args(msg); - - sender = dbus_message_get_sender(msg); - - player = media_adapter_find_player(adapter, sender, path); - if (player == NULL) - return btd_error_does_not_exist(msg); - - media_player_remove(player); - - return g_dbus_create_reply(msg, DBUS_TYPE_INVALID); -} - -static const GDBusMethodTable media_methods[] = { - { GDBUS_METHOD("RegisterEndpoint", - GDBUS_ARGS({ "endpoint", "o" }, { "properties", "a{sv}" }), - NULL, register_endpoint) }, - { GDBUS_METHOD("UnregisterEndpoint", - GDBUS_ARGS({ "endpoint", "o" }), NULL, unregister_endpoint) }, - { GDBUS_EXPERIMENTAL_METHOD("RegisterPlayer", - GDBUS_ARGS({ "player", "o" }, { "properties", "a{sv}" }), - NULL, register_player) }, - { GDBUS_EXPERIMENTAL_METHOD("UnregisterPlayer", - GDBUS_ARGS({ "player", "o" }), NULL, unregister_player) }, - { }, -}; - -static void path_free(void *data) -{ - struct media_adapter *adapter = data; - - while (adapter->endpoints) - release_endpoint(adapter->endpoints->data); - - while (adapter->players) - media_player_destroy(adapter->players->data); - - adapters = g_slist_remove(adapters, adapter); - - btd_adapter_unref(adapter->btd_adapter); - g_free(adapter); -} - -int media_register(struct btd_adapter *btd_adapter) -{ - struct media_adapter *adapter; - - adapter = g_new0(struct media_adapter, 1); - adapter->btd_adapter = btd_adapter_ref(btd_adapter); - - if (!g_dbus_register_interface(btd_get_dbus_connection(), - adapter_get_path(btd_adapter), - MEDIA_INTERFACE, - media_methods, NULL, NULL, - adapter, path_free)) { - error("D-Bus failed to register %s path", - adapter_get_path(btd_adapter)); - path_free(adapter); - return -1; - } - - adapters = g_slist_append(adapters, adapter); - - return 0; -} - -void media_unregister(struct btd_adapter *btd_adapter) -{ - GSList *l; - - for (l = adapters; l; l = l->next) { - struct media_adapter *adapter = l->data; - - if (adapter->btd_adapter == btd_adapter) { - g_dbus_unregister_interface(btd_get_dbus_connection(), - adapter_get_path(btd_adapter), - MEDIA_INTERFACE); - return; - } - } -} - -struct a2dp_sep *media_endpoint_get_sep(struct media_endpoint *endpoint) -{ - return endpoint->sep; -} - -const char *media_endpoint_get_uuid(struct media_endpoint *endpoint) -{ - return endpoint->uuid; -} - -uint8_t media_endpoint_get_codec(struct media_endpoint *endpoint) -{ - return endpoint->codec; -} diff --git a/GRIB_BLE_HUB/libs/ble_extend/profiles/audio/media.h b/GRIB_BLE_HUB/libs/ble_extend/profiles/audio/media.h deleted file mode 100644 index dd630d4..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/profiles/audio/media.h +++ /dev/null @@ -1,35 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2006-2007 Nokia Corporation - * Copyright (C) 2004-2009 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -struct media_endpoint; - -typedef void (*media_endpoint_cb_t) (struct media_endpoint *endpoint, - void *ret, int size, void *user_data); - -int media_register(struct btd_adapter *btd_adapter); -void media_unregister(struct btd_adapter *btd_adapter); - -struct a2dp_sep *media_endpoint_get_sep(struct media_endpoint *endpoint); -const char *media_endpoint_get_uuid(struct media_endpoint *endpoint); -uint8_t media_endpoint_get_codec(struct media_endpoint *endpoint); diff --git a/GRIB_BLE_HUB/libs/ble_extend/profiles/audio/player.c b/GRIB_BLE_HUB/libs/ble_extend/profiles/audio/player.c deleted file mode 100644 index e08e373..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/profiles/audio/player.c +++ /dev/null @@ -1,1313 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2006-2007 Nokia Corporation - * Copyright (C) 2004-2009 Marcel Holtmann - * Copyright (C) 2012-2012 Intel Corporation - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include - -#include "log.h" -#include "player.h" -#include "dbus-common.h" -#include "error.h" - -#define MEDIA_PLAYER_INTERFACE "org.bluez.MediaPlayer1" -#define MEDIA_FOLDER_INTERFACE "org.bluez.MediaFolder1" -#define MEDIA_ITEM_INTERFACE "org.bluez.MediaItem1" - -struct player_callback { - const struct media_player_callback *cbs; - void *user_data; -}; - -struct pending_req { - GDBusPendingPropertySet id; - const char *key; - const char *value; -}; - -struct media_item { - struct media_player *player; - char *path; /* Item object path */ - char *name; /* Item name */ - player_item_type_t type; /* Item type */ - player_folder_type_t folder_type; /* Folder type */ - bool playable; /* Item playable flag */ -}; - -struct media_folder { - struct media_item *item; /* Folder item */ - uint32_t number_of_items;/* Number of items */ -}; - -struct media_player { - char *device; /* Device path */ - char *name; /* Player name */ - char *type; /* Player type */ - char *subtype; /* Player subtype */ - bool browsable; /* Player browsing feature */ - bool searchable; /* Player searching feature */ - struct media_folder *folder; /* Player current folder */ - struct media_item *playlist; /* Player current playlist */ - char *path; /* Player object path */ - GHashTable *settings; /* Player settings */ - GHashTable *track; /* Player current track */ - char *status; - uint32_t position; - GTimer *progress; - guint process_id; - struct player_callback *cb; - GSList *pending; - GSList *folders; -}; - -static void append_metadata(void *key, void *value, void *user_data) -{ - DBusMessageIter *dict = user_data; - - if (strcasecmp((char *) key, "Duration") == 0 || - strcasecmp((char *) key, "TrackNumber") == 0 || - strcasecmp((char *) key, "NumberOfTracks") == 0) { - uint32_t num = atoi(value); - dict_append_entry(dict, key, DBUS_TYPE_UINT32, &num); - return; - } - - dict_append_entry(dict, key, DBUS_TYPE_STRING, &value); -} - -static struct pending_req *find_pending(struct media_player *mp, - const char *key) -{ - GSList *l; - - for (l = mp->pending; l; l = l->next) { - struct pending_req *p = l->data; - - if (strcasecmp(key, p->key) == 0) - return p; - } - - return NULL; -} - -static struct pending_req *pending_new(GDBusPendingPropertySet id, - const char *key, const char *value) -{ - struct pending_req *p; - - p = g_new0(struct pending_req, 1); - p->id = id; - p->key = key; - p->value = value; - - return p; -} - -static uint32_t media_player_get_position(struct media_player *mp) -{ - double timedelta; - uint32_t sec, msec; - - if (g_strcmp0(mp->status, "playing") != 0) - return mp->position; - - timedelta = g_timer_elapsed(mp->progress, NULL); - - sec = (uint32_t) timedelta; - msec = (uint32_t) ((timedelta - sec) * 1000); - - return mp->position + sec * 1000 + msec; -} - -static gboolean get_position(const GDBusPropertyTable *property, - DBusMessageIter *iter, void *data) -{ - struct media_player *mp = data; - uint32_t position; - - position = media_player_get_position(mp); - - dbus_message_iter_append_basic(iter, DBUS_TYPE_UINT32, &position); - - return TRUE; -} - -static gboolean status_exists(const GDBusPropertyTable *property, void *data) -{ - struct media_player *mp = data; - - return mp->status != NULL; -} - -static gboolean get_status(const GDBusPropertyTable *property, - DBusMessageIter *iter, void *data) -{ - struct media_player *mp = data; - - if (mp->status == NULL) - return FALSE; - - DBG("%s", mp->status); - - dbus_message_iter_append_basic(iter, DBUS_TYPE_STRING, &mp->status); - - return TRUE; -} - -static gboolean setting_exists(const GDBusPropertyTable *property, void *data) -{ - struct media_player *mp = data; - const char *value; - - value = g_hash_table_lookup(mp->settings, property->name); - - return value ? TRUE : FALSE; -} - -static gboolean get_setting(const GDBusPropertyTable *property, - DBusMessageIter *iter, void *data) -{ - struct media_player *mp = data; - const char *value; - - value = g_hash_table_lookup(mp->settings, property->name); - if (value == NULL) - return FALSE; - - DBG("%s %s", property->name, value); - - dbus_message_iter_append_basic(iter, DBUS_TYPE_STRING, &value); - - return TRUE; -} - -static void player_set_setting(struct media_player *mp, - GDBusPendingPropertySet id, - const char *key, const char *value) -{ - struct player_callback *cb = mp->cb; - struct pending_req *p; - - if (cb == NULL || cb->cbs->set_setting == NULL) { - g_dbus_pending_property_error(id, - ERROR_INTERFACE ".NotSupported", - "Operation is not supported"); - return; - } - - p = find_pending(mp, key); - if (p != NULL) { - g_dbus_pending_property_error(id, - ERROR_INTERFACE ".InProgress", - "Operation already in progress"); - return; - } - - if (!cb->cbs->set_setting(mp, key, value, cb->user_data)) { - g_dbus_pending_property_error(id, - ERROR_INTERFACE ".InvalidArguments", - "Invalid arguments in method call"); - return; - } - - p = pending_new(id, key, value); - - mp->pending = g_slist_append(mp->pending, p); -} - -static void set_setting(const GDBusPropertyTable *property, - DBusMessageIter *iter, GDBusPendingPropertySet id, - void *data) -{ - struct media_player *mp = data; - const char *value; - - if (dbus_message_iter_get_arg_type(iter) != DBUS_TYPE_STRING) { - g_dbus_pending_property_error(id, - ERROR_INTERFACE ".InvalidArguments", - "Invalid arguments in method call"); - return; - } - - dbus_message_iter_get_basic(iter, &value); - - player_set_setting(mp, id, property->name, value); -} - -static gboolean track_exists(const GDBusPropertyTable *property, void *data) -{ - struct media_player *mp = data; - - return g_hash_table_size(mp->track) != 0; -} - -static gboolean get_track(const GDBusPropertyTable *property, - DBusMessageIter *iter, void *data) -{ - struct media_player *mp = data; - DBusMessageIter dict; - - dbus_message_iter_open_container(iter, DBUS_TYPE_ARRAY, - DBUS_DICT_ENTRY_BEGIN_CHAR_AS_STRING - DBUS_TYPE_STRING_AS_STRING - DBUS_TYPE_VARIANT_AS_STRING - DBUS_DICT_ENTRY_END_CHAR_AS_STRING, - &dict); - - g_hash_table_foreach(mp->track, append_metadata, &dict); - - dbus_message_iter_close_container(iter, &dict); - - return TRUE; -} - -static gboolean get_device(const GDBusPropertyTable *property, - DBusMessageIter *iter, void *data) -{ - struct media_player *mp = data; - - dbus_message_iter_append_basic(iter, DBUS_TYPE_OBJECT_PATH, - &mp->device); - - return TRUE; -} - -static gboolean name_exists(const GDBusPropertyTable *property, void *data) -{ - struct media_player *mp = data; - - return mp->name != NULL; -} - -static gboolean get_name(const GDBusPropertyTable *property, - DBusMessageIter *iter, void *data) -{ - struct media_player *mp = data; - - if (mp->name == NULL) - return FALSE; - - DBG("%s", mp->name); - - dbus_message_iter_append_basic(iter, DBUS_TYPE_STRING, &mp->name); - - return TRUE; -} - -static gboolean type_exists(const GDBusPropertyTable *property, void *data) -{ - struct media_player *mp = data; - - return mp->type != NULL; -} - -static gboolean get_type(const GDBusPropertyTable *property, - DBusMessageIter *iter, void *data) -{ - struct media_player *mp = data; - - if (mp->type == NULL) - return FALSE; - - DBG("%s", mp->type); - - dbus_message_iter_append_basic(iter, DBUS_TYPE_STRING, &mp->type); - - return TRUE; -} - -static gboolean subtype_exists(const GDBusPropertyTable *property, void *data) -{ - struct media_player *mp = data; - - return mp->subtype != NULL; -} - -static gboolean get_subtype(const GDBusPropertyTable *property, - DBusMessageIter *iter, void *data) -{ - struct media_player *mp = data; - - if (mp->subtype == NULL) - return FALSE; - - DBG("%s", mp->subtype); - - dbus_message_iter_append_basic(iter, DBUS_TYPE_STRING, &mp->subtype); - - return TRUE; -} - -static gboolean browsable_exists(const GDBusPropertyTable *property, void *data) -{ - struct media_player *mp = data; - - return mp->folder != NULL; -} - -static gboolean get_browsable(const GDBusPropertyTable *property, - DBusMessageIter *iter, void *data) -{ - struct media_player *mp = data; - dbus_bool_t value; - - if (mp->folder == NULL) - return FALSE; - - DBG("%s", mp->browsable ? "true" : "false"); - - value = mp->browsable; - - dbus_message_iter_append_basic(iter, DBUS_TYPE_BOOLEAN, &value); - - return TRUE; -} - -static gboolean searchable_exists(const GDBusPropertyTable *property, - void *data) -{ - struct media_player *mp = data; - - return mp->folder != NULL; -} - -static gboolean get_searchable(const GDBusPropertyTable *property, - DBusMessageIter *iter, void *data) -{ - struct media_player *mp = data; - dbus_bool_t value; - - if (mp->folder == NULL) - return FALSE; - - DBG("%s", mp->searchable ? "true" : "false"); - - value = mp->searchable; - - dbus_message_iter_append_basic(iter, DBUS_TYPE_BOOLEAN, &value); - - return TRUE; -} - -static gboolean playlist_exists(const GDBusPropertyTable *property, - void *data) -{ - struct media_player *mp = data; - - return mp->playlist != NULL; -} - -static gboolean get_playlist(const GDBusPropertyTable *property, - DBusMessageIter *iter, void *data) -{ - struct media_player *mp = data; - struct media_item *playlist = mp->playlist; - - if (playlist == NULL) - return FALSE; - - dbus_message_iter_append_basic(iter, DBUS_TYPE_OBJECT_PATH, - &playlist->path); - - return TRUE; -} - -static DBusMessage *media_player_play(DBusConnection *conn, DBusMessage *msg, - void *data) -{ - struct media_player *mp = data; - struct player_callback *cb = mp->cb; - int err; - - if (cb->cbs->play == NULL) - return btd_error_not_supported(msg); - - err = cb->cbs->play(mp, cb->user_data); - if (err < 0) - return btd_error_failed(msg, strerror(-err)); - - return g_dbus_create_reply(msg, DBUS_TYPE_INVALID); -} - -static DBusMessage *media_player_pause(DBusConnection *conn, DBusMessage *msg, - void *data) -{ - struct media_player *mp = data; - struct player_callback *cb = mp->cb; - int err; - - if (cb->cbs->pause == NULL) - return btd_error_not_supported(msg); - - err = cb->cbs->pause(mp, cb->user_data); - if (err < 0) - return btd_error_failed(msg, strerror(-err)); - - return g_dbus_create_reply(msg, DBUS_TYPE_INVALID); -} - -static DBusMessage *media_player_stop(DBusConnection *conn, DBusMessage *msg, - void *data) -{ - struct media_player *mp = data; - struct player_callback *cb = mp->cb; - int err; - - if (cb->cbs->stop == NULL) - return btd_error_not_supported(msg); - - err = cb->cbs->stop(mp, cb->user_data); - if (err < 0) - return btd_error_failed(msg, strerror(-err)); - - return g_dbus_create_reply(msg, DBUS_TYPE_INVALID); -} - -static DBusMessage *media_player_next(DBusConnection *conn, DBusMessage *msg, - void *data) -{ - struct media_player *mp = data; - struct player_callback *cb = mp->cb; - int err; - - if (cb->cbs->next == NULL) - return btd_error_not_supported(msg); - - err = cb->cbs->next(mp, cb->user_data); - if (err < 0) - return btd_error_failed(msg, strerror(-err)); - - return g_dbus_create_reply(msg, DBUS_TYPE_INVALID); -} - -static DBusMessage *media_player_previous(DBusConnection *conn, - DBusMessage *msg, void *data) -{ - struct media_player *mp = data; - struct player_callback *cb = mp->cb; - int err; - - if (cb->cbs->previous == NULL) - return btd_error_not_supported(msg); - - err = cb->cbs->previous(mp, cb->user_data); - if (err < 0) - return btd_error_failed(msg, strerror(-err)); - - return g_dbus_create_reply(msg, DBUS_TYPE_INVALID); -} - -static DBusMessage *media_player_fast_forward(DBusConnection *conn, - DBusMessage *msg, void *data) -{ - struct media_player *mp = data; - struct player_callback *cb = mp->cb; - int err; - - if (cb->cbs->fast_forward == NULL) - return btd_error_not_supported(msg); - - err = cb->cbs->fast_forward(mp, cb->user_data); - if (err < 0) - return btd_error_failed(msg, strerror(-err)); - - return g_dbus_create_reply(msg, DBUS_TYPE_INVALID); -} - -static DBusMessage *media_player_rewind(DBusConnection *conn, DBusMessage *msg, - void *data) -{ - struct media_player *mp = data; - struct player_callback *cb = mp->cb; - int err; - - if (cb->cbs->rewind == NULL) - return btd_error_not_supported(msg); - - err = cb->cbs->rewind(mp, cb->user_data); - if (err < 0) - return btd_error_failed(msg, strerror(-err)); - - return g_dbus_create_reply(msg, DBUS_TYPE_INVALID); -} - -static const GDBusMethodTable media_player_methods[] = { - { GDBUS_EXPERIMENTAL_METHOD("Play", NULL, NULL, media_player_play) }, - { GDBUS_EXPERIMENTAL_METHOD("Pause", NULL, NULL, media_player_pause) }, - { GDBUS_EXPERIMENTAL_METHOD("Stop", NULL, NULL, media_player_stop) }, - { GDBUS_EXPERIMENTAL_METHOD("Next", NULL, NULL, media_player_next) }, - { GDBUS_EXPERIMENTAL_METHOD("Previous", NULL, NULL, - media_player_previous) }, - { GDBUS_EXPERIMENTAL_METHOD("FastForward", NULL, NULL, - media_player_fast_forward) }, - { GDBUS_EXPERIMENTAL_METHOD("Rewind", NULL, NULL, - media_player_rewind) }, - { } -}; - -static const GDBusSignalTable media_player_signals[] = { - { } -}; - -static const GDBusPropertyTable media_player_properties[] = { - { "Name", "s", get_name, NULL, name_exists, - G_DBUS_PROPERTY_FLAG_EXPERIMENTAL }, - { "Type", "s", get_type, NULL, type_exists, - G_DBUS_PROPERTY_FLAG_EXPERIMENTAL }, - { "Subtype", "s", get_subtype, NULL, subtype_exists, - G_DBUS_PROPERTY_FLAG_EXPERIMENTAL }, - { "Position", "u", get_position, NULL, NULL, - G_DBUS_PROPERTY_FLAG_EXPERIMENTAL }, - { "Status", "s", get_status, NULL, status_exists, - G_DBUS_PROPERTY_FLAG_EXPERIMENTAL }, - { "Equalizer", "s", get_setting, set_setting, setting_exists, - G_DBUS_PROPERTY_FLAG_EXPERIMENTAL }, - { "Repeat", "s", get_setting, set_setting, setting_exists, - G_DBUS_PROPERTY_FLAG_EXPERIMENTAL }, - { "Shuffle", "s", get_setting, set_setting, setting_exists, - G_DBUS_PROPERTY_FLAG_EXPERIMENTAL }, - { "Scan", "s", get_setting, set_setting, setting_exists, - G_DBUS_PROPERTY_FLAG_EXPERIMENTAL }, - { "Track", "a{sv}", get_track, NULL, track_exists, - G_DBUS_PROPERTY_FLAG_EXPERIMENTAL }, - { "Device", "o", get_device, NULL, NULL, - G_DBUS_PROPERTY_FLAG_EXPERIMENTAL }, - { "Browsable", "b", get_browsable, NULL, browsable_exists, - G_DBUS_PROPERTY_FLAG_EXPERIMENTAL }, - { "Searchable", "b", get_searchable, NULL, searchable_exists, - G_DBUS_PROPERTY_FLAG_EXPERIMENTAL }, - { "Playlist", "o", get_playlist, NULL, playlist_exists, - G_DBUS_PROPERTY_FLAG_EXPERIMENTAL }, - { } -}; - -static DBusMessage *media_folder_search(DBusConnection *conn, DBusMessage *msg, - void *data) -{ - return btd_error_failed(msg, strerror(ENOTSUP)); -} - -static DBusMessage *media_folder_list_items(DBusConnection *conn, - DBusMessage *msg, void *data) -{ - return btd_error_failed(msg, strerror(ENOTSUP)); -} - - -static DBusMessage *media_folder_change_folder(DBusConnection *conn, - DBusMessage *msg, void *data) -{ - return btd_error_failed(msg, strerror(ENOTSUP)); -} - -static gboolean folder_name_exists(const GDBusPropertyTable *property, - void *data) -{ - struct media_player *mp = data; - struct media_folder *folder = mp->folder; - - if (folder == NULL || folder->item == NULL) - return FALSE; - - return folder->item->name != NULL; -} - -static gboolean get_folder_name(const GDBusPropertyTable *property, - DBusMessageIter *iter, void *data) -{ - struct media_player *mp = data; - struct media_folder *folder = mp->folder; - - if (folder == NULL || folder->item == NULL) - return FALSE; - - DBG("%s", folder->item->name); - - dbus_message_iter_append_basic(iter, DBUS_TYPE_STRING, - &folder->item->name); - - return TRUE; -} - -static gboolean items_exists(const GDBusPropertyTable *property, void *data) -{ - struct media_player *mp = data; - - return mp->folder != NULL; -} - -static gboolean get_items(const GDBusPropertyTable *property, - DBusMessageIter *iter, void *data) -{ - struct media_player *mp = data; - struct media_folder *folder = mp->folder; - - if (folder == NULL) - return FALSE; - - DBG("%u", folder->number_of_items); - - dbus_message_iter_append_basic(iter, DBUS_TYPE_UINT32, - &folder->number_of_items); - - return TRUE; -} - -static const GDBusMethodTable media_folder_methods[] = { - { GDBUS_EXPERIMENTAL_METHOD("Search", - GDBUS_ARGS({ "string", "s" }, { "filter", "a{sv}" }), - GDBUS_ARGS({ "folder", "o" }), - media_folder_search) }, - { GDBUS_EXPERIMENTAL_METHOD("ListItems", - GDBUS_ARGS({ "filter", "a{sv}" }), - GDBUS_ARGS({ "items", "a{oa{sv}}" }), - media_folder_list_items) }, - { GDBUS_EXPERIMENTAL_METHOD("ChangeFolder", - GDBUS_ARGS({ "folder", "o" }), NULL, - media_folder_change_folder) }, - { } -}; - -static const GDBusPropertyTable media_folder_properties[] = { - { "Name", "s", get_folder_name, NULL, folder_name_exists, - G_DBUS_PROPERTY_FLAG_EXPERIMENTAL }, - { "NumberOfItems", "u", get_items, NULL, items_exists, - G_DBUS_PROPERTY_FLAG_EXPERIMENTAL }, - { } -}; - -static void media_item_destroy(void *data) -{ - struct media_item *item = data; - - DBG("%s", item->path); - - g_dbus_unregister_interface(btd_get_dbus_connection(), item->path, - MEDIA_ITEM_INTERFACE); - - g_free(item->path); - g_free(item->name); - g_free(item); -} - -static void media_folder_destroy(struct media_folder *folder) -{ - g_free(folder); -} - -void media_player_destroy(struct media_player *mp) -{ - DBG("%s", mp->path); - - g_dbus_unregister_interface(btd_get_dbus_connection(), mp->path, - MEDIA_PLAYER_INTERFACE); - - if (mp->track) - g_hash_table_unref(mp->track); - - if (mp->settings) - g_hash_table_unref(mp->settings); - - if (mp->process_id > 0) - g_source_remove(mp->process_id); - - if (mp->folder) { - g_dbus_unregister_interface(btd_get_dbus_connection(), - mp->path, - MEDIA_FOLDER_INTERFACE); - media_folder_destroy(mp->folder); - } - - g_slist_free_full(mp->pending, g_free); - g_slist_free_full(mp->folders, media_item_destroy); - - g_timer_destroy(mp->progress); - g_free(mp->cb); - g_free(mp->status); - g_free(mp->path); - g_free(mp->device); - g_free(mp->subtype); - g_free(mp->type); - g_free(mp->name); - g_free(mp); -} - -struct media_player *media_player_controller_create(const char *path, - uint16_t id) -{ - struct media_player *mp; - - mp = g_new0(struct media_player, 1); - mp->device = g_strdup(path); - mp->path = g_strdup_printf("%s/player%u", path, id); - mp->settings = g_hash_table_new_full(g_str_hash, g_str_equal, - g_free, g_free); - mp->track = g_hash_table_new_full(g_str_hash, g_str_equal, - g_free, g_free); - mp->progress = g_timer_new(); - - if (!g_dbus_register_interface(btd_get_dbus_connection(), - mp->path, MEDIA_PLAYER_INTERFACE, - media_player_methods, - media_player_signals, - media_player_properties, mp, NULL)) { - error("D-Bus failed to register %s path", mp->path); - media_player_destroy(mp); - return NULL; - } - - DBG("%s", mp->path); - - return mp; -} - -void media_player_set_duration(struct media_player *mp, uint32_t duration) -{ - char *value, *curval; - - DBG("%u", duration); - - /* Only update duration if track exists */ - if (g_hash_table_size(mp->track) == 0) - return; - - /* Ignore if duration is already set */ - curval = g_hash_table_lookup(mp->track, "Duration"); - if (curval != NULL) - return; - - value = g_strdup_printf("%u", duration); - - g_hash_table_replace(mp->track, g_strdup("Duration"), value); - - g_dbus_emit_property_changed(btd_get_dbus_connection(), - mp->path, MEDIA_PLAYER_INTERFACE, - "Track"); -} - -void media_player_set_position(struct media_player *mp, uint32_t position) -{ - DBG("%u", position); - - /* Only update duration if track exists */ - if (g_hash_table_size(mp->track) == 0) - return; - - mp->position = position; - g_timer_start(mp->progress); - - g_dbus_emit_property_changed(btd_get_dbus_connection(), mp->path, - MEDIA_PLAYER_INTERFACE, "Position"); -} - -void media_player_set_setting(struct media_player *mp, const char *key, - const char *value) -{ - char *curval; - struct pending_req *p; - - DBG("%s: %s", key, value); - - if (strcasecmp(key, "Error") == 0) { - p = g_slist_nth_data(mp->pending, 0); - if (p == NULL) - return; - - g_dbus_pending_property_error(p->id, ERROR_INTERFACE ".Failed", - value); - goto send; - } - - curval = g_hash_table_lookup(mp->settings, key); - if (g_strcmp0(curval, value) == 0) - goto done; - - g_hash_table_replace(mp->settings, g_strdup(key), g_strdup(value)); - g_dbus_emit_property_changed(btd_get_dbus_connection(), mp->path, - MEDIA_PLAYER_INTERFACE, key); - -done: - p = find_pending(mp, key); - if (p == NULL) - return; - - if (strcasecmp(value, p->value) == 0) - g_dbus_pending_property_success(p->id); - else - g_dbus_pending_property_error(p->id, - ERROR_INTERFACE ".NotSupported", - "Operation is not supported"); - -send: - mp->pending = g_slist_remove(mp->pending, p); - g_free(p); - - return; -} - -const char *media_player_get_status(struct media_player *mp) -{ - return mp->status; -} - -void media_player_set_status(struct media_player *mp, const char *status) -{ - DBG("%s", status); - - if (g_strcmp0(mp->status, status) == 0) - return; - - g_free(mp->status); - mp->status = g_strdup(status); - - g_dbus_emit_property_changed(btd_get_dbus_connection(), mp->path, - MEDIA_PLAYER_INTERFACE, "Status"); - - mp->position = media_player_get_position(mp); - g_timer_start(mp->progress); -} - -static gboolean process_metadata_changed(void *user_data) -{ - struct media_player *mp = user_data; - - mp->process_id = 0; - - g_dbus_emit_property_changed(btd_get_dbus_connection(), - mp->path, MEDIA_PLAYER_INTERFACE, - "Track"); - - return FALSE; -} - -void media_player_set_metadata(struct media_player *mp, const char *key, - void *data, size_t len) -{ - char *value, *curval; - - value = g_strndup(data, len); - - DBG("%s: %s", key, value); - - curval = g_hash_table_lookup(mp->track, key); - if (g_strcmp0(curval, value) == 0) { - g_free(value); - return; - } - - if (mp->process_id == 0) { - g_hash_table_remove_all(mp->track); - mp->process_id = g_idle_add(process_metadata_changed, mp); - } - - g_hash_table_replace(mp->track, g_strdup(key), value); -} - -void media_player_set_type(struct media_player *mp, const char *type) -{ - if (g_strcmp0(mp->type, type) == 0) - return; - - DBG("%s", type); - - mp->type = g_strdup(type); - - g_dbus_emit_property_changed(btd_get_dbus_connection(), - mp->path, MEDIA_PLAYER_INTERFACE, - "Type"); -} - -void media_player_set_subtype(struct media_player *mp, const char *subtype) -{ - if (g_strcmp0(mp->subtype, subtype) == 0) - return; - - DBG("%s", subtype); - - mp->subtype = g_strdup(subtype); - - g_dbus_emit_property_changed(btd_get_dbus_connection(), - mp->path, MEDIA_PLAYER_INTERFACE, - "Subtype"); -} - -void media_player_set_name(struct media_player *mp, const char *name) -{ - if (g_strcmp0(mp->name, name) == 0) - return; - - DBG("%s", name); - - mp->name = g_strdup(name); - - g_dbus_emit_property_changed(btd_get_dbus_connection(), - mp->path, MEDIA_PLAYER_INTERFACE, - "Name"); -} - -void media_player_set_browsable(struct media_player *mp, bool enabled) -{ - if (mp->browsable == enabled) - return; - - DBG("%s", enabled ? "true" : "false"); - - mp->browsable = enabled; - - g_dbus_emit_property_changed(btd_get_dbus_connection(), - mp->path, MEDIA_PLAYER_INTERFACE, - "Browsable"); -} - -void media_player_set_searchable(struct media_player *mp, bool enabled) -{ - if (mp->browsable == enabled) - return; - - DBG("%s", enabled ? "true" : "false"); - - mp->searchable = enabled; - - g_dbus_emit_property_changed(btd_get_dbus_connection(), - mp->path, MEDIA_PLAYER_INTERFACE, - "Searchable"); -} - -static void media_player_set_folder_item(struct media_player *mp, - struct media_item *item, - uint32_t number_of_items) -{ - struct media_folder *folder; - - folder = mp->folder; - - if (folder == NULL) { - folder = g_new0(struct media_folder, 1); - mp->folder = folder; - - if (!g_dbus_register_interface(btd_get_dbus_connection(), - mp->path, MEDIA_FOLDER_INTERFACE, - media_folder_methods, - NULL, - media_folder_properties, mp, NULL)) { - error("D-Bus failed to register %s on %s path", - MEDIA_FOLDER_INTERFACE, mp->path); - media_folder_destroy(mp->folder); - mp->folder = NULL; - return; - } - } - - folder->item = item; - folder->number_of_items = number_of_items; - - g_dbus_emit_property_changed(btd_get_dbus_connection(), mp->path, - MEDIA_FOLDER_INTERFACE, "Name"); - g_dbus_emit_property_changed(btd_get_dbus_connection(), mp->path, - MEDIA_FOLDER_INTERFACE, "NumberOfItems"); -} - -static struct media_item *media_player_find_folder(struct media_player *mp, - const char *name) -{ - GSList *l; - - for (l = mp->folders; l; l = l->next) { - struct media_item *item = l->data; - - if (item->type != PLAYER_ITEM_TYPE_FOLDER) - continue; - - if (g_str_equal(item->name, name)) - return item; - } - - return NULL; -} - -void media_player_set_folder(struct media_player *mp, const char *name, - uint32_t number_of_items) -{ - struct media_item *item; - - DBG("%s number of items %u", name, number_of_items); - - item = media_player_find_folder(mp, name); - if (item == NULL) { - error("Unknown folder: %s", name); - return; - } - - media_player_set_folder_item(mp, item, number_of_items); -} - -void media_player_set_playlist(struct media_player *mp, const char *name) -{ - struct media_item *item; - - DBG("%s", name); - - item = media_player_find_folder(mp, name); - if (item == NULL) { - error("Unknown folder: %s", name); - return; - } - - mp->playlist = item; - - g_dbus_emit_property_changed(btd_get_dbus_connection(), mp->path, - MEDIA_PLAYER_INTERFACE, "Playlist"); -} - -static DBusMessage *media_item_play(DBusConnection *conn, DBusMessage *msg, - void *data) -{ - return btd_error_failed(msg, strerror(ENOTSUP)); -} - -static DBusMessage *media_item_add_to_nowplaying(DBusConnection *conn, - DBusMessage *msg, void *data) -{ - return btd_error_failed(msg, strerror(ENOTSUP)); -} - -static gboolean item_name_exists(const GDBusPropertyTable *property, - void *data) -{ - struct media_item *item = data; - - return item->name != NULL; -} - -static gboolean get_item_name(const GDBusPropertyTable *property, - DBusMessageIter *iter, void *data) -{ - struct media_item *item = data; - - if (item->name == NULL) - return FALSE; - - DBG("%s", item->name); - - dbus_message_iter_append_basic(iter, DBUS_TYPE_STRING, &item->name); - - return TRUE; -} - -static const char *type_to_string(uint8_t type) -{ - switch (type) { - case PLAYER_ITEM_TYPE_AUDIO: - return "audio"; - case PLAYER_ITEM_TYPE_VIDEO: - return "video"; - case PLAYER_ITEM_TYPE_FOLDER: - return "folder"; - } - - return NULL; -} - -static gboolean get_item_type(const GDBusPropertyTable *property, - DBusMessageIter *iter, void *data) -{ - struct media_item *item = data; - const char *string; - - string = type_to_string(item->type); - - DBG("%s", string); - - dbus_message_iter_append_basic(iter, DBUS_TYPE_STRING, &string); - - return TRUE; -} - -static gboolean get_playable(const GDBusPropertyTable *property, - DBusMessageIter *iter, void *data) -{ - struct media_item *item = data; - dbus_bool_t value; - - DBG("%s", item->playable ? "true" : "false"); - - value = item->playable; - - dbus_message_iter_append_basic(iter, DBUS_TYPE_BOOLEAN, &value); - - return TRUE; -} - -static const char *folder_type_to_string(uint8_t type) -{ - switch (type) { - case PLAYER_FOLDER_TYPE_MIXED: - return "mixed"; - case PLAYER_FOLDER_TYPE_TITLES: - return "titles"; - case PLAYER_FOLDER_TYPE_ALBUMS: - return "albums"; - case PLAYER_FOLDER_TYPE_ARTISTS: - return "artists"; - case PLAYER_FOLDER_TYPE_GENRES: - return "genres"; - case PLAYER_FOLDER_TYPE_PLAYLISTS: - return "playlists"; - case PLAYER_FOLDER_TYPE_YEARS: - return "years"; - } - - return NULL; -} - -static gboolean folder_type_exists(const GDBusPropertyTable *property, - void *data) -{ - struct media_item *item = data; - - return folder_type_to_string(item->folder_type) != NULL; -} - -static gboolean get_folder_type(const GDBusPropertyTable *property, - DBusMessageIter *iter, void *data) -{ - struct media_item *item = data; - const char *string; - - string = folder_type_to_string(item->folder_type); - if (string == NULL) - return FALSE; - - DBG("%s", string); - - dbus_message_iter_append_basic(iter, DBUS_TYPE_STRING, &string); - - return TRUE; -} - -static const GDBusMethodTable media_item_methods[] = { - { GDBUS_EXPERIMENTAL_METHOD("Play", NULL, NULL, - media_item_play) }, - { GDBUS_EXPERIMENTAL_METHOD("AddtoNowPlaying", NULL, NULL, - media_item_add_to_nowplaying) }, - { } -}; - -static const GDBusPropertyTable media_item_properties[] = { - { "Name", "s", get_item_name, NULL, item_name_exists, - G_DBUS_PROPERTY_FLAG_EXPERIMENTAL }, - { "Type", "s", get_item_type, NULL, NULL, - G_DBUS_PROPERTY_FLAG_EXPERIMENTAL }, - { "FolderType", "s", get_folder_type, NULL, folder_type_exists, - G_DBUS_PROPERTY_FLAG_EXPERIMENTAL }, - { "Playable", "b", get_playable, NULL, NULL, - G_DBUS_PROPERTY_FLAG_EXPERIMENTAL }, - { } -}; - -static struct media_item *media_player_create_item(struct media_player *mp, - const char *name, - player_item_type_t type) -{ - struct media_item *item; - const char *strtype; - - strtype = type_to_string(type); - if (strtype == NULL) - return NULL; - - DBG("%s type %s", name, strtype); - - item = g_new0(struct media_item, 1); - item->player = mp; - item->path = g_strdup_printf("%s%s", mp->path, name); - item->name = g_strdup(name); - item->type = type; - item->folder_type = PLAYER_FOLDER_TYPE_INVALID; - - if (!g_dbus_register_interface(btd_get_dbus_connection(), - item->path, MEDIA_ITEM_INTERFACE, - media_item_methods, - NULL, - media_item_properties, item, NULL)) { - error("D-Bus failed to register %s on %s path", - MEDIA_ITEM_INTERFACE, item->path); - media_item_destroy(item); - return NULL; - } - - return item; -} - -int media_player_create_folder(struct media_player *mp, const char *name, - player_folder_type_t type) -{ - struct media_item *item; - - item = media_player_find_folder(mp, name); - if (item != NULL) - return 0; - - item = media_player_create_item(mp, name, - PLAYER_ITEM_TYPE_FOLDER); - if (item == NULL) - return -EINVAL; - - item->folder_type = type; - - if (mp->folder == NULL) - media_player_set_folder_item(mp, item, 0); - - mp->folders = g_slist_prepend(mp->folders, item); - - return 0; -} - -void media_player_set_callbacks(struct media_player *mp, - const struct media_player_callback *cbs, - void *user_data) -{ - struct player_callback *cb; - - if (mp->cb) - g_free(mp->cb); - - cb = g_new0(struct player_callback, 1); - cb->cbs = cbs; - cb->user_data = user_data; - - mp->cb = cb; -} diff --git a/GRIB_BLE_HUB/libs/ble_extend/profiles/audio/player.h b/GRIB_BLE_HUB/libs/ble_extend/profiles/audio/player.h deleted file mode 100644 index 852042e..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/profiles/audio/player.h +++ /dev/null @@ -1,83 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2006-2007 Nokia Corporation - * Copyright (C) 2004-2009 Marcel Holtmann - * Copyright (C) 2012-2012 Intel Corporation - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -typedef enum { - PLAYER_ITEM_TYPE_AUDIO, - PLAYER_ITEM_TYPE_VIDEO, - PLAYER_ITEM_TYPE_FOLDER, - PLAYER_ITEM_TYPE_INVALID, -} player_item_type_t; - -typedef enum { - PLAYER_FOLDER_TYPE_MIXED, - PLAYER_FOLDER_TYPE_TITLES, - PLAYER_FOLDER_TYPE_ALBUMS, - PLAYER_FOLDER_TYPE_ARTISTS, - PLAYER_FOLDER_TYPE_GENRES, - PLAYER_FOLDER_TYPE_PLAYLISTS, - PLAYER_FOLDER_TYPE_YEARS, - PLAYER_FOLDER_TYPE_INVALID, -} player_folder_type_t; - -struct media_player; - -struct media_player_callback { - bool (*set_setting) (struct media_player *mp, const char *key, - const char *value, void *user_data); - int (*play) (struct media_player *mp, void *user_data); - int (*pause) (struct media_player *mp, void *user_data); - int (*stop) (struct media_player *mp, void *user_data); - int (*next) (struct media_player *mp, void *user_data); - int (*previous) (struct media_player *mp, void *user_data); - int (*fast_forward) (struct media_player *mp, void *user_data); - int (*rewind) (struct media_player *mp, void *user_data); -}; - -struct media_player *media_player_controller_create(const char *path, - uint16_t id); -void media_player_destroy(struct media_player *mp); -void media_player_set_duration(struct media_player *mp, uint32_t duration); -void media_player_set_position(struct media_player *mp, uint32_t position); -void media_player_set_setting(struct media_player *mp, const char *key, - const char *value); -const char *media_player_get_status(struct media_player *mp); -void media_player_set_status(struct media_player *mp, const char *status); -void media_player_set_metadata(struct media_player *mp, const char *key, - void *data, size_t len); -void media_player_set_type(struct media_player *mp, const char *type); -void media_player_set_subtype(struct media_player *mp, const char *subtype); -void media_player_set_name(struct media_player *mp, const char *name); -void media_player_set_browsable(struct media_player *mp, bool enabled); -void media_player_set_searchable(struct media_player *mp, bool enabled); -void media_player_set_folder(struct media_player *mp, const char *path, - uint32_t items); -void media_player_set_playlist(struct media_player *mp, const char *name); - -int media_player_create_folder(struct media_player *mp, const char *name, - player_folder_type_t type); - -void media_player_set_callbacks(struct media_player *mp, - const struct media_player_callback *cbs, - void *user_data); diff --git a/GRIB_BLE_HUB/libs/ble_extend/profiles/audio/sink.c b/GRIB_BLE_HUB/libs/ble_extend/profiles/audio/sink.c deleted file mode 100644 index f023307..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/profiles/audio/sink.c +++ /dev/null @@ -1,482 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2006-2010 Nokia Corporation - * Copyright (C) 2004-2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include -#include - -#include -#include - -#include -#include -#include - -#include "log.h" - -#include "../src/adapter.h" -#include "../src/device.h" - -#include "device.h" -#include "avdtp.h" -#include "media.h" -#include "a2dp.h" -#include "error.h" -#include "manager.h" -#include "sink.h" -#include "dbus-common.h" - -#define STREAM_SETUP_RETRY_TIMER 2 - -struct sink { - struct audio_device *dev; - struct avdtp *session; - struct avdtp_stream *stream; - unsigned int cb_id; - guint retry_id; - avdtp_session_state_t session_state; - avdtp_state_t stream_state; - sink_state_t state; - unsigned int connect_id; - unsigned int disconnect_id; - unsigned int avdtp_callback_id; -}; - -struct sink_state_callback { - sink_state_cb cb; - struct audio_device *dev; - void *user_data; - unsigned int id; -}; - -static GSList *sink_callbacks = NULL; - -static char *str_state[] = { - "SINK_STATE_DISCONNECTED", - "SINK_STATE_CONNECTING", - "SINK_STATE_CONNECTED", - "SINK_STATE_PLAYING", -}; - -static void sink_set_state(struct audio_device *dev, sink_state_t new_state) -{ - struct sink *sink = dev->sink; - sink_state_t old_state = sink->state; - GSList *l; - - sink->state = new_state; - - DBG("State changed %s: %s -> %s", device_get_path(dev->btd_dev), - str_state[old_state], str_state[new_state]); - - for (l = sink_callbacks; l != NULL; l = l->next) { - struct sink_state_callback *cb = l->data; - - if (cb->dev != dev) - continue; - - cb->cb(dev, old_state, new_state, cb->user_data); - } - - if (new_state != SINK_STATE_DISCONNECTED) - return; - - if (sink->session) { - avdtp_unref(sink->session); - sink->session = NULL; - } -} - -static void avdtp_state_callback(struct audio_device *dev, - struct avdtp *session, - avdtp_session_state_t old_state, - avdtp_session_state_t new_state) -{ - struct sink *sink = dev->sink; - - switch (new_state) { - case AVDTP_SESSION_STATE_DISCONNECTED: - sink_set_state(dev, SINK_STATE_DISCONNECTED); - break; - case AVDTP_SESSION_STATE_CONNECTING: - sink_set_state(dev, SINK_STATE_CONNECTING); - break; - case AVDTP_SESSION_STATE_CONNECTED: - break; - } - - sink->session_state = new_state; -} - -static void stream_state_changed(struct avdtp_stream *stream, - avdtp_state_t old_state, - avdtp_state_t new_state, - struct avdtp_error *err, - void *user_data) -{ - struct audio_device *dev = user_data; - struct sink *sink = dev->sink; - - if (err) - return; - - switch (new_state) { - case AVDTP_STATE_IDLE: - audio_sink_disconnected(dev->btd_dev, 0); - - if (sink->disconnect_id > 0) { - a2dp_cancel(dev, sink->disconnect_id); - sink->disconnect_id = 0; - } - - if (sink->session) { - avdtp_unref(sink->session); - sink->session = NULL; - } - sink->stream = NULL; - sink->cb_id = 0; - break; - case AVDTP_STATE_OPEN: - sink_set_state(dev, SINK_STATE_CONNECTED); - break; - case AVDTP_STATE_STREAMING: - sink_set_state(dev, SINK_STATE_PLAYING); - break; - case AVDTP_STATE_CONFIGURED: - case AVDTP_STATE_CLOSING: - case AVDTP_STATE_ABORTING: - default: - break; - } - - sink->stream_state = new_state; -} - -static gboolean stream_setup_retry(gpointer user_data) -{ - struct sink *sink = user_data; - int err; - - sink->retry_id = 0; - - if (sink->stream_state >= AVDTP_STATE_OPEN) { - DBG("Stream successfully created, after XCASE connect:connect"); - err = 0; - } else { - DBG("Stream setup failed, after XCASE connect:connect"); - err = -EIO; - } - - audio_sink_connected(sink->dev->btd_dev, err); - - if (sink->connect_id > 0) { - a2dp_cancel(sink->dev, sink->connect_id); - sink->connect_id = 0; - } - - return FALSE; -} - -static void stream_setup_complete(struct avdtp *session, struct a2dp_sep *sep, - struct avdtp_stream *stream, - struct avdtp_error *err, void *user_data) -{ - struct sink *sink = user_data; - - sink->connect_id = 0; - - if (stream) { - DBG("Stream successfully created"); - audio_sink_connected(sink->dev->btd_dev, 0); - return; - } - - avdtp_unref(sink->session); - sink->session = NULL; - if (avdtp_error_category(err) == AVDTP_ERRNO - && avdtp_error_posix_errno(err) != EHOSTDOWN) { - DBG("connect:connect XCASE detected"); - sink->retry_id = g_timeout_add_seconds(STREAM_SETUP_RETRY_TIMER, - stream_setup_retry, - sink); - } else { - DBG("Stream setup failed : %s", avdtp_strerror(err)); - audio_sink_connected(sink->dev->btd_dev, -EIO); - } -} - -static void select_complete(struct avdtp *session, struct a2dp_sep *sep, - GSList *caps, void *user_data) -{ - struct sink *sink = user_data; - int id; - - sink->connect_id = 0; - - id = a2dp_config(session, sep, stream_setup_complete, caps, sink); - if (id == 0) - goto failed; - - sink->connect_id = id; - return; - -failed: - audio_sink_connected(sink->dev->btd_dev, -EIO); - - avdtp_unref(sink->session); - sink->session = NULL; -} - -static void discovery_complete(struct avdtp *session, GSList *seps, struct avdtp_error *err, - void *user_data) -{ - struct sink *sink = user_data; - int id; - - if (err) { - avdtp_unref(sink->session); - sink->session = NULL; - if (avdtp_error_category(err) == AVDTP_ERRNO - && avdtp_error_posix_errno(err) != EHOSTDOWN) { - DBG("connect:connect XCASE detected"); - sink->retry_id = - g_timeout_add_seconds(STREAM_SETUP_RETRY_TIMER, - stream_setup_retry, - sink); - } else - goto failed; - return; - } - - DBG("Discovery complete"); - - id = a2dp_select_capabilities(sink->session, AVDTP_SEP_TYPE_SINK, NULL, - select_complete, sink); - if (id == 0) - goto failed; - - sink->connect_id = id; - return; - -failed: - audio_sink_connected(sink->dev->btd_dev, -EIO); - avdtp_unref(sink->session); - sink->session = NULL; -} - -gboolean sink_setup_stream(struct sink *sink, struct avdtp *session) -{ - if (sink->connect_id > 0 || sink->disconnect_id > 0) - return FALSE; - - if (session && !sink->session) - sink->session = avdtp_ref(session); - - if (!sink->session) - return FALSE; - - if (avdtp_discover(sink->session, discovery_complete, sink) < 0) - return FALSE; - - return TRUE; -} - -int sink_connect(struct audio_device *dev) -{ - struct sink *sink = dev->sink; - - if (!sink->session) - sink->session = avdtp_get(dev); - - if (!sink->session) { - DBG("Unable to get a session"); - return -EIO; - } - - if (sink->connect_id > 0 || sink->disconnect_id > 0) - return -EBUSY; - - if (sink->stream_state >= AVDTP_STATE_OPEN) - return -EALREADY; - - if (!sink_setup_stream(sink, NULL)) { - DBG("Failed to create a stream"); - return -EIO; - } - - DBG("stream creation in progress"); - - return 0; -} - -static void sink_free(struct audio_device *dev) -{ - struct sink *sink = dev->sink; - - if (sink->cb_id) - avdtp_stream_remove_cb(sink->session, sink->stream, - sink->cb_id); - - if (sink->session) - avdtp_unref(sink->session); - - if (sink->connect_id > 0) { - audio_sink_connected(dev->btd_dev, -ECANCELED); - a2dp_cancel(dev, sink->connect_id); - sink->connect_id = 0; - } - - if (sink->disconnect_id > 0) { - audio_sink_disconnected(dev->btd_dev, -ECANCELED); - a2dp_cancel(dev, sink->disconnect_id); - sink->disconnect_id = 0; - } - - if (sink->retry_id) - g_source_remove(sink->retry_id); - - avdtp_remove_state_cb(sink->avdtp_callback_id); - - g_free(sink); - dev->sink = NULL; -} - -void sink_unregister(struct audio_device *dev) -{ - DBG("%s", device_get_path(dev->btd_dev)); - sink_free(dev); -} - -struct sink *sink_init(struct audio_device *dev) -{ - struct sink *sink; - - DBG("%s", device_get_path(dev->btd_dev)); - - sink = g_new0(struct sink, 1); - - sink->dev = dev; - - sink->avdtp_callback_id = avdtp_add_state_cb(dev, avdtp_state_callback); - - return sink; -} - -gboolean sink_is_active(struct audio_device *dev) -{ - struct sink *sink = dev->sink; - - if (sink->session) - return TRUE; - - return FALSE; -} - -gboolean sink_new_stream(struct audio_device *dev, struct avdtp *session, - struct avdtp_stream *stream) -{ - struct sink *sink = dev->sink; - - if (sink->stream) - return FALSE; - - if (!sink->session) - sink->session = avdtp_ref(session); - - sink->stream = stream; - - sink->cb_id = avdtp_stream_add_cb(session, stream, - stream_state_changed, dev); - - return TRUE; -} - -int sink_disconnect(struct audio_device *dev, gboolean shutdown) -{ - struct sink *sink = dev->sink; - - if (!sink->session) - return -ENOTCONN; - - if (shutdown) - avdtp_set_device_disconnect(sink->session, TRUE); - - /* cancel pending connect */ - if (sink->connect_id > 0) { - a2dp_cancel(dev, sink->connect_id); - sink->connect_id = 0; - audio_sink_connected(dev->btd_dev, -ECANCELED); - - avdtp_unref(sink->session); - sink->session = NULL; - - return 0; - } - - /* disconnect already ongoing */ - if (sink->disconnect_id > 0) - return -EBUSY; - - if (!sink->stream) - return -ENOTCONN; - - return avdtp_close(sink->session, sink->stream, FALSE); -} - -unsigned int sink_add_state_cb(struct audio_device *dev, sink_state_cb cb, - void *user_data) -{ - struct sink_state_callback *state_cb; - static unsigned int id = 0; - - state_cb = g_new(struct sink_state_callback, 1); - state_cb->cb = cb; - state_cb->dev = dev; - state_cb->user_data = user_data; - state_cb->id = ++id; - - sink_callbacks = g_slist_append(sink_callbacks, state_cb); - - return state_cb->id; -} - -gboolean sink_remove_state_cb(unsigned int id) -{ - GSList *l; - - for (l = sink_callbacks; l != NULL; l = l->next) { - struct sink_state_callback *cb = l->data; - if (cb && cb->id == id) { - sink_callbacks = g_slist_remove(sink_callbacks, cb); - g_free(cb); - return TRUE; - } - } - - return FALSE; -} diff --git a/GRIB_BLE_HUB/libs/ble_extend/profiles/audio/sink.h b/GRIB_BLE_HUB/libs/ble_extend/profiles/audio/sink.h deleted file mode 100644 index ba0dde8..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/profiles/audio/sink.h +++ /dev/null @@ -1,50 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2006-2010 Nokia Corporation - * Copyright (C) 2004-2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#define AUDIO_SINK_INTERFACE "org.bluez.AudioSink" - -typedef enum { - SINK_STATE_DISCONNECTED, - SINK_STATE_CONNECTING, - SINK_STATE_CONNECTED, - SINK_STATE_PLAYING, -} sink_state_t; - -typedef void (*sink_state_cb) (struct audio_device *dev, - sink_state_t old_state, - sink_state_t new_state, - void *user_data); - -unsigned int sink_add_state_cb(struct audio_device *dev, sink_state_cb cb, - void *user_data); -gboolean sink_remove_state_cb(unsigned int id); - -struct sink *sink_init(struct audio_device *dev); -void sink_unregister(struct audio_device *dev); -gboolean sink_is_active(struct audio_device *dev); -int sink_connect(struct audio_device *dev); -gboolean sink_new_stream(struct audio_device *dev, struct avdtp *session, - struct avdtp_stream *stream); -gboolean sink_setup_stream(struct sink *sink, struct avdtp *session); -int sink_disconnect(struct audio_device *dev, gboolean shutdown); diff --git a/GRIB_BLE_HUB/libs/ble_extend/profiles/audio/source.c b/GRIB_BLE_HUB/libs/ble_extend/profiles/audio/source.c deleted file mode 100644 index 5d9e237..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/profiles/audio/source.c +++ /dev/null @@ -1,478 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2006-2010 Nokia Corporation - * Copyright (C) 2004-2010 Marcel Holtmann - * Copyright (C) 2009 Joao Paulo Rechi Vita - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include -#include - -#include -#include - -#include -#include -#include - -#include "log.h" - -#include "../src/adapter.h" -#include "../src/device.h" - -#include "device.h" -#include "avdtp.h" -#include "media.h" -#include "a2dp.h" -#include "error.h" -#include "manager.h" -#include "source.h" -#include "dbus-common.h" - -#define STREAM_SETUP_RETRY_TIMER 2 - -struct source { - struct audio_device *dev; - struct avdtp *session; - struct avdtp_stream *stream; - unsigned int cb_id; - guint retry_id; - avdtp_session_state_t session_state; - avdtp_state_t stream_state; - source_state_t state; - unsigned int connect_id; - unsigned int disconnect_id; - unsigned int avdtp_callback_id; -}; - -struct source_state_callback { - source_state_cb cb; - struct audio_device *dev; - void *user_data; - unsigned int id; -}; - -static GSList *source_callbacks = NULL; - -static char *str_state[] = { - "SOURCE_STATE_DISCONNECTED", - "SOURCE_STATE_CONNECTING", - "SOURCE_STATE_CONNECTED", - "SOURCE_STATE_PLAYING", -}; - -static void source_set_state(struct audio_device *dev, source_state_t new_state) -{ - struct source *source = dev->source; - source_state_t old_state = source->state; - GSList *l; - - source->state = new_state; - - DBG("State changed %s: %s -> %s", device_get_path(dev->btd_dev), - str_state[old_state], str_state[new_state]); - - for (l = source_callbacks; l != NULL; l = l->next) { - struct source_state_callback *cb = l->data; - - if (cb->dev != dev) - continue; - - cb->cb(dev, old_state, new_state, cb->user_data); - } - - if (new_state != SOURCE_STATE_DISCONNECTED) - return; - - if (source->session) { - avdtp_unref(source->session); - source->session = NULL; - } -} - -static void avdtp_state_callback(struct audio_device *dev, - struct avdtp *session, - avdtp_session_state_t old_state, - avdtp_session_state_t new_state) -{ - struct source *source = dev->source; - - switch (new_state) { - case AVDTP_SESSION_STATE_DISCONNECTED: - source_set_state(dev, SOURCE_STATE_DISCONNECTED); - break; - case AVDTP_SESSION_STATE_CONNECTING: - source_set_state(dev, SOURCE_STATE_CONNECTING); - break; - case AVDTP_SESSION_STATE_CONNECTED: - break; - } - - source->session_state = new_state; -} - -static void stream_state_changed(struct avdtp_stream *stream, - avdtp_state_t old_state, - avdtp_state_t new_state, - struct avdtp_error *err, - void *user_data) -{ - struct audio_device *dev = user_data; - struct source *source = dev->source; - - if (err) - return; - - switch (new_state) { - case AVDTP_STATE_IDLE: - audio_source_disconnected(dev->btd_dev, 0); - - if (source->disconnect_id > 0) { - a2dp_cancel(dev, source->disconnect_id); - source->disconnect_id = 0; - } - - if (source->session) { - avdtp_unref(source->session); - source->session = NULL; - } - source->stream = NULL; - source->cb_id = 0; - break; - case AVDTP_STATE_OPEN: - source_set_state(dev, SOURCE_STATE_CONNECTED); - break; - case AVDTP_STATE_STREAMING: - source_set_state(dev, SOURCE_STATE_PLAYING); - break; - case AVDTP_STATE_CONFIGURED: - case AVDTP_STATE_CLOSING: - case AVDTP_STATE_ABORTING: - default: - break; - } - - source->stream_state = new_state; -} - -static gboolean stream_setup_retry(gpointer user_data) -{ - struct source *source = user_data; - int err; - - source->retry_id = 0; - - if (source->stream_state >= AVDTP_STATE_OPEN) { - DBG("Stream successfully created, after XCASE connect:connect"); - err = 0; - } else { - DBG("Stream setup failed, after XCASE connect:connect"); - err = -EIO; - } - - audio_source_connected(source->dev->btd_dev, err); - - if (source->connect_id > 0) { - a2dp_cancel(source->dev, source->connect_id); - source->connect_id = 0; - } - - return FALSE; -} - -static void stream_setup_complete(struct avdtp *session, struct a2dp_sep *sep, - struct avdtp_stream *stream, - struct avdtp_error *err, void *user_data) -{ - struct source *source = user_data; - - source->connect_id = 0; - - if (stream) { - DBG("Stream successfully created"); - audio_source_connected(source->dev->btd_dev, 0); - return; - } - - avdtp_unref(source->session); - source->session = NULL; - if (avdtp_error_category(err) == AVDTP_ERRNO - && avdtp_error_posix_errno(err) != EHOSTDOWN) { - DBG("connect:connect XCASE detected"); - source->retry_id = g_timeout_add_seconds(STREAM_SETUP_RETRY_TIMER, - stream_setup_retry, - source); - } else { - DBG("Stream setup failed : %s", avdtp_strerror(err)); - audio_source_connected(source->dev->btd_dev, -EIO); - } -} - -static void select_complete(struct avdtp *session, struct a2dp_sep *sep, - GSList *caps, void *user_data) -{ - struct source *source = user_data; - int id; - - source->connect_id = 0; - - if (caps == NULL) - goto failed; - - id = a2dp_config(session, sep, stream_setup_complete, caps, source); - if (id == 0) - goto failed; - - source->connect_id = id; - return; - -failed: - audio_source_connected(source->dev->btd_dev, -EIO); - - avdtp_unref(source->session); - source->session = NULL; -} - -static void discovery_complete(struct avdtp *session, GSList *seps, struct avdtp_error *err, - void *user_data) -{ - struct source *source = user_data; - int id; - - if (err) { - avdtp_unref(source->session); - source->session = NULL; - if (avdtp_error_category(err) == AVDTP_ERRNO - && avdtp_error_posix_errno(err) != EHOSTDOWN) { - DBG("connect:connect XCASE detected"); - source->retry_id = - g_timeout_add_seconds(STREAM_SETUP_RETRY_TIMER, - stream_setup_retry, - source); - } else - goto failed; - return; - } - - DBG("Discovery complete"); - - id = a2dp_select_capabilities(source->session, AVDTP_SEP_TYPE_SOURCE, NULL, - select_complete, source); - if (id == 0) - goto failed; - - source->connect_id = id; - return; - -failed: - audio_source_connected(source->dev->btd_dev, -EIO); - avdtp_unref(source->session); - source->session = NULL; -} - -gboolean source_setup_stream(struct source *source, struct avdtp *session) -{ - if (source->connect_id > 0 || source->disconnect_id > 0) - return FALSE; - - if (session && !source->session) - source->session = avdtp_ref(session); - - if (!source->session) - return FALSE; - - if (avdtp_discover(source->session, discovery_complete, source) < 0) - return FALSE; - - return TRUE; -} - -int source_connect(struct audio_device *dev) -{ - struct source *source = dev->source; - - if (!source->session) - source->session = avdtp_get(dev); - - if (!source->session) { - DBG("Unable to get a session"); - return -EIO; - } - - if (source->connect_id > 0 || source->disconnect_id > 0) - return -EBUSY; - - if (source->stream_state >= AVDTP_STATE_OPEN) - return -EALREADY; - - if (!source_setup_stream(source, NULL)) { - DBG("Failed to create a stream"); - return -EIO; - } - - DBG("stream creation in progress"); - - return 0; -} - -static void source_free(struct audio_device *dev) -{ - struct source *source = dev->source; - - if (source->cb_id) - avdtp_stream_remove_cb(source->session, source->stream, - source->cb_id); - - if (source->session) - avdtp_unref(source->session); - - if (source->connect_id > 0) { - audio_source_connected(dev->btd_dev, -ECANCELED); - a2dp_cancel(dev, source->connect_id); - source->connect_id = 0; - } - - if (source->disconnect_id > 0) { - audio_source_disconnected(dev->btd_dev, -ECANCELED); - a2dp_cancel(dev, source->disconnect_id); - source->disconnect_id = 0; - } - - if (source->retry_id) - g_source_remove(source->retry_id); - - avdtp_remove_state_cb(source->avdtp_callback_id); - - g_free(source); - dev->source = NULL; -} - -void source_unregister(struct audio_device *dev) -{ - DBG("%s", device_get_path(dev->btd_dev)); - - source_free(dev); -} - -struct source *source_init(struct audio_device *dev) -{ - struct source *source; - - DBG("%s", device_get_path(dev->btd_dev)); - - source = g_new0(struct source, 1); - - source->dev = dev; - - source->avdtp_callback_id = avdtp_add_state_cb(dev, - avdtp_state_callback); - - return source; -} - -gboolean source_new_stream(struct audio_device *dev, struct avdtp *session, - struct avdtp_stream *stream) -{ - struct source *source = dev->source; - - if (source->stream) - return FALSE; - - if (!source->session) - source->session = avdtp_ref(session); - - source->stream = stream; - - source->cb_id = avdtp_stream_add_cb(session, stream, - stream_state_changed, dev); - - return TRUE; -} - -int source_disconnect(struct audio_device *dev, gboolean shutdown) -{ - struct source *source = dev->source; - - if (!source->session) - return -ENOTCONN; - - if (shutdown) - avdtp_set_device_disconnect(source->session, TRUE); - - /* cancel pending connect */ - if (source->connect_id > 0) { - a2dp_cancel(dev, source->connect_id); - source->connect_id = 0; - audio_source_connected(dev->btd_dev, -ECANCELED); - - avdtp_unref(source->session); - source->session = NULL; - - return 0; - } - - /* disconnect already ongoing */ - if (source->disconnect_id > 0) - return -EBUSY; - - if (!source->stream) - return -ENOTCONN; - - return avdtp_close(source->session, source->stream, FALSE); -} - -unsigned int source_add_state_cb(struct audio_device *dev, source_state_cb cb, - void *user_data) -{ - struct source_state_callback *state_cb; - static unsigned int id = 0; - - state_cb = g_new(struct source_state_callback, 1); - state_cb->cb = cb; - state_cb->dev = dev; - state_cb->user_data = user_data; - state_cb->id = ++id; - - source_callbacks = g_slist_append(source_callbacks, state_cb); - - return state_cb->id; -} - -gboolean source_remove_state_cb(unsigned int id) -{ - GSList *l; - - for (l = source_callbacks; l != NULL; l = l->next) { - struct source_state_callback *cb = l->data; - if (cb && cb->id == id) { - source_callbacks = g_slist_remove(source_callbacks, cb); - g_free(cb); - return TRUE; - } - } - - return FALSE; -} diff --git a/GRIB_BLE_HUB/libs/ble_extend/profiles/audio/source.h b/GRIB_BLE_HUB/libs/ble_extend/profiles/audio/source.h deleted file mode 100644 index 61afd94..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/profiles/audio/source.h +++ /dev/null @@ -1,50 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2006-2010 Nokia Corporation - * Copyright (C) 2004-2010 Marcel Holtmann - * Copyright (C) 2009 Joao Paulo Rechi Vita - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#define AUDIO_SOURCE_INTERFACE "org.bluez.AudioSource" - -typedef enum { - SOURCE_STATE_DISCONNECTED, - SOURCE_STATE_CONNECTING, - SOURCE_STATE_CONNECTED, - SOURCE_STATE_PLAYING, -} source_state_t; - -typedef void (*source_state_cb) (struct audio_device *dev, - source_state_t old_state, - source_state_t new_state, - void *user_data); - -unsigned int source_add_state_cb(struct audio_device *dev, source_state_cb cb, - void *user_data); -gboolean source_remove_state_cb(unsigned int id); - -struct source *source_init(struct audio_device *dev); -void source_unregister(struct audio_device *dev); -int source_connect(struct audio_device *dev); -gboolean source_new_stream(struct audio_device *dev, struct avdtp *session, - struct avdtp_stream *stream); -gboolean source_setup_stream(struct source *source, struct avdtp *session); -int source_disconnect(struct audio_device *dev, gboolean shutdown); diff --git a/GRIB_BLE_HUB/libs/ble_extend/profiles/audio/transport.c b/GRIB_BLE_HUB/libs/ble_extend/profiles/audio/transport.c deleted file mode 100644 index f585c3a..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/profiles/audio/transport.c +++ /dev/null @@ -1,922 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2006-2007 Nokia Corporation - * Copyright (C) 2004-2009 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include - -#include -#include - -#include "lib/uuid.h" -#include "../src/adapter.h" -#include "../src/device.h" -#include "../src/dbus-common.h" - -#include "log.h" -#include "error.h" -#include "device.h" -#include "avdtp.h" -#include "media.h" -#include "transport.h" -#include "a2dp.h" -#include "sink.h" -#include "source.h" -#include "avrcp.h" - -#define MEDIA_TRANSPORT_INTERFACE "org.bluez.MediaTransport1" - -typedef enum { - TRANSPORT_STATE_IDLE, /* Not acquired and suspended */ - TRANSPORT_STATE_PENDING, /* Playing but not acquired */ - TRANSPORT_STATE_REQUESTING, /* Acquire in progress */ - TRANSPORT_STATE_ACTIVE, /* Acquired and playing */ - TRANSPORT_STATE_SUSPENDING, /* Release in progress */ -} transport_state_t; - -static char *str_state[] = { - "TRANSPORT_STATE_IDLE", - "TRANSPORT_STATE_PENDING", - "TRANSPORT_STATE_REQUESTING", - "TRANSPORT_STATE_ACTIVE", - "TRANSPORT_STATE_SUSPENDING", -}; - -struct media_request { - DBusMessage *msg; - guint id; -}; - -struct media_owner { - struct media_transport *transport; - struct media_request *pending; - char *name; - guint watch; -}; - -struct a2dp_transport { - struct avdtp *session; - uint16_t delay; - uint16_t volume; -}; - -struct media_transport { - char *path; /* Transport object path */ - struct audio_device *device; /* Transport device */ - struct media_endpoint *endpoint; /* Transport endpoint */ - struct media_owner *owner; /* Transport owner */ - uint8_t *configuration; /* Transport configuration */ - int size; /* Transport configuration size */ - int fd; /* Transport file descriptor */ - uint16_t imtu; /* Transport input mtu */ - uint16_t omtu; /* Transport output mtu */ - transport_state_t state; - guint hs_watch; - guint source_watch; - guint sink_watch; - guint (*resume) (struct media_transport *transport, - struct media_owner *owner); - guint (*suspend) (struct media_transport *transport, - struct media_owner *owner); - void (*cancel) (struct media_transport *transport, - guint id); - GDestroyNotify destroy; - void *data; -}; - -static GSList *transports = NULL; - -static const char *state2str(transport_state_t state) -{ - switch (state) { - case TRANSPORT_STATE_IDLE: - case TRANSPORT_STATE_REQUESTING: - return "idle"; - case TRANSPORT_STATE_PENDING: - return "pending"; - case TRANSPORT_STATE_ACTIVE: - case TRANSPORT_STATE_SUSPENDING: - return "active"; - } - - return NULL; -} - -static gboolean state_in_use(transport_state_t state) -{ - switch (state) { - case TRANSPORT_STATE_IDLE: - case TRANSPORT_STATE_PENDING: - return FALSE; - case TRANSPORT_STATE_REQUESTING: - case TRANSPORT_STATE_ACTIVE: - case TRANSPORT_STATE_SUSPENDING: - return TRUE; - } - - return FALSE; -} - -static void transport_set_state(struct media_transport *transport, - transport_state_t state) -{ - transport_state_t old_state = transport->state; - const char *str; - - if (old_state == state) - return; - - transport->state = state; - - DBG("State changed %s: %s -> %s", transport->path, str_state[old_state], - str_state[state]); - - str = state2str(state); - - if (g_strcmp0(str, state2str(old_state)) != 0) - g_dbus_emit_property_changed(btd_get_dbus_connection(), - transport->path, - MEDIA_TRANSPORT_INTERFACE, - "State"); -} - -void media_transport_destroy(struct media_transport *transport) -{ - char *path; - - if (transport->sink_watch) - sink_remove_state_cb(transport->sink_watch); - - if (transport->source_watch) - source_remove_state_cb(transport->source_watch); - - path = g_strdup(transport->path); - g_dbus_unregister_interface(btd_get_dbus_connection(), path, - MEDIA_TRANSPORT_INTERFACE); - - g_free(path); -} - -static struct media_request *media_request_create(DBusMessage *msg, guint id) -{ - struct media_request *req; - - req = g_new0(struct media_request, 1); - req->msg = dbus_message_ref(msg); - req->id = id; - - DBG("Request created: method=%s id=%u", dbus_message_get_member(msg), - id); - - return req; -} - -static void media_request_reply(struct media_request *req, int err) -{ - DBusMessage *reply; - - DBG("Request %s Reply %s", dbus_message_get_member(req->msg), - strerror(err)); - - if (!err) - reply = g_dbus_create_reply(req->msg, DBUS_TYPE_INVALID); - else - reply = g_dbus_create_error(req->msg, - ERROR_INTERFACE ".Failed", - "%s", strerror(err)); - - g_dbus_send_message(btd_get_dbus_connection(), reply); -} - -static void media_owner_remove(struct media_owner *owner) -{ - struct media_transport *transport = owner->transport; - struct media_request *req = owner->pending; - - if (!req) - return; - - DBG("Owner %s Request %s", owner->name, - dbus_message_get_member(req->msg)); - - if (req->id) - transport->cancel(transport, req->id); - - owner->pending = NULL; - if (req->msg) - dbus_message_unref(req->msg); - - g_free(req); -} - -static void media_owner_free(struct media_owner *owner) -{ - DBG("Owner %s", owner->name); - - media_owner_remove(owner); - - g_free(owner->name); - g_free(owner); -} - -static void media_transport_remove_owner(struct media_transport *transport) -{ - struct media_owner *owner = transport->owner; - - DBG("Transport %s Owner %s", transport->path, owner->name); - - /* Reply if owner has a pending request */ - if (owner->pending) - media_request_reply(owner->pending, EIO); - - transport->owner = NULL; - - if (owner->watch) - g_dbus_remove_watch(btd_get_dbus_connection(), owner->watch); - - media_owner_free(owner); - - if (state_in_use(transport->state)) - transport->suspend(transport, NULL); -} - -static gboolean media_transport_set_fd(struct media_transport *transport, - int fd, uint16_t imtu, uint16_t omtu) -{ - if (transport->fd == fd) - return TRUE; - - transport->fd = fd; - transport->imtu = imtu; - transport->omtu = omtu; - - info("%s: fd(%d) ready", transport->path, fd); - - return TRUE; -} - -static void a2dp_resume_complete(struct avdtp *session, - struct avdtp_error *err, void *user_data) -{ - struct media_owner *owner = user_data; - struct media_request *req = owner->pending; - struct media_transport *transport = owner->transport; - struct a2dp_sep *sep = media_endpoint_get_sep(transport->endpoint); - struct avdtp_stream *stream; - int fd; - uint16_t imtu, omtu; - gboolean ret; - - req->id = 0; - - if (err) - goto fail; - - stream = a2dp_sep_get_stream(sep); - if (stream == NULL) - goto fail; - - ret = avdtp_stream_get_transport(stream, &fd, &imtu, &omtu, NULL); - if (ret == FALSE) - goto fail; - - media_transport_set_fd(transport, fd, imtu, omtu); - - ret = g_dbus_send_reply(btd_get_dbus_connection(), req->msg, - DBUS_TYPE_UNIX_FD, &fd, - DBUS_TYPE_UINT16, &imtu, - DBUS_TYPE_UINT16, &omtu, - DBUS_TYPE_INVALID); - if (ret == FALSE) - goto fail; - - media_owner_remove(owner); - - transport_set_state(transport, TRANSPORT_STATE_ACTIVE); - - return; - -fail: - media_transport_remove_owner(transport); -} - -static guint resume_a2dp(struct media_transport *transport, - struct media_owner *owner) -{ - struct a2dp_transport *a2dp = transport->data; - struct media_endpoint *endpoint = transport->endpoint; - struct a2dp_sep *sep = media_endpoint_get_sep(endpoint); - guint id; - - if (a2dp->session == NULL) { - a2dp->session = avdtp_get(transport->device); - if (a2dp->session == NULL) - return 0; - } - - if (state_in_use(transport->state)) - return a2dp_resume(a2dp->session, sep, a2dp_resume_complete, - owner); - - if (a2dp_sep_lock(sep, a2dp->session) == FALSE) - return 0; - - id = a2dp_resume(a2dp->session, sep, a2dp_resume_complete, owner); - - if (id == 0) { - a2dp_sep_unlock(sep, a2dp->session); - return 0; - } - - if (transport->state == TRANSPORT_STATE_IDLE) - transport_set_state(transport, TRANSPORT_STATE_REQUESTING); - - return id; -} - -static void a2dp_suspend_complete(struct avdtp *session, - struct avdtp_error *err, void *user_data) -{ - struct media_owner *owner = user_data; - struct media_transport *transport = owner->transport; - struct a2dp_transport *a2dp = transport->data; - struct a2dp_sep *sep = media_endpoint_get_sep(transport->endpoint); - - /* Release always succeeds */ - if (owner->pending) { - owner->pending->id = 0; - media_request_reply(owner->pending, 0); - media_owner_remove(owner); - } - - a2dp_sep_unlock(sep, a2dp->session); - transport_set_state(transport, TRANSPORT_STATE_IDLE); - media_transport_remove_owner(transport); -} - -static guint suspend_a2dp(struct media_transport *transport, - struct media_owner *owner) -{ - struct a2dp_transport *a2dp = transport->data; - struct media_endpoint *endpoint = transport->endpoint; - struct a2dp_sep *sep = media_endpoint_get_sep(endpoint); - - if (owner != NULL) - return a2dp_suspend(a2dp->session, sep, a2dp_suspend_complete, - owner); - - transport_set_state(transport, TRANSPORT_STATE_IDLE); - a2dp_sep_unlock(sep, a2dp->session); - - return 0; -} - -static void cancel_a2dp(struct media_transport *transport, guint id) -{ - a2dp_cancel(transport->device, id); -} - -static void media_owner_exit(DBusConnection *connection, void *user_data) -{ - struct media_owner *owner = user_data; - - owner->watch = 0; - - media_owner_remove(owner); - - media_transport_remove_owner(owner->transport); -} - -static void media_transport_set_owner(struct media_transport *transport, - struct media_owner *owner) -{ - DBG("Transport %s Owner %s", transport->path, owner->name); - transport->owner = owner; - owner->transport = transport; - owner->watch = g_dbus_add_disconnect_watch(btd_get_dbus_connection(), - owner->name, - media_owner_exit, - owner, NULL); -} - -static struct media_owner *media_owner_create(DBusMessage *msg) -{ - struct media_owner *owner; - - owner = g_new0(struct media_owner, 1); - owner->name = g_strdup(dbus_message_get_sender(msg)); - - DBG("Owner created: sender=%s", owner->name); - - return owner; -} - -static void media_owner_add(struct media_owner *owner, - struct media_request *req) -{ - DBG("Owner %s Request %s", owner->name, - dbus_message_get_member(req->msg)); - - owner->pending = req; -} - -static DBusMessage *acquire(DBusConnection *conn, DBusMessage *msg, - void *data) -{ - struct media_transport *transport = data; - struct media_owner *owner; - struct media_request *req; - guint id; - - if (transport->owner != NULL) - return btd_error_not_authorized(msg); - - if (transport->state >= TRANSPORT_STATE_REQUESTING) - return btd_error_not_authorized(msg); - - owner = media_owner_create(msg); - id = transport->resume(transport, owner); - if (id == 0) { - media_owner_free(owner); - return btd_error_not_authorized(msg); - } - - req = media_request_create(msg, id); - media_owner_add(owner, req); - media_transport_set_owner(transport, owner); - - return NULL; -} - -static DBusMessage *try_acquire(DBusConnection *conn, DBusMessage *msg, - void *data) -{ - struct media_transport *transport = data; - struct media_owner *owner; - struct media_request *req; - guint id; - - if (transport->owner != NULL) - return btd_error_not_authorized(msg); - - if (transport->state >= TRANSPORT_STATE_REQUESTING) - return btd_error_not_authorized(msg); - - if (transport->state != TRANSPORT_STATE_PENDING) - return btd_error_not_available(msg); - - owner = media_owner_create(msg); - id = transport->resume(transport, owner); - if (id == 0) { - media_owner_free(owner); - return btd_error_not_authorized(msg); - } - - req = media_request_create(msg, id); - media_owner_add(owner, req); - media_transport_set_owner(transport, owner); - - return NULL; -} - -static DBusMessage *release(DBusConnection *conn, DBusMessage *msg, - void *data) -{ - struct media_transport *transport = data; - struct media_owner *owner = transport->owner; - const char *sender; - struct media_request *req; - guint id; - - sender = dbus_message_get_sender(msg); - - if (owner == NULL || g_strcmp0(owner->name, sender) != 0) - return btd_error_not_authorized(msg); - - if (owner->pending) { - const char *member; - - member = dbus_message_get_member(owner->pending->msg); - /* Cancel Acquire request if that exist */ - if (g_str_equal(member, "Acquire")) - media_owner_remove(owner); - else - return btd_error_in_progress(msg); - } - - transport_set_state(transport, TRANSPORT_STATE_SUSPENDING); - - id = transport->suspend(transport, owner); - if (id == 0) { - media_transport_remove_owner(transport); - return g_dbus_create_reply(msg, DBUS_TYPE_INVALID); - } - - req = media_request_create(msg, id); - media_owner_add(owner, req); - - return NULL; -} - -static gboolean get_device(const GDBusPropertyTable *property, - DBusMessageIter *iter, void *data) -{ - struct media_transport *transport = data; - const char *path = device_get_path(transport->device->btd_dev); - - dbus_message_iter_append_basic(iter, DBUS_TYPE_OBJECT_PATH, &path); - - return TRUE; -} - -static gboolean get_uuid(const GDBusPropertyTable *property, - DBusMessageIter *iter, void *data) -{ - struct media_transport *transport = data; - const char *uuid = media_endpoint_get_uuid(transport->endpoint); - - dbus_message_iter_append_basic(iter, DBUS_TYPE_STRING, &uuid); - - return TRUE; -} - -static gboolean get_codec(const GDBusPropertyTable *property, - DBusMessageIter *iter, void *data) -{ - struct media_transport *transport = data; - uint8_t codec = media_endpoint_get_codec(transport->endpoint); - - dbus_message_iter_append_basic(iter, DBUS_TYPE_BYTE, &codec); - - return TRUE; -} - -static gboolean get_configuration(const GDBusPropertyTable *property, - DBusMessageIter *iter, void *data) -{ - struct media_transport *transport = data; - DBusMessageIter array; - - dbus_message_iter_open_container(iter, DBUS_TYPE_ARRAY, - DBUS_TYPE_BYTE_AS_STRING, &array); - - dbus_message_iter_append_fixed_array(&array, DBUS_TYPE_BYTE, - &transport->configuration, - transport->size); - - dbus_message_iter_close_container(iter, &array); - - return TRUE; -} - -static gboolean get_state(const GDBusPropertyTable *property, - DBusMessageIter *iter, void *data) -{ - struct media_transport *transport = data; - const char *state = state2str(transport->state); - - dbus_message_iter_append_basic(iter, DBUS_TYPE_STRING, &state); - - return TRUE; -} - -static gboolean delay_exists(const GDBusPropertyTable *property, void *data) -{ - struct media_transport *transport = data; - struct a2dp_transport *a2dp = transport->data; - - return a2dp->delay != 0; -} - -static gboolean get_delay(const GDBusPropertyTable *property, - DBusMessageIter *iter, void *data) -{ - struct media_transport *transport = data; - struct a2dp_transport *a2dp = transport->data; - - dbus_message_iter_append_basic(iter, DBUS_TYPE_UINT16, &a2dp->delay); - - return TRUE; -} - -static gboolean volume_exists(const GDBusPropertyTable *property, void *data) -{ - struct media_transport *transport = data; - struct a2dp_transport *a2dp = transport->data; - - return a2dp->volume <= 127; -} - -static gboolean get_volume(const GDBusPropertyTable *property, - DBusMessageIter *iter, void *data) -{ - struct media_transport *transport = data; - struct a2dp_transport *a2dp = transport->data; - - dbus_message_iter_append_basic(iter, DBUS_TYPE_UINT16, &a2dp->volume); - - return TRUE; -} - -static void set_volume(const GDBusPropertyTable *property, - DBusMessageIter *iter, GDBusPendingPropertySet id, - void *data) -{ - struct media_transport *transport = data; - struct a2dp_transport *a2dp = transport->data; - uint16_t volume; - - if (dbus_message_iter_get_arg_type(iter) != DBUS_TYPE_UINT16) { - g_dbus_pending_property_error(id, - ERROR_INTERFACE ".InvalidArguments", - "Invalid arguments in method call"); - return; - } - - dbus_message_iter_get_basic(iter, &volume); - - if (volume > 127) { - g_dbus_pending_property_error(id, - ERROR_INTERFACE ".InvalidArguments", - "Invalid arguments in method call"); - return; - } - - if (a2dp->volume != volume) - avrcp_set_volume(transport->device, volume); - - a2dp->volume = volume; - - g_dbus_pending_property_success(id); -} - -static const GDBusMethodTable transport_methods[] = { - { GDBUS_ASYNC_METHOD("Acquire", - NULL, - GDBUS_ARGS({ "fd", "h" }, { "mtu_r", "q" }, - { "mtu_w", "q" }), - acquire) }, - { GDBUS_ASYNC_METHOD("TryAcquire", - NULL, - GDBUS_ARGS({ "fd", "h" }, { "mtu_r", "q" }, - { "mtu_w", "q" }), - try_acquire) }, - { GDBUS_ASYNC_METHOD("Release", NULL, NULL, release) }, - { }, -}; - -static const GDBusPropertyTable transport_properties[] = { - { "Device", "o", get_device }, - { "UUID", "s", get_uuid }, - { "Codec", "y", get_codec }, - { "Configuration", "ay", get_configuration }, - { "State", "s", get_state }, - { "Delay", "q", get_delay, NULL, delay_exists }, - { "Volume", "q", get_volume, set_volume, volume_exists }, - { } -}; - -static void destroy_a2dp(void *data) -{ - struct a2dp_transport *a2dp = data; - - if (a2dp->session) - avdtp_unref(a2dp->session); - - g_free(a2dp); -} - -static void media_transport_free(void *data) -{ - struct media_transport *transport = data; - - transports = g_slist_remove(transports, transport); - - if (transport->owner) - media_transport_remove_owner(transport); - - if (transport->destroy != NULL) - transport->destroy(transport->data); - - g_free(transport->configuration); - g_free(transport->path); - g_free(transport); -} - -static void transport_update_playing(struct media_transport *transport, - gboolean playing) -{ - DBG("%s State=%s Playing=%d", transport->path, - str_state[transport->state], playing); - - if (playing == FALSE) { - if (transport->state == TRANSPORT_STATE_PENDING) - transport_set_state(transport, TRANSPORT_STATE_IDLE); - else if (transport->state == TRANSPORT_STATE_ACTIVE) { - /* Remove owner */ - if (transport->owner != NULL) - media_transport_remove_owner(transport); - } - } else if (transport->state == TRANSPORT_STATE_IDLE) - transport_set_state(transport, TRANSPORT_STATE_PENDING); -} - -static void sink_state_changed(struct audio_device *dev, - sink_state_t old_state, - sink_state_t new_state, - void *user_data) -{ - struct media_transport *transport = user_data; - - if (new_state == SINK_STATE_PLAYING) - transport_update_playing(transport, TRUE); - else - transport_update_playing(transport, FALSE); -} - -static void source_state_changed(struct audio_device *dev, - source_state_t old_state, - source_state_t new_state, - void *user_data) -{ - struct media_transport *transport = user_data; - - if (new_state == SOURCE_STATE_PLAYING) - transport_update_playing(transport, TRUE); - else - transport_update_playing(transport, FALSE); -} - -struct media_transport *media_transport_create(struct audio_device *device, - uint8_t *configuration, - size_t size, void *data) -{ - struct media_endpoint *endpoint = data; - struct media_transport *transport; - const char *uuid; - static int fd = 0; - - transport = g_new0(struct media_transport, 1); - transport->device = device; - transport->endpoint = endpoint; - transport->configuration = g_new(uint8_t, size); - memcpy(transport->configuration, configuration, size); - transport->size = size; - transport->path = g_strdup_printf("%s/fd%d", - device_get_path(device->btd_dev), fd++); - transport->fd = -1; - - uuid = media_endpoint_get_uuid(endpoint); - if (strcasecmp(uuid, A2DP_SOURCE_UUID) == 0 || - strcasecmp(uuid, A2DP_SINK_UUID) == 0) { - struct a2dp_transport *a2dp; - - a2dp = g_new0(struct a2dp_transport, 1); - - transport->resume = resume_a2dp; - transport->suspend = suspend_a2dp; - transport->cancel = cancel_a2dp; - transport->data = a2dp; - transport->destroy = destroy_a2dp; - - if (strcasecmp(uuid, A2DP_SOURCE_UUID) == 0) { - a2dp->volume = -1; - transport->sink_watch = sink_add_state_cb(device, - sink_state_changed, - transport); - } else { - a2dp->volume = 127; - avrcp_set_volume(device, a2dp->volume); - transport->source_watch = source_add_state_cb(device, - source_state_changed, - transport); - } - } else - goto fail; - - if (g_dbus_register_interface(btd_get_dbus_connection(), - transport->path, MEDIA_TRANSPORT_INTERFACE, - transport_methods, NULL, transport_properties, - transport, media_transport_free) == FALSE) { - error("Could not register transport %s", transport->path); - goto fail; - } - - transports = g_slist_append(transports, transport); - - return transport; - -fail: - media_transport_free(transport); - return NULL; -} - -const char *media_transport_get_path(struct media_transport *transport) -{ - return transport->path; -} - -void media_transport_update_delay(struct media_transport *transport, - uint16_t delay) -{ - struct a2dp_transport *a2dp = transport->data; - - /* Check if delay really changed */ - if (a2dp->delay == delay) - return; - - a2dp->delay = delay; - - g_dbus_emit_property_changed(btd_get_dbus_connection(), - transport->path, - MEDIA_TRANSPORT_INTERFACE, "Delay"); -} - -struct audio_device *media_transport_get_dev(struct media_transport *transport) -{ - return transport->device; -} - -uint16_t media_transport_get_volume(struct media_transport *transport) -{ - struct a2dp_transport *a2dp = transport->data; - return a2dp->volume; -} - -void media_transport_update_volume(struct media_transport *transport, - uint8_t volume) -{ - struct a2dp_transport *a2dp = transport->data; - - /* Check if volume really changed */ - if (a2dp->volume == volume) - return; - - a2dp->volume = volume; - - g_dbus_emit_property_changed(btd_get_dbus_connection(), - transport->path, - MEDIA_TRANSPORT_INTERFACE, "Volume"); -} - -uint8_t media_transport_get_device_volume(struct audio_device *dev) -{ - GSList *l; - - if (dev == NULL) - return 128; - - for (l = transports; l; l = l->next) { - struct media_transport *transport = l->data; - if (transport->device != dev) - continue; - - /* Volume is A2DP only */ - if (media_endpoint_get_sep(transport->endpoint)) - return media_transport_get_volume(transport); - } - - return 0; -} - -void media_transport_update_device_volume(struct audio_device *dev, - uint8_t volume) -{ - GSList *l; - - if (dev == NULL) - return; - - for (l = transports; l; l = l->next) { - struct media_transport *transport = l->data; - if (transport->device != dev) - continue; - - /* Volume is A2DP only */ - if (media_endpoint_get_sep(transport->endpoint)) - media_transport_update_volume(transport, volume); - } -} diff --git a/GRIB_BLE_HUB/libs/ble_extend/profiles/audio/transport.h b/GRIB_BLE_HUB/libs/ble_extend/profiles/audio/transport.h deleted file mode 100644 index 5e5da20..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/profiles/audio/transport.h +++ /dev/null @@ -1,44 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2006-2007 Nokia Corporation - * Copyright (C) 2004-2009 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -struct media_transport; - -struct media_transport *media_transport_create(struct audio_device *device, - uint8_t *configuration, - size_t size, void *data); - -void media_transport_destroy(struct media_transport *transport); -const char *media_transport_get_path(struct media_transport *transport); -struct audio_device *media_transport_get_dev(struct media_transport *transport); -uint16_t media_transport_get_volume(struct media_transport *transport); -void media_transport_update_delay(struct media_transport *transport, - uint16_t delay); -void media_transport_update_volume(struct media_transport *transport, - uint8_t volume); -void transport_get_properties(struct media_transport *transport, - DBusMessageIter *iter); - -uint8_t media_transport_get_device_volume(struct audio_device *dev); -void media_transport_update_device_volume(struct audio_device *dev, - uint8_t volume); diff --git a/GRIB_BLE_HUB/libs/ble_extend/profiles/cups/.deps/.dirstamp b/GRIB_BLE_HUB/libs/ble_extend/profiles/cups/.deps/.dirstamp deleted file mode 100644 index e69de29..0000000 diff --git a/GRIB_BLE_HUB/libs/ble_extend/profiles/cups/.deps/hcrp.Po b/GRIB_BLE_HUB/libs/ble_extend/profiles/cups/.deps/hcrp.Po deleted file mode 100644 index e2c9103..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/profiles/cups/.deps/hcrp.Po +++ /dev/null @@ -1,211 +0,0 @@ -profiles/cups/hcrp.o: profiles/cups/hcrp.c /usr/include/stdc-predef.h \ - config.h /usr/include/stdio.h /usr/include/features.h \ - /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/sys_errlist.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio.h /usr/include/errno.h \ - /usr/include/arm-linux-gnueabihf/bits/errno.h /usr/include/linux/errno.h \ - /usr/include/arm-linux-gnueabihf/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/include/unistd.h /usr/include/arm-linux-gnueabihf/bits/posix_opt.h \ - /usr/include/arm-linux-gnueabihf/bits/environments.h \ - /usr/include/arm-linux-gnueabihf/bits/confname.h /usr/include/getopt.h \ - /usr/include/string.h /usr/include/xlocale.h \ - /usr/include/arm-linux-gnueabihf/bits/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string2.h /usr/include/stdlib.h \ - /usr/include/signal.h /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/signum.h /usr/include/time.h \ - /usr/include/arm-linux-gnueabihf/bits/siginfo.h \ - /usr/include/arm-linux-gnueabihf/bits/sigaction.h \ - /usr/include/arm-linux-gnueabihf/bits/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/asm/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigstack.h \ - /usr/include/arm-linux-gnueabihf/sys/ucontext.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/endian.h /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/arm-linux-gnueabihf/bits/sigthread.h \ - /usr/include/arm-linux-gnueabihf/sys/socket.h \ - /usr/include/arm-linux-gnueabihf/sys/uio.h \ - /usr/include/arm-linux-gnueabihf/sys/types.h \ - /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/socket.h \ - /usr/include/arm-linux-gnueabihf/bits/socket_type.h \ - /usr/include/arm-linux-gnueabihf/bits/sockaddr.h \ - /usr/include/arm-linux-gnueabihf/asm/socket.h \ - /usr/include/asm-generic/socket.h \ - /usr/include/arm-linux-gnueabihf/asm/sockios.h \ - /usr/include/asm-generic/sockios.h lib/bluetooth/bluetooth.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h \ - /usr/include/stdint.h /usr/include/arm-linux-gnueabihf/bits/wchar.h \ - /usr/include/byteswap.h /usr/include/netinet/in.h \ - /usr/include/arm-linux-gnueabihf/bits/in.h lib/bluetooth/l2cap.h \ - lib/bluetooth/sdp.h lib/bluetooth/sdp_lib.h lib/bluetooth/hci.h \ - profiles/cups/cups.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/include/stdio.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/sys_errlist.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio.h: - -/usr/include/errno.h: - -/usr/include/arm-linux-gnueabihf/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/arm-linux-gnueabihf/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/include/unistd.h: - -/usr/include/arm-linux-gnueabihf/bits/posix_opt.h: - -/usr/include/arm-linux-gnueabihf/bits/environments.h: - -/usr/include/arm-linux-gnueabihf/bits/confname.h: - -/usr/include/getopt.h: - -/usr/include/string.h: - -/usr/include/xlocale.h: - -/usr/include/arm-linux-gnueabihf/bits/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string2.h: - -/usr/include/stdlib.h: - -/usr/include/signal.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/signum.h: - -/usr/include/time.h: - -/usr/include/arm-linux-gnueabihf/bits/siginfo.h: - -/usr/include/arm-linux-gnueabihf/bits/sigaction.h: - -/usr/include/arm-linux-gnueabihf/bits/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/asm/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigstack.h: - -/usr/include/arm-linux-gnueabihf/sys/ucontext.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/arm-linux-gnueabihf/bits/sigthread.h: - -/usr/include/arm-linux-gnueabihf/sys/socket.h: - -/usr/include/arm-linux-gnueabihf/sys/uio.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/socket.h: - -/usr/include/arm-linux-gnueabihf/bits/socket_type.h: - -/usr/include/arm-linux-gnueabihf/bits/sockaddr.h: - -/usr/include/arm-linux-gnueabihf/asm/socket.h: - -/usr/include/asm-generic/socket.h: - -/usr/include/arm-linux-gnueabihf/asm/sockios.h: - -/usr/include/asm-generic/sockios.h: - -lib/bluetooth/bluetooth.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/arm-linux-gnueabihf/bits/wchar.h: - -/usr/include/byteswap.h: - -/usr/include/netinet/in.h: - -/usr/include/arm-linux-gnueabihf/bits/in.h: - -lib/bluetooth/l2cap.h: - -lib/bluetooth/sdp.h: - -lib/bluetooth/sdp_lib.h: - -lib/bluetooth/hci.h: - -profiles/cups/cups.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/profiles/cups/.deps/main.Po b/GRIB_BLE_HUB/libs/ble_extend/profiles/cups/.deps/main.Po deleted file mode 100644 index fd4ff5d..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/profiles/cups/.deps/main.Po +++ /dev/null @@ -1,550 +0,0 @@ -profiles/cups/main.o: profiles/cups/main.c /usr/include/stdc-predef.h \ - config.h /usr/include/stdio.h /usr/include/features.h \ - /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/sys_errlist.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio.h /usr/include/errno.h \ - /usr/include/arm-linux-gnueabihf/bits/errno.h /usr/include/linux/errno.h \ - /usr/include/arm-linux-gnueabihf/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/include/fcntl.h /usr/include/arm-linux-gnueabihf/bits/fcntl.h \ - /usr/include/arm-linux-gnueabihf/bits/fcntl-linux.h \ - /usr/include/arm-linux-gnueabihf/bits/uio.h \ - /usr/include/arm-linux-gnueabihf/sys/types.h /usr/include/time.h \ - /usr/include/endian.h /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/arm-linux-gnueabihf/bits/stat.h /usr/include/unistd.h \ - /usr/include/arm-linux-gnueabihf/bits/posix_opt.h \ - /usr/include/arm-linux-gnueabihf/bits/environments.h \ - /usr/include/arm-linux-gnueabihf/bits/confname.h /usr/include/getopt.h \ - /usr/include/stdlib.h /usr/include/arm-linux-gnueabihf/bits/waitflags.h \ - /usr/include/arm-linux-gnueabihf/bits/waitstatus.h \ - /usr/include/xlocale.h /usr/include/alloca.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-float.h \ - /usr/include/string.h /usr/include/arm-linux-gnueabihf/bits/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string2.h /usr/include/assert.h \ - /usr/include/signal.h /usr/include/arm-linux-gnueabihf/bits/signum.h \ - /usr/include/arm-linux-gnueabihf/bits/siginfo.h \ - /usr/include/arm-linux-gnueabihf/bits/sigaction.h \ - /usr/include/arm-linux-gnueabihf/bits/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/asm/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigstack.h \ - /usr/include/arm-linux-gnueabihf/sys/ucontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigthread.h \ - /usr/include/arm-linux-gnueabihf/sys/socket.h \ - /usr/include/arm-linux-gnueabihf/sys/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/socket.h \ - /usr/include/arm-linux-gnueabihf/bits/socket_type.h \ - /usr/include/arm-linux-gnueabihf/bits/sockaddr.h \ - /usr/include/arm-linux-gnueabihf/asm/socket.h \ - /usr/include/asm-generic/socket.h \ - /usr/include/arm-linux-gnueabihf/asm/sockios.h \ - /usr/include/asm-generic/sockios.h /usr/include/glib-2.0/glib.h \ - /usr/include/glib-2.0/glib/galloca.h /usr/include/glib-2.0/glib/gtypes.h \ - /usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h \ - /usr/include/glib-2.0/glib/gmacros.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h \ - /usr/include/limits.h /usr/include/arm-linux-gnueabihf/bits/posix1_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/local_lim.h \ - /usr/include/linux/limits.h \ - /usr/include/arm-linux-gnueabihf/bits/posix2_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/xopen_lim.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h \ - /usr/include/glib-2.0/glib/gversionmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/timex.h \ - /usr/include/glib-2.0/glib/garray.h \ - /usr/include/glib-2.0/glib/gasyncqueue.h \ - /usr/include/glib-2.0/glib/gthread.h \ - /usr/include/glib-2.0/glib/gatomic.h /usr/include/glib-2.0/glib/gerror.h \ - /usr/include/glib-2.0/glib/gquark.h \ - /usr/include/glib-2.0/glib/gbacktrace.h \ - /usr/include/glib-2.0/glib/gbase64.h \ - /usr/include/glib-2.0/glib/gbitlock.h \ - /usr/include/glib-2.0/glib/gbookmarkfile.h \ - /usr/include/glib-2.0/glib/gbytes.h \ - /usr/include/glib-2.0/glib/gcharset.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/gconvert.h \ - /usr/include/glib-2.0/glib/gdataset.h /usr/include/glib-2.0/glib/gdate.h \ - /usr/include/glib-2.0/glib/gdatetime.h \ - /usr/include/glib-2.0/glib/gtimezone.h /usr/include/glib-2.0/glib/gdir.h \ - /usr/include/dirent.h /usr/include/arm-linux-gnueabihf/bits/dirent.h \ - /usr/include/glib-2.0/glib/genviron.h \ - /usr/include/glib-2.0/glib/gfileutils.h \ - /usr/include/glib-2.0/glib/ggettext.h /usr/include/glib-2.0/glib/ghash.h \ - /usr/include/glib-2.0/glib/glist.h /usr/include/glib-2.0/glib/gmem.h \ - /usr/include/glib-2.0/glib/gnode.h /usr/include/glib-2.0/glib/ghmac.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/ghook.h \ - /usr/include/glib-2.0/glib/ghostutils.h \ - /usr/include/glib-2.0/glib/giochannel.h \ - /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gpoll.h \ - /usr/include/glib-2.0/glib/gslist.h /usr/include/glib-2.0/glib/gstring.h \ - /usr/include/glib-2.0/glib/gunicode.h \ - /usr/include/glib-2.0/glib/gutils.h \ - /usr/include/glib-2.0/glib/gkeyfile.h \ - /usr/include/glib-2.0/glib/gmappedfile.h \ - /usr/include/glib-2.0/glib/gmarkup.h \ - /usr/include/glib-2.0/glib/gmessages.h \ - /usr/include/glib-2.0/glib/goption.h \ - /usr/include/glib-2.0/glib/gpattern.h \ - /usr/include/glib-2.0/glib/gprimes.h /usr/include/glib-2.0/glib/gqsort.h \ - /usr/include/glib-2.0/glib/gqueue.h /usr/include/glib-2.0/glib/grand.h \ - /usr/include/glib-2.0/glib/gregex.h \ - /usr/include/glib-2.0/glib/gscanner.h \ - /usr/include/glib-2.0/glib/gsequence.h \ - /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gslice.h \ - /usr/include/glib-2.0/glib/gspawn.h \ - /usr/include/glib-2.0/glib/gstrfuncs.h \ - /usr/include/glib-2.0/glib/gstringchunk.h \ - /usr/include/glib-2.0/glib/gtestutils.h \ - /usr/include/glib-2.0/glib/gthreadpool.h \ - /usr/include/glib-2.0/glib/gtimer.h \ - /usr/include/glib-2.0/glib/gtrashstack.h \ - /usr/include/glib-2.0/glib/gtree.h \ - /usr/include/glib-2.0/glib/gurifuncs.h \ - /usr/include/glib-2.0/glib/gvarianttype.h \ - /usr/include/glib-2.0/glib/gvariant.h \ - /usr/include/glib-2.0/glib/gversion.h \ - /usr/include/glib-2.0/glib/deprecated/gallocator.h \ - /usr/include/glib-2.0/glib/deprecated/gcache.h \ - /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ - /usr/include/glib-2.0/glib/deprecated/gmain.h \ - /usr/include/glib-2.0/glib/deprecated/grel.h \ - /usr/include/glib-2.0/glib/deprecated/gthread.h /usr/include/pthread.h \ - /usr/include/sched.h /usr/include/arm-linux-gnueabihf/bits/sched.h \ - /usr/include/arm-linux-gnueabihf/bits/setjmp.h lib/bluetooth/bluetooth.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h \ - /usr/include/stdint.h /usr/include/arm-linux-gnueabihf/bits/wchar.h \ - /usr/include/byteswap.h /usr/include/netinet/in.h \ - /usr/include/arm-linux-gnueabihf/bits/in.h lib/bluetooth/sdp.h \ - lib/bluetooth/sdp_lib.h lib/bluetooth/hci.h gdbus/gdbus.h \ - /usr/include/dbus-1.0/dbus/dbus.h \ - /usr/lib/arm-linux-gnueabihf/dbus-1.0/include/dbus/dbus-arch-deps.h \ - /usr/include/dbus-1.0/dbus/dbus-macros.h \ - /usr/include/dbus-1.0/dbus/dbus-address.h \ - /usr/include/dbus-1.0/dbus/dbus-types.h \ - /usr/include/dbus-1.0/dbus/dbus-errors.h \ - /usr/include/dbus-1.0/dbus/dbus-protocol.h \ - /usr/include/dbus-1.0/dbus/dbus-bus.h \ - /usr/include/dbus-1.0/dbus/dbus-connection.h \ - /usr/include/dbus-1.0/dbus/dbus-memory.h \ - /usr/include/dbus-1.0/dbus/dbus-message.h \ - /usr/include/dbus-1.0/dbus/dbus-shared.h \ - /usr/include/dbus-1.0/dbus/dbus-misc.h \ - /usr/include/dbus-1.0/dbus/dbus-pending-call.h \ - /usr/include/dbus-1.0/dbus/dbus-server.h \ - /usr/include/dbus-1.0/dbus/dbus-signature.h \ - /usr/include/dbus-1.0/dbus/dbus-syntax.h \ - /usr/include/dbus-1.0/dbus/dbus-threads.h profiles/cups/cups.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/include/stdio.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/sys_errlist.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio.h: - -/usr/include/errno.h: - -/usr/include/arm-linux-gnueabihf/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/arm-linux-gnueabihf/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/include/fcntl.h: - -/usr/include/arm-linux-gnueabihf/bits/fcntl.h: - -/usr/include/arm-linux-gnueabihf/bits/fcntl-linux.h: - -/usr/include/arm-linux-gnueabihf/bits/uio.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/time.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/arm-linux-gnueabihf/bits/stat.h: - -/usr/include/unistd.h: - -/usr/include/arm-linux-gnueabihf/bits/posix_opt.h: - -/usr/include/arm-linux-gnueabihf/bits/environments.h: - -/usr/include/arm-linux-gnueabihf/bits/confname.h: - -/usr/include/getopt.h: - -/usr/include/stdlib.h: - -/usr/include/arm-linux-gnueabihf/bits/waitflags.h: - -/usr/include/arm-linux-gnueabihf/bits/waitstatus.h: - -/usr/include/xlocale.h: - -/usr/include/alloca.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-float.h: - -/usr/include/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string2.h: - -/usr/include/assert.h: - -/usr/include/signal.h: - -/usr/include/arm-linux-gnueabihf/bits/signum.h: - -/usr/include/arm-linux-gnueabihf/bits/siginfo.h: - -/usr/include/arm-linux-gnueabihf/bits/sigaction.h: - -/usr/include/arm-linux-gnueabihf/bits/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/asm/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigstack.h: - -/usr/include/arm-linux-gnueabihf/sys/ucontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigthread.h: - -/usr/include/arm-linux-gnueabihf/sys/socket.h: - -/usr/include/arm-linux-gnueabihf/sys/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/socket.h: - -/usr/include/arm-linux-gnueabihf/bits/socket_type.h: - -/usr/include/arm-linux-gnueabihf/bits/sockaddr.h: - -/usr/include/arm-linux-gnueabihf/asm/socket.h: - -/usr/include/asm-generic/socket.h: - -/usr/include/arm-linux-gnueabihf/asm/sockios.h: - -/usr/include/asm-generic/sockios.h: - -/usr/include/glib-2.0/glib.h: - -/usr/include/glib-2.0/glib/galloca.h: - -/usr/include/glib-2.0/glib/gtypes.h: - -/usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h: - -/usr/include/glib-2.0/glib/gmacros.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h: - -/usr/include/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/local_lim.h: - -/usr/include/linux/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix2_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/xopen_lim.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h: - -/usr/include/glib-2.0/glib/gversionmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/timex.h: - -/usr/include/glib-2.0/glib/garray.h: - -/usr/include/glib-2.0/glib/gasyncqueue.h: - -/usr/include/glib-2.0/glib/gthread.h: - -/usr/include/glib-2.0/glib/gatomic.h: - -/usr/include/glib-2.0/glib/gerror.h: - -/usr/include/glib-2.0/glib/gquark.h: - -/usr/include/glib-2.0/glib/gbacktrace.h: - -/usr/include/glib-2.0/glib/gbase64.h: - -/usr/include/glib-2.0/glib/gbitlock.h: - -/usr/include/glib-2.0/glib/gbookmarkfile.h: - -/usr/include/glib-2.0/glib/gbytes.h: - -/usr/include/glib-2.0/glib/gcharset.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/gconvert.h: - -/usr/include/glib-2.0/glib/gdataset.h: - -/usr/include/glib-2.0/glib/gdate.h: - -/usr/include/glib-2.0/glib/gdatetime.h: - -/usr/include/glib-2.0/glib/gtimezone.h: - -/usr/include/glib-2.0/glib/gdir.h: - -/usr/include/dirent.h: - -/usr/include/arm-linux-gnueabihf/bits/dirent.h: - -/usr/include/glib-2.0/glib/genviron.h: - -/usr/include/glib-2.0/glib/gfileutils.h: - -/usr/include/glib-2.0/glib/ggettext.h: - -/usr/include/glib-2.0/glib/ghash.h: - -/usr/include/glib-2.0/glib/glist.h: - -/usr/include/glib-2.0/glib/gmem.h: - -/usr/include/glib-2.0/glib/gnode.h: - -/usr/include/glib-2.0/glib/ghmac.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/ghook.h: - -/usr/include/glib-2.0/glib/ghostutils.h: - -/usr/include/glib-2.0/glib/giochannel.h: - -/usr/include/glib-2.0/glib/gmain.h: - -/usr/include/glib-2.0/glib/gpoll.h: - -/usr/include/glib-2.0/glib/gslist.h: - -/usr/include/glib-2.0/glib/gstring.h: - -/usr/include/glib-2.0/glib/gunicode.h: - -/usr/include/glib-2.0/glib/gutils.h: - -/usr/include/glib-2.0/glib/gkeyfile.h: - -/usr/include/glib-2.0/glib/gmappedfile.h: - -/usr/include/glib-2.0/glib/gmarkup.h: - -/usr/include/glib-2.0/glib/gmessages.h: - -/usr/include/glib-2.0/glib/goption.h: - -/usr/include/glib-2.0/glib/gpattern.h: - -/usr/include/glib-2.0/glib/gprimes.h: - -/usr/include/glib-2.0/glib/gqsort.h: - -/usr/include/glib-2.0/glib/gqueue.h: - -/usr/include/glib-2.0/glib/grand.h: - -/usr/include/glib-2.0/glib/gregex.h: - -/usr/include/glib-2.0/glib/gscanner.h: - -/usr/include/glib-2.0/glib/gsequence.h: - -/usr/include/glib-2.0/glib/gshell.h: - -/usr/include/glib-2.0/glib/gslice.h: - -/usr/include/glib-2.0/glib/gspawn.h: - -/usr/include/glib-2.0/glib/gstrfuncs.h: - -/usr/include/glib-2.0/glib/gstringchunk.h: - -/usr/include/glib-2.0/glib/gtestutils.h: - -/usr/include/glib-2.0/glib/gthreadpool.h: - -/usr/include/glib-2.0/glib/gtimer.h: - -/usr/include/glib-2.0/glib/gtrashstack.h: - -/usr/include/glib-2.0/glib/gtree.h: - -/usr/include/glib-2.0/glib/gurifuncs.h: - -/usr/include/glib-2.0/glib/gvarianttype.h: - -/usr/include/glib-2.0/glib/gvariant.h: - -/usr/include/glib-2.0/glib/gversion.h: - -/usr/include/glib-2.0/glib/deprecated/gallocator.h: - -/usr/include/glib-2.0/glib/deprecated/gcache.h: - -/usr/include/glib-2.0/glib/deprecated/gcompletion.h: - -/usr/include/glib-2.0/glib/deprecated/gmain.h: - -/usr/include/glib-2.0/glib/deprecated/grel.h: - -/usr/include/glib-2.0/glib/deprecated/gthread.h: - -/usr/include/pthread.h: - -/usr/include/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/setjmp.h: - -lib/bluetooth/bluetooth.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/arm-linux-gnueabihf/bits/wchar.h: - -/usr/include/byteswap.h: - -/usr/include/netinet/in.h: - -/usr/include/arm-linux-gnueabihf/bits/in.h: - -lib/bluetooth/sdp.h: - -lib/bluetooth/sdp_lib.h: - -lib/bluetooth/hci.h: - -gdbus/gdbus.h: - -/usr/include/dbus-1.0/dbus/dbus.h: - -/usr/lib/arm-linux-gnueabihf/dbus-1.0/include/dbus/dbus-arch-deps.h: - -/usr/include/dbus-1.0/dbus/dbus-macros.h: - -/usr/include/dbus-1.0/dbus/dbus-address.h: - -/usr/include/dbus-1.0/dbus/dbus-types.h: - -/usr/include/dbus-1.0/dbus/dbus-errors.h: - -/usr/include/dbus-1.0/dbus/dbus-protocol.h: - -/usr/include/dbus-1.0/dbus/dbus-bus.h: - -/usr/include/dbus-1.0/dbus/dbus-connection.h: - -/usr/include/dbus-1.0/dbus/dbus-memory.h: - -/usr/include/dbus-1.0/dbus/dbus-message.h: - -/usr/include/dbus-1.0/dbus/dbus-shared.h: - -/usr/include/dbus-1.0/dbus/dbus-misc.h: - -/usr/include/dbus-1.0/dbus/dbus-pending-call.h: - -/usr/include/dbus-1.0/dbus/dbus-server.h: - -/usr/include/dbus-1.0/dbus/dbus-signature.h: - -/usr/include/dbus-1.0/dbus/dbus-syntax.h: - -/usr/include/dbus-1.0/dbus/dbus-threads.h: - -profiles/cups/cups.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/profiles/cups/.deps/sdp.Po b/GRIB_BLE_HUB/libs/ble_extend/profiles/cups/.deps/sdp.Po deleted file mode 100644 index 31496bb..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/profiles/cups/.deps/sdp.Po +++ /dev/null @@ -1,208 +0,0 @@ -profiles/cups/sdp.o: profiles/cups/sdp.c /usr/include/stdc-predef.h \ - config.h /usr/include/stdio.h /usr/include/features.h \ - /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/sys_errlist.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio.h /usr/include/errno.h \ - /usr/include/arm-linux-gnueabihf/bits/errno.h /usr/include/linux/errno.h \ - /usr/include/arm-linux-gnueabihf/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/include/unistd.h /usr/include/arm-linux-gnueabihf/bits/posix_opt.h \ - /usr/include/arm-linux-gnueabihf/bits/environments.h \ - /usr/include/arm-linux-gnueabihf/bits/confname.h /usr/include/getopt.h \ - /usr/include/signal.h /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/signum.h /usr/include/time.h \ - /usr/include/arm-linux-gnueabihf/bits/siginfo.h \ - /usr/include/arm-linux-gnueabihf/bits/sigaction.h \ - /usr/include/arm-linux-gnueabihf/bits/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/asm/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigstack.h \ - /usr/include/arm-linux-gnueabihf/sys/ucontext.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/endian.h /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/arm-linux-gnueabihf/bits/sigthread.h \ - /usr/include/arm-linux-gnueabihf/sys/socket.h \ - /usr/include/arm-linux-gnueabihf/sys/uio.h \ - /usr/include/arm-linux-gnueabihf/sys/types.h \ - /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/socket.h \ - /usr/include/arm-linux-gnueabihf/bits/socket_type.h \ - /usr/include/arm-linux-gnueabihf/bits/sockaddr.h \ - /usr/include/arm-linux-gnueabihf/asm/socket.h \ - /usr/include/asm-generic/socket.h \ - /usr/include/arm-linux-gnueabihf/asm/sockios.h \ - /usr/include/asm-generic/sockios.h lib/bluetooth/bluetooth.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h \ - /usr/include/stdint.h /usr/include/arm-linux-gnueabihf/bits/wchar.h \ - /usr/include/string.h /usr/include/xlocale.h \ - /usr/include/arm-linux-gnueabihf/bits/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string2.h /usr/include/stdlib.h \ - /usr/include/byteswap.h /usr/include/netinet/in.h \ - /usr/include/arm-linux-gnueabihf/bits/in.h lib/bluetooth/sdp.h \ - lib/bluetooth/sdp_lib.h lib/bluetooth/hci.h profiles/cups/cups.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/include/stdio.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/sys_errlist.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio.h: - -/usr/include/errno.h: - -/usr/include/arm-linux-gnueabihf/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/arm-linux-gnueabihf/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/include/unistd.h: - -/usr/include/arm-linux-gnueabihf/bits/posix_opt.h: - -/usr/include/arm-linux-gnueabihf/bits/environments.h: - -/usr/include/arm-linux-gnueabihf/bits/confname.h: - -/usr/include/getopt.h: - -/usr/include/signal.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/signum.h: - -/usr/include/time.h: - -/usr/include/arm-linux-gnueabihf/bits/siginfo.h: - -/usr/include/arm-linux-gnueabihf/bits/sigaction.h: - -/usr/include/arm-linux-gnueabihf/bits/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/asm/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigstack.h: - -/usr/include/arm-linux-gnueabihf/sys/ucontext.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/arm-linux-gnueabihf/bits/sigthread.h: - -/usr/include/arm-linux-gnueabihf/sys/socket.h: - -/usr/include/arm-linux-gnueabihf/sys/uio.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/socket.h: - -/usr/include/arm-linux-gnueabihf/bits/socket_type.h: - -/usr/include/arm-linux-gnueabihf/bits/sockaddr.h: - -/usr/include/arm-linux-gnueabihf/asm/socket.h: - -/usr/include/asm-generic/socket.h: - -/usr/include/arm-linux-gnueabihf/asm/sockios.h: - -/usr/include/asm-generic/sockios.h: - -lib/bluetooth/bluetooth.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/arm-linux-gnueabihf/bits/wchar.h: - -/usr/include/string.h: - -/usr/include/xlocale.h: - -/usr/include/arm-linux-gnueabihf/bits/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string2.h: - -/usr/include/stdlib.h: - -/usr/include/byteswap.h: - -/usr/include/netinet/in.h: - -/usr/include/arm-linux-gnueabihf/bits/in.h: - -lib/bluetooth/sdp.h: - -lib/bluetooth/sdp_lib.h: - -lib/bluetooth/hci.h: - -profiles/cups/cups.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/profiles/cups/.deps/spp.Po b/GRIB_BLE_HUB/libs/ble_extend/profiles/cups/.deps/spp.Po deleted file mode 100644 index b3b3313..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/profiles/cups/.deps/spp.Po +++ /dev/null @@ -1,211 +0,0 @@ -profiles/cups/spp.o: profiles/cups/spp.c /usr/include/stdc-predef.h \ - config.h /usr/include/stdio.h /usr/include/features.h \ - /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/sys_errlist.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio.h /usr/include/errno.h \ - /usr/include/arm-linux-gnueabihf/bits/errno.h /usr/include/linux/errno.h \ - /usr/include/arm-linux-gnueabihf/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/include/unistd.h /usr/include/arm-linux-gnueabihf/bits/posix_opt.h \ - /usr/include/arm-linux-gnueabihf/bits/environments.h \ - /usr/include/arm-linux-gnueabihf/bits/confname.h /usr/include/getopt.h \ - /usr/include/signal.h /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/signum.h /usr/include/time.h \ - /usr/include/arm-linux-gnueabihf/bits/siginfo.h \ - /usr/include/arm-linux-gnueabihf/bits/sigaction.h \ - /usr/include/arm-linux-gnueabihf/bits/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/asm/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigstack.h \ - /usr/include/arm-linux-gnueabihf/sys/ucontext.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/endian.h /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/arm-linux-gnueabihf/bits/sigthread.h \ - /usr/include/arm-linux-gnueabihf/sys/socket.h \ - /usr/include/arm-linux-gnueabihf/sys/uio.h \ - /usr/include/arm-linux-gnueabihf/sys/types.h \ - /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/socket.h \ - /usr/include/arm-linux-gnueabihf/bits/socket_type.h \ - /usr/include/arm-linux-gnueabihf/bits/sockaddr.h \ - /usr/include/arm-linux-gnueabihf/asm/socket.h \ - /usr/include/asm-generic/socket.h \ - /usr/include/arm-linux-gnueabihf/asm/sockios.h \ - /usr/include/asm-generic/sockios.h lib/bluetooth/bluetooth.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h \ - /usr/include/stdint.h /usr/include/arm-linux-gnueabihf/bits/wchar.h \ - /usr/include/string.h /usr/include/xlocale.h \ - /usr/include/arm-linux-gnueabihf/bits/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string2.h /usr/include/stdlib.h \ - /usr/include/byteswap.h /usr/include/netinet/in.h \ - /usr/include/arm-linux-gnueabihf/bits/in.h lib/bluetooth/rfcomm.h \ - lib/bluetooth/sdp.h lib/bluetooth/sdp_lib.h lib/bluetooth/hci.h \ - profiles/cups/cups.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/include/stdio.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/sys_errlist.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio.h: - -/usr/include/errno.h: - -/usr/include/arm-linux-gnueabihf/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/arm-linux-gnueabihf/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/include/unistd.h: - -/usr/include/arm-linux-gnueabihf/bits/posix_opt.h: - -/usr/include/arm-linux-gnueabihf/bits/environments.h: - -/usr/include/arm-linux-gnueabihf/bits/confname.h: - -/usr/include/getopt.h: - -/usr/include/signal.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/signum.h: - -/usr/include/time.h: - -/usr/include/arm-linux-gnueabihf/bits/siginfo.h: - -/usr/include/arm-linux-gnueabihf/bits/sigaction.h: - -/usr/include/arm-linux-gnueabihf/bits/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/asm/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigstack.h: - -/usr/include/arm-linux-gnueabihf/sys/ucontext.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/arm-linux-gnueabihf/bits/sigthread.h: - -/usr/include/arm-linux-gnueabihf/sys/socket.h: - -/usr/include/arm-linux-gnueabihf/sys/uio.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/socket.h: - -/usr/include/arm-linux-gnueabihf/bits/socket_type.h: - -/usr/include/arm-linux-gnueabihf/bits/sockaddr.h: - -/usr/include/arm-linux-gnueabihf/asm/socket.h: - -/usr/include/asm-generic/socket.h: - -/usr/include/arm-linux-gnueabihf/asm/sockios.h: - -/usr/include/asm-generic/sockios.h: - -lib/bluetooth/bluetooth.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/arm-linux-gnueabihf/bits/wchar.h: - -/usr/include/string.h: - -/usr/include/xlocale.h: - -/usr/include/arm-linux-gnueabihf/bits/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string2.h: - -/usr/include/stdlib.h: - -/usr/include/byteswap.h: - -/usr/include/netinet/in.h: - -/usr/include/arm-linux-gnueabihf/bits/in.h: - -lib/bluetooth/rfcomm.h: - -lib/bluetooth/sdp.h: - -lib/bluetooth/sdp_lib.h: - -lib/bluetooth/hci.h: - -profiles/cups/cups.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/profiles/cups/.dirstamp b/GRIB_BLE_HUB/libs/ble_extend/profiles/cups/.dirstamp deleted file mode 100644 index e69de29..0000000 diff --git a/GRIB_BLE_HUB/libs/ble_extend/profiles/cups/bluetooth b/GRIB_BLE_HUB/libs/ble_extend/profiles/cups/bluetooth deleted file mode 100644 index d53c312..0000000 Binary files a/GRIB_BLE_HUB/libs/ble_extend/profiles/cups/bluetooth and /dev/null differ diff --git a/GRIB_BLE_HUB/libs/ble_extend/profiles/cups/cups.h b/GRIB_BLE_HUB/libs/ble_extend/profiles/cups/cups.h deleted file mode 100644 index f4e0c01..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/profiles/cups/cups.h +++ /dev/null @@ -1,38 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2003-2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -enum { /**** Backend exit codes ****/ - CUPS_BACKEND_OK = 0, /* Job completed successfully */ - CUPS_BACKEND_FAILED = 1, /* Job failed, use error-policy */ - CUPS_BACKEND_AUTH_REQUIRED = 2, /* Job failed, authentication required */ - CUPS_BACKEND_HOLD = 3, /* Job failed, hold job */ - CUPS_BACKEND_STOP = 4, /* Job failed, stop queue */ - CUPS_BACKEND_CANCEL = 5, /* Job failed, cancel job */ - CUPS_BACKEND_RETRY = 6, /* Failure requires us to retry (BlueZ specific) */ -}; - -int sdp_search_spp(sdp_session_t *sdp, uint8_t *channel); -int sdp_search_hcrp(sdp_session_t *sdp, unsigned short *ctrl_psm, unsigned short *data_psm); - -int spp_print(bdaddr_t *src, bdaddr_t *dst, uint8_t channel, int fd, int copies, const char *cups_class); -int hcrp_print(bdaddr_t *src, bdaddr_t *dst, unsigned short ctrl_psm, unsigned short data_psm, int fd, int copies, const char *cups_class); diff --git a/GRIB_BLE_HUB/libs/ble_extend/profiles/cups/hcrp.c b/GRIB_BLE_HUB/libs/ble_extend/profiles/cups/hcrp.c deleted file mode 100644 index a93dda0..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/profiles/cups/hcrp.c +++ /dev/null @@ -1,368 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2003-2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include - -#include - -#include "cups.h" - -#define HCRP_PDU_CREDIT_GRANT 0x0001 -#define HCRP_PDU_CREDIT_REQUEST 0x0002 -#define HCRP_PDU_GET_LPT_STATUS 0x0005 - -#define HCRP_STATUS_FEATURE_UNSUPPORTED 0x0000 -#define HCRP_STATUS_SUCCESS 0x0001 -#define HCRP_STATUS_CREDIT_SYNC_ERROR 0x0002 -#define HCRP_STATUS_GENERIC_FAILURE 0xffff - -struct hcrp_pdu_hdr { - uint16_t pid; - uint16_t tid; - uint16_t plen; -} __attribute__ ((packed)); -#define HCRP_PDU_HDR_SIZE 6 - -struct hcrp_credit_grant_cp { - uint32_t credit; -} __attribute__ ((packed)); -#define HCRP_CREDIT_GRANT_CP_SIZE 4 - -struct hcrp_credit_grant_rp { - uint16_t status; -} __attribute__ ((packed)); -#define HCRP_CREDIT_GRANT_RP_SIZE 2 - -struct hcrp_credit_request_rp { - uint16_t status; - uint32_t credit; -} __attribute__ ((packed)); -#define HCRP_CREDIT_REQUEST_RP_SIZE 6 - -struct hcrp_get_lpt_status_rp { - uint16_t status; - uint8_t lpt_status; -} __attribute__ ((packed)); -#define HCRP_GET_LPT_STATUS_RP_SIZE 3 - -static int hcrp_credit_grant(int sk, uint16_t tid, uint32_t credit) -{ - struct hcrp_pdu_hdr hdr; - struct hcrp_credit_grant_cp cp; - struct hcrp_credit_grant_rp rp; - unsigned char buf[128]; - int len; - - hdr.pid = htons(HCRP_PDU_CREDIT_GRANT); - hdr.tid = htons(tid); - hdr.plen = htons(HCRP_CREDIT_GRANT_CP_SIZE); - cp.credit = credit; - memcpy(buf, &hdr, HCRP_PDU_HDR_SIZE); - memcpy(buf + HCRP_PDU_HDR_SIZE, &cp, HCRP_CREDIT_GRANT_CP_SIZE); - len = write(sk, buf, HCRP_PDU_HDR_SIZE + HCRP_CREDIT_GRANT_CP_SIZE); - if (len < 0) - return len; - - len = read(sk, buf, sizeof(buf)); - if (len < 0) - return len; - - memcpy(&hdr, buf, HCRP_PDU_HDR_SIZE); - memcpy(&rp, buf + HCRP_PDU_HDR_SIZE, HCRP_CREDIT_GRANT_RP_SIZE); - - if (ntohs(rp.status) != HCRP_STATUS_SUCCESS) { - errno = EIO; - return -1; - } - - return 0; -} - -static int hcrp_credit_request(int sk, uint16_t tid, uint32_t *credit) -{ - struct hcrp_pdu_hdr hdr; - struct hcrp_credit_request_rp rp; - unsigned char buf[128]; - int len; - - hdr.pid = htons(HCRP_PDU_CREDIT_REQUEST); - hdr.tid = htons(tid); - hdr.plen = htons(0); - memcpy(buf, &hdr, HCRP_PDU_HDR_SIZE); - len = write(sk, buf, HCRP_PDU_HDR_SIZE); - if (len < 0) - return len; - - len = read(sk, buf, sizeof(buf)); - if (len < 0) - return len; - - memcpy(&hdr, buf, HCRP_PDU_HDR_SIZE); - memcpy(&rp, buf + HCRP_PDU_HDR_SIZE, HCRP_CREDIT_REQUEST_RP_SIZE); - - if (ntohs(rp.status) != HCRP_STATUS_SUCCESS) { - errno = EIO; - return -1; - } - - if (credit) - *credit = ntohl(rp.credit); - - return 0; -} - -static int hcrp_get_lpt_status(int sk, uint16_t tid, uint8_t *lpt_status) -{ - struct hcrp_pdu_hdr hdr; - struct hcrp_get_lpt_status_rp rp; - unsigned char buf[128]; - int len; - - hdr.pid = htons(HCRP_PDU_GET_LPT_STATUS); - hdr.tid = htons(tid); - hdr.plen = htons(0); - memcpy(buf, &hdr, HCRP_PDU_HDR_SIZE); - len = write(sk, buf, HCRP_PDU_HDR_SIZE); - if (len < 0) - return len; - - len = read(sk, buf, sizeof(buf)); - if (len < 0) - return len; - - memcpy(&hdr, buf, HCRP_PDU_HDR_SIZE); - memcpy(&rp, buf + HCRP_PDU_HDR_SIZE, HCRP_GET_LPT_STATUS_RP_SIZE); - - if (ntohs(rp.status) != HCRP_STATUS_SUCCESS) { - errno = EIO; - return -1; - } - - if (lpt_status) - *lpt_status = rp.lpt_status; - - return 0; -} - -static inline int hcrp_get_next_tid(int tid) -{ - if (tid > 0xf000) - return 0; - else - return tid + 1; -} - -int hcrp_print(bdaddr_t *src, bdaddr_t *dst, unsigned short ctrl_psm, unsigned short data_psm, int fd, int copies, const char *cups_class) -{ - struct sockaddr_l2 addr; - struct l2cap_options opts; - socklen_t size; - unsigned char buf[2048]; - int i, ctrl_sk, data_sk, count, len, timeout = 0; - unsigned int mtu; - uint8_t status; - uint16_t tid = 0; - uint32_t tmp, credit = 0; - - if ((ctrl_sk = socket(PF_BLUETOOTH, SOCK_SEQPACKET, BTPROTO_L2CAP)) < 0) { - perror("ERROR: Can't create socket"); - if (cups_class) - return CUPS_BACKEND_FAILED; - else - return CUPS_BACKEND_RETRY; - } - - memset(&addr, 0, sizeof(addr)); - addr.l2_family = AF_BLUETOOTH; - bacpy(&addr.l2_bdaddr, src); - - if (bind(ctrl_sk, (struct sockaddr *) &addr, sizeof(addr)) < 0) { - perror("ERROR: Can't bind socket"); - close(ctrl_sk); - if (cups_class) - return CUPS_BACKEND_FAILED; - else - return CUPS_BACKEND_RETRY; - } - - memset(&addr, 0, sizeof(addr)); - addr.l2_family = AF_BLUETOOTH; - bacpy(&addr.l2_bdaddr, dst); - addr.l2_psm = htobs(ctrl_psm); - - if (connect(ctrl_sk, (struct sockaddr *) &addr, sizeof(addr)) < 0) { - perror("ERROR: Can't connect to device"); - close(ctrl_sk); - if (cups_class) - return CUPS_BACKEND_FAILED; - else - return CUPS_BACKEND_RETRY; - } - - if ((data_sk = socket(PF_BLUETOOTH, SOCK_SEQPACKET, BTPROTO_L2CAP)) < 0) { - perror("ERROR: Can't create socket"); - close(ctrl_sk); - if (cups_class) - return CUPS_BACKEND_FAILED; - else - return CUPS_BACKEND_RETRY; - } - - memset(&addr, 0, sizeof(addr)); - addr.l2_family = AF_BLUETOOTH; - bacpy(&addr.l2_bdaddr, src); - - if (bind(data_sk, (struct sockaddr *) &addr, sizeof(addr)) < 0) { - perror("ERROR: Can't bind socket"); - close(data_sk); - close(ctrl_sk); - if (cups_class) - return CUPS_BACKEND_FAILED; - else - return CUPS_BACKEND_RETRY; - } - - memset(&addr, 0, sizeof(addr)); - addr.l2_family = AF_BLUETOOTH; - bacpy(&addr.l2_bdaddr, dst); - addr.l2_psm = htobs(data_psm); - - if (connect(data_sk, (struct sockaddr *) &addr, sizeof(addr)) < 0) { - perror("ERROR: Can't connect to device"); - close(data_sk); - close(ctrl_sk); - if (cups_class) - return CUPS_BACKEND_FAILED; - else - return CUPS_BACKEND_RETRY; - } - - fputs("STATE: -connecting-to-device\n", stderr); - - memset(&opts, 0, sizeof(opts)); - size = sizeof(opts); - - if (getsockopt(data_sk, SOL_L2CAP, L2CAP_OPTIONS, &opts, &size) < 0) { - perror("ERROR: Can't get socket options"); - close(data_sk); - close(ctrl_sk); - if (cups_class) - return CUPS_BACKEND_FAILED; - else - return CUPS_BACKEND_RETRY; - } - - mtu = opts.omtu; - - /* Ignore SIGTERM signals if printing from stdin */ - if (fd == 0) { -#ifdef HAVE_SIGSET - sigset(SIGTERM, SIG_IGN); -#elif defined(HAVE_SIGACTION) - memset(&action, 0, sizeof(action)); - sigemptyset(&action.sa_mask); - action.sa_handler = SIG_IGN; - sigaction(SIGTERM, &action, NULL); -#else - signal(SIGTERM, SIG_IGN); -#endif /* HAVE_SIGSET */ - } - - tid = hcrp_get_next_tid(tid); - if (hcrp_credit_grant(ctrl_sk, tid, 0) < 0) { - fprintf(stderr, "ERROR: Can't grant initial credits\n"); - close(data_sk); - close(ctrl_sk); - if (cups_class) - return CUPS_BACKEND_FAILED; - else - return CUPS_BACKEND_RETRY; - } - - for (i = 0; i < copies; i++) { - - if (fd != 0) { - fprintf(stderr, "PAGE: 1 1\n"); - lseek(fd, 0, SEEK_SET); - } - - while (1) { - if (credit < mtu) { - tid = hcrp_get_next_tid(tid); - if (!hcrp_credit_request(ctrl_sk, tid, &tmp)) { - credit += tmp; - timeout = 0; - } - } - - if (!credit) { - if (timeout++ > 300) { - tid = hcrp_get_next_tid(tid); - if (!hcrp_get_lpt_status(ctrl_sk, tid, &status)) - fprintf(stderr, "ERROR: LPT status 0x%02x\n", status); - break; - } - - sleep(1); - continue; - } - - count = read(fd, buf, (credit > mtu) ? mtu : credit); - if (count <= 0) - break; - - len = write(data_sk, buf, count); - if (len < 0) { - perror("ERROR: Error writing to device"); - close(data_sk); - close(ctrl_sk); - return CUPS_BACKEND_FAILED; - } - - if (len != count) - fprintf(stderr, "ERROR: Can't send complete data\n"); - - credit -= len; - } - - } - - close(data_sk); - close(ctrl_sk); - - return CUPS_BACKEND_OK; -} diff --git a/GRIB_BLE_HUB/libs/ble_extend/profiles/cups/main.c b/GRIB_BLE_HUB/libs/ble_extend/profiles/cups/main.c deleted file mode 100644 index 2079812..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/profiles/cups/main.c +++ /dev/null @@ -1,883 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2003-2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include - -#include - -#include "cups.h" - -struct cups_device { - char *bdaddr; - char *name; - char *id; -}; - -static GSList *device_list = NULL; -static GMainLoop *loop = NULL; -static DBusConnection *conn = NULL; -static gboolean doing_disco = FALSE; - -#define ATTRID_1284ID 0x0300 - -struct context_data { - gboolean found; - char *id; -}; - -static void element_start(GMarkupParseContext *context, - const char *element_name, - const char **attribute_names, - const char **attribute_values, - gpointer user_data, GError **err) -{ - struct context_data *ctx_data = user_data; - - if (!strcmp(element_name, "record")) - return; - - if (!strcmp(element_name, "attribute")) { - int i; - for (i = 0; attribute_names[i]; i++) { - if (strcmp(attribute_names[i], "id") != 0) - continue; - if (strtol(attribute_values[i], 0, 0) == ATTRID_1284ID) - ctx_data->found = TRUE; - break; - } - return; - } - - if (ctx_data->found && !strcmp(element_name, "text")) { - int i; - for (i = 0; attribute_names[i]; i++) { - if (!strcmp(attribute_names[i], "value")) { - ctx_data->id = g_strdup(attribute_values[i] + 2); - ctx_data->found = FALSE; - } - } - } -} - -static GMarkupParser parser = { - element_start, NULL, NULL, NULL, NULL -}; - -static char *sdp_xml_parse_record(const char *data) -{ - GMarkupParseContext *ctx; - struct context_data ctx_data; - int size; - - size = strlen(data); - ctx_data.found = FALSE; - ctx_data.id = NULL; - ctx = g_markup_parse_context_new(&parser, 0, &ctx_data, NULL); - - if (g_markup_parse_context_parse(ctx, data, size, NULL) == FALSE) { - g_markup_parse_context_free(ctx); - g_free(ctx_data.id); - return NULL; - } - - g_markup_parse_context_free(ctx); - - return ctx_data.id; -} - -static char *device_get_ieee1284_id(const char *adapter, const char *device) -{ - DBusMessage *message, *reply; - DBusMessageIter iter, reply_iter; - DBusMessageIter reply_iter_entry; - const char *hcr_print = "00001126-0000-1000-8000-00805f9b34fb"; - const char *xml; - char *id = NULL; - - /* Look for the service handle of the HCRP service */ - message = dbus_message_new_method_call("org.bluez", device, - "org.bluez.Device1", - "DiscoverServices"); - dbus_message_iter_init_append(message, &iter); - dbus_message_iter_append_basic(&iter, DBUS_TYPE_STRING, &hcr_print); - - reply = dbus_connection_send_with_reply_and_block(conn, - message, -1, NULL); - - dbus_message_unref(message); - - if (!reply) - return NULL; - - dbus_message_iter_init(reply, &reply_iter); - - if (dbus_message_iter_get_arg_type(&reply_iter) != DBUS_TYPE_ARRAY) { - dbus_message_unref(reply); - return NULL; - } - - dbus_message_iter_recurse(&reply_iter, &reply_iter_entry); - - /* Hopefully we only get one handle, or take a punt */ - while (dbus_message_iter_get_arg_type(&reply_iter_entry) == - DBUS_TYPE_DICT_ENTRY) { - guint32 key; - DBusMessageIter dict_entry; - - dbus_message_iter_recurse(&reply_iter_entry, &dict_entry); - - /* Key ? */ - dbus_message_iter_get_basic(&dict_entry, &key); - if (!key) { - dbus_message_iter_next(&reply_iter_entry); - continue; - } - - /* Try to get the value */ - if (!dbus_message_iter_next(&dict_entry)) { - dbus_message_iter_next(&reply_iter_entry); - continue; - } - - dbus_message_iter_get_basic(&dict_entry, &xml); - - id = sdp_xml_parse_record(xml); - if (id != NULL) - break; - dbus_message_iter_next(&reply_iter_entry); - } - - dbus_message_unref(reply); - - return id; -} - -static void print_printer_details(const char *name, const char *bdaddr, - const char *id) -{ - char *uri, *escaped; - - escaped = g_strdelimit(g_strdup(name), "\"", '\''); - uri = g_strdup_printf("bluetooth://%c%c%c%c%c%c%c%c%c%c%c%c", - bdaddr[0], bdaddr[1], - bdaddr[3], bdaddr[4], - bdaddr[6], bdaddr[7], - bdaddr[9], bdaddr[10], - bdaddr[12], bdaddr[13], - bdaddr[15], bdaddr[16]); - printf("direct %s \"%s\" \"%s (Bluetooth)\"", uri, escaped, escaped); - if (id != NULL) - printf(" \"%s\"\n", id); - else - printf("\n"); - g_free(escaped); - g_free(uri); -} - -static void add_device_to_list(const char *name, const char *bdaddr, - const char *id) -{ - struct cups_device *device; - GSList *l; - - /* Look for the device in the list */ - for (l = device_list; l != NULL; l = l->next) { - device = (struct cups_device *) l->data; - - if (strcmp(device->bdaddr, bdaddr) == 0) { - if (device->name != name) { - g_free(device->name); - device->name = g_strdup(name); - } - g_free(device->id); - device->id = g_strdup(id); - return; - } - } - - /* Or add it to the list if it's not there */ - device = g_new0(struct cups_device, 1); - device->bdaddr = g_strdup(bdaddr); - device->name = g_strdup(name); - device->id = g_strdup(id); - - device_list = g_slist_prepend(device_list, device); - print_printer_details(device->name, device->bdaddr, device->id); -} - -static gboolean parse_device_properties(DBusMessageIter *reply_iter, - char **name, char **bdaddr) -{ - guint32 class = 0; - DBusMessageIter reply_iter_entry; - - if (dbus_message_iter_get_arg_type(reply_iter) != DBUS_TYPE_ARRAY) - return FALSE; - - dbus_message_iter_recurse(reply_iter, &reply_iter_entry); - - while (dbus_message_iter_get_arg_type(&reply_iter_entry) == - DBUS_TYPE_DICT_ENTRY) { - const char *key; - DBusMessageIter dict_entry, iter_dict_val; - - dbus_message_iter_recurse(&reply_iter_entry, &dict_entry); - - /* Key == Class ? */ - dbus_message_iter_get_basic(&dict_entry, &key); - if (!key) { - dbus_message_iter_next(&reply_iter_entry); - continue; - } - - if (strcmp(key, "Class") != 0 && - strcmp(key, "Alias") != 0 && - strcmp(key, "Address") != 0) { - dbus_message_iter_next(&reply_iter_entry); - continue; - } - - /* Try to get the value */ - if (!dbus_message_iter_next(&dict_entry)) { - dbus_message_iter_next(&reply_iter_entry); - continue; - } - dbus_message_iter_recurse(&dict_entry, &iter_dict_val); - if (strcmp(key, "Class") == 0) { - dbus_message_iter_get_basic(&iter_dict_val, &class); - } else { - const char *value; - dbus_message_iter_get_basic(&iter_dict_val, &value); - if (strcmp(key, "Alias") == 0) { - *name = g_strdup(value); - } else if (bdaddr) { - *bdaddr = g_strdup(value); - } - } - dbus_message_iter_next(&reply_iter_entry); - } - - if (class == 0) - return FALSE; - if (((class & 0x1f00) >> 8) == 0x06 && (class & 0x80)) - return TRUE; - - return FALSE; -} - -static gboolean device_is_printer(const char *adapter, const char *device_path, char **name, char **bdaddr) -{ - DBusMessage *message, *reply; - DBusMessageIter reply_iter; - gboolean retval; - - message = dbus_message_new_method_call("org.bluez", device_path, - "org.bluez.Device1", - "GetProperties"); - - reply = dbus_connection_send_with_reply_and_block(conn, - message, -1, NULL); - - dbus_message_unref(message); - - if (!reply) - return FALSE; - - dbus_message_iter_init(reply, &reply_iter); - - retval = parse_device_properties(&reply_iter, name, bdaddr); - - dbus_message_unref(reply); - - return retval; -} - -static void remote_device_found(const char *adapter, const char *bdaddr, - const char *name) -{ - DBusMessage *message, *reply, *adapter_reply; - DBusMessageIter iter; - char *object_path = NULL; - char *id; - - adapter_reply = NULL; - - assert(adapter != NULL); - - message = dbus_message_new_method_call("org.bluez", adapter, - "org.bluez.Adapter1", - "FindDevice"); - dbus_message_iter_init_append(message, &iter); - dbus_message_iter_append_basic(&iter, DBUS_TYPE_STRING, &bdaddr); - - if (adapter_reply != NULL) - dbus_message_unref(adapter_reply); - - reply = dbus_connection_send_with_reply_and_block(conn, - message, -1, NULL); - - dbus_message_unref(message); - - if (!reply) { - message = dbus_message_new_method_call("org.bluez", adapter, - "org.bluez.Adapter1", - "CreateDevice"); - dbus_message_iter_init_append(message, &iter); - dbus_message_iter_append_basic(&iter, DBUS_TYPE_STRING, &bdaddr); - - reply = dbus_connection_send_with_reply_and_block(conn, - message, -1, NULL); - - dbus_message_unref(message); - - if (!reply) - return; - } - - if (dbus_message_get_args(reply, NULL, - DBUS_TYPE_OBJECT_PATH, &object_path, - DBUS_TYPE_INVALID) == FALSE) { - dbus_message_unref(reply); - return; - } - - id = device_get_ieee1284_id(adapter, object_path); - add_device_to_list(name, bdaddr, id); - g_free(id); - - dbus_message_unref(reply); -} - -static void discovery_completed(void) -{ - g_slist_free(device_list); - device_list = NULL; - - g_main_loop_quit(loop); -} - -static void remote_device_disappeared(const char *bdaddr) -{ - GSList *l; - - for (l = device_list; l != NULL; l = l->next) { - struct cups_device *device = l->data; - - if (strcmp(device->bdaddr, bdaddr) == 0) { - g_free(device->name); - g_free(device->bdaddr); - g_free(device); - device_list = g_slist_delete_link(device_list, l); - return; - } - } -} - -static gboolean list_known_printers(const char *adapter) -{ - DBusMessageIter reply_iter, iter_array; - DBusError error; - DBusMessage *message, *reply; - - message = dbus_message_new_method_call("org.bluez", adapter, - "org.bluez.Adapter1", - "ListDevices"); - if (message == NULL) - return FALSE; - - dbus_error_init(&error); - reply = dbus_connection_send_with_reply_and_block(conn, message, - -1, &error); - - dbus_message_unref(message); - - if (dbus_error_is_set(&error)) { - dbus_error_free(&error); - return FALSE; - } - - dbus_message_iter_init(reply, &reply_iter); - if (dbus_message_iter_get_arg_type(&reply_iter) != DBUS_TYPE_ARRAY) { - dbus_message_unref(reply); - return FALSE; - } - - dbus_message_iter_recurse(&reply_iter, &iter_array); - while (dbus_message_iter_get_arg_type(&iter_array) == - DBUS_TYPE_OBJECT_PATH) { - const char *object_path; - char *name = NULL; - char *bdaddr = NULL; - - dbus_message_iter_get_basic(&iter_array, &object_path); - if (device_is_printer(adapter, object_path, &name, &bdaddr)) { - char *id; - - id = device_get_ieee1284_id(adapter, object_path); - add_device_to_list(name, bdaddr, id); - g_free(id); - } - g_free(name); - g_free(bdaddr); - dbus_message_iter_next(&iter_array); - } - - dbus_message_unref(reply); - - return FALSE; -} - -static DBusHandlerResult filter_func(DBusConnection *connection, - DBusMessage *message, void *user_data) -{ - if (dbus_message_is_signal(message, "org.bluez.Adapter1", - "DeviceFound")) { - const char *adapter, *bdaddr; - char *name; - DBusMessageIter iter; - - dbus_message_iter_init(message, &iter); - dbus_message_iter_get_basic(&iter, &bdaddr); - dbus_message_iter_next(&iter); - - adapter = dbus_message_get_path(message); - if (parse_device_properties(&iter, &name, NULL)) - remote_device_found(adapter, bdaddr, name); - g_free (name); - } else if (dbus_message_is_signal(message, "org.bluez.Adapter1", - "DeviceDisappeared")) { - const char *bdaddr; - - dbus_message_get_args(message, NULL, - DBUS_TYPE_STRING, &bdaddr, - DBUS_TYPE_INVALID); - remote_device_disappeared(bdaddr); - } else if (dbus_message_is_signal(message, "org.bluez.Adapter1", - "PropertyChanged")) { - DBusMessageIter iter, value_iter; - const char *name; - gboolean discovering; - - dbus_message_iter_init(message, &iter); - dbus_message_iter_get_basic(&iter, &name); - if (name == NULL || strcmp(name, "Discovering") != 0) - return DBUS_HANDLER_RESULT_NOT_YET_HANDLED; - dbus_message_iter_next(&iter); - dbus_message_iter_recurse(&iter, &value_iter); - dbus_message_iter_get_basic(&value_iter, &discovering); - - if (discovering == FALSE && doing_disco) { - doing_disco = FALSE; - discovery_completed(); - } - } - - return DBUS_HANDLER_RESULT_NOT_YET_HANDLED; -} - -static gboolean list_printers(void) -{ - /* 1. Connect to the bus - * 2. Get the manager - * 3. Get the default adapter - * 4. Get a list of devices - * 5. Get the class of each device - * 6. Print the details from each printer device - */ - DBusError error; - dbus_bool_t hcid_exists; - DBusMessage *reply, *message; - DBusMessageIter reply_iter; - char *adapter, *match; - - conn = g_dbus_setup_bus(DBUS_BUS_SYSTEM, NULL, NULL); - if (conn == NULL) - return TRUE; - - dbus_error_init(&error); - hcid_exists = dbus_bus_name_has_owner(conn, "org.bluez", &error); - if (dbus_error_is_set(&error)) { - dbus_error_free(&error); - return TRUE; - } - - if (!hcid_exists) - return TRUE; - - /* Get the default adapter */ - message = dbus_message_new_method_call("org.bluez", "/", - "org.bluez.Manager", - "DefaultAdapter"); - if (message == NULL) { - dbus_connection_unref(conn); - return FALSE; - } - - reply = dbus_connection_send_with_reply_and_block(conn, - message, -1, &error); - - dbus_message_unref(message); - - if (dbus_error_is_set(&error)) { - dbus_error_free(&error); - dbus_connection_unref(conn); - /* No adapter */ - return TRUE; - } - - dbus_message_iter_init(reply, &reply_iter); - if (dbus_message_iter_get_arg_type(&reply_iter) != - DBUS_TYPE_OBJECT_PATH) { - dbus_message_unref(reply); - dbus_connection_unref(conn); - return FALSE; - } - - dbus_message_iter_get_basic(&reply_iter, &adapter); - adapter = g_strdup(adapter); - dbus_message_unref(reply); - - if (!dbus_connection_add_filter(conn, filter_func, adapter, g_free)) { - g_free(adapter); - dbus_connection_unref(conn); - return FALSE; - } - -#define MATCH_FORMAT \ - "type='signal'," \ - "interface='org.bluez.Adapter1'," \ - "sender='org.bluez'," \ - "path='%s'" - - match = g_strdup_printf(MATCH_FORMAT, adapter); - dbus_bus_add_match(conn, match, &error); - g_free(match); - - /* Add the the recent devices */ - list_known_printers(adapter); - - doing_disco = TRUE; - message = dbus_message_new_method_call("org.bluez", adapter, - "org.bluez.Adapter1", - "StartDiscovery"); - - if (!dbus_connection_send_with_reply(conn, message, NULL, -1)) { - dbus_message_unref(message); - dbus_connection_unref(conn); - g_free(adapter); - return FALSE; - } - dbus_message_unref(message); - - loop = g_main_loop_new(NULL, TRUE); - g_main_loop_run(loop); - - g_free(adapter); - dbus_connection_unref(conn); - - return TRUE; -} - -static gboolean print_ieee1284(const char *bdaddr) -{ - DBusMessage *message, *reply, *adapter_reply; - DBusMessageIter iter; - char *object_path = NULL; - char *adapter; - char *id; - - adapter_reply = NULL; - - conn = g_dbus_setup_bus(DBUS_BUS_SYSTEM, NULL, NULL); - if (conn == NULL) - return FALSE; - - message = dbus_message_new_method_call("org.bluez", "/", - "org.bluez.Manager", - "DefaultAdapter"); - - adapter_reply = dbus_connection_send_with_reply_and_block(conn, - message, -1, NULL); - - dbus_message_unref(message); - - if (!adapter_reply) - return FALSE; - - if (dbus_message_get_args(adapter_reply, NULL, - DBUS_TYPE_OBJECT_PATH, &adapter, - DBUS_TYPE_INVALID) == FALSE) { - dbus_message_unref(adapter_reply); - return FALSE; - } - - message = dbus_message_new_method_call("org.bluez", adapter, - "org.bluez.Adapter1", - "FindDevice"); - dbus_message_iter_init_append(message, &iter); - dbus_message_iter_append_basic(&iter, DBUS_TYPE_STRING, &bdaddr); - - if (adapter_reply != NULL) - dbus_message_unref(adapter_reply); - - reply = dbus_connection_send_with_reply_and_block(conn, - message, -1, NULL); - - dbus_message_unref(message); - - if (!reply) { - message = dbus_message_new_method_call("org.bluez", adapter, - "org.bluez.Adapter1", - "CreateDevice"); - dbus_message_iter_init_append(message, &iter); - dbus_message_iter_append_basic(&iter, - DBUS_TYPE_STRING, &bdaddr); - - reply = dbus_connection_send_with_reply_and_block(conn, - message, -1, NULL); - - dbus_message_unref(message); - - if (!reply) - return FALSE; - } - - if (dbus_message_get_args(reply, NULL, - DBUS_TYPE_OBJECT_PATH, &object_path, - DBUS_TYPE_INVALID) == FALSE) { - dbus_message_unref(reply); - return FALSE; - } - - id = device_get_ieee1284_id(adapter, object_path); - if (id == NULL) { - dbus_message_unref(reply); - return FALSE; - } - printf("%s", id); - g_free(id); - - dbus_message_unref(reply); - - return TRUE; -} - -/* - * Usage: printer-uri job-id user title copies options [file] - * - */ - -int main(int argc, char *argv[]) -{ - sdp_session_t *sdp; - bdaddr_t bdaddr; - unsigned short ctrl_psm, data_psm; - uint8_t channel, b[6]; - char *ptr, str[3], device[18], service[12]; - const char *uri, *cups_class; - int i, err, fd, copies, proto; - - /* Make sure status messages are not buffered */ - setbuf(stderr, NULL); - - /* Make sure output is not buffered */ - setbuf(stdout, NULL); - - /* Ignore SIGPIPE signals */ -#ifdef HAVE_SIGSET - sigset(SIGPIPE, SIG_IGN); -#elif defined(HAVE_SIGACTION) - memset(&action, 0, sizeof(action)); - action.sa_handler = SIG_IGN; - sigaction(SIGPIPE, &action, NULL); -#else - signal(SIGPIPE, SIG_IGN); -#endif /* HAVE_SIGSET */ - - if (argc == 1) { - if (list_printers() == TRUE) - return CUPS_BACKEND_OK; - else - return CUPS_BACKEND_FAILED; - } else if (argc == 3 && strcmp(argv[1], "--get-deviceid") == 0) { - if (bachk(argv[2]) < 0) { - fprintf(stderr, "Invalid Bluetooth address '%s'\n", - argv[2]); - return CUPS_BACKEND_FAILED; - } - if (print_ieee1284(argv[2]) == FALSE) - return CUPS_BACKEND_FAILED; - return CUPS_BACKEND_OK; - } - - if (argc < 6 || argc > 7) { - fprintf(stderr, "Usage: bluetooth job-id user title copies" - " options [file]\n"); - fprintf(stderr, " bluetooth --get-deviceid [bdaddr]\n"); - return CUPS_BACKEND_FAILED; - } - - if (argc == 6) { - fd = 0; - copies = 1; - } else { - if ((fd = open(argv[6], O_RDONLY)) < 0) { - perror("ERROR: Unable to open print file"); - return CUPS_BACKEND_FAILED; - } - copies = atoi(argv[4]); - } - - uri = getenv("DEVICE_URI"); - if (!uri) - uri = argv[0]; - - if (strncasecmp(uri, "bluetooth://", 12)) { - fprintf(stderr, "ERROR: No device URI found\n"); - return CUPS_BACKEND_FAILED; - } - - ptr = argv[0] + 12; - for (i = 0; i < 6; i++) { - strncpy(str, ptr, 2); - b[i] = (uint8_t) strtol(str, NULL, 16); - ptr += 2; - } - sprintf(device, "%2.2X:%2.2X:%2.2X:%2.2X:%2.2X:%2.2X", - b[0], b[1], b[2], b[3], b[4], b[5]); - - str2ba(device, &bdaddr); - - ptr = strchr(ptr, '/'); - if (ptr) { - strncpy(service, ptr + 1, 12); - - if (!strncasecmp(ptr + 1, "spp", 3)) - proto = 1; - else if (!strncasecmp(ptr + 1, "hcrp", 4)) - proto = 2; - else - proto = 0; - } else { - strcpy(service, "auto"); - proto = 0; - } - - cups_class = getenv("CLASS"); - - fprintf(stderr, - "DEBUG: %s device %s service %s fd %d copies %d class %s\n", - argv[0], device, service, fd, copies, - cups_class ? cups_class : "(none)"); - - fputs("STATE: +connecting-to-device\n", stderr); - -service_search: - sdp = sdp_connect(BDADDR_ANY, &bdaddr, SDP_RETRY_IF_BUSY); - if (!sdp) { - fprintf(stderr, "ERROR: Can't open Bluetooth connection\n"); - return CUPS_BACKEND_FAILED; - } - - switch (proto) { - case 1: - err = sdp_search_spp(sdp, &channel); - break; - case 2: - err = sdp_search_hcrp(sdp, &ctrl_psm, &data_psm); - break; - default: - proto = 2; - err = sdp_search_hcrp(sdp, &ctrl_psm, &data_psm); - if (err) { - proto = 1; - err = sdp_search_spp(sdp, &channel); - } - break; - } - - sdp_close(sdp); - - if (err) { - if (cups_class) { - fputs("INFO: Unable to contact printer, queuing on " - "next printer in class...\n", stderr); - sleep(5); - return CUPS_BACKEND_FAILED; - } - sleep(20); - fprintf(stderr, "ERROR: Can't get service information\n"); - goto service_search; - } - -connect: - switch (proto) { - case 1: - err = spp_print(BDADDR_ANY, &bdaddr, channel, - fd, copies, cups_class); - break; - case 2: - err = hcrp_print(BDADDR_ANY, &bdaddr, ctrl_psm, data_psm, - fd, copies, cups_class); - break; - default: - err = CUPS_BACKEND_FAILED; - fprintf(stderr, "ERROR: Unsupported protocol\n"); - break; - } - - if (err == CUPS_BACKEND_FAILED && cups_class) { - fputs("INFO: Unable to contact printer, queuing on " - "next printer in class...\n", stderr); - sleep(5); - return CUPS_BACKEND_FAILED; - } else if (err == CUPS_BACKEND_RETRY) { - sleep(20); - goto connect; - } - - if (fd != 0) - close(fd); - - if (!err) - fprintf(stderr, "INFO: Ready to print\n"); - - return err; -} diff --git a/GRIB_BLE_HUB/libs/ble_extend/profiles/cups/sdp.c b/GRIB_BLE_HUB/libs/ble_extend/profiles/cups/sdp.c deleted file mode 100644 index c7f17a4..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/profiles/cups/sdp.c +++ /dev/null @@ -1,119 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2003-2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include -#include -#include -#include - -#include -#include -#include - -#include "cups.h" - -int sdp_search_hcrp(sdp_session_t *sdp, unsigned short *ctrl_psm, unsigned short *data_psm) -{ - sdp_list_t *srch, *attrs, *rsp; - uuid_t svclass; - uint16_t attr1, attr2; - int err; - - if (!sdp) - return -1; - - sdp_uuid16_create(&svclass, HCR_PRINT_SVCLASS_ID); - srch = sdp_list_append(NULL, &svclass); - - attr1 = SDP_ATTR_PROTO_DESC_LIST; - attrs = sdp_list_append(NULL, &attr1); - attr2 = SDP_ATTR_ADD_PROTO_DESC_LIST; - attrs = sdp_list_append(attrs, &attr2); - - err = sdp_service_search_attr_req(sdp, srch, SDP_ATTR_REQ_INDIVIDUAL, attrs, &rsp); - if (err) - return -1; - - for (; rsp; rsp = rsp->next) { - sdp_record_t *rec = (sdp_record_t *) rsp->data; - sdp_list_t *protos; - - if (!sdp_get_access_protos(rec, &protos)) { - unsigned short psm = sdp_get_proto_port(protos, L2CAP_UUID); - if (psm > 0) { - *ctrl_psm = psm; - } - } - - if (!sdp_get_add_access_protos(rec, &protos)) { - unsigned short psm = sdp_get_proto_port(protos, L2CAP_UUID); - if (psm > 0 && *ctrl_psm > 0) { - *data_psm = psm; - return 0; - } - } - } - - return -1; -} - -int sdp_search_spp(sdp_session_t *sdp, uint8_t *channel) -{ - sdp_list_t *srch, *attrs, *rsp; - uuid_t svclass; - uint16_t attr; - int err; - - if (!sdp) - return -1; - - sdp_uuid16_create(&svclass, SERIAL_PORT_SVCLASS_ID); - srch = sdp_list_append(NULL, &svclass); - - attr = SDP_ATTR_PROTO_DESC_LIST; - attrs = sdp_list_append(NULL, &attr); - - err = sdp_service_search_attr_req(sdp, srch, SDP_ATTR_REQ_INDIVIDUAL, attrs, &rsp); - if (err) - return -1; - - for (; rsp; rsp = rsp->next) { - sdp_record_t *rec = (sdp_record_t *) rsp->data; - sdp_list_t *protos; - - if (!sdp_get_access_protos(rec, &protos)) { - uint8_t ch = sdp_get_proto_port(protos, RFCOMM_UUID); - if (ch > 0) { - *channel = ch; - return 0; - } - } - } - - return -1; -} diff --git a/GRIB_BLE_HUB/libs/ble_extend/profiles/cups/spp.c b/GRIB_BLE_HUB/libs/ble_extend/profiles/cups/spp.c deleted file mode 100644 index d906ed2..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/profiles/cups/spp.c +++ /dev/null @@ -1,118 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2003-2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include -#include -#include -#include - -#include -#include -#include -#include - -#include "cups.h" - -int spp_print(bdaddr_t *src, bdaddr_t *dst, uint8_t channel, int fd, int copies, const char *cups_class) -{ - struct sockaddr_rc addr; - unsigned char buf[2048]; - int i, sk, err, len; - - if ((sk = socket(PF_BLUETOOTH, SOCK_STREAM, BTPROTO_RFCOMM)) < 0) { - perror("ERROR: Can't create socket"); - if (cups_class) - return CUPS_BACKEND_FAILED; - else - return CUPS_BACKEND_RETRY; - } - - addr.rc_family = AF_BLUETOOTH; - bacpy(&addr.rc_bdaddr, src); - addr.rc_channel = 0; - - if (bind(sk, (struct sockaddr *) &addr, sizeof(addr)) < 0) { - perror("ERROR: Can't bind socket"); - close(sk); - if (cups_class) - return CUPS_BACKEND_FAILED; - else - return CUPS_BACKEND_RETRY; - } - - addr.rc_family = AF_BLUETOOTH; - bacpy(&addr.rc_bdaddr, dst); - addr.rc_channel = channel; - - if (connect(sk, (struct sockaddr *) &addr, sizeof(addr)) < 0) { - perror("ERROR: Can't connect to device"); - close(sk); - if (cups_class) - return CUPS_BACKEND_FAILED; - else - return CUPS_BACKEND_RETRY; - } - - fputs("STATE: -connecting-to-device\n", stderr); - - /* Ignore SIGTERM signals if printing from stdin */ - if (fd == 0) { -#ifdef HAVE_SIGSET - sigset(SIGTERM, SIG_IGN); -#elif defined(HAVE_SIGACTION) - memset(&action, 0, sizeof(action)); - sigemptyset(&action.sa_mask); - action.sa_handler = SIG_IGN; - sigaction(SIGTERM, &action, NULL); -#else - signal(SIGTERM, SIG_IGN); -#endif /* HAVE_SIGSET */ - } - - for (i = 0; i < copies; i++) { - - if (fd != 0) { - fprintf(stderr, "PAGE: 1 1\n"); - lseek(fd, 0, SEEK_SET); - } - - while ((len = read(fd, buf, sizeof(buf))) > 0) { - err = write(sk, buf, len); - if (err < 0) { - perror("ERROR: Error writing to device"); - close(sk); - return CUPS_BACKEND_FAILED; - } - } - - } - - close(sk); - - return CUPS_BACKEND_OK; -} diff --git a/GRIB_BLE_HUB/libs/ble_extend/profiles/cyclingspeed/.deps/bluetoothd-cyclingspeed.Po b/GRIB_BLE_HUB/libs/ble_extend/profiles/cyclingspeed/.deps/bluetoothd-cyclingspeed.Po deleted file mode 100644 index 9ce06a8..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/profiles/cyclingspeed/.deps/bluetoothd-cyclingspeed.Po +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/GRIB_BLE_HUB/libs/ble_extend/profiles/cyclingspeed/cyclingspeed.c b/GRIB_BLE_HUB/libs/ble_extend/profiles/cyclingspeed/cyclingspeed.c deleted file mode 100644 index 125007e..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/profiles/cyclingspeed/cyclingspeed.c +++ /dev/null @@ -1,1280 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2012 Tieto Poland - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include -#include -#include - -#include "lib/uuid.h" -#include "plugin.h" -#include "adapter.h" -#include "device.h" -#include "profile.h" -#include "dbus-common.h" -#include "error.h" -#include "attrib/gattrib.h" -#include "attrib/att.h" -#include "attrib/gatt.h" -#include "attio.h" -#include "log.h" - -/* min length for ATT indication or notification: opcode (1b) + handle (2b) */ -#define ATT_HDR_LEN 3 - -#define ATT_TIMEOUT 30 - -#define CYCLINGSPEED_INTERFACE "org.bluez.CyclingSpeed1" -#define CYCLINGSPEED_MANAGER_INTERFACE "org.bluez.CyclingSpeedManager1" -#define CYCLINGSPEED_WATCHER_INTERFACE "org.bluez.CyclingSpeedWatcher1" - -#define WHEEL_REV_SUPPORT 0x01 -#define CRANK_REV_SUPPORT 0x02 -#define MULTI_SENSOR_LOC_SUPPORT 0x04 - -#define WHEEL_REV_PRESENT 0x01 -#define CRANK_REV_PRESENT 0x02 - -#define SET_CUMULATIVE_VALUE 0x01 -#define START_SENSOR_CALIBRATION 0x02 -#define UPDATE_SENSOR_LOC 0x03 -#define REQUEST_SUPPORTED_SENSOR_LOC 0x04 -#define RESPONSE_CODE 0x10 - -#define RSP_SUCCESS 0x01 -#define RSP_NOT_SUPPORTED 0x02 -#define RSP_INVALID_PARAM 0x03 -#define RSP_FAILED 0x04 - -struct csc; - -struct controlpoint_req { - struct csc *csc; - uint8_t opcode; - guint timeout; - GDBusPendingReply reply_id; - DBusMessage *msg; - - uint8_t pending_location; -}; - -struct csc_adapter { - struct btd_adapter *adapter; - GSList *devices; /* list of registered devices */ - GSList *watchers; -}; - -struct csc { - struct btd_device *dev; - struct csc_adapter *cadapter; - - GAttrib *attrib; - guint attioid; - /* attio id for measurement characteristics value notifications */ - guint attio_measurement_id; - /* attio id for SC Control Point characteristics value indications */ - guint attio_controlpoint_id; - - struct att_range *svc_range; - - uint16_t measurement_ccc_handle; - uint16_t controlpoint_val_handle; - - uint16_t feature; - gboolean has_location; - uint8_t location; - uint8_t num_locations; - uint8_t *locations; - - struct controlpoint_req *pending_req; -}; - -struct watcher { - struct csc_adapter *cadapter; - guint id; - char *srv; - char *path; -}; - -struct measurement { - struct csc *csc; - - bool has_wheel_rev; - uint32_t wheel_rev; - uint16_t last_wheel_time; - - bool has_crank_rev; - uint16_t crank_rev; - uint16_t last_crank_time; -}; - -struct characteristic { - struct csc *csc; - char uuid[MAX_LEN_UUID_STR + 1]; -}; - -static GSList *csc_adapters = NULL; - -static const char * const location_enum[] = { - "other", "top-of-shoe", "in-shoe", "hip", "front-wheel", "left-crank", - "right-crank", "left-pedal", "right-pedal", "front-hub", - "rear-dropout", "chainstay", "rear-wheel", "rear-hub" -}; - -static const char *location2str(uint8_t value) -{ - if (value < G_N_ELEMENTS(location_enum)) - return location_enum[value]; - - info("Body Sensor Location [%d] is RFU", value); - - return location_enum[0]; -} - -static int str2location(const char *location) -{ - size_t i; - - for (i = 0; i < G_N_ELEMENTS(location_enum); i++) - if (!strcmp(location_enum[i], location)) - return i; - - return -1; -} - -static gint cmp_adapter(gconstpointer a, gconstpointer b) -{ - const struct csc_adapter *cadapter = a; - const struct btd_adapter *adapter = b; - - if (adapter == cadapter->adapter) - return 0; - - return -1; -} - -static gint cmp_device(gconstpointer a, gconstpointer b) -{ - const struct csc *csc = a; - const struct btd_device *dev = b; - - if (dev == csc->dev) - return 0; - - return -1; -} - -static gint cmp_watcher(gconstpointer a, gconstpointer b) -{ - const struct watcher *watcher = a; - const struct watcher *match = b; - int ret; - - ret = g_strcmp0(watcher->srv, match->srv); - if (ret != 0) - return ret; - - return g_strcmp0(watcher->path, match->path); -} - -static struct csc_adapter *find_csc_adapter(struct btd_adapter *adapter) -{ - GSList *l = g_slist_find_custom(csc_adapters, adapter, cmp_adapter); - - if (!l) - return NULL; - - return l->data; -} - -static void destroy_watcher(gpointer user_data) -{ - struct watcher *watcher = user_data; - - g_free(watcher->path); - g_free(watcher->srv); - g_free(watcher); -} - -static struct watcher *find_watcher(GSList *list, const char *sender, - const char *path) -{ - struct watcher *match; - GSList *l; - - match = g_new0(struct watcher, 1); - match->srv = g_strdup(sender); - match->path = g_strdup(path); - - l = g_slist_find_custom(list, match, cmp_watcher); - destroy_watcher(match); - - if (l != NULL) - return l->data; - - return NULL; -} - -static void remove_watcher(gpointer user_data) -{ - struct watcher *watcher = user_data; - - g_dbus_remove_watch(btd_get_dbus_connection(), watcher->id); -} - -static void destroy_csc_adapter(gpointer user_data) -{ - struct csc_adapter *cadapter = user_data; - - g_slist_free_full(cadapter->watchers, remove_watcher); - - g_free(cadapter); -} - -static void destroy_csc(gpointer user_data) -{ - struct csc *csc = user_data; - - if (csc->attioid > 0) - btd_device_remove_attio_callback(csc->dev, csc->attioid); - - if (csc->attrib != NULL) { - g_attrib_unregister(csc->attrib, csc->attio_measurement_id); - g_attrib_unregister(csc->attrib, csc->attio_controlpoint_id); - g_attrib_unref(csc->attrib); - } - - btd_device_unref(csc->dev); - g_free(csc->svc_range); - g_free(csc->locations); - g_free(csc); -} - -static void char_write_cb(guint8 status, const guint8 *pdu, guint16 len, - gpointer user_data) -{ - char *msg = user_data; - - if (status != 0) - error("%s failed", msg); - - g_free(msg); -} - -static gboolean controlpoint_timeout(gpointer user_data) -{ - struct controlpoint_req *req = user_data; - - if (req->opcode == UPDATE_SENSOR_LOC) { - g_dbus_pending_property_error(req->reply_id, - ERROR_INTERFACE ".Failed", - "Operation failed (timeout)"); - } else if (req->opcode == SET_CUMULATIVE_VALUE) { - DBusMessage *reply; - - reply = btd_error_failed(req->msg, - "Operation failed (timeout)"); - - g_dbus_send_message(btd_get_dbus_connection(), reply); - - dbus_message_unref(req->msg); - } - - req->csc->pending_req = NULL; - g_free(req); - - return FALSE; -} - -static void controlpoint_write_cb(guint8 status, const guint8 *pdu, guint16 len, - gpointer user_data) -{ - struct controlpoint_req *req = user_data; - - if (status == 0) { - req->timeout = g_timeout_add_seconds(ATT_TIMEOUT, - controlpoint_timeout, - req); - return; - } - - error("SC Control Point write failed (opcode=%d)", req->opcode); - - if (req->opcode == UPDATE_SENSOR_LOC) { - g_dbus_pending_property_error(req->reply_id, - ERROR_INTERFACE ".Failed", - "Operation failed (%d)", status); - } else if (req->opcode == SET_CUMULATIVE_VALUE) { - DBusMessage *reply; - - reply = btd_error_failed(req->msg, "Operation failed"); - - g_dbus_send_message(btd_get_dbus_connection(), reply); - - dbus_message_unref(req->msg); - } - - req->csc->pending_req = NULL; - g_free(req); -} - -static void read_supported_locations(struct csc *csc) -{ - struct controlpoint_req *req; - - req = g_new0(struct controlpoint_req, 1); - req->csc = csc; - req->opcode = REQUEST_SUPPORTED_SENSOR_LOC; - - csc->pending_req = req; - - gatt_write_char(csc->attrib, csc->controlpoint_val_handle, - &req->opcode, sizeof(req->opcode), - controlpoint_write_cb, req); -} - -static void read_feature_cb(guint8 status, const guint8 *pdu, guint16 len, - gpointer user_data) -{ - struct csc *csc = user_data; - uint8_t value[2]; - ssize_t vlen; - - if (status) { - error("CSC Feature read failed: %s", att_ecode2str(status)); - return; - } - - vlen = dec_read_resp(pdu, len, value, sizeof(value)); - if (vlen < 0) { - error("Protocol error"); - return; - } - - if (vlen != sizeof(value)) { - error("Invalid value length for CSC Feature"); - return; - } - - csc->feature = att_get_u16(value); - - if ((csc->feature & MULTI_SENSOR_LOC_SUPPORT) - && (csc->locations == NULL)) - read_supported_locations(csc); -} - -static void read_location_cb(guint8 status, const guint8 *pdu, - guint16 len, gpointer user_data) -{ - struct csc *csc = user_data; - uint8_t value; - ssize_t vlen; - - if (status) { - error("Sensor Location read failed: %s", att_ecode2str(status)); - return; - } - - vlen = dec_read_resp(pdu, len, &value, sizeof(value)); - if (vlen < 0) { - error("Protocol error"); - return; - } - - if (vlen != sizeof(value)) { - error("Invalid value length for Sensor Location"); - return; - } - - csc->has_location = TRUE; - csc->location = value; - - g_dbus_emit_property_changed(btd_get_dbus_connection(), - device_get_path(csc->dev), - CYCLINGSPEED_INTERFACE, "Location"); -} - -static void discover_desc_cb(guint8 status, const guint8 *pdu, - guint16 len, gpointer user_data) -{ - struct characteristic *ch = user_data; - struct att_data_list *list = NULL; - uint8_t format; - int i; - - if (status != 0) { - error("Discover %s descriptors failed: %s", ch->uuid, - att_ecode2str(status)); - goto done; - } - - list = dec_find_info_resp(pdu, len, &format); - if (list == NULL) - goto done; - - if (format != ATT_FIND_INFO_RESP_FMT_16BIT) - goto done; - - for (i = 0; i < list->num; i++) { - uint8_t *value; - uint16_t handle, uuid; - uint8_t attr_val[2]; - char *msg; - - value = list->data[i]; - handle = att_get_u16(value); - uuid = att_get_u16(value + 2); - - if (uuid != GATT_CLIENT_CHARAC_CFG_UUID) - continue; - - if (g_strcmp0(ch->uuid, CSC_MEASUREMENT_UUID) == 0) { - ch->csc->measurement_ccc_handle = handle; - - if (g_slist_length(ch->csc->cadapter->watchers) == 0) { - att_put_u16(0x0000, attr_val); - msg = g_strdup("Disable measurement"); - } else { - att_put_u16(GATT_CLIENT_CHARAC_CFG_NOTIF_BIT, - attr_val); - msg = g_strdup("Enable measurement"); - } - - } else if (g_strcmp0(ch->uuid, SC_CONTROL_POINT_UUID) == 0) { - att_put_u16(GATT_CLIENT_CHARAC_CFG_IND_BIT, attr_val); - msg = g_strdup("Enable SC Control Point indications"); - } else { - break; - } - - gatt_write_char(ch->csc->attrib, handle, attr_val, - sizeof(attr_val), char_write_cb, msg); - - /* We only want CCC, can break here */ - break; - } - -done: - if (list) - att_data_list_free(list); - g_free(ch); -} - -static void discover_desc(struct csc *csc, struct gatt_char *c, - struct gatt_char *c_next) -{ - struct characteristic *ch; - uint16_t start, end; - - start = c->value_handle + 1; - - if (c_next != NULL) { - if (start == c_next->handle) - return; - end = c_next->handle - 1; - } else if (c->value_handle != csc->svc_range->end) { - end = csc->svc_range->end; - } else { - return; - } - - ch = g_new0(struct characteristic, 1); - ch->csc = csc; - memcpy(ch->uuid, c->uuid, sizeof(c->uuid)); - - gatt_find_info(csc->attrib, start, end, discover_desc_cb, ch); -} - -static void update_watcher(gpointer data, gpointer user_data) -{ - struct watcher *w = data; - struct measurement *m = user_data; - struct csc *csc = m->csc; - const char *path = device_get_path(csc->dev); - DBusMessageIter iter; - DBusMessageIter dict; - DBusMessage *msg; - - msg = dbus_message_new_method_call(w->srv, w->path, - CYCLINGSPEED_WATCHER_INTERFACE, "MeasurementReceived"); - if (msg == NULL) - return; - - dbus_message_iter_init_append(msg, &iter); - - dbus_message_iter_append_basic(&iter, DBUS_TYPE_OBJECT_PATH , &path); - - dbus_message_iter_open_container(&iter, DBUS_TYPE_ARRAY, - DBUS_DICT_ENTRY_BEGIN_CHAR_AS_STRING - DBUS_TYPE_STRING_AS_STRING DBUS_TYPE_VARIANT_AS_STRING - DBUS_DICT_ENTRY_END_CHAR_AS_STRING, &dict); - - if (m->has_wheel_rev) { - dict_append_entry(&dict, "WheelRevolutions", - DBUS_TYPE_UINT32, &m->wheel_rev); - dict_append_entry(&dict, "LastWheelEventTime", - DBUS_TYPE_UINT16, &m->last_wheel_time); - } - - if (m->has_crank_rev) { - dict_append_entry(&dict, "CrankRevolutions", - DBUS_TYPE_UINT16, &m->crank_rev); - dict_append_entry(&dict, "LastCrankEventTime", - DBUS_TYPE_UINT16, &m->last_crank_time); - } - - dbus_message_iter_close_container(&iter, &dict); - - dbus_message_set_no_reply(msg, TRUE); - g_dbus_send_message(btd_get_dbus_connection(), msg); -} - -static void process_measurement(struct csc *csc, const uint8_t *pdu, - uint16_t len) -{ - struct measurement m; - uint8_t flags; - - flags = *pdu; - - pdu++; - len--; - - memset(&m, 0, sizeof(m)); - - if ((flags & WHEEL_REV_PRESENT) && (csc->feature & WHEEL_REV_SUPPORT)) { - if (len < 6) { - error("Wheel revolutions data fields missing"); - return; - } - - m.has_wheel_rev = true; - m.wheel_rev = att_get_u32(pdu); - m.last_wheel_time = att_get_u16(pdu + 4); - pdu += 6; - len -= 6; - } - - if ((flags & CRANK_REV_PRESENT) && (csc->feature & CRANK_REV_SUPPORT)) { - if (len < 4) { - error("Crank revolutions data fields missing"); - return; - } - - m.has_crank_rev = true; - m.crank_rev = att_get_u16(pdu); - m.last_crank_time = att_get_u16(pdu + 2); - pdu += 4; - len -= 4; - } - - /* Notify all registered watchers */ - m.csc = csc; - g_slist_foreach(csc->cadapter->watchers, update_watcher, &m); -} - -static void measurement_notify_handler(const uint8_t *pdu, uint16_t len, - gpointer user_data) -{ - struct csc *csc = user_data; - - /* should be at least opcode (1b) + handle (2b) */ - if (len < 3) { - error("Invalid PDU received"); - return; - } - - process_measurement(csc, pdu + 3, len - 3); -} - -static void controlpoint_property_reply(struct controlpoint_req *req, - uint8_t code) -{ - switch (code) { - case RSP_SUCCESS: - g_dbus_pending_property_success(req->reply_id); - break; - - case RSP_NOT_SUPPORTED: - g_dbus_pending_property_error(req->reply_id, - ERROR_INTERFACE ".NotSupported", - "Feature is not supported"); - break; - - case RSP_INVALID_PARAM: - g_dbus_pending_property_error(req->reply_id, - ERROR_INTERFACE ".InvalidArguments", - "Invalid arguments in method call"); - break; - - case RSP_FAILED: - g_dbus_pending_property_error(req->reply_id, - ERROR_INTERFACE ".Failed", - "Operation failed"); - break; - - default: - g_dbus_pending_property_error(req->reply_id, - ERROR_INTERFACE ".Failed", - "Operation failed (%d)", code); - break; - } -} - -static void controlpoint_method_reply(struct controlpoint_req *req, - uint8_t code) -{ - DBusMessage *reply; - - switch (code) { - case RSP_SUCCESS: - reply = dbus_message_new_method_return(req->msg); - break; - case RSP_NOT_SUPPORTED: - reply = btd_error_not_supported(req->msg); - break; - case RSP_INVALID_PARAM: - reply = btd_error_invalid_args(req->msg); - break; - case RSP_FAILED: - reply = btd_error_failed(req->msg, "Failed"); - break; - default: - reply = btd_error_failed(req->msg, "Unknown error"); - break; - } - - g_dbus_send_message(btd_get_dbus_connection(), reply); - - dbus_message_unref(req->msg); -} - -static void controlpoint_ind_handler(const uint8_t *pdu, uint16_t len, - gpointer user_data) -{ - struct csc *csc = user_data; - struct controlpoint_req *req = csc->pending_req; - uint8_t opcode; - uint8_t req_opcode; - uint8_t rsp_code; - uint8_t *opdu; - uint16_t olen; - size_t plen; - - if (len < ATT_HDR_LEN) { - error("Invalid PDU received"); - return; - } - - /* skip ATT header */ - pdu += ATT_HDR_LEN; - len -= ATT_HDR_LEN; - - if (len < 1) { - error("Op Code missing"); - goto done; - } - - opcode = *pdu; - pdu++; - len--; - - if (opcode != RESPONSE_CODE) { - DBG("Unsupported Op Code received (%d)", opcode); - goto done; - } - - if (len < 2) { - error("Invalid Response Code PDU received"); - goto done; - } - - req_opcode = *pdu; - rsp_code = *(pdu + 1); - pdu += 2; - len -= 2; - - if (req == NULL || req->opcode != req_opcode) { - DBG("Indication received without pending request"); - goto done; - } - - switch (req->opcode) { - case SET_CUMULATIVE_VALUE: - controlpoint_method_reply(req, rsp_code); - break; - - case REQUEST_SUPPORTED_SENSOR_LOC: - if (rsp_code == RSP_SUCCESS) { - csc->num_locations = len; - csc->locations = g_memdup(pdu, len); - } else { - error("Failed to read Supported Sendor Locations"); - } - break; - - case UPDATE_SENSOR_LOC: - csc->location = req->pending_location; - - controlpoint_property_reply(req, rsp_code); - - g_dbus_emit_property_changed(btd_get_dbus_connection(), - device_get_path(csc->dev), - CYCLINGSPEED_INTERFACE, "Location"); - break; - } - - csc->pending_req = NULL; - g_source_remove(req->timeout); - g_free(req); - -done: - opdu = g_attrib_get_buffer(csc->attrib, &plen); - olen = enc_confirmation(opdu, plen); - if (olen > 0) - g_attrib_send(csc->attrib, 0, opdu, olen, NULL, NULL, NULL); -} - -static void discover_char_cb(GSList *chars, guint8 status, gpointer user_data) -{ - struct csc *csc = user_data; - uint16_t feature_val_handle = 0; - - if (status) { - error("Discover CSCS characteristics: %s", - att_ecode2str(status)); - return; - } - - for (; chars; chars = chars->next) { - struct gatt_char *c = chars->data; - struct gatt_char *c_next = - (chars->next ? chars->next->data : NULL); - - if (g_strcmp0(c->uuid, CSC_MEASUREMENT_UUID) == 0) { - csc->attio_measurement_id = - g_attrib_register(csc->attrib, - ATT_OP_HANDLE_NOTIFY, c->value_handle, - measurement_notify_handler, csc, NULL); - - discover_desc(csc, c, c_next); - } else if (g_strcmp0(c->uuid, CSC_FEATURE_UUID) == 0) { - feature_val_handle = c->value_handle; - } else if (g_strcmp0(c->uuid, SENSOR_LOCATION_UUID) == 0) { - DBG("Sensor Location supported"); - gatt_read_char(csc->attrib, c->value_handle, - read_location_cb, csc); - } else if (g_strcmp0(c->uuid, SC_CONTROL_POINT_UUID) == 0) { - DBG("SC Control Point supported"); - csc->controlpoint_val_handle = c->value_handle; - - csc->attio_controlpoint_id = g_attrib_register( - csc->attrib, ATT_OP_HANDLE_IND, - c->value_handle, - controlpoint_ind_handler, csc, NULL); - - discover_desc(csc, c, c_next); - } - } - - if (feature_val_handle > 0) - gatt_read_char(csc->attrib, feature_val_handle, - read_feature_cb, csc); -} - -static void enable_measurement(gpointer data, gpointer user_data) -{ - struct csc *csc = data; - uint16_t handle = csc->measurement_ccc_handle; - uint8_t value[2]; - char *msg; - - if (csc->attrib == NULL || !handle) - return; - - att_put_u16(GATT_CLIENT_CHARAC_CFG_NOTIF_BIT, value); - msg = g_strdup("Enable measurement"); - - gatt_write_char(csc->attrib, handle, value, sizeof(value), - char_write_cb, msg); -} - -static void disable_measurement(gpointer data, gpointer user_data) -{ - struct csc *csc = data; - uint16_t handle = csc->measurement_ccc_handle; - uint8_t value[2]; - char *msg; - - if (csc->attrib == NULL || !handle) - return; - - att_put_u16(0x0000, value); - msg = g_strdup("Disable measurement"); - - gatt_write_char(csc->attrib, handle, value, sizeof(value), - char_write_cb, msg); -} - -static void attio_connected_cb(GAttrib *attrib, gpointer user_data) -{ - struct csc *csc = user_data; - - DBG(""); - - csc->attrib = g_attrib_ref(attrib); - - gatt_discover_char(csc->attrib, csc->svc_range->start, - csc->svc_range->end, NULL, - discover_char_cb, csc); -} - -static void attio_disconnected_cb(gpointer user_data) -{ - struct csc *csc = user_data; - - DBG(""); - - if (csc->attio_measurement_id > 0) { - g_attrib_unregister(csc->attrib, csc->attio_measurement_id); - csc->attio_measurement_id = 0; - } - - if (csc->attio_controlpoint_id > 0) { - g_attrib_unregister(csc->attrib, csc->attio_controlpoint_id); - csc->attio_controlpoint_id = 0; - } - - g_attrib_unref(csc->attrib); - csc->attrib = NULL; -} - -static void watcher_exit_cb(DBusConnection *conn, void *user_data) -{ - struct watcher *watcher = user_data; - struct csc_adapter *cadapter = watcher->cadapter; - - DBG("cycling watcher [%s] disconnected", watcher->path); - - cadapter->watchers = g_slist_remove(cadapter->watchers, watcher); - g_dbus_remove_watch(conn, watcher->id); - - if (g_slist_length(cadapter->watchers) == 0) - g_slist_foreach(cadapter->devices, disable_measurement, 0); -} - -static DBusMessage *register_watcher(DBusConnection *conn, DBusMessage *msg, - void *data) -{ - struct csc_adapter *cadapter = data; - struct watcher *watcher; - const char *sender = dbus_message_get_sender(msg); - char *path; - - if (!dbus_message_get_args(msg, NULL, DBUS_TYPE_OBJECT_PATH, &path, - DBUS_TYPE_INVALID)) - return btd_error_invalid_args(msg); - - watcher = find_watcher(cadapter->watchers, sender, path); - if (watcher != NULL) - return btd_error_already_exists(msg); - - watcher = g_new0(struct watcher, 1); - watcher->cadapter = cadapter; - watcher->id = g_dbus_add_disconnect_watch(conn, sender, watcher_exit_cb, - watcher, destroy_watcher); - watcher->srv = g_strdup(sender); - watcher->path = g_strdup(path); - - if (g_slist_length(cadapter->watchers) == 0) - g_slist_foreach(cadapter->devices, enable_measurement, 0); - - cadapter->watchers = g_slist_prepend(cadapter->watchers, watcher); - - DBG("cycling watcher [%s] registered", path); - - return dbus_message_new_method_return(msg); -} - -static DBusMessage *unregister_watcher(DBusConnection *conn, DBusMessage *msg, - void *data) -{ - struct csc_adapter *cadapter = data; - struct watcher *watcher; - const char *sender = dbus_message_get_sender(msg); - char *path; - - if (!dbus_message_get_args(msg, NULL, DBUS_TYPE_OBJECT_PATH, &path, - DBUS_TYPE_INVALID)) - return btd_error_invalid_args(msg); - - watcher = find_watcher(cadapter->watchers, sender, path); - if (watcher == NULL) - return btd_error_does_not_exist(msg); - - cadapter->watchers = g_slist_remove(cadapter->watchers, watcher); - g_dbus_remove_watch(conn, watcher->id); - - if (g_slist_length(cadapter->watchers) == 0) - g_slist_foreach(cadapter->devices, disable_measurement, 0); - - DBG("cycling watcher [%s] unregistered", path); - - return dbus_message_new_method_return(msg); -} - -static const GDBusMethodTable cyclingspeed_manager_methods[] = { - { GDBUS_METHOD("RegisterWatcher", - GDBUS_ARGS({ "agent", "o" }), NULL, - register_watcher) }, - { GDBUS_METHOD("UnregisterWatcher", - GDBUS_ARGS({ "agent", "o" }), NULL, - unregister_watcher) }, - { } -}; - -static int csc_adapter_probe(struct btd_profile *p, struct btd_adapter *adapter) -{ - struct csc_adapter *cadapter; - - cadapter = g_new0(struct csc_adapter, 1); - cadapter->adapter = adapter; - - csc_adapters = g_slist_prepend(csc_adapters, cadapter); - - if (!g_dbus_register_interface(btd_get_dbus_connection(), - adapter_get_path(adapter), - CYCLINGSPEED_MANAGER_INTERFACE, - cyclingspeed_manager_methods, - NULL, NULL, cadapter, - destroy_csc_adapter)) { - error("D-Bus failed to register %s interface", - CYCLINGSPEED_MANAGER_INTERFACE); - destroy_csc_adapter(cadapter); - return -EIO; - } - - return 0; -} - -static void csc_adapter_remove(struct btd_profile *p, - struct btd_adapter *adapter) -{ - struct csc_adapter *cadapter; - - cadapter = find_csc_adapter(adapter); - if (cadapter == NULL) - return; - - csc_adapters = g_slist_remove(csc_adapters, cadapter); - - g_dbus_unregister_interface(btd_get_dbus_connection(), - adapter_get_path(cadapter->adapter), - CYCLINGSPEED_MANAGER_INTERFACE); -} - -static gboolean property_get_location(const GDBusPropertyTable *property, - DBusMessageIter *iter, void *data) -{ - struct csc *csc = data; - const char *loc; - - if (!csc->has_location) - return FALSE; - - loc = location2str(csc->location); - - dbus_message_iter_append_basic(iter, DBUS_TYPE_STRING, &loc); - - return TRUE; -} - -static void property_set_location(const GDBusPropertyTable *property, - DBusMessageIter *iter, - GDBusPendingPropertySet id, void *data) -{ - struct csc *csc = data; - char *loc; - int loc_val; - uint8_t att_val[2]; - struct controlpoint_req *req; - - if (csc->pending_req != NULL) { - g_dbus_pending_property_error(id, - ERROR_INTERFACE ".InProgress", - "Operation already in progress"); - return; - } - - if (!(csc->feature & MULTI_SENSOR_LOC_SUPPORT)) { - g_dbus_pending_property_error(id, - ERROR_INTERFACE ".NotSupported", - "Feature is not supported"); - return; - } - - if (dbus_message_iter_get_arg_type(iter) != DBUS_TYPE_STRING) { - g_dbus_pending_property_error(id, - ERROR_INTERFACE ".InvalidArguments", - "Invalid arguments in method call"); - return; - } - - dbus_message_iter_get_basic(iter, &loc); - - loc_val = str2location(loc); - - if (loc_val < 0) { - g_dbus_pending_property_error(id, - ERROR_INTERFACE ".InvalidArguments", - "Invalid arguments in method call"); - return; - } - - req = g_new(struct controlpoint_req, 1); - req->csc = csc; - req->reply_id = id; - req->opcode = UPDATE_SENSOR_LOC; - req->pending_location = loc_val; - - csc->pending_req = req; - - att_val[0] = UPDATE_SENSOR_LOC; - att_val[1] = loc_val; - - gatt_write_char(csc->attrib, csc->controlpoint_val_handle, att_val, - sizeof(att_val), controlpoint_write_cb, req); -} - -static gboolean property_exists_location(const GDBusPropertyTable *property, - void *data) -{ - struct csc *csc = data; - - return csc->has_location; -} - -static gboolean property_get_locations(const GDBusPropertyTable *property, - DBusMessageIter *iter, void *data) -{ - struct csc *csc = data; - DBusMessageIter entry; - int i; - - if (!(csc->feature & MULTI_SENSOR_LOC_SUPPORT)) - return FALSE; - - dbus_message_iter_open_container(iter, DBUS_TYPE_ARRAY, - DBUS_TYPE_STRING_AS_STRING, &entry); - for (i = 0; i < csc->num_locations; i++) { - char *loc = g_strdup(location2str(csc->locations[i])); - dbus_message_iter_append_basic(&entry, DBUS_TYPE_STRING, &loc); - g_free(loc); - } - - dbus_message_iter_close_container(iter, &entry); - - return TRUE; -} - -static gboolean property_exists_locations(const GDBusPropertyTable *property, - void *data) -{ - struct csc *csc = data; - - return !!(csc->feature & MULTI_SENSOR_LOC_SUPPORT); -} - -static gboolean property_get_wheel_rev_sup(const GDBusPropertyTable *property, - DBusMessageIter *iter, void *data) -{ - struct csc *csc = data; - dbus_bool_t val; - - val = !!(csc->feature & WHEEL_REV_SUPPORT); - dbus_message_iter_append_basic(iter, DBUS_TYPE_BOOLEAN, &val); - - return TRUE; -} - -static gboolean property_get_multi_loc_sup(const GDBusPropertyTable *property, - DBusMessageIter *iter, void *data) -{ - struct csc *csc = data; - dbus_bool_t val; - - val = !!(csc->feature & MULTI_SENSOR_LOC_SUPPORT); - dbus_message_iter_append_basic(iter, DBUS_TYPE_BOOLEAN, &val); - - return TRUE; -} - -static const GDBusPropertyTable cyclingspeed_device_properties[] = { - { "Location", "s", property_get_location, property_set_location, - property_exists_location }, - { "SupportedLocations", "as", property_get_locations, NULL, - property_exists_locations }, - { "WheelRevolutionDataSupported", "b", property_get_wheel_rev_sup }, - { "MultipleLocationsSupported", "b", property_get_multi_loc_sup }, - { } -}; - -static DBusMessage *set_cumulative_wheel_rev(DBusConnection *conn, - DBusMessage *msg, void *data) -{ - struct csc *csc = data; - dbus_uint32_t value; - struct controlpoint_req *req; - uint8_t att_val[5]; /* uint8 opcode + uint32 value */ - - if (!dbus_message_get_args(msg, NULL, DBUS_TYPE_UINT32, &value, - DBUS_TYPE_INVALID)) - return btd_error_invalid_args(msg); - - if (csc->pending_req != NULL) - return btd_error_in_progress(msg); - - req = g_new(struct controlpoint_req, 1); - req->csc = csc; - req->opcode = SET_CUMULATIVE_VALUE; - req->msg = dbus_message_ref(msg); - - csc->pending_req = req; - - att_val[0] = SET_CUMULATIVE_VALUE; - att_put_u32(value, att_val + 1); - - gatt_write_char(csc->attrib, csc->controlpoint_val_handle, att_val, - sizeof(att_val), controlpoint_write_cb, req); - - return NULL; -} - -static const GDBusMethodTable cyclingspeed_device_methods[] = { - { GDBUS_ASYNC_METHOD("SetCumulativeWheelRevolutions", - GDBUS_ARGS({ "value", "u" }), NULL, - set_cumulative_wheel_rev) }, - { } -}; - -static int csc_device_probe(struct btd_profile *p, - struct btd_device *device, GSList *uuids) -{ - struct btd_adapter *adapter; - struct csc_adapter *cadapter; - struct csc *csc; - struct gatt_primary *prim; - - prim = btd_device_get_primary(device, CYCLING_SC_UUID); - if (prim == NULL) - return -EINVAL; - - adapter = device_get_adapter(device); - - cadapter = find_csc_adapter(adapter); - if (cadapter == NULL) - return -1; - - csc = g_new0(struct csc, 1); - csc->dev = btd_device_ref(device); - csc->cadapter = cadapter; - - if (!g_dbus_register_interface(btd_get_dbus_connection(), - device_get_path(device), - CYCLINGSPEED_INTERFACE, - cyclingspeed_device_methods, - NULL, - cyclingspeed_device_properties, - csc, destroy_csc)) { - error("D-Bus failed to register %s interface", - CYCLINGSPEED_INTERFACE); - destroy_csc(csc); - return -EIO; - } - - csc->svc_range = g_new0(struct att_range, 1); - csc->svc_range->start = prim->range.start; - csc->svc_range->end = prim->range.end; - - cadapter->devices = g_slist_prepend(cadapter->devices, csc); - - csc->attioid = btd_device_add_attio_callback(device, attio_connected_cb, - attio_disconnected_cb, csc); - - return 0; -} - -static void csc_device_remove(struct btd_profile *p, - struct btd_device *device) -{ - struct btd_adapter *adapter; - struct csc_adapter *cadapter; - struct csc *csc; - GSList *l; - - adapter = device_get_adapter(device); - - cadapter = find_csc_adapter(adapter); - if (cadapter == NULL) - return; - - l = g_slist_find_custom(cadapter->devices, device, cmp_device); - if (l == NULL) - return; - - csc = l->data; - - cadapter->devices = g_slist_remove(cadapter->devices, csc); - - g_dbus_unregister_interface(btd_get_dbus_connection(), - device_get_path(device), - CYCLINGSPEED_INTERFACE); -} - -static struct btd_profile cscp_profile = { - .name = "Cycling Speed and Cadence GATT Driver", - .remote_uuid = CYCLING_SC_UUID, - - .adapter_probe = csc_adapter_probe, - .adapter_remove = csc_adapter_remove, - - .device_probe = csc_device_probe, - .device_remove = csc_device_remove, -}; - -static int cyclingspeed_init(void) -{ - return btd_profile_register(&cscp_profile); -} - -static void cyclingspeed_exit(void) -{ - btd_profile_unregister(&cscp_profile); -} - -BLUETOOTH_PLUGIN_DEFINE(cyclingspeed, VERSION, - BLUETOOTH_PLUGIN_PRIORITY_DEFAULT, - cyclingspeed_init, cyclingspeed_exit) diff --git a/GRIB_BLE_HUB/libs/ble_extend/profiles/deviceinfo/.deps/.dirstamp b/GRIB_BLE_HUB/libs/ble_extend/profiles/deviceinfo/.deps/.dirstamp deleted file mode 100644 index e69de29..0000000 diff --git a/GRIB_BLE_HUB/libs/ble_extend/profiles/deviceinfo/.deps/bluetoothd-deviceinfo.Po b/GRIB_BLE_HUB/libs/ble_extend/profiles/deviceinfo/.deps/bluetoothd-deviceinfo.Po deleted file mode 100644 index 13c70ae..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/profiles/deviceinfo/.deps/bluetoothd-deviceinfo.Po +++ /dev/null @@ -1,532 +0,0 @@ -profiles/deviceinfo/bluetoothd-deviceinfo.o: \ - profiles/deviceinfo/deviceinfo.c /usr/include/stdc-predef.h config.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdbool.h \ - /usr/include/errno.h /usr/include/features.h \ - /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/include/arm-linux-gnueabihf/bits/errno.h /usr/include/linux/errno.h \ - /usr/include/arm-linux-gnueabihf/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/include/glib-2.0/glib.h /usr/include/glib-2.0/glib/galloca.h \ - /usr/include/glib-2.0/glib/gtypes.h \ - /usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h \ - /usr/include/glib-2.0/glib/gmacros.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h \ - /usr/include/limits.h /usr/include/arm-linux-gnueabihf/bits/posix1_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/local_lim.h \ - /usr/include/linux/limits.h \ - /usr/include/arm-linux-gnueabihf/bits/posix2_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/xopen_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h \ - /usr/include/glib-2.0/glib/gversionmacros.h /usr/include/time.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h \ - /usr/include/arm-linux-gnueabihf/bits/timex.h /usr/include/xlocale.h \ - /usr/include/glib-2.0/glib/garray.h \ - /usr/include/glib-2.0/glib/gasyncqueue.h \ - /usr/include/glib-2.0/glib/gthread.h \ - /usr/include/glib-2.0/glib/gatomic.h /usr/include/glib-2.0/glib/gerror.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/glib-2.0/glib/gquark.h \ - /usr/include/glib-2.0/glib/gbacktrace.h /usr/include/signal.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/signum.h \ - /usr/include/arm-linux-gnueabihf/bits/siginfo.h \ - /usr/include/arm-linux-gnueabihf/bits/sigaction.h \ - /usr/include/arm-linux-gnueabihf/bits/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/asm/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigstack.h \ - /usr/include/arm-linux-gnueabihf/sys/ucontext.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/endian.h /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/arm-linux-gnueabihf/bits/sigthread.h \ - /usr/include/glib-2.0/glib/gbase64.h \ - /usr/include/glib-2.0/glib/gbitlock.h \ - /usr/include/glib-2.0/glib/gbookmarkfile.h \ - /usr/include/glib-2.0/glib/gbytes.h \ - /usr/include/glib-2.0/glib/gcharset.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/gconvert.h \ - /usr/include/glib-2.0/glib/gdataset.h /usr/include/glib-2.0/glib/gdate.h \ - /usr/include/glib-2.0/glib/gdatetime.h \ - /usr/include/glib-2.0/glib/gtimezone.h /usr/include/glib-2.0/glib/gdir.h \ - /usr/include/dirent.h /usr/include/arm-linux-gnueabihf/bits/dirent.h \ - /usr/include/glib-2.0/glib/genviron.h \ - /usr/include/glib-2.0/glib/gfileutils.h \ - /usr/include/glib-2.0/glib/ggettext.h /usr/include/glib-2.0/glib/ghash.h \ - /usr/include/glib-2.0/glib/glist.h /usr/include/glib-2.0/glib/gmem.h \ - /usr/include/glib-2.0/glib/gnode.h /usr/include/glib-2.0/glib/ghmac.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/ghook.h \ - /usr/include/glib-2.0/glib/ghostutils.h \ - /usr/include/glib-2.0/glib/giochannel.h \ - /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gpoll.h \ - /usr/include/glib-2.0/glib/gslist.h /usr/include/glib-2.0/glib/gstring.h \ - /usr/include/glib-2.0/glib/gunicode.h \ - /usr/include/glib-2.0/glib/gutils.h \ - /usr/include/glib-2.0/glib/gkeyfile.h \ - /usr/include/glib-2.0/glib/gmappedfile.h \ - /usr/include/glib-2.0/glib/gmarkup.h \ - /usr/include/glib-2.0/glib/gmessages.h \ - /usr/include/glib-2.0/glib/goption.h \ - /usr/include/glib-2.0/glib/gpattern.h \ - /usr/include/glib-2.0/glib/gprimes.h /usr/include/glib-2.0/glib/gqsort.h \ - /usr/include/glib-2.0/glib/gqueue.h /usr/include/glib-2.0/glib/grand.h \ - /usr/include/glib-2.0/glib/gregex.h \ - /usr/include/glib-2.0/glib/gscanner.h \ - /usr/include/glib-2.0/glib/gsequence.h \ - /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gslice.h \ - /usr/include/glib-2.0/glib/gspawn.h \ - /usr/include/glib-2.0/glib/gstrfuncs.h \ - /usr/include/glib-2.0/glib/gstringchunk.h \ - /usr/include/glib-2.0/glib/gtestutils.h \ - /usr/include/glib-2.0/glib/gthreadpool.h \ - /usr/include/glib-2.0/glib/gtimer.h \ - /usr/include/glib-2.0/glib/gtrashstack.h \ - /usr/include/glib-2.0/glib/gtree.h \ - /usr/include/glib-2.0/glib/gurifuncs.h \ - /usr/include/glib-2.0/glib/gvarianttype.h \ - /usr/include/glib-2.0/glib/gvariant.h \ - /usr/include/glib-2.0/glib/gversion.h \ - /usr/include/glib-2.0/glib/deprecated/gallocator.h \ - /usr/include/glib-2.0/glib/deprecated/gcache.h \ - /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ - /usr/include/glib-2.0/glib/deprecated/gmain.h \ - /usr/include/glib-2.0/glib/deprecated/grel.h \ - /usr/include/glib-2.0/glib/deprecated/gthread.h \ - /usr/include/arm-linux-gnueabihf/sys/types.h \ - /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h /usr/include/pthread.h \ - /usr/include/sched.h /usr/include/arm-linux-gnueabihf/bits/sched.h \ - /usr/include/arm-linux-gnueabihf/bits/setjmp.h lib/uuid.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h \ - /usr/include/stdint.h /usr/include/arm-linux-gnueabihf/bits/wchar.h \ - lib/bluetooth/bluetooth.h /usr/include/stdio.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/include/arm-linux-gnueabihf/bits/sys_errlist.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio.h /usr/include/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string2.h /usr/include/stdlib.h \ - /usr/include/byteswap.h /usr/include/netinet/in.h \ - /usr/include/arm-linux-gnueabihf/sys/socket.h \ - /usr/include/arm-linux-gnueabihf/sys/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/socket.h \ - /usr/include/arm-linux-gnueabihf/bits/socket_type.h \ - /usr/include/arm-linux-gnueabihf/bits/sockaddr.h \ - /usr/include/arm-linux-gnueabihf/asm/socket.h \ - /usr/include/asm-generic/socket.h \ - /usr/include/arm-linux-gnueabihf/asm/sockios.h \ - /usr/include/asm-generic/sockios.h \ - /usr/include/arm-linux-gnueabihf/bits/in.h src/plugin.h src/adapter.h \ - lib/bluetooth/sdp.h lib/bluetooth/hci.h lib/bluetooth/hci_lib.h \ - /usr/include/dbus-1.0/dbus/dbus.h \ - /usr/lib/arm-linux-gnueabihf/dbus-1.0/include/dbus/dbus-arch-deps.h \ - /usr/include/dbus-1.0/dbus/dbus-macros.h \ - /usr/include/dbus-1.0/dbus/dbus-address.h \ - /usr/include/dbus-1.0/dbus/dbus-types.h \ - /usr/include/dbus-1.0/dbus/dbus-errors.h \ - /usr/include/dbus-1.0/dbus/dbus-protocol.h \ - /usr/include/dbus-1.0/dbus/dbus-bus.h \ - /usr/include/dbus-1.0/dbus/dbus-connection.h \ - /usr/include/dbus-1.0/dbus/dbus-memory.h \ - /usr/include/dbus-1.0/dbus/dbus-message.h \ - /usr/include/dbus-1.0/dbus/dbus-shared.h \ - /usr/include/dbus-1.0/dbus/dbus-misc.h \ - /usr/include/dbus-1.0/dbus/dbus-pending-call.h \ - /usr/include/dbus-1.0/dbus/dbus-server.h \ - /usr/include/dbus-1.0/dbus/dbus-signature.h \ - /usr/include/dbus-1.0/dbus/dbus-syntax.h \ - /usr/include/dbus-1.0/dbus/dbus-threads.h src/device.h src/profile.h \ - attrib/gattrib.h src/attio.h attrib/att.h attrib/gatt.h src/log.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdbool.h: - -/usr/include/errno.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/include/arm-linux-gnueabihf/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/arm-linux-gnueabihf/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/include/glib-2.0/glib.h: - -/usr/include/glib-2.0/glib/galloca.h: - -/usr/include/glib-2.0/glib/gtypes.h: - -/usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h: - -/usr/include/glib-2.0/glib/gmacros.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h: - -/usr/include/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/local_lim.h: - -/usr/include/linux/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix2_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/xopen_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h: - -/usr/include/glib-2.0/glib/gversionmacros.h: - -/usr/include/time.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/arm-linux-gnueabihf/bits/timex.h: - -/usr/include/xlocale.h: - -/usr/include/glib-2.0/glib/garray.h: - -/usr/include/glib-2.0/glib/gasyncqueue.h: - -/usr/include/glib-2.0/glib/gthread.h: - -/usr/include/glib-2.0/glib/gatomic.h: - -/usr/include/glib-2.0/glib/gerror.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/glib-2.0/glib/gquark.h: - -/usr/include/glib-2.0/glib/gbacktrace.h: - -/usr/include/signal.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/signum.h: - -/usr/include/arm-linux-gnueabihf/bits/siginfo.h: - -/usr/include/arm-linux-gnueabihf/bits/sigaction.h: - -/usr/include/arm-linux-gnueabihf/bits/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/asm/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigstack.h: - -/usr/include/arm-linux-gnueabihf/sys/ucontext.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/arm-linux-gnueabihf/bits/sigthread.h: - -/usr/include/glib-2.0/glib/gbase64.h: - -/usr/include/glib-2.0/glib/gbitlock.h: - -/usr/include/glib-2.0/glib/gbookmarkfile.h: - -/usr/include/glib-2.0/glib/gbytes.h: - -/usr/include/glib-2.0/glib/gcharset.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/gconvert.h: - -/usr/include/glib-2.0/glib/gdataset.h: - -/usr/include/glib-2.0/glib/gdate.h: - -/usr/include/glib-2.0/glib/gdatetime.h: - -/usr/include/glib-2.0/glib/gtimezone.h: - -/usr/include/glib-2.0/glib/gdir.h: - -/usr/include/dirent.h: - -/usr/include/arm-linux-gnueabihf/bits/dirent.h: - -/usr/include/glib-2.0/glib/genviron.h: - -/usr/include/glib-2.0/glib/gfileutils.h: - -/usr/include/glib-2.0/glib/ggettext.h: - -/usr/include/glib-2.0/glib/ghash.h: - -/usr/include/glib-2.0/glib/glist.h: - -/usr/include/glib-2.0/glib/gmem.h: - -/usr/include/glib-2.0/glib/gnode.h: - -/usr/include/glib-2.0/glib/ghmac.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/ghook.h: - -/usr/include/glib-2.0/glib/ghostutils.h: - -/usr/include/glib-2.0/glib/giochannel.h: - -/usr/include/glib-2.0/glib/gmain.h: - -/usr/include/glib-2.0/glib/gpoll.h: - -/usr/include/glib-2.0/glib/gslist.h: - -/usr/include/glib-2.0/glib/gstring.h: - -/usr/include/glib-2.0/glib/gunicode.h: - -/usr/include/glib-2.0/glib/gutils.h: - -/usr/include/glib-2.0/glib/gkeyfile.h: - -/usr/include/glib-2.0/glib/gmappedfile.h: - -/usr/include/glib-2.0/glib/gmarkup.h: - -/usr/include/glib-2.0/glib/gmessages.h: - -/usr/include/glib-2.0/glib/goption.h: - -/usr/include/glib-2.0/glib/gpattern.h: - -/usr/include/glib-2.0/glib/gprimes.h: - -/usr/include/glib-2.0/glib/gqsort.h: - -/usr/include/glib-2.0/glib/gqueue.h: - -/usr/include/glib-2.0/glib/grand.h: - -/usr/include/glib-2.0/glib/gregex.h: - -/usr/include/glib-2.0/glib/gscanner.h: - -/usr/include/glib-2.0/glib/gsequence.h: - -/usr/include/glib-2.0/glib/gshell.h: - -/usr/include/glib-2.0/glib/gslice.h: - -/usr/include/glib-2.0/glib/gspawn.h: - -/usr/include/glib-2.0/glib/gstrfuncs.h: - -/usr/include/glib-2.0/glib/gstringchunk.h: - -/usr/include/glib-2.0/glib/gtestutils.h: - -/usr/include/glib-2.0/glib/gthreadpool.h: - -/usr/include/glib-2.0/glib/gtimer.h: - -/usr/include/glib-2.0/glib/gtrashstack.h: - -/usr/include/glib-2.0/glib/gtree.h: - -/usr/include/glib-2.0/glib/gurifuncs.h: - -/usr/include/glib-2.0/glib/gvarianttype.h: - -/usr/include/glib-2.0/glib/gvariant.h: - -/usr/include/glib-2.0/glib/gversion.h: - -/usr/include/glib-2.0/glib/deprecated/gallocator.h: - -/usr/include/glib-2.0/glib/deprecated/gcache.h: - -/usr/include/glib-2.0/glib/deprecated/gcompletion.h: - -/usr/include/glib-2.0/glib/deprecated/gmain.h: - -/usr/include/glib-2.0/glib/deprecated/grel.h: - -/usr/include/glib-2.0/glib/deprecated/gthread.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/pthread.h: - -/usr/include/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/setjmp.h: - -lib/uuid.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/arm-linux-gnueabihf/bits/wchar.h: - -lib/bluetooth/bluetooth.h: - -/usr/include/stdio.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/include/arm-linux-gnueabihf/bits/sys_errlist.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio.h: - -/usr/include/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string2.h: - -/usr/include/stdlib.h: - -/usr/include/byteswap.h: - -/usr/include/netinet/in.h: - -/usr/include/arm-linux-gnueabihf/sys/socket.h: - -/usr/include/arm-linux-gnueabihf/sys/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/socket.h: - -/usr/include/arm-linux-gnueabihf/bits/socket_type.h: - -/usr/include/arm-linux-gnueabihf/bits/sockaddr.h: - -/usr/include/arm-linux-gnueabihf/asm/socket.h: - -/usr/include/asm-generic/socket.h: - -/usr/include/arm-linux-gnueabihf/asm/sockios.h: - -/usr/include/asm-generic/sockios.h: - -/usr/include/arm-linux-gnueabihf/bits/in.h: - -src/plugin.h: - -src/adapter.h: - -lib/bluetooth/sdp.h: - -lib/bluetooth/hci.h: - -lib/bluetooth/hci_lib.h: - -/usr/include/dbus-1.0/dbus/dbus.h: - -/usr/lib/arm-linux-gnueabihf/dbus-1.0/include/dbus/dbus-arch-deps.h: - -/usr/include/dbus-1.0/dbus/dbus-macros.h: - -/usr/include/dbus-1.0/dbus/dbus-address.h: - -/usr/include/dbus-1.0/dbus/dbus-types.h: - -/usr/include/dbus-1.0/dbus/dbus-errors.h: - -/usr/include/dbus-1.0/dbus/dbus-protocol.h: - -/usr/include/dbus-1.0/dbus/dbus-bus.h: - -/usr/include/dbus-1.0/dbus/dbus-connection.h: - -/usr/include/dbus-1.0/dbus/dbus-memory.h: - -/usr/include/dbus-1.0/dbus/dbus-message.h: - -/usr/include/dbus-1.0/dbus/dbus-shared.h: - -/usr/include/dbus-1.0/dbus/dbus-misc.h: - -/usr/include/dbus-1.0/dbus/dbus-pending-call.h: - -/usr/include/dbus-1.0/dbus/dbus-server.h: - -/usr/include/dbus-1.0/dbus/dbus-signature.h: - -/usr/include/dbus-1.0/dbus/dbus-syntax.h: - -/usr/include/dbus-1.0/dbus/dbus-threads.h: - -src/device.h: - -src/profile.h: - -attrib/gattrib.h: - -src/attio.h: - -attrib/att.h: - -attrib/gatt.h: - -src/log.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/profiles/deviceinfo/.dirstamp b/GRIB_BLE_HUB/libs/ble_extend/profiles/deviceinfo/.dirstamp deleted file mode 100644 index e69de29..0000000 diff --git a/GRIB_BLE_HUB/libs/ble_extend/profiles/deviceinfo/deviceinfo.c b/GRIB_BLE_HUB/libs/ble_extend/profiles/deviceinfo/deviceinfo.c deleted file mode 100644 index 471241b..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/profiles/deviceinfo/deviceinfo.c +++ /dev/null @@ -1,238 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2012 Texas Instruments, Inc. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include - -#include - -#include "lib/uuid.h" -#include "plugin.h" -#include "adapter.h" -#include "device.h" -#include "profile.h" -#include "attrib/gattrib.h" -#include "attio.h" -#include "attrib/att.h" -#include "attrib/gatt.h" -#include "log.h" - -#define PNP_ID_SIZE 7 - -struct deviceinfo { - struct btd_device *dev; /* Device reference */ - GAttrib *attrib; /* GATT connection */ - guint attioid; /* Att watcher id */ - struct att_range *svc_range; /* DeviceInfo range */ - GSList *chars; /* Characteristics */ -}; - -static GSList *servers = NULL; - -struct characteristic { - struct gatt_char attr; /* Characteristic */ - struct deviceinfo *d; /* deviceinfo where the char belongs */ -}; - -static void deviceinfo_free(gpointer user_data) -{ - struct deviceinfo *d = user_data; - - if (d->attioid > 0) - btd_device_remove_attio_callback(d->dev, d->attioid); - - if (d->attrib != NULL) - g_attrib_unref(d->attrib); - - g_slist_free_full(d->chars, g_free); - - btd_device_unref(d->dev); - g_free(d->svc_range); - g_free(d); -} - -static gint cmp_device(gconstpointer a, gconstpointer b) -{ - const struct deviceinfo *d = a; - const struct btd_device *dev = b; - - if (dev == d->dev) - return 0; - - return -1; -} - -static void read_pnpid_cb(guint8 status, const guint8 *pdu, guint16 len, - gpointer user_data) -{ - struct characteristic *ch = user_data; - uint8_t value[PNP_ID_SIZE]; - ssize_t vlen; - - if (status != 0) { - error("Error reading PNP_ID value: %s", att_ecode2str(status)); - return; - } - - vlen = dec_read_resp(pdu, len, value, sizeof(value)); - if (vlen < 0) { - error("Error reading PNP_ID: Protocol error"); - return; - } - - if (vlen < 7) { - error("Error reading PNP_ID: Invalid pdu length received"); - return; - } - - btd_device_set_pnpid(ch->d->dev, value[0], att_get_u16(&value[1]), - att_get_u16(&value[3]), att_get_u16(&value[5])); -} - -static void process_deviceinfo_char(struct characteristic *ch) -{ - if (g_strcmp0(ch->attr.uuid, PNPID_UUID) == 0) - gatt_read_char(ch->d->attrib, ch->attr.value_handle, - read_pnpid_cb, ch); -} - -static void configure_deviceinfo_cb(GSList *characteristics, guint8 status, - gpointer user_data) -{ - struct deviceinfo *d = user_data; - GSList *l; - - if (status != 0) { - error("Discover deviceinfo characteristics: %s", - att_ecode2str(status)); - return; - } - - for (l = characteristics; l; l = l->next) { - struct gatt_char *c = l->data; - struct characteristic *ch; - - ch = g_new0(struct characteristic, 1); - ch->attr.handle = c->handle; - ch->attr.properties = c->properties; - ch->attr.value_handle = c->value_handle; - memcpy(ch->attr.uuid, c->uuid, MAX_LEN_UUID_STR + 1); - ch->d = d; - - d->chars = g_slist_append(d->chars, ch); - - process_deviceinfo_char(ch); - } -} -static void attio_connected_cb(GAttrib *attrib, gpointer user_data) -{ - struct deviceinfo *d = user_data; - - d->attrib = g_attrib_ref(attrib); - - gatt_discover_char(d->attrib, d->svc_range->start, d->svc_range->end, - NULL, configure_deviceinfo_cb, d); -} - -static void attio_disconnected_cb(gpointer user_data) -{ - struct deviceinfo *d = user_data; - - g_attrib_unref(d->attrib); - d->attrib = NULL; -} - -static int deviceinfo_register(struct btd_device *device, - struct gatt_primary *prim) -{ - struct deviceinfo *d; - - d = g_new0(struct deviceinfo, 1); - d->dev = btd_device_ref(device); - d->svc_range = g_new0(struct att_range, 1); - d->svc_range->start = prim->range.start; - d->svc_range->end = prim->range.end; - - servers = g_slist_prepend(servers, d); - - d->attioid = btd_device_add_attio_callback(device, attio_connected_cb, - attio_disconnected_cb, d); - return 0; -} - -static void deviceinfo_unregister(struct btd_device *device) -{ - struct deviceinfo *d; - GSList *l; - - l = g_slist_find_custom(servers, device, cmp_device); - if (l == NULL) - return; - - d = l->data; - servers = g_slist_remove(servers, d); - - deviceinfo_free(d); -} - -static int deviceinfo_driver_probe(struct btd_profile *p, - struct btd_device *device, - GSList *uuids) -{ - struct gatt_primary *prim; - - prim = btd_device_get_primary(device, DEVICE_INFORMATION_UUID); - if (prim == NULL) - return -EINVAL; - - return deviceinfo_register(device, prim); -} - -static void deviceinfo_driver_remove(struct btd_profile *p, - struct btd_device *device) -{ - deviceinfo_unregister(device); -} - -static struct btd_profile deviceinfo_profile = { - .name = "deviceinfo", - .remote_uuid = DEVICE_INFORMATION_UUID, - .device_probe = deviceinfo_driver_probe, - .device_remove = deviceinfo_driver_remove -}; - -static int deviceinfo_init(void) -{ - return btd_profile_register(&deviceinfo_profile); -} - -static void deviceinfo_exit(void) -{ - btd_profile_unregister(&deviceinfo_profile); -} - -BLUETOOTH_PLUGIN_DEFINE(deviceinfo, VERSION, BLUETOOTH_PLUGIN_PRIORITY_DEFAULT, - deviceinfo_init, deviceinfo_exit) diff --git a/GRIB_BLE_HUB/libs/ble_extend/profiles/gatt/.deps/.dirstamp b/GRIB_BLE_HUB/libs/ble_extend/profiles/gatt/.deps/.dirstamp deleted file mode 100644 index e69de29..0000000 diff --git a/GRIB_BLE_HUB/libs/ble_extend/profiles/gatt/.deps/bluetoothd-gas.Po b/GRIB_BLE_HUB/libs/ble_extend/profiles/gatt/.deps/bluetoothd-gas.Po deleted file mode 100644 index 60bce58..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/profiles/gatt/.deps/bluetoothd-gas.Po +++ /dev/null @@ -1,565 +0,0 @@ -profiles/gatt/bluetoothd-gas.o: profiles/gatt/gas.c \ - /usr/include/stdc-predef.h config.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdbool.h \ - /usr/include/stdlib.h /usr/include/features.h \ - /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/include/arm-linux-gnueabihf/bits/waitflags.h \ - /usr/include/arm-linux-gnueabihf/bits/waitstatus.h /usr/include/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/xlocale.h /usr/include/arm-linux-gnueabihf/sys/types.h \ - /usr/include/time.h /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/alloca.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-float.h \ - /usr/include/arm-linux-gnueabihf/sys/stat.h \ - /usr/include/arm-linux-gnueabihf/bits/stat.h /usr/include/fcntl.h \ - /usr/include/arm-linux-gnueabihf/bits/fcntl.h \ - /usr/include/arm-linux-gnueabihf/bits/fcntl-linux.h \ - /usr/include/arm-linux-gnueabihf/bits/uio.h /usr/include/errno.h \ - /usr/include/arm-linux-gnueabihf/bits/errno.h /usr/include/linux/errno.h \ - /usr/include/arm-linux-gnueabihf/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/include/glib-2.0/glib.h /usr/include/glib-2.0/glib/galloca.h \ - /usr/include/glib-2.0/glib/gtypes.h \ - /usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h \ - /usr/include/glib-2.0/glib/gmacros.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h \ - /usr/include/limits.h /usr/include/arm-linux-gnueabihf/bits/posix1_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/local_lim.h \ - /usr/include/linux/limits.h \ - /usr/include/arm-linux-gnueabihf/bits/posix2_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/xopen_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h \ - /usr/include/glib-2.0/glib/gversionmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/timex.h \ - /usr/include/glib-2.0/glib/garray.h \ - /usr/include/glib-2.0/glib/gasyncqueue.h \ - /usr/include/glib-2.0/glib/gthread.h \ - /usr/include/glib-2.0/glib/gatomic.h /usr/include/glib-2.0/glib/gerror.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/glib-2.0/glib/gquark.h \ - /usr/include/glib-2.0/glib/gbacktrace.h /usr/include/signal.h \ - /usr/include/arm-linux-gnueabihf/bits/signum.h \ - /usr/include/arm-linux-gnueabihf/bits/siginfo.h \ - /usr/include/arm-linux-gnueabihf/bits/sigaction.h \ - /usr/include/arm-linux-gnueabihf/bits/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/asm/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigstack.h \ - /usr/include/arm-linux-gnueabihf/sys/ucontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigthread.h \ - /usr/include/glib-2.0/glib/gbase64.h \ - /usr/include/glib-2.0/glib/gbitlock.h \ - /usr/include/glib-2.0/glib/gbookmarkfile.h \ - /usr/include/glib-2.0/glib/gbytes.h \ - /usr/include/glib-2.0/glib/gcharset.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/gconvert.h \ - /usr/include/glib-2.0/glib/gdataset.h /usr/include/glib-2.0/glib/gdate.h \ - /usr/include/glib-2.0/glib/gdatetime.h \ - /usr/include/glib-2.0/glib/gtimezone.h /usr/include/glib-2.0/glib/gdir.h \ - /usr/include/dirent.h /usr/include/arm-linux-gnueabihf/bits/dirent.h \ - /usr/include/glib-2.0/glib/genviron.h \ - /usr/include/glib-2.0/glib/gfileutils.h \ - /usr/include/glib-2.0/glib/ggettext.h /usr/include/glib-2.0/glib/ghash.h \ - /usr/include/glib-2.0/glib/glist.h /usr/include/glib-2.0/glib/gmem.h \ - /usr/include/glib-2.0/glib/gnode.h /usr/include/glib-2.0/glib/ghmac.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/ghook.h \ - /usr/include/glib-2.0/glib/ghostutils.h \ - /usr/include/glib-2.0/glib/giochannel.h \ - /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gpoll.h \ - /usr/include/glib-2.0/glib/gslist.h /usr/include/glib-2.0/glib/gstring.h \ - /usr/include/glib-2.0/glib/gunicode.h \ - /usr/include/glib-2.0/glib/gutils.h \ - /usr/include/glib-2.0/glib/gkeyfile.h \ - /usr/include/glib-2.0/glib/gmappedfile.h \ - /usr/include/glib-2.0/glib/gmarkup.h \ - /usr/include/glib-2.0/glib/gmessages.h \ - /usr/include/glib-2.0/glib/goption.h \ - /usr/include/glib-2.0/glib/gpattern.h \ - /usr/include/glib-2.0/glib/gprimes.h /usr/include/glib-2.0/glib/gqsort.h \ - /usr/include/glib-2.0/glib/gqueue.h /usr/include/glib-2.0/glib/grand.h \ - /usr/include/glib-2.0/glib/gregex.h \ - /usr/include/glib-2.0/glib/gscanner.h \ - /usr/include/glib-2.0/glib/gsequence.h \ - /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gslice.h \ - /usr/include/glib-2.0/glib/gspawn.h \ - /usr/include/glib-2.0/glib/gstrfuncs.h \ - /usr/include/glib-2.0/glib/gstringchunk.h \ - /usr/include/glib-2.0/glib/gtestutils.h \ - /usr/include/glib-2.0/glib/gthreadpool.h \ - /usr/include/glib-2.0/glib/gtimer.h \ - /usr/include/glib-2.0/glib/gtrashstack.h \ - /usr/include/glib-2.0/glib/gtree.h \ - /usr/include/glib-2.0/glib/gurifuncs.h \ - /usr/include/glib-2.0/glib/gvarianttype.h \ - /usr/include/glib-2.0/glib/gvariant.h \ - /usr/include/glib-2.0/glib/gversion.h \ - /usr/include/glib-2.0/glib/deprecated/gallocator.h \ - /usr/include/glib-2.0/glib/deprecated/gcache.h \ - /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ - /usr/include/glib-2.0/glib/deprecated/gmain.h \ - /usr/include/glib-2.0/glib/deprecated/grel.h \ - /usr/include/glib-2.0/glib/deprecated/gthread.h /usr/include/pthread.h \ - /usr/include/sched.h /usr/include/arm-linux-gnueabihf/bits/sched.h \ - /usr/include/arm-linux-gnueabihf/bits/setjmp.h btio/btio.h lib/uuid.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h \ - /usr/include/stdint.h /usr/include/arm-linux-gnueabihf/bits/wchar.h \ - lib/bluetooth/bluetooth.h /usr/include/stdio.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/include/arm-linux-gnueabihf/bits/sys_errlist.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio.h /usr/include/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string2.h /usr/include/byteswap.h \ - /usr/include/netinet/in.h /usr/include/arm-linux-gnueabihf/sys/socket.h \ - /usr/include/arm-linux-gnueabihf/sys/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/socket.h \ - /usr/include/arm-linux-gnueabihf/bits/socket_type.h \ - /usr/include/arm-linux-gnueabihf/bits/sockaddr.h \ - /usr/include/arm-linux-gnueabihf/asm/socket.h \ - /usr/include/asm-generic/socket.h \ - /usr/include/arm-linux-gnueabihf/asm/sockios.h \ - /usr/include/asm-generic/sockios.h \ - /usr/include/arm-linux-gnueabihf/bits/in.h src/plugin.h src/adapter.h \ - lib/bluetooth/sdp.h lib/bluetooth/hci.h lib/bluetooth/hci_lib.h \ - /usr/include/dbus-1.0/dbus/dbus.h \ - /usr/lib/arm-linux-gnueabihf/dbus-1.0/include/dbus/dbus-arch-deps.h \ - /usr/include/dbus-1.0/dbus/dbus-macros.h \ - /usr/include/dbus-1.0/dbus/dbus-address.h \ - /usr/include/dbus-1.0/dbus/dbus-types.h \ - /usr/include/dbus-1.0/dbus/dbus-errors.h \ - /usr/include/dbus-1.0/dbus/dbus-protocol.h \ - /usr/include/dbus-1.0/dbus/dbus-bus.h \ - /usr/include/dbus-1.0/dbus/dbus-connection.h \ - /usr/include/dbus-1.0/dbus/dbus-memory.h \ - /usr/include/dbus-1.0/dbus/dbus-message.h \ - /usr/include/dbus-1.0/dbus/dbus-shared.h \ - /usr/include/dbus-1.0/dbus/dbus-misc.h \ - /usr/include/dbus-1.0/dbus/dbus-pending-call.h \ - /usr/include/dbus-1.0/dbus/dbus-server.h \ - /usr/include/dbus-1.0/dbus/dbus-signature.h \ - /usr/include/dbus-1.0/dbus/dbus-syntax.h \ - /usr/include/dbus-1.0/dbus/dbus-threads.h src/device.h src/profile.h \ - attrib/att.h attrib/gattrib.h src/attio.h attrib/gatt.h src/log.h \ - src/textfile.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdbool.h: - -/usr/include/stdlib.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/include/arm-linux-gnueabihf/bits/waitflags.h: - -/usr/include/arm-linux-gnueabihf/bits/waitstatus.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/xlocale.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/time.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/alloca.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-float.h: - -/usr/include/arm-linux-gnueabihf/sys/stat.h: - -/usr/include/arm-linux-gnueabihf/bits/stat.h: - -/usr/include/fcntl.h: - -/usr/include/arm-linux-gnueabihf/bits/fcntl.h: - -/usr/include/arm-linux-gnueabihf/bits/fcntl-linux.h: - -/usr/include/arm-linux-gnueabihf/bits/uio.h: - -/usr/include/errno.h: - -/usr/include/arm-linux-gnueabihf/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/arm-linux-gnueabihf/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/include/glib-2.0/glib.h: - -/usr/include/glib-2.0/glib/galloca.h: - -/usr/include/glib-2.0/glib/gtypes.h: - -/usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h: - -/usr/include/glib-2.0/glib/gmacros.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h: - -/usr/include/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/local_lim.h: - -/usr/include/linux/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix2_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/xopen_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h: - -/usr/include/glib-2.0/glib/gversionmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/timex.h: - -/usr/include/glib-2.0/glib/garray.h: - -/usr/include/glib-2.0/glib/gasyncqueue.h: - -/usr/include/glib-2.0/glib/gthread.h: - -/usr/include/glib-2.0/glib/gatomic.h: - -/usr/include/glib-2.0/glib/gerror.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/glib-2.0/glib/gquark.h: - -/usr/include/glib-2.0/glib/gbacktrace.h: - -/usr/include/signal.h: - -/usr/include/arm-linux-gnueabihf/bits/signum.h: - -/usr/include/arm-linux-gnueabihf/bits/siginfo.h: - -/usr/include/arm-linux-gnueabihf/bits/sigaction.h: - -/usr/include/arm-linux-gnueabihf/bits/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/asm/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigstack.h: - -/usr/include/arm-linux-gnueabihf/sys/ucontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigthread.h: - -/usr/include/glib-2.0/glib/gbase64.h: - -/usr/include/glib-2.0/glib/gbitlock.h: - -/usr/include/glib-2.0/glib/gbookmarkfile.h: - -/usr/include/glib-2.0/glib/gbytes.h: - -/usr/include/glib-2.0/glib/gcharset.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/gconvert.h: - -/usr/include/glib-2.0/glib/gdataset.h: - -/usr/include/glib-2.0/glib/gdate.h: - -/usr/include/glib-2.0/glib/gdatetime.h: - -/usr/include/glib-2.0/glib/gtimezone.h: - -/usr/include/glib-2.0/glib/gdir.h: - -/usr/include/dirent.h: - -/usr/include/arm-linux-gnueabihf/bits/dirent.h: - -/usr/include/glib-2.0/glib/genviron.h: - -/usr/include/glib-2.0/glib/gfileutils.h: - -/usr/include/glib-2.0/glib/ggettext.h: - -/usr/include/glib-2.0/glib/ghash.h: - -/usr/include/glib-2.0/glib/glist.h: - -/usr/include/glib-2.0/glib/gmem.h: - -/usr/include/glib-2.0/glib/gnode.h: - -/usr/include/glib-2.0/glib/ghmac.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/ghook.h: - -/usr/include/glib-2.0/glib/ghostutils.h: - -/usr/include/glib-2.0/glib/giochannel.h: - -/usr/include/glib-2.0/glib/gmain.h: - -/usr/include/glib-2.0/glib/gpoll.h: - -/usr/include/glib-2.0/glib/gslist.h: - -/usr/include/glib-2.0/glib/gstring.h: - -/usr/include/glib-2.0/glib/gunicode.h: - -/usr/include/glib-2.0/glib/gutils.h: - -/usr/include/glib-2.0/glib/gkeyfile.h: - -/usr/include/glib-2.0/glib/gmappedfile.h: - -/usr/include/glib-2.0/glib/gmarkup.h: - -/usr/include/glib-2.0/glib/gmessages.h: - -/usr/include/glib-2.0/glib/goption.h: - -/usr/include/glib-2.0/glib/gpattern.h: - -/usr/include/glib-2.0/glib/gprimes.h: - -/usr/include/glib-2.0/glib/gqsort.h: - -/usr/include/glib-2.0/glib/gqueue.h: - -/usr/include/glib-2.0/glib/grand.h: - -/usr/include/glib-2.0/glib/gregex.h: - -/usr/include/glib-2.0/glib/gscanner.h: - -/usr/include/glib-2.0/glib/gsequence.h: - -/usr/include/glib-2.0/glib/gshell.h: - -/usr/include/glib-2.0/glib/gslice.h: - -/usr/include/glib-2.0/glib/gspawn.h: - -/usr/include/glib-2.0/glib/gstrfuncs.h: - -/usr/include/glib-2.0/glib/gstringchunk.h: - -/usr/include/glib-2.0/glib/gtestutils.h: - -/usr/include/glib-2.0/glib/gthreadpool.h: - -/usr/include/glib-2.0/glib/gtimer.h: - -/usr/include/glib-2.0/glib/gtrashstack.h: - -/usr/include/glib-2.0/glib/gtree.h: - -/usr/include/glib-2.0/glib/gurifuncs.h: - -/usr/include/glib-2.0/glib/gvarianttype.h: - -/usr/include/glib-2.0/glib/gvariant.h: - -/usr/include/glib-2.0/glib/gversion.h: - -/usr/include/glib-2.0/glib/deprecated/gallocator.h: - -/usr/include/glib-2.0/glib/deprecated/gcache.h: - -/usr/include/glib-2.0/glib/deprecated/gcompletion.h: - -/usr/include/glib-2.0/glib/deprecated/gmain.h: - -/usr/include/glib-2.0/glib/deprecated/grel.h: - -/usr/include/glib-2.0/glib/deprecated/gthread.h: - -/usr/include/pthread.h: - -/usr/include/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/setjmp.h: - -btio/btio.h: - -lib/uuid.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/arm-linux-gnueabihf/bits/wchar.h: - -lib/bluetooth/bluetooth.h: - -/usr/include/stdio.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/include/arm-linux-gnueabihf/bits/sys_errlist.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio.h: - -/usr/include/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string2.h: - -/usr/include/byteswap.h: - -/usr/include/netinet/in.h: - -/usr/include/arm-linux-gnueabihf/sys/socket.h: - -/usr/include/arm-linux-gnueabihf/sys/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/socket.h: - -/usr/include/arm-linux-gnueabihf/bits/socket_type.h: - -/usr/include/arm-linux-gnueabihf/bits/sockaddr.h: - -/usr/include/arm-linux-gnueabihf/asm/socket.h: - -/usr/include/asm-generic/socket.h: - -/usr/include/arm-linux-gnueabihf/asm/sockios.h: - -/usr/include/asm-generic/sockios.h: - -/usr/include/arm-linux-gnueabihf/bits/in.h: - -src/plugin.h: - -src/adapter.h: - -lib/bluetooth/sdp.h: - -lib/bluetooth/hci.h: - -lib/bluetooth/hci_lib.h: - -/usr/include/dbus-1.0/dbus/dbus.h: - -/usr/lib/arm-linux-gnueabihf/dbus-1.0/include/dbus/dbus-arch-deps.h: - -/usr/include/dbus-1.0/dbus/dbus-macros.h: - -/usr/include/dbus-1.0/dbus/dbus-address.h: - -/usr/include/dbus-1.0/dbus/dbus-types.h: - -/usr/include/dbus-1.0/dbus/dbus-errors.h: - -/usr/include/dbus-1.0/dbus/dbus-protocol.h: - -/usr/include/dbus-1.0/dbus/dbus-bus.h: - -/usr/include/dbus-1.0/dbus/dbus-connection.h: - -/usr/include/dbus-1.0/dbus/dbus-memory.h: - -/usr/include/dbus-1.0/dbus/dbus-message.h: - -/usr/include/dbus-1.0/dbus/dbus-shared.h: - -/usr/include/dbus-1.0/dbus/dbus-misc.h: - -/usr/include/dbus-1.0/dbus/dbus-pending-call.h: - -/usr/include/dbus-1.0/dbus/dbus-server.h: - -/usr/include/dbus-1.0/dbus/dbus-signature.h: - -/usr/include/dbus-1.0/dbus/dbus-syntax.h: - -/usr/include/dbus-1.0/dbus/dbus-threads.h: - -src/device.h: - -src/profile.h: - -attrib/att.h: - -attrib/gattrib.h: - -src/attio.h: - -attrib/gatt.h: - -src/log.h: - -src/textfile.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/profiles/gatt/.dirstamp b/GRIB_BLE_HUB/libs/ble_extend/profiles/gatt/.dirstamp deleted file mode 100644 index e69de29..0000000 diff --git a/GRIB_BLE_HUB/libs/ble_extend/profiles/gatt/gas.c b/GRIB_BLE_HUB/libs/ble_extend/profiles/gatt/gas.c deleted file mode 100644 index bc8dbb5..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/profiles/gatt/gas.c +++ /dev/null @@ -1,452 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2012 Instituto Nokia de Tecnologia - INdT - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include -#include -#include -#include -#include - -#include -#include - -#include "lib/uuid.h" -#include "plugin.h" -#include "adapter.h" -#include "device.h" -#include "profile.h" -#include "attrib/att.h" -#include "attrib/gattrib.h" -#include "attio.h" -#include "attrib/gatt.h" -#include "log.h" -#include "textfile.h" - -/* Generic Attribute/Access Service */ -struct gas { - struct btd_device *device; - struct att_range gap; /* GAP Primary service range */ - struct att_range gatt; /* GATT Primary service range */ - GAttrib *attrib; - guint attioid; - guint changed_ind; - uint16_t changed_handle; - uint16_t mtu; -}; - -static GSList *devices = NULL; - -static void gas_free(struct gas *gas) -{ - if (gas->attioid) - btd_device_remove_attio_callback(gas->device, gas->attioid); - - g_attrib_unref(gas->attrib); - btd_device_unref(gas->device); - g_free(gas); -} - -static gint cmp_device(gconstpointer a, gconstpointer b) -{ - const struct gas *gas = a; - const struct btd_device *device = b; - - return (gas->device == device ? 0 : -1); -} - -static void write_ctp_handle(struct btd_device *device, uint16_t uuid, - uint16_t handle) -{ - char *filename, group[6], value[7]; - GKeyFile *key_file; - char *data; - gsize length = 0; - - filename = btd_device_get_storage_path(device, "gatt"); - - key_file = g_key_file_new(); - g_key_file_load_from_file(key_file, filename, 0, NULL); - - snprintf(group, sizeof(group), "%hu", uuid); - snprintf(value, sizeof(value), "0x%4.4X", handle); - g_key_file_set_string(key_file, group, "Value", value); - - data = g_key_file_to_data(key_file, &length, NULL); - if (length > 0) { - create_file(filename, S_IRUSR | S_IWUSR); - g_file_set_contents(filename, data, length, NULL); - } - - g_free(data); - g_free(filename); - g_key_file_free(key_file); -} - -static int read_ctp_handle(struct btd_device *device, uint16_t uuid, - uint16_t *value) -{ - char *filename, group[6]; - GKeyFile *key_file; - char *str; - int err = 0; - - filename = btd_device_get_storage_path(device, "gatt"); - - snprintf(group, sizeof(group), "%hu", uuid); - - key_file = g_key_file_new(); - g_key_file_load_from_file(key_file, filename, 0, NULL); - - str = g_key_file_get_string(key_file, group, "Value", NULL); - if (str == NULL || sscanf(str, "%hx", value) != 1) - err = -ENOENT; - - g_free(str); - g_free(filename); - g_key_file_free(key_file); - - return err; -} - -static void gap_appearance_cb(guint8 status, const guint8 *pdu, guint16 plen, - gpointer user_data) -{ - struct gas *gas = user_data; - struct att_data_list *list = NULL; - uint16_t app; - uint8_t *atval; - - if (status != 0) { - error("Read characteristics by UUID failed: %s", - att_ecode2str(status)); - return; - } - - list = dec_read_by_type_resp(pdu, plen); - if (list == NULL) - return; - - if (list->len != 4) { - error("GAP Appearance value: invalid data"); - goto done; - } - - atval = list->data[0] + 2; /* skip handle value */ - app = att_get_u16(atval); - - DBG("GAP Appearance: 0x%04x", app); - - device_set_appearance(gas->device, app); - -done: - att_data_list_free(list); -} - -static void indication_cb(const uint8_t *pdu, uint16_t len, gpointer user_data) -{ - struct gas *gas = user_data; - uint16_t start, end, olen; - size_t plen; - uint8_t *opdu; - - if (len < 7) { /* 1-byte opcode + 2-byte handle + 4 range */ - error("Malformed ATT notification"); - return; - } - - start = att_get_u16(&pdu[3]); - end = att_get_u16(&pdu[5]); - - DBG("Service Changed start: 0x%04X end: 0x%04X", start, end); - - /* Confirming indication received */ - opdu = g_attrib_get_buffer(gas->attrib, &plen); - olen = enc_confirmation(opdu, plen); - g_attrib_send(gas->attrib, 0, opdu, olen, NULL, NULL, NULL); - - if (device_is_bonded(gas->device) == FALSE) { - DBG("Ignoring Service Changed: device is not bonded"); - return; - } - - btd_device_gatt_set_service_changed(gas->device, start, end); -} - -static void ccc_written_cb(guint8 status, const guint8 *pdu, guint16 plen, - gpointer user_data) -{ - struct gas *gas = user_data; - - if (status) { - error("Write Service Changed CCC failed: %s", - att_ecode2str(status)); - return; - } - - DBG("Service Changed indications enabled"); - - gas->changed_ind = g_attrib_register(gas->attrib, ATT_OP_HANDLE_IND, - gas->changed_handle, - indication_cb, gas, NULL); - - write_ctp_handle(gas->device, GATT_CHARAC_SERVICE_CHANGED, - gas->changed_handle); -} - -static void write_ccc(GAttrib *attrib, uint16_t handle, gpointer user_data) -{ - uint8_t value[2]; - - att_put_u16(GATT_CLIENT_CHARAC_CFG_IND_BIT, value); - gatt_write_char(attrib, handle, value, sizeof(value), ccc_written_cb, - user_data); -} - -static void gatt_descriptors_cb(guint8 status, const guint8 *pdu, guint16 len, - gpointer user_data) -{ - struct gas *gas = user_data; - struct att_data_list *list; - int i; - uint8_t format; - - if (status) { - error("Discover all GATT characteristic descriptors: %s", - att_ecode2str(status)); - return; - } - - list = dec_find_info_resp(pdu, len, &format); - if (list == NULL) - return; - - if (format != ATT_FIND_INFO_RESP_FMT_16BIT) - goto done; - - for (i = 0; i < list->num; i++) { - uint16_t uuid16, ccc; - uint8_t *value; - - value = list->data[i]; - ccc = att_get_u16(value); - uuid16 = att_get_u16(&value[2]); - DBG("CCC: 0x%04x UUID: 0x%04x", ccc, uuid16); - write_ccc(gas->attrib, ccc, user_data); - } - -done: - att_data_list_free(list); -} - -static void gatt_characteristic_cb(GSList *characteristics, guint8 status, - gpointer user_data) -{ - struct gas *gas = user_data; - struct gatt_char *chr; - uint16_t start, end; - - if (status) { - error("Discover Service Changed handle: %s", att_ecode2str(status)); - return; - } - - chr = characteristics->data; - - start = chr->value_handle + 1; - end = gas->gatt.end; - - if (start > end) { - error("Inconsistent database: Service Changed CCC missing"); - return; - } - - gas->changed_handle = chr->value_handle; - gatt_find_info(gas->attrib, start, end, gatt_descriptors_cb, gas); -} - -static void exchange_mtu_cb(guint8 status, const guint8 *pdu, guint16 plen, - gpointer user_data) -{ - struct gas *gas = user_data; - uint16_t rmtu; - - if (status) { - error("MTU exchange: %s", att_ecode2str(status)); - return; - } - - if (!dec_mtu_resp(pdu, plen, &rmtu)) { - error("MTU exchange: protocol error"); - return; - } - - gas->mtu = MIN(rmtu, gas->mtu); - if (g_attrib_set_mtu(gas->attrib, gas->mtu)) - DBG("MTU exchange succeeded: %d", gas->mtu); - else - DBG("MTU exchange failed"); -} - -static void attio_connected_cb(GAttrib *attrib, gpointer user_data) -{ - struct gas *gas = user_data; - GIOChannel *io; - GError *gerr = NULL; - uint16_t cid, imtu; - uint16_t app; - - gas->attrib = g_attrib_ref(attrib); - io = g_attrib_get_channel(attrib); - - if (bt_io_get(io, &gerr, BT_IO_OPT_IMTU, &imtu, - BT_IO_OPT_CID, &cid, BT_IO_OPT_INVALID) && - cid == ATT_CID) { - gatt_exchange_mtu(gas->attrib, imtu, exchange_mtu_cb, gas); - gas->mtu = imtu; - DBG("MTU Exchange: Requesting %d", imtu); - } - - if (device_get_appearance(gas->device, &app) < 0) { - bt_uuid_t uuid; - - bt_uuid16_create(&uuid, GATT_CHARAC_APPEARANCE); - - gatt_read_char_by_uuid(gas->attrib, gas->gap.start, - gas->gap.end, &uuid, - gap_appearance_cb, gas); - } - - /* TODO: Read other GAP characteristics - See Core spec page 1739 */ - - /* - * When re-connecting <> handle and characteristic - * value doesn't need to read again: known information from the - * previous interaction. - */ - if (gas->changed_handle == 0) { - bt_uuid_t uuid; - - bt_uuid16_create(&uuid, GATT_CHARAC_SERVICE_CHANGED); - - gatt_discover_char(gas->attrib, gas->gatt.start, gas->gatt.end, - &uuid, gatt_characteristic_cb, gas); - } -} - -static void attio_disconnected_cb(gpointer user_data) -{ - struct gas *gas = user_data; - - g_attrib_unregister(gas->attrib, gas->changed_ind); - gas->changed_ind = 0; - - g_attrib_unref(gas->attrib); - gas->attrib = NULL; -} - -static int gas_register(struct btd_device *device, struct att_range *gap, - struct att_range *gatt) -{ - struct gas *gas; - - gas = g_new0(struct gas, 1); - gas->gap.start = gap->start; - gas->gap.end = gap->end; - gas->gatt.start = gatt->start; - gas->gatt.end = gatt->end; - - gas->device = btd_device_ref(device); - - devices = g_slist_append(devices, gas); - - gas->attioid = btd_device_add_attio_callback(device, - attio_connected_cb, - attio_disconnected_cb, gas); - - read_ctp_handle(gas->device, GATT_CHARAC_SERVICE_CHANGED, - &gas->changed_handle); - - return 0; -} - -static void gas_unregister(struct btd_device *device) -{ - struct gas *gas; - GSList *l; - - l = g_slist_find_custom(devices, device, cmp_device); - if (l == NULL) - return; - - gas = l->data; - devices = g_slist_remove(devices, gas); - gas_free(gas); -} - -static int gatt_driver_probe(struct btd_profile *p, struct btd_device *device, - GSList *uuids) -{ - struct gatt_primary *gap, *gatt; - - gap = btd_device_get_primary(device, GAP_UUID); - gatt = btd_device_get_primary(device, GATT_UUID); - - if (gap == NULL || gatt == NULL) { - error("GAP and GATT are mandatory"); - return -EINVAL; - } - - return gas_register(device, &gap->range, &gatt->range); -} - -static void gatt_driver_remove(struct btd_profile *p, - struct btd_device *device) -{ - gas_unregister(device); -} - -static struct btd_profile gatt_profile = { - .name = "gap-gatt-profile", - .remote_uuid = GATT_UUID, - .device_probe = gatt_driver_probe, - .device_remove = gatt_driver_remove -}; - -static int gatt_init(void) -{ - btd_profile_register(&gatt_profile); - - return 0; -} - -static void gatt_exit(void) -{ - btd_profile_unregister(&gatt_profile); -} - -BLUETOOTH_PLUGIN_DEFINE(gatt, VERSION, BLUETOOTH_PLUGIN_PRIORITY_DEFAULT, - gatt_init, gatt_exit) diff --git a/GRIB_BLE_HUB/libs/ble_extend/profiles/health/.deps/bluetoothd-hdp.Po b/GRIB_BLE_HUB/libs/ble_extend/profiles/health/.deps/bluetoothd-hdp.Po deleted file mode 100644 index 9ce06a8..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/profiles/health/.deps/bluetoothd-hdp.Po +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/GRIB_BLE_HUB/libs/ble_extend/profiles/health/.deps/bluetoothd-hdp_main.Po b/GRIB_BLE_HUB/libs/ble_extend/profiles/health/.deps/bluetoothd-hdp_main.Po deleted file mode 100644 index 9ce06a8..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/profiles/health/.deps/bluetoothd-hdp_main.Po +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/GRIB_BLE_HUB/libs/ble_extend/profiles/health/.deps/bluetoothd-hdp_manager.Po b/GRIB_BLE_HUB/libs/ble_extend/profiles/health/.deps/bluetoothd-hdp_manager.Po deleted file mode 100644 index 9ce06a8..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/profiles/health/.deps/bluetoothd-hdp_manager.Po +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/GRIB_BLE_HUB/libs/ble_extend/profiles/health/.deps/bluetoothd-hdp_util.Po b/GRIB_BLE_HUB/libs/ble_extend/profiles/health/.deps/bluetoothd-hdp_util.Po deleted file mode 100644 index 9ce06a8..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/profiles/health/.deps/bluetoothd-hdp_util.Po +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/GRIB_BLE_HUB/libs/ble_extend/profiles/health/.deps/bluetoothd-mcap.Po b/GRIB_BLE_HUB/libs/ble_extend/profiles/health/.deps/bluetoothd-mcap.Po deleted file mode 100644 index 9ce06a8..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/profiles/health/.deps/bluetoothd-mcap.Po +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/GRIB_BLE_HUB/libs/ble_extend/profiles/health/.deps/bluetoothd-mcap_sync.Po b/GRIB_BLE_HUB/libs/ble_extend/profiles/health/.deps/bluetoothd-mcap_sync.Po deleted file mode 100644 index 9ce06a8..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/profiles/health/.deps/bluetoothd-mcap_sync.Po +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/GRIB_BLE_HUB/libs/ble_extend/profiles/health/hdp.c b/GRIB_BLE_HUB/libs/ble_extend/profiles/health/hdp.c deleted file mode 100644 index e351219..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/profiles/health/hdp.c +++ /dev/null @@ -1,2239 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2010 GSyC/LibreSoft, Universidad Rey Juan Carlos. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif - -#include -#include -#include -#include -#include - -#include - -#include -#include -#include -#include -#include -#include -#include -#include - -#include "mcap_lib.h" -#include "hdp_types.h" -#include "hdp_util.h" -#include "hdp.h" -#include "mcap.h" - -#define ECHO_TIMEOUT 1 /* second */ -#define HDP_ECHO_LEN 15 - -static GSList *applications = NULL; -static GSList *devices = NULL; -static uint8_t next_app_id = HDP_MDEP_INITIAL; - -static GSList *adapters; - -static gboolean update_adapter(struct hdp_adapter *adapter); -static struct hdp_device *create_health_device(struct btd_device *device); -static void free_echo_data(struct hdp_echo_data *edata); - -struct hdp_create_dc { - DBusMessage *msg; - struct hdp_application *app; - struct hdp_device *dev; - uint8_t config; - uint8_t mdep; - guint ref; - mcap_mdl_operation_cb cb; -}; - -struct hdp_tmp_dc_data { - DBusMessage *msg; - struct hdp_channel *hdp_chann; - guint ref; - mcap_mdl_operation_cb cb; -}; - -struct hdp_echo_data { - gboolean echo_done; /* Is a echo was already done */ - gpointer buf; /* echo packet sent */ - uint tid; /* echo timeout */ -}; - -static struct hdp_channel *hdp_channel_ref(struct hdp_channel *chan) -{ - if (chan == NULL) - return NULL; - - chan->ref++; - - DBG("health_channel_ref(%p): ref=%d", chan, chan->ref); - return chan; -} - -static void free_health_channel(struct hdp_channel *chan) -{ - if (chan->mdep == HDP_MDEP_ECHO) { - free_echo_data(chan->edata); - chan->edata = NULL; - } - - mcap_mdl_unref(chan->mdl); - hdp_application_unref(chan->app); - health_device_unref(chan->dev); - g_free(chan->path); - g_free(chan); -} - -static void hdp_channel_unref(struct hdp_channel *chan) -{ - if (chan == NULL) - return; - - chan->ref --; - DBG("health_channel_unref(%p): ref=%d", chan, chan->ref); - - if (chan->ref > 0) - return; - - free_health_channel(chan); -} - -static void free_hdp_create_dc(struct hdp_create_dc *dc_data) -{ - dbus_message_unref(dc_data->msg); - hdp_application_unref(dc_data->app); - health_device_unref(dc_data->dev); - - g_free(dc_data); -} - -static struct hdp_create_dc *hdp_create_data_ref(struct hdp_create_dc *dc_data) -{ - dc_data->ref++; - - DBG("hdp_create_data_ref(%p): ref=%d", dc_data, dc_data->ref); - - return dc_data; -} - -static void hdp_create_data_unref(struct hdp_create_dc *dc_data) -{ - dc_data->ref--; - - DBG("hdp_create_data_unref(%p): ref=%d", dc_data, dc_data->ref); - - if (dc_data->ref > 0) - return; - - free_hdp_create_dc(dc_data); -} - -static void free_hdp_conn_dc(struct hdp_tmp_dc_data *data) -{ - dbus_message_unref(data->msg); - hdp_channel_unref(data->hdp_chann); - - g_free(data); -} - -static struct hdp_tmp_dc_data *hdp_tmp_dc_data_ref(struct hdp_tmp_dc_data *data) -{ - data->ref++; - - DBG("hdp_conn_data_ref(%p): ref=%d", data, data->ref); - - return data; -} - -static void hdp_tmp_dc_data_unref(struct hdp_tmp_dc_data *data) -{ - data->ref--; - - DBG("hdp_conn_data_unref(%p): ref=%d", data, data->ref); - - if (data->ref > 0) - return; - - free_hdp_conn_dc(data); -} - -static int cmp_app_id(gconstpointer a, gconstpointer b) -{ - const struct hdp_application *app = a; - const uint8_t *id = b; - - return app->id - *id; -} - -static int cmp_adapter(gconstpointer a, gconstpointer b) -{ - const struct hdp_adapter *hdp_adapter = a; - const struct btd_adapter *adapter = b; - - if (hdp_adapter->btd_adapter == adapter) - return 0; - - return -1; -} - -static int cmp_device(gconstpointer a, gconstpointer b) -{ - const struct hdp_device *hdp_device = a; - const struct btd_device *device = b; - - if (hdp_device->dev == device) - return 0; - - return -1; -} - -static gint cmp_dev_addr(gconstpointer a, gconstpointer dst) -{ - const struct hdp_device *device = a; - - return bacmp(device_get_address(device->dev), dst); -} - -static gint cmp_dev_mcl(gconstpointer a, gconstpointer mcl) -{ - const struct hdp_device *device = a; - - if (mcl == device->mcl) - return 0; - return -1; -} - -static gint cmp_chan_mdlid(gconstpointer a, gconstpointer b) -{ - const struct hdp_channel *chan = a; - const uint16_t *mdlid = b; - - return chan->mdlid - *mdlid; -} - -static gint cmp_chan_path(gconstpointer a, gconstpointer b) -{ - const struct hdp_channel *chan = a; - const char *path = b; - - return g_ascii_strcasecmp(chan->path, path); -} - -static gint cmp_chan_mdl(gconstpointer a, gconstpointer mdl) -{ - const struct hdp_channel *chan = a; - - if (chan->mdl == mdl) - return 0; - return -1; -} - -static uint8_t get_app_id(void) -{ - uint8_t id = next_app_id; - - do { - GSList *l = g_slist_find_custom(applications, &id, cmp_app_id); - - if (l == NULL) { - next_app_id = (id % HDP_MDEP_FINAL) + 1; - return id; - } else - id = (id % HDP_MDEP_FINAL) + 1; - } while (id != next_app_id); - - /* No more ids available */ - return 0; -} - -static int cmp_app(gconstpointer a, gconstpointer b) -{ - const struct hdp_application *app = a; - - return g_strcmp0(app->path, b); -} - -static gboolean set_app_path(struct hdp_application *app) -{ - app->id = get_app_id(); - if (app->id == 0) - return FALSE; - app->path = g_strdup_printf(MANAGER_PATH "/health_app_%d", app->id); - - return TRUE; -}; - -static void device_unref_mcl(struct hdp_device *hdp_device) -{ - if (hdp_device->mcl == NULL) - return; - - mcap_close_mcl(hdp_device->mcl, FALSE); - mcap_mcl_unref(hdp_device->mcl); - hdp_device->mcl = NULL; - hdp_device->mcl_conn = FALSE; -} - -static void free_health_device(struct hdp_device *device) -{ - if (device->dev != NULL) { - btd_device_unref(device->dev); - device->dev = NULL; - } - - device_unref_mcl(device); - - g_free(device); -} - -static void remove_application(struct hdp_application *app) -{ - DBG("Application %s deleted", app->path); - hdp_application_unref(app); - - g_slist_foreach(adapters, (GFunc) update_adapter, NULL); -} - -static void client_disconnected(DBusConnection *conn, void *user_data) -{ - struct hdp_application *app = user_data; - - DBG("Client disconnected from the bus, deleting hdp application"); - applications = g_slist_remove(applications, app); - - app->dbus_watcher = 0; /* Watcher shouldn't be freed in this case */ - remove_application(app); -} - -static DBusMessage *manager_create_application(DBusConnection *conn, - DBusMessage *msg, void *user_data) -{ - struct hdp_application *app; - const char *name; - DBusMessageIter iter; - GError *err = NULL; - - dbus_message_iter_init(msg, &iter); - app = hdp_get_app_config(&iter, &err); - if (err != NULL) { - g_error_free(err); - return btd_error_invalid_args(msg); - } - - name = dbus_message_get_sender(msg); - if (name == NULL) { - hdp_application_unref(app); - return g_dbus_create_error(msg, - ERROR_INTERFACE ".HealthError", - "Can't get sender name"); - } - - if (!set_app_path(app)) { - hdp_application_unref(app); - return g_dbus_create_error(msg, - ERROR_INTERFACE ".HealthError", - "Can't get a valid id for the application"); - } - - app->oname = g_strdup(name); - - applications = g_slist_prepend(applications, app); - - app->dbus_watcher = - g_dbus_add_disconnect_watch(btd_get_dbus_connection(), - name, client_disconnected, app, NULL); - g_slist_foreach(adapters, (GFunc) update_adapter, NULL); - - DBG("Health application created with id %s", app->path); - - return g_dbus_create_reply(msg, DBUS_TYPE_OBJECT_PATH, &app->path, - DBUS_TYPE_INVALID); -} - -static DBusMessage *manager_destroy_application(DBusConnection *conn, - DBusMessage *msg, void *user_data) -{ - const char *path; - struct hdp_application *app; - GSList *l; - - if (!dbus_message_get_args(msg, NULL, DBUS_TYPE_OBJECT_PATH, &path, - DBUS_TYPE_INVALID)) - return btd_error_invalid_args(msg); - - l = g_slist_find_custom(applications, path, cmp_app); - - if (l == NULL) - return g_dbus_create_error(msg, - ERROR_INTERFACE ".InvalidArguments", - "Invalid arguments in method call, " - "no such application"); - - app = l->data; - applications = g_slist_remove(applications, app); - - remove_application(app); - - return g_dbus_create_reply(msg, DBUS_TYPE_INVALID); -} - -static void manager_path_unregister(gpointer data) -{ - g_slist_foreach(applications, (GFunc) hdp_application_unref, NULL); - - g_slist_free(applications); - applications = NULL; - - g_slist_foreach(adapters, (GFunc) update_adapter, NULL); -} - -static const GDBusMethodTable health_manager_methods[] = { - { GDBUS_METHOD("CreateApplication", - GDBUS_ARGS({ "config", "a{sv}" }), - GDBUS_ARGS({ "application", "o" }), - manager_create_application) }, - { GDBUS_METHOD("DestroyApplication", - GDBUS_ARGS({ "application", "o" }), NULL, - manager_destroy_application) }, - { } -}; - -static gboolean channel_property_get_device(const GDBusPropertyTable *property, - DBusMessageIter *iter, void *data) -{ - struct hdp_channel *chan = data; - const char *path = device_get_path(chan->dev->dev); - - dbus_message_iter_append_basic(iter, DBUS_TYPE_OBJECT_PATH, &path); - - return TRUE; -} - -static gboolean channel_property_get_application( - const GDBusPropertyTable *property, - DBusMessageIter *iter, void *data) -{ - struct hdp_channel *chan = data; - const char *path = chan->app->path; - - dbus_message_iter_append_basic(iter, DBUS_TYPE_OBJECT_PATH, &path); - - return TRUE; -} - -static gboolean channel_property_get_type(const GDBusPropertyTable *property, - DBusMessageIter *iter, void *data) -{ - struct hdp_channel *chan = data; - const char *type; - - if (chan->config == HDP_RELIABLE_DC) - type = "reliable"; - else - type = "streaming"; - - dbus_message_iter_append_basic(iter, DBUS_TYPE_STRING, &type); - - return TRUE; -} - -static void hdp_tmp_dc_data_destroy(gpointer data) -{ - struct hdp_tmp_dc_data *hdp_conn = data; - - hdp_tmp_dc_data_unref(hdp_conn); -} - -static void abort_mdl_cb(GError *err, gpointer data) -{ - if (err != NULL) - error("Aborting error: %s", err->message); -} - -static void hdp_mdl_reconn_cb(struct mcap_mdl *mdl, GError *err, gpointer data) -{ - DBusConnection *conn = btd_get_dbus_connection(); - struct hdp_tmp_dc_data *dc_data = data; - DBusMessage *reply; - int fd; - - if (err != NULL) { - struct hdp_channel *chan = dc_data->hdp_chann; - GError *gerr = NULL; - - error("%s", err->message); - reply = g_dbus_create_error(dc_data->msg, - ERROR_INTERFACE ".HealthError", - "Cannot reconnect: %s", err->message); - g_dbus_send_message(conn, reply); - - /* Send abort request because remote side */ - /* is now in PENDING state */ - if (!mcap_mdl_abort(chan->mdl, abort_mdl_cb, NULL, NULL, - &gerr)) { - error("%s", gerr->message); - g_error_free(gerr); - } - return; - } - - fd = mcap_mdl_get_fd(dc_data->hdp_chann->mdl); - if (fd < 0) { - reply = g_dbus_create_error(dc_data->msg, - ERROR_INTERFACE ".HealthError", - "Cannot get file descriptor"); - g_dbus_send_message(conn, reply); - return; - } - - reply = g_dbus_create_reply(dc_data->msg, DBUS_TYPE_UNIX_FD, - &fd, DBUS_TYPE_INVALID); - g_dbus_send_message(conn, reply); - - g_dbus_emit_signal(conn, device_get_path(dc_data->hdp_chann->dev->dev), - HEALTH_DEVICE, "ChannelConnected", - DBUS_TYPE_OBJECT_PATH, &dc_data->hdp_chann->path, - DBUS_TYPE_INVALID); -} - -static void hdp_get_dcpsm_cb(uint16_t dcpsm, gpointer user_data, GError *err) -{ - struct hdp_tmp_dc_data *hdp_conn = user_data; - struct hdp_channel *hdp_chann = hdp_conn->hdp_chann; - GError *gerr = NULL; - uint8_t mode; - - if (err != NULL) { - hdp_conn->cb(hdp_chann->mdl, err, hdp_conn); - return; - } - - if (hdp_chann->config == HDP_RELIABLE_DC) - mode = L2CAP_MODE_ERTM; - else - mode = L2CAP_MODE_STREAMING; - - if (mcap_connect_mdl(hdp_chann->mdl, mode, dcpsm, hdp_conn->cb, - hdp_tmp_dc_data_ref(hdp_conn), - hdp_tmp_dc_data_destroy, &gerr)) - return; - - hdp_conn->cb(hdp_chann->mdl, err, hdp_conn); - g_error_free(gerr); - hdp_tmp_dc_data_unref(hdp_conn); -} - -static void device_reconnect_mdl_cb(struct mcap_mdl *mdl, GError *err, - gpointer data) -{ - DBusConnection *conn = btd_get_dbus_connection(); - struct hdp_tmp_dc_data *dc_data = data; - GError *gerr = NULL; - DBusMessage *reply; - - if (err != NULL) { - reply = g_dbus_create_error(dc_data->msg, - ERROR_INTERFACE ".HealthError", - "Cannot reconnect: %s", err->message); - g_dbus_send_message(conn, reply); - return; - } - - dc_data->cb = hdp_mdl_reconn_cb; - - if (hdp_get_dcpsm(dc_data->hdp_chann->dev, hdp_get_dcpsm_cb, - hdp_tmp_dc_data_ref(dc_data), - hdp_tmp_dc_data_destroy, &gerr)) - return; - - error("%s", gerr->message); - - reply = g_dbus_create_error(dc_data->msg, - ERROR_INTERFACE ".HealthError", - "Cannot reconnect: %s", gerr->message); - g_dbus_send_message(conn, reply); - hdp_tmp_dc_data_unref(dc_data); - g_error_free(gerr); - - /* Send abort request because remote side is now in PENDING state */ - if (!mcap_mdl_abort(mdl, abort_mdl_cb, NULL, NULL, &gerr)) { - error("%s", gerr->message); - g_error_free(gerr); - } -} - -static DBusMessage *channel_acquire_continue(struct hdp_tmp_dc_data *data, - GError *err) -{ - DBusMessage *reply; - GError *gerr = NULL; - int fd; - - if (err != NULL) { - return g_dbus_create_error(data->msg, - ERROR_INTERFACE ".HealthError", - "%s", err->message); - } - - fd = mcap_mdl_get_fd(data->hdp_chann->mdl); - if (fd >= 0) - return g_dbus_create_reply(data->msg, DBUS_TYPE_UNIX_FD, &fd, - DBUS_TYPE_INVALID); - - hdp_tmp_dc_data_ref(data); - if (mcap_reconnect_mdl(data->hdp_chann->mdl, device_reconnect_mdl_cb, - data, hdp_tmp_dc_data_destroy, &gerr)) - return NULL; - - reply = g_dbus_create_error(data->msg, ERROR_INTERFACE ".HealthError", - "Cannot reconnect: %s", gerr->message); - g_error_free(gerr); - hdp_tmp_dc_data_unref(data); - - return reply; -} - -static void channel_acquire_cb(gpointer data, GError *err) -{ - DBusMessage *reply; - - reply = channel_acquire_continue(data, err); - - if (reply != NULL) - g_dbus_send_message(btd_get_dbus_connection(), reply); -} - -static DBusMessage *channel_acquire(DBusConnection *conn, - DBusMessage *msg, void *user_data) -{ - struct hdp_channel *chan = user_data; - struct hdp_tmp_dc_data *dc_data; - GError *gerr = NULL; - DBusMessage *reply; - - dc_data = g_new0(struct hdp_tmp_dc_data, 1); - dc_data->msg = dbus_message_ref(msg); - dc_data->hdp_chann = hdp_channel_ref(chan); - - if (chan->dev->mcl_conn) { - reply = channel_acquire_continue(hdp_tmp_dc_data_ref(dc_data), - NULL); - hdp_tmp_dc_data_unref(dc_data); - return reply; - } - - if (hdp_establish_mcl(chan->dev, channel_acquire_cb, - hdp_tmp_dc_data_ref(dc_data), - hdp_tmp_dc_data_destroy, &gerr)) - return NULL; - - reply = g_dbus_create_error(msg, ERROR_INTERFACE ".HealthError", - "%s", gerr->message); - hdp_tmp_dc_data_unref(dc_data); - g_error_free(gerr); - - return reply; -} - -static void close_mdl(struct hdp_channel *hdp_chann) -{ - int fd; - - fd = mcap_mdl_get_fd(hdp_chann->mdl); - if (fd < 0) - return; - - close(fd); -} - -static DBusMessage *channel_release(DBusConnection *conn, - DBusMessage *msg, void *user_data) -{ - struct hdp_channel *hdp_chann = user_data; - - close_mdl(hdp_chann); - - return g_dbus_create_reply(msg, DBUS_TYPE_INVALID); -} - -static void free_echo_data(struct hdp_echo_data *edata) -{ - if (edata == NULL) - return; - - if (edata->tid > 0) - g_source_remove(edata->tid); - - if (edata->buf != NULL) - g_free(edata->buf); - - - g_free(edata); -} - -static void health_channel_destroy(void *data) -{ - struct hdp_channel *hdp_chan = data; - struct hdp_device *dev = hdp_chan->dev; - - DBG("Destroy Health Channel %s", hdp_chan->path); - if (g_slist_find(dev->channels, hdp_chan) == NULL) - goto end; - - dev->channels = g_slist_remove(dev->channels, hdp_chan); - - if (hdp_chan->mdep != HDP_MDEP_ECHO) - g_dbus_emit_signal(btd_get_dbus_connection(), - device_get_path(dev->dev), - HEALTH_DEVICE, "ChannelDeleted", - DBUS_TYPE_OBJECT_PATH, &hdp_chan->path, - DBUS_TYPE_INVALID); - - if (hdp_chan == dev->fr) { - hdp_channel_unref(dev->fr); - dev->fr = NULL; - } - -end: - hdp_channel_unref(hdp_chan); -} - -static const GDBusMethodTable health_channels_methods[] = { - { GDBUS_ASYNC_METHOD("Acquire", - NULL, GDBUS_ARGS({ "fd", "h" }), - channel_acquire) }, - { GDBUS_METHOD("Release", NULL, NULL, channel_release) }, - { } -}; - -static const GDBusPropertyTable health_channels_properties[] = { - { "Device", "o", channel_property_get_device }, - { "Application", "o", channel_property_get_application }, - { "Type", "s", channel_property_get_type }, - { } -}; - -static struct hdp_channel *create_channel(struct hdp_device *dev, - uint8_t config, - struct mcap_mdl *mdl, - uint16_t mdlid, - struct hdp_application *app, - GError **err) -{ - struct hdp_channel *hdp_chann; - - if (dev == NULL) - return NULL; - - hdp_chann = g_new0(struct hdp_channel, 1); - hdp_chann->config = config; - hdp_chann->dev = health_device_ref(dev); - hdp_chann->mdlid = mdlid; - - if (mdl != NULL) - hdp_chann->mdl = mcap_mdl_ref(mdl); - - if (app != NULL) { - hdp_chann->mdep = app->id; - hdp_chann->app = hdp_application_ref(app); - } else - hdp_chann->edata = g_new0(struct hdp_echo_data, 1); - - hdp_chann->path = g_strdup_printf("%s/chan%d", - device_get_path(hdp_chann->dev->dev), - hdp_chann->mdlid); - - dev->channels = g_slist_append(dev->channels, - hdp_channel_ref(hdp_chann)); - - if (hdp_chann->mdep == HDP_MDEP_ECHO) - return hdp_channel_ref(hdp_chann); - - if (!g_dbus_register_interface(btd_get_dbus_connection(), - hdp_chann->path, HEALTH_CHANNEL, - health_channels_methods, NULL, - health_channels_properties, hdp_chann, - health_channel_destroy)) { - g_set_error(err, HDP_ERROR, HDP_UNSPECIFIED_ERROR, - "Can't register the channel interface"); - health_channel_destroy(hdp_chann); - return NULL; - } - - return hdp_channel_ref(hdp_chann); -} - -static void remove_channels(struct hdp_device *dev) -{ - struct hdp_channel *chan; - char *path; - - while (dev->channels != NULL) { - chan = dev->channels->data; - - path = g_strdup(chan->path); - if (!g_dbus_unregister_interface(btd_get_dbus_connection(), - path, HEALTH_CHANNEL)) - health_channel_destroy(chan); - g_free(path); - } -} - -static void close_device_con(struct hdp_device *dev, gboolean cache) -{ - if (dev->mcl == NULL) - return; - - mcap_close_mcl(dev->mcl, cache); - dev->mcl_conn = FALSE; - - if (cache) - return; - - device_unref_mcl(dev); - remove_channels(dev); - - if (!dev->sdp_present) { - const char *path; - - path = device_get_path(dev->dev); - g_dbus_unregister_interface(btd_get_dbus_connection(), - path, HEALTH_DEVICE); - } -} - -static int send_echo_data(int sock, const void *buf, uint32_t size) -{ - const uint8_t *buf_b = buf; - uint32_t sent = 0; - - while (sent < size) { - int n = write(sock, buf_b + sent, size - sent); - if (n < 0) - return -1; - sent += n; - } - - return 0; -} - -static gboolean serve_echo(GIOChannel *io_chan, GIOCondition cond, - gpointer data) -{ - struct hdp_channel *chan = data; - uint8_t buf[MCAP_DC_MTU]; - int fd, len; - - if (cond & (G_IO_ERR | G_IO_HUP | G_IO_NVAL)) { - hdp_channel_unref(chan); - return FALSE; - } - - if (chan->edata->echo_done) - goto fail; - - chan->edata->echo_done = TRUE; - - fd = g_io_channel_unix_get_fd(io_chan); - len = read(fd, buf, sizeof(buf)); - - if (send_echo_data(fd, buf, len) >= 0) - return TRUE; - -fail: - close_device_con(chan->dev, FALSE); - hdp_channel_unref(chan); - return FALSE; -} - -static gboolean check_channel_conf(struct hdp_channel *chan) -{ - GError *err = NULL; - GIOChannel *io; - uint8_t mode; - uint16_t imtu, omtu; - int fd; - - fd = mcap_mdl_get_fd(chan->mdl); - if (fd < 0) - return FALSE; - io = g_io_channel_unix_new(fd); - - if (!bt_io_get(io, &err, - BT_IO_OPT_MODE, &mode, - BT_IO_OPT_IMTU, &imtu, - BT_IO_OPT_OMTU, &omtu, - BT_IO_OPT_INVALID)) { - error("Error: %s", err->message); - g_io_channel_unref(io); - g_error_free(err); - return FALSE; - } - - g_io_channel_unref(io); - - switch (chan->config) { - case HDP_RELIABLE_DC: - if (mode != L2CAP_MODE_ERTM) - return FALSE; - break; - case HDP_STREAMING_DC: - if (mode != L2CAP_MODE_STREAMING) - return FALSE; - break; - default: - error("Error: Connected with unknown configuration"); - return FALSE; - } - - DBG("MDL imtu %d omtu %d Channel imtu %d omtu %d", imtu, omtu, - chan->imtu, chan->omtu); - - if (chan->imtu == 0) - chan->imtu = imtu; - if (chan->omtu == 0) - chan->omtu = omtu; - - if (chan->imtu != imtu || chan->omtu != omtu) - return FALSE; - - return TRUE; -} - -static void hdp_mcap_mdl_connected_cb(struct mcap_mdl *mdl, void *data) -{ - struct hdp_device *dev = data; - struct hdp_channel *chan; - - DBG("hdp_mcap_mdl_connected_cb"); - if (dev->ndc == NULL) - return; - - chan = dev->ndc; - if (chan->mdl == NULL) - chan->mdl = mcap_mdl_ref(mdl); - - if (g_slist_find(dev->channels, chan) == NULL) - dev->channels = g_slist_prepend(dev->channels, - hdp_channel_ref(chan)); - - if (!check_channel_conf(chan)) { - close_mdl(chan); - goto end; - } - - if (chan->mdep == HDP_MDEP_ECHO) { - GIOChannel *io; - int fd; - - fd = mcap_mdl_get_fd(chan->mdl); - if (fd < 0) - goto end; - - chan->edata->echo_done = FALSE; - io = g_io_channel_unix_new(fd); - g_io_add_watch(io, G_IO_ERR | G_IO_HUP | G_IO_NVAL | G_IO_IN, - serve_echo, hdp_channel_ref(chan)); - g_io_channel_unref(io); - goto end; - } - - g_dbus_emit_signal(btd_get_dbus_connection(), device_get_path(dev->dev), - HEALTH_DEVICE, "ChannelConnected", - DBUS_TYPE_OBJECT_PATH, &chan->path, - DBUS_TYPE_INVALID); - - if (dev->fr != NULL) - goto end; - - dev->fr = hdp_channel_ref(chan); - - g_dbus_emit_property_changed(btd_get_dbus_connection(), - device_get_path(dev->dev), HEALTH_DEVICE, - "MainChannel"); - -end: - hdp_channel_unref(dev->ndc); - dev->ndc = NULL; -} - -static void hdp_mcap_mdl_closed_cb(struct mcap_mdl *mdl, void *data) -{ - /* struct hdp_device *dev = data; */ - - DBG("hdp_mcap_mdl_closed_cb"); - - /* Nothing to do */ -} - -static void hdp_mcap_mdl_deleted_cb(struct mcap_mdl *mdl, void *data) -{ - struct hdp_device *dev = data; - struct hdp_channel *chan; - char *path; - GSList *l; - - DBG("hdp_mcap_mdl_deleted_cb"); - l = g_slist_find_custom(dev->channels, mdl, cmp_chan_mdl); - if (l == NULL) - return; - - chan = l->data; - - path = g_strdup(chan->path); - if (!g_dbus_unregister_interface(btd_get_dbus_connection(), - path, HEALTH_CHANNEL)) - health_channel_destroy(chan); - g_free(path); -} - -static void hdp_mcap_mdl_aborted_cb(struct mcap_mdl *mdl, void *data) -{ - struct hdp_device *dev = data; - - DBG("hdp_mcap_mdl_aborted_cb"); - if (dev->ndc == NULL) - return; - - dev->ndc->mdl = mcap_mdl_ref(mdl); - - if (g_slist_find(dev->channels, dev->ndc) == NULL) - dev->channels = g_slist_prepend(dev->channels, - hdp_channel_ref(dev->ndc)); - - if (dev->ndc->mdep != HDP_MDEP_ECHO) - g_dbus_emit_signal(btd_get_dbus_connection(), - device_get_path(dev->dev), - HEALTH_DEVICE, "ChannelConnected", - DBUS_TYPE_OBJECT_PATH, &dev->ndc->path, - DBUS_TYPE_INVALID); - - hdp_channel_unref(dev->ndc); - dev->ndc = NULL; -} - -static uint8_t hdp2l2cap_mode(uint8_t hdp_mode) -{ - return hdp_mode == HDP_STREAMING_DC ? L2CAP_MODE_STREAMING : - L2CAP_MODE_ERTM; -} - -static uint8_t hdp_mcap_mdl_conn_req_cb(struct mcap_mcl *mcl, uint8_t mdepid, - uint16_t mdlid, uint8_t *conf, void *data) -{ - struct hdp_device *dev = data; - struct hdp_application *app; - GError *err = NULL; - GSList *l; - - DBG("Data channel request"); - - if (mdepid == HDP_MDEP_ECHO) { - switch (*conf) { - case HDP_NO_PREFERENCE_DC: - *conf = HDP_RELIABLE_DC; - case HDP_RELIABLE_DC: - break; - case HDP_STREAMING_DC: - return MCAP_CONFIGURATION_REJECTED; - default: - /* Special case defined in HDP spec 3.4. When an invalid - * configuration is received we shall close the MCL when - * we are still processing the callback. */ - close_device_con(dev, FALSE); - return MCAP_CONFIGURATION_REJECTED; /* not processed */ - } - - if (!mcap_set_data_chan_mode(dev->hdp_adapter->mi, - L2CAP_MODE_ERTM, &err)) { - error("Error: %s", err->message); - g_error_free(err); - return MCAP_MDL_BUSY; - } - - dev->ndc = create_channel(dev, *conf, NULL, mdlid, NULL, NULL); - if (dev->ndc == NULL) - return MCAP_MDL_BUSY; - - return MCAP_SUCCESS; - } - - l = g_slist_find_custom(applications, &mdepid, cmp_app_id); - if (l == NULL) - return MCAP_INVALID_MDEP; - - app = l->data; - - /* Check if is the first dc if so, - * only reliable configuration is allowed */ - switch (*conf) { - case HDP_NO_PREFERENCE_DC: - if (app->role == HDP_SINK) - return MCAP_CONFIGURATION_REJECTED; - else if (dev->fr && app->chan_type_set) - *conf = app->chan_type; - else - *conf = HDP_RELIABLE_DC; - break; - case HDP_STREAMING_DC: - if (!dev->fr || app->role == HDP_SOURCE) - return MCAP_CONFIGURATION_REJECTED; - case HDP_RELIABLE_DC: - if (app->role == HDP_SOURCE) - return MCAP_CONFIGURATION_REJECTED; - break; - default: - /* Special case defined in HDP spec 3.4. When an invalid - * configuration is received we shall close the MCL when - * we are still processing the callback. */ - close_device_con(dev, FALSE); - return MCAP_CONFIGURATION_REJECTED; /* not processed */ - } - - l = g_slist_find_custom(dev->channels, &mdlid, cmp_chan_mdlid); - if (l != NULL) { - struct hdp_channel *chan = l->data; - char *path; - - path = g_strdup(chan->path); - g_dbus_unregister_interface(btd_get_dbus_connection(), - path, HEALTH_CHANNEL); - g_free(path); - } - - if (!mcap_set_data_chan_mode(dev->hdp_adapter->mi, - hdp2l2cap_mode(*conf), &err)) { - error("Error: %s", err->message); - g_error_free(err); - return MCAP_MDL_BUSY; - } - - dev->ndc = create_channel(dev, *conf, NULL, mdlid, app, NULL); - if (dev->ndc == NULL) - return MCAP_MDL_BUSY; - - return MCAP_SUCCESS; -} - -static uint8_t hdp_mcap_mdl_reconn_req_cb(struct mcap_mdl *mdl, void *data) -{ - struct hdp_device *dev = data; - struct hdp_channel *chan; - GError *err = NULL; - GSList *l; - - l = g_slist_find_custom(dev->channels, mdl, cmp_chan_mdl); - if (l == NULL) - return MCAP_INVALID_MDL; - - chan = l->data; - - if (dev->fr == NULL && chan->config != HDP_RELIABLE_DC && - chan->mdep != HDP_MDEP_ECHO) - return MCAP_UNSPECIFIED_ERROR; - - if (!mcap_set_data_chan_mode(dev->hdp_adapter->mi, - hdp2l2cap_mode(chan->config), &err)) { - error("Error: %s", err->message); - g_error_free(err); - return MCAP_MDL_BUSY; - } - - dev->ndc = hdp_channel_ref(chan); - - return MCAP_SUCCESS; -} - -gboolean hdp_set_mcl_cb(struct hdp_device *device, GError **err) -{ - gboolean ret; - - if (device->mcl == NULL) - return FALSE; - - ret = mcap_mcl_set_cb(device->mcl, device, err, - MCAP_MDL_CB_CONNECTED, hdp_mcap_mdl_connected_cb, - MCAP_MDL_CB_CLOSED, hdp_mcap_mdl_closed_cb, - MCAP_MDL_CB_DELETED, hdp_mcap_mdl_deleted_cb, - MCAP_MDL_CB_ABORTED, hdp_mcap_mdl_aborted_cb, - MCAP_MDL_CB_REMOTE_CONN_REQ, hdp_mcap_mdl_conn_req_cb, - MCAP_MDL_CB_REMOTE_RECONN_REQ, hdp_mcap_mdl_reconn_req_cb, - MCAP_MDL_CB_INVALID); - - if (ret) - return TRUE; - - error("Can't set mcl callbacks, closing mcl"); - close_device_con(device, TRUE); - - return FALSE; -} - -static void mcl_connected(struct mcap_mcl *mcl, gpointer data) -{ - struct hdp_device *hdp_device; - bdaddr_t addr; - GSList *l; - - mcap_mcl_get_addr(mcl, &addr); - l = g_slist_find_custom(devices, &addr, cmp_dev_addr); - if (l == NULL) { - struct hdp_adapter *hdp_adapter = data; - struct btd_device *device; - - device = adapter_get_device(hdp_adapter->btd_adapter, &addr, - BDADDR_BREDR); - if (!device) - return; - hdp_device = create_health_device(device); - if (!hdp_device) - return; - devices = g_slist_append(devices, hdp_device); - } else - hdp_device = l->data; - - hdp_device->mcl = mcap_mcl_ref(mcl); - hdp_device->mcl_conn = TRUE; - - DBG("New mcl connected from %s", device_get_path(hdp_device->dev)); - - hdp_set_mcl_cb(hdp_device, NULL); -} - -static void mcl_reconnected(struct mcap_mcl *mcl, gpointer data) -{ - struct hdp_device *hdp_device; - GSList *l; - - l = g_slist_find_custom(devices, mcl, cmp_dev_mcl); - if (l == NULL) - return; - - hdp_device = l->data; - hdp_device->mcl_conn = TRUE; - - DBG("MCL reconnected %s", device_get_path(hdp_device->dev)); - - hdp_set_mcl_cb(hdp_device, NULL); -} - -static void mcl_disconnected(struct mcap_mcl *mcl, gpointer data) -{ - struct hdp_device *hdp_device; - GSList *l; - - l = g_slist_find_custom(devices, mcl, cmp_dev_mcl); - if (l == NULL) - return; - - hdp_device = l->data; - hdp_device->mcl_conn = FALSE; - - DBG("Mcl disconnected %s", device_get_path(hdp_device->dev)); -} - -static void mcl_uncached(struct mcap_mcl *mcl, gpointer data) -{ - struct hdp_device *hdp_device; - const char *path; - GSList *l; - - l = g_slist_find_custom(devices, mcl, cmp_dev_mcl); - if (l == NULL) - return; - - hdp_device = l->data; - device_unref_mcl(hdp_device); - - if (hdp_device->sdp_present) - return; - - /* Because remote device hasn't announced an HDP record */ - /* the Bluetooth daemon won't notify when the device shall */ - /* be removed. Then we have to remove the HealthDevice */ - /* interface manually */ - path = device_get_path(hdp_device->dev); - g_dbus_unregister_interface(btd_get_dbus_connection(), - path, HEALTH_DEVICE); - DBG("Mcl uncached %s", path); -} - -static void check_devices_mcl(void) -{ - struct hdp_device *dev; - GSList *l, *to_delete = NULL; - - for (l = devices; l; l = l->next) { - dev = l->data; - device_unref_mcl(dev); - - if (!dev->sdp_present) - to_delete = g_slist_append(to_delete, dev); - else - remove_channels(dev); - } - - for (l = to_delete; l; l = l->next) { - const char *path; - - path = device_get_path(dev->dev); - g_dbus_unregister_interface(btd_get_dbus_connection(), - path, HEALTH_DEVICE); - } - - g_slist_free(to_delete); -} - -static void release_adapter_instance(struct hdp_adapter *hdp_adapter) -{ - if (hdp_adapter->mi == NULL) - return; - - check_devices_mcl(); - mcap_release_instance(hdp_adapter->mi); - mcap_instance_unref(hdp_adapter->mi); - hdp_adapter->mi = NULL; -} - -static gboolean update_adapter(struct hdp_adapter *hdp_adapter) -{ - GError *err = NULL; - - if (applications == NULL) { - release_adapter_instance(hdp_adapter); - goto update; - } - - if (hdp_adapter->mi != NULL) - goto update; - - hdp_adapter->mi = mcap_create_instance( - adapter_get_address(hdp_adapter->btd_adapter), - BT_IO_SEC_MEDIUM, 0, 0, - mcl_connected, mcl_reconnected, - mcl_disconnected, mcl_uncached, - NULL, /* CSP is not used by now */ - hdp_adapter, &err); - - if (hdp_adapter->mi == NULL) { - error("Error creating the MCAP instance: %s", err->message); - g_error_free(err); - return FALSE; - } - - hdp_adapter->ccpsm = mcap_get_ctrl_psm(hdp_adapter->mi, &err); - if (err != NULL) { - error("Error getting MCAP control PSM: %s", err->message); - goto fail; - } - - hdp_adapter->dcpsm = mcap_get_data_psm(hdp_adapter->mi, &err); - if (err != NULL) { - error("Error getting MCAP data PSM: %s", err->message); - goto fail; - } - -update: - if (hdp_update_sdp_record(hdp_adapter, applications)) - return TRUE; - error("Error updating the SDP record"); - -fail: - release_adapter_instance(hdp_adapter); - if (err != NULL) - g_error_free(err); - - return FALSE; -} - -int hdp_adapter_register(struct btd_adapter *adapter) -{ - struct hdp_adapter *hdp_adapter; - - hdp_adapter = g_new0(struct hdp_adapter, 1); - hdp_adapter->btd_adapter = btd_adapter_ref(adapter); - - if(!update_adapter(hdp_adapter)) - goto fail; - - adapters = g_slist_append(adapters, hdp_adapter); - - return 0; - -fail: - btd_adapter_unref(hdp_adapter->btd_adapter); - g_free(hdp_adapter); - return -1; -} - -void hdp_adapter_unregister(struct btd_adapter *adapter) -{ - struct hdp_adapter *hdp_adapter; - GSList *l; - - l = g_slist_find_custom(adapters, adapter, cmp_adapter); - - if (l == NULL) - return; - - hdp_adapter = l->data; - adapters = g_slist_remove(adapters, hdp_adapter); - if (hdp_adapter->sdp_handler > 0) - remove_record_from_server(hdp_adapter->sdp_handler); - release_adapter_instance(hdp_adapter); - btd_adapter_unref(hdp_adapter->btd_adapter); - g_free(hdp_adapter); -} - -static void delete_echo_channel_cb(GError *err, gpointer chan) -{ - if (err != NULL && err->code != MCAP_INVALID_MDL) { - /* TODO: Decide if more action is required here */ - error("Error deleting echo channel: %s", err->message); - return; - } - - health_channel_destroy(chan); -} - -static void delete_echo_channel(struct hdp_channel *chan) -{ - GError *err = NULL; - - if (!chan->dev->mcl_conn) { - error("Echo channel cannot be deleted: mcl closed"); - return; - } - - if (mcap_delete_mdl(chan->mdl, delete_echo_channel_cb, - hdp_channel_ref(chan), - (GDestroyNotify) hdp_channel_unref, &err)) - return; - - hdp_channel_unref(chan); - error("Error deleting the echo channel: %s", err->message); - g_error_free(err); - - /* TODO: Decide if more action is required here */ -} - -static void abort_echo_channel_cb(GError *err, gpointer data) -{ - struct hdp_channel *chan = data; - - if (err != NULL && err->code != MCAP_ERROR_INVALID_OPERATION) { - error("Aborting error: %s", err->message); - if (err->code == MCAP_INVALID_MDL) { - /* MDL is removed from MCAP so we can */ - /* free the data channel without sending */ - /* a MD_DELETE_MDL_REQ */ - /* TODO review the above comment */ - /* hdp_channel_unref(chan); */ - } - return; - } - - delete_echo_channel(chan); -} - -static void destroy_create_dc_data(gpointer data) -{ - struct hdp_create_dc *dc_data = data; - - hdp_create_data_unref(dc_data); -} - -static void *generate_echo_packet(void) -{ - uint8_t *buf; - int i; - - buf = g_malloc(HDP_ECHO_LEN); - srand(time(NULL)); - - for(i = 0; i < HDP_ECHO_LEN; i++) - buf[i] = rand() % UINT8_MAX; - - return buf; -} - -static gboolean check_echo(GIOChannel *io_chan, GIOCondition cond, - gpointer data) -{ - struct hdp_tmp_dc_data *hdp_conn = data; - struct hdp_echo_data *edata = hdp_conn->hdp_chann->edata; - struct hdp_channel *chan = hdp_conn->hdp_chann; - uint8_t buf[MCAP_DC_MTU]; - DBusMessage *reply; - gboolean value; - int fd, len; - - if (cond & (G_IO_ERR | G_IO_HUP | G_IO_NVAL)) { - value = FALSE; - goto end; - } - - fd = g_io_channel_unix_get_fd(io_chan); - len = read(fd, buf, sizeof(buf)); - - if (len != HDP_ECHO_LEN) { - value = FALSE; - goto end; - } - - value = (memcmp(buf, edata->buf, len) == 0); - -end: - reply = g_dbus_create_reply(hdp_conn->msg, DBUS_TYPE_BOOLEAN, &value, - DBUS_TYPE_INVALID); - g_dbus_send_message(btd_get_dbus_connection(), reply); - g_source_remove(edata->tid); - edata->tid = 0; - g_free(edata->buf); - edata->buf = NULL; - - if (!value) - close_device_con(chan->dev, FALSE); - else - delete_echo_channel(chan); - hdp_tmp_dc_data_unref(hdp_conn); - - return FALSE; -} - -static gboolean echo_timeout(gpointer data) -{ - struct hdp_channel *chan = data; - GIOChannel *io; - int fd; - - error("Error: Echo request timeout"); - chan->edata->tid = 0; - - fd = mcap_mdl_get_fd(chan->mdl); - if (fd < 0) - return FALSE; - - io = g_io_channel_unix_new(fd); - g_io_channel_shutdown(io, TRUE, NULL); - - return FALSE; -} - -static void hdp_echo_connect_cb(struct mcap_mdl *mdl, GError *err, - gpointer data) -{ - DBusConnection *conn = btd_get_dbus_connection(); - struct hdp_tmp_dc_data *hdp_conn = data; - struct hdp_echo_data *edata; - GError *gerr = NULL; - DBusMessage *reply; - GIOChannel *io; - int fd; - - if (err != NULL) { - reply = g_dbus_create_error(hdp_conn->msg, - ERROR_INTERFACE ".HealthError", - "%s", err->message); - g_dbus_send_message(conn, reply); - - /* Send abort request because remote */ - /* side is now in PENDING state. */ - if (!mcap_mdl_abort(hdp_conn->hdp_chann->mdl, - abort_echo_channel_cb, - hdp_channel_ref(hdp_conn->hdp_chann), - (GDestroyNotify) hdp_channel_unref, - &gerr)) { - error("%s", gerr->message); - g_error_free(gerr); - hdp_channel_unref(hdp_conn->hdp_chann); - } - return; - } - - fd = mcap_mdl_get_fd(hdp_conn->hdp_chann->mdl); - if (fd < 0) { - reply = g_dbus_create_error(hdp_conn->msg, - ERROR_INTERFACE ".HealthError", - "Can't write in echo channel"); - g_dbus_send_message(conn, reply); - delete_echo_channel(hdp_conn->hdp_chann); - return; - } - - edata = hdp_conn->hdp_chann->edata; - edata->buf = generate_echo_packet(); - send_echo_data(fd, edata->buf, HDP_ECHO_LEN); - - io = g_io_channel_unix_new(fd); - g_io_add_watch(io, G_IO_ERR | G_IO_HUP | G_IO_NVAL | G_IO_IN, - check_echo, hdp_tmp_dc_data_ref(hdp_conn)); - - edata->tid = g_timeout_add_seconds_full(G_PRIORITY_DEFAULT, - ECHO_TIMEOUT, echo_timeout, - hdp_channel_ref(hdp_conn->hdp_chann), - (GDestroyNotify) hdp_channel_unref); - - g_io_channel_unref(io); -} - -static void delete_mdl_cb(GError *err, gpointer data) -{ - if (err != NULL) - error("Deleting error: %s", err->message); -} - -static void abort_and_del_mdl_cb(GError *err, gpointer data) -{ - struct mcap_mdl *mdl = data; - GError *gerr = NULL; - - if (err != NULL) { - error("%s", err->message); - if (err->code == MCAP_INVALID_MDL) { - /* MDL is removed from MCAP so we don't */ - /* need to delete it. */ - return; - } - } - - if (!mcap_delete_mdl(mdl, delete_mdl_cb, NULL, NULL, &gerr)) { - error("%s", gerr->message); - g_error_free(gerr); - } -} - -static void abort_mdl_connection_cb(GError *err, gpointer data) -{ - struct hdp_tmp_dc_data *hdp_conn = data; - struct hdp_channel *hdp_chann = hdp_conn->hdp_chann; - - if (err != NULL) - error("Aborting error: %s", err->message); - - /* Connection operation has failed but we have to */ - /* notify the channel created at MCAP level */ - if (hdp_chann->mdep != HDP_MDEP_ECHO) - g_dbus_emit_signal(btd_get_dbus_connection(), - device_get_path(hdp_chann->dev->dev), - HEALTH_DEVICE, "ChannelConnected", - DBUS_TYPE_OBJECT_PATH, &hdp_chann->path, - DBUS_TYPE_INVALID); -} - -static void hdp_mdl_conn_cb(struct mcap_mdl *mdl, GError *err, gpointer data) -{ - DBusConnection *conn = btd_get_dbus_connection(); - struct hdp_tmp_dc_data *hdp_conn = data; - struct hdp_channel *hdp_chann = hdp_conn->hdp_chann; - struct hdp_device *dev = hdp_chann->dev; - DBusMessage *reply; - GError *gerr = NULL; - - if (err != NULL) { - error("%s", err->message); - reply = g_dbus_create_reply(hdp_conn->msg, - DBUS_TYPE_OBJECT_PATH, &hdp_chann->path, - DBUS_TYPE_INVALID); - g_dbus_send_message(conn, reply); - - /* Send abort request because remote side */ - /* is now in PENDING state */ - if (!mcap_mdl_abort(hdp_chann->mdl, abort_mdl_connection_cb, - hdp_tmp_dc_data_ref(hdp_conn), - hdp_tmp_dc_data_destroy, &gerr)) { - hdp_tmp_dc_data_unref(hdp_conn); - error("%s", gerr->message); - g_error_free(gerr); - } - return; - } - - reply = g_dbus_create_reply(hdp_conn->msg, - DBUS_TYPE_OBJECT_PATH, &hdp_chann->path, - DBUS_TYPE_INVALID); - g_dbus_send_message(conn, reply); - - g_dbus_emit_signal(conn, device_get_path(hdp_chann->dev->dev), - HEALTH_DEVICE, "ChannelConnected", - DBUS_TYPE_OBJECT_PATH, &hdp_chann->path, - DBUS_TYPE_INVALID); - - if (!check_channel_conf(hdp_chann)) { - close_mdl(hdp_chann); - return; - } - - if (dev->fr != NULL) - return; - - dev->fr = hdp_channel_ref(hdp_chann); - - g_dbus_emit_property_changed(btd_get_dbus_connection(), - device_get_path(dev->dev), HEALTH_DEVICE, - "MainChannel"); -} - -static void device_create_mdl_cb(struct mcap_mdl *mdl, uint8_t conf, - GError *err, gpointer data) -{ - DBusConnection *conn = btd_get_dbus_connection(); - struct hdp_create_dc *user_data = data; - struct hdp_tmp_dc_data *hdp_conn; - struct hdp_channel *hdp_chan; - GError *gerr = NULL; - DBusMessage *reply; - - if (err != NULL) { - reply = g_dbus_create_error(user_data->msg, - ERROR_INTERFACE ".HealthError", - "%s", err->message); - g_dbus_send_message(conn, reply); - return; - } - - if (user_data->mdep != HDP_MDEP_ECHO && - user_data->config == HDP_NO_PREFERENCE_DC) { - if (user_data->dev->fr == NULL && conf != HDP_RELIABLE_DC) { - g_set_error(&gerr, HDP_ERROR, HDP_CONNECTION_ERROR, - "Data channel aborted, first data " - "channel should be reliable"); - goto fail; - } else if (conf == HDP_NO_PREFERENCE_DC || - conf > HDP_STREAMING_DC) { - g_set_error(&gerr, HDP_ERROR, HDP_CONNECTION_ERROR, - "Data channel aborted, " - "configuration error"); - goto fail; - } - } - - hdp_chan = create_channel(user_data->dev, conf, mdl, - mcap_mdl_get_mdlid(mdl), - user_data->app, &gerr); - if (hdp_chan == NULL) - goto fail; - - hdp_conn = g_new0(struct hdp_tmp_dc_data, 1); - hdp_conn->msg = dbus_message_ref(user_data->msg); - hdp_conn->hdp_chann = hdp_chan; - hdp_conn->cb = user_data->cb; - hdp_chan->mdep = user_data->mdep; - - if (hdp_get_dcpsm(hdp_chan->dev, hdp_get_dcpsm_cb, - hdp_tmp_dc_data_ref(hdp_conn), - hdp_tmp_dc_data_destroy, &gerr)) - return; - - error("%s", gerr->message); - g_error_free(gerr); - - reply = g_dbus_create_reply(hdp_conn->msg, - DBUS_TYPE_OBJECT_PATH, &hdp_chan->path, - DBUS_TYPE_INVALID); - g_dbus_send_message(conn, reply); - hdp_tmp_dc_data_unref(hdp_conn); - - /* Send abort request because remote side is now in PENDING state */ - if (!mcap_mdl_abort(hdp_chan->mdl, abort_mdl_connection_cb, - hdp_tmp_dc_data_ref(hdp_conn), - hdp_tmp_dc_data_destroy, &gerr)) { - hdp_tmp_dc_data_unref(hdp_conn); - error("%s", gerr->message); - g_error_free(gerr); - } - - return; - -fail: - reply = g_dbus_create_error(user_data->msg, - ERROR_INTERFACE ".HealthError", - "%s", gerr->message); - g_dbus_send_message(conn, reply); - g_error_free(gerr); - - /* Send abort request because remote side is now in PENDING */ - /* state. Then we have to delete it because we couldn't */ - /* register the HealthChannel interface */ - if (!mcap_mdl_abort(mdl, abort_and_del_mdl_cb, mcap_mdl_ref(mdl), - (GDestroyNotify) mcap_mdl_unref, &gerr)) { - error("%s", gerr->message); - g_error_free(gerr); - mcap_mdl_unref(mdl); - } -} - -static void device_create_dc_cb(gpointer user_data, GError *err) -{ - DBusConnection *conn = btd_get_dbus_connection(); - struct hdp_create_dc *data = user_data; - DBusMessage *reply; - GError *gerr = NULL; - - if (err != NULL) { - reply = g_dbus_create_error(data->msg, - ERROR_INTERFACE ".HealthError", - "%s", err->message); - g_dbus_send_message(conn, reply); - return; - } - - if (data->dev->mcl == NULL) { - g_set_error(&gerr, HDP_ERROR, HDP_CONNECTION_ERROR, - "Mcl was closed"); - goto fail; - } - - hdp_create_data_ref(data); - - if (mcap_create_mdl(data->dev->mcl, data->mdep, data->config, - device_create_mdl_cb, data, - destroy_create_dc_data, &gerr)) - return; - hdp_create_data_unref(data); - -fail: - reply = g_dbus_create_error(data->msg, ERROR_INTERFACE ".HealthError", - "%s", gerr->message); - g_error_free(gerr); - g_dbus_send_message(conn, reply); -} - -static DBusMessage *device_echo(DBusConnection *conn, - DBusMessage *msg, void *user_data) -{ - struct hdp_device *device = user_data; - struct hdp_create_dc *data; - DBusMessage *reply; - GError *err = NULL; - - data = g_new0(struct hdp_create_dc, 1); - data->dev = health_device_ref(device); - data->mdep = HDP_MDEP_ECHO; - data->config = HDP_RELIABLE_DC; - data->msg = dbus_message_ref(msg); - data->cb = hdp_echo_connect_cb; - hdp_create_data_ref(data); - - if (device->mcl_conn && device->mcl != NULL) { - if (mcap_create_mdl(device->mcl, data->mdep, data->config, - device_create_mdl_cb, data, - destroy_create_dc_data, &err)) - return NULL; - goto fail; - } - - if (hdp_establish_mcl(data->dev, device_create_dc_cb, - data, destroy_create_dc_data, &err)) - return NULL; - -fail: - reply = g_dbus_create_error(msg, ERROR_INTERFACE ".HealthError", - "%s", err->message); - g_error_free(err); - hdp_create_data_unref(data); - return reply; -} - -static void device_get_mdep_cb(uint8_t mdep, gpointer data, GError *err) -{ - DBusConnection *conn = btd_get_dbus_connection(); - struct hdp_create_dc *dc_data, *user_data = data; - DBusMessage *reply; - GError *gerr = NULL; - - if (err != NULL) { - reply = g_dbus_create_error(user_data->msg, - ERROR_INTERFACE ".HealthError", - "%s", err->message); - g_dbus_send_message(conn, reply); - return; - } - - dc_data = hdp_create_data_ref(user_data); - dc_data->mdep = mdep; - - if (user_data->dev->mcl_conn) { - device_create_dc_cb(dc_data, NULL); - hdp_create_data_unref(dc_data); - return; - } - - if (hdp_establish_mcl(dc_data->dev, device_create_dc_cb, - dc_data, destroy_create_dc_data, &gerr)) - return; - - reply = g_dbus_create_error(user_data->msg, - ERROR_INTERFACE ".HealthError", - "%s", gerr->message); - hdp_create_data_unref(dc_data); - g_error_free(gerr); - g_dbus_send_message(conn, reply); -} - -static DBusMessage *device_create_channel(DBusConnection *conn, - DBusMessage *msg, void *user_data) -{ - struct hdp_device *device = user_data; - struct hdp_application *app; - struct hdp_create_dc *data; - char *app_path, *conf; - DBusMessage *reply; - GError *err = NULL; - uint8_t config; - GSList *l; - - if (!dbus_message_get_args(msg, NULL, DBUS_TYPE_OBJECT_PATH, &app_path, - DBUS_TYPE_STRING, &conf, - DBUS_TYPE_INVALID)) - return btd_error_invalid_args(msg); - - l = g_slist_find_custom(applications, app_path, cmp_app); - if (l == NULL) - return btd_error_invalid_args(msg); - - app = l->data; - - if (g_ascii_strcasecmp("reliable", conf) == 0) - config = HDP_RELIABLE_DC; - else if (g_ascii_strcasecmp("streaming", conf) == 0) - config = HDP_STREAMING_DC; - else if (g_ascii_strcasecmp("any", conf) == 0) - config = HDP_NO_PREFERENCE_DC; - else - return btd_error_invalid_args(msg); - - if (app->role == HDP_SINK && config != HDP_NO_PREFERENCE_DC) - return btd_error_invalid_args(msg); - - if (app->role == HDP_SOURCE && config == HDP_NO_PREFERENCE_DC) - return btd_error_invalid_args(msg); - - if (!device->fr && config == HDP_STREAMING_DC) - return btd_error_invalid_args(msg); - - data = g_new0(struct hdp_create_dc, 1); - data->dev = health_device_ref(device); - data->config = config; - data->app = hdp_application_ref(app); - data->msg = dbus_message_ref(msg); - data->cb = hdp_mdl_conn_cb; - - if (hdp_get_mdep(device, l->data, device_get_mdep_cb, - hdp_create_data_ref(data), - destroy_create_dc_data, &err)) - return NULL; - - reply = g_dbus_create_error(msg, ERROR_INTERFACE ".HealthError", - "%s", err->message); - g_error_free(err); - hdp_create_data_unref(data); - return reply; -} - -static void hdp_mdl_delete_cb(GError *err, gpointer data) -{ - DBusConnection *conn = btd_get_dbus_connection(); - struct hdp_tmp_dc_data *del_data = data; - DBusMessage *reply; - char *path; - - if (err != NULL && err->code != MCAP_INVALID_MDL) { - reply = g_dbus_create_error(del_data->msg, - ERROR_INTERFACE ".HealthError", - "%s", err->message); - g_dbus_send_message(conn, reply); - return; - } - - path = g_strdup(del_data->hdp_chann->path); - g_dbus_unregister_interface(conn, path, HEALTH_CHANNEL); - g_free(path); - - reply = g_dbus_create_reply(del_data->msg, DBUS_TYPE_INVALID); - g_dbus_send_message(conn, reply); -} - -static void hdp_continue_del_cb(gpointer user_data, GError *err) -{ - DBusConnection *conn = btd_get_dbus_connection(); - struct hdp_tmp_dc_data *del_data = user_data; - GError *gerr = NULL; - DBusMessage *reply; - - if (err != NULL) { - reply = g_dbus_create_error(del_data->msg, - ERROR_INTERFACE ".HealthError", - "%s", err->message); - g_dbus_send_message(conn, reply); - return; - } - - if (mcap_delete_mdl(del_data->hdp_chann->mdl, hdp_mdl_delete_cb, - hdp_tmp_dc_data_ref(del_data), - hdp_tmp_dc_data_destroy, &gerr)) - return; - - reply = g_dbus_create_error(del_data->msg, - ERROR_INTERFACE ".HealthError", - "%s", gerr->message); - hdp_tmp_dc_data_unref(del_data); - g_error_free(gerr); - g_dbus_send_message(conn, reply); -} - -static DBusMessage *device_destroy_channel(DBusConnection *conn, - DBusMessage *msg, void *user_data) -{ - struct hdp_device *device = user_data; - struct hdp_tmp_dc_data *del_data; - struct hdp_channel *hdp_chan; - DBusMessage *reply; - GError *err = NULL; - char *path; - GSList *l; - - if (!dbus_message_get_args(msg, NULL, DBUS_TYPE_OBJECT_PATH, &path, - DBUS_TYPE_INVALID)){ - return btd_error_invalid_args(msg); - } - - l = g_slist_find_custom(device->channels, path, cmp_chan_path); - if (l == NULL) - return btd_error_invalid_args(msg); - - hdp_chan = l->data; - del_data = g_new0(struct hdp_tmp_dc_data, 1); - del_data->msg = dbus_message_ref(msg); - del_data->hdp_chann = hdp_channel_ref(hdp_chan); - - if (device->mcl_conn) { - if (mcap_delete_mdl(hdp_chan->mdl, hdp_mdl_delete_cb, - hdp_tmp_dc_data_ref(del_data), - hdp_tmp_dc_data_destroy, &err)) - return NULL; - goto fail; - } - - if (hdp_establish_mcl(device, hdp_continue_del_cb, - hdp_tmp_dc_data_ref(del_data), - hdp_tmp_dc_data_destroy, &err)) - return NULL; - -fail: - reply = g_dbus_create_error(msg, ERROR_INTERFACE ".HealthError", - "%s", err->message); - hdp_tmp_dc_data_unref(del_data); - g_error_free(err); - return reply; -} - -static gboolean dev_property_exists_main_channel( - const GDBusPropertyTable *property, void *data) -{ - struct hdp_device *device = data; - return device->fr != NULL; -} - -static gboolean dev_property_get_main_channel( - const GDBusPropertyTable *property, - DBusMessageIter *iter, void *data) -{ - struct hdp_device *device = data; - - if (device->fr == NULL) - return FALSE; - - dbus_message_iter_append_basic(iter, DBUS_TYPE_OBJECT_PATH, - &device->fr->path); - - return TRUE; -} - -static void health_device_destroy(void *data) -{ - struct hdp_device *device = data; - - DBG("Unregistered interface %s on path %s", HEALTH_DEVICE, - device_get_path(device->dev)); - - remove_channels(device); - if (device->ndc != NULL) { - hdp_channel_unref(device->ndc); - device->ndc = NULL; - } - - devices = g_slist_remove(devices, device); - health_device_unref(device); -} - -static const GDBusMethodTable health_device_methods[] = { - { GDBUS_ASYNC_METHOD("Echo", - NULL, GDBUS_ARGS({ "value", "b" }), device_echo) }, - { GDBUS_ASYNC_METHOD("CreateChannel", - GDBUS_ARGS({ "application", "o" }, - { "configuration", "s" }), - GDBUS_ARGS({ "channel", "o" }), - device_create_channel) }, - { GDBUS_ASYNC_METHOD("DestroyChannel", - GDBUS_ARGS({ "channel", "o" }), NULL, - device_destroy_channel) }, - { } -}; - -static const GDBusSignalTable health_device_signals[] = { - { GDBUS_SIGNAL("ChannelConnected", - GDBUS_ARGS({ "channel", "o" })) }, - { GDBUS_SIGNAL("ChannelDeleted", - GDBUS_ARGS({ "channel", "o" })) }, - { } -}; - -static const GDBusPropertyTable health_device_properties[] = { - { "MainChannel", "o", dev_property_get_main_channel, NULL, - dev_property_exists_main_channel }, - { } -}; - -static struct hdp_device *create_health_device(struct btd_device *device) -{ - struct btd_adapter *adapter = device_get_adapter(device); - const char *path = device_get_path(device); - struct hdp_device *dev; - GSList *l; - - if (device == NULL) - return NULL; - - dev = g_new0(struct hdp_device, 1); - dev->dev = btd_device_ref(device); - health_device_ref(dev); - - l = g_slist_find_custom(adapters, adapter, cmp_adapter); - if (l == NULL) - goto fail; - - dev->hdp_adapter = l->data; - - if (!g_dbus_register_interface(btd_get_dbus_connection(), - path, HEALTH_DEVICE, - health_device_methods, - health_device_signals, NULL, - dev, health_device_destroy)) { - error("D-Bus failed to register %s interface", HEALTH_DEVICE); - goto fail; - } - - DBG("Registered interface %s on path %s", HEALTH_DEVICE, path); - return dev; - -fail: - health_device_unref(dev); - return NULL; -} - -int hdp_device_register(struct btd_device *device) -{ - struct hdp_device *hdev; - GSList *l; - - l = g_slist_find_custom(devices, device, cmp_device); - if (l != NULL) { - hdev = l->data; - hdev->sdp_present = TRUE; - return 0; - } - - hdev = create_health_device(device); - if (hdev == NULL) - return -1; - - hdev->sdp_present = TRUE; - - devices = g_slist_prepend(devices, hdev); - return 0; -} - -void hdp_device_unregister(struct btd_device *device) -{ - struct hdp_device *hdp_dev; - const char *path; - GSList *l; - - l = g_slist_find_custom(devices, device, cmp_device); - if (l == NULL) - return; - - hdp_dev = l->data; - path = device_get_path(hdp_dev->dev); - g_dbus_unregister_interface(btd_get_dbus_connection(), - path, HEALTH_DEVICE); -} - -int hdp_manager_start(void) -{ - DBG("Starting Health manager"); - - if (!g_dbus_register_interface(btd_get_dbus_connection(), - MANAGER_PATH, HEALTH_MANAGER, - health_manager_methods, NULL, NULL, - NULL, manager_path_unregister)) { - error("D-Bus failed to register %s interface", HEALTH_MANAGER); - return -1; - } - - return 0; -} - -void hdp_manager_stop(void) -{ - g_dbus_unregister_interface(btd_get_dbus_connection(), - MANAGER_PATH, HEALTH_MANAGER); - - DBG("Stopped Health manager"); -} - -struct hdp_device *health_device_ref(struct hdp_device *hdp_dev) -{ - hdp_dev->ref++; - - DBG("health_device_ref(%p): ref=%d", hdp_dev, hdp_dev->ref); - - return hdp_dev; -} - -void health_device_unref(struct hdp_device *hdp_dev) -{ - hdp_dev->ref--; - - DBG("health_device_unref(%p): ref=%d", hdp_dev, hdp_dev->ref); - - if (hdp_dev->ref > 0) - return; - - free_health_device(hdp_dev); -} diff --git a/GRIB_BLE_HUB/libs/ble_extend/profiles/health/hdp.h b/GRIB_BLE_HUB/libs/ble_extend/profiles/health/hdp.h deleted file mode 100644 index 6e78b09..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/profiles/health/hdp.h +++ /dev/null @@ -1,32 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2010 GSyC/LibreSoft, Universidad Rey Juan Carlos. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -int hdp_adapter_register(struct btd_adapter *btd_adapter); -void hdp_adapter_unregister(struct btd_adapter *btd_adapter); - -int hdp_device_register(struct btd_device *device); -void hdp_device_unregister(struct btd_device *device); - -int hdp_manager_start(void); -void hdp_manager_stop(void); - -gboolean hdp_set_mcl_cb(struct hdp_device *device, GError **err); diff --git a/GRIB_BLE_HUB/libs/ble_extend/profiles/health/hdp_main.c b/GRIB_BLE_HUB/libs/ble_extend/profiles/health/hdp_main.c deleted file mode 100644 index e705ee9..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/profiles/health/hdp_main.c +++ /dev/null @@ -1,45 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2010 GSyC/LibreSoft, Universidad Rey Juan Carlos. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include - -#include - -#include "plugin.h" -#include "hdp_manager.h" - -static int hdp_init(void) -{ - return hdp_manager_init(); -} - -static void hdp_exit(void) -{ - hdp_manager_exit(); -} - -BLUETOOTH_PLUGIN_DEFINE(health, VERSION, - BLUETOOTH_PLUGIN_PRIORITY_DEFAULT, hdp_init, hdp_exit) diff --git a/GRIB_BLE_HUB/libs/ble_extend/profiles/health/hdp_manager.c b/GRIB_BLE_HUB/libs/ble_extend/profiles/health/hdp_manager.c deleted file mode 100644 index 5428724..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/profiles/health/hdp_manager.c +++ /dev/null @@ -1,104 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2010 GSyC/LibreSoft, Universidad Rey Juan Carlos. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include - -#include -#include - -#include "lib/uuid.h" -#include -#include -#include -#include -#include -#include - -#include "hdp_types.h" - -#include "hdp_manager.h" -#include "hdp.h" - -static int hdp_adapter_probe(struct btd_profile *p, - struct btd_adapter *adapter) -{ - return hdp_adapter_register(adapter); -} - -static void hdp_adapter_remove(struct btd_profile *p, - struct btd_adapter *adapter) -{ - hdp_adapter_unregister(adapter); -} - -static int hdp_driver_probe(struct btd_profile *p, struct btd_device *device, - GSList *uuids) -{ - return hdp_device_register(device); -} - -static void hdp_driver_remove(struct btd_profile *p, struct btd_device *device) -{ - hdp_device_unregister(device); -} - -static struct btd_profile hdp_source_profile = { - .name = "hdp-source", - .remote_uuid = HDP_SOURCE_UUID, - - .device_probe = hdp_driver_probe, - .device_remove = hdp_driver_remove, - - .adapter_probe = hdp_adapter_probe, - .adapter_remove = hdp_adapter_remove, -}; - -static struct btd_profile hdp_sink_profile = { - .name = "hdp-sink", - .remote_uuid = HDP_SINK_UUID, - - .device_probe = hdp_driver_probe, - .device_remove = hdp_driver_remove, -}; - -int hdp_manager_init(void) -{ - if (hdp_manager_start() < 0) - return -1; - - btd_profile_register(&hdp_source_profile); - btd_profile_register(&hdp_sink_profile); - - return 0; -} - -void hdp_manager_exit(void) -{ - btd_profile_unregister(&hdp_sink_profile); - btd_profile_unregister(&hdp_source_profile); - - hdp_manager_stop(); -} diff --git a/GRIB_BLE_HUB/libs/ble_extend/profiles/health/hdp_manager.h b/GRIB_BLE_HUB/libs/ble_extend/profiles/health/hdp_manager.h deleted file mode 100644 index 1cab4d0..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/profiles/health/hdp_manager.h +++ /dev/null @@ -1,24 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2010 GSyC/LibreSoft, Universidad Rey Juan Carlos. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -int hdp_manager_init(void); -void hdp_manager_exit(void); diff --git a/GRIB_BLE_HUB/libs/ble_extend/profiles/health/hdp_types.h b/GRIB_BLE_HUB/libs/ble_extend/profiles/health/hdp_types.h deleted file mode 100644 index aff16df..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/profiles/health/hdp_types.h +++ /dev/null @@ -1,120 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2010 GSyC/LibreSoft, Universidad Rey Juan Carlos. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifndef __HDP_TYPES_H__ -#define __HDP_TYPES_H__ - -#define MANAGER_PATH "/org/bluez" - -#define HEALTH_MANAGER "org.bluez.HealthManager1" -#define HEALTH_DEVICE "org.bluez.HealthDevice1" -#define HEALTH_CHANNEL "org.bluez.HealthChannel1" - -#define HDP_VERSION 0x0100 - -#define HDP_SERVICE_NAME "Bluez HDP" -#define HDP_SERVICE_DSC "A Bluez health device profile implementation" -#define HDP_SERVICE_PROVIDER "Bluez" - -#define HDP_MDEP_ECHO 0x00 -#define HDP_MDEP_INITIAL 0x01 -#define HDP_MDEP_FINAL 0x7F - -#define HDP_ERROR g_quark_from_static_string("hdp-error-quark") - -#define HDP_NO_PREFERENCE_DC 0x00 -#define HDP_RELIABLE_DC 0x01 -#define HDP_STREAMING_DC 0x02 - -#define HDP_SINK_ROLE_AS_STRING "sink" -#define HDP_SOURCE_ROLE_AS_STRING "source" - -typedef enum { - HDP_SOURCE = 0x00, - HDP_SINK = 0x01 -} HdpRole; - -typedef enum { - HDP_DIC_PARSE_ERROR, - HDP_DIC_ENTRY_PARSE_ERROR, - HDP_CONNECTION_ERROR, - HDP_UNSPECIFIED_ERROR, - HDP_UNKNOWN_ERROR -} HdpError; - -enum data_specs { - DATA_EXCHANGE_SPEC_11073 = 0x01 -}; - -struct hdp_application { - char *path; /* The path of the application */ - uint16_t data_type; /* Data type handled for this application */ - gboolean data_type_set; /* Flag for dictionary parsing */ - uint8_t role; /* Role of this application */ - gboolean role_set; /* Flag for dictionary parsing */ - uint8_t chan_type; /* QoS preferred by source applications */ - gboolean chan_type_set; /* Flag for dictionary parsing */ - char *description; /* Options description for SDP record */ - uint8_t id; /* The identification is also the mdepid */ - char *oname; /* Name of the owner application */ - guint dbus_watcher; /* Watch for clients disconnection */ - gint ref; /* Reference counter */ -}; - -struct hdp_adapter { - struct btd_adapter *btd_adapter; /* Bluetooth adapter */ - struct mcap_instance *mi; /* Mcap instance in */ - uint16_t ccpsm; /* Control channel psm */ - uint16_t dcpsm; /* Data channel psm */ - uint32_t sdp_handler; /* SDP record handler */ - uint32_t record_state; /* Service record state */ -}; - -struct hdp_device { - struct btd_device *dev; /* Device reference */ - struct hdp_adapter *hdp_adapter; /* hdp_adapater */ - struct mcap_mcl *mcl; /* The mcap control channel */ - gboolean mcl_conn; /* Mcl status */ - gboolean sdp_present; /* Has an sdp record */ - GSList *channels; /* Data Channel list */ - struct hdp_channel *ndc; /* Data channel being negotiated */ - struct hdp_channel *fr; /* First reliable data channel */ - gint ref; /* Reference counting */ -}; - -struct hdp_echo_data; - -struct hdp_channel { - struct hdp_device *dev; /* Device where this channel belongs */ - struct hdp_application *app; /* Application */ - struct mcap_mdl *mdl; /* The data channel reference */ - char *path; /* The path of the channel */ - uint8_t config; /* Channel configuration */ - uint8_t mdep; /* Remote MDEP */ - uint16_t mdlid; /* Data channel Id */ - uint16_t imtu; /* Channel incoming MTU */ - uint16_t omtu; /* Channel outgoing MTU */ - struct hdp_echo_data *edata; /* private data used by echo channels */ - gint ref; /* Reference counter */ -}; - -#endif /* __HDP_TYPES_H__ */ diff --git a/GRIB_BLE_HUB/libs/ble_extend/profiles/health/hdp_util.c b/GRIB_BLE_HUB/libs/ble_extend/profiles/health/hdp_util.c deleted file mode 100644 index b53f1db..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/profiles/health/hdp_util.c +++ /dev/null @@ -1,1209 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2010 GSyC/LibreSoft, Universidad Rey Juan Carlos. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include - -#include - -#include - -#include -#include - -#include -#include -#include -#include - -#include "lib/uuid.h" -#include "btio/btio.h" - -#include "log.h" - -#include "dbus-common.h" -#include "mcap.h" -#include "mcap_lib.h" -#include "hdp_types.h" -#include "hdp.h" -#include "hdp_util.h" - -typedef gboolean (*parse_item_f)(DBusMessageIter *iter, gpointer user_data, - GError **err); - -struct dict_entry_func { - char *key; - parse_item_f func; -}; - -struct get_mdep_data { - struct hdp_application *app; - gpointer data; - hdp_continue_mdep_f func; - GDestroyNotify destroy; -}; - -struct conn_mcl_data { - int refs; - gpointer data; - hdp_continue_proc_f func; - GDestroyNotify destroy; - struct hdp_device *dev; -}; - -struct get_dcpsm_data { - gpointer data; - hdp_continue_dcpsm_f func; - GDestroyNotify destroy; -}; - -static gboolean parse_dict_entry(struct dict_entry_func dict_context[], - DBusMessageIter *iter, - GError **err, - gpointer user_data) -{ - DBusMessageIter entry; - char *key; - int ctype, i; - struct dict_entry_func df; - - dbus_message_iter_recurse(iter, &entry); - ctype = dbus_message_iter_get_arg_type(&entry); - if (ctype != DBUS_TYPE_STRING) { - g_set_error(err, HDP_ERROR, HDP_DIC_ENTRY_PARSE_ERROR, - "Dictionary entries should have a string as key"); - return FALSE; - } - - dbus_message_iter_get_basic(&entry, &key); - dbus_message_iter_next(&entry); - /* Find function and call it */ - for (i = 0, df = dict_context[0]; df.key; i++, df = dict_context[i]) { - if (g_ascii_strcasecmp(df.key, key) == 0) - return df.func(&entry, user_data, err); - } - - g_set_error(err, HDP_ERROR, HDP_DIC_ENTRY_PARSE_ERROR, - "No function found for parsing value for key %s", key); - return FALSE; -} - -static gboolean parse_dict(struct dict_entry_func dict_context[], - DBusMessageIter *iter, - GError **err, - gpointer user_data) -{ - int ctype; - DBusMessageIter dict; - - ctype = dbus_message_iter_get_arg_type(iter); - if (ctype != DBUS_TYPE_ARRAY) { - g_set_error(err, HDP_ERROR, HDP_DIC_PARSE_ERROR, - "Dictionary should be an array"); - return FALSE; - } - - dbus_message_iter_recurse(iter, &dict); - while ((ctype = dbus_message_iter_get_arg_type(&dict)) != - DBUS_TYPE_INVALID) { - if (ctype != DBUS_TYPE_DICT_ENTRY) { - g_set_error(err, HDP_ERROR, HDP_DIC_PARSE_ERROR, - "Dictionary array should " - "contain dict entries"); - return FALSE; - } - - /* Start parsing entry */ - if (!parse_dict_entry(dict_context, &dict, err, - user_data)) - return FALSE; - /* Finish entry parsing */ - - dbus_message_iter_next(&dict); - } - - return TRUE; -} - -static gboolean parse_data_type(DBusMessageIter *iter, gpointer data, - GError **err) -{ - struct hdp_application *app = data; - DBusMessageIter *value; - DBusMessageIter variant; - int ctype; - - ctype = dbus_message_iter_get_arg_type(iter); - value = iter; - if (ctype == DBUS_TYPE_VARIANT) { - /* Get value inside the variable */ - dbus_message_iter_recurse(iter, &variant); - ctype = dbus_message_iter_get_arg_type(&variant); - value = &variant; - } - - if (ctype != DBUS_TYPE_UINT16) { - g_set_error(err, HDP_ERROR, HDP_DIC_ENTRY_PARSE_ERROR, - "Final value for data type should be uint16"); - return FALSE; - } - - dbus_message_iter_get_basic(value, &app->data_type); - app->data_type_set = TRUE; - return TRUE; -} - -static gboolean parse_role(DBusMessageIter *iter, gpointer data, GError **err) -{ - struct hdp_application *app = data; - DBusMessageIter *string; - DBusMessageIter value; - int ctype; - const char *role; - - ctype = dbus_message_iter_get_arg_type(iter); - if (ctype == DBUS_TYPE_VARIANT) { - /* Get value inside the variable */ - dbus_message_iter_recurse(iter, &value); - ctype = dbus_message_iter_get_arg_type(&value); - string = &value; - } else { - string = iter; - } - - if (ctype != DBUS_TYPE_STRING) { - g_set_error(err, HDP_ERROR, HDP_UNSPECIFIED_ERROR, - "Value data spec should be variable or string"); - return FALSE; - } - - dbus_message_iter_get_basic(string, &role); - if (g_ascii_strcasecmp(role, HDP_SINK_ROLE_AS_STRING) == 0) { - app->role = HDP_SINK; - } else if (g_ascii_strcasecmp(role, HDP_SOURCE_ROLE_AS_STRING) == 0) { - app->role = HDP_SOURCE; - } else { - g_set_error(err, HDP_ERROR, HDP_UNSPECIFIED_ERROR, - "Role value should be \"source\" or \"sink\""); - return FALSE; - } - - app->role_set = TRUE; - - return TRUE; -} - -static gboolean parse_desc(DBusMessageIter *iter, gpointer data, GError **err) -{ - struct hdp_application *app = data; - DBusMessageIter *string; - DBusMessageIter variant; - int ctype; - const char *desc; - - ctype = dbus_message_iter_get_arg_type(iter); - if (ctype == DBUS_TYPE_VARIANT) { - /* Get value inside the variable */ - dbus_message_iter_recurse(iter, &variant); - ctype = dbus_message_iter_get_arg_type(&variant); - string = &variant; - } else { - string = iter; - } - - if (ctype != DBUS_TYPE_STRING) { - g_set_error(err, HDP_ERROR, HDP_DIC_ENTRY_PARSE_ERROR, - "Value data spec should be variable or string"); - return FALSE; - } - - dbus_message_iter_get_basic(string, &desc); - app->description = g_strdup(desc); - return TRUE; -} - -static gboolean parse_chan_type(DBusMessageIter *iter, gpointer data, - GError **err) -{ - struct hdp_application *app = data; - DBusMessageIter *value; - DBusMessageIter variant; - char *chan_type; - int ctype; - - ctype = dbus_message_iter_get_arg_type(iter); - value = iter; - if (ctype == DBUS_TYPE_VARIANT) { - /* Get value inside the variable */ - dbus_message_iter_recurse(iter, &variant); - ctype = dbus_message_iter_get_arg_type(&variant); - value = &variant; - } - - if (ctype != DBUS_TYPE_STRING) { - g_set_error(err, HDP_ERROR, HDP_DIC_ENTRY_PARSE_ERROR, - "Final value for channel type should be an string"); - return FALSE; - } - - dbus_message_iter_get_basic(value, &chan_type); - - if (g_ascii_strcasecmp("reliable", chan_type) == 0) - app->chan_type = HDP_RELIABLE_DC; - else if (g_ascii_strcasecmp("streaming", chan_type) == 0) - app->chan_type = HDP_STREAMING_DC; - else { - g_set_error(err, HDP_ERROR, HDP_DIC_ENTRY_PARSE_ERROR, - "Invalid value for data type"); - return FALSE; - } - - app->chan_type_set = TRUE; - - return TRUE; -} - -static struct dict_entry_func dict_parser[] = { - {"DataType", parse_data_type}, - {"Role", parse_role}, - {"Description", parse_desc}, - {"ChannelType", parse_chan_type}, - {NULL, NULL} -}; - -struct hdp_application *hdp_get_app_config(DBusMessageIter *iter, GError **err) -{ - struct hdp_application *app; - - app = g_new0(struct hdp_application, 1); - app->ref = 1; - if (!parse_dict(dict_parser, iter, err, app)) - goto fail; - if (!app->data_type_set || !app->role_set) { - g_set_error(err, HDP_ERROR, HDP_DIC_PARSE_ERROR, - "Mandatory fields aren't set"); - goto fail; - } - return app; - -fail: - hdp_application_unref(app); - return NULL; -} - -static gboolean is_app_role(GSList *app_list, HdpRole role) -{ - GSList *l; - - for (l = app_list; l; l = l->next) { - struct hdp_application *app = l->data; - - if (app->role == role) - return TRUE; - } - - return FALSE; -} - -static gboolean set_sdp_services_uuid(sdp_record_t *record, HdpRole role) -{ - uuid_t svc_uuid_source, svc_uuid_sink; - sdp_list_t *svc_list = NULL; - - sdp_uuid16_create(&svc_uuid_sink, HDP_SINK_SVCLASS_ID); - sdp_uuid16_create(&svc_uuid_source, HDP_SOURCE_SVCLASS_ID); - - sdp_get_service_classes(record, &svc_list); - - if (role == HDP_SOURCE) { - if (!sdp_list_find(svc_list, &svc_uuid_source, sdp_uuid_cmp)) - svc_list = sdp_list_append(svc_list, &svc_uuid_source); - } else if (role == HDP_SINK) { - if (!sdp_list_find(svc_list, &svc_uuid_sink, sdp_uuid_cmp)) - svc_list = sdp_list_append(svc_list, &svc_uuid_sink); - } - - if (sdp_set_service_classes(record, svc_list) < 0) { - sdp_list_free(svc_list, NULL); - return FALSE; - } - - sdp_list_free(svc_list, NULL); - - return TRUE; -} - -static gboolean register_service_protocols(struct hdp_adapter *adapter, - sdp_record_t *sdp_record) -{ - gboolean ret; - uuid_t l2cap_uuid, mcap_c_uuid; - sdp_list_t *l2cap_list, *proto_list = NULL, *mcap_list = NULL; - sdp_list_t *access_proto_list = NULL; - sdp_data_t *psm = NULL, *mcap_ver = NULL; - uint16_t version = MCAP_VERSION; - - /* set l2cap information */ - sdp_uuid16_create(&l2cap_uuid, L2CAP_UUID); - l2cap_list = sdp_list_append(NULL, &l2cap_uuid); - if (l2cap_list == NULL) { - ret = FALSE; - goto end; - } - - psm = sdp_data_alloc(SDP_UINT16, &adapter->ccpsm); - if (psm == NULL) { - ret = FALSE; - goto end; - } - - if (sdp_list_append(l2cap_list, psm) == NULL) { - ret = FALSE; - goto end; - } - - proto_list = sdp_list_append(NULL, l2cap_list); - if (proto_list == NULL) { - ret = FALSE; - goto end; - } - - /* set mcap information */ - sdp_uuid16_create(&mcap_c_uuid, MCAP_CTRL_UUID); - mcap_list = sdp_list_append(NULL, &mcap_c_uuid); - if (mcap_list == NULL) { - ret = FALSE; - goto end; - } - - mcap_ver = sdp_data_alloc(SDP_UINT16, &version); - if (mcap_ver == NULL) { - ret = FALSE; - goto end; - } - - if (sdp_list_append(mcap_list, mcap_ver) == NULL) { - ret = FALSE; - goto end; - } - - if (sdp_list_append(proto_list, mcap_list) == NULL) { - ret = FALSE; - goto end; - } - - /* attach protocol information to service record */ - access_proto_list = sdp_list_append(NULL, proto_list); - if (access_proto_list == NULL) { - ret = FALSE; - goto end; - } - - if (sdp_set_access_protos(sdp_record, access_proto_list) < 0) { - ret = FALSE; - goto end; - } - ret = TRUE; - -end: - if (l2cap_list != NULL) - sdp_list_free(l2cap_list, NULL); - if (mcap_list != NULL) - sdp_list_free(mcap_list, NULL); - if (proto_list != NULL) - sdp_list_free(proto_list, NULL); - if (access_proto_list != NULL) - sdp_list_free(access_proto_list, NULL); - if (psm != NULL) - sdp_data_free(psm); - if (mcap_ver != NULL) - sdp_data_free(mcap_ver); - - return ret; -} - -static gboolean register_service_profiles(sdp_record_t *sdp_record) -{ - gboolean ret; - sdp_list_t *profile_list; - sdp_profile_desc_t hdp_profile; - - /* set hdp information */ - sdp_uuid16_create(&hdp_profile.uuid, HDP_SVCLASS_ID); - hdp_profile.version = HDP_VERSION; - profile_list = sdp_list_append(NULL, &hdp_profile); - if (profile_list == NULL) - return FALSE; - - /* set profile descriptor list */ - if (sdp_set_profile_descs(sdp_record, profile_list) < 0) - ret = FALSE; - else - ret = TRUE; - - sdp_list_free(profile_list, NULL); - - return ret; -} - -static gboolean register_service_additional_protocols( - struct hdp_adapter *adapter, - sdp_record_t *sdp_record) -{ - gboolean ret; - uuid_t l2cap_uuid, mcap_d_uuid; - sdp_list_t *l2cap_list, *proto_list = NULL, *mcap_list = NULL; - sdp_list_t *access_proto_list = NULL; - sdp_data_t *psm = NULL; - - /* set l2cap information */ - sdp_uuid16_create(&l2cap_uuid, L2CAP_UUID); - l2cap_list = sdp_list_append(NULL, &l2cap_uuid); - if (l2cap_list == NULL) { - ret = FALSE; - goto end; - } - - psm = sdp_data_alloc(SDP_UINT16, &adapter->dcpsm); - if (psm == NULL) { - ret = FALSE; - goto end; - } - - if (sdp_list_append(l2cap_list, psm) == NULL) { - ret = FALSE; - goto end; - } - - proto_list = sdp_list_append(NULL, l2cap_list); - if (proto_list == NULL) { - ret = FALSE; - goto end; - } - - /* set mcap information */ - sdp_uuid16_create(&mcap_d_uuid, MCAP_DATA_UUID); - mcap_list = sdp_list_append(NULL, &mcap_d_uuid); - if (mcap_list == NULL) { - ret = FALSE; - goto end; - } - - if (sdp_list_append(proto_list, mcap_list) == NULL) { - ret = FALSE; - goto end; - } - - /* attach protocol information to service record */ - access_proto_list = sdp_list_append(NULL, proto_list); - if (access_proto_list == NULL) { - ret = FALSE; - goto end; - } - - if (sdp_set_add_access_protos(sdp_record, access_proto_list) < 0) - ret = FALSE; - else - ret = TRUE; - -end: - if (l2cap_list != NULL) - sdp_list_free(l2cap_list, NULL); - if (mcap_list != NULL) - sdp_list_free(mcap_list, NULL); - if (proto_list != NULL) - sdp_list_free(proto_list, NULL); - if (access_proto_list != NULL) - sdp_list_free(access_proto_list, NULL); - if (psm != NULL) - sdp_data_free(psm); - - return ret; -} - -static sdp_list_t *app_to_sdplist(struct hdp_application *app) -{ - sdp_data_t *mdepid, - *dtype = NULL, - *role = NULL, - *desc = NULL; - sdp_list_t *f_list = NULL; - - mdepid = sdp_data_alloc(SDP_UINT8, &app->id); - if (mdepid == NULL) - return NULL; - - dtype = sdp_data_alloc(SDP_UINT16, &app->data_type); - if (dtype == NULL) - goto fail; - - role = sdp_data_alloc(SDP_UINT8, &app->role); - if (role == NULL) - goto fail; - - if (app->description != NULL) { - desc = sdp_data_alloc(SDP_TEXT_STR8, app->description); - if (desc == NULL) - goto fail; - } - - f_list = sdp_list_append(NULL, mdepid); - if (f_list == NULL) - goto fail; - - if (sdp_list_append(f_list, dtype) == NULL) - goto fail; - - if (sdp_list_append(f_list, role) == NULL) - goto fail; - - if (desc != NULL) - if (sdp_list_append(f_list, desc) == NULL) - goto fail; - - return f_list; - -fail: - if (f_list != NULL) - sdp_list_free(f_list, NULL); - if (mdepid != NULL) - sdp_data_free(mdepid); - if (dtype != NULL) - sdp_data_free(dtype); - if (role != NULL) - sdp_data_free(role); - if (desc != NULL) - sdp_data_free(desc); - - return NULL; -} - -static gboolean register_features(struct hdp_application *app, - sdp_list_t **sup_features) -{ - sdp_list_t *hdp_feature; - - hdp_feature = app_to_sdplist(app); - if (hdp_feature == NULL) - goto fail; - - if (*sup_features == NULL) { - *sup_features = sdp_list_append(NULL, hdp_feature); - if (*sup_features == NULL) - goto fail; - } else if (sdp_list_append(*sup_features, hdp_feature) == NULL) { - goto fail; - } - - return TRUE; - -fail: - if (hdp_feature != NULL) - sdp_list_free(hdp_feature, (sdp_free_func_t)sdp_data_free); - return FALSE; -} - -static void free_hdp_list(void *list) -{ - sdp_list_t *hdp_list = list; - - sdp_list_free(hdp_list, (sdp_free_func_t)sdp_data_free); -} - -static gboolean register_service_sup_features(GSList *app_list, - sdp_record_t *sdp_record) -{ - GSList *l; - sdp_list_t *sup_features = NULL; - - for (l = app_list; l; l = l->next) { - if (!register_features(l->data, &sup_features)) - return FALSE; - } - - if (sdp_set_supp_feat(sdp_record, sup_features) < 0) { - sdp_list_free(sup_features, free_hdp_list); - return FALSE; - } - - return TRUE; -} - -static gboolean register_data_exchange_spec(sdp_record_t *record) -{ - sdp_data_t *spec; - uint8_t data_spec = DATA_EXCHANGE_SPEC_11073; - /* As by now 11073 is the only supported we set it by default */ - - spec = sdp_data_alloc(SDP_UINT8, &data_spec); - if (spec == NULL) - return FALSE; - - if (sdp_attr_add(record, SDP_ATTR_DATA_EXCHANGE_SPEC, spec) < 0) { - sdp_data_free(spec); - return FALSE; - } - - return TRUE; -} - -static gboolean register_mcap_features(sdp_record_t *sdp_record) -{ - sdp_data_t *mcap_proc; - uint8_t mcap_sup_proc = MCAP_SUP_PROC; - - mcap_proc = sdp_data_alloc(SDP_UINT8, &mcap_sup_proc); - if (mcap_proc == NULL) - return FALSE; - - if (sdp_attr_add(sdp_record, SDP_ATTR_MCAP_SUPPORTED_PROCEDURES, - mcap_proc) < 0) { - sdp_data_free(mcap_proc); - return FALSE; - } - - return TRUE; -} - -gboolean hdp_update_sdp_record(struct hdp_adapter *adapter, GSList *app_list) -{ - sdp_record_t *sdp_record; - - if (adapter->sdp_handler > 0) - remove_record_from_server(adapter->sdp_handler); - - if (app_list == NULL) { - adapter->sdp_handler = 0; - return TRUE; - } - - sdp_record = sdp_record_alloc(); - if (sdp_record == NULL) - return FALSE; - - if (adapter->sdp_handler > 0) - sdp_record->handle = adapter->sdp_handler; - else - sdp_record->handle = 0xffffffff; /* Set automatically */ - - if (is_app_role(app_list, HDP_SINK)) - set_sdp_services_uuid(sdp_record, HDP_SINK); - if (is_app_role(app_list, HDP_SOURCE)) - set_sdp_services_uuid(sdp_record, HDP_SOURCE); - - if (!register_service_protocols(adapter, sdp_record)) - goto fail; - if (!register_service_profiles(sdp_record)) - goto fail; - if (!register_service_additional_protocols(adapter, sdp_record)) - goto fail; - - sdp_set_info_attr(sdp_record, HDP_SERVICE_NAME, HDP_SERVICE_PROVIDER, - HDP_SERVICE_DSC); - if (!register_service_sup_features(app_list, sdp_record)) - goto fail; - if (!register_data_exchange_spec(sdp_record)) - goto fail; - - register_mcap_features(sdp_record); - - if (sdp_set_record_state(sdp_record, adapter->record_state++) < 0) - goto fail; - - if (add_record_to_server(adapter_get_address(adapter->btd_adapter), - sdp_record) < 0) - goto fail; - adapter->sdp_handler = sdp_record->handle; - return TRUE; - -fail: - if (sdp_record != NULL) - sdp_record_free(sdp_record); - return FALSE; -} - -static gboolean check_role(uint8_t rec_role, uint8_t app_role) -{ - if ((rec_role == HDP_SINK && app_role == HDP_SOURCE) || - (rec_role == HDP_SOURCE && app_role == HDP_SINK)) - return TRUE; - - return FALSE; -} - -static gboolean get_mdep_from_rec(const sdp_record_t *rec, uint8_t role, - uint16_t d_type, uint8_t *mdep, char **desc) -{ - sdp_data_t *list, *feat; - - if (desc == NULL && mdep == NULL) - return TRUE; - - list = sdp_data_get(rec, SDP_ATTR_SUPPORTED_FEATURES_LIST); - if (list == NULL || !SDP_IS_SEQ(list->dtd)) - return FALSE; - - for (feat = list->val.dataseq; feat; feat = feat->next) { - sdp_data_t *data_type, *mdepid, *role_t, *desc_t; - - if (!SDP_IS_SEQ(feat->dtd)) - continue; - - mdepid = feat->val.dataseq; - if (mdepid == NULL) - continue; - - data_type = mdepid->next; - if (data_type == NULL) - continue; - - role_t = data_type->next; - if (role_t == NULL) - continue; - - desc_t = role_t->next; - - if (data_type->dtd != SDP_UINT16 || mdepid->dtd != SDP_UINT8 || - role_t->dtd != SDP_UINT8) - continue; - - if (data_type->val.uint16 != d_type || - !check_role(role_t->val.uint8, role)) - continue; - - if (mdep != NULL) - *mdep = mdepid->val.uint8; - - if (desc != NULL && desc_t != NULL && - SDP_IS_TEXT_STR(desc_t->dtd)) - *desc = g_strdup(desc_t->val.str); - - return TRUE; - } - - return FALSE; -} - -static void get_mdep_cb(sdp_list_t *recs, int err, gpointer user_data) -{ - struct get_mdep_data *mdep_data = user_data; - GError *gerr = NULL; - uint8_t mdep; - - if (err < 0 || recs == NULL) { - g_set_error(&gerr, HDP_ERROR, HDP_CONNECTION_ERROR, - "Error getting remote SDP records"); - mdep_data->func(0, mdep_data->data, gerr); - g_error_free(gerr); - return; - } - - if (!get_mdep_from_rec(recs->data, mdep_data->app->role, - mdep_data->app->data_type, &mdep, NULL)) { - g_set_error(&gerr, HDP_ERROR, HDP_CONNECTION_ERROR, - "No matching MDEP found"); - mdep_data->func(0, mdep_data->data, gerr); - g_error_free(gerr); - return; - } - - mdep_data->func(mdep, mdep_data->data, NULL); -} - -static void free_mdep_data(gpointer data) -{ - struct get_mdep_data *mdep_data = data; - - if (mdep_data->destroy) - mdep_data->destroy(mdep_data->data); - hdp_application_unref(mdep_data->app); - - g_free(mdep_data); -} - -gboolean hdp_get_mdep(struct hdp_device *device, struct hdp_application *app, - hdp_continue_mdep_f func, gpointer data, - GDestroyNotify destroy, GError **err) -{ - struct get_mdep_data *mdep_data; - const bdaddr_t *src; - const bdaddr_t *dst; - uuid_t uuid; - - src = adapter_get_address(device_get_adapter(device->dev)); - dst = device_get_address(device->dev); - - mdep_data = g_new0(struct get_mdep_data, 1); - mdep_data->app = hdp_application_ref(app); - mdep_data->func = func; - mdep_data->data = data; - mdep_data->destroy = destroy; - - bt_string2uuid(&uuid, HDP_UUID); - if (bt_search_service(src, dst, &uuid, get_mdep_cb, mdep_data, - free_mdep_data) < 0) { - g_set_error(err, HDP_ERROR, HDP_CONNECTION_ERROR, - "Can't get remote SDP record"); - g_free(mdep_data); - return FALSE; - } - - return TRUE; -} - -static gboolean get_prot_desc_entry(sdp_data_t *entry, int type, guint16 *val) -{ - sdp_data_t *iter; - int proto; - - if (entry == NULL || !SDP_IS_SEQ(entry->dtd)) - return FALSE; - - iter = entry->val.dataseq; - if (!(iter->dtd & SDP_UUID_UNSPEC)) - return FALSE; - - proto = sdp_uuid_to_proto(&iter->val.uuid); - if (proto != type) - return FALSE; - - if (val == NULL) - return TRUE; - - iter = iter->next; - if (iter->dtd != SDP_UINT16) - return FALSE; - - *val = iter->val.uint16; - - return TRUE; -} - -static gboolean hdp_get_prot_desc_list(const sdp_record_t *rec, guint16 *psm, - guint16 *version) -{ - sdp_data_t *pdl, *p0, *p1; - - if (psm == NULL && version == NULL) - return TRUE; - - pdl = sdp_data_get(rec, SDP_ATTR_PROTO_DESC_LIST); - if (pdl == NULL || !SDP_IS_SEQ(pdl->dtd)) - return FALSE; - - p0 = pdl->val.dataseq; - if (!get_prot_desc_entry(p0, L2CAP_UUID, psm)) - return FALSE; - - p1 = p0->next; - if (!get_prot_desc_entry(p1, MCAP_CTRL_UUID, version)) - return FALSE; - - return TRUE; -} - -static gboolean hdp_get_add_prot_desc_list(const sdp_record_t *rec, - guint16 *psm) -{ - sdp_data_t *pdl, *p0, *p1; - - if (psm == NULL) - return TRUE; - - pdl = sdp_data_get(rec, SDP_ATTR_ADD_PROTO_DESC_LIST); - if (pdl == NULL || pdl->dtd != SDP_SEQ8) - return FALSE; - pdl = pdl->val.dataseq; - if (pdl->dtd != SDP_SEQ8) - return FALSE; - - p0 = pdl->val.dataseq; - - if (!get_prot_desc_entry(p0, L2CAP_UUID, psm)) - return FALSE; - p1 = p0->next; - if (!get_prot_desc_entry(p1, MCAP_DATA_UUID, NULL)) - return FALSE; - - return TRUE; -} - -static gboolean get_ccpsm(sdp_list_t *recs, uint16_t *ccpsm) -{ - sdp_list_t *l; - - for (l = recs; l; l = l->next) { - sdp_record_t *rec = l->data; - - if (hdp_get_prot_desc_list(rec, ccpsm, NULL)) - return TRUE; - } - - return FALSE; -} - -static gboolean get_dcpsm(sdp_list_t *recs, uint16_t *dcpsm) -{ - sdp_list_t *l; - - for (l = recs; l; l = l->next) { - sdp_record_t *rec = l->data; - - if (hdp_get_add_prot_desc_list(rec, dcpsm)) - return TRUE; - } - - return FALSE; -} - -static void con_mcl_data_unref(struct conn_mcl_data *conn_data) -{ - if (conn_data == NULL) - return; - - if (--conn_data->refs > 0) - return; - - if (conn_data->destroy) - conn_data->destroy(conn_data->data); - - health_device_unref(conn_data->dev); - g_free(conn_data); -} - -static void destroy_con_mcl_data(gpointer data) -{ - con_mcl_data_unref(data); -} - -static struct conn_mcl_data *con_mcl_data_ref(struct conn_mcl_data *conn_data) -{ - if (conn_data == NULL) - return NULL; - - conn_data->refs++; - return conn_data; -} - -static void create_mcl_cb(struct mcap_mcl *mcl, GError *err, gpointer data) -{ - struct conn_mcl_data *conn_data = data; - struct hdp_device *device = conn_data->dev; - GError *gerr = NULL; - - if (err != NULL) { - conn_data->func(conn_data->data, err); - return; - } - - if (device->mcl == NULL) - device->mcl = mcap_mcl_ref(mcl); - device->mcl_conn = TRUE; - - hdp_set_mcl_cb(device, &gerr); - - conn_data->func(conn_data->data, gerr); - if (gerr != NULL) - g_error_free(gerr); -} - -static void search_cb(sdp_list_t *recs, int err, gpointer user_data) -{ - struct conn_mcl_data *conn_data = user_data; - GError *gerr = NULL; - uint16_t ccpsm; - - if (conn_data->dev->hdp_adapter->mi == NULL) { - g_set_error(&gerr, HDP_ERROR, HDP_CONNECTION_ERROR, - "Mcap instance released"); - goto fail; - } - - if (err < 0 || recs == NULL) { - g_set_error(&gerr, HDP_ERROR, HDP_CONNECTION_ERROR, - "Error getting remote SDP records"); - goto fail; - } - - if (!get_ccpsm(recs, &ccpsm)) { - g_set_error(&gerr, HDP_ERROR, HDP_CONNECTION_ERROR, - "Can't get remote PSM for control channel"); - goto fail; - } - - conn_data = con_mcl_data_ref(conn_data); - - if (!mcap_create_mcl(conn_data->dev->hdp_adapter->mi, - device_get_address(conn_data->dev->dev), - ccpsm, create_mcl_cb, conn_data, - destroy_con_mcl_data, &gerr)) { - con_mcl_data_unref(conn_data); - goto fail; - } - return; -fail: - conn_data->func(conn_data->data, gerr); - g_error_free(gerr); -} - -gboolean hdp_establish_mcl(struct hdp_device *device, - hdp_continue_proc_f func, - gpointer data, - GDestroyNotify destroy, - GError **err) -{ - struct conn_mcl_data *conn_data; - const bdaddr_t *src; - const bdaddr_t *dst; - uuid_t uuid; - - src = adapter_get_address(device_get_adapter(device->dev)); - dst = device_get_address(device->dev); - - conn_data = g_new0(struct conn_mcl_data, 1); - conn_data->refs = 1; - conn_data->func = func; - conn_data->data = data; - conn_data->destroy = destroy; - conn_data->dev = health_device_ref(device); - - bt_string2uuid(&uuid, HDP_UUID); - if (bt_search_service(src, dst, &uuid, search_cb, conn_data, - destroy_con_mcl_data) < 0) { - g_set_error(err, HDP_ERROR, HDP_CONNECTION_ERROR, - "Can't get remote SDP record"); - g_free(conn_data); - return FALSE; - } - - return TRUE; -} - -static void get_dcpsm_cb(sdp_list_t *recs, int err, gpointer data) -{ - struct get_dcpsm_data *dcpsm_data = data; - GError *gerr = NULL; - uint16_t dcpsm; - - if (err < 0 || recs == NULL) { - g_set_error(&gerr, HDP_ERROR, HDP_CONNECTION_ERROR, - "Error getting remote SDP records"); - goto fail; - } - - if (!get_dcpsm(recs, &dcpsm)) { - g_set_error(&gerr, HDP_ERROR, HDP_CONNECTION_ERROR, - "Can't get remote PSM for data channel"); - goto fail; - } - - dcpsm_data->func(dcpsm, dcpsm_data->data, NULL); - return; - -fail: - dcpsm_data->func(0, dcpsm_data->data, gerr); - g_error_free(gerr); -} - -static void free_dcpsm_data(gpointer data) -{ - struct get_dcpsm_data *dcpsm_data = data; - - if (dcpsm_data == NULL) - return; - - if (dcpsm_data->destroy) - dcpsm_data->destroy(dcpsm_data->data); - - g_free(dcpsm_data); -} - -gboolean hdp_get_dcpsm(struct hdp_device *device, hdp_continue_dcpsm_f func, - gpointer data, - GDestroyNotify destroy, - GError **err) -{ - struct get_dcpsm_data *dcpsm_data; - const bdaddr_t *src; - const bdaddr_t *dst; - uuid_t uuid; - - src = adapter_get_address(device_get_adapter(device->dev)); - dst = device_get_address(device->dev); - - dcpsm_data = g_new0(struct get_dcpsm_data, 1); - dcpsm_data->func = func; - dcpsm_data->data = data; - dcpsm_data->destroy = destroy; - - bt_string2uuid(&uuid, HDP_UUID); - if (bt_search_service(src, dst, &uuid, get_dcpsm_cb, dcpsm_data, - free_dcpsm_data) < 0) { - g_set_error(err, HDP_ERROR, HDP_CONNECTION_ERROR, - "Can't get remote SDP record"); - g_free(dcpsm_data); - return FALSE; - } - - return TRUE; -} - -static void hdp_free_application(struct hdp_application *app) -{ - if (app->dbus_watcher > 0) - g_dbus_remove_watch(btd_get_dbus_connection(), - app->dbus_watcher); - - g_free(app->oname); - g_free(app->description); - g_free(app->path); - g_free(app); -} - -struct hdp_application *hdp_application_ref(struct hdp_application *app) -{ - if (app == NULL) - return NULL; - - app->ref++; - - DBG("health_application_ref(%p): ref=%d", app, app->ref); - return app; -} - -void hdp_application_unref(struct hdp_application *app) -{ - if (app == NULL) - return; - - app->ref--; - - DBG("health_application_unref(%p): ref=%d", app, app->ref); - if (app->ref > 0) - return; - - hdp_free_application(app); -} diff --git a/GRIB_BLE_HUB/libs/ble_extend/profiles/health/hdp_util.h b/GRIB_BLE_HUB/libs/ble_extend/profiles/health/hdp_util.h deleted file mode 100644 index 35e1196..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/profiles/health/hdp_util.h +++ /dev/null @@ -1,58 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2010 GSyC/LibreSoft, Universidad Rey Juan Carlos. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifndef __HDP_UTIL_H__ -#define __HDP_UTIL_H__ - -typedef void (*hdp_continue_mdep_f)(uint8_t mdep, gpointer user_data, - GError *err); -typedef void (*hdp_continue_dcpsm_f)(uint16_t dcpsm, gpointer user_data, - GError *err); -typedef void (*hdp_continue_proc_f)(gpointer user_data, GError *err); - -struct hdp_application *hdp_get_app_config(DBusMessageIter *iter, GError **err); -gboolean hdp_update_sdp_record(struct hdp_adapter *adapter, GSList *app_list); -gboolean hdp_get_mdep(struct hdp_device *device, struct hdp_application *app, - hdp_continue_mdep_f func, - gpointer data, GDestroyNotify destroy, - GError **err); - -gboolean hdp_establish_mcl(struct hdp_device *device, - hdp_continue_proc_f func, - gpointer data, - GDestroyNotify destroy, - GError **err); - -gboolean hdp_get_dcpsm(struct hdp_device *device, hdp_continue_dcpsm_f func, - gpointer data, - GDestroyNotify destroy, - GError **err); - - -struct hdp_application *hdp_application_ref(struct hdp_application *app); -void hdp_application_unref(struct hdp_application *app); - -struct hdp_device *health_device_ref(struct hdp_device *hdp_dev); -void health_device_unref(struct hdp_device *hdp_dev); - - -#endif /* __HDP_UTIL_H__ */ diff --git a/GRIB_BLE_HUB/libs/ble_extend/profiles/health/mcap.c b/GRIB_BLE_HUB/libs/ble_extend/profiles/health/mcap.c deleted file mode 100644 index f08a7fa..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/profiles/health/mcap.c +++ /dev/null @@ -1,2192 +0,0 @@ -/* - * - * MCAP for BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2010 GSyC/LibreSoft, Universidad Rey Juan Carlos. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif - -#include -#include -#include -#include - -#include - -#include -#include - -#include -#include -#include - -#include "mcap.h" -#include "mcap_lib.h" -#include "mcap_internal.h" - -#define RESPONSE_TIMER 6 /* seconds */ -#define MAX_CACHED 10 /* 10 devices */ - -#define MCAP_ERROR g_quark_from_static_string("mcap-error-quark") - -#define RELEASE_TIMER(__mcl) do { \ - if (__mcl->tid) { \ - g_source_remove(__mcl->tid); \ - __mcl->tid = 0; \ - } \ -} while(0) - -struct connect_mcl { - struct mcap_mcl *mcl; /* MCL for this operation */ - mcap_mcl_connect_cb connect_cb; /* Connect callback */ - GDestroyNotify destroy; /* Destroy callback */ - gpointer user_data; /* Callback user data */ -}; - -typedef union { - mcap_mdl_operation_cb op; - mcap_mdl_operation_conf_cb op_conf; - mcap_mdl_notify_cb notify; -} mcap_cb_type; - -struct mcap_mdl_op_cb { - struct mcap_mdl *mdl; /* MDL for this operation */ - mcap_cb_type cb; /* Operation callback */ - GDestroyNotify destroy; /* Destroy callback */ - gpointer user_data; /* Callback user data */ -}; - -/* MCAP finite state machine functions */ -static void proc_req_connected(struct mcap_mcl *mcl, uint8_t *cmd, uint32_t l); -static void proc_req_pending(struct mcap_mcl *mcl, uint8_t *cmd, uint32_t l); -static void proc_req_active(struct mcap_mcl *mcl, uint8_t *cmd, uint32_t l); - -static void (*proc_req[])(struct mcap_mcl *mcl, uint8_t *cmd, uint32_t len) = { - proc_req_connected, - proc_req_pending, - proc_req_active -}; - -static void mcap_cache_mcl(struct mcap_mcl *mcl); - -static void default_mdl_connected_cb(struct mcap_mdl *mdl, gpointer data) -{ - DBG("MCAP Unmanaged mdl connection"); -} - -static void default_mdl_closed_cb(struct mcap_mdl *mdl, gpointer data) -{ - DBG("MCAP Unmanaged mdl closed"); -} - -static void default_mdl_deleted_cb(struct mcap_mdl *mdl, gpointer data) -{ - DBG("MCAP Unmanaged mdl deleted"); -} - -static void default_mdl_aborted_cb(struct mcap_mdl *mdl, gpointer data) -{ - DBG("MCAP Unmanaged mdl aborted"); -} - -static uint8_t default_mdl_conn_req_cb(struct mcap_mcl *mcl, - uint8_t mdepid, uint16_t mdlid, - uint8_t *conf, gpointer data) -{ - DBG("MCAP mdl remote connection aborted"); - /* Due to this callback isn't managed this request won't be supported */ - return MCAP_REQUEST_NOT_SUPPORTED; -} - -static uint8_t default_mdl_reconn_req_cb(struct mcap_mdl *mdl, - gpointer data) -{ - DBG("MCAP mdl remote reconnection aborted"); - /* Due to this callback isn't managed this request won't be supported */ - return MCAP_REQUEST_NOT_SUPPORTED; -} - -static void set_default_cb(struct mcap_mcl *mcl) -{ - if (!mcl->cb) - mcl->cb = g_new0(struct mcap_mdl_cb, 1); - - mcl->cb->mdl_connected = default_mdl_connected_cb; - mcl->cb->mdl_closed = default_mdl_closed_cb; - mcl->cb->mdl_deleted = default_mdl_deleted_cb; - mcl->cb->mdl_aborted = default_mdl_aborted_cb; - mcl->cb->mdl_conn_req = default_mdl_conn_req_cb; - mcl->cb->mdl_reconn_req = default_mdl_reconn_req_cb; -} - -static char *error2str(uint8_t rc) -{ - switch (rc) { - case MCAP_SUCCESS: - return "Success"; - case MCAP_INVALID_OP_CODE: - return "Invalid Op Code"; - case MCAP_INVALID_PARAM_VALUE: - return "Invalid Parameter Value"; - case MCAP_INVALID_MDEP: - return "Invalid MDEP"; - case MCAP_MDEP_BUSY: - return "MDEP Busy"; - case MCAP_INVALID_MDL: - return "Invalid MDL"; - case MCAP_MDL_BUSY: - return "MDL Busy"; - case MCAP_INVALID_OPERATION: - return "Invalid Operation"; - case MCAP_RESOURCE_UNAVAILABLE: - return "Resource Unavailable"; - case MCAP_UNSPECIFIED_ERROR: - return "Unspecified Error"; - case MCAP_REQUEST_NOT_SUPPORTED: - return "Request Not Supported"; - case MCAP_CONFIGURATION_REJECTED: - return "Configuration Rejected"; - default: - return "Unknown Response Code"; - } -} - -static gboolean mcap_send_std_opcode(struct mcap_mcl *mcl, void *cmd, - uint32_t size, GError **err) -{ - if (mcl->state == MCL_IDLE) { - g_set_error(err, MCAP_ERROR, MCAP_ERROR_FAILED, - "MCL is not connected"); - return FALSE; - } - - if (mcl->req != MCL_AVAILABLE) { - g_set_error(err, MCAP_ERROR, MCAP_ERROR_RESOURCE_UNAVAILABLE, - "Pending request"); - return FALSE; - } - - if (!(mcl->ctrl & MCAP_CTRL_STD_OP)) { - g_set_error(err, MCAP_ERROR, MCAP_ERROR_REQUEST_NOT_SUPPORTED, - "Remote does not support standard opcodes"); - return FALSE; - } - - if (mcl->state == MCL_PENDING) { - g_set_error(err, MCAP_ERROR, MCAP_ERROR_INVALID_OPERATION, - "Not Std Op. Codes can be sent in PENDING State"); - return FALSE; - } - - if (mcap_send_data(g_io_channel_unix_get_fd(mcl->cc), cmd, size) < 0) { - g_set_error(err, MCAP_ERROR, MCAP_ERROR_FAILED, - "Command can't be sent, write error"); - return FALSE; - } - - mcl->lcmd = cmd; - mcl->req = MCL_WAITING_RSP; - - return TRUE; -} - -static void update_mcl_state(struct mcap_mcl *mcl) -{ - GSList *l; - struct mcap_mdl *mdl; - - if (mcl->state == MCL_PENDING) - return; - - for (l = mcl->mdls; l; l = l->next) { - mdl = l->data; - - if (mdl->state == MDL_CONNECTED) { - mcl->state = MCL_ACTIVE; - return; - } - } - - mcl->state = MCL_CONNECTED; -} - -static void shutdown_mdl(struct mcap_mdl *mdl) -{ - mdl->state = MDL_CLOSED; - - if (mdl->wid) { - g_source_remove(mdl->wid); - mdl->wid = 0; - } - - if (mdl->dc) { - g_io_channel_shutdown(mdl->dc, TRUE, NULL); - g_io_channel_unref(mdl->dc); - mdl->dc = NULL; - } -} - -static void free_mdl(struct mcap_mdl *mdl) -{ - if (!mdl) - return; - - mcap_mcl_unref(mdl->mcl); - g_free(mdl); -} - -static gint cmp_mdl_state(gconstpointer a, gconstpointer b) -{ - const struct mcap_mdl *mdl = a; - const MDLState *st = b; - - if (mdl->state == *st) - return 0; - else if (mdl->state < *st) - return -1; - else - return 1; -} - -static void free_mcap_mdl_op(struct mcap_mdl_op_cb *op) -{ - if (op->destroy) - op->destroy(op->user_data); - - if (op->mdl) - mcap_mdl_unref(op->mdl); - - g_free(op); -} - -static void free_mcl_priv_data(struct mcap_mcl *mcl) -{ - free_mcap_mdl_op(mcl->priv_data); - mcl->priv_data = NULL; -} - -static void mcap_notify_error(struct mcap_mcl *mcl, GError *err) -{ - struct mcap_mdl_op_cb *con = mcl->priv_data; - struct mcap_mdl *mdl; - MDLState st; - GSList *l; - - if (!con || !mcl->lcmd) - return; - - switch (mcl->lcmd[0]) { - case MCAP_MD_CREATE_MDL_REQ: - st = MDL_WAITING; - l = g_slist_find_custom(mcl->mdls, &st, cmp_mdl_state); - mdl = l->data; - mcl->mdls = g_slist_remove(mcl->mdls, mdl); - mcap_mdl_unref(mdl); - update_mcl_state(mcl); - con->cb.op_conf(NULL, 0, err, con->user_data); - break; - case MCAP_MD_ABORT_MDL_REQ: - st = MDL_WAITING; - l = g_slist_find_custom(mcl->mdls, &st, cmp_mdl_state); - shutdown_mdl(l->data); - update_mcl_state(mcl); - con->cb.notify(err, con->user_data); - break; - case MCAP_MD_DELETE_MDL_REQ: - for (l = mcl->mdls; l; l = l->next) { - mdl = l->data; - if (mdl->state == MDL_DELETING) - mdl->state = (mdl->dc) ? MDL_CONNECTED : - MDL_CLOSED; - } - update_mcl_state(mcl); - con->cb.notify(err, con->user_data); - break; - case MCAP_MD_RECONNECT_MDL_REQ: - st = MDL_WAITING; - l = g_slist_find_custom(mcl->mdls, &st, cmp_mdl_state); - shutdown_mdl(l->data); - update_mcl_state(mcl); - con->cb.op(NULL, err, con->user_data); - break; - } - - free_mcl_priv_data(mcl); - g_free(mcl->lcmd); - mcl->lcmd = NULL; -} - -int mcap_send_data(int sock, const void *buf, uint32_t size) -{ - const uint8_t *buf_b = buf; - uint32_t sent = 0; - - while (sent < size) { - int n = write(sock, buf_b + sent, size - sent); - if (n < 0) - return -1; - sent += n; - } - - return 0; -} - -static int mcap_send_cmd(struct mcap_mcl *mcl, uint8_t oc, uint8_t rc, - uint16_t mdl, uint8_t *data, size_t len) -{ - mcap_rsp *cmd; - int sock, sent; - - if (mcl->cc == NULL) - return -1; - - sock = g_io_channel_unix_get_fd(mcl->cc); - - cmd = g_malloc(sizeof(mcap_rsp) + len); - cmd->op = oc; - cmd->rc = rc; - cmd->mdl = htons(mdl); - - if (data && len > 0) - memcpy(cmd->data, data, len); - - sent = mcap_send_data(sock, cmd, sizeof(mcap_rsp) + len); - g_free(cmd); - - return sent; -} - -static struct mcap_mdl *get_mdl(struct mcap_mcl *mcl, uint16_t mdlid) -{ - GSList *l; - struct mcap_mdl *mdl; - - for (l = mcl->mdls; l; l = l->next) { - mdl = l->data; - if (mdlid == mdl->mdlid) - return mdl; - } - - return NULL; -} - -static uint16_t generate_mdlid(struct mcap_mcl *mcl) -{ - uint16_t mdlid = mcl->next_mdl; - struct mcap_mdl *mdl; - - do { - mdl = get_mdl(mcl, mdlid); - if (!mdl) { - mcl->next_mdl = (mdlid % MCAP_MDLID_FINAL) + 1; - return mdlid; - } else - mdlid = (mdlid % MCAP_MDLID_FINAL) + 1; - } while (mdlid != mcl->next_mdl); - - /* No more mdlids availables */ - return 0; -} - -static mcap_md_req *create_req(uint8_t op, uint16_t mdl_id) -{ - mcap_md_req *req_cmd; - - req_cmd = g_new0(mcap_md_req, 1); - - req_cmd->op = op; - req_cmd->mdl = htons(mdl_id); - - return req_cmd; -} - -static mcap_md_create_mdl_req *create_mdl_req(uint16_t mdl_id, uint8_t mdep, - uint8_t conf) -{ - mcap_md_create_mdl_req *req_mdl; - - req_mdl = g_new0(mcap_md_create_mdl_req, 1); - - req_mdl->op = MCAP_MD_CREATE_MDL_REQ; - req_mdl->mdl = htons(mdl_id); - req_mdl->mdep = mdep; - req_mdl->conf = conf; - - return req_mdl; -} - -static gint compare_mdl(gconstpointer a, gconstpointer b) -{ - const struct mcap_mdl *mdla = a; - const struct mcap_mdl *mdlb = b; - - if (mdla->mdlid == mdlb->mdlid) - return 0; - else if (mdla->mdlid < mdlb->mdlid) - return -1; - else - return 1; -} - -static gboolean wait_response_timer(gpointer data) -{ - struct mcap_mcl *mcl = data; - - GError *gerr = NULL; - - RELEASE_TIMER(mcl); - - g_set_error(&gerr, MCAP_ERROR, MCAP_ERROR_FAILED, - "Timeout waiting response"); - - mcap_notify_error(mcl, gerr); - - g_error_free(gerr); - mcl->mi->mcl_disconnected_cb(mcl, mcl->mi->user_data); - mcap_cache_mcl(mcl); - - return FALSE; -} - -gboolean mcap_create_mdl(struct mcap_mcl *mcl, - uint8_t mdepid, - uint8_t conf, - mcap_mdl_operation_conf_cb connect_cb, - gpointer user_data, - GDestroyNotify destroy, - GError **err) -{ - struct mcap_mdl *mdl; - struct mcap_mdl_op_cb *con; - mcap_md_create_mdl_req *cmd; - uint16_t id; - - id = generate_mdlid(mcl); - if (!id) { - g_set_error(err, MCAP_ERROR, MCAP_ERROR_FAILED, - "Not more mdlids available"); - return FALSE; - } - - mdl = g_new0(struct mcap_mdl, 1); - mdl->mcl = mcap_mcl_ref(mcl); - mdl->mdlid = id; - mdl->mdep_id = mdepid; - mdl->state = MDL_WAITING; - - con = g_new0(struct mcap_mdl_op_cb, 1); - con->mdl = mcap_mdl_ref(mdl); - con->cb.op_conf = connect_cb; - con->destroy = destroy; - con->user_data = user_data; - - cmd = create_mdl_req(id, mdepid, conf); - if (!mcap_send_std_opcode(mcl, cmd, sizeof(mcap_md_create_mdl_req), - err)) { - mcap_mdl_unref(con->mdl); - g_free(con); - g_free(cmd); - return FALSE; - } - - mcl->state = MCL_ACTIVE; - mcl->priv_data = con; - - mcl->mdls = g_slist_insert_sorted(mcl->mdls, mcap_mdl_ref(mdl), - compare_mdl); - mcl->tid = g_timeout_add_seconds(RESPONSE_TIMER, wait_response_timer, - mcl); - return TRUE; -} - -gboolean mcap_reconnect_mdl(struct mcap_mdl *mdl, - mcap_mdl_operation_cb reconnect_cb, - gpointer user_data, - GDestroyNotify destroy, - GError **err) -{ - struct mcap_mdl_op_cb *con; - struct mcap_mcl *mcl = mdl->mcl; - mcap_md_req *cmd; - - if (mdl->state != MDL_CLOSED) { - g_set_error(err, MCAP_ERROR, MCAP_ERROR_FAILED, - "MDL is not closed"); - return FALSE; - } - - cmd = create_req(MCAP_MD_RECONNECT_MDL_REQ, mdl->mdlid); - if (!mcap_send_std_opcode(mcl, cmd, sizeof(mcap_md_req), err)) { - g_free(cmd); - return FALSE; - } - - mdl->state = MDL_WAITING; - - con = g_new0(struct mcap_mdl_op_cb, 1); - con->mdl = mcap_mdl_ref(mdl); - con->cb.op = reconnect_cb; - con->destroy = destroy; - con->user_data = user_data; - - mcl->state = MCL_ACTIVE; - mcl->priv_data = con; - - mcl->tid = g_timeout_add_seconds(RESPONSE_TIMER, wait_response_timer, - mcl); - return TRUE; -} - -static gboolean send_delete_req(struct mcap_mcl *mcl, - struct mcap_mdl_op_cb *con, - uint16_t mdlid, - GError **err) -{ - mcap_md_req *cmd; - - cmd = create_req(MCAP_MD_DELETE_MDL_REQ, mdlid); - if (!mcap_send_std_opcode(mcl, cmd, sizeof(mcap_md_req), err)) { - g_free(cmd); - return FALSE; - } - - mcl->priv_data = con; - - mcl->tid = g_timeout_add_seconds(RESPONSE_TIMER, wait_response_timer, - mcl); - return TRUE; -} - -gboolean mcap_delete_all_mdls(struct mcap_mcl *mcl, - mcap_mdl_notify_cb delete_cb, - gpointer user_data, - GDestroyNotify destroy, - GError **err) -{ - GSList *l; - struct mcap_mdl *mdl; - struct mcap_mdl_op_cb *con; - - DBG("MCL in state: %d", mcl->state); - if (!mcl->mdls) { - g_set_error(err, MCAP_ERROR, MCAP_ERROR_FAILED, - "There are not MDLs created"); - return FALSE; - } - - for (l = mcl->mdls; l; l = l->next) { - mdl = l->data; - if (mdl->state != MDL_WAITING) - mdl->state = MDL_DELETING; - } - - con = g_new0(struct mcap_mdl_op_cb, 1); - con->mdl = NULL; - con->cb.notify = delete_cb; - con->destroy = destroy; - con->user_data = user_data; - - - if (!send_delete_req(mcl, con, MCAP_ALL_MDLIDS, err)) { - g_free(con); - return FALSE; - } - - return TRUE; -} - -gboolean mcap_delete_mdl(struct mcap_mdl *mdl, mcap_mdl_notify_cb delete_cb, - gpointer user_data, - GDestroyNotify destroy, - GError **err) -{ - struct mcap_mcl *mcl= mdl->mcl; - struct mcap_mdl_op_cb *con; - GSList *l; - - l = g_slist_find(mcl->mdls, mdl); - - if (!l) { - g_set_error(err, MCAP_ERROR, MCAP_ERROR_INVALID_MDL, - "%s" , error2str(MCAP_INVALID_MDEP)); - return FALSE; - } - - if (mdl->state == MDL_WAITING) { - g_set_error(err, MCAP_ERROR, MCAP_ERROR_FAILED, - "Mdl is not created"); - return FALSE; - } - - mdl->state = MDL_DELETING; - - con = g_new0(struct mcap_mdl_op_cb, 1); - con->mdl = mcap_mdl_ref(mdl); - con->cb.notify = delete_cb; - con->destroy = destroy; - con->user_data = user_data; - - if (!send_delete_req(mcl, con, mdl->mdlid, err)) { - mcap_mdl_unref(con->mdl); - g_free(con); - return FALSE; - } - - return TRUE; -} - -gboolean mcap_mdl_abort(struct mcap_mdl *mdl, mcap_mdl_notify_cb abort_cb, - gpointer user_data, - GDestroyNotify destroy, - GError **err) -{ - struct mcap_mdl_op_cb *con; - struct mcap_mcl *mcl = mdl->mcl; - mcap_md_req *cmd; - - if (mdl->state != MDL_WAITING) { - g_set_error(err, MCAP_ERROR, MCAP_ERROR_FAILED, - "Mdl in invalid state"); - return FALSE; - } - - cmd = create_req(MCAP_MD_ABORT_MDL_REQ, mdl->mdlid); - if (!mcap_send_std_opcode(mcl, cmd, sizeof(mcap_md_req), err)) { - g_free(cmd); - return FALSE; - } - - con = g_new0(struct mcap_mdl_op_cb, 1); - con->mdl = mcap_mdl_ref(mdl); - con->cb.notify = abort_cb; - con->destroy = destroy; - con->user_data = user_data; - - mcl->priv_data = con; - mcl->tid = g_timeout_add_seconds(RESPONSE_TIMER, wait_response_timer, - mcl); - return TRUE; -} - -static struct mcap_mcl *find_mcl(GSList *list, const bdaddr_t *addr) -{ - struct mcap_mcl *mcl; - - for (; list; list = list->next) { - mcl = list->data; - - if (!bacmp(&mcl->addr, addr)) - return mcl; - } - - return NULL; -} - -int mcap_mdl_get_fd(struct mcap_mdl *mdl) -{ - if (!mdl || mdl->state != MDL_CONNECTED) - return -ENOTCONN; - - return g_io_channel_unix_get_fd(mdl->dc); -} - -uint16_t mcap_mdl_get_mdlid(struct mcap_mdl *mdl) -{ - if (!mdl) - return MCAP_MDLID_RESERVED; - - return mdl->mdlid; -} - -static void close_mcl(struct mcap_mcl *mcl, gboolean cache_requested) -{ - gboolean save = ((!(mcl->ctrl & MCAP_CTRL_FREE)) && cache_requested); - - RELEASE_TIMER(mcl); - - if (mcl->cc) { - g_io_channel_shutdown(mcl->cc, TRUE, NULL); - g_io_channel_unref(mcl->cc); - mcl->cc = NULL; - } - - if (mcl->wid) { - g_source_remove(mcl->wid); - mcl->wid = 0; - } - - if (mcl->lcmd) { - g_free(mcl->lcmd); - mcl->lcmd = NULL; - } - - if (mcl->priv_data) - free_mcl_priv_data(mcl); - - g_slist_foreach(mcl->mdls, (GFunc) shutdown_mdl, NULL); - - mcap_sync_stop(mcl); - - mcl->state = MCL_IDLE; - - if (save) - return; - - g_slist_foreach(mcl->mdls, (GFunc) mcap_mdl_unref, NULL); - g_slist_free(mcl->mdls); - mcl->mdls = NULL; -} - -static void mcap_mcl_shutdown(struct mcap_mcl *mcl) -{ - close_mcl(mcl, TRUE); -} - -static void mcap_mcl_release(struct mcap_mcl *mcl) -{ - close_mcl(mcl, FALSE); -} - -static void mcap_cache_mcl(struct mcap_mcl *mcl) -{ - GSList *l; - struct mcap_mcl *last; - int len; - - if (mcl->ctrl & MCAP_CTRL_CACHED) - return; - - mcl->mi->mcls = g_slist_remove(mcl->mi->mcls, mcl); - - if (mcl->ctrl & MCAP_CTRL_NOCACHE) { - mcl->mi->cached = g_slist_remove(mcl->mi->cached, mcl); - mcap_mcl_release(mcl); - mcap_mcl_unref(mcl); - return; - } - - DBG("Caching MCL"); - - len = g_slist_length(mcl->mi->cached); - if (len == MAX_CACHED) { - /* Remove the latest cached mcl */ - l = g_slist_last(mcl->mi->cached); - last = l->data; - mcl->mi->cached = g_slist_remove(mcl->mi->cached, last); - last->ctrl &= ~MCAP_CTRL_CACHED; - if (last->ctrl & MCAP_CTRL_CONN) { - /* We have to release this MCL if */ - /* connection is not successful */ - last->ctrl |= MCAP_CTRL_FREE; - } else { - mcap_mcl_release(last); - last->mi->mcl_uncached_cb(last, last->mi->user_data); - } - mcap_mcl_unref(last); - } - - mcl->mi->cached = g_slist_prepend(mcl->mi->cached, mcl); - mcl->ctrl |= MCAP_CTRL_CACHED; - mcap_mcl_shutdown(mcl); -} - -static void mcap_uncache_mcl(struct mcap_mcl *mcl) -{ - if (!(mcl->ctrl & MCAP_CTRL_CACHED)) - return; - - DBG("Got MCL from cache"); - - mcl->mi->cached = g_slist_remove(mcl->mi->cached, mcl); - mcl->mi->mcls = g_slist_prepend(mcl->mi->mcls, mcl); - mcl->ctrl &= ~MCAP_CTRL_CACHED; - mcl->ctrl &= ~MCAP_CTRL_FREE; -} - -void mcap_close_mcl(struct mcap_mcl *mcl, gboolean cache) -{ - if (!mcl) - return; - - if (mcl->ctrl & MCAP_CTRL_FREE) { - mcap_mcl_release(mcl); - return; - } - - if (!cache) - mcl->ctrl |= MCAP_CTRL_NOCACHE; - - if (mcl->cc) { - g_io_channel_shutdown(mcl->cc, TRUE, NULL); - g_io_channel_unref(mcl->cc); - mcl->cc = NULL; - mcl->state = MCL_IDLE; - } else if ((mcl->ctrl & MCAP_CTRL_CACHED) && - (mcl->ctrl & MCAP_CTRL_NOCACHE)) { - mcl->ctrl &= ~MCAP_CTRL_CACHED; - mcl->mi->cached = g_slist_remove(mcl->mi->cached, mcl); - mcap_mcl_release(mcl); - mcap_mcl_unref(mcl); - } -} - -struct mcap_mcl *mcap_mcl_ref(struct mcap_mcl *mcl) -{ - mcl->ref++; - - DBG("mcap_mcl_ref(%p): ref=%d", mcl, mcl->ref); - - return mcl; -} - -void mcap_mcl_unref(struct mcap_mcl *mcl) -{ - mcl->ref--; - - DBG("mcap_mcl_unref(%p): ref=%d", mcl, mcl->ref); - - if (mcl->ref > 0) - return; - - mcap_mcl_release(mcl); - mcap_instance_unref(mcl->mi); - g_free(mcl->cb); - g_free(mcl); -} - -static gboolean parse_set_opts(struct mcap_mdl_cb *mdl_cb, GError **err, - McapMclCb cb1, va_list args) -{ - McapMclCb cb = cb1; - struct mcap_mdl_cb *c; - - c = g_new0(struct mcap_mdl_cb, 1); - - while (cb != MCAP_MDL_CB_INVALID) { - switch (cb) { - case MCAP_MDL_CB_CONNECTED: - c->mdl_connected = va_arg(args, mcap_mdl_event_cb); - break; - case MCAP_MDL_CB_CLOSED: - c->mdl_closed = va_arg(args, mcap_mdl_event_cb); - break; - case MCAP_MDL_CB_DELETED: - c->mdl_deleted = va_arg(args, mcap_mdl_event_cb); - break; - case MCAP_MDL_CB_ABORTED: - c->mdl_aborted = va_arg(args, mcap_mdl_event_cb); - break; - case MCAP_MDL_CB_REMOTE_CONN_REQ: - c->mdl_conn_req = va_arg(args, - mcap_remote_mdl_conn_req_cb); - break; - case MCAP_MDL_CB_REMOTE_RECONN_REQ: - c->mdl_reconn_req = va_arg(args, - mcap_remote_mdl_reconn_req_cb); - break; - default: - g_set_error(err, MCAP_ERROR, MCAP_ERROR_INVALID_ARGS, - "Unknown option %d", cb); - g_free(c); - return FALSE; - } - cb = va_arg(args, int); - } - - /* Set new callbacks */ - if (c->mdl_connected) - mdl_cb->mdl_connected = c->mdl_connected; - if (c->mdl_closed) - mdl_cb->mdl_closed = c->mdl_closed; - if (c->mdl_deleted) - mdl_cb->mdl_deleted = c->mdl_deleted; - if (c->mdl_aborted) - mdl_cb->mdl_aborted = c->mdl_aborted; - if (c->mdl_conn_req) - mdl_cb->mdl_conn_req = c->mdl_conn_req; - if (c->mdl_reconn_req) - mdl_cb->mdl_reconn_req = c->mdl_reconn_req; - - g_free(c); - - return TRUE; -} - -gboolean mcap_mcl_set_cb(struct mcap_mcl *mcl, gpointer user_data, - GError **gerr, McapMclCb cb1, ...) -{ - va_list args; - gboolean ret; - - va_start(args, cb1); - ret = parse_set_opts(mcl->cb, gerr, cb1, args); - va_end(args); - - if (!ret) - return FALSE; - - mcl->cb->user_data = user_data; - return TRUE; -} - -void mcap_mcl_get_addr(struct mcap_mcl *mcl, bdaddr_t *addr) -{ - bacpy(addr, &mcl->addr); -} - -static void mcap_del_mdl(gpointer elem, gpointer user_data) -{ - struct mcap_mdl *mdl = elem; - gboolean notify = *(gboolean *) user_data; - - shutdown_mdl(mdl); - if (notify) - mdl->mcl->cb->mdl_deleted(mdl, mdl->mcl->cb->user_data); - - mcap_mdl_unref(mdl); -} - -static gboolean check_cmd_req_length(struct mcap_mcl *mcl, void *cmd, - uint32_t rlen, uint32_t explen, uint8_t rspcod) -{ - mcap_md_req *req; - uint16_t mdl_id; - - if (rlen != explen) { - if (rlen >= sizeof(mcap_md_req)) { - req = cmd; - mdl_id = ntohs(req->mdl); - } else { - /* We can't get mdlid */ - mdl_id = MCAP_MDLID_RESERVED; - } - mcap_send_cmd(mcl, rspcod, MCAP_INVALID_PARAM_VALUE, mdl_id, - NULL, 0); - return FALSE; - } - return TRUE; -} - -static void process_md_create_mdl_req(struct mcap_mcl *mcl, void *cmd, - uint32_t len) -{ - mcap_md_create_mdl_req *req; - struct mcap_mdl *mdl; - uint16_t mdl_id; - uint8_t mdep_id; - uint8_t cfga, conf; - uint8_t rsp; - - if (!check_cmd_req_length(mcl, cmd, len, sizeof(mcap_md_create_mdl_req), - MCAP_MD_CREATE_MDL_RSP)) - return; - - req = cmd; - mdl_id = ntohs(req->mdl); - if (mdl_id < MCAP_MDLID_INITIAL || mdl_id > MCAP_MDLID_FINAL) { - mcap_send_cmd(mcl, MCAP_MD_CREATE_MDL_RSP, MCAP_INVALID_MDL, - mdl_id, NULL, 0); - return; - } - - mdep_id = req->mdep; - if (mdep_id > MCAP_MDEPID_FINAL) { - mcap_send_cmd(mcl, MCAP_MD_CREATE_MDL_RSP, MCAP_INVALID_MDEP, - mdl_id, NULL, 0); - return; - } - - mdl = get_mdl(mcl, mdl_id); - if (mdl && (mdl->state == MDL_WAITING || mdl->state == MDL_DELETING )) { - /* Creation request arrives for a MDL that is being managed - * at current moment */ - mcap_send_cmd(mcl, MCAP_MD_CREATE_MDL_RSP, MCAP_MDL_BUSY, - mdl_id, NULL, 0); - return; - } - - cfga = conf = req->conf; - /* Callback to upper layer */ - rsp = mcl->cb->mdl_conn_req(mcl, mdep_id, mdl_id, &conf, - mcl->cb->user_data); - if (mcl->state == MCL_IDLE) { - /* MCL has been closed int the callback */ - return; - } - - if (cfga != 0 && cfga != conf) { - /* Remote device set default configuration but upper profile */ - /* has changed it. Protocol Error: force closing the MCL by */ - /* remote device using UNSPECIFIED_ERROR response */ - mcap_send_cmd(mcl, MCAP_MD_CREATE_MDL_RSP, - MCAP_UNSPECIFIED_ERROR, mdl_id, NULL, 0); - return; - } - if (rsp != MCAP_SUCCESS) { - mcap_send_cmd(mcl, MCAP_MD_CREATE_MDL_RSP, rsp, mdl_id, - NULL, 0); - return; - } - - if (!mdl) { - mdl = g_new0(struct mcap_mdl, 1); - mdl->mcl = mcap_mcl_ref(mcl); - mdl->mdlid = mdl_id; - mcl->mdls = g_slist_insert_sorted(mcl->mdls, mcap_mdl_ref(mdl), - compare_mdl); - } else if (mdl->state == MDL_CONNECTED) { - /* MCAP specification says that we should close the MCL if - * it is open when we receive a MD_CREATE_MDL_REQ */ - shutdown_mdl(mdl); - } - - mdl->mdep_id = mdep_id; - mdl->state = MDL_WAITING; - - mcl->state = MCL_PENDING; - mcap_send_cmd(mcl, MCAP_MD_CREATE_MDL_RSP, MCAP_SUCCESS, mdl_id, - &conf, 1); -} - -static void process_md_reconnect_mdl_req(struct mcap_mcl *mcl, void *cmd, - uint32_t len) -{ - mcap_md_req *req; - struct mcap_mdl *mdl; - uint16_t mdl_id; - uint8_t rsp; - - if (!check_cmd_req_length(mcl, cmd, len, sizeof(mcap_md_req), - MCAP_MD_RECONNECT_MDL_RSP)) - return; - - req = cmd; - mdl_id = ntohs(req->mdl); - - mdl = get_mdl(mcl, mdl_id); - if (!mdl) { - mcap_send_cmd(mcl, MCAP_MD_RECONNECT_MDL_RSP, MCAP_INVALID_MDL, - mdl_id, NULL, 0); - return; - } else if (mdl->state == MDL_WAITING || mdl->state == MDL_DELETING ) { - /* Creation request arrives for a MDL that is being managed - * at current moment */ - mcap_send_cmd(mcl, MCAP_MD_RECONNECT_MDL_RSP, MCAP_MDL_BUSY, - mdl_id, NULL, 0); - return; - } - - /* Callback to upper layer */ - rsp = mcl->cb->mdl_reconn_req(mdl, mcl->cb->user_data); - if (mcl->state == MCL_IDLE) - return; - - if (rsp != MCAP_SUCCESS) { - mcap_send_cmd(mcl, MCAP_MD_RECONNECT_MDL_RSP, rsp, mdl_id, - NULL, 0); - return; - } - - if (mdl->state == MDL_CONNECTED) - shutdown_mdl(mdl); - - mdl->state = MDL_WAITING; - mcl->state = MCL_PENDING; - mcap_send_cmd(mcl, MCAP_MD_RECONNECT_MDL_RSP, MCAP_SUCCESS, mdl_id, - NULL, 0); -} - -static void process_md_abort_mdl_req(struct mcap_mcl *mcl, void *cmd, - uint32_t len) -{ - mcap_md_req *req; - GSList *l; - struct mcap_mdl *mdl, *abrt; - uint16_t mdl_id; - - if (!check_cmd_req_length(mcl, cmd, len, sizeof(mcap_md_req), - MCAP_MD_ABORT_MDL_RSP)) - return; - - req = cmd; - mdl_id = ntohs(req->mdl); - mcl->state = MCL_CONNECTED; - abrt = NULL; - for (l = mcl->mdls; l; l = l->next) { - mdl = l->data; - if (mdl_id == mdl->mdlid && mdl->state == MDL_WAITING) { - abrt = mdl; - if (mcl->state != MCL_CONNECTED) - break; - continue; - } - if (mdl->state == MDL_CONNECTED && mcl->state != MCL_ACTIVE) - mcl->state = MCL_ACTIVE; - - if (abrt && mcl->state == MCL_ACTIVE) - break; - } - - if (!abrt) { - mcap_send_cmd(mcl, MCAP_MD_ABORT_MDL_RSP, MCAP_INVALID_MDL, - mdl_id, NULL, 0); - return; - } - - mcl->cb->mdl_aborted(abrt, mcl->cb->user_data); - abrt->state = MDL_CLOSED; - mcap_send_cmd(mcl, MCAP_MD_ABORT_MDL_RSP, MCAP_SUCCESS, mdl_id, - NULL, 0); -} - -static void process_md_delete_mdl_req(struct mcap_mcl *mcl, void *cmd, - uint32_t len) -{ - mcap_md_req *req; - struct mcap_mdl *mdl, *aux; - uint16_t mdlid; - gboolean notify; - GSList *l; - - if (!check_cmd_req_length(mcl, cmd, len, sizeof(mcap_md_req), - MCAP_MD_DELETE_MDL_RSP)) - return; - - req = cmd; - mdlid = ntohs(req->mdl); - if (mdlid == MCAP_ALL_MDLIDS) { - notify = FALSE; - g_slist_foreach(mcl->mdls, mcap_del_mdl, ¬ify); - g_slist_free(mcl->mdls); - mcl->mdls = NULL; - mcl->state = MCL_CONNECTED; - /* NULL mdl means ALL_MDLS */ - mcl->cb->mdl_deleted(NULL, mcl->cb->user_data); - goto resp; - } - - if (mdlid < MCAP_MDLID_INITIAL || mdlid > MCAP_MDLID_FINAL) { - mcap_send_cmd(mcl, MCAP_MD_DELETE_MDL_RSP, MCAP_INVALID_MDL, - mdlid, NULL, 0); - return; - } - - for (l = mcl->mdls, mdl = NULL; l; l = l->next) { - aux = l->data; - if (aux->mdlid == mdlid) { - mdl = aux; - break; - } - } - - if (!mdl || mdl->state == MDL_WAITING) { - mcap_send_cmd(mcl, MCAP_MD_DELETE_MDL_RSP, MCAP_INVALID_MDL, - mdlid, NULL, 0); - return; - } - - mcl->mdls = g_slist_remove(mcl->mdls, mdl); - update_mcl_state(mcl); - notify = TRUE; - mcap_del_mdl(mdl, ¬ify); - -resp: - mcap_send_cmd(mcl, MCAP_MD_DELETE_MDL_RSP, MCAP_SUCCESS, mdlid, - NULL, 0); -} - -static void invalid_req_state(struct mcap_mcl *mcl, uint8_t *cmd, uint32_t len) -{ - uint16_t mdlr; - - error("Invalid cmd received (op code = %d) in state %d", cmd[0], - mcl->state); - /* Get previously mdlid sent to generate an appropriate - * response if it is possible */ - mdlr = len < sizeof(mcap_md_req) ? MCAP_MDLID_RESERVED : - ntohs(((mcap_md_req *) cmd)->mdl); - mcap_send_cmd(mcl, cmd[0]+1, MCAP_INVALID_OPERATION, mdlr, NULL, 0); -} - -/* Function used to process commands depending of MCL state */ -static void proc_req_connected(struct mcap_mcl *mcl, uint8_t *cmd, uint32_t len) -{ - switch (cmd[0]) { - case MCAP_MD_CREATE_MDL_REQ: - process_md_create_mdl_req(mcl, cmd, len); - break; - case MCAP_MD_RECONNECT_MDL_REQ: - process_md_reconnect_mdl_req(mcl, cmd, len); - break; - case MCAP_MD_DELETE_MDL_REQ: - process_md_delete_mdl_req(mcl, cmd, len); - break; - default: - invalid_req_state(mcl, cmd, len); - } -} - -static void proc_req_pending(struct mcap_mcl *mcl, uint8_t *cmd, uint32_t len) -{ - if (cmd[0] == MCAP_MD_ABORT_MDL_REQ) - process_md_abort_mdl_req(mcl, cmd, len); - else - invalid_req_state(mcl, cmd, len); -} - -static void proc_req_active(struct mcap_mcl *mcl, uint8_t *cmd, uint32_t len) -{ - switch (cmd[0]) { - case MCAP_MD_CREATE_MDL_REQ: - process_md_create_mdl_req(mcl, cmd, len); - break; - case MCAP_MD_RECONNECT_MDL_REQ: - process_md_reconnect_mdl_req(mcl, cmd, len); - break; - case MCAP_MD_DELETE_MDL_REQ: - process_md_delete_mdl_req(mcl, cmd, len); - break; - default: - invalid_req_state(mcl, cmd, len); - } -} - -/* Function used to process replies */ -static gboolean check_err_rsp(struct mcap_mcl *mcl, mcap_rsp *rsp, - uint32_t rlen, uint32_t len, GError **gerr) -{ - mcap_md_req *cmdlast = (mcap_md_req *) mcl->lcmd; - gint err = MCAP_ERROR_FAILED; - gboolean close = FALSE; - char *msg; - - if (rsp->op == MCAP_ERROR_RSP) { - msg = "MCAP_ERROR_RSP received"; - close = FALSE; - goto fail; - } - - /* Check if the response matches with the last request */ - if (rlen < sizeof(mcap_rsp) || (mcl->lcmd[0] + 1) != rsp->op) { - msg = "Protocol error"; - close = FALSE; - goto fail; - } - - if (rlen < len) { - msg = "Protocol error"; - close = FALSE; - goto fail; - } - - if (rsp->mdl != cmdlast->mdl) { - msg = "MDLID received doesn't match with MDLID sent"; - close = TRUE; - goto fail; - } - - if (rsp->rc == MCAP_REQUEST_NOT_SUPPORTED) { - msg = "Remote does not support opcodes"; - mcl->ctrl &= ~MCAP_CTRL_STD_OP; - goto fail; - } - - if (rsp->rc == MCAP_UNSPECIFIED_ERROR) { - msg = "Unspecified error"; - close = TRUE; - goto fail; - } - - if (rsp->rc != MCAP_SUCCESS) { - msg = error2str(rsp->rc); - err = rsp->rc; - goto fail; - } - - return FALSE; - -fail: - g_set_error(gerr, MCAP_ERROR, err, "%s", msg); - return close; -} - -static gboolean process_md_create_mdl_rsp(struct mcap_mcl *mcl, - mcap_rsp *rsp, uint32_t len) -{ - mcap_md_create_mdl_req *cmdlast = (mcap_md_create_mdl_req *) mcl->lcmd; - struct mcap_mdl_op_cb *conn = mcl->priv_data; - mcap_mdl_operation_conf_cb connect_cb = conn->cb.op_conf; - gpointer user_data = conn->user_data; - struct mcap_mdl *mdl = conn->mdl; - uint8_t conf = cmdlast->conf; - gboolean close; - GError *gerr = NULL; - - close = check_err_rsp(mcl, rsp, len, sizeof(mcap_rsp) + 1, &gerr); - g_free(mcl->lcmd); - mcl->lcmd = NULL; - mcl->req = MCL_AVAILABLE; - - if (gerr) - goto fail; - - /* Check if preferences changed */ - if (conf != 0x00 && rsp->data[0] != conf) { - g_set_error(&gerr, MCAP_ERROR, MCAP_ERROR_FAILED, - "Configuration changed"); - close = TRUE; - goto fail; - } - - connect_cb(mdl, rsp->data[0], gerr, user_data); - return close; - -fail: - connect_cb(NULL, 0, gerr, user_data); - mcl->mdls = g_slist_remove(mcl->mdls, mdl); - mcap_mdl_unref(mdl); - g_error_free(gerr); - update_mcl_state(mcl); - return close; -} - -static gboolean process_md_reconnect_mdl_rsp(struct mcap_mcl *mcl, - mcap_rsp *rsp, uint32_t len) -{ - struct mcap_mdl_op_cb *reconn = mcl->priv_data; - mcap_mdl_operation_cb reconn_cb = reconn->cb.op; - gpointer user_data = reconn->user_data; - struct mcap_mdl *mdl = reconn->mdl; - GError *gerr = NULL; - gboolean close; - - close = check_err_rsp(mcl, rsp, len, sizeof(mcap_rsp), &gerr); - - g_free(mcl->lcmd); - mcl->lcmd = NULL; - mcl->req = MCL_AVAILABLE; - - reconn_cb(mdl, gerr, user_data); - if (!gerr) - return close; - - g_error_free(gerr); - shutdown_mdl(mdl); - update_mcl_state(mcl); - - if (rsp->rc != MCAP_INVALID_MDL) - return close; - - /* Remove cached mdlid */ - mcl->mdls = g_slist_remove(mcl->mdls, mdl); - mcl->cb->mdl_deleted(mdl, mcl->cb->user_data); - mcap_mdl_unref(mdl); - - return close; -} - -static gboolean process_md_abort_mdl_rsp(struct mcap_mcl *mcl, - mcap_rsp *rsp, uint32_t len) -{ - struct mcap_mdl_op_cb *abrt = mcl->priv_data; - mcap_mdl_notify_cb abrt_cb = abrt->cb.notify; - gpointer user_data = abrt->user_data; - struct mcap_mdl *mdl = abrt->mdl; - GError *gerr = NULL; - gboolean close; - - close = check_err_rsp(mcl, rsp, len, sizeof(mcap_rsp), &gerr); - - g_free(mcl->lcmd); - mcl->lcmd = NULL; - mcl->req = MCL_AVAILABLE; - - abrt_cb(gerr, user_data); - shutdown_mdl(mdl); - - if (len >= sizeof(mcap_rsp) && rsp->rc == MCAP_INVALID_MDL) { - mcl->mdls = g_slist_remove(mcl->mdls, mdl); - mcl->cb->mdl_deleted(mdl, mcl->cb->user_data); - mcap_mdl_unref(mdl); - } - - if (gerr) - g_error_free(gerr); - - update_mcl_state(mcl); - - return close; -} - -static void restore_mdl(gpointer elem, gpointer data) -{ - struct mcap_mdl *mdl = elem; - - if (mdl->state == MDL_DELETING) { - if (mdl->dc) - mdl->state = MDL_CONNECTED; - else - mdl->state = MDL_CLOSED; - } else if (mdl->state == MDL_CLOSED) - mdl->mcl->cb->mdl_closed(mdl, mdl->mcl->cb->user_data); -} - -static void check_mdl_del_err(struct mcap_mdl *mdl, mcap_rsp *rsp) -{ - if (rsp->rc != MCAP_ERROR_INVALID_MDL) { - restore_mdl(mdl, NULL); - return; - } - - /* MDL does not exist in remote side, we can delete it */ - mdl->mcl->mdls = g_slist_remove(mdl->mcl->mdls, mdl); - mcap_mdl_unref(mdl); -} - -static gboolean process_md_delete_mdl_rsp(struct mcap_mcl *mcl, mcap_rsp *rsp, - uint32_t len) -{ - struct mcap_mdl_op_cb *del = mcl->priv_data; - struct mcap_mdl *mdl = del->mdl; - mcap_mdl_notify_cb deleted_cb = del->cb.notify; - gpointer user_data = del->user_data; - mcap_md_req *cmdlast = (mcap_md_req *) mcl->lcmd; - uint16_t mdlid = ntohs(cmdlast->mdl); - GError *gerr = NULL; - gboolean close; - gboolean notify = FALSE; - - close = check_err_rsp(mcl, rsp, len, sizeof(mcap_rsp), &gerr); - - g_free(mcl->lcmd); - mcl->lcmd = NULL; - mcl->req = MCL_AVAILABLE; - - if (gerr) { - if (mdl) - check_mdl_del_err(mdl, rsp); - else - g_slist_foreach(mcl->mdls, restore_mdl, NULL); - deleted_cb(gerr, user_data); - g_error_free(gerr); - return close; - } - - if (mdlid == MCAP_ALL_MDLIDS) { - g_slist_foreach(mcl->mdls, mcap_del_mdl, ¬ify); - g_slist_free(mcl->mdls); - mcl->mdls = NULL; - mcl->state = MCL_CONNECTED; - } else { - mcl->mdls = g_slist_remove(mcl->mdls, mdl); - update_mcl_state(mcl); - mcap_del_mdl(mdl, ¬ify); - } - - deleted_cb(gerr, user_data); - - return close; -} - -static void post_process_rsp(struct mcap_mcl *mcl, struct mcap_mdl_op_cb *op) -{ - if (mcl->priv_data != op) { - /* Queued MCAP request in some callback. */ - /* We should not delete the mcl private data */ - free_mcap_mdl_op(op); - } else { - /* This is not a queued request. It's safe */ - /* delete the mcl private data here. */ - free_mcl_priv_data(mcl); - } -} - -static void proc_response(struct mcap_mcl *mcl, void *buf, uint32_t len) -{ - struct mcap_mdl_op_cb *op = mcl->priv_data; - mcap_rsp *rsp = buf; - gboolean close; - - RELEASE_TIMER(mcl); - - switch (mcl->lcmd[0] + 1) { - case MCAP_MD_CREATE_MDL_RSP: - close = process_md_create_mdl_rsp(mcl, rsp, len); - post_process_rsp(mcl, op); - break; - case MCAP_MD_RECONNECT_MDL_RSP: - close = process_md_reconnect_mdl_rsp(mcl, rsp, len); - post_process_rsp(mcl, op); - break; - case MCAP_MD_ABORT_MDL_RSP: - close = process_md_abort_mdl_rsp(mcl, rsp, len); - post_process_rsp(mcl, op); - break; - case MCAP_MD_DELETE_MDL_RSP: - close = process_md_delete_mdl_rsp(mcl, rsp, len); - post_process_rsp(mcl, op); - break; - default: - DBG("Unknown cmd response received (op code = %d)", rsp->op); - close = TRUE; - break; - } - - if (close) { - mcl->mi->mcl_disconnected_cb(mcl, mcl->mi->user_data); - mcap_cache_mcl(mcl); - } -} - -static void proc_cmd(struct mcap_mcl *mcl, uint8_t *cmd, uint32_t len) -{ - GError *gerr = NULL; - - if (cmd[0] > MCAP_MD_SYNC_INFO_IND || - (cmd[0] > MCAP_MD_DELETE_MDL_RSP && - cmd[0] < MCAP_MD_SYNC_CAP_REQ)) { - error("Unknown cmd received (op code = %d)", cmd[0]); - mcap_send_cmd(mcl, MCAP_ERROR_RSP, MCAP_INVALID_OP_CODE, - MCAP_MDLID_RESERVED, NULL, 0); - return; - } - - if (cmd[0] >= MCAP_MD_SYNC_CAP_REQ && - cmd[0] <= MCAP_MD_SYNC_INFO_IND) { - proc_sync_cmd(mcl, cmd, len); - return; - } - - if (!(mcl->ctrl & MCAP_CTRL_STD_OP)) { - /* In case the remote device doesn't work correctly */ - error("Remote device does not support opcodes, cmd ignored"); - return; - } - - if (mcl->req == MCL_WAITING_RSP) { - if (cmd[0] & 0x01) { - /* Request arrived when a response is expected */ - if (mcl->role == MCL_INITIATOR) - /* ignore */ - return; - /* Initiator will ignore our last request */ - RELEASE_TIMER(mcl); - mcl->req = MCL_AVAILABLE; - g_set_error(&gerr, MCAP_ERROR, MCAP_ERROR_REQ_IGNORED, - "Initiator sent a request with more priority"); - mcap_notify_error(mcl, gerr); - proc_req[mcl->state](mcl, cmd, len); - return; - } - proc_response(mcl, cmd, len); - } else if (cmd[0] & 0x01) - proc_req[mcl->state](mcl, cmd, len); -} - -static gboolean mdl_event_cb(GIOChannel *chan, GIOCondition cond, gpointer data) -{ - - struct mcap_mdl *mdl = data; - gboolean notify; - - DBG("Close MDL %d", mdl->mdlid); - - notify = (mdl->state == MDL_CONNECTED); - shutdown_mdl(mdl); - - update_mcl_state(mdl->mcl); - - if (notify) { - /*Callback to upper layer */ - mdl->mcl->cb->mdl_closed(mdl, mdl->mcl->cb->user_data); - } - - return FALSE; -} - -static void mcap_connect_mdl_cb(GIOChannel *chan, GError *conn_err, - gpointer data) -{ - struct mcap_mdl_op_cb *con = data; - struct mcap_mdl *mdl = con->mdl; - mcap_mdl_operation_cb cb = con->cb.op; - gpointer user_data = con->user_data; - - DBG("mdl connect callback"); - - if (conn_err) { - DBG("ERROR: mdl connect callback"); - mdl->state = MDL_CLOSED; - g_io_channel_unref(mdl->dc); - mdl->dc = NULL; - cb(mdl, conn_err, user_data); - return; - } - - mdl->state = MDL_CONNECTED; - mdl->wid = g_io_add_watch_full(mdl->dc, G_PRIORITY_DEFAULT, - G_IO_ERR | G_IO_HUP | G_IO_NVAL, - (GIOFunc) mdl_event_cb, - mcap_mdl_ref(mdl), - (GDestroyNotify) mcap_mdl_unref); - - cb(mdl, conn_err, user_data); -} - -gboolean mcap_connect_mdl(struct mcap_mdl *mdl, uint8_t mode, - uint16_t dcpsm, - mcap_mdl_operation_cb connect_cb, - gpointer user_data, - GDestroyNotify destroy, - GError **err) -{ - struct mcap_mdl_op_cb *con; - - if (mdl->state != MDL_WAITING) { - g_set_error(err, MCAP_ERROR, MCAP_ERROR_INVALID_MDL, - "%s", error2str(MCAP_INVALID_MDL)); - return FALSE; - } - - if ((mode != L2CAP_MODE_ERTM) && (mode != L2CAP_MODE_STREAMING)) { - g_set_error(err, MCAP_ERROR, MCAP_ERROR_INVALID_ARGS, - "Invalid MDL configuration"); - return FALSE; - } - - con = g_new0(struct mcap_mdl_op_cb, 1); - con->mdl = mcap_mdl_ref(mdl); - con->cb.op = connect_cb; - con->destroy = destroy; - con->user_data = user_data; - - mdl->dc = bt_io_connect(mcap_connect_mdl_cb, con, - (GDestroyNotify) free_mcap_mdl_op, err, - BT_IO_OPT_SOURCE_BDADDR, &mdl->mcl->mi->src, - BT_IO_OPT_DEST_BDADDR, &mdl->mcl->addr, - BT_IO_OPT_PSM, dcpsm, - BT_IO_OPT_MTU, MCAP_DC_MTU, - BT_IO_OPT_SEC_LEVEL, mdl->mcl->mi->sec, - BT_IO_OPT_MODE, mode, - BT_IO_OPT_INVALID); - if (!mdl->dc) { - DBG("MDL Connection error"); - mdl->state = MDL_CLOSED; - mcap_mdl_unref(con->mdl); - g_free(con); - return FALSE; - } - - return TRUE; -} - -static gboolean mcl_control_cb(GIOChannel *chan, GIOCondition cond, - gpointer data) -{ - GError *gerr = NULL; - struct mcap_mcl *mcl = data; - int sk, len; - uint8_t buf[MCAP_CC_MTU]; - - if (cond & (G_IO_ERR | G_IO_HUP | G_IO_NVAL)) - goto fail; - - sk = g_io_channel_unix_get_fd(chan); - len = read(sk, buf, sizeof(buf)); - if (len < 0) - goto fail; - - proc_cmd(mcl, buf, (uint32_t) len); - return TRUE; - -fail: - if (mcl->state != MCL_IDLE) { - if (mcl->req == MCL_WAITING_RSP) { - /* notify error in pending callback */ - g_set_error(&gerr, MCAP_ERROR, MCAP_ERROR_MCL_CLOSED, - "MCL closed"); - mcap_notify_error(mcl, gerr); - g_error_free(gerr); - } - mcl->mi->mcl_disconnected_cb(mcl, mcl->mi->user_data); - } - mcap_cache_mcl(mcl); - return FALSE; -} - -static void mcap_connect_mcl_cb(GIOChannel *chan, GError *conn_err, - gpointer user_data) -{ - char dstaddr[18]; - struct connect_mcl *con = user_data; - struct mcap_mcl *aux, *mcl = con->mcl; - mcap_mcl_connect_cb connect_cb = con->connect_cb; - gpointer data = con->user_data; - GError *gerr = NULL; - - mcl->ctrl &= ~MCAP_CTRL_CONN; - - if (conn_err) { - if (mcl->ctrl & MCAP_CTRL_FREE) { - mcap_mcl_release(mcl); - mcl->mi->mcl_uncached_cb(mcl, mcl->mi->user_data); - } - connect_cb(NULL, conn_err, data); - return; - } - - ba2str(&mcl->addr, dstaddr); - - aux = find_mcl(mcl->mi->mcls, &mcl->addr); - if (aux) { - /* Double MCL connection case */ - error("MCL error: Device %s is already connected", dstaddr); - g_set_error(&gerr, MCAP_ERROR, MCAP_ERROR_ALREADY_EXISTS, - "MCL %s is already connected", dstaddr); - connect_cb(NULL, gerr, data); - g_error_free(gerr); - return; - } - - mcl->state = MCL_CONNECTED; - mcl->role = MCL_INITIATOR; - mcl->req = MCL_AVAILABLE; - mcl->ctrl |= MCAP_CTRL_STD_OP; - - mcap_sync_init(mcl); - - if (mcl->ctrl & MCAP_CTRL_CACHED) - mcap_uncache_mcl(mcl); - else { - mcl->ctrl &= ~MCAP_CTRL_FREE; - mcl->mi->mcls = g_slist_prepend(mcl->mi->mcls, - mcap_mcl_ref(mcl)); - } - - mcl->wid = g_io_add_watch_full(mcl->cc, G_PRIORITY_DEFAULT, - G_IO_IN | G_IO_ERR | G_IO_HUP | G_IO_NVAL, - (GIOFunc) mcl_control_cb, - mcap_mcl_ref(mcl), - (GDestroyNotify) mcap_mcl_unref); - connect_cb(mcl, gerr, data); -} - -static void set_mdl_properties(GIOChannel *chan, struct mcap_mdl *mdl) -{ - struct mcap_mcl *mcl = mdl->mcl; - - mdl->state = MDL_CONNECTED; - mdl->dc = g_io_channel_ref(chan); - mdl->wid = g_io_add_watch_full(mdl->dc, G_PRIORITY_DEFAULT, - G_IO_ERR | G_IO_HUP | G_IO_NVAL, - (GIOFunc) mdl_event_cb, - mcap_mdl_ref(mdl), - (GDestroyNotify) mcap_mdl_unref); - - mcl->state = MCL_ACTIVE; - mcl->cb->mdl_connected(mdl, mcl->cb->user_data); -} - -static void mcl_io_destroy(gpointer data) -{ - struct connect_mcl *con = data; - - mcap_mcl_unref(con->mcl); - if (con->destroy) - con->destroy(con->user_data); - g_free(con); -} - -gboolean mcap_create_mcl(struct mcap_instance *mi, - const bdaddr_t *addr, - uint16_t ccpsm, - mcap_mcl_connect_cb connect_cb, - gpointer user_data, - GDestroyNotify destroy, - GError **err) -{ - struct mcap_mcl *mcl; - struct connect_mcl *con; - - mcl = find_mcl(mi->mcls, addr); - if (mcl) { - g_set_error(err, MCAP_ERROR, MCAP_ERROR_ALREADY_EXISTS, - "MCL is already connected."); - return FALSE; - } - - mcl = find_mcl(mi->cached, addr); - if (!mcl) { - mcl = g_new0(struct mcap_mcl, 1); - mcl->mi = mcap_instance_ref(mi); - mcl->state = MCL_IDLE; - bacpy(&mcl->addr, addr); - set_default_cb(mcl); - mcl->next_mdl = (rand() % MCAP_MDLID_FINAL) + 1; - } - - mcl->ctrl |= MCAP_CTRL_CONN; - - con = g_new0(struct connect_mcl, 1); - con->mcl = mcap_mcl_ref(mcl); - con->connect_cb = connect_cb; - con->destroy = destroy; - con->user_data = user_data; - - mcl->cc = bt_io_connect(mcap_connect_mcl_cb, con, - mcl_io_destroy, err, - BT_IO_OPT_SOURCE_BDADDR, &mi->src, - BT_IO_OPT_DEST_BDADDR, addr, - BT_IO_OPT_PSM, ccpsm, - BT_IO_OPT_MTU, MCAP_CC_MTU, - BT_IO_OPT_SEC_LEVEL, mi->sec, - BT_IO_OPT_MODE, L2CAP_MODE_ERTM, - BT_IO_OPT_INVALID); - if (!mcl->cc) { - mcl->ctrl &= ~MCAP_CTRL_CONN; - if (mcl->ctrl & MCAP_CTRL_FREE) { - mcap_mcl_release(mcl); - mcl->mi->mcl_uncached_cb(mcl, mcl->mi->user_data); - } - mcap_mcl_unref(con->mcl); - g_free(con); - return FALSE; - } - - return TRUE; -} - -static void connect_dc_event_cb(GIOChannel *chan, GError *gerr, - gpointer user_data) -{ - struct mcap_instance *mi = user_data; - struct mcap_mcl *mcl; - struct mcap_mdl *mdl; - GError *err = NULL; - bdaddr_t dst; - GSList *l; - - if (gerr) - return; - - bt_io_get(chan, &err, BT_IO_OPT_DEST_BDADDR, &dst, BT_IO_OPT_INVALID); - if (err) { - error("%s", err->message); - g_error_free(err); - goto drop; - } - - mcl = find_mcl(mi->mcls, &dst); - if (!mcl || mcl->state != MCL_PENDING) - goto drop; - - for (l = mcl->mdls; l; l = l->next) { - mdl = l->data; - if (mdl->state == MDL_WAITING) { - set_mdl_properties(chan, mdl); - return; - } - } - -drop: - g_io_channel_shutdown(chan, TRUE, NULL); -} - -static void set_mcl_conf(GIOChannel *chan, struct mcap_mcl *mcl) -{ - gboolean reconn; - - mcl->state = MCL_CONNECTED; - mcl->role = MCL_ACCEPTOR; - mcl->req = MCL_AVAILABLE; - mcl->cc = g_io_channel_ref(chan); - mcl->ctrl |= MCAP_CTRL_STD_OP; - - mcap_sync_init(mcl); - - reconn = (mcl->ctrl & MCAP_CTRL_CACHED); - if (reconn) - mcap_uncache_mcl(mcl); - else - mcl->mi->mcls = g_slist_prepend(mcl->mi->mcls, - mcap_mcl_ref(mcl)); - - mcl->wid = g_io_add_watch_full(mcl->cc, G_PRIORITY_DEFAULT, - G_IO_IN | G_IO_ERR | G_IO_HUP | G_IO_NVAL, - (GIOFunc) mcl_control_cb, - mcap_mcl_ref(mcl), - (GDestroyNotify) mcap_mcl_unref); - - /* Callback to report new MCL */ - if (reconn) - mcl->mi->mcl_reconnected_cb(mcl, mcl->mi->user_data); - else - mcl->mi->mcl_connected_cb(mcl, mcl->mi->user_data); -} - -static void connect_mcl_event_cb(GIOChannel *chan, GError *gerr, - gpointer user_data) -{ - struct mcap_instance *mi = user_data; - struct mcap_mcl *mcl; - bdaddr_t dst; - char address[18], srcstr[18]; - GError *err = NULL; - - if (gerr) - return; - - bt_io_get(chan, &err, - BT_IO_OPT_DEST_BDADDR, &dst, - BT_IO_OPT_DEST, address, - BT_IO_OPT_INVALID); - if (err) { - error("%s", err->message); - g_error_free(err); - goto drop; - } - - ba2str(&mi->src, srcstr); - mcl = find_mcl(mi->mcls, &dst); - if (mcl) { - error("Control channel already created with %s on adapter %s", - address, srcstr); - goto drop; - } - - mcl = find_mcl(mi->cached, &dst); - if (!mcl) { - mcl = g_new0(struct mcap_mcl, 1); - mcl->mi = mcap_instance_ref(mi); - bacpy(&mcl->addr, &dst); - set_default_cb(mcl); - mcl->next_mdl = (rand() % MCAP_MDLID_FINAL) + 1; - } - - set_mcl_conf(chan, mcl); - - return; -drop: - g_io_channel_shutdown(chan, TRUE, NULL); -} - -struct mcap_instance *mcap_create_instance(const bdaddr_t *src, - BtIOSecLevel sec, - uint16_t ccpsm, - uint16_t dcpsm, - mcap_mcl_event_cb mcl_connected, - mcap_mcl_event_cb mcl_reconnected, - mcap_mcl_event_cb mcl_disconnected, - mcap_mcl_event_cb mcl_uncached, - mcap_info_ind_event_cb mcl_sync_info_ind, - gpointer user_data, - GError **gerr) -{ - struct mcap_instance *mi; - - if (sec < BT_IO_SEC_MEDIUM) { - g_set_error(gerr, MCAP_ERROR, MCAP_ERROR_INVALID_ARGS, - "Security level can't be minor of %d", - BT_IO_SEC_MEDIUM); - return NULL; - } - - if (!(mcl_connected && mcl_reconnected && - mcl_disconnected && mcl_uncached)) { - g_set_error(gerr, MCAP_ERROR, MCAP_ERROR_INVALID_ARGS, - "The callbacks can't be null"); - return NULL; - } - - mi = g_new0(struct mcap_instance, 1); - - bacpy(&mi->src, src); - - mi->sec = sec; - mi->mcl_connected_cb = mcl_connected; - mi->mcl_reconnected_cb = mcl_reconnected; - mi->mcl_disconnected_cb = mcl_disconnected; - mi->mcl_uncached_cb = mcl_uncached; - mi->mcl_sync_infoind_cb = mcl_sync_info_ind; - mi->user_data = user_data; - mi->csp_enabled = FALSE; - - /* Listen incoming connections in control channel */ - mi->ccio = bt_io_listen(connect_mcl_event_cb, NULL, mi, - NULL, gerr, - BT_IO_OPT_SOURCE_BDADDR, &mi->src, - BT_IO_OPT_PSM, ccpsm, - BT_IO_OPT_MTU, MCAP_CC_MTU, - BT_IO_OPT_SEC_LEVEL, sec, - BT_IO_OPT_MODE, L2CAP_MODE_ERTM, - BT_IO_OPT_INVALID); - if (!mi->ccio) { - error("%s", (*gerr)->message); - g_free(mi); - return NULL; - } - - /* Listen incoming connections in data channels */ - mi->dcio = bt_io_listen(connect_dc_event_cb, NULL, mi, - NULL, gerr, - BT_IO_OPT_SOURCE_BDADDR, &mi->src, - BT_IO_OPT_PSM, dcpsm, - BT_IO_OPT_MTU, MCAP_DC_MTU, - BT_IO_OPT_SEC_LEVEL, sec, - BT_IO_OPT_INVALID); - if (!mi->dcio) { - g_io_channel_shutdown(mi->ccio, TRUE, NULL); - g_io_channel_unref(mi->ccio); - mi->ccio = NULL; - error("%s", (*gerr)->message); - g_free(mi); - return NULL; - } - - /* Initialize random seed to generate mdlids for this instance */ - srand(time(NULL)); - - return mcap_instance_ref(mi); -} - -void mcap_release_instance(struct mcap_instance *mi) -{ - GSList *l; - - if (!mi) - return; - - if (mi->ccio) { - g_io_channel_shutdown(mi->ccio, TRUE, NULL); - g_io_channel_unref(mi->ccio); - mi->ccio = NULL; - } - - if (mi->dcio) { - g_io_channel_shutdown(mi->dcio, TRUE, NULL); - g_io_channel_unref(mi->dcio); - mi->dcio = NULL; - } - - for (l = mi->mcls; l; l = l->next) { - mcap_mcl_release(l->data); - mcap_mcl_unref(l->data); - } - - g_slist_free(mi->mcls); - mi->mcls = NULL; - - for (l = mi->cached; l; l = l->next) { - mcap_mcl_release(l->data); - mcap_mcl_unref(l->data); - } - - g_slist_free(mi->cached); - mi->cached = NULL; -} - -struct mcap_instance *mcap_instance_ref(struct mcap_instance *mi) -{ - mi->ref++; - - DBG("mcap_instance_ref(%p): ref=%d", mi, mi->ref); - - return mi; -} - -void mcap_instance_unref(struct mcap_instance *mi) -{ - mi->ref--; - - DBG("mcap_instance_unref(%p): ref=%d", mi, mi->ref); - - if (mi->ref > 0) - return; - - mcap_release_instance(mi); - g_free(mi); -} - -uint16_t mcap_get_ctrl_psm(struct mcap_instance *mi, GError **err) -{ - uint16_t lpsm; - - if (!(mi && mi->ccio)) { - g_set_error(err, MCAP_ERROR, MCAP_ERROR_INVALID_ARGS, - "Invalid MCAP instance"); - return 0; - } - - if (!bt_io_get(mi->ccio, err, BT_IO_OPT_PSM, &lpsm, BT_IO_OPT_INVALID)) - return 0; - - return lpsm; -} - -uint16_t mcap_get_data_psm(struct mcap_instance *mi, GError **err) -{ - uint16_t lpsm; - - if (!(mi && mi->dcio)) { - g_set_error(err, MCAP_ERROR, MCAP_ERROR_INVALID_ARGS, - "Invalid MCAP instance"); - return 0; - } - - if (!bt_io_get(mi->dcio, err, BT_IO_OPT_PSM, &lpsm, BT_IO_OPT_INVALID)) - return 0; - - return lpsm; -} - -gboolean mcap_set_data_chan_mode(struct mcap_instance *mi, uint8_t mode, - GError **err) -{ - if (!(mi && mi->dcio)) { - g_set_error(err, MCAP_ERROR, MCAP_ERROR_INVALID_ARGS, - "Invalid MCAP instance"); - return FALSE; - } - - return bt_io_set(mi->dcio, err, BT_IO_OPT_MODE, mode, - BT_IO_OPT_INVALID); -} - -struct mcap_mdl *mcap_mdl_ref(struct mcap_mdl *mdl) -{ - mdl->ref++; - - DBG("mcap_mdl_ref(%p): ref=%d", mdl, mdl->ref); - - return mdl; -} - -void mcap_mdl_unref(struct mcap_mdl *mdl) -{ - mdl->ref--; - - DBG("mcap_mdl_unref(%p): ref=%d", mdl, mdl->ref); - - if (mdl->ref > 0) - return; - - free_mdl(mdl); -} diff --git a/GRIB_BLE_HUB/libs/ble_extend/profiles/health/mcap.h b/GRIB_BLE_HUB/libs/ble_extend/profiles/health/mcap.h deleted file mode 100644 index 1129e69..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/profiles/health/mcap.h +++ /dev/null @@ -1,164 +0,0 @@ -/* - * - * MCAP for BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2010 GSyC/LibreSoft, Universidad Rey Juan Carlos. - * Copyright (C) 2010 Signove - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifndef __MCAP_H -#define __MCAP_H - -#ifdef __cplusplus -extern "C" { -#endif - -#define MCAP_VERSION 0x0100 /* current version 01.00 */ - -/* bytes to get MCAP Supported Procedures */ -#define MCAP_SUP_PROC 0x06 - -/* maximum transmission unit for channels */ -#define MCAP_CC_MTU 48 -#define MCAP_DC_MTU 65535 - -/* MCAP Standard Op Codes */ -#define MCAP_ERROR_RSP 0x00 -#define MCAP_MD_CREATE_MDL_REQ 0x01 -#define MCAP_MD_CREATE_MDL_RSP 0x02 -#define MCAP_MD_RECONNECT_MDL_REQ 0x03 -#define MCAP_MD_RECONNECT_MDL_RSP 0x04 -#define MCAP_MD_ABORT_MDL_REQ 0x05 -#define MCAP_MD_ABORT_MDL_RSP 0x06 -#define MCAP_MD_DELETE_MDL_REQ 0x07 -#define MCAP_MD_DELETE_MDL_RSP 0x08 - -/* MCAP Clock Sync Op Codes */ -#define MCAP_MD_SYNC_CAP_REQ 0x11 -#define MCAP_MD_SYNC_CAP_RSP 0x12 -#define MCAP_MD_SYNC_SET_REQ 0x13 -#define MCAP_MD_SYNC_SET_RSP 0x14 -#define MCAP_MD_SYNC_INFO_IND 0x15 - -/* MCAP Response codes */ -#define MCAP_SUCCESS 0x00 -#define MCAP_INVALID_OP_CODE 0x01 -#define MCAP_INVALID_PARAM_VALUE 0x02 -#define MCAP_INVALID_MDEP 0x03 -#define MCAP_MDEP_BUSY 0x04 -#define MCAP_INVALID_MDL 0x05 -#define MCAP_MDL_BUSY 0x06 -#define MCAP_INVALID_OPERATION 0x07 -#define MCAP_RESOURCE_UNAVAILABLE 0x08 -#define MCAP_UNSPECIFIED_ERROR 0x09 -#define MCAP_REQUEST_NOT_SUPPORTED 0x0A -#define MCAP_CONFIGURATION_REJECTED 0x0B - -/* MDL IDs */ -#define MCAP_MDLID_RESERVED 0x0000 -#define MCAP_MDLID_INITIAL 0x0001 -#define MCAP_MDLID_FINAL 0xFEFF -#define MCAP_ALL_MDLIDS 0xFFFF - -/* MDEP IDs */ -#define MCAP_MDEPID_INITIAL 0x00 -#define MCAP_MDEPID_FINAL 0x7F - -/* CSP special values */ -#define MCAP_BTCLOCK_IMMEDIATE 0xffffffffUL -#define MCAP_TMSTAMP_DONTSET 0xffffffffffffffffULL -#define MCAP_BTCLOCK_MAX 0x0fffffff -#define MCAP_BTCLOCK_FIELD (MCAP_BTCLOCK_MAX + 1) - -/* - * MCAP Request Packet Format - */ - -typedef struct { - uint8_t op; - uint16_t mdl; - uint8_t mdep; - uint8_t conf; -} __attribute__ ((packed)) mcap_md_create_mdl_req; - -typedef struct { - uint8_t op; - uint16_t mdl; -} __attribute__ ((packed)) mcap_md_req; - -/* - * MCAP Response Packet Format - */ - -typedef struct { - uint8_t op; - uint8_t rc; - uint16_t mdl; - uint8_t data[0]; -} __attribute__ ((packed)) mcap_rsp; - -/* - * MCAP Clock Synchronization Protocol - */ - -typedef struct { - uint8_t op; - uint16_t timest; -} __attribute__ ((packed)) mcap_md_sync_cap_req; - -typedef struct { - uint8_t op; - uint8_t rc; -} __attribute__ ((packed)) mcap_md_sync_rsp; - -typedef struct { - uint8_t op; - uint8_t rc; - uint8_t btclock; - uint16_t sltime; - uint16_t timestnr; - uint16_t timestna; -} __attribute__ ((packed)) mcap_md_sync_cap_rsp; - -typedef struct { - uint8_t op; - uint8_t timestui; - uint32_t btclock; - uint64_t timestst; -} __attribute__ ((packed)) mcap_md_sync_set_req; - -typedef struct { - int8_t op; - uint8_t rc; - uint32_t btclock; - uint64_t timestst; - uint16_t timestsa; -} __attribute__ ((packed)) mcap_md_sync_set_rsp; - -typedef struct { - uint8_t op; - uint32_t btclock; - uint64_t timestst; - uint16_t timestsa; -} __attribute__ ((packed)) mcap_md_sync_info_ind; - -#ifdef __cplusplus -} -#endif - -#endif /* __MCAP_H */ diff --git a/GRIB_BLE_HUB/libs/ble_extend/profiles/health/mcap_internal.h b/GRIB_BLE_HUB/libs/ble_extend/profiles/health/mcap_internal.h deleted file mode 100644 index 7b044ef..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/profiles/health/mcap_internal.h +++ /dev/null @@ -1,137 +0,0 @@ -/* - * - * MCAP for BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2010 GSyC/LibreSoft, Universidad Rey Juan Carlos. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifndef __MCAP_INTERNAL_H -#define __MCAP_INTERNAL_H - -#ifdef __cplusplus -extern "C" { -#endif - -typedef enum { - MCL_CONNECTED, - MCL_PENDING, - MCL_ACTIVE, - MCL_IDLE -} MCLState; - -typedef enum { - MCL_ACCEPTOR, - MCL_INITIATOR -} MCLRole; - -typedef enum { - MCL_AVAILABLE, - MCL_WAITING_RSP -} MCAPCtrl; - -typedef enum { - MDL_WAITING, - MDL_CONNECTED, - MDL_DELETING, - MDL_CLOSED -} MDLState; - -struct mcap_mdl_cb { - mcap_mdl_event_cb mdl_connected; /* Remote device has created a MDL */ - mcap_mdl_event_cb mdl_closed; /* Remote device has closed a MDL */ - mcap_mdl_event_cb mdl_deleted; /* Remote device requested deleting a MDL */ - mcap_mdl_event_cb mdl_aborted; /* Remote device aborted the mdl creation */ - mcap_remote_mdl_conn_req_cb mdl_conn_req; /* Remote device requested creating a MDL */ - mcap_remote_mdl_reconn_req_cb mdl_reconn_req; /* Remote device requested reconnecting a MDL */ - gpointer user_data; /* User data */ -}; - -struct mcap_instance { - bdaddr_t src; /* Source address */ - GIOChannel *ccio; /* Control Channel IO */ - GIOChannel *dcio; /* Data Channel IO */ - GSList *mcls; /* MCAP instance list */ - GSList *cached; /* List with all cached MCLs (MAX_CACHED macro) */ - BtIOSecLevel sec; /* Security level */ - mcap_mcl_event_cb mcl_connected_cb; /* New MCL connected */ - mcap_mcl_event_cb mcl_reconnected_cb; /* Old MCL has been reconnected */ - mcap_mcl_event_cb mcl_disconnected_cb; /* MCL disconnected */ - mcap_mcl_event_cb mcl_uncached_cb; /* MCL has been removed from MCAP cache */ - mcap_info_ind_event_cb mcl_sync_infoind_cb; /* (CSP Master) Received info indication */ - gpointer user_data; /* Data to be provided in callbacks */ - gint ref; /* Reference counter */ - - gboolean csp_enabled; /* CSP: functionality enabled */ -}; - -struct mcap_csp; -struct mcap_mdl_op_cb; - -struct mcap_mcl { - struct mcap_instance *mi; /* MCAP instance where this MCL belongs */ - bdaddr_t addr; /* Device address */ - GIOChannel *cc; /* MCAP Control Channel IO */ - guint wid; /* MCL Watcher id */ - GSList *mdls; /* List of Data Channels shorted by mdlid */ - MCLState state; /* Current MCL State */ - MCLRole role; /* Initiator or acceptor of this MCL */ - MCAPCtrl req; /* Request control flag */ - struct mcap_mdl_op_cb *priv_data; /* Temporal data to manage responses */ - struct mcap_mdl_cb *cb; /* MDL callbacks */ - guint tid; /* Timer id for waiting for a response */ - uint8_t *lcmd; /* Last command sent */ - gint ref; /* References counter */ - uint8_t ctrl; /* MCL control flag */ - uint16_t next_mdl; /* id used to create next MDL */ - struct mcap_csp *csp; /* CSP control structure */ -}; - -#define MCAP_CTRL_CACHED 0x01 /* MCL is cached */ -#define MCAP_CTRL_STD_OP 0x02 /* Support for standard op codes */ -#define MCAP_CTRL_SYNC_OP 0x04 /* Support for synchronization commands */ -#define MCAP_CTRL_CONN 0x08 /* MCL is in connecting process */ -#define MCAP_CTRL_FREE 0x10 /* MCL is marked as releasable */ -#define MCAP_CTRL_NOCACHE 0x20 /* MCL is marked as not cacheable */ - -struct mcap_mdl { - struct mcap_mcl *mcl; /* MCL where this MDL belongs */ - GIOChannel *dc; /* MCAP Data Channel IO */ - guint wid; /* MDL Watcher id */ - uint16_t mdlid; /* MDL id */ - uint8_t mdep_id; /* MCAP Data End Point */ - MDLState state; /* MDL state */ - gint ref; /* References counter */ -}; - -struct sync_info_ind_data { - uint32_t btclock; - uint64_t timestamp; - uint16_t accuracy; -}; - -int mcap_send_data(int sock, const void *buf, uint32_t size); - -void proc_sync_cmd(struct mcap_mcl *mcl, uint8_t *cmd, uint32_t len); -void mcap_sync_init(struct mcap_mcl *mcl); -void mcap_sync_stop(struct mcap_mcl *mcl); - -#ifdef __cplusplus -} -#endif - -#endif /* __MCAP_INTERNAL_H */ diff --git a/GRIB_BLE_HUB/libs/ble_extend/profiles/health/mcap_lib.h b/GRIB_BLE_HUB/libs/ble_extend/profiles/health/mcap_lib.h deleted file mode 100644 index 603ccc0..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/profiles/health/mcap_lib.h +++ /dev/null @@ -1,224 +0,0 @@ -/* - * - * MCAP for BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2010 GSyC/LibreSoft, Universidad Rey Juan Carlos. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifndef __MCAP_LIB_H -#define __MCAP_LIB_H - -#ifdef __cplusplus -extern "C" { -#endif - -typedef enum { -/* MCAP Error Response Codes */ - MCAP_ERROR_INVALID_OP_CODE = 1, - MCAP_ERROR_INVALID_PARAM_VALUE, - MCAP_ERROR_INVALID_MDEP, - MCAP_ERROR_MDEP_BUSY, - MCAP_ERROR_INVALID_MDL, - MCAP_ERROR_MDL_BUSY, - MCAP_ERROR_INVALID_OPERATION, - MCAP_ERROR_RESOURCE_UNAVAILABLE, - MCAP_ERROR_UNSPECIFIED_ERROR, - MCAP_ERROR_REQUEST_NOT_SUPPORTED, - MCAP_ERROR_CONFIGURATION_REJECTED, -/* MCAP Internal Errors */ - MCAP_ERROR_INVALID_ARGS, - MCAP_ERROR_ALREADY_EXISTS, - MCAP_ERROR_REQ_IGNORED, - MCAP_ERROR_MCL_CLOSED, - MCAP_ERROR_FAILED -} McapError; - -typedef enum { - MCAP_MDL_CB_INVALID, - MCAP_MDL_CB_CONNECTED, /* mcap_mdl_event_cb */ - MCAP_MDL_CB_CLOSED, /* mcap_mdl_event_cb */ - MCAP_MDL_CB_DELETED, /* mcap_mdl_event_cb */ - MCAP_MDL_CB_ABORTED, /* mcap_mdl_event_cb */ - MCAP_MDL_CB_REMOTE_CONN_REQ, /* mcap_remote_mdl_conn_req_cb */ - MCAP_MDL_CB_REMOTE_RECONN_REQ /* mcap_remote_mdl_reconn_req_cb */ -} McapMclCb; - -struct mcap_instance; -struct mcap_mcl; -struct mcap_mdl; -struct sync_info_ind_data; - -/************ Callbacks ************/ - -/* MDL callbacks */ - -typedef void (* mcap_mdl_event_cb) (struct mcap_mdl *mdl, gpointer data); -typedef void (* mcap_mdl_operation_conf_cb) (struct mcap_mdl *mdl, uint8_t conf, - GError *err, gpointer data); -typedef void (* mcap_mdl_operation_cb) (struct mcap_mdl *mdl, GError *err, - gpointer data); -typedef void (* mcap_mdl_notify_cb) (GError *err, gpointer data); - -/* Next function should return an MCAP appropriate response code */ -typedef uint8_t (* mcap_remote_mdl_conn_req_cb) (struct mcap_mcl *mcl, - uint8_t mdepid, uint16_t mdlid, - uint8_t *conf, gpointer data); -typedef uint8_t (* mcap_remote_mdl_reconn_req_cb) (struct mcap_mdl *mdl, - gpointer data); - -/* MCL callbacks */ - -typedef void (* mcap_mcl_event_cb) (struct mcap_mcl *mcl, gpointer data); -typedef void (* mcap_mcl_connect_cb) (struct mcap_mcl *mcl, GError *err, - gpointer data); - -/* CSP callbacks */ - -typedef void (* mcap_info_ind_event_cb) (struct mcap_mcl *mcl, - struct sync_info_ind_data *data); - -typedef void (* mcap_sync_cap_cb) (struct mcap_mcl *mcl, - uint8_t mcap_err, - uint8_t btclockres, - uint16_t synclead, - uint16_t tmstampres, - uint16_t tmstampacc, - GError *err, - gpointer data); - -typedef void (* mcap_sync_set_cb) (struct mcap_mcl *mcl, - uint8_t mcap_err, - uint32_t btclock, - uint64_t timestamp, - uint16_t accuracy, - GError *err, - gpointer data); - -/************ Operations ************/ - -/* MDL operations */ - -gboolean mcap_create_mdl(struct mcap_mcl *mcl, - uint8_t mdepid, - uint8_t conf, - mcap_mdl_operation_conf_cb connect_cb, - gpointer user_data, - GDestroyNotify destroy, - GError **err); -gboolean mcap_reconnect_mdl(struct mcap_mdl *mdl, - mcap_mdl_operation_cb reconnect_cb, - gpointer user_data, - GDestroyNotify destroy, - GError **err); -gboolean mcap_delete_all_mdls(struct mcap_mcl *mcl, - mcap_mdl_notify_cb delete_cb, - gpointer user_data, - GDestroyNotify destroy, - GError **err); -gboolean mcap_delete_mdl(struct mcap_mdl *mdl, - mcap_mdl_notify_cb delete_cb, - gpointer user_data, - GDestroyNotify destroy, - GError **err); -gboolean mcap_connect_mdl(struct mcap_mdl *mdl, - uint8_t mode, - uint16_t dcpsm, - mcap_mdl_operation_cb connect_cb, - gpointer user_data, - GDestroyNotify destroy, - GError **err); -gboolean mcap_mdl_abort(struct mcap_mdl *mdl, - mcap_mdl_notify_cb abort_cb, - gpointer user_data, - GDestroyNotify destroy, - GError **err); - -int mcap_mdl_get_fd(struct mcap_mdl *mdl); -uint16_t mcap_mdl_get_mdlid(struct mcap_mdl *mdl); - -struct mcap_mdl *mcap_mdl_ref(struct mcap_mdl *mdl); -void mcap_mdl_unref(struct mcap_mdl *mdl); - -/* MCL operations */ - -gboolean mcap_create_mcl(struct mcap_instance *mi, - const bdaddr_t *addr, - uint16_t ccpsm, - mcap_mcl_connect_cb connect_cb, - gpointer user_data, - GDestroyNotify destroy, - GError **err); -void mcap_close_mcl(struct mcap_mcl *mcl, gboolean cache); -gboolean mcap_mcl_set_cb(struct mcap_mcl *mcl, gpointer user_data, - GError **gerr, McapMclCb cb1, ...); -void mcap_mcl_get_addr(struct mcap_mcl *mcl, bdaddr_t *addr); - -struct mcap_mcl *mcap_mcl_ref(struct mcap_mcl *mcl); -void mcap_mcl_unref(struct mcap_mcl *mcl); - -/* CSP operations */ - -void mcap_enable_csp(struct mcap_instance *mi); -void mcap_disable_csp(struct mcap_instance *mi); - -uint64_t mcap_get_timestamp(struct mcap_mcl *mcl, - struct timespec *given_time); -uint32_t mcap_get_btclock(struct mcap_mcl *mcl); - -void mcap_sync_cap_req(struct mcap_mcl *mcl, - uint16_t reqacc, - mcap_sync_cap_cb cb, - gpointer user_data, - GError **err); - -void mcap_sync_set_req(struct mcap_mcl *mcl, - uint8_t update, - uint32_t btclock, - uint64_t timestamp, - mcap_sync_set_cb cb, - gpointer user_data, - GError **err); - -/* MCAP main operations */ - -struct mcap_instance *mcap_create_instance(const bdaddr_t *src, - BtIOSecLevel sec, uint16_t ccpsm, - uint16_t dcpsm, - mcap_mcl_event_cb mcl_connected, - mcap_mcl_event_cb mcl_reconnected, - mcap_mcl_event_cb mcl_disconnected, - mcap_mcl_event_cb mcl_uncached, - mcap_info_ind_event_cb mcl_sync_info_ind, - gpointer user_data, - GError **gerr); -void mcap_release_instance(struct mcap_instance *mi); - -struct mcap_instance *mcap_instance_ref(struct mcap_instance *mi); -void mcap_instance_unref(struct mcap_instance *mi); - -uint16_t mcap_get_ctrl_psm(struct mcap_instance *mi, GError **err); -uint16_t mcap_get_data_psm(struct mcap_instance *mi, GError **err); - -gboolean mcap_set_data_chan_mode(struct mcap_instance *mi, uint8_t mode, - GError **err); - -#ifdef __cplusplus -} -#endif - -#endif /* __MCAP_LIB_H */ diff --git a/GRIB_BLE_HUB/libs/ble_extend/profiles/health/mcap_sync.c b/GRIB_BLE_HUB/libs/ble_extend/profiles/health/mcap_sync.c deleted file mode 100644 index 0d9f17d..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/profiles/health/mcap_sync.c +++ /dev/null @@ -1,1010 +0,0 @@ -/* - * - * MCAP for BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2010 GSyC/LibreSoft, Universidad Rey Juan Carlos. - * Copyright (C) 2010 Signove - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include - -#include "mcap.h" -#include "mcap_lib.h" -#include "mcap_internal.h" - -#define MCAP_BTCLOCK_HALF (MCAP_BTCLOCK_FIELD / 2) -#define CLK CLOCK_MONOTONIC - -#define MCAP_CSP_ERROR g_quark_from_static_string("mcap-csp-error-quark") -#define MAX_RETRIES 10 -#define SAMPLE_COUNT 20 - -struct mcap_csp { - uint64_t base_tmstamp; /* CSP base timestamp */ - struct timespec base_time; /* CSP base time when timestamp set */ - guint local_caps; /* CSP-Master: have got remote caps */ - guint remote_caps; /* CSP-Slave: remote master got caps */ - guint rem_req_acc; /* CSP-Slave: accuracy required by master */ - guint ind_expected; /* CSP-Master: indication expected */ - MCAPCtrl csp_req; /* CSP-Master: Request control flag */ - guint ind_timer; /* CSP-Slave: indication timer */ - guint set_timer; /* CSP-Slave: delayed set timer */ - void *set_data; /* CSP-Slave: delayed set data */ - void *csp_priv_data; /* CSP-Master: In-flight request data */ -}; - -struct mcap_sync_cap_cbdata { - mcap_sync_cap_cb cb; - gpointer user_data; -}; - -struct mcap_sync_set_cbdata { - mcap_sync_set_cb cb; - gpointer user_data; -}; - -struct csp_caps { - int ts_acc; /* timestamp accuracy */ - int ts_res; /* timestamp resolution */ - int latency; /* Read BT clock latency */ - int preempt_thresh; /* Preemption threshold for latency */ - int syncleadtime_ms; /* SyncLeadTime in ms */ -}; - -struct sync_set_data { - uint8_t update; - uint32_t sched_btclock; - uint64_t timestamp; - int ind_freq; - gboolean role; -}; - -#define hton64(x) ntoh64(x) - -static gboolean csp_caps_initialized = FALSE; -struct csp_caps _caps; - -static int send_sync_cmd(struct mcap_mcl *mcl, const void *buf, uint32_t size) -{ - int sock; - - if (mcl->cc == NULL) - return -1; - - sock = g_io_channel_unix_get_fd(mcl->cc); - return mcap_send_data(sock, buf, size); -} - -static int send_unsupported_cap_req(struct mcap_mcl *mcl) -{ - mcap_md_sync_cap_rsp *cmd; - int sent; - - cmd = g_new0(mcap_md_sync_cap_rsp, 1); - cmd->op = MCAP_MD_SYNC_CAP_RSP; - cmd->rc = MCAP_REQUEST_NOT_SUPPORTED; - - sent = send_sync_cmd(mcl, cmd, sizeof(*cmd)); - g_free(cmd); - - return sent; -} - -static int send_unsupported_set_req(struct mcap_mcl *mcl) -{ - mcap_md_sync_set_rsp *cmd; - int sent; - - cmd = g_new0(mcap_md_sync_set_rsp, 1); - cmd->op = MCAP_MD_SYNC_SET_RSP; - cmd->rc = MCAP_REQUEST_NOT_SUPPORTED; - - sent = send_sync_cmd(mcl, cmd, sizeof(*cmd)); - g_free(cmd); - - return sent; -} - -static void reset_tmstamp(struct mcap_csp *csp, struct timespec *base_time, - uint64_t new_tmstamp) -{ - csp->base_tmstamp = new_tmstamp; - if (base_time) - csp->base_time = *base_time; - else - clock_gettime(CLK, &csp->base_time); -} - -void mcap_sync_init(struct mcap_mcl *mcl) -{ - if (!mcl->mi->csp_enabled) { - mcl->csp = NULL; - return; - } - - mcl->csp = g_new0(struct mcap_csp, 1); - - mcl->csp->rem_req_acc = 10000; /* safe divisor */ - mcl->csp->set_data = NULL; - mcl->csp->csp_priv_data = NULL; - - reset_tmstamp(mcl->csp, NULL, 0); -} - -void mcap_sync_stop(struct mcap_mcl *mcl) -{ - if (!mcl->csp) - return; - - if (mcl->csp->ind_timer) - g_source_remove(mcl->csp->ind_timer); - - if (mcl->csp->set_timer) - g_source_remove(mcl->csp->set_timer); - - if (mcl->csp->set_data) - g_free(mcl->csp->set_data); - - if (mcl->csp->csp_priv_data) - g_free(mcl->csp->csp_priv_data); - - mcl->csp->ind_timer = 0; - mcl->csp->set_timer = 0; - mcl->csp->set_data = NULL; - mcl->csp->csp_priv_data = NULL; - - g_free(mcl->csp); - mcl->csp = NULL; -} - -static uint64_t time_us(struct timespec *tv) -{ - return tv->tv_sec * 1000000 + tv->tv_nsec / 1000; -} - -static int64_t bt2us(int bt) -{ - return bt * 312.5; -} - -static int bt2ms(int bt) -{ - return bt * 312.5 / 1000; -} - -static int btoffset(uint32_t btclk1, uint32_t btclk2) -{ - int offset = btclk2 - btclk1; - - if (offset <= -MCAP_BTCLOCK_HALF) - offset += MCAP_BTCLOCK_FIELD; - else if (offset > MCAP_BTCLOCK_HALF) - offset -= MCAP_BTCLOCK_FIELD; - - return offset; -} - -static int btdiff(uint32_t btclk1, uint32_t btclk2) -{ - return btoffset(btclk1, btclk2); -} - -static gboolean valid_btclock(uint32_t btclk) -{ - return btclk <= MCAP_BTCLOCK_MAX; -} - -/* This call may fail; either deal with retry or use read_btclock_retry */ -static gboolean read_btclock(struct mcap_mcl *mcl, uint32_t *btclock, - uint16_t *btaccuracy) -{ - int which = 1; - struct btd_adapter *adapter; - - adapter = adapter_find(&mcl->mi->src); - if (!adapter) - return FALSE; - - if (btd_adapter_read_clock(adapter, &mcl->addr, which, 1000, - btclock, btaccuracy) < 0) - return FALSE; - - return TRUE; -} - -static gboolean read_btclock_retry(struct mcap_mcl *mcl, uint32_t *btclock, - uint16_t *btaccuracy) -{ - int retries = 5; - - while (--retries >= 0) { - if (read_btclock(mcl, btclock, btaccuracy)) - return TRUE; - DBG("CSP: retrying to read bt clock..."); - } - - return FALSE; -} - -static gboolean get_btrole(struct mcap_mcl *mcl) -{ - int sock, flags; - socklen_t len; - - if (mcl->cc == NULL) - return -1; - - sock = g_io_channel_unix_get_fd(mcl->cc); - len = sizeof(flags); - - if (getsockopt(sock, SOL_L2CAP, L2CAP_LM, &flags, &len)) - DBG("CSP: could not read role"); - - return flags & L2CAP_LM_MASTER; -} - -uint64_t mcap_get_timestamp(struct mcap_mcl *mcl, - struct timespec *given_time) -{ - struct timespec now; - uint64_t tmstamp; - - if (!mcl->csp) - return MCAP_TMSTAMP_DONTSET; - - if (given_time) - now = *given_time; - else - clock_gettime(CLK, &now); - - tmstamp = time_us(&now) - time_us(&mcl->csp->base_time) - + mcl->csp->base_tmstamp; - - return tmstamp; -} - -uint32_t mcap_get_btclock(struct mcap_mcl *mcl) -{ - uint32_t btclock; - uint16_t accuracy; - - if (!mcl->csp) - return MCAP_BTCLOCK_IMMEDIATE; - - if (!read_btclock_retry(mcl, &btclock, &accuracy)) - btclock = 0xffffffff; - - return btclock; -} - -static gboolean initialize_caps(struct mcap_mcl *mcl) -{ - struct timespec t1, t2; - int latencies[SAMPLE_COUNT]; - int latency, avg, dev; - uint32_t btclock; - uint16_t btaccuracy; - int i; - int retries; - - clock_getres(CLK, &t1); - - _caps.ts_res = time_us(&t1); - if (_caps.ts_res < 1) - _caps.ts_res = 1; - - _caps.ts_acc = 20; /* ppm, estimated */ - - /* A little exercise before measuing latency */ - clock_gettime(CLK, &t1); - read_btclock_retry(mcl, &btclock, &btaccuracy); - - /* Read clock a number of times and measure latency */ - avg = 0; - i = 0; - retries = MAX_RETRIES; - while (i < SAMPLE_COUNT && retries > 0) { - clock_gettime(CLK, &t1); - if (!read_btclock(mcl, &btclock, &btaccuracy)) { - retries--; - continue; - } - clock_gettime(CLK, &t2); - - latency = time_us(&t2) - time_us(&t1); - latencies[i] = latency; - avg += latency; - i++; - } - - if (retries <= 0) - return FALSE; - - /* Calculate average and deviation */ - avg /= SAMPLE_COUNT; - dev = 0; - for (i = 0; i < SAMPLE_COUNT; ++i) - dev += abs(latencies[i] - avg); - dev /= SAMPLE_COUNT; - - /* Calculate corrected average, without 'freak' latencies */ - latency = 0; - for (i = 0; i < SAMPLE_COUNT; ++i) { - if (latencies[i] > (avg + dev * 6)) - latency += avg; - else - latency += latencies[i]; - } - latency /= SAMPLE_COUNT; - - _caps.latency = latency; - _caps.preempt_thresh = latency * 4; - _caps.syncleadtime_ms = latency * 50 / 1000; - - csp_caps_initialized = TRUE; - return TRUE; -} - -static struct csp_caps *caps(struct mcap_mcl *mcl) -{ - if (!csp_caps_initialized) - if (!initialize_caps(mcl)) { - /* Temporary failure in reading BT clock */ - return NULL; - } - - return &_caps; -} - -static int send_sync_cap_rsp(struct mcap_mcl *mcl, uint8_t rspcode, - uint8_t btclockres, uint16_t synclead, - uint16_t tmstampres, uint16_t tmstampacc) -{ - mcap_md_sync_cap_rsp *rsp; - int sent; - - rsp = g_new0(mcap_md_sync_cap_rsp, 1); - - rsp->op = MCAP_MD_SYNC_CAP_RSP; - rsp->rc = rspcode; - - rsp->btclock = btclockres; - rsp->sltime = htons(synclead); - rsp->timestnr = htons(tmstampres); - rsp->timestna = htons(tmstampacc); - - sent = send_sync_cmd(mcl, rsp, sizeof(*rsp)); - g_free(rsp); - - return sent; -} - -static void proc_sync_cap_req(struct mcap_mcl *mcl, uint8_t *cmd, uint32_t len) -{ - mcap_md_sync_cap_req *req; - uint16_t required_accuracy; - uint16_t our_accuracy; - uint32_t btclock; - uint16_t btres; - - if (len != sizeof(mcap_md_sync_cap_req)) { - send_sync_cap_rsp(mcl, MCAP_INVALID_PARAM_VALUE, - 0, 0, 0, 0); - return; - } - - if (!caps(mcl)) { - send_sync_cap_rsp(mcl, MCAP_RESOURCE_UNAVAILABLE, - 0, 0, 0, 0); - return; - } - - req = (mcap_md_sync_cap_req *) cmd; - required_accuracy = ntohs(req->timest); - our_accuracy = caps(mcl)->ts_acc; - - if (required_accuracy < our_accuracy || required_accuracy < 1) { - send_sync_cap_rsp(mcl, MCAP_RESOURCE_UNAVAILABLE, - 0, 0, 0, 0); - return; - } - - if (!read_btclock_retry(mcl, &btclock, &btres)) { - send_sync_cap_rsp(mcl, MCAP_RESOURCE_UNAVAILABLE, - 0, 0, 0, 0); - return; - } - - mcl->csp->remote_caps = 1; - mcl->csp->rem_req_acc = required_accuracy; - - send_sync_cap_rsp(mcl, MCAP_SUCCESS, btres, - caps(mcl)->syncleadtime_ms, - caps(mcl)->ts_res, our_accuracy); -} - -static int send_sync_set_rsp(struct mcap_mcl *mcl, uint8_t rspcode, - uint32_t btclock, uint64_t timestamp, - uint16_t tmstampres) -{ - mcap_md_sync_set_rsp *rsp; - int sent; - - rsp = g_new0(mcap_md_sync_set_rsp, 1); - - rsp->op = MCAP_MD_SYNC_SET_RSP; - rsp->rc = rspcode; - rsp->btclock = htonl(btclock); - rsp->timestst = hton64(timestamp); - rsp->timestsa = htons(tmstampres); - - sent = send_sync_cmd(mcl, rsp, sizeof(*rsp)); - g_free(rsp); - - return sent; -} - -static gboolean get_all_clocks(struct mcap_mcl *mcl, uint32_t *btclock, - struct timespec *base_time, - uint64_t *timestamp) -{ - int latency; - int retry = 5; - uint16_t btres; - struct timespec t0; - - if (!caps(mcl)) - return FALSE; - - latency = caps(mcl)->preempt_thresh + 1; - - while (latency > caps(mcl)->preempt_thresh && --retry >= 0) { - - clock_gettime(CLK, &t0); - - if (!read_btclock(mcl, btclock, &btres)) - continue; - - clock_gettime(CLK, base_time); - - /* Tries to detect preemption between clock_gettime - * and read_btclock by measuring transaction time - */ - latency = time_us(base_time) - time_us(&t0); - } - - *timestamp = mcap_get_timestamp(mcl, base_time); - - return TRUE; -} - -static gboolean sync_send_indication(gpointer user_data) -{ - struct mcap_mcl *mcl; - mcap_md_sync_info_ind *cmd; - uint32_t btclock; - uint64_t tmstamp; - struct timespec base_time; - int sent; - - if (!user_data) - return FALSE; - - mcl = user_data; - - if (!caps(mcl)) - return FALSE; - - if (!get_all_clocks(mcl, &btclock, &base_time, &tmstamp)) - return FALSE; - - cmd = g_new0(mcap_md_sync_info_ind, 1); - - cmd->op = MCAP_MD_SYNC_INFO_IND; - cmd->btclock = htonl(btclock); - cmd->timestst = hton64(tmstamp); - cmd->timestsa = htons(caps(mcl)->latency); - - sent = send_sync_cmd(mcl, cmd, sizeof(*cmd)); - g_free(cmd); - - return !sent; -} - -static gboolean proc_sync_set_req_phase2(gpointer user_data) -{ - struct mcap_mcl *mcl; - struct sync_set_data *data; - uint8_t update; - uint32_t sched_btclock; - uint64_t new_tmstamp; - int ind_freq; - int role; - uint32_t btclock; - uint64_t tmstamp; - struct timespec base_time; - uint16_t tmstampacc; - gboolean reset; - int delay; - - if (!user_data) - return FALSE; - - mcl = user_data; - - if (!mcl->csp->set_data) - return FALSE; - - data = mcl->csp->set_data; - update = data->update; - sched_btclock = data->sched_btclock; - new_tmstamp = data->timestamp; - ind_freq = data->ind_freq; - role = data->role; - - if (!caps(mcl)) { - send_sync_set_rsp(mcl, MCAP_UNSPECIFIED_ERROR, 0, 0, 0); - return FALSE; - } - - if (!get_all_clocks(mcl, &btclock, &base_time, &tmstamp)) { - send_sync_set_rsp(mcl, MCAP_UNSPECIFIED_ERROR, 0, 0, 0); - return FALSE; - } - - if (get_btrole(mcl) != role) { - send_sync_set_rsp(mcl, MCAP_INVALID_OPERATION, 0, 0, 0); - return FALSE; - } - - reset = (new_tmstamp != MCAP_TMSTAMP_DONTSET); - - if (reset) { - if (sched_btclock != MCAP_BTCLOCK_IMMEDIATE) { - delay = bt2us(btdiff(sched_btclock, btclock)); - if (delay >= 0 || ((new_tmstamp - delay) > 0)) { - new_tmstamp += delay; - DBG("CSP: reset w/ delay %dus, compensated", - delay); - } else - DBG("CSP: reset w/ delay %dus, uncompensated", - delay); - } - - reset_tmstamp(mcl->csp, &base_time, new_tmstamp); - tmstamp = new_tmstamp; - } - - tmstampacc = caps(mcl)->latency + caps(mcl)->ts_acc; - - if (mcl->csp->ind_timer) { - g_source_remove(mcl->csp->ind_timer); - mcl->csp->ind_timer = 0; - } - - if (update) { - int when = ind_freq + caps(mcl)->syncleadtime_ms; - mcl->csp->ind_timer = g_timeout_add(when, - sync_send_indication, - mcl); - } - - send_sync_set_rsp(mcl, MCAP_SUCCESS, btclock, tmstamp, tmstampacc); - - /* First indication after set is immediate */ - if (update) - sync_send_indication(mcl); - - return FALSE; -} - -static void proc_sync_set_req(struct mcap_mcl *mcl, uint8_t *cmd, uint32_t len) -{ - mcap_md_sync_set_req *req; - uint32_t sched_btclock, cur_btclock; - uint16_t btres; - uint8_t update; - uint64_t timestamp; - struct sync_set_data *set_data; - int phase2_delay, ind_freq, when; - - if (len != sizeof(mcap_md_sync_set_req)) { - send_sync_set_rsp(mcl, MCAP_INVALID_PARAM_VALUE, 0, 0, 0); - return; - } - - req = (mcap_md_sync_set_req *) cmd; - sched_btclock = ntohl(req->btclock); - update = req->timestui; - timestamp = ntoh64(req->timestst); - - if (sched_btclock != MCAP_BTCLOCK_IMMEDIATE && - !valid_btclock(sched_btclock)) { - send_sync_set_rsp(mcl, MCAP_INVALID_PARAM_VALUE, 0, 0, 0); - return; - } - - if (update > 1) { - send_sync_set_rsp(mcl, MCAP_INVALID_PARAM_VALUE, 0, 0, 0); - return; - } - - if (!mcl->csp->remote_caps) { - /* Remote side did not ask our capabilities yet */ - send_sync_set_rsp(mcl, MCAP_INVALID_PARAM_VALUE, 0, 0, 0); - return; - } - - if (!caps(mcl)) { - send_sync_set_rsp(mcl, MCAP_UNSPECIFIED_ERROR, 0, 0, 0); - return; - } - - if (!read_btclock_retry(mcl, &cur_btclock, &btres)) { - send_sync_set_rsp(mcl, MCAP_UNSPECIFIED_ERROR, 0, 0, 0); - return; - } - - if (sched_btclock == MCAP_BTCLOCK_IMMEDIATE) - phase2_delay = 0; - else { - phase2_delay = btdiff(cur_btclock, sched_btclock); - - if (phase2_delay < 0) { - /* can not reset in the past tense */ - send_sync_set_rsp(mcl, MCAP_INVALID_PARAM_VALUE, - 0, 0, 0); - return; - } - - /* Convert to miliseconds */ - phase2_delay = bt2ms(phase2_delay); - - if (phase2_delay > 61*1000) { - /* More than 60 seconds in the future */ - send_sync_set_rsp(mcl, MCAP_INVALID_PARAM_VALUE, - 0, 0, 0); - return; - } else if (phase2_delay < caps(mcl)->latency / 1000) { - /* Too fast for us to do in time */ - send_sync_set_rsp(mcl, MCAP_INVALID_PARAM_VALUE, - 0, 0, 0); - return; - } - } - - if (update) { - /* Indication frequency: required accuracy divided by ours */ - /* Converted to milisseconds */ - ind_freq = (1000 * mcl->csp->rem_req_acc) / caps(mcl)->ts_acc; - - if (ind_freq < MAX(caps(mcl)->latency * 2 / 1000, 100)) { - /* Too frequent, we can't handle */ - send_sync_set_rsp(mcl, MCAP_INVALID_PARAM_VALUE, - 0, 0, 0); - return; - } - - DBG("CSP: indication every %dms", ind_freq); - } else - ind_freq = 0; - - if (mcl->csp->ind_timer) { - /* Old indications are no longer sent */ - g_source_remove(mcl->csp->ind_timer); - mcl->csp->ind_timer = 0; - } - - if (!mcl->csp->set_data) - mcl->csp->set_data = g_new0(struct sync_set_data, 1); - - set_data = (struct sync_set_data *) mcl->csp->set_data; - - set_data->update = update; - set_data->sched_btclock = sched_btclock; - set_data->timestamp = timestamp; - set_data->ind_freq = ind_freq; - set_data->role = get_btrole(mcl); - - /* TODO is there some way to schedule a call based directly on - * a BT clock value, instead of this estimation that uses - * the SO clock? */ - - if (phase2_delay > 0) { - when = phase2_delay + caps(mcl)->syncleadtime_ms; - mcl->csp->set_timer = g_timeout_add(when, - proc_sync_set_req_phase2, - mcl); - } else - proc_sync_set_req_phase2(mcl); - - /* First indication is immediate */ - if (update) - sync_send_indication(mcl); -} - -static void proc_sync_cap_rsp(struct mcap_mcl *mcl, uint8_t *cmd, uint32_t len) -{ - mcap_md_sync_cap_rsp *rsp; - uint8_t mcap_err; - uint8_t btclockres; - uint16_t synclead; - uint16_t tmstampres; - uint16_t tmstampacc; - struct mcap_sync_cap_cbdata *cbdata; - mcap_sync_cap_cb cb; - gpointer user_data; - - if (mcl->csp->csp_req != MCAP_MD_SYNC_CAP_REQ) { - DBG("CSP: got unexpected cap respose"); - return; - } - - if (!mcl->csp->csp_priv_data) { - DBG("CSP: no priv data for cap respose"); - return; - } - - cbdata = mcl->csp->csp_priv_data; - cb = cbdata->cb; - user_data = cbdata->user_data; - g_free(cbdata); - - mcl->csp->csp_priv_data = NULL; - mcl->csp->csp_req = 0; - - if (len != sizeof(mcap_md_sync_cap_rsp)) { - DBG("CSP: got corrupted cap respose"); - return; - } - - rsp = (mcap_md_sync_cap_rsp *) cmd; - mcap_err = rsp->rc; - btclockres = rsp->btclock; - synclead = ntohs(rsp->sltime); - tmstampres = ntohs(rsp->timestnr); - tmstampacc = ntohs(rsp->timestna); - - if (!mcap_err) - mcl->csp->local_caps = TRUE; - - cb(mcl, mcap_err, btclockres, synclead, tmstampres, tmstampacc, NULL, - user_data); -} - -static void proc_sync_set_rsp(struct mcap_mcl *mcl, uint8_t *cmd, uint32_t len) -{ - mcap_md_sync_set_rsp *rsp; - uint8_t mcap_err; - uint32_t btclock; - uint64_t timestamp; - uint16_t accuracy; - struct mcap_sync_set_cbdata *cbdata; - mcap_sync_set_cb cb; - gpointer user_data; - - if (mcl->csp->csp_req != MCAP_MD_SYNC_SET_REQ) { - DBG("CSP: got unexpected set respose"); - return; - } - - if (!mcl->csp->csp_priv_data) { - DBG("CSP: no priv data for set respose"); - return; - } - - cbdata = mcl->csp->csp_priv_data; - cb = cbdata->cb; - user_data = cbdata->user_data; - g_free(cbdata); - - mcl->csp->csp_priv_data = NULL; - mcl->csp->csp_req = 0; - - if (len != sizeof(mcap_md_sync_set_rsp)) { - DBG("CSP: got corrupted set respose"); - return; - } - - rsp = (mcap_md_sync_set_rsp *) cmd; - mcap_err = rsp->rc; - btclock = ntohl(rsp->btclock); - timestamp = ntoh64(rsp->timestst); - accuracy = ntohs(rsp->timestsa); - - if (!mcap_err && !valid_btclock(btclock)) - mcap_err = MCAP_ERROR_INVALID_ARGS; - - cb(mcl, mcap_err, btclock, timestamp, accuracy, NULL, user_data); -} - -static void proc_sync_info_ind(struct mcap_mcl *mcl, uint8_t *cmd, uint32_t len) -{ - mcap_md_sync_info_ind *req; - struct sync_info_ind_data data; - uint32_t btclock; - - if (!mcl->csp->ind_expected) { - DBG("CSP: received unexpected info indication"); - return; - } - - if (len != sizeof(mcap_md_sync_info_ind)) - return; - - req = (mcap_md_sync_info_ind *) cmd; - - btclock = ntohl(req->btclock); - - if (!valid_btclock(btclock)) - return; - - data.btclock = btclock; - data.timestamp = ntoh64(req->timestst); - data.accuracy = ntohs(req->timestsa); - - if (mcl->mi->mcl_sync_infoind_cb) - mcl->mi->mcl_sync_infoind_cb(mcl, &data); -} - -void proc_sync_cmd(struct mcap_mcl *mcl, uint8_t *cmd, uint32_t len) -{ - if (!mcl->mi->csp_enabled || !mcl->csp) { - switch (cmd[0]) { - case MCAP_MD_SYNC_CAP_REQ: - send_unsupported_cap_req(mcl); - break; - case MCAP_MD_SYNC_SET_REQ: - send_unsupported_set_req(mcl); - break; - } - return; - } - - switch (cmd[0]) { - case MCAP_MD_SYNC_CAP_REQ: - proc_sync_cap_req(mcl, cmd, len); - break; - case MCAP_MD_SYNC_CAP_RSP: - proc_sync_cap_rsp(mcl, cmd, len); - break; - case MCAP_MD_SYNC_SET_REQ: - proc_sync_set_req(mcl, cmd, len); - break; - case MCAP_MD_SYNC_SET_RSP: - proc_sync_set_rsp(mcl, cmd, len); - break; - case MCAP_MD_SYNC_INFO_IND: - proc_sync_info_ind(mcl, cmd, len); - break; - } -} - -void mcap_sync_cap_req(struct mcap_mcl *mcl, uint16_t reqacc, - mcap_sync_cap_cb cb, gpointer user_data, - GError **err) -{ - struct mcap_sync_cap_cbdata *cbdata; - mcap_md_sync_cap_req *cmd; - - if (!mcl->mi->csp_enabled || !mcl->csp) { - g_set_error(err, - MCAP_CSP_ERROR, - MCAP_ERROR_RESOURCE_UNAVAILABLE, - "CSP not enabled for the instance"); - return; - } - - if (mcl->csp->csp_req) { - g_set_error(err, - MCAP_CSP_ERROR, - MCAP_ERROR_RESOURCE_UNAVAILABLE, - "Pending CSP request"); - return; - } - - mcl->csp->csp_req = MCAP_MD_SYNC_CAP_REQ; - cmd = g_new0(mcap_md_sync_cap_req, 1); - - cmd->op = MCAP_MD_SYNC_CAP_REQ; - cmd->timest = htons(reqacc); - - cbdata = g_new0(struct mcap_sync_cap_cbdata, 1); - cbdata->cb = cb; - cbdata->user_data = user_data; - mcl->csp->csp_priv_data = cbdata; - - send_sync_cmd(mcl, cmd, sizeof(*cmd)); - - g_free(cmd); -} - -void mcap_sync_set_req(struct mcap_mcl *mcl, uint8_t update, uint32_t btclock, - uint64_t timestamp, mcap_sync_set_cb cb, - gpointer user_data, GError **err) -{ - mcap_md_sync_set_req *cmd; - struct mcap_sync_set_cbdata *cbdata; - - if (!mcl->mi->csp_enabled || !mcl->csp) { - g_set_error(err, - MCAP_CSP_ERROR, - MCAP_ERROR_RESOURCE_UNAVAILABLE, - "CSP not enabled for the instance"); - return; - } - - if (!mcl->csp->local_caps) { - g_set_error(err, - MCAP_CSP_ERROR, - MCAP_ERROR_RESOURCE_UNAVAILABLE, - "Did not get CSP caps from slave yet"); - return; - } - - if (mcl->csp->csp_req) { - g_set_error(err, - MCAP_CSP_ERROR, - MCAP_ERROR_RESOURCE_UNAVAILABLE, - "Pending CSP request"); - return; - } - - mcl->csp->csp_req = MCAP_MD_SYNC_SET_REQ; - cmd = g_new0(mcap_md_sync_set_req, 1); - - cmd->op = MCAP_MD_SYNC_SET_REQ; - cmd->timestui = update; - cmd->btclock = htonl(btclock); - cmd->timestst = hton64(timestamp); - - mcl->csp->ind_expected = update; - - cbdata = g_new0(struct mcap_sync_set_cbdata, 1); - cbdata->cb = cb; - cbdata->user_data = user_data; - mcl->csp->csp_priv_data = cbdata; - - send_sync_cmd(mcl, cmd, sizeof(*cmd)); - - g_free(cmd); -} - -void mcap_enable_csp(struct mcap_instance *mi) -{ - mi->csp_enabled = TRUE; -} - -void mcap_disable_csp(struct mcap_instance *mi) -{ - mi->csp_enabled = FALSE; -} diff --git a/GRIB_BLE_HUB/libs/ble_extend/profiles/heartrate/.deps/bluetoothd-heartrate.Po b/GRIB_BLE_HUB/libs/ble_extend/profiles/heartrate/.deps/bluetoothd-heartrate.Po deleted file mode 100644 index 9ce06a8..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/profiles/heartrate/.deps/bluetoothd-heartrate.Po +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/GRIB_BLE_HUB/libs/ble_extend/profiles/heartrate/heartrate.c b/GRIB_BLE_HUB/libs/ble_extend/profiles/heartrate/heartrate.c deleted file mode 100644 index 0520f5c..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/profiles/heartrate/heartrate.c +++ /dev/null @@ -1,884 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2012 Tieto Poland - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include -#include -#include - -#include "lib/uuid.h" -#include "plugin.h" -#include "adapter.h" -#include "dbus-common.h" -#include "device.h" -#include "profile.h" -#include "error.h" -#include "attrib/gattrib.h" -#include "attrib/att.h" -#include "attrib/gatt.h" -#include "attio.h" -#include "log.h" - -#define HEART_RATE_INTERFACE "org.bluez.HeartRate1" -#define HEART_RATE_MANAGER_INTERFACE "org.bluez.HeartRateManager1" -#define HEART_RATE_WATCHER_INTERFACE "org.bluez.HeartRateWatcher1" - -#define HR_VALUE_FORMAT 0x01 -#define SENSOR_CONTACT_DETECTED 0x02 -#define SENSOR_CONTACT_SUPPORT 0x04 -#define ENERGY_EXP_STATUS 0x08 -#define RR_INTERVAL 0x10 - -struct heartrate_adapter { - struct btd_adapter *adapter; - GSList *devices; - GSList *watchers; -}; - -struct heartrate { - struct btd_device *dev; - struct heartrate_adapter *hradapter; - GAttrib *attrib; - guint attioid; - guint attionotid; - - struct att_range *svc_range; /* primary svc range */ - - uint16_t measurement_ccc_handle; - uint16_t hrcp_val_handle; - - gboolean has_location; - uint8_t location; -}; - -struct watcher { - struct heartrate_adapter *hradapter; - guint id; - char *srv; - char *path; -}; - -struct measurement { - struct heartrate *hr; - uint16_t value; - gboolean has_energy; - uint16_t energy; - gboolean has_contact; - gboolean contact; - uint16_t num_interval; - uint16_t *interval; -}; - -static GSList *heartrate_adapters = NULL; - -static const char * const location_enum[] = { - "other", - "chest", - "wrist", - "finger", - "hand", - "earlobe", - "foot", -}; - -static const char *location2str(uint8_t value) -{ - if (value < G_N_ELEMENTS(location_enum)) - return location_enum[value]; - - error("Body Sensor Location [%d] is RFU", value); - - return NULL; -} - -static gint cmp_adapter(gconstpointer a, gconstpointer b) -{ - const struct heartrate_adapter *hradapter = a; - const struct btd_adapter *adapter = b; - - if (adapter == hradapter->adapter) - return 0; - - return -1; -} - -static gint cmp_device(gconstpointer a, gconstpointer b) -{ - const struct heartrate *hr = a; - const struct btd_device *dev = b; - - if (dev == hr->dev) - return 0; - - return -1; -} - -static gint cmp_watcher(gconstpointer a, gconstpointer b) -{ - const struct watcher *watcher = a; - const struct watcher *match = b; - int ret; - - ret = g_strcmp0(watcher->srv, match->srv); - if (ret != 0) - return ret; - - return g_strcmp0(watcher->path, match->path); -} - -static struct heartrate_adapter * -find_heartrate_adapter(struct btd_adapter *adapter) -{ - GSList *l = g_slist_find_custom(heartrate_adapters, adapter, - cmp_adapter); - if (!l) - return NULL; - - return l->data; -} - -static void destroy_watcher(gpointer user_data) -{ - struct watcher *watcher = user_data; - - g_free(watcher->path); - g_free(watcher->srv); - g_free(watcher); -} - -static struct watcher *find_watcher(GSList *list, const char *sender, - const char *path) -{ - struct watcher *match; - GSList *l; - - match = g_new0(struct watcher, 1); - match->srv = g_strdup(sender); - match->path = g_strdup(path); - - l = g_slist_find_custom(list, match, cmp_watcher); - destroy_watcher(match); - - if (l != NULL) - return l->data; - - return NULL; -} - -static void destroy_heartrate(gpointer user_data) -{ - struct heartrate *hr = user_data; - - if (hr->attioid > 0) - btd_device_remove_attio_callback(hr->dev, hr->attioid); - - if (hr->attrib != NULL) { - g_attrib_unregister(hr->attrib, hr->attionotid); - g_attrib_unref(hr->attrib); - } - - btd_device_unref(hr->dev); - g_free(hr->svc_range); - g_free(hr); -} - -static void remove_watcher(gpointer user_data) -{ - struct watcher *watcher = user_data; - - g_dbus_remove_watch(btd_get_dbus_connection(), watcher->id); -} - -static void destroy_heartrate_adapter(gpointer user_data) -{ - struct heartrate_adapter *hradapter = user_data; - - g_slist_free_full(hradapter->watchers, remove_watcher); - - g_free(hradapter); -} - -static void read_sensor_location_cb(guint8 status, const guint8 *pdu, - guint16 len, gpointer user_data) -{ - struct heartrate *hr = user_data; - uint8_t value; - ssize_t vlen; - - if (status != 0) { - error("Body Sensor Location read failed: %s", - att_ecode2str(status)); - return; - } - - vlen = dec_read_resp(pdu, len, &value, sizeof(value)); - if (vlen < 0) { - error("Protocol error"); - return; - } - - if (vlen != sizeof(value)) { - error("Invalid length for Body Sensor Location"); - return; - } - - hr->has_location = TRUE; - hr->location = value; -} - -static void char_write_cb(guint8 status, const guint8 *pdu, guint16 len, - gpointer user_data) -{ - char *msg = user_data; - - if (status != 0) - error("%s failed", msg); - - g_free(msg); -} - -static void update_watcher(gpointer data, gpointer user_data) -{ - struct watcher *w = data; - struct measurement *m = user_data; - struct heartrate *hr = m->hr; - const char *path = device_get_path(hr->dev); - DBusMessageIter iter; - DBusMessageIter dict; - DBusMessage *msg; - - msg = dbus_message_new_method_call(w->srv, w->path, - HEART_RATE_WATCHER_INTERFACE, "MeasurementReceived"); - if (msg == NULL) - return; - - dbus_message_iter_init_append(msg, &iter); - - dbus_message_iter_append_basic(&iter, DBUS_TYPE_OBJECT_PATH , &path); - - dbus_message_iter_open_container(&iter, DBUS_TYPE_ARRAY, - DBUS_DICT_ENTRY_BEGIN_CHAR_AS_STRING - DBUS_TYPE_STRING_AS_STRING DBUS_TYPE_VARIANT_AS_STRING - DBUS_DICT_ENTRY_END_CHAR_AS_STRING, &dict); - - dict_append_entry(&dict, "Value", DBUS_TYPE_UINT16, &m->value); - - if (m->has_energy) - dict_append_entry(&dict, "Energy", DBUS_TYPE_UINT16, - &m->energy); - - if (m->has_contact) - dict_append_entry(&dict, "Contact", DBUS_TYPE_BOOLEAN, - &m->contact); - - if (m->num_interval > 0) - dict_append_array(&dict, "Interval", DBUS_TYPE_UINT16, - &m->interval, m->num_interval); - - dbus_message_iter_close_container(&iter, &dict); - - dbus_message_set_no_reply(msg, TRUE); - g_dbus_send_message(btd_get_dbus_connection(), msg); -} - -static void process_measurement(struct heartrate *hr, const uint8_t *pdu, - uint16_t len) -{ - struct measurement m; - uint8_t flags; - - flags = *pdu; - - pdu++; - len--; - - memset(&m, 0, sizeof(m)); - - if (flags & HR_VALUE_FORMAT) { - if (len < 2) { - error("Heart Rate Measurement field missing"); - return; - } - - m.value = att_get_u16(pdu); - pdu += 2; - len -= 2; - } else { - if (len < 1) { - error("Heart Rate Measurement field missing"); - return; - } - - m.value = *pdu; - pdu++; - len--; - } - - if (flags & ENERGY_EXP_STATUS) { - if (len < 2) { - error("Energy Expended field missing"); - return; - } - - m.has_energy = TRUE; - m.energy = att_get_u16(pdu); - pdu += 2; - len -= 2; - } - - if (flags & RR_INTERVAL) { - int i; - - if (len == 0 || (len % 2 != 0)) { - error("RR-Interval field malformed"); - return; - } - - m.num_interval = len / 2; - m.interval = g_new(uint16_t, m.num_interval); - - for (i = 0; i < m.num_interval; pdu += 2, i++) - m.interval[i] = att_get_u16(pdu); - } - - if (flags & SENSOR_CONTACT_SUPPORT) { - m.has_contact = TRUE; - m.contact = !!(flags & SENSOR_CONTACT_DETECTED); - } - - /* Notify all registered watchers */ - m.hr = hr; - g_slist_foreach(hr->hradapter->watchers, update_watcher, &m); - - g_free(m.interval); -} - -static void notify_handler(const uint8_t *pdu, uint16_t len, gpointer user_data) -{ - struct heartrate *hr = user_data; - - /* should be at least opcode (1b) + handle (2b) */ - if (len < 3) { - error("Invalid PDU received"); - return; - } - - process_measurement(hr, pdu + 3, len - 3); -} - -static void discover_ccc_cb(guint8 status, const guint8 *pdu, - guint16 len, gpointer user_data) -{ - struct heartrate *hr = user_data; - struct att_data_list *list; - uint8_t format; - int i; - - if (status != 0) { - error("Discover Heart Rate Measurement descriptors failed: %s", - att_ecode2str(status)); - return; - } - - list = dec_find_info_resp(pdu, len, &format); - if (list == NULL) - return; - - if (format != ATT_FIND_INFO_RESP_FMT_16BIT) - goto done; - - for (i = 0; i < list->num; i++) { - uint8_t *value; - uint16_t handle, uuid; - char *msg; - uint8_t attr_val[2]; - - value = list->data[i]; - handle = att_get_u16(value); - uuid = att_get_u16(value + 2); - - if (uuid != GATT_CLIENT_CHARAC_CFG_UUID) - continue; - - hr->measurement_ccc_handle = handle; - - if (g_slist_length(hr->hradapter->watchers) == 0) { - att_put_u16(0x0000, attr_val); - msg = g_strdup("Disable measurement"); - } else { - att_put_u16(GATT_CLIENT_CHARAC_CFG_NOTIF_BIT, attr_val); - msg = g_strdup("Enable measurement"); - } - - gatt_write_char(hr->attrib, handle, attr_val, - sizeof(attr_val), char_write_cb, msg); - - break; - } - -done: - att_data_list_free(list); -} - -static void discover_measurement_ccc(struct heartrate *hr, - struct gatt_char *c, struct gatt_char *c_next) -{ - uint16_t start, end; - - start = c->value_handle + 1; - - if (c_next != NULL) { - if (start == c_next->handle) - return; - end = c_next->handle - 1; - } else if (c->value_handle != hr->svc_range->end) { - end = hr->svc_range->end; - } else { - return; - } - - gatt_find_info(hr->attrib, start, end, discover_ccc_cb, hr); -} - -static void discover_char_cb(GSList *chars, guint8 status, gpointer user_data) -{ - struct heartrate *hr = user_data; - - if (status) { - error("Discover HRS characteristics failed: %s", - att_ecode2str(status)); - return; - } - - for (; chars; chars = chars->next) { - struct gatt_char *c = chars->data; - - if (g_strcmp0(c->uuid, HEART_RATE_MEASUREMENT_UUID) == 0) { - struct gatt_char *c_next = - (chars->next ? chars->next->data : NULL); - - hr->attionotid = g_attrib_register(hr->attrib, - ATT_OP_HANDLE_NOTIFY, - c->value_handle, - notify_handler, hr, NULL); - - discover_measurement_ccc(hr, c, c_next); - } else if (g_strcmp0(c->uuid, BODY_SENSOR_LOCATION_UUID) == 0) { - DBG("Body Sensor Location supported"); - - gatt_read_char(hr->attrib, c->value_handle, - read_sensor_location_cb, hr); - } else if (g_strcmp0(c->uuid, - HEART_RATE_CONTROL_POINT_UUID) == 0) { - DBG("Heart Rate Control Point supported"); - hr->hrcp_val_handle = c->value_handle; - } - } -} - -static void enable_measurement(gpointer data, gpointer user_data) -{ - struct heartrate *hr = data; - uint16_t handle = hr->measurement_ccc_handle; - uint8_t value[2]; - char *msg; - - if (hr->attrib == NULL || !handle) - return; - - att_put_u16(GATT_CLIENT_CHARAC_CFG_NOTIF_BIT, value); - msg = g_strdup("Enable measurement"); - - gatt_write_char(hr->attrib, handle, value, sizeof(value), - char_write_cb, msg); -} - -static void disable_measurement(gpointer data, gpointer user_data) -{ - struct heartrate *hr = data; - uint16_t handle = hr->measurement_ccc_handle; - uint8_t value[2]; - char *msg; - - if (hr->attrib == NULL || !handle) - return; - - att_put_u16(0x0000, value); - msg = g_strdup("Disable measurement"); - - gatt_write_char(hr->attrib, handle, value, sizeof(value), - char_write_cb, msg); -} - -static void attio_connected_cb(GAttrib *attrib, gpointer user_data) -{ - struct heartrate *hr = user_data; - - DBG(""); - - hr->attrib = g_attrib_ref(attrib); - - gatt_discover_char(hr->attrib, hr->svc_range->start, hr->svc_range->end, - NULL, discover_char_cb, hr); -} - -static void attio_disconnected_cb(gpointer user_data) -{ - struct heartrate *hr = user_data; - - DBG(""); - - if (hr->attionotid > 0) { - g_attrib_unregister(hr->attrib, hr->attionotid); - hr->attionotid = 0; - } - - g_attrib_unref(hr->attrib); - hr->attrib = NULL; -} - -static void watcher_exit_cb(DBusConnection *conn, void *user_data) -{ - struct watcher *watcher = user_data; - struct heartrate_adapter *hradapter = watcher->hradapter; - - DBG("heartrate watcher [%s] disconnected", watcher->path); - - hradapter->watchers = g_slist_remove(hradapter->watchers, watcher); - g_dbus_remove_watch(conn, watcher->id); - - if (g_slist_length(hradapter->watchers) == 0) - g_slist_foreach(hradapter->devices, disable_measurement, 0); -} - -static DBusMessage *register_watcher(DBusConnection *conn, DBusMessage *msg, - void *data) -{ - struct heartrate_adapter *hradapter = data; - struct watcher *watcher; - const char *sender = dbus_message_get_sender(msg); - char *path; - - if (!dbus_message_get_args(msg, NULL, DBUS_TYPE_OBJECT_PATH, &path, - DBUS_TYPE_INVALID)) - return btd_error_invalid_args(msg); - - watcher = find_watcher(hradapter->watchers, sender, path); - if (watcher != NULL) - return btd_error_already_exists(msg); - - watcher = g_new0(struct watcher, 1); - watcher->hradapter = hradapter; - watcher->id = g_dbus_add_disconnect_watch(conn, sender, watcher_exit_cb, - watcher, destroy_watcher); - watcher->srv = g_strdup(sender); - watcher->path = g_strdup(path); - - if (g_slist_length(hradapter->watchers) == 0) - g_slist_foreach(hradapter->devices, enable_measurement, 0); - - hradapter->watchers = g_slist_prepend(hradapter->watchers, watcher); - - DBG("heartrate watcher [%s] registered", path); - - return dbus_message_new_method_return(msg); -} - -static DBusMessage *unregister_watcher(DBusConnection *conn, DBusMessage *msg, - void *data) -{ - struct heartrate_adapter *hradapter = data; - struct watcher *watcher; - const char *sender = dbus_message_get_sender(msg); - char *path; - - if (!dbus_message_get_args(msg, NULL, DBUS_TYPE_OBJECT_PATH, &path, - DBUS_TYPE_INVALID)) - return btd_error_invalid_args(msg); - - watcher = find_watcher(hradapter->watchers, sender, path); - if (watcher == NULL) - return btd_error_does_not_exist(msg); - - hradapter->watchers = g_slist_remove(hradapter->watchers, watcher); - g_dbus_remove_watch(conn, watcher->id); - - if (g_slist_length(hradapter->watchers) == 0) - g_slist_foreach(hradapter->devices, disable_measurement, 0); - - DBG("heartrate watcher [%s] unregistered", path); - - return dbus_message_new_method_return(msg); -} - -static const GDBusMethodTable heartrate_manager_methods[] = { - { GDBUS_METHOD("RegisterWatcher", - GDBUS_ARGS({ "agent", "o" }), NULL, - register_watcher) }, - { GDBUS_METHOD("UnregisterWatcher", - GDBUS_ARGS({ "agent", "o" }), NULL, - unregister_watcher) }, - { } -}; - -static gboolean property_get_location(const GDBusPropertyTable *property, - DBusMessageIter *iter, void *data) -{ - struct heartrate *hr = data; - char *loc; - - if (!hr->has_location) - return FALSE; - - loc = g_strdup(location2str(hr->location)); - - if (loc == NULL) - return FALSE; - - dbus_message_iter_append_basic(iter, DBUS_TYPE_STRING, &loc); - - g_free(loc); - - return TRUE; -} - -static gboolean property_exists_location(const GDBusPropertyTable *property, - void *data) -{ - struct heartrate *hr = data; - - if (!hr->has_location || location2str(hr->location) == NULL) - return FALSE; - - return TRUE; -} - -static gboolean property_get_reset_supported(const GDBusPropertyTable *property, - DBusMessageIter *iter, void *data) -{ - struct heartrate *hr = data; - dbus_bool_t has_reset = !!hr->hrcp_val_handle; - - dbus_message_iter_append_basic(iter, DBUS_TYPE_BOOLEAN, &has_reset); - - return TRUE; -} - -static DBusMessage *hrcp_reset(DBusConnection *conn, DBusMessage *msg, - void *data) -{ - struct heartrate *hr = data; - uint8_t value; - char *vmsg; - - if (!hr->hrcp_val_handle) - return btd_error_not_supported(msg); - - if (!hr->attrib) - return btd_error_not_available(msg); - - value = 0x01; - vmsg = g_strdup("Reset Control Point"); - gatt_write_char(hr->attrib, hr->hrcp_val_handle, &value, - sizeof(value), char_write_cb, vmsg); - - DBG("Energy Expended Value has been reset"); - - return dbus_message_new_method_return(msg); -} - -static const GDBusMethodTable heartrate_device_methods[] = { - { GDBUS_METHOD("Reset", NULL, NULL, hrcp_reset) }, - { } -}; - -static const GDBusPropertyTable heartrate_device_properties[] = { - { "Location", "s", property_get_location, NULL, - property_exists_location }, - { "ResetSupported", "b", property_get_reset_supported }, - { } -}; - -static int heartrate_adapter_register(struct btd_adapter *adapter) -{ - struct heartrate_adapter *hradapter; - - hradapter = g_new0(struct heartrate_adapter, 1); - hradapter->adapter = adapter; - - heartrate_adapters = g_slist_prepend(heartrate_adapters, hradapter); - - if (!g_dbus_register_interface(btd_get_dbus_connection(), - adapter_get_path(adapter), - HEART_RATE_MANAGER_INTERFACE, - heartrate_manager_methods, - NULL, NULL, hradapter, - destroy_heartrate_adapter)) { - error("D-Bus failed to register %s interface", - HEART_RATE_MANAGER_INTERFACE); - destroy_heartrate_adapter(hradapter); - return -EIO; - } - - return 0; -} - -static void heartrate_adapter_unregister(struct btd_adapter *adapter) -{ - struct heartrate_adapter *hradapter; - - hradapter = find_heartrate_adapter(adapter); - if (hradapter == NULL) - return; - - heartrate_adapters = g_slist_remove(heartrate_adapters, hradapter); - - g_dbus_unregister_interface(btd_get_dbus_connection(), - adapter_get_path(hradapter->adapter), - HEART_RATE_MANAGER_INTERFACE); -} - -static int heartrate_device_register(struct btd_device *device, - struct gatt_primary *prim) -{ - struct btd_adapter *adapter; - struct heartrate_adapter *hradapter; - struct heartrate *hr; - - adapter = device_get_adapter(device); - - hradapter = find_heartrate_adapter(adapter); - - if (hradapter == NULL) - return -1; - - hr = g_new0(struct heartrate, 1); - hr->dev = btd_device_ref(device); - hr->hradapter = hradapter; - - if (!g_dbus_register_interface(btd_get_dbus_connection(), - device_get_path(device), - HEART_RATE_INTERFACE, - heartrate_device_methods, - NULL, - heartrate_device_properties, - hr, destroy_heartrate)) { - error("D-Bus failed to register %s interface", - HEART_RATE_INTERFACE); - destroy_heartrate(hr); - return -EIO; - } - - hr->svc_range = g_new0(struct att_range, 1); - hr->svc_range->start = prim->range.start; - hr->svc_range->end = prim->range.end; - - hradapter->devices = g_slist_prepend(hradapter->devices, hr); - - hr->attioid = btd_device_add_attio_callback(device, attio_connected_cb, - attio_disconnected_cb, hr); - - return 0; -} - -static void heartrate_device_unregister(struct btd_device *device) -{ - struct btd_adapter *adapter; - struct heartrate_adapter *hradapter; - struct heartrate *hr; - GSList *l; - - adapter = device_get_adapter(device); - - hradapter = find_heartrate_adapter(adapter); - if (hradapter == NULL) - return; - - l = g_slist_find_custom(hradapter->devices, device, cmp_device); - if (l == NULL) - return; - - hr = l->data; - - hradapter->devices = g_slist_remove(hradapter->devices, hr); - - g_dbus_unregister_interface(btd_get_dbus_connection(), - device_get_path(device), HEART_RATE_INTERFACE); -} - -static int heartrate_adapter_probe(struct btd_profile *p, - struct btd_adapter *adapter) -{ - return heartrate_adapter_register(adapter); -} - -static void heartrate_adapter_remove(struct btd_profile *p, - struct btd_adapter *adapter) -{ - heartrate_adapter_unregister(adapter); -} - -static int heartrate_device_probe(struct btd_profile *p, - struct btd_device *device, GSList *uuids) -{ - struct gatt_primary *prim; - - prim = btd_device_get_primary(device, HEART_RATE_UUID); - if (prim == NULL) - return -EINVAL; - - return heartrate_device_register(device, prim); -} - -static void heartrate_device_remove(struct btd_profile *p, - struct btd_device *device) -{ - heartrate_device_unregister(device); -} - -static struct btd_profile hrp_profile = { - .name = "Heart Rate GATT Driver", - .remote_uuid = HEART_RATE_UUID, - - .device_probe = heartrate_device_probe, - .device_remove = heartrate_device_remove, - - .adapter_probe = heartrate_adapter_probe, - .adapter_remove = heartrate_adapter_remove, -}; - -static int heartrate_init(void) -{ - return btd_profile_register(&hrp_profile); -} - -static void heartrate_exit(void) -{ - btd_profile_unregister(&hrp_profile); -} - -BLUETOOTH_PLUGIN_DEFINE(heartrate, VERSION, BLUETOOTH_PLUGIN_PRIORITY_DEFAULT, - heartrate_init, heartrate_exit) diff --git a/GRIB_BLE_HUB/libs/ble_extend/profiles/iap/.deps/main.Po b/GRIB_BLE_HUB/libs/ble_extend/profiles/iap/.deps/main.Po deleted file mode 100644 index 9ce06a8..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/profiles/iap/.deps/main.Po +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/GRIB_BLE_HUB/libs/ble_extend/profiles/iap/main.c b/GRIB_BLE_HUB/libs/ble_extend/profiles/iap/main.c deleted file mode 100644 index 0e8f43f..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/profiles/iap/main.c +++ /dev/null @@ -1,465 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2012 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include - -#define IAP_PATH "/org/bluez/iap" - -#define IAP_UUID "00000000-deca-fade-deca-deafdecacafe" - -#define IAP_RECORD \ - " \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - " - -static GMainLoop *main_loop; - -static guint iap_source = 0; - -static gboolean iap_handler(GIOChannel *channel, GIOCondition condition, - gpointer user_data) -{ - unsigned char buf[512]; - ssize_t len; - int fd; - - if (condition & (G_IO_NVAL | G_IO_ERR | G_IO_HUP)) { - iap_source = 0; - return FALSE; - } - - fd = g_io_channel_unix_get_fd(channel); - - len = read(fd, buf, sizeof(buf)); - if (len < 0) { - iap_source = 0; - return FALSE; - } - - return TRUE; -} - -static guint create_source(int fd, GIOFunc func) -{ - GIOChannel *channel; - guint source; - - channel = g_io_channel_unix_new(fd); - - g_io_channel_set_close_on_unref(channel, TRUE); - g_io_channel_set_encoding(channel, NULL, NULL); - g_io_channel_set_buffered(channel, FALSE); - - source = g_io_add_watch(channel, - G_IO_IN | G_IO_HUP | G_IO_ERR | G_IO_NVAL, func, NULL); - - g_io_channel_unref(channel); - - return source; -} - -static void remove_source(const char *path) -{ - if (iap_source > 0) { - g_source_remove(iap_source); - iap_source = 0; - } -} - -static DBusMessage *release_profile(DBusConnection *conn, - DBusMessage *msg, void *user_data) -{ - g_print("Profile released\n"); - - remove_source(IAP_PATH); - - return dbus_message_new_method_return(msg); -} - -static DBusMessage *new_connection(DBusConnection *conn, - DBusMessage *msg, void *user_data) -{ - const char *path, *device; - int fd; - - g_print("New connection\n"); - - path = dbus_message_get_path(msg); - - dbus_message_get_args(msg, NULL, DBUS_TYPE_OBJECT_PATH, &device, - DBUS_TYPE_UNIX_FD, &fd, DBUS_TYPE_INVALID); - - g_print(" from %s\n", path); - g_print(" for device %s with fd %d\n", device, fd); - - if (iap_source == 0) - iap_source = create_source(fd, iap_handler); - else - close(fd); - - return dbus_message_new_method_return(msg); -} - -static DBusMessage *request_disconnection(DBusConnection *conn, - DBusMessage *msg, void *user_data) -{ - DBusMessageIter iter; - const char *path, *device; - - g_print("Request disconnection\n"); - - path = dbus_message_get_path(msg); - - dbus_message_iter_init(msg, &iter); - dbus_message_iter_get_basic(&iter, &device); - - g_print(" from %s\n", path); - g_print(" for device %s\n", device); - - remove_source(path); - - return dbus_message_new_method_return(msg); -} - -static DBusMessage *cancel_request(DBusConnection *conn, - DBusMessage *msg, void *user_data) -{ - const char *path; - - g_print("Request canceled\n"); - - path = dbus_message_get_path(msg); - - g_print(" from %s\n", path); - - remove_source(path); - - return dbus_message_new_method_return(msg); -} - -static const GDBusMethodTable methods[] = { - { GDBUS_METHOD("Release", NULL, NULL, release_profile) }, - { GDBUS_METHOD("NewConnection", - GDBUS_ARGS({ "device", "o" }, - { "fd", "h"}, { "opts", "a{sv}"}), - NULL, new_connection) }, - { GDBUS_METHOD("RequestDisconnection", - GDBUS_ARGS({ "device", "o" }), - NULL, request_disconnection) }, - { GDBUS_METHOD("Cancel", NULL, NULL, cancel_request) }, - { } -}; - -static void register_profile_setup(DBusMessageIter *iter, void *user_data) -{ - const char *path = IAP_PATH; - const char *uuid = IAP_UUID; - DBusMessageIter dict, entry, value; - dbus_uint16_t channel; - char *record; - const char *str; - - dbus_message_iter_append_basic(iter, DBUS_TYPE_OBJECT_PATH, &path); - dbus_message_iter_append_basic(iter, DBUS_TYPE_STRING, &uuid); - - dbus_message_iter_open_container(iter, DBUS_TYPE_ARRAY, - DBUS_DICT_ENTRY_BEGIN_CHAR_AS_STRING - DBUS_TYPE_STRING_AS_STRING - DBUS_TYPE_VARIANT_AS_STRING - DBUS_DICT_ENTRY_END_CHAR_AS_STRING, &dict); - - dbus_message_iter_open_container(&dict, DBUS_TYPE_DICT_ENTRY, - NULL, &entry); - str = "Role"; - dbus_message_iter_append_basic(&entry, DBUS_TYPE_STRING, &str); - dbus_message_iter_open_container(&entry, DBUS_TYPE_VARIANT, - DBUS_TYPE_STRING_AS_STRING, &value); - str = "server"; - dbus_message_iter_append_basic(&value, DBUS_TYPE_STRING, &str); - dbus_message_iter_close_container(&entry, &value); - dbus_message_iter_close_container(&dict, &entry); - - dbus_message_iter_open_container(&dict, DBUS_TYPE_DICT_ENTRY, - NULL, &entry); - str = "Channel"; - dbus_message_iter_append_basic(&entry, DBUS_TYPE_STRING, &str); - dbus_message_iter_open_container(&entry, DBUS_TYPE_VARIANT, - DBUS_TYPE_UINT16_AS_STRING, &value); - channel = 23; - dbus_message_iter_append_basic(&value, DBUS_TYPE_UINT16, &channel); - dbus_message_iter_close_container(&entry, &value); - dbus_message_iter_close_container(&dict, &entry); - - dbus_message_iter_open_container(&dict, DBUS_TYPE_DICT_ENTRY, - NULL, &entry); - str = "ServiceRecord"; - dbus_message_iter_append_basic(&entry, DBUS_TYPE_STRING, &str); - dbus_message_iter_open_container(&entry, DBUS_TYPE_VARIANT, - DBUS_TYPE_STRING_AS_STRING, &value); - record = g_strdup_printf(IAP_RECORD, IAP_UUID, channel); - dbus_message_iter_append_basic(&value, DBUS_TYPE_STRING, &record); - g_free(record); - dbus_message_iter_close_container(&entry, &value); - dbus_message_iter_close_container(&dict, &entry); - - dbus_message_iter_close_container(iter, &dict); -} - -static void register_profile_reply(DBusMessage *message, void *user_data) -{ - DBusError error; - - dbus_error_init(&error); - - if (dbus_set_error_from_message(&error, message) == TRUE) { - g_print("Failed to register profile\n"); - return; - } - - g_print("Profile registered\n"); -} - -static void connect_handler(DBusConnection *connection, void *user_data) -{ - GDBusClient *client = user_data; - GDBusProxy *proxy; - - g_print("Bluetooth connected\n"); - - proxy = g_dbus_proxy_new(client, "/org/bluez", - "org.bluez.ProfileManager1"); - if (!proxy) - return; - - g_dbus_register_interface(connection, IAP_PATH, - "org.bluez.Profile1", - methods, NULL, NULL, NULL, NULL); - - g_dbus_proxy_method_call(proxy, "RegisterProfile", - register_profile_setup, - register_profile_reply, NULL, NULL); - - g_dbus_proxy_unref(proxy); -} - -static void disconnect_handler(DBusConnection *connection, void *user_data) -{ - g_print("Bluetooth disconnected\n"); - - g_dbus_unregister_interface(connection, IAP_PATH, - "org.bluez.Profile1"); -} - -static gboolean signal_handler(GIOChannel *channel, GIOCondition condition, - gpointer user_data) -{ - static unsigned int __terminated = 0; - struct signalfd_siginfo si; - ssize_t result; - int fd; - - if (condition & (G_IO_NVAL | G_IO_ERR | G_IO_HUP)) { - g_main_loop_quit(main_loop); - return FALSE; - } - - fd = g_io_channel_unix_get_fd(channel); - - result = read(fd, &si, sizeof(si)); - if (result != sizeof(si)) - return FALSE; - - switch (si.ssi_signo) { - case SIGINT: - case SIGTERM: - if (__terminated == 0) - g_main_loop_quit(main_loop); - - __terminated = 1; - break; - } - - return TRUE; -} - -static guint setup_signalfd(void) -{ - GIOChannel *channel; - guint source; - sigset_t mask; - int fd; - - sigemptyset(&mask); - sigaddset(&mask, SIGINT); - sigaddset(&mask, SIGTERM); - - if (sigprocmask(SIG_BLOCK, &mask, NULL) < 0) { - perror("Failed to set signal mask"); - return 0; - } - - fd = signalfd(-1, &mask, 0); - if (fd < 0) { - perror("Failed to create signal descriptor"); - return 0; - } - - channel = g_io_channel_unix_new(fd); - - g_io_channel_set_close_on_unref(channel, TRUE); - g_io_channel_set_encoding(channel, NULL, NULL); - g_io_channel_set_buffered(channel, FALSE); - - source = g_io_add_watch(channel, - G_IO_IN | G_IO_HUP | G_IO_ERR | G_IO_NVAL, - signal_handler, NULL); - - g_io_channel_unref(channel); - - return source; -} - -static gboolean option_version = FALSE; - -static GOptionEntry options[] = { - { "version", 'v', 0, G_OPTION_ARG_NONE, &option_version, - "Show version information and exit" }, - { NULL }, -}; - -int main(int argc, char *argv[]) -{ - GOptionContext *context; - GError *error = NULL; - DBusConnection *dbus_conn; - GDBusClient *client; - guint signal; - - context = g_option_context_new(NULL); - g_option_context_add_main_entries(context, options, NULL); - - if (g_option_context_parse(context, &argc, &argv, &error) == FALSE) { - if (error != NULL) { - g_printerr("%s\n", error->message); - g_error_free(error); - } else - g_printerr("An unknown error occurred\n"); - exit(1); - } - - g_option_context_free(context); - - if (option_version == TRUE) { - g_print("%s\n", VERSION); - exit(0); - } - - main_loop = g_main_loop_new(NULL, FALSE); - dbus_conn = g_dbus_setup_bus(DBUS_BUS_SYSTEM, NULL, NULL); - - signal = setup_signalfd(); - - client = g_dbus_client_new(dbus_conn, "org.bluez", "/org/bluez"); - - g_dbus_client_set_connect_watch(client, connect_handler, client); - g_dbus_client_set_disconnect_watch(client, disconnect_handler, NULL); - - g_main_loop_run(main_loop); - - g_dbus_client_unref(client); - - g_source_remove(signal); - - dbus_connection_unref(dbus_conn); - g_main_loop_unref(main_loop); - - return 0; -} diff --git a/GRIB_BLE_HUB/libs/ble_extend/profiles/input/.deps/.dirstamp b/GRIB_BLE_HUB/libs/ble_extend/profiles/input/.deps/.dirstamp deleted file mode 100644 index e69de29..0000000 diff --git a/GRIB_BLE_HUB/libs/ble_extend/profiles/input/.deps/bluetoothd-device.Po b/GRIB_BLE_HUB/libs/ble_extend/profiles/input/.deps/bluetoothd-device.Po deleted file mode 100644 index 829da80..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/profiles/input/.deps/bluetoothd-device.Po +++ /dev/null @@ -1,607 +0,0 @@ -profiles/input/bluetoothd-device.o: profiles/input/device.c \ - /usr/include/stdc-predef.h config.h /usr/include/stdlib.h \ - /usr/include/features.h /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/include/arm-linux-gnueabihf/bits/waitflags.h \ - /usr/include/arm-linux-gnueabihf/bits/waitstatus.h /usr/include/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/xlocale.h /usr/include/arm-linux-gnueabihf/sys/types.h \ - /usr/include/time.h /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/alloca.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-float.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdbool.h \ - /usr/include/errno.h /usr/include/arm-linux-gnueabihf/bits/errno.h \ - /usr/include/linux/errno.h /usr/include/arm-linux-gnueabihf/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/include/fcntl.h /usr/include/arm-linux-gnueabihf/bits/fcntl.h \ - /usr/include/arm-linux-gnueabihf/bits/fcntl-linux.h \ - /usr/include/arm-linux-gnueabihf/bits/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/stat.h /usr/include/unistd.h \ - /usr/include/arm-linux-gnueabihf/bits/posix_opt.h \ - /usr/include/arm-linux-gnueabihf/bits/environments.h \ - /usr/include/arm-linux-gnueabihf/bits/confname.h /usr/include/getopt.h \ - /usr/include/arm-linux-gnueabihf/sys/ioctl.h \ - /usr/include/arm-linux-gnueabihf/bits/ioctls.h \ - /usr/include/arm-linux-gnueabihf/asm/ioctls.h \ - /usr/include/asm-generic/ioctls.h /usr/include/linux/ioctl.h \ - /usr/include/arm-linux-gnueabihf/asm/ioctl.h \ - /usr/include/asm-generic/ioctl.h \ - /usr/include/arm-linux-gnueabihf/bits/ioctl-types.h \ - /usr/include/arm-linux-gnueabihf/sys/ttydefaults.h \ - lib/bluetooth/bluetooth.h /usr/include/stdio.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/sys_errlist.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h \ - /usr/include/stdint.h /usr/include/arm-linux-gnueabihf/bits/wchar.h \ - /usr/include/string.h /usr/include/arm-linux-gnueabihf/bits/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string2.h /usr/include/byteswap.h \ - /usr/include/netinet/in.h /usr/include/arm-linux-gnueabihf/sys/socket.h \ - /usr/include/arm-linux-gnueabihf/sys/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/socket.h \ - /usr/include/arm-linux-gnueabihf/bits/socket_type.h \ - /usr/include/arm-linux-gnueabihf/bits/sockaddr.h \ - /usr/include/arm-linux-gnueabihf/asm/socket.h \ - /usr/include/asm-generic/socket.h \ - /usr/include/arm-linux-gnueabihf/asm/sockios.h \ - /usr/include/asm-generic/sockios.h \ - /usr/include/arm-linux-gnueabihf/bits/in.h lib/bluetooth/hidp.h \ - lib/bluetooth/sdp.h lib/bluetooth/sdp_lib.h lib/bluetooth/hci.h \ - gdbus/gdbus.h /usr/include/dbus-1.0/dbus/dbus.h \ - /usr/lib/arm-linux-gnueabihf/dbus-1.0/include/dbus/dbus-arch-deps.h \ - /usr/include/dbus-1.0/dbus/dbus-macros.h \ - /usr/include/dbus-1.0/dbus/dbus-address.h \ - /usr/include/dbus-1.0/dbus/dbus-types.h \ - /usr/include/dbus-1.0/dbus/dbus-errors.h \ - /usr/include/dbus-1.0/dbus/dbus-protocol.h \ - /usr/include/dbus-1.0/dbus/dbus-bus.h \ - /usr/include/dbus-1.0/dbus/dbus-connection.h \ - /usr/include/dbus-1.0/dbus/dbus-memory.h \ - /usr/include/dbus-1.0/dbus/dbus-message.h \ - /usr/include/dbus-1.0/dbus/dbus-shared.h \ - /usr/include/dbus-1.0/dbus/dbus-misc.h \ - /usr/include/dbus-1.0/dbus/dbus-pending-call.h \ - /usr/include/dbus-1.0/dbus/dbus-server.h \ - /usr/include/dbus-1.0/dbus/dbus-signature.h \ - /usr/include/dbus-1.0/dbus/dbus-syntax.h \ - /usr/include/dbus-1.0/dbus/dbus-threads.h /usr/include/glib-2.0/glib.h \ - /usr/include/glib-2.0/glib/galloca.h /usr/include/glib-2.0/glib/gtypes.h \ - /usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h \ - /usr/include/glib-2.0/glib/gmacros.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h \ - /usr/include/limits.h /usr/include/arm-linux-gnueabihf/bits/posix1_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/local_lim.h \ - /usr/include/linux/limits.h \ - /usr/include/arm-linux-gnueabihf/bits/posix2_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/xopen_lim.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h \ - /usr/include/glib-2.0/glib/gversionmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/timex.h \ - /usr/include/glib-2.0/glib/garray.h \ - /usr/include/glib-2.0/glib/gasyncqueue.h \ - /usr/include/glib-2.0/glib/gthread.h \ - /usr/include/glib-2.0/glib/gatomic.h /usr/include/glib-2.0/glib/gerror.h \ - /usr/include/glib-2.0/glib/gquark.h \ - /usr/include/glib-2.0/glib/gbacktrace.h /usr/include/signal.h \ - /usr/include/arm-linux-gnueabihf/bits/signum.h \ - /usr/include/arm-linux-gnueabihf/bits/siginfo.h \ - /usr/include/arm-linux-gnueabihf/bits/sigaction.h \ - /usr/include/arm-linux-gnueabihf/bits/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/asm/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigstack.h \ - /usr/include/arm-linux-gnueabihf/sys/ucontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigthread.h \ - /usr/include/glib-2.0/glib/gbase64.h \ - /usr/include/glib-2.0/glib/gbitlock.h \ - /usr/include/glib-2.0/glib/gbookmarkfile.h \ - /usr/include/glib-2.0/glib/gbytes.h \ - /usr/include/glib-2.0/glib/gcharset.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/gconvert.h \ - /usr/include/glib-2.0/glib/gdataset.h /usr/include/glib-2.0/glib/gdate.h \ - /usr/include/glib-2.0/glib/gdatetime.h \ - /usr/include/glib-2.0/glib/gtimezone.h /usr/include/glib-2.0/glib/gdir.h \ - /usr/include/dirent.h /usr/include/arm-linux-gnueabihf/bits/dirent.h \ - /usr/include/glib-2.0/glib/genviron.h \ - /usr/include/glib-2.0/glib/gfileutils.h \ - /usr/include/glib-2.0/glib/ggettext.h /usr/include/glib-2.0/glib/ghash.h \ - /usr/include/glib-2.0/glib/glist.h /usr/include/glib-2.0/glib/gmem.h \ - /usr/include/glib-2.0/glib/gnode.h /usr/include/glib-2.0/glib/ghmac.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/ghook.h \ - /usr/include/glib-2.0/glib/ghostutils.h \ - /usr/include/glib-2.0/glib/giochannel.h \ - /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gpoll.h \ - /usr/include/glib-2.0/glib/gslist.h /usr/include/glib-2.0/glib/gstring.h \ - /usr/include/glib-2.0/glib/gunicode.h \ - /usr/include/glib-2.0/glib/gutils.h \ - /usr/include/glib-2.0/glib/gkeyfile.h \ - /usr/include/glib-2.0/glib/gmappedfile.h \ - /usr/include/glib-2.0/glib/gmarkup.h \ - /usr/include/glib-2.0/glib/gmessages.h \ - /usr/include/glib-2.0/glib/goption.h \ - /usr/include/glib-2.0/glib/gpattern.h \ - /usr/include/glib-2.0/glib/gprimes.h /usr/include/glib-2.0/glib/gqsort.h \ - /usr/include/glib-2.0/glib/gqueue.h /usr/include/glib-2.0/glib/grand.h \ - /usr/include/glib-2.0/glib/gregex.h \ - /usr/include/glib-2.0/glib/gscanner.h \ - /usr/include/glib-2.0/glib/gsequence.h \ - /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gslice.h \ - /usr/include/glib-2.0/glib/gspawn.h \ - /usr/include/glib-2.0/glib/gstrfuncs.h \ - /usr/include/glib-2.0/glib/gstringchunk.h \ - /usr/include/glib-2.0/glib/gtestutils.h \ - /usr/include/glib-2.0/glib/gthreadpool.h \ - /usr/include/glib-2.0/glib/gtimer.h \ - /usr/include/glib-2.0/glib/gtrashstack.h \ - /usr/include/glib-2.0/glib/gtree.h \ - /usr/include/glib-2.0/glib/gurifuncs.h \ - /usr/include/glib-2.0/glib/gvarianttype.h \ - /usr/include/glib-2.0/glib/gvariant.h \ - /usr/include/glib-2.0/glib/gversion.h \ - /usr/include/glib-2.0/glib/deprecated/gallocator.h \ - /usr/include/glib-2.0/glib/deprecated/gcache.h \ - /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ - /usr/include/glib-2.0/glib/deprecated/gmain.h \ - /usr/include/glib-2.0/glib/deprecated/grel.h \ - /usr/include/glib-2.0/glib/deprecated/gthread.h /usr/include/pthread.h \ - /usr/include/sched.h /usr/include/arm-linux-gnueabihf/bits/sched.h \ - /usr/include/arm-linux-gnueabihf/bits/setjmp.h src/log.h \ - lib/../src/adapter.h lib/bluetooth/hci_lib.h lib/../src/device.h \ - lib/../src/profile.h lib/../src/storage.h lib/../src/textfile.h \ - lib/../src/dbus-common.h profiles/input/manager.h \ - profiles/input/device.h src/error.h btio/btio.h src/sdp-client.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/include/stdlib.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/include/arm-linux-gnueabihf/bits/waitflags.h: - -/usr/include/arm-linux-gnueabihf/bits/waitstatus.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/xlocale.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/time.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/alloca.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-float.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdbool.h: - -/usr/include/errno.h: - -/usr/include/arm-linux-gnueabihf/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/arm-linux-gnueabihf/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/include/fcntl.h: - -/usr/include/arm-linux-gnueabihf/bits/fcntl.h: - -/usr/include/arm-linux-gnueabihf/bits/fcntl-linux.h: - -/usr/include/arm-linux-gnueabihf/bits/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/stat.h: - -/usr/include/unistd.h: - -/usr/include/arm-linux-gnueabihf/bits/posix_opt.h: - -/usr/include/arm-linux-gnueabihf/bits/environments.h: - -/usr/include/arm-linux-gnueabihf/bits/confname.h: - -/usr/include/getopt.h: - -/usr/include/arm-linux-gnueabihf/sys/ioctl.h: - -/usr/include/arm-linux-gnueabihf/bits/ioctls.h: - -/usr/include/arm-linux-gnueabihf/asm/ioctls.h: - -/usr/include/asm-generic/ioctls.h: - -/usr/include/linux/ioctl.h: - -/usr/include/arm-linux-gnueabihf/asm/ioctl.h: - -/usr/include/asm-generic/ioctl.h: - -/usr/include/arm-linux-gnueabihf/bits/ioctl-types.h: - -/usr/include/arm-linux-gnueabihf/sys/ttydefaults.h: - -lib/bluetooth/bluetooth.h: - -/usr/include/stdio.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/sys_errlist.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/arm-linux-gnueabihf/bits/wchar.h: - -/usr/include/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string2.h: - -/usr/include/byteswap.h: - -/usr/include/netinet/in.h: - -/usr/include/arm-linux-gnueabihf/sys/socket.h: - -/usr/include/arm-linux-gnueabihf/sys/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/socket.h: - -/usr/include/arm-linux-gnueabihf/bits/socket_type.h: - -/usr/include/arm-linux-gnueabihf/bits/sockaddr.h: - -/usr/include/arm-linux-gnueabihf/asm/socket.h: - -/usr/include/asm-generic/socket.h: - -/usr/include/arm-linux-gnueabihf/asm/sockios.h: - -/usr/include/asm-generic/sockios.h: - -/usr/include/arm-linux-gnueabihf/bits/in.h: - -lib/bluetooth/hidp.h: - -lib/bluetooth/sdp.h: - -lib/bluetooth/sdp_lib.h: - -lib/bluetooth/hci.h: - -gdbus/gdbus.h: - -/usr/include/dbus-1.0/dbus/dbus.h: - -/usr/lib/arm-linux-gnueabihf/dbus-1.0/include/dbus/dbus-arch-deps.h: - -/usr/include/dbus-1.0/dbus/dbus-macros.h: - -/usr/include/dbus-1.0/dbus/dbus-address.h: - -/usr/include/dbus-1.0/dbus/dbus-types.h: - -/usr/include/dbus-1.0/dbus/dbus-errors.h: - -/usr/include/dbus-1.0/dbus/dbus-protocol.h: - -/usr/include/dbus-1.0/dbus/dbus-bus.h: - -/usr/include/dbus-1.0/dbus/dbus-connection.h: - -/usr/include/dbus-1.0/dbus/dbus-memory.h: - -/usr/include/dbus-1.0/dbus/dbus-message.h: - -/usr/include/dbus-1.0/dbus/dbus-shared.h: - -/usr/include/dbus-1.0/dbus/dbus-misc.h: - -/usr/include/dbus-1.0/dbus/dbus-pending-call.h: - -/usr/include/dbus-1.0/dbus/dbus-server.h: - -/usr/include/dbus-1.0/dbus/dbus-signature.h: - -/usr/include/dbus-1.0/dbus/dbus-syntax.h: - -/usr/include/dbus-1.0/dbus/dbus-threads.h: - -/usr/include/glib-2.0/glib.h: - -/usr/include/glib-2.0/glib/galloca.h: - -/usr/include/glib-2.0/glib/gtypes.h: - -/usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h: - -/usr/include/glib-2.0/glib/gmacros.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h: - -/usr/include/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/local_lim.h: - -/usr/include/linux/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix2_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/xopen_lim.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h: - -/usr/include/glib-2.0/glib/gversionmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/timex.h: - -/usr/include/glib-2.0/glib/garray.h: - -/usr/include/glib-2.0/glib/gasyncqueue.h: - -/usr/include/glib-2.0/glib/gthread.h: - -/usr/include/glib-2.0/glib/gatomic.h: - -/usr/include/glib-2.0/glib/gerror.h: - -/usr/include/glib-2.0/glib/gquark.h: - -/usr/include/glib-2.0/glib/gbacktrace.h: - -/usr/include/signal.h: - -/usr/include/arm-linux-gnueabihf/bits/signum.h: - -/usr/include/arm-linux-gnueabihf/bits/siginfo.h: - -/usr/include/arm-linux-gnueabihf/bits/sigaction.h: - -/usr/include/arm-linux-gnueabihf/bits/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/asm/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigstack.h: - -/usr/include/arm-linux-gnueabihf/sys/ucontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigthread.h: - -/usr/include/glib-2.0/glib/gbase64.h: - -/usr/include/glib-2.0/glib/gbitlock.h: - -/usr/include/glib-2.0/glib/gbookmarkfile.h: - -/usr/include/glib-2.0/glib/gbytes.h: - -/usr/include/glib-2.0/glib/gcharset.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/gconvert.h: - -/usr/include/glib-2.0/glib/gdataset.h: - -/usr/include/glib-2.0/glib/gdate.h: - -/usr/include/glib-2.0/glib/gdatetime.h: - -/usr/include/glib-2.0/glib/gtimezone.h: - -/usr/include/glib-2.0/glib/gdir.h: - -/usr/include/dirent.h: - -/usr/include/arm-linux-gnueabihf/bits/dirent.h: - -/usr/include/glib-2.0/glib/genviron.h: - -/usr/include/glib-2.0/glib/gfileutils.h: - -/usr/include/glib-2.0/glib/ggettext.h: - -/usr/include/glib-2.0/glib/ghash.h: - -/usr/include/glib-2.0/glib/glist.h: - -/usr/include/glib-2.0/glib/gmem.h: - -/usr/include/glib-2.0/glib/gnode.h: - -/usr/include/glib-2.0/glib/ghmac.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/ghook.h: - -/usr/include/glib-2.0/glib/ghostutils.h: - -/usr/include/glib-2.0/glib/giochannel.h: - -/usr/include/glib-2.0/glib/gmain.h: - -/usr/include/glib-2.0/glib/gpoll.h: - -/usr/include/glib-2.0/glib/gslist.h: - -/usr/include/glib-2.0/glib/gstring.h: - -/usr/include/glib-2.0/glib/gunicode.h: - -/usr/include/glib-2.0/glib/gutils.h: - -/usr/include/glib-2.0/glib/gkeyfile.h: - -/usr/include/glib-2.0/glib/gmappedfile.h: - -/usr/include/glib-2.0/glib/gmarkup.h: - -/usr/include/glib-2.0/glib/gmessages.h: - -/usr/include/glib-2.0/glib/goption.h: - -/usr/include/glib-2.0/glib/gpattern.h: - -/usr/include/glib-2.0/glib/gprimes.h: - -/usr/include/glib-2.0/glib/gqsort.h: - -/usr/include/glib-2.0/glib/gqueue.h: - -/usr/include/glib-2.0/glib/grand.h: - -/usr/include/glib-2.0/glib/gregex.h: - -/usr/include/glib-2.0/glib/gscanner.h: - -/usr/include/glib-2.0/glib/gsequence.h: - -/usr/include/glib-2.0/glib/gshell.h: - -/usr/include/glib-2.0/glib/gslice.h: - -/usr/include/glib-2.0/glib/gspawn.h: - -/usr/include/glib-2.0/glib/gstrfuncs.h: - -/usr/include/glib-2.0/glib/gstringchunk.h: - -/usr/include/glib-2.0/glib/gtestutils.h: - -/usr/include/glib-2.0/glib/gthreadpool.h: - -/usr/include/glib-2.0/glib/gtimer.h: - -/usr/include/glib-2.0/glib/gtrashstack.h: - -/usr/include/glib-2.0/glib/gtree.h: - -/usr/include/glib-2.0/glib/gurifuncs.h: - -/usr/include/glib-2.0/glib/gvarianttype.h: - -/usr/include/glib-2.0/glib/gvariant.h: - -/usr/include/glib-2.0/glib/gversion.h: - -/usr/include/glib-2.0/glib/deprecated/gallocator.h: - -/usr/include/glib-2.0/glib/deprecated/gcache.h: - -/usr/include/glib-2.0/glib/deprecated/gcompletion.h: - -/usr/include/glib-2.0/glib/deprecated/gmain.h: - -/usr/include/glib-2.0/glib/deprecated/grel.h: - -/usr/include/glib-2.0/glib/deprecated/gthread.h: - -/usr/include/pthread.h: - -/usr/include/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/setjmp.h: - -src/log.h: - -lib/../src/adapter.h: - -lib/bluetooth/hci_lib.h: - -lib/../src/device.h: - -lib/../src/profile.h: - -lib/../src/storage.h: - -lib/../src/textfile.h: - -lib/../src/dbus-common.h: - -profiles/input/manager.h: - -profiles/input/device.h: - -src/error.h: - -btio/btio.h: - -src/sdp-client.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/profiles/input/.deps/bluetoothd-hog.Po b/GRIB_BLE_HUB/libs/ble_extend/profiles/input/.deps/bluetoothd-hog.Po deleted file mode 100644 index 77f9159..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/profiles/input/.deps/bluetoothd-hog.Po +++ /dev/null @@ -1,632 +0,0 @@ -profiles/input/bluetoothd-hog.o: profiles/input/hog.c \ - /usr/include/stdc-predef.h config.h /usr/include/stdlib.h \ - /usr/include/features.h /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/include/arm-linux-gnueabihf/bits/waitflags.h \ - /usr/include/arm-linux-gnueabihf/bits/waitstatus.h /usr/include/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/xlocale.h /usr/include/arm-linux-gnueabihf/sys/types.h \ - /usr/include/time.h /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/alloca.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-float.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdbool.h \ - /usr/include/errno.h /usr/include/arm-linux-gnueabihf/bits/errno.h \ - /usr/include/linux/errno.h /usr/include/arm-linux-gnueabihf/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/include/unistd.h /usr/include/arm-linux-gnueabihf/bits/posix_opt.h \ - /usr/include/arm-linux-gnueabihf/bits/environments.h \ - /usr/include/arm-linux-gnueabihf/bits/confname.h /usr/include/getopt.h \ - /usr/include/arm-linux-gnueabihf/sys/stat.h \ - /usr/include/arm-linux-gnueabihf/bits/stat.h /usr/include/fcntl.h \ - /usr/include/arm-linux-gnueabihf/bits/fcntl.h \ - /usr/include/arm-linux-gnueabihf/bits/fcntl-linux.h \ - /usr/include/arm-linux-gnueabihf/bits/uio.h profiles/input/uhid_copy.h \ - /usr/include/linux/input.h /usr/include/arm-linux-gnueabihf/sys/time.h \ - /usr/include/arm-linux-gnueabihf/sys/ioctl.h \ - /usr/include/arm-linux-gnueabihf/bits/ioctls.h \ - /usr/include/arm-linux-gnueabihf/asm/ioctls.h \ - /usr/include/asm-generic/ioctls.h /usr/include/linux/ioctl.h \ - /usr/include/arm-linux-gnueabihf/asm/ioctl.h \ - /usr/include/asm-generic/ioctl.h \ - /usr/include/arm-linux-gnueabihf/bits/ioctl-types.h \ - /usr/include/arm-linux-gnueabihf/sys/ttydefaults.h \ - /usr/include/linux/types.h /usr/include/arm-linux-gnueabihf/asm/types.h \ - /usr/include/asm-generic/int-ll64.h \ - /usr/include/arm-linux-gnueabihf/asm/bitsperlong.h \ - /usr/include/asm-generic/bitsperlong.h /usr/include/linux/posix_types.h \ - /usr/include/linux/stddef.h \ - /usr/include/arm-linux-gnueabihf/asm/posix_types.h \ - /usr/include/asm-generic/posix_types.h lib/bluetooth/bluetooth.h \ - /usr/include/stdio.h /usr/include/libio.h /usr/include/_G_config.h \ - /usr/include/wchar.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/sys_errlist.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h \ - /usr/include/stdint.h /usr/include/arm-linux-gnueabihf/bits/wchar.h \ - /usr/include/string.h /usr/include/arm-linux-gnueabihf/bits/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string2.h /usr/include/byteswap.h \ - /usr/include/netinet/in.h /usr/include/arm-linux-gnueabihf/sys/socket.h \ - /usr/include/arm-linux-gnueabihf/sys/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/socket.h \ - /usr/include/arm-linux-gnueabihf/bits/socket_type.h \ - /usr/include/arm-linux-gnueabihf/bits/sockaddr.h \ - /usr/include/arm-linux-gnueabihf/asm/socket.h \ - /usr/include/asm-generic/socket.h \ - /usr/include/arm-linux-gnueabihf/asm/sockios.h \ - /usr/include/asm-generic/sockios.h \ - /usr/include/arm-linux-gnueabihf/bits/in.h /usr/include/glib-2.0/glib.h \ - /usr/include/glib-2.0/glib/galloca.h /usr/include/glib-2.0/glib/gtypes.h \ - /usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h \ - /usr/include/glib-2.0/glib/gmacros.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h \ - /usr/include/limits.h /usr/include/arm-linux-gnueabihf/bits/posix1_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/local_lim.h \ - /usr/include/linux/limits.h \ - /usr/include/arm-linux-gnueabihf/bits/posix2_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/xopen_lim.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h \ - /usr/include/glib-2.0/glib/gversionmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/timex.h \ - /usr/include/glib-2.0/glib/garray.h \ - /usr/include/glib-2.0/glib/gasyncqueue.h \ - /usr/include/glib-2.0/glib/gthread.h \ - /usr/include/glib-2.0/glib/gatomic.h /usr/include/glib-2.0/glib/gerror.h \ - /usr/include/glib-2.0/glib/gquark.h \ - /usr/include/glib-2.0/glib/gbacktrace.h /usr/include/signal.h \ - /usr/include/arm-linux-gnueabihf/bits/signum.h \ - /usr/include/arm-linux-gnueabihf/bits/siginfo.h \ - /usr/include/arm-linux-gnueabihf/bits/sigaction.h \ - /usr/include/arm-linux-gnueabihf/bits/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/asm/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigstack.h \ - /usr/include/arm-linux-gnueabihf/sys/ucontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigthread.h \ - /usr/include/glib-2.0/glib/gbase64.h \ - /usr/include/glib-2.0/glib/gbitlock.h \ - /usr/include/glib-2.0/glib/gbookmarkfile.h \ - /usr/include/glib-2.0/glib/gbytes.h \ - /usr/include/glib-2.0/glib/gcharset.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/gconvert.h \ - /usr/include/glib-2.0/glib/gdataset.h /usr/include/glib-2.0/glib/gdate.h \ - /usr/include/glib-2.0/glib/gdatetime.h \ - /usr/include/glib-2.0/glib/gtimezone.h /usr/include/glib-2.0/glib/gdir.h \ - /usr/include/dirent.h /usr/include/arm-linux-gnueabihf/bits/dirent.h \ - /usr/include/glib-2.0/glib/genviron.h \ - /usr/include/glib-2.0/glib/gfileutils.h \ - /usr/include/glib-2.0/glib/ggettext.h /usr/include/glib-2.0/glib/ghash.h \ - /usr/include/glib-2.0/glib/glist.h /usr/include/glib-2.0/glib/gmem.h \ - /usr/include/glib-2.0/glib/gnode.h /usr/include/glib-2.0/glib/ghmac.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/ghook.h \ - /usr/include/glib-2.0/glib/ghostutils.h \ - /usr/include/glib-2.0/glib/giochannel.h \ - /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gpoll.h \ - /usr/include/glib-2.0/glib/gslist.h /usr/include/glib-2.0/glib/gstring.h \ - /usr/include/glib-2.0/glib/gunicode.h \ - /usr/include/glib-2.0/glib/gutils.h \ - /usr/include/glib-2.0/glib/gkeyfile.h \ - /usr/include/glib-2.0/glib/gmappedfile.h \ - /usr/include/glib-2.0/glib/gmarkup.h \ - /usr/include/glib-2.0/glib/gmessages.h \ - /usr/include/glib-2.0/glib/goption.h \ - /usr/include/glib-2.0/glib/gpattern.h \ - /usr/include/glib-2.0/glib/gprimes.h /usr/include/glib-2.0/glib/gqsort.h \ - /usr/include/glib-2.0/glib/gqueue.h /usr/include/glib-2.0/glib/grand.h \ - /usr/include/glib-2.0/glib/gregex.h \ - /usr/include/glib-2.0/glib/gscanner.h \ - /usr/include/glib-2.0/glib/gsequence.h \ - /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gslice.h \ - /usr/include/glib-2.0/glib/gspawn.h \ - /usr/include/glib-2.0/glib/gstrfuncs.h \ - /usr/include/glib-2.0/glib/gstringchunk.h \ - /usr/include/glib-2.0/glib/gtestutils.h \ - /usr/include/glib-2.0/glib/gthreadpool.h \ - /usr/include/glib-2.0/glib/gtimer.h \ - /usr/include/glib-2.0/glib/gtrashstack.h \ - /usr/include/glib-2.0/glib/gtree.h \ - /usr/include/glib-2.0/glib/gurifuncs.h \ - /usr/include/glib-2.0/glib/gvarianttype.h \ - /usr/include/glib-2.0/glib/gvariant.h \ - /usr/include/glib-2.0/glib/gversion.h \ - /usr/include/glib-2.0/glib/deprecated/gallocator.h \ - /usr/include/glib-2.0/glib/deprecated/gcache.h \ - /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ - /usr/include/glib-2.0/glib/deprecated/gmain.h \ - /usr/include/glib-2.0/glib/deprecated/grel.h \ - /usr/include/glib-2.0/glib/deprecated/gthread.h /usr/include/pthread.h \ - /usr/include/sched.h /usr/include/arm-linux-gnueabihf/bits/sched.h \ - /usr/include/arm-linux-gnueabihf/bits/setjmp.h src/log.h lib/uuid.h \ - src/adapter.h lib/bluetooth/sdp.h lib/bluetooth/hci.h \ - lib/bluetooth/hci_lib.h /usr/include/dbus-1.0/dbus/dbus.h \ - /usr/lib/arm-linux-gnueabihf/dbus-1.0/include/dbus/dbus-arch-deps.h \ - /usr/include/dbus-1.0/dbus/dbus-macros.h \ - /usr/include/dbus-1.0/dbus/dbus-address.h \ - /usr/include/dbus-1.0/dbus/dbus-types.h \ - /usr/include/dbus-1.0/dbus/dbus-errors.h \ - /usr/include/dbus-1.0/dbus/dbus-protocol.h \ - /usr/include/dbus-1.0/dbus/dbus-bus.h \ - /usr/include/dbus-1.0/dbus/dbus-connection.h \ - /usr/include/dbus-1.0/dbus/dbus-memory.h \ - /usr/include/dbus-1.0/dbus/dbus-message.h \ - /usr/include/dbus-1.0/dbus/dbus-shared.h \ - /usr/include/dbus-1.0/dbus/dbus-misc.h \ - /usr/include/dbus-1.0/dbus/dbus-pending-call.h \ - /usr/include/dbus-1.0/dbus/dbus-server.h \ - /usr/include/dbus-1.0/dbus/dbus-signature.h \ - /usr/include/dbus-1.0/dbus/dbus-syntax.h \ - /usr/include/dbus-1.0/dbus/dbus-threads.h src/device.h src/profile.h \ - src/plugin.h profiles/input/suspend.h attrib/att.h attrib/gattrib.h \ - src/attio.h attrib/gatt.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/include/stdlib.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/include/arm-linux-gnueabihf/bits/waitflags.h: - -/usr/include/arm-linux-gnueabihf/bits/waitstatus.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/xlocale.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/time.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/alloca.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-float.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdbool.h: - -/usr/include/errno.h: - -/usr/include/arm-linux-gnueabihf/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/arm-linux-gnueabihf/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/include/unistd.h: - -/usr/include/arm-linux-gnueabihf/bits/posix_opt.h: - -/usr/include/arm-linux-gnueabihf/bits/environments.h: - -/usr/include/arm-linux-gnueabihf/bits/confname.h: - -/usr/include/getopt.h: - -/usr/include/arm-linux-gnueabihf/sys/stat.h: - -/usr/include/arm-linux-gnueabihf/bits/stat.h: - -/usr/include/fcntl.h: - -/usr/include/arm-linux-gnueabihf/bits/fcntl.h: - -/usr/include/arm-linux-gnueabihf/bits/fcntl-linux.h: - -/usr/include/arm-linux-gnueabihf/bits/uio.h: - -profiles/input/uhid_copy.h: - -/usr/include/linux/input.h: - -/usr/include/arm-linux-gnueabihf/sys/time.h: - -/usr/include/arm-linux-gnueabihf/sys/ioctl.h: - -/usr/include/arm-linux-gnueabihf/bits/ioctls.h: - -/usr/include/arm-linux-gnueabihf/asm/ioctls.h: - -/usr/include/asm-generic/ioctls.h: - -/usr/include/linux/ioctl.h: - -/usr/include/arm-linux-gnueabihf/asm/ioctl.h: - -/usr/include/asm-generic/ioctl.h: - -/usr/include/arm-linux-gnueabihf/bits/ioctl-types.h: - -/usr/include/arm-linux-gnueabihf/sys/ttydefaults.h: - -/usr/include/linux/types.h: - -/usr/include/arm-linux-gnueabihf/asm/types.h: - -/usr/include/asm-generic/int-ll64.h: - -/usr/include/arm-linux-gnueabihf/asm/bitsperlong.h: - -/usr/include/asm-generic/bitsperlong.h: - -/usr/include/linux/posix_types.h: - -/usr/include/linux/stddef.h: - -/usr/include/arm-linux-gnueabihf/asm/posix_types.h: - -/usr/include/asm-generic/posix_types.h: - -lib/bluetooth/bluetooth.h: - -/usr/include/stdio.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/sys_errlist.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/arm-linux-gnueabihf/bits/wchar.h: - -/usr/include/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string2.h: - -/usr/include/byteswap.h: - -/usr/include/netinet/in.h: - -/usr/include/arm-linux-gnueabihf/sys/socket.h: - -/usr/include/arm-linux-gnueabihf/sys/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/socket.h: - -/usr/include/arm-linux-gnueabihf/bits/socket_type.h: - -/usr/include/arm-linux-gnueabihf/bits/sockaddr.h: - -/usr/include/arm-linux-gnueabihf/asm/socket.h: - -/usr/include/asm-generic/socket.h: - -/usr/include/arm-linux-gnueabihf/asm/sockios.h: - -/usr/include/asm-generic/sockios.h: - -/usr/include/arm-linux-gnueabihf/bits/in.h: - -/usr/include/glib-2.0/glib.h: - -/usr/include/glib-2.0/glib/galloca.h: - -/usr/include/glib-2.0/glib/gtypes.h: - -/usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h: - -/usr/include/glib-2.0/glib/gmacros.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h: - -/usr/include/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/local_lim.h: - -/usr/include/linux/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix2_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/xopen_lim.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h: - -/usr/include/glib-2.0/glib/gversionmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/timex.h: - -/usr/include/glib-2.0/glib/garray.h: - -/usr/include/glib-2.0/glib/gasyncqueue.h: - -/usr/include/glib-2.0/glib/gthread.h: - -/usr/include/glib-2.0/glib/gatomic.h: - -/usr/include/glib-2.0/glib/gerror.h: - -/usr/include/glib-2.0/glib/gquark.h: - -/usr/include/glib-2.0/glib/gbacktrace.h: - -/usr/include/signal.h: - -/usr/include/arm-linux-gnueabihf/bits/signum.h: - -/usr/include/arm-linux-gnueabihf/bits/siginfo.h: - -/usr/include/arm-linux-gnueabihf/bits/sigaction.h: - -/usr/include/arm-linux-gnueabihf/bits/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/asm/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigstack.h: - -/usr/include/arm-linux-gnueabihf/sys/ucontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigthread.h: - -/usr/include/glib-2.0/glib/gbase64.h: - -/usr/include/glib-2.0/glib/gbitlock.h: - -/usr/include/glib-2.0/glib/gbookmarkfile.h: - -/usr/include/glib-2.0/glib/gbytes.h: - -/usr/include/glib-2.0/glib/gcharset.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/gconvert.h: - -/usr/include/glib-2.0/glib/gdataset.h: - -/usr/include/glib-2.0/glib/gdate.h: - -/usr/include/glib-2.0/glib/gdatetime.h: - -/usr/include/glib-2.0/glib/gtimezone.h: - -/usr/include/glib-2.0/glib/gdir.h: - -/usr/include/dirent.h: - -/usr/include/arm-linux-gnueabihf/bits/dirent.h: - -/usr/include/glib-2.0/glib/genviron.h: - -/usr/include/glib-2.0/glib/gfileutils.h: - -/usr/include/glib-2.0/glib/ggettext.h: - -/usr/include/glib-2.0/glib/ghash.h: - -/usr/include/glib-2.0/glib/glist.h: - -/usr/include/glib-2.0/glib/gmem.h: - -/usr/include/glib-2.0/glib/gnode.h: - -/usr/include/glib-2.0/glib/ghmac.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/ghook.h: - -/usr/include/glib-2.0/glib/ghostutils.h: - -/usr/include/glib-2.0/glib/giochannel.h: - -/usr/include/glib-2.0/glib/gmain.h: - -/usr/include/glib-2.0/glib/gpoll.h: - -/usr/include/glib-2.0/glib/gslist.h: - -/usr/include/glib-2.0/glib/gstring.h: - -/usr/include/glib-2.0/glib/gunicode.h: - -/usr/include/glib-2.0/glib/gutils.h: - -/usr/include/glib-2.0/glib/gkeyfile.h: - -/usr/include/glib-2.0/glib/gmappedfile.h: - -/usr/include/glib-2.0/glib/gmarkup.h: - -/usr/include/glib-2.0/glib/gmessages.h: - -/usr/include/glib-2.0/glib/goption.h: - -/usr/include/glib-2.0/glib/gpattern.h: - -/usr/include/glib-2.0/glib/gprimes.h: - -/usr/include/glib-2.0/glib/gqsort.h: - -/usr/include/glib-2.0/glib/gqueue.h: - -/usr/include/glib-2.0/glib/grand.h: - -/usr/include/glib-2.0/glib/gregex.h: - -/usr/include/glib-2.0/glib/gscanner.h: - -/usr/include/glib-2.0/glib/gsequence.h: - -/usr/include/glib-2.0/glib/gshell.h: - -/usr/include/glib-2.0/glib/gslice.h: - -/usr/include/glib-2.0/glib/gspawn.h: - -/usr/include/glib-2.0/glib/gstrfuncs.h: - -/usr/include/glib-2.0/glib/gstringchunk.h: - -/usr/include/glib-2.0/glib/gtestutils.h: - -/usr/include/glib-2.0/glib/gthreadpool.h: - -/usr/include/glib-2.0/glib/gtimer.h: - -/usr/include/glib-2.0/glib/gtrashstack.h: - -/usr/include/glib-2.0/glib/gtree.h: - -/usr/include/glib-2.0/glib/gurifuncs.h: - -/usr/include/glib-2.0/glib/gvarianttype.h: - -/usr/include/glib-2.0/glib/gvariant.h: - -/usr/include/glib-2.0/glib/gversion.h: - -/usr/include/glib-2.0/glib/deprecated/gallocator.h: - -/usr/include/glib-2.0/glib/deprecated/gcache.h: - -/usr/include/glib-2.0/glib/deprecated/gcompletion.h: - -/usr/include/glib-2.0/glib/deprecated/gmain.h: - -/usr/include/glib-2.0/glib/deprecated/grel.h: - -/usr/include/glib-2.0/glib/deprecated/gthread.h: - -/usr/include/pthread.h: - -/usr/include/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/setjmp.h: - -src/log.h: - -lib/uuid.h: - -src/adapter.h: - -lib/bluetooth/sdp.h: - -lib/bluetooth/hci.h: - -lib/bluetooth/hci_lib.h: - -/usr/include/dbus-1.0/dbus/dbus.h: - -/usr/lib/arm-linux-gnueabihf/dbus-1.0/include/dbus/dbus-arch-deps.h: - -/usr/include/dbus-1.0/dbus/dbus-macros.h: - -/usr/include/dbus-1.0/dbus/dbus-address.h: - -/usr/include/dbus-1.0/dbus/dbus-types.h: - -/usr/include/dbus-1.0/dbus/dbus-errors.h: - -/usr/include/dbus-1.0/dbus/dbus-protocol.h: - -/usr/include/dbus-1.0/dbus/dbus-bus.h: - -/usr/include/dbus-1.0/dbus/dbus-connection.h: - -/usr/include/dbus-1.0/dbus/dbus-memory.h: - -/usr/include/dbus-1.0/dbus/dbus-message.h: - -/usr/include/dbus-1.0/dbus/dbus-shared.h: - -/usr/include/dbus-1.0/dbus/dbus-misc.h: - -/usr/include/dbus-1.0/dbus/dbus-pending-call.h: - -/usr/include/dbus-1.0/dbus/dbus-server.h: - -/usr/include/dbus-1.0/dbus/dbus-signature.h: - -/usr/include/dbus-1.0/dbus/dbus-syntax.h: - -/usr/include/dbus-1.0/dbus/dbus-threads.h: - -src/device.h: - -src/profile.h: - -src/plugin.h: - -profiles/input/suspend.h: - -attrib/att.h: - -attrib/gattrib.h: - -src/attio.h: - -attrib/gatt.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/profiles/input/.deps/bluetoothd-manager.Po b/GRIB_BLE_HUB/libs/ble_extend/profiles/input/.deps/bluetoothd-manager.Po deleted file mode 100644 index 58527f6..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/profiles/input/.deps/bluetoothd-manager.Po +++ /dev/null @@ -1,533 +0,0 @@ -profiles/input/bluetoothd-manager.o: profiles/input/manager.c \ - /usr/include/stdc-predef.h config.h /usr/include/errno.h \ - /usr/include/features.h /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/include/arm-linux-gnueabihf/bits/errno.h /usr/include/linux/errno.h \ - /usr/include/arm-linux-gnueabihf/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdbool.h \ - lib/bluetooth/bluetooth.h /usr/include/stdio.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/sys_errlist.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h \ - /usr/include/stdint.h /usr/include/arm-linux-gnueabihf/bits/wchar.h \ - /usr/include/string.h /usr/include/xlocale.h \ - /usr/include/arm-linux-gnueabihf/bits/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string2.h /usr/include/stdlib.h \ - /usr/include/endian.h /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/byteswap.h /usr/include/netinet/in.h \ - /usr/include/arm-linux-gnueabihf/sys/socket.h \ - /usr/include/arm-linux-gnueabihf/sys/uio.h \ - /usr/include/arm-linux-gnueabihf/sys/types.h /usr/include/time.h \ - /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/arm-linux-gnueabihf/bits/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/socket.h \ - /usr/include/arm-linux-gnueabihf/bits/socket_type.h \ - /usr/include/arm-linux-gnueabihf/bits/sockaddr.h \ - /usr/include/arm-linux-gnueabihf/asm/socket.h \ - /usr/include/asm-generic/socket.h \ - /usr/include/arm-linux-gnueabihf/asm/sockios.h \ - /usr/include/asm-generic/sockios.h \ - /usr/include/arm-linux-gnueabihf/bits/in.h lib/bluetooth/sdp.h \ - lib/bluetooth/sdp_lib.h lib/bluetooth/hci.h src/log.h src/plugin.h \ - lib/uuid.h lib/../src/adapter.h lib/bluetooth/hci_lib.h \ - /usr/include/dbus-1.0/dbus/dbus.h \ - /usr/lib/arm-linux-gnueabihf/dbus-1.0/include/dbus/dbus-arch-deps.h \ - /usr/include/dbus-1.0/dbus/dbus-macros.h \ - /usr/include/dbus-1.0/dbus/dbus-address.h \ - /usr/include/dbus-1.0/dbus/dbus-types.h \ - /usr/include/dbus-1.0/dbus/dbus-errors.h \ - /usr/include/dbus-1.0/dbus/dbus-protocol.h \ - /usr/include/dbus-1.0/dbus/dbus-bus.h \ - /usr/include/dbus-1.0/dbus/dbus-connection.h \ - /usr/include/dbus-1.0/dbus/dbus-memory.h \ - /usr/include/dbus-1.0/dbus/dbus-message.h \ - /usr/include/dbus-1.0/dbus/dbus-shared.h \ - /usr/include/dbus-1.0/dbus/dbus-misc.h \ - /usr/include/dbus-1.0/dbus/dbus-pending-call.h \ - /usr/include/dbus-1.0/dbus/dbus-server.h \ - /usr/include/dbus-1.0/dbus/dbus-signature.h \ - /usr/include/dbus-1.0/dbus/dbus-syntax.h \ - /usr/include/dbus-1.0/dbus/dbus-threads.h /usr/include/glib-2.0/glib.h \ - /usr/include/glib-2.0/glib/galloca.h /usr/include/glib-2.0/glib/gtypes.h \ - /usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h \ - /usr/include/glib-2.0/glib/gmacros.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h \ - /usr/include/limits.h /usr/include/arm-linux-gnueabihf/bits/posix1_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/local_lim.h \ - /usr/include/linux/limits.h \ - /usr/include/arm-linux-gnueabihf/bits/posix2_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/xopen_lim.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h \ - /usr/include/glib-2.0/glib/gversionmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/timex.h \ - /usr/include/glib-2.0/glib/garray.h \ - /usr/include/glib-2.0/glib/gasyncqueue.h \ - /usr/include/glib-2.0/glib/gthread.h \ - /usr/include/glib-2.0/glib/gatomic.h /usr/include/glib-2.0/glib/gerror.h \ - /usr/include/glib-2.0/glib/gquark.h \ - /usr/include/glib-2.0/glib/gbacktrace.h /usr/include/signal.h \ - /usr/include/arm-linux-gnueabihf/bits/signum.h \ - /usr/include/arm-linux-gnueabihf/bits/siginfo.h \ - /usr/include/arm-linux-gnueabihf/bits/sigaction.h \ - /usr/include/arm-linux-gnueabihf/bits/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/asm/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigstack.h \ - /usr/include/arm-linux-gnueabihf/sys/ucontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigthread.h \ - /usr/include/glib-2.0/glib/gbase64.h \ - /usr/include/glib-2.0/glib/gbitlock.h \ - /usr/include/glib-2.0/glib/gbookmarkfile.h \ - /usr/include/glib-2.0/glib/gbytes.h \ - /usr/include/glib-2.0/glib/gcharset.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/gconvert.h \ - /usr/include/glib-2.0/glib/gdataset.h /usr/include/glib-2.0/glib/gdate.h \ - /usr/include/glib-2.0/glib/gdatetime.h \ - /usr/include/glib-2.0/glib/gtimezone.h /usr/include/glib-2.0/glib/gdir.h \ - /usr/include/dirent.h /usr/include/arm-linux-gnueabihf/bits/dirent.h \ - /usr/include/glib-2.0/glib/genviron.h \ - /usr/include/glib-2.0/glib/gfileutils.h \ - /usr/include/glib-2.0/glib/ggettext.h /usr/include/glib-2.0/glib/ghash.h \ - /usr/include/glib-2.0/glib/glist.h /usr/include/glib-2.0/glib/gmem.h \ - /usr/include/glib-2.0/glib/gnode.h /usr/include/glib-2.0/glib/ghmac.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/ghook.h \ - /usr/include/glib-2.0/glib/ghostutils.h \ - /usr/include/glib-2.0/glib/giochannel.h \ - /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gpoll.h \ - /usr/include/glib-2.0/glib/gslist.h /usr/include/glib-2.0/glib/gstring.h \ - /usr/include/glib-2.0/glib/gunicode.h \ - /usr/include/glib-2.0/glib/gutils.h \ - /usr/include/glib-2.0/glib/gkeyfile.h \ - /usr/include/glib-2.0/glib/gmappedfile.h \ - /usr/include/glib-2.0/glib/gmarkup.h \ - /usr/include/glib-2.0/glib/gmessages.h \ - /usr/include/glib-2.0/glib/goption.h \ - /usr/include/glib-2.0/glib/gpattern.h \ - /usr/include/glib-2.0/glib/gprimes.h /usr/include/glib-2.0/glib/gqsort.h \ - /usr/include/glib-2.0/glib/gqueue.h /usr/include/glib-2.0/glib/grand.h \ - /usr/include/glib-2.0/glib/gregex.h \ - /usr/include/glib-2.0/glib/gscanner.h \ - /usr/include/glib-2.0/glib/gsequence.h \ - /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gslice.h \ - /usr/include/glib-2.0/glib/gspawn.h \ - /usr/include/glib-2.0/glib/gstrfuncs.h \ - /usr/include/glib-2.0/glib/gstringchunk.h \ - /usr/include/glib-2.0/glib/gtestutils.h \ - /usr/include/glib-2.0/glib/gthreadpool.h \ - /usr/include/glib-2.0/glib/gtimer.h \ - /usr/include/glib-2.0/glib/gtrashstack.h \ - /usr/include/glib-2.0/glib/gtree.h \ - /usr/include/glib-2.0/glib/gurifuncs.h \ - /usr/include/glib-2.0/glib/gvarianttype.h \ - /usr/include/glib-2.0/glib/gvariant.h \ - /usr/include/glib-2.0/glib/gversion.h \ - /usr/include/glib-2.0/glib/deprecated/gallocator.h \ - /usr/include/glib-2.0/glib/deprecated/gcache.h \ - /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ - /usr/include/glib-2.0/glib/deprecated/gmain.h \ - /usr/include/glib-2.0/glib/deprecated/grel.h \ - /usr/include/glib-2.0/glib/deprecated/gthread.h /usr/include/pthread.h \ - /usr/include/sched.h /usr/include/arm-linux-gnueabihf/bits/sched.h \ - /usr/include/arm-linux-gnueabihf/bits/setjmp.h lib/../src/device.h \ - lib/../src/profile.h profiles/input/device.h profiles/input/server.h \ - profiles/input/manager.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/include/errno.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/include/arm-linux-gnueabihf/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/arm-linux-gnueabihf/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdbool.h: - -lib/bluetooth/bluetooth.h: - -/usr/include/stdio.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/sys_errlist.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/arm-linux-gnueabihf/bits/wchar.h: - -/usr/include/string.h: - -/usr/include/xlocale.h: - -/usr/include/arm-linux-gnueabihf/bits/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string2.h: - -/usr/include/stdlib.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/byteswap.h: - -/usr/include/netinet/in.h: - -/usr/include/arm-linux-gnueabihf/sys/socket.h: - -/usr/include/arm-linux-gnueabihf/sys/uio.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/time.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/arm-linux-gnueabihf/bits/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/socket.h: - -/usr/include/arm-linux-gnueabihf/bits/socket_type.h: - -/usr/include/arm-linux-gnueabihf/bits/sockaddr.h: - -/usr/include/arm-linux-gnueabihf/asm/socket.h: - -/usr/include/asm-generic/socket.h: - -/usr/include/arm-linux-gnueabihf/asm/sockios.h: - -/usr/include/asm-generic/sockios.h: - -/usr/include/arm-linux-gnueabihf/bits/in.h: - -lib/bluetooth/sdp.h: - -lib/bluetooth/sdp_lib.h: - -lib/bluetooth/hci.h: - -src/log.h: - -src/plugin.h: - -lib/uuid.h: - -lib/../src/adapter.h: - -lib/bluetooth/hci_lib.h: - -/usr/include/dbus-1.0/dbus/dbus.h: - -/usr/lib/arm-linux-gnueabihf/dbus-1.0/include/dbus/dbus-arch-deps.h: - -/usr/include/dbus-1.0/dbus/dbus-macros.h: - -/usr/include/dbus-1.0/dbus/dbus-address.h: - -/usr/include/dbus-1.0/dbus/dbus-types.h: - -/usr/include/dbus-1.0/dbus/dbus-errors.h: - -/usr/include/dbus-1.0/dbus/dbus-protocol.h: - -/usr/include/dbus-1.0/dbus/dbus-bus.h: - -/usr/include/dbus-1.0/dbus/dbus-connection.h: - -/usr/include/dbus-1.0/dbus/dbus-memory.h: - -/usr/include/dbus-1.0/dbus/dbus-message.h: - -/usr/include/dbus-1.0/dbus/dbus-shared.h: - -/usr/include/dbus-1.0/dbus/dbus-misc.h: - -/usr/include/dbus-1.0/dbus/dbus-pending-call.h: - -/usr/include/dbus-1.0/dbus/dbus-server.h: - -/usr/include/dbus-1.0/dbus/dbus-signature.h: - -/usr/include/dbus-1.0/dbus/dbus-syntax.h: - -/usr/include/dbus-1.0/dbus/dbus-threads.h: - -/usr/include/glib-2.0/glib.h: - -/usr/include/glib-2.0/glib/galloca.h: - -/usr/include/glib-2.0/glib/gtypes.h: - -/usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h: - -/usr/include/glib-2.0/glib/gmacros.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h: - -/usr/include/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/local_lim.h: - -/usr/include/linux/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix2_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/xopen_lim.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h: - -/usr/include/glib-2.0/glib/gversionmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/timex.h: - -/usr/include/glib-2.0/glib/garray.h: - -/usr/include/glib-2.0/glib/gasyncqueue.h: - -/usr/include/glib-2.0/glib/gthread.h: - -/usr/include/glib-2.0/glib/gatomic.h: - -/usr/include/glib-2.0/glib/gerror.h: - -/usr/include/glib-2.0/glib/gquark.h: - -/usr/include/glib-2.0/glib/gbacktrace.h: - -/usr/include/signal.h: - -/usr/include/arm-linux-gnueabihf/bits/signum.h: - -/usr/include/arm-linux-gnueabihf/bits/siginfo.h: - -/usr/include/arm-linux-gnueabihf/bits/sigaction.h: - -/usr/include/arm-linux-gnueabihf/bits/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/asm/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigstack.h: - -/usr/include/arm-linux-gnueabihf/sys/ucontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigthread.h: - -/usr/include/glib-2.0/glib/gbase64.h: - -/usr/include/glib-2.0/glib/gbitlock.h: - -/usr/include/glib-2.0/glib/gbookmarkfile.h: - -/usr/include/glib-2.0/glib/gbytes.h: - -/usr/include/glib-2.0/glib/gcharset.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/gconvert.h: - -/usr/include/glib-2.0/glib/gdataset.h: - -/usr/include/glib-2.0/glib/gdate.h: - -/usr/include/glib-2.0/glib/gdatetime.h: - -/usr/include/glib-2.0/glib/gtimezone.h: - -/usr/include/glib-2.0/glib/gdir.h: - -/usr/include/dirent.h: - -/usr/include/arm-linux-gnueabihf/bits/dirent.h: - -/usr/include/glib-2.0/glib/genviron.h: - -/usr/include/glib-2.0/glib/gfileutils.h: - -/usr/include/glib-2.0/glib/ggettext.h: - -/usr/include/glib-2.0/glib/ghash.h: - -/usr/include/glib-2.0/glib/glist.h: - -/usr/include/glib-2.0/glib/gmem.h: - -/usr/include/glib-2.0/glib/gnode.h: - -/usr/include/glib-2.0/glib/ghmac.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/ghook.h: - -/usr/include/glib-2.0/glib/ghostutils.h: - -/usr/include/glib-2.0/glib/giochannel.h: - -/usr/include/glib-2.0/glib/gmain.h: - -/usr/include/glib-2.0/glib/gpoll.h: - -/usr/include/glib-2.0/glib/gslist.h: - -/usr/include/glib-2.0/glib/gstring.h: - -/usr/include/glib-2.0/glib/gunicode.h: - -/usr/include/glib-2.0/glib/gutils.h: - -/usr/include/glib-2.0/glib/gkeyfile.h: - -/usr/include/glib-2.0/glib/gmappedfile.h: - -/usr/include/glib-2.0/glib/gmarkup.h: - -/usr/include/glib-2.0/glib/gmessages.h: - -/usr/include/glib-2.0/glib/goption.h: - -/usr/include/glib-2.0/glib/gpattern.h: - -/usr/include/glib-2.0/glib/gprimes.h: - -/usr/include/glib-2.0/glib/gqsort.h: - -/usr/include/glib-2.0/glib/gqueue.h: - -/usr/include/glib-2.0/glib/grand.h: - -/usr/include/glib-2.0/glib/gregex.h: - -/usr/include/glib-2.0/glib/gscanner.h: - -/usr/include/glib-2.0/glib/gsequence.h: - -/usr/include/glib-2.0/glib/gshell.h: - -/usr/include/glib-2.0/glib/gslice.h: - -/usr/include/glib-2.0/glib/gspawn.h: - -/usr/include/glib-2.0/glib/gstrfuncs.h: - -/usr/include/glib-2.0/glib/gstringchunk.h: - -/usr/include/glib-2.0/glib/gtestutils.h: - -/usr/include/glib-2.0/glib/gthreadpool.h: - -/usr/include/glib-2.0/glib/gtimer.h: - -/usr/include/glib-2.0/glib/gtrashstack.h: - -/usr/include/glib-2.0/glib/gtree.h: - -/usr/include/glib-2.0/glib/gurifuncs.h: - -/usr/include/glib-2.0/glib/gvarianttype.h: - -/usr/include/glib-2.0/glib/gvariant.h: - -/usr/include/glib-2.0/glib/gversion.h: - -/usr/include/glib-2.0/glib/deprecated/gallocator.h: - -/usr/include/glib-2.0/glib/deprecated/gcache.h: - -/usr/include/glib-2.0/glib/deprecated/gcompletion.h: - -/usr/include/glib-2.0/glib/deprecated/gmain.h: - -/usr/include/glib-2.0/glib/deprecated/grel.h: - -/usr/include/glib-2.0/glib/deprecated/gthread.h: - -/usr/include/pthread.h: - -/usr/include/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/setjmp.h: - -lib/../src/device.h: - -lib/../src/profile.h: - -profiles/input/device.h: - -profiles/input/server.h: - -profiles/input/manager.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/profiles/input/.deps/bluetoothd-server.Po b/GRIB_BLE_HUB/libs/ble_extend/profiles/input/.deps/bluetoothd-server.Po deleted file mode 100644 index 3cf75e1..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/profiles/input/.deps/bluetoothd-server.Po +++ /dev/null @@ -1,544 +0,0 @@ -profiles/input/bluetoothd-server.o: profiles/input/server.c \ - /usr/include/stdc-predef.h config.h /usr/include/unistd.h \ - /usr/include/features.h /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/include/arm-linux-gnueabihf/bits/posix_opt.h \ - /usr/include/arm-linux-gnueabihf/bits/environments.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/include/arm-linux-gnueabihf/bits/confname.h /usr/include/getopt.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdbool.h \ - /usr/include/errno.h /usr/include/arm-linux-gnueabihf/bits/errno.h \ - /usr/include/linux/errno.h /usr/include/arm-linux-gnueabihf/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - lib/bluetooth/bluetooth.h /usr/include/stdio.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/sys_errlist.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h \ - /usr/include/stdint.h /usr/include/arm-linux-gnueabihf/bits/wchar.h \ - /usr/include/string.h /usr/include/xlocale.h \ - /usr/include/arm-linux-gnueabihf/bits/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string2.h /usr/include/stdlib.h \ - /usr/include/endian.h /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/byteswap.h /usr/include/netinet/in.h \ - /usr/include/arm-linux-gnueabihf/sys/socket.h \ - /usr/include/arm-linux-gnueabihf/sys/uio.h \ - /usr/include/arm-linux-gnueabihf/sys/types.h /usr/include/time.h \ - /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/arm-linux-gnueabihf/bits/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/socket.h \ - /usr/include/arm-linux-gnueabihf/bits/socket_type.h \ - /usr/include/arm-linux-gnueabihf/bits/sockaddr.h \ - /usr/include/arm-linux-gnueabihf/asm/socket.h \ - /usr/include/asm-generic/socket.h \ - /usr/include/arm-linux-gnueabihf/asm/sockios.h \ - /usr/include/asm-generic/sockios.h \ - /usr/include/arm-linux-gnueabihf/bits/in.h lib/bluetooth/sdp.h \ - /usr/include/glib-2.0/glib.h /usr/include/glib-2.0/glib/galloca.h \ - /usr/include/glib-2.0/glib/gtypes.h \ - /usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h \ - /usr/include/glib-2.0/glib/gmacros.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h \ - /usr/include/limits.h /usr/include/arm-linux-gnueabihf/bits/posix1_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/local_lim.h \ - /usr/include/linux/limits.h \ - /usr/include/arm-linux-gnueabihf/bits/posix2_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/xopen_lim.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h \ - /usr/include/glib-2.0/glib/gversionmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/timex.h \ - /usr/include/glib-2.0/glib/garray.h \ - /usr/include/glib-2.0/glib/gasyncqueue.h \ - /usr/include/glib-2.0/glib/gthread.h \ - /usr/include/glib-2.0/glib/gatomic.h /usr/include/glib-2.0/glib/gerror.h \ - /usr/include/glib-2.0/glib/gquark.h \ - /usr/include/glib-2.0/glib/gbacktrace.h /usr/include/signal.h \ - /usr/include/arm-linux-gnueabihf/bits/signum.h \ - /usr/include/arm-linux-gnueabihf/bits/siginfo.h \ - /usr/include/arm-linux-gnueabihf/bits/sigaction.h \ - /usr/include/arm-linux-gnueabihf/bits/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/asm/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigstack.h \ - /usr/include/arm-linux-gnueabihf/sys/ucontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigthread.h \ - /usr/include/glib-2.0/glib/gbase64.h \ - /usr/include/glib-2.0/glib/gbitlock.h \ - /usr/include/glib-2.0/glib/gbookmarkfile.h \ - /usr/include/glib-2.0/glib/gbytes.h \ - /usr/include/glib-2.0/glib/gcharset.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/gconvert.h \ - /usr/include/glib-2.0/glib/gdataset.h /usr/include/glib-2.0/glib/gdate.h \ - /usr/include/glib-2.0/glib/gdatetime.h \ - /usr/include/glib-2.0/glib/gtimezone.h /usr/include/glib-2.0/glib/gdir.h \ - /usr/include/dirent.h /usr/include/arm-linux-gnueabihf/bits/dirent.h \ - /usr/include/glib-2.0/glib/genviron.h \ - /usr/include/glib-2.0/glib/gfileutils.h \ - /usr/include/glib-2.0/glib/ggettext.h /usr/include/glib-2.0/glib/ghash.h \ - /usr/include/glib-2.0/glib/glist.h /usr/include/glib-2.0/glib/gmem.h \ - /usr/include/glib-2.0/glib/gnode.h /usr/include/glib-2.0/glib/ghmac.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/ghook.h \ - /usr/include/glib-2.0/glib/ghostutils.h \ - /usr/include/glib-2.0/glib/giochannel.h \ - /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gpoll.h \ - /usr/include/glib-2.0/glib/gslist.h /usr/include/glib-2.0/glib/gstring.h \ - /usr/include/glib-2.0/glib/gunicode.h \ - /usr/include/glib-2.0/glib/gutils.h \ - /usr/include/glib-2.0/glib/gkeyfile.h \ - /usr/include/glib-2.0/glib/gmappedfile.h \ - /usr/include/glib-2.0/glib/gmarkup.h \ - /usr/include/glib-2.0/glib/gmessages.h \ - /usr/include/glib-2.0/glib/goption.h \ - /usr/include/glib-2.0/glib/gpattern.h \ - /usr/include/glib-2.0/glib/gprimes.h /usr/include/glib-2.0/glib/gqsort.h \ - /usr/include/glib-2.0/glib/gqueue.h /usr/include/glib-2.0/glib/grand.h \ - /usr/include/glib-2.0/glib/gregex.h \ - /usr/include/glib-2.0/glib/gscanner.h \ - /usr/include/glib-2.0/glib/gsequence.h \ - /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gslice.h \ - /usr/include/glib-2.0/glib/gspawn.h \ - /usr/include/glib-2.0/glib/gstrfuncs.h \ - /usr/include/glib-2.0/glib/gstringchunk.h \ - /usr/include/glib-2.0/glib/gtestutils.h \ - /usr/include/glib-2.0/glib/gthreadpool.h \ - /usr/include/glib-2.0/glib/gtimer.h \ - /usr/include/glib-2.0/glib/gtrashstack.h \ - /usr/include/glib-2.0/glib/gtree.h \ - /usr/include/glib-2.0/glib/gurifuncs.h \ - /usr/include/glib-2.0/glib/gvarianttype.h \ - /usr/include/glib-2.0/glib/gvariant.h \ - /usr/include/glib-2.0/glib/gversion.h \ - /usr/include/glib-2.0/glib/deprecated/gallocator.h \ - /usr/include/glib-2.0/glib/deprecated/gcache.h \ - /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ - /usr/include/glib-2.0/glib/deprecated/gmain.h \ - /usr/include/glib-2.0/glib/deprecated/grel.h \ - /usr/include/glib-2.0/glib/deprecated/gthread.h /usr/include/pthread.h \ - /usr/include/sched.h /usr/include/arm-linux-gnueabihf/bits/sched.h \ - /usr/include/arm-linux-gnueabihf/bits/setjmp.h \ - /usr/include/dbus-1.0/dbus/dbus.h \ - /usr/lib/arm-linux-gnueabihf/dbus-1.0/include/dbus/dbus-arch-deps.h \ - /usr/include/dbus-1.0/dbus/dbus-macros.h \ - /usr/include/dbus-1.0/dbus/dbus-address.h \ - /usr/include/dbus-1.0/dbus/dbus-types.h \ - /usr/include/dbus-1.0/dbus/dbus-errors.h \ - /usr/include/dbus-1.0/dbus/dbus-protocol.h \ - /usr/include/dbus-1.0/dbus/dbus-bus.h \ - /usr/include/dbus-1.0/dbus/dbus-connection.h \ - /usr/include/dbus-1.0/dbus/dbus-memory.h \ - /usr/include/dbus-1.0/dbus/dbus-message.h \ - /usr/include/dbus-1.0/dbus/dbus-shared.h \ - /usr/include/dbus-1.0/dbus/dbus-misc.h \ - /usr/include/dbus-1.0/dbus/dbus-pending-call.h \ - /usr/include/dbus-1.0/dbus/dbus-server.h \ - /usr/include/dbus-1.0/dbus/dbus-signature.h \ - /usr/include/dbus-1.0/dbus/dbus-syntax.h \ - /usr/include/dbus-1.0/dbus/dbus-threads.h src/log.h src/glib-helper.h \ - btio/btio.h lib/uuid.h lib/../src/adapter.h lib/bluetooth/hci.h \ - lib/bluetooth/hci_lib.h lib/../src/device.h lib/../src/profile.h \ - profiles/input/device.h profiles/input/server.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/include/unistd.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/include/arm-linux-gnueabihf/bits/posix_opt.h: - -/usr/include/arm-linux-gnueabihf/bits/environments.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/include/arm-linux-gnueabihf/bits/confname.h: - -/usr/include/getopt.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdbool.h: - -/usr/include/errno.h: - -/usr/include/arm-linux-gnueabihf/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/arm-linux-gnueabihf/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -lib/bluetooth/bluetooth.h: - -/usr/include/stdio.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/sys_errlist.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/arm-linux-gnueabihf/bits/wchar.h: - -/usr/include/string.h: - -/usr/include/xlocale.h: - -/usr/include/arm-linux-gnueabihf/bits/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string2.h: - -/usr/include/stdlib.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/byteswap.h: - -/usr/include/netinet/in.h: - -/usr/include/arm-linux-gnueabihf/sys/socket.h: - -/usr/include/arm-linux-gnueabihf/sys/uio.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/time.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/arm-linux-gnueabihf/bits/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/socket.h: - -/usr/include/arm-linux-gnueabihf/bits/socket_type.h: - -/usr/include/arm-linux-gnueabihf/bits/sockaddr.h: - -/usr/include/arm-linux-gnueabihf/asm/socket.h: - -/usr/include/asm-generic/socket.h: - -/usr/include/arm-linux-gnueabihf/asm/sockios.h: - -/usr/include/asm-generic/sockios.h: - -/usr/include/arm-linux-gnueabihf/bits/in.h: - -lib/bluetooth/sdp.h: - -/usr/include/glib-2.0/glib.h: - -/usr/include/glib-2.0/glib/galloca.h: - -/usr/include/glib-2.0/glib/gtypes.h: - -/usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h: - -/usr/include/glib-2.0/glib/gmacros.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h: - -/usr/include/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/local_lim.h: - -/usr/include/linux/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix2_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/xopen_lim.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h: - -/usr/include/glib-2.0/glib/gversionmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/timex.h: - -/usr/include/glib-2.0/glib/garray.h: - -/usr/include/glib-2.0/glib/gasyncqueue.h: - -/usr/include/glib-2.0/glib/gthread.h: - -/usr/include/glib-2.0/glib/gatomic.h: - -/usr/include/glib-2.0/glib/gerror.h: - -/usr/include/glib-2.0/glib/gquark.h: - -/usr/include/glib-2.0/glib/gbacktrace.h: - -/usr/include/signal.h: - -/usr/include/arm-linux-gnueabihf/bits/signum.h: - -/usr/include/arm-linux-gnueabihf/bits/siginfo.h: - -/usr/include/arm-linux-gnueabihf/bits/sigaction.h: - -/usr/include/arm-linux-gnueabihf/bits/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/asm/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigstack.h: - -/usr/include/arm-linux-gnueabihf/sys/ucontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigthread.h: - -/usr/include/glib-2.0/glib/gbase64.h: - -/usr/include/glib-2.0/glib/gbitlock.h: - -/usr/include/glib-2.0/glib/gbookmarkfile.h: - -/usr/include/glib-2.0/glib/gbytes.h: - -/usr/include/glib-2.0/glib/gcharset.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/gconvert.h: - -/usr/include/glib-2.0/glib/gdataset.h: - -/usr/include/glib-2.0/glib/gdate.h: - -/usr/include/glib-2.0/glib/gdatetime.h: - -/usr/include/glib-2.0/glib/gtimezone.h: - -/usr/include/glib-2.0/glib/gdir.h: - -/usr/include/dirent.h: - -/usr/include/arm-linux-gnueabihf/bits/dirent.h: - -/usr/include/glib-2.0/glib/genviron.h: - -/usr/include/glib-2.0/glib/gfileutils.h: - -/usr/include/glib-2.0/glib/ggettext.h: - -/usr/include/glib-2.0/glib/ghash.h: - -/usr/include/glib-2.0/glib/glist.h: - -/usr/include/glib-2.0/glib/gmem.h: - -/usr/include/glib-2.0/glib/gnode.h: - -/usr/include/glib-2.0/glib/ghmac.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/ghook.h: - -/usr/include/glib-2.0/glib/ghostutils.h: - -/usr/include/glib-2.0/glib/giochannel.h: - -/usr/include/glib-2.0/glib/gmain.h: - -/usr/include/glib-2.0/glib/gpoll.h: - -/usr/include/glib-2.0/glib/gslist.h: - -/usr/include/glib-2.0/glib/gstring.h: - -/usr/include/glib-2.0/glib/gunicode.h: - -/usr/include/glib-2.0/glib/gutils.h: - -/usr/include/glib-2.0/glib/gkeyfile.h: - -/usr/include/glib-2.0/glib/gmappedfile.h: - -/usr/include/glib-2.0/glib/gmarkup.h: - -/usr/include/glib-2.0/glib/gmessages.h: - -/usr/include/glib-2.0/glib/goption.h: - -/usr/include/glib-2.0/glib/gpattern.h: - -/usr/include/glib-2.0/glib/gprimes.h: - -/usr/include/glib-2.0/glib/gqsort.h: - -/usr/include/glib-2.0/glib/gqueue.h: - -/usr/include/glib-2.0/glib/grand.h: - -/usr/include/glib-2.0/glib/gregex.h: - -/usr/include/glib-2.0/glib/gscanner.h: - -/usr/include/glib-2.0/glib/gsequence.h: - -/usr/include/glib-2.0/glib/gshell.h: - -/usr/include/glib-2.0/glib/gslice.h: - -/usr/include/glib-2.0/glib/gspawn.h: - -/usr/include/glib-2.0/glib/gstrfuncs.h: - -/usr/include/glib-2.0/glib/gstringchunk.h: - -/usr/include/glib-2.0/glib/gtestutils.h: - -/usr/include/glib-2.0/glib/gthreadpool.h: - -/usr/include/glib-2.0/glib/gtimer.h: - -/usr/include/glib-2.0/glib/gtrashstack.h: - -/usr/include/glib-2.0/glib/gtree.h: - -/usr/include/glib-2.0/glib/gurifuncs.h: - -/usr/include/glib-2.0/glib/gvarianttype.h: - -/usr/include/glib-2.0/glib/gvariant.h: - -/usr/include/glib-2.0/glib/gversion.h: - -/usr/include/glib-2.0/glib/deprecated/gallocator.h: - -/usr/include/glib-2.0/glib/deprecated/gcache.h: - -/usr/include/glib-2.0/glib/deprecated/gcompletion.h: - -/usr/include/glib-2.0/glib/deprecated/gmain.h: - -/usr/include/glib-2.0/glib/deprecated/grel.h: - -/usr/include/glib-2.0/glib/deprecated/gthread.h: - -/usr/include/pthread.h: - -/usr/include/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/setjmp.h: - -/usr/include/dbus-1.0/dbus/dbus.h: - -/usr/lib/arm-linux-gnueabihf/dbus-1.0/include/dbus/dbus-arch-deps.h: - -/usr/include/dbus-1.0/dbus/dbus-macros.h: - -/usr/include/dbus-1.0/dbus/dbus-address.h: - -/usr/include/dbus-1.0/dbus/dbus-types.h: - -/usr/include/dbus-1.0/dbus/dbus-errors.h: - -/usr/include/dbus-1.0/dbus/dbus-protocol.h: - -/usr/include/dbus-1.0/dbus/dbus-bus.h: - -/usr/include/dbus-1.0/dbus/dbus-connection.h: - -/usr/include/dbus-1.0/dbus/dbus-memory.h: - -/usr/include/dbus-1.0/dbus/dbus-message.h: - -/usr/include/dbus-1.0/dbus/dbus-shared.h: - -/usr/include/dbus-1.0/dbus/dbus-misc.h: - -/usr/include/dbus-1.0/dbus/dbus-pending-call.h: - -/usr/include/dbus-1.0/dbus/dbus-server.h: - -/usr/include/dbus-1.0/dbus/dbus-signature.h: - -/usr/include/dbus-1.0/dbus/dbus-syntax.h: - -/usr/include/dbus-1.0/dbus/dbus-threads.h: - -src/log.h: - -src/glib-helper.h: - -btio/btio.h: - -lib/uuid.h: - -lib/../src/adapter.h: - -lib/bluetooth/hci.h: - -lib/bluetooth/hci_lib.h: - -lib/../src/device.h: - -lib/../src/profile.h: - -profiles/input/device.h: - -profiles/input/server.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/profiles/input/.deps/bluetoothd-suspend-dummy.Po b/GRIB_BLE_HUB/libs/ble_extend/profiles/input/.deps/bluetoothd-suspend-dummy.Po deleted file mode 100644 index 7ce7f31..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/profiles/input/.deps/bluetoothd-suspend-dummy.Po +++ /dev/null @@ -1,449 +0,0 @@ -profiles/input/bluetoothd-suspend-dummy.o: profiles/input/suspend-dummy.c \ - /usr/include/stdc-predef.h config.h /usr/include/errno.h \ - /usr/include/features.h /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/include/arm-linux-gnueabihf/bits/errno.h /usr/include/linux/errno.h \ - /usr/include/arm-linux-gnueabihf/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/include/stdlib.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/include/arm-linux-gnueabihf/bits/waitflags.h \ - /usr/include/arm-linux-gnueabihf/bits/waitstatus.h /usr/include/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/xlocale.h /usr/include/arm-linux-gnueabihf/sys/types.h \ - /usr/include/time.h /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/alloca.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-float.h \ - /usr/include/stdio.h /usr/include/libio.h /usr/include/_G_config.h \ - /usr/include/wchar.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/sys_errlist.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio.h /usr/include/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string2.h \ - /usr/include/arm-linux-gnueabihf/sys/stat.h \ - /usr/include/arm-linux-gnueabihf/bits/stat.h /usr/include/fcntl.h \ - /usr/include/arm-linux-gnueabihf/bits/fcntl.h \ - /usr/include/arm-linux-gnueabihf/bits/fcntl-linux.h \ - /usr/include/arm-linux-gnueabihf/bits/uio.h /usr/include/unistd.h \ - /usr/include/arm-linux-gnueabihf/bits/posix_opt.h \ - /usr/include/arm-linux-gnueabihf/bits/environments.h \ - /usr/include/arm-linux-gnueabihf/bits/confname.h /usr/include/getopt.h \ - /usr/include/glib-2.0/glib.h /usr/include/glib-2.0/glib/galloca.h \ - /usr/include/glib-2.0/glib/gtypes.h \ - /usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h \ - /usr/include/glib-2.0/glib/gmacros.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h \ - /usr/include/limits.h /usr/include/arm-linux-gnueabihf/bits/posix1_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/local_lim.h \ - /usr/include/linux/limits.h \ - /usr/include/arm-linux-gnueabihf/bits/posix2_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/xopen_lim.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h \ - /usr/include/glib-2.0/glib/gversionmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/timex.h \ - /usr/include/glib-2.0/glib/garray.h \ - /usr/include/glib-2.0/glib/gasyncqueue.h \ - /usr/include/glib-2.0/glib/gthread.h \ - /usr/include/glib-2.0/glib/gatomic.h /usr/include/glib-2.0/glib/gerror.h \ - /usr/include/glib-2.0/glib/gquark.h \ - /usr/include/glib-2.0/glib/gbacktrace.h /usr/include/signal.h \ - /usr/include/arm-linux-gnueabihf/bits/signum.h \ - /usr/include/arm-linux-gnueabihf/bits/siginfo.h \ - /usr/include/arm-linux-gnueabihf/bits/sigaction.h \ - /usr/include/arm-linux-gnueabihf/bits/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/asm/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigstack.h \ - /usr/include/arm-linux-gnueabihf/sys/ucontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigthread.h \ - /usr/include/glib-2.0/glib/gbase64.h \ - /usr/include/glib-2.0/glib/gbitlock.h \ - /usr/include/glib-2.0/glib/gbookmarkfile.h \ - /usr/include/glib-2.0/glib/gbytes.h \ - /usr/include/glib-2.0/glib/gcharset.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/gconvert.h \ - /usr/include/glib-2.0/glib/gdataset.h /usr/include/glib-2.0/glib/gdate.h \ - /usr/include/glib-2.0/glib/gdatetime.h \ - /usr/include/glib-2.0/glib/gtimezone.h /usr/include/glib-2.0/glib/gdir.h \ - /usr/include/dirent.h /usr/include/arm-linux-gnueabihf/bits/dirent.h \ - /usr/include/glib-2.0/glib/genviron.h \ - /usr/include/glib-2.0/glib/gfileutils.h \ - /usr/include/glib-2.0/glib/ggettext.h /usr/include/glib-2.0/glib/ghash.h \ - /usr/include/glib-2.0/glib/glist.h /usr/include/glib-2.0/glib/gmem.h \ - /usr/include/glib-2.0/glib/gnode.h /usr/include/glib-2.0/glib/ghmac.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/ghook.h \ - /usr/include/glib-2.0/glib/ghostutils.h \ - /usr/include/glib-2.0/glib/giochannel.h \ - /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gpoll.h \ - /usr/include/glib-2.0/glib/gslist.h /usr/include/glib-2.0/glib/gstring.h \ - /usr/include/glib-2.0/glib/gunicode.h \ - /usr/include/glib-2.0/glib/gutils.h \ - /usr/include/glib-2.0/glib/gkeyfile.h \ - /usr/include/glib-2.0/glib/gmappedfile.h \ - /usr/include/glib-2.0/glib/gmarkup.h \ - /usr/include/glib-2.0/glib/gmessages.h \ - /usr/include/glib-2.0/glib/goption.h \ - /usr/include/glib-2.0/glib/gpattern.h \ - /usr/include/glib-2.0/glib/gprimes.h /usr/include/glib-2.0/glib/gqsort.h \ - /usr/include/glib-2.0/glib/gqueue.h /usr/include/glib-2.0/glib/grand.h \ - /usr/include/glib-2.0/glib/gregex.h \ - /usr/include/glib-2.0/glib/gscanner.h \ - /usr/include/glib-2.0/glib/gsequence.h \ - /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gslice.h \ - /usr/include/glib-2.0/glib/gspawn.h \ - /usr/include/glib-2.0/glib/gstrfuncs.h \ - /usr/include/glib-2.0/glib/gstringchunk.h \ - /usr/include/glib-2.0/glib/gtestutils.h \ - /usr/include/glib-2.0/glib/gthreadpool.h \ - /usr/include/glib-2.0/glib/gtimer.h \ - /usr/include/glib-2.0/glib/gtrashstack.h \ - /usr/include/glib-2.0/glib/gtree.h \ - /usr/include/glib-2.0/glib/gurifuncs.h \ - /usr/include/glib-2.0/glib/gvarianttype.h \ - /usr/include/glib-2.0/glib/gvariant.h \ - /usr/include/glib-2.0/glib/gversion.h \ - /usr/include/glib-2.0/glib/deprecated/gallocator.h \ - /usr/include/glib-2.0/glib/deprecated/gcache.h \ - /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ - /usr/include/glib-2.0/glib/deprecated/gmain.h \ - /usr/include/glib-2.0/glib/deprecated/grel.h \ - /usr/include/glib-2.0/glib/deprecated/gthread.h /usr/include/pthread.h \ - /usr/include/sched.h /usr/include/arm-linux-gnueabihf/bits/sched.h \ - /usr/include/arm-linux-gnueabihf/bits/setjmp.h src/log.h \ - profiles/input/suspend.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/include/errno.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/include/arm-linux-gnueabihf/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/arm-linux-gnueabihf/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/include/stdlib.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/include/arm-linux-gnueabihf/bits/waitflags.h: - -/usr/include/arm-linux-gnueabihf/bits/waitstatus.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/xlocale.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/time.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/alloca.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-float.h: - -/usr/include/stdio.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/sys_errlist.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio.h: - -/usr/include/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string2.h: - -/usr/include/arm-linux-gnueabihf/sys/stat.h: - -/usr/include/arm-linux-gnueabihf/bits/stat.h: - -/usr/include/fcntl.h: - -/usr/include/arm-linux-gnueabihf/bits/fcntl.h: - -/usr/include/arm-linux-gnueabihf/bits/fcntl-linux.h: - -/usr/include/arm-linux-gnueabihf/bits/uio.h: - -/usr/include/unistd.h: - -/usr/include/arm-linux-gnueabihf/bits/posix_opt.h: - -/usr/include/arm-linux-gnueabihf/bits/environments.h: - -/usr/include/arm-linux-gnueabihf/bits/confname.h: - -/usr/include/getopt.h: - -/usr/include/glib-2.0/glib.h: - -/usr/include/glib-2.0/glib/galloca.h: - -/usr/include/glib-2.0/glib/gtypes.h: - -/usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h: - -/usr/include/glib-2.0/glib/gmacros.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h: - -/usr/include/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/local_lim.h: - -/usr/include/linux/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix2_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/xopen_lim.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h: - -/usr/include/glib-2.0/glib/gversionmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/timex.h: - -/usr/include/glib-2.0/glib/garray.h: - -/usr/include/glib-2.0/glib/gasyncqueue.h: - -/usr/include/glib-2.0/glib/gthread.h: - -/usr/include/glib-2.0/glib/gatomic.h: - -/usr/include/glib-2.0/glib/gerror.h: - -/usr/include/glib-2.0/glib/gquark.h: - -/usr/include/glib-2.0/glib/gbacktrace.h: - -/usr/include/signal.h: - -/usr/include/arm-linux-gnueabihf/bits/signum.h: - -/usr/include/arm-linux-gnueabihf/bits/siginfo.h: - -/usr/include/arm-linux-gnueabihf/bits/sigaction.h: - -/usr/include/arm-linux-gnueabihf/bits/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/asm/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigstack.h: - -/usr/include/arm-linux-gnueabihf/sys/ucontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigthread.h: - -/usr/include/glib-2.0/glib/gbase64.h: - -/usr/include/glib-2.0/glib/gbitlock.h: - -/usr/include/glib-2.0/glib/gbookmarkfile.h: - -/usr/include/glib-2.0/glib/gbytes.h: - -/usr/include/glib-2.0/glib/gcharset.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/gconvert.h: - -/usr/include/glib-2.0/glib/gdataset.h: - -/usr/include/glib-2.0/glib/gdate.h: - -/usr/include/glib-2.0/glib/gdatetime.h: - -/usr/include/glib-2.0/glib/gtimezone.h: - -/usr/include/glib-2.0/glib/gdir.h: - -/usr/include/dirent.h: - -/usr/include/arm-linux-gnueabihf/bits/dirent.h: - -/usr/include/glib-2.0/glib/genviron.h: - -/usr/include/glib-2.0/glib/gfileutils.h: - -/usr/include/glib-2.0/glib/ggettext.h: - -/usr/include/glib-2.0/glib/ghash.h: - -/usr/include/glib-2.0/glib/glist.h: - -/usr/include/glib-2.0/glib/gmem.h: - -/usr/include/glib-2.0/glib/gnode.h: - -/usr/include/glib-2.0/glib/ghmac.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/ghook.h: - -/usr/include/glib-2.0/glib/ghostutils.h: - -/usr/include/glib-2.0/glib/giochannel.h: - -/usr/include/glib-2.0/glib/gmain.h: - -/usr/include/glib-2.0/glib/gpoll.h: - -/usr/include/glib-2.0/glib/gslist.h: - -/usr/include/glib-2.0/glib/gstring.h: - -/usr/include/glib-2.0/glib/gunicode.h: - -/usr/include/glib-2.0/glib/gutils.h: - -/usr/include/glib-2.0/glib/gkeyfile.h: - -/usr/include/glib-2.0/glib/gmappedfile.h: - -/usr/include/glib-2.0/glib/gmarkup.h: - -/usr/include/glib-2.0/glib/gmessages.h: - -/usr/include/glib-2.0/glib/goption.h: - -/usr/include/glib-2.0/glib/gpattern.h: - -/usr/include/glib-2.0/glib/gprimes.h: - -/usr/include/glib-2.0/glib/gqsort.h: - -/usr/include/glib-2.0/glib/gqueue.h: - -/usr/include/glib-2.0/glib/grand.h: - -/usr/include/glib-2.0/glib/gregex.h: - -/usr/include/glib-2.0/glib/gscanner.h: - -/usr/include/glib-2.0/glib/gsequence.h: - -/usr/include/glib-2.0/glib/gshell.h: - -/usr/include/glib-2.0/glib/gslice.h: - -/usr/include/glib-2.0/glib/gspawn.h: - -/usr/include/glib-2.0/glib/gstrfuncs.h: - -/usr/include/glib-2.0/glib/gstringchunk.h: - -/usr/include/glib-2.0/glib/gtestutils.h: - -/usr/include/glib-2.0/glib/gthreadpool.h: - -/usr/include/glib-2.0/glib/gtimer.h: - -/usr/include/glib-2.0/glib/gtrashstack.h: - -/usr/include/glib-2.0/glib/gtree.h: - -/usr/include/glib-2.0/glib/gurifuncs.h: - -/usr/include/glib-2.0/glib/gvarianttype.h: - -/usr/include/glib-2.0/glib/gvariant.h: - -/usr/include/glib-2.0/glib/gversion.h: - -/usr/include/glib-2.0/glib/deprecated/gallocator.h: - -/usr/include/glib-2.0/glib/deprecated/gcache.h: - -/usr/include/glib-2.0/glib/deprecated/gcompletion.h: - -/usr/include/glib-2.0/glib/deprecated/gmain.h: - -/usr/include/glib-2.0/glib/deprecated/grel.h: - -/usr/include/glib-2.0/glib/deprecated/gthread.h: - -/usr/include/pthread.h: - -/usr/include/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/setjmp.h: - -src/log.h: - -profiles/input/suspend.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/profiles/input/.dirstamp b/GRIB_BLE_HUB/libs/ble_extend/profiles/input/.dirstamp deleted file mode 100644 index e69de29..0000000 diff --git a/GRIB_BLE_HUB/libs/ble_extend/profiles/input/device.c b/GRIB_BLE_HUB/libs/ble_extend/profiles/input/device.c deleted file mode 100644 index 1da9d99..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/profiles/input/device.c +++ /dev/null @@ -1,842 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2004-2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include - -#include - -#include "log.h" - -#include "../src/adapter.h" -#include "../src/device.h" -#include "../src/profile.h" -#include "../src/storage.h" -#include "../src/dbus-common.h" - -#include "manager.h" -#include "device.h" -#include "error.h" -#include - -#include "sdp-client.h" - -struct input_device { - struct btd_device *device; - char *path; - char *uuid; - bdaddr_t src; - bdaddr_t dst; - uint32_t handle; - GIOChannel *ctrl_io; - GIOChannel *intr_io; - guint ctrl_watch; - guint intr_watch; - guint sec_watch; - int timeout; - struct hidp_connadd_req *req; - guint dc_id; - gboolean disable_sdp; - char *name; -}; - -static GSList *devices = NULL; - -static struct input_device *find_device_by_path(GSList *list, const char *path) -{ - for (; list; list = list->next) { - struct input_device *idev = list->data; - - if (!strcmp(idev->path, path)) - return idev; - } - - return NULL; -} - -static void input_device_free(struct input_device *idev) -{ - if (idev->dc_id) - device_remove_disconnect_watch(idev->device, idev->dc_id); - - btd_device_unref(idev->device); - g_free(idev->name); - g_free(idev->path); - - if (idev->ctrl_watch > 0) - g_source_remove(idev->ctrl_watch); - - if (idev->intr_watch > 0) - g_source_remove(idev->intr_watch); - - if (idev->sec_watch > 0) - g_source_remove(idev->sec_watch); - - if (idev->intr_io) - g_io_channel_unref(idev->intr_io); - - if (idev->ctrl_io) - g_io_channel_unref(idev->ctrl_io); - - g_free(idev->uuid); - - g_free(idev); -} - -static gboolean intr_watch_cb(GIOChannel *chan, GIOCondition cond, gpointer data) -{ - struct input_device *idev = data; - char address[18]; - - ba2str(&idev->dst, address); - - DBG("Device %s disconnected", address); - - /* Checking for ctrl_watch avoids a double g_io_channel_shutdown since - * it's likely that ctrl_watch_cb has been queued for dispatching in - * this mainloop iteration */ - if ((cond & (G_IO_HUP | G_IO_ERR)) && idev->ctrl_watch) - g_io_channel_shutdown(chan, TRUE, NULL); - - device_remove_disconnect_watch(idev->device, idev->dc_id); - idev->dc_id = 0; - - idev->intr_watch = 0; - - if (idev->intr_io) { - g_io_channel_unref(idev->intr_io); - idev->intr_io = NULL; - } - - /* Close control channel */ - if (idev->ctrl_io && !(cond & G_IO_NVAL)) - g_io_channel_shutdown(idev->ctrl_io, TRUE, NULL); - - return FALSE; -} - -static gboolean ctrl_watch_cb(GIOChannel *chan, GIOCondition cond, gpointer data) -{ - struct input_device *idev = data; - char address[18]; - - ba2str(&idev->dst, address); - - DBG("Device %s disconnected", address); - - /* Checking for intr_watch avoids a double g_io_channel_shutdown since - * it's likely that intr_watch_cb has been queued for dispatching in - * this mainloop iteration */ - if ((cond & (G_IO_HUP | G_IO_ERR)) && idev->intr_watch) - g_io_channel_shutdown(chan, TRUE, NULL); - - idev->ctrl_watch = 0; - - if (idev->ctrl_io) { - g_io_channel_unref(idev->ctrl_io); - idev->ctrl_io = NULL; - } - - /* Close interrupt channel */ - if (idev->intr_io && !(cond & G_IO_NVAL)) - g_io_channel_shutdown(idev->intr_io, TRUE, NULL); - - return FALSE; -} - -static void epox_endian_quirk(unsigned char *data, int size) -{ - /* USAGE_PAGE (Keyboard) 05 07 - * USAGE_MINIMUM (0) 19 00 - * USAGE_MAXIMUM (65280) 2A 00 FF <= must be FF 00 - * LOGICAL_MINIMUM (0) 15 00 - * LOGICAL_MAXIMUM (65280) 26 00 FF <= must be FF 00 - */ - unsigned char pattern[] = { 0x05, 0x07, 0x19, 0x00, 0x2a, 0x00, 0xff, - 0x15, 0x00, 0x26, 0x00, 0xff }; - unsigned int i; - - if (!data) - return; - - for (i = 0; i < size - sizeof(pattern); i++) { - if (!memcmp(data + i, pattern, sizeof(pattern))) { - data[i + 5] = 0xff; - data[i + 6] = 0x00; - data[i + 10] = 0xff; - data[i + 11] = 0x00; - } - } -} - -static int create_hid_dev_name(sdp_record_t *rec, struct hidp_connadd_req *req) -{ - char sdesc[sizeof(req->name)]; - - if (sdp_get_service_desc(rec, sdesc, sizeof(sdesc)) == 0) { - char pname[sizeof(req->name)]; - - if (sdp_get_provider_name(rec, pname, sizeof(pname)) == 0 && - strncmp(sdesc, pname, 5) != 0) - snprintf(req->name, sizeof(req->name), "%s %s", pname, - sdesc); - else - snprintf(req->name, sizeof(req->name), "%s", sdesc); - } else { - return sdp_get_service_name(rec, req->name, sizeof(req->name)); - } - - return 0; -} - -/* See HID profile specification v1.0, "7.11.6 HIDDescriptorList" for details - * on the attribute format. */ -static int extract_hid_desc_data(sdp_record_t *rec, - struct hidp_connadd_req *req) -{ - sdp_data_t *d; - - d = sdp_data_get(rec, SDP_ATTR_HID_DESCRIPTOR_LIST); - if (!d) - goto invalid_desc; - - if (!SDP_IS_SEQ(d->dtd)) - goto invalid_desc; - - /* First HIDDescriptor */ - d = d->val.dataseq; - if (!SDP_IS_SEQ(d->dtd)) - goto invalid_desc; - - /* ClassDescriptorType */ - d = d->val.dataseq; - if (d->dtd != SDP_UINT8) - goto invalid_desc; - - /* ClassDescriptorData */ - d = d->next; - if (!d || !SDP_IS_TEXT_STR(d->dtd)) - goto invalid_desc; - - req->rd_data = g_try_malloc0(d->unitSize); - if (req->rd_data) { - memcpy(req->rd_data, d->val.str, d->unitSize); - req->rd_size = d->unitSize; - epox_endian_quirk(req->rd_data, req->rd_size); - } - - return 0; - -invalid_desc: - error("Missing or invalid HIDDescriptorList SDP attribute"); - return -EINVAL; -} - -static int extract_hid_record(sdp_record_t *rec, struct hidp_connadd_req *req) -{ - sdp_data_t *pdlist; - uint8_t attr_val; - int err; - - err = create_hid_dev_name(rec, req); - if (err < 0) - DBG("No valid Service Name or Service Description found"); - - pdlist = sdp_data_get(rec, SDP_ATTR_HID_PARSER_VERSION); - req->parser = pdlist ? pdlist->val.uint16 : 0x0100; - - pdlist = sdp_data_get(rec, SDP_ATTR_HID_DEVICE_SUBCLASS); - req->subclass = pdlist ? pdlist->val.uint8 : 0; - - pdlist = sdp_data_get(rec, SDP_ATTR_HID_COUNTRY_CODE); - req->country = pdlist ? pdlist->val.uint8 : 0; - - pdlist = sdp_data_get(rec, SDP_ATTR_HID_VIRTUAL_CABLE); - attr_val = pdlist ? pdlist->val.uint8 : 0; - if (attr_val) - req->flags |= (1 << HIDP_VIRTUAL_CABLE_UNPLUG); - - pdlist = sdp_data_get(rec, SDP_ATTR_HID_BOOT_DEVICE); - attr_val = pdlist ? pdlist->val.uint8 : 0; - if (attr_val) - req->flags |= (1 << HIDP_BOOT_PROTOCOL_MODE); - - err = extract_hid_desc_data(rec, req); - if (err < 0) - return err; - - return 0; -} - -static int ioctl_connadd(struct hidp_connadd_req *req) -{ - int ctl, err = 0; - - ctl = socket(AF_BLUETOOTH, SOCK_RAW, BTPROTO_HIDP); - if (ctl < 0) - return -errno; - - if (ioctl(ctl, HIDPCONNADD, req) < 0) - err = -errno; - - close(ctl); - - return err; -} - -static gboolean encrypt_notify(GIOChannel *io, GIOCondition condition, - gpointer data) -{ - struct input_device *idev = data; - int err; - - DBG(""); - - err = ioctl_connadd(idev->req); - if (err < 0) { - error("ioctl_connadd(): %s (%d)", strerror(-err), -err); - - if (idev->ctrl_io) { - g_io_channel_shutdown(idev->ctrl_io, FALSE, NULL); - g_io_channel_unref(idev->ctrl_io); - idev->ctrl_io = NULL; - } - - if (idev->intr_io) { - g_io_channel_shutdown(idev->intr_io, FALSE, NULL); - g_io_channel_unref(idev->intr_io); - idev->intr_io = NULL; - } - } - - idev->sec_watch = 0; - - g_free(idev->req->rd_data); - g_free(idev->req); - idev->req = NULL; - - return FALSE; -} - -static int hidp_add_connection(struct input_device *idev) -{ - struct hidp_connadd_req *req; - sdp_record_t *rec; - char src_addr[18], dst_addr[18]; - char filename[PATH_MAX + 1]; - GKeyFile *key_file; - char handle[11], *str; - GError *gerr = NULL; - int err; - - req = g_new0(struct hidp_connadd_req, 1); - req->ctrl_sock = g_io_channel_unix_get_fd(idev->ctrl_io); - req->intr_sock = g_io_channel_unix_get_fd(idev->intr_io); - req->flags = 0; - req->idle_to = idev->timeout; - - ba2str(&idev->src, src_addr); - ba2str(&idev->dst, dst_addr); - - snprintf(filename, PATH_MAX, STORAGEDIR "/%s/cache/%s", src_addr, - dst_addr); - filename[PATH_MAX] = '\0'; - sprintf(handle, "0x%8.8X", idev->handle); - - key_file = g_key_file_new(); - g_key_file_load_from_file(key_file, filename, 0, NULL); - str = g_key_file_get_string(key_file, "ServiceRecords", handle, NULL); - g_key_file_free(key_file); - - if (!str) { - error("Rejected connection from unknown device %s", dst_addr); - err = -EPERM; - goto cleanup; - } - - rec = record_from_string(str); - g_free(str); - - err = extract_hid_record(rec, req); - sdp_record_free(rec); - if (err < 0) { - error("Could not parse HID SDP record: %s (%d)", strerror(-err), - -err); - goto cleanup; - } - - req->vendor = btd_device_get_vendor(idev->device); - req->product = btd_device_get_product(idev->device); - req->version = btd_device_get_version(idev->device); - - if (idev->name) - strncpy(req->name, idev->name, sizeof(req->name) - 1); - - /* Encryption is mandatory for keyboards */ - if (req->subclass & 0x40) { - if (!bt_io_set(idev->intr_io, &gerr, - BT_IO_OPT_SEC_LEVEL, BT_IO_SEC_MEDIUM, - BT_IO_OPT_INVALID)) { - error("btio: %s", gerr->message); - g_error_free(gerr); - err = -EFAULT; - goto cleanup; - } - - idev->req = req; - idev->sec_watch = g_io_add_watch(idev->intr_io, G_IO_OUT, - encrypt_notify, idev); - - return 0; - } - - err = ioctl_connadd(req); - -cleanup: - g_free(req->rd_data); - g_free(req); - - return err; -} - -static int is_connected(struct input_device *idev) -{ - struct hidp_conninfo ci; - int ctl; - - /* Standard HID */ - ctl = socket(AF_BLUETOOTH, SOCK_RAW, BTPROTO_HIDP); - if (ctl < 0) - return 0; - - memset(&ci, 0, sizeof(ci)); - bacpy(&ci.bdaddr, &idev->dst); - if (ioctl(ctl, HIDPGETCONNINFO, &ci) < 0) { - close(ctl); - return 0; - } - - close(ctl); - - if (ci.state != BT_CONNECTED) - return 0; - else - return 1; -} - -static int connection_disconnect(struct input_device *idev, uint32_t flags) -{ - struct hidp_conndel_req req; - struct hidp_conninfo ci; - int ctl, err = 0; - - if (!is_connected(idev)) - return -ENOTCONN; - - /* Standard HID disconnect */ - if (idev->intr_io) - g_io_channel_shutdown(idev->intr_io, TRUE, NULL); - if (idev->ctrl_io) - g_io_channel_shutdown(idev->ctrl_io, TRUE, NULL); - - ctl = socket(AF_BLUETOOTH, SOCK_RAW, BTPROTO_HIDP); - if (ctl < 0) { - error("Can't open HIDP control socket"); - return -errno; - } - - memset(&ci, 0, sizeof(ci)); - bacpy(&ci.bdaddr, &idev->dst); - if ((ioctl(ctl, HIDPGETCONNINFO, &ci) < 0) || - (ci.state != BT_CONNECTED)) { - err = -ENOTCONN; - goto fail; - } - - memset(&req, 0, sizeof(req)); - bacpy(&req.bdaddr, &idev->dst); - req.flags = flags; - if (ioctl(ctl, HIDPCONNDEL, &req) < 0) { - err = -errno; - error("Can't delete the HID device: %s(%d)", - strerror(-err), -err); - goto fail; - } - -fail: - close(ctl); - - return err; -} - -static void disconnect_cb(struct btd_device *device, gboolean removal, - void *user_data) -{ - struct input_device *idev = user_data; - int flags; - - info("Input: disconnect %s", idev->path); - - flags = removal ? (1 << HIDP_VIRTUAL_CABLE_UNPLUG) : 0; - - connection_disconnect(idev, flags); -} - -static int input_device_connected(struct input_device *idev) -{ - int err; - - if (idev->intr_io == NULL || idev->ctrl_io == NULL) - return -ENOTCONN; - - err = hidp_add_connection(idev); - if (err < 0) - return err; - - idev->dc_id = device_add_disconnect_watch(idev->device, disconnect_cb, - idev, NULL); - - input_manager_device_connected(idev->device, 0); - - return 0; -} - -static void interrupt_connect_cb(GIOChannel *chan, GError *conn_err, - gpointer user_data) -{ - struct input_device *idev = user_data; - int err; - - if (conn_err) { - err = -EIO; - goto failed; - } - - err = input_device_connected(idev); - if (err < 0) - goto failed; - - idev->intr_watch = g_io_add_watch(idev->intr_io, - G_IO_HUP | G_IO_ERR | G_IO_NVAL, - intr_watch_cb, idev); - - return; - -failed: - input_manager_device_connected(idev->device, err); - - /* So we guarantee the interrupt channel is closed before the - * control channel (if we only do unref GLib will close it only - * after returning control to the mainloop */ - if (!conn_err) - g_io_channel_shutdown(idev->intr_io, FALSE, NULL); - - g_io_channel_unref(idev->intr_io); - idev->intr_io = NULL; - - if (idev->ctrl_io) { - g_io_channel_unref(idev->ctrl_io); - idev->ctrl_io = NULL; - } -} - -static void control_connect_cb(GIOChannel *chan, GError *conn_err, - gpointer user_data) -{ - struct input_device *idev = user_data; - GIOChannel *io; - GError *err = NULL; - - if (conn_err) { - error("%s", conn_err->message); - goto failed; - } - - /* Connect to the HID interrupt channel */ - io = bt_io_connect(interrupt_connect_cb, idev, - NULL, &err, - BT_IO_OPT_SOURCE_BDADDR, &idev->src, - BT_IO_OPT_DEST_BDADDR, &idev->dst, - BT_IO_OPT_PSM, L2CAP_PSM_HIDP_INTR, - BT_IO_OPT_SEC_LEVEL, BT_IO_SEC_LOW, - BT_IO_OPT_INVALID); - if (!io) { - error("%s", err->message); - g_error_free(err); - goto failed; - } - - idev->intr_io = io; - - idev->ctrl_watch = g_io_add_watch(idev->ctrl_io, - G_IO_HUP | G_IO_ERR | G_IO_NVAL, - ctrl_watch_cb, idev); - - return; - -failed: - input_manager_device_connected(idev->device, -EIO); - g_io_channel_unref(idev->ctrl_io); - idev->ctrl_io = NULL; -} - -static int dev_connect(struct input_device *idev) -{ - GError *err = NULL; - GIOChannel *io; - - if (idev->disable_sdp) - bt_clear_cached_session(&idev->src, &idev->dst); - - io = bt_io_connect(control_connect_cb, idev, - NULL, &err, - BT_IO_OPT_SOURCE_BDADDR, &idev->src, - BT_IO_OPT_DEST_BDADDR, &idev->dst, - BT_IO_OPT_PSM, L2CAP_PSM_HIDP_CTRL, - BT_IO_OPT_SEC_LEVEL, BT_IO_SEC_LOW, - BT_IO_OPT_INVALID); - idev->ctrl_io = io; - - if (err == NULL) - return 0; - - error("%s", err->message); - g_error_free(err); - - return -EIO; -} - -int input_device_connect(struct btd_device *dev, struct btd_profile *profile) -{ - struct input_device *idev; - - idev = find_device_by_path(devices, device_get_path(dev)); - if (!idev) - return -ENOENT; - - if (idev->ctrl_io) - return -EBUSY; - - if (is_connected(idev)) - return -EALREADY; - - return dev_connect(idev); -} - -int input_device_disconnect(struct btd_device *dev, struct btd_profile *profile) -{ - struct input_device *idev; - int err; - - idev = find_device_by_path(devices, device_get_path(dev)); - if (!idev) - return -ENOENT; - - err = connection_disconnect(idev, 0); - if (err < 0) - return err; - - device_profile_disconnected(dev, profile, 0); - - return 0; -} - -static struct input_device *input_device_new(struct btd_device *device, - const char *path, const uint32_t handle, - gboolean disable_sdp) -{ - struct btd_adapter *adapter = device_get_adapter(device); - struct input_device *idev; - char name[HCI_MAX_NAME_LENGTH + 1]; - - idev = g_new0(struct input_device, 1); - bacpy(&idev->src, adapter_get_address(adapter)); - bacpy(&idev->dst, device_get_address(device)); - idev->device = btd_device_ref(device); - idev->path = g_strdup(path); - idev->handle = handle; - idev->disable_sdp = disable_sdp; - - device_get_name(device, name, HCI_MAX_NAME_LENGTH); - if (strlen(name) > 0) - idev->name = g_strdup(name); - - return idev; -} - -static gboolean is_device_sdp_disable(const sdp_record_t *rec) -{ - sdp_data_t *data; - - data = sdp_data_get(rec, SDP_ATTR_HID_SDP_DISABLE); - - return data && data->val.uint8; -} - -int input_device_register(struct btd_device *device, - const char *path, const char *uuid, - const sdp_record_t *rec, int timeout) -{ - struct input_device *idev; - - DBG("%s", path); - - idev = find_device_by_path(devices, path); - if (idev) - return -EEXIST; - - idev = input_device_new(device, path, rec->handle, - is_device_sdp_disable(rec)); - if (!idev) - return -EINVAL; - - idev->timeout = timeout; - idev->uuid = g_strdup(uuid); - - devices = g_slist_append(devices, idev); - - return 0; -} - -static struct input_device *find_device(const bdaddr_t *src, - const bdaddr_t *dst) -{ - GSList *list; - - for (list = devices; list != NULL; list = list->next) { - struct input_device *idev = list->data; - - if (!bacmp(&idev->src, src) && !bacmp(&idev->dst, dst)) - return idev; - } - - return NULL; -} - -int input_device_unregister(const char *path, const char *uuid) -{ - struct input_device *idev; - - DBG("%s", path); - - idev = find_device_by_path(devices, path); - if (idev == NULL) - return -EINVAL; - - if (idev->ctrl_io) { - /* Pending connection running */ - return -EBUSY; - } - - devices = g_slist_remove(devices, idev); - input_device_free(idev); - - return 0; -} - -static int input_device_connadd(struct input_device *idev) -{ - int err; - - err = input_device_connected(idev); - if (err < 0) - goto error; - - return 0; - -error: - if (idev->ctrl_io) { - g_io_channel_shutdown(idev->ctrl_io, FALSE, NULL); - g_io_channel_unref(idev->ctrl_io); - idev->ctrl_io = NULL; - } - if (idev->intr_io) { - g_io_channel_shutdown(idev->intr_io, FALSE, NULL); - g_io_channel_unref(idev->intr_io); - idev->intr_io = NULL; - } - - return err; -} - -int input_device_set_channel(const bdaddr_t *src, const bdaddr_t *dst, int psm, - GIOChannel *io) -{ - struct input_device *idev = find_device(src, dst); - - if (!idev) - return -ENOENT; - - switch (psm) { - case L2CAP_PSM_HIDP_CTRL: - if (idev->ctrl_io) - return -EALREADY; - idev->ctrl_io = g_io_channel_ref(io); - idev->ctrl_watch = g_io_add_watch(idev->ctrl_io, - G_IO_HUP | G_IO_ERR | G_IO_NVAL, - ctrl_watch_cb, idev); - break; - case L2CAP_PSM_HIDP_INTR: - if (idev->intr_io) - return -EALREADY; - idev->intr_io = g_io_channel_ref(io); - idev->intr_watch = g_io_add_watch(idev->intr_io, - G_IO_HUP | G_IO_ERR | G_IO_NVAL, - intr_watch_cb, idev); - break; - } - - if (idev->intr_io && idev->ctrl_io) - input_device_connadd(idev); - - return 0; -} - -int input_device_close_channels(const bdaddr_t *src, const bdaddr_t *dst) -{ - struct input_device *idev = find_device(src, dst); - - if (!idev) - return -ENOENT; - - if (idev->intr_io) - g_io_channel_shutdown(idev->intr_io, TRUE, NULL); - - if (idev->ctrl_io) - g_io_channel_shutdown(idev->ctrl_io, TRUE, NULL); - - return 0; -} diff --git a/GRIB_BLE_HUB/libs/ble_extend/profiles/input/device.h b/GRIB_BLE_HUB/libs/ble_extend/profiles/input/device.h deleted file mode 100644 index aabc79c..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/profiles/input/device.h +++ /dev/null @@ -1,41 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2004-2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#define L2CAP_PSM_HIDP_CTRL 0x11 -#define L2CAP_PSM_HIDP_INTR 0x13 - -struct input_device; -struct input_conn; - -int input_device_register(struct btd_device *device, const char *path, - const char *uuid, const sdp_record_t *rec, - int timeout); -int input_device_unregister(const char *path, const char *uuid); - -int input_device_set_channel(const bdaddr_t *src, const bdaddr_t *dst, int psm, - GIOChannel *io); -int input_device_close_channels(const bdaddr_t *src, const bdaddr_t *dst); - -int input_device_connect(struct btd_device *dev, struct btd_profile *profile); -int input_device_disconnect(struct btd_device *dev, - struct btd_profile *profile); diff --git a/GRIB_BLE_HUB/libs/ble_extend/profiles/input/hog.c b/GRIB_BLE_HUB/libs/ble_extend/profiles/input/hog.c deleted file mode 100644 index eadc860..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/profiles/input/hog.c +++ /dev/null @@ -1,903 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2012 Marcel Holtmann - * Copyright (C) 2012 Nordic Semiconductor Inc. - * Copyright (C) 2012 Instituto Nokia de Tecnologia - INdT - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include -#include -#include -#include -#include -#include -#include "uhid_copy.h" - -#include - -#include - -#include "log.h" - -#include "lib/uuid.h" -#include "src/adapter.h" -#include "src/device.h" -#include "src/profile.h" - -#include "plugin.h" -#include "suspend.h" -#include "attrib/att.h" -#include "attrib/gattrib.h" -#include "attio.h" -#include "attrib/gatt.h" - -#define HOG_UUID "00001812-0000-1000-8000-00805f9b34fb" - -#define HOG_INFO_UUID 0x2A4A -#define HOG_REPORT_MAP_UUID 0x2A4B -#define HOG_REPORT_UUID 0x2A4D -#define HOG_PROTO_MODE_UUID 0x2A4E -#define HOG_CONTROL_POINT_UUID 0x2A4C - -#define HOG_REPORT_TYPE_INPUT 1 -#define HOG_REPORT_TYPE_OUTPUT 2 -#define HOG_REPORT_TYPE_FEATURE 3 - -#define HOG_PROTO_MODE_BOOT 0 -#define HOG_PROTO_MODE_REPORT 1 - -#define UHID_DEVICE_FILE "/dev/uhid" - -#define HOG_REPORT_MAP_MAX_SIZE 512 -#define HID_INFO_SIZE 4 - -struct hog_device { - uint16_t id; - struct btd_device *device; - GAttrib *attrib; - guint attioid; - struct gatt_primary *hog_primary; - GSList *reports; - int uhid_fd; - gboolean has_report_id; - guint uhid_watch_id; - uint16_t bcdhid; - uint8_t bcountrycode; - uint16_t proto_mode_handle; - uint16_t ctrlpt_handle; - uint8_t flags; -}; - -struct report { - uint8_t id; - uint8_t type; - guint notifyid; - struct gatt_char *decl; - struct hog_device *hogdev; -}; - -struct disc_desc_cb_data { - uint16_t end; - gpointer data; -}; - -static gboolean suspend_supported = FALSE; -static GSList *devices = NULL; - -static void report_value_cb(const uint8_t *pdu, uint16_t len, - gpointer user_data) -{ - struct report *report = user_data; - struct hog_device *hogdev = report->hogdev; - struct uhid_event ev; - uint16_t report_size = len - 3; - uint8_t *buf; - - if (len < 3) { /* 1-byte opcode + 2-byte handle */ - error("Malformed ATT notification"); - return; - } - - memset(&ev, 0, sizeof(ev)); - ev.type = UHID_INPUT; - ev.u.input.size = MIN(report_size, UHID_DATA_MAX); - - buf = ev.u.input.data; - if (hogdev->has_report_id) { - *buf = report->id; - buf++; - ev.u.input.size++; - } - - memcpy(buf, &pdu[3], MIN(report_size, UHID_DATA_MAX)); - - if (write(hogdev->uhid_fd, &ev, sizeof(ev)) < 0) - error("uHID write failed: %s", strerror(errno)); - else - DBG("Report from HoG device 0x%04X written to uHID fd %d", - hogdev->id, hogdev->uhid_fd); -} - -static void report_ccc_written_cb(guint8 status, const guint8 *pdu, - guint16 plen, gpointer user_data) -{ - struct report *report = user_data; - struct hog_device *hogdev = report->hogdev; - - if (status != 0) { - error("Write report characteristic descriptor failed: %s", - att_ecode2str(status)); - return; - } - - report->notifyid = g_attrib_register(hogdev->attrib, - ATT_OP_HANDLE_NOTIFY, - report->decl->value_handle, - report_value_cb, report, NULL); - - DBG("Report characteristic descriptor written: notifications enabled"); -} - -static void write_ccc(uint16_t handle, gpointer user_data) -{ - struct report *report = user_data; - struct hog_device *hogdev = report->hogdev; - uint8_t value[] = { 0x01, 0x00 }; - - gatt_write_char(hogdev->attrib, handle, value, sizeof(value), - report_ccc_written_cb, report); -} - -static void report_reference_cb(guint8 status, const guint8 *pdu, - guint16 plen, gpointer user_data) -{ - struct report *report = user_data; - - if (status != 0) { - error("Read Report Reference descriptor failed: %s", - att_ecode2str(status)); - return; - } - - if (plen != 3) { - error("Malformed ATT read response"); - return; - } - - report->id = pdu[1]; - report->type = pdu[2]; - DBG("Report ID: 0x%02x Report type: 0x%02x", pdu[1], pdu[2]); -} - -static void external_report_reference_cb(guint8 status, const guint8 *pdu, - guint16 plen, gpointer user_data); - - -static void discover_descriptor_cb(guint8 status, const guint8 *pdu, - guint16 len, gpointer user_data) -{ - struct disc_desc_cb_data *ddcb_data = user_data; - struct report *report; - struct hog_device *hogdev; - struct att_data_list *list = NULL; - GAttrib *attrib = NULL; - uint8_t format; - uint16_t handle = 0xffff; - uint16_t end = ddcb_data->end; - int i; - - if (status == ATT_ECODE_ATTR_NOT_FOUND) { - DBG("Discover all characteristic descriptors finished"); - goto done; - } - - if (status != 0) { - error("Discover all characteristic descriptors failed: %s", - att_ecode2str(status)); - goto done; - } - - list = dec_find_info_resp(pdu, len, &format); - if (list == NULL) - return; - - if (format != ATT_FIND_INFO_RESP_FMT_16BIT) - goto done; - - for (i = 0; i < list->num; i++) { - uint16_t uuid16; - uint8_t *value; - - value = list->data[i]; - handle = att_get_u16(value); - uuid16 = att_get_u16(&value[2]); - - switch (uuid16) { - case GATT_CLIENT_CHARAC_CFG_UUID: - report = ddcb_data->data; - attrib = report->hogdev->attrib; - write_ccc(handle, report); - break; - case GATT_REPORT_REFERENCE: - report = ddcb_data->data; - attrib = report->hogdev->attrib; - gatt_read_char(attrib, handle, - report_reference_cb, report); - break; - case GATT_EXTERNAL_REPORT_REFERENCE: - hogdev = ddcb_data->data; - attrib = hogdev->attrib; - gatt_read_char(attrib, handle, - external_report_reference_cb, hogdev); - break; - } - } - -done: - att_data_list_free(list); - - if (handle != 0xffff && handle < end) - gatt_find_info(attrib, handle + 1, end, discover_descriptor_cb, - ddcb_data); - else - g_free(ddcb_data); -} - -static void discover_descriptor(GAttrib *attrib, uint16_t start, uint16_t end, - gpointer user_data) -{ - struct disc_desc_cb_data *ddcb_data; - - if (start > end) - return; - - ddcb_data = g_new0(struct disc_desc_cb_data, 1); - ddcb_data->end = end; - ddcb_data->data = user_data; - - gatt_find_info(attrib, start, end, discover_descriptor_cb, ddcb_data); -} - -static void external_service_char_cb(GSList *chars, guint8 status, - gpointer user_data) -{ - struct hog_device *hogdev = user_data; - struct gatt_primary *prim = hogdev->hog_primary; - struct report *report; - GSList *l; - - if (status != 0) { - const char *str = att_ecode2str(status); - DBG("Discover external service characteristic failed: %s", str); - return; - } - - for (l = chars; l; l = g_slist_next(l)) { - struct gatt_char *chr, *next; - uint16_t start, end; - - chr = l->data; - next = l->next ? l->next->data : NULL; - - DBG("0x%04x UUID: %s properties: %02x", - chr->handle, chr->uuid, chr->properties); - - report = g_new0(struct report, 1); - report->hogdev = hogdev; - report->decl = g_memdup(chr, sizeof(*chr)); - hogdev->reports = g_slist_append(hogdev->reports, report); - start = chr->value_handle + 1; - end = (next ? next->handle - 1 : prim->range.end); - discover_descriptor(hogdev->attrib, start, end, report); - } -} - -static void external_report_reference_cb(guint8 status, const guint8 *pdu, - guint16 plen, gpointer user_data) -{ - struct hog_device *hogdev = user_data; - uint16_t uuid16; - bt_uuid_t uuid; - - if (status != 0) { - error("Read External Report Reference descriptor failed: %s", - att_ecode2str(status)); - return; - } - - if (plen != 3) { - error("Malformed ATT read response"); - return; - } - - uuid16 = att_get_u16(&pdu[1]); - DBG("External report reference read, external report characteristic " - "UUID: 0x%04x", uuid16); - bt_uuid16_create(&uuid, uuid16); - gatt_discover_char(hogdev->attrib, 0x00, 0xff, &uuid, - external_service_char_cb, hogdev); -} - -static void report_map_read_cb(guint8 status, const guint8 *pdu, guint16 plen, - gpointer user_data) -{ - struct hog_device *hogdev = user_data; - uint8_t value[HOG_REPORT_MAP_MAX_SIZE]; - struct uhid_event ev; - uint16_t vendor_src, vendor, product, version; - ssize_t vlen; - int i; - - if (status != 0) { - error("Report Map read failed: %s", att_ecode2str(status)); - return; - } - - vlen = dec_read_resp(pdu, plen, value, sizeof(value)); - if (vlen < 0) { - error("ATT protocol error"); - return; - } - - DBG("Report MAP:"); - for (i = 0; i < vlen; i++) { - switch (value[i]) { - case 0x85: - case 0x86: - case 0x87: - hogdev->has_report_id = TRUE; - } - - if (i % 2 == 0) { - if (i + 1 == vlen) - DBG("\t %02x", value[i]); - else - DBG("\t %02x %02x", value[i], value[i + 1]); - } - } - - vendor_src = btd_device_get_vendor_src(hogdev->device); - vendor = btd_device_get_vendor(hogdev->device); - product = btd_device_get_product(hogdev->device); - version = btd_device_get_version(hogdev->device); - DBG("DIS information: vendor_src=0x%X, vendor=0x%X, product=0x%X, " - "version=0x%X", vendor_src, vendor, product, version); - - /* create uHID device */ - memset(&ev, 0, sizeof(ev)); - ev.type = UHID_CREATE; - strcpy((char *) ev.u.create.name, "bluez-hog-device"); - ev.u.create.vendor = vendor; - ev.u.create.product = product; - ev.u.create.version = version; - ev.u.create.country = hogdev->bcountrycode; - ev.u.create.bus = BUS_BLUETOOTH; - ev.u.create.rd_data = value; - ev.u.create.rd_size = vlen; - - if (write(hogdev->uhid_fd, &ev, sizeof(ev)) < 0) - error("Failed to create uHID device: %s", strerror(errno)); -} - -static void info_read_cb(guint8 status, const guint8 *pdu, guint16 plen, - gpointer user_data) -{ - struct hog_device *hogdev = user_data; - uint8_t value[HID_INFO_SIZE]; - ssize_t vlen; - - if (status != 0) { - error("HID Information read failed: %s", - att_ecode2str(status)); - return; - } - - vlen = dec_read_resp(pdu, plen, value, sizeof(value)); - if (vlen != 4) { - error("ATT protocol error"); - return; - } - - hogdev->bcdhid = att_get_u16(&value[0]); - hogdev->bcountrycode = value[2]; - hogdev->flags = value[3]; - - DBG("bcdHID: 0x%04X bCountryCode: 0x%02X Flags: 0x%02X", - hogdev->bcdhid, hogdev->bcountrycode, hogdev->flags); -} - -static void proto_mode_read_cb(guint8 status, const guint8 *pdu, guint16 plen, - gpointer user_data) -{ - struct hog_device *hogdev = user_data; - uint8_t value; - ssize_t vlen; - - if (status != 0) { - error("Protocol Mode characteristic read failed: %s", - att_ecode2str(status)); - return; - } - - vlen = dec_read_resp(pdu, plen, &value, sizeof(value)); - if (vlen < 0) { - error("ATT protocol error"); - return; - } - - if (value == HOG_PROTO_MODE_BOOT) { - uint8_t nval = HOG_PROTO_MODE_REPORT; - - DBG("HoG device 0x%04X is operating in Boot Procotol Mode", - hogdev->id); - - gatt_write_char(hogdev->attrib, hogdev->proto_mode_handle, &nval, - sizeof(nval), NULL, NULL); - } else if (value == HOG_PROTO_MODE_REPORT) - DBG("HoG device 0x%04X is operating in Report Protocol Mode", - hogdev->id); -} - -static void char_discovered_cb(GSList *chars, guint8 status, gpointer user_data) -{ - struct hog_device *hogdev = user_data; - struct gatt_primary *prim = hogdev->hog_primary; - bt_uuid_t report_uuid, report_map_uuid, info_uuid, proto_mode_uuid, - ctrlpt_uuid; - struct report *report; - GSList *l; - uint16_t info_handle = 0, proto_mode_handle = 0; - - if (status != 0) { - const char *str = att_ecode2str(status); - DBG("Discover all characteristics failed: %s", str); - return; - } - - bt_uuid16_create(&report_uuid, HOG_REPORT_UUID); - bt_uuid16_create(&report_map_uuid, HOG_REPORT_MAP_UUID); - bt_uuid16_create(&info_uuid, HOG_INFO_UUID); - bt_uuid16_create(&proto_mode_uuid, HOG_PROTO_MODE_UUID); - bt_uuid16_create(&ctrlpt_uuid, HOG_CONTROL_POINT_UUID); - - for (l = chars; l; l = g_slist_next(l)) { - struct gatt_char *chr, *next; - bt_uuid_t uuid; - uint16_t start, end; - - chr = l->data; - next = l->next ? l->next->data : NULL; - - DBG("0x%04x UUID: %s properties: %02x", - chr->handle, chr->uuid, chr->properties); - - bt_string_to_uuid(&uuid, chr->uuid); - - start = chr->value_handle + 1; - end = (next ? next->handle - 1 : prim->range.end); - - if (bt_uuid_cmp(&uuid, &report_uuid) == 0) { - report = g_new0(struct report, 1); - report->hogdev = hogdev; - report->decl = g_memdup(chr, sizeof(*chr)); - hogdev->reports = g_slist_append(hogdev->reports, - report); - discover_descriptor(hogdev->attrib, start, end, report); - } else if (bt_uuid_cmp(&uuid, &report_map_uuid) == 0) { - gatt_read_char(hogdev->attrib, chr->value_handle, - report_map_read_cb, hogdev); - discover_descriptor(hogdev->attrib, start, end, hogdev); - } else if (bt_uuid_cmp(&uuid, &info_uuid) == 0) - info_handle = chr->value_handle; - else if (bt_uuid_cmp(&uuid, &proto_mode_uuid) == 0) - proto_mode_handle = chr->value_handle; - else if (bt_uuid_cmp(&uuid, &ctrlpt_uuid) == 0) - hogdev->ctrlpt_handle = chr->value_handle; - } - - if (proto_mode_handle) { - hogdev->proto_mode_handle = proto_mode_handle; - gatt_read_char(hogdev->attrib, proto_mode_handle, - proto_mode_read_cb, hogdev); - } - - if (info_handle) - gatt_read_char(hogdev->attrib, info_handle, info_read_cb, - hogdev); -} - -static void output_written_cb(guint8 status, const guint8 *pdu, - guint16 plen, gpointer user_data) -{ - if (status != 0) { - error("Write output report failed: %s", att_ecode2str(status)); - return; - } -} - -static gint report_type_cmp(gconstpointer a, gconstpointer b) -{ - const struct report *report = a; - uint8_t type = GPOINTER_TO_UINT(b); - - return report->type - type; -} - -static void forward_report(struct hog_device *hogdev, - struct uhid_event *ev) -{ - struct report *report; - GSList *l; - void *data; - int size; - guint type; - - if (hogdev->has_report_id) { - data = ev->u.output.data + 1; - size = ev->u.output.size - 1; - } else { - data = ev->u.output.data; - size = ev->u.output.size; - } - - switch (ev->type) { - case UHID_OUTPUT: - type = HOG_REPORT_TYPE_OUTPUT; - break; - case UHID_FEATURE: - type = HOG_REPORT_TYPE_FEATURE; - break; - default: - return; - } - - l = g_slist_find_custom(hogdev->reports, GUINT_TO_POINTER(type), - report_type_cmp); - if (!l) - return; - - report = l->data; - - DBG("Sending report type %d to device 0x%04X handle 0x%X", type, - hogdev->id, report->decl->value_handle); - - if (hogdev->attrib == NULL) - return; - - if (report->decl->properties & ATT_CHAR_PROPER_WRITE) - gatt_write_char(hogdev->attrib, report->decl->value_handle, - data, size, output_written_cb, hogdev); - else if (report->decl->properties & ATT_CHAR_PROPER_WRITE_WITHOUT_RESP) - gatt_write_char(hogdev->attrib, report->decl->value_handle, - data, size, NULL, NULL); -} - -static gboolean uhid_event_cb(GIOChannel *io, GIOCondition cond, - gpointer user_data) -{ - struct hog_device *hogdev = user_data; - struct uhid_event ev; - ssize_t bread; - int fd; - - if (cond & (G_IO_ERR | G_IO_NVAL)) - goto failed; - - fd = g_io_channel_unix_get_fd(io); - memset(&ev, 0, sizeof(ev)); - - bread = read(fd, &ev, sizeof(ev)); - if (bread < 0) { - int err = -errno; - DBG("uhid-dev read: %s(%d)", strerror(-err), -err); - goto failed; - } - - DBG("uHID event type %d received", ev.type); - - switch (ev.type) { - case UHID_OUTPUT: - case UHID_FEATURE: - forward_report(hogdev, &ev); - break; - case UHID_OUTPUT_EV: - DBG("uHID output event: type %d code %d value %d", - ev.u.output_ev.type, ev.u.output_ev.code, - ev.u.output_ev.value); - break; - default: - warn("unexpected uHID event"); - break; - } - - return TRUE; - -failed: - hogdev->uhid_watch_id = 0; - return FALSE; -} - -static void attio_connected_cb(GAttrib *attrib, gpointer user_data) -{ - struct hog_device *hogdev = user_data; - struct gatt_primary *prim = hogdev->hog_primary; - GSList *l; - - hogdev->attrib = g_attrib_ref(attrib); - - if (hogdev->reports == NULL) { - gatt_discover_char(hogdev->attrib, prim->range.start, - prim->range.end, NULL, - char_discovered_cb, hogdev); - return; - } - - for (l = hogdev->reports; l; l = l->next) { - struct report *r = l->data; - - r->notifyid = g_attrib_register(hogdev->attrib, - ATT_OP_HANDLE_NOTIFY, - r->decl->value_handle, - report_value_cb, r, NULL); - } -} - -static void attio_disconnected_cb(gpointer user_data) -{ - struct hog_device *hogdev = user_data; - GSList *l; - - for (l = hogdev->reports; l; l = l->next) { - struct report *r = l->data; - - g_attrib_unregister(hogdev->attrib, r->notifyid); - } - - g_attrib_unref(hogdev->attrib); - hogdev->attrib = NULL; -} - -static struct hog_device *hog_new_device(struct btd_device *device, - uint16_t id) -{ - struct hog_device *hogdev; - - hogdev = g_try_new0(struct hog_device, 1); - if (!hogdev) - return NULL; - - hogdev->id = id; - hogdev->device = btd_device_ref(device); - - return hogdev; -} - -static void report_free(void *data) -{ - struct report *report = data; - struct hog_device *hogdev = report->hogdev; - - if (hogdev->attrib) - g_attrib_unregister(hogdev->attrib, report->notifyid); - - g_free(report->decl); - g_free(report); -} - -static void hog_free_device(struct hog_device *hogdev) -{ - btd_device_unref(hogdev->device); - g_slist_free_full(hogdev->reports, report_free); - g_attrib_unref(hogdev->attrib); - g_free(hogdev->hog_primary); - g_free(hogdev); -} - -static struct hog_device *hog_register_device(struct btd_device *device, - struct gatt_primary *prim) -{ - struct hog_device *hogdev; - GIOCondition cond = G_IO_IN | G_IO_ERR | G_IO_NVAL; - GIOChannel *io; - - hogdev = hog_new_device(device, prim->range.start); - if (!hogdev) - return NULL; - - hogdev->uhid_fd = open(UHID_DEVICE_FILE, O_RDWR | O_CLOEXEC); - if (hogdev->uhid_fd < 0) { - error("Failed to open uHID device: %s(%d)", strerror(errno), - errno); - hog_free_device(hogdev); - return NULL; - } - - io = g_io_channel_unix_new(hogdev->uhid_fd); - g_io_channel_set_encoding(io, NULL, NULL); - hogdev->uhid_watch_id = g_io_add_watch(io, cond, uhid_event_cb, - hogdev); - g_io_channel_unref(io); - - hogdev->hog_primary = g_memdup(prim, sizeof(*prim)); - - hogdev->attioid = btd_device_add_attio_callback(device, - attio_connected_cb, - attio_disconnected_cb, - hogdev); - - return hogdev; -} - -static int hog_unregister_device(struct hog_device *hogdev) -{ - struct uhid_event ev; - - btd_device_remove_attio_callback(hogdev->device, hogdev->attioid); - - if (hogdev->uhid_watch_id) { - g_source_remove(hogdev->uhid_watch_id); - hogdev->uhid_watch_id = 0; - } - - memset(&ev, 0, sizeof(ev)); - ev.type = UHID_DESTROY; - if (write(hogdev->uhid_fd, &ev, sizeof(ev)) < 0) - error("Failed to destroy uHID device: %s", strerror(errno)); - - close(hogdev->uhid_fd); - hogdev->uhid_fd = -1; - - hog_free_device(hogdev); - - return 0; -} - -static int set_control_point(struct hog_device *hogdev, gboolean suspend) -{ - uint8_t value = suspend ? 0x00 : 0x01; - - if (hogdev->attrib == NULL) - return -ENOTCONN; - - DBG("0x%4X HID Control Point: %s", hogdev->id, suspend ? - "Suspend" : "Exit Suspend"); - - if (hogdev->ctrlpt_handle == 0) - return -ENOTSUP; - - gatt_write_char(hogdev->attrib, hogdev->ctrlpt_handle, &value, - sizeof(value), NULL, NULL); - - return 0; -} - -static void set_suspend(gpointer data, gpointer user_data) -{ - struct hog_device *hogdev = data; - gboolean suspend = GPOINTER_TO_INT(user_data); - - set_control_point(hogdev, suspend); -} - -static void suspend_callback(void) -{ - gboolean suspend = TRUE; - - DBG("Suspending ..."); - - g_slist_foreach(devices, set_suspend, GINT_TO_POINTER(suspend)); -} - -static void resume_callback(void) -{ - gboolean suspend = FALSE; - - DBG("Resuming ..."); - - g_slist_foreach(devices, set_suspend, GINT_TO_POINTER(suspend)); -} - -static int hog_probe(struct btd_profile *p, struct btd_device *device, - GSList *uuids) -{ - const char *path = device_get_path(device); - GSList *primaries, *l; - - DBG("path %s", path); - - primaries = btd_device_get_primaries(device); - if (primaries == NULL) - return -EINVAL; - - for (l = primaries; l; l = g_slist_next(l)) { - struct gatt_primary *prim = l->data; - struct hog_device *hogdev; - - if (strcmp(prim->uuid, HOG_UUID) != 0) - continue; - - hogdev = hog_register_device(device, prim); - if (hogdev == NULL) - continue; - - devices = g_slist_append(devices, hogdev); - } - - return 0; -} - -static void remove_device(gpointer a, gpointer b) -{ - struct hog_device *hogdev = a; - struct btd_device *device = b; - - if (hogdev->device != device) - return; - - devices = g_slist_remove(devices, hogdev); - hog_unregister_device(hogdev); -} - -static void hog_remove(struct btd_profile *p, struct btd_device *device) -{ - const char *path = device_get_path(device); - - DBG("path %s", path); - - g_slist_foreach(devices, remove_device, device); -} - -static struct btd_profile hog_profile = { - .name = "input-hog", - .remote_uuid = HOG_UUID, - .device_probe = hog_probe, - .device_remove = hog_remove, -}; - -static int hog_init(void) -{ - int err; - - err = suspend_init(suspend_callback, resume_callback); - if (err < 0) - error("Loading suspend plugin failed: %s (%d)", strerror(-err), - -err); - else - suspend_supported = TRUE; - - return btd_profile_register(&hog_profile); -} - -static void hog_exit(void) -{ - if (suspend_supported) - suspend_exit(); - - btd_profile_unregister(&hog_profile); -} - -BLUETOOTH_PLUGIN_DEFINE(hog, VERSION, BLUETOOTH_PLUGIN_PRIORITY_DEFAULT, - hog_init, hog_exit) diff --git a/GRIB_BLE_HUB/libs/ble_extend/profiles/input/input.conf b/GRIB_BLE_HUB/libs/ble_extend/profiles/input/input.conf deleted file mode 100644 index abfb64f..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/profiles/input/input.conf +++ /dev/null @@ -1,9 +0,0 @@ -# Configuration file for the input service - -# This section contains options which are not specific to any -# particular interface -[General] - -# Set idle timeout (in minutes) before the connection will -# be disconnect (defaults to 0 for no timeout) -#IdleTimeout=30 diff --git a/GRIB_BLE_HUB/libs/ble_extend/profiles/input/manager.c b/GRIB_BLE_HUB/libs/ble_extend/profiles/input/manager.c deleted file mode 100644 index d30ba67..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/profiles/input/manager.c +++ /dev/null @@ -1,162 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2004-2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include - -#include -#include -#include - -#include "log.h" -#include "plugin.h" - -#include "lib/uuid.h" -#include "../src/adapter.h" -#include "../src/device.h" -#include "../src/profile.h" - -#include "device.h" -#include "server.h" -#include "manager.h" - -static int idle_timeout = 0; - -static void input_remove(struct btd_device *device, const char *uuid) -{ - const char *path = device_get_path(device); - - DBG("path %s", path); - - input_device_unregister(path, uuid); -} - -static int hid_device_probe(struct btd_profile *p, struct btd_device *device, - GSList *uuids) -{ - const char *path = device_get_path(device); - const sdp_record_t *rec = btd_device_get_record(device, uuids->data); - - DBG("path %s", path); - - if (!rec) - return -1; - - return input_device_register(device, path, HID_UUID, rec, - idle_timeout * 60); -} - -static void hid_device_remove(struct btd_profile *p, struct btd_device *device) -{ - input_remove(device, HID_UUID); -} - -static int hid_server_probe(struct btd_profile *p, struct btd_adapter *adapter) -{ - return server_start(adapter_get_address(adapter)); -} - -static void hid_server_remove(struct btd_profile *p, - struct btd_adapter *adapter) -{ - server_stop(adapter_get_address(adapter)); -} - -static struct btd_profile input_profile = { - .name = "input-hid", - .local_uuid = HID_UUID, - .remote_uuid = HID_UUID, - - .auto_connect = true, - .connect = input_device_connect, - .disconnect = input_device_disconnect, - - .device_probe = hid_device_probe, - .device_remove = hid_device_remove, - - .adapter_probe = hid_server_probe, - .adapter_remove = hid_server_remove, -}; - -void input_manager_device_connected(struct btd_device *dev, int err) -{ - device_profile_connected(dev, &input_profile, err); -} - -void input_manager_device_disconnected(struct btd_device *dev, int err) -{ - device_profile_disconnected(dev, &input_profile, err); -} - -static GKeyFile *load_config_file(const char *file) -{ - GKeyFile *keyfile; - GError *err = NULL; - - keyfile = g_key_file_new(); - - if (!g_key_file_load_from_file(keyfile, file, 0, &err)) { - if (!g_error_matches(err, G_FILE_ERROR, G_FILE_ERROR_NOENT)) - error("Parsing %s failed: %s", file, err->message); - g_error_free(err); - g_key_file_free(keyfile); - return NULL; - } - - return keyfile; -} - -static int input_init(void) -{ - GKeyFile *config; - GError *err = NULL; - - config = load_config_file(CONFIGDIR "/input.conf"); - if (config) { - idle_timeout = g_key_file_get_integer(config, "General", - "IdleTimeout", &err); - if (err) { - DBG("input.conf: %s", err->message); - g_error_free(err); - } - } - - btd_profile_register(&input_profile); - - if (config) - g_key_file_free(config); - - return 0; -} - -static void input_exit(void) -{ - btd_profile_unregister(&input_profile); -} - -BLUETOOTH_PLUGIN_DEFINE(input, VERSION, BLUETOOTH_PLUGIN_PRIORITY_DEFAULT, - input_init, input_exit) diff --git a/GRIB_BLE_HUB/libs/ble_extend/profiles/input/manager.h b/GRIB_BLE_HUB/libs/ble_extend/profiles/input/manager.h deleted file mode 100644 index 3a05094..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/profiles/input/manager.h +++ /dev/null @@ -1,25 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2004-2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -void input_manager_device_connected(struct btd_device *dev, int err); -void input_manager_device_disconnected(struct btd_device *dev, int err); diff --git a/GRIB_BLE_HUB/libs/ble_extend/profiles/input/server.c b/GRIB_BLE_HUB/libs/ble_extend/profiles/input/server.c deleted file mode 100644 index e15ae88..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/profiles/input/server.c +++ /dev/null @@ -1,255 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2004-2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include -#include - -#include -#include - -#include -#include - -#include "log.h" - -#include "glib-helper.h" -#include "btio/btio.h" -#include "lib/uuid.h" -#include "../src/adapter.h" -#include "../src/device.h" -#include "../src/profile.h" - -#include "device.h" -#include "server.h" - -static GSList *servers = NULL; -struct input_server { - bdaddr_t src; - GIOChannel *ctrl; - GIOChannel *intr; - GIOChannel *confirm; -}; - -static gint server_cmp(gconstpointer s, gconstpointer user_data) -{ - const struct input_server *server = s; - const bdaddr_t *src = user_data; - - return bacmp(&server->src, src); -} - -static void connect_event_cb(GIOChannel *chan, GError *err, gpointer data) -{ - uint16_t psm; - bdaddr_t src, dst; - char address[18]; - GError *gerr = NULL; - int ret; - - if (err) { - error("%s", err->message); - return; - } - - bt_io_get(chan, &gerr, - BT_IO_OPT_SOURCE_BDADDR, &src, - BT_IO_OPT_DEST_BDADDR, &dst, - BT_IO_OPT_PSM, &psm, - BT_IO_OPT_INVALID); - if (gerr) { - error("%s", gerr->message); - g_error_free(gerr); - g_io_channel_shutdown(chan, TRUE, NULL); - return; - } - - ba2str(&dst, address); - DBG("Incoming connection from %s on PSM %d", address, psm); - - ret = input_device_set_channel(&src, &dst, psm, chan); - if (ret == 0) - return; - - error("Refusing input device connect: %s (%d)", strerror(-ret), -ret); - - /* Send unplug virtual cable to unknown devices */ - if (ret == -ENOENT && psm == L2CAP_PSM_HIDP_CTRL) { - unsigned char unplug = 0x15; - int sk = g_io_channel_unix_get_fd(chan); - if (write(sk, &unplug, sizeof(unplug)) < 0) - error("Unable to send virtual cable unplug"); - } - - g_io_channel_shutdown(chan, TRUE, NULL); -} - -static void auth_callback(DBusError *derr, void *user_data) -{ - struct input_server *server = user_data; - bdaddr_t src, dst; - GError *err = NULL; - - bt_io_get(server->confirm, &err, - BT_IO_OPT_SOURCE_BDADDR, &src, - BT_IO_OPT_DEST_BDADDR, &dst, - BT_IO_OPT_INVALID); - if (err) { - error("%s", err->message); - g_error_free(err); - goto reject; - } - - if (derr) { - error("Access denied: %s", derr->message); - goto reject; - } - - if (!bt_io_accept(server->confirm, connect_event_cb, server, - NULL, &err)) { - error("bt_io_accept: %s", err->message); - g_error_free(err); - goto reject; - } - - g_io_channel_unref(server->confirm); - server->confirm = NULL; - - return; - -reject: - g_io_channel_shutdown(server->confirm, TRUE, NULL); - g_io_channel_unref(server->confirm); - server->confirm = NULL; - input_device_close_channels(&src, &dst); -} - -static void confirm_event_cb(GIOChannel *chan, gpointer user_data) -{ - struct input_server *server = user_data; - bdaddr_t src, dst; - GError *err = NULL; - char addr[18]; - guint ret; - - bt_io_get(chan, &err, - BT_IO_OPT_SOURCE_BDADDR, &src, - BT_IO_OPT_DEST_BDADDR, &dst, - BT_IO_OPT_INVALID); - if (err) { - error("%s", err->message); - g_error_free(err); - goto drop; - } - - if (server->confirm) { - char address[18]; - - ba2str(&dst, address); - error("Refusing connection from %s: setup in progress", - address); - goto drop; - } - - server->confirm = g_io_channel_ref(chan); - - ret = btd_request_authorization(&src, &dst, HID_UUID, - auth_callback, server); - if (ret != 0) - return; - - ba2str(&src, addr); - error("input: authorization for %s failed", addr); - - g_io_channel_unref(server->confirm); - server->confirm = NULL; - -drop: - input_device_close_channels(&src, &dst); - g_io_channel_shutdown(chan, TRUE, NULL); -} - -int server_start(const bdaddr_t *src) -{ - struct input_server *server; - GError *err = NULL; - - server = g_new0(struct input_server, 1); - bacpy(&server->src, src); - - server->ctrl = bt_io_listen(connect_event_cb, NULL, - server, NULL, &err, - BT_IO_OPT_SOURCE_BDADDR, src, - BT_IO_OPT_PSM, L2CAP_PSM_HIDP_CTRL, - BT_IO_OPT_SEC_LEVEL, BT_IO_SEC_LOW, - BT_IO_OPT_INVALID); - if (!server->ctrl) { - error("Failed to listen on control channel"); - g_error_free(err); - g_free(server); - return -1; - } - - server->intr = bt_io_listen(NULL, confirm_event_cb, - server, NULL, &err, - BT_IO_OPT_SOURCE_BDADDR, src, - BT_IO_OPT_PSM, L2CAP_PSM_HIDP_INTR, - BT_IO_OPT_SEC_LEVEL, BT_IO_SEC_LOW, - BT_IO_OPT_INVALID); - if (!server->intr) { - error("Failed to listen on interrupt channel"); - g_io_channel_unref(server->ctrl); - g_error_free(err); - g_free(server); - return -1; - } - - servers = g_slist_append(servers, server); - - return 0; -} - -void server_stop(const bdaddr_t *src) -{ - struct input_server *server; - GSList *l; - - l = g_slist_find_custom(servers, src, server_cmp); - if (!l) - return; - - server = l->data; - - g_io_channel_shutdown(server->intr, TRUE, NULL); - g_io_channel_unref(server->intr); - - g_io_channel_shutdown(server->ctrl, TRUE, NULL); - g_io_channel_unref(server->ctrl); - - servers = g_slist_remove(servers, server); - g_free(server); -} diff --git a/GRIB_BLE_HUB/libs/ble_extend/profiles/input/server.h b/GRIB_BLE_HUB/libs/ble_extend/profiles/input/server.h deleted file mode 100644 index 74159bb..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/profiles/input/server.h +++ /dev/null @@ -1,25 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2004-2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -int server_start(const bdaddr_t *src); -void server_stop(const bdaddr_t *src); diff --git a/GRIB_BLE_HUB/libs/ble_extend/profiles/input/suspend-dummy.c b/GRIB_BLE_HUB/libs/ble_extend/profiles/input/suspend-dummy.c deleted file mode 100644 index 75dd536..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/profiles/input/suspend-dummy.c +++ /dev/null @@ -1,162 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2012 Nordic Semiconductor Inc. - * Copyright (C) 2012 Instituto Nokia de Tecnologia - INdT - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include -#include -#include -#include -#include -#include -#include - -#include - -#include "log.h" -#include "suspend.h" - -#define HOG_SUSPEND_FIFO "/tmp/hogsuspend" - -static suspend_event suspend_cb = NULL; -static resume_event resume_cb = NULL; -static guint watch = 0; - -static int fifo_open(void); - -static gboolean read_fifo(GIOChannel *io, GIOCondition cond, gpointer user_data) -{ - char buffer[12]; - gsize offset, left, bread; - GIOStatus iostatus; - - if (cond & (G_IO_ERR | G_IO_HUP)) { - /* - * Both ends needs to be open simultaneously before proceeding - * any input or output operation. When the remote closes the - * channel, hup signal is received on this end. - */ - fifo_open(); - return FALSE; - } - - offset = 0; - left = sizeof(buffer) - 1; - memset(buffer, 0, sizeof(buffer)); - - do { - iostatus = g_io_channel_read_chars(io, &buffer[offset], left, - &bread, NULL); - - offset += bread; - left -= bread; - if (left == 0) - break; - } while (iostatus == G_IO_STATUS_NORMAL); - - if (g_ascii_strncasecmp("suspend", buffer, 7) == 0) - suspend_cb(); - else if (g_ascii_strncasecmp("resume", buffer, 6) == 0) - resume_cb(); - - return TRUE; -} - -static int fifo_open(void) -{ - GIOCondition condition = G_IO_IN | G_IO_ERR | G_IO_HUP; - GIOChannel *fifoio; - int fd; - - fd = open(HOG_SUSPEND_FIFO, O_RDONLY | O_NONBLOCK); - if (fd < 0) { - int err = -errno; - error("Can't open FIFO (%s): %s(%d)", HOG_SUSPEND_FIFO, - strerror(-err), -err); - return err; - } - - fifoio = g_io_channel_unix_new(fd); - g_io_channel_set_close_on_unref(fifoio, TRUE); - - watch = g_io_add_watch(fifoio, condition, read_fifo, NULL); - - g_io_channel_unref(fifoio); - - return 0; -} - -int suspend_init(suspend_event suspend, resume_event resume) -{ - struct stat st; - int ret; - - DBG(""); - - suspend_cb = suspend; - resume_cb = resume; - - if (stat(HOG_SUSPEND_FIFO, &st) == 0) { - if (!S_ISFIFO(st.st_mode)) { - error("Unexpected non-FIFO %s file", HOG_SUSPEND_FIFO); - return -EIO; - } - - if (unlink(HOG_SUSPEND_FIFO) < 0) { - int err = -errno; - error("Failed to remove FIFO (%s): %s (%d)", - HOG_SUSPEND_FIFO, strerror(-err), -err); - return err; - } - } - - if (mkfifo(HOG_SUSPEND_FIFO, S_IRUSR | S_IWUSR) < 0) { - int err = -errno; - - error("Can't create FIFO (%s): %s (%d)", HOG_SUSPEND_FIFO, - strerror(-err), -err); - return err; - } - - DBG("Created suspend-dummy FIFO on %s", HOG_SUSPEND_FIFO); - - ret = fifo_open(); - if (ret < 0) - unlink(HOG_SUSPEND_FIFO); - - return ret; -} - -void suspend_exit(void) -{ - if (watch > 0) { - g_source_remove(watch); - watch = 0; - } - - unlink(HOG_SUSPEND_FIFO); -} diff --git a/GRIB_BLE_HUB/libs/ble_extend/profiles/input/suspend.h b/GRIB_BLE_HUB/libs/ble_extend/profiles/input/suspend.h deleted file mode 100644 index bfee3cf..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/profiles/input/suspend.h +++ /dev/null @@ -1,29 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2012 Nordic Semiconductor Inc. - * Copyright (C) 2012 Instituto Nokia de Tecnologia - INdT - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -typedef void (*suspend_event) (void); -typedef void (*resume_event) (void); - -int suspend_init(suspend_event suspend, resume_event resume); -void suspend_exit(void); diff --git a/GRIB_BLE_HUB/libs/ble_extend/profiles/input/uhid_copy.h b/GRIB_BLE_HUB/libs/ble_extend/profiles/input/uhid_copy.h deleted file mode 100644 index 381b062..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/profiles/input/uhid_copy.h +++ /dev/null @@ -1,104 +0,0 @@ -#ifndef __UHID_H_ -#define __UHID_H_ - -/* - * User-space I/O driver support for HID subsystem - * Copyright (c) 2012 David Herrmann - */ - -/* - * This program is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by the Free - * Software Foundation; either version 2 of the License, or (at your option) - * any later version. - */ - -/* - * Public header for user-space communication. We try to keep every structure - * aligned but to be safe we also use __attribute__((__packed__)). Therefore, - * the communication should be ABI compatible even between architectures. - */ - -#include -#include - -enum uhid_event_type { - UHID_CREATE, - UHID_DESTROY, - UHID_START, - UHID_STOP, - UHID_OPEN, - UHID_CLOSE, - UHID_OUTPUT, - UHID_OUTPUT_EV, - UHID_INPUT, - UHID_FEATURE, - UHID_FEATURE_ANSWER, -}; - -struct uhid_create_req { - __u8 name[128]; - __u8 phys[64]; - __u8 uniq[64]; - __u8 *rd_data; - __u16 rd_size; - - __u16 bus; - __u32 vendor; - __u32 product; - __u32 version; - __u32 country; -} __attribute__((__packed__)); - -#define UHID_DATA_MAX 4096 - -enum uhid_report_type { - UHID_FEATURE_REPORT, - UHID_OUTPUT_REPORT, - UHID_INPUT_REPORT, -}; - -struct uhid_input_req { - __u8 data[UHID_DATA_MAX]; - __u16 size; -} __attribute__((__packed__)); - -struct uhid_output_req { - __u8 data[UHID_DATA_MAX]; - __u16 size; - __u8 rtype; -} __attribute__((__packed__)); - -struct uhid_output_ev_req { - __u16 type; - __u16 code; - __s32 value; -} __attribute__((__packed__)); - -struct uhid_feature_req { - __u32 id; - __u8 rnum; - __u8 rtype; -} __attribute__((__packed__)); - -struct uhid_feature_answer_req { - __u32 id; - __u16 err; - __u16 size; - __u8 data[UHID_DATA_MAX]; -}; - -struct uhid_event { - __u32 type; - - union { - struct uhid_create_req create; - struct uhid_input_req input; - struct uhid_output_req output; - struct uhid_output_ev_req output_ev; - struct uhid_feature_req feature; - struct uhid_feature_answer_req feature_answer; - } u; -} __attribute__((__packed__)); - -#endif /* __UHID_H_ */ diff --git a/GRIB_BLE_HUB/libs/ble_extend/profiles/network/.deps/.dirstamp b/GRIB_BLE_HUB/libs/ble_extend/profiles/network/.deps/.dirstamp deleted file mode 100644 index e69de29..0000000 diff --git a/GRIB_BLE_HUB/libs/ble_extend/profiles/network/.deps/bluetoothd-common.Po b/GRIB_BLE_HUB/libs/ble_extend/profiles/network/.deps/bluetoothd-common.Po deleted file mode 100644 index e204570..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/profiles/network/.deps/bluetoothd-common.Po +++ /dev/null @@ -1,531 +0,0 @@ -profiles/network/bluetoothd-common.o: profiles/network/common.c \ - /usr/include/stdc-predef.h config.h /usr/include/stdio.h \ - /usr/include/features.h /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/sys_errlist.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio.h /usr/include/errno.h \ - /usr/include/arm-linux-gnueabihf/bits/errno.h /usr/include/linux/errno.h \ - /usr/include/arm-linux-gnueabihf/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/include/unistd.h /usr/include/arm-linux-gnueabihf/bits/posix_opt.h \ - /usr/include/arm-linux-gnueabihf/bits/environments.h \ - /usr/include/arm-linux-gnueabihf/bits/confname.h /usr/include/getopt.h \ - /usr/include/stdlib.h /usr/include/arm-linux-gnueabihf/bits/waitflags.h \ - /usr/include/arm-linux-gnueabihf/bits/waitstatus.h /usr/include/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/xlocale.h /usr/include/arm-linux-gnueabihf/sys/types.h \ - /usr/include/time.h /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/alloca.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-float.h \ - /usr/include/arm-linux-gnueabihf/sys/param.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h \ - /usr/include/limits.h /usr/include/arm-linux-gnueabihf/bits/posix1_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/local_lim.h \ - /usr/include/linux/limits.h \ - /usr/include/arm-linux-gnueabihf/bits/posix2_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/xopen_lim.h /usr/include/signal.h \ - /usr/include/arm-linux-gnueabihf/bits/signum.h \ - /usr/include/arm-linux-gnueabihf/bits/siginfo.h \ - /usr/include/arm-linux-gnueabihf/bits/sigaction.h \ - /usr/include/arm-linux-gnueabihf/bits/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/asm/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigstack.h \ - /usr/include/arm-linux-gnueabihf/sys/ucontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigthread.h \ - /usr/include/arm-linux-gnueabihf/bits/param.h /usr/include/linux/param.h \ - /usr/include/arm-linux-gnueabihf/asm/param.h \ - /usr/include/asm-generic/param.h \ - /usr/include/arm-linux-gnueabihf/sys/ioctl.h \ - /usr/include/arm-linux-gnueabihf/bits/ioctls.h \ - /usr/include/arm-linux-gnueabihf/asm/ioctls.h \ - /usr/include/asm-generic/ioctls.h /usr/include/linux/ioctl.h \ - /usr/include/arm-linux-gnueabihf/asm/ioctl.h \ - /usr/include/asm-generic/ioctl.h \ - /usr/include/arm-linux-gnueabihf/bits/ioctl-types.h \ - /usr/include/arm-linux-gnueabihf/sys/ttydefaults.h \ - /usr/include/arm-linux-gnueabihf/sys/socket.h \ - /usr/include/arm-linux-gnueabihf/sys/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/socket.h \ - /usr/include/arm-linux-gnueabihf/bits/socket_type.h \ - /usr/include/arm-linux-gnueabihf/bits/sockaddr.h \ - /usr/include/arm-linux-gnueabihf/asm/socket.h \ - /usr/include/asm-generic/socket.h \ - /usr/include/arm-linux-gnueabihf/asm/sockios.h \ - /usr/include/asm-generic/sockios.h \ - /usr/include/arm-linux-gnueabihf/sys/wait.h /usr/include/net/if.h \ - /usr/include/linux/sockios.h lib/bluetooth/bluetooth.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h \ - /usr/include/stdint.h /usr/include/arm-linux-gnueabihf/bits/wchar.h \ - /usr/include/string.h /usr/include/arm-linux-gnueabihf/bits/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string2.h /usr/include/byteswap.h \ - /usr/include/netinet/in.h /usr/include/arm-linux-gnueabihf/bits/in.h \ - lib/bluetooth/l2cap.h lib/bluetooth/bnep.h /usr/include/glib-2.0/glib.h \ - /usr/include/glib-2.0/glib/galloca.h /usr/include/glib-2.0/glib/gtypes.h \ - /usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h \ - /usr/include/glib-2.0/glib/gmacros.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h \ - /usr/include/glib-2.0/glib/gversionmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/timex.h \ - /usr/include/glib-2.0/glib/garray.h \ - /usr/include/glib-2.0/glib/gasyncqueue.h \ - /usr/include/glib-2.0/glib/gthread.h \ - /usr/include/glib-2.0/glib/gatomic.h /usr/include/glib-2.0/glib/gerror.h \ - /usr/include/glib-2.0/glib/gquark.h \ - /usr/include/glib-2.0/glib/gbacktrace.h \ - /usr/include/glib-2.0/glib/gbase64.h \ - /usr/include/glib-2.0/glib/gbitlock.h \ - /usr/include/glib-2.0/glib/gbookmarkfile.h \ - /usr/include/glib-2.0/glib/gbytes.h \ - /usr/include/glib-2.0/glib/gcharset.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/gconvert.h \ - /usr/include/glib-2.0/glib/gdataset.h /usr/include/glib-2.0/glib/gdate.h \ - /usr/include/glib-2.0/glib/gdatetime.h \ - /usr/include/glib-2.0/glib/gtimezone.h /usr/include/glib-2.0/glib/gdir.h \ - /usr/include/dirent.h /usr/include/arm-linux-gnueabihf/bits/dirent.h \ - /usr/include/glib-2.0/glib/genviron.h \ - /usr/include/glib-2.0/glib/gfileutils.h \ - /usr/include/glib-2.0/glib/ggettext.h /usr/include/glib-2.0/glib/ghash.h \ - /usr/include/glib-2.0/glib/glist.h /usr/include/glib-2.0/glib/gmem.h \ - /usr/include/glib-2.0/glib/gnode.h /usr/include/glib-2.0/glib/ghmac.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/ghook.h \ - /usr/include/glib-2.0/glib/ghostutils.h \ - /usr/include/glib-2.0/glib/giochannel.h \ - /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gpoll.h \ - /usr/include/glib-2.0/glib/gslist.h /usr/include/glib-2.0/glib/gstring.h \ - /usr/include/glib-2.0/glib/gunicode.h \ - /usr/include/glib-2.0/glib/gutils.h \ - /usr/include/glib-2.0/glib/gkeyfile.h \ - /usr/include/glib-2.0/glib/gmappedfile.h \ - /usr/include/glib-2.0/glib/gmarkup.h \ - /usr/include/glib-2.0/glib/gmessages.h \ - /usr/include/glib-2.0/glib/goption.h \ - /usr/include/glib-2.0/glib/gpattern.h \ - /usr/include/glib-2.0/glib/gprimes.h /usr/include/glib-2.0/glib/gqsort.h \ - /usr/include/glib-2.0/glib/gqueue.h /usr/include/glib-2.0/glib/grand.h \ - /usr/include/glib-2.0/glib/gregex.h \ - /usr/include/glib-2.0/glib/gscanner.h \ - /usr/include/glib-2.0/glib/gsequence.h \ - /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gslice.h \ - /usr/include/glib-2.0/glib/gspawn.h \ - /usr/include/glib-2.0/glib/gstrfuncs.h \ - /usr/include/glib-2.0/glib/gstringchunk.h \ - /usr/include/glib-2.0/glib/gtestutils.h \ - /usr/include/glib-2.0/glib/gthreadpool.h \ - /usr/include/glib-2.0/glib/gtimer.h \ - /usr/include/glib-2.0/glib/gtrashstack.h \ - /usr/include/glib-2.0/glib/gtree.h \ - /usr/include/glib-2.0/glib/gurifuncs.h \ - /usr/include/glib-2.0/glib/gvarianttype.h \ - /usr/include/glib-2.0/glib/gvariant.h \ - /usr/include/glib-2.0/glib/gversion.h \ - /usr/include/glib-2.0/glib/deprecated/gallocator.h \ - /usr/include/glib-2.0/glib/deprecated/gcache.h \ - /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ - /usr/include/glib-2.0/glib/deprecated/gmain.h \ - /usr/include/glib-2.0/glib/deprecated/grel.h \ - /usr/include/glib-2.0/glib/deprecated/gthread.h /usr/include/pthread.h \ - /usr/include/sched.h /usr/include/arm-linux-gnueabihf/bits/sched.h \ - /usr/include/arm-linux-gnueabihf/bits/setjmp.h src/log.h \ - profiles/network/common.h lib/uuid.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/include/stdio.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/sys_errlist.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio.h: - -/usr/include/errno.h: - -/usr/include/arm-linux-gnueabihf/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/arm-linux-gnueabihf/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/include/unistd.h: - -/usr/include/arm-linux-gnueabihf/bits/posix_opt.h: - -/usr/include/arm-linux-gnueabihf/bits/environments.h: - -/usr/include/arm-linux-gnueabihf/bits/confname.h: - -/usr/include/getopt.h: - -/usr/include/stdlib.h: - -/usr/include/arm-linux-gnueabihf/bits/waitflags.h: - -/usr/include/arm-linux-gnueabihf/bits/waitstatus.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/xlocale.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/time.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/alloca.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-float.h: - -/usr/include/arm-linux-gnueabihf/sys/param.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h: - -/usr/include/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/local_lim.h: - -/usr/include/linux/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix2_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/xopen_lim.h: - -/usr/include/signal.h: - -/usr/include/arm-linux-gnueabihf/bits/signum.h: - -/usr/include/arm-linux-gnueabihf/bits/siginfo.h: - -/usr/include/arm-linux-gnueabihf/bits/sigaction.h: - -/usr/include/arm-linux-gnueabihf/bits/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/asm/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigstack.h: - -/usr/include/arm-linux-gnueabihf/sys/ucontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigthread.h: - -/usr/include/arm-linux-gnueabihf/bits/param.h: - -/usr/include/linux/param.h: - -/usr/include/arm-linux-gnueabihf/asm/param.h: - -/usr/include/asm-generic/param.h: - -/usr/include/arm-linux-gnueabihf/sys/ioctl.h: - -/usr/include/arm-linux-gnueabihf/bits/ioctls.h: - -/usr/include/arm-linux-gnueabihf/asm/ioctls.h: - -/usr/include/asm-generic/ioctls.h: - -/usr/include/linux/ioctl.h: - -/usr/include/arm-linux-gnueabihf/asm/ioctl.h: - -/usr/include/asm-generic/ioctl.h: - -/usr/include/arm-linux-gnueabihf/bits/ioctl-types.h: - -/usr/include/arm-linux-gnueabihf/sys/ttydefaults.h: - -/usr/include/arm-linux-gnueabihf/sys/socket.h: - -/usr/include/arm-linux-gnueabihf/sys/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/socket.h: - -/usr/include/arm-linux-gnueabihf/bits/socket_type.h: - -/usr/include/arm-linux-gnueabihf/bits/sockaddr.h: - -/usr/include/arm-linux-gnueabihf/asm/socket.h: - -/usr/include/asm-generic/socket.h: - -/usr/include/arm-linux-gnueabihf/asm/sockios.h: - -/usr/include/asm-generic/sockios.h: - -/usr/include/arm-linux-gnueabihf/sys/wait.h: - -/usr/include/net/if.h: - -/usr/include/linux/sockios.h: - -lib/bluetooth/bluetooth.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/arm-linux-gnueabihf/bits/wchar.h: - -/usr/include/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string2.h: - -/usr/include/byteswap.h: - -/usr/include/netinet/in.h: - -/usr/include/arm-linux-gnueabihf/bits/in.h: - -lib/bluetooth/l2cap.h: - -lib/bluetooth/bnep.h: - -/usr/include/glib-2.0/glib.h: - -/usr/include/glib-2.0/glib/galloca.h: - -/usr/include/glib-2.0/glib/gtypes.h: - -/usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h: - -/usr/include/glib-2.0/glib/gmacros.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h: - -/usr/include/glib-2.0/glib/gversionmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/timex.h: - -/usr/include/glib-2.0/glib/garray.h: - -/usr/include/glib-2.0/glib/gasyncqueue.h: - -/usr/include/glib-2.0/glib/gthread.h: - -/usr/include/glib-2.0/glib/gatomic.h: - -/usr/include/glib-2.0/glib/gerror.h: - -/usr/include/glib-2.0/glib/gquark.h: - -/usr/include/glib-2.0/glib/gbacktrace.h: - -/usr/include/glib-2.0/glib/gbase64.h: - -/usr/include/glib-2.0/glib/gbitlock.h: - -/usr/include/glib-2.0/glib/gbookmarkfile.h: - -/usr/include/glib-2.0/glib/gbytes.h: - -/usr/include/glib-2.0/glib/gcharset.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/gconvert.h: - -/usr/include/glib-2.0/glib/gdataset.h: - -/usr/include/glib-2.0/glib/gdate.h: - -/usr/include/glib-2.0/glib/gdatetime.h: - -/usr/include/glib-2.0/glib/gtimezone.h: - -/usr/include/glib-2.0/glib/gdir.h: - -/usr/include/dirent.h: - -/usr/include/arm-linux-gnueabihf/bits/dirent.h: - -/usr/include/glib-2.0/glib/genviron.h: - -/usr/include/glib-2.0/glib/gfileutils.h: - -/usr/include/glib-2.0/glib/ggettext.h: - -/usr/include/glib-2.0/glib/ghash.h: - -/usr/include/glib-2.0/glib/glist.h: - -/usr/include/glib-2.0/glib/gmem.h: - -/usr/include/glib-2.0/glib/gnode.h: - -/usr/include/glib-2.0/glib/ghmac.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/ghook.h: - -/usr/include/glib-2.0/glib/ghostutils.h: - -/usr/include/glib-2.0/glib/giochannel.h: - -/usr/include/glib-2.0/glib/gmain.h: - -/usr/include/glib-2.0/glib/gpoll.h: - -/usr/include/glib-2.0/glib/gslist.h: - -/usr/include/glib-2.0/glib/gstring.h: - -/usr/include/glib-2.0/glib/gunicode.h: - -/usr/include/glib-2.0/glib/gutils.h: - -/usr/include/glib-2.0/glib/gkeyfile.h: - -/usr/include/glib-2.0/glib/gmappedfile.h: - -/usr/include/glib-2.0/glib/gmarkup.h: - -/usr/include/glib-2.0/glib/gmessages.h: - -/usr/include/glib-2.0/glib/goption.h: - -/usr/include/glib-2.0/glib/gpattern.h: - -/usr/include/glib-2.0/glib/gprimes.h: - -/usr/include/glib-2.0/glib/gqsort.h: - -/usr/include/glib-2.0/glib/gqueue.h: - -/usr/include/glib-2.0/glib/grand.h: - -/usr/include/glib-2.0/glib/gregex.h: - -/usr/include/glib-2.0/glib/gscanner.h: - -/usr/include/glib-2.0/glib/gsequence.h: - -/usr/include/glib-2.0/glib/gshell.h: - -/usr/include/glib-2.0/glib/gslice.h: - -/usr/include/glib-2.0/glib/gspawn.h: - -/usr/include/glib-2.0/glib/gstrfuncs.h: - -/usr/include/glib-2.0/glib/gstringchunk.h: - -/usr/include/glib-2.0/glib/gtestutils.h: - -/usr/include/glib-2.0/glib/gthreadpool.h: - -/usr/include/glib-2.0/glib/gtimer.h: - -/usr/include/glib-2.0/glib/gtrashstack.h: - -/usr/include/glib-2.0/glib/gtree.h: - -/usr/include/glib-2.0/glib/gurifuncs.h: - -/usr/include/glib-2.0/glib/gvarianttype.h: - -/usr/include/glib-2.0/glib/gvariant.h: - -/usr/include/glib-2.0/glib/gversion.h: - -/usr/include/glib-2.0/glib/deprecated/gallocator.h: - -/usr/include/glib-2.0/glib/deprecated/gcache.h: - -/usr/include/glib-2.0/glib/deprecated/gcompletion.h: - -/usr/include/glib-2.0/glib/deprecated/gmain.h: - -/usr/include/glib-2.0/glib/deprecated/grel.h: - -/usr/include/glib-2.0/glib/deprecated/gthread.h: - -/usr/include/pthread.h: - -/usr/include/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/setjmp.h: - -src/log.h: - -profiles/network/common.h: - -lib/uuid.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/profiles/network/.deps/bluetoothd-connection.Po b/GRIB_BLE_HUB/libs/ble_extend/profiles/network/.deps/bluetoothd-connection.Po deleted file mode 100644 index 6797056..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/profiles/network/.deps/bluetoothd-connection.Po +++ /dev/null @@ -1,549 +0,0 @@ -profiles/network/bluetoothd-connection.o: profiles/network/connection.c \ - /usr/include/stdc-predef.h config.h /usr/include/stdio.h \ - /usr/include/features.h /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/sys_errlist.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdbool.h \ - /usr/include/errno.h /usr/include/arm-linux-gnueabihf/bits/errno.h \ - /usr/include/linux/errno.h /usr/include/arm-linux-gnueabihf/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/include/unistd.h /usr/include/arm-linux-gnueabihf/bits/posix_opt.h \ - /usr/include/arm-linux-gnueabihf/bits/environments.h \ - /usr/include/arm-linux-gnueabihf/bits/confname.h /usr/include/getopt.h \ - /usr/include/netinet/in.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h \ - /usr/include/stdint.h /usr/include/arm-linux-gnueabihf/bits/wchar.h \ - /usr/include/arm-linux-gnueabihf/sys/socket.h \ - /usr/include/arm-linux-gnueabihf/sys/uio.h \ - /usr/include/arm-linux-gnueabihf/sys/types.h /usr/include/time.h \ - /usr/include/endian.h /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/arm-linux-gnueabihf/bits/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/socket.h \ - /usr/include/arm-linux-gnueabihf/bits/socket_type.h \ - /usr/include/arm-linux-gnueabihf/bits/sockaddr.h \ - /usr/include/arm-linux-gnueabihf/asm/socket.h \ - /usr/include/asm-generic/socket.h \ - /usr/include/arm-linux-gnueabihf/asm/sockios.h \ - /usr/include/asm-generic/sockios.h \ - /usr/include/arm-linux-gnueabihf/bits/in.h lib/bluetooth/bluetooth.h \ - /usr/include/string.h /usr/include/xlocale.h \ - /usr/include/arm-linux-gnueabihf/bits/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string2.h /usr/include/stdlib.h \ - /usr/include/byteswap.h lib/bluetooth/bnep.h lib/bluetooth/sdp.h \ - /usr/include/glib-2.0/glib.h /usr/include/glib-2.0/glib/galloca.h \ - /usr/include/glib-2.0/glib/gtypes.h \ - /usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h \ - /usr/include/glib-2.0/glib/gmacros.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h \ - /usr/include/limits.h /usr/include/arm-linux-gnueabihf/bits/posix1_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/local_lim.h \ - /usr/include/linux/limits.h \ - /usr/include/arm-linux-gnueabihf/bits/posix2_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/xopen_lim.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h \ - /usr/include/glib-2.0/glib/gversionmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/timex.h \ - /usr/include/glib-2.0/glib/garray.h \ - /usr/include/glib-2.0/glib/gasyncqueue.h \ - /usr/include/glib-2.0/glib/gthread.h \ - /usr/include/glib-2.0/glib/gatomic.h /usr/include/glib-2.0/glib/gerror.h \ - /usr/include/glib-2.0/glib/gquark.h \ - /usr/include/glib-2.0/glib/gbacktrace.h /usr/include/signal.h \ - /usr/include/arm-linux-gnueabihf/bits/signum.h \ - /usr/include/arm-linux-gnueabihf/bits/siginfo.h \ - /usr/include/arm-linux-gnueabihf/bits/sigaction.h \ - /usr/include/arm-linux-gnueabihf/bits/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/asm/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigstack.h \ - /usr/include/arm-linux-gnueabihf/sys/ucontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigthread.h \ - /usr/include/glib-2.0/glib/gbase64.h \ - /usr/include/glib-2.0/glib/gbitlock.h \ - /usr/include/glib-2.0/glib/gbookmarkfile.h \ - /usr/include/glib-2.0/glib/gbytes.h \ - /usr/include/glib-2.0/glib/gcharset.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/gconvert.h \ - /usr/include/glib-2.0/glib/gdataset.h /usr/include/glib-2.0/glib/gdate.h \ - /usr/include/glib-2.0/glib/gdatetime.h \ - /usr/include/glib-2.0/glib/gtimezone.h /usr/include/glib-2.0/glib/gdir.h \ - /usr/include/dirent.h /usr/include/arm-linux-gnueabihf/bits/dirent.h \ - /usr/include/glib-2.0/glib/genviron.h \ - /usr/include/glib-2.0/glib/gfileutils.h \ - /usr/include/glib-2.0/glib/ggettext.h /usr/include/glib-2.0/glib/ghash.h \ - /usr/include/glib-2.0/glib/glist.h /usr/include/glib-2.0/glib/gmem.h \ - /usr/include/glib-2.0/glib/gnode.h /usr/include/glib-2.0/glib/ghmac.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/ghook.h \ - /usr/include/glib-2.0/glib/ghostutils.h \ - /usr/include/glib-2.0/glib/giochannel.h \ - /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gpoll.h \ - /usr/include/glib-2.0/glib/gslist.h /usr/include/glib-2.0/glib/gstring.h \ - /usr/include/glib-2.0/glib/gunicode.h \ - /usr/include/glib-2.0/glib/gutils.h \ - /usr/include/glib-2.0/glib/gkeyfile.h \ - /usr/include/glib-2.0/glib/gmappedfile.h \ - /usr/include/glib-2.0/glib/gmarkup.h \ - /usr/include/glib-2.0/glib/gmessages.h \ - /usr/include/glib-2.0/glib/goption.h \ - /usr/include/glib-2.0/glib/gpattern.h \ - /usr/include/glib-2.0/glib/gprimes.h /usr/include/glib-2.0/glib/gqsort.h \ - /usr/include/glib-2.0/glib/gqueue.h /usr/include/glib-2.0/glib/grand.h \ - /usr/include/glib-2.0/glib/gregex.h \ - /usr/include/glib-2.0/glib/gscanner.h \ - /usr/include/glib-2.0/glib/gsequence.h \ - /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gslice.h \ - /usr/include/glib-2.0/glib/gspawn.h \ - /usr/include/glib-2.0/glib/gstrfuncs.h \ - /usr/include/glib-2.0/glib/gstringchunk.h \ - /usr/include/glib-2.0/glib/gtestutils.h \ - /usr/include/glib-2.0/glib/gthreadpool.h \ - /usr/include/glib-2.0/glib/gtimer.h \ - /usr/include/glib-2.0/glib/gtrashstack.h \ - /usr/include/glib-2.0/glib/gtree.h \ - /usr/include/glib-2.0/glib/gurifuncs.h \ - /usr/include/glib-2.0/glib/gvarianttype.h \ - /usr/include/glib-2.0/glib/gvariant.h \ - /usr/include/glib-2.0/glib/gversion.h \ - /usr/include/glib-2.0/glib/deprecated/gallocator.h \ - /usr/include/glib-2.0/glib/deprecated/gcache.h \ - /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ - /usr/include/glib-2.0/glib/deprecated/gmain.h \ - /usr/include/glib-2.0/glib/deprecated/grel.h \ - /usr/include/glib-2.0/glib/deprecated/gthread.h /usr/include/pthread.h \ - /usr/include/sched.h /usr/include/arm-linux-gnueabihf/bits/sched.h \ - /usr/include/arm-linux-gnueabihf/bits/setjmp.h gdbus/gdbus.h \ - /usr/include/dbus-1.0/dbus/dbus.h \ - /usr/lib/arm-linux-gnueabihf/dbus-1.0/include/dbus/dbus-arch-deps.h \ - /usr/include/dbus-1.0/dbus/dbus-macros.h \ - /usr/include/dbus-1.0/dbus/dbus-address.h \ - /usr/include/dbus-1.0/dbus/dbus-types.h \ - /usr/include/dbus-1.0/dbus/dbus-errors.h \ - /usr/include/dbus-1.0/dbus/dbus-protocol.h \ - /usr/include/dbus-1.0/dbus/dbus-bus.h \ - /usr/include/dbus-1.0/dbus/dbus-connection.h \ - /usr/include/dbus-1.0/dbus/dbus-memory.h \ - /usr/include/dbus-1.0/dbus/dbus-message.h \ - /usr/include/dbus-1.0/dbus/dbus-shared.h \ - /usr/include/dbus-1.0/dbus/dbus-misc.h \ - /usr/include/dbus-1.0/dbus/dbus-pending-call.h \ - /usr/include/dbus-1.0/dbus/dbus-server.h \ - /usr/include/dbus-1.0/dbus/dbus-signature.h \ - /usr/include/dbus-1.0/dbus/dbus-syntax.h \ - /usr/include/dbus-1.0/dbus/dbus-threads.h btio/btio.h src/log.h \ - src/dbus-common.h src/adapter.h lib/bluetooth/hci.h \ - lib/bluetooth/hci_lib.h src/device.h src/error.h \ - profiles/network/common.h profiles/network/manager.h \ - profiles/network/connection.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/include/stdio.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/sys_errlist.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdbool.h: - -/usr/include/errno.h: - -/usr/include/arm-linux-gnueabihf/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/arm-linux-gnueabihf/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/include/unistd.h: - -/usr/include/arm-linux-gnueabihf/bits/posix_opt.h: - -/usr/include/arm-linux-gnueabihf/bits/environments.h: - -/usr/include/arm-linux-gnueabihf/bits/confname.h: - -/usr/include/getopt.h: - -/usr/include/netinet/in.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/arm-linux-gnueabihf/bits/wchar.h: - -/usr/include/arm-linux-gnueabihf/sys/socket.h: - -/usr/include/arm-linux-gnueabihf/sys/uio.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/time.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/arm-linux-gnueabihf/bits/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/socket.h: - -/usr/include/arm-linux-gnueabihf/bits/socket_type.h: - -/usr/include/arm-linux-gnueabihf/bits/sockaddr.h: - -/usr/include/arm-linux-gnueabihf/asm/socket.h: - -/usr/include/asm-generic/socket.h: - -/usr/include/arm-linux-gnueabihf/asm/sockios.h: - -/usr/include/asm-generic/sockios.h: - -/usr/include/arm-linux-gnueabihf/bits/in.h: - -lib/bluetooth/bluetooth.h: - -/usr/include/string.h: - -/usr/include/xlocale.h: - -/usr/include/arm-linux-gnueabihf/bits/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string2.h: - -/usr/include/stdlib.h: - -/usr/include/byteswap.h: - -lib/bluetooth/bnep.h: - -lib/bluetooth/sdp.h: - -/usr/include/glib-2.0/glib.h: - -/usr/include/glib-2.0/glib/galloca.h: - -/usr/include/glib-2.0/glib/gtypes.h: - -/usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h: - -/usr/include/glib-2.0/glib/gmacros.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h: - -/usr/include/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/local_lim.h: - -/usr/include/linux/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix2_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/xopen_lim.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h: - -/usr/include/glib-2.0/glib/gversionmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/timex.h: - -/usr/include/glib-2.0/glib/garray.h: - -/usr/include/glib-2.0/glib/gasyncqueue.h: - -/usr/include/glib-2.0/glib/gthread.h: - -/usr/include/glib-2.0/glib/gatomic.h: - -/usr/include/glib-2.0/glib/gerror.h: - -/usr/include/glib-2.0/glib/gquark.h: - -/usr/include/glib-2.0/glib/gbacktrace.h: - -/usr/include/signal.h: - -/usr/include/arm-linux-gnueabihf/bits/signum.h: - -/usr/include/arm-linux-gnueabihf/bits/siginfo.h: - -/usr/include/arm-linux-gnueabihf/bits/sigaction.h: - -/usr/include/arm-linux-gnueabihf/bits/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/asm/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigstack.h: - -/usr/include/arm-linux-gnueabihf/sys/ucontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigthread.h: - -/usr/include/glib-2.0/glib/gbase64.h: - -/usr/include/glib-2.0/glib/gbitlock.h: - -/usr/include/glib-2.0/glib/gbookmarkfile.h: - -/usr/include/glib-2.0/glib/gbytes.h: - -/usr/include/glib-2.0/glib/gcharset.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/gconvert.h: - -/usr/include/glib-2.0/glib/gdataset.h: - -/usr/include/glib-2.0/glib/gdate.h: - -/usr/include/glib-2.0/glib/gdatetime.h: - -/usr/include/glib-2.0/glib/gtimezone.h: - -/usr/include/glib-2.0/glib/gdir.h: - -/usr/include/dirent.h: - -/usr/include/arm-linux-gnueabihf/bits/dirent.h: - -/usr/include/glib-2.0/glib/genviron.h: - -/usr/include/glib-2.0/glib/gfileutils.h: - -/usr/include/glib-2.0/glib/ggettext.h: - -/usr/include/glib-2.0/glib/ghash.h: - -/usr/include/glib-2.0/glib/glist.h: - -/usr/include/glib-2.0/glib/gmem.h: - -/usr/include/glib-2.0/glib/gnode.h: - -/usr/include/glib-2.0/glib/ghmac.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/ghook.h: - -/usr/include/glib-2.0/glib/ghostutils.h: - -/usr/include/glib-2.0/glib/giochannel.h: - -/usr/include/glib-2.0/glib/gmain.h: - -/usr/include/glib-2.0/glib/gpoll.h: - -/usr/include/glib-2.0/glib/gslist.h: - -/usr/include/glib-2.0/glib/gstring.h: - -/usr/include/glib-2.0/glib/gunicode.h: - -/usr/include/glib-2.0/glib/gutils.h: - -/usr/include/glib-2.0/glib/gkeyfile.h: - -/usr/include/glib-2.0/glib/gmappedfile.h: - -/usr/include/glib-2.0/glib/gmarkup.h: - -/usr/include/glib-2.0/glib/gmessages.h: - -/usr/include/glib-2.0/glib/goption.h: - -/usr/include/glib-2.0/glib/gpattern.h: - -/usr/include/glib-2.0/glib/gprimes.h: - -/usr/include/glib-2.0/glib/gqsort.h: - -/usr/include/glib-2.0/glib/gqueue.h: - -/usr/include/glib-2.0/glib/grand.h: - -/usr/include/glib-2.0/glib/gregex.h: - -/usr/include/glib-2.0/glib/gscanner.h: - -/usr/include/glib-2.0/glib/gsequence.h: - -/usr/include/glib-2.0/glib/gshell.h: - -/usr/include/glib-2.0/glib/gslice.h: - -/usr/include/glib-2.0/glib/gspawn.h: - -/usr/include/glib-2.0/glib/gstrfuncs.h: - -/usr/include/glib-2.0/glib/gstringchunk.h: - -/usr/include/glib-2.0/glib/gtestutils.h: - -/usr/include/glib-2.0/glib/gthreadpool.h: - -/usr/include/glib-2.0/glib/gtimer.h: - -/usr/include/glib-2.0/glib/gtrashstack.h: - -/usr/include/glib-2.0/glib/gtree.h: - -/usr/include/glib-2.0/glib/gurifuncs.h: - -/usr/include/glib-2.0/glib/gvarianttype.h: - -/usr/include/glib-2.0/glib/gvariant.h: - -/usr/include/glib-2.0/glib/gversion.h: - -/usr/include/glib-2.0/glib/deprecated/gallocator.h: - -/usr/include/glib-2.0/glib/deprecated/gcache.h: - -/usr/include/glib-2.0/glib/deprecated/gcompletion.h: - -/usr/include/glib-2.0/glib/deprecated/gmain.h: - -/usr/include/glib-2.0/glib/deprecated/grel.h: - -/usr/include/glib-2.0/glib/deprecated/gthread.h: - -/usr/include/pthread.h: - -/usr/include/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/setjmp.h: - -gdbus/gdbus.h: - -/usr/include/dbus-1.0/dbus/dbus.h: - -/usr/lib/arm-linux-gnueabihf/dbus-1.0/include/dbus/dbus-arch-deps.h: - -/usr/include/dbus-1.0/dbus/dbus-macros.h: - -/usr/include/dbus-1.0/dbus/dbus-address.h: - -/usr/include/dbus-1.0/dbus/dbus-types.h: - -/usr/include/dbus-1.0/dbus/dbus-errors.h: - -/usr/include/dbus-1.0/dbus/dbus-protocol.h: - -/usr/include/dbus-1.0/dbus/dbus-bus.h: - -/usr/include/dbus-1.0/dbus/dbus-connection.h: - -/usr/include/dbus-1.0/dbus/dbus-memory.h: - -/usr/include/dbus-1.0/dbus/dbus-message.h: - -/usr/include/dbus-1.0/dbus/dbus-shared.h: - -/usr/include/dbus-1.0/dbus/dbus-misc.h: - -/usr/include/dbus-1.0/dbus/dbus-pending-call.h: - -/usr/include/dbus-1.0/dbus/dbus-server.h: - -/usr/include/dbus-1.0/dbus/dbus-signature.h: - -/usr/include/dbus-1.0/dbus/dbus-syntax.h: - -/usr/include/dbus-1.0/dbus/dbus-threads.h: - -btio/btio.h: - -src/log.h: - -src/dbus-common.h: - -src/adapter.h: - -lib/bluetooth/hci.h: - -lib/bluetooth/hci_lib.h: - -src/device.h: - -src/error.h: - -profiles/network/common.h: - -profiles/network/manager.h: - -profiles/network/connection.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/profiles/network/.deps/bluetoothd-manager.Po b/GRIB_BLE_HUB/libs/ble_extend/profiles/network/.deps/bluetoothd-manager.Po deleted file mode 100644 index 9943550..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/profiles/network/.deps/bluetoothd-manager.Po +++ /dev/null @@ -1,523 +0,0 @@ -profiles/network/bluetoothd-manager.o: profiles/network/manager.c \ - /usr/include/stdc-predef.h config.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdbool.h \ - lib/bluetooth/bluetooth.h /usr/include/stdio.h /usr/include/features.h \ - /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/sys_errlist.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h \ - /usr/include/stdint.h /usr/include/arm-linux-gnueabihf/bits/wchar.h \ - /usr/include/string.h /usr/include/xlocale.h \ - /usr/include/arm-linux-gnueabihf/bits/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string2.h /usr/include/stdlib.h \ - /usr/include/endian.h /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/byteswap.h /usr/include/netinet/in.h \ - /usr/include/arm-linux-gnueabihf/sys/socket.h \ - /usr/include/arm-linux-gnueabihf/sys/uio.h \ - /usr/include/arm-linux-gnueabihf/sys/types.h /usr/include/time.h \ - /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/arm-linux-gnueabihf/bits/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/socket.h \ - /usr/include/arm-linux-gnueabihf/bits/socket_type.h \ - /usr/include/arm-linux-gnueabihf/bits/sockaddr.h \ - /usr/include/arm-linux-gnueabihf/asm/socket.h \ - /usr/include/asm-generic/socket.h \ - /usr/include/arm-linux-gnueabihf/asm/sockios.h \ - /usr/include/asm-generic/sockios.h \ - /usr/include/arm-linux-gnueabihf/bits/in.h lib/bluetooth/bnep.h \ - lib/bluetooth/sdp.h /usr/include/glib-2.0/glib.h \ - /usr/include/glib-2.0/glib/galloca.h /usr/include/glib-2.0/glib/gtypes.h \ - /usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h \ - /usr/include/glib-2.0/glib/gmacros.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h \ - /usr/include/limits.h /usr/include/arm-linux-gnueabihf/bits/posix1_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/local_lim.h \ - /usr/include/linux/limits.h \ - /usr/include/arm-linux-gnueabihf/bits/posix2_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/xopen_lim.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h \ - /usr/include/glib-2.0/glib/gversionmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/timex.h \ - /usr/include/glib-2.0/glib/garray.h \ - /usr/include/glib-2.0/glib/gasyncqueue.h \ - /usr/include/glib-2.0/glib/gthread.h \ - /usr/include/glib-2.0/glib/gatomic.h /usr/include/glib-2.0/glib/gerror.h \ - /usr/include/glib-2.0/glib/gquark.h \ - /usr/include/glib-2.0/glib/gbacktrace.h /usr/include/signal.h \ - /usr/include/arm-linux-gnueabihf/bits/signum.h \ - /usr/include/arm-linux-gnueabihf/bits/siginfo.h \ - /usr/include/arm-linux-gnueabihf/bits/sigaction.h \ - /usr/include/arm-linux-gnueabihf/bits/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/asm/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigstack.h \ - /usr/include/arm-linux-gnueabihf/sys/ucontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigthread.h \ - /usr/include/glib-2.0/glib/gbase64.h \ - /usr/include/glib-2.0/glib/gbitlock.h \ - /usr/include/glib-2.0/glib/gbookmarkfile.h \ - /usr/include/glib-2.0/glib/gbytes.h \ - /usr/include/glib-2.0/glib/gcharset.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/gconvert.h \ - /usr/include/glib-2.0/glib/gdataset.h /usr/include/glib-2.0/glib/gdate.h \ - /usr/include/glib-2.0/glib/gdatetime.h \ - /usr/include/glib-2.0/glib/gtimezone.h /usr/include/glib-2.0/glib/gdir.h \ - /usr/include/dirent.h /usr/include/arm-linux-gnueabihf/bits/dirent.h \ - /usr/include/glib-2.0/glib/genviron.h \ - /usr/include/glib-2.0/glib/gfileutils.h \ - /usr/include/glib-2.0/glib/ggettext.h /usr/include/glib-2.0/glib/ghash.h \ - /usr/include/glib-2.0/glib/glist.h /usr/include/glib-2.0/glib/gmem.h \ - /usr/include/glib-2.0/glib/gnode.h /usr/include/glib-2.0/glib/ghmac.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/ghook.h \ - /usr/include/glib-2.0/glib/ghostutils.h \ - /usr/include/glib-2.0/glib/giochannel.h \ - /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gpoll.h \ - /usr/include/glib-2.0/glib/gslist.h /usr/include/glib-2.0/glib/gstring.h \ - /usr/include/glib-2.0/glib/gunicode.h \ - /usr/include/glib-2.0/glib/gutils.h \ - /usr/include/glib-2.0/glib/gkeyfile.h \ - /usr/include/glib-2.0/glib/gmappedfile.h \ - /usr/include/glib-2.0/glib/gmarkup.h \ - /usr/include/glib-2.0/glib/gmessages.h \ - /usr/include/glib-2.0/glib/goption.h \ - /usr/include/glib-2.0/glib/gpattern.h \ - /usr/include/glib-2.0/glib/gprimes.h /usr/include/glib-2.0/glib/gqsort.h \ - /usr/include/glib-2.0/glib/gqueue.h /usr/include/glib-2.0/glib/grand.h \ - /usr/include/glib-2.0/glib/gregex.h \ - /usr/include/glib-2.0/glib/gscanner.h \ - /usr/include/glib-2.0/glib/gsequence.h \ - /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gslice.h \ - /usr/include/glib-2.0/glib/gspawn.h \ - /usr/include/glib-2.0/glib/gstrfuncs.h \ - /usr/include/glib-2.0/glib/gstringchunk.h \ - /usr/include/glib-2.0/glib/gtestutils.h \ - /usr/include/glib-2.0/glib/gthreadpool.h \ - /usr/include/glib-2.0/glib/gtimer.h \ - /usr/include/glib-2.0/glib/gtrashstack.h \ - /usr/include/glib-2.0/glib/gtree.h \ - /usr/include/glib-2.0/glib/gurifuncs.h \ - /usr/include/glib-2.0/glib/gvarianttype.h \ - /usr/include/glib-2.0/glib/gvariant.h \ - /usr/include/glib-2.0/glib/gversion.h \ - /usr/include/glib-2.0/glib/deprecated/gallocator.h \ - /usr/include/glib-2.0/glib/deprecated/gcache.h \ - /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ - /usr/include/glib-2.0/glib/deprecated/gmain.h \ - /usr/include/glib-2.0/glib/deprecated/grel.h \ - /usr/include/glib-2.0/glib/deprecated/gthread.h /usr/include/pthread.h \ - /usr/include/sched.h /usr/include/arm-linux-gnueabihf/bits/sched.h \ - /usr/include/arm-linux-gnueabihf/bits/setjmp.h gdbus/gdbus.h \ - /usr/include/dbus-1.0/dbus/dbus.h \ - /usr/lib/arm-linux-gnueabihf/dbus-1.0/include/dbus/dbus-arch-deps.h \ - /usr/include/dbus-1.0/dbus/dbus-macros.h \ - /usr/include/dbus-1.0/dbus/dbus-address.h \ - /usr/include/dbus-1.0/dbus/dbus-types.h \ - /usr/include/dbus-1.0/dbus/dbus-errors.h \ - /usr/include/dbus-1.0/dbus/dbus-protocol.h \ - /usr/include/dbus-1.0/dbus/dbus-bus.h \ - /usr/include/dbus-1.0/dbus/dbus-connection.h \ - /usr/include/dbus-1.0/dbus/dbus-memory.h \ - /usr/include/dbus-1.0/dbus/dbus-message.h \ - /usr/include/dbus-1.0/dbus/dbus-shared.h \ - /usr/include/dbus-1.0/dbus/dbus-misc.h \ - /usr/include/dbus-1.0/dbus/dbus-pending-call.h \ - /usr/include/dbus-1.0/dbus/dbus-server.h \ - /usr/include/dbus-1.0/dbus/dbus-signature.h \ - /usr/include/dbus-1.0/dbus/dbus-syntax.h \ - /usr/include/dbus-1.0/dbus/dbus-threads.h src/log.h src/plugin.h \ - lib/uuid.h src/adapter.h lib/bluetooth/hci.h lib/bluetooth/hci_lib.h \ - src/device.h src/profile.h profiles/network/manager.h \ - profiles/network/common.h profiles/network/connection.h \ - profiles/network/server.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdbool.h: - -lib/bluetooth/bluetooth.h: - -/usr/include/stdio.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/sys_errlist.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/arm-linux-gnueabihf/bits/wchar.h: - -/usr/include/string.h: - -/usr/include/xlocale.h: - -/usr/include/arm-linux-gnueabihf/bits/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string2.h: - -/usr/include/stdlib.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/byteswap.h: - -/usr/include/netinet/in.h: - -/usr/include/arm-linux-gnueabihf/sys/socket.h: - -/usr/include/arm-linux-gnueabihf/sys/uio.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/time.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/arm-linux-gnueabihf/bits/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/socket.h: - -/usr/include/arm-linux-gnueabihf/bits/socket_type.h: - -/usr/include/arm-linux-gnueabihf/bits/sockaddr.h: - -/usr/include/arm-linux-gnueabihf/asm/socket.h: - -/usr/include/asm-generic/socket.h: - -/usr/include/arm-linux-gnueabihf/asm/sockios.h: - -/usr/include/asm-generic/sockios.h: - -/usr/include/arm-linux-gnueabihf/bits/in.h: - -lib/bluetooth/bnep.h: - -lib/bluetooth/sdp.h: - -/usr/include/glib-2.0/glib.h: - -/usr/include/glib-2.0/glib/galloca.h: - -/usr/include/glib-2.0/glib/gtypes.h: - -/usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h: - -/usr/include/glib-2.0/glib/gmacros.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h: - -/usr/include/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/local_lim.h: - -/usr/include/linux/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix2_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/xopen_lim.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h: - -/usr/include/glib-2.0/glib/gversionmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/timex.h: - -/usr/include/glib-2.0/glib/garray.h: - -/usr/include/glib-2.0/glib/gasyncqueue.h: - -/usr/include/glib-2.0/glib/gthread.h: - -/usr/include/glib-2.0/glib/gatomic.h: - -/usr/include/glib-2.0/glib/gerror.h: - -/usr/include/glib-2.0/glib/gquark.h: - -/usr/include/glib-2.0/glib/gbacktrace.h: - -/usr/include/signal.h: - -/usr/include/arm-linux-gnueabihf/bits/signum.h: - -/usr/include/arm-linux-gnueabihf/bits/siginfo.h: - -/usr/include/arm-linux-gnueabihf/bits/sigaction.h: - -/usr/include/arm-linux-gnueabihf/bits/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/asm/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigstack.h: - -/usr/include/arm-linux-gnueabihf/sys/ucontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigthread.h: - -/usr/include/glib-2.0/glib/gbase64.h: - -/usr/include/glib-2.0/glib/gbitlock.h: - -/usr/include/glib-2.0/glib/gbookmarkfile.h: - -/usr/include/glib-2.0/glib/gbytes.h: - -/usr/include/glib-2.0/glib/gcharset.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/gconvert.h: - -/usr/include/glib-2.0/glib/gdataset.h: - -/usr/include/glib-2.0/glib/gdate.h: - -/usr/include/glib-2.0/glib/gdatetime.h: - -/usr/include/glib-2.0/glib/gtimezone.h: - -/usr/include/glib-2.0/glib/gdir.h: - -/usr/include/dirent.h: - -/usr/include/arm-linux-gnueabihf/bits/dirent.h: - -/usr/include/glib-2.0/glib/genviron.h: - -/usr/include/glib-2.0/glib/gfileutils.h: - -/usr/include/glib-2.0/glib/ggettext.h: - -/usr/include/glib-2.0/glib/ghash.h: - -/usr/include/glib-2.0/glib/glist.h: - -/usr/include/glib-2.0/glib/gmem.h: - -/usr/include/glib-2.0/glib/gnode.h: - -/usr/include/glib-2.0/glib/ghmac.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/ghook.h: - -/usr/include/glib-2.0/glib/ghostutils.h: - -/usr/include/glib-2.0/glib/giochannel.h: - -/usr/include/glib-2.0/glib/gmain.h: - -/usr/include/glib-2.0/glib/gpoll.h: - -/usr/include/glib-2.0/glib/gslist.h: - -/usr/include/glib-2.0/glib/gstring.h: - -/usr/include/glib-2.0/glib/gunicode.h: - -/usr/include/glib-2.0/glib/gutils.h: - -/usr/include/glib-2.0/glib/gkeyfile.h: - -/usr/include/glib-2.0/glib/gmappedfile.h: - -/usr/include/glib-2.0/glib/gmarkup.h: - -/usr/include/glib-2.0/glib/gmessages.h: - -/usr/include/glib-2.0/glib/goption.h: - -/usr/include/glib-2.0/glib/gpattern.h: - -/usr/include/glib-2.0/glib/gprimes.h: - -/usr/include/glib-2.0/glib/gqsort.h: - -/usr/include/glib-2.0/glib/gqueue.h: - -/usr/include/glib-2.0/glib/grand.h: - -/usr/include/glib-2.0/glib/gregex.h: - -/usr/include/glib-2.0/glib/gscanner.h: - -/usr/include/glib-2.0/glib/gsequence.h: - -/usr/include/glib-2.0/glib/gshell.h: - -/usr/include/glib-2.0/glib/gslice.h: - -/usr/include/glib-2.0/glib/gspawn.h: - -/usr/include/glib-2.0/glib/gstrfuncs.h: - -/usr/include/glib-2.0/glib/gstringchunk.h: - -/usr/include/glib-2.0/glib/gtestutils.h: - -/usr/include/glib-2.0/glib/gthreadpool.h: - -/usr/include/glib-2.0/glib/gtimer.h: - -/usr/include/glib-2.0/glib/gtrashstack.h: - -/usr/include/glib-2.0/glib/gtree.h: - -/usr/include/glib-2.0/glib/gurifuncs.h: - -/usr/include/glib-2.0/glib/gvarianttype.h: - -/usr/include/glib-2.0/glib/gvariant.h: - -/usr/include/glib-2.0/glib/gversion.h: - -/usr/include/glib-2.0/glib/deprecated/gallocator.h: - -/usr/include/glib-2.0/glib/deprecated/gcache.h: - -/usr/include/glib-2.0/glib/deprecated/gcompletion.h: - -/usr/include/glib-2.0/glib/deprecated/gmain.h: - -/usr/include/glib-2.0/glib/deprecated/grel.h: - -/usr/include/glib-2.0/glib/deprecated/gthread.h: - -/usr/include/pthread.h: - -/usr/include/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/setjmp.h: - -gdbus/gdbus.h: - -/usr/include/dbus-1.0/dbus/dbus.h: - -/usr/lib/arm-linux-gnueabihf/dbus-1.0/include/dbus/dbus-arch-deps.h: - -/usr/include/dbus-1.0/dbus/dbus-macros.h: - -/usr/include/dbus-1.0/dbus/dbus-address.h: - -/usr/include/dbus-1.0/dbus/dbus-types.h: - -/usr/include/dbus-1.0/dbus/dbus-errors.h: - -/usr/include/dbus-1.0/dbus/dbus-protocol.h: - -/usr/include/dbus-1.0/dbus/dbus-bus.h: - -/usr/include/dbus-1.0/dbus/dbus-connection.h: - -/usr/include/dbus-1.0/dbus/dbus-memory.h: - -/usr/include/dbus-1.0/dbus/dbus-message.h: - -/usr/include/dbus-1.0/dbus/dbus-shared.h: - -/usr/include/dbus-1.0/dbus/dbus-misc.h: - -/usr/include/dbus-1.0/dbus/dbus-pending-call.h: - -/usr/include/dbus-1.0/dbus/dbus-server.h: - -/usr/include/dbus-1.0/dbus/dbus-signature.h: - -/usr/include/dbus-1.0/dbus/dbus-syntax.h: - -/usr/include/dbus-1.0/dbus/dbus-threads.h: - -src/log.h: - -src/plugin.h: - -lib/uuid.h: - -src/adapter.h: - -lib/bluetooth/hci.h: - -lib/bluetooth/hci_lib.h: - -src/device.h: - -src/profile.h: - -profiles/network/manager.h: - -profiles/network/common.h: - -profiles/network/connection.h: - -profiles/network/server.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/profiles/network/.deps/bluetoothd-server.Po b/GRIB_BLE_HUB/libs/ble_extend/profiles/network/.deps/bluetoothd-server.Po deleted file mode 100644 index 6e7ecfd..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/profiles/network/.deps/bluetoothd-server.Po +++ /dev/null @@ -1,564 +0,0 @@ -profiles/network/bluetoothd-server.o: profiles/network/server.c \ - /usr/include/stdc-predef.h config.h /usr/include/stdio.h \ - /usr/include/features.h /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/sys_errlist.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio.h /usr/include/unistd.h \ - /usr/include/arm-linux-gnueabihf/bits/posix_opt.h \ - /usr/include/arm-linux-gnueabihf/bits/environments.h \ - /usr/include/arm-linux-gnueabihf/bits/confname.h /usr/include/getopt.h \ - /usr/include/stdlib.h /usr/include/arm-linux-gnueabihf/bits/waitflags.h \ - /usr/include/arm-linux-gnueabihf/bits/waitstatus.h /usr/include/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/xlocale.h /usr/include/arm-linux-gnueabihf/sys/types.h \ - /usr/include/time.h /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/alloca.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-float.h \ - /usr/include/errno.h /usr/include/arm-linux-gnueabihf/bits/errno.h \ - /usr/include/linux/errno.h /usr/include/arm-linux-gnueabihf/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - lib/bluetooth/bluetooth.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h \ - /usr/include/stdint.h /usr/include/arm-linux-gnueabihf/bits/wchar.h \ - /usr/include/string.h /usr/include/arm-linux-gnueabihf/bits/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string2.h /usr/include/byteswap.h \ - /usr/include/netinet/in.h /usr/include/arm-linux-gnueabihf/sys/socket.h \ - /usr/include/arm-linux-gnueabihf/sys/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/socket.h \ - /usr/include/arm-linux-gnueabihf/bits/socket_type.h \ - /usr/include/arm-linux-gnueabihf/bits/sockaddr.h \ - /usr/include/arm-linux-gnueabihf/asm/socket.h \ - /usr/include/asm-generic/socket.h \ - /usr/include/arm-linux-gnueabihf/asm/sockios.h \ - /usr/include/asm-generic/sockios.h \ - /usr/include/arm-linux-gnueabihf/bits/in.h lib/bluetooth/bnep.h \ - lib/bluetooth/sdp.h lib/bluetooth/sdp_lib.h lib/bluetooth/hci.h \ - /usr/include/glib-2.0/glib.h /usr/include/glib-2.0/glib/galloca.h \ - /usr/include/glib-2.0/glib/gtypes.h \ - /usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h \ - /usr/include/glib-2.0/glib/gmacros.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h \ - /usr/include/limits.h /usr/include/arm-linux-gnueabihf/bits/posix1_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/local_lim.h \ - /usr/include/linux/limits.h \ - /usr/include/arm-linux-gnueabihf/bits/posix2_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/xopen_lim.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h \ - /usr/include/glib-2.0/glib/gversionmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/timex.h \ - /usr/include/glib-2.0/glib/garray.h \ - /usr/include/glib-2.0/glib/gasyncqueue.h \ - /usr/include/glib-2.0/glib/gthread.h \ - /usr/include/glib-2.0/glib/gatomic.h /usr/include/glib-2.0/glib/gerror.h \ - /usr/include/glib-2.0/glib/gquark.h \ - /usr/include/glib-2.0/glib/gbacktrace.h /usr/include/signal.h \ - /usr/include/arm-linux-gnueabihf/bits/signum.h \ - /usr/include/arm-linux-gnueabihf/bits/siginfo.h \ - /usr/include/arm-linux-gnueabihf/bits/sigaction.h \ - /usr/include/arm-linux-gnueabihf/bits/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/asm/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigstack.h \ - /usr/include/arm-linux-gnueabihf/sys/ucontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigthread.h \ - /usr/include/glib-2.0/glib/gbase64.h \ - /usr/include/glib-2.0/glib/gbitlock.h \ - /usr/include/glib-2.0/glib/gbookmarkfile.h \ - /usr/include/glib-2.0/glib/gbytes.h \ - /usr/include/glib-2.0/glib/gcharset.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/gconvert.h \ - /usr/include/glib-2.0/glib/gdataset.h /usr/include/glib-2.0/glib/gdate.h \ - /usr/include/glib-2.0/glib/gdatetime.h \ - /usr/include/glib-2.0/glib/gtimezone.h /usr/include/glib-2.0/glib/gdir.h \ - /usr/include/dirent.h /usr/include/arm-linux-gnueabihf/bits/dirent.h \ - /usr/include/glib-2.0/glib/genviron.h \ - /usr/include/glib-2.0/glib/gfileutils.h \ - /usr/include/glib-2.0/glib/ggettext.h /usr/include/glib-2.0/glib/ghash.h \ - /usr/include/glib-2.0/glib/glist.h /usr/include/glib-2.0/glib/gmem.h \ - /usr/include/glib-2.0/glib/gnode.h /usr/include/glib-2.0/glib/ghmac.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/ghook.h \ - /usr/include/glib-2.0/glib/ghostutils.h \ - /usr/include/glib-2.0/glib/giochannel.h \ - /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gpoll.h \ - /usr/include/glib-2.0/glib/gslist.h /usr/include/glib-2.0/glib/gstring.h \ - /usr/include/glib-2.0/glib/gunicode.h \ - /usr/include/glib-2.0/glib/gutils.h \ - /usr/include/glib-2.0/glib/gkeyfile.h \ - /usr/include/glib-2.0/glib/gmappedfile.h \ - /usr/include/glib-2.0/glib/gmarkup.h \ - /usr/include/glib-2.0/glib/gmessages.h \ - /usr/include/glib-2.0/glib/goption.h \ - /usr/include/glib-2.0/glib/gpattern.h \ - /usr/include/glib-2.0/glib/gprimes.h /usr/include/glib-2.0/glib/gqsort.h \ - /usr/include/glib-2.0/glib/gqueue.h /usr/include/glib-2.0/glib/grand.h \ - /usr/include/glib-2.0/glib/gregex.h \ - /usr/include/glib-2.0/glib/gscanner.h \ - /usr/include/glib-2.0/glib/gsequence.h \ - /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gslice.h \ - /usr/include/glib-2.0/glib/gspawn.h \ - /usr/include/glib-2.0/glib/gstrfuncs.h \ - /usr/include/glib-2.0/glib/gstringchunk.h \ - /usr/include/glib-2.0/glib/gtestutils.h \ - /usr/include/glib-2.0/glib/gthreadpool.h \ - /usr/include/glib-2.0/glib/gtimer.h \ - /usr/include/glib-2.0/glib/gtrashstack.h \ - /usr/include/glib-2.0/glib/gtree.h \ - /usr/include/glib-2.0/glib/gurifuncs.h \ - /usr/include/glib-2.0/glib/gvarianttype.h \ - /usr/include/glib-2.0/glib/gvariant.h \ - /usr/include/glib-2.0/glib/gversion.h \ - /usr/include/glib-2.0/glib/deprecated/gallocator.h \ - /usr/include/glib-2.0/glib/deprecated/gcache.h \ - /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ - /usr/include/glib-2.0/glib/deprecated/gmain.h \ - /usr/include/glib-2.0/glib/deprecated/grel.h \ - /usr/include/glib-2.0/glib/deprecated/gthread.h /usr/include/pthread.h \ - /usr/include/sched.h /usr/include/arm-linux-gnueabihf/bits/sched.h \ - /usr/include/arm-linux-gnueabihf/bits/setjmp.h gdbus/gdbus.h \ - /usr/include/dbus-1.0/dbus/dbus.h \ - /usr/lib/arm-linux-gnueabihf/dbus-1.0/include/dbus/dbus-arch-deps.h \ - /usr/include/dbus-1.0/dbus/dbus-macros.h \ - /usr/include/dbus-1.0/dbus/dbus-address.h \ - /usr/include/dbus-1.0/dbus/dbus-types.h \ - /usr/include/dbus-1.0/dbus/dbus-errors.h \ - /usr/include/dbus-1.0/dbus/dbus-protocol.h \ - /usr/include/dbus-1.0/dbus/dbus-bus.h \ - /usr/include/dbus-1.0/dbus/dbus-connection.h \ - /usr/include/dbus-1.0/dbus/dbus-memory.h \ - /usr/include/dbus-1.0/dbus/dbus-message.h \ - /usr/include/dbus-1.0/dbus/dbus-shared.h \ - /usr/include/dbus-1.0/dbus/dbus-misc.h \ - /usr/include/dbus-1.0/dbus/dbus-pending-call.h \ - /usr/include/dbus-1.0/dbus/dbus-server.h \ - /usr/include/dbus-1.0/dbus/dbus-signature.h \ - /usr/include/dbus-1.0/dbus/dbus-syntax.h \ - /usr/include/dbus-1.0/dbus/dbus-threads.h btio/btio.h lib/uuid.h \ - lib/../src/dbus-common.h lib/../src/adapter.h lib/bluetooth/hci_lib.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdbool.h src/log.h \ - src/error.h src/sdpd.h profiles/network/common.h \ - profiles/network/server.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/include/stdio.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/sys_errlist.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio.h: - -/usr/include/unistd.h: - -/usr/include/arm-linux-gnueabihf/bits/posix_opt.h: - -/usr/include/arm-linux-gnueabihf/bits/environments.h: - -/usr/include/arm-linux-gnueabihf/bits/confname.h: - -/usr/include/getopt.h: - -/usr/include/stdlib.h: - -/usr/include/arm-linux-gnueabihf/bits/waitflags.h: - -/usr/include/arm-linux-gnueabihf/bits/waitstatus.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/xlocale.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/time.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/alloca.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-float.h: - -/usr/include/errno.h: - -/usr/include/arm-linux-gnueabihf/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/arm-linux-gnueabihf/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -lib/bluetooth/bluetooth.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/arm-linux-gnueabihf/bits/wchar.h: - -/usr/include/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string2.h: - -/usr/include/byteswap.h: - -/usr/include/netinet/in.h: - -/usr/include/arm-linux-gnueabihf/sys/socket.h: - -/usr/include/arm-linux-gnueabihf/sys/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/socket.h: - -/usr/include/arm-linux-gnueabihf/bits/socket_type.h: - -/usr/include/arm-linux-gnueabihf/bits/sockaddr.h: - -/usr/include/arm-linux-gnueabihf/asm/socket.h: - -/usr/include/asm-generic/socket.h: - -/usr/include/arm-linux-gnueabihf/asm/sockios.h: - -/usr/include/asm-generic/sockios.h: - -/usr/include/arm-linux-gnueabihf/bits/in.h: - -lib/bluetooth/bnep.h: - -lib/bluetooth/sdp.h: - -lib/bluetooth/sdp_lib.h: - -lib/bluetooth/hci.h: - -/usr/include/glib-2.0/glib.h: - -/usr/include/glib-2.0/glib/galloca.h: - -/usr/include/glib-2.0/glib/gtypes.h: - -/usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h: - -/usr/include/glib-2.0/glib/gmacros.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h: - -/usr/include/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/local_lim.h: - -/usr/include/linux/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix2_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/xopen_lim.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h: - -/usr/include/glib-2.0/glib/gversionmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/timex.h: - -/usr/include/glib-2.0/glib/garray.h: - -/usr/include/glib-2.0/glib/gasyncqueue.h: - -/usr/include/glib-2.0/glib/gthread.h: - -/usr/include/glib-2.0/glib/gatomic.h: - -/usr/include/glib-2.0/glib/gerror.h: - -/usr/include/glib-2.0/glib/gquark.h: - -/usr/include/glib-2.0/glib/gbacktrace.h: - -/usr/include/signal.h: - -/usr/include/arm-linux-gnueabihf/bits/signum.h: - -/usr/include/arm-linux-gnueabihf/bits/siginfo.h: - -/usr/include/arm-linux-gnueabihf/bits/sigaction.h: - -/usr/include/arm-linux-gnueabihf/bits/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/asm/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigstack.h: - -/usr/include/arm-linux-gnueabihf/sys/ucontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigthread.h: - -/usr/include/glib-2.0/glib/gbase64.h: - -/usr/include/glib-2.0/glib/gbitlock.h: - -/usr/include/glib-2.0/glib/gbookmarkfile.h: - -/usr/include/glib-2.0/glib/gbytes.h: - -/usr/include/glib-2.0/glib/gcharset.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/gconvert.h: - -/usr/include/glib-2.0/glib/gdataset.h: - -/usr/include/glib-2.0/glib/gdate.h: - -/usr/include/glib-2.0/glib/gdatetime.h: - -/usr/include/glib-2.0/glib/gtimezone.h: - -/usr/include/glib-2.0/glib/gdir.h: - -/usr/include/dirent.h: - -/usr/include/arm-linux-gnueabihf/bits/dirent.h: - -/usr/include/glib-2.0/glib/genviron.h: - -/usr/include/glib-2.0/glib/gfileutils.h: - -/usr/include/glib-2.0/glib/ggettext.h: - -/usr/include/glib-2.0/glib/ghash.h: - -/usr/include/glib-2.0/glib/glist.h: - -/usr/include/glib-2.0/glib/gmem.h: - -/usr/include/glib-2.0/glib/gnode.h: - -/usr/include/glib-2.0/glib/ghmac.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/ghook.h: - -/usr/include/glib-2.0/glib/ghostutils.h: - -/usr/include/glib-2.0/glib/giochannel.h: - -/usr/include/glib-2.0/glib/gmain.h: - -/usr/include/glib-2.0/glib/gpoll.h: - -/usr/include/glib-2.0/glib/gslist.h: - -/usr/include/glib-2.0/glib/gstring.h: - -/usr/include/glib-2.0/glib/gunicode.h: - -/usr/include/glib-2.0/glib/gutils.h: - -/usr/include/glib-2.0/glib/gkeyfile.h: - -/usr/include/glib-2.0/glib/gmappedfile.h: - -/usr/include/glib-2.0/glib/gmarkup.h: - -/usr/include/glib-2.0/glib/gmessages.h: - -/usr/include/glib-2.0/glib/goption.h: - -/usr/include/glib-2.0/glib/gpattern.h: - -/usr/include/glib-2.0/glib/gprimes.h: - -/usr/include/glib-2.0/glib/gqsort.h: - -/usr/include/glib-2.0/glib/gqueue.h: - -/usr/include/glib-2.0/glib/grand.h: - -/usr/include/glib-2.0/glib/gregex.h: - -/usr/include/glib-2.0/glib/gscanner.h: - -/usr/include/glib-2.0/glib/gsequence.h: - -/usr/include/glib-2.0/glib/gshell.h: - -/usr/include/glib-2.0/glib/gslice.h: - -/usr/include/glib-2.0/glib/gspawn.h: - -/usr/include/glib-2.0/glib/gstrfuncs.h: - -/usr/include/glib-2.0/glib/gstringchunk.h: - -/usr/include/glib-2.0/glib/gtestutils.h: - -/usr/include/glib-2.0/glib/gthreadpool.h: - -/usr/include/glib-2.0/glib/gtimer.h: - -/usr/include/glib-2.0/glib/gtrashstack.h: - -/usr/include/glib-2.0/glib/gtree.h: - -/usr/include/glib-2.0/glib/gurifuncs.h: - -/usr/include/glib-2.0/glib/gvarianttype.h: - -/usr/include/glib-2.0/glib/gvariant.h: - -/usr/include/glib-2.0/glib/gversion.h: - -/usr/include/glib-2.0/glib/deprecated/gallocator.h: - -/usr/include/glib-2.0/glib/deprecated/gcache.h: - -/usr/include/glib-2.0/glib/deprecated/gcompletion.h: - -/usr/include/glib-2.0/glib/deprecated/gmain.h: - -/usr/include/glib-2.0/glib/deprecated/grel.h: - -/usr/include/glib-2.0/glib/deprecated/gthread.h: - -/usr/include/pthread.h: - -/usr/include/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/setjmp.h: - -gdbus/gdbus.h: - -/usr/include/dbus-1.0/dbus/dbus.h: - -/usr/lib/arm-linux-gnueabihf/dbus-1.0/include/dbus/dbus-arch-deps.h: - -/usr/include/dbus-1.0/dbus/dbus-macros.h: - -/usr/include/dbus-1.0/dbus/dbus-address.h: - -/usr/include/dbus-1.0/dbus/dbus-types.h: - -/usr/include/dbus-1.0/dbus/dbus-errors.h: - -/usr/include/dbus-1.0/dbus/dbus-protocol.h: - -/usr/include/dbus-1.0/dbus/dbus-bus.h: - -/usr/include/dbus-1.0/dbus/dbus-connection.h: - -/usr/include/dbus-1.0/dbus/dbus-memory.h: - -/usr/include/dbus-1.0/dbus/dbus-message.h: - -/usr/include/dbus-1.0/dbus/dbus-shared.h: - -/usr/include/dbus-1.0/dbus/dbus-misc.h: - -/usr/include/dbus-1.0/dbus/dbus-pending-call.h: - -/usr/include/dbus-1.0/dbus/dbus-server.h: - -/usr/include/dbus-1.0/dbus/dbus-signature.h: - -/usr/include/dbus-1.0/dbus/dbus-syntax.h: - -/usr/include/dbus-1.0/dbus/dbus-threads.h: - -btio/btio.h: - -lib/uuid.h: - -lib/../src/dbus-common.h: - -lib/../src/adapter.h: - -lib/bluetooth/hci_lib.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdbool.h: - -src/log.h: - -src/error.h: - -src/sdpd.h: - -profiles/network/common.h: - -profiles/network/server.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/profiles/network/.dirstamp b/GRIB_BLE_HUB/libs/ble_extend/profiles/network/.dirstamp deleted file mode 100644 index e69de29..0000000 diff --git a/GRIB_BLE_HUB/libs/ble_extend/profiles/network/common.c b/GRIB_BLE_HUB/libs/ble_extend/profiles/network/common.c deleted file mode 100644 index e069892..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/profiles/network/common.c +++ /dev/null @@ -1,271 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2004-2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include - -#include - -#include "log.h" -#include "common.h" -#include "lib/uuid.h" - -static int ctl; - -static struct { - const char *name; /* Friendly name */ - const char *uuid128; /* UUID 128 */ - uint16_t id; /* Service class identifier */ -} __svc[] = { - { "panu", PANU_UUID, BNEP_SVC_PANU }, - { "gn", GN_UUID, BNEP_SVC_GN }, - { "nap", NAP_UUID, BNEP_SVC_NAP }, - { NULL } -}; - -uint16_t bnep_service_id(const char *svc) -{ - int i; - uint16_t id; - - /* Friendly service name */ - for (i = 0; __svc[i].name; i++) { - if (!strcasecmp(svc, __svc[i].name)) - return __svc[i].id; - } - - /* UUID 128 string */ - for (i = 0; __svc[i].uuid128; i++) { - if (!strcasecmp(svc, __svc[i].uuid128)) - return __svc[i].id; - } - - /* Try convert to HEX */ - id = strtol(svc, NULL, 16); - if ((id < BNEP_SVC_PANU) || (id > BNEP_SVC_GN)) - return 0; - - return id; -} - -const char *bnep_uuid(uint16_t id) -{ - int i; - - for (i = 0; __svc[i].uuid128; i++) - if (__svc[i].id == id) - return __svc[i].uuid128; - return NULL; -} - -const char *bnep_name(uint16_t id) -{ - int i; - - for (i = 0; __svc[i].name; i++) - if (__svc[i].id == id) - return __svc[i].name; - return NULL; -} - -int bnep_init(void) -{ - ctl = socket(PF_BLUETOOTH, SOCK_RAW, BTPROTO_BNEP); - - if (ctl < 0) { - int err = -errno; - error("Failed to open control socket: %s (%d)", - strerror(-err), -err); - return err; - } - - return 0; -} - -int bnep_cleanup(void) -{ - close(ctl); - return 0; -} - -int bnep_kill_connection(const bdaddr_t *dst) -{ - struct bnep_conndel_req req; - - memset(&req, 0, sizeof(req)); - baswap((bdaddr_t *)&req.dst, dst); - req.flags = 0; - if (ioctl(ctl, BNEPCONNDEL, &req)) { - int err = -errno; - error("Failed to kill connection: %s (%d)", - strerror(-err), -err); - return err; - } - return 0; -} - -int bnep_connadd(int sk, uint16_t role, char *dev) -{ - struct bnep_connadd_req req; - - memset(&req, 0, sizeof(req)); - strncpy(req.device, dev, 16); - req.device[15] = '\0'; - req.sock = sk; - req.role = role; - if (ioctl(ctl, BNEPCONNADD, &req) < 0) { - int err = -errno; - error("Failed to add device %s: %s(%d)", - dev, strerror(-err), -err); - return err; - } - - strncpy(dev, req.device, 16); - return 0; -} - -int bnep_if_up(const char *devname) -{ - struct ifreq ifr; - int sk, err; - - sk = socket(AF_INET, SOCK_DGRAM, 0); - - memset(&ifr, 0, sizeof(ifr)); - strncpy(ifr.ifr_name, devname, IF_NAMESIZE - 1); - - ifr.ifr_flags |= IFF_UP; - ifr.ifr_flags |= IFF_MULTICAST; - - err = ioctl(sk, SIOCSIFFLAGS, (caddr_t) &ifr); - - close(sk); - - if (err < 0) { - error("Could not bring up %s", devname); - return err; - } - - return 0; -} - -int bnep_if_down(const char *devname) -{ - struct ifreq ifr; - int sk, err; - - sk = socket(AF_INET, SOCK_DGRAM, 0); - - memset(&ifr, 0, sizeof(ifr)); - strncpy(ifr.ifr_name, devname, IF_NAMESIZE - 1); - - ifr.ifr_flags &= ~IFF_UP; - - /* Bring down the interface */ - err = ioctl(sk, SIOCSIFFLAGS, (caddr_t) &ifr); - - close(sk); - - if (err < 0) { - error("Could not bring down %s", devname); - return err; - } - - return 0; -} - -int bnep_add_to_bridge(const char *devname, const char *bridge) -{ - int ifindex; - struct ifreq ifr; - int sk, err; - - if (!devname || !bridge) - return -EINVAL; - - ifindex = if_nametoindex(devname); - - sk = socket(AF_INET, SOCK_STREAM, 0); - if (sk < 0) - return -1; - - memset(&ifr, 0, sizeof(ifr)); - strncpy(ifr.ifr_name, bridge, IFNAMSIZ - 1); - ifr.ifr_ifindex = ifindex; - - err = ioctl(sk, SIOCBRADDIF, &ifr); - - close(sk); - - if (err < 0) - return err; - - info("bridge %s: interface %s added", bridge, devname); - - return 0; -} - -int bnep_del_from_bridge(const char *devname, const char *bridge) -{ - int ifindex = if_nametoindex(devname); - struct ifreq ifr; - int sk, err; - - if (!devname || !bridge) - return -EINVAL; - - sk = socket(AF_INET, SOCK_STREAM, 0); - if (sk < 0) - return -1; - - memset(&ifr, 0, sizeof(ifr)); - strncpy(ifr.ifr_name, bridge, IFNAMSIZ - 1); - ifr.ifr_ifindex = ifindex; - - err = ioctl(sk, SIOCBRDELIF, &ifr); - - close(sk); - - if (err < 0) - return err; - - info("bridge %s: interface %s removed", bridge, devname); - - return 0; -} diff --git a/GRIB_BLE_HUB/libs/ble_extend/profiles/network/common.h b/GRIB_BLE_HUB/libs/ble_extend/profiles/network/common.h deleted file mode 100644 index 9a8caac..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/profiles/network/common.h +++ /dev/null @@ -1,37 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2004-2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -int bnep_init(void); -int bnep_cleanup(void); - -uint16_t bnep_service_id(const char *svc); -const char *bnep_uuid(uint16_t id); -const char *bnep_name(uint16_t id); - -int bnep_kill_connection(const bdaddr_t *dst); - -int bnep_connadd(int sk, uint16_t role, char *dev); -int bnep_if_up(const char *devname); -int bnep_if_down(const char *devname); -int bnep_add_to_bridge(const char *devname, const char *bridge); -int bnep_del_from_bridge(const char *devname, const char *bridge); diff --git a/GRIB_BLE_HUB/libs/ble_extend/profiles/network/connection.c b/GRIB_BLE_HUB/libs/ble_extend/profiles/network/connection.c deleted file mode 100644 index 3a913cf..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/profiles/network/connection.c +++ /dev/null @@ -1,716 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2004-2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include -#include -#include -#include - -#include -#include -#include - -#include -#include -#include - -#include "log.h" -#include "dbus-common.h" -#include "adapter.h" -#include "device.h" - -#include "error.h" -#include "common.h" -#include "manager.h" -#include "connection.h" - -#define NETWORK_PEER_INTERFACE "org.bluez.Network1" -#define CON_SETUP_RETRIES 3 -#define CON_SETUP_TO 9 - -typedef enum { - CONNECTED, - CONNECTING, - DISCONNECTED -} conn_state; - -struct network_peer { - struct btd_device *device; - GSList *connections; -}; - -struct network_conn { - char dev[16]; /* Interface name */ - uint16_t id; /* Role: Service Class Identifier */ - conn_state state; - GIOChannel *io; - guint dc_id; - struct network_peer *peer; - guint attempt_cnt; - guint timeout_source; - DBusMessage *connect; -}; - -struct __service_16 { - uint16_t dst; - uint16_t src; -} __attribute__ ((packed)); - -static GSList *peers = NULL; - -static struct network_peer *find_peer(GSList *list, struct btd_device *device) -{ - for (; list; list = list->next) { - struct network_peer *peer = list->data; - - if (peer->device == device) - return peer; - } - - return NULL; -} - -static struct network_conn *find_connection(GSList *list, uint16_t id) -{ - for (; list; list = list->next) { - struct network_conn *nc = list->data; - - if (nc->id == id) - return nc; - } - - return NULL; -} - -static struct network_conn *find_connection_by_state(GSList *list, - conn_state state) -{ - for (; list; list = list->next) { - struct network_conn *nc = list->data; - - if (nc->state == state) - return nc; - } - - return NULL; -} - -static gboolean bnep_watchdog_cb(GIOChannel *chan, GIOCondition cond, - gpointer data) -{ - struct network_conn *nc = data; - DBusConnection *conn = btd_get_dbus_connection(); - const char *path = device_get_path(nc->peer->device); - - g_dbus_emit_property_changed(conn, path, - NETWORK_PEER_INTERFACE, "Connected"); - g_dbus_emit_property_changed(conn, path, - NETWORK_PEER_INTERFACE, "Interface"); - g_dbus_emit_property_changed(conn, path, - NETWORK_PEER_INTERFACE, "UUID"); - device_remove_disconnect_watch(nc->peer->device, nc->dc_id); - nc->dc_id = 0; - - network_disconnected(nc->peer->device, nc->id, 0); - - info("%s disconnected", nc->dev); - - bnep_if_down(nc->dev); - nc->state = DISCONNECTED; - memset(nc->dev, 0, sizeof(nc->dev)); - strcpy(nc->dev, "bnep%d"); - - return FALSE; -} - -static void local_connect_cb(struct network_conn *nc, int err) -{ - DBusConnection *conn = btd_get_dbus_connection(); - const char *pdev = nc->dev; - - if (err < 0) { - DBusMessage *reply = btd_error_failed(nc->connect, - strerror(-err)); - g_dbus_send_message(conn, reply); - } else { - g_dbus_send_reply(conn, nc->connect, DBUS_TYPE_STRING, &pdev, - DBUS_TYPE_INVALID); - } - - dbus_message_unref(nc->connect); - nc->connect = NULL; -} - -static void cancel_connection(struct network_conn *nc, int err) -{ - if (nc->timeout_source > 0) { - g_source_remove(nc->timeout_source); - nc->timeout_source = 0; - } - - network_connected(nc->peer->device, nc->id, err); - if (nc->connect) - local_connect_cb(nc, err); - - g_io_channel_shutdown(nc->io, TRUE, NULL); - g_io_channel_unref(nc->io); - nc->io = NULL; - - nc->state = DISCONNECTED; -} - -static void connection_destroy(DBusConnection *conn, void *user_data) -{ - struct network_conn *nc = user_data; - - if (nc->state == CONNECTED) { - bnep_if_down(nc->dev); - bnep_kill_connection(device_get_address(nc->peer->device)); - } else if (nc->io) - cancel_connection(nc, -EIO); -} - -static void disconnect_cb(struct btd_device *device, gboolean removal, - void *user_data) -{ - struct network_conn *nc = user_data; - - info("Network: disconnect %s", device_get_path(nc->peer->device)); - - connection_destroy(NULL, user_data); -} - -static gboolean bnep_setup_cb(GIOChannel *chan, GIOCondition cond, - gpointer data) -{ - struct network_conn *nc = data; - struct bnep_control_rsp *rsp; - struct timeval timeo; - char pkt[BNEP_MTU]; - ssize_t r; - int sk; - const char *path; - DBusConnection *conn; - - DBG("cond %u", cond); - - if (cond & G_IO_NVAL) - return FALSE; - - if (nc->timeout_source > 0) { - g_source_remove(nc->timeout_source); - nc->timeout_source = 0; - } - - if (cond & (G_IO_HUP | G_IO_ERR)) { - error("Hangup or error on l2cap server socket"); - goto failed; - } - - sk = g_io_channel_unix_get_fd(chan); - - memset(pkt, 0, BNEP_MTU); - r = read(sk, pkt, sizeof(pkt) -1); - if (r < 0) { - error("IO Channel read error"); - goto failed; - } - - if (r == 0) { - error("No packet received on l2cap socket"); - goto failed; - } - - errno = EPROTO; - - if ((size_t) r < sizeof(*rsp)) { - error("Packet received is not bnep type"); - goto failed; - } - - rsp = (void *) pkt; - if (rsp->type != BNEP_CONTROL) { - error("Packet received is not bnep type"); - goto failed; - } - - if (rsp->ctrl != BNEP_SETUP_CONN_RSP) - return TRUE; - - r = ntohs(rsp->resp); - - if (r != BNEP_SUCCESS) { - error("bnep failed"); - goto failed; - } - - memset(&timeo, 0, sizeof(timeo)); - timeo.tv_sec = 0; - - setsockopt(sk, SOL_SOCKET, SO_RCVTIMEO, &timeo, sizeof(timeo)); - - if (bnep_connadd(sk, BNEP_SVC_PANU, nc->dev)) { - error("%s could not be added", nc->dev); - goto failed; - } - - bnep_if_up(nc->dev); - - network_connected(nc->peer->device, nc->id, 0); - if (nc->connect) - local_connect_cb(nc, 0); - - conn = btd_get_dbus_connection(); - path = device_get_path(nc->peer->device); - - g_dbus_emit_property_changed(conn, path, - NETWORK_PEER_INTERFACE, "Connected"); - g_dbus_emit_property_changed(conn, path, - NETWORK_PEER_INTERFACE, "Interface"); - g_dbus_emit_property_changed(conn, path, - NETWORK_PEER_INTERFACE, "UUID"); - - nc->state = CONNECTED; - nc->dc_id = device_add_disconnect_watch(nc->peer->device, disconnect_cb, - nc, NULL); - - info("%s connected", nc->dev); - /* Start watchdog */ - g_io_add_watch(chan, G_IO_ERR | G_IO_HUP | G_IO_NVAL, - (GIOFunc) bnep_watchdog_cb, nc); - g_io_channel_unref(nc->io); - nc->io = NULL; - - return FALSE; - -failed: - cancel_connection(nc, -EIO); - - return FALSE; -} - -static int bnep_send_conn_req(struct network_conn *nc) -{ - struct bnep_setup_conn_req *req; - struct __service_16 *s; - unsigned char pkt[BNEP_MTU]; - int fd; - - DBG(""); - - /* Send request */ - req = (void *) pkt; - req->type = BNEP_CONTROL; - req->ctrl = BNEP_SETUP_CONN_REQ; - req->uuid_size = 2; /* 16bit UUID */ - s = (void *) req->service; - s->dst = htons(nc->id); - s->src = htons(BNEP_SVC_PANU); - - fd = g_io_channel_unix_get_fd(nc->io); - if (write(fd, pkt, sizeof(*req) + sizeof(*s)) < 0) { - int err = -errno; - error("bnep connection req send failed: %s", strerror(errno)); - return err; - } - - nc->attempt_cnt++; - - return 0; -} - -static gboolean bnep_conn_req_to(gpointer user_data) -{ - struct network_conn *nc; - - nc = user_data; - if (nc->attempt_cnt == CON_SETUP_RETRIES) { - error("Too many bnep connection attempts"); - } else { - error("bnep connection setup TO, retrying..."); - if (bnep_send_conn_req(nc) == 0) - return TRUE; - } - - cancel_connection(nc, -ETIMEDOUT); - - return FALSE; -} - -static int bnep_connect(struct network_conn *nc) -{ - int err; - - nc->attempt_cnt = 0; - - err = bnep_send_conn_req(nc); - if (err < 0) - return err; - - nc->timeout_source = g_timeout_add_seconds(CON_SETUP_TO, - bnep_conn_req_to, nc); - - g_io_add_watch(nc->io, G_IO_IN | G_IO_ERR | G_IO_HUP | G_IO_NVAL, - bnep_setup_cb, nc); - - return 0; -} - -static void connect_cb(GIOChannel *chan, GError *err, gpointer data) -{ - struct network_conn *nc = data; - int perr; - - if (err) { - error("%s", err->message); - goto failed; - } - - perr = bnep_connect(nc); - if (perr < 0) { - error("bnep connect(): %s (%d)", strerror(-perr), -perr); - goto failed; - } - - return; - -failed: - cancel_connection(nc, -EIO); -} - -static DBusMessage *local_connect(DBusConnection *conn, - DBusMessage *msg, void *data) -{ - struct network_peer *peer = data; - struct network_conn *nc; - const char *svc; - uint16_t id; - int err; - - if (dbus_message_get_args(msg, NULL, DBUS_TYPE_STRING, &svc, - DBUS_TYPE_INVALID) == FALSE) - return btd_error_invalid_args(msg); - - id = bnep_service_id(svc); - - nc = find_connection(peer->connections, id); - if (nc && nc->connect) - return btd_error_busy(msg); - - err = connection_connect(peer->device, id); - if (err < 0) - return btd_error_failed(msg, strerror(-err)); - - nc = find_connection(peer->connections, id); - if (!nc) - return btd_error_failed(msg, strerror(-err)); - - nc->connect = dbus_message_ref(msg); - - return NULL; -} - -/* Connect and initiate BNEP session */ -int connection_connect(struct btd_device *device, uint16_t id) -{ - struct network_peer *peer; - struct network_conn *nc; - GError *err = NULL; - const bdaddr_t *src; - const bdaddr_t *dst; - - DBG("id %u", id); - - peer = find_peer(peers, device); - if (!peer) - return -ENOENT; - - nc = find_connection(peer->connections, id); - if (!nc) - return -ENOTSUP; - - if (nc->state != DISCONNECTED) - return -EALREADY; - - src = adapter_get_address(device_get_adapter(peer->device)); - dst = device_get_address(peer->device); - - nc->io = bt_io_connect(connect_cb, nc, - NULL, &err, - BT_IO_OPT_SOURCE_BDADDR, src, - BT_IO_OPT_DEST_BDADDR, dst, - BT_IO_OPT_PSM, BNEP_PSM, - BT_IO_OPT_SEC_LEVEL, BT_IO_SEC_MEDIUM, - BT_IO_OPT_OMTU, BNEP_MTU, - BT_IO_OPT_IMTU, BNEP_MTU, - BT_IO_OPT_INVALID); - if (!nc->io) - return -EIO; - - nc->state = CONNECTING; - - return 0; -} - -int connection_disconnect(struct btd_device *device, uint16_t id) -{ - struct network_peer *peer; - struct network_conn *nc; - - peer = find_peer(peers, device); - if (!peer) - return -ENOENT; - - nc = find_connection(peer->connections, id); - if (!nc) - return -ENOTSUP; - - if (nc->state == DISCONNECTED) - return 0; - - connection_destroy(NULL, nc); - - return 0; -} - -static DBusMessage *local_disconnect(DBusConnection *conn, - DBusMessage *msg, void *data) -{ - struct network_peer *peer = data; - GSList *l; - - for (l = peer->connections; l; l = l->next) { - struct network_conn *nc = l->data; - int err; - - if (nc->state == DISCONNECTED) - continue; - - err = connection_disconnect(peer->device, nc->id); - if (err < 0) - return btd_error_failed(msg, strerror(-err)); - - return g_dbus_create_reply(msg, DBUS_TYPE_INVALID); - } - - return btd_error_not_connected(msg); -} - -static gboolean -network_property_get_connected(const GDBusPropertyTable *property, - DBusMessageIter *iter, void *data) -{ - struct network_peer *peer = data; - struct network_conn *nc; - dbus_bool_t connected; - - nc = find_connection_by_state(peer->connections, CONNECTED); - connected = nc != NULL ? TRUE : FALSE; - - dbus_message_iter_append_basic(iter, DBUS_TYPE_BOOLEAN, &connected); - - return TRUE; -} - -static gboolean network_property_exists(const GDBusPropertyTable *property, - void *data) -{ - struct network_peer *peer = data; - struct network_conn *nc; - - nc = find_connection_by_state(peer->connections, CONNECTED); - if (nc == NULL) - return FALSE; - - return TRUE; -} - -static gboolean -network_property_get_interface(const GDBusPropertyTable *property, - DBusMessageIter *iter, void *data) -{ - struct network_peer *peer = data; - struct network_conn *nc; - const char *iface; - - nc = find_connection_by_state(peer->connections, CONNECTED); - if (nc == NULL) - return FALSE; - - iface = nc->dev; - - dbus_message_iter_append_basic(iter, DBUS_TYPE_STRING, &iface); - - return TRUE; -} - -static gboolean network_property_get_uuid(const GDBusPropertyTable *property, - DBusMessageIter *iter, void *data) -{ - struct network_peer *peer = data; - struct network_conn *nc; - const char *uuid; - - nc = find_connection_by_state(peer->connections, CONNECTED); - if (nc == NULL) - return FALSE; - - uuid = bnep_uuid(nc->id); - - dbus_message_iter_append_basic(iter, DBUS_TYPE_STRING, &uuid); - - return TRUE; -} - -static void connection_free(void *data) -{ - struct network_conn *nc = data; - - if (nc->dc_id) - device_remove_disconnect_watch(nc->peer->device, nc->dc_id); - - connection_destroy(NULL, nc); - - if (nc->connect) - dbus_message_unref(nc->connect); - - g_free(nc); -} - -static void peer_free(struct network_peer *peer) -{ - g_slist_free_full(peer->connections, connection_free); - btd_device_unref(peer->device); - g_free(peer); -} - -static void path_unregister(void *data) -{ - struct network_peer *peer = data; - - DBG("Unregistered interface %s on path %s", - NETWORK_PEER_INTERFACE, device_get_path(peer->device)); - - peers = g_slist_remove(peers, peer); - peer_free(peer); -} - -static const GDBusMethodTable connection_methods[] = { - { GDBUS_ASYNC_METHOD("Connect", - GDBUS_ARGS({"uuid", "s"}), - GDBUS_ARGS({"interface", "s"}), - local_connect) }, - { GDBUS_METHOD("Disconnect", - NULL, NULL, local_disconnect) }, - { } -}; - -static const GDBusPropertyTable connection_properties[] = { - { "Connected", "b", network_property_get_connected }, - { "Interface", "s", network_property_get_interface, NULL, - network_property_exists }, - { "UUID", "s", network_property_get_uuid, NULL, - network_property_exists }, - { } -}; - -void connection_unregister(struct btd_device *device) -{ - struct network_peer *peer; - - peer = find_peer(peers, device); - if (!peer) - return; - - g_slist_free_full(peer->connections, connection_free); - peer->connections = NULL; - - g_dbus_unregister_interface(btd_get_dbus_connection(), - device_get_path(device), - NETWORK_PEER_INTERFACE); -} - -static struct network_peer *create_peer(struct btd_device *device) -{ - struct network_peer *peer; - const char *path; - - peer = g_new0(struct network_peer, 1); - peer->device = btd_device_ref(device); - - path = device_get_path(device); - - if (g_dbus_register_interface(btd_get_dbus_connection(), path, - NETWORK_PEER_INTERFACE, - connection_methods, - NULL, connection_properties, - peer, path_unregister) == FALSE) { - error("D-Bus failed to register %s interface", - NETWORK_PEER_INTERFACE); - peer_free(peer); - return NULL; - } - - DBG("Registered interface %s on path %s", - NETWORK_PEER_INTERFACE, path); - - return peer; -} - -int connection_register(struct btd_device *device, uint16_t id) -{ - struct network_peer *peer; - struct network_conn *nc; - - DBG("id %u", id); - - peer = find_peer(peers, device); - if (!peer) { - peer = create_peer(device); - if (!peer) - return -1; - peers = g_slist_append(peers, peer); - } - - nc = find_connection(peer->connections, id); - if (nc) - return 0; - - nc = g_new0(struct network_conn, 1); - nc->id = id; - memset(nc->dev, 0, sizeof(nc->dev)); - strcpy(nc->dev, "bnep%d"); - nc->state = DISCONNECTED; - nc->peer = peer; - - DBG("id %u registered", id); - - peer->connections = g_slist_append(peer->connections, nc); - - return 0; -} diff --git a/GRIB_BLE_HUB/libs/ble_extend/profiles/network/connection.h b/GRIB_BLE_HUB/libs/ble_extend/profiles/network/connection.h deleted file mode 100644 index 32356f9..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/profiles/network/connection.h +++ /dev/null @@ -1,27 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2004-2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -int connection_register(struct btd_device *device, uint16_t id); -void connection_unregister(struct btd_device *device); -int connection_connect(struct btd_device *device, uint16_t id); -int connection_disconnect(struct btd_device *device, uint16_t id); diff --git a/GRIB_BLE_HUB/libs/ble_extend/profiles/network/manager.c b/GRIB_BLE_HUB/libs/ble_extend/profiles/network/manager.c deleted file mode 100644 index 53bb652..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/profiles/network/manager.c +++ /dev/null @@ -1,305 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2004-2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include - -#include -#include -#include - -#include -#include - -#include "log.h" -#include "plugin.h" - -#include "lib/uuid.h" -#include "adapter.h" -#include "device.h" -#include "profile.h" -#include "manager.h" -#include "common.h" -#include "connection.h" -#include "server.h" - -static gboolean conf_security = TRUE; - -static void read_config(const char *file) -{ - GKeyFile *keyfile; - GError *err = NULL; - - keyfile = g_key_file_new(); - - if (!g_key_file_load_from_file(keyfile, file, 0, &err)) { - g_clear_error(&err); - goto done; - } - - conf_security = !g_key_file_get_boolean(keyfile, "General", - "DisableSecurity", &err); - if (err) { - DBG("%s: %s", file, err->message); - g_clear_error(&err); - } - -done: - g_key_file_free(keyfile); - - DBG("Config options: Security=%s", - conf_security ? "true" : "false"); -} - -static int panu_probe(struct btd_profile *p, struct btd_device *device, - GSList *uuids) -{ - DBG("path %s", device_get_path(device)); - - return connection_register(device, BNEP_SVC_PANU); -} - -static void network_remove(struct btd_profile *p, struct btd_device *device) -{ - DBG("path %s", device_get_path(device)); - - connection_unregister(device); -} - -static int panu_connect(struct btd_device *dev, struct btd_profile *profile) -{ - return connection_connect(dev, BNEP_SVC_PANU); -} - -static int panu_disconnect(struct btd_device *dev, struct btd_profile *profile) -{ - return connection_disconnect(dev, BNEP_SVC_PANU); -} - -static int panu_server_probe(struct btd_profile *p, struct btd_adapter *adapter) -{ - const char *path = adapter_get_path(adapter); - - DBG("path %s", path); - - return server_register(adapter, BNEP_SVC_PANU); -} - -static void panu_server_remove(struct btd_profile *p, - struct btd_adapter *adapter) -{ - const char *path = adapter_get_path(adapter); - - DBG("path %s", path); - - server_unregister(adapter, BNEP_SVC_PANU); -} - -static int gn_probe(struct btd_profile *p, struct btd_device *device, - GSList *uuids) -{ - DBG("path %s", device_get_path(device)); - - return connection_register(device, BNEP_SVC_GN); -} - -static int gn_connect(struct btd_device *dev, struct btd_profile *profile) -{ - return connection_connect(dev, BNEP_SVC_GN); -} - -static int gn_disconnect(struct btd_device *dev, struct btd_profile *profile) -{ - return connection_disconnect(dev, BNEP_SVC_GN); -} - -static int gn_server_probe(struct btd_profile *p, struct btd_adapter *adapter) -{ - const char *path = adapter_get_path(adapter); - - DBG("path %s", path); - - return server_register(adapter, BNEP_SVC_GN); -} - -static void gn_server_remove(struct btd_profile *p, - struct btd_adapter *adapter) -{ - const char *path = adapter_get_path(adapter); - - DBG("path %s", path); - - server_unregister(adapter, BNEP_SVC_GN); -} - -static int nap_probe(struct btd_profile *p, struct btd_device *device, - GSList *uuids) -{ - DBG("path %s", device_get_path(device)); - - return connection_register(device, BNEP_SVC_NAP); -} - -static int nap_connect(struct btd_device *dev, struct btd_profile *profile) -{ - return connection_connect(dev, BNEP_SVC_NAP); -} - -static int nap_disconnect(struct btd_device *dev, struct btd_profile *profile) -{ - return connection_disconnect(dev, BNEP_SVC_NAP); -} - -static int nap_server_probe(struct btd_profile *p, struct btd_adapter *adapter) -{ - const char *path = adapter_get_path(adapter); - - DBG("path %s", path); - - return server_register(adapter, BNEP_SVC_NAP); -} - -static void nap_server_remove(struct btd_profile *p, - struct btd_adapter *adapter) -{ - const char *path = adapter_get_path(adapter); - - DBG("path %s", path); - - server_unregister(adapter, BNEP_SVC_NAP); -} - -static struct btd_profile panu_profile = { - .name = "network-panu", - .local_uuid = NAP_UUID, - .remote_uuid = PANU_UUID, - .device_probe = panu_probe, - .device_remove = network_remove, - .connect = panu_connect, - .disconnect = panu_disconnect, - .adapter_probe = panu_server_probe, - .adapter_remove = panu_server_remove, -}; - -static struct btd_profile gn_profile = { - .name = "network-gn", - .local_uuid = PANU_UUID, - .remote_uuid = GN_UUID, - .device_probe = gn_probe, - .device_remove = network_remove, - .connect = gn_connect, - .disconnect = gn_disconnect, - .adapter_probe = gn_server_probe, - .adapter_remove = gn_server_remove, -}; - -static struct btd_profile nap_profile = { - .name = "network-nap", - .local_uuid = PANU_UUID, - .remote_uuid = NAP_UUID, - .device_probe = nap_probe, - .device_remove = network_remove, - .connect = nap_connect, - .disconnect = nap_disconnect, - .adapter_probe = nap_server_probe, - .adapter_remove = nap_server_remove, -}; - -void network_connected(struct btd_device *dev, int id, int err) -{ - switch (id) { - case BNEP_SVC_PANU: - device_profile_connected(dev, &panu_profile, err); - break; - case BNEP_SVC_GN: - device_profile_connected(dev, &gn_profile, err); - break; - case BNEP_SVC_NAP: - device_profile_connected(dev, &nap_profile, err); - break; - default: - error("Invalid id %d passed to network_connected", id); - break; - } -} - -void network_disconnected(struct btd_device *dev, int id, int err) -{ - switch (id) { - case BNEP_SVC_PANU: - device_profile_disconnected(dev, &panu_profile, err); - break; - case BNEP_SVC_GN: - device_profile_disconnected(dev, &gn_profile, err); - break; - case BNEP_SVC_NAP: - device_profile_disconnected(dev, &gn_profile, err); - break; - default: - error("Invalid id %d passed to network_disconnected", id); - break; - } -} - -static int network_init(void) -{ - read_config(CONFIGDIR "/network.conf"); - - if (bnep_init()) { - error("Can't init bnep module"); - return -1; - } - - /* - * There is one socket to handle the incoming connections. NAP, - * GN and PANU servers share the same PSM. The initial BNEP message - * (setup connection request) contains the destination service - * field that defines which service the source is connecting to. - */ - - if (server_init(conf_security) < 0) - return -1; - - btd_profile_register(&panu_profile); - btd_profile_register(&gn_profile); - btd_profile_register(&nap_profile); - - return 0; -} - -static void network_exit(void) -{ - server_exit(); - - btd_profile_unregister(&panu_profile); - btd_profile_unregister(&gn_profile); - btd_profile_unregister(&nap_profile); - - bnep_cleanup(); -} - -BLUETOOTH_PLUGIN_DEFINE(network, VERSION, - BLUETOOTH_PLUGIN_PRIORITY_DEFAULT, network_init, network_exit) diff --git a/GRIB_BLE_HUB/libs/ble_extend/profiles/network/manager.h b/GRIB_BLE_HUB/libs/ble_extend/profiles/network/manager.h deleted file mode 100644 index 8a8c065..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/profiles/network/manager.h +++ /dev/null @@ -1,25 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2004-2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -void network_connected(struct btd_device *dev, int id, int err); -void network_disconnected(struct btd_device *dev, int id, int err); diff --git a/GRIB_BLE_HUB/libs/ble_extend/profiles/network/network.conf b/GRIB_BLE_HUB/libs/ble_extend/profiles/network/network.conf deleted file mode 100644 index 5f11639..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/profiles/network/network.conf +++ /dev/null @@ -1,6 +0,0 @@ -# Configuration file for the network service - -[General] - -# Disable link encryption: default=false -#DisableSecurity=true diff --git a/GRIB_BLE_HUB/libs/ble_extend/profiles/network/server.c b/GRIB_BLE_HUB/libs/ble_extend/profiles/network/server.c deleted file mode 100644 index de48bec..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/profiles/network/server.c +++ /dev/null @@ -1,858 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2004-2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include -#include -#include - -#include -#include -#include -#include -#include - -#include -#include -#include - -#include "lib/uuid.h" -#include "../src/dbus-common.h" -#include "../src/adapter.h" - -#include "log.h" -#include "error.h" -#include "sdpd.h" - -#include "common.h" -#include "server.h" - -#define NETWORK_SERVER_INTERFACE "org.bluez.NetworkServer1" -#define SETUP_TIMEOUT 1 - -/* Pending Authorization */ -struct network_session { - bdaddr_t dst; /* Remote Bluetooth Address */ - char dev[16]; /* Interface name */ - GIOChannel *io; /* Pending connect channel */ - guint watch; /* BNEP socket watch */ -}; - -struct network_adapter { - struct btd_adapter *adapter; /* Adapter pointer */ - GIOChannel *io; /* Bnep socket */ - struct network_session *setup; /* Setup in progress */ - GSList *servers; /* Server register to adapter */ -}; - -/* Main server structure */ -struct network_server { - bdaddr_t src; /* Bluetooth Local Address */ - char *name; /* Server service name */ - char *bridge; /* Bridge name */ - uint32_t record_id; /* Service record id */ - uint16_t id; /* Service class identifier */ - GSList *sessions; /* Active connections */ - struct network_adapter *na; /* Adapter reference */ - guint watch_id; /* Client service watch */ -}; - -static GSList *adapters = NULL; -static gboolean security = TRUE; - -static struct network_adapter *find_adapter(GSList *list, - struct btd_adapter *adapter) -{ - for (; list; list = list->next) { - struct network_adapter *na = list->data; - - if (na->adapter == adapter) - return na; - } - - return NULL; -} - -static struct network_server *find_server(GSList *list, uint16_t id) -{ - for (; list; list = list->next) { - struct network_server *ns = list->data; - - if (ns->id == id) - return ns; - } - - return NULL; -} - -static struct network_server *find_server_by_uuid(GSList *list, - const char *uuid) -{ - for (; list; list = list->next) { - struct network_server *ns = list->data; - - if (strcasecmp(uuid, bnep_uuid(ns->id)) == 0) - return ns; - - if (strcasecmp(uuid, bnep_name(ns->id)) == 0) - return ns; - } - - return NULL; -} - -static sdp_record_t *server_record_new(const char *name, uint16_t id) -{ - sdp_list_t *svclass, *pfseq, *apseq, *root, *aproto; - uuid_t root_uuid, pan, l2cap, bnep; - sdp_profile_desc_t profile[1]; - sdp_list_t *proto[2]; - sdp_data_t *v, *p; - uint16_t psm = BNEP_PSM, version = 0x0100; - uint16_t security_desc = (security ? 0x0001 : 0x0000); - uint16_t net_access_type = 0xfffe; - uint32_t max_net_access_rate = 0; - const char *desc = "Network service"; - sdp_record_t *record; - - record = sdp_record_alloc(); - if (!record) - return NULL; - - record->attrlist = NULL; - record->pattern = NULL; - - switch (id) { - case BNEP_SVC_NAP: - sdp_uuid16_create(&pan, NAP_SVCLASS_ID); - svclass = sdp_list_append(NULL, &pan); - sdp_set_service_classes(record, svclass); - - sdp_uuid16_create(&profile[0].uuid, NAP_PROFILE_ID); - profile[0].version = 0x0100; - pfseq = sdp_list_append(NULL, &profile[0]); - sdp_set_profile_descs(record, pfseq); - - sdp_set_info_attr(record, name, NULL, desc); - - sdp_attr_add_new(record, SDP_ATTR_NET_ACCESS_TYPE, - SDP_UINT16, &net_access_type); - sdp_attr_add_new(record, SDP_ATTR_MAX_NET_ACCESSRATE, - SDP_UINT32, &max_net_access_rate); - break; - case BNEP_SVC_GN: - sdp_uuid16_create(&pan, GN_SVCLASS_ID); - svclass = sdp_list_append(NULL, &pan); - sdp_set_service_classes(record, svclass); - - sdp_uuid16_create(&profile[0].uuid, GN_PROFILE_ID); - profile[0].version = 0x0100; - pfseq = sdp_list_append(NULL, &profile[0]); - sdp_set_profile_descs(record, pfseq); - - sdp_set_info_attr(record, name, NULL, desc); - break; - case BNEP_SVC_PANU: - sdp_uuid16_create(&pan, PANU_SVCLASS_ID); - svclass = sdp_list_append(NULL, &pan); - sdp_set_service_classes(record, svclass); - - sdp_uuid16_create(&profile[0].uuid, PANU_PROFILE_ID); - profile[0].version = 0x0100; - pfseq = sdp_list_append(NULL, &profile[0]); - sdp_set_profile_descs(record, pfseq); - - sdp_set_info_attr(record, name, NULL, desc); - break; - default: - sdp_record_free(record); - return NULL; - } - - sdp_uuid16_create(&root_uuid, PUBLIC_BROWSE_GROUP); - root = sdp_list_append(NULL, &root_uuid); - sdp_set_browse_groups(record, root); - - sdp_uuid16_create(&l2cap, L2CAP_UUID); - proto[0] = sdp_list_append(NULL, &l2cap); - p = sdp_data_alloc(SDP_UINT16, &psm); - proto[0] = sdp_list_append(proto[0], p); - apseq = sdp_list_append(NULL, proto[0]); - - sdp_uuid16_create(&bnep, BNEP_UUID); - proto[1] = sdp_list_append(NULL, &bnep); - v = sdp_data_alloc(SDP_UINT16, &version); - proto[1] = sdp_list_append(proto[1], v); - - /* Supported protocols */ - { - uint16_t ptype[] = { - 0x0800, /* IPv4 */ - 0x0806, /* ARP */ - }; - sdp_data_t *head, *pseq; - int p; - - for (p = 0, head = NULL; p < 2; p++) { - sdp_data_t *data = sdp_data_alloc(SDP_UINT16, &ptype[p]); - if (head) - sdp_seq_append(head, data); - else - head = data; - } - pseq = sdp_data_alloc(SDP_SEQ16, head); - proto[1] = sdp_list_append(proto[1], pseq); - } - - apseq = sdp_list_append(apseq, proto[1]); - - aproto = sdp_list_append(NULL, apseq); - sdp_set_access_protos(record, aproto); - - sdp_add_lang_attr(record); - - sdp_attr_add_new(record, SDP_ATTR_SECURITY_DESC, - SDP_UINT16, &security_desc); - - sdp_data_free(p); - sdp_data_free(v); - sdp_list_free(apseq, NULL); - sdp_list_free(root, NULL); - sdp_list_free(aproto, NULL); - sdp_list_free(proto[0], NULL); - sdp_list_free(proto[1], NULL); - sdp_list_free(svclass, NULL); - sdp_list_free(pfseq, NULL); - - return record; -} - -static ssize_t send_bnep_ctrl_rsp(int sk, uint16_t val) -{ - struct bnep_control_rsp rsp; - - rsp.type = BNEP_CONTROL; - rsp.ctrl = BNEP_SETUP_CONN_RSP; - rsp.resp = htons(val); - - return send(sk, &rsp, sizeof(rsp), 0); -} - -static int server_connadd(struct network_server *ns, - struct network_session *session, - uint16_t dst_role) -{ - char devname[16]; - int err, nsk; - - memset(devname, 0, sizeof(devname)); - strcpy(devname, "bnep%d"); - - nsk = g_io_channel_unix_get_fd(session->io); - err = bnep_connadd(nsk, dst_role, devname); - if (err < 0) - return err; - - info("Added new connection: %s", devname); - - if (bnep_add_to_bridge(devname, ns->bridge) < 0) { - error("Can't add %s to the bridge %s: %s(%d)", - devname, ns->bridge, strerror(errno), errno); - return -EPERM; - } - - bnep_if_up(devname); - - strncpy(session->dev, devname, sizeof(devname)); - - ns->sessions = g_slist_append(ns->sessions, session); - - return 0; -} - -static uint16_t bnep_setup_chk(uint16_t dst_role, uint16_t src_role) -{ - /* Allowed PAN Profile scenarios */ - switch (dst_role) { - case BNEP_SVC_NAP: - case BNEP_SVC_GN: - if (src_role == BNEP_SVC_PANU) - return 0; - return BNEP_CONN_INVALID_SRC; - case BNEP_SVC_PANU: - if (src_role == BNEP_SVC_PANU || - src_role == BNEP_SVC_GN || - src_role == BNEP_SVC_NAP) - return 0; - - return BNEP_CONN_INVALID_SRC; - } - - return BNEP_CONN_INVALID_DST; -} - -static uint16_t bnep_setup_decode(struct bnep_setup_conn_req *req, - uint16_t *dst_role, uint16_t *src_role) -{ - const uint8_t bt_base[] = { 0x00, 0x00, 0x10, 0x00, 0x80, 0x00, - 0x00, 0x80, 0x5F, 0x9B, 0x34, 0xFB }; - uint8_t *dest, *source; - uint32_t val; - - dest = req->service; - source = req->service + req->uuid_size; - - switch (req->uuid_size) { - case 2: /* UUID16 */ - *dst_role = bt_get_be16(dest); - *src_role = bt_get_be16(source); - break; - case 16: /* UUID128 */ - /* Check that the bytes in the UUID, except the service ID - * itself, are correct. The service ID is checked in - * bnep_setup_chk(). */ - if (memcmp(&dest[4], bt_base, sizeof(bt_base)) != 0) - return BNEP_CONN_INVALID_DST; - if (memcmp(&source[4], bt_base, sizeof(bt_base)) != 0) - return BNEP_CONN_INVALID_SRC; - - /* Intentional no-break */ - - case 4: /* UUID32 */ - val = bt_get_be32(dest); - if (val > 0xffff) - return BNEP_CONN_INVALID_DST; - *dst_role = val; - - val = bt_get_be32(source); - if (val > 0xffff) - return BNEP_CONN_INVALID_SRC; - *src_role = val; - break; - default: - return BNEP_CONN_INVALID_SVC; - } - - return BNEP_SUCCESS; -} - -static void session_free(void *data) -{ - struct network_session *session = data; - - if (session->watch) - g_source_remove(session->watch); - - if (session->io) - g_io_channel_unref(session->io); - - g_free(session); -} - -static void setup_destroy(void *user_data) -{ - struct network_adapter *na = user_data; - struct network_session *setup = na->setup; - - if (!setup) - return; - - na->setup = NULL; - - session_free(setup); -} - -static gboolean bnep_setup(GIOChannel *chan, - GIOCondition cond, gpointer user_data) -{ - struct network_adapter *na = user_data; - struct network_server *ns; - uint8_t packet[BNEP_MTU]; - struct bnep_setup_conn_req *req = (void *) packet; - uint16_t src_role, dst_role, rsp = BNEP_CONN_NOT_ALLOWED; - int n, sk; - - if (cond & G_IO_NVAL) - return FALSE; - - if (cond & (G_IO_ERR | G_IO_HUP)) { - error("Hangup or error on BNEP socket"); - return FALSE; - } - - sk = g_io_channel_unix_get_fd(chan); - - /* Reading BNEP_SETUP_CONNECTION_REQUEST_MSG */ - n = read(sk, packet, sizeof(packet)); - if (n < 0) { - error("read(): %s(%d)", strerror(errno), errno); - return FALSE; - } - - /* Highest known Control command ID - * is BNEP_FILTER_MULT_ADDR_RSP = 0x06 */ - if (req->type == BNEP_CONTROL && - req->ctrl > BNEP_FILTER_MULT_ADDR_RSP) { - uint8_t pkt[3]; - - pkt[0] = BNEP_CONTROL; - pkt[1] = BNEP_CMD_NOT_UNDERSTOOD; - pkt[2] = req->ctrl; - - send(sk, pkt, sizeof(pkt), 0); - - return FALSE; - } - - if (req->type != BNEP_CONTROL || req->ctrl != BNEP_SETUP_CONN_REQ) - return FALSE; - - rsp = bnep_setup_decode(req, &dst_role, &src_role); - if (rsp) - goto reply; - - rsp = bnep_setup_chk(dst_role, src_role); - if (rsp) - goto reply; - - rsp = BNEP_CONN_NOT_ALLOWED; - - ns = find_server(na->servers, dst_role); - if (!ns) { - error("Server unavailable: (0x%x)", dst_role); - goto reply; - } - - if (!ns->record_id) { - error("Service record not available"); - goto reply; - } - - if (!ns->bridge) { - error("Bridge interface not configured"); - goto reply; - } - - if (server_connadd(ns, na->setup, dst_role) < 0) - goto reply; - - na->setup = NULL; - - rsp = BNEP_SUCCESS; - -reply: - send_bnep_ctrl_rsp(sk, rsp); - - return FALSE; -} - -static void connect_event(GIOChannel *chan, GError *err, gpointer user_data) -{ - struct network_adapter *na = user_data; - - if (err) { - error("%s", err->message); - setup_destroy(na); - return; - } - - g_io_channel_set_close_on_unref(chan, TRUE); - - na->setup->watch = g_io_add_watch_full(chan, G_PRIORITY_DEFAULT, - G_IO_IN | G_IO_HUP | G_IO_ERR | G_IO_NVAL, - bnep_setup, na, setup_destroy); -} - -static void auth_cb(DBusError *derr, void *user_data) -{ - struct network_adapter *na = user_data; - GError *err = NULL; - - if (derr) { - error("Access denied: %s", derr->message); - goto reject; - } - - if (!bt_io_accept(na->setup->io, connect_event, na, NULL, - &err)) { - error("bt_io_accept: %s", err->message); - g_error_free(err); - goto reject; - } - - return; - -reject: - g_io_channel_shutdown(na->setup->io, TRUE, NULL); - setup_destroy(na); -} - -static void confirm_event(GIOChannel *chan, gpointer user_data) -{ - struct network_adapter *na = user_data; - struct network_server *ns; - bdaddr_t src, dst; - char address[18]; - GError *err = NULL; - guint ret; - - bt_io_get(chan, &err, - BT_IO_OPT_SOURCE_BDADDR, &src, - BT_IO_OPT_DEST_BDADDR, &dst, - BT_IO_OPT_DEST, address, - BT_IO_OPT_INVALID); - if (err) { - error("%s", err->message); - g_error_free(err); - goto drop; - } - - DBG("BNEP: incoming connect from %s", address); - - if (na->setup) { - error("Refusing connect from %s: setup in progress", address); - goto drop; - } - - ns = find_server(na->servers, BNEP_SVC_NAP); - if (!ns) - goto drop; - - if (!ns->record_id) - goto drop; - - if (!ns->bridge) - goto drop; - - na->setup = g_new0(struct network_session, 1); - bacpy(&na->setup->dst, &dst); - na->setup->io = g_io_channel_ref(chan); - - ret = btd_request_authorization(&src, &dst, BNEP_SVC_UUID, - auth_cb, na); - if (ret == 0) { - error("Refusing connect from %s", address); - setup_destroy(na); - goto drop; - } - - return; - -drop: - g_io_channel_shutdown(chan, TRUE, NULL); -} - -int server_init(gboolean secure) -{ - security = secure; - - return 0; -} - -void server_exit(void) -{ -} - -static uint32_t register_server_record(struct network_server *ns) -{ - sdp_record_t *record; - - record = server_record_new(ns->name, ns->id); - if (!record) { - error("Unable to allocate new service record"); - return 0; - } - - if (add_record_to_server(&ns->src, record) < 0) { - error("Failed to register service record"); - sdp_record_free(record); - return 0; - } - - DBG("got record id 0x%x", record->handle); - - return record->handle; -} - -static void server_remove_sessions(struct network_server *ns) -{ - GSList *list; - - for (list = ns->sessions; list; list = list->next) { - struct network_session *session = list->data; - - if (*session->dev == '\0') - continue; - - bnep_del_from_bridge(session->dev, ns->bridge); - bnep_if_down(session->dev); - - bnep_kill_connection(&session->dst); - } - - g_slist_free_full(ns->sessions, session_free); - - ns->sessions = NULL; -} - -static void server_disconnect(DBusConnection *conn, void *user_data) -{ - struct network_server *ns = user_data; - - server_remove_sessions(ns); - - ns->watch_id = 0; - - if (ns->record_id) { - remove_record_from_server(ns->record_id); - ns->record_id = 0; - } - - g_free(ns->bridge); - ns->bridge = NULL; -} - -static DBusMessage *register_server(DBusConnection *conn, - DBusMessage *msg, void *data) -{ - struct network_adapter *na = data; - struct network_server *ns; - DBusMessage *reply; - const char *uuid, *bridge; - - if (!dbus_message_get_args(msg, NULL, DBUS_TYPE_STRING, &uuid, - DBUS_TYPE_STRING, &bridge, DBUS_TYPE_INVALID)) - return btd_error_invalid_args(msg); - - ns = find_server_by_uuid(na->servers, uuid); - if (ns == NULL) - return btd_error_failed(msg, "Invalid UUID"); - - if (ns->record_id) - return btd_error_already_exists(msg); - - reply = dbus_message_new_method_return(msg); - if (!reply) - return NULL; - - ns->record_id = register_server_record(ns); - if (!ns->record_id) - return btd_error_failed(msg, "SDP record registration failed"); - - g_free(ns->bridge); - ns->bridge = g_strdup(bridge); - - ns->watch_id = g_dbus_add_disconnect_watch(conn, - dbus_message_get_sender(msg), - server_disconnect, ns, NULL); - - return reply; -} - -static DBusMessage *unregister_server(DBusConnection *conn, - DBusMessage *msg, void *data) -{ - struct network_adapter *na = data; - struct network_server *ns; - DBusMessage *reply; - const char *uuid; - - if (!dbus_message_get_args(msg, NULL, DBUS_TYPE_STRING, &uuid, - DBUS_TYPE_INVALID)) - return btd_error_invalid_args(msg); - - ns = find_server_by_uuid(na->servers, uuid); - if (!ns) - return btd_error_failed(msg, "Invalid UUID"); - - reply = dbus_message_new_method_return(msg); - if (!reply) - return NULL; - - g_dbus_remove_watch(conn, ns->watch_id); - - server_disconnect(conn, ns); - - return reply; -} - -static void adapter_free(struct network_adapter *na) -{ - if (na->io != NULL) { - g_io_channel_shutdown(na->io, TRUE, NULL); - g_io_channel_unref(na->io); - } - - setup_destroy(na); - btd_adapter_unref(na->adapter); - g_free(na); -} - -static void server_free(void *data) -{ - struct network_server *ns = data; - - if (!ns) - return; - - server_remove_sessions(ns); - - if (ns->record_id) - remove_record_from_server(ns->record_id); - - g_free(ns->name); - g_free(ns->bridge); - - g_free(ns); -} - -static void path_unregister(void *data) -{ - struct network_adapter *na = data; - - DBG("Unregistered interface %s on path %s", - NETWORK_SERVER_INTERFACE, adapter_get_path(na->adapter)); - - g_slist_free_full(na->servers, server_free); - - adapters = g_slist_remove(adapters, na); - adapter_free(na); -} - -static const GDBusMethodTable server_methods[] = { - { GDBUS_METHOD("Register", - GDBUS_ARGS({ "uuid", "s" }, { "bridge", "s" }), NULL, - register_server) }, - { GDBUS_METHOD("Unregister", - GDBUS_ARGS({ "uuid", "s" }), NULL, - unregister_server) }, - { } -}; - -static struct network_adapter *create_adapter(struct btd_adapter *adapter) -{ - struct network_adapter *na; - GError *err = NULL; - - na = g_new0(struct network_adapter, 1); - na->adapter = btd_adapter_ref(adapter); - - na->io = bt_io_listen(NULL, confirm_event, na, - NULL, &err, - BT_IO_OPT_SOURCE_BDADDR, - adapter_get_address(adapter), - BT_IO_OPT_PSM, BNEP_PSM, - BT_IO_OPT_OMTU, BNEP_MTU, - BT_IO_OPT_IMTU, BNEP_MTU, - BT_IO_OPT_SEC_LEVEL, - security ? BT_IO_SEC_MEDIUM : BT_IO_SEC_LOW, - BT_IO_OPT_INVALID); - if (!na->io) { - error("%s", err->message); - g_error_free(err); - adapter_free(na); - return NULL; - } - - return na; -} - -int server_register(struct btd_adapter *adapter, uint16_t id) -{ - struct network_adapter *na; - struct network_server *ns; - const char *path; - - na = find_adapter(adapters, adapter); - if (!na) { - na = create_adapter(adapter); - if (!na) - return -EINVAL; - adapters = g_slist_append(adapters, na); - } - - ns = find_server(na->servers, id); - if (ns) - return 0; - - ns = g_new0(struct network_server, 1); - - ns->name = g_strdup("Network service"); - - path = adapter_get_path(adapter); - - if (g_slist_length(na->servers) > 0) - goto done; - - if (!g_dbus_register_interface(btd_get_dbus_connection(), - path, NETWORK_SERVER_INTERFACE, - server_methods, NULL, NULL, - na, path_unregister)) { - error("D-Bus failed to register %s interface", - NETWORK_SERVER_INTERFACE); - server_free(ns); - return -1; - } - - DBG("Registered interface %s on path %s", NETWORK_SERVER_INTERFACE, - path); - -done: - bacpy(&ns->src, adapter_get_address(adapter)); - ns->id = id; - ns->na = na; - ns->record_id = 0; - na->servers = g_slist_append(na->servers, ns); - - return 0; -} - -int server_unregister(struct btd_adapter *adapter, uint16_t id) -{ - struct network_adapter *na; - struct network_server *ns; - - na = find_adapter(adapters, adapter); - if (!na) - return -EINVAL; - - ns = find_server(na->servers, id); - if (!ns) - return -EINVAL; - - na->servers = g_slist_remove(na->servers, ns); - server_free(ns); - - if (g_slist_length(na->servers) > 0) - return 0; - - g_dbus_unregister_interface(btd_get_dbus_connection(), - adapter_get_path(adapter), - NETWORK_SERVER_INTERFACE); - - return 0; -} diff --git a/GRIB_BLE_HUB/libs/ble_extend/profiles/network/server.h b/GRIB_BLE_HUB/libs/ble_extend/profiles/network/server.h deleted file mode 100644 index 2edd342..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/profiles/network/server.h +++ /dev/null @@ -1,27 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2004-2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -int server_init(gboolean secure); -void server_exit(void); -int server_register(struct btd_adapter *adapter, uint16_t id); -int server_unregister(struct btd_adapter *adapter, uint16_t id); diff --git a/GRIB_BLE_HUB/libs/ble_extend/profiles/proximity/.deps/bluetoothd-immalert.Po b/GRIB_BLE_HUB/libs/ble_extend/profiles/proximity/.deps/bluetoothd-immalert.Po deleted file mode 100644 index 9ce06a8..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/profiles/proximity/.deps/bluetoothd-immalert.Po +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/GRIB_BLE_HUB/libs/ble_extend/profiles/proximity/.deps/bluetoothd-linkloss.Po b/GRIB_BLE_HUB/libs/ble_extend/profiles/proximity/.deps/bluetoothd-linkloss.Po deleted file mode 100644 index 9ce06a8..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/profiles/proximity/.deps/bluetoothd-linkloss.Po +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/GRIB_BLE_HUB/libs/ble_extend/profiles/proximity/.deps/bluetoothd-main.Po b/GRIB_BLE_HUB/libs/ble_extend/profiles/proximity/.deps/bluetoothd-main.Po deleted file mode 100644 index 9ce06a8..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/profiles/proximity/.deps/bluetoothd-main.Po +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/GRIB_BLE_HUB/libs/ble_extend/profiles/proximity/.deps/bluetoothd-manager.Po b/GRIB_BLE_HUB/libs/ble_extend/profiles/proximity/.deps/bluetoothd-manager.Po deleted file mode 100644 index 9ce06a8..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/profiles/proximity/.deps/bluetoothd-manager.Po +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/GRIB_BLE_HUB/libs/ble_extend/profiles/proximity/.deps/bluetoothd-monitor.Po b/GRIB_BLE_HUB/libs/ble_extend/profiles/proximity/.deps/bluetoothd-monitor.Po deleted file mode 100644 index 9ce06a8..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/profiles/proximity/.deps/bluetoothd-monitor.Po +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/GRIB_BLE_HUB/libs/ble_extend/profiles/proximity/.deps/bluetoothd-reporter.Po b/GRIB_BLE_HUB/libs/ble_extend/profiles/proximity/.deps/bluetoothd-reporter.Po deleted file mode 100644 index 9ce06a8..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/profiles/proximity/.deps/bluetoothd-reporter.Po +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/GRIB_BLE_HUB/libs/ble_extend/profiles/proximity/immalert.c b/GRIB_BLE_HUB/libs/ble_extend/profiles/proximity/immalert.c deleted file mode 100644 index 06e8eb8..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/profiles/proximity/immalert.c +++ /dev/null @@ -1,287 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2012 Texas Instruments Corporation - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include - -#include -#include - -#include -#include - -#include "lib/uuid.h" -#include "log.h" -#include "attrib/gattrib.h" -#include "attrib/att.h" -#include "attrib/gatt.h" -#include "attrib/att-database.h" -#include "attrib/gatt-service.h" -#include "attrib-server.h" -#include "device.h" -#include "profile.h" -#include "attio.h" -#include "dbus-common.h" -#include "reporter.h" -#include "immalert.h" - -struct imm_alert_adapter { - struct btd_adapter *adapter; - GSList *connected_devices; -}; - -struct connected_device { - struct btd_device *device; - struct imm_alert_adapter *adapter; - uint8_t alert_level; - guint callback_id; -}; - -static GSList *imm_alert_adapters; - -static int imdevice_cmp(gconstpointer a, gconstpointer b) -{ - const struct connected_device *condev = a; - const struct btd_device *device = b; - - if (condev->device == device) - return 0; - - return -1; -} - -static struct connected_device * -find_connected_device(struct imm_alert_adapter *ia, struct btd_device *device) -{ - GSList *l = g_slist_find_custom(ia->connected_devices, device, - imdevice_cmp); - if (!l) - return NULL; - - return l->data; -} - -static int imadapter_cmp(gconstpointer a, gconstpointer b) -{ - const struct imm_alert_adapter *imadapter = a; - const struct btd_adapter *adapter = b; - - if (imadapter->adapter == adapter) - return 0; - - return -1; -} - -static struct imm_alert_adapter * -find_imm_alert_adapter(struct btd_adapter *adapter) -{ - GSList *l = g_slist_find_custom(imm_alert_adapters, adapter, - imadapter_cmp); - if (!l) - return NULL; - - return l->data; -} - -const char *imm_alert_get_level(struct btd_device *device) -{ - struct imm_alert_adapter *imadapter; - struct connected_device *condev; - - if (!device) - return get_alert_level_string(NO_ALERT); - - imadapter = find_imm_alert_adapter(device_get_adapter(device)); - if (!imadapter) - return get_alert_level_string(NO_ALERT); - - condev = find_connected_device(imadapter, device); - if (!condev) - return get_alert_level_string(NO_ALERT); - - return get_alert_level_string(condev->alert_level); -} - -static void imm_alert_emit_alert_signal(struct connected_device *condev, - uint8_t alert_level) -{ - const char *path, *alert_level_str; - - if (!condev) - return; - - path = device_get_path(condev->device); - alert_level_str = get_alert_level_string(alert_level); - - DBG("alert %s remote %s", alert_level_str, path); - - g_dbus_emit_property_changed(btd_get_dbus_connection(), path, - PROXIMITY_REPORTER_INTERFACE, "ImmediateAlertLevel"); -} - -static void imm_alert_remove_condev(struct connected_device *condev) -{ - struct imm_alert_adapter *ia; - - if (!condev) - return; - - ia = condev->adapter; - - if (condev->callback_id && condev->device) - btd_device_remove_attio_callback(condev->device, - condev->callback_id); - - if (condev->device) - btd_device_unref(condev->device); - - ia->connected_devices = g_slist_remove(ia->connected_devices, condev); - g_free(condev); -} - -/* condev can be NULL */ -static void imm_alert_disc_cb(gpointer user_data) -{ - struct connected_device *condev = user_data; - - if (!condev) - return; - - DBG("immediate alert remove device %p", condev->device); - - imm_alert_emit_alert_signal(condev, NO_ALERT); - imm_alert_remove_condev(condev); -} - -static uint8_t imm_alert_alert_lvl_write(struct attribute *a, - struct btd_device *device, gpointer user_data) -{ - uint8_t value; - struct imm_alert_adapter *ia = user_data; - struct connected_device *condev = NULL; - - if (!device) - goto set_error; - - condev = find_connected_device(ia, device); - - if (a->len == 0) { - DBG("Illegal alert level length"); - goto set_error; - } - - value = a->data[0]; - if (value != NO_ALERT && value != MILD_ALERT && value != HIGH_ALERT) { - DBG("Illegal alert value"); - goto set_error; - } - - /* Register a disconnect cb if the alert level is non-zero */ - if (value != NO_ALERT && !condev) { - condev = g_new0(struct connected_device, 1); - condev->device = btd_device_ref(device); - condev->adapter = ia; - condev->callback_id = btd_device_add_attio_callback(device, - NULL, imm_alert_disc_cb, condev); - ia->connected_devices = g_slist_append(ia->connected_devices, - condev); - DBG("added connected dev %p", device); - } - - if (value != NO_ALERT) { - condev->alert_level = value; - imm_alert_emit_alert_signal(condev, value); - } - - /* - * Emit NO_ALERT if the alert level was non-zero before. This is - * guaranteed when there's a condev. - */ - if (value == NO_ALERT && condev) - imm_alert_disc_cb(condev); - - DBG("alert level set to %d by device %p", value, device); - return 0; - -set_error: - error("Set immediate alert level for dev %p", device); - /* remove alerts by erroneous devices */ - imm_alert_disc_cb(condev); - return ATT_ECODE_IO; -} - -void imm_alert_register(struct btd_adapter *adapter) -{ - gboolean svc_added; - bt_uuid_t uuid; - struct imm_alert_adapter *imadapter; - - bt_uuid16_create(&uuid, IMMEDIATE_ALERT_SVC_UUID); - - imadapter = g_new0(struct imm_alert_adapter, 1); - imadapter->adapter = adapter; - - imm_alert_adapters = g_slist_append(imm_alert_adapters, imadapter); - - /* Immediate Alert Service */ - svc_added = gatt_service_add(adapter, - GATT_PRIM_SVC_UUID, &uuid, - /* Alert level characteristic */ - GATT_OPT_CHR_UUID, ALERT_LEVEL_CHR_UUID, - GATT_OPT_CHR_PROPS, - ATT_CHAR_PROPER_WRITE_WITHOUT_RESP, - GATT_OPT_CHR_VALUE_CB, ATTRIB_WRITE, - imm_alert_alert_lvl_write, imadapter, - GATT_OPT_INVALID); - - if (!svc_added) { - imm_alert_unregister(adapter); - return; - } - - DBG("Immediate Alert service added"); -} - -static void remove_condev_list_item(gpointer data, gpointer user_data) -{ - struct connected_device *condev = data; - - imm_alert_remove_condev(condev); -} - -void imm_alert_unregister(struct btd_adapter *adapter) -{ - struct imm_alert_adapter *imadapter; - - imadapter = find_imm_alert_adapter(adapter); - if (!imadapter) - return; - - g_slist_foreach(imadapter->connected_devices, remove_condev_list_item, - NULL); - - imm_alert_adapters = g_slist_remove(imm_alert_adapters, imadapter); - g_free(imadapter); -} diff --git a/GRIB_BLE_HUB/libs/ble_extend/profiles/proximity/immalert.h b/GRIB_BLE_HUB/libs/ble_extend/profiles/proximity/immalert.h deleted file mode 100644 index 1a09fa9..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/profiles/proximity/immalert.h +++ /dev/null @@ -1,26 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2012 Texas Instruments Corporation - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -void imm_alert_register(struct btd_adapter *adapter); -void imm_alert_unregister(struct btd_adapter *adapter); -const char *imm_alert_get_level(struct btd_device *device); diff --git a/GRIB_BLE_HUB/libs/ble_extend/profiles/proximity/linkloss.c b/GRIB_BLE_HUB/libs/ble_extend/profiles/proximity/linkloss.c deleted file mode 100644 index cb87b12..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/profiles/proximity/linkloss.c +++ /dev/null @@ -1,334 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2012 Texas Instruments Corporation - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include - -#include -#include - -#include -#include - -#include "lib/uuid.h" -#include "log.h" -#include "attrib/att-database.h" -#include "attrib/gattrib.h" -#include "attrib/att.h" -#include "attrib/gatt.h" -#include "attrib/gatt-service.h" -#include "attrib-server.h" -#include "device.h" -#include "profile.h" -#include "attio.h" -#include "dbus-common.h" -#include "reporter.h" -#include "linkloss.h" - -struct link_loss_adapter { - struct btd_adapter *adapter; - uint16_t alert_lvl_value_handle; - GSList *connected_devices; -}; - -struct connected_device { - struct btd_device *device; - struct link_loss_adapter *adapter; - uint8_t alert_level; - guint callback_id; - guint local_disc_id; -}; - -static GSList *link_loss_adapters; - -static int lldevice_cmp(gconstpointer a, gconstpointer b) -{ - const struct connected_device *llcondev = a; - const struct btd_device *device = b; - - if (llcondev->device == device) - return 0; - - return -1; -} - -static struct connected_device * -find_connected_device(struct link_loss_adapter *la, struct btd_device *device) -{ - GSList *l = g_slist_find_custom(la->connected_devices, device, - lldevice_cmp); - if (!l) - return NULL; - - return l->data; -} - -static int lladapter_cmp(gconstpointer a, gconstpointer b) -{ - const struct link_loss_adapter *lladapter = a; - const struct btd_adapter *adapter = b; - - if (lladapter->adapter == adapter) - return 0; - - return -1; -} - -static struct link_loss_adapter * -find_link_loss_adapter(struct btd_adapter *adapter) -{ - GSList *l = g_slist_find_custom(link_loss_adapters, adapter, - lladapter_cmp); - if (!l) - return NULL; - - return l->data; -} - -const char *link_loss_get_alert_level(struct btd_device *device) -{ - struct link_loss_adapter *lladapter; - struct connected_device *condev; - - if (!device) - return get_alert_level_string(NO_ALERT); - - lladapter = find_link_loss_adapter(device_get_adapter(device)); - if (!lladapter) - return get_alert_level_string(NO_ALERT); - - condev = find_connected_device(lladapter, device); - if (!condev) - return get_alert_level_string(NO_ALERT); - - return get_alert_level_string(condev->alert_level); -} - -static void link_loss_emit_alert_signal(struct connected_device *condev) -{ - const char *alert_level_str, *path; - - if (!condev->device) - return; - - path = device_get_path(condev->device); - alert_level_str = get_alert_level_string(condev->alert_level); - - DBG("alert %s remote %s", alert_level_str, path); - - g_dbus_emit_property_changed(btd_get_dbus_connection(), path, - PROXIMITY_REPORTER_INTERFACE, "LinkLossAlertLevel"); -} - -static uint8_t link_loss_alert_lvl_read(struct attribute *a, - struct btd_device *device, gpointer user_data) -{ - struct link_loss_adapter *la = user_data; - struct connected_device *condev; - uint8_t alert_level = NO_ALERT; - - if (!device) - goto out; - - condev = find_connected_device(la, device); - if (!condev) - goto out; - - alert_level = condev->alert_level; - -out: - DBG("return alert level %d for dev %p", alert_level, device); - - /* update the alert level according to the requesting device */ - attrib_db_update(la->adapter, a->handle, NULL, &alert_level, - sizeof(alert_level), NULL); - - return 0; -} - -/* condev can be NULL */ -static void link_loss_remove_condev(struct connected_device *condev) -{ - struct link_loss_adapter *la; - - if (!condev) - return; - - la = condev->adapter; - - if (condev->callback_id && condev->device) - btd_device_remove_attio_callback(condev->device, - condev->callback_id); - - if (condev->local_disc_id && condev->device) - device_remove_disconnect_watch(condev->device, - condev->local_disc_id); - - if (condev->device) - btd_device_unref(condev->device); - - la->connected_devices = g_slist_remove(la->connected_devices, condev); - g_free(condev); -} - -static void link_loss_disc_cb(gpointer user_data) -{ - struct connected_device *condev = user_data; - - DBG("alert loss disconnect device %p", condev->device); - - /* if an alert-level is set, emit a signal */ - if (condev->alert_level != NO_ALERT) - link_loss_emit_alert_signal(condev); - - /* we are open for more changes now */ - link_loss_remove_condev(condev); -} - -static void link_loss_local_disc(struct btd_device *device, - gboolean removal, void *user_data) -{ - struct connected_device *condev = user_data; - - /* no need to alert on this device - we requested disconnection */ - link_loss_remove_condev(condev); - - DBG("alert level zeroed for locally disconnecting dev %p", device); -} - -static uint8_t link_loss_alert_lvl_write(struct attribute *a, - struct btd_device *device, gpointer user_data) -{ - uint8_t value; - struct link_loss_adapter *la = user_data; - struct connected_device *condev = NULL; - - if (!device) - goto set_error; - - /* condev might remain NULL here if nothing is found */ - condev = find_connected_device(la, device); - - if (a->len == 0) { - DBG("Illegal alert level length"); - goto set_error; - } - - value = a->data[0]; - if (value != NO_ALERT && value != MILD_ALERT && value != HIGH_ALERT) { - DBG("Illegal alert value"); - goto set_error; - } - - /* Register a disconnect cb if the alert level is non-zero */ - if (value != NO_ALERT && !condev) { - condev = g_new0(struct connected_device, 1); - condev->device = btd_device_ref(device); - condev->adapter = la; - condev->callback_id = btd_device_add_attio_callback(device, - NULL, link_loss_disc_cb, condev); - condev->local_disc_id = device_add_disconnect_watch(device, - link_loss_local_disc, condev, NULL); - - la->connected_devices = g_slist_append(la->connected_devices, - condev); - } else if (value == NO_ALERT && condev) { - link_loss_remove_condev(condev); - condev = NULL; - } - - DBG("alert level set to %d by device %p", value, device); - - if (condev) - condev->alert_level = value; - - return 0; - -set_error: - error("Set link loss alert level for dev %p", device); - /* reset alert level on erroneous devices */ - link_loss_remove_condev(condev); - return ATT_ECODE_IO; -} - -void link_loss_register(struct btd_adapter *adapter) -{ - gboolean svc_added; - bt_uuid_t uuid; - struct link_loss_adapter *lladapter; - - bt_uuid16_create(&uuid, LINK_LOSS_SVC_UUID); - - lladapter = g_new0(struct link_loss_adapter, 1); - lladapter->adapter = adapter; - - link_loss_adapters = g_slist_append(link_loss_adapters, lladapter); - - /* Link Loss Service */ - svc_added = gatt_service_add(adapter, - GATT_PRIM_SVC_UUID, &uuid, - /* Alert level characteristic */ - GATT_OPT_CHR_UUID, ALERT_LEVEL_CHR_UUID, - GATT_OPT_CHR_PROPS, - ATT_CHAR_PROPER_READ | ATT_CHAR_PROPER_WRITE, - GATT_OPT_CHR_VALUE_CB, ATTRIB_READ, - link_loss_alert_lvl_read, lladapter, - GATT_OPT_CHR_VALUE_CB, ATTRIB_WRITE, - link_loss_alert_lvl_write, lladapter, - GATT_OPT_CHR_VALUE_GET_HANDLE, - &lladapter->alert_lvl_value_handle, - GATT_OPT_INVALID); - - if (!svc_added) - goto err; - - DBG("Link Loss service added"); - return; - -err: - error("Error adding Link Loss service"); - link_loss_unregister(adapter); -} - -static void remove_condev_list_item(gpointer data, gpointer user_data) -{ - struct connected_device *condev = data; - - link_loss_remove_condev(condev); -} - -void link_loss_unregister(struct btd_adapter *adapter) -{ - struct link_loss_adapter *lladapter; - lladapter = find_link_loss_adapter(adapter); - if (!lladapter) - return; - - g_slist_foreach(lladapter->connected_devices, remove_condev_list_item, - NULL); - - link_loss_adapters = g_slist_remove(link_loss_adapters, lladapter); - g_free(lladapter); -} diff --git a/GRIB_BLE_HUB/libs/ble_extend/profiles/proximity/linkloss.h b/GRIB_BLE_HUB/libs/ble_extend/profiles/proximity/linkloss.h deleted file mode 100644 index 0447def..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/profiles/proximity/linkloss.h +++ /dev/null @@ -1,26 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2012 Texas Instruments Corporation - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -void link_loss_register(struct btd_adapter *adapter); -void link_loss_unregister(struct btd_adapter *adapter); -const char *link_loss_get_alert_level(struct btd_device *device); diff --git a/GRIB_BLE_HUB/libs/ble_extend/profiles/proximity/main.c b/GRIB_BLE_HUB/libs/ble_extend/profiles/proximity/main.c deleted file mode 100644 index 46468d2..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/profiles/proximity/main.c +++ /dev/null @@ -1,81 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2011 Nokia Corporation - * Copyright (C) 2011 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include -#include -#include - -#include "log.h" -#include "plugin.h" -#include "manager.h" -#include "hcid.h" - -static GKeyFile *config = NULL; - -static GKeyFile *open_config_file(const char *file) -{ - GError *gerr = NULL; - GKeyFile *keyfile; - - keyfile = g_key_file_new(); - - g_key_file_set_list_separator(keyfile, ','); - - if (!g_key_file_load_from_file(keyfile, file, 0, &gerr)) { - if (!g_error_matches(gerr, G_FILE_ERROR, G_FILE_ERROR_NOENT)) - error("Parsing %s failed: %s", file, gerr->message); - g_error_free(gerr); - g_key_file_free(keyfile); - return NULL; - } - - return keyfile; -} - -static int proximity_init(void) -{ - config = open_config_file(CONFIGDIR "/proximity.conf"); - - if (proximity_manager_init(config) < 0) - return -EIO; - - return 0; -} - -static void proximity_exit(void) -{ - if (config) - g_key_file_free(config); - - proximity_manager_exit(); -} - -BLUETOOTH_PLUGIN_DEFINE(proximity, VERSION, - BLUETOOTH_PLUGIN_PRIORITY_DEFAULT, - proximity_init, proximity_exit) diff --git a/GRIB_BLE_HUB/libs/ble_extend/profiles/proximity/manager.c b/GRIB_BLE_HUB/libs/ble_extend/profiles/proximity/manager.c deleted file mode 100644 index 81bfc3b..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/profiles/proximity/manager.c +++ /dev/null @@ -1,188 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2011 Nokia Corporation - * Copyright (C) 2011 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include - -#include -#include - -#include "lib/uuid.h" -#include "adapter.h" -#include "device.h" -#include "profile.h" -#include "attrib/att.h" -#include "attrib/gattrib.h" -#include "attrib/gatt.h" -#include "monitor.h" -#include "reporter.h" -#include "manager.h" - -static struct enabled enabled = { - .linkloss = TRUE, - .pathloss = TRUE, - .findme = TRUE, -}; - -static int monitor_linkloss_probe(struct btd_profile *p, - struct btd_device *device, GSList *uuids) -{ - struct gatt_primary *linkloss; - - linkloss = btd_device_get_primary(device, LINK_LOSS_UUID); - if (linkloss == NULL) - return -1; - - return monitor_register_linkloss(device, &enabled, linkloss); -} - -static int monitor_immediate_probe(struct btd_profile *p, - struct btd_device *device, GSList *uuids) -{ - struct gatt_primary *immediate; - - immediate = btd_device_get_primary(device, IMMEDIATE_ALERT_UUID); - if (immediate == NULL) - return -1; - - return monitor_register_immediate(device, &enabled, immediate); -} - -static int monitor_txpower_probe(struct btd_profile *p, - struct btd_device *device, GSList *uuids) -{ - struct gatt_primary *txpower; - - txpower = btd_device_get_primary(device, TX_POWER_UUID); - if (txpower == NULL) - return -1; - - return monitor_register_txpower(device, &enabled, txpower); -} - -static void monitor_linkloss_remove(struct btd_profile *p, - struct btd_device *device) -{ - monitor_unregister_linkloss(device); -} - -static void monitor_immediate_remove(struct btd_profile *p, - struct btd_device *device) -{ - monitor_unregister_immediate(device); -} - -static void monitor_txpower_remove(struct btd_profile *p, - struct btd_device *device) -{ - monitor_unregister_txpower(device); -} - -static struct btd_profile pxp_monitor_linkloss_profile = { - .name = "proximity-linkloss", - .remote_uuid = LINK_LOSS_UUID, - .device_probe = monitor_linkloss_probe, - .device_remove = monitor_linkloss_remove, -}; - -static struct btd_profile pxp_monitor_immediate_profile = { - .name = "proximity-immediate", - .remote_uuid = IMMEDIATE_ALERT_UUID, - .device_probe = monitor_immediate_probe, - .device_remove = monitor_immediate_remove, -}; - -static struct btd_profile pxp_monitor_txpower_profile = { - .name = "proximity-txpower", - .remote_uuid = TX_POWER_UUID, - .device_probe = monitor_txpower_probe, - .device_remove = monitor_txpower_remove, -}; - -static struct btd_profile pxp_reporter_profile = { - .name = "Proximity Reporter GATT Driver", - .remote_uuid = GATT_UUID, - .device_probe = reporter_device_probe, - .device_remove = reporter_device_remove, - - .adapter_probe = reporter_adapter_probe, - .adapter_remove = reporter_adapter_remove, -}; - -static void load_config_file(GKeyFile *config) -{ - char **list; - int i; - - if (config == NULL) - return; - - list = g_key_file_get_string_list(config, "General", "Disable", - NULL, NULL); - for (i = 0; list && list[i] != NULL; i++) { - if (g_str_equal(list[i], "FindMe")) - enabled.findme = FALSE; - else if (g_str_equal(list[i], "LinkLoss")) - enabled.linkloss = FALSE; - else if (g_str_equal(list[i], "PathLoss")) - enabled.pathloss = FALSE; - } - - g_strfreev(list); -} - -int proximity_manager_init(GKeyFile *config) -{ - load_config_file(config); - - if (btd_profile_register(&pxp_monitor_linkloss_profile) < 0) - goto fail; - - if (btd_profile_register(&pxp_monitor_immediate_profile) < 0) - goto fail; - - if (btd_profile_register(&pxp_monitor_txpower_profile) < 0) - goto fail; - - if (btd_profile_register(&pxp_reporter_profile) < 0) - goto fail; - - return 0; - -fail: - proximity_manager_exit(); - - return -1; -} - -void proximity_manager_exit(void) -{ - btd_profile_unregister(&pxp_reporter_profile); - btd_profile_unregister(&pxp_monitor_txpower_profile); - btd_profile_unregister(&pxp_monitor_immediate_profile); - btd_profile_unregister(&pxp_monitor_linkloss_profile); -} diff --git a/GRIB_BLE_HUB/libs/ble_extend/profiles/proximity/manager.h b/GRIB_BLE_HUB/libs/ble_extend/profiles/proximity/manager.h deleted file mode 100644 index e65c31d..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/profiles/proximity/manager.h +++ /dev/null @@ -1,26 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2011 Nokia Corporation - * Copyright (C) 2011 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -int proximity_manager_init(GKeyFile *conf); -void proximity_manager_exit(void); diff --git a/GRIB_BLE_HUB/libs/ble_extend/profiles/proximity/monitor.c b/GRIB_BLE_HUB/libs/ble_extend/profiles/proximity/monitor.c deleted file mode 100644 index 48f877d..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/profiles/proximity/monitor.c +++ /dev/null @@ -1,810 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2011 Nokia Corporation - * Copyright (C) 2011 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include - -#include "lib/uuid.h" -#include "dbus-common.h" -#include "adapter.h" -#include "device.h" -#include "error.h" -#include "log.h" -#include "attrib/att.h" -#include "attrib/gattrib.h" -#include "attrib/gatt.h" -#include "attio.h" -#include "monitor.h" -#include "textfile.h" - -#define PROXIMITY_INTERFACE "org.bluez.ProximityMonitor1" - -#define ALERT_LEVEL_CHR_UUID 0x2A06 -#define POWER_LEVEL_CHR_UUID 0x2A07 - -#define IMMEDIATE_TIMEOUT 5 -#define TX_POWER_SIZE 1 - -enum { - ALERT_NONE = 0, - ALERT_MILD, - ALERT_HIGH, -}; - -struct monitor { - struct btd_device *device; - GAttrib *attrib; - struct att_range *linkloss; - struct att_range *txpower; - struct att_range *immediate; - struct enabled enabled; - char *linklosslevel; /* Link Loss Alert Level */ - char *fallbacklevel; /* Immediate fallback alert level */ - char *immediatelevel; /* Immediate Alert Level */ - char *signallevel; /* Path Loss RSSI level */ - uint16_t linklosshandle; /* Link Loss Characteristic - * Value Handle */ - uint16_t txpowerhandle; /* Tx Characteristic Value Handle */ - uint16_t immediatehandle; /* Immediate Alert Value Handle */ - guint immediateto; /* Reset Immediate Alert to "none" */ - guint attioid; -}; - -static GSList *monitors = NULL; - -static struct monitor *find_monitor(struct btd_device *device) -{ - GSList *l; - - for (l = monitors; l; l = l->next) { - struct monitor *monitor = l->data; - - if (monitor->device == device) - return monitor; - } - - return NULL; -} - -static void write_proximity_config(struct btd_device *device, const char *alert, - const char *level) -{ - char *filename; - GKeyFile *key_file; - char *data; - gsize length = 0; - - filename = btd_device_get_storage_path(device, "proximity"); - - key_file = g_key_file_new(); - g_key_file_load_from_file(key_file, filename, 0, NULL); - - if (level) - g_key_file_set_string(key_file, alert, "Level", level); - else - g_key_file_remove_group(key_file, alert, NULL); - - data = g_key_file_to_data(key_file, &length, NULL); - if (length > 0) { - create_file(filename, S_IRUSR | S_IWUSR); - g_file_set_contents(filename, data, length, NULL); - } - - g_free(data); - g_free(filename); - g_key_file_free(key_file); -} - -static char *read_proximity_config(struct btd_device *device, const char *alert) -{ - char *filename; - GKeyFile *key_file; - char *str; - - filename = btd_device_get_storage_path(device, "proximity"); - - key_file = g_key_file_new(); - g_key_file_load_from_file(key_file, filename, 0, NULL); - - str = g_key_file_get_string(key_file, alert, "Level", NULL); - - g_free(filename); - g_key_file_free(key_file); - - return str; -} - -static uint8_t str2level(const char *level) -{ - if (g_strcmp0("high", level) == 0) - return ALERT_HIGH; - else if (g_strcmp0("mild", level) == 0) - return ALERT_MILD; - - return ALERT_NONE; -} - -static void linkloss_written(guint8 status, const guint8 *pdu, guint16 plen, - gpointer user_data) -{ - struct monitor *monitor = user_data; - struct btd_device *device = monitor->device; - const char *path = device_get_path(device); - - if (status != 0) { - error("Link Loss Write Request failed: %s", - att_ecode2str(status)); - return; - } - - if (!dec_write_resp(pdu, plen)) { - error("Link Loss Write Request: protocol error"); - return; - } - - DBG("Link Loss Alert Level written"); - - g_dbus_emit_property_changed(btd_get_dbus_connection(), path, - PROXIMITY_INTERFACE, "LinkLossAlertLevel"); -} - -static void char_discovered_cb(GSList *characteristics, guint8 status, - gpointer user_data) -{ - struct monitor *monitor = user_data; - struct gatt_char *chr; - uint8_t value = str2level(monitor->linklosslevel); - - if (status) { - error("Discover Link Loss handle: %s", att_ecode2str(status)); - return; - } - - DBG("Setting alert level \"%s\" on Reporter", monitor->linklosslevel); - - /* Assume there is a single Alert Level characteristic */ - chr = characteristics->data; - monitor->linklosshandle = chr->value_handle; - - gatt_write_char(monitor->attrib, monitor->linklosshandle, &value, 1, - linkloss_written, monitor); -} - -static int write_alert_level(struct monitor *monitor) -{ - struct att_range *linkloss = monitor->linkloss; - bt_uuid_t uuid; - - if (monitor->linklosshandle) { - uint8_t value = str2level(monitor->linklosslevel); - - gatt_write_char(monitor->attrib, monitor->linklosshandle, - &value, 1, linkloss_written, monitor); - return 0; - } - - bt_uuid16_create(&uuid, ALERT_LEVEL_CHR_UUID); - - /* FIXME: use cache (requires service changed support) ? */ - gatt_discover_char(monitor->attrib, linkloss->start, linkloss->end, - &uuid, char_discovered_cb, monitor); - - return 0; -} - -static void tx_power_read_cb(guint8 status, const guint8 *pdu, guint16 plen, - gpointer user_data) -{ - uint8_t value[TX_POWER_SIZE]; - ssize_t vlen; - - if (status != 0) { - DBG("Tx Power Level read failed: %s", att_ecode2str(status)); - return; - } - - vlen = dec_read_resp(pdu, plen, value, sizeof(value)); - if (vlen < 0) { - DBG("Protocol error"); - return; - } - - if (vlen != 1) { - DBG("Invalid length for TX Power value: %zd", vlen); - return; - } - - DBG("Tx Power Level: %02x", (int8_t) value[0]); -} - -static void tx_power_handle_cb(GSList *characteristics, guint8 status, - gpointer user_data) -{ - struct monitor *monitor = user_data; - struct gatt_char *chr; - - if (status) { - error("Discover Tx Power handle: %s", att_ecode2str(status)); - return; - } - - chr = characteristics->data; - monitor->txpowerhandle = chr->value_handle; - - DBG("Tx Power handle: 0x%04x", monitor->txpowerhandle); - - gatt_read_char(monitor->attrib, monitor->txpowerhandle, - tx_power_read_cb, monitor); -} - -static void read_tx_power(struct monitor *monitor) -{ - struct att_range *txpower = monitor->txpower; - bt_uuid_t uuid; - - if (monitor->txpowerhandle != 0) { - gatt_read_char(monitor->attrib, monitor->txpowerhandle, - tx_power_read_cb, monitor); - return; - } - - bt_uuid16_create(&uuid, POWER_LEVEL_CHR_UUID); - - gatt_discover_char(monitor->attrib, txpower->start, txpower->end, - &uuid, tx_power_handle_cb, monitor); -} - -static gboolean immediate_timeout(gpointer user_data) -{ - struct monitor *monitor = user_data; - const char *path = device_get_path(monitor->device); - - monitor->immediateto = 0; - - if (g_strcmp0(monitor->immediatelevel, "none") == 0) - return FALSE; - - if (monitor->attrib) { - uint8_t value = ALERT_NONE; - gatt_write_cmd(monitor->attrib, monitor->immediatehandle, - &value, 1, NULL, NULL); - } - - g_free(monitor->immediatelevel); - monitor->immediatelevel = g_strdup("none"); - - - g_dbus_emit_property_changed(btd_get_dbus_connection(), path, - PROXIMITY_INTERFACE, "ImmediateAlertLevel"); - - return FALSE; -} - -static void immediate_written(gpointer user_data) -{ - struct monitor *monitor = user_data; - const char *path = device_get_path(monitor->device); - - g_free(monitor->fallbacklevel); - monitor->fallbacklevel = NULL; - - - g_dbus_emit_property_changed(btd_get_dbus_connection(), path, - PROXIMITY_INTERFACE, "ImmediateAlertLevel"); - - monitor->immediateto = g_timeout_add_seconds(IMMEDIATE_TIMEOUT, - immediate_timeout, monitor); -} - -static void write_immediate_alert(struct monitor *monitor) -{ - uint8_t value = str2level(monitor->immediatelevel); - - gatt_write_cmd(monitor->attrib, monitor->immediatehandle, &value, 1, - immediate_written, monitor); -} - -static void immediate_handle_cb(GSList *characteristics, guint8 status, - gpointer user_data) -{ - struct monitor *monitor = user_data; - struct gatt_char *chr; - - if (status) { - error("Discover Immediate Alert handle: %s", - att_ecode2str(status)); - return; - } - - chr = characteristics->data; - monitor->immediatehandle = chr->value_handle; - - DBG("Immediate Alert handle: 0x%04x", monitor->immediatehandle); - - if (monitor->fallbacklevel) - write_immediate_alert(monitor); -} - -static void discover_immediate_handle(struct monitor *monitor) -{ - struct att_range *immediate = monitor->immediate; - bt_uuid_t uuid; - - bt_uuid16_create(&uuid, ALERT_LEVEL_CHR_UUID); - - gatt_discover_char(monitor->attrib, immediate->start, immediate->end, - &uuid, immediate_handle_cb, monitor); -} - -static void attio_connected_cb(GAttrib *attrib, gpointer user_data) -{ - struct monitor *monitor = user_data; - - monitor->attrib = g_attrib_ref(attrib); - - if (monitor->enabled.linkloss) - write_alert_level(monitor); - - if (monitor->enabled.pathloss) - read_tx_power(monitor); - - if (monitor->immediatehandle == 0) { - if(monitor->enabled.pathloss || monitor->enabled.findme) - discover_immediate_handle(monitor); - } else if (monitor->fallbacklevel) - write_immediate_alert(monitor); -} - -static void attio_disconnected_cb(gpointer user_data) -{ - struct monitor *monitor = user_data; - const char *path = device_get_path(monitor->device); - - g_attrib_unref(monitor->attrib); - monitor->attrib = NULL; - - if (monitor->immediateto == 0) - return; - - g_source_remove(monitor->immediateto); - monitor->immediateto = 0; - - if (g_strcmp0(monitor->immediatelevel, "none") == 0) - return; - - g_free(monitor->immediatelevel); - monitor->immediatelevel = g_strdup("none"); - - g_dbus_emit_property_changed(btd_get_dbus_connection(), path, - PROXIMITY_INTERFACE, "ImmediateAlertLevel"); -} - -static gboolean level_is_valid(const char *level) -{ - return (g_str_equal("none", level) || - g_str_equal("mild", level) || - g_str_equal("high", level)); -} - -static gboolean property_get_link_loss_level(const GDBusPropertyTable *property, - DBusMessageIter *iter, void *data) -{ - struct monitor *monitor = data; - - dbus_message_iter_append_basic(iter, DBUS_TYPE_STRING, - &monitor->linklosslevel); - - return TRUE; -} - -static void property_set_link_loss_level(const GDBusPropertyTable *property, - DBusMessageIter *iter, GDBusPendingPropertySet id, void *data) -{ - struct monitor *monitor = data; - const char *level; - - if (dbus_message_iter_get_arg_type(iter) != DBUS_TYPE_STRING) { - g_dbus_pending_property_error(id, - ERROR_INTERFACE ".InvalidArguments", - "Invalid arguments in method call"); - return; - } - - dbus_message_iter_get_basic(iter, &level); - - if (!level_is_valid(level)) { - g_dbus_pending_property_error(id, - ERROR_INTERFACE ".InvalidArguments", - "Invalid arguments in method call"); - return; - } - - if (g_strcmp0(monitor->linklosslevel, level) == 0) - goto done; - - g_free(monitor->linklosslevel); - monitor->linklosslevel = g_strdup(level); - - write_proximity_config(monitor->device, "LinkLossAlertLevel", level); - - if (monitor->attrib) - write_alert_level(monitor); - -done: - g_dbus_pending_property_success(id); -} - -static gboolean property_exists_link_loss_level( - const GDBusPropertyTable *property, void *data) -{ - struct monitor *monitor = data; - - if (!monitor->enabled.linkloss) - return FALSE; - - return TRUE; -} - -static gboolean property_get_immediate_alert_level( - const GDBusPropertyTable *property, - DBusMessageIter *iter, void *data) -{ - struct monitor *monitor = data; - - dbus_message_iter_append_basic(iter, DBUS_TYPE_STRING, - &monitor->immediatelevel); - - return TRUE; -} - -static void property_set_immediate_alert_level( - const GDBusPropertyTable *property, DBusMessageIter *iter, - GDBusPendingPropertySet id, void *data) -{ - struct monitor *monitor = data; - struct btd_device *device = monitor->device; - const char *level; - - if (dbus_message_iter_get_arg_type(iter) != DBUS_TYPE_STRING) { - g_dbus_pending_property_error(id, - ERROR_INTERFACE ".InvalidArguments", - "Invalid arguments in method call"); - return; - } - - dbus_message_iter_get_basic(iter, &level); - - if (!level_is_valid(level)) { - g_dbus_pending_property_error(id, - ERROR_INTERFACE ".InvalidArguments", - "Invalid arguments in method call"); - return; - } - - if (g_strcmp0(monitor->immediatelevel, level) == 0) - goto done; - - if (monitor->immediateto) { - g_source_remove(monitor->immediateto); - monitor->immediateto = 0; - } - - /* Previous Immediate Alert level if connection/write fails */ - g_free(monitor->fallbacklevel); - monitor->fallbacklevel = monitor->immediatelevel; - - monitor->immediatelevel = g_strdup(level); - - /* - * Means that Link/Path Loss are disabled or there is a pending - * writting for Find Me(Immediate Alert characteristic value). - * If enabled, Path Loss always registers a connection callback - * when the Proximity Monitor starts. - */ - if (monitor->attioid == 0) - monitor->attioid = btd_device_add_attio_callback(device, - attio_connected_cb, - attio_disconnected_cb, - monitor); - else if (monitor->attrib) - write_immediate_alert(monitor); - -done: - g_dbus_pending_property_success(id); -} - -static gboolean property_exists_immediate_alert_level( - const GDBusPropertyTable *property, void *data) -{ - struct monitor *monitor = data; - - if (!(monitor->enabled.findme || monitor->enabled.pathloss)) - return FALSE; - - return TRUE; -} - -static gboolean property_get_signal_level( - const GDBusPropertyTable *property, - DBusMessageIter *iter, void *data) -{ - struct monitor *monitor = data; - - dbus_message_iter_append_basic(iter, DBUS_TYPE_STRING, - &monitor->signallevel); - - return TRUE; -} - -static gboolean property_exists_signal_level(const GDBusPropertyTable *property, - void *data) -{ - struct monitor *monitor = data; - - if (!monitor->enabled.pathloss) - return FALSE; - - return TRUE; -} - -static const GDBusPropertyTable monitor_device_properties[] = { - { "LinkLossAlertLevel", "s", property_get_link_loss_level, - property_set_link_loss_level, - property_exists_link_loss_level }, - { "ImmediateAlertLevel", "s", property_get_immediate_alert_level, - property_set_immediate_alert_level, - property_exists_immediate_alert_level }, - { "SignalLevel", "s", property_get_signal_level, NULL, - property_exists_signal_level }, - { } -}; - -static void monitor_destroy(gpointer user_data) -{ - struct monitor *monitor = user_data; - - btd_device_unref(monitor->device); - g_free(monitor->linklosslevel); - g_free(monitor->immediatelevel); - g_free(monitor->signallevel); - g_free(monitor); - - monitors = g_slist_remove(monitors, monitor); -} - -static struct monitor *register_monitor(struct btd_device *device) -{ - const char *path = device_get_path(device); - struct monitor *monitor; - char *level; - - monitor = find_monitor(device); - if (monitor != NULL) - return monitor; - - level = read_proximity_config(device, "LinkLossAlertLevel"); - - monitor = g_new0(struct monitor, 1); - monitor->device = btd_device_ref(device); - monitor->linklosslevel = (level ? : g_strdup("high")); - monitor->signallevel = g_strdup("unknown"); - monitor->immediatelevel = g_strdup("none"); - - monitors = g_slist_append(monitors, monitor); - - if (g_dbus_register_interface(btd_get_dbus_connection(), path, - PROXIMITY_INTERFACE, - NULL, NULL, monitor_device_properties, - monitor, monitor_destroy) == FALSE) { - error("D-Bus failed to register %s interface", - PROXIMITY_INTERFACE); - monitor_destroy(monitor); - return NULL; - } - - DBG("Registered interface %s on path %s", PROXIMITY_INTERFACE, path); - - return monitor; -} - -static void update_monitor(struct monitor *monitor) -{ - if (monitor->txpower != NULL && monitor->immediate != NULL) - monitor->enabled.pathloss = TRUE; - else - monitor->enabled.pathloss = FALSE; - - DBG("Link Loss: %s, Path Loss: %s, FindMe: %s", - monitor->enabled.linkloss ? "TRUE" : "FALSE", - monitor->enabled.pathloss ? "TRUE" : "FALSE", - monitor->enabled.findme ? "TRUE" : "FALSE"); - - if (!monitor->enabled.linkloss && !monitor->enabled.pathloss) - return; - - if (monitor->attioid != 0) - return; - - monitor->attioid = btd_device_add_attio_callback(monitor->device, - attio_connected_cb, - attio_disconnected_cb, - monitor); -} - -int monitor_register_linkloss(struct btd_device *device, - struct enabled *enabled, - struct gatt_primary *linkloss) -{ - struct monitor *monitor; - - if (!enabled->linkloss) - return 0; - - monitor = register_monitor(device); - if (monitor == NULL) - return -1; - - monitor->linkloss = g_new0(struct att_range, 1); - monitor->linkloss->start = linkloss->range.start; - monitor->linkloss->end = linkloss->range.end; - monitor->enabled.linkloss = TRUE; - - update_monitor(monitor); - - return 0; -} - -int monitor_register_txpower(struct btd_device *device, - struct enabled *enabled, - struct gatt_primary *txpower) -{ - struct monitor *monitor; - - if (!enabled->pathloss) - return 0; - - monitor = register_monitor(device); - if (monitor == NULL) - return -1; - - monitor->txpower = g_new0(struct att_range, 1); - monitor->txpower->start = txpower->range.start; - monitor->txpower->end = txpower->range.end; - - update_monitor(monitor); - - return 0; -} - -int monitor_register_immediate(struct btd_device *device, - struct enabled *enabled, - struct gatt_primary *immediate) -{ - struct monitor *monitor; - - if (!enabled->pathloss && !enabled->findme) - return 0; - - monitor = register_monitor(device); - if (monitor == NULL) - return -1; - - monitor->immediate = g_new0(struct att_range, 1); - monitor->immediate->start = immediate->range.start; - monitor->immediate->end = immediate->range.end; - monitor->enabled.findme = enabled->findme; - - update_monitor(monitor); - - return 0; -} - -static void cleanup_monitor(struct monitor *monitor) -{ - struct btd_device *device = monitor->device; - const char *path = device_get_path(device); - - if (monitor->immediate != NULL || monitor->txpower != NULL) - return; - - if (monitor->immediateto != 0) { - g_source_remove(monitor->immediateto); - monitor->immediateto = 0; - } - - if (monitor->linkloss != NULL) - return; - - if (monitor->attioid != 0) { - btd_device_remove_attio_callback(device, monitor->attioid); - monitor->attioid = 0; - } - - if (monitor->attrib != NULL) { - g_attrib_unref(monitor->attrib); - monitor->attrib = NULL; - } - - g_dbus_unregister_interface(btd_get_dbus_connection(), path, - PROXIMITY_INTERFACE); -} - -void monitor_unregister_linkloss(struct btd_device *device) -{ - struct monitor *monitor; - - monitor = find_monitor(device); - if (monitor == NULL) - return; - - g_free(monitor->linkloss); - monitor->linkloss = NULL; - monitor->enabled.linkloss = FALSE; - - cleanup_monitor(monitor); -} - -void monitor_unregister_txpower(struct btd_device *device) -{ - struct monitor *monitor; - - monitor = find_monitor(device); - if (monitor == NULL) - return; - - g_free(monitor->txpower); - monitor->txpower = NULL; - monitor->enabled.pathloss = FALSE; - - cleanup_monitor(monitor); -} - -void monitor_unregister_immediate(struct btd_device *device) -{ - struct monitor *monitor; - - monitor = find_monitor(device); - if (monitor == NULL) - return; - - g_free(monitor->immediate); - monitor->immediate = NULL; - monitor->enabled.findme = FALSE; - monitor->enabled.pathloss = FALSE; - - cleanup_monitor(monitor); -} diff --git a/GRIB_BLE_HUB/libs/ble_extend/profiles/proximity/monitor.h b/GRIB_BLE_HUB/libs/ble_extend/profiles/proximity/monitor.h deleted file mode 100644 index d9a40c6..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/profiles/proximity/monitor.h +++ /dev/null @@ -1,43 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2011 Nokia Corporation - * Copyright (C) 2011 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -struct enabled { - gboolean linkloss; - gboolean pathloss; - gboolean findme; -}; - -int monitor_register_linkloss(struct btd_device *device, - struct enabled *enabled, - struct gatt_primary *linkloss); -int monitor_register_txpower(struct btd_device *device, - struct enabled *enabled, - struct gatt_primary *txpower); -int monitor_register_immediate(struct btd_device *device, - struct enabled *enabled, - struct gatt_primary *immediate); - -void monitor_unregister_linkloss(struct btd_device *device); -void monitor_unregister_txpower(struct btd_device *device); -void monitor_unregister_immediate(struct btd_device *device); diff --git a/GRIB_BLE_HUB/libs/ble_extend/profiles/proximity/proximity.conf b/GRIB_BLE_HUB/libs/ble_extend/profiles/proximity/proximity.conf deleted file mode 100644 index 417610f..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/profiles/proximity/proximity.conf +++ /dev/null @@ -1,9 +0,0 @@ -# Configuration file for the proximity service - -# This section contains options which are not specific to any -# particular interface -[General] - -# Configuration to allow disabling Proximity services -# Allowed values: LinkLoss,PathLoss,FindMe -Disable=PathLoss diff --git a/GRIB_BLE_HUB/libs/ble_extend/profiles/proximity/reporter.c b/GRIB_BLE_HUB/libs/ble_extend/profiles/proximity/reporter.c deleted file mode 100644 index 31c33ef..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/profiles/proximity/reporter.c +++ /dev/null @@ -1,265 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2011 Nokia Corporation - * Copyright (C) 2011 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include - -#include -#include - -#include -#include - -#include "log.h" - -#include "lib/uuid.h" -#include "dbus-common.h" -#include "error.h" -#include "device.h" -#include "profile.h" -#include "hcid.h" -#include "attrib/gattrib.h" -#include "attrib/att.h" -#include "attrib/gatt.h" -#include "attrib/att-database.h" -#include "attrib-server.h" -#include "reporter.h" -#include "linkloss.h" -#include "immalert.h" - -struct reporter_adapter { - struct btd_adapter *adapter; - GSList *devices; -}; - -static GSList *reporter_adapters; - -static int radapter_cmp(gconstpointer a, gconstpointer b) -{ - const struct reporter_adapter *radapter = a; - const struct btd_adapter *adapter = b; - - if (radapter->adapter == adapter) - return 0; - - return -1; -} - -static struct reporter_adapter * -find_reporter_adapter(struct btd_adapter *adapter) -{ - GSList *l = g_slist_find_custom(reporter_adapters, adapter, - radapter_cmp); - if (!l) - return NULL; - - return l->data; -} - -const char *get_alert_level_string(uint8_t level) -{ - switch (level) { - case NO_ALERT: - return "none"; - case MILD_ALERT: - return "mild"; - case HIGH_ALERT: - return "high"; - } - - return "unknown"; -} - -static void register_tx_power(struct btd_adapter *adapter) -{ - uint16_t start_handle, h; - const int svc_size = 4; - uint8_t atval[256]; - bt_uuid_t uuid; - - bt_uuid16_create(&uuid, TX_POWER_SVC_UUID); - start_handle = attrib_db_find_avail(adapter, &uuid, svc_size); - if (start_handle == 0) { - error("Not enough free handles to register service"); - return; - } - - DBG("start_handle=0x%04x", start_handle); - - h = start_handle; - - /* Primary service definition */ - bt_uuid16_create(&uuid, GATT_PRIM_SVC_UUID); - att_put_u16(TX_POWER_SVC_UUID, &atval[0]); - attrib_db_add(adapter, h++, &uuid, ATT_NONE, ATT_NOT_PERMITTED, atval, 2); - - /* Power level characteristic */ - bt_uuid16_create(&uuid, GATT_CHARAC_UUID); - atval[0] = ATT_CHAR_PROPER_READ | ATT_CHAR_PROPER_NOTIFY; - att_put_u16(h + 1, &atval[1]); - att_put_u16(POWER_LEVEL_CHR_UUID, &atval[3]); - attrib_db_add(adapter, h++, &uuid, ATT_NONE, ATT_NOT_PERMITTED, atval, 5); - - /* Power level value */ - bt_uuid16_create(&uuid, POWER_LEVEL_CHR_UUID); - att_put_u8(0x00, &atval[0]); - attrib_db_add(adapter, h++, &uuid, ATT_NONE, ATT_NOT_PERMITTED, atval, 1); - - /* Client characteristic configuration */ - bt_uuid16_create(&uuid, GATT_CLIENT_CHARAC_CFG_UUID); - atval[0] = 0x00; - atval[1] = 0x00; - attrib_db_add(adapter, h++, &uuid, ATT_NONE, ATT_NONE, atval, 2); - - g_assert(h - start_handle == svc_size); -} - -static gboolean property_get_link_loss_level(const GDBusPropertyTable *property, - DBusMessageIter *iter, void *data) -{ - struct btd_device *device = data; - const char *level; - - level = link_loss_get_alert_level(device); - - dbus_message_iter_append_basic(iter, DBUS_TYPE_STRING, &level); - - return TRUE; -} - -static gboolean property_get_immediate_alert_level( - const GDBusPropertyTable *property, - DBusMessageIter *iter, void *data) -{ - struct btd_device *device = data; - const char *level; - - level = imm_alert_get_level(device); - - dbus_message_iter_append_basic(iter, DBUS_TYPE_STRING, &level); - - return TRUE; -} - -static const GDBusPropertyTable reporter_device_properties[] = { - { "LinkLossAlertLevel", "s", property_get_link_loss_level }, - { "ImmediateAlertLevel", "s", property_get_immediate_alert_level }, - { } -}; - -static void unregister_reporter_device(gpointer data, gpointer user_data) -{ - struct btd_device *device = data; - struct reporter_adapter *radapter = user_data; - const char *path = device_get_path(device); - - DBG("unregister on device %s", path); - - g_dbus_unregister_interface(btd_get_dbus_connection(), path, - PROXIMITY_REPORTER_INTERFACE); - - radapter->devices = g_slist_remove(radapter->devices, device); - btd_device_unref(device); -} - -static void register_reporter_device(struct btd_device *device, - struct reporter_adapter *radapter) -{ - const char *path = device_get_path(device); - - DBG("register on device %s", path); - - g_dbus_register_interface(btd_get_dbus_connection(), path, - PROXIMITY_REPORTER_INTERFACE, - NULL, NULL, reporter_device_properties, - device, NULL); - - btd_device_ref(device); - radapter->devices = g_slist_prepend(radapter->devices, device); -} - -int reporter_device_probe(struct btd_profile *p, struct btd_device *device, - GSList *uuids) -{ - struct reporter_adapter *radapter; - struct btd_adapter *adapter = device_get_adapter(device); - - radapter = find_reporter_adapter(adapter); - if (!radapter) - return -1; - - register_reporter_device(device, radapter); - - return 0; -} - -void reporter_device_remove(struct btd_profile *p, struct btd_device *device) -{ - struct reporter_adapter *radapter; - struct btd_adapter *adapter = device_get_adapter(device); - - radapter = find_reporter_adapter(adapter); - if (!radapter) - return; - - unregister_reporter_device(device, radapter); -} - -int reporter_adapter_probe(struct btd_profile *p, struct btd_adapter *adapter) -{ - struct reporter_adapter *radapter; - - radapter = g_new0(struct reporter_adapter, 1); - radapter->adapter = adapter; - - link_loss_register(adapter); - register_tx_power(adapter); - imm_alert_register(adapter); - - reporter_adapters = g_slist_prepend(reporter_adapters, radapter); - DBG("Proximity Reporter for adapter %p", adapter); - - return 0; -} - -void reporter_adapter_remove(struct btd_profile *p, - struct btd_adapter *adapter) -{ - struct reporter_adapter *radapter = find_reporter_adapter(adapter); - if (!radapter) - return; - - g_slist_foreach(radapter->devices, unregister_reporter_device, - radapter); - - link_loss_unregister(adapter); - imm_alert_unregister(adapter); - - reporter_adapters = g_slist_remove(reporter_adapters, radapter); - g_free(radapter); -} diff --git a/GRIB_BLE_HUB/libs/ble_extend/profiles/proximity/reporter.h b/GRIB_BLE_HUB/libs/ble_extend/profiles/proximity/reporter.h deleted file mode 100644 index 6a7066d..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/profiles/proximity/reporter.h +++ /dev/null @@ -1,47 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2011 Nokia Corporation - * Copyright (C) 2011 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#define PROXIMITY_REPORTER_INTERFACE "org.bluez.ProximityReporter1" - -#define IMMEDIATE_ALERT_SVC_UUID 0x1802 -#define LINK_LOSS_SVC_UUID 0x1803 -#define TX_POWER_SVC_UUID 0x1804 -#define ALERT_LEVEL_CHR_UUID 0x2A06 -#define POWER_LEVEL_CHR_UUID 0x2A07 - -enum { - NO_ALERT = 0x00, - MILD_ALERT = 0x01, - HIGH_ALERT = 0x02, -}; - -void reporter_device_remove(struct btd_profile *p, struct btd_device *device); -int reporter_device_probe(struct btd_profile *p, struct btd_device *device, - GSList *uuids); - -int reporter_adapter_probe(struct btd_profile *p, struct btd_adapter *adapter); -void reporter_adapter_remove(struct btd_profile *p, - struct btd_adapter *adapter); - -const char *get_alert_level_string(uint8_t level); diff --git a/GRIB_BLE_HUB/libs/ble_extend/profiles/sap/.deps/bluetoothd-main.Po b/GRIB_BLE_HUB/libs/ble_extend/profiles/sap/.deps/bluetoothd-main.Po deleted file mode 100644 index 9ce06a8..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/profiles/sap/.deps/bluetoothd-main.Po +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/GRIB_BLE_HUB/libs/ble_extend/profiles/sap/.deps/bluetoothd-manager.Po b/GRIB_BLE_HUB/libs/ble_extend/profiles/sap/.deps/bluetoothd-manager.Po deleted file mode 100644 index 9ce06a8..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/profiles/sap/.deps/bluetoothd-manager.Po +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/GRIB_BLE_HUB/libs/ble_extend/profiles/sap/.deps/bluetoothd-sap-dummy.Po b/GRIB_BLE_HUB/libs/ble_extend/profiles/sap/.deps/bluetoothd-sap-dummy.Po deleted file mode 100644 index 9ce06a8..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/profiles/sap/.deps/bluetoothd-sap-dummy.Po +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/GRIB_BLE_HUB/libs/ble_extend/profiles/sap/.deps/bluetoothd-server.Po b/GRIB_BLE_HUB/libs/ble_extend/profiles/sap/.deps/bluetoothd-server.Po deleted file mode 100644 index 9ce06a8..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/profiles/sap/.deps/bluetoothd-server.Po +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/GRIB_BLE_HUB/libs/ble_extend/profiles/sap/.deps/sap-u8500.Po b/GRIB_BLE_HUB/libs/ble_extend/profiles/sap/.deps/sap-u8500.Po deleted file mode 100644 index 9ce06a8..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/profiles/sap/.deps/sap-u8500.Po +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/GRIB_BLE_HUB/libs/ble_extend/profiles/sap/main.c b/GRIB_BLE_HUB/libs/ble_extend/profiles/sap/main.c deleted file mode 100644 index 8cc9533..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/profiles/sap/main.c +++ /dev/null @@ -1,41 +0,0 @@ -/* - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2010 Instituto Nokia de Tecnologia - INdT - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include -#include "plugin.h" -#include "manager.h" - -static int sap_init(void) -{ - return sap_manager_init(); -} - -static void sap_exit(void) -{ - sap_manager_exit(); -} - -BLUETOOTH_PLUGIN_DEFINE(sap, VERSION, - BLUETOOTH_PLUGIN_PRIORITY_DEFAULT, sap_init, sap_exit) diff --git a/GRIB_BLE_HUB/libs/ble_extend/profiles/sap/manager.c b/GRIB_BLE_HUB/libs/ble_extend/profiles/sap/manager.c deleted file mode 100644 index fddd7aa..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/profiles/sap/manager.c +++ /dev/null @@ -1,70 +0,0 @@ -/* - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2010 Instituto Nokia de Tecnologia - INdT - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include - -#include "log.h" -#include "adapter.h" -#include "device.h" -#include "profile.h" - -#include "manager.h" -#include "server.h" - -static int sap_server_probe(struct btd_profile *p, struct btd_adapter *adapter) -{ - const char *path = adapter_get_path(adapter); - - DBG("path %s", path); - - return sap_server_register(path, adapter_get_address(adapter)); -} - -static void sap_server_remove(struct btd_profile *p, - struct btd_adapter *adapter) -{ - const char *path = adapter_get_path(adapter); - - DBG("path %s", path); - - sap_server_unregister(path); -} - -static struct btd_profile sap_profile = { - .name = "sap-server", - .adapter_probe = sap_server_probe, - .adapter_remove = sap_server_remove, -}; - -int sap_manager_init(void) -{ - btd_profile_register(&sap_profile); - - return 0; -} - -void sap_manager_exit(void) -{ - btd_profile_unregister(&sap_profile); -} diff --git a/GRIB_BLE_HUB/libs/ble_extend/profiles/sap/manager.h b/GRIB_BLE_HUB/libs/ble_extend/profiles/sap/manager.h deleted file mode 100644 index 6601a03..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/profiles/sap/manager.h +++ /dev/null @@ -1,22 +0,0 @@ -/* - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2010 Instituto Nokia de Tecnologia - INdT - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - */ - -int sap_manager_init(void); -void sap_manager_exit(void); diff --git a/GRIB_BLE_HUB/libs/ble_extend/profiles/sap/sap-dummy.c b/GRIB_BLE_HUB/libs/ble_extend/profiles/sap/sap-dummy.c deleted file mode 100644 index 47dedf7..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/profiles/sap/sap-dummy.c +++ /dev/null @@ -1,374 +0,0 @@ -/* - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2010 ST-Ericsson SA - * Copyright (C) 2011 Tieto Poland - * - * Author: Waldemar Rymarkiewicz - * for ST-Ericsson - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include -#include - -#include "dbus-common.h" -#include "error.h" -#include "log.h" -#include "sap.h" - -#define SAP_DUMMY_IFACE "org.bluez.SimAccessTest1" -#define SAP_DUMMY_PATH "/org/bluez/test" - -enum { - SIM_DISCONNECTED = 0x00, - SIM_CONNECTED = 0x01, - SIM_POWERED_OFF = 0x02, - SIM_MISSING = 0x03 -}; - -static unsigned int init_cnt = 0; - -static int sim_card_conn_status = SIM_DISCONNECTED; -static void *sap_data = NULL; /* SAP server private data. */ -static gboolean ongoing_call_status = FALSE; -static int max_msg_size_supported = 512; - -void sap_connect_req(void *sap_device, uint16_t maxmsgsize) -{ - DBG("status: %d", sim_card_conn_status); - - if (sim_card_conn_status != SIM_DISCONNECTED) { - sap_connect_rsp(sap_device, SAP_STATUS_CONNECTION_FAILED); - return; - } - - if (max_msg_size_supported > maxmsgsize) { - sap_connect_rsp(sap_device, SAP_STATUS_MAX_MSG_SIZE_TOO_SMALL); - return; - } - - if (max_msg_size_supported < maxmsgsize) { - sap_connect_rsp(sap_device, - SAP_STATUS_MAX_MSG_SIZE_NOT_SUPPORTED); - return; - } - - if (ongoing_call_status) { - sap_connect_rsp(sap_device, SAP_STATUS_OK_ONGOING_CALL); - return; - } - - sim_card_conn_status = SIM_CONNECTED; - sap_data = sap_device; - - sap_connect_rsp(sap_device, SAP_STATUS_OK); - sap_status_ind(sap_device, SAP_STATUS_CHANGE_CARD_RESET); -} - -void sap_disconnect_req(void *sap_device, uint8_t linkloss) -{ - sim_card_conn_status = SIM_DISCONNECTED; - sap_data = NULL; - ongoing_call_status = FALSE; - - DBG("status: %d", sim_card_conn_status); - - if (linkloss) - return; - - sap_disconnect_rsp(sap_device); -} - -void sap_transfer_apdu_req(void *sap_device, struct sap_parameter *param) -{ - char apdu[] = "APDU response!"; - - DBG("status: %d", sim_card_conn_status); - - switch (sim_card_conn_status) { - case SIM_MISSING: - sap_transfer_apdu_rsp(sap_device, - SAP_RESULT_ERROR_CARD_REMOVED, NULL, 0); - break; - case SIM_POWERED_OFF: - sap_transfer_apdu_rsp(sap_device, SAP_RESULT_ERROR_POWERED_OFF, - NULL, 0); - break; - case SIM_DISCONNECTED: - sap_transfer_apdu_rsp(sap_device, - SAP_RESULT_ERROR_NOT_ACCESSIBLE, NULL, 0); - break; - case SIM_CONNECTED: - sap_transfer_apdu_rsp(sap_device, SAP_RESULT_OK, - (uint8_t *)apdu, sizeof(apdu)); - break; - } -} - -void sap_transfer_atr_req(void *sap_device) -{ - char atr[] = "ATR response!"; - - DBG("status: %d", sim_card_conn_status); - - switch (sim_card_conn_status) { - case SIM_MISSING: - sap_transfer_atr_rsp(sap_device, SAP_RESULT_ERROR_CARD_REMOVED, - NULL, 0); - break; - case SIM_POWERED_OFF: - sap_transfer_atr_rsp(sap_device, SAP_RESULT_ERROR_POWERED_OFF, - NULL, 0); - break; - case SIM_DISCONNECTED: - sap_transfer_atr_rsp(sap_device, SAP_RESULT_ERROR_NO_REASON, - NULL, 0); - break; - case SIM_CONNECTED: - sap_transfer_atr_rsp(sap_device, SAP_RESULT_OK, - (uint8_t *)atr, sizeof(atr)); - break; - } -} - -void sap_power_sim_off_req(void *sap_device) -{ - DBG("status: %d", sim_card_conn_status); - - switch (sim_card_conn_status) { - case SIM_MISSING: - sap_power_sim_off_rsp(sap_device, - SAP_RESULT_ERROR_CARD_REMOVED); - break; - case SIM_POWERED_OFF: - sap_power_sim_off_rsp(sap_device, - SAP_RESULT_ERROR_POWERED_OFF); - break; - case SIM_DISCONNECTED: - sap_power_sim_off_rsp(sap_device, SAP_RESULT_ERROR_NO_REASON); - break; - case SIM_CONNECTED: - sap_power_sim_off_rsp(sap_device, SAP_RESULT_OK); - sim_card_conn_status = SIM_POWERED_OFF; - break; - } -} - -void sap_power_sim_on_req(void *sap_device) -{ - DBG("status: %d", sim_card_conn_status); - - switch (sim_card_conn_status) { - case SIM_MISSING: - sap_power_sim_on_rsp(sap_device, - SAP_RESULT_ERROR_CARD_REMOVED); - break; - case SIM_POWERED_OFF: - sap_power_sim_on_rsp(sap_device, SAP_RESULT_OK); - sim_card_conn_status = SIM_CONNECTED; - break; - case SIM_DISCONNECTED: - sap_power_sim_on_rsp(sap_device, - SAP_RESULT_ERROR_NOT_ACCESSIBLE); - break; - case SIM_CONNECTED: - sap_power_sim_on_rsp(sap_device, SAP_RESULT_ERROR_NO_REASON); - break; - } -} - -void sap_reset_sim_req(void *sap_device) -{ - DBG("status: %d", sim_card_conn_status); - - switch (sim_card_conn_status) { - case SIM_MISSING: - sap_reset_sim_rsp(sap_device, SAP_RESULT_ERROR_CARD_REMOVED); - break; - case SIM_POWERED_OFF: - sap_reset_sim_rsp(sap_device, SAP_RESULT_ERROR_POWERED_OFF); - break; - case SIM_DISCONNECTED: - sap_reset_sim_rsp(sap_device, SAP_RESULT_ERROR_NO_REASON); - break; - case SIM_CONNECTED: - sap_reset_sim_rsp(sap_device, SAP_RESULT_OK); - break; - } -} - -void sap_transfer_card_reader_status_req(void *sap_device) -{ - DBG("status: %d", sim_card_conn_status); - - if (sim_card_conn_status != SIM_CONNECTED) { - sap_transfer_card_reader_status_rsp(sap_device, - SAP_RESULT_ERROR_NO_REASON, 0xF1); - return; - } - - sap_transfer_card_reader_status_rsp(sap_device, SAP_RESULT_OK, 0xF1); -} - -void sap_set_transport_protocol_req(void *sap_device, - struct sap_parameter *param) -{ - sap_transport_protocol_rsp(sap_device, SAP_RESULT_NOT_SUPPORTED); -} - -static DBusMessage *ongoing_call(DBusConnection *conn, DBusMessage *msg, - void *data) -{ - dbus_bool_t ongoing; - - if (!dbus_message_get_args(msg, NULL, DBUS_TYPE_BOOLEAN, &ongoing, - DBUS_TYPE_INVALID)) - return btd_error_invalid_args(msg); - - if (ongoing_call_status && !ongoing) { - /* An ongoing call has finished. Continue connection.*/ - sap_status_ind(sap_data, SAP_STATUS_CHANGE_CARD_RESET); - ongoing_call_status = FALSE; - } else if (!ongoing_call_status && ongoing) { - /* An ongoing call has started.*/ - ongoing_call_status = TRUE; - } - - DBG("OngoingCall status set to %d", ongoing_call_status); - - return dbus_message_new_method_return(msg); -} - -static DBusMessage *max_msg_size(DBusConnection *conn, DBusMessage *msg, - void *data) -{ - dbus_uint32_t size; - - if (sim_card_conn_status == SIM_CONNECTED) - return btd_error_failed(msg, - "Can't change msg size when connected."); - - if (!dbus_message_get_args(msg, NULL, DBUS_TYPE_UINT32, &size, - DBUS_TYPE_INVALID)) - return btd_error_invalid_args(msg); - - max_msg_size_supported = size; - - DBG("MaxMessageSize set to %d", max_msg_size_supported); - - return dbus_message_new_method_return(msg); -} - -static DBusMessage *disconnect_immediate(DBusConnection *conn, DBusMessage *msg, - void *data) -{ - if (sim_card_conn_status == SIM_DISCONNECTED) - return btd_error_failed(msg, "Already disconnected."); - - sim_card_conn_status = SIM_DISCONNECTED; - sap_disconnect_ind(sap_data, SAP_DISCONNECTION_TYPE_IMMEDIATE); - - return dbus_message_new_method_return(msg); -} - -static DBusMessage *card_status(DBusConnection *conn, DBusMessage *msg, - void *data) -{ - dbus_uint32_t status; - - DBG("status %d", sim_card_conn_status); - - if (sim_card_conn_status != SIM_CONNECTED) - return btd_error_failed(msg, - "Can't change msg size when not connected."); - - if (!dbus_message_get_args(msg, NULL, DBUS_TYPE_UINT32, &status, - DBUS_TYPE_INVALID)) - return btd_error_invalid_args(msg); - - switch (status) { - case 0: /* card removed */ - sim_card_conn_status = SIM_MISSING; - sap_status_ind(sap_data, SAP_STATUS_CHANGE_CARD_REMOVED); - break; - - case 1: /* card inserted */ - if (sim_card_conn_status == SIM_MISSING) { - sim_card_conn_status = SIM_CONNECTED; - sap_status_ind(sap_data, - SAP_STATUS_CHANGE_CARD_INSERTED); - } - break; - - case 2: /* card not longer available*/ - sim_card_conn_status = SIM_POWERED_OFF; - sap_status_ind(sap_data, SAP_STATUS_CHANGE_CARD_NOT_ACCESSIBLE); - break; - - default: - return btd_error_failed(msg, - "Unknown card status. Use 0, 1 or 2."); - } - - DBG("Card status changed to %d", status); - - return dbus_message_new_method_return(msg); -} - -static const GDBusMethodTable dummy_methods[] = { - { GDBUS_EXPERIMENTAL_METHOD("OngoingCall", - GDBUS_ARGS({ "ongoing", "b" }), NULL, - ongoing_call) }, - { GDBUS_EXPERIMENTAL_METHOD("MaxMessageSize", - GDBUS_ARGS({ "size", "u" }), NULL, - max_msg_size) }, - { GDBUS_EXPERIMENTAL_METHOD("DisconnectImmediate", NULL, NULL, - disconnect_immediate) }, - { GDBUS_EXPERIMENTAL_METHOD("CardStatus", - GDBUS_ARGS({ "status", "" }), NULL, - card_status) }, - { } -}; - -int sap_init(void) -{ - if (init_cnt++) - return 0; - - if (g_dbus_register_interface(btd_get_dbus_connection(), SAP_DUMMY_PATH, - SAP_DUMMY_IFACE, dummy_methods, NULL, NULL, - NULL, NULL) == FALSE) { - init_cnt--; - return -1; - } - - return 0; -} - -void sap_exit(void) -{ - if (--init_cnt) - return; - - g_dbus_unregister_interface(btd_get_dbus_connection(), - SAP_DUMMY_PATH, SAP_DUMMY_IFACE); -} diff --git a/GRIB_BLE_HUB/libs/ble_extend/profiles/sap/sap-u8500.c b/GRIB_BLE_HUB/libs/ble_extend/profiles/sap/sap-u8500.c deleted file mode 100644 index 39169a0..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/profiles/sap/sap-u8500.c +++ /dev/null @@ -1,754 +0,0 @@ -/* - * BlueZ - Bluetooth protocol stack for Linux - * - * SAP Driver for ST-Ericsson U8500 platform - * - * Copyright (C) 2010-2011 ST-Ericsson SA - * - * Author: Waldemar Rymarkiewicz for - * ST-Ericsson. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - */ - -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif - -#include -#include -#include -#include -#include -#include - -#include -#include - -#include "log.h" -#include "sap.h" - -#define STE_SIMD_SOCK "/dev/socket/catd_a" -#define STE_CLIENT_TAG 0x0000 - -#define sap_error(fmt, arg...) do { \ - error("STE U8500 SAP: " fmt, ## arg); \ - } while (0) - -#define sap_info(fmt, arg...) do { \ - info("STE U8500 SAP: " fmt, ## arg); \ - } while (0) - -struct ste_message { - uint16_t len; - uint16_t id; - uint32_t client_tag; - uint8_t payload[0]; -} __attribute__((packed)); - -#define STE_MSG_PAYLOAD_SIZE(msg) (msg->len - sizeof(*msg) + sizeof(msg->len)) - -enum ste_protocol { - STE_START_SAP_REQ = 0x2D01, - STE_START_SAP_RSP = 0x2E01, - STE_END_SAP_REQ = 0x2D02, - STE_END_SAP_RSP = 0x2E02, - STE_POWER_OFF_REQ = 0x2D03, - STE_POWER_OFF_RSP = 0x2E03, - STE_POWER_ON_REQ = 0x2D04, - STE_POWER_ON_RSP = 0x2E04, - STE_RESET_REQ = 0x2D05, - STE_RESET_RSP = 0x2E05, - STE_SEND_APDU_REQ = 0x2D06, - STE_SEND_APDU_RSP = 0x2E06, - STE_GET_ATR_REQ = 0x2D07, - STE_GET_ATR_RSP = 0x2E07, - STE_GET_STATUS_REQ = 0x2D08, - STE_GET_STATUS_RSP = 0x2E08, - STE_STATUS_IND = 0x2F02, - STE_SIM_READY_IND = 0x2F03, -}; - -enum ste_msg { - STE_SEND_APDU_MSG, - STE_GET_ATR_MSG, - STE_POWER_OFF_MSG, - STE_POWER_ON_MSG, - STE_RESET_MSG, - STE_GET_STATUS_MSG, - STE_MSG_MAX, -}; - -enum ste_status { - STE_STATUS_OK = 0x00000000, - STE_STATUS_FAILURE = 0x00000001, - STE_STATUS_BUSY_CALL = 0x00000002, -}; - -enum ste_card_status { - STE_CARD_STATUS_UNKNOWN = 0x00, - STE_CARD_STATUS_ACTIVE = 0x01, - STE_CARD_STATUS_NOT_ACTIVE = 0x02, - STE_CARD_STATUS_MISSING = 0x03, - STE_CARD_STATUS_INVALID = 0x04, - STE_CARD_STATUS_DISCONNECTED = 0x05, -}; - -/* Card reader status bits as described in GSM 11.14, Section 12.33 - * Bits 0-2 are for card reader identity and always zeros. */ -#define ICC_READER_REMOVABLE (1 << 3) -#define ICC_READER_PRESENT (1 << 4) -#define ICC_READER_ID1 (1 << 5) -#define ICC_READER_CARD_PRESENT (1 << 6) -#define ICC_READER_CARD_POWERED (1 << 7) - -enum ste_state { - STE_DISABLED, /* Reader not present or removed */ - STE_POWERED_OFF, /* Card in the reader but powered off */ - STE_NO_CARD, /* No card in the reader */ - STE_ENABLED, /* Card in the reader and powered on */ - STE_SIM_BUSY, /* Modem is busy with ongoing call.*/ - STE_STATE_MAX -}; - -struct ste_u8500 { - GIOChannel *io; - enum ste_state state; - void *sap_data; -}; - -typedef int(*recv_state_change_cb)(void *sap, uint8_t result); -typedef int(*recv_pdu_cb)(void *sap, uint8_t result, uint8_t *data, - uint16_t len); - -static struct ste_u8500 u8500; - -static const uint8_t sim2sap_result[STE_MSG_MAX][STE_STATE_MAX] = { - /* SAP results for SEND APDU message */ - { - SAP_RESULT_ERROR_NOT_ACCESSIBLE, /* STE_DISABLED */ - SAP_RESULT_ERROR_POWERED_OFF, /* STE_POWERED_OFF */ - SAP_RESULT_ERROR_CARD_REMOVED, /* STE_NO_CARD */ - SAP_RESULT_ERROR_NO_REASON /* STE_ENABLED */ - }, - - /* SAP results for GET_ATR message */ - { - SAP_RESULT_ERROR_NO_REASON, - SAP_RESULT_ERROR_POWERED_OFF, - SAP_RESULT_ERROR_CARD_REMOVED, - SAP_RESULT_ERROR_NO_REASON - }, - - /* SAP results POWER OFF message */ - { - SAP_RESULT_ERROR_NO_REASON, - SAP_RESULT_ERROR_POWERED_OFF, - SAP_RESULT_ERROR_CARD_REMOVED, - SAP_RESULT_ERROR_NO_REASON - }, - - /* SAP results POWER ON message */ - { - SAP_RESULT_ERROR_NO_REASON, - SAP_RESULT_ERROR_NOT_ACCESSIBLE, - SAP_RESULT_ERROR_CARD_REMOVED, - SAP_RESULT_ERROR_POWERED_ON - }, - - /* SAP results SIM RESET message */ - { - SAP_RESULT_ERROR_NO_REASON, - SAP_RESULT_ERROR_POWERED_OFF, - SAP_RESULT_ERROR_CARD_REMOVED, - SAP_RESULT_ERROR_NOT_ACCESSIBLE - }, - - /* SAP results GET STATUS message */ - { - SAP_RESULT_ERROR_NO_REASON, - SAP_RESULT_ERROR_NO_REASON, - SAP_RESULT_ERROR_NO_REASON, - SAP_RESULT_ERROR_NO_REASON - } -}; - -static uint8_t get_sap_result(enum ste_msg msg, uint32_t status) -{ - if (!u8500.io) - return SAP_RESULT_ERROR_NO_REASON; - - switch (status) { - case STE_STATUS_OK: - return SAP_RESULT_OK; - - case STE_STATUS_FAILURE: - return sim2sap_result[msg][u8500.state]; - - default: - DBG("Can't convert a result (status %u)", status); - return SAP_RESULT_ERROR_NO_REASON; - } -} - -static int get_sap_reader_status(uint32_t card_status, uint8_t *icc_status) -{ - /* Card reader is present, not removable and not ID-1 size. */ - *icc_status = ICC_READER_PRESENT; - - switch (card_status) { - case STE_CARD_STATUS_ACTIVE: - *icc_status |= ICC_READER_CARD_POWERED; - - case STE_CARD_STATUS_NOT_ACTIVE: - case STE_CARD_STATUS_INVALID: - *icc_status |= ICC_READER_CARD_PRESENT; - - case STE_CARD_STATUS_MISSING: - case STE_CARD_STATUS_DISCONNECTED: - return 0; - - default: - DBG("Can't convert reader status %u", card_status); - - case STE_CARD_STATUS_UNKNOWN: - return -1; - } -} - -static uint8_t get_sap_status_change(uint32_t card_status) -{ - if (!u8500.io) - return SAP_STATUS_CHANGE_UNKNOWN_ERROR; - - switch (card_status) { - case STE_CARD_STATUS_UNKNOWN: - return SAP_STATUS_CHANGE_UNKNOWN_ERROR; - - case STE_CARD_STATUS_ACTIVE: - u8500.state = STE_ENABLED; - return SAP_STATUS_CHANGE_CARD_RESET; - - case STE_CARD_STATUS_NOT_ACTIVE: - u8500.state = STE_DISABLED; - return SAP_STATUS_CHANGE_CARD_NOT_ACCESSIBLE; - - case STE_CARD_STATUS_MISSING: - u8500.state = STE_DISABLED; - return SAP_STATUS_CHANGE_CARD_REMOVED; - - case STE_CARD_STATUS_INVALID: - u8500.state = STE_DISABLED; - return SAP_STATUS_CHANGE_CARD_NOT_ACCESSIBLE; - - default: - DBG("Can't convert status change %u", card_status); - return SAP_STATUS_CHANGE_UNKNOWN_ERROR; - } -} - -static int send_message(GIOChannel *io, void *buf, size_t size) -{ - gsize written; - - SAP_VDBG("io %p, size %zu", io, size); - - if (g_io_channel_write_chars(io, buf, size, &written, NULL) != - G_IO_STATUS_NORMAL) - return -EIO; - - return written; -} - -static int send_request(GIOChannel *io, uint16_t id, - struct sap_parameter *param) -{ - int ret; - struct ste_message *msg; - size_t size = sizeof(*msg); - - SAP_VDBG("io %p", io); - - if (param) - size += param->len; - - msg = g_try_malloc0(size); - if (!msg) { - sap_error("sending request failed: %s", strerror(ENOMEM)); - return -ENOMEM; - } - - msg->len = size - sizeof(msg->len); - msg->id = id; - msg->client_tag = STE_CLIENT_TAG; - - if (param) - memcpy(msg->payload, param->val, param->len); - - ret = send_message(io, msg, size); - if (ret < 0) { - sap_error("sending request failed: %s", strerror(-ret)); - } else if (ret != (int) size) { - sap_error("sending request failed: %d out of %zu bytes sent", - ret, size); - ret = -EIO; - } - - g_free(msg); - - return ret; -} - -static void recv_status(uint32_t status) -{ - sap_status_ind(u8500.sap_data, get_sap_status_change(status)); -} - -static void recv_card_status(uint32_t status, uint8_t *param) -{ - uint32_t card_status; - uint8_t result; - uint8_t iccrs; - - if (status != STE_STATUS_OK) - return; - - memcpy(&card_status, param, sizeof(card_status)); - - if (get_sap_reader_status(card_status, &iccrs) < 0) - result = SAP_RESULT_ERROR_NO_REASON; - else - result = get_sap_result(STE_GET_STATUS_MSG, status); - - sap_transfer_card_reader_status_rsp(u8500.sap_data, result, iccrs); -} - -static void recv_state_change(uint32_t ste_msg, uint32_t status, - uint32_t new_state, recv_state_change_cb callback) -{ - if (status != STE_STATUS_OK) - return; - - u8500.state = new_state; - - if (callback) - callback(u8500.sap_data, get_sap_result(ste_msg, status)); -} - -static void recv_pdu(uint32_t ste_msg, struct ste_message *msg, uint32_t status, - uint8_t *param, recv_pdu_cb callback) -{ - uint8_t *data = NULL; - uint8_t result; - int size = 0; - - if (status == STE_STATUS_OK) { - data = param; - size = STE_MSG_PAYLOAD_SIZE(msg) - sizeof(status); - } - - result = get_sap_result(ste_msg, status); - - if (callback) - callback(u8500.sap_data, result, data, size); -} - -static void simd_close(void) -{ - DBG("io %p", u8500.io); - - if (u8500.io) { - g_io_channel_shutdown(u8500.io, TRUE, NULL); - g_io_channel_unref(u8500.io); - } - - u8500.state = STE_DISABLED; - u8500.io = NULL; - u8500.sap_data = NULL; -} - -static void recv_sim_ready(void) -{ - sap_info("sim is ready. Try to connect again"); - - if (send_request(u8500.io, STE_START_SAP_REQ, NULL) < 0) { - sap_connect_rsp(u8500.sap_data, SAP_STATUS_CONNECTION_FAILED); - simd_close(); - } -} - -static void recv_connect_rsp(uint32_t status) -{ - switch (status) { - case STE_STATUS_OK: - if (u8500.state != STE_SIM_BUSY) - sap_connect_rsp(u8500.sap_data, SAP_STATUS_OK); - break; - case STE_STATUS_BUSY_CALL: - if (u8500.state != STE_SIM_BUSY) { - sap_connect_rsp(u8500.sap_data, - SAP_STATUS_OK_ONGOING_CALL); - - u8500.state = STE_SIM_BUSY; - } - break; - default: - sap_connect_rsp(u8500.sap_data, SAP_STATUS_CONNECTION_FAILED); - simd_close(); - break; - } -} - -static void recv_response(struct ste_message *msg) -{ - uint32_t status; - uint8_t *param; - - SAP_VDBG("msg_id 0x%x", msg->id); - - if (msg->id == STE_END_SAP_RSP) { - sap_disconnect_rsp(u8500.sap_data); - simd_close(); - return; - } - - param = msg->payload; - memcpy(&status, param, sizeof(status)); - param += sizeof(status); - - SAP_VDBG("status 0x%x", status); - - switch (msg->id) { - case STE_START_SAP_RSP: - recv_connect_rsp(status); - break; - case STE_SEND_APDU_RSP: - recv_pdu(STE_SEND_APDU_MSG, msg, status, param, - sap_transfer_apdu_rsp); - break; - - case STE_GET_ATR_RSP: - recv_pdu(STE_GET_ATR_MSG, msg, status, param, - sap_transfer_atr_rsp); - break; - - case STE_POWER_OFF_RSP: - recv_state_change(STE_POWER_OFF_MSG, status, STE_POWERED_OFF, - sap_power_sim_off_rsp); - break; - - case STE_POWER_ON_RSP: - recv_state_change(STE_POWER_ON_MSG, status, STE_ENABLED, - sap_power_sim_on_rsp); - break; - - case STE_RESET_RSP: - recv_state_change(STE_RESET_MSG, status, STE_ENABLED, - sap_reset_sim_rsp); - break; - - case STE_GET_STATUS_RSP: - recv_card_status(status, param); - break; - - case STE_STATUS_IND: - recv_status(status); - break; - - case STE_SIM_READY_IND: - recv_sim_ready(); - break; - - default: - sap_error("unsupported message received (id 0x%x)", msg->id); - } -} - -static int recv_message(void *buf, size_t size) -{ - uint8_t *iter = buf; - struct ste_message *msg = buf; - - do { - SAP_VDBG("size %zu msg->len %u.", size, msg->len); - - if (size < sizeof(*msg)) { - sap_error("invalid message received (%zu bytes)", size); - return -EBADMSG; - } - - /* Message must be complete. */ - if (size < (msg->len + sizeof(msg->len))) { - sap_error("incomplete message received (%zu bytes)", - size); - return -EBADMSG; - } - - recv_response(msg); - - /* Reduce total buffer size by just handled frame size. */ - size -= msg->len + sizeof(msg->len); - - /* Move msg pointer to the next message if any. */ - iter += msg->len + sizeof(msg->len); - msg = (struct ste_message *)iter; - } while (size > 0); - - return 0; -} - -static gboolean simd_data_cb(GIOChannel *io, GIOCondition cond, gpointer data) -{ - char buf[SAP_BUF_SIZE]; - gsize bytes_read; - GIOStatus gstatus; - - if (cond & (G_IO_NVAL | G_IO_HUP | G_IO_ERR)) { - DBG("Error condition on sim socket (0x%x)", cond); - return FALSE; - } - - gstatus = g_io_channel_read_chars(io, buf, sizeof(buf), &bytes_read, - NULL); - if (gstatus != G_IO_STATUS_NORMAL) { - sap_error("error while reading from channel (%d)", gstatus); - return TRUE; - } - - if (recv_message(buf, bytes_read) < 0) - sap_error("error while parsing STE Sim message"); - - return TRUE; -} - -static void simd_watch(int sock, void *sap_data) -{ - GIOChannel *io; - - DBG("sock %d, sap_data %p ", sock, sap_data); - - io = g_io_channel_unix_new(sock); - - g_io_channel_set_close_on_unref(io, TRUE); - g_io_channel_set_encoding(io, NULL, NULL); - g_io_channel_set_buffered(io, FALSE); - - u8500.io = io; - u8500.sap_data = sap_data; - u8500.state = STE_DISABLED; - - g_io_add_watch_full(io, G_PRIORITY_DEFAULT, - G_IO_IN | G_IO_ERR | G_IO_HUP | G_IO_NVAL, - simd_data_cb, NULL, NULL); -} - -static int simd_connect(void *sap_data) -{ - struct sockaddr_un addr; - int sock; - int err; - - /* Already connected to simd */ - if (u8500.io) - return -EALREADY; - - sock = socket(PF_UNIX, SOCK_STREAM, 0); - if (sock < 0) { - err = -errno; - sap_error("creating socket failed: %s", strerror(-err)); - return err; - } - - memset(&addr, 0, sizeof(addr)); - addr.sun_family = AF_UNIX; - memcpy(addr.sun_path, STE_SIMD_SOCK, sizeof(STE_SIMD_SOCK) - 1); - - if (connect(sock, (struct sockaddr *) &addr, sizeof(addr)) < 0) { - err = -errno; - sap_error("connect to the socket failed: %s", strerror(-err)); - goto failed; - } - - if (fcntl(sock, F_SETFL, O_NONBLOCK) > 0) { - err = -errno; - sap_error("setting up socket failed: %s", strerror(-err)); - goto failed; - } - - simd_watch(sock, sap_data); - - return 0; - -failed: - close(sock); - return err; -} - -void sap_connect_req(void *sap_device, uint16_t maxmsgsize) -{ - DBG("sap_device %p maxmsgsize %u", sap_device, maxmsgsize); - - sap_info("connect request"); - - if (simd_connect(sap_device) < 0) { - sap_connect_rsp(sap_device, SAP_STATUS_CONNECTION_FAILED); - return; - } - - if (send_request(u8500.io, STE_START_SAP_REQ, NULL) < 0) { - sap_connect_rsp(sap_device, SAP_STATUS_CONNECTION_FAILED); - simd_close(); - } -} - -void sap_disconnect_req(void *sap_device, uint8_t linkloss) -{ - DBG("sap_device %p linkloss %u", sap_device, linkloss); - - sap_info("disconnect request %s", linkloss ? "by link loss" : ""); - - if (u8500.state == STE_DISABLED) { - sap_disconnect_rsp(sap_device); - simd_close(); - return; - } - - if (linkloss) { - simd_close(); - return; - } - - if (send_request(u8500.io, STE_END_SAP_REQ, NULL) < 0) { - sap_disconnect_rsp(sap_device); - return; - } -} - -void sap_transfer_apdu_req(void *sap_device, struct sap_parameter *param) -{ - uint8_t result; - - SAP_VDBG("sap_device %p param %p", sap_device, param); - - if (u8500.state != STE_ENABLED) { - result = get_sap_result(STE_SEND_APDU_MSG, STE_STATUS_FAILURE); - sap_transfer_apdu_rsp(sap_device, result, NULL, 0); - return; - } - - if (send_request(u8500.io, STE_SEND_APDU_REQ, param) < 0) - sap_transfer_apdu_rsp(sap_device, SAP_RESULT_ERROR_NO_DATA, - NULL, 0); -} - -void sap_transfer_atr_req(void *sap_device) -{ - uint8_t result; - - DBG("sap_device %p", sap_device); - - if (u8500.state != STE_ENABLED) { - result = get_sap_result(STE_GET_ATR_MSG, STE_STATUS_FAILURE); - sap_transfer_atr_rsp(sap_device, result, NULL, 0); - return; - } - - if (send_request(u8500.io, STE_GET_ATR_REQ, NULL) < 0) - sap_transfer_atr_rsp(sap_device, SAP_RESULT_ERROR_NO_DATA, NULL, - 0); -} - -void sap_power_sim_off_req(void *sap_device) -{ - uint8_t result; - - DBG("sap_device %p", sap_device); - - if (u8500.state != STE_ENABLED) { - result = get_sap_result(STE_POWER_OFF_MSG, STE_STATUS_FAILURE); - sap_power_sim_off_rsp(sap_device, result); - return; - } - - if (send_request(u8500.io, STE_POWER_OFF_REQ, NULL) < 0) - sap_power_sim_off_rsp(sap_device, SAP_RESULT_ERROR_NO_REASON); -} - -void sap_power_sim_on_req(void *sap_device) -{ - uint8_t result; - - DBG("sap_device %p", sap_device); - - if (u8500.state != STE_POWERED_OFF) { - result = get_sap_result(STE_POWER_ON_MSG, STE_STATUS_FAILURE); - sap_power_sim_on_rsp(sap_device, result); - return; - } - - if (send_request(u8500.io, STE_POWER_ON_REQ, NULL) < 0) - sap_power_sim_on_rsp(sap_device, SAP_RESULT_ERROR_NO_REASON); -} - -void sap_reset_sim_req(void *sap_device) -{ - uint8_t result; - - DBG("sap_device %p", sap_device); - - if (u8500.state != STE_ENABLED) { - result = get_sap_result(STE_RESET_MSG, STE_STATUS_FAILURE); - sap_reset_sim_rsp(sap_device, result); - return; - } - - if (send_request(u8500.io, STE_RESET_REQ, NULL) < 0) - sap_reset_sim_rsp(sap_device, SAP_RESULT_ERROR_NO_REASON); -} - -void sap_transfer_card_reader_status_req(void *sap_device) -{ - uint8_t result; - - DBG("sap_device %p", sap_device); - - if (u8500.state == STE_DISABLED) { - result = get_sap_result(STE_GET_STATUS_MSG, STE_STATUS_FAILURE); - sap_transfer_card_reader_status_rsp(sap_device, result, 0); - return; - } - - if (send_request(u8500.io, STE_GET_STATUS_REQ, NULL) < 0) - sap_transfer_card_reader_status_rsp(sap_device, - SAP_RESULT_ERROR_NO_DATA, 0); -} - -void sap_set_transport_protocol_req(void *sap_device, - struct sap_parameter *param) -{ - DBG("sap_device %p", sap_device); - - sap_transport_protocol_rsp(sap_device, SAP_RESULT_NOT_SUPPORTED); -} - -int sap_init(void) -{ - u8500.state = STE_DISABLED; - info("STE U8500 SAP driver initialized"); - return 0; -} - -void sap_exit(void) -{ -} diff --git a/GRIB_BLE_HUB/libs/ble_extend/profiles/sap/sap.h b/GRIB_BLE_HUB/libs/ble_extend/profiles/sap/sap.h deleted file mode 100644 index 16c333a..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/profiles/sap/sap.h +++ /dev/null @@ -1,180 +0,0 @@ -/* - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2010 Instituto Nokia de Tecnologia - INdT - * Copyright (C) 2010 ST-Ericsson SA - * - * Author: Marek Skowron for ST-Ericsson. - * Author: Waldemar Rymarkiewicz - * for ST-Ericsson. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - */ - -#include -#include - -#ifdef SAP_DEBUG -#define SAP_VDBG(fmt, arg...) DBG(fmt, arg) -#else -#define SAP_VDBG(fmt...) -#endif - -#define SAP_VERSION 0x0101 - -/* Connection Status - SAP v1.1 section 5.2.2 */ -enum sap_status { - SAP_STATUS_OK = 0x00, - SAP_STATUS_CONNECTION_FAILED = 0x01, - SAP_STATUS_MAX_MSG_SIZE_NOT_SUPPORTED = 0x02, - SAP_STATUS_MAX_MSG_SIZE_TOO_SMALL = 0x03, - SAP_STATUS_OK_ONGOING_CALL = 0x04 -}; - -/* Disconnection Type - SAP v1.1 section 5.2.3 */ -enum sap_disconnection_type { - SAP_DISCONNECTION_TYPE_GRACEFUL = 0x00, - SAP_DISCONNECTION_TYPE_IMMEDIATE = 0x01 -}; - -/* Result codes - SAP v1.1 section 5.2.4 */ -enum sap_result { - SAP_RESULT_OK = 0x00, - SAP_RESULT_ERROR_NO_REASON = 0x01, - SAP_RESULT_ERROR_NOT_ACCESSIBLE = 0x02, - SAP_RESULT_ERROR_POWERED_OFF = 0x03, - SAP_RESULT_ERROR_CARD_REMOVED = 0x04, - SAP_RESULT_ERROR_POWERED_ON = 0x05, - SAP_RESULT_ERROR_NO_DATA = 0x06, - SAP_RESULT_NOT_SUPPORTED = 0x07 -}; - -/* Status Change - SAP v1.1 section 5.2.8 */ -enum sap_status_change { - SAP_STATUS_CHANGE_UNKNOWN_ERROR = 0x00, - SAP_STATUS_CHANGE_CARD_RESET = 0x01, - SAP_STATUS_CHANGE_CARD_NOT_ACCESSIBLE = 0x02, - SAP_STATUS_CHANGE_CARD_REMOVED = 0x03, - SAP_STATUS_CHANGE_CARD_INSERTED = 0x04, - SAP_STATUS_CHANGE_CARD_RECOVERED = 0x05 -}; - -/* Message format - SAP v1.1 section 5.1 */ -struct sap_parameter { - uint8_t id; - uint8_t reserved; - uint16_t len; - uint8_t val[0]; - /* - * Padding bytes 0-3 bytes - */ -} __attribute__((packed)); - -struct sap_message { - uint8_t id; - uint8_t nparam; - uint16_t reserved; - struct sap_parameter param[0]; -} __attribute__((packed)); - -#define SAP_BUF_SIZE 512 -#define SAP_MSG_HEADER_SIZE 4 - -enum sap_protocol { - SAP_CONNECT_REQ = 0x00, - SAP_CONNECT_RESP = 0x01, - SAP_DISCONNECT_REQ = 0x02, - SAP_DISCONNECT_RESP = 0x03, - SAP_DISCONNECT_IND = 0x04, - SAP_TRANSFER_APDU_REQ = 0x05, - SAP_TRANSFER_APDU_RESP = 0x06, - SAP_TRANSFER_ATR_REQ = 0x07, - SAP_TRANSFER_ATR_RESP = 0x08, - SAP_POWER_SIM_OFF_REQ = 0x09, - SAP_POWER_SIM_OFF_RESP = 0x0A, - SAP_POWER_SIM_ON_REQ = 0x0B, - SAP_POWER_SIM_ON_RESP = 0x0C, - SAP_RESET_SIM_REQ = 0x0D, - SAP_RESET_SIM_RESP = 0x0E, - SAP_TRANSFER_CARD_READER_STATUS_REQ = 0x0F, - SAP_TRANSFER_CARD_READER_STATUS_RESP = 0x10, - SAP_STATUS_IND = 0x11, - SAP_ERROR_RESP = 0x12, - SAP_SET_TRANSPORT_PROTOCOL_REQ = 0x13, - SAP_SET_TRANSPORT_PROTOCOL_RESP = 0x14 -}; - -/* Parameters Ids - SAP 1.1 section 5.2 */ -enum sap_param_id { - SAP_PARAM_ID_MAX_MSG_SIZE = 0x00, - SAP_PARAM_ID_CONN_STATUS = 0x01, - SAP_PARAM_ID_RESULT_CODE = 0x02, - SAP_PARAM_ID_DISCONNECT_IND = 0x03, - SAP_PARAM_ID_COMMAND_APDU = 0x04, - SAP_PARAM_ID_COMMAND_APDU7816 = 0x10, - SAP_PARAM_ID_RESPONSE_APDU = 0x05, - SAP_PARAM_ID_ATR = 0x06, - SAP_PARAM_ID_CARD_READER_STATUS = 0x07, - SAP_PARAM_ID_STATUS_CHANGE = 0x08, - SAP_PARAM_ID_TRANSPORT_PROTOCOL = 0x09 -}; - -#define SAP_PARAM_ID_MAX_MSG_SIZE_LEN 0x02 -#define SAP_PARAM_ID_CONN_STATUS_LEN 0x01 -#define SAP_PARAM_ID_RESULT_CODE_LEN 0x01 -#define SAP_PARAM_ID_DISCONNECT_IND_LEN 0x01 -#define SAP_PARAM_ID_CARD_READER_STATUS_LEN 0x01 -#define SAP_PARAM_ID_STATUS_CHANGE_LEN 0x01 -#define SAP_PARAM_ID_TRANSPORT_PROTO_LEN 0x01 - -/* Transport Protocol - SAP v1.1 section 5.2.9 */ -enum sap_transport_protocol { - SAP_TRANSPORT_PROTOCOL_T0 = 0x00, - SAP_TRANSPORT_PROTOCOL_T1 = 0x01 -}; - -/*SAP driver init and exit routines. Implemented by sap-*.c */ -int sap_init(void); -void sap_exit(void); - -/* SAP requests implemented by sap-*.c */ -void sap_connect_req(void *sap_device, uint16_t maxmsgsize); -void sap_disconnect_req(void *sap_device, uint8_t linkloss); -void sap_transfer_apdu_req(void *sap_device, struct sap_parameter *param); -void sap_transfer_atr_req(void *sap_device); -void sap_power_sim_off_req(void *sap_device); -void sap_power_sim_on_req(void *sap_device); -void sap_reset_sim_req(void *sap_device); -void sap_transfer_card_reader_status_req(void *sap_device); -void sap_set_transport_protocol_req(void *sap_device, - struct sap_parameter *param); - -/*SAP responses to SAP requests. Implemented by server.c */ -int sap_connect_rsp(void *sap_device, uint8_t status); -int sap_disconnect_rsp(void *sap_device); -int sap_transfer_apdu_rsp(void *sap_device, uint8_t result, - uint8_t *sap_apdu_resp, uint16_t length); -int sap_transfer_atr_rsp(void *sap_device, uint8_t result, - uint8_t *sap_atr, uint16_t length); -int sap_power_sim_off_rsp(void *sap_device, uint8_t result); -int sap_power_sim_on_rsp(void *sap_device, uint8_t result); -int sap_reset_sim_rsp(void *sap_device, uint8_t result); -int sap_transfer_card_reader_status_rsp(void *sap_device, uint8_t result, - uint8_t status); -int sap_transport_protocol_rsp(void *sap_device, uint8_t result); - -/* Event indication. Implemented by server.c*/ -int sap_status_ind(void *sap_device, uint8_t status_change); -int sap_disconnect_ind(void *sap_device, uint8_t disc_type); diff --git a/GRIB_BLE_HUB/libs/ble_extend/profiles/sap/server.c b/GRIB_BLE_HUB/libs/ble_extend/profiles/sap/server.c deleted file mode 100644 index dfcf0f1..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/profiles/sap/server.c +++ /dev/null @@ -1,1414 +0,0 @@ -/* - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2010 Instituto Nokia de Tecnologia - INdT - * Copyright (C) 2010 ST-Ericsson SA - * Copyright (C) 2011 Tieto Poland - * - * Author: Marek Skowron for ST-Ericsson. - * Author: Waldemar Rymarkiewicz - * for ST-Ericsson. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include -#include -#include - -#include "lib/uuid.h" -#include "btio/btio.h" -#include "adapter.h" -#include "sdpd.h" -#include "log.h" -#include "error.h" -#include "dbus-common.h" -#include "sap.h" -#include "server.h" - -#define SAP_SERVER_INTERFACE "org.bluez.SimAccess1" -#define SAP_SERVER_CHANNEL 8 - -#define PADDING4(x) ((4 - ((x) & 0x03)) & 0x03) -#define PARAMETER_SIZE(x) (sizeof(struct sap_parameter) + x + PADDING4(x)) - -#define SAP_NO_REQ 0xFF -#define SAP_DISCONNECTION_TYPE_CLIENT 0xFF - -#define SAP_TIMER_GRACEFUL_DISCONNECT 30 -#define SAP_TIMER_NO_ACTIVITY 30 - -enum { - SAP_STATE_DISCONNECTED, - SAP_STATE_CONNECT_IN_PROGRESS, - SAP_STATE_CONNECT_MODEM_BUSY, - SAP_STATE_CONNECTED, - SAP_STATE_GRACEFUL_DISCONNECT, - SAP_STATE_IMMEDIATE_DISCONNECT, - SAP_STATE_CLIENT_DISCONNECT -}; - -struct sap_connection { - GIOChannel *io; - uint32_t state; - uint8_t processing_req; - guint timer_id; -}; - -struct sap_server { - char *path; - uint32_t record_id; - GIOChannel *listen_io; - struct sap_connection *conn; -}; - -static void start_guard_timer(struct sap_server *server, guint interval); -static void stop_guard_timer(struct sap_server *server); -static gboolean guard_timeout(gpointer data); - -static size_t add_result_parameter(uint8_t result, - struct sap_parameter *param) -{ - param->id = SAP_PARAM_ID_RESULT_CODE; - param->len = htons(SAP_PARAM_ID_RESULT_CODE_LEN); - *param->val = result; - - return PARAMETER_SIZE(SAP_PARAM_ID_RESULT_CODE_LEN); -} - -static int is_power_sim_off_req_allowed(uint8_t processing_req) -{ - switch (processing_req) { - case SAP_NO_REQ: - case SAP_TRANSFER_APDU_REQ: - case SAP_TRANSFER_ATR_REQ: - case SAP_POWER_SIM_ON_REQ: - case SAP_RESET_SIM_REQ: - case SAP_TRANSFER_CARD_READER_STATUS_REQ: - return 1; - default: - return 0; - } -} - -static int is_reset_sim_req_allowed(uint8_t processing_req) -{ - switch (processing_req) { - case SAP_NO_REQ: - case SAP_TRANSFER_APDU_REQ: - case SAP_TRANSFER_ATR_REQ: - case SAP_TRANSFER_CARD_READER_STATUS_REQ: - return 1; - default: - return 0; - } -} - -static int check_msg(struct sap_message *msg) -{ - switch (msg->id) { - case SAP_CONNECT_REQ: - if (msg->nparam != 0x01) - return -EBADMSG; - - if (msg->param->id != SAP_PARAM_ID_MAX_MSG_SIZE) - return -EBADMSG; - - if (ntohs(msg->param->len) != SAP_PARAM_ID_MAX_MSG_SIZE_LEN) - return -EBADMSG; - - break; - - case SAP_TRANSFER_APDU_REQ: - if (msg->nparam != 0x01) - return -EBADMSG; - - if (msg->param->id != SAP_PARAM_ID_COMMAND_APDU) - if (msg->param->id != SAP_PARAM_ID_COMMAND_APDU7816) - return -EBADMSG; - - if (msg->param->len == 0x00) - return -EBADMSG; - - break; - - case SAP_SET_TRANSPORT_PROTOCOL_REQ: - if (msg->nparam != 0x01) - return -EBADMSG; - - if (msg->param->id != SAP_PARAM_ID_TRANSPORT_PROTOCOL) - return -EBADMSG; - - if (ntohs(msg->param->len) != SAP_PARAM_ID_TRANSPORT_PROTO_LEN) - return -EBADMSG; - - if (*msg->param->val != SAP_TRANSPORT_PROTOCOL_T0) - if (*msg->param->val != SAP_TRANSPORT_PROTOCOL_T1) - return -EBADMSG; - - break; - - case SAP_DISCONNECT_REQ: - case SAP_TRANSFER_ATR_REQ: - case SAP_POWER_SIM_OFF_REQ: - case SAP_POWER_SIM_ON_REQ: - case SAP_RESET_SIM_REQ: - case SAP_TRANSFER_CARD_READER_STATUS_REQ: - if (msg->nparam != 0x00) - return -EBADMSG; - - break; - } - - return 0; -} - -static sdp_record_t *create_sap_record(uint8_t channel) -{ - sdp_list_t *apseq, *aproto, *profiles, *proto[2], *root, *svclass_id; - uuid_t sap_uuid, gt_uuid, root_uuid, l2cap, rfcomm; - sdp_profile_desc_t profile; - sdp_record_t *record; - sdp_data_t *ch; - - record = sdp_record_alloc(); - if (!record) - return NULL; - - sdp_uuid16_create(&root_uuid, PUBLIC_BROWSE_GROUP); - root = sdp_list_append(NULL, &root_uuid); - sdp_set_browse_groups(record, root); - sdp_list_free(root, NULL); - - sdp_uuid16_create(&sap_uuid, SAP_SVCLASS_ID); - svclass_id = sdp_list_append(NULL, &sap_uuid); - sdp_uuid16_create(>_uuid, GENERIC_TELEPHONY_SVCLASS_ID); - svclass_id = sdp_list_append(svclass_id, >_uuid); - - sdp_set_service_classes(record, svclass_id); - sdp_list_free(svclass_id, NULL); - - sdp_uuid16_create(&profile.uuid, SAP_PROFILE_ID); - profile.version = SAP_VERSION; - profiles = sdp_list_append(NULL, &profile); - sdp_set_profile_descs(record, profiles); - sdp_list_free(profiles, NULL); - - sdp_uuid16_create(&l2cap, L2CAP_UUID); - proto[0] = sdp_list_append(NULL, &l2cap); - apseq = sdp_list_append(NULL, proto[0]); - - sdp_uuid16_create(&rfcomm, RFCOMM_UUID); - proto[1] = sdp_list_append(NULL, &rfcomm); - ch = sdp_data_alloc(SDP_UINT8, &channel); - proto[1] = sdp_list_append(proto[1], ch); - apseq = sdp_list_append(apseq, proto[1]); - - aproto = sdp_list_append(NULL, apseq); - sdp_set_access_protos(record, aproto); - - sdp_set_info_attr(record, "SIM Access Server", NULL, NULL); - - sdp_data_free(ch); - sdp_list_free(proto[0], NULL); - sdp_list_free(proto[1], NULL); - sdp_list_free(apseq, NULL); - sdp_list_free(aproto, NULL); - - return record; -} - -static int send_message(struct sap_connection *conn, void *buf, size_t size) -{ - size_t written = 0; - GError *gerr = NULL; - GIOStatus gstatus; - - SAP_VDBG("conn %p, size %zu", conn, size); - - gstatus = g_io_channel_write_chars(conn->io, buf, size, &written, - &gerr); - if (gstatus != G_IO_STATUS_NORMAL) { - if (gerr) - g_error_free(gerr); - - error("write error (0x%02x).", gstatus); - return -EIO; - } - - if (written != size) { - error("written %zu bytes out of %zu", written, size); - return -EIO; - } - - return written; -} - -static int disconnect_ind(struct sap_connection *conn, uint8_t disc_type) -{ - char buf[SAP_BUF_SIZE]; - struct sap_message *msg = (struct sap_message *) buf; - struct sap_parameter *param = (struct sap_parameter *) msg->param; - size_t size = sizeof(struct sap_message); - - DBG("data %p state %d disc_type 0x%02x", conn, conn->state, disc_type); - - memset(buf, 0, sizeof(buf)); - msg->id = SAP_DISCONNECT_IND; - msg->nparam = 0x01; - - /* Add disconnection type param. */ - param->id = SAP_PARAM_ID_DISCONNECT_IND; - param->len = htons(SAP_PARAM_ID_DISCONNECT_IND_LEN); - *param->val = disc_type; - size += PARAMETER_SIZE(SAP_PARAM_ID_DISCONNECT_IND_LEN); - - return send_message(conn, buf, size); -} - -static int sap_error_rsp(struct sap_connection *conn) -{ - struct sap_message msg; - - memset(&msg, 0, sizeof(msg)); - msg.id = SAP_ERROR_RESP; - - error("SAP error (state %d pr 0x%02x).", conn->state, - conn->processing_req); - - return send_message(conn, &msg, sizeof(msg)); -} - -static void connect_req(struct sap_server *server, - struct sap_parameter *param) -{ - struct sap_connection *conn = server->conn; - uint16_t maxmsgsize; - - DBG("conn %p state %d", conn, conn->state); - - if (!param) - goto error_rsp; - - if (conn->state != SAP_STATE_DISCONNECTED) - goto error_rsp; - - stop_guard_timer(server); - - maxmsgsize = bt_get_be16(¶m->val); - - DBG("Connect MaxMsgSize: 0x%04x", maxmsgsize); - - conn->state = SAP_STATE_CONNECT_IN_PROGRESS; - - if (maxmsgsize <= SAP_BUF_SIZE) { - conn->processing_req = SAP_CONNECT_REQ; - sap_connect_req(server, maxmsgsize); - } else { - sap_connect_rsp(server, SAP_STATUS_MAX_MSG_SIZE_NOT_SUPPORTED); - } - - return; - -error_rsp: - sap_error_rsp(conn); -} - -static int disconnect_req(struct sap_server *server, uint8_t disc_type) -{ - struct sap_connection *conn = server->conn; - - DBG("conn %p state %d disc_type 0x%02x", conn, conn->state, disc_type); - - switch (disc_type) { - case SAP_DISCONNECTION_TYPE_GRACEFUL: - if (conn->state == SAP_STATE_DISCONNECTED || - conn->state == SAP_STATE_CONNECT_IN_PROGRESS || - conn->state == SAP_STATE_CONNECT_MODEM_BUSY) - return -EPERM; - - if (conn->state == SAP_STATE_CONNECTED) { - conn->state = SAP_STATE_GRACEFUL_DISCONNECT; - conn->processing_req = SAP_NO_REQ; - - disconnect_ind(conn, disc_type); - /* Timer will disconnect if client won't do.*/ - start_guard_timer(server, - SAP_TIMER_GRACEFUL_DISCONNECT); - } - - return 0; - - case SAP_DISCONNECTION_TYPE_IMMEDIATE: - if (conn->state == SAP_STATE_DISCONNECTED || - conn->state == SAP_STATE_CONNECT_IN_PROGRESS || - conn->state == SAP_STATE_CONNECT_MODEM_BUSY) - return -EPERM; - - if (conn->state == SAP_STATE_CONNECTED || - conn->state == SAP_STATE_GRACEFUL_DISCONNECT) { - conn->state = SAP_STATE_IMMEDIATE_DISCONNECT; - conn->processing_req = SAP_NO_REQ; - - stop_guard_timer(server); - disconnect_ind(conn, disc_type); - sap_disconnect_req(server, 0); - } - - return 0; - - case SAP_DISCONNECTION_TYPE_CLIENT: - if (conn->state != SAP_STATE_CONNECTED && - conn->state != SAP_STATE_GRACEFUL_DISCONNECT) { - sap_error_rsp(conn); - return -EPERM; - } - - conn->state = SAP_STATE_CLIENT_DISCONNECT; - conn->processing_req = SAP_NO_REQ; - - stop_guard_timer(server); - sap_disconnect_req(server, 0); - - return 0; - - default: - error("Unknown disconnection type (0x%02x).", disc_type); - return -EINVAL; - } -} - -static void transfer_apdu_req(struct sap_server *server, - struct sap_parameter *param) -{ - struct sap_connection *conn = server->conn; - - SAP_VDBG("conn %p state %d", conn, conn->state); - - if (!param) - goto error_rsp; - - param->len = ntohs(param->len); - - if (conn->state != SAP_STATE_CONNECTED && - conn->state != SAP_STATE_GRACEFUL_DISCONNECT) - goto error_rsp; - - if (conn->processing_req != SAP_NO_REQ) - goto error_rsp; - - conn->processing_req = SAP_TRANSFER_APDU_REQ; - sap_transfer_apdu_req(server, param); - - return; - -error_rsp: - sap_error_rsp(conn); -} - -static void transfer_atr_req(struct sap_server *server) -{ - struct sap_connection *conn = server->conn; - - DBG("conn %p state %d", conn, conn->state); - - if (conn->state != SAP_STATE_CONNECTED) - goto error_rsp; - - if (conn->processing_req != SAP_NO_REQ) - goto error_rsp; - - conn->processing_req = SAP_TRANSFER_ATR_REQ; - sap_transfer_atr_req(server); - - return; - -error_rsp: - sap_error_rsp(conn); -} - -static void power_sim_off_req(struct sap_server *server) -{ - struct sap_connection *conn = server->conn; - - DBG("conn %p state %d", conn, conn->state); - - if (conn->state != SAP_STATE_CONNECTED) - goto error_rsp; - - if (!is_power_sim_off_req_allowed(conn->processing_req)) - goto error_rsp; - - conn->processing_req = SAP_POWER_SIM_OFF_REQ; - sap_power_sim_off_req(server); - - return; - -error_rsp: - sap_error_rsp(conn); -} - -static void power_sim_on_req(struct sap_server *server) -{ - struct sap_connection *conn = server->conn; - - DBG("conn %p state %d", conn, conn->state); - - if (conn->state != SAP_STATE_CONNECTED) - goto error_rsp; - - if (conn->processing_req != SAP_NO_REQ) - goto error_rsp; - - conn->processing_req = SAP_POWER_SIM_ON_REQ; - sap_power_sim_on_req(server); - - return; - -error_rsp: - sap_error_rsp(conn); -} - -static void reset_sim_req(struct sap_server *server) -{ - struct sap_connection *conn = server->conn; - - DBG("conn %p state %d", conn, conn->state); - - if (conn->state != SAP_STATE_CONNECTED) - goto error_rsp; - - if (!is_reset_sim_req_allowed(conn->processing_req)) - goto error_rsp; - - conn->processing_req = SAP_RESET_SIM_REQ; - sap_reset_sim_req(server); - - return; - -error_rsp: - sap_error_rsp(conn); -} - -static void transfer_card_reader_status_req(struct sap_server *server) -{ - struct sap_connection *conn = server->conn; - - DBG("conn %p state %d", conn, conn->state); - - if (conn->state != SAP_STATE_CONNECTED) - goto error_rsp; - - if (conn->processing_req != SAP_NO_REQ) - goto error_rsp; - - conn->processing_req = SAP_TRANSFER_CARD_READER_STATUS_REQ; - sap_transfer_card_reader_status_req(server); - - return; - -error_rsp: - sap_error_rsp(conn); -} - -static void set_transport_protocol_req(struct sap_server *server, - struct sap_parameter *param) -{ - struct sap_connection *conn = server->conn; - - if (!param) - goto error_rsp; - - DBG("conn %p state %d param %p", conn, conn->state, param); - - if (conn->state != SAP_STATE_CONNECTED) - goto error_rsp; - - if (conn->processing_req != SAP_NO_REQ) - goto error_rsp; - - conn->processing_req = SAP_SET_TRANSPORT_PROTOCOL_REQ; - sap_set_transport_protocol_req(server, param); - - return; - -error_rsp: - sap_error_rsp(conn); -} - -static void start_guard_timer(struct sap_server *server, guint interval) -{ - struct sap_connection *conn = server->conn; - - if (!conn) - return; - - if (!conn->timer_id) - conn->timer_id = g_timeout_add_seconds(interval, guard_timeout, - server); - else - error("Timer is already active."); -} - -static void stop_guard_timer(struct sap_server *server) -{ - struct sap_connection *conn = server->conn; - - if (conn && conn->timer_id) { - g_source_remove(conn->timer_id); - conn->timer_id = 0; - } -} - -static gboolean guard_timeout(gpointer data) -{ - struct sap_server *server = data; - struct sap_connection *conn = server->conn; - - if (!conn) - return FALSE; - - DBG("conn %p state %d pr 0x%02x", conn, conn->state, - conn->processing_req); - - conn->timer_id = 0; - - switch (conn->state) { - case SAP_STATE_DISCONNECTED: - /* Client opened RFCOMM channel but didn't send CONNECT_REQ, - * in fixed time or client disconnected SAP connection but - * didn't closed RFCOMM channel in fixed time.*/ - if (conn->io) { - g_io_channel_shutdown(conn->io, TRUE, NULL); - g_io_channel_unref(conn->io); - conn->io = NULL; - } - break; - - case SAP_STATE_GRACEFUL_DISCONNECT: - /* Client didn't disconnect SAP connection in fixed time, - * so close SAP connection immediately. */ - disconnect_req(server, SAP_DISCONNECTION_TYPE_IMMEDIATE); - break; - - default: - error("Unexpected state (%d).", conn->state); - break; - } - - return FALSE; -} - -static void sap_set_connected(struct sap_server *server) -{ - server->conn->state = SAP_STATE_CONNECTED; - - g_dbus_emit_property_changed(btd_get_dbus_connection(), server->path, - SAP_SERVER_INTERFACE, "Connected"); -} - -int sap_connect_rsp(void *sap_device, uint8_t status) -{ - struct sap_server *server = sap_device; - struct sap_connection *conn = server->conn; - char buf[SAP_BUF_SIZE]; - struct sap_message *msg = (struct sap_message *) buf; - struct sap_parameter *param = (struct sap_parameter *) msg->param; - size_t size = sizeof(struct sap_message); - - if (!conn) - return -EINVAL; - - DBG("state %d pr 0x%02x status 0x%02x", conn->state, - conn->processing_req, status); - - if (conn->state != SAP_STATE_CONNECT_IN_PROGRESS) - return -EPERM; - - memset(buf, 0, sizeof(buf)); - msg->id = SAP_CONNECT_RESP; - msg->nparam = 0x01; - - /* Add connection status */ - param->id = SAP_PARAM_ID_CONN_STATUS; - param->len = htons(SAP_PARAM_ID_CONN_STATUS_LEN); - *param->val = status; - size += PARAMETER_SIZE(SAP_PARAM_ID_CONN_STATUS_LEN); - - - switch (status) { - case SAP_STATUS_OK: - sap_set_connected(server); - break; - case SAP_STATUS_OK_ONGOING_CALL: - DBG("ongoing call. Wait for reset indication!"); - conn->state = SAP_STATE_CONNECT_MODEM_BUSY; - break; - case SAP_STATUS_MAX_MSG_SIZE_NOT_SUPPORTED: /* Add MaxMsgSize */ - msg->nparam++; - param = (struct sap_parameter *) &buf[size]; - param->id = SAP_PARAM_ID_MAX_MSG_SIZE; - param->len = htons(SAP_PARAM_ID_MAX_MSG_SIZE_LEN); - bt_put_be16(SAP_BUF_SIZE, ¶m->val); - size += PARAMETER_SIZE(SAP_PARAM_ID_MAX_MSG_SIZE_LEN); - - /* fall */ - default: - conn->state = SAP_STATE_DISCONNECTED; - - /* Timer will shutdown channel if client doesn't send - * CONNECT_REQ or doesn't shutdown channel itself.*/ - start_guard_timer(server, SAP_TIMER_NO_ACTIVITY); - break; - } - - conn->processing_req = SAP_NO_REQ; - - return send_message(conn, buf, size); -} - -int sap_disconnect_rsp(void *sap_device) -{ - struct sap_server *server = sap_device; - struct sap_connection *conn = server->conn; - struct sap_message msg; - - if (!conn) - return -EINVAL; - - DBG("state %d pr 0x%02x", conn->state, conn->processing_req); - - switch (conn->state) { - case SAP_STATE_CLIENT_DISCONNECT: - memset(&msg, 0, sizeof(msg)); - msg.id = SAP_DISCONNECT_RESP; - - conn->state = SAP_STATE_DISCONNECTED; - conn->processing_req = SAP_NO_REQ; - - /* Timer will close channel if client doesn't do it.*/ - start_guard_timer(server, SAP_TIMER_NO_ACTIVITY); - - return send_message(conn, &msg, sizeof(msg)); - - case SAP_STATE_IMMEDIATE_DISCONNECT: - conn->state = SAP_STATE_DISCONNECTED; - conn->processing_req = SAP_NO_REQ; - - if (conn->io) { - g_io_channel_shutdown(conn->io, TRUE, NULL); - g_io_channel_unref(conn->io); - conn->io = NULL; - } - - return 0; - - default: - break; - } - - return 0; -} - -int sap_transfer_apdu_rsp(void *sap_device, uint8_t result, uint8_t *apdu, - uint16_t length) -{ - struct sap_server *server = sap_device; - struct sap_connection *conn = server->conn; - char buf[SAP_BUF_SIZE]; - struct sap_message *msg = (struct sap_message *) buf; - struct sap_parameter *param = (struct sap_parameter *) msg->param; - size_t size = sizeof(struct sap_message); - - if (!conn) - return -EINVAL; - - SAP_VDBG("state %d pr 0x%02x", conn->state, conn->processing_req); - - if (conn->processing_req != SAP_TRANSFER_APDU_REQ) - return 0; - - if (result == SAP_RESULT_OK && (!apdu || (apdu && length == 0x00))) - return -EINVAL; - - memset(buf, 0, sizeof(buf)); - msg->id = SAP_TRANSFER_APDU_RESP; - msg->nparam = 0x01; - size += add_result_parameter(result, param); - - /* Add APDU response. */ - if (result == SAP_RESULT_OK) { - msg->nparam++; - param = (struct sap_parameter *) &buf[size]; - param->id = SAP_PARAM_ID_RESPONSE_APDU; - param->len = htons(length); - - size += PARAMETER_SIZE(length); - - if (size > SAP_BUF_SIZE) - return -EOVERFLOW; - - memcpy(param->val, apdu, length); - } - - conn->processing_req = SAP_NO_REQ; - - return send_message(conn, buf, size); -} - -int sap_transfer_atr_rsp(void *sap_device, uint8_t result, uint8_t *atr, - uint16_t length) -{ - struct sap_server *server = sap_device; - struct sap_connection *conn = server->conn; - char buf[SAP_BUF_SIZE]; - struct sap_message *msg = (struct sap_message *) buf; - struct sap_parameter *param = (struct sap_parameter *) msg->param; - size_t size = sizeof(struct sap_message); - - if (!conn) - return -EINVAL; - - DBG("result 0x%02x state %d pr 0x%02x len %d", result, conn->state, - conn->processing_req, length); - - if (conn->processing_req != SAP_TRANSFER_ATR_REQ) - return 0; - - if (result == SAP_RESULT_OK && (!atr || (atr && length == 0x00))) - return -EINVAL; - - memset(buf, 0, sizeof(buf)); - msg->id = SAP_TRANSFER_ATR_RESP; - msg->nparam = 0x01; - size += add_result_parameter(result, param); - - /* Add ATR response */ - if (result == SAP_RESULT_OK) { - msg->nparam++; - param = (struct sap_parameter *) &buf[size]; - param->id = SAP_PARAM_ID_ATR; - param->len = htons(length); - size += PARAMETER_SIZE(length); - - if (size > SAP_BUF_SIZE) - return -EOVERFLOW; - - memcpy(param->val, atr, length); - } - - conn->processing_req = SAP_NO_REQ; - - return send_message(conn, buf, size); -} - -int sap_power_sim_off_rsp(void *sap_device, uint8_t result) -{ - struct sap_server *server = sap_device; - struct sap_connection *conn = server->conn; - char buf[SAP_BUF_SIZE]; - struct sap_message *msg = (struct sap_message *) buf; - size_t size = sizeof(struct sap_message); - - if (!conn) - return -EINVAL; - - DBG("state %d pr 0x%02x", conn->state, conn->processing_req); - - if (conn->processing_req != SAP_POWER_SIM_OFF_REQ) - return 0; - - memset(buf, 0, sizeof(buf)); - msg->id = SAP_POWER_SIM_OFF_RESP; - msg->nparam = 0x01; - size += add_result_parameter(result, msg->param); - - conn->processing_req = SAP_NO_REQ; - - return send_message(conn, buf, size); -} - -int sap_power_sim_on_rsp(void *sap_device, uint8_t result) -{ - struct sap_server *server = sap_device; - struct sap_connection *conn = server->conn; - char buf[SAP_BUF_SIZE]; - struct sap_message *msg = (struct sap_message *) buf; - size_t size = sizeof(struct sap_message); - - if (!conn) - return -EINVAL; - - DBG("state %d pr 0x%02x", conn->state, conn->processing_req); - - if (conn->processing_req != SAP_POWER_SIM_ON_REQ) - return 0; - - memset(buf, 0, sizeof(buf)); - msg->id = SAP_POWER_SIM_ON_RESP; - msg->nparam = 0x01; - size += add_result_parameter(result, msg->param); - - conn->processing_req = SAP_NO_REQ; - - return send_message(conn, buf, size); -} - -int sap_reset_sim_rsp(void *sap_device, uint8_t result) -{ - struct sap_server *server = sap_device; - struct sap_connection *conn = server->conn; - char buf[SAP_BUF_SIZE]; - struct sap_message *msg = (struct sap_message *) buf; - size_t size = sizeof(struct sap_message); - - if (!conn) - return -EINVAL; - - DBG("state %d pr 0x%02x result 0x%02x", conn->state, - conn->processing_req, result); - - if (conn->processing_req != SAP_RESET_SIM_REQ) - return 0; - - memset(buf, 0, sizeof(buf)); - msg->id = SAP_RESET_SIM_RESP; - msg->nparam = 0x01; - size += add_result_parameter(result, msg->param); - - conn->processing_req = SAP_NO_REQ; - - return send_message(conn, buf, size); -} - -int sap_transfer_card_reader_status_rsp(void *sap_device, uint8_t result, - uint8_t status) -{ - struct sap_server *server = sap_device; - struct sap_connection *conn = server->conn; - char buf[SAP_BUF_SIZE]; - struct sap_message *msg = (struct sap_message *) buf; - struct sap_parameter *param = (struct sap_parameter *) msg->param; - size_t size = sizeof(struct sap_message); - - if (!conn) - return -EINVAL; - - DBG("state %d pr 0x%02x result 0x%02x", conn->state, - conn->processing_req, result); - - if (conn->processing_req != SAP_TRANSFER_CARD_READER_STATUS_REQ) - return 0; - - memset(buf, 0, sizeof(buf)); - msg->id = SAP_TRANSFER_CARD_READER_STATUS_RESP; - msg->nparam = 0x01; - size += add_result_parameter(result, param); - - /* Add card reader status. */ - if (result == SAP_RESULT_OK) { - msg->nparam++; - param = (struct sap_parameter *) &buf[size]; - param->id = SAP_PARAM_ID_CARD_READER_STATUS; - param->len = htons(SAP_PARAM_ID_CARD_READER_STATUS_LEN); - *param->val = status; - size += PARAMETER_SIZE(SAP_PARAM_ID_CARD_READER_STATUS_LEN); - } - - conn->processing_req = SAP_NO_REQ; - - return send_message(conn, buf, size); -} - -int sap_transport_protocol_rsp(void *sap_device, uint8_t result) -{ - struct sap_server *server = sap_device; - struct sap_connection *conn = server->conn; - char buf[SAP_BUF_SIZE]; - struct sap_message *msg = (struct sap_message *) buf; - size_t size = sizeof(struct sap_message); - - if (!conn) - return -EINVAL; - - DBG("state %d pr 0x%02x result 0x%02x", conn->state, - conn->processing_req, result); - - if (conn->processing_req != SAP_SET_TRANSPORT_PROTOCOL_REQ) - return 0; - - memset(buf, 0, sizeof(buf)); - msg->id = SAP_SET_TRANSPORT_PROTOCOL_RESP; - msg->nparam = 0x01; - size += add_result_parameter(result, msg->param); - - conn->processing_req = SAP_NO_REQ; - - return send_message(conn, buf, size); -} - -int sap_status_ind(void *sap_device, uint8_t status_change) -{ - struct sap_server *server = sap_device; - struct sap_connection *conn = server->conn; - char buf[SAP_BUF_SIZE]; - struct sap_message *msg = (struct sap_message *) buf; - struct sap_parameter *param = (struct sap_parameter *) msg->param; - size_t size = sizeof(struct sap_message); - - if (!conn) - return -EINVAL; - - DBG("state %d pr 0x%02x sc 0x%02x", conn->state, conn->processing_req, - status_change); - - switch (conn->state) { - case SAP_STATE_CONNECT_MODEM_BUSY: - if (status_change != SAP_STATUS_CHANGE_CARD_RESET) - break; - - /* Change state to connected after ongoing call ended */ - sap_set_connected(server); - /* fall */ - case SAP_STATE_CONNECTED: - case SAP_STATE_GRACEFUL_DISCONNECT: - memset(buf, 0, sizeof(buf)); - msg->id = SAP_STATUS_IND; - msg->nparam = 0x01; - - /* Add status change. */ - param->id = SAP_PARAM_ID_STATUS_CHANGE; - param->len = htons(SAP_PARAM_ID_STATUS_CHANGE_LEN); - *param->val = status_change; - size += PARAMETER_SIZE(SAP_PARAM_ID_STATUS_CHANGE_LEN); - - return send_message(conn, buf, size); - case SAP_STATE_DISCONNECTED: - case SAP_STATE_CONNECT_IN_PROGRESS: - case SAP_STATE_IMMEDIATE_DISCONNECT: - case SAP_STATE_CLIENT_DISCONNECT: - break; - } - - return 0; -} - -int sap_disconnect_ind(void *sap_device, uint8_t disc_type) -{ - return disconnect_req(sap_device, SAP_DISCONNECTION_TYPE_IMMEDIATE); -} - -static int handle_cmd(struct sap_server *server, void *buf, size_t size) -{ - struct sap_connection *conn = server->conn; - struct sap_message *msg = buf; - - if (!conn) - return -EINVAL; - - if (size < sizeof(struct sap_message)) - goto error_rsp; - - if (msg->nparam != 0 && size < (sizeof(struct sap_message) + - sizeof(struct sap_parameter) + 4)) - goto error_rsp; - - if (check_msg(msg) < 0) - goto error_rsp; - - switch (msg->id) { - case SAP_CONNECT_REQ: - connect_req(server, msg->param); - return 0; - case SAP_DISCONNECT_REQ: - disconnect_req(server, SAP_DISCONNECTION_TYPE_CLIENT); - return 0; - case SAP_TRANSFER_APDU_REQ: - transfer_apdu_req(server, msg->param); - return 0; - case SAP_TRANSFER_ATR_REQ: - transfer_atr_req(server); - return 0; - case SAP_POWER_SIM_OFF_REQ: - power_sim_off_req(server); - return 0; - case SAP_POWER_SIM_ON_REQ: - power_sim_on_req(server); - return 0; - case SAP_RESET_SIM_REQ: - reset_sim_req(server); - return 0; - case SAP_TRANSFER_CARD_READER_STATUS_REQ: - transfer_card_reader_status_req(server); - return 0; - case SAP_SET_TRANSPORT_PROTOCOL_REQ: - set_transport_protocol_req(server, msg->param); - return 0; - default: - DBG("Unknown SAP message id 0x%02x.", msg->id); - break; - } - -error_rsp: - DBG("Invalid SAP message format."); - sap_error_rsp(conn); - return -EBADMSG; -} - -static void sap_server_remove_conn(struct sap_server *server) -{ - struct sap_connection *conn = server->conn; - - DBG("conn %p", conn); - - if (!conn) - return; - - if (conn->io) { - g_io_channel_shutdown(conn->io, TRUE, NULL); - g_io_channel_unref(conn->io); - } - - g_free(conn); - server->conn = NULL; -} - -static gboolean sap_io_cb(GIOChannel *io, GIOCondition cond, gpointer data) -{ - char buf[SAP_BUF_SIZE]; - size_t bytes_read = 0; - GError *gerr = NULL; - GIOStatus gstatus; - - SAP_VDBG("conn %p io %p", conn, io); - - if (cond & G_IO_NVAL) { - DBG("ERR (G_IO_NVAL) on rfcomm socket."); - return FALSE; - } - - if (cond & G_IO_ERR) { - DBG("ERR (G_IO_ERR) on rfcomm socket."); - return FALSE; - } - - if (cond & G_IO_HUP) { - DBG("HUP on rfcomm socket."); - return FALSE; - } - - gstatus = g_io_channel_read_chars(io, buf, sizeof(buf) - 1, - &bytes_read, &gerr); - if (gstatus != G_IO_STATUS_NORMAL) { - if (gerr) - g_error_free(gerr); - - return TRUE; - } - - if (handle_cmd(data, buf, bytes_read) < 0) - error("SAP protocol processing failure."); - - return TRUE; -} - -static void sap_io_destroy(void *data) -{ - struct sap_server *server = data; - struct sap_connection *conn = server->conn; - - DBG("conn %p", conn); - - if (!conn || !conn->io) - return; - - stop_guard_timer(server); - - if (conn->state != SAP_STATE_CONNECT_IN_PROGRESS && - conn->state != SAP_STATE_CONNECT_MODEM_BUSY) - g_dbus_emit_property_changed(btd_get_dbus_connection(), - server->path, SAP_SERVER_INTERFACE, - "Connected"); - - if (conn->state == SAP_STATE_CONNECT_IN_PROGRESS || - conn->state == SAP_STATE_CONNECT_MODEM_BUSY || - conn->state == SAP_STATE_CONNECTED || - conn->state == SAP_STATE_GRACEFUL_DISCONNECT) - sap_disconnect_req(server, 1); - - sap_server_remove_conn(server); -} - -static void sap_connect_cb(GIOChannel *io, GError *gerr, gpointer data) -{ - struct sap_server *server = data; - struct sap_connection *conn = server->conn; - - DBG("conn %p, io %p", conn, io); - - if (!conn) - return; - - /* Timer will shutdown the channel in case of lack of client - activity */ - start_guard_timer(server, SAP_TIMER_NO_ACTIVITY); - - g_io_add_watch_full(io, G_PRIORITY_DEFAULT, - G_IO_IN | G_IO_ERR | G_IO_HUP | G_IO_NVAL, - sap_io_cb, server, sap_io_destroy); -} - -static void connect_auth_cb(DBusError *derr, void *data) -{ - struct sap_server *server = data; - struct sap_connection *conn = server->conn; - GError *gerr = NULL; - - DBG("conn %p", conn); - - if (!conn) - return; - - if (derr && dbus_error_is_set(derr)) { - error("Access has been denied (%s)", derr->message); - sap_server_remove_conn(server); - return; - } - - if (!bt_io_accept(conn->io, sap_connect_cb, server, NULL, &gerr)) { - error("bt_io_accept: %s", gerr->message); - g_error_free(gerr); - sap_server_remove_conn(server); - return; - } - - DBG("Access has been granted."); -} - -static void connect_confirm_cb(GIOChannel *io, gpointer data) -{ - struct sap_server *server = data; - struct sap_connection *conn = server->conn; - GError *gerr = NULL; - bdaddr_t src, dst; - char dstaddr[18]; - guint ret; - - DBG("conn %p io %p", conn, io); - - if (!io) - return; - - if (conn) { - DBG("Another SAP connection already exists."); - g_io_channel_shutdown(io, TRUE, NULL); - return; - } - - conn = g_try_new0(struct sap_connection, 1); - if (!conn) { - error("Can't allocate memory for incoming SAP connection."); - g_io_channel_shutdown(io, TRUE, NULL); - return; - } - - g_io_channel_set_encoding(io, NULL, NULL); - g_io_channel_set_buffered(io, FALSE); - - server->conn = conn; - conn->io = g_io_channel_ref(io); - conn->state = SAP_STATE_DISCONNECTED; - - bt_io_get(io, &gerr, - BT_IO_OPT_SOURCE_BDADDR, &src, - BT_IO_OPT_DEST_BDADDR, &dst, - BT_IO_OPT_INVALID); - if (gerr) { - error("%s", gerr->message); - g_error_free(gerr); - sap_server_remove_conn(server); - return; - } - - ba2str(&dst, dstaddr); - - ret = btd_request_authorization(&src, &dst, SAP_UUID, connect_auth_cb, - server); - if (ret == 0) { - error("Authorization failure"); - sap_server_remove_conn(server); - return; - } - - DBG("Authorizing incoming SAP connection from %s", dstaddr); -} - -static DBusMessage *disconnect(DBusConnection *conn, DBusMessage *msg, - void *data) -{ - struct sap_server *server = data; - - if (!server) - return btd_error_failed(msg, "Server internal error."); - - DBG("conn %p", server->conn); - - if (!server->conn) - return btd_error_failed(msg, "Client already disconnected"); - - if (disconnect_req(server, SAP_DISCONNECTION_TYPE_GRACEFUL) < 0) - return btd_error_failed(msg, "There is no active connection"); - - return dbus_message_new_method_return(msg); -} - -static gboolean server_property_get_connected( - const GDBusPropertyTable *property, - DBusMessageIter *iter, void *data) -{ - struct sap_server *server = data; - struct sap_connection *conn = server->conn; - dbus_bool_t connected; - - if (!conn) { - connected = FALSE; - goto append; - } - - connected = (conn->state == SAP_STATE_CONNECTED || - conn->state == SAP_STATE_GRACEFUL_DISCONNECT); - -append: - dbus_message_iter_append_basic(iter, DBUS_TYPE_BOOLEAN, &connected); - - return TRUE; -} - -static const GDBusMethodTable server_methods[] = { - { GDBUS_METHOD("Disconnect", NULL, NULL, disconnect) }, - { } -}; - -static const GDBusPropertyTable server_properties[] = { - { "Connected", "b", server_property_get_connected }, - { } -}; - -static void server_remove(struct sap_server *server) -{ - if (!server) - return; - - sap_server_remove_conn(server); - - remove_record_from_server(server->record_id); - - if (server->listen_io) { - g_io_channel_shutdown(server->listen_io, TRUE, NULL); - g_io_channel_unref(server->listen_io); - server->listen_io = NULL; - } - - g_free(server->path); - g_free(server); -} - -static void destroy_sap_interface(void *data) -{ - struct sap_server *server = data; - - DBG("Unregistered interface %s on path %s", SAP_SERVER_INTERFACE, - server->path); - - server_remove(server); -} - -int sap_server_register(const char *path, const bdaddr_t *src) -{ - sdp_record_t *record = NULL; - GError *gerr = NULL; - GIOChannel *io; - struct sap_server *server; - - if (sap_init() < 0) { - error("Sap driver initialization failed."); - return -1; - } - - record = create_sap_record(SAP_SERVER_CHANNEL); - if (!record) { - error("Creating SAP SDP record failed."); - goto sdp_err; - } - - if (add_record_to_server(src, record) < 0) { - error("Adding SAP SDP record to the SDP server failed."); - sdp_record_free(record); - goto sdp_err; - } - - server = g_new0(struct sap_server, 1); - server->path = g_strdup(path); - server->record_id = record->handle; - - io = bt_io_listen(NULL, connect_confirm_cb, server, - NULL, &gerr, - BT_IO_OPT_SOURCE_BDADDR, src, - BT_IO_OPT_CHANNEL, SAP_SERVER_CHANNEL, - BT_IO_OPT_SEC_LEVEL, BT_IO_SEC_HIGH, - BT_IO_OPT_MASTER, TRUE, - BT_IO_OPT_INVALID); - if (!io) { - error("Can't listen at channel %d.", SAP_SERVER_CHANNEL); - g_error_free(gerr); - goto server_err; - } - server->listen_io = io; - - if (!g_dbus_register_interface(btd_get_dbus_connection(), - server->path, SAP_SERVER_INTERFACE, - server_methods, NULL, - server_properties, server, - destroy_sap_interface)) { - error("D-Bus failed to register %s interface", - SAP_SERVER_INTERFACE); - goto server_err; - } - - DBG("server %p, listen socket 0x%02x", server, - g_io_channel_unix_get_fd(io)); - - return 0; - -server_err: - server_remove(server); -sdp_err: - sap_exit(); - - return -1; -} - -void sap_server_unregister(const char *path) -{ - g_dbus_unregister_interface(btd_get_dbus_connection(), - path, SAP_SERVER_INTERFACE); - - sap_exit(); -} diff --git a/GRIB_BLE_HUB/libs/ble_extend/profiles/sap/server.h b/GRIB_BLE_HUB/libs/ble_extend/profiles/sap/server.h deleted file mode 100644 index 73b38ab..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/profiles/sap/server.h +++ /dev/null @@ -1,24 +0,0 @@ -/* - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2010 ST-Ericsson SA - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - */ - -#include - -int sap_server_register(const char *path, const bdaddr_t *src); -void sap_server_unregister(const char *path); diff --git a/GRIB_BLE_HUB/libs/ble_extend/profiles/scanparam/.deps/.dirstamp b/GRIB_BLE_HUB/libs/ble_extend/profiles/scanparam/.deps/.dirstamp deleted file mode 100644 index e69de29..0000000 diff --git a/GRIB_BLE_HUB/libs/ble_extend/profiles/scanparam/.deps/bluetoothd-scan.Po b/GRIB_BLE_HUB/libs/ble_extend/profiles/scanparam/.deps/bluetoothd-scan.Po deleted file mode 100644 index 389a341..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/profiles/scanparam/.deps/bluetoothd-scan.Po +++ /dev/null @@ -1,532 +0,0 @@ -profiles/scanparam/bluetoothd-scan.o: profiles/scanparam/scan.c \ - /usr/include/stdc-predef.h config.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdbool.h \ - /usr/include/errno.h /usr/include/features.h \ - /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/include/arm-linux-gnueabihf/bits/errno.h /usr/include/linux/errno.h \ - /usr/include/arm-linux-gnueabihf/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - lib/bluetooth/bluetooth.h /usr/include/stdio.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/sys_errlist.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h \ - /usr/include/stdint.h /usr/include/arm-linux-gnueabihf/bits/wchar.h \ - /usr/include/string.h /usr/include/xlocale.h \ - /usr/include/arm-linux-gnueabihf/bits/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string2.h /usr/include/stdlib.h \ - /usr/include/endian.h /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/byteswap.h /usr/include/netinet/in.h \ - /usr/include/arm-linux-gnueabihf/sys/socket.h \ - /usr/include/arm-linux-gnueabihf/sys/uio.h \ - /usr/include/arm-linux-gnueabihf/sys/types.h /usr/include/time.h \ - /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/arm-linux-gnueabihf/bits/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/socket.h \ - /usr/include/arm-linux-gnueabihf/bits/socket_type.h \ - /usr/include/arm-linux-gnueabihf/bits/sockaddr.h \ - /usr/include/arm-linux-gnueabihf/asm/socket.h \ - /usr/include/asm-generic/socket.h \ - /usr/include/arm-linux-gnueabihf/asm/sockios.h \ - /usr/include/asm-generic/sockios.h \ - /usr/include/arm-linux-gnueabihf/bits/in.h lib/uuid.h src/log.h \ - src/plugin.h src/adapter.h lib/bluetooth/sdp.h lib/bluetooth/hci.h \ - lib/bluetooth/hci_lib.h /usr/include/dbus-1.0/dbus/dbus.h \ - /usr/lib/arm-linux-gnueabihf/dbus-1.0/include/dbus/dbus-arch-deps.h \ - /usr/include/dbus-1.0/dbus/dbus-macros.h \ - /usr/include/dbus-1.0/dbus/dbus-address.h \ - /usr/include/dbus-1.0/dbus/dbus-types.h \ - /usr/include/dbus-1.0/dbus/dbus-errors.h \ - /usr/include/dbus-1.0/dbus/dbus-protocol.h \ - /usr/include/dbus-1.0/dbus/dbus-bus.h \ - /usr/include/dbus-1.0/dbus/dbus-connection.h \ - /usr/include/dbus-1.0/dbus/dbus-memory.h \ - /usr/include/dbus-1.0/dbus/dbus-message.h \ - /usr/include/dbus-1.0/dbus/dbus-shared.h \ - /usr/include/dbus-1.0/dbus/dbus-misc.h \ - /usr/include/dbus-1.0/dbus/dbus-pending-call.h \ - /usr/include/dbus-1.0/dbus/dbus-server.h \ - /usr/include/dbus-1.0/dbus/dbus-signature.h \ - /usr/include/dbus-1.0/dbus/dbus-syntax.h \ - /usr/include/dbus-1.0/dbus/dbus-threads.h /usr/include/glib-2.0/glib.h \ - /usr/include/glib-2.0/glib/galloca.h /usr/include/glib-2.0/glib/gtypes.h \ - /usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h \ - /usr/include/glib-2.0/glib/gmacros.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h \ - /usr/include/limits.h /usr/include/arm-linux-gnueabihf/bits/posix1_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/local_lim.h \ - /usr/include/linux/limits.h \ - /usr/include/arm-linux-gnueabihf/bits/posix2_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/xopen_lim.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h \ - /usr/include/glib-2.0/glib/gversionmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/timex.h \ - /usr/include/glib-2.0/glib/garray.h \ - /usr/include/glib-2.0/glib/gasyncqueue.h \ - /usr/include/glib-2.0/glib/gthread.h \ - /usr/include/glib-2.0/glib/gatomic.h /usr/include/glib-2.0/glib/gerror.h \ - /usr/include/glib-2.0/glib/gquark.h \ - /usr/include/glib-2.0/glib/gbacktrace.h /usr/include/signal.h \ - /usr/include/arm-linux-gnueabihf/bits/signum.h \ - /usr/include/arm-linux-gnueabihf/bits/siginfo.h \ - /usr/include/arm-linux-gnueabihf/bits/sigaction.h \ - /usr/include/arm-linux-gnueabihf/bits/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/asm/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigstack.h \ - /usr/include/arm-linux-gnueabihf/sys/ucontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigthread.h \ - /usr/include/glib-2.0/glib/gbase64.h \ - /usr/include/glib-2.0/glib/gbitlock.h \ - /usr/include/glib-2.0/glib/gbookmarkfile.h \ - /usr/include/glib-2.0/glib/gbytes.h \ - /usr/include/glib-2.0/glib/gcharset.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/gconvert.h \ - /usr/include/glib-2.0/glib/gdataset.h /usr/include/glib-2.0/glib/gdate.h \ - /usr/include/glib-2.0/glib/gdatetime.h \ - /usr/include/glib-2.0/glib/gtimezone.h /usr/include/glib-2.0/glib/gdir.h \ - /usr/include/dirent.h /usr/include/arm-linux-gnueabihf/bits/dirent.h \ - /usr/include/glib-2.0/glib/genviron.h \ - /usr/include/glib-2.0/glib/gfileutils.h \ - /usr/include/glib-2.0/glib/ggettext.h /usr/include/glib-2.0/glib/ghash.h \ - /usr/include/glib-2.0/glib/glist.h /usr/include/glib-2.0/glib/gmem.h \ - /usr/include/glib-2.0/glib/gnode.h /usr/include/glib-2.0/glib/ghmac.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/ghook.h \ - /usr/include/glib-2.0/glib/ghostutils.h \ - /usr/include/glib-2.0/glib/giochannel.h \ - /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gpoll.h \ - /usr/include/glib-2.0/glib/gslist.h /usr/include/glib-2.0/glib/gstring.h \ - /usr/include/glib-2.0/glib/gunicode.h \ - /usr/include/glib-2.0/glib/gutils.h \ - /usr/include/glib-2.0/glib/gkeyfile.h \ - /usr/include/glib-2.0/glib/gmappedfile.h \ - /usr/include/glib-2.0/glib/gmarkup.h \ - /usr/include/glib-2.0/glib/gmessages.h \ - /usr/include/glib-2.0/glib/goption.h \ - /usr/include/glib-2.0/glib/gpattern.h \ - /usr/include/glib-2.0/glib/gprimes.h /usr/include/glib-2.0/glib/gqsort.h \ - /usr/include/glib-2.0/glib/gqueue.h /usr/include/glib-2.0/glib/grand.h \ - /usr/include/glib-2.0/glib/gregex.h \ - /usr/include/glib-2.0/glib/gscanner.h \ - /usr/include/glib-2.0/glib/gsequence.h \ - /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gslice.h \ - /usr/include/glib-2.0/glib/gspawn.h \ - /usr/include/glib-2.0/glib/gstrfuncs.h \ - /usr/include/glib-2.0/glib/gstringchunk.h \ - /usr/include/glib-2.0/glib/gtestutils.h \ - /usr/include/glib-2.0/glib/gthreadpool.h \ - /usr/include/glib-2.0/glib/gtimer.h \ - /usr/include/glib-2.0/glib/gtrashstack.h \ - /usr/include/glib-2.0/glib/gtree.h \ - /usr/include/glib-2.0/glib/gurifuncs.h \ - /usr/include/glib-2.0/glib/gvarianttype.h \ - /usr/include/glib-2.0/glib/gvariant.h \ - /usr/include/glib-2.0/glib/gversion.h \ - /usr/include/glib-2.0/glib/deprecated/gallocator.h \ - /usr/include/glib-2.0/glib/deprecated/gcache.h \ - /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ - /usr/include/glib-2.0/glib/deprecated/gmain.h \ - /usr/include/glib-2.0/glib/deprecated/grel.h \ - /usr/include/glib-2.0/glib/deprecated/gthread.h /usr/include/pthread.h \ - /usr/include/sched.h /usr/include/arm-linux-gnueabihf/bits/sched.h \ - /usr/include/arm-linux-gnueabihf/bits/setjmp.h src/device.h \ - src/profile.h attrib/att.h attrib/gattrib.h attrib/gatt.h src/attio.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdbool.h: - -/usr/include/errno.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/include/arm-linux-gnueabihf/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/arm-linux-gnueabihf/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -lib/bluetooth/bluetooth.h: - -/usr/include/stdio.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/sys_errlist.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/arm-linux-gnueabihf/bits/wchar.h: - -/usr/include/string.h: - -/usr/include/xlocale.h: - -/usr/include/arm-linux-gnueabihf/bits/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string2.h: - -/usr/include/stdlib.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/byteswap.h: - -/usr/include/netinet/in.h: - -/usr/include/arm-linux-gnueabihf/sys/socket.h: - -/usr/include/arm-linux-gnueabihf/sys/uio.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/time.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/arm-linux-gnueabihf/bits/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/socket.h: - -/usr/include/arm-linux-gnueabihf/bits/socket_type.h: - -/usr/include/arm-linux-gnueabihf/bits/sockaddr.h: - -/usr/include/arm-linux-gnueabihf/asm/socket.h: - -/usr/include/asm-generic/socket.h: - -/usr/include/arm-linux-gnueabihf/asm/sockios.h: - -/usr/include/asm-generic/sockios.h: - -/usr/include/arm-linux-gnueabihf/bits/in.h: - -lib/uuid.h: - -src/log.h: - -src/plugin.h: - -src/adapter.h: - -lib/bluetooth/sdp.h: - -lib/bluetooth/hci.h: - -lib/bluetooth/hci_lib.h: - -/usr/include/dbus-1.0/dbus/dbus.h: - -/usr/lib/arm-linux-gnueabihf/dbus-1.0/include/dbus/dbus-arch-deps.h: - -/usr/include/dbus-1.0/dbus/dbus-macros.h: - -/usr/include/dbus-1.0/dbus/dbus-address.h: - -/usr/include/dbus-1.0/dbus/dbus-types.h: - -/usr/include/dbus-1.0/dbus/dbus-errors.h: - -/usr/include/dbus-1.0/dbus/dbus-protocol.h: - -/usr/include/dbus-1.0/dbus/dbus-bus.h: - -/usr/include/dbus-1.0/dbus/dbus-connection.h: - -/usr/include/dbus-1.0/dbus/dbus-memory.h: - -/usr/include/dbus-1.0/dbus/dbus-message.h: - -/usr/include/dbus-1.0/dbus/dbus-shared.h: - -/usr/include/dbus-1.0/dbus/dbus-misc.h: - -/usr/include/dbus-1.0/dbus/dbus-pending-call.h: - -/usr/include/dbus-1.0/dbus/dbus-server.h: - -/usr/include/dbus-1.0/dbus/dbus-signature.h: - -/usr/include/dbus-1.0/dbus/dbus-syntax.h: - -/usr/include/dbus-1.0/dbus/dbus-threads.h: - -/usr/include/glib-2.0/glib.h: - -/usr/include/glib-2.0/glib/galloca.h: - -/usr/include/glib-2.0/glib/gtypes.h: - -/usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h: - -/usr/include/glib-2.0/glib/gmacros.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h: - -/usr/include/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/local_lim.h: - -/usr/include/linux/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix2_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/xopen_lim.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h: - -/usr/include/glib-2.0/glib/gversionmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/timex.h: - -/usr/include/glib-2.0/glib/garray.h: - -/usr/include/glib-2.0/glib/gasyncqueue.h: - -/usr/include/glib-2.0/glib/gthread.h: - -/usr/include/glib-2.0/glib/gatomic.h: - -/usr/include/glib-2.0/glib/gerror.h: - -/usr/include/glib-2.0/glib/gquark.h: - -/usr/include/glib-2.0/glib/gbacktrace.h: - -/usr/include/signal.h: - -/usr/include/arm-linux-gnueabihf/bits/signum.h: - -/usr/include/arm-linux-gnueabihf/bits/siginfo.h: - -/usr/include/arm-linux-gnueabihf/bits/sigaction.h: - -/usr/include/arm-linux-gnueabihf/bits/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/asm/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigstack.h: - -/usr/include/arm-linux-gnueabihf/sys/ucontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigthread.h: - -/usr/include/glib-2.0/glib/gbase64.h: - -/usr/include/glib-2.0/glib/gbitlock.h: - -/usr/include/glib-2.0/glib/gbookmarkfile.h: - -/usr/include/glib-2.0/glib/gbytes.h: - -/usr/include/glib-2.0/glib/gcharset.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/gconvert.h: - -/usr/include/glib-2.0/glib/gdataset.h: - -/usr/include/glib-2.0/glib/gdate.h: - -/usr/include/glib-2.0/glib/gdatetime.h: - -/usr/include/glib-2.0/glib/gtimezone.h: - -/usr/include/glib-2.0/glib/gdir.h: - -/usr/include/dirent.h: - -/usr/include/arm-linux-gnueabihf/bits/dirent.h: - -/usr/include/glib-2.0/glib/genviron.h: - -/usr/include/glib-2.0/glib/gfileutils.h: - -/usr/include/glib-2.0/glib/ggettext.h: - -/usr/include/glib-2.0/glib/ghash.h: - -/usr/include/glib-2.0/glib/glist.h: - -/usr/include/glib-2.0/glib/gmem.h: - -/usr/include/glib-2.0/glib/gnode.h: - -/usr/include/glib-2.0/glib/ghmac.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/ghook.h: - -/usr/include/glib-2.0/glib/ghostutils.h: - -/usr/include/glib-2.0/glib/giochannel.h: - -/usr/include/glib-2.0/glib/gmain.h: - -/usr/include/glib-2.0/glib/gpoll.h: - -/usr/include/glib-2.0/glib/gslist.h: - -/usr/include/glib-2.0/glib/gstring.h: - -/usr/include/glib-2.0/glib/gunicode.h: - -/usr/include/glib-2.0/glib/gutils.h: - -/usr/include/glib-2.0/glib/gkeyfile.h: - -/usr/include/glib-2.0/glib/gmappedfile.h: - -/usr/include/glib-2.0/glib/gmarkup.h: - -/usr/include/glib-2.0/glib/gmessages.h: - -/usr/include/glib-2.0/glib/goption.h: - -/usr/include/glib-2.0/glib/gpattern.h: - -/usr/include/glib-2.0/glib/gprimes.h: - -/usr/include/glib-2.0/glib/gqsort.h: - -/usr/include/glib-2.0/glib/gqueue.h: - -/usr/include/glib-2.0/glib/grand.h: - -/usr/include/glib-2.0/glib/gregex.h: - -/usr/include/glib-2.0/glib/gscanner.h: - -/usr/include/glib-2.0/glib/gsequence.h: - -/usr/include/glib-2.0/glib/gshell.h: - -/usr/include/glib-2.0/glib/gslice.h: - -/usr/include/glib-2.0/glib/gspawn.h: - -/usr/include/glib-2.0/glib/gstrfuncs.h: - -/usr/include/glib-2.0/glib/gstringchunk.h: - -/usr/include/glib-2.0/glib/gtestutils.h: - -/usr/include/glib-2.0/glib/gthreadpool.h: - -/usr/include/glib-2.0/glib/gtimer.h: - -/usr/include/glib-2.0/glib/gtrashstack.h: - -/usr/include/glib-2.0/glib/gtree.h: - -/usr/include/glib-2.0/glib/gurifuncs.h: - -/usr/include/glib-2.0/glib/gvarianttype.h: - -/usr/include/glib-2.0/glib/gvariant.h: - -/usr/include/glib-2.0/glib/gversion.h: - -/usr/include/glib-2.0/glib/deprecated/gallocator.h: - -/usr/include/glib-2.0/glib/deprecated/gcache.h: - -/usr/include/glib-2.0/glib/deprecated/gcompletion.h: - -/usr/include/glib-2.0/glib/deprecated/gmain.h: - -/usr/include/glib-2.0/glib/deprecated/grel.h: - -/usr/include/glib-2.0/glib/deprecated/gthread.h: - -/usr/include/pthread.h: - -/usr/include/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/setjmp.h: - -src/device.h: - -src/profile.h: - -attrib/att.h: - -attrib/gattrib.h: - -attrib/gatt.h: - -src/attio.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/profiles/scanparam/.dirstamp b/GRIB_BLE_HUB/libs/ble_extend/profiles/scanparam/.dirstamp deleted file mode 100644 index e69de29..0000000 diff --git a/GRIB_BLE_HUB/libs/ble_extend/profiles/scanparam/scan.c b/GRIB_BLE_HUB/libs/ble_extend/profiles/scanparam/scan.c deleted file mode 100644 index abbd129..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/profiles/scanparam/scan.c +++ /dev/null @@ -1,307 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2012 Nordic Semiconductor Inc. - * Copyright (C) 2012 Instituto Nokia de Tecnologia - INdT - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include - -#include - -#include "lib/uuid.h" -#include "log.h" -#include "plugin.h" -#include "adapter.h" -#include "device.h" -#include "profile.h" -#include "attrib/att.h" -#include "attrib/gattrib.h" -#include "attrib/gatt.h" -#include "attio.h" - -#define SCAN_PARAMETERS_UUID "00001813-0000-1000-8000-00805f9b34fb" - -#define SCAN_INTERVAL_WIN_UUID 0x2A4F -#define SCAN_REFRESH_UUID 0x2A31 - -#define SCAN_INTERVAL 0x0060 -#define SCAN_WINDOW 0x0030 -#define SERVER_REQUIRES_REFRESH 0x00 - -struct scan { - struct btd_device *device; - GAttrib *attrib; - struct att_range range; - guint attioid; - uint16_t interval; - uint16_t window; - uint16_t iwhandle; - uint16_t refresh_handle; - uint16_t refresh_cb_id; -}; - -static GSList *servers = NULL; - -static gint scan_device_cmp(gconstpointer a, gconstpointer b) -{ - const struct scan *scan = a; - const struct btd_device *device = b; - - return (device == scan->device ? 0 : -1); -} - -static void write_scan_params(GAttrib *attrib, uint16_t handle) -{ - uint8_t value[4]; - - att_put_u16(SCAN_INTERVAL, &value[0]); - att_put_u16(SCAN_WINDOW, &value[2]); - - gatt_write_char(attrib, handle, value, sizeof(value), NULL, NULL); -} - -static void refresh_value_cb(const uint8_t *pdu, uint16_t len, - gpointer user_data) -{ - struct scan *scan = user_data; - - DBG("Server requires refresh: %d", pdu[3]); - - if (pdu[3] == SERVER_REQUIRES_REFRESH) - write_scan_params(scan->attrib, scan->iwhandle); -} - -static void ccc_written_cb(guint8 status, const guint8 *pdu, - guint16 plen, gpointer user_data) -{ - struct scan *scan = user_data; - - if (status != 0) { - error("Write Scan Refresh CCC failed: %s", - att_ecode2str(status)); - return; - } - - DBG("Scan Refresh: notification enabled"); - - scan->refresh_cb_id = g_attrib_register(scan->attrib, - ATT_OP_HANDLE_NOTIFY, scan->refresh_handle, - refresh_value_cb, scan, NULL); -} - -static void discover_descriptor_cb(guint8 status, const guint8 *pdu, - guint16 len, gpointer user_data) -{ - struct scan *scan = user_data; - struct att_data_list *list; - uint8_t *ptr; - uint16_t uuid16, handle; - uint8_t value[2]; - uint8_t format; - - list = dec_find_info_resp(pdu, len, &format); - if (list == NULL) - return; - - if (format != ATT_FIND_INFO_RESP_FMT_16BIT) - goto done; - - ptr = list->data[0]; - handle = att_get_u16(ptr); - uuid16 = att_get_u16(&ptr[2]); - - if (uuid16 != GATT_CLIENT_CHARAC_CFG_UUID) - goto done; - - att_put_u16(GATT_CLIENT_CHARAC_CFG_NOTIF_BIT, value); - gatt_write_char(scan->attrib, handle, value, sizeof(value), - ccc_written_cb, user_data); -done: - att_data_list_free(list); -} - -static void refresh_discovered_cb(GSList *chars, guint8 status, - gpointer user_data) -{ - struct scan *scan = user_data; - struct gatt_char *chr; - uint16_t start, end; - - if (status) { - error("Scan Refresh %s", att_ecode2str(status)); - return; - } - - if (!chars) { - DBG("Scan Refresh not supported"); - return; - } - - chr = chars->data; - - DBG("Scan Refresh handle: 0x%04x", chr->value_handle); - - start = chr->value_handle + 1; - end = scan->range.end; - - if (start >= end) - return; - - scan->refresh_handle = chr->value_handle; - - gatt_find_info(scan->attrib, start, end, - discover_descriptor_cb, user_data); -} - -static void iwin_discovered_cb(GSList *chars, guint8 status, - gpointer user_data) -{ - struct scan *scan = user_data; - struct gatt_char *chr; - - if (status) { - error("Discover Scan Interval Window: %s", - att_ecode2str(status)); - return; - } - - chr = chars->data; - scan->iwhandle = chr->value_handle; - - DBG("Scan Interval Window handle: 0x%04x", scan->iwhandle); - - write_scan_params(scan->attrib, scan->iwhandle); -} - -static void attio_connected_cb(GAttrib *attrib, gpointer user_data) -{ - struct scan *scan = user_data; - bt_uuid_t iwin_uuid, refresh_uuid; - - scan->attrib = g_attrib_ref(attrib); - - if (scan->iwhandle) { - write_scan_params(scan->attrib, scan->iwhandle); - return; - } - - bt_uuid16_create(&iwin_uuid, SCAN_INTERVAL_WIN_UUID); - bt_uuid16_create(&refresh_uuid, SCAN_REFRESH_UUID); - - gatt_discover_char(scan->attrib, scan->range.start, scan->range.end, - &iwin_uuid, iwin_discovered_cb, scan); - - gatt_discover_char(scan->attrib, scan->range.start, scan->range.end, - &refresh_uuid, refresh_discovered_cb, scan); -} - -static void attio_disconnected_cb(gpointer user_data) -{ - struct scan *scan = user_data; - - g_attrib_unref(scan->attrib); - scan->attrib = NULL; -} - -static int scan_register(struct btd_device *device, struct gatt_primary *prim) -{ - struct scan *scan; - - scan = g_new0(struct scan, 1); - scan->device = btd_device_ref(device); - scan->range = prim->range; - scan->attioid = btd_device_add_attio_callback(device, - attio_connected_cb, - attio_disconnected_cb, - scan); - - servers = g_slist_prepend(servers, scan); - - return 0; -} - -static void scan_unregister(struct btd_device *device) -{ - struct scan *scan; - GSList *l; - - l = g_slist_find_custom(servers, device, scan_device_cmp); - if (l == NULL) - return; - - scan = l->data; - servers = g_slist_remove(servers, scan); - - if (scan->refresh_cb_id) { - g_attrib_unregister(scan->attrib, scan->refresh_cb_id); - scan->refresh_cb_id = 0; - } - - btd_device_remove_attio_callback(scan->device, scan->attioid); - btd_device_unref(scan->device); - g_attrib_unref(scan->attrib); - g_free(scan); -} - -static int scan_param_probe(struct btd_profile *p, struct btd_device *device, - GSList *uuids) -{ - struct gatt_primary *prim; - - DBG("Probing Scan Parameters"); - - prim = btd_device_get_primary(device, SCAN_PARAMETERS_UUID); - if (!prim) - return -EINVAL; - - return scan_register(device, prim); -} - -static void scan_param_remove(struct btd_profile *p, struct btd_device *device) -{ - scan_unregister(device); -} - -static struct btd_profile scan_profile = { - .name = "Scan Parameters Client Driver", - .remote_uuid = SCAN_PARAMETERS_UUID, - .device_probe = scan_param_probe, - .device_remove = scan_param_remove, -}; - -static int scan_param_init(void) -{ - return btd_profile_register(&scan_profile); -} - -static void scan_param_exit(void) -{ - btd_profile_unregister(&scan_profile); -} - -BLUETOOTH_PLUGIN_DEFINE(scanparam, VERSION, - BLUETOOTH_PLUGIN_PRIORITY_DEFAULT, - scan_param_init, scan_param_exit) diff --git a/GRIB_BLE_HUB/libs/ble_extend/profiles/thermometer/.deps/bluetoothd-thermometer.Po b/GRIB_BLE_HUB/libs/ble_extend/profiles/thermometer/.deps/bluetoothd-thermometer.Po deleted file mode 100644 index 9ce06a8..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/profiles/thermometer/.deps/bluetoothd-thermometer.Po +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/GRIB_BLE_HUB/libs/ble_extend/profiles/thermometer/thermometer.c b/GRIB_BLE_HUB/libs/ble_extend/profiles/thermometer/thermometer.c deleted file mode 100644 index 8550500..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/profiles/thermometer/thermometer.c +++ /dev/null @@ -1,1334 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2011 GSyC/LibreSoft, Universidad Rey Juan Carlos. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include - -#include - -#include "lib/uuid.h" -#include "plugin.h" -#include "dbus-common.h" -#include "adapter.h" -#include "device.h" -#include "profile.h" -#include "error.h" -#include "log.h" -#include "attrib/gattrib.h" -#include "attio.h" -#include "attrib/att.h" -#include "attrib/gatt.h" - -#define THERMOMETER_INTERFACE "org.bluez.Thermometer1" -#define THERMOMETER_MANAGER_INTERFACE "org.bluez.ThermometerManager1" -#define THERMOMETER_WATCHER_INTERFACE "org.bluez.ThermometerWatcher1" - -/* Temperature measurement flag fields */ -#define TEMP_UNITS 0x01 -#define TEMP_TIME_STAMP 0x02 -#define TEMP_TYPE 0x04 - -#define FLOAT_MAX_MANTISSA 16777216 /* 2^24 */ - -#define VALID_RANGE_DESC_SIZE 4 -#define TEMPERATURE_TYPE_SIZE 1 -#define MEASUREMENT_INTERVAL_SIZE 2 - -struct thermometer_adapter { - struct btd_adapter *adapter; - GSList *devices; - GSList *fwatchers; /* Final measurements */ - GSList *iwatchers; /* Intermediate measurements */ -}; - -struct thermometer { - struct btd_device *dev; /* Device reference */ - struct thermometer_adapter *tadapter; - GAttrib *attrib; /* GATT connection */ - struct att_range *svc_range; /* Thermometer range */ - guint attioid; /* Att watcher id */ - /* attio id for Temperature Measurement value indications */ - guint attio_measurement_id; - /* attio id for Intermediate Temperature value notifications */ - guint attio_intermediate_id; - /* attio id for Measurement Interval value indications */ - guint attio_interval_id; - gboolean intermediate; - uint8_t type; - uint16_t interval; - uint16_t max; - uint16_t min; - gboolean has_type; - gboolean has_interval; - - uint16_t measurement_ccc_handle; - uint16_t intermediate_ccc_handle; - uint16_t interval_val_handle; -}; - -struct characteristic { - struct thermometer *t; /* Thermometer where the char belongs */ - char uuid[MAX_LEN_UUID_STR + 1]; -}; - -struct watcher { - struct thermometer_adapter *tadapter; - guint id; - char *srv; - char *path; -}; - -struct measurement { - struct thermometer *t; - int16_t exp; - int32_t mant; - uint64_t time; - gboolean suptime; - char *unit; - char *type; - char *value; -}; - -struct tmp_interval_data { - struct thermometer *thermometer; - uint16_t interval; -}; - -static GSList *thermometer_adapters = NULL; - -static const char * const temp_type[] = { - "", - "armpit", - "body", - "ear", - "finger", - "intestines", - "mouth", - "rectum", - "toe", - "tympanum" -}; - -static const char *temptype2str(uint8_t value) -{ - if (value > 0 && value < G_N_ELEMENTS(temp_type)) - return temp_type[value]; - - error("Temperature type %d reserved for future use", value); - return NULL; -} - -static void destroy_watcher(gpointer user_data) -{ - struct watcher *watcher = user_data; - - g_free(watcher->path); - g_free(watcher->srv); - g_free(watcher); -} - -static void remove_watcher(gpointer user_data) -{ - struct watcher *watcher = user_data; - - g_dbus_remove_watch(btd_get_dbus_connection(), watcher->id); -} - -static void destroy_thermometer(gpointer user_data) -{ - struct thermometer *t = user_data; - - if (t->attioid > 0) - btd_device_remove_attio_callback(t->dev, t->attioid); - - if (t->attrib != NULL) { - g_attrib_unregister(t->attrib, t->attio_measurement_id); - g_attrib_unregister(t->attrib, t->attio_intermediate_id); - g_attrib_unregister(t->attrib, t->attio_interval_id); - g_attrib_unref(t->attrib); - } - - btd_device_unref(t->dev); - g_free(t->svc_range); - g_free(t); -} - -static void destroy_thermometer_adapter(gpointer user_data) -{ - struct thermometer_adapter *tadapter = user_data; - - if (tadapter->devices != NULL) - g_slist_free_full(tadapter->devices, destroy_thermometer); - - if (tadapter->fwatchers != NULL) - g_slist_free_full(tadapter->fwatchers, remove_watcher); - - g_free(tadapter); -} - -static gint cmp_adapter(gconstpointer a, gconstpointer b) -{ - const struct thermometer_adapter *tadapter = a; - const struct btd_adapter *adapter = b; - - if (adapter == tadapter->adapter) - return 0; - - return -1; -} - -static gint cmp_device(gconstpointer a, gconstpointer b) -{ - const struct thermometer *t = a; - const struct btd_device *dev = b; - - if (dev == t->dev) - return 0; - - return -1; -} - -static gint cmp_watcher(gconstpointer a, gconstpointer b) -{ - const struct watcher *watcher = a; - const struct watcher *match = b; - int ret; - - ret = g_strcmp0(watcher->srv, match->srv); - if (ret != 0) - return ret; - - return g_strcmp0(watcher->path, match->path); -} - -static struct thermometer_adapter * -find_thermometer_adapter(struct btd_adapter *adapter) -{ - GSList *l = g_slist_find_custom(thermometer_adapters, adapter, - cmp_adapter); - if (!l) - return NULL; - - return l->data; -} - -static void change_property(struct thermometer *t, const char *name, - gpointer value) { - if (g_strcmp0(name, "Intermediate") == 0) { - gboolean *intermediate = value; - if (t->intermediate == *intermediate) - return; - - t->intermediate = *intermediate; - } else if (g_strcmp0(name, "Interval") == 0) { - uint16_t *interval = value; - if (t->has_interval && t->interval == *interval) - return; - - t->has_interval = TRUE; - t->interval = *interval; - } else if (g_strcmp0(name, "Maximum") == 0) { - uint16_t *max = value; - if (t->max == *max) - return; - - t->max = *max; - } else if (g_strcmp0(name, "Minimum") == 0) { - uint16_t *min = value; - if (t->min == *min) - return; - - t->min = *min; - } else { - DBG("%s is not a thermometer property", name); - return; - } - - g_dbus_emit_property_changed(btd_get_dbus_connection(), - device_get_path(t->dev), - THERMOMETER_INTERFACE, name); -} - -static void update_watcher(gpointer data, gpointer user_data) -{ - struct watcher *w = data; - struct measurement *m = user_data; - const char *path = device_get_path(m->t->dev); - DBusMessageIter iter; - DBusMessageIter dict; - DBusMessage *msg; - - msg = dbus_message_new_method_call(w->srv, w->path, - THERMOMETER_WATCHER_INTERFACE, - "MeasurementReceived"); - if (msg == NULL) - return; - - dbus_message_iter_init_append(msg, &iter); - - dbus_message_iter_append_basic(&iter, DBUS_TYPE_OBJECT_PATH , &path); - - dbus_message_iter_open_container(&iter, DBUS_TYPE_ARRAY, - DBUS_DICT_ENTRY_BEGIN_CHAR_AS_STRING - DBUS_TYPE_STRING_AS_STRING DBUS_TYPE_VARIANT_AS_STRING - DBUS_DICT_ENTRY_END_CHAR_AS_STRING, &dict); - - dict_append_entry(&dict, "Exponent", DBUS_TYPE_INT16, &m->exp); - dict_append_entry(&dict, "Mantissa", DBUS_TYPE_INT32, &m->mant); - dict_append_entry(&dict, "Unit", DBUS_TYPE_STRING, &m->unit); - - if (m->suptime) - dict_append_entry(&dict, "Time", DBUS_TYPE_UINT64, &m->time); - - dict_append_entry(&dict, "Type", DBUS_TYPE_STRING, &m->type); - dict_append_entry(&dict, "Measurement", DBUS_TYPE_STRING, &m->value); - - dbus_message_iter_close_container(&iter, &dict); - - dbus_message_set_no_reply(msg, TRUE); - g_dbus_send_message(btd_get_dbus_connection(), msg); -} - -static void recv_measurement(struct thermometer *t, struct measurement *m) -{ - GSList *wlist; - - m->t = t; - - if (g_strcmp0(m->value, "intermediate") == 0) - wlist = t->tadapter->iwatchers; - else - wlist = t->tadapter->fwatchers; - - g_slist_foreach(wlist, update_watcher, m); -} - -static void proc_measurement(struct thermometer *t, const uint8_t *pdu, - uint16_t len, gboolean final) -{ - struct measurement m; - const char *type = NULL; - uint8_t flags; - uint32_t raw; - - /* skip opcode and handle */ - pdu += 3; - len -= 3; - - if (len < 1) { - DBG("Mandatory flags are not provided"); - return; - } - - memset(&m, 0, sizeof(m)); - - flags = *pdu; - - if (flags & TEMP_UNITS) - m.unit = "fahrenheit"; - else - m.unit = "celsius"; - - pdu++; - len--; - - if (len < 4) { - DBG("Mandatory temperature measurement value is not provided"); - return; - } - - raw = att_get_u32(pdu); - m.mant = raw & 0x00FFFFFF; - m.exp = ((int32_t) raw) >> 24; - - if (m.mant & 0x00800000) { - /* convert to C2 negative value */ - m.mant = m.mant - FLOAT_MAX_MANTISSA; - } - - pdu += 4; - len -= 4; - - if (flags & TEMP_TIME_STAMP) { - struct tm ts; - time_t time; - - if (len < 7) { - DBG("Time stamp is not provided"); - return; - } - - ts.tm_year = att_get_u16(pdu) - 1900; - ts.tm_mon = *(pdu + 2) - 1; - ts.tm_mday = *(pdu + 3); - ts.tm_hour = *(pdu + 4); - ts.tm_min = *(pdu + 5); - ts.tm_sec = *(pdu + 6); - ts.tm_isdst = -1; - - time = mktime(&ts); - m.time = (uint64_t) time; - m.suptime = TRUE; - - pdu += 7; - len -= 7; - } - - if (flags & TEMP_TYPE) { - if (len < 1) { - DBG("Temperature type is not provided"); - return; - } - - type = temptype2str(*pdu); - } else if (t->has_type) { - type = temptype2str(t->type); - } - - m.type = g_strdup(type); - m.value = final ? "final" : "intermediate"; - - recv_measurement(t, &m); - g_free(m.type); -} - - -static void measurement_ind_handler(const uint8_t *pdu, uint16_t len, - gpointer user_data) -{ - struct thermometer *t = user_data; - uint8_t *opdu; - uint16_t olen; - size_t plen; - - if (len < 3) { - DBG("Bad pdu received"); - return; - } - - proc_measurement(t, pdu, len, TRUE); - - opdu = g_attrib_get_buffer(t->attrib, &plen); - olen = enc_confirmation(opdu, plen); - - if (olen > 0) - g_attrib_send(t->attrib, 0, opdu, olen, NULL, NULL, NULL); -} - -static void intermediate_notify_handler(const uint8_t *pdu, uint16_t len, - gpointer user_data) -{ - struct thermometer *t = user_data; - - if (len < 3) { - DBG("Bad pdu received"); - return; - } - - proc_measurement(t, pdu, len, FALSE); -} - -static void interval_ind_handler(const uint8_t *pdu, uint16_t len, - gpointer user_data) -{ - struct thermometer *t = user_data; - uint16_t interval; - uint8_t *opdu; - uint16_t olen; - size_t plen; - - if (len < 5) { - DBG("Bad pdu received"); - return; - } - - interval = att_get_u16(pdu + 3); - change_property(t, "Interval", &interval); - - opdu = g_attrib_get_buffer(t->attrib, &plen); - olen = enc_confirmation(opdu, plen); - - if (olen > 0) - g_attrib_send(t->attrib, 0, opdu, olen, NULL, NULL, NULL); -} - -static void valid_range_desc_cb(guint8 status, const guint8 *pdu, guint16 len, - gpointer user_data) -{ - struct thermometer *t = user_data; - uint8_t value[VALID_RANGE_DESC_SIZE]; - uint16_t max, min; - ssize_t vlen; - - if (status != 0) { - DBG("Valid Range descriptor read failed: %s", - att_ecode2str(status)); - return; - } - - vlen = dec_read_resp(pdu, len, value, sizeof(value)); - if (vlen < 0) { - DBG("Protocol error\n"); - return; - } - - if (vlen < 4) { - DBG("Invalid range received"); - return; - } - - min = att_get_u16(&value[0]); - max = att_get_u16(&value[2]); - - if (min == 0 || min > max) { - DBG("Invalid range"); - return; - } - - change_property(t, "Maximum", &max); - change_property(t, "Minimum", &min); -} - -static void write_ccc_cb(guint8 status, const guint8 *pdu, - guint16 len, gpointer user_data) -{ - char *msg = user_data; - - if (status != 0) - error("%s failed", msg); - - g_free(msg); -} - -static void process_thermometer_desc(struct characteristic *ch, uint16_t uuid, - uint16_t handle) -{ - uint8_t atval[2]; - uint16_t val; - char *msg; - - if (uuid == GATT_CHARAC_VALID_RANGE_UUID) { - if (g_strcmp0(ch->uuid, MEASUREMENT_INTERVAL_UUID) == 0) - gatt_read_char(ch->t->attrib, handle, - valid_range_desc_cb, ch->t); - return; - } - - if (uuid != GATT_CLIENT_CHARAC_CFG_UUID) - return; - - if (g_strcmp0(ch->uuid, TEMPERATURE_MEASUREMENT_UUID) == 0) { - ch->t->measurement_ccc_handle = handle; - - if (g_slist_length(ch->t->tadapter->fwatchers) == 0) { - val = 0x0000; - msg = g_strdup("Disable Temperature Measurement ind"); - } else { - val = GATT_CLIENT_CHARAC_CFG_IND_BIT; - msg = g_strdup("Enable Temperature Measurement ind"); - } - } else if (g_strcmp0(ch->uuid, INTERMEDIATE_TEMPERATURE_UUID) == 0) { - ch->t->intermediate_ccc_handle = handle; - - if (g_slist_length(ch->t->tadapter->iwatchers) == 0) { - val = 0x0000; - msg = g_strdup("Disable Intermediate Temperature noti"); - } else { - val = GATT_CLIENT_CHARAC_CFG_NOTIF_BIT; - msg = g_strdup("Enable Intermediate Temperature noti"); - } - } else if (g_strcmp0(ch->uuid, MEASUREMENT_INTERVAL_UUID) == 0) { - val = GATT_CLIENT_CHARAC_CFG_IND_BIT; - msg = g_strdup("Enable Measurement Interval indication"); - } else { - return; - } - - att_put_u16(val, atval); - gatt_write_char(ch->t->attrib, handle, atval, sizeof(atval), - write_ccc_cb, msg); -} - -static void discover_desc_cb(guint8 status, const guint8 *pdu, guint16 len, - gpointer user_data) -{ - struct characteristic *ch = user_data; - struct att_data_list *list = NULL; - uint8_t format; - int i; - - if (status != 0) { - error("Discover all characteristic descriptors failed [%s]: %s", - ch->uuid, att_ecode2str(status)); - goto done; - } - - list = dec_find_info_resp(pdu, len, &format); - if (list == NULL) - goto done; - - if (format != ATT_FIND_INFO_RESP_FMT_16BIT) - goto done; - - for (i = 0; i < list->num; i++) { - uint8_t *value; - uint16_t handle, uuid; - - value = list->data[i]; - handle = att_get_u16(value); - uuid = att_get_u16(value + 2); - - process_thermometer_desc(ch, uuid, handle); - } - -done: - if (list != NULL) - att_data_list_free(list); - g_free(ch); -} - -static void discover_desc(struct thermometer *t, struct gatt_char *c, - struct gatt_char *c_next) -{ - struct characteristic *ch; - uint16_t start, end; - - start = c->value_handle + 1; - - if (c_next != NULL) { - if (start == c_next->handle) - return; - end = c_next->handle - 1; - } else if (c->value_handle != t->svc_range->end) { - end = t->svc_range->end; - } else { - return; - } - - ch = g_new0(struct characteristic, 1); - ch->t = t; - memcpy(ch->uuid, c->uuid, sizeof(c->uuid)); - - gatt_find_info(t->attrib, start, end, discover_desc_cb, ch); -} - -static void read_temp_type_cb(guint8 status, const guint8 *pdu, guint16 len, - gpointer user_data) -{ - struct thermometer *t = user_data; - uint8_t value[TEMPERATURE_TYPE_SIZE]; - ssize_t vlen; - - if (status != 0) { - DBG("Temperature Type value read failed: %s", - att_ecode2str(status)); - return; - } - - vlen = dec_read_resp(pdu, len, value, sizeof(value)); - if (vlen < 0) { - DBG("Protocol error."); - return; - } - - if (vlen != 1) { - DBG("Invalid length for Temperature type"); - return; - } - - t->has_type = TRUE; - t->type = value[0]; -} - -static void read_interval_cb(guint8 status, const guint8 *pdu, guint16 len, - gpointer user_data) -{ - struct thermometer *t = user_data; - uint8_t value[MEASUREMENT_INTERVAL_SIZE]; - uint16_t interval; - ssize_t vlen; - - if (status != 0) { - DBG("Measurement Interval value read failed: %s", - att_ecode2str(status)); - return; - } - - vlen = dec_read_resp(pdu, len, value, sizeof(value)); - if (vlen < 0) { - DBG("Protocol error\n"); - return; - } - - if (vlen < 2) { - DBG("Invalid Interval received"); - return; - } - - interval = att_get_u16(&value[0]); - change_property(t, "Interval", &interval); -} - -static void process_thermometer_char(struct thermometer *t, - struct gatt_char *c, struct gatt_char *c_next) -{ - if (g_strcmp0(c->uuid, INTERMEDIATE_TEMPERATURE_UUID) == 0) { - gboolean intermediate = TRUE; - change_property(t, "Intermediate", &intermediate); - - t->attio_intermediate_id = g_attrib_register(t->attrib, - ATT_OP_HANDLE_NOTIFY, c->value_handle, - intermediate_notify_handler, t, NULL); - - discover_desc(t, c, c_next); - } else if (g_strcmp0(c->uuid, TEMPERATURE_MEASUREMENT_UUID) == 0) { - - t->attio_measurement_id = g_attrib_register(t->attrib, - ATT_OP_HANDLE_IND, c->value_handle, - measurement_ind_handler, t, NULL); - - discover_desc(t, c, c_next); - } else if (g_strcmp0(c->uuid, TEMPERATURE_TYPE_UUID) == 0) { - gatt_read_char(t->attrib, c->value_handle, - read_temp_type_cb, t); - } else if (g_strcmp0(c->uuid, MEASUREMENT_INTERVAL_UUID) == 0) { - bool need_desc = false; - - gatt_read_char(t->attrib, c->value_handle, read_interval_cb, t); - - if (c->properties & ATT_CHAR_PROPER_WRITE) { - t->interval_val_handle = c->value_handle; - need_desc = true; - } - - if (c->properties & ATT_CHAR_PROPER_INDICATE) { - t->attio_interval_id = g_attrib_register(t->attrib, - ATT_OP_HANDLE_IND, c->value_handle, - interval_ind_handler, t, NULL); - need_desc = true; - } - - if (need_desc) - discover_desc(t, c, c_next); - } -} - -static void configure_thermometer_cb(GSList *characteristics, guint8 status, - gpointer user_data) -{ - struct thermometer *t = user_data; - GSList *l; - - if (status != 0) { - error("Discover thermometer characteristics: %s", - att_ecode2str(status)); - return; - } - - for (l = characteristics; l; l = l->next) { - struct gatt_char *c = l->data; - struct gatt_char *c_next = (l->next ? l->next->data : NULL); - - process_thermometer_char(t, c, c_next); - } -} - -static void write_interval_cb(guint8 status, const guint8 *pdu, guint16 len, - gpointer user_data) -{ - struct tmp_interval_data *data = user_data; - - if (status != 0) { - error("Interval Write Request failed %s", - att_ecode2str(status)); - goto done; - } - - if (!dec_write_resp(pdu, len)) { - error("Interval Write Request: protocol error"); - goto done; - } - - change_property(data->thermometer, "Interval", &data->interval); - -done: - g_free(user_data); -} - -static void enable_final_measurement(gpointer data, gpointer user_data) -{ - struct thermometer *t = data; - uint16_t handle = t->measurement_ccc_handle; - uint8_t value[2]; - char *msg; - - if (t->attrib == NULL || !handle) - return; - - att_put_u16(GATT_CLIENT_CHARAC_CFG_IND_BIT, value); - msg = g_strdup("Enable Temperature Measurement indications"); - - gatt_write_char(t->attrib, handle, value, sizeof(value), - write_ccc_cb, msg); -} - -static void enable_intermediate_measurement(gpointer data, gpointer user_data) -{ - struct thermometer *t = data; - uint16_t handle = t->intermediate_ccc_handle; - uint8_t value[2]; - char *msg; - - if (t->attrib == NULL || !handle) - return; - - att_put_u16(GATT_CLIENT_CHARAC_CFG_NOTIF_BIT, value); - msg = g_strdup("Enable Intermediate Temperature notifications"); - - gatt_write_char(t->attrib, handle, value, sizeof(value), - write_ccc_cb, msg); -} - -static void disable_final_measurement(gpointer data, gpointer user_data) -{ - struct thermometer *t = data; - uint16_t handle = t->measurement_ccc_handle; - uint8_t value[2]; - char *msg; - - if (t->attrib == NULL || !handle) - return; - - att_put_u16(0x0000, value); - msg = g_strdup("Disable Temperature Measurement indications"); - - gatt_write_char(t->attrib, handle, value, sizeof(value), - write_ccc_cb, msg); -} - -static void disable_intermediate_measurement(gpointer data, gpointer user_data) -{ - struct thermometer *t = data; - uint16_t handle = t->intermediate_ccc_handle; - uint8_t value[2]; - char *msg; - - if (t->attrib == NULL || !handle) - return; - - att_put_u16(0x0000, value); - msg = g_strdup("Disable Intermediate Temperature notifications"); - - gatt_write_char(t->attrib, handle, value, sizeof(value), - write_ccc_cb, msg); -} - -static void remove_int_watcher(struct thermometer_adapter *tadapter, - struct watcher *w) -{ - if (!g_slist_find(tadapter->iwatchers, w)) - return; - - tadapter->iwatchers = g_slist_remove(tadapter->iwatchers, w); - - if (g_slist_length(tadapter->iwatchers) == 0) - g_slist_foreach(tadapter->devices, - disable_intermediate_measurement, 0); -} - -static void watcher_exit(DBusConnection *conn, void *user_data) -{ - struct watcher *watcher = user_data; - struct thermometer_adapter *tadapter = watcher->tadapter; - - DBG("Thermometer watcher %s disconnected", watcher->path); - - remove_int_watcher(tadapter, watcher); - - tadapter->fwatchers = g_slist_remove(tadapter->fwatchers, watcher); - g_dbus_remove_watch(btd_get_dbus_connection(), watcher->id); - - if (g_slist_length(tadapter->fwatchers) == 0) - g_slist_foreach(tadapter->devices, - disable_final_measurement, 0); -} - -static struct watcher *find_watcher(GSList *list, const char *sender, - const char *path) -{ - struct watcher *match; - GSList *l; - - match = g_new0(struct watcher, 1); - match->srv = g_strdup(sender); - match->path = g_strdup(path); - - l = g_slist_find_custom(list, match, cmp_watcher); - destroy_watcher(match); - - if (l != NULL) - return l->data; - - return NULL; -} - -static DBusMessage *register_watcher(DBusConnection *conn, DBusMessage *msg, - void *data) -{ - const char *sender = dbus_message_get_sender(msg); - struct thermometer_adapter *tadapter = data; - struct watcher *watcher; - char *path; - - if (!dbus_message_get_args(msg, NULL, DBUS_TYPE_OBJECT_PATH, &path, - DBUS_TYPE_INVALID)) - return btd_error_invalid_args(msg); - - watcher = find_watcher(tadapter->fwatchers, sender, path); - if (watcher != NULL) - return btd_error_already_exists(msg); - - DBG("Thermometer watcher %s registered", path); - - watcher = g_new0(struct watcher, 1); - watcher->srv = g_strdup(sender); - watcher->path = g_strdup(path); - watcher->tadapter = tadapter; - watcher->id = g_dbus_add_disconnect_watch(conn, sender, watcher_exit, - watcher, destroy_watcher); - - if (g_slist_length(tadapter->fwatchers) == 0) - g_slist_foreach(tadapter->devices, enable_final_measurement, 0); - - tadapter->fwatchers = g_slist_prepend(tadapter->fwatchers, watcher); - - return dbus_message_new_method_return(msg); -} - -static DBusMessage *unregister_watcher(DBusConnection *conn, DBusMessage *msg, - void *data) -{ - const char *sender = dbus_message_get_sender(msg); - struct thermometer_adapter *tadapter = data; - struct watcher *watcher; - char *path; - - if (!dbus_message_get_args(msg, NULL, DBUS_TYPE_OBJECT_PATH, &path, - DBUS_TYPE_INVALID)) - return btd_error_invalid_args(msg); - - watcher = find_watcher(tadapter->fwatchers, sender, path); - if (watcher == NULL) - return btd_error_does_not_exist(msg); - - DBG("Thermometer watcher %s unregistered", path); - - remove_int_watcher(tadapter, watcher); - - tadapter->fwatchers = g_slist_remove(tadapter->fwatchers, watcher); - g_dbus_remove_watch(btd_get_dbus_connection(), watcher->id); - - if (g_slist_length(tadapter->fwatchers) == 0) - g_slist_foreach(tadapter->devices, - disable_final_measurement, 0); - - return dbus_message_new_method_return(msg); -} - -static DBusMessage *enable_intermediate(DBusConnection *conn, DBusMessage *msg, - void *data) -{ - const char *sender = dbus_message_get_sender(msg); - struct thermometer_adapter *ta = data; - struct watcher *watcher; - char *path; - - if (!dbus_message_get_args(msg, NULL, DBUS_TYPE_OBJECT_PATH, &path, - DBUS_TYPE_INVALID)) - return btd_error_invalid_args(msg); - - watcher = find_watcher(ta->fwatchers, sender, path); - if (watcher == NULL) - return btd_error_does_not_exist(msg); - - if (find_watcher(ta->iwatchers, sender, path)) - return btd_error_already_exists(msg); - - DBG("Intermediate measurement watcher %s registered", path); - - if (g_slist_length(ta->iwatchers) == 0) - g_slist_foreach(ta->devices, - enable_intermediate_measurement, 0); - - ta->iwatchers = g_slist_prepend(ta->iwatchers, watcher); - - return dbus_message_new_method_return(msg); -} - -static DBusMessage *disable_intermediate(DBusConnection *conn, DBusMessage *msg, - void *data) -{ - const char *sender = dbus_message_get_sender(msg); - struct thermometer_adapter *ta = data; - struct watcher *watcher; - char *path; - - if (!dbus_message_get_args(msg, NULL, DBUS_TYPE_OBJECT_PATH, &path, - DBUS_TYPE_INVALID)) - return btd_error_invalid_args(msg); - - watcher = find_watcher(ta->iwatchers, sender, path); - if (watcher == NULL) - return btd_error_does_not_exist(msg); - - DBG("Intermediate measurement %s unregistered", path); - - remove_int_watcher(ta, watcher); - - return dbus_message_new_method_return(msg); -} - -static gboolean property_get_intermediate(const GDBusPropertyTable *property, - DBusMessageIter *iter, void *data) -{ - struct thermometer *t = data; - dbus_bool_t val; - - val = !!t->intermediate; - - dbus_message_iter_append_basic(iter, DBUS_TYPE_BOOLEAN, &val); - - return TRUE; -} - -static gboolean property_get_interval(const GDBusPropertyTable *property, - DBusMessageIter *iter, void *data) -{ - struct thermometer *t = data; - - if (!t->has_interval) - return FALSE; - - dbus_message_iter_append_basic(iter, DBUS_TYPE_UINT16, &t->interval); - - return TRUE; -} - -static void property_set_interval(const GDBusPropertyTable *property, - DBusMessageIter *iter, - GDBusPendingPropertySet id, void *data) -{ - struct thermometer *t = data; - struct tmp_interval_data *interval_data; - uint16_t val; - uint8_t atval[2]; - - if (t->interval_val_handle == 0) { - g_dbus_pending_property_error(id, - ERROR_INTERFACE ".NotSupported", - "Operation is not supported"); - return; - } - - if (dbus_message_iter_get_arg_type(iter) != DBUS_TYPE_UINT16) { - g_dbus_pending_property_error(id, - ERROR_INTERFACE ".InvalidArguments", - "Invalid arguments in method call"); - return; - } - - dbus_message_iter_get_basic(iter, &val); - - if (val < t->min || val > t->max) { - g_dbus_pending_property_error(id, - ERROR_INTERFACE ".InvalidArguments", - "Invalid arguments in method call"); - return; - } - - att_put_u16(val, &atval[0]); - - interval_data = g_new0(struct tmp_interval_data, 1); - interval_data->thermometer = t; - interval_data->interval = val; - gatt_write_char(t->attrib, t->interval_val_handle, atval, sizeof(atval), - write_interval_cb, interval_data); - - g_dbus_pending_property_success(id); -} - -static gboolean property_exists_interval(const GDBusPropertyTable *property, - void *data) -{ - struct thermometer *t = data; - - return t->has_interval; -} - -static gboolean property_get_maximum(const GDBusPropertyTable *property, - DBusMessageIter *iter, void *data) -{ - struct thermometer *t = data; - - if (!t->has_interval) - return FALSE; - - dbus_message_iter_append_basic(iter, DBUS_TYPE_UINT16, &t->max); - - return TRUE; -} - -static gboolean property_get_minimum(const GDBusPropertyTable *property, - DBusMessageIter *iter, void *data) -{ - struct thermometer *t = data; - - if (!t->has_interval) - return FALSE; - - dbus_message_iter_append_basic(iter, DBUS_TYPE_UINT16, &t->min); - - return TRUE; -} - -static const GDBusPropertyTable thermometer_properties[] = { - { "Intermediate", "b", property_get_intermediate }, - { "Interval", "q", property_get_interval, property_set_interval, - property_exists_interval }, - { "Maximum", "q", property_get_maximum, NULL, - property_exists_interval }, - { "Minimum", "q", property_get_minimum, NULL, - property_exists_interval }, - { } -}; - -static void attio_connected_cb(GAttrib *attrib, gpointer user_data) -{ - struct thermometer *t = user_data; - - t->attrib = g_attrib_ref(attrib); - - gatt_discover_char(t->attrib, t->svc_range->start, t->svc_range->end, - NULL, configure_thermometer_cb, t); -} - -static void attio_disconnected_cb(gpointer user_data) -{ - struct thermometer *t = user_data; - - DBG("GATT Disconnected"); - - if (t->attio_measurement_id > 0) { - g_attrib_unregister(t->attrib, t->attio_measurement_id); - t->attio_measurement_id = 0; - } - - if (t->attio_intermediate_id > 0) { - g_attrib_unregister(t->attrib, t->attio_intermediate_id); - t->attio_intermediate_id = 0; - } - - if (t->attio_interval_id > 0) { - g_attrib_unregister(t->attrib, t->attio_interval_id); - t->attio_interval_id = 0; - } - - g_attrib_unref(t->attrib); - t->attrib = NULL; -} - -static int thermometer_register(struct btd_device *device, - struct gatt_primary *tattr) -{ - const char *path = device_get_path(device); - struct thermometer *t; - struct btd_adapter *adapter; - struct thermometer_adapter *tadapter; - - adapter = device_get_adapter(device); - - tadapter = find_thermometer_adapter(adapter); - - if (tadapter == NULL) - return -1; - - t = g_new0(struct thermometer, 1); - t->dev = btd_device_ref(device); - t->tadapter = tadapter; - t->svc_range = g_new0(struct att_range, 1); - t->svc_range->start = tattr->range.start; - t->svc_range->end = tattr->range.end; - - tadapter->devices = g_slist_prepend(tadapter->devices, t); - - if (!g_dbus_register_interface(btd_get_dbus_connection(), - path, THERMOMETER_INTERFACE, - NULL, NULL, thermometer_properties, - t, destroy_thermometer)) { - error("D-Bus failed to register %s interface", - THERMOMETER_INTERFACE); - destroy_thermometer(t); - return -EIO; - } - - t->attioid = btd_device_add_attio_callback(device, attio_connected_cb, - attio_disconnected_cb, t); - return 0; -} - -static void thermometer_unregister(struct btd_device *device) -{ - struct thermometer *t; - struct btd_adapter *adapter; - struct thermometer_adapter *tadapter; - GSList *l; - - adapter = device_get_adapter(device); - - tadapter = find_thermometer_adapter(adapter); - - if (tadapter == NULL) - return; - - l = g_slist_find_custom(tadapter->devices, device, cmp_device); - if (l == NULL) - return; - - t = l->data; - - tadapter->devices = g_slist_remove(tadapter->devices, t); - - g_dbus_unregister_interface(btd_get_dbus_connection(), - device_get_path(t->dev), THERMOMETER_INTERFACE); -} - -static const GDBusMethodTable thermometer_manager_methods[] = { - { GDBUS_METHOD("RegisterWatcher", - GDBUS_ARGS({ "agent", "o" }), NULL, - register_watcher) }, - { GDBUS_METHOD("UnregisterWatcher", - GDBUS_ARGS({ "agent", "o" }), NULL, - unregister_watcher) }, - { GDBUS_METHOD("EnableIntermediateMeasurement", - GDBUS_ARGS({ "agent", "o" }), NULL, - enable_intermediate) }, - { GDBUS_METHOD("DisableIntermediateMeasurement", - GDBUS_ARGS({ "agent", "o" }), NULL, - disable_intermediate) }, - { } -}; - -static int thermometer_adapter_register(struct btd_adapter *adapter) -{ - struct thermometer_adapter *tadapter; - - tadapter = g_new0(struct thermometer_adapter, 1); - tadapter->adapter = adapter; - - if (!g_dbus_register_interface(btd_get_dbus_connection(), - adapter_get_path(adapter), - THERMOMETER_MANAGER_INTERFACE, - thermometer_manager_methods, - NULL, NULL, tadapter, - destroy_thermometer_adapter)) { - error("D-Bus failed to register %s interface", - THERMOMETER_MANAGER_INTERFACE); - destroy_thermometer_adapter(tadapter); - return -EIO; - } - - thermometer_adapters = g_slist_prepend(thermometer_adapters, tadapter); - - return 0; -} - -static void thermometer_adapter_unregister(struct btd_adapter *adapter) -{ - struct thermometer_adapter *tadapter; - - tadapter = find_thermometer_adapter(adapter); - if (tadapter == NULL) - return; - - thermometer_adapters = g_slist_remove(thermometer_adapters, tadapter); - - g_dbus_unregister_interface(btd_get_dbus_connection(), - adapter_get_path(tadapter->adapter), - THERMOMETER_MANAGER_INTERFACE); -} - -static int thermometer_device_probe(struct btd_profile *p, - struct btd_device *device, - GSList *uuids) -{ - struct gatt_primary *tattr; - - tattr = btd_device_get_primary(device, HEALTH_THERMOMETER_UUID); - if (tattr == NULL) - return -EINVAL; - - return thermometer_register(device, tattr); -} - -static void thermometer_device_remove(struct btd_profile *p, - struct btd_device *device) -{ - thermometer_unregister(device); -} - -static int thermometer_adapter_probe(struct btd_profile *p, - struct btd_adapter *adapter) -{ - return thermometer_adapter_register(adapter); -} - -static void thermometer_adapter_remove(struct btd_profile *p, - struct btd_adapter *adapter) -{ - thermometer_adapter_unregister(adapter); -} - -static struct btd_profile thermometer_profile = { - .name = "Health Thermometer GATT driver", - .remote_uuid = HEALTH_THERMOMETER_UUID, - .device_probe = thermometer_device_probe, - .device_remove = thermometer_device_remove, - .adapter_probe = thermometer_adapter_probe, - .adapter_remove = thermometer_adapter_remove -}; - -static int thermometer_init(void) -{ - return btd_profile_register(&thermometer_profile); -} - -static void thermometer_exit(void) -{ - btd_profile_unregister(&thermometer_profile); -} - -BLUETOOTH_PLUGIN_DEFINE(thermometer, VERSION, BLUETOOTH_PLUGIN_PRIORITY_DEFAULT, - thermometer_init, thermometer_exit) diff --git a/GRIB_BLE_HUB/libs/ble_extend/profiles/time/.deps/bluetoothd-server.Po b/GRIB_BLE_HUB/libs/ble_extend/profiles/time/.deps/bluetoothd-server.Po deleted file mode 100644 index 9ce06a8..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/profiles/time/.deps/bluetoothd-server.Po +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/GRIB_BLE_HUB/libs/ble_extend/profiles/time/server.c b/GRIB_BLE_HUB/libs/ble_extend/profiles/time/server.c deleted file mode 100644 index 518a29f..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/profiles/time/server.c +++ /dev/null @@ -1,278 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2011 Nokia Corporation - * Copyright (C) 2011 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include -#include -#include - -#include -#include -#include -#include - -#include "lib/uuid.h" -#include "attrib/gattrib.h" -#include "attrib/att.h" -#include "attrib/gatt.h" -#include "attrib/att-database.h" -#include "attrib-server.h" -#include "attrib/gatt-service.h" -#include "log.h" - -#define CURRENT_TIME_SVC_UUID 0x1805 -#define REF_TIME_UPDATE_SVC_UUID 0x1806 - -#define LOCAL_TIME_INFO_CHR_UUID 0x2A0F -#define TIME_UPDATE_CTRL_CHR_UUID 0x2A16 -#define TIME_UPDATE_STAT_CHR_UUID 0x2A17 -#define CT_TIME_CHR_UUID 0x2A2B - -enum { - UPDATE_RESULT_SUCCESSFUL = 0, - UPDATE_RESULT_CANCELED = 1, - UPDATE_RESULT_NO_CONN = 2, - UPDATE_RESULT_ERROR = 3, - UPDATE_RESULT_TIMEOUT = 4, - UPDATE_RESULT_NOT_ATTEMPTED = 5, -}; - -enum { - UPDATE_STATE_IDLE = 0, - UPDATE_STATE_PENDING = 1, -}; - -enum { - GET_REFERENCE_UPDATE = 1, - CANCEL_REFERENCE_UPDATE = 2, -}; - -static int encode_current_time(uint8_t value[10]) -{ - struct timespec tp; - struct tm tm; - - if (clock_gettime(CLOCK_REALTIME, &tp) == -1) { - int err = -errno; - - error("clock_gettime: %s", strerror(-err)); - return err; - } - - if (localtime_r(&tp.tv_sec, &tm) == NULL) { - error("localtime_r() failed"); - /* localtime_r() does not set errno */ - return -EINVAL; - } - - att_put_u16(1900 + tm.tm_year, &value[0]); /* Year */ - value[2] = tm.tm_mon + 1; /* Month */ - value[3] = tm.tm_mday; /* Day */ - value[4] = tm.tm_hour; /* Hours */ - value[5] = tm.tm_min; /* Minutes */ - value[6] = tm.tm_sec; /* Seconds */ - value[7] = tm.tm_wday == 0 ? 7 : tm.tm_wday; /* Day of Week */ - /* From Time Profile spec: "The number of 1/256 fractions of a second." - * In 1s there are 256 fractions, in 1ns there are 256/10^9 fractions. - * To avoid integer overflow, we use the equivalent 1/3906250 ratio. */ - value[8] = tp.tv_nsec / 3906250; /* Fractions256 */ - value[9] = 0x00; /* Adjust Reason */ - - return 0; -} - -static uint8_t current_time_read(struct attribute *a, - struct btd_device *device, gpointer user_data) -{ - struct btd_adapter *adapter = user_data; - uint8_t value[10]; - - if (encode_current_time(value) < 0) - return ATT_ECODE_IO; - - attrib_db_update(adapter, a->handle, NULL, value, sizeof(value), NULL); - - return 0; -} - -static uint8_t local_time_info_read(struct attribute *a, - struct btd_device *device, gpointer user_data) -{ - struct btd_adapter *adapter = user_data; - uint8_t value[2]; - - DBG("a=%p", a); - - tzset(); - - /* Convert POSIX "timezone" (seconds West of GMT) to Time Profile - * format (offset from UTC in number of 15 minutes increments). */ - value[0] = (uint8_t) (-1 * timezone / (60 * 15)); - - /* FIXME: POSIX "daylight" variable only indicates whether there - * is DST for the local time or not. The offset is unknown. */ - value[1] = daylight ? 0xff : 0x00; - - attrib_db_update(adapter, a->handle, NULL, value, sizeof(value), NULL); - - return 0; -} - -static gboolean register_current_time_service(struct btd_adapter *adapter) -{ - bt_uuid_t uuid; - - bt_uuid16_create(&uuid, CURRENT_TIME_SVC_UUID); - - /* Current Time service */ - return gatt_service_add(adapter, GATT_PRIM_SVC_UUID, &uuid, - /* CT Time characteristic */ - GATT_OPT_CHR_UUID, CT_TIME_CHR_UUID, - GATT_OPT_CHR_PROPS, ATT_CHAR_PROPER_READ | - ATT_CHAR_PROPER_NOTIFY, - GATT_OPT_CHR_VALUE_CB, ATTRIB_READ, - current_time_read, adapter, - - /* Local Time Information characteristic */ - GATT_OPT_CHR_UUID, LOCAL_TIME_INFO_CHR_UUID, - GATT_OPT_CHR_PROPS, ATT_CHAR_PROPER_READ, - GATT_OPT_CHR_VALUE_CB, ATTRIB_READ, - local_time_info_read, adapter, - - GATT_OPT_INVALID); -} - -static uint8_t time_update_control(struct attribute *a, - struct btd_device *device, - gpointer user_data) -{ - DBG("handle 0x%04x", a->handle); - - if (a->len != 1) - DBG("Invalid control point value size: %zu", a->len); - - switch (a->data[0]) { - case GET_REFERENCE_UPDATE: - DBG("Get Reference Update"); - break; - case CANCEL_REFERENCE_UPDATE: - DBG("Cancel Reference Update"); - break; - default: - DBG("Unknown command: 0x%02x", a->data[0]); - } - - return 0; -} - -static uint8_t time_update_status(struct attribute *a, - struct btd_device *device, - gpointer user_data) -{ - struct btd_adapter *adapter = user_data; - uint8_t value[2]; - - DBG("handle 0x%04x", a->handle); - - value[0] = UPDATE_STATE_IDLE; - value[1] = UPDATE_RESULT_SUCCESSFUL; - attrib_db_update(adapter, a->handle, NULL, value, sizeof(value), NULL); - - return 0; -} - -static gboolean register_ref_time_update_service(struct btd_adapter *adapter) -{ - bt_uuid_t uuid; - - bt_uuid16_create(&uuid, REF_TIME_UPDATE_SVC_UUID); - - /* Reference Time Update service */ - return gatt_service_add(adapter, GATT_PRIM_SVC_UUID, &uuid, - /* Time Update control point */ - GATT_OPT_CHR_UUID, TIME_UPDATE_CTRL_CHR_UUID, - GATT_OPT_CHR_PROPS, - ATT_CHAR_PROPER_WRITE_WITHOUT_RESP, - GATT_OPT_CHR_VALUE_CB, ATTRIB_WRITE, - time_update_control, adapter, - - /* Time Update status */ - GATT_OPT_CHR_UUID, TIME_UPDATE_STAT_CHR_UUID, - GATT_OPT_CHR_PROPS, ATT_CHAR_PROPER_READ, - GATT_OPT_CHR_VALUE_CB, ATTRIB_READ, - time_update_status, adapter, - - GATT_OPT_INVALID); -} - -static int time_server_init(struct btd_profile *p, struct btd_adapter *adapter) -{ - const char *path = adapter_get_path(adapter); - - DBG("path %s", path); - - if (!register_current_time_service(adapter)) { - error("Current Time Service could not be registered"); - return -EIO; - } - - if (!register_ref_time_update_service(adapter)) { - error("Reference Time Update Service could not be registered"); - return -EIO; - } - - return 0; -} - -static void time_server_exit(struct btd_profile *p, - struct btd_adapter *adapter) -{ - const char *path = adapter_get_path(adapter); - - DBG("path %s", path); -} - -struct btd_profile time_profile = { - .name = "gatt-time-server", - .adapter_probe = time_server_init, - .adapter_remove = time_server_exit, -}; - -static int time_init(void) -{ - return btd_profile_register(&time_profile); -} - -static void time_exit(void) -{ - btd_profile_unregister(&time_profile); -} - -BLUETOOTH_PLUGIN_DEFINE(time, VERSION, - BLUETOOTH_PLUGIN_PRIORITY_DEFAULT, - time_init, time_exit) diff --git a/GRIB_BLE_HUB/libs/ble_extend/src/.deps/.dirstamp b/GRIB_BLE_HUB/libs/ble_extend/src/.deps/.dirstamp deleted file mode 100644 index e69de29..0000000 diff --git a/GRIB_BLE_HUB/libs/ble_extend/src/.deps/bluetoothd-adapter.Po b/GRIB_BLE_HUB/libs/ble_extend/src/.deps/bluetoothd-adapter.Po deleted file mode 100644 index f4c02b8..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/src/.deps/bluetoothd-adapter.Po +++ /dev/null @@ -1,627 +0,0 @@ -src/bluetoothd-adapter.o: src/adapter.c /usr/include/stdc-predef.h \ - config.h /usr/include/stdio.h /usr/include/features.h \ - /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/sys_errlist.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio.h /usr/include/errno.h \ - /usr/include/arm-linux-gnueabihf/bits/errno.h /usr/include/linux/errno.h \ - /usr/include/arm-linux-gnueabihf/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/include/unistd.h /usr/include/arm-linux-gnueabihf/bits/posix_opt.h \ - /usr/include/arm-linux-gnueabihf/bits/environments.h \ - /usr/include/arm-linux-gnueabihf/bits/confname.h /usr/include/getopt.h \ - /usr/include/stdlib.h /usr/include/arm-linux-gnueabihf/bits/waitflags.h \ - /usr/include/arm-linux-gnueabihf/bits/waitstatus.h /usr/include/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/xlocale.h /usr/include/arm-linux-gnueabihf/sys/types.h \ - /usr/include/time.h /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/alloca.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-float.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdbool.h \ - /usr/include/arm-linux-gnueabihf/sys/ioctl.h \ - /usr/include/arm-linux-gnueabihf/bits/ioctls.h \ - /usr/include/arm-linux-gnueabihf/asm/ioctls.h \ - /usr/include/asm-generic/ioctls.h /usr/include/linux/ioctl.h \ - /usr/include/arm-linux-gnueabihf/asm/ioctl.h \ - /usr/include/asm-generic/ioctl.h \ - /usr/include/arm-linux-gnueabihf/bits/ioctl-types.h \ - /usr/include/arm-linux-gnueabihf/sys/ttydefaults.h \ - /usr/include/arm-linux-gnueabihf/sys/file.h /usr/include/fcntl.h \ - /usr/include/arm-linux-gnueabihf/bits/fcntl.h \ - /usr/include/arm-linux-gnueabihf/bits/fcntl-linux.h \ - /usr/include/arm-linux-gnueabihf/bits/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/stat.h \ - /usr/include/arm-linux-gnueabihf/sys/stat.h /usr/include/dirent.h \ - /usr/include/arm-linux-gnueabihf/bits/dirent.h \ - /usr/include/arm-linux-gnueabihf/bits/posix1_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/local_lim.h \ - /usr/include/linux/limits.h lib/bluetooth/bluetooth.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h \ - /usr/include/stdint.h /usr/include/arm-linux-gnueabihf/bits/wchar.h \ - /usr/include/string.h /usr/include/arm-linux-gnueabihf/bits/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string2.h /usr/include/byteswap.h \ - /usr/include/netinet/in.h /usr/include/arm-linux-gnueabihf/sys/socket.h \ - /usr/include/arm-linux-gnueabihf/sys/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/socket.h \ - /usr/include/arm-linux-gnueabihf/bits/socket_type.h \ - /usr/include/arm-linux-gnueabihf/bits/sockaddr.h \ - /usr/include/arm-linux-gnueabihf/asm/socket.h \ - /usr/include/asm-generic/socket.h \ - /usr/include/arm-linux-gnueabihf/asm/sockios.h \ - /usr/include/asm-generic/sockios.h \ - /usr/include/arm-linux-gnueabihf/bits/in.h lib/bluetooth/hci.h \ - lib/bluetooth/sdp.h lib/bluetooth/sdp_lib.h /usr/include/glib-2.0/glib.h \ - /usr/include/glib-2.0/glib/galloca.h /usr/include/glib-2.0/glib/gtypes.h \ - /usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h \ - /usr/include/glib-2.0/glib/gmacros.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h \ - /usr/include/limits.h /usr/include/arm-linux-gnueabihf/bits/posix2_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/xopen_lim.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h \ - /usr/include/glib-2.0/glib/gversionmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/timex.h \ - /usr/include/glib-2.0/glib/garray.h \ - /usr/include/glib-2.0/glib/gasyncqueue.h \ - /usr/include/glib-2.0/glib/gthread.h \ - /usr/include/glib-2.0/glib/gatomic.h /usr/include/glib-2.0/glib/gerror.h \ - /usr/include/glib-2.0/glib/gquark.h \ - /usr/include/glib-2.0/glib/gbacktrace.h /usr/include/signal.h \ - /usr/include/arm-linux-gnueabihf/bits/signum.h \ - /usr/include/arm-linux-gnueabihf/bits/siginfo.h \ - /usr/include/arm-linux-gnueabihf/bits/sigaction.h \ - /usr/include/arm-linux-gnueabihf/bits/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/asm/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigstack.h \ - /usr/include/arm-linux-gnueabihf/sys/ucontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigthread.h \ - /usr/include/glib-2.0/glib/gbase64.h \ - /usr/include/glib-2.0/glib/gbitlock.h \ - /usr/include/glib-2.0/glib/gbookmarkfile.h \ - /usr/include/glib-2.0/glib/gbytes.h \ - /usr/include/glib-2.0/glib/gcharset.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/gconvert.h \ - /usr/include/glib-2.0/glib/gdataset.h /usr/include/glib-2.0/glib/gdate.h \ - /usr/include/glib-2.0/glib/gdatetime.h \ - /usr/include/glib-2.0/glib/gtimezone.h /usr/include/glib-2.0/glib/gdir.h \ - /usr/include/glib-2.0/glib/genviron.h \ - /usr/include/glib-2.0/glib/gfileutils.h \ - /usr/include/glib-2.0/glib/ggettext.h /usr/include/glib-2.0/glib/ghash.h \ - /usr/include/glib-2.0/glib/glist.h /usr/include/glib-2.0/glib/gmem.h \ - /usr/include/glib-2.0/glib/gnode.h /usr/include/glib-2.0/glib/ghmac.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/ghook.h \ - /usr/include/glib-2.0/glib/ghostutils.h \ - /usr/include/glib-2.0/glib/giochannel.h \ - /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gpoll.h \ - /usr/include/glib-2.0/glib/gslist.h /usr/include/glib-2.0/glib/gstring.h \ - /usr/include/glib-2.0/glib/gunicode.h \ - /usr/include/glib-2.0/glib/gutils.h \ - /usr/include/glib-2.0/glib/gkeyfile.h \ - /usr/include/glib-2.0/glib/gmappedfile.h \ - /usr/include/glib-2.0/glib/gmarkup.h \ - /usr/include/glib-2.0/glib/gmessages.h \ - /usr/include/glib-2.0/glib/goption.h \ - /usr/include/glib-2.0/glib/gpattern.h \ - /usr/include/glib-2.0/glib/gprimes.h /usr/include/glib-2.0/glib/gqsort.h \ - /usr/include/glib-2.0/glib/gqueue.h /usr/include/glib-2.0/glib/grand.h \ - /usr/include/glib-2.0/glib/gregex.h \ - /usr/include/glib-2.0/glib/gscanner.h \ - /usr/include/glib-2.0/glib/gsequence.h \ - /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gslice.h \ - /usr/include/glib-2.0/glib/gspawn.h \ - /usr/include/glib-2.0/glib/gstrfuncs.h \ - /usr/include/glib-2.0/glib/gstringchunk.h \ - /usr/include/glib-2.0/glib/gtestutils.h \ - /usr/include/glib-2.0/glib/gthreadpool.h \ - /usr/include/glib-2.0/glib/gtimer.h \ - /usr/include/glib-2.0/glib/gtrashstack.h \ - /usr/include/glib-2.0/glib/gtree.h \ - /usr/include/glib-2.0/glib/gurifuncs.h \ - /usr/include/glib-2.0/glib/gvarianttype.h \ - /usr/include/glib-2.0/glib/gvariant.h \ - /usr/include/glib-2.0/glib/gversion.h \ - /usr/include/glib-2.0/glib/deprecated/gallocator.h \ - /usr/include/glib-2.0/glib/deprecated/gcache.h \ - /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ - /usr/include/glib-2.0/glib/deprecated/gmain.h \ - /usr/include/glib-2.0/glib/deprecated/grel.h \ - /usr/include/glib-2.0/glib/deprecated/gthread.h /usr/include/pthread.h \ - /usr/include/sched.h /usr/include/arm-linux-gnueabihf/bits/sched.h \ - /usr/include/arm-linux-gnueabihf/bits/setjmp.h \ - /usr/include/dbus-1.0/dbus/dbus.h \ - /usr/lib/arm-linux-gnueabihf/dbus-1.0/include/dbus/dbus-arch-deps.h \ - /usr/include/dbus-1.0/dbus/dbus-macros.h \ - /usr/include/dbus-1.0/dbus/dbus-address.h \ - /usr/include/dbus-1.0/dbus/dbus-types.h \ - /usr/include/dbus-1.0/dbus/dbus-errors.h \ - /usr/include/dbus-1.0/dbus/dbus-protocol.h \ - /usr/include/dbus-1.0/dbus/dbus-bus.h \ - /usr/include/dbus-1.0/dbus/dbus-connection.h \ - /usr/include/dbus-1.0/dbus/dbus-memory.h \ - /usr/include/dbus-1.0/dbus/dbus-message.h \ - /usr/include/dbus-1.0/dbus/dbus-shared.h \ - /usr/include/dbus-1.0/dbus/dbus-misc.h \ - /usr/include/dbus-1.0/dbus/dbus-pending-call.h \ - /usr/include/dbus-1.0/dbus/dbus-server.h \ - /usr/include/dbus-1.0/dbus/dbus-signature.h \ - /usr/include/dbus-1.0/dbus/dbus-syntax.h \ - /usr/include/dbus-1.0/dbus/dbus-threads.h gdbus/gdbus.h src/log.h \ - src/textfile.h lib/uuid.h lib/mgmt.h src/shared/mgmt.h src/hcid.h \ - src/sdpd.h src/adapter.h lib/bluetooth/hci_lib.h src/device.h \ - src/profile.h src/dbus-common.h src/error.h src/glib-helper.h \ - src/agent.h src/storage.h attrib/gattrib.h attrib/att.h attrib/gatt.h \ - src/attrib-server.h src/eir.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/include/stdio.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/sys_errlist.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio.h: - -/usr/include/errno.h: - -/usr/include/arm-linux-gnueabihf/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/arm-linux-gnueabihf/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/include/unistd.h: - -/usr/include/arm-linux-gnueabihf/bits/posix_opt.h: - -/usr/include/arm-linux-gnueabihf/bits/environments.h: - -/usr/include/arm-linux-gnueabihf/bits/confname.h: - -/usr/include/getopt.h: - -/usr/include/stdlib.h: - -/usr/include/arm-linux-gnueabihf/bits/waitflags.h: - -/usr/include/arm-linux-gnueabihf/bits/waitstatus.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/xlocale.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/time.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/alloca.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-float.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdbool.h: - -/usr/include/arm-linux-gnueabihf/sys/ioctl.h: - -/usr/include/arm-linux-gnueabihf/bits/ioctls.h: - -/usr/include/arm-linux-gnueabihf/asm/ioctls.h: - -/usr/include/asm-generic/ioctls.h: - -/usr/include/linux/ioctl.h: - -/usr/include/arm-linux-gnueabihf/asm/ioctl.h: - -/usr/include/asm-generic/ioctl.h: - -/usr/include/arm-linux-gnueabihf/bits/ioctl-types.h: - -/usr/include/arm-linux-gnueabihf/sys/ttydefaults.h: - -/usr/include/arm-linux-gnueabihf/sys/file.h: - -/usr/include/fcntl.h: - -/usr/include/arm-linux-gnueabihf/bits/fcntl.h: - -/usr/include/arm-linux-gnueabihf/bits/fcntl-linux.h: - -/usr/include/arm-linux-gnueabihf/bits/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/stat.h: - -/usr/include/arm-linux-gnueabihf/sys/stat.h: - -/usr/include/dirent.h: - -/usr/include/arm-linux-gnueabihf/bits/dirent.h: - -/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/local_lim.h: - -/usr/include/linux/limits.h: - -lib/bluetooth/bluetooth.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/arm-linux-gnueabihf/bits/wchar.h: - -/usr/include/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string2.h: - -/usr/include/byteswap.h: - -/usr/include/netinet/in.h: - -/usr/include/arm-linux-gnueabihf/sys/socket.h: - -/usr/include/arm-linux-gnueabihf/sys/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/socket.h: - -/usr/include/arm-linux-gnueabihf/bits/socket_type.h: - -/usr/include/arm-linux-gnueabihf/bits/sockaddr.h: - -/usr/include/arm-linux-gnueabihf/asm/socket.h: - -/usr/include/asm-generic/socket.h: - -/usr/include/arm-linux-gnueabihf/asm/sockios.h: - -/usr/include/asm-generic/sockios.h: - -/usr/include/arm-linux-gnueabihf/bits/in.h: - -lib/bluetooth/hci.h: - -lib/bluetooth/sdp.h: - -lib/bluetooth/sdp_lib.h: - -/usr/include/glib-2.0/glib.h: - -/usr/include/glib-2.0/glib/galloca.h: - -/usr/include/glib-2.0/glib/gtypes.h: - -/usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h: - -/usr/include/glib-2.0/glib/gmacros.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h: - -/usr/include/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix2_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/xopen_lim.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h: - -/usr/include/glib-2.0/glib/gversionmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/timex.h: - -/usr/include/glib-2.0/glib/garray.h: - -/usr/include/glib-2.0/glib/gasyncqueue.h: - -/usr/include/glib-2.0/glib/gthread.h: - -/usr/include/glib-2.0/glib/gatomic.h: - -/usr/include/glib-2.0/glib/gerror.h: - -/usr/include/glib-2.0/glib/gquark.h: - -/usr/include/glib-2.0/glib/gbacktrace.h: - -/usr/include/signal.h: - -/usr/include/arm-linux-gnueabihf/bits/signum.h: - -/usr/include/arm-linux-gnueabihf/bits/siginfo.h: - -/usr/include/arm-linux-gnueabihf/bits/sigaction.h: - -/usr/include/arm-linux-gnueabihf/bits/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/asm/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigstack.h: - -/usr/include/arm-linux-gnueabihf/sys/ucontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigthread.h: - -/usr/include/glib-2.0/glib/gbase64.h: - -/usr/include/glib-2.0/glib/gbitlock.h: - -/usr/include/glib-2.0/glib/gbookmarkfile.h: - -/usr/include/glib-2.0/glib/gbytes.h: - -/usr/include/glib-2.0/glib/gcharset.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/gconvert.h: - -/usr/include/glib-2.0/glib/gdataset.h: - -/usr/include/glib-2.0/glib/gdate.h: - -/usr/include/glib-2.0/glib/gdatetime.h: - -/usr/include/glib-2.0/glib/gtimezone.h: - -/usr/include/glib-2.0/glib/gdir.h: - -/usr/include/glib-2.0/glib/genviron.h: - -/usr/include/glib-2.0/glib/gfileutils.h: - -/usr/include/glib-2.0/glib/ggettext.h: - -/usr/include/glib-2.0/glib/ghash.h: - -/usr/include/glib-2.0/glib/glist.h: - -/usr/include/glib-2.0/glib/gmem.h: - -/usr/include/glib-2.0/glib/gnode.h: - -/usr/include/glib-2.0/glib/ghmac.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/ghook.h: - -/usr/include/glib-2.0/glib/ghostutils.h: - -/usr/include/glib-2.0/glib/giochannel.h: - -/usr/include/glib-2.0/glib/gmain.h: - -/usr/include/glib-2.0/glib/gpoll.h: - -/usr/include/glib-2.0/glib/gslist.h: - -/usr/include/glib-2.0/glib/gstring.h: - -/usr/include/glib-2.0/glib/gunicode.h: - -/usr/include/glib-2.0/glib/gutils.h: - -/usr/include/glib-2.0/glib/gkeyfile.h: - -/usr/include/glib-2.0/glib/gmappedfile.h: - -/usr/include/glib-2.0/glib/gmarkup.h: - -/usr/include/glib-2.0/glib/gmessages.h: - -/usr/include/glib-2.0/glib/goption.h: - -/usr/include/glib-2.0/glib/gpattern.h: - -/usr/include/glib-2.0/glib/gprimes.h: - -/usr/include/glib-2.0/glib/gqsort.h: - -/usr/include/glib-2.0/glib/gqueue.h: - -/usr/include/glib-2.0/glib/grand.h: - -/usr/include/glib-2.0/glib/gregex.h: - -/usr/include/glib-2.0/glib/gscanner.h: - -/usr/include/glib-2.0/glib/gsequence.h: - -/usr/include/glib-2.0/glib/gshell.h: - -/usr/include/glib-2.0/glib/gslice.h: - -/usr/include/glib-2.0/glib/gspawn.h: - -/usr/include/glib-2.0/glib/gstrfuncs.h: - -/usr/include/glib-2.0/glib/gstringchunk.h: - -/usr/include/glib-2.0/glib/gtestutils.h: - -/usr/include/glib-2.0/glib/gthreadpool.h: - -/usr/include/glib-2.0/glib/gtimer.h: - -/usr/include/glib-2.0/glib/gtrashstack.h: - -/usr/include/glib-2.0/glib/gtree.h: - -/usr/include/glib-2.0/glib/gurifuncs.h: - -/usr/include/glib-2.0/glib/gvarianttype.h: - -/usr/include/glib-2.0/glib/gvariant.h: - -/usr/include/glib-2.0/glib/gversion.h: - -/usr/include/glib-2.0/glib/deprecated/gallocator.h: - -/usr/include/glib-2.0/glib/deprecated/gcache.h: - -/usr/include/glib-2.0/glib/deprecated/gcompletion.h: - -/usr/include/glib-2.0/glib/deprecated/gmain.h: - -/usr/include/glib-2.0/glib/deprecated/grel.h: - -/usr/include/glib-2.0/glib/deprecated/gthread.h: - -/usr/include/pthread.h: - -/usr/include/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/setjmp.h: - -/usr/include/dbus-1.0/dbus/dbus.h: - -/usr/lib/arm-linux-gnueabihf/dbus-1.0/include/dbus/dbus-arch-deps.h: - -/usr/include/dbus-1.0/dbus/dbus-macros.h: - -/usr/include/dbus-1.0/dbus/dbus-address.h: - -/usr/include/dbus-1.0/dbus/dbus-types.h: - -/usr/include/dbus-1.0/dbus/dbus-errors.h: - -/usr/include/dbus-1.0/dbus/dbus-protocol.h: - -/usr/include/dbus-1.0/dbus/dbus-bus.h: - -/usr/include/dbus-1.0/dbus/dbus-connection.h: - -/usr/include/dbus-1.0/dbus/dbus-memory.h: - -/usr/include/dbus-1.0/dbus/dbus-message.h: - -/usr/include/dbus-1.0/dbus/dbus-shared.h: - -/usr/include/dbus-1.0/dbus/dbus-misc.h: - -/usr/include/dbus-1.0/dbus/dbus-pending-call.h: - -/usr/include/dbus-1.0/dbus/dbus-server.h: - -/usr/include/dbus-1.0/dbus/dbus-signature.h: - -/usr/include/dbus-1.0/dbus/dbus-syntax.h: - -/usr/include/dbus-1.0/dbus/dbus-threads.h: - -gdbus/gdbus.h: - -src/log.h: - -src/textfile.h: - -lib/uuid.h: - -lib/mgmt.h: - -src/shared/mgmt.h: - -src/hcid.h: - -src/sdpd.h: - -src/adapter.h: - -lib/bluetooth/hci_lib.h: - -src/device.h: - -src/profile.h: - -src/dbus-common.h: - -src/error.h: - -src/glib-helper.h: - -src/agent.h: - -src/storage.h: - -attrib/gattrib.h: - -attrib/att.h: - -attrib/gatt.h: - -src/attrib-server.h: - -src/eir.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/src/.deps/bluetoothd-agent.Po b/GRIB_BLE_HUB/libs/ble_extend/src/.deps/bluetoothd-agent.Po deleted file mode 100644 index 34f8f78..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/src/.deps/bluetoothd-agent.Po +++ /dev/null @@ -1,565 +0,0 @@ -src/bluetoothd-agent.o: src/agent.c /usr/include/stdc-predef.h config.h \ - /usr/include/stdio.h /usr/include/features.h \ - /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/sys_errlist.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio.h /usr/include/errno.h \ - /usr/include/arm-linux-gnueabihf/bits/errno.h /usr/include/linux/errno.h \ - /usr/include/arm-linux-gnueabihf/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/include/stdlib.h /usr/include/arm-linux-gnueabihf/bits/waitflags.h \ - /usr/include/arm-linux-gnueabihf/bits/waitstatus.h /usr/include/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/xlocale.h /usr/include/arm-linux-gnueabihf/sys/types.h \ - /usr/include/time.h /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/alloca.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-float.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdbool.h \ - /usr/include/arm-linux-gnueabihf/sys/socket.h \ - /usr/include/arm-linux-gnueabihf/sys/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/socket.h \ - /usr/include/arm-linux-gnueabihf/bits/socket_type.h \ - /usr/include/arm-linux-gnueabihf/bits/sockaddr.h \ - /usr/include/arm-linux-gnueabihf/asm/socket.h \ - /usr/include/asm-generic/socket.h \ - /usr/include/arm-linux-gnueabihf/asm/sockios.h \ - /usr/include/asm-generic/sockios.h \ - /usr/include/arm-linux-gnueabihf/sys/ioctl.h \ - /usr/include/arm-linux-gnueabihf/bits/ioctls.h \ - /usr/include/arm-linux-gnueabihf/asm/ioctls.h \ - /usr/include/asm-generic/ioctls.h /usr/include/linux/ioctl.h \ - /usr/include/arm-linux-gnueabihf/asm/ioctl.h \ - /usr/include/asm-generic/ioctl.h \ - /usr/include/arm-linux-gnueabihf/bits/ioctl-types.h \ - /usr/include/arm-linux-gnueabihf/sys/ttydefaults.h \ - lib/bluetooth/bluetooth.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h \ - /usr/include/stdint.h /usr/include/arm-linux-gnueabihf/bits/wchar.h \ - /usr/include/string.h /usr/include/arm-linux-gnueabihf/bits/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string2.h /usr/include/byteswap.h \ - /usr/include/netinet/in.h /usr/include/arm-linux-gnueabihf/bits/in.h \ - lib/bluetooth/sdp.h /usr/include/glib-2.0/glib.h \ - /usr/include/glib-2.0/glib/galloca.h /usr/include/glib-2.0/glib/gtypes.h \ - /usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h \ - /usr/include/glib-2.0/glib/gmacros.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h \ - /usr/include/limits.h /usr/include/arm-linux-gnueabihf/bits/posix1_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/local_lim.h \ - /usr/include/linux/limits.h \ - /usr/include/arm-linux-gnueabihf/bits/posix2_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/xopen_lim.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h \ - /usr/include/glib-2.0/glib/gversionmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/timex.h \ - /usr/include/glib-2.0/glib/garray.h \ - /usr/include/glib-2.0/glib/gasyncqueue.h \ - /usr/include/glib-2.0/glib/gthread.h \ - /usr/include/glib-2.0/glib/gatomic.h /usr/include/glib-2.0/glib/gerror.h \ - /usr/include/glib-2.0/glib/gquark.h \ - /usr/include/glib-2.0/glib/gbacktrace.h /usr/include/signal.h \ - /usr/include/arm-linux-gnueabihf/bits/signum.h \ - /usr/include/arm-linux-gnueabihf/bits/siginfo.h \ - /usr/include/arm-linux-gnueabihf/bits/sigaction.h \ - /usr/include/arm-linux-gnueabihf/bits/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/asm/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigstack.h \ - /usr/include/arm-linux-gnueabihf/sys/ucontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigthread.h \ - /usr/include/glib-2.0/glib/gbase64.h \ - /usr/include/glib-2.0/glib/gbitlock.h \ - /usr/include/glib-2.0/glib/gbookmarkfile.h \ - /usr/include/glib-2.0/glib/gbytes.h \ - /usr/include/glib-2.0/glib/gcharset.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/gconvert.h \ - /usr/include/glib-2.0/glib/gdataset.h /usr/include/glib-2.0/glib/gdate.h \ - /usr/include/glib-2.0/glib/gdatetime.h \ - /usr/include/glib-2.0/glib/gtimezone.h /usr/include/glib-2.0/glib/gdir.h \ - /usr/include/dirent.h /usr/include/arm-linux-gnueabihf/bits/dirent.h \ - /usr/include/glib-2.0/glib/genviron.h \ - /usr/include/glib-2.0/glib/gfileutils.h \ - /usr/include/glib-2.0/glib/ggettext.h /usr/include/glib-2.0/glib/ghash.h \ - /usr/include/glib-2.0/glib/glist.h /usr/include/glib-2.0/glib/gmem.h \ - /usr/include/glib-2.0/glib/gnode.h /usr/include/glib-2.0/glib/ghmac.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/ghook.h \ - /usr/include/glib-2.0/glib/ghostutils.h \ - /usr/include/glib-2.0/glib/giochannel.h \ - /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gpoll.h \ - /usr/include/glib-2.0/glib/gslist.h /usr/include/glib-2.0/glib/gstring.h \ - /usr/include/glib-2.0/glib/gunicode.h \ - /usr/include/glib-2.0/glib/gutils.h \ - /usr/include/glib-2.0/glib/gkeyfile.h \ - /usr/include/glib-2.0/glib/gmappedfile.h \ - /usr/include/glib-2.0/glib/gmarkup.h \ - /usr/include/glib-2.0/glib/gmessages.h \ - /usr/include/glib-2.0/glib/goption.h \ - /usr/include/glib-2.0/glib/gpattern.h \ - /usr/include/glib-2.0/glib/gprimes.h /usr/include/glib-2.0/glib/gqsort.h \ - /usr/include/glib-2.0/glib/gqueue.h /usr/include/glib-2.0/glib/grand.h \ - /usr/include/glib-2.0/glib/gregex.h \ - /usr/include/glib-2.0/glib/gscanner.h \ - /usr/include/glib-2.0/glib/gsequence.h \ - /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gslice.h \ - /usr/include/glib-2.0/glib/gspawn.h \ - /usr/include/glib-2.0/glib/gstrfuncs.h \ - /usr/include/glib-2.0/glib/gstringchunk.h \ - /usr/include/glib-2.0/glib/gtestutils.h \ - /usr/include/glib-2.0/glib/gthreadpool.h \ - /usr/include/glib-2.0/glib/gtimer.h \ - /usr/include/glib-2.0/glib/gtrashstack.h \ - /usr/include/glib-2.0/glib/gtree.h \ - /usr/include/glib-2.0/glib/gurifuncs.h \ - /usr/include/glib-2.0/glib/gvarianttype.h \ - /usr/include/glib-2.0/glib/gvariant.h \ - /usr/include/glib-2.0/glib/gversion.h \ - /usr/include/glib-2.0/glib/deprecated/gallocator.h \ - /usr/include/glib-2.0/glib/deprecated/gcache.h \ - /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ - /usr/include/glib-2.0/glib/deprecated/gmain.h \ - /usr/include/glib-2.0/glib/deprecated/grel.h \ - /usr/include/glib-2.0/glib/deprecated/gthread.h /usr/include/pthread.h \ - /usr/include/sched.h /usr/include/arm-linux-gnueabihf/bits/sched.h \ - /usr/include/arm-linux-gnueabihf/bits/setjmp.h \ - /usr/include/dbus-1.0/dbus/dbus.h \ - /usr/lib/arm-linux-gnueabihf/dbus-1.0/include/dbus/dbus-arch-deps.h \ - /usr/include/dbus-1.0/dbus/dbus-macros.h \ - /usr/include/dbus-1.0/dbus/dbus-address.h \ - /usr/include/dbus-1.0/dbus/dbus-types.h \ - /usr/include/dbus-1.0/dbus/dbus-errors.h \ - /usr/include/dbus-1.0/dbus/dbus-protocol.h \ - /usr/include/dbus-1.0/dbus/dbus-bus.h \ - /usr/include/dbus-1.0/dbus/dbus-connection.h \ - /usr/include/dbus-1.0/dbus/dbus-memory.h \ - /usr/include/dbus-1.0/dbus/dbus-message.h \ - /usr/include/dbus-1.0/dbus/dbus-shared.h \ - /usr/include/dbus-1.0/dbus/dbus-misc.h \ - /usr/include/dbus-1.0/dbus/dbus-pending-call.h \ - /usr/include/dbus-1.0/dbus/dbus-server.h \ - /usr/include/dbus-1.0/dbus/dbus-signature.h \ - /usr/include/dbus-1.0/dbus/dbus-syntax.h \ - /usr/include/dbus-1.0/dbus/dbus-threads.h gdbus/gdbus.h src/log.h \ - src/error.h src/dbus-common.h src/adapter.h lib/bluetooth/hci.h \ - lib/bluetooth/hci_lib.h src/device.h src/agent.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/include/stdio.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/sys_errlist.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio.h: - -/usr/include/errno.h: - -/usr/include/arm-linux-gnueabihf/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/arm-linux-gnueabihf/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/include/stdlib.h: - -/usr/include/arm-linux-gnueabihf/bits/waitflags.h: - -/usr/include/arm-linux-gnueabihf/bits/waitstatus.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/xlocale.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/time.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/alloca.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-float.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdbool.h: - -/usr/include/arm-linux-gnueabihf/sys/socket.h: - -/usr/include/arm-linux-gnueabihf/sys/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/socket.h: - -/usr/include/arm-linux-gnueabihf/bits/socket_type.h: - -/usr/include/arm-linux-gnueabihf/bits/sockaddr.h: - -/usr/include/arm-linux-gnueabihf/asm/socket.h: - -/usr/include/asm-generic/socket.h: - -/usr/include/arm-linux-gnueabihf/asm/sockios.h: - -/usr/include/asm-generic/sockios.h: - -/usr/include/arm-linux-gnueabihf/sys/ioctl.h: - -/usr/include/arm-linux-gnueabihf/bits/ioctls.h: - -/usr/include/arm-linux-gnueabihf/asm/ioctls.h: - -/usr/include/asm-generic/ioctls.h: - -/usr/include/linux/ioctl.h: - -/usr/include/arm-linux-gnueabihf/asm/ioctl.h: - -/usr/include/asm-generic/ioctl.h: - -/usr/include/arm-linux-gnueabihf/bits/ioctl-types.h: - -/usr/include/arm-linux-gnueabihf/sys/ttydefaults.h: - -lib/bluetooth/bluetooth.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/arm-linux-gnueabihf/bits/wchar.h: - -/usr/include/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string2.h: - -/usr/include/byteswap.h: - -/usr/include/netinet/in.h: - -/usr/include/arm-linux-gnueabihf/bits/in.h: - -lib/bluetooth/sdp.h: - -/usr/include/glib-2.0/glib.h: - -/usr/include/glib-2.0/glib/galloca.h: - -/usr/include/glib-2.0/glib/gtypes.h: - -/usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h: - -/usr/include/glib-2.0/glib/gmacros.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h: - -/usr/include/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/local_lim.h: - -/usr/include/linux/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix2_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/xopen_lim.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h: - -/usr/include/glib-2.0/glib/gversionmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/timex.h: - -/usr/include/glib-2.0/glib/garray.h: - -/usr/include/glib-2.0/glib/gasyncqueue.h: - -/usr/include/glib-2.0/glib/gthread.h: - -/usr/include/glib-2.0/glib/gatomic.h: - -/usr/include/glib-2.0/glib/gerror.h: - -/usr/include/glib-2.0/glib/gquark.h: - -/usr/include/glib-2.0/glib/gbacktrace.h: - -/usr/include/signal.h: - -/usr/include/arm-linux-gnueabihf/bits/signum.h: - -/usr/include/arm-linux-gnueabihf/bits/siginfo.h: - -/usr/include/arm-linux-gnueabihf/bits/sigaction.h: - -/usr/include/arm-linux-gnueabihf/bits/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/asm/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigstack.h: - -/usr/include/arm-linux-gnueabihf/sys/ucontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigthread.h: - -/usr/include/glib-2.0/glib/gbase64.h: - -/usr/include/glib-2.0/glib/gbitlock.h: - -/usr/include/glib-2.0/glib/gbookmarkfile.h: - -/usr/include/glib-2.0/glib/gbytes.h: - -/usr/include/glib-2.0/glib/gcharset.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/gconvert.h: - -/usr/include/glib-2.0/glib/gdataset.h: - -/usr/include/glib-2.0/glib/gdate.h: - -/usr/include/glib-2.0/glib/gdatetime.h: - -/usr/include/glib-2.0/glib/gtimezone.h: - -/usr/include/glib-2.0/glib/gdir.h: - -/usr/include/dirent.h: - -/usr/include/arm-linux-gnueabihf/bits/dirent.h: - -/usr/include/glib-2.0/glib/genviron.h: - -/usr/include/glib-2.0/glib/gfileutils.h: - -/usr/include/glib-2.0/glib/ggettext.h: - -/usr/include/glib-2.0/glib/ghash.h: - -/usr/include/glib-2.0/glib/glist.h: - -/usr/include/glib-2.0/glib/gmem.h: - -/usr/include/glib-2.0/glib/gnode.h: - -/usr/include/glib-2.0/glib/ghmac.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/ghook.h: - -/usr/include/glib-2.0/glib/ghostutils.h: - -/usr/include/glib-2.0/glib/giochannel.h: - -/usr/include/glib-2.0/glib/gmain.h: - -/usr/include/glib-2.0/glib/gpoll.h: - -/usr/include/glib-2.0/glib/gslist.h: - -/usr/include/glib-2.0/glib/gstring.h: - -/usr/include/glib-2.0/glib/gunicode.h: - -/usr/include/glib-2.0/glib/gutils.h: - -/usr/include/glib-2.0/glib/gkeyfile.h: - -/usr/include/glib-2.0/glib/gmappedfile.h: - -/usr/include/glib-2.0/glib/gmarkup.h: - -/usr/include/glib-2.0/glib/gmessages.h: - -/usr/include/glib-2.0/glib/goption.h: - -/usr/include/glib-2.0/glib/gpattern.h: - -/usr/include/glib-2.0/glib/gprimes.h: - -/usr/include/glib-2.0/glib/gqsort.h: - -/usr/include/glib-2.0/glib/gqueue.h: - -/usr/include/glib-2.0/glib/grand.h: - -/usr/include/glib-2.0/glib/gregex.h: - -/usr/include/glib-2.0/glib/gscanner.h: - -/usr/include/glib-2.0/glib/gsequence.h: - -/usr/include/glib-2.0/glib/gshell.h: - -/usr/include/glib-2.0/glib/gslice.h: - -/usr/include/glib-2.0/glib/gspawn.h: - -/usr/include/glib-2.0/glib/gstrfuncs.h: - -/usr/include/glib-2.0/glib/gstringchunk.h: - -/usr/include/glib-2.0/glib/gtestutils.h: - -/usr/include/glib-2.0/glib/gthreadpool.h: - -/usr/include/glib-2.0/glib/gtimer.h: - -/usr/include/glib-2.0/glib/gtrashstack.h: - -/usr/include/glib-2.0/glib/gtree.h: - -/usr/include/glib-2.0/glib/gurifuncs.h: - -/usr/include/glib-2.0/glib/gvarianttype.h: - -/usr/include/glib-2.0/glib/gvariant.h: - -/usr/include/glib-2.0/glib/gversion.h: - -/usr/include/glib-2.0/glib/deprecated/gallocator.h: - -/usr/include/glib-2.0/glib/deprecated/gcache.h: - -/usr/include/glib-2.0/glib/deprecated/gcompletion.h: - -/usr/include/glib-2.0/glib/deprecated/gmain.h: - -/usr/include/glib-2.0/glib/deprecated/grel.h: - -/usr/include/glib-2.0/glib/deprecated/gthread.h: - -/usr/include/pthread.h: - -/usr/include/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/setjmp.h: - -/usr/include/dbus-1.0/dbus/dbus.h: - -/usr/lib/arm-linux-gnueabihf/dbus-1.0/include/dbus/dbus-arch-deps.h: - -/usr/include/dbus-1.0/dbus/dbus-macros.h: - -/usr/include/dbus-1.0/dbus/dbus-address.h: - -/usr/include/dbus-1.0/dbus/dbus-types.h: - -/usr/include/dbus-1.0/dbus/dbus-errors.h: - -/usr/include/dbus-1.0/dbus/dbus-protocol.h: - -/usr/include/dbus-1.0/dbus/dbus-bus.h: - -/usr/include/dbus-1.0/dbus/dbus-connection.h: - -/usr/include/dbus-1.0/dbus/dbus-memory.h: - -/usr/include/dbus-1.0/dbus/dbus-message.h: - -/usr/include/dbus-1.0/dbus/dbus-shared.h: - -/usr/include/dbus-1.0/dbus/dbus-misc.h: - -/usr/include/dbus-1.0/dbus/dbus-pending-call.h: - -/usr/include/dbus-1.0/dbus/dbus-server.h: - -/usr/include/dbus-1.0/dbus/dbus-signature.h: - -/usr/include/dbus-1.0/dbus/dbus-syntax.h: - -/usr/include/dbus-1.0/dbus/dbus-threads.h: - -gdbus/gdbus.h: - -src/log.h: - -src/error.h: - -src/dbus-common.h: - -src/adapter.h: - -lib/bluetooth/hci.h: - -lib/bluetooth/hci_lib.h: - -src/device.h: - -src/agent.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/src/.deps/bluetoothd-attrib-server.Po b/GRIB_BLE_HUB/libs/ble_extend/src/.deps/bluetoothd-attrib-server.Po deleted file mode 100644 index 9b91dae..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/src/.deps/bluetoothd-attrib-server.Po +++ /dev/null @@ -1,571 +0,0 @@ -src/bluetoothd-attrib-server.o: src/attrib-server.c \ - /usr/include/stdc-predef.h config.h /usr/include/errno.h \ - /usr/include/features.h /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/include/arm-linux-gnueabihf/bits/errno.h /usr/include/linux/errno.h \ - /usr/include/arm-linux-gnueabihf/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h \ - /usr/include/stdint.h /usr/include/arm-linux-gnueabihf/bits/wchar.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdbool.h \ - /usr/include/string.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/include/xlocale.h /usr/include/arm-linux-gnueabihf/bits/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string2.h /usr/include/stdlib.h \ - /usr/include/unistd.h /usr/include/arm-linux-gnueabihf/bits/posix_opt.h \ - /usr/include/arm-linux-gnueabihf/bits/environments.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h \ - /usr/include/arm-linux-gnueabihf/bits/confname.h /usr/include/getopt.h \ - /usr/include/glib-2.0/glib.h /usr/include/glib-2.0/glib/galloca.h \ - /usr/include/glib-2.0/glib/gtypes.h \ - /usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h \ - /usr/include/glib-2.0/glib/gmacros.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h \ - /usr/include/limits.h /usr/include/arm-linux-gnueabihf/bits/posix1_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/local_lim.h \ - /usr/include/linux/limits.h \ - /usr/include/arm-linux-gnueabihf/bits/posix2_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/xopen_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h \ - /usr/include/glib-2.0/glib/gversionmacros.h /usr/include/time.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/bits/timex.h \ - /usr/include/glib-2.0/glib/garray.h \ - /usr/include/glib-2.0/glib/gasyncqueue.h \ - /usr/include/glib-2.0/glib/gthread.h \ - /usr/include/glib-2.0/glib/gatomic.h /usr/include/glib-2.0/glib/gerror.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/glib-2.0/glib/gquark.h \ - /usr/include/glib-2.0/glib/gbacktrace.h /usr/include/signal.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/signum.h \ - /usr/include/arm-linux-gnueabihf/bits/siginfo.h \ - /usr/include/arm-linux-gnueabihf/bits/sigaction.h \ - /usr/include/arm-linux-gnueabihf/bits/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/asm/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigstack.h \ - /usr/include/arm-linux-gnueabihf/sys/ucontext.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/endian.h /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/arm-linux-gnueabihf/bits/sigthread.h \ - /usr/include/glib-2.0/glib/gbase64.h \ - /usr/include/glib-2.0/glib/gbitlock.h \ - /usr/include/glib-2.0/glib/gbookmarkfile.h \ - /usr/include/glib-2.0/glib/gbytes.h \ - /usr/include/glib-2.0/glib/gcharset.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/gconvert.h \ - /usr/include/glib-2.0/glib/gdataset.h /usr/include/glib-2.0/glib/gdate.h \ - /usr/include/glib-2.0/glib/gdatetime.h \ - /usr/include/glib-2.0/glib/gtimezone.h /usr/include/glib-2.0/glib/gdir.h \ - /usr/include/dirent.h /usr/include/arm-linux-gnueabihf/bits/dirent.h \ - /usr/include/glib-2.0/glib/genviron.h \ - /usr/include/glib-2.0/glib/gfileutils.h \ - /usr/include/glib-2.0/glib/ggettext.h /usr/include/glib-2.0/glib/ghash.h \ - /usr/include/glib-2.0/glib/glist.h /usr/include/glib-2.0/glib/gmem.h \ - /usr/include/glib-2.0/glib/gnode.h /usr/include/glib-2.0/glib/ghmac.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/ghook.h \ - /usr/include/glib-2.0/glib/ghostutils.h \ - /usr/include/glib-2.0/glib/giochannel.h \ - /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gpoll.h \ - /usr/include/glib-2.0/glib/gslist.h /usr/include/glib-2.0/glib/gstring.h \ - /usr/include/glib-2.0/glib/gunicode.h \ - /usr/include/glib-2.0/glib/gutils.h \ - /usr/include/glib-2.0/glib/gkeyfile.h \ - /usr/include/glib-2.0/glib/gmappedfile.h \ - /usr/include/glib-2.0/glib/gmarkup.h \ - /usr/include/glib-2.0/glib/gmessages.h \ - /usr/include/glib-2.0/glib/goption.h \ - /usr/include/glib-2.0/glib/gpattern.h \ - /usr/include/glib-2.0/glib/gprimes.h /usr/include/glib-2.0/glib/gqsort.h \ - /usr/include/glib-2.0/glib/gqueue.h /usr/include/glib-2.0/glib/grand.h \ - /usr/include/glib-2.0/glib/gregex.h \ - /usr/include/glib-2.0/glib/gscanner.h \ - /usr/include/glib-2.0/glib/gsequence.h \ - /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gslice.h \ - /usr/include/glib-2.0/glib/gspawn.h \ - /usr/include/glib-2.0/glib/gstrfuncs.h \ - /usr/include/glib-2.0/glib/gstringchunk.h \ - /usr/include/glib-2.0/glib/gtestutils.h \ - /usr/include/glib-2.0/glib/gthreadpool.h \ - /usr/include/glib-2.0/glib/gtimer.h \ - /usr/include/glib-2.0/glib/gtrashstack.h \ - /usr/include/glib-2.0/glib/gtree.h \ - /usr/include/glib-2.0/glib/gurifuncs.h \ - /usr/include/glib-2.0/glib/gvarianttype.h \ - /usr/include/glib-2.0/glib/gvariant.h \ - /usr/include/glib-2.0/glib/gversion.h \ - /usr/include/glib-2.0/glib/deprecated/gallocator.h \ - /usr/include/glib-2.0/glib/deprecated/gcache.h \ - /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ - /usr/include/glib-2.0/glib/deprecated/gmain.h \ - /usr/include/glib-2.0/glib/deprecated/grel.h \ - /usr/include/glib-2.0/glib/deprecated/gthread.h \ - /usr/include/arm-linux-gnueabihf/sys/types.h \ - /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h /usr/include/pthread.h \ - /usr/include/sched.h /usr/include/arm-linux-gnueabihf/bits/sched.h \ - /usr/include/arm-linux-gnueabihf/bits/setjmp.h \ - /usr/include/arm-linux-gnueabihf/sys/file.h /usr/include/fcntl.h \ - /usr/include/arm-linux-gnueabihf/bits/fcntl.h \ - /usr/include/arm-linux-gnueabihf/bits/fcntl-linux.h \ - /usr/include/arm-linux-gnueabihf/bits/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/stat.h lib/bluetooth/bluetooth.h \ - /usr/include/stdio.h /usr/include/libio.h /usr/include/_G_config.h \ - /usr/include/wchar.h /usr/include/arm-linux-gnueabihf/bits/sys_errlist.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio.h /usr/include/byteswap.h \ - /usr/include/netinet/in.h /usr/include/arm-linux-gnueabihf/sys/socket.h \ - /usr/include/arm-linux-gnueabihf/sys/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/socket.h \ - /usr/include/arm-linux-gnueabihf/bits/socket_type.h \ - /usr/include/arm-linux-gnueabihf/bits/sockaddr.h \ - /usr/include/arm-linux-gnueabihf/asm/socket.h \ - /usr/include/asm-generic/socket.h \ - /usr/include/arm-linux-gnueabihf/asm/sockios.h \ - /usr/include/asm-generic/sockios.h \ - /usr/include/arm-linux-gnueabihf/bits/in.h lib/bluetooth/sdp.h \ - lib/bluetooth/sdp_lib.h lib/bluetooth/hci.h lib/uuid.h gdbus/gdbus.h \ - /usr/include/dbus-1.0/dbus/dbus.h \ - /usr/lib/arm-linux-gnueabihf/dbus-1.0/include/dbus/dbus-arch-deps.h \ - /usr/include/dbus-1.0/dbus/dbus-macros.h \ - /usr/include/dbus-1.0/dbus/dbus-address.h \ - /usr/include/dbus-1.0/dbus/dbus-types.h \ - /usr/include/dbus-1.0/dbus/dbus-errors.h \ - /usr/include/dbus-1.0/dbus/dbus-protocol.h \ - /usr/include/dbus-1.0/dbus/dbus-bus.h \ - /usr/include/dbus-1.0/dbus/dbus-connection.h \ - /usr/include/dbus-1.0/dbus/dbus-memory.h \ - /usr/include/dbus-1.0/dbus/dbus-message.h \ - /usr/include/dbus-1.0/dbus/dbus-shared.h \ - /usr/include/dbus-1.0/dbus/dbus-misc.h \ - /usr/include/dbus-1.0/dbus/dbus-pending-call.h \ - /usr/include/dbus-1.0/dbus/dbus-server.h \ - /usr/include/dbus-1.0/dbus/dbus-signature.h \ - /usr/include/dbus-1.0/dbus/dbus-syntax.h \ - /usr/include/dbus-1.0/dbus/dbus-threads.h src/log.h btio/btio.h \ - src/sdpd.h src/hcid.h src/adapter.h lib/bluetooth/hci_lib.h src/device.h \ - attrib/gattrib.h attrib/att.h attrib/gatt.h attrib/att-database.h \ - src/storage.h src/textfile.h src/attrib-server.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/include/errno.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/include/arm-linux-gnueabihf/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/arm-linux-gnueabihf/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/arm-linux-gnueabihf/bits/wchar.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdbool.h: - -/usr/include/string.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/include/xlocale.h: - -/usr/include/arm-linux-gnueabihf/bits/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string2.h: - -/usr/include/stdlib.h: - -/usr/include/unistd.h: - -/usr/include/arm-linux-gnueabihf/bits/posix_opt.h: - -/usr/include/arm-linux-gnueabihf/bits/environments.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/arm-linux-gnueabihf/bits/confname.h: - -/usr/include/getopt.h: - -/usr/include/glib-2.0/glib.h: - -/usr/include/glib-2.0/glib/galloca.h: - -/usr/include/glib-2.0/glib/gtypes.h: - -/usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h: - -/usr/include/glib-2.0/glib/gmacros.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h: - -/usr/include/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/local_lim.h: - -/usr/include/linux/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix2_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/xopen_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h: - -/usr/include/glib-2.0/glib/gversionmacros.h: - -/usr/include/time.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/bits/timex.h: - -/usr/include/glib-2.0/glib/garray.h: - -/usr/include/glib-2.0/glib/gasyncqueue.h: - -/usr/include/glib-2.0/glib/gthread.h: - -/usr/include/glib-2.0/glib/gatomic.h: - -/usr/include/glib-2.0/glib/gerror.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/glib-2.0/glib/gquark.h: - -/usr/include/glib-2.0/glib/gbacktrace.h: - -/usr/include/signal.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/signum.h: - -/usr/include/arm-linux-gnueabihf/bits/siginfo.h: - -/usr/include/arm-linux-gnueabihf/bits/sigaction.h: - -/usr/include/arm-linux-gnueabihf/bits/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/asm/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigstack.h: - -/usr/include/arm-linux-gnueabihf/sys/ucontext.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/arm-linux-gnueabihf/bits/sigthread.h: - -/usr/include/glib-2.0/glib/gbase64.h: - -/usr/include/glib-2.0/glib/gbitlock.h: - -/usr/include/glib-2.0/glib/gbookmarkfile.h: - -/usr/include/glib-2.0/glib/gbytes.h: - -/usr/include/glib-2.0/glib/gcharset.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/gconvert.h: - -/usr/include/glib-2.0/glib/gdataset.h: - -/usr/include/glib-2.0/glib/gdate.h: - -/usr/include/glib-2.0/glib/gdatetime.h: - -/usr/include/glib-2.0/glib/gtimezone.h: - -/usr/include/glib-2.0/glib/gdir.h: - -/usr/include/dirent.h: - -/usr/include/arm-linux-gnueabihf/bits/dirent.h: - -/usr/include/glib-2.0/glib/genviron.h: - -/usr/include/glib-2.0/glib/gfileutils.h: - -/usr/include/glib-2.0/glib/ggettext.h: - -/usr/include/glib-2.0/glib/ghash.h: - -/usr/include/glib-2.0/glib/glist.h: - -/usr/include/glib-2.0/glib/gmem.h: - -/usr/include/glib-2.0/glib/gnode.h: - -/usr/include/glib-2.0/glib/ghmac.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/ghook.h: - -/usr/include/glib-2.0/glib/ghostutils.h: - -/usr/include/glib-2.0/glib/giochannel.h: - -/usr/include/glib-2.0/glib/gmain.h: - -/usr/include/glib-2.0/glib/gpoll.h: - -/usr/include/glib-2.0/glib/gslist.h: - -/usr/include/glib-2.0/glib/gstring.h: - -/usr/include/glib-2.0/glib/gunicode.h: - -/usr/include/glib-2.0/glib/gutils.h: - -/usr/include/glib-2.0/glib/gkeyfile.h: - -/usr/include/glib-2.0/glib/gmappedfile.h: - -/usr/include/glib-2.0/glib/gmarkup.h: - -/usr/include/glib-2.0/glib/gmessages.h: - -/usr/include/glib-2.0/glib/goption.h: - -/usr/include/glib-2.0/glib/gpattern.h: - -/usr/include/glib-2.0/glib/gprimes.h: - -/usr/include/glib-2.0/glib/gqsort.h: - -/usr/include/glib-2.0/glib/gqueue.h: - -/usr/include/glib-2.0/glib/grand.h: - -/usr/include/glib-2.0/glib/gregex.h: - -/usr/include/glib-2.0/glib/gscanner.h: - -/usr/include/glib-2.0/glib/gsequence.h: - -/usr/include/glib-2.0/glib/gshell.h: - -/usr/include/glib-2.0/glib/gslice.h: - -/usr/include/glib-2.0/glib/gspawn.h: - -/usr/include/glib-2.0/glib/gstrfuncs.h: - -/usr/include/glib-2.0/glib/gstringchunk.h: - -/usr/include/glib-2.0/glib/gtestutils.h: - -/usr/include/glib-2.0/glib/gthreadpool.h: - -/usr/include/glib-2.0/glib/gtimer.h: - -/usr/include/glib-2.0/glib/gtrashstack.h: - -/usr/include/glib-2.0/glib/gtree.h: - -/usr/include/glib-2.0/glib/gurifuncs.h: - -/usr/include/glib-2.0/glib/gvarianttype.h: - -/usr/include/glib-2.0/glib/gvariant.h: - -/usr/include/glib-2.0/glib/gversion.h: - -/usr/include/glib-2.0/glib/deprecated/gallocator.h: - -/usr/include/glib-2.0/glib/deprecated/gcache.h: - -/usr/include/glib-2.0/glib/deprecated/gcompletion.h: - -/usr/include/glib-2.0/glib/deprecated/gmain.h: - -/usr/include/glib-2.0/glib/deprecated/grel.h: - -/usr/include/glib-2.0/glib/deprecated/gthread.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/pthread.h: - -/usr/include/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/setjmp.h: - -/usr/include/arm-linux-gnueabihf/sys/file.h: - -/usr/include/fcntl.h: - -/usr/include/arm-linux-gnueabihf/bits/fcntl.h: - -/usr/include/arm-linux-gnueabihf/bits/fcntl-linux.h: - -/usr/include/arm-linux-gnueabihf/bits/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/stat.h: - -lib/bluetooth/bluetooth.h: - -/usr/include/stdio.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/include/arm-linux-gnueabihf/bits/sys_errlist.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio.h: - -/usr/include/byteswap.h: - -/usr/include/netinet/in.h: - -/usr/include/arm-linux-gnueabihf/sys/socket.h: - -/usr/include/arm-linux-gnueabihf/sys/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/socket.h: - -/usr/include/arm-linux-gnueabihf/bits/socket_type.h: - -/usr/include/arm-linux-gnueabihf/bits/sockaddr.h: - -/usr/include/arm-linux-gnueabihf/asm/socket.h: - -/usr/include/asm-generic/socket.h: - -/usr/include/arm-linux-gnueabihf/asm/sockios.h: - -/usr/include/asm-generic/sockios.h: - -/usr/include/arm-linux-gnueabihf/bits/in.h: - -lib/bluetooth/sdp.h: - -lib/bluetooth/sdp_lib.h: - -lib/bluetooth/hci.h: - -lib/uuid.h: - -gdbus/gdbus.h: - -/usr/include/dbus-1.0/dbus/dbus.h: - -/usr/lib/arm-linux-gnueabihf/dbus-1.0/include/dbus/dbus-arch-deps.h: - -/usr/include/dbus-1.0/dbus/dbus-macros.h: - -/usr/include/dbus-1.0/dbus/dbus-address.h: - -/usr/include/dbus-1.0/dbus/dbus-types.h: - -/usr/include/dbus-1.0/dbus/dbus-errors.h: - -/usr/include/dbus-1.0/dbus/dbus-protocol.h: - -/usr/include/dbus-1.0/dbus/dbus-bus.h: - -/usr/include/dbus-1.0/dbus/dbus-connection.h: - -/usr/include/dbus-1.0/dbus/dbus-memory.h: - -/usr/include/dbus-1.0/dbus/dbus-message.h: - -/usr/include/dbus-1.0/dbus/dbus-shared.h: - -/usr/include/dbus-1.0/dbus/dbus-misc.h: - -/usr/include/dbus-1.0/dbus/dbus-pending-call.h: - -/usr/include/dbus-1.0/dbus/dbus-server.h: - -/usr/include/dbus-1.0/dbus/dbus-signature.h: - -/usr/include/dbus-1.0/dbus/dbus-syntax.h: - -/usr/include/dbus-1.0/dbus/dbus-threads.h: - -src/log.h: - -btio/btio.h: - -src/sdpd.h: - -src/hcid.h: - -src/adapter.h: - -lib/bluetooth/hci_lib.h: - -src/device.h: - -attrib/gattrib.h: - -attrib/att.h: - -attrib/gatt.h: - -attrib/att-database.h: - -src/storage.h: - -src/textfile.h: - -src/attrib-server.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/src/.deps/bluetoothd-dbus-common.Po b/GRIB_BLE_HUB/libs/ble_extend/src/.deps/bluetoothd-dbus-common.Po deleted file mode 100644 index 25d247a..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/src/.deps/bluetoothd-dbus-common.Po +++ /dev/null @@ -1,441 +0,0 @@ -src/bluetoothd-dbus-common.o: src/dbus-common.c \ - /usr/include/stdc-predef.h config.h /usr/include/stdio.h \ - /usr/include/features.h /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/sys_errlist.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h \ - /usr/include/stdint.h /usr/include/arm-linux-gnueabihf/bits/wchar.h \ - /usr/include/glib-2.0/glib.h /usr/include/glib-2.0/glib/galloca.h \ - /usr/include/glib-2.0/glib/gtypes.h \ - /usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h \ - /usr/include/glib-2.0/glib/gmacros.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h \ - /usr/include/limits.h /usr/include/arm-linux-gnueabihf/bits/posix1_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/local_lim.h \ - /usr/include/linux/limits.h \ - /usr/include/arm-linux-gnueabihf/bits/posix2_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/xopen_lim.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h \ - /usr/include/glib-2.0/glib/gversionmacros.h /usr/include/time.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/bits/timex.h /usr/include/xlocale.h \ - /usr/include/glib-2.0/glib/garray.h \ - /usr/include/glib-2.0/glib/gasyncqueue.h \ - /usr/include/glib-2.0/glib/gthread.h \ - /usr/include/glib-2.0/glib/gatomic.h /usr/include/glib-2.0/glib/gerror.h \ - /usr/include/glib-2.0/glib/gquark.h \ - /usr/include/glib-2.0/glib/gbacktrace.h /usr/include/signal.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/signum.h \ - /usr/include/arm-linux-gnueabihf/bits/siginfo.h \ - /usr/include/arm-linux-gnueabihf/bits/sigaction.h \ - /usr/include/arm-linux-gnueabihf/bits/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/asm/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigstack.h \ - /usr/include/arm-linux-gnueabihf/sys/ucontext.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/endian.h /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/arm-linux-gnueabihf/bits/sigthread.h \ - /usr/include/glib-2.0/glib/gbase64.h \ - /usr/include/glib-2.0/glib/gbitlock.h \ - /usr/include/glib-2.0/glib/gbookmarkfile.h \ - /usr/include/glib-2.0/glib/gbytes.h \ - /usr/include/glib-2.0/glib/gcharset.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/gconvert.h \ - /usr/include/glib-2.0/glib/gdataset.h /usr/include/glib-2.0/glib/gdate.h \ - /usr/include/glib-2.0/glib/gdatetime.h \ - /usr/include/glib-2.0/glib/gtimezone.h /usr/include/glib-2.0/glib/gdir.h \ - /usr/include/dirent.h /usr/include/arm-linux-gnueabihf/bits/dirent.h \ - /usr/include/glib-2.0/glib/genviron.h \ - /usr/include/glib-2.0/glib/gfileutils.h \ - /usr/include/glib-2.0/glib/ggettext.h /usr/include/glib-2.0/glib/ghash.h \ - /usr/include/glib-2.0/glib/glist.h /usr/include/glib-2.0/glib/gmem.h \ - /usr/include/glib-2.0/glib/gnode.h /usr/include/glib-2.0/glib/ghmac.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/ghook.h \ - /usr/include/glib-2.0/glib/ghostutils.h \ - /usr/include/glib-2.0/glib/giochannel.h \ - /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gpoll.h \ - /usr/include/glib-2.0/glib/gslist.h /usr/include/glib-2.0/glib/gstring.h \ - /usr/include/glib-2.0/glib/gunicode.h \ - /usr/include/glib-2.0/glib/gutils.h \ - /usr/include/glib-2.0/glib/gkeyfile.h \ - /usr/include/glib-2.0/glib/gmappedfile.h \ - /usr/include/glib-2.0/glib/gmarkup.h \ - /usr/include/glib-2.0/glib/gmessages.h \ - /usr/include/glib-2.0/glib/goption.h \ - /usr/include/glib-2.0/glib/gpattern.h \ - /usr/include/glib-2.0/glib/gprimes.h /usr/include/glib-2.0/glib/gqsort.h \ - /usr/include/glib-2.0/glib/gqueue.h /usr/include/glib-2.0/glib/grand.h \ - /usr/include/glib-2.0/glib/gregex.h \ - /usr/include/glib-2.0/glib/gscanner.h \ - /usr/include/glib-2.0/glib/gsequence.h \ - /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gslice.h \ - /usr/include/glib-2.0/glib/gspawn.h \ - /usr/include/glib-2.0/glib/gstrfuncs.h \ - /usr/include/glib-2.0/glib/gstringchunk.h \ - /usr/include/glib-2.0/glib/gtestutils.h \ - /usr/include/glib-2.0/glib/gthreadpool.h \ - /usr/include/glib-2.0/glib/gtimer.h \ - /usr/include/glib-2.0/glib/gtrashstack.h \ - /usr/include/glib-2.0/glib/gtree.h \ - /usr/include/glib-2.0/glib/gurifuncs.h \ - /usr/include/glib-2.0/glib/gvarianttype.h \ - /usr/include/glib-2.0/glib/gvariant.h \ - /usr/include/glib-2.0/glib/gversion.h \ - /usr/include/glib-2.0/glib/deprecated/gallocator.h \ - /usr/include/glib-2.0/glib/deprecated/gcache.h \ - /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ - /usr/include/glib-2.0/glib/deprecated/gmain.h \ - /usr/include/glib-2.0/glib/deprecated/grel.h \ - /usr/include/glib-2.0/glib/deprecated/gthread.h \ - /usr/include/arm-linux-gnueabihf/sys/types.h \ - /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h /usr/include/pthread.h \ - /usr/include/sched.h /usr/include/arm-linux-gnueabihf/bits/sched.h \ - /usr/include/arm-linux-gnueabihf/bits/setjmp.h \ - /usr/include/dbus-1.0/dbus/dbus.h \ - /usr/lib/arm-linux-gnueabihf/dbus-1.0/include/dbus/dbus-arch-deps.h \ - /usr/include/dbus-1.0/dbus/dbus-macros.h \ - /usr/include/dbus-1.0/dbus/dbus-address.h \ - /usr/include/dbus-1.0/dbus/dbus-types.h \ - /usr/include/dbus-1.0/dbus/dbus-errors.h \ - /usr/include/dbus-1.0/dbus/dbus-protocol.h \ - /usr/include/dbus-1.0/dbus/dbus-bus.h \ - /usr/include/dbus-1.0/dbus/dbus-connection.h \ - /usr/include/dbus-1.0/dbus/dbus-memory.h \ - /usr/include/dbus-1.0/dbus/dbus-message.h \ - /usr/include/dbus-1.0/dbus/dbus-shared.h \ - /usr/include/dbus-1.0/dbus/dbus-misc.h \ - /usr/include/dbus-1.0/dbus/dbus-pending-call.h \ - /usr/include/dbus-1.0/dbus/dbus-server.h \ - /usr/include/dbus-1.0/dbus/dbus-signature.h \ - /usr/include/dbus-1.0/dbus/dbus-syntax.h \ - /usr/include/dbus-1.0/dbus/dbus-threads.h gdbus/gdbus.h src/log.h \ - src/dbus-common.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/include/stdio.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/sys_errlist.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/arm-linux-gnueabihf/bits/wchar.h: - -/usr/include/glib-2.0/glib.h: - -/usr/include/glib-2.0/glib/galloca.h: - -/usr/include/glib-2.0/glib/gtypes.h: - -/usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h: - -/usr/include/glib-2.0/glib/gmacros.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h: - -/usr/include/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/local_lim.h: - -/usr/include/linux/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix2_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/xopen_lim.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h: - -/usr/include/glib-2.0/glib/gversionmacros.h: - -/usr/include/time.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/bits/timex.h: - -/usr/include/xlocale.h: - -/usr/include/glib-2.0/glib/garray.h: - -/usr/include/glib-2.0/glib/gasyncqueue.h: - -/usr/include/glib-2.0/glib/gthread.h: - -/usr/include/glib-2.0/glib/gatomic.h: - -/usr/include/glib-2.0/glib/gerror.h: - -/usr/include/glib-2.0/glib/gquark.h: - -/usr/include/glib-2.0/glib/gbacktrace.h: - -/usr/include/signal.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/signum.h: - -/usr/include/arm-linux-gnueabihf/bits/siginfo.h: - -/usr/include/arm-linux-gnueabihf/bits/sigaction.h: - -/usr/include/arm-linux-gnueabihf/bits/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/asm/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigstack.h: - -/usr/include/arm-linux-gnueabihf/sys/ucontext.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/arm-linux-gnueabihf/bits/sigthread.h: - -/usr/include/glib-2.0/glib/gbase64.h: - -/usr/include/glib-2.0/glib/gbitlock.h: - -/usr/include/glib-2.0/glib/gbookmarkfile.h: - -/usr/include/glib-2.0/glib/gbytes.h: - -/usr/include/glib-2.0/glib/gcharset.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/gconvert.h: - -/usr/include/glib-2.0/glib/gdataset.h: - -/usr/include/glib-2.0/glib/gdate.h: - -/usr/include/glib-2.0/glib/gdatetime.h: - -/usr/include/glib-2.0/glib/gtimezone.h: - -/usr/include/glib-2.0/glib/gdir.h: - -/usr/include/dirent.h: - -/usr/include/arm-linux-gnueabihf/bits/dirent.h: - -/usr/include/glib-2.0/glib/genviron.h: - -/usr/include/glib-2.0/glib/gfileutils.h: - -/usr/include/glib-2.0/glib/ggettext.h: - -/usr/include/glib-2.0/glib/ghash.h: - -/usr/include/glib-2.0/glib/glist.h: - -/usr/include/glib-2.0/glib/gmem.h: - -/usr/include/glib-2.0/glib/gnode.h: - -/usr/include/glib-2.0/glib/ghmac.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/ghook.h: - -/usr/include/glib-2.0/glib/ghostutils.h: - -/usr/include/glib-2.0/glib/giochannel.h: - -/usr/include/glib-2.0/glib/gmain.h: - -/usr/include/glib-2.0/glib/gpoll.h: - -/usr/include/glib-2.0/glib/gslist.h: - -/usr/include/glib-2.0/glib/gstring.h: - -/usr/include/glib-2.0/glib/gunicode.h: - -/usr/include/glib-2.0/glib/gutils.h: - -/usr/include/glib-2.0/glib/gkeyfile.h: - -/usr/include/glib-2.0/glib/gmappedfile.h: - -/usr/include/glib-2.0/glib/gmarkup.h: - -/usr/include/glib-2.0/glib/gmessages.h: - -/usr/include/glib-2.0/glib/goption.h: - -/usr/include/glib-2.0/glib/gpattern.h: - -/usr/include/glib-2.0/glib/gprimes.h: - -/usr/include/glib-2.0/glib/gqsort.h: - -/usr/include/glib-2.0/glib/gqueue.h: - -/usr/include/glib-2.0/glib/grand.h: - -/usr/include/glib-2.0/glib/gregex.h: - -/usr/include/glib-2.0/glib/gscanner.h: - -/usr/include/glib-2.0/glib/gsequence.h: - -/usr/include/glib-2.0/glib/gshell.h: - -/usr/include/glib-2.0/glib/gslice.h: - -/usr/include/glib-2.0/glib/gspawn.h: - -/usr/include/glib-2.0/glib/gstrfuncs.h: - -/usr/include/glib-2.0/glib/gstringchunk.h: - -/usr/include/glib-2.0/glib/gtestutils.h: - -/usr/include/glib-2.0/glib/gthreadpool.h: - -/usr/include/glib-2.0/glib/gtimer.h: - -/usr/include/glib-2.0/glib/gtrashstack.h: - -/usr/include/glib-2.0/glib/gtree.h: - -/usr/include/glib-2.0/glib/gurifuncs.h: - -/usr/include/glib-2.0/glib/gvarianttype.h: - -/usr/include/glib-2.0/glib/gvariant.h: - -/usr/include/glib-2.0/glib/gversion.h: - -/usr/include/glib-2.0/glib/deprecated/gallocator.h: - -/usr/include/glib-2.0/glib/deprecated/gcache.h: - -/usr/include/glib-2.0/glib/deprecated/gcompletion.h: - -/usr/include/glib-2.0/glib/deprecated/gmain.h: - -/usr/include/glib-2.0/glib/deprecated/grel.h: - -/usr/include/glib-2.0/glib/deprecated/gthread.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/pthread.h: - -/usr/include/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/setjmp.h: - -/usr/include/dbus-1.0/dbus/dbus.h: - -/usr/lib/arm-linux-gnueabihf/dbus-1.0/include/dbus/dbus-arch-deps.h: - -/usr/include/dbus-1.0/dbus/dbus-macros.h: - -/usr/include/dbus-1.0/dbus/dbus-address.h: - -/usr/include/dbus-1.0/dbus/dbus-types.h: - -/usr/include/dbus-1.0/dbus/dbus-errors.h: - -/usr/include/dbus-1.0/dbus/dbus-protocol.h: - -/usr/include/dbus-1.0/dbus/dbus-bus.h: - -/usr/include/dbus-1.0/dbus/dbus-connection.h: - -/usr/include/dbus-1.0/dbus/dbus-memory.h: - -/usr/include/dbus-1.0/dbus/dbus-message.h: - -/usr/include/dbus-1.0/dbus/dbus-shared.h: - -/usr/include/dbus-1.0/dbus/dbus-misc.h: - -/usr/include/dbus-1.0/dbus/dbus-pending-call.h: - -/usr/include/dbus-1.0/dbus/dbus-server.h: - -/usr/include/dbus-1.0/dbus/dbus-signature.h: - -/usr/include/dbus-1.0/dbus/dbus-syntax.h: - -/usr/include/dbus-1.0/dbus/dbus-threads.h: - -gdbus/gdbus.h: - -src/log.h: - -src/dbus-common.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/src/.deps/bluetoothd-device.Po b/GRIB_BLE_HUB/libs/ble_extend/src/.deps/bluetoothd-device.Po deleted file mode 100644 index cad0a75..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/src/.deps/bluetoothd-device.Po +++ /dev/null @@ -1,626 +0,0 @@ -src/bluetoothd-device.o: src/device.c /usr/include/stdc-predef.h config.h \ - /usr/include/stdio.h /usr/include/features.h \ - /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/sys_errlist.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio.h /usr/include/stdlib.h \ - /usr/include/arm-linux-gnueabihf/bits/waitflags.h \ - /usr/include/arm-linux-gnueabihf/bits/waitstatus.h /usr/include/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/xlocale.h /usr/include/arm-linux-gnueabihf/sys/types.h \ - /usr/include/time.h /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/alloca.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-float.h \ - /usr/include/unistd.h /usr/include/arm-linux-gnueabihf/bits/posix_opt.h \ - /usr/include/arm-linux-gnueabihf/bits/environments.h \ - /usr/include/arm-linux-gnueabihf/bits/confname.h /usr/include/getopt.h \ - /usr/include/fcntl.h /usr/include/arm-linux-gnueabihf/bits/fcntl.h \ - /usr/include/arm-linux-gnueabihf/bits/fcntl-linux.h \ - /usr/include/arm-linux-gnueabihf/bits/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/stat.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdbool.h \ - /usr/include/arm-linux-gnueabihf/sys/stat.h \ - /usr/include/arm-linux-gnueabihf/sys/ioctl.h \ - /usr/include/arm-linux-gnueabihf/bits/ioctls.h \ - /usr/include/arm-linux-gnueabihf/asm/ioctls.h \ - /usr/include/asm-generic/ioctls.h /usr/include/linux/ioctl.h \ - /usr/include/arm-linux-gnueabihf/asm/ioctl.h \ - /usr/include/asm-generic/ioctl.h \ - /usr/include/arm-linux-gnueabihf/bits/ioctl-types.h \ - /usr/include/arm-linux-gnueabihf/sys/ttydefaults.h /usr/include/errno.h \ - /usr/include/arm-linux-gnueabihf/bits/errno.h /usr/include/linux/errno.h \ - /usr/include/arm-linux-gnueabihf/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/include/dirent.h /usr/include/arm-linux-gnueabihf/bits/dirent.h \ - /usr/include/arm-linux-gnueabihf/bits/posix1_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/local_lim.h \ - /usr/include/linux/limits.h lib/bluetooth/bluetooth.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h \ - /usr/include/stdint.h /usr/include/arm-linux-gnueabihf/bits/wchar.h \ - /usr/include/string.h /usr/include/arm-linux-gnueabihf/bits/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string2.h /usr/include/byteswap.h \ - /usr/include/netinet/in.h /usr/include/arm-linux-gnueabihf/sys/socket.h \ - /usr/include/arm-linux-gnueabihf/sys/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/socket.h \ - /usr/include/arm-linux-gnueabihf/bits/socket_type.h \ - /usr/include/arm-linux-gnueabihf/bits/sockaddr.h \ - /usr/include/arm-linux-gnueabihf/asm/socket.h \ - /usr/include/asm-generic/socket.h \ - /usr/include/arm-linux-gnueabihf/asm/sockios.h \ - /usr/include/asm-generic/sockios.h \ - /usr/include/arm-linux-gnueabihf/bits/in.h lib/bluetooth/sdp.h \ - lib/bluetooth/sdp_lib.h lib/bluetooth/hci.h /usr/include/glib-2.0/glib.h \ - /usr/include/glib-2.0/glib/galloca.h /usr/include/glib-2.0/glib/gtypes.h \ - /usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h \ - /usr/include/glib-2.0/glib/gmacros.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h \ - /usr/include/limits.h /usr/include/arm-linux-gnueabihf/bits/posix2_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/xopen_lim.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h \ - /usr/include/glib-2.0/glib/gversionmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/timex.h \ - /usr/include/glib-2.0/glib/garray.h \ - /usr/include/glib-2.0/glib/gasyncqueue.h \ - /usr/include/glib-2.0/glib/gthread.h \ - /usr/include/glib-2.0/glib/gatomic.h /usr/include/glib-2.0/glib/gerror.h \ - /usr/include/glib-2.0/glib/gquark.h \ - /usr/include/glib-2.0/glib/gbacktrace.h /usr/include/signal.h \ - /usr/include/arm-linux-gnueabihf/bits/signum.h \ - /usr/include/arm-linux-gnueabihf/bits/siginfo.h \ - /usr/include/arm-linux-gnueabihf/bits/sigaction.h \ - /usr/include/arm-linux-gnueabihf/bits/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/asm/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigstack.h \ - /usr/include/arm-linux-gnueabihf/sys/ucontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigthread.h \ - /usr/include/glib-2.0/glib/gbase64.h \ - /usr/include/glib-2.0/glib/gbitlock.h \ - /usr/include/glib-2.0/glib/gbookmarkfile.h \ - /usr/include/glib-2.0/glib/gbytes.h \ - /usr/include/glib-2.0/glib/gcharset.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/gconvert.h \ - /usr/include/glib-2.0/glib/gdataset.h /usr/include/glib-2.0/glib/gdate.h \ - /usr/include/glib-2.0/glib/gdatetime.h \ - /usr/include/glib-2.0/glib/gtimezone.h /usr/include/glib-2.0/glib/gdir.h \ - /usr/include/glib-2.0/glib/genviron.h \ - /usr/include/glib-2.0/glib/gfileutils.h \ - /usr/include/glib-2.0/glib/ggettext.h /usr/include/glib-2.0/glib/ghash.h \ - /usr/include/glib-2.0/glib/glist.h /usr/include/glib-2.0/glib/gmem.h \ - /usr/include/glib-2.0/glib/gnode.h /usr/include/glib-2.0/glib/ghmac.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/ghook.h \ - /usr/include/glib-2.0/glib/ghostutils.h \ - /usr/include/glib-2.0/glib/giochannel.h \ - /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gpoll.h \ - /usr/include/glib-2.0/glib/gslist.h /usr/include/glib-2.0/glib/gstring.h \ - /usr/include/glib-2.0/glib/gunicode.h \ - /usr/include/glib-2.0/glib/gutils.h \ - /usr/include/glib-2.0/glib/gkeyfile.h \ - /usr/include/glib-2.0/glib/gmappedfile.h \ - /usr/include/glib-2.0/glib/gmarkup.h \ - /usr/include/glib-2.0/glib/gmessages.h \ - /usr/include/glib-2.0/glib/goption.h \ - /usr/include/glib-2.0/glib/gpattern.h \ - /usr/include/glib-2.0/glib/gprimes.h /usr/include/glib-2.0/glib/gqsort.h \ - /usr/include/glib-2.0/glib/gqueue.h /usr/include/glib-2.0/glib/grand.h \ - /usr/include/glib-2.0/glib/gregex.h \ - /usr/include/glib-2.0/glib/gscanner.h \ - /usr/include/glib-2.0/glib/gsequence.h \ - /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gslice.h \ - /usr/include/glib-2.0/glib/gspawn.h \ - /usr/include/glib-2.0/glib/gstrfuncs.h \ - /usr/include/glib-2.0/glib/gstringchunk.h \ - /usr/include/glib-2.0/glib/gtestutils.h \ - /usr/include/glib-2.0/glib/gthreadpool.h \ - /usr/include/glib-2.0/glib/gtimer.h \ - /usr/include/glib-2.0/glib/gtrashstack.h \ - /usr/include/glib-2.0/glib/gtree.h \ - /usr/include/glib-2.0/glib/gurifuncs.h \ - /usr/include/glib-2.0/glib/gvarianttype.h \ - /usr/include/glib-2.0/glib/gvariant.h \ - /usr/include/glib-2.0/glib/gversion.h \ - /usr/include/glib-2.0/glib/deprecated/gallocator.h \ - /usr/include/glib-2.0/glib/deprecated/gcache.h \ - /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ - /usr/include/glib-2.0/glib/deprecated/gmain.h \ - /usr/include/glib-2.0/glib/deprecated/grel.h \ - /usr/include/glib-2.0/glib/deprecated/gthread.h /usr/include/pthread.h \ - /usr/include/sched.h /usr/include/arm-linux-gnueabihf/bits/sched.h \ - /usr/include/arm-linux-gnueabihf/bits/setjmp.h \ - /usr/include/dbus-1.0/dbus/dbus.h \ - /usr/lib/arm-linux-gnueabihf/dbus-1.0/include/dbus/dbus-arch-deps.h \ - /usr/include/dbus-1.0/dbus/dbus-macros.h \ - /usr/include/dbus-1.0/dbus/dbus-address.h \ - /usr/include/dbus-1.0/dbus/dbus-types.h \ - /usr/include/dbus-1.0/dbus/dbus-errors.h \ - /usr/include/dbus-1.0/dbus/dbus-protocol.h \ - /usr/include/dbus-1.0/dbus/dbus-bus.h \ - /usr/include/dbus-1.0/dbus/dbus-connection.h \ - /usr/include/dbus-1.0/dbus/dbus-memory.h \ - /usr/include/dbus-1.0/dbus/dbus-message.h \ - /usr/include/dbus-1.0/dbus/dbus-shared.h \ - /usr/include/dbus-1.0/dbus/dbus-misc.h \ - /usr/include/dbus-1.0/dbus/dbus-pending-call.h \ - /usr/include/dbus-1.0/dbus/dbus-server.h \ - /usr/include/dbus-1.0/dbus/dbus-signature.h \ - /usr/include/dbus-1.0/dbus/dbus-syntax.h \ - /usr/include/dbus-1.0/dbus/dbus-threads.h gdbus/gdbus.h btio/btio.h \ - src/log.h lib/uuid.h lib/mgmt.h attrib/att.h src/hcid.h src/adapter.h \ - lib/bluetooth/hci_lib.h attrib/gattrib.h src/attio.h src/device.h \ - src/profile.h src/dbus-common.h src/error.h src/glib-helper.h \ - src/sdp-client.h attrib/gatt.h src/agent.h src/sdp-xml.h src/storage.h \ - src/textfile.h src/attrib-server.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/include/stdio.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/sys_errlist.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio.h: - -/usr/include/stdlib.h: - -/usr/include/arm-linux-gnueabihf/bits/waitflags.h: - -/usr/include/arm-linux-gnueabihf/bits/waitstatus.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/xlocale.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/time.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/alloca.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-float.h: - -/usr/include/unistd.h: - -/usr/include/arm-linux-gnueabihf/bits/posix_opt.h: - -/usr/include/arm-linux-gnueabihf/bits/environments.h: - -/usr/include/arm-linux-gnueabihf/bits/confname.h: - -/usr/include/getopt.h: - -/usr/include/fcntl.h: - -/usr/include/arm-linux-gnueabihf/bits/fcntl.h: - -/usr/include/arm-linux-gnueabihf/bits/fcntl-linux.h: - -/usr/include/arm-linux-gnueabihf/bits/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/stat.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdbool.h: - -/usr/include/arm-linux-gnueabihf/sys/stat.h: - -/usr/include/arm-linux-gnueabihf/sys/ioctl.h: - -/usr/include/arm-linux-gnueabihf/bits/ioctls.h: - -/usr/include/arm-linux-gnueabihf/asm/ioctls.h: - -/usr/include/asm-generic/ioctls.h: - -/usr/include/linux/ioctl.h: - -/usr/include/arm-linux-gnueabihf/asm/ioctl.h: - -/usr/include/asm-generic/ioctl.h: - -/usr/include/arm-linux-gnueabihf/bits/ioctl-types.h: - -/usr/include/arm-linux-gnueabihf/sys/ttydefaults.h: - -/usr/include/errno.h: - -/usr/include/arm-linux-gnueabihf/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/arm-linux-gnueabihf/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/include/dirent.h: - -/usr/include/arm-linux-gnueabihf/bits/dirent.h: - -/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/local_lim.h: - -/usr/include/linux/limits.h: - -lib/bluetooth/bluetooth.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/arm-linux-gnueabihf/bits/wchar.h: - -/usr/include/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string2.h: - -/usr/include/byteswap.h: - -/usr/include/netinet/in.h: - -/usr/include/arm-linux-gnueabihf/sys/socket.h: - -/usr/include/arm-linux-gnueabihf/sys/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/socket.h: - -/usr/include/arm-linux-gnueabihf/bits/socket_type.h: - -/usr/include/arm-linux-gnueabihf/bits/sockaddr.h: - -/usr/include/arm-linux-gnueabihf/asm/socket.h: - -/usr/include/asm-generic/socket.h: - -/usr/include/arm-linux-gnueabihf/asm/sockios.h: - -/usr/include/asm-generic/sockios.h: - -/usr/include/arm-linux-gnueabihf/bits/in.h: - -lib/bluetooth/sdp.h: - -lib/bluetooth/sdp_lib.h: - -lib/bluetooth/hci.h: - -/usr/include/glib-2.0/glib.h: - -/usr/include/glib-2.0/glib/galloca.h: - -/usr/include/glib-2.0/glib/gtypes.h: - -/usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h: - -/usr/include/glib-2.0/glib/gmacros.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h: - -/usr/include/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix2_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/xopen_lim.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h: - -/usr/include/glib-2.0/glib/gversionmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/timex.h: - -/usr/include/glib-2.0/glib/garray.h: - -/usr/include/glib-2.0/glib/gasyncqueue.h: - -/usr/include/glib-2.0/glib/gthread.h: - -/usr/include/glib-2.0/glib/gatomic.h: - -/usr/include/glib-2.0/glib/gerror.h: - -/usr/include/glib-2.0/glib/gquark.h: - -/usr/include/glib-2.0/glib/gbacktrace.h: - -/usr/include/signal.h: - -/usr/include/arm-linux-gnueabihf/bits/signum.h: - -/usr/include/arm-linux-gnueabihf/bits/siginfo.h: - -/usr/include/arm-linux-gnueabihf/bits/sigaction.h: - -/usr/include/arm-linux-gnueabihf/bits/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/asm/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigstack.h: - -/usr/include/arm-linux-gnueabihf/sys/ucontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigthread.h: - -/usr/include/glib-2.0/glib/gbase64.h: - -/usr/include/glib-2.0/glib/gbitlock.h: - -/usr/include/glib-2.0/glib/gbookmarkfile.h: - -/usr/include/glib-2.0/glib/gbytes.h: - -/usr/include/glib-2.0/glib/gcharset.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/gconvert.h: - -/usr/include/glib-2.0/glib/gdataset.h: - -/usr/include/glib-2.0/glib/gdate.h: - -/usr/include/glib-2.0/glib/gdatetime.h: - -/usr/include/glib-2.0/glib/gtimezone.h: - -/usr/include/glib-2.0/glib/gdir.h: - -/usr/include/glib-2.0/glib/genviron.h: - -/usr/include/glib-2.0/glib/gfileutils.h: - -/usr/include/glib-2.0/glib/ggettext.h: - -/usr/include/glib-2.0/glib/ghash.h: - -/usr/include/glib-2.0/glib/glist.h: - -/usr/include/glib-2.0/glib/gmem.h: - -/usr/include/glib-2.0/glib/gnode.h: - -/usr/include/glib-2.0/glib/ghmac.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/ghook.h: - -/usr/include/glib-2.0/glib/ghostutils.h: - -/usr/include/glib-2.0/glib/giochannel.h: - -/usr/include/glib-2.0/glib/gmain.h: - -/usr/include/glib-2.0/glib/gpoll.h: - -/usr/include/glib-2.0/glib/gslist.h: - -/usr/include/glib-2.0/glib/gstring.h: - -/usr/include/glib-2.0/glib/gunicode.h: - -/usr/include/glib-2.0/glib/gutils.h: - -/usr/include/glib-2.0/glib/gkeyfile.h: - -/usr/include/glib-2.0/glib/gmappedfile.h: - -/usr/include/glib-2.0/glib/gmarkup.h: - -/usr/include/glib-2.0/glib/gmessages.h: - -/usr/include/glib-2.0/glib/goption.h: - -/usr/include/glib-2.0/glib/gpattern.h: - -/usr/include/glib-2.0/glib/gprimes.h: - -/usr/include/glib-2.0/glib/gqsort.h: - -/usr/include/glib-2.0/glib/gqueue.h: - -/usr/include/glib-2.0/glib/grand.h: - -/usr/include/glib-2.0/glib/gregex.h: - -/usr/include/glib-2.0/glib/gscanner.h: - -/usr/include/glib-2.0/glib/gsequence.h: - -/usr/include/glib-2.0/glib/gshell.h: - -/usr/include/glib-2.0/glib/gslice.h: - -/usr/include/glib-2.0/glib/gspawn.h: - -/usr/include/glib-2.0/glib/gstrfuncs.h: - -/usr/include/glib-2.0/glib/gstringchunk.h: - -/usr/include/glib-2.0/glib/gtestutils.h: - -/usr/include/glib-2.0/glib/gthreadpool.h: - -/usr/include/glib-2.0/glib/gtimer.h: - -/usr/include/glib-2.0/glib/gtrashstack.h: - -/usr/include/glib-2.0/glib/gtree.h: - -/usr/include/glib-2.0/glib/gurifuncs.h: - -/usr/include/glib-2.0/glib/gvarianttype.h: - -/usr/include/glib-2.0/glib/gvariant.h: - -/usr/include/glib-2.0/glib/gversion.h: - -/usr/include/glib-2.0/glib/deprecated/gallocator.h: - -/usr/include/glib-2.0/glib/deprecated/gcache.h: - -/usr/include/glib-2.0/glib/deprecated/gcompletion.h: - -/usr/include/glib-2.0/glib/deprecated/gmain.h: - -/usr/include/glib-2.0/glib/deprecated/grel.h: - -/usr/include/glib-2.0/glib/deprecated/gthread.h: - -/usr/include/pthread.h: - -/usr/include/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/setjmp.h: - -/usr/include/dbus-1.0/dbus/dbus.h: - -/usr/lib/arm-linux-gnueabihf/dbus-1.0/include/dbus/dbus-arch-deps.h: - -/usr/include/dbus-1.0/dbus/dbus-macros.h: - -/usr/include/dbus-1.0/dbus/dbus-address.h: - -/usr/include/dbus-1.0/dbus/dbus-types.h: - -/usr/include/dbus-1.0/dbus/dbus-errors.h: - -/usr/include/dbus-1.0/dbus/dbus-protocol.h: - -/usr/include/dbus-1.0/dbus/dbus-bus.h: - -/usr/include/dbus-1.0/dbus/dbus-connection.h: - -/usr/include/dbus-1.0/dbus/dbus-memory.h: - -/usr/include/dbus-1.0/dbus/dbus-message.h: - -/usr/include/dbus-1.0/dbus/dbus-shared.h: - -/usr/include/dbus-1.0/dbus/dbus-misc.h: - -/usr/include/dbus-1.0/dbus/dbus-pending-call.h: - -/usr/include/dbus-1.0/dbus/dbus-server.h: - -/usr/include/dbus-1.0/dbus/dbus-signature.h: - -/usr/include/dbus-1.0/dbus/dbus-syntax.h: - -/usr/include/dbus-1.0/dbus/dbus-threads.h: - -gdbus/gdbus.h: - -btio/btio.h: - -src/log.h: - -lib/uuid.h: - -lib/mgmt.h: - -attrib/att.h: - -src/hcid.h: - -src/adapter.h: - -lib/bluetooth/hci_lib.h: - -attrib/gattrib.h: - -src/attio.h: - -src/device.h: - -src/profile.h: - -src/dbus-common.h: - -src/error.h: - -src/glib-helper.h: - -src/sdp-client.h: - -attrib/gatt.h: - -src/agent.h: - -src/sdp-xml.h: - -src/storage.h: - -src/textfile.h: - -src/attrib-server.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/src/.deps/bluetoothd-eir.Po b/GRIB_BLE_HUB/libs/ble_extend/src/.deps/bluetoothd-eir.Po deleted file mode 100644 index 7fe0a8a..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/src/.deps/bluetoothd-eir.Po +++ /dev/null @@ -1,471 +0,0 @@ -src/bluetoothd-eir.o: src/eir.c /usr/include/stdc-predef.h config.h \ - /usr/include/errno.h /usr/include/features.h \ - /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/include/arm-linux-gnueabihf/bits/errno.h /usr/include/linux/errno.h \ - /usr/include/arm-linux-gnueabihf/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/include/ctype.h /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h /usr/include/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/xlocale.h /usr/include/stdlib.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/include/arm-linux-gnueabihf/bits/waitflags.h \ - /usr/include/arm-linux-gnueabihf/bits/waitstatus.h \ - /usr/include/arm-linux-gnueabihf/sys/types.h /usr/include/time.h \ - /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/alloca.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-float.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h \ - /usr/include/stdint.h /usr/include/arm-linux-gnueabihf/bits/wchar.h \ - /usr/include/glib-2.0/glib.h /usr/include/glib-2.0/glib/galloca.h \ - /usr/include/glib-2.0/glib/gtypes.h \ - /usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h \ - /usr/include/glib-2.0/glib/gmacros.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h \ - /usr/include/limits.h /usr/include/arm-linux-gnueabihf/bits/posix1_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/local_lim.h \ - /usr/include/linux/limits.h \ - /usr/include/arm-linux-gnueabihf/bits/posix2_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/xopen_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h \ - /usr/include/glib-2.0/glib/gversionmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/timex.h \ - /usr/include/glib-2.0/glib/garray.h \ - /usr/include/glib-2.0/glib/gasyncqueue.h \ - /usr/include/glib-2.0/glib/gthread.h \ - /usr/include/glib-2.0/glib/gatomic.h /usr/include/glib-2.0/glib/gerror.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/glib-2.0/glib/gquark.h \ - /usr/include/glib-2.0/glib/gbacktrace.h /usr/include/signal.h \ - /usr/include/arm-linux-gnueabihf/bits/signum.h \ - /usr/include/arm-linux-gnueabihf/bits/siginfo.h \ - /usr/include/arm-linux-gnueabihf/bits/sigaction.h \ - /usr/include/arm-linux-gnueabihf/bits/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/asm/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigstack.h \ - /usr/include/arm-linux-gnueabihf/sys/ucontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigthread.h \ - /usr/include/glib-2.0/glib/gbase64.h \ - /usr/include/glib-2.0/glib/gbitlock.h \ - /usr/include/glib-2.0/glib/gbookmarkfile.h \ - /usr/include/glib-2.0/glib/gbytes.h \ - /usr/include/glib-2.0/glib/gcharset.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/gconvert.h \ - /usr/include/glib-2.0/glib/gdataset.h /usr/include/glib-2.0/glib/gdate.h \ - /usr/include/glib-2.0/glib/gdatetime.h \ - /usr/include/glib-2.0/glib/gtimezone.h /usr/include/glib-2.0/glib/gdir.h \ - /usr/include/dirent.h /usr/include/arm-linux-gnueabihf/bits/dirent.h \ - /usr/include/glib-2.0/glib/genviron.h \ - /usr/include/glib-2.0/glib/gfileutils.h \ - /usr/include/glib-2.0/glib/ggettext.h /usr/include/glib-2.0/glib/ghash.h \ - /usr/include/glib-2.0/glib/glist.h /usr/include/glib-2.0/glib/gmem.h \ - /usr/include/glib-2.0/glib/gnode.h /usr/include/glib-2.0/glib/ghmac.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/ghook.h \ - /usr/include/glib-2.0/glib/ghostutils.h \ - /usr/include/glib-2.0/glib/giochannel.h \ - /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gpoll.h \ - /usr/include/glib-2.0/glib/gslist.h /usr/include/glib-2.0/glib/gstring.h \ - /usr/include/glib-2.0/glib/gunicode.h \ - /usr/include/glib-2.0/glib/gutils.h \ - /usr/include/glib-2.0/glib/gkeyfile.h \ - /usr/include/glib-2.0/glib/gmappedfile.h \ - /usr/include/glib-2.0/glib/gmarkup.h \ - /usr/include/glib-2.0/glib/gmessages.h \ - /usr/include/glib-2.0/glib/goption.h \ - /usr/include/glib-2.0/glib/gpattern.h \ - /usr/include/glib-2.0/glib/gprimes.h /usr/include/glib-2.0/glib/gqsort.h \ - /usr/include/glib-2.0/glib/gqueue.h /usr/include/glib-2.0/glib/grand.h \ - /usr/include/glib-2.0/glib/gregex.h \ - /usr/include/glib-2.0/glib/gscanner.h \ - /usr/include/glib-2.0/glib/gsequence.h \ - /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gslice.h \ - /usr/include/glib-2.0/glib/gspawn.h \ - /usr/include/glib-2.0/glib/gstrfuncs.h \ - /usr/include/glib-2.0/glib/gstringchunk.h \ - /usr/include/glib-2.0/glib/gtestutils.h \ - /usr/include/glib-2.0/glib/gthreadpool.h \ - /usr/include/glib-2.0/glib/gtimer.h \ - /usr/include/glib-2.0/glib/gtrashstack.h \ - /usr/include/glib-2.0/glib/gtree.h \ - /usr/include/glib-2.0/glib/gurifuncs.h \ - /usr/include/glib-2.0/glib/gvarianttype.h \ - /usr/include/glib-2.0/glib/gvariant.h \ - /usr/include/glib-2.0/glib/gversion.h \ - /usr/include/glib-2.0/glib/deprecated/gallocator.h \ - /usr/include/glib-2.0/glib/deprecated/gcache.h \ - /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ - /usr/include/glib-2.0/glib/deprecated/gmain.h \ - /usr/include/glib-2.0/glib/deprecated/grel.h \ - /usr/include/glib-2.0/glib/deprecated/gthread.h /usr/include/pthread.h \ - /usr/include/sched.h /usr/include/arm-linux-gnueabihf/bits/sched.h \ - /usr/include/arm-linux-gnueabihf/bits/setjmp.h lib/bluetooth/bluetooth.h \ - /usr/include/stdio.h /usr/include/libio.h /usr/include/_G_config.h \ - /usr/include/wchar.h /usr/include/arm-linux-gnueabihf/bits/sys_errlist.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio.h /usr/include/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string2.h /usr/include/byteswap.h \ - /usr/include/netinet/in.h /usr/include/arm-linux-gnueabihf/sys/socket.h \ - /usr/include/arm-linux-gnueabihf/sys/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/socket.h \ - /usr/include/arm-linux-gnueabihf/bits/socket_type.h \ - /usr/include/arm-linux-gnueabihf/bits/sockaddr.h \ - /usr/include/arm-linux-gnueabihf/asm/socket.h \ - /usr/include/asm-generic/socket.h \ - /usr/include/arm-linux-gnueabihf/asm/sockios.h \ - /usr/include/asm-generic/sockios.h \ - /usr/include/arm-linux-gnueabihf/bits/in.h lib/bluetooth/hci.h \ - lib/bluetooth/sdp.h src/glib-helper.h src/eir.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/include/errno.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/include/arm-linux-gnueabihf/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/arm-linux-gnueabihf/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/include/ctype.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/xlocale.h: - -/usr/include/stdlib.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/include/arm-linux-gnueabihf/bits/waitflags.h: - -/usr/include/arm-linux-gnueabihf/bits/waitstatus.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/time.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/alloca.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-float.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/arm-linux-gnueabihf/bits/wchar.h: - -/usr/include/glib-2.0/glib.h: - -/usr/include/glib-2.0/glib/galloca.h: - -/usr/include/glib-2.0/glib/gtypes.h: - -/usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h: - -/usr/include/glib-2.0/glib/gmacros.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h: - -/usr/include/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/local_lim.h: - -/usr/include/linux/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix2_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/xopen_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h: - -/usr/include/glib-2.0/glib/gversionmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/timex.h: - -/usr/include/glib-2.0/glib/garray.h: - -/usr/include/glib-2.0/glib/gasyncqueue.h: - -/usr/include/glib-2.0/glib/gthread.h: - -/usr/include/glib-2.0/glib/gatomic.h: - -/usr/include/glib-2.0/glib/gerror.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/glib-2.0/glib/gquark.h: - -/usr/include/glib-2.0/glib/gbacktrace.h: - -/usr/include/signal.h: - -/usr/include/arm-linux-gnueabihf/bits/signum.h: - -/usr/include/arm-linux-gnueabihf/bits/siginfo.h: - -/usr/include/arm-linux-gnueabihf/bits/sigaction.h: - -/usr/include/arm-linux-gnueabihf/bits/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/asm/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigstack.h: - -/usr/include/arm-linux-gnueabihf/sys/ucontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigthread.h: - -/usr/include/glib-2.0/glib/gbase64.h: - -/usr/include/glib-2.0/glib/gbitlock.h: - -/usr/include/glib-2.0/glib/gbookmarkfile.h: - -/usr/include/glib-2.0/glib/gbytes.h: - -/usr/include/glib-2.0/glib/gcharset.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/gconvert.h: - -/usr/include/glib-2.0/glib/gdataset.h: - -/usr/include/glib-2.0/glib/gdate.h: - -/usr/include/glib-2.0/glib/gdatetime.h: - -/usr/include/glib-2.0/glib/gtimezone.h: - -/usr/include/glib-2.0/glib/gdir.h: - -/usr/include/dirent.h: - -/usr/include/arm-linux-gnueabihf/bits/dirent.h: - -/usr/include/glib-2.0/glib/genviron.h: - -/usr/include/glib-2.0/glib/gfileutils.h: - -/usr/include/glib-2.0/glib/ggettext.h: - -/usr/include/glib-2.0/glib/ghash.h: - -/usr/include/glib-2.0/glib/glist.h: - -/usr/include/glib-2.0/glib/gmem.h: - -/usr/include/glib-2.0/glib/gnode.h: - -/usr/include/glib-2.0/glib/ghmac.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/ghook.h: - -/usr/include/glib-2.0/glib/ghostutils.h: - -/usr/include/glib-2.0/glib/giochannel.h: - -/usr/include/glib-2.0/glib/gmain.h: - -/usr/include/glib-2.0/glib/gpoll.h: - -/usr/include/glib-2.0/glib/gslist.h: - -/usr/include/glib-2.0/glib/gstring.h: - -/usr/include/glib-2.0/glib/gunicode.h: - -/usr/include/glib-2.0/glib/gutils.h: - -/usr/include/glib-2.0/glib/gkeyfile.h: - -/usr/include/glib-2.0/glib/gmappedfile.h: - -/usr/include/glib-2.0/glib/gmarkup.h: - -/usr/include/glib-2.0/glib/gmessages.h: - -/usr/include/glib-2.0/glib/goption.h: - -/usr/include/glib-2.0/glib/gpattern.h: - -/usr/include/glib-2.0/glib/gprimes.h: - -/usr/include/glib-2.0/glib/gqsort.h: - -/usr/include/glib-2.0/glib/gqueue.h: - -/usr/include/glib-2.0/glib/grand.h: - -/usr/include/glib-2.0/glib/gregex.h: - -/usr/include/glib-2.0/glib/gscanner.h: - -/usr/include/glib-2.0/glib/gsequence.h: - -/usr/include/glib-2.0/glib/gshell.h: - -/usr/include/glib-2.0/glib/gslice.h: - -/usr/include/glib-2.0/glib/gspawn.h: - -/usr/include/glib-2.0/glib/gstrfuncs.h: - -/usr/include/glib-2.0/glib/gstringchunk.h: - -/usr/include/glib-2.0/glib/gtestutils.h: - -/usr/include/glib-2.0/glib/gthreadpool.h: - -/usr/include/glib-2.0/glib/gtimer.h: - -/usr/include/glib-2.0/glib/gtrashstack.h: - -/usr/include/glib-2.0/glib/gtree.h: - -/usr/include/glib-2.0/glib/gurifuncs.h: - -/usr/include/glib-2.0/glib/gvarianttype.h: - -/usr/include/glib-2.0/glib/gvariant.h: - -/usr/include/glib-2.0/glib/gversion.h: - -/usr/include/glib-2.0/glib/deprecated/gallocator.h: - -/usr/include/glib-2.0/glib/deprecated/gcache.h: - -/usr/include/glib-2.0/glib/deprecated/gcompletion.h: - -/usr/include/glib-2.0/glib/deprecated/gmain.h: - -/usr/include/glib-2.0/glib/deprecated/grel.h: - -/usr/include/glib-2.0/glib/deprecated/gthread.h: - -/usr/include/pthread.h: - -/usr/include/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/setjmp.h: - -lib/bluetooth/bluetooth.h: - -/usr/include/stdio.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/include/arm-linux-gnueabihf/bits/sys_errlist.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio.h: - -/usr/include/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string2.h: - -/usr/include/byteswap.h: - -/usr/include/netinet/in.h: - -/usr/include/arm-linux-gnueabihf/sys/socket.h: - -/usr/include/arm-linux-gnueabihf/sys/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/socket.h: - -/usr/include/arm-linux-gnueabihf/bits/socket_type.h: - -/usr/include/arm-linux-gnueabihf/bits/sockaddr.h: - -/usr/include/arm-linux-gnueabihf/asm/socket.h: - -/usr/include/asm-generic/socket.h: - -/usr/include/arm-linux-gnueabihf/asm/sockios.h: - -/usr/include/asm-generic/sockios.h: - -/usr/include/arm-linux-gnueabihf/bits/in.h: - -lib/bluetooth/hci.h: - -lib/bluetooth/sdp.h: - -src/glib-helper.h: - -src/eir.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/src/.deps/bluetoothd-error.Po b/GRIB_BLE_HUB/libs/ble_extend/src/.deps/bluetoothd-error.Po deleted file mode 100644 index d1f534d..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/src/.deps/bluetoothd-error.Po +++ /dev/null @@ -1,414 +0,0 @@ -src/bluetoothd-error.o: src/error.c /usr/include/stdc-predef.h config.h \ - gdbus/gdbus.h /usr/include/dbus-1.0/dbus/dbus.h \ - /usr/lib/arm-linux-gnueabihf/dbus-1.0/include/dbus/dbus-arch-deps.h \ - /usr/include/dbus-1.0/dbus/dbus-macros.h \ - /usr/include/dbus-1.0/dbus/dbus-address.h \ - /usr/include/dbus-1.0/dbus/dbus-types.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/include/dbus-1.0/dbus/dbus-errors.h \ - /usr/include/dbus-1.0/dbus/dbus-protocol.h \ - /usr/include/dbus-1.0/dbus/dbus-bus.h \ - /usr/include/dbus-1.0/dbus/dbus-connection.h \ - /usr/include/dbus-1.0/dbus/dbus-memory.h \ - /usr/include/dbus-1.0/dbus/dbus-message.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/dbus-1.0/dbus/dbus-shared.h \ - /usr/include/dbus-1.0/dbus/dbus-misc.h \ - /usr/include/dbus-1.0/dbus/dbus-pending-call.h \ - /usr/include/dbus-1.0/dbus/dbus-server.h \ - /usr/include/dbus-1.0/dbus/dbus-signature.h \ - /usr/include/dbus-1.0/dbus/dbus-syntax.h \ - /usr/include/dbus-1.0/dbus/dbus-threads.h /usr/include/glib-2.0/glib.h \ - /usr/include/glib-2.0/glib/galloca.h /usr/include/glib-2.0/glib/gtypes.h \ - /usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h \ - /usr/include/glib-2.0/glib/gmacros.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h \ - /usr/include/limits.h /usr/include/features.h \ - /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/include/arm-linux-gnueabihf/bits/posix1_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/local_lim.h \ - /usr/include/linux/limits.h \ - /usr/include/arm-linux-gnueabihf/bits/posix2_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/xopen_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h \ - /usr/include/glib-2.0/glib/gversionmacros.h /usr/include/time.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h \ - /usr/include/arm-linux-gnueabihf/bits/timex.h /usr/include/xlocale.h \ - /usr/include/glib-2.0/glib/garray.h \ - /usr/include/glib-2.0/glib/gasyncqueue.h \ - /usr/include/glib-2.0/glib/gthread.h \ - /usr/include/glib-2.0/glib/gatomic.h /usr/include/glib-2.0/glib/gerror.h \ - /usr/include/glib-2.0/glib/gquark.h \ - /usr/include/glib-2.0/glib/gbacktrace.h /usr/include/signal.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/signum.h \ - /usr/include/arm-linux-gnueabihf/bits/siginfo.h \ - /usr/include/arm-linux-gnueabihf/bits/sigaction.h \ - /usr/include/arm-linux-gnueabihf/bits/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/asm/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigstack.h \ - /usr/include/arm-linux-gnueabihf/sys/ucontext.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/endian.h /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/arm-linux-gnueabihf/bits/sigthread.h \ - /usr/include/glib-2.0/glib/gbase64.h \ - /usr/include/glib-2.0/glib/gbitlock.h \ - /usr/include/glib-2.0/glib/gbookmarkfile.h \ - /usr/include/glib-2.0/glib/gbytes.h \ - /usr/include/glib-2.0/glib/gcharset.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/gconvert.h \ - /usr/include/glib-2.0/glib/gdataset.h /usr/include/glib-2.0/glib/gdate.h \ - /usr/include/glib-2.0/glib/gdatetime.h \ - /usr/include/glib-2.0/glib/gtimezone.h /usr/include/glib-2.0/glib/gdir.h \ - /usr/include/dirent.h /usr/include/arm-linux-gnueabihf/bits/dirent.h \ - /usr/include/glib-2.0/glib/genviron.h \ - /usr/include/glib-2.0/glib/gfileutils.h \ - /usr/include/glib-2.0/glib/ggettext.h /usr/include/glib-2.0/glib/ghash.h \ - /usr/include/glib-2.0/glib/glist.h /usr/include/glib-2.0/glib/gmem.h \ - /usr/include/glib-2.0/glib/gnode.h /usr/include/glib-2.0/glib/ghmac.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/ghook.h \ - /usr/include/glib-2.0/glib/ghostutils.h \ - /usr/include/glib-2.0/glib/giochannel.h \ - /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gpoll.h \ - /usr/include/glib-2.0/glib/gslist.h /usr/include/glib-2.0/glib/gstring.h \ - /usr/include/glib-2.0/glib/gunicode.h \ - /usr/include/glib-2.0/glib/gutils.h \ - /usr/include/glib-2.0/glib/gkeyfile.h \ - /usr/include/glib-2.0/glib/gmappedfile.h \ - /usr/include/glib-2.0/glib/gmarkup.h \ - /usr/include/glib-2.0/glib/gmessages.h \ - /usr/include/glib-2.0/glib/goption.h \ - /usr/include/glib-2.0/glib/gpattern.h \ - /usr/include/glib-2.0/glib/gprimes.h /usr/include/glib-2.0/glib/gqsort.h \ - /usr/include/glib-2.0/glib/gqueue.h /usr/include/glib-2.0/glib/grand.h \ - /usr/include/glib-2.0/glib/gregex.h \ - /usr/include/glib-2.0/glib/gscanner.h \ - /usr/include/glib-2.0/glib/gsequence.h \ - /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gslice.h \ - /usr/include/glib-2.0/glib/gspawn.h \ - /usr/include/glib-2.0/glib/gstrfuncs.h \ - /usr/include/glib-2.0/glib/gstringchunk.h \ - /usr/include/glib-2.0/glib/gtestutils.h \ - /usr/include/glib-2.0/glib/gthreadpool.h \ - /usr/include/glib-2.0/glib/gtimer.h \ - /usr/include/glib-2.0/glib/gtrashstack.h \ - /usr/include/glib-2.0/glib/gtree.h \ - /usr/include/glib-2.0/glib/gurifuncs.h \ - /usr/include/glib-2.0/glib/gvarianttype.h \ - /usr/include/glib-2.0/glib/gvariant.h \ - /usr/include/glib-2.0/glib/gversion.h \ - /usr/include/glib-2.0/glib/deprecated/gallocator.h \ - /usr/include/glib-2.0/glib/deprecated/gcache.h \ - /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ - /usr/include/glib-2.0/glib/deprecated/gmain.h \ - /usr/include/glib-2.0/glib/deprecated/grel.h \ - /usr/include/glib-2.0/glib/deprecated/gthread.h \ - /usr/include/arm-linux-gnueabihf/sys/types.h \ - /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h /usr/include/pthread.h \ - /usr/include/sched.h /usr/include/arm-linux-gnueabihf/bits/sched.h \ - /usr/include/arm-linux-gnueabihf/bits/setjmp.h src/error.h - -/usr/include/stdc-predef.h: - -config.h: - -gdbus/gdbus.h: - -/usr/include/dbus-1.0/dbus/dbus.h: - -/usr/lib/arm-linux-gnueabihf/dbus-1.0/include/dbus/dbus-arch-deps.h: - -/usr/include/dbus-1.0/dbus/dbus-macros.h: - -/usr/include/dbus-1.0/dbus/dbus-address.h: - -/usr/include/dbus-1.0/dbus/dbus-types.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/include/dbus-1.0/dbus/dbus-errors.h: - -/usr/include/dbus-1.0/dbus/dbus-protocol.h: - -/usr/include/dbus-1.0/dbus/dbus-bus.h: - -/usr/include/dbus-1.0/dbus/dbus-connection.h: - -/usr/include/dbus-1.0/dbus/dbus-memory.h: - -/usr/include/dbus-1.0/dbus/dbus-message.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/dbus-1.0/dbus/dbus-shared.h: - -/usr/include/dbus-1.0/dbus/dbus-misc.h: - -/usr/include/dbus-1.0/dbus/dbus-pending-call.h: - -/usr/include/dbus-1.0/dbus/dbus-server.h: - -/usr/include/dbus-1.0/dbus/dbus-signature.h: - -/usr/include/dbus-1.0/dbus/dbus-syntax.h: - -/usr/include/dbus-1.0/dbus/dbus-threads.h: - -/usr/include/glib-2.0/glib.h: - -/usr/include/glib-2.0/glib/galloca.h: - -/usr/include/glib-2.0/glib/gtypes.h: - -/usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h: - -/usr/include/glib-2.0/glib/gmacros.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h: - -/usr/include/limits.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/local_lim.h: - -/usr/include/linux/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix2_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/xopen_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h: - -/usr/include/glib-2.0/glib/gversionmacros.h: - -/usr/include/time.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/arm-linux-gnueabihf/bits/timex.h: - -/usr/include/xlocale.h: - -/usr/include/glib-2.0/glib/garray.h: - -/usr/include/glib-2.0/glib/gasyncqueue.h: - -/usr/include/glib-2.0/glib/gthread.h: - -/usr/include/glib-2.0/glib/gatomic.h: - -/usr/include/glib-2.0/glib/gerror.h: - -/usr/include/glib-2.0/glib/gquark.h: - -/usr/include/glib-2.0/glib/gbacktrace.h: - -/usr/include/signal.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/signum.h: - -/usr/include/arm-linux-gnueabihf/bits/siginfo.h: - -/usr/include/arm-linux-gnueabihf/bits/sigaction.h: - -/usr/include/arm-linux-gnueabihf/bits/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/asm/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigstack.h: - -/usr/include/arm-linux-gnueabihf/sys/ucontext.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/arm-linux-gnueabihf/bits/sigthread.h: - -/usr/include/glib-2.0/glib/gbase64.h: - -/usr/include/glib-2.0/glib/gbitlock.h: - -/usr/include/glib-2.0/glib/gbookmarkfile.h: - -/usr/include/glib-2.0/glib/gbytes.h: - -/usr/include/glib-2.0/glib/gcharset.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/gconvert.h: - -/usr/include/glib-2.0/glib/gdataset.h: - -/usr/include/glib-2.0/glib/gdate.h: - -/usr/include/glib-2.0/glib/gdatetime.h: - -/usr/include/glib-2.0/glib/gtimezone.h: - -/usr/include/glib-2.0/glib/gdir.h: - -/usr/include/dirent.h: - -/usr/include/arm-linux-gnueabihf/bits/dirent.h: - -/usr/include/glib-2.0/glib/genviron.h: - -/usr/include/glib-2.0/glib/gfileutils.h: - -/usr/include/glib-2.0/glib/ggettext.h: - -/usr/include/glib-2.0/glib/ghash.h: - -/usr/include/glib-2.0/glib/glist.h: - -/usr/include/glib-2.0/glib/gmem.h: - -/usr/include/glib-2.0/glib/gnode.h: - -/usr/include/glib-2.0/glib/ghmac.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/ghook.h: - -/usr/include/glib-2.0/glib/ghostutils.h: - -/usr/include/glib-2.0/glib/giochannel.h: - -/usr/include/glib-2.0/glib/gmain.h: - -/usr/include/glib-2.0/glib/gpoll.h: - -/usr/include/glib-2.0/glib/gslist.h: - -/usr/include/glib-2.0/glib/gstring.h: - -/usr/include/glib-2.0/glib/gunicode.h: - -/usr/include/glib-2.0/glib/gutils.h: - -/usr/include/glib-2.0/glib/gkeyfile.h: - -/usr/include/glib-2.0/glib/gmappedfile.h: - -/usr/include/glib-2.0/glib/gmarkup.h: - -/usr/include/glib-2.0/glib/gmessages.h: - -/usr/include/glib-2.0/glib/goption.h: - -/usr/include/glib-2.0/glib/gpattern.h: - -/usr/include/glib-2.0/glib/gprimes.h: - -/usr/include/glib-2.0/glib/gqsort.h: - -/usr/include/glib-2.0/glib/gqueue.h: - -/usr/include/glib-2.0/glib/grand.h: - -/usr/include/glib-2.0/glib/gregex.h: - -/usr/include/glib-2.0/glib/gscanner.h: - -/usr/include/glib-2.0/glib/gsequence.h: - -/usr/include/glib-2.0/glib/gshell.h: - -/usr/include/glib-2.0/glib/gslice.h: - -/usr/include/glib-2.0/glib/gspawn.h: - -/usr/include/glib-2.0/glib/gstrfuncs.h: - -/usr/include/glib-2.0/glib/gstringchunk.h: - -/usr/include/glib-2.0/glib/gtestutils.h: - -/usr/include/glib-2.0/glib/gthreadpool.h: - -/usr/include/glib-2.0/glib/gtimer.h: - -/usr/include/glib-2.0/glib/gtrashstack.h: - -/usr/include/glib-2.0/glib/gtree.h: - -/usr/include/glib-2.0/glib/gurifuncs.h: - -/usr/include/glib-2.0/glib/gvarianttype.h: - -/usr/include/glib-2.0/glib/gvariant.h: - -/usr/include/glib-2.0/glib/gversion.h: - -/usr/include/glib-2.0/glib/deprecated/gallocator.h: - -/usr/include/glib-2.0/glib/deprecated/gcache.h: - -/usr/include/glib-2.0/glib/deprecated/gcompletion.h: - -/usr/include/glib-2.0/glib/deprecated/gmain.h: - -/usr/include/glib-2.0/glib/deprecated/grel.h: - -/usr/include/glib-2.0/glib/deprecated/gthread.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/pthread.h: - -/usr/include/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/setjmp.h: - -src/error.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/src/.deps/bluetoothd-glib-helper.Po b/GRIB_BLE_HUB/libs/ble_extend/src/.deps/bluetoothd-glib-helper.Po deleted file mode 100644 index f4221f9..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/src/.deps/bluetoothd-glib-helper.Po +++ /dev/null @@ -1,468 +0,0 @@ -src/bluetoothd-glib-helper.o: src/glib-helper.c \ - /usr/include/stdc-predef.h config.h /usr/include/stdlib.h \ - /usr/include/features.h /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/include/arm-linux-gnueabihf/bits/waitflags.h \ - /usr/include/arm-linux-gnueabihf/bits/waitstatus.h /usr/include/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/xlocale.h /usr/include/arm-linux-gnueabihf/sys/types.h \ - /usr/include/time.h /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/alloca.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-float.h \ - /usr/include/errno.h /usr/include/arm-linux-gnueabihf/bits/errno.h \ - /usr/include/linux/errno.h /usr/include/arm-linux-gnueabihf/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - lib/bluetooth/bluetooth.h /usr/include/stdio.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/sys_errlist.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h \ - /usr/include/stdint.h /usr/include/arm-linux-gnueabihf/bits/wchar.h \ - /usr/include/string.h /usr/include/arm-linux-gnueabihf/bits/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string2.h /usr/include/byteswap.h \ - /usr/include/netinet/in.h /usr/include/arm-linux-gnueabihf/sys/socket.h \ - /usr/include/arm-linux-gnueabihf/sys/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/socket.h \ - /usr/include/arm-linux-gnueabihf/bits/socket_type.h \ - /usr/include/arm-linux-gnueabihf/bits/sockaddr.h \ - /usr/include/arm-linux-gnueabihf/asm/socket.h \ - /usr/include/asm-generic/socket.h \ - /usr/include/arm-linux-gnueabihf/asm/sockios.h \ - /usr/include/asm-generic/sockios.h \ - /usr/include/arm-linux-gnueabihf/bits/in.h lib/bluetooth/sdp.h \ - lib/bluetooth/sdp_lib.h lib/bluetooth/hci.h /usr/include/glib-2.0/glib.h \ - /usr/include/glib-2.0/glib/galloca.h /usr/include/glib-2.0/glib/gtypes.h \ - /usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h \ - /usr/include/glib-2.0/glib/gmacros.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h \ - /usr/include/limits.h /usr/include/arm-linux-gnueabihf/bits/posix1_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/local_lim.h \ - /usr/include/linux/limits.h \ - /usr/include/arm-linux-gnueabihf/bits/posix2_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/xopen_lim.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h \ - /usr/include/glib-2.0/glib/gversionmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/timex.h \ - /usr/include/glib-2.0/glib/garray.h \ - /usr/include/glib-2.0/glib/gasyncqueue.h \ - /usr/include/glib-2.0/glib/gthread.h \ - /usr/include/glib-2.0/glib/gatomic.h /usr/include/glib-2.0/glib/gerror.h \ - /usr/include/glib-2.0/glib/gquark.h \ - /usr/include/glib-2.0/glib/gbacktrace.h /usr/include/signal.h \ - /usr/include/arm-linux-gnueabihf/bits/signum.h \ - /usr/include/arm-linux-gnueabihf/bits/siginfo.h \ - /usr/include/arm-linux-gnueabihf/bits/sigaction.h \ - /usr/include/arm-linux-gnueabihf/bits/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/asm/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigstack.h \ - /usr/include/arm-linux-gnueabihf/sys/ucontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigthread.h \ - /usr/include/glib-2.0/glib/gbase64.h \ - /usr/include/glib-2.0/glib/gbitlock.h \ - /usr/include/glib-2.0/glib/gbookmarkfile.h \ - /usr/include/glib-2.0/glib/gbytes.h \ - /usr/include/glib-2.0/glib/gcharset.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/gconvert.h \ - /usr/include/glib-2.0/glib/gdataset.h /usr/include/glib-2.0/glib/gdate.h \ - /usr/include/glib-2.0/glib/gdatetime.h \ - /usr/include/glib-2.0/glib/gtimezone.h /usr/include/glib-2.0/glib/gdir.h \ - /usr/include/dirent.h /usr/include/arm-linux-gnueabihf/bits/dirent.h \ - /usr/include/glib-2.0/glib/genviron.h \ - /usr/include/glib-2.0/glib/gfileutils.h \ - /usr/include/glib-2.0/glib/ggettext.h /usr/include/glib-2.0/glib/ghash.h \ - /usr/include/glib-2.0/glib/glist.h /usr/include/glib-2.0/glib/gmem.h \ - /usr/include/glib-2.0/glib/gnode.h /usr/include/glib-2.0/glib/ghmac.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/ghook.h \ - /usr/include/glib-2.0/glib/ghostutils.h \ - /usr/include/glib-2.0/glib/giochannel.h \ - /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gpoll.h \ - /usr/include/glib-2.0/glib/gslist.h /usr/include/glib-2.0/glib/gstring.h \ - /usr/include/glib-2.0/glib/gunicode.h \ - /usr/include/glib-2.0/glib/gutils.h \ - /usr/include/glib-2.0/glib/gkeyfile.h \ - /usr/include/glib-2.0/glib/gmappedfile.h \ - /usr/include/glib-2.0/glib/gmarkup.h \ - /usr/include/glib-2.0/glib/gmessages.h \ - /usr/include/glib-2.0/glib/goption.h \ - /usr/include/glib-2.0/glib/gpattern.h \ - /usr/include/glib-2.0/glib/gprimes.h /usr/include/glib-2.0/glib/gqsort.h \ - /usr/include/glib-2.0/glib/gqueue.h /usr/include/glib-2.0/glib/grand.h \ - /usr/include/glib-2.0/glib/gregex.h \ - /usr/include/glib-2.0/glib/gscanner.h \ - /usr/include/glib-2.0/glib/gsequence.h \ - /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gslice.h \ - /usr/include/glib-2.0/glib/gspawn.h \ - /usr/include/glib-2.0/glib/gstrfuncs.h \ - /usr/include/glib-2.0/glib/gstringchunk.h \ - /usr/include/glib-2.0/glib/gtestutils.h \ - /usr/include/glib-2.0/glib/gthreadpool.h \ - /usr/include/glib-2.0/glib/gtimer.h \ - /usr/include/glib-2.0/glib/gtrashstack.h \ - /usr/include/glib-2.0/glib/gtree.h \ - /usr/include/glib-2.0/glib/gurifuncs.h \ - /usr/include/glib-2.0/glib/gvarianttype.h \ - /usr/include/glib-2.0/glib/gvariant.h \ - /usr/include/glib-2.0/glib/gversion.h \ - /usr/include/glib-2.0/glib/deprecated/gallocator.h \ - /usr/include/glib-2.0/glib/deprecated/gcache.h \ - /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ - /usr/include/glib-2.0/glib/deprecated/gmain.h \ - /usr/include/glib-2.0/glib/deprecated/grel.h \ - /usr/include/glib-2.0/glib/deprecated/gthread.h /usr/include/pthread.h \ - /usr/include/sched.h /usr/include/arm-linux-gnueabihf/bits/sched.h \ - /usr/include/arm-linux-gnueabihf/bits/setjmp.h src/glib-helper.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/include/stdlib.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/include/arm-linux-gnueabihf/bits/waitflags.h: - -/usr/include/arm-linux-gnueabihf/bits/waitstatus.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/xlocale.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/time.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/alloca.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-float.h: - -/usr/include/errno.h: - -/usr/include/arm-linux-gnueabihf/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/arm-linux-gnueabihf/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -lib/bluetooth/bluetooth.h: - -/usr/include/stdio.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/sys_errlist.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/arm-linux-gnueabihf/bits/wchar.h: - -/usr/include/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string2.h: - -/usr/include/byteswap.h: - -/usr/include/netinet/in.h: - -/usr/include/arm-linux-gnueabihf/sys/socket.h: - -/usr/include/arm-linux-gnueabihf/sys/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/socket.h: - -/usr/include/arm-linux-gnueabihf/bits/socket_type.h: - -/usr/include/arm-linux-gnueabihf/bits/sockaddr.h: - -/usr/include/arm-linux-gnueabihf/asm/socket.h: - -/usr/include/asm-generic/socket.h: - -/usr/include/arm-linux-gnueabihf/asm/sockios.h: - -/usr/include/asm-generic/sockios.h: - -/usr/include/arm-linux-gnueabihf/bits/in.h: - -lib/bluetooth/sdp.h: - -lib/bluetooth/sdp_lib.h: - -lib/bluetooth/hci.h: - -/usr/include/glib-2.0/glib.h: - -/usr/include/glib-2.0/glib/galloca.h: - -/usr/include/glib-2.0/glib/gtypes.h: - -/usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h: - -/usr/include/glib-2.0/glib/gmacros.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h: - -/usr/include/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/local_lim.h: - -/usr/include/linux/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix2_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/xopen_lim.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h: - -/usr/include/glib-2.0/glib/gversionmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/timex.h: - -/usr/include/glib-2.0/glib/garray.h: - -/usr/include/glib-2.0/glib/gasyncqueue.h: - -/usr/include/glib-2.0/glib/gthread.h: - -/usr/include/glib-2.0/glib/gatomic.h: - -/usr/include/glib-2.0/glib/gerror.h: - -/usr/include/glib-2.0/glib/gquark.h: - -/usr/include/glib-2.0/glib/gbacktrace.h: - -/usr/include/signal.h: - -/usr/include/arm-linux-gnueabihf/bits/signum.h: - -/usr/include/arm-linux-gnueabihf/bits/siginfo.h: - -/usr/include/arm-linux-gnueabihf/bits/sigaction.h: - -/usr/include/arm-linux-gnueabihf/bits/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/asm/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigstack.h: - -/usr/include/arm-linux-gnueabihf/sys/ucontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigthread.h: - -/usr/include/glib-2.0/glib/gbase64.h: - -/usr/include/glib-2.0/glib/gbitlock.h: - -/usr/include/glib-2.0/glib/gbookmarkfile.h: - -/usr/include/glib-2.0/glib/gbytes.h: - -/usr/include/glib-2.0/glib/gcharset.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/gconvert.h: - -/usr/include/glib-2.0/glib/gdataset.h: - -/usr/include/glib-2.0/glib/gdate.h: - -/usr/include/glib-2.0/glib/gdatetime.h: - -/usr/include/glib-2.0/glib/gtimezone.h: - -/usr/include/glib-2.0/glib/gdir.h: - -/usr/include/dirent.h: - -/usr/include/arm-linux-gnueabihf/bits/dirent.h: - -/usr/include/glib-2.0/glib/genviron.h: - -/usr/include/glib-2.0/glib/gfileutils.h: - -/usr/include/glib-2.0/glib/ggettext.h: - -/usr/include/glib-2.0/glib/ghash.h: - -/usr/include/glib-2.0/glib/glist.h: - -/usr/include/glib-2.0/glib/gmem.h: - -/usr/include/glib-2.0/glib/gnode.h: - -/usr/include/glib-2.0/glib/ghmac.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/ghook.h: - -/usr/include/glib-2.0/glib/ghostutils.h: - -/usr/include/glib-2.0/glib/giochannel.h: - -/usr/include/glib-2.0/glib/gmain.h: - -/usr/include/glib-2.0/glib/gpoll.h: - -/usr/include/glib-2.0/glib/gslist.h: - -/usr/include/glib-2.0/glib/gstring.h: - -/usr/include/glib-2.0/glib/gunicode.h: - -/usr/include/glib-2.0/glib/gutils.h: - -/usr/include/glib-2.0/glib/gkeyfile.h: - -/usr/include/glib-2.0/glib/gmappedfile.h: - -/usr/include/glib-2.0/glib/gmarkup.h: - -/usr/include/glib-2.0/glib/gmessages.h: - -/usr/include/glib-2.0/glib/goption.h: - -/usr/include/glib-2.0/glib/gpattern.h: - -/usr/include/glib-2.0/glib/gprimes.h: - -/usr/include/glib-2.0/glib/gqsort.h: - -/usr/include/glib-2.0/glib/gqueue.h: - -/usr/include/glib-2.0/glib/grand.h: - -/usr/include/glib-2.0/glib/gregex.h: - -/usr/include/glib-2.0/glib/gscanner.h: - -/usr/include/glib-2.0/glib/gsequence.h: - -/usr/include/glib-2.0/glib/gshell.h: - -/usr/include/glib-2.0/glib/gslice.h: - -/usr/include/glib-2.0/glib/gspawn.h: - -/usr/include/glib-2.0/glib/gstrfuncs.h: - -/usr/include/glib-2.0/glib/gstringchunk.h: - -/usr/include/glib-2.0/glib/gtestutils.h: - -/usr/include/glib-2.0/glib/gthreadpool.h: - -/usr/include/glib-2.0/glib/gtimer.h: - -/usr/include/glib-2.0/glib/gtrashstack.h: - -/usr/include/glib-2.0/glib/gtree.h: - -/usr/include/glib-2.0/glib/gurifuncs.h: - -/usr/include/glib-2.0/glib/gvarianttype.h: - -/usr/include/glib-2.0/glib/gvariant.h: - -/usr/include/glib-2.0/glib/gversion.h: - -/usr/include/glib-2.0/glib/deprecated/gallocator.h: - -/usr/include/glib-2.0/glib/deprecated/gcache.h: - -/usr/include/glib-2.0/glib/deprecated/gcompletion.h: - -/usr/include/glib-2.0/glib/deprecated/gmain.h: - -/usr/include/glib-2.0/glib/deprecated/grel.h: - -/usr/include/glib-2.0/glib/deprecated/gthread.h: - -/usr/include/pthread.h: - -/usr/include/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/setjmp.h: - -src/glib-helper.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/src/.deps/bluetoothd-log.Po b/GRIB_BLE_HUB/libs/ble_extend/src/.deps/bluetoothd-log.Po deleted file mode 100644 index 9311372..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/src/.deps/bluetoothd-log.Po +++ /dev/null @@ -1,382 +0,0 @@ -src/bluetoothd-log.o: src/log.c /usr/include/stdc-predef.h config.h \ - /usr/include/stdio.h /usr/include/features.h \ - /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/sys_errlist.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio.h /usr/include/syslog.h \ - /usr/include/arm-linux-gnueabihf/sys/syslog.h \ - /usr/include/arm-linux-gnueabihf/bits/syslog-path.h \ - /usr/include/glib-2.0/glib.h /usr/include/glib-2.0/glib/galloca.h \ - /usr/include/glib-2.0/glib/gtypes.h \ - /usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h \ - /usr/include/glib-2.0/glib/gmacros.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h \ - /usr/include/limits.h /usr/include/arm-linux-gnueabihf/bits/posix1_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/local_lim.h \ - /usr/include/linux/limits.h \ - /usr/include/arm-linux-gnueabihf/bits/posix2_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/xopen_lim.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h \ - /usr/include/glib-2.0/glib/gversionmacros.h /usr/include/time.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/bits/timex.h /usr/include/xlocale.h \ - /usr/include/glib-2.0/glib/garray.h \ - /usr/include/glib-2.0/glib/gasyncqueue.h \ - /usr/include/glib-2.0/glib/gthread.h \ - /usr/include/glib-2.0/glib/gatomic.h /usr/include/glib-2.0/glib/gerror.h \ - /usr/include/glib-2.0/glib/gquark.h \ - /usr/include/glib-2.0/glib/gbacktrace.h /usr/include/signal.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/signum.h \ - /usr/include/arm-linux-gnueabihf/bits/siginfo.h \ - /usr/include/arm-linux-gnueabihf/bits/sigaction.h \ - /usr/include/arm-linux-gnueabihf/bits/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/asm/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigstack.h \ - /usr/include/arm-linux-gnueabihf/sys/ucontext.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/endian.h /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/arm-linux-gnueabihf/bits/sigthread.h \ - /usr/include/glib-2.0/glib/gbase64.h \ - /usr/include/glib-2.0/glib/gbitlock.h \ - /usr/include/glib-2.0/glib/gbookmarkfile.h \ - /usr/include/glib-2.0/glib/gbytes.h \ - /usr/include/glib-2.0/glib/gcharset.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/gconvert.h \ - /usr/include/glib-2.0/glib/gdataset.h /usr/include/glib-2.0/glib/gdate.h \ - /usr/include/glib-2.0/glib/gdatetime.h \ - /usr/include/glib-2.0/glib/gtimezone.h /usr/include/glib-2.0/glib/gdir.h \ - /usr/include/dirent.h /usr/include/arm-linux-gnueabihf/bits/dirent.h \ - /usr/include/glib-2.0/glib/genviron.h \ - /usr/include/glib-2.0/glib/gfileutils.h \ - /usr/include/glib-2.0/glib/ggettext.h /usr/include/glib-2.0/glib/ghash.h \ - /usr/include/glib-2.0/glib/glist.h /usr/include/glib-2.0/glib/gmem.h \ - /usr/include/glib-2.0/glib/gnode.h /usr/include/glib-2.0/glib/ghmac.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/ghook.h \ - /usr/include/glib-2.0/glib/ghostutils.h \ - /usr/include/glib-2.0/glib/giochannel.h \ - /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gpoll.h \ - /usr/include/glib-2.0/glib/gslist.h /usr/include/glib-2.0/glib/gstring.h \ - /usr/include/glib-2.0/glib/gunicode.h \ - /usr/include/glib-2.0/glib/gutils.h \ - /usr/include/glib-2.0/glib/gkeyfile.h \ - /usr/include/glib-2.0/glib/gmappedfile.h \ - /usr/include/glib-2.0/glib/gmarkup.h \ - /usr/include/glib-2.0/glib/gmessages.h \ - /usr/include/glib-2.0/glib/goption.h \ - /usr/include/glib-2.0/glib/gpattern.h \ - /usr/include/glib-2.0/glib/gprimes.h /usr/include/glib-2.0/glib/gqsort.h \ - /usr/include/glib-2.0/glib/gqueue.h /usr/include/glib-2.0/glib/grand.h \ - /usr/include/glib-2.0/glib/gregex.h \ - /usr/include/glib-2.0/glib/gscanner.h \ - /usr/include/glib-2.0/glib/gsequence.h \ - /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gslice.h \ - /usr/include/glib-2.0/glib/gspawn.h \ - /usr/include/glib-2.0/glib/gstrfuncs.h \ - /usr/include/glib-2.0/glib/gstringchunk.h \ - /usr/include/glib-2.0/glib/gtestutils.h \ - /usr/include/glib-2.0/glib/gthreadpool.h \ - /usr/include/glib-2.0/glib/gtimer.h \ - /usr/include/glib-2.0/glib/gtrashstack.h \ - /usr/include/glib-2.0/glib/gtree.h \ - /usr/include/glib-2.0/glib/gurifuncs.h \ - /usr/include/glib-2.0/glib/gvarianttype.h \ - /usr/include/glib-2.0/glib/gvariant.h \ - /usr/include/glib-2.0/glib/gversion.h \ - /usr/include/glib-2.0/glib/deprecated/gallocator.h \ - /usr/include/glib-2.0/glib/deprecated/gcache.h \ - /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ - /usr/include/glib-2.0/glib/deprecated/gmain.h \ - /usr/include/glib-2.0/glib/deprecated/grel.h \ - /usr/include/glib-2.0/glib/deprecated/gthread.h \ - /usr/include/arm-linux-gnueabihf/sys/types.h \ - /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h /usr/include/pthread.h \ - /usr/include/sched.h /usr/include/arm-linux-gnueabihf/bits/sched.h \ - /usr/include/arm-linux-gnueabihf/bits/setjmp.h src/log.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/include/stdio.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/sys_errlist.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio.h: - -/usr/include/syslog.h: - -/usr/include/arm-linux-gnueabihf/sys/syslog.h: - -/usr/include/arm-linux-gnueabihf/bits/syslog-path.h: - -/usr/include/glib-2.0/glib.h: - -/usr/include/glib-2.0/glib/galloca.h: - -/usr/include/glib-2.0/glib/gtypes.h: - -/usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h: - -/usr/include/glib-2.0/glib/gmacros.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h: - -/usr/include/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/local_lim.h: - -/usr/include/linux/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix2_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/xopen_lim.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h: - -/usr/include/glib-2.0/glib/gversionmacros.h: - -/usr/include/time.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/bits/timex.h: - -/usr/include/xlocale.h: - -/usr/include/glib-2.0/glib/garray.h: - -/usr/include/glib-2.0/glib/gasyncqueue.h: - -/usr/include/glib-2.0/glib/gthread.h: - -/usr/include/glib-2.0/glib/gatomic.h: - -/usr/include/glib-2.0/glib/gerror.h: - -/usr/include/glib-2.0/glib/gquark.h: - -/usr/include/glib-2.0/glib/gbacktrace.h: - -/usr/include/signal.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/signum.h: - -/usr/include/arm-linux-gnueabihf/bits/siginfo.h: - -/usr/include/arm-linux-gnueabihf/bits/sigaction.h: - -/usr/include/arm-linux-gnueabihf/bits/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/asm/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigstack.h: - -/usr/include/arm-linux-gnueabihf/sys/ucontext.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/arm-linux-gnueabihf/bits/sigthread.h: - -/usr/include/glib-2.0/glib/gbase64.h: - -/usr/include/glib-2.0/glib/gbitlock.h: - -/usr/include/glib-2.0/glib/gbookmarkfile.h: - -/usr/include/glib-2.0/glib/gbytes.h: - -/usr/include/glib-2.0/glib/gcharset.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/gconvert.h: - -/usr/include/glib-2.0/glib/gdataset.h: - -/usr/include/glib-2.0/glib/gdate.h: - -/usr/include/glib-2.0/glib/gdatetime.h: - -/usr/include/glib-2.0/glib/gtimezone.h: - -/usr/include/glib-2.0/glib/gdir.h: - -/usr/include/dirent.h: - -/usr/include/arm-linux-gnueabihf/bits/dirent.h: - -/usr/include/glib-2.0/glib/genviron.h: - -/usr/include/glib-2.0/glib/gfileutils.h: - -/usr/include/glib-2.0/glib/ggettext.h: - -/usr/include/glib-2.0/glib/ghash.h: - -/usr/include/glib-2.0/glib/glist.h: - -/usr/include/glib-2.0/glib/gmem.h: - -/usr/include/glib-2.0/glib/gnode.h: - -/usr/include/glib-2.0/glib/ghmac.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/ghook.h: - -/usr/include/glib-2.0/glib/ghostutils.h: - -/usr/include/glib-2.0/glib/giochannel.h: - -/usr/include/glib-2.0/glib/gmain.h: - -/usr/include/glib-2.0/glib/gpoll.h: - -/usr/include/glib-2.0/glib/gslist.h: - -/usr/include/glib-2.0/glib/gstring.h: - -/usr/include/glib-2.0/glib/gunicode.h: - -/usr/include/glib-2.0/glib/gutils.h: - -/usr/include/glib-2.0/glib/gkeyfile.h: - -/usr/include/glib-2.0/glib/gmappedfile.h: - -/usr/include/glib-2.0/glib/gmarkup.h: - -/usr/include/glib-2.0/glib/gmessages.h: - -/usr/include/glib-2.0/glib/goption.h: - -/usr/include/glib-2.0/glib/gpattern.h: - -/usr/include/glib-2.0/glib/gprimes.h: - -/usr/include/glib-2.0/glib/gqsort.h: - -/usr/include/glib-2.0/glib/gqueue.h: - -/usr/include/glib-2.0/glib/grand.h: - -/usr/include/glib-2.0/glib/gregex.h: - -/usr/include/glib-2.0/glib/gscanner.h: - -/usr/include/glib-2.0/glib/gsequence.h: - -/usr/include/glib-2.0/glib/gshell.h: - -/usr/include/glib-2.0/glib/gslice.h: - -/usr/include/glib-2.0/glib/gspawn.h: - -/usr/include/glib-2.0/glib/gstrfuncs.h: - -/usr/include/glib-2.0/glib/gstringchunk.h: - -/usr/include/glib-2.0/glib/gtestutils.h: - -/usr/include/glib-2.0/glib/gthreadpool.h: - -/usr/include/glib-2.0/glib/gtimer.h: - -/usr/include/glib-2.0/glib/gtrashstack.h: - -/usr/include/glib-2.0/glib/gtree.h: - -/usr/include/glib-2.0/glib/gurifuncs.h: - -/usr/include/glib-2.0/glib/gvarianttype.h: - -/usr/include/glib-2.0/glib/gvariant.h: - -/usr/include/glib-2.0/glib/gversion.h: - -/usr/include/glib-2.0/glib/deprecated/gallocator.h: - -/usr/include/glib-2.0/glib/deprecated/gcache.h: - -/usr/include/glib-2.0/glib/deprecated/gcompletion.h: - -/usr/include/glib-2.0/glib/deprecated/gmain.h: - -/usr/include/glib-2.0/glib/deprecated/grel.h: - -/usr/include/glib-2.0/glib/deprecated/gthread.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/pthread.h: - -/usr/include/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/setjmp.h: - -src/log.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/src/.deps/bluetoothd-main.Po b/GRIB_BLE_HUB/libs/ble_extend/src/.deps/bluetoothd-main.Po deleted file mode 100644 index ef95305..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/src/.deps/bluetoothd-main.Po +++ /dev/null @@ -1,573 +0,0 @@ -src/bluetoothd-main.o: src/main.c /usr/include/stdc-predef.h config.h \ - /usr/include/errno.h /usr/include/features.h \ - /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/include/arm-linux-gnueabihf/bits/errno.h /usr/include/linux/errno.h \ - /usr/include/arm-linux-gnueabihf/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/include/stdio.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/sys_errlist.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio.h /usr/include/unistd.h \ - /usr/include/arm-linux-gnueabihf/bits/posix_opt.h \ - /usr/include/arm-linux-gnueabihf/bits/environments.h \ - /usr/include/arm-linux-gnueabihf/bits/confname.h /usr/include/getopt.h \ - /usr/include/stdlib.h /usr/include/arm-linux-gnueabihf/bits/waitflags.h \ - /usr/include/arm-linux-gnueabihf/bits/waitstatus.h /usr/include/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/xlocale.h /usr/include/arm-linux-gnueabihf/sys/types.h \ - /usr/include/time.h /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/alloca.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-float.h \ - /usr/include/string.h /usr/include/arm-linux-gnueabihf/bits/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string2.h /usr/include/signal.h \ - /usr/include/arm-linux-gnueabihf/bits/signum.h \ - /usr/include/arm-linux-gnueabihf/bits/siginfo.h \ - /usr/include/arm-linux-gnueabihf/bits/sigaction.h \ - /usr/include/arm-linux-gnueabihf/bits/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/asm/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigstack.h \ - /usr/include/arm-linux-gnueabihf/sys/ucontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigthread.h \ - /usr/include/arm-linux-gnueabihf/sys/signalfd.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h \ - /usr/include/stdint.h /usr/include/arm-linux-gnueabihf/bits/wchar.h \ - /usr/include/arm-linux-gnueabihf/bits/signalfd.h \ - /usr/include/arm-linux-gnueabihf/sys/stat.h \ - /usr/include/arm-linux-gnueabihf/bits/stat.h lib/bluetooth/bluetooth.h \ - /usr/include/byteswap.h /usr/include/netinet/in.h \ - /usr/include/arm-linux-gnueabihf/sys/socket.h \ - /usr/include/arm-linux-gnueabihf/sys/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/socket.h \ - /usr/include/arm-linux-gnueabihf/bits/socket_type.h \ - /usr/include/arm-linux-gnueabihf/bits/sockaddr.h \ - /usr/include/arm-linux-gnueabihf/asm/socket.h \ - /usr/include/asm-generic/socket.h \ - /usr/include/arm-linux-gnueabihf/asm/sockios.h \ - /usr/include/asm-generic/sockios.h \ - /usr/include/arm-linux-gnueabihf/bits/in.h /usr/include/glib-2.0/glib.h \ - /usr/include/glib-2.0/glib/galloca.h /usr/include/glib-2.0/glib/gtypes.h \ - /usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h \ - /usr/include/glib-2.0/glib/gmacros.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h \ - /usr/include/limits.h /usr/include/arm-linux-gnueabihf/bits/posix1_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/local_lim.h \ - /usr/include/linux/limits.h \ - /usr/include/arm-linux-gnueabihf/bits/posix2_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/xopen_lim.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h \ - /usr/include/glib-2.0/glib/gversionmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/timex.h \ - /usr/include/glib-2.0/glib/garray.h \ - /usr/include/glib-2.0/glib/gasyncqueue.h \ - /usr/include/glib-2.0/glib/gthread.h \ - /usr/include/glib-2.0/glib/gatomic.h /usr/include/glib-2.0/glib/gerror.h \ - /usr/include/glib-2.0/glib/gquark.h \ - /usr/include/glib-2.0/glib/gbacktrace.h \ - /usr/include/glib-2.0/glib/gbase64.h \ - /usr/include/glib-2.0/glib/gbitlock.h \ - /usr/include/glib-2.0/glib/gbookmarkfile.h \ - /usr/include/glib-2.0/glib/gbytes.h \ - /usr/include/glib-2.0/glib/gcharset.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/gconvert.h \ - /usr/include/glib-2.0/glib/gdataset.h /usr/include/glib-2.0/glib/gdate.h \ - /usr/include/glib-2.0/glib/gdatetime.h \ - /usr/include/glib-2.0/glib/gtimezone.h /usr/include/glib-2.0/glib/gdir.h \ - /usr/include/dirent.h /usr/include/arm-linux-gnueabihf/bits/dirent.h \ - /usr/include/glib-2.0/glib/genviron.h \ - /usr/include/glib-2.0/glib/gfileutils.h \ - /usr/include/glib-2.0/glib/ggettext.h /usr/include/glib-2.0/glib/ghash.h \ - /usr/include/glib-2.0/glib/glist.h /usr/include/glib-2.0/glib/gmem.h \ - /usr/include/glib-2.0/glib/gnode.h /usr/include/glib-2.0/glib/ghmac.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/ghook.h \ - /usr/include/glib-2.0/glib/ghostutils.h \ - /usr/include/glib-2.0/glib/giochannel.h \ - /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gpoll.h \ - /usr/include/glib-2.0/glib/gslist.h /usr/include/glib-2.0/glib/gstring.h \ - /usr/include/glib-2.0/glib/gunicode.h \ - /usr/include/glib-2.0/glib/gutils.h \ - /usr/include/glib-2.0/glib/gkeyfile.h \ - /usr/include/glib-2.0/glib/gmappedfile.h \ - /usr/include/glib-2.0/glib/gmarkup.h \ - /usr/include/glib-2.0/glib/gmessages.h \ - /usr/include/glib-2.0/glib/goption.h \ - /usr/include/glib-2.0/glib/gpattern.h \ - /usr/include/glib-2.0/glib/gprimes.h /usr/include/glib-2.0/glib/gqsort.h \ - /usr/include/glib-2.0/glib/gqueue.h /usr/include/glib-2.0/glib/grand.h \ - /usr/include/glib-2.0/glib/gregex.h \ - /usr/include/glib-2.0/glib/gscanner.h \ - /usr/include/glib-2.0/glib/gsequence.h \ - /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gslice.h \ - /usr/include/glib-2.0/glib/gspawn.h \ - /usr/include/glib-2.0/glib/gstrfuncs.h \ - /usr/include/glib-2.0/glib/gstringchunk.h \ - /usr/include/glib-2.0/glib/gtestutils.h \ - /usr/include/glib-2.0/glib/gthreadpool.h \ - /usr/include/glib-2.0/glib/gtimer.h \ - /usr/include/glib-2.0/glib/gtrashstack.h \ - /usr/include/glib-2.0/glib/gtree.h \ - /usr/include/glib-2.0/glib/gurifuncs.h \ - /usr/include/glib-2.0/glib/gvarianttype.h \ - /usr/include/glib-2.0/glib/gvariant.h \ - /usr/include/glib-2.0/glib/gversion.h \ - /usr/include/glib-2.0/glib/deprecated/gallocator.h \ - /usr/include/glib-2.0/glib/deprecated/gcache.h \ - /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ - /usr/include/glib-2.0/glib/deprecated/gmain.h \ - /usr/include/glib-2.0/glib/deprecated/grel.h \ - /usr/include/glib-2.0/glib/deprecated/gthread.h /usr/include/pthread.h \ - /usr/include/sched.h /usr/include/arm-linux-gnueabihf/bits/sched.h \ - /usr/include/arm-linux-gnueabihf/bits/setjmp.h \ - /usr/include/dbus-1.0/dbus/dbus.h \ - /usr/lib/arm-linux-gnueabihf/dbus-1.0/include/dbus/dbus-arch-deps.h \ - /usr/include/dbus-1.0/dbus/dbus-macros.h \ - /usr/include/dbus-1.0/dbus/dbus-address.h \ - /usr/include/dbus-1.0/dbus/dbus-types.h \ - /usr/include/dbus-1.0/dbus/dbus-errors.h \ - /usr/include/dbus-1.0/dbus/dbus-protocol.h \ - /usr/include/dbus-1.0/dbus/dbus-bus.h \ - /usr/include/dbus-1.0/dbus/dbus-connection.h \ - /usr/include/dbus-1.0/dbus/dbus-memory.h \ - /usr/include/dbus-1.0/dbus/dbus-message.h \ - /usr/include/dbus-1.0/dbus/dbus-shared.h \ - /usr/include/dbus-1.0/dbus/dbus-misc.h \ - /usr/include/dbus-1.0/dbus/dbus-pending-call.h \ - /usr/include/dbus-1.0/dbus/dbus-server.h \ - /usr/include/dbus-1.0/dbus/dbus-signature.h \ - /usr/include/dbus-1.0/dbus/dbus-syntax.h \ - /usr/include/dbus-1.0/dbus/dbus-threads.h gdbus/gdbus.h src/log.h \ - lib/uuid.h src/hcid.h src/sdpd.h lib/bluetooth/sdp.h src/adapter.h \ - lib/bluetooth/hci.h lib/bluetooth/hci_lib.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdbool.h src/device.h \ - src/dbus-common.h src/agent.h src/profile.h src/systemd.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/include/errno.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/include/arm-linux-gnueabihf/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/arm-linux-gnueabihf/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/include/stdio.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/sys_errlist.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio.h: - -/usr/include/unistd.h: - -/usr/include/arm-linux-gnueabihf/bits/posix_opt.h: - -/usr/include/arm-linux-gnueabihf/bits/environments.h: - -/usr/include/arm-linux-gnueabihf/bits/confname.h: - -/usr/include/getopt.h: - -/usr/include/stdlib.h: - -/usr/include/arm-linux-gnueabihf/bits/waitflags.h: - -/usr/include/arm-linux-gnueabihf/bits/waitstatus.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/xlocale.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/time.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/alloca.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-float.h: - -/usr/include/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string2.h: - -/usr/include/signal.h: - -/usr/include/arm-linux-gnueabihf/bits/signum.h: - -/usr/include/arm-linux-gnueabihf/bits/siginfo.h: - -/usr/include/arm-linux-gnueabihf/bits/sigaction.h: - -/usr/include/arm-linux-gnueabihf/bits/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/asm/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigstack.h: - -/usr/include/arm-linux-gnueabihf/sys/ucontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigthread.h: - -/usr/include/arm-linux-gnueabihf/sys/signalfd.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/arm-linux-gnueabihf/bits/wchar.h: - -/usr/include/arm-linux-gnueabihf/bits/signalfd.h: - -/usr/include/arm-linux-gnueabihf/sys/stat.h: - -/usr/include/arm-linux-gnueabihf/bits/stat.h: - -lib/bluetooth/bluetooth.h: - -/usr/include/byteswap.h: - -/usr/include/netinet/in.h: - -/usr/include/arm-linux-gnueabihf/sys/socket.h: - -/usr/include/arm-linux-gnueabihf/sys/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/socket.h: - -/usr/include/arm-linux-gnueabihf/bits/socket_type.h: - -/usr/include/arm-linux-gnueabihf/bits/sockaddr.h: - -/usr/include/arm-linux-gnueabihf/asm/socket.h: - -/usr/include/asm-generic/socket.h: - -/usr/include/arm-linux-gnueabihf/asm/sockios.h: - -/usr/include/asm-generic/sockios.h: - -/usr/include/arm-linux-gnueabihf/bits/in.h: - -/usr/include/glib-2.0/glib.h: - -/usr/include/glib-2.0/glib/galloca.h: - -/usr/include/glib-2.0/glib/gtypes.h: - -/usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h: - -/usr/include/glib-2.0/glib/gmacros.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h: - -/usr/include/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/local_lim.h: - -/usr/include/linux/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix2_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/xopen_lim.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h: - -/usr/include/glib-2.0/glib/gversionmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/timex.h: - -/usr/include/glib-2.0/glib/garray.h: - -/usr/include/glib-2.0/glib/gasyncqueue.h: - -/usr/include/glib-2.0/glib/gthread.h: - -/usr/include/glib-2.0/glib/gatomic.h: - -/usr/include/glib-2.0/glib/gerror.h: - -/usr/include/glib-2.0/glib/gquark.h: - -/usr/include/glib-2.0/glib/gbacktrace.h: - -/usr/include/glib-2.0/glib/gbase64.h: - -/usr/include/glib-2.0/glib/gbitlock.h: - -/usr/include/glib-2.0/glib/gbookmarkfile.h: - -/usr/include/glib-2.0/glib/gbytes.h: - -/usr/include/glib-2.0/glib/gcharset.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/gconvert.h: - -/usr/include/glib-2.0/glib/gdataset.h: - -/usr/include/glib-2.0/glib/gdate.h: - -/usr/include/glib-2.0/glib/gdatetime.h: - -/usr/include/glib-2.0/glib/gtimezone.h: - -/usr/include/glib-2.0/glib/gdir.h: - -/usr/include/dirent.h: - -/usr/include/arm-linux-gnueabihf/bits/dirent.h: - -/usr/include/glib-2.0/glib/genviron.h: - -/usr/include/glib-2.0/glib/gfileutils.h: - -/usr/include/glib-2.0/glib/ggettext.h: - -/usr/include/glib-2.0/glib/ghash.h: - -/usr/include/glib-2.0/glib/glist.h: - -/usr/include/glib-2.0/glib/gmem.h: - -/usr/include/glib-2.0/glib/gnode.h: - -/usr/include/glib-2.0/glib/ghmac.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/ghook.h: - -/usr/include/glib-2.0/glib/ghostutils.h: - -/usr/include/glib-2.0/glib/giochannel.h: - -/usr/include/glib-2.0/glib/gmain.h: - -/usr/include/glib-2.0/glib/gpoll.h: - -/usr/include/glib-2.0/glib/gslist.h: - -/usr/include/glib-2.0/glib/gstring.h: - -/usr/include/glib-2.0/glib/gunicode.h: - -/usr/include/glib-2.0/glib/gutils.h: - -/usr/include/glib-2.0/glib/gkeyfile.h: - -/usr/include/glib-2.0/glib/gmappedfile.h: - -/usr/include/glib-2.0/glib/gmarkup.h: - -/usr/include/glib-2.0/glib/gmessages.h: - -/usr/include/glib-2.0/glib/goption.h: - -/usr/include/glib-2.0/glib/gpattern.h: - -/usr/include/glib-2.0/glib/gprimes.h: - -/usr/include/glib-2.0/glib/gqsort.h: - -/usr/include/glib-2.0/glib/gqueue.h: - -/usr/include/glib-2.0/glib/grand.h: - -/usr/include/glib-2.0/glib/gregex.h: - -/usr/include/glib-2.0/glib/gscanner.h: - -/usr/include/glib-2.0/glib/gsequence.h: - -/usr/include/glib-2.0/glib/gshell.h: - -/usr/include/glib-2.0/glib/gslice.h: - -/usr/include/glib-2.0/glib/gspawn.h: - -/usr/include/glib-2.0/glib/gstrfuncs.h: - -/usr/include/glib-2.0/glib/gstringchunk.h: - -/usr/include/glib-2.0/glib/gtestutils.h: - -/usr/include/glib-2.0/glib/gthreadpool.h: - -/usr/include/glib-2.0/glib/gtimer.h: - -/usr/include/glib-2.0/glib/gtrashstack.h: - -/usr/include/glib-2.0/glib/gtree.h: - -/usr/include/glib-2.0/glib/gurifuncs.h: - -/usr/include/glib-2.0/glib/gvarianttype.h: - -/usr/include/glib-2.0/glib/gvariant.h: - -/usr/include/glib-2.0/glib/gversion.h: - -/usr/include/glib-2.0/glib/deprecated/gallocator.h: - -/usr/include/glib-2.0/glib/deprecated/gcache.h: - -/usr/include/glib-2.0/glib/deprecated/gcompletion.h: - -/usr/include/glib-2.0/glib/deprecated/gmain.h: - -/usr/include/glib-2.0/glib/deprecated/grel.h: - -/usr/include/glib-2.0/glib/deprecated/gthread.h: - -/usr/include/pthread.h: - -/usr/include/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/setjmp.h: - -/usr/include/dbus-1.0/dbus/dbus.h: - -/usr/lib/arm-linux-gnueabihf/dbus-1.0/include/dbus/dbus-arch-deps.h: - -/usr/include/dbus-1.0/dbus/dbus-macros.h: - -/usr/include/dbus-1.0/dbus/dbus-address.h: - -/usr/include/dbus-1.0/dbus/dbus-types.h: - -/usr/include/dbus-1.0/dbus/dbus-errors.h: - -/usr/include/dbus-1.0/dbus/dbus-protocol.h: - -/usr/include/dbus-1.0/dbus/dbus-bus.h: - -/usr/include/dbus-1.0/dbus/dbus-connection.h: - -/usr/include/dbus-1.0/dbus/dbus-memory.h: - -/usr/include/dbus-1.0/dbus/dbus-message.h: - -/usr/include/dbus-1.0/dbus/dbus-shared.h: - -/usr/include/dbus-1.0/dbus/dbus-misc.h: - -/usr/include/dbus-1.0/dbus/dbus-pending-call.h: - -/usr/include/dbus-1.0/dbus/dbus-server.h: - -/usr/include/dbus-1.0/dbus/dbus-signature.h: - -/usr/include/dbus-1.0/dbus/dbus-syntax.h: - -/usr/include/dbus-1.0/dbus/dbus-threads.h: - -gdbus/gdbus.h: - -src/log.h: - -lib/uuid.h: - -src/hcid.h: - -src/sdpd.h: - -lib/bluetooth/sdp.h: - -src/adapter.h: - -lib/bluetooth/hci.h: - -lib/bluetooth/hci_lib.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdbool.h: - -src/device.h: - -src/dbus-common.h: - -src/agent.h: - -src/profile.h: - -src/systemd.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/src/.deps/bluetoothd-plugin.Po b/GRIB_BLE_HUB/libs/ble_extend/src/.deps/bluetoothd-plugin.Po deleted file mode 100644 index a02343d..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/src/.deps/bluetoothd-plugin.Po +++ /dev/null @@ -1,468 +0,0 @@ -src/bluetoothd-plugin.o: src/plugin.c /usr/include/stdc-predef.h config.h \ - /usr/include/errno.h /usr/include/features.h \ - /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/include/arm-linux-gnueabihf/bits/errno.h /usr/include/linux/errno.h \ - /usr/include/arm-linux-gnueabihf/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/include/dlfcn.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/include/arm-linux-gnueabihf/bits/dlfcn.h /usr/include/string.h \ - /usr/include/xlocale.h /usr/include/arm-linux-gnueabihf/bits/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string2.h /usr/include/stdlib.h \ - /usr/include/arm-linux-gnueabihf/sys/stat.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h /usr/include/time.h \ - /usr/include/arm-linux-gnueabihf/bits/stat.h lib/bluetooth/bluetooth.h \ - /usr/include/stdio.h /usr/include/libio.h /usr/include/_G_config.h \ - /usr/include/wchar.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/sys_errlist.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h \ - /usr/include/stdint.h /usr/include/arm-linux-gnueabihf/bits/wchar.h \ - /usr/include/endian.h /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/byteswap.h /usr/include/netinet/in.h \ - /usr/include/arm-linux-gnueabihf/sys/socket.h \ - /usr/include/arm-linux-gnueabihf/sys/uio.h \ - /usr/include/arm-linux-gnueabihf/sys/types.h \ - /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/arm-linux-gnueabihf/bits/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/socket.h \ - /usr/include/arm-linux-gnueabihf/bits/socket_type.h \ - /usr/include/arm-linux-gnueabihf/bits/sockaddr.h \ - /usr/include/arm-linux-gnueabihf/asm/socket.h \ - /usr/include/asm-generic/socket.h \ - /usr/include/arm-linux-gnueabihf/asm/sockios.h \ - /usr/include/asm-generic/sockios.h \ - /usr/include/arm-linux-gnueabihf/bits/in.h /usr/include/glib-2.0/glib.h \ - /usr/include/glib-2.0/glib/galloca.h /usr/include/glib-2.0/glib/gtypes.h \ - /usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h \ - /usr/include/glib-2.0/glib/gmacros.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h \ - /usr/include/limits.h /usr/include/arm-linux-gnueabihf/bits/posix1_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/local_lim.h \ - /usr/include/linux/limits.h \ - /usr/include/arm-linux-gnueabihf/bits/posix2_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/xopen_lim.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h \ - /usr/include/glib-2.0/glib/gversionmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/timex.h \ - /usr/include/glib-2.0/glib/garray.h \ - /usr/include/glib-2.0/glib/gasyncqueue.h \ - /usr/include/glib-2.0/glib/gthread.h \ - /usr/include/glib-2.0/glib/gatomic.h /usr/include/glib-2.0/glib/gerror.h \ - /usr/include/glib-2.0/glib/gquark.h \ - /usr/include/glib-2.0/glib/gbacktrace.h /usr/include/signal.h \ - /usr/include/arm-linux-gnueabihf/bits/signum.h \ - /usr/include/arm-linux-gnueabihf/bits/siginfo.h \ - /usr/include/arm-linux-gnueabihf/bits/sigaction.h \ - /usr/include/arm-linux-gnueabihf/bits/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/asm/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigstack.h \ - /usr/include/arm-linux-gnueabihf/sys/ucontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigthread.h \ - /usr/include/glib-2.0/glib/gbase64.h \ - /usr/include/glib-2.0/glib/gbitlock.h \ - /usr/include/glib-2.0/glib/gbookmarkfile.h \ - /usr/include/glib-2.0/glib/gbytes.h \ - /usr/include/glib-2.0/glib/gcharset.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/gconvert.h \ - /usr/include/glib-2.0/glib/gdataset.h /usr/include/glib-2.0/glib/gdate.h \ - /usr/include/glib-2.0/glib/gdatetime.h \ - /usr/include/glib-2.0/glib/gtimezone.h /usr/include/glib-2.0/glib/gdir.h \ - /usr/include/dirent.h /usr/include/arm-linux-gnueabihf/bits/dirent.h \ - /usr/include/glib-2.0/glib/genviron.h \ - /usr/include/glib-2.0/glib/gfileutils.h \ - /usr/include/glib-2.0/glib/ggettext.h /usr/include/glib-2.0/glib/ghash.h \ - /usr/include/glib-2.0/glib/glist.h /usr/include/glib-2.0/glib/gmem.h \ - /usr/include/glib-2.0/glib/gnode.h /usr/include/glib-2.0/glib/ghmac.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/ghook.h \ - /usr/include/glib-2.0/glib/ghostutils.h \ - /usr/include/glib-2.0/glib/giochannel.h \ - /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gpoll.h \ - /usr/include/glib-2.0/glib/gslist.h /usr/include/glib-2.0/glib/gstring.h \ - /usr/include/glib-2.0/glib/gunicode.h \ - /usr/include/glib-2.0/glib/gutils.h \ - /usr/include/glib-2.0/glib/gkeyfile.h \ - /usr/include/glib-2.0/glib/gmappedfile.h \ - /usr/include/glib-2.0/glib/gmarkup.h \ - /usr/include/glib-2.0/glib/gmessages.h \ - /usr/include/glib-2.0/glib/goption.h \ - /usr/include/glib-2.0/glib/gpattern.h \ - /usr/include/glib-2.0/glib/gprimes.h /usr/include/glib-2.0/glib/gqsort.h \ - /usr/include/glib-2.0/glib/gqueue.h /usr/include/glib-2.0/glib/grand.h \ - /usr/include/glib-2.0/glib/gregex.h \ - /usr/include/glib-2.0/glib/gscanner.h \ - /usr/include/glib-2.0/glib/gsequence.h \ - /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gslice.h \ - /usr/include/glib-2.0/glib/gspawn.h \ - /usr/include/glib-2.0/glib/gstrfuncs.h \ - /usr/include/glib-2.0/glib/gstringchunk.h \ - /usr/include/glib-2.0/glib/gtestutils.h \ - /usr/include/glib-2.0/glib/gthreadpool.h \ - /usr/include/glib-2.0/glib/gtimer.h \ - /usr/include/glib-2.0/glib/gtrashstack.h \ - /usr/include/glib-2.0/glib/gtree.h \ - /usr/include/glib-2.0/glib/gurifuncs.h \ - /usr/include/glib-2.0/glib/gvarianttype.h \ - /usr/include/glib-2.0/glib/gvariant.h \ - /usr/include/glib-2.0/glib/gversion.h \ - /usr/include/glib-2.0/glib/deprecated/gallocator.h \ - /usr/include/glib-2.0/glib/deprecated/gcache.h \ - /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ - /usr/include/glib-2.0/glib/deprecated/gmain.h \ - /usr/include/glib-2.0/glib/deprecated/grel.h \ - /usr/include/glib-2.0/glib/deprecated/gthread.h /usr/include/pthread.h \ - /usr/include/sched.h /usr/include/arm-linux-gnueabihf/bits/sched.h \ - /usr/include/arm-linux-gnueabihf/bits/setjmp.h btio/btio.h src/plugin.h \ - src/log.h src/hcid.h src/builtin.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/include/errno.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/include/arm-linux-gnueabihf/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/arm-linux-gnueabihf/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/include/dlfcn.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/include/arm-linux-gnueabihf/bits/dlfcn.h: - -/usr/include/string.h: - -/usr/include/xlocale.h: - -/usr/include/arm-linux-gnueabihf/bits/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string2.h: - -/usr/include/stdlib.h: - -/usr/include/arm-linux-gnueabihf/sys/stat.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/time.h: - -/usr/include/arm-linux-gnueabihf/bits/stat.h: - -lib/bluetooth/bluetooth.h: - -/usr/include/stdio.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/sys_errlist.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/arm-linux-gnueabihf/bits/wchar.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/byteswap.h: - -/usr/include/netinet/in.h: - -/usr/include/arm-linux-gnueabihf/sys/socket.h: - -/usr/include/arm-linux-gnueabihf/sys/uio.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/arm-linux-gnueabihf/bits/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/socket.h: - -/usr/include/arm-linux-gnueabihf/bits/socket_type.h: - -/usr/include/arm-linux-gnueabihf/bits/sockaddr.h: - -/usr/include/arm-linux-gnueabihf/asm/socket.h: - -/usr/include/asm-generic/socket.h: - -/usr/include/arm-linux-gnueabihf/asm/sockios.h: - -/usr/include/asm-generic/sockios.h: - -/usr/include/arm-linux-gnueabihf/bits/in.h: - -/usr/include/glib-2.0/glib.h: - -/usr/include/glib-2.0/glib/galloca.h: - -/usr/include/glib-2.0/glib/gtypes.h: - -/usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h: - -/usr/include/glib-2.0/glib/gmacros.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h: - -/usr/include/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/local_lim.h: - -/usr/include/linux/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix2_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/xopen_lim.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h: - -/usr/include/glib-2.0/glib/gversionmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/timex.h: - -/usr/include/glib-2.0/glib/garray.h: - -/usr/include/glib-2.0/glib/gasyncqueue.h: - -/usr/include/glib-2.0/glib/gthread.h: - -/usr/include/glib-2.0/glib/gatomic.h: - -/usr/include/glib-2.0/glib/gerror.h: - -/usr/include/glib-2.0/glib/gquark.h: - -/usr/include/glib-2.0/glib/gbacktrace.h: - -/usr/include/signal.h: - -/usr/include/arm-linux-gnueabihf/bits/signum.h: - -/usr/include/arm-linux-gnueabihf/bits/siginfo.h: - -/usr/include/arm-linux-gnueabihf/bits/sigaction.h: - -/usr/include/arm-linux-gnueabihf/bits/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/asm/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigstack.h: - -/usr/include/arm-linux-gnueabihf/sys/ucontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigthread.h: - -/usr/include/glib-2.0/glib/gbase64.h: - -/usr/include/glib-2.0/glib/gbitlock.h: - -/usr/include/glib-2.0/glib/gbookmarkfile.h: - -/usr/include/glib-2.0/glib/gbytes.h: - -/usr/include/glib-2.0/glib/gcharset.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/gconvert.h: - -/usr/include/glib-2.0/glib/gdataset.h: - -/usr/include/glib-2.0/glib/gdate.h: - -/usr/include/glib-2.0/glib/gdatetime.h: - -/usr/include/glib-2.0/glib/gtimezone.h: - -/usr/include/glib-2.0/glib/gdir.h: - -/usr/include/dirent.h: - -/usr/include/arm-linux-gnueabihf/bits/dirent.h: - -/usr/include/glib-2.0/glib/genviron.h: - -/usr/include/glib-2.0/glib/gfileutils.h: - -/usr/include/glib-2.0/glib/ggettext.h: - -/usr/include/glib-2.0/glib/ghash.h: - -/usr/include/glib-2.0/glib/glist.h: - -/usr/include/glib-2.0/glib/gmem.h: - -/usr/include/glib-2.0/glib/gnode.h: - -/usr/include/glib-2.0/glib/ghmac.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/ghook.h: - -/usr/include/glib-2.0/glib/ghostutils.h: - -/usr/include/glib-2.0/glib/giochannel.h: - -/usr/include/glib-2.0/glib/gmain.h: - -/usr/include/glib-2.0/glib/gpoll.h: - -/usr/include/glib-2.0/glib/gslist.h: - -/usr/include/glib-2.0/glib/gstring.h: - -/usr/include/glib-2.0/glib/gunicode.h: - -/usr/include/glib-2.0/glib/gutils.h: - -/usr/include/glib-2.0/glib/gkeyfile.h: - -/usr/include/glib-2.0/glib/gmappedfile.h: - -/usr/include/glib-2.0/glib/gmarkup.h: - -/usr/include/glib-2.0/glib/gmessages.h: - -/usr/include/glib-2.0/glib/goption.h: - -/usr/include/glib-2.0/glib/gpattern.h: - -/usr/include/glib-2.0/glib/gprimes.h: - -/usr/include/glib-2.0/glib/gqsort.h: - -/usr/include/glib-2.0/glib/gqueue.h: - -/usr/include/glib-2.0/glib/grand.h: - -/usr/include/glib-2.0/glib/gregex.h: - -/usr/include/glib-2.0/glib/gscanner.h: - -/usr/include/glib-2.0/glib/gsequence.h: - -/usr/include/glib-2.0/glib/gshell.h: - -/usr/include/glib-2.0/glib/gslice.h: - -/usr/include/glib-2.0/glib/gspawn.h: - -/usr/include/glib-2.0/glib/gstrfuncs.h: - -/usr/include/glib-2.0/glib/gstringchunk.h: - -/usr/include/glib-2.0/glib/gtestutils.h: - -/usr/include/glib-2.0/glib/gthreadpool.h: - -/usr/include/glib-2.0/glib/gtimer.h: - -/usr/include/glib-2.0/glib/gtrashstack.h: - -/usr/include/glib-2.0/glib/gtree.h: - -/usr/include/glib-2.0/glib/gurifuncs.h: - -/usr/include/glib-2.0/glib/gvarianttype.h: - -/usr/include/glib-2.0/glib/gvariant.h: - -/usr/include/glib-2.0/glib/gversion.h: - -/usr/include/glib-2.0/glib/deprecated/gallocator.h: - -/usr/include/glib-2.0/glib/deprecated/gcache.h: - -/usr/include/glib-2.0/glib/deprecated/gcompletion.h: - -/usr/include/glib-2.0/glib/deprecated/gmain.h: - -/usr/include/glib-2.0/glib/deprecated/grel.h: - -/usr/include/glib-2.0/glib/deprecated/gthread.h: - -/usr/include/pthread.h: - -/usr/include/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/setjmp.h: - -btio/btio.h: - -src/plugin.h: - -src/log.h: - -src/hcid.h: - -src/builtin.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/src/.deps/bluetoothd-profile.Po b/GRIB_BLE_HUB/libs/ble_extend/src/.deps/bluetoothd-profile.Po deleted file mode 100644 index a054059..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/src/.deps/bluetoothd-profile.Po +++ /dev/null @@ -1,555 +0,0 @@ -src/bluetoothd-profile.o: src/profile.c /usr/include/stdc-predef.h \ - config.h /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdbool.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h \ - /usr/include/stdint.h /usr/include/features.h \ - /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/include/arm-linux-gnueabihf/bits/wchar.h /usr/include/stdlib.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/include/arm-linux-gnueabihf/bits/waitflags.h \ - /usr/include/arm-linux-gnueabihf/bits/waitstatus.h /usr/include/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/xlocale.h /usr/include/arm-linux-gnueabihf/sys/types.h \ - /usr/include/time.h /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/alloca.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-float.h \ - /usr/include/errno.h /usr/include/arm-linux-gnueabihf/bits/errno.h \ - /usr/include/linux/errno.h /usr/include/arm-linux-gnueabihf/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/include/glib-2.0/glib.h /usr/include/glib-2.0/glib/galloca.h \ - /usr/include/glib-2.0/glib/gtypes.h \ - /usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h \ - /usr/include/glib-2.0/glib/gmacros.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h \ - /usr/include/limits.h /usr/include/arm-linux-gnueabihf/bits/posix1_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/local_lim.h \ - /usr/include/linux/limits.h \ - /usr/include/arm-linux-gnueabihf/bits/posix2_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/xopen_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h \ - /usr/include/glib-2.0/glib/gversionmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/timex.h \ - /usr/include/glib-2.0/glib/garray.h \ - /usr/include/glib-2.0/glib/gasyncqueue.h \ - /usr/include/glib-2.0/glib/gthread.h \ - /usr/include/glib-2.0/glib/gatomic.h /usr/include/glib-2.0/glib/gerror.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/glib-2.0/glib/gquark.h \ - /usr/include/glib-2.0/glib/gbacktrace.h /usr/include/signal.h \ - /usr/include/arm-linux-gnueabihf/bits/signum.h \ - /usr/include/arm-linux-gnueabihf/bits/siginfo.h \ - /usr/include/arm-linux-gnueabihf/bits/sigaction.h \ - /usr/include/arm-linux-gnueabihf/bits/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/asm/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigstack.h \ - /usr/include/arm-linux-gnueabihf/sys/ucontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigthread.h \ - /usr/include/glib-2.0/glib/gbase64.h \ - /usr/include/glib-2.0/glib/gbitlock.h \ - /usr/include/glib-2.0/glib/gbookmarkfile.h \ - /usr/include/glib-2.0/glib/gbytes.h \ - /usr/include/glib-2.0/glib/gcharset.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/gconvert.h \ - /usr/include/glib-2.0/glib/gdataset.h /usr/include/glib-2.0/glib/gdate.h \ - /usr/include/glib-2.0/glib/gdatetime.h \ - /usr/include/glib-2.0/glib/gtimezone.h /usr/include/glib-2.0/glib/gdir.h \ - /usr/include/dirent.h /usr/include/arm-linux-gnueabihf/bits/dirent.h \ - /usr/include/glib-2.0/glib/genviron.h \ - /usr/include/glib-2.0/glib/gfileutils.h \ - /usr/include/glib-2.0/glib/ggettext.h /usr/include/glib-2.0/glib/ghash.h \ - /usr/include/glib-2.0/glib/glist.h /usr/include/glib-2.0/glib/gmem.h \ - /usr/include/glib-2.0/glib/gnode.h /usr/include/glib-2.0/glib/ghmac.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/ghook.h \ - /usr/include/glib-2.0/glib/ghostutils.h \ - /usr/include/glib-2.0/glib/giochannel.h \ - /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gpoll.h \ - /usr/include/glib-2.0/glib/gslist.h /usr/include/glib-2.0/glib/gstring.h \ - /usr/include/glib-2.0/glib/gunicode.h \ - /usr/include/glib-2.0/glib/gutils.h \ - /usr/include/glib-2.0/glib/gkeyfile.h \ - /usr/include/glib-2.0/glib/gmappedfile.h \ - /usr/include/glib-2.0/glib/gmarkup.h \ - /usr/include/glib-2.0/glib/gmessages.h \ - /usr/include/glib-2.0/glib/goption.h \ - /usr/include/glib-2.0/glib/gpattern.h \ - /usr/include/glib-2.0/glib/gprimes.h /usr/include/glib-2.0/glib/gqsort.h \ - /usr/include/glib-2.0/glib/gqueue.h /usr/include/glib-2.0/glib/grand.h \ - /usr/include/glib-2.0/glib/gregex.h \ - /usr/include/glib-2.0/glib/gscanner.h \ - /usr/include/glib-2.0/glib/gsequence.h \ - /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gslice.h \ - /usr/include/glib-2.0/glib/gspawn.h \ - /usr/include/glib-2.0/glib/gstrfuncs.h \ - /usr/include/glib-2.0/glib/gstringchunk.h \ - /usr/include/glib-2.0/glib/gtestutils.h \ - /usr/include/glib-2.0/glib/gthreadpool.h \ - /usr/include/glib-2.0/glib/gtimer.h \ - /usr/include/glib-2.0/glib/gtrashstack.h \ - /usr/include/glib-2.0/glib/gtree.h \ - /usr/include/glib-2.0/glib/gurifuncs.h \ - /usr/include/glib-2.0/glib/gvarianttype.h \ - /usr/include/glib-2.0/glib/gvariant.h \ - /usr/include/glib-2.0/glib/gversion.h \ - /usr/include/glib-2.0/glib/deprecated/gallocator.h \ - /usr/include/glib-2.0/glib/deprecated/gcache.h \ - /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ - /usr/include/glib-2.0/glib/deprecated/gmain.h \ - /usr/include/glib-2.0/glib/deprecated/grel.h \ - /usr/include/glib-2.0/glib/deprecated/gthread.h /usr/include/pthread.h \ - /usr/include/sched.h /usr/include/arm-linux-gnueabihf/bits/sched.h \ - /usr/include/arm-linux-gnueabihf/bits/setjmp.h \ - /usr/include/dbus-1.0/dbus/dbus.h \ - /usr/lib/arm-linux-gnueabihf/dbus-1.0/include/dbus/dbus-arch-deps.h \ - /usr/include/dbus-1.0/dbus/dbus-macros.h \ - /usr/include/dbus-1.0/dbus/dbus-address.h \ - /usr/include/dbus-1.0/dbus/dbus-types.h \ - /usr/include/dbus-1.0/dbus/dbus-errors.h \ - /usr/include/dbus-1.0/dbus/dbus-protocol.h \ - /usr/include/dbus-1.0/dbus/dbus-bus.h \ - /usr/include/dbus-1.0/dbus/dbus-connection.h \ - /usr/include/dbus-1.0/dbus/dbus-memory.h \ - /usr/include/dbus-1.0/dbus/dbus-message.h \ - /usr/include/dbus-1.0/dbus/dbus-shared.h \ - /usr/include/dbus-1.0/dbus/dbus-misc.h \ - /usr/include/dbus-1.0/dbus/dbus-pending-call.h \ - /usr/include/dbus-1.0/dbus/dbus-server.h \ - /usr/include/dbus-1.0/dbus/dbus-signature.h \ - /usr/include/dbus-1.0/dbus/dbus-syntax.h \ - /usr/include/dbus-1.0/dbus/dbus-threads.h gdbus/gdbus.h \ - lib/bluetooth/bluetooth.h /usr/include/stdio.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/include/arm-linux-gnueabihf/bits/sys_errlist.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio.h /usr/include/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string2.h /usr/include/byteswap.h \ - /usr/include/netinet/in.h /usr/include/arm-linux-gnueabihf/sys/socket.h \ - /usr/include/arm-linux-gnueabihf/sys/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/socket.h \ - /usr/include/arm-linux-gnueabihf/bits/socket_type.h \ - /usr/include/arm-linux-gnueabihf/bits/sockaddr.h \ - /usr/include/arm-linux-gnueabihf/asm/socket.h \ - /usr/include/asm-generic/socket.h \ - /usr/include/arm-linux-gnueabihf/asm/sockios.h \ - /usr/include/asm-generic/sockios.h \ - /usr/include/arm-linux-gnueabihf/bits/in.h lib/bluetooth/sdp.h \ - lib/bluetooth/sdp_lib.h lib/bluetooth/hci.h btio/btio.h lib/uuid.h \ - src/sdpd.h src/log.h src/error.h src/glib-helper.h src/dbus-common.h \ - src/sdp-client.h src/sdp-xml.h src/adapter.h lib/bluetooth/hci_lib.h \ - src/device.h src/profile.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdbool.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/include/arm-linux-gnueabihf/bits/wchar.h: - -/usr/include/stdlib.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/include/arm-linux-gnueabihf/bits/waitflags.h: - -/usr/include/arm-linux-gnueabihf/bits/waitstatus.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/xlocale.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/time.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/alloca.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-float.h: - -/usr/include/errno.h: - -/usr/include/arm-linux-gnueabihf/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/arm-linux-gnueabihf/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/include/glib-2.0/glib.h: - -/usr/include/glib-2.0/glib/galloca.h: - -/usr/include/glib-2.0/glib/gtypes.h: - -/usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h: - -/usr/include/glib-2.0/glib/gmacros.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h: - -/usr/include/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/local_lim.h: - -/usr/include/linux/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix2_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/xopen_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h: - -/usr/include/glib-2.0/glib/gversionmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/timex.h: - -/usr/include/glib-2.0/glib/garray.h: - -/usr/include/glib-2.0/glib/gasyncqueue.h: - -/usr/include/glib-2.0/glib/gthread.h: - -/usr/include/glib-2.0/glib/gatomic.h: - -/usr/include/glib-2.0/glib/gerror.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/glib-2.0/glib/gquark.h: - -/usr/include/glib-2.0/glib/gbacktrace.h: - -/usr/include/signal.h: - -/usr/include/arm-linux-gnueabihf/bits/signum.h: - -/usr/include/arm-linux-gnueabihf/bits/siginfo.h: - -/usr/include/arm-linux-gnueabihf/bits/sigaction.h: - -/usr/include/arm-linux-gnueabihf/bits/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/asm/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigstack.h: - -/usr/include/arm-linux-gnueabihf/sys/ucontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigthread.h: - -/usr/include/glib-2.0/glib/gbase64.h: - -/usr/include/glib-2.0/glib/gbitlock.h: - -/usr/include/glib-2.0/glib/gbookmarkfile.h: - -/usr/include/glib-2.0/glib/gbytes.h: - -/usr/include/glib-2.0/glib/gcharset.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/gconvert.h: - -/usr/include/glib-2.0/glib/gdataset.h: - -/usr/include/glib-2.0/glib/gdate.h: - -/usr/include/glib-2.0/glib/gdatetime.h: - -/usr/include/glib-2.0/glib/gtimezone.h: - -/usr/include/glib-2.0/glib/gdir.h: - -/usr/include/dirent.h: - -/usr/include/arm-linux-gnueabihf/bits/dirent.h: - -/usr/include/glib-2.0/glib/genviron.h: - -/usr/include/glib-2.0/glib/gfileutils.h: - -/usr/include/glib-2.0/glib/ggettext.h: - -/usr/include/glib-2.0/glib/ghash.h: - -/usr/include/glib-2.0/glib/glist.h: - -/usr/include/glib-2.0/glib/gmem.h: - -/usr/include/glib-2.0/glib/gnode.h: - -/usr/include/glib-2.0/glib/ghmac.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/ghook.h: - -/usr/include/glib-2.0/glib/ghostutils.h: - -/usr/include/glib-2.0/glib/giochannel.h: - -/usr/include/glib-2.0/glib/gmain.h: - -/usr/include/glib-2.0/glib/gpoll.h: - -/usr/include/glib-2.0/glib/gslist.h: - -/usr/include/glib-2.0/glib/gstring.h: - -/usr/include/glib-2.0/glib/gunicode.h: - -/usr/include/glib-2.0/glib/gutils.h: - -/usr/include/glib-2.0/glib/gkeyfile.h: - -/usr/include/glib-2.0/glib/gmappedfile.h: - -/usr/include/glib-2.0/glib/gmarkup.h: - -/usr/include/glib-2.0/glib/gmessages.h: - -/usr/include/glib-2.0/glib/goption.h: - -/usr/include/glib-2.0/glib/gpattern.h: - -/usr/include/glib-2.0/glib/gprimes.h: - -/usr/include/glib-2.0/glib/gqsort.h: - -/usr/include/glib-2.0/glib/gqueue.h: - -/usr/include/glib-2.0/glib/grand.h: - -/usr/include/glib-2.0/glib/gregex.h: - -/usr/include/glib-2.0/glib/gscanner.h: - -/usr/include/glib-2.0/glib/gsequence.h: - -/usr/include/glib-2.0/glib/gshell.h: - -/usr/include/glib-2.0/glib/gslice.h: - -/usr/include/glib-2.0/glib/gspawn.h: - -/usr/include/glib-2.0/glib/gstrfuncs.h: - -/usr/include/glib-2.0/glib/gstringchunk.h: - -/usr/include/glib-2.0/glib/gtestutils.h: - -/usr/include/glib-2.0/glib/gthreadpool.h: - -/usr/include/glib-2.0/glib/gtimer.h: - -/usr/include/glib-2.0/glib/gtrashstack.h: - -/usr/include/glib-2.0/glib/gtree.h: - -/usr/include/glib-2.0/glib/gurifuncs.h: - -/usr/include/glib-2.0/glib/gvarianttype.h: - -/usr/include/glib-2.0/glib/gvariant.h: - -/usr/include/glib-2.0/glib/gversion.h: - -/usr/include/glib-2.0/glib/deprecated/gallocator.h: - -/usr/include/glib-2.0/glib/deprecated/gcache.h: - -/usr/include/glib-2.0/glib/deprecated/gcompletion.h: - -/usr/include/glib-2.0/glib/deprecated/gmain.h: - -/usr/include/glib-2.0/glib/deprecated/grel.h: - -/usr/include/glib-2.0/glib/deprecated/gthread.h: - -/usr/include/pthread.h: - -/usr/include/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/setjmp.h: - -/usr/include/dbus-1.0/dbus/dbus.h: - -/usr/lib/arm-linux-gnueabihf/dbus-1.0/include/dbus/dbus-arch-deps.h: - -/usr/include/dbus-1.0/dbus/dbus-macros.h: - -/usr/include/dbus-1.0/dbus/dbus-address.h: - -/usr/include/dbus-1.0/dbus/dbus-types.h: - -/usr/include/dbus-1.0/dbus/dbus-errors.h: - -/usr/include/dbus-1.0/dbus/dbus-protocol.h: - -/usr/include/dbus-1.0/dbus/dbus-bus.h: - -/usr/include/dbus-1.0/dbus/dbus-connection.h: - -/usr/include/dbus-1.0/dbus/dbus-memory.h: - -/usr/include/dbus-1.0/dbus/dbus-message.h: - -/usr/include/dbus-1.0/dbus/dbus-shared.h: - -/usr/include/dbus-1.0/dbus/dbus-misc.h: - -/usr/include/dbus-1.0/dbus/dbus-pending-call.h: - -/usr/include/dbus-1.0/dbus/dbus-server.h: - -/usr/include/dbus-1.0/dbus/dbus-signature.h: - -/usr/include/dbus-1.0/dbus/dbus-syntax.h: - -/usr/include/dbus-1.0/dbus/dbus-threads.h: - -gdbus/gdbus.h: - -lib/bluetooth/bluetooth.h: - -/usr/include/stdio.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/include/arm-linux-gnueabihf/bits/sys_errlist.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio.h: - -/usr/include/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string2.h: - -/usr/include/byteswap.h: - -/usr/include/netinet/in.h: - -/usr/include/arm-linux-gnueabihf/sys/socket.h: - -/usr/include/arm-linux-gnueabihf/sys/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/socket.h: - -/usr/include/arm-linux-gnueabihf/bits/socket_type.h: - -/usr/include/arm-linux-gnueabihf/bits/sockaddr.h: - -/usr/include/arm-linux-gnueabihf/asm/socket.h: - -/usr/include/asm-generic/socket.h: - -/usr/include/arm-linux-gnueabihf/asm/sockios.h: - -/usr/include/asm-generic/sockios.h: - -/usr/include/arm-linux-gnueabihf/bits/in.h: - -lib/bluetooth/sdp.h: - -lib/bluetooth/sdp_lib.h: - -lib/bluetooth/hci.h: - -btio/btio.h: - -lib/uuid.h: - -src/sdpd.h: - -src/log.h: - -src/error.h: - -src/glib-helper.h: - -src/dbus-common.h: - -src/sdp-client.h: - -src/sdp-xml.h: - -src/adapter.h: - -lib/bluetooth/hci_lib.h: - -src/device.h: - -src/profile.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/src/.deps/bluetoothd-rfkill.Po b/GRIB_BLE_HUB/libs/ble_extend/src/.deps/bluetoothd-rfkill.Po deleted file mode 100644 index 53cff4d..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/src/.deps/bluetoothd-rfkill.Po +++ /dev/null @@ -1,555 +0,0 @@ -src/bluetoothd-rfkill.o: src/rfkill.c /usr/include/stdc-predef.h config.h \ - /usr/include/errno.h /usr/include/features.h \ - /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/include/arm-linux-gnueabihf/bits/errno.h /usr/include/linux/errno.h \ - /usr/include/arm-linux-gnueabihf/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/include/stdio.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/sys_errlist.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio.h /usr/include/fcntl.h \ - /usr/include/arm-linux-gnueabihf/bits/fcntl.h \ - /usr/include/arm-linux-gnueabihf/bits/fcntl-linux.h \ - /usr/include/arm-linux-gnueabihf/bits/uio.h \ - /usr/include/arm-linux-gnueabihf/sys/types.h /usr/include/time.h \ - /usr/include/endian.h /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/arm-linux-gnueabihf/bits/stat.h /usr/include/unistd.h \ - /usr/include/arm-linux-gnueabihf/bits/posix_opt.h \ - /usr/include/arm-linux-gnueabihf/bits/environments.h \ - /usr/include/arm-linux-gnueabihf/bits/confname.h /usr/include/getopt.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h \ - /usr/include/stdint.h /usr/include/arm-linux-gnueabihf/bits/wchar.h \ - /usr/include/stdlib.h /usr/include/arm-linux-gnueabihf/bits/waitflags.h \ - /usr/include/arm-linux-gnueabihf/bits/waitstatus.h \ - /usr/include/xlocale.h /usr/include/alloca.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-float.h \ - /usr/include/string.h /usr/include/arm-linux-gnueabihf/bits/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string2.h \ - /usr/include/glib-2.0/glib.h /usr/include/glib-2.0/glib/galloca.h \ - /usr/include/glib-2.0/glib/gtypes.h \ - /usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h \ - /usr/include/glib-2.0/glib/gmacros.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h \ - /usr/include/limits.h /usr/include/arm-linux-gnueabihf/bits/posix1_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/local_lim.h \ - /usr/include/linux/limits.h \ - /usr/include/arm-linux-gnueabihf/bits/posix2_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/xopen_lim.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h \ - /usr/include/glib-2.0/glib/gversionmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/timex.h \ - /usr/include/glib-2.0/glib/garray.h \ - /usr/include/glib-2.0/glib/gasyncqueue.h \ - /usr/include/glib-2.0/glib/gthread.h \ - /usr/include/glib-2.0/glib/gatomic.h /usr/include/glib-2.0/glib/gerror.h \ - /usr/include/glib-2.0/glib/gquark.h \ - /usr/include/glib-2.0/glib/gbacktrace.h /usr/include/signal.h \ - /usr/include/arm-linux-gnueabihf/bits/signum.h \ - /usr/include/arm-linux-gnueabihf/bits/siginfo.h \ - /usr/include/arm-linux-gnueabihf/bits/sigaction.h \ - /usr/include/arm-linux-gnueabihf/bits/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/asm/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigstack.h \ - /usr/include/arm-linux-gnueabihf/sys/ucontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigthread.h \ - /usr/include/glib-2.0/glib/gbase64.h \ - /usr/include/glib-2.0/glib/gbitlock.h \ - /usr/include/glib-2.0/glib/gbookmarkfile.h \ - /usr/include/glib-2.0/glib/gbytes.h \ - /usr/include/glib-2.0/glib/gcharset.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/gconvert.h \ - /usr/include/glib-2.0/glib/gdataset.h /usr/include/glib-2.0/glib/gdate.h \ - /usr/include/glib-2.0/glib/gdatetime.h \ - /usr/include/glib-2.0/glib/gtimezone.h /usr/include/glib-2.0/glib/gdir.h \ - /usr/include/dirent.h /usr/include/arm-linux-gnueabihf/bits/dirent.h \ - /usr/include/glib-2.0/glib/genviron.h \ - /usr/include/glib-2.0/glib/gfileutils.h \ - /usr/include/glib-2.0/glib/ggettext.h /usr/include/glib-2.0/glib/ghash.h \ - /usr/include/glib-2.0/glib/glist.h /usr/include/glib-2.0/glib/gmem.h \ - /usr/include/glib-2.0/glib/gnode.h /usr/include/glib-2.0/glib/ghmac.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/ghook.h \ - /usr/include/glib-2.0/glib/ghostutils.h \ - /usr/include/glib-2.0/glib/giochannel.h \ - /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gpoll.h \ - /usr/include/glib-2.0/glib/gslist.h /usr/include/glib-2.0/glib/gstring.h \ - /usr/include/glib-2.0/glib/gunicode.h \ - /usr/include/glib-2.0/glib/gutils.h \ - /usr/include/glib-2.0/glib/gkeyfile.h \ - /usr/include/glib-2.0/glib/gmappedfile.h \ - /usr/include/glib-2.0/glib/gmarkup.h \ - /usr/include/glib-2.0/glib/gmessages.h \ - /usr/include/glib-2.0/glib/goption.h \ - /usr/include/glib-2.0/glib/gpattern.h \ - /usr/include/glib-2.0/glib/gprimes.h /usr/include/glib-2.0/glib/gqsort.h \ - /usr/include/glib-2.0/glib/gqueue.h /usr/include/glib-2.0/glib/grand.h \ - /usr/include/glib-2.0/glib/gregex.h \ - /usr/include/glib-2.0/glib/gscanner.h \ - /usr/include/glib-2.0/glib/gsequence.h \ - /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gslice.h \ - /usr/include/glib-2.0/glib/gspawn.h \ - /usr/include/glib-2.0/glib/gstrfuncs.h \ - /usr/include/glib-2.0/glib/gstringchunk.h \ - /usr/include/glib-2.0/glib/gtestutils.h \ - /usr/include/glib-2.0/glib/gthreadpool.h \ - /usr/include/glib-2.0/glib/gtimer.h \ - /usr/include/glib-2.0/glib/gtrashstack.h \ - /usr/include/glib-2.0/glib/gtree.h \ - /usr/include/glib-2.0/glib/gurifuncs.h \ - /usr/include/glib-2.0/glib/gvarianttype.h \ - /usr/include/glib-2.0/glib/gvariant.h \ - /usr/include/glib-2.0/glib/gversion.h \ - /usr/include/glib-2.0/glib/deprecated/gallocator.h \ - /usr/include/glib-2.0/glib/deprecated/gcache.h \ - /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ - /usr/include/glib-2.0/glib/deprecated/gmain.h \ - /usr/include/glib-2.0/glib/deprecated/grel.h \ - /usr/include/glib-2.0/glib/deprecated/gthread.h /usr/include/pthread.h \ - /usr/include/sched.h /usr/include/arm-linux-gnueabihf/bits/sched.h \ - /usr/include/arm-linux-gnueabihf/bits/setjmp.h src/log.h src/adapter.h \ - lib/bluetooth/bluetooth.h /usr/include/byteswap.h \ - /usr/include/netinet/in.h /usr/include/arm-linux-gnueabihf/sys/socket.h \ - /usr/include/arm-linux-gnueabihf/sys/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/socket.h \ - /usr/include/arm-linux-gnueabihf/bits/socket_type.h \ - /usr/include/arm-linux-gnueabihf/bits/sockaddr.h \ - /usr/include/arm-linux-gnueabihf/asm/socket.h \ - /usr/include/asm-generic/socket.h \ - /usr/include/arm-linux-gnueabihf/asm/sockios.h \ - /usr/include/asm-generic/sockios.h \ - /usr/include/arm-linux-gnueabihf/bits/in.h lib/bluetooth/sdp.h \ - lib/bluetooth/hci.h lib/bluetooth/hci_lib.h \ - /usr/include/dbus-1.0/dbus/dbus.h \ - /usr/lib/arm-linux-gnueabihf/dbus-1.0/include/dbus/dbus-arch-deps.h \ - /usr/include/dbus-1.0/dbus/dbus-macros.h \ - /usr/include/dbus-1.0/dbus/dbus-address.h \ - /usr/include/dbus-1.0/dbus/dbus-types.h \ - /usr/include/dbus-1.0/dbus/dbus-errors.h \ - /usr/include/dbus-1.0/dbus/dbus-protocol.h \ - /usr/include/dbus-1.0/dbus/dbus-bus.h \ - /usr/include/dbus-1.0/dbus/dbus-connection.h \ - /usr/include/dbus-1.0/dbus/dbus-memory.h \ - /usr/include/dbus-1.0/dbus/dbus-message.h \ - /usr/include/dbus-1.0/dbus/dbus-shared.h \ - /usr/include/dbus-1.0/dbus/dbus-misc.h \ - /usr/include/dbus-1.0/dbus/dbus-pending-call.h \ - /usr/include/dbus-1.0/dbus/dbus-server.h \ - /usr/include/dbus-1.0/dbus/dbus-signature.h \ - /usr/include/dbus-1.0/dbus/dbus-syntax.h \ - /usr/include/dbus-1.0/dbus/dbus-threads.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdbool.h src/hcid.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/include/errno.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/include/arm-linux-gnueabihf/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/arm-linux-gnueabihf/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/include/stdio.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/sys_errlist.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio.h: - -/usr/include/fcntl.h: - -/usr/include/arm-linux-gnueabihf/bits/fcntl.h: - -/usr/include/arm-linux-gnueabihf/bits/fcntl-linux.h: - -/usr/include/arm-linux-gnueabihf/bits/uio.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/time.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/arm-linux-gnueabihf/bits/stat.h: - -/usr/include/unistd.h: - -/usr/include/arm-linux-gnueabihf/bits/posix_opt.h: - -/usr/include/arm-linux-gnueabihf/bits/environments.h: - -/usr/include/arm-linux-gnueabihf/bits/confname.h: - -/usr/include/getopt.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/arm-linux-gnueabihf/bits/wchar.h: - -/usr/include/stdlib.h: - -/usr/include/arm-linux-gnueabihf/bits/waitflags.h: - -/usr/include/arm-linux-gnueabihf/bits/waitstatus.h: - -/usr/include/xlocale.h: - -/usr/include/alloca.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-float.h: - -/usr/include/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string2.h: - -/usr/include/glib-2.0/glib.h: - -/usr/include/glib-2.0/glib/galloca.h: - -/usr/include/glib-2.0/glib/gtypes.h: - -/usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h: - -/usr/include/glib-2.0/glib/gmacros.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h: - -/usr/include/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/local_lim.h: - -/usr/include/linux/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix2_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/xopen_lim.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h: - -/usr/include/glib-2.0/glib/gversionmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/timex.h: - -/usr/include/glib-2.0/glib/garray.h: - -/usr/include/glib-2.0/glib/gasyncqueue.h: - -/usr/include/glib-2.0/glib/gthread.h: - -/usr/include/glib-2.0/glib/gatomic.h: - -/usr/include/glib-2.0/glib/gerror.h: - -/usr/include/glib-2.0/glib/gquark.h: - -/usr/include/glib-2.0/glib/gbacktrace.h: - -/usr/include/signal.h: - -/usr/include/arm-linux-gnueabihf/bits/signum.h: - -/usr/include/arm-linux-gnueabihf/bits/siginfo.h: - -/usr/include/arm-linux-gnueabihf/bits/sigaction.h: - -/usr/include/arm-linux-gnueabihf/bits/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/asm/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigstack.h: - -/usr/include/arm-linux-gnueabihf/sys/ucontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigthread.h: - -/usr/include/glib-2.0/glib/gbase64.h: - -/usr/include/glib-2.0/glib/gbitlock.h: - -/usr/include/glib-2.0/glib/gbookmarkfile.h: - -/usr/include/glib-2.0/glib/gbytes.h: - -/usr/include/glib-2.0/glib/gcharset.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/gconvert.h: - -/usr/include/glib-2.0/glib/gdataset.h: - -/usr/include/glib-2.0/glib/gdate.h: - -/usr/include/glib-2.0/glib/gdatetime.h: - -/usr/include/glib-2.0/glib/gtimezone.h: - -/usr/include/glib-2.0/glib/gdir.h: - -/usr/include/dirent.h: - -/usr/include/arm-linux-gnueabihf/bits/dirent.h: - -/usr/include/glib-2.0/glib/genviron.h: - -/usr/include/glib-2.0/glib/gfileutils.h: - -/usr/include/glib-2.0/glib/ggettext.h: - -/usr/include/glib-2.0/glib/ghash.h: - -/usr/include/glib-2.0/glib/glist.h: - -/usr/include/glib-2.0/glib/gmem.h: - -/usr/include/glib-2.0/glib/gnode.h: - -/usr/include/glib-2.0/glib/ghmac.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/ghook.h: - -/usr/include/glib-2.0/glib/ghostutils.h: - -/usr/include/glib-2.0/glib/giochannel.h: - -/usr/include/glib-2.0/glib/gmain.h: - -/usr/include/glib-2.0/glib/gpoll.h: - -/usr/include/glib-2.0/glib/gslist.h: - -/usr/include/glib-2.0/glib/gstring.h: - -/usr/include/glib-2.0/glib/gunicode.h: - -/usr/include/glib-2.0/glib/gutils.h: - -/usr/include/glib-2.0/glib/gkeyfile.h: - -/usr/include/glib-2.0/glib/gmappedfile.h: - -/usr/include/glib-2.0/glib/gmarkup.h: - -/usr/include/glib-2.0/glib/gmessages.h: - -/usr/include/glib-2.0/glib/goption.h: - -/usr/include/glib-2.0/glib/gpattern.h: - -/usr/include/glib-2.0/glib/gprimes.h: - -/usr/include/glib-2.0/glib/gqsort.h: - -/usr/include/glib-2.0/glib/gqueue.h: - -/usr/include/glib-2.0/glib/grand.h: - -/usr/include/glib-2.0/glib/gregex.h: - -/usr/include/glib-2.0/glib/gscanner.h: - -/usr/include/glib-2.0/glib/gsequence.h: - -/usr/include/glib-2.0/glib/gshell.h: - -/usr/include/glib-2.0/glib/gslice.h: - -/usr/include/glib-2.0/glib/gspawn.h: - -/usr/include/glib-2.0/glib/gstrfuncs.h: - -/usr/include/glib-2.0/glib/gstringchunk.h: - -/usr/include/glib-2.0/glib/gtestutils.h: - -/usr/include/glib-2.0/glib/gthreadpool.h: - -/usr/include/glib-2.0/glib/gtimer.h: - -/usr/include/glib-2.0/glib/gtrashstack.h: - -/usr/include/glib-2.0/glib/gtree.h: - -/usr/include/glib-2.0/glib/gurifuncs.h: - -/usr/include/glib-2.0/glib/gvarianttype.h: - -/usr/include/glib-2.0/glib/gvariant.h: - -/usr/include/glib-2.0/glib/gversion.h: - -/usr/include/glib-2.0/glib/deprecated/gallocator.h: - -/usr/include/glib-2.0/glib/deprecated/gcache.h: - -/usr/include/glib-2.0/glib/deprecated/gcompletion.h: - -/usr/include/glib-2.0/glib/deprecated/gmain.h: - -/usr/include/glib-2.0/glib/deprecated/grel.h: - -/usr/include/glib-2.0/glib/deprecated/gthread.h: - -/usr/include/pthread.h: - -/usr/include/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/setjmp.h: - -src/log.h: - -src/adapter.h: - -lib/bluetooth/bluetooth.h: - -/usr/include/byteswap.h: - -/usr/include/netinet/in.h: - -/usr/include/arm-linux-gnueabihf/sys/socket.h: - -/usr/include/arm-linux-gnueabihf/sys/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/socket.h: - -/usr/include/arm-linux-gnueabihf/bits/socket_type.h: - -/usr/include/arm-linux-gnueabihf/bits/sockaddr.h: - -/usr/include/arm-linux-gnueabihf/asm/socket.h: - -/usr/include/asm-generic/socket.h: - -/usr/include/arm-linux-gnueabihf/asm/sockios.h: - -/usr/include/asm-generic/sockios.h: - -/usr/include/arm-linux-gnueabihf/bits/in.h: - -lib/bluetooth/sdp.h: - -lib/bluetooth/hci.h: - -lib/bluetooth/hci_lib.h: - -/usr/include/dbus-1.0/dbus/dbus.h: - -/usr/lib/arm-linux-gnueabihf/dbus-1.0/include/dbus/dbus-arch-deps.h: - -/usr/include/dbus-1.0/dbus/dbus-macros.h: - -/usr/include/dbus-1.0/dbus/dbus-address.h: - -/usr/include/dbus-1.0/dbus/dbus-types.h: - -/usr/include/dbus-1.0/dbus/dbus-errors.h: - -/usr/include/dbus-1.0/dbus/dbus-protocol.h: - -/usr/include/dbus-1.0/dbus/dbus-bus.h: - -/usr/include/dbus-1.0/dbus/dbus-connection.h: - -/usr/include/dbus-1.0/dbus/dbus-memory.h: - -/usr/include/dbus-1.0/dbus/dbus-message.h: - -/usr/include/dbus-1.0/dbus/dbus-shared.h: - -/usr/include/dbus-1.0/dbus/dbus-misc.h: - -/usr/include/dbus-1.0/dbus/dbus-pending-call.h: - -/usr/include/dbus-1.0/dbus/dbus-server.h: - -/usr/include/dbus-1.0/dbus/dbus-signature.h: - -/usr/include/dbus-1.0/dbus/dbus-syntax.h: - -/usr/include/dbus-1.0/dbus/dbus-threads.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdbool.h: - -src/hcid.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/src/.deps/bluetoothd-sdp-client.Po b/GRIB_BLE_HUB/libs/ble_extend/src/.deps/bluetoothd-sdp-client.Po deleted file mode 100644 index a740901..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/src/.deps/bluetoothd-sdp-client.Po +++ /dev/null @@ -1,458 +0,0 @@ -src/bluetoothd-sdp-client.o: src/sdp-client.c /usr/include/stdc-predef.h \ - config.h /usr/include/errno.h /usr/include/features.h \ - /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/include/arm-linux-gnueabihf/bits/errno.h /usr/include/linux/errno.h \ - /usr/include/arm-linux-gnueabihf/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - lib/bluetooth/bluetooth.h /usr/include/stdio.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/sys_errlist.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h \ - /usr/include/stdint.h /usr/include/arm-linux-gnueabihf/bits/wchar.h \ - /usr/include/string.h /usr/include/xlocale.h \ - /usr/include/arm-linux-gnueabihf/bits/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string2.h /usr/include/stdlib.h \ - /usr/include/endian.h /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/byteswap.h /usr/include/netinet/in.h \ - /usr/include/arm-linux-gnueabihf/sys/socket.h \ - /usr/include/arm-linux-gnueabihf/sys/uio.h \ - /usr/include/arm-linux-gnueabihf/sys/types.h /usr/include/time.h \ - /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/arm-linux-gnueabihf/bits/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/socket.h \ - /usr/include/arm-linux-gnueabihf/bits/socket_type.h \ - /usr/include/arm-linux-gnueabihf/bits/sockaddr.h \ - /usr/include/arm-linux-gnueabihf/asm/socket.h \ - /usr/include/asm-generic/socket.h \ - /usr/include/arm-linux-gnueabihf/asm/sockios.h \ - /usr/include/asm-generic/sockios.h \ - /usr/include/arm-linux-gnueabihf/bits/in.h lib/bluetooth/sdp.h \ - lib/bluetooth/sdp_lib.h lib/bluetooth/hci.h /usr/include/glib-2.0/glib.h \ - /usr/include/glib-2.0/glib/galloca.h /usr/include/glib-2.0/glib/gtypes.h \ - /usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h \ - /usr/include/glib-2.0/glib/gmacros.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h \ - /usr/include/limits.h /usr/include/arm-linux-gnueabihf/bits/posix1_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/local_lim.h \ - /usr/include/linux/limits.h \ - /usr/include/arm-linux-gnueabihf/bits/posix2_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/xopen_lim.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h \ - /usr/include/glib-2.0/glib/gversionmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/timex.h \ - /usr/include/glib-2.0/glib/garray.h \ - /usr/include/glib-2.0/glib/gasyncqueue.h \ - /usr/include/glib-2.0/glib/gthread.h \ - /usr/include/glib-2.0/glib/gatomic.h /usr/include/glib-2.0/glib/gerror.h \ - /usr/include/glib-2.0/glib/gquark.h \ - /usr/include/glib-2.0/glib/gbacktrace.h /usr/include/signal.h \ - /usr/include/arm-linux-gnueabihf/bits/signum.h \ - /usr/include/arm-linux-gnueabihf/bits/siginfo.h \ - /usr/include/arm-linux-gnueabihf/bits/sigaction.h \ - /usr/include/arm-linux-gnueabihf/bits/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/asm/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigstack.h \ - /usr/include/arm-linux-gnueabihf/sys/ucontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigthread.h \ - /usr/include/glib-2.0/glib/gbase64.h \ - /usr/include/glib-2.0/glib/gbitlock.h \ - /usr/include/glib-2.0/glib/gbookmarkfile.h \ - /usr/include/glib-2.0/glib/gbytes.h \ - /usr/include/glib-2.0/glib/gcharset.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/gconvert.h \ - /usr/include/glib-2.0/glib/gdataset.h /usr/include/glib-2.0/glib/gdate.h \ - /usr/include/glib-2.0/glib/gdatetime.h \ - /usr/include/glib-2.0/glib/gtimezone.h /usr/include/glib-2.0/glib/gdir.h \ - /usr/include/dirent.h /usr/include/arm-linux-gnueabihf/bits/dirent.h \ - /usr/include/glib-2.0/glib/genviron.h \ - /usr/include/glib-2.0/glib/gfileutils.h \ - /usr/include/glib-2.0/glib/ggettext.h /usr/include/glib-2.0/glib/ghash.h \ - /usr/include/glib-2.0/glib/glist.h /usr/include/glib-2.0/glib/gmem.h \ - /usr/include/glib-2.0/glib/gnode.h /usr/include/glib-2.0/glib/ghmac.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/ghook.h \ - /usr/include/glib-2.0/glib/ghostutils.h \ - /usr/include/glib-2.0/glib/giochannel.h \ - /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gpoll.h \ - /usr/include/glib-2.0/glib/gslist.h /usr/include/glib-2.0/glib/gstring.h \ - /usr/include/glib-2.0/glib/gunicode.h \ - /usr/include/glib-2.0/glib/gutils.h \ - /usr/include/glib-2.0/glib/gkeyfile.h \ - /usr/include/glib-2.0/glib/gmappedfile.h \ - /usr/include/glib-2.0/glib/gmarkup.h \ - /usr/include/glib-2.0/glib/gmessages.h \ - /usr/include/glib-2.0/glib/goption.h \ - /usr/include/glib-2.0/glib/gpattern.h \ - /usr/include/glib-2.0/glib/gprimes.h /usr/include/glib-2.0/glib/gqsort.h \ - /usr/include/glib-2.0/glib/gqueue.h /usr/include/glib-2.0/glib/grand.h \ - /usr/include/glib-2.0/glib/gregex.h \ - /usr/include/glib-2.0/glib/gscanner.h \ - /usr/include/glib-2.0/glib/gsequence.h \ - /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gslice.h \ - /usr/include/glib-2.0/glib/gspawn.h \ - /usr/include/glib-2.0/glib/gstrfuncs.h \ - /usr/include/glib-2.0/glib/gstringchunk.h \ - /usr/include/glib-2.0/glib/gtestutils.h \ - /usr/include/glib-2.0/glib/gthreadpool.h \ - /usr/include/glib-2.0/glib/gtimer.h \ - /usr/include/glib-2.0/glib/gtrashstack.h \ - /usr/include/glib-2.0/glib/gtree.h \ - /usr/include/glib-2.0/glib/gurifuncs.h \ - /usr/include/glib-2.0/glib/gvarianttype.h \ - /usr/include/glib-2.0/glib/gvariant.h \ - /usr/include/glib-2.0/glib/gversion.h \ - /usr/include/glib-2.0/glib/deprecated/gallocator.h \ - /usr/include/glib-2.0/glib/deprecated/gcache.h \ - /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ - /usr/include/glib-2.0/glib/deprecated/gmain.h \ - /usr/include/glib-2.0/glib/deprecated/grel.h \ - /usr/include/glib-2.0/glib/deprecated/gthread.h /usr/include/pthread.h \ - /usr/include/sched.h /usr/include/arm-linux-gnueabihf/bits/sched.h \ - /usr/include/arm-linux-gnueabihf/bits/setjmp.h btio/btio.h \ - src/sdp-client.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/include/errno.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/include/arm-linux-gnueabihf/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/arm-linux-gnueabihf/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -lib/bluetooth/bluetooth.h: - -/usr/include/stdio.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/sys_errlist.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/arm-linux-gnueabihf/bits/wchar.h: - -/usr/include/string.h: - -/usr/include/xlocale.h: - -/usr/include/arm-linux-gnueabihf/bits/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string2.h: - -/usr/include/stdlib.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/byteswap.h: - -/usr/include/netinet/in.h: - -/usr/include/arm-linux-gnueabihf/sys/socket.h: - -/usr/include/arm-linux-gnueabihf/sys/uio.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/time.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/arm-linux-gnueabihf/bits/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/socket.h: - -/usr/include/arm-linux-gnueabihf/bits/socket_type.h: - -/usr/include/arm-linux-gnueabihf/bits/sockaddr.h: - -/usr/include/arm-linux-gnueabihf/asm/socket.h: - -/usr/include/asm-generic/socket.h: - -/usr/include/arm-linux-gnueabihf/asm/sockios.h: - -/usr/include/asm-generic/sockios.h: - -/usr/include/arm-linux-gnueabihf/bits/in.h: - -lib/bluetooth/sdp.h: - -lib/bluetooth/sdp_lib.h: - -lib/bluetooth/hci.h: - -/usr/include/glib-2.0/glib.h: - -/usr/include/glib-2.0/glib/galloca.h: - -/usr/include/glib-2.0/glib/gtypes.h: - -/usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h: - -/usr/include/glib-2.0/glib/gmacros.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h: - -/usr/include/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/local_lim.h: - -/usr/include/linux/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix2_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/xopen_lim.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h: - -/usr/include/glib-2.0/glib/gversionmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/timex.h: - -/usr/include/glib-2.0/glib/garray.h: - -/usr/include/glib-2.0/glib/gasyncqueue.h: - -/usr/include/glib-2.0/glib/gthread.h: - -/usr/include/glib-2.0/glib/gatomic.h: - -/usr/include/glib-2.0/glib/gerror.h: - -/usr/include/glib-2.0/glib/gquark.h: - -/usr/include/glib-2.0/glib/gbacktrace.h: - -/usr/include/signal.h: - -/usr/include/arm-linux-gnueabihf/bits/signum.h: - -/usr/include/arm-linux-gnueabihf/bits/siginfo.h: - -/usr/include/arm-linux-gnueabihf/bits/sigaction.h: - -/usr/include/arm-linux-gnueabihf/bits/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/asm/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigstack.h: - -/usr/include/arm-linux-gnueabihf/sys/ucontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigthread.h: - -/usr/include/glib-2.0/glib/gbase64.h: - -/usr/include/glib-2.0/glib/gbitlock.h: - -/usr/include/glib-2.0/glib/gbookmarkfile.h: - -/usr/include/glib-2.0/glib/gbytes.h: - -/usr/include/glib-2.0/glib/gcharset.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/gconvert.h: - -/usr/include/glib-2.0/glib/gdataset.h: - -/usr/include/glib-2.0/glib/gdate.h: - -/usr/include/glib-2.0/glib/gdatetime.h: - -/usr/include/glib-2.0/glib/gtimezone.h: - -/usr/include/glib-2.0/glib/gdir.h: - -/usr/include/dirent.h: - -/usr/include/arm-linux-gnueabihf/bits/dirent.h: - -/usr/include/glib-2.0/glib/genviron.h: - -/usr/include/glib-2.0/glib/gfileutils.h: - -/usr/include/glib-2.0/glib/ggettext.h: - -/usr/include/glib-2.0/glib/ghash.h: - -/usr/include/glib-2.0/glib/glist.h: - -/usr/include/glib-2.0/glib/gmem.h: - -/usr/include/glib-2.0/glib/gnode.h: - -/usr/include/glib-2.0/glib/ghmac.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/ghook.h: - -/usr/include/glib-2.0/glib/ghostutils.h: - -/usr/include/glib-2.0/glib/giochannel.h: - -/usr/include/glib-2.0/glib/gmain.h: - -/usr/include/glib-2.0/glib/gpoll.h: - -/usr/include/glib-2.0/glib/gslist.h: - -/usr/include/glib-2.0/glib/gstring.h: - -/usr/include/glib-2.0/glib/gunicode.h: - -/usr/include/glib-2.0/glib/gutils.h: - -/usr/include/glib-2.0/glib/gkeyfile.h: - -/usr/include/glib-2.0/glib/gmappedfile.h: - -/usr/include/glib-2.0/glib/gmarkup.h: - -/usr/include/glib-2.0/glib/gmessages.h: - -/usr/include/glib-2.0/glib/goption.h: - -/usr/include/glib-2.0/glib/gpattern.h: - -/usr/include/glib-2.0/glib/gprimes.h: - -/usr/include/glib-2.0/glib/gqsort.h: - -/usr/include/glib-2.0/glib/gqueue.h: - -/usr/include/glib-2.0/glib/grand.h: - -/usr/include/glib-2.0/glib/gregex.h: - -/usr/include/glib-2.0/glib/gscanner.h: - -/usr/include/glib-2.0/glib/gsequence.h: - -/usr/include/glib-2.0/glib/gshell.h: - -/usr/include/glib-2.0/glib/gslice.h: - -/usr/include/glib-2.0/glib/gspawn.h: - -/usr/include/glib-2.0/glib/gstrfuncs.h: - -/usr/include/glib-2.0/glib/gstringchunk.h: - -/usr/include/glib-2.0/glib/gtestutils.h: - -/usr/include/glib-2.0/glib/gthreadpool.h: - -/usr/include/glib-2.0/glib/gtimer.h: - -/usr/include/glib-2.0/glib/gtrashstack.h: - -/usr/include/glib-2.0/glib/gtree.h: - -/usr/include/glib-2.0/glib/gurifuncs.h: - -/usr/include/glib-2.0/glib/gvarianttype.h: - -/usr/include/glib-2.0/glib/gvariant.h: - -/usr/include/glib-2.0/glib/gversion.h: - -/usr/include/glib-2.0/glib/deprecated/gallocator.h: - -/usr/include/glib-2.0/glib/deprecated/gcache.h: - -/usr/include/glib-2.0/glib/deprecated/gcompletion.h: - -/usr/include/glib-2.0/glib/deprecated/gmain.h: - -/usr/include/glib-2.0/glib/deprecated/grel.h: - -/usr/include/glib-2.0/glib/deprecated/gthread.h: - -/usr/include/pthread.h: - -/usr/include/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/setjmp.h: - -btio/btio.h: - -src/sdp-client.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/src/.deps/bluetoothd-sdp-xml.Po b/GRIB_BLE_HUB/libs/ble_extend/src/.deps/bluetoothd-sdp-xml.Po deleted file mode 100644 index 1d52724..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/src/.deps/bluetoothd-sdp-xml.Po +++ /dev/null @@ -1,473 +0,0 @@ -src/bluetoothd-sdp-xml.o: src/sdp-xml.c /usr/include/stdc-predef.h \ - config.h /usr/include/stdio.h /usr/include/features.h \ - /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/sys_errlist.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio.h /usr/include/errno.h \ - /usr/include/arm-linux-gnueabihf/bits/errno.h /usr/include/linux/errno.h \ - /usr/include/arm-linux-gnueabihf/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/include/ctype.h /usr/include/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/xlocale.h /usr/include/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string2.h /usr/include/stdlib.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h \ - /usr/include/limits.h /usr/include/arm-linux-gnueabihf/bits/posix1_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/local_lim.h \ - /usr/include/linux/limits.h \ - /usr/include/arm-linux-gnueabihf/bits/posix2_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/xopen_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/waitflags.h \ - /usr/include/arm-linux-gnueabihf/bits/waitstatus.h \ - /usr/include/arm-linux-gnueabihf/sys/types.h /usr/include/time.h \ - /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/alloca.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-float.h \ - /usr/include/glib-2.0/glib.h /usr/include/glib-2.0/glib/galloca.h \ - /usr/include/glib-2.0/glib/gtypes.h \ - /usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h \ - /usr/include/glib-2.0/glib/gmacros.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h \ - /usr/include/glib-2.0/glib/gversionmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/timex.h \ - /usr/include/glib-2.0/glib/garray.h \ - /usr/include/glib-2.0/glib/gasyncqueue.h \ - /usr/include/glib-2.0/glib/gthread.h \ - /usr/include/glib-2.0/glib/gatomic.h /usr/include/glib-2.0/glib/gerror.h \ - /usr/include/glib-2.0/glib/gquark.h \ - /usr/include/glib-2.0/glib/gbacktrace.h /usr/include/signal.h \ - /usr/include/arm-linux-gnueabihf/bits/signum.h \ - /usr/include/arm-linux-gnueabihf/bits/siginfo.h \ - /usr/include/arm-linux-gnueabihf/bits/sigaction.h \ - /usr/include/arm-linux-gnueabihf/bits/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/asm/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigstack.h \ - /usr/include/arm-linux-gnueabihf/sys/ucontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigthread.h \ - /usr/include/glib-2.0/glib/gbase64.h \ - /usr/include/glib-2.0/glib/gbitlock.h \ - /usr/include/glib-2.0/glib/gbookmarkfile.h \ - /usr/include/glib-2.0/glib/gbytes.h \ - /usr/include/glib-2.0/glib/gcharset.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/gconvert.h \ - /usr/include/glib-2.0/glib/gdataset.h /usr/include/glib-2.0/glib/gdate.h \ - /usr/include/glib-2.0/glib/gdatetime.h \ - /usr/include/glib-2.0/glib/gtimezone.h /usr/include/glib-2.0/glib/gdir.h \ - /usr/include/dirent.h /usr/include/arm-linux-gnueabihf/bits/dirent.h \ - /usr/include/glib-2.0/glib/genviron.h \ - /usr/include/glib-2.0/glib/gfileutils.h \ - /usr/include/glib-2.0/glib/ggettext.h /usr/include/glib-2.0/glib/ghash.h \ - /usr/include/glib-2.0/glib/glist.h /usr/include/glib-2.0/glib/gmem.h \ - /usr/include/glib-2.0/glib/gnode.h /usr/include/glib-2.0/glib/ghmac.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/ghook.h \ - /usr/include/glib-2.0/glib/ghostutils.h \ - /usr/include/glib-2.0/glib/giochannel.h \ - /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gpoll.h \ - /usr/include/glib-2.0/glib/gslist.h /usr/include/glib-2.0/glib/gstring.h \ - /usr/include/glib-2.0/glib/gunicode.h \ - /usr/include/glib-2.0/glib/gutils.h \ - /usr/include/glib-2.0/glib/gkeyfile.h \ - /usr/include/glib-2.0/glib/gmappedfile.h \ - /usr/include/glib-2.0/glib/gmarkup.h \ - /usr/include/glib-2.0/glib/gmessages.h \ - /usr/include/glib-2.0/glib/goption.h \ - /usr/include/glib-2.0/glib/gpattern.h \ - /usr/include/glib-2.0/glib/gprimes.h /usr/include/glib-2.0/glib/gqsort.h \ - /usr/include/glib-2.0/glib/gqueue.h /usr/include/glib-2.0/glib/grand.h \ - /usr/include/glib-2.0/glib/gregex.h \ - /usr/include/glib-2.0/glib/gscanner.h \ - /usr/include/glib-2.0/glib/gsequence.h \ - /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gslice.h \ - /usr/include/glib-2.0/glib/gspawn.h \ - /usr/include/glib-2.0/glib/gstrfuncs.h \ - /usr/include/glib-2.0/glib/gstringchunk.h \ - /usr/include/glib-2.0/glib/gtestutils.h \ - /usr/include/glib-2.0/glib/gthreadpool.h \ - /usr/include/glib-2.0/glib/gtimer.h \ - /usr/include/glib-2.0/glib/gtrashstack.h \ - /usr/include/glib-2.0/glib/gtree.h \ - /usr/include/glib-2.0/glib/gurifuncs.h \ - /usr/include/glib-2.0/glib/gvarianttype.h \ - /usr/include/glib-2.0/glib/gvariant.h \ - /usr/include/glib-2.0/glib/gversion.h \ - /usr/include/glib-2.0/glib/deprecated/gallocator.h \ - /usr/include/glib-2.0/glib/deprecated/gcache.h \ - /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ - /usr/include/glib-2.0/glib/deprecated/gmain.h \ - /usr/include/glib-2.0/glib/deprecated/grel.h \ - /usr/include/glib-2.0/glib/deprecated/gthread.h /usr/include/pthread.h \ - /usr/include/sched.h /usr/include/arm-linux-gnueabihf/bits/sched.h \ - /usr/include/arm-linux-gnueabihf/bits/setjmp.h lib/bluetooth/sdp.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h \ - /usr/include/stdint.h /usr/include/arm-linux-gnueabihf/bits/wchar.h \ - lib/bluetooth/bluetooth.h /usr/include/byteswap.h \ - /usr/include/netinet/in.h /usr/include/arm-linux-gnueabihf/sys/socket.h \ - /usr/include/arm-linux-gnueabihf/sys/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/socket.h \ - /usr/include/arm-linux-gnueabihf/bits/socket_type.h \ - /usr/include/arm-linux-gnueabihf/bits/sockaddr.h \ - /usr/include/arm-linux-gnueabihf/asm/socket.h \ - /usr/include/asm-generic/socket.h \ - /usr/include/arm-linux-gnueabihf/asm/sockios.h \ - /usr/include/asm-generic/sockios.h \ - /usr/include/arm-linux-gnueabihf/bits/in.h lib/bluetooth/sdp_lib.h \ - lib/bluetooth/hci.h src/sdp-xml.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/include/stdio.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/sys_errlist.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio.h: - -/usr/include/errno.h: - -/usr/include/arm-linux-gnueabihf/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/arm-linux-gnueabihf/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/include/ctype.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/xlocale.h: - -/usr/include/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string2.h: - -/usr/include/stdlib.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h: - -/usr/include/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/local_lim.h: - -/usr/include/linux/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix2_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/xopen_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/waitflags.h: - -/usr/include/arm-linux-gnueabihf/bits/waitstatus.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/time.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/alloca.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-float.h: - -/usr/include/glib-2.0/glib.h: - -/usr/include/glib-2.0/glib/galloca.h: - -/usr/include/glib-2.0/glib/gtypes.h: - -/usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h: - -/usr/include/glib-2.0/glib/gmacros.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h: - -/usr/include/glib-2.0/glib/gversionmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/timex.h: - -/usr/include/glib-2.0/glib/garray.h: - -/usr/include/glib-2.0/glib/gasyncqueue.h: - -/usr/include/glib-2.0/glib/gthread.h: - -/usr/include/glib-2.0/glib/gatomic.h: - -/usr/include/glib-2.0/glib/gerror.h: - -/usr/include/glib-2.0/glib/gquark.h: - -/usr/include/glib-2.0/glib/gbacktrace.h: - -/usr/include/signal.h: - -/usr/include/arm-linux-gnueabihf/bits/signum.h: - -/usr/include/arm-linux-gnueabihf/bits/siginfo.h: - -/usr/include/arm-linux-gnueabihf/bits/sigaction.h: - -/usr/include/arm-linux-gnueabihf/bits/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/asm/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigstack.h: - -/usr/include/arm-linux-gnueabihf/sys/ucontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigthread.h: - -/usr/include/glib-2.0/glib/gbase64.h: - -/usr/include/glib-2.0/glib/gbitlock.h: - -/usr/include/glib-2.0/glib/gbookmarkfile.h: - -/usr/include/glib-2.0/glib/gbytes.h: - -/usr/include/glib-2.0/glib/gcharset.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/gconvert.h: - -/usr/include/glib-2.0/glib/gdataset.h: - -/usr/include/glib-2.0/glib/gdate.h: - -/usr/include/glib-2.0/glib/gdatetime.h: - -/usr/include/glib-2.0/glib/gtimezone.h: - -/usr/include/glib-2.0/glib/gdir.h: - -/usr/include/dirent.h: - -/usr/include/arm-linux-gnueabihf/bits/dirent.h: - -/usr/include/glib-2.0/glib/genviron.h: - -/usr/include/glib-2.0/glib/gfileutils.h: - -/usr/include/glib-2.0/glib/ggettext.h: - -/usr/include/glib-2.0/glib/ghash.h: - -/usr/include/glib-2.0/glib/glist.h: - -/usr/include/glib-2.0/glib/gmem.h: - -/usr/include/glib-2.0/glib/gnode.h: - -/usr/include/glib-2.0/glib/ghmac.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/ghook.h: - -/usr/include/glib-2.0/glib/ghostutils.h: - -/usr/include/glib-2.0/glib/giochannel.h: - -/usr/include/glib-2.0/glib/gmain.h: - -/usr/include/glib-2.0/glib/gpoll.h: - -/usr/include/glib-2.0/glib/gslist.h: - -/usr/include/glib-2.0/glib/gstring.h: - -/usr/include/glib-2.0/glib/gunicode.h: - -/usr/include/glib-2.0/glib/gutils.h: - -/usr/include/glib-2.0/glib/gkeyfile.h: - -/usr/include/glib-2.0/glib/gmappedfile.h: - -/usr/include/glib-2.0/glib/gmarkup.h: - -/usr/include/glib-2.0/glib/gmessages.h: - -/usr/include/glib-2.0/glib/goption.h: - -/usr/include/glib-2.0/glib/gpattern.h: - -/usr/include/glib-2.0/glib/gprimes.h: - -/usr/include/glib-2.0/glib/gqsort.h: - -/usr/include/glib-2.0/glib/gqueue.h: - -/usr/include/glib-2.0/glib/grand.h: - -/usr/include/glib-2.0/glib/gregex.h: - -/usr/include/glib-2.0/glib/gscanner.h: - -/usr/include/glib-2.0/glib/gsequence.h: - -/usr/include/glib-2.0/glib/gshell.h: - -/usr/include/glib-2.0/glib/gslice.h: - -/usr/include/glib-2.0/glib/gspawn.h: - -/usr/include/glib-2.0/glib/gstrfuncs.h: - -/usr/include/glib-2.0/glib/gstringchunk.h: - -/usr/include/glib-2.0/glib/gtestutils.h: - -/usr/include/glib-2.0/glib/gthreadpool.h: - -/usr/include/glib-2.0/glib/gtimer.h: - -/usr/include/glib-2.0/glib/gtrashstack.h: - -/usr/include/glib-2.0/glib/gtree.h: - -/usr/include/glib-2.0/glib/gurifuncs.h: - -/usr/include/glib-2.0/glib/gvarianttype.h: - -/usr/include/glib-2.0/glib/gvariant.h: - -/usr/include/glib-2.0/glib/gversion.h: - -/usr/include/glib-2.0/glib/deprecated/gallocator.h: - -/usr/include/glib-2.0/glib/deprecated/gcache.h: - -/usr/include/glib-2.0/glib/deprecated/gcompletion.h: - -/usr/include/glib-2.0/glib/deprecated/gmain.h: - -/usr/include/glib-2.0/glib/deprecated/grel.h: - -/usr/include/glib-2.0/glib/deprecated/gthread.h: - -/usr/include/pthread.h: - -/usr/include/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/setjmp.h: - -lib/bluetooth/sdp.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/arm-linux-gnueabihf/bits/wchar.h: - -lib/bluetooth/bluetooth.h: - -/usr/include/byteswap.h: - -/usr/include/netinet/in.h: - -/usr/include/arm-linux-gnueabihf/sys/socket.h: - -/usr/include/arm-linux-gnueabihf/sys/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/socket.h: - -/usr/include/arm-linux-gnueabihf/bits/socket_type.h: - -/usr/include/arm-linux-gnueabihf/bits/sockaddr.h: - -/usr/include/arm-linux-gnueabihf/asm/socket.h: - -/usr/include/asm-generic/socket.h: - -/usr/include/arm-linux-gnueabihf/asm/sockios.h: - -/usr/include/asm-generic/sockios.h: - -/usr/include/arm-linux-gnueabihf/bits/in.h: - -lib/bluetooth/sdp_lib.h: - -lib/bluetooth/hci.h: - -src/sdp-xml.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/src/.deps/bluetoothd-sdpd-database.Po b/GRIB_BLE_HUB/libs/ble_extend/src/.deps/bluetoothd-sdpd-database.Po deleted file mode 100644 index ddbce03..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/src/.deps/bluetoothd-sdpd-database.Po +++ /dev/null @@ -1,533 +0,0 @@ -src/bluetoothd-sdpd-database.o: src/sdpd-database.c \ - /usr/include/stdc-predef.h config.h /usr/include/stdio.h \ - /usr/include/features.h /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/sys_errlist.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio.h /usr/include/errno.h \ - /usr/include/arm-linux-gnueabihf/bits/errno.h /usr/include/linux/errno.h \ - /usr/include/arm-linux-gnueabihf/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/include/stdlib.h /usr/include/arm-linux-gnueabihf/bits/waitflags.h \ - /usr/include/arm-linux-gnueabihf/bits/waitstatus.h /usr/include/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/xlocale.h /usr/include/arm-linux-gnueabihf/sys/types.h \ - /usr/include/time.h /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/alloca.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-float.h \ - /usr/include/arm-linux-gnueabihf/sys/socket.h \ - /usr/include/arm-linux-gnueabihf/sys/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/socket.h \ - /usr/include/arm-linux-gnueabihf/bits/socket_type.h \ - /usr/include/arm-linux-gnueabihf/bits/sockaddr.h \ - /usr/include/arm-linux-gnueabihf/asm/socket.h \ - /usr/include/asm-generic/socket.h \ - /usr/include/arm-linux-gnueabihf/asm/sockios.h \ - /usr/include/asm-generic/sockios.h lib/bluetooth/bluetooth.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h \ - /usr/include/stdint.h /usr/include/arm-linux-gnueabihf/bits/wchar.h \ - /usr/include/string.h /usr/include/arm-linux-gnueabihf/bits/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string2.h /usr/include/byteswap.h \ - /usr/include/netinet/in.h /usr/include/arm-linux-gnueabihf/bits/in.h \ - lib/bluetooth/l2cap.h lib/bluetooth/sdp.h lib/bluetooth/sdp_lib.h \ - lib/bluetooth/hci.h src/sdpd.h src/log.h src/adapter.h \ - lib/bluetooth/hci_lib.h /usr/include/dbus-1.0/dbus/dbus.h \ - /usr/lib/arm-linux-gnueabihf/dbus-1.0/include/dbus/dbus-arch-deps.h \ - /usr/include/dbus-1.0/dbus/dbus-macros.h \ - /usr/include/dbus-1.0/dbus/dbus-address.h \ - /usr/include/dbus-1.0/dbus/dbus-types.h \ - /usr/include/dbus-1.0/dbus/dbus-errors.h \ - /usr/include/dbus-1.0/dbus/dbus-protocol.h \ - /usr/include/dbus-1.0/dbus/dbus-bus.h \ - /usr/include/dbus-1.0/dbus/dbus-connection.h \ - /usr/include/dbus-1.0/dbus/dbus-memory.h \ - /usr/include/dbus-1.0/dbus/dbus-message.h \ - /usr/include/dbus-1.0/dbus/dbus-shared.h \ - /usr/include/dbus-1.0/dbus/dbus-misc.h \ - /usr/include/dbus-1.0/dbus/dbus-pending-call.h \ - /usr/include/dbus-1.0/dbus/dbus-server.h \ - /usr/include/dbus-1.0/dbus/dbus-signature.h \ - /usr/include/dbus-1.0/dbus/dbus-syntax.h \ - /usr/include/dbus-1.0/dbus/dbus-threads.h /usr/include/glib-2.0/glib.h \ - /usr/include/glib-2.0/glib/galloca.h /usr/include/glib-2.0/glib/gtypes.h \ - /usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h \ - /usr/include/glib-2.0/glib/gmacros.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h \ - /usr/include/limits.h /usr/include/arm-linux-gnueabihf/bits/posix1_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/local_lim.h \ - /usr/include/linux/limits.h \ - /usr/include/arm-linux-gnueabihf/bits/posix2_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/xopen_lim.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h \ - /usr/include/glib-2.0/glib/gversionmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/timex.h \ - /usr/include/glib-2.0/glib/garray.h \ - /usr/include/glib-2.0/glib/gasyncqueue.h \ - /usr/include/glib-2.0/glib/gthread.h \ - /usr/include/glib-2.0/glib/gatomic.h /usr/include/glib-2.0/glib/gerror.h \ - /usr/include/glib-2.0/glib/gquark.h \ - /usr/include/glib-2.0/glib/gbacktrace.h /usr/include/signal.h \ - /usr/include/arm-linux-gnueabihf/bits/signum.h \ - /usr/include/arm-linux-gnueabihf/bits/siginfo.h \ - /usr/include/arm-linux-gnueabihf/bits/sigaction.h \ - /usr/include/arm-linux-gnueabihf/bits/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/asm/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigstack.h \ - /usr/include/arm-linux-gnueabihf/sys/ucontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigthread.h \ - /usr/include/glib-2.0/glib/gbase64.h \ - /usr/include/glib-2.0/glib/gbitlock.h \ - /usr/include/glib-2.0/glib/gbookmarkfile.h \ - /usr/include/glib-2.0/glib/gbytes.h \ - /usr/include/glib-2.0/glib/gcharset.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/gconvert.h \ - /usr/include/glib-2.0/glib/gdataset.h /usr/include/glib-2.0/glib/gdate.h \ - /usr/include/glib-2.0/glib/gdatetime.h \ - /usr/include/glib-2.0/glib/gtimezone.h /usr/include/glib-2.0/glib/gdir.h \ - /usr/include/dirent.h /usr/include/arm-linux-gnueabihf/bits/dirent.h \ - /usr/include/glib-2.0/glib/genviron.h \ - /usr/include/glib-2.0/glib/gfileutils.h \ - /usr/include/glib-2.0/glib/ggettext.h /usr/include/glib-2.0/glib/ghash.h \ - /usr/include/glib-2.0/glib/glist.h /usr/include/glib-2.0/glib/gmem.h \ - /usr/include/glib-2.0/glib/gnode.h /usr/include/glib-2.0/glib/ghmac.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/ghook.h \ - /usr/include/glib-2.0/glib/ghostutils.h \ - /usr/include/glib-2.0/glib/giochannel.h \ - /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gpoll.h \ - /usr/include/glib-2.0/glib/gslist.h /usr/include/glib-2.0/glib/gstring.h \ - /usr/include/glib-2.0/glib/gunicode.h \ - /usr/include/glib-2.0/glib/gutils.h \ - /usr/include/glib-2.0/glib/gkeyfile.h \ - /usr/include/glib-2.0/glib/gmappedfile.h \ - /usr/include/glib-2.0/glib/gmarkup.h \ - /usr/include/glib-2.0/glib/gmessages.h \ - /usr/include/glib-2.0/glib/goption.h \ - /usr/include/glib-2.0/glib/gpattern.h \ - /usr/include/glib-2.0/glib/gprimes.h /usr/include/glib-2.0/glib/gqsort.h \ - /usr/include/glib-2.0/glib/gqueue.h /usr/include/glib-2.0/glib/grand.h \ - /usr/include/glib-2.0/glib/gregex.h \ - /usr/include/glib-2.0/glib/gscanner.h \ - /usr/include/glib-2.0/glib/gsequence.h \ - /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gslice.h \ - /usr/include/glib-2.0/glib/gspawn.h \ - /usr/include/glib-2.0/glib/gstrfuncs.h \ - /usr/include/glib-2.0/glib/gstringchunk.h \ - /usr/include/glib-2.0/glib/gtestutils.h \ - /usr/include/glib-2.0/glib/gthreadpool.h \ - /usr/include/glib-2.0/glib/gtimer.h \ - /usr/include/glib-2.0/glib/gtrashstack.h \ - /usr/include/glib-2.0/glib/gtree.h \ - /usr/include/glib-2.0/glib/gurifuncs.h \ - /usr/include/glib-2.0/glib/gvarianttype.h \ - /usr/include/glib-2.0/glib/gvariant.h \ - /usr/include/glib-2.0/glib/gversion.h \ - /usr/include/glib-2.0/glib/deprecated/gallocator.h \ - /usr/include/glib-2.0/glib/deprecated/gcache.h \ - /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ - /usr/include/glib-2.0/glib/deprecated/gmain.h \ - /usr/include/glib-2.0/glib/deprecated/grel.h \ - /usr/include/glib-2.0/glib/deprecated/gthread.h /usr/include/pthread.h \ - /usr/include/sched.h /usr/include/arm-linux-gnueabihf/bits/sched.h \ - /usr/include/arm-linux-gnueabihf/bits/setjmp.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdbool.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/include/stdio.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/sys_errlist.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio.h: - -/usr/include/errno.h: - -/usr/include/arm-linux-gnueabihf/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/arm-linux-gnueabihf/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/include/stdlib.h: - -/usr/include/arm-linux-gnueabihf/bits/waitflags.h: - -/usr/include/arm-linux-gnueabihf/bits/waitstatus.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/xlocale.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/time.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/alloca.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-float.h: - -/usr/include/arm-linux-gnueabihf/sys/socket.h: - -/usr/include/arm-linux-gnueabihf/sys/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/socket.h: - -/usr/include/arm-linux-gnueabihf/bits/socket_type.h: - -/usr/include/arm-linux-gnueabihf/bits/sockaddr.h: - -/usr/include/arm-linux-gnueabihf/asm/socket.h: - -/usr/include/asm-generic/socket.h: - -/usr/include/arm-linux-gnueabihf/asm/sockios.h: - -/usr/include/asm-generic/sockios.h: - -lib/bluetooth/bluetooth.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/arm-linux-gnueabihf/bits/wchar.h: - -/usr/include/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string2.h: - -/usr/include/byteswap.h: - -/usr/include/netinet/in.h: - -/usr/include/arm-linux-gnueabihf/bits/in.h: - -lib/bluetooth/l2cap.h: - -lib/bluetooth/sdp.h: - -lib/bluetooth/sdp_lib.h: - -lib/bluetooth/hci.h: - -src/sdpd.h: - -src/log.h: - -src/adapter.h: - -lib/bluetooth/hci_lib.h: - -/usr/include/dbus-1.0/dbus/dbus.h: - -/usr/lib/arm-linux-gnueabihf/dbus-1.0/include/dbus/dbus-arch-deps.h: - -/usr/include/dbus-1.0/dbus/dbus-macros.h: - -/usr/include/dbus-1.0/dbus/dbus-address.h: - -/usr/include/dbus-1.0/dbus/dbus-types.h: - -/usr/include/dbus-1.0/dbus/dbus-errors.h: - -/usr/include/dbus-1.0/dbus/dbus-protocol.h: - -/usr/include/dbus-1.0/dbus/dbus-bus.h: - -/usr/include/dbus-1.0/dbus/dbus-connection.h: - -/usr/include/dbus-1.0/dbus/dbus-memory.h: - -/usr/include/dbus-1.0/dbus/dbus-message.h: - -/usr/include/dbus-1.0/dbus/dbus-shared.h: - -/usr/include/dbus-1.0/dbus/dbus-misc.h: - -/usr/include/dbus-1.0/dbus/dbus-pending-call.h: - -/usr/include/dbus-1.0/dbus/dbus-server.h: - -/usr/include/dbus-1.0/dbus/dbus-signature.h: - -/usr/include/dbus-1.0/dbus/dbus-syntax.h: - -/usr/include/dbus-1.0/dbus/dbus-threads.h: - -/usr/include/glib-2.0/glib.h: - -/usr/include/glib-2.0/glib/galloca.h: - -/usr/include/glib-2.0/glib/gtypes.h: - -/usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h: - -/usr/include/glib-2.0/glib/gmacros.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h: - -/usr/include/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/local_lim.h: - -/usr/include/linux/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix2_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/xopen_lim.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h: - -/usr/include/glib-2.0/glib/gversionmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/timex.h: - -/usr/include/glib-2.0/glib/garray.h: - -/usr/include/glib-2.0/glib/gasyncqueue.h: - -/usr/include/glib-2.0/glib/gthread.h: - -/usr/include/glib-2.0/glib/gatomic.h: - -/usr/include/glib-2.0/glib/gerror.h: - -/usr/include/glib-2.0/glib/gquark.h: - -/usr/include/glib-2.0/glib/gbacktrace.h: - -/usr/include/signal.h: - -/usr/include/arm-linux-gnueabihf/bits/signum.h: - -/usr/include/arm-linux-gnueabihf/bits/siginfo.h: - -/usr/include/arm-linux-gnueabihf/bits/sigaction.h: - -/usr/include/arm-linux-gnueabihf/bits/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/asm/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigstack.h: - -/usr/include/arm-linux-gnueabihf/sys/ucontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigthread.h: - -/usr/include/glib-2.0/glib/gbase64.h: - -/usr/include/glib-2.0/glib/gbitlock.h: - -/usr/include/glib-2.0/glib/gbookmarkfile.h: - -/usr/include/glib-2.0/glib/gbytes.h: - -/usr/include/glib-2.0/glib/gcharset.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/gconvert.h: - -/usr/include/glib-2.0/glib/gdataset.h: - -/usr/include/glib-2.0/glib/gdate.h: - -/usr/include/glib-2.0/glib/gdatetime.h: - -/usr/include/glib-2.0/glib/gtimezone.h: - -/usr/include/glib-2.0/glib/gdir.h: - -/usr/include/dirent.h: - -/usr/include/arm-linux-gnueabihf/bits/dirent.h: - -/usr/include/glib-2.0/glib/genviron.h: - -/usr/include/glib-2.0/glib/gfileutils.h: - -/usr/include/glib-2.0/glib/ggettext.h: - -/usr/include/glib-2.0/glib/ghash.h: - -/usr/include/glib-2.0/glib/glist.h: - -/usr/include/glib-2.0/glib/gmem.h: - -/usr/include/glib-2.0/glib/gnode.h: - -/usr/include/glib-2.0/glib/ghmac.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/ghook.h: - -/usr/include/glib-2.0/glib/ghostutils.h: - -/usr/include/glib-2.0/glib/giochannel.h: - -/usr/include/glib-2.0/glib/gmain.h: - -/usr/include/glib-2.0/glib/gpoll.h: - -/usr/include/glib-2.0/glib/gslist.h: - -/usr/include/glib-2.0/glib/gstring.h: - -/usr/include/glib-2.0/glib/gunicode.h: - -/usr/include/glib-2.0/glib/gutils.h: - -/usr/include/glib-2.0/glib/gkeyfile.h: - -/usr/include/glib-2.0/glib/gmappedfile.h: - -/usr/include/glib-2.0/glib/gmarkup.h: - -/usr/include/glib-2.0/glib/gmessages.h: - -/usr/include/glib-2.0/glib/goption.h: - -/usr/include/glib-2.0/glib/gpattern.h: - -/usr/include/glib-2.0/glib/gprimes.h: - -/usr/include/glib-2.0/glib/gqsort.h: - -/usr/include/glib-2.0/glib/gqueue.h: - -/usr/include/glib-2.0/glib/grand.h: - -/usr/include/glib-2.0/glib/gregex.h: - -/usr/include/glib-2.0/glib/gscanner.h: - -/usr/include/glib-2.0/glib/gsequence.h: - -/usr/include/glib-2.0/glib/gshell.h: - -/usr/include/glib-2.0/glib/gslice.h: - -/usr/include/glib-2.0/glib/gspawn.h: - -/usr/include/glib-2.0/glib/gstrfuncs.h: - -/usr/include/glib-2.0/glib/gstringchunk.h: - -/usr/include/glib-2.0/glib/gtestutils.h: - -/usr/include/glib-2.0/glib/gthreadpool.h: - -/usr/include/glib-2.0/glib/gtimer.h: - -/usr/include/glib-2.0/glib/gtrashstack.h: - -/usr/include/glib-2.0/glib/gtree.h: - -/usr/include/glib-2.0/glib/gurifuncs.h: - -/usr/include/glib-2.0/glib/gvarianttype.h: - -/usr/include/glib-2.0/glib/gvariant.h: - -/usr/include/glib-2.0/glib/gversion.h: - -/usr/include/glib-2.0/glib/deprecated/gallocator.h: - -/usr/include/glib-2.0/glib/deprecated/gcache.h: - -/usr/include/glib-2.0/glib/deprecated/gcompletion.h: - -/usr/include/glib-2.0/glib/deprecated/gmain.h: - -/usr/include/glib-2.0/glib/deprecated/grel.h: - -/usr/include/glib-2.0/glib/deprecated/gthread.h: - -/usr/include/pthread.h: - -/usr/include/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/setjmp.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdbool.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/src/.deps/bluetoothd-sdpd-request.Po b/GRIB_BLE_HUB/libs/ble_extend/src/.deps/bluetoothd-sdpd-request.Po deleted file mode 100644 index 4920e17..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/src/.deps/bluetoothd-sdpd-request.Po +++ /dev/null @@ -1,211 +0,0 @@ -src/bluetoothd-sdpd-request.o: src/sdpd-request.c \ - /usr/include/stdc-predef.h config.h /usr/include/stdio.h \ - /usr/include/features.h /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/sys_errlist.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio.h /usr/include/errno.h \ - /usr/include/arm-linux-gnueabihf/bits/errno.h /usr/include/linux/errno.h \ - /usr/include/arm-linux-gnueabihf/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/include/stdlib.h /usr/include/arm-linux-gnueabihf/bits/waitflags.h \ - /usr/include/arm-linux-gnueabihf/bits/waitstatus.h /usr/include/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/xlocale.h /usr/include/arm-linux-gnueabihf/sys/types.h \ - /usr/include/time.h /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/alloca.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-float.h \ - /usr/include/string.h /usr/include/arm-linux-gnueabihf/bits/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string2.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h \ - /usr/include/limits.h /usr/include/arm-linux-gnueabihf/bits/posix1_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/local_lim.h \ - /usr/include/linux/limits.h \ - /usr/include/arm-linux-gnueabihf/bits/posix2_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/xopen_lim.h \ - /usr/include/arm-linux-gnueabihf/sys/socket.h \ - /usr/include/arm-linux-gnueabihf/sys/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/socket.h \ - /usr/include/arm-linux-gnueabihf/bits/socket_type.h \ - /usr/include/arm-linux-gnueabihf/bits/sockaddr.h \ - /usr/include/arm-linux-gnueabihf/asm/socket.h \ - /usr/include/asm-generic/socket.h \ - /usr/include/arm-linux-gnueabihf/asm/sockios.h \ - /usr/include/asm-generic/sockios.h lib/bluetooth/bluetooth.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h \ - /usr/include/stdint.h /usr/include/arm-linux-gnueabihf/bits/wchar.h \ - /usr/include/byteswap.h /usr/include/netinet/in.h \ - /usr/include/arm-linux-gnueabihf/bits/in.h lib/bluetooth/l2cap.h \ - lib/bluetooth/sdp.h lib/bluetooth/sdp_lib.h lib/bluetooth/hci.h \ - src/sdpd.h src/log.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/include/stdio.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/sys_errlist.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio.h: - -/usr/include/errno.h: - -/usr/include/arm-linux-gnueabihf/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/arm-linux-gnueabihf/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/include/stdlib.h: - -/usr/include/arm-linux-gnueabihf/bits/waitflags.h: - -/usr/include/arm-linux-gnueabihf/bits/waitstatus.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/xlocale.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/time.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/alloca.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-float.h: - -/usr/include/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string2.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h: - -/usr/include/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/local_lim.h: - -/usr/include/linux/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix2_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/xopen_lim.h: - -/usr/include/arm-linux-gnueabihf/sys/socket.h: - -/usr/include/arm-linux-gnueabihf/sys/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/socket.h: - -/usr/include/arm-linux-gnueabihf/bits/socket_type.h: - -/usr/include/arm-linux-gnueabihf/bits/sockaddr.h: - -/usr/include/arm-linux-gnueabihf/asm/socket.h: - -/usr/include/asm-generic/socket.h: - -/usr/include/arm-linux-gnueabihf/asm/sockios.h: - -/usr/include/asm-generic/sockios.h: - -lib/bluetooth/bluetooth.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/arm-linux-gnueabihf/bits/wchar.h: - -/usr/include/byteswap.h: - -/usr/include/netinet/in.h: - -/usr/include/arm-linux-gnueabihf/bits/in.h: - -lib/bluetooth/l2cap.h: - -lib/bluetooth/sdp.h: - -lib/bluetooth/sdp_lib.h: - -lib/bluetooth/hci.h: - -src/sdpd.h: - -src/log.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/src/.deps/bluetoothd-sdpd-server.Po b/GRIB_BLE_HUB/libs/ble_extend/src/.deps/bluetoothd-sdpd-server.Po deleted file mode 100644 index 6f9d800..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/src/.deps/bluetoothd-sdpd-server.Po +++ /dev/null @@ -1,497 +0,0 @@ -src/bluetoothd-sdpd-server.o: src/sdpd-server.c \ - /usr/include/stdc-predef.h config.h /usr/include/stdio.h \ - /usr/include/features.h /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/sys_errlist.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio.h /usr/include/errno.h \ - /usr/include/arm-linux-gnueabihf/bits/errno.h /usr/include/linux/errno.h \ - /usr/include/arm-linux-gnueabihf/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/include/unistd.h /usr/include/arm-linux-gnueabihf/bits/posix_opt.h \ - /usr/include/arm-linux-gnueabihf/bits/environments.h \ - /usr/include/arm-linux-gnueabihf/bits/confname.h /usr/include/getopt.h \ - /usr/include/stdlib.h /usr/include/arm-linux-gnueabihf/bits/waitflags.h \ - /usr/include/arm-linux-gnueabihf/bits/waitstatus.h /usr/include/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/xlocale.h /usr/include/arm-linux-gnueabihf/sys/types.h \ - /usr/include/time.h /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/alloca.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-float.h \ - /usr/include/arm-linux-gnueabihf/sys/stat.h \ - /usr/include/arm-linux-gnueabihf/bits/stat.h \ - /usr/include/arm-linux-gnueabihf/sys/socket.h \ - /usr/include/arm-linux-gnueabihf/sys/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/socket.h \ - /usr/include/arm-linux-gnueabihf/bits/socket_type.h \ - /usr/include/arm-linux-gnueabihf/bits/sockaddr.h \ - /usr/include/arm-linux-gnueabihf/asm/socket.h \ - /usr/include/asm-generic/socket.h \ - /usr/include/arm-linux-gnueabihf/asm/sockios.h \ - /usr/include/asm-generic/sockios.h lib/bluetooth/bluetooth.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h \ - /usr/include/stdint.h /usr/include/arm-linux-gnueabihf/bits/wchar.h \ - /usr/include/string.h /usr/include/arm-linux-gnueabihf/bits/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string2.h /usr/include/byteswap.h \ - /usr/include/netinet/in.h /usr/include/arm-linux-gnueabihf/bits/in.h \ - lib/bluetooth/l2cap.h lib/bluetooth/sdp.h lib/bluetooth/sdp_lib.h \ - lib/bluetooth/hci.h /usr/include/arm-linux-gnueabihf/sys/un.h \ - /usr/include/glib-2.0/glib.h /usr/include/glib-2.0/glib/galloca.h \ - /usr/include/glib-2.0/glib/gtypes.h \ - /usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h \ - /usr/include/glib-2.0/glib/gmacros.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h \ - /usr/include/limits.h /usr/include/arm-linux-gnueabihf/bits/posix1_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/local_lim.h \ - /usr/include/linux/limits.h \ - /usr/include/arm-linux-gnueabihf/bits/posix2_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/xopen_lim.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h \ - /usr/include/glib-2.0/glib/gversionmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/timex.h \ - /usr/include/glib-2.0/glib/garray.h \ - /usr/include/glib-2.0/glib/gasyncqueue.h \ - /usr/include/glib-2.0/glib/gthread.h \ - /usr/include/glib-2.0/glib/gatomic.h /usr/include/glib-2.0/glib/gerror.h \ - /usr/include/glib-2.0/glib/gquark.h \ - /usr/include/glib-2.0/glib/gbacktrace.h /usr/include/signal.h \ - /usr/include/arm-linux-gnueabihf/bits/signum.h \ - /usr/include/arm-linux-gnueabihf/bits/siginfo.h \ - /usr/include/arm-linux-gnueabihf/bits/sigaction.h \ - /usr/include/arm-linux-gnueabihf/bits/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/asm/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigstack.h \ - /usr/include/arm-linux-gnueabihf/sys/ucontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigthread.h \ - /usr/include/glib-2.0/glib/gbase64.h \ - /usr/include/glib-2.0/glib/gbitlock.h \ - /usr/include/glib-2.0/glib/gbookmarkfile.h \ - /usr/include/glib-2.0/glib/gbytes.h \ - /usr/include/glib-2.0/glib/gcharset.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/gconvert.h \ - /usr/include/glib-2.0/glib/gdataset.h /usr/include/glib-2.0/glib/gdate.h \ - /usr/include/glib-2.0/glib/gdatetime.h \ - /usr/include/glib-2.0/glib/gtimezone.h /usr/include/glib-2.0/glib/gdir.h \ - /usr/include/dirent.h /usr/include/arm-linux-gnueabihf/bits/dirent.h \ - /usr/include/glib-2.0/glib/genviron.h \ - /usr/include/glib-2.0/glib/gfileutils.h \ - /usr/include/glib-2.0/glib/ggettext.h /usr/include/glib-2.0/glib/ghash.h \ - /usr/include/glib-2.0/glib/glist.h /usr/include/glib-2.0/glib/gmem.h \ - /usr/include/glib-2.0/glib/gnode.h /usr/include/glib-2.0/glib/ghmac.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/ghook.h \ - /usr/include/glib-2.0/glib/ghostutils.h \ - /usr/include/glib-2.0/glib/giochannel.h \ - /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gpoll.h \ - /usr/include/glib-2.0/glib/gslist.h /usr/include/glib-2.0/glib/gstring.h \ - /usr/include/glib-2.0/glib/gunicode.h \ - /usr/include/glib-2.0/glib/gutils.h \ - /usr/include/glib-2.0/glib/gkeyfile.h \ - /usr/include/glib-2.0/glib/gmappedfile.h \ - /usr/include/glib-2.0/glib/gmarkup.h \ - /usr/include/glib-2.0/glib/gmessages.h \ - /usr/include/glib-2.0/glib/goption.h \ - /usr/include/glib-2.0/glib/gpattern.h \ - /usr/include/glib-2.0/glib/gprimes.h /usr/include/glib-2.0/glib/gqsort.h \ - /usr/include/glib-2.0/glib/gqueue.h /usr/include/glib-2.0/glib/grand.h \ - /usr/include/glib-2.0/glib/gregex.h \ - /usr/include/glib-2.0/glib/gscanner.h \ - /usr/include/glib-2.0/glib/gsequence.h \ - /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gslice.h \ - /usr/include/glib-2.0/glib/gspawn.h \ - /usr/include/glib-2.0/glib/gstrfuncs.h \ - /usr/include/glib-2.0/glib/gstringchunk.h \ - /usr/include/glib-2.0/glib/gtestutils.h \ - /usr/include/glib-2.0/glib/gthreadpool.h \ - /usr/include/glib-2.0/glib/gtimer.h \ - /usr/include/glib-2.0/glib/gtrashstack.h \ - /usr/include/glib-2.0/glib/gtree.h \ - /usr/include/glib-2.0/glib/gurifuncs.h \ - /usr/include/glib-2.0/glib/gvarianttype.h \ - /usr/include/glib-2.0/glib/gvariant.h \ - /usr/include/glib-2.0/glib/gversion.h \ - /usr/include/glib-2.0/glib/deprecated/gallocator.h \ - /usr/include/glib-2.0/glib/deprecated/gcache.h \ - /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ - /usr/include/glib-2.0/glib/deprecated/gmain.h \ - /usr/include/glib-2.0/glib/deprecated/grel.h \ - /usr/include/glib-2.0/glib/deprecated/gthread.h /usr/include/pthread.h \ - /usr/include/sched.h /usr/include/arm-linux-gnueabihf/bits/sched.h \ - /usr/include/arm-linux-gnueabihf/bits/setjmp.h src/hcid.h src/log.h \ - src/sdpd.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/include/stdio.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/sys_errlist.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio.h: - -/usr/include/errno.h: - -/usr/include/arm-linux-gnueabihf/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/arm-linux-gnueabihf/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/include/unistd.h: - -/usr/include/arm-linux-gnueabihf/bits/posix_opt.h: - -/usr/include/arm-linux-gnueabihf/bits/environments.h: - -/usr/include/arm-linux-gnueabihf/bits/confname.h: - -/usr/include/getopt.h: - -/usr/include/stdlib.h: - -/usr/include/arm-linux-gnueabihf/bits/waitflags.h: - -/usr/include/arm-linux-gnueabihf/bits/waitstatus.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/xlocale.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/time.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/alloca.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-float.h: - -/usr/include/arm-linux-gnueabihf/sys/stat.h: - -/usr/include/arm-linux-gnueabihf/bits/stat.h: - -/usr/include/arm-linux-gnueabihf/sys/socket.h: - -/usr/include/arm-linux-gnueabihf/sys/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/socket.h: - -/usr/include/arm-linux-gnueabihf/bits/socket_type.h: - -/usr/include/arm-linux-gnueabihf/bits/sockaddr.h: - -/usr/include/arm-linux-gnueabihf/asm/socket.h: - -/usr/include/asm-generic/socket.h: - -/usr/include/arm-linux-gnueabihf/asm/sockios.h: - -/usr/include/asm-generic/sockios.h: - -lib/bluetooth/bluetooth.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/arm-linux-gnueabihf/bits/wchar.h: - -/usr/include/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string2.h: - -/usr/include/byteswap.h: - -/usr/include/netinet/in.h: - -/usr/include/arm-linux-gnueabihf/bits/in.h: - -lib/bluetooth/l2cap.h: - -lib/bluetooth/sdp.h: - -lib/bluetooth/sdp_lib.h: - -lib/bluetooth/hci.h: - -/usr/include/arm-linux-gnueabihf/sys/un.h: - -/usr/include/glib-2.0/glib.h: - -/usr/include/glib-2.0/glib/galloca.h: - -/usr/include/glib-2.0/glib/gtypes.h: - -/usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h: - -/usr/include/glib-2.0/glib/gmacros.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h: - -/usr/include/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/local_lim.h: - -/usr/include/linux/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix2_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/xopen_lim.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h: - -/usr/include/glib-2.0/glib/gversionmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/timex.h: - -/usr/include/glib-2.0/glib/garray.h: - -/usr/include/glib-2.0/glib/gasyncqueue.h: - -/usr/include/glib-2.0/glib/gthread.h: - -/usr/include/glib-2.0/glib/gatomic.h: - -/usr/include/glib-2.0/glib/gerror.h: - -/usr/include/glib-2.0/glib/gquark.h: - -/usr/include/glib-2.0/glib/gbacktrace.h: - -/usr/include/signal.h: - -/usr/include/arm-linux-gnueabihf/bits/signum.h: - -/usr/include/arm-linux-gnueabihf/bits/siginfo.h: - -/usr/include/arm-linux-gnueabihf/bits/sigaction.h: - -/usr/include/arm-linux-gnueabihf/bits/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/asm/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigstack.h: - -/usr/include/arm-linux-gnueabihf/sys/ucontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigthread.h: - -/usr/include/glib-2.0/glib/gbase64.h: - -/usr/include/glib-2.0/glib/gbitlock.h: - -/usr/include/glib-2.0/glib/gbookmarkfile.h: - -/usr/include/glib-2.0/glib/gbytes.h: - -/usr/include/glib-2.0/glib/gcharset.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/gconvert.h: - -/usr/include/glib-2.0/glib/gdataset.h: - -/usr/include/glib-2.0/glib/gdate.h: - -/usr/include/glib-2.0/glib/gdatetime.h: - -/usr/include/glib-2.0/glib/gtimezone.h: - -/usr/include/glib-2.0/glib/gdir.h: - -/usr/include/dirent.h: - -/usr/include/arm-linux-gnueabihf/bits/dirent.h: - -/usr/include/glib-2.0/glib/genviron.h: - -/usr/include/glib-2.0/glib/gfileutils.h: - -/usr/include/glib-2.0/glib/ggettext.h: - -/usr/include/glib-2.0/glib/ghash.h: - -/usr/include/glib-2.0/glib/glist.h: - -/usr/include/glib-2.0/glib/gmem.h: - -/usr/include/glib-2.0/glib/gnode.h: - -/usr/include/glib-2.0/glib/ghmac.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/ghook.h: - -/usr/include/glib-2.0/glib/ghostutils.h: - -/usr/include/glib-2.0/glib/giochannel.h: - -/usr/include/glib-2.0/glib/gmain.h: - -/usr/include/glib-2.0/glib/gpoll.h: - -/usr/include/glib-2.0/glib/gslist.h: - -/usr/include/glib-2.0/glib/gstring.h: - -/usr/include/glib-2.0/glib/gunicode.h: - -/usr/include/glib-2.0/glib/gutils.h: - -/usr/include/glib-2.0/glib/gkeyfile.h: - -/usr/include/glib-2.0/glib/gmappedfile.h: - -/usr/include/glib-2.0/glib/gmarkup.h: - -/usr/include/glib-2.0/glib/gmessages.h: - -/usr/include/glib-2.0/glib/goption.h: - -/usr/include/glib-2.0/glib/gpattern.h: - -/usr/include/glib-2.0/glib/gprimes.h: - -/usr/include/glib-2.0/glib/gqsort.h: - -/usr/include/glib-2.0/glib/gqueue.h: - -/usr/include/glib-2.0/glib/grand.h: - -/usr/include/glib-2.0/glib/gregex.h: - -/usr/include/glib-2.0/glib/gscanner.h: - -/usr/include/glib-2.0/glib/gsequence.h: - -/usr/include/glib-2.0/glib/gshell.h: - -/usr/include/glib-2.0/glib/gslice.h: - -/usr/include/glib-2.0/glib/gspawn.h: - -/usr/include/glib-2.0/glib/gstrfuncs.h: - -/usr/include/glib-2.0/glib/gstringchunk.h: - -/usr/include/glib-2.0/glib/gtestutils.h: - -/usr/include/glib-2.0/glib/gthreadpool.h: - -/usr/include/glib-2.0/glib/gtimer.h: - -/usr/include/glib-2.0/glib/gtrashstack.h: - -/usr/include/glib-2.0/glib/gtree.h: - -/usr/include/glib-2.0/glib/gurifuncs.h: - -/usr/include/glib-2.0/glib/gvarianttype.h: - -/usr/include/glib-2.0/glib/gvariant.h: - -/usr/include/glib-2.0/glib/gversion.h: - -/usr/include/glib-2.0/glib/deprecated/gallocator.h: - -/usr/include/glib-2.0/glib/deprecated/gcache.h: - -/usr/include/glib-2.0/glib/deprecated/gcompletion.h: - -/usr/include/glib-2.0/glib/deprecated/gmain.h: - -/usr/include/glib-2.0/glib/deprecated/grel.h: - -/usr/include/glib-2.0/glib/deprecated/gthread.h: - -/usr/include/pthread.h: - -/usr/include/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/setjmp.h: - -src/hcid.h: - -src/log.h: - -src/sdpd.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/src/.deps/bluetoothd-sdpd-service.Po b/GRIB_BLE_HUB/libs/ble_extend/src/.deps/bluetoothd-sdpd-service.Po deleted file mode 100644 index c0cd2c8..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/src/.deps/bluetoothd-sdpd-service.Po +++ /dev/null @@ -1,539 +0,0 @@ -src/bluetoothd-sdpd-service.o: src/sdpd-service.c \ - /usr/include/stdc-predef.h config.h /usr/include/stdio.h \ - /usr/include/features.h /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/sys_errlist.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio.h /usr/include/errno.h \ - /usr/include/arm-linux-gnueabihf/bits/errno.h /usr/include/linux/errno.h \ - /usr/include/arm-linux-gnueabihf/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/include/stdlib.h /usr/include/arm-linux-gnueabihf/bits/waitflags.h \ - /usr/include/arm-linux-gnueabihf/bits/waitstatus.h /usr/include/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/xlocale.h /usr/include/arm-linux-gnueabihf/sys/types.h \ - /usr/include/time.h /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/alloca.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-float.h \ - /usr/include/assert.h /usr/include/arm-linux-gnueabihf/sys/time.h \ - /usr/include/arm-linux-gnueabihf/sys/socket.h \ - /usr/include/arm-linux-gnueabihf/sys/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/socket.h \ - /usr/include/arm-linux-gnueabihf/bits/socket_type.h \ - /usr/include/arm-linux-gnueabihf/bits/sockaddr.h \ - /usr/include/arm-linux-gnueabihf/asm/socket.h \ - /usr/include/asm-generic/socket.h \ - /usr/include/arm-linux-gnueabihf/asm/sockios.h \ - /usr/include/asm-generic/sockios.h lib/bluetooth/bluetooth.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h \ - /usr/include/stdint.h /usr/include/arm-linux-gnueabihf/bits/wchar.h \ - /usr/include/string.h /usr/include/arm-linux-gnueabihf/bits/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string2.h /usr/include/byteswap.h \ - /usr/include/netinet/in.h /usr/include/arm-linux-gnueabihf/bits/in.h \ - lib/bluetooth/sdp.h lib/bluetooth/sdp_lib.h lib/bluetooth/hci.h \ - /usr/include/glib-2.0/glib.h /usr/include/glib-2.0/glib/galloca.h \ - /usr/include/glib-2.0/glib/gtypes.h \ - /usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h \ - /usr/include/glib-2.0/glib/gmacros.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h \ - /usr/include/limits.h /usr/include/arm-linux-gnueabihf/bits/posix1_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/local_lim.h \ - /usr/include/linux/limits.h \ - /usr/include/arm-linux-gnueabihf/bits/posix2_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/xopen_lim.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h \ - /usr/include/glib-2.0/glib/gversionmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/timex.h \ - /usr/include/glib-2.0/glib/garray.h \ - /usr/include/glib-2.0/glib/gasyncqueue.h \ - /usr/include/glib-2.0/glib/gthread.h \ - /usr/include/glib-2.0/glib/gatomic.h /usr/include/glib-2.0/glib/gerror.h \ - /usr/include/glib-2.0/glib/gquark.h \ - /usr/include/glib-2.0/glib/gbacktrace.h /usr/include/signal.h \ - /usr/include/arm-linux-gnueabihf/bits/signum.h \ - /usr/include/arm-linux-gnueabihf/bits/siginfo.h \ - /usr/include/arm-linux-gnueabihf/bits/sigaction.h \ - /usr/include/arm-linux-gnueabihf/bits/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/asm/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigstack.h \ - /usr/include/arm-linux-gnueabihf/sys/ucontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigthread.h \ - /usr/include/glib-2.0/glib/gbase64.h \ - /usr/include/glib-2.0/glib/gbitlock.h \ - /usr/include/glib-2.0/glib/gbookmarkfile.h \ - /usr/include/glib-2.0/glib/gbytes.h \ - /usr/include/glib-2.0/glib/gcharset.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/gconvert.h \ - /usr/include/glib-2.0/glib/gdataset.h /usr/include/glib-2.0/glib/gdate.h \ - /usr/include/glib-2.0/glib/gdatetime.h \ - /usr/include/glib-2.0/glib/gtimezone.h /usr/include/glib-2.0/glib/gdir.h \ - /usr/include/dirent.h /usr/include/arm-linux-gnueabihf/bits/dirent.h \ - /usr/include/glib-2.0/glib/genviron.h \ - /usr/include/glib-2.0/glib/gfileutils.h \ - /usr/include/glib-2.0/glib/ggettext.h /usr/include/glib-2.0/glib/ghash.h \ - /usr/include/glib-2.0/glib/glist.h /usr/include/glib-2.0/glib/gmem.h \ - /usr/include/glib-2.0/glib/gnode.h /usr/include/glib-2.0/glib/ghmac.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/ghook.h \ - /usr/include/glib-2.0/glib/ghostutils.h \ - /usr/include/glib-2.0/glib/giochannel.h \ - /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gpoll.h \ - /usr/include/glib-2.0/glib/gslist.h /usr/include/glib-2.0/glib/gstring.h \ - /usr/include/glib-2.0/glib/gunicode.h \ - /usr/include/glib-2.0/glib/gutils.h \ - /usr/include/glib-2.0/glib/gkeyfile.h \ - /usr/include/glib-2.0/glib/gmappedfile.h \ - /usr/include/glib-2.0/glib/gmarkup.h \ - /usr/include/glib-2.0/glib/gmessages.h \ - /usr/include/glib-2.0/glib/goption.h \ - /usr/include/glib-2.0/glib/gpattern.h \ - /usr/include/glib-2.0/glib/gprimes.h /usr/include/glib-2.0/glib/gqsort.h \ - /usr/include/glib-2.0/glib/gqueue.h /usr/include/glib-2.0/glib/grand.h \ - /usr/include/glib-2.0/glib/gregex.h \ - /usr/include/glib-2.0/glib/gscanner.h \ - /usr/include/glib-2.0/glib/gsequence.h \ - /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gslice.h \ - /usr/include/glib-2.0/glib/gspawn.h \ - /usr/include/glib-2.0/glib/gstrfuncs.h \ - /usr/include/glib-2.0/glib/gstringchunk.h \ - /usr/include/glib-2.0/glib/gtestutils.h \ - /usr/include/glib-2.0/glib/gthreadpool.h \ - /usr/include/glib-2.0/glib/gtimer.h \ - /usr/include/glib-2.0/glib/gtrashstack.h \ - /usr/include/glib-2.0/glib/gtree.h \ - /usr/include/glib-2.0/glib/gurifuncs.h \ - /usr/include/glib-2.0/glib/gvarianttype.h \ - /usr/include/glib-2.0/glib/gvariant.h \ - /usr/include/glib-2.0/glib/gversion.h \ - /usr/include/glib-2.0/glib/deprecated/gallocator.h \ - /usr/include/glib-2.0/glib/deprecated/gcache.h \ - /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ - /usr/include/glib-2.0/glib/deprecated/gmain.h \ - /usr/include/glib-2.0/glib/deprecated/grel.h \ - /usr/include/glib-2.0/glib/deprecated/gthread.h /usr/include/pthread.h \ - /usr/include/sched.h /usr/include/arm-linux-gnueabihf/bits/sched.h \ - /usr/include/arm-linux-gnueabihf/bits/setjmp.h \ - /usr/include/dbus-1.0/dbus/dbus.h \ - /usr/lib/arm-linux-gnueabihf/dbus-1.0/include/dbus/dbus-arch-deps.h \ - /usr/include/dbus-1.0/dbus/dbus-macros.h \ - /usr/include/dbus-1.0/dbus/dbus-address.h \ - /usr/include/dbus-1.0/dbus/dbus-types.h \ - /usr/include/dbus-1.0/dbus/dbus-errors.h \ - /usr/include/dbus-1.0/dbus/dbus-protocol.h \ - /usr/include/dbus-1.0/dbus/dbus-bus.h \ - /usr/include/dbus-1.0/dbus/dbus-connection.h \ - /usr/include/dbus-1.0/dbus/dbus-memory.h \ - /usr/include/dbus-1.0/dbus/dbus-message.h \ - /usr/include/dbus-1.0/dbus/dbus-shared.h \ - /usr/include/dbus-1.0/dbus/dbus-misc.h \ - /usr/include/dbus-1.0/dbus/dbus-pending-call.h \ - /usr/include/dbus-1.0/dbus/dbus-server.h \ - /usr/include/dbus-1.0/dbus/dbus-signature.h \ - /usr/include/dbus-1.0/dbus/dbus-syntax.h \ - /usr/include/dbus-1.0/dbus/dbus-threads.h src/hcid.h src/sdpd.h \ - src/log.h src/adapter.h lib/bluetooth/hci_lib.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdbool.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/include/stdio.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/sys_errlist.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio.h: - -/usr/include/errno.h: - -/usr/include/arm-linux-gnueabihf/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/arm-linux-gnueabihf/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/include/stdlib.h: - -/usr/include/arm-linux-gnueabihf/bits/waitflags.h: - -/usr/include/arm-linux-gnueabihf/bits/waitstatus.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/xlocale.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/time.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/alloca.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-float.h: - -/usr/include/assert.h: - -/usr/include/arm-linux-gnueabihf/sys/time.h: - -/usr/include/arm-linux-gnueabihf/sys/socket.h: - -/usr/include/arm-linux-gnueabihf/sys/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/socket.h: - -/usr/include/arm-linux-gnueabihf/bits/socket_type.h: - -/usr/include/arm-linux-gnueabihf/bits/sockaddr.h: - -/usr/include/arm-linux-gnueabihf/asm/socket.h: - -/usr/include/asm-generic/socket.h: - -/usr/include/arm-linux-gnueabihf/asm/sockios.h: - -/usr/include/asm-generic/sockios.h: - -lib/bluetooth/bluetooth.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/arm-linux-gnueabihf/bits/wchar.h: - -/usr/include/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string2.h: - -/usr/include/byteswap.h: - -/usr/include/netinet/in.h: - -/usr/include/arm-linux-gnueabihf/bits/in.h: - -lib/bluetooth/sdp.h: - -lib/bluetooth/sdp_lib.h: - -lib/bluetooth/hci.h: - -/usr/include/glib-2.0/glib.h: - -/usr/include/glib-2.0/glib/galloca.h: - -/usr/include/glib-2.0/glib/gtypes.h: - -/usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h: - -/usr/include/glib-2.0/glib/gmacros.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h: - -/usr/include/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/local_lim.h: - -/usr/include/linux/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix2_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/xopen_lim.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h: - -/usr/include/glib-2.0/glib/gversionmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/timex.h: - -/usr/include/glib-2.0/glib/garray.h: - -/usr/include/glib-2.0/glib/gasyncqueue.h: - -/usr/include/glib-2.0/glib/gthread.h: - -/usr/include/glib-2.0/glib/gatomic.h: - -/usr/include/glib-2.0/glib/gerror.h: - -/usr/include/glib-2.0/glib/gquark.h: - -/usr/include/glib-2.0/glib/gbacktrace.h: - -/usr/include/signal.h: - -/usr/include/arm-linux-gnueabihf/bits/signum.h: - -/usr/include/arm-linux-gnueabihf/bits/siginfo.h: - -/usr/include/arm-linux-gnueabihf/bits/sigaction.h: - -/usr/include/arm-linux-gnueabihf/bits/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/asm/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigstack.h: - -/usr/include/arm-linux-gnueabihf/sys/ucontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigthread.h: - -/usr/include/glib-2.0/glib/gbase64.h: - -/usr/include/glib-2.0/glib/gbitlock.h: - -/usr/include/glib-2.0/glib/gbookmarkfile.h: - -/usr/include/glib-2.0/glib/gbytes.h: - -/usr/include/glib-2.0/glib/gcharset.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/gconvert.h: - -/usr/include/glib-2.0/glib/gdataset.h: - -/usr/include/glib-2.0/glib/gdate.h: - -/usr/include/glib-2.0/glib/gdatetime.h: - -/usr/include/glib-2.0/glib/gtimezone.h: - -/usr/include/glib-2.0/glib/gdir.h: - -/usr/include/dirent.h: - -/usr/include/arm-linux-gnueabihf/bits/dirent.h: - -/usr/include/glib-2.0/glib/genviron.h: - -/usr/include/glib-2.0/glib/gfileutils.h: - -/usr/include/glib-2.0/glib/ggettext.h: - -/usr/include/glib-2.0/glib/ghash.h: - -/usr/include/glib-2.0/glib/glist.h: - -/usr/include/glib-2.0/glib/gmem.h: - -/usr/include/glib-2.0/glib/gnode.h: - -/usr/include/glib-2.0/glib/ghmac.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/ghook.h: - -/usr/include/glib-2.0/glib/ghostutils.h: - -/usr/include/glib-2.0/glib/giochannel.h: - -/usr/include/glib-2.0/glib/gmain.h: - -/usr/include/glib-2.0/glib/gpoll.h: - -/usr/include/glib-2.0/glib/gslist.h: - -/usr/include/glib-2.0/glib/gstring.h: - -/usr/include/glib-2.0/glib/gunicode.h: - -/usr/include/glib-2.0/glib/gutils.h: - -/usr/include/glib-2.0/glib/gkeyfile.h: - -/usr/include/glib-2.0/glib/gmappedfile.h: - -/usr/include/glib-2.0/glib/gmarkup.h: - -/usr/include/glib-2.0/glib/gmessages.h: - -/usr/include/glib-2.0/glib/goption.h: - -/usr/include/glib-2.0/glib/gpattern.h: - -/usr/include/glib-2.0/glib/gprimes.h: - -/usr/include/glib-2.0/glib/gqsort.h: - -/usr/include/glib-2.0/glib/gqueue.h: - -/usr/include/glib-2.0/glib/grand.h: - -/usr/include/glib-2.0/glib/gregex.h: - -/usr/include/glib-2.0/glib/gscanner.h: - -/usr/include/glib-2.0/glib/gsequence.h: - -/usr/include/glib-2.0/glib/gshell.h: - -/usr/include/glib-2.0/glib/gslice.h: - -/usr/include/glib-2.0/glib/gspawn.h: - -/usr/include/glib-2.0/glib/gstrfuncs.h: - -/usr/include/glib-2.0/glib/gstringchunk.h: - -/usr/include/glib-2.0/glib/gtestutils.h: - -/usr/include/glib-2.0/glib/gthreadpool.h: - -/usr/include/glib-2.0/glib/gtimer.h: - -/usr/include/glib-2.0/glib/gtrashstack.h: - -/usr/include/glib-2.0/glib/gtree.h: - -/usr/include/glib-2.0/glib/gurifuncs.h: - -/usr/include/glib-2.0/glib/gvarianttype.h: - -/usr/include/glib-2.0/glib/gvariant.h: - -/usr/include/glib-2.0/glib/gversion.h: - -/usr/include/glib-2.0/glib/deprecated/gallocator.h: - -/usr/include/glib-2.0/glib/deprecated/gcache.h: - -/usr/include/glib-2.0/glib/deprecated/gcompletion.h: - -/usr/include/glib-2.0/glib/deprecated/gmain.h: - -/usr/include/glib-2.0/glib/deprecated/grel.h: - -/usr/include/glib-2.0/glib/deprecated/gthread.h: - -/usr/include/pthread.h: - -/usr/include/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/setjmp.h: - -/usr/include/dbus-1.0/dbus/dbus.h: - -/usr/lib/arm-linux-gnueabihf/dbus-1.0/include/dbus/dbus-arch-deps.h: - -/usr/include/dbus-1.0/dbus/dbus-macros.h: - -/usr/include/dbus-1.0/dbus/dbus-address.h: - -/usr/include/dbus-1.0/dbus/dbus-types.h: - -/usr/include/dbus-1.0/dbus/dbus-errors.h: - -/usr/include/dbus-1.0/dbus/dbus-protocol.h: - -/usr/include/dbus-1.0/dbus/dbus-bus.h: - -/usr/include/dbus-1.0/dbus/dbus-connection.h: - -/usr/include/dbus-1.0/dbus/dbus-memory.h: - -/usr/include/dbus-1.0/dbus/dbus-message.h: - -/usr/include/dbus-1.0/dbus/dbus-shared.h: - -/usr/include/dbus-1.0/dbus/dbus-misc.h: - -/usr/include/dbus-1.0/dbus/dbus-pending-call.h: - -/usr/include/dbus-1.0/dbus/dbus-server.h: - -/usr/include/dbus-1.0/dbus/dbus-signature.h: - -/usr/include/dbus-1.0/dbus/dbus-syntax.h: - -/usr/include/dbus-1.0/dbus/dbus-threads.h: - -src/hcid.h: - -src/sdpd.h: - -src/log.h: - -src/adapter.h: - -lib/bluetooth/hci_lib.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdbool.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/src/.deps/bluetoothd-storage.Po b/GRIB_BLE_HUB/libs/ble_extend/src/.deps/bluetoothd-storage.Po deleted file mode 100644 index 613b31e..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/src/.deps/bluetoothd-storage.Po +++ /dev/null @@ -1,507 +0,0 @@ -src/bluetoothd-storage.o: src/storage.c /usr/include/stdc-predef.h \ - config.h /usr/include/stdio.h /usr/include/features.h \ - /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/sys_errlist.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio.h /usr/include/errno.h \ - /usr/include/arm-linux-gnueabihf/bits/errno.h /usr/include/linux/errno.h \ - /usr/include/arm-linux-gnueabihf/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/include/ctype.h /usr/include/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/xlocale.h /usr/include/fcntl.h \ - /usr/include/arm-linux-gnueabihf/bits/fcntl.h \ - /usr/include/arm-linux-gnueabihf/bits/fcntl-linux.h \ - /usr/include/arm-linux-gnueabihf/bits/uio.h \ - /usr/include/arm-linux-gnueabihf/sys/types.h /usr/include/time.h \ - /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/arm-linux-gnueabihf/bits/stat.h /usr/include/unistd.h \ - /usr/include/arm-linux-gnueabihf/bits/posix_opt.h \ - /usr/include/arm-linux-gnueabihf/bits/environments.h \ - /usr/include/arm-linux-gnueabihf/bits/confname.h /usr/include/getopt.h \ - /usr/include/stdlib.h /usr/include/arm-linux-gnueabihf/bits/waitflags.h \ - /usr/include/arm-linux-gnueabihf/bits/waitstatus.h /usr/include/alloca.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-float.h \ - /usr/include/arm-linux-gnueabihf/bits/timex.h \ - /usr/include/arm-linux-gnueabihf/sys/file.h \ - /usr/include/arm-linux-gnueabihf/sys/stat.h /usr/include/glib-2.0/glib.h \ - /usr/include/glib-2.0/glib/galloca.h /usr/include/glib-2.0/glib/gtypes.h \ - /usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h \ - /usr/include/glib-2.0/glib/gmacros.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h \ - /usr/include/limits.h /usr/include/arm-linux-gnueabihf/bits/posix1_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/local_lim.h \ - /usr/include/linux/limits.h \ - /usr/include/arm-linux-gnueabihf/bits/posix2_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/xopen_lim.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h \ - /usr/include/glib-2.0/glib/gversionmacros.h \ - /usr/include/glib-2.0/glib/garray.h \ - /usr/include/glib-2.0/glib/gasyncqueue.h \ - /usr/include/glib-2.0/glib/gthread.h \ - /usr/include/glib-2.0/glib/gatomic.h /usr/include/glib-2.0/glib/gerror.h \ - /usr/include/glib-2.0/glib/gquark.h \ - /usr/include/glib-2.0/glib/gbacktrace.h /usr/include/signal.h \ - /usr/include/arm-linux-gnueabihf/bits/signum.h \ - /usr/include/arm-linux-gnueabihf/bits/siginfo.h \ - /usr/include/arm-linux-gnueabihf/bits/sigaction.h \ - /usr/include/arm-linux-gnueabihf/bits/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/asm/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigstack.h \ - /usr/include/arm-linux-gnueabihf/sys/ucontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigthread.h \ - /usr/include/glib-2.0/glib/gbase64.h \ - /usr/include/glib-2.0/glib/gbitlock.h \ - /usr/include/glib-2.0/glib/gbookmarkfile.h \ - /usr/include/glib-2.0/glib/gbytes.h \ - /usr/include/glib-2.0/glib/gcharset.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/gconvert.h \ - /usr/include/glib-2.0/glib/gdataset.h /usr/include/glib-2.0/glib/gdate.h \ - /usr/include/glib-2.0/glib/gdatetime.h \ - /usr/include/glib-2.0/glib/gtimezone.h /usr/include/glib-2.0/glib/gdir.h \ - /usr/include/dirent.h /usr/include/arm-linux-gnueabihf/bits/dirent.h \ - /usr/include/glib-2.0/glib/genviron.h \ - /usr/include/glib-2.0/glib/gfileutils.h \ - /usr/include/glib-2.0/glib/ggettext.h /usr/include/glib-2.0/glib/ghash.h \ - /usr/include/glib-2.0/glib/glist.h /usr/include/glib-2.0/glib/gmem.h \ - /usr/include/glib-2.0/glib/gnode.h /usr/include/glib-2.0/glib/ghmac.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/ghook.h \ - /usr/include/glib-2.0/glib/ghostutils.h \ - /usr/include/glib-2.0/glib/giochannel.h \ - /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gpoll.h \ - /usr/include/glib-2.0/glib/gslist.h /usr/include/glib-2.0/glib/gstring.h \ - /usr/include/glib-2.0/glib/gunicode.h \ - /usr/include/glib-2.0/glib/gutils.h \ - /usr/include/glib-2.0/glib/gkeyfile.h \ - /usr/include/glib-2.0/glib/gmappedfile.h \ - /usr/include/glib-2.0/glib/gmarkup.h \ - /usr/include/glib-2.0/glib/gmessages.h \ - /usr/include/glib-2.0/glib/goption.h \ - /usr/include/glib-2.0/glib/gpattern.h \ - /usr/include/glib-2.0/glib/gprimes.h /usr/include/glib-2.0/glib/gqsort.h \ - /usr/include/glib-2.0/glib/gqueue.h /usr/include/glib-2.0/glib/grand.h \ - /usr/include/glib-2.0/glib/gregex.h \ - /usr/include/glib-2.0/glib/gscanner.h \ - /usr/include/glib-2.0/glib/gsequence.h \ - /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gslice.h \ - /usr/include/glib-2.0/glib/gspawn.h \ - /usr/include/glib-2.0/glib/gstrfuncs.h \ - /usr/include/glib-2.0/glib/gstringchunk.h \ - /usr/include/glib-2.0/glib/gtestutils.h \ - /usr/include/glib-2.0/glib/gthreadpool.h \ - /usr/include/glib-2.0/glib/gtimer.h \ - /usr/include/glib-2.0/glib/gtrashstack.h \ - /usr/include/glib-2.0/glib/gtree.h \ - /usr/include/glib-2.0/glib/gurifuncs.h \ - /usr/include/glib-2.0/glib/gvarianttype.h \ - /usr/include/glib-2.0/glib/gvariant.h \ - /usr/include/glib-2.0/glib/gversion.h \ - /usr/include/glib-2.0/glib/deprecated/gallocator.h \ - /usr/include/glib-2.0/glib/deprecated/gcache.h \ - /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ - /usr/include/glib-2.0/glib/deprecated/gmain.h \ - /usr/include/glib-2.0/glib/deprecated/grel.h \ - /usr/include/glib-2.0/glib/deprecated/gthread.h /usr/include/pthread.h \ - /usr/include/sched.h /usr/include/arm-linux-gnueabihf/bits/sched.h \ - /usr/include/arm-linux-gnueabihf/bits/setjmp.h lib/bluetooth/bluetooth.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h \ - /usr/include/stdint.h /usr/include/arm-linux-gnueabihf/bits/wchar.h \ - /usr/include/string.h /usr/include/arm-linux-gnueabihf/bits/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string2.h /usr/include/byteswap.h \ - /usr/include/netinet/in.h /usr/include/arm-linux-gnueabihf/sys/socket.h \ - /usr/include/arm-linux-gnueabihf/sys/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/socket.h \ - /usr/include/arm-linux-gnueabihf/bits/socket_type.h \ - /usr/include/arm-linux-gnueabihf/bits/sockaddr.h \ - /usr/include/arm-linux-gnueabihf/asm/socket.h \ - /usr/include/asm-generic/socket.h \ - /usr/include/arm-linux-gnueabihf/asm/sockios.h \ - /usr/include/asm-generic/sockios.h \ - /usr/include/arm-linux-gnueabihf/bits/in.h lib/bluetooth/sdp.h \ - lib/bluetooth/sdp_lib.h lib/bluetooth/hci.h lib/uuid.h src/textfile.h \ - src/glib-helper.h src/storage.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/include/stdio.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/sys_errlist.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio.h: - -/usr/include/errno.h: - -/usr/include/arm-linux-gnueabihf/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/arm-linux-gnueabihf/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/include/ctype.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/xlocale.h: - -/usr/include/fcntl.h: - -/usr/include/arm-linux-gnueabihf/bits/fcntl.h: - -/usr/include/arm-linux-gnueabihf/bits/fcntl-linux.h: - -/usr/include/arm-linux-gnueabihf/bits/uio.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/time.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/arm-linux-gnueabihf/bits/stat.h: - -/usr/include/unistd.h: - -/usr/include/arm-linux-gnueabihf/bits/posix_opt.h: - -/usr/include/arm-linux-gnueabihf/bits/environments.h: - -/usr/include/arm-linux-gnueabihf/bits/confname.h: - -/usr/include/getopt.h: - -/usr/include/stdlib.h: - -/usr/include/arm-linux-gnueabihf/bits/waitflags.h: - -/usr/include/arm-linux-gnueabihf/bits/waitstatus.h: - -/usr/include/alloca.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-float.h: - -/usr/include/arm-linux-gnueabihf/bits/timex.h: - -/usr/include/arm-linux-gnueabihf/sys/file.h: - -/usr/include/arm-linux-gnueabihf/sys/stat.h: - -/usr/include/glib-2.0/glib.h: - -/usr/include/glib-2.0/glib/galloca.h: - -/usr/include/glib-2.0/glib/gtypes.h: - -/usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h: - -/usr/include/glib-2.0/glib/gmacros.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h: - -/usr/include/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/local_lim.h: - -/usr/include/linux/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix2_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/xopen_lim.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h: - -/usr/include/glib-2.0/glib/gversionmacros.h: - -/usr/include/glib-2.0/glib/garray.h: - -/usr/include/glib-2.0/glib/gasyncqueue.h: - -/usr/include/glib-2.0/glib/gthread.h: - -/usr/include/glib-2.0/glib/gatomic.h: - -/usr/include/glib-2.0/glib/gerror.h: - -/usr/include/glib-2.0/glib/gquark.h: - -/usr/include/glib-2.0/glib/gbacktrace.h: - -/usr/include/signal.h: - -/usr/include/arm-linux-gnueabihf/bits/signum.h: - -/usr/include/arm-linux-gnueabihf/bits/siginfo.h: - -/usr/include/arm-linux-gnueabihf/bits/sigaction.h: - -/usr/include/arm-linux-gnueabihf/bits/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/asm/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigstack.h: - -/usr/include/arm-linux-gnueabihf/sys/ucontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigthread.h: - -/usr/include/glib-2.0/glib/gbase64.h: - -/usr/include/glib-2.0/glib/gbitlock.h: - -/usr/include/glib-2.0/glib/gbookmarkfile.h: - -/usr/include/glib-2.0/glib/gbytes.h: - -/usr/include/glib-2.0/glib/gcharset.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/gconvert.h: - -/usr/include/glib-2.0/glib/gdataset.h: - -/usr/include/glib-2.0/glib/gdate.h: - -/usr/include/glib-2.0/glib/gdatetime.h: - -/usr/include/glib-2.0/glib/gtimezone.h: - -/usr/include/glib-2.0/glib/gdir.h: - -/usr/include/dirent.h: - -/usr/include/arm-linux-gnueabihf/bits/dirent.h: - -/usr/include/glib-2.0/glib/genviron.h: - -/usr/include/glib-2.0/glib/gfileutils.h: - -/usr/include/glib-2.0/glib/ggettext.h: - -/usr/include/glib-2.0/glib/ghash.h: - -/usr/include/glib-2.0/glib/glist.h: - -/usr/include/glib-2.0/glib/gmem.h: - -/usr/include/glib-2.0/glib/gnode.h: - -/usr/include/glib-2.0/glib/ghmac.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/ghook.h: - -/usr/include/glib-2.0/glib/ghostutils.h: - -/usr/include/glib-2.0/glib/giochannel.h: - -/usr/include/glib-2.0/glib/gmain.h: - -/usr/include/glib-2.0/glib/gpoll.h: - -/usr/include/glib-2.0/glib/gslist.h: - -/usr/include/glib-2.0/glib/gstring.h: - -/usr/include/glib-2.0/glib/gunicode.h: - -/usr/include/glib-2.0/glib/gutils.h: - -/usr/include/glib-2.0/glib/gkeyfile.h: - -/usr/include/glib-2.0/glib/gmappedfile.h: - -/usr/include/glib-2.0/glib/gmarkup.h: - -/usr/include/glib-2.0/glib/gmessages.h: - -/usr/include/glib-2.0/glib/goption.h: - -/usr/include/glib-2.0/glib/gpattern.h: - -/usr/include/glib-2.0/glib/gprimes.h: - -/usr/include/glib-2.0/glib/gqsort.h: - -/usr/include/glib-2.0/glib/gqueue.h: - -/usr/include/glib-2.0/glib/grand.h: - -/usr/include/glib-2.0/glib/gregex.h: - -/usr/include/glib-2.0/glib/gscanner.h: - -/usr/include/glib-2.0/glib/gsequence.h: - -/usr/include/glib-2.0/glib/gshell.h: - -/usr/include/glib-2.0/glib/gslice.h: - -/usr/include/glib-2.0/glib/gspawn.h: - -/usr/include/glib-2.0/glib/gstrfuncs.h: - -/usr/include/glib-2.0/glib/gstringchunk.h: - -/usr/include/glib-2.0/glib/gtestutils.h: - -/usr/include/glib-2.0/glib/gthreadpool.h: - -/usr/include/glib-2.0/glib/gtimer.h: - -/usr/include/glib-2.0/glib/gtrashstack.h: - -/usr/include/glib-2.0/glib/gtree.h: - -/usr/include/glib-2.0/glib/gurifuncs.h: - -/usr/include/glib-2.0/glib/gvarianttype.h: - -/usr/include/glib-2.0/glib/gvariant.h: - -/usr/include/glib-2.0/glib/gversion.h: - -/usr/include/glib-2.0/glib/deprecated/gallocator.h: - -/usr/include/glib-2.0/glib/deprecated/gcache.h: - -/usr/include/glib-2.0/glib/deprecated/gcompletion.h: - -/usr/include/glib-2.0/glib/deprecated/gmain.h: - -/usr/include/glib-2.0/glib/deprecated/grel.h: - -/usr/include/glib-2.0/glib/deprecated/gthread.h: - -/usr/include/pthread.h: - -/usr/include/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/setjmp.h: - -lib/bluetooth/bluetooth.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/arm-linux-gnueabihf/bits/wchar.h: - -/usr/include/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string2.h: - -/usr/include/byteswap.h: - -/usr/include/netinet/in.h: - -/usr/include/arm-linux-gnueabihf/sys/socket.h: - -/usr/include/arm-linux-gnueabihf/sys/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/socket.h: - -/usr/include/arm-linux-gnueabihf/bits/socket_type.h: - -/usr/include/arm-linux-gnueabihf/bits/sockaddr.h: - -/usr/include/arm-linux-gnueabihf/asm/socket.h: - -/usr/include/asm-generic/socket.h: - -/usr/include/arm-linux-gnueabihf/asm/sockios.h: - -/usr/include/asm-generic/sockios.h: - -/usr/include/arm-linux-gnueabihf/bits/in.h: - -lib/bluetooth/sdp.h: - -lib/bluetooth/sdp_lib.h: - -lib/bluetooth/hci.h: - -lib/uuid.h: - -src/textfile.h: - -src/glib-helper.h: - -src/storage.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/src/.deps/bluetoothd-systemd.Po b/GRIB_BLE_HUB/libs/ble_extend/src/.deps/bluetoothd-systemd.Po deleted file mode 100644 index 6693a61..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/src/.deps/bluetoothd-systemd.Po +++ /dev/null @@ -1,174 +0,0 @@ -src/bluetoothd-systemd.o: src/systemd.c /usr/include/stdc-predef.h \ - config.h /usr/include/stdio.h /usr/include/features.h \ - /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/sys_errlist.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio.h /usr/include/errno.h \ - /usr/include/arm-linux-gnueabihf/bits/errno.h /usr/include/linux/errno.h \ - /usr/include/arm-linux-gnueabihf/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/include/unistd.h /usr/include/arm-linux-gnueabihf/bits/posix_opt.h \ - /usr/include/arm-linux-gnueabihf/bits/environments.h \ - /usr/include/arm-linux-gnueabihf/bits/confname.h /usr/include/getopt.h \ - /usr/include/stdlib.h /usr/include/arm-linux-gnueabihf/bits/waitflags.h \ - /usr/include/arm-linux-gnueabihf/bits/waitstatus.h /usr/include/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/xlocale.h /usr/include/arm-linux-gnueabihf/sys/types.h \ - /usr/include/time.h /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/alloca.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-float.h \ - /usr/include/arm-linux-gnueabihf/sys/socket.h \ - /usr/include/arm-linux-gnueabihf/sys/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/socket.h \ - /usr/include/arm-linux-gnueabihf/bits/socket_type.h \ - /usr/include/arm-linux-gnueabihf/bits/sockaddr.h \ - /usr/include/arm-linux-gnueabihf/asm/socket.h \ - /usr/include/asm-generic/socket.h \ - /usr/include/arm-linux-gnueabihf/asm/sockios.h \ - /usr/include/asm-generic/sockios.h \ - /usr/include/arm-linux-gnueabihf/sys/un.h /usr/include/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string2.h src/systemd.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/include/stdio.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/sys_errlist.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio.h: - -/usr/include/errno.h: - -/usr/include/arm-linux-gnueabihf/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/arm-linux-gnueabihf/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/include/unistd.h: - -/usr/include/arm-linux-gnueabihf/bits/posix_opt.h: - -/usr/include/arm-linux-gnueabihf/bits/environments.h: - -/usr/include/arm-linux-gnueabihf/bits/confname.h: - -/usr/include/getopt.h: - -/usr/include/stdlib.h: - -/usr/include/arm-linux-gnueabihf/bits/waitflags.h: - -/usr/include/arm-linux-gnueabihf/bits/waitstatus.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/xlocale.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/time.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/alloca.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-float.h: - -/usr/include/arm-linux-gnueabihf/sys/socket.h: - -/usr/include/arm-linux-gnueabihf/sys/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/socket.h: - -/usr/include/arm-linux-gnueabihf/bits/socket_type.h: - -/usr/include/arm-linux-gnueabihf/bits/sockaddr.h: - -/usr/include/arm-linux-gnueabihf/asm/socket.h: - -/usr/include/asm-generic/socket.h: - -/usr/include/arm-linux-gnueabihf/asm/sockios.h: - -/usr/include/asm-generic/sockios.h: - -/usr/include/arm-linux-gnueabihf/sys/un.h: - -/usr/include/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string2.h: - -src/systemd.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/src/.deps/bluetoothd-textfile.Po b/GRIB_BLE_HUB/libs/ble_extend/src/.deps/bluetoothd-textfile.Po deleted file mode 100644 index 73fdc38..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/src/.deps/bluetoothd-textfile.Po +++ /dev/null @@ -1,236 +0,0 @@ -src/bluetoothd-textfile.o: src/textfile.c /usr/include/stdc-predef.h \ - config.h /usr/include/stdio.h /usr/include/features.h \ - /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/sys_errlist.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio.h /usr/include/errno.h \ - /usr/include/arm-linux-gnueabihf/bits/errno.h /usr/include/linux/errno.h \ - /usr/include/arm-linux-gnueabihf/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/include/ctype.h /usr/include/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/xlocale.h /usr/include/fcntl.h \ - /usr/include/arm-linux-gnueabihf/bits/fcntl.h \ - /usr/include/arm-linux-gnueabihf/bits/fcntl-linux.h \ - /usr/include/arm-linux-gnueabihf/bits/uio.h \ - /usr/include/arm-linux-gnueabihf/sys/types.h /usr/include/time.h \ - /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/arm-linux-gnueabihf/bits/stat.h /usr/include/unistd.h \ - /usr/include/arm-linux-gnueabihf/bits/posix_opt.h \ - /usr/include/arm-linux-gnueabihf/bits/environments.h \ - /usr/include/arm-linux-gnueabihf/bits/confname.h /usr/include/getopt.h \ - /usr/include/stdlib.h /usr/include/arm-linux-gnueabihf/bits/waitflags.h \ - /usr/include/arm-linux-gnueabihf/bits/waitstatus.h /usr/include/alloca.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-float.h \ - /usr/include/string.h /usr/include/arm-linux-gnueabihf/bits/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string2.h \ - /usr/include/arm-linux-gnueabihf/sys/file.h \ - /usr/include/arm-linux-gnueabihf/sys/stat.h \ - /usr/include/arm-linux-gnueabihf/sys/mman.h \ - /usr/include/arm-linux-gnueabihf/bits/mman.h \ - /usr/include/arm-linux-gnueabihf/bits/mman-linux.h \ - /usr/include/arm-linux-gnueabihf/sys/param.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h \ - /usr/include/limits.h /usr/include/arm-linux-gnueabihf/bits/posix1_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/local_lim.h \ - /usr/include/linux/limits.h \ - /usr/include/arm-linux-gnueabihf/bits/posix2_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/xopen_lim.h /usr/include/signal.h \ - /usr/include/arm-linux-gnueabihf/bits/signum.h \ - /usr/include/arm-linux-gnueabihf/bits/siginfo.h \ - /usr/include/arm-linux-gnueabihf/bits/sigaction.h \ - /usr/include/arm-linux-gnueabihf/bits/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/asm/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigstack.h \ - /usr/include/arm-linux-gnueabihf/sys/ucontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigthread.h \ - /usr/include/arm-linux-gnueabihf/bits/param.h /usr/include/linux/param.h \ - /usr/include/arm-linux-gnueabihf/asm/param.h \ - /usr/include/asm-generic/param.h src/textfile.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/include/stdio.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/sys_errlist.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio.h: - -/usr/include/errno.h: - -/usr/include/arm-linux-gnueabihf/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/arm-linux-gnueabihf/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/include/ctype.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/xlocale.h: - -/usr/include/fcntl.h: - -/usr/include/arm-linux-gnueabihf/bits/fcntl.h: - -/usr/include/arm-linux-gnueabihf/bits/fcntl-linux.h: - -/usr/include/arm-linux-gnueabihf/bits/uio.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/time.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/arm-linux-gnueabihf/bits/stat.h: - -/usr/include/unistd.h: - -/usr/include/arm-linux-gnueabihf/bits/posix_opt.h: - -/usr/include/arm-linux-gnueabihf/bits/environments.h: - -/usr/include/arm-linux-gnueabihf/bits/confname.h: - -/usr/include/getopt.h: - -/usr/include/stdlib.h: - -/usr/include/arm-linux-gnueabihf/bits/waitflags.h: - -/usr/include/arm-linux-gnueabihf/bits/waitstatus.h: - -/usr/include/alloca.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-float.h: - -/usr/include/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string2.h: - -/usr/include/arm-linux-gnueabihf/sys/file.h: - -/usr/include/arm-linux-gnueabihf/sys/stat.h: - -/usr/include/arm-linux-gnueabihf/sys/mman.h: - -/usr/include/arm-linux-gnueabihf/bits/mman.h: - -/usr/include/arm-linux-gnueabihf/bits/mman-linux.h: - -/usr/include/arm-linux-gnueabihf/sys/param.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h: - -/usr/include/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/local_lim.h: - -/usr/include/linux/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix2_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/xopen_lim.h: - -/usr/include/signal.h: - -/usr/include/arm-linux-gnueabihf/bits/signum.h: - -/usr/include/arm-linux-gnueabihf/bits/siginfo.h: - -/usr/include/arm-linux-gnueabihf/bits/sigaction.h: - -/usr/include/arm-linux-gnueabihf/bits/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/asm/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigstack.h: - -/usr/include/arm-linux-gnueabihf/sys/ucontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigthread.h: - -/usr/include/arm-linux-gnueabihf/bits/param.h: - -/usr/include/linux/param.h: - -/usr/include/arm-linux-gnueabihf/asm/param.h: - -/usr/include/asm-generic/param.h: - -src/textfile.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/src/.deps/eir.Po b/GRIB_BLE_HUB/libs/ble_extend/src/.deps/eir.Po deleted file mode 100644 index c74d6b5..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/src/.deps/eir.Po +++ /dev/null @@ -1,471 +0,0 @@ -src/eir.o: src/eir.c /usr/include/stdc-predef.h config.h \ - /usr/include/errno.h /usr/include/features.h \ - /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/include/arm-linux-gnueabihf/bits/errno.h /usr/include/linux/errno.h \ - /usr/include/arm-linux-gnueabihf/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/include/ctype.h /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h /usr/include/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/xlocale.h /usr/include/stdlib.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/include/arm-linux-gnueabihf/bits/waitflags.h \ - /usr/include/arm-linux-gnueabihf/bits/waitstatus.h \ - /usr/include/arm-linux-gnueabihf/sys/types.h /usr/include/time.h \ - /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/alloca.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-float.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h \ - /usr/include/stdint.h /usr/include/arm-linux-gnueabihf/bits/wchar.h \ - /usr/include/glib-2.0/glib.h /usr/include/glib-2.0/glib/galloca.h \ - /usr/include/glib-2.0/glib/gtypes.h \ - /usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h \ - /usr/include/glib-2.0/glib/gmacros.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h \ - /usr/include/limits.h /usr/include/arm-linux-gnueabihf/bits/posix1_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/local_lim.h \ - /usr/include/linux/limits.h \ - /usr/include/arm-linux-gnueabihf/bits/posix2_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/xopen_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h \ - /usr/include/glib-2.0/glib/gversionmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/timex.h \ - /usr/include/glib-2.0/glib/garray.h \ - /usr/include/glib-2.0/glib/gasyncqueue.h \ - /usr/include/glib-2.0/glib/gthread.h \ - /usr/include/glib-2.0/glib/gatomic.h /usr/include/glib-2.0/glib/gerror.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/glib-2.0/glib/gquark.h \ - /usr/include/glib-2.0/glib/gbacktrace.h /usr/include/signal.h \ - /usr/include/arm-linux-gnueabihf/bits/signum.h \ - /usr/include/arm-linux-gnueabihf/bits/siginfo.h \ - /usr/include/arm-linux-gnueabihf/bits/sigaction.h \ - /usr/include/arm-linux-gnueabihf/bits/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/asm/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigstack.h \ - /usr/include/arm-linux-gnueabihf/sys/ucontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigthread.h \ - /usr/include/glib-2.0/glib/gbase64.h \ - /usr/include/glib-2.0/glib/gbitlock.h \ - /usr/include/glib-2.0/glib/gbookmarkfile.h \ - /usr/include/glib-2.0/glib/gbytes.h \ - /usr/include/glib-2.0/glib/gcharset.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/gconvert.h \ - /usr/include/glib-2.0/glib/gdataset.h /usr/include/glib-2.0/glib/gdate.h \ - /usr/include/glib-2.0/glib/gdatetime.h \ - /usr/include/glib-2.0/glib/gtimezone.h /usr/include/glib-2.0/glib/gdir.h \ - /usr/include/dirent.h /usr/include/arm-linux-gnueabihf/bits/dirent.h \ - /usr/include/glib-2.0/glib/genviron.h \ - /usr/include/glib-2.0/glib/gfileutils.h \ - /usr/include/glib-2.0/glib/ggettext.h /usr/include/glib-2.0/glib/ghash.h \ - /usr/include/glib-2.0/glib/glist.h /usr/include/glib-2.0/glib/gmem.h \ - /usr/include/glib-2.0/glib/gnode.h /usr/include/glib-2.0/glib/ghmac.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/ghook.h \ - /usr/include/glib-2.0/glib/ghostutils.h \ - /usr/include/glib-2.0/glib/giochannel.h \ - /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gpoll.h \ - /usr/include/glib-2.0/glib/gslist.h /usr/include/glib-2.0/glib/gstring.h \ - /usr/include/glib-2.0/glib/gunicode.h \ - /usr/include/glib-2.0/glib/gutils.h \ - /usr/include/glib-2.0/glib/gkeyfile.h \ - /usr/include/glib-2.0/glib/gmappedfile.h \ - /usr/include/glib-2.0/glib/gmarkup.h \ - /usr/include/glib-2.0/glib/gmessages.h \ - /usr/include/glib-2.0/glib/goption.h \ - /usr/include/glib-2.0/glib/gpattern.h \ - /usr/include/glib-2.0/glib/gprimes.h /usr/include/glib-2.0/glib/gqsort.h \ - /usr/include/glib-2.0/glib/gqueue.h /usr/include/glib-2.0/glib/grand.h \ - /usr/include/glib-2.0/glib/gregex.h \ - /usr/include/glib-2.0/glib/gscanner.h \ - /usr/include/glib-2.0/glib/gsequence.h \ - /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gslice.h \ - /usr/include/glib-2.0/glib/gspawn.h \ - /usr/include/glib-2.0/glib/gstrfuncs.h \ - /usr/include/glib-2.0/glib/gstringchunk.h \ - /usr/include/glib-2.0/glib/gtestutils.h \ - /usr/include/glib-2.0/glib/gthreadpool.h \ - /usr/include/glib-2.0/glib/gtimer.h \ - /usr/include/glib-2.0/glib/gtrashstack.h \ - /usr/include/glib-2.0/glib/gtree.h \ - /usr/include/glib-2.0/glib/gurifuncs.h \ - /usr/include/glib-2.0/glib/gvarianttype.h \ - /usr/include/glib-2.0/glib/gvariant.h \ - /usr/include/glib-2.0/glib/gversion.h \ - /usr/include/glib-2.0/glib/deprecated/gallocator.h \ - /usr/include/glib-2.0/glib/deprecated/gcache.h \ - /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ - /usr/include/glib-2.0/glib/deprecated/gmain.h \ - /usr/include/glib-2.0/glib/deprecated/grel.h \ - /usr/include/glib-2.0/glib/deprecated/gthread.h /usr/include/pthread.h \ - /usr/include/sched.h /usr/include/arm-linux-gnueabihf/bits/sched.h \ - /usr/include/arm-linux-gnueabihf/bits/setjmp.h lib/bluetooth/bluetooth.h \ - /usr/include/stdio.h /usr/include/libio.h /usr/include/_G_config.h \ - /usr/include/wchar.h /usr/include/arm-linux-gnueabihf/bits/sys_errlist.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio.h /usr/include/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string2.h /usr/include/byteswap.h \ - /usr/include/netinet/in.h /usr/include/arm-linux-gnueabihf/sys/socket.h \ - /usr/include/arm-linux-gnueabihf/sys/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/socket.h \ - /usr/include/arm-linux-gnueabihf/bits/socket_type.h \ - /usr/include/arm-linux-gnueabihf/bits/sockaddr.h \ - /usr/include/arm-linux-gnueabihf/asm/socket.h \ - /usr/include/asm-generic/socket.h \ - /usr/include/arm-linux-gnueabihf/asm/sockios.h \ - /usr/include/asm-generic/sockios.h \ - /usr/include/arm-linux-gnueabihf/bits/in.h lib/bluetooth/hci.h \ - lib/bluetooth/sdp.h src/glib-helper.h src/eir.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/include/errno.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/include/arm-linux-gnueabihf/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/arm-linux-gnueabihf/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/include/ctype.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/xlocale.h: - -/usr/include/stdlib.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/include/arm-linux-gnueabihf/bits/waitflags.h: - -/usr/include/arm-linux-gnueabihf/bits/waitstatus.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/time.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/alloca.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-float.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/arm-linux-gnueabihf/bits/wchar.h: - -/usr/include/glib-2.0/glib.h: - -/usr/include/glib-2.0/glib/galloca.h: - -/usr/include/glib-2.0/glib/gtypes.h: - -/usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h: - -/usr/include/glib-2.0/glib/gmacros.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h: - -/usr/include/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/local_lim.h: - -/usr/include/linux/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix2_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/xopen_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h: - -/usr/include/glib-2.0/glib/gversionmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/timex.h: - -/usr/include/glib-2.0/glib/garray.h: - -/usr/include/glib-2.0/glib/gasyncqueue.h: - -/usr/include/glib-2.0/glib/gthread.h: - -/usr/include/glib-2.0/glib/gatomic.h: - -/usr/include/glib-2.0/glib/gerror.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/glib-2.0/glib/gquark.h: - -/usr/include/glib-2.0/glib/gbacktrace.h: - -/usr/include/signal.h: - -/usr/include/arm-linux-gnueabihf/bits/signum.h: - -/usr/include/arm-linux-gnueabihf/bits/siginfo.h: - -/usr/include/arm-linux-gnueabihf/bits/sigaction.h: - -/usr/include/arm-linux-gnueabihf/bits/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/asm/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigstack.h: - -/usr/include/arm-linux-gnueabihf/sys/ucontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigthread.h: - -/usr/include/glib-2.0/glib/gbase64.h: - -/usr/include/glib-2.0/glib/gbitlock.h: - -/usr/include/glib-2.0/glib/gbookmarkfile.h: - -/usr/include/glib-2.0/glib/gbytes.h: - -/usr/include/glib-2.0/glib/gcharset.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/gconvert.h: - -/usr/include/glib-2.0/glib/gdataset.h: - -/usr/include/glib-2.0/glib/gdate.h: - -/usr/include/glib-2.0/glib/gdatetime.h: - -/usr/include/glib-2.0/glib/gtimezone.h: - -/usr/include/glib-2.0/glib/gdir.h: - -/usr/include/dirent.h: - -/usr/include/arm-linux-gnueabihf/bits/dirent.h: - -/usr/include/glib-2.0/glib/genviron.h: - -/usr/include/glib-2.0/glib/gfileutils.h: - -/usr/include/glib-2.0/glib/ggettext.h: - -/usr/include/glib-2.0/glib/ghash.h: - -/usr/include/glib-2.0/glib/glist.h: - -/usr/include/glib-2.0/glib/gmem.h: - -/usr/include/glib-2.0/glib/gnode.h: - -/usr/include/glib-2.0/glib/ghmac.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/ghook.h: - -/usr/include/glib-2.0/glib/ghostutils.h: - -/usr/include/glib-2.0/glib/giochannel.h: - -/usr/include/glib-2.0/glib/gmain.h: - -/usr/include/glib-2.0/glib/gpoll.h: - -/usr/include/glib-2.0/glib/gslist.h: - -/usr/include/glib-2.0/glib/gstring.h: - -/usr/include/glib-2.0/glib/gunicode.h: - -/usr/include/glib-2.0/glib/gutils.h: - -/usr/include/glib-2.0/glib/gkeyfile.h: - -/usr/include/glib-2.0/glib/gmappedfile.h: - -/usr/include/glib-2.0/glib/gmarkup.h: - -/usr/include/glib-2.0/glib/gmessages.h: - -/usr/include/glib-2.0/glib/goption.h: - -/usr/include/glib-2.0/glib/gpattern.h: - -/usr/include/glib-2.0/glib/gprimes.h: - -/usr/include/glib-2.0/glib/gqsort.h: - -/usr/include/glib-2.0/glib/gqueue.h: - -/usr/include/glib-2.0/glib/grand.h: - -/usr/include/glib-2.0/glib/gregex.h: - -/usr/include/glib-2.0/glib/gscanner.h: - -/usr/include/glib-2.0/glib/gsequence.h: - -/usr/include/glib-2.0/glib/gshell.h: - -/usr/include/glib-2.0/glib/gslice.h: - -/usr/include/glib-2.0/glib/gspawn.h: - -/usr/include/glib-2.0/glib/gstrfuncs.h: - -/usr/include/glib-2.0/glib/gstringchunk.h: - -/usr/include/glib-2.0/glib/gtestutils.h: - -/usr/include/glib-2.0/glib/gthreadpool.h: - -/usr/include/glib-2.0/glib/gtimer.h: - -/usr/include/glib-2.0/glib/gtrashstack.h: - -/usr/include/glib-2.0/glib/gtree.h: - -/usr/include/glib-2.0/glib/gurifuncs.h: - -/usr/include/glib-2.0/glib/gvarianttype.h: - -/usr/include/glib-2.0/glib/gvariant.h: - -/usr/include/glib-2.0/glib/gversion.h: - -/usr/include/glib-2.0/glib/deprecated/gallocator.h: - -/usr/include/glib-2.0/glib/deprecated/gcache.h: - -/usr/include/glib-2.0/glib/deprecated/gcompletion.h: - -/usr/include/glib-2.0/glib/deprecated/gmain.h: - -/usr/include/glib-2.0/glib/deprecated/grel.h: - -/usr/include/glib-2.0/glib/deprecated/gthread.h: - -/usr/include/pthread.h: - -/usr/include/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/setjmp.h: - -lib/bluetooth/bluetooth.h: - -/usr/include/stdio.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/include/arm-linux-gnueabihf/bits/sys_errlist.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio.h: - -/usr/include/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string2.h: - -/usr/include/byteswap.h: - -/usr/include/netinet/in.h: - -/usr/include/arm-linux-gnueabihf/sys/socket.h: - -/usr/include/arm-linux-gnueabihf/sys/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/socket.h: - -/usr/include/arm-linux-gnueabihf/bits/socket_type.h: - -/usr/include/arm-linux-gnueabihf/bits/sockaddr.h: - -/usr/include/arm-linux-gnueabihf/asm/socket.h: - -/usr/include/asm-generic/socket.h: - -/usr/include/arm-linux-gnueabihf/asm/sockios.h: - -/usr/include/asm-generic/sockios.h: - -/usr/include/arm-linux-gnueabihf/bits/in.h: - -lib/bluetooth/hci.h: - -lib/bluetooth/sdp.h: - -src/glib-helper.h: - -src/eir.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/src/.deps/glib-helper.Po b/GRIB_BLE_HUB/libs/ble_extend/src/.deps/glib-helper.Po deleted file mode 100644 index be067f1..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/src/.deps/glib-helper.Po +++ /dev/null @@ -1,468 +0,0 @@ -src/glib-helper.o: src/glib-helper.c /usr/include/stdc-predef.h config.h \ - /usr/include/stdlib.h /usr/include/features.h \ - /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/include/arm-linux-gnueabihf/bits/waitflags.h \ - /usr/include/arm-linux-gnueabihf/bits/waitstatus.h /usr/include/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/xlocale.h /usr/include/arm-linux-gnueabihf/sys/types.h \ - /usr/include/time.h /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/alloca.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-float.h \ - /usr/include/errno.h /usr/include/arm-linux-gnueabihf/bits/errno.h \ - /usr/include/linux/errno.h /usr/include/arm-linux-gnueabihf/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - lib/bluetooth/bluetooth.h /usr/include/stdio.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/sys_errlist.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h \ - /usr/include/stdint.h /usr/include/arm-linux-gnueabihf/bits/wchar.h \ - /usr/include/string.h /usr/include/arm-linux-gnueabihf/bits/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string2.h /usr/include/byteswap.h \ - /usr/include/netinet/in.h /usr/include/arm-linux-gnueabihf/sys/socket.h \ - /usr/include/arm-linux-gnueabihf/sys/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/socket.h \ - /usr/include/arm-linux-gnueabihf/bits/socket_type.h \ - /usr/include/arm-linux-gnueabihf/bits/sockaddr.h \ - /usr/include/arm-linux-gnueabihf/asm/socket.h \ - /usr/include/asm-generic/socket.h \ - /usr/include/arm-linux-gnueabihf/asm/sockios.h \ - /usr/include/asm-generic/sockios.h \ - /usr/include/arm-linux-gnueabihf/bits/in.h lib/bluetooth/sdp.h \ - lib/bluetooth/sdp_lib.h lib/bluetooth/hci.h /usr/include/glib-2.0/glib.h \ - /usr/include/glib-2.0/glib/galloca.h /usr/include/glib-2.0/glib/gtypes.h \ - /usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h \ - /usr/include/glib-2.0/glib/gmacros.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h \ - /usr/include/limits.h /usr/include/arm-linux-gnueabihf/bits/posix1_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/local_lim.h \ - /usr/include/linux/limits.h \ - /usr/include/arm-linux-gnueabihf/bits/posix2_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/xopen_lim.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h \ - /usr/include/glib-2.0/glib/gversionmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/timex.h \ - /usr/include/glib-2.0/glib/garray.h \ - /usr/include/glib-2.0/glib/gasyncqueue.h \ - /usr/include/glib-2.0/glib/gthread.h \ - /usr/include/glib-2.0/glib/gatomic.h /usr/include/glib-2.0/glib/gerror.h \ - /usr/include/glib-2.0/glib/gquark.h \ - /usr/include/glib-2.0/glib/gbacktrace.h /usr/include/signal.h \ - /usr/include/arm-linux-gnueabihf/bits/signum.h \ - /usr/include/arm-linux-gnueabihf/bits/siginfo.h \ - /usr/include/arm-linux-gnueabihf/bits/sigaction.h \ - /usr/include/arm-linux-gnueabihf/bits/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/asm/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigstack.h \ - /usr/include/arm-linux-gnueabihf/sys/ucontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigthread.h \ - /usr/include/glib-2.0/glib/gbase64.h \ - /usr/include/glib-2.0/glib/gbitlock.h \ - /usr/include/glib-2.0/glib/gbookmarkfile.h \ - /usr/include/glib-2.0/glib/gbytes.h \ - /usr/include/glib-2.0/glib/gcharset.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/gconvert.h \ - /usr/include/glib-2.0/glib/gdataset.h /usr/include/glib-2.0/glib/gdate.h \ - /usr/include/glib-2.0/glib/gdatetime.h \ - /usr/include/glib-2.0/glib/gtimezone.h /usr/include/glib-2.0/glib/gdir.h \ - /usr/include/dirent.h /usr/include/arm-linux-gnueabihf/bits/dirent.h \ - /usr/include/glib-2.0/glib/genviron.h \ - /usr/include/glib-2.0/glib/gfileutils.h \ - /usr/include/glib-2.0/glib/ggettext.h /usr/include/glib-2.0/glib/ghash.h \ - /usr/include/glib-2.0/glib/glist.h /usr/include/glib-2.0/glib/gmem.h \ - /usr/include/glib-2.0/glib/gnode.h /usr/include/glib-2.0/glib/ghmac.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/ghook.h \ - /usr/include/glib-2.0/glib/ghostutils.h \ - /usr/include/glib-2.0/glib/giochannel.h \ - /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gpoll.h \ - /usr/include/glib-2.0/glib/gslist.h /usr/include/glib-2.0/glib/gstring.h \ - /usr/include/glib-2.0/glib/gunicode.h \ - /usr/include/glib-2.0/glib/gutils.h \ - /usr/include/glib-2.0/glib/gkeyfile.h \ - /usr/include/glib-2.0/glib/gmappedfile.h \ - /usr/include/glib-2.0/glib/gmarkup.h \ - /usr/include/glib-2.0/glib/gmessages.h \ - /usr/include/glib-2.0/glib/goption.h \ - /usr/include/glib-2.0/glib/gpattern.h \ - /usr/include/glib-2.0/glib/gprimes.h /usr/include/glib-2.0/glib/gqsort.h \ - /usr/include/glib-2.0/glib/gqueue.h /usr/include/glib-2.0/glib/grand.h \ - /usr/include/glib-2.0/glib/gregex.h \ - /usr/include/glib-2.0/glib/gscanner.h \ - /usr/include/glib-2.0/glib/gsequence.h \ - /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gslice.h \ - /usr/include/glib-2.0/glib/gspawn.h \ - /usr/include/glib-2.0/glib/gstrfuncs.h \ - /usr/include/glib-2.0/glib/gstringchunk.h \ - /usr/include/glib-2.0/glib/gtestutils.h \ - /usr/include/glib-2.0/glib/gthreadpool.h \ - /usr/include/glib-2.0/glib/gtimer.h \ - /usr/include/glib-2.0/glib/gtrashstack.h \ - /usr/include/glib-2.0/glib/gtree.h \ - /usr/include/glib-2.0/glib/gurifuncs.h \ - /usr/include/glib-2.0/glib/gvarianttype.h \ - /usr/include/glib-2.0/glib/gvariant.h \ - /usr/include/glib-2.0/glib/gversion.h \ - /usr/include/glib-2.0/glib/deprecated/gallocator.h \ - /usr/include/glib-2.0/glib/deprecated/gcache.h \ - /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ - /usr/include/glib-2.0/glib/deprecated/gmain.h \ - /usr/include/glib-2.0/glib/deprecated/grel.h \ - /usr/include/glib-2.0/glib/deprecated/gthread.h /usr/include/pthread.h \ - /usr/include/sched.h /usr/include/arm-linux-gnueabihf/bits/sched.h \ - /usr/include/arm-linux-gnueabihf/bits/setjmp.h src/glib-helper.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/include/stdlib.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/include/arm-linux-gnueabihf/bits/waitflags.h: - -/usr/include/arm-linux-gnueabihf/bits/waitstatus.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/xlocale.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/time.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/alloca.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-float.h: - -/usr/include/errno.h: - -/usr/include/arm-linux-gnueabihf/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/arm-linux-gnueabihf/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -lib/bluetooth/bluetooth.h: - -/usr/include/stdio.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/sys_errlist.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/arm-linux-gnueabihf/bits/wchar.h: - -/usr/include/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string2.h: - -/usr/include/byteswap.h: - -/usr/include/netinet/in.h: - -/usr/include/arm-linux-gnueabihf/sys/socket.h: - -/usr/include/arm-linux-gnueabihf/sys/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/socket.h: - -/usr/include/arm-linux-gnueabihf/bits/socket_type.h: - -/usr/include/arm-linux-gnueabihf/bits/sockaddr.h: - -/usr/include/arm-linux-gnueabihf/asm/socket.h: - -/usr/include/asm-generic/socket.h: - -/usr/include/arm-linux-gnueabihf/asm/sockios.h: - -/usr/include/asm-generic/sockios.h: - -/usr/include/arm-linux-gnueabihf/bits/in.h: - -lib/bluetooth/sdp.h: - -lib/bluetooth/sdp_lib.h: - -lib/bluetooth/hci.h: - -/usr/include/glib-2.0/glib.h: - -/usr/include/glib-2.0/glib/galloca.h: - -/usr/include/glib-2.0/glib/gtypes.h: - -/usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h: - -/usr/include/glib-2.0/glib/gmacros.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h: - -/usr/include/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/local_lim.h: - -/usr/include/linux/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix2_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/xopen_lim.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h: - -/usr/include/glib-2.0/glib/gversionmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/timex.h: - -/usr/include/glib-2.0/glib/garray.h: - -/usr/include/glib-2.0/glib/gasyncqueue.h: - -/usr/include/glib-2.0/glib/gthread.h: - -/usr/include/glib-2.0/glib/gatomic.h: - -/usr/include/glib-2.0/glib/gerror.h: - -/usr/include/glib-2.0/glib/gquark.h: - -/usr/include/glib-2.0/glib/gbacktrace.h: - -/usr/include/signal.h: - -/usr/include/arm-linux-gnueabihf/bits/signum.h: - -/usr/include/arm-linux-gnueabihf/bits/siginfo.h: - -/usr/include/arm-linux-gnueabihf/bits/sigaction.h: - -/usr/include/arm-linux-gnueabihf/bits/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/asm/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigstack.h: - -/usr/include/arm-linux-gnueabihf/sys/ucontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigthread.h: - -/usr/include/glib-2.0/glib/gbase64.h: - -/usr/include/glib-2.0/glib/gbitlock.h: - -/usr/include/glib-2.0/glib/gbookmarkfile.h: - -/usr/include/glib-2.0/glib/gbytes.h: - -/usr/include/glib-2.0/glib/gcharset.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/gconvert.h: - -/usr/include/glib-2.0/glib/gdataset.h: - -/usr/include/glib-2.0/glib/gdate.h: - -/usr/include/glib-2.0/glib/gdatetime.h: - -/usr/include/glib-2.0/glib/gtimezone.h: - -/usr/include/glib-2.0/glib/gdir.h: - -/usr/include/dirent.h: - -/usr/include/arm-linux-gnueabihf/bits/dirent.h: - -/usr/include/glib-2.0/glib/genviron.h: - -/usr/include/glib-2.0/glib/gfileutils.h: - -/usr/include/glib-2.0/glib/ggettext.h: - -/usr/include/glib-2.0/glib/ghash.h: - -/usr/include/glib-2.0/glib/glist.h: - -/usr/include/glib-2.0/glib/gmem.h: - -/usr/include/glib-2.0/glib/gnode.h: - -/usr/include/glib-2.0/glib/ghmac.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/ghook.h: - -/usr/include/glib-2.0/glib/ghostutils.h: - -/usr/include/glib-2.0/glib/giochannel.h: - -/usr/include/glib-2.0/glib/gmain.h: - -/usr/include/glib-2.0/glib/gpoll.h: - -/usr/include/glib-2.0/glib/gslist.h: - -/usr/include/glib-2.0/glib/gstring.h: - -/usr/include/glib-2.0/glib/gunicode.h: - -/usr/include/glib-2.0/glib/gutils.h: - -/usr/include/glib-2.0/glib/gkeyfile.h: - -/usr/include/glib-2.0/glib/gmappedfile.h: - -/usr/include/glib-2.0/glib/gmarkup.h: - -/usr/include/glib-2.0/glib/gmessages.h: - -/usr/include/glib-2.0/glib/goption.h: - -/usr/include/glib-2.0/glib/gpattern.h: - -/usr/include/glib-2.0/glib/gprimes.h: - -/usr/include/glib-2.0/glib/gqsort.h: - -/usr/include/glib-2.0/glib/gqueue.h: - -/usr/include/glib-2.0/glib/grand.h: - -/usr/include/glib-2.0/glib/gregex.h: - -/usr/include/glib-2.0/glib/gscanner.h: - -/usr/include/glib-2.0/glib/gsequence.h: - -/usr/include/glib-2.0/glib/gshell.h: - -/usr/include/glib-2.0/glib/gslice.h: - -/usr/include/glib-2.0/glib/gspawn.h: - -/usr/include/glib-2.0/glib/gstrfuncs.h: - -/usr/include/glib-2.0/glib/gstringchunk.h: - -/usr/include/glib-2.0/glib/gtestutils.h: - -/usr/include/glib-2.0/glib/gthreadpool.h: - -/usr/include/glib-2.0/glib/gtimer.h: - -/usr/include/glib-2.0/glib/gtrashstack.h: - -/usr/include/glib-2.0/glib/gtree.h: - -/usr/include/glib-2.0/glib/gurifuncs.h: - -/usr/include/glib-2.0/glib/gvarianttype.h: - -/usr/include/glib-2.0/glib/gvariant.h: - -/usr/include/glib-2.0/glib/gversion.h: - -/usr/include/glib-2.0/glib/deprecated/gallocator.h: - -/usr/include/glib-2.0/glib/deprecated/gcache.h: - -/usr/include/glib-2.0/glib/deprecated/gcompletion.h: - -/usr/include/glib-2.0/glib/deprecated/gmain.h: - -/usr/include/glib-2.0/glib/deprecated/grel.h: - -/usr/include/glib-2.0/glib/deprecated/gthread.h: - -/usr/include/pthread.h: - -/usr/include/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/setjmp.h: - -src/glib-helper.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/src/.deps/log.Po b/GRIB_BLE_HUB/libs/ble_extend/src/.deps/log.Po deleted file mode 100644 index e4f59c9..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/src/.deps/log.Po +++ /dev/null @@ -1,382 +0,0 @@ -src/log.o: src/log.c /usr/include/stdc-predef.h config.h \ - /usr/include/stdio.h /usr/include/features.h \ - /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/sys_errlist.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio.h /usr/include/syslog.h \ - /usr/include/arm-linux-gnueabihf/sys/syslog.h \ - /usr/include/arm-linux-gnueabihf/bits/syslog-path.h \ - /usr/include/glib-2.0/glib.h /usr/include/glib-2.0/glib/galloca.h \ - /usr/include/glib-2.0/glib/gtypes.h \ - /usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h \ - /usr/include/glib-2.0/glib/gmacros.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h \ - /usr/include/limits.h /usr/include/arm-linux-gnueabihf/bits/posix1_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/local_lim.h \ - /usr/include/linux/limits.h \ - /usr/include/arm-linux-gnueabihf/bits/posix2_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/xopen_lim.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h \ - /usr/include/glib-2.0/glib/gversionmacros.h /usr/include/time.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/bits/timex.h /usr/include/xlocale.h \ - /usr/include/glib-2.0/glib/garray.h \ - /usr/include/glib-2.0/glib/gasyncqueue.h \ - /usr/include/glib-2.0/glib/gthread.h \ - /usr/include/glib-2.0/glib/gatomic.h /usr/include/glib-2.0/glib/gerror.h \ - /usr/include/glib-2.0/glib/gquark.h \ - /usr/include/glib-2.0/glib/gbacktrace.h /usr/include/signal.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/signum.h \ - /usr/include/arm-linux-gnueabihf/bits/siginfo.h \ - /usr/include/arm-linux-gnueabihf/bits/sigaction.h \ - /usr/include/arm-linux-gnueabihf/bits/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/asm/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigstack.h \ - /usr/include/arm-linux-gnueabihf/sys/ucontext.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/endian.h /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/arm-linux-gnueabihf/bits/sigthread.h \ - /usr/include/glib-2.0/glib/gbase64.h \ - /usr/include/glib-2.0/glib/gbitlock.h \ - /usr/include/glib-2.0/glib/gbookmarkfile.h \ - /usr/include/glib-2.0/glib/gbytes.h \ - /usr/include/glib-2.0/glib/gcharset.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/gconvert.h \ - /usr/include/glib-2.0/glib/gdataset.h /usr/include/glib-2.0/glib/gdate.h \ - /usr/include/glib-2.0/glib/gdatetime.h \ - /usr/include/glib-2.0/glib/gtimezone.h /usr/include/glib-2.0/glib/gdir.h \ - /usr/include/dirent.h /usr/include/arm-linux-gnueabihf/bits/dirent.h \ - /usr/include/glib-2.0/glib/genviron.h \ - /usr/include/glib-2.0/glib/gfileutils.h \ - /usr/include/glib-2.0/glib/ggettext.h /usr/include/glib-2.0/glib/ghash.h \ - /usr/include/glib-2.0/glib/glist.h /usr/include/glib-2.0/glib/gmem.h \ - /usr/include/glib-2.0/glib/gnode.h /usr/include/glib-2.0/glib/ghmac.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/ghook.h \ - /usr/include/glib-2.0/glib/ghostutils.h \ - /usr/include/glib-2.0/glib/giochannel.h \ - /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gpoll.h \ - /usr/include/glib-2.0/glib/gslist.h /usr/include/glib-2.0/glib/gstring.h \ - /usr/include/glib-2.0/glib/gunicode.h \ - /usr/include/glib-2.0/glib/gutils.h \ - /usr/include/glib-2.0/glib/gkeyfile.h \ - /usr/include/glib-2.0/glib/gmappedfile.h \ - /usr/include/glib-2.0/glib/gmarkup.h \ - /usr/include/glib-2.0/glib/gmessages.h \ - /usr/include/glib-2.0/glib/goption.h \ - /usr/include/glib-2.0/glib/gpattern.h \ - /usr/include/glib-2.0/glib/gprimes.h /usr/include/glib-2.0/glib/gqsort.h \ - /usr/include/glib-2.0/glib/gqueue.h /usr/include/glib-2.0/glib/grand.h \ - /usr/include/glib-2.0/glib/gregex.h \ - /usr/include/glib-2.0/glib/gscanner.h \ - /usr/include/glib-2.0/glib/gsequence.h \ - /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gslice.h \ - /usr/include/glib-2.0/glib/gspawn.h \ - /usr/include/glib-2.0/glib/gstrfuncs.h \ - /usr/include/glib-2.0/glib/gstringchunk.h \ - /usr/include/glib-2.0/glib/gtestutils.h \ - /usr/include/glib-2.0/glib/gthreadpool.h \ - /usr/include/glib-2.0/glib/gtimer.h \ - /usr/include/glib-2.0/glib/gtrashstack.h \ - /usr/include/glib-2.0/glib/gtree.h \ - /usr/include/glib-2.0/glib/gurifuncs.h \ - /usr/include/glib-2.0/glib/gvarianttype.h \ - /usr/include/glib-2.0/glib/gvariant.h \ - /usr/include/glib-2.0/glib/gversion.h \ - /usr/include/glib-2.0/glib/deprecated/gallocator.h \ - /usr/include/glib-2.0/glib/deprecated/gcache.h \ - /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ - /usr/include/glib-2.0/glib/deprecated/gmain.h \ - /usr/include/glib-2.0/glib/deprecated/grel.h \ - /usr/include/glib-2.0/glib/deprecated/gthread.h \ - /usr/include/arm-linux-gnueabihf/sys/types.h \ - /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h /usr/include/pthread.h \ - /usr/include/sched.h /usr/include/arm-linux-gnueabihf/bits/sched.h \ - /usr/include/arm-linux-gnueabihf/bits/setjmp.h src/log.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/include/stdio.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/sys_errlist.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio.h: - -/usr/include/syslog.h: - -/usr/include/arm-linux-gnueabihf/sys/syslog.h: - -/usr/include/arm-linux-gnueabihf/bits/syslog-path.h: - -/usr/include/glib-2.0/glib.h: - -/usr/include/glib-2.0/glib/galloca.h: - -/usr/include/glib-2.0/glib/gtypes.h: - -/usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h: - -/usr/include/glib-2.0/glib/gmacros.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h: - -/usr/include/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/local_lim.h: - -/usr/include/linux/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix2_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/xopen_lim.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h: - -/usr/include/glib-2.0/glib/gversionmacros.h: - -/usr/include/time.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/bits/timex.h: - -/usr/include/xlocale.h: - -/usr/include/glib-2.0/glib/garray.h: - -/usr/include/glib-2.0/glib/gasyncqueue.h: - -/usr/include/glib-2.0/glib/gthread.h: - -/usr/include/glib-2.0/glib/gatomic.h: - -/usr/include/glib-2.0/glib/gerror.h: - -/usr/include/glib-2.0/glib/gquark.h: - -/usr/include/glib-2.0/glib/gbacktrace.h: - -/usr/include/signal.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/signum.h: - -/usr/include/arm-linux-gnueabihf/bits/siginfo.h: - -/usr/include/arm-linux-gnueabihf/bits/sigaction.h: - -/usr/include/arm-linux-gnueabihf/bits/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/asm/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigstack.h: - -/usr/include/arm-linux-gnueabihf/sys/ucontext.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/arm-linux-gnueabihf/bits/sigthread.h: - -/usr/include/glib-2.0/glib/gbase64.h: - -/usr/include/glib-2.0/glib/gbitlock.h: - -/usr/include/glib-2.0/glib/gbookmarkfile.h: - -/usr/include/glib-2.0/glib/gbytes.h: - -/usr/include/glib-2.0/glib/gcharset.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/gconvert.h: - -/usr/include/glib-2.0/glib/gdataset.h: - -/usr/include/glib-2.0/glib/gdate.h: - -/usr/include/glib-2.0/glib/gdatetime.h: - -/usr/include/glib-2.0/glib/gtimezone.h: - -/usr/include/glib-2.0/glib/gdir.h: - -/usr/include/dirent.h: - -/usr/include/arm-linux-gnueabihf/bits/dirent.h: - -/usr/include/glib-2.0/glib/genviron.h: - -/usr/include/glib-2.0/glib/gfileutils.h: - -/usr/include/glib-2.0/glib/ggettext.h: - -/usr/include/glib-2.0/glib/ghash.h: - -/usr/include/glib-2.0/glib/glist.h: - -/usr/include/glib-2.0/glib/gmem.h: - -/usr/include/glib-2.0/glib/gnode.h: - -/usr/include/glib-2.0/glib/ghmac.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/ghook.h: - -/usr/include/glib-2.0/glib/ghostutils.h: - -/usr/include/glib-2.0/glib/giochannel.h: - -/usr/include/glib-2.0/glib/gmain.h: - -/usr/include/glib-2.0/glib/gpoll.h: - -/usr/include/glib-2.0/glib/gslist.h: - -/usr/include/glib-2.0/glib/gstring.h: - -/usr/include/glib-2.0/glib/gunicode.h: - -/usr/include/glib-2.0/glib/gutils.h: - -/usr/include/glib-2.0/glib/gkeyfile.h: - -/usr/include/glib-2.0/glib/gmappedfile.h: - -/usr/include/glib-2.0/glib/gmarkup.h: - -/usr/include/glib-2.0/glib/gmessages.h: - -/usr/include/glib-2.0/glib/goption.h: - -/usr/include/glib-2.0/glib/gpattern.h: - -/usr/include/glib-2.0/glib/gprimes.h: - -/usr/include/glib-2.0/glib/gqsort.h: - -/usr/include/glib-2.0/glib/gqueue.h: - -/usr/include/glib-2.0/glib/grand.h: - -/usr/include/glib-2.0/glib/gregex.h: - -/usr/include/glib-2.0/glib/gscanner.h: - -/usr/include/glib-2.0/glib/gsequence.h: - -/usr/include/glib-2.0/glib/gshell.h: - -/usr/include/glib-2.0/glib/gslice.h: - -/usr/include/glib-2.0/glib/gspawn.h: - -/usr/include/glib-2.0/glib/gstrfuncs.h: - -/usr/include/glib-2.0/glib/gstringchunk.h: - -/usr/include/glib-2.0/glib/gtestutils.h: - -/usr/include/glib-2.0/glib/gthreadpool.h: - -/usr/include/glib-2.0/glib/gtimer.h: - -/usr/include/glib-2.0/glib/gtrashstack.h: - -/usr/include/glib-2.0/glib/gtree.h: - -/usr/include/glib-2.0/glib/gurifuncs.h: - -/usr/include/glib-2.0/glib/gvarianttype.h: - -/usr/include/glib-2.0/glib/gvariant.h: - -/usr/include/glib-2.0/glib/gversion.h: - -/usr/include/glib-2.0/glib/deprecated/gallocator.h: - -/usr/include/glib-2.0/glib/deprecated/gcache.h: - -/usr/include/glib-2.0/glib/deprecated/gcompletion.h: - -/usr/include/glib-2.0/glib/deprecated/gmain.h: - -/usr/include/glib-2.0/glib/deprecated/grel.h: - -/usr/include/glib-2.0/glib/deprecated/gthread.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/pthread.h: - -/usr/include/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/setjmp.h: - -src/log.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/src/.deps/oui.Po b/GRIB_BLE_HUB/libs/ble_extend/src/.deps/oui.Po deleted file mode 100644 index fda32ee..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/src/.deps/oui.Po +++ /dev/null @@ -1,155 +0,0 @@ -src/oui.o: src/oui.c /usr/include/stdc-predef.h config.h src/oui.h \ - lib/bluetooth/bluetooth.h /usr/include/stdio.h /usr/include/features.h \ - /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/sys_errlist.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h \ - /usr/include/stdint.h /usr/include/arm-linux-gnueabihf/bits/wchar.h \ - /usr/include/string.h /usr/include/xlocale.h \ - /usr/include/arm-linux-gnueabihf/bits/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string2.h /usr/include/stdlib.h \ - /usr/include/endian.h /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/byteswap.h /usr/include/netinet/in.h \ - /usr/include/arm-linux-gnueabihf/sys/socket.h \ - /usr/include/arm-linux-gnueabihf/sys/uio.h \ - /usr/include/arm-linux-gnueabihf/sys/types.h /usr/include/time.h \ - /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/arm-linux-gnueabihf/bits/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/socket.h \ - /usr/include/arm-linux-gnueabihf/bits/socket_type.h \ - /usr/include/arm-linux-gnueabihf/bits/sockaddr.h \ - /usr/include/arm-linux-gnueabihf/asm/socket.h \ - /usr/include/asm-generic/socket.h \ - /usr/include/arm-linux-gnueabihf/asm/sockios.h \ - /usr/include/asm-generic/sockios.h \ - /usr/include/arm-linux-gnueabihf/bits/in.h /usr/include/libudev.h \ - /usr/include/arm-linux-gnueabihf/sys/stat.h \ - /usr/include/arm-linux-gnueabihf/bits/stat.h - -/usr/include/stdc-predef.h: - -config.h: - -src/oui.h: - -lib/bluetooth/bluetooth.h: - -/usr/include/stdio.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/sys_errlist.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/arm-linux-gnueabihf/bits/wchar.h: - -/usr/include/string.h: - -/usr/include/xlocale.h: - -/usr/include/arm-linux-gnueabihf/bits/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string2.h: - -/usr/include/stdlib.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/byteswap.h: - -/usr/include/netinet/in.h: - -/usr/include/arm-linux-gnueabihf/sys/socket.h: - -/usr/include/arm-linux-gnueabihf/sys/uio.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/time.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/arm-linux-gnueabihf/bits/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/socket.h: - -/usr/include/arm-linux-gnueabihf/bits/socket_type.h: - -/usr/include/arm-linux-gnueabihf/bits/sockaddr.h: - -/usr/include/arm-linux-gnueabihf/asm/socket.h: - -/usr/include/asm-generic/socket.h: - -/usr/include/arm-linux-gnueabihf/asm/sockios.h: - -/usr/include/asm-generic/sockios.h: - -/usr/include/arm-linux-gnueabihf/bits/in.h: - -/usr/include/libudev.h: - -/usr/include/arm-linux-gnueabihf/sys/stat.h: - -/usr/include/arm-linux-gnueabihf/bits/stat.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/src/.deps/sdp-xml.Po b/GRIB_BLE_HUB/libs/ble_extend/src/.deps/sdp-xml.Po deleted file mode 100644 index b155b7d..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/src/.deps/sdp-xml.Po +++ /dev/null @@ -1,473 +0,0 @@ -src/sdp-xml.o: src/sdp-xml.c /usr/include/stdc-predef.h config.h \ - /usr/include/stdio.h /usr/include/features.h \ - /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/sys_errlist.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio.h /usr/include/errno.h \ - /usr/include/arm-linux-gnueabihf/bits/errno.h /usr/include/linux/errno.h \ - /usr/include/arm-linux-gnueabihf/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/include/ctype.h /usr/include/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/xlocale.h /usr/include/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string2.h /usr/include/stdlib.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h \ - /usr/include/limits.h /usr/include/arm-linux-gnueabihf/bits/posix1_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/local_lim.h \ - /usr/include/linux/limits.h \ - /usr/include/arm-linux-gnueabihf/bits/posix2_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/xopen_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/waitflags.h \ - /usr/include/arm-linux-gnueabihf/bits/waitstatus.h \ - /usr/include/arm-linux-gnueabihf/sys/types.h /usr/include/time.h \ - /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/alloca.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-float.h \ - /usr/include/glib-2.0/glib.h /usr/include/glib-2.0/glib/galloca.h \ - /usr/include/glib-2.0/glib/gtypes.h \ - /usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h \ - /usr/include/glib-2.0/glib/gmacros.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h \ - /usr/include/glib-2.0/glib/gversionmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/timex.h \ - /usr/include/glib-2.0/glib/garray.h \ - /usr/include/glib-2.0/glib/gasyncqueue.h \ - /usr/include/glib-2.0/glib/gthread.h \ - /usr/include/glib-2.0/glib/gatomic.h /usr/include/glib-2.0/glib/gerror.h \ - /usr/include/glib-2.0/glib/gquark.h \ - /usr/include/glib-2.0/glib/gbacktrace.h /usr/include/signal.h \ - /usr/include/arm-linux-gnueabihf/bits/signum.h \ - /usr/include/arm-linux-gnueabihf/bits/siginfo.h \ - /usr/include/arm-linux-gnueabihf/bits/sigaction.h \ - /usr/include/arm-linux-gnueabihf/bits/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/asm/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigstack.h \ - /usr/include/arm-linux-gnueabihf/sys/ucontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigthread.h \ - /usr/include/glib-2.0/glib/gbase64.h \ - /usr/include/glib-2.0/glib/gbitlock.h \ - /usr/include/glib-2.0/glib/gbookmarkfile.h \ - /usr/include/glib-2.0/glib/gbytes.h \ - /usr/include/glib-2.0/glib/gcharset.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/gconvert.h \ - /usr/include/glib-2.0/glib/gdataset.h /usr/include/glib-2.0/glib/gdate.h \ - /usr/include/glib-2.0/glib/gdatetime.h \ - /usr/include/glib-2.0/glib/gtimezone.h /usr/include/glib-2.0/glib/gdir.h \ - /usr/include/dirent.h /usr/include/arm-linux-gnueabihf/bits/dirent.h \ - /usr/include/glib-2.0/glib/genviron.h \ - /usr/include/glib-2.0/glib/gfileutils.h \ - /usr/include/glib-2.0/glib/ggettext.h /usr/include/glib-2.0/glib/ghash.h \ - /usr/include/glib-2.0/glib/glist.h /usr/include/glib-2.0/glib/gmem.h \ - /usr/include/glib-2.0/glib/gnode.h /usr/include/glib-2.0/glib/ghmac.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/ghook.h \ - /usr/include/glib-2.0/glib/ghostutils.h \ - /usr/include/glib-2.0/glib/giochannel.h \ - /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gpoll.h \ - /usr/include/glib-2.0/glib/gslist.h /usr/include/glib-2.0/glib/gstring.h \ - /usr/include/glib-2.0/glib/gunicode.h \ - /usr/include/glib-2.0/glib/gutils.h \ - /usr/include/glib-2.0/glib/gkeyfile.h \ - /usr/include/glib-2.0/glib/gmappedfile.h \ - /usr/include/glib-2.0/glib/gmarkup.h \ - /usr/include/glib-2.0/glib/gmessages.h \ - /usr/include/glib-2.0/glib/goption.h \ - /usr/include/glib-2.0/glib/gpattern.h \ - /usr/include/glib-2.0/glib/gprimes.h /usr/include/glib-2.0/glib/gqsort.h \ - /usr/include/glib-2.0/glib/gqueue.h /usr/include/glib-2.0/glib/grand.h \ - /usr/include/glib-2.0/glib/gregex.h \ - /usr/include/glib-2.0/glib/gscanner.h \ - /usr/include/glib-2.0/glib/gsequence.h \ - /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gslice.h \ - /usr/include/glib-2.0/glib/gspawn.h \ - /usr/include/glib-2.0/glib/gstrfuncs.h \ - /usr/include/glib-2.0/glib/gstringchunk.h \ - /usr/include/glib-2.0/glib/gtestutils.h \ - /usr/include/glib-2.0/glib/gthreadpool.h \ - /usr/include/glib-2.0/glib/gtimer.h \ - /usr/include/glib-2.0/glib/gtrashstack.h \ - /usr/include/glib-2.0/glib/gtree.h \ - /usr/include/glib-2.0/glib/gurifuncs.h \ - /usr/include/glib-2.0/glib/gvarianttype.h \ - /usr/include/glib-2.0/glib/gvariant.h \ - /usr/include/glib-2.0/glib/gversion.h \ - /usr/include/glib-2.0/glib/deprecated/gallocator.h \ - /usr/include/glib-2.0/glib/deprecated/gcache.h \ - /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ - /usr/include/glib-2.0/glib/deprecated/gmain.h \ - /usr/include/glib-2.0/glib/deprecated/grel.h \ - /usr/include/glib-2.0/glib/deprecated/gthread.h /usr/include/pthread.h \ - /usr/include/sched.h /usr/include/arm-linux-gnueabihf/bits/sched.h \ - /usr/include/arm-linux-gnueabihf/bits/setjmp.h lib/bluetooth/sdp.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h \ - /usr/include/stdint.h /usr/include/arm-linux-gnueabihf/bits/wchar.h \ - lib/bluetooth/bluetooth.h /usr/include/byteswap.h \ - /usr/include/netinet/in.h /usr/include/arm-linux-gnueabihf/sys/socket.h \ - /usr/include/arm-linux-gnueabihf/sys/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/socket.h \ - /usr/include/arm-linux-gnueabihf/bits/socket_type.h \ - /usr/include/arm-linux-gnueabihf/bits/sockaddr.h \ - /usr/include/arm-linux-gnueabihf/asm/socket.h \ - /usr/include/asm-generic/socket.h \ - /usr/include/arm-linux-gnueabihf/asm/sockios.h \ - /usr/include/asm-generic/sockios.h \ - /usr/include/arm-linux-gnueabihf/bits/in.h lib/bluetooth/sdp_lib.h \ - lib/bluetooth/hci.h src/sdp-xml.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/include/stdio.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/sys_errlist.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio.h: - -/usr/include/errno.h: - -/usr/include/arm-linux-gnueabihf/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/arm-linux-gnueabihf/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/include/ctype.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/xlocale.h: - -/usr/include/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string2.h: - -/usr/include/stdlib.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h: - -/usr/include/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/local_lim.h: - -/usr/include/linux/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix2_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/xopen_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/waitflags.h: - -/usr/include/arm-linux-gnueabihf/bits/waitstatus.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/time.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/alloca.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-float.h: - -/usr/include/glib-2.0/glib.h: - -/usr/include/glib-2.0/glib/galloca.h: - -/usr/include/glib-2.0/glib/gtypes.h: - -/usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h: - -/usr/include/glib-2.0/glib/gmacros.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h: - -/usr/include/glib-2.0/glib/gversionmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/timex.h: - -/usr/include/glib-2.0/glib/garray.h: - -/usr/include/glib-2.0/glib/gasyncqueue.h: - -/usr/include/glib-2.0/glib/gthread.h: - -/usr/include/glib-2.0/glib/gatomic.h: - -/usr/include/glib-2.0/glib/gerror.h: - -/usr/include/glib-2.0/glib/gquark.h: - -/usr/include/glib-2.0/glib/gbacktrace.h: - -/usr/include/signal.h: - -/usr/include/arm-linux-gnueabihf/bits/signum.h: - -/usr/include/arm-linux-gnueabihf/bits/siginfo.h: - -/usr/include/arm-linux-gnueabihf/bits/sigaction.h: - -/usr/include/arm-linux-gnueabihf/bits/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/asm/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigstack.h: - -/usr/include/arm-linux-gnueabihf/sys/ucontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigthread.h: - -/usr/include/glib-2.0/glib/gbase64.h: - -/usr/include/glib-2.0/glib/gbitlock.h: - -/usr/include/glib-2.0/glib/gbookmarkfile.h: - -/usr/include/glib-2.0/glib/gbytes.h: - -/usr/include/glib-2.0/glib/gcharset.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/gconvert.h: - -/usr/include/glib-2.0/glib/gdataset.h: - -/usr/include/glib-2.0/glib/gdate.h: - -/usr/include/glib-2.0/glib/gdatetime.h: - -/usr/include/glib-2.0/glib/gtimezone.h: - -/usr/include/glib-2.0/glib/gdir.h: - -/usr/include/dirent.h: - -/usr/include/arm-linux-gnueabihf/bits/dirent.h: - -/usr/include/glib-2.0/glib/genviron.h: - -/usr/include/glib-2.0/glib/gfileutils.h: - -/usr/include/glib-2.0/glib/ggettext.h: - -/usr/include/glib-2.0/glib/ghash.h: - -/usr/include/glib-2.0/glib/glist.h: - -/usr/include/glib-2.0/glib/gmem.h: - -/usr/include/glib-2.0/glib/gnode.h: - -/usr/include/glib-2.0/glib/ghmac.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/ghook.h: - -/usr/include/glib-2.0/glib/ghostutils.h: - -/usr/include/glib-2.0/glib/giochannel.h: - -/usr/include/glib-2.0/glib/gmain.h: - -/usr/include/glib-2.0/glib/gpoll.h: - -/usr/include/glib-2.0/glib/gslist.h: - -/usr/include/glib-2.0/glib/gstring.h: - -/usr/include/glib-2.0/glib/gunicode.h: - -/usr/include/glib-2.0/glib/gutils.h: - -/usr/include/glib-2.0/glib/gkeyfile.h: - -/usr/include/glib-2.0/glib/gmappedfile.h: - -/usr/include/glib-2.0/glib/gmarkup.h: - -/usr/include/glib-2.0/glib/gmessages.h: - -/usr/include/glib-2.0/glib/goption.h: - -/usr/include/glib-2.0/glib/gpattern.h: - -/usr/include/glib-2.0/glib/gprimes.h: - -/usr/include/glib-2.0/glib/gqsort.h: - -/usr/include/glib-2.0/glib/gqueue.h: - -/usr/include/glib-2.0/glib/grand.h: - -/usr/include/glib-2.0/glib/gregex.h: - -/usr/include/glib-2.0/glib/gscanner.h: - -/usr/include/glib-2.0/glib/gsequence.h: - -/usr/include/glib-2.0/glib/gshell.h: - -/usr/include/glib-2.0/glib/gslice.h: - -/usr/include/glib-2.0/glib/gspawn.h: - -/usr/include/glib-2.0/glib/gstrfuncs.h: - -/usr/include/glib-2.0/glib/gstringchunk.h: - -/usr/include/glib-2.0/glib/gtestutils.h: - -/usr/include/glib-2.0/glib/gthreadpool.h: - -/usr/include/glib-2.0/glib/gtimer.h: - -/usr/include/glib-2.0/glib/gtrashstack.h: - -/usr/include/glib-2.0/glib/gtree.h: - -/usr/include/glib-2.0/glib/gurifuncs.h: - -/usr/include/glib-2.0/glib/gvarianttype.h: - -/usr/include/glib-2.0/glib/gvariant.h: - -/usr/include/glib-2.0/glib/gversion.h: - -/usr/include/glib-2.0/glib/deprecated/gallocator.h: - -/usr/include/glib-2.0/glib/deprecated/gcache.h: - -/usr/include/glib-2.0/glib/deprecated/gcompletion.h: - -/usr/include/glib-2.0/glib/deprecated/gmain.h: - -/usr/include/glib-2.0/glib/deprecated/grel.h: - -/usr/include/glib-2.0/glib/deprecated/gthread.h: - -/usr/include/pthread.h: - -/usr/include/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/setjmp.h: - -lib/bluetooth/sdp.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/arm-linux-gnueabihf/bits/wchar.h: - -lib/bluetooth/bluetooth.h: - -/usr/include/byteswap.h: - -/usr/include/netinet/in.h: - -/usr/include/arm-linux-gnueabihf/sys/socket.h: - -/usr/include/arm-linux-gnueabihf/sys/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/socket.h: - -/usr/include/arm-linux-gnueabihf/bits/socket_type.h: - -/usr/include/arm-linux-gnueabihf/bits/sockaddr.h: - -/usr/include/arm-linux-gnueabihf/asm/socket.h: - -/usr/include/asm-generic/socket.h: - -/usr/include/arm-linux-gnueabihf/asm/sockios.h: - -/usr/include/asm-generic/sockios.h: - -/usr/include/arm-linux-gnueabihf/bits/in.h: - -lib/bluetooth/sdp_lib.h: - -lib/bluetooth/hci.h: - -src/sdp-xml.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/src/.deps/sdpd-database.Po b/GRIB_BLE_HUB/libs/ble_extend/src/.deps/sdpd-database.Po deleted file mode 100644 index fe4a446..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/src/.deps/sdpd-database.Po +++ /dev/null @@ -1,533 +0,0 @@ -src/sdpd-database.o: src/sdpd-database.c /usr/include/stdc-predef.h \ - config.h /usr/include/stdio.h /usr/include/features.h \ - /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/sys_errlist.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio.h /usr/include/errno.h \ - /usr/include/arm-linux-gnueabihf/bits/errno.h /usr/include/linux/errno.h \ - /usr/include/arm-linux-gnueabihf/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/include/stdlib.h /usr/include/arm-linux-gnueabihf/bits/waitflags.h \ - /usr/include/arm-linux-gnueabihf/bits/waitstatus.h /usr/include/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/xlocale.h /usr/include/arm-linux-gnueabihf/sys/types.h \ - /usr/include/time.h /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/alloca.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-float.h \ - /usr/include/arm-linux-gnueabihf/sys/socket.h \ - /usr/include/arm-linux-gnueabihf/sys/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/socket.h \ - /usr/include/arm-linux-gnueabihf/bits/socket_type.h \ - /usr/include/arm-linux-gnueabihf/bits/sockaddr.h \ - /usr/include/arm-linux-gnueabihf/asm/socket.h \ - /usr/include/asm-generic/socket.h \ - /usr/include/arm-linux-gnueabihf/asm/sockios.h \ - /usr/include/asm-generic/sockios.h lib/bluetooth/bluetooth.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h \ - /usr/include/stdint.h /usr/include/arm-linux-gnueabihf/bits/wchar.h \ - /usr/include/string.h /usr/include/arm-linux-gnueabihf/bits/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string2.h /usr/include/byteswap.h \ - /usr/include/netinet/in.h /usr/include/arm-linux-gnueabihf/bits/in.h \ - lib/bluetooth/l2cap.h lib/bluetooth/sdp.h lib/bluetooth/sdp_lib.h \ - lib/bluetooth/hci.h src/sdpd.h src/log.h src/adapter.h \ - lib/bluetooth/hci_lib.h /usr/include/dbus-1.0/dbus/dbus.h \ - /usr/lib/arm-linux-gnueabihf/dbus-1.0/include/dbus/dbus-arch-deps.h \ - /usr/include/dbus-1.0/dbus/dbus-macros.h \ - /usr/include/dbus-1.0/dbus/dbus-address.h \ - /usr/include/dbus-1.0/dbus/dbus-types.h \ - /usr/include/dbus-1.0/dbus/dbus-errors.h \ - /usr/include/dbus-1.0/dbus/dbus-protocol.h \ - /usr/include/dbus-1.0/dbus/dbus-bus.h \ - /usr/include/dbus-1.0/dbus/dbus-connection.h \ - /usr/include/dbus-1.0/dbus/dbus-memory.h \ - /usr/include/dbus-1.0/dbus/dbus-message.h \ - /usr/include/dbus-1.0/dbus/dbus-shared.h \ - /usr/include/dbus-1.0/dbus/dbus-misc.h \ - /usr/include/dbus-1.0/dbus/dbus-pending-call.h \ - /usr/include/dbus-1.0/dbus/dbus-server.h \ - /usr/include/dbus-1.0/dbus/dbus-signature.h \ - /usr/include/dbus-1.0/dbus/dbus-syntax.h \ - /usr/include/dbus-1.0/dbus/dbus-threads.h /usr/include/glib-2.0/glib.h \ - /usr/include/glib-2.0/glib/galloca.h /usr/include/glib-2.0/glib/gtypes.h \ - /usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h \ - /usr/include/glib-2.0/glib/gmacros.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h \ - /usr/include/limits.h /usr/include/arm-linux-gnueabihf/bits/posix1_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/local_lim.h \ - /usr/include/linux/limits.h \ - /usr/include/arm-linux-gnueabihf/bits/posix2_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/xopen_lim.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h \ - /usr/include/glib-2.0/glib/gversionmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/timex.h \ - /usr/include/glib-2.0/glib/garray.h \ - /usr/include/glib-2.0/glib/gasyncqueue.h \ - /usr/include/glib-2.0/glib/gthread.h \ - /usr/include/glib-2.0/glib/gatomic.h /usr/include/glib-2.0/glib/gerror.h \ - /usr/include/glib-2.0/glib/gquark.h \ - /usr/include/glib-2.0/glib/gbacktrace.h /usr/include/signal.h \ - /usr/include/arm-linux-gnueabihf/bits/signum.h \ - /usr/include/arm-linux-gnueabihf/bits/siginfo.h \ - /usr/include/arm-linux-gnueabihf/bits/sigaction.h \ - /usr/include/arm-linux-gnueabihf/bits/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/asm/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigstack.h \ - /usr/include/arm-linux-gnueabihf/sys/ucontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigthread.h \ - /usr/include/glib-2.0/glib/gbase64.h \ - /usr/include/glib-2.0/glib/gbitlock.h \ - /usr/include/glib-2.0/glib/gbookmarkfile.h \ - /usr/include/glib-2.0/glib/gbytes.h \ - /usr/include/glib-2.0/glib/gcharset.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/gconvert.h \ - /usr/include/glib-2.0/glib/gdataset.h /usr/include/glib-2.0/glib/gdate.h \ - /usr/include/glib-2.0/glib/gdatetime.h \ - /usr/include/glib-2.0/glib/gtimezone.h /usr/include/glib-2.0/glib/gdir.h \ - /usr/include/dirent.h /usr/include/arm-linux-gnueabihf/bits/dirent.h \ - /usr/include/glib-2.0/glib/genviron.h \ - /usr/include/glib-2.0/glib/gfileutils.h \ - /usr/include/glib-2.0/glib/ggettext.h /usr/include/glib-2.0/glib/ghash.h \ - /usr/include/glib-2.0/glib/glist.h /usr/include/glib-2.0/glib/gmem.h \ - /usr/include/glib-2.0/glib/gnode.h /usr/include/glib-2.0/glib/ghmac.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/ghook.h \ - /usr/include/glib-2.0/glib/ghostutils.h \ - /usr/include/glib-2.0/glib/giochannel.h \ - /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gpoll.h \ - /usr/include/glib-2.0/glib/gslist.h /usr/include/glib-2.0/glib/gstring.h \ - /usr/include/glib-2.0/glib/gunicode.h \ - /usr/include/glib-2.0/glib/gutils.h \ - /usr/include/glib-2.0/glib/gkeyfile.h \ - /usr/include/glib-2.0/glib/gmappedfile.h \ - /usr/include/glib-2.0/glib/gmarkup.h \ - /usr/include/glib-2.0/glib/gmessages.h \ - /usr/include/glib-2.0/glib/goption.h \ - /usr/include/glib-2.0/glib/gpattern.h \ - /usr/include/glib-2.0/glib/gprimes.h /usr/include/glib-2.0/glib/gqsort.h \ - /usr/include/glib-2.0/glib/gqueue.h /usr/include/glib-2.0/glib/grand.h \ - /usr/include/glib-2.0/glib/gregex.h \ - /usr/include/glib-2.0/glib/gscanner.h \ - /usr/include/glib-2.0/glib/gsequence.h \ - /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gslice.h \ - /usr/include/glib-2.0/glib/gspawn.h \ - /usr/include/glib-2.0/glib/gstrfuncs.h \ - /usr/include/glib-2.0/glib/gstringchunk.h \ - /usr/include/glib-2.0/glib/gtestutils.h \ - /usr/include/glib-2.0/glib/gthreadpool.h \ - /usr/include/glib-2.0/glib/gtimer.h \ - /usr/include/glib-2.0/glib/gtrashstack.h \ - /usr/include/glib-2.0/glib/gtree.h \ - /usr/include/glib-2.0/glib/gurifuncs.h \ - /usr/include/glib-2.0/glib/gvarianttype.h \ - /usr/include/glib-2.0/glib/gvariant.h \ - /usr/include/glib-2.0/glib/gversion.h \ - /usr/include/glib-2.0/glib/deprecated/gallocator.h \ - /usr/include/glib-2.0/glib/deprecated/gcache.h \ - /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ - /usr/include/glib-2.0/glib/deprecated/gmain.h \ - /usr/include/glib-2.0/glib/deprecated/grel.h \ - /usr/include/glib-2.0/glib/deprecated/gthread.h /usr/include/pthread.h \ - /usr/include/sched.h /usr/include/arm-linux-gnueabihf/bits/sched.h \ - /usr/include/arm-linux-gnueabihf/bits/setjmp.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdbool.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/include/stdio.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/sys_errlist.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio.h: - -/usr/include/errno.h: - -/usr/include/arm-linux-gnueabihf/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/arm-linux-gnueabihf/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/include/stdlib.h: - -/usr/include/arm-linux-gnueabihf/bits/waitflags.h: - -/usr/include/arm-linux-gnueabihf/bits/waitstatus.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/xlocale.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/time.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/alloca.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-float.h: - -/usr/include/arm-linux-gnueabihf/sys/socket.h: - -/usr/include/arm-linux-gnueabihf/sys/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/socket.h: - -/usr/include/arm-linux-gnueabihf/bits/socket_type.h: - -/usr/include/arm-linux-gnueabihf/bits/sockaddr.h: - -/usr/include/arm-linux-gnueabihf/asm/socket.h: - -/usr/include/asm-generic/socket.h: - -/usr/include/arm-linux-gnueabihf/asm/sockios.h: - -/usr/include/asm-generic/sockios.h: - -lib/bluetooth/bluetooth.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/arm-linux-gnueabihf/bits/wchar.h: - -/usr/include/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string2.h: - -/usr/include/byteswap.h: - -/usr/include/netinet/in.h: - -/usr/include/arm-linux-gnueabihf/bits/in.h: - -lib/bluetooth/l2cap.h: - -lib/bluetooth/sdp.h: - -lib/bluetooth/sdp_lib.h: - -lib/bluetooth/hci.h: - -src/sdpd.h: - -src/log.h: - -src/adapter.h: - -lib/bluetooth/hci_lib.h: - -/usr/include/dbus-1.0/dbus/dbus.h: - -/usr/lib/arm-linux-gnueabihf/dbus-1.0/include/dbus/dbus-arch-deps.h: - -/usr/include/dbus-1.0/dbus/dbus-macros.h: - -/usr/include/dbus-1.0/dbus/dbus-address.h: - -/usr/include/dbus-1.0/dbus/dbus-types.h: - -/usr/include/dbus-1.0/dbus/dbus-errors.h: - -/usr/include/dbus-1.0/dbus/dbus-protocol.h: - -/usr/include/dbus-1.0/dbus/dbus-bus.h: - -/usr/include/dbus-1.0/dbus/dbus-connection.h: - -/usr/include/dbus-1.0/dbus/dbus-memory.h: - -/usr/include/dbus-1.0/dbus/dbus-message.h: - -/usr/include/dbus-1.0/dbus/dbus-shared.h: - -/usr/include/dbus-1.0/dbus/dbus-misc.h: - -/usr/include/dbus-1.0/dbus/dbus-pending-call.h: - -/usr/include/dbus-1.0/dbus/dbus-server.h: - -/usr/include/dbus-1.0/dbus/dbus-signature.h: - -/usr/include/dbus-1.0/dbus/dbus-syntax.h: - -/usr/include/dbus-1.0/dbus/dbus-threads.h: - -/usr/include/glib-2.0/glib.h: - -/usr/include/glib-2.0/glib/galloca.h: - -/usr/include/glib-2.0/glib/gtypes.h: - -/usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h: - -/usr/include/glib-2.0/glib/gmacros.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h: - -/usr/include/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/local_lim.h: - -/usr/include/linux/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix2_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/xopen_lim.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h: - -/usr/include/glib-2.0/glib/gversionmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/timex.h: - -/usr/include/glib-2.0/glib/garray.h: - -/usr/include/glib-2.0/glib/gasyncqueue.h: - -/usr/include/glib-2.0/glib/gthread.h: - -/usr/include/glib-2.0/glib/gatomic.h: - -/usr/include/glib-2.0/glib/gerror.h: - -/usr/include/glib-2.0/glib/gquark.h: - -/usr/include/glib-2.0/glib/gbacktrace.h: - -/usr/include/signal.h: - -/usr/include/arm-linux-gnueabihf/bits/signum.h: - -/usr/include/arm-linux-gnueabihf/bits/siginfo.h: - -/usr/include/arm-linux-gnueabihf/bits/sigaction.h: - -/usr/include/arm-linux-gnueabihf/bits/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/asm/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigstack.h: - -/usr/include/arm-linux-gnueabihf/sys/ucontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigthread.h: - -/usr/include/glib-2.0/glib/gbase64.h: - -/usr/include/glib-2.0/glib/gbitlock.h: - -/usr/include/glib-2.0/glib/gbookmarkfile.h: - -/usr/include/glib-2.0/glib/gbytes.h: - -/usr/include/glib-2.0/glib/gcharset.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/gconvert.h: - -/usr/include/glib-2.0/glib/gdataset.h: - -/usr/include/glib-2.0/glib/gdate.h: - -/usr/include/glib-2.0/glib/gdatetime.h: - -/usr/include/glib-2.0/glib/gtimezone.h: - -/usr/include/glib-2.0/glib/gdir.h: - -/usr/include/dirent.h: - -/usr/include/arm-linux-gnueabihf/bits/dirent.h: - -/usr/include/glib-2.0/glib/genviron.h: - -/usr/include/glib-2.0/glib/gfileutils.h: - -/usr/include/glib-2.0/glib/ggettext.h: - -/usr/include/glib-2.0/glib/ghash.h: - -/usr/include/glib-2.0/glib/glist.h: - -/usr/include/glib-2.0/glib/gmem.h: - -/usr/include/glib-2.0/glib/gnode.h: - -/usr/include/glib-2.0/glib/ghmac.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/ghook.h: - -/usr/include/glib-2.0/glib/ghostutils.h: - -/usr/include/glib-2.0/glib/giochannel.h: - -/usr/include/glib-2.0/glib/gmain.h: - -/usr/include/glib-2.0/glib/gpoll.h: - -/usr/include/glib-2.0/glib/gslist.h: - -/usr/include/glib-2.0/glib/gstring.h: - -/usr/include/glib-2.0/glib/gunicode.h: - -/usr/include/glib-2.0/glib/gutils.h: - -/usr/include/glib-2.0/glib/gkeyfile.h: - -/usr/include/glib-2.0/glib/gmappedfile.h: - -/usr/include/glib-2.0/glib/gmarkup.h: - -/usr/include/glib-2.0/glib/gmessages.h: - -/usr/include/glib-2.0/glib/goption.h: - -/usr/include/glib-2.0/glib/gpattern.h: - -/usr/include/glib-2.0/glib/gprimes.h: - -/usr/include/glib-2.0/glib/gqsort.h: - -/usr/include/glib-2.0/glib/gqueue.h: - -/usr/include/glib-2.0/glib/grand.h: - -/usr/include/glib-2.0/glib/gregex.h: - -/usr/include/glib-2.0/glib/gscanner.h: - -/usr/include/glib-2.0/glib/gsequence.h: - -/usr/include/glib-2.0/glib/gshell.h: - -/usr/include/glib-2.0/glib/gslice.h: - -/usr/include/glib-2.0/glib/gspawn.h: - -/usr/include/glib-2.0/glib/gstrfuncs.h: - -/usr/include/glib-2.0/glib/gstringchunk.h: - -/usr/include/glib-2.0/glib/gtestutils.h: - -/usr/include/glib-2.0/glib/gthreadpool.h: - -/usr/include/glib-2.0/glib/gtimer.h: - -/usr/include/glib-2.0/glib/gtrashstack.h: - -/usr/include/glib-2.0/glib/gtree.h: - -/usr/include/glib-2.0/glib/gurifuncs.h: - -/usr/include/glib-2.0/glib/gvarianttype.h: - -/usr/include/glib-2.0/glib/gvariant.h: - -/usr/include/glib-2.0/glib/gversion.h: - -/usr/include/glib-2.0/glib/deprecated/gallocator.h: - -/usr/include/glib-2.0/glib/deprecated/gcache.h: - -/usr/include/glib-2.0/glib/deprecated/gcompletion.h: - -/usr/include/glib-2.0/glib/deprecated/gmain.h: - -/usr/include/glib-2.0/glib/deprecated/grel.h: - -/usr/include/glib-2.0/glib/deprecated/gthread.h: - -/usr/include/pthread.h: - -/usr/include/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/setjmp.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdbool.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/src/.deps/sdpd-request.Po b/GRIB_BLE_HUB/libs/ble_extend/src/.deps/sdpd-request.Po deleted file mode 100644 index 4922ba4..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/src/.deps/sdpd-request.Po +++ /dev/null @@ -1,211 +0,0 @@ -src/sdpd-request.o: src/sdpd-request.c /usr/include/stdc-predef.h \ - config.h /usr/include/stdio.h /usr/include/features.h \ - /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/sys_errlist.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio.h /usr/include/errno.h \ - /usr/include/arm-linux-gnueabihf/bits/errno.h /usr/include/linux/errno.h \ - /usr/include/arm-linux-gnueabihf/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/include/stdlib.h /usr/include/arm-linux-gnueabihf/bits/waitflags.h \ - /usr/include/arm-linux-gnueabihf/bits/waitstatus.h /usr/include/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/xlocale.h /usr/include/arm-linux-gnueabihf/sys/types.h \ - /usr/include/time.h /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/alloca.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-float.h \ - /usr/include/string.h /usr/include/arm-linux-gnueabihf/bits/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string2.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h \ - /usr/include/limits.h /usr/include/arm-linux-gnueabihf/bits/posix1_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/local_lim.h \ - /usr/include/linux/limits.h \ - /usr/include/arm-linux-gnueabihf/bits/posix2_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/xopen_lim.h \ - /usr/include/arm-linux-gnueabihf/sys/socket.h \ - /usr/include/arm-linux-gnueabihf/sys/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/socket.h \ - /usr/include/arm-linux-gnueabihf/bits/socket_type.h \ - /usr/include/arm-linux-gnueabihf/bits/sockaddr.h \ - /usr/include/arm-linux-gnueabihf/asm/socket.h \ - /usr/include/asm-generic/socket.h \ - /usr/include/arm-linux-gnueabihf/asm/sockios.h \ - /usr/include/asm-generic/sockios.h lib/bluetooth/bluetooth.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h \ - /usr/include/stdint.h /usr/include/arm-linux-gnueabihf/bits/wchar.h \ - /usr/include/byteswap.h /usr/include/netinet/in.h \ - /usr/include/arm-linux-gnueabihf/bits/in.h lib/bluetooth/l2cap.h \ - lib/bluetooth/sdp.h lib/bluetooth/sdp_lib.h lib/bluetooth/hci.h \ - src/sdpd.h src/log.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/include/stdio.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/sys_errlist.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio.h: - -/usr/include/errno.h: - -/usr/include/arm-linux-gnueabihf/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/arm-linux-gnueabihf/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/include/stdlib.h: - -/usr/include/arm-linux-gnueabihf/bits/waitflags.h: - -/usr/include/arm-linux-gnueabihf/bits/waitstatus.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/xlocale.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/time.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/alloca.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-float.h: - -/usr/include/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string2.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h: - -/usr/include/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/local_lim.h: - -/usr/include/linux/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix2_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/xopen_lim.h: - -/usr/include/arm-linux-gnueabihf/sys/socket.h: - -/usr/include/arm-linux-gnueabihf/sys/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/socket.h: - -/usr/include/arm-linux-gnueabihf/bits/socket_type.h: - -/usr/include/arm-linux-gnueabihf/bits/sockaddr.h: - -/usr/include/arm-linux-gnueabihf/asm/socket.h: - -/usr/include/asm-generic/socket.h: - -/usr/include/arm-linux-gnueabihf/asm/sockios.h: - -/usr/include/asm-generic/sockios.h: - -lib/bluetooth/bluetooth.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/arm-linux-gnueabihf/bits/wchar.h: - -/usr/include/byteswap.h: - -/usr/include/netinet/in.h: - -/usr/include/arm-linux-gnueabihf/bits/in.h: - -lib/bluetooth/l2cap.h: - -lib/bluetooth/sdp.h: - -lib/bluetooth/sdp_lib.h: - -lib/bluetooth/hci.h: - -src/sdpd.h: - -src/log.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/src/.deps/sdpd-service.Po b/GRIB_BLE_HUB/libs/ble_extend/src/.deps/sdpd-service.Po deleted file mode 100644 index 31a1fd6..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/src/.deps/sdpd-service.Po +++ /dev/null @@ -1,539 +0,0 @@ -src/sdpd-service.o: src/sdpd-service.c /usr/include/stdc-predef.h \ - config.h /usr/include/stdio.h /usr/include/features.h \ - /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/sys_errlist.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio.h /usr/include/errno.h \ - /usr/include/arm-linux-gnueabihf/bits/errno.h /usr/include/linux/errno.h \ - /usr/include/arm-linux-gnueabihf/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/include/stdlib.h /usr/include/arm-linux-gnueabihf/bits/waitflags.h \ - /usr/include/arm-linux-gnueabihf/bits/waitstatus.h /usr/include/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/xlocale.h /usr/include/arm-linux-gnueabihf/sys/types.h \ - /usr/include/time.h /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/alloca.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-float.h \ - /usr/include/assert.h /usr/include/arm-linux-gnueabihf/sys/time.h \ - /usr/include/arm-linux-gnueabihf/sys/socket.h \ - /usr/include/arm-linux-gnueabihf/sys/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/socket.h \ - /usr/include/arm-linux-gnueabihf/bits/socket_type.h \ - /usr/include/arm-linux-gnueabihf/bits/sockaddr.h \ - /usr/include/arm-linux-gnueabihf/asm/socket.h \ - /usr/include/asm-generic/socket.h \ - /usr/include/arm-linux-gnueabihf/asm/sockios.h \ - /usr/include/asm-generic/sockios.h lib/bluetooth/bluetooth.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h \ - /usr/include/stdint.h /usr/include/arm-linux-gnueabihf/bits/wchar.h \ - /usr/include/string.h /usr/include/arm-linux-gnueabihf/bits/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string2.h /usr/include/byteswap.h \ - /usr/include/netinet/in.h /usr/include/arm-linux-gnueabihf/bits/in.h \ - lib/bluetooth/sdp.h lib/bluetooth/sdp_lib.h lib/bluetooth/hci.h \ - /usr/include/glib-2.0/glib.h /usr/include/glib-2.0/glib/galloca.h \ - /usr/include/glib-2.0/glib/gtypes.h \ - /usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h \ - /usr/include/glib-2.0/glib/gmacros.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h \ - /usr/include/limits.h /usr/include/arm-linux-gnueabihf/bits/posix1_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/local_lim.h \ - /usr/include/linux/limits.h \ - /usr/include/arm-linux-gnueabihf/bits/posix2_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/xopen_lim.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h \ - /usr/include/glib-2.0/glib/gversionmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/timex.h \ - /usr/include/glib-2.0/glib/garray.h \ - /usr/include/glib-2.0/glib/gasyncqueue.h \ - /usr/include/glib-2.0/glib/gthread.h \ - /usr/include/glib-2.0/glib/gatomic.h /usr/include/glib-2.0/glib/gerror.h \ - /usr/include/glib-2.0/glib/gquark.h \ - /usr/include/glib-2.0/glib/gbacktrace.h /usr/include/signal.h \ - /usr/include/arm-linux-gnueabihf/bits/signum.h \ - /usr/include/arm-linux-gnueabihf/bits/siginfo.h \ - /usr/include/arm-linux-gnueabihf/bits/sigaction.h \ - /usr/include/arm-linux-gnueabihf/bits/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/asm/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigstack.h \ - /usr/include/arm-linux-gnueabihf/sys/ucontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigthread.h \ - /usr/include/glib-2.0/glib/gbase64.h \ - /usr/include/glib-2.0/glib/gbitlock.h \ - /usr/include/glib-2.0/glib/gbookmarkfile.h \ - /usr/include/glib-2.0/glib/gbytes.h \ - /usr/include/glib-2.0/glib/gcharset.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/gconvert.h \ - /usr/include/glib-2.0/glib/gdataset.h /usr/include/glib-2.0/glib/gdate.h \ - /usr/include/glib-2.0/glib/gdatetime.h \ - /usr/include/glib-2.0/glib/gtimezone.h /usr/include/glib-2.0/glib/gdir.h \ - /usr/include/dirent.h /usr/include/arm-linux-gnueabihf/bits/dirent.h \ - /usr/include/glib-2.0/glib/genviron.h \ - /usr/include/glib-2.0/glib/gfileutils.h \ - /usr/include/glib-2.0/glib/ggettext.h /usr/include/glib-2.0/glib/ghash.h \ - /usr/include/glib-2.0/glib/glist.h /usr/include/glib-2.0/glib/gmem.h \ - /usr/include/glib-2.0/glib/gnode.h /usr/include/glib-2.0/glib/ghmac.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/ghook.h \ - /usr/include/glib-2.0/glib/ghostutils.h \ - /usr/include/glib-2.0/glib/giochannel.h \ - /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gpoll.h \ - /usr/include/glib-2.0/glib/gslist.h /usr/include/glib-2.0/glib/gstring.h \ - /usr/include/glib-2.0/glib/gunicode.h \ - /usr/include/glib-2.0/glib/gutils.h \ - /usr/include/glib-2.0/glib/gkeyfile.h \ - /usr/include/glib-2.0/glib/gmappedfile.h \ - /usr/include/glib-2.0/glib/gmarkup.h \ - /usr/include/glib-2.0/glib/gmessages.h \ - /usr/include/glib-2.0/glib/goption.h \ - /usr/include/glib-2.0/glib/gpattern.h \ - /usr/include/glib-2.0/glib/gprimes.h /usr/include/glib-2.0/glib/gqsort.h \ - /usr/include/glib-2.0/glib/gqueue.h /usr/include/glib-2.0/glib/grand.h \ - /usr/include/glib-2.0/glib/gregex.h \ - /usr/include/glib-2.0/glib/gscanner.h \ - /usr/include/glib-2.0/glib/gsequence.h \ - /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gslice.h \ - /usr/include/glib-2.0/glib/gspawn.h \ - /usr/include/glib-2.0/glib/gstrfuncs.h \ - /usr/include/glib-2.0/glib/gstringchunk.h \ - /usr/include/glib-2.0/glib/gtestutils.h \ - /usr/include/glib-2.0/glib/gthreadpool.h \ - /usr/include/glib-2.0/glib/gtimer.h \ - /usr/include/glib-2.0/glib/gtrashstack.h \ - /usr/include/glib-2.0/glib/gtree.h \ - /usr/include/glib-2.0/glib/gurifuncs.h \ - /usr/include/glib-2.0/glib/gvarianttype.h \ - /usr/include/glib-2.0/glib/gvariant.h \ - /usr/include/glib-2.0/glib/gversion.h \ - /usr/include/glib-2.0/glib/deprecated/gallocator.h \ - /usr/include/glib-2.0/glib/deprecated/gcache.h \ - /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ - /usr/include/glib-2.0/glib/deprecated/gmain.h \ - /usr/include/glib-2.0/glib/deprecated/grel.h \ - /usr/include/glib-2.0/glib/deprecated/gthread.h /usr/include/pthread.h \ - /usr/include/sched.h /usr/include/arm-linux-gnueabihf/bits/sched.h \ - /usr/include/arm-linux-gnueabihf/bits/setjmp.h \ - /usr/include/dbus-1.0/dbus/dbus.h \ - /usr/lib/arm-linux-gnueabihf/dbus-1.0/include/dbus/dbus-arch-deps.h \ - /usr/include/dbus-1.0/dbus/dbus-macros.h \ - /usr/include/dbus-1.0/dbus/dbus-address.h \ - /usr/include/dbus-1.0/dbus/dbus-types.h \ - /usr/include/dbus-1.0/dbus/dbus-errors.h \ - /usr/include/dbus-1.0/dbus/dbus-protocol.h \ - /usr/include/dbus-1.0/dbus/dbus-bus.h \ - /usr/include/dbus-1.0/dbus/dbus-connection.h \ - /usr/include/dbus-1.0/dbus/dbus-memory.h \ - /usr/include/dbus-1.0/dbus/dbus-message.h \ - /usr/include/dbus-1.0/dbus/dbus-shared.h \ - /usr/include/dbus-1.0/dbus/dbus-misc.h \ - /usr/include/dbus-1.0/dbus/dbus-pending-call.h \ - /usr/include/dbus-1.0/dbus/dbus-server.h \ - /usr/include/dbus-1.0/dbus/dbus-signature.h \ - /usr/include/dbus-1.0/dbus/dbus-syntax.h \ - /usr/include/dbus-1.0/dbus/dbus-threads.h src/hcid.h src/sdpd.h \ - src/log.h src/adapter.h lib/bluetooth/hci_lib.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdbool.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/include/stdio.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/sys_errlist.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio.h: - -/usr/include/errno.h: - -/usr/include/arm-linux-gnueabihf/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/arm-linux-gnueabihf/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/include/stdlib.h: - -/usr/include/arm-linux-gnueabihf/bits/waitflags.h: - -/usr/include/arm-linux-gnueabihf/bits/waitstatus.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/xlocale.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/time.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/alloca.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-float.h: - -/usr/include/assert.h: - -/usr/include/arm-linux-gnueabihf/sys/time.h: - -/usr/include/arm-linux-gnueabihf/sys/socket.h: - -/usr/include/arm-linux-gnueabihf/sys/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/socket.h: - -/usr/include/arm-linux-gnueabihf/bits/socket_type.h: - -/usr/include/arm-linux-gnueabihf/bits/sockaddr.h: - -/usr/include/arm-linux-gnueabihf/asm/socket.h: - -/usr/include/asm-generic/socket.h: - -/usr/include/arm-linux-gnueabihf/asm/sockios.h: - -/usr/include/asm-generic/sockios.h: - -lib/bluetooth/bluetooth.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/arm-linux-gnueabihf/bits/wchar.h: - -/usr/include/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string2.h: - -/usr/include/byteswap.h: - -/usr/include/netinet/in.h: - -/usr/include/arm-linux-gnueabihf/bits/in.h: - -lib/bluetooth/sdp.h: - -lib/bluetooth/sdp_lib.h: - -lib/bluetooth/hci.h: - -/usr/include/glib-2.0/glib.h: - -/usr/include/glib-2.0/glib/galloca.h: - -/usr/include/glib-2.0/glib/gtypes.h: - -/usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h: - -/usr/include/glib-2.0/glib/gmacros.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h: - -/usr/include/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/local_lim.h: - -/usr/include/linux/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix2_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/xopen_lim.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h: - -/usr/include/glib-2.0/glib/gversionmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/timex.h: - -/usr/include/glib-2.0/glib/garray.h: - -/usr/include/glib-2.0/glib/gasyncqueue.h: - -/usr/include/glib-2.0/glib/gthread.h: - -/usr/include/glib-2.0/glib/gatomic.h: - -/usr/include/glib-2.0/glib/gerror.h: - -/usr/include/glib-2.0/glib/gquark.h: - -/usr/include/glib-2.0/glib/gbacktrace.h: - -/usr/include/signal.h: - -/usr/include/arm-linux-gnueabihf/bits/signum.h: - -/usr/include/arm-linux-gnueabihf/bits/siginfo.h: - -/usr/include/arm-linux-gnueabihf/bits/sigaction.h: - -/usr/include/arm-linux-gnueabihf/bits/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/asm/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigstack.h: - -/usr/include/arm-linux-gnueabihf/sys/ucontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigthread.h: - -/usr/include/glib-2.0/glib/gbase64.h: - -/usr/include/glib-2.0/glib/gbitlock.h: - -/usr/include/glib-2.0/glib/gbookmarkfile.h: - -/usr/include/glib-2.0/glib/gbytes.h: - -/usr/include/glib-2.0/glib/gcharset.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/gconvert.h: - -/usr/include/glib-2.0/glib/gdataset.h: - -/usr/include/glib-2.0/glib/gdate.h: - -/usr/include/glib-2.0/glib/gdatetime.h: - -/usr/include/glib-2.0/glib/gtimezone.h: - -/usr/include/glib-2.0/glib/gdir.h: - -/usr/include/dirent.h: - -/usr/include/arm-linux-gnueabihf/bits/dirent.h: - -/usr/include/glib-2.0/glib/genviron.h: - -/usr/include/glib-2.0/glib/gfileutils.h: - -/usr/include/glib-2.0/glib/ggettext.h: - -/usr/include/glib-2.0/glib/ghash.h: - -/usr/include/glib-2.0/glib/glist.h: - -/usr/include/glib-2.0/glib/gmem.h: - -/usr/include/glib-2.0/glib/gnode.h: - -/usr/include/glib-2.0/glib/ghmac.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/ghook.h: - -/usr/include/glib-2.0/glib/ghostutils.h: - -/usr/include/glib-2.0/glib/giochannel.h: - -/usr/include/glib-2.0/glib/gmain.h: - -/usr/include/glib-2.0/glib/gpoll.h: - -/usr/include/glib-2.0/glib/gslist.h: - -/usr/include/glib-2.0/glib/gstring.h: - -/usr/include/glib-2.0/glib/gunicode.h: - -/usr/include/glib-2.0/glib/gutils.h: - -/usr/include/glib-2.0/glib/gkeyfile.h: - -/usr/include/glib-2.0/glib/gmappedfile.h: - -/usr/include/glib-2.0/glib/gmarkup.h: - -/usr/include/glib-2.0/glib/gmessages.h: - -/usr/include/glib-2.0/glib/goption.h: - -/usr/include/glib-2.0/glib/gpattern.h: - -/usr/include/glib-2.0/glib/gprimes.h: - -/usr/include/glib-2.0/glib/gqsort.h: - -/usr/include/glib-2.0/glib/gqueue.h: - -/usr/include/glib-2.0/glib/grand.h: - -/usr/include/glib-2.0/glib/gregex.h: - -/usr/include/glib-2.0/glib/gscanner.h: - -/usr/include/glib-2.0/glib/gsequence.h: - -/usr/include/glib-2.0/glib/gshell.h: - -/usr/include/glib-2.0/glib/gslice.h: - -/usr/include/glib-2.0/glib/gspawn.h: - -/usr/include/glib-2.0/glib/gstrfuncs.h: - -/usr/include/glib-2.0/glib/gstringchunk.h: - -/usr/include/glib-2.0/glib/gtestutils.h: - -/usr/include/glib-2.0/glib/gthreadpool.h: - -/usr/include/glib-2.0/glib/gtimer.h: - -/usr/include/glib-2.0/glib/gtrashstack.h: - -/usr/include/glib-2.0/glib/gtree.h: - -/usr/include/glib-2.0/glib/gurifuncs.h: - -/usr/include/glib-2.0/glib/gvarianttype.h: - -/usr/include/glib-2.0/glib/gvariant.h: - -/usr/include/glib-2.0/glib/gversion.h: - -/usr/include/glib-2.0/glib/deprecated/gallocator.h: - -/usr/include/glib-2.0/glib/deprecated/gcache.h: - -/usr/include/glib-2.0/glib/deprecated/gcompletion.h: - -/usr/include/glib-2.0/glib/deprecated/gmain.h: - -/usr/include/glib-2.0/glib/deprecated/grel.h: - -/usr/include/glib-2.0/glib/deprecated/gthread.h: - -/usr/include/pthread.h: - -/usr/include/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/setjmp.h: - -/usr/include/dbus-1.0/dbus/dbus.h: - -/usr/lib/arm-linux-gnueabihf/dbus-1.0/include/dbus/dbus-arch-deps.h: - -/usr/include/dbus-1.0/dbus/dbus-macros.h: - -/usr/include/dbus-1.0/dbus/dbus-address.h: - -/usr/include/dbus-1.0/dbus/dbus-types.h: - -/usr/include/dbus-1.0/dbus/dbus-errors.h: - -/usr/include/dbus-1.0/dbus/dbus-protocol.h: - -/usr/include/dbus-1.0/dbus/dbus-bus.h: - -/usr/include/dbus-1.0/dbus/dbus-connection.h: - -/usr/include/dbus-1.0/dbus/dbus-memory.h: - -/usr/include/dbus-1.0/dbus/dbus-message.h: - -/usr/include/dbus-1.0/dbus/dbus-shared.h: - -/usr/include/dbus-1.0/dbus/dbus-misc.h: - -/usr/include/dbus-1.0/dbus/dbus-pending-call.h: - -/usr/include/dbus-1.0/dbus/dbus-server.h: - -/usr/include/dbus-1.0/dbus/dbus-signature.h: - -/usr/include/dbus-1.0/dbus/dbus-syntax.h: - -/usr/include/dbus-1.0/dbus/dbus-threads.h: - -src/hcid.h: - -src/sdpd.h: - -src/log.h: - -src/adapter.h: - -lib/bluetooth/hci_lib.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdbool.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/src/.deps/textfile.Po b/GRIB_BLE_HUB/libs/ble_extend/src/.deps/textfile.Po deleted file mode 100644 index 6b8878a..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/src/.deps/textfile.Po +++ /dev/null @@ -1,236 +0,0 @@ -src/textfile.o: src/textfile.c /usr/include/stdc-predef.h config.h \ - /usr/include/stdio.h /usr/include/features.h \ - /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/sys_errlist.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio.h /usr/include/errno.h \ - /usr/include/arm-linux-gnueabihf/bits/errno.h /usr/include/linux/errno.h \ - /usr/include/arm-linux-gnueabihf/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/include/ctype.h /usr/include/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/xlocale.h /usr/include/fcntl.h \ - /usr/include/arm-linux-gnueabihf/bits/fcntl.h \ - /usr/include/arm-linux-gnueabihf/bits/fcntl-linux.h \ - /usr/include/arm-linux-gnueabihf/bits/uio.h \ - /usr/include/arm-linux-gnueabihf/sys/types.h /usr/include/time.h \ - /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/arm-linux-gnueabihf/bits/stat.h /usr/include/unistd.h \ - /usr/include/arm-linux-gnueabihf/bits/posix_opt.h \ - /usr/include/arm-linux-gnueabihf/bits/environments.h \ - /usr/include/arm-linux-gnueabihf/bits/confname.h /usr/include/getopt.h \ - /usr/include/stdlib.h /usr/include/arm-linux-gnueabihf/bits/waitflags.h \ - /usr/include/arm-linux-gnueabihf/bits/waitstatus.h /usr/include/alloca.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-float.h \ - /usr/include/string.h /usr/include/arm-linux-gnueabihf/bits/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string2.h \ - /usr/include/arm-linux-gnueabihf/sys/file.h \ - /usr/include/arm-linux-gnueabihf/sys/stat.h \ - /usr/include/arm-linux-gnueabihf/sys/mman.h \ - /usr/include/arm-linux-gnueabihf/bits/mman.h \ - /usr/include/arm-linux-gnueabihf/bits/mman-linux.h \ - /usr/include/arm-linux-gnueabihf/sys/param.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h \ - /usr/include/limits.h /usr/include/arm-linux-gnueabihf/bits/posix1_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/local_lim.h \ - /usr/include/linux/limits.h \ - /usr/include/arm-linux-gnueabihf/bits/posix2_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/xopen_lim.h /usr/include/signal.h \ - /usr/include/arm-linux-gnueabihf/bits/signum.h \ - /usr/include/arm-linux-gnueabihf/bits/siginfo.h \ - /usr/include/arm-linux-gnueabihf/bits/sigaction.h \ - /usr/include/arm-linux-gnueabihf/bits/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/asm/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigstack.h \ - /usr/include/arm-linux-gnueabihf/sys/ucontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigthread.h \ - /usr/include/arm-linux-gnueabihf/bits/param.h /usr/include/linux/param.h \ - /usr/include/arm-linux-gnueabihf/asm/param.h \ - /usr/include/asm-generic/param.h src/textfile.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/include/stdio.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/sys_errlist.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio.h: - -/usr/include/errno.h: - -/usr/include/arm-linux-gnueabihf/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/arm-linux-gnueabihf/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/include/ctype.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/xlocale.h: - -/usr/include/fcntl.h: - -/usr/include/arm-linux-gnueabihf/bits/fcntl.h: - -/usr/include/arm-linux-gnueabihf/bits/fcntl-linux.h: - -/usr/include/arm-linux-gnueabihf/bits/uio.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/time.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/arm-linux-gnueabihf/bits/stat.h: - -/usr/include/unistd.h: - -/usr/include/arm-linux-gnueabihf/bits/posix_opt.h: - -/usr/include/arm-linux-gnueabihf/bits/environments.h: - -/usr/include/arm-linux-gnueabihf/bits/confname.h: - -/usr/include/getopt.h: - -/usr/include/stdlib.h: - -/usr/include/arm-linux-gnueabihf/bits/waitflags.h: - -/usr/include/arm-linux-gnueabihf/bits/waitstatus.h: - -/usr/include/alloca.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-float.h: - -/usr/include/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string2.h: - -/usr/include/arm-linux-gnueabihf/sys/file.h: - -/usr/include/arm-linux-gnueabihf/sys/stat.h: - -/usr/include/arm-linux-gnueabihf/sys/mman.h: - -/usr/include/arm-linux-gnueabihf/bits/mman.h: - -/usr/include/arm-linux-gnueabihf/bits/mman-linux.h: - -/usr/include/arm-linux-gnueabihf/sys/param.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h: - -/usr/include/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/local_lim.h: - -/usr/include/linux/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix2_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/xopen_lim.h: - -/usr/include/signal.h: - -/usr/include/arm-linux-gnueabihf/bits/signum.h: - -/usr/include/arm-linux-gnueabihf/bits/siginfo.h: - -/usr/include/arm-linux-gnueabihf/bits/sigaction.h: - -/usr/include/arm-linux-gnueabihf/bits/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/asm/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigstack.h: - -/usr/include/arm-linux-gnueabihf/sys/ucontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigthread.h: - -/usr/include/arm-linux-gnueabihf/bits/param.h: - -/usr/include/linux/param.h: - -/usr/include/arm-linux-gnueabihf/asm/param.h: - -/usr/include/asm-generic/param.h: - -src/textfile.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/src/.dirstamp b/GRIB_BLE_HUB/libs/ble_extend/src/.dirstamp deleted file mode 100644 index e69de29..0000000 diff --git a/GRIB_BLE_HUB/libs/ble_extend/src/adapter.c b/GRIB_BLE_HUB/libs/ble_extend/src/adapter.c deleted file mode 100644 index 6255da6..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/src/adapter.c +++ /dev/null @@ -1,6179 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2006-2010 Nokia Corporation - * Copyright (C) 2004-2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include - -#include -#include -#include - -#include "log.h" -#include "textfile.h" - -#include "lib/uuid.h" -#include "lib/mgmt.h" -#include "src/shared/mgmt.h" - -#include "hcid.h" -#include "sdpd.h" -#include "adapter.h" -#include "device.h" -#include "profile.h" -#include "dbus-common.h" -#include "error.h" -#include "glib-helper.h" -#include "agent.h" -#include "storage.h" -#include "attrib/gattrib.h" -#include "attrib/att.h" -#include "attrib/gatt.h" -#include "attrib-server.h" -#include "eir.h" - -#define ADAPTER_INTERFACE "org.bluez.Adapter1" - -/* Flags Descriptions */ -#define EIR_LIM_DISC 0x01 /* LE Limited Discoverable Mode */ -#define EIR_GEN_DISC 0x02 /* LE General Discoverable Mode */ -#define EIR_BREDR_UNSUP 0x04 /* BR/EDR Not Supported */ -#define EIR_SIM_CONTROLLER 0x08 /* Simultaneous LE and BR/EDR to Same - Device Capable (Controller) */ -#define EIR_SIM_HOST 0x10 /* Simultaneous LE and BR/EDR to Same - Device Capable (Host) */ - -#define MODE_OFF 0x00 -#define MODE_CONNECTABLE 0x01 -#define MODE_DISCOVERABLE 0x02 -#define MODE_UNKNOWN 0xff - -#define CONN_SCAN_TIMEOUT (3) -#define IDLE_DISCOV_TIMEOUT (5) -#define TEMP_DEV_TIMEOUT (3 * 60) -#define BONDING_TIMEOUT (2 * 60) - -static DBusConnection *dbus_conn = NULL; - -static GList *adapter_list = NULL; -static unsigned int adapter_remaining = 0; -static bool powering_down = false; - -static GSList *adapters = NULL; - -static struct mgmt *mgmt_master = NULL; - -#define MGMT_VERSION(v, r) ((v << 16) + (r)) -static uint8_t mgmt_version = 0; -static uint8_t mgmt_revision = 0; - -static GSList *adapter_drivers = NULL; - -struct discovery_client { - struct btd_adapter *adapter; - char *owner; - guint watch; -}; - -struct service_auth { - guint id; - service_auth_cb cb; - void *user_data; - const char *uuid; - struct btd_device *device; - struct btd_adapter *adapter; - struct agent *agent; /* NULL for queued auths */ -}; - -struct btd_adapter { - int ref_count; - - uint16_t dev_id; - struct mgmt *mgmt; - - bdaddr_t bdaddr; /* controller Bluetooth address */ - uint32_t dev_class; /* controller class of device */ - char *name; /* controller device name */ - char *short_name; /* controller short name */ - uint32_t supported_settings; /* controller supported settings */ - uint32_t current_settings; /* current controller settings */ - - char *path; /* adapter object path */ - uint8_t major_class; /* configured major class */ - uint8_t minor_class; /* configured minor class */ - char *system_name; /* configured system name */ - char *modalias; /* device id (modalias) */ - bool stored_discoverable; /* stored discoverable mode */ - uint32_t discoverable_timeout; /* discoverable time(sec) */ - uint32_t pairable_timeout; /* pairable time(sec) */ - - char *current_alias; /* current adapter name alias */ - char *stored_alias; /* stored adapter name alias */ - - bool discovering; /* discovering property state */ - uint8_t discovery_type; /* current active discovery type */ - uint8_t discovery_enable; /* discovery enabled/disabled */ - bool discovery_suspended; /* discovery has been suspended */ - GSList *discovery_list; /* list of discovery clients */ - GSList *discovery_found; /* list of found devices */ - guint discovery_idle_timeout; /* timeout between discovery runs */ - guint passive_scan_timeout; /* timeout between passive scans */ - guint temp_devices_timeout; /* timeout for temporary devices */ - - guint pairable_timeout_id; /* pairable timeout id */ - guint auth_idle_id; /* Pending authorization dequeue */ - GQueue *auths; /* Ongoing and pending auths */ - GSList *connections; /* Connected devices */ - GSList *devices; /* Devices structure pointers */ - GSList *connect_list; /* Devices to connect when found */ - struct btd_device *connect_le; /* LE device waiting to be connected */ - sdp_list_t *services; /* Services associated to adapter */ - - bool toggle_discoverable; /* discoverable needs to be changed */ - gboolean initialized; - - GSList *pin_callbacks; - - GSList *drivers; - GSList *profiles; - - struct oob_handler *oob_handler; - - unsigned int load_ltks_id; - guint load_ltks_timeout; - - unsigned int confirm_name_id; - guint confirm_name_timeout; - - unsigned int pair_device_id; - guint pair_device_timeout; - - bool is_default; /* true if adapter is default one */ -}; - -static struct btd_adapter *btd_adapter_lookup(uint16_t index) -{ - GList *list; - - for (list = g_list_first(adapter_list); list; - list = g_list_next(list)) { - struct btd_adapter *adapter = list->data; - - if (adapter->dev_id == index) - return adapter; - } - - return NULL; -} - -struct btd_adapter *btd_adapter_get_default(void) -{ - GList *list; - - for (list = g_list_first(adapter_list); list; - list = g_list_next(list)) { - struct btd_adapter *adapter = list->data; - - if (adapter->is_default) - return adapter; - } - - return NULL; -} - -bool btd_adapter_is_default(struct btd_adapter *adapter) -{ - if (!adapter) - return false; - - return adapter->is_default; -} - -uint16_t btd_adapter_get_index(struct btd_adapter *adapter) -{ - if (!adapter) - return MGMT_INDEX_NONE; - - return adapter->dev_id; -} - -static gboolean process_auth_queue(gpointer user_data); - -static void dev_class_changed_callback(uint16_t index, uint16_t length, - const void *param, void *user_data) -{ - struct btd_adapter *adapter = user_data; - const struct mgmt_cod *rp = param; - uint8_t appearance[3]; - uint32_t dev_class; - - if (length < sizeof(*rp)) { - error("Wrong size of class of device changed parameters"); - return; - } - - dev_class = rp->val[0] | (rp->val[1] << 8) | (rp->val[2] << 16); - - if (dev_class == adapter->dev_class) - return; - - DBG("Class: 0x%06x", dev_class); - - adapter->dev_class = dev_class; - - g_dbus_emit_property_changed(dbus_conn, adapter->path, - ADAPTER_INTERFACE, "Class"); - - appearance[0] = rp->val[0]; - appearance[1] = rp->val[1] & 0x1f; /* removes service class */ - appearance[2] = rp->val[2]; - - attrib_gap_set(adapter, GATT_CHARAC_APPEARANCE, appearance, 2); -} - -static void set_dev_class_complete(uint8_t status, uint16_t length, - const void *param, void *user_data) -{ - struct btd_adapter *adapter = user_data; - - if (status != MGMT_STATUS_SUCCESS) { - error("Failed to set device class: %s (0x%02x)", - mgmt_errstr(status), status); - return; - } - - /* - * The parameters are idential and also the task that is - * required in both cases. So it is safe to just call the - * event handling functions here. - */ - dev_class_changed_callback(adapter->dev_id, length, param, adapter); -} - -static void set_dev_class(struct btd_adapter *adapter) -{ - struct mgmt_cp_set_dev_class cp; - - /* - * If the controller does not support BR/EDR operation, - * there is no point in trying to set a major and minor - * class value. - * - * This is an optimization for Low Energy only controllers. - */ - if (!(adapter->supported_settings & MGMT_SETTING_BREDR)) - return; - - memset(&cp, 0, sizeof(cp)); - - /* - * Silly workaround for a really stupid kernel bug :( - * - * All current kernel versions assign the major and minor numbers - * straight to dev_class[0] and dev_class[1] without considering - * the proper bit shifting. - * - * To make this work, shift the value in userspace for now until - * we get a fixed kernel version. - */ - cp.major = adapter->major_class & 0x1f; - cp.minor = adapter->minor_class << 2; - - DBG("sending set device class command for index %u", adapter->dev_id); - - if (mgmt_send(adapter->mgmt, MGMT_OP_SET_DEV_CLASS, - adapter->dev_id, sizeof(cp), &cp, - set_dev_class_complete, adapter, NULL) > 0) - return; - - error("Failed to set class of device for index %u", adapter->dev_id); -} - -void btd_adapter_set_class(struct btd_adapter *adapter, uint8_t major, - uint8_t minor) -{ - if (adapter->major_class == major && adapter->minor_class == minor) - return; - - DBG("class: major %u minor %u", major, minor); - - adapter->major_class = major; - adapter->minor_class = minor; - - set_dev_class(adapter); -} - -static uint8_t get_mode(const char *mode) -{ - if (strcasecmp("off", mode) == 0) - return MODE_OFF; - else if (strcasecmp("connectable", mode) == 0) - return MODE_CONNECTABLE; - else if (strcasecmp("discoverable", mode) == 0) - return MODE_DISCOVERABLE; - else - return MODE_UNKNOWN; -} - -static void store_adapter_info(struct btd_adapter *adapter) -{ - GKeyFile *key_file; - char filename[PATH_MAX + 1]; - char address[18]; - char *str; - gsize length = 0; - gboolean discoverable; - - key_file = g_key_file_new(); - - if (adapter->pairable_timeout != main_opts.pairto) - g_key_file_set_integer(key_file, "General", "PairableTimeout", - adapter->pairable_timeout); - - if ((adapter->current_settings & MGMT_SETTING_DISCOVERABLE) && - !adapter->discoverable_timeout) - discoverable = TRUE; - else - discoverable = FALSE; - - g_key_file_set_boolean(key_file, "General", "Discoverable", - discoverable); - - if (adapter->discoverable_timeout != main_opts.discovto) - g_key_file_set_integer(key_file, "General", - "DiscoverableTimeout", - adapter->discoverable_timeout); - - if (adapter->stored_alias) - g_key_file_set_string(key_file, "General", "Alias", - adapter->stored_alias); - - ba2str(&adapter->bdaddr, address); - snprintf(filename, PATH_MAX, STORAGEDIR "/%s/settings", address); - filename[PATH_MAX] = '\0'; - - create_file(filename, S_IRUSR | S_IWUSR); - - str = g_key_file_to_data(key_file, &length, NULL); - g_file_set_contents(filename, str, length, NULL); - g_free(str); - - g_key_file_free(key_file); -} - -void adapter_store_cached_name(const bdaddr_t *local, const bdaddr_t *peer, - const char *name) -{ - char filename[PATH_MAX + 1]; - char s_addr[18], d_addr[18]; - GKeyFile *key_file; - char *data; - gsize length = 0; - - ba2str(local, s_addr); - ba2str(peer, d_addr); - snprintf(filename, PATH_MAX, STORAGEDIR "/%s/cache/%s", s_addr, d_addr); - filename[PATH_MAX] = '\0'; - create_file(filename, S_IRUSR | S_IWUSR); - - key_file = g_key_file_new(); - g_key_file_load_from_file(key_file, filename, 0, NULL); - g_key_file_set_string(key_file, "General", "Name", name); - - data = g_key_file_to_data(key_file, &length, NULL); - g_file_set_contents(filename, data, length, NULL); - g_free(data); - - g_key_file_free(key_file); -} - -static void trigger_pairable_timeout(struct btd_adapter *adapter); -static void adapter_start(struct btd_adapter *adapter); -static void adapter_stop(struct btd_adapter *adapter); - -static void settings_changed(struct btd_adapter *adapter, uint32_t settings) -{ - uint32_t changed_mask; - - changed_mask = adapter->current_settings ^ settings; - - adapter->current_settings = settings; - - DBG("Changed settings: 0x%08x", changed_mask); - - if (changed_mask & MGMT_SETTING_POWERED) { - g_dbus_emit_property_changed(dbus_conn, adapter->path, - ADAPTER_INTERFACE, "Powered"); - - if (adapter->current_settings & MGMT_SETTING_POWERED) { - adapter_start(adapter); - } else { - adapter_stop(adapter); - - if (powering_down) { - adapter_remaining--; - - if (!adapter_remaining) - btd_exit(); - } - } - } - - if (changed_mask & MGMT_SETTING_CONNECTABLE) - g_dbus_emit_property_changed(dbus_conn, adapter->path, - ADAPTER_INTERFACE, "Connectable"); - - if (changed_mask & MGMT_SETTING_DISCOVERABLE) { - g_dbus_emit_property_changed(dbus_conn, adapter->path, - ADAPTER_INTERFACE, "Discoverable"); - - store_adapter_info(adapter); - } - - if (changed_mask & MGMT_SETTING_PAIRABLE) { - g_dbus_emit_property_changed(dbus_conn, adapter->path, - ADAPTER_INTERFACE, "Pairable"); - - trigger_pairable_timeout(adapter); - } -} - -static void new_settings_callback(uint16_t index, uint16_t length, - const void *param, void *user_data) -{ - struct btd_adapter *adapter = user_data; - uint32_t settings; - - if (length < sizeof(settings)) { - error("Wrong size of new settings parameters"); - return; - } - - settings = bt_get_le32(param); - - if (settings == adapter->current_settings) - return; - - DBG("Settings: 0x%08x", settings); - - settings_changed(adapter, settings); -} - -static void set_mode_complete(uint8_t status, uint16_t length, - const void *param, void *user_data) -{ - struct btd_adapter *adapter = user_data; - - if (status != MGMT_STATUS_SUCCESS) { - error("Failed to set mode: %s (0x%02x)", - mgmt_errstr(status), status); - return; - } - - /* - * The parameters are idential and also the task that is - * required in both cases. So it is safe to just call the - * event handling functions here. - */ - new_settings_callback(adapter->dev_id, length, param, adapter); -} - -static bool set_mode(struct btd_adapter *adapter, uint16_t opcode, - uint8_t mode) -{ - struct mgmt_mode cp; - - memset(&cp, 0, sizeof(cp)); - cp.val = mode; - - DBG("sending set mode command for index %u", adapter->dev_id); - - if (mgmt_send(adapter->mgmt, opcode, - adapter->dev_id, sizeof(cp), &cp, - set_mode_complete, adapter, NULL) > 0) - return true; - - error("Failed to set mode for index %u", adapter->dev_id); - - return false; -} - -static bool set_discoverable(struct btd_adapter *adapter, uint8_t mode, - uint16_t timeout) -{ - struct mgmt_cp_set_discoverable cp; - - memset(&cp, 0, sizeof(cp)); - cp.val = mode; - cp.timeout = htobs(timeout); - - DBG("sending set mode command for index %u", adapter->dev_id); - - if (mgmt_send(adapter->mgmt, MGMT_OP_SET_DISCOVERABLE, - adapter->dev_id, sizeof(cp), &cp, - set_mode_complete, adapter, NULL) > 0) - return true; - - error("Failed to set mode for index %u", adapter->dev_id); - - return false; -} - -static gboolean pairable_timeout_handler(gpointer user_data) -{ - struct btd_adapter *adapter = user_data; - - adapter->pairable_timeout_id = 0; - - set_mode(adapter, MGMT_OP_SET_PAIRABLE, 0x00); - - return FALSE; -} - -static void trigger_pairable_timeout(struct btd_adapter *adapter) -{ - if (adapter->pairable_timeout_id > 0) { - g_source_remove(adapter->pairable_timeout_id); - adapter->pairable_timeout_id = 0; - } - - g_dbus_emit_property_changed(dbus_conn, adapter->path, - ADAPTER_INTERFACE, "PairableTimeout"); - - if (!(adapter->current_settings & MGMT_SETTING_PAIRABLE)) - return; - - if (adapter->pairable_timeout > 0) - g_timeout_add_seconds(adapter->pairable_timeout, - pairable_timeout_handler, adapter); -} - -static void local_name_changed_callback(uint16_t index, uint16_t length, - const void *param, void *user_data) -{ - struct btd_adapter *adapter = user_data; - const struct mgmt_cp_set_local_name *rp = param; - - if (length < sizeof(*rp)) { - error("Wrong size of local name changed parameters"); - return; - } - - if (!g_strcmp0(adapter->short_name, (const char *) rp->short_name) && - !g_strcmp0(adapter->name, (const char *) rp->name)) - return; - - DBG("Name: %s", rp->name); - DBG("Short name: %s", rp->short_name); - - g_free(adapter->name); - adapter->name = g_strdup((const char *) rp->name); - - g_free(adapter->short_name); - adapter->short_name = g_strdup((const char *) rp->short_name); - - /* - * Changing the name (even manually via HCI) will update the - * current alias property. - * - * In case the name is empty, use the short name. - * - * There is a difference between the stored alias (which is - * configured by the user) and the current alias. The current - * alias is temporary for the lifetime of the daemon. - */ - if (adapter->name && adapter->name[0] != '\0') { - g_free(adapter->current_alias); - adapter->current_alias = g_strdup(adapter->name); - } else { - g_free(adapter->current_alias); - adapter->current_alias = g_strdup(adapter->short_name); - } - - DBG("Current alias: %s", adapter->current_alias); - - if (!adapter->current_alias) - return; - - g_dbus_emit_property_changed(dbus_conn, adapter->path, - ADAPTER_INTERFACE, "Alias"); - - attrib_gap_set(adapter, GATT_CHARAC_DEVICE_NAME, - (const uint8_t *) adapter->current_alias, - strlen(adapter->current_alias)); -} - -static void set_local_name_complete(uint8_t status, uint16_t length, - const void *param, void *user_data) -{ - struct btd_adapter *adapter = user_data; - - if (status != MGMT_STATUS_SUCCESS) { - error("Failed to set local name: %s (0x%02x)", - mgmt_errstr(status), status); - return; - } - - /* - * The parameters are idential and also the task that is - * required in both cases. So it is safe to just call the - * event handling functions here. - */ - local_name_changed_callback(adapter->dev_id, length, param, adapter); -} - -static int set_name(struct btd_adapter *adapter, const char *name) -{ - struct mgmt_cp_set_local_name cp; - char maxname[MAX_NAME_LENGTH + 1]; - - memset(maxname, 0, sizeof(maxname)); - strncpy(maxname, name, MAX_NAME_LENGTH); - - if (!g_utf8_validate(maxname, -1, NULL)) { - error("Name change failed: supplied name isn't valid UTF-8"); - return -EINVAL; - } - - memset(&cp, 0, sizeof(cp)); - strncpy((char *) cp.name, maxname, sizeof(cp.name) - 1); - - DBG("sending set local name command for index %u", adapter->dev_id); - - if (mgmt_send(adapter->mgmt, MGMT_OP_SET_LOCAL_NAME, - adapter->dev_id, sizeof(cp), &cp, - set_local_name_complete, adapter, NULL) > 0) - return 0; - - error("Failed to set local name for index %u", adapter->dev_id); - - return -EIO; -} - -int adapter_set_name(struct btd_adapter *adapter, const char *name) -{ - if (g_strcmp0(adapter->system_name, name) == 0) - return 0; - - DBG("name: %s", name); - - g_free(adapter->system_name); - adapter->system_name = g_strdup(name); - - g_dbus_emit_property_changed(dbus_conn, adapter->path, - ADAPTER_INTERFACE, "Name"); - - /* alias is preferred over system name */ - if (adapter->stored_alias) - return 0; - - DBG("alias: %s", name); - - g_dbus_emit_property_changed(dbus_conn, adapter->path, - ADAPTER_INTERFACE, "Alias"); - - return set_name(adapter, name); -} - -struct btd_device *adapter_find_device(struct btd_adapter *adapter, - const bdaddr_t *dst) -{ - struct btd_device *device; - char addr[18]; - GSList *list; - - if (!adapter) - return NULL; - - ba2str(dst, addr); - - list = g_slist_find_custom(adapter->devices, addr, device_address_cmp); - if (!list) - return NULL; - - device = list->data; - - return device; -} - -static void uuid_to_uuid128(uuid_t *uuid128, const uuid_t *uuid) -{ - if (uuid->type == SDP_UUID16) - sdp_uuid16_to_uuid128(uuid128, uuid); - else if (uuid->type == SDP_UUID32) - sdp_uuid32_to_uuid128(uuid128, uuid); - else - memcpy(uuid128, uuid, sizeof(*uuid)); -} - -static bool is_supported_uuid(const uuid_t *uuid) -{ - uuid_t tmp; - - /* mgmt versions from 1.3 onwards support all types of UUIDs */ - if (MGMT_VERSION(mgmt_version, mgmt_revision) >= MGMT_VERSION(1, 3)) - return true; - - uuid_to_uuid128(&tmp, uuid); - - if (!sdp_uuid128_to_uuid(&tmp)) - return false; - - if (tmp.type != SDP_UUID16) - return false; - - return true; -} - -static void add_uuid_complete(uint8_t status, uint16_t length, - const void *param, void *user_data) -{ - struct btd_adapter *adapter = user_data; - - if (status != MGMT_STATUS_SUCCESS) { - error("Failed to add UUID: %s (0x%02x)", - mgmt_errstr(status), status); - return; - } - - /* - * The parameters are idential and also the task that is - * required in both cases. So it is safe to just call the - * event handling functions here. - */ - dev_class_changed_callback(adapter->dev_id, length, param, adapter); - - if (adapter->initialized) - g_dbus_emit_property_changed(dbus_conn, adapter->path, - ADAPTER_INTERFACE, "UUIDs"); -} - -static int add_uuid(struct btd_adapter *adapter, uuid_t *uuid, uint8_t svc_hint) -{ - struct mgmt_cp_add_uuid cp; - uuid_t uuid128; - uint128_t uint128; - - if (!is_supported_uuid(uuid)) { - warn("Ignoring unsupported UUID for addition"); - return 0; - } - - uuid_to_uuid128(&uuid128, uuid); - - ntoh128((uint128_t *) uuid128.value.uuid128.data, &uint128); - htob128(&uint128, (uint128_t *) cp.uuid); - cp.svc_hint = svc_hint; - - DBG("sending add uuid command for index %u", adapter->dev_id); - - if (mgmt_send(adapter->mgmt, MGMT_OP_ADD_UUID, - adapter->dev_id, sizeof(cp), &cp, - add_uuid_complete, adapter, NULL) > 0) - return 0; - - error("Failed to add UUID for index %u", adapter->dev_id); - - return -EIO; -} - -static void remove_uuid_complete(uint8_t status, uint16_t length, - const void *param, void *user_data) -{ - struct btd_adapter *adapter = user_data; - - if (status != MGMT_STATUS_SUCCESS) { - error("Failed to remove UUID: %s (0x%02x)", - mgmt_errstr(status), status); - return; - } - - /* - * The parameters are idential and also the task that is - * required in both cases. So it is safe to just call the - * event handling functions here. - */ - dev_class_changed_callback(adapter->dev_id, length, param, adapter); - - if (adapter->initialized) - g_dbus_emit_property_changed(dbus_conn, adapter->path, - ADAPTER_INTERFACE, "UUIDs"); -} - -static int remove_uuid(struct btd_adapter *adapter, uuid_t *uuid) -{ - struct mgmt_cp_remove_uuid cp; - uuid_t uuid128; - uint128_t uint128; - - if (!is_supported_uuid(uuid)) { - warn("Ignoring unsupported UUID for removal"); - return 0; - } - - uuid_to_uuid128(&uuid128, uuid); - - ntoh128((uint128_t *) uuid128.value.uuid128.data, &uint128); - htob128(&uint128, (uint128_t *) cp.uuid); - - DBG("sending remove uuid command for index %u", adapter->dev_id); - - if (mgmt_send(adapter->mgmt, MGMT_OP_REMOVE_UUID, - adapter->dev_id, sizeof(cp), &cp, - remove_uuid_complete, adapter, NULL) > 0) - return 0; - - error("Failed to remove UUID for index %u", adapter->dev_id); - - return -EIO; -} - -static void clear_uuids_complete(uint8_t status, uint16_t length, - const void *param, void *user_data) -{ - struct btd_adapter *adapter = user_data; - - if (status != MGMT_STATUS_SUCCESS) { - error("Failed to clear UUIDs: %s (0x%02x)", - mgmt_errstr(status), status); - return; - } - - /* - * The parameters are idential and also the task that is - * required in both cases. So it is safe to just call the - * event handling functions here. - */ - dev_class_changed_callback(adapter->dev_id, length, param, adapter); -} - -static int clear_uuids(struct btd_adapter *adapter) -{ - struct mgmt_cp_remove_uuid cp; - - memset(&cp, 0, sizeof(cp)); - - DBG("sending clear uuids command for index %u", adapter->dev_id); - - if (mgmt_send(adapter->mgmt, MGMT_OP_REMOVE_UUID, - adapter->dev_id, sizeof(cp), &cp, - clear_uuids_complete, adapter, NULL) > 0) - return 0; - - error("Failed to clear UUIDs for index %u", adapter->dev_id); - - return -EIO; -} - -static uint8_t get_uuid_mask(uuid_t *uuid) -{ - if (uuid->type != SDP_UUID16) - return 0; - - switch (uuid->value.uuid16) { - case DIALUP_NET_SVCLASS_ID: - case CIP_SVCLASS_ID: - return 0x42; /* Telephony & Networking */ - case IRMC_SYNC_SVCLASS_ID: - case OBEX_OBJPUSH_SVCLASS_ID: - case OBEX_FILETRANS_SVCLASS_ID: - case IRMC_SYNC_CMD_SVCLASS_ID: - case PBAP_PSE_SVCLASS_ID: - return 0x10; /* Object Transfer */ - case HEADSET_SVCLASS_ID: - case HANDSFREE_SVCLASS_ID: - return 0x20; /* Audio */ - case CORDLESS_TELEPHONY_SVCLASS_ID: - case INTERCOM_SVCLASS_ID: - case FAX_SVCLASS_ID: - case SAP_SVCLASS_ID: - /* - * Setting the telephony bit for the handsfree audio gateway - * role is not required by the HFP specification, but the - * Nokia 616 carkit is just plain broken! It will refuse - * pairing without this bit set. - */ - case HANDSFREE_AGW_SVCLASS_ID: - return 0x40; /* Telephony */ - case AUDIO_SOURCE_SVCLASS_ID: - case VIDEO_SOURCE_SVCLASS_ID: - return 0x08; /* Capturing */ - case AUDIO_SINK_SVCLASS_ID: - case VIDEO_SINK_SVCLASS_ID: - return 0x04; /* Rendering */ - case PANU_SVCLASS_ID: - case NAP_SVCLASS_ID: - case GN_SVCLASS_ID: - return 0x02; /* Networking */ - default: - return 0; - } -} - -static int uuid_cmp(const void *a, const void *b) -{ - const sdp_record_t *rec = a; - const uuid_t *uuid = b; - - return sdp_uuid_cmp(&rec->svclass, uuid); -} - -void adapter_service_insert(struct btd_adapter *adapter, void *r) -{ - sdp_record_t *rec = r; - sdp_list_t *browse_list = NULL; - uuid_t browse_uuid; - gboolean new_uuid; - - DBG("%s", adapter->path); - - /* skip record without a browse group */ - if (sdp_get_browse_groups(rec, &browse_list) < 0) - return; - - sdp_uuid16_create(&browse_uuid, PUBLIC_BROWSE_GROUP); - - /* skip record without public browse group */ - if (!sdp_list_find(browse_list, &browse_uuid, sdp_uuid_cmp)) - goto done; - - if (sdp_list_find(adapter->services, &rec->svclass, uuid_cmp) == NULL) - new_uuid = TRUE; - else - new_uuid = FALSE; - - adapter->services = sdp_list_insert_sorted(adapter->services, rec, - record_sort); - - if (new_uuid) { - uint8_t svc_hint = get_uuid_mask(&rec->svclass); - add_uuid(adapter, &rec->svclass, svc_hint); - } - -done: - sdp_list_free(browse_list, free); -} - -void adapter_service_remove(struct btd_adapter *adapter, void *r) -{ - sdp_record_t *rec = r; - - DBG("%s", adapter->path); - - adapter->services = sdp_list_remove(adapter->services, rec); - - if (sdp_list_find(adapter->services, &rec->svclass, uuid_cmp)) - return; - - remove_uuid(adapter, &rec->svclass); -} - -static struct btd_device *adapter_create_device(struct btd_adapter *adapter, - const bdaddr_t *bdaddr, - uint8_t bdaddr_type) -{ - struct btd_device *device; - - device = device_create(adapter, bdaddr, bdaddr_type); - if (!device) - return NULL; - - device_set_temporary(device, TRUE); - - adapter->devices = g_slist_append(adapter->devices, device); - - return device; -} - -static void service_auth_cancel(struct service_auth *auth) -{ - DBusError derr; - - dbus_error_init(&derr); - dbus_set_error_const(&derr, ERROR_INTERFACE ".Canceled", NULL); - - auth->cb(&derr, auth->user_data); - - dbus_error_free(&derr); - - if (auth->agent != NULL) - agent_cancel(auth->agent); - - g_free(auth); -} - -static void adapter_remove_device(struct btd_adapter *adapter, - struct btd_device *dev, - gboolean remove_storage) -{ - GList *l; - - adapter->connect_list = g_slist_remove(adapter->connect_list, dev); - - adapter->devices = g_slist_remove(adapter->devices, dev); - - adapter->discovery_found = g_slist_remove(adapter->discovery_found, - dev); - - adapter->connections = g_slist_remove(adapter->connections, dev); - - if (adapter->connect_le == dev) - adapter->connect_le = NULL; - - l = adapter->auths->head; - while (l != NULL) { - struct service_auth *auth = l->data; - GList *next = g_list_next(l); - - if (auth->device != dev) { - l = next; - continue; - } - - g_queue_delete_link(adapter->auths, l); - l = next; - - service_auth_cancel(auth); - } - - device_remove(dev, remove_storage); -} - -struct btd_device *adapter_get_device(struct btd_adapter *adapter, - const bdaddr_t *addr, - uint8_t addr_type) -{ - struct btd_device *device; - - if (!adapter) - return NULL; - - device = adapter_find_device(adapter, addr); - if (device) - return device; - - return adapter_create_device(adapter, addr, addr_type); -} - -sdp_list_t *btd_adapter_get_services(struct btd_adapter *adapter) -{ - return adapter->services; -} - -static void passive_scanning_complete(uint8_t status, uint16_t length, - const void *param, void *user_data) -{ - struct btd_adapter *adapter = user_data; - const struct mgmt_cp_start_discovery *rp = param; - - DBG("status 0x%02x", status); - - if (length < sizeof(*rp)) { - error("Wrong size of start scanning return parameters"); - return; - } - - if (status == MGMT_STATUS_SUCCESS) { - adapter->discovery_type = rp->type; - adapter->discovery_enable = 0x01; - } -} - -static gboolean passive_scanning_timeout(gpointer user_data) -{ - struct btd_adapter *adapter = user_data; - struct mgmt_cp_start_discovery cp; - - adapter->passive_scan_timeout = 0; - - cp.type = (1 << BDADDR_LE_PUBLIC) | (1 << BDADDR_LE_RANDOM); - - mgmt_send(adapter->mgmt, MGMT_OP_START_DISCOVERY, - adapter->dev_id, sizeof(cp), &cp, - passive_scanning_complete, adapter, NULL); - - return FALSE; -} - -static void trigger_passive_scanning(struct btd_adapter *adapter) -{ - if (!(adapter->current_settings & MGMT_SETTING_LE)) - return; - - DBG(""); - - if (adapter->passive_scan_timeout > 0) { - g_source_remove(adapter->passive_scan_timeout); - adapter->passive_scan_timeout = 0; - } - - /* - * If any client is running a discovery right now, then do not - * even try to start passive scanning. - * - * The discovery procedure is using interleaved scanning and - * thus will discover Low Energy devices as well. - */ - if (adapter->discovery_list) - return; - - if (adapter->discovery_enable == 0x01) - return; - - /* - * In case the discovery is suspended (for example for an ongoing - * pairing attempt), then also do not start passive scanning. - */ - if (adapter->discovery_suspended) - return; - - /* - * If the list of connectable Low Energy devices is empty, - * then do not start passive scanning. - */ - if (!adapter->connect_list) - return; - - adapter->passive_scan_timeout = g_timeout_add_seconds(CONN_SCAN_TIMEOUT, - passive_scanning_timeout, adapter); -} - -static void stop_passive_scanning_complete(uint8_t status, uint16_t length, - const void *param, void *user_data) -{ - struct btd_adapter *adapter = user_data; - struct btd_device *dev; - int err; - - DBG("status 0x%02x (%s)", status, mgmt_errstr(status)); - - dev = adapter->connect_le; - adapter->connect_le = NULL; - - if (status != MGMT_STATUS_SUCCESS) { - error("Stopping passive scanning failed: %s", - mgmt_errstr(status)); - return; - } - - adapter->discovery_type = 0x00; - adapter->discovery_enable = 0x00; - - if (!dev) { - DBG("Device removed while stopping passive scanning"); - trigger_passive_scanning(adapter); - return; - } - - err = device_connect_le(dev); - if (err < 0) { - error("LE auto connection failed: %s (%d)", - strerror(-err), -err); - trigger_passive_scanning(adapter); - } -} - -static void stop_passive_scanning(struct btd_adapter *adapter) -{ - struct mgmt_cp_stop_discovery cp; - - DBG(""); - - /* If there are any normal discovery clients passive scanning - * wont be running */ - if (adapter->discovery_list) - return; - - if (adapter->discovery_enable == 0x00) - return; - - cp.type = adapter->discovery_type; - - mgmt_send(adapter->mgmt, MGMT_OP_STOP_DISCOVERY, - adapter->dev_id, sizeof(cp), &cp, - stop_passive_scanning_complete, adapter, NULL); -} - -static void cancel_passive_scanning(struct btd_adapter *adapter) -{ - if (!(adapter->current_settings & MGMT_SETTING_LE)) - return; - - DBG(""); - - if (adapter->passive_scan_timeout > 0) { - g_source_remove(adapter->passive_scan_timeout); - adapter->passive_scan_timeout = 0; - } -} - -static void trigger_start_discovery(struct btd_adapter *adapter, guint delay); - -static void start_discovery_complete(uint8_t status, uint16_t length, - const void *param, void *user_data) -{ - struct btd_adapter *adapter = user_data; - const struct mgmt_cp_start_discovery *rp = param; - - DBG("status 0x%02x", status); - - if (length < sizeof(*rp)) { - error("Wrong size of start discovery return parameters"); - return; - } - - if (status == MGMT_STATUS_SUCCESS) { - adapter->discovery_type = rp->type; - adapter->discovery_enable = 0x01; - - if (adapter->discovering) - return; - - adapter->discovering = true; - g_dbus_emit_property_changed(dbus_conn, adapter->path, - ADAPTER_INTERFACE, "Discovering"); - return; - } - - /* - * In case the restart of the discovery failed, then just trigger - * it for the next idle timeout again. - */ - trigger_start_discovery(adapter, IDLE_DISCOV_TIMEOUT * 2); -} - -static gboolean start_discovery_timeout(gpointer user_data) -{ - struct btd_adapter *adapter = user_data; - struct mgmt_cp_start_discovery cp; - uint8_t new_type; - - DBG(""); - - adapter->discovery_idle_timeout = 0; - - if (adapter->current_settings & MGMT_SETTING_BREDR) - new_type = (1 << BDADDR_BREDR); - else - new_type = 0; - - if (adapter->current_settings & MGMT_SETTING_LE) - new_type |= (1 << BDADDR_LE_PUBLIC) | (1 << BDADDR_LE_RANDOM); - - if (adapter->discovery_enable == 0x01) { - /* - * If there is an already running discovery and it has the - * same type, then just keep it. - */ - if (adapter->discovery_type == new_type) { - if (adapter->discovering) - return FALSE; - - adapter->discovering = true; - g_dbus_emit_property_changed(dbus_conn, adapter->path, - ADAPTER_INTERFACE, "Discovering"); - return FALSE; - } - - /* - * Otherwise the current discovery must be stopped. So - * queue up a stop discovery command. - * - * This can happen if a passive scanning for Low Energy - * devices is ongoing. - */ - cp.type = adapter->discovery_type; - - mgmt_send(adapter->mgmt, MGMT_OP_STOP_DISCOVERY, - adapter->dev_id, sizeof(cp), &cp, - NULL, NULL, NULL); - } - - cp.type = new_type; - - mgmt_send(adapter->mgmt, MGMT_OP_START_DISCOVERY, - adapter->dev_id, sizeof(cp), &cp, - start_discovery_complete, adapter, NULL); - - return FALSE; -} - -static void trigger_start_discovery(struct btd_adapter *adapter, guint delay) -{ - - DBG(""); - - cancel_passive_scanning(adapter); - - if (adapter->discovery_idle_timeout > 0) { - g_source_remove(adapter->discovery_idle_timeout); - adapter->discovery_idle_timeout = 0; - } - - /* - * If the controller got powered down in between, then ensure - * that we do not keep trying to restart discovery. - * - * This is safe-guard and should actually never trigger. - */ - if (!(adapter->current_settings & MGMT_SETTING_POWERED)) - return; - - adapter->discovery_idle_timeout = g_timeout_add_seconds(delay, - start_discovery_timeout, adapter); -} - -static void suspend_discovery_complete(uint8_t status, uint16_t length, - const void *param, void *user_data) -{ - struct btd_adapter *adapter = user_data; - - DBG("status 0x%02x", status); - - if (status == MGMT_STATUS_SUCCESS) { - adapter->discovery_type = 0x00; - adapter->discovery_enable = 0x00; - return; - } -} - -static void suspend_discovery(struct btd_adapter *adapter) -{ - struct mgmt_cp_stop_discovery cp; - - DBG(""); - - adapter->discovery_suspended = true; - - /* - * If there are no clients discovering right now, then there is - * also nothing to suspend. - */ - if (!adapter->discovery_list) - return; - - /* - * In case of being inside the idle phase, make sure to remove - * the timeout to not trigger a restart. - * - * The restart will be triggered when the discovery is resumed. - */ - if (adapter->discovery_idle_timeout > 0) { - g_source_remove(adapter->discovery_idle_timeout); - adapter->discovery_idle_timeout = 0; - } - - if (adapter->discovery_enable == 0x00) - return; - - cp.type = adapter->discovery_type; - - mgmt_send(adapter->mgmt, MGMT_OP_STOP_DISCOVERY, - adapter->dev_id, sizeof(cp), &cp, - suspend_discovery_complete, adapter, NULL); -} - -static void resume_discovery(struct btd_adapter *adapter) -{ - DBG(""); - - adapter->discovery_suspended = false; - - /* - * If there are no clients discovering right now, then there is - * also nothing to resume. - */ - if (!adapter->discovery_list) - return; - - /* - * Treat a suspended discovery session the same as extra long - * idle time for a normal discovery. So just trigger the default - * restart procedure. - */ - trigger_start_discovery(adapter, IDLE_DISCOV_TIMEOUT); -} - -static void discovering_callback(uint16_t index, uint16_t length, - const void *param, void *user_data) -{ - const struct mgmt_ev_discovering *ev = param; - struct btd_adapter *adapter = user_data; - - if (length < sizeof(*ev)) { - error("Too small discovering event"); - return; - } - - DBG("hci%u type %u discovering %u", adapter->dev_id, - ev->type, ev->discovering); - - if (adapter->discovery_enable == ev->discovering) - return; - - adapter->discovery_type = ev->type; - adapter->discovery_enable = ev->discovering; - - /* - * Check for existing discoveries triggered by client applications - * and ignore all others. - * - * If there are no clients, then it is good idea to trigger a - * passive scanning attempt. - */ - if (!adapter->discovery_list) { - trigger_passive_scanning(adapter); - return; - } - - if (adapter->discovery_suspended) - return; - - switch (adapter->discovery_enable) { - case 0x00: - trigger_start_discovery(adapter, IDLE_DISCOV_TIMEOUT); - break; - - case 0x01: - if (adapter->discovery_idle_timeout > 0) { - g_source_remove(adapter->discovery_idle_timeout); - adapter->discovery_idle_timeout = 0; - } - break; - } -} - -static void stop_discovery_complete(uint8_t status, uint16_t length, - const void *param, void *user_data) -{ - struct btd_adapter *adapter = user_data; - - DBG("status 0x%02x", status); - - if (status == MGMT_STATUS_SUCCESS) { - adapter->discovery_type = 0x00; - adapter->discovery_enable = 0x00; - - adapter->discovering = false; - g_dbus_emit_property_changed(dbus_conn, adapter->path, - ADAPTER_INTERFACE, "Discovering"); - - trigger_passive_scanning(adapter); - } -} - -static gint compare_discovery_sender(gconstpointer a, gconstpointer b) -{ - const struct discovery_client *client = a; - const char *sender = b; - - return g_strcmp0(client->owner, sender); -} - -static void invalidate_rssi(gpointer a) -{ - struct btd_device *dev = a; - - device_set_rssi(dev, 0); -} - -static void discovery_cleanup(struct btd_adapter *adapter) -{ - g_slist_free_full(adapter->discovery_found, invalidate_rssi); - adapter->discovery_found = NULL; -} - -static gboolean remove_temp_devices(gpointer user_data) -{ - struct btd_adapter *adapter = user_data; - GSList *l, *next; - - DBG("%s", adapter->path); - - adapter->temp_devices_timeout = 0; - - for (l = adapter->devices; l != NULL; l = next) { - struct btd_device *dev = l->data; - - next = g_slist_next(l); - - if (device_is_temporary(dev)) - adapter_remove_device(adapter, dev, TRUE); - } - - return FALSE; -} - -static void discovery_destroy(void *user_data) -{ - struct discovery_client *client = user_data; - struct btd_adapter *adapter = client->adapter; - - DBG("owner %s", client->owner); - - adapter->discovery_list = g_slist_remove(adapter->discovery_list, - client); - - g_free(client->owner); - g_free(client); - - /* - * If there are other client discoveries in progress, then leave - * it active. If not, then make sure to stop the restart timeout. - */ - if (adapter->discovery_list) - return; - - adapter->discovery_type = 0x00; - - if (adapter->discovery_idle_timeout > 0) { - g_source_remove(adapter->discovery_idle_timeout); - adapter->discovery_idle_timeout = 0; - } - - if (adapter->temp_devices_timeout > 0) { - g_source_remove(adapter->temp_devices_timeout); - adapter->temp_devices_timeout = 0; - } - - discovery_cleanup(adapter); - - adapter->temp_devices_timeout = g_timeout_add_seconds(TEMP_DEV_TIMEOUT, - remove_temp_devices, adapter); -} - -static void discovery_disconnect(DBusConnection *conn, void *user_data) -{ - struct discovery_client *client = user_data; - struct btd_adapter *adapter = client->adapter; - struct mgmt_cp_stop_discovery cp; - - DBG("owner %s", client->owner); - - adapter->discovery_list = g_slist_remove(adapter->discovery_list, - client); - - /* - * There is no need for extra cleanup of the client since that - * will be done by the destroy callback. - * - * However in case this is the last client, the discovery in - * the kernel needs to be disabled. - */ - if (adapter->discovery_list) - return; - - /* - * In the idle phase of a discovery, there is no need to stop it - * and so it is enough to send out the signal and just return. - */ - if (adapter->discovery_enable == 0x00) { - adapter->discovering = false; - g_dbus_emit_property_changed(dbus_conn, adapter->path, - ADAPTER_INTERFACE, "Discovering"); - - trigger_passive_scanning(adapter); - return; - } - - cp.type = adapter->discovery_type; - - mgmt_send(adapter->mgmt, MGMT_OP_STOP_DISCOVERY, - adapter->dev_id, sizeof(cp), &cp, - stop_discovery_complete, adapter, NULL); -} - -static DBusMessage *start_discovery(DBusConnection *conn, - DBusMessage *msg, void *user_data) -{ - struct btd_adapter *adapter = user_data; - const char *sender = dbus_message_get_sender(msg); - struct discovery_client *client; - GSList *list; - - DBG("sender %s", sender); - - if (!(adapter->current_settings & MGMT_SETTING_POWERED)) - return btd_error_not_ready(msg); - - /* - * Every client can only start one discovery, if the client - * already started a discovery then return an error. - */ - list = g_slist_find_custom(adapter->discovery_list, sender, - compare_discovery_sender); - if (list) - return btd_error_busy(msg); - - client = g_new0(struct discovery_client, 1); - - client->adapter = adapter; - client->owner = g_strdup(sender); - client->watch = g_dbus_add_disconnect_watch(dbus_conn, sender, - discovery_disconnect, client, - discovery_destroy); - - adapter->discovery_list = g_slist_prepend(adapter->discovery_list, - client); - - /* - * Just trigger the discovery here. In case an already running - * discovery in idle phase exists, it will be restarted right - * away. - */ - trigger_start_discovery(adapter, 0); - - return dbus_message_new_method_return(msg); -} - -static DBusMessage *stop_discovery(DBusConnection *conn, - DBusMessage *msg, void *user_data) -{ - struct btd_adapter *adapter = user_data; - const char *sender = dbus_message_get_sender(msg); - struct mgmt_cp_stop_discovery cp; - struct discovery_client *client; - GSList *list; - - DBG("sender %s", sender); - - if (!(adapter->current_settings & MGMT_SETTING_POWERED)) - return btd_error_not_ready(msg); - - list = g_slist_find_custom(adapter->discovery_list, sender, - compare_discovery_sender); - if (!list) - return btd_error_failed(msg, "No discovery started"); - - client = list->data; - - cp.type = adapter->discovery_type; - - /* - * The destroy function will cleanup the client information and - * also remove it from the list of discovery clients. - */ - g_dbus_remove_watch(dbus_conn, client->watch); - - /* - * As long as other discovery clients are still active, just - * return success. - */ - if (adapter->discovery_list) - return dbus_message_new_method_return(msg); - - /* - * In the idle phase of a discovery, there is no need to stop it - * and so it is enough to send out the signal and just return. - */ - if (adapter->discovery_enable == 0x00) { - adapter->discovering = false; - g_dbus_emit_property_changed(dbus_conn, adapter->path, - ADAPTER_INTERFACE, "Discovering"); - - trigger_passive_scanning(adapter); - - return dbus_message_new_method_return(msg); - } - - mgmt_send(adapter->mgmt, MGMT_OP_STOP_DISCOVERY, - adapter->dev_id, sizeof(cp), &cp, - stop_discovery_complete, adapter, NULL); - - return dbus_message_new_method_return(msg); -} - -static gboolean property_get_address(const GDBusPropertyTable *property, - DBusMessageIter *iter, void *user_data) -{ - struct btd_adapter *adapter = user_data; - char addr[18]; - const char *str = addr; - - ba2str(&adapter->bdaddr, addr); - - dbus_message_iter_append_basic(iter, DBUS_TYPE_STRING, &str); - - return TRUE; -} - -static gboolean property_get_name(const GDBusPropertyTable *property, - DBusMessageIter *iter, void *user_data) -{ - struct btd_adapter *adapter = user_data; - const char *str = adapter->system_name ? : ""; - - dbus_message_iter_append_basic(iter, DBUS_TYPE_STRING, &str); - - return TRUE; -} - -static gboolean property_get_alias(const GDBusPropertyTable *property, - DBusMessageIter *iter, void *user_data) -{ - struct btd_adapter *adapter = user_data; - const char *str; - - if (adapter->current_alias) - str = adapter->current_alias; - else if (adapter->stored_alias) - str = adapter->stored_alias; - else - str = adapter->system_name ? : ""; - - dbus_message_iter_append_basic(iter, DBUS_TYPE_STRING, &str); - - return TRUE; -} - -static void property_set_alias(const GDBusPropertyTable *property, - DBusMessageIter *iter, - GDBusPendingPropertySet id, void *user_data) -{ - struct btd_adapter *adapter = user_data; - const char *name; - int ret; - - dbus_message_iter_get_basic(iter, &name); - - if (g_str_equal(name, "") == TRUE) { - if (adapter->stored_alias == NULL) { - /* no alias set, nothing to restore */ - g_dbus_pending_property_success(id); - return; - } - - /* restore to system name */ - ret = set_name(adapter, adapter->system_name); - } else { - if (g_strcmp0(adapter->stored_alias, name) == 0) { - /* alias already set, nothing to do */ - g_dbus_pending_property_success(id); - return; - } - - /* set to alias */ - ret = set_name(adapter, name); - } - - if (ret >= 0) { - g_free(adapter->stored_alias); - - if (g_str_equal(name, "") == TRUE) - adapter->stored_alias = NULL; - else - adapter->stored_alias = g_strdup(name); - - store_adapter_info(adapter); - - g_dbus_pending_property_success(id); - return; - } - - if (ret == -EINVAL) - g_dbus_pending_property_error(id, - ERROR_INTERFACE ".InvalidArguments", - "Invalid arguments in method call"); - else - g_dbus_pending_property_error(id, ERROR_INTERFACE ".Failed", - strerror(-ret)); -} - -static gboolean property_get_class(const GDBusPropertyTable *property, - DBusMessageIter *iter, void *user_data) -{ - struct btd_adapter *adapter = user_data; - dbus_uint32_t val = adapter->dev_class; - - dbus_message_iter_append_basic(iter, DBUS_TYPE_UINT32, &val); - - return TRUE; -} - -static gboolean property_get_mode(struct btd_adapter *adapter, - uint32_t setting, DBusMessageIter *iter) -{ - dbus_bool_t enable; - - enable = (adapter->current_settings & setting) ? TRUE : FALSE; - - dbus_message_iter_append_basic(iter, DBUS_TYPE_BOOLEAN, &enable); - - return TRUE; -} - -struct property_set_data { - struct btd_adapter *adapter; - GDBusPendingPropertySet id; -}; - -static void property_set_mode_complete(uint8_t status, uint16_t length, - const void *param, void *user_data) -{ - struct property_set_data *data = user_data; - struct btd_adapter *adapter = data->adapter; - - DBG("%s (0x%02x)", mgmt_errstr(status), status); - - if (status != MGMT_STATUS_SUCCESS) { - error("Failed to set mode: %s (0x%02x)", - mgmt_errstr(status), status); - g_dbus_pending_property_error(data->id, - ERROR_INTERFACE ".Failed", - mgmt_errstr(status)); - return; - } - - g_dbus_pending_property_success(data->id); - - /* - * The parameters are idential and also the task that is - * required in both cases. So it is safe to just call the - * event handling functions here. - */ - new_settings_callback(adapter->dev_id, length, param, adapter); -} - -static void property_set_mode(struct btd_adapter *adapter, uint32_t setting, - DBusMessageIter *value, - GDBusPendingPropertySet id) -{ - struct property_set_data *data; - struct mgmt_cp_set_discoverable cp; - void *param; - dbus_bool_t enable, current_enable; - uint16_t opcode, len; - uint8_t mode; - - dbus_message_iter_get_basic(value, &enable); - - if (adapter->current_settings & setting) - current_enable = TRUE; - else - current_enable = FALSE; - - if (enable == current_enable) { - g_dbus_pending_property_success(id); - return; - } - - mode = (enable == TRUE) ? 0x01 : 0x00; - - switch (setting) { - case MGMT_SETTING_POWERED: - opcode = MGMT_OP_SET_POWERED; - param = &mode; - len = sizeof(mode); - break; - case MGMT_SETTING_DISCOVERABLE: - memset(&cp, 0, sizeof(cp)); - cp.val = mode; - cp.timeout = htobs(adapter->discoverable_timeout); - - opcode = MGMT_OP_SET_DISCOVERABLE; - param = &cp; - len = sizeof(cp); - break; - case MGMT_SETTING_PAIRABLE: - opcode = MGMT_OP_SET_PAIRABLE; - param = &mode; - len = sizeof(mode); - break; - default: - goto failed; - } - - memset(&cp, 0, sizeof(cp)); - cp.val = (enable == TRUE) ? 0x01 : 0x00; - - DBG("sending %s command for index %u", mgmt_opstr(opcode), - adapter->dev_id); - - data = g_try_new0(struct property_set_data, 1); - if (!data) - goto failed; - - data->adapter = adapter; - data->id = id; - - if (mgmt_send(adapter->mgmt, opcode, adapter->dev_id, len, param, - property_set_mode_complete, data, g_free) > 0) - return; - - g_free(data); - -failed: - error("Failed to set mode for index %u", adapter->dev_id); - - g_dbus_pending_property_error(id, ERROR_INTERFACE ".Failed", NULL); -} - -static gboolean property_get_powered(const GDBusPropertyTable *property, - DBusMessageIter *iter, void *user_data) -{ - struct btd_adapter *adapter = user_data; - - return property_get_mode(adapter, MGMT_SETTING_POWERED, iter); -} - -static void property_set_powered(const GDBusPropertyTable *property, - DBusMessageIter *iter, - GDBusPendingPropertySet id, void *user_data) -{ - struct btd_adapter *adapter = user_data; - - if (powering_down) { - g_dbus_pending_property_error(id, ERROR_INTERFACE ".Failed", - "Powering down"); - return; - } - - property_set_mode(adapter, MGMT_SETTING_POWERED, iter, id); -} - -static gboolean property_get_discoverable(const GDBusPropertyTable *property, - DBusMessageIter *iter, void *user_data) -{ - struct btd_adapter *adapter = user_data; - - return property_get_mode(adapter, MGMT_SETTING_DISCOVERABLE, iter); -} - -static void property_set_discoverable(const GDBusPropertyTable *property, - DBusMessageIter *iter, - GDBusPendingPropertySet id, void *user_data) -{ - struct btd_adapter *adapter = user_data; - - property_set_mode(adapter, MGMT_SETTING_DISCOVERABLE, iter, id); -} - -static gboolean property_get_discoverable_timeout( - const GDBusPropertyTable *property, - DBusMessageIter *iter, void *user_data) -{ - struct btd_adapter *adapter = user_data; - dbus_uint32_t value = adapter->discoverable_timeout; - - dbus_message_iter_append_basic(iter, DBUS_TYPE_UINT32, &value); - - return TRUE; -} - -static void property_set_discoverable_timeout( - const GDBusPropertyTable *property, - DBusMessageIter *iter, - GDBusPendingPropertySet id, void *user_data) -{ - struct btd_adapter *adapter = user_data; - dbus_uint32_t value; - - dbus_message_iter_get_basic(iter, &value); - - adapter->discoverable_timeout = value; - - g_dbus_pending_property_success(id); - - store_adapter_info(adapter); - - g_dbus_emit_property_changed(dbus_conn, adapter->path, - ADAPTER_INTERFACE, "DiscoverableTimeout"); - - if (adapter->current_settings & MGMT_SETTING_DISCOVERABLE) - set_discoverable(adapter, 0x01, adapter->discoverable_timeout); -} - -static gboolean property_get_pairable(const GDBusPropertyTable *property, - DBusMessageIter *iter, void *user_data) -{ - struct btd_adapter *adapter = user_data; - - return property_get_mode(adapter, MGMT_SETTING_PAIRABLE, iter); -} - -static void property_set_pairable(const GDBusPropertyTable *property, - DBusMessageIter *iter, - GDBusPendingPropertySet id, void *user_data) -{ - struct btd_adapter *adapter = user_data; - - property_set_mode(adapter, MGMT_SETTING_PAIRABLE, iter, id); -} - -static gboolean property_get_pairable_timeout( - const GDBusPropertyTable *property, - DBusMessageIter *iter, void *user_data) -{ - struct btd_adapter *adapter = user_data; - dbus_uint32_t value = adapter->pairable_timeout; - - dbus_message_iter_append_basic(iter, DBUS_TYPE_UINT32, &value); - - return TRUE; -} - -static void property_set_pairable_timeout(const GDBusPropertyTable *property, - DBusMessageIter *iter, - GDBusPendingPropertySet id, void *user_data) -{ - struct btd_adapter *adapter = user_data; - dbus_uint32_t value; - - dbus_message_iter_get_basic(iter, &value); - - adapter->pairable_timeout = value; - - g_dbus_pending_property_success(id); - - store_adapter_info(adapter); - - trigger_pairable_timeout(adapter); -} - -static gboolean property_get_discovering(const GDBusPropertyTable *property, - DBusMessageIter *iter, void *user_data) -{ - struct btd_adapter *adapter = user_data; - dbus_bool_t discovering = adapter->discovering; - - dbus_message_iter_append_basic(iter, DBUS_TYPE_BOOLEAN, &discovering); - - return TRUE; -} - -static gboolean property_get_uuids(const GDBusPropertyTable *property, - DBusMessageIter *iter, void *user_data) -{ - struct btd_adapter *adapter = user_data; - DBusMessageIter entry; - sdp_list_t *l; - - dbus_message_iter_open_container(iter, DBUS_TYPE_ARRAY, - DBUS_TYPE_STRING_AS_STRING, &entry); - - for (l = adapter->services; l != NULL; l = l->next) { - sdp_record_t *rec = l->data; - char *uuid; - - uuid = bt_uuid2string(&rec->svclass); - if (uuid == NULL) - continue; - - dbus_message_iter_append_basic(&entry, DBUS_TYPE_STRING, - &uuid); - g_free(uuid); - } - - dbus_message_iter_close_container(iter, &entry); - - return TRUE; -} - -static gboolean property_exists_modalias(const GDBusPropertyTable *property, - void *user_data) -{ - struct btd_adapter *adapter = user_data; - - return adapter->modalias ? TRUE : FALSE; -} - -static gboolean property_get_modalias(const GDBusPropertyTable *property, - DBusMessageIter *iter, void *user_data) -{ - struct btd_adapter *adapter = user_data; - const char *str = adapter->modalias ? : ""; - - dbus_message_iter_append_basic(iter, DBUS_TYPE_STRING, &str); - - return TRUE; -} - -static gint device_path_cmp(gconstpointer a, gconstpointer b) -{ - const struct btd_device *device = a; - const char *path = b; - const char *dev_path = device_get_path(device); - - return strcasecmp(dev_path, path); -} - -static DBusMessage *remove_device(DBusConnection *conn, - DBusMessage *msg, void *user_data) -{ - struct btd_adapter *adapter = user_data; - struct btd_device *device; - const char *path; - GSList *list; - - if (dbus_message_get_args(msg, NULL, DBUS_TYPE_OBJECT_PATH, &path, - DBUS_TYPE_INVALID) == FALSE) - return btd_error_invalid_args(msg); - - list = g_slist_find_custom(adapter->devices, path, device_path_cmp); - if (!list) - return btd_error_does_not_exist(msg); - - if (!(adapter->current_settings & MGMT_SETTING_POWERED)) - return btd_error_not_ready(msg); - - device = list->data; - - device_set_temporary(device, TRUE); - - if (!device_is_connected(device)) { - adapter_remove_device(adapter, device, TRUE); - return dbus_message_new_method_return(msg); - } - - device_request_disconnect(device, msg); - - return NULL; -} - -static const GDBusMethodTable adapter_methods[] = { - { GDBUS_METHOD("StartDiscovery", NULL, NULL, start_discovery) }, - { GDBUS_METHOD("StopDiscovery", NULL, NULL, stop_discovery) }, - { GDBUS_ASYNC_METHOD("RemoveDevice", - GDBUS_ARGS({ "device", "o" }), NULL, remove_device) }, - { } -}; - -static const GDBusPropertyTable adapter_properties[] = { - { "Address", "s", property_get_address }, - { "Name", "s", property_get_name }, - { "Alias", "s", property_get_alias, property_set_alias }, - { "Class", "u", property_get_class }, - { "Powered", "b", property_get_powered, property_set_powered }, - { "Discoverable", "b", property_get_discoverable, - property_set_discoverable }, - { "DiscoverableTimeout", "u", property_get_discoverable_timeout, - property_set_discoverable_timeout }, - { "Pairable", "b", property_get_pairable, property_set_pairable }, - { "PairableTimeout", "u", property_get_pairable_timeout, - property_set_pairable_timeout }, - { "Discovering", "b", property_get_discovering }, - { "UUIDs", "as", property_get_uuids }, - { "Modalias", "s", property_get_modalias, NULL, - property_exists_modalias }, - { } -}; - -struct adapter_keys { - struct btd_adapter *adapter; - GSList *keys; -}; - -static int str2buf(const char *str, uint8_t *buf, size_t blen) -{ - int i, dlen; - - if (str == NULL) - return -EINVAL; - - memset(buf, 0, blen); - - dlen = MIN((strlen(str) / 2), blen); - - for (i = 0; i < dlen; i++) - sscanf(str + (i * 2), "%02hhX", &buf[i]); - - return 0; -} - -static struct link_key_info *get_key_info(GKeyFile *key_file, const char *peer) -{ - struct link_key_info *info = NULL; - char *str; - - str = g_key_file_get_string(key_file, "LinkKey", "Key", NULL); - if (!str || strlen(str) != 34) - goto failed; - - info = g_new0(struct link_key_info, 1); - - str2ba(peer, &info->bdaddr); - str2buf(&str[2], info->key, sizeof(info->key)); - - info->type = g_key_file_get_integer(key_file, "LinkKey", "Type", NULL); - info->pin_len = g_key_file_get_integer(key_file, "LinkKey", "PINLength", - NULL); - -failed: - g_free(str); - - return info; -} - -static struct smp_ltk_info *get_ltk_info(GKeyFile *key_file, const char *peer) -{ - struct smp_ltk_info *ltk = NULL; - char *key; - char *rand = NULL; - char *type = NULL; - uint8_t bdaddr_type; - - key = g_key_file_get_string(key_file, "LongTermKey", "Key", NULL); - if (!key || strlen(key) != 34) - goto failed; - - rand = g_key_file_get_string(key_file, "LongTermKey", "Rand", NULL); - if (!rand || strlen(rand) != 18) - goto failed; - - type = g_key_file_get_string(key_file, "General", "AddressType", NULL); - if (!type) - goto failed; - - if (g_str_equal(type, "public")) - bdaddr_type = BDADDR_LE_PUBLIC; - else if (g_str_equal(type, "static")) - bdaddr_type = BDADDR_LE_RANDOM; - else - goto failed; - - ltk = g_new0(struct smp_ltk_info, 1); - - str2ba(peer, <k->bdaddr); - ltk->bdaddr_type = bdaddr_type; - str2buf(&key[2], ltk->val, sizeof(ltk->val)); - str2buf(&rand[2], ltk->rand, sizeof(ltk->rand)); - - ltk->authenticated = g_key_file_get_integer(key_file, "LongTermKey", - "Authenticated", NULL); - ltk->master = g_key_file_get_integer(key_file, "LongTermKey", "Master", - NULL); - ltk->enc_size = g_key_file_get_integer(key_file, "LongTermKey", - "EncSize", NULL); - ltk->ediv = g_key_file_get_integer(key_file, "LongTermKey", "EDiv", - NULL); - -failed: - g_free(key); - g_free(rand); - g_free(type); - - return ltk; -} - -static void load_link_keys_complete(uint8_t status, uint16_t length, - const void *param, void *user_data) -{ - struct btd_adapter *adapter = user_data; - - if (status != MGMT_STATUS_SUCCESS) { - error("Failed to load link keys for hci%u: %s (0x%02x)", - adapter->dev_id, mgmt_errstr(status), status); - return; - } - - DBG("link keys loaded for hci%u", adapter->dev_id); -} - -static void load_link_keys(struct btd_adapter *adapter, GSList *keys, - bool debug_keys) -{ - struct mgmt_cp_load_link_keys *cp; - struct mgmt_link_key_info *key; - size_t key_count, cp_size; - unsigned int id; - GSList *l; - - /* - * If the controller does not support BR/EDR operation, - * there is no point in trying to load the link keys into - * the kernel. - * - * This is an optimization for Low Energy only controllers. - */ - if (!(adapter->supported_settings & MGMT_SETTING_BREDR)) - return; - - key_count = g_slist_length(keys); - - DBG("hci%u keys %zu debug_keys %d", adapter->dev_id, key_count, - debug_keys); - - cp_size = sizeof(*cp) + (key_count * sizeof(*key)); - - cp = g_try_malloc0(cp_size); - if (cp == NULL) { - error("No memory for link keys for hci%u", adapter->dev_id); - return; - } - - /* - * Even if the list of stored keys is empty, it is important to - * load an empty list into the kernel. That way it is ensured - * that no old keys from a previous daemon are present. - * - * In addition it is also the only way to toggle the different - * behavior for debug keys. - */ - cp->debug_keys = debug_keys; - cp->key_count = htobs(key_count); - - for (l = keys, key = cp->keys; l != NULL; l = g_slist_next(l), key++) { - struct link_key_info *info = l->data; - - bacpy(&key->addr.bdaddr, &info->bdaddr); - key->addr.type = BDADDR_BREDR; - key->type = info->type; - memcpy(key->val, info->key, 16); - key->pin_len = info->pin_len; - } - - id = mgmt_send(adapter->mgmt, MGMT_OP_LOAD_LINK_KEYS, - adapter->dev_id, cp_size, cp, - load_link_keys_complete, adapter, NULL); - - g_free(cp); - - if (id == 0) - error("Failed to load link keys for hci%u", adapter->dev_id); -} - -static gboolean load_ltks_timeout(gpointer user_data) -{ - struct btd_adapter *adapter = user_data; - - error("Loading LTKs timed out for hci%u", adapter->dev_id); - - adapter->load_ltks_timeout = 0; - - mgmt_cancel(adapter->mgmt, adapter->load_ltks_id); - adapter->load_ltks_id = 0; - - return FALSE; -} - -static void load_ltks_complete(uint8_t status, uint16_t length, - const void *param, void *user_data) -{ - struct btd_adapter *adapter = user_data; - - if (status != MGMT_STATUS_SUCCESS) { - error("Failed to load LTKs for hci%u: %s (0x%02x)", - adapter->dev_id, mgmt_errstr(status), status); - } - - adapter->load_ltks_id = 0; - - g_source_remove(adapter->load_ltks_timeout); - adapter->load_ltks_timeout = 0; - - DBG("LTKs loaded for hci%u", adapter->dev_id); -} - -static void load_ltks(struct btd_adapter *adapter, GSList *keys) -{ - struct mgmt_cp_load_long_term_keys *cp; - struct mgmt_ltk_info *key; - size_t key_count, cp_size; - GSList *l; - - /* - * If the controller does not support Low Energy operation, - * there is no point in trying to load the long term keys - * into the kernel. - * - * While there is no harm in loading keys into the kernel, - * this is an optimization to avoid a confusing warning - * message when the loading of the keys timed out due to - * a kernel bug (see comment below). - */ - if (!(adapter->supported_settings & MGMT_SETTING_LE)) - return; - - key_count = g_slist_length(keys); - - DBG("hci%u keys %zu", adapter->dev_id, key_count); - - cp_size = sizeof(*cp) + (key_count * sizeof(*key)); - - cp = g_try_malloc0(cp_size); - if (cp == NULL) { - error("No memory for LTKs for hci%u", adapter->dev_id); - return; - } - - /* - * Even if the list of stored keys is empty, it is important to - * load an empty list into the kernel. That way it is ensured - * that no old keys from a previous daemon are present. - */ - cp->key_count = htobs(key_count); - - for (l = keys, key = cp->keys; l != NULL; l = g_slist_next(l), key++) { - struct smp_ltk_info *info = l->data; - - bacpy(&key->addr.bdaddr, &info->bdaddr); - key->addr.type = info->bdaddr_type; - memcpy(key->val, info->val, sizeof(info->val)); - memcpy(key->rand, info->rand, sizeof(info->rand)); - memcpy(&key->ediv, &info->ediv, sizeof(key->ediv)); - key->authenticated = info->authenticated; - key->master = info->master; - key->enc_size = info->enc_size; - } - - adapter->load_ltks_id = mgmt_send(adapter->mgmt, - MGMT_OP_LOAD_LONG_TERM_KEYS, - adapter->dev_id, cp_size, cp, - load_ltks_complete, adapter, NULL); - - g_free(cp); - - if (adapter->load_ltks_id == 0) { - error("Failed to load LTKs for hci%u", adapter->dev_id); - return; - } - - /* - * This timeout handling is needed since the kernel is stupid - * and forgets to send a command complete response. However in - * case of failures it does send a command status. - */ - adapter->load_ltks_timeout = g_timeout_add_seconds(2, - load_ltks_timeout, adapter); -} - -static void load_devices(struct btd_adapter *adapter) -{ - char filename[PATH_MAX + 1]; - char srcaddr[18]; - struct adapter_keys keys = { adapter, NULL }; - struct adapter_keys ltks = { adapter, NULL }; - DIR *dir; - struct dirent *entry; - - ba2str(&adapter->bdaddr, srcaddr); - - snprintf(filename, PATH_MAX, STORAGEDIR "/%s", srcaddr); - filename[PATH_MAX] = '\0'; - - dir = opendir(filename); - if (!dir) { - error("Unable to open adapter storage directory: %s", filename); - return; - } - - while ((entry = readdir(dir)) != NULL) { - struct btd_device *device; - char filename[PATH_MAX + 1]; - GKeyFile *key_file; - struct link_key_info *key_info; - struct smp_ltk_info *ltk_info; - GSList *list; - - if (entry->d_type != DT_DIR || bachk(entry->d_name) < 0) - continue; - - snprintf(filename, PATH_MAX, STORAGEDIR "/%s/%s/info", srcaddr, - entry->d_name); - - key_file = g_key_file_new(); - g_key_file_load_from_file(key_file, filename, 0, NULL); - - key_info = get_key_info(key_file, entry->d_name); - if (key_info) - keys.keys = g_slist_append(keys.keys, key_info); - - ltk_info = get_ltk_info(key_file, entry->d_name); - if (ltk_info) - ltks.keys = g_slist_append(ltks.keys, ltk_info); - - list = g_slist_find_custom(adapter->devices, entry->d_name, - device_address_cmp); - if (list) { - device = list->data; - goto device_exist; - } - - device = device_create_from_storage(adapter, entry->d_name, - key_file); - if (!device) - goto free; - - device_set_temporary(device, FALSE); - adapter->devices = g_slist_append(adapter->devices, device); - - /* TODO: register services from pre-loaded list of primaries */ - - list = device_get_uuids(device); - if (list) - device_probe_profiles(device, list); - -device_exist: - if (key_info || ltk_info) { - device_set_paired(device, TRUE); - device_set_bonded(device, TRUE); - } - -free: - g_key_file_free(key_file); - } - - closedir(dir); - - load_link_keys(adapter, keys.keys, main_opts.debug_keys); - g_slist_free_full(keys.keys, g_free); - - load_ltks(adapter, ltks.keys); - g_slist_free_full(ltks.keys, g_free); -} - -int btd_adapter_block_address(struct btd_adapter *adapter, - const bdaddr_t *bdaddr, uint8_t bdaddr_type) -{ - struct mgmt_cp_block_device cp; - char addr[18]; - - ba2str(bdaddr, addr); - DBG("hci%u %s", adapter->dev_id, addr); - - memset(&cp, 0, sizeof(cp)); - bacpy(&cp.addr.bdaddr, bdaddr); - cp.addr.type = bdaddr_type; - - if (mgmt_send(adapter->mgmt, MGMT_OP_BLOCK_DEVICE, - adapter->dev_id, sizeof(cp), &cp, - NULL, NULL, NULL) > 0) - return 0; - - return -EIO; -} - -int btd_adapter_unblock_address(struct btd_adapter *adapter, - const bdaddr_t *bdaddr, uint8_t bdaddr_type) -{ - struct mgmt_cp_unblock_device cp; - char addr[18]; - - ba2str(bdaddr, addr); - DBG("hci%u %s", adapter->dev_id, addr); - - memset(&cp, 0, sizeof(cp)); - bacpy(&cp.addr.bdaddr, bdaddr); - cp.addr.type = bdaddr_type; - - if (mgmt_send(adapter->mgmt, MGMT_OP_UNBLOCK_DEVICE, - adapter->dev_id, sizeof(cp), &cp, - NULL, NULL, NULL) > 0) - return 0; - - return -EIO; -} - -static int clear_blocked(struct btd_adapter *adapter) -{ - return btd_adapter_unblock_address(adapter, BDADDR_ANY, 0); -} - -static void probe_driver(struct btd_adapter *adapter, gpointer user_data) -{ - struct btd_adapter_driver *driver = user_data; - int err; - - if (driver->probe == NULL) - return; - - err = driver->probe(adapter); - if (err < 0) { - error("%s: %s (%d)", driver->name, strerror(-err), -err); - return; - } - - adapter->drivers = g_slist_prepend(adapter->drivers, driver); -} - -static void load_drivers(struct btd_adapter *adapter) -{ - GSList *l; - - for (l = adapter_drivers; l; l = l->next) - probe_driver(adapter, l->data); -} - -static void probe_profile(struct btd_profile *profile, void *data) -{ - struct btd_adapter *adapter = data; - int err; - - if (profile->adapter_probe == NULL) - return; - - err = profile->adapter_probe(profile, adapter); - if (err < 0) { - error("%s: %s (%d)", profile->name, strerror(-err), -err); - return; - } - - adapter->profiles = g_slist_prepend(adapter->profiles, profile); -} - -void adapter_add_profile(struct btd_adapter *adapter, gpointer p) -{ - struct btd_profile *profile = p; - - if (!adapter->initialized) - return; - - probe_profile(profile, adapter); - - g_slist_foreach(adapter->devices, device_probe_profile, profile); -} - -void adapter_remove_profile(struct btd_adapter *adapter, gpointer p) -{ - struct btd_profile *profile = p; - - if (!adapter->initialized) - return; - - if (profile->device_remove) - g_slist_foreach(adapter->devices, device_remove_profile, p); - - adapter->profiles = g_slist_remove(adapter->profiles, profile); - - if (profile->adapter_remove) - profile->adapter_remove(profile, adapter); -} - -static void adapter_add_connection(struct btd_adapter *adapter, - struct btd_device *device) -{ - if (g_slist_find(adapter->connections, device)) { - error("Device is already marked as connected"); - return; - } - - device_add_connection(device); - - adapter->connections = g_slist_append(adapter->connections, device); -} - -static void get_connections_complete(uint8_t status, uint16_t length, - const void *param, void *user_data) -{ - struct btd_adapter *adapter = user_data; - const struct mgmt_rp_get_connections *rp = param; - uint16_t i, conn_count; - - if (status != MGMT_STATUS_SUCCESS) { - error("Failed to get connections: %s (0x%02x)", - mgmt_errstr(status), status); - return; - } - - if (length < sizeof(*rp)) { - error("Wrong size of get connections response"); - return; - } - - conn_count = btohs(rp->conn_count); - - DBG("Connection count: %d", conn_count); - - if (conn_count * sizeof(struct mgmt_addr_info) + - sizeof(*rp) != length) { - error("Incorrect packet size for get connections response"); - return; - } - - for (i = 0; i < conn_count; i++) { - const struct mgmt_addr_info *addr = &rp->addr[i]; - struct btd_device *device; - char address[18]; - - ba2str(&addr->bdaddr, address); - DBG("Adding existing connection to %s", address); - - device = adapter_get_device(adapter, &addr->bdaddr, addr->type); - if (device) - adapter_add_connection(adapter, device); - } -} - -static void load_connections(struct btd_adapter *adapter) -{ - DBG("sending get connections command for index %u", adapter->dev_id); - - if (mgmt_send(adapter->mgmt, MGMT_OP_GET_CONNECTIONS, - adapter->dev_id, 0, NULL, - get_connections_complete, adapter, NULL) > 0) - return; - - error("Failed to get connections for index %u", adapter->dev_id); -} - -bool btd_adapter_get_pairable(struct btd_adapter *adapter) -{ - if (adapter->current_settings & MGMT_SETTING_PAIRABLE) - return true; - - return false; -} - -bool btd_adapter_get_powered(struct btd_adapter *adapter) -{ - if (adapter->current_settings & MGMT_SETTING_POWERED) - return true; - - return false; -} - -bool btd_adapter_get_connectable(struct btd_adapter *adapter) -{ - if (adapter->current_settings & MGMT_SETTING_CONNECTABLE) - return true; - - return false; -} - -uint32_t btd_adapter_get_class(struct btd_adapter *adapter) -{ - return adapter->dev_class; -} - -const char *btd_adapter_get_name(struct btd_adapter *adapter) -{ - if (adapter->stored_alias) - return adapter->stored_alias; - - if (adapter->system_name) - return adapter->system_name; - - return NULL; -} - -int adapter_connect_list_add(struct btd_adapter *adapter, - struct btd_device *device) -{ - /* - * If the adapter->connect_le device is getting added back to - * the connect list it probably means that the connect attempt - * failed and hence we should clear this pointer - */ - if (device == adapter->connect_le) - adapter->connect_le = NULL; - - if (g_slist_find(adapter->connect_list, device)) { - DBG("ignoring already added device %s", - device_get_path(device)); - return 0; - } - - if (!(adapter->supported_settings & MGMT_SETTING_LE)) { - error("Can't add %s to non-LE capable adapter connect list", - device_get_path(device)); - return -ENOTSUP; - } - - adapter->connect_list = g_slist_append(adapter->connect_list, device); - DBG("%s added to %s's connect_list", device_get_path(device), - adapter->system_name); - - if (!(adapter->current_settings & MGMT_SETTING_POWERED)) - return 0; - - trigger_passive_scanning(adapter); - - return 0; -} - -void adapter_connect_list_remove(struct btd_adapter *adapter, - struct btd_device *device) -{ - /* - * If the adapter->connect_le device is being removed from the - * connect list it means the connection was successful and hence - * the pointer should be cleared - */ - if (device == adapter->connect_le) - adapter->connect_le = NULL; - - if (!g_slist_find(adapter->connect_list, device)) { - DBG("device %s is not on the list, ignoring", - device_get_path(device)); - return; - } - - adapter->connect_list = g_slist_remove(adapter->connect_list, device); - DBG("%s removed from %s's connect_list", device_get_path(device), - adapter->system_name); - - if (!adapter->connect_list) { - stop_passive_scanning(adapter); - return; - } - - if (!(adapter->current_settings & MGMT_SETTING_POWERED)) - return; - - trigger_passive_scanning(adapter); -} - -static void adapter_start(struct btd_adapter *adapter) -{ - g_dbus_emit_property_changed(dbus_conn, adapter->path, - ADAPTER_INTERFACE, "Powered"); - - DBG("adapter %s has been enabled", adapter->path); - - trigger_passive_scanning(adapter); -} - -static void reply_pending_requests(struct btd_adapter *adapter) -{ - GSList *l; - - if (!adapter) - return; - - /* pending bonding */ - for (l = adapter->devices; l; l = l->next) { - struct btd_device *device = l->data; - - if (device_is_bonding(device, NULL)) - device_bonding_failed(device, - HCI_OE_USER_ENDED_CONNECTION); - } -} - -static void remove_driver(gpointer data, gpointer user_data) -{ - struct btd_adapter_driver *driver = data; - struct btd_adapter *adapter = user_data; - - if (driver->remove) - driver->remove(adapter); -} - -static void remove_profile(gpointer data, gpointer user_data) -{ - struct btd_profile *profile = data; - struct btd_adapter *adapter = user_data; - - if (profile->adapter_remove) - profile->adapter_remove(profile, adapter); -} - -static void unload_drivers(struct btd_adapter *adapter) -{ - g_slist_foreach(adapter->drivers, remove_driver, adapter); - g_slist_free(adapter->drivers); - adapter->drivers = NULL; - - g_slist_foreach(adapter->profiles, remove_profile, adapter); - g_slist_free(adapter->profiles); - adapter->profiles = NULL; -} - -static void free_service_auth(gpointer data, gpointer user_data) -{ - struct service_auth *auth = data; - - g_free(auth); -} - -static void adapter_free(gpointer user_data) -{ - struct btd_adapter *adapter = user_data; - - DBG("%p", adapter); - - if (adapter->load_ltks_timeout > 0) - g_source_remove(adapter->load_ltks_timeout); - - if (adapter->confirm_name_timeout > 0) - g_source_remove(adapter->confirm_name_timeout); - - if (adapter->pair_device_timeout > 0) - g_source_remove(adapter->pair_device_timeout); - - if (adapter->auth_idle_id) - g_source_remove(adapter->auth_idle_id); - - g_queue_foreach(adapter->auths, free_service_auth, NULL); - g_queue_free(adapter->auths); - - /* - * Unregister all handlers for this specific index since - * the adapter bound to them is no longer valid. - * - * This also avoids having multiple instances of the same - * handler in case indexes got removed and re-added. - */ - mgmt_unregister_index(adapter->mgmt, adapter->dev_id); - - /* - * Cancel all pending commands for this specific index - * since the adapter bound to them is no longer valid. - */ - mgmt_cancel_index(adapter->mgmt, adapter->dev_id); - - mgmt_unref(adapter->mgmt); - - sdp_list_free(adapter->services, NULL); - - g_slist_free(adapter->connections); - - g_free(adapter->path); - g_free(adapter->name); - g_free(adapter->short_name); - g_free(adapter->system_name); - g_free(adapter->stored_alias); - g_free(adapter->current_alias); - g_free(adapter->modalias); - g_free(adapter); -} - -struct btd_adapter *btd_adapter_ref(struct btd_adapter *adapter) -{ - __sync_fetch_and_add(&adapter->ref_count, 1); - - return adapter; -} - -void btd_adapter_unref(struct btd_adapter *adapter) -{ - if (__sync_sub_and_fetch(&adapter->ref_count, 1)) - return; - - if (!adapter->path) { - DBG("Freeing adapter %u", adapter->dev_id); - - adapter_free(adapter); - return; - } - - DBG("Freeing adapter %s", adapter->path); - - g_dbus_unregister_interface(dbus_conn, adapter->path, - ADAPTER_INTERFACE); -} - -static void convert_names_entry(char *key, char *value, void *user_data) -{ - char *address = user_data; - char *str = key; - bdaddr_t local, peer; - - if (strchr(key, '#')) - str[17] = '\0'; - - if (bachk(str) != 0) - return; - - str2ba(address, &local); - str2ba(str, &peer); - adapter_store_cached_name(&local, &peer, value); -} - -struct device_converter { - char *address; - void (*cb)(GKeyFile *key_file, void *value); - gboolean force; -}; - -static void set_device_type(GKeyFile *key_file, char type) -{ - char *techno; - char *addr_type = NULL; - char *str; - - switch (type) { - case BDADDR_BREDR: - techno = "BR/EDR"; - break; - case BDADDR_LE_PUBLIC: - techno = "LE"; - addr_type = "public"; - break; - case BDADDR_LE_RANDOM: - techno = "LE"; - addr_type = "static"; - break; - default: - return; - } - - str = g_key_file_get_string(key_file, "General", - "SupportedTechnologies", NULL); - if (!str) - g_key_file_set_string(key_file, "General", - "SupportedTechnologies", techno); - else if (!strstr(str, techno)) - g_key_file_set_string(key_file, "General", - "SupportedTechnologies", "BR/EDR;LE"); - - g_free(str); - - if (addr_type) - g_key_file_set_string(key_file, "General", "AddressType", - addr_type); -} - -static void convert_aliases_entry(GKeyFile *key_file, void *value) -{ - g_key_file_set_string(key_file, "General", "Alias", value); -} - -static void convert_trusts_entry(GKeyFile *key_file, void *value) -{ - g_key_file_set_boolean(key_file, "General", "Trusted", TRUE); -} - -static void convert_classes_entry(GKeyFile *key_file, void *value) -{ - g_key_file_set_string(key_file, "General", "Class", value); -} - -static void convert_blocked_entry(GKeyFile *key_file, void *value) -{ - g_key_file_set_boolean(key_file, "General", "Blocked", TRUE); -} - -static void convert_did_entry(GKeyFile *key_file, void *value) -{ - char *vendor_str, *product_str, *version_str; - uint16_t val; - - vendor_str = strchr(value, ' '); - if (!vendor_str) - return; - - *(vendor_str++) = 0; - - if (g_str_equal(value, "FFFF")) - return; - - product_str = strchr(vendor_str, ' '); - if (!product_str) - return; - - *(product_str++) = 0; - - version_str = strchr(product_str, ' '); - if (!version_str) - return; - - *(version_str++) = 0; - - val = (uint16_t) strtol(value, NULL, 16); - g_key_file_set_integer(key_file, "DeviceID", "Source", val); - - val = (uint16_t) strtol(vendor_str, NULL, 16); - g_key_file_set_integer(key_file, "DeviceID", "Vendor", val); - - val = (uint16_t) strtol(product_str, NULL, 16); - g_key_file_set_integer(key_file, "DeviceID", "Product", val); - - val = (uint16_t) strtol(version_str, NULL, 16); - g_key_file_set_integer(key_file, "DeviceID", "Version", val); -} - -static void convert_linkkey_entry(GKeyFile *key_file, void *value) -{ - char *type_str, *length_str, *str; - gint val; - - type_str = strchr(value, ' '); - if (!type_str) - return; - - *(type_str++) = 0; - - length_str = strchr(type_str, ' '); - if (!length_str) - return; - - *(length_str++) = 0; - - str = g_strconcat("0x", value, NULL); - g_key_file_set_string(key_file, "LinkKey", "Key", str); - g_free(str); - - val = strtol(type_str, NULL, 16); - g_key_file_set_integer(key_file, "LinkKey", "Type", val); - - val = strtol(length_str, NULL, 16); - g_key_file_set_integer(key_file, "LinkKey", "PINLength", val); -} - -static void convert_ltk_entry(GKeyFile *key_file, void *value) -{ - char *auth_str, *rand_str, *str; - int i, ret; - unsigned char auth, master, enc_size; - unsigned short ediv; - - auth_str = strchr(value, ' '); - if (!auth_str) - return; - - *(auth_str++) = 0; - - for (i = 0, rand_str = auth_str; i < 4; i++) { - rand_str = strchr(rand_str, ' '); - if (!rand_str || rand_str[1] == '\0') - return; - - rand_str++; - } - - ret = sscanf(auth_str, " %hhd %hhd %hhd %hd", &auth, &master, - &enc_size, &ediv); - if (ret < 4) - return; - - str = g_strconcat("0x", value, NULL); - g_key_file_set_string(key_file, "LongTermKey", "Key", str); - g_free(str); - - g_key_file_set_integer(key_file, "LongTermKey", "Authenticated", auth); - g_key_file_set_integer(key_file, "LongTermKey", "Master", master); - g_key_file_set_integer(key_file, "LongTermKey", "EncSize", enc_size); - g_key_file_set_integer(key_file, "LongTermKey", "EDiv", ediv); - - str = g_strconcat("0x", rand_str, NULL); - g_key_file_set_string(key_file, "LongTermKey", "Rand", str); - g_free(str); -} - -static void convert_profiles_entry(GKeyFile *key_file, void *value) -{ - g_strdelimit(value, " ", ';'); - g_key_file_set_string(key_file, "General", "Services", value); -} - -static void convert_appearances_entry(GKeyFile *key_file, void *value) -{ - g_key_file_set_string(key_file, "General", "Appearance", value); -} - -static void convert_entry(char *key, char *value, void *user_data) -{ - struct device_converter *converter = user_data; - char type = BDADDR_BREDR; - char filename[PATH_MAX + 1]; - GKeyFile *key_file; - char *data; - gsize length = 0; - - if (strchr(key, '#')) { - key[17] = '\0'; - type = key[18] - '0'; - } - - if (bachk(key) != 0) - return; - - if (converter->force == FALSE) { - struct stat st; - int err; - - snprintf(filename, PATH_MAX, STORAGEDIR "/%s/%s", - converter->address, key); - filename[PATH_MAX] = '\0'; - - err = stat(filename, &st); - if (err || !S_ISDIR(st.st_mode)) - return; - } - - snprintf(filename, PATH_MAX, STORAGEDIR "/%s/%s/info", - converter->address, key); - filename[PATH_MAX] = '\0'; - - key_file = g_key_file_new(); - g_key_file_load_from_file(key_file, filename, 0, NULL); - - set_device_type(key_file, type); - - converter->cb(key_file, value); - - data = g_key_file_to_data(key_file, &length, NULL); - if (length > 0) { - create_file(filename, S_IRUSR | S_IWUSR); - g_file_set_contents(filename, data, length, NULL); - } - - g_free(data); - - g_key_file_free(key_file); -} - -static void convert_file(char *file, char *address, - void (*cb)(GKeyFile *key_file, void *value), - gboolean force) -{ - char filename[PATH_MAX + 1]; - struct device_converter converter; - - snprintf(filename, PATH_MAX, STORAGEDIR "/%s/%s", address, file); - filename[PATH_MAX] = '\0'; - - converter.address = address; - converter.cb = cb; - converter.force = force; - - textfile_foreach(filename, convert_entry, &converter); -} - -static gboolean record_has_uuid(const sdp_record_t *rec, - const char *profile_uuid) -{ - sdp_list_t *pat; - - for (pat = rec->pattern; pat != NULL; pat = pat->next) { - char *uuid; - int ret; - - uuid = bt_uuid2string(pat->data); - if (!uuid) - continue; - - ret = strcasecmp(uuid, profile_uuid); - - g_free(uuid); - - if (ret == 0) - return TRUE; - } - - return FALSE; -} - -static void store_attribute_uuid(GKeyFile *key_file, uint16_t start, - uint16_t end, char *att_uuid, - uuid_t uuid) -{ - char handle[6], uuid_str[33]; - int i; - - switch (uuid.type) { - case SDP_UUID16: - sprintf(uuid_str, "%4.4X", uuid.value.uuid16); - break; - case SDP_UUID32: - sprintf(uuid_str, "%8.8X", uuid.value.uuid32); - break; - case SDP_UUID128: - for (i = 0; i < 16; i++) - sprintf(uuid_str + (i * 2), "%2.2X", - uuid.value.uuid128.data[i]); - break; - default: - uuid_str[0] = '\0'; - } - - sprintf(handle, "%hu", start); - g_key_file_set_string(key_file, handle, "UUID", att_uuid); - g_key_file_set_string(key_file, handle, "Value", uuid_str); - g_key_file_set_integer(key_file, handle, "EndGroupHandle", end); -} - -static void store_sdp_record(char *local, char *peer, int handle, char *value) -{ - char filename[PATH_MAX + 1]; - GKeyFile *key_file; - char handle_str[11]; - char *data; - gsize length = 0; - - snprintf(filename, PATH_MAX, STORAGEDIR "/%s/cache/%s", local, peer); - filename[PATH_MAX] = '\0'; - - key_file = g_key_file_new(); - g_key_file_load_from_file(key_file, filename, 0, NULL); - - sprintf(handle_str, "0x%8.8X", handle); - g_key_file_set_string(key_file, "ServiceRecords", handle_str, value); - - data = g_key_file_to_data(key_file, &length, NULL); - if (length > 0) { - create_file(filename, S_IRUSR | S_IWUSR); - g_file_set_contents(filename, data, length, NULL); - } - - g_free(data); - - g_key_file_free(key_file); -} - -static void convert_sdp_entry(char *key, char *value, void *user_data) -{ - char *src_addr = user_data; - char dst_addr[18]; - char type = BDADDR_BREDR; - int handle, ret; - char filename[PATH_MAX + 1]; - GKeyFile *key_file; - struct stat st; - sdp_record_t *rec; - uuid_t uuid; - char *att_uuid, *prim_uuid; - uint16_t start = 0, end = 0, psm = 0; - int err; - char *data; - gsize length = 0; - - ret = sscanf(key, "%17s#%hhu#%08X", dst_addr, &type, &handle); - if (ret < 3) { - ret = sscanf(key, "%17s#%08X", dst_addr, &handle); - if (ret < 2) - return; - } - - if (bachk(dst_addr) != 0) - return; - - /* Check if the device directory has been created as records should - * only be converted for known devices */ - snprintf(filename, PATH_MAX, STORAGEDIR "/%s/%s", src_addr, dst_addr); - filename[PATH_MAX] = '\0'; - - err = stat(filename, &st); - if (err || !S_ISDIR(st.st_mode)) - return; - - /* store device records in cache */ - store_sdp_record(src_addr, dst_addr, handle, value); - - /* Retrieve device record and check if there is an - * attribute entry in it */ - sdp_uuid16_create(&uuid, ATT_UUID); - att_uuid = bt_uuid2string(&uuid); - - sdp_uuid16_create(&uuid, GATT_PRIM_SVC_UUID); - prim_uuid = bt_uuid2string(&uuid); - - rec = record_from_string(value); - - if (record_has_uuid(rec, att_uuid)) - goto failed; - - if (!gatt_parse_record(rec, &uuid, &psm, &start, &end)) - goto failed; - - snprintf(filename, PATH_MAX, STORAGEDIR "/%s/%s/attributes", src_addr, - dst_addr); - filename[PATH_MAX] = '\0'; - - key_file = g_key_file_new(); - g_key_file_load_from_file(key_file, filename, 0, NULL); - - store_attribute_uuid(key_file, start, end, prim_uuid, uuid); - - data = g_key_file_to_data(key_file, &length, NULL); - if (length > 0) { - create_file(filename, S_IRUSR | S_IWUSR); - g_file_set_contents(filename, data, length, NULL); - } - - g_free(data); - g_key_file_free(key_file); - -failed: - sdp_record_free(rec); - g_free(prim_uuid); - g_free(att_uuid); -} - -static void convert_primaries_entry(char *key, char *value, void *user_data) -{ - char *address = user_data; - int device_type = -1; - uuid_t uuid; - char **services, **service, *prim_uuid; - char filename[PATH_MAX + 1]; - GKeyFile *key_file; - int ret; - uint16_t start, end; - char uuid_str[MAX_LEN_UUID_STR + 1]; - char *data; - gsize length = 0; - - if (strchr(key, '#')) { - key[17] = '\0'; - device_type = key[18] - '0'; - } - - if (bachk(key) != 0) - return; - - services = g_strsplit(value, " ", 0); - if (services == NULL) - return; - - sdp_uuid16_create(&uuid, GATT_PRIM_SVC_UUID); - prim_uuid = bt_uuid2string(&uuid); - - snprintf(filename, PATH_MAX, STORAGEDIR "/%s/%s/attributes", address, - key); - filename[PATH_MAX] = '\0'; - - key_file = g_key_file_new(); - g_key_file_load_from_file(key_file, filename, 0, NULL); - - for (service = services; *service; service++) { - ret = sscanf(*service, "%04hX#%04hX#%s", &start, &end, - uuid_str); - if (ret < 3) - continue; - - bt_string2uuid(&uuid, uuid_str); - sdp_uuid128_to_uuid(&uuid); - - store_attribute_uuid(key_file, start, end, prim_uuid, uuid); - } - - g_strfreev(services); - - data = g_key_file_to_data(key_file, &length, NULL); - if (length == 0) - goto end; - - create_file(filename, S_IRUSR | S_IWUSR); - g_file_set_contents(filename, data, length, NULL); - - if (device_type < 0) - goto end; - - g_free(data); - g_key_file_free(key_file); - - snprintf(filename, PATH_MAX, STORAGEDIR "/%s/%s/info", address, key); - filename[PATH_MAX] = '\0'; - - key_file = g_key_file_new(); - g_key_file_load_from_file(key_file, filename, 0, NULL); - set_device_type(key_file, device_type); - - data = g_key_file_to_data(key_file, &length, NULL); - if (length > 0) { - create_file(filename, S_IRUSR | S_IWUSR); - g_file_set_contents(filename, data, length, NULL); - } - -end: - g_free(data); - g_free(prim_uuid); - g_key_file_free(key_file); -} - -static void convert_ccc_entry(char *key, char *value, void *user_data) -{ - char *src_addr = user_data; - char dst_addr[18]; - char type = BDADDR_BREDR; - int handle, ret; - char filename[PATH_MAX + 1]; - GKeyFile *key_file; - struct stat st; - int err; - char group[6]; - char *data; - gsize length = 0; - - ret = sscanf(key, "%17s#%hhu#%04X", dst_addr, &type, &handle); - if (ret < 3) - return; - - if (bachk(dst_addr) != 0) - return; - - /* Check if the device directory has been created as records should - * only be converted for known devices */ - snprintf(filename, PATH_MAX, STORAGEDIR "/%s/%s", src_addr, dst_addr); - filename[PATH_MAX] = '\0'; - - err = stat(filename, &st); - if (err || !S_ISDIR(st.st_mode)) - return; - - snprintf(filename, PATH_MAX, STORAGEDIR "/%s/%s/ccc", src_addr, - dst_addr); - filename[PATH_MAX] = '\0'; - - key_file = g_key_file_new(); - g_key_file_load_from_file(key_file, filename, 0, NULL); - - sprintf(group, "%hu", handle); - g_key_file_set_string(key_file, group, "Value", value); - - data = g_key_file_to_data(key_file, &length, NULL); - if (length > 0) { - create_file(filename, S_IRUSR | S_IWUSR); - g_file_set_contents(filename, data, length, NULL); - } - - g_free(data); - g_key_file_free(key_file); -} - -static void convert_gatt_entry(char *key, char *value, void *user_data) -{ - char *src_addr = user_data; - char dst_addr[18]; - char type = BDADDR_BREDR; - int handle, ret; - char filename[PATH_MAX + 1]; - GKeyFile *key_file; - struct stat st; - int err; - char group[6]; - char *data; - gsize length = 0; - - ret = sscanf(key, "%17s#%hhu#%04X", dst_addr, &type, &handle); - if (ret < 3) - return; - - if (bachk(dst_addr) != 0) - return; - - /* Check if the device directory has been created as records should - * only be converted for known devices */ - snprintf(filename, PATH_MAX, STORAGEDIR "/%s/%s", src_addr, dst_addr); - filename[PATH_MAX] = '\0'; - - err = stat(filename, &st); - if (err || !S_ISDIR(st.st_mode)) - return; - - snprintf(filename, PATH_MAX, STORAGEDIR "/%s/%s/gatt", src_addr, - dst_addr); - filename[PATH_MAX] = '\0'; - - key_file = g_key_file_new(); - g_key_file_load_from_file(key_file, filename, 0, NULL); - - sprintf(group, "%hu", handle); - g_key_file_set_string(key_file, group, "Value", value); - - data = g_key_file_to_data(key_file, &length, NULL); - if (length > 0) { - create_file(filename, S_IRUSR | S_IWUSR); - g_file_set_contents(filename, data, length, NULL); - } - - g_free(data); - g_key_file_free(key_file); -} - -static void convert_proximity_entry(char *key, char *value, void *user_data) -{ - char *src_addr = user_data; - char *alert; - char filename[PATH_MAX + 1]; - GKeyFile *key_file; - struct stat st; - int err; - char *data; - gsize length = 0; - - if (!strchr(key, '#')) - return; - - key[17] = '\0'; - alert = &key[18]; - - if (bachk(key) != 0) - return; - - /* Check if the device directory has been created as records should - * only be converted for known devices */ - snprintf(filename, PATH_MAX, STORAGEDIR "/%s/%s", src_addr, key); - filename[PATH_MAX] = '\0'; - - err = stat(filename, &st); - if (err || !S_ISDIR(st.st_mode)) - return; - - snprintf(filename, PATH_MAX, STORAGEDIR "/%s/%s/proximity", src_addr, - key); - filename[PATH_MAX] = '\0'; - - key_file = g_key_file_new(); - g_key_file_load_from_file(key_file, filename, 0, NULL); - - g_key_file_set_string(key_file, alert, "Level", value); - - data = g_key_file_to_data(key_file, &length, NULL); - if (length > 0) { - create_file(filename, S_IRUSR | S_IWUSR); - g_file_set_contents(filename, data, length, NULL); - } - - g_free(data); - g_key_file_free(key_file); -} - -static void convert_device_storage(struct btd_adapter *adapter) -{ - char filename[PATH_MAX + 1]; - char address[18]; - - ba2str(&adapter->bdaddr, address); - - /* Convert device's name cache */ - snprintf(filename, PATH_MAX, STORAGEDIR "/%s/names", address); - filename[PATH_MAX] = '\0'; - textfile_foreach(filename, convert_names_entry, address); - - /* Convert aliases */ - convert_file("aliases", address, convert_aliases_entry, TRUE); - - /* Convert trusts */ - convert_file("trusts", address, convert_trusts_entry, TRUE); - - /* Convert blocked */ - convert_file("blocked", address, convert_blocked_entry, TRUE); - - /* Convert profiles */ - convert_file("profiles", address, convert_profiles_entry, TRUE); - - /* Convert primaries */ - snprintf(filename, PATH_MAX, STORAGEDIR "/%s/primaries", address); - filename[PATH_MAX] = '\0'; - textfile_foreach(filename, convert_primaries_entry, address); - - /* Convert linkkeys */ - convert_file("linkkeys", address, convert_linkkey_entry, TRUE); - - /* Convert longtermkeys */ - convert_file("longtermkeys", address, convert_ltk_entry, TRUE); - - /* Convert classes */ - convert_file("classes", address, convert_classes_entry, FALSE); - - /* Convert device ids */ - convert_file("did", address, convert_did_entry, FALSE); - - /* Convert sdp */ - snprintf(filename, PATH_MAX, STORAGEDIR "/%s/sdp", address); - filename[PATH_MAX] = '\0'; - textfile_foreach(filename, convert_sdp_entry, address); - - /* Convert ccc */ - snprintf(filename, PATH_MAX, STORAGEDIR "/%s/ccc", address); - filename[PATH_MAX] = '\0'; - textfile_foreach(filename, convert_ccc_entry, address); - - /* Convert appearances */ - convert_file("appearances", address, convert_appearances_entry, FALSE); - - /* Convert gatt */ - snprintf(filename, PATH_MAX, STORAGEDIR "/%s/gatt", address); - filename[PATH_MAX] = '\0'; - textfile_foreach(filename, convert_gatt_entry, address); - - /* Convert proximity */ - snprintf(filename, PATH_MAX, STORAGEDIR "/%s/proximity", address); - filename[PATH_MAX] = '\0'; - textfile_foreach(filename, convert_proximity_entry, address); -} - -static void convert_config(struct btd_adapter *adapter, const char *filename, - GKeyFile *key_file) -{ - char address[18]; - char str[MAX_NAME_LENGTH + 1]; - char config_path[PATH_MAX + 1]; - int timeout; - uint8_t mode; - char *data; - gsize length = 0; - - ba2str(&adapter->bdaddr, address); - snprintf(config_path, PATH_MAX, STORAGEDIR "/%s/config", address); - config_path[PATH_MAX] = '\0'; - - if (read_pairable_timeout(address, &timeout) == 0) - g_key_file_set_integer(key_file, "General", - "PairableTimeout", timeout); - - if (read_discoverable_timeout(address, &timeout) == 0) - g_key_file_set_integer(key_file, "General", - "DiscoverableTimeout", timeout); - - if (read_on_mode(address, str, sizeof(str)) == 0) { - mode = get_mode(str); - g_key_file_set_boolean(key_file, "General", "Discoverable", - mode == MODE_DISCOVERABLE); - } - - if (read_local_name(&adapter->bdaddr, str) == 0) - g_key_file_set_string(key_file, "General", "Alias", str); - - create_file(filename, S_IRUSR | S_IWUSR); - - data = g_key_file_to_data(key_file, &length, NULL); - g_file_set_contents(filename, data, length, NULL); - g_free(data); -} - -static void fix_storage(struct btd_adapter *adapter) -{ - char filename[PATH_MAX + 1]; - char address[18]; - char *converted; - - ba2str(&adapter->bdaddr, address); - - snprintf(filename, PATH_MAX, STORAGEDIR "/%s/config", address); - filename[PATH_MAX] = '\0'; - converted = textfile_get(filename, "converted"); - if (!converted) - return; - - free(converted); - - textfile_del(filename, "converted"); - - snprintf(filename, PATH_MAX, STORAGEDIR "/%s/names", address); - filename[PATH_MAX] = '\0'; - textfile_del(filename, "converted"); - - snprintf(filename, PATH_MAX, STORAGEDIR "/%s/aliases", address); - filename[PATH_MAX] = '\0'; - textfile_del(filename, "converted"); - - snprintf(filename, PATH_MAX, STORAGEDIR "/%s/trusts", address); - filename[PATH_MAX] = '\0'; - textfile_del(filename, "converted"); - - snprintf(filename, PATH_MAX, STORAGEDIR "/%s/blocked", address); - filename[PATH_MAX] = '\0'; - textfile_del(filename, "converted"); - - snprintf(filename, PATH_MAX, STORAGEDIR "/%s/profiles", address); - filename[PATH_MAX] = '\0'; - textfile_del(filename, "converted"); - - snprintf(filename, PATH_MAX, STORAGEDIR "/%s/primaries", address); - filename[PATH_MAX] = '\0'; - textfile_del(filename, "converted"); - - snprintf(filename, PATH_MAX, STORAGEDIR "/%s/linkkeys", address); - filename[PATH_MAX] = '\0'; - textfile_del(filename, "converted"); - - snprintf(filename, PATH_MAX, STORAGEDIR "/%s/longtermkeys", address); - filename[PATH_MAX] = '\0'; - textfile_del(filename, "converted"); - - snprintf(filename, PATH_MAX, STORAGEDIR "/%s/classes", address); - filename[PATH_MAX] = '\0'; - textfile_del(filename, "converted"); - - snprintf(filename, PATH_MAX, STORAGEDIR "/%s/did", address); - filename[PATH_MAX] = '\0'; - textfile_del(filename, "converted"); - - snprintf(filename, PATH_MAX, STORAGEDIR "/%s/sdp", address); - filename[PATH_MAX] = '\0'; - textfile_del(filename, "converted"); - - snprintf(filename, PATH_MAX, STORAGEDIR "/%s/ccc", address); - filename[PATH_MAX] = '\0'; - textfile_del(filename, "converted"); - - snprintf(filename, PATH_MAX, STORAGEDIR "/%s/appearances", address); - filename[PATH_MAX] = '\0'; - textfile_del(filename, "converted"); - - snprintf(filename, PATH_MAX, STORAGEDIR "/%s/gatt", address); - filename[PATH_MAX] = '\0'; - textfile_del(filename, "converted"); - - snprintf(filename, PATH_MAX, STORAGEDIR "/%s/proximity", address); - filename[PATH_MAX] = '\0'; - textfile_del(filename, "converted"); -} - -static void load_config(struct btd_adapter *adapter) -{ - GKeyFile *key_file; - char filename[PATH_MAX + 1]; - char address[18]; - struct stat st; - GError *gerr = NULL; - - ba2str(&adapter->bdaddr, address); - - key_file = g_key_file_new(); - - snprintf(filename, PATH_MAX, STORAGEDIR "/%s/settings", address); - filename[PATH_MAX] = '\0'; - - if (stat(filename, &st) < 0) { - convert_config(adapter, filename, key_file); - convert_device_storage(adapter); - } - - g_key_file_load_from_file(key_file, filename, 0, NULL); - - /* Get alias */ - adapter->stored_alias = g_key_file_get_string(key_file, "General", - "Alias", NULL); - if (!adapter->stored_alias) { - /* fallback */ - adapter->stored_alias = g_key_file_get_string(key_file, - "General", "Name", NULL); - } - - /* Get pairable timeout */ - adapter->pairable_timeout = g_key_file_get_integer(key_file, "General", - "PairableTimeout", &gerr); - if (gerr) { - adapter->pairable_timeout = main_opts.pairto; - g_error_free(gerr); - gerr = NULL; - } - - /* Get discoverable mode */ - adapter->stored_discoverable = g_key_file_get_boolean(key_file, - "General", "Discoverable", &gerr); - if (gerr) { - adapter->stored_discoverable = false; - g_error_free(gerr); - gerr = NULL; - } - - /* Get discoverable timeout */ - adapter->discoverable_timeout = g_key_file_get_integer(key_file, - "General", "DiscoverableTimeout", &gerr); - if (gerr) { - adapter->discoverable_timeout = main_opts.discovto; - g_error_free(gerr); - gerr = NULL; - } - - g_key_file_free(key_file); -} - -static struct btd_adapter *btd_adapter_new(uint16_t index) -{ - struct btd_adapter *adapter; - - adapter = g_try_new0(struct btd_adapter, 1); - if (!adapter) - return NULL; - - adapter->dev_id = index; - adapter->mgmt = mgmt_ref(mgmt_master); - - /* - * Setup default configuration values. These are either adapter - * defaults or from a system wide configuration file. - * - * Some value might be overwritten later on by adapter specific - * configuration. This is to make sure that sane defaults are - * always present. - */ - adapter->system_name = g_strdup(main_opts.name); - adapter->major_class = (main_opts.class & 0x001f00) >> 8; - adapter->minor_class = (main_opts.class & 0x0000fc) >> 2; - adapter->modalias = bt_modalias(main_opts.did_source, - main_opts.did_vendor, - main_opts.did_product, - main_opts.did_version); - adapter->discoverable_timeout = main_opts.discovto; - adapter->pairable_timeout = main_opts.pairto; - - DBG("System name: %s", adapter->system_name); - DBG("Major class: %u", adapter->major_class); - DBG("Minor class: %u", adapter->minor_class); - DBG("Modalias: %s", adapter->modalias); - DBG("Discoverable timeout: %u seconds", adapter->discoverable_timeout); - DBG("Pairable timeout: %u seconds", adapter->pairable_timeout); - - adapter->auths = g_queue_new(); - - return btd_adapter_ref(adapter); -} - -static void adapter_remove(struct btd_adapter *adapter) -{ - GSList *l; - - DBG("Removing adapter %s", adapter->path); - - if (adapter->discovery_idle_timeout > 0) { - g_source_remove(adapter->discovery_idle_timeout); - adapter->discovery_idle_timeout = 0; - } - - if (adapter->temp_devices_timeout > 0) { - g_source_remove(adapter->temp_devices_timeout); - adapter->temp_devices_timeout = 0; - } - - discovery_cleanup(adapter); - - g_slist_free(adapter->connect_list); - adapter->connect_list = NULL; - - for (l = adapter->devices; l; l = l->next) - device_remove(l->data, FALSE); - - g_slist_free(adapter->devices); - adapter->devices = NULL; - - unload_drivers(adapter); - btd_adapter_gatt_server_stop(adapter); - - g_slist_free(adapter->pin_callbacks); - adapter->pin_callbacks = NULL; -} - -const char *adapter_get_path(struct btd_adapter *adapter) -{ - if (!adapter) - return NULL; - - return adapter->path; -} - -const bdaddr_t *adapter_get_address(struct btd_adapter *adapter) -{ - return &adapter->bdaddr; -} - -static gboolean confirm_name_timeout(gpointer user_data) -{ - struct btd_adapter *adapter = user_data; - - error("Confirm name timed out for hci%u", adapter->dev_id); - - adapter->confirm_name_timeout = 0; - - mgmt_cancel(adapter->mgmt, adapter->confirm_name_id); - adapter->confirm_name_id = 0; - - return FALSE; -} - -static void confirm_name_complete(uint8_t status, uint16_t length, - const void *param, void *user_data) -{ - struct btd_adapter *adapter = user_data; - - if (status != MGMT_STATUS_SUCCESS) { - error("Failed to confirm name for hci%u: %s (0x%02x)", - adapter->dev_id, mgmt_errstr(status), status); - } - - adapter->confirm_name_id = 0; - - g_source_remove(adapter->confirm_name_timeout); - adapter->confirm_name_timeout = 0; - - DBG("Confirm name complete for hci%u", adapter->dev_id); -} - -static void confirm_name(struct btd_adapter *adapter, const bdaddr_t *bdaddr, - uint8_t bdaddr_type, bool name_known) -{ - struct mgmt_cp_confirm_name cp; - char addr[18]; - - ba2str(bdaddr, addr); - DBG("hci%d bdaddr %s name_known %u", adapter->dev_id, addr, - name_known); - - /* - * If the kernel does not answer the confirm name command with - * a command complete or command status in time, this might - * race against another device found event that also requires - * to confirm the name. If there is a pending command, just - * cancel it to be safe here. - */ - if (adapter->confirm_name_id > 0) { - warn("Found pending confirm name for hci%u", adapter->dev_id); - mgmt_cancel(adapter->mgmt, adapter->confirm_name_id); - } - - if (adapter->confirm_name_timeout > 0) { - g_source_remove(adapter->confirm_name_timeout); - adapter->confirm_name_timeout = 0; - } - - memset(&cp, 0, sizeof(cp)); - bacpy(&cp.addr.bdaddr, bdaddr); - cp.addr.type = bdaddr_type; - cp.name_known = name_known; - - adapter->confirm_name_id = mgmt_reply(adapter->mgmt, - MGMT_OP_CONFIRM_NAME, - adapter->dev_id, sizeof(cp), &cp, - confirm_name_complete, adapter, NULL); - - if (adapter->confirm_name_id == 0) { - error("Failed to confirm name for hci%u", adapter->dev_id); - return; - } - - /* - * This timeout handling is needed since the kernel is stupid - * and forgets to send a command complete response. However in - * case of failures it does send a command status. - */ - adapter->confirm_name_timeout = g_timeout_add_seconds(2, - confirm_name_timeout, adapter); -} - -static void update_found_devices(struct btd_adapter *adapter, - const bdaddr_t *bdaddr, - uint8_t bdaddr_type, int8_t rssi, - bool confirm, bool legacy, - const uint8_t *data, uint8_t data_len) -{ - struct btd_device *dev; - struct eir_data eir_data; - char addr[18]; - int err; - GSList *list; - - memset(&eir_data, 0, sizeof(eir_data)); - err = eir_parse(&eir_data, data, data_len); - if (err < 0) { - error("Error parsing EIR data: %s (%d)", strerror(-err), -err); - return; - } - - if (eir_data.name != NULL && eir_data.name_complete) - adapter_store_cached_name(&adapter->bdaddr, bdaddr, - eir_data.name); - - /* Avoid creating LE device if it's not discoverable */ - if (bdaddr_type != BDADDR_BREDR && - !(eir_data.flags & (EIR_LIM_DISC | EIR_GEN_DISC))) { - eir_data_free(&eir_data); - return; - } - - ba2str(bdaddr, addr); - - list = g_slist_find_custom(adapter->devices, bdaddr, device_bdaddr_cmp); - if (!list) { - /* - * If no client has requested discovery, then do not - * create new device objects. - */ - if (!adapter->discovery_list) { - eir_data_free(&eir_data); - return; - } - - dev = adapter_create_device(adapter, bdaddr, bdaddr_type); - } else - dev = list->data; - - if (!dev) { - error("Unable to create object for found device %s", addr); - eir_data_free(&eir_data); - return; - } - - /* - * If no client has requested discovery, then only update - * already paired devices (skip temporary ones). - */ - if (device_is_temporary(dev) && !adapter->discovery_list) { - eir_data_free(&eir_data); - return; - } - - device_set_legacy(dev, legacy); - device_set_rssi(dev, rssi); - - if (eir_data.appearance != 0) - device_set_appearance(dev, eir_data.appearance); - - if (eir_data.name) - device_set_name(dev, eir_data.name); - - if (eir_data.class != 0) - device_set_class(dev, eir_data.class); - - device_add_eir_uuids(dev, eir_data.services); - - eir_data_free(&eir_data); - - /* - * Only if at least one client has requested discovery, maintain - * list of found devices and name confirming for legacy devices. - * Otherwise, this is an event from passive discovery and we - * should check if the device needs connecting to. - */ - if (!adapter->discovery_list) - goto connect_le; - - if (g_slist_find(adapter->discovery_found, dev)) - return; - - if (confirm) - confirm_name(adapter, bdaddr, bdaddr_type, - device_name_known(dev)); - - adapter->discovery_found = g_slist_prepend(adapter->discovery_found, - dev); - - return; - -connect_le: - /* - * If we're in the process of stopping passive scanning and - * connecting another (or maybe even the same) LE device just - * ignore this one. - */ - if (adapter->connect_le) - return; - - /* - * If this is an LE device that's not connected and part of the - * connect_list stop passive scanning so that a connection - * attempt to it can be made - */ - if (device_is_le(dev) && !device_is_connected(dev) && - g_slist_find(adapter->connect_list, dev)) { - adapter->connect_le = dev; - stop_passive_scanning(adapter); - } -} - -static void device_found_callback(uint16_t index, uint16_t length, - const void *param, void *user_data) -{ - const struct mgmt_ev_device_found *ev = param; - struct btd_adapter *adapter = user_data; - const uint8_t *eir; - uint16_t eir_len; - uint32_t flags; - bool confirm_name; - bool legacy; - char addr[18]; - - if (length < sizeof(*ev)) { - error("Too short device found event (%u bytes)", length); - return; - } - - eir_len = btohs(ev->eir_len); - if (length != sizeof(*ev) + eir_len) { - error("Device found event size mismatch (%u != %zu)", - length, sizeof(*ev) + eir_len); - return; - } - - if (eir_len == 0) - eir = NULL; - else - eir = ev->eir; - - flags = btohl(ev->flags); - - ba2str(&ev->addr.bdaddr, addr); - DBG("hci%u addr %s, rssi %d flags 0x%04x eir_len %u", - index, addr, ev->rssi, flags, eir_len); - - confirm_name = (flags & MGMT_DEV_FOUND_CONFIRM_NAME); - legacy = (flags & MGMT_DEV_FOUND_LEGACY_PAIRING); - - update_found_devices(adapter, &ev->addr.bdaddr, ev->addr.type, - ev->rssi, confirm_name, legacy, - eir, eir_len); -} - -struct agent *adapter_get_agent(struct btd_adapter *adapter) -{ - return agent_get(NULL); -} - -static void adapter_remove_connection(struct btd_adapter *adapter, - struct btd_device *device) -{ - DBG(""); - - if (!g_slist_find(adapter->connections, device)) { - error("No matching connection for device"); - return; - } - - device_remove_connection(device); - - adapter->connections = g_slist_remove(adapter->connections, device); - - if (device_is_authenticating(device)) - device_cancel_authentication(device, TRUE); - - if (device_is_temporary(device)) { - const char *path = device_get_path(device); - - DBG("Removing temporary device %s", path); - adapter_remove_device(adapter, device, TRUE); - } -} - -static void adapter_stop(struct btd_adapter *adapter) -{ - /* check pending requests */ - reply_pending_requests(adapter); - - cancel_passive_scanning(adapter); - - while (adapter->discovery_list) { - struct discovery_client *client; - - client = adapter->discovery_list->data; - - /* g_dbus_remove_watch will remove the client from the - * adapter's list and free it using the discovery_destroy - * function. - */ - g_dbus_remove_watch(dbus_conn, client->watch); - } - - adapter->discovering = false; - - while (adapter->connections) { - struct btd_device *device = adapter->connections->data; - adapter_remove_connection(adapter, device); - } - - g_dbus_emit_property_changed(dbus_conn, adapter->path, - ADAPTER_INTERFACE, "Discovering"); - - if (adapter->dev_class) { - /* the kernel should reset the class of device when powering - * down, but it does not. So force it here ... */ - adapter->dev_class = 0; - g_dbus_emit_property_changed(dbus_conn, adapter->path, - ADAPTER_INTERFACE, "Class"); - } - - g_dbus_emit_property_changed(dbus_conn, adapter->path, - ADAPTER_INTERFACE, "Powered"); - - DBG("adapter %s has been disabled", adapter->path); -} - -int btd_register_adapter_driver(struct btd_adapter_driver *driver) -{ - adapter_drivers = g_slist_append(adapter_drivers, driver); - - if (driver->probe == NULL) - return 0; - - adapter_foreach(probe_driver, driver); - - return 0; -} - -static void unload_driver(struct btd_adapter *adapter, gpointer data) -{ - struct btd_adapter_driver *driver = data; - - if (driver->remove) - driver->remove(adapter); - - adapter->drivers = g_slist_remove(adapter->drivers, data); -} - -void btd_unregister_adapter_driver(struct btd_adapter_driver *driver) -{ - adapter_drivers = g_slist_remove(adapter_drivers, driver); - - adapter_foreach(unload_driver, driver); -} - -static void agent_auth_cb(struct agent *agent, DBusError *derr, - void *user_data) -{ - struct btd_adapter *adapter = user_data; - struct service_auth *auth = adapter->auths->head->data; - - g_queue_pop_head(adapter->auths); - - auth->cb(derr, auth->user_data); - - if (auth->agent) - agent_unref(auth->agent); - - g_free(auth); - - adapter->auth_idle_id = g_idle_add(process_auth_queue, adapter); -} - -static gboolean process_auth_queue(gpointer user_data) -{ - struct btd_adapter *adapter = user_data; - DBusError err; - - adapter->auth_idle_id = 0; - - dbus_error_init(&err); - dbus_set_error_const(&err, ERROR_INTERFACE ".Rejected", NULL); - - while (!g_queue_is_empty(adapter->auths)) { - struct service_auth *auth = adapter->auths->head->data; - struct btd_device *device = auth->device; - const char *dev_path; - - if (device_is_trusted(device) == TRUE) { - auth->cb(NULL, auth->user_data); - goto next; - } - - auth->agent = agent_get(NULL); - if (auth->agent == NULL) { - warn("Authentication attempt without agent"); - auth->cb(&err, auth->user_data); - goto next; - } - - dev_path = device_get_path(device); - - if (agent_authorize_service(auth->agent, dev_path, auth->uuid, - agent_auth_cb, adapter, NULL) < 0) { - auth->cb(&err, auth->user_data); - goto next; - } - - break; - -next: - if (auth->agent) - agent_unref(auth->agent); - - g_free(auth); - - g_queue_pop_head(adapter->auths); - } - - dbus_error_free(&err); - - return FALSE; -} - -static int adapter_authorize(struct btd_adapter *adapter, const bdaddr_t *dst, - const char *uuid, service_auth_cb cb, - void *user_data) -{ - struct service_auth *auth; - struct btd_device *device; - static guint id = 0; - - device = adapter_find_device(adapter, dst); - if (!device) - return 0; - - /* Device connected? */ - if (!g_slist_find(adapter->connections, device)) - error("Authorization request for non-connected device!?"); - - auth = g_try_new0(struct service_auth, 1); - if (!auth) - return 0; - - auth->cb = cb; - auth->user_data = user_data; - auth->uuid = uuid; - auth->device = device; - auth->adapter = adapter; - auth->id = ++id; - - g_queue_push_tail(adapter->auths, auth); - - if (adapter->auths->length != 1) - return auth->id; - - if (adapter->auth_idle_id != 0) - return auth->id; - - adapter->auth_idle_id = g_idle_add(process_auth_queue, adapter); - - return auth->id; -} - -guint btd_request_authorization(const bdaddr_t *src, const bdaddr_t *dst, - const char *uuid, service_auth_cb cb, - void *user_data) -{ - struct btd_adapter *adapter; - GSList *l; - - if (bacmp(src, BDADDR_ANY) != 0) { - adapter = adapter_find(src); - if (!adapter) - return 0; - - return adapter_authorize(adapter, dst, uuid, cb, user_data); - } - - for (l = adapters; l != NULL; l = g_slist_next(l)) { - guint id; - - adapter = l->data; - - id = adapter_authorize(adapter, dst, uuid, cb, user_data); - if (id != 0) - return id; - } - - return 0; -} - -static struct service_auth *find_authorization(guint id) -{ - GSList *l; - GList *l2; - - for (l = adapters; l != NULL; l = g_slist_next(l)) { - struct btd_adapter *adapter = l->data; - - for (l2 = adapter->auths->head; l2 != NULL; l2 = l2->next) { - struct service_auth *auth = l2->data; - - if (auth->id == id) - return auth; - } - } - - return NULL; -} - -int btd_cancel_authorization(guint id) -{ - struct service_auth *auth; - - auth = find_authorization(id); - if (auth == NULL) - return -EPERM; - - g_queue_remove(auth->adapter->auths, auth); - - if (auth->agent) { - agent_cancel(auth->agent); - agent_unref(auth->agent); - } - - g_free(auth); - - return 0; -} - -int btd_adapter_restore_powered(struct btd_adapter *adapter) -{ - if (adapter->current_settings & MGMT_SETTING_POWERED) - return 0; - - set_mode(adapter, MGMT_OP_SET_POWERED, 0x01); - - return 0; -} - -void btd_adapter_register_pin_cb(struct btd_adapter *adapter, - btd_adapter_pin_cb_t cb) -{ - adapter->pin_callbacks = g_slist_prepend(adapter->pin_callbacks, cb); -} - -void btd_adapter_unregister_pin_cb(struct btd_adapter *adapter, - btd_adapter_pin_cb_t cb) -{ - adapter->pin_callbacks = g_slist_remove(adapter->pin_callbacks, cb); -} - -int btd_adapter_set_fast_connectable(struct btd_adapter *adapter, - gboolean enable) -{ - if (!(adapter->current_settings & MGMT_SETTING_POWERED)) - return -EINVAL; - - set_mode(adapter, MGMT_OP_SET_FAST_CONNECTABLE, enable ? 0x01 : 0x00); - - return 0; -} - -int btd_adapter_read_clock(struct btd_adapter *adapter, const bdaddr_t *bdaddr, - int which, int timeout, uint32_t *clock, - uint16_t *accuracy) -{ - if (!(adapter->current_settings & MGMT_SETTING_POWERED)) - return -EINVAL; - - return -ENOSYS; -} - -int btd_adapter_remove_bonding(struct btd_adapter *adapter, - const bdaddr_t *bdaddr, uint8_t bdaddr_type) -{ - struct mgmt_cp_unpair_device cp; - - memset(&cp, 0, sizeof(cp)); - bacpy(&cp.addr.bdaddr, bdaddr); - cp.addr.type = bdaddr_type; - cp.disconnect = 1; - - if (mgmt_send(adapter->mgmt, MGMT_OP_UNPAIR_DEVICE, - adapter->dev_id, sizeof(cp), &cp, - NULL, NULL, NULL) > 0) - return 0; - - return -EIO; -} - -int btd_adapter_pincode_reply(struct btd_adapter *adapter, - const bdaddr_t *bdaddr, - const char *pin, size_t pin_len) -{ - unsigned int id; - char addr[18]; - - ba2str(bdaddr, addr); - DBG("hci%u addr %s pinlen %zu", adapter->dev_id, addr, pin_len); - - if (pin == NULL) { - struct mgmt_cp_pin_code_neg_reply cp; - - memset(&cp, 0, sizeof(cp)); - bacpy(&cp.addr.bdaddr, bdaddr); - cp.addr.type = BDADDR_BREDR; - - id = mgmt_reply(adapter->mgmt, MGMT_OP_PIN_CODE_NEG_REPLY, - adapter->dev_id, sizeof(cp), &cp, - NULL, NULL, NULL); - } else { - struct mgmt_cp_pin_code_reply cp; - - if (pin_len > 16) - return -EINVAL; - - memset(&cp, 0, sizeof(cp)); - bacpy(&cp.addr.bdaddr, bdaddr); - cp.addr.type = BDADDR_BREDR; - cp.pin_len = pin_len; - memcpy(cp.pin_code, pin, pin_len); - - id = mgmt_reply(adapter->mgmt, MGMT_OP_PIN_CODE_REPLY, - adapter->dev_id, sizeof(cp), &cp, - NULL, NULL, NULL); - } - - if (id == 0) - return -EIO; - - return 0; -} - -int btd_adapter_confirm_reply(struct btd_adapter *adapter, - const bdaddr_t *bdaddr, uint8_t bdaddr_type, - gboolean success) -{ - struct mgmt_cp_user_confirm_reply cp; - uint16_t opcode; - char addr[18]; - - ba2str(bdaddr, addr); - DBG("hci%u addr %s success %d", adapter->dev_id, addr, success); - - if (success) - opcode = MGMT_OP_USER_CONFIRM_REPLY; - else - opcode = MGMT_OP_USER_CONFIRM_NEG_REPLY; - - memset(&cp, 0, sizeof(cp)); - bacpy(&cp.addr.bdaddr, bdaddr); - cp.addr.type = bdaddr_type; - - if (mgmt_reply(adapter->mgmt, opcode, adapter->dev_id, sizeof(cp), &cp, - NULL, NULL, NULL) > 0) - return 0; - - return -EIO; -} - -static void user_confirm_request_callback(uint16_t index, uint16_t length, - const void *param, void *user_data) -{ - const struct mgmt_ev_user_confirm_request *ev = param; - struct btd_adapter *adapter = user_data; - struct btd_device *device; - char addr[18]; - int err; - - if (length < sizeof(*ev)) { - error("Too small user confirm request event"); - return; - } - - ba2str(&ev->addr.bdaddr, addr); - DBG("hci%u %s confirm_hint %u", adapter->dev_id, addr, - ev->confirm_hint); - device = adapter_get_device(adapter, &ev->addr.bdaddr, ev->addr.type); - if (!device) { - error("Unable to get device object for %s", addr); - return; - } - - err = device_confirm_passkey(device, btohl(ev->value), - ev->confirm_hint); - if (err < 0) { - error("device_confirm_passkey: %s", strerror(-err)); - btd_adapter_confirm_reply(adapter, &ev->addr.bdaddr, - ev->addr.type, FALSE); - } -} - -int btd_adapter_passkey_reply(struct btd_adapter *adapter, - const bdaddr_t *bdaddr, uint8_t bdaddr_type, - uint32_t passkey) -{ - unsigned int id; - char addr[18]; - - ba2str(bdaddr, addr); - DBG("hci%u addr %s passkey %06u", adapter->dev_id, addr, passkey); - - if (passkey == INVALID_PASSKEY) { - struct mgmt_cp_user_passkey_neg_reply cp; - - memset(&cp, 0, sizeof(cp)); - bacpy(&cp.addr.bdaddr, bdaddr); - cp.addr.type = bdaddr_type; - - id = mgmt_reply(adapter->mgmt, MGMT_OP_USER_PASSKEY_NEG_REPLY, - adapter->dev_id, sizeof(cp), &cp, - NULL, NULL, NULL); - } else { - struct mgmt_cp_user_passkey_reply cp; - - memset(&cp, 0, sizeof(cp)); - bacpy(&cp.addr.bdaddr, bdaddr); - cp.addr.type = bdaddr_type; - cp.passkey = htobl(passkey); - - id = mgmt_reply(adapter->mgmt, MGMT_OP_USER_PASSKEY_REPLY, - adapter->dev_id, sizeof(cp), &cp, - NULL, NULL, NULL); - } - - if (id == 0) - return -EIO; - - return 0; -} - -static void user_passkey_request_callback(uint16_t index, uint16_t length, - const void *param, void *user_data) -{ - const struct mgmt_ev_user_passkey_request *ev = param; - struct btd_adapter *adapter = user_data; - struct btd_device *device; - char addr[18]; - int err; - - if (length < sizeof(*ev)) { - error("Too small passkey request event"); - return; - } - - ba2str(&ev->addr.bdaddr, addr); - DBG("hci%u %s", index, addr); - - device = adapter_get_device(adapter, &ev->addr.bdaddr, ev->addr.type); - if (!device) { - error("Unable to get device object for %s", addr); - return; - } - - err = device_request_passkey(device); - if (err < 0) { - error("device_request_passkey: %s", strerror(-err)); - btd_adapter_passkey_reply(adapter, &ev->addr.bdaddr, - ev->addr.type, INVALID_PASSKEY); - } -} - -static void user_passkey_notify_callback(uint16_t index, uint16_t length, - const void *param, void *user_data) -{ - const struct mgmt_ev_passkey_notify *ev = param; - struct btd_adapter *adapter = user_data; - struct btd_device *device; - uint32_t passkey; - char addr[18]; - int err; - - if (length < sizeof(*ev)) { - error("Too small passkey notify event"); - return; - } - - ba2str(&ev->addr.bdaddr, addr); - DBG("hci%u %s", index, addr); - - device = adapter_get_device(adapter, &ev->addr.bdaddr, ev->addr.type); - if (!device) { - error("Unable to get device object for %s", addr); - return; - } - - passkey = bt_get_le32(&ev->passkey); - - DBG("passkey %06u entered %u", passkey, ev->entered); - - err = device_notify_passkey(device, passkey, ev->entered); - if (err < 0) - error("device_notify_passkey: %s", strerror(-err)); -} - -static ssize_t adapter_get_pin(struct btd_adapter *adapter, - struct btd_device *dev, char *pin_buf, - gboolean *display) -{ - btd_adapter_pin_cb_t cb; - ssize_t ret; - GSList *l; - - for (l = adapter->pin_callbacks; l != NULL; l = g_slist_next(l)) { - cb = l->data; - ret = cb(adapter, dev, pin_buf, display); - if (ret > 0) - return ret; - } - - return -1; -} - -static void pin_code_request_callback(uint16_t index, uint16_t length, - const void *param, void *user_data) -{ - const struct mgmt_ev_pin_code_request *ev = param; - struct btd_adapter *adapter = user_data; - struct btd_device *device; - gboolean display = FALSE; - char pin[17]; - ssize_t pinlen; - char addr[18]; - int err; - - if (length < sizeof(*ev)) { - error("Too small PIN code request event"); - return; - } - - ba2str(&ev->addr.bdaddr, addr); - - DBG("hci%u %s", adapter->dev_id, addr); - - device = adapter_get_device(adapter, &ev->addr.bdaddr, ev->addr.type); - if (!device) { - error("Unable to get device object for %s", addr); - return; - } - - memset(pin, 0, sizeof(pin)); - pinlen = adapter_get_pin(adapter, device, pin, &display); - if (pinlen > 0 && (!ev->secure || pinlen == 16)) { - if (display && device_is_bonding(device, NULL)) { - err = device_notify_pincode(device, ev->secure, pin); - if (err < 0) { - error("device_notify_pin: %s", strerror(-err)); - btd_adapter_pincode_reply(adapter, - &ev->addr.bdaddr, - NULL, 0); - } - } else { - btd_adapter_pincode_reply(adapter, &ev->addr.bdaddr, - pin, pinlen); - } - return; - } - - err = device_request_pincode(device, ev->secure); - if (err < 0) { - error("device_request_pin: %s", strerror(-err)); - btd_adapter_pincode_reply(adapter, &ev->addr.bdaddr, NULL, 0); - } -} - -int adapter_cancel_bonding(struct btd_adapter *adapter, const bdaddr_t *bdaddr, - uint8_t addr_type) -{ - struct mgmt_addr_info cp; - char addr[18]; - - ba2str(bdaddr, addr); - DBG("hci%u bdaddr %s type %u", adapter->dev_id, addr, addr_type); - - memset(&cp, 0, sizeof(cp)); - bacpy(&cp.bdaddr, bdaddr); - cp.type = addr_type; - - if (mgmt_reply(adapter->mgmt, MGMT_OP_CANCEL_PAIR_DEVICE, - adapter->dev_id, sizeof(cp), &cp, - NULL, NULL, NULL) > 0) - return 0; - - return -EIO; -} - -static void check_oob_bonding_complete(struct btd_adapter *adapter, - const bdaddr_t *bdaddr, uint8_t status) -{ - if (!adapter->oob_handler || !adapter->oob_handler->bonding_cb) - return; - - if (bacmp(bdaddr, &adapter->oob_handler->remote_addr) != 0) - return; - - adapter->oob_handler->bonding_cb(adapter, bdaddr, status, - adapter->oob_handler->user_data); - - g_free(adapter->oob_handler); - adapter->oob_handler = NULL; -} - -static void bonding_complete(struct btd_adapter *adapter, - const bdaddr_t *bdaddr, - uint8_t addr_type, uint8_t status) -{ - struct btd_device *device; - - if (status == 0) - device = adapter_get_device(adapter, bdaddr, addr_type); - else - device = adapter_find_device(adapter, bdaddr); - - if (device != NULL) - device_bonding_complete(device, status); - - resume_discovery(adapter); - - check_oob_bonding_complete(adapter, bdaddr, status); -} - -struct pair_device_data { - struct btd_adapter *adapter; - bdaddr_t bdaddr; - uint8_t addr_type; -}; - -static void free_pair_device_data(void *user_data) -{ - struct pair_device_data *data = user_data; - - g_free(data); -} - -static gboolean pair_device_timeout(gpointer user_data) -{ - struct pair_device_data *data = user_data; - struct btd_adapter *adapter = data->adapter; - - error("Pair device timed out for hci%u", adapter->dev_id); - - adapter->pair_device_timeout = 0; - - adapter_cancel_bonding(adapter, &data->bdaddr, data->addr_type); - - return FALSE; -} - -static void pair_device_complete(uint8_t status, uint16_t length, - const void *param, void *user_data) -{ - const struct mgmt_rp_pair_device *rp = param; - struct pair_device_data *data = user_data; - struct btd_adapter *adapter = data->adapter; - - DBG("%s (0x%02x)", mgmt_errstr(status), status); - - adapter->pair_device_id = 0; - - if (adapter->pair_device_timeout > 0) { - g_source_remove(adapter->pair_device_timeout); - adapter->pair_device_timeout = 0; - } - - /* Workaround for a kernel bug - * - * Broken kernels may reply to device pairing command with command - * status instead of command complete event e.g. if adapter was not - * powered. - */ - if (status != MGMT_STATUS_SUCCESS && length < sizeof(*rp)) { - error("Pair device failed: %s (0x%02x)", - mgmt_errstr(status), status); - - bonding_complete(adapter, &data->bdaddr, - data->addr_type, status); - return; - } - - if (length < sizeof(*rp)) { - error("Too small pair device response"); - return; - } - - bonding_complete(adapter, &rp->addr.bdaddr, rp->addr.type, status); -} - -int adapter_create_bonding(struct btd_adapter *adapter, const bdaddr_t *bdaddr, - uint8_t addr_type, uint8_t io_cap) -{ - struct mgmt_cp_pair_device cp; - char addr[18]; - struct pair_device_data *data; - unsigned int id; - - if (adapter->pair_device_id > 0) { - error("Unable pair since another pairing is in progress"); - return -EBUSY; - } - - suspend_discovery(adapter); - - ba2str(bdaddr, addr); - DBG("hci%u bdaddr %s type %d io_cap 0x%02x", - adapter->dev_id, addr, addr_type, io_cap); - - memset(&cp, 0, sizeof(cp)); - bacpy(&cp.addr.bdaddr, bdaddr); - cp.addr.type = addr_type; - cp.io_cap = io_cap; - - data = g_new0(struct pair_device_data, 1); - data->adapter = adapter; - bacpy(&data->bdaddr, bdaddr); - data->addr_type = addr_type; - - id = mgmt_send(adapter->mgmt, MGMT_OP_PAIR_DEVICE, - adapter->dev_id, sizeof(cp), &cp, - pair_device_complete, data, - free_pair_device_data); - - if (id == 0) { - error("Failed to pair %s for hci%u", addr, adapter->dev_id); - free_pair_device_data(data); - return -EIO; - } - - adapter->pair_device_id = id; - - /* Due to a bug in the kernel it is possible that a LE pairing - * request never times out. Therefore, add a timer to clean up - * if no response arrives - */ - adapter->pair_device_timeout = g_timeout_add_seconds(BONDING_TIMEOUT, - pair_device_timeout, data); - - return 0; -} - -static void dev_disconnected(struct btd_adapter *adapter, - const struct mgmt_addr_info *addr, - uint8_t reason) -{ - struct btd_device *device; - char dst[18]; - - ba2str(&addr->bdaddr, dst); - - DBG("Device %s disconnected, reason %u", dst, reason); - - device = adapter_find_device(adapter, &addr->bdaddr); - if (device) - adapter_remove_connection(adapter, device); - - bonding_complete(adapter, &addr->bdaddr, addr->type, - MGMT_STATUS_DISCONNECTED); -} - -static void disconnect_complete(uint8_t status, uint16_t length, - const void *param, void *user_data) -{ - const struct mgmt_rp_disconnect *rp = param; - struct btd_adapter *adapter = user_data; - - if (status != MGMT_STATUS_SUCCESS) { - error("Failed to disconnect device: %s (0x%02x)", - mgmt_errstr(status), status); - return; - } - - if (length < sizeof(*rp)) { - error("Too small device disconnect response"); - return; - } - - dev_disconnected(adapter, &rp->addr, MGMT_DEV_DISCONN_LOCAL_HOST); -} - -int btd_adapter_disconnect_device(struct btd_adapter *adapter, - const bdaddr_t *bdaddr, - uint8_t bdaddr_type) - -{ - struct mgmt_cp_disconnect cp; - - memset(&cp, 0, sizeof(cp)); - bacpy(&cp.addr.bdaddr, bdaddr); - cp.addr.type = bdaddr_type; - - if (mgmt_send(adapter->mgmt, MGMT_OP_DISCONNECT, - adapter->dev_id, sizeof(cp), &cp, - disconnect_complete, adapter, NULL) > 0) - return 0; - - return -EIO; -} - -static void auth_failed_callback(uint16_t index, uint16_t length, - const void *param, void *user_data) -{ - const struct mgmt_ev_auth_failed *ev = param; - struct btd_adapter *adapter = user_data; - - if (length < sizeof(*ev)) { - error("Too small auth failed mgmt event"); - return; - } - - bonding_complete(adapter, &ev->addr.bdaddr, ev->addr.type, ev->status); -} - -static void store_link_key(struct btd_adapter *adapter, - struct btd_device *device, const uint8_t *key, - uint8_t type, uint8_t pin_length) -{ - char adapter_addr[18]; - char device_addr[18]; - char filename[PATH_MAX + 1]; - GKeyFile *key_file; - gsize length = 0; - char key_str[35]; - char *str; - int i; - - ba2str(adapter_get_address(adapter), adapter_addr); - ba2str(device_get_address(device), device_addr); - - snprintf(filename, PATH_MAX, STORAGEDIR "/%s/%s/info", adapter_addr, - device_addr); - filename[PATH_MAX] = '\0'; - - key_file = g_key_file_new(); - g_key_file_load_from_file(key_file, filename, 0, NULL); - - key_str[0] = '0'; - key_str[1] = 'x'; - for (i = 0; i < 16; i++) - sprintf(key_str + 2 + (i * 2), "%2.2X", key[i]); - - g_key_file_set_string(key_file, "LinkKey", "Key", key_str); - - g_key_file_set_integer(key_file, "LinkKey", "Type", type); - g_key_file_set_integer(key_file, "LinkKey", "PINLength", pin_length); - - create_file(filename, S_IRUSR | S_IWUSR); - - str = g_key_file_to_data(key_file, &length, NULL); - g_file_set_contents(filename, str, length, NULL); - g_free(str); - - g_key_file_free(key_file); -} - -static void new_link_key_callback(uint16_t index, uint16_t length, - const void *param, void *user_data) -{ - const struct mgmt_ev_new_link_key *ev = param; - const struct mgmt_addr_info *addr = &ev->key.addr; - struct btd_adapter *adapter = user_data; - struct btd_device *device; - char dst[18]; - - if (length < sizeof(*ev)) { - error("Too small new link key event"); - return; - } - - ba2str(&addr->bdaddr, dst); - - DBG("hci%u new key for %s type %u pin_len %u", adapter->dev_id, - dst, ev->key.type, ev->key.pin_len); - - if (ev->key.pin_len > 16) { - error("Invalid PIN length (%u) in new_key event", - ev->key.pin_len); - return; - } - - device = adapter_get_device(adapter, &addr->bdaddr, addr->type); - if (!device) { - error("Unable to get device object for %s", dst); - return; - } - - if (ev->store_hint) { - const struct mgmt_link_key_info *key = &ev->key; - - store_link_key(adapter, device, key->val, key->type, - key->pin_len); - - device_set_bonded(device, TRUE); - - if (device_is_temporary(device)) - device_set_temporary(device, FALSE); - } - - bonding_complete(adapter, &addr->bdaddr, addr->type, 0); -} - -static void store_longtermkey(const bdaddr_t *local, const bdaddr_t *peer, - uint8_t bdaddr_type, const unsigned char *key, - uint8_t master, uint8_t authenticated, - uint8_t enc_size, uint16_t ediv, - const uint8_t rand[8]) -{ - char adapter_addr[18]; - char device_addr[18]; - char filename[PATH_MAX + 1]; - GKeyFile *key_file; - char key_str[35]; - char rand_str[19]; - gsize length = 0; - char *str; - int i; - - ba2str(local, adapter_addr); - ba2str(peer, device_addr); - - snprintf(filename, PATH_MAX, STORAGEDIR "/%s/%s/info", adapter_addr, - device_addr); - filename[PATH_MAX] = '\0'; - - key_file = g_key_file_new(); - g_key_file_load_from_file(key_file, filename, 0, NULL); - - key_str[0] = '0'; - key_str[1] = 'x'; - for (i = 0; i < 16; i++) - sprintf(key_str + 2 + (i * 2), "%2.2X", key[i]); - - g_key_file_set_string(key_file, "LongTermKey", "Key", key_str); - - g_key_file_set_integer(key_file, "LongTermKey", "Authenticated", - authenticated); - g_key_file_set_integer(key_file, "LongTermKey", "Master", master); - g_key_file_set_integer(key_file, "LongTermKey", "EncSize", enc_size); - g_key_file_set_integer(key_file, "LongTermKey", "EDiv", ediv); - - rand_str[0] = '0'; - rand_str[1] = 'x'; - for (i = 0; i < 8; i++) - sprintf(rand_str + 2 + (i * 2), "%2.2X", rand[i]); - - g_key_file_set_string(key_file, "LongTermKey", "Rand", rand_str); - - create_file(filename, S_IRUSR | S_IWUSR); - - str = g_key_file_to_data(key_file, &length, NULL); - g_file_set_contents(filename, str, length, NULL); - g_free(str); - - g_key_file_free(key_file); -} - -static void new_long_term_key_callback(uint16_t index, uint16_t length, - const void *param, void *user_data) -{ - const struct mgmt_ev_new_long_term_key *ev = param; - const struct mgmt_addr_info *addr = &ev->key.addr; - struct btd_adapter *adapter = user_data; - struct btd_device *device; - char dst[18]; - - if (length < sizeof(*ev)) { - error("Too small long term key event"); - return; - } - - ba2str(&addr->bdaddr, dst); - - DBG("hci%u new LTK for %s authenticated %u enc_size %u", - adapter->dev_id, dst, ev->key.authenticated, ev->key.enc_size); - - device = adapter_get_device(adapter, &addr->bdaddr, addr->type); - if (!device) { - error("Unable to get device object for %s", dst); - return; - } - - if (ev->store_hint) { - const struct mgmt_ltk_info *key = &ev->key; - const bdaddr_t *bdaddr = adapter_get_address(adapter); - - store_longtermkey(bdaddr, &key->addr.bdaddr, - key->addr.type, key->val, key->master, - key->authenticated, key->enc_size, - key->ediv, key->rand); - - device_set_bonded(device, TRUE); - - if (device_is_temporary(device)) - device_set_temporary(device, FALSE); - } - - if (ev->key.master) - bonding_complete(adapter, &addr->bdaddr, addr->type, 0); -} - -int adapter_set_io_capability(struct btd_adapter *adapter, uint8_t io_cap) -{ - struct mgmt_cp_set_io_capability cp; - - memset(&cp, 0, sizeof(cp)); - cp.io_capability = io_cap; - - if (mgmt_send(adapter->mgmt, MGMT_OP_SET_IO_CAPABILITY, - adapter->dev_id, sizeof(cp), &cp, - NULL, NULL, NULL) > 0) - return 0; - - return -EIO; -} - -int btd_adapter_add_remote_oob_data(struct btd_adapter *adapter, - const bdaddr_t *bdaddr, - uint8_t *hash, uint8_t *randomizer) -{ - struct mgmt_cp_add_remote_oob_data cp; - char addr[18]; - - ba2str(bdaddr, addr); - DBG("hci%d bdaddr %s", adapter->dev_id, addr); - - memset(&cp, 0, sizeof(cp)); - bacpy(&cp.addr.bdaddr, bdaddr); - memcpy(cp.hash, hash, 16); - - if (randomizer) - memcpy(cp.randomizer, randomizer, 16); - - if (mgmt_send(adapter->mgmt, MGMT_OP_ADD_REMOTE_OOB_DATA, - adapter->dev_id, sizeof(cp), &cp, - NULL, NULL, NULL) > 0) - return 0; - - return -EIO; -} - -int btd_adapter_remove_remote_oob_data(struct btd_adapter *adapter, - const bdaddr_t *bdaddr) -{ - struct mgmt_cp_remove_remote_oob_data cp; - char addr[18]; - - ba2str(bdaddr, addr); - DBG("hci%d bdaddr %s", adapter->dev_id, addr); - - memset(&cp, 0, sizeof(cp)); - bacpy(&cp.addr.bdaddr, bdaddr); - - if (mgmt_send(adapter->mgmt, MGMT_OP_REMOVE_REMOTE_OOB_DATA, - adapter->dev_id, sizeof(cp), &cp, - NULL, NULL, NULL) > 0) - return 0; - - return -EIO; -} - -bool btd_adapter_ssp_enabled(struct btd_adapter *adapter) -{ - if (adapter->current_settings & MGMT_SETTING_SSP) - return true; - - return false; -} - -void btd_adapter_set_oob_handler(struct btd_adapter *adapter, - struct oob_handler *handler) -{ - adapter->oob_handler = handler; -} - -gboolean btd_adapter_check_oob_handler(struct btd_adapter *adapter) -{ - return adapter->oob_handler != NULL; -} - -static void read_local_oob_data_complete(uint8_t status, uint16_t length, - const void *param, void *user_data) -{ - const struct mgmt_rp_read_local_oob_data *rp = param; - struct btd_adapter *adapter = user_data; - const uint8_t *hash, *randomizer; - - if (status != MGMT_STATUS_SUCCESS) { - error("Read local OOB data failed: %s (0x%02x)", - mgmt_errstr(status), status); - hash = NULL; - randomizer = NULL; - } else if (length < sizeof(*rp)) { - error("Too small read local OOB data response"); - return; - } else { - hash = rp->hash; - randomizer = rp->randomizer; - } - - if (!adapter->oob_handler || !adapter->oob_handler->read_local_cb) - return; - - adapter->oob_handler->read_local_cb(adapter, hash, randomizer, - adapter->oob_handler->user_data); - - g_free(adapter->oob_handler); - adapter->oob_handler = NULL; -} - -int btd_adapter_read_local_oob_data(struct btd_adapter *adapter) -{ - DBG("hci%u", adapter->dev_id); - - if (mgmt_send(adapter->mgmt, MGMT_OP_READ_LOCAL_OOB_DATA, - adapter->dev_id, 0, NULL, read_local_oob_data_complete, - adapter, NULL) > 0) - return 0; - - return -EIO; -} - -void btd_adapter_for_each_device(struct btd_adapter *adapter, - void (*cb)(struct btd_device *device, void *data), - void *data) -{ - g_slist_foreach(adapter->devices, (GFunc) cb, data); -} - -static int adapter_cmp(gconstpointer a, gconstpointer b) -{ - struct btd_adapter *adapter = (struct btd_adapter *) a; - const bdaddr_t *bdaddr = b; - - return bacmp(&adapter->bdaddr, bdaddr); -} - -static int adapter_id_cmp(gconstpointer a, gconstpointer b) -{ - struct btd_adapter *adapter = (struct btd_adapter *) a; - uint16_t id = GPOINTER_TO_UINT(b); - - return adapter->dev_id == id ? 0 : -1; -} - -struct btd_adapter *adapter_find(const bdaddr_t *sba) -{ - GSList *match; - - match = g_slist_find_custom(adapters, sba, adapter_cmp); - if (!match) - return NULL; - - return match->data; -} - -struct btd_adapter *adapter_find_by_id(int id) -{ - GSList *match; - - match = g_slist_find_custom(adapters, GINT_TO_POINTER(id), - adapter_id_cmp); - if (!match) - return NULL; - - return match->data; -} - -void adapter_foreach(adapter_cb func, gpointer user_data) -{ - g_slist_foreach(adapters, (GFunc) func, user_data); -} - -static int set_did(struct btd_adapter *adapter, uint16_t vendor, - uint16_t product, uint16_t version, uint16_t source) -{ - struct mgmt_cp_set_device_id cp; - - DBG("hci%u source %x vendor %x product %x version %x", - adapter->dev_id, source, vendor, product, version); - - memset(&cp, 0, sizeof(cp)); - - cp.source = htobs(source); - cp.vendor = htobs(vendor); - cp.product = htobs(product); - cp.version = htobs(version); - - if (mgmt_send(adapter->mgmt, MGMT_OP_SET_DEVICE_ID, - adapter->dev_id, sizeof(cp), &cp, - NULL, NULL, NULL) > 0) - return 0; - - return -EIO; -} - -static int adapter_register(struct btd_adapter *adapter) -{ - struct agent *agent; - - if (powering_down) - return -EBUSY; - - adapter->path = g_strdup_printf("/org/bluez/hci%d", adapter->dev_id); - - if (!g_dbus_register_interface(dbus_conn, - adapter->path, ADAPTER_INTERFACE, - adapter_methods, NULL, - adapter_properties, adapter, - adapter_free)) { - error("Adapter interface init failed on path %s", - adapter->path); - g_free(adapter->path); - adapter->path = NULL; - return -EINVAL; - } - - if (adapters == NULL) - adapter->is_default = true; - - adapters = g_slist_append(adapters, adapter); - - agent = agent_get(NULL); - if (agent) { - uint8_t io_cap = agent_get_io_capability(agent); - adapter_set_io_capability(adapter, io_cap); - agent_unref(agent); - } - - sdp_init_services_list(&adapter->bdaddr); - - btd_adapter_gatt_server_start(adapter); - - load_config(adapter); - fix_storage(adapter); - load_drivers(adapter); - btd_profile_foreach(probe_profile, adapter); - clear_blocked(adapter); - load_devices(adapter); - - /* retrieve the active connections: address the scenario where - * the are active connections before the daemon've started */ - if (adapter->current_settings & MGMT_SETTING_POWERED) - load_connections(adapter); - - adapter->initialized = TRUE; - - if (main_opts.did_source) - set_did(adapter, main_opts.did_vendor, main_opts.did_product, - main_opts.did_version, main_opts.did_source); - - DBG("Adapter %s registered", adapter->path); - - return 0; -} - -static int adapter_unregister(struct btd_adapter *adapter) -{ - DBG("Unregister path: %s", adapter->path); - - adapters = g_slist_remove(adapters, adapter); - - if (adapter->is_default && adapters != NULL) { - struct btd_adapter *new_default; - - new_default = adapter_find_by_id(hci_get_route(NULL)); - if (new_default == NULL) - new_default = adapters->data; - - new_default->is_default = true; - } - - adapter_list = g_list_remove(adapter_list, adapter); - - adapter_remove(adapter); - btd_adapter_unref(adapter); - - return 0; -} - -static void disconnected_callback(uint16_t index, uint16_t length, - const void *param, void *user_data) -{ - const struct mgmt_ev_device_disconnected *ev = param; - struct btd_adapter *adapter = user_data; - uint8_t reason; - - if (length < sizeof(struct mgmt_addr_info)) { - error("Too small device disconnected event"); - return; - } - - if (length < sizeof(*ev)) - reason = MGMT_DEV_DISCONN_UNKNOWN; - else - reason = ev->reason; - - dev_disconnected(adapter, &ev->addr, reason); -} - -static void connected_callback(uint16_t index, uint16_t length, - const void *param, void *user_data) -{ - const struct mgmt_ev_device_connected *ev = param; - struct btd_adapter *adapter = user_data; - struct btd_device *device; - struct eir_data eir_data; - uint16_t eir_len; - char addr[18]; - - if (length < sizeof(*ev)) { - error("Too small device connected event"); - return; - } - - eir_len = btohs(ev->eir_len); - if (length < sizeof(*ev) + eir_len) { - error("Too small device connected event"); - return; - } - - ba2str(&ev->addr.bdaddr, addr); - - DBG("hci%u device %s connected eir_len %u", index, addr, eir_len); - - device = adapter_get_device(adapter, &ev->addr.bdaddr, ev->addr.type); - if (!device) { - error("Unable to get device object for %s", addr); - return; - } - - memset(&eir_data, 0, sizeof(eir_data)); - if (eir_len > 0) - eir_parse(&eir_data, ev->eir, eir_len); - - if (eir_data.class != 0) - device_set_class(device, eir_data.class); - - adapter_add_connection(adapter, device); - - if (eir_data.name != NULL) { - const bdaddr_t *bdaddr = adapter_get_address(adapter); - adapter_store_cached_name(bdaddr, &ev->addr.bdaddr, - eir_data.name); - device_set_name(device, eir_data.name); - } - - eir_data_free(&eir_data); -} - -static void device_blocked_callback(uint16_t index, uint16_t length, - const void *param, void *user_data) -{ - const struct mgmt_ev_device_blocked *ev = param; - struct btd_adapter *adapter = user_data; - struct btd_device *device; - char addr[18]; - - if (length < sizeof(*ev)) { - error("Too small device blocked event"); - return; - } - - ba2str(&ev->addr.bdaddr, addr); - DBG("hci%u %s blocked", index, addr); - - device = adapter_find_device(adapter, &ev->addr.bdaddr); - if (device) - device_block(device, TRUE); -} - -static void device_unblocked_callback(uint16_t index, uint16_t length, - const void *param, void *user_data) -{ - const struct mgmt_ev_device_unblocked *ev = param; - struct btd_adapter *adapter = user_data; - struct btd_device *device; - char addr[18]; - - if (length < sizeof(*ev)) { - error("Too small device unblocked event"); - return; - } - - ba2str(&ev->addr.bdaddr, addr); - DBG("hci%u %s unblocked", index, addr); - - device = adapter_find_device(adapter, &ev->addr.bdaddr); - if (device) - device_unblock(device, FALSE, TRUE); -} - -static void connect_failed_callback(uint16_t index, uint16_t length, - const void *param, void *user_data) -{ - const struct mgmt_ev_connect_failed *ev = param; - struct btd_adapter *adapter = user_data; - struct btd_device *device; - char addr[18]; - - if (length < sizeof(*ev)) { - error("Too small connect failed event"); - return; - } - - ba2str(&ev->addr.bdaddr, addr); - - DBG("hci%u %s status %u", index, addr, ev->status); - - device = adapter_find_device(adapter, &ev->addr.bdaddr); - if (device) { - if (device_is_bonding(device, NULL)) - device_bonding_failed(device, ev->status); - if (device_is_temporary(device)) - adapter_remove_device(adapter, device, TRUE); - } - - /* In the case of security mode 3 devices */ - bonding_complete(adapter, &ev->addr.bdaddr, ev->addr.type, ev->status); -} - -static void unpaired_callback(uint16_t index, uint16_t length, - const void *param, void *user_data) -{ - const struct mgmt_ev_device_unpaired *ev = param; - struct btd_adapter *adapter = user_data; - struct btd_device *device; - char addr[18]; - - if (length < sizeof(*ev)) { - error("Too small device unpaired event"); - return; - } - - ba2str(&ev->addr.bdaddr, addr); - - DBG("hci%u addr %s", index, addr); - - device = adapter_find_device(adapter, &ev->addr.bdaddr); - if (!device) { - warn("No device object for unpaired device %s", addr); - return; - } - - device_set_temporary(device, TRUE); - - if (device_is_connected(device)) - device_request_disconnect(device, NULL); - else - adapter_remove_device(adapter, device, TRUE); -} - -static void read_info_complete(uint8_t status, uint16_t length, - const void *param, void *user_data) -{ - struct btd_adapter *adapter = user_data; - const struct mgmt_rp_read_info *rp = param; - int err; - - DBG("index %u status 0x%02x", adapter->dev_id, status); - - if (status != MGMT_STATUS_SUCCESS) { - error("Failed to read info for index %u: %s (0x%02x)", - adapter->dev_id, mgmt_errstr(status), status); - goto failed; - } - - if (length < sizeof(*rp)) { - error("Too small read info complete response"); - goto failed; - } - - if (bacmp(&rp->bdaddr, BDADDR_ANY) == 0) { - error("No Bluetooth address for index %u", adapter->dev_id); - goto failed; - } - - /* - * Store controller information for device address, class of device, - * device name, short name and settings. - * - * During the lifetime of the controller these will be updated by - * events and the information is required to keep the current - * state of the controller. - */ - bacpy(&adapter->bdaddr, &rp->bdaddr); - adapter->dev_class = rp->dev_class[0] | (rp->dev_class[1] << 8) | - (rp->dev_class[2] << 16); - adapter->name = g_strdup((const char *) rp->name); - adapter->short_name = g_strdup((const char *) rp->short_name); - - adapter->supported_settings = btohs(rp->supported_settings); - adapter->current_settings = btohs(rp->current_settings); - - clear_uuids(adapter); - - err = adapter_register(adapter); - if (err < 0) { - error("Unable to register new adapter"); - goto failed; - } - - /* - * Register all event notification handlers for controller. - * - * The handlers are registered after a succcesful read of the - * controller info. From now on they can track updates and - * notifications. - */ - mgmt_register(adapter->mgmt, MGMT_EV_NEW_SETTINGS, adapter->dev_id, - new_settings_callback, adapter, NULL); - - mgmt_register(adapter->mgmt, MGMT_EV_CLASS_OF_DEV_CHANGED, - adapter->dev_id, - dev_class_changed_callback, - adapter, NULL); - mgmt_register(adapter->mgmt, MGMT_EV_LOCAL_NAME_CHANGED, - adapter->dev_id, - local_name_changed_callback, - adapter, NULL); - - mgmt_register(adapter->mgmt, MGMT_EV_DISCOVERING, - adapter->dev_id, - discovering_callback, - adapter, NULL); - - mgmt_register(adapter->mgmt, MGMT_EV_DEVICE_FOUND, - adapter->dev_id, - device_found_callback, - adapter, NULL); - - mgmt_register(adapter->mgmt, MGMT_EV_DEVICE_DISCONNECTED, - adapter->dev_id, - disconnected_callback, - adapter, NULL); - - mgmt_register(adapter->mgmt, MGMT_EV_DEVICE_CONNECTED, - adapter->dev_id, - connected_callback, - adapter, NULL); - - mgmt_register(adapter->mgmt, MGMT_EV_CONNECT_FAILED, - adapter->dev_id, - connect_failed_callback, - adapter, NULL); - - mgmt_register(adapter->mgmt, MGMT_EV_DEVICE_UNPAIRED, - adapter->dev_id, - unpaired_callback, - adapter, NULL); - - mgmt_register(adapter->mgmt, MGMT_EV_AUTH_FAILED, - adapter->dev_id, - auth_failed_callback, - adapter, NULL); - - mgmt_register(adapter->mgmt, MGMT_EV_NEW_LINK_KEY, - adapter->dev_id, - new_link_key_callback, - adapter, NULL); - - mgmt_register(adapter->mgmt, MGMT_EV_NEW_LONG_TERM_KEY, - adapter->dev_id, - new_long_term_key_callback, - adapter, NULL); - - mgmt_register(adapter->mgmt, MGMT_EV_DEVICE_BLOCKED, - adapter->dev_id, - device_blocked_callback, - adapter, NULL); - mgmt_register(adapter->mgmt, MGMT_EV_DEVICE_UNBLOCKED, - adapter->dev_id, - device_unblocked_callback, - adapter, NULL); - - mgmt_register(adapter->mgmt, MGMT_EV_PIN_CODE_REQUEST, - adapter->dev_id, - pin_code_request_callback, - adapter, NULL); - - mgmt_register(adapter->mgmt, MGMT_EV_USER_CONFIRM_REQUEST, - adapter->dev_id, - user_confirm_request_callback, - adapter, NULL); - - mgmt_register(adapter->mgmt, MGMT_EV_USER_PASSKEY_REQUEST, - adapter->dev_id, - user_passkey_request_callback, - adapter, NULL); - - mgmt_register(adapter->mgmt, MGMT_EV_PASSKEY_NOTIFY, - adapter->dev_id, - user_passkey_notify_callback, - adapter, NULL); - - set_dev_class(adapter); - - set_name(adapter, btd_adapter_get_name(adapter)); - - if ((adapter->supported_settings & MGMT_SETTING_SSP) && - !(adapter->current_settings & MGMT_SETTING_SSP)) - set_mode(adapter, MGMT_OP_SET_SSP, 0x01); - - if ((adapter->supported_settings & MGMT_SETTING_LE) && - !(adapter->current_settings & MGMT_SETTING_LE)) - set_mode(adapter, MGMT_OP_SET_LE, 0x01); - - set_mode(adapter, MGMT_OP_SET_PAIRABLE, 0x01); - set_mode(adapter, MGMT_OP_SET_CONNECTABLE, 0x01); - - if (adapter->stored_discoverable && !adapter->discoverable_timeout) - set_discoverable(adapter, 0x01, 0); - - if (adapter->current_settings & MGMT_SETTING_POWERED) - adapter_start(adapter); - - return; - -failed: - /* - * Remove adapter from list in case of a failure. - * - * Leaving an adapter structure around for a controller that can - * not be initilized makes no sense at the moment. - * - * This is a simplification to avoid constant checks if the - * adapter is ready to do anything. - */ - adapter_list = g_list_remove(adapter_list, adapter); - - btd_adapter_unref(adapter); -} - -static void index_added(uint16_t index, uint16_t length, const void *param, - void *user_data) -{ - struct btd_adapter *adapter; - - DBG("index %u", index); - - adapter = btd_adapter_lookup(index); - if (adapter) { - warn("Ignoring index added for an already existing adapter"); - return; - } - - adapter = btd_adapter_new(index); - if (!adapter) { - error("Unable to create new adapter for index %u", index); - return; - } - - /* - * Protect against potential two executions of read controller info. - * - * In case the start of the daemon and the action of adding a new - * controller coincide this function might be called twice. - * - * To avoid the double execution of reading the controller info, - * add the adapter already to the list. If an adapter is already - * present, the second notification will cause a warning. If the - * command fails the adapter is removed from the list again. - */ - adapter_list = g_list_append(adapter_list, adapter); - - DBG("sending read info command for index %u", index); - - if (mgmt_send(mgmt_master, MGMT_OP_READ_INFO, index, 0, NULL, - read_info_complete, adapter, NULL) > 0) - return; - - error("Failed to read controller info for index %u", index); - - adapter_list = g_list_remove(adapter_list, adapter); - - btd_adapter_unref(adapter); -} - -static void index_removed(uint16_t index, uint16_t length, const void *param, - void *user_data) -{ - struct btd_adapter *adapter; - - DBG("index %u", index); - - adapter = btd_adapter_lookup(index); - if (!adapter) { - warn("Ignoring index removal for a non-existent adapter"); - return; - } - - adapter_unregister(adapter); -} - -static void read_index_list_complete(uint8_t status, uint16_t length, - const void *param, void *user_data) -{ - const struct mgmt_rp_read_index_list *rp = param; - uint16_t num; - int i; - - if (status != MGMT_STATUS_SUCCESS) { - error("Failed to read index list: %s (0x%02x)", - mgmt_errstr(status), status); - return; - } - - if (length < sizeof(*rp)) { - error("Wrong size of read index list response"); - return; - } - - num = btohs(rp->num_controllers); - - DBG("Number of controllers: %d", num); - - if (num * sizeof(uint16_t) + sizeof(*rp) != length) { - error("Incorrect packet size for index list response"); - return; - } - - for (i = 0; i < num; i++) { - uint16_t index; - - index = btohs(rp->index[i]); - - DBG("Found index %u", index); - - /* - * Pretend to be index added event notification. - * - * It is safe to just trigger the procedure for index - * added notification. It does check against itself. - */ - index_added(index, 0, NULL, NULL); - } -} - -static void read_commands_complete(uint8_t status, uint16_t length, - const void *param, void *user_data) -{ - const struct mgmt_rp_read_commands *rp = param; - uint16_t num_commands, num_events; - - if (status != MGMT_STATUS_SUCCESS) { - error("Failed to read supported commands: %s (0x%02x)", - mgmt_errstr(status), status); - return; - } - - if (length < sizeof(*rp)) { - error("Wrong size of read commands response"); - return; - } - - num_commands = btohs(rp->num_commands); - num_events = btohs(rp->num_events); - - DBG("Number of commands: %d", num_commands); - DBG("Number of events: %d", num_events); -} - -static void read_version_complete(uint8_t status, uint16_t length, - const void *param, void *user_data) -{ - const struct mgmt_rp_read_version *rp = param; - - if (status != MGMT_STATUS_SUCCESS) { - error("Failed to read version information: %s (0x%02x)", - mgmt_errstr(status), status); - return; - } - - if (length < sizeof(*rp)) { - error("Wrong size of read version response"); - return; - } - - mgmt_version = rp->version; - mgmt_revision = btohs(rp->revision); - - info("Bluetooth management interface %u.%u initialized", - mgmt_version, mgmt_revision); - - if (mgmt_version < 1) { - error("Version 1.0 or later of management interface required"); - abort(); - } - - DBG("sending read supported commands command"); - - /* - * It is irrelevant if this command succeeds or fails. In case of - * failure safe settings are assumed. - */ - mgmt_send(mgmt_master, MGMT_OP_READ_COMMANDS, - MGMT_INDEX_NONE, 0, NULL, - read_commands_complete, NULL, NULL); - - mgmt_register(mgmt_master, MGMT_EV_INDEX_ADDED, MGMT_INDEX_NONE, - index_added, NULL, NULL); - mgmt_register(mgmt_master, MGMT_EV_INDEX_REMOVED, MGMT_INDEX_NONE, - index_removed, NULL, NULL); - - DBG("sending read index list command"); - - if (mgmt_send(mgmt_master, MGMT_OP_READ_INDEX_LIST, - MGMT_INDEX_NONE, 0, NULL, - read_index_list_complete, NULL, NULL) > 0) - return; - - error("Failed to read controller index list"); -} - -static void mgmt_debug(const char *str, void *user_data) -{ - const char *prefix = user_data; - - info("%s%s", prefix, str); -} - -int adapter_init(void) -{ - dbus_conn = btd_get_dbus_connection(); - - mgmt_master = mgmt_new_default(); - if (!mgmt_master) { - error("Failed to access management interface"); - return -EIO; - } - - if (getenv("MGMT_DEBUG")) - mgmt_set_debug(mgmt_master, mgmt_debug, "mgmt: ", NULL); - - DBG("sending read version command"); - - if (mgmt_send(mgmt_master, MGMT_OP_READ_VERSION, - MGMT_INDEX_NONE, 0, NULL, - read_version_complete, NULL, NULL) > 0) - return 0; - - error("Failed to read management version information"); - - return -EIO; -} - -void adapter_cleanup(void) -{ - g_list_free(adapter_list); - - while (adapters) { - struct btd_adapter *adapter = adapters->data; - - adapter_remove(adapter); - adapters = g_slist_remove(adapters, adapter); - btd_adapter_unref(adapter); - } - - /* - * In case there is another reference active, clear out - * registered handlers for index added and index removed. - * - * This is just an extra precaution to be safe, and in - * reality should not make a difference. - */ - mgmt_unregister_index(mgmt_master, MGMT_INDEX_NONE); - - /* - * In case there is another reference active, cancel - * all pending global commands. - * - * This is just an extra precaution to avoid callbacks - * that potentially then could leak memory or access - * an invalid structure. - */ - mgmt_cancel_index(mgmt_master, MGMT_INDEX_NONE); - - mgmt_unref(mgmt_master); - mgmt_master = NULL; - - dbus_conn = NULL; -} - -void adapter_shutdown(void) -{ - GList *list; - - DBG(""); - - powering_down = true; - - for (list = g_list_first(adapter_list); list; - list = g_list_next(list)) { - struct btd_adapter *adapter = list->data; - - if (!(adapter->current_settings & MGMT_SETTING_POWERED)) - continue; - - set_mode(adapter, MGMT_OP_SET_POWERED, 0x00); - - adapter_remaining++; - } - - if (!adapter_remaining) - btd_exit(); -} diff --git a/GRIB_BLE_HUB/libs/ble_extend/src/adapter.h b/GRIB_BLE_HUB/libs/ble_extend/src/adapter.h deleted file mode 100644 index 8d23a64..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/src/adapter.h +++ /dev/null @@ -1,208 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2006-2010 Nokia Corporation - * Copyright (C) 2004-2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#include -#include -#include -#include -#include -#include -#include - -#define MAX_NAME_LENGTH 248 - -/* Invalid SSP passkey value used to indicate negative replies */ -#define INVALID_PASSKEY 0xffffffff - -struct btd_adapter; - -struct btd_adapter *btd_adapter_get_default(void); -bool btd_adapter_is_default(struct btd_adapter *adapter); -uint16_t btd_adapter_get_index(struct btd_adapter *adapter); - -typedef void (*adapter_cb) (struct btd_adapter *adapter, gpointer user_data); - -typedef void (*oob_read_local_cb_t) (struct btd_adapter *adapter, - const uint8_t *hash, - const uint8_t *randomizer, - void *user_data); -typedef void (*oob_bonding_cb_t) (struct btd_adapter *adapter, - const bdaddr_t *bdaddr, uint8_t status, - void *user_data); - -struct oob_handler { - oob_read_local_cb_t read_local_cb; - oob_bonding_cb_t bonding_cb; - bdaddr_t remote_addr; - void *user_data; -}; - -struct link_key_info { - bdaddr_t bdaddr; - unsigned char key[16]; - uint8_t type; - uint8_t pin_len; -}; - -struct smp_ltk_info { - bdaddr_t bdaddr; - uint8_t bdaddr_type; - uint8_t authenticated; - uint8_t master; - uint8_t enc_size; - uint16_t ediv; - uint8_t rand[8]; - uint8_t val[16]; -}; - -int adapter_init(void); -void adapter_cleanup(void); -void adapter_shutdown(void); - -struct btd_adapter *adapter_find(const bdaddr_t *sba); -struct btd_adapter *adapter_find_by_id(int id); -struct btd_adapter *adapter_get_default(void); -void adapter_foreach(adapter_cb func, gpointer user_data); - -bool btd_adapter_get_pairable(struct btd_adapter *adapter); -bool btd_adapter_get_powered(struct btd_adapter *adapter); -bool btd_adapter_get_connectable(struct btd_adapter *adapter); - -uint32_t btd_adapter_get_class(struct btd_adapter *adapter); -const char *btd_adapter_get_name(struct btd_adapter *adapter); -struct btd_device *adapter_get_device(struct btd_adapter *adapter, - const bdaddr_t *addr, - uint8_t addr_type); -sdp_list_t *btd_adapter_get_services(struct btd_adapter *adapter); - -struct btd_device *adapter_find_device(struct btd_adapter *adapter, - const bdaddr_t *dst); - -const char *adapter_get_path(struct btd_adapter *adapter); -const bdaddr_t *adapter_get_address(struct btd_adapter *adapter); -int adapter_set_name(struct btd_adapter *adapter, const char *name); -void adapter_service_insert(struct btd_adapter *adapter, void *rec); -void adapter_service_remove(struct btd_adapter *adapter, void *rec); - -struct agent *adapter_get_agent(struct btd_adapter *adapter); - -struct btd_adapter *btd_adapter_ref(struct btd_adapter *adapter); -void btd_adapter_unref(struct btd_adapter *adapter); - -void btd_adapter_set_class(struct btd_adapter *adapter, uint8_t major, - uint8_t minor); - -struct btd_adapter_driver { - const char *name; - int (*probe) (struct btd_adapter *adapter); - void (*remove) (struct btd_adapter *adapter); -}; - -typedef void (*service_auth_cb) (DBusError *derr, void *user_data); - -void adapter_add_profile(struct btd_adapter *adapter, gpointer p); -void adapter_remove_profile(struct btd_adapter *adapter, gpointer p); -int btd_register_adapter_driver(struct btd_adapter_driver *driver); -void btd_unregister_adapter_driver(struct btd_adapter_driver *driver); -guint btd_request_authorization(const bdaddr_t *src, const bdaddr_t *dst, - const char *uuid, service_auth_cb cb, void *user_data); -int btd_cancel_authorization(guint id); - -int btd_adapter_restore_powered(struct btd_adapter *adapter); - -typedef ssize_t (*btd_adapter_pin_cb_t) (struct btd_adapter *adapter, - struct btd_device *dev, char *out, gboolean *display); -void btd_adapter_register_pin_cb(struct btd_adapter *adapter, - btd_adapter_pin_cb_t cb); -void btd_adapter_unregister_pin_cb(struct btd_adapter *adapter, - btd_adapter_pin_cb_t cb); - -/* If TRUE, enables fast connectabe, i.e. reduces page scan interval and changes - * type. If FALSE, disables fast connectable, i.e. sets page scan interval and - * type to default values. Valid for both connectable and discoverable modes. */ -int btd_adapter_set_fast_connectable(struct btd_adapter *adapter, - gboolean enable); - -int btd_adapter_read_clock(struct btd_adapter *adapter, const bdaddr_t *bdaddr, - int which, int timeout, uint32_t *clock, - uint16_t *accuracy); - -int btd_adapter_block_address(struct btd_adapter *adapter, - const bdaddr_t *bdaddr, uint8_t bdaddr_type); -int btd_adapter_unblock_address(struct btd_adapter *adapter, - const bdaddr_t *bdaddr, uint8_t bdaddr_type); - -int btd_adapter_disconnect_device(struct btd_adapter *adapter, - const bdaddr_t *bdaddr, - uint8_t bdaddr_type); - -int btd_adapter_remove_bonding(struct btd_adapter *adapter, - const bdaddr_t *bdaddr, uint8_t bdaddr_type); - -int btd_adapter_pincode_reply(struct btd_adapter *adapter, - const bdaddr_t *bdaddr, - const char *pin, size_t pin_len); -int btd_adapter_confirm_reply(struct btd_adapter *adapter, - const bdaddr_t *bdaddr, uint8_t bdaddr_type, - gboolean success); -int btd_adapter_passkey_reply(struct btd_adapter *adapter, - const bdaddr_t *bdaddr, uint8_t bdaddr_type, - uint32_t passkey); - -int adapter_create_bonding(struct btd_adapter *adapter, const bdaddr_t *bdaddr, - uint8_t addr_type, uint8_t io_cap); - -int adapter_cancel_bonding(struct btd_adapter *adapter, const bdaddr_t *bdaddr, - uint8_t addr_type); - -int adapter_set_io_capability(struct btd_adapter *adapter, uint8_t io_cap); - -int btd_adapter_read_local_oob_data(struct btd_adapter *adapter); - -int btd_adapter_add_remote_oob_data(struct btd_adapter *adapter, - const bdaddr_t *bdaddr, - uint8_t *hash, uint8_t *randomizer); - -int btd_adapter_remove_remote_oob_data(struct btd_adapter *adapter, - const bdaddr_t *bdaddr); - -int btd_adapter_gatt_server_start(struct btd_adapter *adapter); -void btd_adapter_gatt_server_stop(struct btd_adapter *adapter); - -bool btd_adapter_ssp_enabled(struct btd_adapter *adapter); - -int adapter_connect_list_add(struct btd_adapter *adapter, - struct btd_device *device); -void adapter_connect_list_remove(struct btd_adapter *adapter, - struct btd_device *device); - -void btd_adapter_set_oob_handler(struct btd_adapter *adapter, - struct oob_handler *handler); -gboolean btd_adapter_check_oob_handler(struct btd_adapter *adapter); -void adapter_store_cached_name(const bdaddr_t *local, const bdaddr_t *peer, - const char *name); - -void btd_adapter_for_each_device(struct btd_adapter *adapter, - void (*cb)(struct btd_device *device, void *data), - void *data); diff --git a/GRIB_BLE_HUB/libs/ble_extend/src/agent.c b/GRIB_BLE_HUB/libs/ble_extend/src/agent.c deleted file mode 100644 index 0fde3ef..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/src/agent.c +++ /dev/null @@ -1,1011 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2006-2010 Nokia Corporation - * Copyright (C) 2004-2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include -#include -#include -#include -#include - -#include -#include - -#include -#include -#include - -#include "log.h" -#include "error.h" -#include "dbus-common.h" -#include "adapter.h" -#include "device.h" -#include "agent.h" - -#define IO_CAPABILITY_DISPLAYONLY 0x00 -#define IO_CAPABILITY_DISPLAYYESNO 0x01 -#define IO_CAPABILITY_KEYBOARDONLY 0x02 -#define IO_CAPABILITY_NOINPUTNOOUTPUT 0x03 -#define IO_CAPABILITY_KEYBOARDDISPLAY 0x04 -#define IO_CAPABILITY_INVALID 0xFF - -#define REQUEST_TIMEOUT (60 * 1000) /* 60 seconds */ -#define AGENT_INTERFACE "org.bluez.Agent1" - -static GHashTable *agent_list; -static struct agent *default_agent = NULL; - -typedef enum { - AGENT_REQUEST_PASSKEY, - AGENT_REQUEST_CONFIRMATION, - AGENT_REQUEST_AUTHORIZATION, - AGENT_REQUEST_PINCODE, - AGENT_REQUEST_AUTHORIZE_SERVICE, - AGENT_REQUEST_CONFIRM_MODE, - AGENT_REQUEST_DISPLAY_PINCODE, -} agent_request_type_t; - -struct agent { - int ref; - char *owner; - char *path; - uint8_t capability; - struct agent_request *request; - guint watch; -}; - -struct agent_request { - agent_request_type_t type; - struct agent *agent; - DBusMessage *msg; - DBusPendingCall *call; - void *cb; - void *user_data; - GDestroyNotify destroy; -}; - -static void agent_release(struct agent *agent) -{ - DBusMessage *message; - - DBG("Releasing agent %s, %s", agent->owner, agent->path); - - if (agent->request) - agent_cancel(agent); - - message = dbus_message_new_method_call(agent->owner, agent->path, - AGENT_INTERFACE, "Release"); - if (message == NULL) { - error("Couldn't allocate D-Bus message"); - return; - } - - g_dbus_send_message(btd_get_dbus_connection(), message); -} - -static int send_cancel_request(struct agent_request *req) -{ - DBusMessage *message; - - DBG("Sending Cancel request to %s, %s", req->agent->owner, - req->agent->path); - - message = dbus_message_new_method_call(req->agent->owner, req->agent->path, - AGENT_INTERFACE, "Cancel"); - if (message == NULL) { - error("Couldn't allocate D-Bus message"); - return -ENOMEM; - } - - g_dbus_send_message(btd_get_dbus_connection(), message); - - return 0; -} - -static void agent_request_free(struct agent_request *req, gboolean destroy) -{ - if (req->msg) - dbus_message_unref(req->msg); - if (req->call) - dbus_pending_call_unref(req->call); - if (req->agent && req->agent->request) - req->agent->request = NULL; - if (destroy && req->destroy) - req->destroy(req->user_data); - g_free(req); -} - -static void set_io_cap(struct btd_adapter *adapter, gpointer user_data) -{ - struct agent *agent = user_data; - uint8_t io_cap; - - if (agent) - io_cap = agent->capability; - else - io_cap = IO_CAPABILITY_NOINPUTNOOUTPUT; - - adapter_set_io_capability(adapter, io_cap); -} - -static void set_default_agent(struct agent *agent) -{ - if (default_agent == agent) - return; - - default_agent = agent; - - adapter_foreach(set_io_cap, agent); -} - -static void agent_disconnect(DBusConnection *conn, void *user_data) -{ - struct agent *agent = user_data; - - DBG("Agent %s disconnected", agent->owner); - - if (agent->watch > 0) { - g_dbus_remove_watch(conn, agent->watch); - agent->watch = 0; - } - - if (agent == default_agent) - set_default_agent(NULL); - - g_hash_table_remove(agent_list, agent->owner); -} - -struct agent *agent_ref(struct agent *agent) -{ - agent->ref++; - - DBG("%p: ref=%d", agent, agent->ref); - - return agent; -} - -void agent_unref(struct agent *agent) -{ - agent->ref--; - - DBG("%p: ref=%d", agent, agent->ref); - - if (agent->ref > 0) - return; - - if (agent->request) { - DBusError err; - agent_pincode_cb pincode_cb; - agent_passkey_cb passkey_cb; - agent_cb cb; - - dbus_error_init(&err); - dbus_set_error_const(&err, ERROR_INTERFACE ".Failed", - "Canceled"); - - switch (agent->request->type) { - case AGENT_REQUEST_PINCODE: - pincode_cb = agent->request->cb; - pincode_cb(agent, &err, NULL, agent->request->user_data); - break; - case AGENT_REQUEST_PASSKEY: - passkey_cb = agent->request->cb; - passkey_cb(agent, &err, 0, agent->request->user_data); - break; - default: - cb = agent->request->cb; - cb(agent, &err, agent->request->user_data); - } - - dbus_error_free(&err); - - agent_cancel(agent); - } - - g_free(agent->owner); - g_free(agent->path); - - g_free(agent); -} - -struct agent *agent_get(const char *owner) -{ - struct agent *agent; - - if (owner) { - agent = g_hash_table_lookup(agent_list, owner); - if (agent) - return agent_ref(agent); - } - - if (default_agent) - return agent_ref(default_agent); - - return NULL; -} - -static struct agent *agent_create( const char *name, const char *path, - uint8_t capability) -{ - struct agent *agent; - - agent = g_new0(struct agent, 1); - - agent->owner = g_strdup(name); - agent->path = g_strdup(path); - agent->capability = capability; - - agent->watch = g_dbus_add_disconnect_watch(btd_get_dbus_connection(), - name, agent_disconnect, - agent, NULL); - - return agent_ref(agent); -} - -static struct agent_request *agent_request_new(struct agent *agent, - agent_request_type_t type, - void *cb, - void *user_data, - GDestroyNotify destroy) -{ - struct agent_request *req; - - req = g_new0(struct agent_request, 1); - - req->agent = agent; - req->type = type; - req->cb = cb; - req->user_data = user_data; - req->destroy = destroy; - - return req; -} - -int agent_cancel(struct agent *agent) -{ - if (!agent->request) - return -EINVAL; - - if (agent->request->call) { - dbus_pending_call_cancel(agent->request->call); - send_cancel_request(agent->request); - } - - agent_request_free(agent->request, TRUE); - agent->request = NULL; - - return 0; -} - -static void simple_agent_reply(DBusPendingCall *call, void *user_data) -{ - struct agent_request *req = user_data; - struct agent *agent = req->agent; - DBusMessage *message; - DBusError err; - agent_cb cb = req->cb; - - /* steal_reply will always return non-NULL since the callback - * is only called after a reply has been received */ - message = dbus_pending_call_steal_reply(call); - - dbus_error_init(&err); - if (dbus_set_error_from_message(&err, message)) { - DBG("agent error reply: %s, %s", err.name, err.message); - - cb(agent, &err, req->user_data); - - if (dbus_error_has_name(&err, DBUS_ERROR_NO_REPLY)) { - error("Timed out waiting for reply from agent"); - agent_cancel(agent); - dbus_message_unref(message); - dbus_error_free(&err); - return; - } - - dbus_error_free(&err); - goto done; - } - - if (!dbus_message_get_args(message, &err, DBUS_TYPE_INVALID)) { - error("Wrong reply signature: %s", err.message); - cb(agent, &err, req->user_data); - dbus_error_free(&err); - goto done; - } - - cb(agent, NULL, req->user_data); -done: - dbus_message_unref(message); - - agent->request = NULL; - agent_request_free(req, TRUE); -} - -static int agent_call_authorize_service(struct agent_request *req, - const char *device_path, - const char *uuid) -{ - struct agent *agent = req->agent; - - req->msg = dbus_message_new_method_call(agent->owner, agent->path, - AGENT_INTERFACE, "AuthorizeService"); - if (!req->msg) { - error("Couldn't allocate D-Bus message"); - return -ENOMEM; - } - - dbus_message_append_args(req->msg, - DBUS_TYPE_OBJECT_PATH, &device_path, - DBUS_TYPE_STRING, &uuid, - DBUS_TYPE_INVALID); - - if (dbus_connection_send_with_reply(btd_get_dbus_connection(), - req->msg, &req->call, - REQUEST_TIMEOUT) == FALSE) { - error("D-Bus send failed"); - return -EIO; - } - - dbus_pending_call_set_notify(req->call, simple_agent_reply, req, NULL); - return 0; -} - -int agent_authorize_service(struct agent *agent, const char *path, - const char *uuid, agent_cb cb, - void *user_data, GDestroyNotify destroy) -{ - struct agent_request *req; - int err; - - if (agent->request) - return -EBUSY; - - req = agent_request_new(agent, AGENT_REQUEST_AUTHORIZE_SERVICE, cb, - user_data, destroy); - - err = agent_call_authorize_service(req, path, uuid); - if (err < 0) { - agent_request_free(req, FALSE); - return -ENOMEM; - } - - agent->request = req; - - DBG("authorize service request was sent for %s", path); - - return 0; -} - -static void pincode_reply(DBusPendingCall *call, void *user_data) -{ - struct agent_request *req = user_data; - struct agent *agent = req->agent; - agent_pincode_cb cb = req->cb; - DBusMessage *message; - DBusError err; - size_t len; - char *pin; - - /* steal_reply will always return non-NULL since the callback - * is only called after a reply has been received */ - message = dbus_pending_call_steal_reply(call); - - dbus_error_init(&err); - if (dbus_set_error_from_message(&err, message)) { - error("Agent %s replied with an error: %s, %s", - agent->path, err.name, err.message); - - cb(agent, &err, NULL, req->user_data); - dbus_error_free(&err); - goto done; - } - - if (!dbus_message_get_args(message, &err, - DBUS_TYPE_STRING, &pin, - DBUS_TYPE_INVALID)) { - error("Wrong passkey reply signature: %s", err.message); - cb(agent, &err, NULL, req->user_data); - dbus_error_free(&err); - goto done; - } - - len = strlen(pin); - - if (len > 16 || len < 1) { - error("Invalid PIN length (%zu) from agent", len); - dbus_set_error_const(&err, ERROR_INTERFACE ".InvalidArgs", - "Invalid passkey length"); - cb(agent, &err, NULL, req->user_data); - dbus_error_free(&err); - goto done; - } - - cb(agent, NULL, pin, req->user_data); - -done: - if (message) - dbus_message_unref(message); - - dbus_pending_call_cancel(req->call); - agent->request = NULL; - agent_request_free(req, TRUE); -} - -static int pincode_request_new(struct agent_request *req, const char *device_path, - dbus_bool_t secure) -{ - struct agent *agent = req->agent; - - /* TODO: Add a new method or a new param to Agent interface to request - secure pin. */ - - req->msg = dbus_message_new_method_call(agent->owner, agent->path, - AGENT_INTERFACE, "RequestPinCode"); - if (req->msg == NULL) { - error("Couldn't allocate D-Bus message"); - return -ENOMEM; - } - - dbus_message_append_args(req->msg, DBUS_TYPE_OBJECT_PATH, &device_path, - DBUS_TYPE_INVALID); - - if (dbus_connection_send_with_reply(btd_get_dbus_connection(), req->msg, - &req->call, REQUEST_TIMEOUT) == FALSE) { - error("D-Bus send failed"); - return -EIO; - } - - dbus_pending_call_set_notify(req->call, pincode_reply, req, NULL); - return 0; -} - -int agent_request_pincode(struct agent *agent, struct btd_device *device, - agent_pincode_cb cb, gboolean secure, - void *user_data, GDestroyNotify destroy) -{ - struct agent_request *req; - const char *dev_path = device_get_path(device); - int err; - - if (agent->request) - return -EBUSY; - - req = agent_request_new(agent, AGENT_REQUEST_PINCODE, cb, - user_data, destroy); - - err = pincode_request_new(req, dev_path, secure); - if (err < 0) - goto failed; - - agent->request = req; - - return 0; - -failed: - agent_request_free(req, FALSE); - return err; -} - -static void passkey_reply(DBusPendingCall *call, void *user_data) -{ - struct agent_request *req = user_data; - struct agent *agent = req->agent; - agent_passkey_cb cb = req->cb; - DBusMessage *message; - DBusError err; - uint32_t passkey; - - /* steal_reply will always return non-NULL since the callback - * is only called after a reply has been received */ - message = dbus_pending_call_steal_reply(call); - - dbus_error_init(&err); - if (dbus_set_error_from_message(&err, message)) { - error("Agent replied with an error: %s, %s", - err.name, err.message); - cb(agent, &err, 0, req->user_data); - dbus_error_free(&err); - goto done; - } - - if (!dbus_message_get_args(message, &err, - DBUS_TYPE_UINT32, &passkey, - DBUS_TYPE_INVALID)) { - error("Wrong passkey reply signature: %s", err.message); - cb(agent, &err, 0, req->user_data); - dbus_error_free(&err); - goto done; - } - - cb(agent, NULL, passkey, req->user_data); - -done: - if (message) - dbus_message_unref(message); - - dbus_pending_call_cancel(req->call); - agent->request = NULL; - agent_request_free(req, TRUE); -} - -static int passkey_request_new(struct agent_request *req, - const char *device_path) -{ - struct agent *agent = req->agent; - - req->msg = dbus_message_new_method_call(agent->owner, agent->path, - AGENT_INTERFACE, "RequestPasskey"); - if (req->msg == NULL) { - error("Couldn't allocate D-Bus message"); - return -ENOMEM; - } - - dbus_message_append_args(req->msg, DBUS_TYPE_OBJECT_PATH, &device_path, - DBUS_TYPE_INVALID); - - if (dbus_connection_send_with_reply(btd_get_dbus_connection(), req->msg, - &req->call, REQUEST_TIMEOUT) == FALSE) { - error("D-Bus send failed"); - return -EIO; - } - - dbus_pending_call_set_notify(req->call, passkey_reply, req, NULL); - return 0; -} - -int agent_request_passkey(struct agent *agent, struct btd_device *device, - agent_passkey_cb cb, void *user_data, - GDestroyNotify destroy) -{ - struct agent_request *req; - const char *dev_path = device_get_path(device); - int err; - - if (agent->request) - return -EBUSY; - - DBG("Calling Agent.RequestPasskey: name=%s, path=%s", - agent->owner, agent->path); - - req = agent_request_new(agent, AGENT_REQUEST_PASSKEY, cb, - user_data, destroy); - - err = passkey_request_new(req, dev_path); - if (err < 0) - goto failed; - - agent->request = req; - - return 0; - -failed: - agent_request_free(req, FALSE); - return err; -} - -static int confirmation_request_new(struct agent_request *req, - const char *device_path, - uint32_t passkey) -{ - struct agent *agent = req->agent; - - req->msg = dbus_message_new_method_call(agent->owner, agent->path, - AGENT_INTERFACE, "RequestConfirmation"); - if (req->msg == NULL) { - error("Couldn't allocate D-Bus message"); - return -ENOMEM; - } - - dbus_message_append_args(req->msg, - DBUS_TYPE_OBJECT_PATH, &device_path, - DBUS_TYPE_UINT32, &passkey, - DBUS_TYPE_INVALID); - - if (dbus_connection_send_with_reply(btd_get_dbus_connection(), req->msg, - &req->call, REQUEST_TIMEOUT) == FALSE) { - error("D-Bus send failed"); - return -EIO; - } - - dbus_pending_call_set_notify(req->call, simple_agent_reply, req, NULL); - - return 0; -} - -int agent_request_confirmation(struct agent *agent, struct btd_device *device, - uint32_t passkey, agent_cb cb, - void *user_data, GDestroyNotify destroy) -{ - struct agent_request *req; - const char *dev_path = device_get_path(device); - int err; - - if (agent->request) - return -EBUSY; - - DBG("Calling Agent.RequestConfirmation: name=%s, path=%s, passkey=%06u", - agent->owner, agent->path, passkey); - - req = agent_request_new(agent, AGENT_REQUEST_CONFIRMATION, cb, - user_data, destroy); - - err = confirmation_request_new(req, dev_path, passkey); - if (err < 0) - goto failed; - - agent->request = req; - - return 0; - -failed: - agent_request_free(req, FALSE); - return err; -} - -static int authorization_request_new(struct agent_request *req, - const char *device_path) -{ - struct agent *agent = req->agent; - - req->msg = dbus_message_new_method_call(agent->owner, agent->path, - AGENT_INTERFACE, "RequestAuthorization"); - if (req->msg == NULL) { - error("Couldn't allocate D-Bus message"); - return -ENOMEM; - } - - dbus_message_append_args(req->msg, - DBUS_TYPE_OBJECT_PATH, &device_path, - DBUS_TYPE_INVALID); - - if (dbus_connection_send_with_reply(btd_get_dbus_connection(), req->msg, - &req->call, REQUEST_TIMEOUT) == FALSE) { - error("D-Bus send failed"); - return -EIO; - } - - dbus_pending_call_set_notify(req->call, simple_agent_reply, req, NULL); - - return 0; -} - -int agent_request_authorization(struct agent *agent, struct btd_device *device, - agent_cb cb, void *user_data, - GDestroyNotify destroy) -{ - struct agent_request *req; - const char *dev_path = device_get_path(device); - int err; - - if (agent->request) - return -EBUSY; - - DBG("Calling Agent.RequestAuthorization: name=%s, path=%s", - agent->owner, agent->path); - - req = agent_request_new(agent, AGENT_REQUEST_AUTHORIZATION, cb, - user_data, destroy); - - err = authorization_request_new(req, dev_path); - if (err < 0) - goto failed; - - agent->request = req; - - return 0; - -failed: - agent_request_free(req, FALSE); - return err; -} - -int agent_display_passkey(struct agent *agent, struct btd_device *device, - uint32_t passkey, uint16_t entered) -{ - DBusMessage *message; - const char *dev_path = device_get_path(device); - - message = dbus_message_new_method_call(agent->owner, agent->path, - AGENT_INTERFACE, "DisplayPasskey"); - if (!message) { - error("Couldn't allocate D-Bus message"); - return -1; - } - - dbus_message_append_args(message, - DBUS_TYPE_OBJECT_PATH, &dev_path, - DBUS_TYPE_UINT32, &passkey, - DBUS_TYPE_UINT16, &entered, - DBUS_TYPE_INVALID); - - if (!g_dbus_send_message(btd_get_dbus_connection(), message)) { - error("D-Bus send failed"); - return -1; - } - - return 0; -} - -static void display_pincode_reply(DBusPendingCall *call, void *user_data) -{ - struct agent_request *req = user_data; - struct agent *agent = req->agent; - DBusMessage *message; - DBusError err; - agent_cb cb = req->cb; - - /* clear agent->request early; our callback will likely try - * another request */ - agent->request = NULL; - - /* steal_reply will always return non-NULL since the callback - * is only called after a reply has been received */ - message = dbus_pending_call_steal_reply(call); - - dbus_error_init(&err); - if (dbus_set_error_from_message(&err, message)) { - error("Agent replied with an error: %s, %s", - err.name, err.message); - - cb(agent, &err, req->user_data); - - if (dbus_error_has_name(&err, DBUS_ERROR_NO_REPLY)) { - agent_cancel(agent); - dbus_message_unref(message); - dbus_error_free(&err); - return; - } - - dbus_error_free(&err); - goto done; - } - - if (!dbus_message_get_args(message, &err, DBUS_TYPE_INVALID)) { - error("Wrong reply signature: %s", err.message); - cb(agent, &err, req->user_data); - dbus_error_free(&err); - goto done; - } - - cb(agent, NULL, req->user_data); -done: - dbus_message_unref(message); - - agent_request_free(req, TRUE); -} - -static int display_pincode_request_new(struct agent_request *req, - const char *device_path, - const char *pincode) -{ - struct agent *agent = req->agent; - - req->msg = dbus_message_new_method_call(agent->owner, agent->path, - AGENT_INTERFACE, "DisplayPinCode"); - if (req->msg == NULL) { - error("Couldn't allocate D-Bus message"); - return -ENOMEM; - } - - dbus_message_append_args(req->msg, - DBUS_TYPE_OBJECT_PATH, &device_path, - DBUS_TYPE_STRING, &pincode, - DBUS_TYPE_INVALID); - - if (dbus_connection_send_with_reply(btd_get_dbus_connection(), req->msg, - &req->call, REQUEST_TIMEOUT) == FALSE) { - error("D-Bus send failed"); - return -EIO; - } - - dbus_pending_call_set_notify(req->call, display_pincode_reply, - req, NULL); - - return 0; -} - -int agent_display_pincode(struct agent *agent, struct btd_device *device, - const char *pincode, agent_cb cb, - void *user_data, GDestroyNotify destroy) -{ - struct agent_request *req; - const char *dev_path = device_get_path(device); - int err; - - if (agent->request) - return -EBUSY; - - DBG("Calling Agent.DisplayPinCode: name=%s, path=%s, pincode=%s", - agent->owner, agent->path, pincode); - - req = agent_request_new(agent, AGENT_REQUEST_DISPLAY_PINCODE, cb, - user_data, destroy); - - err = display_pincode_request_new(req, dev_path, pincode); - if (err < 0) - goto failed; - - agent->request = req; - - return 0; - -failed: - agent_request_free(req, FALSE); - return err; -} - -uint8_t agent_get_io_capability(struct agent *agent) -{ - return agent->capability; -} - -static void agent_destroy(gpointer data) -{ - struct agent *agent = data; - - DBG("agent %s", agent->owner); - - if (agent->watch > 0) { - g_dbus_remove_watch(btd_get_dbus_connection(), agent->watch); - agent->watch = 0; - agent_release(agent); - } - - agent_unref(agent); -} - -static uint8_t parse_io_capability(const char *capability) -{ - if (g_str_equal(capability, "")) - return IO_CAPABILITY_DISPLAYYESNO; - if (g_str_equal(capability, "DisplayOnly")) - return IO_CAPABILITY_DISPLAYONLY; - if (g_str_equal(capability, "DisplayYesNo")) - return IO_CAPABILITY_DISPLAYYESNO; - if (g_str_equal(capability, "KeyboardOnly")) - return IO_CAPABILITY_KEYBOARDONLY; - if (g_str_equal(capability, "NoInputNoOutput")) - return IO_CAPABILITY_NOINPUTNOOUTPUT; - if (g_str_equal(capability, "KeyboardDisplay")) - return IO_CAPABILITY_KEYBOARDDISPLAY; - return IO_CAPABILITY_INVALID; -} - -static DBusMessage *register_agent(DBusConnection *conn, - DBusMessage *msg, void *user_data) -{ - struct agent *agent; - const char *sender, *path, *capability; - uint8_t cap; - - sender = dbus_message_get_sender(msg); - - agent = g_hash_table_lookup(agent_list, sender); - if (agent) - return btd_error_already_exists(msg); - - if (dbus_message_get_args(msg, NULL, DBUS_TYPE_OBJECT_PATH, &path, - DBUS_TYPE_STRING, &capability, - DBUS_TYPE_INVALID) == FALSE) - return btd_error_invalid_args(msg); - - cap = parse_io_capability(capability); - if (cap == IO_CAPABILITY_INVALID) - return btd_error_invalid_args(msg); - - agent = agent_create(sender, path, cap); - if (!agent) - return btd_error_invalid_args(msg); - - DBG("agent %s", agent->owner); - - g_hash_table_replace(agent_list, agent->owner, agent); - - return dbus_message_new_method_return(msg); -} - -static DBusMessage *unregister_agent(DBusConnection *conn, - DBusMessage *msg, void *user_data) -{ - struct agent *agent; - const char *sender, *path; - - sender = dbus_message_get_sender(msg); - - agent = g_hash_table_lookup(agent_list, sender); - if (!agent) - return btd_error_does_not_exist(msg); - - DBG("agent %s", agent->owner); - - if (dbus_message_get_args(msg, NULL, DBUS_TYPE_OBJECT_PATH, &path, - DBUS_TYPE_INVALID) == FALSE) - return btd_error_invalid_args(msg); - - if (g_str_equal(path, agent->path) == FALSE) - return btd_error_does_not_exist(msg); - - agent_disconnect(conn, agent); - - return dbus_message_new_method_return(msg); -} - -static DBusMessage *request_default(DBusConnection *conn, DBusMessage *msg, - void *user_data) -{ - struct agent *agent; - const char *sender, *path; - - sender = dbus_message_get_sender(msg); - - agent = g_hash_table_lookup(agent_list, sender); - if (!agent) - return btd_error_does_not_exist(msg); - - if (dbus_message_get_args(msg, NULL, DBUS_TYPE_OBJECT_PATH, &path, - DBUS_TYPE_INVALID) == FALSE) - return btd_error_invalid_args(msg); - - if (g_str_equal(path, agent->path) == FALSE) - return btd_error_does_not_exist(msg); - - set_default_agent(agent); - - return dbus_message_new_method_return(msg); -} - -static const GDBusMethodTable methods[] = { - { GDBUS_METHOD("RegisterAgent", - GDBUS_ARGS({ "agent", "o"}, { "capability", "s" }), - NULL, register_agent) }, - { GDBUS_METHOD("UnregisterAgent", GDBUS_ARGS({ "agent", "o" }), - NULL, unregister_agent) }, - { GDBUS_METHOD("RequestDefaultAgent", GDBUS_ARGS({ "agent", "o" }), - NULL, request_default ) }, - { } -}; - -void btd_agent_init(void) -{ - agent_list = g_hash_table_new_full(g_str_hash, g_str_equal, - NULL, agent_destroy); - - g_dbus_register_interface(btd_get_dbus_connection(), - "/org/bluez", "org.bluez.AgentManager1", - methods, NULL, NULL, NULL, NULL); -} - -void btd_agent_cleanup(void) -{ - g_dbus_unregister_interface(btd_get_dbus_connection(), - "/org/bluez", "org.bluez.AgentManager1"); - - set_default_agent(NULL); - g_hash_table_destroy(agent_list); -} diff --git a/GRIB_BLE_HUB/libs/ble_extend/src/agent.h b/GRIB_BLE_HUB/libs/ble_extend/src/agent.h deleted file mode 100644 index 1e46920..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/src/agent.h +++ /dev/null @@ -1,73 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2006-2010 Nokia Corporation - * Copyright (C) 2004-2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -struct agent; - -typedef void (*agent_cb) (struct agent *agent, DBusError *err, - void *user_data); - -typedef void (*agent_pincode_cb) (struct agent *agent, DBusError *err, - const char *pincode, void *user_data); - -typedef void (*agent_passkey_cb) (struct agent *agent, DBusError *err, - uint32_t passkey, void *user_data); - -struct agent *agent_ref(struct agent *agent); -void agent_unref(struct agent *agent); - -struct agent *agent_get(const char *owner); - -int agent_authorize_service(struct agent *agent, const char *path, - const char *uuid, agent_cb cb, - void *user_data, GDestroyNotify destroy); - -int agent_request_pincode(struct agent *agent, struct btd_device *device, - agent_pincode_cb cb, gboolean secure, - void *user_data, GDestroyNotify destroy); - -int agent_request_passkey(struct agent *agent, struct btd_device *device, - agent_passkey_cb cb, void *user_data, - GDestroyNotify destroy); - -int agent_request_confirmation(struct agent *agent, struct btd_device *device, - uint32_t passkey, agent_cb cb, - void *user_data, GDestroyNotify destroy); - -int agent_request_authorization(struct agent *agent, struct btd_device *device, - agent_cb cb, void *user_data, - GDestroyNotify destroy); - -int agent_display_passkey(struct agent *agent, struct btd_device *device, - uint32_t passkey, uint16_t entered); - -int agent_display_pincode(struct agent *agent, struct btd_device *device, - const char *pincode, agent_cb cb, - void *user_data, GDestroyNotify destroy); - -int agent_cancel(struct agent *agent); - -uint8_t agent_get_io_capability(struct agent *agent); - -void btd_agent_init(void); -void btd_agent_cleanup(void); diff --git a/GRIB_BLE_HUB/libs/ble_extend/src/attio.h b/GRIB_BLE_HUB/libs/ble_extend/src/attio.h deleted file mode 100644 index 16e2873..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/src/attio.h +++ /dev/null @@ -1,33 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2011 Nokia Corporation - * Copyright (C) 2011 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -typedef void (*attio_connect_cb) (GAttrib *attrib, gpointer user_data); -typedef void (*attio_disconnect_cb) (gpointer user_data); - -guint btd_device_add_attio_callback(struct btd_device *device, - attio_connect_cb cfunc, - attio_disconnect_cb dcfunc, - gpointer user_data); - -gboolean btd_device_remove_attio_callback(struct btd_device *device, guint id); diff --git a/GRIB_BLE_HUB/libs/ble_extend/src/attrib-server.c b/GRIB_BLE_HUB/libs/ble_extend/src/attrib-server.c deleted file mode 100644 index 99656e3..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/src/attrib-server.c +++ /dev/null @@ -1,1604 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2010 Nokia Corporation - * Copyright (C) 2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include - -#include "lib/uuid.h" -#include -#include "log.h" -#include -#include "sdpd.h" -#include "hcid.h" -#include "adapter.h" -#include "device.h" -#include "attrib/gattrib.h" -#include "attrib/att.h" -#include "attrib/gatt.h" -#include "attrib/att-database.h" -#include "storage.h" - -#include "attrib-server.h" - -static GSList *servers = NULL; - -struct gatt_server { - struct btd_adapter *adapter; - GIOChannel *l2cap_io; - GIOChannel *le_io; - uint32_t gatt_sdp_handle; - uint32_t gap_sdp_handle; - GList *database; - GSList *clients; - uint16_t name_handle; - uint16_t appearance_handle; -}; - -struct gatt_channel { - bdaddr_t src; - bdaddr_t dst; - GAttrib *attrib; - guint mtu; - gboolean le; - guint id; - gboolean encrypted; - struct gatt_server *server; - guint cleanup_id; - struct btd_device *device; -}; - -struct group_elem { - uint16_t handle; - uint16_t end; - uint8_t *data; - uint16_t len; -}; - -static bt_uuid_t prim_uuid = { - .type = BT_UUID16, - .value.u16 = GATT_PRIM_SVC_UUID -}; -static bt_uuid_t snd_uuid = { - .type = BT_UUID16, - .value.u16 = GATT_SND_SVC_UUID -}; -static bt_uuid_t ccc_uuid = { - .type = BT_UUID16, - .value.u16 = GATT_CLIENT_CHARAC_CFG_UUID -}; - -static void attrib_free(void *data) -{ - struct attribute *a = data; - - g_free(a->data); - g_free(a); -} - -static void channel_free(struct gatt_channel *channel) -{ - - if (channel->cleanup_id) - g_source_remove(channel->cleanup_id); - - if (channel->device) - btd_device_unref(channel->device); - - g_attrib_unref(channel->attrib); - g_free(channel); -} - -static void gatt_server_free(struct gatt_server *server) -{ - g_list_free_full(server->database, attrib_free); - - if (server->l2cap_io != NULL) { - g_io_channel_shutdown(server->l2cap_io, FALSE, NULL); - g_io_channel_unref(server->l2cap_io); - } - - if (server->le_io != NULL) { - g_io_channel_shutdown(server->le_io, FALSE, NULL); - g_io_channel_unref(server->le_io); - } - - g_slist_free_full(server->clients, (GDestroyNotify) channel_free); - - if (server->gatt_sdp_handle > 0) - remove_record_from_server(server->gatt_sdp_handle); - - if (server->gap_sdp_handle > 0) - remove_record_from_server(server->gap_sdp_handle); - - if (server->adapter != NULL) - btd_adapter_unref(server->adapter); - - g_free(server); -} - -static gint adapter_cmp_addr(gconstpointer a, gconstpointer b) -{ - const struct gatt_server *server = a; - const bdaddr_t *bdaddr = b; - - return bacmp(adapter_get_address(server->adapter), bdaddr); -} - -static gint adapter_cmp(gconstpointer a, gconstpointer b) -{ - const struct gatt_server *server = a; - const struct btd_adapter *adapter = b; - - if (server->adapter == adapter) - return 0; - - return -1; -} - -static struct gatt_server *find_gatt_server(const bdaddr_t *bdaddr) -{ - GSList *l; - - l = g_slist_find_custom(servers, bdaddr, adapter_cmp_addr); - if (l == NULL) { - char addr[18]; - - ba2str(bdaddr, addr); - error("No GATT server found in %s", addr); - return NULL; - } - - return l->data; -} - -static sdp_record_t *server_record_new(uuid_t *uuid, uint16_t start, uint16_t end) -{ - sdp_list_t *svclass_id, *apseq, *proto[2], *root, *aproto; - uuid_t root_uuid, proto_uuid, l2cap; - sdp_record_t *record; - sdp_data_t *psm, *sh, *eh; - uint16_t lp = ATT_PSM; - - if (uuid == NULL) - return NULL; - - if (start > end) - return NULL; - - record = sdp_record_alloc(); - if (record == NULL) - return NULL; - - sdp_uuid16_create(&root_uuid, PUBLIC_BROWSE_GROUP); - root = sdp_list_append(NULL, &root_uuid); - sdp_set_browse_groups(record, root); - sdp_list_free(root, NULL); - - svclass_id = sdp_list_append(NULL, uuid); - sdp_set_service_classes(record, svclass_id); - sdp_list_free(svclass_id, NULL); - - sdp_uuid16_create(&l2cap, L2CAP_UUID); - proto[0] = sdp_list_append(NULL, &l2cap); - psm = sdp_data_alloc(SDP_UINT16, &lp); - proto[0] = sdp_list_append(proto[0], psm); - apseq = sdp_list_append(NULL, proto[0]); - - sdp_uuid16_create(&proto_uuid, ATT_UUID); - proto[1] = sdp_list_append(NULL, &proto_uuid); - sh = sdp_data_alloc(SDP_UINT16, &start); - proto[1] = sdp_list_append(proto[1], sh); - eh = sdp_data_alloc(SDP_UINT16, &end); - proto[1] = sdp_list_append(proto[1], eh); - apseq = sdp_list_append(apseq, proto[1]); - - aproto = sdp_list_append(NULL, apseq); - sdp_set_access_protos(record, aproto); - - sdp_data_free(psm); - sdp_data_free(sh); - sdp_data_free(eh); - sdp_list_free(proto[0], NULL); - sdp_list_free(proto[1], NULL); - sdp_list_free(apseq, NULL); - sdp_list_free(aproto, NULL); - - return record; -} - -static int handle_cmp(gconstpointer a, gconstpointer b) -{ - const struct attribute *attrib = a; - uint16_t handle = GPOINTER_TO_UINT(b); - - return attrib->handle - handle; -} - -static int attribute_cmp(gconstpointer a1, gconstpointer a2) -{ - const struct attribute *attrib1 = a1; - const struct attribute *attrib2 = a2; - - return attrib1->handle - attrib2->handle; -} - -static struct attribute *find_svc_range(struct gatt_server *server, - uint16_t start, uint16_t *end) -{ - struct attribute *attrib; - guint h = start; - GList *l; - - if (end == NULL) - return NULL; - - l = g_list_find_custom(server->database, GUINT_TO_POINTER(h), - handle_cmp); - if (!l) - return NULL; - - attrib = l->data; - - if (bt_uuid_cmp(&attrib->uuid, &prim_uuid) != 0 && - bt_uuid_cmp(&attrib->uuid, &snd_uuid) != 0) - return NULL; - - *end = start; - - for (l = l->next; l; l = l->next) { - struct attribute *a = l->data; - - if (bt_uuid_cmp(&a->uuid, &prim_uuid) == 0 || - bt_uuid_cmp(&a->uuid, &snd_uuid) == 0) - break; - - *end = a->handle; - } - - return attrib; -} - -static uint32_t attrib_create_sdp_new(struct gatt_server *server, - uint16_t handle, const char *name) -{ - sdp_record_t *record; - struct attribute *a; - uint16_t end = 0; - uuid_t svc, gap_uuid; - - a = find_svc_range(server, handle, &end); - - if (a == NULL) - return 0; - - if (a->len == 2) - sdp_uuid16_create(&svc, att_get_u16(a->data)); - else if (a->len == 16) - sdp_uuid128_create(&svc, a->data); - else - return 0; - - record = server_record_new(&svc, handle, end); - if (record == NULL) - return 0; - - if (name != NULL) - sdp_set_info_attr(record, name, "BlueZ", NULL); - - sdp_uuid16_create(&gap_uuid, GENERIC_ACCESS_PROFILE_ID); - if (sdp_uuid_cmp(&svc, &gap_uuid) == 0) { - sdp_set_url_attr(record, "http://www.bluez.org/", - "http://www.bluez.org/", - "http://www.bluez.org/"); - } - - if (add_record_to_server(adapter_get_address(server->adapter), record) - == 0) - return record->handle; - - sdp_record_free(record); - return 0; -} - -static struct attribute *attrib_db_add_new(struct gatt_server *server, - uint16_t handle, bt_uuid_t *uuid, - int read_req, int write_req, - const uint8_t *value, size_t len) -{ - struct attribute *a; - guint h = handle; - - DBG("handle=0x%04x", handle); - - if (g_list_find_custom(server->database, GUINT_TO_POINTER(h), - handle_cmp)) - return NULL; - - a = g_new0(struct attribute, 1); - a->len = len; - a->data = g_memdup(value, len); - a->handle = handle; - a->uuid = *uuid; - a->read_req = read_req; - a->write_req = write_req; - - server->database = g_list_insert_sorted(server->database, a, - attribute_cmp); - - return a; -} - -static uint8_t att_check_reqs(struct gatt_channel *channel, uint8_t opcode, - int reqs) -{ - /* FIXME: currently, it is assumed an encrypted link is enough for - * authentication. This will allow to enable the SMP negotiation once - * it is on upstream kernel. High security level should be mapped - * to authentication and medium to encryption permission. */ - if (!channel->encrypted) - channel->encrypted = g_attrib_is_encrypted(channel->attrib); - if (reqs == ATT_AUTHENTICATION && !channel->encrypted) - return ATT_ECODE_AUTHENTICATION; - else if (reqs == ATT_AUTHORIZATION) - return ATT_ECODE_AUTHORIZATION; - - switch (opcode) { - case ATT_OP_READ_BY_GROUP_REQ: - case ATT_OP_READ_BY_TYPE_REQ: - case ATT_OP_READ_REQ: - case ATT_OP_READ_BLOB_REQ: - case ATT_OP_READ_MULTI_REQ: - if (reqs == ATT_NOT_PERMITTED) - return ATT_ECODE_READ_NOT_PERM; - break; - case ATT_OP_PREP_WRITE_REQ: - case ATT_OP_WRITE_REQ: - case ATT_OP_WRITE_CMD: - if (reqs == ATT_NOT_PERMITTED) - return ATT_ECODE_WRITE_NOT_PERM; - break; - } - - return 0; -} - -static uint16_t read_by_group(struct gatt_channel *channel, uint16_t start, - uint16_t end, bt_uuid_t *uuid, - uint8_t *pdu, size_t len) -{ - struct att_data_list *adl; - struct attribute *a; - struct group_elem *cur, *old = NULL; - GSList *l, *groups; - GList *dl, *database; - uint16_t length, last_handle, last_size = 0; - uint8_t status; - int i; - - if (start > end || start == 0x0000) - return enc_error_resp(ATT_OP_READ_BY_GROUP_REQ, start, - ATT_ECODE_INVALID_HANDLE, pdu, len); - - /* - * Only <> and <> grouping - * types may be used in the Read By Group Type Request. - */ - - if (bt_uuid_cmp(uuid, &prim_uuid) != 0 && - bt_uuid_cmp(uuid, &snd_uuid) != 0) - return enc_error_resp(ATT_OP_READ_BY_GROUP_REQ, 0x0000, - ATT_ECODE_UNSUPP_GRP_TYPE, pdu, len); - - last_handle = end; - database = channel->server->database; - for (dl = database, groups = NULL, cur = NULL; dl; dl = dl->next) { - - a = dl->data; - - if (a->handle < start) - continue; - - if (a->handle >= end) - break; - - /* The old group ends when a new one starts */ - if (old && (bt_uuid_cmp(&a->uuid, &prim_uuid) == 0 || - bt_uuid_cmp(&a->uuid, &snd_uuid) == 0)) { - old->end = last_handle; - old = NULL; - } - - if (bt_uuid_cmp(&a->uuid, uuid) != 0) { - /* Still inside a service, update its last handle */ - if (old) - last_handle = a->handle; - continue; - } - - if (last_size && (last_size != a->len)) - break; - - status = att_check_reqs(channel, ATT_OP_READ_BY_GROUP_REQ, - a->read_req); - - if (status == 0x00 && a->read_cb) - status = a->read_cb(a, channel->device, - a->cb_user_data); - - if (status) { - g_slist_free_full(groups, g_free); - return enc_error_resp(ATT_OP_READ_BY_GROUP_REQ, - a->handle, status, pdu, len); - } - - cur = g_new0(struct group_elem, 1); - cur->handle = a->handle; - cur->data = a->data; - cur->len = a->len; - - /* Attribute Grouping Type found */ - groups = g_slist_append(groups, cur); - - last_size = a->len; - old = cur; - last_handle = cur->handle; - } - - if (groups == NULL) - return enc_error_resp(ATT_OP_READ_BY_GROUP_REQ, start, - ATT_ECODE_ATTR_NOT_FOUND, pdu, len); - - if (dl == NULL) - cur->end = a->handle; - else - cur->end = last_handle; - - length = g_slist_length(groups); - - adl = att_data_list_alloc(length, last_size + 4); - if (adl == NULL) { - g_slist_free_full(groups, g_free); - return enc_error_resp(ATT_OP_READ_BY_GROUP_REQ, start, - ATT_ECODE_UNLIKELY, pdu, len); - } - - for (i = 0, l = groups; l; l = l->next, i++) { - uint8_t *value; - - cur = l->data; - - value = (void *) adl->data[i]; - - att_put_u16(cur->handle, value); - att_put_u16(cur->end, &value[2]); - /* Attribute Value */ - memcpy(&value[4], cur->data, cur->len); - } - - length = enc_read_by_grp_resp(adl, pdu, len); - - att_data_list_free(adl); - g_slist_free_full(groups, g_free); - - return length; -} - -static uint16_t read_by_type(struct gatt_channel *channel, uint16_t start, - uint16_t end, bt_uuid_t *uuid, - uint8_t *pdu, size_t len) -{ - struct att_data_list *adl; - GSList *l, *types; - GList *dl, *database; - struct attribute *a; - uint16_t num, length; - uint8_t status; - int i; - - if (start > end || start == 0x0000) - return enc_error_resp(ATT_OP_READ_BY_TYPE_REQ, start, - ATT_ECODE_INVALID_HANDLE, pdu, len); - - database = channel->server->database; - for (dl = database, length = 0, types = NULL; dl; dl = dl->next) { - - a = dl->data; - - if (a->handle < start) - continue; - - if (a->handle > end) - break; - - if (bt_uuid_cmp(&a->uuid, uuid) != 0) - continue; - - status = att_check_reqs(channel, ATT_OP_READ_BY_TYPE_REQ, - a->read_req); - - if (status == 0x00 && a->read_cb) - status = a->read_cb(a, channel->device, - a->cb_user_data); - - if (status) { - g_slist_free(types); - return enc_error_resp(ATT_OP_READ_BY_TYPE_REQ, - a->handle, status, pdu, len); - } - - /* All elements must have the same length */ - if (length == 0) - length = a->len; - else if (a->len != length) - break; - - types = g_slist_append(types, a); - } - - if (types == NULL) - return enc_error_resp(ATT_OP_READ_BY_TYPE_REQ, start, - ATT_ECODE_ATTR_NOT_FOUND, pdu, len); - - num = g_slist_length(types); - - /* Handle length plus attribute value length */ - length += 2; - - adl = att_data_list_alloc(num, length); - if (adl == NULL) { - g_slist_free(types); - return enc_error_resp(ATT_OP_READ_BY_TYPE_REQ, start, - ATT_ECODE_UNLIKELY, pdu, len); - } - - for (i = 0, l = types; l; i++, l = l->next) { - uint8_t *value; - - a = l->data; - - value = (void *) adl->data[i]; - - att_put_u16(a->handle, value); - - /* Attribute Value */ - memcpy(&value[2], a->data, a->len); - } - - length = enc_read_by_type_resp(adl, pdu, len); - - att_data_list_free(adl); - g_slist_free(types); - - return length; -} - -static uint16_t find_info(struct gatt_channel *channel, uint16_t start, - uint16_t end, uint8_t *pdu, size_t len) -{ - struct attribute *a; - struct att_data_list *adl; - GSList *l, *info; - GList *dl, *database; - uint8_t format, last_type = BT_UUID_UNSPEC; - uint16_t length, num; - int i; - - if (start > end || start == 0x0000) - return enc_error_resp(ATT_OP_FIND_INFO_REQ, start, - ATT_ECODE_INVALID_HANDLE, pdu, len); - - database = channel->server->database; - for (dl = database, info = NULL, num = 0; dl; dl = dl->next) { - a = dl->data; - - if (a->handle < start) - continue; - - if (a->handle > end) - break; - - if (last_type == BT_UUID_UNSPEC) - last_type = a->uuid.type; - - if (a->uuid.type != last_type) - break; - - info = g_slist_append(info, a); - num++; - - last_type = a->uuid.type; - } - - if (info == NULL) - return enc_error_resp(ATT_OP_FIND_INFO_REQ, start, - ATT_ECODE_ATTR_NOT_FOUND, pdu, len); - - if (last_type == BT_UUID16) { - length = 2; - format = 0x01; - } else if (last_type == BT_UUID128) { - length = 16; - format = 0x02; - } else { - g_slist_free(info); - return 0; - } - - adl = att_data_list_alloc(num, length + 2); - if (adl == NULL) { - g_slist_free(info); - return enc_error_resp(ATT_OP_FIND_INFO_REQ, start, - ATT_ECODE_UNLIKELY, pdu, len); - } - - for (i = 0, l = info; l; i++, l = l->next) { - uint8_t *value; - - a = l->data; - - value = (void *) adl->data[i]; - - att_put_u16(a->handle, value); - - /* Attribute Value */ - att_put_uuid(a->uuid, &value[2]); - } - - length = enc_find_info_resp(format, adl, pdu, len); - - att_data_list_free(adl); - g_slist_free(info); - - return length; -} - -static uint16_t find_by_type(struct gatt_channel *channel, uint16_t start, - uint16_t end, bt_uuid_t *uuid, - const uint8_t *value, size_t vlen, - uint8_t *opdu, size_t mtu) -{ - struct attribute *a; - struct att_range *range; - GSList *matches; - GList *dl, *database; - uint16_t len; - - if (start > end || start == 0x0000) - return enc_error_resp(ATT_OP_FIND_BY_TYPE_REQ, start, - ATT_ECODE_INVALID_HANDLE, opdu, mtu); - - /* Searching first requested handle number */ - database = channel->server->database; - for (dl = database, matches = NULL, range = NULL; dl; dl = dl->next) { - a = dl->data; - - if (a->handle < start) - continue; - - if (a->handle > end) - break; - - /* Primary service? Attribute value matches? */ - if ((bt_uuid_cmp(&a->uuid, uuid) == 0) && (a->len == vlen) && - (memcmp(a->data, value, vlen) == 0)) { - - range = g_new0(struct att_range, 1); - range->start = a->handle; - /* It is allowed to have end group handle the same as - * start handle, for groups with only one attribute. */ - range->end = a->handle; - - matches = g_slist_append(matches, range); - } else if (range) { - /* Update the last found handle or reset the pointer - * to track that a new group started: Primary or - * Secondary service. */ - if (bt_uuid_cmp(&a->uuid, &prim_uuid) == 0 || - bt_uuid_cmp(&a->uuid, &snd_uuid) == 0) - range = NULL; - else - range->end = a->handle; - } - } - - if (matches == NULL) - return enc_error_resp(ATT_OP_FIND_BY_TYPE_REQ, start, - ATT_ECODE_ATTR_NOT_FOUND, opdu, mtu); - - len = enc_find_by_type_resp(matches, opdu, mtu); - - g_slist_free_full(matches, g_free); - - return len; -} - -static int read_device_ccc(struct btd_device *device, uint16_t handle, - uint16_t *value) -{ - char *filename; - GKeyFile *key_file; - char group[6]; - char *str; - unsigned int config; - int err = 0; - - filename = btd_device_get_storage_path(device, "ccc"); - - key_file = g_key_file_new(); - g_key_file_load_from_file(key_file, filename, 0, NULL); - - sprintf(group, "%hu", handle); - - str = g_key_file_get_string(key_file, group, "Value", NULL); - if (!str || sscanf(str, "%04X", &config) != 1) - err = -ENOENT; - else - *value = config; - - g_free(str); - g_free(filename); - g_key_file_free(key_file); - - return err; -} - -static uint16_t read_value(struct gatt_channel *channel, uint16_t handle, - uint8_t *pdu, size_t len) -{ - struct attribute *a; - uint8_t status; - GList *l; - uint16_t cccval; - guint h = handle; - - l = g_list_find_custom(channel->server->database, - GUINT_TO_POINTER(h), handle_cmp); - if (!l) - return enc_error_resp(ATT_OP_READ_REQ, handle, - ATT_ECODE_INVALID_HANDLE, pdu, len); - - a = l->data; - - if (bt_uuid_cmp(&ccc_uuid, &a->uuid) == 0 && - read_device_ccc(channel->device, handle, &cccval) == 0) { - uint8_t config[2]; - - att_put_u16(cccval, config); - return enc_read_resp(config, sizeof(config), pdu, len); - } - - status = att_check_reqs(channel, ATT_OP_READ_REQ, a->read_req); - - if (status == 0x00 && a->read_cb) - status = a->read_cb(a, channel->device, a->cb_user_data); - - if (status) - return enc_error_resp(ATT_OP_READ_REQ, handle, status, pdu, - len); - - return enc_read_resp(a->data, a->len, pdu, len); -} - -static uint16_t read_blob(struct gatt_channel *channel, uint16_t handle, - uint16_t offset, uint8_t *pdu, size_t len) -{ - struct attribute *a; - uint8_t status; - GList *l; - uint16_t cccval; - guint h = handle; - - l = g_list_find_custom(channel->server->database, - GUINT_TO_POINTER(h), handle_cmp); - if (!l) - return enc_error_resp(ATT_OP_READ_BLOB_REQ, handle, - ATT_ECODE_INVALID_HANDLE, pdu, len); - - a = l->data; - - if (a->len <= offset) - return enc_error_resp(ATT_OP_READ_BLOB_REQ, handle, - ATT_ECODE_INVALID_OFFSET, pdu, len); - - if (bt_uuid_cmp(&ccc_uuid, &a->uuid) == 0 && - read_device_ccc(channel->device, handle, &cccval) == 0) { - uint8_t config[2]; - - att_put_u16(cccval, config); - return enc_read_blob_resp(config, sizeof(config), offset, - pdu, len); - } - - status = att_check_reqs(channel, ATT_OP_READ_BLOB_REQ, a->read_req); - - if (status == 0x00 && a->read_cb) - status = a->read_cb(a, channel->device, a->cb_user_data); - - if (status) - return enc_error_resp(ATT_OP_READ_BLOB_REQ, handle, status, - pdu, len); - - return enc_read_blob_resp(a->data, a->len, offset, pdu, len); -} - -static uint16_t write_value(struct gatt_channel *channel, uint16_t handle, - const uint8_t *value, size_t vlen, - uint8_t *pdu, size_t len) -{ - struct attribute *a; - uint8_t status; - GList *l; - guint h = handle; - - l = g_list_find_custom(channel->server->database, - GUINT_TO_POINTER(h), handle_cmp); - if (!l) - return enc_error_resp(ATT_OP_WRITE_REQ, handle, - ATT_ECODE_INVALID_HANDLE, pdu, len); - - a = l->data; - - status = att_check_reqs(channel, ATT_OP_WRITE_REQ, a->write_req); - if (status) - return enc_error_resp(ATT_OP_WRITE_REQ, handle, status, pdu, - len); - - if (bt_uuid_cmp(&ccc_uuid, &a->uuid) != 0) { - - attrib_db_update(channel->server->adapter, handle, NULL, - value, vlen, NULL); - - if (a->write_cb) { - status = a->write_cb(a, channel->device, - a->cb_user_data); - if (status) - return enc_error_resp(ATT_OP_WRITE_REQ, handle, - status, pdu, len); - } - } else { - uint16_t cccval = att_get_u16(value); - char *filename; - GKeyFile *key_file; - char group[6], value[5]; - char *data; - gsize length = 0; - - filename = btd_device_get_storage_path(channel->device, "ccc"); - - key_file = g_key_file_new(); - g_key_file_load_from_file(key_file, filename, 0, NULL); - - sprintf(group, "%hu", handle); - sprintf(value, "%hhX", cccval); - g_key_file_set_string(key_file, group, "Value", value); - - data = g_key_file_to_data(key_file, &length, NULL); - if (length > 0) { - create_file(filename, S_IRUSR | S_IWUSR); - g_file_set_contents(filename, data, length, NULL); - } - - g_free(data); - g_free(filename); - g_key_file_free(key_file); - } - - return enc_write_resp(pdu, len); -} - -static uint16_t mtu_exchange(struct gatt_channel *channel, uint16_t mtu, - uint8_t *pdu, size_t len) -{ - GError *gerr = NULL; - GIOChannel *io; - uint16_t imtu; - - if (mtu < ATT_DEFAULT_LE_MTU) - return enc_error_resp(ATT_OP_MTU_REQ, 0, - ATT_ECODE_REQ_NOT_SUPP, pdu, len); - - io = g_attrib_get_channel(channel->attrib); - - bt_io_get(io, &gerr, BT_IO_OPT_IMTU, &imtu, BT_IO_OPT_INVALID); - - if (gerr) - return enc_error_resp(ATT_OP_MTU_REQ, 0, - ATT_ECODE_UNLIKELY, pdu, len); - - channel->mtu = MIN(mtu, imtu); - g_attrib_set_mtu(channel->attrib, channel->mtu); - - return enc_mtu_resp(imtu, pdu, len); -} - -static void channel_remove(struct gatt_channel *channel) -{ - channel->server->clients = g_slist_remove(channel->server->clients, - channel); - channel_free(channel); -} - -static gboolean channel_watch_cb(GIOChannel *io, GIOCondition cond, - gpointer user_data) -{ - channel_remove(user_data); - - return FALSE; -} - -static void channel_handler(const uint8_t *ipdu, uint16_t len, - gpointer user_data) -{ - struct gatt_channel *channel = user_data; - uint8_t opdu[channel->mtu]; - uint16_t length, start, end, mtu, offset; - bt_uuid_t uuid; - uint8_t status = 0; - size_t vlen; - uint8_t *value = g_attrib_get_buffer(channel->attrib, &vlen); - - DBG("op 0x%02x", ipdu[0]); - - switch (ipdu[0]) { - case ATT_OP_READ_BY_GROUP_REQ: - length = dec_read_by_grp_req(ipdu, len, &start, &end, &uuid); - if (length == 0) { - status = ATT_ECODE_INVALID_PDU; - goto done; - } - - length = read_by_group(channel, start, end, &uuid, opdu, - channel->mtu); - break; - case ATT_OP_READ_BY_TYPE_REQ: - length = dec_read_by_type_req(ipdu, len, &start, &end, &uuid); - if (length == 0) { - status = ATT_ECODE_INVALID_PDU; - goto done; - } - - length = read_by_type(channel, start, end, &uuid, opdu, - channel->mtu); - break; - case ATT_OP_READ_REQ: - length = dec_read_req(ipdu, len, &start); - if (length == 0) { - status = ATT_ECODE_INVALID_PDU; - goto done; - } - - length = read_value(channel, start, opdu, channel->mtu); - break; - case ATT_OP_READ_BLOB_REQ: - length = dec_read_blob_req(ipdu, len, &start, &offset); - if (length == 0) { - status = ATT_ECODE_INVALID_PDU; - goto done; - } - - length = read_blob(channel, start, offset, opdu, channel->mtu); - break; - case ATT_OP_MTU_REQ: - if (!channel->le) { - status = ATT_ECODE_REQ_NOT_SUPP; - goto done; - } - - length = dec_mtu_req(ipdu, len, &mtu); - if (length == 0) { - status = ATT_ECODE_INVALID_PDU; - goto done; - } - - length = mtu_exchange(channel, mtu, opdu, channel->mtu); - break; - case ATT_OP_FIND_INFO_REQ: - length = dec_find_info_req(ipdu, len, &start, &end); - if (length == 0) { - status = ATT_ECODE_INVALID_PDU; - goto done; - } - - length = find_info(channel, start, end, opdu, channel->mtu); - break; - case ATT_OP_WRITE_REQ: - length = dec_write_req(ipdu, len, &start, value, &vlen); - if (length == 0) { - status = ATT_ECODE_INVALID_PDU; - goto done; - } - - length = write_value(channel, start, value, vlen, opdu, - channel->mtu); - break; - case ATT_OP_WRITE_CMD: - length = dec_write_cmd(ipdu, len, &start, value, &vlen); - if (length > 0) - write_value(channel, start, value, vlen, opdu, - channel->mtu); - return; - case ATT_OP_FIND_BY_TYPE_REQ: - length = dec_find_by_type_req(ipdu, len, &start, &end, - &uuid, value, &vlen); - if (length == 0) { - status = ATT_ECODE_INVALID_PDU; - goto done; - } - - length = find_by_type(channel, start, end, &uuid, value, vlen, - opdu, channel->mtu); - break; - case ATT_OP_HANDLE_CNF: - return; - case ATT_OP_HANDLE_IND: - case ATT_OP_HANDLE_NOTIFY: - /* The attribute client is already handling these */ - return; - case ATT_OP_READ_MULTI_REQ: - case ATT_OP_PREP_WRITE_REQ: - case ATT_OP_EXEC_WRITE_REQ: - default: - DBG("Unsupported request 0x%02x", ipdu[0]); - status = ATT_ECODE_REQ_NOT_SUPP; - goto done; - } - - if (length == 0) - status = ATT_ECODE_IO; - -done: - if (status) - length = enc_error_resp(ipdu[0], 0x0000, status, opdu, - channel->mtu); - - g_attrib_send(channel->attrib, 0, opdu, length, NULL, NULL, NULL); -} - -guint attrib_channel_attach(GAttrib *attrib) -{ - struct gatt_server *server; - struct btd_device *device; - struct gatt_channel *channel; - GIOChannel *io; - GError *gerr = NULL; - uint16_t cid; - guint mtu = 0; - - io = g_attrib_get_channel(attrib); - - channel = g_new0(struct gatt_channel, 1); - - bt_io_get(io, &gerr, - BT_IO_OPT_SOURCE_BDADDR, &channel->src, - BT_IO_OPT_DEST_BDADDR, &channel->dst, - BT_IO_OPT_CID, &cid, - BT_IO_OPT_IMTU, &mtu, - BT_IO_OPT_INVALID); - if (gerr) { - error("bt_io_get: %s", gerr->message); - g_error_free(gerr); - g_free(channel); - return 0; - } - - server = find_gatt_server(&channel->src); - if (server == NULL) { - char src[18]; - - ba2str(&channel->src, src); - error("No GATT server found in %s", src); - g_free(channel); - return 0; - } - - channel->server = server; - - device = adapter_find_device(server->adapter, &channel->dst); - if (device == NULL) { - error("Device object not found for attrib server"); - g_free(channel); - return 0; - } - - if (device_is_bonded(device) == FALSE) { - char *filename; - - filename = btd_device_get_storage_path(device, "ccc"); - unlink(filename); - g_free(filename); - } - - if (cid != ATT_CID) { - channel->le = FALSE; - channel->mtu = mtu; - } else { - channel->le = TRUE; - channel->mtu = ATT_DEFAULT_LE_MTU; - } - - channel->attrib = g_attrib_ref(attrib); - channel->id = g_attrib_register(channel->attrib, GATTRIB_ALL_REQS, - GATTRIB_ALL_HANDLES, channel_handler, channel, NULL); - - channel->cleanup_id = g_io_add_watch(io, G_IO_HUP, channel_watch_cb, - channel); - - channel->device = btd_device_ref(device); - - server->clients = g_slist_append(server->clients, channel); - - return channel->id; -} - -static gint channel_id_cmp(gconstpointer data, gconstpointer user_data) -{ - const struct gatt_channel *channel = data; - guint id = GPOINTER_TO_UINT(user_data); - - return channel->id - id; -} - -gboolean attrib_channel_detach(GAttrib *attrib, guint id) -{ - struct gatt_server *server; - struct gatt_channel *channel; - GError *gerr = NULL; - GIOChannel *io; - bdaddr_t src; - GSList *l; - - io = g_attrib_get_channel(attrib); - - bt_io_get(io, &gerr, BT_IO_OPT_SOURCE_BDADDR, &src, BT_IO_OPT_INVALID); - - if (gerr != NULL) { - error("bt_io_get: %s", gerr->message); - g_error_free(gerr); - return FALSE; - } - - server = find_gatt_server(&src); - if (server == NULL) - return FALSE; - - l = g_slist_find_custom(server->clients, GUINT_TO_POINTER(id), - channel_id_cmp); - if (!l) - return FALSE; - - channel = l->data; - - g_attrib_unregister(channel->attrib, channel->id); - channel_remove(channel); - - return TRUE; -} - -static void connect_event(GIOChannel *io, GError *gerr, void *user_data) -{ - GAttrib *attrib; - - if (gerr) { - error("%s", gerr->message); - return; - } - - attrib = g_attrib_new(io); - attrib_channel_attach(attrib); - g_attrib_unref(attrib); -} - -static void confirm_event(GIOChannel *io, void *user_data) -{ - GError *gerr = NULL; - - if (bt_io_accept(io, connect_event, user_data, NULL, &gerr) == FALSE) { - error("bt_io_accept: %s", gerr->message); - g_error_free(gerr); - g_io_channel_unref(io); - } - - return; -} - -static gboolean register_core_services(struct gatt_server *server) -{ - uint8_t atval[256]; - bt_uuid_t uuid; - uint16_t appearance = 0x0000; - - /* GAP service: primary service definition */ - bt_uuid16_create(&uuid, GATT_PRIM_SVC_UUID); - att_put_u16(GENERIC_ACCESS_PROFILE_ID, &atval[0]); - attrib_db_add_new(server, 0x0001, &uuid, ATT_NONE, ATT_NOT_PERMITTED, - atval, 2); - - /* GAP service: device name characteristic */ - server->name_handle = 0x0006; - bt_uuid16_create(&uuid, GATT_CHARAC_UUID); - atval[0] = ATT_CHAR_PROPER_READ; - att_put_u16(server->name_handle, &atval[1]); - att_put_u16(GATT_CHARAC_DEVICE_NAME, &atval[3]); - attrib_db_add_new(server, 0x0004, &uuid, ATT_NONE, ATT_NOT_PERMITTED, - atval, 5); - - /* GAP service: device name attribute */ - bt_uuid16_create(&uuid, GATT_CHARAC_DEVICE_NAME); - attrib_db_add_new(server, server->name_handle, &uuid, ATT_NONE, - ATT_NOT_PERMITTED, NULL, 0); - - /* GAP service: device appearance characteristic */ - server->appearance_handle = 0x0008; - bt_uuid16_create(&uuid, GATT_CHARAC_UUID); - atval[0] = ATT_CHAR_PROPER_READ; - att_put_u16(server->appearance_handle, &atval[1]); - att_put_u16(GATT_CHARAC_APPEARANCE, &atval[3]); - attrib_db_add_new(server, 0x0007, &uuid, ATT_NONE, ATT_NOT_PERMITTED, - atval, 5); - - /* GAP service: device appearance attribute */ - bt_uuid16_create(&uuid, GATT_CHARAC_APPEARANCE); - att_put_u16(appearance, &atval[0]); - attrib_db_add_new(server, server->appearance_handle, &uuid, ATT_NONE, - ATT_NOT_PERMITTED, atval, 2); - server->gap_sdp_handle = attrib_create_sdp_new(server, 0x0001, - "Generic Access Profile"); - if (server->gap_sdp_handle == 0) { - error("Failed to register GAP service record"); - return FALSE; - } - - /* GATT service: primary service definition */ - bt_uuid16_create(&uuid, GATT_PRIM_SVC_UUID); - att_put_u16(GENERIC_ATTRIB_PROFILE_ID, &atval[0]); - attrib_db_add_new(server, 0x0010, &uuid, ATT_NONE, ATT_NOT_PERMITTED, - atval, 2); - - server->gatt_sdp_handle = attrib_create_sdp_new(server, 0x0010, - "Generic Attribute Profile"); - if (server->gatt_sdp_handle == 0) { - error("Failed to register GATT service record"); - return FALSE; - } - - return TRUE; -} - -int btd_adapter_gatt_server_start(struct btd_adapter *adapter) -{ - struct gatt_server *server; - GError *gerr = NULL; - const bdaddr_t *addr; - - DBG("Start GATT server in hci%d", btd_adapter_get_index(adapter)); - - server = g_new0(struct gatt_server, 1); - server->adapter = btd_adapter_ref(adapter); - - addr = adapter_get_address(server->adapter); - - /* BR/EDR socket */ - server->l2cap_io = bt_io_listen(NULL, confirm_event, - NULL, NULL, &gerr, - BT_IO_OPT_SOURCE_BDADDR, addr, - BT_IO_OPT_PSM, ATT_PSM, - BT_IO_OPT_SEC_LEVEL, BT_IO_SEC_LOW, - BT_IO_OPT_INVALID); - - if (server->l2cap_io == NULL) { - error("%s", gerr->message); - g_error_free(gerr); - gatt_server_free(server); - return -1; - } - - if (!register_core_services(server)) { - gatt_server_free(server); - return -1; - } - - /* LE socket */ - server->le_io = bt_io_listen(NULL, confirm_event, - &server->le_io, NULL, &gerr, - BT_IO_OPT_SOURCE_BDADDR, addr, - BT_IO_OPT_CID, ATT_CID, - BT_IO_OPT_SEC_LEVEL, BT_IO_SEC_LOW, - BT_IO_OPT_INVALID); - - if (server->le_io == NULL) { - error("%s", gerr->message); - g_error_free(gerr); - /* Doesn't have LE support, continue */ - } - - servers = g_slist_prepend(servers, server); - return 0; -} - -void btd_adapter_gatt_server_stop(struct btd_adapter *adapter) -{ - struct gatt_server *server; - GSList *l; - - l = g_slist_find_custom(servers, adapter, adapter_cmp); - if (l == NULL) - return; - - DBG("Stop GATT server in hci%d", btd_adapter_get_index(adapter)); - - server = l->data; - servers = g_slist_remove(servers, server); - gatt_server_free(server); -} - -uint32_t attrib_create_sdp(struct btd_adapter *adapter, uint16_t handle, - const char *name) -{ - GSList *l; - - l = g_slist_find_custom(servers, adapter, adapter_cmp); - if (l == NULL) - return 0; - - return attrib_create_sdp_new(l->data, handle, name); -} - -void attrib_free_sdp(uint32_t sdp_handle) -{ - remove_record_from_server(sdp_handle); -} - -static uint16_t find_uuid16_avail(struct btd_adapter *adapter, uint16_t nitems) -{ - struct gatt_server *server; - uint16_t handle; - GSList *l; - GList *dl; - - l = g_slist_find_custom(servers, adapter, adapter_cmp); - if (l == NULL) - return 0; - - server = l->data; - if (server->database == NULL) - return 0x0001; - - for (dl = server->database, handle = 0x0001; dl; dl = dl->next) { - struct attribute *a = dl->data; - - if ((bt_uuid_cmp(&a->uuid, &prim_uuid) == 0 || - bt_uuid_cmp(&a->uuid, &snd_uuid) == 0) && - a->handle - handle >= nitems) - /* Note: the range above excludes the current handle */ - return handle; - - if (a->len == 16 && (bt_uuid_cmp(&a->uuid, &prim_uuid) == 0 || - bt_uuid_cmp(&a->uuid, &snd_uuid) == 0)) { - /* 128 bit UUID service definition */ - return 0; - } - - if (a->handle == 0xffff) - return 0; - - handle = a->handle + 1; - } - - if (0xffff - handle + 1 >= nitems) - return handle; - - return 0; -} - -static uint16_t find_uuid128_avail(struct btd_adapter *adapter, uint16_t nitems) -{ - uint16_t handle = 0, end = 0xffff; - struct gatt_server *server; - GList *dl; - GSList *l; - - l = g_slist_find_custom(servers, adapter, adapter_cmp); - if (l == NULL) - return 0; - - server = l->data; - if (server->database == NULL) - return 0xffff - nitems + 1; - - for (dl = g_list_last(server->database); dl; dl = dl->prev) { - struct attribute *a = dl->data; - - if (handle == 0) - handle = a->handle; - - if (bt_uuid_cmp(&a->uuid, &prim_uuid) != 0 && - bt_uuid_cmp(&a->uuid, &snd_uuid) != 0) - continue; - - if (end - handle >= nitems) - return end - nitems + 1; - - if (a->len == 2) { - /* 16 bit UUID service definition */ - return 0; - } - - if (a->handle == 0x0001) - return 0; - - end = a->handle - 1; - handle = 0; - } - - if (end - 0x0001 >= nitems) - return end - nitems + 1; - - return 0; -} - -uint16_t attrib_db_find_avail(struct btd_adapter *adapter, bt_uuid_t *svc_uuid, - uint16_t nitems) -{ - g_assert(nitems > 0); - - if (svc_uuid->type == BT_UUID16) - return find_uuid16_avail(adapter, nitems); - else if (svc_uuid->type == BT_UUID128) - return find_uuid128_avail(adapter, nitems); - else { - char uuidstr[MAX_LEN_UUID_STR]; - - bt_uuid_to_string(svc_uuid, uuidstr, MAX_LEN_UUID_STR); - error("Service uuid: %s is neither a 16-bit nor a 128-bit uuid", - uuidstr); - return 0; - } -} - -struct attribute *attrib_db_add(struct btd_adapter *adapter, uint16_t handle, - bt_uuid_t *uuid, int read_req, - int write_req, const uint8_t *value, - size_t len) -{ - GSList *l; - - l = g_slist_find_custom(servers, adapter, adapter_cmp); - if (l == NULL) - return NULL; - - return attrib_db_add_new(l->data, handle, uuid, read_req, write_req, - value, len); -} - -int attrib_db_update(struct btd_adapter *adapter, uint16_t handle, - bt_uuid_t *uuid, const uint8_t *value, - size_t len, struct attribute **attr) -{ - struct gatt_server *server; - struct attribute *a; - GSList *l; - GList *dl; - guint h = handle; - - l = g_slist_find_custom(servers, adapter, adapter_cmp); - if (l == NULL) - return -ENOENT; - - server = l->data; - - DBG("handle=0x%04x", handle); - - dl = g_list_find_custom(server->database, GUINT_TO_POINTER(h), - handle_cmp); - if (dl == NULL) - return -ENOENT; - - a = dl->data; - - a->data = g_try_realloc(a->data, len); - if (len && a->data == NULL) - return -ENOMEM; - - a->len = len; - memcpy(a->data, value, len); - - if (uuid != NULL) - a->uuid = *uuid; - - if (attr) - *attr = a; - - return 0; -} - -int attrib_db_del(struct btd_adapter *adapter, uint16_t handle) -{ - struct gatt_server *server; - struct attribute *a; - GSList *l; - GList *dl; - guint h = handle; - - l = g_slist_find_custom(servers, adapter, adapter_cmp); - if (l == NULL) - return -ENOENT; - - server = l->data; - - DBG("handle=0x%04x", handle); - - dl = g_list_find_custom(server->database, GUINT_TO_POINTER(h), - handle_cmp); - if (dl == NULL) - return -ENOENT; - - a = dl->data; - server->database = g_list_remove(server->database, a); - g_free(a->data); - g_free(a); - - return 0; -} - -int attrib_gap_set(struct btd_adapter *adapter, uint16_t uuid, - const uint8_t *value, size_t len) -{ - struct gatt_server *server; - uint16_t handle; - GSList *l; - - l = g_slist_find_custom(servers, adapter, adapter_cmp); - if (l == NULL) - return -ENOENT; - - server = l->data; - - /* FIXME: Missing Privacy and Reconnection Address */ - - switch (uuid) { - case GATT_CHARAC_DEVICE_NAME: - handle = server->name_handle; - break; - case GATT_CHARAC_APPEARANCE: - handle = server->appearance_handle; - break; - default: - return -ENOSYS; - } - - return attrib_db_update(adapter, handle, NULL, value, len, NULL); -} diff --git a/GRIB_BLE_HUB/libs/ble_extend/src/attrib-server.h b/GRIB_BLE_HUB/libs/ble_extend/src/attrib-server.h deleted file mode 100644 index 2148017..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/src/attrib-server.h +++ /dev/null @@ -1,41 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2010 Nokia Corporation - * Copyright (C) 2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -uint16_t attrib_db_find_avail(struct btd_adapter *adapter, bt_uuid_t *svc_uuid, - uint16_t nitems); -struct attribute *attrib_db_add(struct btd_adapter *adapter, uint16_t handle, - bt_uuid_t *uuid, int read_req, - int write_req, const uint8_t *value, - size_t len); -int attrib_db_update(struct btd_adapter *adapter, uint16_t handle, - bt_uuid_t *uuid, const uint8_t *value, - size_t len, struct attribute **attr); -int attrib_db_del(struct btd_adapter *adapter, uint16_t handle); -int attrib_gap_set(struct btd_adapter *adapter, uint16_t uuid, - const uint8_t *value, size_t len); -uint32_t attrib_create_sdp(struct btd_adapter *adapter, uint16_t handle, - const char *name); -void attrib_free_sdp(uint32_t sdp_handle); -guint attrib_channel_attach(GAttrib *attrib); -gboolean attrib_channel_detach(GAttrib *attrib, guint id); diff --git a/GRIB_BLE_HUB/libs/ble_extend/src/bluetooth.conf b/GRIB_BLE_HUB/libs/ble_extend/src/bluetooth.conf deleted file mode 100644 index 0495200..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/src/bluetooth.conf +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/GRIB_BLE_HUB/libs/ble_extend/src/bluetooth.service b/GRIB_BLE_HUB/libs/ble_extend/src/bluetooth.service deleted file mode 100644 index c5d8646..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/src/bluetooth.service +++ /dev/null @@ -1,17 +0,0 @@ -[Unit] -Description=Bluetooth service -Documentation=man:bluetoothd(8) - -[Service] -Type=dbus -BusName=org.bluez -ExecStart=/usr/local/libexec/bluetooth/bluetoothd -NotifyAccess=main -#WatchdogSec=10 -#Restart=on-failure -CapabilityBoundingSet=CAP_NET_ADMIN CAP_NET_BIND_SERVICE CAP_NET_RAW -LimitNPROC=1 - -[Install] -WantedBy=bluetooth.target -Alias=dbus-org.bluez.service diff --git a/GRIB_BLE_HUB/libs/ble_extend/src/bluetooth.service.in b/GRIB_BLE_HUB/libs/ble_extend/src/bluetooth.service.in deleted file mode 100644 index 2b73254..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/src/bluetooth.service.in +++ /dev/null @@ -1,17 +0,0 @@ -[Unit] -Description=Bluetooth service -Documentation=man:bluetoothd(8) - -[Service] -Type=dbus -BusName=org.bluez -ExecStart=@libexecdir@/bluetoothd -NotifyAccess=main -#WatchdogSec=10 -#Restart=on-failure -CapabilityBoundingSet=CAP_NET_ADMIN CAP_NET_BIND_SERVICE CAP_NET_RAW -LimitNPROC=1 - -[Install] -WantedBy=bluetooth.target -Alias=dbus-org.bluez.service diff --git a/GRIB_BLE_HUB/libs/ble_extend/src/bluetooth.ver b/GRIB_BLE_HUB/libs/ble_extend/src/bluetooth.ver deleted file mode 100644 index b71c70d..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/src/bluetooth.ver +++ /dev/null @@ -1,10 +0,0 @@ -{ - global: - btd_*; - g_dbus_*; - info; - error; - debug; - local: - *; -}; diff --git a/GRIB_BLE_HUB/libs/ble_extend/src/bluetoothd b/GRIB_BLE_HUB/libs/ble_extend/src/bluetoothd deleted file mode 100644 index 08866f5..0000000 Binary files a/GRIB_BLE_HUB/libs/ble_extend/src/bluetoothd and /dev/null differ diff --git a/GRIB_BLE_HUB/libs/ble_extend/src/bluetoothd.8 b/GRIB_BLE_HUB/libs/ble_extend/src/bluetoothd.8 deleted file mode 100644 index 09f7f47..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/src/bluetoothd.8 +++ /dev/null @@ -1,36 +0,0 @@ -.\" -.TH "BLUETOOTHD" "8" "March 2004" "Bluetooth daemon" "System management commands" -.SH "NAME" -bluetoothd \- Bluetooth daemon - -.SH "SYNOPSIS" -.B bluetoothd -[ -.B \-n -] - -.SH "DESCRIPTION" -This manual page documents briefly the -.B bluetoothd -daemon, which manages all the Bluetooth devices. -.B bluetoothd -can also provide a number of services via the D-Bus message bus -system. -.SH "OPTIONS" -.TP -.BI \-n -Don't run as daemon in background. -.TP -.BI \-d -Enable debug information output. -.TP -.BI \-m\ mtu\-size -Use specific MTU size for SDP server. - -.SH "FILES" -.TP -.I @CONFIGDIR@/main.conf -Default location of the global configuration file. - -.SH "AUTHOR" -This manual page was written by Marcel Holtmann, Philipp Matthias Hahn and Fredrik Noring. diff --git a/GRIB_BLE_HUB/libs/ble_extend/src/bluetoothd.8.in b/GRIB_BLE_HUB/libs/ble_extend/src/bluetoothd.8.in deleted file mode 100644 index 09f7f47..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/src/bluetoothd.8.in +++ /dev/null @@ -1,36 +0,0 @@ -.\" -.TH "BLUETOOTHD" "8" "March 2004" "Bluetooth daemon" "System management commands" -.SH "NAME" -bluetoothd \- Bluetooth daemon - -.SH "SYNOPSIS" -.B bluetoothd -[ -.B \-n -] - -.SH "DESCRIPTION" -This manual page documents briefly the -.B bluetoothd -daemon, which manages all the Bluetooth devices. -.B bluetoothd -can also provide a number of services via the D-Bus message bus -system. -.SH "OPTIONS" -.TP -.BI \-n -Don't run as daemon in background. -.TP -.BI \-d -Enable debug information output. -.TP -.BI \-m\ mtu\-size -Use specific MTU size for SDP server. - -.SH "FILES" -.TP -.I @CONFIGDIR@/main.conf -Default location of the global configuration file. - -.SH "AUTHOR" -This manual page was written by Marcel Holtmann, Philipp Matthias Hahn and Fredrik Noring. diff --git a/GRIB_BLE_HUB/libs/ble_extend/src/builtin.h b/GRIB_BLE_HUB/libs/ble_extend/src/builtin.h deleted file mode 100644 index ef65ca5..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/src/builtin.h +++ /dev/null @@ -1,22 +0,0 @@ -extern struct bluetooth_plugin_desc __bluetooth_builtin_hostname; -extern struct bluetooth_plugin_desc __bluetooth_builtin_wiimote; -extern struct bluetooth_plugin_desc __bluetooth_builtin_audio; -extern struct bluetooth_plugin_desc __bluetooth_builtin_network; -extern struct bluetooth_plugin_desc __bluetooth_builtin_input; -extern struct bluetooth_plugin_desc __bluetooth_builtin_hog; -extern struct bluetooth_plugin_desc __bluetooth_builtin_gatt; -extern struct bluetooth_plugin_desc __bluetooth_builtin_scanparam; -extern struct bluetooth_plugin_desc __bluetooth_builtin_deviceinfo; - -static struct bluetooth_plugin_desc *__bluetooth_builtin[] = { - &__bluetooth_builtin_hostname, - &__bluetooth_builtin_wiimote, - &__bluetooth_builtin_audio, - &__bluetooth_builtin_network, - &__bluetooth_builtin_input, - &__bluetooth_builtin_hog, - &__bluetooth_builtin_gatt, - &__bluetooth_builtin_scanparam, - &__bluetooth_builtin_deviceinfo, - NULL -}; diff --git a/GRIB_BLE_HUB/libs/ble_extend/src/dbus-common.c b/GRIB_BLE_HUB/libs/ble_extend/src/dbus-common.c deleted file mode 100644 index d466a8f..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/src/dbus-common.c +++ /dev/null @@ -1,228 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2006-2010 Nokia Corporation - * Copyright (C) 2004-2010 Marcel Holtmann - * Copyright (C) 2005-2007 Johan Hedberg - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include - -#include -#include -#include - -#include "log.h" - -#include "dbus-common.h" - -static DBusConnection *connection = NULL; - -static void append_variant(DBusMessageIter *iter, int type, void *val) -{ - DBusMessageIter value; - char sig[2] = { type, '\0' }; - - dbus_message_iter_open_container(iter, DBUS_TYPE_VARIANT, sig, &value); - - dbus_message_iter_append_basic(&value, type, val); - - dbus_message_iter_close_container(iter, &value); -} - -static void append_array_variant(DBusMessageIter *iter, int type, void *val, - int n_elements) -{ - DBusMessageIter variant, array; - char type_sig[2] = { type, '\0' }; - char array_sig[3] = { DBUS_TYPE_ARRAY, type, '\0' }; - - dbus_message_iter_open_container(iter, DBUS_TYPE_VARIANT, - array_sig, &variant); - - dbus_message_iter_open_container(&variant, DBUS_TYPE_ARRAY, - type_sig, &array); - - if (dbus_type_is_fixed(type) == TRUE) { - dbus_message_iter_append_fixed_array(&array, type, val, - n_elements); - } else if (type == DBUS_TYPE_STRING || type == DBUS_TYPE_OBJECT_PATH) { - const char ***str_array = val; - int i; - - for (i = 0; i < n_elements; i++) - dbus_message_iter_append_basic(&array, type, - &((*str_array)[i])); - } - - dbus_message_iter_close_container(&variant, &array); - - dbus_message_iter_close_container(iter, &variant); -} - -void dict_append_entry(DBusMessageIter *dict, - const char *key, int type, void *val) -{ - DBusMessageIter entry; - - if (type == DBUS_TYPE_STRING) { - const char *str = *((const char **) val); - if (str == NULL) - return; - } - - dbus_message_iter_open_container(dict, DBUS_TYPE_DICT_ENTRY, - NULL, &entry); - - dbus_message_iter_append_basic(&entry, DBUS_TYPE_STRING, &key); - - append_variant(&entry, type, val); - - dbus_message_iter_close_container(dict, &entry); -} - -void dict_append_array(DBusMessageIter *dict, const char *key, int type, - void *val, int n_elements) -{ - DBusMessageIter entry; - - dbus_message_iter_open_container(dict, DBUS_TYPE_DICT_ENTRY, - NULL, &entry); - - dbus_message_iter_append_basic(&entry, DBUS_TYPE_STRING, &key); - - append_array_variant(&entry, type, val, n_elements); - - dbus_message_iter_close_container(dict, &entry); -} - -void set_dbus_connection(DBusConnection *conn) -{ - connection = conn; -} - -DBusConnection *btd_get_dbus_connection(void) -{ - return connection; -} - -const char *class_to_icon(uint32_t class) -{ - switch ((class & 0x1f00) >> 8) { - case 0x01: - return "computer"; - case 0x02: - switch ((class & 0xfc) >> 2) { - case 0x01: - case 0x02: - case 0x03: - case 0x05: - return "phone"; - case 0x04: - return "modem"; - } - break; - case 0x03: - return "network-wireless"; - case 0x04: - switch ((class & 0xfc) >> 2) { - case 0x01: - case 0x02: - return "audio-card"; /* Headset */ - case 0x06: - return "audio-card"; /* Headphone */ - case 0x0b: /* VCR */ - case 0x0c: /* Video Camera */ - case 0x0d: /* Camcorder */ - return "camera-video"; - default: - return "audio-card"; /* Other audio device */ - } - break; - case 0x05: - switch ((class & 0xc0) >> 6) { - case 0x00: - switch ((class & 0x1e) >> 2) { - case 0x01: - case 0x02: - return "input-gaming"; - } - break; - case 0x01: - return "input-keyboard"; - case 0x02: - switch ((class & 0x1e) >> 2) { - case 0x05: - return "input-tablet"; - default: - return "input-mouse"; - } - } - break; - case 0x06: - if (class & 0x80) - return "printer"; - if (class & 0x20) - return "camera-photo"; - break; - } - - return NULL; -} - -const char *gap_appearance_to_icon(uint16_t appearance) -{ - switch ((appearance & 0xffc0) >> 6) { - case 0x00: - return "unknown"; - case 0x01: - return "phone"; - case 0x02: - return "computer"; - case 0x05: - return "video-display"; - case 0x0a: - return "multimedia-player"; - case 0x0b: - return "scanner"; - case 0x0f: /* HID Generic */ - switch (appearance & 0x3f) { - case 0x01: - return "input-keyboard"; - case 0x02: - return "input-mouse"; - case 0x03: - case 0x04: - return "input-gaming"; - case 0x05: - return "input-tablet"; - case 0x08: - return "scanner"; - } - break; - } - - return NULL; -} diff --git a/GRIB_BLE_HUB/libs/ble_extend/src/dbus-common.h b/GRIB_BLE_HUB/libs/ble_extend/src/dbus-common.h deleted file mode 100644 index f331b2f..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/src/dbus-common.h +++ /dev/null @@ -1,34 +0,0 @@ -/* * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2006-2010 Nokia Corporation - * Copyright (C) 2004-2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -void dict_append_entry(DBusMessageIter *dict, - const char *key, int type, void *val); - -void dict_append_array(DBusMessageIter *dict, const char *key, int type, - void *val, int n_elements); - -void set_dbus_connection(DBusConnection *conn); -DBusConnection *btd_get_dbus_connection(void); - -const char *class_to_icon(uint32_t class); -const char *gap_appearance_to_icon(uint16_t appearance); diff --git a/GRIB_BLE_HUB/libs/ble_extend/src/device.c b/GRIB_BLE_HUB/libs/ble_extend/src/device.c deleted file mode 100644 index ee17514..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/src/device.c +++ /dev/null @@ -1,4292 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2006-2010 Nokia Corporation - * Copyright (C) 2004-2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include - -#include -#include -#include -#include - -#include "log.h" - -#include "lib/uuid.h" -#include "lib/mgmt.h" -#include "attrib/att.h" -#include "hcid.h" -#include "adapter.h" -#include "attrib/gattrib.h" -#include "attio.h" -#include "device.h" -#include "profile.h" -#include "dbus-common.h" -#include "error.h" -#include "glib-helper.h" -#include "sdp-client.h" -#include "attrib/gatt.h" -#include "agent.h" -#include "sdp-xml.h" -#include "storage.h" -#include "attrib-server.h" - -#define IO_CAPABILITY_NOINPUTNOOUTPUT 0x03 - -#define DISCONNECT_TIMER 2 -#define DISCOVERY_TIMER 1 - -static DBusConnection *dbus_conn = NULL; - -struct btd_disconnect_data { - guint id; - disconnect_watch watch; - void *user_data; - GDestroyNotify destroy; -}; - -struct bonding_req { - DBusMessage *msg; - guint listener_id; - struct btd_device *device; - struct agent *agent; -}; - -typedef enum { - AUTH_TYPE_PINCODE, - AUTH_TYPE_PASSKEY, - AUTH_TYPE_CONFIRM, - AUTH_TYPE_NOTIFY_PASSKEY, - AUTH_TYPE_NOTIFY_PINCODE, -} auth_type_t; - -struct authentication_req { - auth_type_t type; - struct agent *agent; - struct btd_device *device; - uint32_t passkey; - char *pincode; - gboolean secure; -}; - -struct browse_req { - DBusMessage *msg; - struct btd_device *device; - GSList *match_uuids; - GSList *profiles_added; - GSList *profiles_removed; - sdp_list_t *records; - int search_uuid; - int reconnect_attempt; - guint listener_id; -}; - -struct included_search { - struct browse_req *req; - GSList *services; - GSList *current; -}; - -struct attio_data { - guint id; - attio_connect_cb cfunc; - attio_disconnect_cb dcfunc; - gpointer user_data; -}; - -struct svc_callback { - unsigned int id; - guint idle_id; - struct btd_device *dev; - device_svc_cb_t func; - void *user_data; -}; - -typedef void (*attio_error_cb) (const GError *gerr, gpointer user_data); -typedef void (*attio_success_cb) (gpointer user_data); - -struct att_callbacks { - attio_error_cb error; /* Callback for error */ - attio_success_cb success; /* Callback for success */ - gpointer user_data; -}; - -struct btd_device { - int ref_count; - - bdaddr_t bdaddr; - uint8_t bdaddr_type; - char *path; - bool svc_resolved; - GSList *svc_callbacks; - GSList *eir_uuids; - char name[MAX_NAME_LENGTH + 1]; - char *alias; - uint32_t class; - uint16_t vendor_src; - uint16_t vendor; - uint16_t product; - uint16_t version; - uint16_t appearance; - char *modalias; - struct btd_adapter *adapter; - GSList *uuids; - GSList *primaries; /* List of primary services */ - GSList *profiles; /* Probed profiles */ - GSList *pending; /* Pending profiles */ - GSList *watches; /* List of disconnect_data */ - gboolean temporary; - guint disconn_timer; - guint discov_timer; - struct browse_req *browse; /* service discover request */ - struct bonding_req *bonding; - struct authentication_req *authr; /* authentication request */ - GSList *disconnects; /* disconnects message */ - DBusMessage *connect; /* connect message */ - DBusMessage *disconnect; /* disconnect message */ - GAttrib *attrib; - GSList *attios; - GSList *attios_offline; - guint attachid; /* Attrib server attach */ - - gboolean connected; - GSList *connected_profiles; - - sdp_list_t *tmp_records; - - gboolean trusted; - gboolean paired; - gboolean blocked; - gboolean bonded; - gboolean auto_connect; - gboolean disable_auto_connect; - gboolean general_connect; - - bool legacy; - int8_t rssi; - - GIOChannel *att_io; - guint cleanup_id; - guint store_id; -}; - -static const uint16_t uuid_list[] = { - L2CAP_UUID, - PNP_INFO_SVCLASS_ID, - PUBLIC_BROWSE_GROUP, - 0 -}; - -static int device_browse_primary(struct btd_device *device, DBusMessage *msg, - gboolean secure); -static int device_browse_sdp(struct btd_device *device, DBusMessage *msg, - gboolean reverse); - -static gboolean store_device_info_cb(gpointer user_data) -{ - struct btd_device *device = user_data; - GKeyFile *key_file; - char filename[PATH_MAX + 1]; - char adapter_addr[18]; - char device_addr[18]; - char *str; - char class[9]; - char **uuids = NULL; - gsize length = 0; - - device->store_id = 0; - - ba2str(adapter_get_address(device->adapter), adapter_addr); - ba2str(&device->bdaddr, device_addr); - snprintf(filename, PATH_MAX, STORAGEDIR "/%s/%s/info", adapter_addr, - device_addr); - filename[PATH_MAX] = '\0'; - - key_file = g_key_file_new(); - g_key_file_load_from_file(key_file, filename, 0, NULL); - - g_key_file_set_string(key_file, "General", "Name", device->name); - - if (device->alias != NULL) - g_key_file_set_string(key_file, "General", "Alias", - device->alias); - else - g_key_file_remove_key(key_file, "General", "Alias", NULL); - - if (device->class) { - sprintf(class, "0x%6.6x", device->class); - g_key_file_set_string(key_file, "General", "Class", class); - } else { - g_key_file_remove_key(key_file, "General", "Class", NULL); - } - - if (device->appearance) { - sprintf(class, "0x%4.4x", device->appearance); - g_key_file_set_string(key_file, "General", "Appearance", class); - } else { - g_key_file_remove_key(key_file, "General", "Appearance", NULL); - } - - switch (device->bdaddr_type) { - case BDADDR_BREDR: - g_key_file_set_string(key_file, "General", - "SupportedTechnologies", "BR/EDR"); - g_key_file_remove_key(key_file, "General", - "AddressType", NULL); - break; - - case BDADDR_LE_PUBLIC: - g_key_file_set_string(key_file, "General", - "SupportedTechnologies", "LE"); - g_key_file_set_string(key_file, "General", - "AddressType", "public"); - break; - - case BDADDR_LE_RANDOM: - g_key_file_set_string(key_file, "General", - "SupportedTechnologies", "LE"); - g_key_file_set_string(key_file, "General", - "AddressType", "static"); - break; - - default: - g_key_file_remove_key(key_file, "General", - "SupportedTechnologies", NULL); - g_key_file_remove_key(key_file, "General", - "AddressType", NULL); - } - - g_key_file_set_boolean(key_file, "General", "Trusted", - device->trusted); - - g_key_file_set_boolean(key_file, "General", "Blocked", - device->blocked); - - if (device->uuids) { - GSList *l; - int i; - - uuids = g_new0(char *, g_slist_length(device->uuids) + 1); - for (i = 0, l = device->uuids; l; l = g_slist_next(l), i++) - uuids[i] = l->data; - g_key_file_set_string_list(key_file, "General", "Services", - (const char **)uuids, i); - } else { - g_key_file_remove_key(key_file, "General", "Services", NULL); - } - - if (device->vendor_src) { - g_key_file_set_integer(key_file, "DeviceID", "Source", - device->vendor_src); - g_key_file_set_integer(key_file, "DeviceID", "Vendor", - device->vendor); - g_key_file_set_integer(key_file, "DeviceID", "Product", - device->product); - g_key_file_set_integer(key_file, "DeviceID", "Version", - device->version); - } else { - g_key_file_remove_group(key_file, "DeviceID", NULL); - } - - create_file(filename, S_IRUSR | S_IWUSR); - - str = g_key_file_to_data(key_file, &length, NULL); - g_file_set_contents(filename, str, length, NULL); - g_free(str); - - g_key_file_free(key_file); - g_free(uuids); - - return FALSE; -} - -static void store_device_info(struct btd_device *device) -{ - if (device->temporary || device->store_id > 0) - return; - - device->store_id = g_idle_add(store_device_info_cb, device); -} - -static void browse_request_free(struct browse_req *req) -{ - if (req->listener_id) - g_dbus_remove_watch(dbus_conn, req->listener_id); - if (req->msg) - dbus_message_unref(req->msg); - if (req->device) - btd_device_unref(req->device); - g_slist_free_full(req->profiles_added, g_free); - g_slist_free(req->profiles_removed); - if (req->records) - sdp_list_free(req->records, (sdp_free_func_t) sdp_record_free); - - g_free(req); -} - -static void attio_cleanup(struct btd_device *device) -{ - if (device->attachid) { - attrib_channel_detach(device->attrib, device->attachid); - device->attachid = 0; - } - - if (device->cleanup_id) { - g_source_remove(device->cleanup_id); - device->cleanup_id = 0; - } - - if (device->att_io) { - g_io_channel_shutdown(device->att_io, FALSE, NULL); - g_io_channel_unref(device->att_io); - device->att_io = NULL; - } - - if (device->attrib) { - g_attrib_unref(device->attrib); - device->attrib = NULL; - } -} - -static void browse_request_cancel(struct browse_req *req) -{ - struct btd_device *device = req->device; - struct btd_adapter *adapter = device->adapter; - - bt_cancel_discovery(adapter_get_address(adapter), &device->bdaddr); - - attio_cleanup(device); - - device->browse = NULL; - browse_request_free(req); -} - -static void svc_dev_remove(gpointer user_data) -{ - struct svc_callback *cb = user_data; - - if (cb->idle_id > 0) - g_source_remove(cb->idle_id); - - cb->func(cb->dev, -ENODEV, cb->user_data); - - g_free(cb); -} - -static void device_free(gpointer user_data) -{ - struct btd_device *device = user_data; - - g_slist_free_full(device->uuids, g_free); - g_slist_free_full(device->primaries, g_free); - g_slist_free_full(device->attios, g_free); - g_slist_free_full(device->attios_offline, g_free); - g_slist_free_full(device->svc_callbacks, svc_dev_remove); - - attio_cleanup(device); - - if (device->tmp_records) - sdp_list_free(device->tmp_records, - (sdp_free_func_t) sdp_record_free); - - if (device->disconn_timer) - g_source_remove(device->disconn_timer); - - if (device->discov_timer) - g_source_remove(device->discov_timer); - - if (device->connect) - dbus_message_unref(device->connect); - - if (device->disconnect) - dbus_message_unref(device->disconnect); - - DBG("%p", device); - - if (device->authr) { - if (device->authr->agent) - agent_unref(device->authr->agent); - g_free(device->authr->pincode); - g_free(device->authr); - } - - if (device->eir_uuids) - g_slist_free_full(device->eir_uuids, g_free); - - g_free(device->path); - g_free(device->alias); - g_free(device->modalias); - g_free(device); -} - -gboolean device_is_bredr(struct btd_device *device) -{ - return (device->bdaddr_type == BDADDR_BREDR); -} - -gboolean device_is_le(struct btd_device *device) -{ - return (device->bdaddr_type != BDADDR_BREDR); -} - -gboolean device_is_paired(struct btd_device *device) -{ - return device->paired; -} - -gboolean device_is_bonded(struct btd_device *device) -{ - return device->bonded; -} - -gboolean device_is_trusted(struct btd_device *device) -{ - return device->trusted; -} - -static gboolean dev_property_get_address(const GDBusPropertyTable *property, - DBusMessageIter *iter, void *data) -{ - struct btd_device *device = data; - char dstaddr[18]; - const char *ptr = dstaddr; - - ba2str(&device->bdaddr, dstaddr); - dbus_message_iter_append_basic(iter, DBUS_TYPE_STRING, &ptr); - - return TRUE; -} - -static gboolean dev_property_get_name(const GDBusPropertyTable *property, - DBusMessageIter *iter, void *data) -{ - struct btd_device *device = data; - const char *empty = "", *ptr; - - ptr = device->name ?: empty; - dbus_message_iter_append_basic(iter, DBUS_TYPE_STRING, &ptr); - - return TRUE; -} - -static gboolean dev_property_exists_name(const GDBusPropertyTable *property, - void *data) -{ - struct btd_device *dev = data; - - return device_name_known(dev); -} - -static gboolean dev_property_get_alias(const GDBusPropertyTable *property, - DBusMessageIter *iter, void *data) -{ - struct btd_device *device = data; - char dstaddr[18]; - const char *ptr; - - /* Alias (fallback to name or address) */ - if (device->alias != NULL) - ptr = device->alias; - else if (strlen(device->name) > 0) { - ptr = device->name; - } else { - ba2str(&device->bdaddr, dstaddr); - g_strdelimit(dstaddr, ":", '-'); - ptr = dstaddr; - } - - dbus_message_iter_append_basic(iter, DBUS_TYPE_STRING, &ptr); - - return TRUE; -} - -static void set_alias(GDBusPendingPropertySet id, const char *alias, - void *data) -{ - struct btd_device *device = data; - - /* No change */ - if ((device->alias == NULL && g_str_equal(alias, "")) || - g_strcmp0(device->alias, alias) == 0) { - g_dbus_pending_property_success(id); - return; - } - - g_free(device->alias); - device->alias = g_str_equal(alias, "") ? NULL : g_strdup(alias); - - store_device_info(device); - - g_dbus_emit_property_changed(dbus_conn, device->path, - DEVICE_INTERFACE, "Alias"); - - g_dbus_pending_property_success(id); -} - -static void dev_property_set_alias(const GDBusPropertyTable *property, - DBusMessageIter *value, - GDBusPendingPropertySet id, void *data) -{ - const char *alias; - - if (dbus_message_iter_get_arg_type(value) != DBUS_TYPE_STRING) { - g_dbus_pending_property_error(id, - ERROR_INTERFACE ".InvalidArguments", - "Invalid arguments in method call"); - return; - } - - dbus_message_iter_get_basic(value, &alias); - - set_alias(id, alias, data); -} - -static gboolean dev_property_exists_class(const GDBusPropertyTable *property, - void *data) -{ - struct btd_device *device = data; - - return device->class != 0; -} - -static gboolean dev_property_get_class(const GDBusPropertyTable *property, - DBusMessageIter *iter, void *data) -{ - struct btd_device *device = data; - - if (device->class == 0) - return FALSE; - - dbus_message_iter_append_basic(iter, DBUS_TYPE_UINT32, &device->class); - - return TRUE; -} - -static gboolean get_appearance(const GDBusPropertyTable *property, void *data, - uint16_t *appearance) -{ - struct btd_device *device = data; - - if (dev_property_exists_class(property, data)) - return FALSE; - - if (device->appearance) { - *appearance = device->appearance; - return TRUE; - } - - return FALSE; -} - -static gboolean dev_property_exists_appearance( - const GDBusPropertyTable *property, void *data) -{ - uint16_t appearance; - - return get_appearance(property, data, &appearance); -} - -static gboolean dev_property_get_appearance(const GDBusPropertyTable *property, - DBusMessageIter *iter, void *data) -{ - uint16_t appearance; - - if (!get_appearance(property, data, &appearance)) - return FALSE; - - dbus_message_iter_append_basic(iter, DBUS_TYPE_UINT16, &appearance); - - return TRUE; -} - -static const char *get_icon(const GDBusPropertyTable *property, void *data) -{ - struct btd_device *device = data; - const char *icon = NULL; - uint16_t appearance; - - if (device->class != 0) - icon = class_to_icon(device->class); - else if (get_appearance(property, data, &appearance)) - icon = gap_appearance_to_icon(appearance); - - return icon; -} - -static gboolean dev_property_exists_icon( - const GDBusPropertyTable *property, void *data) -{ - return get_icon(property, data) != NULL; -} - -static gboolean dev_property_get_icon(const GDBusPropertyTable *property, - DBusMessageIter *iter, void *data) -{ - const char *icon; - - icon = get_icon(property, data); - if (icon == NULL) - return FALSE; - - dbus_message_iter_append_basic(iter, DBUS_TYPE_STRING, &icon); - - return TRUE; -} - -static gboolean dev_property_get_paired(const GDBusPropertyTable *property, - DBusMessageIter *iter, void *data) -{ - struct btd_device *device = data; - gboolean val = device_is_paired(device); - - dbus_message_iter_append_basic(iter, DBUS_TYPE_BOOLEAN, &val); - - return TRUE; -} - -static gboolean dev_property_get_legacy(const GDBusPropertyTable *property, - DBusMessageIter *iter, void *data) -{ - struct btd_device *device = data; - dbus_bool_t val = device->legacy; - - dbus_message_iter_append_basic(iter, DBUS_TYPE_BOOLEAN, &val); - - return TRUE; -} - -static gboolean dev_property_get_rssi(const GDBusPropertyTable *property, - DBusMessageIter *iter, void *data) -{ - struct btd_device *dev = data; - dbus_int16_t val = dev->rssi; - - dbus_message_iter_append_basic(iter, DBUS_TYPE_INT16, &val); - - return TRUE; -} - -static gboolean dev_property_exists_rssi(const GDBusPropertyTable *property, - void *data) -{ - struct btd_device *dev = data; - - if (dev->rssi == 0) - return FALSE; - - return TRUE; -} - -static gboolean dev_property_get_trusted(const GDBusPropertyTable *property, - DBusMessageIter *iter, void *data) -{ - struct btd_device *device = data; - gboolean val = device_is_trusted(device); - - dbus_message_iter_append_basic(iter, DBUS_TYPE_BOOLEAN, &val); - - return TRUE; -} - -static void set_trust(GDBusPendingPropertySet id, gboolean value, void *data) -{ - struct btd_device *device = data; - - device_set_trusted(device, value); - - g_dbus_pending_property_success(id); -} - -static void dev_property_set_trusted(const GDBusPropertyTable *property, - DBusMessageIter *value, - GDBusPendingPropertySet id, void *data) -{ - dbus_bool_t b; - - if (dbus_message_iter_get_arg_type(value) != DBUS_TYPE_BOOLEAN) { - g_dbus_pending_property_error(id, - ERROR_INTERFACE ".InvalidArguments", - "Invalid arguments in method call"); - return; - } - - dbus_message_iter_get_basic(value, &b); - - set_trust(id, b, data); -} - -static gboolean dev_property_get_blocked(const GDBusPropertyTable *property, - DBusMessageIter *iter, void *data) -{ - struct btd_device *device = data; - - dbus_message_iter_append_basic(iter, DBUS_TYPE_BOOLEAN, - &device->blocked); - - return TRUE; -} - -static void set_blocked(GDBusPendingPropertySet id, gboolean value, void *data) -{ - struct btd_device *device = data; - int err; - - if (value) - err = device_block(device, FALSE); - else - err = device_unblock(device, FALSE, FALSE); - - switch (-err) { - case 0: - g_dbus_pending_property_success(id); - break; - case EINVAL: - g_dbus_pending_property_error(id, ERROR_INTERFACE ".Failed", - "Kernel lacks blacklist support"); - break; - default: - g_dbus_pending_property_error(id, ERROR_INTERFACE ".Failed", - strerror(-err)); - break; - } -} - - -static void dev_property_set_blocked(const GDBusPropertyTable *property, - DBusMessageIter *value, - GDBusPendingPropertySet id, void *data) -{ - dbus_bool_t b; - - if (dbus_message_iter_get_arg_type(value) != DBUS_TYPE_BOOLEAN) { - g_dbus_pending_property_error(id, - ERROR_INTERFACE ".InvalidArguments", - "Invalid arguments in method call"); - return; - } - - dbus_message_iter_get_basic(value, &b); - - set_blocked(id, b, data); -} - -static gboolean dev_property_get_connected(const GDBusPropertyTable *property, - DBusMessageIter *iter, void *data) -{ - struct btd_device *device = data; - - dbus_message_iter_append_basic(iter, DBUS_TYPE_BOOLEAN, - &device->connected); - - return TRUE; -} - -static gboolean dev_property_get_uuids(const GDBusPropertyTable *property, - DBusMessageIter *iter, void *data) -{ - struct btd_device *device = data; - DBusMessageIter entry; - GSList *l; - - dbus_message_iter_open_container(iter, DBUS_TYPE_ARRAY, - DBUS_TYPE_STRING_AS_STRING, &entry); - - if (!device->svc_resolved) - l = device->eir_uuids; - else - l = device->uuids; - - for (; l != NULL; l = l->next) - dbus_message_iter_append_basic(&entry, DBUS_TYPE_STRING, - &l->data); - - dbus_message_iter_close_container(iter, &entry); - - return TRUE; -} - -static gboolean dev_property_get_modalias(const GDBusPropertyTable *property, - DBusMessageIter *iter, void *data) -{ - struct btd_device *device = data; - - if (!device->modalias) - return FALSE; - - dbus_message_iter_append_basic(iter, DBUS_TYPE_STRING, - &device->modalias); - - return TRUE; -} - -static gboolean dev_property_exists_modalias(const GDBusPropertyTable *property, - void *data) -{ - struct btd_device *device = data; - - return device->modalias ? TRUE : FALSE; -} - -static gboolean dev_property_get_adapter(const GDBusPropertyTable *property, - DBusMessageIter *iter, void *data) -{ - struct btd_device *device = data; - const char *str = adapter_get_path(device->adapter); - - dbus_message_iter_append_basic(iter, DBUS_TYPE_OBJECT_PATH, &str); - - return TRUE; -} - -static void profile_remove(gpointer data, gpointer user_data) -{ - struct btd_profile *profile = data; - struct btd_device *device = user_data; - - profile->device_remove(profile, device); -} - -static gboolean do_disconnect(gpointer user_data) -{ - struct btd_device *device = user_data; - - device->disconn_timer = 0; - - btd_adapter_disconnect_device(device->adapter, &device->bdaddr, - device->bdaddr_type); - - return FALSE; -} - -int device_block(struct btd_device *device, gboolean update_only) -{ - int err = 0; - - if (device->blocked) - return 0; - - if (device->connected) - do_disconnect(device); - - g_slist_foreach(device->profiles, profile_remove, device); - g_slist_free(device->profiles); - device->profiles = NULL; - - if (!update_only) - err = btd_adapter_block_address(device->adapter, - &device->bdaddr, device->bdaddr_type); - - if (err < 0) - return err; - - device->blocked = TRUE; - - store_device_info(device); - - device_set_temporary(device, FALSE); - - g_dbus_emit_property_changed(dbus_conn, device->path, - DEVICE_INTERFACE, "Blocked"); - - return 0; -} - -int device_unblock(struct btd_device *device, gboolean silent, - gboolean update_only) -{ - int err = 0; - - if (!device->blocked) - return 0; - - if (!update_only) - err = btd_adapter_unblock_address(device->adapter, - &device->bdaddr, device->bdaddr_type); - - if (err < 0) - return err; - - device->blocked = FALSE; - - store_device_info(device); - - if (!silent) { - g_dbus_emit_property_changed(dbus_conn, device->path, - DEVICE_INTERFACE, "Blocked"); - device_probe_profiles(device, device->uuids); - } - - return 0; -} - -static void discover_services_req_exit(DBusConnection *conn, void *user_data) -{ - struct browse_req *req = user_data; - - DBG("DiscoverServices requestor exited"); - - browse_request_cancel(req); -} - -static void bonding_request_cancel(struct bonding_req *bonding) -{ - struct btd_device *device = bonding->device; - struct btd_adapter *adapter = device->adapter; - - adapter_cancel_bonding(adapter, &device->bdaddr, device->bdaddr_type); -} - -static void dev_disconn_profile(gpointer a, gpointer b) -{ - struct btd_profile *profile = a; - struct btd_device *dev = b; - - if (!profile->disconnect) - return; - - profile->disconnect(dev, profile); -} - -void device_request_disconnect(struct btd_device *device, DBusMessage *msg) -{ - if (device->bonding) - bonding_request_cancel(device->bonding); - - if (device->browse) - browse_request_cancel(device->browse); - - if (device->connect) { - DBusMessage *reply = btd_error_failed(device->connect, - "Cancelled"); - g_dbus_send_message(dbus_conn, reply); - dbus_message_unref(device->connect); - device->connect = NULL; - } - - if (msg) - device->disconnects = g_slist_append(device->disconnects, - dbus_message_ref(msg)); - - if (device->disconn_timer) - return; - - g_slist_foreach(device->connected_profiles, dev_disconn_profile, - device); - g_slist_free(device->connected_profiles); - device->connected_profiles = NULL; - - g_slist_free(device->pending); - device->pending = NULL; - - while (device->watches) { - struct btd_disconnect_data *data = device->watches->data; - - if (data->watch) - /* temporary is set if device is going to be removed */ - data->watch(device, device->temporary, - data->user_data); - - /* Check if the watch has been removed by callback function */ - if (!g_slist_find(device->watches, data)) - continue; - - device->watches = g_slist_remove(device->watches, data); - g_free(data); - } - - device->disconn_timer = g_timeout_add_seconds(DISCONNECT_TIMER, - do_disconnect, device); -} - -static DBusMessage *disconnect(DBusConnection *conn, DBusMessage *msg, - void *user_data) -{ - struct btd_device *device = user_data; - - if (!device->connected) - return btd_error_not_connected(msg); - - /* - * Disable connections through passive scanning until - * Device1.Connect is called - */ - if (device->auto_connect) - device->disable_auto_connect = TRUE; - - device_request_disconnect(device, msg); - - return NULL; -} - -static int connect_next(struct btd_device *dev) -{ - struct btd_profile *profile; - int err = -ENOENT; - - while (dev->pending) { - int err; - - profile = dev->pending->data; - - err = profile->connect(dev, profile); - if (err == 0) - return 0; - - error("Failed to connect %s: %s", profile->name, - strerror(-err)); - dev->pending = g_slist_remove(dev->pending, profile); - } - - return err; -} - -void device_profile_connected(struct btd_device *dev, - struct btd_profile *profile, int err) -{ - struct btd_profile *pending; - - DBG("%s %s (%d)", profile->name, strerror(-err), -err); - - if (dev->pending == NULL) - return; - - pending = dev->pending->data; - dev->pending = g_slist_remove(dev->pending, profile); - - if (!err) - dev->connected_profiles = - g_slist_append(dev->connected_profiles, - profile); - - /* Only continue connecting the next profile if it matches the first - * pending, otherwise it will trigger another connect to the same - * profile - */ - if (profile != pending) - return; - - if (connect_next(dev) == 0) - return; - - if (!dev->connect) - return; - - if (!err && dbus_message_is_method_call(dev->connect, DEVICE_INTERFACE, - "Connect")) - dev->general_connect = TRUE; - - DBG("returning response to %s", dbus_message_get_sender(dev->connect)); - - if (err && dev->connected_profiles == NULL) - g_dbus_send_message(dbus_conn, - btd_error_failed(dev->connect, strerror(-err))); - else - g_dbus_send_reply(dbus_conn, dev->connect, DBUS_TYPE_INVALID); - - g_slist_free(dev->pending); - dev->pending = NULL; - - dbus_message_unref(dev->connect); - dev->connect = NULL; -} - -void device_add_eir_uuids(struct btd_device *dev, GSList *uuids) -{ - GSList *l; - bool added = false; - - if (dev->svc_resolved) - return; - - for (l = uuids; l != NULL; l = l->next) { - const char *str = l->data; - if (g_slist_find_custom(dev->eir_uuids, str, bt_uuid_strcmp)) - continue; - added = true; - dev->eir_uuids = g_slist_append(dev->eir_uuids, g_strdup(str)); - } - - if (added) - g_dbus_emit_property_changed(dbus_conn, dev->path, - DEVICE_INTERFACE, "UUIDs"); -} - -static int device_resolve_svc(struct btd_device *dev, DBusMessage *msg) -{ - if (device_is_bredr(dev)) - return device_browse_sdp(dev, msg, FALSE); - else - return device_browse_primary(dev, msg, FALSE); -} - -static struct btd_profile *find_connectable_profile(struct btd_device *dev, - const char *uuid) -{ - GSList *l; - - for (l = dev->profiles; l != NULL; l = g_slist_next(l)) { - struct btd_profile *p = l->data; - - if (!p->connect || !p->remote_uuid) - continue; - - if (strcasecmp(uuid, p->remote_uuid) == 0) - return p; - } - - return NULL; -} - -static gint profile_prio_cmp(gconstpointer a, gconstpointer b) -{ - const struct btd_profile *p1 = a, *p2 = b; - - return p2->priority - p1->priority; -} - -static DBusMessage *connect_profiles(struct btd_device *dev, DBusMessage *msg, - const char *uuid) -{ - struct btd_profile *p; - GSList *l; - int err; - - DBG("%s %s, client %s", dev->path, uuid ? uuid : "(all)", - dbus_message_get_sender(msg)); - - if (dev->pending || dev->connect || dev->browse) - return btd_error_in_progress(msg); - - device_set_temporary(dev, FALSE); - - if (!dev->svc_resolved) { - err = device_resolve_svc(dev, msg); - if (err < 0) - return btd_error_failed(msg, strerror(-err)); - return NULL; - } - - if (uuid) { - p = find_connectable_profile(dev, uuid); - if (!p) - return btd_error_invalid_args(msg); - - dev->pending = g_slist_prepend(dev->pending, p); - - goto start_connect; - } - - for (l = dev->profiles; l != NULL; l = g_slist_next(l)) { - p = l->data; - - if (!p->auto_connect) - continue; - - if (g_slist_find(dev->pending, p)) - continue; - - if (g_slist_find(dev->connected_profiles, p)) - continue; - - dev->pending = g_slist_insert_sorted(dev->pending, p, - profile_prio_cmp); - } - - if (!dev->pending) - return btd_error_not_available(msg); - -start_connect: - err = connect_next(dev); - if (err < 0) - return btd_error_failed(msg, strerror(-err)); - - dev->connect = dbus_message_ref(msg); - - return NULL; -} - -static DBusMessage *dev_connect(DBusConnection *conn, DBusMessage *msg, - void *user_data) -{ - struct btd_device *dev = user_data; - - if (device_is_le(dev)) { - int err; - - if (device_is_connected(dev)) - return dbus_message_new_method_return(msg); - - device_set_temporary(dev, FALSE); - - dev->disable_auto_connect = FALSE; - - err = device_connect_le(dev); - if (err < 0) - return btd_error_failed(msg, strerror(-err)); - - dev->connect = dbus_message_ref(msg); - - return NULL; - } - - return connect_profiles(dev, msg, NULL); -} - -static DBusMessage *connect_profile(DBusConnection *conn, DBusMessage *msg, - void *user_data) -{ - struct btd_device *dev = user_data; - const char *pattern; - char *uuid; - DBusMessage *reply; - - if (!dbus_message_get_args(msg, NULL, DBUS_TYPE_STRING, &pattern, - DBUS_TYPE_INVALID)) - return btd_error_invalid_args(msg); - - uuid = bt_name2string(pattern); - reply = connect_profiles(dev, msg, uuid); - g_free(uuid); - - return reply; -} - -void device_profile_disconnected(struct btd_device *dev, - struct btd_profile *profile, int err) -{ - dev->connected_profiles = g_slist_remove(dev->connected_profiles, - profile); - - if (!dev->disconnect) - return; - - if (err) - g_dbus_send_message(dbus_conn, - btd_error_failed(dev->disconnect, - strerror(-err))); - else - g_dbus_send_reply(dbus_conn, dev->disconnect, - DBUS_TYPE_INVALID); - - dbus_message_unref(dev->disconnect); - dev->disconnect = NULL; -} - -static DBusMessage *disconnect_profile(DBusConnection *conn, DBusMessage *msg, - void *user_data) -{ - struct btd_device *dev = user_data; - struct btd_profile *p; - const char *pattern; - char *uuid; - int err; - - if (!dbus_message_get_args(msg, NULL, DBUS_TYPE_STRING, &pattern, - DBUS_TYPE_INVALID)) - return btd_error_invalid_args(msg); - - uuid = bt_name2string(pattern); - if (uuid == NULL) - return btd_error_invalid_args(msg); - - p = find_connectable_profile(dev, uuid); - g_free(uuid); - - if (!p) - return btd_error_invalid_args(msg); - - if (!p->disconnect) - return btd_error_not_supported(msg); - - err = p->disconnect(dev, p); - if (err < 0) - return btd_error_failed(msg, strerror(-err)); - - dev->disconnect = dbus_message_ref(msg); - - return NULL; -} - -static void device_svc_resolved(struct btd_device *dev, int err) -{ - DBusMessage *reply; - struct browse_req *req = dev->browse; - - dev->svc_resolved = true; - dev->browse = NULL; - - g_slist_free_full(dev->eir_uuids, g_free); - dev->eir_uuids = NULL; - - while (dev->svc_callbacks) { - struct svc_callback *cb = dev->svc_callbacks->data; - - if (cb->idle_id > 0) - g_source_remove(cb->idle_id); - - cb->func(dev, err, cb->user_data); - - dev->svc_callbacks = g_slist_delete_link(dev->svc_callbacks, - dev->svc_callbacks); - g_free(cb); - } - - if (!req || !req->msg) - return; - - if (dbus_message_is_method_call(req->msg, DEVICE_INTERFACE, - "Pair")) { - reply = dbus_message_new_method_return(req->msg); - g_dbus_send_message(dbus_conn, reply); - return; - } - - if (err) { - reply = btd_error_failed(req->msg, strerror(-err)); - g_dbus_send_message(dbus_conn, reply); - return; - } - - if (dbus_message_is_method_call(req->msg, DEVICE_INTERFACE, "Connect")) - reply = dev_connect(dbus_conn, req->msg, dev); - else if (dbus_message_is_method_call(req->msg, DEVICE_INTERFACE, - "ConnectProfile")) - reply = connect_profile(dbus_conn, req->msg, dev); - else - return; - - dbus_message_unref(req->msg); - req->msg = NULL; - - if (reply) - g_dbus_send_message(dbus_conn, reply); -} - -static struct bonding_req *bonding_request_new(DBusMessage *msg, - struct btd_device *device, - struct agent *agent) -{ - struct bonding_req *bonding; - char addr[18]; - - ba2str(&device->bdaddr, addr); - DBG("Requesting bonding for %s", addr); - - bonding = g_new0(struct bonding_req, 1); - - bonding->msg = dbus_message_ref(msg); - - if (agent) - bonding->agent = agent_ref(agent); - - return bonding; -} - -static void create_bond_req_exit(DBusConnection *conn, void *user_data) -{ - struct btd_device *device = user_data; - char addr[18]; - - ba2str(&device->bdaddr, addr); - DBG("%s: requestor exited before bonding was completed", addr); - - if (device->authr) - device_cancel_authentication(device, FALSE); - - if (device->bonding) { - device->bonding->listener_id = 0; - device_request_disconnect(device, NULL); - } -} - -static DBusMessage *pair_device(DBusConnection *conn, DBusMessage *msg, - void *data) -{ - struct btd_device *device = data; - struct btd_adapter *adapter = device->adapter; - const char *sender; - struct agent *agent; - struct bonding_req *bonding; - uint8_t io_cap; - int err; - - device_set_temporary(device, FALSE); - - if (!dbus_message_get_args(msg, NULL, DBUS_TYPE_INVALID)) - return btd_error_invalid_args(msg); - - if (device->bonding) - return btd_error_in_progress(msg); - - if (device_is_bonded(device)) - return btd_error_already_exists(msg); - - sender = dbus_message_get_sender(msg); - - agent = agent_get(sender); - if (agent) - io_cap = agent_get_io_capability(agent); - else - io_cap = IO_CAPABILITY_NOINPUTNOOUTPUT; - - bonding = bonding_request_new(msg, device, agent); - - if (agent) - agent_unref(agent); - - bonding->listener_id = g_dbus_add_disconnect_watch(dbus_conn, - sender, create_bond_req_exit, - device, NULL); - - device->bonding = bonding; - bonding->device = device; - - /* Due to a bug in the kernel we might loose out on ATT commands - * that arrive during the SMP procedure, so connect the ATT - * channel first and only then start pairing (there's code for - * this in the ATT connect callback) - */ - if (device_is_le(device) && !device_is_connected(device)) - err = device_connect_le(device); - else - err = adapter_create_bonding(adapter, &device->bdaddr, - device->bdaddr_type, io_cap); - - if (err < 0) - return btd_error_failed(msg, strerror(-err)); - - return NULL; -} - -static DBusMessage *new_authentication_return(DBusMessage *msg, uint8_t status) -{ - switch (status) { - case MGMT_STATUS_SUCCESS: - return dbus_message_new_method_return(msg); - - case MGMT_STATUS_CONNECT_FAILED: - return dbus_message_new_error(msg, - ERROR_INTERFACE ".ConnectionAttemptFailed", - "Page Timeout"); - case MGMT_STATUS_TIMEOUT: - return dbus_message_new_error(msg, - ERROR_INTERFACE ".AuthenticationTimeout", - "Authentication Timeout"); - case MGMT_STATUS_BUSY: - case MGMT_STATUS_REJECTED: - return dbus_message_new_error(msg, - ERROR_INTERFACE ".AuthenticationRejected", - "Authentication Rejected"); - case MGMT_STATUS_CANCELLED: - case MGMT_STATUS_NO_RESOURCES: - case MGMT_STATUS_DISCONNECTED: - return dbus_message_new_error(msg, - ERROR_INTERFACE ".AuthenticationCanceled", - "Authentication Canceled"); - default: - return dbus_message_new_error(msg, - ERROR_INTERFACE ".AuthenticationFailed", - "Authentication Failed"); - } -} - -static void bonding_request_free(struct bonding_req *bonding) -{ - if (!bonding) - return; - - if (bonding->listener_id) - g_dbus_remove_watch(dbus_conn, bonding->listener_id); - - if (bonding->msg) - dbus_message_unref(bonding->msg); - - if (bonding->agent) { - agent_cancel(bonding->agent); - agent_unref(bonding->agent); - bonding->agent = NULL; - } - - if (bonding->device) - bonding->device->bonding = NULL; - - g_free(bonding); -} - -static void device_cancel_bonding(struct btd_device *device, uint8_t status) -{ - struct bonding_req *bonding = device->bonding; - DBusMessage *reply; - char addr[18]; - - if (!bonding) - return; - - ba2str(&device->bdaddr, addr); - DBG("Canceling bonding request for %s", addr); - - if (device->authr) - device_cancel_authentication(device, FALSE); - - reply = new_authentication_return(bonding->msg, status); - g_dbus_send_message(dbus_conn, reply); - - bonding_request_cancel(bonding); - bonding_request_free(bonding); -} - -static DBusMessage *cancel_pairing(DBusConnection *conn, DBusMessage *msg, - void *data) -{ - struct btd_device *device = data; - struct bonding_req *req = device->bonding; - - DBG(""); - - if (!req) - return btd_error_does_not_exist(msg); - - device_cancel_bonding(device, MGMT_STATUS_CANCELLED); - - return dbus_message_new_method_return(msg); -} - -static const GDBusMethodTable device_methods[] = { - { GDBUS_ASYNC_METHOD("Disconnect", NULL, NULL, disconnect) }, - { GDBUS_ASYNC_METHOD("Connect", NULL, NULL, dev_connect) }, - { GDBUS_ASYNC_METHOD("ConnectProfile", GDBUS_ARGS({ "UUID", "s" }), - NULL, connect_profile) }, - { GDBUS_ASYNC_METHOD("DisconnectProfile", GDBUS_ARGS({ "UUID", "s" }), - NULL, disconnect_profile) }, - { GDBUS_ASYNC_METHOD("Pair", NULL, NULL, pair_device) }, - { GDBUS_METHOD("CancelPairing", NULL, NULL, cancel_pairing) }, - { } -}; - -static const GDBusPropertyTable device_properties[] = { - { "Address", "s", dev_property_get_address }, - { "Name", "s", dev_property_get_name, NULL, dev_property_exists_name }, - { "Alias", "s", dev_property_get_alias, dev_property_set_alias }, - { "Class", "u", dev_property_get_class, NULL, - dev_property_exists_class }, - { "Appearance", "q", dev_property_get_appearance, NULL, - dev_property_exists_appearance }, - { "Icon", "s", dev_property_get_icon, NULL, - dev_property_exists_icon }, - { "Paired", "b", dev_property_get_paired }, - { "Trusted", "b", dev_property_get_trusted, dev_property_set_trusted }, - { "Blocked", "b", dev_property_get_blocked, dev_property_set_blocked }, - { "LegacyPairing", "b", dev_property_get_legacy }, - { "RSSI", "n", dev_property_get_rssi, NULL, dev_property_exists_rssi }, - { "Connected", "b", dev_property_get_connected }, - { "UUIDs", "as", dev_property_get_uuids }, - { "Modalias", "s", dev_property_get_modalias, NULL, - dev_property_exists_modalias }, - { "Adapter", "o", dev_property_get_adapter }, - { } -}; - -gboolean device_is_connected(struct btd_device *device) -{ - return device->connected; -} - -void device_add_connection(struct btd_device *device) -{ - if (device->connected) { - char addr[18]; - ba2str(&device->bdaddr, addr); - error("Device %s is already connected", addr); - return; - } - - device_set_temporary(device, FALSE); - - device->connected = TRUE; - - g_dbus_emit_property_changed(dbus_conn, device->path, - DEVICE_INTERFACE, "Connected"); -} - -void device_remove_connection(struct btd_device *device) -{ - if (!device->connected) { - char addr[18]; - ba2str(&device->bdaddr, addr); - error("Device %s isn't connected", addr); - return; - } - - device->connected = FALSE; - device->general_connect = FALSE; - - if (device->disconn_timer > 0) { - g_source_remove(device->disconn_timer); - device->disconn_timer = 0; - } - - while (device->disconnects) { - DBusMessage *msg = device->disconnects->data; - - g_dbus_send_reply(dbus_conn, msg, DBUS_TYPE_INVALID); - device->disconnects = g_slist_remove(device->disconnects, msg); - dbus_message_unref(msg); - } - - if (device_is_paired(device) && !device_is_bonded(device)) - device_set_paired(device, FALSE); - - g_dbus_emit_property_changed(dbus_conn, device->path, - DEVICE_INTERFACE, "Connected"); -} - -guint device_add_disconnect_watch(struct btd_device *device, - disconnect_watch watch, void *user_data, - GDestroyNotify destroy) -{ - struct btd_disconnect_data *data; - static guint id = 0; - - data = g_new0(struct btd_disconnect_data, 1); - data->id = ++id; - data->watch = watch; - data->user_data = user_data; - data->destroy = destroy; - - device->watches = g_slist_append(device->watches, data); - - return data->id; -} - -void device_remove_disconnect_watch(struct btd_device *device, guint id) -{ - GSList *l; - - for (l = device->watches; l; l = l->next) { - struct btd_disconnect_data *data = l->data; - - if (data->id == id) { - device->watches = g_slist_remove(device->watches, - data); - if (data->destroy) - data->destroy(data->user_data); - g_free(data); - return; - } - } -} - -static char *load_cached_name(struct btd_device *device, const char *local, - const char *peer) -{ - char filename[PATH_MAX + 1]; - GKeyFile *key_file; - char *str = NULL; - int len; - - snprintf(filename, PATH_MAX, STORAGEDIR "/%s/cache/%s", local, peer); - filename[PATH_MAX] = '\0'; - - key_file = g_key_file_new(); - - if (!g_key_file_load_from_file(key_file, filename, 0, NULL)) - goto failed; - - str = g_key_file_get_string(key_file, "General", "Name", NULL); - if (str) { - len = strlen(str); - if (len > HCI_MAX_NAME_LENGTH) - str[HCI_MAX_NAME_LENGTH] = '\0'; - } - -failed: - g_key_file_free(key_file); - - return str; -} - -static void load_info(struct btd_device *device, const char *local, - const char *peer, GKeyFile *key_file) -{ - char *str; - gboolean store_needed = FALSE; - gboolean blocked; - char **uuids; - int source, vendor, product, version; - char **techno, **t; - gboolean bredr = FALSE; - gboolean le = FALSE; - - /* Load device name from storage info file, if that fails fall back to - * the cache. - */ - str = g_key_file_get_string(key_file, "General", "Name", NULL); - if (str == NULL) { - str = load_cached_name(device, local, peer); - if (str) - store_needed = TRUE; - } - - if (str) { - strcpy(device->name, str); - g_free(str); - } - - /* Load alias */ - device->alias = g_key_file_get_string(key_file, "General", "Alias", - NULL); - - /* Load class */ - str = g_key_file_get_string(key_file, "General", "Class", NULL); - if (str) { - uint32_t class; - - if (sscanf(str, "%x", &class) == 1) - device->class = class; - g_free(str); - } - - /* Load appearance */ - str = g_key_file_get_string(key_file, "General", "Appearance", NULL); - if (str) { - device->appearance = strtol(str, NULL, 16); - g_free(str); - } - - /* Load device technology */ - techno = g_key_file_get_string_list(key_file, "General", - "SupportedTechnologies", NULL, NULL); - if (!techno) - goto next; - - for (t = techno; *t; t++) { - if (g_str_equal(*t, "BR/EDR")) - bredr = TRUE; - else if (g_str_equal(*t, "LE")) - le = TRUE; - else - error("Unknown device technology"); - } - - if (bredr && le) { - /* TODO: Add correct type for dual mode device */ - } else if (bredr) { - device->bdaddr_type = BDADDR_BREDR; - } else if (le) { - str = g_key_file_get_string(key_file, "General", - "AddressType", NULL); - - if (str && g_str_equal(str, "public")) - device->bdaddr_type = BDADDR_LE_PUBLIC; - else if (str && g_str_equal(str, "static")) - device->bdaddr_type = BDADDR_LE_RANDOM; - else - error("Unknown LE device technology"); - - g_free(str); - } - - g_strfreev(techno); - -next: - /* Load trust */ - device->trusted = g_key_file_get_boolean(key_file, "General", - "Trusted", NULL); - - /* Load device blocked */ - blocked = g_key_file_get_boolean(key_file, "General", "Blocked", NULL); - if (blocked) - device_block(device, FALSE); - - /* Load device profile list */ - uuids = g_key_file_get_string_list(key_file, "General", "Services", - NULL, NULL); - if (uuids) { - char **uuid; - - for (uuid = uuids; *uuid; uuid++) { - GSList *match; - - match = g_slist_find_custom(device->uuids, *uuid, - bt_uuid_strcmp); - if (match) - continue; - - device->uuids = g_slist_insert_sorted(device->uuids, - g_strdup(*uuid), - bt_uuid_strcmp); - } - g_strfreev(uuids); - - /* Discovered services restored from storage */ - device->svc_resolved = true; - } - - /* Load device id */ - source = g_key_file_get_integer(key_file, "DeviceID", "Source", NULL); - if (source) { - vendor = g_key_file_get_integer(key_file, "DeviceID", - "Vendor", NULL); - - product = g_key_file_get_integer(key_file, "DeviceID", - "Product", NULL); - - version = g_key_file_get_integer(key_file, "DeviceID", - "Version", NULL); - - btd_device_set_pnpid(device, source, vendor, product, version); - } - - if (store_needed) - store_device_info(device); -} - -static void load_att_info(struct btd_device *device, const char *local, - const char *peer) -{ - char filename[PATH_MAX + 1]; - GKeyFile *key_file; - char *prim_uuid, *str; - char **groups, **handle, *service_uuid; - struct gatt_primary *prim; - uuid_t uuid; - char tmp[3]; - int i; - - sdp_uuid16_create(&uuid, GATT_PRIM_SVC_UUID); - prim_uuid = bt_uuid2string(&uuid); - - snprintf(filename, PATH_MAX, STORAGEDIR "/%s/%s/attributes", local, - peer); - filename[PATH_MAX] = '\0'; - - key_file = g_key_file_new(); - g_key_file_load_from_file(key_file, filename, 0, NULL); - groups = g_key_file_get_groups(key_file, NULL); - - for (handle = groups; *handle; handle++) { - gboolean uuid_ok; - gint end; - - str = g_key_file_get_string(key_file, *handle, "UUID", NULL); - if (!str) - continue; - - uuid_ok = g_str_equal(str, prim_uuid); - g_free(str); - - if (!uuid_ok) - continue; - - str = g_key_file_get_string(key_file, *handle, "Value", NULL); - if (!str) - continue; - - end = g_key_file_get_integer(key_file, *handle, - "EndGroupHandle", NULL); - if (end == 0) { - g_free(str); - continue; - } - - prim = g_new0(struct gatt_primary, 1); - prim->range.start = atoi(*handle); - prim->range.end = end; - - switch (strlen(str)) { - case 4: - uuid.type = SDP_UUID16; - sscanf(str, "%04hx", &uuid.value.uuid16); - break; - case 8: - uuid.type = SDP_UUID32; - sscanf(str, "%08x", &uuid.value.uuid32); - break; - case 32: - uuid.type = SDP_UUID128; - memset(tmp, 0, sizeof(tmp)); - for (i = 0; i < 16; i++) { - memcpy(tmp, str + (i * 2), 2); - uuid.value.uuid128.data[i] = - (uint8_t) strtol(tmp, NULL, 16); - } - break; - default: - g_free(str); - g_free(prim); - continue; - } - - service_uuid = bt_uuid2string(&uuid); - memcpy(prim->uuid, service_uuid, MAX_LEN_UUID_STR); - g_free(service_uuid); - g_free(str); - - device->primaries = g_slist_append(device->primaries, prim); - } - - g_strfreev(groups); - g_key_file_free(key_file); - g_free(prim_uuid); -} - -static struct btd_device *device_new(struct btd_adapter *adapter, - const char *address) -{ - char *address_up; - struct btd_device *device; - const char *adapter_path = adapter_get_path(adapter); - - DBG("address %s", address); - - device = g_try_malloc0(sizeof(struct btd_device)); - if (device == NULL) - return NULL; - - address_up = g_ascii_strup(address, -1); - device->path = g_strdup_printf("%s/dev_%s", adapter_path, address_up); - g_strdelimit(device->path, ":", '_'); - g_free(address_up); - - DBG("Creating device %s", device->path); - - if (g_dbus_register_interface(dbus_conn, - device->path, DEVICE_INTERFACE, - device_methods, NULL, - device_properties, device, - device_free) == FALSE) { - error("Unable to register device interface for %s", address); - device_free(device); - return NULL; - } - - str2ba(address, &device->bdaddr); - device->adapter = adapter; - - return btd_device_ref(device); -} - -struct btd_device *device_create_from_storage(struct btd_adapter *adapter, - const char *address, GKeyFile *key_file) -{ - struct btd_device *device; - const bdaddr_t *src; - char srcaddr[18]; - - DBG("address %s", address); - - device = device_new(adapter, address); - if (device == NULL) - return NULL; - - src = adapter_get_address(adapter); - ba2str(src, srcaddr); - - load_info(device, srcaddr, address, key_file); - load_att_info(device, srcaddr, address); - - return device; -} - -struct btd_device *device_create(struct btd_adapter *adapter, - const bdaddr_t *bdaddr, uint8_t bdaddr_type) -{ - struct btd_device *device; - const bdaddr_t *sba; - char src[18], dst[18]; - char *str; - - ba2str(bdaddr, dst); - DBG("dst %s", dst); - - device = device_new(adapter, dst); - if (device == NULL) - return NULL; - - device->bdaddr_type = bdaddr_type; - sba = adapter_get_address(adapter); - ba2str(sba, src); - - str = load_cached_name(device, src, dst); - if (str) { - strcpy(device->name, str); - g_free(str); - } - - return device; -} - -char *btd_device_get_storage_path(struct btd_device *device, - const char *filename) -{ - char srcaddr[18], dstaddr[18]; - - ba2str(adapter_get_address(device->adapter), srcaddr); - ba2str(&device->bdaddr, dstaddr); - - if (!filename) - return g_strdup_printf(STORAGEDIR "/%s/%s", srcaddr, dstaddr); - - return g_strdup_printf(STORAGEDIR "/%s/%s/%s", srcaddr, dstaddr, - filename); -} - -void device_set_name(struct btd_device *device, const char *name) -{ - if (strncmp(name, device->name, MAX_NAME_LENGTH) == 0) - return; - - DBG("%s %s", device->path, name); - - strncpy(device->name, name, MAX_NAME_LENGTH); - - store_device_info(device); - - g_dbus_emit_property_changed(dbus_conn, device->path, - DEVICE_INTERFACE, "Name"); - - if (device->alias != NULL) - return; - - g_dbus_emit_property_changed(dbus_conn, device->path, - DEVICE_INTERFACE, "Alias"); -} - -void device_get_name(struct btd_device *device, char *name, size_t len) -{ - strncpy(name, device->name, len); -} - -bool device_name_known(struct btd_device *device) -{ - return device->name[0] != '\0'; -} - -void device_set_class(struct btd_device *device, uint32_t class) -{ - if (device->class == class) - return; - - DBG("%s 0x%06X", device->path, class); - - device->class = class; - - store_device_info(device); - - g_dbus_emit_property_changed(dbus_conn, device->path, - DEVICE_INTERFACE, "Class"); -} - -uint16_t btd_device_get_vendor(struct btd_device *device) -{ - return device->vendor; -} - -uint16_t btd_device_get_vendor_src(struct btd_device *device) -{ - return device->vendor_src; -} - -uint16_t btd_device_get_product(struct btd_device *device) -{ - return device->product; -} - -uint16_t btd_device_get_version(struct btd_device *device) -{ - return device->version; -} - -static void delete_folder_tree(const char *dirname) -{ - DIR *dir; - struct dirent *entry; - char filename[PATH_MAX + 1]; - - dir = opendir(dirname); - if (dir == NULL) - return; - - while ((entry = readdir(dir)) != NULL) { - if (g_str_equal(entry->d_name, ".") || - g_str_equal(entry->d_name, "..")) - continue; - - snprintf(filename, PATH_MAX, "%s/%s", dirname, entry->d_name); - filename[PATH_MAX] = '\0'; - - if (entry->d_type == DT_DIR) - delete_folder_tree(filename); - else - unlink(filename); - } - closedir(dir); - - rmdir(dirname); -} - -static void device_remove_stored(struct btd_device *device) -{ - const bdaddr_t *src = adapter_get_address(device->adapter); - uint8_t dst_type = device->bdaddr_type; - char adapter_addr[18]; - char device_addr[18]; - char filename[PATH_MAX + 1]; - GKeyFile *key_file; - char *data; - gsize length = 0; - - if (device_is_bonded(device)) { - device_set_bonded(device, FALSE); - device->paired = FALSE; - btd_adapter_remove_bonding(device->adapter, &device->bdaddr, - dst_type); - } - - if (device->blocked) - device_unblock(device, TRUE, FALSE); - - ba2str(src, adapter_addr); - ba2str(&device->bdaddr, device_addr); - - snprintf(filename, PATH_MAX, STORAGEDIR "/%s/%s", adapter_addr, - device_addr); - filename[PATH_MAX] = '\0'; - delete_folder_tree(filename); - - snprintf(filename, PATH_MAX, STORAGEDIR "/%s/cache/%s", adapter_addr, - device_addr); - filename[PATH_MAX] = '\0'; - - key_file = g_key_file_new(); - g_key_file_load_from_file(key_file, filename, 0, NULL); - g_key_file_remove_group(key_file, "ServiceRecords", NULL); - - data = g_key_file_to_data(key_file, &length, NULL); - if (length > 0) { - create_file(filename, S_IRUSR | S_IWUSR); - g_file_set_contents(filename, data, length, NULL); - } - - g_free(data); - g_key_file_free(key_file); -} - -void device_remove(struct btd_device *device, gboolean remove_stored) -{ - - DBG("Removing device %s", device->path); - - if (device->bonding) { - uint8_t status; - - if (device->connected) - status = MGMT_STATUS_DISCONNECTED; - else - status = MGMT_STATUS_CONNECT_FAILED; - - device_cancel_bonding(device, status); - } - - if (device->browse) - browse_request_cancel(device->browse); - - g_slist_foreach(device->connected_profiles, dev_disconn_profile, - device); - g_slist_free(device->connected_profiles); - device->connected_profiles = NULL; - - g_slist_free(device->pending); - device->pending = NULL; - - if (device->connected) - do_disconnect(device); - - if (device->store_id > 0) { - g_source_remove(device->store_id); - device->store_id = 0; - - if (!remove_stored) - store_device_info_cb(device); - } - - if (remove_stored) - device_remove_stored(device); - - g_slist_foreach(device->profiles, profile_remove, device); - g_slist_free(device->profiles); - device->profiles = NULL; - - btd_device_unref(device); -} - -gint device_address_cmp(gconstpointer a, gconstpointer b) -{ - const struct btd_device *device = a; - const char *address = b; - char addr[18]; - - ba2str(&device->bdaddr, addr); - return strcasecmp(addr, address); -} - -gint device_bdaddr_cmp(gconstpointer a, gconstpointer b) -{ - const struct btd_device *device = a; - const bdaddr_t *bdaddr = b; - - return bacmp(&device->bdaddr, bdaddr); -} - -static gboolean record_has_uuid(const sdp_record_t *rec, - const char *profile_uuid) -{ - sdp_list_t *pat; - - for (pat = rec->pattern; pat != NULL; pat = pat->next) { - char *uuid; - int ret; - - uuid = bt_uuid2string(pat->data); - if (!uuid) - continue; - - ret = strcasecmp(uuid, profile_uuid); - - g_free(uuid); - - if (ret == 0) - return TRUE; - } - - return FALSE; -} - -GSList *device_get_uuids(struct btd_device *device) -{ - return device->uuids; -} - -static bool device_match_profile(struct btd_device *device, - struct btd_profile *profile, - GSList *uuids) -{ - if (profile->remote_uuid == NULL) - return false; - - if (g_slist_find_custom(uuids, profile->remote_uuid, - bt_uuid_strcmp) == NULL) - return false; - - return true; -} - -struct probe_data { - struct btd_device *dev; - GSList *uuids; - char addr[18]; -}; - -static void dev_probe(struct btd_profile *p, void *user_data) -{ - struct probe_data *d = user_data; - GSList *probe_uuids; - int err; - - if (p->device_probe == NULL) - return; - - if (!device_match_profile(d->dev, p, d->uuids)) - return; - - probe_uuids = g_slist_append(NULL, (char *) p->remote_uuid); - - err = p->device_probe(p, d->dev, probe_uuids); - if (err < 0) { - error("%s profile probe failed for %s", p->name, d->addr); - g_slist_free(probe_uuids); - return; - } - - d->dev->profiles = g_slist_append(d->dev->profiles, p); - g_slist_free(probe_uuids); -} - -void device_probe_profile(gpointer a, gpointer b) -{ - struct btd_device *device = a; - struct btd_profile *profile = b; - GSList *probe_uuids; - char addr[18]; - int err; - - if (profile->device_probe == NULL) - return; - - if (!device_match_profile(device, profile, device->uuids)) - return; - - probe_uuids = g_slist_append(NULL, (char *) profile->remote_uuid); - - ba2str(&device->bdaddr, addr); - - err = profile->device_probe(profile, device, probe_uuids); - if (err < 0) { - error("%s profile probe failed for %s", profile->name, addr); - g_slist_free(probe_uuids); - return; - } - - device->profiles = g_slist_append(device->profiles, profile); - g_slist_free(probe_uuids); - - if (!profile->auto_connect || !device->general_connect) - return; - - device->pending = g_slist_append(device->pending, profile); - - if (g_slist_length(device->pending) == 1) - connect_next(device); -} - -void device_remove_profile(gpointer a, gpointer b) -{ - struct btd_device *device = a; - struct btd_profile *profile = b; - - if (!g_slist_find(device->profiles, profile)) - return; - - device->connected_profiles = g_slist_remove(device->connected_profiles, - profile); - device->profiles = g_slist_remove(device->profiles, profile); - - profile->device_remove(profile, device); -} - -void device_probe_profiles(struct btd_device *device, GSList *uuids) -{ - struct probe_data d = { device, uuids }; - GSList *l; - - ba2str(&device->bdaddr, d.addr); - - if (device->blocked) { - DBG("Skipping profiles for blocked device %s", d.addr); - goto add_uuids; - } - - DBG("Probing profiles for device %s", d.addr); - - btd_profile_foreach(dev_probe, &d); - -add_uuids: - for (l = uuids; l != NULL; l = g_slist_next(l)) { - GSList *match = g_slist_find_custom(device->uuids, l->data, - bt_uuid_strcmp); - if (match) - continue; - - device->uuids = g_slist_insert_sorted(device->uuids, - g_strdup(l->data), - bt_uuid_strcmp); - } - - g_dbus_emit_property_changed(dbus_conn, device->path, - DEVICE_INTERFACE, "UUIDs"); -} - -static void device_remove_profiles(struct btd_device *device, GSList *uuids) -{ - char srcaddr[18], dstaddr[18]; - GSList *l, *next; - - ba2str(adapter_get_address(device->adapter), srcaddr); - ba2str(&device->bdaddr, dstaddr); - - DBG("Removing profiles for %s", dstaddr); - - g_slist_free(device->uuids); - device->uuids = NULL; - store_device_info(device); - - for (l = device->profiles; l != NULL; l = next) { - struct btd_profile *profile = l->data; - - next = l->next; - if (device_match_profile(device, profile, device->uuids)) - continue; - - profile->device_remove(profile, device); - device->profiles = g_slist_remove(device->profiles, profile); - } -} - -static void store_sdp_record(GKeyFile *key_file, sdp_record_t *rec) -{ - char handle_str[11]; - sdp_buf_t buf; - int size, i; - char *str; - - sprintf(handle_str, "0x%8.8X", rec->handle); - - if (sdp_gen_record_pdu(rec, &buf) < 0) - return; - - size = buf.data_size; - - str = g_malloc0(size*2+1); - - for (i = 0; i < size; i++) - sprintf(str + (i * 2), "%02X", buf.data[i]); - - g_key_file_set_string(key_file, "ServiceRecords", handle_str, str); - - free(buf.data); - g_free(str); -} - -static void store_primaries_from_sdp_record(GKeyFile *key_file, - sdp_record_t *rec) -{ - uuid_t uuid; - char *att_uuid, *prim_uuid; - uint16_t start = 0, end = 0, psm = 0; - char handle[6], uuid_str[33]; - int i; - - sdp_uuid16_create(&uuid, ATT_UUID); - att_uuid = bt_uuid2string(&uuid); - - sdp_uuid16_create(&uuid, GATT_PRIM_SVC_UUID); - prim_uuid = bt_uuid2string(&uuid); - - if (!record_has_uuid(rec, att_uuid)) - goto done; - - if (!gatt_parse_record(rec, &uuid, &psm, &start, &end)) - goto done; - - sprintf(handle, "%hu", start); - switch (uuid.type) { - case SDP_UUID16: - sprintf(uuid_str, "%4.4X", uuid.value.uuid16); - break; - case SDP_UUID32: - sprintf(uuid_str, "%8.8X", uuid.value.uuid32); - break; - case SDP_UUID128: - for (i = 0; i < 16; i++) - sprintf(uuid_str + (i * 2), "%2.2X", - uuid.value.uuid128.data[i]); - break; - default: - uuid_str[0] = '\0'; - } - - g_key_file_set_string(key_file, handle, "UUID", prim_uuid); - g_key_file_set_string(key_file, handle, "Value", uuid_str); - g_key_file_set_integer(key_file, handle, "EndGroupHandle", end); - -done: - g_free(prim_uuid); - g_free(att_uuid); -} - -static int rec_cmp(const void *a, const void *b) -{ - const sdp_record_t *r1 = a; - const sdp_record_t *r2 = b; - - return r1->handle - r2->handle; -} - -static void update_bredr_services(struct browse_req *req, sdp_list_t *recs) -{ - struct btd_device *device = req->device; - sdp_list_t *seq; - char srcaddr[18], dstaddr[18]; - char sdp_file[PATH_MAX + 1]; - char att_file[PATH_MAX + 1]; - GKeyFile *sdp_key_file = NULL; - GKeyFile *att_key_file = NULL; - char *data; - gsize length = 0; - - ba2str(adapter_get_address(device->adapter), srcaddr); - ba2str(&device->bdaddr, dstaddr); - - if (!device->temporary) { - snprintf(sdp_file, PATH_MAX, STORAGEDIR "/%s/cache/%s", - srcaddr, dstaddr); - sdp_file[PATH_MAX] = '\0'; - - sdp_key_file = g_key_file_new(); - g_key_file_load_from_file(sdp_key_file, sdp_file, 0, NULL); - - snprintf(att_file, PATH_MAX, STORAGEDIR "/%s/%s/attributes", - srcaddr, dstaddr); - att_file[PATH_MAX] = '\0'; - - att_key_file = g_key_file_new(); - g_key_file_load_from_file(att_key_file, att_file, 0, NULL); - } - - for (seq = recs; seq; seq = seq->next) { - sdp_record_t *rec = (sdp_record_t *) seq->data; - sdp_list_t *svcclass = NULL; - char *profile_uuid; - GSList *l; - - if (!rec) - break; - - if (sdp_get_service_classes(rec, &svcclass) < 0) - continue; - - /* Check for empty service classes list */ - if (svcclass == NULL) { - DBG("Skipping record with no service classes"); - continue; - } - - /* Extract the first element and skip the remainning */ - profile_uuid = bt_uuid2string(svcclass->data); - if (!profile_uuid) { - sdp_list_free(svcclass, free); - continue; - } - - if (bt_uuid_strcmp(profile_uuid, PNP_UUID) == 0) { - uint16_t source, vendor, product, version; - sdp_data_t *pdlist; - - pdlist = sdp_data_get(rec, SDP_ATTR_VENDOR_ID_SOURCE); - source = pdlist ? pdlist->val.uint16 : 0x0000; - - pdlist = sdp_data_get(rec, SDP_ATTR_VENDOR_ID); - vendor = pdlist ? pdlist->val.uint16 : 0x0000; - - pdlist = sdp_data_get(rec, SDP_ATTR_PRODUCT_ID); - product = pdlist ? pdlist->val.uint16 : 0x0000; - - pdlist = sdp_data_get(rec, SDP_ATTR_VERSION); - version = pdlist ? pdlist->val.uint16 : 0x0000; - - if (source || vendor || product || version) - btd_device_set_pnpid(device, source, vendor, - product, version); - } - - /* Check for duplicates */ - if (sdp_list_find(req->records, rec, rec_cmp)) { - g_free(profile_uuid); - sdp_list_free(svcclass, free); - continue; - } - - if (sdp_key_file) - store_sdp_record(sdp_key_file, rec); - - if (att_key_file) - store_primaries_from_sdp_record(att_key_file, rec); - - /* Copy record */ - req->records = sdp_list_append(req->records, - sdp_copy_record(rec)); - - l = g_slist_find_custom(device->uuids, profile_uuid, - (GCompareFunc) strcmp); - if (!l) - req->profiles_added = - g_slist_append(req->profiles_added, - profile_uuid); - else { - req->profiles_removed = - g_slist_remove(req->profiles_removed, - l->data); - g_free(profile_uuid); - } - - sdp_list_free(svcclass, free); - } - - if (sdp_key_file) { - data = g_key_file_to_data(sdp_key_file, &length, NULL); - if (length > 0) { - create_file(sdp_file, S_IRUSR | S_IWUSR); - g_file_set_contents(sdp_file, data, length, NULL); - } - - g_free(data); - g_key_file_free(sdp_key_file); - } - - if (att_key_file) { - data = g_key_file_to_data(att_key_file, &length, NULL); - if (length > 0) { - create_file(att_file, S_IRUSR | S_IWUSR); - g_file_set_contents(att_file, data, length, NULL); - } - - g_free(data); - g_key_file_free(att_key_file); - } -} - -static gint primary_cmp(gconstpointer a, gconstpointer b) -{ - return memcmp(a, b, sizeof(struct gatt_primary)); -} - -static void update_gatt_services(struct browse_req *req, GSList *current, - GSList *found) -{ - GSList *l, *lmatch, *left = g_slist_copy(current); - - /* Added Profiles */ - for (l = found; l; l = g_slist_next(l)) { - struct gatt_primary *prim = l->data; - - /* Entry found ? */ - lmatch = g_slist_find_custom(current, prim, primary_cmp); - if (lmatch) { - left = g_slist_remove(left, lmatch->data); - continue; - } - - /* New entry */ - req->profiles_added = g_slist_append(req->profiles_added, - g_strdup(prim->uuid)); - - DBG("UUID Added: %s", prim->uuid); - } - - /* Removed Profiles */ - for (l = left; l; l = g_slist_next(l)) { - struct gatt_primary *prim = l->data; - req->profiles_removed = g_slist_append(req->profiles_removed, - g_strdup(prim->uuid)); - - DBG("UUID Removed: %s", prim->uuid); - } - - g_slist_free(left); -} - -static GSList *device_services_from_record(struct btd_device *device, - GSList *profiles) -{ - GSList *l, *prim_list = NULL; - char *att_uuid; - uuid_t proto_uuid; - - sdp_uuid16_create(&proto_uuid, ATT_UUID); - att_uuid = bt_uuid2string(&proto_uuid); - - for (l = profiles; l; l = l->next) { - const char *profile_uuid = l->data; - const sdp_record_t *rec; - struct gatt_primary *prim; - uint16_t start = 0, end = 0, psm = 0; - uuid_t prim_uuid; - - rec = btd_device_get_record(device, profile_uuid); - if (!rec) - continue; - - if (!record_has_uuid(rec, att_uuid)) - continue; - - if (!gatt_parse_record(rec, &prim_uuid, &psm, &start, &end)) - continue; - - prim = g_new0(struct gatt_primary, 1); - prim->range.start = start; - prim->range.end = end; - sdp_uuid2strn(&prim_uuid, prim->uuid, sizeof(prim->uuid)); - - prim_list = g_slist_append(prim_list, prim); - } - - g_free(att_uuid); - - return prim_list; -} - -static void device_register_primaries(struct btd_device *device, - GSList *prim_list, int psm) -{ - device->primaries = g_slist_concat(device->primaries, prim_list); -} - -static void search_cb(sdp_list_t *recs, int err, gpointer user_data) -{ - struct browse_req *req = user_data; - struct btd_device *device = req->device; - char addr[18]; - - ba2str(&device->bdaddr, addr); - - if (err < 0) { - error("%s: error updating services: %s (%d)", - addr, strerror(-err), -err); - goto send_reply; - } - - update_bredr_services(req, recs); - - if (device->tmp_records) - sdp_list_free(device->tmp_records, - (sdp_free_func_t) sdp_record_free); - - device->tmp_records = req->records; - req->records = NULL; - - if (!req->profiles_added && !req->profiles_removed) { - DBG("%s: No service update", addr); - goto send_reply; - } - - /* Probe matching profiles for services added */ - if (req->profiles_added) { - GSList *list; - - list = device_services_from_record(device, req->profiles_added); - if (list) - device_register_primaries(device, list, ATT_PSM); - - device_probe_profiles(device, req->profiles_added); - } - - /* Remove profiles for services removed */ - if (req->profiles_removed) - device_remove_profiles(device, req->profiles_removed); - - /* Propagate services changes */ - g_dbus_emit_property_changed(dbus_conn, req->device->path, - DEVICE_INTERFACE, "UUIDs"); - -send_reply: - device_svc_resolved(device, err); - - if (!device->temporary) - store_device_info(device); - - browse_request_free(req); -} - -static void browse_cb(sdp_list_t *recs, int err, gpointer user_data) -{ - struct browse_req *req = user_data; - struct btd_device *device = req->device; - struct btd_adapter *adapter = device->adapter; - uuid_t uuid; - - /* If we have a valid response and req->search_uuid == 2, then L2CAP - * UUID & PNP searching was successful -- we are done */ - if (err < 0 || (req->search_uuid == 2 && req->records)) { - if (err == -ECONNRESET && req->reconnect_attempt < 1) { - req->search_uuid--; - req->reconnect_attempt++; - } else - goto done; - } - - update_bredr_services(req, recs); - - /* Search for mandatory uuids */ - if (uuid_list[req->search_uuid]) { - sdp_uuid16_create(&uuid, uuid_list[req->search_uuid++]); - bt_search_service(adapter_get_address(adapter), - &device->bdaddr, &uuid, - browse_cb, user_data, NULL); - return; - } - -done: - search_cb(recs, err, user_data); -} - -static void init_browse(struct browse_req *req, gboolean reverse) -{ - GSList *l; - - /* If we are doing reverse-SDP don't try to detect removed profiles - * since some devices hide their service records while they are - * connected - */ - if (reverse) - return; - - for (l = req->device->uuids; l; l = l->next) - req->profiles_removed = g_slist_append(req->profiles_removed, - l->data); -} - -static void store_services(struct btd_device *device) -{ - struct btd_adapter *adapter = device->adapter; - char filename[PATH_MAX + 1]; - char src_addr[18], dst_addr[18]; - uuid_t uuid; - char *prim_uuid; - GKeyFile *key_file; - GSList *l; - char *data; - gsize length = 0; - - sdp_uuid16_create(&uuid, GATT_PRIM_SVC_UUID); - prim_uuid = bt_uuid2string(&uuid); - if (prim_uuid == NULL) - return; - - ba2str(adapter_get_address(adapter), src_addr); - ba2str(&device->bdaddr, dst_addr); - - snprintf(filename, PATH_MAX, STORAGEDIR "/%s/%s/attributes", src_addr, - dst_addr); - filename[PATH_MAX] = '\0'; - - key_file = g_key_file_new(); - - for (l = device->primaries; l; l = l->next) { - struct gatt_primary *primary = l->data; - char handle[6], uuid_str[33]; - int i; - - sprintf(handle, "%hu", primary->range.start); - - bt_string2uuid(&uuid, primary->uuid); - sdp_uuid128_to_uuid(&uuid); - - switch (uuid.type) { - case SDP_UUID16: - sprintf(uuid_str, "%4.4X", uuid.value.uuid16); - break; - case SDP_UUID32: - sprintf(uuid_str, "%8.8X", uuid.value.uuid32); - break; - case SDP_UUID128: - for (i = 0; i < 16; i++) - sprintf(uuid_str + (i * 2), "%2.2X", - uuid.value.uuid128.data[i]); - break; - default: - uuid_str[0] = '\0'; - } - - g_key_file_set_string(key_file, handle, "UUID", prim_uuid); - g_key_file_set_string(key_file, handle, "Value", uuid_str); - g_key_file_set_integer(key_file, handle, "EndGroupHandle", - primary->range.end); - } - - data = g_key_file_to_data(key_file, &length, NULL); - if (length > 0) { - create_file(filename, S_IRUSR | S_IWUSR); - g_file_set_contents(filename, data, length, NULL); - } - - g_free(prim_uuid); - g_free(data); - g_key_file_free(key_file); -} - -static bool device_get_auto_connect(struct btd_device *device) -{ - if (device->disable_auto_connect) - return false; - - return device->auto_connect; -} - -static void attio_connected(gpointer data, gpointer user_data) -{ - struct attio_data *attio = data; - GAttrib *attrib = user_data; - - if (attio->cfunc) - attio->cfunc(attrib, attio->user_data); -} - -static void attio_disconnected(gpointer data, gpointer user_data) -{ - struct attio_data *attio = data; - - if (attio->dcfunc) - attio->dcfunc(attio->user_data); -} - -static gboolean attrib_disconnected_cb(GIOChannel *io, GIOCondition cond, - gpointer user_data) -{ - struct btd_device *device = user_data; - int sock, err = 0; - socklen_t len; - - if (device->browse) - goto done; - - sock = g_io_channel_unix_get_fd(io); - len = sizeof(err); - getsockopt(sock, SOL_SOCKET, SO_ERROR, &err, &len); - - g_slist_foreach(device->attios, attio_disconnected, NULL); - - if (!device_get_auto_connect(device)) { - DBG("Automatic connection disabled"); - goto done; - } - - /* - * Keep scanning/re-connection active if disconnection reason - * is connection timeout, remote user terminated connection or local - * initiated disconnection. - */ - if (err == ETIMEDOUT || err == ECONNRESET || err == ECONNABORTED) - adapter_connect_list_add(device->adapter, device); - -done: - attio_cleanup(device); - - return FALSE; -} - -static void register_all_services(struct browse_req *req, GSList *services) -{ - struct btd_device *device = req->device; - - device_set_temporary(device, FALSE); - - update_gatt_services(req, device->primaries, services); - g_slist_free_full(device->primaries, g_free); - device->primaries = NULL; - - device_register_primaries(device, g_slist_copy(services), -1); - if (req->profiles_removed) - device_remove_profiles(device, req->profiles_removed); - - device_probe_profiles(device, req->profiles_added); - - if (device->attios == NULL && device->attios_offline == NULL) - attio_cleanup(device); - - g_dbus_emit_property_changed(dbus_conn, device->path, - DEVICE_INTERFACE, "UUIDs"); - - device_svc_resolved(device, 0); - - store_services(device); - - browse_request_free(req); -} - -static int service_by_range_cmp(gconstpointer a, gconstpointer b) -{ - const struct gatt_primary *prim = a; - const struct att_range *range = b; - - return memcmp(&prim->range, range, sizeof(*range)); -} - -static void find_included_cb(GSList *includes, uint8_t status, - gpointer user_data) -{ - struct included_search *search = user_data; - struct btd_device *device = search->req->device; - struct gatt_primary *prim; - GSList *l; - - if (status != 0) { - error("Find included services failed: %s (%d)", - att_ecode2str(status), status); - goto done; - } - - if (includes == NULL) - goto done; - - for (l = includes; l; l = l->next) { - struct gatt_included *incl = l->data; - - if (g_slist_find_custom(search->services, &incl->range, - service_by_range_cmp)) - continue; - - prim = g_new0(struct gatt_primary, 1); - memcpy(prim->uuid, incl->uuid, sizeof(prim->uuid)); - memcpy(&prim->range, &incl->range, sizeof(prim->range)); - - search->services = g_slist_append(search->services, prim); - } - -done: - search->current = search->current->next; - if (search->current == NULL) { - register_all_services(search->req, search->services); - g_slist_free(search->services); - g_free(search); - return; - } - - prim = search->current->data; - gatt_find_included(device->attrib, prim->range.start, prim->range.end, - find_included_cb, search); -} - -static void find_included_services(struct browse_req *req, GSList *services) -{ - struct btd_device *device = req->device; - struct included_search *search; - struct gatt_primary *prim; - - if (services == NULL) - return; - - search = g_new0(struct included_search, 1); - search->req = req; - search->services = g_slist_copy(services); - search->current = search->services; - - prim = search->current->data; - gatt_find_included(device->attrib, prim->range.start, prim->range.end, - find_included_cb, search); - -} - -static void primary_cb(GSList *services, guint8 status, gpointer user_data) -{ - struct browse_req *req = user_data; - - if (status) { - struct btd_device *device = req->device; - - if (req->msg) { - DBusMessage *reply; - reply = btd_error_failed(req->msg, - att_ecode2str(status)); - g_dbus_send_message(dbus_conn, reply); - } - - device->browse = NULL; - browse_request_free(req); - return; - } - - find_included_services(req, services); -} - -static void att_connect_cb(GIOChannel *io, GError *gerr, gpointer user_data) -{ - struct att_callbacks *attcb = user_data; - struct btd_device *device = attcb->user_data; - DBusMessage *reply; - uint8_t io_cap; - GAttrib *attrib; - int err = 0; - - g_io_channel_unref(device->att_io); - device->att_io = NULL; - - if (gerr) { - DBG("%s", gerr->message); - - if (attcb->error) - attcb->error(gerr, user_data); - - err = -ECONNABORTED; - goto done; - } - - attrib = g_attrib_new(io); - device->attachid = attrib_channel_attach(attrib); - if (device->attachid == 0) - error("Attribute server attach failure!"); - - device->attrib = attrib; - device->cleanup_id = g_io_add_watch(io, G_IO_HUP, - attrib_disconnected_cb, device); - - if (attcb->success) - attcb->success(user_data); - - if (!device->bonding) - goto done; - - if (device->bonding->agent) - io_cap = agent_get_io_capability(device->bonding->agent); - else - io_cap = IO_CAPABILITY_NOINPUTNOOUTPUT; - - err = adapter_create_bonding(device->adapter, &device->bdaddr, - device->bdaddr_type, io_cap); -done: - if (device->bonding && err < 0) { - reply = btd_error_failed(device->bonding->msg, strerror(-err)); - g_dbus_send_message(dbus_conn, reply); - bonding_request_cancel(device->bonding); - bonding_request_free(device->bonding); - } - - if (device->connect) { - if (!device->svc_resolved) - device_browse_primary(device, NULL, FALSE); - - if (err < 0) - reply = btd_error_failed(device->connect, - strerror(-err)); - else - reply = dbus_message_new_method_return(device->connect); - - g_dbus_send_message(dbus_conn, reply); - dbus_message_unref(device->connect); - device->connect = NULL; - } - - g_free(attcb); -} - -static void att_error_cb(const GError *gerr, gpointer user_data) -{ - struct att_callbacks *attcb = user_data; - struct btd_device *device = attcb->user_data; - - if (g_error_matches(gerr, BT_IO_ERROR, ECONNABORTED)) - return; - - if (device_get_auto_connect(device)) { - DBG("Enabling automatic connections"); - adapter_connect_list_add(device->adapter, device); - } -} - -static void att_success_cb(gpointer user_data) -{ - struct att_callbacks *attcb = user_data; - struct btd_device *device = attcb->user_data; - - if (device->attios == NULL) - return; - - /* - * Remove the device from the connect_list and give the passive - * scanning another chance to be restarted in case there are - * other devices in the connect_list. - */ - adapter_connect_list_remove(device->adapter, device); - - g_slist_foreach(device->attios, attio_connected, device->attrib); -} - -int device_connect_le(struct btd_device *dev) -{ - struct btd_adapter *adapter = dev->adapter; - struct att_callbacks *attcb; - BtIOSecLevel sec_level; - GIOChannel *io; - GError *gerr = NULL; - char addr[18]; - - /* There is one connection attempt going on */ - if (dev->att_io) - return -EALREADY; - - ba2str(&dev->bdaddr, addr); - - DBG("Connection attempt to: %s", addr); - - attcb = g_new0(struct att_callbacks, 1); - attcb->error = att_error_cb; - attcb->success = att_success_cb; - attcb->user_data = dev; - - if (dev->paired) - sec_level = BT_IO_SEC_MEDIUM; - else - sec_level = BT_IO_SEC_LOW; - - /* - * This connection will help us catch any PDUs that comes before - * pairing finishes - */ - io = bt_io_connect(att_connect_cb, attcb, NULL, &gerr, - BT_IO_OPT_SOURCE_BDADDR, adapter_get_address(adapter), - BT_IO_OPT_DEST_BDADDR, &dev->bdaddr, - BT_IO_OPT_DEST_TYPE, dev->bdaddr_type, - BT_IO_OPT_CID, ATT_CID, - BT_IO_OPT_SEC_LEVEL, sec_level, - BT_IO_OPT_INVALID); - - if (io == NULL) { - if (dev->bonding) { - DBusMessage *reply = btd_error_failed( - dev->bonding->msg, gerr->message); - - g_dbus_send_message(dbus_conn, reply); - bonding_request_cancel(dev->bonding); - bonding_request_free(dev->bonding); - } - - error("ATT bt_io_connect(%s): %s", addr, gerr->message); - g_error_free(gerr); - g_free(attcb); - return -EIO; - } - - /* Keep this, so we can cancel the connection */ - dev->att_io = io; - - return 0; -} - -static void att_browse_error_cb(const GError *gerr, gpointer user_data) -{ - struct att_callbacks *attcb = user_data; - struct btd_device *device = attcb->user_data; - struct browse_req *req = device->browse; - - if (req->msg) { - DBusMessage *reply; - - reply = btd_error_failed(req->msg, gerr->message); - g_dbus_send_message(dbus_conn, reply); - } - - device->browse = NULL; - browse_request_free(req); -} - -static void att_browse_cb(gpointer user_data) -{ - struct att_callbacks *attcb = user_data; - struct btd_device *device = attcb->user_data; - - gatt_discover_primary(device->attrib, NULL, primary_cb, - device->browse); -} - -static int device_browse_primary(struct btd_device *device, DBusMessage *msg, - gboolean secure) -{ - struct btd_adapter *adapter = device->adapter; - struct att_callbacks *attcb; - struct browse_req *req; - BtIOSecLevel sec_level; - - if (device->browse) - return -EBUSY; - - req = g_new0(struct browse_req, 1); - req->device = btd_device_ref(device); - - device->browse = req; - - if (device->attrib) { - gatt_discover_primary(device->attrib, NULL, primary_cb, req); - goto done; - } - - sec_level = secure ? BT_IO_SEC_HIGH : BT_IO_SEC_LOW; - - attcb = g_new0(struct att_callbacks, 1); - attcb->error = att_browse_error_cb; - attcb->success = att_browse_cb; - attcb->user_data = device; - - device->att_io = bt_io_connect(att_connect_cb, - attcb, NULL, NULL, - BT_IO_OPT_SOURCE_BDADDR, - adapter_get_address(adapter), - BT_IO_OPT_DEST_BDADDR, &device->bdaddr, - BT_IO_OPT_DEST_TYPE, device->bdaddr_type, - BT_IO_OPT_CID, ATT_CID, - BT_IO_OPT_SEC_LEVEL, sec_level, - BT_IO_OPT_INVALID); - - if (device->att_io == NULL) { - device->browse = NULL; - browse_request_free(req); - g_free(attcb); - return -EIO; - } - -done: - - if (msg) { - const char *sender = dbus_message_get_sender(msg); - - req->msg = dbus_message_ref(msg); - /* Track the request owner to cancel it - * automatically if the owner exits */ - req->listener_id = g_dbus_add_disconnect_watch(dbus_conn, - sender, - discover_services_req_exit, - req, NULL); - } - - return 0; -} - -static int device_browse_sdp(struct btd_device *device, DBusMessage *msg, - gboolean reverse) -{ - struct btd_adapter *adapter = device->adapter; - struct browse_req *req; - uuid_t uuid; - int err; - - if (device->browse) - return -EBUSY; - - req = g_new0(struct browse_req, 1); - req->device = btd_device_ref(device); - sdp_uuid16_create(&uuid, uuid_list[req->search_uuid++]); - init_browse(req, reverse); - - err = bt_search_service(adapter_get_address(adapter), &device->bdaddr, - &uuid, browse_cb, req, NULL); - if (err < 0) { - browse_request_free(req); - return err; - } - - device->browse = req; - - if (msg) { - const char *sender = dbus_message_get_sender(msg); - - req->msg = dbus_message_ref(msg); - /* Track the request owner to cancel it - * automatically if the owner exits */ - req->listener_id = g_dbus_add_disconnect_watch(dbus_conn, - sender, - discover_services_req_exit, - req, NULL); - } - - return err; -} - -struct btd_adapter *device_get_adapter(struct btd_device *device) -{ - if (!device) - return NULL; - - return device->adapter; -} - -const bdaddr_t *device_get_address(struct btd_device *device) -{ - return &device->bdaddr; -} - -const char *device_get_path(const struct btd_device *device) -{ - if (!device) - return NULL; - - return device->path; -} - -gboolean device_is_temporary(struct btd_device *device) -{ - return device->temporary; -} - -void device_set_temporary(struct btd_device *device, gboolean temporary) -{ - if (!device) - return; - - if (device->temporary == temporary) - return; - - DBG("temporary %d", temporary); - - if (temporary) - adapter_connect_list_remove(device->adapter, device); - - device->temporary = temporary; -} - -void device_set_trusted(struct btd_device *device, gboolean trusted) -{ - if (!device) - return; - - if (device->trusted == trusted) - return; - - DBG("trusted %d", trusted); - - device->trusted = trusted; - - store_device_info(device); - - g_dbus_emit_property_changed(dbus_conn, device->path, - DEVICE_INTERFACE, "Trusted"); -} - -void device_set_bonded(struct btd_device *device, gboolean bonded) -{ - if (!device) - return; - - DBG("bonded %d", bonded); - - device->bonded = bonded; -} - -void device_set_legacy(struct btd_device *device, bool legacy) -{ - if (!device) - return; - - DBG("legacy %d", legacy); - - if (device->legacy == legacy) - return; - - device->legacy = legacy; - - g_dbus_emit_property_changed(dbus_conn, device->path, - DEVICE_INTERFACE, "LegacyPairing"); -} - -void device_set_rssi(struct btd_device *device, int8_t rssi) -{ - if (!device) - return; - - if (rssi == 0 || device->rssi == 0) { - if (device->rssi == rssi) - return; - - DBG("rssi %d", rssi); - - device->rssi = rssi; - } else { - int delta; - - if (device->rssi > rssi) - delta = device->rssi - rssi; - else - delta = rssi - device->rssi; - - /* only report changes of 8 dBm or more */ - if (delta < 8) - return; - - DBG("rssi %d delta %d", rssi, delta); - - device->rssi = rssi; - } - - g_dbus_emit_property_changed(dbus_conn, device->path, - DEVICE_INTERFACE, "RSSI"); -} - -static void device_set_auto_connect(struct btd_device *device, gboolean enable) -{ - char addr[18]; - - if (!device) - return; - - ba2str(&device->bdaddr, addr); - - DBG("%s auto connect: %d", addr, enable); - - device->auto_connect = enable; - - /* Disabling auto connect */ - if (enable == FALSE) { - adapter_connect_list_remove(device->adapter, device); - return; - } - - if (device->attrib) { - DBG("Already connected"); - return; - } - - /* Enabling auto connect */ - adapter_connect_list_add(device->adapter, device); -} - -static gboolean start_discovery(gpointer user_data) -{ - struct btd_device *device = user_data; - - if (device_is_bredr(device)) - device_browse_sdp(device, NULL, TRUE); - else - device_browse_primary(device, NULL, FALSE); - - device->discov_timer = 0; - - return FALSE; -} - -void device_set_paired(struct btd_device *device, gboolean value) -{ - if (device->paired == value) - return; - - if (!value) - btd_adapter_remove_bonding(device->adapter, &device->bdaddr, - device->bdaddr_type); - - device->paired = value; - - g_dbus_emit_property_changed(dbus_conn, device->path, - DEVICE_INTERFACE, "Paired"); -} - -static void device_auth_req_free(struct btd_device *device) -{ - if (device->authr) - g_free(device->authr->pincode); - g_free(device->authr); - device->authr = NULL; -} - -void device_bonding_complete(struct btd_device *device, uint8_t status) -{ - struct bonding_req *bonding = device->bonding; - struct authentication_req *auth = device->authr; - - DBG("bonding %p status 0x%02x", bonding, status); - - if (auth && auth->agent) - agent_cancel(auth->agent); - - if (status) { - device_cancel_authentication(device, TRUE); - device_bonding_failed(device, status); - return; - } - - device_auth_req_free(device); - - /* If we're already paired nothing more is needed */ - if (device->paired) - return; - - device_set_paired(device, TRUE); - - /* If we were initiators start service discovery immediately. - * However if the other end was the initator wait a few seconds - * before SDP. This is due to potential IOP issues if the other - * end starts doing SDP at the same time as us */ - if (bonding) { - DBG("Proceeding with service discovery"); - /* If we are initiators remove any discovery timer and just - * start discovering services directly */ - if (device->discov_timer) { - g_source_remove(device->discov_timer); - device->discov_timer = 0; - } - - if (device_is_bredr(device)) - device_browse_sdp(device, bonding->msg, FALSE); - else - device_browse_primary(device, bonding->msg, FALSE); - - bonding_request_free(bonding); - } else if (!device->svc_resolved) { - if (!device->browse && !device->discov_timer && - main_opts.reverse_sdp) { - /* If we are not initiators and there is no currently - * active discovery or discovery timer, set discovery - * timer */ - DBG("setting timer for reverse service discovery"); - device->discov_timer = g_timeout_add_seconds( - DISCOVERY_TIMER, - start_discovery, - device); - } - } -} - -static gboolean svc_idle_cb(gpointer user_data) -{ - struct svc_callback *cb = user_data; - struct btd_device *dev = cb->dev; - - dev->svc_callbacks = g_slist_remove(dev->svc_callbacks, cb); - - cb->func(cb->dev, 0, cb->user_data); - - g_free(cb); - - return FALSE; -} - -unsigned int device_wait_for_svc_complete(struct btd_device *dev, - device_svc_cb_t func, - void *user_data) -{ - static unsigned int id = 0; - struct svc_callback *cb; - - cb = g_new0(struct svc_callback, 1); - cb->func = func; - cb->user_data = user_data; - cb->dev = dev; - cb->id = ++id; - - dev->svc_callbacks = g_slist_prepend(dev->svc_callbacks, cb); - - if (dev->svc_resolved || !main_opts.reverse_sdp) - cb->idle_id = g_idle_add(svc_idle_cb, cb); - else if (dev->discov_timer > 0) { - g_source_remove(dev->discov_timer); - dev->discov_timer = g_idle_add(start_discovery, dev); - } - - return cb->id; -} - -bool device_remove_svc_complete_callback(struct btd_device *dev, - unsigned int id) -{ - GSList *l; - - for (l = dev->svc_callbacks; l != NULL; l = g_slist_next(l)) { - struct svc_callback *cb = l->data; - - if (cb->id != id) - continue; - - if (cb->idle_id > 0) - g_source_remove(cb->idle_id); - - dev->svc_callbacks = g_slist_remove(dev->svc_callbacks, cb); - g_free(cb); - - return true; - } - - return false; -} - -gboolean device_is_bonding(struct btd_device *device, const char *sender) -{ - struct bonding_req *bonding = device->bonding; - - if (!device->bonding) - return FALSE; - - if (!sender) - return TRUE; - - return g_str_equal(sender, dbus_message_get_sender(bonding->msg)); -} - -void device_bonding_failed(struct btd_device *device, uint8_t status) -{ - struct bonding_req *bonding = device->bonding; - DBusMessage *reply; - - DBG("status %u", status); - - if (!bonding) - return; - - if (device->authr) - device_cancel_authentication(device, FALSE); - - reply = new_authentication_return(bonding->msg, status); - g_dbus_send_message(dbus_conn, reply); - - bonding_request_free(bonding); -} - -static void pincode_cb(struct agent *agent, DBusError *err, const char *pin, - void *data) -{ - struct authentication_req *auth = data; - struct btd_device *device = auth->device; - - /* No need to reply anything if the authentication already failed */ - if (auth->agent == NULL) - return; - - btd_adapter_pincode_reply(device->adapter, &device->bdaddr, - pin, pin ? strlen(pin) : 0); - - agent_unref(device->authr->agent); - device->authr->agent = NULL; -} - -static void confirm_cb(struct agent *agent, DBusError *err, void *data) -{ - struct authentication_req *auth = data; - struct btd_device *device = auth->device; - - /* No need to reply anything if the authentication already failed */ - if (auth->agent == NULL) - return; - - btd_adapter_confirm_reply(device->adapter, &device->bdaddr, - device->bdaddr_type, - err ? FALSE : TRUE); - - agent_unref(device->authr->agent); - device->authr->agent = NULL; -} - -static void passkey_cb(struct agent *agent, DBusError *err, - uint32_t passkey, void *data) -{ - struct authentication_req *auth = data; - struct btd_device *device = auth->device; - - /* No need to reply anything if the authentication already failed */ - if (auth->agent == NULL) - return; - - if (err) - passkey = INVALID_PASSKEY; - - btd_adapter_passkey_reply(device->adapter, &device->bdaddr, - device->bdaddr_type, passkey); - - agent_unref(device->authr->agent); - device->authr->agent = NULL; -} - -static void display_pincode_cb(struct agent *agent, DBusError *err, void *data) -{ - struct authentication_req *auth = data; - struct btd_device *device = auth->device; - - pincode_cb(agent, err, auth->pincode, auth); - - g_free(device->authr->pincode); - device->authr->pincode = NULL; -} - -static struct authentication_req *new_auth(struct btd_device *device, - auth_type_t type, gboolean secure) -{ - struct authentication_req *auth; - struct agent *agent; - char addr[18]; - - ba2str(&device->bdaddr, addr); - DBG("Requesting agent authentication for %s", addr); - - if (device->authr) { - error("Authentication already requested for %s", addr); - return NULL; - } - - if (device->bonding && device->bonding->agent) - agent = agent_ref(device->bonding->agent); - else - agent = agent_get(NULL); - - if (!agent) { - error("No agent available for request type %d", type); - return NULL; - } - - auth = g_new0(struct authentication_req, 1); - auth->agent = agent; - auth->device = device; - auth->type = type; - auth->secure = secure; - device->authr = auth; - - return auth; -} - -int device_request_pincode(struct btd_device *device, gboolean secure) -{ - struct authentication_req *auth; - int err; - - auth = new_auth(device, AUTH_TYPE_PINCODE, secure); - if (!auth) - return -EPERM; - - err = agent_request_pincode(auth->agent, device, pincode_cb, secure, - auth, NULL); - if (err < 0) { - error("Failed requesting authentication"); - device_auth_req_free(device); - } - - return err; -} - -int device_request_passkey(struct btd_device *device) -{ - struct authentication_req *auth; - int err; - - auth = new_auth(device, AUTH_TYPE_PASSKEY, FALSE); - if (!auth) - return -EPERM; - - err = agent_request_passkey(auth->agent, device, passkey_cb, auth, - NULL); - if (err < 0) { - error("Failed requesting authentication"); - device_auth_req_free(device); - } - - return err; -} - -int device_confirm_passkey(struct btd_device *device, uint32_t passkey, - uint8_t confirm_hint) - -{ - struct authentication_req *auth; - int err; - - auth = new_auth(device, AUTH_TYPE_CONFIRM, FALSE); - if (!auth) - return -EPERM; - - auth->passkey = passkey; - - if (confirm_hint) - err = agent_request_authorization(auth->agent, device, - confirm_cb, auth, NULL); - else - err = agent_request_confirmation(auth->agent, device, passkey, - confirm_cb, auth, NULL); - - if (err < 0) { - error("Failed requesting authentication"); - device_auth_req_free(device); - } - - return err; -} - -int device_notify_passkey(struct btd_device *device, uint32_t passkey, - uint8_t entered) -{ - struct authentication_req *auth; - int err; - - if (device->authr) { - auth = device->authr; - if (auth->type != AUTH_TYPE_NOTIFY_PASSKEY) - return -EPERM; - } else { - auth = new_auth(device, AUTH_TYPE_NOTIFY_PASSKEY, FALSE); - if (!auth) - return -EPERM; - } - - err = agent_display_passkey(auth->agent, device, passkey, entered); - if (err < 0) { - error("Failed requesting authentication"); - device_auth_req_free(device); - } - - return err; -} - -int device_notify_pincode(struct btd_device *device, gboolean secure, - const char *pincode) -{ - struct authentication_req *auth; - int err; - - auth = new_auth(device, AUTH_TYPE_NOTIFY_PINCODE, secure); - if (!auth) - return -EPERM; - - auth->pincode = g_strdup(pincode); - - err = agent_display_pincode(auth->agent, device, pincode, - display_pincode_cb, auth, NULL); - if (err < 0) { - error("Failed requesting authentication"); - device_auth_req_free(device); - } - - return err; -} - -static void cancel_authentication(struct authentication_req *auth) -{ - struct agent *agent; - DBusError err; - - if (!auth || !auth->agent) - return; - - agent = auth->agent; - auth->agent = NULL; - - dbus_error_init(&err); - dbus_set_error_const(&err, ERROR_INTERFACE ".Canceled", NULL); - - switch (auth->type) { - case AUTH_TYPE_PINCODE: - pincode_cb(agent, &err, NULL, auth); - break; - case AUTH_TYPE_CONFIRM: - confirm_cb(agent, &err, auth); - break; - case AUTH_TYPE_PASSKEY: - passkey_cb(agent, &err, 0, auth); - break; - case AUTH_TYPE_NOTIFY_PASSKEY: - /* User Notify doesn't require any reply */ - break; - case AUTH_TYPE_NOTIFY_PINCODE: - pincode_cb(agent, &err, NULL, auth); - break; - } - - dbus_error_free(&err); -} - -void device_cancel_authentication(struct btd_device *device, gboolean aborted) -{ - struct authentication_req *auth = device->authr; - char addr[18]; - - if (!auth) - return; - - ba2str(&device->bdaddr, addr); - DBG("Canceling authentication request for %s", addr); - - if (auth->agent) - agent_cancel(auth->agent); - - if (!aborted) - cancel_authentication(auth); - - device_auth_req_free(device); -} - -gboolean device_is_authenticating(struct btd_device *device) -{ - return (device->authr != NULL); -} - -static int primary_uuid_cmp(gconstpointer a, gconstpointer b) -{ - const struct gatt_primary *prim = a; - const char *uuid = b; - - return strcasecmp(prim->uuid, uuid); -} - -struct gatt_primary *btd_device_get_primary(struct btd_device *device, - const char *uuid) -{ - GSList *match; - - match = g_slist_find_custom(device->primaries, uuid, primary_uuid_cmp); - if (match) - return match->data; - - return NULL; -} - -GSList *btd_device_get_primaries(struct btd_device *device) -{ - return device->primaries; -} - -void btd_device_gatt_set_service_changed(struct btd_device *device, - uint16_t start, uint16_t end) -{ - GSList *l; - - for (l = device->primaries; l; l = g_slist_next(l)) { - struct gatt_primary *prim = l->data; - - if (start <= prim->range.end && end >= prim->range.start) - prim->changed = TRUE; - } - - device_browse_primary(device, NULL, FALSE); -} - -void btd_device_add_uuid(struct btd_device *device, const char *uuid) -{ - GSList *uuid_list; - char *new_uuid; - - if (g_slist_find_custom(device->uuids, uuid, bt_uuid_strcmp)) - return; - - new_uuid = g_strdup(uuid); - uuid_list = g_slist_append(NULL, new_uuid); - - device_probe_profiles(device, uuid_list); - - g_free(new_uuid); - g_slist_free(uuid_list); - - store_device_info(device); - - g_dbus_emit_property_changed(dbus_conn, device->path, - DEVICE_INTERFACE, "UUIDs"); -} - -static sdp_list_t *read_device_records(struct btd_device *device) -{ - char local[18], peer[18]; - char filename[PATH_MAX + 1]; - GKeyFile *key_file; - char **keys, **handle; - char *str; - sdp_list_t *recs = NULL; - sdp_record_t *rec; - - ba2str(adapter_get_address(device->adapter), local); - ba2str(&device->bdaddr, peer); - - snprintf(filename, PATH_MAX, STORAGEDIR "/%s/cache/%s", local, peer); - filename[PATH_MAX] = '\0'; - - key_file = g_key_file_new(); - g_key_file_load_from_file(key_file, filename, 0, NULL); - keys = g_key_file_get_keys(key_file, "ServiceRecords", NULL, NULL); - - for (handle = keys; handle && *handle; handle++) { - str = g_key_file_get_string(key_file, "ServiceRecords", - *handle, NULL); - if (!str) - continue; - - rec = record_from_string(str); - recs = sdp_list_append(recs, rec); - g_free(str); - } - - g_strfreev(keys); - g_key_file_free(key_file); - - return recs; -} - -const sdp_record_t *btd_device_get_record(struct btd_device *device, - const char *uuid) -{ - if (device->tmp_records) { - const sdp_record_t *record; - - record = find_record_in_list(device->tmp_records, uuid); - if (record != NULL) - return record; - - sdp_list_free(device->tmp_records, - (sdp_free_func_t) sdp_record_free); - device->tmp_records = NULL; - } - - device->tmp_records = read_device_records(device); - if (!device->tmp_records) - return NULL; - - return find_record_in_list(device->tmp_records, uuid); -} - -struct btd_device *btd_device_ref(struct btd_device *device) -{ - __sync_fetch_and_add(&device->ref_count, 1); - - return device; -} - -void btd_device_unref(struct btd_device *device) -{ - if (__sync_sub_and_fetch(&device->ref_count, 1)) - return; - - if (!device->path) { - error("freeing device without an object path"); - return; - } - - DBG("Freeing device %s", device->path); - - g_dbus_unregister_interface(dbus_conn, device->path, DEVICE_INTERFACE); -} - -int device_get_appearance(struct btd_device *device, uint16_t *value) -{ - if (device->appearance == 0) - return -1; - - if (value) - *value = device->appearance; - - return 0; -} - -void device_set_appearance(struct btd_device *device, uint16_t value) -{ - const char *icon = gap_appearance_to_icon(value); - - g_dbus_emit_property_changed(dbus_conn, device->path, - DEVICE_INTERFACE, "Appearance"); - - if (icon) - g_dbus_emit_property_changed(dbus_conn, device->path, - DEVICE_INTERFACE, "Icon"); - - device->appearance = value; - store_device_info(device); -} - -static gboolean notify_attios(gpointer user_data) -{ - struct btd_device *device = user_data; - - if (device->attrib == NULL) - return FALSE; - - g_slist_foreach(device->attios_offline, attio_connected, device->attrib); - device->attios = g_slist_concat(device->attios, device->attios_offline); - device->attios_offline = NULL; - - return FALSE; -} - -guint btd_device_add_attio_callback(struct btd_device *device, - attio_connect_cb cfunc, - attio_disconnect_cb dcfunc, - gpointer user_data) -{ - struct attio_data *attio; - static guint attio_id = 0; - - DBG("%p registered ATT connection callback", device); - - attio = g_new0(struct attio_data, 1); - attio->id = ++attio_id; - attio->cfunc = cfunc; - attio->dcfunc = dcfunc; - attio->user_data = user_data; - - device_set_auto_connect(device, TRUE); - - if (device->attrib && cfunc) { - device->attios_offline = g_slist_append(device->attios_offline, - attio); - g_idle_add(notify_attios, device); - return attio->id; - } - - device->attios = g_slist_append(device->attios, attio); - - return attio->id; -} - -static int attio_id_cmp(gconstpointer a, gconstpointer b) -{ - const struct attio_data *attio = a; - guint id = GPOINTER_TO_UINT(b); - - return attio->id - id; -} - -gboolean btd_device_remove_attio_callback(struct btd_device *device, guint id) -{ - struct attio_data *attio; - GSList *l; - - l = g_slist_find_custom(device->attios, GUINT_TO_POINTER(id), - attio_id_cmp); - if (l) { - attio = l->data; - device->attios = g_slist_remove(device->attios, attio); - } else { - l = g_slist_find_custom(device->attios_offline, - GUINT_TO_POINTER(id), attio_id_cmp); - if (!l) - return FALSE; - - attio = l->data; - device->attios_offline = g_slist_remove(device->attios_offline, - attio); - } - - g_free(attio); - - if (device->attios != NULL || device->attios_offline != NULL) - return TRUE; - - attio_cleanup(device); - - return TRUE; -} - -void btd_device_set_pnpid(struct btd_device *device, uint16_t source, - uint16_t vendor, uint16_t product, uint16_t version) -{ - device->vendor_src = source; - device->vendor = vendor; - device->product = product; - device->version = version; - - g_free(device->modalias); - device->modalias = bt_modalias(source, vendor, product, version); - - g_dbus_emit_property_changed(dbus_conn, device->path, - DEVICE_INTERFACE, "Modalias"); - - store_device_info(device); -} - -void btd_device_init(void) -{ - dbus_conn = btd_get_dbus_connection(); -} - -void btd_device_cleanup(void) -{ -} diff --git a/GRIB_BLE_HUB/libs/ble_extend/src/device.h b/GRIB_BLE_HUB/libs/ble_extend/src/device.h deleted file mode 100644 index d072015..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/src/device.h +++ /dev/null @@ -1,131 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2006-2010 Nokia Corporation - * Copyright (C) 2004-2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#define DEVICE_INTERFACE "org.bluez.Device1" - -struct btd_device; - -struct btd_device *device_create(struct btd_adapter *adapter, - const bdaddr_t *address, uint8_t bdaddr_type); -struct btd_device *device_create_from_storage(struct btd_adapter *adapter, - const char *address, GKeyFile *key_file); -char *btd_device_get_storage_path(struct btd_device *device, - const char *filename); - -void device_set_name(struct btd_device *device, const char *name); -void device_get_name(struct btd_device *device, char *name, size_t len); -bool device_name_known(struct btd_device *device); -void device_set_class(struct btd_device *device, uint32_t class); -uint16_t btd_device_get_vendor(struct btd_device *device); -uint16_t btd_device_get_vendor_src(struct btd_device *device); -uint16_t btd_device_get_product(struct btd_device *device); -uint16_t btd_device_get_version(struct btd_device *device); -void device_remove(struct btd_device *device, gboolean remove_stored); -gint device_address_cmp(gconstpointer a, gconstpointer b); -gint device_bdaddr_cmp(gconstpointer a, gconstpointer b); -GSList *device_get_uuids(struct btd_device *device); -void device_probe_profiles(struct btd_device *device, GSList *profiles); -const sdp_record_t *btd_device_get_record(struct btd_device *device, - const char *uuid); -struct gatt_primary *btd_device_get_primary(struct btd_device *device, - const char *uuid); -GSList *btd_device_get_primaries(struct btd_device *device); -void btd_device_gatt_set_service_changed(struct btd_device *device, - uint16_t start, uint16_t end); -void btd_device_add_uuid(struct btd_device *device, const char *uuid); -void device_add_eir_uuids(struct btd_device *dev, GSList *uuids); -void device_probe_profile(gpointer a, gpointer b); -void device_remove_profile(gpointer a, gpointer b); -struct btd_adapter *device_get_adapter(struct btd_device *device); -const bdaddr_t *device_get_address(struct btd_device *device); -const char *device_get_path(const struct btd_device *device); -gboolean device_is_bredr(struct btd_device *device); -gboolean device_is_le(struct btd_device *device); -gboolean device_is_temporary(struct btd_device *device); -gboolean device_is_paired(struct btd_device *device); -gboolean device_is_bonded(struct btd_device *device); -gboolean device_is_trusted(struct btd_device *device); -void device_set_paired(struct btd_device *device, gboolean paired); -void device_set_temporary(struct btd_device *device, gboolean temporary); -void device_set_trusted(struct btd_device *device, gboolean trusted); -void device_set_bonded(struct btd_device *device, gboolean bonded); -void device_set_legacy(struct btd_device *device, bool legacy); -void device_set_rssi(struct btd_device *device, int8_t rssi); -gboolean device_is_connected(struct btd_device *device); -void device_bonding_complete(struct btd_device *device, uint8_t status); -gboolean device_is_bonding(struct btd_device *device, const char *sender); -void device_bonding_failed(struct btd_device *device, uint8_t status); -int device_request_pincode(struct btd_device *device, gboolean secure); -int device_request_passkey(struct btd_device *device); -int device_confirm_passkey(struct btd_device *device, uint32_t passkey, - uint8_t confirm_hint); -int device_notify_passkey(struct btd_device *device, uint32_t passkey, - uint8_t entered); -int device_notify_pincode(struct btd_device *device, gboolean secure, - const char *pincode); -void device_cancel_authentication(struct btd_device *device, gboolean aborted); -gboolean device_is_authenticating(struct btd_device *device); -void device_add_connection(struct btd_device *device); -void device_remove_connection(struct btd_device *device); -void device_request_disconnect(struct btd_device *device, DBusMessage *msg); - -typedef void (*disconnect_watch) (struct btd_device *device, gboolean removal, - void *user_data); - -guint device_add_disconnect_watch(struct btd_device *device, - disconnect_watch watch, void *user_data, - GDestroyNotify destroy); -void device_remove_disconnect_watch(struct btd_device *device, guint id); -int device_get_appearance(struct btd_device *device, uint16_t *value); -void device_set_appearance(struct btd_device *device, uint16_t value); - -struct btd_device *btd_device_ref(struct btd_device *device); -void btd_device_unref(struct btd_device *device); - -int device_block(struct btd_device *device, gboolean update_only); -int device_unblock(struct btd_device *device, gboolean silent, - gboolean update_only); -void btd_device_set_pnpid(struct btd_device *device, uint16_t source, - uint16_t vendor, uint16_t product, uint16_t version); - -int device_connect_le(struct btd_device *dev); - -typedef void (*device_svc_cb_t) (struct btd_device *dev, int err, - void *user_data); - -unsigned int device_wait_for_svc_complete(struct btd_device *dev, - device_svc_cb_t func, - void *user_data); -bool device_remove_svc_complete_callback(struct btd_device *dev, - unsigned int id); - -struct btd_profile; - -void device_profile_connected(struct btd_device *dev, - struct btd_profile *profile, int err); -void device_profile_disconnected(struct btd_device *dev, - struct btd_profile *profile, int err); - -void btd_device_init(void); -void btd_device_cleanup(void); diff --git a/GRIB_BLE_HUB/libs/ble_extend/src/eir.c b/GRIB_BLE_HUB/libs/ble_extend/src/eir.c deleted file mode 100644 index 084884e..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/src/eir.c +++ /dev/null @@ -1,464 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2011 Nokia Corporation - * Copyright (C) 2011 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include -#include -#include -#include - -#include -#include -#include - -#include "glib-helper.h" -#include "eir.h" - -#define EIR_OOB_MIN (2 + 6) - -void eir_data_free(struct eir_data *eir) -{ - g_slist_free_full(eir->services, g_free); - eir->services = NULL; - g_free(eir->name); - eir->name = NULL; - g_free(eir->hash); - eir->hash = NULL; - g_free(eir->randomizer); - eir->randomizer = NULL; -} - -static void eir_parse_uuid16(struct eir_data *eir, const void *data, - uint8_t len) -{ - const uint16_t *uuid16 = data; - uuid_t service; - char *uuid_str; - unsigned int i; - - service.type = SDP_UUID16; - for (i = 0; i < len / 2; i++, uuid16++) { - service.value.uuid16 = bt_get_le16(uuid16); - - uuid_str = bt_uuid2string(&service); - eir->services = g_slist_append(eir->services, uuid_str); - } -} - -static void eir_parse_uuid32(struct eir_data *eir, const void *data, - uint8_t len) -{ - const uint32_t *uuid32 = data; - uuid_t service; - char *uuid_str; - unsigned int i; - - service.type = SDP_UUID32; - for (i = 0; i < len / 4; i++, uuid32++) { - service.value.uuid32 = bt_get_le32(uuid32); - - uuid_str = bt_uuid2string(&service); - eir->services = g_slist_append(eir->services, uuid_str); - } -} - -static void eir_parse_uuid128(struct eir_data *eir, const uint8_t *data, - uint8_t len) -{ - const uint8_t *uuid_ptr = data; - uuid_t service; - char *uuid_str; - unsigned int i; - int k; - - service.type = SDP_UUID128; - for (i = 0; i < len / 16; i++) { - for (k = 0; k < 16; k++) - service.value.uuid128.data[k] = uuid_ptr[16 - k - 1]; - uuid_str = bt_uuid2string(&service); - eir->services = g_slist_append(eir->services, uuid_str); - uuid_ptr += 16; - } -} - -static char *name2utf8(const uint8_t *name, uint8_t len) -{ - char utf8_name[HCI_MAX_NAME_LENGTH + 2]; - int i; - - if (g_utf8_validate((const char *) name, len, NULL)) - return g_strndup((char *) name, len); - - memset(utf8_name, 0, sizeof(utf8_name)); - strncpy(utf8_name, (char *) name, len); - - /* Assume ASCII, and replace all non-ASCII with spaces */ - for (i = 0; utf8_name[i] != '\0'; i++) { - if (!isascii(utf8_name[i])) - utf8_name[i] = ' '; - } - - /* Remove leading and trailing whitespace characters */ - g_strstrip(utf8_name); - - return g_strdup(utf8_name); -} - -int eir_parse(struct eir_data *eir, const uint8_t *eir_data, uint8_t eir_len) -{ - uint16_t len = 0; - - eir->flags = -1; - eir->tx_power = 127; - - /* No EIR data to parse */ - if (eir_data == NULL) - return 0; - - while (len < eir_len - 1) { - uint8_t field_len = eir_data[0]; - const uint8_t *data; - uint8_t data_len; - - /* Check for the end of EIR */ - if (field_len == 0) - break; - - len += field_len + 1; - - /* Do not continue EIR Data parsing if got incorrect length */ - if (len > eir_len) - break; - - data = &eir_data[2]; - data_len = field_len - 1; - - switch (eir_data[1]) { - case EIR_UUID16_SOME: - case EIR_UUID16_ALL: - eir_parse_uuid16(eir, data, data_len); - break; - - case EIR_UUID32_SOME: - case EIR_UUID32_ALL: - eir_parse_uuid32(eir, data, data_len); - break; - - case EIR_UUID128_SOME: - case EIR_UUID128_ALL: - eir_parse_uuid128(eir, data, data_len); - break; - - case EIR_FLAGS: - if (data_len > 0) - eir->flags = *data; - break; - - case EIR_NAME_SHORT: - case EIR_NAME_COMPLETE: - /* Some vendors put a NUL byte terminator into - * the name */ - while (data_len > 0 && data[data_len - 1] == '\0') - data_len--; - - g_free(eir->name); - - eir->name = name2utf8(data, data_len); - eir->name_complete = eir_data[1] == EIR_NAME_COMPLETE; - break; - - case EIR_TX_POWER: - if (data_len < 1) - break; - eir->tx_power = (int8_t) data[0]; - break; - - case EIR_CLASS_OF_DEV: - if (data_len < 3) - break; - eir->class = data[0] | (data[1] << 8) | - (data[2] << 16); - break; - - case EIR_GAP_APPEARANCE: - if (data_len < 2) - break; - eir->appearance = bt_get_le16(data); - break; - - case EIR_SSP_HASH: - if (data_len < 16) - break; - eir->hash = g_memdup(data, 16); - break; - - case EIR_SSP_RANDOMIZER: - if (data_len < 16) - break; - eir->randomizer = g_memdup(data, 16); - break; - } - - eir_data += field_len + 1; - } - - return 0; -} - -int eir_parse_oob(struct eir_data *eir, uint8_t *eir_data, uint16_t eir_len) -{ - - if (eir_len < EIR_OOB_MIN) - return -1; - - if (eir_len != bt_get_le16(eir_data)) - return -1; - - eir_data += sizeof(uint16_t); - eir_len -= sizeof(uint16_t); - - memcpy(&eir->addr, eir_data, sizeof(bdaddr_t)); - eir_data += sizeof(bdaddr_t); - eir_len -= sizeof(bdaddr_t); - - /* optional OOB EIR data */ - if (eir_len > 0) - return eir_parse(eir, eir_data, eir_len); - - return 0; -} - -#define SIZEOF_UUID128 16 - -static void eir_generate_uuid128(sdp_list_t *list, uint8_t *ptr, - uint16_t *eir_len) -{ - int i, k, uuid_count = 0; - uint16_t len = *eir_len; - uint8_t *uuid128; - gboolean truncated = FALSE; - - /* Store UUIDs in place, skip 2 bytes to write type and length later */ - uuid128 = ptr + 2; - - for (; list; list = list->next) { - sdp_record_t *rec = list->data; - uuid_t *uuid = &rec->svclass; - uint8_t *uuid128_data = uuid->value.uuid128.data; - - if (uuid->type != SDP_UUID128) - continue; - - /* Stop if not enough space to put next UUID128 */ - if ((len + 2 + SIZEOF_UUID128) > HCI_MAX_EIR_LENGTH) { - truncated = TRUE; - break; - } - - /* Check for duplicates, EIR data is Little Endian */ - for (i = 0; i < uuid_count; i++) { - for (k = 0; k < SIZEOF_UUID128; k++) { - if (uuid128[i * SIZEOF_UUID128 + k] != - uuid128_data[SIZEOF_UUID128 - 1 - k]) - break; - } - if (k == SIZEOF_UUID128) - break; - } - - if (i < uuid_count) - continue; - - /* EIR data is Little Endian */ - for (k = 0; k < SIZEOF_UUID128; k++) - uuid128[uuid_count * SIZEOF_UUID128 + k] = - uuid128_data[SIZEOF_UUID128 - 1 - k]; - - len += SIZEOF_UUID128; - uuid_count++; - } - - if (uuid_count > 0 || truncated) { - /* EIR Data length */ - ptr[0] = (uuid_count * SIZEOF_UUID128) + 1; - /* EIR Data type */ - ptr[1] = truncated ? EIR_UUID128_SOME : EIR_UUID128_ALL; - len += 2; - *eir_len = len; - } -} - -int eir_create_oob(const bdaddr_t *addr, const char *name, uint32_t cod, - const uint8_t *hash, const uint8_t *randomizer, - uint16_t did_vendor, uint16_t did_product, - uint16_t did_version, uint16_t did_source, - sdp_list_t *uuids, uint8_t *data) -{ - sdp_list_t *l; - uint8_t *ptr = data; - uint16_t eir_optional_len = 0; - uint16_t eir_total_len; - uint16_t uuid16[HCI_MAX_EIR_LENGTH / 2]; - int i, uuid_count = 0; - gboolean truncated = FALSE; - size_t name_len; - - eir_total_len = sizeof(uint16_t) + sizeof(bdaddr_t); - ptr += sizeof(uint16_t); - - memcpy(ptr, addr, sizeof(bdaddr_t)); - ptr += sizeof(bdaddr_t); - - if (cod > 0) { - uint8_t class[3]; - - class[0] = (uint8_t) cod; - class[1] = (uint8_t) (cod >> 8); - class[2] = (uint8_t) (cod >> 16); - - *ptr++ = 4; - *ptr++ = EIR_CLASS_OF_DEV; - - memcpy(ptr, class, sizeof(class)); - ptr += sizeof(class); - - eir_optional_len += sizeof(class) + 2; - } - - if (hash) { - *ptr++ = 17; - *ptr++ = EIR_SSP_HASH; - - memcpy(ptr, hash, 16); - ptr += 16; - - eir_optional_len += 16 + 2; - } - - if (randomizer) { - *ptr++ = 17; - *ptr++ = EIR_SSP_RANDOMIZER; - - memcpy(ptr, randomizer, 16); - ptr += 16; - - eir_optional_len += 16 + 2; - } - - name_len = strlen(name); - - if (name_len > 0) { - /* EIR Data type */ - if (name_len > 48) { - name_len = 48; - ptr[1] = EIR_NAME_SHORT; - } else - ptr[1] = EIR_NAME_COMPLETE; - - /* EIR Data length */ - ptr[0] = name_len + 1; - - memcpy(ptr + 2, name, name_len); - - eir_optional_len += (name_len + 2); - ptr += (name_len + 2); - } - - if (did_vendor != 0x0000) { - *ptr++ = 9; - *ptr++ = EIR_DEVICE_ID; - *ptr++ = (did_source & 0x00ff); - *ptr++ = (did_source & 0xff00) >> 8; - *ptr++ = (did_vendor & 0x00ff); - *ptr++ = (did_vendor & 0xff00) >> 8; - *ptr++ = (did_product & 0x00ff); - *ptr++ = (did_product & 0xff00) >> 8; - *ptr++ = (did_version & 0x00ff); - *ptr++ = (did_version & 0xff00) >> 8; - eir_optional_len += 10; - } - - /* Group all UUID16 types */ - for (l = uuids; l != NULL; l = l->next) { - sdp_record_t *rec = l->data; - uuid_t *uuid = &rec->svclass; - - if (uuid->type != SDP_UUID16) - continue; - - if (uuid->value.uuid16 < 0x1100) - continue; - - if (uuid->value.uuid16 == PNP_INFO_SVCLASS_ID) - continue; - - /* Stop if not enough space to put next UUID16 */ - if ((eir_optional_len + 2 + sizeof(uint16_t)) > - HCI_MAX_EIR_LENGTH) { - truncated = TRUE; - break; - } - - /* Check for duplicates */ - for (i = 0; i < uuid_count; i++) - if (uuid16[i] == uuid->value.uuid16) - break; - - if (i < uuid_count) - continue; - - uuid16[uuid_count++] = uuid->value.uuid16; - eir_optional_len += sizeof(uint16_t); - } - - if (uuid_count > 0) { - /* EIR Data length */ - ptr[0] = (uuid_count * sizeof(uint16_t)) + 1; - /* EIR Data type */ - ptr[1] = truncated ? EIR_UUID16_SOME : EIR_UUID16_ALL; - - ptr += 2; - eir_optional_len += 2; - - for (i = 0; i < uuid_count; i++) { - *ptr++ = (uuid16[i] & 0x00ff); - *ptr++ = (uuid16[i] & 0xff00) >> 8; - } - } - - /* Group all UUID128 types */ - if (eir_optional_len <= HCI_MAX_EIR_LENGTH - 2) - eir_generate_uuid128(uuids, ptr, &eir_optional_len); - - eir_total_len += eir_optional_len; - - /* store total length */ - bt_put_le16(eir_total_len, data); - - return eir_total_len; -} diff --git a/GRIB_BLE_HUB/libs/ble_extend/src/eir.h b/GRIB_BLE_HUB/libs/ble_extend/src/eir.h deleted file mode 100644 index 1b6242d..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/src/eir.h +++ /dev/null @@ -1,61 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2011 Nokia Corporation - * Copyright (C) 2011 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#define EIR_FLAGS 0x01 /* flags */ -#define EIR_UUID16_SOME 0x02 /* 16-bit UUID, more available */ -#define EIR_UUID16_ALL 0x03 /* 16-bit UUID, all listed */ -#define EIR_UUID32_SOME 0x04 /* 32-bit UUID, more available */ -#define EIR_UUID32_ALL 0x05 /* 32-bit UUID, all listed */ -#define EIR_UUID128_SOME 0x06 /* 128-bit UUID, more available */ -#define EIR_UUID128_ALL 0x07 /* 128-bit UUID, all listed */ -#define EIR_NAME_SHORT 0x08 /* shortened local name */ -#define EIR_NAME_COMPLETE 0x09 /* complete local name */ -#define EIR_TX_POWER 0x0A /* transmit power level */ -#define EIR_CLASS_OF_DEV 0x0D /* Class of Device */ -#define EIR_SSP_HASH 0x0E /* SSP Hash */ -#define EIR_SSP_RANDOMIZER 0x0F /* SSP Randomizer */ -#define EIR_DEVICE_ID 0x10 /* device ID */ -#define EIR_GAP_APPEARANCE 0x19 /* GAP appearance */ - -struct eir_data { - GSList *services; - int flags; - char *name; - uint32_t class; - uint16_t appearance; - gboolean name_complete; - int8_t tx_power; - uint8_t *hash; - uint8_t *randomizer; - bdaddr_t addr; -}; - -void eir_data_free(struct eir_data *eir); -int eir_parse(struct eir_data *eir, const uint8_t *eir_data, uint8_t eir_len); -int eir_parse_oob(struct eir_data *eir, uint8_t *eir_data, uint16_t eir_len); -int eir_create_oob(const bdaddr_t *addr, const char *name, uint32_t cod, - const uint8_t *hash, const uint8_t *randomizer, - uint16_t did_vendor, uint16_t did_product, - uint16_t did_version, uint16_t did_source, - sdp_list_t *uuids, uint8_t *data); diff --git a/GRIB_BLE_HUB/libs/ble_extend/src/error.c b/GRIB_BLE_HUB/libs/ble_extend/src/error.c deleted file mode 100644 index 7692790..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/src/error.c +++ /dev/null @@ -1,116 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2006-2010 Nokia Corporation - * Copyright (C) 2004-2010 Marcel Holtmann - * Copyright (C) 2007-2008 Fabien Chevalier - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include - -#include "error.h" - -DBusMessage *btd_error_invalid_args(DBusMessage *msg) -{ - return g_dbus_create_error(msg, ERROR_INTERFACE ".InvalidArguments", - "Invalid arguments in method call"); -} - -DBusMessage *btd_error_busy(DBusMessage *msg) -{ - return g_dbus_create_error(msg, ERROR_INTERFACE ".InProgress", - "Operation already in progress"); -} - -DBusMessage *btd_error_already_exists(DBusMessage *msg) -{ - return g_dbus_create_error(msg, ERROR_INTERFACE ".AlreadyExists", - "Already Exists"); -} - -DBusMessage *btd_error_not_supported(DBusMessage *msg) -{ - return g_dbus_create_error(msg, ERROR_INTERFACE ".NotSupported", - "Operation is not supported"); -} - -DBusMessage *btd_error_not_connected(DBusMessage *msg) -{ - return g_dbus_create_error(msg, ERROR_INTERFACE ".NotConnected", - "Not Connected"); -} - -DBusMessage *btd_error_already_connected(DBusMessage *msg) -{ - return g_dbus_create_error(msg, ERROR_INTERFACE ".AlreadyConnected", - "Already Connected"); -} - -DBusMessage *btd_error_in_progress(DBusMessage *msg) -{ - return g_dbus_create_error(msg, ERROR_INTERFACE ".InProgress", - "In Progress"); -} - -DBusMessage *btd_error_not_available(DBusMessage *msg) -{ - return g_dbus_create_error(msg, ERROR_INTERFACE ".NotAvailable", - "Operation currently not available"); -} - -DBusMessage *btd_error_does_not_exist(DBusMessage *msg) -{ - return g_dbus_create_error(msg, ERROR_INTERFACE ".DoesNotExist", - "Does Not Exist"); -} - -DBusMessage *btd_error_not_authorized(DBusMessage *msg) -{ - return g_dbus_create_error(msg, ERROR_INTERFACE ".NotAuthorized", - "Operation Not Authorized"); -} - -DBusMessage *btd_error_no_such_adapter(DBusMessage *msg) -{ - return g_dbus_create_error(msg, ERROR_INTERFACE ".NoSuchAdapter", - "No such adapter"); -} - -DBusMessage *btd_error_agent_not_available(DBusMessage *msg) -{ - return g_dbus_create_error(msg, ERROR_INTERFACE ".AgentNotAvailable", - "Agent Not Available"); -} - -DBusMessage *btd_error_not_ready(DBusMessage *msg) -{ - return g_dbus_create_error(msg, ERROR_INTERFACE ".NotReady", - "Resource Not Ready"); -} - -DBusMessage *btd_error_failed(DBusMessage *msg, const char *str) -{ - return g_dbus_create_error(msg, ERROR_INTERFACE - ".Failed", "%s", str); -} diff --git a/GRIB_BLE_HUB/libs/ble_extend/src/error.h b/GRIB_BLE_HUB/libs/ble_extend/src/error.h deleted file mode 100644 index cdb8919..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/src/error.h +++ /dev/null @@ -1,43 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2006-2010 Nokia Corporation - * Copyright (C) 2004-2010 Marcel Holtmann - * Copyright (C) 2007-2008 Fabien Chevalier - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#include - -#define ERROR_INTERFACE "org.bluez.Error" - -DBusMessage *btd_error_invalid_args(DBusMessage *msg); -DBusMessage *btd_error_busy(DBusMessage *msg); -DBusMessage *btd_error_already_exists(DBusMessage *msg); -DBusMessage *btd_error_not_supported(DBusMessage *msg); -DBusMessage *btd_error_not_connected(DBusMessage *msg); -DBusMessage *btd_error_already_connected(DBusMessage *msg); -DBusMessage *btd_error_not_available(DBusMessage *msg); -DBusMessage *btd_error_in_progress(DBusMessage *msg); -DBusMessage *btd_error_does_not_exist(DBusMessage *msg); -DBusMessage *btd_error_not_authorized(DBusMessage *msg); -DBusMessage *btd_error_no_such_adapter(DBusMessage *msg); -DBusMessage *btd_error_agent_not_available(DBusMessage *msg); -DBusMessage *btd_error_not_ready(DBusMessage *msg); -DBusMessage *btd_error_failed(DBusMessage *msg, const char *str); diff --git a/GRIB_BLE_HUB/libs/ble_extend/src/genbuiltin b/GRIB_BLE_HUB/libs/ble_extend/src/genbuiltin deleted file mode 100644 index 8b6f047..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/src/genbuiltin +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/sh - -for i in $* -do - echo "extern struct bluetooth_plugin_desc __bluetooth_builtin_$i;" -done - -echo -echo "static struct bluetooth_plugin_desc *__bluetooth_builtin[] = {" - -for i in $* -do - echo " &__bluetooth_builtin_$i," -done - -echo " NULL" -echo "};" diff --git a/GRIB_BLE_HUB/libs/ble_extend/src/glib-helper.c b/GRIB_BLE_HUB/libs/ble_extend/src/glib-helper.c deleted file mode 100644 index a9a9a6e..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/src/glib-helper.c +++ /dev/null @@ -1,238 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2004-2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include - -#include -#include -#include - -#include - -#include "glib-helper.h" - -char *bt_modalias(uint16_t source, uint16_t vendor, - uint16_t product, uint16_t version) -{ - switch (source) { - case 0x0001: - return g_strdup_printf("%s:v%04Xp%04Xd%04X", - "bluetooth", vendor, product, version); - case 0x0002: - return g_strdup_printf("%s:v%04Xp%04Xd%04X", - "usb", vendor, product, version); - } - - return NULL; -} - -char *bt_uuid2string(uuid_t *uuid) -{ - char *str; - uuid_t uuid128; - unsigned int data0; - unsigned short data1; - unsigned short data2; - unsigned short data3; - unsigned int data4; - unsigned short data5; - - if (!uuid) - return NULL; - - switch (uuid->type) { - case SDP_UUID16: - sdp_uuid16_to_uuid128(&uuid128, uuid); - break; - case SDP_UUID32: - sdp_uuid32_to_uuid128(&uuid128, uuid); - break; - case SDP_UUID128: - memcpy(&uuid128, uuid, sizeof(uuid_t)); - break; - default: - /* Type of UUID unknown */ - return NULL; - } - - memcpy(&data0, &uuid128.value.uuid128.data[0], 4); - memcpy(&data1, &uuid128.value.uuid128.data[4], 2); - memcpy(&data2, &uuid128.value.uuid128.data[6], 2); - memcpy(&data3, &uuid128.value.uuid128.data[8], 2); - memcpy(&data4, &uuid128.value.uuid128.data[10], 4); - memcpy(&data5, &uuid128.value.uuid128.data[14], 2); - - str = g_try_malloc0(MAX_LEN_UUID_STR); - if (!str) - return NULL; - - sprintf(str, "%.8x-%.4x-%.4x-%.4x-%.8x%.4x", - g_ntohl(data0), g_ntohs(data1), - g_ntohs(data2), g_ntohs(data3), - g_ntohl(data4), g_ntohs(data5)); - - return str; -} - -static struct { - const char *name; - uint16_t class; -} bt_services[] = { - { "vcp", VIDEO_CONF_SVCLASS_ID }, - { "pbap", PBAP_SVCLASS_ID }, - { "sap", SAP_SVCLASS_ID }, - { "ftp", OBEX_FILETRANS_SVCLASS_ID }, - { "bpp", BASIC_PRINTING_SVCLASS_ID }, - { "bip", IMAGING_SVCLASS_ID }, - { "synch", IRMC_SYNC_SVCLASS_ID }, - { "dun", DIALUP_NET_SVCLASS_ID }, - { "opp", OBEX_OBJPUSH_SVCLASS_ID }, - { "fax", FAX_SVCLASS_ID }, - { "spp", SERIAL_PORT_SVCLASS_ID }, - { "hsp", HEADSET_SVCLASS_ID }, - { "hsp-hs", HEADSET_SVCLASS_ID }, - { "hsp-ag", HEADSET_AGW_SVCLASS_ID }, - { "hfp", HANDSFREE_SVCLASS_ID }, - { "hfp-hf", HANDSFREE_SVCLASS_ID }, - { "hfp-ag", HANDSFREE_AGW_SVCLASS_ID }, - { "pbap-pce", PBAP_PCE_SVCLASS_ID }, - { "pbap-pse", PBAP_PSE_SVCLASS_ID }, - { "map-mse", MAP_MSE_SVCLASS_ID }, - { "map-mas", MAP_MSE_SVCLASS_ID }, - { "map-mce", MAP_MCE_SVCLASS_ID }, - { "map-mns", MAP_MCE_SVCLASS_ID }, - { "gnss", GNSS_SERVER_SVCLASS_ID }, - { } -}; - -static uint16_t name2class(const char *pattern) -{ - int i; - - for (i = 0; bt_services[i].name; i++) { - if (strcasecmp(bt_services[i].name, pattern) == 0) - return bt_services[i].class; - } - - return 0; -} - -static inline gboolean is_uuid128(const char *string) -{ - return (strlen(string) == 36 && - string[8] == '-' && - string[13] == '-' && - string[18] == '-' && - string[23] == '-'); -} - -static int string2uuid16(uuid_t *uuid, const char *string) -{ - int length = strlen(string); - char *endptr = NULL; - uint16_t u16; - - if (length != 4 && length != 6) - return -EINVAL; - - u16 = strtol(string, &endptr, 16); - if (endptr && *endptr == '\0') { - sdp_uuid16_create(uuid, u16); - return 0; - } - - return -EINVAL; -} - -char *bt_name2string(const char *pattern) -{ - uuid_t uuid; - uint16_t uuid16; - int i; - - /* UUID 128 string format */ - if (is_uuid128(pattern)) - return g_strdup(pattern); - - /* Friendly service name format */ - uuid16 = name2class(pattern); - if (uuid16) - goto proceed; - - /* HEX format */ - uuid16 = strtol(pattern, NULL, 16); - for (i = 0; bt_services[i].class; i++) { - if (bt_services[i].class == uuid16) - goto proceed; - } - - return NULL; - -proceed: - sdp_uuid16_create(&uuid, uuid16); - - return bt_uuid2string(&uuid); -} - -int bt_string2uuid(uuid_t *uuid, const char *string) -{ - uint32_t data0, data4; - uint16_t data1, data2, data3, data5; - - if (is_uuid128(string) && - sscanf(string, "%08x-%04hx-%04hx-%04hx-%08x%04hx", - &data0, &data1, &data2, &data3, &data4, &data5) == 6) { - uint8_t val[16]; - - data0 = g_htonl(data0); - data1 = g_htons(data1); - data2 = g_htons(data2); - data3 = g_htons(data3); - data4 = g_htonl(data4); - data5 = g_htons(data5); - - memcpy(&val[0], &data0, 4); - memcpy(&val[4], &data1, 2); - memcpy(&val[6], &data2, 2); - memcpy(&val[8], &data3, 2); - memcpy(&val[10], &data4, 4); - memcpy(&val[14], &data5, 2); - - sdp_uuid128_create(uuid, val); - - return 0; - } else { - uint16_t class = name2class(string); - if (class) { - sdp_uuid16_create(uuid, class); - return 0; - } - - return string2uuid16(uuid, string); - } -} diff --git a/GRIB_BLE_HUB/libs/ble_extend/src/glib-helper.h b/GRIB_BLE_HUB/libs/ble_extend/src/glib-helper.h deleted file mode 100644 index c0d7f9e..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/src/glib-helper.h +++ /dev/null @@ -1,28 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2004-2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -char *bt_modalias(uint16_t source, uint16_t vendor, - uint16_t product, uint16_t version); -char *bt_uuid2string(uuid_t *uuid); -char *bt_name2string(const char *string); -int bt_string2uuid(uuid_t *uuid, const char *string); diff --git a/GRIB_BLE_HUB/libs/ble_extend/src/hcid.h b/GRIB_BLE_HUB/libs/ble_extend/src/hcid.h deleted file mode 100644 index ea67cc2..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/src/hcid.h +++ /dev/null @@ -1,50 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2000-2001 Qualcomm Incorporated - * Copyright (C) 2002-2003 Maxim Krasnyansky - * Copyright (C) 2002-2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -struct main_opts { - char *name; - uint32_t class; - uint16_t autoto; - uint32_t pairto; - uint32_t discovto; - gboolean reverse_sdp; - gboolean name_resolv; - gboolean debug_keys; - - uint16_t did_source; - uint16_t did_vendor; - uint16_t did_product; - uint16_t did_version; -}; - -extern struct main_opts main_opts; - -gboolean plugin_init(const char *enable, const char *disable); -void plugin_cleanup(void); - -void rfkill_init(void); -void rfkill_exit(void); - -void btd_exit(void); diff --git a/GRIB_BLE_HUB/libs/ble_extend/src/log.c b/GRIB_BLE_HUB/libs/ble_extend/src/log.c deleted file mode 100644 index 75a98a9..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/src/log.c +++ /dev/null @@ -1,144 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2004-2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include -#include - -#include - -#include "log.h" - -void info(const char *format, ...) -{ - va_list ap; - - va_start(ap, format); - - vsyslog(LOG_INFO, format, ap); - - va_end(ap); -} - -void warn(const char *format, ...) -{ - va_list ap; - - va_start(ap, format); - - vsyslog(LOG_WARNING, format, ap); - - va_end(ap); -} - -void error(const char *format, ...) -{ - va_list ap; - - va_start(ap, format); - - vsyslog(LOG_ERR, format, ap); - - va_end(ap); -} - -void btd_debug(const char *format, ...) -{ - va_list ap; - - va_start(ap, format); - - vsyslog(LOG_DEBUG, format, ap); - - va_end(ap); -} - -extern struct btd_debug_desc __start___debug[]; -extern struct btd_debug_desc __stop___debug[]; - -static gchar **enabled = NULL; - -static gboolean is_enabled(struct btd_debug_desc *desc) -{ - int i; - - if (enabled == NULL) - return 0; - - for (i = 0; enabled[i] != NULL; i++) - if (desc->file != NULL && g_pattern_match_simple(enabled[i], - desc->file) == TRUE) - return 1; - - return 0; -} - -void __btd_enable_debug(struct btd_debug_desc *start, - struct btd_debug_desc *stop) -{ - struct btd_debug_desc *desc; - - if (start == NULL || stop == NULL) - return; - - for (desc = start; desc < stop; desc++) { - if (is_enabled(desc)) - desc->flags |= BTD_DEBUG_FLAG_PRINT; - } -} - -void __btd_toggle_debug(void) -{ - struct btd_debug_desc *desc; - - for (desc = __start___debug; desc < __stop___debug; desc++) - desc->flags |= BTD_DEBUG_FLAG_PRINT; -} - -void __btd_log_init(const char *debug, int detach) -{ - int option = LOG_NDELAY | LOG_PID; - - if (debug != NULL) - enabled = g_strsplit_set(debug, ":, ", 0); - - __btd_enable_debug(__start___debug, __stop___debug); - - if (!detach) - option |= LOG_PERROR; - - openlog("bluetoothd", option, LOG_DAEMON); - - syslog(LOG_INFO, "Bluetooth daemon %s", VERSION); -} - -void __btd_log_cleanup(void) -{ - closelog(); - - g_strfreev(enabled); -} diff --git a/GRIB_BLE_HUB/libs/ble_extend/src/log.h b/GRIB_BLE_HUB/libs/ble_extend/src/log.h deleted file mode 100644 index 3d34fa3..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/src/log.h +++ /dev/null @@ -1,59 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2004-2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -void info(const char *format, ...) __attribute__((format(printf, 1, 2))); -void warn(const char *format, ...) __attribute__((format(printf, 1, 2))); -void error(const char *format, ...) __attribute__((format(printf, 1, 2))); - -void btd_debug(const char *format, ...) __attribute__((format(printf, 1, 2))); - -void __btd_log_init(const char *debug, int detach); -void __btd_log_cleanup(void); -void __btd_toggle_debug(void); - -struct btd_debug_desc { - const char *file; -#define BTD_DEBUG_FLAG_DEFAULT (0) -#define BTD_DEBUG_FLAG_PRINT (1 << 0) - unsigned int flags; -} __attribute__((aligned(8))); - -void __btd_enable_debug(struct btd_debug_desc *start, - struct btd_debug_desc *stop); - -/** - * DBG: - * @fmt: format string - * @arg...: list of arguments - * - * Simple macro around btd_debug() which also include the function - * name it is called in. - */ -#define DBG(fmt, arg...) do { \ - static struct btd_debug_desc __btd_debug_desc \ - __attribute__((used, section("__debug"), aligned(8))) = { \ - .file = __FILE__, .flags = BTD_DEBUG_FLAG_DEFAULT, \ - }; \ - if (__btd_debug_desc.flags & BTD_DEBUG_FLAG_PRINT) \ - btd_debug("%s:%s() " fmt, __FILE__, __FUNCTION__ , ## arg); \ -} while (0) diff --git a/GRIB_BLE_HUB/libs/ble_extend/src/main.c b/GRIB_BLE_HUB/libs/ble_extend/src/main.c deleted file mode 100644 index 1e40ebc..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/src/main.c +++ /dev/null @@ -1,616 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2000-2001 Qualcomm Incorporated - * Copyright (C) 2002-2003 Maxim Krasnyansky - * Copyright (C) 2002-2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include - -#include - -#include - -#include - -#include "log.h" - -#include "lib/uuid.h" -#include "hcid.h" -#include "sdpd.h" -#include "adapter.h" -#include "device.h" -#include "dbus-common.h" -#include "agent.h" -#include "profile.h" -#include "systemd.h" - -#define BLUEZ_NAME "org.bluez" - -#define DEFAULT_PAIRABLE_TIMEOUT 0 /* disabled */ -#define DEFAULT_DISCOVERABLE_TIMEOUT 180 /* 3 minutes */ - -#define SHUTDOWN_GRACE_SECONDS 10 - -struct main_opts main_opts; - -static const char * const supported_options[] = { - "Name", - "Class", - "DiscoverableTimeout", - "PairableTimeout", - "AutoConnectTimeout", - "DeviceID", - "ReverseServiceDiscovery", - "NameResolving", - "DebugKeys", -}; - -static GKeyFile *load_config(const char *file) -{ - GError *err = NULL; - GKeyFile *keyfile; - - keyfile = g_key_file_new(); - - g_key_file_set_list_separator(keyfile, ','); - - if (!g_key_file_load_from_file(keyfile, file, 0, &err)) { - if (!g_error_matches(err, G_FILE_ERROR, G_FILE_ERROR_NOENT)) - error("Parsing %s failed: %s", file, err->message); - g_error_free(err); - g_key_file_free(keyfile); - return NULL; - } - - return keyfile; -} - -static void parse_did(const char *did) -{ - int result; - uint16_t vendor, product, version , source; - - /* version and source are optional */ - version = 0x0000; - source = 0x0002; - - result = sscanf(did, "bluetooth:%4hx:%4hx:%4hx", - &vendor, &product, &version); - if (result != EOF && result >= 2) { - source = 0x0001; - goto done; - } - - result = sscanf(did, "usb:%4hx:%4hx:%4hx", - &vendor, &product, &version); - if (result != EOF && result >= 2) - goto done; - - result = sscanf(did, "%4hx:%4hx:%4hx", &vendor, &product, &version); - if (result == EOF || result < 2) - return; - -done: - main_opts.did_source = source; - main_opts.did_vendor = vendor; - main_opts.did_product = product; - main_opts.did_version = version; -} - -static void check_config(GKeyFile *config) -{ - char **keys; - int i; - - if (!config) - return; - - keys = g_key_file_get_groups(config, NULL); - - for (i = 0; keys != NULL && keys[i] != NULL; i++) { - if (!g_str_equal(keys[i], "General")) - warn("Unknown group %s in main.conf", keys[i]); - } - - g_strfreev(keys); - - keys = g_key_file_get_keys(config, "General", NULL, NULL); - - for (i = 0; keys != NULL && keys[i] != NULL; i++) { - bool found; - unsigned int j; - - found = false; - for (j = 0; j < G_N_ELEMENTS(supported_options); j++) { - if (g_str_equal(keys[i], supported_options[j])) { - found = true; - break; - } - } - - if (!found) - warn("Unknown key %s in main.conf", keys[i]); - } - - g_strfreev(keys); -} - -static void parse_config(GKeyFile *config) -{ - GError *err = NULL; - char *str; - int val; - gboolean boolean; - - if (!config) - return; - - check_config(config); - - DBG("parsing main.conf"); - - val = g_key_file_get_integer(config, "General", - "DiscoverableTimeout", &err); - if (err) { - DBG("%s", err->message); - g_clear_error(&err); - } else { - DBG("discovto=%d", val); - main_opts.discovto = val; - } - - val = g_key_file_get_integer(config, "General", - "PairableTimeout", &err); - if (err) { - DBG("%s", err->message); - g_clear_error(&err); - } else { - DBG("pairto=%d", val); - main_opts.pairto = val; - } - - val = g_key_file_get_integer(config, "General", "AutoConnectTimeout", - &err); - if (err) { - DBG("%s", err->message); - g_clear_error(&err); - } else { - DBG("auto_to=%d", val); - main_opts.autoto = val; - } - - str = g_key_file_get_string(config, "General", "Name", &err); - if (err) { - DBG("%s", err->message); - g_clear_error(&err); - } else { - DBG("name=%s", str); - g_free(main_opts.name); - main_opts.name = str; - } - - str = g_key_file_get_string(config, "General", "Class", &err); - if (err) { - DBG("%s", err->message); - g_clear_error(&err); - } else { - DBG("class=%s", str); - main_opts.class = strtol(str, NULL, 16); - g_free(str); - } - - str = g_key_file_get_string(config, "General", "DeviceID", &err); - if (err) { - DBG("%s", err->message); - g_clear_error(&err); - } else { - DBG("deviceid=%s", str); - parse_did(str); - g_free(str); - } - - boolean = g_key_file_get_boolean(config, "General", - "ReverseServiceDiscovery", &err); - if (err) { - DBG("%s", err->message); - g_clear_error(&err); - } else - main_opts.reverse_sdp = boolean; - - boolean = g_key_file_get_boolean(config, "General", - "NameResolving", &err); - if (err) - g_clear_error(&err); - else - main_opts.name_resolv = boolean; - - boolean = g_key_file_get_boolean(config, "General", - "DebugKeys", &err); - if (err) - g_clear_error(&err); - else - main_opts.debug_keys = boolean; -} - -static void init_defaults(void) -{ - uint8_t major, minor; - - /* Default HCId settings */ - memset(&main_opts, 0, sizeof(main_opts)); - main_opts.name = g_strdup_printf("BlueZ %s", VERSION); - main_opts.class = 0x000000; - main_opts.pairto = DEFAULT_PAIRABLE_TIMEOUT; - main_opts.discovto = DEFAULT_DISCOVERABLE_TIMEOUT; - main_opts.reverse_sdp = TRUE; - main_opts.name_resolv = TRUE; - main_opts.debug_keys = FALSE; - - if (sscanf(VERSION, "%hhu.%hhu", &major, &minor) != 2) - return; - - main_opts.did_source = 0x0002; /* USB */ - main_opts.did_vendor = 0x1d6b; /* Linux Foundation */ - main_opts.did_product = 0x0246; /* BlueZ */ - main_opts.did_version = (major << 8 | minor); -} - -static GMainLoop *event_loop; - -void btd_exit(void) -{ - g_main_loop_quit(event_loop); -} - -static gboolean quit_eventloop(gpointer user_data) -{ - btd_exit(); - return FALSE; -} - -static gboolean signal_handler(GIOChannel *channel, GIOCondition cond, - gpointer user_data) -{ - static unsigned int __terminated = 0; - struct signalfd_siginfo si; - ssize_t result; - int fd; - - if (cond & (G_IO_NVAL | G_IO_ERR | G_IO_HUP)) - return FALSE; - - fd = g_io_channel_unix_get_fd(channel); - - result = read(fd, &si, sizeof(si)); - if (result != sizeof(si)) - return FALSE; - - switch (si.ssi_signo) { - case SIGINT: - case SIGTERM: - if (__terminated == 0) { - info("Terminating"); - g_timeout_add_seconds(SHUTDOWN_GRACE_SECONDS, - quit_eventloop, NULL); - - sd_notify(0, "STATUS=Powering down"); - adapter_shutdown(); - } - - __terminated = 1; - break; - case SIGUSR2: - __btd_toggle_debug(); - break; - } - - return TRUE; -} - -static guint setup_signalfd(void) -{ - GIOChannel *channel; - guint source; - sigset_t mask; - int fd; - - sigemptyset(&mask); - sigaddset(&mask, SIGINT); - sigaddset(&mask, SIGTERM); - sigaddset(&mask, SIGUSR2); - - if (sigprocmask(SIG_BLOCK, &mask, NULL) < 0) { - perror("Failed to set signal mask"); - return 0; - } - - fd = signalfd(-1, &mask, 0); - if (fd < 0) { - perror("Failed to create signal descriptor"); - return 0; - } - - channel = g_io_channel_unix_new(fd); - - g_io_channel_set_close_on_unref(channel, TRUE); - g_io_channel_set_encoding(channel, NULL, NULL); - g_io_channel_set_buffered(channel, FALSE); - - source = g_io_add_watch(channel, - G_IO_IN | G_IO_HUP | G_IO_ERR | G_IO_NVAL, - signal_handler, NULL); - - g_io_channel_unref(channel); - - return source; -} - -static gchar *option_debug = NULL; -static gchar *option_plugin = NULL; -static gchar *option_noplugin = NULL; -static gboolean option_compat = FALSE; -static gboolean option_detach = TRUE; -static gboolean option_version = FALSE; -static gboolean option_experimental = FALSE; - -static void free_options(void) -{ - g_free(option_debug); - option_debug = NULL; - - g_free(option_plugin); - option_plugin = NULL; - - g_free(option_noplugin); - option_noplugin = NULL; -} - -static void disconnect_dbus(void) -{ - DBusConnection *conn = btd_get_dbus_connection(); - - if (!conn || !dbus_connection_get_is_connected(conn)) - return; - - g_dbus_detach_object_manager(conn); - set_dbus_connection(NULL); - - dbus_connection_unref(conn); -} - -static void disconnected_dbus(DBusConnection *conn, void *data) -{ - info("Disconnected from D-Bus. Exiting."); - g_main_loop_quit(event_loop); -} - -static int connect_dbus(void) -{ - DBusConnection *conn; - DBusError err; - - dbus_error_init(&err); - - conn = g_dbus_setup_bus(DBUS_BUS_SYSTEM, BLUEZ_NAME, &err); - if (!conn) { - if (dbus_error_is_set(&err)) { - g_printerr("D-Bus setup failed: %s\n", err.message); - dbus_error_free(&err); - return -EIO; - } - return -EALREADY; - } - - set_dbus_connection(conn); - - g_dbus_set_disconnect_function(conn, disconnected_dbus, NULL, NULL); - g_dbus_attach_object_manager(conn); - - return 0; -} - -static gboolean watchdog_callback(gpointer user_data) -{ - sd_notify(0, "WATCHDOG=1"); - - return TRUE; -} - -static gboolean parse_debug(const char *key, const char *value, - gpointer user_data, GError **error) -{ - if (value) - option_debug = g_strdup(value); - else - option_debug = g_strdup("*"); - - return TRUE; -} - -static GOptionEntry options[] = { - { "debug", 'd', G_OPTION_FLAG_OPTIONAL_ARG, - G_OPTION_ARG_CALLBACK, parse_debug, - "Specify debug options to enable", "DEBUG" }, - { "plugin", 'p', 0, G_OPTION_ARG_STRING, &option_plugin, - "Specify plugins to load", "NAME,..," }, - { "noplugin", 'P', 0, G_OPTION_ARG_STRING, &option_noplugin, - "Specify plugins not to load", "NAME,..." }, - { "compat", 'C', 0, G_OPTION_ARG_NONE, &option_compat, - "Provide deprecated command line interfaces" }, - { "experimental", 'E', 0, G_OPTION_ARG_NONE, &option_experimental, - "Enable experimental interfaces" }, - { "nodetach", 'n', G_OPTION_FLAG_REVERSE, - G_OPTION_ARG_NONE, &option_detach, - "Run with logging in foreground" }, - { "version", 'v', 0, G_OPTION_ARG_NONE, &option_version, - "Show version information and exit" }, - { NULL }, -}; - -int main(int argc, char *argv[]) -{ - GOptionContext *context; - GError *err = NULL; - uint16_t sdp_mtu = 0; - uint32_t sdp_flags = 0; - int gdbus_flags = 0; - GKeyFile *config; - guint signal, watchdog; - const char *watchdog_usec; - - init_defaults(); - - context = g_option_context_new(NULL); - g_option_context_add_main_entries(context, options, NULL); - - if (g_option_context_parse(context, &argc, &argv, &err) == FALSE) { - if (err != NULL) { - g_printerr("%s\n", err->message); - g_error_free(err); - } else - g_printerr("An unknown error occurred\n"); - exit(1); - } - - g_option_context_free(context); - - if (option_version == TRUE) { - printf("%s\n", VERSION); - exit(0); - } - - umask(0077); - - event_loop = g_main_loop_new(NULL, FALSE); - - signal = setup_signalfd(); - - __btd_log_init(option_debug, option_detach); - - sd_notify(0, "STATUS=Starting up"); - - config = load_config(CONFIGDIR "/main.conf"); - - parse_config(config); - - if (connect_dbus() < 0) { - error("Unable to get on D-Bus"); - exit(1); - } - - if (adapter_init() < 0) { - error("Adapter handling initialization failed"); - exit(1); - } - - btd_device_init(); - btd_agent_init(); - btd_profile_init(); - - if (option_experimental) - gdbus_flags = G_DBUS_FLAG_ENABLE_EXPERIMENTAL; - - g_dbus_set_flags(gdbus_flags); - - if (option_compat == TRUE) - sdp_flags |= SDP_SERVER_COMPAT; - - start_sdp_server(sdp_mtu, sdp_flags); - - /* Loading plugins has to be done after D-Bus has been setup since - * the plugins might wanna expose some paths on the bus. However the - * best order of how to init various subsystems of the Bluetooth - * daemon needs to be re-worked. */ - plugin_init(option_plugin, option_noplugin); - - /* no need to keep parsed option in memory */ - free_options(); - - rfkill_init(); - - DBG("Entering main loop"); - - sd_notify(0, "STATUS=Running"); - sd_notify(0, "READY=1"); - - watchdog_usec = getenv("WATCHDOG_USEC"); - if (watchdog_usec) { - unsigned int seconds; - - seconds = atoi(watchdog_usec) / (1000 * 1000); - info("Watchdog timeout is %d seconds", seconds); - - watchdog = g_timeout_add_seconds_full(G_PRIORITY_HIGH, - seconds / 2, - watchdog_callback, - NULL, NULL); - } else - watchdog = 0; - - g_main_loop_run(event_loop); - - sd_notify(0, "STATUS=Quitting"); - - g_source_remove(signal); - - plugin_cleanup(); - - btd_profile_cleanup(); - btd_agent_cleanup(); - btd_device_cleanup(); - - adapter_cleanup(); - - rfkill_exit(); - - stop_sdp_server(); - - g_main_loop_unref(event_loop); - - if (config) - g_key_file_free(config); - - disconnect_dbus(); - - info("Exit"); - - if (watchdog > 0) - g_source_remove(watchdog); - - __btd_log_cleanup(); - - return 0; -} diff --git a/GRIB_BLE_HUB/libs/ble_extend/src/main.conf b/GRIB_BLE_HUB/libs/ble_extend/src/main.conf deleted file mode 100644 index a94274a..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/src/main.conf +++ /dev/null @@ -1,48 +0,0 @@ -[General] - -# Default adaper name -# %h - substituted for hostname -# %d - substituted for adapter id -# Defaults to 'BlueZ' -#Name = %h-%d - -# Default device class. Only the major and minor device class bits are -# considered. Defaults to '0x000000'. -#Class = 0x000100 - -# How long to stay in discoverable mode before going back to non-discoverable -# The value is in seconds. Default is 180, i.e. 3 minutes. -# 0 = disable timer, i.e. stay discoverable forever -#DiscoverableTimeout = 0 - -# How long to stay in pairable mode before going back to non-discoverable -# The value is in seconds. Default is 0. -# 0 = disable timer, i.e. stay pairable forever -#PairableTimeout = 0 - -# Automatic connection for bonded devices driven by platform/user events. -# If a platform plugin uses this mechanism, automatic connections will be -# enabled during the interval defined below. Initially, this feature -# intends to be used to establish connections to ATT channels. Default is 60. -#AutoConnectTimeout = 60 - -# Use vendor id source (assigner), vendor, product and version information for -# DID profile support. The values are separated by ":" and assigner, VID, PID -# and version. -# Possible vendor id source values: bluetooth, usb (defaults to usb) -#DeviceID = bluetooth:1234:5678:abcd - -# Do reverse service discovery for previously unknown devices that connect to -# us. This option is really only needed for qualification since the BITE tester -# doesn't like us doing reverse SDP for some test cases (though there could in -# theory be other useful purposes for this too). Defaults to 'true'. -#ReverseServiceDiscovery = true - -# Enable name resolving after inquiry. Set it to 'false' if you don't need -# remote devices name and want shorter discovery cycle. Defaults to 'true'. -#NameResolving = true - -# Enable runtime persistency of debug link keys. Default is false which -# makes debug link keys valid only for the duration of the connection -# that they were created for. -#DebugKeys = false diff --git a/GRIB_BLE_HUB/libs/ble_extend/src/org.bluez.service b/GRIB_BLE_HUB/libs/ble_extend/src/org.bluez.service deleted file mode 100644 index dd7ae8f..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/src/org.bluez.service +++ /dev/null @@ -1,5 +0,0 @@ -[D-BUS Service] -Name=org.bluez -Exec=/bin/false -User=root -SystemdService=dbus-org.bluez.service diff --git a/GRIB_BLE_HUB/libs/ble_extend/src/oui.c b/GRIB_BLE_HUB/libs/ble_extend/src/oui.c deleted file mode 100644 index a1193ac..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/src/oui.c +++ /dev/null @@ -1,139 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2004-2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include "oui.h" - -#ifdef HAVE_UDEV_HWDB_NEW -#include - -char *batocomp(const bdaddr_t *ba) -{ - struct udev *udev; - struct udev_hwdb *hwdb; - struct udev_list_entry *head, *entry; - char modalias[11], *comp = NULL; - - sprintf(modalias, "OUI:%2.2X%2.2X%2.2X", ba->b[5], ba->b[4], ba->b[3]); - - udev = udev_new(); - if (!udev) - return NULL; - - hwdb = udev_hwdb_new(udev); - if (!hwdb) - goto done; - - head = udev_hwdb_get_properties_list_entry(hwdb, modalias, 0); - - udev_list_entry_foreach(entry, head) { - const char *name = udev_list_entry_get_name(entry); - - if (name && !strcmp(name, "ID_OUI_FROM_DATABASE")) { - comp = strdup(udev_list_entry_get_value(entry)); - break; - } - } - - hwdb = udev_hwdb_unref(hwdb); - -done: - udev = udev_unref(udev); - - return comp; -} -#else -#include -#include -#include -#include -#include -#include -#include -#include - -/* http://standards.ieee.org/regauth/oui/oui.txt */ - -#ifndef OUIFILE -#define OUIFILE "/usr/share/hwdata/oui.txt" -#endif - -static char *ouitocomp(const char *oui) -{ - struct stat st; - char *str, *map, *off, *end; - int fd; - - fd = open(OUIFILE, O_RDONLY); - if (fd < 0) - return NULL; - - if (fstat(fd, &st) < 0) { - close(fd); - return NULL; - } - - str = malloc(128); - if (!str) { - close(fd); - return NULL; - } - - memset(str, 0, 128); - - map = mmap(0, st.st_size, PROT_READ, MAP_SHARED, fd, 0); - if (!map || map == MAP_FAILED) { - free(str); - close(fd); - return NULL; - } - - off = strstr(map, oui); - if (off) { - off += 18; - end = strpbrk(off, "\r\n"); - strncpy(str, off, end - off); - } else { - free(str); - str = NULL; - } - - munmap(map, st.st_size); - - close(fd); - - return str; -} - -char *batocomp(const bdaddr_t *ba) -{ - char oui[9]; - - sprintf(oui, "%2.2X-%2.2X-%2.2X", ba->b[5], ba->b[4], ba->b[3]); - - return ouitocomp(oui); -} -#endif diff --git a/GRIB_BLE_HUB/libs/ble_extend/src/oui.h b/GRIB_BLE_HUB/libs/ble_extend/src/oui.h deleted file mode 100644 index abd0386..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/src/oui.h +++ /dev/null @@ -1,26 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2004-2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#include - -char *batocomp(const bdaddr_t *ba); diff --git a/GRIB_BLE_HUB/libs/ble_extend/src/plugin.c b/GRIB_BLE_HUB/libs/ble_extend/src/plugin.c deleted file mode 100644 index f231f34..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/src/plugin.c +++ /dev/null @@ -1,232 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2004-2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include -#include -#include - -#include - -#include -#include - -#include "plugin.h" -#include "log.h" -#include "hcid.h" - -static GSList *plugins = NULL; - -struct bluetooth_plugin { - void *handle; - gboolean active; - struct bluetooth_plugin_desc *desc; -}; - -static gint compare_priority(gconstpointer a, gconstpointer b) -{ - const struct bluetooth_plugin *plugin1 = a; - const struct bluetooth_plugin *plugin2 = b; - - return plugin2->desc->priority - plugin1->desc->priority; -} - -static gboolean add_plugin(void *handle, struct bluetooth_plugin_desc *desc) -{ - struct bluetooth_plugin *plugin; - - if (desc->init == NULL) - return FALSE; - - if (g_str_equal(desc->version, VERSION) == FALSE) { - error("Version mismatch for %s", desc->name); - return FALSE; - } - - DBG("Loading %s plugin", desc->name); - - plugin = g_try_new0(struct bluetooth_plugin, 1); - if (plugin == NULL) - return FALSE; - - plugin->handle = handle; - plugin->active = FALSE; - plugin->desc = desc; - - __btd_enable_debug(desc->debug_start, desc->debug_stop); - - plugins = g_slist_insert_sorted(plugins, plugin, compare_priority); - - return TRUE; -} - -static gboolean enable_plugin(const char *name, char **cli_enable, - char **cli_disable) -{ - if (cli_disable) { - for (; *cli_disable; cli_disable++) - if (g_pattern_match_simple(*cli_disable, name)) - break; - if (*cli_disable) { - info("Excluding (cli) %s", name); - return FALSE; - } - } - - if (cli_enable) { - for (; *cli_enable; cli_enable++) - if (g_pattern_match_simple(*cli_enable, name)) - break; - if (!*cli_enable) { - info("Ignoring (cli) %s", name); - return FALSE; - } - } - - return TRUE; -} - -#include "builtin.h" - -gboolean plugin_init(const char *enable, const char *disable) -{ - GSList *list; - GDir *dir; - const gchar *file; - char **cli_disabled, **cli_enabled; - unsigned int i; - - /* Make a call to BtIO API so its symbols got resolved before the - * plugins are loaded. */ - bt_io_error_quark(); - - if (enable) - cli_enabled = g_strsplit_set(enable, ", ", -1); - else - cli_enabled = NULL; - - if (disable) - cli_disabled = g_strsplit_set(disable, ", ", -1); - else - cli_disabled = NULL; - - DBG("Loading builtin plugins"); - - for (i = 0; __bluetooth_builtin[i]; i++) { - if (!enable_plugin(__bluetooth_builtin[i]->name, cli_enabled, - cli_disabled)) - continue; - - add_plugin(NULL, __bluetooth_builtin[i]); - } - - if (strlen(PLUGINDIR) == 0) - goto start; - - DBG("Loading plugins %s", PLUGINDIR); - - dir = g_dir_open(PLUGINDIR, 0, NULL); - if (!dir) - goto start; - - while ((file = g_dir_read_name(dir)) != NULL) { - struct bluetooth_plugin_desc *desc; - void *handle; - gchar *filename; - - if (g_str_has_prefix(file, "lib") == TRUE || - g_str_has_suffix(file, ".so") == FALSE) - continue; - - filename = g_build_filename(PLUGINDIR, file, NULL); - - handle = dlopen(filename, RTLD_NOW); - if (handle == NULL) { - error("Can't load plugin %s: %s", filename, - dlerror()); - g_free(filename); - continue; - } - - g_free(filename); - - desc = dlsym(handle, "bluetooth_plugin_desc"); - if (desc == NULL) { - error("Can't load plugin description: %s", dlerror()); - dlclose(handle); - continue; - } - - if (!enable_plugin(desc->name, cli_enabled, cli_disabled)) { - dlclose(handle); - continue; - } - - if (add_plugin(handle, desc) == FALSE) - dlclose(handle); - } - - g_dir_close(dir); - -start: - for (list = plugins; list; list = list->next) { - struct bluetooth_plugin *plugin = list->data; - - if (plugin->desc->init() < 0) { - error("Failed to init %s plugin", plugin->desc->name); - continue; - } - - plugin->active = TRUE; - } - - g_strfreev(cli_enabled); - g_strfreev(cli_disabled); - - return TRUE; -} - -void plugin_cleanup(void) -{ - GSList *list; - - DBG("Cleanup plugins"); - - for (list = plugins; list; list = list->next) { - struct bluetooth_plugin *plugin = list->data; - - if (plugin->active == TRUE && plugin->desc->exit) - plugin->desc->exit(); - - if (plugin->handle != NULL) - dlclose(plugin->handle); - - g_free(plugin); - } - - g_slist_free(plugins); -} diff --git a/GRIB_BLE_HUB/libs/ble_extend/src/plugin.h b/GRIB_BLE_HUB/libs/ble_extend/src/plugin.h deleted file mode 100644 index 89c7b85..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/src/plugin.h +++ /dev/null @@ -1,54 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2004-2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ -#define BLUETOOTH_PLUGIN_PRIORITY_LOW -100 -#define BLUETOOTH_PLUGIN_PRIORITY_DEFAULT 0 -#define BLUETOOTH_PLUGIN_PRIORITY_HIGH 100 - -struct bluetooth_plugin_desc { - const char *name; - const char *version; - int priority; - int (*init) (void); - void (*exit) (void); - void *debug_start; - void *debug_stop; -}; - -#ifdef BLUETOOTH_PLUGIN_BUILTIN -#define BLUETOOTH_PLUGIN_DEFINE(name, version, priority, init, exit) \ - struct bluetooth_plugin_desc __bluetooth_builtin_ ## name = { \ - #name, version, priority, init, exit \ - }; -#else -#define BLUETOOTH_PLUGIN_DEFINE(name, version, priority, init, exit) \ - extern struct btd_debug_desc __start___debug[] \ - __attribute__ ((weak, visibility("hidden"))); \ - extern struct btd_debug_desc __stop___debug[] \ - __attribute__ ((weak, visibility("hidden"))); \ - extern struct bluetooth_plugin_desc bluetooth_plugin_desc \ - __attribute__ ((visibility("default"))); \ - struct bluetooth_plugin_desc bluetooth_plugin_desc = { \ - #name, version, priority, init, exit, \ - __start___debug, __stop___debug \ - }; -#endif diff --git a/GRIB_BLE_HUB/libs/ble_extend/src/profile.c b/GRIB_BLE_HUB/libs/ble_extend/src/profile.c deleted file mode 100644 index 55e72dd..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/src/profile.c +++ /dev/null @@ -1,2423 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2012 Intel Corporation. All rights reserved. - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include -#include -#include - -#include -#include -#include - -#include -#include -#include - -#include "btio/btio.h" -#include "lib/uuid.h" -#include "sdpd.h" -#include "log.h" -#include "error.h" -#include "glib-helper.h" -#include "dbus-common.h" -#include "sdp-client.h" -#include "sdp-xml.h" -#include "adapter.h" -#include "device.h" -#include "profile.h" - -#define DUN_DEFAULT_CHANNEL 1 -#define SPP_DEFAULT_CHANNEL 3 -#define HFP_HF_DEFAULT_CHANNEL 7 -#define OPP_DEFAULT_CHANNEL 9 -#define FTP_DEFAULT_CHANNEL 10 -#define BIP_DEFAULT_CHANNEL 11 -#define HSP_AG_DEFAULT_CHANNEL 12 -#define HFP_AG_DEFAULT_CHANNEL 13 -#define SYNC_DEFAULT_CHANNEL 14 -#define PBAP_DEFAULT_CHANNEL 15 -#define MAS_DEFAULT_CHANNEL 16 -#define MNS_DEFAULT_CHANNEL 17 - -#define BTD_PROFILE_PSM_AUTO -1 -#define BTD_PROFILE_CHAN_AUTO -1 - -#define HFP_HF_RECORD \ - " \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - " - -#define HFP_AG_RECORD \ - " \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - " - -#define SPP_RECORD \ - " \ - \ - \ - \ - \ - %s \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - " - -#define DUN_RECORD \ - " \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - " - -#define OPP_RECORD \ - " \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - " - -#define FTP_RECORD \ - " \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - " - -#define PCE_RECORD \ - " \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - " - -#define PSE_RECORD \ - " \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - " - -#define MAS_RECORD \ - " \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - " - -#define MNS_RECORD \ - " \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - " - -#define SYNC_RECORD \ - " \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - " - -#define GENERIC_RECORD \ - " \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - %s \ - \ - %s \ - \ - \ - \ - \ - \ - \ - \ - %s \ - \ - \ - \ - " - -struct ext_io; - -struct ext_profile { - struct btd_profile p; - - char *name; - char *owner; - char *path; - char *uuid; - char *service; - char *role; - - char *record; - char *(*get_record)(struct ext_profile *ext, struct ext_io *l2cap, - struct ext_io *rfcomm); - - char *remote_uuid; - - guint id; - - BtIOSecLevel sec_level; - bool authorize; - - bool enable_client; - bool enable_server; - - int local_psm; - int local_chan; - - uint16_t remote_psm; - uint8_t remote_chan; - - uint16_t version; - uint16_t features; - - GSList *records; - GSList *servers; - GSList *conns; - - GSList *connects; -}; - -struct ext_io { - struct ext_profile *ext; - int proto; - GIOChannel *io; - guint io_id; - struct btd_adapter *adapter; - struct btd_device *device; - - bool resolving; - bool connected; - - uint16_t version; - uint16_t features; - - uint16_t psm; - uint8_t chan; - - guint auth_id; - unsigned int svc_id; - DBusPendingCall *pending; -}; - -struct ext_record { - struct btd_adapter *adapter; - uint32_t handle; -}; - -struct btd_profile_custom_property { - char *uuid; - char *type; - char *name; - btd_profile_prop_exists exists; - btd_profile_prop_get get; - void *user_data; -}; - -static GSList *custom_props = NULL; - -static GSList *profiles = NULL; -static GSList *ext_profiles = NULL; - -void btd_profile_foreach(void (*func)(struct btd_profile *p, void *data), - void *data) -{ - GSList *l, *next; - - for (l = profiles; l != NULL; l = next) { - struct btd_profile *profile = l->data; - - next = g_slist_next(l); - - func(profile, data); - } - - for (l = ext_profiles; l != NULL; l = next) { - struct ext_profile *profile = l->data; - - next = g_slist_next(l); - - func(&profile->p, data); - } -} - -int btd_profile_register(struct btd_profile *profile) -{ - profiles = g_slist_append(profiles, profile); - return 0; -} - -void btd_profile_unregister(struct btd_profile *profile) -{ - profiles = g_slist_remove(profiles, profile); -} - -static struct ext_profile *find_ext_profile(const char *owner, - const char *path) -{ - GSList *l; - - for (l = ext_profiles; l != NULL; l = g_slist_next(l)) { - struct ext_profile *ext = l->data; - - if (!g_str_equal(ext->owner, owner)) - continue; - - if (g_str_equal(ext->path, path)) - return ext; - } - - return NULL; -} - -static void ext_cancel(struct ext_profile *ext) -{ - DBusMessage *msg; - - msg = dbus_message_new_method_call(ext->owner, ext->path, - "org.bluez.Profile1", "Cancel"); - if (msg) - g_dbus_send_message(btd_get_dbus_connection(), msg); -} - -static void ext_io_destroy(gpointer p) -{ - struct ext_io *ext_io = p; - struct ext_profile *ext = ext_io->ext; - - if (ext_io->io_id > 0) - g_source_remove(ext_io->io_id); - - if (ext_io->io) { - g_io_channel_shutdown(ext_io->io, FALSE, NULL); - g_io_channel_unref(ext_io->io); - } - - if (ext_io->auth_id != 0) - btd_cancel_authorization(ext_io->auth_id); - - if (ext_io->svc_id != 0) - device_remove_svc_complete_callback(ext_io->device, - ext_io->svc_id); - - if (ext_io->pending) { - dbus_pending_call_cancel(ext_io->pending); - dbus_pending_call_unref(ext_io->pending); - ext_cancel(ext); - } - - if (ext_io->resolving) - bt_cancel_discovery(adapter_get_address(ext_io->adapter), - device_get_address(ext_io->device)); - - if (ext_io->adapter) - btd_adapter_unref(ext_io->adapter); - - if (ext_io->device) - btd_device_unref(ext_io->device); - - g_free(ext_io); -} - -static gboolean ext_io_disconnected(GIOChannel *io, GIOCondition cond, - gpointer user_data) -{ - struct ext_io *conn = user_data; - struct ext_profile *ext = conn->ext; - GError *gerr = NULL; - char addr[18]; - - if (cond & G_IO_NVAL) - return FALSE; - - bt_io_get(io, &gerr, BT_IO_OPT_DEST, addr, BT_IO_OPT_INVALID); - if (gerr != NULL) { - error("Unable to get io data for %s: %s", - ext->name, gerr->message); - g_error_free(gerr); - goto drop; - } - - DBG("%s disconnected from %s", ext->name, addr); -drop: - device_profile_disconnected(conn->device, &ext->p, 0); - ext->conns = g_slist_remove(ext->conns, conn); - ext_io_destroy(conn); - return FALSE; -} - -static void new_conn_reply(DBusPendingCall *call, void *user_data) -{ - struct ext_io *conn = user_data; - struct ext_profile *ext = conn->ext; - DBusMessage *reply = dbus_pending_call_steal_reply(call); - DBusError err; - - dbus_error_init(&err); - dbus_set_error_from_message(&err, reply); - - dbus_message_unref(reply); - - dbus_pending_call_unref(conn->pending); - conn->pending = NULL; - - if (!dbus_error_is_set(&err)) { - device_profile_connected(conn->device, &ext->p, 0); - conn->connected = true; - return; - } - - error("%s replied with an error: %s, %s", ext->name, - err.name, err.message); - - device_profile_connected(conn->device, &ext->p, -ECONNREFUSED); - - if (dbus_error_has_name(&err, DBUS_ERROR_NO_REPLY)) - ext_cancel(ext); - - dbus_error_free(&err); - - ext->conns = g_slist_remove(ext->conns, conn); - ext_io_destroy(conn); -} - -static void disconn_reply(DBusPendingCall *call, void *user_data) -{ - struct ext_io *conn = user_data; - struct ext_profile *ext = conn->ext; - DBusMessage *reply = dbus_pending_call_steal_reply(call); - DBusError err; - - dbus_error_init(&err); - dbus_set_error_from_message(&err, reply); - - dbus_message_unref(reply); - - dbus_pending_call_unref(conn->pending); - conn->pending = NULL; - - if (!dbus_error_is_set(&err)) { - device_profile_disconnected(conn->device, &ext->p, 0); - goto disconnect; - } - - error("%s replied with an error: %s, %s", ext->name, - err.name, err.message); - - device_profile_disconnected(conn->device, &ext->p, -ECONNREFUSED); - - if (dbus_error_has_name(&err, DBUS_ERROR_NO_REPLY)) - ext_cancel(ext); - - dbus_error_free(&err); - -disconnect: - ext->conns = g_slist_remove(ext->conns, conn); - ext_io_destroy(conn); -} - -struct prop_append_data { - DBusMessageIter *dict; - struct ext_io *io; -}; - -static void append_prop(gpointer a, gpointer b) -{ - struct btd_profile_custom_property *p = a; - struct prop_append_data *data = b; - DBusMessageIter entry, value, *dict = data->dict; - struct btd_device *dev = data->io->device; - struct ext_profile *ext = data->io->ext; - const char *uuid = ext->service ? ext->service : ext->uuid; - - if (strcasecmp(p->uuid, uuid) != 0) - return; - - if (p->exists && !p->exists(p->uuid, dev, p->user_data)) - return; - - dbus_message_iter_open_container(dict, DBUS_TYPE_DICT_ENTRY, NULL, - &entry); - dbus_message_iter_append_basic(&entry, DBUS_TYPE_STRING, &p->name); - dbus_message_iter_open_container(&entry, DBUS_TYPE_VARIANT, p->type, - &value); - - p->get(p->uuid, dev, &value, p->user_data); - - dbus_message_iter_close_container(&entry, &value); - dbus_message_iter_close_container(dict, &entry); -} - -static uint16_t get_supported_features(const sdp_record_t *rec) -{ - sdp_data_t *data; - - data = sdp_data_get(rec, SDP_ATTR_SUPPORTED_FEATURES); - if (!data || data->dtd != SDP_UINT16) - return 0; - - return data->val.uint16; -} - -static uint16_t get_profile_version(const sdp_record_t *rec) -{ - sdp_list_t *descs; - uint16_t version; - - if (sdp_get_profile_descs(rec, &descs) < 0) - return 0; - - if (descs && descs->data) { - sdp_profile_desc_t *desc = descs->data; - version = desc->version; - } else { - version = 0; - } - - sdp_list_free(descs, free); - - return version; -} - -static bool send_new_connection(struct ext_profile *ext, struct ext_io *conn) -{ - DBusMessage *msg; - DBusMessageIter iter, dict; - struct prop_append_data data = { &dict, conn }; - const char *remote_uuid = ext->remote_uuid; - const sdp_record_t *rec; - const char *path; - int fd; - - msg = dbus_message_new_method_call(ext->owner, ext->path, - "org.bluez.Profile1", - "NewConnection"); - if (!msg) { - error("Unable to create NewConnection call for %s", ext->name); - return false; - } - - if (remote_uuid) { - rec = btd_device_get_record(conn->device, remote_uuid); - if (rec) { - conn->features = get_supported_features(rec); - conn->version = get_profile_version(rec); - } - } - - dbus_message_iter_init_append(msg, &iter); - - path = device_get_path(conn->device); - dbus_message_iter_append_basic(&iter, DBUS_TYPE_OBJECT_PATH, &path); - - fd = g_io_channel_unix_get_fd(conn->io); - dbus_message_iter_append_basic(&iter, DBUS_TYPE_UNIX_FD, &fd); - - dbus_message_iter_open_container(&iter, DBUS_TYPE_ARRAY, "{sv}", &dict); - - if (conn->version) - dict_append_entry(&dict, "Version", DBUS_TYPE_UINT16, - &conn->version); - - if (conn->features) - dict_append_entry(&dict, "Features", DBUS_TYPE_UINT16, - &conn->features); - - g_slist_foreach(custom_props, append_prop, &data); - - dbus_message_iter_close_container(&iter, &dict); - - if (!dbus_connection_send_with_reply(btd_get_dbus_connection(), - msg, &conn->pending, -1)) { - error("%s: sending NewConnection failed", ext->name); - dbus_message_unref(msg); - return false; - } - - dbus_message_unref(msg); - - dbus_pending_call_set_notify(conn->pending, new_conn_reply, conn, NULL); - - return true; -} - -static void ext_connect(GIOChannel *io, GError *err, gpointer user_data) -{ - struct ext_io *conn = user_data; - struct ext_profile *ext = conn->ext; - GError *io_err = NULL; - char addr[18]; - - if (!bt_io_get(io, &io_err, - BT_IO_OPT_DEST, addr, - BT_IO_OPT_INVALID)) { - error("Unable to get connect data for %s: %s", ext->name, - io_err->message); - if (err) { - g_error_free(io_err); - io_err = NULL; - } else { - err = io_err; - } - goto drop; - } - - if (err != NULL) { - error("%s failed to connect to %s: %s", ext->name, addr, - err->message); - goto drop; - } - - DBG("%s connected to %s", ext->name, addr); - - if (conn->io_id == 0) { - GIOCondition cond = G_IO_HUP | G_IO_ERR | G_IO_NVAL; - conn->io_id = g_io_add_watch(io, cond, ext_io_disconnected, - conn); - } - - if (send_new_connection(ext, conn)) - return; - -drop: - device_profile_connected(conn->device, &ext->p, - err ? -err->code : -EIO); - if (io_err) - g_error_free(io_err); - ext->conns = g_slist_remove(ext->conns, conn); - ext_io_destroy(conn); -} - -static void ext_auth(DBusError *err, void *user_data) -{ - struct ext_io *conn = user_data; - struct ext_profile *ext = conn->ext; - GError *gerr = NULL; - char addr[18]; - - conn->auth_id = 0; - - bt_io_get(conn->io, &gerr, BT_IO_OPT_DEST, addr, BT_IO_OPT_INVALID); - if (gerr != NULL) { - error("Unable to get connect data for %s: %s", - ext->name, err->message); - g_error_free(gerr); - goto drop; - } - - if (err && dbus_error_is_set(err)) { - error("%s rejected %s: %s", ext->name, addr, err->message); - goto drop; - } - - if (conn->svc_id > 0) { - DBG("Connection from %s authorized but still waiting for SDP", - addr); - return; - } - - if (!bt_io_accept(conn->io, ext_connect, conn, NULL, &gerr)) { - error("bt_io_accept: %s", gerr->message); - g_error_free(gerr); - goto drop; - } - - DBG("%s authorized to connect to %s", addr, ext->name); - - return; - -drop: - ext->conns = g_slist_remove(ext->conns, conn); - ext_io_destroy(conn); -} - -static struct ext_io *create_conn(struct ext_io *server, GIOChannel *io, - bdaddr_t *src, bdaddr_t *dst) -{ - struct btd_device *device; - struct ext_io *conn; - GIOCondition cond; - - conn = g_new0(struct ext_io, 1); - conn->io = g_io_channel_ref(io); - conn->proto = server->proto; - conn->ext = server->ext; - conn->adapter = btd_adapter_ref(server->adapter); - - device = adapter_find_device(server->adapter, dst); - - if (device) - conn->device = btd_device_ref(device); - - cond = G_IO_HUP | G_IO_ERR | G_IO_NVAL; - conn->io_id = g_io_add_watch(io, cond, ext_io_disconnected, conn); - - return conn; -} - -static void ext_svc_complete(struct btd_device *dev, int err, void *user_data) -{ - struct ext_io *conn = user_data; - struct ext_profile *ext = conn->ext; - const bdaddr_t *bdaddr; - GError *gerr = NULL; - char addr[18]; - - conn->svc_id = 0; - - bdaddr = device_get_address(dev); - ba2str(bdaddr, addr); - - if (err < 0) { - error("Service resolving failed for %s: %s (%d)", - addr, strerror(-err), -err); - goto drop; - } - - DBG("Services resolved for %s", addr); - - if (conn->auth_id > 0) { - DBG("Services resolved but still waiting for authorization"); - return; - } - - if (!bt_io_accept(conn->io, ext_connect, conn, NULL, &gerr)) { - error("bt_io_accept: %s", gerr->message); - g_error_free(gerr); - goto drop; - } - - DBG("%s authorized to connect to %s", addr, ext->name); - - return; - -drop: - ext->conns = g_slist_remove(ext->conns, conn); - ext_io_destroy(conn); -} - -static void ext_confirm(GIOChannel *io, gpointer user_data) -{ - struct ext_io *server = user_data; - struct ext_profile *ext = server->ext; - const char *uuid = ext->service ? ext->service : ext->uuid; - struct ext_io *conn; - GError *gerr = NULL; - bdaddr_t src, dst; - char addr[18]; - - bt_io_get(io, &gerr, - BT_IO_OPT_SOURCE_BDADDR, &src, - BT_IO_OPT_DEST_BDADDR, &dst, - BT_IO_OPT_DEST, addr, - BT_IO_OPT_INVALID); - if (gerr != NULL) { - error("%s failed to get connect data: %s", ext->name, - gerr->message); - g_error_free(gerr); - return; - } - - DBG("incoming connect from %s", addr); - - conn = create_conn(server, io, &src, &dst); - - conn->auth_id = btd_request_authorization(&src, &dst, uuid, ext_auth, - conn); - if (conn->auth_id == 0) { - error("%s authorization failure", ext->name); - ext_io_destroy(conn); - return; - } - - ext->conns = g_slist_append(ext->conns, conn); - - conn->svc_id = device_wait_for_svc_complete(conn->device, - ext_svc_complete, - conn); - - DBG("%s authorizing connection from %s", ext->name, addr); -} - -static void ext_direct_connect(GIOChannel *io, GError *err, gpointer user_data) -{ - struct ext_io *server = user_data; - struct ext_profile *ext = server->ext; - GError *gerr = NULL; - struct ext_io *conn; - bdaddr_t src, dst; - - bt_io_get(io, &gerr, - BT_IO_OPT_SOURCE_BDADDR, &src, - BT_IO_OPT_DEST_BDADDR, &dst, - BT_IO_OPT_INVALID); - if (gerr != NULL) { - error("%s failed to get connect data: %s", ext->name, - gerr->message); - g_error_free(gerr); - return; - } - - conn = create_conn(server, io, &src, &dst); - ext->conns = g_slist_append(ext->conns, conn); - - ext_connect(io, err, conn); -} - -static uint32_t ext_register_record(struct ext_profile *ext, - struct ext_io *l2cap, - struct ext_io *rfcomm, - const bdaddr_t *src) -{ - sdp_record_t *rec; - char *dyn_record = NULL; - const char *record = ext->record; - - if (!record && ext->get_record) { - dyn_record = ext->get_record(ext, l2cap, rfcomm); - record = dyn_record; - } - - if (!record) - return 0; - - rec = sdp_xml_parse_record(record, strlen(record)); - - g_free(dyn_record); - - if (!rec) { - error("Unable to parse record for %s", ext->name); - return 0; - } - - if (add_record_to_server(src, rec) < 0) { - error("Failed to register service record"); - sdp_record_free(rec); - return 0; - } - - return rec->handle; -} - -static uint32_t ext_start_servers(struct ext_profile *ext, - struct btd_adapter *adapter) -{ - struct ext_io *l2cap = NULL; - struct ext_io *rfcomm = NULL; - BtIOConfirm confirm; - BtIOConnect connect; - GError *err = NULL; - GIOChannel *io; - - if (ext->authorize) { - confirm = ext_confirm; - connect = NULL; - } else { - confirm = NULL; - connect = ext_direct_connect; - } - - if (ext->local_psm) { - uint16_t psm; - - if (ext->local_psm > 0) - psm = ext->local_psm; - else - psm = 0; - - l2cap = g_new0(struct ext_io, 1); - l2cap->ext = ext; - - io = bt_io_listen(connect, confirm, l2cap, NULL, &err, - BT_IO_OPT_SOURCE_BDADDR, - adapter_get_address(adapter), - BT_IO_OPT_PSM, psm, - BT_IO_OPT_SEC_LEVEL, ext->sec_level, - BT_IO_OPT_INVALID); - if (err != NULL) { - error("L2CAP server failed for %s: %s", - ext->name, err->message); - g_free(l2cap); - l2cap = NULL; - g_clear_error(&err); - goto failed; - } else { - if (psm == 0) - bt_io_get(io, NULL, BT_IO_OPT_PSM, &psm, - BT_IO_OPT_INVALID); - l2cap->io = io; - l2cap->proto = BTPROTO_L2CAP; - l2cap->psm = psm; - l2cap->adapter = btd_adapter_ref(adapter); - ext->servers = g_slist_append(ext->servers, l2cap); - DBG("%s listening on PSM %u", ext->name, psm); - } - } - - if (ext->local_chan) { - uint8_t chan; - - if (ext->local_chan > 0) - chan = ext->local_chan; - else - chan = 0; - - rfcomm = g_new0(struct ext_io, 1); - rfcomm->ext = ext; - - io = bt_io_listen(connect, confirm, rfcomm, NULL, &err, - BT_IO_OPT_SOURCE_BDADDR, - adapter_get_address(adapter), - BT_IO_OPT_CHANNEL, chan, - BT_IO_OPT_SEC_LEVEL, ext->sec_level, - BT_IO_OPT_INVALID); - if (err != NULL) { - error("RFCOMM server failed for %s: %s", - ext->name, err->message); - g_free(rfcomm); - rfcomm = NULL; - g_clear_error(&err); - goto failed; - } else { - if (chan == 0) - bt_io_get(io, NULL, BT_IO_OPT_CHANNEL, &chan, - BT_IO_OPT_INVALID); - rfcomm->io = io; - rfcomm->proto = BTPROTO_RFCOMM; - rfcomm->chan = chan; - rfcomm->adapter = btd_adapter_ref(adapter); - ext->servers = g_slist_append(ext->servers, rfcomm); - DBG("%s listening on chan %u", ext->name, chan); - } - } - - return ext_register_record(ext, l2cap, rfcomm, - adapter_get_address(adapter)); - -failed: - if (l2cap) { - ext->servers = g_slist_remove(ext->servers, l2cap); - ext_io_destroy(l2cap); - } - if (rfcomm) { - ext->servers = g_slist_remove(ext->servers, rfcomm); - ext_io_destroy(rfcomm); - } - - return 0; -} - -static struct ext_profile *find_ext(struct btd_profile *p) -{ - GSList *l; - - l = g_slist_find(ext_profiles, p); - if (!l) - return NULL; - - return l->data; -} - -static int ext_adapter_probe(struct btd_profile *p, - struct btd_adapter *adapter) -{ - struct ext_profile *ext; - struct ext_record *rec; - uint32_t handle; - - ext = find_ext(p); - if (!ext) - return -ENOENT; - - DBG("\"%s\" probed", ext->name); - - handle = ext_start_servers(ext, adapter); - if (!handle) - return 0; - - rec = g_new0(struct ext_record, 1); - rec->adapter = btd_adapter_ref(adapter); - rec->handle = handle; - - ext->records = g_slist_append(ext->records, rec); - - return 0; -} - -static void ext_remove_records(struct ext_profile *ext, - struct btd_adapter *adapter) -{ - GSList *l, *next; - - for (l = ext->records; l != NULL; l = next) { - struct ext_record *r = l->data; - - next = g_slist_next(l); - - if (adapter && r->adapter != adapter) - continue; - - ext->records = g_slist_remove(ext->records, r); - - remove_record_from_server(r->handle); - btd_adapter_unref(r->adapter); - g_free(r); - } -} - -static void ext_adapter_remove(struct btd_profile *p, - struct btd_adapter *adapter) -{ - struct ext_profile *ext; - GSList *l, *next; - - ext = find_ext(p); - if (!ext) - return; - - DBG("\"%s\" removed", ext->name); - - ext_remove_records(ext, adapter); - - for (l = ext->servers; l != NULL; l = next) { - struct ext_io *server = l->data; - - next = g_slist_next(l); - - if (server->adapter != adapter) - continue; - - ext->servers = g_slist_remove(ext->servers, server); - ext_io_destroy(server); - } -} - -static int ext_device_probe(struct btd_profile *p, struct btd_device *dev, - GSList *uuids) -{ - struct ext_profile *ext; - - ext = find_ext(p); - if (!ext) - return -ENOENT; - - DBG("%s probed with %u UUIDs", ext->name, g_slist_length(uuids)); - - return 0; -} - -static struct ext_io *find_connection(struct ext_profile *ext, - struct btd_device *dev) -{ - GSList *l; - - for (l = ext->conns; l != NULL; l = g_slist_next(l)) { - struct ext_io *conn = l->data; - - if (conn->device == dev) - return conn; - } - - return NULL; -} - -static void ext_device_remove(struct btd_profile *p, struct btd_device *dev) -{ - struct ext_profile *ext; - struct ext_io *conn; - - ext = find_ext(p); - if (!ext) - return; - - DBG("%s", ext->name); - - conn = find_connection(ext, dev); - if (conn) { - ext->conns = g_slist_remove(ext->conns, conn); - ext_io_destroy(conn); - } -} - -static int connect_io(struct ext_io *conn, const bdaddr_t *src, - const bdaddr_t *dst) -{ - struct ext_profile *ext = conn->ext; - GError *gerr = NULL; - GIOChannel *io; - - if (conn->psm) { - conn->proto = BTPROTO_L2CAP; - io = bt_io_connect(ext_connect, conn, NULL, &gerr, - BT_IO_OPT_SOURCE_BDADDR, src, - BT_IO_OPT_DEST_BDADDR, dst, - BT_IO_OPT_SEC_LEVEL, ext->sec_level, - BT_IO_OPT_PSM, conn->psm, - BT_IO_OPT_INVALID); - } else { - conn->proto = BTPROTO_RFCOMM; - io = bt_io_connect(ext_connect, conn, NULL, &gerr, - BT_IO_OPT_SOURCE_BDADDR, src, - BT_IO_OPT_DEST_BDADDR, dst, - BT_IO_OPT_SEC_LEVEL, ext->sec_level, - BT_IO_OPT_CHANNEL, conn->chan, - BT_IO_OPT_INVALID); - } - - if (gerr != NULL) { - error("Unable to connect %s: %s", ext->name, gerr->message); - g_error_free(gerr); - return -EIO; - } - - conn->io = io; - - return 0; -} - -static uint16_t get_goep_l2cap_psm(sdp_record_t *rec) -{ - sdp_data_t *data; - - data = sdp_data_get(rec, SDP_ATTR_GOEP_L2CAP_PSM); - if (!data) - return 0; - - if (data->dtd != SDP_UINT16) - return 0; - - /* PSM must be odd and lsb of upper byte must be 0 */ - if ((data->val.uint16 & 0x0101) != 0x0001) - return 0; - - return data->val.uint16; -} - -static void record_cb(sdp_list_t *recs, int err, gpointer user_data) -{ - struct ext_io *conn = user_data; - struct ext_profile *ext = conn->ext; - sdp_list_t *r; - - conn->resolving = false; - - if (err < 0) { - error("Unable to get %s SDP record: %s", ext->name, - strerror(-err)); - goto failed; - } - - if (!recs || !recs->data) { - error("No SDP records found for %s", ext->name); - goto failed; - } - - for (r = recs; r != NULL; r = r->next) { - sdp_record_t *rec = r->data; - sdp_list_t *protos; - int port; - - if (sdp_get_access_protos(rec, &protos) < 0) { - error("Unable to get proto list from %s record", - ext->name); - goto failed; - } - - port = sdp_get_proto_port(protos, L2CAP_UUID); - if (port > 0) - conn->psm = port; - - port = sdp_get_proto_port(protos, RFCOMM_UUID); - if (port > 0) - conn->chan = port; - - if (conn->psm == 0 && sdp_get_proto_desc(protos, OBEX_UUID)) - conn->psm = get_goep_l2cap_psm(rec); - - conn->features = get_supported_features(rec); - conn->version = get_profile_version(rec); - - sdp_list_foreach(protos, (sdp_list_func_t) sdp_list_free, - NULL); - sdp_list_free(protos, NULL); - - if (conn->chan || conn->psm) - break; - } - - if (!conn->chan && !conn->psm) { - error("Failed to find L2CAP PSM or RFCOMM channel for %s", - ext->name); - goto failed; - } - - err = connect_io(conn, adapter_get_address(conn->adapter), - device_get_address(conn->device)); - if (err < 0) { - error("Connecting %s failed: %s", ext->name, strerror(-err)); - goto failed; - } - - return; - -failed: - device_profile_connected(conn->device, &ext->p, err); - ext->conns = g_slist_remove(ext->conns, conn); - ext_io_destroy(conn); -} - -static int resolve_service(struct ext_io *conn, const bdaddr_t *src, - const bdaddr_t *dst) -{ - struct ext_profile *ext = conn->ext; - uuid_t uuid; - int err; - - bt_string2uuid(&uuid, ext->remote_uuid); - sdp_uuid128_to_uuid(&uuid); - - err = bt_search_service(src, dst, &uuid, record_cb, conn, NULL); - if (err == 0) - conn->resolving = true; - - return err; -} - -static int ext_connect_dev(struct btd_device *dev, struct btd_profile *profile) -{ - struct btd_adapter *adapter; - struct ext_io *conn; - struct ext_profile *ext; - int err; - - ext = find_ext(profile); - if (!ext) - return -ENOENT; - - conn = find_connection(ext, dev); - if (conn) - return -EALREADY; - - adapter = device_get_adapter(dev); - - conn = g_new0(struct ext_io, 1); - conn->ext = ext; - - if (ext->remote_psm || ext->remote_chan) { - conn->psm = ext->remote_psm; - conn->chan = ext->remote_chan; - err = connect_io(conn, adapter_get_address(adapter), - device_get_address(dev)); - } else { - err = resolve_service(conn, adapter_get_address(adapter), - device_get_address(dev)); - } - - if (err < 0) - goto failed; - - conn->adapter = btd_adapter_ref(adapter); - conn->device = btd_device_ref(dev); - - ext->conns = g_slist_append(ext->conns, conn); - - return 0; - -failed: - g_free(conn); - return err; -} - -static int send_disconn_req(struct ext_profile *ext, struct ext_io *conn) -{ - DBusMessage *msg; - const char *path; - - msg = dbus_message_new_method_call(ext->owner, ext->path, - "org.bluez.Profile1", - "RequestDisconnection"); - if (!msg) { - error("Unable to create RequestDisconnection call for %s", - ext->name); - return -ENOMEM; - } - - path = device_get_path(conn->device); - dbus_message_append_args(msg, DBUS_TYPE_OBJECT_PATH, &path, - DBUS_TYPE_INVALID); - - if (!dbus_connection_send_with_reply(btd_get_dbus_connection(), - msg, &conn->pending, -1)) { - error("%s: sending RequestDisconnection failed", ext->name); - dbus_message_unref(msg); - return -EIO; - } - - dbus_message_unref(msg); - - dbus_pending_call_set_notify(conn->pending, disconn_reply, conn, NULL); - - return 0; -} - -static int ext_disconnect_dev(struct btd_device *dev, - struct btd_profile *profile) -{ - struct ext_profile *ext; - struct ext_io *conn; - int err; - - ext = find_ext(profile); - if (!ext) - return -ENOENT; - - conn = find_connection(ext, dev); - if (!conn || !conn->connected) - return -ENOTCONN; - - if (conn->pending) - return -EBUSY; - - err = send_disconn_req(ext, conn); - if (err < 0) - return err; - - return 0; -} - -static char *get_hfp_hf_record(struct ext_profile *ext, struct ext_io *l2cap, - struct ext_io *rfcomm) -{ - return g_strdup_printf(HFP_HF_RECORD, rfcomm->chan, ext->version, - ext->name, ext->features); -} - -static char *get_hfp_ag_record(struct ext_profile *ext, struct ext_io *l2cap, - struct ext_io *rfcomm) -{ - return g_strdup_printf(HFP_AG_RECORD, rfcomm->chan, ext->version, - ext->name, ext->features); -} - -static char *get_spp_record(struct ext_profile *ext, struct ext_io *l2cap, - struct ext_io *rfcomm) -{ - char *svc, *rec; - - if (ext->service) - svc = g_strdup_printf("", ext->service); - else - svc = g_strdup(""); - - rec = g_strdup_printf(SPP_RECORD, svc, rfcomm->chan, ext->version, - ext->name); - g_free(svc); - return rec; -} - -static char *get_dun_record(struct ext_profile *ext, struct ext_io *l2cap, - struct ext_io *rfcomm) -{ - return g_strdup_printf(DUN_RECORD, rfcomm->chan, ext->version, - ext->name); -} - -static char *get_pce_record(struct ext_profile *ext, struct ext_io *l2cap, - struct ext_io *rfcomm) -{ - return g_strdup_printf(PCE_RECORD, ext->version, ext->name); -} - -static char *get_pse_record(struct ext_profile *ext, struct ext_io *l2cap, - struct ext_io *rfcomm) -{ - return g_strdup_printf(PSE_RECORD, rfcomm->chan, ext->version, - ext->name); -} - -static char *get_mas_record(struct ext_profile *ext, struct ext_io *l2cap, - struct ext_io *rfcomm) -{ - return g_strdup_printf(MAS_RECORD, rfcomm->chan, ext->version, - ext->name); -} - -static char *get_mns_record(struct ext_profile *ext, struct ext_io *l2cap, - struct ext_io *rfcomm) -{ - uint16_t psm = 0; - uint8_t chan = 0; - - if (l2cap) - psm = l2cap->psm; - if (rfcomm) - chan = rfcomm->chan; - - return g_strdup_printf(MNS_RECORD, chan, ext->version, ext->name, psm); -} - -static char *get_sync_record(struct ext_profile *ext, struct ext_io *l2cap, - struct ext_io *rfcomm) -{ - return g_strdup_printf(SYNC_RECORD, rfcomm->chan, ext->version, - ext->name); -} - -static char *get_opp_record(struct ext_profile *ext, struct ext_io *l2cap, - struct ext_io *rfcomm) -{ - uint16_t psm = 0; - uint8_t chan = 0; - - if (l2cap) - psm = l2cap->psm; - if (rfcomm) - chan = rfcomm->chan; - - return g_strdup_printf(OPP_RECORD, chan, ext->version, psm, ext->name); -} - -static char *get_ftp_record(struct ext_profile *ext, struct ext_io *l2cap, - struct ext_io *rfcomm) -{ - uint16_t psm = 0; - uint8_t chan = 0; - - if (l2cap) - psm = l2cap->psm; - if (rfcomm) - chan = rfcomm->chan; - - return g_strdup_printf(FTP_RECORD, chan, ext->version, psm, ext->name); -} - -#define RFCOMM_SEQ " \ - \ - \ - " - -#define VERSION_ATTR \ - " \ - \ - \ - \ - \ - \ - \ - " - -static char *get_generic_record(struct ext_profile *ext, struct ext_io *l2cap, - struct ext_io *rfcomm) -{ - char uuid_str[MAX_LEN_UUID_STR], svc_str[MAX_LEN_UUID_STR], psm[30]; - char *rf_seq, *ver_attr, *rec; - uuid_t uuid; - - bt_string2uuid(&uuid, ext->uuid); - sdp_uuid2strn(&uuid, uuid_str, sizeof(uuid_str)); - - if (ext->service) { - bt_string2uuid(&uuid, ext->service); - sdp_uuid2strn(&uuid, svc_str, sizeof(svc_str)); - } else { - strncpy(svc_str, uuid_str, sizeof(svc_str)); - } - - if (l2cap) - snprintf(psm, sizeof(psm), "", - l2cap->psm); - else - psm[0] = '\0'; - - if (rfcomm) - rf_seq = g_strdup_printf(RFCOMM_SEQ, rfcomm->chan); - else - rf_seq = g_strdup(""); - - if (ext->version) - ver_attr = g_strdup_printf(VERSION_ATTR, uuid_str, - ext->version); - else - ver_attr = g_strdup(""); - - rec = g_strdup_printf(GENERIC_RECORD, svc_str, psm, rf_seq, ver_attr, - ext->name); - - g_free(rf_seq); - g_free(ver_attr); - - return rec; -} - -static struct default_settings { - const char *uuid; - const char *name; - int priority; - const char *remote_uuid; - int channel; - int psm; - BtIOSecLevel sec_level; - bool authorize; - bool auto_connect; - char * (*get_record)(struct ext_profile *ext, - struct ext_io *l2cap, - struct ext_io *rfcomm); - uint16_t version; - uint16_t features; -} defaults[] = { - { - .uuid = SPP_UUID, - .name = "Serial Port", - .channel = SPP_DEFAULT_CHANNEL, - .get_record = get_spp_record, - .version = 0x0102, - }, { - .uuid = DUN_GW_UUID, - .name = "Dial-Up Networking", - .channel = DUN_DEFAULT_CHANNEL, - .get_record = get_dun_record, - .version = 0x0102, - }, { - .uuid = HFP_HS_UUID, - .name = "Hands-Free unit", - .priority = BTD_PROFILE_PRIORITY_HIGH, - .remote_uuid = HFP_AG_UUID, - .channel = HFP_HF_DEFAULT_CHANNEL, - .auto_connect = true, - .get_record = get_hfp_hf_record, - .version = 0x0105, - }, { - .uuid = HFP_AG_UUID, - .name = "Hands-Free Voice gateway", - .priority = BTD_PROFILE_PRIORITY_HIGH, - .remote_uuid = HFP_HS_UUID, - .channel = HFP_AG_DEFAULT_CHANNEL, - .auto_connect = true, - .get_record = get_hfp_ag_record, - .version = 0x0105, - }, { - .uuid = HSP_AG_UUID, - .name = "Headset Voice gateway", - .priority = BTD_PROFILE_PRIORITY_HIGH, - .remote_uuid = HSP_HS_UUID, - .channel = HSP_AG_DEFAULT_CHANNEL, - .auto_connect = true, - }, { - .uuid = OBEX_OPP_UUID, - .name = "Object Push", - .channel = OPP_DEFAULT_CHANNEL, - .psm = BTD_PROFILE_PSM_AUTO, - .sec_level = BT_IO_SEC_LOW, - .authorize = false, - .get_record = get_opp_record, - .version = 0x0102, - }, { - .uuid = OBEX_FTP_UUID, - .name = "File Transfer", - .channel = FTP_DEFAULT_CHANNEL, - .psm = BTD_PROFILE_PSM_AUTO, - .get_record = get_ftp_record, - .version = 0x0102, - }, { - .uuid = OBEX_SYNC_UUID, - .name = "Synchronization", - .channel = SYNC_DEFAULT_CHANNEL, - .get_record = get_sync_record, - .version = 0x0100, - }, { - .uuid = OBEX_PSE_UUID, - .name = "Phone Book Access", - .channel = PBAP_DEFAULT_CHANNEL, - .get_record = get_pse_record, - .version = 0x0101, - }, { - .uuid = OBEX_PCE_UUID, - .name = "Phone Book Access Client", - .remote_uuid = OBEX_PSE_UUID, - .get_record = get_pce_record, - .version = 0x0101, - }, { - .uuid = OBEX_MAS_UUID, - .name = "Message Access", - .channel = MAS_DEFAULT_CHANNEL, - .get_record = get_mas_record, - .version = 0x0100 - }, { - .uuid = OBEX_MNS_UUID, - .name = "Message Notification", - .channel = MNS_DEFAULT_CHANNEL, - .psm = BTD_PROFILE_PSM_AUTO, - .get_record = get_mns_record, - .version = 0x0100 - }, -}; - -static void ext_set_defaults(struct ext_profile *ext) -{ - unsigned int i; - - ext->sec_level = BT_IO_SEC_MEDIUM; - ext->authorize = true; - ext->enable_client = true; - ext->enable_server = true; - ext->remote_uuid = NULL; - - for (i = 0; i < G_N_ELEMENTS(defaults); i++) { - struct default_settings *settings = &defaults[i]; - const char *remote_uuid; - - if (strcasecmp(ext->uuid, settings->uuid) != 0) - continue; - - if (settings->remote_uuid) - remote_uuid = settings->remote_uuid; - else - remote_uuid = ext->uuid; - - ext->remote_uuid = g_strdup(remote_uuid); - - if (settings->channel) - ext->local_chan = settings->channel; - - if (settings->psm) - ext->local_psm = settings->psm; - - if (settings->sec_level) - ext->sec_level = settings->sec_level; - - if (settings->auto_connect) - ext->p.auto_connect = true; - - if (settings->priority) - ext->p.priority = settings->priority; - - if (settings->get_record) - ext->get_record = settings->get_record; - - if (settings->version) - ext->version = settings->version; - - if (settings->features) - ext->features = settings->features; - - if (settings->name) - ext->name = g_strdup(settings->name); - } -} - -static int parse_ext_opt(struct ext_profile *ext, const char *key, - DBusMessageIter *value) -{ - int type = dbus_message_iter_get_arg_type(value); - const char *str; - uint16_t u16; - dbus_bool_t b; - - if (strcasecmp(key, "Name") == 0) { - if (type != DBUS_TYPE_STRING) - return -EINVAL; - dbus_message_iter_get_basic(value, &str); - g_free(ext->name); - ext->name = g_strdup(str); - } else if (strcasecmp(key, "AutoConnect") == 0) { - if (type != DBUS_TYPE_BOOLEAN) - return -EINVAL; - dbus_message_iter_get_basic(value, &b); - ext->p.auto_connect = b; - } else if (strcasecmp(key, "PSM") == 0) { - if (type != DBUS_TYPE_UINT16) - return -EINVAL; - dbus_message_iter_get_basic(value, &u16); - ext->local_psm = u16 ? u16 : BTD_PROFILE_PSM_AUTO; - } else if (strcasecmp(key, "Channel") == 0) { - if (type != DBUS_TYPE_UINT16) - return -EINVAL; - - dbus_message_iter_get_basic(value, &u16); - if (u16 > 31) - return -EINVAL; - ext->local_chan = u16 ? u16 : BTD_PROFILE_CHAN_AUTO; - } else if (strcasecmp(key, "RequireAuthentication") == 0) { - if (type != DBUS_TYPE_BOOLEAN) - return -EINVAL; - - dbus_message_iter_get_basic(value, &b); - if (b) - ext->sec_level = BT_IO_SEC_MEDIUM; - else - ext->sec_level = BT_IO_SEC_LOW; - } else if (strcasecmp(key, "RequireAuthorization") == 0) { - if (type != DBUS_TYPE_BOOLEAN) - return -EINVAL; - dbus_message_iter_get_basic(value, &b); - ext->authorize = b; - } else if (strcasecmp(key, "Role") == 0) { - if (type != DBUS_TYPE_STRING) - return -EINVAL; - dbus_message_iter_get_basic(value, &str); - g_free(ext->role); - ext->role = g_strdup(str); - - if (g_str_equal(ext->role, "client")) { - ext->enable_server = false; - ext->enable_client = true; - } else if (g_str_equal(ext->role, "server")) { - ext->enable_server = true; - ext->enable_client = false; - } - } else if (strcasecmp(key, "ServiceRecord") == 0) { - if (type != DBUS_TYPE_STRING) - return -EINVAL; - dbus_message_iter_get_basic(value, &str); - g_free(ext->record); - ext->record = g_strdup(str); - ext->enable_server = true; - } else if (strcasecmp(key, "Version") == 0) { - uint16_t ver; - - if (type != DBUS_TYPE_UINT16) - return -EINVAL; - - dbus_message_iter_get_basic(value, &ver); - ext->version = ver; - } else if (strcasecmp(key, "Features") == 0) { - uint16_t feat; - - if (type != DBUS_TYPE_UINT16) - return -EINVAL; - - dbus_message_iter_get_basic(value, &feat); - ext->features = feat; - } else if (strcasecmp(key, "Service") == 0) { - if (type != DBUS_TYPE_STRING) - return -EINVAL; - dbus_message_iter_get_basic(value, &str); - g_free(ext->service); - ext->service = bt_name2string(str); - } - - return 0; -} - -static void set_service(struct ext_profile *ext) -{ - if (strcasecmp(ext->uuid, HSP_HS_UUID) == 0) { - ext->service = g_strdup(ext->uuid); - } else if (strcasecmp(ext->uuid, HSP_AG_UUID) == 0) { - ext->service = ext->uuid; - ext->uuid = g_strdup(HSP_HS_UUID); - } else if (strcasecmp(ext->uuid, HFP_HS_UUID) == 0) { - ext->service = g_strdup(ext->uuid); - } else if (strcasecmp(ext->uuid, HFP_AG_UUID) == 0) { - ext->service = ext->uuid; - ext->uuid = g_strdup(HFP_HS_UUID); - } else if (strcasecmp(ext->uuid, OBEX_SYNC_UUID) == 0 || - strcasecmp(ext->uuid, OBEX_OPP_UUID) == 0 || - strcasecmp(ext->uuid, OBEX_FTP_UUID) == 0) { - ext->service = g_strdup(ext->uuid); - } else if (strcasecmp(ext->uuid, OBEX_PSE_UUID) == 0 || - strcasecmp(ext->uuid, OBEX_PCE_UUID) == 0) { - ext->service = ext->uuid; - ext->uuid = g_strdup(OBEX_PBAP_UUID); - } else if (strcasecmp(ext->uuid, OBEX_MAS_UUID) == 0 || - strcasecmp(ext->uuid, OBEX_MNS_UUID) == 0) { - ext->service = ext->uuid; - ext->uuid = g_strdup(OBEX_MAP_UUID); - } -} - -static struct ext_profile *create_ext(const char *owner, const char *path, - const char *uuid, - DBusMessageIter *opts) -{ - struct btd_profile *p; - struct ext_profile *ext; - - ext = g_new0(struct ext_profile, 1); - - ext->uuid = bt_name2string(uuid); - if (ext->uuid == NULL) { - g_free(ext); - return NULL; - } - - ext->owner = g_strdup(owner); - ext->path = g_strdup(path); - - ext_set_defaults(ext); - - while (dbus_message_iter_get_arg_type(opts) == DBUS_TYPE_DICT_ENTRY) { - DBusMessageIter value, entry; - const char *key; - - dbus_message_iter_recurse(opts, &entry); - dbus_message_iter_get_basic(&entry, &key); - - dbus_message_iter_next(&entry); - dbus_message_iter_recurse(&entry, &value); - - if (parse_ext_opt(ext, key, &value) < 0) - error("Invalid value for profile option %s", key); - - dbus_message_iter_next(opts); - } - - if (!ext->service) - set_service(ext); - - if (ext->enable_server && !(ext->record || ext->get_record)) - ext->get_record = get_generic_record; - - if (!ext->name) - ext->name = g_strdup_printf("%s%s/%s", owner, path, uuid); - - if (!ext->remote_uuid) { - if (ext->service) - ext->remote_uuid = g_strdup(ext->service); - else - ext->remote_uuid = g_strdup(ext->uuid); - } - - p = &ext->p; - - p->name = ext->name; - p->local_uuid = ext->service ? ext->service : ext->uuid; - p->remote_uuid = ext->remote_uuid; - - if (ext->enable_server || ext->record || ext->get_record) { - p->adapter_probe = ext_adapter_probe; - p->adapter_remove = ext_adapter_remove; - } - - if (ext->enable_client) { - p->device_probe = ext_device_probe; - p->device_remove = ext_device_remove; - p->connect = ext_connect_dev; - p->disconnect = ext_disconnect_dev; - } - - DBG("Created \"%s\"", ext->name); - - ext_profiles = g_slist_append(ext_profiles, ext); - - adapter_foreach(adapter_add_profile, &ext->p); - - return ext; -} - -static void remove_ext(struct ext_profile *ext) -{ - adapter_foreach(adapter_remove_profile, &ext->p); - - ext_profiles = g_slist_remove(ext_profiles, ext); - - DBG("Removed \"%s\"", ext->name); - - ext_remove_records(ext, NULL); - - g_slist_free_full(ext->servers, ext_io_destroy); - g_slist_free_full(ext->conns, ext_io_destroy); - - g_free(ext->remote_uuid); - g_free(ext->name); - g_free(ext->owner); - g_free(ext->uuid); - g_free(ext->service); - g_free(ext->role); - g_free(ext->path); - g_free(ext->record); - - g_free(ext); -} - -static void ext_exited(DBusConnection *conn, void *user_data) -{ - struct ext_profile *ext = user_data; - - DBG("\"%s\" exited", ext->name); - - remove_ext(ext); -} - -static DBusMessage *register_profile(DBusConnection *conn, - DBusMessage *msg, void *user_data) -{ - const char *path, *sender, *uuid; - DBusMessageIter args, opts; - struct ext_profile *ext; - - sender = dbus_message_get_sender(msg); - - DBG("sender %s", sender); - - dbus_message_iter_init(msg, &args); - - dbus_message_iter_get_basic(&args, &path); - dbus_message_iter_next(&args); - - ext = find_ext_profile(sender, path); - if (ext) - return btd_error_already_exists(msg); - - dbus_message_iter_get_basic(&args, &uuid); - dbus_message_iter_next(&args); - - if (dbus_message_iter_get_arg_type(&args) != DBUS_TYPE_ARRAY) - return btd_error_invalid_args(msg); - - dbus_message_iter_recurse(&args, &opts); - - ext = create_ext(sender, path, uuid, &opts); - if (!ext) - return btd_error_invalid_args(msg); - - ext->id = g_dbus_add_disconnect_watch(conn, sender, ext_exited, ext, - NULL); - - return dbus_message_new_method_return(msg); -} - -static DBusMessage *unregister_profile(DBusConnection *conn, - DBusMessage *msg, void *user_data) -{ - const char *path, *sender; - struct ext_profile *ext; - - sender = dbus_message_get_sender(msg); - - DBG("sender %s", sender); - - if (!dbus_message_get_args(msg, NULL, DBUS_TYPE_OBJECT_PATH, &path, - DBUS_TYPE_INVALID)) - return btd_error_invalid_args(msg); - - ext = find_ext_profile(sender, path); - if (!ext) - return btd_error_does_not_exist(msg); - - g_dbus_remove_watch(conn, ext->id); - remove_ext(ext); - - return dbus_message_new_method_return(msg); -} - -static const GDBusMethodTable methods[] = { - { GDBUS_METHOD("RegisterProfile", - GDBUS_ARGS({ "profile", "o"}, { "UUID", "s" }, - { "options", "a{sv}" }), - NULL, register_profile) }, - { GDBUS_METHOD("UnregisterProfile", GDBUS_ARGS({ "profile", "o" }), - NULL, unregister_profile) }, - { } -}; - -static struct btd_profile_custom_property *find_custom_prop(const char *uuid, - const char *name) -{ - GSList *l; - - for (l = custom_props; l; l = l->next) { - struct btd_profile_custom_property *prop = l->data; - - if (strcasecmp(prop->uuid, uuid) != 0) - continue; - - if (g_strcmp0(prop->name, name) == 0) - return prop; - } - - return NULL; -} - -bool btd_profile_add_custom_prop(const char *uuid, const char *type, - const char *name, - btd_profile_prop_exists exists, - btd_profile_prop_get get, - void *user_data) -{ - struct btd_profile_custom_property *prop; - - prop = find_custom_prop(uuid, name); - if (prop != NULL) - return false; - - prop = g_new0(struct btd_profile_custom_property, 1); - - prop->uuid = g_strdup(uuid); - prop->type = g_strdup(type); - prop->name = g_strdup(name); - prop->exists = exists; - prop->get = get; - prop->user_data = user_data; - - custom_props = g_slist_append(custom_props, prop); - - return true; -} - -static void free_property(gpointer data) -{ - struct btd_profile_custom_property *p = data; - - g_free(p->uuid); - g_free(p->type); - g_free(p->name); - - g_free(p); -} - -bool btd_profile_remove_custom_prop(const char *uuid, const char *name) -{ - struct btd_profile_custom_property *prop; - - prop = find_custom_prop(uuid, name); - if (prop == NULL) - return false; - - custom_props = g_slist_remove(custom_props, prop); - free_property(prop); - - return false; -} - -void btd_profile_init(void) -{ - g_dbus_register_interface(btd_get_dbus_connection(), - "/org/bluez", "org.bluez.ProfileManager1", - methods, NULL, NULL, NULL, NULL); -} - -void btd_profile_cleanup(void) -{ - while (ext_profiles) { - struct ext_profile *ext = ext_profiles->data; - DBusConnection *conn = btd_get_dbus_connection(); - DBusMessage *msg; - - DBG("Releasing \"%s\"", ext->name); - - g_slist_free_full(ext->conns, ext_io_destroy); - ext->conns = NULL; - - msg = dbus_message_new_method_call(ext->owner, ext->path, - "org.bluez.Profile1", - "Release"); - if (msg) - g_dbus_send_message(conn, msg); - - g_dbus_remove_watch(conn, ext->id); - remove_ext(ext); - - } - - g_slist_free_full(custom_props, free_property); - custom_props = NULL; - - g_dbus_unregister_interface(btd_get_dbus_connection(), - "/org/bluez", "org.bluez.ProfileManager1"); -} diff --git a/GRIB_BLE_HUB/libs/ble_extend/src/profile.h b/GRIB_BLE_HUB/libs/ble_extend/src/profile.h deleted file mode 100644 index 5d78b37..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/src/profile.h +++ /dev/null @@ -1,76 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2012 Intel Corporation. All rights reserved. - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#define BTD_PROFILE_PRIORITY_LOW 0 -#define BTD_PROFILE_PRIORITY_MEDIUM 1 -#define BTD_PROFILE_PRIORITY_HIGH 2 - -struct btd_profile { - const char *name; - int priority; - - const char *local_uuid; - const char *remote_uuid; - - bool auto_connect; - - int (*device_probe) (struct btd_profile *p, struct btd_device *device, - GSList *uuids); - void (*device_remove) (struct btd_profile *p, - struct btd_device *device); - - int (*connect) (struct btd_device *device, - struct btd_profile *profile); - int (*disconnect) (struct btd_device *device, - struct btd_profile *profile); - - int (*adapter_probe) (struct btd_profile *p, - struct btd_adapter *adapter); - void (*adapter_remove) (struct btd_profile *p, - struct btd_adapter *adapter); -}; - -void btd_profile_foreach(void (*func)(struct btd_profile *p, void *data), - void *data); - -int btd_profile_register(struct btd_profile *profile); -void btd_profile_unregister(struct btd_profile *profile); - -typedef bool (*btd_profile_prop_exists)(const char *uuid, - struct btd_device *dev, - void *user_data); - -typedef bool (*btd_profile_prop_get)(const char *uuid, - struct btd_device *dev, - DBusMessageIter *iter, - void *user_data); - -bool btd_profile_add_custom_prop(const char *uuid, const char *type, - const char *name, - btd_profile_prop_exists exists, - btd_profile_prop_get get, - void *user_data); -bool btd_profile_remove_custom_prop(const char *uuid, const char *name); - -void btd_profile_init(void); -void btd_profile_cleanup(void); diff --git a/GRIB_BLE_HUB/libs/ble_extend/src/rfkill.c b/GRIB_BLE_HUB/libs/ble_extend/src/rfkill.c deleted file mode 100644 index 70588c0..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/src/rfkill.c +++ /dev/null @@ -1,171 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2004-2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include -#include -#include -#include -#include -#include - -#include - -#include "log.h" -#include "adapter.h" -#include "hcid.h" - -enum rfkill_type { - RFKILL_TYPE_ALL = 0, - RFKILL_TYPE_WLAN, - RFKILL_TYPE_BLUETOOTH, - RFKILL_TYPE_UWB, - RFKILL_TYPE_WIMAX, - RFKILL_TYPE_WWAN, -}; - -enum rfkill_operation { - RFKILL_OP_ADD = 0, - RFKILL_OP_DEL, - RFKILL_OP_CHANGE, - RFKILL_OP_CHANGE_ALL, -}; - -struct rfkill_event { - uint32_t idx; - uint8_t type; - uint8_t op; - uint8_t soft; - uint8_t hard; -}; - -static gboolean rfkill_event(GIOChannel *chan, - GIOCondition cond, gpointer data) -{ - unsigned char buf[32]; - struct rfkill_event *event = (void *) buf; - struct btd_adapter *adapter; - char sysname[PATH_MAX]; - ssize_t len; - int fd, id; - - if (cond & (G_IO_NVAL | G_IO_HUP | G_IO_ERR)) - return FALSE; - - fd = g_io_channel_unix_get_fd(chan); - - memset(buf, 0, sizeof(buf)); - - len = read(fd, buf, sizeof(buf)); - if (len < 0) { - if (errno == EAGAIN) - return TRUE; - return FALSE; - } - - if (len != sizeof(struct rfkill_event)) - return TRUE; - - DBG("RFKILL event idx %u type %u op %u soft %u hard %u", - event->idx, event->type, event->op, - event->soft, event->hard); - - if (event->soft || event->hard) - return TRUE; - - if (event->op != RFKILL_OP_CHANGE) - return TRUE; - - if (event->type != RFKILL_TYPE_BLUETOOTH && - event->type != RFKILL_TYPE_ALL) - return TRUE; - - snprintf(sysname, sizeof(sysname) - 1, - "/sys/class/rfkill/rfkill%u/name", event->idx); - - fd = open(sysname, O_RDONLY); - if (fd < 0) - return TRUE; - - memset(sysname, 0, sizeof(sysname)); - - if (read(fd, sysname, sizeof(sysname) - 1) < 4) { - close(fd); - return TRUE; - } - - close(fd); - - if (g_str_has_prefix(sysname, "hci") == FALSE) - return TRUE; - - id = atoi(sysname + 3); - if (id < 0) - return TRUE; - - adapter = adapter_find_by_id(id); - if (!adapter) - return TRUE; - - DBG("RFKILL unblock for hci%d", id); - - btd_adapter_restore_powered(adapter); - - return TRUE; -} - -static guint watch = 0; - -void rfkill_init(void) -{ - int fd; - GIOChannel *channel; - - fd = open("/dev/rfkill", O_RDWR); - if (fd < 0) { - error("Failed to open RFKILL control device"); - return; - } - - channel = g_io_channel_unix_new(fd); - g_io_channel_set_close_on_unref(channel, TRUE); - - watch = g_io_add_watch(channel, - G_IO_IN | G_IO_NVAL | G_IO_HUP | G_IO_ERR, - rfkill_event, NULL); - - g_io_channel_unref(channel); -} - -void rfkill_exit(void) -{ - if (watch == 0) - return; - - g_source_remove(watch); - watch = 0; -} diff --git a/GRIB_BLE_HUB/libs/ble_extend/src/sdp-client.c b/GRIB_BLE_HUB/libs/ble_extend/src/sdp-client.c deleted file mode 100644 index 106344a..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/src/sdp-client.c +++ /dev/null @@ -1,388 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2004-2011 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include - -#include -#include -#include - -#include - -#include -#include "sdp-client.h" - -/* Number of seconds to keep a sdp_session_t in the cache */ -#define CACHE_TIMEOUT 2 - -struct cached_sdp_session { - bdaddr_t src; - bdaddr_t dst; - sdp_session_t *session; - guint timer; -}; - -static GSList *cached_sdp_sessions = NULL; - -static gboolean cached_session_expired(gpointer user_data) -{ - struct cached_sdp_session *cached = user_data; - - cached_sdp_sessions = g_slist_remove(cached_sdp_sessions, cached); - - sdp_close(cached->session); - - g_free(cached); - - return FALSE; -} - -static sdp_session_t *get_cached_sdp_session(const bdaddr_t *src, const bdaddr_t *dst) -{ - GSList *l; - - for (l = cached_sdp_sessions; l != NULL; l = l->next) { - struct cached_sdp_session *c = l->data; - sdp_session_t *session; - - if (bacmp(&c->src, src) || bacmp(&c->dst, dst)) - continue; - - g_source_remove(c->timer); - - session = c->session; - - cached_sdp_sessions = g_slist_remove(cached_sdp_sessions, c); - g_free(c); - - return session; - } - - return NULL; -} - -static sdp_session_t *get_sdp_session(const bdaddr_t *src, const bdaddr_t *dst) -{ - sdp_session_t *session; - - session = get_cached_sdp_session(src, dst); - if (session) - return session; - - return sdp_connect(src, dst, SDP_NON_BLOCKING); -} - -static void cache_sdp_session(bdaddr_t *src, bdaddr_t *dst, - sdp_session_t *session) -{ - struct cached_sdp_session *cached; - - cached = g_new0(struct cached_sdp_session, 1); - - bacpy(&cached->src, src); - bacpy(&cached->dst, dst); - - cached->session = session; - - cached_sdp_sessions = g_slist_append(cached_sdp_sessions, cached); - - cached->timer = g_timeout_add_seconds(CACHE_TIMEOUT, - cached_session_expired, - cached); -} - -struct search_context { - bdaddr_t src; - bdaddr_t dst; - sdp_session_t *session; - bt_callback_t cb; - bt_destroy_t destroy; - gpointer user_data; - uuid_t uuid; - guint io_id; -}; - -static GSList *context_list = NULL; - -static void search_context_cleanup(struct search_context *ctxt) -{ - context_list = g_slist_remove(context_list, ctxt); - - if (ctxt->destroy) - ctxt->destroy(ctxt->user_data); - - g_free(ctxt); -} - -static void search_completed_cb(uint8_t type, uint16_t status, - uint8_t *rsp, size_t size, void *user_data) -{ - struct search_context *ctxt = user_data; - sdp_list_t *recs = NULL; - int scanned, seqlen = 0, bytesleft = size; - uint8_t dataType; - int err = 0; - - if (status || type != SDP_SVC_SEARCH_ATTR_RSP) { - err = -EPROTO; - goto done; - } - - scanned = sdp_extract_seqtype(rsp, bytesleft, &dataType, &seqlen); - if (!scanned || !seqlen) - goto done; - - rsp += scanned; - bytesleft -= scanned; - do { - sdp_record_t *rec; - int recsize; - - recsize = 0; - rec = sdp_extract_pdu(rsp, bytesleft, &recsize); - if (!rec) - break; - - if (!recsize) { - sdp_record_free(rec); - break; - } - - scanned += recsize; - rsp += recsize; - bytesleft -= recsize; - - recs = sdp_list_append(recs, rec); - } while (scanned < (ssize_t) size && bytesleft > 0); - -done: - cache_sdp_session(&ctxt->src, &ctxt->dst, ctxt->session); - - if (ctxt->cb) - ctxt->cb(recs, err, ctxt->user_data); - - if (recs) - sdp_list_free(recs, (sdp_free_func_t) sdp_record_free); - - search_context_cleanup(ctxt); -} - -static gboolean search_process_cb(GIOChannel *chan, GIOCondition cond, - gpointer user_data) -{ - struct search_context *ctxt = user_data; - int err = 0; - - if (cond & (G_IO_ERR | G_IO_HUP | G_IO_NVAL)) { - err = EIO; - goto failed; - } - - if (sdp_process(ctxt->session) < 0) - goto failed; - - return TRUE; - -failed: - if (err) { - sdp_close(ctxt->session); - ctxt->session = NULL; - - if (ctxt->cb) - ctxt->cb(NULL, err, ctxt->user_data); - - search_context_cleanup(ctxt); - } - - return FALSE; -} - -static gboolean connect_watch(GIOChannel *chan, GIOCondition cond, - gpointer user_data) -{ - struct search_context *ctxt = user_data; - sdp_list_t *search, *attrids; - uint32_t range = 0x0000ffff; - socklen_t len; - int sk, err, sk_err = 0; - - sk = g_io_channel_unix_get_fd(chan); - ctxt->io_id = 0; - - len = sizeof(sk_err); - if (getsockopt(sk, SOL_SOCKET, SO_ERROR, &sk_err, &len) < 0) - err = -errno; - else - err = -sk_err; - - if (err != 0) - goto failed; - - if (sdp_set_notify(ctxt->session, search_completed_cb, ctxt) < 0) { - err = -EIO; - goto failed; - } - - search = sdp_list_append(NULL, &ctxt->uuid); - attrids = sdp_list_append(NULL, &range); - if (sdp_service_search_attr_async(ctxt->session, - search, SDP_ATTR_REQ_RANGE, attrids) < 0) { - sdp_list_free(attrids, NULL); - sdp_list_free(search, NULL); - err = -EIO; - goto failed; - } - - sdp_list_free(attrids, NULL); - sdp_list_free(search, NULL); - - /* Set callback responsible for update the internal SDP transaction */ - ctxt->io_id = g_io_add_watch(chan, - G_IO_IN | G_IO_HUP | G_IO_ERR | G_IO_NVAL, - search_process_cb, ctxt); - return FALSE; - -failed: - sdp_close(ctxt->session); - ctxt->session = NULL; - - if (ctxt->cb) - ctxt->cb(NULL, err, ctxt->user_data); - - search_context_cleanup(ctxt); - - return FALSE; -} - -static int create_search_context(struct search_context **ctxt, - const bdaddr_t *src, - const bdaddr_t *dst, - uuid_t *uuid) -{ - sdp_session_t *s; - GIOChannel *chan; - - if (!ctxt) - return -EINVAL; - - s = get_sdp_session(src, dst); - if (!s) - return -errno; - - *ctxt = g_try_malloc0(sizeof(struct search_context)); - if (!*ctxt) { - sdp_close(s); - return -ENOMEM; - } - - bacpy(&(*ctxt)->src, src); - bacpy(&(*ctxt)->dst, dst); - (*ctxt)->session = s; - (*ctxt)->uuid = *uuid; - - chan = g_io_channel_unix_new(sdp_get_socket(s)); - (*ctxt)->io_id = g_io_add_watch(chan, - G_IO_OUT | G_IO_HUP | G_IO_ERR | G_IO_NVAL, - connect_watch, *ctxt); - g_io_channel_unref(chan); - - return 0; -} - -int bt_search_service(const bdaddr_t *src, const bdaddr_t *dst, - uuid_t *uuid, bt_callback_t cb, void *user_data, - bt_destroy_t destroy) -{ - struct search_context *ctxt = NULL; - int err; - - if (!cb) - return -EINVAL; - - err = create_search_context(&ctxt, src, dst, uuid); - if (err < 0) - return err; - - ctxt->cb = cb; - ctxt->destroy = destroy; - ctxt->user_data = user_data; - - context_list = g_slist_append(context_list, ctxt); - - return 0; -} - -static gint find_by_bdaddr(gconstpointer data, gconstpointer user_data) -{ - const struct search_context *ctxt = data, *search = user_data; - int ret; - - ret = bacmp(&ctxt->src, &search->src); - if (ret != 0) - return ret; - - return bacmp(&ctxt->dst, &search->dst); -} - -int bt_cancel_discovery(const bdaddr_t *src, const bdaddr_t *dst) -{ - struct search_context match, *ctxt; - GSList *l; - - memset(&match, 0, sizeof(match)); - bacpy(&match.src, src); - bacpy(&match.dst, dst); - - /* Ongoing SDP Discovery */ - l = g_slist_find_custom(context_list, &match, find_by_bdaddr); - if (l == NULL) - return -ENOENT; - - ctxt = l->data; - - if (!ctxt->session) - return -ENOTCONN; - - if (ctxt->io_id) - g_source_remove(ctxt->io_id); - - if (ctxt->session) - sdp_close(ctxt->session); - - search_context_cleanup(ctxt); - - return 0; -} - -void bt_clear_cached_session(const bdaddr_t *src, const bdaddr_t *dst) -{ - sdp_session_t *session; - - session = get_cached_sdp_session(src, dst); - if (session) - sdp_close(session); -} diff --git a/GRIB_BLE_HUB/libs/ble_extend/src/sdp-client.h b/GRIB_BLE_HUB/libs/ble_extend/src/sdp-client.h deleted file mode 100644 index 9191594..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/src/sdp-client.h +++ /dev/null @@ -1,31 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2004-2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -typedef void (*bt_callback_t) (sdp_list_t *recs, int err, gpointer user_data); -typedef void (*bt_destroy_t) (gpointer user_data); - -int bt_search_service(const bdaddr_t *src, const bdaddr_t *dst, - uuid_t *uuid, bt_callback_t cb, void *user_data, - bt_destroy_t destroy); -int bt_cancel_discovery(const bdaddr_t *src, const bdaddr_t *dst); -void bt_clear_cached_session(const bdaddr_t *src, const bdaddr_t *dst); diff --git a/GRIB_BLE_HUB/libs/ble_extend/src/sdp-xml.c b/GRIB_BLE_HUB/libs/ble_extend/src/sdp-xml.c deleted file mode 100644 index 6492781..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/src/sdp-xml.c +++ /dev/null @@ -1,996 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2005-2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include -#include -#include -#include -#include - -#include - -#include -#include - -#include "sdp-xml.h" - -#define DBG(...) (void)(0) -#define error(...) (void)(0) - -#define SDP_XML_ENCODING_NORMAL 0 -#define SDP_XML_ENCODING_HEX 1 - -#define STRBUFSIZE 1024 -#define MAXINDENT 64 - -struct sdp_xml_data { - char *text; /* Pointer to the current buffer */ - int size; /* Size of the current buffer */ - sdp_data_t *data; /* The current item being built */ - struct sdp_xml_data *next; /* Next item on the stack */ - char type; /* 0 = Text or Hexadecimal */ - char *name; /* Name, optional in the dtd */ - /* TODO: What is it used for? */ -}; - -struct context_data { - sdp_record_t *record; - sdp_data_t attr_data; - struct sdp_xml_data *stack_head; - uint16_t attr_id; -}; - -static int compute_seq_size(sdp_data_t *data) -{ - int unit_size = data->unitSize; - sdp_data_t *seq = data->val.dataseq; - - for (; seq; seq = seq->next) - unit_size += seq->unitSize; - - return unit_size; -} - -#define DEFAULT_XML_DATA_SIZE 1024 - -static struct sdp_xml_data *sdp_xml_data_alloc(void) -{ - struct sdp_xml_data *elem; - - elem = malloc(sizeof(struct sdp_xml_data)); - if (!elem) - return NULL; - - memset(elem, 0, sizeof(struct sdp_xml_data)); - - /* Null terminate the text */ - elem->size = DEFAULT_XML_DATA_SIZE; - elem->text = malloc(DEFAULT_XML_DATA_SIZE); - elem->text[0] = '\0'; - - return elem; -} - -static struct sdp_xml_data *sdp_xml_data_expand(struct sdp_xml_data *elem) -{ - char *newbuf; - - newbuf = malloc(elem->size * 2); - if (!newbuf) - return NULL; - - memcpy(newbuf, elem->text, elem->size); - elem->size *= 2; - free(elem->text); - - elem->text = newbuf; - - return elem; -} - -static sdp_data_t *sdp_xml_parse_uuid128(const char *data) -{ - uint128_t val; - unsigned int i, j; - - char buf[3]; - - memset(&val, 0, sizeof(val)); - - buf[2] = '\0'; - - for (j = 0, i = 0; i < strlen(data);) { - if (data[i] == '-') { - i++; - continue; - } - - buf[0] = data[i]; - buf[1] = data[i + 1]; - - val.data[j++] = strtoul(buf, 0, 16); - i += 2; - } - - return sdp_data_alloc(SDP_UUID128, &val); -} - -static sdp_data_t *sdp_xml_parse_uuid(const char *data, sdp_record_t *record) -{ - sdp_data_t *ret; - char *endptr; - uint32_t val; - uint16_t val2; - int len; - - len = strlen(data); - - if (len == 36) { - ret = sdp_xml_parse_uuid128(data); - goto result; - } - - val = strtoll(data, &endptr, 16); - - /* Couldn't parse */ - if (*endptr != '\0') - return NULL; - - if (val > USHRT_MAX) { - ret = sdp_data_alloc(SDP_UUID32, &val); - goto result; - } - - val2 = val; - - ret = sdp_data_alloc(SDP_UUID16, &val2); - -result: - if (record && ret) - sdp_pattern_add_uuid(record, &ret->val.uuid); - - return ret; -} - -static sdp_data_t *sdp_xml_parse_int(const char *data, uint8_t dtd) -{ - char *endptr; - sdp_data_t *ret = NULL; - - switch (dtd) { - case SDP_BOOL: - { - uint8_t val = 0; - - if (!strcmp("true", data)) - val = 1; - else if (!strcmp("false", data)) - val = 0; - else - return NULL; - - ret = sdp_data_alloc(dtd, &val); - break; - } - - case SDP_INT8: - { - int8_t val = strtoul(data, &endptr, 0); - - /* Failed to parse */ - if ((endptr != data) && (*endptr != '\0')) - return NULL; - - ret = sdp_data_alloc(dtd, &val); - break; - } - - case SDP_UINT8: - { - uint8_t val = strtoul(data, &endptr, 0); - - /* Failed to parse */ - if ((endptr != data) && (*endptr != '\0')) - return NULL; - - ret = sdp_data_alloc(dtd, &val); - break; - } - - case SDP_INT16: - { - int16_t val = strtoul(data, &endptr, 0); - - /* Failed to parse */ - if ((endptr != data) && (*endptr != '\0')) - return NULL; - - ret = sdp_data_alloc(dtd, &val); - break; - } - - case SDP_UINT16: - { - uint16_t val = strtoul(data, &endptr, 0); - - /* Failed to parse */ - if ((endptr != data) && (*endptr != '\0')) - return NULL; - - ret = sdp_data_alloc(dtd, &val); - break; - } - - case SDP_INT32: - { - int32_t val = strtoul(data, &endptr, 0); - - /* Failed to parse */ - if ((endptr != data) && (*endptr != '\0')) - return NULL; - - ret = sdp_data_alloc(dtd, &val); - break; - } - - case SDP_UINT32: - { - uint32_t val = strtoul(data, &endptr, 0); - - /* Failed to parse */ - if ((endptr != data) && (*endptr != '\0')) - return NULL; - - ret = sdp_data_alloc(dtd, &val); - break; - } - - case SDP_INT64: - { - int64_t val = strtoull(data, &endptr, 0); - - /* Failed to parse */ - if ((endptr != data) && (*endptr != '\0')) - return NULL; - - ret = sdp_data_alloc(dtd, &val); - break; - } - - case SDP_UINT64: - { - uint64_t val = strtoull(data, &endptr, 0); - - /* Failed to parse */ - if ((endptr != data) && (*endptr != '\0')) - return NULL; - - ret = sdp_data_alloc(dtd, &val); - break; - } - - case SDP_INT128: - case SDP_UINT128: - { - uint128_t val; - int i = 0; - char buf[3]; - - buf[2] = '\0'; - - for (; i < 32; i += 2) { - buf[0] = data[i]; - buf[1] = data[i + 1]; - - val.data[i >> 1] = strtoul(buf, 0, 16); - } - - ret = sdp_data_alloc(dtd, &val); - break; - } - - }; - - return ret; -} - -static char *sdp_xml_parse_string_decode(const char *data, char encoding, - uint32_t *length) -{ - int len = strlen(data); - char *text; - - if (encoding == SDP_XML_ENCODING_NORMAL) { - text = strdup(data); - *length = len; - } else { - char buf[3], *decoded; - int i; - - decoded = malloc((len >> 1) + 1); - - /* Ensure the string is a power of 2 */ - len = (len >> 1) << 1; - - buf[2] = '\0'; - - for (i = 0; i < len; i += 2) { - buf[0] = data[i]; - buf[1] = data[i + 1]; - - decoded[i >> 1] = strtoul(buf, 0, 16); - } - - decoded[len >> 1] = '\0'; - text = decoded; - *length = len >> 1; - } - - return text; -} - -static sdp_data_t *sdp_xml_parse_url(const char *data) -{ - uint8_t dtd = SDP_URL_STR8; - char *url; - uint32_t length; - sdp_data_t *ret; - - url = sdp_xml_parse_string_decode(data, - SDP_XML_ENCODING_NORMAL, &length); - - if (length > UCHAR_MAX) - dtd = SDP_URL_STR16; - - ret = sdp_data_alloc_with_length(dtd, url, length); - - free(url); - - return ret; -} - -static sdp_data_t *sdp_xml_parse_text(const char *data, char encoding) -{ - uint8_t dtd = SDP_TEXT_STR8; - char *text; - uint32_t length; - sdp_data_t *ret; - - text = sdp_xml_parse_string_decode(data, encoding, &length); - - if (length > UCHAR_MAX) - dtd = SDP_TEXT_STR16; - - ret = sdp_data_alloc_with_length(dtd, text, length); - - free(text); - - return ret; -} - -static sdp_data_t *sdp_xml_parse_nil(const char *data) -{ - return sdp_data_alloc(SDP_DATA_NIL, 0); -} - -static sdp_data_t *sdp_xml_parse_datatype(const char *el, - struct sdp_xml_data *elem, - sdp_record_t *record) -{ - const char *data = elem->text; - - if (!strcmp(el, "boolean")) - return sdp_xml_parse_int(data, SDP_BOOL); - else if (!strcmp(el, "uint8")) - return sdp_xml_parse_int(data, SDP_UINT8); - else if (!strcmp(el, "uint16")) - return sdp_xml_parse_int(data, SDP_UINT16); - else if (!strcmp(el, "uint32")) - return sdp_xml_parse_int(data, SDP_UINT32); - else if (!strcmp(el, "uint64")) - return sdp_xml_parse_int(data, SDP_UINT64); - else if (!strcmp(el, "uint128")) - return sdp_xml_parse_int(data, SDP_UINT128); - else if (!strcmp(el, "int8")) - return sdp_xml_parse_int(data, SDP_INT8); - else if (!strcmp(el, "int16")) - return sdp_xml_parse_int(data, SDP_INT16); - else if (!strcmp(el, "int32")) - return sdp_xml_parse_int(data, SDP_INT32); - else if (!strcmp(el, "int64")) - return sdp_xml_parse_int(data, SDP_INT64); - else if (!strcmp(el, "int128")) - return sdp_xml_parse_int(data, SDP_INT128); - else if (!strcmp(el, "uuid")) - return sdp_xml_parse_uuid(data, record); - else if (!strcmp(el, "url")) - return sdp_xml_parse_url(data); - else if (!strcmp(el, "text")) - return sdp_xml_parse_text(data, elem->type); - else if (!strcmp(el, "nil")) - return sdp_xml_parse_nil(data); - - return NULL; -} -static void element_start(GMarkupParseContext *context, - const char *element_name, const char **attribute_names, - const char **attribute_values, gpointer user_data, GError **err) -{ - struct context_data *ctx_data = user_data; - - if (!strcmp(element_name, "record")) - return; - - if (!strcmp(element_name, "attribute")) { - int i; - for (i = 0; attribute_names[i]; i++) { - if (!strcmp(attribute_names[i], "id")) { - ctx_data->attr_id = strtol(attribute_values[i], 0, 0); - break; - } - } - DBG("New attribute 0x%04x", ctx_data->attr_id); - return; - } - - if (ctx_data->stack_head) { - struct sdp_xml_data *newelem = sdp_xml_data_alloc(); - newelem->next = ctx_data->stack_head; - ctx_data->stack_head = newelem; - } else { - ctx_data->stack_head = sdp_xml_data_alloc(); - ctx_data->stack_head->next = NULL; - } - - if (!strcmp(element_name, "sequence")) - ctx_data->stack_head->data = sdp_data_alloc(SDP_SEQ8, NULL); - else if (!strcmp(element_name, "alternate")) - ctx_data->stack_head->data = sdp_data_alloc(SDP_ALT8, NULL); - else { - int i; - /* Parse value, name, encoding */ - for (i = 0; attribute_names[i]; i++) { - if (!strcmp(attribute_names[i], "value")) { - int curlen = strlen(ctx_data->stack_head->text); - int attrlen = strlen(attribute_values[i]); - - /* Ensure we're big enough */ - while ((curlen + 1 + attrlen) > ctx_data->stack_head->size) - sdp_xml_data_expand(ctx_data->stack_head); - - memcpy(ctx_data->stack_head->text + curlen, - attribute_values[i], attrlen); - ctx_data->stack_head->text[curlen + attrlen] = '\0'; - } - - if (!strcmp(attribute_names[i], "encoding")) { - if (!strcmp(attribute_values[i], "hex")) - ctx_data->stack_head->type = 1; - } - - if (!strcmp(attribute_names[i], "name")) - ctx_data->stack_head->name = strdup(attribute_values[i]); - } - - ctx_data->stack_head->data = sdp_xml_parse_datatype(element_name, - ctx_data->stack_head, ctx_data->record); - - if (ctx_data->stack_head->data == NULL) - error("Can't parse element %s", element_name); - } -} - -static void sdp_xml_data_free(struct sdp_xml_data *elem) -{ - if (elem->data) - sdp_data_free(elem->data); - - free(elem->name); - free(elem->text); - free(elem); -} - -static void element_end(GMarkupParseContext *context, - const char *element_name, gpointer user_data, GError **err) -{ - struct context_data *ctx_data = user_data; - struct sdp_xml_data *elem; - - if (!strcmp(element_name, "record")) - return; - - if (!strcmp(element_name, "attribute")) { - if (ctx_data->stack_head && ctx_data->stack_head->data) { - int ret = sdp_attr_add(ctx_data->record, ctx_data->attr_id, - ctx_data->stack_head->data); - if (ret == -1) - DBG("Could not add attribute 0x%04x", - ctx_data->attr_id); - - ctx_data->stack_head->data = NULL; - sdp_xml_data_free(ctx_data->stack_head); - ctx_data->stack_head = NULL; - } else { - DBG("No data for attribute 0x%04x", ctx_data->attr_id); - } - return; - } - - if (!ctx_data->stack_head || !ctx_data->stack_head->data) { - DBG("No data for %s", element_name); - return; - } - - if (!strcmp(element_name, "sequence")) { - ctx_data->stack_head->data->unitSize = compute_seq_size(ctx_data->stack_head->data); - - if (ctx_data->stack_head->data->unitSize > USHRT_MAX) { - ctx_data->stack_head->data->unitSize += sizeof(uint32_t); - ctx_data->stack_head->data->dtd = SDP_SEQ32; - } else if (ctx_data->stack_head->data->unitSize > UCHAR_MAX) { - ctx_data->stack_head->data->unitSize += sizeof(uint16_t); - ctx_data->stack_head->data->dtd = SDP_SEQ16; - } else { - ctx_data->stack_head->data->unitSize += sizeof(uint8_t); - } - } else if (!strcmp(element_name, "alternate")) { - ctx_data->stack_head->data->unitSize = compute_seq_size(ctx_data->stack_head->data); - - if (ctx_data->stack_head->data->unitSize > USHRT_MAX) { - ctx_data->stack_head->data->unitSize += sizeof(uint32_t); - ctx_data->stack_head->data->dtd = SDP_ALT32; - } else if (ctx_data->stack_head->data->unitSize > UCHAR_MAX) { - ctx_data->stack_head->data->unitSize += sizeof(uint16_t); - ctx_data->stack_head->data->dtd = SDP_ALT16; - } else { - ctx_data->stack_head->data->unitSize += sizeof(uint8_t); - } - } - - if (ctx_data->stack_head->next && ctx_data->stack_head->data && - ctx_data->stack_head->next->data) { - switch (ctx_data->stack_head->next->data->dtd) { - case SDP_SEQ8: - case SDP_SEQ16: - case SDP_SEQ32: - case SDP_ALT8: - case SDP_ALT16: - case SDP_ALT32: - ctx_data->stack_head->next->data->val.dataseq = - sdp_seq_append(ctx_data->stack_head->next->data->val.dataseq, - ctx_data->stack_head->data); - ctx_data->stack_head->data = NULL; - break; - } - - elem = ctx_data->stack_head; - ctx_data->stack_head = ctx_data->stack_head->next; - - sdp_xml_data_free(elem); - } -} - -static GMarkupParser parser = { - element_start, element_end, NULL, NULL, NULL -}; - -sdp_record_t *sdp_xml_parse_record(const char *data, int size) -{ - GMarkupParseContext *ctx; - struct context_data *ctx_data; - sdp_record_t *record; - - ctx_data = malloc(sizeof(*ctx_data)); - if (!ctx_data) - return NULL; - - record = sdp_record_alloc(); - if (!record) { - free(ctx_data); - return NULL; - } - - memset(ctx_data, 0, sizeof(*ctx_data)); - ctx_data->record = record; - - ctx = g_markup_parse_context_new(&parser, 0, ctx_data, NULL); - - if (g_markup_parse_context_parse(ctx, data, size, NULL) == FALSE) { - error("XML parsing error"); - g_markup_parse_context_free(ctx); - sdp_record_free(record); - free(ctx_data); - return NULL; - } - - g_markup_parse_context_free(ctx); - - free(ctx_data); - - return record; -} - - -static void convert_raw_data_to_xml(sdp_data_t *value, int indent_level, - void *data, void (*appender)(void *, const char *)) -{ - int i, hex; - char buf[STRBUFSIZE]; - char indent[MAXINDENT]; - - if (!value) - return; - - if (indent_level >= MAXINDENT) - indent_level = MAXINDENT - 2; - - for (i = 0; i < indent_level; i++) - indent[i] = '\t'; - - indent[i] = '\0'; - buf[STRBUFSIZE - 1] = '\0'; - - switch (value->dtd) { - case SDP_DATA_NIL: - appender(data, indent); - appender(data, "\n"); - break; - - case SDP_BOOL: - appender(data, indent); - appender(data, "val.uint8 ? "true" : "false"); - appender(data, "\" />\n"); - break; - - case SDP_UINT8: - appender(data, indent); - appender(data, "val.uint8); - appender(data, buf); - appender(data, "\" />\n"); - break; - - case SDP_UINT16: - appender(data, indent); - appender(data, "val.uint16); - appender(data, buf); - appender(data, "\" />\n"); - break; - - case SDP_UINT32: - appender(data, indent); - appender(data, "val.uint32); - appender(data, buf); - appender(data, "\" />\n"); - break; - - case SDP_UINT64: - appender(data, indent); - appender(data, "val.uint64); - appender(data, buf); - appender(data, "\" />\n"); - break; - - case SDP_UINT128: - appender(data, indent); - appender(data, "val.uint128.data[i]); - } - - appender(data, buf); - appender(data, "\" />\n"); - break; - - case SDP_INT8: - appender(data, indent); - appender(data, "val.int8); - appender(data, buf); - appender(data, "\" />\n"); - break; - - case SDP_INT16: - appender(data, indent); - appender(data, "val.int16); - appender(data, buf); - appender(data, "\" />\n"); - break; - - case SDP_INT32: - appender(data, indent); - appender(data, "val.int32); - appender(data, buf); - appender(data, "\" />\n"); - break; - - case SDP_INT64: - appender(data, indent); - appender(data, "val.int64); - appender(data, buf); - appender(data, "\" />\n"); - break; - - case SDP_INT128: - appender(data, indent); - appender(data, "val.int128.data[i]); - } - appender(data, buf); - - appender(data, "\" />\n"); - break; - - case SDP_UUID16: - appender(data, indent); - appender(data, "val.uuid.value.uuid16); - appender(data, buf); - appender(data, "\" />\n"); - break; - - case SDP_UUID32: - appender(data, indent); - appender(data, "val.uuid.value.uuid32); - appender(data, buf); - appender(data, "\" />\n"); - break; - - case SDP_UUID128: - appender(data, indent); - appender(data, "val.uuid.value. - uuid128.data[0], - (unsigned char) value->val.uuid.value. - uuid128.data[1], - (unsigned char) value->val.uuid.value. - uuid128.data[2], - (unsigned char) value->val.uuid.value. - uuid128.data[3], - (unsigned char) value->val.uuid.value. - uuid128.data[4], - (unsigned char) value->val.uuid.value. - uuid128.data[5], - (unsigned char) value->val.uuid.value. - uuid128.data[6], - (unsigned char) value->val.uuid.value. - uuid128.data[7], - (unsigned char) value->val.uuid.value. - uuid128.data[8], - (unsigned char) value->val.uuid.value. - uuid128.data[9], - (unsigned char) value->val.uuid.value. - uuid128.data[10], - (unsigned char) value->val.uuid.value. - uuid128.data[11], - (unsigned char) value->val.uuid.value. - uuid128.data[12], - (unsigned char) value->val.uuid.value. - uuid128.data[13], - (unsigned char) value->val.uuid.value. - uuid128.data[14], - (unsigned char) value->val.uuid.value. - uuid128.data[15]); - - appender(data, buf); - appender(data, "\" />\n"); - break; - - case SDP_TEXT_STR8: - case SDP_TEXT_STR16: - case SDP_TEXT_STR32: - { - int num_chars_to_escape = 0; - int length = value->unitSize - 1; - char *strBuf = 0; - - hex = 0; - - for (i = 0; i < length; i++) { - if (!isprint(value->val.str[i]) && - value->val.str[i] != '\0') { - hex = 1; - break; - } - - /* XML is evil, must do this... */ - if ((value->val.str[i] == '<') || - (value->val.str[i] == '>') || - (value->val.str[i] == '"') || - (value->val.str[i] == '&')) - num_chars_to_escape++; - } - - appender(data, indent); - - appender(data, "unitSize-1) * 2 + 1)); - - /* Unit Size seems to include the size for dtd - It is thus off by 1 - This is safe for Normal strings, but not - hex encoded data */ - for (i = 0; i < (value->unitSize-1); i++) - sprintf(&strBuf[i*sizeof(char)*2], - "%02x", - (unsigned char) value->val.str[i]); - - strBuf[(value->unitSize-1) * 2] = '\0'; - } else { - int j; - /* escape the XML disallowed chars */ - strBuf = malloc(sizeof(char) * - (value->unitSize + 1 + num_chars_to_escape * 4)); - for (i = 0, j = 0; i < length; i++) { - if (value->val.str[i] == '&') { - strBuf[j++] = '&'; - strBuf[j++] = 'a'; - strBuf[j++] = 'm'; - strBuf[j++] = 'p'; - } else if (value->val.str[i] == '<') { - strBuf[j++] = '&'; - strBuf[j++] = 'l'; - strBuf[j++] = 't'; - } else if (value->val.str[i] == '>') { - strBuf[j++] = '&'; - strBuf[j++] = 'g'; - strBuf[j++] = 't'; - } else if (value->val.str[i] == '"') { - strBuf[j++] = '&'; - strBuf[j++] = 'q'; - strBuf[j++] = 'u'; - strBuf[j++] = 'o'; - strBuf[j++] = 't'; - } else if (value->val.str[i] == '\0') { - strBuf[j++] = ' '; - } else { - strBuf[j++] = value->val.str[i]; - } - } - - strBuf[j] = '\0'; - } - - appender(data, "value=\""); - appender(data, strBuf); - appender(data, "\" />\n"); - free(strBuf); - break; - } - - case SDP_URL_STR8: - case SDP_URL_STR16: - case SDP_URL_STR32: - { - char *strBuf; - - appender(data, indent); - appender(data, "val.str, value->unitSize - 1); - appender(data, strBuf); - free(strBuf); - appender(data, "\" />\n"); - break; - } - - case SDP_SEQ8: - case SDP_SEQ16: - case SDP_SEQ32: - appender(data, indent); - appender(data, "\n"); - - convert_raw_data_to_xml(value->val.dataseq, - indent_level + 1, data, appender); - - appender(data, indent); - appender(data, "\n"); - - break; - - case SDP_ALT8: - case SDP_ALT16: - case SDP_ALT32: - appender(data, indent); - - appender(data, "\n"); - - convert_raw_data_to_xml(value->val.dataseq, - indent_level + 1, data, appender); - appender(data, indent); - - appender(data, "\n"); - - break; - } - - convert_raw_data_to_xml(value->next, indent_level, data, appender); -} - -struct conversion_data { - void *data; - void (*appender)(void *data, const char *); -}; - -static void convert_raw_attr_to_xml_func(void *val, void *data) -{ - struct conversion_data *cd = data; - sdp_data_t *value = val; - char buf[STRBUFSIZE]; - - buf[STRBUFSIZE - 1] = '\0'; - snprintf(buf, STRBUFSIZE - 1, "\t\n", - value->attrId); - cd->appender(cd->data, buf); - - convert_raw_data_to_xml(value, 2, cd->data, cd->appender); - - cd->appender(cd->data, "\t\n"); -} - -/* - * Will convert the sdp record to XML. The appender and data can be used - * to control where to output the record (e.g. file or a data buffer). The - * appender will be called repeatedly with data and the character buffer - * (containing parts of the generated XML) to append. - */ -void convert_sdp_record_to_xml(sdp_record_t *rec, - void *data, void (*appender)(void *, const char *)) -{ - struct conversion_data cd; - - cd.data = data; - cd.appender = appender; - - if (rec && rec->attrlist) { - appender(data, "\n\n"); - appender(data, "\n"); - sdp_list_foreach(rec->attrlist, - convert_raw_attr_to_xml_func, &cd); - appender(data, "\n"); - } -} diff --git a/GRIB_BLE_HUB/libs/ble_extend/src/sdp-xml.h b/GRIB_BLE_HUB/libs/ble_extend/src/sdp-xml.h deleted file mode 100644 index d6a2f73..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/src/sdp-xml.h +++ /dev/null @@ -1,35 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2005-2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - - -#ifndef __SDP_XML_H -#define __SDP_XML_H - -#include - -void convert_sdp_record_to_xml(sdp_record_t *rec, - void *user_data, void (*append_func) (void *, const char *)); - -sdp_record_t *sdp_xml_parse_record(const char *data, int size); - -#endif /* __SDP_XML_H */ diff --git a/GRIB_BLE_HUB/libs/ble_extend/src/sdpd-database.c b/GRIB_BLE_HUB/libs/ble_extend/src/sdpd-database.c deleted file mode 100644 index ad896a4..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/src/sdpd-database.c +++ /dev/null @@ -1,343 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2001-2002 Nokia Corporation - * Copyright (C) 2002-2003 Maxim Krasnyansky - * Copyright (C) 2002-2010 Marcel Holtmann - * Copyright (C) 2002-2003 Stephen Crane - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include -#include -#include - -#include -#include -#include -#include - -#include "sdpd.h" -#include "log.h" -#include "adapter.h" - -static sdp_list_t *service_db; -static sdp_list_t *access_db; - -typedef struct { - uint32_t handle; - bdaddr_t device; -} sdp_access_t; - -/* - * Ordering function called when inserting a service record. - * The service repository is a linked list in sorted order - * and the service record handle is the sort key - */ -int record_sort(const void *r1, const void *r2) -{ - const sdp_record_t *rec1 = r1; - const sdp_record_t *rec2 = r2; - - if (!rec1 || !rec2) { - error("NULL RECORD LIST FATAL"); - return -1; - } - - return rec1->handle - rec2->handle; -} - -static int access_sort(const void *r1, const void *r2) -{ - const sdp_access_t *rec1 = r1; - const sdp_access_t *rec2 = r2; - - if (!rec1 || !rec2) { - error("NULL RECORD LIST FATAL"); - return -1; - } - - return rec1->handle - rec2->handle; -} - -static void access_free(void *p) -{ - free(p); -} - -/* - * Reset the service repository by deleting its contents - */ -void sdp_svcdb_reset(void) -{ - sdp_list_free(service_db, (sdp_free_func_t) sdp_record_free); - service_db = NULL; - - sdp_list_free(access_db, access_free); - access_db = NULL; -} - -typedef struct _indexed { - int sock; - sdp_record_t *record; -} sdp_indexed_t; - -static sdp_list_t *socket_index; - -/* - * collect all services registered over this socket - */ -void sdp_svcdb_collect_all(int sock) -{ - sdp_list_t *p, *q; - - for (p = socket_index, q = 0; p; ) { - sdp_indexed_t *item = p->data; - if (item->sock == sock) { - sdp_list_t *next = p->next; - sdp_record_remove(item->record->handle); - sdp_record_free(item->record); - free(item); - if (q) - q->next = next; - else - socket_index = next; - free(p); - p = next; - } else if (item->sock > sock) - return; - else { - q = p; - p = p->next; - } - } -} - -void sdp_svcdb_collect(sdp_record_t *rec) -{ - sdp_list_t *p, *q; - - for (p = socket_index, q = 0; p; q = p, p = p->next) { - sdp_indexed_t *item = p->data; - if (rec == item->record) { - free(item); - if (q) - q->next = p->next; - else - socket_index = p->next; - free(p); - return; - } - } -} - -static int compare_indices(const void *i1, const void *i2) -{ - const sdp_indexed_t *s1 = i1; - const sdp_indexed_t *s2 = i2; - return s1->sock - s2->sock; -} - -void sdp_svcdb_set_collectable(sdp_record_t *record, int sock) -{ - sdp_indexed_t *item = malloc(sizeof(sdp_indexed_t)); - item->sock = sock; - item->record = record; - socket_index = sdp_list_insert_sorted(socket_index, item, compare_indices); -} - -/* - * Add a service record to the repository - */ -void sdp_record_add(const bdaddr_t *device, sdp_record_t *rec) -{ - struct btd_adapter *adapter; - sdp_access_t *dev; - - SDPDBG("Adding rec : 0x%lx", (long) rec); - SDPDBG("with handle : 0x%x", rec->handle); - - service_db = sdp_list_insert_sorted(service_db, rec, record_sort); - - dev = malloc(sizeof(*dev)); - if (!dev) - return; - - bacpy(&dev->device, device); - dev->handle = rec->handle; - - access_db = sdp_list_insert_sorted(access_db, dev, access_sort); - - if (bacmp(device, BDADDR_ANY) == 0) { - adapter_foreach(adapter_service_insert, rec); - return; - } - - adapter = adapter_find(device); - if (adapter) - adapter_service_insert(adapter, rec); -} - -static sdp_list_t *record_locate(uint32_t handle) -{ - if (service_db) { - sdp_list_t *p; - sdp_record_t r; - - r.handle = handle; - p = sdp_list_find(service_db, &r, record_sort); - return p; - } - - SDPDBG("Could not find svcRec for : 0x%x", handle); - return NULL; -} - -static sdp_list_t *access_locate(uint32_t handle) -{ - if (access_db) { - sdp_list_t *p; - sdp_access_t a; - - a.handle = handle; - p = sdp_list_find(access_db, &a, access_sort); - return p; - } - - SDPDBG("Could not find access data for : 0x%x", handle); - return NULL; -} - -/* - * Given a service record handle, find the record associated with it. - */ -sdp_record_t *sdp_record_find(uint32_t handle) -{ - sdp_list_t *p = record_locate(handle); - - if (!p) { - SDPDBG("Couldn't find record for : 0x%x", handle); - return 0; - } - - return p->data; -} - -/* - * Given a service record handle, remove its record from the repository - */ -int sdp_record_remove(uint32_t handle) -{ - sdp_list_t *p = record_locate(handle); - sdp_record_t *r; - sdp_access_t *a; - - if (!p) { - error("Remove : Couldn't find record for : 0x%x", handle); - return -1; - } - - r = p->data; - if (r) - service_db = sdp_list_remove(service_db, r); - - p = access_locate(handle); - if (p == NULL || p->data == NULL) - return 0; - - a = p->data; - - if (bacmp(&a->device, BDADDR_ANY) != 0) { - struct btd_adapter *adapter = adapter_find(&a->device); - if (adapter) - adapter_service_remove(adapter, r); - } else - adapter_foreach(adapter_service_remove, r); - - access_db = sdp_list_remove(access_db, a); - access_free(a); - - return 0; -} - -/* - * Return a pointer to the linked list containing the records in sorted order - */ -sdp_list_t *sdp_get_record_list(void) -{ - return service_db; -} - -int sdp_check_access(uint32_t handle, bdaddr_t *device) -{ - sdp_list_t *p = access_locate(handle); - sdp_access_t *a; - - if (!p) - return 1; - - a = p->data; - if (!a) - return 1; - - if (bacmp(&a->device, device) && - bacmp(&a->device, BDADDR_ANY) && - bacmp(device, BDADDR_ANY)) - return 0; - - return 1; -} - -uint32_t sdp_next_handle(void) -{ - uint32_t handle = 0x10000; - - while (sdp_record_find(handle)) - handle++; - - return handle; -} - -void sdp_init_services_list(bdaddr_t *device) -{ - sdp_list_t *p; - - DBG(""); - - for (p = access_db; p != NULL; p = p->next) { - sdp_access_t *access = p->data; - sdp_record_t *rec; - - if (bacmp(BDADDR_ANY, &access->device)) - continue; - - rec = sdp_record_find(access->handle); - if (rec == NULL) - continue; - - SDPDBG("adding record with handle %x", access->handle); - - adapter_foreach(adapter_service_insert, rec); - } -} diff --git a/GRIB_BLE_HUB/libs/ble_extend/src/sdpd-request.c b/GRIB_BLE_HUB/libs/ble_extend/src/sdpd-request.c deleted file mode 100644 index 0d5bf25..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/src/sdpd-request.c +++ /dev/null @@ -1,1121 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2001-2002 Nokia Corporation - * Copyright (C) 2002-2003 Maxim Krasnyansky - * Copyright (C) 2002-2010 Marcel Holtmann - * Copyright (C) 2002-2003 Stephen Crane - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include - -#include - -#include "sdpd.h" -#include "log.h" - -typedef struct { - uint32_t timestamp; - union { - uint16_t maxBytesSent; - uint16_t lastIndexSent; - } cStateValue; -} sdp_cont_state_t; - -#define SDP_CONT_STATE_SIZE (sizeof(uint8_t) + sizeof(sdp_cont_state_t)) - -#define MIN(x, y) ((x) < (y)) ? (x): (y) - -typedef struct _sdp_cstate_list sdp_cstate_list_t; - -struct _sdp_cstate_list { - sdp_cstate_list_t *next; - uint32_t timestamp; - sdp_buf_t buf; -}; - -static sdp_cstate_list_t *cstates; - -/* FIXME: should probably remove it when it's found */ -static sdp_buf_t *sdp_get_cached_rsp(sdp_cont_state_t *cstate) -{ - sdp_cstate_list_t *p; - - for (p = cstates; p; p = p->next) - if (p->timestamp == cstate->timestamp) - return &p->buf; - return 0; -} - -static uint32_t sdp_cstate_alloc_buf(sdp_buf_t *buf) -{ - sdp_cstate_list_t *cstate = malloc(sizeof(sdp_cstate_list_t)); - uint8_t *data = malloc(buf->data_size); - - memcpy(data, buf->data, buf->data_size); - memset((char *)cstate, 0, sizeof(sdp_cstate_list_t)); - cstate->buf.data = data; - cstate->buf.data_size = buf->data_size; - cstate->buf.buf_size = buf->data_size; - cstate->timestamp = sdp_get_time(); - cstate->next = cstates; - cstates = cstate; - return cstate->timestamp; -} - -/* Additional values for checking datatype (not in spec) */ -#define SDP_TYPE_UUID 0xfe -#define SDP_TYPE_ATTRID 0xff - -struct attrid { - uint8_t dtd; - union { - uint16_t uint16; - uint32_t uint32; - }; -}; - -/* - * Generic data element sequence extractor. Builds - * a list whose elements are those found in the - * sequence. The data type of elements found in the - * sequence is returned in the reference pDataType - */ -static int extract_des(uint8_t *buf, int len, sdp_list_t **svcReqSeq, uint8_t *pDataType, uint8_t expectedType) -{ - uint8_t seqType; - int scanned, data_size = 0; - short numberOfElements = 0; - int seqlen = 0; - sdp_list_t *pSeq = NULL; - uint8_t dataType; - int status = 0; - const uint8_t *p; - size_t bufsize; - - scanned = sdp_extract_seqtype(buf, len, &seqType, &data_size); - - SDPDBG("Seq type : %d", seqType); - if (!scanned || (seqType != SDP_SEQ8 && seqType != SDP_SEQ16)) { - error("Unknown seq type"); - return -1; - } - p = buf + scanned; - bufsize = len - scanned; - - SDPDBG("Data size : %d", data_size); - - for (;;) { - char *pElem = NULL; - int localSeqLength = 0; - uuid_t *puuid; - - if (bufsize < sizeof(uint8_t)) { - SDPDBG("->Unexpected end of buffer"); - goto failed; - } - - dataType = *p; - - SDPDBG("Data type: 0x%02x", dataType); - - if (expectedType == SDP_TYPE_UUID) { - if (dataType != SDP_UUID16 && dataType != SDP_UUID32 && dataType != SDP_UUID128) { - SDPDBG("->Unexpected Data type (expected UUID_ANY)"); - goto failed; - } - } else if (expectedType == SDP_TYPE_ATTRID && - (dataType != SDP_UINT16 && dataType != SDP_UINT32)) { - SDPDBG("->Unexpected Data type (expected 0x%02x or 0x%02x)", - SDP_UINT16, SDP_UINT32); - goto failed; - } else if (expectedType != SDP_TYPE_ATTRID && dataType != expectedType) { - SDPDBG("->Unexpected Data type (expected 0x%02x)", expectedType); - goto failed; - } - - switch (dataType) { - case SDP_UINT16: - p += sizeof(uint8_t); - seqlen += sizeof(uint8_t); - bufsize -= sizeof(uint8_t); - if (bufsize < sizeof(uint16_t)) { - SDPDBG("->Unexpected end of buffer"); - goto failed; - } - - if (expectedType == SDP_TYPE_ATTRID) { - struct attrid *aid; - aid = malloc(sizeof(struct attrid)); - aid->dtd = dataType; - aid->uint16 = bt_get_be16(p); - pElem = (char *) aid; - } else { - uint16_t tmp; - - memcpy(&tmp, p, sizeof(tmp)); - - pElem = malloc(sizeof(uint16_t)); - bt_put_be16(tmp, pElem); - } - p += sizeof(uint16_t); - seqlen += sizeof(uint16_t); - bufsize -= sizeof(uint16_t); - break; - case SDP_UINT32: - p += sizeof(uint8_t); - seqlen += sizeof(uint8_t); - bufsize -= sizeof(uint8_t); - if (bufsize < (int)sizeof(uint32_t)) { - SDPDBG("->Unexpected end of buffer"); - goto failed; - } - - if (expectedType == SDP_TYPE_ATTRID) { - struct attrid *aid; - aid = malloc(sizeof(struct attrid)); - aid->dtd = dataType; - aid->uint32 = bt_get_be32(p); - - pElem = (char *) aid; - } else { - uint32_t tmp; - - memcpy(&tmp, p, sizeof(tmp)); - - pElem = malloc(sizeof(uint32_t)); - bt_put_be32(tmp, pElem); - } - p += sizeof(uint32_t); - seqlen += sizeof(uint32_t); - bufsize -= sizeof(uint32_t); - break; - case SDP_UUID16: - case SDP_UUID32: - case SDP_UUID128: - puuid = malloc(sizeof(uuid_t)); - status = sdp_uuid_extract(p, bufsize, puuid, &localSeqLength); - if (status < 0) { - free(puuid); - goto failed; - } - - pElem = (char *) puuid; - seqlen += localSeqLength; - p += localSeqLength; - bufsize -= localSeqLength; - break; - default: - return -1; - } - if (status == 0) { - pSeq = sdp_list_append(pSeq, pElem); - numberOfElements++; - SDPDBG("No of elements : %d", numberOfElements); - - if (seqlen == data_size) - break; - else if (seqlen > data_size || seqlen > len) - goto failed; - } else - free(pElem); - } - *svcReqSeq = pSeq; - scanned += seqlen; - *pDataType = dataType; - return scanned; - -failed: - sdp_list_free(pSeq, free); - return -1; -} - -static int sdp_set_cstate_pdu(sdp_buf_t *buf, sdp_cont_state_t *cstate) -{ - uint8_t *pdata = buf->data + buf->data_size; - int length = 0; - - if (cstate) { - SDPDBG("Non null sdp_cstate_t id : 0x%x", cstate->timestamp); - *pdata = sizeof(sdp_cont_state_t); - pdata += sizeof(uint8_t); - length += sizeof(uint8_t); - memcpy(pdata, cstate, sizeof(sdp_cont_state_t)); - length += sizeof(sdp_cont_state_t); - } else { - /* set "null" continuation state */ - *pdata = 0; - length += sizeof(uint8_t); - } - buf->data_size += length; - return length; -} - -static int sdp_cstate_get(uint8_t *buffer, size_t len, - sdp_cont_state_t **cstate) -{ - uint8_t cStateSize = *buffer; - - SDPDBG("Continuation State size : %d", cStateSize); - - if (cStateSize == 0) { - *cstate = NULL; - return 0; - } - - buffer++; - len--; - - if (len < sizeof(sdp_cont_state_t)) - return -EINVAL; - - /* - * Check if continuation state exists, if yes attempt - * to get response remainder from cache, else send error - */ - - *cstate = malloc(sizeof(sdp_cont_state_t)); - if (!(*cstate)) - return -ENOMEM; - - memcpy(*cstate, buffer, sizeof(sdp_cont_state_t)); - - SDPDBG("Cstate TS : 0x%x", (*cstate)->timestamp); - SDPDBG("Bytes sent : %d", (*cstate)->cStateValue.maxBytesSent); - - return 0; -} - -/* - * The matching process is defined as "each and every UUID - * specified in the "search pattern" must be present in the - * "target pattern". Here "search pattern" is the set of UUIDs - * specified by the service discovery client and "target pattern" - * is the set of UUIDs present in a service record. - * - * Return 1 if each and every UUID in the search - * pattern exists in the target pattern, 0 if the - * match succeeds and -1 on error. - */ -static int sdp_match_uuid(sdp_list_t *search, sdp_list_t *pattern) -{ - /* - * The target is a sorted list, so we need not look - * at all elements to confirm existence of an element - * from the search pattern - */ - int patlen = sdp_list_len(pattern); - - if (patlen < sdp_list_len(search)) - return -1; - for (; search; search = search->next) { - uuid_t *uuid128; - void *data = search->data; - sdp_list_t *list; - if (data == NULL) - return -1; - - /* create 128-bit form of the search UUID */ - uuid128 = sdp_uuid_to_uuid128((uuid_t *)data); - list = sdp_list_find(pattern, uuid128, sdp_uuid128_cmp); - bt_free(uuid128); - if (!list) - return 0; - } - return 1; -} - -/* - * Service search request PDU. This method extracts the search pattern - * (a sequence of UUIDs) and calls the matching function - * to find matching services - */ -static int service_search_req(sdp_req_t *req, sdp_buf_t *buf) -{ - int status = 0, i, plen, mlen, mtu, scanned; - sdp_list_t *pattern = NULL; - uint16_t expected, actual, rsp_count = 0; - uint8_t dtd; - sdp_cont_state_t *cstate = NULL; - uint8_t *pCacheBuffer = NULL; - int handleSize = 0; - uint32_t cStateId = 0; - uint8_t *pTotalRecordCount, *pCurrentRecordCount; - uint8_t *pdata = req->buf + sizeof(sdp_pdu_hdr_t); - size_t data_left = req->len - sizeof(sdp_pdu_hdr_t); - - scanned = extract_des(pdata, data_left, &pattern, &dtd, SDP_TYPE_UUID); - - if (scanned == -1) { - status = SDP_INVALID_SYNTAX; - goto done; - } - pdata += scanned; - data_left -= scanned; - - plen = ntohs(((sdp_pdu_hdr_t *)(req->buf))->plen); - mlen = scanned + sizeof(uint16_t) + 1; - /* ensure we don't read past buffer */ - if (plen < mlen || plen != mlen + *(uint8_t *)(pdata+sizeof(uint16_t))) { - status = SDP_INVALID_SYNTAX; - goto done; - } - - if (data_left < sizeof(uint16_t)) { - status = SDP_INVALID_SYNTAX; - goto done; - } - - expected = bt_get_be16(pdata); - - SDPDBG("Expected count: %d", expected); - SDPDBG("Bytes scanned : %d", scanned); - - pdata += sizeof(uint16_t); - data_left -= sizeof(uint16_t); - - /* - * Check if continuation state exists, if yes attempt - * to get rsp remainder from cache, else send error - */ - if (sdp_cstate_get(pdata, data_left, &cstate) < 0) { - status = SDP_INVALID_SYNTAX; - goto done; - } - - mtu = req->mtu - sizeof(sdp_pdu_hdr_t) - sizeof(uint16_t) - sizeof(uint16_t) - SDP_CONT_STATE_SIZE; - actual = MIN(expected, mtu >> 2); - - /* make space in the rsp buffer for total and current record counts */ - pdata = buf->data; - - /* total service record count = 0 */ - pTotalRecordCount = pdata; - bt_put_be16(0, pdata); - pdata += sizeof(uint16_t); - buf->data_size += sizeof(uint16_t); - - /* current service record count = 0 */ - pCurrentRecordCount = pdata; - bt_put_be16(0, pdata); - pdata += sizeof(uint16_t); - buf->data_size += sizeof(uint16_t); - - if (cstate == NULL) { - /* for every record in the DB, do a pattern search */ - sdp_list_t *list = sdp_get_record_list(); - - handleSize = 0; - for (; list && rsp_count < expected; list = list->next) { - sdp_record_t *rec = list->data; - - SDPDBG("Checking svcRec : 0x%x", rec->handle); - - if (sdp_match_uuid(pattern, rec->pattern) > 0 && - sdp_check_access(rec->handle, &req->device)) { - rsp_count++; - bt_put_be32(rec->handle, pdata); - pdata += sizeof(uint32_t); - handleSize += sizeof(uint32_t); - } - } - - SDPDBG("Match count: %d", rsp_count); - - buf->data_size += handleSize; - bt_put_be16(rsp_count, pTotalRecordCount); - bt_put_be16(rsp_count, pCurrentRecordCount); - - if (rsp_count > actual) { - /* cache the rsp and generate a continuation state */ - cStateId = sdp_cstate_alloc_buf(buf); - /* - * subtract handleSize since we now send only - * a subset of handles - */ - buf->data_size -= handleSize; - } else { - /* NULL continuation state */ - sdp_set_cstate_pdu(buf, NULL); - } - } - - /* under both the conditions below, the rsp buffer is not built yet */ - if (cstate || cStateId > 0) { - short lastIndex = 0; - - if (cstate) { - /* - * Get the previous sdp_cont_state_t and obtain - * the cached rsp - */ - sdp_buf_t *pCache = sdp_get_cached_rsp(cstate); - if (pCache) { - pCacheBuffer = pCache->data; - /* get the rsp_count from the cached buffer */ - rsp_count = bt_get_be16(pCacheBuffer); - - /* get index of the last sdp_record_t sent */ - lastIndex = cstate->cStateValue.lastIndexSent; - } else { - status = SDP_INVALID_CSTATE; - goto done; - } - } else { - pCacheBuffer = buf->data; - lastIndex = 0; - } - - /* - * Set the local buffer pointer to after the - * current record count and increment the cached - * buffer pointer to beyond the counters - */ - pdata = pCurrentRecordCount + sizeof(uint16_t); - - /* increment beyond the totalCount and the currentCount */ - pCacheBuffer += 2 * sizeof(uint16_t); - - if (cstate) { - handleSize = 0; - for (i = lastIndex; (i - lastIndex) < actual && i < rsp_count; i++) { - memcpy(pdata, pCacheBuffer + i * sizeof(uint32_t), sizeof(uint32_t)); - pdata += sizeof(uint32_t); - handleSize += sizeof(uint32_t); - } - } else { - handleSize = actual << 2; - i = actual; - } - - buf->data_size += handleSize; - bt_put_be16(rsp_count, pTotalRecordCount); - bt_put_be16(i - lastIndex, pCurrentRecordCount); - - if (i == rsp_count) { - /* set "null" continuationState */ - sdp_set_cstate_pdu(buf, NULL); - } else { - /* - * there's more: set lastIndexSent to - * the new value and move on - */ - sdp_cont_state_t newState; - - SDPDBG("Setting non-NULL sdp_cstate_t"); - - if (cstate) - memcpy(&newState, cstate, sizeof(sdp_cont_state_t)); - else { - memset(&newState, 0, sizeof(sdp_cont_state_t)); - newState.timestamp = cStateId; - } - newState.cStateValue.lastIndexSent = i; - sdp_set_cstate_pdu(buf, &newState); - } - } - -done: - free(cstate); - if (pattern) - sdp_list_free(pattern, free); - - return status; -} - -/* - * Extract attribute identifiers from the request PDU. - * Clients could request a subset of attributes (by id) - * from a service record, instead of the whole set. The - * requested identifiers are present in the PDU form of - * the request - */ -static int extract_attrs(sdp_record_t *rec, sdp_list_t *seq, sdp_buf_t *buf) -{ - sdp_buf_t pdu; - - if (!rec) - return SDP_INVALID_RECORD_HANDLE; - - if (seq == NULL) { - SDPDBG("Attribute sequence is NULL"); - return 0; - } - - SDPDBG("Entries in attr seq : %d", sdp_list_len(seq)); - - sdp_gen_record_pdu(rec, &pdu); - - for (; seq; seq = seq->next) { - struct attrid *aid = seq->data; - - SDPDBG("AttrDataType : %d", aid->dtd); - - if (aid->dtd == SDP_UINT16) { - uint16_t attr = aid->uint16; - sdp_data_t *a = sdp_data_get(rec, attr); - if (a) - sdp_append_to_pdu(buf, a); - } else if (aid->dtd == SDP_UINT32) { - uint32_t range = aid->uint32; - uint16_t attr; - uint16_t low = (0xffff0000 & range) >> 16; - uint16_t high = 0x0000ffff & range; - sdp_data_t *data; - - SDPDBG("attr range : 0x%x", range); - SDPDBG("Low id : 0x%x", low); - SDPDBG("High id : 0x%x", high); - - if (low == 0x0000 && high == 0xffff && pdu.data_size <= buf->buf_size) { - /* copy it */ - memcpy(buf->data, pdu.data, pdu.data_size); - buf->data_size = pdu.data_size; - break; - } - /* (else) sub-range of attributes */ - for (attr = low; attr < high; attr++) { - data = sdp_data_get(rec, attr); - if (data) - sdp_append_to_pdu(buf, data); - } - data = sdp_data_get(rec, high); - if (data) - sdp_append_to_pdu(buf, data); - } else { - error("Unexpected data type : 0x%x", aid->dtd); - error("Expect uint16_t or uint32_t"); - free(pdu.data); - return SDP_INVALID_SYNTAX; - } - } - - free(pdu.data); - - return 0; -} - -/* - * A request for the attributes of a service record. - * First check if the service record (specified by - * service record handle) exists, then call the attribute - * streaming function - */ -static int service_attr_req(sdp_req_t *req, sdp_buf_t *buf) -{ - sdp_cont_state_t *cstate = NULL; - uint8_t *pResponse = NULL; - short cstate_size = 0; - sdp_list_t *seq = NULL; - uint8_t dtd = 0; - int scanned = 0; - unsigned int max_rsp_size; - int status = 0, plen, mlen; - uint8_t *pdata = req->buf + sizeof(sdp_pdu_hdr_t); - size_t data_left = req->len - sizeof(sdp_pdu_hdr_t); - uint32_t handle; - - if (data_left < sizeof(uint32_t)) { - status = SDP_INVALID_SYNTAX; - goto done; - } - - handle = bt_get_be32(pdata); - - pdata += sizeof(uint32_t); - data_left -= sizeof(uint32_t); - - if (data_left < sizeof(uint16_t)) { - status = SDP_INVALID_SYNTAX; - goto done; - } - - max_rsp_size = bt_get_be16(pdata); - - pdata += sizeof(uint16_t); - data_left -= sizeof(uint16_t); - - if (data_left < sizeof(sdp_pdu_hdr_t)) { - status = SDP_INVALID_SYNTAX; - goto done; - } - - /* extract the attribute list */ - scanned = extract_des(pdata, data_left, &seq, &dtd, SDP_TYPE_ATTRID); - if (scanned == -1) { - status = SDP_INVALID_SYNTAX; - goto done; - } - pdata += scanned; - data_left -= scanned; - - plen = ntohs(((sdp_pdu_hdr_t *)(req->buf))->plen); - mlen = scanned + sizeof(uint32_t) + sizeof(uint16_t) + 1; - /* ensure we don't read past buffer */ - if (plen < mlen || plen != mlen + *(uint8_t *)pdata) { - status = SDP_INVALID_PDU_SIZE; - goto done; - } - - /* - * if continuation state exists, attempt - * to get rsp remainder from cache, else send error - */ - if (sdp_cstate_get(pdata, data_left, &cstate) < 0) { - status = SDP_INVALID_SYNTAX; - goto done; - } - - SDPDBG("SvcRecHandle : 0x%x", handle); - SDPDBG("max_rsp_size : %d", max_rsp_size); - - /* - * Check that max_rsp_size is within valid range - * a minimum size of 0x0007 has to be used for data field - */ - if (max_rsp_size < 0x0007) { - status = SDP_INVALID_SYNTAX; - goto done; - } - - /* - * Calculate Attribute size according to MTU - * We can send only (MTU - sizeof(sdp_pdu_hdr_t) - sizeof(sdp_cont_state_t)) - */ - max_rsp_size = MIN(max_rsp_size, req->mtu - sizeof(sdp_pdu_hdr_t) - - sizeof(uint32_t) - SDP_CONT_STATE_SIZE - sizeof(uint16_t)); - - /* pull header for AttributeList byte count */ - buf->data += sizeof(uint16_t); - buf->buf_size -= sizeof(uint16_t); - - if (cstate) { - sdp_buf_t *pCache = sdp_get_cached_rsp(cstate); - - SDPDBG("Obtained cached rsp : %p", pCache); - - if (pCache) { - short sent = MIN(max_rsp_size, pCache->data_size - cstate->cStateValue.maxBytesSent); - pResponse = pCache->data; - memcpy(buf->data, pResponse + cstate->cStateValue.maxBytesSent, sent); - buf->data_size += sent; - cstate->cStateValue.maxBytesSent += sent; - - SDPDBG("Response size : %d sending now : %d bytes sent so far : %d", - pCache->data_size, sent, cstate->cStateValue.maxBytesSent); - if (cstate->cStateValue.maxBytesSent == pCache->data_size) - cstate_size = sdp_set_cstate_pdu(buf, NULL); - else - cstate_size = sdp_set_cstate_pdu(buf, cstate); - } else { - status = SDP_INVALID_CSTATE; - error("NULL cache buffer and non-NULL continuation state"); - } - } else { - sdp_record_t *rec = sdp_record_find(handle); - status = extract_attrs(rec, seq, buf); - if (buf->data_size > max_rsp_size) { - sdp_cont_state_t newState; - - memset((char *)&newState, 0, sizeof(sdp_cont_state_t)); - newState.timestamp = sdp_cstate_alloc_buf(buf); - /* - * Reset the buffer size to the maximum expected and - * set the sdp_cont_state_t - */ - SDPDBG("Creating continuation state of size : %d", buf->data_size); - buf->data_size = max_rsp_size; - newState.cStateValue.maxBytesSent = max_rsp_size; - cstate_size = sdp_set_cstate_pdu(buf, &newState); - } else { - if (buf->data_size == 0) - sdp_append_to_buf(buf, NULL, 0); - cstate_size = sdp_set_cstate_pdu(buf, NULL); - } - } - - /* push header */ - buf->data -= sizeof(uint16_t); - buf->buf_size += sizeof(uint16_t); - -done: - free(cstate); - if (seq) - sdp_list_free(seq, free); - if (status) - return status; - - /* set attribute list byte count */ - bt_put_be16(buf->data_size - cstate_size, buf->data); - buf->data_size += sizeof(uint16_t); - return 0; -} - -/* - * combined service search and attribute extraction - */ -static int service_search_attr_req(sdp_req_t *req, sdp_buf_t *buf) -{ - int status = 0, plen, totscanned; - uint8_t *pdata, *pResponse = NULL; - unsigned int max; - int scanned, rsp_count = 0; - sdp_list_t *pattern = NULL, *seq = NULL, *svcList; - sdp_cont_state_t *cstate = NULL; - short cstate_size = 0; - uint8_t dtd = 0; - sdp_buf_t tmpbuf; - size_t data_left; - - tmpbuf.data = NULL; - pdata = req->buf + sizeof(sdp_pdu_hdr_t); - data_left = req->len - sizeof(sdp_pdu_hdr_t); - scanned = extract_des(pdata, data_left, &pattern, &dtd, SDP_TYPE_UUID); - if (scanned == -1) { - status = SDP_INVALID_SYNTAX; - goto done; - } - totscanned = scanned; - - SDPDBG("Bytes scanned: %d", scanned); - - pdata += scanned; - data_left -= scanned; - - if (data_left < sizeof(uint16_t)) { - status = SDP_INVALID_SYNTAX; - goto done; - } - - max = bt_get_be16(pdata); - - pdata += sizeof(uint16_t); - data_left -= sizeof(uint16_t); - - SDPDBG("Max Attr expected: %d", max); - - if (data_left < sizeof(sdp_pdu_hdr_t)) { - status = SDP_INVALID_SYNTAX; - goto done; - } - - /* extract the attribute list */ - scanned = extract_des(pdata, data_left, &seq, &dtd, SDP_TYPE_ATTRID); - if (scanned == -1) { - status = SDP_INVALID_SYNTAX; - goto done; - } - - pdata += scanned; - data_left -= scanned; - - totscanned += scanned + sizeof(uint16_t) + 1; - - plen = ntohs(((sdp_pdu_hdr_t *)(req->buf))->plen); - if (plen < totscanned || plen != totscanned + *(uint8_t *)pdata) { - status = SDP_INVALID_PDU_SIZE; - goto done; - } - - /* - * if continuation state exists attempt - * to get rsp remainder from cache, else send error - */ - if (sdp_cstate_get(pdata, data_left, &cstate) < 0) { - status = SDP_INVALID_SYNTAX; - goto done; - } - - svcList = sdp_get_record_list(); - - tmpbuf.data = malloc(USHRT_MAX); - tmpbuf.data_size = 0; - tmpbuf.buf_size = USHRT_MAX; - memset(tmpbuf.data, 0, USHRT_MAX); - - /* - * Calculate Attribute size according to MTU - * We can send only (MTU - sizeof(sdp_pdu_hdr_t) - sizeof(sdp_cont_state_t)) - */ - max = MIN(max, req->mtu - sizeof(sdp_pdu_hdr_t) - SDP_CONT_STATE_SIZE - sizeof(uint16_t)); - - /* pull header for AttributeList byte count */ - buf->data += sizeof(uint16_t); - buf->buf_size -= sizeof(uint16_t); - - if (cstate == NULL) { - /* no continuation state -> create new response */ - sdp_list_t *p; - for (p = svcList; p; p = p->next) { - sdp_record_t *rec = p->data; - if (sdp_match_uuid(pattern, rec->pattern) > 0 && - sdp_check_access(rec->handle, &req->device)) { - rsp_count++; - status = extract_attrs(rec, seq, &tmpbuf); - - SDPDBG("Response count : %d", rsp_count); - SDPDBG("Local PDU size : %d", tmpbuf.data_size); - if (status) { - SDPDBG("Extract attr from record returns err"); - break; - } - if (buf->data_size + tmpbuf.data_size < buf->buf_size) { - /* to be sure no relocations */ - sdp_append_to_buf(buf, tmpbuf.data, tmpbuf.data_size); - tmpbuf.data_size = 0; - memset(tmpbuf.data, 0, USHRT_MAX); - } else { - error("Relocation needed"); - break; - } - SDPDBG("Net PDU size : %d", buf->data_size); - } - } - if (buf->data_size > max) { - sdp_cont_state_t newState; - - memset((char *)&newState, 0, sizeof(sdp_cont_state_t)); - newState.timestamp = sdp_cstate_alloc_buf(buf); - /* - * Reset the buffer size to the maximum expected and - * set the sdp_cont_state_t - */ - buf->data_size = max; - newState.cStateValue.maxBytesSent = max; - cstate_size = sdp_set_cstate_pdu(buf, &newState); - } else - cstate_size = sdp_set_cstate_pdu(buf, NULL); - } else { - /* continuation State exists -> get from cache */ - sdp_buf_t *pCache = sdp_get_cached_rsp(cstate); - if (pCache) { - uint16_t sent = MIN(max, pCache->data_size - cstate->cStateValue.maxBytesSent); - pResponse = pCache->data; - memcpy(buf->data, pResponse + cstate->cStateValue.maxBytesSent, sent); - buf->data_size += sent; - cstate->cStateValue.maxBytesSent += sent; - if (cstate->cStateValue.maxBytesSent == pCache->data_size) - cstate_size = sdp_set_cstate_pdu(buf, NULL); - else - cstate_size = sdp_set_cstate_pdu(buf, cstate); - } else { - status = SDP_INVALID_CSTATE; - SDPDBG("Non-null continuation state, but null cache buffer"); - } - } - - if (!rsp_count && !cstate) { - /* found nothing */ - buf->data_size = 0; - sdp_append_to_buf(buf, tmpbuf.data, tmpbuf.data_size); - sdp_set_cstate_pdu(buf, NULL); - } - - /* push header */ - buf->data -= sizeof(uint16_t); - buf->buf_size += sizeof(uint16_t); - - if (!status) { - /* set attribute list byte count */ - bt_put_be16(buf->data_size - cstate_size, buf->data); - buf->data_size += sizeof(uint16_t); - } - -done: - free(cstate); - free(tmpbuf.data); - if (pattern) - sdp_list_free(pattern, free); - if (seq) - sdp_list_free(seq, free); - return status; -} - -/* - * Top level request processor. Calls the appropriate processing - * function based on request type. Handles service registration - * client requests also. - */ -static void process_request(sdp_req_t *req) -{ - sdp_pdu_hdr_t *reqhdr = (sdp_pdu_hdr_t *)req->buf; - sdp_pdu_hdr_t *rsphdr; - sdp_buf_t rsp; - uint8_t *buf = malloc(USHRT_MAX); - int status = SDP_INVALID_SYNTAX; - - memset(buf, 0, USHRT_MAX); - rsp.data = buf + sizeof(sdp_pdu_hdr_t); - rsp.data_size = 0; - rsp.buf_size = USHRT_MAX - sizeof(sdp_pdu_hdr_t); - rsphdr = (sdp_pdu_hdr_t *)buf; - - if (ntohs(reqhdr->plen) != req->len - sizeof(sdp_pdu_hdr_t)) { - status = SDP_INVALID_PDU_SIZE; - goto send_rsp; - } - switch (reqhdr->pdu_id) { - case SDP_SVC_SEARCH_REQ: - SDPDBG("Got a svc srch req"); - status = service_search_req(req, &rsp); - rsphdr->pdu_id = SDP_SVC_SEARCH_RSP; - break; - case SDP_SVC_ATTR_REQ: - SDPDBG("Got a svc attr req"); - status = service_attr_req(req, &rsp); - rsphdr->pdu_id = SDP_SVC_ATTR_RSP; - break; - case SDP_SVC_SEARCH_ATTR_REQ: - SDPDBG("Got a svc srch attr req"); - status = service_search_attr_req(req, &rsp); - rsphdr->pdu_id = SDP_SVC_SEARCH_ATTR_RSP; - break; - /* Following requests are allowed only for local connections */ - case SDP_SVC_REGISTER_REQ: - SDPDBG("Service register request"); - if (req->local) { - status = service_register_req(req, &rsp); - rsphdr->pdu_id = SDP_SVC_REGISTER_RSP; - } - break; - case SDP_SVC_UPDATE_REQ: - SDPDBG("Service update request"); - if (req->local) { - status = service_update_req(req, &rsp); - rsphdr->pdu_id = SDP_SVC_UPDATE_RSP; - } - break; - case SDP_SVC_REMOVE_REQ: - SDPDBG("Service removal request"); - if (req->local) { - status = service_remove_req(req, &rsp); - rsphdr->pdu_id = SDP_SVC_REMOVE_RSP; - } - break; - default: - error("Unknown PDU ID : 0x%x received", reqhdr->pdu_id); - status = SDP_INVALID_SYNTAX; - break; - } - -send_rsp: - if (status) { - rsphdr->pdu_id = SDP_ERROR_RSP; - bt_put_be16(status, rsp.data); - rsp.data_size = sizeof(uint16_t); - } - - SDPDBG("Sending rsp. status %d", status); - - rsphdr->tid = reqhdr->tid; - rsphdr->plen = htons(rsp.data_size); - - /* point back to the real buffer start and set the real rsp length */ - rsp.data_size += sizeof(sdp_pdu_hdr_t); - rsp.data = buf; - - /* stream the rsp PDU */ - if (send(req->sock, rsp.data, rsp.data_size, 0) < 0) - error("send: %s (%d)", strerror(errno), errno); - - SDPDBG("Bytes Sent : %d", rsp.data_size); - - free(rsp.data); - free(req->buf); -} - -void handle_internal_request(int sk, int mtu, void *data, int len) -{ - sdp_req_t req; - - bacpy(&req.device, BDADDR_ANY); - bacpy(&req.bdaddr, BDADDR_LOCAL); - req.local = 0; - req.sock = sk; - req.mtu = mtu; - req.flags = 0; - req.buf = data; - req.len = len; - - process_request(&req); -} - -void handle_request(int sk, uint8_t *data, int len) -{ - struct sockaddr_l2 sa; - socklen_t size; - sdp_req_t req; - - size = sizeof(sa); - if (getpeername(sk, (struct sockaddr *) &sa, &size) < 0) { - error("getpeername: %s", strerror(errno)); - return; - } - - if (sa.l2_family == AF_BLUETOOTH) { - struct l2cap_options lo; - - memset(&lo, 0, sizeof(lo)); - size = sizeof(lo); - - if (getsockopt(sk, SOL_L2CAP, L2CAP_OPTIONS, &lo, &size) < 0) { - error("getsockopt: %s", strerror(errno)); - return; - } - - bacpy(&req.bdaddr, &sa.l2_bdaddr); - req.mtu = lo.omtu; - req.local = 0; - memset(&sa, 0, sizeof(sa)); - size = sizeof(sa); - - if (getsockname(sk, (struct sockaddr *) &sa, &size) < 0) { - error("getsockname: %s", strerror(errno)); - return; - } - - bacpy(&req.device, &sa.l2_bdaddr); - } else { - bacpy(&req.device, BDADDR_ANY); - bacpy(&req.bdaddr, BDADDR_LOCAL); - req.mtu = 2048; - req.local = 1; - } - - req.sock = sk; - req.buf = data; - req.len = len; - - process_request(&req); -} diff --git a/GRIB_BLE_HUB/libs/ble_extend/src/sdpd-server.c b/GRIB_BLE_HUB/libs/ble_extend/src/sdpd-server.c deleted file mode 100644 index bc96d3c..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/src/sdpd-server.c +++ /dev/null @@ -1,282 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2001-2002 Nokia Corporation - * Copyright (C) 2002-2003 Maxim Krasnyansky - * Copyright (C) 2002-2010 Marcel Holtmann - * Copyright (C) 2002-2003 Stephen Crane - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include - -#include -#include - -#include - -#include "hcid.h" -#include "log.h" -#include "sdpd.h" - -static guint l2cap_id = 0, unix_id = 0; - -static int l2cap_sock, unix_sock; - -/* - * SDP server initialization on startup includes creating the - * l2cap and unix sockets over which discovery and registration clients - * access us respectively - */ -static int init_server(uint16_t mtu, int master, int compat) -{ - struct l2cap_options opts; - struct sockaddr_l2 l2addr; - struct sockaddr_un unaddr; - socklen_t optlen; - - /* Register the public browse group root */ - register_public_browse_group(); - - /* Register the SDP server's service record */ - register_server_service(); - - /* Create L2CAP socket */ - l2cap_sock = socket(PF_BLUETOOTH, SOCK_SEQPACKET, BTPROTO_L2CAP); - if (l2cap_sock < 0) { - error("opening L2CAP socket: %s", strerror(errno)); - return -1; - } - - memset(&l2addr, 0, sizeof(l2addr)); - l2addr.l2_family = AF_BLUETOOTH; - bacpy(&l2addr.l2_bdaddr, BDADDR_ANY); - l2addr.l2_psm = htobs(SDP_PSM); - - if (bind(l2cap_sock, (struct sockaddr *) &l2addr, sizeof(l2addr)) < 0) { - error("binding L2CAP socket: %s", strerror(errno)); - return -1; - } - - if (master) { - int opt = L2CAP_LM_MASTER; - if (setsockopt(l2cap_sock, SOL_L2CAP, L2CAP_LM, &opt, sizeof(opt)) < 0) { - error("setsockopt: %s", strerror(errno)); - return -1; - } - } - - if (mtu > 0) { - memset(&opts, 0, sizeof(opts)); - optlen = sizeof(opts); - - if (getsockopt(l2cap_sock, SOL_L2CAP, L2CAP_OPTIONS, &opts, &optlen) < 0) { - error("getsockopt: %s", strerror(errno)); - return -1; - } - - opts.omtu = mtu; - opts.imtu = mtu; - - if (setsockopt(l2cap_sock, SOL_L2CAP, L2CAP_OPTIONS, &opts, sizeof(opts)) < 0) { - error("setsockopt: %s", strerror(errno)); - return -1; - } - } - - if (listen(l2cap_sock, 5) < 0) { - error("listen: %s", strerror(errno)); - return -1; - } - - if (!compat) { - unix_sock = -1; - return 0; - } - - /* Create local Unix socket */ - unix_sock = socket(PF_UNIX, SOCK_STREAM, 0); - if (unix_sock < 0) { - error("opening UNIX socket: %s", strerror(errno)); - return -1; - } - - memset(&unaddr, 0, sizeof(unaddr)); - unaddr.sun_family = AF_UNIX; - strcpy(unaddr.sun_path, SDP_UNIX_PATH); - - unlink(unaddr.sun_path); - - if (bind(unix_sock, (struct sockaddr *) &unaddr, sizeof(unaddr)) < 0) { - error("binding UNIX socket: %s", strerror(errno)); - return -1; - } - - if (listen(unix_sock, 5) < 0) { - error("listen UNIX socket: %s", strerror(errno)); - return -1; - } - - chmod(SDP_UNIX_PATH, S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP); - - return 0; -} - -static gboolean io_session_event(GIOChannel *chan, GIOCondition cond, gpointer data) -{ - sdp_pdu_hdr_t hdr; - uint8_t *buf; - int sk, len, size; - - if (cond & G_IO_NVAL) - return FALSE; - - sk = g_io_channel_unix_get_fd(chan); - - if (cond & (G_IO_HUP | G_IO_ERR)) { - sdp_svcdb_collect_all(sk); - return FALSE; - } - - len = recv(sk, &hdr, sizeof(sdp_pdu_hdr_t), MSG_PEEK); - if (len <= 0) { - sdp_svcdb_collect_all(sk); - return FALSE; - } - - size = sizeof(sdp_pdu_hdr_t) + ntohs(hdr.plen); - buf = malloc(size); - if (!buf) - return TRUE; - - len = recv(sk, buf, size, 0); - if (len <= 0) { - sdp_svcdb_collect_all(sk); - free(buf); - return FALSE; - } - - handle_request(sk, buf, len); - - return TRUE; -} - -static gboolean io_accept_event(GIOChannel *chan, GIOCondition cond, gpointer data) -{ - GIOChannel *io; - int nsk; - - if (cond & (G_IO_HUP | G_IO_ERR | G_IO_NVAL)) - return FALSE; - - if (data == &l2cap_sock) { - struct sockaddr_l2 addr; - socklen_t len = sizeof(addr); - - nsk = accept(l2cap_sock, (struct sockaddr *) &addr, &len); - } else if (data == &unix_sock) { - struct sockaddr_un addr; - socklen_t len = sizeof(addr); - - nsk = accept(unix_sock, (struct sockaddr *) &addr, &len); - } else - return FALSE; - - if (nsk < 0) { - error("Can't accept connection: %s", strerror(errno)); - return TRUE; - } - - io = g_io_channel_unix_new(nsk); - g_io_channel_set_close_on_unref(io, TRUE); - - g_io_add_watch(io, G_IO_IN | G_IO_ERR | G_IO_HUP | G_IO_NVAL, - io_session_event, data); - - g_io_channel_unref(io); - - return TRUE; -} - -int start_sdp_server(uint16_t mtu, uint32_t flags) -{ - int compat = flags & SDP_SERVER_COMPAT; - int master = flags & SDP_SERVER_MASTER; - GIOChannel *io; - - info("Starting SDP server"); - - if (init_server(mtu, master, compat) < 0) { - error("Server initialization failed"); - return -1; - } - - if (main_opts.did_source > 0) - register_device_id(main_opts.did_source, main_opts.did_vendor, - main_opts.did_product, main_opts.did_version); - - io = g_io_channel_unix_new(l2cap_sock); - g_io_channel_set_close_on_unref(io, TRUE); - - l2cap_id = g_io_add_watch(io, G_IO_IN | G_IO_ERR | G_IO_HUP | G_IO_NVAL, - io_accept_event, &l2cap_sock); - g_io_channel_unref(io); - - if (compat && unix_sock > fileno(stderr)) { - io = g_io_channel_unix_new(unix_sock); - g_io_channel_set_close_on_unref(io, TRUE); - - unix_id = g_io_add_watch(io, - G_IO_IN | G_IO_ERR | G_IO_HUP | G_IO_NVAL, - io_accept_event, &unix_sock); - g_io_channel_unref(io); - } - - return 0; -} - -void stop_sdp_server(void) -{ - info("Stopping SDP server"); - - sdp_svcdb_reset(); - - if (unix_id > 0) - g_source_remove(unix_id); - - if (l2cap_id > 0) - g_source_remove(l2cap_id); - - l2cap_id = unix_id = 0; - l2cap_sock = unix_sock = -1; -} diff --git a/GRIB_BLE_HUB/libs/ble_extend/src/sdpd-service.c b/GRIB_BLE_HUB/libs/ble_extend/src/sdpd-service.c deleted file mode 100644 index b6b135d..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/src/sdpd-service.c +++ /dev/null @@ -1,549 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2001-2002 Nokia Corporation - * Copyright (C) 2002-2003 Maxim Krasnyansky - * Copyright (C) 2002-2010 Marcel Holtmann - * Copyright (C) 2002-2003 Stephen Crane - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include -#include -#include -#include -#include - -#include -#include -#include - -#include - -#include -#include - -#include "hcid.h" -#include "sdpd.h" -#include "log.h" -#include "adapter.h" - -static sdp_record_t *server = NULL; -static uint32_t fixed_dbts = 0; - -/* - * List of version numbers supported by the SDP server. - * Add to this list when newer versions are supported. - */ -static sdp_version_t sdpVnumArray[1] = { - { 1, 0 } -}; -static const int sdpServerVnumEntries = 1; - -/* - * A simple function which returns the time of day in - * seconds. Used for updating the service db state - * attribute of the service record of the SDP server - */ -uint32_t sdp_get_time(void) -{ - /* - * To handle failure in gettimeofday, so an old - * value is returned and service does not fail - */ - static struct timeval tm; - - gettimeofday(&tm, NULL); - return (uint32_t) tm.tv_sec; -} - -/* - * The service database state is an attribute of the service record - * of the SDP server itself. This attribute is guaranteed to - * change if any of the contents of the service repository - * changes. This function updates the timestamp of value of - * the svcDBState attribute - * Set the SDP server DB. Simply a timestamp which is the marker - * when the DB was modified. - */ -static void update_db_timestamp(void) -{ - if (fixed_dbts) { - sdp_data_t *d = sdp_data_alloc(SDP_UINT32, &fixed_dbts); - sdp_attr_replace(server, SDP_ATTR_SVCDB_STATE, d); - } else { - uint32_t dbts = sdp_get_time(); - sdp_data_t *d = sdp_data_alloc(SDP_UINT32, &dbts); - sdp_attr_replace(server, SDP_ATTR_SVCDB_STATE, d); - } -} - -void set_fixed_db_timestamp(uint32_t dbts) -{ - fixed_dbts = dbts; -} - -void register_public_browse_group(void) -{ - sdp_list_t *browselist; - uuid_t bgscid, pbgid; - sdp_data_t *sdpdata; - sdp_record_t *browse = sdp_record_alloc(); - - browse->handle = SDP_SERVER_RECORD_HANDLE + 1; - - sdp_record_add(BDADDR_ANY, browse); - sdpdata = sdp_data_alloc(SDP_UINT32, &browse->handle); - sdp_attr_add(browse, SDP_ATTR_RECORD_HANDLE, sdpdata); - - sdp_uuid16_create(&bgscid, BROWSE_GRP_DESC_SVCLASS_ID); - browselist = sdp_list_append(0, &bgscid); - sdp_set_service_classes(browse, browselist); - sdp_list_free(browselist, 0); - - sdp_uuid16_create(&pbgid, PUBLIC_BROWSE_GROUP); - sdp_attr_add_new(browse, SDP_ATTR_GROUP_ID, - SDP_UUID16, &pbgid.value.uuid16); -} - -/* - * The SDP server must present its own service record to - * the service repository. This can be accessed by service - * discovery clients. This method constructs a service record - * and stores it in the repository - */ -void register_server_service(void) -{ - sdp_list_t *classIDList; - uuid_t classID; - void **versions, **versionDTDs; - uint8_t dtd; - sdp_data_t *pData; - int i; - - server = sdp_record_alloc(); - server->pattern = NULL; - - /* Force the record to be SDP_SERVER_RECORD_HANDLE */ - server->handle = SDP_SERVER_RECORD_HANDLE; - - sdp_record_add(BDADDR_ANY, server); - sdp_attr_add(server, SDP_ATTR_RECORD_HANDLE, - sdp_data_alloc(SDP_UINT32, &server->handle)); - - sdp_uuid16_create(&classID, SDP_SERVER_SVCLASS_ID); - classIDList = sdp_list_append(0, &classID); - sdp_set_service_classes(server, classIDList); - sdp_list_free(classIDList, 0); - - /* - * Set the version numbers supported, these are passed as arguments - * to the server on command line. Now defaults to 1.0 - * Build the version number sequence first - */ - versions = malloc(sdpServerVnumEntries * sizeof(void *)); - versionDTDs = malloc(sdpServerVnumEntries * sizeof(void *)); - dtd = SDP_UINT16; - for (i = 0; i < sdpServerVnumEntries; i++) { - uint16_t *version = malloc(sizeof(uint16_t)); - *version = sdpVnumArray[i].major; - *version = (*version << 8); - *version |= sdpVnumArray[i].minor; - versions[i] = version; - versionDTDs[i] = &dtd; - } - pData = sdp_seq_alloc(versionDTDs, versions, sdpServerVnumEntries); - for (i = 0; i < sdpServerVnumEntries; i++) - free(versions[i]); - free(versions); - free(versionDTDs); - sdp_attr_add(server, SDP_ATTR_VERSION_NUM_LIST, pData); - - update_db_timestamp(); -} - -void register_device_id(uint16_t source, uint16_t vendor, - uint16_t product, uint16_t version) -{ - const uint16_t spec = 0x0103; - const uint8_t primary = 1; - sdp_list_t *class_list, *group_list, *profile_list; - uuid_t class_uuid, group_uuid; - sdp_data_t *sdp_data, *primary_data, *source_data; - sdp_data_t *spec_data, *vendor_data, *product_data, *version_data; - sdp_profile_desc_t profile; - sdp_record_t *record = sdp_record_alloc(); - - DBG("Adding device id record for %04x:%04x:%04x:%04x", - source, vendor, product, version); - - record->handle = sdp_next_handle(); - - sdp_record_add(BDADDR_ANY, record); - sdp_data = sdp_data_alloc(SDP_UINT32, &record->handle); - sdp_attr_add(record, SDP_ATTR_RECORD_HANDLE, sdp_data); - - sdp_uuid16_create(&class_uuid, PNP_INFO_SVCLASS_ID); - class_list = sdp_list_append(0, &class_uuid); - sdp_set_service_classes(record, class_list); - sdp_list_free(class_list, NULL); - - sdp_uuid16_create(&group_uuid, PUBLIC_BROWSE_GROUP); - group_list = sdp_list_append(NULL, &group_uuid); - sdp_set_browse_groups(record, group_list); - sdp_list_free(group_list, NULL); - - sdp_uuid16_create(&profile.uuid, PNP_INFO_PROFILE_ID); - profile.version = spec; - profile_list = sdp_list_append(NULL, &profile); - sdp_set_profile_descs(record, profile_list); - sdp_list_free(profile_list, NULL); - - spec_data = sdp_data_alloc(SDP_UINT16, &spec); - sdp_attr_add(record, 0x0200, spec_data); - - vendor_data = sdp_data_alloc(SDP_UINT16, &vendor); - sdp_attr_add(record, 0x0201, vendor_data); - - product_data = sdp_data_alloc(SDP_UINT16, &product); - sdp_attr_add(record, 0x0202, product_data); - - version_data = sdp_data_alloc(SDP_UINT16, &version); - sdp_attr_add(record, 0x0203, version_data); - - primary_data = sdp_data_alloc(SDP_BOOL, &primary); - sdp_attr_add(record, 0x0204, primary_data); - - source_data = sdp_data_alloc(SDP_UINT16, &source); - sdp_attr_add(record, 0x0205, source_data); - - update_db_timestamp(); -} - -int add_record_to_server(const bdaddr_t *src, sdp_record_t *rec) -{ - sdp_data_t *data; - sdp_list_t *pattern; - - if (rec->handle == 0xffffffff) { - rec->handle = sdp_next_handle(); - if (rec->handle < 0x10000) - return -ENOSPC; - } else { - if (sdp_record_find(rec->handle)) - return -EEXIST; - } - - DBG("Adding record with handle 0x%05x", rec->handle); - - sdp_record_add(src, rec); - - data = sdp_data_alloc(SDP_UINT32, &rec->handle); - sdp_attr_replace(rec, SDP_ATTR_RECORD_HANDLE, data); - - if (sdp_data_get(rec, SDP_ATTR_BROWSE_GRP_LIST) == NULL) { - uuid_t uuid; - sdp_uuid16_create(&uuid, PUBLIC_BROWSE_GROUP); - sdp_pattern_add_uuid(rec, &uuid); - } - - for (pattern = rec->pattern; pattern; pattern = pattern->next) { - char uuid[32]; - - if (pattern->data == NULL) - continue; - - sdp_uuid2strn((uuid_t *) pattern->data, uuid, sizeof(uuid)); - DBG("Record pattern UUID %s", uuid); - } - - update_db_timestamp(); - - return 0; -} - -int remove_record_from_server(uint32_t handle) -{ - sdp_record_t *rec; - - /* Refuse to remove the server's own record */ - if (handle == SDP_SERVER_RECORD_HANDLE) - return -EINVAL; - - DBG("Removing record with handle 0x%05x", handle); - - rec = sdp_record_find(handle); - if (!rec) - return -ENOENT; - - if (sdp_record_remove(handle) == 0) - update_db_timestamp(); - - sdp_record_free(rec); - - return 0; -} - -/* FIXME: refactor for server-side */ -static sdp_record_t *extract_pdu_server(bdaddr_t *device, uint8_t *p, - unsigned int bufsize, - uint32_t handleExpected, int *scanned) -{ - int extractStatus = -1, localExtractedLength = 0; - uint8_t dtd; - int seqlen = 0; - sdp_record_t *rec = NULL; - uint16_t attrId, lookAheadAttrId; - sdp_data_t *pAttr = NULL; - uint32_t handle = 0xffffffff; - - *scanned = sdp_extract_seqtype(p, bufsize, &dtd, &seqlen); - p += *scanned; - bufsize -= *scanned; - - if (bufsize < sizeof(uint8_t) + sizeof(uint8_t)) { - SDPDBG("Unexpected end of packet"); - return NULL; - } - - lookAheadAttrId = bt_get_be16(p + sizeof(uint8_t)); - - SDPDBG("Look ahead attr id : %d", lookAheadAttrId); - - if (lookAheadAttrId == SDP_ATTR_RECORD_HANDLE) { - if (bufsize < (sizeof(uint8_t) * 2) + - sizeof(uint16_t) + sizeof(uint32_t)) { - SDPDBG("Unexpected end of packet"); - return NULL; - } - handle = bt_get_be32(p + sizeof(uint8_t) + sizeof(uint16_t) + - sizeof(uint8_t)); - SDPDBG("SvcRecHandle : 0x%x", handle); - rec = sdp_record_find(handle); - } else if (handleExpected != 0xffffffff) - rec = sdp_record_find(handleExpected); - - if (!rec) { - rec = sdp_record_alloc(); - rec->attrlist = NULL; - if (lookAheadAttrId == SDP_ATTR_RECORD_HANDLE) { - rec->handle = handle; - sdp_record_add(device, rec); - } else if (handleExpected != 0xffffffff) { - rec->handle = handleExpected; - sdp_record_add(device, rec); - } - } else { - sdp_list_free(rec->attrlist, (sdp_free_func_t) sdp_data_free); - rec->attrlist = NULL; - } - - while (localExtractedLength < seqlen) { - int attrSize = sizeof(uint8_t); - int attrValueLength = 0; - - if (bufsize < attrSize + sizeof(uint16_t)) { - SDPDBG("Unexpected end of packet: Terminating extraction of attributes"); - break; - } - - SDPDBG("Extract PDU, sequenceLength: %d localExtractedLength: %d", - seqlen, localExtractedLength); - dtd = *(uint8_t *) p; - - attrId = bt_get_be16(p + attrSize); - attrSize += sizeof(uint16_t); - - SDPDBG("DTD of attrId : %d Attr id : 0x%x", dtd, attrId); - - pAttr = sdp_extract_attr(p + attrSize, bufsize - attrSize, - &attrValueLength, rec); - - SDPDBG("Attr id : 0x%x attrValueLength : %d", attrId, attrValueLength); - - attrSize += attrValueLength; - if (pAttr == NULL) { - SDPDBG("Terminating extraction of attributes"); - break; - } - localExtractedLength += attrSize; - p += attrSize; - bufsize -= attrSize; - sdp_attr_replace(rec, attrId, pAttr); - extractStatus = 0; - SDPDBG("Extract PDU, seqLength: %d localExtractedLength: %d", - seqlen, localExtractedLength); - } - - if (extractStatus == 0) { - SDPDBG("Successful extracting of Svc Rec attributes"); -#ifdef SDP_DEBUG - sdp_print_service_attr(rec->attrlist); -#endif - *scanned += seqlen; - } - return rec; -} - -/* - * Add the newly created service record to the service repository - */ -int service_register_req(sdp_req_t *req, sdp_buf_t *rsp) -{ - int scanned = 0; - sdp_data_t *handle; - uint8_t *p = req->buf + sizeof(sdp_pdu_hdr_t); - int bufsize = req->len - sizeof(sdp_pdu_hdr_t); - sdp_record_t *rec; - - req->flags = *p++; - if (req->flags & SDP_DEVICE_RECORD) { - bacpy(&req->device, (bdaddr_t *) p); - p += sizeof(bdaddr_t); - bufsize -= sizeof(bdaddr_t); - } - - /* save image of PDU: we need it when clients request this attribute */ - rec = extract_pdu_server(&req->device, p, bufsize, 0xffffffff, &scanned); - if (!rec) - goto invalid; - - if (rec->handle == 0xffffffff) { - rec->handle = sdp_next_handle(); - if (rec->handle < 0x10000) { - sdp_record_free(rec); - goto invalid; - } - } else { - if (sdp_record_find(rec->handle)) { - /* extract_pdu_server will add the record handle - * if it is missing. So instead of failing, skip - * the record adding to avoid duplication. */ - goto success; - } - } - - sdp_record_add(&req->device, rec); - if (!(req->flags & SDP_RECORD_PERSIST)) - sdp_svcdb_set_collectable(rec, req->sock); - - handle = sdp_data_alloc(SDP_UINT32, &rec->handle); - sdp_attr_replace(rec, SDP_ATTR_RECORD_HANDLE, handle); - -success: - /* if the browse group descriptor is NULL, - * ensure that the record belongs to the ROOT group */ - if (sdp_data_get(rec, SDP_ATTR_BROWSE_GRP_LIST) == NULL) { - uuid_t uuid; - sdp_uuid16_create(&uuid, PUBLIC_BROWSE_GROUP); - sdp_pattern_add_uuid(rec, &uuid); - } - - update_db_timestamp(); - - /* Build a rsp buffer */ - bt_put_be32(rec->handle, rsp->data); - rsp->data_size = sizeof(uint32_t); - - return 0; - -invalid: - bt_put_be16(SDP_INVALID_SYNTAX, rsp->data); - rsp->data_size = sizeof(uint16_t); - - return -1; -} - -/* - * Update a service record - */ -int service_update_req(sdp_req_t *req, sdp_buf_t *rsp) -{ - sdp_record_t *orec, *nrec; - int status = 0, scanned = 0; - uint8_t *p = req->buf + sizeof(sdp_pdu_hdr_t); - int bufsize = req->len - sizeof(sdp_pdu_hdr_t); - uint32_t handle = bt_get_be32(p); - - SDPDBG("Svc Rec Handle: 0x%x", handle); - - p += sizeof(uint32_t); - bufsize -= sizeof(uint32_t); - - orec = sdp_record_find(handle); - - SDPDBG("SvcRecOld: %p", orec); - - if (!orec) { - status = SDP_INVALID_RECORD_HANDLE; - goto done; - } - - nrec = extract_pdu_server(BDADDR_ANY, p, bufsize, handle, &scanned); - if (!nrec) { - status = SDP_INVALID_SYNTAX; - goto done; - } - - assert(nrec == orec); - - update_db_timestamp(); - -done: - p = rsp->data; - bt_put_be16(status, p); - rsp->data_size = sizeof(uint16_t); - return status; -} - -/* - * Remove a registered service record - */ -int service_remove_req(sdp_req_t *req, sdp_buf_t *rsp) -{ - uint8_t *p = req->buf + sizeof(sdp_pdu_hdr_t); - uint32_t handle = bt_get_be32(p); - sdp_record_t *rec; - int status = 0; - - /* extract service record handle */ - - rec = sdp_record_find(handle); - if (rec) { - sdp_svcdb_collect(rec); - status = sdp_record_remove(handle); - sdp_record_free(rec); - if (status == 0) - update_db_timestamp(); - } else { - status = SDP_INVALID_RECORD_HANDLE; - SDPDBG("Could not find record : 0x%x", handle); - } - - p = rsp->data; - bt_put_be16(status, p); - rsp->data_size = sizeof(uint16_t); - - return status; -} diff --git a/GRIB_BLE_HUB/libs/ble_extend/src/sdpd.h b/GRIB_BLE_HUB/libs/ble_extend/src/sdpd.h deleted file mode 100644 index 9a0e1e9..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/src/sdpd.h +++ /dev/null @@ -1,85 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2001-2002 Nokia Corporation - * Copyright (C) 2002-2003 Maxim Krasnyansky - * Copyright (C) 2002-2010 Marcel Holtmann - * Copyright (C) 2002-2003 Stephen Crane - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#include -#include - -#ifdef SDP_DEBUG -#include -#define SDPDBG(fmt, arg...) syslog(LOG_DEBUG, "%s: " fmt "\n", __func__ , ## arg) -#else -#define SDPDBG(fmt...) -#endif - -typedef struct request { - bdaddr_t device; - bdaddr_t bdaddr; - int local; - int sock; - int mtu; - int flags; - uint8_t *buf; - int len; -} sdp_req_t; - -void handle_internal_request(int sk, int mtu, void *data, int len); -void handle_request(int sk, uint8_t *data, int len); - -void set_fixed_db_timestamp(uint32_t dbts); - -int service_register_req(sdp_req_t *req, sdp_buf_t *rsp); -int service_update_req(sdp_req_t *req, sdp_buf_t *rsp); -int service_remove_req(sdp_req_t *req, sdp_buf_t *rsp); - -void register_public_browse_group(void); -void register_server_service(void); -void register_device_id(uint16_t source, uint16_t vendor, - uint16_t product, uint16_t version); - -int record_sort(const void *r1, const void *r2); -void sdp_svcdb_reset(void); -void sdp_svcdb_collect_all(int sock); -void sdp_svcdb_set_collectable(sdp_record_t *rec, int sock); -void sdp_svcdb_collect(sdp_record_t *rec); -sdp_record_t *sdp_record_find(uint32_t handle); -void sdp_record_add(const bdaddr_t *device, sdp_record_t *rec); -int sdp_record_remove(uint32_t handle); -sdp_list_t *sdp_get_record_list(void); -int sdp_check_access(uint32_t handle, bdaddr_t *device); -uint32_t sdp_next_handle(void); - -uint32_t sdp_get_time(void); - -#define SDP_SERVER_COMPAT (1 << 0) -#define SDP_SERVER_MASTER (1 << 1) - -int start_sdp_server(uint16_t mtu, uint32_t flags); -void stop_sdp_server(void); - -int add_record_to_server(const bdaddr_t *src, sdp_record_t *rec); -int remove_record_from_server(uint32_t handle); - -void sdp_init_services_list(bdaddr_t *device); diff --git a/GRIB_BLE_HUB/libs/ble_extend/src/shared/.deps/.dirstamp b/GRIB_BLE_HUB/libs/ble_extend/src/shared/.deps/.dirstamp deleted file mode 100644 index e69de29..0000000 diff --git a/GRIB_BLE_HUB/libs/ble_extend/src/shared/.deps/bluetoothd-mgmt.Po b/GRIB_BLE_HUB/libs/ble_extend/src/shared/.deps/bluetoothd-mgmt.Po deleted file mode 100644 index 4130399..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/src/shared/.deps/bluetoothd-mgmt.Po +++ /dev/null @@ -1,471 +0,0 @@ -src/shared/bluetoothd-mgmt.o: src/shared/mgmt.c \ - /usr/include/stdc-predef.h config.h /usr/include/stdio.h \ - /usr/include/features.h /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/sys_errlist.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio.h /usr/include/unistd.h \ - /usr/include/arm-linux-gnueabihf/bits/posix_opt.h \ - /usr/include/arm-linux-gnueabihf/bits/environments.h \ - /usr/include/arm-linux-gnueabihf/bits/confname.h /usr/include/getopt.h \ - /usr/include/string.h /usr/include/xlocale.h \ - /usr/include/arm-linux-gnueabihf/bits/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string2.h /usr/include/stdlib.h \ - /usr/include/errno.h /usr/include/arm-linux-gnueabihf/bits/errno.h \ - /usr/include/linux/errno.h /usr/include/arm-linux-gnueabihf/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/include/glib-2.0/glib.h /usr/include/glib-2.0/glib/galloca.h \ - /usr/include/glib-2.0/glib/gtypes.h \ - /usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h \ - /usr/include/glib-2.0/glib/gmacros.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h \ - /usr/include/limits.h /usr/include/arm-linux-gnueabihf/bits/posix1_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/local_lim.h \ - /usr/include/linux/limits.h \ - /usr/include/arm-linux-gnueabihf/bits/posix2_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/xopen_lim.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h \ - /usr/include/glib-2.0/glib/gversionmacros.h /usr/include/time.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/bits/timex.h \ - /usr/include/glib-2.0/glib/garray.h \ - /usr/include/glib-2.0/glib/gasyncqueue.h \ - /usr/include/glib-2.0/glib/gthread.h \ - /usr/include/glib-2.0/glib/gatomic.h /usr/include/glib-2.0/glib/gerror.h \ - /usr/include/glib-2.0/glib/gquark.h \ - /usr/include/glib-2.0/glib/gbacktrace.h /usr/include/signal.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/signum.h \ - /usr/include/arm-linux-gnueabihf/bits/siginfo.h \ - /usr/include/arm-linux-gnueabihf/bits/sigaction.h \ - /usr/include/arm-linux-gnueabihf/bits/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/asm/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigstack.h \ - /usr/include/arm-linux-gnueabihf/sys/ucontext.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/endian.h /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/arm-linux-gnueabihf/bits/sigthread.h \ - /usr/include/glib-2.0/glib/gbase64.h \ - /usr/include/glib-2.0/glib/gbitlock.h \ - /usr/include/glib-2.0/glib/gbookmarkfile.h \ - /usr/include/glib-2.0/glib/gbytes.h \ - /usr/include/glib-2.0/glib/gcharset.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/gconvert.h \ - /usr/include/glib-2.0/glib/gdataset.h /usr/include/glib-2.0/glib/gdate.h \ - /usr/include/glib-2.0/glib/gdatetime.h \ - /usr/include/glib-2.0/glib/gtimezone.h /usr/include/glib-2.0/glib/gdir.h \ - /usr/include/dirent.h /usr/include/arm-linux-gnueabihf/bits/dirent.h \ - /usr/include/glib-2.0/glib/genviron.h \ - /usr/include/glib-2.0/glib/gfileutils.h \ - /usr/include/glib-2.0/glib/ggettext.h /usr/include/glib-2.0/glib/ghash.h \ - /usr/include/glib-2.0/glib/glist.h /usr/include/glib-2.0/glib/gmem.h \ - /usr/include/glib-2.0/glib/gnode.h /usr/include/glib-2.0/glib/ghmac.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/ghook.h \ - /usr/include/glib-2.0/glib/ghostutils.h \ - /usr/include/glib-2.0/glib/giochannel.h \ - /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gpoll.h \ - /usr/include/glib-2.0/glib/gslist.h /usr/include/glib-2.0/glib/gstring.h \ - /usr/include/glib-2.0/glib/gunicode.h \ - /usr/include/glib-2.0/glib/gutils.h \ - /usr/include/glib-2.0/glib/gkeyfile.h \ - /usr/include/glib-2.0/glib/gmappedfile.h \ - /usr/include/glib-2.0/glib/gmarkup.h \ - /usr/include/glib-2.0/glib/gmessages.h \ - /usr/include/glib-2.0/glib/goption.h \ - /usr/include/glib-2.0/glib/gpattern.h \ - /usr/include/glib-2.0/glib/gprimes.h /usr/include/glib-2.0/glib/gqsort.h \ - /usr/include/glib-2.0/glib/gqueue.h /usr/include/glib-2.0/glib/grand.h \ - /usr/include/glib-2.0/glib/gregex.h \ - /usr/include/glib-2.0/glib/gscanner.h \ - /usr/include/glib-2.0/glib/gsequence.h \ - /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gslice.h \ - /usr/include/glib-2.0/glib/gspawn.h \ - /usr/include/glib-2.0/glib/gstrfuncs.h \ - /usr/include/glib-2.0/glib/gstringchunk.h \ - /usr/include/glib-2.0/glib/gtestutils.h \ - /usr/include/glib-2.0/glib/gthreadpool.h \ - /usr/include/glib-2.0/glib/gtimer.h \ - /usr/include/glib-2.0/glib/gtrashstack.h \ - /usr/include/glib-2.0/glib/gtree.h \ - /usr/include/glib-2.0/glib/gurifuncs.h \ - /usr/include/glib-2.0/glib/gvarianttype.h \ - /usr/include/glib-2.0/glib/gvariant.h \ - /usr/include/glib-2.0/glib/gversion.h \ - /usr/include/glib-2.0/glib/deprecated/gallocator.h \ - /usr/include/glib-2.0/glib/deprecated/gcache.h \ - /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ - /usr/include/glib-2.0/glib/deprecated/gmain.h \ - /usr/include/glib-2.0/glib/deprecated/grel.h \ - /usr/include/glib-2.0/glib/deprecated/gthread.h \ - /usr/include/arm-linux-gnueabihf/sys/types.h \ - /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h /usr/include/pthread.h \ - /usr/include/sched.h /usr/include/arm-linux-gnueabihf/bits/sched.h \ - /usr/include/arm-linux-gnueabihf/bits/setjmp.h lib/bluetooth.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h \ - /usr/include/stdint.h /usr/include/arm-linux-gnueabihf/bits/wchar.h \ - /usr/include/byteswap.h /usr/include/netinet/in.h \ - /usr/include/arm-linux-gnueabihf/sys/socket.h \ - /usr/include/arm-linux-gnueabihf/sys/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/socket.h \ - /usr/include/arm-linux-gnueabihf/bits/socket_type.h \ - /usr/include/arm-linux-gnueabihf/bits/sockaddr.h \ - /usr/include/arm-linux-gnueabihf/asm/socket.h \ - /usr/include/asm-generic/socket.h \ - /usr/include/arm-linux-gnueabihf/asm/sockios.h \ - /usr/include/asm-generic/sockios.h \ - /usr/include/arm-linux-gnueabihf/bits/in.h lib/mgmt.h lib/hci.h \ - src/shared/util.h src/shared/mgmt.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdbool.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/include/stdio.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/sys_errlist.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio.h: - -/usr/include/unistd.h: - -/usr/include/arm-linux-gnueabihf/bits/posix_opt.h: - -/usr/include/arm-linux-gnueabihf/bits/environments.h: - -/usr/include/arm-linux-gnueabihf/bits/confname.h: - -/usr/include/getopt.h: - -/usr/include/string.h: - -/usr/include/xlocale.h: - -/usr/include/arm-linux-gnueabihf/bits/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string2.h: - -/usr/include/stdlib.h: - -/usr/include/errno.h: - -/usr/include/arm-linux-gnueabihf/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/arm-linux-gnueabihf/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/include/glib-2.0/glib.h: - -/usr/include/glib-2.0/glib/galloca.h: - -/usr/include/glib-2.0/glib/gtypes.h: - -/usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h: - -/usr/include/glib-2.0/glib/gmacros.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h: - -/usr/include/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/local_lim.h: - -/usr/include/linux/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix2_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/xopen_lim.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h: - -/usr/include/glib-2.0/glib/gversionmacros.h: - -/usr/include/time.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/bits/timex.h: - -/usr/include/glib-2.0/glib/garray.h: - -/usr/include/glib-2.0/glib/gasyncqueue.h: - -/usr/include/glib-2.0/glib/gthread.h: - -/usr/include/glib-2.0/glib/gatomic.h: - -/usr/include/glib-2.0/glib/gerror.h: - -/usr/include/glib-2.0/glib/gquark.h: - -/usr/include/glib-2.0/glib/gbacktrace.h: - -/usr/include/signal.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/signum.h: - -/usr/include/arm-linux-gnueabihf/bits/siginfo.h: - -/usr/include/arm-linux-gnueabihf/bits/sigaction.h: - -/usr/include/arm-linux-gnueabihf/bits/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/asm/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigstack.h: - -/usr/include/arm-linux-gnueabihf/sys/ucontext.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/arm-linux-gnueabihf/bits/sigthread.h: - -/usr/include/glib-2.0/glib/gbase64.h: - -/usr/include/glib-2.0/glib/gbitlock.h: - -/usr/include/glib-2.0/glib/gbookmarkfile.h: - -/usr/include/glib-2.0/glib/gbytes.h: - -/usr/include/glib-2.0/glib/gcharset.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/gconvert.h: - -/usr/include/glib-2.0/glib/gdataset.h: - -/usr/include/glib-2.0/glib/gdate.h: - -/usr/include/glib-2.0/glib/gdatetime.h: - -/usr/include/glib-2.0/glib/gtimezone.h: - -/usr/include/glib-2.0/glib/gdir.h: - -/usr/include/dirent.h: - -/usr/include/arm-linux-gnueabihf/bits/dirent.h: - -/usr/include/glib-2.0/glib/genviron.h: - -/usr/include/glib-2.0/glib/gfileutils.h: - -/usr/include/glib-2.0/glib/ggettext.h: - -/usr/include/glib-2.0/glib/ghash.h: - -/usr/include/glib-2.0/glib/glist.h: - -/usr/include/glib-2.0/glib/gmem.h: - -/usr/include/glib-2.0/glib/gnode.h: - -/usr/include/glib-2.0/glib/ghmac.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/ghook.h: - -/usr/include/glib-2.0/glib/ghostutils.h: - -/usr/include/glib-2.0/glib/giochannel.h: - -/usr/include/glib-2.0/glib/gmain.h: - -/usr/include/glib-2.0/glib/gpoll.h: - -/usr/include/glib-2.0/glib/gslist.h: - -/usr/include/glib-2.0/glib/gstring.h: - -/usr/include/glib-2.0/glib/gunicode.h: - -/usr/include/glib-2.0/glib/gutils.h: - -/usr/include/glib-2.0/glib/gkeyfile.h: - -/usr/include/glib-2.0/glib/gmappedfile.h: - -/usr/include/glib-2.0/glib/gmarkup.h: - -/usr/include/glib-2.0/glib/gmessages.h: - -/usr/include/glib-2.0/glib/goption.h: - -/usr/include/glib-2.0/glib/gpattern.h: - -/usr/include/glib-2.0/glib/gprimes.h: - -/usr/include/glib-2.0/glib/gqsort.h: - -/usr/include/glib-2.0/glib/gqueue.h: - -/usr/include/glib-2.0/glib/grand.h: - -/usr/include/glib-2.0/glib/gregex.h: - -/usr/include/glib-2.0/glib/gscanner.h: - -/usr/include/glib-2.0/glib/gsequence.h: - -/usr/include/glib-2.0/glib/gshell.h: - -/usr/include/glib-2.0/glib/gslice.h: - -/usr/include/glib-2.0/glib/gspawn.h: - -/usr/include/glib-2.0/glib/gstrfuncs.h: - -/usr/include/glib-2.0/glib/gstringchunk.h: - -/usr/include/glib-2.0/glib/gtestutils.h: - -/usr/include/glib-2.0/glib/gthreadpool.h: - -/usr/include/glib-2.0/glib/gtimer.h: - -/usr/include/glib-2.0/glib/gtrashstack.h: - -/usr/include/glib-2.0/glib/gtree.h: - -/usr/include/glib-2.0/glib/gurifuncs.h: - -/usr/include/glib-2.0/glib/gvarianttype.h: - -/usr/include/glib-2.0/glib/gvariant.h: - -/usr/include/glib-2.0/glib/gversion.h: - -/usr/include/glib-2.0/glib/deprecated/gallocator.h: - -/usr/include/glib-2.0/glib/deprecated/gcache.h: - -/usr/include/glib-2.0/glib/deprecated/gcompletion.h: - -/usr/include/glib-2.0/glib/deprecated/gmain.h: - -/usr/include/glib-2.0/glib/deprecated/grel.h: - -/usr/include/glib-2.0/glib/deprecated/gthread.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/pthread.h: - -/usr/include/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/setjmp.h: - -lib/bluetooth.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/arm-linux-gnueabihf/bits/wchar.h: - -/usr/include/byteswap.h: - -/usr/include/netinet/in.h: - -/usr/include/arm-linux-gnueabihf/sys/socket.h: - -/usr/include/arm-linux-gnueabihf/sys/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/socket.h: - -/usr/include/arm-linux-gnueabihf/bits/socket_type.h: - -/usr/include/arm-linux-gnueabihf/bits/sockaddr.h: - -/usr/include/arm-linux-gnueabihf/asm/socket.h: - -/usr/include/asm-generic/socket.h: - -/usr/include/arm-linux-gnueabihf/asm/sockios.h: - -/usr/include/asm-generic/sockios.h: - -/usr/include/arm-linux-gnueabihf/bits/in.h: - -lib/mgmt.h: - -lib/hci.h: - -src/shared/util.h: - -src/shared/mgmt.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdbool.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/src/shared/.deps/bluetoothd-util.Po b/GRIB_BLE_HUB/libs/ble_extend/src/shared/.deps/bluetoothd-util.Po deleted file mode 100644 index 92494b3..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/src/shared/.deps/bluetoothd-util.Po +++ /dev/null @@ -1,68 +0,0 @@ -src/shared/bluetoothd-util.o: src/shared/util.c \ - /usr/include/stdc-predef.h config.h /usr/include/stdio.h \ - /usr/include/features.h /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/sys_errlist.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio.h /usr/include/ctype.h \ - /usr/include/endian.h /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/xlocale.h src/shared/util.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/include/stdio.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/sys_errlist.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio.h: - -/usr/include/ctype.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/xlocale.h: - -src/shared/util.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/src/shared/.deps/hciemu.Po b/GRIB_BLE_HUB/libs/ble_extend/src/shared/.deps/hciemu.Po deleted file mode 100644 index 9ce06a8..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/src/shared/.deps/hciemu.Po +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/GRIB_BLE_HUB/libs/ble_extend/src/shared/.deps/mgmt.Po b/GRIB_BLE_HUB/libs/ble_extend/src/shared/.deps/mgmt.Po deleted file mode 100644 index 6f93798..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/src/shared/.deps/mgmt.Po +++ /dev/null @@ -1,471 +0,0 @@ -src/shared/mgmt.o: src/shared/mgmt.c /usr/include/stdc-predef.h config.h \ - /usr/include/stdio.h /usr/include/features.h \ - /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/sys_errlist.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio.h /usr/include/unistd.h \ - /usr/include/arm-linux-gnueabihf/bits/posix_opt.h \ - /usr/include/arm-linux-gnueabihf/bits/environments.h \ - /usr/include/arm-linux-gnueabihf/bits/confname.h /usr/include/getopt.h \ - /usr/include/string.h /usr/include/xlocale.h \ - /usr/include/arm-linux-gnueabihf/bits/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string2.h /usr/include/stdlib.h \ - /usr/include/errno.h /usr/include/arm-linux-gnueabihf/bits/errno.h \ - /usr/include/linux/errno.h /usr/include/arm-linux-gnueabihf/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/include/glib-2.0/glib.h /usr/include/glib-2.0/glib/galloca.h \ - /usr/include/glib-2.0/glib/gtypes.h \ - /usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h \ - /usr/include/glib-2.0/glib/gmacros.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h \ - /usr/include/limits.h /usr/include/arm-linux-gnueabihf/bits/posix1_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/local_lim.h \ - /usr/include/linux/limits.h \ - /usr/include/arm-linux-gnueabihf/bits/posix2_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/xopen_lim.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h \ - /usr/include/glib-2.0/glib/gversionmacros.h /usr/include/time.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/bits/timex.h \ - /usr/include/glib-2.0/glib/garray.h \ - /usr/include/glib-2.0/glib/gasyncqueue.h \ - /usr/include/glib-2.0/glib/gthread.h \ - /usr/include/glib-2.0/glib/gatomic.h /usr/include/glib-2.0/glib/gerror.h \ - /usr/include/glib-2.0/glib/gquark.h \ - /usr/include/glib-2.0/glib/gbacktrace.h /usr/include/signal.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/signum.h \ - /usr/include/arm-linux-gnueabihf/bits/siginfo.h \ - /usr/include/arm-linux-gnueabihf/bits/sigaction.h \ - /usr/include/arm-linux-gnueabihf/bits/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/asm/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigstack.h \ - /usr/include/arm-linux-gnueabihf/sys/ucontext.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/endian.h /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/arm-linux-gnueabihf/bits/sigthread.h \ - /usr/include/glib-2.0/glib/gbase64.h \ - /usr/include/glib-2.0/glib/gbitlock.h \ - /usr/include/glib-2.0/glib/gbookmarkfile.h \ - /usr/include/glib-2.0/glib/gbytes.h \ - /usr/include/glib-2.0/glib/gcharset.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/gconvert.h \ - /usr/include/glib-2.0/glib/gdataset.h /usr/include/glib-2.0/glib/gdate.h \ - /usr/include/glib-2.0/glib/gdatetime.h \ - /usr/include/glib-2.0/glib/gtimezone.h /usr/include/glib-2.0/glib/gdir.h \ - /usr/include/dirent.h /usr/include/arm-linux-gnueabihf/bits/dirent.h \ - /usr/include/glib-2.0/glib/genviron.h \ - /usr/include/glib-2.0/glib/gfileutils.h \ - /usr/include/glib-2.0/glib/ggettext.h /usr/include/glib-2.0/glib/ghash.h \ - /usr/include/glib-2.0/glib/glist.h /usr/include/glib-2.0/glib/gmem.h \ - /usr/include/glib-2.0/glib/gnode.h /usr/include/glib-2.0/glib/ghmac.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/ghook.h \ - /usr/include/glib-2.0/glib/ghostutils.h \ - /usr/include/glib-2.0/glib/giochannel.h \ - /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gpoll.h \ - /usr/include/glib-2.0/glib/gslist.h /usr/include/glib-2.0/glib/gstring.h \ - /usr/include/glib-2.0/glib/gunicode.h \ - /usr/include/glib-2.0/glib/gutils.h \ - /usr/include/glib-2.0/glib/gkeyfile.h \ - /usr/include/glib-2.0/glib/gmappedfile.h \ - /usr/include/glib-2.0/glib/gmarkup.h \ - /usr/include/glib-2.0/glib/gmessages.h \ - /usr/include/glib-2.0/glib/goption.h \ - /usr/include/glib-2.0/glib/gpattern.h \ - /usr/include/glib-2.0/glib/gprimes.h /usr/include/glib-2.0/glib/gqsort.h \ - /usr/include/glib-2.0/glib/gqueue.h /usr/include/glib-2.0/glib/grand.h \ - /usr/include/glib-2.0/glib/gregex.h \ - /usr/include/glib-2.0/glib/gscanner.h \ - /usr/include/glib-2.0/glib/gsequence.h \ - /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gslice.h \ - /usr/include/glib-2.0/glib/gspawn.h \ - /usr/include/glib-2.0/glib/gstrfuncs.h \ - /usr/include/glib-2.0/glib/gstringchunk.h \ - /usr/include/glib-2.0/glib/gtestutils.h \ - /usr/include/glib-2.0/glib/gthreadpool.h \ - /usr/include/glib-2.0/glib/gtimer.h \ - /usr/include/glib-2.0/glib/gtrashstack.h \ - /usr/include/glib-2.0/glib/gtree.h \ - /usr/include/glib-2.0/glib/gurifuncs.h \ - /usr/include/glib-2.0/glib/gvarianttype.h \ - /usr/include/glib-2.0/glib/gvariant.h \ - /usr/include/glib-2.0/glib/gversion.h \ - /usr/include/glib-2.0/glib/deprecated/gallocator.h \ - /usr/include/glib-2.0/glib/deprecated/gcache.h \ - /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ - /usr/include/glib-2.0/glib/deprecated/gmain.h \ - /usr/include/glib-2.0/glib/deprecated/grel.h \ - /usr/include/glib-2.0/glib/deprecated/gthread.h \ - /usr/include/arm-linux-gnueabihf/sys/types.h \ - /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h /usr/include/pthread.h \ - /usr/include/sched.h /usr/include/arm-linux-gnueabihf/bits/sched.h \ - /usr/include/arm-linux-gnueabihf/bits/setjmp.h lib/bluetooth.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h \ - /usr/include/stdint.h /usr/include/arm-linux-gnueabihf/bits/wchar.h \ - /usr/include/byteswap.h /usr/include/netinet/in.h \ - /usr/include/arm-linux-gnueabihf/sys/socket.h \ - /usr/include/arm-linux-gnueabihf/sys/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/socket.h \ - /usr/include/arm-linux-gnueabihf/bits/socket_type.h \ - /usr/include/arm-linux-gnueabihf/bits/sockaddr.h \ - /usr/include/arm-linux-gnueabihf/asm/socket.h \ - /usr/include/asm-generic/socket.h \ - /usr/include/arm-linux-gnueabihf/asm/sockios.h \ - /usr/include/asm-generic/sockios.h \ - /usr/include/arm-linux-gnueabihf/bits/in.h lib/mgmt.h lib/hci.h \ - src/shared/util.h src/shared/mgmt.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdbool.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/include/stdio.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/sys_errlist.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio.h: - -/usr/include/unistd.h: - -/usr/include/arm-linux-gnueabihf/bits/posix_opt.h: - -/usr/include/arm-linux-gnueabihf/bits/environments.h: - -/usr/include/arm-linux-gnueabihf/bits/confname.h: - -/usr/include/getopt.h: - -/usr/include/string.h: - -/usr/include/xlocale.h: - -/usr/include/arm-linux-gnueabihf/bits/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string2.h: - -/usr/include/stdlib.h: - -/usr/include/errno.h: - -/usr/include/arm-linux-gnueabihf/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/arm-linux-gnueabihf/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/include/glib-2.0/glib.h: - -/usr/include/glib-2.0/glib/galloca.h: - -/usr/include/glib-2.0/glib/gtypes.h: - -/usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h: - -/usr/include/glib-2.0/glib/gmacros.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h: - -/usr/include/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/local_lim.h: - -/usr/include/linux/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix2_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/xopen_lim.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h: - -/usr/include/glib-2.0/glib/gversionmacros.h: - -/usr/include/time.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/bits/timex.h: - -/usr/include/glib-2.0/glib/garray.h: - -/usr/include/glib-2.0/glib/gasyncqueue.h: - -/usr/include/glib-2.0/glib/gthread.h: - -/usr/include/glib-2.0/glib/gatomic.h: - -/usr/include/glib-2.0/glib/gerror.h: - -/usr/include/glib-2.0/glib/gquark.h: - -/usr/include/glib-2.0/glib/gbacktrace.h: - -/usr/include/signal.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/signum.h: - -/usr/include/arm-linux-gnueabihf/bits/siginfo.h: - -/usr/include/arm-linux-gnueabihf/bits/sigaction.h: - -/usr/include/arm-linux-gnueabihf/bits/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/asm/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigstack.h: - -/usr/include/arm-linux-gnueabihf/sys/ucontext.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/arm-linux-gnueabihf/bits/sigthread.h: - -/usr/include/glib-2.0/glib/gbase64.h: - -/usr/include/glib-2.0/glib/gbitlock.h: - -/usr/include/glib-2.0/glib/gbookmarkfile.h: - -/usr/include/glib-2.0/glib/gbytes.h: - -/usr/include/glib-2.0/glib/gcharset.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/gconvert.h: - -/usr/include/glib-2.0/glib/gdataset.h: - -/usr/include/glib-2.0/glib/gdate.h: - -/usr/include/glib-2.0/glib/gdatetime.h: - -/usr/include/glib-2.0/glib/gtimezone.h: - -/usr/include/glib-2.0/glib/gdir.h: - -/usr/include/dirent.h: - -/usr/include/arm-linux-gnueabihf/bits/dirent.h: - -/usr/include/glib-2.0/glib/genviron.h: - -/usr/include/glib-2.0/glib/gfileutils.h: - -/usr/include/glib-2.0/glib/ggettext.h: - -/usr/include/glib-2.0/glib/ghash.h: - -/usr/include/glib-2.0/glib/glist.h: - -/usr/include/glib-2.0/glib/gmem.h: - -/usr/include/glib-2.0/glib/gnode.h: - -/usr/include/glib-2.0/glib/ghmac.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/ghook.h: - -/usr/include/glib-2.0/glib/ghostutils.h: - -/usr/include/glib-2.0/glib/giochannel.h: - -/usr/include/glib-2.0/glib/gmain.h: - -/usr/include/glib-2.0/glib/gpoll.h: - -/usr/include/glib-2.0/glib/gslist.h: - -/usr/include/glib-2.0/glib/gstring.h: - -/usr/include/glib-2.0/glib/gunicode.h: - -/usr/include/glib-2.0/glib/gutils.h: - -/usr/include/glib-2.0/glib/gkeyfile.h: - -/usr/include/glib-2.0/glib/gmappedfile.h: - -/usr/include/glib-2.0/glib/gmarkup.h: - -/usr/include/glib-2.0/glib/gmessages.h: - -/usr/include/glib-2.0/glib/goption.h: - -/usr/include/glib-2.0/glib/gpattern.h: - -/usr/include/glib-2.0/glib/gprimes.h: - -/usr/include/glib-2.0/glib/gqsort.h: - -/usr/include/glib-2.0/glib/gqueue.h: - -/usr/include/glib-2.0/glib/grand.h: - -/usr/include/glib-2.0/glib/gregex.h: - -/usr/include/glib-2.0/glib/gscanner.h: - -/usr/include/glib-2.0/glib/gsequence.h: - -/usr/include/glib-2.0/glib/gshell.h: - -/usr/include/glib-2.0/glib/gslice.h: - -/usr/include/glib-2.0/glib/gspawn.h: - -/usr/include/glib-2.0/glib/gstrfuncs.h: - -/usr/include/glib-2.0/glib/gstringchunk.h: - -/usr/include/glib-2.0/glib/gtestutils.h: - -/usr/include/glib-2.0/glib/gthreadpool.h: - -/usr/include/glib-2.0/glib/gtimer.h: - -/usr/include/glib-2.0/glib/gtrashstack.h: - -/usr/include/glib-2.0/glib/gtree.h: - -/usr/include/glib-2.0/glib/gurifuncs.h: - -/usr/include/glib-2.0/glib/gvarianttype.h: - -/usr/include/glib-2.0/glib/gvariant.h: - -/usr/include/glib-2.0/glib/gversion.h: - -/usr/include/glib-2.0/glib/deprecated/gallocator.h: - -/usr/include/glib-2.0/glib/deprecated/gcache.h: - -/usr/include/glib-2.0/glib/deprecated/gcompletion.h: - -/usr/include/glib-2.0/glib/deprecated/gmain.h: - -/usr/include/glib-2.0/glib/deprecated/grel.h: - -/usr/include/glib-2.0/glib/deprecated/gthread.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/pthread.h: - -/usr/include/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/setjmp.h: - -lib/bluetooth.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/arm-linux-gnueabihf/bits/wchar.h: - -/usr/include/byteswap.h: - -/usr/include/netinet/in.h: - -/usr/include/arm-linux-gnueabihf/sys/socket.h: - -/usr/include/arm-linux-gnueabihf/sys/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/socket.h: - -/usr/include/arm-linux-gnueabihf/bits/socket_type.h: - -/usr/include/arm-linux-gnueabihf/bits/sockaddr.h: - -/usr/include/arm-linux-gnueabihf/asm/socket.h: - -/usr/include/asm-generic/socket.h: - -/usr/include/arm-linux-gnueabihf/asm/sockios.h: - -/usr/include/asm-generic/sockios.h: - -/usr/include/arm-linux-gnueabihf/bits/in.h: - -lib/mgmt.h: - -lib/hci.h: - -src/shared/util.h: - -src/shared/mgmt.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdbool.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/src/shared/.deps/tester.Po b/GRIB_BLE_HUB/libs/ble_extend/src/shared/.deps/tester.Po deleted file mode 100644 index 9ce06a8..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/src/shared/.deps/tester.Po +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/GRIB_BLE_HUB/libs/ble_extend/src/shared/.deps/util.Po b/GRIB_BLE_HUB/libs/ble_extend/src/shared/.deps/util.Po deleted file mode 100644 index 5edfc71..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/src/shared/.deps/util.Po +++ /dev/null @@ -1,68 +0,0 @@ -src/shared/util.o: src/shared/util.c /usr/include/stdc-predef.h config.h \ - /usr/include/stdio.h /usr/include/features.h \ - /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/sys_errlist.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio.h /usr/include/ctype.h \ - /usr/include/endian.h /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/xlocale.h src/shared/util.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/include/stdio.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/sys_errlist.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio.h: - -/usr/include/ctype.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/xlocale.h: - -src/shared/util.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/src/shared/.dirstamp b/GRIB_BLE_HUB/libs/ble_extend/src/shared/.dirstamp deleted file mode 100644 index e69de29..0000000 diff --git a/GRIB_BLE_HUB/libs/ble_extend/src/shared/hciemu.c b/GRIB_BLE_HUB/libs/ble_extend/src/shared/hciemu.c deleted file mode 100644 index 60a4f47..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/src/shared/hciemu.c +++ /dev/null @@ -1,367 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2012 Intel Corporation. All rights reserved. - * - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include -#include -#include -#include - -#include - -#include "monitor/bt.h" -#include "emulator/btdev.h" -#include "emulator/bthost.h" - -#include "hciemu.h" - -struct hciemu { - gint ref_count; - enum btdev_type btdev_type; - struct bthost *host_stack; - struct btdev *master_dev; - struct btdev *client_dev; - guint host_source; - guint master_source; - guint client_source; - GList *post_command_hooks; -}; - -struct hciemu_command_hook { - hciemu_command_func_t function; - void *user_data; -}; - -static void destroy_command_hook(gpointer data, gpointer user_data) -{ - struct hciemu_command_hook *hook = data; - - g_free(hook); -} - -static void master_command_callback(uint16_t opcode, - const void *data, uint8_t len, - btdev_callback callback, void *user_data) -{ - struct hciemu *hciemu = user_data; - GList *list; - - btdev_command_default(callback); - - for (list = g_list_first(hciemu->post_command_hooks); list; - list = g_list_next(list)) { - struct hciemu_command_hook *hook = list->data; - - if (hook->function) - hook->function(opcode, data, len, hook->user_data); - } -} - -static void client_command_callback(uint16_t opcode, - const void *data, uint8_t len, - btdev_callback callback, void *user_data) -{ - btdev_command_default(callback); -} - -static void write_callback(const void *data, uint16_t len, void *user_data) -{ - GIOChannel *channel = user_data; - ssize_t written; - int fd; - - fd = g_io_channel_unix_get_fd(channel); - - written = write(fd, data, len); - if (written < 0) - return; -} - -static gboolean receive_bthost(GIOChannel *channel, GIOCondition condition, - gpointer user_data) -{ - struct bthost *bthost = user_data; - unsigned char buf[4096]; - ssize_t len; - int fd; - - if (condition & (G_IO_NVAL | G_IO_ERR | G_IO_HUP)) - return FALSE; - - fd = g_io_channel_unix_get_fd(channel); - - len = read(fd, buf, sizeof(buf)); - if (len < 0) - return FALSE; - - bthost_receive_h4(bthost, buf, len); - - return TRUE; -} - -static guint create_source_bthost(int fd, struct bthost *bthost) -{ - GIOChannel *channel; - guint source; - - channel = g_io_channel_unix_new(fd); - - g_io_channel_set_close_on_unref(channel, TRUE); - g_io_channel_set_encoding(channel, NULL, NULL); - g_io_channel_set_buffered(channel, FALSE); - - bthost_set_send_handler(bthost, write_callback, channel); - - source = g_io_add_watch_full(channel, G_PRIORITY_DEFAULT, - G_IO_IN | G_IO_HUP | G_IO_ERR | G_IO_NVAL, - receive_bthost, bthost, NULL); - - g_io_channel_unref(channel); - - return source; -} - -static gboolean receive_btdev(GIOChannel *channel, GIOCondition condition, - gpointer user_data) -{ - struct btdev *btdev = user_data; - unsigned char buf[4096]; - ssize_t len; - int fd; - - if (condition & (G_IO_NVAL | G_IO_ERR | G_IO_HUP)) - return FALSE; - - fd = g_io_channel_unix_get_fd(channel); - - len = read(fd, buf, sizeof(buf)); - if (len < 0) - return FALSE; - - btdev_receive_h4(btdev, buf, len); - - return TRUE; -} - -static guint create_source_btdev(int fd, struct btdev *btdev) -{ - GIOChannel *channel; - guint source; - - channel = g_io_channel_unix_new(fd); - - g_io_channel_set_close_on_unref(channel, TRUE); - g_io_channel_set_encoding(channel, NULL, NULL); - g_io_channel_set_buffered(channel, FALSE); - - btdev_set_send_handler(btdev, write_callback, channel); - - source = g_io_add_watch_full(channel, G_PRIORITY_DEFAULT, - G_IO_IN | G_IO_HUP | G_IO_ERR | G_IO_NVAL, - receive_btdev, btdev, NULL); - - g_io_channel_unref(channel); - - return source; -} - -static bool create_vhci(struct hciemu *hciemu) -{ - struct btdev *btdev; - uint8_t bdaddr[6]; - const char *str; - int fd, i; - - btdev = btdev_create(hciemu->btdev_type, 0x00); - if (!btdev) - return false; - - str = hciemu_get_address(hciemu); - - for (i = 5; i >= 0; i--, str += 3) - bdaddr[i] = strtol(str, NULL, 16); - - btdev_set_bdaddr(btdev, bdaddr); - btdev_set_command_handler(btdev, master_command_callback, hciemu); - - fd = open("/dev/vhci", O_RDWR | O_NONBLOCK | O_CLOEXEC); - if (fd < 0) { - btdev_destroy(btdev); - return false; - } - - hciemu->master_dev = btdev; - - hciemu->master_source = create_source_btdev(fd, btdev); - - return true; -} - -static bool create_stack(struct hciemu *hciemu) -{ - struct btdev *btdev; - struct bthost *bthost; - int sv[2]; - - btdev = btdev_create(hciemu->btdev_type, 0x00); - if (!btdev) - return false; - - bthost = bthost_create(); - if (!bthost) { - btdev_destroy(btdev); - return false; - } - - btdev_set_command_handler(btdev, client_command_callback, hciemu); - - if (socketpair(AF_UNIX, SOCK_SEQPACKET | SOCK_NONBLOCK | SOCK_CLOEXEC, - 0, sv) < 0) { - bthost_destroy(bthost); - btdev_destroy(btdev); - return false; - } - - hciemu->client_dev = btdev; - hciemu->host_stack = bthost; - - hciemu->client_source = create_source_btdev(sv[0], btdev); - hciemu->host_source = create_source_bthost(sv[1], bthost); - - return true; -} - -static gboolean start_stack(gpointer user_data) -{ - struct hciemu *hciemu = user_data; - - bthost_start(hciemu->host_stack); - - return FALSE; -} - -struct hciemu *hciemu_new(enum hciemu_type type) -{ - struct hciemu *hciemu; - - hciemu = g_try_new0(struct hciemu, 1); - if (!hciemu) - return NULL; - - switch (type) { - case HCIEMU_TYPE_BREDRLE: - hciemu->btdev_type = BTDEV_TYPE_BREDRLE; - break; - case HCIEMU_TYPE_BREDR: - hciemu->btdev_type = BTDEV_TYPE_BREDR; - break; - case HCIEMU_TYPE_LE: - hciemu->btdev_type = BTDEV_TYPE_LE; - break; - default: - return NULL; - } - - if (!create_vhci(hciemu)) { - g_free(hciemu); - return NULL; - } - - if (!create_stack(hciemu)) { - g_source_remove(hciemu->master_source); - btdev_destroy(hciemu->master_dev); - g_free(hciemu); - return NULL; - } - - g_idle_add(start_stack, hciemu); - - return hciemu_ref(hciemu); -} - -struct hciemu *hciemu_ref(struct hciemu *hciemu) -{ - if (!hciemu) - return NULL; - - __sync_fetch_and_add(&hciemu->ref_count, 1); - - return hciemu; -} - -void hciemu_unref(struct hciemu *hciemu) -{ - if (!hciemu) - return; - - if (__sync_sub_and_fetch(&hciemu->ref_count, 1) > 0) - return; - - g_list_foreach(hciemu->post_command_hooks, destroy_command_hook, NULL); - g_list_free(hciemu->post_command_hooks); - - bthost_stop(hciemu->host_stack); - - g_source_remove(hciemu->host_source); - g_source_remove(hciemu->client_source); - g_source_remove(hciemu->master_source); - - bthost_destroy(hciemu->host_stack); - btdev_destroy(hciemu->client_dev); - btdev_destroy(hciemu->master_dev); - - g_free(hciemu); -} - -const char *hciemu_get_address(struct hciemu *hciemu) -{ - if (!hciemu) - return NULL; - - return "00:FA:CE:1E:55:00"; -} - -bool hciemu_add_master_post_command_hook(struct hciemu *hciemu, - hciemu_command_func_t function, void *user_data) -{ - struct hciemu_command_hook *hook; - - if (!hciemu) - return false; - - hook = g_try_new0(struct hciemu_command_hook, 1); - if (!hook) - return false; - - hook->function = function; - hook->user_data = user_data; - - hciemu->post_command_hooks = g_list_append(hciemu->post_command_hooks, - hook); - - return true; -} diff --git a/GRIB_BLE_HUB/libs/ble_extend/src/shared/hciemu.h b/GRIB_BLE_HUB/libs/ble_extend/src/shared/hciemu.h deleted file mode 100644 index 0b2da35..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/src/shared/hciemu.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2012 Intel Corporation. All rights reserved. - * - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#include -#include - -struct hciemu; - -enum hciemu_type { - HCIEMU_TYPE_BREDRLE, - HCIEMU_TYPE_BREDR, - HCIEMU_TYPE_LE, -}; - -struct hciemu *hciemu_new(enum hciemu_type type); - -struct hciemu *hciemu_ref(struct hciemu *hciemu); -void hciemu_unref(struct hciemu *hciemu); - -const char *hciemu_get_address(struct hciemu *hciemu); - -typedef void (*hciemu_command_func_t)(uint16_t opcode, const void *data, - uint8_t len, void *user_data); - -bool hciemu_add_master_post_command_hook(struct hciemu *hciemu, - hciemu_command_func_t function, void *user_data); diff --git a/GRIB_BLE_HUB/libs/ble_extend/src/shared/mgmt.c b/GRIB_BLE_HUB/libs/ble_extend/src/shared/mgmt.c deleted file mode 100644 index ca4b05f..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/src/shared/mgmt.c +++ /dev/null @@ -1,815 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2012 Intel Corporation. All rights reserved. - * - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include -#include -#include - -#include - -#include "lib/bluetooth.h" -#include "lib/mgmt.h" -#include "lib/hci.h" - -#include "src/shared/util.h" -#include "src/shared/mgmt.h" - -struct mgmt { - int ref_count; - int fd; - bool close_on_unref; - GIOChannel *io; - guint read_watch; - guint write_watch; - GQueue *request_queue; - GQueue *reply_queue; - GList *pending_list; - GList *notify_list; - GList *notify_destroyed; - unsigned int next_request_id; - unsigned int next_notify_id; - bool in_notify; - bool destroyed; - void *buf; - uint16_t len; - mgmt_debug_func_t debug_callback; - mgmt_destroy_func_t debug_destroy; - void *debug_data; -}; - -struct mgmt_request { - unsigned int id; - uint16_t opcode; - uint16_t index; - void *buf; - uint16_t len; - mgmt_request_func_t callback; - mgmt_destroy_func_t destroy; - void *user_data; -}; - -struct mgmt_notify { - unsigned int id; - uint16_t event; - uint16_t index; - bool destroyed; - mgmt_notify_func_t callback; - mgmt_destroy_func_t destroy; - void *user_data; -}; - -static void destroy_request(gpointer data, gpointer user_data) -{ - struct mgmt_request *request = data; - - if (request->destroy) - request->destroy(request->user_data); - - g_free(request->buf); - g_free(request); -} - -static gint compare_request_id(gconstpointer a, gconstpointer b) -{ - const struct mgmt_request *request = a; - unsigned int id = GPOINTER_TO_UINT(b); - - return request->id - id; -} - -static void destroy_notify(gpointer data, gpointer user_data) -{ - struct mgmt_notify *notify = data; - - if (notify->destroy) - notify->destroy(notify->user_data); - - g_free(notify); -} - -static gint compare_notify_id(gconstpointer a, gconstpointer b) -{ - const struct mgmt_notify *notify = a; - unsigned int id = GPOINTER_TO_UINT(b); - - return notify->id - id; -} - -static void write_watch_destroy(gpointer user_data) -{ - struct mgmt *mgmt = user_data; - - mgmt->write_watch = 0; -} - -static gboolean can_write_data(GIOChannel *channel, GIOCondition cond, - gpointer user_data) -{ - struct mgmt *mgmt = user_data; - struct mgmt_request *request; - ssize_t bytes_written; - - if (cond & (G_IO_HUP | G_IO_ERR | G_IO_NVAL)) - return FALSE; - - request = g_queue_pop_head(mgmt->reply_queue); - if (!request) { - /* only reply commands can jump the queue */ - if (mgmt->pending_list) - return FALSE; - - request = g_queue_pop_head(mgmt->request_queue); - if (!request) - return FALSE; - } - - bytes_written = write(mgmt->fd, request->buf, request->len); - if (bytes_written < 0) { - util_debug(mgmt->debug_callback, mgmt->debug_data, - "write failed: %s", strerror(errno)); - if (request->callback) - request->callback(MGMT_STATUS_FAILED, 0, NULL, - request->user_data); - destroy_request(request, NULL); - return TRUE; - } - - util_debug(mgmt->debug_callback, mgmt->debug_data, - "[0x%04x] command 0x%04x", - request->index, request->opcode); - - util_hexdump('<', request->buf, bytes_written, - mgmt->debug_callback, mgmt->debug_data); - - mgmt->pending_list = g_list_append(mgmt->pending_list, request); - - return FALSE; -} - -static void wakeup_writer(struct mgmt *mgmt) -{ - if (mgmt->pending_list) { - /* only queued reply commands trigger wakeup */ - if (g_queue_get_length(mgmt->reply_queue) == 0) - return; - } - - if (mgmt->write_watch > 0) - return; - - mgmt->write_watch = g_io_add_watch_full(mgmt->io, G_PRIORITY_HIGH, - G_IO_OUT | G_IO_HUP | G_IO_ERR | G_IO_NVAL, - can_write_data, mgmt, write_watch_destroy); -} - -static GList *lookup_pending(struct mgmt *mgmt, uint16_t opcode, uint16_t index) -{ - GList *list; - - for (list = g_list_first(mgmt->pending_list); list; - list = g_list_next(list)) { - struct mgmt_request *request = list->data; - - if (request->opcode == opcode && request->index == index) - return list; - } - - return NULL; -} - -static void request_complete(struct mgmt *mgmt, uint8_t status, - uint16_t opcode, uint16_t index, - uint16_t length, const void *param) -{ - struct mgmt_request *request; - GList *list; - - list = lookup_pending(mgmt, opcode, index); - if (!list) - return; - - request = list->data; - - mgmt->pending_list = g_list_delete_link(mgmt->pending_list, list); - - if (request->callback) - request->callback(status, length, param, request->user_data); - - destroy_request(request, NULL); - - if (mgmt->destroyed) - return; - - wakeup_writer(mgmt); -} - -static void process_notify(struct mgmt *mgmt, uint16_t event, uint16_t index, - uint16_t length, const void *param) -{ - GList *list; - - mgmt->in_notify = true; - - for (list = g_list_first(mgmt->notify_list); list; - list = g_list_next(list)) { - struct mgmt_notify *notify = list->data; - - if (notify->destroyed) - continue; - - if (notify->event != event) - continue; - - if (notify->index != index && notify->index != MGMT_INDEX_NONE) - continue; - - if (notify->callback) - notify->callback(index, length, param, - notify->user_data); - - if (mgmt->destroyed) - break; - } - - mgmt->in_notify = false; - - g_list_foreach(mgmt->notify_destroyed, destroy_notify, NULL); - g_list_free(mgmt->notify_destroyed); - - mgmt->notify_destroyed = NULL; -} - -static void read_watch_destroy(gpointer user_data) -{ - struct mgmt *mgmt = user_data; - - if (mgmt->destroyed) { - g_free(mgmt); - return; - } - - mgmt->read_watch = 0; -} - -static gboolean received_data(GIOChannel *channel, GIOCondition cond, - gpointer user_data) -{ - struct mgmt *mgmt = user_data; - struct mgmt_hdr *hdr; - struct mgmt_ev_cmd_complete *cc; - struct mgmt_ev_cmd_status *cs; - ssize_t bytes_read; - uint16_t opcode, event, index, length; - - if (cond & (G_IO_HUP | G_IO_ERR | G_IO_NVAL)) - return FALSE; - - bytes_read = read(mgmt->fd, mgmt->buf, mgmt->len); - if (bytes_read < 0) - return TRUE; - - util_hexdump('>', mgmt->buf, bytes_read, - mgmt->debug_callback, mgmt->debug_data); - - if (bytes_read < MGMT_HDR_SIZE) - return TRUE; - - hdr = mgmt->buf; - event = btohs(hdr->opcode); - index = btohs(hdr->index); - length = btohs(hdr->len); - - if (bytes_read < length + MGMT_HDR_SIZE) - return TRUE; - - switch (event) { - case MGMT_EV_CMD_COMPLETE: - cc = mgmt->buf + MGMT_HDR_SIZE; - opcode = btohs(cc->opcode); - - util_debug(mgmt->debug_callback, mgmt->debug_data, - "[0x%04x] command 0x%04x complete: 0x%02x", - index, opcode, cc->status); - - request_complete(mgmt, cc->status, opcode, index, length - 3, - mgmt->buf + MGMT_HDR_SIZE + 3); - break; - case MGMT_EV_CMD_STATUS: - cs = mgmt->buf + MGMT_HDR_SIZE; - opcode = btohs(cs->opcode); - - util_debug(mgmt->debug_callback, mgmt->debug_data, - "[0x%04x] command 0x%02x status: 0x%02x", - index, opcode, cs->status); - - request_complete(mgmt, cs->status, opcode, index, 0, NULL); - break; - default: - util_debug(mgmt->debug_callback, mgmt->debug_data, - "[0x%04x] event 0x%04x", index, event); - - process_notify(mgmt, event, index, length, - mgmt->buf + MGMT_HDR_SIZE); - break; - } - - if (mgmt->destroyed) - return FALSE; - - return TRUE; -} - -struct mgmt *mgmt_new(int fd) -{ - struct mgmt *mgmt; - - if (fd < 0) - return NULL; - - mgmt = g_try_new0(struct mgmt, 1); - if (!mgmt) - return NULL; - - mgmt->fd = fd; - mgmt->close_on_unref = false; - - mgmt->len = 512; - mgmt->buf = g_try_malloc(mgmt->len); - if (!mgmt->buf) { - g_free(mgmt); - return NULL; - } - - mgmt->io = g_io_channel_unix_new(mgmt->fd); - - g_io_channel_set_encoding(mgmt->io, NULL, NULL); - g_io_channel_set_buffered(mgmt->io, FALSE); - - mgmt->request_queue = g_queue_new(); - mgmt->reply_queue = g_queue_new(); - - mgmt->read_watch = g_io_add_watch_full(mgmt->io, G_PRIORITY_DEFAULT, - G_IO_IN | G_IO_HUP | G_IO_ERR | G_IO_NVAL, - received_data, mgmt, read_watch_destroy); - - return mgmt_ref(mgmt); -} - -struct mgmt *mgmt_new_default(void) -{ - struct mgmt *mgmt; - struct sockaddr_hci addr; - int fd; - - fd = socket(PF_BLUETOOTH, SOCK_RAW | SOCK_CLOEXEC | SOCK_NONBLOCK, - BTPROTO_HCI); - if (fd < 0) - return NULL; - - memset(&addr, 0, sizeof(addr)); - addr.hci_family = AF_BLUETOOTH; - addr.hci_dev = HCI_DEV_NONE; - addr.hci_channel = HCI_CHANNEL_CONTROL; - - if (bind(fd, (struct sockaddr *) &addr, sizeof(addr)) < 0) { - close(fd); - return NULL; - } - - mgmt = mgmt_new(fd); - if (!mgmt) { - close(fd); - return NULL; - } - - mgmt->close_on_unref = true; - - return mgmt; -} - -struct mgmt *mgmt_ref(struct mgmt *mgmt) -{ - if (!mgmt) - return NULL; - - __sync_fetch_and_add(&mgmt->ref_count, 1); - - return mgmt; -} - -void mgmt_unref(struct mgmt *mgmt) -{ - if (!mgmt) - return; - - if (__sync_sub_and_fetch(&mgmt->ref_count, 1)) - return; - - mgmt_unregister_all(mgmt); - mgmt_cancel_all(mgmt); - - g_queue_free(mgmt->reply_queue); - g_queue_free(mgmt->request_queue); - - if (mgmt->write_watch > 0) - g_source_remove(mgmt->write_watch); - - if (mgmt->read_watch > 0) - g_source_remove(mgmt->read_watch); - - g_io_channel_unref(mgmt->io); - mgmt->io = NULL; - - if (mgmt->close_on_unref) - close(mgmt->fd); - - if (mgmt->debug_destroy) - mgmt->debug_destroy(mgmt->debug_data); - - g_free(mgmt->buf); - mgmt->buf = NULL; - - if (!mgmt->in_notify) { - g_free(mgmt); - return; - } - - mgmt->destroyed = true; -} - -bool mgmt_set_debug(struct mgmt *mgmt, mgmt_debug_func_t callback, - void *user_data, mgmt_destroy_func_t destroy) -{ - if (!mgmt) - return false; - - if (mgmt->debug_destroy) - mgmt->debug_destroy(mgmt->debug_data); - - mgmt->debug_callback = callback; - mgmt->debug_destroy = destroy; - mgmt->debug_data = user_data; - - return true; -} - -bool mgmt_set_close_on_unref(struct mgmt *mgmt, bool do_close) -{ - if (!mgmt) - return false; - - mgmt->close_on_unref = do_close; - - return true; -} - -static struct mgmt_request *create_request(uint16_t opcode, uint16_t index, - uint16_t length, const void *param, - mgmt_request_func_t callback, - void *user_data, mgmt_destroy_func_t destroy) -{ - struct mgmt_request *request; - struct mgmt_hdr *hdr; - - if (!opcode) - return NULL; - - if (length > 0 && !param) - return NULL; - - request = g_try_new0(struct mgmt_request, 1); - if (!request) - return NULL; - - request->len = length + MGMT_HDR_SIZE; - request->buf = g_try_malloc(request->len); - if (!request->buf) { - g_free(request); - return NULL; - } - - if (length > 0) - memcpy(request->buf + MGMT_HDR_SIZE, param, length); - - hdr = request->buf; - hdr->opcode = htobs(opcode); - hdr->index = htobs(index); - hdr->len = htobs(length); - - request->opcode = opcode; - request->index = index; - - request->callback = callback; - request->destroy = destroy; - request->user_data = user_data; - - return request; -} - -unsigned int mgmt_send(struct mgmt *mgmt, uint16_t opcode, uint16_t index, - uint16_t length, const void *param, - mgmt_request_func_t callback, - void *user_data, mgmt_destroy_func_t destroy) -{ - struct mgmt_request *request; - - if (!mgmt) - return 0; - - request = create_request(opcode, index, length, param, - callback, user_data, destroy); - if (!request) - return 0; - - if (mgmt->next_request_id < 1) - mgmt->next_request_id = 1; - - request->id = mgmt->next_request_id++; - - g_queue_push_tail(mgmt->request_queue, request); - - wakeup_writer(mgmt); - - return request->id; -} - -unsigned int mgmt_reply(struct mgmt *mgmt, uint16_t opcode, uint16_t index, - uint16_t length, const void *param, - mgmt_request_func_t callback, - void *user_data, mgmt_destroy_func_t destroy) -{ - struct mgmt_request *request; - - if (!mgmt) - return 0; - - request = create_request(opcode, index, length, param, - callback, user_data, destroy); - if (!request) - return 0; - - if (mgmt->next_request_id < 1) - mgmt->next_request_id = 1; - - request->id = mgmt->next_request_id++; - - g_queue_push_tail(mgmt->reply_queue, request); - - wakeup_writer(mgmt); - - return request->id; -} - -bool mgmt_cancel(struct mgmt *mgmt, unsigned int id) -{ - struct mgmt_request *request; - GList *list; - - if (!mgmt || !id) - return false; - - list = g_queue_find_custom(mgmt->request_queue, GUINT_TO_POINTER(id), - compare_request_id); - if (list) { - request = list->data; - g_queue_delete_link(mgmt->request_queue, list); - goto done; - } - - list = g_queue_find_custom(mgmt->reply_queue, GUINT_TO_POINTER(id), - compare_request_id); - if (list) { - request = list->data; - g_queue_delete_link(mgmt->reply_queue, list); - goto done; - } - - list = g_list_find_custom(mgmt->pending_list, GUINT_TO_POINTER(id), - compare_request_id); - if (!list) - return false; - - request = list->data; - - mgmt->pending_list = g_list_delete_link(mgmt->pending_list, list); - -done: - destroy_request(request, NULL); - - wakeup_writer(mgmt); - - return true; -} - -bool mgmt_cancel_index(struct mgmt *mgmt, uint16_t index) -{ - GList *list, *next; - - if (!mgmt) - return false; - - for (list = g_queue_peek_head_link(mgmt->request_queue); list; - list = next) { - struct mgmt_request *request = list->data; - - next = g_list_next(list); - - if (request->index != index) - continue; - - g_queue_delete_link(mgmt->request_queue, list); - - destroy_request(request, NULL); - } - - for (list = g_queue_peek_head_link(mgmt->reply_queue); list; - list = next) { - struct mgmt_request *request = list->data; - - next = g_list_next(list); - - if (request->index != index) - continue; - - g_queue_delete_link(mgmt->reply_queue, list); - - destroy_request(request, NULL); - } - - for (list = g_list_first(mgmt->pending_list); list; list = next) { - struct mgmt_request *request = list->data; - - next = g_list_next(list); - - if (request->index != index) - continue; - - mgmt->pending_list = g_list_delete_link(mgmt->pending_list, - list); - - destroy_request(request, NULL); - } - - return true; -} - -bool mgmt_cancel_all(struct mgmt *mgmt) -{ - if (!mgmt) - return false; - - g_list_foreach(mgmt->pending_list, destroy_request, NULL); - g_list_free(mgmt->pending_list); - mgmt->pending_list = NULL; - - g_queue_foreach(mgmt->reply_queue, destroy_request, NULL); - g_queue_clear(mgmt->reply_queue); - - g_queue_foreach(mgmt->request_queue, destroy_request, NULL); - g_queue_clear(mgmt->request_queue); - - return true; -} - -unsigned int mgmt_register(struct mgmt *mgmt, uint16_t event, uint16_t index, - mgmt_notify_func_t callback, - void *user_data, mgmt_destroy_func_t destroy) -{ - struct mgmt_notify *notify; - - if (!mgmt || !event) - return 0; - - notify = g_try_new0(struct mgmt_notify, 1); - if (!notify) - return 0; - - notify->event = event; - notify->index = index; - - notify->callback = callback; - notify->destroy = destroy; - notify->user_data = user_data; - - if (mgmt->next_notify_id < 1) - mgmt->next_notify_id = 1; - - notify->id = mgmt->next_notify_id++; - - mgmt->notify_list = g_list_append(mgmt->notify_list, notify); - - return notify->id; -} - -bool mgmt_unregister(struct mgmt *mgmt, unsigned int id) -{ - struct mgmt_notify *notify; - GList *list; - - if (!mgmt || !id) - return false; - - list = g_list_find_custom(mgmt->notify_list, - GUINT_TO_POINTER(id), compare_notify_id); - if (!list) - return false; - - notify = list->data; - - mgmt->notify_list = g_list_remove_link(mgmt->notify_list, list); - - if (!mgmt->in_notify) { - g_list_free_1(list); - destroy_notify(notify, NULL); - return true; - } - - notify->destroyed = true; - - mgmt->notify_destroyed = g_list_concat(mgmt->notify_destroyed, list); - - return true; -} - -bool mgmt_unregister_index(struct mgmt *mgmt, uint16_t index) -{ - GList *list, *next; - - if (!mgmt) - return false; - - for (list = g_list_first(mgmt->notify_list); list; list = next) { - struct mgmt_notify *notify = list->data; - - next = g_list_next(list); - - if (notify->index != index) - continue; - - mgmt->notify_list = g_list_remove_link(mgmt->notify_list, list); - - if (!mgmt->in_notify) { - g_list_free_1(list); - destroy_notify(notify, NULL); - continue; - } - - notify->destroyed = true; - - mgmt->notify_destroyed = g_list_concat(mgmt->notify_destroyed, - list); - } - - return true; -} - -static void mark_notify(gpointer data, gpointer user_data) -{ - struct mgmt_notify *notify = data; - - notify->destroyed = true; -} - -bool mgmt_unregister_all(struct mgmt *mgmt) -{ - if (!mgmt) - return false; - - if (!mgmt->in_notify) { - g_list_foreach(mgmt->notify_list, destroy_notify, NULL); - g_list_free(mgmt->notify_list); - } else { - g_list_foreach(mgmt->notify_list, mark_notify, NULL); - mgmt->notify_destroyed = g_list_concat(mgmt->notify_destroyed, - mgmt->notify_list); - } - - mgmt->notify_list = NULL; - - return true; -} diff --git a/GRIB_BLE_HUB/libs/ble_extend/src/shared/mgmt.h b/GRIB_BLE_HUB/libs/ble_extend/src/shared/mgmt.h deleted file mode 100644 index 60a2128..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/src/shared/mgmt.h +++ /dev/null @@ -1,67 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2012 Intel Corporation. All rights reserved. - * - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#include -#include - -typedef void (*mgmt_destroy_func_t)(void *user_data); - -struct mgmt; - -struct mgmt *mgmt_new(int fd); -struct mgmt *mgmt_new_default(void); - -struct mgmt *mgmt_ref(struct mgmt *mgmt); -void mgmt_unref(struct mgmt *mgmt); - -typedef void (*mgmt_debug_func_t)(const char *str, void *user_data); - -bool mgmt_set_debug(struct mgmt *mgmt, mgmt_debug_func_t callback, - void *user_data, mgmt_destroy_func_t destroy); - -bool mgmt_set_close_on_unref(struct mgmt *mgmt, bool do_close); - -typedef void (*mgmt_request_func_t)(uint8_t status, uint16_t length, - const void *param, void *user_data); - -unsigned int mgmt_send(struct mgmt *mgmt, uint16_t opcode, uint16_t index, - uint16_t length, const void *param, - mgmt_request_func_t callback, - void *user_data, mgmt_destroy_func_t destroy); -unsigned int mgmt_reply(struct mgmt *mgmt, uint16_t opcode, uint16_t index, - uint16_t length, const void *param, - mgmt_request_func_t callback, - void *user_data, mgmt_destroy_func_t destroy); -bool mgmt_cancel(struct mgmt *mgmt, unsigned int id); -bool mgmt_cancel_index(struct mgmt *mgmt, uint16_t index); -bool mgmt_cancel_all(struct mgmt *mgmt); - -typedef void (*mgmt_notify_func_t)(uint16_t index, uint16_t length, - const void *param, void *user_data); - -unsigned int mgmt_register(struct mgmt *mgmt, uint16_t event, uint16_t index, - mgmt_notify_func_t callback, - void *user_data, mgmt_destroy_func_t destroy); -bool mgmt_unregister(struct mgmt *mgmt, unsigned int id); -bool mgmt_unregister_index(struct mgmt *mgmt, uint16_t index); -bool mgmt_unregister_all(struct mgmt *mgmt); diff --git a/GRIB_BLE_HUB/libs/ble_extend/src/shared/tester.c b/GRIB_BLE_HUB/libs/ble_extend/src/shared/tester.c deleted file mode 100644 index f3edd74..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/src/shared/tester.c +++ /dev/null @@ -1,795 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2012 Intel Corporation. All rights reserved. - * - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include -#include -#include -#include -#include - -#include - -#include "src/shared/tester.h" - -#define COLOR_OFF "\x1B[0m" -#define COLOR_BLACK "\x1B[0;30m" -#define COLOR_RED "\x1B[0;31m" -#define COLOR_GREEN "\x1B[0;32m" -#define COLOR_YELLOW "\x1B[0;33m" -#define COLOR_BLUE "\x1B[0;34m" -#define COLOR_MAGENTA "\x1B[0;35m" -#define COLOR_CYAN "\x1B[0;36m" -#define COLOR_WHITE "\x1B[0;37m" -#define COLOR_HIGHLIGHT "\x1B[1;39m" - -#define print_text(color, fmt, args...) \ - printf(color fmt COLOR_OFF "\n", ## args) - -#define print_summary(label, color, value, fmt, args...) \ - printf("%-45s " color "%-10s" COLOR_OFF fmt "\n", \ - label, value, ## args) - -#define print_progress(name, color, fmt, args...) \ - printf(COLOR_HIGHLIGHT "%s" COLOR_OFF " - " \ - color fmt COLOR_OFF "\n", name, ## args) - -enum test_result { - TEST_RESULT_NOT_RUN, - TEST_RESULT_PASSED, - TEST_RESULT_FAILED, - TEST_RESULT_TIMED_OUT, -}; - -enum test_stage { - TEST_STAGE_INVALID, - TEST_STAGE_PRE_SETUP, - TEST_STAGE_SETUP, - TEST_STAGE_RUN, - TEST_STAGE_TEARDOWN, - TEST_STAGE_POST_TEARDOWN, -}; - -struct test_case { - char *name; - enum test_result result; - enum test_stage stage; - const void *test_data; - tester_data_func_t pre_setup_func; - tester_data_func_t setup_func; - tester_data_func_t test_func; - tester_data_func_t teardown_func; - tester_data_func_t post_teardown_func; - gdouble start_time; - gdouble end_time; - unsigned int timeout; - unsigned int timeout_id; - tester_destroy_func_t destroy; - void *user_data; -}; - -static GMainLoop *main_loop; - -static GList *test_list; -static GList *test_current; -static GTimer *test_timer; - -static gboolean option_version = FALSE; -static gboolean option_quiet = FALSE; -static gboolean option_debug = FALSE; -static gboolean option_list = FALSE; -static const char *option_prefix = NULL; - -static void test_destroy(gpointer data) -{ - struct test_case *test = data; - - if (test->timeout_id > 0) - g_source_remove(test->timeout_id); - - if (test->destroy) - test->destroy(test->user_data); - - g_free(test->name); - g_free(test); -} - -void tester_print(const char *format, ...) -{ - va_list ap; - - if (tester_use_quiet()) - return; - - printf(" %s", COLOR_WHITE); - va_start(ap, format); - vprintf(format, ap); - va_end(ap); - printf("%s\n", COLOR_OFF); -} - -void tester_warn(const char *format, ...) -{ - va_list ap; - - printf(" %s", COLOR_WHITE); - va_start(ap, format); - vprintf(format, ap); - va_end(ap); - printf("%s\n", COLOR_OFF); -} - -static void default_pre_setup(const void *test_data) -{ - tester_pre_setup_complete(); -} - -static void default_setup(const void *test_data) -{ - tester_setup_complete(); -} - -static void default_teardown(const void *test_data) -{ - tester_teardown_complete(); -} - -static void default_post_teardown(const void *test_data) -{ - tester_post_teardown_complete(); -} - -void tester_add_full(const char *name, const void *test_data, - tester_data_func_t pre_setup_func, - tester_data_func_t setup_func, - tester_data_func_t test_func, - tester_data_func_t teardown_func, - tester_data_func_t post_teardown_func, - unsigned int timeout, - void *user_data, tester_destroy_func_t destroy) -{ - struct test_case *test; - - if (!test_func) - return; - - if (option_prefix && !g_str_has_prefix(name, option_prefix)) { - if (destroy) - destroy(user_data); - return; - } - - if (option_list) { - printf("%s\n", name); - if (destroy) - destroy(user_data); - return; - } - - test = g_new0(struct test_case, 1); - - test->name = g_strdup(name); - test->result = TEST_RESULT_NOT_RUN; - test->stage = TEST_STAGE_INVALID; - - test->test_data = test_data; - - if (pre_setup_func) - test->pre_setup_func = pre_setup_func; - else - test->pre_setup_func = default_pre_setup; - - if (setup_func) - test->setup_func = setup_func; - else - test->setup_func = default_setup; - - test->test_func = test_func; - - if (teardown_func) - test->teardown_func = teardown_func; - else - test->teardown_func = default_teardown; - - if (post_teardown_func) - test->post_teardown_func = post_teardown_func; - else - test->post_teardown_func = default_post_teardown; - - test->timeout = timeout; - - test->destroy = destroy; - test->user_data = user_data; - - test_list = g_list_append(test_list, test); -} - -void tester_add(const char *name, const void *test_data, - tester_data_func_t setup_func, - tester_data_func_t test_func, - tester_data_func_t teardown_func) -{ - tester_add_full(name, test_data, NULL, setup_func, test_func, - teardown_func, NULL, 0, NULL, NULL); -} - -void *tester_get_data(void) -{ - struct test_case *test; - - if (!test_current) - return NULL; - - test = test_current->data; - - return test->user_data; -} - -static void tester_summarize(void) -{ - unsigned int not_run = 0, passed = 0, failed = 0; - gdouble execution_time; - GList *list; - - printf("\n"); - print_text(COLOR_HIGHLIGHT, ""); - print_text(COLOR_HIGHLIGHT, "Test Summary"); - print_text(COLOR_HIGHLIGHT, "------------"); - - for (list = g_list_first(test_list); list; list = g_list_next(list)) { - struct test_case *test = list->data; - gdouble exec_time; - - exec_time = test->end_time - test->start_time; - - switch (test->result) { - case TEST_RESULT_NOT_RUN: - print_summary(test->name, COLOR_YELLOW, "Not Run", ""); - not_run++; - break; - case TEST_RESULT_PASSED: - print_summary(test->name, COLOR_GREEN, "Passed", - "%8.3f seconds", exec_time); - passed++; - break; - case TEST_RESULT_FAILED: - print_summary(test->name, COLOR_RED, "Failed", - "%8.3f seconds", exec_time); - failed++; - break; - case TEST_RESULT_TIMED_OUT: - print_summary(test->name, COLOR_RED, "Timed out", - "%8.3f seconds", exec_time); - failed++; - break; - } - } - - printf("\nTotal: %d, " - COLOR_GREEN "Passed: %d (%.1f%%)" COLOR_OFF ", " - COLOR_RED "Failed: %d" COLOR_OFF ", " - COLOR_YELLOW "Not Run: %d" COLOR_OFF "\n", - not_run + passed + failed, passed, - (float) passed * 100 / (not_run + passed + failed), - failed, not_run); - - execution_time = g_timer_elapsed(test_timer, NULL); - printf("Overall execution time: %.3g seconds\n", execution_time); - -} - -static gboolean teardown_callback(gpointer user_data) -{ - struct test_case *test = user_data; - - test->stage = TEST_STAGE_TEARDOWN; - - print_progress(test->name, COLOR_MAGENTA, "teardown"); - test->teardown_func(test->test_data); - - return FALSE; -} - -static gboolean test_timeout(gpointer user_data) -{ - struct test_case *test = user_data; - - test->timeout_id = 0; - - if (!test_current) - return FALSE; - - test->result = TEST_RESULT_TIMED_OUT; - print_progress(test->name, COLOR_RED, "test timed out"); - - g_idle_add(teardown_callback, test); - - return FALSE; -} - -static void next_test_case(void) -{ - struct test_case *test; - - if (test_current) - test_current = g_list_next(test_current); - else - test_current = test_list; - - if (!test_current) { - g_timer_stop(test_timer); - - g_main_loop_quit(main_loop); - return; - } - - test = test_current->data; - - printf("\n"); - print_progress(test->name, COLOR_BLACK, "init"); - - test->start_time = g_timer_elapsed(test_timer, NULL); - - if (test->timeout > 0) - test->timeout_id = g_timeout_add_seconds(test->timeout, - test_timeout, test); - - test->stage = TEST_STAGE_PRE_SETUP; - - test->pre_setup_func(test->test_data); -} - -static gboolean setup_callback(gpointer user_data) -{ - struct test_case *test = user_data; - - test->stage = TEST_STAGE_SETUP; - - print_progress(test->name, COLOR_BLUE, "setup"); - test->setup_func(test->test_data); - - return FALSE; -} - -static gboolean run_callback(gpointer user_data) -{ - struct test_case *test = user_data; - - test->stage = TEST_STAGE_RUN; - - print_progress(test->name, COLOR_BLACK, "run"); - test->test_func(test->test_data); - - return FALSE; -} - -static gboolean done_callback(gpointer user_data) -{ - struct test_case *test = user_data; - - test->end_time = g_timer_elapsed(test_timer, NULL); - - print_progress(test->name, COLOR_BLACK, "done"); - next_test_case(); - - return FALSE; -} - -void tester_pre_setup_complete(void) -{ - struct test_case *test; - - if (!test_current) - return; - - test = test_current->data; - - if (test->stage != TEST_STAGE_PRE_SETUP) - return; - - g_idle_add(setup_callback, test); -} - -void tester_pre_setup_failed(void) -{ - struct test_case *test; - - if (!test_current) - return; - - test = test_current->data; - - if (test->stage != TEST_STAGE_PRE_SETUP) - return; - - test->stage = TEST_STAGE_SETUP; - - tester_setup_failed(); -} - -void tester_setup_complete(void) -{ - struct test_case *test; - - if (!test_current) - return; - - test = test_current->data; - - if (test->stage != TEST_STAGE_SETUP) - return; - - print_progress(test->name, COLOR_BLUE, "setup complete"); - - g_idle_add(run_callback, test); -} - -void tester_setup_failed(void) -{ - struct test_case *test; - - if (!test_current) - return; - - test = test_current->data; - - if (test->stage != TEST_STAGE_SETUP) - return; - - print_progress(test->name, COLOR_RED, "setup failed"); - - g_idle_add(done_callback, test); -} - -void tester_test_passed(void) -{ - struct test_case *test; - - if (!test_current) - return; - - test = test_current->data; - - if (test->stage != TEST_STAGE_RUN) - return; - - if (test->timeout_id > 0) { - g_source_remove(test->timeout_id); - test->timeout_id = 0; - } - - test->result = TEST_RESULT_PASSED; - print_progress(test->name, COLOR_GREEN, "test passed"); - - g_idle_add(teardown_callback, test); -} - -void tester_test_failed(void) -{ - struct test_case *test; - - if (!test_current) - return; - - test = test_current->data; - - if (test->stage != TEST_STAGE_RUN) - return; - - if (test->timeout_id > 0) { - g_source_remove(test->timeout_id); - test->timeout_id = 0; - } - - test->result = TEST_RESULT_FAILED; - print_progress(test->name, COLOR_RED, "test failed"); - - g_idle_add(teardown_callback, test); -} - -void tester_teardown_complete(void) -{ - struct test_case *test; - - if (!test_current) - return; - - test = test_current->data; - - if (test->stage != TEST_STAGE_TEARDOWN) - return; - - test->stage = TEST_STAGE_POST_TEARDOWN; - - test->post_teardown_func(test->test_data); -} - -void tester_teardown_failed(void) -{ - struct test_case *test; - - if (!test_current) - return; - - test = test_current->data; - - if (test->stage != TEST_STAGE_TEARDOWN) - return; - - test->stage = TEST_STAGE_POST_TEARDOWN; - - tester_post_teardown_failed(); -} - -void tester_post_teardown_complete(void) -{ - struct test_case *test; - - if (!test_current) - return; - - test = test_current->data; - - if (test->stage != TEST_STAGE_POST_TEARDOWN) - return; - - print_progress(test->name, COLOR_MAGENTA, "teardown complete"); - - g_idle_add(done_callback, test); -} - -void tester_post_teardown_failed(void) -{ - struct test_case *test; - - if (!test_current) - return; - - test = test_current->data; - - if (test->stage != TEST_STAGE_POST_TEARDOWN) - return; - - print_progress(test->name, COLOR_RED, "teardown failed"); - - g_idle_add(done_callback, test); -} - -static gboolean start_tester(gpointer user_data) -{ - test_timer = g_timer_new(); - - next_test_case(); - - return FALSE; -} - -struct wait_data { - unsigned int seconds; - struct test_case *test; - tester_wait_func_t func; - void *user_data; -}; - -static gboolean wait_callback(gpointer user_data) -{ - struct wait_data *wait = user_data; - struct test_case *test = wait->test; - - wait->seconds--; - - if (wait->seconds > 0) { - print_progress(test->name, COLOR_BLACK, "%u seconds left", - wait->seconds); - return TRUE; - } - - print_progress(test->name, COLOR_BLACK, "waiting done"); - - wait->func(wait->user_data); - - g_free(wait); - - return FALSE; -} - -void tester_wait(unsigned int seconds, tester_wait_func_t func, - void *user_data) -{ - struct test_case *test; - struct wait_data *wait; - - if (!func || seconds < 1) - return; - - if (!test_current) - return; - - test = test_current->data; - - print_progress(test->name, COLOR_BLACK, "waiting %u seconds", seconds); - - wait = g_new0(struct wait_data, 1); - - wait->seconds = seconds; - wait->test = test; - wait->func = func; - wait->user_data = user_data; - - g_timeout_add(1000, wait_callback, wait); -} - -static gboolean signal_handler(GIOChannel *channel, GIOCondition condition, - gpointer user_data) -{ - static unsigned int __terminated = 0; - struct signalfd_siginfo si; - ssize_t result; - int fd; - - if (condition & (G_IO_NVAL | G_IO_ERR | G_IO_HUP)) { - g_main_loop_quit(main_loop); - return FALSE; - } - - fd = g_io_channel_unix_get_fd(channel); - - result = read(fd, &si, sizeof(si)); - if (result != sizeof(si)) - return FALSE; - - switch (si.ssi_signo) { - case SIGINT: - case SIGTERM: - if (__terminated == 0) - g_main_loop_quit(main_loop); - - __terminated = 1; - break; - } - - return TRUE; -} - -static guint setup_signalfd(void) -{ - GIOChannel *channel; - guint source; - sigset_t mask; - int fd; - - sigemptyset(&mask); - sigaddset(&mask, SIGINT); - sigaddset(&mask, SIGTERM); - - if (sigprocmask(SIG_BLOCK, &mask, NULL) < 0) { - perror("Failed to set signal mask"); - return 0; - } - - fd = signalfd(-1, &mask, 0); - if (fd < 0) { - perror("Failed to create signal descriptor"); - return 0; - } - - channel = g_io_channel_unix_new(fd); - - g_io_channel_set_close_on_unref(channel, TRUE); - g_io_channel_set_encoding(channel, NULL, NULL); - g_io_channel_set_buffered(channel, FALSE); - - source = g_io_add_watch(channel, - G_IO_IN | G_IO_HUP | G_IO_ERR | G_IO_NVAL, - signal_handler, NULL); - - g_io_channel_unref(channel); - - return source; -} - -bool tester_use_quiet(void) -{ - return option_quiet == TRUE ? true : false; -} - -bool tester_use_debug(void) -{ - return option_debug == TRUE ? true : false; -} - -static GOptionEntry options[] = { - { "version", 'v', 0, G_OPTION_ARG_NONE, &option_version, - "Show version information and exit" }, - { "quiet", 'q', 0, G_OPTION_ARG_NONE, &option_quiet, - "Run tests without logging" }, - { "debug", 'd', 0, G_OPTION_ARG_NONE, &option_debug, - "Run tests with debug output" }, - { "list", 'l', 0, G_OPTION_ARG_NONE, &option_list, - "Only list the tests to be run" }, - { "prefix", 'p', 0, G_OPTION_ARG_STRING, &option_prefix, - "Run tests matching provided prefix" }, - { NULL }, -}; - -void tester_init(int *argc, char ***argv) -{ - GOptionContext *context; - GError *error = NULL; - - context = g_option_context_new(NULL); - g_option_context_add_main_entries(context, options, NULL); - - if (g_option_context_parse(context, argc, argv, &error) == FALSE) { - if (error != NULL) { - g_printerr("%s\n", error->message); - g_error_free(error); - } else - g_printerr("An unknown error occurred\n"); - exit(1); - } - - g_option_context_free(context); - - if (option_version == TRUE) { - g_print("%s\n", VERSION); - exit(EXIT_SUCCESS); - } - - main_loop = g_main_loop_new(NULL, FALSE); - - test_list = NULL; - test_current = NULL; -} - -int tester_run(void) -{ - guint signal; - - if (!main_loop) - return EXIT_FAILURE; - - if (option_list) { - g_main_loop_unref(main_loop); - return EXIT_SUCCESS; - } - - signal = setup_signalfd(); - - g_idle_add(start_tester, NULL); - g_main_loop_run(main_loop); - - g_source_remove(signal); - - g_main_loop_unref(main_loop); - - tester_summarize(); - - g_list_free_full(test_list, test_destroy); - - return EXIT_SUCCESS; -} diff --git a/GRIB_BLE_HUB/libs/ble_extend/src/shared/tester.h b/GRIB_BLE_HUB/libs/ble_extend/src/shared/tester.h deleted file mode 100644 index 775ed1e..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/src/shared/tester.h +++ /dev/null @@ -1,74 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2012 Intel Corporation. All rights reserved. - * - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#include - -void tester_init(int *argc, char ***argv); -int tester_run(void); - -bool tester_use_quiet(void); -bool tester_use_debug(void); - -void tester_print(const char *format, ...) - __attribute__((format(printf, 1, 2))); -void tester_warn(const char *format, ...) - __attribute__((format(printf, 1, 2))); - -typedef void (*tester_destroy_func_t)(void *user_data); -typedef void (*tester_data_func_t)(const void *test_data); - -void tester_add_full(const char *name, const void *test_data, - tester_data_func_t pre_setup_func, - tester_data_func_t setup_func, - tester_data_func_t test_func, - tester_data_func_t teardown_func, - tester_data_func_t post_teardown_func, - unsigned int timeout, - void *user_data, tester_destroy_func_t destroy); - -void tester_add(const char *name, const void *test_data, - tester_data_func_t setup_func, - tester_data_func_t test_func, - tester_data_func_t teardown_func); - -void *tester_get_data(void); - -void tester_pre_setup_complete(void); -void tester_pre_setup_failed(void); - -void tester_setup_complete(void); -void tester_setup_failed(void); - -void tester_test_passed(void); -void tester_test_failed(void); - -void tester_teardown_complete(void); -void tester_teardown_failed(void); - -void tester_post_teardown_complete(void); -void tester_post_teardown_failed(void); - -typedef void (*tester_wait_func_t)(void *user_data); - -void tester_wait(unsigned int seconds, tester_wait_func_t func, - void *user_data); diff --git a/GRIB_BLE_HUB/libs/ble_extend/src/shared/util.c b/GRIB_BLE_HUB/libs/ble_extend/src/shared/util.c deleted file mode 100644 index 5aee69d..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/src/shared/util.c +++ /dev/null @@ -1,90 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2012 Intel Corporation. All rights reserved. - * - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include -#include - -#include "src/shared/util.h" - -void util_debug(util_debug_func_t function, void *user_data, - const char *format, ...) -{ - char str[78]; - va_list ap; - - if (!function || !format) - return; - - va_start(ap, format); - vsnprintf(str, sizeof(str), format, ap); - va_end(ap); - - function(str, user_data); -} - -void util_hexdump(const char dir, const unsigned char *buf, size_t len, - util_debug_func_t function, void *user_data) -{ - static const char hexdigits[] = "0123456789abcdef"; - char str[68]; - size_t i; - - if (!function || !len) - return; - - str[0] = dir; - - for (i = 0; i < len; i++) { - str[((i % 16) * 3) + 1] = ' '; - str[((i % 16) * 3) + 2] = hexdigits[buf[i] >> 4]; - str[((i % 16) * 3) + 3] = hexdigits[buf[i] & 0xf]; - str[(i % 16) + 51] = isprint(buf[i]) ? buf[i] : '.'; - - if ((i + 1) % 16 == 0) { - str[49] = ' '; - str[50] = ' '; - str[67] = '\0'; - function(str, user_data); - str[0] = ' '; - } - } - - if (i % 16 > 0) { - size_t j; - for (j = (i % 16); j < 16; j++) { - str[(j * 3) + 1] = ' '; - str[(j * 3) + 2] = ' '; - str[(j * 3) + 3] = ' '; - str[j + 51] = ' '; - } - str[49] = ' '; - str[50] = ' '; - str[67] = '\0'; - function(str, user_data); - } -} diff --git a/GRIB_BLE_HUB/libs/ble_extend/src/shared/util.h b/GRIB_BLE_HUB/libs/ble_extend/src/shared/util.h deleted file mode 100644 index 88e8954..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/src/shared/util.h +++ /dev/null @@ -1,31 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2012 Intel Corporation. All rights reserved. - * - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -typedef void (*util_debug_func_t)(const char *str, void *user_data); - -void util_debug(util_debug_func_t function, void *user_data, - const char *format, ...) - __attribute__((format(printf, 3, 4))); - -void util_hexdump(const char dir, const unsigned char *buf, size_t len, - util_debug_func_t function, void *user_data); diff --git a/GRIB_BLE_HUB/libs/ble_extend/src/storage.c b/GRIB_BLE_HUB/libs/ble_extend/src/storage.c deleted file mode 100644 index f7e4db6..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/src/storage.c +++ /dev/null @@ -1,198 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2006-2010 Nokia Corporation - * Copyright (C) 2004-2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include - -#include -#include -#include - -#include "lib/uuid.h" -#include "textfile.h" -#include "glib-helper.h" -#include "storage.h" - -/* When all services should trust a remote device */ -#define GLOBAL_TRUST "[all]" - -struct match { - GSList *keys; - char *pattern; -}; - -static inline int create_filename(char *buf, size_t size, - const bdaddr_t *bdaddr, const char *name) -{ - char addr[18]; - - ba2str(bdaddr, addr); - - return create_name(buf, size, STORAGEDIR, addr, name); -} - -int read_discoverable_timeout(const char *src, int *timeout) -{ - char filename[PATH_MAX + 1], *str; - - create_name(filename, PATH_MAX, STORAGEDIR, src, "config"); - - str = textfile_get(filename, "discovto"); - if (!str) - return -ENOENT; - - if (sscanf(str, "%d", timeout) != 1) { - free(str); - return -ENOENT; - } - - free(str); - - return 0; -} - -int read_pairable_timeout(const char *src, int *timeout) -{ - char filename[PATH_MAX + 1], *str; - - create_name(filename, PATH_MAX, STORAGEDIR, src, "config"); - - str = textfile_get(filename, "pairto"); - if (!str) - return -ENOENT; - - if (sscanf(str, "%d", timeout) != 1) { - free(str); - return -ENOENT; - } - - free(str); - - return 0; -} - -int read_on_mode(const char *src, char *mode, int length) -{ - char filename[PATH_MAX + 1], *str; - - create_name(filename, PATH_MAX, STORAGEDIR, src, "config"); - - str = textfile_get(filename, "onmode"); - if (!str) - return -ENOENT; - - strncpy(mode, str, length); - mode[length - 1] = '\0'; - - free(str); - - return 0; -} - -int read_local_name(const bdaddr_t *bdaddr, char *name) -{ - char filename[PATH_MAX + 1], *str; - int len; - - create_filename(filename, PATH_MAX, bdaddr, "config"); - - str = textfile_get(filename, "name"); - if (!str) - return -ENOENT; - - len = strlen(str); - if (len > HCI_MAX_NAME_LENGTH) - str[HCI_MAX_NAME_LENGTH] = '\0'; - strcpy(name, str); - - free(str); - - return 0; -} - -sdp_record_t *record_from_string(const char *str) -{ - sdp_record_t *rec; - int size, i, len; - uint8_t *pdata; - char tmp[3]; - - size = strlen(str)/2; - pdata = g_malloc0(size); - - tmp[2] = 0; - for (i = 0; i < size; i++) { - memcpy(tmp, str + (i * 2), 2); - pdata[i] = (uint8_t) strtol(tmp, NULL, 16); - } - - rec = sdp_extract_pdu(pdata, size, &len); - g_free(pdata); - - return rec; -} - -sdp_record_t *find_record_in_list(sdp_list_t *recs, const char *uuid) -{ - sdp_list_t *seq; - - for (seq = recs; seq; seq = seq->next) { - sdp_record_t *rec = (sdp_record_t *) seq->data; - sdp_list_t *svcclass = NULL; - char *uuid_str; - - if (sdp_get_service_classes(rec, &svcclass) < 0) - continue; - - /* Extract the uuid */ - uuid_str = bt_uuid2string(svcclass->data); - if (!uuid_str) { - sdp_list_free(svcclass, free); - continue; - } - - if (!strcasecmp(uuid_str, uuid)) { - sdp_list_free(svcclass, free); - free(uuid_str); - return rec; - } - - sdp_list_free(svcclass, free); - free(uuid_str); - } - return NULL; -} diff --git a/GRIB_BLE_HUB/libs/ble_extend/src/storage.h b/GRIB_BLE_HUB/libs/ble_extend/src/storage.h deleted file mode 100644 index 4c5ab50..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/src/storage.h +++ /dev/null @@ -1,31 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2002-2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#include "textfile.h" - -int read_discoverable_timeout(const char *src, int *timeout); -int read_pairable_timeout(const char *src, int *timeout); -int read_on_mode(const char *src, char *mode, int length); -int read_local_name(const bdaddr_t *bdaddr, char *name); -sdp_record_t *record_from_string(const char *str); -sdp_record_t *find_record_in_list(sdp_list_t *recs, const char *uuid); diff --git a/GRIB_BLE_HUB/libs/ble_extend/src/systemd.c b/GRIB_BLE_HUB/libs/ble_extend/src/systemd.c deleted file mode 100644 index f0985d1..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/src/systemd.c +++ /dev/null @@ -1,106 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2012 Intel Corporation. All rights reserved. - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include -#include -#include -#include -#include -#include - -#include "systemd.h" - -int sd_listen_fds(int unset_environment) -{ - return 0; -} - -int sd_notify(int unset_environment, const char *state) -{ - const char *sock; - struct sockaddr_un addr; - struct msghdr msghdr; - struct iovec iovec; - int fd, err; - - if (!state) { - err = -EINVAL; - goto done; - } - - sock = getenv("NOTIFY_SOCKET"); - if (!sock) - return 0; - - /* check for abstract socket or absolute path */ - if (sock[0] != '@' && sock[0] != '/') { - err = -EINVAL; - goto done; - } - - fd = socket(AF_UNIX, SOCK_DGRAM | SOCK_CLOEXEC, 0); - if (fd < 0) { - err = -errno; - goto done; - } - - memset(&addr, 0, sizeof(addr)); - addr.sun_family = AF_UNIX; - strncpy(addr.sun_path, sock, sizeof(addr.sun_path)); - - if (addr.sun_path[0] == '@') - addr.sun_path[0] = '\0'; - - memset(&iovec, 0, sizeof(iovec)); - iovec.iov_base = (char *) state; - iovec.iov_len = strlen(state); - - memset(&msghdr, 0, sizeof(msghdr)); - msghdr.msg_name = &addr; - msghdr.msg_namelen = offsetof(struct sockaddr_un, sun_path) + - strlen(sock); - - if (msghdr.msg_namelen > sizeof(struct sockaddr_un)) - msghdr.msg_namelen = sizeof(struct sockaddr_un); - - msghdr.msg_iov = &iovec; - msghdr.msg_iovlen = 1; - - if (sendmsg(fd, &msghdr, MSG_NOSIGNAL) < 0) - err = -errno; - else - err = 1; - - close(fd); - -done: - if (unset_environment) - unsetenv("NOTIFY_SOCKET"); - - return err; -} diff --git a/GRIB_BLE_HUB/libs/ble_extend/src/systemd.h b/GRIB_BLE_HUB/libs/ble_extend/src/systemd.h deleted file mode 100644 index 0ef7c82..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/src/systemd.h +++ /dev/null @@ -1,28 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2012 Intel Corporation. All rights reserved. - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#define SD_LISTEN_FDS_START 3 - -int sd_listen_fds(int unset_environment); - -int sd_notify(int unset_environment, const char *state); diff --git a/GRIB_BLE_HUB/libs/ble_extend/src/textfile.c b/GRIB_BLE_HUB/libs/ble_extend/src/textfile.c deleted file mode 100644 index 7267f3a..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/src/textfile.c +++ /dev/null @@ -1,475 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2004-2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "textfile.h" - -static int create_dirs(const char *filename, const mode_t mode) -{ - struct stat st; - char dir[PATH_MAX + 1], *prev, *next; - int err; - - err = stat(filename, &st); - if (!err && S_ISREG(st.st_mode)) - return 0; - - memset(dir, 0, PATH_MAX + 1); - strcat(dir, "/"); - - prev = strchr(filename, '/'); - - while (prev) { - next = strchr(prev + 1, '/'); - if (!next) - break; - - if (next - prev == 1) { - prev = next; - continue; - } - - strncat(dir, prev + 1, next - prev); - mkdir(dir, mode); - - prev = next; - } - - return 0; -} - -int create_file(const char *filename, const mode_t mode) -{ - int fd; - - create_dirs(filename, S_IRUSR | S_IWUSR | S_IXUSR); - - fd = open(filename, O_RDWR | O_CREAT, mode); - if (fd < 0) - return fd; - - close(fd); - - return 0; -} - -int create_name(char *buf, size_t size, const char *path, const char *address, const char *name) -{ - return snprintf(buf, size, "%s/%s/%s", path, address, name); -} - -static inline char *find_key(char *map, size_t size, const char *key, size_t len, int icase) -{ - char *ptr = map; - size_t ptrlen = size; - - while (ptrlen > len + 1) { - int cmp = (icase) ? strncasecmp(ptr, key, len) : strncmp(ptr, key, len); - if (cmp == 0) { - if (ptr == map && *(ptr + len) == ' ') - return ptr; - - if ((*(ptr - 1) == '\r' || *(ptr - 1) == '\n') && - *(ptr + len) == ' ') - return ptr; - } - - if (icase) { - char *p1 = memchr(ptr + 1, tolower(*key), ptrlen - 1); - char *p2 = memchr(ptr + 1, toupper(*key), ptrlen - 1); - - if (!p1) - ptr = p2; - else if (!p2) - ptr = p1; - else - ptr = (p1 < p2) ? p1 : p2; - } else - ptr = memchr(ptr + 1, *key, ptrlen - 1); - - if (!ptr) - return NULL; - - ptrlen = size - (ptr - map); - } - - return NULL; -} - -static inline int write_key_value(int fd, const char *key, const char *value) -{ - char *str; - size_t size; - int err = 0; - - size = strlen(key) + strlen(value) + 2; - - str = malloc(size + 1); - if (!str) - return ENOMEM; - - sprintf(str, "%s %s\n", key, value); - - if (write(fd, str, size) < 0) - err = -errno; - - free(str); - - return err; -} - -static char *strnpbrk(const char *s, ssize_t len, const char *accept) -{ - const char *p = s; - const char *end; - - end = s + len - 1; - - while (p <= end && *p) { - const char *a = accept; - - while (*a) { - if (*p == *a) - return (char *) p; - a++; - } - - p++; - } - - return NULL; -} - -static int write_key(const char *pathname, const char *key, const char *value, int icase) -{ - struct stat st; - char *map, *off, *end, *str; - off_t size; - size_t base; - int fd, len, err = 0; - - fd = open(pathname, O_RDWR); - if (fd < 0) - return -errno; - - if (flock(fd, LOCK_EX) < 0) { - err = -errno; - goto close; - } - - if (fstat(fd, &st) < 0) { - err = -errno; - goto unlock; - } - - size = st.st_size; - - if (!size) { - if (value) { - lseek(fd, size, SEEK_SET); - err = write_key_value(fd, key, value); - } - goto unlock; - } - - map = mmap(NULL, size, PROT_READ | PROT_WRITE, - MAP_PRIVATE | MAP_LOCKED, fd, 0); - if (!map || map == MAP_FAILED) { - err = -errno; - goto unlock; - } - - len = strlen(key); - off = find_key(map, size, key, len, icase); - if (!off) { - munmap(map, size); - if (value) { - lseek(fd, size, SEEK_SET); - err = write_key_value(fd, key, value); - } - goto unlock; - } - - base = off - map; - - end = strnpbrk(off, size, "\r\n"); - if (!end) { - err = -EILSEQ; - goto unmap; - } - - if (value && ((ssize_t) strlen(value) == end - off - len - 1) && - !strncmp(off + len + 1, value, end - off - len - 1)) - goto unmap; - - len = strspn(end, "\r\n"); - end += len; - - len = size - (end - map); - if (!len) { - munmap(map, size); - if (ftruncate(fd, base) < 0) { - err = -errno; - goto unlock; - } - lseek(fd, base, SEEK_SET); - if (value) - err = write_key_value(fd, key, value); - - goto unlock; - } - - if (len < 0 || len > size) { - err = -EILSEQ; - goto unmap; - } - - str = malloc(len); - if (!str) { - err = -errno; - goto unmap; - } - - memcpy(str, end, len); - - munmap(map, size); - if (ftruncate(fd, base) < 0) { - err = -errno; - free(str); - goto unlock; - } - lseek(fd, base, SEEK_SET); - if (value) - err = write_key_value(fd, key, value); - - if (write(fd, str, len) < 0) - err = -errno; - - free(str); - - goto unlock; - -unmap: - munmap(map, size); - -unlock: - flock(fd, LOCK_UN); - -close: - fdatasync(fd); - - close(fd); - errno = -err; - - return err; -} - -static char *read_key(const char *pathname, const char *key, int icase) -{ - struct stat st; - char *map, *off, *end, *str = NULL; - off_t size; size_t len; - int fd, err = 0; - - fd = open(pathname, O_RDONLY); - if (fd < 0) - return NULL; - - if (flock(fd, LOCK_SH) < 0) { - err = -errno; - goto close; - } - - if (fstat(fd, &st) < 0) { - err = -errno; - goto unlock; - } - - size = st.st_size; - - map = mmap(NULL, size, PROT_READ, MAP_SHARED, fd, 0); - if (!map || map == MAP_FAILED) { - err = -errno; - goto unlock; - } - - len = strlen(key); - off = find_key(map, size, key, len, icase); - if (!off) { - err = -EILSEQ; - goto unmap; - } - - end = strnpbrk(off, size - (off - map), "\r\n"); - if (!end) { - err = -EILSEQ; - goto unmap; - } - - str = malloc(end - off - len); - if (!str) { - err = -EILSEQ; - goto unmap; - } - - memset(str, 0, end - off - len); - strncpy(str, off + len + 1, end - off - len - 1); - -unmap: - munmap(map, size); - -unlock: - flock(fd, LOCK_UN); - -close: - close(fd); - errno = -err; - - return str; -} - -int textfile_put(const char *pathname, const char *key, const char *value) -{ - return write_key(pathname, key, value, 0); -} - -int textfile_del(const char *pathname, const char *key) -{ - return write_key(pathname, key, NULL, 0); -} - -char *textfile_get(const char *pathname, const char *key) -{ - return read_key(pathname, key, 0); -} - -int textfile_foreach(const char *pathname, textfile_cb func, void *data) -{ - struct stat st; - char *map, *off, *end, *key, *value; - off_t size; size_t len; - int fd, err = 0; - - fd = open(pathname, O_RDONLY); - if (fd < 0) - return -errno; - - if (flock(fd, LOCK_SH) < 0) { - err = -errno; - goto close; - } - - if (fstat(fd, &st) < 0) { - err = -errno; - goto unlock; - } - - size = st.st_size; - - map = mmap(NULL, size, PROT_READ, MAP_SHARED, fd, 0); - if (!map || map == MAP_FAILED) { - err = -errno; - goto unlock; - } - - off = map; - - while (size - (off - map) > 0) { - end = strnpbrk(off, size - (off - map), " "); - if (!end) { - err = -EILSEQ; - break; - } - - len = end - off; - - key = malloc(len + 1); - if (!key) { - err = -errno; - break; - } - - memset(key, 0, len + 1); - memcpy(key, off, len); - - off = end + 1; - - if (size - (off - map) < 0) { - err = -EILSEQ; - free(key); - break; - } - - end = strnpbrk(off, size - (off - map), "\r\n"); - if (!end) { - err = -EILSEQ; - free(key); - break; - } - - len = end - off; - - value = malloc(len + 1); - if (!value) { - err = -errno; - free(key); - break; - } - - memset(value, 0, len + 1); - memcpy(value, off, len); - - func(key, value, data); - - free(key); - free(value); - - off = end + 1; - } - - munmap(map, size); - -unlock: - flock(fd, LOCK_UN); - -close: - close(fd); - errno = -err; - - return 0; -} diff --git a/GRIB_BLE_HUB/libs/ble_extend/src/textfile.h b/GRIB_BLE_HUB/libs/ble_extend/src/textfile.h deleted file mode 100644 index b779bd2..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/src/textfile.h +++ /dev/null @@ -1,39 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2004-2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifndef __TEXTFILE_H -#define __TEXTFILE_H - -int create_file(const char *filename, const mode_t mode); -int create_name(char *buf, size_t size, const char *path, - const char *address, const char *name); - -int textfile_put(const char *pathname, const char *key, const char *value); -int textfile_del(const char *pathname, const char *key); -char *textfile_get(const char *pathname, const char *key); - -typedef void (*textfile_cb) (char *key, char *value, void *data); - -int textfile_foreach(const char *pathname, textfile_cb func, void *data); - -#endif /* __TEXTFILE_H */ diff --git a/GRIB_BLE_HUB/libs/ble_extend/src/uinput.h b/GRIB_BLE_HUB/libs/ble_extend/src/uinput.h deleted file mode 100644 index 20e0941..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/src/uinput.h +++ /dev/null @@ -1,724 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2003-2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifndef __UINPUT_H -#define __UINPUT_H - -#ifdef __cplusplus -extern "C" { -#endif - -#include -#include -#include - -/* Events */ - -#define EV_SYN 0x00 -#define EV_KEY 0x01 -#define EV_REL 0x02 -#define EV_ABS 0x03 -#define EV_MSC 0x04 -#define EV_LED 0x11 -#define EV_SND 0x12 -#define EV_REP 0x14 -#define EV_FF 0x15 -#define EV_PWR 0x16 -#define EV_FF_STATUS 0x17 -#define EV_MAX 0x1f - -/* Synchronization events */ - -#define SYN_REPORT 0 -#define SYN_CONFIG 1 - -/* - * Keys and buttons - * - * Most of the keys/buttons are modelled after USB HUT 1.12 - * (see http://www.usb.org/developers/hidpage). - * Abbreviations in the comments: - * AC - Application Control - * AL - Application Launch Button - * SC - System Control - */ - -#define KEY_RESERVED 0 -#define KEY_ESC 1 -#define KEY_1 2 -#define KEY_2 3 -#define KEY_3 4 -#define KEY_4 5 -#define KEY_5 6 -#define KEY_6 7 -#define KEY_7 8 -#define KEY_8 9 -#define KEY_9 10 -#define KEY_0 11 -#define KEY_MINUS 12 -#define KEY_EQUAL 13 -#define KEY_BACKSPACE 14 -#define KEY_TAB 15 -#define KEY_Q 16 -#define KEY_W 17 -#define KEY_E 18 -#define KEY_R 19 -#define KEY_T 20 -#define KEY_Y 21 -#define KEY_U 22 -#define KEY_I 23 -#define KEY_O 24 -#define KEY_P 25 -#define KEY_LEFTBRACE 26 -#define KEY_RIGHTBRACE 27 -#define KEY_ENTER 28 -#define KEY_LEFTCTRL 29 -#define KEY_A 30 -#define KEY_S 31 -#define KEY_D 32 -#define KEY_F 33 -#define KEY_G 34 -#define KEY_H 35 -#define KEY_J 36 -#define KEY_K 37 -#define KEY_L 38 -#define KEY_SEMICOLON 39 -#define KEY_APOSTROPHE 40 -#define KEY_GRAVE 41 -#define KEY_LEFTSHIFT 42 -#define KEY_BACKSLASH 43 -#define KEY_Z 44 -#define KEY_X 45 -#define KEY_C 46 -#define KEY_V 47 -#define KEY_B 48 -#define KEY_N 49 -#define KEY_M 50 -#define KEY_COMMA 51 -#define KEY_DOT 52 -#define KEY_SLASH 53 -#define KEY_RIGHTSHIFT 54 -#define KEY_KPASTERISK 55 -#define KEY_LEFTALT 56 -#define KEY_SPACE 57 -#define KEY_CAPSLOCK 58 -#define KEY_F1 59 -#define KEY_F2 60 -#define KEY_F3 61 -#define KEY_F4 62 -#define KEY_F5 63 -#define KEY_F6 64 -#define KEY_F7 65 -#define KEY_F8 66 -#define KEY_F9 67 -#define KEY_F10 68 -#define KEY_NUMLOCK 69 -#define KEY_SCROLLLOCK 70 -#define KEY_KP7 71 -#define KEY_KP8 72 -#define KEY_KP9 73 -#define KEY_KPMINUS 74 -#define KEY_KP4 75 -#define KEY_KP5 76 -#define KEY_KP6 77 -#define KEY_KPPLUS 78 -#define KEY_KP1 79 -#define KEY_KP2 80 -#define KEY_KP3 81 -#define KEY_KP0 82 -#define KEY_KPDOT 83 - -#define KEY_ZENKAKUHANKAKU 85 -#define KEY_102ND 86 -#define KEY_F11 87 -#define KEY_F12 88 -#define KEY_RO 89 -#define KEY_KATAKANA 90 -#define KEY_HIRAGANA 91 -#define KEY_HENKAN 92 -#define KEY_KATAKANAHIRAGANA 93 -#define KEY_MUHENKAN 94 -#define KEY_KPJPCOMMA 95 -#define KEY_KPENTER 96 -#define KEY_RIGHTCTRL 97 -#define KEY_KPSLASH 98 -#define KEY_SYSRQ 99 -#define KEY_RIGHTALT 100 -#define KEY_LINEFEED 101 -#define KEY_HOME 102 -#define KEY_UP 103 -#define KEY_PAGEUP 104 -#define KEY_LEFT 105 -#define KEY_RIGHT 106 -#define KEY_END 107 -#define KEY_DOWN 108 -#define KEY_PAGEDOWN 109 -#define KEY_INSERT 110 -#define KEY_DELETE 111 -#define KEY_MACRO 112 -#define KEY_MUTE 113 -#define KEY_VOLUMEDOWN 114 -#define KEY_VOLUMEUP 115 -#define KEY_POWER 116 /* SC System Power Down */ -#define KEY_KPEQUAL 117 -#define KEY_KPPLUSMINUS 118 -#define KEY_PAUSE 119 - -#define KEY_KPCOMMA 121 -#define KEY_HANGEUL 122 -#define KEY_HANGUEL KEY_HANGEUL -#define KEY_HANJA 123 -#define KEY_YEN 124 -#define KEY_LEFTMETA 125 -#define KEY_RIGHTMETA 126 -#define KEY_COMPOSE 127 - -#define KEY_STOP 128 /* AC Stop */ -#define KEY_AGAIN 129 -#define KEY_PROPS 130 /* AC Properties */ -#define KEY_UNDO 131 /* AC Undo */ -#define KEY_FRONT 132 -#define KEY_COPY 133 /* AC Copy */ -#define KEY_OPEN 134 /* AC Open */ -#define KEY_PASTE 135 /* AC Paste */ -#define KEY_FIND 136 /* AC Search */ -#define KEY_CUT 137 /* AC Cut */ -#define KEY_HELP 138 /* AL Integrated Help Center */ -#define KEY_MENU 139 /* Menu (show menu) */ -#define KEY_CALC 140 /* AL Calculator */ -#define KEY_SETUP 141 -#define KEY_SLEEP 142 /* SC System Sleep */ -#define KEY_WAKEUP 143 /* System Wake Up */ -#define KEY_FILE 144 /* AL Local Machine Browser */ -#define KEY_SENDFILE 145 -#define KEY_DELETEFILE 146 -#define KEY_XFER 147 -#define KEY_PROG1 148 -#define KEY_PROG2 149 -#define KEY_WWW 150 /* AL Internet Browser */ -#define KEY_MSDOS 151 -#define KEY_COFFEE 152 /* AL Terminal Lock/Screensaver */ -#define KEY_SCREENLOCK KEY_COFFEE -#define KEY_DIRECTION 153 -#define KEY_CYCLEWINDOWS 154 -#define KEY_MAIL 155 -#define KEY_BOOKMARKS 156 /* AC Bookmarks */ -#define KEY_COMPUTER 157 -#define KEY_BACK 158 /* AC Back */ -#define KEY_FORWARD 159 /* AC Forward */ -#define KEY_CLOSECD 160 -#define KEY_EJECTCD 161 -#define KEY_EJECTCLOSECD 162 -#define KEY_NEXTSONG 163 -#define KEY_PLAYPAUSE 164 -#define KEY_PREVIOUSSONG 165 -#define KEY_STOPCD 166 -#define KEY_RECORD 167 -#define KEY_REWIND 168 -#define KEY_PHONE 169 /* Media Select Telephone */ -#define KEY_ISO 170 -#define KEY_CONFIG 171 /* AL Consumer Control Configuration */ -#define KEY_HOMEPAGE 172 /* AC Home */ -#define KEY_REFRESH 173 /* AC Refresh */ -#define KEY_EXIT 174 /* AC Exit */ -#define KEY_MOVE 175 -#define KEY_EDIT 176 -#define KEY_SCROLLUP 177 -#define KEY_SCROLLDOWN 178 -#define KEY_KPLEFTPAREN 179 -#define KEY_KPRIGHTPAREN 180 -#define KEY_NEW 181 /* AC New */ -#define KEY_REDO 182 /* AC Redo/Repeat */ - -#define KEY_F13 183 -#define KEY_F14 184 -#define KEY_F15 185 -#define KEY_F16 186 -#define KEY_F17 187 -#define KEY_F18 188 -#define KEY_F19 189 -#define KEY_F20 190 -#define KEY_F21 191 -#define KEY_F22 192 -#define KEY_F23 193 -#define KEY_F24 194 - -#define KEY_PLAYCD 200 -#define KEY_PAUSECD 201 -#define KEY_PROG3 202 -#define KEY_PROG4 203 -#define KEY_SUSPEND 205 -#define KEY_CLOSE 206 /* AC Close */ -#define KEY_PLAY 207 -#define KEY_FASTFORWARD 208 -#define KEY_BASSBOOST 209 -#define KEY_PRINT 210 /* AC Print */ -#define KEY_HP 211 -#define KEY_CAMERA 212 -#define KEY_SOUND 213 -#define KEY_QUESTION 214 -#define KEY_EMAIL 215 -#define KEY_CHAT 216 -#define KEY_SEARCH 217 -#define KEY_CONNECT 218 -#define KEY_FINANCE 219 /* AL Checkbook/Finance */ -#define KEY_SPORT 220 -#define KEY_SHOP 221 -#define KEY_ALTERASE 222 -#define KEY_CANCEL 223 /* AC Cancel */ -#define KEY_BRIGHTNESSDOWN 224 -#define KEY_BRIGHTNESSUP 225 -#define KEY_MEDIA 226 - -#define KEY_SWITCHVIDEOMODE 227 /* Cycle between available video - outputs (Monitor/LCD/TV-out/etc) */ -#define KEY_KBDILLUMTOGGLE 228 -#define KEY_KBDILLUMDOWN 229 -#define KEY_KBDILLUMUP 230 - -#define KEY_SEND 231 /* AC Send */ -#define KEY_REPLY 232 /* AC Reply */ -#define KEY_FORWARDMAIL 233 /* AC Forward Msg */ -#define KEY_SAVE 234 /* AC Save */ -#define KEY_DOCUMENTS 235 - -#define KEY_BATTERY 236 - -#define KEY_BLUETOOTH 237 -#define KEY_WLAN 238 -#define KEY_UWB 239 - -#define KEY_UNKNOWN 240 - -#define KEY_VIDEO_NEXT 241 /* drive next video source */ -#define KEY_VIDEO_PREV 242 /* drive previous video source */ -#define KEY_BRIGHTNESS_CYCLE 243 /* brightness up, after max is min */ -#define KEY_BRIGHTNESS_ZERO 244 /* brightness off, use ambient */ -#define KEY_DISPLAY_OFF 245 /* display device to off state */ - -#define KEY_WIMAX 246 - -/* Range 248 - 255 is reserved for special needs of AT keyboard driver */ - -#define BTN_MISC 0x100 -#define BTN_0 0x100 -#define BTN_1 0x101 -#define BTN_2 0x102 -#define BTN_3 0x103 -#define BTN_4 0x104 -#define BTN_5 0x105 -#define BTN_6 0x106 -#define BTN_7 0x107 -#define BTN_8 0x108 -#define BTN_9 0x109 - -#define BTN_MOUSE 0x110 -#define BTN_LEFT 0x110 -#define BTN_RIGHT 0x111 -#define BTN_MIDDLE 0x112 -#define BTN_SIDE 0x113 -#define BTN_EXTRA 0x114 -#define BTN_FORWARD 0x115 -#define BTN_BACK 0x116 -#define BTN_TASK 0x117 - -#define BTN_JOYSTICK 0x120 -#define BTN_TRIGGER 0x120 -#define BTN_THUMB 0x121 -#define BTN_THUMB2 0x122 -#define BTN_TOP 0x123 -#define BTN_TOP2 0x124 -#define BTN_PINKIE 0x125 -#define BTN_BASE 0x126 -#define BTN_BASE2 0x127 -#define BTN_BASE3 0x128 -#define BTN_BASE4 0x129 -#define BTN_BASE5 0x12a -#define BTN_BASE6 0x12b -#define BTN_DEAD 0x12f - -#define BTN_GAMEPAD 0x130 -#define BTN_A 0x130 -#define BTN_B 0x131 -#define BTN_C 0x132 -#define BTN_X 0x133 -#define BTN_Y 0x134 -#define BTN_Z 0x135 -#define BTN_TL 0x136 -#define BTN_TR 0x137 -#define BTN_TL2 0x138 -#define BTN_TR2 0x139 -#define BTN_SELECT 0x13a -#define BTN_START 0x13b -#define BTN_MODE 0x13c -#define BTN_THUMBL 0x13d -#define BTN_THUMBR 0x13e - -#define BTN_DIGI 0x140 -#define BTN_TOOL_PEN 0x140 -#define BTN_TOOL_RUBBER 0x141 -#define BTN_TOOL_BRUSH 0x142 -#define BTN_TOOL_PENCIL 0x143 -#define BTN_TOOL_AIRBRUSH 0x144 -#define BTN_TOOL_FINGER 0x145 -#define BTN_TOOL_MOUSE 0x146 -#define BTN_TOOL_LENS 0x147 -#define BTN_TOUCH 0x14a -#define BTN_STYLUS 0x14b -#define BTN_STYLUS2 0x14c -#define BTN_TOOL_DOUBLETAP 0x14d -#define BTN_TOOL_TRIPLETAP 0x14e - -#define BTN_WHEEL 0x150 -#define BTN_GEAR_DOWN 0x150 -#define BTN_GEAR_UP 0x151 - -#define KEY_OK 0x160 -#define KEY_SELECT 0x161 -#define KEY_GOTO 0x162 -#define KEY_CLEAR 0x163 -#define KEY_POWER2 0x164 -#define KEY_OPTION 0x165 -#define KEY_INFO 0x166 /* AL OEM Features/Tips/Tutorial */ -#define KEY_TIME 0x167 -#define KEY_VENDOR 0x168 -#define KEY_ARCHIVE 0x169 -#define KEY_PROGRAM 0x16a /* Media Select Program Guide */ -#define KEY_CHANNEL 0x16b -#define KEY_FAVORITES 0x16c -#define KEY_EPG 0x16d -#define KEY_PVR 0x16e /* Media Select Home */ -#define KEY_MHP 0x16f -#define KEY_LANGUAGE 0x170 -#define KEY_TITLE 0x171 -#define KEY_SUBTITLE 0x172 -#define KEY_ANGLE 0x173 -#define KEY_ZOOM 0x174 -#define KEY_MODE 0x175 -#define KEY_KEYBOARD 0x176 -#define KEY_SCREEN 0x177 -#define KEY_PC 0x178 /* Media Select Computer */ -#define KEY_TV 0x179 /* Media Select TV */ -#define KEY_TV2 0x17a /* Media Select Cable */ -#define KEY_VCR 0x17b /* Media Select VCR */ -#define KEY_VCR2 0x17c /* VCR Plus */ -#define KEY_SAT 0x17d /* Media Select Satellite */ -#define KEY_SAT2 0x17e -#define KEY_CD 0x17f /* Media Select CD */ -#define KEY_TAPE 0x180 /* Media Select Tape */ -#define KEY_RADIO 0x181 -#define KEY_TUNER 0x182 /* Media Select Tuner */ -#define KEY_PLAYER 0x183 -#define KEY_TEXT 0x184 -#define KEY_DVD 0x185 /* Media Select DVD */ -#define KEY_AUX 0x186 -#define KEY_MP3 0x187 -#define KEY_AUDIO 0x188 -#define KEY_VIDEO 0x189 -#define KEY_DIRECTORY 0x18a -#define KEY_LIST 0x18b -#define KEY_MEMO 0x18c /* Media Select Messages */ -#define KEY_CALENDAR 0x18d -#define KEY_RED 0x18e -#define KEY_GREEN 0x18f -#define KEY_YELLOW 0x190 -#define KEY_BLUE 0x191 -#define KEY_CHANNELUP 0x192 /* Channel Increment */ -#define KEY_CHANNELDOWN 0x193 /* Channel Decrement */ -#define KEY_FIRST 0x194 -#define KEY_LAST 0x195 /* Recall Last */ -#define KEY_AB 0x196 -#define KEY_NEXT 0x197 -#define KEY_RESTART 0x198 -#define KEY_SLOW 0x199 -#define KEY_SHUFFLE 0x19a -#define KEY_BREAK 0x19b -#define KEY_PREVIOUS 0x19c -#define KEY_DIGITS 0x19d -#define KEY_TEEN 0x19e -#define KEY_TWEN 0x19f -#define KEY_VIDEOPHONE 0x1a0 /* Media Select Video Phone */ -#define KEY_GAMES 0x1a1 /* Media Select Games */ -#define KEY_ZOOMIN 0x1a2 /* AC Zoom In */ -#define KEY_ZOOMOUT 0x1a3 /* AC Zoom Out */ -#define KEY_ZOOMRESET 0x1a4 /* AC Zoom */ -#define KEY_WORDPROCESSOR 0x1a5 /* AL Word Processor */ -#define KEY_EDITOR 0x1a6 /* AL Text Editor */ -#define KEY_SPREADSHEET 0x1a7 /* AL Spreadsheet */ -#define KEY_GRAPHICSEDITOR 0x1a8 /* AL Graphics Editor */ -#define KEY_PRESENTATION 0x1a9 /* AL Presentation App */ -#define KEY_DATABASE 0x1aa /* AL Database App */ -#define KEY_NEWS 0x1ab /* AL Newsreader */ -#define KEY_VOICEMAIL 0x1ac /* AL Voicemail */ -#define KEY_ADDRESSBOOK 0x1ad /* AL Contacts/Address Book */ -#define KEY_MESSENGER 0x1ae /* AL Instant Messaging */ -#define KEY_DISPLAYTOGGLE 0x1af /* Turn display (LCD) on and off */ -#define KEY_SPELLCHECK 0x1b0 /* AL Spell Check */ -#define KEY_LOGOFF 0x1b1 /* AL Logoff */ - -#define KEY_DOLLAR 0x1b2 -#define KEY_EURO 0x1b3 - -#define KEY_FRAMEBACK 0x1b4 /* Consumer - transport controls */ -#define KEY_FRAMEFORWARD 0x1b5 -#define KEY_CONTEXT_MENU 0x1b6 /* GenDesc - system context menu */ -#define KEY_MEDIA_REPEAT 0x1b7 /* Consumer - transport control */ - -#define KEY_DEL_EOL 0x1c0 -#define KEY_DEL_EOS 0x1c1 -#define KEY_INS_LINE 0x1c2 -#define KEY_DEL_LINE 0x1c3 - -#define KEY_FN 0x1d0 -#define KEY_FN_ESC 0x1d1 -#define KEY_FN_F1 0x1d2 -#define KEY_FN_F2 0x1d3 -#define KEY_FN_F3 0x1d4 -#define KEY_FN_F4 0x1d5 -#define KEY_FN_F5 0x1d6 -#define KEY_FN_F6 0x1d7 -#define KEY_FN_F7 0x1d8 -#define KEY_FN_F8 0x1d9 -#define KEY_FN_F9 0x1da -#define KEY_FN_F10 0x1db -#define KEY_FN_F11 0x1dc -#define KEY_FN_F12 0x1dd -#define KEY_FN_1 0x1de -#define KEY_FN_2 0x1df -#define KEY_FN_D 0x1e0 -#define KEY_FN_E 0x1e1 -#define KEY_FN_F 0x1e2 -#define KEY_FN_S 0x1e3 -#define KEY_FN_B 0x1e4 - -#define KEY_BRL_DOT1 0x1f1 -#define KEY_BRL_DOT2 0x1f2 -#define KEY_BRL_DOT3 0x1f3 -#define KEY_BRL_DOT4 0x1f4 -#define KEY_BRL_DOT5 0x1f5 -#define KEY_BRL_DOT6 0x1f6 -#define KEY_BRL_DOT7 0x1f7 -#define KEY_BRL_DOT8 0x1f8 -#define KEY_BRL_DOT9 0x1f9 -#define KEY_BRL_DOT10 0x1fa - -/* We avoid low common keys in module aliases so they don't get huge. */ -#define KEY_MIN_INTERESTING KEY_MUTE -#define KEY_MAX 0x1ff -#define KEY_CNT (KEY_MAX+1) - -/* - * Relative axes - */ - -#define REL_X 0x00 -#define REL_Y 0x01 -#define REL_Z 0x02 -#define REL_RX 0x03 -#define REL_RY 0x04 -#define REL_RZ 0x05 -#define REL_HWHEEL 0x06 -#define REL_DIAL 0x07 -#define REL_WHEEL 0x08 -#define REL_MISC 0x09 -#define REL_MAX 0x0f -#define REL_CNT (REL_MAX+1) - -/* - * Absolute axes - */ - -#define ABS_X 0x00 -#define ABS_Y 0x01 -#define ABS_Z 0x02 -#define ABS_RX 0x03 -#define ABS_RY 0x04 -#define ABS_RZ 0x05 -#define ABS_THROTTLE 0x06 -#define ABS_RUDDER 0x07 -#define ABS_WHEEL 0x08 -#define ABS_GAS 0x09 -#define ABS_BRAKE 0x0a -#define ABS_HAT0X 0x10 -#define ABS_HAT0Y 0x11 -#define ABS_HAT1X 0x12 -#define ABS_HAT1Y 0x13 -#define ABS_HAT2X 0x14 -#define ABS_HAT2Y 0x15 -#define ABS_HAT3X 0x16 -#define ABS_HAT3Y 0x17 -#define ABS_PRESSURE 0x18 -#define ABS_DISTANCE 0x19 -#define ABS_TILT_X 0x1a -#define ABS_TILT_Y 0x1b -#define ABS_TOOL_WIDTH 0x1c -#define ABS_VOLUME 0x20 -#define ABS_MISC 0x28 -#define ABS_MAX 0x3f -#define ABS_CNT (ABS_MAX+1) - -/* - * Switch events - */ - -#define SW_LID 0x00 /* set = lid shut */ -#define SW_TABLET_MODE 0x01 /* set = tablet mode */ -#define SW_HEADPHONE_INSERT 0x02 /* set = inserted */ -#define SW_RFKILL_ALL 0x03 /* rfkill master switch, type "any" - set = radio enabled */ -#define SW_RADIO SW_RFKILL_ALL /* deprecated */ -#define SW_MICROPHONE_INSERT 0x04 /* set = inserted */ -#define SW_DOCK 0x05 /* set = plugged into dock */ -#define SW_MAX 0x0f -#define SW_CNT (SW_MAX+1) - -/* - * Misc events - */ - -#define MSC_SERIAL 0x00 -#define MSC_PULSELED 0x01 -#define MSC_GESTURE 0x02 -#define MSC_RAW 0x03 -#define MSC_SCAN 0x04 -#define MSC_MAX 0x07 -#define MSC_CNT (MSC_MAX+1) - -/* - * LEDs - */ - -#define LED_NUML 0x00 -#define LED_CAPSL 0x01 -#define LED_SCROLLL 0x02 -#define LED_COMPOSE 0x03 -#define LED_KANA 0x04 -#define LED_SLEEP 0x05 -#define LED_SUSPEND 0x06 -#define LED_MUTE 0x07 -#define LED_MISC 0x08 -#define LED_MAIL 0x09 -#define LED_CHARGING 0x0a -#define LED_MAX 0x0f -#define LED_CNT (LED_MAX+1) - -/* - * Autorepeat values - */ - -#define REP_DELAY 0x00 -#define REP_PERIOD 0x01 -#define REP_MAX 0x01 - -/* - * Sounds - */ - -#define SND_CLICK 0x00 -#define SND_BELL 0x01 -#define SND_TONE 0x02 -#define SND_MAX 0x07 -#define SND_CNT (SND_MAX+1) - -/* - * IDs. - */ - -#define ID_BUS 0 -#define ID_VENDOR 1 -#define ID_PRODUCT 2 -#define ID_VERSION 3 - -#define BUS_PCI 0x01 -#define BUS_ISAPNP 0x02 -#define BUS_USB 0x03 -#define BUS_HIL 0x04 -#define BUS_BLUETOOTH 0x05 -#define BUS_VIRTUAL 0x06 - -#define BUS_ISA 0x10 -#define BUS_I8042 0x11 -#define BUS_XTKBD 0x12 -#define BUS_RS232 0x13 -#define BUS_GAMEPORT 0x14 -#define BUS_PARPORT 0x15 -#define BUS_AMIGA 0x16 -#define BUS_ADB 0x17 -#define BUS_I2C 0x18 -#define BUS_HOST 0x19 -#define BUS_GSC 0x1A -#define BUS_ATARI 0x1B - -/* User input interface */ - -#define UINPUT_IOCTL_BASE 'U' - -#define UI_DEV_CREATE _IO(UINPUT_IOCTL_BASE, 1) -#define UI_DEV_DESTROY _IO(UINPUT_IOCTL_BASE, 2) - -#define UI_SET_EVBIT _IOW(UINPUT_IOCTL_BASE, 100, int) -#define UI_SET_KEYBIT _IOW(UINPUT_IOCTL_BASE, 101, int) -#define UI_SET_RELBIT _IOW(UINPUT_IOCTL_BASE, 102, int) -#define UI_SET_ABSBIT _IOW(UINPUT_IOCTL_BASE, 103, int) -#define UI_SET_MSCBIT _IOW(UINPUT_IOCTL_BASE, 104, int) -#define UI_SET_LEDBIT _IOW(UINPUT_IOCTL_BASE, 105, int) -#define UI_SET_SNDBIT _IOW(UINPUT_IOCTL_BASE, 106, int) -#define UI_SET_FFBIT _IOW(UINPUT_IOCTL_BASE, 107, int) -#define UI_SET_PHYS _IOW(UINPUT_IOCTL_BASE, 108, char*) -#define UI_SET_SWBIT _IOW(UINPUT_IOCTL_BASE, 109, int) - -#ifndef NBITS -#define NBITS(x) ((((x) - 1) / (sizeof(long) * 8)) + 1) -#endif - -#define UINPUT_MAX_NAME_SIZE 80 - -struct uinput_id { - uint16_t bustype; - uint16_t vendor; - uint16_t product; - uint16_t version; -}; - -struct uinput_dev { - char name[UINPUT_MAX_NAME_SIZE]; - struct uinput_id id; - int ff_effects_max; - int absmax[ABS_MAX + 1]; - int absmin[ABS_MAX + 1]; - int absfuzz[ABS_MAX + 1]; - int absflat[ABS_MAX + 1]; -}; - -struct uinput_event { - struct timeval time; - uint16_t type; - uint16_t code; - int32_t value; -}; - -#ifdef __cplusplus -} -#endif - -#endif /* __UINPUT_H */ diff --git a/GRIB_BLE_HUB/libs/ble_extend/stamp-h1 b/GRIB_BLE_HUB/libs/ble_extend/stamp-h1 deleted file mode 100644 index 4547fe1..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/stamp-h1 +++ /dev/null @@ -1 +0,0 @@ -timestamp for config.h diff --git a/GRIB_BLE_HUB/libs/ble_extend/test/bluezutils.py b/GRIB_BLE_HUB/libs/ble_extend/test/bluezutils.py deleted file mode 100644 index de08cbd..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/test/bluezutils.py +++ /dev/null @@ -1,47 +0,0 @@ -import dbus - -SERVICE_NAME = "org.bluez" -ADAPTER_INTERFACE = SERVICE_NAME + ".Adapter1" -DEVICE_INTERFACE = SERVICE_NAME + ".Device1" - -def get_managed_objects(): - bus = dbus.SystemBus() - manager = dbus.Interface(bus.get_object("org.bluez", "/"), - "org.freedesktop.DBus.ObjectManager") - return manager.GetManagedObjects() - -def find_adapter(pattern=None): - return find_adapter_in_objects(get_managed_objects(), pattern) - -def find_adapter_in_objects(objects, pattern=None): - bus = dbus.SystemBus() - for path, ifaces in objects.iteritems(): - adapter = ifaces.get(ADAPTER_INTERFACE) - if adapter is None: - continue - if not pattern or pattern == adapter["Address"] or \ - path.endswith(pattern): - obj = bus.get_object(SERVICE_NAME, path) - return dbus.Interface(obj, ADAPTER_INTERFACE) - raise Exception("Bluetooth adapter not found") - -def find_device(device_address, adapter_pattern=None): - return find_device_in_objects(get_managed_objects(), device_address, - adapter_pattern) - -def find_device_in_objects(objects, device_address, adapter_pattern=None): - bus = dbus.SystemBus() - path_prefix = "" - if adapter_pattern: - adapter = find_adapter_in_objects(objects, adapter_pattern) - path_prefix = adapter.object_path - for path, ifaces in objects.iteritems(): - device = ifaces.get(DEVICE_INTERFACE) - if device is None: - continue - if (device["Address"] == device_address and - path.startswith(path_prefix)): - obj = bus.get_object(SERVICE_NAME, path) - return dbus.Interface(obj, DEVICE_INTERFACE) - - raise Exception("Bluetooth device not found") diff --git a/GRIB_BLE_HUB/libs/ble_extend/test/bluezutils.pyc b/GRIB_BLE_HUB/libs/ble_extend/test/bluezutils.pyc deleted file mode 100644 index 1bb51b7..0000000 Binary files a/GRIB_BLE_HUB/libs/ble_extend/test/bluezutils.pyc and /dev/null differ diff --git a/GRIB_BLE_HUB/libs/ble_extend/test/dbusdef.py b/GRIB_BLE_HUB/libs/ble_extend/test/dbusdef.py deleted file mode 100644 index f1cd35a..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/test/dbusdef.py +++ /dev/null @@ -1,15 +0,0 @@ -import dbus -import bluezutils - -bus = dbus.SystemBus() - - -dummy = dbus.Interface(bus.get_object('org.bluez', '/'), 'org.freedesktop.DBus.Introspectable') - -#print dummy.Introspect() - - -try: - adapter = bluezutils.find_adapter() -except: - pass diff --git a/GRIB_BLE_HUB/libs/ble_extend/test/list-devices b/GRIB_BLE_HUB/libs/ble_extend/test/list-devices deleted file mode 100644 index 0aac217..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/test/list-devices +++ /dev/null @@ -1,76 +0,0 @@ -#!/usr/bin/python - -from __future__ import absolute_import, print_function, unicode_literals - -import dbus - -bus = dbus.SystemBus() - -manager = dbus.Interface(bus.get_object("org.bluez", "/"), - "org.freedesktop.DBus.ObjectManager") - -def extract_objects(object_list): - list = "" - for object in object_list: - val = str(object) - list = list + val[val.rfind("/") + 1:] + " " - return list - -def extract_uuids(uuid_list): - list = "" - for uuid in uuid_list: - if (uuid.endswith("-0000-1000-8000-00805f9b34fb")): - if (uuid.startswith("0000")): - val = "0x" + uuid[4:8] - else: - val = "0x" + uuid[0:8] - else: - val = str(uuid) - list = list + val + " " - return list - -objects = manager.GetManagedObjects() - -all_devices = (str(path) for path, interfaces in objects.iteritems() if - "org.bluez.Device1" in interfaces.keys()) - -for path, interfaces in objects.iteritems(): - if "org.bluez.Adapter1" not in interfaces.keys(): - continue - - print("[ " + path + " ]") - - properties = interfaces["org.bluez.Adapter1"] - for key in properties.keys(): - value = properties[key] - if (key == "UUIDs"): - list = extract_uuids(value) - print(" %s = %s" % (key, list)) - else: - print(" %s = %s" % (key, value)) - - device_list = [d for d in all_devices if d.startswith(path + "/")] - - for dev_path in device_list: - print(" [ " + dev_path + " ]") - - dev = objects[dev_path] - properties = dev["org.bluez.Device1"] - - for key in properties.keys(): - value = properties[key] - if (key == "UUIDs"): - list = extract_uuids(value) - print(" %s = %s" % (key, list)) - elif (key == "Class"): - print(" %s = 0x%06x" % (key, value)) - elif (key == "Vendor"): - print(" %s = 0x%04x" % (key, value)) - elif (key == "Product"): - print(" %s = 0x%04x" % (key, value)) - elif (key == "Version"): - print(" %s = 0x%04x" % (key, value)) - else: - print(" %s = %s" % (key, value)) - - print("") diff --git a/GRIB_BLE_HUB/libs/ble_extend/test/monitor-bluetooth b/GRIB_BLE_HUB/libs/ble_extend/test/monitor-bluetooth deleted file mode 100644 index bc5ddaf..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/test/monitor-bluetooth +++ /dev/null @@ -1,52 +0,0 @@ -#!/usr/bin/python - -from __future__ import absolute_import, print_function, unicode_literals - -import gobject - -import dbus -import dbus.mainloop.glib - -relevant_ifaces = [ "org.bluez.Adapter1", "org.bluez.Device1" ] - -def property_changed(interface, changed, invalidated, path): - iface = interface[interface.rfind(".") + 1:] - for name, value in changed.iteritems(): - val = str(value) - print("{%s.PropertyChanged} [%s] %s = %s" % (iface, path, name, - val)) - -def interfaces_added(path, interfaces): - for iface, props in interfaces.iteritems(): - if not(iface in relevant_ifaces): - continue - print("{Added %s} [%s]" % (iface, path)) - for name, value in props.iteritems(): - print(" %s = %s" % (name, value)) - -def interfaces_removed(path, interfaces): - for iface in interfaces: - if not(iface in relevant_ifaces): - continue - print("{Removed %s} [%s]" % (iface, path)) - -if __name__ == '__main__': - dbus.mainloop.glib.DBusGMainLoop(set_as_default=True) - - bus = dbus.SystemBus() - - bus.add_signal_receiver(property_changed, bus_name="org.bluez", - dbus_interface="org.freedesktop.DBus.Properties", - signal_name="PropertiesChanged", - path_keyword="path") - - bus.add_signal_receiver(interfaces_added, bus_name="org.bluez", - dbus_interface="org.freedesktop.DBus.ObjectManager", - signal_name="InterfacesAdded") - - bus.add_signal_receiver(interfaces_removed, bus_name="org.bluez", - dbus_interface="org.freedesktop.DBus.ObjectManager", - signal_name="InterfacesRemoved") - - mainloop = gobject.MainLoop() - mainloop.run() diff --git a/GRIB_BLE_HUB/libs/ble_extend/test/sap_client.py b/GRIB_BLE_HUB/libs/ble_extend/test/sap_client.py deleted file mode 100644 index 413424c..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/test/sap_client.py +++ /dev/null @@ -1,943 +0,0 @@ -""" Copyright (C) 2010-2011 ST-Ericsson SA """ - -""" Author: Szymon Janc for ST-Ericsson. """ - -""" This program is free software; you can redistribute it and/or modify """ -""" it under the terms of the GNU General Public License as published by """ -""" the Free Software Foundation; either version 2 of the License, or """ -""" (at your option) any later version. """ - -""" This program is distributed in the hope that it will be useful, """ -""" but WITHOUT ANY WARRANTY; without even the implied warranty of """ -""" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the """ -""" GNU General Public License for more details. """ - -""" You should have received a copy of the GNU General Public License """ -""" along with this program; if not, write to the Free Software """ -""" Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA """ - -from array import array -from bluetooth import * -import time -import re - -class SAPParam: - """ SAP Parameter Class """ - - MaxMsgSize = 0x00 - ConnectionStatus = 0x01 - ResultCode = 0x02 - DisconnectionType = 0x03 - CommandAPDU = 0x04 - ResponseAPDU = 0x05 - ATR = 0x06 - CardReaderStatus = 0x07 - StatusChange = 0x08 - TransportProtocol = 0x09 - CommandAPDU7816 = 0x10 - - def __init__(self, name, id, value = None): - self.name = name - self.id = id - self.value = value - - def _padding(self, buf): - pad = array('B') - while ( (len(buf) + len(pad)) % 4 ) != 0: - pad.append(0) - return pad - - def _basicCheck(self, buf): - if len(buf) < 4 or (len(buf) % 4) != 0 or buf[1] != 0: - return (-1, -1) - if buf[0] != self.id: - return (-1, -1) - plen = buf[2] * 256 + buf[3] + 4 - if plen > len(buf): - return (-1, -1) - pad = plen - while (pad % 4) != 0: - if buf[pad] != 0: - return (-1, -1) - pad+=1 - return (plen, pad) - - def getID(self): - return self.id - - def getValue(self): - return self.value - - def getContent(self): - return "%s(id=0x%.2X), value=%s \n" % (self.name, self.id, self.value) - - def serialize(self): - a = array('B', '\00\00\00\00') - a[0] = self.id - a[1] = 0 # reserved - a[2] = 0 # length - a[3] = 1 # length - a.append(self.value) - a.extend(self._padding(a)) - return a - - def deserialize(self, buf): - p = self._basicCheck(buf) - if p[0] == -1: - return -1 - self.id = buf[0] - self.value = buf[4] - return p[1] - - -class SAPParam_MaxMsgSize(SAPParam): - """MaxMsgSize Param """ - - def __init__(self, value = None): - SAPParam.__init__(self,"MaxMsgSize", SAPParam.MaxMsgSize, value) - self.__validate() - - def __validate(self): - if self.value > 0xFFFF: - self.value = 0xFFFF - - def serialize(self): - a = array('B', '\00\00\00\00') - a[0] = self.id - a[3] = 2 - a.append(self.value / 256) - a.append(self.value % 256) - a.extend(self._padding(a)) - return a - - def deserialize(self, buf): - p = self._basicCheck(buf) - if p[0] == -1 : - return -1 - self.value = buf[4] * 256 + buf[5] - return p[1] - -class SAPParam_CommandAPDU(SAPParam): - def __init__(self, value = None): - if value is None: - SAPParam.__init__(self, "CommandAPDU", SAPParam.CommandAPDU, array('B')) - else: - SAPParam.__init__(self, "CommandAPDU", SAPParam.CommandAPDU, array('B', value)) - - def serialize(self): - a = array('B', '\00\00\00\00') - a[0] = self.id - plen = len(self.value) - a[2] = plen / 256 - a[3] = plen % 256 - a.extend(self.value) - a.extend(self._padding(a)) - return a - - def deserialize(self, buf): - p = self._basicCheck(buf) - if p[0] == -1: - return -1 - self.value = buf[4:p[0]] - return p[1] - -class SAPParam_ResponseAPDU(SAPParam_CommandAPDU): - """ResponseAPDU Param """ - - def __init__(self, value = None): - if value is None: - SAPParam.__init__(self, "ResponseAPDU", SAPParam.ResponseAPDU, array('B')) - else: - SAPParam.__init__(self, "ResponseAPDU", SAPParam.ResponseAPDU, array('B', value)) - -class SAPParam_ATR(SAPParam_CommandAPDU): - """ATR Param """ - - def __init__(self, value = None): - if value is None: - SAPParam.__init__(self, "ATR", SAPParam.ATR, array('B')) - else: - SAPParam.__init__(self, "ATR", SAPParam.ATR, array('B', value)) - -class SAPParam_CommandAPDU7816(SAPParam_CommandAPDU): - """Command APDU7816 Param.""" - - def __init__(self, value = None): - if value is None: - SAPParam.__init__(self, "CommandAPDU7816", SAPParam.CommandAPDU7816, array('B')) - else: - SAPParam.__init__(self, "CommandAPDU7816", SAPParam.CommandAPDU7816, array('B', value)) - - -class SAPParam_ConnectionStatus(SAPParam): - """Connection status Param.""" - - def __init__(self, value = None): - SAPParam.__init__(self,"ConnectionStatus", SAPParam.ConnectionStatus, value) - self.__validate() - - def __validate(self): - if self.value is not None and self.value not in (0x00, 0x01, 0x02, 0x03, 0x04): - print "Warning. ConnectionStatus value in reserved range (0x%x)" % self.value - - def deserialize(self, buf): - ret = SAPParam.deserialize(self, buf) - if ret == -1: - return -1 - self.__validate() - return ret - -class SAPParam_ResultCode(SAPParam): - """ Result Code Param """ - - def __init__(self, value = None): - SAPParam.__init__(self,"ResultCode", SAPParam.ResultCode, value) - self.__validate() - - def __validate(self): - if self.value is not None and self.value not in (0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07): - print "Warning. ResultCode value in reserved range (0x%x)" % self.value - - def deserialize(self, buf): - ret = SAPParam.deserialize(self, buf) - if ret == -1: - return -1 - self.__validate() - return ret - -class SAPParam_DisconnectionType(SAPParam): - """Disconnection Type Param.""" - - def __init__(self, value = None): - SAPParam.__init__(self,"DisconnectionType", SAPParam.DisconnectionType, value) - self.__validate() - - def __validate(self): - if self.value is not None and self.value not in (0x00, 0x01): - print "Warning. DisconnectionType value in reserved range (0x%x)" % self.value - - def deserialize(self, buf): - ret = SAPParam.deserialize(self, buf) - if ret == -1: - return -1 - self.__validate() - return ret - -class SAPParam_CardReaderStatus(SAPParam_CommandAPDU): - """Card reader Status Param.""" - - def __init__(self, value = None): - if value is None: - SAPParam.__init__(self, "CardReaderStatus", SAPParam.CardReaderStatus, array('B')) - else: - SAPParam.__init__(self, "CardReaderStatus", SAPParam.CardReaderStatus, array('B', value)) - -class SAPParam_StatusChange(SAPParam): - """Status Change Param """ - - def __init__(self, value = None): - SAPParam.__init__(self,"StatusChange", SAPParam.StatusChange, value) - - def __validate(self): - if self.value is not None and self.value not in (0x00, 0x01, 0x02, 0x03, 0x04, 0x05): - print "Warning. StatusChange value in reserved range (0x%x)" % self.value - - def deserialize(self, buf): - ret = SAPParam.deserialize(self, buf) - if ret == -1: - return -1 - self.__validate() - return ret - -class SAPParam_TransportProtocol(SAPParam): - """Transport Protocol Param """ - - def __init__(self, value = None): - SAPParam.__init__(self,"TransportProtocol", SAPParam.TransportProtocol, value) - self.__validate() - - def __validate(self): - if self.value is not None and self.value not in (0x00, 0x01): - print "Warning. TransportProtoco value in reserved range (0x%x)" % self.value - - def deserialize(self, buf): - ret = SAPParam.deserialize(self, buf) - if ret == -1: - return -1 - self.__validate() - return ret - -class SAPMessage: - - CONNECT_REQ = 0x00 - CONNECT_RESP = 0x01 - DISCONNECT_REQ = 0x02 - DISCONNECT_RESP =0x03 - DISCONNECT_IND = 0x04 - TRANSFER_APDU_REQ = 0x05 - TRANSFER_APDU_RESP = 0x06 - TRANSFER_ATR_REQ = 0x07 - TRANSFER_ATR_RESP = 0x08 - POWER_SIM_OFF_REQ = 0x09 - POWER_SIM_OFF_RESP = 0x0A - POWER_SIM_ON_REQ = 0x0B - POWER_SIM_ON_RESP = 0x0C - RESET_SIM_REQ = 0x0D - RESET_SIM_RESP = 0x0E - TRANSFER_CARD_READER_STATUS_REQ = 0x0F - TRANSFER_CARD_READER_STATUS_RESP = 0x10 - STATUS_IND = 0x11 - ERROR_RESP = 0x12 - SET_TRANSPORT_PROTOCOL_REQ = 0x13 - SET_TRANSPORT_PROTOCOL_RESP = 0x14 - - def __init__(self, name, id): - self.name = name - self.id = id - self.params = [] - self.buf = array('B') - - def _basicCheck(self, buf): - if len(buf) < 4 or (len(buf) % 4) != 0 : - return False - - if buf[0] != self.id: - return False - - return True - - def getID(self): - return self.id - - def getContent(self): - s = "%s(id=0x%.2X) " % (self.name, self.id) - if len( self.buf): s = s + "[%s]" % re.sub("(.{2})", "0x\\1 " , self.buf.tostring().encode("hex").upper(), re.DOTALL) - s = s + "\n\t" - for p in self.params: - s = s + "\t" + p.getContent() - return s - - def getParams(self): - return self.params - - def addParam(self, param): - self.params.append(param) - - def serialize(self): - ret = array('B', '\00\00\00\00') - ret[0] = self.id - ret[1] = len(self.params) - ret[2] = 0 # reserved - ret[3] = 0 # reserved - for p in self.params: - ret.extend(p.serialize()) - - self.buf = ret - return ret - - def deserialize(self, buf): - self.buf = buf - return len(buf) == 4 and buf[1] == 0 and self._basicCheck(buf) - - -class SAPMessage_CONNECT_REQ(SAPMessage): - def __init__(self, MaxMsgSize = None): - SAPMessage.__init__(self,"CONNECT_REQ", SAPMessage.CONNECT_REQ) - if MaxMsgSize is not None: - self.addParam(SAPParam_MaxMsgSize(MaxMsgSize)) - - def _validate(self): - if len(self.params) == 1: - if self.params[0].getID() == SAPParam.MaxMsgSize: - return True - return False - - def deserialize(self, buf): - self.buf = buf - self.params[:] = [] - if SAPMessage._basicCheck(self, buf): - p = SAPParam_MaxMsgSize() - if p.deserialize(buf[4:]) == len(buf[4:]): - self.addParam(p) - return self._validate() - - return False - -class SAPMessage_CONNECT_RESP(SAPMessage): - def __init__(self, ConnectionStatus = None, MaxMsgSize = None): - SAPMessage.__init__(self,"CONNECT_RESP", SAPMessage.CONNECT_RESP) - if ConnectionStatus is not None: - self.addParam(SAPParam_ConnectionStatus(ConnectionStatus)) - if MaxMsgSize is not None: - self.addParam(SAPParam_MaxMsgSize(MaxMsgSize)) - - def _validate(self): - if len(self.params) > 0: - if self.params[0] .getID() == SAPParam.ConnectionStatus: - if self.params[0].getValue() == 0x02: - if len(self.params) == 2: - return True - else: - if len(self.params) == 1: - return True - return False - - def deserialize(self, buf): - self.buf = buf - self.params[:] = [] - - if SAPMessage._basicCheck(self, buf): - p = SAPParam_ConnectionStatus() - r = p.deserialize(buf[4:]) - if r != -1: - self.addParam(p) - if buf[1] == 2: - p = SAPParam_MaxMsgSize() - r = p.deserialize(buf[4+r:]) - if r != -1: - self.addParam(p) - - return self._validate() - - return False - -class SAPMessage_DISCONNECT_REQ(SAPMessage): - def __init__(self): - SAPMessage.__init__(self,"DISCONNECT_REQ", SAPMessage.DISCONNECT_REQ) - -class SAPMessage_DISCONNECT_RESP(SAPMessage): - def __init__(self): - SAPMessage.__init__(self,"DISCONNECT_RESP", SAPMessage.DISCONNECT_RESP) - -class SAPMessage_DISCONNECT_IND(SAPMessage): - def __init__(self, Type = None): - SAPMessage.__init__(self,"DISCONNECT_IND", SAPMessage.DISCONNECT_IND) - if Type is not None: - self.addParam(SAPParam_DisconnectionType(Type)) - - def _validate(self): - if len(self.params) == 1: - if self.params[0].getID() == SAPParam.DisconnectionType: - return True - return False - - def deserialize(self, buf): - self.buf = buf - self.params[:] = [] - if SAPMessage._basicCheck(self, buf): - p = SAPParam_DisconnectionType() - if p.deserialize(buf[4:]) == len(buf[4:]): - self.addParam(p) - return self._validate() - - return False - - -class SAPMessage_TRANSFER_APDU_REQ(SAPMessage): - def __init__(self, APDU = None, T = False): - SAPMessage.__init__(self,"TRANSFER_APDU_REQ", SAPMessage.TRANSFER_APDU_REQ) - if APDU is not None: - if T : - self.addParam(SAPParam_CommandAPDU(APDU)) - else: - self.addParam(SAPParam_CommandAPDU7816(APDU)) - - def _validate(self): - if len(self.params) == 1: - if self.params[0].getID() == SAPParam.CommandAPDU or self.params[0].getID() == SAPParam.CommandAPDU7816: - return True - return False - - def deserialize(self, buf): - self.buf = buf - self.params[:] = [] - if SAPMessage._basicCheck(self, buf): - - p = SAPParam_CommandAPDU() - p2 = SAPParam_CommandAPDU7816() - if p.deserialize(buf[4:]) == len(buf[4:]): - self.addParam(p) - return self._validate() - elif p2.deserialize(buf[4:]) == len(buf[4:]): - self.addParam(p2) - return self._validate() - - return False - -class SAPMessage_TRANSFER_APDU_RESP(SAPMessage): - def __init__(self, ResultCode = None, Response = None): - SAPMessage.__init__(self,"TRANSFER_APDU_RESP", SAPMessage.TRANSFER_APDU_RESP) - if ResultCode is not None: - self.addParam(SAPParam_ResultCode(ResultCode)) - if Response is not None: - self.addParam(SAPParam_ResponseAPDU(Response)) - - def _validate(self): - if len(self.params) > 0: - if self.params[0] .getID() == SAPParam.ResultCode: - if self.params[0].getValue() == 0x00: - if len(self.params) == 2: - return True - else: - if len(self.params) == 1: - return True - return False - - def deserialize(self, buf): - self.buf = buf - self.params[:] = [] - - if SAPMessage._basicCheck(self, buf): - p = SAPParam_ResultCode() - r = p.deserialize(buf[4:]) - if r != -1: - self.addParam(p) - if buf[1] == 2: - p = SAPParam_ResponseAPDU() - r = p.deserialize(buf[4+r:]) - if r != -1: - self.addParam(p) - - return self._validate() - - return False - -class SAPMessage_TRANSFER_ATR_REQ(SAPMessage): - def __init__(self): - SAPMessage.__init__(self,"TRANSFER_ATR_REQ", SAPMessage.TRANSFER_ATR_REQ) - -class SAPMessage_TRANSFER_ATR_RESP(SAPMessage): - def __init__(self, ResultCode = None, ATR = None): - SAPMessage.__init__(self,"TRANSFER_ATR_RESP", SAPMessage.TRANSFER_ATR_RESP) - if ResultCode is not None: - self.addParam(SAPParam_ResultCode(ResultCode)) - if ATR is not None: - self.addParam(SAPParam_ATR(ATR)) - - def _validate(self): - if len(self.params) > 0: - if self.params[0] .getID() == SAPParam.ResultCode: - if self.params[0].getValue() == 0x00: - if len(self.params) == 2: - return True - else: - if len(self.params) == 1: - return True - return False - - def deserialize(self, buf): - self.buf = buf - self.params[:] = [] - - if SAPMessage._basicCheck(self, buf): - - p = SAPParam_ResultCode() - r = p.deserialize(buf[4:]) - - if r != -1: - - self.addParam(p) - if buf[1] == 2: - - p = SAPParam_ATR() - r = p.deserialize(buf[4+r:]) - if r != -1: - self.addParam(p) - - return self._validate() - - return False - -class SAPMessage_POWER_SIM_OFF_REQ(SAPMessage): - def __init__(self): - SAPMessage.__init__(self,"POWER_SIM_OFF_REQ", SAPMessage.POWER_SIM_OFF_REQ) - -class SAPMessage_POWER_SIM_OFF_RESP(SAPMessage): - def __init__(self, ResultCode = None): - SAPMessage.__init__(self,"POWER_SIM_OFF_RESP", SAPMessage.POWER_SIM_OFF_RESP) - if ResultCode is not None: - self.addParam(SAPParam_ResultCode(ResultCode)) - - def _validate(self): - if len(self.params) == 1: - if self.params[0].getID() == SAPParam.ResultCode: - return True - return False - - def deserialize(self, buf): - self.buf = buf - self.params[:] = [] - if SAPMessage._basicCheck(self, buf): - p = SAPParam_ResultCode() - if p.deserialize(buf[4:]) == len(buf[4:]): - self.addParam(p) - return self._validate() - - return False - -class SAPMessage_POWER_SIM_ON_REQ(SAPMessage): - def __init__(self): - SAPMessage.__init__(self,"POWER_SIM_ON_REQ", SAPMessage.POWER_SIM_ON_REQ) - -class SAPMessage_POWER_SIM_ON_RESP(SAPMessage_POWER_SIM_OFF_RESP): - def __init__(self, ResultCode = None): - SAPMessage.__init__(self,"POWER_SIM_ON_RESP", SAPMessage.POWER_SIM_ON_RESP) - if ResultCode is not None: - self.addParam(SAPParam_ResultCode(ResultCode)) - -class SAPMessage_RESET_SIM_REQ(SAPMessage): - def __init__(self): - SAPMessage.__init__(self,"RESET_SIM_REQ", SAPMessage.RESET_SIM_REQ) - -class SAPMessage_RESET_SIM_RESP(SAPMessage_POWER_SIM_OFF_RESP): - def __init__(self, ResultCode = None): - SAPMessage.__init__(self,"RESET_SIM_RESP", SAPMessage.RESET_SIM_RESP) - if ResultCode is not None: - self.addParam(SAPParam_ResultCode(ResultCode)) - -class SAPMessage_STATUS_IND(SAPMessage): - def __init__(self, StatusChange = None): - SAPMessage.__init__(self,"STATUS_IND", SAPMessage.STATUS_IND) - if StatusChange is not None: - self.addParam(SAPParam_StatusChange(StatusChange)) - - def _validate(self): - if len(self.params) == 1: - if self.params[0].getID() == SAPParam.StatusChange: - return True - return False - - def deserialize(self, buf): - self.buf = buf - self.params[:] = [] - if SAPMessage._basicCheck(self, buf): - p = SAPParam_StatusChange() - if p.deserialize(buf[4:]) == len(buf[4:]): - self.addParam(p) - return self._validate() - - return False - -class SAPMessage_TRANSFER_CARD_READER_STATUS_REQ(SAPMessage): - def __init__(self): - SAPMessage.__init__(self,"TRANSFER_CARD_READER_STATUS_REQ", SAPMessage.TRANSFER_CARD_READER_STATUS_REQ) - -class SAPMessage_TRANSFER_CARD_READER_STATUS_RESP(SAPMessage): - def __init__(self, ResultCode = None, Status = None): - SAPMessage.__init__(self,"TRANSFER_CARD_READER_STATUS_RESP", SAPMessage.TRANSFER_CARD_READER_STATUS_RESP) - if ResultCode is not None: - self.addParam(SAPParam_ResultCode(ResultCode)) - if Status is not None: - self.addParam(SAPParam_CardReaderStatus(Status)) - - def _validate(self): - if len(self.params) > 0: - if self.params[0] .getID() == SAPParam.ResultCode: - if self.params[0].getValue() == 0x00: - if len(self.params) == 2: - return True - else: - if len(self.params) == 1: - return True - return False - - def deserialize(self, buf): - self.buf = buf - self.params[:] = [] - - if SAPMessage._basicCheck(self, buf): - p = SAPParam_ResultCode() - r = p.deserialize(buf[4:]) - if r != -1: - self.addParam(p) - if buf[1] == 2: - p = SAPParam_CardReaderStatus() - r = p.deserialize(buf[4+r:]) - if r != -1: - self.addParam(p) - - return self._validate() - - return False - -class SAPMessage_ERROR_RESP(SAPMessage): - def __init__(self): - SAPMessage.__init__(self,"ERROR_RESP", SAPMessage.ERROR_RESP) - - -class SAPMessage_SET_TRANSPORT_PROTOCOL_REQ(SAPMessage): - def __init__(self, protocol = None): - SAPMessage.__init__(self,"SET_TRANSPORT_PROTOCOL_REQ", SAPMessage.SET_TRANSPORT_PROTOCOL_REQ) - if protocol is not None: - self.addParam(SAPParam_TransportProtocol(protocol)) - - def _validate(self): - if len(self.params) == 1: - if self.params[0].getID() == SAPParam.TransportProtocol: - return True - return False - - def deserialize(self, buf): - self.buf = buf - self.params[:] = [] - if SAPMessage._basicCheck(self, buf): - p = SAPParam_TransportProtocol() - if p.deserialize(buf[4:]) == len(buf[4:]): - self.addParam(p) - return self._validate() - - return False - -class SAPMessage_SET_TRANSPORT_PROTOCOL_RESP(SAPMessage_POWER_SIM_OFF_RESP): - def __init__(self, ResultCode = None): - SAPMessage.__init__(self,"SET_TRANSPORT_PROTOCOL_RESP", SAPMessage.SET_TRANSPORT_PROTOCOL_RESP) - if ResultCode is not None: - self.addParam(SAPParam_ResultCode(ResultCode)) - - -class SAPClient: - - CONNECTED = 1 - DISCONNECTED = 0 - - uuid = "0000112D-0000-1000-8000-00805F9B34FB" - bufsize = 1024 - timeout = 20 - state = DISCONNECTED - - def __init__(self, host = None, port = None): - self.sock = None - - if host is None or is_valid_address(host): - self.host = host - else: - raise BluetoothError ("%s is not a valid BT address." % host) - self.host = None - return - - if port is None: - self.__discover() - else: - self.port = port - - self.__connectRFCOMM() - - def __del__(self): - self.__disconnectRFCOMM() - - def __disconnectRFCOMM(self): - if self.sock is not None: - self.sock.close() - self.state = self.DISCONNECTED - - def __discover(self): - service_matches = find_service(self.uuid, self.host) - - if len(service_matches) == 0: - raise BluetoothError ("No SAP service found") - return - - first_match = service_matches[0] - self.port = first_match["port"] - self.host = first_match["host"] - - print "SAP Service found on %s(%s)" % first_match["name"] % self.host - - def __connectRFCOMM(self): - self.sock=BluetoothSocket( RFCOMM ) - self.sock.connect((self.host, self.port)) - self.sock.settimeout(self.timeout) - self.state = self.CONNECTED - - def __sendMsg(self, msg): - if isinstance(msg, SAPMessage): - s = msg.serialize() - print "\tTX: " + msg.getContent() - return self.sock.send(s.tostring()) - - def __rcvMsg(self, msg): - if isinstance(msg, SAPMessage): - print "\tRX Wait: %s(id = 0x%.2x)" % (msg.name, msg.id) - data = self.sock.recv(self.bufsize) - if data: - if msg.deserialize(array('B',data)): - print "\tRX: len(%d) %s" % (len(data), msg.getContent()) - return msg - else: - print "msg: %s" % array('B',data) - raise BluetoothError ("Message deserialization failed.") - else: - raise BluetoothError ("Timeout. No data received.") - - def connect(self): - self.__connectRFCOMM() - - def disconnect(self): - self.__disconnectRFCOMM() - - def isConnected(self): - return self.state - - def proc_connect(self): - try: - self.__sendMsg(SAPMessage_CONNECT_REQ(self.bufsize)) - params = self.__rcvMsg(SAPMessage_CONNECT_RESP()).getParams() - - if params[0].getValue() in (0x00, 0x04): - pass - elif params[0].getValue() == 0x02: - self.bufsize = params[1].getValue() - - self.__sendMsg(SAPMessage_CONNECT_REQ(self.bufsize)) - params = self.__rcvMsg(SAPMessage_CONNECT_RESP()).getParams() - - if params[0].getValue() not in (0x00, 0x04): - return False - else: - return False - - params = self.__rcvMsg(SAPMessage_STATUS_IND()).getParams() - if params[0].getValue() == 0x00: - return False - elif params[0].getValue() == 0x01: - """OK, Card reset""" - return self.proc_transferATR() - elif params[0].getValue() == 0x02: - """T0 not supported""" - if self.proc_transferATR(): - return self.proc_setTransportProtocol(1) - else: - return False - else: - return False - except BluetoothError , e: - print "Error. " +str(e) - return False - - def proc_disconnectByClient(self, timeout=0): - try: - self.__sendMsg(SAPMessage_DISCONNECT_REQ()) - self.__rcvMsg(SAPMessage_DISCONNECT_RESP()) - time.sleep(timeout) # let srv to close rfcomm - self.__disconnectRFCOMM() - return True - except BluetoothError , e: - print "Error. " +str(e) - return False - - def proc_disconnectByServer(self, timeout=0): - try: - params = self.__rcvMsg(SAPMessage_DISCONNECT_IND()).getParams() - - """graceful""" - if params[0].getValue() == 0x00: - if not self.proc_transferAPDU(): - return False - - return self.proc_disconnectByClient(timeout) - - except BluetoothError , e: - print "Error. " +str(e) - return False - - def proc_transferAPDU(self, apdu = "Sample APDU command"): - try: - self.__sendMsg(SAPMessage_TRANSFER_APDU_REQ(apdu)) - params = self.__rcvMsg(SAPMessage_TRANSFER_APDU_RESP()).getParams() - return True - except BluetoothError , e: - print "Error. " +str(e) - return False - - def proc_transferATR(self): - try: - self.__sendMsg(SAPMessage_TRANSFER_ATR_REQ()) - params = self.__rcvMsg(SAPMessage_TRANSFER_ATR_RESP()).getParams() - return True - except BluetoothError , e: - print "Error. " +str(e) - return False - - def proc_powerSimOff(self): - try: - self.__sendMsg(SAPMessage_POWER_SIM_OFF_REQ()) - params = self.__rcvMsg(SAPMessage_POWER_SIM_OFF_RESP()).getParams() - return True - except BluetoothError , e: - print "Error. " +str(e) - return False - - def proc_powerSimOn(self): - try: - self.__sendMsg(SAPMessage_POWER_SIM_ON_REQ()) - params = self.__rcvMsg(SAPMessage_POWER_SIM_ON_RESP()).getParams() - if params[0].getValue() == 0x00: - return self.proc_transferATR() - - return True - except BluetoothError , e: - print "Error. " +str(e) - return False - - def proc_resetSim(self): - try: - self.__sendMsg(SAPMessage_RESET_SIM_REQ()) - params = self.__rcvMsg(SAPMessage_RESET_SIM_RESP()).getParams() - if params[0].getValue() == 0x00: - return self.proc_transferATR() - - return True - except BluetoothError , e: - print "Error. " +str(e) - return False - - def proc_reportStatus(self): - try: - params = self.__rcvMsg(SAPMessage_STATUS_IND()).getParams() - except BluetoothError , e: - print "Error. " +str(e) - return False - - def proc_transferCardReaderStatus(self): - try: - self.__sendMsg(SAPMessage_TRANSFER_CARD_READER_STATUS_REQ()) - params = self.__rcvMsg(SAPMessage_TRANSFER_CARD_READER_STATUS_RESP()).getParams() - except BluetoothError , e: - print "Error. " +str(e) - return False - - def proc_errorResponse(self): - try: - """ send malformed message, no mandatory maxmsgsize parameter""" - self.__sendMsg(SAPMessage_CONNECT_REQ()) - - params = self.__rcvMsg(SAPMessage_ERROR_RESP()).getParams() - except BluetoothError , e: - print "Error. " +str(e) - return False - - def proc_setTransportProtocol(self, protocol = 0): - try: - self.__sendMsg(SAPMessage_SET_TRANSPORT_PROTOCOL_REQ(protocol)) - params = self.__rcvMsg(SAPMessage_SET_TRANSPORT_PROTOCOL_RESP()).getParams() - - if params[0].getValue() == 0x00: - params = self.__rcvMsg(SAPMessage_STATUS_IND()).getParams() - if params[0].getValue() in (0x01, 0x02): - return self.proc_transferATR() - else: - return True - """return False ???""" - elif params[0].getValue == 0x07: - """not supported""" - return True - """return False ???""" - else: - return False - - except BluetoothError , e: - print "Error. " +str(e) - return False - -if __name__ == "__main__": - pass diff --git a/GRIB_BLE_HUB/libs/ble_extend/test/service-did.xml b/GRIB_BLE_HUB/libs/ble_extend/test/service-did.xml deleted file mode 100644 index 52eb68c..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/test/service-did.xml +++ /dev/null @@ -1,33 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/GRIB_BLE_HUB/libs/ble_extend/test/service-ftp.xml b/GRIB_BLE_HUB/libs/ble_extend/test/service-ftp.xml deleted file mode 100644 index 1bda885..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/test/service-ftp.xml +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/GRIB_BLE_HUB/libs/ble_extend/test/service-opp.xml b/GRIB_BLE_HUB/libs/ble_extend/test/service-opp.xml deleted file mode 100644 index 351b4a4..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/test/service-opp.xml +++ /dev/null @@ -1,50 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/GRIB_BLE_HUB/libs/ble_extend/test/service-record.dtd b/GRIB_BLE_HUB/libs/ble_extend/test/service-record.dtd deleted file mode 100644 index f53be5d..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/test/service-record.dtd +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/GRIB_BLE_HUB/libs/ble_extend/test/service-spp.xml b/GRIB_BLE_HUB/libs/ble_extend/test/service-spp.xml deleted file mode 100644 index 2b156c3..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/test/service-spp.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/GRIB_BLE_HUB/libs/ble_extend/test/simple-agent b/GRIB_BLE_HUB/libs/ble_extend/test/simple-agent deleted file mode 100644 index 854e1af..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/test/simple-agent +++ /dev/null @@ -1,181 +0,0 @@ -#!/usr/bin/python - -from __future__ import absolute_import, print_function, unicode_literals - -from gi.repository import GObject - -import sys -import dbus -import dbus.service -import dbus.mainloop.glib -from optparse import OptionParser -import bluezutils - -BUS_NAME = 'org.bluez' -AGENT_INTERFACE = 'org.bluez.Agent1' -AGENT_PATH = "/test/agent" - -bus = None -device_obj = None -dev_path = None - -def ask(prompt): - try: - return raw_input(prompt) - except: - return input(prompt) - -def set_trusted(path): - props = dbus.Interface(bus.get_object("org.bluez", path), - "org.freedesktop.DBus.Properties") - props.Set("org.bluez.Device1", "Trusted", True) - -def dev_connect(path): - dev = dbus.Interface(bus.get_object("org.bluez", path), - "org.bluez.Device1") - dev.Connect() - -class Rejected(dbus.DBusException): - _dbus_error_name = "org.bluez.Error.Rejected" - -class Agent(dbus.service.Object): - exit_on_release = True - - def set_exit_on_release(self, exit_on_release): - self.exit_on_release = exit_on_release - - @dbus.service.method(AGENT_INTERFACE, - in_signature="", out_signature="") - def Release(self): - print("Release") - if self.exit_on_release: - mainloop.quit() - - @dbus.service.method(AGENT_INTERFACE, - in_signature="os", out_signature="") - def AuthorizeService(self, device, uuid): - print("AuthorizeService (%s, %s)" % (device, uuid)) - authorize = ask("Authorize connection (yes/no): ") - if (authorize == "yes"): - return - raise Rejected("Connection rejected by user") - - @dbus.service.method(AGENT_INTERFACE, - in_signature="o", out_signature="s") - def RequestPinCode(self, device): - print("RequestPinCode (%s)" % (device)) - set_trusted(device) - return ask("Enter PIN Code: ") - - @dbus.service.method(AGENT_INTERFACE, - in_signature="o", out_signature="u") - def RequestPasskey(self, device): - print("RequestPasskey (%s)" % (device)) - set_trusted(device) - passkey = ask("Enter passkey: ") - return dbus.UInt32(passkey) - - @dbus.service.method(AGENT_INTERFACE, - in_signature="ouq", out_signature="") - def DisplayPasskey(self, device, passkey, entered): - print("DisplayPasskey (%s, %06u entered %u)" % - (device, passkey, entered)) - - @dbus.service.method(AGENT_INTERFACE, - in_signature="os", out_signature="") - def DisplayPinCode(self, device, pincode): - print("DisplayPinCode (%s, %s)" % (device, pincode)) - - @dbus.service.method(AGENT_INTERFACE, - in_signature="ou", out_signature="") - def RequestConfirmation(self, device, passkey): - print("RequestConfirmation (%s, %06d)" % (device, passkey)) - confirm = ask("Confirm passkey (yes/no): ") - if (confirm == "yes"): - set_trusted(device) - return - raise Rejected("Passkey doesn't match") - - @dbus.service.method(AGENT_INTERFACE, - in_signature="o", out_signature="") - def RequestAuthorization(self, device): - print("RequestAuthorization (%s)" % (device)) - auth = ask("Authorize? (yes/no): ") - if (auth == "yes"): - return - raise Rejected("Pairing rejected") - - @dbus.service.method(AGENT_INTERFACE, - in_signature="", out_signature="") - def Cancel(self): - print("Cancel") - -def pair_reply(): - print("Device paired") - set_trusted(dev_path) - dev_connect(dev_path) - mainloop.quit() - -def pair_error(error): - err_name = error.get_dbus_name() - if err_name == "org.freedesktop.DBus.Error.NoReply" and device_obj: - print("Timed out. Cancelling pairing") - device_obj.CancelPairing() - else: - print("Creating device failed: %s" % (error)) - - - mainloop.quit() - -if __name__ == '__main__': - dbus.mainloop.glib.DBusGMainLoop(set_as_default=True) - - bus = dbus.SystemBus() - - capability = "KeyboardDisplay" - - parser = OptionParser() - parser.add_option("-i", "--adapter", action="store", - type="string", - dest="adapter_pattern", - default=None) - parser.add_option("-c", "--capability", action="store", - type="string", dest="capability") - parser.add_option("-t", "--timeout", action="store", - type="int", dest="timeout", - default=60000) - (options, args) = parser.parse_args() - if options.capability: - capability = options.capability - - path = "/test/agent" - agent = Agent(bus, path) - - mainloop = GObject.MainLoop() - - obj = bus.get_object(BUS_NAME, "/org/bluez"); - manager = dbus.Interface(obj, "org.bluez.AgentManager1") - manager.RegisterAgent(path, capability) - - print("Agent registered") - - # Fix-up old style invocation (BlueZ 4) - if len(args) > 0 and args[0].startswith("hci"): - options.adapter_pattern = args[0] - del args[:1] - - if len(args) > 0: - device = bluezutils.find_device(args[0], - options.adapter_pattern) - dev_path = device.object_path - agent.set_exit_on_release(False) - device.Pair(reply_handler=pair_reply, error_handler=pair_error, - timeout=60000) - device_obj = device - else: - manager.RequestDefaultAgent(path) - - mainloop.run() - - #adapter.UnregisterAgent(path) - #print("Agent unregistered") diff --git a/GRIB_BLE_HUB/libs/ble_extend/test/simple-endpoint b/GRIB_BLE_HUB/libs/ble_extend/test/simple-endpoint deleted file mode 100644 index 590f83a..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/test/simple-endpoint +++ /dev/null @@ -1,135 +0,0 @@ -#!/usr/bin/python - -from __future__ import absolute_import, print_function, unicode_literals - -import sys -import dbus -import dbus.service -import dbus.mainloop.glib -import gobject -import bluezutils - -A2DP_SOURCE_UUID = "0000110A-0000-1000-8000-00805F9B34FB" -A2DP_SINK_UUID = "0000110B-0000-1000-8000-00805F9B34FB" -HFP_AG_UUID = "0000111F-0000-1000-8000-00805F9B34FB" -HFP_HF_UUID = "0000111E-0000-1000-8000-00805F9B34FB" -HSP_AG_UUID = "00001112-0000-1000-8000-00805F9B34FB" - -SBC_CODEC = dbus.Byte(0x00) -#Channel Modes: Mono DualChannel Stereo JointStereo -#Frequencies: 16Khz 32Khz 44.1Khz 48Khz -#Subbands: 4 8 -#Blocks: 4 8 12 16 -#Bitpool Range: 2-64 -SBC_CAPABILITIES = dbus.Array([dbus.Byte(0xff), dbus.Byte(0xff), dbus.Byte(2), dbus.Byte(64)]) -# JointStereo 44.1Khz Subbands: Blocks: 16 Bitpool Range: 2-32 -SBC_CONFIGURATION = dbus.Array([dbus.Byte(0x21), dbus.Byte(0x15), dbus.Byte(2), dbus.Byte(32)]) - -MP3_CODEC = dbus.Byte(0x01) -#Channel Modes: Mono DualChannel Stereo JointStereo -#Frequencies: 32Khz 44.1Khz 48Khz -#CRC: YES -#Layer: 3 -#Bit Rate: All except Free format -#VBR: Yes -#Payload Format: RFC-2250 -MP3_CAPABILITIES = dbus.Array([dbus.Byte(0x3f), dbus.Byte(0x07), dbus.Byte(0xff), dbus.Byte(0xfe)]) -# JointStereo 44.1Khz Layer: 3 Bit Rate: VBR Format: RFC-2250 -MP3_CONFIGURATION = dbus.Array([dbus.Byte(0x21), dbus.Byte(0x02), dbus.Byte(0x00), dbus.Byte(0x80)]) - -PCM_CODEC = dbus.Byte(0x00) -PCM_CONFIGURATION = dbus.Array([], signature="ay") - -CVSD_CODEC = dbus.Byte(0x01) - -class Rejected(dbus.DBusException): - _dbus_error_name = "org.bluez.Error.Rejected" - -class Endpoint(dbus.service.Object): - exit_on_release = True - configuration = SBC_CONFIGURATION - - def set_exit_on_release(self, exit_on_release): - self.exit_on_release = exit_on_release - - def default_configuration(self, configuration): - self.configuration = configuration - - @dbus.service.method("org.bluez.MediaEndpoint1", - in_signature="", out_signature="") - def Release(self): - print("Release") - if self.exit_on_release: - mainloop.quit() - - @dbus.service.method("org.bluez.MediaEndpoint1", - in_signature="", out_signature="") - def ClearConfiguration(self): - print("ClearConfiguration") - - @dbus.service.method("org.bluez.MediaEndpoint1", - in_signature="oay", out_signature="") - def SetConfiguration(self, transport, config): - print("SetConfiguration (%s, %s)" % (transport, config)) - return - - @dbus.service.method("org.bluez.MediaEndpoint1", - in_signature="ay", out_signature="ay") - def SelectConfiguration(self, caps): - print("SelectConfiguration (%s)" % (caps)) - return self.configuration - -if __name__ == '__main__': - dbus.mainloop.glib.DBusGMainLoop(set_as_default=True) - - bus = dbus.SystemBus() - - if len(sys.argv) > 1: - path = bluezutils.find_adapter(sys.argv[1]).object_path - else: - path = bluezutils.find_adapter().object_path - - media = dbus.Interface(bus.get_object("org.bluez", path), - "org.bluez.Media1") - - path = "/test/endpoint" - endpoint = Endpoint(bus, path) - mainloop = gobject.MainLoop() - - properties = dbus.Dictionary({ "UUID" : A2DP_SOURCE_UUID, - "Codec" : SBC_CODEC, - "DelayReporting" : True, - "Capabilities" : SBC_CAPABILITIES }) - - if len(sys.argv) > 2: - if sys.argv[2] == "sbcsink": - properties = dbus.Dictionary({ "UUID" : A2DP_SINK_UUID, - "Codec" : SBC_CODEC, - "DelayReporting" : True, - "Capabilities" : SBC_CAPABILITIES }) - if sys.argv[2] == "mp3source": - properties = dbus.Dictionary({ "UUID" : A2DP_SOURCE_UUID, - "Codec" : MP3_CODEC, - "Capabilities" : MP3_CAPABILITIES }) - endpoint.default_configuration(MP3_CONFIGURATION) - if sys.argv[2] == "mp3sink": - properties = dbus.Dictionary({ "UUID" : A2DP_SINK_UUID, - "Codec" : MP3_CODEC, - "Capabilities" : MP3_CAPABILITIES }) - endpoint.default_configuration(MP3_CONFIGURATION) - if sys.argv[2] == "hfpag" or sys.argv[2] == "hspag": - properties = dbus.Dictionary({ "UUID" : HFP_AG_UUID, - "Codec" : PCM_CODEC, - "Capabilities" : PCM_CONFIGURATION }) - endpoint.default_configuration(dbus.Array([])) - if sys.argv[2] == "hfphf": - properties = dbus.Dictionary({ "UUID" : HFP_HF_UUID, - "Codec" : CVSD_CODEC, - "Capabilities" : PCM_CONFIGURATION }) - endpoint.default_configuration(dbus.Array([])) - - print(properties) - - media.RegisterEndpoint(path, properties) - - mainloop.run() diff --git a/GRIB_BLE_HUB/libs/ble_extend/test/simple-player b/GRIB_BLE_HUB/libs/ble_extend/test/simple-player deleted file mode 100644 index 01bec06..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/test/simple-player +++ /dev/null @@ -1,151 +0,0 @@ -#!/usr/bin/python - -from __future__ import print_function -import os -import sys -import dbus -import dbus.service -import dbus.mainloop.glib -import gobject -import bluezutils - -class Player(dbus.service.Object): - properties = None - metadata = None - - def set_object(self, obj = None): - if obj != None: - bus = dbus.SystemBus() - mp = dbus.Interface(bus.get_object("org.bluez", obj), - "org.bluez.MediaPlayer1") - prop = dbus.Interface(bus.get_object("org.bluez", obj), - "org.freedesktop.DBus.Properties") - - self.properties = prop.GetAll("org.bluez.MediaPlayer1") - - bus.add_signal_receiver(self.properties_changed, - path = obj, - dbus_interface = "org.freedesktop.DBus.Properties", - signal_name = "PropertiesChanged") - else: - track = dbus.Dictionary({ - "xesam:title" : "Title", - "xesam:artist" : "Artist", - "xesam:album" : "Album", - "xesam:genre" : "Genre", - "xesam:trackNumber" : dbus.Int32(1), - "mpris:length" : dbus.Int64(10000) }, - signature="sv") - - self.properties = dbus.Dictionary({ - "PlaybackStatus" : "playing", - "LoopStatus" : "None", - "Rate" : dbus.Double(1.0), - "Shuffle" : dbus.Boolean(False), - "Metadata" : track, - "Volume" : dbus.Double(1.0), - "Position" : dbus.UInt32(0), - "MinimumRate" : dbus.Double(1.0), - "MaximumRate" : dbus.Double(1.0), - "CanGoNext" : dbus.Boolean(False), - "CanGoPrevious" : dbus.Boolean(False), - "CanPlay" : dbus.Boolean(False), - "CanSeek" : dbus.Boolean(False), - "CanControl" : dbus.Boolean(False), - }, - signature="sv") - - handler = InputHandler(self) - gobject.io_add_watch(sys.stdin, gobject.IO_IN, - handler.handle) - - @dbus.service.method("org.freedesktop.DBus.Properties", - in_signature="ssv", out_signature="") - def Set(self, interface, key, value): - print("Set (%s, %s)" % (key, value), file=sys.stderr) - return - - @dbus.service.signal("org.freedesktop.DBus.Properties", - signature="sa{sv}as") - def PropertiesChanged(self, interface, properties, - invalidated = dbus.Array()): - """PropertiesChanged(interface, properties, invalidated) - - Send a PropertiesChanged signal. 'properties' is a dictionary - containing string parameters as specified in doc/media-api.txt. - """ - pass - - def help(self, func): - help(self.__class__.__dict__[func]) - - def properties_changed(self, interface, properties, invalidated): - print("properties_changed(%s, %s)" % (properties, invalidated)) - - self.PropertiesChanged(interface, properties, invalidated) - -class InputHandler: - commands = { 'PropertiesChanged': '(interface, properties)', - 'help': '(cmd)' } - def __init__(self, player): - self.player = player - print('\n\nAvailable commands:') - for cmd in self.commands: - print('\t', cmd, self.commands[cmd], sep='') - - print("\nUse python syntax to pass arguments to available methods.\n" \ - "E.g.: PropertiesChanged({'Metadata' : {'Title': 'My title', \ - 'Album': 'my album' }})") - self.prompt() - - def prompt(self): - print('\n>>> ', end='') - sys.stdout.flush() - - def handle(self, fd, condition): - s = os.read(fd.fileno(), 1024).strip() - try: - cmd = s[:s.find('(')] - if not cmd in self.commands: - print("Unknown command ", cmd) - except ValueError: - print("Malformed command") - return True - - try: - exec "self.player.%s" % s - except Exception as e: - print(e) - pass - self.prompt() - return True - - -if __name__ == '__main__': - dbus.mainloop.glib.DBusGMainLoop(set_as_default=True) - - bus = dbus.SystemBus() - - if len(sys.argv) > 1: - path = bluezutils.find_adapter(sys.argv[1]).object_path - else: - path = bluezutils.find_adapter().object_path - - media = dbus.Interface(bus.get_object("org.bluez", path), - "org.bluez.Media1") - - path = "/test/player" - player = Player(bus, path) - mainloop = gobject.MainLoop() - - if len(sys.argv) > 2: - player.set_object(sys.argv[2]) - else: - player.set_object() - - print('Register media player with:\n\tProperties: %s' \ - % (player.properties)) - - media.RegisterPlayer(dbus.ObjectPath(path), player.properties) - - mainloop.run() diff --git a/GRIB_BLE_HUB/libs/ble_extend/test/simple-service b/GRIB_BLE_HUB/libs/ble_extend/test/simple-service deleted file mode 100644 index 02d7648..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/test/simple-service +++ /dev/null @@ -1,128 +0,0 @@ -#!/usr/bin/python - -from __future__ import absolute_import, print_function, unicode_literals - -import sys -import time -import dbus -import bluezutils - -xml = ' \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ -' - -bus = dbus.SystemBus() - -if len(sys.argv) > 1: - path = bluezutils.find_adapter(sys.argv[1]).object_path -else: - path = bluezutils.find_adapter().object_path - -service = dbus.Interface(bus.get_object("org.bluez", path), - "org.bluez.Service") - -handle = service.AddRecord(xml) - -print("Service record with handle 0x%04x added" % (handle)) - -print("Press CTRL-C to remove service record") - -try: - time.sleep(1000) - print("Terminating session") -except: - pass - -service.RemoveRecord(dbus.UInt32(handle)) diff --git a/GRIB_BLE_HUB/libs/ble_extend/test/test-adapter b/GRIB_BLE_HUB/libs/ble_extend/test/test-adapter deleted file mode 100644 index 5deeda4..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/test/test-adapter +++ /dev/null @@ -1,145 +0,0 @@ -#!/usr/bin/python - -from __future__ import absolute_import, print_function, unicode_literals - -import sys -import dbus -import time -from optparse import OptionParser, make_option -import bluezutils - -bus = dbus.SystemBus() - -option_list = [ - make_option("-i", "--device", action="store", - type="string", dest="dev_id"), - ] -parser = OptionParser(option_list=option_list) - -(options, args) = parser.parse_args() - -adapter_path = bluezutils.find_adapter(options.dev_id).object_path -adapter = dbus.Interface(bus.get_object("org.bluez", adapter_path), - "org.freedesktop.DBus.Properties") - -if (len(args) < 1): - print("Usage: %s " % (sys.argv[0])) - print("") - print(" address") - print(" list") - print(" name") - print(" alias [alias]") - print(" powered [on/off]") - print(" pairable [on/off]") - print(" pairabletimeout [timeout]") - print(" discoverable [on/off]") - print(" discoverabletimeout [timeout]") - print(" discovering") - sys.exit(1) - -if (args[0] == "address"): - addr = adapter.Get("org.bluez.Adapter1", "Address") - print(addr) - sys.exit(0) - -if (args[0] == "name"): - name = adapter.Get("org.bluez.Adapter1", "Name") - print(name) - sys.exit(0) - -if (args[0] == "alias"): - if (len(args) < 2): - alias = adapter.Get("org.bluez.Adapter1", "Alias") - print(alias) - else: - adapter.Set("org.bluez.Adapter1", "Alias", args[1]) - sys.exit(0) - -if (args[0] == "list"): - if (len(args) < 2): - om = dbus.Interface(bus.get_object("org.bluez", "/"), - "org.freedesktop.DBus.ObjectManager") - objects = om.GetManagedObjects() - for path, interfaces in objects.iteritems(): - if "org.bluez.Adapter1" not in interfaces: - continue - - print(" [ %s ]" % (path)) - - props = interfaces["org.bluez.Adapter1"] - - for (key, value) in props.items(): - if (key == "Class"): - print(" %s = 0x%06x" % (key, value)) - else: - print(" %s = %s" % (key, value)) - print() - sys.exit(0) - -if (args[0] == "powered"): - if (len(args) < 2): - powered = adapter.Get("org.bluez.Adapter1", "Powered") - print(powered) - else: - if (args[1] == "on"): - value = dbus.Boolean(1) - elif (args[1] == "off"): - value = dbus.Boolean(0) - else: - value = dbus.Boolean(args[1]) - adapter.Set("org.bluez.Adapter1", "Powered", value) - sys.exit(0) - -if (args[0] == "pairable"): - if (len(args) < 2): - pairable = adapter.Get("org.bluez.Adapter1", "Pairable") - print(pairable) - else: - if (args[1] == "on"): - value = dbus.Boolean(1) - elif (args[1] == "off"): - value = dbus.Boolean(0) - else: - value = dbus.Boolean(args[1]) - adapter.Set("org.bluez.Adapter1", "Pairable", value) - sys.exit(0) - -if (args[0] == "pairabletimeout"): - if (len(args) < 2): - pt = adapter.Get("org.bluez.Adapter1", "PairableTimeout") - print(pt) - else: - timeout = dbus.UInt32(args[1]) - adapter.Set("org.bluez.Adapter1", "PairableTimeout", timeout) - sys.exit(0) - -if (args[0] == "discoverable"): - if (len(args) < 2): - discoverable = adapter.Get("org.bluez.Adapter1", "Discoverable") - print(discoverable) - else: - if (args[1] == "on"): - value = dbus.Boolean(1) - elif (args[1] == "off"): - value = dbus.Boolean(0) - else: - value = dbus.Boolean(args[1]) - adapter.Set("org.bluez.Adapter1", "Discoverable", value) - sys.exit(0) - -if (args[0] == "discoverabletimeout"): - if (len(args) < 2): - dt = adapter.Get("org.bluez.Adapter1", "DiscoverableTimeout") - print(dt) - else: - to = dbus.UInt32(args[1]) - adapter.Set("org.bluez.Adapter1", "DiscoverableTimeout", to) - sys.exit(0) - -if (args[0] == "discovering"): - discovering = adapter.Get("org.bluez.Adapter1", "Discovering") - print(discovering) - sys.exit(0) - -print("Unknown command") -sys.exit(1) diff --git a/GRIB_BLE_HUB/libs/ble_extend/test/test-alert b/GRIB_BLE_HUB/libs/ble_extend/test/test-alert deleted file mode 100644 index 066e537..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/test/test-alert +++ /dev/null @@ -1,180 +0,0 @@ -#!/usr/bin/python -from __future__ import absolute_import, print_function, unicode_literals -import dbus -import dbus.service -import dbus.mainloop.glib -import gobject -import optparse -import sys -import os - -BUS_NAME = 'org.bluez' -ALERT_INTERFACE = 'org.bluez.Alert1' -ALERT_AGENT_INTERFACE = 'org.bluez.AlertAgent1' -BLUEZ_OBJECT_PATH = '/org/bluez' -TEST_OBJECT_PATH = '/org/bluez/test' - -class AlertAgent(dbus.service.Object): - def __init__(self, bus, object_path, alert, mainloop): - dbus.service.Object.__init__(self, bus, object_path) - self.alert = alert - self.mainloop = mainloop - - @dbus.service.method(ALERT_AGENT_INTERFACE, in_signature='', - out_signature='') - def MuteOnce(self): - print('method MuteOnce() was called') - self.alert.NewAlert('ringer', 1, 'not active') - - @dbus.service.method(ALERT_AGENT_INTERFACE, in_signature='s', - out_signature='') - def SetRinger(self, mode): - print('method SetRinger(%s) was called' % mode) - self.alert.NewAlert('ringer', 1, mode) - - @dbus.service.method(ALERT_AGENT_INTERFACE, in_signature='', - out_signature='') - def Release(self): - print('method Release() was called') - self.mainloop.quit() - -def print_command_line(options): - if not options.verbose: - return False - - print('-w: ' + str(options.wait)) - - if options.times: - print('-t: ' + str(options.times)) - - if options.register: - print('-r: ' + options.register) - else: - print('-r: ' + str(None)) - - if options.new_alert: - print('-n:') - for i in options.new_alert: - print(' ' + i[0] + ', ' + i[1] + ', ' + i[2]) - else: - print('-n: ' + str(None)) - - if options.unread_alert: - print('-u:') - for i in options.unread_alert: - print(' ' + i[0] + ', ' + i[1]) - else: - print('-u: ' + str(None)) - - print() - - return True - -def read_count(param): - try: - return int(param) - except ValueError: - print(' must be integer, not \"%s\"' % param) - sys.exit(1) - -def new_alert(alert, params): - if not params: - return False - - for param in params: - category = param[0] - count = read_count(param[1]) - description = param[2] - - alert.NewAlert(category, count, description) - -def unread_alert(alert, params): - if not params: - return False - - for param in params: - category = param[0] - count = read_count(param[1]) - - alert.UnreadAlert(category, count) - -option_list = [ - optparse.make_option('-v', None, - action = 'store_true', - default = False, - dest = 'verbose', - help = 'verbose'), - - optparse.make_option('-w', None, - action = 'store_true', - default = False, - dest = 'wait', - help = 'wait for dbus events'), - - optparse.make_option('-t', None, - action = 'store', - default = 1, - type = "int", - dest = 'times', - help = 'repeat UnreadAlert/NewAlert times', - metavar = ''), - - optparse.make_option('-r', None, - action = 'store', - dest = 'register', - type = 'string', - metavar = '', - help = 'register alert'), - - optparse.make_option('-n', None, - action = 'append', - dest = 'new_alert', - type = 'string', - nargs = 3, - metavar = ' ', - help = 'send new alert'), - - optparse.make_option('-u', None, - action = 'append', - dest = 'unread_alert', - type = 'string', - nargs = 2, - metavar = ' ', - help = 'send unread alert'), -] - -parser = optparse.OptionParser(option_list=option_list) -parser.disable_interspersed_args() -(options, args) = parser.parse_args() - -dbus.mainloop.glib.DBusGMainLoop(set_as_default=True) -bus = dbus.SystemBus() -mainloop = gobject.MainLoop() -alert = dbus.Interface(bus.get_object(BUS_NAME, BLUEZ_OBJECT_PATH), - ALERT_INTERFACE) -alert_agent = AlertAgent(bus, TEST_OBJECT_PATH, alert, mainloop) - -print_command_line(options) - -if not (options.register or options.new_alert or options.unread_alert or - options.wait): - parser.print_usage() - sys.exit(1) - -if options.register: - alert.RegisterAlert(options.register, TEST_OBJECT_PATH) - -times = 0 -while times < options.times: - times += 1 - - new_alert(alert, options.new_alert) - unread_alert(alert, options.unread_alert) - -if not options.wait: - sys.exit(0) - -try: - mainloop.run() -except: - pass diff --git a/GRIB_BLE_HUB/libs/ble_extend/test/test-cyclingspeed b/GRIB_BLE_HUB/libs/ble_extend/test/test-cyclingspeed deleted file mode 100644 index 533120a..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/test/test-cyclingspeed +++ /dev/null @@ -1,194 +0,0 @@ -#!/usr/bin/python - -from __future__ import absolute_import, print_function, unicode_literals - -''' -Cycling Speed and Cadence test script -''' - -import gobject - -import sys -import dbus -import dbus.service -import dbus.mainloop.glib -from optparse import OptionParser, make_option - -BUS_NAME = 'org.bluez' -CYCLINGSPEED_MANAGER_INTERFACE = 'org.bluez.CyclingSpeedManager1' -CYCLINGSPEED_WATCHER_INTERFACE = 'org.bluez.CyclingSpeedWatcher1' -CYCLINGSPEED_INTERFACE = 'org.bluez.CyclingSpeed1' - -class MeasurementQ: - def __init__(self, wrap_v): - self._now = [None, None] - self._prev = [None, None] - self._wrap_v = wrap_v - - def can_calc(self): - return ((self._now[0] is not None) - and (self._now[1] is not None) - and (self._prev[0] is not None) - and (self._prev[1] is not None)) - - def delta_v(self): - delta = self._now[0] - self._prev[0] - if (delta < 0) and (self._wrap_v): - delta = delta + 65536 - return delta - - def delta_t(self): - delta = self._now[1] - self._prev[1] - if delta < 0: - delta = delta + 65536 - return delta - - def put(self, data): - self._prev = self._now - self._now = data - -class Watcher(dbus.service.Object): - _wheel = MeasurementQ(False) - _crank = MeasurementQ(True) - _circumference = None - - def enable_calc(self, v): - self._circumference = v - - @dbus.service.method(CYCLINGSPEED_WATCHER_INTERFACE, - in_signature="oa{sv}", out_signature="") - def MeasurementReceived(self, device, measure): - print("Measurement received from %s" % device) - - rev = None - evt = None - if "WheelRevolutions" in measure: - rev = measure["WheelRevolutions"] - print("WheelRevolutions: ", measure["WheelRevolutions"]) - if "LastWheelEventTime" in measure: - evt = measure["LastWheelEventTime"] - print("LastWheelEventTime: ", measure["LastWheelEventTime"]) - self._wheel.put( [rev, evt] ) - - rev = None - evt = None - if "CrankRevolutions" in measure: - rev = measure["CrankRevolutions"] - print("CrankRevolutions: ", measure["CrankRevolutions"]) - if "LastCrankEventTime" in measure: - evt = measure["LastCrankEventTime"] - print("LastCrankEventTime: ", measure["LastCrankEventTime"]) - self._crank.put( [rev, evt] ) - - if self._circumference is None: - return - - if self._wheel.can_calc(): - delta_v = self._wheel.delta_v() - delta_t = self._wheel.delta_t() - - if (delta_v >= 0) and (delta_t > 0): - speed = delta_v * self._circumference * 1024 / delta_t # mm/s - speed = speed * 0.0036 # mm/s -> km/h - print("(calculated) Speed: %.2f km/h" % speed) - - if self._crank.can_calc(): - delta_v = self._crank.delta_v() - delta_t = self._crank.delta_t() - - if delta_t > 0: - cadence = delta_v * 1024 / delta_t - print("(calculated) Cadence: %d rpm" % cadence) - -def properties_changed(interface, changed, invalidated): - if "Location" in changed: - print("Sensor location: %s" % changed["Location"]) - -if __name__ == "__main__": - dbus.mainloop.glib.DBusGMainLoop(set_as_default=True) - - bus = dbus.SystemBus() - - option_list = [ - make_option("-i", "--adapter", action="store", - type="string", dest="adapter"), - make_option("-b", "--device", action="store", - type="string", dest="address"), - make_option("-c", "--circumference", action="store", - type="int", dest="circumference"), - ] - - parser = OptionParser(option_list=option_list) - - (options, args) = parser.parse_args() - - if not options.address: - print("Usage: %s [-i ] -b [-c ] [cmd]" % (sys.argv[0])) - print("Possible commands:") - print("\tShowSupportedLocations") - print("\tSetLocation ") - print("\tSetCumulativeWheelRevolutions ") - sys.exit(1) - - managed_objects = bluezutils.get_managed_objects() - adapter = bluezutils.find_adapter_in_objects(managed_objects, - options.adapter) - adapter_path = adapter.object_path - - device = bluezutils.find_device_in_objects(managed_objects, - options.address, - options.adapter) - device_path = device.object_path - - cscmanager = dbus.Interface(bus.get_object(BUS_NAME, adapter_path), - CYCLINGSPEED_WATCHER_INTERFACE) - - watcher_path = "/test/watcher" - watcher = Watcher(bus, watcher_path) - if options.circumference: - watcher.enable_calc(options.circumference) - cscmanager.RegisterWatcher(watcher_path) - - csc = dbus.Interface(bus.get_object(BUS_NAME, device_path), - CYCLINGSPEED_INTERFACE) - - bus.add_signal_receiver(properties_changed, bus_name=BUS_NAME, - path=device_path, - dbus_interface="org.freedesktop.DBus.Properties", - signal_name="PropertiesChanged") - - device_prop = dbus.Interface(bus.get_object(BUS_NAME, device_path), - "org.freedesktop.DBus.Properties") - - properties = device_prop.GetAll(CYCLINGSPEED_INTERFACE) - - if "Location" in properties: - print("Sensor location: %s" % properties["Location"]) - else: - print("Sensor location is not supported") - - if len(args) > 0: - if args[0] == "ShowSupportedLocations": - if properties["MultipleSensorLocationsSupported"]: - print("Supported locations: ", properties["SupportedLocations"]) - else: - print("Multiple sensor locations not supported") - - elif args[0] == "SetLocation": - if properties["MultipleSensorLocationsSupported"]: - device_prop.Set(CYCLINGSPEED_INTERFACE, "Location", args[1]) - else: - print("Multiple sensor locations not supported") - - elif args[0] == "SetCumulativeWheelRevolutions": - if properties["WheelRevolutionDataSupported"]: - csc.SetCumulativeWheelRevolutions(dbus.UInt32(args[1])) - else: - print("Wheel revolution data not supported") - - else: - print("Unknown command") - sys.exit(1) - - mainloop = gobject.MainLoop() - mainloop.run() diff --git a/GRIB_BLE_HUB/libs/ble_extend/test/test-device b/GRIB_BLE_HUB/libs/ble_extend/test/test-device deleted file mode 100644 index 3d7b852..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/test/test-device +++ /dev/null @@ -1,200 +0,0 @@ -#!/usr/bin/python - -from __future__ import absolute_import, print_function, unicode_literals - -from gi.repository import GObject - -import sys -import dbus -import dbus.mainloop.glib -import re -from optparse import OptionParser, make_option -import bluezutils - -dbus.mainloop.glib.DBusGMainLoop(set_as_default=True) -bus = dbus.SystemBus() -mainloop = GObject.MainLoop() - -option_list = [ - make_option("-i", "--device", action="store", - type="string", dest="dev_id"), - ] -parser = OptionParser(option_list=option_list) - -(options, args) = parser.parse_args() - -if (len(args) < 1): - print("Usage: %s " % (sys.argv[0])) - print("") - print(" list") - print(" create
") - print(" remove ") - print(" connect
[profile]") - print(" disconnect
[profile]") - print(" class
") - print(" name
") - print(" alias
[alias]") - print(" trusted
[yes/no]") - print(" blocked
[yes/no]") - sys.exit(1) - -if (args[0] == "list"): - adapter = bluezutils.find_adapter(options.dev_id) - adapter_path = adapter.object_path - - om = dbus.Interface(bus.get_object("org.bluez", "/"), - "org.freedesktop.DBus.ObjectManager") - objects = om.GetManagedObjects() - - for path, interfaces in objects.iteritems(): - if "org.bluez.Device1" not in interfaces: - continue - properties = interfaces["org.bluez.Device1"] - if properties["Adapter"] != adapter_path: - continue; - print("%s %s" % (properties["Address"], properties["Alias"])) - - sys.exit(0) - -def create_device_reply(device): - print("New device (%s)" % device) - mainloop.quit() - sys.exit(0) - -def create_device_error(error): - print("Creating device failed: %s" % error) - mainloop.quit() - sys.exit(1) - -if (args[0] == "create"): - if (len(args) < 2): - print("Need address parameter") - else: - adapter = bluezutils.find_adapter(options.dev_id) - adapter.CreateDevice(args[1], - reply_handler=create_device_reply, - error_handler=create_device_error) - mainloop.run() - -if (args[0] == "remove"): - if (len(args) < 2): - print("Need address or object path parameter") - else: - managed_objects = bluezutils.get_managed_objects() - adapter = bluezutils.find_adapter_in_objects(managed_objects, - options.dev_id) - try: - dev = bluezutils.find_device_in_objects(managed_objects, - args[1], - options.dev_id) - path = dev.object_path - except: - path = args[1] - adapter.RemoveDevice(path) - sys.exit(0) - -if (args[0] == "connect"): - if (len(args) < 2): - print("Need address parameter") - else: - device = bluezutils.find_device(args[1], options.dev_id) - if (len(args) > 2): - device.ConnectProfile(args[2]) - else: - device.Connect() - sys.exit(0) - -if (args[0] == "disconnect"): - if (len(args) < 2): - print("Need address parameter") - else: - device = bluezutils.find_device(args[1], options.dev_id) - if (len(args) > 2): - device.DisconnectProfile(args[2]) - else: - device.Disconnect() - sys.exit(0) - -if (args[0] == "class"): - if (len(args) < 2): - print("Need address parameter") - else: - device = bluezutils.find_device(args[1], options.dev_id) - path = device.object_path - props = dbus.Interface(bus.get_object("org.bluez", path), - "org.freedesktop.DBus.Properties") - cls = props.Get("org.bluez.Device1", "Class") - print("0x%06x" % cls) - sys.exit(0) - -if (args[0] == "name"): - if (len(args) < 2): - print("Need address parameter") - else: - device = bluezutils.find_device(args[1], options.dev_id) - path = device.object_path - props = dbus.Interface(bus.get_object("org.bluez", path), - "org.freedesktop.DBus.Properties") - name = props.Get("org.bluez.Device1", "Name") - print(name) - sys.exit(0) - -if (args[0] == "alias"): - if (len(args) < 2): - print("Need address parameter") - else: - device = bluezutils.find_device(args[1], options.dev_id) - path = device.object_path - props = dbus.Interface(bus.get_object("org.bluez", path), - "org.freedesktop.DBus.Properties") - if (len(args) < 3): - alias = props.Get("org.bluez.Device1", "Alias") - print(alias) - else: - props.Set("org.bluez.Device1", "Alias", args[2]) - sys.exit(0) - -if (args[0] == "trusted"): - if (len(args) < 2): - print("Need address parameter") - else: - device = bluezutils.find_device(args[1], options.dev_id) - path = device.object_path - props = dbus.Interface(bus.get_object("org.bluez", path), - "org.freedesktop.DBus.Properties") - if (len(args) < 3): - trusted = props.Get("org.bluez.Device1", "Trusted") - print(trusted) - else: - if (args[2] == "yes"): - value = dbus.Boolean(1) - elif (args[2] == "no"): - value = dbus.Boolean(0) - else: - value = dbus.Boolean(args[2]) - props.Set("org.bluez.Device1", "Trusted", value) - sys.exit(0) - -if (args[0] == "blocked"): - if (len(args) < 2): - print("Need address parameter") - else: - device = bluezutils.find_device(args[1], options.dev_id) - path = device.object_path - props = dbus.Interface(bus.get_object("org.bluez", path), - "org.freedesktop.DBus.Properties") - if (len(args) < 3): - blocked = props.Get("org.bluez.Device1", "Blocked") - print(blocked) - else: - if (args[2] == "yes"): - value = dbus.Boolean(1) - elif (args[2] == "no"): - value = dbus.Boolean(0) - else: - value = dbus.Boolean(args[2]) - props.Set("org.bluez.Device1", "Blocked", value) - sys.exit(0) - -print("Unknown command") -sys.exit(1) diff --git a/GRIB_BLE_HUB/libs/ble_extend/test/test-discovery b/GRIB_BLE_HUB/libs/ble_extend/test/test-discovery deleted file mode 100644 index c13bfac..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/test/test-discovery +++ /dev/null @@ -1,156 +0,0 @@ -#!/usr/bin/python - -from __future__ import absolute_import, print_function, unicode_literals - -from gi.repository import GObject - -import dbus -import dbus.mainloop.glib -from optparse import OptionParser, make_option -import bluezutils - -compact = False -devices = {} - -def print_compact(address, properties): - name = "" - address = "" - - for key, value in properties.iteritems(): - if type(value) is dbus.String: - value = unicode(value).encode('ascii', 'replace') - if (key == "Name"): - name = value - elif (key == "Address"): - address = value - - if "Logged" in properties: - flag = "*" - else: - flag = " " - - print("%s%s %s" % (flag, address, name)) - - properties["Logged"] = True - -def print_normal(address, properties): - print("[ " + address + " ]") - - for key in properties.keys(): - value = properties[key] - if type(value) is dbus.String: - value = unicode(value).encode('ascii', 'replace') - if (key == "Class"): - print(" %s = 0x%06x" % (key, value)) - else: - print(" %s = %s" % (key, value)) - - print() - - properties["Logged"] = True - -def skip_dev(old_dev, new_dev): - if not "Logged" in old_dev: - return False - if "Name" in old_dev: - return True - if not "Name" in new_dev: - return True - return False - -def interfaces_added(path, interfaces): - properties = interfaces["org.bluez.Device1"] - if not properties: - return - - if path in devices: - dev = devices[path] - - if compact and skip_dev(dev, properties): - return - devices[path] = dict(devices[path].items() + properties.items()) - else: - devices[path] = properties - - if "Address" in devices[path]: - address = properties["Address"] - else: - address = "" - - if compact: - print_compact(address, devices[path]) - else: - print_normal(address, devices[path]) - -def properties_changed(interface, changed, invalidated, path): - if interface != "org.bluez.Device1": - return - - if path in devices: - dev = devices[path] - - if compact and skip_dev(dev, changed): - return - devices[path] = dict(devices[path].items() + changed.items()) - else: - devices[path] = changed - - if "Address" in devices[path]: - address = devices[path]["Address"] - else: - address = "" - - if compact: - print_compact(address, devices[path]) - else: - print_normal(address, devices[path]) - -def property_changed(name, value): - if (name == "Discovering" and not value): - mainloop.quit() - -if __name__ == '__main__': - dbus.mainloop.glib.DBusGMainLoop(set_as_default=True) - - bus = dbus.SystemBus() - - option_list = [ - make_option("-i", "--device", action="store", - type="string", dest="dev_id"), - make_option("-c", "--compact", - action="store_true", dest="compact"), - ] - parser = OptionParser(option_list=option_list) - - (options, args) = parser.parse_args() - - adapter = bluezutils.find_adapter(options.dev_id) - - if options.compact: - compact = True; - - bus.add_signal_receiver(interfaces_added, - dbus_interface = "org.freedesktop.DBus.ObjectManager", - signal_name = "InterfacesAdded") - - bus.add_signal_receiver(properties_changed, - dbus_interface = "org.freedesktop.DBus.Properties", - signal_name = "PropertiesChanged", - arg0 = "org.bluez.Device1", - path_keyword = "path") - - bus.add_signal_receiver(property_changed, - dbus_interface = "org.bluez.Adapter1", - signal_name = "PropertyChanged") - - om = dbus.Interface(bus.get_object("org.bluez", "/"), - "org.freedesktop.DBus.ObjectManager") - objects = om.GetManagedObjects() - for path, interfaces in objects.iteritems(): - if "org.bluez.Device1" in interfaces: - devices[path] = interfaces["org.bluez.Device1"] - - adapter.StartDiscovery() - - mainloop = GObject.MainLoop() - mainloop.run() diff --git a/GRIB_BLE_HUB/libs/ble_extend/test/test-health b/GRIB_BLE_HUB/libs/ble_extend/test/test-health deleted file mode 100644 index 052a602..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/test/test-health +++ /dev/null @@ -1,229 +0,0 @@ -#!/usr/bin/python - -from __future__ import absolute_import, print_function, unicode_literals -# -*- coding: utf-8 -*- - -import dbus -import dbus.service -import gobject -from dbus.mainloop.glib import DBusGMainLoop -import sys - -BUS_NAME = 'org.bluez' -PATH = '/org/bluez' -ADAPTER_INTERFACE = 'org.bluez.Adapter1' -HEALTH_MANAGER_INTERFACE = 'org.bluez.HealthManager1' -HEALTH_DEVICE_INTERFACE = 'org.bluez.HealthDevice1' - -DBusGMainLoop(set_as_default=True) -loop = gobject.MainLoop() - -bus = dbus.SystemBus() - -def sig_received(*args, **kwargs): - if "member" not in kwargs: - return - if "path" not in kwargs: - return; - sig_name = kwargs["member"] - path = kwargs["path"] - print(sig_name) - print(path) - if sig_name == "PropertyChanged": - k, v = args - print(k) - print(v) - else: - ob = args[0] - print(ob) - - -def enter_mainloop(): - bus.add_signal_receiver(sig_received, bus_name=BUS_NAME, - dbus_interface=HEALTH_DEVICE_INTERFACE, - path_keyword="path", - member_keyword="member", - interface_keyword="interface") - - try: - print("Entering main lopp, push Ctrl+C for finish") - - mainloop = gobject.MainLoop() - mainloop.run() - except KeyboardInterrupt: - pass - finally: - print("Exiting, bye") - -hdp_manager = dbus.Interface(bus.get_object(BUS_NAME, PATH), - HEALTH_MANAGER_INTERFACE) - -role = None -while role == None: - print("Select 1. source or 2. sink: ",) - try: - sel = int(sys.stdin.readline()) - if sel == 1: - role = "source" - elif sel == 2: - role = "sink" - else: - raise ValueError - except (TypeError, ValueError): - print("Wrong selection, try again: ",) - except KeyboardInterrupt: - sys.exit() - -dtype = None -while dtype == None: - print("Select a data type: ",) - try: - sel = int(sys.stdin.readline()) - if (sel < 0) or (sel > 65535): - raise ValueError - dtype = sel; - except (TypeError, ValueError): - print("Wrong selection, try again: ",) - except KeyboardInterrupt: - sys.exit() - -pref = None -if role == "source": - while pref == None: - try: - print("Select a preferred data channel type 1.",) - print("reliable 2. streaming: ",) - sel = int(sys.stdin.readline()) - if sel == 1: - pref = "reliable" - elif sel == 2: - pref = "streaming" - else: - raise ValueError - - except (TypeError, ValueError): - print("Wrong selection, try again") - except KeyboardInterrupt: - sys.exit() - - app_path = hdp_manager.CreateApplication({ - "DataType": dbus.types.UInt16(dtype), - "Role": role, - "Description": "Test Source", - "ChannelType": pref}) -else: - app_path = hdp_manager.CreateApplication({ - "DataType": dbus.types.UInt16(dtype), - "Description": "Test sink", - "Role": role}) - -print("New application created:", app_path) - -con = None -while con == None: - try: - print("Connect to a remote device (y/n)? ",) - sel = sys.stdin.readline() - if sel in ("y\n", "yes\n", "Y\n", "YES\n"): - con = True - elif sel in ("n\n", "no\n", "N\n", "NO\n"): - con = False - else: - print("Wrong selection, try again.") - except KeyboardInterrupt: - sys.exit() - -if not con: - enter_mainloop() - sys.exit() - -manager = dbus.Interface(bus.get_object(BUS_NAME, "/"), - "org.freedesktop.DBus.ObjectManager") - -objects = manager.GetManagedObjects() -adapters = [] - -for path, ifaces in objects.iteritems(): - if ifaces.has_key(ADAPTER_INTERFACE): - adapters.append(path) - -i = 1 -for ad in adapters: - print("%d. %s" % (i, ad)) - i = i + 1 - -print("Select an adapter: ",) -select = None -while select == None: - try: - pos = int(sys.stdin.readline()) - 1 - if pos < 0: - raise TypeError - select = adapters[pos] - except (TypeError, IndexError, ValueError): - print("Wrong selection, try again: ",) - except KeyboardInterrupt: - sys.exit() - -adapter = dbus.Interface(bus.get_object(BUS_NAME, select), ADAPTER_INTERFACE) - -devices = adapter.GetProperties()["Devices"] - -if len(devices) == 0: - print("No devices available") - sys.exit() - -i = 1 -for dev in devices: - print("%d. %s" % (i, dev)) - i = i + 1 - -print("Select a device: ",) -select = None -while select == None: - try: - pos = int(sys.stdin.readline()) - 1 - if pos < 0: - raise TypeError - select = devices[pos] - except (TypeError, IndexError, ValueError): - print("Wrong selection, try again: ",) - except KeyboardInterrupt: - sys.exit() - -device = dbus.Interface(bus.get_object(BUS_NAME, select), - HEALTH_DEVICE_INTERFACE) - -echo = None -while echo == None: - try: - print("Perform an echo (y/n)? ",) - sel = sys.stdin.readline() - if sel in ("y\n", "yes\n", "Y\n", "YES\n"): - echo = True - elif sel in ("n\n", "no\n", "N\n", "NO\n"): - echo = False - else: - print("Wrong selection, try again.") - except KeyboardInterrupt: - sys.exit() - -if echo: - if device.Echo(): - print("Echo was ok") - else: - print("Echo war wrong, exiting") - sys.exit() - -print("Connecting to device %s" % (select)) - -if role == "source": - chan = device.CreateChannel(app_path, "reliable") -else: - chan = device.CreateChannel(app_path, "any") - -print(chan) - -enter_mainloop() - -hdp_manager.DestroyApplication(app_path) diff --git a/GRIB_BLE_HUB/libs/ble_extend/test/test-health-sink b/GRIB_BLE_HUB/libs/ble_extend/test/test-health-sink deleted file mode 100644 index 32afd71..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/test/test-health-sink +++ /dev/null @@ -1,96 +0,0 @@ -#!/usr/bin/python - -from __future__ import absolute_import, print_function, unicode_literals -# -*- coding: utf-8 -*- - -import dbus -import dbus.service -import gobject -from dbus.mainloop.glib import DBusGMainLoop -import sys - -BUS_NAME = 'org.bluez' -PATH = '/org/bluez' -ADAPTER_INTERFACE = 'org.bluez.Adapter1' -HEALTH_MANAGER_INTERFACE = 'org.bluez.HealthManager1' -HEALTH_DEVICE_INTERFACE = 'org.bluez.HealthDevice1' - -DBusGMainLoop(set_as_default=True) -loop = gobject.MainLoop() - -bus = dbus.SystemBus() - -hdp_manager = dbus.Interface(bus.get_object(BUS_NAME, PATH), - HEALTH_MANAGER_INTERFACE) -app_path = hdp_manager.CreateApplication({"DataType": dbus.types.UInt16(4103), - "Role": "sink"}) - -print(app_path) - -manager = dbus.Interface(bus.get_object(BUS_NAME, "/"), - "org.freedesktop.DBus.ObjectManager") - -objects = manager.GetManagedObjects() -adapters = [] - -for path, ifaces in objects.iteritems(): - if ifaces.has_key(ADAPTER_INTERFACE): - adapters.append(path) - -i = 1 -for ad in adapters: - print("%d. %s" % (i, ad)) - i = i + 1 - -print("Select an adapter: ",) -select = None -while select == None: - try: - pos = int(sys.stdin.readline()) - 1 - if pos < 0: - raise TypeError - select = adapters[pos] - except (TypeError, IndexError, ValueError): - print("Wrong selection, try again: ",) - except KeyboardInterrupt: - sys.exit() - -adapter = dbus.Interface(bus.get_object(BUS_NAME, select), - ADAPTER_INTERFACE) - -devices = adapter.GetProperties()["Devices"] - -if len(devices) == 0: - print("No devices available") - sys.exit() - -i = 1 -for dev in devices: - print("%d. %s" % (i, dev)) - i = i + 1 - -print("Select a device: ",) -select = None -while select == None: - try: - pos = int(sys.stdin.readline()) - 1 - if pos < 0: - raise TypeError - select = devices[pos] - except (TypeError, IndexError, ValueError): - print("Wrong selection, try again: ",) - except KeyboardInterrupt: - sys.exit() - -print("Connecting to %s" % (select)) -device = dbus.Interface(bus.get_object(BUS_NAME, select), - HEALTH_DEVICE_INTERFACE) - -chan = device.CreateChannel(app_path, "Any") - -print(chan) - -print("Push Enter for finishing") -sys.stdin.readline() - -hdp_manager.DestroyApplication(app_path) diff --git a/GRIB_BLE_HUB/libs/ble_extend/test/test-heartrate b/GRIB_BLE_HUB/libs/ble_extend/test/test-heartrate deleted file mode 100644 index f26b3db..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/test/test-heartrate +++ /dev/null @@ -1,106 +0,0 @@ -#!/usr/bin/python - -from __future__ import absolute_import, print_function, unicode_literals - -''' -Heart Rate Monitor test script -''' - -import gobject - -import sys -import dbus -import dbus.service -import dbus.mainloop.glib -from optparse import OptionParser, make_option -import bluezutils - -BUS_NAME = 'org.bluez' -HEARTRATE_MANAGER_INTERFACE = 'org.bluez.HeartRateManager1' -HEARTRATE_WATCHER_INTERFACE = 'org.bluez.HeartRateWatcher1' -HEARTRATE_INTERFACE = 'org.bluez.HeartRate1' - -class Watcher(dbus.service.Object): - @dbus.service.method(HEARTRATE_WATCHER_INTERFACE, - in_signature="oa{sv}", out_signature="") - def MeasurementReceived(self, device, measure): - print("Measurement received from %s" % device) - print("Value: ", measure["Value"]) - - if "Energy" in measure: - print("Energy: ", measure["Energy"]) - - if "Contact" in measure: - print("Contact: ", measure["Contact"]) - - if "Interval" in measure: - for i in measure["Interval"]: - print("Interval: ", i) - -if __name__ == "__main__": - dbus.mainloop.glib.DBusGMainLoop(set_as_default=True) - - bus = dbus.SystemBus() - - option_list = [ - make_option("-i", "--adapter", action="store", - type="string", dest="adapter"), - make_option("-b", "--device", action="store", - type="string", dest="address"), - ] - - parser = OptionParser(option_list=option_list) - - (options, args) = parser.parse_args() - - if not options.address: - print("Usage: %s [-i ] -b [cmd]" % (sys.argv[0])) - print("Possible commands:") - print("\tReset") - sys.exit(1) - - managed_objects = bluezutils.get_managed_objects() - adapter = bluezutils.find_adapter_in_objects(managed_objects, - options.adapter) - adapter_path = adapter.object_path - - heartrateManager = dbus.Interface(bus.get_object(BUS_NAME, - adapter_path), HEARTRATE_MANAGER_INTERFACE) - - path = "/test/watcher" - heartrateManager.RegisterWatcher(path) - - device = bluezutils.find_device_in_objects(managed_objects, - options.address, - options.adapter) - device_path = device.object_path - - heartrate = dbus.Interface(bus.get_object(BUS_NAME, device_path), - HEARTRATE_INTERFACE) - - watcher = Watcher(bus, path) - - dev_prop = dbus.Interface(bus.get_object(BUS_NAME, device_path), - "org.freedesktop.DBus.Properties") - - properties = dev_prop.GetAll(HEARTRATE_INTERFACE) - - if "Location" in properties: - print("Sensor location: %s" % properties["Location"]) - else: - print("Sensor location is not supported") - - if len(args) > 0: - if args[0] == "Reset": - reset_sup = properties["ResetSupported"] - if reset_sup: - heartrate.Reset() - else: - print("Reset not supported") - sys.exit(1) - else: - print("unknown command") - sys.exit(1) - - mainloop = gobject.MainLoop() - mainloop.run() diff --git a/GRIB_BLE_HUB/libs/ble_extend/test/test-hfp b/GRIB_BLE_HUB/libs/ble_extend/test/test-hfp deleted file mode 100644 index 38da076..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/test/test-hfp +++ /dev/null @@ -1,246 +0,0 @@ -#!/usr/bin/python - -from __future__ import absolute_import, print_function, unicode_literals - -from gi.repository import GObject - -import os -import sys -import dbus -import glib -import dbus.service -import dbus.mainloop.glib -from optparse import OptionParser, make_option -from socket import SOCK_SEQPACKET, socket - -mainloop = None -audio_supported = True - -try: - from socket import AF_BLUETOOTH, BTPROTO_SCO -except: - print("WARNING: python compiled without Bluetooth support" - " - audio will not be available") - audio_supported = False - -BUF_SIZE = 1024 - -BDADDR_ANY = '00:00:00:00:00:00' - -HF_NREC = 0x0001 -HF_3WAY = 0x0002 -HF_CLI = 0x0004 -HF_VOICE_RECOGNITION = 0x0008 -HF_REMOTE_VOL = 0x0010 -HF_ENHANCED_STATUS = 0x0020 -HF_ENHANCED_CONTROL = 0x0040 -HF_CODEC_NEGOTIATION = 0x0080 - -AG_3WAY = 0x0001 -AG_NREC = 0x0002 -AG_VOICE_RECOGNITION = 0x0004 -AG_INBAND_RING = 0x0008 -AG_VOICE_TAG = 0x0010 -AG_REJECT_CALL = 0x0020 -AG_ENHANCED_STATUS = 0x0040 -AG_ENHANCED_CONTROL = 0x0080 -AG_EXTENDED_RESULT = 0x0100 -AG_CODEC_NEGOTIATION = 0x0200 - -HF_FEATURES = (HF_3WAY | HF_CLI | HF_VOICE_RECOGNITION | - HF_REMOTE_VOL | HF_ENHANCED_STATUS | - HF_ENHANCED_CONTROL | HF_CODEC_NEGOTIATION) - -AVAIL_CODECS = "1,2" - -class HfpConnection: - slc_complete = False - fd = None - io_id = 0 - version = 0 - features = 0 - pending = None - - def disconnect(self): - if (self.fd >= 0): - os.close(self.fd) - self.fd = -1 - glib.source_remove(self.io_id) - self.io_id = 0 - - def slc_completed(self): - print("SLC establisment complete") - self.slc_complete = True - - def slc_next_cmd(self, cmd): - if not cmd: - self.send_cmd("AT+BRSF=%u" % (HF_FEATURES)) - elif (cmd.startswith("AT+BRSF")): - if (self.features & AG_CODEC_NEGOTIATION and - HF_FEATURES & HF_CODEC_NEGOTIATION): - self.send_cmd("AT+BAC=%s" % (AVAIL_CODECS)) - else: - self.send_cmd("AT+CIND=?") - elif (cmd.startswith("AT+BAC")): - self.send_cmd("AT+CIND=?") - elif (cmd.startswith("AT+CIND=?")): - self.send_cmd("AT+CIND?") - elif (cmd.startswith("AT+CIND?")): - self.send_cmd("AT+CMER=3,0,0,1") - elif (cmd.startswith("AT+CMER=")): - if (HF_FEATURES & HF_3WAY and self.features & AG_3WAY): - self.send_cmd("AT+CHLD=?") - else: - self.slc_completed() - elif (cmd.startswith("AT+CHLD=?")): - self.slc_completed() - else: - print("Unknown SLC command completed: %s" % (cmd)) - - def io_cb(self, fd, cond): - buf = os.read(fd, BUF_SIZE) - buf = buf.strip() - - print("Received: %s" % (buf)) - - if (buf == "OK" or buf == "ERROR"): - cmd = self.pending - self.pending = None - - if (not self.slc_complete): - self.slc_next_cmd(cmd) - - return True - - parts = buf.split(':') - - if (parts[0] == "+BRSF"): - self.features = int(parts[1]) - - return True - - def send_cmd(self, cmd): - if (self.pending): - print("ERROR: Another command is pending") - return - - print("Sending: %s" % (cmd)) - - os.write(self.fd, cmd + "\r\n") - self.pending = cmd - - def __init__(self, fd, version, features): - self.fd = fd - self.version = version - self.features = features - - print("Version 0x%04x Features 0x%04x" % (version, features)) - - self.io_id = glib.io_add_watch(fd, glib.IO_IN, self.io_cb) - - self.slc_next_cmd(None) - -class HfpProfile(dbus.service.Object): - sco_socket = None - io_id = 0 - conns = {} - - def sco_cb(self, sock, cond): - (sco, peer) = sock.accept() - print("New SCO connection from %s" % (peer)) - - def init_sco(self, sock): - self.sco_socket = sock - self.io_id = glib.io_add_watch(sock, glib.IO_IN, self.sco_cb) - - def __init__(self, bus, path, sco): - dbus.service.Object.__init__(self, bus, path) - - if sco: - self.init_sco(sco) - - @dbus.service.method("org.bluez.Profile1", - in_signature="", out_signature="") - def Release(self): - print("Release") - mainloop.quit() - - @dbus.service.method("org.bluez.Profile1", - in_signature="", out_signature="") - def Cancel(self): - print("Cancel") - - @dbus.service.method("org.bluez.Profile1", - in_signature="o", out_signature="") - def RequestDisconnection(self, path): - conn = self.conns.pop(path) - conn.disconnect() - - @dbus.service.method("org.bluez.Profile1", - in_signature="oha{sv}", out_signature="") - def NewConnection(self, path, fd, properties): - fd = fd.take() - version = 0x0105 - features = 0 - print("NewConnection(%s, %d)" % (path, fd)) - for key in properties.keys(): - if key == "Version": - version = properties[key] - elif key == "Features": - features = properties[key] - - conn = HfpConnection(fd, version, features) - - self.conns[path] = conn - -if __name__ == '__main__': - dbus.mainloop.glib.DBusGMainLoop(set_as_default=True) - - bus = dbus.SystemBus() - - manager = dbus.Interface(bus.get_object("org.bluez", - "/org/bluez"), "org.bluez.ProfileManager1") - - option_list = [ - make_option("-p", "--path", action="store", - type="string", dest="path", - default="/bluez/test/hfp"), - make_option("-n", "--name", action="store", - type="string", dest="name", - default=None), - make_option("-C", "--channel", action="store", - type="int", dest="channel", - default=None), - ] - - parser = OptionParser(option_list=option_list) - - (options, args) = parser.parse_args() - - mainloop = GObject.MainLoop() - - opts = { - "Version" : dbus.UInt16(0x0106), - "Features" : dbus.UInt16(HF_FEATURES), - } - - if (options.name): - opts["Name"] = options.name - - if (options.channel is not None): - opts["Channel"] = dbus.UInt16(options.channel) - - if audio_supported: - sco = socket(AF_BLUETOOTH, SOCK_SEQPACKET, BTPROTO_SCO) - sco.bind(BDADDR_ANY) - sco.listen() - else: - sco = None - - profile = HfpProfile(bus, options.path, sco) - - manager.RegisterProfile(options.path, "hfp-hf", opts) - - print("Profile registered - waiting for connections") - - mainloop.run() diff --git a/GRIB_BLE_HUB/libs/ble_extend/test/test-manager b/GRIB_BLE_HUB/libs/ble_extend/test/test-manager deleted file mode 100644 index 1e3882f..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/test/test-manager +++ /dev/null @@ -1,39 +0,0 @@ -#!/usr/bin/python - -from __future__ import absolute_import, print_function, unicode_literals - -from gi.repository import GObject - -import dbus -import dbus.mainloop.glib -import bluezutils - -def interfaces_added(path, interfaces): - if interfaces.get("org.bluez.Adapter1") != None: - print("Adapter with path %s added" % (path)) - -def interfaces_removed(path, interfaces): - if "org.bluez.Adapter1" in interfaces: - print("Adapter with path %s removed" % (path)) - -if __name__ == "__main__": - dbus.mainloop.glib.DBusGMainLoop(set_as_default=True) - - bus = dbus.SystemBus() - - bus.add_signal_receiver(interfaces_added, bus_name="org.bluez", - dbus_interface="org.freedesktop.DBus.ObjectManager", - signal_name="InterfacesAdded") - - bus.add_signal_receiver(interfaces_removed, bus_name="org.bluez", - dbus_interface="org.freedesktop.DBus.ObjectManager", - signal_name="InterfacesRemoved") - - try: - path = bluezutils.find_adapter().object_path - print("Adapter found at path %s" % (path)) - except: - print("No adapter found") - - mainloop = GObject.MainLoop() - mainloop.run() diff --git a/GRIB_BLE_HUB/libs/ble_extend/test/test-nap b/GRIB_BLE_HUB/libs/ble_extend/test/test-nap deleted file mode 100644 index b3d6907..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/test/test-nap +++ /dev/null @@ -1,44 +0,0 @@ -#!/usr/bin/python - -from __future__ import absolute_import, print_function, unicode_literals - -import sys -import time -import dbus -from optparse import OptionParser, make_option -import bluezutils - -bus = dbus.SystemBus() - -option_list = [ - make_option("-i", "--device", action="store", - type="string", dest="dev_id"), - ] -parser = OptionParser(option_list=option_list) - -(options, args) = parser.parse_args() - -adapter_path = bluezutils.find_adapter(options.dev_id).object_path -server = dbus.Interface(bus.get_object("org.bluez", adapter_path), - "org.bluez.NetworkServer") - -service = "nap" - -if (len(args) < 1): - bridge = "tether" -else: - bridge = args[0] - -server.Register(service, bridge) - -print("Server for %s registered for %s" % (service, bridge)) - -print("Press CTRL-C to disconnect") - -try: - time.sleep(1000) - print("Terminating connection") -except: - pass - -server.Unregister(service) diff --git a/GRIB_BLE_HUB/libs/ble_extend/test/test-network b/GRIB_BLE_HUB/libs/ble_extend/test/test-network deleted file mode 100644 index 3e8713f..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/test/test-network +++ /dev/null @@ -1,54 +0,0 @@ -#!/usr/bin/python - -from __future__ import absolute_import, print_function, unicode_literals - -import sys -import time -import dbus -from optparse import OptionParser, make_option -import bluezutils - -bus = dbus.SystemBus() - -manager = dbus.Interface(bus.get_object("org.bluez", "/"), - "org.bluez.Manager") - -option_list = [ - make_option("-i", "--device", action="store", - type="string", dest="dev_id"), - ] -parser = OptionParser(option_list=option_list) - -(options, args) = parser.parse_args() - -if (len(args) < 1): - print("Usage: %s
[service]" % (sys.argv[0])) - sys.exit(1) - -# Fix-up in case of "connect" invocation that other scripts use -if args[0] == "connect": - del args[:1] - -if (len(args) < 2): - service = "panu" -else: - service = args[1] - -device = bluezutils.find_device(args[0], options.dev_id) - -network = dbus.Interface(bus.get_object("org.bluez", device.object_path), - "org.bluez.Network1") - -iface = network.Connect(service) - -print("Connected to %s service %s, interface %s" % (args[0], service, iface)) - -print("Press CTRL-C to disconnect") - -try: - time.sleep(1000) - print("Terminating connection") -except: - pass - -network.Disconnect() diff --git a/GRIB_BLE_HUB/libs/ble_extend/test/test-profile b/GRIB_BLE_HUB/libs/ble_extend/test/test-profile deleted file mode 100644 index b78d00c..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/test/test-profile +++ /dev/null @@ -1,125 +0,0 @@ -#!/usr/bin/python - -from __future__ import absolute_import, print_function, unicode_literals - -from gi.repository import GObject - -import os -import sys -import uuid -import dbus -import dbus.service -import dbus.mainloop.glib -from optparse import OptionParser, make_option - -class Profile(dbus.service.Object): - fd = -1 - - @dbus.service.method("org.bluez.Profile1", - in_signature="", out_signature="") - def Release(self): - print("Release") - mainloop.quit() - - @dbus.service.method("org.bluez.Profile1", - in_signature="", out_signature="") - def Cancel(self): - print("Cancel") - - @dbus.service.method("org.bluez.Profile1", - in_signature="oha{sv}", out_signature="") - def NewConnection(self, path, fd, properties): - self.fd = fd.take() - print("NewConnection(%s, %d)" % (path, self.fd)) - for key in properties.keys(): - if key == "Version" or key == "Features": - print(" %s = 0x%04x" % (key, properties[key])) - else: - print(" %s = %s" % (key, properties[key])) - - @dbus.service.method("org.bluez.Profile1", - in_signature="o", out_signature="") - def RequestDisconnection(self, path): - print("RequestDisconnection(%s)" % (path)) - - if (self.fd > 0): - os.close(self.fd) - self.fd = -1 - -if __name__ == '__main__': - dbus.mainloop.glib.DBusGMainLoop(set_as_default=True) - - bus = dbus.SystemBus() - - manager = dbus.Interface(bus.get_object("org.bluez", - "/org/bluez"), "org.bluez.ProfileManager1") - - option_list = [ - make_option("-u", "--uuid", action="store", - type="string", dest="uuid", - default=None), - make_option("-p", "--path", action="store", - type="string", dest="path", - default="/foo/bar/profile"), - make_option("-n", "--name", action="store", - type="string", dest="name", - default=None), - make_option("-s", "--server", - action="store_const", - const="server", dest="role"), - make_option("-c", "--client", - action="store_const", - const="client", dest="role"), - make_option("-a", "--auto-connect", - action="store_true", - dest="auto_connect", default=False), - make_option("-P", "--PSM", action="store", - type="int", dest="psm", - default=None), - make_option("-C", "--channel", action="store", - type="int", dest="channel", - default=None), - make_option("-r", "--record", action="store", - type="string", dest="record", - default=None), - make_option("-S", "--service", action="store", - type="string", dest="service", - default=None), - ] - - parser = OptionParser(option_list=option_list) - - (options, args) = parser.parse_args() - - profile = Profile(bus, options.path) - - mainloop = GObject.MainLoop() - - opts = { - "AutoConnect" : options.auto_connect, - } - - if (options.name): - opts["Name"] = options.name - - if (options.role): - opts["Role"] = options.role - - if (options.psm is not None): - opts["PSM"] = dbus.UInt16(options.psm) - - if (options.channel is not None): - opts["Channel"] = dbus.UInt16(options.channel) - - if (options.record): - opts["ServiceRecord"] = options.record - - if (options.service): - opts["Service"] = options.service - - if not options.uuid: - options.uuid = str(uuid.uuid4()) - - manager.RegisterProfile(options.path, options.uuid, opts) - - mainloop.run() diff --git a/GRIB_BLE_HUB/libs/ble_extend/test/test-proximity b/GRIB_BLE_HUB/libs/ble_extend/test/test-proximity deleted file mode 100644 index 6b9b2b8..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/test/test-proximity +++ /dev/null @@ -1,68 +0,0 @@ -#!/usr/bin/python - -from __future__ import absolute_import, print_function, unicode_literals - -''' -Proximity Monitor test script -''' - -import gobject - -import sys -import dbus -import dbus.mainloop.glib -from optparse import OptionParser, make_option -import bluezutils - -BUS_NAME = 'org.bluez' -PROXIMITY_MONITOR_INTERFACE = 'org.bluez.ProxymityMonitor1' - -def properties_changed(interface, changed, invalidated): - if interface != PROXIMITY_MONITOR_INTERFACE: - return - - for name, value in changed.iteritems(): - print("Property %s changed: %s" % (name, str(value))) - -if __name__ == "__main__": - dbus.mainloop.glib.DBusGMainLoop(set_as_default=True) - - bus = dbus.SystemBus() - - option_list = [ - make_option("-i", "--adapter", action="store", - type="string", dest="dev_id"), - make_option("-b", "--device", action="store", - type="string", dest="address"), - - ] - parser = OptionParser(option_list=option_list) - - (options, args) = parser.parse_args() - - if (len(args) < 1): - print("Usage: %s " % (sys.argv[0])) - print("") - print(" -b MAC LinkLossAlertLevel ") - print(" -b MAC ImmediateAlertLevel ") - sys.exit(1) - - device = bluezutils.find_device(options.address, options.dev_id) - device_path = device.object_path - - bus.add_signal_receiver(properties_changed, bus_name=BUS_NAME, - path=device_path, - dbus_interface="org.freedesktop.DBus.Properties", - signal_name="PropertiesChanged") - - proximity = dbus.Interface(bus.get_object(BUS_NAME, device_path), - PROXIMITY_MONITOR_INTERFACE) - - device_prop = dbus.Interface(bus.get_object(BUS_NAME, device_path), - "org.freedesktop.DBus.Properties") - - print("Proximity SetProperty('%s', '%s')" % (args[0], args[1])) - device_prop.Set(PROXIMITY_MONITOR_INTERFACE, args[0], args[1]) - - mainloop = gobject.MainLoop() - mainloop.run() diff --git a/GRIB_BLE_HUB/libs/ble_extend/test/test-sap-server b/GRIB_BLE_HUB/libs/ble_extend/test/test-sap-server deleted file mode 100644 index ff178af..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/test/test-sap-server +++ /dev/null @@ -1,151 +0,0 @@ -#!/usr/bin/python - -from __future__ import absolute_import, print_function, unicode_literals - -from sap_client import * -import time -import sys - -def connect_disconnect_by_client(sap): - - print("[Test] Connect - Disconnect by client \n") - - try: - if not sap.isConnected(): - sap.connect() - - if sap.proc_connect(): - if sap.proc_disconnectByClient(): - print("OK") - return 0 - - print("NOT OK") - return 1 - - except BluetoothError as e: - print("Error " + str(e)) - - -def connect_disconnect_by_server_gracefully(sap, timeout=0): - - print("[Test] Connect - Disconnect by server with timer \n") - - try: - if not sap.isConnected(): - sap.connect() - - if sap.proc_connect(): - if sap.proc_disconnectByServer(timeout): - print("OK") - return 0 - - print("NOT OK") - return 1 - - except BluetoothError as e: - print("Error " + str(e)) - - -def connect_txAPDU_disconnect_by_client(sap): - - print("[Test] Connect - TX APDU - Disconnect by client \n") - - try: - if not sap.isConnected(): - sap.connect() - - if sap.proc_connect(): - if not sap.proc_transferAPDU(): - print("NOT OK 1") - return 1 - - if not sap.proc_transferAPDU(): - print("NOT OK 2") - return 1 - - if not sap.proc_transferAPDU(): - print("NOT OK 3") - return 1 - - if not sap.proc_transferAPDU(): - print("NOT OK 4") - return 1 - - if sap.proc_disconnectByClient(): - print("OK") - return 0 - - print("NOT OK") - return 1 - - except BluetoothError as e: - print("Error " + str(e)) - -def connect_rfcomm_only_and_wait_for_close_by_server(sap): - - print("[Test] Connect rfcomm only - Disconnect by server timeout \n") - - if not sap.isConnected(): - sap.connect() - - time.sleep(40) - print("OK") - -def power_sim_off_on(sap): - - print("[Test] Powe sim off \n") - - try: - if not sap.isConnected(): - sap.connect() - - if sap.proc_connect(): - if not sap.proc_resetSim(): - print("NOT OK") - return 1 - - if not sap.proc_powerSimOff(): - print("NOT OK") - return 1 - - if not sap.proc_powerSimOn(): - print("NOT OK") - return 1 - - if sap.proc_disconnectByClient(): - print("OK") - return 0 - - print("NOT OK") - return 1 - - except BluetoothError as e: - print("Error " + str(e)) - - -if __name__ == "__main__": - - host = None # server bd_addr - port = 8 # sap server port - - if (len(sys.argv) < 2): - print("Usage: %s
[port]" % (sys.argv[0])) - sys.exit(1) - - host = sys.argv[1] - - if (len(sys.argv) == 3): - port = sys.argv[2] - - try: - s = SAPClient(host, port) - except BluetoothError as e: - print("Error: " + str(e)) - sys.exit(1) - - connect_disconnect_by_client(s) - connect_disconnect_by_server_gracefully(s) - connect_disconnect_by_server_gracefully(s, 40) # wait 40 sec for srv to close rfcomm sock - connect_rfcomm_only_and_wait_for_close_by_server(s) - connect_txAPDU_disconnect_by_client(s) - power_sim_off_on(s) diff --git a/GRIB_BLE_HUB/libs/ble_extend/test/test-thermometer b/GRIB_BLE_HUB/libs/ble_extend/test/test-thermometer deleted file mode 100644 index 6c143be..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/test/test-thermometer +++ /dev/null @@ -1,97 +0,0 @@ -#!/usr/bin/python - -from __future__ import absolute_import, print_function, unicode_literals - -''' -Thermometer test script -''' - -import gobject - -import sys -import dbus -import dbus.service -import dbus.mainloop.glib -from optparse import OptionParser, make_option -import bluezutils - -BUS_NAME = 'org.bluez' -THERMOMETER_MANAGER_INTERFACE = 'org.bluez.ThermometerManager1' -THERMOMETER_WATCHER_INTERFACE = 'org.bluez.ThermometerWatcher1' -THERMOMETER_INTERFACE = 'org.bluez.Thermometer1' - -class Watcher(dbus.service.Object): - @dbus.service.method(THERMOMETER_WATCHER_INTERFACE, - in_signature="oa{sv}", out_signature="") - def MeasurementReceived(self, device, measure): - print("%s measurement received from %s" % (measure["Measurement"], device)) - print("Exponent: ", measure["Exponent"]) - print("Mantissa: ", measure["Mantissa"]) - print("Unit: ", measure["Unit"]) - - if "Time" in measure: - print("Time: ", measure["Time"]) - - if "Type" in measure: - print("Type: ", measure["Type"]) - -def properties_changed(interface, changed, invalidated): - if interface != THERMOMETER_INTERFACE: - return - for name, value in changed.iteritems(): - print("Property %s changed: %s" % (name, str(value))) - -if __name__ == "__main__": - dbus.mainloop.glib.DBusGMainLoop(set_as_default=True) - - bus = dbus.SystemBus() - - option_list = [ - make_option("-i", "--adapter", action="store", - type="string", dest="adapter"), - make_option("-b", "--device", action="store", - type="string", dest="address"), - ] - - parser = OptionParser(option_list=option_list) - - (options, args) = parser.parse_args() - - if not options.address: - print("Usage: %s [-i ] -b [command]" % (sys.argv[0])) - print("Possible commands:") - print("\tEnableIntermediateMeasurement") - sys.exit(1) - - managed_objects = bluezutils.get_managed_objects() - adapter = bluezutils.find_adapter_in_objects(managed_objects, - options.adapter) - adapter_path = adapter.object_path - - thermometer_manager = dbus.Interface(bus.get_object(BUS_NAME, - adapter_path), THERMOMETER_MANAGER_INTERFACE) - - device = bluezutils.find_device_in_objects(managed_objects, - options.address, - options.adapter) - device_path = device.object_path - - bus.add_signal_receiver(properties_changed, bus_name=BUS_NAME, - path=device_path, - dbus_interface="org.freedesktop.DBus.Properties", - signal_name="PropertiesChanged") - - path = "/test/watcher" - watcher = Watcher(bus, path) - - thermometer_manager.RegisterWatcher(path) - - if len(args) > 0: - if args[0] == "EnableIntermediateMeasurement": - thermometer_manager.EnableIntermediateMeasurement(path) - else: - print("unknown command") - sys.exit(1) - - mainloop = gobject.MainLoop() - mainloop.run() diff --git a/GRIB_BLE_HUB/libs/ble_extend/tools/.deps/.dirstamp b/GRIB_BLE_HUB/libs/ble_extend/tools/.deps/.dirstamp deleted file mode 100644 index e69de29..0000000 diff --git a/GRIB_BLE_HUB/libs/ble_extend/tools/.deps/avinfo.Po b/GRIB_BLE_HUB/libs/ble_extend/tools/.deps/avinfo.Po deleted file mode 100644 index 9ce06a8..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/tools/.deps/avinfo.Po +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/GRIB_BLE_HUB/libs/ble_extend/tools/.deps/avtest.Po b/GRIB_BLE_HUB/libs/ble_extend/tools/.deps/avtest.Po deleted file mode 100644 index 9ce06a8..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/tools/.deps/avtest.Po +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/GRIB_BLE_HUB/libs/ble_extend/tools/.deps/bccmd.Po b/GRIB_BLE_HUB/libs/ble_extend/tools/.deps/bccmd.Po deleted file mode 100644 index 77aefba..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/tools/.deps/bccmd.Po +++ /dev/null @@ -1,190 +0,0 @@ -tools/bccmd.o: tools/bccmd.c /usr/include/stdc-predef.h config.h \ - /usr/include/stdio.h /usr/include/features.h \ - /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/sys_errlist.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio.h /usr/include/errno.h \ - /usr/include/arm-linux-gnueabihf/bits/errno.h /usr/include/linux/errno.h \ - /usr/include/arm-linux-gnueabihf/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/include/stdlib.h /usr/include/arm-linux-gnueabihf/bits/waitflags.h \ - /usr/include/arm-linux-gnueabihf/bits/waitstatus.h /usr/include/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/xlocale.h /usr/include/arm-linux-gnueabihf/sys/types.h \ - /usr/include/time.h /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/alloca.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-float.h \ - /usr/include/getopt.h /usr/include/arm-linux-gnueabihf/sys/socket.h \ - /usr/include/arm-linux-gnueabihf/sys/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/socket.h \ - /usr/include/arm-linux-gnueabihf/bits/socket_type.h \ - /usr/include/arm-linux-gnueabihf/bits/sockaddr.h \ - /usr/include/arm-linux-gnueabihf/asm/socket.h \ - /usr/include/asm-generic/socket.h \ - /usr/include/arm-linux-gnueabihf/asm/sockios.h \ - /usr/include/asm-generic/sockios.h lib/bluetooth/bluetooth.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h \ - /usr/include/stdint.h /usr/include/arm-linux-gnueabihf/bits/wchar.h \ - /usr/include/string.h /usr/include/arm-linux-gnueabihf/bits/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string2.h /usr/include/byteswap.h \ - /usr/include/netinet/in.h /usr/include/arm-linux-gnueabihf/bits/in.h \ - lib/bluetooth/hci.h lib/bluetooth/hci_lib.h tools/csr.h \ - /usr/include/termios.h /usr/include/arm-linux-gnueabihf/bits/termios.h \ - /usr/include/arm-linux-gnueabihf/sys/ttydefaults.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/include/stdio.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/sys_errlist.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio.h: - -/usr/include/errno.h: - -/usr/include/arm-linux-gnueabihf/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/arm-linux-gnueabihf/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/include/stdlib.h: - -/usr/include/arm-linux-gnueabihf/bits/waitflags.h: - -/usr/include/arm-linux-gnueabihf/bits/waitstatus.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/xlocale.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/time.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/alloca.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-float.h: - -/usr/include/getopt.h: - -/usr/include/arm-linux-gnueabihf/sys/socket.h: - -/usr/include/arm-linux-gnueabihf/sys/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/socket.h: - -/usr/include/arm-linux-gnueabihf/bits/socket_type.h: - -/usr/include/arm-linux-gnueabihf/bits/sockaddr.h: - -/usr/include/arm-linux-gnueabihf/asm/socket.h: - -/usr/include/asm-generic/socket.h: - -/usr/include/arm-linux-gnueabihf/asm/sockios.h: - -/usr/include/asm-generic/sockios.h: - -lib/bluetooth/bluetooth.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/arm-linux-gnueabihf/bits/wchar.h: - -/usr/include/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string2.h: - -/usr/include/byteswap.h: - -/usr/include/netinet/in.h: - -/usr/include/arm-linux-gnueabihf/bits/in.h: - -lib/bluetooth/hci.h: - -lib/bluetooth/hci_lib.h: - -tools/csr.h: - -/usr/include/termios.h: - -/usr/include/arm-linux-gnueabihf/bits/termios.h: - -/usr/include/arm-linux-gnueabihf/sys/ttydefaults.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/tools/.deps/bdaddr.Po b/GRIB_BLE_HUB/libs/ble_extend/tools/.deps/bdaddr.Po deleted file mode 100644 index 9ce06a8..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/tools/.deps/bdaddr.Po +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/GRIB_BLE_HUB/libs/ble_extend/tools/.deps/btattach.Po b/GRIB_BLE_HUB/libs/ble_extend/tools/.deps/btattach.Po deleted file mode 100644 index 9ce06a8..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/tools/.deps/btattach.Po +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/GRIB_BLE_HUB/libs/ble_extend/tools/.deps/btiotest.Po b/GRIB_BLE_HUB/libs/ble_extend/tools/.deps/btiotest.Po deleted file mode 100644 index 9ce06a8..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/tools/.deps/btiotest.Po +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/GRIB_BLE_HUB/libs/ble_extend/tools/.deps/btmgmt.Po b/GRIB_BLE_HUB/libs/ble_extend/tools/.deps/btmgmt.Po deleted file mode 100644 index 9ce06a8..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/tools/.deps/btmgmt.Po +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/GRIB_BLE_HUB/libs/ble_extend/tools/.deps/btsnoop.Po b/GRIB_BLE_HUB/libs/ble_extend/tools/.deps/btsnoop.Po deleted file mode 100644 index 9ce06a8..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/tools/.deps/btsnoop.Po +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/GRIB_BLE_HUB/libs/ble_extend/tools/.deps/ciptool.Po b/GRIB_BLE_HUB/libs/ble_extend/tools/.deps/ciptool.Po deleted file mode 100644 index b86a5b9..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/tools/.deps/ciptool.Po +++ /dev/null @@ -1,259 +0,0 @@ -tools/ciptool.o: tools/ciptool.c /usr/include/stdc-predef.h config.h \ - /usr/include/stdio.h /usr/include/features.h \ - /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/sys_errlist.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio.h /usr/include/errno.h \ - /usr/include/arm-linux-gnueabihf/bits/errno.h /usr/include/linux/errno.h \ - /usr/include/arm-linux-gnueabihf/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/include/stdlib.h /usr/include/arm-linux-gnueabihf/bits/waitflags.h \ - /usr/include/arm-linux-gnueabihf/bits/waitstatus.h /usr/include/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/xlocale.h /usr/include/arm-linux-gnueabihf/sys/types.h \ - /usr/include/time.h /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/alloca.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-float.h \ - /usr/include/unistd.h /usr/include/arm-linux-gnueabihf/bits/posix_opt.h \ - /usr/include/arm-linux-gnueabihf/bits/environments.h \ - /usr/include/arm-linux-gnueabihf/bits/confname.h /usr/include/getopt.h \ - /usr/include/string.h /usr/include/arm-linux-gnueabihf/bits/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string2.h /usr/include/signal.h \ - /usr/include/arm-linux-gnueabihf/bits/signum.h \ - /usr/include/arm-linux-gnueabihf/bits/siginfo.h \ - /usr/include/arm-linux-gnueabihf/bits/sigaction.h \ - /usr/include/arm-linux-gnueabihf/bits/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/asm/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigstack.h \ - /usr/include/arm-linux-gnueabihf/sys/ucontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigthread.h \ - /usr/include/arm-linux-gnueabihf/sys/poll.h \ - /usr/include/arm-linux-gnueabihf/bits/poll.h \ - /usr/include/arm-linux-gnueabihf/sys/ioctl.h \ - /usr/include/arm-linux-gnueabihf/bits/ioctls.h \ - /usr/include/arm-linux-gnueabihf/asm/ioctls.h \ - /usr/include/asm-generic/ioctls.h /usr/include/linux/ioctl.h \ - /usr/include/arm-linux-gnueabihf/asm/ioctl.h \ - /usr/include/asm-generic/ioctl.h \ - /usr/include/arm-linux-gnueabihf/bits/ioctl-types.h \ - /usr/include/arm-linux-gnueabihf/sys/ttydefaults.h \ - /usr/include/arm-linux-gnueabihf/sys/socket.h \ - /usr/include/arm-linux-gnueabihf/sys/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/socket.h \ - /usr/include/arm-linux-gnueabihf/bits/socket_type.h \ - /usr/include/arm-linux-gnueabihf/bits/sockaddr.h \ - /usr/include/arm-linux-gnueabihf/asm/socket.h \ - /usr/include/asm-generic/socket.h \ - /usr/include/arm-linux-gnueabihf/asm/sockios.h \ - /usr/include/asm-generic/sockios.h lib/bluetooth/bluetooth.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h \ - /usr/include/stdint.h /usr/include/arm-linux-gnueabihf/bits/wchar.h \ - /usr/include/byteswap.h /usr/include/netinet/in.h \ - /usr/include/arm-linux-gnueabihf/bits/in.h lib/bluetooth/hci.h \ - lib/bluetooth/hci_lib.h lib/bluetooth/l2cap.h lib/bluetooth/sdp.h \ - lib/bluetooth/sdp_lib.h lib/bluetooth/cmtp.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/include/stdio.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/sys_errlist.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio.h: - -/usr/include/errno.h: - -/usr/include/arm-linux-gnueabihf/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/arm-linux-gnueabihf/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/include/stdlib.h: - -/usr/include/arm-linux-gnueabihf/bits/waitflags.h: - -/usr/include/arm-linux-gnueabihf/bits/waitstatus.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/xlocale.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/time.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/alloca.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-float.h: - -/usr/include/unistd.h: - -/usr/include/arm-linux-gnueabihf/bits/posix_opt.h: - -/usr/include/arm-linux-gnueabihf/bits/environments.h: - -/usr/include/arm-linux-gnueabihf/bits/confname.h: - -/usr/include/getopt.h: - -/usr/include/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string2.h: - -/usr/include/signal.h: - -/usr/include/arm-linux-gnueabihf/bits/signum.h: - -/usr/include/arm-linux-gnueabihf/bits/siginfo.h: - -/usr/include/arm-linux-gnueabihf/bits/sigaction.h: - -/usr/include/arm-linux-gnueabihf/bits/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/asm/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigstack.h: - -/usr/include/arm-linux-gnueabihf/sys/ucontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigthread.h: - -/usr/include/arm-linux-gnueabihf/sys/poll.h: - -/usr/include/arm-linux-gnueabihf/bits/poll.h: - -/usr/include/arm-linux-gnueabihf/sys/ioctl.h: - -/usr/include/arm-linux-gnueabihf/bits/ioctls.h: - -/usr/include/arm-linux-gnueabihf/asm/ioctls.h: - -/usr/include/asm-generic/ioctls.h: - -/usr/include/linux/ioctl.h: - -/usr/include/arm-linux-gnueabihf/asm/ioctl.h: - -/usr/include/asm-generic/ioctl.h: - -/usr/include/arm-linux-gnueabihf/bits/ioctl-types.h: - -/usr/include/arm-linux-gnueabihf/sys/ttydefaults.h: - -/usr/include/arm-linux-gnueabihf/sys/socket.h: - -/usr/include/arm-linux-gnueabihf/sys/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/socket.h: - -/usr/include/arm-linux-gnueabihf/bits/socket_type.h: - -/usr/include/arm-linux-gnueabihf/bits/sockaddr.h: - -/usr/include/arm-linux-gnueabihf/asm/socket.h: - -/usr/include/asm-generic/socket.h: - -/usr/include/arm-linux-gnueabihf/asm/sockios.h: - -/usr/include/asm-generic/sockios.h: - -lib/bluetooth/bluetooth.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/arm-linux-gnueabihf/bits/wchar.h: - -/usr/include/byteswap.h: - -/usr/include/netinet/in.h: - -/usr/include/arm-linux-gnueabihf/bits/in.h: - -lib/bluetooth/hci.h: - -lib/bluetooth/hci_lib.h: - -lib/bluetooth/l2cap.h: - -lib/bluetooth/sdp.h: - -lib/bluetooth/sdp_lib.h: - -lib/bluetooth/cmtp.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/tools/.deps/csr.Po b/GRIB_BLE_HUB/libs/ble_extend/tools/.deps/csr.Po deleted file mode 100644 index 3aee6aa..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/tools/.deps/csr.Po +++ /dev/null @@ -1,225 +0,0 @@ -tools/csr.o: tools/csr.c /usr/include/stdc-predef.h config.h \ - /usr/include/stdio.h /usr/include/features.h \ - /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/sys_errlist.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio.h /usr/include/errno.h \ - /usr/include/arm-linux-gnueabihf/bits/errno.h /usr/include/linux/errno.h \ - /usr/include/arm-linux-gnueabihf/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/include/fcntl.h /usr/include/arm-linux-gnueabihf/bits/fcntl.h \ - /usr/include/arm-linux-gnueabihf/bits/fcntl-linux.h \ - /usr/include/arm-linux-gnueabihf/bits/uio.h \ - /usr/include/arm-linux-gnueabihf/sys/types.h /usr/include/time.h \ - /usr/include/endian.h /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/arm-linux-gnueabihf/bits/stat.h /usr/include/unistd.h \ - /usr/include/arm-linux-gnueabihf/bits/posix_opt.h \ - /usr/include/arm-linux-gnueabihf/bits/environments.h \ - /usr/include/arm-linux-gnueabihf/bits/confname.h /usr/include/getopt.h \ - /usr/include/stdlib.h /usr/include/arm-linux-gnueabihf/bits/waitflags.h \ - /usr/include/arm-linux-gnueabihf/bits/waitstatus.h \ - /usr/include/xlocale.h /usr/include/alloca.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-float.h \ - /usr/include/string.h /usr/include/arm-linux-gnueabihf/bits/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string2.h \ - /usr/include/arm-linux-gnueabihf/sys/stat.h \ - /usr/include/arm-linux-gnueabihf/sys/mman.h \ - /usr/include/arm-linux-gnueabihf/bits/mman.h \ - /usr/include/arm-linux-gnueabihf/bits/mman-linux.h \ - /usr/include/arm-linux-gnueabihf/sys/socket.h \ - /usr/include/arm-linux-gnueabihf/sys/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/socket.h \ - /usr/include/arm-linux-gnueabihf/bits/socket_type.h \ - /usr/include/arm-linux-gnueabihf/bits/sockaddr.h \ - /usr/include/arm-linux-gnueabihf/asm/socket.h \ - /usr/include/asm-generic/socket.h \ - /usr/include/arm-linux-gnueabihf/asm/sockios.h \ - /usr/include/asm-generic/sockios.h lib/bluetooth/bluetooth.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h \ - /usr/include/stdint.h /usr/include/arm-linux-gnueabihf/bits/wchar.h \ - /usr/include/byteswap.h /usr/include/netinet/in.h \ - /usr/include/arm-linux-gnueabihf/bits/in.h lib/bluetooth/hci.h \ - lib/bluetooth/hci_lib.h tools/csr.h /usr/include/termios.h \ - /usr/include/arm-linux-gnueabihf/bits/termios.h \ - /usr/include/arm-linux-gnueabihf/sys/ttydefaults.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/include/stdio.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/sys_errlist.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio.h: - -/usr/include/errno.h: - -/usr/include/arm-linux-gnueabihf/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/arm-linux-gnueabihf/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/include/fcntl.h: - -/usr/include/arm-linux-gnueabihf/bits/fcntl.h: - -/usr/include/arm-linux-gnueabihf/bits/fcntl-linux.h: - -/usr/include/arm-linux-gnueabihf/bits/uio.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/time.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/arm-linux-gnueabihf/bits/stat.h: - -/usr/include/unistd.h: - -/usr/include/arm-linux-gnueabihf/bits/posix_opt.h: - -/usr/include/arm-linux-gnueabihf/bits/environments.h: - -/usr/include/arm-linux-gnueabihf/bits/confname.h: - -/usr/include/getopt.h: - -/usr/include/stdlib.h: - -/usr/include/arm-linux-gnueabihf/bits/waitflags.h: - -/usr/include/arm-linux-gnueabihf/bits/waitstatus.h: - -/usr/include/xlocale.h: - -/usr/include/alloca.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-float.h: - -/usr/include/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string2.h: - -/usr/include/arm-linux-gnueabihf/sys/stat.h: - -/usr/include/arm-linux-gnueabihf/sys/mman.h: - -/usr/include/arm-linux-gnueabihf/bits/mman.h: - -/usr/include/arm-linux-gnueabihf/bits/mman-linux.h: - -/usr/include/arm-linux-gnueabihf/sys/socket.h: - -/usr/include/arm-linux-gnueabihf/sys/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/socket.h: - -/usr/include/arm-linux-gnueabihf/bits/socket_type.h: - -/usr/include/arm-linux-gnueabihf/bits/sockaddr.h: - -/usr/include/arm-linux-gnueabihf/asm/socket.h: - -/usr/include/asm-generic/socket.h: - -/usr/include/arm-linux-gnueabihf/asm/sockios.h: - -/usr/include/asm-generic/sockios.h: - -lib/bluetooth/bluetooth.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/arm-linux-gnueabihf/bits/wchar.h: - -/usr/include/byteswap.h: - -/usr/include/netinet/in.h: - -/usr/include/arm-linux-gnueabihf/bits/in.h: - -lib/bluetooth/hci.h: - -lib/bluetooth/hci_lib.h: - -tools/csr.h: - -/usr/include/termios.h: - -/usr/include/arm-linux-gnueabihf/bits/termios.h: - -/usr/include/arm-linux-gnueabihf/sys/ttydefaults.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/tools/.deps/csr_3wire.Po b/GRIB_BLE_HUB/libs/ble_extend/tools/.deps/csr_3wire.Po deleted file mode 100644 index 8c2e7f9..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/tools/.deps/csr_3wire.Po +++ /dev/null @@ -1,84 +0,0 @@ -tools/csr_3wire.o: tools/csr_3wire.c /usr/include/stdc-predef.h config.h \ - /usr/include/stdio.h /usr/include/features.h \ - /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/sys_errlist.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio.h /usr/include/errno.h \ - /usr/include/arm-linux-gnueabihf/bits/errno.h /usr/include/linux/errno.h \ - /usr/include/arm-linux-gnueabihf/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h \ - /usr/include/stdint.h /usr/include/arm-linux-gnueabihf/bits/wchar.h \ - tools/csr.h /usr/include/termios.h \ - /usr/include/arm-linux-gnueabihf/bits/termios.h \ - /usr/include/arm-linux-gnueabihf/sys/ttydefaults.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/include/stdio.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/sys_errlist.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio.h: - -/usr/include/errno.h: - -/usr/include/arm-linux-gnueabihf/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/arm-linux-gnueabihf/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/arm-linux-gnueabihf/bits/wchar.h: - -tools/csr.h: - -/usr/include/termios.h: - -/usr/include/arm-linux-gnueabihf/bits/termios.h: - -/usr/include/arm-linux-gnueabihf/sys/ttydefaults.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/tools/.deps/csr_bcsp.Po b/GRIB_BLE_HUB/libs/ble_extend/tools/.deps/csr_bcsp.Po deleted file mode 100644 index a7a861d..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/tools/.deps/csr_bcsp.Po +++ /dev/null @@ -1,160 +0,0 @@ -tools/csr_bcsp.o: tools/csr_bcsp.c /usr/include/stdc-predef.h config.h \ - /usr/include/stdio.h /usr/include/features.h \ - /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/sys_errlist.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio.h /usr/include/errno.h \ - /usr/include/arm-linux-gnueabihf/bits/errno.h /usr/include/linux/errno.h \ - /usr/include/arm-linux-gnueabihf/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/include/fcntl.h /usr/include/arm-linux-gnueabihf/bits/fcntl.h \ - /usr/include/arm-linux-gnueabihf/bits/fcntl-linux.h \ - /usr/include/arm-linux-gnueabihf/bits/uio.h \ - /usr/include/arm-linux-gnueabihf/sys/types.h /usr/include/time.h \ - /usr/include/endian.h /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/arm-linux-gnueabihf/bits/stat.h /usr/include/unistd.h \ - /usr/include/arm-linux-gnueabihf/bits/posix_opt.h \ - /usr/include/arm-linux-gnueabihf/bits/environments.h \ - /usr/include/arm-linux-gnueabihf/bits/confname.h /usr/include/getopt.h \ - /usr/include/string.h /usr/include/xlocale.h \ - /usr/include/arm-linux-gnueabihf/bits/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string2.h /usr/include/stdlib.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h \ - /usr/include/stdint.h /usr/include/arm-linux-gnueabihf/bits/wchar.h \ - /usr/include/termios.h /usr/include/arm-linux-gnueabihf/bits/termios.h \ - /usr/include/arm-linux-gnueabihf/sys/ttydefaults.h tools/csr.h \ - tools/ubcsp.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/include/stdio.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/sys_errlist.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio.h: - -/usr/include/errno.h: - -/usr/include/arm-linux-gnueabihf/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/arm-linux-gnueabihf/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/include/fcntl.h: - -/usr/include/arm-linux-gnueabihf/bits/fcntl.h: - -/usr/include/arm-linux-gnueabihf/bits/fcntl-linux.h: - -/usr/include/arm-linux-gnueabihf/bits/uio.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/time.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/arm-linux-gnueabihf/bits/stat.h: - -/usr/include/unistd.h: - -/usr/include/arm-linux-gnueabihf/bits/posix_opt.h: - -/usr/include/arm-linux-gnueabihf/bits/environments.h: - -/usr/include/arm-linux-gnueabihf/bits/confname.h: - -/usr/include/getopt.h: - -/usr/include/string.h: - -/usr/include/xlocale.h: - -/usr/include/arm-linux-gnueabihf/bits/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string2.h: - -/usr/include/stdlib.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/arm-linux-gnueabihf/bits/wchar.h: - -/usr/include/termios.h: - -/usr/include/arm-linux-gnueabihf/bits/termios.h: - -/usr/include/arm-linux-gnueabihf/sys/ttydefaults.h: - -tools/csr.h: - -tools/ubcsp.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/tools/.deps/csr_h4.Po b/GRIB_BLE_HUB/libs/ble_extend/tools/.deps/csr_h4.Po deleted file mode 100644 index f1bfc9b..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/tools/.deps/csr_h4.Po +++ /dev/null @@ -1,157 +0,0 @@ -tools/csr_h4.o: tools/csr_h4.c /usr/include/stdc-predef.h config.h \ - /usr/include/stdio.h /usr/include/features.h \ - /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/sys_errlist.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio.h /usr/include/errno.h \ - /usr/include/arm-linux-gnueabihf/bits/errno.h /usr/include/linux/errno.h \ - /usr/include/arm-linux-gnueabihf/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/include/fcntl.h /usr/include/arm-linux-gnueabihf/bits/fcntl.h \ - /usr/include/arm-linux-gnueabihf/bits/fcntl-linux.h \ - /usr/include/arm-linux-gnueabihf/bits/uio.h \ - /usr/include/arm-linux-gnueabihf/sys/types.h /usr/include/time.h \ - /usr/include/endian.h /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/arm-linux-gnueabihf/bits/stat.h /usr/include/unistd.h \ - /usr/include/arm-linux-gnueabihf/bits/posix_opt.h \ - /usr/include/arm-linux-gnueabihf/bits/environments.h \ - /usr/include/arm-linux-gnueabihf/bits/confname.h /usr/include/getopt.h \ - /usr/include/string.h /usr/include/xlocale.h \ - /usr/include/arm-linux-gnueabihf/bits/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string2.h /usr/include/stdlib.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h \ - /usr/include/stdint.h /usr/include/arm-linux-gnueabihf/bits/wchar.h \ - /usr/include/termios.h /usr/include/arm-linux-gnueabihf/bits/termios.h \ - /usr/include/arm-linux-gnueabihf/sys/ttydefaults.h tools/csr.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/include/stdio.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/sys_errlist.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio.h: - -/usr/include/errno.h: - -/usr/include/arm-linux-gnueabihf/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/arm-linux-gnueabihf/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/include/fcntl.h: - -/usr/include/arm-linux-gnueabihf/bits/fcntl.h: - -/usr/include/arm-linux-gnueabihf/bits/fcntl-linux.h: - -/usr/include/arm-linux-gnueabihf/bits/uio.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/time.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/arm-linux-gnueabihf/bits/stat.h: - -/usr/include/unistd.h: - -/usr/include/arm-linux-gnueabihf/bits/posix_opt.h: - -/usr/include/arm-linux-gnueabihf/bits/environments.h: - -/usr/include/arm-linux-gnueabihf/bits/confname.h: - -/usr/include/getopt.h: - -/usr/include/string.h: - -/usr/include/xlocale.h: - -/usr/include/arm-linux-gnueabihf/bits/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string2.h: - -/usr/include/stdlib.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/arm-linux-gnueabihf/bits/wchar.h: - -/usr/include/termios.h: - -/usr/include/arm-linux-gnueabihf/bits/termios.h: - -/usr/include/arm-linux-gnueabihf/sys/ttydefaults.h: - -tools/csr.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/tools/.deps/csr_hci.Po b/GRIB_BLE_HUB/libs/ble_extend/tools/.deps/csr_hci.Po deleted file mode 100644 index 5f96b0e..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/tools/.deps/csr_hci.Po +++ /dev/null @@ -1,175 +0,0 @@ -tools/csr_hci.o: tools/csr_hci.c /usr/include/stdc-predef.h config.h \ - /usr/include/stdio.h /usr/include/features.h \ - /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/sys_errlist.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio.h /usr/include/errno.h \ - /usr/include/arm-linux-gnueabihf/bits/errno.h /usr/include/linux/errno.h \ - /usr/include/arm-linux-gnueabihf/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/include/string.h /usr/include/xlocale.h \ - /usr/include/arm-linux-gnueabihf/bits/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string2.h /usr/include/stdlib.h \ - /usr/include/arm-linux-gnueabihf/sys/socket.h \ - /usr/include/arm-linux-gnueabihf/sys/uio.h \ - /usr/include/arm-linux-gnueabihf/sys/types.h /usr/include/time.h \ - /usr/include/endian.h /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/arm-linux-gnueabihf/bits/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/socket.h \ - /usr/include/arm-linux-gnueabihf/bits/socket_type.h \ - /usr/include/arm-linux-gnueabihf/bits/sockaddr.h \ - /usr/include/arm-linux-gnueabihf/asm/socket.h \ - /usr/include/asm-generic/socket.h \ - /usr/include/arm-linux-gnueabihf/asm/sockios.h \ - /usr/include/asm-generic/sockios.h lib/bluetooth/bluetooth.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h \ - /usr/include/stdint.h /usr/include/arm-linux-gnueabihf/bits/wchar.h \ - /usr/include/byteswap.h /usr/include/netinet/in.h \ - /usr/include/arm-linux-gnueabihf/bits/in.h lib/bluetooth/hci.h \ - lib/bluetooth/hci_lib.h tools/csr.h /usr/include/termios.h \ - /usr/include/arm-linux-gnueabihf/bits/termios.h \ - /usr/include/arm-linux-gnueabihf/sys/ttydefaults.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/include/stdio.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/sys_errlist.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio.h: - -/usr/include/errno.h: - -/usr/include/arm-linux-gnueabihf/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/arm-linux-gnueabihf/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/include/string.h: - -/usr/include/xlocale.h: - -/usr/include/arm-linux-gnueabihf/bits/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string2.h: - -/usr/include/stdlib.h: - -/usr/include/arm-linux-gnueabihf/sys/socket.h: - -/usr/include/arm-linux-gnueabihf/sys/uio.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/time.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/arm-linux-gnueabihf/bits/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/socket.h: - -/usr/include/arm-linux-gnueabihf/bits/socket_type.h: - -/usr/include/arm-linux-gnueabihf/bits/sockaddr.h: - -/usr/include/arm-linux-gnueabihf/asm/socket.h: - -/usr/include/asm-generic/socket.h: - -/usr/include/arm-linux-gnueabihf/asm/sockios.h: - -/usr/include/asm-generic/sockios.h: - -lib/bluetooth/bluetooth.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/arm-linux-gnueabihf/bits/wchar.h: - -/usr/include/byteswap.h: - -/usr/include/netinet/in.h: - -/usr/include/arm-linux-gnueabihf/bits/in.h: - -lib/bluetooth/hci.h: - -lib/bluetooth/hci_lib.h: - -tools/csr.h: - -/usr/include/termios.h: - -/usr/include/arm-linux-gnueabihf/bits/termios.h: - -/usr/include/arm-linux-gnueabihf/sys/ttydefaults.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/tools/.deps/csr_usb.Po b/GRIB_BLE_HUB/libs/ble_extend/tools/.deps/csr_usb.Po deleted file mode 100644 index 28b7dce..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/tools/.deps/csr_usb.Po +++ /dev/null @@ -1,229 +0,0 @@ -tools/csr_usb.o: tools/csr_usb.c /usr/include/stdc-predef.h config.h \ - /usr/include/stdio.h /usr/include/features.h \ - /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/sys_errlist.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio.h /usr/include/errno.h \ - /usr/include/arm-linux-gnueabihf/bits/errno.h /usr/include/linux/errno.h \ - /usr/include/arm-linux-gnueabihf/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/include/string.h /usr/include/xlocale.h \ - /usr/include/arm-linux-gnueabihf/bits/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string2.h /usr/include/stdlib.h \ - /usr/include/usb.h /usr/include/unistd.h \ - /usr/include/arm-linux-gnueabihf/bits/posix_opt.h \ - /usr/include/arm-linux-gnueabihf/bits/environments.h \ - /usr/include/arm-linux-gnueabihf/bits/confname.h /usr/include/getopt.h \ - /usr/include/arm-linux-gnueabihf/bits/waitflags.h \ - /usr/include/arm-linux-gnueabihf/bits/waitstatus.h /usr/include/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/arm-linux-gnueabihf/sys/types.h /usr/include/time.h \ - /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/alloca.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-float.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h \ - /usr/include/stdint.h /usr/include/arm-linux-gnueabihf/bits/wchar.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h \ - /usr/include/limits.h /usr/include/arm-linux-gnueabihf/bits/posix1_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/local_lim.h \ - /usr/include/linux/limits.h \ - /usr/include/arm-linux-gnueabihf/bits/posix2_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/xopen_lim.h \ - /usr/include/arm-linux-gnueabihf/sys/param.h /usr/include/signal.h \ - /usr/include/arm-linux-gnueabihf/bits/signum.h \ - /usr/include/arm-linux-gnueabihf/bits/siginfo.h \ - /usr/include/arm-linux-gnueabihf/bits/sigaction.h \ - /usr/include/arm-linux-gnueabihf/bits/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/asm/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigstack.h \ - /usr/include/arm-linux-gnueabihf/sys/ucontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigthread.h \ - /usr/include/arm-linux-gnueabihf/bits/param.h /usr/include/linux/param.h \ - /usr/include/arm-linux-gnueabihf/asm/param.h \ - /usr/include/asm-generic/param.h /usr/include/dirent.h \ - /usr/include/arm-linux-gnueabihf/bits/dirent.h tools/csr.h \ - /usr/include/termios.h /usr/include/arm-linux-gnueabihf/bits/termios.h \ - /usr/include/arm-linux-gnueabihf/sys/ttydefaults.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/include/stdio.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/sys_errlist.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio.h: - -/usr/include/errno.h: - -/usr/include/arm-linux-gnueabihf/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/arm-linux-gnueabihf/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/include/string.h: - -/usr/include/xlocale.h: - -/usr/include/arm-linux-gnueabihf/bits/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string2.h: - -/usr/include/stdlib.h: - -/usr/include/usb.h: - -/usr/include/unistd.h: - -/usr/include/arm-linux-gnueabihf/bits/posix_opt.h: - -/usr/include/arm-linux-gnueabihf/bits/environments.h: - -/usr/include/arm-linux-gnueabihf/bits/confname.h: - -/usr/include/getopt.h: - -/usr/include/arm-linux-gnueabihf/bits/waitflags.h: - -/usr/include/arm-linux-gnueabihf/bits/waitstatus.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/time.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/alloca.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-float.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/arm-linux-gnueabihf/bits/wchar.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h: - -/usr/include/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/local_lim.h: - -/usr/include/linux/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix2_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/xopen_lim.h: - -/usr/include/arm-linux-gnueabihf/sys/param.h: - -/usr/include/signal.h: - -/usr/include/arm-linux-gnueabihf/bits/signum.h: - -/usr/include/arm-linux-gnueabihf/bits/siginfo.h: - -/usr/include/arm-linux-gnueabihf/bits/sigaction.h: - -/usr/include/arm-linux-gnueabihf/bits/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/asm/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigstack.h: - -/usr/include/arm-linux-gnueabihf/sys/ucontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigthread.h: - -/usr/include/arm-linux-gnueabihf/bits/param.h: - -/usr/include/linux/param.h: - -/usr/include/arm-linux-gnueabihf/asm/param.h: - -/usr/include/asm-generic/param.h: - -/usr/include/dirent.h: - -/usr/include/arm-linux-gnueabihf/bits/dirent.h: - -tools/csr.h: - -/usr/include/termios.h: - -/usr/include/arm-linux-gnueabihf/bits/termios.h: - -/usr/include/arm-linux-gnueabihf/sys/ttydefaults.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/tools/.deps/gap-tester.Po b/GRIB_BLE_HUB/libs/ble_extend/tools/.deps/gap-tester.Po deleted file mode 100644 index 9ce06a8..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/tools/.deps/gap-tester.Po +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/GRIB_BLE_HUB/libs/ble_extend/tools/.deps/hciattach.Po b/GRIB_BLE_HUB/libs/ble_extend/tools/.deps/hciattach.Po deleted file mode 100644 index 5ea7a6f..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/tools/.deps/hciattach.Po +++ /dev/null @@ -1,320 +0,0 @@ -tools/hciattach.o: tools/hciattach.c /usr/include/stdc-predef.h config.h \ - /usr/include/stdio.h /usr/include/features.h \ - /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/sys_errlist.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio.h /usr/include/errno.h \ - /usr/include/arm-linux-gnueabihf/bits/errno.h /usr/include/linux/errno.h \ - /usr/include/arm-linux-gnueabihf/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/include/fcntl.h /usr/include/arm-linux-gnueabihf/bits/fcntl.h \ - /usr/include/arm-linux-gnueabihf/bits/fcntl-linux.h \ - /usr/include/arm-linux-gnueabihf/bits/uio.h \ - /usr/include/arm-linux-gnueabihf/sys/types.h /usr/include/time.h \ - /usr/include/endian.h /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/arm-linux-gnueabihf/bits/stat.h /usr/include/unistd.h \ - /usr/include/arm-linux-gnueabihf/bits/posix_opt.h \ - /usr/include/arm-linux-gnueabihf/bits/environments.h \ - /usr/include/arm-linux-gnueabihf/bits/confname.h /usr/include/getopt.h \ - /usr/include/stdlib.h /usr/include/arm-linux-gnueabihf/bits/waitflags.h \ - /usr/include/arm-linux-gnueabihf/bits/waitstatus.h \ - /usr/include/xlocale.h /usr/include/alloca.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-float.h \ - /usr/include/string.h /usr/include/arm-linux-gnueabihf/bits/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string2.h /usr/include/signal.h \ - /usr/include/arm-linux-gnueabihf/bits/signum.h \ - /usr/include/arm-linux-gnueabihf/bits/siginfo.h \ - /usr/include/arm-linux-gnueabihf/bits/sigaction.h \ - /usr/include/arm-linux-gnueabihf/bits/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/asm/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigstack.h \ - /usr/include/arm-linux-gnueabihf/sys/ucontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigthread.h /usr/include/syslog.h \ - /usr/include/arm-linux-gnueabihf/sys/syslog.h \ - /usr/include/arm-linux-gnueabihf/bits/syslog-path.h \ - /usr/include/termios.h /usr/include/arm-linux-gnueabihf/bits/termios.h \ - /usr/include/arm-linux-gnueabihf/sys/ttydefaults.h \ - /usr/include/arm-linux-gnueabihf/bits/timex.h \ - /usr/include/arm-linux-gnueabihf/sys/time.h \ - /usr/include/arm-linux-gnueabihf/sys/poll.h \ - /usr/include/arm-linux-gnueabihf/bits/poll.h \ - /usr/include/arm-linux-gnueabihf/sys/param.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h \ - /usr/include/limits.h /usr/include/arm-linux-gnueabihf/bits/posix1_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/local_lim.h \ - /usr/include/linux/limits.h \ - /usr/include/arm-linux-gnueabihf/bits/posix2_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/xopen_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/param.h /usr/include/linux/param.h \ - /usr/include/arm-linux-gnueabihf/asm/param.h \ - /usr/include/asm-generic/param.h \ - /usr/include/arm-linux-gnueabihf/sys/ioctl.h \ - /usr/include/arm-linux-gnueabihf/bits/ioctls.h \ - /usr/include/arm-linux-gnueabihf/asm/ioctls.h \ - /usr/include/asm-generic/ioctls.h /usr/include/linux/ioctl.h \ - /usr/include/arm-linux-gnueabihf/asm/ioctl.h \ - /usr/include/asm-generic/ioctl.h \ - /usr/include/arm-linux-gnueabihf/bits/ioctl-types.h \ - lib/bluetooth/bluetooth.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h \ - /usr/include/stdint.h /usr/include/arm-linux-gnueabihf/bits/wchar.h \ - /usr/include/byteswap.h /usr/include/netinet/in.h \ - /usr/include/arm-linux-gnueabihf/sys/socket.h \ - /usr/include/arm-linux-gnueabihf/sys/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/socket.h \ - /usr/include/arm-linux-gnueabihf/bits/socket_type.h \ - /usr/include/arm-linux-gnueabihf/bits/sockaddr.h \ - /usr/include/arm-linux-gnueabihf/asm/socket.h \ - /usr/include/asm-generic/socket.h \ - /usr/include/arm-linux-gnueabihf/asm/sockios.h \ - /usr/include/asm-generic/sockios.h \ - /usr/include/arm-linux-gnueabihf/bits/in.h lib/bluetooth/hci.h \ - lib/bluetooth/hci_lib.h tools/hciattach.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/include/stdio.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/sys_errlist.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio.h: - -/usr/include/errno.h: - -/usr/include/arm-linux-gnueabihf/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/arm-linux-gnueabihf/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/include/fcntl.h: - -/usr/include/arm-linux-gnueabihf/bits/fcntl.h: - -/usr/include/arm-linux-gnueabihf/bits/fcntl-linux.h: - -/usr/include/arm-linux-gnueabihf/bits/uio.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/time.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/arm-linux-gnueabihf/bits/stat.h: - -/usr/include/unistd.h: - -/usr/include/arm-linux-gnueabihf/bits/posix_opt.h: - -/usr/include/arm-linux-gnueabihf/bits/environments.h: - -/usr/include/arm-linux-gnueabihf/bits/confname.h: - -/usr/include/getopt.h: - -/usr/include/stdlib.h: - -/usr/include/arm-linux-gnueabihf/bits/waitflags.h: - -/usr/include/arm-linux-gnueabihf/bits/waitstatus.h: - -/usr/include/xlocale.h: - -/usr/include/alloca.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-float.h: - -/usr/include/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string2.h: - -/usr/include/signal.h: - -/usr/include/arm-linux-gnueabihf/bits/signum.h: - -/usr/include/arm-linux-gnueabihf/bits/siginfo.h: - -/usr/include/arm-linux-gnueabihf/bits/sigaction.h: - -/usr/include/arm-linux-gnueabihf/bits/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/asm/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigstack.h: - -/usr/include/arm-linux-gnueabihf/sys/ucontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigthread.h: - -/usr/include/syslog.h: - -/usr/include/arm-linux-gnueabihf/sys/syslog.h: - -/usr/include/arm-linux-gnueabihf/bits/syslog-path.h: - -/usr/include/termios.h: - -/usr/include/arm-linux-gnueabihf/bits/termios.h: - -/usr/include/arm-linux-gnueabihf/sys/ttydefaults.h: - -/usr/include/arm-linux-gnueabihf/bits/timex.h: - -/usr/include/arm-linux-gnueabihf/sys/time.h: - -/usr/include/arm-linux-gnueabihf/sys/poll.h: - -/usr/include/arm-linux-gnueabihf/bits/poll.h: - -/usr/include/arm-linux-gnueabihf/sys/param.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h: - -/usr/include/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/local_lim.h: - -/usr/include/linux/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix2_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/xopen_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/param.h: - -/usr/include/linux/param.h: - -/usr/include/arm-linux-gnueabihf/asm/param.h: - -/usr/include/asm-generic/param.h: - -/usr/include/arm-linux-gnueabihf/sys/ioctl.h: - -/usr/include/arm-linux-gnueabihf/bits/ioctls.h: - -/usr/include/arm-linux-gnueabihf/asm/ioctls.h: - -/usr/include/asm-generic/ioctls.h: - -/usr/include/linux/ioctl.h: - -/usr/include/arm-linux-gnueabihf/asm/ioctl.h: - -/usr/include/asm-generic/ioctl.h: - -/usr/include/arm-linux-gnueabihf/bits/ioctl-types.h: - -lib/bluetooth/bluetooth.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/arm-linux-gnueabihf/bits/wchar.h: - -/usr/include/byteswap.h: - -/usr/include/netinet/in.h: - -/usr/include/arm-linux-gnueabihf/sys/socket.h: - -/usr/include/arm-linux-gnueabihf/sys/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/socket.h: - -/usr/include/arm-linux-gnueabihf/bits/socket_type.h: - -/usr/include/arm-linux-gnueabihf/bits/sockaddr.h: - -/usr/include/arm-linux-gnueabihf/asm/socket.h: - -/usr/include/asm-generic/socket.h: - -/usr/include/arm-linux-gnueabihf/asm/sockios.h: - -/usr/include/asm-generic/sockios.h: - -/usr/include/arm-linux-gnueabihf/bits/in.h: - -lib/bluetooth/hci.h: - -lib/bluetooth/hci_lib.h: - -tools/hciattach.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/tools/.deps/hciattach_ath3k.Po b/GRIB_BLE_HUB/libs/ble_extend/tools/.deps/hciattach_ath3k.Po deleted file mode 100644 index 107ec7d..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/tools/.deps/hciattach_ath3k.Po +++ /dev/null @@ -1,297 +0,0 @@ -tools/hciattach_ath3k.o: tools/hciattach_ath3k.c \ - /usr/include/stdc-predef.h config.h /usr/include/stdio.h \ - /usr/include/features.h /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/sys_errlist.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio.h /usr/include/errno.h \ - /usr/include/arm-linux-gnueabihf/bits/errno.h /usr/include/linux/errno.h \ - /usr/include/arm-linux-gnueabihf/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/include/unistd.h /usr/include/arm-linux-gnueabihf/bits/posix_opt.h \ - /usr/include/arm-linux-gnueabihf/bits/environments.h \ - /usr/include/arm-linux-gnueabihf/bits/confname.h /usr/include/getopt.h \ - /usr/include/stdlib.h /usr/include/arm-linux-gnueabihf/bits/waitflags.h \ - /usr/include/arm-linux-gnueabihf/bits/waitstatus.h /usr/include/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/xlocale.h /usr/include/arm-linux-gnueabihf/sys/types.h \ - /usr/include/time.h /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/alloca.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-float.h \ - /usr/include/string.h /usr/include/arm-linux-gnueabihf/bits/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string2.h /usr/include/ctype.h \ - /usr/include/arm-linux-gnueabihf/bits/timex.h \ - /usr/include/arm-linux-gnueabihf/sys/time.h \ - /usr/include/arm-linux-gnueabihf/sys/param.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h \ - /usr/include/limits.h /usr/include/arm-linux-gnueabihf/bits/posix1_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/local_lim.h \ - /usr/include/linux/limits.h \ - /usr/include/arm-linux-gnueabihf/bits/posix2_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/xopen_lim.h /usr/include/signal.h \ - /usr/include/arm-linux-gnueabihf/bits/signum.h \ - /usr/include/arm-linux-gnueabihf/bits/siginfo.h \ - /usr/include/arm-linux-gnueabihf/bits/sigaction.h \ - /usr/include/arm-linux-gnueabihf/bits/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/asm/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigstack.h \ - /usr/include/arm-linux-gnueabihf/sys/ucontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigthread.h \ - /usr/include/arm-linux-gnueabihf/bits/param.h /usr/include/linux/param.h \ - /usr/include/arm-linux-gnueabihf/asm/param.h \ - /usr/include/asm-generic/param.h \ - /usr/include/arm-linux-gnueabihf/sys/ioctl.h \ - /usr/include/arm-linux-gnueabihf/bits/ioctls.h \ - /usr/include/arm-linux-gnueabihf/asm/ioctls.h \ - /usr/include/asm-generic/ioctls.h /usr/include/linux/ioctl.h \ - /usr/include/arm-linux-gnueabihf/asm/ioctl.h \ - /usr/include/asm-generic/ioctl.h \ - /usr/include/arm-linux-gnueabihf/bits/ioctl-types.h \ - /usr/include/arm-linux-gnueabihf/sys/ttydefaults.h \ - lib/bluetooth/bluetooth.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h \ - /usr/include/stdint.h /usr/include/arm-linux-gnueabihf/bits/wchar.h \ - /usr/include/byteswap.h /usr/include/netinet/in.h \ - /usr/include/arm-linux-gnueabihf/sys/socket.h \ - /usr/include/arm-linux-gnueabihf/sys/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/socket.h \ - /usr/include/arm-linux-gnueabihf/bits/socket_type.h \ - /usr/include/arm-linux-gnueabihf/bits/sockaddr.h \ - /usr/include/arm-linux-gnueabihf/asm/socket.h \ - /usr/include/asm-generic/socket.h \ - /usr/include/arm-linux-gnueabihf/asm/sockios.h \ - /usr/include/asm-generic/sockios.h \ - /usr/include/arm-linux-gnueabihf/bits/in.h lib/bluetooth/hci.h \ - lib/bluetooth/hci_lib.h tools/hciattach.h /usr/include/termios.h \ - /usr/include/arm-linux-gnueabihf/bits/termios.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/include/stdio.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/sys_errlist.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio.h: - -/usr/include/errno.h: - -/usr/include/arm-linux-gnueabihf/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/arm-linux-gnueabihf/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/include/unistd.h: - -/usr/include/arm-linux-gnueabihf/bits/posix_opt.h: - -/usr/include/arm-linux-gnueabihf/bits/environments.h: - -/usr/include/arm-linux-gnueabihf/bits/confname.h: - -/usr/include/getopt.h: - -/usr/include/stdlib.h: - -/usr/include/arm-linux-gnueabihf/bits/waitflags.h: - -/usr/include/arm-linux-gnueabihf/bits/waitstatus.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/xlocale.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/time.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/alloca.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-float.h: - -/usr/include/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string2.h: - -/usr/include/ctype.h: - -/usr/include/arm-linux-gnueabihf/bits/timex.h: - -/usr/include/arm-linux-gnueabihf/sys/time.h: - -/usr/include/arm-linux-gnueabihf/sys/param.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h: - -/usr/include/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/local_lim.h: - -/usr/include/linux/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix2_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/xopen_lim.h: - -/usr/include/signal.h: - -/usr/include/arm-linux-gnueabihf/bits/signum.h: - -/usr/include/arm-linux-gnueabihf/bits/siginfo.h: - -/usr/include/arm-linux-gnueabihf/bits/sigaction.h: - -/usr/include/arm-linux-gnueabihf/bits/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/asm/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigstack.h: - -/usr/include/arm-linux-gnueabihf/sys/ucontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigthread.h: - -/usr/include/arm-linux-gnueabihf/bits/param.h: - -/usr/include/linux/param.h: - -/usr/include/arm-linux-gnueabihf/asm/param.h: - -/usr/include/asm-generic/param.h: - -/usr/include/arm-linux-gnueabihf/sys/ioctl.h: - -/usr/include/arm-linux-gnueabihf/bits/ioctls.h: - -/usr/include/arm-linux-gnueabihf/asm/ioctls.h: - -/usr/include/asm-generic/ioctls.h: - -/usr/include/linux/ioctl.h: - -/usr/include/arm-linux-gnueabihf/asm/ioctl.h: - -/usr/include/asm-generic/ioctl.h: - -/usr/include/arm-linux-gnueabihf/bits/ioctl-types.h: - -/usr/include/arm-linux-gnueabihf/sys/ttydefaults.h: - -lib/bluetooth/bluetooth.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/arm-linux-gnueabihf/bits/wchar.h: - -/usr/include/byteswap.h: - -/usr/include/netinet/in.h: - -/usr/include/arm-linux-gnueabihf/sys/socket.h: - -/usr/include/arm-linux-gnueabihf/sys/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/socket.h: - -/usr/include/arm-linux-gnueabihf/bits/socket_type.h: - -/usr/include/arm-linux-gnueabihf/bits/sockaddr.h: - -/usr/include/arm-linux-gnueabihf/asm/socket.h: - -/usr/include/asm-generic/socket.h: - -/usr/include/arm-linux-gnueabihf/asm/sockios.h: - -/usr/include/asm-generic/sockios.h: - -/usr/include/arm-linux-gnueabihf/bits/in.h: - -lib/bluetooth/hci.h: - -lib/bluetooth/hci_lib.h: - -tools/hciattach.h: - -/usr/include/termios.h: - -/usr/include/arm-linux-gnueabihf/bits/termios.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/tools/.deps/hciattach_intel.Po b/GRIB_BLE_HUB/libs/ble_extend/tools/.deps/hciattach_intel.Po deleted file mode 100644 index b89bc92..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/tools/.deps/hciattach_intel.Po +++ /dev/null @@ -1,302 +0,0 @@ -tools/hciattach_intel.o: tools/hciattach_intel.c \ - /usr/include/stdc-predef.h config.h /usr/include/stdio.h \ - /usr/include/features.h /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/sys_errlist.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio.h /usr/include/stdlib.h \ - /usr/include/arm-linux-gnueabihf/bits/waitflags.h \ - /usr/include/arm-linux-gnueabihf/bits/waitstatus.h /usr/include/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/xlocale.h /usr/include/arm-linux-gnueabihf/sys/types.h \ - /usr/include/time.h /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/alloca.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-float.h \ - /usr/include/unistd.h /usr/include/arm-linux-gnueabihf/bits/posix_opt.h \ - /usr/include/arm-linux-gnueabihf/bits/environments.h \ - /usr/include/arm-linux-gnueabihf/bits/confname.h /usr/include/getopt.h \ - /usr/include/string.h /usr/include/arm-linux-gnueabihf/bits/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string2.h /usr/include/errno.h \ - /usr/include/arm-linux-gnueabihf/bits/errno.h /usr/include/linux/errno.h \ - /usr/include/arm-linux-gnueabihf/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/include/fcntl.h /usr/include/arm-linux-gnueabihf/bits/fcntl.h \ - /usr/include/arm-linux-gnueabihf/bits/fcntl-linux.h \ - /usr/include/arm-linux-gnueabihf/bits/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/stat.h \ - /usr/include/arm-linux-gnueabihf/sys/param.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h \ - /usr/include/limits.h /usr/include/arm-linux-gnueabihf/bits/posix1_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/local_lim.h \ - /usr/include/linux/limits.h \ - /usr/include/arm-linux-gnueabihf/bits/posix2_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/xopen_lim.h /usr/include/signal.h \ - /usr/include/arm-linux-gnueabihf/bits/signum.h \ - /usr/include/arm-linux-gnueabihf/bits/siginfo.h \ - /usr/include/arm-linux-gnueabihf/bits/sigaction.h \ - /usr/include/arm-linux-gnueabihf/bits/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/asm/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigstack.h \ - /usr/include/arm-linux-gnueabihf/sys/ucontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigthread.h \ - /usr/include/arm-linux-gnueabihf/bits/param.h /usr/include/linux/param.h \ - /usr/include/arm-linux-gnueabihf/asm/param.h \ - /usr/include/asm-generic/param.h \ - /usr/include/arm-linux-gnueabihf/sys/ioctl.h \ - /usr/include/arm-linux-gnueabihf/bits/ioctls.h \ - /usr/include/arm-linux-gnueabihf/asm/ioctls.h \ - /usr/include/asm-generic/ioctls.h /usr/include/linux/ioctl.h \ - /usr/include/arm-linux-gnueabihf/asm/ioctl.h \ - /usr/include/asm-generic/ioctl.h \ - /usr/include/arm-linux-gnueabihf/bits/ioctl-types.h \ - /usr/include/arm-linux-gnueabihf/sys/ttydefaults.h \ - /usr/include/arm-linux-gnueabihf/bits/timex.h lib/bluetooth/bluetooth.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h \ - /usr/include/stdint.h /usr/include/arm-linux-gnueabihf/bits/wchar.h \ - /usr/include/byteswap.h /usr/include/netinet/in.h \ - /usr/include/arm-linux-gnueabihf/sys/socket.h \ - /usr/include/arm-linux-gnueabihf/sys/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/socket.h \ - /usr/include/arm-linux-gnueabihf/bits/socket_type.h \ - /usr/include/arm-linux-gnueabihf/bits/sockaddr.h \ - /usr/include/arm-linux-gnueabihf/asm/socket.h \ - /usr/include/asm-generic/socket.h \ - /usr/include/arm-linux-gnueabihf/asm/sockios.h \ - /usr/include/asm-generic/sockios.h \ - /usr/include/arm-linux-gnueabihf/bits/in.h lib/bluetooth/hci.h \ - lib/bluetooth/hci_lib.h tools/hciattach.h /usr/include/termios.h \ - /usr/include/arm-linux-gnueabihf/bits/termios.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/include/stdio.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/sys_errlist.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio.h: - -/usr/include/stdlib.h: - -/usr/include/arm-linux-gnueabihf/bits/waitflags.h: - -/usr/include/arm-linux-gnueabihf/bits/waitstatus.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/xlocale.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/time.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/alloca.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-float.h: - -/usr/include/unistd.h: - -/usr/include/arm-linux-gnueabihf/bits/posix_opt.h: - -/usr/include/arm-linux-gnueabihf/bits/environments.h: - -/usr/include/arm-linux-gnueabihf/bits/confname.h: - -/usr/include/getopt.h: - -/usr/include/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string2.h: - -/usr/include/errno.h: - -/usr/include/arm-linux-gnueabihf/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/arm-linux-gnueabihf/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/include/fcntl.h: - -/usr/include/arm-linux-gnueabihf/bits/fcntl.h: - -/usr/include/arm-linux-gnueabihf/bits/fcntl-linux.h: - -/usr/include/arm-linux-gnueabihf/bits/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/stat.h: - -/usr/include/arm-linux-gnueabihf/sys/param.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h: - -/usr/include/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/local_lim.h: - -/usr/include/linux/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix2_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/xopen_lim.h: - -/usr/include/signal.h: - -/usr/include/arm-linux-gnueabihf/bits/signum.h: - -/usr/include/arm-linux-gnueabihf/bits/siginfo.h: - -/usr/include/arm-linux-gnueabihf/bits/sigaction.h: - -/usr/include/arm-linux-gnueabihf/bits/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/asm/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigstack.h: - -/usr/include/arm-linux-gnueabihf/sys/ucontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigthread.h: - -/usr/include/arm-linux-gnueabihf/bits/param.h: - -/usr/include/linux/param.h: - -/usr/include/arm-linux-gnueabihf/asm/param.h: - -/usr/include/asm-generic/param.h: - -/usr/include/arm-linux-gnueabihf/sys/ioctl.h: - -/usr/include/arm-linux-gnueabihf/bits/ioctls.h: - -/usr/include/arm-linux-gnueabihf/asm/ioctls.h: - -/usr/include/asm-generic/ioctls.h: - -/usr/include/linux/ioctl.h: - -/usr/include/arm-linux-gnueabihf/asm/ioctl.h: - -/usr/include/asm-generic/ioctl.h: - -/usr/include/arm-linux-gnueabihf/bits/ioctl-types.h: - -/usr/include/arm-linux-gnueabihf/sys/ttydefaults.h: - -/usr/include/arm-linux-gnueabihf/bits/timex.h: - -lib/bluetooth/bluetooth.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/arm-linux-gnueabihf/bits/wchar.h: - -/usr/include/byteswap.h: - -/usr/include/netinet/in.h: - -/usr/include/arm-linux-gnueabihf/sys/socket.h: - -/usr/include/arm-linux-gnueabihf/sys/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/socket.h: - -/usr/include/arm-linux-gnueabihf/bits/socket_type.h: - -/usr/include/arm-linux-gnueabihf/bits/sockaddr.h: - -/usr/include/arm-linux-gnueabihf/asm/socket.h: - -/usr/include/asm-generic/socket.h: - -/usr/include/arm-linux-gnueabihf/asm/sockios.h: - -/usr/include/asm-generic/sockios.h: - -/usr/include/arm-linux-gnueabihf/bits/in.h: - -lib/bluetooth/hci.h: - -lib/bluetooth/hci_lib.h: - -tools/hciattach.h: - -/usr/include/termios.h: - -/usr/include/arm-linux-gnueabihf/bits/termios.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/tools/.deps/hciattach_qualcomm.Po b/GRIB_BLE_HUB/libs/ble_extend/tools/.deps/hciattach_qualcomm.Po deleted file mode 100644 index 6c96bcc..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/tools/.deps/hciattach_qualcomm.Po +++ /dev/null @@ -1,320 +0,0 @@ -tools/hciattach_qualcomm.o: tools/hciattach_qualcomm.c \ - /usr/include/stdc-predef.h config.h /usr/include/stdio.h \ - /usr/include/features.h /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/sys_errlist.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio.h /usr/include/errno.h \ - /usr/include/arm-linux-gnueabihf/bits/errno.h /usr/include/linux/errno.h \ - /usr/include/arm-linux-gnueabihf/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/include/fcntl.h /usr/include/arm-linux-gnueabihf/bits/fcntl.h \ - /usr/include/arm-linux-gnueabihf/bits/fcntl-linux.h \ - /usr/include/arm-linux-gnueabihf/bits/uio.h \ - /usr/include/arm-linux-gnueabihf/sys/types.h /usr/include/time.h \ - /usr/include/endian.h /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/arm-linux-gnueabihf/bits/stat.h /usr/include/unistd.h \ - /usr/include/arm-linux-gnueabihf/bits/posix_opt.h \ - /usr/include/arm-linux-gnueabihf/bits/environments.h \ - /usr/include/arm-linux-gnueabihf/bits/confname.h /usr/include/getopt.h \ - /usr/include/stdlib.h /usr/include/arm-linux-gnueabihf/bits/waitflags.h \ - /usr/include/arm-linux-gnueabihf/bits/waitstatus.h \ - /usr/include/xlocale.h /usr/include/alloca.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-float.h \ - /usr/include/string.h /usr/include/arm-linux-gnueabihf/bits/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string2.h /usr/include/signal.h \ - /usr/include/arm-linux-gnueabihf/bits/signum.h \ - /usr/include/arm-linux-gnueabihf/bits/siginfo.h \ - /usr/include/arm-linux-gnueabihf/bits/sigaction.h \ - /usr/include/arm-linux-gnueabihf/bits/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/asm/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigstack.h \ - /usr/include/arm-linux-gnueabihf/sys/ucontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigthread.h /usr/include/syslog.h \ - /usr/include/arm-linux-gnueabihf/sys/syslog.h \ - /usr/include/arm-linux-gnueabihf/bits/syslog-path.h \ - /usr/include/termios.h /usr/include/arm-linux-gnueabihf/bits/termios.h \ - /usr/include/arm-linux-gnueabihf/sys/ttydefaults.h \ - /usr/include/arm-linux-gnueabihf/bits/timex.h \ - /usr/include/arm-linux-gnueabihf/sys/time.h \ - /usr/include/arm-linux-gnueabihf/sys/poll.h \ - /usr/include/arm-linux-gnueabihf/bits/poll.h \ - /usr/include/arm-linux-gnueabihf/sys/param.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h \ - /usr/include/limits.h /usr/include/arm-linux-gnueabihf/bits/posix1_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/local_lim.h \ - /usr/include/linux/limits.h \ - /usr/include/arm-linux-gnueabihf/bits/posix2_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/xopen_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/param.h /usr/include/linux/param.h \ - /usr/include/arm-linux-gnueabihf/asm/param.h \ - /usr/include/asm-generic/param.h \ - /usr/include/arm-linux-gnueabihf/sys/ioctl.h \ - /usr/include/arm-linux-gnueabihf/bits/ioctls.h \ - /usr/include/arm-linux-gnueabihf/asm/ioctls.h \ - /usr/include/asm-generic/ioctls.h /usr/include/linux/ioctl.h \ - /usr/include/arm-linux-gnueabihf/asm/ioctl.h \ - /usr/include/asm-generic/ioctl.h \ - /usr/include/arm-linux-gnueabihf/bits/ioctl-types.h \ - lib/bluetooth/bluetooth.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h \ - /usr/include/stdint.h /usr/include/arm-linux-gnueabihf/bits/wchar.h \ - /usr/include/byteswap.h /usr/include/netinet/in.h \ - /usr/include/arm-linux-gnueabihf/sys/socket.h \ - /usr/include/arm-linux-gnueabihf/sys/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/socket.h \ - /usr/include/arm-linux-gnueabihf/bits/socket_type.h \ - /usr/include/arm-linux-gnueabihf/bits/sockaddr.h \ - /usr/include/arm-linux-gnueabihf/asm/socket.h \ - /usr/include/asm-generic/socket.h \ - /usr/include/arm-linux-gnueabihf/asm/sockios.h \ - /usr/include/asm-generic/sockios.h \ - /usr/include/arm-linux-gnueabihf/bits/in.h lib/bluetooth/hci.h \ - lib/bluetooth/hci_lib.h tools/hciattach.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/include/stdio.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/sys_errlist.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio.h: - -/usr/include/errno.h: - -/usr/include/arm-linux-gnueabihf/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/arm-linux-gnueabihf/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/include/fcntl.h: - -/usr/include/arm-linux-gnueabihf/bits/fcntl.h: - -/usr/include/arm-linux-gnueabihf/bits/fcntl-linux.h: - -/usr/include/arm-linux-gnueabihf/bits/uio.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/time.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/arm-linux-gnueabihf/bits/stat.h: - -/usr/include/unistd.h: - -/usr/include/arm-linux-gnueabihf/bits/posix_opt.h: - -/usr/include/arm-linux-gnueabihf/bits/environments.h: - -/usr/include/arm-linux-gnueabihf/bits/confname.h: - -/usr/include/getopt.h: - -/usr/include/stdlib.h: - -/usr/include/arm-linux-gnueabihf/bits/waitflags.h: - -/usr/include/arm-linux-gnueabihf/bits/waitstatus.h: - -/usr/include/xlocale.h: - -/usr/include/alloca.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-float.h: - -/usr/include/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string2.h: - -/usr/include/signal.h: - -/usr/include/arm-linux-gnueabihf/bits/signum.h: - -/usr/include/arm-linux-gnueabihf/bits/siginfo.h: - -/usr/include/arm-linux-gnueabihf/bits/sigaction.h: - -/usr/include/arm-linux-gnueabihf/bits/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/asm/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigstack.h: - -/usr/include/arm-linux-gnueabihf/sys/ucontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigthread.h: - -/usr/include/syslog.h: - -/usr/include/arm-linux-gnueabihf/sys/syslog.h: - -/usr/include/arm-linux-gnueabihf/bits/syslog-path.h: - -/usr/include/termios.h: - -/usr/include/arm-linux-gnueabihf/bits/termios.h: - -/usr/include/arm-linux-gnueabihf/sys/ttydefaults.h: - -/usr/include/arm-linux-gnueabihf/bits/timex.h: - -/usr/include/arm-linux-gnueabihf/sys/time.h: - -/usr/include/arm-linux-gnueabihf/sys/poll.h: - -/usr/include/arm-linux-gnueabihf/bits/poll.h: - -/usr/include/arm-linux-gnueabihf/sys/param.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h: - -/usr/include/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/local_lim.h: - -/usr/include/linux/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix2_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/xopen_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/param.h: - -/usr/include/linux/param.h: - -/usr/include/arm-linux-gnueabihf/asm/param.h: - -/usr/include/asm-generic/param.h: - -/usr/include/arm-linux-gnueabihf/sys/ioctl.h: - -/usr/include/arm-linux-gnueabihf/bits/ioctls.h: - -/usr/include/arm-linux-gnueabihf/asm/ioctls.h: - -/usr/include/asm-generic/ioctls.h: - -/usr/include/linux/ioctl.h: - -/usr/include/arm-linux-gnueabihf/asm/ioctl.h: - -/usr/include/asm-generic/ioctl.h: - -/usr/include/arm-linux-gnueabihf/bits/ioctl-types.h: - -lib/bluetooth/bluetooth.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/arm-linux-gnueabihf/bits/wchar.h: - -/usr/include/byteswap.h: - -/usr/include/netinet/in.h: - -/usr/include/arm-linux-gnueabihf/sys/socket.h: - -/usr/include/arm-linux-gnueabihf/sys/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/socket.h: - -/usr/include/arm-linux-gnueabihf/bits/socket_type.h: - -/usr/include/arm-linux-gnueabihf/bits/sockaddr.h: - -/usr/include/arm-linux-gnueabihf/asm/socket.h: - -/usr/include/asm-generic/socket.h: - -/usr/include/arm-linux-gnueabihf/asm/sockios.h: - -/usr/include/asm-generic/sockios.h: - -/usr/include/arm-linux-gnueabihf/bits/in.h: - -lib/bluetooth/hci.h: - -lib/bluetooth/hci_lib.h: - -tools/hciattach.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/tools/.deps/hciattach_st.Po b/GRIB_BLE_HUB/libs/ble_extend/tools/.deps/hciattach_st.Po deleted file mode 100644 index a9b0a23..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/tools/.deps/hciattach_st.Po +++ /dev/null @@ -1,275 +0,0 @@ -tools/hciattach_st.o: tools/hciattach_st.c /usr/include/stdc-predef.h \ - config.h /usr/include/stdio.h /usr/include/features.h \ - /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/sys_errlist.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio.h /usr/include/errno.h \ - /usr/include/arm-linux-gnueabihf/bits/errno.h /usr/include/linux/errno.h \ - /usr/include/arm-linux-gnueabihf/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/include/fcntl.h /usr/include/arm-linux-gnueabihf/bits/fcntl.h \ - /usr/include/arm-linux-gnueabihf/bits/fcntl-linux.h \ - /usr/include/arm-linux-gnueabihf/bits/uio.h \ - /usr/include/arm-linux-gnueabihf/sys/types.h /usr/include/time.h \ - /usr/include/endian.h /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/arm-linux-gnueabihf/bits/stat.h /usr/include/unistd.h \ - /usr/include/arm-linux-gnueabihf/bits/posix_opt.h \ - /usr/include/arm-linux-gnueabihf/bits/environments.h \ - /usr/include/arm-linux-gnueabihf/bits/confname.h /usr/include/getopt.h \ - /usr/include/stdlib.h /usr/include/arm-linux-gnueabihf/bits/waitflags.h \ - /usr/include/arm-linux-gnueabihf/bits/waitstatus.h \ - /usr/include/xlocale.h /usr/include/alloca.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-float.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h \ - /usr/include/stdint.h /usr/include/arm-linux-gnueabihf/bits/wchar.h \ - /usr/include/string.h /usr/include/arm-linux-gnueabihf/bits/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string2.h /usr/include/dirent.h \ - /usr/include/arm-linux-gnueabihf/bits/dirent.h \ - /usr/include/arm-linux-gnueabihf/bits/posix1_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/local_lim.h \ - /usr/include/linux/limits.h /usr/include/arm-linux-gnueabihf/sys/param.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h \ - /usr/include/limits.h /usr/include/arm-linux-gnueabihf/bits/posix2_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/xopen_lim.h /usr/include/signal.h \ - /usr/include/arm-linux-gnueabihf/bits/signum.h \ - /usr/include/arm-linux-gnueabihf/bits/siginfo.h \ - /usr/include/arm-linux-gnueabihf/bits/sigaction.h \ - /usr/include/arm-linux-gnueabihf/bits/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/asm/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigstack.h \ - /usr/include/arm-linux-gnueabihf/sys/ucontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigthread.h \ - /usr/include/arm-linux-gnueabihf/bits/param.h /usr/include/linux/param.h \ - /usr/include/arm-linux-gnueabihf/asm/param.h \ - /usr/include/asm-generic/param.h lib/bluetooth/bluetooth.h \ - /usr/include/byteswap.h /usr/include/netinet/in.h \ - /usr/include/arm-linux-gnueabihf/sys/socket.h \ - /usr/include/arm-linux-gnueabihf/sys/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/socket.h \ - /usr/include/arm-linux-gnueabihf/bits/socket_type.h \ - /usr/include/arm-linux-gnueabihf/bits/sockaddr.h \ - /usr/include/arm-linux-gnueabihf/asm/socket.h \ - /usr/include/asm-generic/socket.h \ - /usr/include/arm-linux-gnueabihf/asm/sockios.h \ - /usr/include/asm-generic/sockios.h \ - /usr/include/arm-linux-gnueabihf/bits/in.h tools/hciattach.h \ - /usr/include/termios.h /usr/include/arm-linux-gnueabihf/bits/termios.h \ - /usr/include/arm-linux-gnueabihf/sys/ttydefaults.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/include/stdio.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/sys_errlist.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio.h: - -/usr/include/errno.h: - -/usr/include/arm-linux-gnueabihf/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/arm-linux-gnueabihf/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/include/fcntl.h: - -/usr/include/arm-linux-gnueabihf/bits/fcntl.h: - -/usr/include/arm-linux-gnueabihf/bits/fcntl-linux.h: - -/usr/include/arm-linux-gnueabihf/bits/uio.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/time.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/arm-linux-gnueabihf/bits/stat.h: - -/usr/include/unistd.h: - -/usr/include/arm-linux-gnueabihf/bits/posix_opt.h: - -/usr/include/arm-linux-gnueabihf/bits/environments.h: - -/usr/include/arm-linux-gnueabihf/bits/confname.h: - -/usr/include/getopt.h: - -/usr/include/stdlib.h: - -/usr/include/arm-linux-gnueabihf/bits/waitflags.h: - -/usr/include/arm-linux-gnueabihf/bits/waitstatus.h: - -/usr/include/xlocale.h: - -/usr/include/alloca.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-float.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/arm-linux-gnueabihf/bits/wchar.h: - -/usr/include/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string2.h: - -/usr/include/dirent.h: - -/usr/include/arm-linux-gnueabihf/bits/dirent.h: - -/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/local_lim.h: - -/usr/include/linux/limits.h: - -/usr/include/arm-linux-gnueabihf/sys/param.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h: - -/usr/include/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix2_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/xopen_lim.h: - -/usr/include/signal.h: - -/usr/include/arm-linux-gnueabihf/bits/signum.h: - -/usr/include/arm-linux-gnueabihf/bits/siginfo.h: - -/usr/include/arm-linux-gnueabihf/bits/sigaction.h: - -/usr/include/arm-linux-gnueabihf/bits/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/asm/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigstack.h: - -/usr/include/arm-linux-gnueabihf/sys/ucontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigthread.h: - -/usr/include/arm-linux-gnueabihf/bits/param.h: - -/usr/include/linux/param.h: - -/usr/include/arm-linux-gnueabihf/asm/param.h: - -/usr/include/asm-generic/param.h: - -lib/bluetooth/bluetooth.h: - -/usr/include/byteswap.h: - -/usr/include/netinet/in.h: - -/usr/include/arm-linux-gnueabihf/sys/socket.h: - -/usr/include/arm-linux-gnueabihf/sys/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/socket.h: - -/usr/include/arm-linux-gnueabihf/bits/socket_type.h: - -/usr/include/arm-linux-gnueabihf/bits/sockaddr.h: - -/usr/include/arm-linux-gnueabihf/asm/socket.h: - -/usr/include/asm-generic/socket.h: - -/usr/include/arm-linux-gnueabihf/asm/sockios.h: - -/usr/include/asm-generic/sockios.h: - -/usr/include/arm-linux-gnueabihf/bits/in.h: - -tools/hciattach.h: - -/usr/include/termios.h: - -/usr/include/arm-linux-gnueabihf/bits/termios.h: - -/usr/include/arm-linux-gnueabihf/sys/ttydefaults.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/tools/.deps/hciattach_ti.Po b/GRIB_BLE_HUB/libs/ble_extend/tools/.deps/hciattach_ti.Po deleted file mode 100644 index 96ac326..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/tools/.deps/hciattach_ti.Po +++ /dev/null @@ -1,294 +0,0 @@ -tools/hciattach_ti.o: tools/hciattach_ti.c /usr/include/stdc-predef.h \ - config.h /usr/include/stdio.h /usr/include/features.h \ - /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/sys_errlist.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio.h /usr/include/errno.h \ - /usr/include/arm-linux-gnueabihf/bits/errno.h /usr/include/linux/errno.h \ - /usr/include/arm-linux-gnueabihf/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/include/unistd.h /usr/include/arm-linux-gnueabihf/bits/posix_opt.h \ - /usr/include/arm-linux-gnueabihf/bits/environments.h \ - /usr/include/arm-linux-gnueabihf/bits/confname.h /usr/include/getopt.h \ - /usr/include/stdlib.h /usr/include/arm-linux-gnueabihf/bits/waitflags.h \ - /usr/include/arm-linux-gnueabihf/bits/waitstatus.h /usr/include/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/xlocale.h /usr/include/arm-linux-gnueabihf/sys/types.h \ - /usr/include/time.h /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/alloca.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-float.h \ - /usr/include/termios.h /usr/include/arm-linux-gnueabihf/bits/termios.h \ - /usr/include/arm-linux-gnueabihf/sys/ttydefaults.h \ - /usr/include/arm-linux-gnueabihf/bits/timex.h \ - /usr/include/arm-linux-gnueabihf/sys/time.h \ - /usr/include/arm-linux-gnueabihf/sys/param.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h \ - /usr/include/limits.h /usr/include/arm-linux-gnueabihf/bits/posix1_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/local_lim.h \ - /usr/include/linux/limits.h \ - /usr/include/arm-linux-gnueabihf/bits/posix2_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/xopen_lim.h /usr/include/signal.h \ - /usr/include/arm-linux-gnueabihf/bits/signum.h \ - /usr/include/arm-linux-gnueabihf/bits/siginfo.h \ - /usr/include/arm-linux-gnueabihf/bits/sigaction.h \ - /usr/include/arm-linux-gnueabihf/bits/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/asm/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigstack.h \ - /usr/include/arm-linux-gnueabihf/sys/ucontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigthread.h \ - /usr/include/arm-linux-gnueabihf/bits/param.h /usr/include/linux/param.h \ - /usr/include/arm-linux-gnueabihf/asm/param.h \ - /usr/include/asm-generic/param.h \ - /usr/include/arm-linux-gnueabihf/sys/ioctl.h \ - /usr/include/arm-linux-gnueabihf/bits/ioctls.h \ - /usr/include/arm-linux-gnueabihf/asm/ioctls.h \ - /usr/include/asm-generic/ioctls.h /usr/include/linux/ioctl.h \ - /usr/include/arm-linux-gnueabihf/asm/ioctl.h \ - /usr/include/asm-generic/ioctl.h \ - /usr/include/arm-linux-gnueabihf/bits/ioctl-types.h \ - lib/bluetooth/bluetooth.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h \ - /usr/include/stdint.h /usr/include/arm-linux-gnueabihf/bits/wchar.h \ - /usr/include/string.h /usr/include/arm-linux-gnueabihf/bits/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string2.h /usr/include/byteswap.h \ - /usr/include/netinet/in.h /usr/include/arm-linux-gnueabihf/sys/socket.h \ - /usr/include/arm-linux-gnueabihf/sys/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/socket.h \ - /usr/include/arm-linux-gnueabihf/bits/socket_type.h \ - /usr/include/arm-linux-gnueabihf/bits/sockaddr.h \ - /usr/include/arm-linux-gnueabihf/asm/socket.h \ - /usr/include/asm-generic/socket.h \ - /usr/include/arm-linux-gnueabihf/asm/sockios.h \ - /usr/include/asm-generic/sockios.h \ - /usr/include/arm-linux-gnueabihf/bits/in.h lib/bluetooth/hci.h \ - lib/bluetooth/hci_lib.h tools/hciattach.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/include/stdio.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/sys_errlist.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio.h: - -/usr/include/errno.h: - -/usr/include/arm-linux-gnueabihf/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/arm-linux-gnueabihf/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/include/unistd.h: - -/usr/include/arm-linux-gnueabihf/bits/posix_opt.h: - -/usr/include/arm-linux-gnueabihf/bits/environments.h: - -/usr/include/arm-linux-gnueabihf/bits/confname.h: - -/usr/include/getopt.h: - -/usr/include/stdlib.h: - -/usr/include/arm-linux-gnueabihf/bits/waitflags.h: - -/usr/include/arm-linux-gnueabihf/bits/waitstatus.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/xlocale.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/time.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/alloca.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-float.h: - -/usr/include/termios.h: - -/usr/include/arm-linux-gnueabihf/bits/termios.h: - -/usr/include/arm-linux-gnueabihf/sys/ttydefaults.h: - -/usr/include/arm-linux-gnueabihf/bits/timex.h: - -/usr/include/arm-linux-gnueabihf/sys/time.h: - -/usr/include/arm-linux-gnueabihf/sys/param.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h: - -/usr/include/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/local_lim.h: - -/usr/include/linux/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix2_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/xopen_lim.h: - -/usr/include/signal.h: - -/usr/include/arm-linux-gnueabihf/bits/signum.h: - -/usr/include/arm-linux-gnueabihf/bits/siginfo.h: - -/usr/include/arm-linux-gnueabihf/bits/sigaction.h: - -/usr/include/arm-linux-gnueabihf/bits/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/asm/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigstack.h: - -/usr/include/arm-linux-gnueabihf/sys/ucontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigthread.h: - -/usr/include/arm-linux-gnueabihf/bits/param.h: - -/usr/include/linux/param.h: - -/usr/include/arm-linux-gnueabihf/asm/param.h: - -/usr/include/asm-generic/param.h: - -/usr/include/arm-linux-gnueabihf/sys/ioctl.h: - -/usr/include/arm-linux-gnueabihf/bits/ioctls.h: - -/usr/include/arm-linux-gnueabihf/asm/ioctls.h: - -/usr/include/asm-generic/ioctls.h: - -/usr/include/linux/ioctl.h: - -/usr/include/arm-linux-gnueabihf/asm/ioctl.h: - -/usr/include/asm-generic/ioctl.h: - -/usr/include/arm-linux-gnueabihf/bits/ioctl-types.h: - -lib/bluetooth/bluetooth.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/arm-linux-gnueabihf/bits/wchar.h: - -/usr/include/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string2.h: - -/usr/include/byteswap.h: - -/usr/include/netinet/in.h: - -/usr/include/arm-linux-gnueabihf/sys/socket.h: - -/usr/include/arm-linux-gnueabihf/sys/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/socket.h: - -/usr/include/arm-linux-gnueabihf/bits/socket_type.h: - -/usr/include/arm-linux-gnueabihf/bits/sockaddr.h: - -/usr/include/arm-linux-gnueabihf/asm/socket.h: - -/usr/include/asm-generic/socket.h: - -/usr/include/arm-linux-gnueabihf/asm/sockios.h: - -/usr/include/asm-generic/sockios.h: - -/usr/include/arm-linux-gnueabihf/bits/in.h: - -lib/bluetooth/hci.h: - -lib/bluetooth/hci_lib.h: - -tools/hciattach.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/tools/.deps/hciattach_tialt.Po b/GRIB_BLE_HUB/libs/ble_extend/tools/.deps/hciattach_tialt.Po deleted file mode 100644 index 5ce448a..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/tools/.deps/hciattach_tialt.Po +++ /dev/null @@ -1,320 +0,0 @@ -tools/hciattach_tialt.o: tools/hciattach_tialt.c \ - /usr/include/stdc-predef.h config.h /usr/include/stdio.h \ - /usr/include/features.h /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/sys_errlist.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio.h /usr/include/errno.h \ - /usr/include/arm-linux-gnueabihf/bits/errno.h /usr/include/linux/errno.h \ - /usr/include/arm-linux-gnueabihf/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/include/fcntl.h /usr/include/arm-linux-gnueabihf/bits/fcntl.h \ - /usr/include/arm-linux-gnueabihf/bits/fcntl-linux.h \ - /usr/include/arm-linux-gnueabihf/bits/uio.h \ - /usr/include/arm-linux-gnueabihf/sys/types.h /usr/include/time.h \ - /usr/include/endian.h /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/arm-linux-gnueabihf/bits/stat.h /usr/include/unistd.h \ - /usr/include/arm-linux-gnueabihf/bits/posix_opt.h \ - /usr/include/arm-linux-gnueabihf/bits/environments.h \ - /usr/include/arm-linux-gnueabihf/bits/confname.h /usr/include/getopt.h \ - /usr/include/stdlib.h /usr/include/arm-linux-gnueabihf/bits/waitflags.h \ - /usr/include/arm-linux-gnueabihf/bits/waitstatus.h \ - /usr/include/xlocale.h /usr/include/alloca.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-float.h \ - /usr/include/string.h /usr/include/arm-linux-gnueabihf/bits/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string2.h /usr/include/signal.h \ - /usr/include/arm-linux-gnueabihf/bits/signum.h \ - /usr/include/arm-linux-gnueabihf/bits/siginfo.h \ - /usr/include/arm-linux-gnueabihf/bits/sigaction.h \ - /usr/include/arm-linux-gnueabihf/bits/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/asm/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigstack.h \ - /usr/include/arm-linux-gnueabihf/sys/ucontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigthread.h /usr/include/syslog.h \ - /usr/include/arm-linux-gnueabihf/sys/syslog.h \ - /usr/include/arm-linux-gnueabihf/bits/syslog-path.h \ - /usr/include/termios.h /usr/include/arm-linux-gnueabihf/bits/termios.h \ - /usr/include/arm-linux-gnueabihf/sys/ttydefaults.h \ - /usr/include/arm-linux-gnueabihf/bits/timex.h \ - /usr/include/arm-linux-gnueabihf/sys/time.h \ - /usr/include/arm-linux-gnueabihf/sys/poll.h \ - /usr/include/arm-linux-gnueabihf/bits/poll.h \ - /usr/include/arm-linux-gnueabihf/sys/param.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h \ - /usr/include/limits.h /usr/include/arm-linux-gnueabihf/bits/posix1_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/local_lim.h \ - /usr/include/linux/limits.h \ - /usr/include/arm-linux-gnueabihf/bits/posix2_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/xopen_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/param.h /usr/include/linux/param.h \ - /usr/include/arm-linux-gnueabihf/asm/param.h \ - /usr/include/asm-generic/param.h \ - /usr/include/arm-linux-gnueabihf/sys/ioctl.h \ - /usr/include/arm-linux-gnueabihf/bits/ioctls.h \ - /usr/include/arm-linux-gnueabihf/asm/ioctls.h \ - /usr/include/asm-generic/ioctls.h /usr/include/linux/ioctl.h \ - /usr/include/arm-linux-gnueabihf/asm/ioctl.h \ - /usr/include/asm-generic/ioctl.h \ - /usr/include/arm-linux-gnueabihf/bits/ioctl-types.h \ - lib/bluetooth/bluetooth.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h \ - /usr/include/stdint.h /usr/include/arm-linux-gnueabihf/bits/wchar.h \ - /usr/include/byteswap.h /usr/include/netinet/in.h \ - /usr/include/arm-linux-gnueabihf/sys/socket.h \ - /usr/include/arm-linux-gnueabihf/sys/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/socket.h \ - /usr/include/arm-linux-gnueabihf/bits/socket_type.h \ - /usr/include/arm-linux-gnueabihf/bits/sockaddr.h \ - /usr/include/arm-linux-gnueabihf/asm/socket.h \ - /usr/include/asm-generic/socket.h \ - /usr/include/arm-linux-gnueabihf/asm/sockios.h \ - /usr/include/asm-generic/sockios.h \ - /usr/include/arm-linux-gnueabihf/bits/in.h lib/bluetooth/hci.h \ - lib/bluetooth/hci_lib.h tools/hciattach.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/include/stdio.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/sys_errlist.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio.h: - -/usr/include/errno.h: - -/usr/include/arm-linux-gnueabihf/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/arm-linux-gnueabihf/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/include/fcntl.h: - -/usr/include/arm-linux-gnueabihf/bits/fcntl.h: - -/usr/include/arm-linux-gnueabihf/bits/fcntl-linux.h: - -/usr/include/arm-linux-gnueabihf/bits/uio.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/time.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/arm-linux-gnueabihf/bits/stat.h: - -/usr/include/unistd.h: - -/usr/include/arm-linux-gnueabihf/bits/posix_opt.h: - -/usr/include/arm-linux-gnueabihf/bits/environments.h: - -/usr/include/arm-linux-gnueabihf/bits/confname.h: - -/usr/include/getopt.h: - -/usr/include/stdlib.h: - -/usr/include/arm-linux-gnueabihf/bits/waitflags.h: - -/usr/include/arm-linux-gnueabihf/bits/waitstatus.h: - -/usr/include/xlocale.h: - -/usr/include/alloca.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-float.h: - -/usr/include/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string2.h: - -/usr/include/signal.h: - -/usr/include/arm-linux-gnueabihf/bits/signum.h: - -/usr/include/arm-linux-gnueabihf/bits/siginfo.h: - -/usr/include/arm-linux-gnueabihf/bits/sigaction.h: - -/usr/include/arm-linux-gnueabihf/bits/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/asm/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigstack.h: - -/usr/include/arm-linux-gnueabihf/sys/ucontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigthread.h: - -/usr/include/syslog.h: - -/usr/include/arm-linux-gnueabihf/sys/syslog.h: - -/usr/include/arm-linux-gnueabihf/bits/syslog-path.h: - -/usr/include/termios.h: - -/usr/include/arm-linux-gnueabihf/bits/termios.h: - -/usr/include/arm-linux-gnueabihf/sys/ttydefaults.h: - -/usr/include/arm-linux-gnueabihf/bits/timex.h: - -/usr/include/arm-linux-gnueabihf/sys/time.h: - -/usr/include/arm-linux-gnueabihf/sys/poll.h: - -/usr/include/arm-linux-gnueabihf/bits/poll.h: - -/usr/include/arm-linux-gnueabihf/sys/param.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h: - -/usr/include/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/local_lim.h: - -/usr/include/linux/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix2_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/xopen_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/param.h: - -/usr/include/linux/param.h: - -/usr/include/arm-linux-gnueabihf/asm/param.h: - -/usr/include/asm-generic/param.h: - -/usr/include/arm-linux-gnueabihf/sys/ioctl.h: - -/usr/include/arm-linux-gnueabihf/bits/ioctls.h: - -/usr/include/arm-linux-gnueabihf/asm/ioctls.h: - -/usr/include/asm-generic/ioctls.h: - -/usr/include/linux/ioctl.h: - -/usr/include/arm-linux-gnueabihf/asm/ioctl.h: - -/usr/include/asm-generic/ioctl.h: - -/usr/include/arm-linux-gnueabihf/bits/ioctl-types.h: - -lib/bluetooth/bluetooth.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/arm-linux-gnueabihf/bits/wchar.h: - -/usr/include/byteswap.h: - -/usr/include/netinet/in.h: - -/usr/include/arm-linux-gnueabihf/sys/socket.h: - -/usr/include/arm-linux-gnueabihf/sys/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/socket.h: - -/usr/include/arm-linux-gnueabihf/bits/socket_type.h: - -/usr/include/arm-linux-gnueabihf/bits/sockaddr.h: - -/usr/include/arm-linux-gnueabihf/asm/socket.h: - -/usr/include/asm-generic/socket.h: - -/usr/include/arm-linux-gnueabihf/asm/sockios.h: - -/usr/include/asm-generic/sockios.h: - -/usr/include/arm-linux-gnueabihf/bits/in.h: - -lib/bluetooth/hci.h: - -lib/bluetooth/hci_lib.h: - -tools/hciattach.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/tools/.deps/hciconfig.Po b/GRIB_BLE_HUB/libs/ble_extend/tools/.deps/hciconfig.Po deleted file mode 100644 index a8448f7..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/tools/.deps/hciconfig.Po +++ /dev/null @@ -1,294 +0,0 @@ -tools/hciconfig.o: tools/hciconfig.c /usr/include/stdc-predef.h config.h \ - /usr/include/stdio.h /usr/include/features.h \ - /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/sys_errlist.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio.h /usr/include/errno.h \ - /usr/include/arm-linux-gnueabihf/bits/errno.h /usr/include/linux/errno.h \ - /usr/include/arm-linux-gnueabihf/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/include/ctype.h /usr/include/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/xlocale.h /usr/include/unistd.h \ - /usr/include/arm-linux-gnueabihf/bits/posix_opt.h \ - /usr/include/arm-linux-gnueabihf/bits/environments.h \ - /usr/include/arm-linux-gnueabihf/bits/confname.h /usr/include/getopt.h \ - /usr/include/stdlib.h /usr/include/arm-linux-gnueabihf/bits/waitflags.h \ - /usr/include/arm-linux-gnueabihf/bits/waitstatus.h \ - /usr/include/arm-linux-gnueabihf/sys/types.h /usr/include/time.h \ - /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/alloca.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-float.h \ - /usr/include/string.h /usr/include/arm-linux-gnueabihf/bits/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string2.h \ - /usr/include/arm-linux-gnueabihf/sys/param.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h \ - /usr/include/limits.h /usr/include/arm-linux-gnueabihf/bits/posix1_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/local_lim.h \ - /usr/include/linux/limits.h \ - /usr/include/arm-linux-gnueabihf/bits/posix2_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/xopen_lim.h /usr/include/signal.h \ - /usr/include/arm-linux-gnueabihf/bits/signum.h \ - /usr/include/arm-linux-gnueabihf/bits/siginfo.h \ - /usr/include/arm-linux-gnueabihf/bits/sigaction.h \ - /usr/include/arm-linux-gnueabihf/bits/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/asm/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigstack.h \ - /usr/include/arm-linux-gnueabihf/sys/ucontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigthread.h \ - /usr/include/arm-linux-gnueabihf/bits/param.h /usr/include/linux/param.h \ - /usr/include/arm-linux-gnueabihf/asm/param.h \ - /usr/include/asm-generic/param.h \ - /usr/include/arm-linux-gnueabihf/sys/ioctl.h \ - /usr/include/arm-linux-gnueabihf/bits/ioctls.h \ - /usr/include/arm-linux-gnueabihf/asm/ioctls.h \ - /usr/include/asm-generic/ioctls.h /usr/include/linux/ioctl.h \ - /usr/include/arm-linux-gnueabihf/asm/ioctl.h \ - /usr/include/asm-generic/ioctl.h \ - /usr/include/arm-linux-gnueabihf/bits/ioctl-types.h \ - /usr/include/arm-linux-gnueabihf/sys/ttydefaults.h \ - /usr/include/arm-linux-gnueabihf/sys/socket.h \ - /usr/include/arm-linux-gnueabihf/sys/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/socket.h \ - /usr/include/arm-linux-gnueabihf/bits/socket_type.h \ - /usr/include/arm-linux-gnueabihf/bits/sockaddr.h \ - /usr/include/arm-linux-gnueabihf/asm/socket.h \ - /usr/include/asm-generic/socket.h \ - /usr/include/arm-linux-gnueabihf/asm/sockios.h \ - /usr/include/asm-generic/sockios.h lib/bluetooth/bluetooth.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h \ - /usr/include/stdint.h /usr/include/arm-linux-gnueabihf/bits/wchar.h \ - /usr/include/byteswap.h /usr/include/netinet/in.h \ - /usr/include/arm-linux-gnueabihf/bits/in.h lib/bluetooth/hci.h \ - lib/bluetooth/hci_lib.h src/textfile.h tools/csr.h \ - /usr/include/termios.h /usr/include/arm-linux-gnueabihf/bits/termios.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/include/stdio.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/sys_errlist.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio.h: - -/usr/include/errno.h: - -/usr/include/arm-linux-gnueabihf/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/arm-linux-gnueabihf/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/include/ctype.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/xlocale.h: - -/usr/include/unistd.h: - -/usr/include/arm-linux-gnueabihf/bits/posix_opt.h: - -/usr/include/arm-linux-gnueabihf/bits/environments.h: - -/usr/include/arm-linux-gnueabihf/bits/confname.h: - -/usr/include/getopt.h: - -/usr/include/stdlib.h: - -/usr/include/arm-linux-gnueabihf/bits/waitflags.h: - -/usr/include/arm-linux-gnueabihf/bits/waitstatus.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/time.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/alloca.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-float.h: - -/usr/include/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string2.h: - -/usr/include/arm-linux-gnueabihf/sys/param.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h: - -/usr/include/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/local_lim.h: - -/usr/include/linux/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix2_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/xopen_lim.h: - -/usr/include/signal.h: - -/usr/include/arm-linux-gnueabihf/bits/signum.h: - -/usr/include/arm-linux-gnueabihf/bits/siginfo.h: - -/usr/include/arm-linux-gnueabihf/bits/sigaction.h: - -/usr/include/arm-linux-gnueabihf/bits/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/asm/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigstack.h: - -/usr/include/arm-linux-gnueabihf/sys/ucontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigthread.h: - -/usr/include/arm-linux-gnueabihf/bits/param.h: - -/usr/include/linux/param.h: - -/usr/include/arm-linux-gnueabihf/asm/param.h: - -/usr/include/asm-generic/param.h: - -/usr/include/arm-linux-gnueabihf/sys/ioctl.h: - -/usr/include/arm-linux-gnueabihf/bits/ioctls.h: - -/usr/include/arm-linux-gnueabihf/asm/ioctls.h: - -/usr/include/asm-generic/ioctls.h: - -/usr/include/linux/ioctl.h: - -/usr/include/arm-linux-gnueabihf/asm/ioctl.h: - -/usr/include/asm-generic/ioctl.h: - -/usr/include/arm-linux-gnueabihf/bits/ioctl-types.h: - -/usr/include/arm-linux-gnueabihf/sys/ttydefaults.h: - -/usr/include/arm-linux-gnueabihf/sys/socket.h: - -/usr/include/arm-linux-gnueabihf/sys/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/socket.h: - -/usr/include/arm-linux-gnueabihf/bits/socket_type.h: - -/usr/include/arm-linux-gnueabihf/bits/sockaddr.h: - -/usr/include/arm-linux-gnueabihf/asm/socket.h: - -/usr/include/asm-generic/socket.h: - -/usr/include/arm-linux-gnueabihf/asm/sockios.h: - -/usr/include/asm-generic/sockios.h: - -lib/bluetooth/bluetooth.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/arm-linux-gnueabihf/bits/wchar.h: - -/usr/include/byteswap.h: - -/usr/include/netinet/in.h: - -/usr/include/arm-linux-gnueabihf/bits/in.h: - -lib/bluetooth/hci.h: - -lib/bluetooth/hci_lib.h: - -src/textfile.h: - -tools/csr.h: - -/usr/include/termios.h: - -/usr/include/arm-linux-gnueabihf/bits/termios.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/tools/.deps/hcidump.Po b/GRIB_BLE_HUB/libs/ble_extend/tools/.deps/hcidump.Po deleted file mode 100644 index dfd6c2a..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/tools/.deps/hcidump.Po +++ /dev/null @@ -1,247 +0,0 @@ -tools/hcidump.o: tools/hcidump.c /usr/include/stdc-predef.h config.h \ - /usr/include/stdio.h /usr/include/features.h \ - /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/sys_errlist.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio.h /usr/include/errno.h \ - /usr/include/arm-linux-gnueabihf/bits/errno.h /usr/include/linux/errno.h \ - /usr/include/arm-linux-gnueabihf/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/include/fcntl.h /usr/include/arm-linux-gnueabihf/bits/fcntl.h \ - /usr/include/arm-linux-gnueabihf/bits/fcntl-linux.h \ - /usr/include/arm-linux-gnueabihf/bits/uio.h \ - /usr/include/arm-linux-gnueabihf/sys/types.h /usr/include/time.h \ - /usr/include/endian.h /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/arm-linux-gnueabihf/bits/stat.h /usr/include/unistd.h \ - /usr/include/arm-linux-gnueabihf/bits/posix_opt.h \ - /usr/include/arm-linux-gnueabihf/bits/environments.h \ - /usr/include/arm-linux-gnueabihf/bits/confname.h /usr/include/getopt.h \ - /usr/include/stdlib.h /usr/include/arm-linux-gnueabihf/bits/waitflags.h \ - /usr/include/arm-linux-gnueabihf/bits/waitstatus.h \ - /usr/include/xlocale.h /usr/include/alloca.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-float.h \ - /usr/include/string.h /usr/include/arm-linux-gnueabihf/bits/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string2.h \ - /usr/include/arm-linux-gnueabihf/sys/poll.h \ - /usr/include/arm-linux-gnueabihf/bits/poll.h \ - /usr/include/arm-linux-gnueabihf/sys/stat.h \ - /usr/include/arm-linux-gnueabihf/sys/ioctl.h \ - /usr/include/arm-linux-gnueabihf/bits/ioctls.h \ - /usr/include/arm-linux-gnueabihf/asm/ioctls.h \ - /usr/include/asm-generic/ioctls.h /usr/include/linux/ioctl.h \ - /usr/include/arm-linux-gnueabihf/asm/ioctl.h \ - /usr/include/asm-generic/ioctl.h \ - /usr/include/arm-linux-gnueabihf/bits/ioctl-types.h \ - /usr/include/arm-linux-gnueabihf/sys/ttydefaults.h \ - /usr/include/arm-linux-gnueabihf/sys/socket.h \ - /usr/include/arm-linux-gnueabihf/sys/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/socket.h \ - /usr/include/arm-linux-gnueabihf/bits/socket_type.h \ - /usr/include/arm-linux-gnueabihf/bits/sockaddr.h \ - /usr/include/arm-linux-gnueabihf/asm/socket.h \ - /usr/include/asm-generic/socket.h \ - /usr/include/arm-linux-gnueabihf/asm/sockios.h \ - /usr/include/asm-generic/sockios.h tools/parser/parser.h \ - /usr/include/arm-linux-gnueabihf/bits/timex.h \ - /usr/include/arm-linux-gnueabihf/sys/time.h /usr/include/netinet/in.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h \ - /usr/include/stdint.h /usr/include/arm-linux-gnueabihf/bits/wchar.h \ - /usr/include/arm-linux-gnueabihf/bits/in.h lib/bluetooth.h \ - /usr/include/byteswap.h tools/parser/sdp.h lib/hci.h lib/hci_lib.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/include/stdio.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/sys_errlist.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio.h: - -/usr/include/errno.h: - -/usr/include/arm-linux-gnueabihf/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/arm-linux-gnueabihf/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/include/fcntl.h: - -/usr/include/arm-linux-gnueabihf/bits/fcntl.h: - -/usr/include/arm-linux-gnueabihf/bits/fcntl-linux.h: - -/usr/include/arm-linux-gnueabihf/bits/uio.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/time.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/arm-linux-gnueabihf/bits/stat.h: - -/usr/include/unistd.h: - -/usr/include/arm-linux-gnueabihf/bits/posix_opt.h: - -/usr/include/arm-linux-gnueabihf/bits/environments.h: - -/usr/include/arm-linux-gnueabihf/bits/confname.h: - -/usr/include/getopt.h: - -/usr/include/stdlib.h: - -/usr/include/arm-linux-gnueabihf/bits/waitflags.h: - -/usr/include/arm-linux-gnueabihf/bits/waitstatus.h: - -/usr/include/xlocale.h: - -/usr/include/alloca.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-float.h: - -/usr/include/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string2.h: - -/usr/include/arm-linux-gnueabihf/sys/poll.h: - -/usr/include/arm-linux-gnueabihf/bits/poll.h: - -/usr/include/arm-linux-gnueabihf/sys/stat.h: - -/usr/include/arm-linux-gnueabihf/sys/ioctl.h: - -/usr/include/arm-linux-gnueabihf/bits/ioctls.h: - -/usr/include/arm-linux-gnueabihf/asm/ioctls.h: - -/usr/include/asm-generic/ioctls.h: - -/usr/include/linux/ioctl.h: - -/usr/include/arm-linux-gnueabihf/asm/ioctl.h: - -/usr/include/asm-generic/ioctl.h: - -/usr/include/arm-linux-gnueabihf/bits/ioctl-types.h: - -/usr/include/arm-linux-gnueabihf/sys/ttydefaults.h: - -/usr/include/arm-linux-gnueabihf/sys/socket.h: - -/usr/include/arm-linux-gnueabihf/sys/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/socket.h: - -/usr/include/arm-linux-gnueabihf/bits/socket_type.h: - -/usr/include/arm-linux-gnueabihf/bits/sockaddr.h: - -/usr/include/arm-linux-gnueabihf/asm/socket.h: - -/usr/include/asm-generic/socket.h: - -/usr/include/arm-linux-gnueabihf/asm/sockios.h: - -/usr/include/asm-generic/sockios.h: - -tools/parser/parser.h: - -/usr/include/arm-linux-gnueabihf/bits/timex.h: - -/usr/include/arm-linux-gnueabihf/sys/time.h: - -/usr/include/netinet/in.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/arm-linux-gnueabihf/bits/wchar.h: - -/usr/include/arm-linux-gnueabihf/bits/in.h: - -lib/bluetooth.h: - -/usr/include/byteswap.h: - -tools/parser/sdp.h: - -lib/hci.h: - -lib/hci_lib.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/tools/.deps/hcieventmask.Po b/GRIB_BLE_HUB/libs/ble_extend/tools/.deps/hcieventmask.Po deleted file mode 100644 index 9ce06a8..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/tools/.deps/hcieventmask.Po +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/GRIB_BLE_HUB/libs/ble_extend/tools/.deps/hcisecfilter.Po b/GRIB_BLE_HUB/libs/ble_extend/tools/.deps/hcisecfilter.Po deleted file mode 100644 index 9ce06a8..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/tools/.deps/hcisecfilter.Po +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/GRIB_BLE_HUB/libs/ble_extend/tools/.deps/hcitool.Po b/GRIB_BLE_HUB/libs/ble_extend/tools/.deps/hcitool.Po deleted file mode 100644 index adf1156..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/tools/.deps/hcitool.Po +++ /dev/null @@ -1,535 +0,0 @@ -tools/hcitool.o: tools/hcitool.c /usr/include/stdc-predef.h config.h \ - /usr/include/stdio.h /usr/include/features.h \ - /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/sys_errlist.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio.h /usr/include/errno.h \ - /usr/include/arm-linux-gnueabihf/bits/errno.h /usr/include/linux/errno.h \ - /usr/include/arm-linux-gnueabihf/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/include/ctype.h /usr/include/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/xlocale.h /usr/include/fcntl.h \ - /usr/include/arm-linux-gnueabihf/bits/fcntl.h \ - /usr/include/arm-linux-gnueabihf/bits/fcntl-linux.h \ - /usr/include/arm-linux-gnueabihf/bits/uio.h \ - /usr/include/arm-linux-gnueabihf/sys/types.h /usr/include/time.h \ - /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/arm-linux-gnueabihf/bits/stat.h /usr/include/unistd.h \ - /usr/include/arm-linux-gnueabihf/bits/posix_opt.h \ - /usr/include/arm-linux-gnueabihf/bits/environments.h \ - /usr/include/arm-linux-gnueabihf/bits/confname.h /usr/include/getopt.h \ - /usr/include/stdlib.h /usr/include/arm-linux-gnueabihf/bits/waitflags.h \ - /usr/include/arm-linux-gnueabihf/bits/waitstatus.h /usr/include/alloca.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-float.h \ - /usr/include/string.h /usr/include/arm-linux-gnueabihf/bits/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string2.h \ - /usr/include/arm-linux-gnueabihf/sys/param.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h \ - /usr/include/limits.h /usr/include/arm-linux-gnueabihf/bits/posix1_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/local_lim.h \ - /usr/include/linux/limits.h \ - /usr/include/arm-linux-gnueabihf/bits/posix2_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/xopen_lim.h /usr/include/signal.h \ - /usr/include/arm-linux-gnueabihf/bits/signum.h \ - /usr/include/arm-linux-gnueabihf/bits/siginfo.h \ - /usr/include/arm-linux-gnueabihf/bits/sigaction.h \ - /usr/include/arm-linux-gnueabihf/bits/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/asm/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigstack.h \ - /usr/include/arm-linux-gnueabihf/sys/ucontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigthread.h \ - /usr/include/arm-linux-gnueabihf/bits/param.h /usr/include/linux/param.h \ - /usr/include/arm-linux-gnueabihf/asm/param.h \ - /usr/include/asm-generic/param.h \ - /usr/include/arm-linux-gnueabihf/sys/ioctl.h \ - /usr/include/arm-linux-gnueabihf/bits/ioctls.h \ - /usr/include/arm-linux-gnueabihf/asm/ioctls.h \ - /usr/include/asm-generic/ioctls.h /usr/include/linux/ioctl.h \ - /usr/include/arm-linux-gnueabihf/asm/ioctl.h \ - /usr/include/asm-generic/ioctl.h \ - /usr/include/arm-linux-gnueabihf/bits/ioctl-types.h \ - /usr/include/arm-linux-gnueabihf/sys/ttydefaults.h \ - /usr/include/arm-linux-gnueabihf/sys/socket.h \ - /usr/include/arm-linux-gnueabihf/sys/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/socket.h \ - /usr/include/arm-linux-gnueabihf/bits/socket_type.h \ - /usr/include/arm-linux-gnueabihf/bits/sockaddr.h \ - /usr/include/arm-linux-gnueabihf/asm/socket.h \ - /usr/include/asm-generic/socket.h \ - /usr/include/arm-linux-gnueabihf/asm/sockios.h \ - /usr/include/asm-generic/sockios.h /usr/include/glib-2.0/glib.h \ - /usr/include/glib-2.0/glib/galloca.h /usr/include/glib-2.0/glib/gtypes.h \ - /usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h \ - /usr/include/glib-2.0/glib/gmacros.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h \ - /usr/include/glib-2.0/glib/gversionmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/timex.h \ - /usr/include/glib-2.0/glib/garray.h \ - /usr/include/glib-2.0/glib/gasyncqueue.h \ - /usr/include/glib-2.0/glib/gthread.h \ - /usr/include/glib-2.0/glib/gatomic.h /usr/include/glib-2.0/glib/gerror.h \ - /usr/include/glib-2.0/glib/gquark.h \ - /usr/include/glib-2.0/glib/gbacktrace.h \ - /usr/include/glib-2.0/glib/gbase64.h \ - /usr/include/glib-2.0/glib/gbitlock.h \ - /usr/include/glib-2.0/glib/gbookmarkfile.h \ - /usr/include/glib-2.0/glib/gbytes.h \ - /usr/include/glib-2.0/glib/gcharset.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/gconvert.h \ - /usr/include/glib-2.0/glib/gdataset.h /usr/include/glib-2.0/glib/gdate.h \ - /usr/include/glib-2.0/glib/gdatetime.h \ - /usr/include/glib-2.0/glib/gtimezone.h /usr/include/glib-2.0/glib/gdir.h \ - /usr/include/dirent.h /usr/include/arm-linux-gnueabihf/bits/dirent.h \ - /usr/include/glib-2.0/glib/genviron.h \ - /usr/include/glib-2.0/glib/gfileutils.h \ - /usr/include/glib-2.0/glib/ggettext.h /usr/include/glib-2.0/glib/ghash.h \ - /usr/include/glib-2.0/glib/glist.h /usr/include/glib-2.0/glib/gmem.h \ - /usr/include/glib-2.0/glib/gnode.h /usr/include/glib-2.0/glib/ghmac.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/ghook.h \ - /usr/include/glib-2.0/glib/ghostutils.h \ - /usr/include/glib-2.0/glib/giochannel.h \ - /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gpoll.h \ - /usr/include/glib-2.0/glib/gslist.h /usr/include/glib-2.0/glib/gstring.h \ - /usr/include/glib-2.0/glib/gunicode.h \ - /usr/include/glib-2.0/glib/gutils.h \ - /usr/include/glib-2.0/glib/gkeyfile.h \ - /usr/include/glib-2.0/glib/gmappedfile.h \ - /usr/include/glib-2.0/glib/gmarkup.h \ - /usr/include/glib-2.0/glib/gmessages.h \ - /usr/include/glib-2.0/glib/goption.h \ - /usr/include/glib-2.0/glib/gpattern.h \ - /usr/include/glib-2.0/glib/gprimes.h /usr/include/glib-2.0/glib/gqsort.h \ - /usr/include/glib-2.0/glib/gqueue.h /usr/include/glib-2.0/glib/grand.h \ - /usr/include/glib-2.0/glib/gregex.h \ - /usr/include/glib-2.0/glib/gscanner.h \ - /usr/include/glib-2.0/glib/gsequence.h \ - /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gslice.h \ - /usr/include/glib-2.0/glib/gspawn.h \ - /usr/include/glib-2.0/glib/gstrfuncs.h \ - /usr/include/glib-2.0/glib/gstringchunk.h \ - /usr/include/glib-2.0/glib/gtestutils.h \ - /usr/include/glib-2.0/glib/gthreadpool.h \ - /usr/include/glib-2.0/glib/gtimer.h \ - /usr/include/glib-2.0/glib/gtrashstack.h \ - /usr/include/glib-2.0/glib/gtree.h \ - /usr/include/glib-2.0/glib/gurifuncs.h \ - /usr/include/glib-2.0/glib/gvarianttype.h \ - /usr/include/glib-2.0/glib/gvariant.h \ - /usr/include/glib-2.0/glib/gversion.h \ - /usr/include/glib-2.0/glib/deprecated/gallocator.h \ - /usr/include/glib-2.0/glib/deprecated/gcache.h \ - /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ - /usr/include/glib-2.0/glib/deprecated/gmain.h \ - /usr/include/glib-2.0/glib/deprecated/grel.h \ - /usr/include/glib-2.0/glib/deprecated/gthread.h /usr/include/pthread.h \ - /usr/include/sched.h /usr/include/arm-linux-gnueabihf/bits/sched.h \ - /usr/include/arm-linux-gnueabihf/bits/setjmp.h lib/bluetooth/bluetooth.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h \ - /usr/include/stdint.h /usr/include/arm-linux-gnueabihf/bits/wchar.h \ - /usr/include/byteswap.h /usr/include/netinet/in.h \ - /usr/include/arm-linux-gnueabihf/bits/in.h lib/bluetooth/hci.h \ - lib/bluetooth/hci_lib.h src/textfile.h src/oui.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/include/stdio.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/sys_errlist.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio.h: - -/usr/include/errno.h: - -/usr/include/arm-linux-gnueabihf/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/arm-linux-gnueabihf/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/include/ctype.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/xlocale.h: - -/usr/include/fcntl.h: - -/usr/include/arm-linux-gnueabihf/bits/fcntl.h: - -/usr/include/arm-linux-gnueabihf/bits/fcntl-linux.h: - -/usr/include/arm-linux-gnueabihf/bits/uio.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/time.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/arm-linux-gnueabihf/bits/stat.h: - -/usr/include/unistd.h: - -/usr/include/arm-linux-gnueabihf/bits/posix_opt.h: - -/usr/include/arm-linux-gnueabihf/bits/environments.h: - -/usr/include/arm-linux-gnueabihf/bits/confname.h: - -/usr/include/getopt.h: - -/usr/include/stdlib.h: - -/usr/include/arm-linux-gnueabihf/bits/waitflags.h: - -/usr/include/arm-linux-gnueabihf/bits/waitstatus.h: - -/usr/include/alloca.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-float.h: - -/usr/include/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string2.h: - -/usr/include/arm-linux-gnueabihf/sys/param.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h: - -/usr/include/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/local_lim.h: - -/usr/include/linux/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix2_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/xopen_lim.h: - -/usr/include/signal.h: - -/usr/include/arm-linux-gnueabihf/bits/signum.h: - -/usr/include/arm-linux-gnueabihf/bits/siginfo.h: - -/usr/include/arm-linux-gnueabihf/bits/sigaction.h: - -/usr/include/arm-linux-gnueabihf/bits/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/asm/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigstack.h: - -/usr/include/arm-linux-gnueabihf/sys/ucontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigthread.h: - -/usr/include/arm-linux-gnueabihf/bits/param.h: - -/usr/include/linux/param.h: - -/usr/include/arm-linux-gnueabihf/asm/param.h: - -/usr/include/asm-generic/param.h: - -/usr/include/arm-linux-gnueabihf/sys/ioctl.h: - -/usr/include/arm-linux-gnueabihf/bits/ioctls.h: - -/usr/include/arm-linux-gnueabihf/asm/ioctls.h: - -/usr/include/asm-generic/ioctls.h: - -/usr/include/linux/ioctl.h: - -/usr/include/arm-linux-gnueabihf/asm/ioctl.h: - -/usr/include/asm-generic/ioctl.h: - -/usr/include/arm-linux-gnueabihf/bits/ioctl-types.h: - -/usr/include/arm-linux-gnueabihf/sys/ttydefaults.h: - -/usr/include/arm-linux-gnueabihf/sys/socket.h: - -/usr/include/arm-linux-gnueabihf/sys/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/socket.h: - -/usr/include/arm-linux-gnueabihf/bits/socket_type.h: - -/usr/include/arm-linux-gnueabihf/bits/sockaddr.h: - -/usr/include/arm-linux-gnueabihf/asm/socket.h: - -/usr/include/asm-generic/socket.h: - -/usr/include/arm-linux-gnueabihf/asm/sockios.h: - -/usr/include/asm-generic/sockios.h: - -/usr/include/glib-2.0/glib.h: - -/usr/include/glib-2.0/glib/galloca.h: - -/usr/include/glib-2.0/glib/gtypes.h: - -/usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h: - -/usr/include/glib-2.0/glib/gmacros.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h: - -/usr/include/glib-2.0/glib/gversionmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/timex.h: - -/usr/include/glib-2.0/glib/garray.h: - -/usr/include/glib-2.0/glib/gasyncqueue.h: - -/usr/include/glib-2.0/glib/gthread.h: - -/usr/include/glib-2.0/glib/gatomic.h: - -/usr/include/glib-2.0/glib/gerror.h: - -/usr/include/glib-2.0/glib/gquark.h: - -/usr/include/glib-2.0/glib/gbacktrace.h: - -/usr/include/glib-2.0/glib/gbase64.h: - -/usr/include/glib-2.0/glib/gbitlock.h: - -/usr/include/glib-2.0/glib/gbookmarkfile.h: - -/usr/include/glib-2.0/glib/gbytes.h: - -/usr/include/glib-2.0/glib/gcharset.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/gconvert.h: - -/usr/include/glib-2.0/glib/gdataset.h: - -/usr/include/glib-2.0/glib/gdate.h: - -/usr/include/glib-2.0/glib/gdatetime.h: - -/usr/include/glib-2.0/glib/gtimezone.h: - -/usr/include/glib-2.0/glib/gdir.h: - -/usr/include/dirent.h: - -/usr/include/arm-linux-gnueabihf/bits/dirent.h: - -/usr/include/glib-2.0/glib/genviron.h: - -/usr/include/glib-2.0/glib/gfileutils.h: - -/usr/include/glib-2.0/glib/ggettext.h: - -/usr/include/glib-2.0/glib/ghash.h: - -/usr/include/glib-2.0/glib/glist.h: - -/usr/include/glib-2.0/glib/gmem.h: - -/usr/include/glib-2.0/glib/gnode.h: - -/usr/include/glib-2.0/glib/ghmac.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/ghook.h: - -/usr/include/glib-2.0/glib/ghostutils.h: - -/usr/include/glib-2.0/glib/giochannel.h: - -/usr/include/glib-2.0/glib/gmain.h: - -/usr/include/glib-2.0/glib/gpoll.h: - -/usr/include/glib-2.0/glib/gslist.h: - -/usr/include/glib-2.0/glib/gstring.h: - -/usr/include/glib-2.0/glib/gunicode.h: - -/usr/include/glib-2.0/glib/gutils.h: - -/usr/include/glib-2.0/glib/gkeyfile.h: - -/usr/include/glib-2.0/glib/gmappedfile.h: - -/usr/include/glib-2.0/glib/gmarkup.h: - -/usr/include/glib-2.0/glib/gmessages.h: - -/usr/include/glib-2.0/glib/goption.h: - -/usr/include/glib-2.0/glib/gpattern.h: - -/usr/include/glib-2.0/glib/gprimes.h: - -/usr/include/glib-2.0/glib/gqsort.h: - -/usr/include/glib-2.0/glib/gqueue.h: - -/usr/include/glib-2.0/glib/grand.h: - -/usr/include/glib-2.0/glib/gregex.h: - -/usr/include/glib-2.0/glib/gscanner.h: - -/usr/include/glib-2.0/glib/gsequence.h: - -/usr/include/glib-2.0/glib/gshell.h: - -/usr/include/glib-2.0/glib/gslice.h: - -/usr/include/glib-2.0/glib/gspawn.h: - -/usr/include/glib-2.0/glib/gstrfuncs.h: - -/usr/include/glib-2.0/glib/gstringchunk.h: - -/usr/include/glib-2.0/glib/gtestutils.h: - -/usr/include/glib-2.0/glib/gthreadpool.h: - -/usr/include/glib-2.0/glib/gtimer.h: - -/usr/include/glib-2.0/glib/gtrashstack.h: - -/usr/include/glib-2.0/glib/gtree.h: - -/usr/include/glib-2.0/glib/gurifuncs.h: - -/usr/include/glib-2.0/glib/gvarianttype.h: - -/usr/include/glib-2.0/glib/gvariant.h: - -/usr/include/glib-2.0/glib/gversion.h: - -/usr/include/glib-2.0/glib/deprecated/gallocator.h: - -/usr/include/glib-2.0/glib/deprecated/gcache.h: - -/usr/include/glib-2.0/glib/deprecated/gcompletion.h: - -/usr/include/glib-2.0/glib/deprecated/gmain.h: - -/usr/include/glib-2.0/glib/deprecated/grel.h: - -/usr/include/glib-2.0/glib/deprecated/gthread.h: - -/usr/include/pthread.h: - -/usr/include/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/setjmp.h: - -lib/bluetooth/bluetooth.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/arm-linux-gnueabihf/bits/wchar.h: - -/usr/include/byteswap.h: - -/usr/include/netinet/in.h: - -/usr/include/arm-linux-gnueabihf/bits/in.h: - -lib/bluetooth/hci.h: - -lib/bluetooth/hci_lib.h: - -src/textfile.h: - -src/oui.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/tools/.deps/hid2hci.Po b/GRIB_BLE_HUB/libs/ble_extend/tools/.deps/hid2hci.Po deleted file mode 100644 index f6c32c9..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/tools/.deps/hid2hci.Po +++ /dev/null @@ -1,290 +0,0 @@ -tools/hid2hci.o: tools/hid2hci.c /usr/include/stdc-predef.h config.h \ - /usr/include/stdio.h /usr/include/features.h \ - /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/sys_errlist.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio.h /usr/include/errno.h \ - /usr/include/arm-linux-gnueabihf/bits/errno.h /usr/include/linux/errno.h \ - /usr/include/arm-linux-gnueabihf/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/include/fcntl.h /usr/include/arm-linux-gnueabihf/bits/fcntl.h \ - /usr/include/arm-linux-gnueabihf/bits/fcntl-linux.h \ - /usr/include/arm-linux-gnueabihf/bits/uio.h \ - /usr/include/arm-linux-gnueabihf/sys/types.h /usr/include/time.h \ - /usr/include/endian.h /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/arm-linux-gnueabihf/bits/stat.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h \ - /usr/include/stdint.h /usr/include/arm-linux-gnueabihf/bits/wchar.h \ - /usr/include/string.h /usr/include/xlocale.h \ - /usr/include/arm-linux-gnueabihf/bits/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string2.h /usr/include/stdlib.h \ - /usr/include/getopt.h /usr/include/arm-linux-gnueabihf/sys/ioctl.h \ - /usr/include/arm-linux-gnueabihf/bits/ioctls.h \ - /usr/include/arm-linux-gnueabihf/asm/ioctls.h \ - /usr/include/asm-generic/ioctls.h /usr/include/linux/ioctl.h \ - /usr/include/arm-linux-gnueabihf/asm/ioctl.h \ - /usr/include/asm-generic/ioctl.h \ - /usr/include/arm-linux-gnueabihf/bits/ioctl-types.h \ - /usr/include/arm-linux-gnueabihf/sys/ttydefaults.h \ - /usr/include/linux/types.h /usr/include/arm-linux-gnueabihf/asm/types.h \ - /usr/include/asm-generic/int-ll64.h \ - /usr/include/arm-linux-gnueabihf/asm/bitsperlong.h \ - /usr/include/asm-generic/bitsperlong.h /usr/include/linux/posix_types.h \ - /usr/include/linux/stddef.h \ - /usr/include/arm-linux-gnueabihf/asm/posix_types.h \ - /usr/include/asm-generic/posix_types.h /usr/include/linux/hiddev.h \ - /usr/include/usb.h /usr/include/unistd.h \ - /usr/include/arm-linux-gnueabihf/bits/posix_opt.h \ - /usr/include/arm-linux-gnueabihf/bits/environments.h \ - /usr/include/arm-linux-gnueabihf/bits/confname.h \ - /usr/include/arm-linux-gnueabihf/bits/waitflags.h \ - /usr/include/arm-linux-gnueabihf/bits/waitstatus.h /usr/include/alloca.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-float.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h \ - /usr/include/limits.h /usr/include/arm-linux-gnueabihf/bits/posix1_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/local_lim.h \ - /usr/include/linux/limits.h \ - /usr/include/arm-linux-gnueabihf/bits/posix2_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/xopen_lim.h \ - /usr/include/arm-linux-gnueabihf/sys/param.h /usr/include/signal.h \ - /usr/include/arm-linux-gnueabihf/bits/signum.h \ - /usr/include/arm-linux-gnueabihf/bits/siginfo.h \ - /usr/include/arm-linux-gnueabihf/bits/sigaction.h \ - /usr/include/arm-linux-gnueabihf/bits/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/asm/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigstack.h \ - /usr/include/arm-linux-gnueabihf/sys/ucontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigthread.h \ - /usr/include/arm-linux-gnueabihf/bits/param.h /usr/include/linux/param.h \ - /usr/include/arm-linux-gnueabihf/asm/param.h \ - /usr/include/asm-generic/param.h /usr/include/dirent.h \ - /usr/include/arm-linux-gnueabihf/bits/dirent.h /usr/include/libudev.h \ - /usr/include/arm-linux-gnueabihf/sys/stat.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/include/stdio.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/sys_errlist.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio.h: - -/usr/include/errno.h: - -/usr/include/arm-linux-gnueabihf/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/arm-linux-gnueabihf/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/include/fcntl.h: - -/usr/include/arm-linux-gnueabihf/bits/fcntl.h: - -/usr/include/arm-linux-gnueabihf/bits/fcntl-linux.h: - -/usr/include/arm-linux-gnueabihf/bits/uio.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/time.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/arm-linux-gnueabihf/bits/stat.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/arm-linux-gnueabihf/bits/wchar.h: - -/usr/include/string.h: - -/usr/include/xlocale.h: - -/usr/include/arm-linux-gnueabihf/bits/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string2.h: - -/usr/include/stdlib.h: - -/usr/include/getopt.h: - -/usr/include/arm-linux-gnueabihf/sys/ioctl.h: - -/usr/include/arm-linux-gnueabihf/bits/ioctls.h: - -/usr/include/arm-linux-gnueabihf/asm/ioctls.h: - -/usr/include/asm-generic/ioctls.h: - -/usr/include/linux/ioctl.h: - -/usr/include/arm-linux-gnueabihf/asm/ioctl.h: - -/usr/include/asm-generic/ioctl.h: - -/usr/include/arm-linux-gnueabihf/bits/ioctl-types.h: - -/usr/include/arm-linux-gnueabihf/sys/ttydefaults.h: - -/usr/include/linux/types.h: - -/usr/include/arm-linux-gnueabihf/asm/types.h: - -/usr/include/asm-generic/int-ll64.h: - -/usr/include/arm-linux-gnueabihf/asm/bitsperlong.h: - -/usr/include/asm-generic/bitsperlong.h: - -/usr/include/linux/posix_types.h: - -/usr/include/linux/stddef.h: - -/usr/include/arm-linux-gnueabihf/asm/posix_types.h: - -/usr/include/asm-generic/posix_types.h: - -/usr/include/linux/hiddev.h: - -/usr/include/usb.h: - -/usr/include/unistd.h: - -/usr/include/arm-linux-gnueabihf/bits/posix_opt.h: - -/usr/include/arm-linux-gnueabihf/bits/environments.h: - -/usr/include/arm-linux-gnueabihf/bits/confname.h: - -/usr/include/arm-linux-gnueabihf/bits/waitflags.h: - -/usr/include/arm-linux-gnueabihf/bits/waitstatus.h: - -/usr/include/alloca.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-float.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h: - -/usr/include/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/local_lim.h: - -/usr/include/linux/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix2_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/xopen_lim.h: - -/usr/include/arm-linux-gnueabihf/sys/param.h: - -/usr/include/signal.h: - -/usr/include/arm-linux-gnueabihf/bits/signum.h: - -/usr/include/arm-linux-gnueabihf/bits/siginfo.h: - -/usr/include/arm-linux-gnueabihf/bits/sigaction.h: - -/usr/include/arm-linux-gnueabihf/bits/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/asm/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigstack.h: - -/usr/include/arm-linux-gnueabihf/sys/ucontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigthread.h: - -/usr/include/arm-linux-gnueabihf/bits/param.h: - -/usr/include/linux/param.h: - -/usr/include/arm-linux-gnueabihf/asm/param.h: - -/usr/include/asm-generic/param.h: - -/usr/include/dirent.h: - -/usr/include/arm-linux-gnueabihf/bits/dirent.h: - -/usr/include/libudev.h: - -/usr/include/arm-linux-gnueabihf/sys/stat.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/tools/.deps/hwdb.Po b/GRIB_BLE_HUB/libs/ble_extend/tools/.deps/hwdb.Po deleted file mode 100644 index 9ce06a8..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/tools/.deps/hwdb.Po +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/GRIB_BLE_HUB/libs/ble_extend/tools/.deps/l2ping.Po b/GRIB_BLE_HUB/libs/ble_extend/tools/.deps/l2ping.Po deleted file mode 100644 index efb8ee8..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/tools/.deps/l2ping.Po +++ /dev/null @@ -1,229 +0,0 @@ -tools/l2ping.o: tools/l2ping.c /usr/include/stdc-predef.h config.h \ - /usr/include/stdio.h /usr/include/features.h \ - /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/sys_errlist.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio.h /usr/include/errno.h \ - /usr/include/arm-linux-gnueabihf/bits/errno.h /usr/include/linux/errno.h \ - /usr/include/arm-linux-gnueabihf/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/include/unistd.h /usr/include/arm-linux-gnueabihf/bits/posix_opt.h \ - /usr/include/arm-linux-gnueabihf/bits/environments.h \ - /usr/include/arm-linux-gnueabihf/bits/confname.h /usr/include/getopt.h \ - /usr/include/stdlib.h /usr/include/arm-linux-gnueabihf/bits/waitflags.h \ - /usr/include/arm-linux-gnueabihf/bits/waitstatus.h /usr/include/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/xlocale.h /usr/include/arm-linux-gnueabihf/sys/types.h \ - /usr/include/time.h /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/alloca.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-float.h \ - /usr/include/string.h /usr/include/arm-linux-gnueabihf/bits/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string2.h /usr/include/signal.h \ - /usr/include/arm-linux-gnueabihf/bits/signum.h \ - /usr/include/arm-linux-gnueabihf/bits/siginfo.h \ - /usr/include/arm-linux-gnueabihf/bits/sigaction.h \ - /usr/include/arm-linux-gnueabihf/bits/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/asm/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigstack.h \ - /usr/include/arm-linux-gnueabihf/sys/ucontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigthread.h \ - /usr/include/arm-linux-gnueabihf/sys/time.h \ - /usr/include/arm-linux-gnueabihf/sys/poll.h \ - /usr/include/arm-linux-gnueabihf/bits/poll.h \ - /usr/include/arm-linux-gnueabihf/sys/socket.h \ - /usr/include/arm-linux-gnueabihf/sys/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/socket.h \ - /usr/include/arm-linux-gnueabihf/bits/socket_type.h \ - /usr/include/arm-linux-gnueabihf/bits/sockaddr.h \ - /usr/include/arm-linux-gnueabihf/asm/socket.h \ - /usr/include/asm-generic/socket.h \ - /usr/include/arm-linux-gnueabihf/asm/sockios.h \ - /usr/include/asm-generic/sockios.h lib/bluetooth/bluetooth.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h \ - /usr/include/stdint.h /usr/include/arm-linux-gnueabihf/bits/wchar.h \ - /usr/include/byteswap.h /usr/include/netinet/in.h \ - /usr/include/arm-linux-gnueabihf/bits/in.h lib/bluetooth/hci.h \ - lib/bluetooth/hci_lib.h lib/bluetooth/l2cap.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/include/stdio.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/sys_errlist.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio.h: - -/usr/include/errno.h: - -/usr/include/arm-linux-gnueabihf/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/arm-linux-gnueabihf/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/include/unistd.h: - -/usr/include/arm-linux-gnueabihf/bits/posix_opt.h: - -/usr/include/arm-linux-gnueabihf/bits/environments.h: - -/usr/include/arm-linux-gnueabihf/bits/confname.h: - -/usr/include/getopt.h: - -/usr/include/stdlib.h: - -/usr/include/arm-linux-gnueabihf/bits/waitflags.h: - -/usr/include/arm-linux-gnueabihf/bits/waitstatus.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/xlocale.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/time.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/alloca.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-float.h: - -/usr/include/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string2.h: - -/usr/include/signal.h: - -/usr/include/arm-linux-gnueabihf/bits/signum.h: - -/usr/include/arm-linux-gnueabihf/bits/siginfo.h: - -/usr/include/arm-linux-gnueabihf/bits/sigaction.h: - -/usr/include/arm-linux-gnueabihf/bits/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/asm/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigstack.h: - -/usr/include/arm-linux-gnueabihf/sys/ucontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigthread.h: - -/usr/include/arm-linux-gnueabihf/sys/time.h: - -/usr/include/arm-linux-gnueabihf/sys/poll.h: - -/usr/include/arm-linux-gnueabihf/bits/poll.h: - -/usr/include/arm-linux-gnueabihf/sys/socket.h: - -/usr/include/arm-linux-gnueabihf/sys/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/socket.h: - -/usr/include/arm-linux-gnueabihf/bits/socket_type.h: - -/usr/include/arm-linux-gnueabihf/bits/sockaddr.h: - -/usr/include/arm-linux-gnueabihf/asm/socket.h: - -/usr/include/asm-generic/socket.h: - -/usr/include/arm-linux-gnueabihf/asm/sockios.h: - -/usr/include/asm-generic/sockios.h: - -lib/bluetooth/bluetooth.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/arm-linux-gnueabihf/bits/wchar.h: - -/usr/include/byteswap.h: - -/usr/include/netinet/in.h: - -/usr/include/arm-linux-gnueabihf/bits/in.h: - -lib/bluetooth/hci.h: - -lib/bluetooth/hci_lib.h: - -lib/bluetooth/l2cap.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/tools/.deps/l2test.Po b/GRIB_BLE_HUB/libs/ble_extend/tools/.deps/l2test.Po deleted file mode 100644 index 3ee16fa..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/tools/.deps/l2test.Po +++ /dev/null @@ -1,276 +0,0 @@ -tools/l2test.o: tools/l2test.c /usr/include/stdc-predef.h config.h \ - /usr/include/stdio.h /usr/include/features.h \ - /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/sys_errlist.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio.h /usr/include/errno.h \ - /usr/include/arm-linux-gnueabihf/bits/errno.h /usr/include/linux/errno.h \ - /usr/include/arm-linux-gnueabihf/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/include/ctype.h /usr/include/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/xlocale.h /usr/include/fcntl.h \ - /usr/include/arm-linux-gnueabihf/bits/fcntl.h \ - /usr/include/arm-linux-gnueabihf/bits/fcntl-linux.h \ - /usr/include/arm-linux-gnueabihf/bits/uio.h \ - /usr/include/arm-linux-gnueabihf/sys/types.h /usr/include/time.h \ - /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/arm-linux-gnueabihf/bits/stat.h /usr/include/unistd.h \ - /usr/include/arm-linux-gnueabihf/bits/posix_opt.h \ - /usr/include/arm-linux-gnueabihf/bits/environments.h \ - /usr/include/arm-linux-gnueabihf/bits/confname.h /usr/include/getopt.h \ - /usr/include/stdlib.h /usr/include/arm-linux-gnueabihf/bits/waitflags.h \ - /usr/include/arm-linux-gnueabihf/bits/waitstatus.h /usr/include/alloca.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-float.h \ - /usr/include/syslog.h /usr/include/arm-linux-gnueabihf/sys/syslog.h \ - /usr/include/arm-linux-gnueabihf/bits/syslog-path.h \ - /usr/include/signal.h /usr/include/arm-linux-gnueabihf/bits/signum.h \ - /usr/include/arm-linux-gnueabihf/bits/siginfo.h \ - /usr/include/arm-linux-gnueabihf/bits/sigaction.h \ - /usr/include/arm-linux-gnueabihf/bits/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/asm/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigstack.h \ - /usr/include/arm-linux-gnueabihf/sys/ucontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigthread.h \ - /usr/include/arm-linux-gnueabihf/sys/time.h \ - /usr/include/arm-linux-gnueabihf/sys/poll.h \ - /usr/include/arm-linux-gnueabihf/bits/poll.h \ - /usr/include/arm-linux-gnueabihf/sys/ioctl.h \ - /usr/include/arm-linux-gnueabihf/bits/ioctls.h \ - /usr/include/arm-linux-gnueabihf/asm/ioctls.h \ - /usr/include/asm-generic/ioctls.h /usr/include/linux/ioctl.h \ - /usr/include/arm-linux-gnueabihf/asm/ioctl.h \ - /usr/include/asm-generic/ioctl.h \ - /usr/include/arm-linux-gnueabihf/bits/ioctl-types.h \ - /usr/include/arm-linux-gnueabihf/sys/ttydefaults.h \ - /usr/include/arm-linux-gnueabihf/sys/socket.h \ - /usr/include/arm-linux-gnueabihf/sys/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/socket.h \ - /usr/include/arm-linux-gnueabihf/bits/socket_type.h \ - /usr/include/arm-linux-gnueabihf/bits/sockaddr.h \ - /usr/include/arm-linux-gnueabihf/asm/socket.h \ - /usr/include/asm-generic/socket.h \ - /usr/include/arm-linux-gnueabihf/asm/sockios.h \ - /usr/include/asm-generic/sockios.h lib/bluetooth/bluetooth.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h \ - /usr/include/stdint.h /usr/include/arm-linux-gnueabihf/bits/wchar.h \ - /usr/include/string.h /usr/include/arm-linux-gnueabihf/bits/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string2.h /usr/include/byteswap.h \ - /usr/include/netinet/in.h /usr/include/arm-linux-gnueabihf/bits/in.h \ - lib/bluetooth/hci.h lib/bluetooth/hci_lib.h lib/bluetooth/l2cap.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/include/stdio.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/sys_errlist.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio.h: - -/usr/include/errno.h: - -/usr/include/arm-linux-gnueabihf/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/arm-linux-gnueabihf/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/include/ctype.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/xlocale.h: - -/usr/include/fcntl.h: - -/usr/include/arm-linux-gnueabihf/bits/fcntl.h: - -/usr/include/arm-linux-gnueabihf/bits/fcntl-linux.h: - -/usr/include/arm-linux-gnueabihf/bits/uio.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/time.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/arm-linux-gnueabihf/bits/stat.h: - -/usr/include/unistd.h: - -/usr/include/arm-linux-gnueabihf/bits/posix_opt.h: - -/usr/include/arm-linux-gnueabihf/bits/environments.h: - -/usr/include/arm-linux-gnueabihf/bits/confname.h: - -/usr/include/getopt.h: - -/usr/include/stdlib.h: - -/usr/include/arm-linux-gnueabihf/bits/waitflags.h: - -/usr/include/arm-linux-gnueabihf/bits/waitstatus.h: - -/usr/include/alloca.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-float.h: - -/usr/include/syslog.h: - -/usr/include/arm-linux-gnueabihf/sys/syslog.h: - -/usr/include/arm-linux-gnueabihf/bits/syslog-path.h: - -/usr/include/signal.h: - -/usr/include/arm-linux-gnueabihf/bits/signum.h: - -/usr/include/arm-linux-gnueabihf/bits/siginfo.h: - -/usr/include/arm-linux-gnueabihf/bits/sigaction.h: - -/usr/include/arm-linux-gnueabihf/bits/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/asm/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigstack.h: - -/usr/include/arm-linux-gnueabihf/sys/ucontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigthread.h: - -/usr/include/arm-linux-gnueabihf/sys/time.h: - -/usr/include/arm-linux-gnueabihf/sys/poll.h: - -/usr/include/arm-linux-gnueabihf/bits/poll.h: - -/usr/include/arm-linux-gnueabihf/sys/ioctl.h: - -/usr/include/arm-linux-gnueabihf/bits/ioctls.h: - -/usr/include/arm-linux-gnueabihf/asm/ioctls.h: - -/usr/include/asm-generic/ioctls.h: - -/usr/include/linux/ioctl.h: - -/usr/include/arm-linux-gnueabihf/asm/ioctl.h: - -/usr/include/asm-generic/ioctl.h: - -/usr/include/arm-linux-gnueabihf/bits/ioctl-types.h: - -/usr/include/arm-linux-gnueabihf/sys/ttydefaults.h: - -/usr/include/arm-linux-gnueabihf/sys/socket.h: - -/usr/include/arm-linux-gnueabihf/sys/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/socket.h: - -/usr/include/arm-linux-gnueabihf/bits/socket_type.h: - -/usr/include/arm-linux-gnueabihf/bits/sockaddr.h: - -/usr/include/arm-linux-gnueabihf/asm/socket.h: - -/usr/include/asm-generic/socket.h: - -/usr/include/arm-linux-gnueabihf/asm/sockios.h: - -/usr/include/asm-generic/sockios.h: - -lib/bluetooth/bluetooth.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/arm-linux-gnueabihf/bits/wchar.h: - -/usr/include/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string2.h: - -/usr/include/byteswap.h: - -/usr/include/netinet/in.h: - -/usr/include/arm-linux-gnueabihf/bits/in.h: - -lib/bluetooth/hci.h: - -lib/bluetooth/hci_lib.h: - -lib/bluetooth/l2cap.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/tools/.deps/mgmt-tester.Po b/GRIB_BLE_HUB/libs/ble_extend/tools/.deps/mgmt-tester.Po deleted file mode 100644 index 9ce06a8..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/tools/.deps/mgmt-tester.Po +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/GRIB_BLE_HUB/libs/ble_extend/tools/.deps/mpris-player.Po b/GRIB_BLE_HUB/libs/ble_extend/tools/.deps/mpris-player.Po deleted file mode 100644 index 9ce06a8..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/tools/.deps/mpris-player.Po +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/GRIB_BLE_HUB/libs/ble_extend/tools/.deps/obex-client-tool.Po b/GRIB_BLE_HUB/libs/ble_extend/tools/.deps/obex-client-tool.Po deleted file mode 100644 index b59885e..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/tools/.deps/obex-client-tool.Po +++ /dev/null @@ -1,503 +0,0 @@ -tools/obex-client-tool.o: tools/obex-client-tool.c \ - /usr/include/stdc-predef.h config.h \ - /usr/include/arm-linux-gnueabihf/sys/types.h /usr/include/features.h \ - /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h /usr/include/time.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/include/endian.h /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/arm-linux-gnueabihf/sys/socket.h \ - /usr/include/arm-linux-gnueabihf/sys/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/socket.h \ - /usr/include/arm-linux-gnueabihf/bits/socket_type.h \ - /usr/include/arm-linux-gnueabihf/bits/sockaddr.h \ - /usr/include/arm-linux-gnueabihf/asm/socket.h \ - /usr/include/asm-generic/socket.h \ - /usr/include/arm-linux-gnueabihf/asm/sockios.h \ - /usr/include/asm-generic/sockios.h /usr/include/fcntl.h \ - /usr/include/arm-linux-gnueabihf/bits/fcntl.h \ - /usr/include/arm-linux-gnueabihf/bits/fcntl-linux.h \ - /usr/include/arm-linux-gnueabihf/bits/stat.h \ - /usr/include/arm-linux-gnueabihf/sys/un.h /usr/include/string.h \ - /usr/include/xlocale.h /usr/include/arm-linux-gnueabihf/bits/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string2.h /usr/include/stdlib.h \ - /usr/include/unistd.h /usr/include/arm-linux-gnueabihf/bits/posix_opt.h \ - /usr/include/arm-linux-gnueabihf/bits/environments.h \ - /usr/include/arm-linux-gnueabihf/bits/confname.h /usr/include/getopt.h \ - /usr/include/arm-linux-gnueabihf/bits/waitflags.h \ - /usr/include/arm-linux-gnueabihf/bits/waitstatus.h /usr/include/alloca.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-float.h \ - /usr/include/errno.h /usr/include/arm-linux-gnueabihf/bits/errno.h \ - /usr/include/linux/errno.h /usr/include/arm-linux-gnueabihf/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/include/stdio.h /usr/include/libio.h /usr/include/_G_config.h \ - /usr/include/wchar.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/sys_errlist.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio.h \ - /usr/include/readline/readline.h /usr/include/readline/rlstdc.h \ - /usr/include/readline/rltypedefs.h /usr/include/readline/keymaps.h \ - /usr/include/readline/chardefs.h /usr/include/ctype.h \ - /usr/include/readline/tilde.h /usr/include/readline/history.h \ - /usr/include/arm-linux-gnueabihf/bits/timex.h gobex/gobex.h \ - /usr/include/glib-2.0/glib.h /usr/include/glib-2.0/glib/galloca.h \ - /usr/include/glib-2.0/glib/gtypes.h \ - /usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h \ - /usr/include/glib-2.0/glib/gmacros.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h \ - /usr/include/limits.h /usr/include/arm-linux-gnueabihf/bits/posix1_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/local_lim.h \ - /usr/include/linux/limits.h \ - /usr/include/arm-linux-gnueabihf/bits/posix2_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/xopen_lim.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h \ - /usr/include/glib-2.0/glib/gversionmacros.h \ - /usr/include/glib-2.0/glib/garray.h \ - /usr/include/glib-2.0/glib/gasyncqueue.h \ - /usr/include/glib-2.0/glib/gthread.h \ - /usr/include/glib-2.0/glib/gatomic.h /usr/include/glib-2.0/glib/gerror.h \ - /usr/include/glib-2.0/glib/gquark.h \ - /usr/include/glib-2.0/glib/gbacktrace.h /usr/include/signal.h \ - /usr/include/arm-linux-gnueabihf/bits/signum.h \ - /usr/include/arm-linux-gnueabihf/bits/siginfo.h \ - /usr/include/arm-linux-gnueabihf/bits/sigaction.h \ - /usr/include/arm-linux-gnueabihf/bits/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/asm/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigstack.h \ - /usr/include/arm-linux-gnueabihf/sys/ucontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigthread.h \ - /usr/include/glib-2.0/glib/gbase64.h \ - /usr/include/glib-2.0/glib/gbitlock.h \ - /usr/include/glib-2.0/glib/gbookmarkfile.h \ - /usr/include/glib-2.0/glib/gbytes.h \ - /usr/include/glib-2.0/glib/gcharset.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/gconvert.h \ - /usr/include/glib-2.0/glib/gdataset.h /usr/include/glib-2.0/glib/gdate.h \ - /usr/include/glib-2.0/glib/gdatetime.h \ - /usr/include/glib-2.0/glib/gtimezone.h /usr/include/glib-2.0/glib/gdir.h \ - /usr/include/dirent.h /usr/include/arm-linux-gnueabihf/bits/dirent.h \ - /usr/include/glib-2.0/glib/genviron.h \ - /usr/include/glib-2.0/glib/gfileutils.h \ - /usr/include/glib-2.0/glib/ggettext.h /usr/include/glib-2.0/glib/ghash.h \ - /usr/include/glib-2.0/glib/glist.h /usr/include/glib-2.0/glib/gmem.h \ - /usr/include/glib-2.0/glib/gnode.h /usr/include/glib-2.0/glib/ghmac.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/ghook.h \ - /usr/include/glib-2.0/glib/ghostutils.h \ - /usr/include/glib-2.0/glib/giochannel.h \ - /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gpoll.h \ - /usr/include/glib-2.0/glib/gslist.h /usr/include/glib-2.0/glib/gstring.h \ - /usr/include/glib-2.0/glib/gunicode.h \ - /usr/include/glib-2.0/glib/gutils.h \ - /usr/include/glib-2.0/glib/gkeyfile.h \ - /usr/include/glib-2.0/glib/gmappedfile.h \ - /usr/include/glib-2.0/glib/gmarkup.h \ - /usr/include/glib-2.0/glib/gmessages.h \ - /usr/include/glib-2.0/glib/goption.h \ - /usr/include/glib-2.0/glib/gpattern.h \ - /usr/include/glib-2.0/glib/gprimes.h /usr/include/glib-2.0/glib/gqsort.h \ - /usr/include/glib-2.0/glib/gqueue.h /usr/include/glib-2.0/glib/grand.h \ - /usr/include/glib-2.0/glib/gregex.h \ - /usr/include/glib-2.0/glib/gscanner.h \ - /usr/include/glib-2.0/glib/gsequence.h \ - /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gslice.h \ - /usr/include/glib-2.0/glib/gspawn.h \ - /usr/include/glib-2.0/glib/gstrfuncs.h \ - /usr/include/glib-2.0/glib/gstringchunk.h \ - /usr/include/glib-2.0/glib/gtestutils.h \ - /usr/include/glib-2.0/glib/gthreadpool.h \ - /usr/include/glib-2.0/glib/gtimer.h \ - /usr/include/glib-2.0/glib/gtrashstack.h \ - /usr/include/glib-2.0/glib/gtree.h \ - /usr/include/glib-2.0/glib/gurifuncs.h \ - /usr/include/glib-2.0/glib/gvarianttype.h \ - /usr/include/glib-2.0/glib/gvariant.h \ - /usr/include/glib-2.0/glib/gversion.h \ - /usr/include/glib-2.0/glib/deprecated/gallocator.h \ - /usr/include/glib-2.0/glib/deprecated/gcache.h \ - /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ - /usr/include/glib-2.0/glib/deprecated/gmain.h \ - /usr/include/glib-2.0/glib/deprecated/grel.h \ - /usr/include/glib-2.0/glib/deprecated/gthread.h /usr/include/pthread.h \ - /usr/include/sched.h /usr/include/arm-linux-gnueabihf/bits/sched.h \ - /usr/include/arm-linux-gnueabihf/bits/setjmp.h gobex/gobex-defs.h \ - gobex/gobex-packet.h gobex/gobex-header.h gobex/gobex-apparam.h \ - btio/btio.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/time.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/arm-linux-gnueabihf/sys/socket.h: - -/usr/include/arm-linux-gnueabihf/sys/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/socket.h: - -/usr/include/arm-linux-gnueabihf/bits/socket_type.h: - -/usr/include/arm-linux-gnueabihf/bits/sockaddr.h: - -/usr/include/arm-linux-gnueabihf/asm/socket.h: - -/usr/include/asm-generic/socket.h: - -/usr/include/arm-linux-gnueabihf/asm/sockios.h: - -/usr/include/asm-generic/sockios.h: - -/usr/include/fcntl.h: - -/usr/include/arm-linux-gnueabihf/bits/fcntl.h: - -/usr/include/arm-linux-gnueabihf/bits/fcntl-linux.h: - -/usr/include/arm-linux-gnueabihf/bits/stat.h: - -/usr/include/arm-linux-gnueabihf/sys/un.h: - -/usr/include/string.h: - -/usr/include/xlocale.h: - -/usr/include/arm-linux-gnueabihf/bits/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string2.h: - -/usr/include/stdlib.h: - -/usr/include/unistd.h: - -/usr/include/arm-linux-gnueabihf/bits/posix_opt.h: - -/usr/include/arm-linux-gnueabihf/bits/environments.h: - -/usr/include/arm-linux-gnueabihf/bits/confname.h: - -/usr/include/getopt.h: - -/usr/include/arm-linux-gnueabihf/bits/waitflags.h: - -/usr/include/arm-linux-gnueabihf/bits/waitstatus.h: - -/usr/include/alloca.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-float.h: - -/usr/include/errno.h: - -/usr/include/arm-linux-gnueabihf/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/arm-linux-gnueabihf/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/include/stdio.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/sys_errlist.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio.h: - -/usr/include/readline/readline.h: - -/usr/include/readline/rlstdc.h: - -/usr/include/readline/rltypedefs.h: - -/usr/include/readline/keymaps.h: - -/usr/include/readline/chardefs.h: - -/usr/include/ctype.h: - -/usr/include/readline/tilde.h: - -/usr/include/readline/history.h: - -/usr/include/arm-linux-gnueabihf/bits/timex.h: - -gobex/gobex.h: - -/usr/include/glib-2.0/glib.h: - -/usr/include/glib-2.0/glib/galloca.h: - -/usr/include/glib-2.0/glib/gtypes.h: - -/usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h: - -/usr/include/glib-2.0/glib/gmacros.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h: - -/usr/include/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/local_lim.h: - -/usr/include/linux/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix2_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/xopen_lim.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h: - -/usr/include/glib-2.0/glib/gversionmacros.h: - -/usr/include/glib-2.0/glib/garray.h: - -/usr/include/glib-2.0/glib/gasyncqueue.h: - -/usr/include/glib-2.0/glib/gthread.h: - -/usr/include/glib-2.0/glib/gatomic.h: - -/usr/include/glib-2.0/glib/gerror.h: - -/usr/include/glib-2.0/glib/gquark.h: - -/usr/include/glib-2.0/glib/gbacktrace.h: - -/usr/include/signal.h: - -/usr/include/arm-linux-gnueabihf/bits/signum.h: - -/usr/include/arm-linux-gnueabihf/bits/siginfo.h: - -/usr/include/arm-linux-gnueabihf/bits/sigaction.h: - -/usr/include/arm-linux-gnueabihf/bits/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/asm/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigstack.h: - -/usr/include/arm-linux-gnueabihf/sys/ucontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigthread.h: - -/usr/include/glib-2.0/glib/gbase64.h: - -/usr/include/glib-2.0/glib/gbitlock.h: - -/usr/include/glib-2.0/glib/gbookmarkfile.h: - -/usr/include/glib-2.0/glib/gbytes.h: - -/usr/include/glib-2.0/glib/gcharset.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/gconvert.h: - -/usr/include/glib-2.0/glib/gdataset.h: - -/usr/include/glib-2.0/glib/gdate.h: - -/usr/include/glib-2.0/glib/gdatetime.h: - -/usr/include/glib-2.0/glib/gtimezone.h: - -/usr/include/glib-2.0/glib/gdir.h: - -/usr/include/dirent.h: - -/usr/include/arm-linux-gnueabihf/bits/dirent.h: - -/usr/include/glib-2.0/glib/genviron.h: - -/usr/include/glib-2.0/glib/gfileutils.h: - -/usr/include/glib-2.0/glib/ggettext.h: - -/usr/include/glib-2.0/glib/ghash.h: - -/usr/include/glib-2.0/glib/glist.h: - -/usr/include/glib-2.0/glib/gmem.h: - -/usr/include/glib-2.0/glib/gnode.h: - -/usr/include/glib-2.0/glib/ghmac.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/ghook.h: - -/usr/include/glib-2.0/glib/ghostutils.h: - -/usr/include/glib-2.0/glib/giochannel.h: - -/usr/include/glib-2.0/glib/gmain.h: - -/usr/include/glib-2.0/glib/gpoll.h: - -/usr/include/glib-2.0/glib/gslist.h: - -/usr/include/glib-2.0/glib/gstring.h: - -/usr/include/glib-2.0/glib/gunicode.h: - -/usr/include/glib-2.0/glib/gutils.h: - -/usr/include/glib-2.0/glib/gkeyfile.h: - -/usr/include/glib-2.0/glib/gmappedfile.h: - -/usr/include/glib-2.0/glib/gmarkup.h: - -/usr/include/glib-2.0/glib/gmessages.h: - -/usr/include/glib-2.0/glib/goption.h: - -/usr/include/glib-2.0/glib/gpattern.h: - -/usr/include/glib-2.0/glib/gprimes.h: - -/usr/include/glib-2.0/glib/gqsort.h: - -/usr/include/glib-2.0/glib/gqueue.h: - -/usr/include/glib-2.0/glib/grand.h: - -/usr/include/glib-2.0/glib/gregex.h: - -/usr/include/glib-2.0/glib/gscanner.h: - -/usr/include/glib-2.0/glib/gsequence.h: - -/usr/include/glib-2.0/glib/gshell.h: - -/usr/include/glib-2.0/glib/gslice.h: - -/usr/include/glib-2.0/glib/gspawn.h: - -/usr/include/glib-2.0/glib/gstrfuncs.h: - -/usr/include/glib-2.0/glib/gstringchunk.h: - -/usr/include/glib-2.0/glib/gtestutils.h: - -/usr/include/glib-2.0/glib/gthreadpool.h: - -/usr/include/glib-2.0/glib/gtimer.h: - -/usr/include/glib-2.0/glib/gtrashstack.h: - -/usr/include/glib-2.0/glib/gtree.h: - -/usr/include/glib-2.0/glib/gurifuncs.h: - -/usr/include/glib-2.0/glib/gvarianttype.h: - -/usr/include/glib-2.0/glib/gvariant.h: - -/usr/include/glib-2.0/glib/gversion.h: - -/usr/include/glib-2.0/glib/deprecated/gallocator.h: - -/usr/include/glib-2.0/glib/deprecated/gcache.h: - -/usr/include/glib-2.0/glib/deprecated/gcompletion.h: - -/usr/include/glib-2.0/glib/deprecated/gmain.h: - -/usr/include/glib-2.0/glib/deprecated/grel.h: - -/usr/include/glib-2.0/glib/deprecated/gthread.h: - -/usr/include/pthread.h: - -/usr/include/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/setjmp.h: - -gobex/gobex-defs.h: - -gobex/gobex-packet.h: - -gobex/gobex-header.h: - -gobex/gobex-apparam.h: - -btio/btio.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/tools/.deps/obex-server-tool.Po b/GRIB_BLE_HUB/libs/ble_extend/tools/.deps/obex-server-tool.Po deleted file mode 100644 index 329d298..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/tools/.deps/obex-server-tool.Po +++ /dev/null @@ -1,483 +0,0 @@ -tools/obex-server-tool.o: tools/obex-server-tool.c \ - /usr/include/stdc-predef.h config.h \ - /usr/include/arm-linux-gnueabihf/sys/types.h /usr/include/features.h \ - /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h /usr/include/time.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/include/endian.h /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/arm-linux-gnueabihf/sys/socket.h \ - /usr/include/arm-linux-gnueabihf/sys/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/socket.h \ - /usr/include/arm-linux-gnueabihf/bits/socket_type.h \ - /usr/include/arm-linux-gnueabihf/bits/sockaddr.h \ - /usr/include/arm-linux-gnueabihf/asm/socket.h \ - /usr/include/asm-generic/socket.h \ - /usr/include/arm-linux-gnueabihf/asm/sockios.h \ - /usr/include/asm-generic/sockios.h /usr/include/fcntl.h \ - /usr/include/arm-linux-gnueabihf/bits/fcntl.h \ - /usr/include/arm-linux-gnueabihf/bits/fcntl-linux.h \ - /usr/include/arm-linux-gnueabihf/bits/stat.h \ - /usr/include/arm-linux-gnueabihf/sys/un.h /usr/include/string.h \ - /usr/include/xlocale.h /usr/include/arm-linux-gnueabihf/bits/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string2.h /usr/include/stdlib.h \ - /usr/include/unistd.h /usr/include/arm-linux-gnueabihf/bits/posix_opt.h \ - /usr/include/arm-linux-gnueabihf/bits/environments.h \ - /usr/include/arm-linux-gnueabihf/bits/confname.h /usr/include/getopt.h \ - /usr/include/arm-linux-gnueabihf/bits/waitflags.h \ - /usr/include/arm-linux-gnueabihf/bits/waitstatus.h /usr/include/alloca.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-float.h \ - /usr/include/stdio.h /usr/include/libio.h /usr/include/_G_config.h \ - /usr/include/wchar.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/sys_errlist.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio.h /usr/include/errno.h \ - /usr/include/arm-linux-gnueabihf/bits/errno.h /usr/include/linux/errno.h \ - /usr/include/arm-linux-gnueabihf/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - gobex/gobex.h /usr/include/glib-2.0/glib.h \ - /usr/include/glib-2.0/glib/galloca.h /usr/include/glib-2.0/glib/gtypes.h \ - /usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h \ - /usr/include/glib-2.0/glib/gmacros.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h \ - /usr/include/limits.h /usr/include/arm-linux-gnueabihf/bits/posix1_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/local_lim.h \ - /usr/include/linux/limits.h \ - /usr/include/arm-linux-gnueabihf/bits/posix2_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/xopen_lim.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h \ - /usr/include/glib-2.0/glib/gversionmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/timex.h \ - /usr/include/glib-2.0/glib/garray.h \ - /usr/include/glib-2.0/glib/gasyncqueue.h \ - /usr/include/glib-2.0/glib/gthread.h \ - /usr/include/glib-2.0/glib/gatomic.h /usr/include/glib-2.0/glib/gerror.h \ - /usr/include/glib-2.0/glib/gquark.h \ - /usr/include/glib-2.0/glib/gbacktrace.h /usr/include/signal.h \ - /usr/include/arm-linux-gnueabihf/bits/signum.h \ - /usr/include/arm-linux-gnueabihf/bits/siginfo.h \ - /usr/include/arm-linux-gnueabihf/bits/sigaction.h \ - /usr/include/arm-linux-gnueabihf/bits/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/asm/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigstack.h \ - /usr/include/arm-linux-gnueabihf/sys/ucontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigthread.h \ - /usr/include/glib-2.0/glib/gbase64.h \ - /usr/include/glib-2.0/glib/gbitlock.h \ - /usr/include/glib-2.0/glib/gbookmarkfile.h \ - /usr/include/glib-2.0/glib/gbytes.h \ - /usr/include/glib-2.0/glib/gcharset.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/gconvert.h \ - /usr/include/glib-2.0/glib/gdataset.h /usr/include/glib-2.0/glib/gdate.h \ - /usr/include/glib-2.0/glib/gdatetime.h \ - /usr/include/glib-2.0/glib/gtimezone.h /usr/include/glib-2.0/glib/gdir.h \ - /usr/include/dirent.h /usr/include/arm-linux-gnueabihf/bits/dirent.h \ - /usr/include/glib-2.0/glib/genviron.h \ - /usr/include/glib-2.0/glib/gfileutils.h \ - /usr/include/glib-2.0/glib/ggettext.h /usr/include/glib-2.0/glib/ghash.h \ - /usr/include/glib-2.0/glib/glist.h /usr/include/glib-2.0/glib/gmem.h \ - /usr/include/glib-2.0/glib/gnode.h /usr/include/glib-2.0/glib/ghmac.h \ - /usr/include/glib-2.0/glib/gchecksum.h \ - /usr/include/glib-2.0/glib/ghook.h \ - /usr/include/glib-2.0/glib/ghostutils.h \ - /usr/include/glib-2.0/glib/giochannel.h \ - /usr/include/glib-2.0/glib/gmain.h /usr/include/glib-2.0/glib/gpoll.h \ - /usr/include/glib-2.0/glib/gslist.h /usr/include/glib-2.0/glib/gstring.h \ - /usr/include/glib-2.0/glib/gunicode.h \ - /usr/include/glib-2.0/glib/gutils.h \ - /usr/include/glib-2.0/glib/gkeyfile.h \ - /usr/include/glib-2.0/glib/gmappedfile.h \ - /usr/include/glib-2.0/glib/gmarkup.h \ - /usr/include/glib-2.0/glib/gmessages.h \ - /usr/include/glib-2.0/glib/goption.h \ - /usr/include/glib-2.0/glib/gpattern.h \ - /usr/include/glib-2.0/glib/gprimes.h /usr/include/glib-2.0/glib/gqsort.h \ - /usr/include/glib-2.0/glib/gqueue.h /usr/include/glib-2.0/glib/grand.h \ - /usr/include/glib-2.0/glib/gregex.h \ - /usr/include/glib-2.0/glib/gscanner.h \ - /usr/include/glib-2.0/glib/gsequence.h \ - /usr/include/glib-2.0/glib/gshell.h /usr/include/glib-2.0/glib/gslice.h \ - /usr/include/glib-2.0/glib/gspawn.h \ - /usr/include/glib-2.0/glib/gstrfuncs.h \ - /usr/include/glib-2.0/glib/gstringchunk.h \ - /usr/include/glib-2.0/glib/gtestutils.h \ - /usr/include/glib-2.0/glib/gthreadpool.h \ - /usr/include/glib-2.0/glib/gtimer.h \ - /usr/include/glib-2.0/glib/gtrashstack.h \ - /usr/include/glib-2.0/glib/gtree.h \ - /usr/include/glib-2.0/glib/gurifuncs.h \ - /usr/include/glib-2.0/glib/gvarianttype.h \ - /usr/include/glib-2.0/glib/gvariant.h \ - /usr/include/glib-2.0/glib/gversion.h \ - /usr/include/glib-2.0/glib/deprecated/gallocator.h \ - /usr/include/glib-2.0/glib/deprecated/gcache.h \ - /usr/include/glib-2.0/glib/deprecated/gcompletion.h \ - /usr/include/glib-2.0/glib/deprecated/gmain.h \ - /usr/include/glib-2.0/glib/deprecated/grel.h \ - /usr/include/glib-2.0/glib/deprecated/gthread.h /usr/include/pthread.h \ - /usr/include/sched.h /usr/include/arm-linux-gnueabihf/bits/sched.h \ - /usr/include/arm-linux-gnueabihf/bits/setjmp.h gobex/gobex-defs.h \ - gobex/gobex-packet.h gobex/gobex-header.h gobex/gobex-apparam.h \ - btio/btio.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/time.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/arm-linux-gnueabihf/sys/socket.h: - -/usr/include/arm-linux-gnueabihf/sys/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/socket.h: - -/usr/include/arm-linux-gnueabihf/bits/socket_type.h: - -/usr/include/arm-linux-gnueabihf/bits/sockaddr.h: - -/usr/include/arm-linux-gnueabihf/asm/socket.h: - -/usr/include/asm-generic/socket.h: - -/usr/include/arm-linux-gnueabihf/asm/sockios.h: - -/usr/include/asm-generic/sockios.h: - -/usr/include/fcntl.h: - -/usr/include/arm-linux-gnueabihf/bits/fcntl.h: - -/usr/include/arm-linux-gnueabihf/bits/fcntl-linux.h: - -/usr/include/arm-linux-gnueabihf/bits/stat.h: - -/usr/include/arm-linux-gnueabihf/sys/un.h: - -/usr/include/string.h: - -/usr/include/xlocale.h: - -/usr/include/arm-linux-gnueabihf/bits/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string2.h: - -/usr/include/stdlib.h: - -/usr/include/unistd.h: - -/usr/include/arm-linux-gnueabihf/bits/posix_opt.h: - -/usr/include/arm-linux-gnueabihf/bits/environments.h: - -/usr/include/arm-linux-gnueabihf/bits/confname.h: - -/usr/include/getopt.h: - -/usr/include/arm-linux-gnueabihf/bits/waitflags.h: - -/usr/include/arm-linux-gnueabihf/bits/waitstatus.h: - -/usr/include/alloca.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-float.h: - -/usr/include/stdio.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/sys_errlist.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio.h: - -/usr/include/errno.h: - -/usr/include/arm-linux-gnueabihf/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/arm-linux-gnueabihf/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -gobex/gobex.h: - -/usr/include/glib-2.0/glib.h: - -/usr/include/glib-2.0/glib/galloca.h: - -/usr/include/glib-2.0/glib/gtypes.h: - -/usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h: - -/usr/include/glib-2.0/glib/gmacros.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h: - -/usr/include/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/local_lim.h: - -/usr/include/linux/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix2_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/xopen_lim.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/float.h: - -/usr/include/glib-2.0/glib/gversionmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/timex.h: - -/usr/include/glib-2.0/glib/garray.h: - -/usr/include/glib-2.0/glib/gasyncqueue.h: - -/usr/include/glib-2.0/glib/gthread.h: - -/usr/include/glib-2.0/glib/gatomic.h: - -/usr/include/glib-2.0/glib/gerror.h: - -/usr/include/glib-2.0/glib/gquark.h: - -/usr/include/glib-2.0/glib/gbacktrace.h: - -/usr/include/signal.h: - -/usr/include/arm-linux-gnueabihf/bits/signum.h: - -/usr/include/arm-linux-gnueabihf/bits/siginfo.h: - -/usr/include/arm-linux-gnueabihf/bits/sigaction.h: - -/usr/include/arm-linux-gnueabihf/bits/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/asm/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigstack.h: - -/usr/include/arm-linux-gnueabihf/sys/ucontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigthread.h: - -/usr/include/glib-2.0/glib/gbase64.h: - -/usr/include/glib-2.0/glib/gbitlock.h: - -/usr/include/glib-2.0/glib/gbookmarkfile.h: - -/usr/include/glib-2.0/glib/gbytes.h: - -/usr/include/glib-2.0/glib/gcharset.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/gconvert.h: - -/usr/include/glib-2.0/glib/gdataset.h: - -/usr/include/glib-2.0/glib/gdate.h: - -/usr/include/glib-2.0/glib/gdatetime.h: - -/usr/include/glib-2.0/glib/gtimezone.h: - -/usr/include/glib-2.0/glib/gdir.h: - -/usr/include/dirent.h: - -/usr/include/arm-linux-gnueabihf/bits/dirent.h: - -/usr/include/glib-2.0/glib/genviron.h: - -/usr/include/glib-2.0/glib/gfileutils.h: - -/usr/include/glib-2.0/glib/ggettext.h: - -/usr/include/glib-2.0/glib/ghash.h: - -/usr/include/glib-2.0/glib/glist.h: - -/usr/include/glib-2.0/glib/gmem.h: - -/usr/include/glib-2.0/glib/gnode.h: - -/usr/include/glib-2.0/glib/ghmac.h: - -/usr/include/glib-2.0/glib/gchecksum.h: - -/usr/include/glib-2.0/glib/ghook.h: - -/usr/include/glib-2.0/glib/ghostutils.h: - -/usr/include/glib-2.0/glib/giochannel.h: - -/usr/include/glib-2.0/glib/gmain.h: - -/usr/include/glib-2.0/glib/gpoll.h: - -/usr/include/glib-2.0/glib/gslist.h: - -/usr/include/glib-2.0/glib/gstring.h: - -/usr/include/glib-2.0/glib/gunicode.h: - -/usr/include/glib-2.0/glib/gutils.h: - -/usr/include/glib-2.0/glib/gkeyfile.h: - -/usr/include/glib-2.0/glib/gmappedfile.h: - -/usr/include/glib-2.0/glib/gmarkup.h: - -/usr/include/glib-2.0/glib/gmessages.h: - -/usr/include/glib-2.0/glib/goption.h: - -/usr/include/glib-2.0/glib/gpattern.h: - -/usr/include/glib-2.0/glib/gprimes.h: - -/usr/include/glib-2.0/glib/gqsort.h: - -/usr/include/glib-2.0/glib/gqueue.h: - -/usr/include/glib-2.0/glib/grand.h: - -/usr/include/glib-2.0/glib/gregex.h: - -/usr/include/glib-2.0/glib/gscanner.h: - -/usr/include/glib-2.0/glib/gsequence.h: - -/usr/include/glib-2.0/glib/gshell.h: - -/usr/include/glib-2.0/glib/gslice.h: - -/usr/include/glib-2.0/glib/gspawn.h: - -/usr/include/glib-2.0/glib/gstrfuncs.h: - -/usr/include/glib-2.0/glib/gstringchunk.h: - -/usr/include/glib-2.0/glib/gtestutils.h: - -/usr/include/glib-2.0/glib/gthreadpool.h: - -/usr/include/glib-2.0/glib/gtimer.h: - -/usr/include/glib-2.0/glib/gtrashstack.h: - -/usr/include/glib-2.0/glib/gtree.h: - -/usr/include/glib-2.0/glib/gurifuncs.h: - -/usr/include/glib-2.0/glib/gvarianttype.h: - -/usr/include/glib-2.0/glib/gvariant.h: - -/usr/include/glib-2.0/glib/gversion.h: - -/usr/include/glib-2.0/glib/deprecated/gallocator.h: - -/usr/include/glib-2.0/glib/deprecated/gcache.h: - -/usr/include/glib-2.0/glib/deprecated/gcompletion.h: - -/usr/include/glib-2.0/glib/deprecated/gmain.h: - -/usr/include/glib-2.0/glib/deprecated/grel.h: - -/usr/include/glib-2.0/glib/deprecated/gthread.h: - -/usr/include/pthread.h: - -/usr/include/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/sched.h: - -/usr/include/arm-linux-gnueabihf/bits/setjmp.h: - -gobex/gobex-defs.h: - -gobex/gobex-packet.h: - -gobex/gobex-header.h: - -gobex/gobex-apparam.h: - -btio/btio.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/tools/.deps/rctest.Po b/GRIB_BLE_HUB/libs/ble_extend/tools/.deps/rctest.Po deleted file mode 100644 index be76f9e..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/tools/.deps/rctest.Po +++ /dev/null @@ -1,278 +0,0 @@ -tools/rctest.o: tools/rctest.c /usr/include/stdc-predef.h config.h \ - /usr/include/stdio.h /usr/include/features.h \ - /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/sys_errlist.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio.h /usr/include/errno.h \ - /usr/include/arm-linux-gnueabihf/bits/errno.h /usr/include/linux/errno.h \ - /usr/include/arm-linux-gnueabihf/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/include/ctype.h /usr/include/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/xlocale.h /usr/include/fcntl.h \ - /usr/include/arm-linux-gnueabihf/bits/fcntl.h \ - /usr/include/arm-linux-gnueabihf/bits/fcntl-linux.h \ - /usr/include/arm-linux-gnueabihf/bits/uio.h \ - /usr/include/arm-linux-gnueabihf/sys/types.h /usr/include/time.h \ - /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/arm-linux-gnueabihf/bits/stat.h /usr/include/unistd.h \ - /usr/include/arm-linux-gnueabihf/bits/posix_opt.h \ - /usr/include/arm-linux-gnueabihf/bits/environments.h \ - /usr/include/arm-linux-gnueabihf/bits/confname.h /usr/include/getopt.h \ - /usr/include/stdlib.h /usr/include/arm-linux-gnueabihf/bits/waitflags.h \ - /usr/include/arm-linux-gnueabihf/bits/waitstatus.h /usr/include/alloca.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-float.h \ - /usr/include/syslog.h /usr/include/arm-linux-gnueabihf/sys/syslog.h \ - /usr/include/arm-linux-gnueabihf/bits/syslog-path.h \ - /usr/include/signal.h /usr/include/arm-linux-gnueabihf/bits/signum.h \ - /usr/include/arm-linux-gnueabihf/bits/siginfo.h \ - /usr/include/arm-linux-gnueabihf/bits/sigaction.h \ - /usr/include/arm-linux-gnueabihf/bits/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/asm/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigstack.h \ - /usr/include/arm-linux-gnueabihf/sys/ucontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigthread.h \ - /usr/include/arm-linux-gnueabihf/sys/time.h \ - /usr/include/arm-linux-gnueabihf/sys/ioctl.h \ - /usr/include/arm-linux-gnueabihf/bits/ioctls.h \ - /usr/include/arm-linux-gnueabihf/asm/ioctls.h \ - /usr/include/asm-generic/ioctls.h /usr/include/linux/ioctl.h \ - /usr/include/arm-linux-gnueabihf/asm/ioctl.h \ - /usr/include/asm-generic/ioctl.h \ - /usr/include/arm-linux-gnueabihf/bits/ioctl-types.h \ - /usr/include/arm-linux-gnueabihf/sys/ttydefaults.h \ - /usr/include/arm-linux-gnueabihf/sys/socket.h \ - /usr/include/arm-linux-gnueabihf/sys/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/socket.h \ - /usr/include/arm-linux-gnueabihf/bits/socket_type.h \ - /usr/include/arm-linux-gnueabihf/bits/sockaddr.h \ - /usr/include/arm-linux-gnueabihf/asm/socket.h \ - /usr/include/asm-generic/socket.h \ - /usr/include/arm-linux-gnueabihf/asm/sockios.h \ - /usr/include/asm-generic/sockios.h \ - /usr/include/arm-linux-gnueabihf/sys/stat.h lib/bluetooth/bluetooth.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h \ - /usr/include/stdint.h /usr/include/arm-linux-gnueabihf/bits/wchar.h \ - /usr/include/string.h /usr/include/arm-linux-gnueabihf/bits/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string2.h /usr/include/byteswap.h \ - /usr/include/netinet/in.h /usr/include/arm-linux-gnueabihf/bits/in.h \ - lib/bluetooth/hci.h lib/bluetooth/hci_lib.h lib/bluetooth/rfcomm.h \ - lib/bluetooth/sdp.h lib/bluetooth/sdp_lib.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/include/stdio.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/sys_errlist.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio.h: - -/usr/include/errno.h: - -/usr/include/arm-linux-gnueabihf/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/arm-linux-gnueabihf/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/include/ctype.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/xlocale.h: - -/usr/include/fcntl.h: - -/usr/include/arm-linux-gnueabihf/bits/fcntl.h: - -/usr/include/arm-linux-gnueabihf/bits/fcntl-linux.h: - -/usr/include/arm-linux-gnueabihf/bits/uio.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/time.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/arm-linux-gnueabihf/bits/stat.h: - -/usr/include/unistd.h: - -/usr/include/arm-linux-gnueabihf/bits/posix_opt.h: - -/usr/include/arm-linux-gnueabihf/bits/environments.h: - -/usr/include/arm-linux-gnueabihf/bits/confname.h: - -/usr/include/getopt.h: - -/usr/include/stdlib.h: - -/usr/include/arm-linux-gnueabihf/bits/waitflags.h: - -/usr/include/arm-linux-gnueabihf/bits/waitstatus.h: - -/usr/include/alloca.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-float.h: - -/usr/include/syslog.h: - -/usr/include/arm-linux-gnueabihf/sys/syslog.h: - -/usr/include/arm-linux-gnueabihf/bits/syslog-path.h: - -/usr/include/signal.h: - -/usr/include/arm-linux-gnueabihf/bits/signum.h: - -/usr/include/arm-linux-gnueabihf/bits/siginfo.h: - -/usr/include/arm-linux-gnueabihf/bits/sigaction.h: - -/usr/include/arm-linux-gnueabihf/bits/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/asm/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigstack.h: - -/usr/include/arm-linux-gnueabihf/sys/ucontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigthread.h: - -/usr/include/arm-linux-gnueabihf/sys/time.h: - -/usr/include/arm-linux-gnueabihf/sys/ioctl.h: - -/usr/include/arm-linux-gnueabihf/bits/ioctls.h: - -/usr/include/arm-linux-gnueabihf/asm/ioctls.h: - -/usr/include/asm-generic/ioctls.h: - -/usr/include/linux/ioctl.h: - -/usr/include/arm-linux-gnueabihf/asm/ioctl.h: - -/usr/include/asm-generic/ioctl.h: - -/usr/include/arm-linux-gnueabihf/bits/ioctl-types.h: - -/usr/include/arm-linux-gnueabihf/sys/ttydefaults.h: - -/usr/include/arm-linux-gnueabihf/sys/socket.h: - -/usr/include/arm-linux-gnueabihf/sys/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/socket.h: - -/usr/include/arm-linux-gnueabihf/bits/socket_type.h: - -/usr/include/arm-linux-gnueabihf/bits/sockaddr.h: - -/usr/include/arm-linux-gnueabihf/asm/socket.h: - -/usr/include/asm-generic/socket.h: - -/usr/include/arm-linux-gnueabihf/asm/sockios.h: - -/usr/include/asm-generic/sockios.h: - -/usr/include/arm-linux-gnueabihf/sys/stat.h: - -lib/bluetooth/bluetooth.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/arm-linux-gnueabihf/bits/wchar.h: - -/usr/include/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string2.h: - -/usr/include/byteswap.h: - -/usr/include/netinet/in.h: - -/usr/include/arm-linux-gnueabihf/bits/in.h: - -lib/bluetooth/hci.h: - -lib/bluetooth/hci_lib.h: - -lib/bluetooth/rfcomm.h: - -lib/bluetooth/sdp.h: - -lib/bluetooth/sdp_lib.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/tools/.deps/rfcomm.Po b/GRIB_BLE_HUB/libs/ble_extend/tools/.deps/rfcomm.Po deleted file mode 100644 index d8aca47..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/tools/.deps/rfcomm.Po +++ /dev/null @@ -1,308 +0,0 @@ -tools/rfcomm.o: tools/rfcomm.c /usr/include/stdc-predef.h config.h \ - /usr/include/stdio.h /usr/include/features.h \ - /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/sys_errlist.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio.h /usr/include/errno.h \ - /usr/include/arm-linux-gnueabihf/bits/errno.h /usr/include/linux/errno.h \ - /usr/include/arm-linux-gnueabihf/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/include/fcntl.h /usr/include/arm-linux-gnueabihf/bits/fcntl.h \ - /usr/include/arm-linux-gnueabihf/bits/fcntl-linux.h \ - /usr/include/arm-linux-gnueabihf/bits/uio.h \ - /usr/include/arm-linux-gnueabihf/sys/types.h /usr/include/time.h \ - /usr/include/endian.h /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/arm-linux-gnueabihf/bits/stat.h /usr/include/unistd.h \ - /usr/include/arm-linux-gnueabihf/bits/posix_opt.h \ - /usr/include/arm-linux-gnueabihf/bits/environments.h \ - /usr/include/arm-linux-gnueabihf/bits/confname.h /usr/include/getopt.h \ - /usr/include/stdlib.h /usr/include/arm-linux-gnueabihf/bits/waitflags.h \ - /usr/include/arm-linux-gnueabihf/bits/waitstatus.h \ - /usr/include/xlocale.h /usr/include/alloca.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-float.h \ - /usr/include/string.h /usr/include/arm-linux-gnueabihf/bits/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string2.h /usr/include/signal.h \ - /usr/include/arm-linux-gnueabihf/bits/signum.h \ - /usr/include/arm-linux-gnueabihf/bits/siginfo.h \ - /usr/include/arm-linux-gnueabihf/bits/sigaction.h \ - /usr/include/arm-linux-gnueabihf/bits/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/asm/sigcontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigstack.h \ - /usr/include/arm-linux-gnueabihf/sys/ucontext.h \ - /usr/include/arm-linux-gnueabihf/bits/sigthread.h /usr/include/termios.h \ - /usr/include/arm-linux-gnueabihf/bits/termios.h \ - /usr/include/arm-linux-gnueabihf/sys/ttydefaults.h \ - /usr/include/arm-linux-gnueabihf/sys/poll.h \ - /usr/include/arm-linux-gnueabihf/bits/poll.h \ - /usr/include/arm-linux-gnueabihf/sys/param.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h \ - /usr/include/limits.h /usr/include/arm-linux-gnueabihf/bits/posix1_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/local_lim.h \ - /usr/include/linux/limits.h \ - /usr/include/arm-linux-gnueabihf/bits/posix2_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/xopen_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/param.h /usr/include/linux/param.h \ - /usr/include/arm-linux-gnueabihf/asm/param.h \ - /usr/include/asm-generic/param.h \ - /usr/include/arm-linux-gnueabihf/sys/ioctl.h \ - /usr/include/arm-linux-gnueabihf/bits/ioctls.h \ - /usr/include/arm-linux-gnueabihf/asm/ioctls.h \ - /usr/include/asm-generic/ioctls.h /usr/include/linux/ioctl.h \ - /usr/include/arm-linux-gnueabihf/asm/ioctl.h \ - /usr/include/asm-generic/ioctl.h \ - /usr/include/arm-linux-gnueabihf/bits/ioctl-types.h \ - /usr/include/arm-linux-gnueabihf/sys/socket.h \ - /usr/include/arm-linux-gnueabihf/sys/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/socket.h \ - /usr/include/arm-linux-gnueabihf/bits/socket_type.h \ - /usr/include/arm-linux-gnueabihf/bits/sockaddr.h \ - /usr/include/arm-linux-gnueabihf/asm/socket.h \ - /usr/include/asm-generic/socket.h \ - /usr/include/arm-linux-gnueabihf/asm/sockios.h \ - /usr/include/asm-generic/sockios.h \ - /usr/include/arm-linux-gnueabihf/sys/wait.h lib/bluetooth/bluetooth.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h \ - /usr/include/stdint.h /usr/include/arm-linux-gnueabihf/bits/wchar.h \ - /usr/include/byteswap.h /usr/include/netinet/in.h \ - /usr/include/arm-linux-gnueabihf/bits/in.h lib/bluetooth/hci.h \ - lib/bluetooth/hci_lib.h lib/bluetooth/rfcomm.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/include/stdio.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/sys_errlist.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio.h: - -/usr/include/errno.h: - -/usr/include/arm-linux-gnueabihf/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/arm-linux-gnueabihf/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/include/fcntl.h: - -/usr/include/arm-linux-gnueabihf/bits/fcntl.h: - -/usr/include/arm-linux-gnueabihf/bits/fcntl-linux.h: - -/usr/include/arm-linux-gnueabihf/bits/uio.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/time.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/arm-linux-gnueabihf/bits/stat.h: - -/usr/include/unistd.h: - -/usr/include/arm-linux-gnueabihf/bits/posix_opt.h: - -/usr/include/arm-linux-gnueabihf/bits/environments.h: - -/usr/include/arm-linux-gnueabihf/bits/confname.h: - -/usr/include/getopt.h: - -/usr/include/stdlib.h: - -/usr/include/arm-linux-gnueabihf/bits/waitflags.h: - -/usr/include/arm-linux-gnueabihf/bits/waitstatus.h: - -/usr/include/xlocale.h: - -/usr/include/alloca.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-float.h: - -/usr/include/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string2.h: - -/usr/include/signal.h: - -/usr/include/arm-linux-gnueabihf/bits/signum.h: - -/usr/include/arm-linux-gnueabihf/bits/siginfo.h: - -/usr/include/arm-linux-gnueabihf/bits/sigaction.h: - -/usr/include/arm-linux-gnueabihf/bits/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/asm/sigcontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigstack.h: - -/usr/include/arm-linux-gnueabihf/sys/ucontext.h: - -/usr/include/arm-linux-gnueabihf/bits/sigthread.h: - -/usr/include/termios.h: - -/usr/include/arm-linux-gnueabihf/bits/termios.h: - -/usr/include/arm-linux-gnueabihf/sys/ttydefaults.h: - -/usr/include/arm-linux-gnueabihf/sys/poll.h: - -/usr/include/arm-linux-gnueabihf/bits/poll.h: - -/usr/include/arm-linux-gnueabihf/sys/param.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/limits.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include-fixed/syslimits.h: - -/usr/include/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/local_lim.h: - -/usr/include/linux/limits.h: - -/usr/include/arm-linux-gnueabihf/bits/posix2_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/xopen_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/param.h: - -/usr/include/linux/param.h: - -/usr/include/arm-linux-gnueabihf/asm/param.h: - -/usr/include/asm-generic/param.h: - -/usr/include/arm-linux-gnueabihf/sys/ioctl.h: - -/usr/include/arm-linux-gnueabihf/bits/ioctls.h: - -/usr/include/arm-linux-gnueabihf/asm/ioctls.h: - -/usr/include/asm-generic/ioctls.h: - -/usr/include/linux/ioctl.h: - -/usr/include/arm-linux-gnueabihf/asm/ioctl.h: - -/usr/include/asm-generic/ioctl.h: - -/usr/include/arm-linux-gnueabihf/bits/ioctl-types.h: - -/usr/include/arm-linux-gnueabihf/sys/socket.h: - -/usr/include/arm-linux-gnueabihf/sys/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/socket.h: - -/usr/include/arm-linux-gnueabihf/bits/socket_type.h: - -/usr/include/arm-linux-gnueabihf/bits/sockaddr.h: - -/usr/include/arm-linux-gnueabihf/asm/socket.h: - -/usr/include/asm-generic/socket.h: - -/usr/include/arm-linux-gnueabihf/asm/sockios.h: - -/usr/include/asm-generic/sockios.h: - -/usr/include/arm-linux-gnueabihf/sys/wait.h: - -lib/bluetooth/bluetooth.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/arm-linux-gnueabihf/bits/wchar.h: - -/usr/include/byteswap.h: - -/usr/include/netinet/in.h: - -/usr/include/arm-linux-gnueabihf/bits/in.h: - -lib/bluetooth/hci.h: - -lib/bluetooth/hci_lib.h: - -lib/bluetooth/rfcomm.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/tools/.deps/scotest.Po b/GRIB_BLE_HUB/libs/ble_extend/tools/.deps/scotest.Po deleted file mode 100644 index 9ce06a8..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/tools/.deps/scotest.Po +++ /dev/null @@ -1 +0,0 @@ -# dummy diff --git a/GRIB_BLE_HUB/libs/ble_extend/tools/.deps/sdptool.Po b/GRIB_BLE_HUB/libs/ble_extend/tools/.deps/sdptool.Po deleted file mode 100644 index bcefc6f..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/tools/.deps/sdptool.Po +++ /dev/null @@ -1,192 +0,0 @@ -tools/sdptool.o: tools/sdptool.c /usr/include/stdc-predef.h config.h \ - /usr/include/stdio.h /usr/include/features.h \ - /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ - /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ - /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h \ - /usr/include/arm-linux-gnueabihf/bits/types.h \ - /usr/include/arm-linux-gnueabihf/bits/typesizes.h /usr/include/libio.h \ - /usr/include/_G_config.h /usr/include/wchar.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ - /usr/include/arm-linux-gnueabihf/bits/sys_errlist.h \ - /usr/include/arm-linux-gnueabihf/bits/stdio.h /usr/include/errno.h \ - /usr/include/arm-linux-gnueabihf/bits/errno.h /usr/include/linux/errno.h \ - /usr/include/arm-linux-gnueabihf/asm/errno.h \ - /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ - /usr/include/ctype.h /usr/include/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/endian.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ - /usr/include/arm-linux-gnueabihf/bits/byteswap-16.h \ - /usr/include/xlocale.h /usr/include/stdlib.h \ - /usr/include/arm-linux-gnueabihf/bits/waitflags.h \ - /usr/include/arm-linux-gnueabihf/bits/waitstatus.h \ - /usr/include/arm-linux-gnueabihf/sys/types.h /usr/include/time.h \ - /usr/include/arm-linux-gnueabihf/sys/select.h \ - /usr/include/arm-linux-gnueabihf/bits/select.h \ - /usr/include/arm-linux-gnueabihf/bits/sigset.h \ - /usr/include/arm-linux-gnueabihf/bits/time.h \ - /usr/include/arm-linux-gnueabihf/sys/sysmacros.h \ - /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ - /usr/include/alloca.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h \ - /usr/include/arm-linux-gnueabihf/bits/stdlib-float.h \ - /usr/include/string.h /usr/include/arm-linux-gnueabihf/bits/string.h \ - /usr/include/arm-linux-gnueabihf/bits/string2.h /usr/include/getopt.h \ - /usr/include/arm-linux-gnueabihf/sys/socket.h \ - /usr/include/arm-linux-gnueabihf/sys/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/uio.h \ - /usr/include/arm-linux-gnueabihf/bits/socket.h \ - /usr/include/arm-linux-gnueabihf/bits/socket_type.h \ - /usr/include/arm-linux-gnueabihf/bits/sockaddr.h \ - /usr/include/arm-linux-gnueabihf/asm/socket.h \ - /usr/include/asm-generic/socket.h \ - /usr/include/arm-linux-gnueabihf/asm/sockios.h \ - /usr/include/asm-generic/sockios.h lib/bluetooth/bluetooth.h \ - /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h \ - /usr/include/stdint.h /usr/include/arm-linux-gnueabihf/bits/wchar.h \ - /usr/include/byteswap.h /usr/include/netinet/in.h \ - /usr/include/arm-linux-gnueabihf/bits/in.h lib/bluetooth/hci.h \ - lib/bluetooth/hci_lib.h lib/bluetooth/sdp.h lib/bluetooth/sdp_lib.h \ - src/sdp-xml.h - -/usr/include/stdc-predef.h: - -config.h: - -/usr/include/stdio.h: - -/usr/include/features.h: - -/usr/include/arm-linux-gnueabihf/sys/cdefs.h: - -/usr/include/arm-linux-gnueabihf/bits/wordsize.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs.h: - -/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stddef.h: - -/usr/include/arm-linux-gnueabihf/bits/types.h: - -/usr/include/arm-linux-gnueabihf/bits/typesizes.h: - -/usr/include/libio.h: - -/usr/include/_G_config.h: - -/usr/include/wchar.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdarg.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: - -/usr/include/arm-linux-gnueabihf/bits/sys_errlist.h: - -/usr/include/arm-linux-gnueabihf/bits/stdio.h: - -/usr/include/errno.h: - -/usr/include/arm-linux-gnueabihf/bits/errno.h: - -/usr/include/linux/errno.h: - -/usr/include/arm-linux-gnueabihf/asm/errno.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/include/ctype.h: - -/usr/include/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/endian.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap.h: - -/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h: - -/usr/include/xlocale.h: - -/usr/include/stdlib.h: - -/usr/include/arm-linux-gnueabihf/bits/waitflags.h: - -/usr/include/arm-linux-gnueabihf/bits/waitstatus.h: - -/usr/include/arm-linux-gnueabihf/sys/types.h: - -/usr/include/time.h: - -/usr/include/arm-linux-gnueabihf/sys/select.h: - -/usr/include/arm-linux-gnueabihf/bits/select.h: - -/usr/include/arm-linux-gnueabihf/bits/sigset.h: - -/usr/include/arm-linux-gnueabihf/bits/time.h: - -/usr/include/arm-linux-gnueabihf/sys/sysmacros.h: - -/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: - -/usr/include/alloca.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h: - -/usr/include/arm-linux-gnueabihf/bits/stdlib-float.h: - -/usr/include/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string.h: - -/usr/include/arm-linux-gnueabihf/bits/string2.h: - -/usr/include/getopt.h: - -/usr/include/arm-linux-gnueabihf/sys/socket.h: - -/usr/include/arm-linux-gnueabihf/sys/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/uio.h: - -/usr/include/arm-linux-gnueabihf/bits/socket.h: - -/usr/include/arm-linux-gnueabihf/bits/socket_type.h: - -/usr/include/arm-linux-gnueabihf/bits/sockaddr.h: - -/usr/include/arm-linux-gnueabihf/asm/socket.h: - -/usr/include/asm-generic/socket.h: - -/usr/include/arm-linux-gnueabihf/asm/sockios.h: - -/usr/include/asm-generic/sockios.h: - -lib/bluetooth/bluetooth.h: - -/usr/lib/gcc/arm-linux-gnueabihf/4.9/include/stdint.h: - -/usr/include/stdint.h: - -/usr/include/arm-linux-gnueabihf/bits/wchar.h: - -/usr/include/byteswap.h: - -/usr/include/netinet/in.h: - -/usr/include/arm-linux-gnueabihf/bits/in.h: - -lib/bluetooth/hci.h: - -lib/bluetooth/hci_lib.h: - -lib/bluetooth/sdp.h: - -lib/bluetooth/sdp_lib.h: - -src/sdp-xml.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/tools/.deps/ubcsp.Po b/GRIB_BLE_HUB/libs/ble_extend/tools/.deps/ubcsp.Po deleted file mode 100644 index ac68f79..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/tools/.deps/ubcsp.Po +++ /dev/null @@ -1,8 +0,0 @@ -tools/ubcsp.o: tools/ubcsp.c /usr/include/stdc-predef.h config.h \ - tools/ubcsp.h - -/usr/include/stdc-predef.h: - -config.h: - -tools/ubcsp.h: diff --git a/GRIB_BLE_HUB/libs/ble_extend/tools/.dirstamp b/GRIB_BLE_HUB/libs/ble_extend/tools/.dirstamp deleted file mode 100644 index e69de29..0000000 diff --git a/GRIB_BLE_HUB/libs/ble_extend/tools/97-hid2hci.rules b/GRIB_BLE_HUB/libs/ble_extend/tools/97-hid2hci.rules deleted file mode 100644 index db6bb03..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/tools/97-hid2hci.rules +++ /dev/null @@ -1,28 +0,0 @@ -# do not edit this file, it will be overwritten on update - -ACTION=="remove", GOTO="hid2hci_end" -SUBSYSTEM!="usb*", GOTO="hid2hci_end" - -# Variety of Dell Bluetooth devices - match on a mouse device that is -# self powered and where a HID report needs to be sent to switch modes -# Known supported devices: 413c:8154, 413c:8158, 413c:8162 -ATTR{bInterfaceClass}=="03", ATTR{bInterfaceSubClass}=="01", ATTR{bInterfaceProtocol}=="02", \ - ATTRS{bDeviceClass}=="00", ATTRS{idVendor}=="413c", ATTRS{bmAttributes}=="e0", \ - RUN+="hid2hci --method=dell --devpath=%p", ENV{HID2HCI_SWITCH}="1" - -# Logitech devices -KERNEL=="hiddev*", ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c70[345abce]|c71[34bc]", \ - RUN+="hid2hci --method=logitech-hid --devpath=%p" - -ENV{DEVTYPE}!="usb_device", GOTO="hid2hci_end" - -# When a Dell device recovers from S3, the mouse child needs to be repoked -# Unfortunately the only event seen is the BT device disappearing, so the mouse -# device needs to be chased down on the USB bus. -ATTR{bDeviceClass}=="e0", ATTR{bDeviceSubClass}=="01", ATTR{bDeviceProtocol}=="01", ATTR{idVendor}=="413c", \ - ENV{REMOVE_CMD}="/sbin/udevadm trigger --action=change --subsystem-match=usb --property-match=HID2HCI_SWITCH=1" - -# CSR devices -ATTR{idVendor}=="0a12|0458|05ac", ATTR{idProduct}=="1000", RUN+="hid2hci --method=csr --devpath=%p" - -LABEL="hid2hci_end" diff --git a/GRIB_BLE_HUB/libs/ble_extend/tools/avinfo.c b/GRIB_BLE_HUB/libs/ble_extend/tools/avinfo.c deleted file mode 100644 index d237742..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/tools/avinfo.c +++ /dev/null @@ -1,586 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2006-2010 Nokia Corporation - * Copyright (C) 2004-2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "profiles/audio/a2dp-codecs.h" - -#include -#include -#include -#include - -#define AVDTP_PSM 25 - -/* Commands */ -#define AVDTP_DISCOVER 0x01 -#define AVDTP_GET_CAPABILITIES 0x02 - -#define AVDTP_PKT_TYPE_SINGLE 0x00 - -#define AVDTP_MSG_TYPE_COMMAND 0x00 - -/* SEP capability categories */ -#define AVDTP_MEDIA_TRANSPORT 0x01 -#define AVDTP_REPORTING 0x02 -#define AVDTP_RECOVERY 0x03 -#define AVDTP_CONTENT_PROTECTION 0x04 -#define AVDTP_HEADER_COMPRESSION 0x05 -#define AVDTP_MULTIPLEXING 0x06 -#define AVDTP_MEDIA_CODEC 0x07 - -/* SEP types definitions */ -#define AVDTP_SEP_TYPE_SOURCE 0x00 -#define AVDTP_SEP_TYPE_SINK 0x01 - -/* Media types definitions */ -#define AVDTP_MEDIA_TYPE_AUDIO 0x00 -#define AVDTP_MEDIA_TYPE_VIDEO 0x01 -#define AVDTP_MEDIA_TYPE_MULTIMEDIA 0x02 - -struct avdtp_service_capability { - uint8_t category; - uint8_t length; - uint8_t data[0]; -} __attribute__ ((packed)); - -#if __BYTE_ORDER == __LITTLE_ENDIAN - -struct avdtp_header { - uint8_t message_type:2; - uint8_t packet_type:2; - uint8_t transaction:4; - uint8_t signal_id:6; - uint8_t rfa0:2; -} __attribute__ ((packed)); - -struct seid_info { - uint8_t rfa0:1; - uint8_t inuse:1; - uint8_t seid:6; - uint8_t rfa2:3; - uint8_t type:1; - uint8_t media_type:4; -} __attribute__ ((packed)); - -struct seid_req { - struct avdtp_header header; - uint8_t rfa0:2; - uint8_t acp_seid:6; -} __attribute__ ((packed)); - -struct avdtp_media_codec_capability { - uint8_t rfa0:4; - uint8_t media_type:4; - uint8_t media_codec_type; - uint8_t data[0]; -} __attribute__ ((packed)); - -#elif __BYTE_ORDER == __BIG_ENDIAN - -struct avdtp_header { - uint8_t transaction:4; - uint8_t packet_type:2; - uint8_t message_type:2; - uint8_t rfa0:2; - uint8_t signal_id:6; -} __attribute__ ((packed)); - -struct seid_info { - uint8_t seid:6; - uint8_t inuse:1; - uint8_t rfa0:1; - uint8_t media_type:4; - uint8_t type:1; - uint8_t rfa2:3; -} __attribute__ ((packed)); - -struct seid_req { - struct avdtp_header header; - uint8_t acp_seid:6; - uint8_t rfa0:2; -} __attribute__ ((packed)); - -struct avdtp_media_codec_capability { - uint8_t media_type:4; - uint8_t rfa0:4; - uint8_t media_codec_type; - uint8_t data[0]; -} __attribute__ ((packed)); - -#else -#error "Unknown byte order" -#endif - -struct discover_resp { - struct avdtp_header header; - struct seid_info seps[0]; -} __attribute__ ((packed)); - -struct getcap_resp { - struct avdtp_header header; - uint8_t caps[0]; -} __attribute__ ((packed)); - -static void print_vendor(a2dp_vendor_codec_t *vendor) -{ - printf("\tMedia Codec: Vendor Specific A2DP Codec"); - - printf("\n\t\tVendor ID 0x%02x%02x%02x%02x", vendor->vendor_id[0], - vendor->vendor_id[1], vendor->vendor_id[2], - vendor->vendor_id[3]); - - printf("\n\t\tVendor Specific Codec ID 0x%02x%02x\n", - vendor->codec_id[0], vendor->codec_id[1]); -} - - -static void print_mpeg12(a2dp_mpeg_t *mpeg) -{ - printf("\tMedia Codec: MPEG12\n\t\tChannel Modes: "); - - if (mpeg->channel_mode & MPEG_CHANNEL_MODE_MONO) - printf("Mono "); - if (mpeg->channel_mode & MPEG_CHANNEL_MODE_DUAL_CHANNEL) - printf("DualChannel "); - if (mpeg->channel_mode & MPEG_CHANNEL_MODE_STEREO) - printf("Stereo "); - if (mpeg->channel_mode & MPEG_CHANNEL_MODE_JOINT_STEREO) - printf("JointStereo"); - - printf("\n\t\tFrequencies: "); - if (mpeg->frequency & MPEG_SAMPLING_FREQ_16000) - printf("16Khz "); - if (mpeg->frequency & MPEG_SAMPLING_FREQ_22050) - printf("22.05Khz "); - if (mpeg->frequency & MPEG_SAMPLING_FREQ_24000) - printf("24Khz "); - if (mpeg->frequency & MPEG_SAMPLING_FREQ_32000) - printf("32Khz "); - if (mpeg->frequency & MPEG_SAMPLING_FREQ_44100) - printf("44.1Khz "); - if (mpeg->frequency & MPEG_SAMPLING_FREQ_48000) - printf("48Khz "); - - printf("\n\t\tCRC: %s", mpeg->crc ? "Yes" : "No"); - - printf("\n\t\tLayer: "); - if (mpeg->layer & MPEG_LAYER_MP1) - printf("1 "); - if (mpeg->layer & MPEG_LAYER_MP2) - printf("2 "); - if (mpeg->layer & MPEG_LAYER_MP3) - printf("3 "); - - printf("\n\t\tBit Rate: "); - if (mpeg->bitrate & MPEG_BIT_RATE_FREE) - printf("Free format"); - else { - if (mpeg->bitrate & MPEG_BIT_RATE_32000) - printf("32kbps "); - if (mpeg->bitrate & MPEG_BIT_RATE_40000) - printf("40kbps "); - if (mpeg->bitrate & MPEG_BIT_RATE_48000) - printf("48kbps "); - if (mpeg->bitrate & MPEG_BIT_RATE_56000) - printf("56kbps "); - if (mpeg->bitrate & MPEG_BIT_RATE_64000) - printf("64kbps "); - if (mpeg->bitrate & MPEG_BIT_RATE_80000) - printf("80kbps "); - if (mpeg->bitrate & MPEG_BIT_RATE_96000) - printf("96kbps "); - if (mpeg->bitrate & MPEG_BIT_RATE_112000) - printf("112kbps "); - if (mpeg->bitrate & MPEG_BIT_RATE_128000) - printf("128kbps "); - if (mpeg->bitrate & MPEG_BIT_RATE_160000) - printf("160kbps "); - if (mpeg->bitrate & MPEG_BIT_RATE_192000) - printf("192kbps "); - if (mpeg->bitrate & MPEG_BIT_RATE_224000) - printf("224kbps "); - if (mpeg->bitrate & MPEG_BIT_RATE_256000) - printf("256kbps "); - if (mpeg->bitrate & MPEG_BIT_RATE_320000) - printf("320kbps "); - } - - printf("\n\t\tVBR: %s", mpeg->bitrate & MPEG_BIT_RATE_VBR ? "Yes" : - "No"); - - printf("\n\t\tPayload Format: "); - if (mpeg->mpf) - printf("RFC-2250 RFC-3119\n"); - else - printf("RFC-2250\n"); -} - -static void print_sbc(a2dp_sbc_t *sbc) -{ - printf("\tMedia Codec: SBC\n\t\tChannel Modes: "); - - if (sbc->channel_mode & SBC_CHANNEL_MODE_MONO) - printf("Mono "); - if (sbc->channel_mode & SBC_CHANNEL_MODE_DUAL_CHANNEL) - printf("DualChannel "); - if (sbc->channel_mode & SBC_CHANNEL_MODE_STEREO) - printf("Stereo "); - if (sbc->channel_mode & SBC_CHANNEL_MODE_JOINT_STEREO) - printf("JointStereo"); - - printf("\n\t\tFrequencies: "); - if (sbc->frequency & SBC_SAMPLING_FREQ_16000) - printf("16Khz "); - if (sbc->frequency & SBC_SAMPLING_FREQ_32000) - printf("32Khz "); - if (sbc->frequency & SBC_SAMPLING_FREQ_44100) - printf("44.1Khz "); - if (sbc->frequency & SBC_SAMPLING_FREQ_48000) - printf("48Khz "); - - printf("\n\t\tSubbands: "); - if (sbc->allocation_method & SBC_SUBBANDS_4) - printf("4 "); - if (sbc->allocation_method & SBC_SUBBANDS_8) - printf("8"); - - printf("\n\t\tBlocks: "); - if (sbc->block_length & SBC_BLOCK_LENGTH_4) - printf("4 "); - if (sbc->block_length & SBC_BLOCK_LENGTH_8) - printf("8 "); - if (sbc->block_length & SBC_BLOCK_LENGTH_12) - printf("12 "); - if (sbc->block_length & SBC_BLOCK_LENGTH_16) - printf("16 "); - - printf("\n\t\tBitpool Range: %d-%d\n", - sbc->min_bitpool, sbc->max_bitpool); -} - -static void print_media_codec(struct avdtp_media_codec_capability *cap) -{ - switch (cap->media_codec_type) { - case A2DP_CODEC_SBC: - print_sbc((void *) cap->data); - break; - case A2DP_CODEC_MPEG12: - print_mpeg12((void *) cap->data); - break; - case A2DP_CODEC_VENDOR: - print_vendor((void *) cap->data); - break; - default: - printf("\tMedia Codec: Unknown\n"); - } -} - -static void print_caps(void *data, int size) -{ - int processed; - - for (processed = 0; processed + 2 < size;) { - struct avdtp_service_capability *cap; - - cap = data; - - if (processed + 2 + cap->length > size) { - printf("Invalid capability data in getcap resp\n"); - break; - } - - switch (cap->category) { - case AVDTP_MEDIA_TRANSPORT: - case AVDTP_REPORTING: - case AVDTP_RECOVERY: - case AVDTP_CONTENT_PROTECTION: - case AVDTP_MULTIPLEXING: - /* FIXME: Add proper functions */ - break; - case AVDTP_MEDIA_CODEC: - print_media_codec((void *) cap->data); - break; - } - - processed += 2 + cap->length; - data += 2 + cap->length; - } -} - -static void init_request(struct avdtp_header *header, int request_id) -{ - static int transaction = 0; - - header->packet_type = AVDTP_PKT_TYPE_SINGLE; - header->message_type = AVDTP_MSG_TYPE_COMMAND; - header->transaction = transaction; - header->signal_id = request_id; - - /* clear rfa bits */ - header->rfa0 = 0; - - transaction = (transaction + 1) % 16; -} - -static ssize_t avdtp_send(int sk, void *data, int len) -{ - ssize_t ret; - - ret = send(sk, data, len, 0); - - if (ret < 0) - ret = -errno; - else if (ret != len) - ret = -EIO; - - if (ret < 0) { - printf("Unable to send message: %s (%zd)\n", - strerror(-ret), -ret); - return ret; - } - - return ret; -} - -static ssize_t avdtp_receive(int sk, void *data, int len) -{ - ssize_t ret; - - ret = recv(sk, data, len, 0); - - if (ret < 0) { - printf("Unable to receive message: %s (%d)\n", - strerror(errno), errno); - return -errno; - } - - return ret; -} - -static ssize_t avdtp_get_caps(int sk, int seid) -{ - struct seid_req req; - char buffer[1024]; - struct getcap_resp *caps = (void *) buffer; - ssize_t ret; - - memset(&req, 0, sizeof(req)); - init_request(&req.header, AVDTP_GET_CAPABILITIES); - req.acp_seid = seid; - - ret = avdtp_send(sk, &req, sizeof(req)); - if (ret < 0) - return ret; - - memset(&buffer, 0, sizeof(buffer)); - ret = avdtp_receive(sk, caps, sizeof(buffer)); - if (ret < 0) - return ret; - - if ((size_t) ret < (sizeof(struct getcap_resp) + 4 + - sizeof(struct avdtp_media_codec_capability))) { - printf("Invalid capabilities\n"); - return -1; - } - - print_caps(caps, ret); - - return 0; -} - -static ssize_t avdtp_discover(int sk) -{ - struct avdtp_header req; - char buffer[256]; - struct discover_resp *discover = (void *) buffer; - int seps, i; - ssize_t ret; - - memset(&req, 0, sizeof(req)); - init_request(&req, AVDTP_DISCOVER); - - ret = avdtp_send(sk, &req, sizeof(req)); - if (ret < 0) - return ret; - - memset(&buffer, 0, sizeof(buffer)); - ret = avdtp_receive(sk, discover, sizeof(buffer)); - if (ret < 0) - return ret; - - seps = (ret - sizeof(struct avdtp_header)) / sizeof(struct seid_info); - for (i = 0; i < seps; i++) { - const char *type, *media; - - switch (discover->seps[i].type) { - case AVDTP_SEP_TYPE_SOURCE: - type = "Source"; - break; - case AVDTP_SEP_TYPE_SINK: - type = "Sink"; - break; - default: - type = "Invalid"; - } - - switch (discover->seps[i].media_type) { - case AVDTP_MEDIA_TYPE_AUDIO: - media = "Audio"; - break; - case AVDTP_MEDIA_TYPE_VIDEO: - media = "Video"; - break; - case AVDTP_MEDIA_TYPE_MULTIMEDIA: - media = "Multimedia"; - break; - default: - media = "Invalid"; - } - - printf("Stream End-Point #%d: %s %s %s\n", - discover->seps[i].seid, media, type, - discover->seps[i].inuse ? "*" : ""); - - avdtp_get_caps(sk, discover->seps[i].seid); - } - - return 0; -} - -static int l2cap_connect(bdaddr_t *src, bdaddr_t *dst) -{ - struct sockaddr_l2 l2a; - int sk; - - memset(&l2a, 0, sizeof(l2a)); - l2a.l2_family = AF_BLUETOOTH; - bacpy(&l2a.l2_bdaddr, src); - - sk = socket(AF_BLUETOOTH, SOCK_SEQPACKET, BTPROTO_L2CAP); - if (sk < 0) { - printf("Cannot create L2CAP socket. %s(%d)\n", strerror(errno), - errno); - return -errno; - } - - if (bind(sk, (struct sockaddr *) &l2a, sizeof(l2a)) < 0) { - printf("Bind failed. %s (%d)\n", strerror(errno), errno); - return -errno; - } - - memset(&l2a, 0, sizeof(l2a)); - l2a.l2_family = AF_BLUETOOTH; - bacpy(&l2a.l2_bdaddr, dst); - l2a.l2_psm = htobs(AVDTP_PSM); - - if (connect(sk, (struct sockaddr *) &l2a, sizeof(l2a)) < 0) { - printf("Connect failed. %s(%d)\n", strerror(errno), errno); - return -errno; - } - - return sk; -} - -static void usage(void) -{ - printf("avinfo - Audio/Video Info Tool ver %s\n", VERSION); - printf("Usage:\n" - "\tavinfo [options] \n"); - printf("Options:\n" - "\t-h\t\tDisplay help\n" - "\t-i\t\tSpecify source interface\n"); -} - -static struct option main_options[] = { - { "help", 0, 0, 'h' }, - { "device", 1, 0, 'i' }, - { 0, 0, 0, 0 } -}; - -int main(int argc, char *argv[]) -{ - bdaddr_t src, dst; - int opt, sk, dev_id; - - if (argc < 2) { - usage(); - exit(0); - } - - bacpy(&src, BDADDR_ANY); - dev_id = hci_get_route(&src); - if ((dev_id < 0) || (hci_devba(dev_id, &src) < 0)) { - printf("Cannot find any local adapter\n"); - exit(-1); - } - - while ((opt = getopt_long(argc, argv, "+i:h", main_options, NULL)) != -1) { - switch (opt) { - case 'i': - if (!strncmp(optarg, "hci", 3)) - hci_devba(atoi(optarg + 3), &src); - else - str2ba(optarg, &src); - break; - - case 'h': - default: - usage(); - exit(0); - } - } - - printf("Connecting ... \n"); - - if (bachk(argv[optind]) < 0) { - printf("Invalid argument\n"); - exit(1); - } - - str2ba(argv[optind], &dst); - sk = l2cap_connect(&src, &dst); - if (sk < 0) - exit(1); - - if (avdtp_discover(sk) < 0) - exit(1); - - return 0; -} diff --git a/GRIB_BLE_HUB/libs/ble_extend/tools/avtest.c b/GRIB_BLE_HUB/libs/ble_extend/tools/avtest.c deleted file mode 100644 index 541b3cd..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/tools/avtest.c +++ /dev/null @@ -1,869 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2007-2010 Marcel Holtmann - * Copyright (C) 2009-2010 Nokia Corporation - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include - -#define AVDTP_PKT_TYPE_SINGLE 0x00 -#define AVDTP_PKT_TYPE_START 0x01 -#define AVDTP_PKT_TYPE_CONTINUE 0x02 -#define AVDTP_PKT_TYPE_END 0x03 - -#define AVDTP_MSG_TYPE_COMMAND 0x00 -#define AVDTP_MSG_TYPE_GEN_REJECT 0x01 -#define AVDTP_MSG_TYPE_ACCEPT 0x02 -#define AVDTP_MSG_TYPE_REJECT 0x03 - -#define AVDTP_DISCOVER 0x01 -#define AVDTP_GET_CAPABILITIES 0x02 -#define AVDTP_SET_CONFIGURATION 0x03 -#define AVDTP_GET_CONFIGURATION 0x04 -#define AVDTP_RECONFIGURE 0x05 -#define AVDTP_OPEN 0x06 -#define AVDTP_START 0x07 -#define AVDTP_CLOSE 0x08 -#define AVDTP_SUSPEND 0x09 -#define AVDTP_ABORT 0x0A - -#define AVDTP_SEP_TYPE_SOURCE 0x00 -#define AVDTP_SEP_TYPE_SINK 0x01 - -#define AVDTP_MEDIA_TYPE_AUDIO 0x00 -#define AVDTP_MEDIA_TYPE_VIDEO 0x01 -#define AVDTP_MEDIA_TYPE_MULTIMEDIA 0x02 - -#if __BYTE_ORDER == __LITTLE_ENDIAN - -struct avdtp_header { - uint8_t message_type:2; - uint8_t packet_type:2; - uint8_t transaction:4; - uint8_t signal_id:6; - uint8_t rfa0:2; -} __attribute__ ((packed)); - -struct seid_info { - uint8_t rfa0:1; - uint8_t inuse:1; - uint8_t seid:6; - uint8_t rfa2:3; - uint8_t type:1; - uint8_t media_type:4; -} __attribute__ ((packed)); - -struct avdtp_start_header { - uint8_t message_type:2; - uint8_t packet_type:2; - uint8_t transaction:4; - uint8_t no_of_packets; - uint8_t signal_id:6; - uint8_t rfa0:2; -} __attribute__ ((packed)); - -struct avdtp_continue_header { - uint8_t message_type:2; - uint8_t packet_type:2; - uint8_t transaction:4; -} __attribute__ ((packed)); - -struct avctp_header { - uint8_t ipid:1; - uint8_t cr:1; - uint8_t packet_type:2; - uint8_t transaction:4; - uint16_t pid; -} __attribute__ ((packed)); -#define AVCTP_HEADER_LENGTH 3 - -#elif __BYTE_ORDER == __BIG_ENDIAN - -struct avdtp_header { - uint8_t transaction:4; - uint8_t packet_type:2; - uint8_t message_type:2; - uint8_t rfa0:2; - uint8_t signal_id:6; -} __attribute__ ((packed)); - -struct seid_info { - uint8_t seid:6; - uint8_t inuse:1; - uint8_t rfa0:1; - uint8_t media_type:4; - uint8_t type:1; - uint8_t rfa2:3; -} __attribute__ ((packed)); - -struct avdtp_start_header { - uint8_t transaction:4; - uint8_t packet_type:2; - uint8_t message_type:2; - uint8_t no_of_packets; - uint8_t rfa0:2; - uint8_t signal_id:6; -} __attribute__ ((packed)); - -struct avdtp_continue_header { - uint8_t transaction:4; - uint8_t packet_type:2; - uint8_t message_type:2; -} __attribute__ ((packed)); - -struct avctp_header { - uint8_t transaction:4; - uint8_t packet_type:2; - uint8_t cr:1; - uint8_t ipid:1; - uint16_t pid; -} __attribute__ ((packed)); -#define AVCTP_HEADER_LENGTH 3 - -#else -#error "Unknown byte order" -#endif - -#define AVCTP_COMMAND 0 -#define AVCTP_RESPONSE 1 - -#define AVCTP_PACKET_SINGLE 0 - -static const unsigned char media_transport[] = { - 0x01, /* Media transport category */ - 0x00, - 0x07, /* Media codec category */ - 0x06, - 0x00, /* Media type audio */ - 0x00, /* Codec SBC */ - 0x22, /* 44.1 kHz, stereo */ - 0x15, /* 16 blocks, 8 subbands */ - 0x02, - 0x33, -}; - -static int media_sock = -1; - -static void dump_avctp_header(struct avctp_header *hdr) -{ - printf("TL %d PT %d CR %d IPID %d PID 0x%04x\n", hdr->transaction, - hdr->packet_type, hdr->cr, hdr->ipid, ntohs(hdr->pid)); -} - -static void dump_avdtp_header(struct avdtp_header *hdr) -{ - printf("TL %d PT %d MT %d SI %d\n", hdr->transaction, - hdr->packet_type, hdr->message_type, hdr->signal_id); -} - -static void dump_buffer(const unsigned char *buf, int len) -{ - int i; - - for (i = 0; i < len; i++) - printf("%02x ", buf[i]); - printf("\n"); -} - -static void process_avdtp(int srv_sk, int sk, unsigned char reject, - int fragment) -{ - unsigned char buf[672]; - ssize_t len; - - while (1) { - struct avdtp_header *hdr = (void *) buf; - - len = read(sk, buf, sizeof(buf)); - if (len <= 0) { - perror("Read failed"); - break; - } - - dump_buffer(buf, len); - dump_avdtp_header(hdr); - - if (hdr->packet_type != AVDTP_PKT_TYPE_SINGLE) { - fprintf(stderr, "Only single packets are supported\n"); - break; - } - - if (hdr->message_type != AVDTP_MSG_TYPE_COMMAND) { - fprintf(stderr, "Ignoring non-command messages\n"); - continue; - } - - switch (hdr->signal_id) { - case AVDTP_DISCOVER: - if (reject == AVDTP_DISCOVER) { - hdr->message_type = AVDTP_MSG_TYPE_REJECT; - buf[2] = 0x29; /* Unsupported configuration */ - printf("Rejecting discover command\n"); - len = write(sk, buf, 3); - } else { - struct seid_info *sei = (void *) (buf + 2); - hdr->message_type = AVDTP_MSG_TYPE_ACCEPT; - buf[2] = 0x00; - buf[3] = 0x00; - sei->seid = 0x01; - sei->type = AVDTP_SEP_TYPE_SINK; - sei->media_type = AVDTP_MEDIA_TYPE_AUDIO; - printf("Accepting discover command\n"); - len = write(sk, buf, 4); - } - break; - - case AVDTP_GET_CAPABILITIES: - if (reject == AVDTP_GET_CAPABILITIES) { - hdr->message_type = AVDTP_MSG_TYPE_REJECT; - buf[2] = 0x29; /* Unsupported configuration */ - printf("Rejecting get capabilties command\n"); - len = write(sk, buf, 3); - } else if (fragment) { - struct avdtp_start_header *start = (void *) buf; - - printf("Sending fragmented reply to getcap\n"); - - hdr->message_type = AVDTP_MSG_TYPE_ACCEPT; - - /* Start packet */ - hdr->packet_type = AVDTP_PKT_TYPE_START; - start->signal_id = AVDTP_GET_CAPABILITIES; - start->no_of_packets = 3; - memcpy(&buf[3], media_transport, - sizeof(media_transport)); - len = write(sk, buf, - 3 + sizeof(media_transport)); - - /* Continue packet */ - hdr->packet_type = AVDTP_PKT_TYPE_CONTINUE; - memcpy(&buf[1], media_transport, - sizeof(media_transport)); - len = write(sk, buf, - 1 + sizeof(media_transport)); - - /* End packet */ - hdr->packet_type = AVDTP_PKT_TYPE_END; - memcpy(&buf[1], media_transport, - sizeof(media_transport)); - len = write(sk, buf, - 1 + sizeof(media_transport)); - } else { - hdr->message_type = AVDTP_MSG_TYPE_ACCEPT; - memcpy(&buf[2], media_transport, - sizeof(media_transport)); - printf("Accepting get capabilities command\n"); - len = write(sk, buf, - 2 + sizeof(media_transport)); - } - break; - - case AVDTP_SET_CONFIGURATION: - if (reject == AVDTP_SET_CONFIGURATION) { - hdr->message_type = AVDTP_MSG_TYPE_REJECT; - buf[2] = buf[4]; - buf[3] = 0x13; /* SEP In Use */ - printf("Rejecting set configuration command\n"); - len = write(sk, buf, 4); - } else { - hdr->message_type = AVDTP_MSG_TYPE_ACCEPT; - printf("Accepting set configuration command\n"); - len = write(sk, buf, 2); - } - break; - - case AVDTP_GET_CONFIGURATION: - if (reject == AVDTP_GET_CONFIGURATION) { - hdr->message_type = AVDTP_MSG_TYPE_REJECT; - buf[2] = 0x12; /* Bad ACP SEID */ - printf("Rejecting get configuration command\n"); - len = write(sk, buf, 3); - } else { - hdr->message_type = AVDTP_MSG_TYPE_ACCEPT; - printf("Accepting get configuration command\n"); - len = write(sk, buf, 2); - } - break; - - case AVDTP_OPEN: - if (reject == AVDTP_OPEN) { - hdr->message_type = AVDTP_MSG_TYPE_REJECT; - buf[2] = 0x31; /* Bad State */ - printf("Rejecting open command\n"); - len = write(sk, buf, 3); - } else { - struct sockaddr_l2 addr; - socklen_t optlen; - - hdr->message_type = AVDTP_MSG_TYPE_ACCEPT; - printf("Accepting open command\n"); - len = write(sk, buf, 2); - - memset(&addr, 0, sizeof(addr)); - optlen = sizeof(addr); - - media_sock = accept(srv_sk, - (struct sockaddr *) &addr, - &optlen); - if (media_sock < 0) { - perror("Accept failed"); - break; - } - } - break; - - case AVDTP_START: - if (reject == AVDTP_ABORT) - printf("Ignoring start to cause abort"); - else if (reject == AVDTP_START) { - hdr->message_type = AVDTP_MSG_TYPE_REJECT; - buf[3] = 0x31; /* Bad State */ - printf("Rejecting start command\n"); - len = write(sk, buf, 4); - } else { - hdr->message_type = AVDTP_MSG_TYPE_ACCEPT; - printf("Accepting start command\n"); - len = write(sk, buf, 2); - } - break; - - case AVDTP_CLOSE: - if (reject == AVDTP_CLOSE) { - hdr->message_type = AVDTP_MSG_TYPE_REJECT; - buf[2] = 0x31; /* Bad State */ - printf("Rejecting close command\n"); - len = write(sk, buf, 3); - } else { - hdr->message_type = AVDTP_MSG_TYPE_ACCEPT; - printf("Accepting close command\n"); - len = write(sk, buf, 2); - if (media_sock >= 0) { - close(media_sock); - media_sock = -1; - } - } - break; - - case AVDTP_SUSPEND: - if (reject == AVDTP_SUSPEND) { - hdr->message_type = AVDTP_MSG_TYPE_REJECT; - buf[3] = 0x31; /* Bad State */ - printf("Rejecting suspend command\n"); - len = write(sk, buf, 4); - } else { - hdr->message_type = AVDTP_MSG_TYPE_ACCEPT; - printf("Accepting suspend command\n"); - len = write(sk, buf, 2); - } - break; - - case AVDTP_ABORT: - hdr->message_type = AVDTP_MSG_TYPE_ACCEPT; - printf("Accepting abort command\n"); - len = write(sk, buf, 2); - if (media_sock >= 0) { - close(media_sock); - media_sock = -1; - } - break; - - default: - buf[1] = 0x00; - printf("Unknown command\n"); - len = write(sk, buf, 2); - break; - } - } -} - -static void process_avctp(int sk, int reject) -{ - unsigned char buf[672]; - ssize_t len; - - while (1) { - struct avctp_header *hdr = (void *) buf; - - len = read(sk, buf, sizeof(buf)); - if (len <= 0) { - perror("Read failed"); - break; - } - - dump_buffer(buf, len); - - if (len >= AVCTP_HEADER_LENGTH) - dump_avctp_header(hdr); - } -} - -static int set_minimum_mtu(int sk) -{ - struct l2cap_options l2o; - socklen_t optlen; - - memset(&l2o, 0, sizeof(l2o)); - optlen = sizeof(l2o); - - if (getsockopt(sk, SOL_L2CAP, L2CAP_OPTIONS, &l2o, &optlen) < 0) { - perror("getsockopt"); - return -1; - } - - l2o.imtu = 48; - l2o.omtu = 48; - - if (setsockopt(sk, SOL_L2CAP, L2CAP_OPTIONS, &l2o, sizeof(l2o)) < 0) { - perror("setsockopt"); - return -1; - } - - return 0; -} - -static void do_listen(const bdaddr_t *src, unsigned char reject, int fragment) -{ - struct sockaddr_l2 addr; - socklen_t optlen; - int sk, nsk; - - sk = socket(PF_BLUETOOTH, SOCK_SEQPACKET, BTPROTO_L2CAP); - if (sk < 0) { - perror("Can't create socket"); - return; - } - - memset(&addr, 0, sizeof(addr)); - addr.l2_family = AF_BLUETOOTH; - bacpy(&addr.l2_bdaddr, src); - addr.l2_psm = htobs(25); - - if (bind(sk, (struct sockaddr *) &addr, sizeof(addr)) < 0) { - perror("Can't bind socket"); - goto error; - } - - if (fragment) - set_minimum_mtu(sk); - - if (listen(sk, 10)) { - perror("Can't listen on the socket"); - goto error; - } - - while (1) { - memset(&addr, 0, sizeof(addr)); - optlen = sizeof(addr); - - nsk = accept(sk, (struct sockaddr *) &addr, &optlen); - if (nsk < 0) { - perror("Accept failed"); - continue; - } - - process_avdtp(sk, nsk, reject, fragment); - - if (media_sock >= 0) { - close(media_sock); - media_sock = -1; - } - - close(nsk); - } - -error: - close(sk); -} - -static int do_connect(const bdaddr_t *src, const bdaddr_t *dst, int avctp, - int fragment) -{ - struct sockaddr_l2 addr; - int sk, err; - - sk = socket(PF_BLUETOOTH, SOCK_SEQPACKET, BTPROTO_L2CAP); - if (sk < 0) { - perror("Can't create socket"); - return -1; - } - - memset(&addr, 0, sizeof(addr)); - addr.l2_family = AF_BLUETOOTH; - bacpy(&addr.l2_bdaddr, src); - - if (bind(sk, (struct sockaddr *) &addr, sizeof(addr)) < 0) { - perror("Can't bind socket"); - goto error; - } - - if (fragment) - set_minimum_mtu(sk); - - memset(&addr, 0, sizeof(addr)); - addr.l2_family = AF_BLUETOOTH; - bacpy(&addr.l2_bdaddr, dst); - addr.l2_psm = htobs(avctp ? 23 : 25); - - err = connect(sk, (struct sockaddr *) &addr, sizeof(addr)); - if (err < 0) { - perror("Unable to connect"); - goto error; - } - - return sk; - -error: - close(sk); - return -1; -} - -static void do_avdtp_send(int sk, const bdaddr_t *src, const bdaddr_t *dst, - unsigned char cmd, int invalid, int preconf) -{ - unsigned char buf[672]; - struct avdtp_header *hdr = (void *) buf; - ssize_t len; - - memset(buf, 0, sizeof(buf)); - - switch (cmd) { - case AVDTP_DISCOVER: - if (invalid) - hdr->message_type = 0x01; - else - hdr->message_type = AVDTP_MSG_TYPE_COMMAND; - hdr->packet_type = AVDTP_PKT_TYPE_SINGLE; - hdr->signal_id = AVDTP_DISCOVER; - len = write(sk, buf, 2); - break; - - case AVDTP_GET_CAPABILITIES: - hdr->message_type = AVDTP_MSG_TYPE_COMMAND; - hdr->packet_type = AVDTP_PKT_TYPE_SINGLE; - hdr->signal_id = AVDTP_GET_CAPABILITIES; - buf[2] = 1 << 2; /* SEID 1 */ - len = write(sk, buf, invalid ? 2 : 3); - break; - - case AVDTP_SET_CONFIGURATION: - if (preconf) - do_avdtp_send(sk, src, dst, cmd, 0, 0); - hdr->message_type = AVDTP_MSG_TYPE_COMMAND; - hdr->packet_type = AVDTP_PKT_TYPE_SINGLE; - hdr->signal_id = AVDTP_SET_CONFIGURATION; - buf[2] = 1 << 2; /* ACP SEID */ - buf[3] = 1 << 2; /* INT SEID */ - memcpy(&buf[4], media_transport, sizeof(media_transport)); - if (invalid) - buf[5] = 0x01; /* LOSC != 0 */ - len = write(sk, buf, 4 + sizeof(media_transport)); - break; - - case AVDTP_GET_CONFIGURATION: - if (preconf) - do_avdtp_send(sk, src, dst, AVDTP_SET_CONFIGURATION, 0, 0); - hdr->message_type = AVDTP_MSG_TYPE_COMMAND; - hdr->packet_type = AVDTP_PKT_TYPE_SINGLE; - hdr->signal_id = AVDTP_GET_CONFIGURATION; - if (invalid) - buf[2] = 13 << 2; /* Invalid ACP SEID */ - else - buf[2] = 1 << 2; /* Valid ACP SEID */ - len = write(sk, buf, 3); - break; - - case AVDTP_OPEN: - if (preconf) - do_avdtp_send(sk, src, dst, AVDTP_SET_CONFIGURATION, 0, 0); - hdr->message_type = AVDTP_MSG_TYPE_COMMAND; - hdr->packet_type = AVDTP_PKT_TYPE_SINGLE; - hdr->signal_id = AVDTP_OPEN; - buf[2] = 1 << 2; /* ACP SEID */ - len = write(sk, buf, 3); - break; - - case AVDTP_START: - if (preconf) - do_avdtp_send(sk, src, dst, AVDTP_SET_CONFIGURATION, 0, 0); - if (!invalid) - do_avdtp_send(sk, src, dst, AVDTP_OPEN, 0, 0); - hdr->message_type = AVDTP_MSG_TYPE_COMMAND; - hdr->packet_type = AVDTP_PKT_TYPE_SINGLE; - hdr->signal_id = AVDTP_START; - buf[2] = 1 << 2; /* ACP SEID */ - len = write(sk, buf, 3); - break; - - case AVDTP_CLOSE: - if (preconf) { - do_avdtp_send(sk, src, dst, AVDTP_SET_CONFIGURATION, 0, 0); - do_avdtp_send(sk, src, dst, AVDTP_OPEN, 0, 0); - } - hdr->message_type = AVDTP_MSG_TYPE_COMMAND; - hdr->packet_type = AVDTP_PKT_TYPE_SINGLE; - hdr->signal_id = AVDTP_CLOSE; - if (invalid) - buf[2] = 13 << 2; /* Invalid ACP SEID */ - else - buf[2] = 1 << 2; /* Valid ACP SEID */ - len = write(sk, buf, 3); - break; - - case AVDTP_SUSPEND: - if (invalid) - do_avdtp_send(sk, src, dst, AVDTP_OPEN, 0, preconf); - else - do_avdtp_send(sk, src, dst, AVDTP_START, 0, preconf); - hdr->message_type = AVDTP_MSG_TYPE_COMMAND; - hdr->packet_type = AVDTP_PKT_TYPE_SINGLE; - hdr->signal_id = AVDTP_SUSPEND; - buf[2] = 1 << 2; /* ACP SEID */ - len = write(sk, buf, 3); - break; - - case AVDTP_ABORT: - do_avdtp_send(sk, src, dst, AVDTP_OPEN, 0, 1); - hdr->message_type = AVDTP_MSG_TYPE_COMMAND; - hdr->packet_type = AVDTP_PKT_TYPE_SINGLE; - hdr->signal_id = AVDTP_ABORT; - buf[2] = 1 << 2; /* ACP SEID */ - len = write(sk, buf, 3); - break; - - default: - hdr->message_type = AVDTP_MSG_TYPE_COMMAND; - hdr->packet_type = AVDTP_PKT_TYPE_SINGLE; - hdr->signal_id = cmd; - len = write(sk, buf, 2); - break; - } - - do { - len = read(sk, buf, sizeof(buf)); - - dump_buffer(buf, len); - dump_avdtp_header(hdr); - } while (len < 2 || (hdr->message_type != AVDTP_MSG_TYPE_ACCEPT && - hdr->message_type != AVDTP_MSG_TYPE_REJECT && - hdr->message_type != AVDTP_MSG_TYPE_GEN_REJECT)); - - if (cmd == AVDTP_OPEN && len >= 2 && - hdr->message_type == AVDTP_MSG_TYPE_ACCEPT) - media_sock = do_connect(src, dst, 0, 0); -} - -static void do_avctp_send(int sk, int invalid) -{ - unsigned char buf[672]; - struct avctp_header *hdr = (void *) buf; - unsigned char play_pressed[] = { 0x00, 0x48, 0x7c, 0x44, 0x00 }; - ssize_t len; - - memset(buf, 0, sizeof(buf)); - - hdr->packet_type = AVCTP_PACKET_SINGLE; - hdr->cr = AVCTP_COMMAND; - if (invalid) - hdr->pid = 0xffff; - else - hdr->pid = htons(AV_REMOTE_SVCLASS_ID); - - memcpy(&buf[AVCTP_HEADER_LENGTH], play_pressed, sizeof(play_pressed)); - - len = write(sk, buf, AVCTP_HEADER_LENGTH + sizeof(play_pressed)); - - len = read(sk, buf, sizeof(buf)); - - dump_buffer(buf, len); - if (len >= AVCTP_HEADER_LENGTH) - dump_avctp_header(hdr); -} - -static void usage(void) -{ - printf("avtest - Audio/Video testing ver %s\n", VERSION); - printf("Usage:\n" - "\tavtest [options] [remote address]\n"); - printf("Options:\n" - "\t--device HCI device\n" - "\t--reject Reject command\n" - "\t--send Send command\n" - "\t--preconf Configure stream before actual command\n" - "\t--wait Wait N seconds before exiting\n" - "\t--fragment Use minimum MTU and fragmented messages\n" - "\t--invalid Send invalid command\n"); -} - -static struct option main_options[] = { - { "help", 0, 0, 'h' }, - { "device", 1, 0, 'i' }, - { "reject", 1, 0, 'r' }, - { "send", 1, 0, 's' }, - { "invalid", 1, 0, 'f' }, - { "preconf", 0, 0, 'c' }, - { "fragment", 0, 0, 'F' }, - { "avctp", 0, 0, 'C' }, - { "wait", 1, 0, 'w' }, - { 0, 0, 0, 0 } -}; - -static unsigned char parse_cmd(const char *arg) -{ - if (!strncmp(arg, "discov", 6)) - return AVDTP_DISCOVER; - else if (!strncmp(arg, "capa", 4)) - return AVDTP_GET_CAPABILITIES; - else if (!strncmp(arg, "getcapa", 7)) - return AVDTP_GET_CAPABILITIES; - else if (!strncmp(arg, "setconf", 7)) - return AVDTP_SET_CONFIGURATION; - else if (!strncmp(arg, "getconf", 7)) - return AVDTP_GET_CONFIGURATION; - else if (!strncmp(arg, "open", 4)) - return AVDTP_OPEN; - else if (!strncmp(arg, "start", 5)) - return AVDTP_START; - else if (!strncmp(arg, "close", 5)) - return AVDTP_CLOSE; - else if (!strncmp(arg, "suspend", 7)) - return AVDTP_SUSPEND; - else if (!strncmp(arg, "abort", 7)) - return AVDTP_ABORT; - else - return atoi(arg); -} - -enum { - MODE_NONE, MODE_REJECT, MODE_SEND, -}; - -int main(int argc, char *argv[]) -{ - unsigned char cmd = 0x00; - bdaddr_t src, dst; - int opt, mode = MODE_NONE, sk, invalid = 0, preconf = 0, fragment = 0; - int avctp = 0, wait_before_exit = 0; - - bacpy(&src, BDADDR_ANY); - bacpy(&dst, BDADDR_ANY); - - while ((opt = getopt_long(argc, argv, "+i:r:s:f:hcFCw:", - main_options, NULL)) != EOF) { - switch (opt) { - case 'i': - if (!strncmp(optarg, "hci", 3)) - hci_devba(atoi(optarg + 3), &src); - else - str2ba(optarg, &src); - break; - - case 'r': - mode = MODE_REJECT; - cmd = parse_cmd(optarg); - break; - - case 'f': - invalid = 1; - /* Intentionally missing break */ - - case 's': - mode = MODE_SEND; - cmd = parse_cmd(optarg); - break; - - case 'c': - preconf = 1; - break; - - case 'F': - fragment = 1; - break; - - case 'C': - avctp = 1; - break; - - case 'w': - wait_before_exit = atoi(optarg); - break; - - case 'h': - default: - usage(); - exit(0); - } - } - - if (argv[optind]) - str2ba(argv[optind], &dst); - - if (avctp) { - avctp = mode; - mode = MODE_SEND; - } - - switch (mode) { - case MODE_REJECT: - do_listen(&src, cmd, fragment); - break; - case MODE_SEND: - sk = do_connect(&src, &dst, avctp, fragment); - if (sk < 0) - exit(1); - if (avctp) { - if (avctp == MODE_SEND) - do_avctp_send(sk, invalid); - else - process_avctp(sk, cmd); - } else - do_avdtp_send(sk, &src, &dst, cmd, invalid, preconf); - if (wait_before_exit) { - printf("Waiting %d seconds before exiting\n", wait_before_exit); - sleep(wait_before_exit); - } - if (media_sock >= 0) - close(media_sock); - close(sk); - break; - default: - fprintf(stderr, "No operating mode specified!\n"); - exit(1); - } - - return 0; -} diff --git a/GRIB_BLE_HUB/libs/ble_extend/tools/bccmd b/GRIB_BLE_HUB/libs/ble_extend/tools/bccmd deleted file mode 100644 index bdd71b5..0000000 Binary files a/GRIB_BLE_HUB/libs/ble_extend/tools/bccmd and /dev/null differ diff --git a/GRIB_BLE_HUB/libs/ble_extend/tools/bccmd.1 b/GRIB_BLE_HUB/libs/ble_extend/tools/bccmd.1 deleted file mode 100644 index 26c83a6..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/tools/bccmd.1 +++ /dev/null @@ -1,130 +0,0 @@ -.TH BCCMD 1 "Jun 20 2006" BlueZ "Linux System Administration" -.SH NAME -bccmd \- Utility for the CSR BCCMD interface -.SH SYNOPSIS -.B bccmd -.br -.B bccmd [-t ] [-d ] [] -.br -.B bccmd [-h --help] -.br -.SH DESCRIPTION -.B -bccmd -issues BlueCore commands to -.B -Cambridge Silicon Radio -devices. If run without the argument, a short help page will be displayed. -.SH OPTIONS -.TP -.BI -t\ -Specify the communication transport. Valid options are: -.RS -.TP -.BI HCI -Local device with Host Controller Interface (default). -.TP -.BI USB -Direct USB connection. -.TP -.BI BCSP -Blue Core Serial Protocol. -.TP -.BI H4 -H4 serial protocol. -.TP -.BI 3WIRE -3WIRE protocol (not implemented). -.SH -.TP -.BI -d\ -Specify a particular device to operate on. If not specified, default is the first available HCI device -or /dev/ttyS0 for serial transports. -.SH COMMANDS -.TP -.BI builddef -Get build definitions -.TP -.BI keylen\ -Get current crypt key length -.TP -.BI clock -Get local Bluetooth clock -.TP -.BI rand -Get random number -.TP -.BI chiprev -Get chip revision -.TP -.BI buildname -Get the full build name -.TP -.BI panicarg -Get panic code argument -.TP -.BI faultarg -Get fault code argument -.TP -.BI coldreset -Perform cold reset -.TP -.BI warmreset -Perform warm reset -.TP -.BI disabletx -Disable TX on the device -.TP -.BI enabletx -Enable TX on the device -.TP -.BI singlechan\ -Lock radio on specific channel -.TP -.BI hoppingon -Revert to channel hopping -.TP -.BI rttxdata1\ \ -TXData1 radio test -.TP -.BI radiotest\ \ \ -Run radio tests, tests 4, 6 and 7 are transmit tests -.TP -.BI memtypes -Get memory types -.TP -.BI psget\ [-r]\ [-s\ ]\ -Get value for PS key. --r sends a warm reset afterwards -.TP -.BI psset\ [-r]\ [-s\ ]\ \ -Set value for PS key. --r sends a warm reset afterwards -.TP -.BI psclr\ [-r]\ [-s\ ]\ -Clear value for PS key. --r sends a warm reset afterwards -.TP -.BI pslist\ [-r]\ [-s\ ] -List all PS keys. --r sends a warm reset afterwards -.TP -.BI psread\ [-r]\ [-s\ ] -Read all PS keys. --r sends a warm reset afterwards -.TP -.BI psload\ [-r]\ [-s\ ]\ -Load all PS keys from PSR file. --r sends a warm reset afterwards -.TP -.BI pscheck\ [-r]\ [-s\ ]\ -Check syntax of PSR file. --r sends a warm reset afterwards -.SH KEYS -bdaddr country devclass keymin keymax features commands version -remver hciextn mapsco baudrate hostintf anafreq anaftrim usbvid -usbpid dfupid bootmode -.SH AUTHORS -Written by Marcel Holtmann , -man page by Adam Laurie -.PP diff --git a/GRIB_BLE_HUB/libs/ble_extend/tools/bccmd.c b/GRIB_BLE_HUB/libs/ble_extend/tools/bccmd.c deleted file mode 100644 index 952bf13..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/tools/bccmd.c +++ /dev/null @@ -1,1237 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2004-2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include -#include -#include -#include - -#include -#include -#include - -#include "csr.h" - -#define CSR_TRANSPORT_UNKNOWN 0 -#define CSR_TRANSPORT_HCI 1 -#define CSR_TRANSPORT_USB 2 -#define CSR_TRANSPORT_BCSP 3 -#define CSR_TRANSPORT_H4 4 -#define CSR_TRANSPORT_3WIRE 5 - -#define CSR_STORES_PSI (0x0001) -#define CSR_STORES_PSF (0x0002) -#define CSR_STORES_PSROM (0x0004) -#define CSR_STORES_PSRAM (0x0008) -#define CSR_STORES_DEFAULT (CSR_STORES_PSI | CSR_STORES_PSF) - -#define CSR_TYPE_NULL 0 -#define CSR_TYPE_COMPLEX 1 -#define CSR_TYPE_UINT8 2 -#define CSR_TYPE_UINT16 3 -#define CSR_TYPE_UINT32 4 - -#define CSR_TYPE_ARRAY CSR_TYPE_COMPLEX -#define CSR_TYPE_BDADDR CSR_TYPE_COMPLEX - -static inline int transport_open(int transport, char *device, speed_t bcsp_rate) -{ - switch (transport) { - case CSR_TRANSPORT_HCI: - return csr_open_hci(device); -#ifdef HAVE_LIBUSB - case CSR_TRANSPORT_USB: - return csr_open_usb(device); -#endif - case CSR_TRANSPORT_BCSP: - return csr_open_bcsp(device, bcsp_rate); - case CSR_TRANSPORT_H4: - return csr_open_h4(device); - case CSR_TRANSPORT_3WIRE: - return csr_open_3wire(device); - default: - fprintf(stderr, "Unsupported transport\n"); - return -1; - } -} - -static inline int transport_read(int transport, uint16_t varid, uint8_t *value, uint16_t length) -{ - switch (transport) { - case CSR_TRANSPORT_HCI: - return csr_read_hci(varid, value, length); -#ifdef HAVE_LIBUSB - case CSR_TRANSPORT_USB: - return csr_read_usb(varid, value, length); -#endif - case CSR_TRANSPORT_BCSP: - return csr_read_bcsp(varid, value, length); - case CSR_TRANSPORT_H4: - return csr_read_h4(varid, value, length); - case CSR_TRANSPORT_3WIRE: - return csr_read_3wire(varid, value, length); - default: - errno = EOPNOTSUPP; - return -1; - } -} - -static inline int transport_write(int transport, uint16_t varid, uint8_t *value, uint16_t length) -{ - switch (transport) { - case CSR_TRANSPORT_HCI: - return csr_write_hci(varid, value, length); -#ifdef HAVE_LIBUSB - case CSR_TRANSPORT_USB: - return csr_write_usb(varid, value, length); -#endif - case CSR_TRANSPORT_BCSP: - return csr_write_bcsp(varid, value, length); - case CSR_TRANSPORT_H4: - return csr_write_h4(varid, value, length); - case CSR_TRANSPORT_3WIRE: - return csr_write_3wire(varid, value, length); - default: - errno = EOPNOTSUPP; - return -1; - } -} - -static inline void transport_close(int transport) -{ - switch (transport) { - case CSR_TRANSPORT_HCI: - csr_close_hci(); - break; -#ifdef HAVE_LIBUSB - case CSR_TRANSPORT_USB: - csr_close_usb(); - break; -#endif - case CSR_TRANSPORT_BCSP: - csr_close_bcsp(); - break; - case CSR_TRANSPORT_H4: - csr_close_h4(); - break; - case CSR_TRANSPORT_3WIRE: - csr_close_3wire(); - break; - } -} - -static struct { - uint16_t pskey; - int type; - int size; - char *str; -} storage[] = { - { CSR_PSKEY_BDADDR, CSR_TYPE_BDADDR, 8, "bdaddr" }, - { CSR_PSKEY_COUNTRYCODE, CSR_TYPE_UINT16, 0, "country" }, - { CSR_PSKEY_CLASSOFDEVICE, CSR_TYPE_UINT32, 0, "devclass" }, - { CSR_PSKEY_ENC_KEY_LMIN, CSR_TYPE_UINT16, 0, "keymin" }, - { CSR_PSKEY_ENC_KEY_LMAX, CSR_TYPE_UINT16, 0, "keymax" }, - { CSR_PSKEY_LOCAL_SUPPORTED_FEATURES, CSR_TYPE_ARRAY, 8, "features" }, - { CSR_PSKEY_LOCAL_SUPPORTED_COMMANDS, CSR_TYPE_ARRAY, 18, "commands" }, - { CSR_PSKEY_HCI_LMP_LOCAL_VERSION, CSR_TYPE_UINT16, 0, "version" }, - { CSR_PSKEY_LMP_REMOTE_VERSION, CSR_TYPE_UINT8, 0, "remver" }, - { CSR_PSKEY_HOSTIO_USE_HCI_EXTN, CSR_TYPE_UINT16, 0, "hciextn" }, - { CSR_PSKEY_HOSTIO_MAP_SCO_PCM, CSR_TYPE_UINT16, 0, "mapsco" }, - { CSR_PSKEY_UART_BAUDRATE, CSR_TYPE_UINT16, 0, "baudrate" }, - { CSR_PSKEY_HOST_INTERFACE, CSR_TYPE_UINT16, 0, "hostintf" }, - { CSR_PSKEY_ANA_FREQ, CSR_TYPE_UINT16, 0, "anafreq" }, - { CSR_PSKEY_ANA_FTRIM, CSR_TYPE_UINT16, 0, "anaftrim" }, - { CSR_PSKEY_USB_VENDOR_ID, CSR_TYPE_UINT16, 0, "usbvid" }, - { CSR_PSKEY_USB_PRODUCT_ID, CSR_TYPE_UINT16, 0, "usbpid" }, - { CSR_PSKEY_USB_DFU_PRODUCT_ID, CSR_TYPE_UINT16, 0, "dfupid" }, - { CSR_PSKEY_INITIAL_BOOTMODE, CSR_TYPE_UINT16, 0, "bootmode" }, - { 0x0000 }, -}; - -static char *storestostr(uint16_t stores) -{ - switch (stores) { - case 0x0000: - return "Default"; - case 0x0001: - return "psi"; - case 0x0002: - return "psf"; - case 0x0004: - return "psrom"; - case 0x0008: - return "psram"; - default: - return "Unknown"; - } -} - -static char *memorytostr(uint16_t type) -{ - switch (type) { - case 0x0000: - return "Flash memory"; - case 0x0001: - return "EEPROM"; - case 0x0002: - return "RAM (transient)"; - case 0x0003: - return "ROM (or \"read-only\" flash memory)"; - default: - return "Unknown"; - } -} - -#define OPT_RANGE(min, max) \ - if (argc < (min)) { errno = EINVAL; return -1; } \ - if (argc > (max)) { errno = E2BIG; return -1; } - -static struct option help_options[] = { - { "help", 0, 0, 'h' }, - { 0, 0, 0, 0 } -}; - -static int opt_help(int argc, char *argv[], int *help) -{ - int opt; - - while ((opt=getopt_long(argc, argv, "+h", help_options, NULL)) != EOF) { - switch (opt) { - case 'h': - if (help) - *help = 1; - break; - } - } - - return optind; -} - -#define OPT_HELP(range, help) \ - opt_help(argc, argv, (help)); \ - argc -= optind; argv += optind; optind = 0; \ - OPT_RANGE((range), (range)) - -static int cmd_builddef(int transport, int argc, char *argv[]) -{ - uint8_t array[8]; - uint16_t def = 0x0000, nextdef = 0x0000; - int err = 0; - - OPT_HELP(0, NULL); - - printf("Build definitions:\n"); - - while (1) { - memset(array, 0, sizeof(array)); - array[0] = def & 0xff; - array[1] = def >> 8; - - err = transport_read(transport, CSR_VARID_GET_NEXT_BUILDDEF, array, 8); - if (err < 0) - break; - - nextdef = array[2] | (array[3] << 8); - - if (nextdef == 0x0000) - break; - - def = nextdef; - - printf("0x%04x - %s\n", def, csr_builddeftostr(def)); - } - - return err; -} - -static int cmd_keylen(int transport, int argc, char *argv[]) -{ - uint8_t array[8]; - uint16_t handle, keylen; - int err; - - OPT_HELP(1, NULL); - - handle = atoi(argv[0]); - - memset(array, 0, sizeof(array)); - array[0] = handle & 0xff; - array[1] = handle >> 8; - - err = transport_read(transport, CSR_VARID_CRYPT_KEY_LENGTH, array, 8); - if (err < 0) - return -1; - - handle = array[0] | (array[1] << 8); - keylen = array[2] | (array[3] << 8); - - printf("Crypt key length: %d bit\n", keylen * 8); - - return 0; -} - -static int cmd_clock(int transport, int argc, char *argv[]) -{ - uint8_t array[8]; - uint32_t clock; - int err; - - OPT_HELP(0, NULL); - - memset(array, 0, sizeof(array)); - - err = transport_read(transport, CSR_VARID_BT_CLOCK, array, 8); - if (err < 0) - return -1; - - clock = array[2] | (array[3] << 8) | (array[0] << 16) | (array[1] << 24); - - printf("Bluetooth clock: 0x%04x (%d)\n", clock, clock); - - return 0; -} - -static int cmd_rand(int transport, int argc, char *argv[]) -{ - uint8_t array[8]; - uint16_t rand; - int err; - - OPT_HELP(0, NULL); - - memset(array, 0, sizeof(array)); - - err = transport_read(transport, CSR_VARID_RAND, array, 8); - if (err < 0) - return -1; - - rand = array[0] | (array[1] << 8); - - printf("Random number: 0x%02x (%d)\n", rand, rand); - - return 0; -} - -static int cmd_chiprev(int transport, int argc, char *argv[]) -{ - uint8_t array[8]; - uint16_t rev; - char *str; - int err; - - OPT_HELP(0, NULL); - - memset(array, 0, sizeof(array)); - - err = transport_read(transport, CSR_VARID_CHIPREV, array, 8); - if (err < 0) - return -1; - - rev = array[0] | (array[1] << 8); - - switch (rev) { - case 0x64: - str = "BC1 ES"; - break; - case 0x65: - str = "BC1"; - break; - case 0x89: - str = "BC2-External A"; - break; - case 0x8a: - str = "BC2-External B"; - break; - case 0x28: - str = "BC2-ROM"; - break; - case 0x43: - str = "BC3-Multimedia"; - break; - case 0x15: - str = "BC3-ROM"; - break; - case 0xe2: - str = "BC3-Flash"; - break; - case 0x26: - str = "BC4-External"; - break; - case 0x30: - str = "BC4-ROM"; - break; - default: - str = "NA"; - break; - } - - printf("Chip revision: 0x%04x (%s)\n", rev, str); - - return 0; -} - -static int cmd_buildname(int transport, int argc, char *argv[]) -{ - uint8_t array[130]; - char name[64]; - unsigned int i; - int err; - - OPT_HELP(0, NULL); - - memset(array, 0, sizeof(array)); - - err = transport_read(transport, CSR_VARID_READ_BUILD_NAME, array, 128); - if (err < 0) - return -1; - - for (i = 0; i < sizeof(name); i++) - name[i] = array[(i * 2) + 4]; - - printf("Build name: %s\n", name); - - return 0; -} - -static int cmd_panicarg(int transport, int argc, char *argv[]) -{ - uint8_t array[8]; - uint16_t error; - int err; - - OPT_HELP(0, NULL); - - memset(array, 0, sizeof(array)); - - err = transport_read(transport, CSR_VARID_PANIC_ARG, array, 8); - if (err < 0) - return -1; - - error = array[0] | (array[1] << 8); - - printf("Panic code: 0x%02x (%s)\n", error, - error < 0x100 ? "valid" : "invalid"); - - return 0; -} - -static int cmd_faultarg(int transport, int argc, char *argv[]) -{ - uint8_t array[8]; - uint16_t error; - int err; - - OPT_HELP(0, NULL); - - memset(array, 0, sizeof(array)); - - err = transport_read(transport, CSR_VARID_FAULT_ARG, array, 8); - if (err < 0) - return -1; - - error = array[0] | (array[1] << 8); - - printf("Fault code: 0x%02x (%s)\n", error, - error < 0x100 ? "valid" : "invalid"); - - return 0; -} - -static int cmd_coldreset(int transport, int argc, char *argv[]) -{ - return transport_write(transport, CSR_VARID_COLD_RESET, NULL, 0); -} - -static int cmd_warmreset(int transport, int argc, char *argv[]) -{ - return transport_write(transport, CSR_VARID_WARM_RESET, NULL, 0); -} - -static int cmd_disabletx(int transport, int argc, char *argv[]) -{ - return transport_write(transport, CSR_VARID_DISABLE_TX, NULL, 0); -} - -static int cmd_enabletx(int transport, int argc, char *argv[]) -{ - return transport_write(transport, CSR_VARID_ENABLE_TX, NULL, 0); -} - -static int cmd_singlechan(int transport, int argc, char *argv[]) -{ - uint8_t array[8]; - uint16_t channel; - - OPT_HELP(1, NULL); - - channel = atoi(argv[0]); - - if (channel > 2401 && channel < 2481) - channel -= 2402; - - if (channel > 78) { - errno = EINVAL; - return -1; - } - - memset(array, 0, sizeof(array)); - array[0] = channel & 0xff; - array[1] = channel >> 8; - - return transport_write(transport, CSR_VARID_SINGLE_CHAN, array, 8); -} - -static int cmd_hoppingon(int transport, int argc, char *argv[]) -{ - return transport_write(transport, CSR_VARID_HOPPING_ON, NULL, 0); -} - -static int cmd_rttxdata1(int transport, int argc, char *argv[]) -{ - uint8_t array[8]; - uint16_t freq, level; - - OPT_HELP(2, NULL); - - freq = atoi(argv[0]); - - if (!strncasecmp(argv[1], "0x", 2)) - level = strtol(argv[1], NULL, 16); - else - level = atoi(argv[1]); - - memset(array, 0, sizeof(array)); - array[0] = 0x04; - array[1] = 0x00; - array[2] = freq & 0xff; - array[3] = freq >> 8; - array[4] = level & 0xff; - array[5] = level >> 8; - - return transport_write(transport, CSR_VARID_RADIOTEST, array, 8); -} - -static int cmd_radiotest(int transport, int argc, char *argv[]) -{ - uint8_t array[8]; - uint16_t freq, level, test; - - OPT_HELP(3, NULL); - - freq = atoi(argv[0]); - - if (!strncasecmp(argv[1], "0x", 2)) - level = strtol(argv[1], NULL, 16); - else - level = atoi(argv[1]); - - test = atoi(argv[2]); - - memset(array, 0, sizeof(array)); - array[0] = test & 0xff; - array[1] = test >> 8; - array[2] = freq & 0xff; - array[3] = freq >> 8; - array[4] = level & 0xff; - array[5] = level >> 8; - - return transport_write(transport, CSR_VARID_RADIOTEST, array, 8); -} - -static int cmd_memtypes(int transport, int argc, char *argv[]) -{ - uint8_t array[8]; - uint16_t type, stores[4] = { 0x0001, 0x0002, 0x0004, 0x0008 }; - int i, err; - - OPT_HELP(0, NULL); - - for (i = 0; i < 4; i++) { - memset(array, 0, sizeof(array)); - array[0] = stores[i] & 0xff; - array[1] = stores[i] >> 8; - - err = transport_read(transport, CSR_VARID_PS_MEMORY_TYPE, array, 8); - if (err < 0) - continue; - - type = array[2] + (array[3] << 8); - - printf("%s (0x%04x) = %s (%d)\n", storestostr(stores[i]), - stores[i], memorytostr(type), type); - } - - return 0; -} - -static struct option pskey_options[] = { - { "stores", 1, 0, 's' }, - { "reset", 0, 0, 'r' }, - { "help", 0, 0, 'h' }, - { 0, 0, 0, 0 } -}; - -static int opt_pskey(int argc, char *argv[], uint16_t *stores, int *reset, int *help) -{ - int opt; - - while ((opt=getopt_long(argc, argv, "+s:rh", pskey_options, NULL)) != EOF) { - switch (opt) { - case 's': - if (!stores) - break; - if (!strcasecmp(optarg, "default")) - *stores = 0x0000; - else if (!strcasecmp(optarg, "implementation")) - *stores = 0x0001; - else if (!strcasecmp(optarg, "factory")) - *stores = 0x0002; - else if (!strcasecmp(optarg, "rom")) - *stores = 0x0004; - else if (!strcasecmp(optarg, "ram")) - *stores = 0x0008; - else if (!strcasecmp(optarg, "psi")) - *stores = 0x0001; - else if (!strcasecmp(optarg, "psf")) - *stores = 0x0002; - else if (!strcasecmp(optarg, "psrom")) - *stores = 0x0004; - else if (!strcasecmp(optarg, "psram")) - *stores = 0x0008; - else if (!strncasecmp(optarg, "0x", 2)) - *stores = strtol(optarg, NULL, 16); - else - *stores = atoi(optarg); - break; - - case 'r': - if (reset) - *reset = 1; - break; - - case 'h': - if (help) - *help = 1; - break; - } - } - - return optind; -} - -#define OPT_PSKEY(min, max, stores, reset, help) \ - opt_pskey(argc, argv, (stores), (reset), (help)); \ - argc -= optind; argv += optind; optind = 0; \ - OPT_RANGE((min), (max)) - -static int cmd_psget(int transport, int argc, char *argv[]) -{ - uint8_t array[128]; - uint16_t pskey, length, value, stores = CSR_STORES_DEFAULT; - uint32_t val32; - int i, err, reset = 0; - - memset(array, 0, sizeof(array)); - - OPT_PSKEY(1, 1, &stores, &reset, NULL); - - if (strncasecmp(argv[0], "0x", 2)) { - pskey = atoi(argv[0]); - - for (i = 0; storage[i].pskey; i++) { - if (strcasecmp(storage[i].str, argv[0])) - continue; - - pskey = storage[i].pskey; - break; - } - } else - pskey = strtol(argv[0] + 2, NULL, 16); - - memset(array, 0, sizeof(array)); - array[0] = pskey & 0xff; - array[1] = pskey >> 8; - array[2] = stores & 0xff; - array[3] = stores >> 8; - - err = transport_read(transport, CSR_VARID_PS_SIZE, array, 8); - if (err < 0) - return err; - - length = array[2] + (array[3] << 8); - if (length + 6 > (int) sizeof(array) / 2) - return -EIO; - - memset(array, 0, sizeof(array)); - array[0] = pskey & 0xff; - array[1] = pskey >> 8; - array[2] = length & 0xff; - array[3] = length >> 8; - array[4] = stores & 0xff; - array[5] = stores >> 8; - - err = transport_read(transport, CSR_VARID_PS, array, (length + 3) * 2); - if (err < 0) - return err; - - switch (length) { - case 1: - value = array[6] | (array[7] << 8); - printf("%s: 0x%04x (%d)\n", csr_pskeytostr(pskey), value, value); - break; - - case 2: - val32 = array[8] | (array[9] << 8) | (array[6] << 16) | (array[7] << 24); - printf("%s: 0x%08x (%d)\n", csr_pskeytostr(pskey), val32, val32); - break; - - default: - printf("%s:", csr_pskeytostr(pskey)); - for (i = 0; i < length; i++) - printf(" 0x%02x%02x", array[(i * 2) + 6], array[(i * 2) + 7]); - printf("\n"); - break; - } - - if (reset) - transport_write(transport, CSR_VARID_WARM_RESET, NULL, 0); - - return err; -} - -static int cmd_psset(int transport, int argc, char *argv[]) -{ - uint8_t array[128]; - uint16_t pskey, length, value, stores = CSR_STORES_PSRAM; - uint32_t val32; - int i, err, reset = 0; - - memset(array, 0, sizeof(array)); - - OPT_PSKEY(2, 81, &stores, &reset, NULL); - - if (strncasecmp(argv[0], "0x", 2)) { - pskey = atoi(argv[0]); - - for (i = 0; storage[i].pskey; i++) { - if (strcasecmp(storage[i].str, argv[0])) - continue; - - pskey = storage[i].pskey; - break; - } - } else - pskey = strtol(argv[0] + 2, NULL, 16); - - memset(array, 0, sizeof(array)); - array[0] = pskey & 0xff; - array[1] = pskey >> 8; - array[2] = stores & 0xff; - array[3] = stores >> 8; - - err = transport_read(transport, CSR_VARID_PS_SIZE, array, 8); - if (err < 0) - return err; - - length = array[2] + (array[3] << 8); - if (length + 6 > (int) sizeof(array) / 2) - return -EIO; - - memset(array, 0, sizeof(array)); - array[0] = pskey & 0xff; - array[1] = pskey >> 8; - array[2] = length & 0xff; - array[3] = length >> 8; - array[4] = stores & 0xff; - array[5] = stores >> 8; - - argc--; - argv++; - - switch (length) { - case 1: - if (argc != 1) { - errno = E2BIG; - return -1; - } - - if (!strncasecmp(argv[0], "0x", 2)) - value = strtol(argv[0] + 2, NULL, 16); - else - value = atoi(argv[0]); - - array[6] = value & 0xff; - array[7] = value >> 8; - break; - - case 2: - if (argc != 1) { - errno = E2BIG; - return -1; - } - - if (!strncasecmp(argv[0], "0x", 2)) - val32 = strtol(argv[0] + 2, NULL, 16); - else - val32 = atoi(argv[0]); - - array[6] = (val32 & 0xff0000) >> 16; - array[7] = val32 >> 24; - array[8] = val32 & 0xff; - array[9] = (val32 & 0xff00) >> 8; - break; - - default: - if (argc != length * 2) { - errno = EINVAL; - return -1; - } - - for (i = 0; i < length * 2; i++) - if (!strncasecmp(argv[0], "0x", 2)) - array[i + 6] = strtol(argv[i] + 2, NULL, 16); - else - array[i + 6] = atoi(argv[i]); - break; - } - - err = transport_write(transport, CSR_VARID_PS, array, (length + 3) * 2); - if (err < 0) - return err; - - if (reset) - transport_write(transport, CSR_VARID_WARM_RESET, NULL, 0); - - return err; -} - -static int cmd_psclr(int transport, int argc, char *argv[]) -{ - uint8_t array[8]; - uint16_t pskey, stores = CSR_STORES_PSRAM; - int i, err, reset = 0; - - OPT_PSKEY(1, 1, &stores, &reset, NULL); - - if (strncasecmp(argv[0], "0x", 2)) { - pskey = atoi(argv[0]); - - for (i = 0; storage[i].pskey; i++) { - if (strcasecmp(storage[i].str, argv[0])) - continue; - - pskey = storage[i].pskey; - break; - } - } else - pskey = strtol(argv[0] + 2, NULL, 16); - - memset(array, 0, sizeof(array)); - array[0] = pskey & 0xff; - array[1] = pskey >> 8; - array[2] = stores & 0xff; - array[3] = stores >> 8; - - err = transport_write(transport, CSR_VARID_PS_CLR_STORES, array, 8); - if (err < 0) - return err; - - if (reset) - transport_write(transport, CSR_VARID_WARM_RESET, NULL, 0); - - return err; -} - -static int cmd_pslist(int transport, int argc, char *argv[]) -{ - uint8_t array[8]; - uint16_t pskey = 0x0000, length, stores = CSR_STORES_DEFAULT; - int err, reset = 0; - - OPT_PSKEY(0, 0, &stores, &reset, NULL); - - while (1) { - memset(array, 0, sizeof(array)); - array[0] = pskey & 0xff; - array[1] = pskey >> 8; - array[2] = stores & 0xff; - array[3] = stores >> 8; - - err = transport_read(transport, CSR_VARID_PS_NEXT, array, 8); - if (err < 0) - break; - - pskey = array[4] + (array[5] << 8); - if (pskey == 0x0000) - break; - - memset(array, 0, sizeof(array)); - array[0] = pskey & 0xff; - array[1] = pskey >> 8; - array[2] = stores & 0xff; - array[3] = stores >> 8; - - err = transport_read(transport, CSR_VARID_PS_SIZE, array, 8); - if (err < 0) - continue; - - length = array[2] + (array[3] << 8); - - printf("0x%04x - %s (%d bytes)\n", pskey, - csr_pskeytostr(pskey), length * 2); - } - - if (reset) - transport_write(transport, CSR_VARID_WARM_RESET, NULL, 0); - - return 0; -} - -static int cmd_psread(int transport, int argc, char *argv[]) -{ - uint8_t array[256]; - uint16_t pskey = 0x0000, length, stores = CSR_STORES_DEFAULT; - char *str, val[7]; - int i, err, reset = 0; - - OPT_PSKEY(0, 0, &stores, &reset, NULL); - - while (1) { - memset(array, 0, sizeof(array)); - array[0] = pskey & 0xff; - array[1] = pskey >> 8; - array[2] = stores & 0xff; - array[3] = stores >> 8; - - err = transport_read(transport, CSR_VARID_PS_NEXT, array, 8); - if (err < 0) - break; - - pskey = array[4] + (array[5] << 8); - if (pskey == 0x0000) - break; - - memset(array, 0, sizeof(array)); - array[0] = pskey & 0xff; - array[1] = pskey >> 8; - array[2] = stores & 0xff; - array[3] = stores >> 8; - - err = transport_read(transport, CSR_VARID_PS_SIZE, array, 8); - if (err < 0) - continue; - - length = array[2] + (array[3] << 8); - if (length + 6 > (int) sizeof(array) / 2) - continue; - - memset(array, 0, sizeof(array)); - array[0] = pskey & 0xff; - array[1] = pskey >> 8; - array[2] = length & 0xff; - array[3] = length >> 8; - array[4] = stores & 0xff; - array[5] = stores >> 8; - - err = transport_read(transport, CSR_VARID_PS, array, (length + 3) * 2); - if (err < 0) - continue; - - str = csr_pskeytoval(pskey); - if (!strcasecmp(str, "UNKNOWN")) { - sprintf(val, "0x%04x", pskey); - str = NULL; - } - - printf("// %s%s\n&%04x =", str ? "PSKEY_" : "", - str ? str : val, pskey); - for (i = 0; i < length; i++) - printf(" %02x%02x", array[(i * 2) + 7], array[(i * 2) + 6]); - printf("\n"); - } - - if (reset) - transport_write(transport, CSR_VARID_WARM_RESET, NULL, 0); - - return 0; -} - -static int cmd_psload(int transport, int argc, char *argv[]) -{ - uint8_t array[256]; - uint16_t pskey, length, size, stores = CSR_STORES_PSRAM; - char *str, val[7]; - int err, reset = 0; - - OPT_PSKEY(1, 1, &stores, &reset, NULL); - - psr_read(argv[0]); - - memset(array, 0, sizeof(array)); - size = sizeof(array) - 6; - - while (psr_get(&pskey, array + 6, &size) == 0) { - str = csr_pskeytoval(pskey); - if (!strcasecmp(str, "UNKNOWN")) { - sprintf(val, "0x%04x", pskey); - str = NULL; - } - - printf("Loading %s%s ... ", str ? "PSKEY_" : "", - str ? str : val); - fflush(stdout); - - length = size / 2; - - array[0] = pskey & 0xff; - array[1] = pskey >> 8; - array[2] = length & 0xff; - array[3] = length >> 8; - array[4] = stores & 0xff; - array[5] = stores >> 8; - - err = transport_write(transport, CSR_VARID_PS, array, size + 6); - - printf("%s\n", err < 0 ? "failed" : "done"); - - memset(array, 0, sizeof(array)); - size = sizeof(array) - 6; - } - - if (reset) - transport_write(transport, CSR_VARID_WARM_RESET, NULL, 0); - - return 0; -} - -static int cmd_pscheck(int transport, int argc, char *argv[]) -{ - uint8_t array[256]; - uint16_t pskey, size; - int i; - - OPT_HELP(1, NULL); - - psr_read(argv[0]); - - while (psr_get(&pskey, array, &size) == 0) { - printf("0x%04x =", pskey); - for (i = 0; i < size; i++) - printf(" 0x%02x", array[i]); - printf("\n"); - } - - return 0; -} - -static struct { - char *str; - int (*func)(int transport, int argc, char *argv[]); - char *arg; - char *doc; -} commands[] = { - { "builddef", cmd_builddef, "", "Get build definitions" }, - { "keylen", cmd_keylen, "", "Get current crypt key length" }, - { "clock", cmd_clock, "", "Get local Bluetooth clock" }, - { "rand", cmd_rand, "", "Get random number" }, - { "chiprev", cmd_chiprev, "", "Get chip revision" }, - { "buildname", cmd_buildname, "", "Get the full build name" }, - { "panicarg", cmd_panicarg, "", "Get panic code argument" }, - { "faultarg", cmd_faultarg, "", "Get fault code argument" }, - { "coldreset", cmd_coldreset, "", "Perform cold reset" }, - { "warmreset", cmd_warmreset, "", "Perform warm reset" }, - { "disabletx", cmd_disabletx, "", "Disable TX on the device" }, - { "enabletx", cmd_enabletx, "", "Enable TX on the device" }, - { "singlechan",cmd_singlechan,"", "Lock radio on specific channel" }, - { "hoppingon", cmd_hoppingon, "", "Revert to channel hopping" }, - { "rttxdata1", cmd_rttxdata1, " ", "TXData1 radio test" }, - { "radiotest", cmd_radiotest, " ", "Run radio tests" }, - { "memtypes", cmd_memtypes, NULL, "Get memory types" }, - { "psget", cmd_psget, "", "Get value for PS key" }, - { "psset", cmd_psset, " ", "Set value for PS key" }, - { "psclr", cmd_psclr, "", "Clear value for PS key" }, - { "pslist", cmd_pslist, NULL, "List all PS keys" }, - { "psread", cmd_psread, NULL, "Read all PS keys" }, - { "psload", cmd_psload, "", "Load all PS keys from PSR file" }, - { "pscheck", cmd_pscheck, "", "Check PSR file" }, - { NULL } -}; - -static void usage(void) -{ - int i, pos = 0; - - printf("bccmd - Utility for the CSR BCCMD interface\n\n"); - printf("Usage:\n" - "\tbccmd [options] \n\n"); - - printf("Options:\n" - "\t-t Select the transport\n" - "\t-d Select the device\n" - "\t-b Select the bcsp transfer rate\n" - "\t-h, --help Display help\n" - "\n"); - - printf("Transports:\n" - "\tHCI USB BCSP H4 3WIRE\n\n"); - - printf("Commands:\n"); - for (i = 0; commands[i].str; i++) - printf("\t%-10s %-20s\t%s\n", commands[i].str, - commands[i].arg ? commands[i].arg : " ", - commands[i].doc); - printf("\n"); - - printf("Keys:\n\t"); - for (i = 0; storage[i].pskey; i++) { - printf("%s ", storage[i].str); - pos += strlen(storage[i].str) + 1; - if (pos > 60) { - printf("\n\t"); - pos = 0; - } - } - printf("\n"); -} - -static struct option main_options[] = { - { "transport", 1, 0, 't' }, - { "device", 1, 0, 'd' }, - { "bcsprate", 1, 0, 'b'}, - { "help", 0, 0, 'h' }, - { 0, 0, 0, 0 } -}; - -int main(int argc, char *argv[]) -{ - char *device = NULL; - int i, err, opt, transport = CSR_TRANSPORT_HCI; - speed_t bcsp_rate = B38400; - - while ((opt=getopt_long(argc, argv, "+t:d:i:b:h", main_options, NULL)) != EOF) { - switch (opt) { - case 't': - if (!strcasecmp(optarg, "hci")) - transport = CSR_TRANSPORT_HCI; - else if (!strcasecmp(optarg, "usb")) - transport = CSR_TRANSPORT_USB; - else if (!strcasecmp(optarg, "bcsp")) - transport = CSR_TRANSPORT_BCSP; - else if (!strcasecmp(optarg, "h4")) - transport = CSR_TRANSPORT_H4; - else if (!strcasecmp(optarg, "h5")) - transport = CSR_TRANSPORT_3WIRE; - else if (!strcasecmp(optarg, "3wire")) - transport = CSR_TRANSPORT_3WIRE; - else if (!strcasecmp(optarg, "twutl")) - transport = CSR_TRANSPORT_3WIRE; - else - transport = CSR_TRANSPORT_UNKNOWN; - break; - - case 'd': - case 'i': - device = strdup(optarg); - break; - case 'b': - switch (atoi(optarg)) { - case 9600: bcsp_rate = B9600; break; - case 19200: bcsp_rate = B19200; break; - case 38400: bcsp_rate = B38400; break; - case 57600: bcsp_rate = B57600; break; - case 115200: bcsp_rate = B115200; break; - case 230400: bcsp_rate = B230400; break; - case 460800: bcsp_rate = B460800; break; - case 500000: bcsp_rate = B500000; break; - case 576000: bcsp_rate = B576000; break; - case 921600: bcsp_rate = B921600; break; - case 1000000: bcsp_rate = B1000000; break; - case 1152000: bcsp_rate = B1152000; break; - case 1500000: bcsp_rate = B1500000; break; - case 2000000: bcsp_rate = B2000000; break; -#ifdef B2500000 - case 2500000: bcsp_rate = B2500000; break; -#endif -#ifdef B3000000 - case 3000000: bcsp_rate = B3000000; break; -#endif -#ifdef B3500000 - case 3500000: bcsp_rate = B3500000; break; -#endif -#ifdef B4000000 - case 4000000: bcsp_rate = B4000000; break; -#endif - default: - printf("Unknown BCSP baud rate specified, defaulting to 38400bps\n"); - bcsp_rate = B38400; - } - break; - case 'h': - default: - usage(); - exit(0); - } - } - - argc -= optind; - argv += optind; - optind = 0; - - if (argc < 1) { - usage(); - exit(1); - } - - if (transport_open(transport, device, bcsp_rate) < 0) - exit(1); - - free(device); - - for (i = 0; commands[i].str; i++) { - if (strcasecmp(commands[i].str, argv[0])) - continue; - - err = commands[i].func(transport, argc, argv); - - transport_close(transport); - - if (err < 0) { - fprintf(stderr, "Can't execute command: %s (%d)\n", - strerror(errno), errno); - exit(1); - } - - exit(0); - } - - fprintf(stderr, "Unsupported command\n"); - - transport_close(transport); - - exit(1); -} diff --git a/GRIB_BLE_HUB/libs/ble_extend/tools/bdaddr.c b/GRIB_BLE_HUB/libs/ble_extend/tools/bdaddr.c deleted file mode 100644 index 73dffce..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/tools/bdaddr.c +++ /dev/null @@ -1,458 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2004-2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include -#include -#include -#include -#include - -#include -#include -#include - -#include "oui.h" - -static int transient = 0; - -static int generic_reset_device(int dd) -{ - bdaddr_t bdaddr; - int err; - - err = hci_send_cmd(dd, 0x03, 0x0003, 0, NULL); - if (err < 0) - return err; - - return hci_read_bd_addr(dd, &bdaddr, 10000); -} - -#define OCF_ERICSSON_WRITE_BD_ADDR 0x000d -typedef struct { - bdaddr_t bdaddr; -} __attribute__ ((packed)) ericsson_write_bd_addr_cp; -#define ERICSSON_WRITE_BD_ADDR_CP_SIZE 6 - -static int ericsson_write_bd_addr(int dd, bdaddr_t *bdaddr) -{ - struct hci_request rq; - ericsson_write_bd_addr_cp cp; - - memset(&cp, 0, sizeof(cp)); - bacpy(&cp.bdaddr, bdaddr); - - memset(&rq, 0, sizeof(rq)); - rq.ogf = OGF_VENDOR_CMD; - rq.ocf = OCF_ERICSSON_WRITE_BD_ADDR; - rq.cparam = &cp; - rq.clen = ERICSSON_WRITE_BD_ADDR_CP_SIZE; - rq.rparam = NULL; - rq.rlen = 0; - - if (hci_send_req(dd, &rq, 1000) < 0) - return -1; - - return 0; -} - -#define OCF_ERICSSON_STORE_IN_FLASH 0x0022 -typedef struct { - uint8_t user_id; - uint8_t flash_length; - uint8_t flash_data[253]; -} __attribute__ ((packed)) ericsson_store_in_flash_cp; -#define ERICSSON_STORE_IN_FLASH_CP_SIZE 255 - -static int ericsson_store_in_flash(int dd, uint8_t user_id, uint8_t flash_length, uint8_t *flash_data) -{ - struct hci_request rq; - ericsson_store_in_flash_cp cp; - - memset(&cp, 0, sizeof(cp)); - cp.user_id = user_id; - cp.flash_length = flash_length; - if (flash_length > 0) - memcpy(cp.flash_data, flash_data, flash_length); - - memset(&rq, 0, sizeof(rq)); - rq.ogf = OGF_VENDOR_CMD; - rq.ocf = OCF_ERICSSON_STORE_IN_FLASH; - rq.cparam = &cp; - rq.clen = ERICSSON_STORE_IN_FLASH_CP_SIZE; - rq.rparam = NULL; - rq.rlen = 0; - - if (hci_send_req(dd, &rq, 1000) < 0) - return -1; - - return 0; -} - -static int csr_write_bd_addr(int dd, bdaddr_t *bdaddr) -{ - unsigned char cmd[] = { 0x02, 0x00, 0x0c, 0x00, 0x11, 0x47, 0x03, 0x70, - 0x00, 0x00, 0x01, 0x00, 0x04, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; - - unsigned char cp[254], rp[254]; - struct hci_request rq; - - if (transient) - cmd[14] = 0x08; - - cmd[16] = bdaddr->b[2]; - cmd[17] = 0x00; - cmd[18] = bdaddr->b[0]; - cmd[19] = bdaddr->b[1]; - cmd[20] = bdaddr->b[3]; - cmd[21] = 0x00; - cmd[22] = bdaddr->b[4]; - cmd[23] = bdaddr->b[5]; - - memset(&cp, 0, sizeof(cp)); - cp[0] = 0xc2; - memcpy(cp + 1, cmd, sizeof(cmd)); - - memset(&rq, 0, sizeof(rq)); - rq.ogf = OGF_VENDOR_CMD; - rq.ocf = 0x00; - rq.event = EVT_VENDOR; - rq.cparam = cp; - rq.clen = sizeof(cmd) + 1; - rq.rparam = rp; - rq.rlen = sizeof(rp); - - if (hci_send_req(dd, &rq, 2000) < 0) - return -1; - - if (rp[0] != 0xc2) { - errno = EIO; - return -1; - } - - if ((rp[9] + (rp[10] << 8)) != 0) { - errno = ENXIO; - return -1; - } - - return 0; -} - -static int csr_reset_device(int dd) -{ - unsigned char cmd[] = { 0x02, 0x00, 0x09, 0x00, - 0x00, 0x00, 0x01, 0x40, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; - - unsigned char cp[254], rp[254]; - struct hci_request rq; - - if (transient) - cmd[6] = 0x02; - - memset(&cp, 0, sizeof(cp)); - cp[0] = 0xc2; - memcpy(cp + 1, cmd, sizeof(cmd)); - - memset(&rq, 0, sizeof(rq)); - rq.ogf = OGF_VENDOR_CMD; - rq.ocf = 0x00; - rq.event = EVT_VENDOR; - rq.cparam = cp; - rq.clen = sizeof(cmd) + 1; - rq.rparam = rp; - rq.rlen = sizeof(rp); - - if (hci_send_req(dd, &rq, 2000) < 0) - return -1; - - return 0; -} - -#define OCF_TI_WRITE_BD_ADDR 0x0006 -typedef struct { - bdaddr_t bdaddr; -} __attribute__ ((packed)) ti_write_bd_addr_cp; -#define TI_WRITE_BD_ADDR_CP_SIZE 6 - -static int ti_write_bd_addr(int dd, bdaddr_t *bdaddr) -{ - struct hci_request rq; - ti_write_bd_addr_cp cp; - - memset(&cp, 0, sizeof(cp)); - bacpy(&cp.bdaddr, bdaddr); - - memset(&rq, 0, sizeof(rq)); - rq.ogf = OGF_VENDOR_CMD; - rq.ocf = OCF_TI_WRITE_BD_ADDR; - rq.cparam = &cp; - rq.clen = TI_WRITE_BD_ADDR_CP_SIZE; - rq.rparam = NULL; - rq.rlen = 0; - - if (hci_send_req(dd, &rq, 1000) < 0) - return -1; - - return 0; -} - -#define OCF_BCM_WRITE_BD_ADDR 0x0001 -typedef struct { - bdaddr_t bdaddr; -} __attribute__ ((packed)) bcm_write_bd_addr_cp; -#define BCM_WRITE_BD_ADDR_CP_SIZE 6 - -static int bcm_write_bd_addr(int dd, bdaddr_t *bdaddr) -{ - struct hci_request rq; - bcm_write_bd_addr_cp cp; - - memset(&cp, 0, sizeof(cp)); - bacpy(&cp.bdaddr, bdaddr); - - memset(&rq, 0, sizeof(rq)); - rq.ogf = OGF_VENDOR_CMD; - rq.ocf = OCF_BCM_WRITE_BD_ADDR; - rq.cparam = &cp; - rq.clen = BCM_WRITE_BD_ADDR_CP_SIZE; - rq.rparam = NULL; - rq.rlen = 0; - - if (hci_send_req(dd, &rq, 1000) < 0) - return -1; - - return 0; -} - -#define OCF_ZEEVO_WRITE_BD_ADDR 0x0001 -typedef struct { - bdaddr_t bdaddr; -} __attribute__ ((packed)) zeevo_write_bd_addr_cp; -#define ZEEVO_WRITE_BD_ADDR_CP_SIZE 6 - -static int zeevo_write_bd_addr(int dd, bdaddr_t *bdaddr) -{ - struct hci_request rq; - zeevo_write_bd_addr_cp cp; - - memset(&cp, 0, sizeof(cp)); - bacpy(&cp.bdaddr, bdaddr); - - memset(&rq, 0, sizeof(rq)); - rq.ogf = OGF_VENDOR_CMD; - rq.ocf = OCF_ZEEVO_WRITE_BD_ADDR; - rq.cparam = &cp; - rq.clen = ZEEVO_WRITE_BD_ADDR_CP_SIZE; - rq.rparam = NULL; - rq.rlen = 0; - - if (hci_send_req(dd, &rq, 1000) < 0) - return -1; - - return 0; -} - -static int st_write_bd_addr(int dd, bdaddr_t *bdaddr) -{ - return ericsson_store_in_flash(dd, 0xfe, 6, (uint8_t *) bdaddr); -} - -static struct { - uint16_t compid; - int (*write_bd_addr)(int dd, bdaddr_t *bdaddr); - int (*reset_device)(int dd); -} vendor[] = { - { 0, ericsson_write_bd_addr, NULL }, - { 10, csr_write_bd_addr, csr_reset_device }, - { 13, ti_write_bd_addr, NULL }, - { 15, bcm_write_bd_addr, generic_reset_device }, - { 18, zeevo_write_bd_addr, NULL }, - { 48, st_write_bd_addr, generic_reset_device }, - { 57, ericsson_write_bd_addr, generic_reset_device }, - { 65535, NULL, NULL }, -}; - -static void usage(void) -{ - printf("bdaddr - Utility for changing the Bluetooth device address\n\n"); - printf("Usage:\n" - "\tbdaddr [-i ] [-r] [-t] [new bdaddr]\n"); -} - -static struct option main_options[] = { - { "device", 1, 0, 'i' }, - { "reset", 0, 0, 'r' }, - { "transient", 0, 0, 't' }, - { "help", 0, 0, 'h' }, - { 0, 0, 0, 0 } -}; - -int main(int argc, char *argv[]) -{ - struct hci_dev_info di; - struct hci_version ver; - bdaddr_t bdaddr; - char addr[18], *comp; - int i, dd, opt, dev = 0, reset = 0; - - bacpy(&bdaddr, BDADDR_ANY); - - while ((opt=getopt_long(argc, argv, "+i:rth", main_options, NULL)) != -1) { - switch (opt) { - case 'i': - dev = hci_devid(optarg); - if (dev < 0) { - perror("Invalid device"); - exit(1); - } - break; - - case 'r': - reset = 1; - break; - - case 't': - transient = 1; - break; - - case 'h': - default: - usage(); - exit(0); - } - } - - argc -= optind; - argv += optind; - optind = 0; - - dd = hci_open_dev(dev); - if (dd < 0) { - fprintf(stderr, "Can't open device hci%d: %s (%d)\n", - dev, strerror(errno), errno); - exit(1); - } - - if (hci_devinfo(dev, &di) < 0) { - fprintf(stderr, "Can't get device info for hci%d: %s (%d)\n", - dev, strerror(errno), errno); - hci_close_dev(dd); - exit(1); - } - - if (hci_read_local_version(dd, &ver, 1000) < 0) { - fprintf(stderr, "Can't read version info for hci%d: %s (%d)\n", - dev, strerror(errno), errno); - hci_close_dev(dd); - exit(1); - } - - if (!bacmp(&di.bdaddr, BDADDR_ANY)) { - if (hci_read_bd_addr(dd, &bdaddr, 1000) < 0) { - fprintf(stderr, "Can't read address for hci%d: %s (%d)\n", - dev, strerror(errno), errno); - hci_close_dev(dd); - exit(1); - } - } else - bacpy(&bdaddr, &di.bdaddr); - - printf("Manufacturer: %s (%d)\n", - bt_compidtostr(ver.manufacturer), ver.manufacturer); - - comp = batocomp(&bdaddr); - - ba2str(&bdaddr, addr); - printf("Device address: %s", addr); - - if (comp) { - printf(" (%s)\n", comp); - free(comp); - } else - printf("\n"); - - if (argc < 1) { - hci_close_dev(dd); - exit(0); - } - - str2ba(argv[0], &bdaddr); - if (!bacmp(&bdaddr, BDADDR_ANY)) { - hci_close_dev(dd); - exit(0); - } - - for (i = 0; vendor[i].compid != 65535; i++) - if (ver.manufacturer == vendor[i].compid) { - comp = batocomp(&bdaddr); - - ba2str(&bdaddr, addr); - printf("New BD address: %s", addr); - - if (comp) { - printf(" (%s)\n\n", comp); - free(comp); - } else - printf("\n\n"); - - - if (vendor[i].write_bd_addr(dd, &bdaddr) < 0) { - fprintf(stderr, "Can't write new address\n"); - hci_close_dev(dd); - exit(1); - } - - printf("Address changed - "); - - if (reset && vendor[i].reset_device) { - if (vendor[i].reset_device(dd) < 0) { - printf("Reset device manually\n"); - } else { - ioctl(dd, HCIDEVRESET, dev); - printf("Device reset successfully\n"); - } - } else { - printf("Reset device now\n"); - } - - //ioctl(dd, HCIDEVRESET, dev); - //ioctl(dd, HCIDEVDOWN, dev); - //ioctl(dd, HCIDEVUP, dev); - - hci_close_dev(dd); - exit(0); - } - - hci_close_dev(dd); - - printf("\n"); - fprintf(stderr, "Unsupported manufacturer\n"); - - exit(1); -} diff --git a/GRIB_BLE_HUB/libs/ble_extend/tools/btattach.c b/GRIB_BLE_HUB/libs/ble_extend/tools/btattach.c deleted file mode 100644 index a69c49e..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/tools/btattach.c +++ /dev/null @@ -1,136 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2011-2012 Intel Corporation - * Copyright (C) 2004-2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include - -#include "hciattach.h" - -static int open_serial(const char *path) -{ - struct termios ti; - int fd, ldisc = N_HCI; - - fd = open(path, O_RDWR | O_NOCTTY); - if (fd < 0) { - perror("Failed to open serial port"); - return -1; - } - - if (tcflush(fd, TCIOFLUSH) < 0) { - perror("Failed to flush serial port"); - close(fd); - return -1; - } - - /* Switch TTY to raw mode */ - memset(&ti, 0, sizeof(ti)); - cfmakeraw(&ti); - - ti.c_cflag |= (B115200 | CLOCAL | CREAD); - - if (tcsetattr(fd, TCSANOW, &ti) < 0) { - perror("Failed to set serial port settings"); - close(fd); - return -1; - } - - if (ioctl(fd, TIOCSETD, &ldisc) < 0) { - perror("Failed set serial line discipline"); - close(fd); - return -1; - } - - return fd; -} - -static int attach_proto(const char *path, unsigned int proto, - unsigned int flags) -{ - int fd; - - fd = open_serial(path); - if (fd < 0) - return -1; - - if (ioctl(fd, HCIUARTSETFLAGS, flags) < 0) { - perror("Failed to set flags"); - close(fd); - return -1; - } - - if (ioctl(fd, HCIUARTSETPROTO, proto) < 0) { - perror("Failed to set protocol"); - close(fd); - return -1; - } - - return fd; -} - -int main(int argc, char *argv[]) -{ - struct pollfd p[5]; - unsigned long flags = 0; - int fd, i, count = 0; - - flags |= (1 << HCI_UART_RESET_ON_INIT); - - fd = attach_proto("/dev/ttyS0", HCI_UART_H4, flags); - if (fd >= 0) - p[count++].fd = fd; - - flags |= (1 << HCI_UART_CREATE_AMP); - - fd = attach_proto("/dev/ttyS1", HCI_UART_H4, flags); - if (fd >= 0) - p[count++].fd = fd; - - for (i = 0; i < count; i++) - p[i].events = POLLERR | POLLHUP; - - while (1) { - poll(p, count, -1); - } - - for (i = 0; i < count; i++) - close(p[i].fd); - - return EXIT_SUCCESS; -} diff --git a/GRIB_BLE_HUB/libs/ble_extend/tools/btiotest.c b/GRIB_BLE_HUB/libs/ble_extend/tools/btiotest.c deleted file mode 100644 index 7a77bb7..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/tools/btiotest.c +++ /dev/null @@ -1,623 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2009-2010 Marcel Holtmann - * Copyright (C) 2009-2010 Nokia Corporation - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif - -#include -#include -#include -#include -#include -#include - -#include - -#include - -#define DEFAULT_ACCEPT_TIMEOUT 2 -static gint opt_update_sec = 0; - -struct io_data { - guint ref; - GIOChannel *io; - gint reject; - gint disconn; - gint accept; -}; - -static void io_data_unref(struct io_data *data) -{ - data->ref--; - - if (data->ref) - return; - - if (data->io) - g_io_channel_unref(data->io); - - g_free(data); -} - -static struct io_data *io_data_ref(struct io_data *data) -{ - data->ref++; - return data; -} - -static struct io_data *io_data_new(GIOChannel *io, int reject, gint disconn, - gint accept) -{ - struct io_data *data; - - data = g_new0(struct io_data, 1); - data->io = io; - data->reject = reject; - data->disconn = disconn; - data->accept = accept; - - return io_data_ref(data); -} - -static gboolean io_watch(GIOChannel *io, GIOCondition cond, gpointer user_data) -{ - printf("Disconnected\n"); - return FALSE; -} - -static gboolean disconn_timeout(gpointer user_data) -{ - struct io_data *data = user_data; - - printf("Disconnecting\n"); - - g_io_channel_shutdown(data->io, TRUE, NULL); - - return FALSE; -} - -static void update_sec_level(struct io_data *data) -{ - GError *err = NULL; - int sec_level; - - if (!bt_io_get(data->io, &err, BT_IO_OPT_SEC_LEVEL, &sec_level, - BT_IO_OPT_INVALID)) { - printf("bt_io_get(OPT_SEC_LEVEL): %s\n", err->message); - g_clear_error(&err); - return; - } - - printf("sec_level=%d\n", sec_level); - - if (opt_update_sec == sec_level) - return; - - if (!bt_io_set(data->io, &err, BT_IO_OPT_SEC_LEVEL, opt_update_sec, - BT_IO_OPT_INVALID)) { - printf("bt_io_set(OPT_SEC_LEVEL): %s\n", err->message); - g_clear_error(&err); - } -} - -static void connect_cb(GIOChannel *io, GError *err, gpointer user_data) -{ - struct io_data *data = user_data; - GIOCondition cond; - char addr[18]; - uint16_t handle, omtu, imtu; - uint8_t cls[3], key_size; - - if (err) { - printf("Connecting failed: %s\n", err->message); - return; - } - - if (!bt_io_get(io, &err, - BT_IO_OPT_DEST, addr, - BT_IO_OPT_HANDLE, &handle, - BT_IO_OPT_CLASS, cls, - BT_IO_OPT_INVALID)) { - printf("Unable to get destination address: %s\n", - err->message); - g_clear_error(&err); - strcpy(addr, "(unknown)"); - } - - printf("Successfully connected to %s. handle=%u, class=%02x%02x%02x\n", - addr, handle, cls[0], cls[1], cls[2]); - - if (!bt_io_get(io, &err, BT_IO_OPT_OMTU, &omtu, - BT_IO_OPT_IMTU, &imtu, - BT_IO_OPT_INVALID)) { - printf("Unable to get MTU sizes: %s\n", err->message); - g_clear_error(&err); - } else - printf("imtu=%u, omtu=%u\n", imtu, omtu); - - if (!bt_io_get(io, &err, BT_IO_OPT_KEY_SIZE, &key_size, - BT_IO_OPT_INVALID)) { - printf("Unable to get Key size: %s\n", err->message); - g_clear_error(&err); - } else - printf("key_size=%u\n", key_size); - - if (data->disconn == 0) { - g_io_channel_shutdown(io, TRUE, NULL); - printf("Disconnected\n"); - return; - } - - if (data->io == NULL) - data->io = g_io_channel_ref(io); - - if (data->disconn > 0) { - io_data_ref(data); - g_timeout_add_seconds_full(G_PRIORITY_DEFAULT, data->disconn, - disconn_timeout, data, - (GDestroyNotify) io_data_unref); - } - - - io_data_ref(data); - - if (opt_update_sec > 0) - update_sec_level(data); - - cond = G_IO_NVAL | G_IO_HUP | G_IO_ERR; - g_io_add_watch_full(io, G_PRIORITY_DEFAULT, cond, io_watch, data, - (GDestroyNotify) io_data_unref); -} - -static gboolean confirm_timeout(gpointer user_data) -{ - struct io_data *data = user_data; - - if (data->reject >= 0) { - printf("Rejecting connection\n"); - g_io_channel_shutdown(data->io, TRUE, NULL); - return FALSE; - } - - printf("Accepting connection\n"); - - io_data_ref(data); - - if (opt_update_sec > 0) - update_sec_level(data); - - if (!bt_io_accept(data->io, connect_cb, data, - (GDestroyNotify) io_data_unref, NULL)) { - printf("bt_io_accept() failed\n"); - io_data_unref(data); - } - - return FALSE; -} - -static void confirm_cb(GIOChannel *io, gpointer user_data) -{ - char addr[18]; - struct io_data *data = user_data; - GError *err = NULL; - - if (!bt_io_get(io, &err, BT_IO_OPT_DEST, addr, BT_IO_OPT_INVALID)) { - printf("bt_io_get(OPT_DEST): %s\n", err->message); - g_clear_error(&err); - } else - printf("Got confirmation request for %s\n", addr); - - if (data->accept < 0 && data->reject < 0) - return; - - if (data->reject == 0) { - printf("Rejecting connection\n"); - g_io_channel_shutdown(io, TRUE, NULL); - return; - } - - data->io = g_io_channel_ref(io); - io_data_ref(data); - - if (data->accept == 0) { - if (!bt_io_accept(io, connect_cb, data, - (GDestroyNotify) io_data_unref, - &err)) { - printf("bt_io_accept() failed: %s\n", err->message); - g_clear_error(&err); - io_data_unref(data); - return; - } - } else { - gint seconds = (data->reject > 0) ? - data->reject : data->accept; - g_timeout_add_seconds_full(G_PRIORITY_DEFAULT, seconds, - confirm_timeout, data, - (GDestroyNotify) io_data_unref); - } -} - -static void l2cap_connect(const char *src, const char *dst, uint8_t addr_type, - uint16_t psm, uint16_t cid, gint disconn, - gint sec, gint prio) -{ - struct io_data *data; - GError *err = NULL; - - printf("Connecting to %s L2CAP PSM %u\n", dst, psm); - - data = io_data_new(NULL, -1, disconn, -1); - - if (src) - data->io = bt_io_connect(connect_cb, data, - (GDestroyNotify) io_data_unref, - &err, - BT_IO_OPT_SOURCE, src, - BT_IO_OPT_DEST, dst, - BT_IO_OPT_DEST_TYPE, addr_type, - BT_IO_OPT_PSM, psm, - BT_IO_OPT_CID, cid, - BT_IO_OPT_SEC_LEVEL, sec, - BT_IO_OPT_PRIORITY, prio, - BT_IO_OPT_INVALID); - else - data->io = bt_io_connect(connect_cb, data, - (GDestroyNotify) io_data_unref, - &err, - BT_IO_OPT_DEST, dst, - BT_IO_OPT_DEST_TYPE, addr_type, - BT_IO_OPT_PSM, psm, - BT_IO_OPT_CID, cid, - BT_IO_OPT_SEC_LEVEL, sec, - BT_IO_OPT_PRIORITY, prio, - BT_IO_OPT_INVALID); - - if (!data->io) { - printf("Connecting to %s failed: %s\n", dst, err->message); - g_error_free(err); - exit(EXIT_FAILURE); - } -} - -static void l2cap_listen(const char *src, uint16_t psm, gint defer, - gint reject, gint disconn, gint accept, - gint sec, gboolean master) -{ - struct io_data *data; - BtIOConnect conn; - BtIOConfirm cfm; - GIOChannel *l2_srv; - GError *err = NULL; - - if (defer) { - conn = NULL; - cfm = confirm_cb; - } else { - conn = connect_cb; - cfm = NULL; - } - - printf("Listening on L2CAP PSM %u\n", psm); - - data = io_data_new(NULL, reject, disconn, accept); - - if (src) - l2_srv = bt_io_listen(conn, cfm, data, - (GDestroyNotify) io_data_unref, - &err, - BT_IO_OPT_SOURCE, src, - BT_IO_OPT_PSM, psm, - BT_IO_OPT_SEC_LEVEL, sec, - BT_IO_OPT_MASTER, master, - BT_IO_OPT_INVALID); - else - l2_srv = bt_io_listen(conn, cfm, data, - (GDestroyNotify) io_data_unref, - &err, - BT_IO_OPT_PSM, psm, - BT_IO_OPT_SEC_LEVEL, sec, - BT_IO_OPT_MASTER, master, - BT_IO_OPT_INVALID); - - if (!l2_srv) { - printf("Listening failed: %s\n", err->message); - g_error_free(err); - exit(EXIT_FAILURE); - } - - g_io_channel_unref(l2_srv); -} - -static void rfcomm_connect(const char *src, const char *dst, uint8_t ch, - gint disconn, gint sec) -{ - struct io_data *data; - GError *err = NULL; - - printf("Connecting to %s RFCOMM channel %u\n", dst, ch); - - data = io_data_new(NULL, -1, disconn, -1); - - if (src) - data->io = bt_io_connect(connect_cb, data, - (GDestroyNotify) io_data_unref, - &err, - BT_IO_OPT_SOURCE, src, - BT_IO_OPT_DEST, dst, - BT_IO_OPT_CHANNEL, ch, - BT_IO_OPT_SEC_LEVEL, sec, - BT_IO_OPT_INVALID); - else - data->io = bt_io_connect(connect_cb, data, - (GDestroyNotify) io_data_unref, - &err, - BT_IO_OPT_DEST, dst, - BT_IO_OPT_CHANNEL, ch, - BT_IO_OPT_SEC_LEVEL, sec, - BT_IO_OPT_INVALID); - - if (!data->io) { - printf("Connecting to %s failed: %s\n", dst, err->message); - g_error_free(err); - exit(EXIT_FAILURE); - } -} - -static void rfcomm_listen(const char *src, uint8_t ch, gboolean defer, - gint reject, gint disconn, gint accept, - gint sec, gboolean master) -{ - struct io_data *data; - BtIOConnect conn; - BtIOConfirm cfm; - GIOChannel *rc_srv; - GError *err = NULL; - - if (defer) { - conn = NULL; - cfm = confirm_cb; - } else { - conn = connect_cb; - cfm = NULL; - } - - data = io_data_new(NULL, reject, disconn, accept); - - if (src) - rc_srv = bt_io_listen(conn, cfm, - data, (GDestroyNotify) io_data_unref, - &err, - BT_IO_OPT_SOURCE, src, - BT_IO_OPT_CHANNEL, ch, - BT_IO_OPT_SEC_LEVEL, sec, - BT_IO_OPT_MASTER, master, - BT_IO_OPT_INVALID); - else - rc_srv = bt_io_listen(conn, cfm, - data, (GDestroyNotify) io_data_unref, - &err, - BT_IO_OPT_CHANNEL, ch, - BT_IO_OPT_SEC_LEVEL, sec, - BT_IO_OPT_MASTER, master, - BT_IO_OPT_INVALID); - - if (!rc_srv) { - printf("Listening failed: %s\n", err->message); - g_error_free(err); - exit(EXIT_FAILURE); - } - - bt_io_get(rc_srv, &err, BT_IO_OPT_CHANNEL, &ch, BT_IO_OPT_INVALID); - - printf("Listening on RFCOMM channel %u\n", ch); - - g_io_channel_unref(rc_srv); -} - -static void sco_connect(const char *src, const char *dst, gint disconn) -{ - struct io_data *data; - GError *err = NULL; - - printf("Connecting SCO to %s\n", dst); - - data = io_data_new(NULL, -1, disconn, -1); - - if (src) - data->io = bt_io_connect(connect_cb, data, - (GDestroyNotify) io_data_unref, - &err, - BT_IO_OPT_SOURCE, src, - BT_IO_OPT_DEST, dst, - BT_IO_OPT_INVALID); - else - data->io = bt_io_connect(connect_cb, data, - (GDestroyNotify) io_data_unref, - &err, - BT_IO_OPT_DEST, dst, - BT_IO_OPT_INVALID); - - if (!data->io) { - printf("Connecting to %s failed: %s\n", dst, err->message); - g_error_free(err); - exit(EXIT_FAILURE); - } -} - -static void sco_listen(const char *src, gboolean defer, gint reject, - gint disconn, gint accept) -{ - struct io_data *data; - BtIOConnect conn; - BtIOConfirm cfm; - GIOChannel *sco_srv; - GError *err = NULL; - - printf("Listening for SCO connections\n"); - - if (defer) { - conn = NULL; - cfm = confirm_cb; - } else { - conn = connect_cb; - cfm = NULL; - } - - data = io_data_new(NULL, reject, disconn, accept); - - if (src) - sco_srv = bt_io_listen(conn, cfm, data, - (GDestroyNotify) io_data_unref, - &err, - BT_IO_OPT_SOURCE, src, - BT_IO_OPT_INVALID); - else - sco_srv = bt_io_listen(conn, cfm, data, - (GDestroyNotify) io_data_unref, - &err, BT_IO_OPT_INVALID); - - if (!sco_srv) { - printf("Listening failed: %s\n", err->message); - g_error_free(err); - exit(EXIT_FAILURE); - } - - g_io_channel_unref(sco_srv); -} - -static gint opt_channel = -1; -static gint opt_psm = 0; -static gboolean opt_sco = FALSE; -static gboolean opt_defer = FALSE; -static char *opt_dev = NULL; -static gint opt_reject = -1; -static gint opt_disconn = -1; -static gint opt_accept = DEFAULT_ACCEPT_TIMEOUT; -static gint opt_sec = 0; -static gboolean opt_master = FALSE; -static gint opt_priority = 0; -static gint opt_cid = 0; -static guint8 opt_addr_type = 0; - -static GMainLoop *main_loop; - -static GOptionEntry options[] = { - { "channel", 'c', 0, G_OPTION_ARG_INT, &opt_channel, - "RFCOMM channel" }, - { "psm", 'p', 0, G_OPTION_ARG_INT, &opt_psm, - "L2CAP PSM" }, - { "cid", 'j', 0, G_OPTION_ARG_INT, &opt_cid, - "L2CAP CID" }, - { "addr-type", 't', 0, G_OPTION_ARG_INT, &opt_addr_type, - "Address type " - "(0 BR/EDR 1 LE Public 2 LE Random" }, - { "sco", 's', 0, G_OPTION_ARG_NONE, &opt_sco, - "Use SCO" }, - { "defer", 'd', 0, G_OPTION_ARG_NONE, &opt_defer, - "Use DEFER_SETUP for incoming connections" }, - { "sec-level", 'S', 0, G_OPTION_ARG_INT, &opt_sec, - "Security level" }, - { "update-sec-level", 'U', 0, G_OPTION_ARG_INT, &opt_update_sec, - "Update security level" }, - { "dev", 'i', 0, G_OPTION_ARG_STRING, &opt_dev, - "Which HCI device to use" }, - { "reject", 'r', 0, G_OPTION_ARG_INT, &opt_reject, - "Reject connection after N seconds" }, - { "disconnect", 'D', 0, G_OPTION_ARG_INT, &opt_disconn, - "Disconnect connection after N seconds" }, - { "accept", 'a', 0, G_OPTION_ARG_INT, &opt_accept, - "Accept connection after N seconds" }, - { "master", 'm', 0, G_OPTION_ARG_NONE, &opt_master, - "Master role switch (incoming connections)" }, - { "priority", 'P', 0, G_OPTION_ARG_INT, &opt_priority, - "Transmission priority: Setting a priority " - "outside the range 0 to 6 requires the" - "CAP_NET_ADMIN capability." }, - { NULL }, -}; - -static void sig_term(int sig) -{ - g_main_loop_quit(main_loop); -} - -int main(int argc, char *argv[]) -{ - GOptionContext *context; - - context = g_option_context_new(NULL); - g_option_context_add_main_entries(context, options, NULL); - - if (!g_option_context_parse(context, &argc, &argv, NULL)) - exit(EXIT_FAILURE); - - g_option_context_free(context); - - printf("accept=%d, reject=%d, discon=%d, defer=%d, sec=%d," - " update_sec=%d, prio=%d\n", opt_accept, opt_reject, - opt_disconn, opt_defer, opt_sec, opt_update_sec, opt_priority); - - if (opt_psm || opt_cid) { - if (argc > 1) - l2cap_connect(opt_dev, argv[1], opt_addr_type, - opt_psm, opt_cid, opt_disconn, - opt_sec, opt_priority); - else - l2cap_listen(opt_dev, opt_psm, opt_defer, opt_reject, - opt_disconn, opt_accept, opt_sec, - opt_master); - } - - if (opt_channel != -1) { - if (argc > 1) - rfcomm_connect(opt_dev, argv[1], opt_channel, - opt_disconn, opt_sec); - else - rfcomm_listen(opt_dev, opt_channel, opt_defer, - opt_reject, opt_disconn, opt_accept, - opt_sec, opt_master); - } - - if (opt_sco) { - if (argc > 1) - sco_connect(opt_dev, argv[1], opt_disconn); - else - sco_listen(opt_dev, opt_defer, opt_reject, - opt_disconn, opt_accept); - } - - signal(SIGTERM, sig_term); - signal(SIGINT, sig_term); - - main_loop = g_main_loop_new(NULL, FALSE); - - g_main_loop_run(main_loop); - - g_main_loop_unref(main_loop); - - printf("Exiting\n"); - - exit(EXIT_SUCCESS); -} diff --git a/GRIB_BLE_HUB/libs/ble_extend/tools/btmgmt.c b/GRIB_BLE_HUB/libs/ble_extend/tools/btmgmt.c deleted file mode 100644 index af0bf79..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/tools/btmgmt.c +++ /dev/null @@ -1,1927 +0,0 @@ -/* - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2011 Intel Corporation. All rights reserved. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include - -#include - -#include "src/shared/mgmt.h" -#include "glib-helper.h" -#include "lib/mgmt.h" -#include "eir.h" - -static GMainLoop *event_loop = NULL; - -static bool monitor = false; -static bool discovery = false; -static bool resolve_names = true; - -static int pending = 0; - -static void controller_error(uint16_t index, uint16_t len, - const void *param, void *user_data) -{ - const struct mgmt_ev_controller_error *ev = param; - - if (len < sizeof(*ev)) { - fprintf(stderr, - "Too short (%u bytes) controller error event\n", len); - return; - } - - if (monitor) - printf("hci%u error 0x%02x\n", index, ev->error_code); -} - -static void index_added(uint16_t index, uint16_t len, - const void *param, void *user_data) -{ - if (monitor) - printf("hci%u added\n", index); -} - -static void index_removed(uint16_t index, uint16_t len, - const void *param, void *user_data) -{ - if (monitor) - printf("hci%u removed\n", index); -} - -static const char *settings_str[] = { - "powered", - "connectable", - "fast-connectable", - "discoverable", - "pairable", - "link-security", - "ssp", - "br/edr", - "hs", - "le" , -}; - -static void print_settings(uint32_t settings) -{ - unsigned i; - - for (i = 0; i < NELEM(settings_str); i++) { - if ((settings & (1 << i)) != 0) - printf("%s ", settings_str[i]); - } -} - -static void new_settings(uint16_t index, uint16_t len, - const void *param, void *user_data) -{ - const uint32_t *ev = param; - - if (len < sizeof(*ev)) { - fprintf(stderr, "Too short new_settings event (%u)\n", len); - return; - } - - if (monitor) { - printf("hci%u new_settings: ", index); - print_settings(bt_get_le32(ev)); - printf("\n"); - } -} - -static void discovering(uint16_t index, uint16_t len, const void *param, - void *user_data) -{ - const struct mgmt_ev_discovering *ev = param; - - if (len < sizeof(*ev)) { - fprintf(stderr, "Too short (%u bytes) discovering event\n", - len); - return; - } - - if (ev->discovering == 0 && discovery) { - g_main_loop_quit(event_loop); - return; - } - - if (monitor) - printf("hci%u type %u discovering %s\n", index, - ev->type, ev->discovering ? "on" : "off"); -} - -static void new_link_key(uint16_t index, uint16_t len, const void *param, - void *user_data) -{ - const struct mgmt_ev_new_link_key *ev = param; - - if (len != sizeof(*ev)) { - fprintf(stderr, "Invalid new_link_key length (%u bytes)\n", - len); - return; - } - - if (monitor) { - char addr[18]; - ba2str(&ev->key.addr.bdaddr, addr); - printf("hci%u new_link_key %s type 0x%02x pin_len %d " - "store_hint %u\n", index, addr, ev->key.type, - ev->key.pin_len, ev->store_hint); - } -} - -static const char *typestr(uint8_t type) -{ - const char *str[] = { "BR/EDR", "LE Public", "LE Random" }; - - if (type <= BDADDR_LE_RANDOM) - return str[type]; - - return "(unknown)"; -} - -static void connected(uint16_t index, uint16_t len, const void *param, - void *user_data) -{ - const struct mgmt_ev_device_connected *ev = param; - uint16_t eir_len; - - if (len < sizeof(*ev)) { - fprintf(stderr, - "Invalid connected event length (%u bytes)\n", len); - return; - } - - eir_len = bt_get_le16(&ev->eir_len); - if (len != sizeof(*ev) + eir_len) { - fprintf(stderr, "Invalid connected event length " - "(%u bytes, eir_len %u bytes)\n", len, eir_len); - return; - } - - if (monitor) { - char addr[18]; - ba2str(&ev->addr.bdaddr, addr); - printf("hci%u %s type %s connected eir_len %u\n", index, addr, - typestr(ev->addr.type), eir_len); - } -} - -static void disconnected(uint16_t index, uint16_t len, const void *param, - void *user_data) -{ - const struct mgmt_ev_device_disconnected *ev = param; - - if (len < sizeof(struct mgmt_addr_info)) { - fprintf(stderr, - "Invalid disconnected event length (%u bytes)\n", len); - return; - } - - if (monitor) { - char addr[18]; - uint8_t reason; - - if (len < sizeof(*ev)) - reason = MGMT_DEV_DISCONN_UNKNOWN; - else - reason = ev->reason; - - ba2str(&ev->addr.bdaddr, addr); - printf("hci%u %s type %s disconnected with reason %u\n", - index, addr, typestr(ev->addr.type), reason); - } -} - -static void conn_failed(uint16_t index, uint16_t len, const void *param, - void *user_data) -{ - const struct mgmt_ev_connect_failed *ev = param; - - if (len != sizeof(*ev)) { - fprintf(stderr, - "Invalid connect_failed event length (%u bytes)\n", len); - return; - } - - if (monitor) { - char addr[18]; - ba2str(&ev->addr.bdaddr, addr); - printf("hci%u %s type %s connect failed (status 0x%02x, %s)\n", - index, addr, typestr(ev->addr.type), ev->status, - mgmt_errstr(ev->status)); - } -} - -static void auth_failed(uint16_t index, uint16_t len, const void *param, - void *user_data) -{ - const struct mgmt_ev_auth_failed *ev = param; - - if (len != sizeof(*ev)) { - fprintf(stderr, - "Invalid auth_failed event length (%u bytes)\n", len); - return; - } - - if (monitor) { - char addr[18]; - ba2str(&ev->addr.bdaddr, addr); - printf("hci%u %s auth failed with status 0x%02x (%s)\n", - index, addr, ev->status, mgmt_errstr(ev->status)); - } -} - -static void local_name_changed(uint16_t index, uint16_t len, const void *param, - void *user_data) -{ - const struct mgmt_ev_local_name_changed *ev = param; - - if (len != sizeof(*ev)) { - fprintf(stderr, - "Invalid local_name_changed length (%u bytes)\n", len); - return; - } - - if (monitor) - printf("hci%u name changed: %s\n", index, ev->name); -} - -static void confirm_name_rsp(uint8_t status, uint16_t len, - const void *param, void *user_data) -{ - const struct mgmt_rp_confirm_name *rp = param; - char addr[18]; - - if (len == 0 && status != 0) { - fprintf(stderr, - "confirm_name failed with status 0x%02x (%s)\n", - status, mgmt_errstr(status)); - return; - } - - if (len != sizeof(*rp)) { - fprintf(stderr, "confirm_name rsp length %u instead of %zu\n", - len, sizeof(*rp)); - return; - } - - ba2str(&rp->addr.bdaddr, addr); - - if (status != 0) - fprintf(stderr, "confirm_name for %s failed: 0x%02x (%s)\n", - addr, status, mgmt_errstr(status)); - else - printf("confirm_name succeeded for %s\n", addr); -} - -static void device_found(uint16_t index, uint16_t len, const void *param, - void *user_data) -{ - const struct mgmt_ev_device_found *ev = param; - struct mgmt *mgmt = user_data; - uint32_t flags; - uint16_t eir_len; - struct eir_data eir; - - if (len < sizeof(*ev)) { - fprintf(stderr, - "Too short device_found length (%u bytes)\n", len); - return; - } - - flags = btohl(ev->flags); - - eir_len = bt_get_le16(&ev->eir_len); - if (len != sizeof(*ev) + eir_len) { - fprintf(stderr, "dev_found: expected %zu bytes, got %u bytes\n", - sizeof(*ev) + eir_len, len); - return; - } - - memset(&eir, 0, sizeof(eir)); - eir_parse(&eir, ev->eir, eir_len); - - if (monitor || discovery) { - char addr[18]; - ba2str(&ev->addr.bdaddr, addr); - printf("hci%u dev_found: %s type %s rssi %d " - "flags 0x%04x ", index, addr, - typestr(ev->addr.type), ev->rssi, flags); - - if (eir.name) - printf("name %s\n", eir.name); - else - printf("eir_len %u\n", eir_len); - } - - eir_data_free(&eir); - - if (discovery && (flags & MGMT_DEV_FOUND_CONFIRM_NAME)) { - struct mgmt_cp_confirm_name cp; - - memset(&cp, 0, sizeof(cp)); - memcpy(&cp.addr, &ev->addr, sizeof(cp.addr)); - if (resolve_names) - cp.name_known = 0; - else - cp.name_known = 1; - - mgmt_reply(mgmt, MGMT_OP_CONFIRM_NAME, index, sizeof(cp), &cp, - confirm_name_rsp, NULL, NULL); - } -} - -static void pin_rsp(uint8_t status, uint16_t len, const void *param, - void *user_data) -{ - if (status != 0) { - fprintf(stderr, - "PIN Code reply failed with status 0x%02x (%s)\n", - status, mgmt_errstr(status)); - g_main_loop_quit(event_loop); - return; - } - - printf("PIN Reply successful\n"); -} - -static int mgmt_pin_reply(struct mgmt *mgmt, uint16_t index, - const struct mgmt_addr_info *addr, - const char *pin, size_t len) -{ - struct mgmt_cp_pin_code_reply cp; - - memset(&cp, 0, sizeof(cp)); - memcpy(&cp.addr, addr, sizeof(cp.addr)); - cp.pin_len = len; - memcpy(cp.pin_code, pin, len); - - return mgmt_reply(mgmt, MGMT_OP_PIN_CODE_REPLY, index, sizeof(cp), &cp, - pin_rsp, NULL, NULL); -} - -static void pin_neg_rsp(uint8_t status, uint16_t len, const void *param, - void *user_data) -{ - if (status != 0) { - fprintf(stderr, - "PIN Neg reply failed with status 0x%02x (%s)\n", - status, mgmt_errstr(status)); - g_main_loop_quit(event_loop); - return; - } - - printf("PIN Negative Reply successful\n"); -} - -static int mgmt_pin_neg_reply(struct mgmt *mgmt, uint16_t index, - const struct mgmt_addr_info *addr) -{ - struct mgmt_cp_pin_code_neg_reply cp; - - memset(&cp, 0, sizeof(cp)); - memcpy(&cp.addr, addr, sizeof(cp.addr)); - - return mgmt_reply(mgmt, MGMT_OP_PIN_CODE_NEG_REPLY, index, - sizeof(cp), &cp, pin_neg_rsp, NULL, NULL); -} - -static void request_pin(uint16_t index, uint16_t len, const void *param, - void *user_data) -{ - const struct mgmt_ev_pin_code_request *ev = param; - struct mgmt *mgmt = user_data; - char pin[18]; - size_t pin_len; - - if (len != sizeof(*ev)) { - fprintf(stderr, - "Invalid pin_code request length (%u bytes)\n", len); - return; - } - - if (monitor) { - char addr[18]; - ba2str(&ev->addr.bdaddr, addr); - printf("hci%u %s request PIN\n", index, addr); - } - - printf("PIN Request (press enter to reject) >> "); - fflush(stdout); - - memset(pin, 0, sizeof(pin)); - - if (fgets(pin, sizeof(pin), stdin) == NULL || pin[0] == '\n') { - mgmt_pin_neg_reply(mgmt, index, &ev->addr); - return; - } - - pin_len = strlen(pin); - if (pin[pin_len - 1] == '\n') { - pin[pin_len - 1] = '\0'; - pin_len--; - } - - mgmt_pin_reply(mgmt, index, &ev->addr, pin, pin_len); -} - -static void confirm_rsp(uint8_t status, uint16_t len, const void *param, - void *user_data) -{ - if (status != 0) { - fprintf(stderr, - "User Confirm reply failed. status 0x%02x (%s)\n", - status, mgmt_errstr(status)); - g_main_loop_quit(event_loop); - return; - } - - printf("User Confirm Reply successful\n"); -} - -static int mgmt_confirm_reply(struct mgmt *mgmt, uint16_t index, - const bdaddr_t *bdaddr) -{ - struct mgmt_cp_user_confirm_reply cp; - - memset(&cp, 0, sizeof(cp)); - bacpy(&cp.addr.bdaddr, bdaddr); - - return mgmt_reply(mgmt, MGMT_OP_USER_CONFIRM_REPLY, index, - sizeof(cp), &cp, confirm_rsp, NULL, NULL); -} - -static void confirm_neg_rsp(uint8_t status, uint16_t len, const void *param, - void *user_data) -{ - if (status != 0) { - fprintf(stderr, - "Confirm Neg reply failed. status 0x%02x (%s)\n", - status, mgmt_errstr(status)); - g_main_loop_quit(event_loop); - return; - } - - printf("User Confirm Negative Reply successful\n"); -} - -static int mgmt_confirm_neg_reply(struct mgmt *mgmt, uint16_t index, - const bdaddr_t *bdaddr) -{ - struct mgmt_cp_user_confirm_reply cp; - - memset(&cp, 0, sizeof(cp)); - bacpy(&cp.addr.bdaddr, bdaddr); - - return mgmt_reply(mgmt, MGMT_OP_USER_CONFIRM_NEG_REPLY, index, - sizeof(cp), &cp, confirm_neg_rsp, NULL, NULL); -} - - -static void user_confirm(uint16_t index, uint16_t len, const void *param, - void *user_data) -{ - const struct mgmt_ev_user_confirm_request *ev = param; - struct mgmt *mgmt = user_data; - char rsp[5]; - size_t rsp_len; - uint32_t val; - char addr[18]; - - if (len != sizeof(*ev)) { - fprintf(stderr, - "Invalid user_confirm request length (%u)\n", len); - return; - } - - ba2str(&ev->addr.bdaddr, addr); - val = bt_get_le32(&ev->value); - - if (monitor) - printf("hci%u %s User Confirm %06u hint %u\n", index, addr, - val, ev->confirm_hint); - - if (ev->confirm_hint) - printf("Accept pairing with %s (yes/no) >> ", addr); - else - printf("Confirm value %06u for %s (yes/no) >> ", val, addr); - - fflush(stdout); - - memset(rsp, 0, sizeof(rsp)); - - if (fgets(rsp, sizeof(rsp), stdin) == NULL || rsp[0] == '\n') { - mgmt_confirm_neg_reply(mgmt, index, &ev->addr.bdaddr); - return; - } - - rsp_len = strlen(rsp); - if (rsp[rsp_len - 1] == '\n') { - rsp[rsp_len - 1] = '\0'; - rsp_len--; - } - - if (rsp[0] == 'y' || rsp[0] == 'Y') - mgmt_confirm_reply(mgmt, index, &ev->addr.bdaddr); - else - mgmt_confirm_neg_reply(mgmt, index, &ev->addr.bdaddr); -} - -static void cmd_monitor(struct mgmt *mgmt, uint16_t index, int argc, - char **argv) -{ - printf("Monitoring mgmt events...\n"); - monitor = true; -} - -static void version_rsp(uint8_t status, uint16_t len, const void *param, - void *user_data) -{ - const struct mgmt_rp_read_version *rp = param; - - if (status != 0) { - fprintf(stderr, "Reading mgmt version failed with status" - " 0x%02x (%s)\n", status, mgmt_errstr(status)); - goto done; - } - - if (len < sizeof(*rp)) { - fprintf(stderr, "Too small version reply (%u bytes)\n", len); - goto done; - } - - printf("MGMT Version %u, revision %u\n", rp->version, - bt_get_le16(&rp->revision)); - -done: - g_main_loop_quit(event_loop); -} - -static void cmd_version(struct mgmt *mgmt, uint16_t index, int argc, - char **argv) -{ - if (mgmt_send(mgmt, MGMT_OP_READ_VERSION, MGMT_INDEX_NONE, - 0, NULL, version_rsp, NULL, NULL) == 0) { - fprintf(stderr, "Unable to send read_version cmd\n"); - exit(EXIT_FAILURE); - } -} - -static void commands_rsp(uint8_t status, uint16_t len, const void *param, - void *user_data) -{ - const struct mgmt_rp_read_commands *rp = param; - uint16_t num_commands, num_events; - const uint16_t *opcode; - size_t expected_len; - int i; - - if (status != 0) { - fprintf(stderr, "Reading supported commands failed with status" - " 0x%02x (%s)\n", status, mgmt_errstr(status)); - goto done; - } - - if (len < sizeof(*rp)) { - fprintf(stderr, "Too small commands reply (%u bytes)\n", len); - goto done; - } - - num_commands = bt_get_le16(&rp->num_commands); - num_events = bt_get_le16(&rp->num_events); - - expected_len = sizeof(*rp) + num_commands * sizeof(uint16_t) + - num_events * sizeof(uint16_t); - - if (len < expected_len) { - fprintf(stderr, "Too small commands reply (%u != %zu)\n", - len, expected_len); - goto done; - } - - opcode = rp->opcodes; - - printf("%u commands:\n", num_commands); - for (i = 0; i < num_commands; i++) { - uint16_t op = bt_get_le16(opcode++); - printf("\t%s (0x%04x)\n", mgmt_opstr(op), op); - } - - printf("%u events:\n", num_events); - for (i = 0; i < num_events; i++) { - uint16_t ev = bt_get_le16(opcode++); - printf("\t%s (0x%04x)\n", mgmt_evstr(ev), ev); - } - -done: - g_main_loop_quit(event_loop); -} - -static void cmd_commands(struct mgmt *mgmt, uint16_t index, int argc, - char **argv) -{ - if (mgmt_send(mgmt, MGMT_OP_READ_COMMANDS, MGMT_INDEX_NONE, - 0, NULL, commands_rsp, NULL, NULL) == 0) { - fprintf(stderr, "Unable to send read_commands cmd\n"); - exit(EXIT_FAILURE); - } -} - -static void info_rsp(uint8_t status, uint16_t len, const void *param, - void *user_data) -{ - const struct mgmt_rp_read_info *rp = param; - int id = GPOINTER_TO_INT(user_data); - char addr[18]; - - pending--; - - if (status != 0) { - fprintf(stderr, - "Reading hci%u info failed with status 0x%02x (%s)\n", - id, status, mgmt_errstr(status)); - goto done; - } - - if (len < sizeof(*rp)) { - fprintf(stderr, "Too small info reply (%u bytes)\n", len); - goto done; - } - - ba2str(&rp->bdaddr, addr); - printf("hci%u:\taddr %s version %u manufacturer %u" - " class 0x%02x%02x%02x\n", - id, addr, rp->version, bt_get_le16(&rp->manufacturer), - rp->dev_class[2], rp->dev_class[1], rp->dev_class[0]); - - printf("\tsupported settings: "); - print_settings(bt_get_le32(&rp->supported_settings)); - - printf("\n\tcurrent settings: "); - print_settings(bt_get_le32(&rp->current_settings)); - - printf("\n\tname %s\n", rp->name); - printf("\tshort name %s\n", rp->short_name); - - if (pending > 0) - return; - -done: - g_main_loop_quit(event_loop); -} - -static void index_rsp(uint8_t status, uint16_t len, const void *param, - void *user_data) -{ - const struct mgmt_rp_read_index_list *rp = param; - struct mgmt *mgmt = user_data; - uint16_t count; - unsigned int i; - - if (status != 0) { - fprintf(stderr, - "Reading index list failed with status 0x%02x (%s)\n", - status, mgmt_errstr(status)); - goto done; - } - - if (len < sizeof(*rp)) { - fprintf(stderr, "Too small index list reply (%u bytes)\n", - len); - goto done; - } - - count = bt_get_le16(&rp->num_controllers); - - if (len < sizeof(*rp) + count * sizeof(uint16_t)) { - fprintf(stderr, - "Index count (%u) doesn't match reply length (%u)\n", - count, len); - goto done; - } - - if (monitor) - printf("Index list with %u item%s\n", - count, count > 1 ? "s" : ""); - - if (count == 0) - goto done; - - if (monitor && count > 0) - printf("\t"); - - for (i = 0; i < count; i++) { - uint16_t index; - void *data; - - index = bt_get_le16(&rp->index[i]); - - if (monitor) - printf("hci%u ", index); - - data = GINT_TO_POINTER((int) index); - - if (mgmt_send(mgmt, MGMT_OP_READ_INFO, index, 0, NULL, - info_rsp, data, NULL) == 0) { - fprintf(stderr, "Unable to send read_info cmd\n"); - goto done; - } - - pending++; - } - - if (monitor && count > 0) - printf("\n"); - - return; - -done: - g_main_loop_quit(event_loop); -} - -static void cmd_info(struct mgmt *mgmt, uint16_t index, int argc, char **argv) -{ - void *data; - - if (index == MGMT_INDEX_NONE) { - if (mgmt_send(mgmt, MGMT_OP_READ_INDEX_LIST, - MGMT_INDEX_NONE, 0, NULL, - index_rsp, mgmt, NULL) == 0) { - fprintf(stderr, "Unable to send index_list cmd\n"); - exit(EXIT_FAILURE); - } - - return; - } - - data = GINT_TO_POINTER((int) index); - - if (mgmt_send(mgmt, MGMT_OP_READ_INFO, index, 0, NULL, info_rsp, - data, NULL) == 0) { - fprintf(stderr, "Unable to send read_info cmd\n"); - exit(EXIT_FAILURE); - } -} - -/* Wrapper to get the index and opcode to the response callback */ -struct command_data { - uint16_t id; - uint16_t op; - void (*callback) (uint16_t id, uint16_t op, uint8_t status, - uint16_t len, const void *param); -}; - -static void cmd_rsp(uint8_t status, uint16_t len, const void *param, - void *user_data) -{ - struct command_data *data = user_data; - - data->callback(data->op, data->id, status, len, param); -} - -static unsigned int send_cmd(struct mgmt *mgmt, uint16_t op, uint16_t id, - uint16_t len, const void *param, - void (*cb)(uint16_t id, uint16_t op, - uint8_t status, uint16_t len, - const void *param)) -{ - struct command_data *data; - unsigned int send_id; - - data = g_new0(struct command_data, 1); - data->id = id; - data->op = op; - data->callback = cb; - - send_id = mgmt_send(mgmt, op, id, len, param, cmd_rsp, data, g_free); - if (send_id == 0) - g_free(data); - - return send_id; -} - -static void setting_rsp(uint16_t op, uint16_t id, uint8_t status, uint16_t len, - const void *param) -{ - const uint32_t *rp = param; - - if (status != 0) { - fprintf(stderr, - "%s for hci%u failed with status 0x%02x (%s)\n", - mgmt_opstr(op), id, status, mgmt_errstr(status)); - goto done; - } - - if (len < sizeof(*rp)) { - fprintf(stderr, "Too small %s response (%u bytes)\n", - mgmt_opstr(op), len); - goto done; - } - - printf("hci%u %s complete, settings: ", id, mgmt_opstr(op)); - print_settings(bt_get_le32(rp)); - printf("\n"); - -done: - g_main_loop_quit(event_loop); -} - -static void cmd_setting(struct mgmt *mgmt, uint16_t index, uint16_t op, - int argc, char **argv) -{ - uint8_t val; - - if (argc < 2) { - printf("Specify \"on\" or \"off\"\n"); - exit(EXIT_FAILURE); - } - - if (strcasecmp(argv[1], "on") == 0 || strcasecmp(argv[1], "yes") == 0) - val = 1; - else if (strcasecmp(argv[1], "off") == 0) - val = 0; - else - val = atoi(argv[1]); - - if (index == MGMT_INDEX_NONE) - index = 0; - - if (send_cmd(mgmt, op, index, sizeof(val), &val, setting_rsp) == 0) { - fprintf(stderr, "Unable to send %s cmd\n", mgmt_opstr(op)); - exit(EXIT_FAILURE); - } -} - -static void cmd_power(struct mgmt *mgmt, uint16_t index, int argc, char **argv) -{ - cmd_setting(mgmt, index, MGMT_OP_SET_POWERED, argc, argv); -} - -static void cmd_discov(struct mgmt *mgmt, uint16_t index, int argc, - char **argv) -{ - struct mgmt_cp_set_discoverable cp; - - if (argc < 2) { - printf("Usage: btmgmt %s [timeout]\n", argv[0]); - exit(EXIT_FAILURE); - } - - memset(&cp, 0, sizeof(cp)); - - if (strcasecmp(argv[1], "on") == 0 || strcasecmp(argv[1], "yes") == 0) - cp.val = 1; - else if (strcasecmp(argv[1], "off") == 0) - cp.val = 0; - else - cp.val = atoi(argv[1]); - - if (argc > 2) - cp.timeout = htobs(atoi(argv[2])); - - if (index == MGMT_INDEX_NONE) - index = 0; - - if (send_cmd(mgmt, MGMT_OP_SET_DISCOVERABLE, index, sizeof(cp), &cp, - setting_rsp) == 0) { - fprintf(stderr, "Unable to send set_discoverable cmd\n"); - exit(EXIT_FAILURE); - } -} - -static void cmd_connectable(struct mgmt *mgmt, uint16_t index, int argc, - char **argv) -{ - cmd_setting(mgmt, index, MGMT_OP_SET_CONNECTABLE, argc, argv); -} - -static void cmd_fast_conn(struct mgmt *mgmt, uint16_t index, int argc, - char **argv) -{ - cmd_setting(mgmt, index, MGMT_OP_SET_FAST_CONNECTABLE, argc, argv); -} - -static void cmd_pairable(struct mgmt *mgmt, uint16_t index, int argc, - char **argv) -{ - cmd_setting(mgmt, index, MGMT_OP_SET_PAIRABLE, argc, argv); -} - -static void cmd_linksec(struct mgmt *mgmt, uint16_t index, int argc, - char **argv) -{ - cmd_setting(mgmt, index, MGMT_OP_SET_LINK_SECURITY, argc, argv); -} - -static void cmd_ssp(struct mgmt *mgmt, uint16_t index, int argc, char **argv) -{ - cmd_setting(mgmt, index, MGMT_OP_SET_SSP, argc, argv); -} - -static void cmd_hs(struct mgmt *mgmt, uint16_t index, int argc, char **argv) -{ - cmd_setting(mgmt, index, MGMT_OP_SET_HS, argc, argv); -} - -static void cmd_le(struct mgmt *mgmt, uint16_t index, int argc, char **argv) -{ - cmd_setting(mgmt, index, MGMT_OP_SET_LE, argc, argv); -} - -static void class_rsp(uint16_t op, uint16_t id, uint8_t status, uint16_t len, - const void *param) -{ - const struct mgmt_ev_class_of_dev_changed *rp = param; - - if (len == 0 && status != 0) { - fprintf(stderr, "%s failed, status 0x%02x (%s)\n", - mgmt_opstr(op), status, mgmt_errstr(status)); - goto done; - } - - if (len != sizeof(*rp)) { - fprintf(stderr, "Unexpected %s len %u\n", mgmt_opstr(op), len); - goto done; - } - - printf("%s succeeded. Class 0x%02x%02x%02x\n", mgmt_opstr(op), - rp->class_of_dev[2], rp->class_of_dev[1], rp->class_of_dev[0]); - -done: - g_main_loop_quit(event_loop); -} - -static void cmd_class(struct mgmt *mgmt, uint16_t index, int argc, char **argv) -{ - uint8_t class[2]; - - if (argc < 3) { - printf("Usage: btmgmt %s \n", argv[0]); - exit(EXIT_FAILURE); - } - - class[0] = atoi(argv[1]); - class[1] = atoi(argv[2]); - - if (index == MGMT_INDEX_NONE) - index = 0; - - if (send_cmd(mgmt, MGMT_OP_SET_DEV_CLASS, index, sizeof(class), class, - class_rsp) == 0) { - fprintf(stderr, "Unable to send set_dev_class cmd\n"); - exit(EXIT_FAILURE); - } -} - -static void disconnect_rsp(uint8_t status, uint16_t len, const void *param, - void *user_data) -{ - const struct mgmt_rp_disconnect *rp = param; - char addr[18]; - - if (len == 0 && status != 0) { - fprintf(stderr, "Disconnect failed with status 0x%02x (%s)\n", - status, mgmt_errstr(status)); - goto done; - } - - if (len != sizeof(*rp)) { - fprintf(stderr, "Invalid disconnect response length (%u)\n", - len); - goto done; - } - - ba2str(&rp->addr.bdaddr, addr); - - if (status == 0) - printf("%s disconnected\n", addr); - else - fprintf(stderr, - "Disconnecting %s failed with status 0x%02x (%s)\n", - addr, status, mgmt_errstr(status)); - -done: - g_main_loop_quit(event_loop); -} - -static void cmd_disconnect(struct mgmt *mgmt, uint16_t index, int argc, - char **argv) -{ - struct mgmt_cp_disconnect cp; - - if (argc < 2) { - printf("Usage: btmgmt %s
\n", argv[0]); - exit(EXIT_FAILURE); - } - - str2ba(argv[1], &cp.addr.bdaddr); - - if (index == MGMT_INDEX_NONE) - index = 0; - - if (mgmt_send(mgmt, MGMT_OP_DISCONNECT, index, sizeof(cp), &cp, - disconnect_rsp, NULL, NULL) == 0) { - fprintf(stderr, "Unable to send disconnect cmd\n"); - exit(EXIT_FAILURE); - } -} - -static void con_rsp(uint8_t status, uint16_t len, const void *param, - void *user_data) -{ - const struct mgmt_rp_get_connections *rp = param; - uint16_t count, i; - - if (len < sizeof(*rp)) { - fprintf(stderr, "Too small (%u bytes) get_connections rsp\n", - len); - goto done; - } - - count = bt_get_le16(&rp->conn_count); - if (len != sizeof(*rp) + count * sizeof(struct mgmt_addr_info)) { - fprintf(stderr, "Invalid get_connections length " - " (count=%u, len=%u)\n", count, len); - goto done; - } - - for (i = 0; i < count; i++) { - char addr[18]; - - ba2str(&rp->addr[i].bdaddr, addr); - - printf("%s type %s\n", addr, typestr(rp->addr[i].type)); - } - -done: - g_main_loop_quit(event_loop); -} - -static void cmd_con(struct mgmt *mgmt, uint16_t index, int argc, char **argv) -{ - if (index == MGMT_INDEX_NONE) - index = 0; - - if (mgmt_send(mgmt, MGMT_OP_GET_CONNECTIONS, index, 0, NULL, - con_rsp, NULL, NULL) == 0) { - fprintf(stderr, "Unable to send get_connections cmd\n"); - exit(EXIT_FAILURE); - } -} - -static void find_rsp(uint8_t status, uint16_t len, const void *param, - void *user_data) -{ - if (status != 0) { - fprintf(stderr, - "Unable to start discovery. status 0x%02x (%s)\n", - status, mgmt_errstr(status)); - g_main_loop_quit(event_loop); - return; - } - - printf("Discovery started\n"); - discovery = true; -} - -static void find_usage(void) -{ - printf("Usage: btmgmt find [-l|-b]>\n"); -} - -static struct option find_options[] = { - { "help", 0, 0, 'h' }, - { "le-only", 1, 0, 'l' }, - { "bredr-only", 1, 0, 'b' }, - { 0, 0, 0, 0 } -}; - -static void cmd_find(struct mgmt *mgmt, uint16_t index, int argc, char **argv) -{ - struct mgmt_cp_start_discovery cp; - uint8_t type; - int opt; - - if (index == MGMT_INDEX_NONE) - index = 0; - - type = 0; - hci_set_bit(BDADDR_BREDR, &type); - hci_set_bit(BDADDR_LE_PUBLIC, &type); - hci_set_bit(BDADDR_LE_RANDOM, &type); - - while ((opt = getopt_long(argc, argv, "+lbh", find_options, - NULL)) != -1) { - switch (opt) { - case 'l': - hci_clear_bit(BDADDR_BREDR, &type); - hci_set_bit(BDADDR_LE_PUBLIC, &type); - hci_set_bit(BDADDR_LE_RANDOM, &type); - break; - case 'b': - hci_set_bit(BDADDR_BREDR, &type); - hci_clear_bit(BDADDR_LE_PUBLIC, &type); - hci_clear_bit(BDADDR_LE_RANDOM, &type); - break; - case 'h': - default: - find_usage(); - exit(EXIT_SUCCESS); - } - } - - argc -= optind; - argv += optind; - optind = 0; - - memset(&cp, 0, sizeof(cp)); - cp.type = type; - - if (mgmt_send(mgmt, MGMT_OP_START_DISCOVERY, index, sizeof(cp), &cp, - find_rsp, NULL, NULL) == 0) { - fprintf(stderr, "Unable to send start_discovery cmd\n"); - exit(EXIT_FAILURE); - } -} - -static void name_rsp(uint8_t status, uint16_t len, const void *param, - void *user_data) -{ - if (status != 0) - fprintf(stderr, "Unable to set local name " - "with status 0x%02x (%s)\n", - status, mgmt_errstr(status)); - - g_main_loop_quit(event_loop); -} - -static void cmd_name(struct mgmt *mgmt, uint16_t index, int argc, char **argv) -{ - struct mgmt_cp_set_local_name cp; - - if (argc < 2) { - printf("Usage: btmgmt %s [shortname]\n", argv[0]); - exit(EXIT_FAILURE); - } - - if (index == MGMT_INDEX_NONE) - index = 0; - - memset(&cp, 0, sizeof(cp)); - strncpy((char *) cp.name, argv[1], HCI_MAX_NAME_LENGTH); - if (argc > 2) - strncpy((char *) cp.short_name, argv[2], - MGMT_MAX_SHORT_NAME_LENGTH); - - if (mgmt_send(mgmt, MGMT_OP_SET_LOCAL_NAME, index, sizeof(cp), &cp, - name_rsp, NULL, NULL) == 0) { - fprintf(stderr, "Unable to send set_name cmd\n"); - exit(EXIT_FAILURE); - } -} - -static void pair_rsp(uint8_t status, uint16_t len, const void *param, - void *user_data) -{ - const struct mgmt_rp_pair_device *rp = param; - char addr[18]; - - if (len == 0 && status != 0) { - fprintf(stderr, "Pairing failed with status 0x%02x (%s)\n", - status, mgmt_errstr(status)); - goto done; - } - - if (len != sizeof(*rp)) { - fprintf(stderr, "Unexpected pair_rsp len %u\n", len); - goto done; - } - - ba2str(&rp->addr.bdaddr, addr); - - if (status != 0) { - fprintf(stderr, - "Pairing with %s (%s) failed. status 0x%02x (%s)\n", - addr, typestr(rp->addr.type), status, - mgmt_errstr(status)); - goto done; - } - - printf("Paired with %s\n", addr); - -done: - g_main_loop_quit(event_loop); -} - -static void pair_usage(void) -{ - printf("Usage: btmgmt pair [-c cap] [-t type] \n"); -} - -static struct option pair_options[] = { - { "help", 0, 0, 'h' }, - { "capability", 1, 0, 'c' }, - { "type", 1, 0, 't' }, - { 0, 0, 0, 0 } -}; - -static void cmd_pair(struct mgmt *mgmt, uint16_t index, int argc, char **argv) -{ - struct mgmt_cp_pair_device cp; - uint8_t cap = 0x01; - uint8_t type = BDADDR_BREDR; - int opt; - - while ((opt = getopt_long(argc, argv, "+c:t:h", pair_options, - NULL)) != -1) { - switch (opt) { - case 'c': - cap = strtol(optarg, NULL, 0); - break; - case 't': - type = strtol(optarg, NULL, 0); - break; - case 'h': - default: - pair_usage(); - exit(EXIT_SUCCESS); - } - } - - argc -= optind; - argv += optind; - optind = 0; - - if (argc < 1) { - pair_usage(); - exit(EXIT_FAILURE); - } - - if (index == MGMT_INDEX_NONE) - index = 0; - - memset(&cp, 0, sizeof(cp)); - str2ba(argv[0], &cp.addr.bdaddr); - cp.addr.type = type; - cp.io_cap = cap; - - if (mgmt_send(mgmt, MGMT_OP_PAIR_DEVICE, index, sizeof(cp), &cp, - pair_rsp, NULL, NULL) == 0) { - fprintf(stderr, "Unable to send pair_device cmd\n"); - exit(EXIT_FAILURE); - } -} - -static void cancel_pair_rsp(uint8_t status, uint16_t len, const void *param, - void *user_data) -{ - const struct mgmt_addr_info *rp = param; - char addr[18]; - - if (len == 0 && status != 0) { - fprintf(stderr, "Cancel Pairing failed with 0x%02x (%s)\n", - status, mgmt_errstr(status)); - goto done; - } - - if (len != sizeof(*rp)) { - fprintf(stderr, "Unexpected cancel_pair_rsp len %u\n", len); - goto done; - } - - ba2str(&rp->bdaddr, addr); - - if (status != 0) { - fprintf(stderr, - "Cancel Pairing with %s (%s) failed. 0x%02x (%s)\n", - addr, typestr(rp->type), status, - mgmt_errstr(status)); - goto done; - } - - printf("Pairing Cancelled with %s\n", addr); - -done: - g_main_loop_quit(event_loop); -} - -static void cancel_pair_usage(void) -{ - printf("Usage: btmgmt cancelpair [-t type] \n"); -} - -static struct option cancel_pair_options[] = { - { "help", 0, 0, 'h' }, - { "type", 1, 0, 't' }, - { 0, 0, 0, 0 } -}; - -static void cmd_cancel_pair(struct mgmt *mgmt, uint16_t index, int argc, - char **argv) -{ - struct mgmt_addr_info cp; - uint8_t type = BDADDR_BREDR; - int opt; - - while ((opt = getopt_long(argc, argv, "+t:h", cancel_pair_options, - NULL)) != -1) { - switch (opt) { - case 't': - type = strtol(optarg, NULL, 0); - break; - case 'h': - default: - cancel_pair_usage(); - exit(EXIT_SUCCESS); - } - } - - argc -= optind; - argv += optind; - optind = 0; - - if (argc < 1) { - cancel_pair_usage(); - exit(EXIT_FAILURE); - } - - if (index == MGMT_INDEX_NONE) - index = 0; - - memset(&cp, 0, sizeof(cp)); - str2ba(argv[0], &cp.bdaddr); - cp.type = type; - - if (mgmt_send(mgmt, MGMT_OP_CANCEL_PAIR_DEVICE, index, sizeof(cp), &cp, - cancel_pair_rsp, NULL, NULL) == 0) { - fprintf(stderr, "Unable to send cancel_pair_device cmd\n"); - exit(EXIT_FAILURE); - } -} - -static void unpair_rsp(uint8_t status, uint16_t len, const void *param, - void *user_data) -{ - const struct mgmt_rp_unpair_device *rp = param; - char addr[18]; - - if (len == 0 && status != 0) { - fprintf(stderr, "Unpair device failed. status 0x%02x (%s)\n", - status, mgmt_errstr(status)); - goto done; - } - - if (len != sizeof(*rp)) { - fprintf(stderr, "Unexpected unpair_device_rsp len %u\n", len); - goto done; - } - - ba2str(&rp->addr.bdaddr, addr); - - if (status != 0) { - fprintf(stderr, - "Unpairing %s failed. status 0x%02x (%s)\n", - addr, status, mgmt_errstr(status)); - goto done; - } - - printf("%s unpaired\n", addr); - -done: - g_main_loop_quit(event_loop); -} - -static void cmd_unpair(struct mgmt *mgmt, uint16_t index, int argc, - char **argv) -{ - struct mgmt_cp_unpair_device cp; - - if (argc < 2) { - printf("Usage: btmgmt %s \n", argv[0]); - exit(EXIT_FAILURE); - } - - if (index == MGMT_INDEX_NONE) - index = 0; - - memset(&cp, 0, sizeof(cp)); - str2ba(argv[1], &cp.addr.bdaddr); - cp.disconnect = 1; - - if (mgmt_send(mgmt, MGMT_OP_UNPAIR_DEVICE, index, sizeof(cp), &cp, - unpair_rsp, NULL, NULL) == 0) { - fprintf(stderr, "Unable to send unpair_device cmd\n"); - exit(EXIT_FAILURE); - } -} - -static void keys_rsp(uint8_t status, uint16_t len, const void *param, - void *user_data) -{ - if (status != 0) - fprintf(stderr, "Load keys failed with status 0x%02x (%s)\n", - status, mgmt_errstr(status)); - else - printf("Keys successfully loaded\n"); - - g_main_loop_quit(event_loop); -} - -static void cmd_keys(struct mgmt *mgmt, uint16_t index, int argc, char **argv) -{ - struct mgmt_cp_load_link_keys cp; - - if (index == MGMT_INDEX_NONE) - index = 0; - - memset(&cp, 0, sizeof(cp)); - - if (mgmt_send(mgmt, MGMT_OP_LOAD_LINK_KEYS, index, sizeof(cp), &cp, - keys_rsp, NULL, NULL) == 0) { - fprintf(stderr, "Unable to send load_keys cmd\n"); - exit(EXIT_FAILURE); - } -} - -static void block_rsp(uint16_t op, uint16_t id, uint8_t status, uint16_t len, - const void *param) -{ - const struct mgmt_addr_info *rp = param; - char addr[18]; - - if (len == 0 && status != 0) { - fprintf(stderr, "%s failed, status 0x%02x (%s)\n", - mgmt_opstr(op), status, mgmt_errstr(status)); - goto done; - } - - if (len != sizeof(*rp)) { - fprintf(stderr, "Unexpected %s len %u\n", mgmt_opstr(op), len); - goto done; - } - - ba2str(&rp->bdaddr, addr); - - if (status != 0) { - fprintf(stderr, "%s %s (%s) failed. status 0x%02x (%s)\n", - mgmt_opstr(op), addr, typestr(rp->type), - status, mgmt_errstr(status)); - goto done; - } - - printf("%s %s succeeded\n", mgmt_opstr(op), addr); - -done: - g_main_loop_quit(event_loop); -} - -static void block_usage(void) -{ - printf("Usage: btmgmt block [-t type] \n"); -} - -static struct option block_options[] = { - { "help", 0, 0, 'h' }, - { "type", 1, 0, 't' }, - { 0, 0, 0, 0 } -}; - -static void cmd_block(struct mgmt *mgmt, uint16_t index, int argc, char **argv) -{ - struct mgmt_cp_block_device cp; - uint8_t type = BDADDR_BREDR; - int opt; - - while ((opt = getopt_long(argc, argv, "+t:h", block_options, - NULL)) != -1) { - switch (opt) { - case 't': - type = strtol(optarg, NULL, 0); - break; - case 'h': - default: - block_usage(); - exit(EXIT_SUCCESS); - } - } - - argc -= optind; - argv += optind; - optind = 0; - - if (argc < 1) { - block_usage(); - exit(EXIT_FAILURE); - } - - if (index == MGMT_INDEX_NONE) - index = 0; - - memset(&cp, 0, sizeof(cp)); - str2ba(argv[0], &cp.addr.bdaddr); - cp.addr.type = type; - - if (send_cmd(mgmt, MGMT_OP_BLOCK_DEVICE, index, sizeof(cp), &cp, - block_rsp) == 0) { - fprintf(stderr, "Unable to send block_device cmd\n"); - exit(EXIT_FAILURE); - } -} - -static void unblock_usage(void) -{ - printf("Usage: btmgmt unblock [-t type] \n"); -} - -static void cmd_unblock(struct mgmt *mgmt, uint16_t index, int argc, - char **argv) -{ - struct mgmt_cp_unblock_device cp; - uint8_t type = BDADDR_BREDR; - int opt; - - while ((opt = getopt_long(argc, argv, "+t:h", block_options, - NULL)) != -1) { - switch (opt) { - case 't': - type = strtol(optarg, NULL, 0); - break; - case 'h': - default: - unblock_usage(); - exit(EXIT_SUCCESS); - } - } - - argc -= optind; - argv += optind; - optind = 0; - - if (argc < 1) { - unblock_usage(); - exit(EXIT_FAILURE); - } - - if (index == MGMT_INDEX_NONE) - index = 0; - - memset(&cp, 0, sizeof(cp)); - str2ba(argv[0], &cp.addr.bdaddr); - cp.addr.type = type; - - if (send_cmd(mgmt, MGMT_OP_UNBLOCK_DEVICE, index, sizeof(cp), &cp, - block_rsp) == 0) { - fprintf(stderr, "Unable to send unblock_device cmd\n"); - exit(EXIT_FAILURE); - } -} - -static void uuid_to_uuid128(uuid_t *uuid128, const uuid_t *uuid) -{ - if (uuid->type == SDP_UUID16) - sdp_uuid16_to_uuid128(uuid128, uuid); - else if (uuid->type == SDP_UUID32) - sdp_uuid32_to_uuid128(uuid128, uuid); - else - memcpy(uuid128, uuid, sizeof(*uuid)); -} - -static void cmd_add_uuid(struct mgmt *mgmt, uint16_t index, int argc, - char **argv) -{ - struct mgmt_cp_add_uuid cp; - uint128_t uint128; - uuid_t uuid, uuid128; - - if (argc < 3) { - printf("UUID and service hint needed\n"); - exit(EXIT_FAILURE); - } - - if (index == MGMT_INDEX_NONE) - index = 0; - - if (bt_string2uuid(&uuid, argv[1]) < 0) { - printf("Invalid UUID: %s\n", argv[1]); - exit(EXIT_FAILURE); - } - - memset(&cp, 0, sizeof(cp)); - - uuid_to_uuid128(&uuid128, &uuid); - ntoh128((uint128_t *) uuid128.value.uuid128.data, &uint128); - htob128(&uint128, (uint128_t *) cp.uuid); - - cp.svc_hint = atoi(argv[2]); - - if (send_cmd(mgmt, MGMT_OP_ADD_UUID, index, sizeof(cp), &cp, - class_rsp) == 0) { - fprintf(stderr, "Unable to send add_uuid cmd\n"); - exit(EXIT_FAILURE); - } -} - -static void cmd_remove_uuid(struct mgmt *mgmt, uint16_t index, int argc, - char **argv) -{ - struct mgmt_cp_remove_uuid cp; - uint128_t uint128; - uuid_t uuid, uuid128; - - if (argc < 2) { - printf("UUID needed\n"); - exit(EXIT_FAILURE); - } - - if (index == MGMT_INDEX_NONE) - index = 0; - - if (bt_string2uuid(&uuid, argv[1]) < 0) { - printf("Invalid UUID: %s\n", argv[1]); - exit(EXIT_FAILURE); - } - - memset(&cp, 0, sizeof(cp)); - - uuid_to_uuid128(&uuid128, &uuid); - ntoh128((uint128_t *) uuid128.value.uuid128.data, &uint128); - htob128(&uint128, (uint128_t *) cp.uuid); - - if (send_cmd(mgmt, MGMT_OP_REMOVE_UUID, index, sizeof(cp), &cp, - class_rsp) == 0) { - fprintf(stderr, "Unable to send remove_uuid cmd\n"); - exit(EXIT_FAILURE); - } -} - -static void cmd_clr_uuids(struct mgmt *mgmt, uint16_t index, int argc, - char **argv) -{ - char *uuid_any = "00000000-0000-0000-0000-000000000000"; - char *rm_argv[] = { "rm-uuid", uuid_any, NULL }; - - cmd_remove_uuid(mgmt, index, 2, rm_argv); -} - -static void did_rsp(uint8_t status, uint16_t len, const void *param, - void *user_data) -{ - if (status != 0) - fprintf(stderr, "Set Device ID failed " - "with status 0x%02x (%s)\n", - status, mgmt_errstr(status)); - else - printf("Device ID successfully set\n"); - - g_main_loop_quit(event_loop); -} - -static void did_usage(void) -{ - printf("Usage: btmgmt did :::\n"); - printf(" possible source values: bluetooth, usb\n"); -} - -static void cmd_did(struct mgmt *mgmt, uint16_t index, int argc, char **argv) -{ - struct mgmt_cp_set_device_id cp; - uint16_t vendor, product, version , source; - int result; - - if (argc < 2) { - did_usage(); - exit(EXIT_FAILURE); - } - - result = sscanf(argv[1], "bluetooth:%4hx:%4hx:%4hx", &vendor, &product, - &version); - if (result == 3) { - source = 0x0001; - goto done; - } - - result = sscanf(argv[1], "usb:%4hx:%4hx:%4hx", &vendor, &product, - &version); - if (result == 3) { - source = 0x0002; - goto done; - } - - did_usage(); - exit(EXIT_FAILURE); - -done: - if (index == MGMT_INDEX_NONE) - index = 0; - - cp.source = htobs(source); - cp.vendor = htobs(vendor); - cp.product = htobs(product); - cp.version = htobs(version); - - if (mgmt_send(mgmt, MGMT_OP_SET_DEVICE_ID, index, sizeof(cp), &cp, - did_rsp, NULL, NULL) == 0) { - fprintf(stderr, "Unable to send set_dev_class cmd\n"); - exit(EXIT_FAILURE); - } -} - -static struct { - char *cmd; - void (*func)(struct mgmt *mgmt, uint16_t index, int argc, char **argv); - char *doc; -} command[] = { - { "monitor", cmd_monitor, "Monitor events" }, - { "version", cmd_version, "Get the MGMT Version" }, - { "commands", cmd_commands, "List supported commands" }, - { "info", cmd_info, "Show controller info" }, - { "power", cmd_power, "Toggle powered state" }, - { "discov", cmd_discov, "Toggle discoverable state" }, - { "connectable",cmd_connectable,"Toggle connectable state" }, - { "fast-conn", cmd_fast_conn, "Toggle fast connectable state" }, - { "pairable", cmd_pairable, "Toggle pairable state" }, - { "linksec", cmd_linksec, "Toggle link level security" }, - { "ssp", cmd_ssp, "Toggle SSP mode" }, - { "hs", cmd_hs, "Toggle HS Support" }, - { "le", cmd_le, "Toggle LE Support" }, - { "class", cmd_class, "Set device major/minor class" }, - { "disconnect", cmd_disconnect, "Disconnect device" }, - { "con", cmd_con, "List connections" }, - { "find", cmd_find, "Discover nearby devices" }, - { "name", cmd_name, "Set local name" }, - { "pair", cmd_pair, "Pair with a remote device" }, - { "cancelpair", cmd_cancel_pair,"Cancel pairing" }, - { "unpair", cmd_unpair, "Unpair device" }, - { "keys", cmd_keys, "Load Keys" }, - { "block", cmd_block, "Block Device" }, - { "unblock", cmd_unblock, "Unblock Device" }, - { "add-uuid", cmd_add_uuid, "Add UUID" }, - { "rm-uuid", cmd_remove_uuid, "Remove UUID" }, - { "clr-uuids", cmd_clr_uuids, "Clear UUIDs", }, - { "did", cmd_did, "Set Device ID", }, - { NULL, NULL, 0 } -}; - -static void usage(void) -{ - int i; - - printf("btmgmt ver %s\n", VERSION); - printf("Usage:\n" - "\tbtmgmt [options] [command parameters]\n"); - - printf("Options:\n" - "\t--index \tSpecify adapter index\n" - "\t--verbose\tEnable extra logging\n" - "\t--help\tDisplay help\n"); - - printf("Commands:\n"); - for (i = 0; command[i].cmd; i++) - printf("\t%-15s\t%s\n", command[i].cmd, command[i].doc); - - printf("\n" - "For more information on the usage of each command use:\n" - "\tbtmgmt --help\n" ); -} - -static struct option main_options[] = { - { "index", 1, 0, 'i' }, - { "verbose", 0, 0, 'v' }, - { "help", 0, 0, 'h' }, - { 0, 0, 0, 0 } -}; - -int main(int argc, char *argv[]) -{ - int opt, i; - uint16_t index = MGMT_INDEX_NONE; - struct mgmt *mgmt; - - while ((opt = getopt_long(argc, argv, "+hvi:", - main_options, NULL)) != -1) { - switch (opt) { - case 'i': - if (strlen(optarg) > 3 && - strncasecmp(optarg, "hci", 3) == 0) - index = atoi(&optarg[4]); - else - index = atoi(optarg); - break; - case 'v': - monitor = true; - break; - case 'h': - default: - usage(); - return 0; - } - } - - argc -= optind; - argv += optind; - optind = 0; - - if (argc < 1) { - usage(); - return 0; - } - - event_loop = g_main_loop_new(NULL, FALSE); - - mgmt = mgmt_new_default(); - if (!mgmt) { - fprintf(stderr, "Unable to open mgmt_socket\n"); - g_main_loop_unref(event_loop); - return -1; - } - - for (i = 0; command[i].cmd; i++) { - if (strcmp(command[i].cmd, argv[0]) != 0) - continue; - - command[i].func(mgmt, index, argc, argv); - break; - } - - if (command[i].cmd == NULL) { - fprintf(stderr, "Unknown command: %s\n", argv[0]); - mgmt_unref(mgmt); - g_main_loop_unref(event_loop); - return -1; - } - - mgmt_register(mgmt, MGMT_EV_CONTROLLER_ERROR, index, controller_error, - NULL, NULL); - mgmt_register(mgmt, MGMT_EV_INDEX_ADDED, index, index_added, - NULL, NULL); - mgmt_register(mgmt, MGMT_EV_INDEX_REMOVED, index, index_removed, - NULL, NULL); - mgmt_register(mgmt, MGMT_EV_NEW_SETTINGS, index, new_settings, - NULL, NULL); - mgmt_register(mgmt, MGMT_EV_DISCOVERING, index, discovering, - NULL, NULL); - mgmt_register(mgmt, MGMT_EV_NEW_LINK_KEY, index, new_link_key, - NULL, NULL); - mgmt_register(mgmt, MGMT_EV_DEVICE_CONNECTED, index, connected, - NULL, NULL); - mgmt_register(mgmt, MGMT_EV_DEVICE_DISCONNECTED, index, disconnected, - NULL, NULL); - mgmt_register(mgmt, MGMT_EV_CONNECT_FAILED, index, conn_failed, - NULL, NULL); - mgmt_register(mgmt, MGMT_EV_AUTH_FAILED, index, auth_failed, - NULL, NULL); - mgmt_register(mgmt, MGMT_EV_LOCAL_NAME_CHANGED, index, - local_name_changed, NULL, NULL); - mgmt_register(mgmt, MGMT_EV_DEVICE_FOUND, index, device_found, - mgmt, NULL); - mgmt_register(mgmt, MGMT_EV_PIN_CODE_REQUEST, index, request_pin, - mgmt, NULL); - mgmt_register(mgmt, MGMT_EV_USER_CONFIRM_REQUEST, index, user_confirm, - mgmt, NULL); - - g_main_loop_run(event_loop); - - mgmt_cancel_all(mgmt); - mgmt_unregister_all(mgmt); - mgmt_unref(mgmt); - - g_main_loop_unref(event_loop); - - return 0; -} diff --git a/GRIB_BLE_HUB/libs/ble_extend/tools/btsnoop.c b/GRIB_BLE_HUB/libs/ble_extend/tools/btsnoop.c deleted file mode 100644 index eebc797..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/tools/btsnoop.c +++ /dev/null @@ -1,627 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2011-2012 Intel Corporation - * Copyright (C) 2004-2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#define MONITOR_NEW_INDEX 0 -#define MONITOR_DEL_INDEX 1 -#define MONITOR_COMMAND_PKT 2 -#define MONITOR_EVENT_PKT 3 -#define MONITOR_ACL_TX_PKT 4 -#define MONITOR_ACL_RX_PKT 5 -#define MONITOR_SCO_TX_PKT 6 -#define MONITOR_SCO_RX_PKT 7 - -static inline uint64_t ntoh64(uint64_t n) -{ - uint64_t h; - uint64_t tmp = ntohl(n & 0x00000000ffffffff); - - h = ntohl(n >> 32); - h |= tmp << 32; - - return h; -} - -#define hton64(x) ntoh64(x) - -struct btsnoop_hdr { - uint8_t id[8]; /* Identification Pattern */ - uint32_t version; /* Version Number = 1 */ - uint32_t type; /* Datalink Type */ -} __attribute__ ((packed)); -#define BTSNOOP_HDR_SIZE (sizeof(struct btsnoop_hdr)) - -struct btsnoop_pkt { - uint32_t size; /* Original Length */ - uint32_t len; /* Included Length */ - uint32_t flags; /* Packet Flags */ - uint32_t drops; /* Cumulative Drops */ - uint64_t ts; /* Timestamp microseconds */ - uint8_t data[0]; /* Packet Data */ -} __attribute__ ((packed)); -#define BTSNOOP_PKT_SIZE (sizeof(struct btsnoop_pkt)) - -static const uint8_t btsnoop_id[] = { 0x62, 0x74, 0x73, 0x6e, - 0x6f, 0x6f, 0x70, 0x00 }; - -static const uint32_t btsnoop_version = 1; - -static int btsnoop_create(const char *path) -{ - struct btsnoop_hdr hdr; - ssize_t written; - int fd; - - fd = open(path, O_WRONLY | O_CREAT | O_TRUNC | O_CLOEXEC, - S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH); - if (fd < 0) { - perror("failed to output file"); - return -1; - } - - memcpy(hdr.id, btsnoop_id, sizeof(btsnoop_id)); - hdr.version = htonl(btsnoop_version); - hdr.type = htonl(2001); - - written = write(fd, &hdr, BTSNOOP_HDR_SIZE); - if (written < 0) { - perror("failed to write output header"); - close(fd); - return -1; - } - - return fd; -} - -static int btsnoop_open(const char *path, uint32_t *type) -{ - struct btsnoop_hdr hdr; - ssize_t len; - int fd; - - fd = open(path, O_RDONLY | O_CLOEXEC); - if (fd < 0) { - perror("failed to open input file"); - return -1; - } - - len = read(fd, &hdr, BTSNOOP_HDR_SIZE); - if (len < 0 || len != BTSNOOP_HDR_SIZE) { - perror("failed to read input header"); - close(fd); - return -1; - } - - if (memcmp(hdr.id, btsnoop_id, sizeof(btsnoop_id))) { - fprintf(stderr, "not a valid btsnoop header\n"); - close(fd); - return -1; - } - - if (ntohl(hdr.version) != btsnoop_version) { - fprintf(stderr, "invalid btsnoop version\n"); - close(fd); - return -1; - } - - if (type) - *type = ntohl(hdr.type); - - return fd; -} - -#define MAX_MERGE 8 - -static void command_merge(const char *output, int argc, char *argv[]) -{ - struct btsnoop_pkt input_pkt[MAX_MERGE]; - unsigned char buf[2048]; - int output_fd, input_fd[MAX_MERGE], num_input = 0; - int i, select_input; - ssize_t len, written; - uint32_t toread, flags; - uint16_t index, opcode; - - if (argc > MAX_MERGE) { - fprintf(stderr, "only up to %d files allowed\n", MAX_MERGE); - return; - } - - for (i = 0; i < argc; i++) { - uint32_t type; - int fd; - - fd = btsnoop_open(argv[i], &type); - if (fd < 0) - break; - - if (type != 1002) { - fprintf(stderr, "unsupported link data type %u\n", - type); - close(fd); - break; - } - - input_fd[num_input++] = fd; - } - - if (num_input != argc) { - fprintf(stderr, "failed to open all input files\n"); - goto close_input; - } - - output_fd = btsnoop_create(output); - if (output_fd < 0) - goto close_input; - - for (i = 0; i < num_input; i++) { - len = read(input_fd[i], &input_pkt[i], BTSNOOP_PKT_SIZE); - if (len < 0 || len != BTSNOOP_PKT_SIZE) { - close(input_fd[i]); - input_fd[i] = -1; - } - } - -next_packet: - select_input = -1; - - for (i = 0; i < num_input; i++) { - uint64_t ts; - - if (input_fd[i] < 0) - continue; - - if (select_input < 0) { - select_input = i; - continue; - } - - ts = ntoh64(input_pkt[i].ts); - - if (ts < ntoh64(input_pkt[select_input].ts)) - select_input = i; - } - - if (select_input < 0) - goto close_output; - - toread = ntohl(input_pkt[select_input].size); - flags = ntohl(input_pkt[select_input].flags); - - len = read(input_fd[select_input], buf, toread); - if (len < 0 || len != (ssize_t) toread) { - close(input_fd[select_input]); - input_fd[select_input] = -1; - goto next_packet; - } - - written = input_pkt[select_input].size = htonl(toread - 1); - written = input_pkt[select_input].len = htonl(toread - 1); - - switch (buf[0]) { - case 0x01: - opcode = MONITOR_COMMAND_PKT; - break; - case 0x02: - if (flags & 0x01) - opcode = MONITOR_ACL_RX_PKT; - else - opcode = MONITOR_ACL_TX_PKT; - break; - case 0x03: - if (flags & 0x01) - opcode = MONITOR_SCO_RX_PKT; - else - opcode = MONITOR_ACL_TX_PKT; - break; - case 0x04: - opcode = MONITOR_EVENT_PKT; - break; - default: - goto skip_write; - } - - index = select_input; - input_pkt[select_input].flags = htonl((index << 16) | opcode); - - written = write(output_fd, &input_pkt[select_input], BTSNOOP_PKT_SIZE); - if (written != BTSNOOP_PKT_SIZE) { - fprintf(stderr, "write of packet header failed\n"); - goto close_output; - } - - written = write(output_fd, buf + 1, toread - 1); - if (written != (ssize_t) toread - 1) { - fprintf(stderr, "write of packet data failed\n"); - goto close_output; - } - -skip_write: - len = read(input_fd[select_input], - &input_pkt[select_input], BTSNOOP_PKT_SIZE); - if (len < 0 || len != BTSNOOP_PKT_SIZE) { - close(input_fd[select_input]); - input_fd[select_input] = -1; - } - - goto next_packet; - -close_output: - close(output_fd); - -close_input: - for (i = 0; i < num_input; i++) - close(input_fd[i]); -} - -static void command_extract_eir(const char *input) -{ - struct btsnoop_pkt pkt; - unsigned char buf[2048]; - ssize_t len; - uint32_t type, toread, flags; - uint16_t opcode; - int fd, count = 0; - - fd = btsnoop_open(input, &type); - if (fd < 0) - return; - - if (type != 2001) { - fprintf(stderr, "unsupported link data type %u\n", type); - close(fd); - return; - } - -next_packet: - len = read(fd, &pkt, BTSNOOP_PKT_SIZE); - if (len < 0 || len != BTSNOOP_PKT_SIZE) - goto close_input; - - toread = ntohl(pkt.size); - flags = ntohl(pkt.flags); - - opcode = flags & 0x00ff; - - len = read(fd, buf, toread); - if (len < 0 || len != (ssize_t) toread) { - fprintf(stderr, "failed to read packet data\n"); - goto close_input; - } - - switch (opcode) { - case MONITOR_EVENT_PKT: - /* extended inquiry result event */ - if (buf[0] == 0x2f) { - uint8_t *eir_ptr, eir_len, i; - - eir_len = buf[1] - 15; - eir_ptr = buf + 17; - - if (eir_len < 1 || eir_len > 240) - break; - - printf("\t[Extended Inquiry Data with %u bytes]\n", - eir_len); - printf("\t\t"); - for (i = 0; i < eir_len; i++) { - printf("0x%02x", eir_ptr[i]); - if (((i + 1) % 8) == 0) { - if (i < eir_len - 1) - printf(",\n\t\t"); - } else { - if (i < eir_len - 1) - printf(", "); - } - } - printf("\n"); - - count++; - } - break; - } - - goto next_packet; - -close_input: - close(fd); -} - -static void command_extract_ad(const char *input) -{ - struct btsnoop_pkt pkt; - unsigned char buf[2048]; - ssize_t len; - uint32_t type, toread, flags; - uint16_t opcode; - int fd, count = 0; - - fd = btsnoop_open(input, &type); - if (fd < 0) - return; - - if (type != 2001) { - fprintf(stderr, "unsupported link data type %u\n", type); - close(fd); - return; - } - -next_packet: - len = read(fd, &pkt, BTSNOOP_PKT_SIZE); - if (len < 0 || len != BTSNOOP_PKT_SIZE) - goto close_input; - - toread = ntohl(pkt.size); - flags = ntohl(pkt.flags); - - opcode = flags & 0x00ff; - - len = read(fd, buf, toread); - if (len < 0 || len != (ssize_t) toread) { - fprintf(stderr, "failed to read packet data\n"); - goto close_input; - } - - switch (opcode) { - case MONITOR_EVENT_PKT: - /* advertising report */ - if (buf[0] == 0x3e && buf[2] == 0x02) { - uint8_t *ad_ptr, ad_len, i; - - ad_len = buf[12]; - ad_ptr = buf + 13; - - if (ad_len < 1 || ad_len > 40) - break; - - printf("\t[Advertising Data with %u bytes]\n", ad_len); - printf("\t\t"); - for (i = 0; i < ad_len; i++) { - printf("0x%02x", ad_ptr[i]); - if (((i + 1) % 8) == 0) { - if (i < ad_len - 1) - printf(",\n\t\t"); - } else { - if (i < ad_len - 1) - printf(", "); - } - } - printf("\n"); - - count++; - } - break; - } - - goto next_packet; - -close_input: - close(fd); -} -static const uint8_t conn_complete[] = { 0x04, 0x03, 0x0B, 0x00 }; -static const uint8_t disc_complete[] = { 0x04, 0x05, 0x04, 0x00 }; - -static void command_extract_sdp(const char *input) -{ - struct btsnoop_pkt pkt; - unsigned char buf[2048]; - ssize_t len; - uint32_t type, toread; - uint16_t current_cid = 0x0000; - uint8_t pdu_buf[512]; - uint16_t pdu_len = 0; - bool pdu_first = false; - int fd, count = 0; - - fd = btsnoop_open(input, &type); - if (fd < 0) - return; - - if (type != 1002) { - fprintf(stderr, "unsupported link data type %u\n", type); - close(fd); - return; - } - -next_packet: - len = read(fd, &pkt, BTSNOOP_PKT_SIZE); - if (len < 0 || len != BTSNOOP_PKT_SIZE) - goto close_input; - - toread = ntohl(pkt.size); - - len = read(fd, buf, toread); - if (len < 0 || len != (ssize_t) toread) { - fprintf(stderr, "failed to read packet data\n"); - goto close_input; - } - - if (buf[0] == 0x02) { - uint8_t acl_flags; - - /* first 4 bytes are handle and data len */ - acl_flags = buf[2] >> 4; - - /* use only packet with ACL start flag */ - if (acl_flags & 0x02) { - if (current_cid == 0x0040 && pdu_len > 0) { - int i; - if (!pdu_first) - printf(",\n"); - printf("\t\traw_pdu("); - for (i = 0; i < pdu_len; i++) { - printf("0x%02x", pdu_buf[i]); - if (((i + 1) % 8) == 0) { - if (i < pdu_len - 1) - printf(",\n\t\t\t"); - } else { - if (i < pdu_len - 1) - printf(", "); - } - } - printf(")"); - pdu_first = false; - } - - /* next 4 bytes are data len and cid */ - current_cid = buf[8] << 8 | buf[7]; - memcpy(pdu_buf, buf + 9, len - 9); - pdu_len = len - 9; - } else if (acl_flags & 0x01) { - memcpy(pdu_buf + pdu_len, buf + 5, len - 5); - pdu_len += len - 5; - } - } - - if ((size_t) len > sizeof(conn_complete)) { - if (memcmp(buf, conn_complete, sizeof(conn_complete)) == 0) { - printf("\tdefine_test(\"/test/%u\",\n", ++count); - pdu_first = true; - } - } - - if ((size_t) len > sizeof(disc_complete)) { - if (memcmp(buf, disc_complete, sizeof(disc_complete)) == 0) { - printf(");\n"); - } - } - - goto next_packet; - -close_input: - close(fd); -} - -static void usage(void) -{ - printf("btsnoop trace file handling tool\n" - "Usage:\n"); - printf("\tbtsnoop [files]\n"); - printf("commands:\n" - "\t-m, --merge Merge multiple btsnoop files\n" - "\t-e, --extract Extract data from btsnoop file\n" - "\t-h, --help Show help options\n"); -} - -static const struct option main_options[] = { - { "merge", required_argument, NULL, 'm' }, - { "extract", required_argument, NULL, 'e' }, - { "type", required_argument, NULL, 't' }, - { "version", no_argument, NULL, 'v' }, - { "help", no_argument, NULL, 'h' }, - { } -}; - -enum { INVALID, MERGE, EXTRACT }; - -int main(int argc, char *argv[]) -{ - const char *output_path = NULL; - const char *input_path = NULL; - const char *type = NULL; - unsigned short command = INVALID; - - for (;;) { - int opt; - - opt = getopt_long(argc, argv, "m:e:t:vh", main_options, NULL); - if (opt < 0) - break; - - switch (opt) { - case 'm': - command = MERGE; - output_path = optarg; - break; - case 'e': - command = EXTRACT; - input_path = optarg; - break; - case 't': - type = optarg; - break; - case 'v': - printf("%s\n", VERSION); - return EXIT_SUCCESS; - case 'h': - usage(); - return EXIT_SUCCESS; - default: - return EXIT_FAILURE; - } - } - - switch (command) { - case MERGE: - if (argc - optind < 1) { - fprintf(stderr, "input files required\n"); - return EXIT_FAILURE; - } - - command_merge(output_path, argc - optind, argv + optind); - break; - - case EXTRACT: - if (argc - optind > 0) { - fprintf(stderr, "extra arguments not allowed\n"); - return EXIT_FAILURE; - } - - if (!type) { - fprintf(stderr, "not extract type specified\n"); - return EXIT_FAILURE; - } - - if (!strcasecmp(type, "eir")) - command_extract_eir(input_path); - else if (!strcasecmp(type, "ad")) - command_extract_ad(input_path); - else if (!strcasecmp(type, "sdp")) - command_extract_sdp(input_path); - else - fprintf(stderr, "extract type not supported\n"); - break; - - default: - usage(); - return EXIT_FAILURE; - } - - return EXIT_SUCCESS; -} diff --git a/GRIB_BLE_HUB/libs/ble_extend/tools/ciptool b/GRIB_BLE_HUB/libs/ble_extend/tools/ciptool deleted file mode 100644 index 6509c3d..0000000 Binary files a/GRIB_BLE_HUB/libs/ble_extend/tools/ciptool and /dev/null differ diff --git a/GRIB_BLE_HUB/libs/ble_extend/tools/ciptool.1 b/GRIB_BLE_HUB/libs/ble_extend/tools/ciptool.1 deleted file mode 100644 index 65d903d..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/tools/ciptool.1 +++ /dev/null @@ -1,68 +0,0 @@ -.\" -.\" This program is free software; you can redistribute it and/or modify -.\" it under the terms of the GNU General Public License as published by -.\" the Free Software Foundation; either version 2 of the License, or -.\" (at your option) any later version. -.\" -.\" This program is distributed in the hope that it will be useful, -.\" but WITHOUT ANY WARRANTY; without even the implied warranty of -.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -.\" GNU General Public License for more details. -.\" -.\" You should have received a copy of the GNU General Public License -.\" along with this program; if not, write to the Free Software -.\" Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. -.\" -.\" -.TH CIPTOOL 1 "JUNE 6, 2003" "" "" - -.SH NAME -ciptool \- Bluetooth Common ISDN Access Profile (CIP) -.SH SYNOPSIS -.BR "ciptool -[ -.I options -] < -.I command -> -.SH DESCRIPTION -.B ciptool -is used to set up, maintain, and inspect the CIP configuration -of the Bluetooth subsystem in the Linux kernel. -.SH OPTIONS -.TP -.BI -h -Gives a list of possible commands. -.TP -.BI -i " | " -The command is applied to device -.I -hciX -, which must be the name or the address of an installed Bluetooth -device. If not specified, the command will be use the first -available Bluetooth device. -.SH COMMANDS -.TP -.BI show -Display information about the connected devices. -.TP -.BI search -Search for Bluetooth devices and connect to first one that -offers CIP support. -.TP -.BI connect " [psm]" -Connect the local device to the remote Bluetooth device on the -specified PSM number. If no PSM is specified, it will use the -SDP to retrieve it from the remote device. -.TP -.BI release " [bdaddr]" -Release a connection to the specific device. If no address is -given and only one device is connected this will be released. -.TP -.BI loopback " [psm]" -Create a connection to the remote device for Bluetooth testing. -This command will not provide a CAPI controller, because it is -only for testing the CAPI Message Transport Protocol. -.SH AUTHOR -Written by Marcel Holtmann . -.br diff --git a/GRIB_BLE_HUB/libs/ble_extend/tools/ciptool.c b/GRIB_BLE_HUB/libs/ble_extend/tools/ciptool.c deleted file mode 100644 index 72338dc..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/tools/ciptool.c +++ /dev/null @@ -1,493 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2002-2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include - -static volatile sig_atomic_t __io_canceled = 0; - -static void sig_hup(int sig) -{ - return; -} - -static void sig_term(int sig) -{ - __io_canceled = 1; -} - -static char *cmtp_state[] = { - "unknown", - "connected", - "open", - "bound", - "listening", - "connecting", - "connecting", - "config", - "disconnecting", - "closed" -}; - -static char *cmtp_flagstostr(uint32_t flags) -{ - static char str[100] = ""; - - strcat(str, "["); - - if (flags & (1 << CMTP_LOOPBACK)) - strcat(str, "loopback"); - - strcat(str, "]"); - - return str; -} - -static int get_psm(bdaddr_t *src, bdaddr_t *dst, unsigned short *psm) -{ - sdp_session_t *s; - sdp_list_t *srch, *attrs, *rsp; - uuid_t svclass; - uint16_t attr; - int err; - - if (!(s = sdp_connect(src, dst, 0))) - return -1; - - sdp_uuid16_create(&svclass, CIP_SVCLASS_ID); - srch = sdp_list_append(NULL, &svclass); - - attr = SDP_ATTR_PROTO_DESC_LIST; - attrs = sdp_list_append(NULL, &attr); - - err = sdp_service_search_attr_req(s, srch, SDP_ATTR_REQ_INDIVIDUAL, attrs, &rsp); - - sdp_close(s); - - if (err) - return 0; - - for (; rsp; rsp = rsp->next) { - sdp_record_t *rec = (sdp_record_t *) rsp->data; - sdp_list_t *protos; - - if (!sdp_get_access_protos(rec, &protos)) { - unsigned short p = sdp_get_proto_port(protos, L2CAP_UUID); - if (p > 0) { - *psm = p; - return 1; - } - } - } - - return 0; -} - -static int do_connect(int ctl, int dev_id, bdaddr_t *src, bdaddr_t *dst, unsigned short psm, uint32_t flags) -{ - struct cmtp_connadd_req req; - struct hci_dev_info di; - struct sockaddr_l2 addr; - struct l2cap_options opts; - socklen_t size; - int sk; - - hci_devinfo(dev_id, &di); - if (!(di.link_policy & HCI_LP_RSWITCH)) { - printf("Local device is not accepting role switch\n"); - } - - if ((sk = socket(AF_BLUETOOTH, SOCK_SEQPACKET, BTPROTO_L2CAP)) < 0) { - perror("Can't create L2CAP socket"); - exit(1); - } - - memset(&addr, 0, sizeof(addr)); - addr.l2_family = AF_BLUETOOTH; - bacpy(&addr.l2_bdaddr, src); - - if (bind(sk, (struct sockaddr *)&addr, sizeof(addr)) < 0) { - perror("Can't bind L2CAP socket"); - close(sk); - exit(1); - } - - memset(&opts, 0, sizeof(opts)); - size = sizeof(opts); - - if (getsockopt(sk, SOL_L2CAP, L2CAP_OPTIONS, &opts, &size) < 0) { - perror("Can't get L2CAP options"); - close(sk); - exit(1); - } - - opts.imtu = CMTP_DEFAULT_MTU; - opts.omtu = CMTP_DEFAULT_MTU; - opts.flush_to = 0xffff; - - if (setsockopt(sk, SOL_L2CAP, L2CAP_OPTIONS, &opts, sizeof(opts)) < 0) { - perror("Can't set L2CAP options"); - close(sk); - exit(1); - } - - memset(&addr, 0, sizeof(addr)); - addr.l2_family = AF_BLUETOOTH; - bacpy(&addr.l2_bdaddr, dst); - addr.l2_psm = htobs(psm); - - if (connect(sk, (struct sockaddr *)&addr, sizeof(addr)) < 0) { - perror("Can't connect L2CAP socket"); - close(sk); - exit(1); - } - - req.sock = sk; - req.flags = flags; - - if (ioctl(ctl, CMTPCONNADD, &req) < 0) { - perror("Can't create connection"); - exit(1); - } - - return sk; -} - -static void cmd_show(int ctl, bdaddr_t *bdaddr, int argc, char **argv) -{ - struct cmtp_connlist_req req; - struct cmtp_conninfo ci[16]; - char addr[18]; - unsigned int i; - - req.cnum = 16; - req.ci = ci; - - if (ioctl(ctl, CMTPGETCONNLIST, &req) < 0) { - perror("Can't get connection list"); - exit(1); - } - - for (i = 0; i < req.cnum; i++) { - ba2str(&ci[i].bdaddr, addr); - printf("%d %s %s %s\n", ci[i].num, addr, - cmtp_state[ci[i].state], - ci[i].flags ? cmtp_flagstostr(ci[i].flags) : ""); - } -} - -static void cmd_search(int ctl, bdaddr_t *bdaddr, int argc, char **argv) -{ - inquiry_info *info = NULL; - bdaddr_t src, dst; - unsigned short psm; - int i, dev_id, num_rsp, length, flags; - char addr[18]; - uint8_t class[3]; - - ba2str(bdaddr, addr); - dev_id = hci_devid(addr); - if (dev_id < 0) { - dev_id = hci_get_route(NULL); - hci_devba(dev_id, &src); - } else - bacpy(&src, bdaddr); - - length = 8; /* ~10 seconds */ - num_rsp = 0; - flags = 0; - - printf("Searching ...\n"); - - num_rsp = hci_inquiry(dev_id, length, num_rsp, NULL, &info, flags); - - for (i = 0; i < num_rsp; i++) { - memcpy(class, (info+i)->dev_class, 3); - if ((class[1] == 2) && ((class[0] / 4) == 5)) { - bacpy(&dst, &(info+i)->bdaddr); - ba2str(&dst, addr); - - printf("\tChecking service for %s\n", addr); - if (!get_psm(&src, &dst, &psm)) - continue; - - bt_free(info); - - printf("\tConnecting to device %s\n", addr); - do_connect(ctl, dev_id, &src, &dst, psm, 0); - return; - } - } - - bt_free(info); - fprintf(stderr, "\tNo devices in range or visible\n"); - exit(1); -} - -static void cmd_create(int ctl, bdaddr_t *bdaddr, int argc, char **argv) -{ - bdaddr_t src, dst; - unsigned short psm; - int dev_id; - char addr[18]; - - if (argc < 2) - return; - - str2ba(argv[1], &dst); - - ba2str(bdaddr, addr); - dev_id = hci_devid(addr); - if (dev_id < 0) { - dev_id = hci_get_route(&dst); - hci_devba(dev_id, &src); - } else - bacpy(&src, bdaddr); - - if (argc < 3) { - if (!get_psm(&src, &dst, &psm)) - psm = 4099; - } else - psm = atoi(argv[2]); - - do_connect(ctl, dev_id, &src, &dst, psm, 0); -} - -static void cmd_release(int ctl, bdaddr_t *bdaddr, int argc, char **argv) -{ - struct cmtp_conndel_req req; - struct cmtp_connlist_req cl; - struct cmtp_conninfo ci[16]; - - if (argc < 2) { - cl.cnum = 16; - cl.ci = ci; - - if (ioctl(ctl, CMTPGETCONNLIST, &cl) < 0) { - perror("Can't get connection list"); - exit(1); - } - - if (cl.cnum == 0) - return; - - if (cl.cnum != 1) { - fprintf(stderr, "You have to specifiy the device address.\n"); - exit(1); - } - - bacpy(&req.bdaddr, &ci[0].bdaddr); - } else - str2ba(argv[1], &req.bdaddr); - - if (ioctl(ctl, CMTPCONNDEL, &req) < 0) { - perror("Can't release connection"); - exit(1); - } -} - -static void cmd_loopback(int ctl, bdaddr_t *bdaddr, int argc, char **argv) -{ - struct cmtp_conndel_req req; - struct sigaction sa; - struct pollfd p; - sigset_t sigs; - bdaddr_t src, dst; - unsigned short psm; - int dev_id, sk; - char addr[18]; - - if (argc < 2) - return; - - str2ba(argv[1], &dst); - - ba2str(bdaddr, addr); - dev_id = hci_devid(addr); - if (dev_id < 0) { - dev_id = hci_get_route(&dst); - hci_devba(dev_id, &src); - } else - bacpy(&src, bdaddr); - - ba2str(&dst, addr); - printf("Connecting to %s in loopback mode\n", addr); - - if (argc < 3) { - if (!get_psm(&src, &dst, &psm)) - psm = 4099; - } else - psm = atoi(argv[2]); - - sk = do_connect(ctl, dev_id, &src, &dst, psm, (1 << CMTP_LOOPBACK)); - - printf("Press CTRL-C for hangup\n"); - - memset(&sa, 0, sizeof(sa)); - sa.sa_flags = SA_NOCLDSTOP; - sa.sa_handler = SIG_IGN; - sigaction(SIGCHLD, &sa, NULL); - sigaction(SIGPIPE, &sa, NULL); - - sa.sa_handler = sig_term; - sigaction(SIGTERM, &sa, NULL); - sigaction(SIGINT, &sa, NULL); - - sa.sa_handler = sig_hup; - sigaction(SIGHUP, &sa, NULL); - - sigfillset(&sigs); - sigdelset(&sigs, SIGCHLD); - sigdelset(&sigs, SIGPIPE); - sigdelset(&sigs, SIGTERM); - sigdelset(&sigs, SIGINT); - sigdelset(&sigs, SIGHUP); - - p.fd = sk; - p.events = POLLERR | POLLHUP; - - while (!__io_canceled) { - p.revents = 0; - if (ppoll(&p, 1, NULL, &sigs) > 0) - break; - } - - bacpy(&req.bdaddr, &dst); - ioctl(ctl, CMTPCONNDEL, &req); -} - -static struct { - char *cmd; - char *alt; - void (*func)(int ctl, bdaddr_t *bdaddr, int argc, char **argv); - char *opt; - char *doc; -} command[] = { - { "show", "list", cmd_show, 0, "Show remote connections" }, - { "search", "scan", cmd_search, 0, "Search for a remote device" }, - { "connect", "create", cmd_create, "", "Connect a remote device" }, - { "release", "disconnect", cmd_release, "[bdaddr]", "Disconnect the remote device" }, - { "loopback", "test", cmd_loopback, "", "Loopback test of a device" }, - { NULL, NULL, NULL, 0, 0 } -}; - -static void usage(void) -{ - int i; - - printf("ciptool - Bluetooth Common ISDN Access Profile (CIP)\n\n"); - - printf("Usage:\n" - "\tciptool [options] [command]\n" - "\n"); - - printf("Options:\n" - "\t-i [hciX|bdaddr] Local HCI device or BD Address\n" - "\t-h, --help Display help\n" - "\n"); - - printf("Commands:\n"); - for (i = 0; command[i].cmd; i++) - printf("\t%-8s %-10s\t%s\n", command[i].cmd, - command[i].opt ? command[i].opt : " ", - command[i].doc); - printf("\n"); -} - -static struct option main_options[] = { - { "help", 0, 0, 'h' }, - { "device", 1, 0, 'i' }, - { 0, 0, 0, 0 } -}; - -int main(int argc, char *argv[]) -{ - bdaddr_t bdaddr; - int i, opt, ctl; - - bacpy(&bdaddr, BDADDR_ANY); - - while ((opt = getopt_long(argc, argv, "+i:h", main_options, NULL)) != -1) { - switch(opt) { - case 'i': - if (!strncmp(optarg, "hci", 3)) - hci_devba(atoi(optarg + 3), &bdaddr); - else - str2ba(optarg, &bdaddr); - break; - case 'h': - usage(); - exit(0); - default: - exit(0); - } - } - - argc -= optind; - argv += optind; - optind = 0; - - if (argc < 1) { - usage(); - return 0; - } - - if ((ctl = socket(AF_BLUETOOTH, SOCK_RAW, BTPROTO_CMTP)) < 0 ) { - perror("Can't open CMTP control socket"); - exit(1); - } - - for (i = 0; command[i].cmd; i++) { - if (strncmp(command[i].cmd, argv[0], 4) && strncmp(command[i].alt, argv[0], 4)) - continue; - command[i].func(ctl, &bdaddr, argc, argv); - close(ctl); - exit(0); - } - - usage(); - - close(ctl); - - return 0; -} diff --git a/GRIB_BLE_HUB/libs/ble_extend/tools/csr.c b/GRIB_BLE_HUB/libs/ble_extend/tools/csr.c deleted file mode 100644 index b4ea1fb..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/tools/csr.c +++ /dev/null @@ -1,2853 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2003-2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include - -#include "csr.h" - -struct psr_data { - uint16_t pskey; - uint8_t *value; - uint8_t size; - struct psr_data *next; -}; - -static struct psr_data *head = NULL, *tail = NULL; - -static struct { - uint16_t id; - char *str; -} csr_map[] = { - { 66, "HCI 9.8" }, - { 97, "HCI 10.3" }, - { 101, "HCI 10.5" }, - { 111, "HCI 11.0" }, - { 112, "HCI 11.1" }, - { 114, "HCI 11.2" }, - { 115, "HCI 11.3" }, - { 117, "HCI 12.0" }, - { 119, "HCI 12.1" }, - { 133, "HCI 12.2" }, - { 134, "HCI 12.3" }, - { 162, "HCI 12.4" }, - { 165, "HCI 12.5" }, - { 169, "HCI 12.6" }, - { 188, "HCI 12.7" }, - { 218, "HCI 12.8" }, - { 283, "HCI 12.9" }, - { 203, "HCI 13.2" }, - { 204, "HCI 13.2" }, - { 210, "HCI 13.3" }, - { 211, "HCI 13.3" }, - { 213, "HCI 13.4" }, - { 214, "HCI 13.4" }, - { 225, "HCI 13.5" }, - { 226, "HCI 13.5" }, - { 237, "HCI 13.6" }, - { 238, "HCI 13.6" }, - { 242, "HCI 14.0" }, - { 243, "HCI 14.0" }, - { 244, "HCI 14.0" }, - { 245, "HCI 14.0" }, - { 254, "HCI 13.7" }, - { 255, "HCI 13.7" }, - { 264, "HCI 14.1" }, - { 265, "HCI 14.1" }, - { 267, "HCI 14.2" }, - { 268, "HCI 14.2" }, - { 272, "HCI 14.3" }, - { 273, "HCI 14.3" }, - { 274, "HCI 13.8" }, - { 275, "HCI 13.8" }, - { 286, "HCI 13.9" }, - { 287, "HCI 13.9" }, - { 309, "HCI 13.10" }, - { 310, "HCI 13.10" }, - { 313, "HCI 14.4" }, - { 314, "HCI 14.4" }, - { 323, "HCI 14.5" }, - { 324, "HCI 14.5" }, - { 336, "HCI 14.6" }, - { 337, "HCI 14.6" }, - { 351, "HCI 13.11" }, - { 352, "HCI 13.11" }, - { 362, "HCI 15.0" }, - { 363, "HCI 15.0" }, - { 364, "HCI 15.0" }, - { 365, "HCI 15.0" }, - { 373, "HCI 14.7" }, - { 374, "HCI 14.7" }, - { 379, "HCI 15.1" }, - { 380, "HCI 15.1" }, - { 381, "HCI 15.1" }, - { 382, "HCI 15.1" }, - { 392, "HCI 15.2" }, - { 393, "HCI 15.2" }, - { 394, "HCI 15.2" }, - { 395, "HCI 15.2" }, - { 436, "HCI 16.0" }, - { 437, "HCI 16.0" }, - { 438, "HCI 16.0" }, - { 439, "HCI 16.0" }, - { 443, "HCI 15.3" }, - { 444, "HCI 15.3" }, - { 465, "HCI 16.1" }, - { 466, "HCI 16.1" }, - { 467, "HCI 16.1" }, - { 468, "HCI 16.1" }, - { 487, "HCI 14.8" }, - { 488, "HCI 14.8" }, - { 492, "HCI 16.2" }, - { 493, "HCI 16.2" }, - { 495, "HCI 16.2" }, - { 496, "HCI 16.2" }, - { 502, "HCI 16.1.1" }, - { 503, "HCI 16.1.1" }, - { 504, "HCI 16.1.1" }, - { 505, "HCI 16.1.1" }, - { 506, "HCI 16.1.2" }, - { 507, "HCI 16.1.2" }, - { 508, "HCI 16.1.2" }, - { 509, "HCI 16.1.2" }, - { 516, "HCI 16.3" }, - { 517, "HCI 16.3" }, - { 518, "HCI 16.3" }, - { 519, "HCI 16.3" }, - { 523, "HCI 16.4" }, - { 524, "HCI 16.4" }, - { 525, "HCI 16.4" }, - { 526, "HCI 16.4" }, - { 553, "HCI 15.3" }, - { 554, "HCI 15.3" }, - { 562, "HCI 16.5" }, - { 563, "HCI 16.5" }, - { 564, "HCI 16.5" }, - { 565, "HCI 16.5" }, - { 593, "HCI 17.0" }, - { 594, "HCI 17.0" }, - { 595, "HCI 17.0" }, - { 599, "HCI 17.0" }, - { 600, "HCI 17.0" }, - { 608, "HCI 13.10.1" }, - { 609, "HCI 13.10.1" }, - { 613, "HCI 17.1" }, - { 614, "HCI 17.1" }, - { 615, "HCI 17.1" }, - { 616, "HCI 17.1" }, - { 618, "HCI 17.1" }, - { 624, "HCI 17.2" }, - { 625, "HCI 17.2" }, - { 626, "HCI 17.2" }, - { 627, "HCI 17.2" }, - { 637, "HCI 16.6" }, - { 638, "HCI 16.6" }, - { 639, "HCI 16.6" }, - { 640, "HCI 16.6" }, - { 642, "HCI 13.10.2" }, - { 643, "HCI 13.10.2" }, - { 644, "HCI 13.10.3" }, - { 645, "HCI 13.10.3" }, - { 668, "HCI 13.10.4" }, - { 669, "HCI 13.10.4" }, - { 681, "HCI 16.7" }, - { 682, "HCI 16.7" }, - { 683, "HCI 16.7" }, - { 684, "HCI 16.7" }, - { 704, "HCI 16.8" }, - { 718, "HCI 16.4.1" }, - { 719, "HCI 16.4.1" }, - { 720, "HCI 16.4.1" }, - { 721, "HCI 16.4.1" }, - { 722, "HCI 16.7.1" }, - { 723, "HCI 16.7.1" }, - { 724, "HCI 16.7.1" }, - { 725, "HCI 16.7.1" }, - { 731, "HCI 16.7.2" }, - { 732, "HCI 16.7.2" }, - { 733, "HCI 16.7.2" }, - { 734, "HCI 16.7.2" }, - { 735, "HCI 16.4.2" }, - { 736, "HCI 16.4.2" }, - { 737, "HCI 16.4.2" }, - { 738, "HCI 16.4.2" }, - { 750, "HCI 16.7.3" }, - { 751, "HCI 16.7.3" }, - { 752, "HCI 16.7.3" }, - { 753, "HCI 16.7.3" }, - { 760, "HCI 16.7.4" }, - { 761, "HCI 16.7.4" }, - { 762, "HCI 16.7.4" }, - { 763, "HCI 16.7.4" }, - { 770, "HCI 16.9" }, - { 771, "HCI 16.9" }, - { 772, "HCI 16.9" }, - { 773, "HCI 16.9" }, - { 774, "HCI 17.3" }, - { 775, "HCI 17.3" }, - { 776, "HCI 17.3" }, - { 777, "HCI 17.3" }, - { 781, "HCI 16.7.5" }, - { 786, "HCI 16.10" }, - { 787, "HCI 16.10" }, - { 788, "HCI 16.10" }, - { 789, "HCI 16.10" }, - { 791, "HCI 16.4.3" }, - { 792, "HCI 16.4.3" }, - { 793, "HCI 16.4.3" }, - { 794, "HCI 16.4.3" }, - { 798, "HCI 16.11" }, - { 799, "HCI 16.11" }, - { 800, "HCI 16.11" }, - { 801, "HCI 16.11" }, - { 806, "HCI 16.7.5" }, - { 807, "HCI 16.12" }, - { 808, "HCI 16.12" }, - { 809, "HCI 16.12" }, - { 810, "HCI 16.12" }, - { 817, "HCI 16.13" }, - { 818, "HCI 16.13" }, - { 819, "HCI 16.13" }, - { 820, "HCI 16.13" }, - { 823, "HCI 13.10.5" }, - { 824, "HCI 13.10.5" }, - { 826, "HCI 16.14" }, - { 827, "HCI 16.14" }, - { 828, "HCI 16.14" }, - { 829, "HCI 16.14" }, - { 843, "HCI 17.3.1" }, - { 856, "HCI 17.3.2" }, - { 857, "HCI 17.3.2" }, - { 858, "HCI 17.3.2" }, - { 1120, "HCI 17.11" }, - { 1168, "HCI 18.1" }, - { 1169, "HCI 18.1" }, - { 1241, "HCI 18.x" }, - { 1298, "HCI 18.2" }, - { 1354, "HCI 18.2" }, - { 1392, "HCI 18.2" }, - { 1393, "HCI 18.2" }, - { 1501, "HCI 18.2" }, - { 1503, "HCI 18.2" }, - { 1504, "HCI 18.2" }, - { 1505, "HCI 18.2" }, - { 1506, "HCI 18.2" }, - { 1520, "HCI 18.2" }, - { 1586, "HCI 18.2" }, - { 1591, "HCI 18.2" }, - { 1592, "HCI 18.2" }, - { 1593, "HCI 18.2.1" }, - { 1733, "HCI 18.3" }, - { 1734, "HCI 18.3" }, - { 1735, "HCI 18.3" }, - { 1737, "HCI 18.3" }, - { 1915, "HCI 19.2" }, - { 1916, "HCI 19.2" }, - { 1958, "HCI 19.2" }, - { 1981, "Unified 20a" }, - { 1982, "Unified 20a" }, - { 1989, "HCI 18.4" }, - { 2062, "Unified 20a1" }, - { 2063, "Unified 20a1" }, - { 2067, "Unified 18f" }, - { 2068, "Unified 18f" }, - { 2243, "Unified 18e" }, - { 2244, "Unified 18e" }, - { 2258, "Unified 20d" }, - { 2259, "Unified 20d" }, - { 2361, "Unified 20e" }, - { 2362, "Unified 20e" }, - { 2386, "Unified 21a" }, - { 2387, "Unified 21a" }, - { 2423, "Unified 21a" }, - { 2424, "Unified 21a" }, - { 2623, "Unified 21c" }, - { 2624, "Unified 21c" }, - { 2625, "Unified 21c" }, - { 2626, "Unified 21c" }, - { 2627, "Unified 21c" }, - { 2628, "Unified 21c" }, - { 2629, "Unified 21c" }, - { 2630, "Unified 21c" }, - { 2631, "Unified 21c" }, - { 2632, "Unified 21c" }, - { 2633, "Unified 21c" }, - { 2634, "Unified 21c" }, - { 2635, "Unified 21c" }, - { 2636, "Unified 21c" }, - { 2649, "Unified 21c" }, - { 2650, "Unified 21c" }, - { 2651, "Unified 21c" }, - { 2652, "Unified 21c" }, - { 2653, "Unified 21c" }, - { 2654, "Unified 21c" }, - { 2655, "Unified 21c" }, - { 2656, "Unified 21c" }, - { 2658, "Unified 21c" }, - { 3057, "Unified 21d" }, - { 3058, "Unified 21d" }, - { 3059, "Unified 21d" }, - { 3060, "Unified 21d" }, - { 3062, "Unified 21d" }, - { 3063, "Unified 21d" }, - { 3064, "Unified 21d" }, - { 3164, "Unified 21e" }, - { 3413, "Unified 21f" }, - { 3414, "Unified 21f" }, - { 3415, "Unified 21f" }, - { 3424, "Unified 21f" }, - { 3454, "Unified 21f" }, - { 3684, "Unified 21f" }, - { 3764, "Unified 21f" }, - { 4276, "Unified 22b" }, - { 4277, "Unified 22b" }, - { 4279, "Unified 22b" }, - { 4281, "Unified 22b" }, - { 4282, "Unified 22b" }, - { 4283, "Unified 22b" }, - { 4284, "Unified 22b" }, - { 4285, "Unified 22b" }, - { 4289, "Unified 22b" }, - { 4290, "Unified 22b" }, - { 4291, "Unified 22b" }, - { 4292, "Unified 22b" }, - { 4293, "Unified 22b" }, - { 4294, "Unified 22b" }, - { 4295, "Unified 22b" }, - { 4363, "Unified 22c" }, - { 4373, "Unified 22c" }, - { 4374, "Unified 22c" }, - { 4532, "Unified 22d" }, - { 4533, "Unified 22d" }, - { 4698, "Unified 23c" }, - { 4839, "Unified 23c" }, - { 4841, "Unified 23c" }, - { 4866, "Unified 23c" }, - { 4867, "Unified 23c" }, - { 4868, "Unified 23c" }, - { 4869, "Unified 23c" }, - { 4870, "Unified 23c" }, - { 4871, "Unified 23c" }, - { 4872, "Unified 23c" }, - { 4874, "Unified 23c" }, - { 4875, "Unified 23c" }, - { 4876, "Unified 23c" }, - { 4877, "Unified 23c" }, - { 2526, "Marcel 1 (2005-09-26)" }, - { 2543, "Marcel 2 (2005-09-28)" }, - { 2622, "Marcel 3 (2005-10-27)" }, - { 3326, "Marcel 4 (2006-06-16)" }, - { 3612, "Marcel 5 (2006-10-24)" }, - { 4509, "Marcel 6 (2007-06-11)" }, - { 5417, "Marcel 7 (2008-08-26)" }, - { 195, "Sniff 1 (2001-11-27)" }, - { 220, "Sniff 2 (2002-01-03)" }, - { 269, "Sniff 3 (2002-02-22)" }, - { 270, "Sniff 4 (2002-02-26)" }, - { 284, "Sniff 5 (2002-03-12)" }, - { 292, "Sniff 6 (2002-03-20)" }, - { 305, "Sniff 7 (2002-04-12)" }, - { 306, "Sniff 8 (2002-04-12)" }, - { 343, "Sniff 9 (2002-05-02)" }, - { 346, "Sniff 10 (2002-05-03)" }, - { 355, "Sniff 11 (2002-05-16)" }, - { 256, "Sniff 11 (2002-05-16)" }, - { 390, "Sniff 12 (2002-06-26)" }, - { 450, "Sniff 13 (2002-08-16)" }, - { 451, "Sniff 13 (2002-08-16)" }, - { 533, "Sniff 14 (2002-10-11)" }, - { 580, "Sniff 15 (2002-11-14)" }, - { 623, "Sniff 16 (2002-12-12)" }, - { 678, "Sniff 17 (2003-01-29)" }, - { 847, "Sniff 18 (2003-04-17)" }, - { 876, "Sniff 19 (2003-06-10)" }, - { 997, "Sniff 22 (2003-09-05)" }, - { 1027, "Sniff 23 (2003-10-03)" }, - { 1029, "Sniff 24 (2003-10-03)" }, - { 1112, "Sniff 25 (2003-12-03)" }, - { 1113, "Sniff 25 (2003-12-03)" }, - { 1133, "Sniff 26 (2003-12-18)" }, - { 1134, "Sniff 26 (2003-12-18)" }, - { 1223, "Sniff 27 (2004-03-08)" }, - { 1224, "Sniff 27 (2004-03-08)" }, - { 1319, "Sniff 31 (2004-04-22)" }, - { 1320, "Sniff 31 (2004-04-22)" }, - { 1427, "Sniff 34 (2004-06-16)" }, - { 1508, "Sniff 35 (2004-07-19)" }, - { 1509, "Sniff 35 (2004-07-19)" }, - { 1587, "Sniff 36 (2004-08-18)" }, - { 1588, "Sniff 36 (2004-08-18)" }, - { 1641, "Sniff 37 (2004-09-16)" }, - { 1642, "Sniff 37 (2004-09-16)" }, - { 1699, "Sniff 38 (2004-10-07)" }, - { 1700, "Sniff 38 (2004-10-07)" }, - { 1752, "Sniff 39 (2004-11-02)" }, - { 1753, "Sniff 39 (2004-11-02)" }, - { 1759, "Sniff 40 (2004-11-03)" }, - { 1760, "Sniff 40 (2004-11-03)" }, - { 1761, "Sniff 40 (2004-11-03)" }, - { 2009, "Sniff 41 (2005-04-06)" }, - { 2010, "Sniff 41 (2005-04-06)" }, - { 2011, "Sniff 41 (2005-04-06)" }, - { 2016, "Sniff 42 (2005-04-11)" }, - { 2017, "Sniff 42 (2005-04-11)" }, - { 2018, "Sniff 42 (2005-04-11)" }, - { 2023, "Sniff 43 (2005-04-14)" }, - { 2024, "Sniff 43 (2005-04-14)" }, - { 2025, "Sniff 43 (2005-04-14)" }, - { 2032, "Sniff 44 (2005-04-18)" }, - { 2033, "Sniff 44 (2005-04-18)" }, - { 2034, "Sniff 44 (2005-04-18)" }, - { 2288, "Sniff 45 (2005-07-08)" }, - { 2289, "Sniff 45 (2005-07-08)" }, - { 2290, "Sniff 45 (2005-07-08)" }, - { 2388, "Sniff 46 (2005-08-17)" }, - { 2389, "Sniff 46 (2005-08-17)" }, - { 2390, "Sniff 46 (2005-08-17)" }, - { 2869, "Sniff 47 (2006-02-15)" }, - { 2870, "Sniff 47 (2006-02-15)" }, - { 2871, "Sniff 47 (2006-02-15)" }, - { 3214, "Sniff 48 (2006-05-16)" }, - { 3215, "Sniff 48 (2006-05-16)" }, - { 3216, "Sniff 48 (2006-05-16)" }, - { 3356, "Sniff 49 (2006-07-17)" }, - { 3529, "Sniff 50 (2006-09-21)" }, - { 3546, "Sniff 51 (2006-09-29)" }, - { 3683, "Sniff 52 (2006-11-03)" }, - { 0, } -}; - -char *csr_builddeftostr(uint16_t def) -{ - switch (def) { - case 0x0000: - return "NONE"; - case 0x0001: - return "CHIP_BASE_BC01"; - case 0x0002: - return "CHIP_BASE_BC02"; - case 0x0003: - return "CHIP_BC01B"; - case 0x0004: - return "CHIP_BC02_EXTERNAL"; - case 0x0005: - return "BUILD_HCI"; - case 0x0006: - return "BUILD_RFCOMM"; - case 0x0007: - return "BT_VER_1_1"; - case 0x0008: - return "TRANSPORT_ALL"; - case 0x0009: - return "TRANSPORT_BCSP"; - case 0x000a: - return "TRANSPORT_H4"; - case 0x000b: - return "TRANSPORT_USB"; - case 0x000c: - return "MAX_CRYPT_KEY_LEN_56"; - case 0x000d: - return "MAX_CRYPT_KEY_LEN_128"; - case 0x000e: - return "TRANSPORT_USER"; - case 0x000f: - return "CHIP_BC02_KATO"; - case 0x0010: - return "TRANSPORT_NONE"; - case 0x0012: - return "REQUIRE_8MBIT"; - case 0x0013: - return "RADIOTEST"; - case 0x0014: - return "RADIOTEST_LITE"; - case 0x0015: - return "INSTALL_FLASH"; - case 0x0016: - return "INSTALL_EEPROM"; - case 0x0017: - return "INSTALL_COMBO_DOT11"; - case 0x0018: - return "LOWPOWER_TX"; - case 0x0019: - return "TRANSPORT_TWUTL"; - case 0x001a: - return "COMPILER_GCC"; - case 0x001b: - return "CHIP_BC02_CLOUSEAU"; - case 0x001c: - return "CHIP_BC02_TOULOUSE"; - case 0x001d: - return "CHIP_BASE_BC3"; - case 0x001e: - return "CHIP_BC3_NICKNACK"; - case 0x001f: - return "CHIP_BC3_KALIMBA"; - case 0x0020: - return "INSTALL_HCI_MODULE"; - case 0x0021: - return "INSTALL_L2CAP_MODULE"; - case 0x0022: - return "INSTALL_DM_MODULE"; - case 0x0023: - return "INSTALL_SDP_MODULE"; - case 0x0024: - return "INSTALL_RFCOMM_MODULE"; - case 0x0025: - return "INSTALL_HIDIO_MODULE"; - case 0x0026: - return "INSTALL_PAN_MODULE"; - case 0x0027: - return "INSTALL_IPV4_MODULE"; - case 0x0028: - return "INSTALL_IPV6_MODULE"; - case 0x0029: - return "INSTALL_TCP_MODULE"; - case 0x002a: - return "BT_VER_1_2"; - case 0x002b: - return "INSTALL_UDP_MODULE"; - case 0x002c: - return "REQUIRE_0_WAIT_STATES"; - case 0x002d: - return "CHIP_BC3_PADDYWACK"; - case 0x002e: - return "CHIP_BC4_COYOTE"; - case 0x002f: - return "CHIP_BC4_ODDJOB"; - case 0x0030: - return "TRANSPORT_H4DS"; - case 0x0031: - return "CHIP_BASE_BC4"; - default: - return "UNKNOWN"; - } -} - -char *csr_buildidtostr(uint16_t id) -{ - static char str[12]; - int i; - - for (i = 0; csr_map[i].id; i++) - if (csr_map[i].id == id) - return csr_map[i].str; - - snprintf(str, 11, "Build %d", id); - return str; -} - -char *csr_chipvertostr(uint16_t ver, uint16_t rev) -{ - switch (ver) { - case 0x00: - return "BlueCore01a"; - case 0x01: - switch (rev) { - case 0x64: - return "BlueCore01b (ES)"; - case 0x65: - default: - return "BlueCore01b"; - } - case 0x02: - switch (rev) { - case 0x89: - return "BlueCore02-External (ES2)"; - case 0x8a: - return "BlueCore02-External"; - case 0x28: - return "BlueCore02-ROM/Audio/Flash"; - default: - return "BlueCore02"; - } - case 0x03: - switch (rev) { - case 0x43: - return "BlueCore3-MM"; - case 0x15: - return "BlueCore3-ROM"; - case 0xe2: - return "BlueCore3-Flash"; - case 0x26: - return "BlueCore4-External"; - case 0x30: - return "BlueCore4-ROM"; - default: - return "BlueCore3 or BlueCore4"; - } - default: - return "Unknown"; - } -} - -char *csr_pskeytostr(uint16_t pskey) -{ - switch (pskey) { - case CSR_PSKEY_BDADDR: - return "Bluetooth address"; - case CSR_PSKEY_COUNTRYCODE: - return "Country code"; - case CSR_PSKEY_CLASSOFDEVICE: - return "Class of device"; - case CSR_PSKEY_DEVICE_DRIFT: - return "Device drift"; - case CSR_PSKEY_DEVICE_JITTER: - return "Device jitter"; - case CSR_PSKEY_MAX_ACLS: - return "Maximum ACL links"; - case CSR_PSKEY_MAX_SCOS: - return "Maximum SCO links"; - case CSR_PSKEY_MAX_REMOTE_MASTERS: - return "Maximum remote masters"; - case CSR_PSKEY_ENABLE_MASTERY_WITH_SLAVERY: - return "Support master and slave roles simultaneously"; - case CSR_PSKEY_H_HC_FC_MAX_ACL_PKT_LEN: - return "Maximum HCI ACL packet length"; - case CSR_PSKEY_H_HC_FC_MAX_SCO_PKT_LEN: - return "Maximum HCI SCO packet length"; - case CSR_PSKEY_H_HC_FC_MAX_ACL_PKTS: - return "Maximum number of HCI ACL packets"; - case CSR_PSKEY_H_HC_FC_MAX_SCO_PKTS: - return "Maximum number of HCI SCO packets"; - case CSR_PSKEY_LC_FC_BUFFER_LOW_WATER_MARK: - return "Flow control low water mark"; - case CSR_PSKEY_LC_MAX_TX_POWER: - return "Maximum transmit power"; - case CSR_PSKEY_TX_GAIN_RAMP: - return "Transmit gain ramp rate"; - case CSR_PSKEY_LC_POWER_TABLE: - return "Radio power table"; - case CSR_PSKEY_LC_PEER_POWER_PERIOD: - return "Peer transmit power control interval"; - case CSR_PSKEY_LC_FC_POOLS_LOW_WATER_MARK: - return "Flow control pool low water mark"; - case CSR_PSKEY_LC_DEFAULT_TX_POWER: - return "Default transmit power"; - case CSR_PSKEY_LC_RSSI_GOLDEN_RANGE: - return "RSSI at bottom of golden receive range"; - case CSR_PSKEY_LC_COMBO_DISABLE_PIO_MASK: - return "Combo: PIO lines and logic to disable transmit"; - case CSR_PSKEY_LC_COMBO_PRIORITY_PIO_MASK: - return "Combo: priority activity PIO lines and logic"; - case CSR_PSKEY_LC_COMBO_DOT11_CHANNEL_PIO_BASE: - return "Combo: 802.11b channel number base PIO line"; - case CSR_PSKEY_LC_COMBO_DOT11_BLOCK_CHANNELS: - return "Combo: channels to block either side of 802.11b"; - case CSR_PSKEY_LC_MAX_TX_POWER_NO_RSSI: - return "Maximum transmit power when peer has no RSSI"; - case CSR_PSKEY_LC_CONNECTION_RX_WINDOW: - return "Receive window size during connections"; - case CSR_PSKEY_LC_COMBO_DOT11_TX_PROTECTION_MODE: - return "Combo: which TX packets shall we protect"; - case CSR_PSKEY_LC_ENHANCED_POWER_TABLE: - return "Radio power table"; - case CSR_PSKEY_LC_WIDEBAND_RSSI_CONFIG: - return "RSSI configuration for use with wideband RSSI"; - case CSR_PSKEY_LC_COMBO_DOT11_PRIORITY_LEAD: - return "Combo: How much notice will we give the Combo Card"; - case CSR_PSKEY_BT_CLOCK_INIT: - return "Initial value of Bluetooth clock"; - case CSR_PSKEY_TX_MR_MOD_DELAY: - return "TX Mod delay"; - case CSR_PSKEY_RX_MR_SYNC_TIMING: - return "RX MR Sync Timing"; - case CSR_PSKEY_RX_MR_SYNC_CONFIG: - return "RX MR Sync Configuration"; - case CSR_PSKEY_LC_LOST_SYNC_SLOTS: - return "Time in ms for lost sync in low power modes"; - case CSR_PSKEY_RX_MR_SAMP_CONFIG: - return "RX MR Sync Configuration"; - case CSR_PSKEY_AGC_HYST_LEVELS: - return "AGC hysteresis levels"; - case CSR_PSKEY_RX_LEVEL_LOW_SIGNAL: - return "ANA_RX_LVL at low signal strengths"; - case CSR_PSKEY_AGC_IQ_LVL_VALUES: - return "ANA_IQ_LVL values for AGC algorithmn"; - case CSR_PSKEY_MR_FTRIM_OFFSET_12DB: - return "ANA_RX_FTRIM offset when using 12 dB IF atten "; - case CSR_PSKEY_MR_FTRIM_OFFSET_6DB: - return "ANA_RX_FTRIM offset when using 6 dB IF atten "; - case CSR_PSKEY_NO_CAL_ON_BOOT: - return "Do not calibrate radio on boot"; - case CSR_PSKEY_RSSI_HI_TARGET: - return "RSSI high target"; - case CSR_PSKEY_PREFERRED_MIN_ATTENUATION: - return "Preferred minimum attenuator setting"; - case CSR_PSKEY_LC_COMBO_DOT11_PRIORITY_OVERRIDE: - return "Combo: Treat all packets as high priority"; - case CSR_PSKEY_LC_MULTISLOT_HOLDOFF: - return "Time till single slot packets are used for resync"; - case CSR_PSKEY_FREE_KEY_PIGEON_HOLE: - return "Link key store bitfield"; - case CSR_PSKEY_LINK_KEY_BD_ADDR0: - return "Bluetooth address + link key 0"; - case CSR_PSKEY_LINK_KEY_BD_ADDR1: - return "Bluetooth address + link key 1"; - case CSR_PSKEY_LINK_KEY_BD_ADDR2: - return "Bluetooth address + link key 2"; - case CSR_PSKEY_LINK_KEY_BD_ADDR3: - return "Bluetooth address + link key 3"; - case CSR_PSKEY_LINK_KEY_BD_ADDR4: - return "Bluetooth address + link key 4"; - case CSR_PSKEY_LINK_KEY_BD_ADDR5: - return "Bluetooth address + link key 5"; - case CSR_PSKEY_LINK_KEY_BD_ADDR6: - return "Bluetooth address + link key 6"; - case CSR_PSKEY_LINK_KEY_BD_ADDR7: - return "Bluetooth address + link key 7"; - case CSR_PSKEY_LINK_KEY_BD_ADDR8: - return "Bluetooth address + link key 8"; - case CSR_PSKEY_LINK_KEY_BD_ADDR9: - return "Bluetooth address + link key 9"; - case CSR_PSKEY_LINK_KEY_BD_ADDR10: - return "Bluetooth address + link key 10"; - case CSR_PSKEY_LINK_KEY_BD_ADDR11: - return "Bluetooth address + link key 11"; - case CSR_PSKEY_LINK_KEY_BD_ADDR12: - return "Bluetooth address + link key 12"; - case CSR_PSKEY_LINK_KEY_BD_ADDR13: - return "Bluetooth address + link key 13"; - case CSR_PSKEY_LINK_KEY_BD_ADDR14: - return "Bluetooth address + link key 14"; - case CSR_PSKEY_LINK_KEY_BD_ADDR15: - return "Bluetooth address + link key 15"; - case CSR_PSKEY_ENC_KEY_LMIN: - return "Minimum encryption key length"; - case CSR_PSKEY_ENC_KEY_LMAX: - return "Maximum encryption key length"; - case CSR_PSKEY_LOCAL_SUPPORTED_FEATURES: - return "Local supported features block"; - case CSR_PSKEY_LM_USE_UNIT_KEY: - return "Allow use of unit key for authentication?"; - case CSR_PSKEY_HCI_NOP_DISABLE: - return "Disable the HCI Command_Status event on boot"; - case CSR_PSKEY_LM_MAX_EVENT_FILTERS: - return "Maximum number of event filters"; - case CSR_PSKEY_LM_USE_ENC_MODE_BROADCAST: - return "Allow LM to use enc_mode=2"; - case CSR_PSKEY_LM_TEST_SEND_ACCEPTED_TWICE: - return "LM sends two LMP_accepted messages in test mode"; - case CSR_PSKEY_LM_MAX_PAGE_HOLD_TIME: - return "Maximum time we hold a device around page"; - case CSR_PSKEY_AFH_ADAPTATION_RESPONSE_TIME: - return "LM period for AFH adaption"; - case CSR_PSKEY_AFH_OPTIONS: - return "Options to configure AFH"; - case CSR_PSKEY_AFH_RSSI_RUN_PERIOD: - return "AFH RSSI reading period"; - case CSR_PSKEY_AFH_REENABLE_CHANNEL_TIME: - return "AFH good channel adding time"; - case CSR_PSKEY_NO_DROP_ON_ACR_MS_FAIL: - return "Complete link if acr barge-in role switch refused"; - case CSR_PSKEY_MAX_PRIVATE_KEYS: - return "Max private link keys stored"; - case CSR_PSKEY_PRIVATE_LINK_KEY_BD_ADDR0: - return "Bluetooth address + link key 0"; - case CSR_PSKEY_PRIVATE_LINK_KEY_BD_ADDR1: - return "Bluetooth address + link key 1"; - case CSR_PSKEY_PRIVATE_LINK_KEY_BD_ADDR2: - return "Bluetooth address + link key 2"; - case CSR_PSKEY_PRIVATE_LINK_KEY_BD_ADDR3: - return "Bluetooth address + link key 3"; - case CSR_PSKEY_PRIVATE_LINK_KEY_BD_ADDR4: - return "Bluetooth address + link key 4"; - case CSR_PSKEY_PRIVATE_LINK_KEY_BD_ADDR5: - return "Bluetooth address + link key 5"; - case CSR_PSKEY_PRIVATE_LINK_KEY_BD_ADDR6: - return "Bluetooth address + link key 6"; - case CSR_PSKEY_PRIVATE_LINK_KEY_BD_ADDR7: - return "Bluetooth address + link key 7"; - case CSR_PSKEY_LOCAL_SUPPORTED_COMMANDS: - return "Local supported commands"; - case CSR_PSKEY_LM_MAX_ABSENCE_INDEX: - return "Maximum absence index allowed"; - case CSR_PSKEY_DEVICE_NAME: - return "Local device's \"user friendly\" name"; - case CSR_PSKEY_AFH_RSSI_THRESHOLD: - return "AFH RSSI threshold"; - case CSR_PSKEY_LM_CASUAL_SCAN_INTERVAL: - return "Scan interval in slots for casual scanning"; - case CSR_PSKEY_AFH_MIN_MAP_CHANGE: - return "The minimum amount to change an AFH map by"; - case CSR_PSKEY_AFH_RSSI_LP_RUN_PERIOD: - return "AFH RSSI reading period when in low power mode"; - case CSR_PSKEY_HCI_LMP_LOCAL_VERSION: - return "The HCI and LMP version reported locally"; - case CSR_PSKEY_LMP_REMOTE_VERSION: - return "The LMP version reported remotely"; - case CSR_PSKEY_HOLD_ERROR_MESSAGE_NUMBER: - return "Maximum number of queued HCI Hardware Error Events"; - case CSR_PSKEY_DFU_ATTRIBUTES: - return "DFU attributes"; - case CSR_PSKEY_DFU_DETACH_TO: - return "DFU detach timeout"; - case CSR_PSKEY_DFU_TRANSFER_SIZE: - return "DFU transfer size"; - case CSR_PSKEY_DFU_ENABLE: - return "DFU enable"; - case CSR_PSKEY_DFU_LIN_REG_ENABLE: - return "Linear Regulator enabled at boot in DFU mode"; - case CSR_PSKEY_DFUENC_VMAPP_PK_MODULUS_MSB: - return "DFU encryption VM application public key MSB"; - case CSR_PSKEY_DFUENC_VMAPP_PK_MODULUS_LSB: - return "DFU encryption VM application public key LSB"; - case CSR_PSKEY_DFUENC_VMAPP_PK_M_DASH: - return "DFU encryption VM application M dash"; - case CSR_PSKEY_DFUENC_VMAPP_PK_R2N_MSB: - return "DFU encryption VM application public key R2N MSB"; - case CSR_PSKEY_DFUENC_VMAPP_PK_R2N_LSB: - return "DFU encryption VM application public key R2N LSB"; - case CSR_PSKEY_BCSP_LM_PS_BLOCK: - return "BCSP link establishment block"; - case CSR_PSKEY_HOSTIO_FC_PS_BLOCK: - return "HCI flow control block"; - case CSR_PSKEY_HOSTIO_PROTOCOL_INFO0: - return "Host transport channel 0 settings (BCSP ACK)"; - case CSR_PSKEY_HOSTIO_PROTOCOL_INFO1: - return "Host transport channel 1 settings (BCSP-LE)"; - case CSR_PSKEY_HOSTIO_PROTOCOL_INFO2: - return "Host transport channel 2 settings (BCCMD)"; - case CSR_PSKEY_HOSTIO_PROTOCOL_INFO3: - return "Host transport channel 3 settings (HQ)"; - case CSR_PSKEY_HOSTIO_PROTOCOL_INFO4: - return "Host transport channel 4 settings (DM)"; - case CSR_PSKEY_HOSTIO_PROTOCOL_INFO5: - return "Host transport channel 5 settings (HCI CMD/EVT)"; - case CSR_PSKEY_HOSTIO_PROTOCOL_INFO6: - return "Host transport channel 6 settings (HCI ACL)"; - case CSR_PSKEY_HOSTIO_PROTOCOL_INFO7: - return "Host transport channel 7 settings (HCI SCO)"; - case CSR_PSKEY_HOSTIO_PROTOCOL_INFO8: - return "Host transport channel 8 settings (L2CAP)"; - case CSR_PSKEY_HOSTIO_PROTOCOL_INFO9: - return "Host transport channel 9 settings (RFCOMM)"; - case CSR_PSKEY_HOSTIO_PROTOCOL_INFO10: - return "Host transport channel 10 settings (SDP)"; - case CSR_PSKEY_HOSTIO_PROTOCOL_INFO11: - return "Host transport channel 11 settings (TEST)"; - case CSR_PSKEY_HOSTIO_PROTOCOL_INFO12: - return "Host transport channel 12 settings (DFU)"; - case CSR_PSKEY_HOSTIO_PROTOCOL_INFO13: - return "Host transport channel 13 settings (VM)"; - case CSR_PSKEY_HOSTIO_PROTOCOL_INFO14: - return "Host transport channel 14 settings"; - case CSR_PSKEY_HOSTIO_PROTOCOL_INFO15: - return "Host transport channel 15 settings"; - case CSR_PSKEY_HOSTIO_UART_RESET_TIMEOUT: - return "UART reset counter timeout"; - case CSR_PSKEY_HOSTIO_USE_HCI_EXTN: - return "Use hci_extn to route non-hci channels"; - case CSR_PSKEY_HOSTIO_USE_HCI_EXTN_CCFC: - return "Use command-complete flow control for hci_extn"; - case CSR_PSKEY_HOSTIO_HCI_EXTN_PAYLOAD_SIZE: - return "Maximum hci_extn payload size"; - case CSR_PSKEY_BCSP_LM_CNF_CNT_LIMIT: - return "BCSP link establishment conf message count"; - case CSR_PSKEY_HOSTIO_MAP_SCO_PCM: - return "Map SCO over PCM"; - case CSR_PSKEY_HOSTIO_AWKWARD_PCM_SYNC: - return "PCM interface synchronisation is difficult"; - case CSR_PSKEY_HOSTIO_BREAK_POLL_PERIOD: - return "Break poll period (microseconds)"; - case CSR_PSKEY_HOSTIO_MIN_UART_HCI_SCO_SIZE: - return "Minimum SCO packet size sent to host over UART HCI"; - case CSR_PSKEY_HOSTIO_MAP_SCO_CODEC: - return "Map SCO over the built-in codec"; - case CSR_PSKEY_PCM_CVSD_TX_HI_FREQ_BOOST: - return "High frequency boost for PCM when transmitting CVSD"; - case CSR_PSKEY_PCM_CVSD_RX_HI_FREQ_BOOST: - return "High frequency boost for PCM when receiving CVSD"; - case CSR_PSKEY_PCM_CONFIG32: - return "PCM interface settings bitfields"; - case CSR_PSKEY_USE_OLD_BCSP_LE: - return "Use the old version of BCSP link establishment"; - case CSR_PSKEY_PCM_CVSD_USE_NEW_FILTER: - return "CVSD uses the new filter if available"; - case CSR_PSKEY_PCM_FORMAT: - return "PCM data format"; - case CSR_PSKEY_CODEC_OUT_GAIN: - return "Audio output gain when using built-in codec"; - case CSR_PSKEY_CODEC_IN_GAIN: - return "Audio input gain when using built-in codec"; - case CSR_PSKEY_CODEC_PIO: - return "PIO to enable when built-in codec is enabled"; - case CSR_PSKEY_PCM_LOW_JITTER_CONFIG: - return "PCM interface settings for low jitter master mode"; - case CSR_PSKEY_HOSTIO_SCO_PCM_THRESHOLDS: - return "Thresholds for SCO PCM buffers"; - case CSR_PSKEY_HOSTIO_SCO_HCI_THRESHOLDS: - return "Thresholds for SCO HCI buffers"; - case CSR_PSKEY_HOSTIO_MAP_SCO_PCM_SLOT: - return "Route SCO data to specified slot in pcm frame"; - case CSR_PSKEY_UART_BAUDRATE: - return "UART Baud rate"; - case CSR_PSKEY_UART_CONFIG_BCSP: - return "UART configuration when using BCSP"; - case CSR_PSKEY_UART_CONFIG_H4: - return "UART configuration when using H4"; - case CSR_PSKEY_UART_CONFIG_H5: - return "UART configuration when using H5"; - case CSR_PSKEY_UART_CONFIG_USR: - return "UART configuration when under VM control"; - case CSR_PSKEY_UART_TX_CRCS: - return "Use CRCs for BCSP or H5"; - case CSR_PSKEY_UART_ACK_TIMEOUT: - return "Acknowledgement timeout for BCSP and H5"; - case CSR_PSKEY_UART_TX_MAX_ATTEMPTS: - return "Max times to send reliable BCSP or H5 message"; - case CSR_PSKEY_UART_TX_WINDOW_SIZE: - return "Transmit window size for BCSP and H5"; - case CSR_PSKEY_UART_HOST_WAKE: - return "UART host wakeup"; - case CSR_PSKEY_HOSTIO_THROTTLE_TIMEOUT: - return "Host interface performance control."; - case CSR_PSKEY_PCM_ALWAYS_ENABLE: - return "PCM port is always enable when chip is running"; - case CSR_PSKEY_UART_HOST_WAKE_SIGNAL: - return "Signal to use for uart host wakeup protocol"; - case CSR_PSKEY_UART_CONFIG_H4DS: - return "UART configuration when using H4DS"; - case CSR_PSKEY_H4DS_WAKE_DURATION: - return "How long to spend waking the host when using H4DS"; - case CSR_PSKEY_H4DS_MAXWU: - return "Maximum number of H4DS Wake-Up messages to send"; - case CSR_PSKEY_H4DS_LE_TIMER_PERIOD: - return "H4DS Link Establishment Tsync and Tconf period"; - case CSR_PSKEY_H4DS_TWU_TIMER_PERIOD: - return "H4DS Twu timer period"; - case CSR_PSKEY_H4DS_UART_IDLE_TIMER_PERIOD: - return "H4DS Tuart_idle timer period"; - case CSR_PSKEY_ANA_FTRIM: - return "Crystal frequency trim"; - case CSR_PSKEY_WD_TIMEOUT: - return "Watchdog timeout (microseconds)"; - case CSR_PSKEY_WD_PERIOD: - return "Watchdog period (microseconds)"; - case CSR_PSKEY_HOST_INTERFACE: - return "Host interface"; - case CSR_PSKEY_HQ_HOST_TIMEOUT: - return "HQ host command timeout"; - case CSR_PSKEY_HQ_ACTIVE: - return "Enable host query task?"; - case CSR_PSKEY_BCCMD_SECURITY_ACTIVE: - return "Enable configuration security"; - case CSR_PSKEY_ANA_FREQ: - return "Crystal frequency"; - case CSR_PSKEY_PIO_PROTECT_MASK: - return "Access to PIO pins"; - case CSR_PSKEY_PMALLOC_SIZES: - return "pmalloc sizes array"; - case CSR_PSKEY_UART_BAUD_RATE: - return "UART Baud rate (pre 18)"; - case CSR_PSKEY_UART_CONFIG: - return "UART configuration bitfield"; - case CSR_PSKEY_STUB: - return "Stub"; - case CSR_PSKEY_TXRX_PIO_CONTROL: - return "TX and RX PIO control"; - case CSR_PSKEY_ANA_RX_LEVEL: - return "ANA_RX_LVL register initial value"; - case CSR_PSKEY_ANA_RX_FTRIM: - return "ANA_RX_FTRIM register initial value"; - case CSR_PSKEY_PSBC_DATA_VERSION: - return "Persistent store version"; - case CSR_PSKEY_PCM0_ATTENUATION: - return "Volume control on PCM channel 0"; - case CSR_PSKEY_LO_LVL_MAX: - return "Maximum value of LO level control register"; - case CSR_PSKEY_LO_ADC_AMPL_MIN: - return "Minimum value of the LO amplitude measured on the ADC"; - case CSR_PSKEY_LO_ADC_AMPL_MAX: - return "Maximum value of the LO amplitude measured on the ADC"; - case CSR_PSKEY_IQ_TRIM_CHANNEL: - return "IQ calibration channel"; - case CSR_PSKEY_IQ_TRIM_GAIN: - return "IQ calibration gain"; - case CSR_PSKEY_IQ_TRIM_ENABLE: - return "IQ calibration enable"; - case CSR_PSKEY_TX_OFFSET_HALF_MHZ: - return "Transmit offset"; - case CSR_PSKEY_GBL_MISC_ENABLES: - return "Global miscellaneous hardware enables"; - case CSR_PSKEY_UART_SLEEP_TIMEOUT: - return "Time in ms to deep sleep if nothing received"; - case CSR_PSKEY_DEEP_SLEEP_STATE: - return "Deep sleep state usage"; - case CSR_PSKEY_IQ_ENABLE_PHASE_TRIM: - return "IQ phase enable"; - case CSR_PSKEY_HCI_HANDLE_FREEZE_PERIOD: - return "Time for which HCI handle is frozen after link removal"; - case CSR_PSKEY_MAX_FROZEN_HCI_HANDLES: - return "Maximum number of frozen HCI handles"; - case CSR_PSKEY_PAGETABLE_DESTRUCTION_DELAY: - return "Delay from freezing buf handle to deleting page table"; - case CSR_PSKEY_IQ_TRIM_PIO_SETTINGS: - return "IQ PIO settings"; - case CSR_PSKEY_USE_EXTERNAL_CLOCK: - return "Device uses an external clock"; - case CSR_PSKEY_DEEP_SLEEP_WAKE_CTS: - return "Exit deep sleep on CTS line activity"; - case CSR_PSKEY_FC_HC2H_FLUSH_DELAY: - return "Delay from disconnect to flushing HC->H FC tokens"; - case CSR_PSKEY_RX_HIGHSIDE: - return "Disable the HIGHSIDE bit in ANA_CONFIG"; - case CSR_PSKEY_TX_PRE_LVL: - return "TX pre-amplifier level"; - case CSR_PSKEY_RX_SINGLE_ENDED: - return "RX single ended"; - case CSR_PSKEY_TX_FILTER_CONFIG: - return "TX filter configuration"; - case CSR_PSKEY_CLOCK_REQUEST_ENABLE: - return "External clock request enable"; - case CSR_PSKEY_RX_MIN_ATTEN: - return "Minimum attenuation allowed for receiver"; - case CSR_PSKEY_XTAL_TARGET_AMPLITUDE: - return "Crystal target amplitude"; - case CSR_PSKEY_PCM_MIN_CPU_CLOCK: - return "Minimum CPU clock speed with PCM port running"; - case CSR_PSKEY_HOST_INTERFACE_PIO_USB: - return "USB host interface selection PIO line"; - case CSR_PSKEY_CPU_IDLE_MODE: - return "CPU idle mode when radio is active"; - case CSR_PSKEY_DEEP_SLEEP_CLEAR_RTS: - return "Deep sleep clears the UART RTS line"; - case CSR_PSKEY_RF_RESONANCE_TRIM: - return "Frequency trim for IQ and LNA resonant circuits"; - case CSR_PSKEY_DEEP_SLEEP_PIO_WAKE: - return "PIO line to wake the chip from deep sleep"; - case CSR_PSKEY_DRAIN_BORE_TIMERS: - return "Energy consumption measurement settings"; - case CSR_PSKEY_DRAIN_TX_POWER_BASE: - return "Energy consumption measurement settings"; - case CSR_PSKEY_MODULE_ID: - return "Module serial number"; - case CSR_PSKEY_MODULE_DESIGN: - return "Module design ID"; - case CSR_PSKEY_MODULE_SECURITY_CODE: - return "Module security code"; - case CSR_PSKEY_VM_DISABLE: - return "VM disable"; - case CSR_PSKEY_MOD_MANUF0: - return "Module manufactuer data 0"; - case CSR_PSKEY_MOD_MANUF1: - return "Module manufactuer data 1"; - case CSR_PSKEY_MOD_MANUF2: - return "Module manufactuer data 2"; - case CSR_PSKEY_MOD_MANUF3: - return "Module manufactuer data 3"; - case CSR_PSKEY_MOD_MANUF4: - return "Module manufactuer data 4"; - case CSR_PSKEY_MOD_MANUF5: - return "Module manufactuer data 5"; - case CSR_PSKEY_MOD_MANUF6: - return "Module manufactuer data 6"; - case CSR_PSKEY_MOD_MANUF7: - return "Module manufactuer data 7"; - case CSR_PSKEY_MOD_MANUF8: - return "Module manufactuer data 8"; - case CSR_PSKEY_MOD_MANUF9: - return "Module manufactuer data 9"; - case CSR_PSKEY_DUT_VM_DISABLE: - return "VM disable when entering radiotest modes"; - case CSR_PSKEY_USR0: - return "User configuration data 0"; - case CSR_PSKEY_USR1: - return "User configuration data 1"; - case CSR_PSKEY_USR2: - return "User configuration data 2"; - case CSR_PSKEY_USR3: - return "User configuration data 3"; - case CSR_PSKEY_USR4: - return "User configuration data 4"; - case CSR_PSKEY_USR5: - return "User configuration data 5"; - case CSR_PSKEY_USR6: - return "User configuration data 6"; - case CSR_PSKEY_USR7: - return "User configuration data 7"; - case CSR_PSKEY_USR8: - return "User configuration data 8"; - case CSR_PSKEY_USR9: - return "User configuration data 9"; - case CSR_PSKEY_USR10: - return "User configuration data 10"; - case CSR_PSKEY_USR11: - return "User configuration data 11"; - case CSR_PSKEY_USR12: - return "User configuration data 12"; - case CSR_PSKEY_USR13: - return "User configuration data 13"; - case CSR_PSKEY_USR14: - return "User configuration data 14"; - case CSR_PSKEY_USR15: - return "User configuration data 15"; - case CSR_PSKEY_USR16: - return "User configuration data 16"; - case CSR_PSKEY_USR17: - return "User configuration data 17"; - case CSR_PSKEY_USR18: - return "User configuration data 18"; - case CSR_PSKEY_USR19: - return "User configuration data 19"; - case CSR_PSKEY_USR20: - return "User configuration data 20"; - case CSR_PSKEY_USR21: - return "User configuration data 21"; - case CSR_PSKEY_USR22: - return "User configuration data 22"; - case CSR_PSKEY_USR23: - return "User configuration data 23"; - case CSR_PSKEY_USR24: - return "User configuration data 24"; - case CSR_PSKEY_USR25: - return "User configuration data 25"; - case CSR_PSKEY_USR26: - return "User configuration data 26"; - case CSR_PSKEY_USR27: - return "User configuration data 27"; - case CSR_PSKEY_USR28: - return "User configuration data 28"; - case CSR_PSKEY_USR29: - return "User configuration data 29"; - case CSR_PSKEY_USR30: - return "User configuration data 30"; - case CSR_PSKEY_USR31: - return "User configuration data 31"; - case CSR_PSKEY_USR32: - return "User configuration data 32"; - case CSR_PSKEY_USR33: - return "User configuration data 33"; - case CSR_PSKEY_USR34: - return "User configuration data 34"; - case CSR_PSKEY_USR35: - return "User configuration data 35"; - case CSR_PSKEY_USR36: - return "User configuration data 36"; - case CSR_PSKEY_USR37: - return "User configuration data 37"; - case CSR_PSKEY_USR38: - return "User configuration data 38"; - case CSR_PSKEY_USR39: - return "User configuration data 39"; - case CSR_PSKEY_USR40: - return "User configuration data 40"; - case CSR_PSKEY_USR41: - return "User configuration data 41"; - case CSR_PSKEY_USR42: - return "User configuration data 42"; - case CSR_PSKEY_USR43: - return "User configuration data 43"; - case CSR_PSKEY_USR44: - return "User configuration data 44"; - case CSR_PSKEY_USR45: - return "User configuration data 45"; - case CSR_PSKEY_USR46: - return "User configuration data 46"; - case CSR_PSKEY_USR47: - return "User configuration data 47"; - case CSR_PSKEY_USR48: - return "User configuration data 48"; - case CSR_PSKEY_USR49: - return "User configuration data 49"; - case CSR_PSKEY_USB_VERSION: - return "USB specification version number"; - case CSR_PSKEY_USB_DEVICE_CLASS_CODES: - return "USB device class codes"; - case CSR_PSKEY_USB_VENDOR_ID: - return "USB vendor identifier"; - case CSR_PSKEY_USB_PRODUCT_ID: - return "USB product identifier"; - case CSR_PSKEY_USB_MANUF_STRING: - return "USB manufacturer string"; - case CSR_PSKEY_USB_PRODUCT_STRING: - return "USB product string"; - case CSR_PSKEY_USB_SERIAL_NUMBER_STRING: - return "USB serial number string"; - case CSR_PSKEY_USB_CONFIG_STRING: - return "USB configuration string"; - case CSR_PSKEY_USB_ATTRIBUTES: - return "USB attributes bitmap"; - case CSR_PSKEY_USB_MAX_POWER: - return "USB device maximum power consumption"; - case CSR_PSKEY_USB_BT_IF_CLASS_CODES: - return "USB Bluetooth interface class codes"; - case CSR_PSKEY_USB_LANGID: - return "USB language strings supported"; - case CSR_PSKEY_USB_DFU_CLASS_CODES: - return "USB DFU class codes block"; - case CSR_PSKEY_USB_DFU_PRODUCT_ID: - return "USB DFU product ID"; - case CSR_PSKEY_USB_PIO_DETACH: - return "USB detach/attach PIO line"; - case CSR_PSKEY_USB_PIO_WAKEUP: - return "USB wakeup PIO line"; - case CSR_PSKEY_USB_PIO_PULLUP: - return "USB D+ pullup PIO line"; - case CSR_PSKEY_USB_PIO_VBUS: - return "USB VBus detection PIO Line"; - case CSR_PSKEY_USB_PIO_WAKE_TIMEOUT: - return "Timeout for assertion of USB PIO wake signal"; - case CSR_PSKEY_USB_PIO_RESUME: - return "PIO signal used in place of bus resume"; - case CSR_PSKEY_USB_BT_SCO_IF_CLASS_CODES: - return "USB Bluetooth SCO interface class codes"; - case CSR_PSKEY_USB_SUSPEND_PIO_LEVEL: - return "USB PIO levels to set when suspended"; - case CSR_PSKEY_USB_SUSPEND_PIO_DIR: - return "USB PIO I/O directions to set when suspended"; - case CSR_PSKEY_USB_SUSPEND_PIO_MASK: - return "USB PIO lines to be set forcibly in suspend"; - case CSR_PSKEY_USB_ENDPOINT_0_MAX_PACKET_SIZE: - return "The maxmimum packet size for USB endpoint 0"; - case CSR_PSKEY_USB_CONFIG: - return "USB config params for new chips (>bc2)"; - case CSR_PSKEY_RADIOTEST_ATTEN_INIT: - return "Radio test initial attenuator"; - case CSR_PSKEY_RADIOTEST_FIRST_TRIM_TIME: - return "IQ first calibration period in test"; - case CSR_PSKEY_RADIOTEST_SUBSEQUENT_TRIM_TIME: - return "IQ subsequent calibration period in test"; - case CSR_PSKEY_RADIOTEST_LO_LVL_TRIM_ENABLE: - return "LO_LVL calibration enable"; - case CSR_PSKEY_RADIOTEST_DISABLE_MODULATION: - return "Disable modulation during radiotest transmissions"; - case CSR_PSKEY_RFCOMM_FCON_THRESHOLD: - return "RFCOMM aggregate flow control on threshold"; - case CSR_PSKEY_RFCOMM_FCOFF_THRESHOLD: - return "RFCOMM aggregate flow control off threshold"; - case CSR_PSKEY_IPV6_STATIC_ADDR: - return "Static IPv6 address"; - case CSR_PSKEY_IPV4_STATIC_ADDR: - return "Static IPv4 address"; - case CSR_PSKEY_IPV6_STATIC_PREFIX_LEN: - return "Static IPv6 prefix length"; - case CSR_PSKEY_IPV6_STATIC_ROUTER_ADDR: - return "Static IPv6 router address"; - case CSR_PSKEY_IPV4_STATIC_SUBNET_MASK: - return "Static IPv4 subnet mask"; - case CSR_PSKEY_IPV4_STATIC_ROUTER_ADDR: - return "Static IPv4 router address"; - case CSR_PSKEY_MDNS_NAME: - return "Multicast DNS name"; - case CSR_PSKEY_FIXED_PIN: - return "Fixed PIN"; - case CSR_PSKEY_MDNS_PORT: - return "Multicast DNS port"; - case CSR_PSKEY_MDNS_TTL: - return "Multicast DNS TTL"; - case CSR_PSKEY_MDNS_IPV4_ADDR: - return "Multicast DNS IPv4 address"; - case CSR_PSKEY_ARP_CACHE_TIMEOUT: - return "ARP cache timeout"; - case CSR_PSKEY_HFP_POWER_TABLE: - return "HFP power table"; - case CSR_PSKEY_DRAIN_BORE_TIMER_COUNTERS: - return "Energy consumption estimation timer counters"; - case CSR_PSKEY_DRAIN_BORE_COUNTERS: - return "Energy consumption estimation counters"; - case CSR_PSKEY_LOOP_FILTER_TRIM: - return "Trim value to optimise loop filter"; - case CSR_PSKEY_DRAIN_BORE_CURRENT_PEAK: - return "Energy consumption estimation current peak"; - case CSR_PSKEY_VM_E2_CACHE_LIMIT: - return "Maximum RAM for caching EEPROM VM application"; - case CSR_PSKEY_FORCE_16MHZ_REF_PIO: - return "PIO line to force 16 MHz reference to be assumed"; - case CSR_PSKEY_CDMA_LO_REF_LIMITS: - return "Local oscillator frequency reference limits for CDMA"; - case CSR_PSKEY_CDMA_LO_ERROR_LIMITS: - return "Local oscillator frequency error limits for CDMA"; - case CSR_PSKEY_CLOCK_STARTUP_DELAY: - return "Clock startup delay in milliseconds"; - case CSR_PSKEY_DEEP_SLEEP_CORRECTION_FACTOR: - return "Deep sleep clock correction factor"; - case CSR_PSKEY_TEMPERATURE_CALIBRATION: - return "Temperature in deg C for a given internal setting"; - case CSR_PSKEY_TEMPERATURE_VS_DELTA_INTERNAL_PA: - return "Temperature for given internal PA adjustment"; - case CSR_PSKEY_TEMPERATURE_VS_DELTA_TX_PRE_LVL: - return "Temperature for a given TX_PRE_LVL adjustment"; - case CSR_PSKEY_TEMPERATURE_VS_DELTA_TX_BB: - return "Temperature for a given TX_BB adjustment"; - case CSR_PSKEY_TEMPERATURE_VS_DELTA_ANA_FTRIM: - return "Temperature for given crystal trim adjustment"; - case CSR_PSKEY_TEST_DELTA_OFFSET: - return "Frequency offset applied to synthesiser in test mode"; - case CSR_PSKEY_RX_DYNAMIC_LVL_OFFSET: - return "Receiver dynamic level offset depending on channel"; - case CSR_PSKEY_TEST_FORCE_OFFSET: - return "Force use of exact value in PSKEY_TEST_DELTA_OFFSET"; - case CSR_PSKEY_RF_TRAP_BAD_DIVISION_RATIOS: - return "Trap bad division ratios in radio frequency tables"; - case CSR_PSKEY_RADIOTEST_CDMA_LO_REF_LIMITS: - return "LO frequency reference limits for CDMA in radiotest"; - case CSR_PSKEY_INITIAL_BOOTMODE: - return "Initial device bootmode"; - case CSR_PSKEY_ONCHIP_HCI_CLIENT: - return "HCI traffic routed internally"; - case CSR_PSKEY_RX_ATTEN_BACKOFF: - return "Receiver attenuation back-off"; - case CSR_PSKEY_RX_ATTEN_UPDATE_RATE: - return "Receiver attenuation update rate"; - case CSR_PSKEY_SYNTH_TXRX_THRESHOLDS: - return "Local oscillator tuning voltage limits for tx and rx"; - case CSR_PSKEY_MIN_WAIT_STATES: - return "Flash wait state indicator"; - case CSR_PSKEY_RSSI_CORRECTION: - return "RSSI correction factor."; - case CSR_PSKEY_SCHED_THROTTLE_TIMEOUT: - return "Scheduler performance control."; - case CSR_PSKEY_DEEP_SLEEP_USE_EXTERNAL_CLOCK: - return "Deep sleep uses external 32 kHz clock source"; - case CSR_PSKEY_TRIM_RADIO_FILTERS: - return "Trim rx and tx radio filters if true."; - case CSR_PSKEY_TRANSMIT_OFFSET: - return "Transmit offset in units of 62.5 kHz"; - case CSR_PSKEY_USB_VM_CONTROL: - return "VM application will supply USB descriptors"; - case CSR_PSKEY_MR_ANA_RX_FTRIM: - return "Medium rate value for the ANA_RX_FTRIM register"; - case CSR_PSKEY_I2C_CONFIG: - return "I2C configuration"; - case CSR_PSKEY_IQ_LVL_RX: - return "IQ demand level for reception"; - case CSR_PSKEY_MR_TX_FILTER_CONFIG: - return "TX filter configuration used for enhanced data rate"; - case CSR_PSKEY_MR_TX_CONFIG2: - return "TX filter configuration used for enhanced data rate"; - case CSR_PSKEY_USB_DONT_RESET_BOOTMODE_ON_HOST_RESET: - return "Don't reset bootmode if USB host resets"; - case CSR_PSKEY_LC_USE_THROTTLING: - return "Adjust packet selection on packet error rate"; - case CSR_PSKEY_CHARGER_TRIM: - return "Trim value for the current charger"; - case CSR_PSKEY_CLOCK_REQUEST_FEATURES: - return "Clock request is tristated if enabled"; - case CSR_PSKEY_TRANSMIT_OFFSET_CLASS1: - return "Transmit offset / 62.5 kHz for class 1 radios"; - case CSR_PSKEY_TX_AVOID_PA_CLASS1_PIO: - return "PIO line asserted in class1 operation to avoid PA"; - case CSR_PSKEY_MR_PIO_CONFIG: - return "PIO line asserted in class1 operation to avoid PA"; - case CSR_PSKEY_UART_CONFIG2: - return "The UART Sampling point"; - case CSR_PSKEY_CLASS1_IQ_LVL: - return "IQ demand level for class 1 power level"; - case CSR_PSKEY_CLASS1_TX_CONFIG2: - return "TX filter configuration used for class 1 tx power"; - case CSR_PSKEY_TEMPERATURE_VS_DELTA_INTERNAL_PA_CLASS1: - return "Temperature for given internal PA adjustment"; - case CSR_PSKEY_TEMPERATURE_VS_DELTA_EXTERNAL_PA_CLASS1: - return "Temperature for given internal PA adjustment"; - case CSR_PSKEY_TEMPERATURE_VS_DELTA_TX_PRE_LVL_MR: - return "Temperature adjustment for TX_PRE_LVL in EDR"; - case CSR_PSKEY_TEMPERATURE_VS_DELTA_TX_BB_MR_HEADER: - return "Temperature for a given TX_BB in EDR header"; - case CSR_PSKEY_TEMPERATURE_VS_DELTA_TX_BB_MR_PAYLOAD: - return "Temperature for a given TX_BB in EDR payload"; - case CSR_PSKEY_RX_MR_EQ_TAPS: - return "Adjust receiver configuration for EDR"; - case CSR_PSKEY_TX_PRE_LVL_CLASS1: - return "TX pre-amplifier level in class 1 operation"; - case CSR_PSKEY_ANALOGUE_ATTENUATOR: - return "TX analogue attenuator setting"; - case CSR_PSKEY_MR_RX_FILTER_TRIM: - return "Trim for receiver used in EDR."; - case CSR_PSKEY_MR_RX_FILTER_RESPONSE: - return "Filter response for receiver used in EDR."; - case CSR_PSKEY_PIO_WAKEUP_STATE: - return "PIO deep sleep wake up state "; - case CSR_PSKEY_MR_TX_IF_ATTEN_OFF_TEMP: - return "TX IF atten off temperature when using EDR."; - case CSR_PSKEY_LO_DIV_LATCH_BYPASS: - return "Bypass latch for LO dividers"; - case CSR_PSKEY_LO_VCO_STANDBY: - return "Use standby mode for the LO VCO"; - case CSR_PSKEY_SLOW_CLOCK_FILTER_SHIFT: - return "Slow clock sampling filter constant"; - case CSR_PSKEY_SLOW_CLOCK_FILTER_DIVIDER: - return "Slow clock filter fractional threshold"; - case CSR_PSKEY_USB_ATTRIBUTES_POWER: - return "USB self powered"; - case CSR_PSKEY_USB_ATTRIBUTES_WAKEUP: - return "USB responds to wake-up"; - case CSR_PSKEY_DFU_ATTRIBUTES_MANIFESTATION_TOLERANT: - return "DFU manifestation tolerant"; - case CSR_PSKEY_DFU_ATTRIBUTES_CAN_UPLOAD: - return "DFU can upload"; - case CSR_PSKEY_DFU_ATTRIBUTES_CAN_DOWNLOAD: - return "DFU can download"; - case CSR_PSKEY_UART_CONFIG_STOP_BITS: - return "UART: stop bits"; - case CSR_PSKEY_UART_CONFIG_PARITY_BIT: - return "UART: parity bit"; - case CSR_PSKEY_UART_CONFIG_FLOW_CTRL_EN: - return "UART: hardware flow control"; - case CSR_PSKEY_UART_CONFIG_RTS_AUTO_EN: - return "UART: RTS auto-enabled"; - case CSR_PSKEY_UART_CONFIG_RTS: - return "UART: RTS asserted"; - case CSR_PSKEY_UART_CONFIG_TX_ZERO_EN: - return "UART: TX zero enable"; - case CSR_PSKEY_UART_CONFIG_NON_BCSP_EN: - return "UART: enable BCSP-specific hardware"; - case CSR_PSKEY_UART_CONFIG_RX_RATE_DELAY: - return "UART: RX rate delay"; - case CSR_PSKEY_UART_SEQ_TIMEOUT: - return "UART: BCSP ack timeout"; - case CSR_PSKEY_UART_SEQ_RETRIES: - return "UART: retry limit in sequencing layer"; - case CSR_PSKEY_UART_SEQ_WINSIZE: - return "UART: BCSP transmit window size"; - case CSR_PSKEY_UART_USE_CRC_ON_TX: - return "UART: use BCSP CRCs"; - case CSR_PSKEY_UART_HOST_INITIAL_STATE: - return "UART: initial host state"; - case CSR_PSKEY_UART_HOST_ATTENTION_SPAN: - return "UART: host attention span"; - case CSR_PSKEY_UART_HOST_WAKEUP_TIME: - return "UART: host wakeup time"; - case CSR_PSKEY_UART_HOST_WAKEUP_WAIT: - return "UART: host wakeup wait"; - case CSR_PSKEY_BCSP_LM_MODE: - return "BCSP link establishment mode"; - case CSR_PSKEY_BCSP_LM_SYNC_RETRIES: - return "BCSP link establishment sync retries"; - case CSR_PSKEY_BCSP_LM_TSHY: - return "BCSP link establishment Tshy"; - case CSR_PSKEY_UART_DFU_CONFIG_STOP_BITS: - return "DFU mode UART: stop bits"; - case CSR_PSKEY_UART_DFU_CONFIG_PARITY_BIT: - return "DFU mode UART: parity bit"; - case CSR_PSKEY_UART_DFU_CONFIG_FLOW_CTRL_EN: - return "DFU mode UART: hardware flow control"; - case CSR_PSKEY_UART_DFU_CONFIG_RTS_AUTO_EN: - return "DFU mode UART: RTS auto-enabled"; - case CSR_PSKEY_UART_DFU_CONFIG_RTS: - return "DFU mode UART: RTS asserted"; - case CSR_PSKEY_UART_DFU_CONFIG_TX_ZERO_EN: - return "DFU mode UART: TX zero enable"; - case CSR_PSKEY_UART_DFU_CONFIG_NON_BCSP_EN: - return "DFU mode UART: enable BCSP-specific hardware"; - case CSR_PSKEY_UART_DFU_CONFIG_RX_RATE_DELAY: - return "DFU mode UART: RX rate delay"; - case CSR_PSKEY_AMUX_AIO0: - return "Multiplexer for AIO 0"; - case CSR_PSKEY_AMUX_AIO1: - return "Multiplexer for AIO 1"; - case CSR_PSKEY_AMUX_AIO2: - return "Multiplexer for AIO 2"; - case CSR_PSKEY_AMUX_AIO3: - return "Multiplexer for AIO 3"; - case CSR_PSKEY_LOCAL_NAME_SIMPLIFIED: - return "Local Name (simplified)"; - case CSR_PSKEY_EXTENDED_STUB: - return "Extended stub"; - default: - return "Unknown"; - } -} - -char *csr_pskeytoval(uint16_t pskey) -{ - switch (pskey) { - case CSR_PSKEY_BDADDR: - return "BDADDR"; - case CSR_PSKEY_COUNTRYCODE: - return "COUNTRYCODE"; - case CSR_PSKEY_CLASSOFDEVICE: - return "CLASSOFDEVICE"; - case CSR_PSKEY_DEVICE_DRIFT: - return "DEVICE_DRIFT"; - case CSR_PSKEY_DEVICE_JITTER: - return "DEVICE_JITTER"; - case CSR_PSKEY_MAX_ACLS: - return "MAX_ACLS"; - case CSR_PSKEY_MAX_SCOS: - return "MAX_SCOS"; - case CSR_PSKEY_MAX_REMOTE_MASTERS: - return "MAX_REMOTE_MASTERS"; - case CSR_PSKEY_ENABLE_MASTERY_WITH_SLAVERY: - return "ENABLE_MASTERY_WITH_SLAVERY"; - case CSR_PSKEY_H_HC_FC_MAX_ACL_PKT_LEN: - return "H_HC_FC_MAX_ACL_PKT_LEN"; - case CSR_PSKEY_H_HC_FC_MAX_SCO_PKT_LEN: - return "H_HC_FC_MAX_SCO_PKT_LEN"; - case CSR_PSKEY_H_HC_FC_MAX_ACL_PKTS: - return "H_HC_FC_MAX_ACL_PKTS"; - case CSR_PSKEY_H_HC_FC_MAX_SCO_PKTS: - return "H_HC_FC_MAX_SCO_PKTS"; - case CSR_PSKEY_LC_FC_BUFFER_LOW_WATER_MARK: - return "LC_FC_BUFFER_LOW_WATER_MARK"; - case CSR_PSKEY_LC_MAX_TX_POWER: - return "LC_MAX_TX_POWER"; - case CSR_PSKEY_TX_GAIN_RAMP: - return "TX_GAIN_RAMP"; - case CSR_PSKEY_LC_POWER_TABLE: - return "LC_POWER_TABLE"; - case CSR_PSKEY_LC_PEER_POWER_PERIOD: - return "LC_PEER_POWER_PERIOD"; - case CSR_PSKEY_LC_FC_POOLS_LOW_WATER_MARK: - return "LC_FC_POOLS_LOW_WATER_MARK"; - case CSR_PSKEY_LC_DEFAULT_TX_POWER: - return "LC_DEFAULT_TX_POWER"; - case CSR_PSKEY_LC_RSSI_GOLDEN_RANGE: - return "LC_RSSI_GOLDEN_RANGE"; - case CSR_PSKEY_LC_COMBO_DISABLE_PIO_MASK: - return "LC_COMBO_DISABLE_PIO_MASK"; - case CSR_PSKEY_LC_COMBO_PRIORITY_PIO_MASK: - return "LC_COMBO_PRIORITY_PIO_MASK"; - case CSR_PSKEY_LC_COMBO_DOT11_CHANNEL_PIO_BASE: - return "LC_COMBO_DOT11_CHANNEL_PIO_BASE"; - case CSR_PSKEY_LC_COMBO_DOT11_BLOCK_CHANNELS: - return "LC_COMBO_DOT11_BLOCK_CHANNELS"; - case CSR_PSKEY_LC_MAX_TX_POWER_NO_RSSI: - return "LC_MAX_TX_POWER_NO_RSSI"; - case CSR_PSKEY_LC_CONNECTION_RX_WINDOW: - return "LC_CONNECTION_RX_WINDOW"; - case CSR_PSKEY_LC_COMBO_DOT11_TX_PROTECTION_MODE: - return "LC_COMBO_DOT11_TX_PROTECTION_MODE"; - case CSR_PSKEY_LC_ENHANCED_POWER_TABLE: - return "LC_ENHANCED_POWER_TABLE"; - case CSR_PSKEY_LC_WIDEBAND_RSSI_CONFIG: - return "LC_WIDEBAND_RSSI_CONFIG"; - case CSR_PSKEY_LC_COMBO_DOT11_PRIORITY_LEAD: - return "LC_COMBO_DOT11_PRIORITY_LEAD"; - case CSR_PSKEY_BT_CLOCK_INIT: - return "BT_CLOCK_INIT"; - case CSR_PSKEY_TX_MR_MOD_DELAY: - return "TX_MR_MOD_DELAY"; - case CSR_PSKEY_RX_MR_SYNC_TIMING: - return "RX_MR_SYNC_TIMING"; - case CSR_PSKEY_RX_MR_SYNC_CONFIG: - return "RX_MR_SYNC_CONFIG"; - case CSR_PSKEY_LC_LOST_SYNC_SLOTS: - return "LC_LOST_SYNC_SLOTS"; - case CSR_PSKEY_RX_MR_SAMP_CONFIG: - return "RX_MR_SAMP_CONFIG"; - case CSR_PSKEY_AGC_HYST_LEVELS: - return "AGC_HYST_LEVELS"; - case CSR_PSKEY_RX_LEVEL_LOW_SIGNAL: - return "RX_LEVEL_LOW_SIGNAL"; - case CSR_PSKEY_AGC_IQ_LVL_VALUES: - return "AGC_IQ_LVL_VALUES"; - case CSR_PSKEY_MR_FTRIM_OFFSET_12DB: - return "MR_FTRIM_OFFSET_12DB"; - case CSR_PSKEY_MR_FTRIM_OFFSET_6DB: - return "MR_FTRIM_OFFSET_6DB"; - case CSR_PSKEY_NO_CAL_ON_BOOT: - return "NO_CAL_ON_BOOT"; - case CSR_PSKEY_RSSI_HI_TARGET: - return "RSSI_HI_TARGET"; - case CSR_PSKEY_PREFERRED_MIN_ATTENUATION: - return "PREFERRED_MIN_ATTENUATION"; - case CSR_PSKEY_LC_COMBO_DOT11_PRIORITY_OVERRIDE: - return "LC_COMBO_DOT11_PRIORITY_OVERRIDE"; - case CSR_PSKEY_LC_MULTISLOT_HOLDOFF: - return "LC_MULTISLOT_HOLDOFF"; - case CSR_PSKEY_FREE_KEY_PIGEON_HOLE: - return "FREE_KEY_PIGEON_HOLE"; - case CSR_PSKEY_LINK_KEY_BD_ADDR0: - return "LINK_KEY_BD_ADDR0"; - case CSR_PSKEY_LINK_KEY_BD_ADDR1: - return "LINK_KEY_BD_ADDR1"; - case CSR_PSKEY_LINK_KEY_BD_ADDR2: - return "LINK_KEY_BD_ADDR2"; - case CSR_PSKEY_LINK_KEY_BD_ADDR3: - return "LINK_KEY_BD_ADDR3"; - case CSR_PSKEY_LINK_KEY_BD_ADDR4: - return "LINK_KEY_BD_ADDR4"; - case CSR_PSKEY_LINK_KEY_BD_ADDR5: - return "LINK_KEY_BD_ADDR5"; - case CSR_PSKEY_LINK_KEY_BD_ADDR6: - return "LINK_KEY_BD_ADDR6"; - case CSR_PSKEY_LINK_KEY_BD_ADDR7: - return "LINK_KEY_BD_ADDR7"; - case CSR_PSKEY_LINK_KEY_BD_ADDR8: - return "LINK_KEY_BD_ADDR8"; - case CSR_PSKEY_LINK_KEY_BD_ADDR9: - return "LINK_KEY_BD_ADDR9"; - case CSR_PSKEY_LINK_KEY_BD_ADDR10: - return "LINK_KEY_BD_ADDR10"; - case CSR_PSKEY_LINK_KEY_BD_ADDR11: - return "LINK_KEY_BD_ADDR11"; - case CSR_PSKEY_LINK_KEY_BD_ADDR12: - return "LINK_KEY_BD_ADDR12"; - case CSR_PSKEY_LINK_KEY_BD_ADDR13: - return "LINK_KEY_BD_ADDR13"; - case CSR_PSKEY_LINK_KEY_BD_ADDR14: - return "LINK_KEY_BD_ADDR14"; - case CSR_PSKEY_LINK_KEY_BD_ADDR15: - return "LINK_KEY_BD_ADDR15"; - case CSR_PSKEY_ENC_KEY_LMIN: - return "ENC_KEY_LMIN"; - case CSR_PSKEY_ENC_KEY_LMAX: - return "ENC_KEY_LMAX"; - case CSR_PSKEY_LOCAL_SUPPORTED_FEATURES: - return "LOCAL_SUPPORTED_FEATURES"; - case CSR_PSKEY_LM_USE_UNIT_KEY: - return "LM_USE_UNIT_KEY"; - case CSR_PSKEY_HCI_NOP_DISABLE: - return "HCI_NOP_DISABLE"; - case CSR_PSKEY_LM_MAX_EVENT_FILTERS: - return "LM_MAX_EVENT_FILTERS"; - case CSR_PSKEY_LM_USE_ENC_MODE_BROADCAST: - return "LM_USE_ENC_MODE_BROADCAST"; - case CSR_PSKEY_LM_TEST_SEND_ACCEPTED_TWICE: - return "LM_TEST_SEND_ACCEPTED_TWICE"; - case CSR_PSKEY_LM_MAX_PAGE_HOLD_TIME: - return "LM_MAX_PAGE_HOLD_TIME"; - case CSR_PSKEY_AFH_ADAPTATION_RESPONSE_TIME: - return "AFH_ADAPTATION_RESPONSE_TIME"; - case CSR_PSKEY_AFH_OPTIONS: - return "AFH_OPTIONS"; - case CSR_PSKEY_AFH_RSSI_RUN_PERIOD: - return "AFH_RSSI_RUN_PERIOD"; - case CSR_PSKEY_AFH_REENABLE_CHANNEL_TIME: - return "AFH_REENABLE_CHANNEL_TIME"; - case CSR_PSKEY_NO_DROP_ON_ACR_MS_FAIL: - return "NO_DROP_ON_ACR_MS_FAIL"; - case CSR_PSKEY_MAX_PRIVATE_KEYS: - return "MAX_PRIVATE_KEYS"; - case CSR_PSKEY_PRIVATE_LINK_KEY_BD_ADDR0: - return "PRIVATE_LINK_KEY_BD_ADDR0"; - case CSR_PSKEY_PRIVATE_LINK_KEY_BD_ADDR1: - return "PRIVATE_LINK_KEY_BD_ADDR1"; - case CSR_PSKEY_PRIVATE_LINK_KEY_BD_ADDR2: - return "PRIVATE_LINK_KEY_BD_ADDR2"; - case CSR_PSKEY_PRIVATE_LINK_KEY_BD_ADDR3: - return "PRIVATE_LINK_KEY_BD_ADDR3"; - case CSR_PSKEY_PRIVATE_LINK_KEY_BD_ADDR4: - return "PRIVATE_LINK_KEY_BD_ADDR4"; - case CSR_PSKEY_PRIVATE_LINK_KEY_BD_ADDR5: - return "PRIVATE_LINK_KEY_BD_ADDR5"; - case CSR_PSKEY_PRIVATE_LINK_KEY_BD_ADDR6: - return "PRIVATE_LINK_KEY_BD_ADDR6"; - case CSR_PSKEY_PRIVATE_LINK_KEY_BD_ADDR7: - return "PRIVATE_LINK_KEY_BD_ADDR7"; - case CSR_PSKEY_LOCAL_SUPPORTED_COMMANDS: - return "LOCAL_SUPPORTED_COMMANDS"; - case CSR_PSKEY_LM_MAX_ABSENCE_INDEX: - return "LM_MAX_ABSENCE_INDEX"; - case CSR_PSKEY_DEVICE_NAME: - return "DEVICE_NAME"; - case CSR_PSKEY_AFH_RSSI_THRESHOLD: - return "AFH_RSSI_THRESHOLD"; - case CSR_PSKEY_LM_CASUAL_SCAN_INTERVAL: - return "LM_CASUAL_SCAN_INTERVAL"; - case CSR_PSKEY_AFH_MIN_MAP_CHANGE: - return "AFH_MIN_MAP_CHANGE"; - case CSR_PSKEY_AFH_RSSI_LP_RUN_PERIOD: - return "AFH_RSSI_LP_RUN_PERIOD"; - case CSR_PSKEY_HCI_LMP_LOCAL_VERSION: - return "HCI_LMP_LOCAL_VERSION"; - case CSR_PSKEY_LMP_REMOTE_VERSION: - return "LMP_REMOTE_VERSION"; - case CSR_PSKEY_HOLD_ERROR_MESSAGE_NUMBER: - return "HOLD_ERROR_MESSAGE_NUMBER"; - case CSR_PSKEY_DFU_ATTRIBUTES: - return "DFU_ATTRIBUTES"; - case CSR_PSKEY_DFU_DETACH_TO: - return "DFU_DETACH_TO"; - case CSR_PSKEY_DFU_TRANSFER_SIZE: - return "DFU_TRANSFER_SIZE"; - case CSR_PSKEY_DFU_ENABLE: - return "DFU_ENABLE"; - case CSR_PSKEY_DFU_LIN_REG_ENABLE: - return "DFU_LIN_REG_ENABLE"; - case CSR_PSKEY_DFUENC_VMAPP_PK_MODULUS_MSB: - return "DFUENC_VMAPP_PK_MODULUS_MSB"; - case CSR_PSKEY_DFUENC_VMAPP_PK_MODULUS_LSB: - return "DFUENC_VMAPP_PK_MODULUS_LSB"; - case CSR_PSKEY_DFUENC_VMAPP_PK_M_DASH: - return "DFUENC_VMAPP_PK_M_DASH"; - case CSR_PSKEY_DFUENC_VMAPP_PK_R2N_MSB: - return "DFUENC_VMAPP_PK_R2N_MSB"; - case CSR_PSKEY_DFUENC_VMAPP_PK_R2N_LSB: - return "DFUENC_VMAPP_PK_R2N_LSB"; - case CSR_PSKEY_BCSP_LM_PS_BLOCK: - return "BCSP_LM_PS_BLOCK"; - case CSR_PSKEY_HOSTIO_FC_PS_BLOCK: - return "HOSTIO_FC_PS_BLOCK"; - case CSR_PSKEY_HOSTIO_PROTOCOL_INFO0: - return "HOSTIO_PROTOCOL_INFO0"; - case CSR_PSKEY_HOSTIO_PROTOCOL_INFO1: - return "HOSTIO_PROTOCOL_INFO1"; - case CSR_PSKEY_HOSTIO_PROTOCOL_INFO2: - return "HOSTIO_PROTOCOL_INFO2"; - case CSR_PSKEY_HOSTIO_PROTOCOL_INFO3: - return "HOSTIO_PROTOCOL_INFO3"; - case CSR_PSKEY_HOSTIO_PROTOCOL_INFO4: - return "HOSTIO_PROTOCOL_INFO4"; - case CSR_PSKEY_HOSTIO_PROTOCOL_INFO5: - return "HOSTIO_PROTOCOL_INFO5"; - case CSR_PSKEY_HOSTIO_PROTOCOL_INFO6: - return "HOSTIO_PROTOCOL_INFO6"; - case CSR_PSKEY_HOSTIO_PROTOCOL_INFO7: - return "HOSTIO_PROTOCOL_INFO7"; - case CSR_PSKEY_HOSTIO_PROTOCOL_INFO8: - return "HOSTIO_PROTOCOL_INFO8"; - case CSR_PSKEY_HOSTIO_PROTOCOL_INFO9: - return "HOSTIO_PROTOCOL_INFO9"; - case CSR_PSKEY_HOSTIO_PROTOCOL_INFO10: - return "HOSTIO_PROTOCOL_INFO10"; - case CSR_PSKEY_HOSTIO_PROTOCOL_INFO11: - return "HOSTIO_PROTOCOL_INFO11"; - case CSR_PSKEY_HOSTIO_PROTOCOL_INFO12: - return "HOSTIO_PROTOCOL_INFO12"; - case CSR_PSKEY_HOSTIO_PROTOCOL_INFO13: - return "HOSTIO_PROTOCOL_INFO13"; - case CSR_PSKEY_HOSTIO_PROTOCOL_INFO14: - return "HOSTIO_PROTOCOL_INFO14"; - case CSR_PSKEY_HOSTIO_PROTOCOL_INFO15: - return "HOSTIO_PROTOCOL_INFO15"; - case CSR_PSKEY_HOSTIO_UART_RESET_TIMEOUT: - return "HOSTIO_UART_RESET_TIMEOUT"; - case CSR_PSKEY_HOSTIO_USE_HCI_EXTN: - return "HOSTIO_USE_HCI_EXTN"; - case CSR_PSKEY_HOSTIO_USE_HCI_EXTN_CCFC: - return "HOSTIO_USE_HCI_EXTN_CCFC"; - case CSR_PSKEY_HOSTIO_HCI_EXTN_PAYLOAD_SIZE: - return "HOSTIO_HCI_EXTN_PAYLOAD_SIZE"; - case CSR_PSKEY_BCSP_LM_CNF_CNT_LIMIT: - return "BCSP_LM_CNF_CNT_LIMIT"; - case CSR_PSKEY_HOSTIO_MAP_SCO_PCM: - return "HOSTIO_MAP_SCO_PCM"; - case CSR_PSKEY_HOSTIO_AWKWARD_PCM_SYNC: - return "HOSTIO_AWKWARD_PCM_SYNC"; - case CSR_PSKEY_HOSTIO_BREAK_POLL_PERIOD: - return "HOSTIO_BREAK_POLL_PERIOD"; - case CSR_PSKEY_HOSTIO_MIN_UART_HCI_SCO_SIZE: - return "HOSTIO_MIN_UART_HCI_SCO_SIZE"; - case CSR_PSKEY_HOSTIO_MAP_SCO_CODEC: - return "HOSTIO_MAP_SCO_CODEC"; - case CSR_PSKEY_PCM_CVSD_TX_HI_FREQ_BOOST: - return "PCM_CVSD_TX_HI_FREQ_BOOST"; - case CSR_PSKEY_PCM_CVSD_RX_HI_FREQ_BOOST: - return "PCM_CVSD_RX_HI_FREQ_BOOST"; - case CSR_PSKEY_PCM_CONFIG32: - return "PCM_CONFIG32"; - case CSR_PSKEY_USE_OLD_BCSP_LE: - return "USE_OLD_BCSP_LE"; - case CSR_PSKEY_PCM_CVSD_USE_NEW_FILTER: - return "PCM_CVSD_USE_NEW_FILTER"; - case CSR_PSKEY_PCM_FORMAT: - return "PCM_FORMAT"; - case CSR_PSKEY_CODEC_OUT_GAIN: - return "CODEC_OUT_GAIN"; - case CSR_PSKEY_CODEC_IN_GAIN: - return "CODEC_IN_GAIN"; - case CSR_PSKEY_CODEC_PIO: - return "CODEC_PIO"; - case CSR_PSKEY_PCM_LOW_JITTER_CONFIG: - return "PCM_LOW_JITTER_CONFIG"; - case CSR_PSKEY_HOSTIO_SCO_PCM_THRESHOLDS: - return "HOSTIO_SCO_PCM_THRESHOLDS"; - case CSR_PSKEY_HOSTIO_SCO_HCI_THRESHOLDS: - return "HOSTIO_SCO_HCI_THRESHOLDS"; - case CSR_PSKEY_HOSTIO_MAP_SCO_PCM_SLOT: - return "HOSTIO_MAP_SCO_PCM_SLOT"; - case CSR_PSKEY_UART_BAUDRATE: - return "UART_BAUDRATE"; - case CSR_PSKEY_UART_CONFIG_BCSP: - return "UART_CONFIG_BCSP"; - case CSR_PSKEY_UART_CONFIG_H4: - return "UART_CONFIG_H4"; - case CSR_PSKEY_UART_CONFIG_H5: - return "UART_CONFIG_H5"; - case CSR_PSKEY_UART_CONFIG_USR: - return "UART_CONFIG_USR"; - case CSR_PSKEY_UART_TX_CRCS: - return "UART_TX_CRCS"; - case CSR_PSKEY_UART_ACK_TIMEOUT: - return "UART_ACK_TIMEOUT"; - case CSR_PSKEY_UART_TX_MAX_ATTEMPTS: - return "UART_TX_MAX_ATTEMPTS"; - case CSR_PSKEY_UART_TX_WINDOW_SIZE: - return "UART_TX_WINDOW_SIZE"; - case CSR_PSKEY_UART_HOST_WAKE: - return "UART_HOST_WAKE"; - case CSR_PSKEY_HOSTIO_THROTTLE_TIMEOUT: - return "HOSTIO_THROTTLE_TIMEOUT"; - case CSR_PSKEY_PCM_ALWAYS_ENABLE: - return "PCM_ALWAYS_ENABLE"; - case CSR_PSKEY_UART_HOST_WAKE_SIGNAL: - return "UART_HOST_WAKE_SIGNAL"; - case CSR_PSKEY_UART_CONFIG_H4DS: - return "UART_CONFIG_H4DS"; - case CSR_PSKEY_H4DS_WAKE_DURATION: - return "H4DS_WAKE_DURATION"; - case CSR_PSKEY_H4DS_MAXWU: - return "H4DS_MAXWU"; - case CSR_PSKEY_H4DS_LE_TIMER_PERIOD: - return "H4DS_LE_TIMER_PERIOD"; - case CSR_PSKEY_H4DS_TWU_TIMER_PERIOD: - return "H4DS_TWU_TIMER_PERIOD"; - case CSR_PSKEY_H4DS_UART_IDLE_TIMER_PERIOD: - return "H4DS_UART_IDLE_TIMER_PERIOD"; - case CSR_PSKEY_ANA_FTRIM: - return "ANA_FTRIM"; - case CSR_PSKEY_WD_TIMEOUT: - return "WD_TIMEOUT"; - case CSR_PSKEY_WD_PERIOD: - return "WD_PERIOD"; - case CSR_PSKEY_HOST_INTERFACE: - return "HOST_INTERFACE"; - case CSR_PSKEY_HQ_HOST_TIMEOUT: - return "HQ_HOST_TIMEOUT"; - case CSR_PSKEY_HQ_ACTIVE: - return "HQ_ACTIVE"; - case CSR_PSKEY_BCCMD_SECURITY_ACTIVE: - return "BCCMD_SECURITY_ACTIVE"; - case CSR_PSKEY_ANA_FREQ: - return "ANA_FREQ"; - case CSR_PSKEY_PIO_PROTECT_MASK: - return "PIO_PROTECT_MASK"; - case CSR_PSKEY_PMALLOC_SIZES: - return "PMALLOC_SIZES"; - case CSR_PSKEY_UART_BAUD_RATE: - return "UART_BAUD_RATE"; - case CSR_PSKEY_UART_CONFIG: - return "UART_CONFIG"; - case CSR_PSKEY_STUB: - return "STUB"; - case CSR_PSKEY_TXRX_PIO_CONTROL: - return "TXRX_PIO_CONTROL"; - case CSR_PSKEY_ANA_RX_LEVEL: - return "ANA_RX_LEVEL"; - case CSR_PSKEY_ANA_RX_FTRIM: - return "ANA_RX_FTRIM"; - case CSR_PSKEY_PSBC_DATA_VERSION: - return "PSBC_DATA_VERSION"; - case CSR_PSKEY_PCM0_ATTENUATION: - return "PCM0_ATTENUATION"; - case CSR_PSKEY_LO_LVL_MAX: - return "LO_LVL_MAX"; - case CSR_PSKEY_LO_ADC_AMPL_MIN: - return "LO_ADC_AMPL_MIN"; - case CSR_PSKEY_LO_ADC_AMPL_MAX: - return "LO_ADC_AMPL_MAX"; - case CSR_PSKEY_IQ_TRIM_CHANNEL: - return "IQ_TRIM_CHANNEL"; - case CSR_PSKEY_IQ_TRIM_GAIN: - return "IQ_TRIM_GAIN"; - case CSR_PSKEY_IQ_TRIM_ENABLE: - return "IQ_TRIM_ENABLE"; - case CSR_PSKEY_TX_OFFSET_HALF_MHZ: - return "TX_OFFSET_HALF_MHZ"; - case CSR_PSKEY_GBL_MISC_ENABLES: - return "GBL_MISC_ENABLES"; - case CSR_PSKEY_UART_SLEEP_TIMEOUT: - return "UART_SLEEP_TIMEOUT"; - case CSR_PSKEY_DEEP_SLEEP_STATE: - return "DEEP_SLEEP_STATE"; - case CSR_PSKEY_IQ_ENABLE_PHASE_TRIM: - return "IQ_ENABLE_PHASE_TRIM"; - case CSR_PSKEY_HCI_HANDLE_FREEZE_PERIOD: - return "HCI_HANDLE_FREEZE_PERIOD"; - case CSR_PSKEY_MAX_FROZEN_HCI_HANDLES: - return "MAX_FROZEN_HCI_HANDLES"; - case CSR_PSKEY_PAGETABLE_DESTRUCTION_DELAY: - return "PAGETABLE_DESTRUCTION_DELAY"; - case CSR_PSKEY_IQ_TRIM_PIO_SETTINGS: - return "IQ_TRIM_PIO_SETTINGS"; - case CSR_PSKEY_USE_EXTERNAL_CLOCK: - return "USE_EXTERNAL_CLOCK"; - case CSR_PSKEY_DEEP_SLEEP_WAKE_CTS: - return "DEEP_SLEEP_WAKE_CTS"; - case CSR_PSKEY_FC_HC2H_FLUSH_DELAY: - return "FC_HC2H_FLUSH_DELAY"; - case CSR_PSKEY_RX_HIGHSIDE: - return "RX_HIGHSIDE"; - case CSR_PSKEY_TX_PRE_LVL: - return "TX_PRE_LVL"; - case CSR_PSKEY_RX_SINGLE_ENDED: - return "RX_SINGLE_ENDED"; - case CSR_PSKEY_TX_FILTER_CONFIG: - return "TX_FILTER_CONFIG"; - case CSR_PSKEY_CLOCK_REQUEST_ENABLE: - return "CLOCK_REQUEST_ENABLE"; - case CSR_PSKEY_RX_MIN_ATTEN: - return "RX_MIN_ATTEN"; - case CSR_PSKEY_XTAL_TARGET_AMPLITUDE: - return "XTAL_TARGET_AMPLITUDE"; - case CSR_PSKEY_PCM_MIN_CPU_CLOCK: - return "PCM_MIN_CPU_CLOCK"; - case CSR_PSKEY_HOST_INTERFACE_PIO_USB: - return "HOST_INTERFACE_PIO_USB"; - case CSR_PSKEY_CPU_IDLE_MODE: - return "CPU_IDLE_MODE"; - case CSR_PSKEY_DEEP_SLEEP_CLEAR_RTS: - return "DEEP_SLEEP_CLEAR_RTS"; - case CSR_PSKEY_RF_RESONANCE_TRIM: - return "RF_RESONANCE_TRIM"; - case CSR_PSKEY_DEEP_SLEEP_PIO_WAKE: - return "DEEP_SLEEP_PIO_WAKE"; - case CSR_PSKEY_DRAIN_BORE_TIMERS: - return "DRAIN_BORE_TIMERS"; - case CSR_PSKEY_DRAIN_TX_POWER_BASE: - return "DRAIN_TX_POWER_BASE"; - case CSR_PSKEY_MODULE_ID: - return "MODULE_ID"; - case CSR_PSKEY_MODULE_DESIGN: - return "MODULE_DESIGN"; - case CSR_PSKEY_MODULE_SECURITY_CODE: - return "MODULE_SECURITY_CODE"; - case CSR_PSKEY_VM_DISABLE: - return "VM_DISABLE"; - case CSR_PSKEY_MOD_MANUF0: - return "MOD_MANUF0"; - case CSR_PSKEY_MOD_MANUF1: - return "MOD_MANUF1"; - case CSR_PSKEY_MOD_MANUF2: - return "MOD_MANUF2"; - case CSR_PSKEY_MOD_MANUF3: - return "MOD_MANUF3"; - case CSR_PSKEY_MOD_MANUF4: - return "MOD_MANUF4"; - case CSR_PSKEY_MOD_MANUF5: - return "MOD_MANUF5"; - case CSR_PSKEY_MOD_MANUF6: - return "MOD_MANUF6"; - case CSR_PSKEY_MOD_MANUF7: - return "MOD_MANUF7"; - case CSR_PSKEY_MOD_MANUF8: - return "MOD_MANUF8"; - case CSR_PSKEY_MOD_MANUF9: - return "MOD_MANUF9"; - case CSR_PSKEY_DUT_VM_DISABLE: - return "DUT_VM_DISABLE"; - case CSR_PSKEY_USR0: - return "USR0"; - case CSR_PSKEY_USR1: - return "USR1"; - case CSR_PSKEY_USR2: - return "USR2"; - case CSR_PSKEY_USR3: - return "USR3"; - case CSR_PSKEY_USR4: - return "USR4"; - case CSR_PSKEY_USR5: - return "USR5"; - case CSR_PSKEY_USR6: - return "USR6"; - case CSR_PSKEY_USR7: - return "USR7"; - case CSR_PSKEY_USR8: - return "USR8"; - case CSR_PSKEY_USR9: - return "USR9"; - case CSR_PSKEY_USR10: - return "USR10"; - case CSR_PSKEY_USR11: - return "USR11"; - case CSR_PSKEY_USR12: - return "USR12"; - case CSR_PSKEY_USR13: - return "USR13"; - case CSR_PSKEY_USR14: - return "USR14"; - case CSR_PSKEY_USR15: - return "USR15"; - case CSR_PSKEY_USR16: - return "USR16"; - case CSR_PSKEY_USR17: - return "USR17"; - case CSR_PSKEY_USR18: - return "USR18"; - case CSR_PSKEY_USR19: - return "USR19"; - case CSR_PSKEY_USR20: - return "USR20"; - case CSR_PSKEY_USR21: - return "USR21"; - case CSR_PSKEY_USR22: - return "USR22"; - case CSR_PSKEY_USR23: - return "USR23"; - case CSR_PSKEY_USR24: - return "USR24"; - case CSR_PSKEY_USR25: - return "USR25"; - case CSR_PSKEY_USR26: - return "USR26"; - case CSR_PSKEY_USR27: - return "USR27"; - case CSR_PSKEY_USR28: - return "USR28"; - case CSR_PSKEY_USR29: - return "USR29"; - case CSR_PSKEY_USR30: - return "USR30"; - case CSR_PSKEY_USR31: - return "USR31"; - case CSR_PSKEY_USR32: - return "USR32"; - case CSR_PSKEY_USR33: - return "USR33"; - case CSR_PSKEY_USR34: - return "USR34"; - case CSR_PSKEY_USR35: - return "USR35"; - case CSR_PSKEY_USR36: - return "USR36"; - case CSR_PSKEY_USR37: - return "USR37"; - case CSR_PSKEY_USR38: - return "USR38"; - case CSR_PSKEY_USR39: - return "USR39"; - case CSR_PSKEY_USR40: - return "USR40"; - case CSR_PSKEY_USR41: - return "USR41"; - case CSR_PSKEY_USR42: - return "USR42"; - case CSR_PSKEY_USR43: - return "USR43"; - case CSR_PSKEY_USR44: - return "USR44"; - case CSR_PSKEY_USR45: - return "USR45"; - case CSR_PSKEY_USR46: - return "USR46"; - case CSR_PSKEY_USR47: - return "USR47"; - case CSR_PSKEY_USR48: - return "USR48"; - case CSR_PSKEY_USR49: - return "USR49"; - case CSR_PSKEY_USB_VERSION: - return "USB_VERSION"; - case CSR_PSKEY_USB_DEVICE_CLASS_CODES: - return "USB_DEVICE_CLASS_CODES"; - case CSR_PSKEY_USB_VENDOR_ID: - return "USB_VENDOR_ID"; - case CSR_PSKEY_USB_PRODUCT_ID: - return "USB_PRODUCT_ID"; - case CSR_PSKEY_USB_MANUF_STRING: - return "USB_MANUF_STRING"; - case CSR_PSKEY_USB_PRODUCT_STRING: - return "USB_PRODUCT_STRING"; - case CSR_PSKEY_USB_SERIAL_NUMBER_STRING: - return "USB_SERIAL_NUMBER_STRING"; - case CSR_PSKEY_USB_CONFIG_STRING: - return "USB_CONFIG_STRING"; - case CSR_PSKEY_USB_ATTRIBUTES: - return "USB_ATTRIBUTES"; - case CSR_PSKEY_USB_MAX_POWER: - return "USB_MAX_POWER"; - case CSR_PSKEY_USB_BT_IF_CLASS_CODES: - return "USB_BT_IF_CLASS_CODES"; - case CSR_PSKEY_USB_LANGID: - return "USB_LANGID"; - case CSR_PSKEY_USB_DFU_CLASS_CODES: - return "USB_DFU_CLASS_CODES"; - case CSR_PSKEY_USB_DFU_PRODUCT_ID: - return "USB_DFU_PRODUCT_ID"; - case CSR_PSKEY_USB_PIO_DETACH: - return "USB_PIO_DETACH"; - case CSR_PSKEY_USB_PIO_WAKEUP: - return "USB_PIO_WAKEUP"; - case CSR_PSKEY_USB_PIO_PULLUP: - return "USB_PIO_PULLUP"; - case CSR_PSKEY_USB_PIO_VBUS: - return "USB_PIO_VBUS"; - case CSR_PSKEY_USB_PIO_WAKE_TIMEOUT: - return "USB_PIO_WAKE_TIMEOUT"; - case CSR_PSKEY_USB_PIO_RESUME: - return "USB_PIO_RESUME"; - case CSR_PSKEY_USB_BT_SCO_IF_CLASS_CODES: - return "USB_BT_SCO_IF_CLASS_CODES"; - case CSR_PSKEY_USB_SUSPEND_PIO_LEVEL: - return "USB_SUSPEND_PIO_LEVEL"; - case CSR_PSKEY_USB_SUSPEND_PIO_DIR: - return "USB_SUSPEND_PIO_DIR"; - case CSR_PSKEY_USB_SUSPEND_PIO_MASK: - return "USB_SUSPEND_PIO_MASK"; - case CSR_PSKEY_USB_ENDPOINT_0_MAX_PACKET_SIZE: - return "USB_ENDPOINT_0_MAX_PACKET_SIZE"; - case CSR_PSKEY_USB_CONFIG: - return "USB_CONFIG"; - case CSR_PSKEY_RADIOTEST_ATTEN_INIT: - return "RADIOTEST_ATTEN_INIT"; - case CSR_PSKEY_RADIOTEST_FIRST_TRIM_TIME: - return "RADIOTEST_FIRST_TRIM_TIME"; - case CSR_PSKEY_RADIOTEST_SUBSEQUENT_TRIM_TIME: - return "RADIOTEST_SUBSEQUENT_TRIM_TIME"; - case CSR_PSKEY_RADIOTEST_LO_LVL_TRIM_ENABLE: - return "RADIOTEST_LO_LVL_TRIM_ENABLE"; - case CSR_PSKEY_RADIOTEST_DISABLE_MODULATION: - return "RADIOTEST_DISABLE_MODULATION"; - case CSR_PSKEY_RFCOMM_FCON_THRESHOLD: - return "RFCOMM_FCON_THRESHOLD"; - case CSR_PSKEY_RFCOMM_FCOFF_THRESHOLD: - return "RFCOMM_FCOFF_THRESHOLD"; - case CSR_PSKEY_IPV6_STATIC_ADDR: - return "IPV6_STATIC_ADDR"; - case CSR_PSKEY_IPV4_STATIC_ADDR: - return "IPV4_STATIC_ADDR"; - case CSR_PSKEY_IPV6_STATIC_PREFIX_LEN: - return "IPV6_STATIC_PREFIX_LEN"; - case CSR_PSKEY_IPV6_STATIC_ROUTER_ADDR: - return "IPV6_STATIC_ROUTER_ADDR"; - case CSR_PSKEY_IPV4_STATIC_SUBNET_MASK: - return "IPV4_STATIC_SUBNET_MASK"; - case CSR_PSKEY_IPV4_STATIC_ROUTER_ADDR: - return "IPV4_STATIC_ROUTER_ADDR"; - case CSR_PSKEY_MDNS_NAME: - return "MDNS_NAME"; - case CSR_PSKEY_FIXED_PIN: - return "FIXED_PIN"; - case CSR_PSKEY_MDNS_PORT: - return "MDNS_PORT"; - case CSR_PSKEY_MDNS_TTL: - return "MDNS_TTL"; - case CSR_PSKEY_MDNS_IPV4_ADDR: - return "MDNS_IPV4_ADDR"; - case CSR_PSKEY_ARP_CACHE_TIMEOUT: - return "ARP_CACHE_TIMEOUT"; - case CSR_PSKEY_HFP_POWER_TABLE: - return "HFP_POWER_TABLE"; - case CSR_PSKEY_DRAIN_BORE_TIMER_COUNTERS: - return "DRAIN_BORE_TIMER_COUNTERS"; - case CSR_PSKEY_DRAIN_BORE_COUNTERS: - return "DRAIN_BORE_COUNTERS"; - case CSR_PSKEY_LOOP_FILTER_TRIM: - return "LOOP_FILTER_TRIM"; - case CSR_PSKEY_DRAIN_BORE_CURRENT_PEAK: - return "DRAIN_BORE_CURRENT_PEAK"; - case CSR_PSKEY_VM_E2_CACHE_LIMIT: - return "VM_E2_CACHE_LIMIT"; - case CSR_PSKEY_FORCE_16MHZ_REF_PIO: - return "FORCE_16MHZ_REF_PIO"; - case CSR_PSKEY_CDMA_LO_REF_LIMITS: - return "CDMA_LO_REF_LIMITS"; - case CSR_PSKEY_CDMA_LO_ERROR_LIMITS: - return "CDMA_LO_ERROR_LIMITS"; - case CSR_PSKEY_CLOCK_STARTUP_DELAY: - return "CLOCK_STARTUP_DELAY"; - case CSR_PSKEY_DEEP_SLEEP_CORRECTION_FACTOR: - return "DEEP_SLEEP_CORRECTION_FACTOR"; - case CSR_PSKEY_TEMPERATURE_CALIBRATION: - return "TEMPERATURE_CALIBRATION"; - case CSR_PSKEY_TEMPERATURE_VS_DELTA_INTERNAL_PA: - return "TEMPERATURE_VS_DELTA_INTERNAL_PA"; - case CSR_PSKEY_TEMPERATURE_VS_DELTA_TX_PRE_LVL: - return "TEMPERATURE_VS_DELTA_TX_PRE_LVL"; - case CSR_PSKEY_TEMPERATURE_VS_DELTA_TX_BB: - return "TEMPERATURE_VS_DELTA_TX_BB"; - case CSR_PSKEY_TEMPERATURE_VS_DELTA_ANA_FTRIM: - return "TEMPERATURE_VS_DELTA_ANA_FTRIM"; - case CSR_PSKEY_TEST_DELTA_OFFSET: - return "TEST_DELTA_OFFSET"; - case CSR_PSKEY_RX_DYNAMIC_LVL_OFFSET: - return "RX_DYNAMIC_LVL_OFFSET"; - case CSR_PSKEY_TEST_FORCE_OFFSET: - return "TEST_FORCE_OFFSET"; - case CSR_PSKEY_RF_TRAP_BAD_DIVISION_RATIOS: - return "RF_TRAP_BAD_DIVISION_RATIOS"; - case CSR_PSKEY_RADIOTEST_CDMA_LO_REF_LIMITS: - return "RADIOTEST_CDMA_LO_REF_LIMITS"; - case CSR_PSKEY_INITIAL_BOOTMODE: - return "INITIAL_BOOTMODE"; - case CSR_PSKEY_ONCHIP_HCI_CLIENT: - return "ONCHIP_HCI_CLIENT"; - case CSR_PSKEY_RX_ATTEN_BACKOFF: - return "RX_ATTEN_BACKOFF"; - case CSR_PSKEY_RX_ATTEN_UPDATE_RATE: - return "RX_ATTEN_UPDATE_RATE"; - case CSR_PSKEY_SYNTH_TXRX_THRESHOLDS: - return "SYNTH_TXRX_THRESHOLDS"; - case CSR_PSKEY_MIN_WAIT_STATES: - return "MIN_WAIT_STATES"; - case CSR_PSKEY_RSSI_CORRECTION: - return "RSSI_CORRECTION"; - case CSR_PSKEY_SCHED_THROTTLE_TIMEOUT: - return "SCHED_THROTTLE_TIMEOUT"; - case CSR_PSKEY_DEEP_SLEEP_USE_EXTERNAL_CLOCK: - return "DEEP_SLEEP_USE_EXTERNAL_CLOCK"; - case CSR_PSKEY_TRIM_RADIO_FILTERS: - return "TRIM_RADIO_FILTERS"; - case CSR_PSKEY_TRANSMIT_OFFSET: - return "TRANSMIT_OFFSET"; - case CSR_PSKEY_USB_VM_CONTROL: - return "USB_VM_CONTROL"; - case CSR_PSKEY_MR_ANA_RX_FTRIM: - return "MR_ANA_RX_FTRIM"; - case CSR_PSKEY_I2C_CONFIG: - return "I2C_CONFIG"; - case CSR_PSKEY_IQ_LVL_RX: - return "IQ_LVL_RX"; - case CSR_PSKEY_MR_TX_FILTER_CONFIG: - return "MR_TX_FILTER_CONFIG"; - case CSR_PSKEY_MR_TX_CONFIG2: - return "MR_TX_CONFIG2"; - case CSR_PSKEY_USB_DONT_RESET_BOOTMODE_ON_HOST_RESET: - return "USB_DONT_RESET_BOOTMODE_ON_HOST_RESET"; - case CSR_PSKEY_LC_USE_THROTTLING: - return "LC_USE_THROTTLING"; - case CSR_PSKEY_CHARGER_TRIM: - return "CHARGER_TRIM"; - case CSR_PSKEY_CLOCK_REQUEST_FEATURES: - return "CLOCK_REQUEST_FEATURES"; - case CSR_PSKEY_TRANSMIT_OFFSET_CLASS1: - return "TRANSMIT_OFFSET_CLASS1"; - case CSR_PSKEY_TX_AVOID_PA_CLASS1_PIO: - return "TX_AVOID_PA_CLASS1_PIO"; - case CSR_PSKEY_MR_PIO_CONFIG: - return "MR_PIO_CONFIG"; - case CSR_PSKEY_UART_CONFIG2: - return "UART_CONFIG2"; - case CSR_PSKEY_CLASS1_IQ_LVL: - return "CLASS1_IQ_LVL"; - case CSR_PSKEY_CLASS1_TX_CONFIG2: - return "CLASS1_TX_CONFIG2"; - case CSR_PSKEY_TEMPERATURE_VS_DELTA_INTERNAL_PA_CLASS1: - return "TEMPERATURE_VS_DELTA_INTERNAL_PA_CLASS1"; - case CSR_PSKEY_TEMPERATURE_VS_DELTA_EXTERNAL_PA_CLASS1: - return "TEMPERATURE_VS_DELTA_EXTERNAL_PA_CLASS1"; - case CSR_PSKEY_TEMPERATURE_VS_DELTA_TX_PRE_LVL_MR: - return "TEMPERATURE_VS_DELTA_TX_PRE_LVL_MR"; - case CSR_PSKEY_TEMPERATURE_VS_DELTA_TX_BB_MR_HEADER: - return "TEMPERATURE_VS_DELTA_TX_BB_MR_HEADER"; - case CSR_PSKEY_TEMPERATURE_VS_DELTA_TX_BB_MR_PAYLOAD: - return "TEMPERATURE_VS_DELTA_TX_BB_MR_PAYLOAD"; - case CSR_PSKEY_RX_MR_EQ_TAPS: - return "RX_MR_EQ_TAPS"; - case CSR_PSKEY_TX_PRE_LVL_CLASS1: - return "TX_PRE_LVL_CLASS1"; - case CSR_PSKEY_ANALOGUE_ATTENUATOR: - return "ANALOGUE_ATTENUATOR"; - case CSR_PSKEY_MR_RX_FILTER_TRIM: - return "MR_RX_FILTER_TRIM"; - case CSR_PSKEY_MR_RX_FILTER_RESPONSE: - return "MR_RX_FILTER_RESPONSE"; - case CSR_PSKEY_PIO_WAKEUP_STATE: - return "PIO_WAKEUP_STATE"; - case CSR_PSKEY_MR_TX_IF_ATTEN_OFF_TEMP: - return "MR_TX_IF_ATTEN_OFF_TEMP"; - case CSR_PSKEY_LO_DIV_LATCH_BYPASS: - return "LO_DIV_LATCH_BYPASS"; - case CSR_PSKEY_LO_VCO_STANDBY: - return "LO_VCO_STANDBY"; - case CSR_PSKEY_SLOW_CLOCK_FILTER_SHIFT: - return "SLOW_CLOCK_FILTER_SHIFT"; - case CSR_PSKEY_SLOW_CLOCK_FILTER_DIVIDER: - return "SLOW_CLOCK_FILTER_DIVIDER"; - case CSR_PSKEY_USB_ATTRIBUTES_POWER: - return "USB_ATTRIBUTES_POWER"; - case CSR_PSKEY_USB_ATTRIBUTES_WAKEUP: - return "USB_ATTRIBUTES_WAKEUP"; - case CSR_PSKEY_DFU_ATTRIBUTES_MANIFESTATION_TOLERANT: - return "DFU_ATTRIBUTES_MANIFESTATION_TOLERANT"; - case CSR_PSKEY_DFU_ATTRIBUTES_CAN_UPLOAD: - return "DFU_ATTRIBUTES_CAN_UPLOAD"; - case CSR_PSKEY_DFU_ATTRIBUTES_CAN_DOWNLOAD: - return "DFU_ATTRIBUTES_CAN_DOWNLOAD"; - case CSR_PSKEY_UART_CONFIG_STOP_BITS: - return "UART_CONFIG_STOP_BITS"; - case CSR_PSKEY_UART_CONFIG_PARITY_BIT: - return "UART_CONFIG_PARITY_BIT"; - case CSR_PSKEY_UART_CONFIG_FLOW_CTRL_EN: - return "UART_CONFIG_FLOW_CTRL_EN"; - case CSR_PSKEY_UART_CONFIG_RTS_AUTO_EN: - return "UART_CONFIG_RTS_AUTO_EN"; - case CSR_PSKEY_UART_CONFIG_RTS: - return "UART_CONFIG_RTS"; - case CSR_PSKEY_UART_CONFIG_TX_ZERO_EN: - return "UART_CONFIG_TX_ZERO_EN"; - case CSR_PSKEY_UART_CONFIG_NON_BCSP_EN: - return "UART_CONFIG_NON_BCSP_EN"; - case CSR_PSKEY_UART_CONFIG_RX_RATE_DELAY: - return "UART_CONFIG_RX_RATE_DELAY"; - case CSR_PSKEY_UART_SEQ_TIMEOUT: - return "UART_SEQ_TIMEOUT"; - case CSR_PSKEY_UART_SEQ_RETRIES: - return "UART_SEQ_RETRIES"; - case CSR_PSKEY_UART_SEQ_WINSIZE: - return "UART_SEQ_WINSIZE"; - case CSR_PSKEY_UART_USE_CRC_ON_TX: - return "UART_USE_CRC_ON_TX"; - case CSR_PSKEY_UART_HOST_INITIAL_STATE: - return "UART_HOST_INITIAL_STATE"; - case CSR_PSKEY_UART_HOST_ATTENTION_SPAN: - return "UART_HOST_ATTENTION_SPAN"; - case CSR_PSKEY_UART_HOST_WAKEUP_TIME: - return "UART_HOST_WAKEUP_TIME"; - case CSR_PSKEY_UART_HOST_WAKEUP_WAIT: - return "UART_HOST_WAKEUP_WAIT"; - case CSR_PSKEY_BCSP_LM_MODE: - return "BCSP_LM_MODE"; - case CSR_PSKEY_BCSP_LM_SYNC_RETRIES: - return "BCSP_LM_SYNC_RETRIES"; - case CSR_PSKEY_BCSP_LM_TSHY: - return "BCSP_LM_TSHY"; - case CSR_PSKEY_UART_DFU_CONFIG_STOP_BITS: - return "UART_DFU_CONFIG_STOP_BITS"; - case CSR_PSKEY_UART_DFU_CONFIG_PARITY_BIT: - return "UART_DFU_CONFIG_PARITY_BIT"; - case CSR_PSKEY_UART_DFU_CONFIG_FLOW_CTRL_EN: - return "UART_DFU_CONFIG_FLOW_CTRL_EN"; - case CSR_PSKEY_UART_DFU_CONFIG_RTS_AUTO_EN: - return "UART_DFU_CONFIG_RTS_AUTO_EN"; - case CSR_PSKEY_UART_DFU_CONFIG_RTS: - return "UART_DFU_CONFIG_RTS"; - case CSR_PSKEY_UART_DFU_CONFIG_TX_ZERO_EN: - return "UART_DFU_CONFIG_TX_ZERO_EN"; - case CSR_PSKEY_UART_DFU_CONFIG_NON_BCSP_EN: - return "UART_DFU_CONFIG_NON_BCSP_EN"; - case CSR_PSKEY_UART_DFU_CONFIG_RX_RATE_DELAY: - return "UART_DFU_CONFIG_RX_RATE_DELAY"; - case CSR_PSKEY_AMUX_AIO0: - return "AMUX_AIO0"; - case CSR_PSKEY_AMUX_AIO1: - return "AMUX_AIO1"; - case CSR_PSKEY_AMUX_AIO2: - return "AMUX_AIO2"; - case CSR_PSKEY_AMUX_AIO3: - return "AMUX_AIO3"; - case CSR_PSKEY_LOCAL_NAME_SIMPLIFIED: - return "LOCAL_NAME_SIMPLIFIED"; - case CSR_PSKEY_EXTENDED_STUB: - return "EXTENDED_STUB"; - default: - return "UNKNOWN"; - } -} - -int csr_write_varid_valueless(int dd, uint16_t seqnum, uint16_t varid) -{ - unsigned char cmd[] = { 0x02, 0x00, 0x09, 0x00, - seqnum & 0xff, seqnum >> 8, varid & 0xff, varid >> 8, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; - - unsigned char cp[254], rp[254]; - struct hci_request rq; - - memset(&cp, 0, sizeof(cp)); - cp[0] = 0xc2; - memcpy(cp + 1, cmd, sizeof(cmd)); - - switch (varid) { - case CSR_VARID_COLD_RESET: - case CSR_VARID_WARM_RESET: - case CSR_VARID_COLD_HALT: - case CSR_VARID_WARM_HALT: - return hci_send_cmd(dd, OGF_VENDOR_CMD, 0x00, sizeof(cmd) + 1, cp); - } - - memset(&rq, 0, sizeof(rq)); - rq.ogf = OGF_VENDOR_CMD; - rq.ocf = 0x00; - rq.event = EVT_VENDOR; - rq.cparam = cp; - rq.clen = sizeof(cmd) + 1; - rq.rparam = rp; - rq.rlen = sizeof(rp); - - if (hci_send_req(dd, &rq, 2000) < 0) - return -1; - - if (rp[0] != 0xc2) { - errno = EIO; - return -1; - } - - if ((rp[9] + (rp[10] << 8)) != 0) { - errno = ENXIO; - return -1; - } - - return 0; -} - -int csr_write_varid_complex(int dd, uint16_t seqnum, uint16_t varid, uint8_t *value, uint16_t length) -{ - unsigned char cmd[] = { 0x02, 0x00, ((length / 2) + 5) & 0xff, ((length / 2) + 5) >> 8, - seqnum & 0xff, seqnum >> 8, varid & 0xff, varid >> 8, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; - - unsigned char cp[254], rp[254]; - struct hci_request rq; - - memset(&cp, 0, sizeof(cp)); - cp[0] = 0xc2; - memcpy(cp + 1, cmd, sizeof(cmd)); - memcpy(cp + 11, value, length); - - memset(&rq, 0, sizeof(rq)); - rq.ogf = OGF_VENDOR_CMD; - rq.ocf = 0x00; - rq.event = EVT_VENDOR; - rq.cparam = cp; - rq.clen = sizeof(cmd) + length + 1; - rq.rparam = rp; - rq.rlen = sizeof(rp); - - if (hci_send_req(dd, &rq, 2000) < 0) - return -1; - - if (rp[0] != 0xc2) { - errno = EIO; - return -1; - } - - if ((rp[9] + (rp[10] << 8)) != 0) { - errno = ENXIO; - return -1; - } - - return 0; -} - -int csr_read_varid_complex(int dd, uint16_t seqnum, uint16_t varid, uint8_t *value, uint16_t length) -{ - unsigned char cmd[] = { 0x00, 0x00, ((length / 2) + 5) & 0xff, ((length / 2) + 5) >> 8, - seqnum & 0xff, seqnum >> 8, varid & 0xff, varid >> 8, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; - - unsigned char cp[254], rp[254]; - struct hci_request rq; - - memset(&cp, 0, sizeof(cp)); - cp[0] = 0xc2; - memcpy(cp + 1, cmd, sizeof(cmd)); - memcpy(cp + 11, value, length); - - memset(&rq, 0, sizeof(rq)); - rq.ogf = OGF_VENDOR_CMD; - rq.ocf = 0x00; - rq.event = EVT_VENDOR; - rq.cparam = cp; - rq.clen = sizeof(cmd) + length + 1; - rq.rparam = rp; - rq.rlen = sizeof(rp); - - if (hci_send_req(dd, &rq, 2000) < 0) - return -1; - - if (rp[0] != 0xc2) { - errno = EIO; - return -1; - } - - if ((rp[9] + (rp[10] << 8)) != 0) { - errno = ENXIO; - return -1; - } - - memcpy(value, rp + 11, length); - - return 0; -} - -int csr_read_varid_uint16(int dd, uint16_t seqnum, uint16_t varid, uint16_t *value) -{ - unsigned char cmd[] = { 0x00, 0x00, 0x09, 0x00, - seqnum & 0xff, seqnum >> 8, varid & 0xff, varid >> 8, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; - - unsigned char cp[254], rp[254]; - struct hci_request rq; - - memset(&cp, 0, sizeof(cp)); - cp[0] = 0xc2; - memcpy(cp + 1, cmd, sizeof(cmd)); - - memset(&rq, 0, sizeof(rq)); - rq.ogf = OGF_VENDOR_CMD; - rq.ocf = 0x00; - rq.event = EVT_VENDOR; - rq.cparam = cp; - rq.clen = sizeof(cmd) + 1; - rq.rparam = rp; - rq.rlen = sizeof(rp); - - if (hci_send_req(dd, &rq, 2000) < 0) - return -1; - - if (rp[0] != 0xc2) { - errno = EIO; - return -1; - } - - if ((rp[9] + (rp[10] << 8)) != 0) { - errno = ENXIO; - return -1; - } - - *value = rp[11] + (rp[12] << 8); - - return 0; -} - -int csr_read_varid_uint32(int dd, uint16_t seqnum, uint16_t varid, uint32_t *value) -{ - unsigned char cmd[] = { 0x00, 0x00, 0x09, 0x00, - seqnum & 0xff, seqnum >> 8, varid & 0xff, varid >> 8, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; - - unsigned char cp[254], rp[254]; - struct hci_request rq; - - memset(&cp, 0, sizeof(cp)); - cp[0] = 0xc2; - memcpy(cp + 1, cmd, sizeof(cmd)); - - memset(&rq, 0, sizeof(rq)); - rq.ogf = OGF_VENDOR_CMD; - rq.ocf = 0x00; - rq.event = EVT_VENDOR; - rq.cparam = cp; - rq.clen = sizeof(cmd) + 1; - rq.rparam = rp; - rq.rlen = sizeof(rp); - - if (hci_send_req(dd, &rq, 2000) < 0) - return -1; - - if (rp[0] != 0xc2) { - errno = EIO; - return -1; - } - - if ((rp[9] + (rp[10] << 8)) != 0) { - errno = ENXIO; - return -1; - } - - *value = ((rp[11] + (rp[12] << 8)) << 16) + (rp[13] + (rp[14] << 8)); - - return 0; -} - -int csr_read_pskey_complex(int dd, uint16_t seqnum, uint16_t pskey, uint16_t stores, uint8_t *value, uint16_t length) -{ - unsigned char cmd[] = { 0x00, 0x00, ((length / 2) + 8) & 0xff, ((length / 2) + 8) >> 8, - seqnum & 0xff, seqnum >> 8, 0x03, 0x70, 0x00, 0x00, - pskey & 0xff, pskey >> 8, - (length / 2) & 0xff, (length / 2) >> 8, - stores & 0xff, stores >> 8, 0x00, 0x00 }; - - unsigned char cp[254], rp[254]; - struct hci_request rq; - - memset(&cp, 0, sizeof(cp)); - cp[0] = 0xc2; - memcpy(cp + 1, cmd, sizeof(cmd)); - - memset(&rq, 0, sizeof(rq)); - rq.ogf = OGF_VENDOR_CMD; - rq.ocf = 0x00; - rq.event = EVT_VENDOR; - rq.cparam = cp; - rq.clen = sizeof(cmd) + length - 1; - rq.rparam = rp; - rq.rlen = sizeof(rp); - - if (hci_send_req(dd, &rq, 2000) < 0) - return -1; - - if (rp[0] != 0xc2) { - errno = EIO; - return -1; - } - - if ((rp[9] + (rp[10] << 8)) != 0) { - errno = ENXIO; - return -1; - } - - memcpy(value, rp + 17, length); - - return 0; -} - -int csr_write_pskey_complex(int dd, uint16_t seqnum, uint16_t pskey, uint16_t stores, uint8_t *value, uint16_t length) -{ - unsigned char cmd[] = { 0x02, 0x00, ((length / 2) + 8) & 0xff, ((length / 2) + 8) >> 8, - seqnum & 0xff, seqnum >> 8, 0x03, 0x70, 0x00, 0x00, - pskey & 0xff, pskey >> 8, - (length / 2) & 0xff, (length / 2) >> 8, - stores & 0xff, stores >> 8, 0x00, 0x00 }; - - unsigned char cp[254], rp[254]; - struct hci_request rq; - - memset(&cp, 0, sizeof(cp)); - cp[0] = 0xc2; - memcpy(cp + 1, cmd, sizeof(cmd)); - - memcpy(cp + 17, value, length); - - memset(&rq, 0, sizeof(rq)); - rq.ogf = OGF_VENDOR_CMD; - rq.ocf = 0x00; - rq.event = EVT_VENDOR; - rq.cparam = cp; - rq.clen = sizeof(cmd) + length - 1; - rq.rparam = rp; - rq.rlen = sizeof(rp); - - if (hci_send_req(dd, &rq, 2000) < 0) - return -1; - - if (rp[0] != 0xc2) { - errno = EIO; - return -1; - } - - if ((rp[9] + (rp[10] << 8)) != 0) { - errno = ENXIO; - return -1; - } - - return 0; -} - -int csr_read_pskey_uint16(int dd, uint16_t seqnum, uint16_t pskey, uint16_t stores, uint16_t *value) -{ - uint8_t array[2] = { 0x00, 0x00 }; - int err; - - err = csr_read_pskey_complex(dd, seqnum, pskey, stores, array, 2); - - *value = array[0] + (array[1] << 8); - - return err; -} - -int csr_write_pskey_uint16(int dd, uint16_t seqnum, uint16_t pskey, uint16_t stores, uint16_t value) -{ - uint8_t array[2] = { value & 0xff, value >> 8 }; - - return csr_write_pskey_complex(dd, seqnum, pskey, stores, array, 2); -} - -int csr_read_pskey_uint32(int dd, uint16_t seqnum, uint16_t pskey, uint16_t stores, uint32_t *value) -{ - uint8_t array[4] = { 0x00, 0x00, 0x00, 0x00 }; - int err; - - err = csr_read_pskey_complex(dd, seqnum, pskey, stores, array, 4); - - *value = ((array[0] + (array[1] << 8)) << 16) + - (array[2] + (array[3] << 8)); - - return err; -} - -int csr_write_pskey_uint32(int dd, uint16_t seqnum, uint16_t pskey, uint16_t stores, uint32_t value) -{ - uint8_t array[4] = { (value & 0xff0000) >> 16, value >> 24, - value & 0xff, (value & 0xff00) >> 8 }; - - return csr_write_pskey_complex(dd, seqnum, pskey, stores, array, 4); -} - -int psr_put(uint16_t pskey, uint8_t *value, uint16_t size) -{ - struct psr_data *item; - - item = malloc(sizeof(*item)); - if (!item) - return -ENOMEM; - - item->pskey = pskey; - - if (size > 0) { - item->value = malloc(size); - if (!item->value) { - free(item); - return -ENOMEM; - } - - memcpy(item->value, value, size); - item->size = size; - } else { - item->value = NULL; - item->size = 0; - } - - item->next = NULL; - - if (!head) - head = item; - else - tail->next = item; - - tail = item; - - return 0; -} - -int psr_get(uint16_t *pskey, uint8_t *value, uint16_t *size) -{ - struct psr_data *item = head; - - if (!head) - return -ENOENT; - - *pskey = item->pskey; - - if (item->value) { - if (value && item->size > 0) - memcpy(value, item->value, item->size); - free(item->value); - *size = item->size; - } else - *size = 0; - - if (head == tail) - tail = NULL; - - head = head->next; - free(item); - - return 0; -} - -static int parse_line(char *str) -{ - uint8_t array[256]; - uint16_t value, pskey, length = 0; - char *off, *end; - - pskey = strtol(str + 1, NULL, 16); - off = strstr(str, "=") + 1; - if (!off) - return -EIO; - - while (1) { - value = strtol(off, &end, 16); - if (value == 0 && off == end) - break; - - array[length++] = value & 0xff; - array[length++] = value >> 8; - - if (*end == '\0') - break; - - off = end + 1; - } - - return psr_put(pskey, array, length); -} - -int psr_read(const char *filename) -{ - struct stat st; - char *str, *map, *off, *end; - int fd, err = 0; - - fd = open(filename, O_RDONLY); - if (fd < 0) - return fd; - - if (fstat(fd, &st) < 0) { - err = -errno; - goto close; - } - - map = mmap(0, st.st_size, PROT_READ, MAP_SHARED, fd, 0); - if (!map || map == MAP_FAILED) { - err = -errno; - goto close; - } - - off = map; - - while (1) { - if (*off == '\r' || *off == '\n') { - off++; - continue; - } - - end = strpbrk(off, "\r\n"); - if (!end) - break; - - str = malloc(end - off + 1); - if (!str) - break; - - memset(str, 0, end - off + 1); - strncpy(str, off, end - off); - if (*str == '&') - parse_line(str); - - free(str); - off = end + 1; - } - - munmap(map, st.st_size); - -close: - close(fd); - - return err; -} - -int psr_print(void) -{ - uint8_t array[256]; - uint16_t pskey, length; - char *str, val[7]; - int i; - - while (1) { - if (psr_get(&pskey, array, &length) < 0) - break; - - str = csr_pskeytoval(pskey); - if (!strcasecmp(str, "UNKNOWN")) { - sprintf(val, "0x%04x", pskey); - str = NULL; - } - - printf("// %s%s\n&%04x =", str ? "PSKEY_" : "", - str ? str : val, pskey); - for (i = 0; i < length / 2; i++) - printf(" %02x%02x", array[i * 2 + 1], array[i * 2]); - printf("\n"); - } - - return 0; -} diff --git a/GRIB_BLE_HUB/libs/ble_extend/tools/csr.h b/GRIB_BLE_HUB/libs/ble_extend/tools/csr.h deleted file mode 100644 index 8b94d7b..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/tools/csr.h +++ /dev/null @@ -1,553 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2003-2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#include -#include - -#define CSR_VARID_PS_CLR_ALL 0x000b /* valueless */ -#define CSR_VARID_PS_FACTORY_SET 0x000c /* valueless */ -#define CSR_VARID_PS_CLR_ALL_STORES 0x082d /* uint16 */ -#define CSR_VARID_BC01_STATUS 0x2801 /* uint16 */ -#define CSR_VARID_BUILDID 0x2819 /* uint16 */ -#define CSR_VARID_CHIPVER 0x281a /* uint16 */ -#define CSR_VARID_CHIPREV 0x281b /* uint16 */ -#define CSR_VARID_INTERFACE_VERSION 0x2825 /* uint16 */ -#define CSR_VARID_RAND 0x282a /* uint16 */ -#define CSR_VARID_MAX_CRYPT_KEY_LENGTH 0x282c /* uint16 */ -#define CSR_VARID_CHIPANAREV 0x2836 /* uint16 */ -#define CSR_VARID_BUILDID_LOADER 0x2838 /* uint16 */ -#define CSR_VARID_BT_CLOCK 0x2c00 /* uint32 */ -#define CSR_VARID_PS_NEXT 0x3005 /* complex */ -#define CSR_VARID_PS_SIZE 0x3006 /* complex */ -#define CSR_VARID_CRYPT_KEY_LENGTH 0x3008 /* complex */ -#define CSR_VARID_PICONET_INSTANCE 0x3009 /* complex */ -#define CSR_VARID_GET_CLR_EVT 0x300a /* complex */ -#define CSR_VARID_GET_NEXT_BUILDDEF 0x300b /* complex */ -#define CSR_VARID_PS_MEMORY_TYPE 0x3012 /* complex */ -#define CSR_VARID_READ_BUILD_NAME 0x301c /* complex */ -#define CSR_VARID_COLD_RESET 0x4001 /* valueless */ -#define CSR_VARID_WARM_RESET 0x4002 /* valueless */ -#define CSR_VARID_COLD_HALT 0x4003 /* valueless */ -#define CSR_VARID_WARM_HALT 0x4004 /* valueless */ -#define CSR_VARID_INIT_BT_STACK 0x4005 /* valueless */ -#define CSR_VARID_ACTIVATE_BT_STACK 0x4006 /* valueless */ -#define CSR_VARID_ENABLE_TX 0x4007 /* valueless */ -#define CSR_VARID_DISABLE_TX 0x4008 /* valueless */ -#define CSR_VARID_RECAL 0x4009 /* valueless */ -#define CSR_VARID_PS_FACTORY_RESTORE 0x400d /* valueless */ -#define CSR_VARID_PS_FACTORY_RESTORE_ALL 0x400e /* valueless */ -#define CSR_VARID_PS_DEFRAG_RESET 0x400f /* valueless */ -#define CSR_VARID_KILL_VM_APPLICATION 0x4010 /* valueless */ -#define CSR_VARID_HOPPING_ON 0x4011 /* valueless */ -#define CSR_VARID_CANCEL_PAGE 0x4012 /* valueless */ -#define CSR_VARID_PS_CLR 0x4818 /* uint16 */ -#define CSR_VARID_MAP_SCO_PCM 0x481c /* uint16 */ -#define CSR_VARID_SINGLE_CHAN 0x482e /* uint16 */ -#define CSR_VARID_RADIOTEST 0x5004 /* complex */ -#define CSR_VARID_PS_CLR_STORES 0x500c /* complex */ -#define CSR_VARID_NO_VARIABLE 0x6000 /* valueless */ -#define CSR_VARID_CONFIG_UART 0x6802 /* uint16 */ -#define CSR_VARID_PANIC_ARG 0x6805 /* uint16 */ -#define CSR_VARID_FAULT_ARG 0x6806 /* uint16 */ -#define CSR_VARID_MAX_TX_POWER 0x6827 /* int8 */ -#define CSR_VARID_DEFAULT_TX_POWER 0x682b /* int8 */ -#define CSR_VARID_PS 0x7003 /* complex */ - -#define CSR_PSKEY_BDADDR 0x0001 /* bdaddr / uint16[] = { 0x00A5A5, 0x5b, 0x0002 } */ -#define CSR_PSKEY_COUNTRYCODE 0x0002 /* uint16 */ -#define CSR_PSKEY_CLASSOFDEVICE 0x0003 /* bdcod */ -#define CSR_PSKEY_DEVICE_DRIFT 0x0004 /* uint16 */ -#define CSR_PSKEY_DEVICE_JITTER 0x0005 /* uint16 */ -#define CSR_PSKEY_MAX_ACLS 0x000d /* uint16 */ -#define CSR_PSKEY_MAX_SCOS 0x000e /* uint16 */ -#define CSR_PSKEY_MAX_REMOTE_MASTERS 0x000f /* uint16 */ -#define CSR_PSKEY_ENABLE_MASTERY_WITH_SLAVERY 0x0010 /* bool */ -#define CSR_PSKEY_H_HC_FC_MAX_ACL_PKT_LEN 0x0011 /* uint16 */ -#define CSR_PSKEY_H_HC_FC_MAX_SCO_PKT_LEN 0x0012 /* uint8 */ -#define CSR_PSKEY_H_HC_FC_MAX_ACL_PKTS 0x0013 /* uint16 */ -#define CSR_PSKEY_H_HC_FC_MAX_SCO_PKTS 0x0014 /* uint16 */ -#define CSR_PSKEY_LC_FC_BUFFER_LOW_WATER_MARK 0x0015 /* lc_fc_lwm */ -#define CSR_PSKEY_LC_MAX_TX_POWER 0x0017 /* int16 */ -#define CSR_PSKEY_TX_GAIN_RAMP 0x001d /* uint16 */ -#define CSR_PSKEY_LC_POWER_TABLE 0x001e /* power_setting[] */ -#define CSR_PSKEY_LC_PEER_POWER_PERIOD 0x001f /* TIME */ -#define CSR_PSKEY_LC_FC_POOLS_LOW_WATER_MARK 0x0020 /* lc_fc_lwm */ -#define CSR_PSKEY_LC_DEFAULT_TX_POWER 0x0021 /* int16 */ -#define CSR_PSKEY_LC_RSSI_GOLDEN_RANGE 0x0022 /* uint8 */ -#define CSR_PSKEY_LC_COMBO_DISABLE_PIO_MASK 0x0028 /* uint16[] */ -#define CSR_PSKEY_LC_COMBO_PRIORITY_PIO_MASK 0x0029 /* uint16[] */ -#define CSR_PSKEY_LC_COMBO_DOT11_CHANNEL_PIO_BASE 0x002a /* uint16 */ -#define CSR_PSKEY_LC_COMBO_DOT11_BLOCK_CHANNELS 0x002b /* uint16 */ -#define CSR_PSKEY_LC_MAX_TX_POWER_NO_RSSI 0x002d /* int8 */ -#define CSR_PSKEY_LC_CONNECTION_RX_WINDOW 0x002e /* uint16 */ -#define CSR_PSKEY_LC_COMBO_DOT11_TX_PROTECTION_MODE 0x0030 /* uint16 */ -#define CSR_PSKEY_LC_ENHANCED_POWER_TABLE 0x0031 /* enhanced_power_setting[] */ -#define CSR_PSKEY_LC_WIDEBAND_RSSI_CONFIG 0x0032 /* wideband_rssi_config */ -#define CSR_PSKEY_LC_COMBO_DOT11_PRIORITY_LEAD 0x0033 /* uint16 */ -#define CSR_PSKEY_BT_CLOCK_INIT 0x0034 /* uint32 */ -#define CSR_PSKEY_TX_MR_MOD_DELAY 0x0038 /* uint8 */ -#define CSR_PSKEY_RX_MR_SYNC_TIMING 0x0039 /* uint16 */ -#define CSR_PSKEY_RX_MR_SYNC_CONFIG 0x003a /* uint16 */ -#define CSR_PSKEY_LC_LOST_SYNC_SLOTS 0x003b /* uint16 */ -#define CSR_PSKEY_RX_MR_SAMP_CONFIG 0x003c /* uint16 */ -#define CSR_PSKEY_AGC_HYST_LEVELS 0x003d /* agc_hyst_config */ -#define CSR_PSKEY_RX_LEVEL_LOW_SIGNAL 0x003e /* uint16 */ -#define CSR_PSKEY_AGC_IQ_LVL_VALUES 0x003f /* IQ_LVL_VAL[] */ -#define CSR_PSKEY_MR_FTRIM_OFFSET_12DB 0x0040 /* uint16 */ -#define CSR_PSKEY_MR_FTRIM_OFFSET_6DB 0x0041 /* uint16 */ -#define CSR_PSKEY_NO_CAL_ON_BOOT 0x0042 /* bool */ -#define CSR_PSKEY_RSSI_HI_TARGET 0x0043 /* uint8 */ -#define CSR_PSKEY_PREFERRED_MIN_ATTENUATION 0x0044 /* uint8 */ -#define CSR_PSKEY_LC_COMBO_DOT11_PRIORITY_OVERRIDE 0x0045 /* bool */ -#define CSR_PSKEY_LC_MULTISLOT_HOLDOFF 0x0047 /* TIME */ -#define CSR_PSKEY_FREE_KEY_PIGEON_HOLE 0x00c9 /* uint16 */ -#define CSR_PSKEY_LINK_KEY_BD_ADDR0 0x00ca /* LM_LINK_KEY_BD_ADDR_T */ -#define CSR_PSKEY_LINK_KEY_BD_ADDR1 0x00cb /* LM_LINK_KEY_BD_ADDR_T */ -#define CSR_PSKEY_LINK_KEY_BD_ADDR2 0x00cc /* LM_LINK_KEY_BD_ADDR_T */ -#define CSR_PSKEY_LINK_KEY_BD_ADDR3 0x00cd /* LM_LINK_KEY_BD_ADDR_T */ -#define CSR_PSKEY_LINK_KEY_BD_ADDR4 0x00ce /* LM_LINK_KEY_BD_ADDR_T */ -#define CSR_PSKEY_LINK_KEY_BD_ADDR5 0x00cf /* LM_LINK_KEY_BD_ADDR_T */ -#define CSR_PSKEY_LINK_KEY_BD_ADDR6 0x00d0 /* LM_LINK_KEY_BD_ADDR_T */ -#define CSR_PSKEY_LINK_KEY_BD_ADDR7 0x00d1 /* LM_LINK_KEY_BD_ADDR_T */ -#define CSR_PSKEY_LINK_KEY_BD_ADDR8 0x00d2 /* LM_LINK_KEY_BD_ADDR_T */ -#define CSR_PSKEY_LINK_KEY_BD_ADDR9 0x00d3 /* LM_LINK_KEY_BD_ADDR_T */ -#define CSR_PSKEY_LINK_KEY_BD_ADDR10 0x00d4 /* LM_LINK_KEY_BD_ADDR_T */ -#define CSR_PSKEY_LINK_KEY_BD_ADDR11 0x00d5 /* LM_LINK_KEY_BD_ADDR_T */ -#define CSR_PSKEY_LINK_KEY_BD_ADDR12 0x00d6 /* LM_LINK_KEY_BD_ADDR_T */ -#define CSR_PSKEY_LINK_KEY_BD_ADDR13 0x00d7 /* LM_LINK_KEY_BD_ADDR_T */ -#define CSR_PSKEY_LINK_KEY_BD_ADDR14 0x00d8 /* LM_LINK_KEY_BD_ADDR_T */ -#define CSR_PSKEY_LINK_KEY_BD_ADDR15 0x00d9 /* LM_LINK_KEY_BD_ADDR_T */ -#define CSR_PSKEY_ENC_KEY_LMIN 0x00da /* uint16 */ -#define CSR_PSKEY_ENC_KEY_LMAX 0x00db /* uint16 */ -#define CSR_PSKEY_LOCAL_SUPPORTED_FEATURES 0x00ef /* uint16[] = { 0xffff, 0xfe8f, 0xf99b, 0x8000 }*/ -#define CSR_PSKEY_LM_USE_UNIT_KEY 0x00f0 /* bool */ -#define CSR_PSKEY_HCI_NOP_DISABLE 0x00f2 /* bool */ -#define CSR_PSKEY_LM_MAX_EVENT_FILTERS 0x00f4 /* uint8 */ -#define CSR_PSKEY_LM_USE_ENC_MODE_BROADCAST 0x00f5 /* bool */ -#define CSR_PSKEY_LM_TEST_SEND_ACCEPTED_TWICE 0x00f6 /* bool */ -#define CSR_PSKEY_LM_MAX_PAGE_HOLD_TIME 0x00f7 /* uint16 */ -#define CSR_PSKEY_AFH_ADAPTATION_RESPONSE_TIME 0x00f8 /* uint16 */ -#define CSR_PSKEY_AFH_OPTIONS 0x00f9 /* uint16 */ -#define CSR_PSKEY_AFH_RSSI_RUN_PERIOD 0x00fa /* uint16 */ -#define CSR_PSKEY_AFH_REENABLE_CHANNEL_TIME 0x00fb /* uint16 */ -#define CSR_PSKEY_NO_DROP_ON_ACR_MS_FAIL 0x00fc /* bool */ -#define CSR_PSKEY_MAX_PRIVATE_KEYS 0x00fd /* uint8 */ -#define CSR_PSKEY_PRIVATE_LINK_KEY_BD_ADDR0 0x00fe /* LM_LINK_KEY_BD_ADDR_T */ -#define CSR_PSKEY_PRIVATE_LINK_KEY_BD_ADDR1 0x00ff /* LM_LINK_KEY_BD_ADDR_T */ -#define CSR_PSKEY_PRIVATE_LINK_KEY_BD_ADDR2 0x0100 /* LM_LINK_KEY_BD_ADDR_T */ -#define CSR_PSKEY_PRIVATE_LINK_KEY_BD_ADDR3 0x0101 /* LM_LINK_KEY_BD_ADDR_T */ -#define CSR_PSKEY_PRIVATE_LINK_KEY_BD_ADDR4 0x0102 /* LM_LINK_KEY_BD_ADDR_T */ -#define CSR_PSKEY_PRIVATE_LINK_KEY_BD_ADDR5 0x0103 /* LM_LINK_KEY_BD_ADDR_T */ -#define CSR_PSKEY_PRIVATE_LINK_KEY_BD_ADDR6 0x0104 /* LM_LINK_KEY_BD_ADDR_T */ -#define CSR_PSKEY_PRIVATE_LINK_KEY_BD_ADDR7 0x0105 /* LM_LINK_KEY_BD_ADDR_T */ -#define CSR_PSKEY_LOCAL_SUPPORTED_COMMANDS 0x0106 /* uint16[] = { 0xffff, 0x03ff, 0xfffe, 0xffff, 0xffff, 0xffff, 0x0ff3, 0xfff8, 0x003f } */ -#define CSR_PSKEY_LM_MAX_ABSENCE_INDEX 0x0107 /* uint8 */ -#define CSR_PSKEY_DEVICE_NAME 0x0108 /* uint16[] */ -#define CSR_PSKEY_AFH_RSSI_THRESHOLD 0x0109 /* uint16 */ -#define CSR_PSKEY_LM_CASUAL_SCAN_INTERVAL 0x010a /* uint16 */ -#define CSR_PSKEY_AFH_MIN_MAP_CHANGE 0x010b /* uint16[] */ -#define CSR_PSKEY_AFH_RSSI_LP_RUN_PERIOD 0x010c /* uint16 */ -#define CSR_PSKEY_HCI_LMP_LOCAL_VERSION 0x010d /* uint16 */ -#define CSR_PSKEY_LMP_REMOTE_VERSION 0x010e /* uint8 */ -#define CSR_PSKEY_HOLD_ERROR_MESSAGE_NUMBER 0x0113 /* uint16 */ -#define CSR_PSKEY_DFU_ATTRIBUTES 0x0136 /* uint8 */ -#define CSR_PSKEY_DFU_DETACH_TO 0x0137 /* uint16 */ -#define CSR_PSKEY_DFU_TRANSFER_SIZE 0x0138 /* uint16 */ -#define CSR_PSKEY_DFU_ENABLE 0x0139 /* bool */ -#define CSR_PSKEY_DFU_LIN_REG_ENABLE 0x013a /* bool */ -#define CSR_PSKEY_DFUENC_VMAPP_PK_MODULUS_MSB 0x015e /* uint16[] */ -#define CSR_PSKEY_DFUENC_VMAPP_PK_MODULUS_LSB 0x015f /* uint16[] */ -#define CSR_PSKEY_DFUENC_VMAPP_PK_M_DASH 0x0160 /* uint16 */ -#define CSR_PSKEY_DFUENC_VMAPP_PK_R2N_MSB 0x0161 /* uint16[] */ -#define CSR_PSKEY_DFUENC_VMAPP_PK_R2N_LSB 0x0162 /* uint16[] */ -#define CSR_PSKEY_BCSP_LM_PS_BLOCK 0x0192 /* BCSP_LM_PS_BLOCK */ -#define CSR_PSKEY_HOSTIO_FC_PS_BLOCK 0x0193 /* HOSTIO_FC_PS_BLOCK */ -#define CSR_PSKEY_HOSTIO_PROTOCOL_INFO0 0x0194 /* PROTOCOL_INFO */ -#define CSR_PSKEY_HOSTIO_PROTOCOL_INFO1 0x0195 /* PROTOCOL_INFO */ -#define CSR_PSKEY_HOSTIO_PROTOCOL_INFO2 0x0196 /* PROTOCOL_INFO */ -#define CSR_PSKEY_HOSTIO_PROTOCOL_INFO3 0x0197 /* PROTOCOL_INFO */ -#define CSR_PSKEY_HOSTIO_PROTOCOL_INFO4 0x0198 /* PROTOCOL_INFO */ -#define CSR_PSKEY_HOSTIO_PROTOCOL_INFO5 0x0199 /* PROTOCOL_INFO */ -#define CSR_PSKEY_HOSTIO_PROTOCOL_INFO6 0x019a /* PROTOCOL_INFO */ -#define CSR_PSKEY_HOSTIO_PROTOCOL_INFO7 0x019b /* PROTOCOL_INFO */ -#define CSR_PSKEY_HOSTIO_PROTOCOL_INFO8 0x019c /* PROTOCOL_INFO */ -#define CSR_PSKEY_HOSTIO_PROTOCOL_INFO9 0x019d /* PROTOCOL_INFO */ -#define CSR_PSKEY_HOSTIO_PROTOCOL_INFO10 0x019e /* PROTOCOL_INFO */ -#define CSR_PSKEY_HOSTIO_PROTOCOL_INFO11 0x019f /* PROTOCOL_INFO */ -#define CSR_PSKEY_HOSTIO_PROTOCOL_INFO12 0x01a0 /* PROTOCOL_INFO */ -#define CSR_PSKEY_HOSTIO_PROTOCOL_INFO13 0x01a1 /* PROTOCOL_INFO */ -#define CSR_PSKEY_HOSTIO_PROTOCOL_INFO14 0x01a2 /* PROTOCOL_INFO */ -#define CSR_PSKEY_HOSTIO_PROTOCOL_INFO15 0x01a3 /* PROTOCOL_INFO */ -#define CSR_PSKEY_HOSTIO_UART_RESET_TIMEOUT 0x01a4 /* TIME */ -#define CSR_PSKEY_HOSTIO_USE_HCI_EXTN 0x01a5 /* bool */ -#define CSR_PSKEY_HOSTIO_USE_HCI_EXTN_CCFC 0x01a6 /* bool */ -#define CSR_PSKEY_HOSTIO_HCI_EXTN_PAYLOAD_SIZE 0x01a7 /* uint16 */ -#define CSR_PSKEY_BCSP_LM_CNF_CNT_LIMIT 0x01aa /* uint16 */ -#define CSR_PSKEY_HOSTIO_MAP_SCO_PCM 0x01ab /* bool */ -#define CSR_PSKEY_HOSTIO_AWKWARD_PCM_SYNC 0x01ac /* bool */ -#define CSR_PSKEY_HOSTIO_BREAK_POLL_PERIOD 0x01ad /* TIME */ -#define CSR_PSKEY_HOSTIO_MIN_UART_HCI_SCO_SIZE 0x01ae /* uint16 */ -#define CSR_PSKEY_HOSTIO_MAP_SCO_CODEC 0x01b0 /* bool */ -#define CSR_PSKEY_PCM_CVSD_TX_HI_FREQ_BOOST 0x01b1 /* uint16 */ -#define CSR_PSKEY_PCM_CVSD_RX_HI_FREQ_BOOST 0x01b2 /* uint16 */ -#define CSR_PSKEY_PCM_CONFIG32 0x01b3 /* uint32 */ -#define CSR_PSKEY_USE_OLD_BCSP_LE 0x01b4 /* uint16 */ -#define CSR_PSKEY_PCM_CVSD_USE_NEW_FILTER 0x01b5 /* bool */ -#define CSR_PSKEY_PCM_FORMAT 0x01b6 /* uint16 */ -#define CSR_PSKEY_CODEC_OUT_GAIN 0x01b7 /* uint16 */ -#define CSR_PSKEY_CODEC_IN_GAIN 0x01b8 /* uint16 */ -#define CSR_PSKEY_CODEC_PIO 0x01b9 /* uint16 */ -#define CSR_PSKEY_PCM_LOW_JITTER_CONFIG 0x01ba /* uint32 */ -#define CSR_PSKEY_HOSTIO_SCO_PCM_THRESHOLDS 0x01bb /* uint16[] */ -#define CSR_PSKEY_HOSTIO_SCO_HCI_THRESHOLDS 0x01bc /* uint16[] */ -#define CSR_PSKEY_HOSTIO_MAP_SCO_PCM_SLOT 0x01bd /* uint16 */ -#define CSR_PSKEY_UART_BAUDRATE 0x01be /* uint16 */ -#define CSR_PSKEY_UART_CONFIG_BCSP 0x01bf /* uint16 */ -#define CSR_PSKEY_UART_CONFIG_H4 0x01c0 /* uint16 */ -#define CSR_PSKEY_UART_CONFIG_H5 0x01c1 /* uint16 */ -#define CSR_PSKEY_UART_CONFIG_USR 0x01c2 /* uint16 */ -#define CSR_PSKEY_UART_TX_CRCS 0x01c3 /* bool */ -#define CSR_PSKEY_UART_ACK_TIMEOUT 0x01c4 /* uint16 */ -#define CSR_PSKEY_UART_TX_MAX_ATTEMPTS 0x01c5 /* uint16 */ -#define CSR_PSKEY_UART_TX_WINDOW_SIZE 0x01c6 /* uint16 */ -#define CSR_PSKEY_UART_HOST_WAKE 0x01c7 /* uint16[] */ -#define CSR_PSKEY_HOSTIO_THROTTLE_TIMEOUT 0x01c8 /* TIME */ -#define CSR_PSKEY_PCM_ALWAYS_ENABLE 0x01c9 /* bool */ -#define CSR_PSKEY_UART_HOST_WAKE_SIGNAL 0x01ca /* uint16 */ -#define CSR_PSKEY_UART_CONFIG_H4DS 0x01cb /* uint16 */ -#define CSR_PSKEY_H4DS_WAKE_DURATION 0x01cc /* uint16 */ -#define CSR_PSKEY_H4DS_MAXWU 0x01cd /* uint16 */ -#define CSR_PSKEY_H4DS_LE_TIMER_PERIOD 0x01cf /* uint16 */ -#define CSR_PSKEY_H4DS_TWU_TIMER_PERIOD 0x01d0 /* uint16 */ -#define CSR_PSKEY_H4DS_UART_IDLE_TIMER_PERIOD 0x01d1 /* uint16 */ -#define CSR_PSKEY_ANA_FTRIM 0x01f6 /* uint16 */ -#define CSR_PSKEY_WD_TIMEOUT 0x01f7 /* TIME */ -#define CSR_PSKEY_WD_PERIOD 0x01f8 /* TIME */ -#define CSR_PSKEY_HOST_INTERFACE 0x01f9 /* phys_bus */ -#define CSR_PSKEY_HQ_HOST_TIMEOUT 0x01fb /* TIME */ -#define CSR_PSKEY_HQ_ACTIVE 0x01fc /* bool */ -#define CSR_PSKEY_BCCMD_SECURITY_ACTIVE 0x01fd /* bool */ -#define CSR_PSKEY_ANA_FREQ 0x01fe /* uint16 */ -#define CSR_PSKEY_PIO_PROTECT_MASK 0x0202 /* uint16 */ -#define CSR_PSKEY_PMALLOC_SIZES 0x0203 /* uint16[] */ -#define CSR_PSKEY_UART_BAUD_RATE 0x0204 /* uint16 */ -#define CSR_PSKEY_UART_CONFIG 0x0205 /* uint16 */ -#define CSR_PSKEY_STUB 0x0207 /* uint16 */ -#define CSR_PSKEY_TXRX_PIO_CONTROL 0x0209 /* uint16 */ -#define CSR_PSKEY_ANA_RX_LEVEL 0x020b /* uint16 */ -#define CSR_PSKEY_ANA_RX_FTRIM 0x020c /* uint16 */ -#define CSR_PSKEY_PSBC_DATA_VERSION 0x020d /* uint16 */ -#define CSR_PSKEY_PCM0_ATTENUATION 0x020f /* uint16 */ -#define CSR_PSKEY_LO_LVL_MAX 0x0211 /* uint16 */ -#define CSR_PSKEY_LO_ADC_AMPL_MIN 0x0212 /* uint16 */ -#define CSR_PSKEY_LO_ADC_AMPL_MAX 0x0213 /* uint16 */ -#define CSR_PSKEY_IQ_TRIM_CHANNEL 0x0214 /* uint16 */ -#define CSR_PSKEY_IQ_TRIM_GAIN 0x0215 /* uint16 */ -#define CSR_PSKEY_IQ_TRIM_ENABLE 0x0216 /* iq_trim_enable_flag */ -#define CSR_PSKEY_TX_OFFSET_HALF_MHZ 0x0217 /* int16 */ -#define CSR_PSKEY_GBL_MISC_ENABLES 0x0221 /* uint16 */ -#define CSR_PSKEY_UART_SLEEP_TIMEOUT 0x0222 /* uint16 */ -#define CSR_PSKEY_DEEP_SLEEP_STATE 0x0229 /* deep_sleep_state */ -#define CSR_PSKEY_IQ_ENABLE_PHASE_TRIM 0x022d /* bool */ -#define CSR_PSKEY_HCI_HANDLE_FREEZE_PERIOD 0x0237 /* TIME */ -#define CSR_PSKEY_MAX_FROZEN_HCI_HANDLES 0x0238 /* uint16 */ -#define CSR_PSKEY_PAGETABLE_DESTRUCTION_DELAY 0x0239 /* TIME */ -#define CSR_PSKEY_IQ_TRIM_PIO_SETTINGS 0x023a /* uint8 */ -#define CSR_PSKEY_USE_EXTERNAL_CLOCK 0x023b /* bool */ -#define CSR_PSKEY_DEEP_SLEEP_WAKE_CTS 0x023c /* uint16 */ -#define CSR_PSKEY_FC_HC2H_FLUSH_DELAY 0x023d /* TIME */ -#define CSR_PSKEY_RX_HIGHSIDE 0x023e /* bool */ -#define CSR_PSKEY_TX_PRE_LVL 0x0240 /* uint8 */ -#define CSR_PSKEY_RX_SINGLE_ENDED 0x0242 /* bool */ -#define CSR_PSKEY_TX_FILTER_CONFIG 0x0243 /* uint32 */ -#define CSR_PSKEY_CLOCK_REQUEST_ENABLE 0x0246 /* uint16 */ -#define CSR_PSKEY_RX_MIN_ATTEN 0x0249 /* uint16 */ -#define CSR_PSKEY_XTAL_TARGET_AMPLITUDE 0x024b /* uint8 */ -#define CSR_PSKEY_PCM_MIN_CPU_CLOCK 0x024d /* uint16 */ -#define CSR_PSKEY_HOST_INTERFACE_PIO_USB 0x0250 /* uint16 */ -#define CSR_PSKEY_CPU_IDLE_MODE 0x0251 /* cpu_idle_mode */ -#define CSR_PSKEY_DEEP_SLEEP_CLEAR_RTS 0x0252 /* bool */ -#define CSR_PSKEY_RF_RESONANCE_TRIM 0x0254 /* uint16 */ -#define CSR_PSKEY_DEEP_SLEEP_PIO_WAKE 0x0255 /* uint16 */ -#define CSR_PSKEY_DRAIN_BORE_TIMERS 0x0256 /* uint32[] */ -#define CSR_PSKEY_DRAIN_TX_POWER_BASE 0x0257 /* uint16 */ -#define CSR_PSKEY_MODULE_ID 0x0259 /* uint32 */ -#define CSR_PSKEY_MODULE_DESIGN 0x025a /* uint16 */ -#define CSR_PSKEY_MODULE_SECURITY_CODE 0x025c /* uint16[] */ -#define CSR_PSKEY_VM_DISABLE 0x025d /* bool */ -#define CSR_PSKEY_MOD_MANUF0 0x025e /* uint16[] */ -#define CSR_PSKEY_MOD_MANUF1 0x025f /* uint16[] */ -#define CSR_PSKEY_MOD_MANUF2 0x0260 /* uint16[] */ -#define CSR_PSKEY_MOD_MANUF3 0x0261 /* uint16[] */ -#define CSR_PSKEY_MOD_MANUF4 0x0262 /* uint16[] */ -#define CSR_PSKEY_MOD_MANUF5 0x0263 /* uint16[] */ -#define CSR_PSKEY_MOD_MANUF6 0x0264 /* uint16[] */ -#define CSR_PSKEY_MOD_MANUF7 0x0265 /* uint16[] */ -#define CSR_PSKEY_MOD_MANUF8 0x0266 /* uint16[] */ -#define CSR_PSKEY_MOD_MANUF9 0x0267 /* uint16[] */ -#define CSR_PSKEY_DUT_VM_DISABLE 0x0268 /* bool */ -#define CSR_PSKEY_USR0 0x028a /* uint16[] */ -#define CSR_PSKEY_USR1 0x028b /* uint16[] */ -#define CSR_PSKEY_USR2 0x028c /* uint16[] */ -#define CSR_PSKEY_USR3 0x028d /* uint16[] */ -#define CSR_PSKEY_USR4 0x028e /* uint16[] */ -#define CSR_PSKEY_USR5 0x028f /* uint16[] */ -#define CSR_PSKEY_USR6 0x0290 /* uint16[] */ -#define CSR_PSKEY_USR7 0x0291 /* uint16[] */ -#define CSR_PSKEY_USR8 0x0292 /* uint16[] */ -#define CSR_PSKEY_USR9 0x0293 /* uint16[] */ -#define CSR_PSKEY_USR10 0x0294 /* uint16[] */ -#define CSR_PSKEY_USR11 0x0295 /* uint16[] */ -#define CSR_PSKEY_USR12 0x0296 /* uint16[] */ -#define CSR_PSKEY_USR13 0x0297 /* uint16[] */ -#define CSR_PSKEY_USR14 0x0298 /* uint16[] */ -#define CSR_PSKEY_USR15 0x0299 /* uint16[] */ -#define CSR_PSKEY_USR16 0x029a /* uint16[] */ -#define CSR_PSKEY_USR17 0x029b /* uint16[] */ -#define CSR_PSKEY_USR18 0x029c /* uint16[] */ -#define CSR_PSKEY_USR19 0x029d /* uint16[] */ -#define CSR_PSKEY_USR20 0x029e /* uint16[] */ -#define CSR_PSKEY_USR21 0x029f /* uint16[] */ -#define CSR_PSKEY_USR22 0x02a0 /* uint16[] */ -#define CSR_PSKEY_USR23 0x02a1 /* uint16[] */ -#define CSR_PSKEY_USR24 0x02a2 /* uint16[] */ -#define CSR_PSKEY_USR25 0x02a3 /* uint16[] */ -#define CSR_PSKEY_USR26 0x02a4 /* uint16[] */ -#define CSR_PSKEY_USR27 0x02a5 /* uint16[] */ -#define CSR_PSKEY_USR28 0x02a6 /* uint16[] */ -#define CSR_PSKEY_USR29 0x02a7 /* uint16[] */ -#define CSR_PSKEY_USR30 0x02a8 /* uint16[] */ -#define CSR_PSKEY_USR31 0x02a9 /* uint16[] */ -#define CSR_PSKEY_USR32 0x02aa /* uint16[] */ -#define CSR_PSKEY_USR33 0x02ab /* uint16[] */ -#define CSR_PSKEY_USR34 0x02ac /* uint16[] */ -#define CSR_PSKEY_USR35 0x02ad /* uint16[] */ -#define CSR_PSKEY_USR36 0x02ae /* uint16[] */ -#define CSR_PSKEY_USR37 0x02af /* uint16[] */ -#define CSR_PSKEY_USR38 0x02b0 /* uint16[] */ -#define CSR_PSKEY_USR39 0x02b1 /* uint16[] */ -#define CSR_PSKEY_USR40 0x02b2 /* uint16[] */ -#define CSR_PSKEY_USR41 0x02b3 /* uint16[] */ -#define CSR_PSKEY_USR42 0x02b4 /* uint16[] */ -#define CSR_PSKEY_USR43 0x02b5 /* uint16[] */ -#define CSR_PSKEY_USR44 0x02b6 /* uint16[] */ -#define CSR_PSKEY_USR45 0x02b7 /* uint16[] */ -#define CSR_PSKEY_USR46 0x02b8 /* uint16[] */ -#define CSR_PSKEY_USR47 0x02b9 /* uint16[] */ -#define CSR_PSKEY_USR48 0x02ba /* uint16[] */ -#define CSR_PSKEY_USR49 0x02bb /* uint16[] */ -#define CSR_PSKEY_USB_VERSION 0x02bc /* uint16 */ -#define CSR_PSKEY_USB_DEVICE_CLASS_CODES 0x02bd /* usbclass */ -#define CSR_PSKEY_USB_VENDOR_ID 0x02be /* uint16 */ -#define CSR_PSKEY_USB_PRODUCT_ID 0x02bf /* uint16 */ -#define CSR_PSKEY_USB_MANUF_STRING 0x02c1 /* unicodestring */ -#define CSR_PSKEY_USB_PRODUCT_STRING 0x02c2 /* unicodestring */ -#define CSR_PSKEY_USB_SERIAL_NUMBER_STRING 0x02c3 /* unicodestring */ -#define CSR_PSKEY_USB_CONFIG_STRING 0x02c4 /* unicodestring */ -#define CSR_PSKEY_USB_ATTRIBUTES 0x02c5 /* uint8 */ -#define CSR_PSKEY_USB_MAX_POWER 0x02c6 /* uint16 */ -#define CSR_PSKEY_USB_BT_IF_CLASS_CODES 0x02c7 /* usbclass */ -#define CSR_PSKEY_USB_LANGID 0x02c9 /* uint16 */ -#define CSR_PSKEY_USB_DFU_CLASS_CODES 0x02ca /* usbclass */ -#define CSR_PSKEY_USB_DFU_PRODUCT_ID 0x02cb /* uint16 */ -#define CSR_PSKEY_USB_PIO_DETACH 0x02ce /* uint16 */ -#define CSR_PSKEY_USB_PIO_WAKEUP 0x02cf /* uint16 */ -#define CSR_PSKEY_USB_PIO_PULLUP 0x02d0 /* uint16 */ -#define CSR_PSKEY_USB_PIO_VBUS 0x02d1 /* uint16 */ -#define CSR_PSKEY_USB_PIO_WAKE_TIMEOUT 0x02d2 /* uint16 */ -#define CSR_PSKEY_USB_PIO_RESUME 0x02d3 /* uint16 */ -#define CSR_PSKEY_USB_BT_SCO_IF_CLASS_CODES 0x02d4 /* usbclass */ -#define CSR_PSKEY_USB_SUSPEND_PIO_LEVEL 0x02d5 /* uint16 */ -#define CSR_PSKEY_USB_SUSPEND_PIO_DIR 0x02d6 /* uint16 */ -#define CSR_PSKEY_USB_SUSPEND_PIO_MASK 0x02d7 /* uint16 */ -#define CSR_PSKEY_USB_ENDPOINT_0_MAX_PACKET_SIZE 0x02d8 /* uint8 */ -#define CSR_PSKEY_USB_CONFIG 0x02d9 /* uint16 */ -#define CSR_PSKEY_RADIOTEST_ATTEN_INIT 0x0320 /* uint16 */ -#define CSR_PSKEY_RADIOTEST_FIRST_TRIM_TIME 0x0326 /* TIME */ -#define CSR_PSKEY_RADIOTEST_SUBSEQUENT_TRIM_TIME 0x0327 /* TIME */ -#define CSR_PSKEY_RADIOTEST_LO_LVL_TRIM_ENABLE 0x0328 /* bool */ -#define CSR_PSKEY_RADIOTEST_DISABLE_MODULATION 0x032c /* bool */ -#define CSR_PSKEY_RFCOMM_FCON_THRESHOLD 0x0352 /* uint16 */ -#define CSR_PSKEY_RFCOMM_FCOFF_THRESHOLD 0x0353 /* uint16 */ -#define CSR_PSKEY_IPV6_STATIC_ADDR 0x0354 /* uint16[] */ -#define CSR_PSKEY_IPV4_STATIC_ADDR 0x0355 /* uint32 */ -#define CSR_PSKEY_IPV6_STATIC_PREFIX_LEN 0x0356 /* uint8 */ -#define CSR_PSKEY_IPV6_STATIC_ROUTER_ADDR 0x0357 /* uint16[] */ -#define CSR_PSKEY_IPV4_STATIC_SUBNET_MASK 0x0358 /* uint32 */ -#define CSR_PSKEY_IPV4_STATIC_ROUTER_ADDR 0x0359 /* uint32 */ -#define CSR_PSKEY_MDNS_NAME 0x035a /* char[] */ -#define CSR_PSKEY_FIXED_PIN 0x035b /* uint8[] */ -#define CSR_PSKEY_MDNS_PORT 0x035c /* uint16 */ -#define CSR_PSKEY_MDNS_TTL 0x035d /* uint8 */ -#define CSR_PSKEY_MDNS_IPV4_ADDR 0x035e /* uint32 */ -#define CSR_PSKEY_ARP_CACHE_TIMEOUT 0x035f /* uint16 */ -#define CSR_PSKEY_HFP_POWER_TABLE 0x0360 /* uint16[] */ -#define CSR_PSKEY_DRAIN_BORE_TIMER_COUNTERS 0x03e7 /* uint32[] */ -#define CSR_PSKEY_DRAIN_BORE_COUNTERS 0x03e6 /* uint32[] */ -#define CSR_PSKEY_LOOP_FILTER_TRIM 0x03e4 /* uint16 */ -#define CSR_PSKEY_DRAIN_BORE_CURRENT_PEAK 0x03e3 /* uint32[] */ -#define CSR_PSKEY_VM_E2_CACHE_LIMIT 0x03e2 /* uint16 */ -#define CSR_PSKEY_FORCE_16MHZ_REF_PIO 0x03e1 /* uint16 */ -#define CSR_PSKEY_CDMA_LO_REF_LIMITS 0x03df /* uint16 */ -#define CSR_PSKEY_CDMA_LO_ERROR_LIMITS 0x03de /* uint16 */ -#define CSR_PSKEY_CLOCK_STARTUP_DELAY 0x03dd /* uint16 */ -#define CSR_PSKEY_DEEP_SLEEP_CORRECTION_FACTOR 0x03dc /* int16 */ -#define CSR_PSKEY_TEMPERATURE_CALIBRATION 0x03db /* temperature_calibration */ -#define CSR_PSKEY_TEMPERATURE_VS_DELTA_INTERNAL_PA 0x03da /* temperature_calibration[] */ -#define CSR_PSKEY_TEMPERATURE_VS_DELTA_TX_PRE_LVL 0x03d9 /* temperature_calibration[] */ -#define CSR_PSKEY_TEMPERATURE_VS_DELTA_TX_BB 0x03d8 /* temperature_calibration[] */ -#define CSR_PSKEY_TEMPERATURE_VS_DELTA_ANA_FTRIM 0x03d7 /* temperature_calibration[] */ -#define CSR_PSKEY_TEST_DELTA_OFFSET 0x03d6 /* uint16 */ -#define CSR_PSKEY_RX_DYNAMIC_LVL_OFFSET 0x03d4 /* uint16 */ -#define CSR_PSKEY_TEST_FORCE_OFFSET 0x03d3 /* bool */ -#define CSR_PSKEY_RF_TRAP_BAD_DIVISION_RATIOS 0x03cf /* uint16 */ -#define CSR_PSKEY_RADIOTEST_CDMA_LO_REF_LIMITS 0x03ce /* uint16 */ -#define CSR_PSKEY_INITIAL_BOOTMODE 0x03cd /* int16 */ -#define CSR_PSKEY_ONCHIP_HCI_CLIENT 0x03cc /* bool */ -#define CSR_PSKEY_RX_ATTEN_BACKOFF 0x03ca /* uint16 */ -#define CSR_PSKEY_RX_ATTEN_UPDATE_RATE 0x03c9 /* uint16 */ -#define CSR_PSKEY_SYNTH_TXRX_THRESHOLDS 0x03c7 /* uint16 */ -#define CSR_PSKEY_MIN_WAIT_STATES 0x03c6 /* uint16 */ -#define CSR_PSKEY_RSSI_CORRECTION 0x03c5 /* int8 */ -#define CSR_PSKEY_SCHED_THROTTLE_TIMEOUT 0x03c4 /* TIME */ -#define CSR_PSKEY_DEEP_SLEEP_USE_EXTERNAL_CLOCK 0x03c3 /* bool */ -#define CSR_PSKEY_TRIM_RADIO_FILTERS 0x03c2 /* uint16 */ -#define CSR_PSKEY_TRANSMIT_OFFSET 0x03c1 /* int16 */ -#define CSR_PSKEY_USB_VM_CONTROL 0x03c0 /* bool */ -#define CSR_PSKEY_MR_ANA_RX_FTRIM 0x03bf /* uint16 */ -#define CSR_PSKEY_I2C_CONFIG 0x03be /* uint16 */ -#define CSR_PSKEY_IQ_LVL_RX 0x03bd /* uint16 */ -#define CSR_PSKEY_MR_TX_FILTER_CONFIG 0x03bb /* uint32 */ -#define CSR_PSKEY_MR_TX_CONFIG2 0x03ba /* uint16 */ -#define CSR_PSKEY_USB_DONT_RESET_BOOTMODE_ON_HOST_RESET 0x03b9 /* bool */ -#define CSR_PSKEY_LC_USE_THROTTLING 0x03b8 /* bool */ -#define CSR_PSKEY_CHARGER_TRIM 0x03b7 /* uint16 */ -#define CSR_PSKEY_CLOCK_REQUEST_FEATURES 0x03b6 /* uint16 */ -#define CSR_PSKEY_TRANSMIT_OFFSET_CLASS1 0x03b4 /* int16 */ -#define CSR_PSKEY_TX_AVOID_PA_CLASS1_PIO 0x03b3 /* uint16 */ -#define CSR_PSKEY_MR_PIO_CONFIG 0x03b2 /* uint16 */ -#define CSR_PSKEY_UART_CONFIG2 0x03b1 /* uint8 */ -#define CSR_PSKEY_CLASS1_IQ_LVL 0x03b0 /* uint16 */ -#define CSR_PSKEY_CLASS1_TX_CONFIG2 0x03af /* uint16 */ -#define CSR_PSKEY_TEMPERATURE_VS_DELTA_INTERNAL_PA_CLASS1 0x03ae /* temperature_calibration[] */ -#define CSR_PSKEY_TEMPERATURE_VS_DELTA_EXTERNAL_PA_CLASS1 0x03ad /* temperature_calibration[] */ -#define CSR_PSKEY_TEMPERATURE_VS_DELTA_TX_PRE_LVL_MR 0x03ac /* temperature_calibration[] */ -#define CSR_PSKEY_TEMPERATURE_VS_DELTA_TX_BB_MR_HEADER 0x03ab /* temperature_calibration[] */ -#define CSR_PSKEY_TEMPERATURE_VS_DELTA_TX_BB_MR_PAYLOAD 0x03aa /* temperature_calibration[] */ -#define CSR_PSKEY_RX_MR_EQ_TAPS 0x03a9 /* uint16[] */ -#define CSR_PSKEY_TX_PRE_LVL_CLASS1 0x03a8 /* uint8 */ -#define CSR_PSKEY_ANALOGUE_ATTENUATOR 0x03a7 /* bool */ -#define CSR_PSKEY_MR_RX_FILTER_TRIM 0x03a6 /* uint16 */ -#define CSR_PSKEY_MR_RX_FILTER_RESPONSE 0x03a5 /* int16[] */ -#define CSR_PSKEY_PIO_WAKEUP_STATE 0x039f /* uint16 */ -#define CSR_PSKEY_MR_TX_IF_ATTEN_OFF_TEMP 0x0394 /* int16 */ -#define CSR_PSKEY_LO_DIV_LATCH_BYPASS 0x0393 /* bool */ -#define CSR_PSKEY_LO_VCO_STANDBY 0x0392 /* bool */ -#define CSR_PSKEY_SLOW_CLOCK_FILTER_SHIFT 0x0391 /* uint16 */ -#define CSR_PSKEY_SLOW_CLOCK_FILTER_DIVIDER 0x0390 /* uint16 */ -#define CSR_PSKEY_USB_ATTRIBUTES_POWER 0x03f2 /* bool */ -#define CSR_PSKEY_USB_ATTRIBUTES_WAKEUP 0x03f3 /* bool */ -#define CSR_PSKEY_DFU_ATTRIBUTES_MANIFESTATION_TOLERANT 0x03f4 /* bool */ -#define CSR_PSKEY_DFU_ATTRIBUTES_CAN_UPLOAD 0x03f5 /* bool */ -#define CSR_PSKEY_DFU_ATTRIBUTES_CAN_DOWNLOAD 0x03f6 /* bool */ -#define CSR_PSKEY_UART_CONFIG_STOP_BITS 0x03fc /* bool */ -#define CSR_PSKEY_UART_CONFIG_PARITY_BIT 0x03fd /* uint16 */ -#define CSR_PSKEY_UART_CONFIG_FLOW_CTRL_EN 0x03fe /* bool */ -#define CSR_PSKEY_UART_CONFIG_RTS_AUTO_EN 0x03ff /* bool */ -#define CSR_PSKEY_UART_CONFIG_RTS 0x0400 /* bool */ -#define CSR_PSKEY_UART_CONFIG_TX_ZERO_EN 0x0401 /* bool */ -#define CSR_PSKEY_UART_CONFIG_NON_BCSP_EN 0x0402 /* bool */ -#define CSR_PSKEY_UART_CONFIG_RX_RATE_DELAY 0x0403 /* uint16 */ -#define CSR_PSKEY_UART_SEQ_TIMEOUT 0x0405 /* uint16 */ -#define CSR_PSKEY_UART_SEQ_RETRIES 0x0406 /* uint16 */ -#define CSR_PSKEY_UART_SEQ_WINSIZE 0x0407 /* uint16 */ -#define CSR_PSKEY_UART_USE_CRC_ON_TX 0x0408 /* bool */ -#define CSR_PSKEY_UART_HOST_INITIAL_STATE 0x0409 /* hwakeup_state */ -#define CSR_PSKEY_UART_HOST_ATTENTION_SPAN 0x040a /* uint16 */ -#define CSR_PSKEY_UART_HOST_WAKEUP_TIME 0x040b /* uint16 */ -#define CSR_PSKEY_UART_HOST_WAKEUP_WAIT 0x040c /* uint16 */ -#define CSR_PSKEY_BCSP_LM_MODE 0x0410 /* uint16 */ -#define CSR_PSKEY_BCSP_LM_SYNC_RETRIES 0x0411 /* uint16 */ -#define CSR_PSKEY_BCSP_LM_TSHY 0x0412 /* uint16 */ -#define CSR_PSKEY_UART_DFU_CONFIG_STOP_BITS 0x0417 /* bool */ -#define CSR_PSKEY_UART_DFU_CONFIG_PARITY_BIT 0x0418 /* uint16 */ -#define CSR_PSKEY_UART_DFU_CONFIG_FLOW_CTRL_EN 0x0419 /* bool */ -#define CSR_PSKEY_UART_DFU_CONFIG_RTS_AUTO_EN 0x041a /* bool */ -#define CSR_PSKEY_UART_DFU_CONFIG_RTS 0x041b /* bool */ -#define CSR_PSKEY_UART_DFU_CONFIG_TX_ZERO_EN 0x041c /* bool */ -#define CSR_PSKEY_UART_DFU_CONFIG_NON_BCSP_EN 0x041d /* bool */ -#define CSR_PSKEY_UART_DFU_CONFIG_RX_RATE_DELAY 0x041e /* uint16 */ -#define CSR_PSKEY_AMUX_AIO0 0x041f /* ana_amux_sel */ -#define CSR_PSKEY_AMUX_AIO1 0x0420 /* ana_amux_sel */ -#define CSR_PSKEY_AMUX_AIO2 0x0421 /* ana_amux_sel */ -#define CSR_PSKEY_AMUX_AIO3 0x0422 /* ana_amux_sel */ -#define CSR_PSKEY_LOCAL_NAME_SIMPLIFIED 0x0423 /* local_name_complete */ -#define CSR_PSKEY_EXTENDED_STUB 0x2001 /* uint16 */ - -char *csr_builddeftostr(uint16_t def); -char *csr_buildidtostr(uint16_t id); -char *csr_chipvertostr(uint16_t ver, uint16_t rev); -char *csr_pskeytostr(uint16_t pskey); -char *csr_pskeytoval(uint16_t pskey); - -int csr_open_hci(char *device); -int csr_read_hci(uint16_t varid, uint8_t *value, uint16_t length); -int csr_write_hci(uint16_t varid, uint8_t *value, uint16_t length); -void csr_close_hci(void); - -int csr_open_usb(char *device); -int csr_read_usb(uint16_t varid, uint8_t *value, uint16_t length); -int csr_write_usb(uint16_t varid, uint8_t *value, uint16_t length); -void csr_close_usb(void); - -int csr_open_bcsp(char *device, speed_t bcsp_rate); -int csr_read_bcsp(uint16_t varid, uint8_t *value, uint16_t length); -int csr_write_bcsp(uint16_t varid, uint8_t *value, uint16_t length); -void csr_close_bcsp(void); - -int csr_open_h4(char *device); -int csr_read_h4(uint16_t varid, uint8_t *value, uint16_t length); -int csr_write_h4(uint16_t varid, uint8_t *value, uint16_t length); -void csr_close_h4(void); - -int csr_open_3wire(char *device); -int csr_read_3wire(uint16_t varid, uint8_t *value, uint16_t length); -int csr_write_3wire(uint16_t varid, uint8_t *value, uint16_t length); -void csr_close_3wire(void); - -int csr_write_varid_valueless(int dd, uint16_t seqnum, uint16_t varid); -int csr_write_varid_complex(int dd, uint16_t seqnum, uint16_t varid, uint8_t *value, uint16_t length); -int csr_read_varid_complex(int dd, uint16_t seqnum, uint16_t varid, uint8_t *value, uint16_t length); -int csr_read_varid_uint16(int dd, uint16_t seqnum, uint16_t varid, uint16_t *value); -int csr_read_varid_uint32(int dd, uint16_t seqnum, uint16_t varid, uint32_t *value); -int csr_read_pskey_complex(int dd, uint16_t seqnum, uint16_t pskey, uint16_t stores, uint8_t *value, uint16_t length); -int csr_write_pskey_complex(int dd, uint16_t seqnum, uint16_t pskey, uint16_t stores, uint8_t *value, uint16_t length); -int csr_read_pskey_uint16(int dd, uint16_t seqnum, uint16_t pskey, uint16_t stores, uint16_t *value); -int csr_write_pskey_uint16(int dd, uint16_t seqnum, uint16_t pskey, uint16_t stores, uint16_t value); -int csr_read_pskey_uint32(int dd, uint16_t seqnum, uint16_t pskey, uint16_t stores, uint32_t *value); -int csr_write_pskey_uint32(int dd, uint16_t seqnum, uint16_t pskey, uint16_t stores, uint32_t value); - -int psr_put(uint16_t pskey, uint8_t *value, uint16_t size); -int psr_get(uint16_t *pskey, uint8_t *value, uint16_t *size); -int psr_read(const char *filename); -int psr_print(void); diff --git a/GRIB_BLE_HUB/libs/ble_extend/tools/csr_3wire.c b/GRIB_BLE_HUB/libs/ble_extend/tools/csr_3wire.c deleted file mode 100644 index 33fcf38..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/tools/csr_3wire.c +++ /dev/null @@ -1,62 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2004-2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include -#include - -#include "csr.h" - -static uint16_t seqnum = 0x0000; - -int csr_open_3wire(char *device) -{ - fprintf(stderr, "Transport not implemented\n"); - - return -1; -} - -static int do_command(uint16_t command, uint16_t seqnum, uint16_t varid, uint8_t *value, uint16_t length) -{ - errno = EIO; - - return -1; -} - -int csr_read_3wire(uint16_t varid, uint8_t *value, uint16_t length) -{ - return do_command(0x0000, seqnum++, varid, value, length); -} - -int csr_write_3wire(uint16_t varid, uint8_t *value, uint16_t length) -{ - return do_command(0x0002, seqnum++, varid, value, length); -} - -void csr_close_3wire(void) -{ -} diff --git a/GRIB_BLE_HUB/libs/ble_extend/tools/csr_bcsp.c b/GRIB_BLE_HUB/libs/ble_extend/tools/csr_bcsp.c deleted file mode 100644 index f7afe53..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/tools/csr_bcsp.c +++ /dev/null @@ -1,256 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2004-2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include -#include -#include -#include -#include -#include - -#include "csr.h" -#include "ubcsp.h" - -static uint16_t seqnum = 0x0000; - -static int fd = -1; - -static struct ubcsp_packet send_packet; -static uint8_t send_buffer[512]; - -static struct ubcsp_packet receive_packet; -static uint8_t receive_buffer[512]; - -int csr_open_bcsp(char *device, speed_t bcsp_rate) -{ - struct termios ti; - uint8_t delay, activity = 0x00; - int timeout = 0; - - if (!device) - device = "/dev/ttyS0"; - - fd = open(device, O_RDWR | O_NOCTTY); - if (fd < 0) { - fprintf(stderr, "Can't open serial port: %s (%d)\n", - strerror(errno), errno); - return -1; - } - - tcflush(fd, TCIOFLUSH); - - if (tcgetattr(fd, &ti) < 0) { - fprintf(stderr, "Can't get port settings: %s (%d)\n", - strerror(errno), errno); - close(fd); - return -1; - } - - cfmakeraw(&ti); - - ti.c_cflag |= CLOCAL; - ti.c_cflag &= ~CRTSCTS; - ti.c_cflag |= PARENB; - ti.c_cflag &= ~PARODD; - ti.c_cflag &= ~CSIZE; - ti.c_cflag |= CS8; - ti.c_cflag &= ~CSTOPB; - - ti.c_cc[VMIN] = 1; - ti.c_cc[VTIME] = 0; - - cfsetospeed(&ti, bcsp_rate); - - if (tcsetattr(fd, TCSANOW, &ti) < 0) { - fprintf(stderr, "Can't change port settings: %s (%d)\n", - strerror(errno), errno); - close(fd); - return -1; - } - - tcflush(fd, TCIOFLUSH); - - if (fcntl(fd, F_SETFL, fcntl(fd, F_GETFL, 0) | O_NONBLOCK) < 0) { - fprintf(stderr, "Can't set non blocking mode: %s (%d)\n", - strerror(errno), errno); - close(fd); - return -1; - } - - memset(&send_packet, 0, sizeof(send_packet)); - memset(&receive_packet, 0, sizeof(receive_packet)); - - ubcsp_initialize(); - - send_packet.length = 512; - send_packet.payload = send_buffer; - - receive_packet.length = 512; - receive_packet.payload = receive_buffer; - - ubcsp_receive_packet(&receive_packet); - - while (1) { - delay = ubcsp_poll(&activity); - - if (activity & UBCSP_PACKET_SENT) - break; - - if (delay) { - usleep(delay * 100); - - if (timeout++ > 5000) { - fprintf(stderr, "Initialization timed out\n"); - return -1; - } - } - } - - return 0; -} - -void put_uart(uint8_t ch) -{ - if (write(fd, &ch, 1) < 0) - fprintf(stderr, "UART write error\n"); -} - -uint8_t get_uart(uint8_t *ch) -{ - int res = read(fd, ch, 1); - return res > 0 ? res : 0; -} - -static int do_command(uint16_t command, uint16_t seqnum, uint16_t varid, uint8_t *value, uint16_t length) -{ - unsigned char cp[254], rp[254]; - uint8_t cmd[10]; - uint16_t size; - uint8_t delay, activity = 0x00; - int timeout = 0, sent = 0; - - size = (length < 8) ? 9 : ((length + 1) / 2) + 5; - - cmd[0] = command & 0xff; - cmd[1] = command >> 8; - cmd[2] = size & 0xff; - cmd[3] = size >> 8; - cmd[4] = seqnum & 0xff; - cmd[5] = seqnum >> 8; - cmd[6] = varid & 0xff; - cmd[7] = varid >> 8; - cmd[8] = 0x00; - cmd[9] = 0x00; - - memset(cp, 0, sizeof(cp)); - cp[0] = 0x00; - cp[1] = 0xfc; - cp[2] = (size * 2) + 1; - cp[3] = 0xc2; - memcpy(cp + 4, cmd, sizeof(cmd)); - memcpy(cp + 14, value, length); - - receive_packet.length = 512; - ubcsp_receive_packet(&receive_packet); - - send_packet.channel = 5; - send_packet.reliable = 1; - send_packet.length = (size * 2) + 4; - memcpy(send_packet.payload, cp, (size * 2) + 4); - - ubcsp_send_packet(&send_packet); - - while (1) { - delay = ubcsp_poll(&activity); - - if (activity & UBCSP_PACKET_SENT) { - switch (varid) { - case CSR_VARID_COLD_RESET: - case CSR_VARID_WARM_RESET: - case CSR_VARID_COLD_HALT: - case CSR_VARID_WARM_HALT: - return 0; - } - - sent = 1; - timeout = 0; - } - - if (activity & UBCSP_PACKET_RECEIVED) { - if (sent && receive_packet.channel == 5 && - receive_packet.payload[0] == 0xff) { - memcpy(rp, receive_packet.payload, - receive_packet.length); - break; - } - - receive_packet.length = 512; - ubcsp_receive_packet(&receive_packet); - timeout = 0; - } - - if (delay) { - usleep(delay * 100); - - if (timeout++ > 5000) { - fprintf(stderr, "Operation timed out\n"); - errno = ETIMEDOUT; - return -1; - } - } - } - - if (rp[0] != 0xff || rp[2] != 0xc2) { - errno = EIO; - return -1; - } - - if ((rp[11] + (rp[12] << 8)) != 0) { - errno = ENXIO; - return -1; - } - - memcpy(value, rp + 13, length); - - return 0; -} - -int csr_read_bcsp(uint16_t varid, uint8_t *value, uint16_t length) -{ - return do_command(0x0000, seqnum++, varid, value, length); -} - -int csr_write_bcsp(uint16_t varid, uint8_t *value, uint16_t length) -{ - return do_command(0x0002, seqnum++, varid, value, length); -} - -void csr_close_bcsp(void) -{ - close(fd); -} diff --git a/GRIB_BLE_HUB/libs/ble_extend/tools/csr_h4.c b/GRIB_BLE_HUB/libs/ble_extend/tools/csr_h4.c deleted file mode 100644 index 3371770..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/tools/csr_h4.c +++ /dev/null @@ -1,165 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2004-2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include -#include -#include -#include -#include -#include - -#include "csr.h" - -static uint16_t seqnum = 0x0000; - -static int fd = -1; - -int csr_open_h4(char *device) -{ - struct termios ti; - - if (!device) - device = "/dev/ttyS0"; - - fd = open(device, O_RDWR | O_NOCTTY); - if (fd < 0) { - fprintf(stderr, "Can't open serial port: %s (%d)\n", - strerror(errno), errno); - return -1; - } - - tcflush(fd, TCIOFLUSH); - - if (tcgetattr(fd, &ti) < 0) { - fprintf(stderr, "Can't get port settings: %s (%d)\n", - strerror(errno), errno); - close(fd); - return -1; - } - - cfmakeraw(&ti); - - ti.c_cflag |= CLOCAL; - ti.c_cflag |= CRTSCTS; - - cfsetospeed(&ti, B38400); - - if (tcsetattr(fd, TCSANOW, &ti) < 0) { - fprintf(stderr, "Can't change port settings: %s (%d)\n", - strerror(errno), errno); - close(fd); - return -1; - } - - tcflush(fd, TCIOFLUSH); - - return 0; -} - -static int do_command(uint16_t command, uint16_t seqnum, uint16_t varid, uint8_t *value, uint16_t length) -{ - unsigned char cp[254], rp[254]; - uint8_t cmd[10]; - uint16_t size; - int len, offset = 3; - - size = (length < 8) ? 9 : ((length + 1) / 2) + 5; - - cmd[0] = command & 0xff; - cmd[1] = command >> 8; - cmd[2] = size & 0xff; - cmd[3] = size >> 8; - cmd[4] = seqnum & 0xff; - cmd[5] = seqnum >> 8; - cmd[6] = varid & 0xff; - cmd[7] = varid >> 8; - cmd[8] = 0x00; - cmd[9] = 0x00; - - memset(cp, 0, sizeof(cp)); - cp[0] = 0x01; - cp[1] = 0x00; - cp[2] = 0xfc; - cp[3] = (size * 2) + 1; - cp[4] = 0xc2; - memcpy(cp + 5, cmd, sizeof(cmd)); - memcpy(cp + 15, value, length); - - if (write(fd, cp, (size * 2) + 5) < 0) - return -1; - - switch (varid) { - case CSR_VARID_COLD_RESET: - case CSR_VARID_WARM_RESET: - case CSR_VARID_COLD_HALT: - case CSR_VARID_WARM_HALT: - return 0; - } - - do { - if (read(fd, rp, 1) < 1) - return -1; - } while (rp[0] != 0x04); - - if (read(fd, rp + 1, 2) < 2) - return -1; - - do { - len = read(fd, rp + offset, sizeof(rp) - offset); - offset += len; - } while (offset < rp[2] + 3); - - if (rp[0] != 0x04 || rp[1] != 0xff || rp[3] != 0xc2) { - errno = EIO; - return -1; - } - - if ((rp[12] + (rp[13] << 8)) != 0) { - errno = ENXIO; - return -1; - } - - memcpy(value, rp + 14, length); - - return 0; -} - -int csr_read_h4(uint16_t varid, uint8_t *value, uint16_t length) -{ - return do_command(0x0000, seqnum++, varid, value, length); -} - -int csr_write_h4(uint16_t varid, uint8_t *value, uint16_t length) -{ - return do_command(0x0002, seqnum++, varid, value, length); -} - -void csr_close_h4(void) -{ - close(fd); -} diff --git a/GRIB_BLE_HUB/libs/ble_extend/tools/csr_hci.c b/GRIB_BLE_HUB/libs/ble_extend/tools/csr_hci.c deleted file mode 100644 index 6bd37c3..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/tools/csr_hci.c +++ /dev/null @@ -1,160 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2004-2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include -#include -#include - -#include -#include -#include - -#include "csr.h" - -static uint16_t seqnum = 0x0000; - -static int dd = -1; - -int csr_open_hci(char *device) -{ - struct hci_dev_info di; - struct hci_version ver; - int dev = 0; - - if (device) { - dev = hci_devid(device); - if (dev < 0) { - fprintf(stderr, "Device not available\n"); - return -1; - } - } - - dd = hci_open_dev(dev); - if (dd < 0) { - fprintf(stderr, "Can't open device hci%d: %s (%d)\n", - dev, strerror(errno), errno); - return -1; - } - - if (hci_devinfo(dev, &di) < 0) { - fprintf(stderr, "Can't get device info for hci%d: %s (%d)\n", - dev, strerror(errno), errno); - hci_close_dev(dd); - return -1; - } - - if (hci_read_local_version(dd, &ver, 1000) < 0) { - fprintf(stderr, "Can't read version info for hci%d: %s (%d)\n", - dev, strerror(errno), errno); - hci_close_dev(dd); - return -1; - } - - if (ver.manufacturer != 10) { - fprintf(stderr, "Unsupported manufacturer\n"); - hci_close_dev(dd); - return -1; - } - - return 0; -} - -static int do_command(uint16_t command, uint16_t seqnum, uint16_t varid, uint8_t *value, uint16_t length) -{ - unsigned char cp[254], rp[254]; - struct hci_request rq; - uint8_t cmd[10]; - uint16_t size; - - size = (length < 8) ? 9 : ((length + 1) / 2) + 5; - - cmd[0] = command & 0xff; - cmd[1] = command >> 8; - cmd[2] = size & 0xff; - cmd[3] = size >> 8; - cmd[4] = seqnum & 0xff; - cmd[5] = seqnum >> 8; - cmd[6] = varid & 0xff; - cmd[7] = varid >> 8; - cmd[8] = 0x00; - cmd[9] = 0x00; - - memset(cp, 0, sizeof(cp)); - cp[0] = 0xc2; - memcpy(cp + 1, cmd, sizeof(cmd)); - memcpy(cp + 11, value, length); - - switch (varid) { - case CSR_VARID_COLD_RESET: - case CSR_VARID_WARM_RESET: - case CSR_VARID_COLD_HALT: - case CSR_VARID_WARM_HALT: - return hci_send_cmd(dd, OGF_VENDOR_CMD, 0x00, (size * 2) + 1, cp); - } - - memset(&rq, 0, sizeof(rq)); - rq.ogf = OGF_VENDOR_CMD; - rq.ocf = 0x00; - rq.event = EVT_VENDOR; - rq.cparam = cp; - rq.clen = (size * 2) + 1; - rq.rparam = rp; - rq.rlen = sizeof(rp); - - if (hci_send_req(dd, &rq, 2000) < 0) - return -1; - - if (rp[0] != 0xc2) { - errno = EIO; - return -1; - } - - if ((rp[9] + (rp[10] << 8)) != 0) { - errno = ENXIO; - return -1; - } - - memcpy(value, rp + 11, length); - - return 0; -} - -int csr_read_hci(uint16_t varid, uint8_t *value, uint16_t length) -{ - return do_command(0x0000, seqnum++, varid, value, length); -} - -int csr_write_hci(uint16_t varid, uint8_t *value, uint16_t length) -{ - return do_command(0x0002, seqnum++, varid, value, length); -} - -void csr_close_hci(void) -{ - hci_close_dev(dd); -} diff --git a/GRIB_BLE_HUB/libs/ble_extend/tools/csr_usb.c b/GRIB_BLE_HUB/libs/ble_extend/tools/csr_usb.c deleted file mode 100644 index 19903b0..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/tools/csr_usb.c +++ /dev/null @@ -1,180 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2004-2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include -#include - -#include - -#include "csr.h" - -#ifdef NEED_USB_GET_BUSSES -static inline struct usb_bus *usb_get_busses(void) -{ - return usb_busses; -} -#endif - -#ifdef NEED_USB_INTERRUPT_READ -static inline int usb_interrupt_read(usb_dev_handle *dev, int ep, char *bytes, int size, int timeout) -{ - return usb_bulk_read(dev, ep, bytes, size, timeout); -} -#endif - -#ifndef USB_DIR_OUT -#define USB_DIR_OUT 0x00 -#endif - -static uint16_t seqnum = 0x0000; - -static struct usb_dev_handle *udev = NULL; - -int csr_open_usb(char *device) -{ - struct usb_bus *bus; - struct usb_device *dev; - - usb_init(); - - usb_find_busses(); - usb_find_devices(); - - for (bus = usb_get_busses(); bus; bus = bus->next) { - for (dev = bus->devices; dev; dev = dev->next) { - if (dev->descriptor.bDeviceClass == USB_CLASS_HUB) - continue; - - if (dev->descriptor.idVendor != 0x0a12 || - dev->descriptor.idProduct != 0x0001) - continue; - - goto found; - } - } - - fprintf(stderr, "Device not available\n"); - - return -1; - -found: - udev = usb_open(dev); - if (!udev) { - fprintf(stderr, "Can't open device: %s (%d)\n", - strerror(errno), errno); - return -1; - } - - if (usb_claim_interface(udev, 0) < 0) { - fprintf(stderr, "Can't claim interface: %s (%d)\n", - strerror(errno), errno); - usb_close(udev); - return -1; - } - - return 0; -} - -static int do_command(uint16_t command, uint16_t seqnum, uint16_t varid, uint8_t *value, uint16_t length) -{ - unsigned char cp[254], rp[254]; - uint8_t cmd[10]; - uint16_t size; - int len, offset = 0; - - size = (length < 8) ? 9 : ((length + 1) / 2) + 5; - - cmd[0] = command & 0xff; - cmd[1] = command >> 8; - cmd[2] = size & 0xff; - cmd[3] = size >> 8; - cmd[4] = seqnum & 0xff; - cmd[5] = seqnum >> 8; - cmd[6] = varid & 0xff; - cmd[7] = varid >> 8; - cmd[8] = 0x00; - cmd[9] = 0x00; - - memset(cp, 0, sizeof(cp)); - cp[0] = 0x00; - cp[1] = 0xfc; - cp[2] = (size * 2) + 1; - cp[3] = 0xc2; - memcpy(cp + 4, cmd, sizeof(cmd)); - memcpy(cp + 14, value, length); - - usb_interrupt_read(udev, 0x81, (void *) rp, sizeof(rp), 2); - - if (usb_control_msg(udev, USB_TYPE_CLASS | USB_DIR_OUT | USB_RECIP_DEVICE, - 0, 0, 0, (void *) cp, (size * 2) + 4, 1000) < 0) - return -1; - - switch (varid) { - case CSR_VARID_COLD_RESET: - case CSR_VARID_WARM_RESET: - case CSR_VARID_COLD_HALT: - case CSR_VARID_WARM_HALT: - return 0; - } - - do { - len = usb_interrupt_read(udev, 0x81, - (void *) (rp + offset), sizeof(rp) - offset, 10); - offset += len; - } while (len > 0); - - if (rp[0] != 0xff || rp[2] != 0xc2) { - errno = EIO; - return -1; - } - - if ((rp[11] + (rp[12] << 8)) != 0) { - errno = ENXIO; - return -1; - } - - memcpy(value, rp + 13, length); - - return 0; -} - -int csr_read_usb(uint16_t varid, uint8_t *value, uint16_t length) -{ - return do_command(0x0000, seqnum++, varid, value, length); -} - -int csr_write_usb(uint16_t varid, uint8_t *value, uint16_t length) -{ - return do_command(0x0002, seqnum++, varid, value, length); -} - -void csr_close_usb(void) -{ - usb_release_interface(udev, 0); - usb_close(udev); -} diff --git a/GRIB_BLE_HUB/libs/ble_extend/tools/gap-tester.c b/GRIB_BLE_HUB/libs/ble_extend/tools/gap-tester.c deleted file mode 100644 index d788626..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/tools/gap-tester.c +++ /dev/null @@ -1,139 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2012 Intel Corporation. All rights reserved. - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include - -#include "src/shared/tester.h" -#include "src/shared/hciemu.h" - -static DBusConnection *dbus_conn = NULL; -static GDBusClient *dbus_client = NULL; -static GDBusProxy *adapter_proxy = NULL; - -static struct hciemu *hciemu_stack = NULL; - -static void connect_handler(DBusConnection *connection, void *user_data) -{ - tester_print("Connected to daemon"); - - hciemu_stack = hciemu_new(HCIEMU_TYPE_BREDRLE); -} - -static void disconnect_handler(DBusConnection *connection, void *user_data) -{ - tester_print("Disconnected from daemon"); - - dbus_connection_unref(dbus_conn); - dbus_conn = NULL; - - tester_teardown_complete(); -} - -static gboolean compare_string_property(GDBusProxy *proxy, const char *name, - const char *value) -{ - DBusMessageIter iter; - const char *str; - - if (g_dbus_proxy_get_property(proxy, name, &iter) == FALSE) - return FALSE; - - if (dbus_message_iter_get_arg_type(&iter) != DBUS_TYPE_STRING) - return FALSE; - - dbus_message_iter_get_basic(&iter, &str); - - return g_str_equal(str, value); -} - -static void proxy_added(GDBusProxy *proxy, void *user_data) -{ - const char *interface; - - interface = g_dbus_proxy_get_interface(proxy); - - if (g_str_equal(interface, "org.bluez.Adapter1") == TRUE) { - if (compare_string_property(proxy, "Address", - hciemu_get_address(hciemu_stack)) == TRUE) { - adapter_proxy = proxy; - tester_print("Found adapter"); - - tester_setup_complete(); - } - } -} - -static void proxy_removed(GDBusProxy *proxy, void *user_data) -{ - const char *interface; - - interface = g_dbus_proxy_get_interface(proxy); - - if (g_str_equal(interface, "org.bluez.Adapter1") == TRUE) { - if (adapter_proxy == proxy) { - adapter_proxy = NULL; - tester_print("Adapter removed"); - - g_dbus_client_unref(dbus_client); - dbus_client = NULL; - } - } -} - -static void test_setup(const void *test_data) -{ - dbus_conn = g_dbus_setup_private(DBUS_BUS_SYSTEM, NULL, NULL); - - dbus_client = g_dbus_client_new(dbus_conn, "org.bluez", "/org/bluez"); - - g_dbus_client_set_connect_watch(dbus_client, connect_handler, NULL); - g_dbus_client_set_disconnect_watch(dbus_client, - disconnect_handler, NULL); - - g_dbus_client_set_proxy_handlers(dbus_client, proxy_added, - proxy_removed, NULL, NULL); -} - -static void test_run(const void *test_data) -{ - tester_test_passed(); -} - -static void test_teardown(const void *test_data) -{ - hciemu_unref(hciemu_stack); - hciemu_stack = NULL; -} - -int main(int argc, char *argv[]) -{ - tester_init(&argc, &argv); - - tester_add("Adapter setup", NULL, test_setup, test_run, test_teardown); - - return tester_run(); -} diff --git a/GRIB_BLE_HUB/libs/ble_extend/tools/hciattach b/GRIB_BLE_HUB/libs/ble_extend/tools/hciattach deleted file mode 100644 index 596c634..0000000 Binary files a/GRIB_BLE_HUB/libs/ble_extend/tools/hciattach and /dev/null differ diff --git a/GRIB_BLE_HUB/libs/ble_extend/tools/hciattach.1 b/GRIB_BLE_HUB/libs/ble_extend/tools/hciattach.1 deleted file mode 100644 index d506034..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/tools/hciattach.1 +++ /dev/null @@ -1,158 +0,0 @@ -.TH HCIATTACH 1 "Jan 22 2002" BlueZ "Linux System Administration" -.SH NAME -hciattach \- attach serial devices via UART HCI to BlueZ stack -.SH SYNOPSIS -.B hciattach -.RB [\| \-b \|] -.RB [\| \-n \|] -.RB [\| \-p \|] -.RB [\| \-t -.IR timeout \|] -.RB [\| \-s -.IR speed \|] -.RB [\| \-l \|] -.RB [\| \-r \|] -.I tty -.IR type \||\| id -.I speed -.I flow -.I bdaddr -.SH DESCRIPTION -.LP -Hciattach is used to attach a serial UART to the Bluetooth stack as HCI -transport interface. -.SH OPTIONS -.TP -.B \-b -Send break. -.TP -.B \-n -Don't detach from controlling terminal. -.TP -.B \-p -Print the PID when detaching. -.TP -.BI \-t " timeout" -Specify an initialization timeout. (Default is 5 seconds.) -.TP -.BI \-s " speed" -Specify an initial speed instead of the hardware default. -.TP -.B \-l -List all available configurations. -.TP -.B \-r -Set the HCI device into raw mode (the kernel and bluetoothd will ignore it). -.TP -.I tty -This specifies the serial device to attach. A leading -.B /dev -can be omitted. Examples: -.B /dev/ttyS1 -.B ttyS2 -.TP -.IR type \||\| id -The -.I type -or -.I id -of the Bluetooth device that is to be attached, i.e. vendor or other device -specific identifier. Currently supported types are -.RS -.TP -.B type -.B description -.TP -.B any -Unspecified HCI_UART interface, no vendor specific options -.TP -.B ericsson -Ericsson based modules -.TP -.B digi -Digianswer based cards -.TP -.B xircom -Xircom PCMCIA cards: Credit Card Adapter and Real Port Adapter -.TP -.B csr -CSR Casira serial adapter or BrainBoxes serial dongle (BL642) -.TP -.B bboxes -BrainBoxes PCMCIA card (BL620) -.TP -.B swave -Silicon Wave kits -.TP -.B bcsp -Serial adapters using CSR chips with BCSP serial protocol -.TP -.B ath3k -Atheros AR300x based serial Bluetooth device -.TP -.B intel -Intel Bluetooth device -.RE - -Supported IDs are (manufacturer id, product id) -.RS -.TP -.B 0x0105, 0x080a -Xircom PCMCIA cards: Credit Card Adapter and Real Port Adapter -.TP -.B 0x0160, 0x0002 -BrainBoxes PCMCIA card (BL620) -.RE - -.TP -.I speed -The -.I speed -specifies the UART speed to use. Baudrates higher than 115.200bps require -vendor specific initializations that are not implemented for all types of -devices. In general the following speeds are supported: - -.B 9600, 19200, 38400, 57600, 115200, 230400, 460800, 921600 - -Supported vendor devices are automatically initialised to their respective -best settings. -.TP -.I flow -If the keyword -.I flow -is appended to the list of options then hardware flow control is forced on -the serial link ( -.B CRTSCTS -). All above mentioned device types have -.B flow -set by default. To force no flow control use -.B noflow -instead. -.TP -.I sleep -Enables hardware specific power management feature. If -.I sleep -is appended to the list of options then this feature is enabled. To disable -this feature use -.B nosleep -instead. -All above mentioned device types have -.B nosleep -set by default. - -Note: This option will only be valid for hardware which support -hardware specific power management enable option from host. -.TP -.I bdaddr -The -.I bdaddr -specifies the Bluetooth Address to use. Some devices (like the STLC2500) -do not store the Bluetooth address in hardware memory. Instead it must -be uploaded during the initialization process. If this argument -is specified, then the address will be used to initialize the device. -Otherwise, a default address will be used. - -.SH AUTHORS -Written by Maxim Krasnyansky -.PP -Manual page by Nils Faerber diff --git a/GRIB_BLE_HUB/libs/ble_extend/tools/hciattach.c b/GRIB_BLE_HUB/libs/ble_extend/tools/hciattach.c deleted file mode 100644 index db01b85..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/tools/hciattach.c +++ /dev/null @@ -1,1470 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2000-2001 Qualcomm Incorporated - * Copyright (C) 2002-2003 Maxim Krasnyansky - * Copyright (C) 2002-2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include - -#include "hciattach.h" - -struct uart_t { - char *type; - int m_id; - int p_id; - int proto; - int init_speed; - int speed; - int flags; - int pm; - char *bdaddr; - int (*init) (int fd, struct uart_t *u, struct termios *ti); - int (*post) (int fd, struct uart_t *u, struct termios *ti); -}; - -#define FLOW_CTL 0x0001 -#define AMP_DEV 0x0002 -#define ENABLE_PM 1 -#define DISABLE_PM 0 - -static volatile sig_atomic_t __io_canceled = 0; - -static void sig_hup(int sig) -{ -} - -static void sig_term(int sig) -{ - __io_canceled = 1; -} - -static void sig_alarm(int sig) -{ - fprintf(stderr, "Initialization timed out.\n"); - exit(1); -} - -static int uart_speed(int s) -{ - switch (s) { - case 9600: - return B9600; - case 19200: - return B19200; - case 38400: - return B38400; - case 57600: - return B57600; - case 115200: - return B115200; - case 230400: - return B230400; - case 460800: - return B460800; - case 500000: - return B500000; - case 576000: - return B576000; - case 921600: - return B921600; - case 1000000: - return B1000000; - case 1152000: - return B1152000; - case 1500000: - return B1500000; - case 2000000: - return B2000000; -#ifdef B2500000 - case 2500000: - return B2500000; -#endif -#ifdef B3000000 - case 3000000: - return B3000000; -#endif -#ifdef B3500000 - case 3500000: - return B3500000; -#endif -#ifdef B3710000 - case 3710000 - return B3710000; -#endif -#ifdef B4000000 - case 4000000: - return B4000000; -#endif - default: - return B57600; - } -} - -int set_speed(int fd, struct termios *ti, int speed) -{ - if (cfsetospeed(ti, uart_speed(speed)) < 0) - return -errno; - - if (cfsetispeed(ti, uart_speed(speed)) < 0) - return -errno; - - if (tcsetattr(fd, TCSANOW, ti) < 0) - return -errno; - - return 0; -} - -/* - * Read an HCI event from the given file descriptor. - */ -int read_hci_event(int fd, unsigned char* buf, int size) -{ - int remain, r; - int count = 0; - - if (size <= 0) - return -1; - - /* The first byte identifies the packet type. For HCI event packets, it - * should be 0x04, so we read until we get to the 0x04. */ - while (1) { - r = read(fd, buf, 1); - if (r <= 0) - return -1; - if (buf[0] == 0x04) - break; - } - count++; - - /* The next two bytes are the event code and parameter total length. */ - while (count < 3) { - r = read(fd, buf + count, 3 - count); - if (r <= 0) - return -1; - count += r; - } - - /* Now we read the parameters. */ - if (buf[2] < (size - 3)) - remain = buf[2]; - else - remain = size - 3; - - while ((count - 3) < remain) { - r = read(fd, buf + count, remain - (count - 3)); - if (r <= 0) - return -1; - count += r; - } - - return count; -} - -/* - * Ericsson specific initialization - */ -static int ericsson(int fd, struct uart_t *u, struct termios *ti) -{ - struct timespec tm = {0, 50000}; - char cmd[5]; - - cmd[0] = HCI_COMMAND_PKT; - cmd[1] = 0x09; - cmd[2] = 0xfc; - cmd[3] = 0x01; - - switch (u->speed) { - case 57600: - cmd[4] = 0x03; - break; - case 115200: - cmd[4] = 0x02; - break; - case 230400: - cmd[4] = 0x01; - break; - case 460800: - cmd[4] = 0x00; - break; - case 921600: - cmd[4] = 0x20; - break; - case 2000000: - cmd[4] = 0x25; - break; - case 3000000: - cmd[4] = 0x27; - break; - case 4000000: - cmd[4] = 0x2B; - break; - default: - cmd[4] = 0x03; - u->speed = 57600; - fprintf(stderr, "Invalid speed requested, using %d bps instead\n", u->speed); - break; - } - - /* Send initialization command */ - if (write(fd, cmd, 5) != 5) { - perror("Failed to write init command"); - return -1; - } - - nanosleep(&tm, NULL); - return 0; -} - -/* - * Digianswer specific initialization - */ -static int digi(int fd, struct uart_t *u, struct termios *ti) -{ - struct timespec tm = {0, 50000}; - char cmd[5]; - - /* DigiAnswer set baud rate command */ - cmd[0] = HCI_COMMAND_PKT; - cmd[1] = 0x07; - cmd[2] = 0xfc; - cmd[3] = 0x01; - - switch (u->speed) { - case 57600: - cmd[4] = 0x08; - break; - case 115200: - cmd[4] = 0x09; - break; - default: - cmd[4] = 0x09; - u->speed = 115200; - break; - } - - /* Send initialization command */ - if (write(fd, cmd, 5) != 5) { - perror("Failed to write init command"); - return -1; - } - - nanosleep(&tm, NULL); - return 0; -} - -static int texas(int fd, struct uart_t *u, struct termios *ti) -{ - return texas_init(fd, &u->speed, ti); -} - -static int texas2(int fd, struct uart_t *u, struct termios *ti) -{ - return texas_post(fd, ti); -} - -static int texasalt(int fd, struct uart_t *u, struct termios *ti) -{ - return texasalt_init(fd, u->speed, ti); -} - -static int ath3k_ps(int fd, struct uart_t *u, struct termios *ti) -{ - return ath3k_init(fd, u->speed, u->init_speed, u->bdaddr, ti); -} - -static int ath3k_pm(int fd, struct uart_t *u, struct termios *ti) -{ - return ath3k_post(fd, u->pm); -} - -static int qualcomm(int fd, struct uart_t *u, struct termios *ti) -{ - return qualcomm_init(fd, u->speed, ti, u->bdaddr); -} - -static int intel(int fd, struct uart_t *u, struct termios *ti) -{ - return intel_init(fd, u->init_speed, &u->speed, ti); -} - -static int read_check(int fd, void *buf, int count) -{ - int res; - - do { - res = read(fd, buf, count); - if (res != -1) { - buf += res; - count -= res; - } - } while (count && (errno == 0 || errno == EINTR)); - - if (count) - return -1; - - return 0; -} - -/* - * BCSP specific initialization - */ -static int serial_fd; -static int bcsp_max_retries = 10; - -static void bcsp_tshy_sig_alarm(int sig) -{ - unsigned char bcsp_sync_pkt[10] = {0xc0,0x00,0x41,0x00,0xbe,0xda,0xdc,0xed,0xed,0xc0}; - static int retries = 0; - - if (retries < bcsp_max_retries) { - retries++; - if (write(serial_fd, &bcsp_sync_pkt, 10) < 0) - return; - alarm(1); - return; - } - - tcflush(serial_fd, TCIOFLUSH); - fprintf(stderr, "BCSP initialization timed out\n"); - exit(1); -} - -static void bcsp_tconf_sig_alarm(int sig) -{ - unsigned char bcsp_conf_pkt[10] = {0xc0,0x00,0x41,0x00,0xbe,0xad,0xef,0xac,0xed,0xc0}; - static int retries = 0; - - if (retries < bcsp_max_retries){ - retries++; - if (write(serial_fd, &bcsp_conf_pkt, 10) < 0) - return; - alarm(1); - return; - } - - tcflush(serial_fd, TCIOFLUSH); - fprintf(stderr, "BCSP initialization timed out\n"); - exit(1); -} - -static int bcsp(int fd, struct uart_t *u, struct termios *ti) -{ - unsigned char byte, bcsph[4], bcspp[4], - bcsp_sync_resp_pkt[10] = {0xc0,0x00,0x41,0x00,0xbe,0xac,0xaf,0xef,0xee,0xc0}, - bcsp_conf_resp_pkt[10] = {0xc0,0x00,0x41,0x00,0xbe,0xde,0xad,0xd0,0xd0,0xc0}, - bcspsync[4] = {0xda, 0xdc, 0xed, 0xed}, - bcspsyncresp[4] = {0xac,0xaf,0xef,0xee}, - bcspconf[4] = {0xad,0xef,0xac,0xed}, - bcspconfresp[4] = {0xde,0xad,0xd0,0xd0}; - struct sigaction sa; - int len; - - if (set_speed(fd, ti, u->speed) < 0) { - perror("Can't set default baud rate"); - return -1; - } - - ti->c_cflag |= PARENB; - ti->c_cflag &= ~(PARODD); - - if (tcsetattr(fd, TCSANOW, ti) < 0) { - perror("Can't set port settings"); - return -1; - } - - alarm(0); - - serial_fd = fd; - memset(&sa, 0, sizeof(sa)); - sa.sa_flags = SA_NOCLDSTOP; - sa.sa_handler = bcsp_tshy_sig_alarm; - sigaction(SIGALRM, &sa, NULL); - - /* State = shy */ - - bcsp_tshy_sig_alarm(0); - while (1) { - do { - if (read_check(fd, &byte, 1) == -1){ - perror("Failed to read"); - return -1; - } - } while (byte != 0xC0); - - do { - if ( read_check(fd, &bcsph[0], 1) == -1){ - perror("Failed to read"); - return -1; - } - } while (bcsph[0] == 0xC0); - - if ( read_check(fd, &bcsph[1], 3) == -1){ - perror("Failed to read"); - return -1; - } - - if (((bcsph[0] + bcsph[1] + bcsph[2]) & 0xFF) != (unsigned char)~bcsph[3]) - continue; - if (bcsph[1] != 0x41 || bcsph[2] != 0x00) - continue; - - if (read_check(fd, &bcspp, 4) == -1){ - perror("Failed to read"); - return -1; - } - - if (!memcmp(bcspp, bcspsync, 4)) { - if (write(fd, &bcsp_sync_resp_pkt,10) < 0) - return -1; - } else if (!memcmp(bcspp, bcspsyncresp, 4)) - break; - } - - /* State = curious */ - - alarm(0); - sa.sa_handler = bcsp_tconf_sig_alarm; - sigaction(SIGALRM, &sa, NULL); - alarm(1); - - while (1) { - do { - if (read_check(fd, &byte, 1) == -1){ - perror("Failed to read"); - return -1; - } - } while (byte != 0xC0); - - do { - if (read_check(fd, &bcsph[0], 1) == -1){ - perror("Failed to read"); - return -1; - } - } while (bcsph[0] == 0xC0); - - if (read_check(fd, &bcsph[1], 3) == -1){ - perror("Failed to read"); - return -1; - } - - if (((bcsph[0] + bcsph[1] + bcsph[2]) & 0xFF) != (unsigned char)~bcsph[3]) - continue; - - if (bcsph[1] != 0x41 || bcsph[2] != 0x00) - continue; - - if (read_check(fd, &bcspp, 4) == -1){ - perror("Failed to read"); - return -1; - } - - if (!memcmp(bcspp, bcspsync, 4)) - len = write(fd, &bcsp_sync_resp_pkt, 10); - else if (!memcmp(bcspp, bcspconf, 4)) - len = write(fd, &bcsp_conf_resp_pkt, 10); - else if (!memcmp(bcspp, bcspconfresp, 4)) - break; - else - continue; - - if (len < 0) - return -errno; - } - - /* State = garrulous */ - - return 0; -} - -/* - * CSR specific initialization - * Inspired strongly by code in OpenBT and experimentations with Brainboxes - * Pcmcia card. - * Jean Tourrilhes - 14.11.01 - */ -static int csr(int fd, struct uart_t *u, struct termios *ti) -{ - struct timespec tm = {0, 10000000}; /* 10ms - be generous */ - unsigned char cmd[30]; /* Command */ - unsigned char resp[30]; /* Response */ - int clen = 0; /* Command len */ - static int csr_seq = 0; /* Sequence number of command */ - int divisor; - - /* It seems that if we set the CSR UART speed straight away, it - * won't work, the CSR UART gets into a state where we can't talk - * to it anymore. - * On the other hand, doing a read before setting the CSR speed - * seems to be ok. - * Therefore, the strategy is to read the build ID (useful for - * debugging) and only then set the CSR UART speed. Doing like - * this is more complex but at least it works ;-) - * The CSR UART control may be slow to wake up or something because - * every time I read its speed, its bogus... - * Jean II */ - - /* Try to read the build ID of the CSR chip */ - clen = 5 + (5 + 6) * 2; - /* HCI header */ - cmd[0] = HCI_COMMAND_PKT; - cmd[1] = 0x00; /* CSR command */ - cmd[2] = 0xfc; /* MANUFACTURER_SPEC */ - cmd[3] = 1 + (5 + 6) * 2; /* len */ - /* CSR MSG header */ - cmd[4] = 0xC2; /* first+last+channel=BCC */ - /* CSR BCC header */ - cmd[5] = 0x00; /* type = GET-REQ */ - cmd[6] = 0x00; /* - msB */ - cmd[7] = 5 + 4; /* len */ - cmd[8] = 0x00; /* - msB */ - cmd[9] = csr_seq & 0xFF;/* seq num */ - cmd[10] = (csr_seq >> 8) & 0xFF; /* - msB */ - csr_seq++; - cmd[11] = 0x19; /* var_id = CSR_CMD_BUILD_ID */ - cmd[12] = 0x28; /* - msB */ - cmd[13] = 0x00; /* status = STATUS_OK */ - cmd[14] = 0x00; /* - msB */ - /* CSR BCC payload */ - memset(cmd + 15, 0, 6 * 2); - - /* Send command */ - do { - if (write(fd, cmd, clen) != clen) { - perror("Failed to write init command (GET_BUILD_ID)"); - return -1; - } - - /* Read reply. */ - if (read_hci_event(fd, resp, 100) < 0) { - perror("Failed to read init response (GET_BUILD_ID)"); - return -1; - } - - /* Event code 0xFF is for vendor-specific events, which is - * what we're looking for. */ - } while (resp[1] != 0xFF); - -#ifdef CSR_DEBUG - { - char temp[512]; - int i; - for (i=0; i < rlen; i++) - sprintf(temp + (i*3), "-%02X", resp[i]); - fprintf(stderr, "Reading CSR build ID %d [%s]\n", rlen, temp + 1); - // In theory, it should look like : - // 04-FF-13-FF-01-00-09-00-00-00-19-28-00-00-73-00-00-00-00-00-00-00 - } -#endif - /* Display that to user */ - fprintf(stderr, "CSR build ID 0x%02X-0x%02X\n", - resp[15] & 0xFF, resp[14] & 0xFF); - - /* Try to read the current speed of the CSR chip */ - clen = 5 + (5 + 4)*2; - /* -- HCI header */ - cmd[3] = 1 + (5 + 4)*2; /* len */ - /* -- CSR BCC header -- */ - cmd[9] = csr_seq & 0xFF; /* seq num */ - cmd[10] = (csr_seq >> 8) & 0xFF; /* - msB */ - csr_seq++; - cmd[11] = 0x02; /* var_id = CONFIG_UART */ - cmd[12] = 0x68; /* - msB */ - -#ifdef CSR_DEBUG - /* Send command */ - do { - if (write(fd, cmd, clen) != clen) { - perror("Failed to write init command (GET_BUILD_ID)"); - return -1; - } - - /* Read reply. */ - if (read_hci_event(fd, resp, 100) < 0) { - perror("Failed to read init response (GET_BUILD_ID)"); - return -1; - } - - /* Event code 0xFF is for vendor-specific events, which is - * what we're looking for. */ - } while (resp[1] != 0xFF); - - { - char temp[512]; - int i; - for (i=0; i < rlen; i++) - sprintf(temp + (i*3), "-%02X", resp[i]); - fprintf(stderr, "Reading CSR UART speed %d [%s]\n", rlen, temp+1); - } -#endif - - if (u->speed > 1500000) { - fprintf(stderr, "Speed %d too high. Remaining at %d baud\n", - u->speed, u->init_speed); - u->speed = u->init_speed; - } else if (u->speed != 57600 && uart_speed(u->speed) == B57600) { - /* Unknown speed. Why oh why can't we just pass an int to the kernel? */ - fprintf(stderr, "Speed %d unrecognised. Remaining at %d baud\n", - u->speed, u->init_speed); - u->speed = u->init_speed; - } - if (u->speed == u->init_speed) - return 0; - - /* Now, create the command that will set the UART speed */ - /* CSR BCC header */ - cmd[5] = 0x02; /* type = SET-REQ */ - cmd[6] = 0x00; /* - msB */ - cmd[9] = csr_seq & 0xFF; /* seq num */ - cmd[10] = (csr_seq >> 8) & 0xFF;/* - msB */ - csr_seq++; - - divisor = (u->speed*64+7812)/15625; - - /* No parity, one stop bit -> divisor |= 0x0000; */ - cmd[15] = (divisor) & 0xFF; /* divider */ - cmd[16] = (divisor >> 8) & 0xFF; /* - msB */ - /* The rest of the payload will be 0x00 */ - -#ifdef CSR_DEBUG - { - char temp[512]; - int i; - for(i = 0; i < clen; i++) - sprintf(temp + (i*3), "-%02X", cmd[i]); - fprintf(stderr, "Writing CSR UART speed %d [%s]\n", clen, temp + 1); - // In theory, it should look like : - // 01-00-FC-13-C2-02-00-09-00-03-00-02-68-00-00-BF-0E-00-00-00-00-00-00 - // 01-00-FC-13-C2-02-00-09-00-01-00-02-68-00-00-D8-01-00-00-00-00-00-00 - } -#endif - - /* Send the command to set the CSR UART speed */ - if (write(fd, cmd, clen) != clen) { - perror("Failed to write init command (SET_UART_SPEED)"); - return -1; - } - - nanosleep(&tm, NULL); - return 0; -} - -/* - * Silicon Wave specific initialization - * Thomas Moser - */ -static int swave(int fd, struct uart_t *u, struct termios *ti) -{ - struct timespec tm = { 0, 500000 }; - char cmd[10], rsp[100]; - int r; - - // Silicon Wave set baud rate command - // see HCI Vendor Specific Interface from Silicon Wave - // first send a "param access set" command to set the - // appropriate data fields in RAM. Then send a "HCI Reset - // Subcommand", e.g. "soft reset" to make the changes effective. - - cmd[0] = HCI_COMMAND_PKT; // it's a command packet - cmd[1] = 0x0B; // OCF 0x0B = param access set - cmd[2] = 0xfc; // OGF bx111111 = vendor specific - cmd[3] = 0x06; // 6 bytes of data following - cmd[4] = 0x01; // param sub command - cmd[5] = 0x11; // tag 17 = 0x11 = HCI Transport Params - cmd[6] = 0x03; // length of the parameter following - cmd[7] = 0x01; // HCI Transport flow control enable - cmd[8] = 0x01; // HCI Transport Type = UART - - switch (u->speed) { - case 19200: - cmd[9] = 0x03; - break; - case 38400: - cmd[9] = 0x02; - break; - case 57600: - cmd[9] = 0x01; - break; - case 115200: - cmd[9] = 0x00; - break; - default: - u->speed = 115200; - cmd[9] = 0x00; - break; - } - - /* Send initialization command */ - if (write(fd, cmd, 10) != 10) { - perror("Failed to write init command"); - return -1; - } - - // We should wait for a "GET Event" to confirm the success of - // the baud rate setting. Wait some time before reading. Better: - // read with timeout, parse data - // until correct answer, else error handling ... todo ... - - nanosleep(&tm, NULL); - - r = read(fd, rsp, sizeof(rsp)); - if (r > 0) { - // guess it's okay, but we should parse the reply. But since - // I don't react on an error anyway ... todo - // Response packet format: - // 04 Event - // FF Vendor specific - // 07 Parameter length - // 0B Subcommand - // 01 Setevent - // 11 Tag specifying HCI Transport Layer Parameter - // 03 length - // 01 flow on - // 01 Hci Transport type = Uart - // xx Baud rate set (see above) - } else { - // ups, got error. - return -1; - } - - // we probably got the reply. Now we must send the "soft reset" - // which is standard HCI RESET. - - cmd[0] = HCI_COMMAND_PKT; // it's a command packet - cmd[1] = 0x03; - cmd[2] = 0x0c; - cmd[3] = 0x00; - - /* Send reset command */ - if (write(fd, cmd, 4) != 4) { - perror("Can't write Silicon Wave reset cmd."); - return -1; - } - - nanosleep(&tm, NULL); - - // now the uart baud rate on the silicon wave module is set and effective. - // change our own baud rate as well. Then there is a reset event coming in - // on the *new* baud rate. This is *undocumented*! The packet looks like this: - // 04 FF 01 0B (which would make that a confirmation of 0x0B = "Param - // subcommand class". So: change to new baud rate, read with timeout, parse - // data, error handling. BTW: all param access in Silicon Wave is done this way. - // Maybe this code would belong in a separate file, or at least code reuse... - - return 0; -} - -/* - * ST Microelectronics specific initialization - * Marcel Holtmann - */ -static int st(int fd, struct uart_t *u, struct termios *ti) -{ - struct timespec tm = {0, 50000}; - char cmd[5]; - - /* ST Microelectronics set baud rate command */ - cmd[0] = HCI_COMMAND_PKT; - cmd[1] = 0x46; // OCF = Hci_Cmd_ST_Set_Uart_Baud_Rate - cmd[2] = 0xfc; // OGF = Vendor specific - cmd[3] = 0x01; - - switch (u->speed) { - case 9600: - cmd[4] = 0x09; - break; - case 19200: - cmd[4] = 0x0b; - break; - case 38400: - cmd[4] = 0x0d; - break; - case 57600: - cmd[4] = 0x0e; - break; - case 115200: - cmd[4] = 0x10; - break; - case 230400: - cmd[4] = 0x12; - break; - case 460800: - cmd[4] = 0x13; - break; - case 921600: - cmd[4] = 0x14; - break; - default: - cmd[4] = 0x10; - u->speed = 115200; - break; - } - - /* Send initialization command */ - if (write(fd, cmd, 5) != 5) { - perror("Failed to write init command"); - return -1; - } - - nanosleep(&tm, NULL); - return 0; -} - -static int stlc2500(int fd, struct uart_t *u, struct termios *ti) -{ - bdaddr_t bdaddr; - unsigned char resp[10]; - int n; - int rvalue; - - /* STLC2500 has an ericsson core */ - rvalue = ericsson(fd, u, ti); - if (rvalue != 0) - return rvalue; - -#ifdef STLC2500_DEBUG - fprintf(stderr, "Setting speed\n"); -#endif - if (set_speed(fd, ti, u->speed) < 0) { - perror("Can't set baud rate"); - return -1; - } - -#ifdef STLC2500_DEBUG - fprintf(stderr, "Speed set...\n"); -#endif - - /* Read reply */ - if ((n = read_hci_event(fd, resp, 10)) < 0) { - fprintf(stderr, "Failed to set baud rate on chip\n"); - return -1; - } - -#ifdef STLC2500_DEBUG - for (i = 0; i < n; i++) { - fprintf(stderr, "resp[%d] = %02x\n", i, resp[i]); - } -#endif - - str2ba(u->bdaddr, &bdaddr); - return stlc2500_init(fd, &bdaddr); -} - -static int bgb2xx(int fd, struct uart_t *u, struct termios *ti) -{ - bdaddr_t bdaddr; - - str2ba(u->bdaddr, &bdaddr); - - return bgb2xx_init(fd, &bdaddr); -} - -/* - * Broadcom specific initialization - * Extracted from Jungo openrg - */ -static int bcm2035(int fd, struct uart_t *u, struct termios *ti) -{ - int n; - unsigned char cmd[30], resp[30]; - - /* Reset the BT Chip */ - memset(cmd, 0, sizeof(cmd)); - memset(resp, 0, sizeof(resp)); - cmd[0] = HCI_COMMAND_PKT; - cmd[1] = 0x03; - cmd[2] = 0x0c; - cmd[3] = 0x00; - - /* Send command */ - if (write(fd, cmd, 4) != 4) { - fprintf(stderr, "Failed to write reset command\n"); - return -1; - } - - /* Read reply */ - if ((n = read_hci_event(fd, resp, 4)) < 0) { - fprintf(stderr, "Failed to reset chip\n"); - return -1; - } - - if (u->bdaddr != NULL) { - /* Set BD_ADDR */ - memset(cmd, 0, sizeof(cmd)); - memset(resp, 0, sizeof(resp)); - cmd[0] = HCI_COMMAND_PKT; - cmd[1] = 0x01; - cmd[2] = 0xfc; - cmd[3] = 0x06; - str2ba(u->bdaddr, (bdaddr_t *) (cmd + 4)); - - /* Send command */ - if (write(fd, cmd, 10) != 10) { - fprintf(stderr, "Failed to write BD_ADDR command\n"); - return -1; - } - - /* Read reply */ - if ((n = read_hci_event(fd, resp, 10)) < 0) { - fprintf(stderr, "Failed to set BD_ADDR\n"); - return -1; - } - } - - /* Read the local version info */ - memset(cmd, 0, sizeof(cmd)); - memset(resp, 0, sizeof(resp)); - cmd[0] = HCI_COMMAND_PKT; - cmd[1] = 0x01; - cmd[2] = 0x10; - cmd[3] = 0x00; - - /* Send command */ - if (write(fd, cmd, 4) != 4) { - fprintf(stderr, "Failed to write \"read local version\" " - "command\n"); - return -1; - } - - /* Read reply */ - if ((n = read_hci_event(fd, resp, 4)) < 0) { - fprintf(stderr, "Failed to read local version\n"); - return -1; - } - - /* Read the local supported commands info */ - memset(cmd, 0, sizeof(cmd)); - memset(resp, 0, sizeof(resp)); - cmd[0] = HCI_COMMAND_PKT; - cmd[1] = 0x02; - cmd[2] = 0x10; - cmd[3] = 0x00; - - /* Send command */ - if (write(fd, cmd, 4) != 4) { - fprintf(stderr, "Failed to write \"read local supported " - "commands\" command\n"); - return -1; - } - - /* Read reply */ - if ((n = read_hci_event(fd, resp, 4)) < 0) { - fprintf(stderr, "Failed to read local supported commands\n"); - return -1; - } - - /* Set the baud rate */ - memset(cmd, 0, sizeof(cmd)); - memset(resp, 0, sizeof(resp)); - cmd[0] = HCI_COMMAND_PKT; - cmd[1] = 0x18; - cmd[2] = 0xfc; - cmd[3] = 0x02; - switch (u->speed) { - case 57600: - cmd[4] = 0x00; - cmd[5] = 0xe6; - break; - case 230400: - cmd[4] = 0x22; - cmd[5] = 0xfa; - break; - case 460800: - cmd[4] = 0x22; - cmd[5] = 0xfd; - break; - case 921600: - cmd[4] = 0x55; - cmd[5] = 0xff; - break; - default: - /* Default is 115200 */ - cmd[4] = 0x00; - cmd[5] = 0xf3; - break; - } - fprintf(stderr, "Baud rate parameters: DHBR=0x%2x,DLBR=0x%2x\n", - cmd[4], cmd[5]); - - /* Send command */ - if (write(fd, cmd, 6) != 6) { - fprintf(stderr, "Failed to write \"set baud rate\" command\n"); - return -1; - } - - if ((n = read_hci_event(fd, resp, 6)) < 0) { - fprintf(stderr, "Failed to set baud rate\n"); - return -1; - } - - return 0; -} - -struct uart_t uart[] = { - { "any", 0x0000, 0x0000, HCI_UART_H4, 115200, 115200, - FLOW_CTL, DISABLE_PM, NULL, NULL }, - - { "ericsson", 0x0000, 0x0000, HCI_UART_H4, 57600, 115200, - FLOW_CTL, DISABLE_PM, NULL, ericsson }, - - { "digi", 0x0000, 0x0000, HCI_UART_H4, 9600, 115200, - FLOW_CTL, DISABLE_PM, NULL, digi }, - - { "bcsp", 0x0000, 0x0000, HCI_UART_BCSP, 115200, 115200, - 0, DISABLE_PM, NULL, bcsp }, - - /* Xircom PCMCIA cards: Credit Card Adapter and Real Port Adapter */ - { "xircom", 0x0105, 0x080a, HCI_UART_H4, 115200, 115200, - FLOW_CTL, DISABLE_PM, NULL, NULL }, - - /* CSR Casira serial adapter or BrainBoxes serial dongle (BL642) */ - { "csr", 0x0000, 0x0000, HCI_UART_H4, 115200, 115200, - FLOW_CTL, DISABLE_PM, NULL, csr }, - - /* BrainBoxes PCMCIA card (BL620) */ - { "bboxes", 0x0160, 0x0002, HCI_UART_H4, 115200, 460800, - FLOW_CTL, DISABLE_PM, NULL, csr }, - - /* Silicon Wave kits */ - { "swave", 0x0000, 0x0000, HCI_UART_H4, 115200, 115200, - FLOW_CTL, DISABLE_PM, NULL, swave }, - - /* Texas Instruments Bluelink (BRF) modules */ - { "texas", 0x0000, 0x0000, HCI_UART_LL, 115200, 115200, - FLOW_CTL, DISABLE_PM, NULL, texas, texas2 }, - - { "texasalt", 0x0000, 0x0000, HCI_UART_LL, 115200, 115200, - FLOW_CTL, DISABLE_PM, NULL, texasalt, NULL }, - - /* ST Microelectronics minikits based on STLC2410/STLC2415 */ - { "st", 0x0000, 0x0000, HCI_UART_H4, 57600, 115200, - FLOW_CTL, DISABLE_PM, NULL, st }, - - /* ST Microelectronics minikits based on STLC2500 */ - { "stlc2500", 0x0000, 0x0000, HCI_UART_H4, 115200, 115200, - FLOW_CTL, DISABLE_PM, "00:80:E1:00:AB:BA", stlc2500 }, - - /* Philips generic Ericsson IP core based */ - { "philips", 0x0000, 0x0000, HCI_UART_H4, 115200, 115200, - FLOW_CTL, DISABLE_PM, NULL, NULL }, - - /* Philips BGB2xx Module */ - { "bgb2xx", 0x0000, 0x0000, HCI_UART_H4, 115200, 115200, - FLOW_CTL, DISABLE_PM, "BD:B2:10:00:AB:BA", bgb2xx }, - - /* Sphinx Electronics PICO Card */ - { "picocard", 0x025e, 0x1000, HCI_UART_H4, 115200, 115200, - FLOW_CTL, DISABLE_PM, NULL, NULL }, - - /* Inventel BlueBird Module */ - { "inventel", 0x0000, 0x0000, HCI_UART_H4, 115200, 115200, - FLOW_CTL, DISABLE_PM, NULL, NULL }, - - /* COM One Platinium Bluetooth PC Card */ - { "comone", 0xffff, 0x0101, HCI_UART_BCSP, 115200, 115200, - 0, DISABLE_PM, NULL, bcsp }, - - /* TDK Bluetooth PC Card and IBM Bluetooth PC Card II */ - { "tdk", 0x0105, 0x4254, HCI_UART_BCSP, 115200, 115200, - 0, DISABLE_PM, NULL, bcsp }, - - /* Socket Bluetooth CF Card (Rev G) */ - { "socket", 0x0104, 0x0096, HCI_UART_BCSP, 230400, 230400, - 0, DISABLE_PM, NULL, bcsp }, - - /* 3Com Bluetooth Card (Version 3.0) */ - { "3com", 0x0101, 0x0041, HCI_UART_H4, 115200, 115200, - FLOW_CTL, DISABLE_PM, NULL, csr }, - - /* AmbiCom BT2000C Bluetooth PC/CF Card */ - { "bt2000c", 0x022d, 0x2000, HCI_UART_H4, 57600, 460800, - FLOW_CTL, DISABLE_PM, NULL, csr }, - - /* Zoom Bluetooth PCMCIA Card */ - { "zoom", 0x0279, 0x950b, HCI_UART_BCSP, 115200, 115200, - 0, DISABLE_PM, NULL, bcsp }, - - /* Sitecom CN-504 PCMCIA Card */ - { "sitecom", 0x0279, 0x950b, HCI_UART_BCSP, 115200, 115200, - 0, DISABLE_PM, NULL, bcsp }, - - /* Billionton PCBTC1 PCMCIA Card */ - { "billionton", 0x0279, 0x950b, HCI_UART_BCSP, 115200, 115200, - 0, DISABLE_PM, NULL, bcsp }, - - /* Broadcom BCM2035 */ - { "bcm2035", 0x0A5C, 0x2035, HCI_UART_H4, 115200, 460800, - FLOW_CTL, DISABLE_PM, NULL, bcm2035 }, - - { "ath3k", 0x0000, 0x0000, HCI_UART_ATH3K, 115200, 115200, - FLOW_CTL, DISABLE_PM, NULL, ath3k_ps, ath3k_pm }, - - /* QUALCOMM BTS */ - { "qualcomm", 0x0000, 0x0000, HCI_UART_H4, 115200, 115200, - FLOW_CTL, DISABLE_PM, NULL, qualcomm, NULL }, - - /* Intel Bluetooth Module */ - { "intel", 0x0000, 0x0000, HCI_UART_H4, 115200, 115200, - FLOW_CTL, DISABLE_PM, NULL, intel, NULL }, - - /* Three-wire UART */ - { "3wire", 0x0000, 0x0000, HCI_UART_3WIRE, 115200, 115200, - 0, DISABLE_PM, NULL, NULL, NULL }, - - /* AMP controller UART */ - { "amp", 0x0000, 0x0000, HCI_UART_H4, 115200, 115200, - AMP_DEV, DISABLE_PM, NULL, NULL, NULL }, - - { NULL, 0 } -}; - -static struct uart_t * get_by_id(int m_id, int p_id) -{ - int i; - for (i = 0; uart[i].type; i++) { - if (uart[i].m_id == m_id && uart[i].p_id == p_id) - return &uart[i]; - } - return NULL; -} - -static struct uart_t * get_by_type(char *type) -{ - int i; - for (i = 0; uart[i].type; i++) { - if (!strcmp(uart[i].type, type)) - return &uart[i]; - } - return NULL; -} - -/* Initialize UART driver */ -static int init_uart(char *dev, struct uart_t *u, int send_break, int raw) -{ - struct termios ti; - int fd, i; - unsigned long flags = 0; - - if (raw) - flags |= 1 << HCI_UART_RAW_DEVICE; - - if (u->flags & AMP_DEV) - flags |= 1 << HCI_UART_CREATE_AMP; - - fd = open(dev, O_RDWR | O_NOCTTY); - if (fd < 0) { - perror("Can't open serial port"); - return -1; - } - - tcflush(fd, TCIOFLUSH); - - if (tcgetattr(fd, &ti) < 0) { - perror("Can't get port settings"); - return -1; - } - - cfmakeraw(&ti); - - ti.c_cflag |= CLOCAL; - if (u->flags & FLOW_CTL) - ti.c_cflag |= CRTSCTS; - else - ti.c_cflag &= ~CRTSCTS; - - if (tcsetattr(fd, TCSANOW, &ti) < 0) { - perror("Can't set port settings"); - return -1; - } - - /* Set initial baudrate */ - if (set_speed(fd, &ti, u->init_speed) < 0) { - perror("Can't set initial baud rate"); - return -1; - } - - tcflush(fd, TCIOFLUSH); - - if (send_break) { - tcsendbreak(fd, 0); - usleep(500000); - } - - if (u->init && u->init(fd, u, &ti) < 0) - return -1; - - tcflush(fd, TCIOFLUSH); - - /* Set actual baudrate */ - if (set_speed(fd, &ti, u->speed) < 0) { - perror("Can't set baud rate"); - return -1; - } - - /* Set TTY to N_HCI line discipline */ - i = N_HCI; - if (ioctl(fd, TIOCSETD, &i) < 0) { - perror("Can't set line discipline"); - return -1; - } - - if (flags && ioctl(fd, HCIUARTSETFLAGS, flags) < 0) { - perror("Can't set UART flags"); - return -1; - } - - if (ioctl(fd, HCIUARTSETPROTO, u->proto) < 0) { - perror("Can't set device"); - return -1; - } - - if (u->post && u->post(fd, u, &ti) < 0) - return -1; - - return fd; -} - -static void usage(void) -{ - printf("hciattach - HCI UART driver initialization utility\n"); - printf("Usage:\n"); - printf("\thciattach [-n] [-p] [-b] [-r] [-t timeout] [-s initial_speed] [speed] [flow|noflow] [bdaddr]\n"); - printf("\thciattach -l\n"); -} - -int main(int argc, char *argv[]) -{ - struct uart_t *u = NULL; - int detach, printpid, raw, opt, i, n, ld, err; - int to = 10; - int init_speed = 0; - int send_break = 0; - pid_t pid; - struct sigaction sa; - struct pollfd p; - sigset_t sigs; - char dev[PATH_MAX]; - - detach = 1; - printpid = 0; - raw = 0; - - while ((opt=getopt(argc, argv, "bnpt:s:lr")) != EOF) { - switch(opt) { - case 'b': - send_break = 1; - break; - - case 'n': - detach = 0; - break; - - case 'p': - printpid = 1; - break; - - case 't': - to = atoi(optarg); - break; - - case 's': - init_speed = atoi(optarg); - break; - - case 'l': - for (i = 0; uart[i].type; i++) { - printf("%-10s0x%04x,0x%04x\n", uart[i].type, - uart[i].m_id, uart[i].p_id); - } - exit(0); - - case 'r': - raw = 1; - break; - - default: - usage(); - exit(1); - } - } - - n = argc - optind; - if (n < 2) { - usage(); - exit(1); - } - - for (n = 0; optind < argc; n++, optind++) { - char *opt; - - opt = argv[optind]; - - switch(n) { - case 0: - dev[0] = 0; - if (!strchr(opt, '/')) - strcpy(dev, "/dev/"); - strcat(dev, opt); - break; - - case 1: - if (strchr(argv[optind], ',')) { - int m_id, p_id; - sscanf(argv[optind], "%x,%x", &m_id, &p_id); - u = get_by_id(m_id, p_id); - } else { - u = get_by_type(opt); - } - - if (!u) { - fprintf(stderr, "Unknown device type or id\n"); - exit(1); - } - - break; - - case 2: - u->speed = atoi(argv[optind]); - break; - - case 3: - if (!strcmp("flow", argv[optind])) - u->flags |= FLOW_CTL; - else - u->flags &= ~FLOW_CTL; - break; - - case 4: - if (!strcmp("sleep", argv[optind])) - u->pm = ENABLE_PM; - else - u->pm = DISABLE_PM; - break; - - case 5: - u->bdaddr = argv[optind]; - break; - } - } - - if (!u) { - fprintf(stderr, "Unknown device type or id\n"); - exit(1); - } - - /* If user specified a initial speed, use that instead of - the hardware's default */ - if (init_speed) - u->init_speed = init_speed; - - memset(&sa, 0, sizeof(sa)); - sa.sa_flags = SA_NOCLDSTOP; - sa.sa_handler = sig_alarm; - sigaction(SIGALRM, &sa, NULL); - - /* 10 seconds should be enough for initialization */ - alarm(to); - bcsp_max_retries = to; - - n = init_uart(dev, u, send_break, raw); - if (n < 0) { - perror("Can't initialize device"); - exit(1); - } - - printf("Device setup complete\n"); - - alarm(0); - - memset(&sa, 0, sizeof(sa)); - sa.sa_flags = SA_NOCLDSTOP; - sa.sa_handler = SIG_IGN; - sigaction(SIGCHLD, &sa, NULL); - sigaction(SIGPIPE, &sa, NULL); - - sa.sa_handler = sig_term; - sigaction(SIGTERM, &sa, NULL); - sigaction(SIGINT, &sa, NULL); - - sa.sa_handler = sig_hup; - sigaction(SIGHUP, &sa, NULL); - - if (detach) { - if ((pid = fork())) { - if (printpid) - printf("%d\n", pid); - return 0; - } - - for (i = 0; i < 20; i++) - if (i != n) - close(i); - } - - p.fd = n; - p.events = POLLERR | POLLHUP; - - sigfillset(&sigs); - sigdelset(&sigs, SIGCHLD); - sigdelset(&sigs, SIGPIPE); - sigdelset(&sigs, SIGTERM); - sigdelset(&sigs, SIGINT); - sigdelset(&sigs, SIGHUP); - - while (!__io_canceled) { - p.revents = 0; - err = ppoll(&p, 1, NULL, &sigs); - if (err < 0 && errno == EINTR) - continue; - if (err) - break; - } - - /* Restore TTY line discipline */ - ld = N_TTY; - if (ioctl(n, TIOCSETD, &ld) < 0) { - perror("Can't restore line discipline"); - exit(1); - } - - return 0; -} diff --git a/GRIB_BLE_HUB/libs/ble_extend/tools/hciattach.h b/GRIB_BLE_HUB/libs/ble_extend/tools/hciattach.h deleted file mode 100644 index 1b23ad7..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/tools/hciattach.h +++ /dev/null @@ -1,59 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2003-2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#include - -#ifndef N_HCI -#define N_HCI 15 -#endif - -#define HCIUARTSETPROTO _IOW('U', 200, int) -#define HCIUARTGETPROTO _IOR('U', 201, int) -#define HCIUARTGETDEVICE _IOR('U', 202, int) -#define HCIUARTSETFLAGS _IOW('U', 203, int) -#define HCIUARTGETFLAGS _IOR('U', 204, int) - -#define HCI_UART_H4 0 -#define HCI_UART_BCSP 1 -#define HCI_UART_3WIRE 2 -#define HCI_UART_H4DS 3 -#define HCI_UART_LL 4 -#define HCI_UART_ATH3K 5 - -#define HCI_UART_RAW_DEVICE 0 -#define HCI_UART_RESET_ON_INIT 1 -#define HCI_UART_CREATE_AMP 2 - -int read_hci_event(int fd, unsigned char *buf, int size); -int set_speed(int fd, struct termios *ti, int speed); - -int texas_init(int fd, int *speed, struct termios *ti); -int texas_post(int fd, struct termios *ti); -int texasalt_init(int fd, int speed, struct termios *ti); -int stlc2500_init(int fd, bdaddr_t *bdaddr); -int bgb2xx_init(int dd, bdaddr_t *bdaddr); -int ath3k_init(int fd, int speed, int init_speed, char *bdaddr, - struct termios *ti); -int ath3k_post(int fd, int pm); -int qualcomm_init(int fd, int speed, struct termios *ti, const char *bdaddr); -int intel_init(int fd, int init_speed, int *speed, struct termios *ti); diff --git a/GRIB_BLE_HUB/libs/ble_extend/tools/hciattach_ath3k.c b/GRIB_BLE_HUB/libs/ble_extend/tools/hciattach_ath3k.c deleted file mode 100644 index 23208c6..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/tools/hciattach_ath3k.c +++ /dev/null @@ -1,1044 +0,0 @@ -/* - * Copyright (c) 2009-2010 Atheros Communications Inc. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include - -#include "hciattach.h" - -#define TRUE 1 -#define FALSE 0 - -#define FW_PATH "/lib/firmware/ar3k/" - -struct ps_cfg_entry { - uint32_t id; - uint32_t len; - uint8_t *data; -}; - -struct ps_entry_type { - unsigned char type; - unsigned char array; -}; - -#define MAX_TAGS 50 -#define PS_HDR_LEN 4 -#define HCI_VENDOR_CMD_OGF 0x3F -#define HCI_PS_CMD_OCF 0x0B - -struct ps_cfg_entry ps_list[MAX_TAGS]; - -static void load_hci_ps_hdr(uint8_t *cmd, uint8_t ps_op, int len, int index) -{ - hci_command_hdr *ch = (void *)cmd; - - ch->opcode = htobs(cmd_opcode_pack(HCI_VENDOR_CMD_OGF, - HCI_PS_CMD_OCF)); - ch->plen = len + PS_HDR_LEN; - cmd += HCI_COMMAND_HDR_SIZE; - - cmd[0] = ps_op; - cmd[1] = index; - cmd[2] = index >> 8; - cmd[3] = len; -} - -#define PS_EVENT_LEN 100 - -/* - * Send HCI command and wait for command complete event. - * The event buffer has to be freed by the caller. - */ -static int send_hci_cmd_sync(int dev, uint8_t *cmd, int len, uint8_t **event) -{ - int err; - uint8_t *hci_event; - uint8_t pkt_type = HCI_COMMAND_PKT; - - if (len == 0) - return len; - - if (write(dev, &pkt_type, 1) != 1) - return -EILSEQ; - if (write(dev, (unsigned char *)cmd, len) != len) - return -EILSEQ; - - hci_event = (uint8_t *)malloc(PS_EVENT_LEN); - if (!hci_event) - return -ENOMEM; - - err = read_hci_event(dev, (unsigned char *)hci_event, PS_EVENT_LEN); - if (err > 0) { - *event = hci_event; - } else { - free(hci_event); - return -EILSEQ; - } - - return len; -} - -#define HCI_EV_SUCCESS 0x00 - -static int read_ps_event(uint8_t *event, uint16_t ocf) -{ - hci_event_hdr *eh; - uint16_t opcode = htobs(cmd_opcode_pack(HCI_VENDOR_CMD_OGF, ocf)); - - event++; - - eh = (void *)event; - event += HCI_EVENT_HDR_SIZE; - - if (eh->evt == EVT_CMD_COMPLETE) { - evt_cmd_complete *cc = (void *)event; - - event += EVT_CMD_COMPLETE_SIZE; - - if (cc->opcode == opcode && event[0] == HCI_EV_SUCCESS) - return 0; - else - return -EILSEQ; - } - - return -EILSEQ; -} - -static int write_cmd(int fd, uint8_t *buffer, int len) -{ - uint8_t *event; - int err; - - err = send_hci_cmd_sync(fd, buffer, len, &event); - if (err < 0) - return err; - - err = read_ps_event(event, HCI_PS_CMD_OCF); - - free(event); - - return err; -} - -#define PS_WRITE 1 -#define PS_RESET 2 -#define WRITE_PATCH 8 -#define ENABLE_PATCH 11 - -#define HCI_PS_CMD_HDR_LEN 7 - -#define PS_RESET_PARAM_LEN 6 -#define HCI_MAX_CMD_SIZE 260 -#define PS_RESET_CMD_LEN (HCI_PS_CMD_HDR_LEN + PS_RESET_PARAM_LEN) - -#define PS_ID_MASK 0xFF - -/* Sends PS commands using vendor specficic HCI commands */ -static int write_ps_cmd(int fd, uint8_t opcode, uint32_t ps_param) -{ - uint8_t cmd[HCI_MAX_CMD_SIZE]; - uint32_t i; - - switch (opcode) { - case ENABLE_PATCH: - load_hci_ps_hdr(cmd, opcode, 0, 0x00); - - if (write_cmd(fd, cmd, HCI_PS_CMD_HDR_LEN) < 0) - return -EILSEQ; - break; - - case PS_RESET: - load_hci_ps_hdr(cmd, opcode, PS_RESET_PARAM_LEN, 0x00); - - cmd[7] = 0x00; - cmd[PS_RESET_CMD_LEN - 2] = ps_param & PS_ID_MASK; - cmd[PS_RESET_CMD_LEN - 1] = (ps_param >> 8) & PS_ID_MASK; - - if (write_cmd(fd, cmd, PS_RESET_CMD_LEN) < 0) - return -EILSEQ; - break; - - case PS_WRITE: - for (i = 0; i < ps_param; i++) { - load_hci_ps_hdr(cmd, opcode, ps_list[i].len, - ps_list[i].id); - - memcpy(&cmd[HCI_PS_CMD_HDR_LEN], ps_list[i].data, - ps_list[i].len); - - if (write_cmd(fd, cmd, ps_list[i].len + - HCI_PS_CMD_HDR_LEN) < 0) - return -EILSEQ; - } - break; - } - - return 0; -} - -#define __is_delim(ch) ((ch) == ':') -#define MAX_PREAMBLE_LEN 4 - -/* Parse PS entry preamble of format [X:X] for main type and subtype */ -static int get_ps_type(char *ptr, int index, char *type, char *sub_type) -{ - int i; - int delim = FALSE; - - if (index > MAX_PREAMBLE_LEN) - return -EILSEQ; - - for (i = 1; i < index; i++) { - if (__is_delim(ptr[i])) { - delim = TRUE; - continue; - } - - if (isalpha(ptr[i])) { - if (delim == FALSE) - (*type) = toupper(ptr[i]); - else - (*sub_type) = toupper(ptr[i]); - } - } - - return 0; -} - -#define ARRAY 'A' -#define STRING 'S' -#define DECIMAL 'D' -#define BINARY 'B' - -#define PS_HEX 0 -#define PS_DEC 1 - -static int get_input_format(char *buf, struct ps_entry_type *format) -{ - char *ptr = NULL; - char type = '\0'; - char sub_type = '\0'; - - format->type = PS_HEX; - format->array = TRUE; - - if (strstr(buf, "[") != buf) - return 0; - - ptr = strstr(buf, "]"); - if (!ptr) - return -EILSEQ; - - if (get_ps_type(buf, ptr - buf, &type, &sub_type) < 0) - return -EILSEQ; - - /* Check is data type is of array */ - if (type == ARRAY || sub_type == ARRAY) - format->array = TRUE; - - if (type == STRING || sub_type == STRING) - format->array = FALSE; - - if (type == DECIMAL || type == BINARY) - format->type = PS_DEC; - else - format->type = PS_HEX; - - return 0; -} - -#define UNDEFINED 0xFFFF - -static unsigned int read_data_in_section(char *buf, struct ps_entry_type type) -{ - char *ptr = buf; - - if (!buf) - return UNDEFINED; - - if (buf == strstr(buf, "[")) { - ptr = strstr(buf, "]"); - if (!ptr) - return UNDEFINED; - - ptr++; - } - - if (type.type == PS_HEX && type.array != TRUE) - return strtol(ptr, NULL, 16); - - return UNDEFINED; -} - -struct tag_info { - unsigned section; - unsigned line_count; - unsigned char_cnt; - unsigned byte_count; -}; - -static inline int update_char_count(const char *buf) -{ - char *end_ptr; - - if (strstr(buf, "[") == buf) { - end_ptr = strstr(buf, "]"); - if (!end_ptr) - return 0; - else - return (end_ptr - buf) + 1; - } - - return 0; -} - -/* Read PS entries as string, convert and add to Hex array */ -static void update_tag_data(struct ps_cfg_entry *tag, - struct tag_info *info, const char *ptr) -{ - char buf[3]; - - buf[2] = '\0'; - - strncpy(buf, &ptr[info->char_cnt], 2); - tag->data[info->byte_count] = strtol(buf, NULL, 16); - info->char_cnt += 3; - info->byte_count++; - - strncpy(buf, &ptr[info->char_cnt], 2); - tag->data[info->byte_count] = strtol(buf, NULL, 16); - info->char_cnt += 3; - info->byte_count++; -} - -#define PS_UNDEF 0 -#define PS_ID 1 -#define PS_LEN 2 -#define PS_DATA 3 - -#define PS_MAX_LEN 500 -#define LINE_SIZE_MAX (PS_MAX_LEN * 2) -#define ENTRY_PER_LINE 16 - -#define __check_comment(buf) (((buf)[0] == '/') && ((buf)[1] == '/')) -#define __skip_space(str) while (*(str) == ' ') ((str)++) - -static int ath_parse_ps(FILE *stream) -{ - char buf[LINE_SIZE_MAX + 1]; - char *ptr; - uint8_t tag_cnt = 0; - int16_t byte_count = 0; - struct ps_entry_type format; - struct tag_info status = { 0, 0, 0, 0 }; - - do { - int read_count; - struct ps_cfg_entry *tag; - - ptr = fgets(buf, LINE_SIZE_MAX, stream); - if (!ptr) - break; - - __skip_space(ptr); - if (__check_comment(ptr)) - continue; - - /* Lines with a '#' will be followed by new PS entry */ - if (ptr == strstr(ptr, "#")) { - if (status.section != PS_UNDEF) { - return -EILSEQ; - } else { - status.section = PS_ID; - continue; - } - } - - tag = &ps_list[tag_cnt]; - - switch (status.section) { - case PS_ID: - if (get_input_format(ptr, &format) < 0) - return -EILSEQ; - - tag->id = read_data_in_section(ptr, format); - status.section = PS_LEN; - break; - - case PS_LEN: - if (get_input_format(ptr, &format) < 0) - return -EILSEQ; - - byte_count = read_data_in_section(ptr, format); - if (byte_count > PS_MAX_LEN) - return -EILSEQ; - - tag->len = byte_count; - tag->data = (uint8_t *)malloc(byte_count); - - status.section = PS_DATA; - status.line_count = 0; - break; - - case PS_DATA: - if (status.line_count == 0) - if (get_input_format(ptr, &format) < 0) - return -EILSEQ; - - __skip_space(ptr); - - status.char_cnt = update_char_count(ptr); - - read_count = (byte_count > ENTRY_PER_LINE) ? - ENTRY_PER_LINE : byte_count; - - if (format.type == PS_HEX && format.array == TRUE) { - while (read_count > 0) { - update_tag_data(tag, &status, ptr); - read_count -= 2; - } - - if (byte_count > ENTRY_PER_LINE) - byte_count -= ENTRY_PER_LINE; - else - byte_count = 0; - } - - status.line_count++; - - if (byte_count == 0) - memset(&status, 0x00, sizeof(struct tag_info)); - - if (status.section == PS_UNDEF) - tag_cnt++; - - if (tag_cnt == MAX_TAGS) - return -EILSEQ; - break; - } - } while (ptr); - - return tag_cnt; -} - -#define MAX_PATCH_CMD 244 -struct patch_entry { - int16_t len; - uint8_t data[MAX_PATCH_CMD]; -}; - -#define SET_PATCH_RAM_ID 0x0D -#define SET_PATCH_RAM_CMD_SIZE 11 -#define ADDRESS_LEN 4 -static int set_patch_ram(int dev, char *patch_loc, int len) -{ - int err; - uint8_t cmd[20]; - int i, j; - char loc_byte[3]; - uint8_t *event; - uint8_t *loc_ptr = &cmd[7]; - - if (!patch_loc) - return -1; - - loc_byte[2] = '\0'; - - load_hci_ps_hdr(cmd, SET_PATCH_RAM_ID, ADDRESS_LEN, 0); - - for (i = 0, j = 3; i < 4; i++, j--) { - loc_byte[0] = patch_loc[0]; - loc_byte[1] = patch_loc[1]; - loc_ptr[j] = strtol(loc_byte, NULL, 16); - patch_loc += 2; - } - - err = send_hci_cmd_sync(dev, cmd, SET_PATCH_RAM_CMD_SIZE, &event); - if (err < 0) - return err; - - err = read_ps_event(event, HCI_PS_CMD_OCF); - - free(event); - - return err; -} - -#define PATCH_LOC_KEY "DA:" -#define PATCH_LOC_STRING_LEN 8 -static int ps_patch_download(int fd, FILE *stream) -{ - char byte[3]; - char ptr[MAX_PATCH_CMD + 1]; - int byte_cnt; - int patch_count = 0; - char patch_loc[PATCH_LOC_STRING_LEN + 1]; - - byte[2] = '\0'; - - while (fgets(ptr, MAX_PATCH_CMD, stream)) { - if (strlen(ptr) <= 1) - continue; - else if (strstr(ptr, PATCH_LOC_KEY) == ptr) { - strncpy(patch_loc, &ptr[sizeof(PATCH_LOC_KEY) - 1], - PATCH_LOC_STRING_LEN); - if (set_patch_ram(fd, patch_loc, sizeof(patch_loc)) < 0) - return -1; - } else if (isxdigit(ptr[0])) - break; - else - return -1; - } - - byte_cnt = strtol(ptr, NULL, 16); - - while (byte_cnt > 0) { - int i; - uint8_t cmd[HCI_MAX_CMD_SIZE]; - struct patch_entry patch; - - if (byte_cnt > MAX_PATCH_CMD) - patch.len = MAX_PATCH_CMD; - else - patch.len = byte_cnt; - - for (i = 0; i < patch.len; i++) { - if (!fgets(byte, 3, stream)) - return -1; - - patch.data[i] = strtoul(byte, NULL, 16); - } - - load_hci_ps_hdr(cmd, WRITE_PATCH, patch.len, patch_count); - memcpy(&cmd[HCI_PS_CMD_HDR_LEN], patch.data, patch.len); - - if (write_cmd(fd, cmd, patch.len + HCI_PS_CMD_HDR_LEN) < 0) - return -1; - - patch_count++; - byte_cnt = byte_cnt - MAX_PATCH_CMD; - } - - if (write_ps_cmd(fd, ENABLE_PATCH, 0) < 0) - return -1; - - return patch_count; -} - -#define PS_RAM_SIZE 2048 - -static int ps_config_download(int fd, int tag_count) -{ - if (write_ps_cmd(fd, PS_RESET, PS_RAM_SIZE) < 0) - return -1; - - if (tag_count > 0) - if (write_ps_cmd(fd, PS_WRITE, tag_count) < 0) - return -1; - return 0; -} - -#define PS_ASIC_FILE "PS_ASIC.pst" -#define PS_FPGA_FILE "PS_FPGA.pst" - -static void get_ps_file_name(uint32_t devtype, uint32_t rom_version, - char *path) -{ - char *filename; - - if (devtype == 0xdeadc0de) - filename = PS_ASIC_FILE; - else - filename = PS_FPGA_FILE; - - snprintf(path, MAXPATHLEN, "%s%x/%s", FW_PATH, rom_version, filename); -} - -#define PATCH_FILE "RamPatch.txt" -#define FPGA_ROM_VERSION 0x99999999 -#define ROM_DEV_TYPE 0xdeadc0de - -static void get_patch_file_name(uint32_t dev_type, uint32_t rom_version, - uint32_t build_version, char *path) -{ - if (rom_version == FPGA_ROM_VERSION && dev_type != ROM_DEV_TYPE && - dev_type != 0 && build_version == 1) - path[0] = '\0'; - else - snprintf(path, MAXPATHLEN, "%s%x/%s", - FW_PATH, rom_version, PATCH_FILE); -} - -#define VERIFY_CRC 9 -#define PS_REGION 1 -#define PATCH_REGION 2 - -static int get_ath3k_crc(int dev) -{ - uint8_t cmd[7]; - uint8_t *event; - int err; - - load_hci_ps_hdr(cmd, VERIFY_CRC, 0, PS_REGION | PATCH_REGION); - - err = send_hci_cmd_sync(dev, cmd, sizeof(cmd), &event); - if (err < 0) - return err; - /* Send error code if CRC check patched */ - if (read_ps_event(event, HCI_PS_CMD_OCF) >= 0) - err = -EILSEQ; - - free(event); - - return err; -} - -#define DEV_REGISTER 0x4FFC -#define GET_DEV_TYPE_OCF 0x05 - -static int get_device_type(int dev, uint32_t *code) -{ - uint8_t cmd[8]; - uint8_t *event; - uint32_t reg; - int err; - uint8_t *ptr = cmd; - hci_command_hdr *ch = (void *)cmd; - - ch->opcode = htobs(cmd_opcode_pack(HCI_VENDOR_CMD_OGF, - GET_DEV_TYPE_OCF)); - ch->plen = 5; - ptr += HCI_COMMAND_HDR_SIZE; - - ptr[0] = (uint8_t)DEV_REGISTER; - ptr[1] = (uint8_t)DEV_REGISTER >> 8; - ptr[2] = (uint8_t)DEV_REGISTER >> 16; - ptr[3] = (uint8_t)DEV_REGISTER >> 24; - ptr[4] = 0x04; - - err = send_hci_cmd_sync(dev, cmd, sizeof(cmd), &event); - if (err < 0) - return err; - - err = read_ps_event(event, GET_DEV_TYPE_OCF); - if (err < 0) - goto cleanup; - - reg = event[10]; - reg = (reg << 8) | event[9]; - reg = (reg << 8) | event[8]; - reg = (reg << 8) | event[7]; - *code = reg; - -cleanup: - free(event); - - return err; -} - -#define GET_VERSION_OCF 0x1E - -static int read_ath3k_version(int pConfig, uint32_t *rom_version, - uint32_t *build_version) -{ - uint8_t cmd[3]; - uint8_t *event; - int err; - int status; - hci_command_hdr *ch = (void *)cmd; - - ch->opcode = htobs(cmd_opcode_pack(HCI_VENDOR_CMD_OGF, - GET_VERSION_OCF)); - ch->plen = 0; - - err = send_hci_cmd_sync(pConfig, cmd, sizeof(cmd), &event); - if (err < 0) - return err; - - err = read_ps_event(event, GET_VERSION_OCF); - if (err < 0) - goto cleanup; - - status = event[10]; - status = (status << 8) | event[9]; - status = (status << 8) | event[8]; - status = (status << 8) | event[7]; - *rom_version = status; - - status = event[14]; - status = (status << 8) | event[13]; - status = (status << 8) | event[12]; - status = (status << 8) | event[11]; - *build_version = status; - -cleanup: - free(event); - - return err; -} - -static void convert_bdaddr(char *str_bdaddr, char *bdaddr) -{ - char bdbyte[3]; - char *str_byte = str_bdaddr; - int i, j; - int colon_present = 0; - - if (strstr(str_bdaddr, ":")) - colon_present = 1; - - bdbyte[2] = '\0'; - - /* Reverse the BDADDR to LSB first */ - for (i = 0, j = 5; i < 6; i++, j--) { - bdbyte[0] = str_byte[0]; - bdbyte[1] = str_byte[1]; - bdaddr[j] = strtol(bdbyte, NULL, 16); - - if (colon_present == 1) - str_byte += 3; - else - str_byte += 2; - } -} - -static int write_bdaddr(int pConfig, char *bdaddr) -{ - uint8_t *event; - int err; - uint8_t cmd[13]; - uint8_t *ptr = cmd; - hci_command_hdr *ch = (void *)cmd; - - memset(cmd, 0, sizeof(cmd)); - - ch->opcode = htobs(cmd_opcode_pack(HCI_VENDOR_CMD_OGF, - HCI_PS_CMD_OCF)); - ch->plen = 10; - ptr += HCI_COMMAND_HDR_SIZE; - - ptr[0] = 0x01; - ptr[1] = 0x01; - ptr[2] = 0x00; - ptr[3] = 0x06; - - convert_bdaddr(bdaddr, (char *)&ptr[4]); - - err = send_hci_cmd_sync(pConfig, cmd, sizeof(cmd), &event); - if (err < 0) - return err; - - err = read_ps_event(event, HCI_PS_CMD_OCF); - - free(event); - - return err; -} - -#define BDADDR_FILE "ar3kbdaddr.pst" - -static void write_bdaddr_from_file(int rom_version, int fd) -{ - FILE *stream; - char bdaddr[PATH_MAX]; - char bdaddr_file[PATH_MAX]; - - snprintf(bdaddr_file, MAXPATHLEN, "%s%x/%s", - FW_PATH, rom_version, BDADDR_FILE); - - stream = fopen(bdaddr_file, "r"); - if (!stream) - return; - - if (fgets(bdaddr, PATH_MAX - 1, stream)) - write_bdaddr(fd, bdaddr); - - fclose(stream); -} - -static int ath_ps_download(int fd) -{ - int err = 0; - int tag_count; - int patch_count = 0; - uint32_t rom_version = 0; - uint32_t build_version = 0; - uint32_t dev_type = 0; - char patch_file[PATH_MAX]; - char ps_file[PATH_MAX]; - FILE *stream; - - /* - * Verfiy firmware version. depending on it select the PS - * config file to download. - */ - if (get_device_type(fd, &dev_type) < 0) { - err = -EILSEQ; - goto download_cmplete; - } - - if (read_ath3k_version(fd, &rom_version, &build_version) < 0) { - err = -EILSEQ; - goto download_cmplete; - } - - /* Do not download configuration if CRC passes */ - if (get_ath3k_crc(fd) < 0) { - err = 0; - goto download_cmplete; - } - - get_ps_file_name(dev_type, rom_version, ps_file); - get_patch_file_name(dev_type, rom_version, build_version, patch_file); - - stream = fopen(ps_file, "r"); - if (!stream) { - perror("firmware file open error\n"); - err = -EILSEQ; - goto download_cmplete; - } - tag_count = ath_parse_ps(stream); - - fclose(stream); - - if (tag_count < 0) { - err = -EILSEQ; - goto download_cmplete; - } - - /* - * It is not necessary that Patch file be available, - * continue with PS Operations if patch file is not available. - */ - if (patch_file[0] == '\0') - err = 0; - - stream = fopen(patch_file, "r"); - if (!stream) - err = 0; - else { - patch_count = ps_patch_download(fd, stream); - fclose(stream); - - if (patch_count < 0) { - err = -EILSEQ; - goto download_cmplete; - } - } - - err = ps_config_download(fd, tag_count); - -download_cmplete: - if (!err) - write_bdaddr_from_file(rom_version, fd); - - return err; -} - -#define HCI_SLEEP_CMD_OCF 0x04 - -/* - * Atheros AR300x specific initialization post callback - */ -int ath3k_post(int fd, int pm) -{ - int dev_id, dd; - struct timespec tm = { 0, 50000 }; - - sleep(1); - - dev_id = ioctl(fd, HCIUARTGETDEVICE, 0); - if (dev_id < 0) { - perror("cannot get device id"); - return dev_id; - } - - dd = hci_open_dev(dev_id); - if (dd < 0) { - perror("HCI device open failed"); - return dd; - } - - if (ioctl(dd, HCIDEVUP, dev_id) < 0 && errno != EALREADY) { - perror("hci down:Power management Disabled"); - hci_close_dev(dd); - return -1; - } - - /* send vendor specific command with Sleep feature Enabled */ - if (hci_send_cmd(dd, OGF_VENDOR_CMD, HCI_SLEEP_CMD_OCF, 1, &pm) < 0) - perror("PM command failed, power management Disabled"); - - nanosleep(&tm, NULL); - hci_close_dev(dd); - - return 0; -} - -#define HCI_VENDOR_CMD_OGF 0x3F -#define HCI_PS_CMD_OCF 0x0B -#define HCI_CHG_BAUD_CMD_OCF 0x0C - -#define WRITE_BDADDR_CMD_LEN 14 -#define WRITE_BAUD_CMD_LEN 6 -#define MAX_CMD_LEN WRITE_BDADDR_CMD_LEN - -static int set_cntrlr_baud(int fd, int speed) -{ - int baud; - struct timespec tm = { 0, 500000 }; - unsigned char cmd[MAX_CMD_LEN], rsp[HCI_MAX_EVENT_SIZE]; - unsigned char *ptr = cmd + 1; - hci_command_hdr *ch = (void *)ptr; - - cmd[0] = HCI_COMMAND_PKT; - - /* set controller baud rate to user specified value */ - ptr = cmd + 1; - ch->opcode = htobs(cmd_opcode_pack(HCI_VENDOR_CMD_OGF, - HCI_CHG_BAUD_CMD_OCF)); - ch->plen = 2; - ptr += HCI_COMMAND_HDR_SIZE; - - baud = speed/100; - ptr[0] = (char)baud; - ptr[1] = (char)(baud >> 8); - - if (write(fd, cmd, WRITE_BAUD_CMD_LEN) != WRITE_BAUD_CMD_LEN) { - perror("Failed to write change baud rate command"); - return -ETIMEDOUT; - } - - nanosleep(&tm, NULL); - - if (read_hci_event(fd, rsp, sizeof(rsp)) < 0) - return -ETIMEDOUT; - - return 0; -} - -/* - * Atheros AR300x specific initialization and configuration file - * download - */ -int ath3k_init(int fd, int speed, int init_speed, char *bdaddr, - struct termios *ti) -{ - int r; - int err = 0; - struct timespec tm = { 0, 500000 }; - unsigned char cmd[MAX_CMD_LEN], rsp[HCI_MAX_EVENT_SIZE]; - unsigned char *ptr = cmd + 1; - hci_command_hdr *ch = (void *)ptr; - - cmd[0] = HCI_COMMAND_PKT; - - /* set both controller and host baud rate to maximum possible value */ - err = set_cntrlr_baud(fd, speed); - if (err < 0) - return err; - - err = set_speed(fd, ti, speed); - if (err < 0) { - perror("Can't set required baud rate"); - return err; - } - - /* Download PS and patch */ - r = ath_ps_download(fd); - if (r < 0) { - perror("Failed to Download configuration"); - err = -ETIMEDOUT; - goto failed; - } - - /* Write BDADDR */ - if (bdaddr) { - ch->opcode = htobs(cmd_opcode_pack(HCI_VENDOR_CMD_OGF, - HCI_PS_CMD_OCF)); - ch->plen = 10; - ptr += HCI_COMMAND_HDR_SIZE; - - ptr[0] = 0x01; - ptr[1] = 0x01; - ptr[2] = 0x00; - ptr[3] = 0x06; - str2ba(bdaddr, (bdaddr_t *)(ptr + 4)); - - if (write(fd, cmd, WRITE_BDADDR_CMD_LEN) != - WRITE_BDADDR_CMD_LEN) { - perror("Failed to write BD_ADDR command\n"); - err = -ETIMEDOUT; - goto failed; - } - - if (read_hci_event(fd, rsp, sizeof(rsp)) < 0) { - perror("Failed to set BD_ADDR\n"); - err = -ETIMEDOUT; - goto failed; - } - } - - /* Send HCI Reset */ - cmd[1] = 0x03; - cmd[2] = 0x0C; - cmd[3] = 0x00; - - r = write(fd, cmd, 4); - if (r != 4) { - err = -ETIMEDOUT; - goto failed; - } - - nanosleep(&tm, NULL); - if (read_hci_event(fd, rsp, sizeof(rsp)) < 0) { - err = -ETIMEDOUT; - goto failed; - } - - err = set_cntrlr_baud(fd, speed); - if (err < 0) - return err; - -failed: - if (err < 0) { - set_cntrlr_baud(fd, init_speed); - set_speed(fd, ti, init_speed); - } - - return err; -} diff --git a/GRIB_BLE_HUB/libs/ble_extend/tools/hciattach_intel.c b/GRIB_BLE_HUB/libs/ble_extend/tools/hciattach_intel.c deleted file mode 100644 index 749098e..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/tools/hciattach_intel.c +++ /dev/null @@ -1,595 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2012 Intel Corporation. All rights reserved. - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include - -#include "hciattach.h" - -#ifdef INTEL_DEBUG -#define DBGPRINT(fmt, args...) printf("DBG: " fmt "\n", ## args) -#define PRINT_PACKET(buf, len, msg) { \ - int i; \ - printf("%s\n", msg); \ - for (i = 0; i < len; i++) \ - printf("%02X ", buf[i]); \ - printf("\n"); \ - } -#else -#define DBGPRINT(fmt, args...) -#define PRINT_PACKET(buf, len, msg) -#endif - -#define PATCH_SEQ_EXT ".bseq" -#define PATCH_FILE_PATH "/lib/firmware/intel/" -#define PATCH_MAX_LEN 260 -#define PATCH_TYPE_CMD 1 -#define PATCH_TYPE_EVT 2 - -#define INTEL_VER_PARAM_LEN 9 -#define INTEL_MFG_PARAM_LEN 2 - -/** - * A data structure for a patch entry. - */ -struct patch_entry { - int type; - int len; - unsigned char data[PATCH_MAX_LEN]; -}; - -/** - * A structure for patch context - */ -struct patch_ctx { - int dev; - int fd; - int patch_error; - int reset_enable_patch; -}; - -/** - * Send HCI command to the controller - */ -static int intel_write_cmd(int dev, unsigned char *buf, int len) -{ - int ret; - - PRINT_PACKET(buf, len, "<----- SEND CMD: "); - - ret = write(dev, buf, len); - if (ret < 0) - return -errno; - - if (ret != len) - return -1; - - return ret; -} - -/** - * Read the event from the controller - */ -static int intel_read_evt(int dev, unsigned char *buf, int len) -{ - int ret; - - ret = read_hci_event(dev, buf, len); - if (ret < 0) - return -1; - - PRINT_PACKET(buf, ret, "-----> READ EVT: "); - - return ret; -} - -/** - * Validate HCI events - */ -static int validate_events(struct patch_entry *event, - struct patch_entry *entry) -{ - if (event == NULL || entry == NULL) { - DBGPRINT("invalid patch entry parameters"); - return -1; - } - - if (event->len != entry->len) { - DBGPRINT("lengths are mismatched:[%d|%d]", - event->len, entry->len); - return -1; - } - - if (memcmp(event->data, entry->data, event->len)) { - DBGPRINT("data is mismatched"); - return -1; - } - - return 0; -} - -/** - * Read the next patch entry one line at a time - */ -static int get_next_patch_entry(int fd, struct patch_entry *entry) -{ - int size; - char rb; - - if (read(fd, &rb, 1) <= 0) - return 0; - - entry->type = rb; - - switch (entry->type) { - case PATCH_TYPE_CMD: - entry->data[0] = HCI_COMMAND_PKT; - - if (read(fd, &entry->data[1], 3) < 0) - return -1; - - size = (int)entry->data[3]; - - if (read(fd, &entry->data[4], size) < 0) - return -1; - - entry->len = HCI_TYPE_LEN + HCI_COMMAND_HDR_SIZE + size; - - break; - - case PATCH_TYPE_EVT: - entry->data[0] = HCI_EVENT_PKT; - - if (read(fd, &entry->data[1], 2) < 0) - return -1; - - size = (int)entry->data[2]; - - if (read(fd, &entry->data[3], size) < 0) - return -1; - - entry->len = HCI_TYPE_LEN + HCI_EVENT_HDR_SIZE + size; - - break; - - default: - fprintf(stderr, "invalid patch entry(%d)\n", entry->type); - return -1; - } - - return entry->len; -} - -/** - * Download the patch set to the controller and verify the event - */ -static int intel_download_patch(struct patch_ctx *ctx) -{ - int ret; - struct patch_entry entry; - struct patch_entry event; - - DBGPRINT("start patch downloading"); - - do { - ret = get_next_patch_entry(ctx->fd, &entry); - if (ret <= 0) { - ctx->patch_error = 1; - break; - } - - switch (entry.type) { - case PATCH_TYPE_CMD: - ret = intel_write_cmd(ctx->dev, - entry.data, - entry.len); - if (ret <= 0) { - fprintf(stderr, "failed to send cmd(%d)\n", - ret); - return ret; - } - break; - - case PATCH_TYPE_EVT: - ret = intel_read_evt(ctx->dev, event.data, - sizeof(event.data)); - if (ret <= 0) { - fprintf(stderr, "failed to read evt(%d)\n", - ret); - return ret; - } - event.len = ret; - - if (validate_events(&event, &entry) < 0) { - DBGPRINT("events are mismatched"); - ctx->patch_error = 1; - return -1; - } - break; - - default: - fprintf(stderr, "unknown patch type(%d)\n", - entry.type); - return -1; - } - } while (1); - - return ret; -} - -static int open_patch_file(struct patch_ctx *ctx, char *fw_ver) -{ - char patch_file[PATH_MAX]; - - snprintf(patch_file, PATH_MAX, "%s%s%s", PATCH_FILE_PATH, - fw_ver, PATCH_SEQ_EXT); - DBGPRINT("PATCH_FILE: %s", patch_file); - - ctx->fd = open(patch_file, O_RDONLY); - if (ctx->fd < 0) { - DBGPRINT("cannot open patch file. go to post patch"); - return -1; - } - - return 0; -} - -/** - * Prepare the controller for patching. - */ -static int pre_patch(struct patch_ctx *ctx) -{ - int ret, i; - struct patch_entry entry; - char fw_ver[INTEL_VER_PARAM_LEN * 2]; - - DBGPRINT("start pre_patch"); - - entry.data[0] = HCI_COMMAND_PKT; - entry.data[1] = 0x11; - entry.data[2] = 0xFC; - entry.data[3] = 0x02; - entry.data[4] = 0x01; - entry.data[5] = 0x00; - entry.len = HCI_TYPE_LEN + HCI_COMMAND_HDR_SIZE + INTEL_MFG_PARAM_LEN; - - ret = intel_write_cmd(ctx->dev, entry.data, entry.len); - if (ret < 0) { - fprintf(stderr, "failed to send cmd(%d)\n", ret); - return ret; - } - - ret = intel_read_evt(ctx->dev, entry.data, sizeof(entry.data)); - if (ret < 0) { - fprintf(stderr, "failed to read evt(%d)\n", ret); - return ret; - } - entry.len = ret; - - if (entry.data[6] != 0x00) { - DBGPRINT("command failed. status=%02x", entry.data[6]); - ctx->patch_error = 1; - return -1; - } - - entry.data[0] = HCI_COMMAND_PKT; - entry.data[1] = 0x05; - entry.data[2] = 0xFC; - entry.data[3] = 0x00; - entry.len = HCI_TYPE_LEN + HCI_COMMAND_HDR_SIZE; - - ret = intel_write_cmd(ctx->dev, entry.data, entry.len); - if (ret < 0) { - fprintf(stderr, "failed to send cmd(%d)\n", ret); - return ret; - } - - ret = intel_read_evt(ctx->dev, entry.data, sizeof(entry.data)); - if (ret < 0) { - fprintf(stderr, "failed to read evt(%d)\n", ret); - return ret; - } - entry.len = ret; - - if (entry.data[6] != 0x00) { - DBGPRINT("command failed. status=%02x", entry.data[6]); - ctx->patch_error = 1; - return -1; - } - - for (i = 0; i < INTEL_VER_PARAM_LEN; i++) - sprintf(&fw_ver[i*2], "%02x", entry.data[7+i]); - - if (open_patch_file(ctx, fw_ver) < 0) { - ctx->patch_error = 1; - return -1; - } - - return ret; -} - -/* - * check the event is startup event - */ -static int is_startup_evt(unsigned char *buf) -{ - if (buf[1] == 0xFF && buf[2] == 0x01 && buf[3] == 0x00) - return 1; - - return 0; -} - -/** - * Finalize the patch process and reset the controller - */ -static int post_patch(struct patch_ctx *ctx) -{ - int ret; - struct patch_entry entry; - - DBGPRINT("start post_patch"); - - entry.data[0] = HCI_COMMAND_PKT; - entry.data[1] = 0x11; - entry.data[2] = 0xFC; - entry.data[3] = 0x02; - entry.data[4] = 0x00; - if (ctx->reset_enable_patch) - entry.data[5] = 0x02; - else - entry.data[5] = 0x01; - - entry.len = HCI_TYPE_LEN + HCI_COMMAND_HDR_SIZE + INTEL_MFG_PARAM_LEN; - - ret = intel_write_cmd(ctx->dev, entry.data, entry.len); - if (ret < 0) { - fprintf(stderr, "failed to send cmd(%d)\n", ret); - return ret; - } - - ret = intel_read_evt(ctx->dev, entry.data, sizeof(entry.data)); - if (ret < 0) { - fprintf(stderr, "failed to read evt(%d)\n", ret); - return ret; - } - entry.len = ret; - - if (entry.data[6] != 0x00) { - fprintf(stderr, "cmd failed. st=%02x\n", entry.data[6]); - return -1; - } - - do { - ret = intel_read_evt(ctx->dev, entry.data, - sizeof(entry.data)); - if (ret < 0) { - fprintf(stderr, "failed to read cmd(%d)\n", ret); - return ret; - } - entry.len = ret; - } while (!is_startup_evt(entry.data)); - - return ret; -} - -/** - * Main routine that handles the device patching process. - */ -static int intel_patch_device(struct patch_ctx *ctx) -{ - int ret; - - ret = pre_patch(ctx); - if (ret < 0) { - if (!ctx->patch_error) { - fprintf(stderr, "I/O error: pre_patch failed\n"); - return ret; - } - - DBGPRINT("patch failed. proceed to post patch"); - goto post_patch; - } - - ret = intel_download_patch(ctx); - if (ret < 0) { - if (!ctx->patch_error) { - fprintf(stderr, "I/O error: download_patch failed\n"); - close(ctx->fd); - return ret; - } - } else { - DBGPRINT("patch done"); - ctx->reset_enable_patch = 1; - } - - close(ctx->fd); - -post_patch: - ret = post_patch(ctx); - if (ret < 0) { - fprintf(stderr, "post_patch failed(%d)\n", ret); - return ret; - } - - return 0; -} - -static int set_rts(int dev, int rtsval) -{ - int arg; - - if (ioctl(dev, TIOCMGET, &arg) < 0) { - perror("cannot get TIOCMGET"); - return -errno; - } - if (rtsval) - arg |= TIOCM_RTS; - else - arg &= ~TIOCM_RTS; - - if (ioctl(dev, TIOCMSET, &arg) == -1) { - perror("cannot set TIOCMGET"); - return -errno; - } - - return 0; -} - -static unsigned char get_intel_speed(int speed) -{ - switch (speed) { - case 9600: - return 0x00; - case 19200: - return 0x01; - case 38400: - return 0x02; - case 57600: - return 0x03; - case 115200: - return 0x04; - case 230400: - return 0x05; - case 460800: - return 0x06; - case 921600: - return 0x07; - case 1843200: - return 0x08; - case 3250000: - return 0x09; - case 2000000: - return 0x0A; - case 3000000: - return 0x0B; - default: - return 0xFF; - } -} - -/** - * if it failed to change to new baudrate, it will rollback - * to initial baudrate - */ -static int change_baudrate(int dev, int init_speed, int *speed, - struct termios *ti) -{ - int ret; - unsigned char br; - unsigned char cmd[5]; - unsigned char evt[7]; - - DBGPRINT("start baudrate change"); - - ret = set_rts(dev, 0); - if (ret < 0) { - fprintf(stderr, "failed to clear RTS\n"); - return ret; - } - - cmd[0] = HCI_COMMAND_PKT; - cmd[1] = 0x06; - cmd[2] = 0xFC; - cmd[3] = 0x01; - - br = get_intel_speed(*speed); - if (br == 0xFF) { - fprintf(stderr, "speed %d is not supported\n", *speed); - return -1; - } - cmd[4] = br; - - ret = intel_write_cmd(dev, cmd, sizeof(cmd)); - if (ret < 0) { - fprintf(stderr, "failed to send cmd(%d)\n", ret); - return ret; - } - - /* - * wait for buffer to be consumed by the controller - */ - usleep(300000); - - if (set_speed(dev, ti, *speed) < 0) { - fprintf(stderr, "can't set to new baud rate\n"); - return -1; - } - - ret = set_rts(dev, 1); - if (ret < 0) { - fprintf(stderr, "failed to set RTS\n"); - return ret; - } - - ret = intel_read_evt(dev, evt, sizeof(evt)); - if (ret < 0) { - fprintf(stderr, "failed to read evt(%d)\n", ret); - return ret; - } - - if (evt[4] != 0x00) { - fprintf(stderr, - "failed to change speed. use default speed %d\n", - init_speed); - *speed = init_speed; - } - - return 0; -} - -/** - * An entry point for Intel specific initialization - */ -int intel_init(int dev, int init_speed, int *speed, struct termios *ti) -{ - int ret = 0; - struct patch_ctx ctx; - - if (change_baudrate(dev, init_speed, speed, ti) < 0) - return -1; - - ctx.dev = dev; - ctx.patch_error = 0; - ctx.reset_enable_patch = 0; - - ret = intel_patch_device(&ctx); - if (ret < 0) - fprintf(stderr, "failed to initialize the device"); - - return ret; -} diff --git a/GRIB_BLE_HUB/libs/ble_extend/tools/hciattach_qualcomm.c b/GRIB_BLE_HUB/libs/ble_extend/tools/hciattach_qualcomm.c deleted file mode 100644 index 0e02e1e..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/tools/hciattach_qualcomm.c +++ /dev/null @@ -1,273 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2005-2010 Marcel Holtmann - * Copyright (c) 2010, Code Aurora Forum. All rights reserved. - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include - -#include "hciattach.h" - -#define FAILIF(x, args...) do { \ - if (x) { \ - fprintf(stderr, ##args); \ - return -1; \ - } \ -} while (0) - -typedef struct { - uint8_t uart_prefix; - hci_event_hdr hci_hdr; - evt_cmd_complete cmd_complete; - uint8_t status; - uint8_t data[16]; -} __attribute__((packed)) command_complete_t; - -static int read_command_complete(int fd, - unsigned short opcode, - unsigned char len) -{ - command_complete_t resp; - unsigned char vsevent[512]; - int n; - - /* Read reply. */ - n = read_hci_event(fd, vsevent, sizeof(vsevent)); - FAILIF(n < 0, "Failed to read response"); - - FAILIF(vsevent[1] != 0xFF, "Failed to read response"); - - n = read_hci_event(fd, (unsigned char *)&resp, sizeof(resp)); - FAILIF(n < 0, "Failed to read response"); - - /* event must be event-complete */ - FAILIF(resp.hci_hdr.evt != EVT_CMD_COMPLETE, - "Error in response: not a cmd-complete event, " - "but 0x%02x!\n", resp.hci_hdr.evt); - - FAILIF(resp.hci_hdr.plen < 4, /* plen >= 4 for EVT_CMD_COMPLETE */ - "Error in response: plen is not >= 4, but 0x%02x!\n", - resp.hci_hdr.plen); - - /* cmd-complete event: opcode */ - FAILIF(resp.cmd_complete.opcode != 0, - "Error in response: opcode is 0x%04x, not 0!", - resp.cmd_complete.opcode); - - return resp.status == 0 ? 0 : -1; -} - -static int qualcomm_load_firmware(int fd, const char *firmware, const char *bdaddr_s) -{ - - int fw = open(firmware, O_RDONLY); - - fprintf(stdout, "Opening firmware file: %s\n", firmware); - - FAILIF(fw < 0, - "Could not open firmware file %s: %s (%d).\n", - firmware, strerror(errno), errno); - - fprintf(stdout, "Uploading firmware...\n"); - do { - /* Read each command and wait for a response. */ - unsigned char data[1024]; - unsigned char cmdp[1 + sizeof(hci_command_hdr)]; - hci_command_hdr *cmd = (hci_command_hdr *) (cmdp + 1); - int nr; - - nr = read(fw, cmdp, sizeof(cmdp)); - if (!nr) - break; - - FAILIF(nr != sizeof(cmdp), - "Could not read H4 + HCI header!\n"); - FAILIF(*cmdp != HCI_COMMAND_PKT, - "Command is not an H4 command packet!\n"); - - FAILIF(read(fw, data, cmd->plen) != cmd->plen, - "Could not read %d bytes of data \ - for command with opcode %04x!\n", - cmd->plen, cmd->opcode); - - if ((data[0] == 1) && (data[1] == 2) && (data[2] == 6)) { - bdaddr_t bdaddr; - if (bdaddr_s != NULL) { - str2ba(bdaddr_s, &bdaddr); - memcpy(&data[3], &bdaddr, sizeof(bdaddr_t)); - } - } - - { - int nw; - struct iovec iov_cmd[2]; - iov_cmd[0].iov_base = cmdp; - iov_cmd[0].iov_len = sizeof(cmdp); - iov_cmd[1].iov_base = data; - iov_cmd[1].iov_len = cmd->plen; - nw = writev(fd, iov_cmd, 2); - FAILIF(nw != (int) sizeof(cmdp) + cmd->plen, - "Could not send entire command \ - (sent only %d bytes)!\n", - nw); - } - - /* Wait for response */ - if (read_command_complete(fd, cmd->opcode, cmd->plen) < 0) - return -1; - } while (1); - fprintf(stdout, "Firmware upload successful.\n"); - - close(fw); - - return 0; -} - -int qualcomm_init(int fd, int speed, struct termios *ti, const char *bdaddr) -{ - struct timespec tm = {0, 50000}; - char cmd[5]; - unsigned char resp[100]; /* Response */ - char fw[100]; - int n; - - memset(resp, 0, 100); - - /* Get Manufacturer and LMP version */ - cmd[0] = HCI_COMMAND_PKT; - cmd[1] = 0x01; - cmd[2] = 0x10; - cmd[3] = 0x00; - - do { - n = write(fd, cmd, 4); - if (n < 4) { - perror("Failed to write init command"); - return -1; - } - - /* Read reply. */ - if (read_hci_event(fd, resp, 100) < 0) { - perror("Failed to read init response"); - return -1; - } - - /* Wait for command complete event for our Opcode */ - } while (resp[4] != cmd[1] && resp[5] != cmd[2]); - - /* Verify manufacturer */ - if ((resp[11] & 0xFF) != 0x1d) - fprintf(stderr, - "WARNING : module's manufacturer is not Qualcomm\n"); - - /* Print LMP version */ - fprintf(stderr, - "Qualcomm module LMP version : 0x%02x\n", resp[10] & 0xFF); - - /* Print LMP subversion */ - { - unsigned short lmp_subv = resp[13] | (resp[14] << 8); - - fprintf(stderr, "Qualcomm module LMP sub-version : 0x%04x\n", - lmp_subv); - } - - /* Get SoC type */ - cmd[0] = HCI_COMMAND_PKT; - cmd[1] = 0x00; - cmd[2] = 0xFC; - cmd[3] = 0x01; - cmd[4] = 0x06; - - do { - n = write(fd, cmd, 5); - if (n < 5) { - perror("Failed to write vendor init command"); - return -1; - } - - /* Read reply. */ - if ((n = read_hci_event(fd, resp, 100)) < 0) { - perror("Failed to read vendor init response"); - return -1; - } - - } while (resp[3] != 0 && resp[4] != 2); - - snprintf(fw, sizeof(fw), "/etc/firmware/%c%c%c%c%c%c_%c%c%c%c.bin", - resp[18], resp[19], resp[20], resp[21], - resp[22], resp[23], - resp[32], resp[33], resp[34], resp[35]); - - /* Wait for command complete event for our Opcode */ - if (read_hci_event(fd, resp, 100) < 0) { - perror("Failed to read init response"); - return -1; - } - - qualcomm_load_firmware(fd, fw, bdaddr); - - /* Reset */ - cmd[0] = HCI_COMMAND_PKT; - cmd[1] = 0x03; - cmd[2] = 0x0C; - cmd[3] = 0x00; - - do { - n = write(fd, cmd, 4); - if (n < 4) { - perror("Failed to write reset command"); - return -1; - } - - /* Read reply. */ - if ((n = read_hci_event(fd, resp, 100)) < 0) { - perror("Failed to read reset response"); - return -1; - } - - } while (resp[4] != cmd[1] && resp[5] != cmd[2]); - - nanosleep(&tm, NULL); - - return 0; -} diff --git a/GRIB_BLE_HUB/libs/ble_extend/tools/hciattach_st.c b/GRIB_BLE_HUB/libs/ble_extend/tools/hciattach_st.c deleted file mode 100644 index dbb7c47..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/tools/hciattach_st.c +++ /dev/null @@ -1,278 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2005-2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include - -#include "hciattach.h" - -static int debug = 0; - -static int do_command(int fd, uint8_t ogf, uint16_t ocf, - uint8_t *cparam, int clen, uint8_t *rparam, int rlen) -{ - //uint16_t opcode = (uint16_t) ((ocf & 0x03ff) | (ogf << 10)); - unsigned char cp[260], rp[260]; - int len, size, offset = 3; - - cp[0] = 0x01; - cp[1] = ocf & 0xff; - cp[2] = ogf << 2 | ocf >> 8; - cp[3] = clen; - - if (clen > 0) - memcpy(cp + 4, cparam, clen); - - if (debug) { - int i; - printf("[<"); - for (i = 0; i < clen + 4; i++) - printf(" %02x", cp[i]); - printf("]\n"); - } - - if (write(fd, cp, clen + 4) < 0) - return -1; - - do { - if (read(fd, rp, 1) < 1) - return -1; - } while (rp[0] != 0x04); - - if (read(fd, rp + 1, 2) < 2) - return -1; - - do { - len = read(fd, rp + offset, sizeof(rp) - offset); - offset += len; - } while (offset < rp[2] + 3); - - if (debug) { - int i; - printf("[>"); - for (i = 0; i < offset; i++) - printf(" %02x", rp[i]); - printf("]\n"); - } - - if (rp[0] != 0x04) { - errno = EIO; - return -1; - } - - switch (rp[1]) { - case 0x0e: /* command complete */ - if (rp[6] != 0x00) - return -ENXIO; - offset = 3 + 4; - size = rp[2] - 4; - break; - case 0x0f: /* command status */ - /* fall through */ - default: - offset = 3; - size = rp[2]; - break; - } - - if (!rparam || rlen < size) - return -ENXIO; - - memcpy(rparam, rp + offset, size); - - return size; -} - -static int load_file(int dd, uint16_t version, const char *suffix) -{ - DIR *dir; - struct dirent *d; - char pathname[PATH_MAX], filename[NAME_MAX], prefix[20]; - unsigned char cmd[256]; - unsigned char buf[256]; - uint8_t seqnum = 0; - int fd, size, len, found_fw_file; - - memset(filename, 0, sizeof(filename)); - - snprintf(prefix, sizeof(prefix), "STLC2500_R%d_%02d_", - version >> 8, version & 0xff); - - strcpy(pathname, "/lib/firmware"); - dir = opendir(pathname); - if (!dir) { - strcpy(pathname, "."); - dir = opendir(pathname); - if (!dir) - return -errno; - } - - found_fw_file = 0; - while (1) { - d = readdir(dir); - if (!d) - break; - - if (strncmp(d->d_name + strlen(d->d_name) - strlen(suffix), - suffix, strlen(suffix))) - continue; - - if (strncmp(d->d_name, prefix, strlen(prefix))) - continue; - - snprintf(filename, sizeof(filename), "%s/%s", - pathname, d->d_name); - found_fw_file = 1; - } - - closedir(dir); - - if (!found_fw_file) - return -ENOENT; - - printf("Loading file %s\n", filename); - - fd = open(filename, O_RDONLY); - if (fd < 0) { - perror("Can't open firmware file"); - return -errno; - } - - while (1) { - size = read(fd, cmd + 1, 254); - if (size <= 0) - break; - - cmd[0] = seqnum; - - len = do_command(dd, 0xff, 0x002e, cmd, size + 1, buf, sizeof(buf)); - if (len < 1) - break; - - if (buf[0] != seqnum) { - fprintf(stderr, "Sequence number mismatch\n"); - break; - } - - seqnum++; - } - - close(fd); - - return 0; -} - -int stlc2500_init(int dd, bdaddr_t *bdaddr) -{ - unsigned char cmd[16]; - unsigned char buf[254]; - uint16_t version; - int len; - int err; - - /* Hci_Cmd_Ericsson_Read_Revision_Information */ - len = do_command(dd, 0xff, 0x000f, NULL, 0, buf, sizeof(buf)); - if (len < 0) - return -1; - - printf("%s\n", buf); - - /* HCI_Read_Local_Version_Information */ - len = do_command(dd, 0x04, 0x0001, NULL, 0, buf, sizeof(buf)); - if (len < 0) - return -1; - - version = buf[2] << 8 | buf[1]; - - err = load_file(dd, version, ".ptc"); - if (err < 0) { - if (err == -ENOENT) - fprintf(stderr, "No ROM patch file loaded.\n"); - else - return -1; - } - - err = load_file(dd, buf[2] << 8 | buf[1], ".ssf"); - if (err < 0) { - if (err == -ENOENT) - fprintf(stderr, "No static settings file loaded.\n"); - else - return -1; - } - - cmd[0] = 0xfe; - cmd[1] = 0x06; - bacpy((bdaddr_t *) (cmd + 2), bdaddr); - - /* Hci_Cmd_ST_Store_In_NVDS */ - len = do_command(dd, 0xff, 0x0022, cmd, 8, buf, sizeof(buf)); - if (len < 0) - return -1; - - /* HCI_Reset : applies parameters*/ - len = do_command(dd, 0x03, 0x0003, NULL, 0, buf, sizeof(buf)); - if (len < 0) - return -1; - - return 0; -} - -int bgb2xx_init(int dd, bdaddr_t *bdaddr) -{ - unsigned char cmd[16]; - unsigned char buf[254]; - int len; - - len = do_command(dd, 0xff, 0x000f, NULL, 0, buf, sizeof(buf)); - if (len < 0) - return -1; - - printf("%s\n", buf); - - cmd[0] = 0xfe; - cmd[1] = 0x06; - bacpy((bdaddr_t *) (cmd + 2), bdaddr); - - len = do_command(dd, 0xff, 0x0022, cmd, 8, buf, sizeof(buf)); - if (len < 0) - return -1; - - len = do_command(dd, 0x03, 0x0003, NULL, 0, buf, sizeof(buf)); - if (len < 0) - return -1; - - return 0; -} diff --git a/GRIB_BLE_HUB/libs/ble_extend/tools/hciattach_ti.c b/GRIB_BLE_HUB/libs/ble_extend/tools/hciattach_ti.c deleted file mode 100644 index 8322b45..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/tools/hciattach_ti.c +++ /dev/null @@ -1,533 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2007-2008 Texas Instruments, Inc. - * Copyright (C) 2005-2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include - -#include "hciattach.h" - -#ifdef HCIATTACH_DEBUG -#define DPRINTF(x...) printf(x) -#else -#define DPRINTF(x...) -#endif - -#define HCIUARTGETDEVICE _IOR('U', 202, int) - -#define MAKEWORD(a, b) ((uint16_t)(((uint8_t)(a)) | ((uint16_t)((uint8_t)(b))) << 8)) - -#define TI_MANUFACTURER_ID 13 - -#define FIRMWARE_DIRECTORY "/lib/firmware/ti-connectivity/" - -#define ACTION_SEND_COMMAND 1 -#define ACTION_WAIT_EVENT 2 -#define ACTION_SERIAL 3 -#define ACTION_DELAY 4 -#define ACTION_RUN_SCRIPT 5 -#define ACTION_REMARKS 6 - -#define BRF_DEEP_SLEEP_OPCODE_BYTE_1 0x0c -#define BRF_DEEP_SLEEP_OPCODE_BYTE_2 0xfd -#define BRF_DEEP_SLEEP_OPCODE \ - (BRF_DEEP_SLEEP_OPCODE_BYTE_1 | (BRF_DEEP_SLEEP_OPCODE_BYTE_2 << 8)) - -#define FILE_HEADER_MAGIC 0x42535442 - -/* - * BRF Firmware header - */ -struct bts_header { - uint32_t magic; - uint32_t version; - uint8_t future[24]; - uint8_t actions[0]; -}__attribute__ ((packed)); - -/* - * BRF Actions structure - */ -struct bts_action { - uint16_t type; - uint16_t size; - uint8_t data[0]; -} __attribute__ ((packed)); - -struct bts_action_send { - uint8_t data[0]; -} __attribute__ ((packed)); - -struct bts_action_wait { - uint32_t msec; - uint32_t size; - uint8_t data[0]; -}__attribute__ ((packed)); - -struct bts_action_delay { - uint32_t msec; -}__attribute__ ((packed)); - -struct bts_action_serial { - uint32_t baud; - uint32_t flow_control; -}__attribute__ ((packed)); - -static FILE *bts_load_script(const char *file_name, uint32_t *version) -{ - struct bts_header header; - FILE *fp; - - fp = fopen(file_name, "rb"); - if (!fp) { - perror("can't open firmware file"); - return NULL; - } - - if (1 != fread(&header, sizeof(struct bts_header), 1, fp)) { - perror("can't read firmware file"); - goto errclose; - } - - if (header.magic != FILE_HEADER_MAGIC) { - fprintf(stderr, "%s not a legal TI firmware file\n", file_name); - goto errclose; - } - - if (NULL != version) - *version = header.version; - - return fp; - -errclose: - fclose(fp); - - return NULL; -} - -static unsigned long bts_fetch_action(FILE *fp, unsigned char *action_buf, - unsigned long buf_size, uint16_t *action_type) -{ - struct bts_action action_hdr; - unsigned long nread; - - if (!fp) - return 0; - - if (1 != fread(&action_hdr, sizeof(struct bts_action), 1, fp)) - return 0; - - if (action_hdr.size > buf_size) { - fprintf(stderr, "bts_next_action: not enough space to read next action\n"); - return 0; - } - - nread = fread(action_buf, sizeof(uint8_t), action_hdr.size, fp); - if (nread != (action_hdr.size)) { - fprintf(stderr, "bts_next_action: fread failed to read next action\n"); - return 0; - } - - *action_type = action_hdr.type; - - return nread * sizeof(uint8_t); -} - -static void bts_unload_script(FILE *fp) -{ - if (fp) - fclose(fp); -} - -static int is_it_texas(const uint8_t *respond) -{ - uint16_t manufacturer_id; - - manufacturer_id = MAKEWORD(respond[11], respond[12]); - - return TI_MANUFACTURER_ID == manufacturer_id ? 1 : 0; -} - -static const char *get_firmware_name(const uint8_t *respond) -{ - static char firmware_file_name[PATH_MAX] = {0}; - uint16_t version = 0, chip = 0, min_ver = 0, maj_ver = 0; - - version = MAKEWORD(respond[13], respond[14]); - chip = (version & 0x7C00) >> 10; - min_ver = (version & 0x007F); - maj_ver = (version & 0x0380) >> 7; - - if (version & 0x8000) - maj_ver |= 0x0008; - - sprintf(firmware_file_name, FIRMWARE_DIRECTORY "TIInit_%d.%d.%d.bts", chip, maj_ver, min_ver); - - return firmware_file_name; -} - -static void brf_delay(struct bts_action_delay *delay) -{ - usleep(1000 * delay->msec); -} - -static int brf_set_serial_params(struct bts_action_serial *serial_action, - int fd, int *speed, struct termios *ti) -{ - fprintf(stderr, "texas: changing baud rate to %u, flow control to %u\n", - serial_action->baud, serial_action->flow_control ); - tcflush(fd, TCIOFLUSH); - - if (serial_action->flow_control) - ti->c_cflag |= CRTSCTS; - else - ti->c_cflag &= ~CRTSCTS; - - if (tcsetattr(fd, TCSANOW, ti) < 0) { - perror("Can't set port settings"); - return -1; - } - - tcflush(fd, TCIOFLUSH); - - if (set_speed(fd, ti, serial_action->baud) < 0) { - perror("Can't set baud rate"); - return -1; - } - - if (speed) - *speed = serial_action->baud; - - return 0; -} - -static int brf_send_command_socket(int fd, struct bts_action_send *send_action) -{ - char response[1024] = {0}; - hci_command_hdr *cmd = (hci_command_hdr *) send_action->data; - uint16_t opcode = cmd->opcode; - - struct hci_request rq; - memset(&rq, 0, sizeof(rq)); - rq.ogf = cmd_opcode_ogf(opcode); - rq.ocf = cmd_opcode_ocf(opcode); - rq.event = EVT_CMD_COMPLETE; - rq.cparam = &send_action->data[3]; - rq.clen = send_action->data[2]; - rq.rparam = response; - rq.rlen = sizeof(response); - - if (hci_send_req(fd, &rq, 15) < 0) { - perror("Cannot send hci command to socket"); - return -1; - } - - /* verify success */ - if (response[0]) { - errno = EIO; - return -1; - } - - return 0; -} - -static int brf_send_command_file(int fd, struct bts_action_send *send_action, - long size) -{ - unsigned char response[1024] = {0}; - long ret = 0; - - /* send command */ - if (size != write(fd, send_action, size)) { - perror("Texas: Failed to write action command"); - return -1; - } - - /* read response */ - ret = read_hci_event(fd, response, sizeof(response)); - if (ret < 0) { - perror("texas: failed to read command response"); - return -1; - } - - /* verify success */ - if (ret < 7 || 0 != response[6]) { - fprintf( stderr, "TI init command failed.\n" ); - errno = EIO; - return -1; - } - - return 0; -} - - -static int brf_send_command(int fd, struct bts_action_send *send_action, - long size, int hcill_installed) -{ - int ret = 0; - char *fixed_action; - - /* remove packet type when giving to socket API */ - if (hcill_installed) { - fixed_action = ((char *) send_action) + 1; - ret = brf_send_command_socket(fd, (struct bts_action_send *) fixed_action); - } else { - ret = brf_send_command_file(fd, send_action, size); - } - - return ret; -} - -static int brf_do_action(uint16_t brf_type, uint8_t *brf_action, long brf_size, - int fd, int *speed, struct termios *ti, int hcill_installed) -{ - int ret = 0; - - switch (brf_type) { - case ACTION_SEND_COMMAND: - DPRINTF("W"); - ret = brf_send_command(fd, - (struct bts_action_send *) brf_action, - brf_size, hcill_installed); - break; - case ACTION_WAIT_EVENT: - DPRINTF("R"); - break; - case ACTION_SERIAL: - DPRINTF("S"); - ret = brf_set_serial_params((struct bts_action_serial *) brf_action, fd, speed, ti); - break; - case ACTION_DELAY: - DPRINTF("D"); - brf_delay((struct bts_action_delay *) brf_action); - break; - case ACTION_REMARKS: - DPRINTF("C"); - break; - default: - fprintf(stderr, "brf_init: unknown firmware action type (%d)\n", brf_type); - break; - } - - return ret; -} - -/* - * tests whether a given brf action is a HCI_VS_Sleep_Mode_Configurations cmd - */ -static int brf_action_is_deep_sleep(uint8_t *brf_action, long brf_size, - uint16_t brf_type) -{ - uint16_t opcode; - - if (brf_type != ACTION_SEND_COMMAND) - return 0; - - if (brf_size < 3) - return 0; - - if (brf_action[0] != HCI_COMMAND_PKT) - return 0; - - /* HCI data is little endian */ - opcode = brf_action[1] | (brf_action[2] << 8); - - if (opcode != BRF_DEEP_SLEEP_OPCODE) - return 0; - - /* action is deep sleep configuration command ! */ - return 1; -} - -/* - * This function is called twice. - * The first time it is called, it loads the brf script, and executes its - * commands until it reaches a deep sleep command (or its end). - * The second time it is called, it assumes HCILL protocol is set up, - * and sends rest of brf script via the supplied socket. - */ -static int brf_do_script(int fd, int *speed, struct termios *ti, const char *bts_file) -{ - int ret = 0, hcill_installed = bts_file ? 0 : 1; - uint32_t vers; - static FILE *brf_script_file = NULL; - static uint8_t brf_action[512]; - static long brf_size; - static uint16_t brf_type; - - /* is it the first time we are called ? */ - if (0 == hcill_installed) { - DPRINTF("Sending script to serial device\n"); - brf_script_file = bts_load_script(bts_file, &vers ); - if (!brf_script_file) { - fprintf(stderr, "Warning: cannot find BTS file: %s\n", - bts_file); - return 0; - } - - fprintf( stderr, "Loaded BTS script version %u\n", vers ); - - brf_size = bts_fetch_action(brf_script_file, brf_action, - sizeof(brf_action), &brf_type); - if (brf_size == 0) { - fprintf(stderr, "Warning: BTS file is empty !"); - return 0; - } - } - else { - DPRINTF("Sending script to bluetooth socket\n"); - } - - /* execute current action and continue to parse brf script file */ - while (brf_size != 0) { - ret = brf_do_action(brf_type, brf_action, brf_size, - fd, speed, ti, hcill_installed); - if (ret == -1) - break; - - brf_size = bts_fetch_action(brf_script_file, brf_action, - sizeof(brf_action), &brf_type); - - /* if this is the first time we run (no HCILL yet) */ - /* and a deep sleep command is encountered */ - /* we exit */ - if (!hcill_installed && - brf_action_is_deep_sleep(brf_action, - brf_size, brf_type)) - return 0; - } - - bts_unload_script(brf_script_file); - brf_script_file = NULL; - DPRINTF("\n"); - - return ret; -} - -int texas_init(int fd, int *speed, struct termios *ti) -{ - struct timespec tm = {0, 50000}; - char cmd[4]; - unsigned char resp[100]; /* Response */ - const char *bts_file; - int n; - - memset(resp,'\0', 100); - - /* It is possible to get software version with manufacturer specific - HCI command HCI_VS_TI_Version_Number. But the only thing you get more - is if this is point-to-point or point-to-multipoint module */ - - /* Get Manufacturer and LMP version */ - cmd[0] = HCI_COMMAND_PKT; - cmd[1] = 0x01; - cmd[2] = 0x10; - cmd[3] = 0x00; - - do { - n = write(fd, cmd, 4); - if (n < 0) { - perror("Failed to write init command (READ_LOCAL_VERSION_INFORMATION)"); - return -1; - } - if (n < 4) { - fprintf(stderr, "Wanted to write 4 bytes, could only write %d. Stop\n", n); - return -1; - } - - /* Read reply. */ - if (read_hci_event(fd, resp, 100) < 0) { - perror("Failed to read init response (READ_LOCAL_VERSION_INFORMATION)"); - return -1; - } - - /* Wait for command complete event for our Opcode */ - } while (resp[4] != cmd[1] && resp[5] != cmd[2]); - - /* Verify manufacturer */ - if (! is_it_texas(resp)) { - fprintf(stderr,"ERROR: module's manufacturer is not Texas Instruments\n"); - return -1; - } - - fprintf(stderr, "Found a Texas Instruments' chip!\n"); - - bts_file = get_firmware_name(resp); - fprintf(stderr, "Firmware file : %s\n", bts_file); - - n = brf_do_script(fd, speed, ti, bts_file); - - nanosleep(&tm, NULL); - - return n; -} - -int texas_post(int fd, struct termios *ti) -{ - int dev_id, dd, ret = 0; - - sleep(1); - - dev_id = ioctl(fd, HCIUARTGETDEVICE, 0); - if (dev_id < 0) { - perror("cannot get device id"); - return -1; - } - - DPRINTF("\nAdded device hci%d\n", dev_id); - - dd = hci_open_dev(dev_id); - if (dd < 0) { - perror("HCI device open failed"); - return -1; - } - - if (ioctl(dd, HCIDEVUP, dev_id) < 0 && errno != EALREADY) { - fprintf(stderr, "Can't init device hci%d: %s (%d)", dev_id, - strerror(errno), errno); - hci_close_dev(dd); - return -1; - } - - ret = brf_do_script(dd, NULL, ti, NULL); - - hci_close_dev(dd); - - return ret; -} diff --git a/GRIB_BLE_HUB/libs/ble_extend/tools/hciattach_tialt.c b/GRIB_BLE_HUB/libs/ble_extend/tools/hciattach_tialt.c deleted file mode 100644 index c3caa49..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/tools/hciattach_tialt.c +++ /dev/null @@ -1,242 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2005-2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include - -#include "hciattach.h" - -#define FAILIF(x, args...) do { \ - if (x) { \ - fprintf(stderr, ##args); \ - return -1; \ - } \ -} while(0) - -typedef struct { - uint8_t uart_prefix; - hci_event_hdr hci_hdr; - evt_cmd_complete cmd_complete; - uint8_t status; - uint8_t data[16]; -} __attribute__((packed)) command_complete_t; - -static int read_command_complete(int fd, unsigned short opcode, unsigned char len) { - command_complete_t resp; - /* Read reply. */ - FAILIF(read_hci_event(fd, (unsigned char *)&resp, sizeof(resp)) < 0, - "Failed to read response"); - - /* Parse speed-change reply */ - FAILIF(resp.uart_prefix != HCI_EVENT_PKT, - "Error in response: not an event packet, but 0x%02x!\n", - resp.uart_prefix); - - FAILIF(resp.hci_hdr.evt != EVT_CMD_COMPLETE, /* event must be event-complete */ - "Error in response: not a cmd-complete event, " - "but 0x%02x!\n", resp.hci_hdr.evt); - - FAILIF(resp.hci_hdr.plen < 4, /* plen >= 4 for EVT_CMD_COMPLETE */ - "Error in response: plen is not >= 4, but 0x%02x!\n", - resp.hci_hdr.plen); - - /* cmd-complete event: opcode */ - FAILIF(resp.cmd_complete.opcode != (uint16_t)opcode, - "Error in response: opcode is 0x%04x, not 0x%04x!", - resp.cmd_complete.opcode, opcode); - - return resp.status == 0 ? 0 : -1; -} - -typedef struct { - uint8_t uart_prefix; - hci_command_hdr hci_hdr; - uint32_t speed; -} __attribute__((packed)) texas_speed_change_cmd_t; - -static int texas_change_speed(int fd, uint32_t speed) -{ - return 0; -} - -static int texas_load_firmware(int fd, const char *firmware) { - - int fw = open(firmware, O_RDONLY); - - fprintf(stdout, "Opening firmware file: %s\n", firmware); - - FAILIF(fw < 0, - "Could not open firmware file %s: %s (%d).\n", - firmware, strerror(errno), errno); - - fprintf(stdout, "Uploading firmware...\n"); - do { - /* Read each command and wait for a response. */ - unsigned char data[1024]; - unsigned char cmdp[1 + sizeof(hci_command_hdr)]; - hci_command_hdr *cmd = (hci_command_hdr *)(cmdp + 1); - int nr; - nr = read(fw, cmdp, sizeof(cmdp)); - if (!nr) - break; - FAILIF(nr != sizeof(cmdp), "Could not read H4 + HCI header!\n"); - FAILIF(*cmdp != HCI_COMMAND_PKT, "Command is not an H4 command packet!\n"); - - FAILIF(read(fw, data, cmd->plen) != cmd->plen, - "Could not read %d bytes of data for command with opcode %04x!\n", - cmd->plen, - cmd->opcode); - - { - int nw; -#if 0 - fprintf(stdout, "\topcode 0x%04x (%d bytes of data).\n", - cmd->opcode, - cmd->plen); -#endif - struct iovec iov_cmd[2]; - iov_cmd[0].iov_base = cmdp; - iov_cmd[0].iov_len = sizeof(cmdp); - iov_cmd[1].iov_base = data; - iov_cmd[1].iov_len = cmd->plen; - nw = writev(fd, iov_cmd, 2); - FAILIF(nw != (int) sizeof(cmd) + cmd->plen, - "Could not send entire command (sent only %d bytes)!\n", - nw); - } - - /* Wait for response */ - if (read_command_complete(fd, - cmd->opcode, - cmd->plen) < 0) { - return -1; - } - - } while(1); - fprintf(stdout, "Firmware upload successful.\n"); - - close(fw); - return 0; -} - -int texasalt_init(int fd, int speed, struct termios *ti) -{ - struct timespec tm = {0, 50000}; - char cmd[4]; - unsigned char resp[100]; /* Response */ - int n; - - memset(resp,'\0', 100); - - /* It is possible to get software version with manufacturer specific - HCI command HCI_VS_TI_Version_Number. But the only thing you get more - is if this is point-to-point or point-to-multipoint module */ - - /* Get Manufacturer and LMP version */ - cmd[0] = HCI_COMMAND_PKT; - cmd[1] = 0x01; - cmd[2] = 0x10; - cmd[3] = 0x00; - - do { - n = write(fd, cmd, 4); - if (n < 0) { - perror("Failed to write init command (READ_LOCAL_VERSION_INFORMATION)"); - return -1; - } - if (n < 4) { - fprintf(stderr, "Wanted to write 4 bytes, could only write %d. Stop\n", n); - return -1; - } - - /* Read reply. */ - if (read_hci_event(fd, resp, 100) < 0) { - perror("Failed to read init response (READ_LOCAL_VERSION_INFORMATION)"); - return -1; - } - - /* Wait for command complete event for our Opcode */ - } while (resp[4] != cmd[1] && resp[5] != cmd[2]); - - /* Verify manufacturer */ - if ((resp[11] & 0xFF) != 0x0d) - fprintf(stderr,"WARNING : module's manufacturer is not Texas Instrument\n"); - - /* Print LMP version */ - fprintf(stderr, "Texas module LMP version : 0x%02x\n", resp[10] & 0xFF); - - /* Print LMP subversion */ - { - unsigned short lmp_subv = resp[13] | (resp[14] << 8); - unsigned short brf_chip = (lmp_subv & 0x7c00) >> 10; - static const char *c_brf_chip[8] = { - "unknown", - "unknown", - "brf6100", - "brf6150", - "brf6300", - "brf6350", - "unknown", - "wl1271" - }; - char fw[100]; - - fprintf(stderr, "Texas module LMP sub-version : 0x%04x\n", lmp_subv); - - fprintf(stderr, - "\tinternal version freeze: %d\n" - "\tsoftware version: %d\n" - "\tchip: %s (%d)\n", - lmp_subv & 0x7f, - ((lmp_subv & 0x8000) >> (15-3)) | ((lmp_subv & 0x380) >> 7), - ((brf_chip > 7) ? "unknown" : c_brf_chip[brf_chip]), - brf_chip); - - sprintf(fw, "/etc/firmware/%s.bin", c_brf_chip[brf_chip]); - texas_load_firmware(fd, fw); - - texas_change_speed(fd, speed); - } - nanosleep(&tm, NULL); - return 0; -} diff --git a/GRIB_BLE_HUB/libs/ble_extend/tools/hciconfig b/GRIB_BLE_HUB/libs/ble_extend/tools/hciconfig deleted file mode 100644 index abb27d6..0000000 Binary files a/GRIB_BLE_HUB/libs/ble_extend/tools/hciconfig and /dev/null differ diff --git a/GRIB_BLE_HUB/libs/ble_extend/tools/hciconfig.1 b/GRIB_BLE_HUB/libs/ble_extend/tools/hciconfig.1 deleted file mode 100644 index 633ffa3..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/tools/hciconfig.1 +++ /dev/null @@ -1,272 +0,0 @@ -.TH HCICONFIG 1 "Nov 11 2002" BlueZ "Linux System Administration" -.SH NAME -hciconfig \- configure Bluetooth devices -.SH SYNOPSIS -.B hciconfig -.B \-h -.br -.B hciconfig -.RB [\| \-a \|] -.br -.B hciconfig -.RB [\| \-a \|] -.B hciX -.RI [\| command -.RI [\| "command parameters" \|]\|] - -.SH DESCRIPTION -.LP -.B hciconfig -is used to configure Bluetooth devices. -.I hciX -is the name of a Bluetooth device installed in the system. If -.I hciX -is not given, -.B hciconfig -prints name and basic information about all the Bluetooth devices installed in -the system. If -.I hciX -is given but no command is given, it prints basic information on device -.I hciX -only. Basic information is -interface type, BD address, ACL MTU, SCO MTU, flags (up, init, running, raw, -page scan enabled, inquiry scan enabled, inquiry, authentication enabled, -encryption enabled). -.SH OPTIONS -.TP -.B \-h, \-\-help -Gives a list of possible commands. -.TP -.B \-a, \-\-all -Other than the basic info, print features, packet type, link policy, link mode, -name, class, version. -.SH COMMANDS -.TP -.B up -Open and initialize HCI device. -.TP -.B down -Close HCI device. -.TP -.B reset -Reset HCI device. -.TP -.B rstat -Reset statistic counters. -.TP -.B auth -Enable authentication (sets device to security mode 3). -.TP -.B noauth -Disable authentication. -.TP -.B encrypt -Enable encryption (sets device to security mode 3). -.TP -.B noencrypt -Disable encryption. -.TP -.B secmgr -Enable security manager (current kernel support is limited). -.TP -.B nosecmgr -Disable security manager. -.TP -.B piscan -Enable page and inquiry scan. -.TP -.B noscan -Disable page and inquiry scan. -.TP -.B iscan -Enable inquiry scan, disable page scan. -.TP -.B pscan -Enable page scan, disable inquiry scan. -.TP -\fBptype\fP [\fItype\fP] -With no -.I type -, displays the current packet types. Otherwise, all the packet types specified -by -.I type -are set. -.I type -is a comma-separated list of packet types, where the possible packet types are -.BR DM1 , -.BR DM3 , -.BR DM5 , -.BR DH1 , -.BR DH3 , -.BR DH5 , -.BR HV1 , -.BR HV2 , -.BR HV3 . -.TP -.BI name " [name]" -With no -.IR name , -prints local name. Otherwise, sets local name to -.IR name . -.TP -.BI class " [class]" -With no -.IR class , -prints class of device. Otherwise, sets class of device to -.IR class . -.I -class -is a 24-bit hex number describing the class of device, as specified in section -1.2 of the Bluetooth Assigned Numers document. -.TP -.BI voice " [voice]" -With no -.IR voice , -prints voice setting. Otherwise, sets voice setting to -.IR voice . -.I voice -is a 16-bit hex number describing the voice setting. -.TP -.BI iac " [iac]" -With no -.IR iac , -prints the current IAC setting. Otherwise, sets the IAC to -.IR iac . -.TP -.BI inqtpl " [level]" -With no -.IR level , -prints out the current inquiry transmit power level. Otherwise, sets -inquiry transmit power level to -.IR level . -.TP -.BI inqmode " [mode]" -With no -.IR mode , -prints out the current inquiry mode. Otherwise, sets inquiry mode to -.IR mode . -.TP -.BI inqdata " [data]" -With no -.IR name , -prints out the current inquiry data. Otherwise, sets inquiry data to -.IR data . -.TP -.BI inqtype " [type]" -With no -.IR type , -prints out the current inquiry scan type. Otherwise, sets inquiry scan type to -.IR type . -.TP -\fBinqparams\fP [\fIwin\fP:\fIint\fP] -With no -.IR win : int , -prints inquiry scan window and interval. Otherwise, sets inquiry scan window -to -.I win -slots and inquiry scan interval to -.I int -slots. -.TP -\fBpageparms\fP [\fIwin\fP:\fIint\fP] -With no -.IR win : int , -prints page scan window and interval. Otherwise, sets page scan window to -.I win -slots and page scan interval to -.I int -slots. -.TP -.BI pageto " [to]" -With no -.IR to , -prints page timeout. Otherwise, sets page timeout -to .I -to -slots. -.TP -.BI afhmode " [mode]" -With no -.IR mode , -prints out the current AFH mode. Otherwise, sets AFH mode to -.IR mode . -.TP -.BI sspmode " [mode]" -With no -.IR mode , -prints out the current Simple Pairing mode. Otherwise, sets Simple Pairing mode to -.IR mode . -.TP -\fBaclmtu\fP \fImtu\fP:\fIpkt\fP -Sets ACL MTU to -to -.I mtu -bytes and ACL buffer size to -.I pkt -packets. -.TP -\fBscomtu\fP \fImtu\fP:\fIpkt\fP -Sets SCO MTU to -.I mtu -bytes and SCO buffer size to -.I pkt -packets. -.TP -.BI delkey " " -This command deletes the stored link key for -.I bdaddr -from the device. -.TP -.BI oobdata -Get local OOB data (invalidates previously read data). -.TP -.BI commands -Display supported commands. -.TP -.BI features -Display device features. -.TP -.BI version -Display version information. -.TP -.BI revision -Display revision information. -.TP -.BI lm " [mode]" -With no -.I mode -, prints link mode. -.B MASTER -or -.B SLAVE -mean, respectively, to ask to become master or to remain slave when a -connection request comes in. The additional keyword -.B ACCEPT -means that baseband connections will be accepted even if there are no -listening -.I AF_BLUETOOTH -sockets. -.I mode -is -.B NONE -or a comma-separated list of keywords, where possible keywords are -.B MASTER -and -.B "ACCEPT" . -.B NONE -sets link policy to the default behaviour of remaining slave and not accepting -baseband connections when there are no listening -.I AF_BLUETOOTH -sockets. If -.B MASTER -is present, the device will ask to become master if a connection request comes -in. If -.B ACCEPT -is present, the device will accept baseband connections even when there are no -listening -.I AF_BLUETOOTH -sockets. -.SH AUTHORS -Written by Maxim Krasnyansky and Marcel Holtmann -.PP -man page by Fabrizio Gennari diff --git a/GRIB_BLE_HUB/libs/ble_extend/tools/hciconfig.c b/GRIB_BLE_HUB/libs/ble_extend/tools/hciconfig.c deleted file mode 100644 index 6b18c4f..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/tools/hciconfig.c +++ /dev/null @@ -1,2036 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2000-2001 Qualcomm Incorporated - * Copyright (C) 2002-2003 Maxim Krasnyansky - * Copyright (C) 2002-2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include - -#include "textfile.h" -#include "csr.h" - -static struct hci_dev_info di; -static int all; - -static void print_dev_hdr(struct hci_dev_info *di); -static void print_dev_info(int ctl, struct hci_dev_info *di); - -static void print_dev_list(int ctl, int flags) -{ - struct hci_dev_list_req *dl; - struct hci_dev_req *dr; - int i; - - if (!(dl = malloc(HCI_MAX_DEV * sizeof(struct hci_dev_req) + - sizeof(uint16_t)))) { - perror("Can't allocate memory"); - exit(1); - } - dl->dev_num = HCI_MAX_DEV; - dr = dl->dev_req; - - if (ioctl(ctl, HCIGETDEVLIST, (void *) dl) < 0) { - perror("Can't get device list"); - exit(1); - } - - for (i = 0; i< dl->dev_num; i++) { - di.dev_id = (dr+i)->dev_id; - if (ioctl(ctl, HCIGETDEVINFO, (void *) &di) < 0) - continue; - if (hci_test_bit(HCI_RAW, &di.flags) && - !bacmp(&di.bdaddr, BDADDR_ANY)) { - int dd = hci_open_dev(di.dev_id); - hci_read_bd_addr(dd, &di.bdaddr, 1000); - hci_close_dev(dd); - } - print_dev_info(ctl, &di); - } -} - -static void print_pkt_type(struct hci_dev_info *di) -{ - char *str; - str = hci_ptypetostr(di->pkt_type); - printf("\tPacket type: %s\n", str); - bt_free(str); -} - -static void print_link_policy(struct hci_dev_info *di) -{ - printf("\tLink policy: %s\n", hci_lptostr(di->link_policy)); -} - -static void print_link_mode(struct hci_dev_info *di) -{ - char *str; - str = hci_lmtostr(di->link_mode); - printf("\tLink mode: %s\n", str); - bt_free(str); -} - -static void print_dev_features(struct hci_dev_info *di, int format) -{ - printf("\tFeatures: 0x%2.2x 0x%2.2x 0x%2.2x 0x%2.2x " - "0x%2.2x 0x%2.2x 0x%2.2x 0x%2.2x\n", - di->features[0], di->features[1], di->features[2], - di->features[3], di->features[4], di->features[5], - di->features[6], di->features[7]); - - if (format) { - char *tmp = lmp_featurestostr(di->features, "\t\t", 63); - printf("%s\n", tmp); - bt_free(tmp); - } -} - -static void print_le_states(uint64_t states) -{ - int i; - const char *le_states[] = { - "Non-connectable Advertising State" , - "Scannable Advertising State", - "Connectable Advertising State", - "Directed Advertising State", - "Passive Scanning State", - "Active Scanning State", - "Initiating State/Connection State in Master Role", - "Connection State in the Slave Role", - "Non-connectable Advertising State and Passive Scanning State combination", - "Scannable Advertising State and Passive Scanning State combination", - "Connectable Advertising State and Passive Scanning State combination", - "Directed Advertising State and Passive Scanning State combination", - "Non-connectable Advertising State and Active Scanning State combination", - "Scannable Advertising State and Active Scanning State combination", - "Connectable Advertising State and Active Scanning State combination", - "Directed Advertising State and Active Scanning State combination", - "Non-connectable Advertising State and Initiating State combination", - "Scannable Advertising State and Initiating State combination", - "Non-connectable Advertising State and Master Role combination", - "Scannable Advertising State and Master Role combination", - "Non-connectable Advertising State and Slave Role combination", - "Scannable Advertising State and Slave Role combination", - "Passive Scanning State and Initiating State combination", - "Active Scanning State and Initiating State combination", - "Passive Scanning State and Master Role combination", - "Active Scanning State and Master Role combination", - "Passive Scanning State and Slave Role combination", - "Active Scanning State and Slave Role combination", - "Initiating State and Master Role combination/Master Role and Master Role combination", - NULL - }; - - printf("Supported link layer states:\n"); - for (i = 0; le_states[i]; i++) { - const char *status; - - status = states & (1 << i) ? "YES" : "NO "; - printf("\t%s %s\n", status, le_states[i]); - } -} - -static void cmd_rstat(int ctl, int hdev, char *opt) -{ - /* Reset HCI device stat counters */ - if (ioctl(ctl, HCIDEVRESTAT, hdev) < 0) { - fprintf(stderr, "Can't reset stats counters hci%d: %s (%d)\n", - hdev, strerror(errno), errno); - exit(1); - } -} - -static void cmd_scan(int ctl, int hdev, char *opt) -{ - struct hci_dev_req dr; - - dr.dev_id = hdev; - dr.dev_opt = SCAN_DISABLED; - if (!strcmp(opt, "iscan")) - dr.dev_opt = SCAN_INQUIRY; - else if (!strcmp(opt, "pscan")) - dr.dev_opt = SCAN_PAGE; - else if (!strcmp(opt, "piscan")) - dr.dev_opt = SCAN_PAGE | SCAN_INQUIRY; - - if (ioctl(ctl, HCISETSCAN, (unsigned long) &dr) < 0) { - fprintf(stderr, "Can't set scan mode on hci%d: %s (%d)\n", - hdev, strerror(errno), errno); - exit(1); - } -} - -static void cmd_le_addr(int ctl, int hdev, char *opt) -{ - struct hci_request rq; - le_set_random_address_cp cp; - uint8_t status; - int dd, err, ret; - - if (!opt) - return; - - if (hdev < 0) - hdev = hci_get_route(NULL); - - dd = hci_open_dev(hdev); - if (dd < 0) { - err = -errno; - fprintf(stderr, "Could not open device: %s(%d)\n", - strerror(-err), -err); - exit(1); - } - - memset(&cp, 0, sizeof(cp)); - - str2ba(opt, &cp.bdaddr); - - memset(&rq, 0, sizeof(rq)); - rq.ogf = OGF_LE_CTL; - rq.ocf = OCF_LE_SET_RANDOM_ADDRESS; - rq.cparam = &cp; - rq.clen = LE_SET_RANDOM_ADDRESS_CP_SIZE; - rq.rparam = &status; - rq.rlen = 1; - - ret = hci_send_req(dd, &rq, 1000); - if (status || ret < 0) { - err = -errno; - fprintf(stderr, "Can't set random address for hci%d: " - "%s (%d)\n", hdev, strerror(-err), -err); - } - - hci_close_dev(dd); -} - -static void cmd_le_adv(int ctl, int hdev, char *opt) -{ - struct hci_request rq; - le_set_advertise_enable_cp advertise_cp; - le_set_advertising_parameters_cp adv_params_cp; - uint8_t status; - int dd, ret; - - if (hdev < 0) - hdev = hci_get_route(NULL); - - dd = hci_open_dev(hdev); - if (dd < 0) { - perror("Could not open device"); - exit(1); - } - - memset(&adv_params_cp, 0, sizeof(adv_params_cp)); - adv_params_cp.min_interval = htobs(0x0800); - adv_params_cp.max_interval = htobs(0x0800); - if (opt) - adv_params_cp.advtype = atoi(opt); - adv_params_cp.chan_map = 7; - - memset(&rq, 0, sizeof(rq)); - rq.ogf = OGF_LE_CTL; - rq.ocf = OCF_LE_SET_ADVERTISING_PARAMETERS; - rq.cparam = &adv_params_cp; - rq.clen = LE_SET_ADVERTISING_PARAMETERS_CP_SIZE; - rq.rparam = &status; - rq.rlen = 1; - - ret = hci_send_req(dd, &rq, 1000); - if (ret < 0) - goto done; - - memset(&advertise_cp, 0, sizeof(advertise_cp)); - advertise_cp.enable = 0x01; - - memset(&rq, 0, sizeof(rq)); - rq.ogf = OGF_LE_CTL; - rq.ocf = OCF_LE_SET_ADVERTISE_ENABLE; - rq.cparam = &advertise_cp; - rq.clen = LE_SET_ADVERTISE_ENABLE_CP_SIZE; - rq.rparam = &status; - rq.rlen = 1; - - ret = hci_send_req(dd, &rq, 1000); - -done: - hci_close_dev(dd); - - if (ret < 0) { - fprintf(stderr, "Can't set advertise mode on hci%d: %s (%d)\n", - hdev, strerror(errno), errno); - exit(1); - } - - if (status) { - fprintf(stderr, - "LE set advertise enable on hci%d returned status %d\n", - hdev, status); - exit(1); - } -} - -static void cmd_no_le_adv(int ctl, int hdev, char *opt) -{ - struct hci_request rq; - le_set_advertise_enable_cp advertise_cp; - uint8_t status; - int dd, ret; - - if (hdev < 0) - hdev = hci_get_route(NULL); - - dd = hci_open_dev(hdev); - if (dd < 0) { - perror("Could not open device"); - exit(1); - } - - memset(&advertise_cp, 0, sizeof(advertise_cp)); - - memset(&rq, 0, sizeof(rq)); - rq.ogf = OGF_LE_CTL; - rq.ocf = OCF_LE_SET_ADVERTISE_ENABLE; - rq.cparam = &advertise_cp; - rq.clen = LE_SET_ADVERTISE_ENABLE_CP_SIZE; - rq.rparam = &status; - rq.rlen = 1; - - ret = hci_send_req(dd, &rq, 1000); - - hci_close_dev(dd); - - if (ret < 0) { - fprintf(stderr, "Can't set advertise mode on hci%d: %s (%d)\n", - hdev, strerror(errno), errno); - exit(1); - } - - if (status) { - fprintf(stderr, "LE set advertise enable on hci%d returned status %d\n", - hdev, status); - exit(1); - } -} - -static void cmd_le_states(int ctl, int hdev, char *opt) -{ - le_read_supported_states_rp rp; - struct hci_request rq; - int err, dd; - - if (hdev < 0) - hdev = hci_get_route(NULL); - - dd = hci_open_dev(hdev); - if (dd < 0) { - fprintf(stderr, "Can't open device hci%d: %s (%d)\n", - hdev, strerror(errno), errno); - exit(1); - } - - memset(&rp, 0, sizeof(rp)); - memset(&rq, 0, sizeof(rq)); - - rq.ogf = OGF_LE_CTL; - rq.ocf = OCF_LE_READ_SUPPORTED_STATES; - rq.rparam = &rp; - rq.rlen = LE_READ_SUPPORTED_STATES_RP_SIZE; - - err = hci_send_req(dd, &rq, 1000); - - hci_close_dev(dd); - - if (err < 0) { - fprintf(stderr, "Can't read LE supported states on hci%d:" - " %s(%d)\n", hdev, strerror(errno), errno); - exit(1); - } - - if (rp.status) { - fprintf(stderr, "Read LE supported states on hci%d" - " returned status %d\n", hdev, rp.status); - exit(1); - } - - print_le_states(rp.states); -} - -static void cmd_iac(int ctl, int hdev, char *opt) -{ - int s = hci_open_dev(hdev); - - if (s < 0) { - fprintf(stderr, "Can't open device hci%d: %s (%d)\n", - hdev, strerror(errno), errno); - exit(1); - } - if (opt) { - int l = strtoul(opt, 0, 16); - uint8_t lap[3]; - if (!strcasecmp(opt, "giac")) { - l = 0x9e8b33; - } else if (!strcasecmp(opt, "liac")) { - l = 0x9e8b00; - } else if (l < 0x9e8b00 || l > 0x9e8b3f) { - printf("Invalid access code 0x%x\n", l); - exit(1); - } - lap[0] = (l & 0xff); - lap[1] = (l >> 8) & 0xff; - lap[2] = (l >> 16) & 0xff; - if (hci_write_current_iac_lap(s, 1, lap, 1000) < 0) { - printf("Failed to set IAC on hci%d: %s\n", hdev, strerror(errno)); - exit(1); - } - } else { - uint8_t lap[3 * MAX_IAC_LAP]; - int i, j; - uint8_t n; - if (hci_read_current_iac_lap(s, &n, lap, 1000) < 0) { - printf("Failed to read IAC from hci%d: %s\n", hdev, strerror(errno)); - exit(1); - } - print_dev_hdr(&di); - printf("\tIAC: "); - for (i = 0; i < n; i++) { - printf("0x"); - for (j = 3; j--; ) - printf("%02x", lap[j + 3 * i]); - if (i < n - 1) - printf(", "); - } - printf("\n"); - } - close(s); -} - -static void cmd_auth(int ctl, int hdev, char *opt) -{ - struct hci_dev_req dr; - - dr.dev_id = hdev; - if (!strcmp(opt, "auth")) - dr.dev_opt = AUTH_ENABLED; - else - dr.dev_opt = AUTH_DISABLED; - - if (ioctl(ctl, HCISETAUTH, (unsigned long) &dr) < 0) { - fprintf(stderr, "Can't set auth on hci%d: %s (%d)\n", - hdev, strerror(errno), errno); - exit(1); - } -} - -static void cmd_encrypt(int ctl, int hdev, char *opt) -{ - struct hci_dev_req dr; - - dr.dev_id = hdev; - if (!strcmp(opt, "encrypt")) - dr.dev_opt = ENCRYPT_P2P; - else - dr.dev_opt = ENCRYPT_DISABLED; - - if (ioctl(ctl, HCISETENCRYPT, (unsigned long) &dr) < 0) { - fprintf(stderr, "Can't set encrypt on hci%d: %s (%d)\n", - hdev, strerror(errno), errno); - exit(1); - } -} - -static void cmd_up(int ctl, int hdev, char *opt) -{ - /* Start HCI device */ - if (ioctl(ctl, HCIDEVUP, hdev) < 0) { - if (errno == EALREADY) - return; - fprintf(stderr, "Can't init device hci%d: %s (%d)\n", - hdev, strerror(errno), errno); - exit(1); - } -} - -static void cmd_down(int ctl, int hdev, char *opt) -{ - /* Stop HCI device */ - if (ioctl(ctl, HCIDEVDOWN, hdev) < 0) { - fprintf(stderr, "Can't down device hci%d: %s (%d)\n", - hdev, strerror(errno), errno); - exit(1); - } -} - -static void cmd_reset(int ctl, int hdev, char *opt) -{ - /* Reset HCI device */ -#if 0 - if (ioctl(ctl, HCIDEVRESET, hdev) < 0 ){ - fprintf(stderr, "Reset failed for device hci%d: %s (%d)\n", - hdev, strerror(errno), errno); - exit(1); - } -#endif - cmd_down(ctl, hdev, "down"); - cmd_up(ctl, hdev, "up"); -} - -static void cmd_ptype(int ctl, int hdev, char *opt) -{ - struct hci_dev_req dr; - - dr.dev_id = hdev; - - if (hci_strtoptype(opt, &dr.dev_opt)) { - if (ioctl(ctl, HCISETPTYPE, (unsigned long) &dr) < 0) { - fprintf(stderr, "Can't set pkttype on hci%d: %s (%d)\n", - hdev, strerror(errno), errno); - exit(1); - } - } else { - print_dev_hdr(&di); - print_pkt_type(&di); - } -} - -static void cmd_lp(int ctl, int hdev, char *opt) -{ - struct hci_dev_req dr; - - dr.dev_id = hdev; - - if (hci_strtolp(opt, &dr.dev_opt)) { - if (ioctl(ctl, HCISETLINKPOL, (unsigned long) &dr) < 0) { - fprintf(stderr, "Can't set link policy on hci%d: %s (%d)\n", - hdev, strerror(errno), errno); - exit(1); - } - } else { - print_dev_hdr(&di); - print_link_policy(&di); - } -} - -static void cmd_lm(int ctl, int hdev, char *opt) -{ - struct hci_dev_req dr; - - dr.dev_id = hdev; - - if (hci_strtolm(opt, &dr.dev_opt)) { - if (ioctl(ctl, HCISETLINKMODE, (unsigned long) &dr) < 0) { - fprintf(stderr, "Can't set default link mode on hci%d: %s (%d)\n", - hdev, strerror(errno), errno); - exit(1); - } - } else { - print_dev_hdr(&di); - print_link_mode(&di); - } -} - -static void cmd_aclmtu(int ctl, int hdev, char *opt) -{ - struct hci_dev_req dr = { .dev_id = hdev }; - uint16_t mtu, mpkt; - - if (!opt) - return; - - if (sscanf(opt, "%4hu:%4hu", &mtu, &mpkt) != 2) - return; - - dr.dev_opt = htobl(htobs(mpkt) | (htobs(mtu) << 16)); - - if (ioctl(ctl, HCISETACLMTU, (unsigned long) &dr) < 0) { - fprintf(stderr, "Can't set ACL mtu on hci%d: %s(%d)\n", - hdev, strerror(errno), errno); - exit(1); - } -} - -static void cmd_scomtu(int ctl, int hdev, char *opt) -{ - struct hci_dev_req dr = { .dev_id = hdev }; - uint16_t mtu, mpkt; - - if (!opt) - return; - - if (sscanf(opt, "%4hu:%4hu", &mtu, &mpkt) != 2) - return; - - dr.dev_opt = htobl(htobs(mpkt) | (htobs(mtu) << 16)); - - if (ioctl(ctl, HCISETSCOMTU, (unsigned long) &dr) < 0) { - fprintf(stderr, "Can't set SCO mtu on hci%d: %s (%d)\n", - hdev, strerror(errno), errno); - exit(1); - } -} - -static void cmd_features(int ctl, int hdev, char *opt) -{ - uint8_t features[8], max_page = 0; - char *tmp; - int i, dd; - - if (!(di.features[7] & LMP_EXT_FEAT)) { - print_dev_hdr(&di); - print_dev_features(&di, 1); - return; - } - - dd = hci_open_dev(hdev); - if (dd < 0) { - fprintf(stderr, "Can't open device hci%d: %s (%d)\n", - hdev, strerror(errno), errno); - exit(1); - } - - if (hci_read_local_ext_features(dd, 0, &max_page, features, 1000) < 0) { - fprintf(stderr, "Can't read extended features hci%d: %s (%d)\n", - hdev, strerror(errno), errno); - exit(1); - } - - print_dev_hdr(&di); - printf("\tFeatures%s: 0x%2.2x 0x%2.2x 0x%2.2x 0x%2.2x " - "0x%2.2x 0x%2.2x 0x%2.2x 0x%2.2x\n", - (max_page > 0) ? " page 0" : "", - features[0], features[1], features[2], features[3], - features[4], features[5], features[6], features[7]); - - tmp = lmp_featurestostr(di.features, "\t\t", 63); - printf("%s\n", tmp); - bt_free(tmp); - - for (i = 1; i <= max_page; i++) { - if (hci_read_local_ext_features(dd, i, NULL, - features, 1000) < 0) - continue; - - printf("\tFeatures page %d: 0x%2.2x 0x%2.2x 0x%2.2x 0x%2.2x " - "0x%2.2x 0x%2.2x 0x%2.2x 0x%2.2x\n", i, - features[0], features[1], features[2], features[3], - features[4], features[5], features[6], features[7]); - } - - hci_close_dev(dd); -} - -static void cmd_name(int ctl, int hdev, char *opt) -{ - int dd; - - dd = hci_open_dev(hdev); - if (dd < 0) { - fprintf(stderr, "Can't open device hci%d: %s (%d)\n", - hdev, strerror(errno), errno); - exit(1); - } - - if (opt) { - if (hci_write_local_name(dd, opt, 2000) < 0) { - fprintf(stderr, "Can't change local name on hci%d: %s (%d)\n", - hdev, strerror(errno), errno); - exit(1); - } - } else { - char name[249]; - int i; - - if (hci_read_local_name(dd, sizeof(name), name, 1000) < 0) { - fprintf(stderr, "Can't read local name on hci%d: %s (%d)\n", - hdev, strerror(errno), errno); - exit(1); - } - - for (i = 0; i < 248 && name[i]; i++) { - if ((unsigned char) name[i] < 32 || name[i] == 127) - name[i] = '.'; - } - - name[248] = '\0'; - - print_dev_hdr(&di); - printf("\tName: '%s'\n", name); - } - - hci_close_dev(dd); -} - -/* - * see http://www.bluetooth.org/assigned-numbers/baseband.htm --- all - * strings are reproduced verbatim - */ -static char *get_minor_device_name(int major, int minor) -{ - switch (major) { - case 0: /* misc */ - return ""; - case 1: /* computer */ - switch (minor) { - case 0: - return "Uncategorized"; - case 1: - return "Desktop workstation"; - case 2: - return "Server"; - case 3: - return "Laptop"; - case 4: - return "Handheld"; - case 5: - return "Palm"; - case 6: - return "Wearable"; - } - break; - case 2: /* phone */ - switch (minor) { - case 0: - return "Uncategorized"; - case 1: - return "Cellular"; - case 2: - return "Cordless"; - case 3: - return "Smart phone"; - case 4: - return "Wired modem or voice gateway"; - case 5: - return "Common ISDN Access"; - case 6: - return "Sim Card Reader"; - } - break; - case 3: /* lan access */ - if (minor == 0) - return "Uncategorized"; - switch (minor / 8) { - case 0: - return "Fully available"; - case 1: - return "1-17% utilized"; - case 2: - return "17-33% utilized"; - case 3: - return "33-50% utilized"; - case 4: - return "50-67% utilized"; - case 5: - return "67-83% utilized"; - case 6: - return "83-99% utilized"; - case 7: - return "No service available"; - } - break; - case 4: /* audio/video */ - switch (minor) { - case 0: - return "Uncategorized"; - case 1: - return "Device conforms to the Headset profile"; - case 2: - return "Hands-free"; - /* 3 is reserved */ - case 4: - return "Microphone"; - case 5: - return "Loudspeaker"; - case 6: - return "Headphones"; - case 7: - return "Portable Audio"; - case 8: - return "Car Audio"; - case 9: - return "Set-top box"; - case 10: - return "HiFi Audio Device"; - case 11: - return "VCR"; - case 12: - return "Video Camera"; - case 13: - return "Camcorder"; - case 14: - return "Video Monitor"; - case 15: - return "Video Display and Loudspeaker"; - case 16: - return "Video Conferencing"; - /* 17 is reserved */ - case 18: - return "Gaming/Toy"; - } - break; - case 5: /* peripheral */ { - static char cls_str[48]; - - cls_str[0] = '\0'; - - switch (minor & 48) { - case 16: - strncpy(cls_str, "Keyboard", sizeof(cls_str)); - break; - case 32: - strncpy(cls_str, "Pointing device", sizeof(cls_str)); - break; - case 48: - strncpy(cls_str, "Combo keyboard/pointing device", sizeof(cls_str)); - break; - } - if ((minor & 15) && (strlen(cls_str) > 0)) - strcat(cls_str, "/"); - - switch (minor & 15) { - case 0: - break; - case 1: - strncat(cls_str, "Joystick", sizeof(cls_str) - strlen(cls_str)); - break; - case 2: - strncat(cls_str, "Gamepad", sizeof(cls_str) - strlen(cls_str)); - break; - case 3: - strncat(cls_str, "Remote control", sizeof(cls_str) - strlen(cls_str)); - break; - case 4: - strncat(cls_str, "Sensing device", sizeof(cls_str) - strlen(cls_str)); - break; - case 5: - strncat(cls_str, "Digitizer tablet", sizeof(cls_str) - strlen(cls_str)); - break; - case 6: - strncat(cls_str, "Card reader", sizeof(cls_str) - strlen(cls_str)); - break; - default: - strncat(cls_str, "(reserved)", sizeof(cls_str) - strlen(cls_str)); - break; - } - if (strlen(cls_str) > 0) - return cls_str; - } - case 6: /* imaging */ - if (minor & 4) - return "Display"; - if (minor & 8) - return "Camera"; - if (minor & 16) - return "Scanner"; - if (minor & 32) - return "Printer"; - break; - case 7: /* wearable */ - switch (minor) { - case 1: - return "Wrist Watch"; - case 2: - return "Pager"; - case 3: - return "Jacket"; - case 4: - return "Helmet"; - case 5: - return "Glasses"; - } - break; - case 8: /* toy */ - switch (minor) { - case 1: - return "Robot"; - case 2: - return "Vehicle"; - case 3: - return "Doll / Action Figure"; - case 4: - return "Controller"; - case 5: - return "Game"; - } - break; - case 63: /* uncategorised */ - return ""; - } - return "Unknown (reserved) minor device class"; -} - -static void cmd_class(int ctl, int hdev, char *opt) -{ - static const char *services[] = { "Positioning", - "Networking", - "Rendering", - "Capturing", - "Object Transfer", - "Audio", - "Telephony", - "Information" }; - static const char *major_devices[] = { "Miscellaneous", - "Computer", - "Phone", - "LAN Access", - "Audio/Video", - "Peripheral", - "Imaging", - "Uncategorized" }; - int s = hci_open_dev(hdev); - - if (s < 0) { - fprintf(stderr, "Can't open device hci%d: %s (%d)\n", - hdev, strerror(errno), errno); - exit(1); - } - if (opt) { - uint32_t cod = strtoul(opt, NULL, 16); - if (hci_write_class_of_dev(s, cod, 2000) < 0) { - fprintf(stderr, "Can't write local class of device on hci%d: %s (%d)\n", - hdev, strerror(errno), errno); - exit(1); - } - } else { - uint8_t cls[3]; - if (hci_read_class_of_dev(s, cls, 1000) < 0) { - fprintf(stderr, "Can't read class of device on hci%d: %s (%d)\n", - hdev, strerror(errno), errno); - exit(1); - } - print_dev_hdr(&di); - printf("\tClass: 0x%02x%02x%02x\n", cls[2], cls[1], cls[0]); - printf("\tService Classes: "); - if (cls[2]) { - unsigned int i; - int first = 1; - for (i = 0; i < (sizeof(services) / sizeof(*services)); i++) - if (cls[2] & (1 << i)) { - if (!first) - printf(", "); - printf("%s", services[i]); - first = 0; - } - } else - printf("Unspecified"); - printf("\n\tDevice Class: "); - if ((cls[1] & 0x1f) >= sizeof(major_devices) / sizeof(*major_devices)) - printf("Invalid Device Class!\n"); - else - printf("%s, %s\n", major_devices[cls[1] & 0x1f], - get_minor_device_name(cls[1] & 0x1f, cls[0] >> 2)); - } -} - -static void cmd_voice(int ctl, int hdev, char *opt) -{ - static char *icf[] = { "Linear", - "u-Law", - "A-Law", - "Reserved" }; - - static char *idf[] = { "1's complement", - "2's complement", - "Sign-Magnitude", - "Reserved" }; - - static char *iss[] = { "8 bit", - "16 bit" }; - - static char *acf[] = { "CVSD", - "u-Law", - "A-Law", - "Reserved" }; - - int s = hci_open_dev(hdev); - - if (s < 0) { - fprintf(stderr, "Can't open device hci%d: %s (%d)\n", - hdev, strerror(errno), errno); - exit(1); - } - if (opt) { - uint16_t vs = htobs(strtoul(opt, NULL, 16)); - if (hci_write_voice_setting(s, vs, 2000) < 0) { - fprintf(stderr, "Can't write voice setting on hci%d: %s (%d)\n", - hdev, strerror(errno), errno); - exit(1); - } - } else { - uint16_t vs; - uint8_t ic; - if (hci_read_voice_setting(s, &vs, 1000) < 0) { - fprintf(stderr, "Can't read voice setting on hci%d: %s (%d)\n", - hdev, strerror(errno), errno); - exit(1); - } - vs = htobs(vs); - ic = (vs & 0x0300) >> 8; - print_dev_hdr(&di); - printf("\tVoice setting: 0x%04x%s\n", vs, - ((vs & 0x03fc) == 0x0060) ? " (Default Condition)" : ""); - printf("\tInput Coding: %s\n", icf[ic]); - printf("\tInput Data Format: %s\n", idf[(vs & 0xc0) >> 6]); - - if (!ic) { - printf("\tInput Sample Size: %s\n", - iss[(vs & 0x20) >> 5]); - printf("\t# of bits padding at MSB: %d\n", - (vs & 0x1c) >> 2); - } - printf("\tAir Coding Format: %s\n", acf[vs & 0x03]); - } -} - -static void cmd_delkey(int ctl, int hdev, char *opt) -{ - bdaddr_t bdaddr; - uint8_t all; - int dd; - - if (!opt) - return; - - dd = hci_open_dev(hdev); - if (dd < 0) { - fprintf(stderr, "Can't open device hci%d: %s (%d)\n", - hdev, strerror(errno), errno); - exit(1); - } - - if (!strcasecmp(opt, "all")) { - bacpy(&bdaddr, BDADDR_ANY); - all = 1; - } else { - str2ba(opt, &bdaddr); - all = 0; - } - - if (hci_delete_stored_link_key(dd, &bdaddr, all, 1000) < 0) { - fprintf(stderr, "Can't delete stored link key on hci%d: %s (%d)\n", - hdev, strerror(errno), errno); - exit(1); - } - - hci_close_dev(dd); -} - -static void cmd_oob_data(int ctl, int hdev, char *opt) -{ - uint8_t hash[16], randomizer[16]; - int i, dd; - - dd = hci_open_dev(hdev); - if (dd < 0) { - fprintf(stderr, "Can't open device hci%d: %s (%d)\n", - hdev, strerror(errno), errno); - exit(1); - } - - if (hci_read_local_oob_data(dd, hash, randomizer, 1000) < 0) { - fprintf(stderr, "Can't read local OOB data on hci%d: %s (%d)\n", - hdev, strerror(errno), errno); - exit(1); - } - - print_dev_hdr(&di); - printf("\tOOB Hash: "); - for (i = 0; i < 16; i++) - printf(" %02x", hash[i]); - printf("\n\tRandomizer:"); - for (i = 0; i < 16; i++) - printf(" %02x", randomizer[i]); - printf("\n"); - - hci_close_dev(dd); -} - -static void cmd_commands(int ctl, int hdev, char *opt) -{ - uint8_t cmds[64]; - char *str; - int i, n, dd; - - dd = hci_open_dev(hdev); - if (dd < 0) { - fprintf(stderr, "Can't open device hci%d: %s (%d)\n", - hdev, strerror(errno), errno); - exit(1); - } - - if (hci_read_local_commands(dd, cmds, 1000) < 0) { - fprintf(stderr, "Can't read support commands on hci%d: %s (%d)\n", - hdev, strerror(errno), errno); - exit(1); - } - - print_dev_hdr(&di); - for (i = 0; i < 64; i++) { - if (!cmds[i]) - continue; - - printf("%s Octet %-2d = 0x%02x (Bit", - i ? "\t\t ": "\tCommands:", i, cmds[i]); - for (n = 0; n < 8; n++) - if (cmds[i] & (1 << n)) - printf(" %d", n); - printf(")\n"); - } - - str = hci_commandstostr(cmds, "\t", 71); - printf("%s\n", str); - bt_free(str); - - hci_close_dev(dd); -} - -static void cmd_version(int ctl, int hdev, char *opt) -{ - struct hci_version ver; - char *hciver, *lmpver; - int dd; - - dd = hci_open_dev(hdev); - if (dd < 0) { - fprintf(stderr, "Can't open device hci%d: %s (%d)\n", - hdev, strerror(errno), errno); - exit(1); - } - - if (hci_read_local_version(dd, &ver, 1000) < 0) { - fprintf(stderr, "Can't read version info hci%d: %s (%d)\n", - hdev, strerror(errno), errno); - exit(1); - } - - hciver = hci_vertostr(ver.hci_ver); - lmpver = lmp_vertostr(ver.lmp_ver); - - print_dev_hdr(&di); - printf("\tHCI Version: %s (0x%x) Revision: 0x%x\n" - "\tLMP Version: %s (0x%x) Subversion: 0x%x\n" - "\tManufacturer: %s (%d)\n", - hciver ? hciver : "n/a", ver.hci_ver, ver.hci_rev, - lmpver ? lmpver : "n/a", ver.lmp_ver, ver.lmp_subver, - bt_compidtostr(ver.manufacturer), ver.manufacturer); - - if (hciver) - bt_free(hciver); - if (lmpver) - bt_free(lmpver); - - hci_close_dev(dd); -} - -static void cmd_inq_tpl(int ctl, int hdev, char *opt) -{ - int dd; - - dd = hci_open_dev(hdev); - if (dd < 0) { - fprintf(stderr, "Can't open device hci%d: %s (%d)\n", - hdev, strerror(errno), errno); - exit(1); - } - - if (opt) { - int8_t level = atoi(opt); - - if (hci_write_inquiry_transmit_power_level(dd, level, 2000) < 0) { - fprintf(stderr, "Can't set inquiry transmit power level on hci%d: %s (%d)\n", - hdev, strerror(errno), errno); - exit(1); - } - } else { - int8_t level; - - if (hci_read_inq_response_tx_power_level(dd, &level, 1000) < 0) { - fprintf(stderr, "Can't read inquiry transmit power level on hci%d: %s (%d)\n", - hdev, strerror(errno), errno); - exit(1); - } - - print_dev_hdr(&di); - printf("\tInquiry transmit power level: %d\n", level); - } - - hci_close_dev(dd); -} - -static void cmd_inq_mode(int ctl, int hdev, char *opt) -{ - int dd; - - dd = hci_open_dev(hdev); - if (dd < 0) { - fprintf(stderr, "Can't open device hci%d: %s (%d)\n", - hdev, strerror(errno), errno); - exit(1); - } - - if (opt) { - uint8_t mode = atoi(opt); - - if (hci_write_inquiry_mode(dd, mode, 2000) < 0) { - fprintf(stderr, "Can't set inquiry mode on hci%d: %s (%d)\n", - hdev, strerror(errno), errno); - exit(1); - } - } else { - uint8_t mode; - - if (hci_read_inquiry_mode(dd, &mode, 1000) < 0) { - fprintf(stderr, "Can't read inquiry mode on hci%d: %s (%d)\n", - hdev, strerror(errno), errno); - exit(1); - } - - print_dev_hdr(&di); - printf("\tInquiry mode: "); - switch (mode) { - case 0: - printf("Standard Inquiry\n"); - break; - case 1: - printf("Inquiry with RSSI\n"); - break; - case 2: - printf("Inquiry with RSSI or Extended Inquiry\n"); - break; - default: - printf("Unknown (0x%02x)\n", mode); - break; - } - } - - hci_close_dev(dd); -} - -static void cmd_inq_data(int ctl, int hdev, char *opt) -{ - int i, dd; - - dd = hci_open_dev(hdev); - if (dd < 0) { - fprintf(stderr, "Can't open device hci%d: %s (%d)\n", - hdev, strerror(errno), errno); - exit(1); - } - - if (opt) { - uint8_t fec = 0, data[HCI_MAX_EIR_LENGTH]; - char tmp[3]; - int i, size; - - memset(data, 0, sizeof(data)); - - memset(tmp, 0, sizeof(tmp)); - size = (strlen(opt) + 1) / 2; - if (size > HCI_MAX_EIR_LENGTH) - size = HCI_MAX_EIR_LENGTH; - - for (i = 0; i < size; i++) { - memcpy(tmp, opt + (i * 2), 2); - data[i] = strtol(tmp, NULL, 16); - } - - if (hci_write_ext_inquiry_response(dd, fec, data, 2000) < 0) { - fprintf(stderr, "Can't set extended inquiry response on hci%d: %s (%d)\n", - hdev, strerror(errno), errno); - exit(1); - } - } else { - uint8_t fec, data[HCI_MAX_EIR_LENGTH], len, type, *ptr; - char *str; - - if (hci_read_ext_inquiry_response(dd, &fec, data, 1000) < 0) { - fprintf(stderr, "Can't read extended inquiry response on hci%d: %s (%d)\n", - hdev, strerror(errno), errno); - exit(1); - } - - print_dev_hdr(&di); - printf("\tFEC %s\n\t\t", fec ? "enabled" : "disabled"); - for (i = 0; i < HCI_MAX_EIR_LENGTH; i++) - printf("%02x%s%s", data[i], (i + 1) % 8 ? "" : " ", - (i + 1) % 16 ? " " : (i < 239 ? "\n\t\t" : "\n")); - - ptr = data; - while (*ptr) { - len = *ptr++; - type = *ptr++; - switch (type) { - case 0x01: - printf("\tFlags:"); - for (i = 0; i < len - 1; i++) - printf(" 0x%2.2x", *((uint8_t *) (ptr + i))); - printf("\n"); - break; - case 0x02: - case 0x03: - printf("\t%s service classes:", - type == 0x02 ? "Shortened" : "Complete"); - for (i = 0; i < (len - 1) / 2; i++) { - uint16_t val = bt_get_le16((ptr + (i * 2))); - printf(" 0x%4.4x", val); - } - printf("\n"); - break; - case 0x08: - case 0x09: - str = malloc(len); - if (str) { - snprintf(str, len, "%s", ptr); - for (i = 0; i < len - 1; i++) { - if ((unsigned char) str[i] < 32 || str[i] == 127) - str[i] = '.'; - } - printf("\t%s local name: \'%s\'\n", - type == 0x08 ? "Shortened" : "Complete", str); - free(str); - } - break; - case 0x0a: - printf("\tTX power level: %d\n", *((int8_t *) ptr)); - break; - case 0x10: - printf("\tDevice ID with %d bytes data\n", - len - 1); - break; - default: - printf("\tUnknown type 0x%02x with %d bytes data\n", - type, len - 1); - break; - } - - ptr += (len - 1); - } - - printf("\n"); - } - - hci_close_dev(dd); -} - -static void cmd_inq_type(int ctl, int hdev, char *opt) -{ - int dd; - - dd = hci_open_dev(hdev); - if (dd < 0) { - fprintf(stderr, "Can't open device hci%d: %s (%d)\n", - hdev, strerror(errno), errno); - exit(1); - } - - if (opt) { - uint8_t type = atoi(opt); - - if (hci_write_inquiry_scan_type(dd, type, 2000) < 0) { - fprintf(stderr, "Can't set inquiry scan type on hci%d: %s (%d)\n", - hdev, strerror(errno), errno); - exit(1); - } - } else { - uint8_t type; - - if (hci_read_inquiry_scan_type(dd, &type, 1000) < 0) { - fprintf(stderr, "Can't read inquiry scan type on hci%d: %s (%d)\n", - hdev, strerror(errno), errno); - exit(1); - } - - print_dev_hdr(&di); - printf("\tInquiry scan type: %s\n", - type == 1 ? "Interlaced Inquiry Scan" : "Standard Inquiry Scan"); - } - - hci_close_dev(dd); -} - -static void cmd_inq_parms(int ctl, int hdev, char *opt) -{ - struct hci_request rq; - int s; - - if ((s = hci_open_dev(hdev)) < 0) { - fprintf(stderr, "Can't open device hci%d: %s (%d)\n", - hdev, strerror(errno), errno); - exit(1); - } - - memset(&rq, 0, sizeof(rq)); - - if (opt) { - unsigned int window, interval; - write_inq_activity_cp cp; - - if (sscanf(opt,"%4u:%4u", &window, &interval) != 2) { - printf("Invalid argument format\n"); - exit(1); - } - - rq.ogf = OGF_HOST_CTL; - rq.ocf = OCF_WRITE_INQ_ACTIVITY; - rq.cparam = &cp; - rq.clen = WRITE_INQ_ACTIVITY_CP_SIZE; - - cp.window = htobs((uint16_t) window); - cp.interval = htobs((uint16_t) interval); - - if (window < 0x12 || window > 0x1000) - printf("Warning: inquiry window out of range!\n"); - - if (interval < 0x12 || interval > 0x1000) - printf("Warning: inquiry interval out of range!\n"); - - if (hci_send_req(s, &rq, 2000) < 0) { - fprintf(stderr, "Can't set inquiry parameters name on hci%d: %s (%d)\n", - hdev, strerror(errno), errno); - exit(1); - } - } else { - uint16_t window, interval; - read_inq_activity_rp rp; - - rq.ogf = OGF_HOST_CTL; - rq.ocf = OCF_READ_INQ_ACTIVITY; - rq.rparam = &rp; - rq.rlen = READ_INQ_ACTIVITY_RP_SIZE; - - if (hci_send_req(s, &rq, 1000) < 0) { - fprintf(stderr, "Can't read inquiry parameters on hci%d: %s (%d)\n", - hdev, strerror(errno), errno); - exit(1); - } - if (rp.status) { - printf("Read inquiry parameters on hci%d returned status %d\n", - hdev, rp.status); - exit(1); - } - print_dev_hdr(&di); - - window = btohs(rp.window); - interval = btohs(rp.interval); - printf("\tInquiry interval: %u slots (%.2f ms), window: %u slots (%.2f ms)\n", - interval, (float)interval * 0.625, window, (float)window * 0.625); - } -} - -static void cmd_page_parms(int ctl, int hdev, char *opt) -{ - struct hci_request rq; - int s; - - if ((s = hci_open_dev(hdev)) < 0) { - fprintf(stderr, "Can't open device hci%d: %s (%d)\n", - hdev, strerror(errno), errno); - exit(1); - } - - memset(&rq, 0, sizeof(rq)); - - if (opt) { - unsigned int window, interval; - write_page_activity_cp cp; - - if (sscanf(opt,"%4u:%4u", &window, &interval) != 2) { - printf("Invalid argument format\n"); - exit(1); - } - - rq.ogf = OGF_HOST_CTL; - rq.ocf = OCF_WRITE_PAGE_ACTIVITY; - rq.cparam = &cp; - rq.clen = WRITE_PAGE_ACTIVITY_CP_SIZE; - - cp.window = htobs((uint16_t) window); - cp.interval = htobs((uint16_t) interval); - - if (window < 0x12 || window > 0x1000) - printf("Warning: page window out of range!\n"); - - if (interval < 0x12 || interval > 0x1000) - printf("Warning: page interval out of range!\n"); - - if (hci_send_req(s, &rq, 2000) < 0) { - fprintf(stderr, "Can't set page parameters name on hci%d: %s (%d)\n", - hdev, strerror(errno), errno); - exit(1); - } - } else { - uint16_t window, interval; - read_page_activity_rp rp; - - rq.ogf = OGF_HOST_CTL; - rq.ocf = OCF_READ_PAGE_ACTIVITY; - rq.rparam = &rp; - rq.rlen = READ_PAGE_ACTIVITY_RP_SIZE; - - if (hci_send_req(s, &rq, 1000) < 0) { - fprintf(stderr, "Can't read page parameters on hci%d: %s (%d)\n", - hdev, strerror(errno), errno); - exit(1); - } - if (rp.status) { - printf("Read page parameters on hci%d returned status %d\n", - hdev, rp.status); - exit(1); - } - print_dev_hdr(&di); - - window = btohs(rp.window); - interval = btohs(rp.interval); - printf("\tPage interval: %u slots (%.2f ms), " - "window: %u slots (%.2f ms)\n", - interval, (float)interval * 0.625, - window, (float)window * 0.625); - } -} - -static void cmd_page_to(int ctl, int hdev, char *opt) -{ - struct hci_request rq; - int s; - - if ((s = hci_open_dev(hdev)) < 0) { - fprintf(stderr, "Can't open device hci%d: %s (%d)\n", - hdev, strerror(errno), errno); - exit(1); - } - - memset(&rq, 0, sizeof(rq)); - - if (opt) { - unsigned int timeout; - write_page_timeout_cp cp; - - if (sscanf(opt,"%5u", &timeout) != 1) { - printf("Invalid argument format\n"); - exit(1); - } - - rq.ogf = OGF_HOST_CTL; - rq.ocf = OCF_WRITE_PAGE_TIMEOUT; - rq.cparam = &cp; - rq.clen = WRITE_PAGE_TIMEOUT_CP_SIZE; - - cp.timeout = htobs((uint16_t) timeout); - - if (timeout < 0x01 || timeout > 0xFFFF) - printf("Warning: page timeout out of range!\n"); - - if (hci_send_req(s, &rq, 2000) < 0) { - fprintf(stderr, "Can't set page timeout on hci%d: %s (%d)\n", - hdev, strerror(errno), errno); - exit(1); - } - } else { - uint16_t timeout; - read_page_timeout_rp rp; - - rq.ogf = OGF_HOST_CTL; - rq.ocf = OCF_READ_PAGE_TIMEOUT; - rq.rparam = &rp; - rq.rlen = READ_PAGE_TIMEOUT_RP_SIZE; - - if (hci_send_req(s, &rq, 1000) < 0) { - fprintf(stderr, "Can't read page timeout on hci%d: %s (%d)\n", - hdev, strerror(errno), errno); - exit(1); - } - if (rp.status) { - printf("Read page timeout on hci%d returned status %d\n", - hdev, rp.status); - exit(1); - } - print_dev_hdr(&di); - - timeout = btohs(rp.timeout); - printf("\tPage timeout: %u slots (%.2f ms)\n", - timeout, (float)timeout * 0.625); - } -} - -static void cmd_afh_mode(int ctl, int hdev, char *opt) -{ - int dd; - - dd = hci_open_dev(hdev); - if (dd < 0) { - fprintf(stderr, "Can't open device hci%d: %s (%d)\n", - hdev, strerror(errno), errno); - exit(1); - } - - if (opt) { - uint8_t mode = atoi(opt); - - if (hci_write_afh_mode(dd, mode, 2000) < 0) { - fprintf(stderr, "Can't set AFH mode on hci%d: %s (%d)\n", - hdev, strerror(errno), errno); - exit(1); - } - } else { - uint8_t mode; - - if (hci_read_afh_mode(dd, &mode, 1000) < 0) { - fprintf(stderr, "Can't read AFH mode on hci%d: %s (%d)\n", - hdev, strerror(errno), errno); - exit(1); - } - - print_dev_hdr(&di); - printf("\tAFH mode: %s\n", mode == 1 ? "Enabled" : "Disabled"); - } -} - -static void cmd_ssp_mode(int ctl, int hdev, char *opt) -{ - int dd; - - dd = hci_open_dev(hdev); - if (dd < 0) { - fprintf(stderr, "Can't open device hci%d: %s (%d)\n", - hdev, strerror(errno), errno); - exit(1); - } - - if (opt) { - uint8_t mode = atoi(opt); - - if (hci_write_simple_pairing_mode(dd, mode, 2000) < 0) { - fprintf(stderr, "Can't set Simple Pairing mode on hci%d: %s (%d)\n", - hdev, strerror(errno), errno); - exit(1); - } - } else { - uint8_t mode; - - if (hci_read_simple_pairing_mode(dd, &mode, 1000) < 0) { - fprintf(stderr, "Can't read Simple Pairing mode on hci%d: %s (%d)\n", - hdev, strerror(errno), errno); - exit(1); - } - - print_dev_hdr(&di); - printf("\tSimple Pairing mode: %s\n", - mode == 1 ? "Enabled" : "Disabled"); - } -} - -static void print_rev_ericsson(int dd) -{ - struct hci_request rq; - unsigned char buf[102]; - - memset(&rq, 0, sizeof(rq)); - rq.ogf = OGF_VENDOR_CMD; - rq.ocf = 0x000f; - rq.cparam = NULL; - rq.clen = 0; - rq.rparam = &buf; - rq.rlen = sizeof(buf); - - if (hci_send_req(dd, &rq, 1000) < 0) { - printf("\nCan't read revision info: %s (%d)\n", - strerror(errno), errno); - return; - } - - printf("\t%s\n", buf + 1); -} - -static void print_rev_csr(int dd, uint16_t rev) -{ - uint16_t buildid, chipver, chiprev, maxkeylen, mapsco; - - if (csr_read_varid_uint16(dd, 0, CSR_VARID_BUILDID, &buildid) < 0) { - printf("\t%s\n", csr_buildidtostr(rev)); - return; - } - - printf("\t%s\n", csr_buildidtostr(buildid)); - - if (!csr_read_varid_uint16(dd, 1, CSR_VARID_CHIPVER, &chipver)) { - if (csr_read_varid_uint16(dd, 2, CSR_VARID_CHIPREV, &chiprev) < 0) - chiprev = 0; - printf("\tChip version: %s\n", csr_chipvertostr(chipver, chiprev)); - } - - if (!csr_read_varid_uint16(dd, 3, CSR_VARID_MAX_CRYPT_KEY_LENGTH, &maxkeylen)) - printf("\tMax key size: %d bit\n", maxkeylen * 8); - - if (!csr_read_pskey_uint16(dd, 4, CSR_PSKEY_HOSTIO_MAP_SCO_PCM, 0x0000, &mapsco)) - printf("\tSCO mapping: %s\n", mapsco ? "PCM" : "HCI"); -} - -static void print_rev_digianswer(int dd) -{ - struct hci_request rq; - unsigned char req[] = { 0x07 }; - unsigned char buf[102]; - - memset(&rq, 0, sizeof(rq)); - rq.ogf = OGF_VENDOR_CMD; - rq.ocf = 0x000e; - rq.cparam = req; - rq.clen = sizeof(req); - rq.rparam = &buf; - rq.rlen = sizeof(buf); - - if (hci_send_req(dd, &rq, 1000) < 0) { - printf("\nCan't read revision info: %s (%d)\n", - strerror(errno), errno); - return; - } - - printf("\t%s\n", buf + 1); -} - -static void print_rev_broadcom(uint16_t hci_rev, uint16_t lmp_subver) -{ - printf("\tFirmware %d.%d / %d\n", - hci_rev & 0xff, lmp_subver >> 8, lmp_subver & 0xff); -} - -static void print_rev_avm(uint16_t hci_rev, uint16_t lmp_subver) -{ - if (lmp_subver == 0x01) - printf("\tFirmware 03.%d.%d\n", hci_rev >> 8, hci_rev & 0xff); - else - printf("\tUnknown type\n"); -} - -static void cmd_revision(int ctl, int hdev, char *opt) -{ - struct hci_version ver; - int dd; - - dd = hci_open_dev(hdev); - if (dd < 0) { - fprintf(stderr, "Can't open device hci%d: %s (%d)\n", - hdev, strerror(errno), errno); - return; - } - - if (hci_read_local_version(dd, &ver, 1000) < 0) { - fprintf(stderr, "Can't read version info for hci%d: %s (%d)\n", - hdev, strerror(errno), errno); - return; - } - - print_dev_hdr(&di); - switch (ver.manufacturer) { - case 0: - case 37: - case 48: - print_rev_ericsson(dd); - break; - case 10: - print_rev_csr(dd, ver.hci_rev); - break; - case 12: - print_rev_digianswer(dd); - break; - case 15: - print_rev_broadcom(ver.hci_rev, ver.lmp_subver); - break; - case 31: - print_rev_avm(ver.hci_rev, ver.lmp_subver); - break; - default: - printf("\tUnsupported manufacturer\n"); - break; - } - return; -} - -static void cmd_block(int ctl, int hdev, char *opt) -{ - bdaddr_t bdaddr; - int dd; - - if (!opt) - return; - - dd = hci_open_dev(hdev); - if (dd < 0) { - fprintf(stderr, "Can't open device hci%d: %s (%d)\n", - hdev, strerror(errno), errno); - exit(1); - } - - str2ba(opt, &bdaddr); - - if (ioctl(dd, HCIBLOCKADDR, &bdaddr) < 0) { - perror("ioctl(HCIBLOCKADDR)"); - exit(1); - } - - hci_close_dev(dd); -} - -static void cmd_unblock(int ctl, int hdev, char *opt) -{ - bdaddr_t bdaddr; - int dd; - - if (!opt) - return; - - dd = hci_open_dev(hdev); - if (dd < 0) { - fprintf(stderr, "Can't open device hci%d: %s (%d)\n", - hdev, strerror(errno), errno); - exit(1); - } - - if (!strcasecmp(opt, "all")) - bacpy(&bdaddr, BDADDR_ANY); - else - str2ba(opt, &bdaddr); - - if (ioctl(dd, HCIUNBLOCKADDR, &bdaddr) < 0) { - perror("ioctl(HCIUNBLOCKADDR)"); - exit(1); - } - - hci_close_dev(dd); -} - -static void print_dev_hdr(struct hci_dev_info *di) -{ - static int hdr = -1; - char addr[18]; - - if (hdr == di->dev_id) - return; - hdr = di->dev_id; - - ba2str(&di->bdaddr, addr); - - printf("%s:\tType: %s Bus: %s\n", di->name, - hci_typetostr(di->type >> 4), - hci_bustostr(di->type & 0x0f)); - printf("\tBD Address: %s ACL MTU: %d:%d SCO MTU: %d:%d\n", - addr, di->acl_mtu, di->acl_pkts, - di->sco_mtu, di->sco_pkts); -} - -static void print_dev_info(int ctl, struct hci_dev_info *di) -{ - struct hci_dev_stats *st = &di->stat; - char *str; - - print_dev_hdr(di); - - str = hci_dflagstostr(di->flags); - printf("\t%s\n", str); - bt_free(str); - - printf("\tRX bytes:%d acl:%d sco:%d events:%d errors:%d\n", - st->byte_rx, st->acl_rx, st->sco_rx, st->evt_rx, st->err_rx); - - printf("\tTX bytes:%d acl:%d sco:%d commands:%d errors:%d\n", - st->byte_tx, st->acl_tx, st->sco_tx, st->cmd_tx, st->err_tx); - - if (all && !hci_test_bit(HCI_RAW, &di->flags) && - (bacmp(&di->bdaddr, BDADDR_ANY) || (di->type >> 4))) { - print_dev_features(di, 0); - print_pkt_type(di); - print_link_policy(di); - print_link_mode(di); - - if (hci_test_bit(HCI_UP, &di->flags)) { - cmd_name(ctl, di->dev_id, NULL); - cmd_class(ctl, di->dev_id, NULL); - cmd_version(ctl, di->dev_id, NULL); - } - } - - printf("\n"); -} - -static struct { - char *cmd; - void (*func)(int ctl, int hdev, char *opt); - char *opt; - char *doc; -} command[] = { - { "up", cmd_up, 0, "Open and initialize HCI device" }, - { "down", cmd_down, 0, "Close HCI device" }, - { "reset", cmd_reset, 0, "Reset HCI device" }, - { "rstat", cmd_rstat, 0, "Reset statistic counters" }, - { "auth", cmd_auth, 0, "Enable Authentication" }, - { "noauth", cmd_auth, 0, "Disable Authentication" }, - { "encrypt", cmd_encrypt, 0, "Enable Encryption" }, - { "noencrypt", cmd_encrypt, 0, "Disable Encryption" }, - { "piscan", cmd_scan, 0, "Enable Page and Inquiry scan" }, - { "noscan", cmd_scan, 0, "Disable scan" }, - { "iscan", cmd_scan, 0, "Enable Inquiry scan" }, - { "pscan", cmd_scan, 0, "Enable Page scan" }, - { "ptype", cmd_ptype, "[type]", "Get/Set default packet type" }, - { "lm", cmd_lm, "[mode]", "Get/Set default link mode" }, - { "lp", cmd_lp, "[policy]", "Get/Set default link policy" }, - { "name", cmd_name, "[name]", "Get/Set local name" }, - { "class", cmd_class, "[class]", "Get/Set class of device" }, - { "voice", cmd_voice, "[voice]", "Get/Set voice setting" }, - { "iac", cmd_iac, "[iac]", "Get/Set inquiry access code" }, - { "inqtpl", cmd_inq_tpl, "[level]", "Get/Set inquiry transmit power level" }, - { "inqmode", cmd_inq_mode, "[mode]", "Get/Set inquiry mode" }, - { "inqdata", cmd_inq_data, "[data]", "Get/Set inquiry data" }, - { "inqtype", cmd_inq_type, "[type]", "Get/Set inquiry scan type" }, - { "inqparms", cmd_inq_parms, "[win:int]", "Get/Set inquiry scan window and interval" }, - { "pageparms", cmd_page_parms, "[win:int]", "Get/Set page scan window and interval" }, - { "pageto", cmd_page_to, "[to]", "Get/Set page timeout" }, - { "afhmode", cmd_afh_mode, "[mode]", "Get/Set AFH mode" }, - { "sspmode", cmd_ssp_mode, "[mode]", "Get/Set Simple Pairing Mode" }, - { "aclmtu", cmd_aclmtu, "", "Set ACL MTU and number of packets" }, - { "scomtu", cmd_scomtu, "", "Set SCO MTU and number of packets" }, - { "delkey", cmd_delkey, "", "Delete link key from the device" }, - { "oobdata", cmd_oob_data, 0, "Get local OOB data" }, - { "commands", cmd_commands, 0, "Display supported commands" }, - { "features", cmd_features, 0, "Display device features" }, - { "version", cmd_version, 0, "Display version information" }, - { "revision", cmd_revision, 0, "Display revision information" }, - { "block", cmd_block, "", "Add a device to the blacklist" }, - { "unblock", cmd_unblock, "", "Remove a device from the blacklist" }, - { "lerandaddr", cmd_le_addr, "", "Set LE Random Address" }, - { "leadv", cmd_le_adv, "[type]", "Enable LE advertising" - "\n\t\t\t0 - Connectable undirected advertising (default)" - "\n\t\t\t3 - Non connectable undirected advertising"}, - { "noleadv", cmd_no_le_adv, 0, "Disable LE advertising" }, - { "lestates", cmd_le_states, 0, "Display the supported LE states" }, - { NULL, NULL, 0 } -}; - -static void usage(void) -{ - int i; - - printf("hciconfig - HCI device configuration utility\n"); - printf("Usage:\n" - "\thciconfig\n" - "\thciconfig [-a] hciX [command ...]\n"); - printf("Commands:\n"); - for (i = 0; command[i].cmd; i++) - printf("\t%-10s %-8s\t%s\n", command[i].cmd, - command[i].opt ? command[i].opt : " ", - command[i].doc); -} - -static struct option main_options[] = { - { "help", 0, 0, 'h' }, - { "all", 0, 0, 'a' }, - { 0, 0, 0, 0 } -}; - -int main(int argc, char *argv[]) -{ - int opt, ctl, i, cmd = 0; - - while ((opt = getopt_long(argc, argv, "ah", main_options, NULL)) != -1) { - switch (opt) { - case 'a': - all = 1; - break; - - case 'h': - default: - usage(); - exit(0); - } - } - - argc -= optind; - argv += optind; - optind = 0; - - /* Open HCI socket */ - if ((ctl = socket(AF_BLUETOOTH, SOCK_RAW, BTPROTO_HCI)) < 0) { - perror("Can't open HCI socket."); - exit(1); - } - - if (argc < 1) { - print_dev_list(ctl, 0); - exit(0); - } - - di.dev_id = atoi(argv[0] + 3); - argc--; argv++; - - if (ioctl(ctl, HCIGETDEVINFO, (void *) &di)) { - perror("Can't get device info"); - exit(1); - } - - if (hci_test_bit(HCI_RAW, &di.flags) && - !bacmp(&di.bdaddr, BDADDR_ANY)) { - int dd = hci_open_dev(di.dev_id); - hci_read_bd_addr(dd, &di.bdaddr, 1000); - hci_close_dev(dd); - } - - while (argc > 0) { - for (i = 0; command[i].cmd; i++) { - if (strncmp(command[i].cmd, - *argv, strlen(command[i].cmd))) - continue; - - if (command[i].opt) { - argc--; argv++; - } - - command[i].func(ctl, di.dev_id, *argv); - cmd = 1; - break; - } - - if (command[i].cmd == 0) - fprintf(stderr, "Warning: unknown command - \"%s\"\n", - *argv); - - argc--; argv++; - } - - if (!cmd) - print_dev_info(ctl, &di); - - close(ctl); - return 0; -} diff --git a/GRIB_BLE_HUB/libs/ble_extend/tools/hcidump b/GRIB_BLE_HUB/libs/ble_extend/tools/hcidump deleted file mode 100644 index 6db6373..0000000 Binary files a/GRIB_BLE_HUB/libs/ble_extend/tools/hcidump and /dev/null differ diff --git a/GRIB_BLE_HUB/libs/ble_extend/tools/hcidump.1 b/GRIB_BLE_HUB/libs/ble_extend/tools/hcidump.1 deleted file mode 100644 index 5c1441b..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/tools/hcidump.1 +++ /dev/null @@ -1,118 +0,0 @@ -.TH HCIDUMP 1 "Nov 12 2002" BlueZ "Linux System Administration" -.SH NAME -hcidump \- Parse HCI data -.SH SYNOPSIS -.B hcidump [-h] -.br -.B hcidump [option [option...]] [filter] - -.SH DESCRIPTION -.LP -.B -hcidump -reads raw HCI data coming from and going to a Bluetooth device (which can be -specified with the option -.BR -i , -default is the first available one) and prints to screen commands, events and -data in a human-readable form. Optionally, the dump can be written to a file -rather than parsed, and the dump file can be parsed in a subsequent moment. -.SH OPTIONS -.TP -.BI -h -Prints usage info and exits -.TP -.BI -i " " -Data is read from -.IR hciX , -which must be the name of an installed Bluetooth device. If not specified, -and if -.B --r -option is not set, data is read from the first available Bluetooth device. -.TP -.BI -l " " "\fR,\fP \-\^\-snap-len=" "" -Sets max length of processed packets to -.IR len . -.TP -.BI -p " " "\fR,\fP \-\^\-psm=" "" -Sets default Protocol Service Multiplexer to -.IR psm . -.TP -.BI -m " " "\fR,\fP \-\^\-manufacturer=" "" -Sets default company id for manufacturer to -.IR compid . -.TP -.BI -w " " "\fR,\fP \-\^\-save-dump=" "" -Parse output is not printed to screen, instead data read from device is saved in file -.IR file . -The saved dump file can be subsequently parsed with option -.BR -r . -.TP -.BI -r " " "\fR,\fP \-\^\-read-dump=" "" -Data is not read from a Bluetooth device, but from file -.IR file . -.I -file -is created with option -.BR -t ", " "\-\^\-timestamp" -Prepend a time stamp to every packet. -.TP -.BR -a ", " "\-\^\-ascii" -For every packet, not only is the packet type displayed, but also all data in ASCII. -.TP -.BR -x ", " "\-\^\-hex" -For every packet, not only is the packet type displayed, but also all data in hex. -.TP -.BR -X ", " "\-\^\-ext" -For every packet, not only is the packet type displayed, but also all data in hex and ASCII. -.TP -.BR -R ", " "\-\^\-raw" -For every packet, only the raw data is displayed. -.TP -.BR -C ", " "\-\^\-cmtp=" "" -Sets the PSM value for the CAPI Message Transport Protocol. -.TP -.BR -H ", " "\-\^\-hcrp=" "" -Sets the PSM value for the Hardcopy Control Channel. -.TP -.BR -O ", " "\-\^\-obex=" "" -Sets the RFCOMM channel value for the Object Exchange Protocol. -.TP -.BR -P ", " "\-\^\-ppp=" "" -Sets the RFCOMM channel value for the Point-to-Point Protocol. -.TP -.BR -D ", " "\-\^\-pppdump=" "" -Extract PPP traffic with pppdump format. -.TP -.BR -A ", " "\-\^\-audio=" "" -Extract SCO audio data. -.TP -.BR -Y ", " "\-\^\-novendor" -Don't display any vendor commands or events and don't show any pin code or link key in plain text. -.SH FILTERS -.B -filter -is a space-separated list of packet categories: available categories are -.IR lmp , -.IR hci , -.IR sco , -.IR l2cap , -.IR rfcomm , -.IR sdp , -.IR bnep , -.IR cmtp , -.IR hidp , -.IR hcrp , -.IR avdtp , -.IR avctp , -.IR obex , -.IR capi -and -.IR ppp . -If filters are used, only packets belonging to the specified categories are -dumped. By default, all packets are dumped. -.SH AUTHORS -Written by Maxim Krasnyansky -and Marcel Holtmann -.PP -man page by Fabrizio Gennari diff --git a/GRIB_BLE_HUB/libs/ble_extend/tools/hcidump.c b/GRIB_BLE_HUB/libs/ble_extend/tools/hcidump.c deleted file mode 100644 index 055c8fa..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/tools/hcidump.c +++ /dev/null @@ -1,848 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2000-2002 Maxim Krasnyansky - * Copyright (C) 2003-2011 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "parser/parser.h" -#include "parser/sdp.h" - -#include "lib/hci.h" -#include "lib/hci_lib.h" - -#define SNAP_LEN HCI_MAX_FRAME_SIZE - -/* Modes */ -enum { - PARSE, - READ, - WRITE, - PPPDUMP, - AUDIO -}; - -/* Default options */ -static int snap_len = SNAP_LEN; -static int mode = PARSE; -static int permcheck = 1; -static char *dump_file = NULL; -static char *pppdump_file = NULL; -static char *audio_file = NULL; - -struct hcidump_hdr { - uint16_t len; - uint8_t in; - uint8_t pad; - uint32_t ts_sec; - uint32_t ts_usec; -} __attribute__ ((packed)); -#define HCIDUMP_HDR_SIZE (sizeof(struct hcidump_hdr)) - -struct btsnoop_hdr { - uint8_t id[8]; /* Identification Pattern */ - uint32_t version; /* Version Number = 1 */ - uint32_t type; /* Datalink Type */ -} __attribute__ ((packed)); -#define BTSNOOP_HDR_SIZE (sizeof(struct btsnoop_hdr)) - -struct btsnoop_pkt { - uint32_t size; /* Original Length */ - uint32_t len; /* Included Length */ - uint32_t flags; /* Packet Flags */ - uint32_t drops; /* Cumulative Drops */ - uint64_t ts; /* Timestamp microseconds */ - uint8_t data[0]; /* Packet Data */ -} __attribute__ ((packed)); -#define BTSNOOP_PKT_SIZE (sizeof(struct btsnoop_pkt)) - -static uint8_t btsnoop_id[] = { 0x62, 0x74, 0x73, 0x6e, 0x6f, 0x6f, 0x70, 0x00 }; - -static uint32_t btsnoop_version = 0; -static uint32_t btsnoop_type = 0; - -struct pktlog_hdr { - uint32_t len; - uint64_t ts; - uint8_t type; -} __attribute__ ((packed)); -#define PKTLOG_HDR_SIZE (sizeof(struct pktlog_hdr)) - -static inline int read_n(int fd, char *buf, int len) -{ - int t = 0, w; - - while (len > 0) { - if ((w = read(fd, buf, len)) < 0) { - if (errno == EINTR || errno == EAGAIN) - continue; - return -1; - } - if (!w) - return 0; - len -= w; buf += w; t += w; - } - return t; -} - -static inline int write_n(int fd, char *buf, int len) -{ - int t = 0, w; - - while (len > 0) { - if ((w = write(fd, buf, len)) < 0) { - if (errno == EINTR || errno == EAGAIN) - continue; - return -1; - } - if (!w) - return 0; - len -= w; buf += w; t += w; - } - return t; -} - -static int process_frames(int dev, int sock, int fd, unsigned long flags) -{ - struct cmsghdr *cmsg; - struct msghdr msg; - struct iovec iv; - struct hcidump_hdr *dh; - struct btsnoop_pkt *dp; - struct frame frm; - struct pollfd fds[2]; - int nfds = 0; - char *buf, *ctrl; - int len, hdr_size = HCIDUMP_HDR_SIZE; - - if (sock < 0) - return -1; - - if (snap_len < SNAP_LEN) - snap_len = SNAP_LEN; - - if (flags & DUMP_BTSNOOP) - hdr_size = BTSNOOP_PKT_SIZE; - - buf = malloc(snap_len + hdr_size); - if (!buf) { - perror("Can't allocate data buffer"); - return -1; - } - - dh = (void *) buf; - dp = (void *) buf; - frm.data = buf + hdr_size; - - ctrl = malloc(100); - if (!ctrl) { - free(buf); - perror("Can't allocate control buffer"); - return -1; - } - - if (dev == HCI_DEV_NONE) - printf("system: "); - else - printf("device: hci%d ", dev); - - printf("snap_len: %d filter: 0x%lx\n", snap_len, parser.filter); - - memset(&msg, 0, sizeof(msg)); - - fds[nfds].fd = sock; - fds[nfds].events = POLLIN; - fds[nfds].revents = 0; - nfds++; - - while (1) { - int i, n = poll(fds, nfds, -1); - if (n <= 0) - continue; - - for (i = 0; i < nfds; i++) { - if (fds[i].revents & (POLLHUP | POLLERR | POLLNVAL)) { - if (fds[i].fd == sock) - printf("device: disconnected\n"); - else - printf("client: disconnect\n"); - return 0; - } - } - - iv.iov_base = frm.data; - iv.iov_len = snap_len; - - msg.msg_iov = &iv; - msg.msg_iovlen = 1; - msg.msg_control = ctrl; - msg.msg_controllen = 100; - - len = recvmsg(sock, &msg, MSG_DONTWAIT); - if (len < 0) { - if (errno == EAGAIN || errno == EINTR) - continue; - perror("Receive failed"); - return -1; - } - - /* Process control message */ - frm.data_len = len; - frm.dev_id = dev; - frm.in = 0; - frm.pppdump_fd = parser.pppdump_fd; - frm.audio_fd = parser.audio_fd; - - cmsg = CMSG_FIRSTHDR(&msg); - while (cmsg) { - int dir; - switch (cmsg->cmsg_type) { - case HCI_CMSG_DIR: - memcpy(&dir, CMSG_DATA(cmsg), sizeof(int)); - frm.in = (uint8_t) dir; - break; - case HCI_CMSG_TSTAMP: - memcpy(&frm.ts, CMSG_DATA(cmsg), - sizeof(struct timeval)); - break; - } - cmsg = CMSG_NXTHDR(&msg, cmsg); - } - - frm.ptr = frm.data; - frm.len = frm.data_len; - - switch (mode) { - case WRITE: - /* Save or send dump */ - if (flags & DUMP_BTSNOOP) { - uint64_t ts; - uint8_t pkt_type = ((uint8_t *) frm.data)[0]; - dp->size = htonl(frm.data_len); - dp->len = dp->size; - dp->flags = ntohl(frm.in & 0x01); - dp->drops = 0; - ts = (frm.ts.tv_sec - 946684800ll) * 1000000ll + frm.ts.tv_usec; - dp->ts = hton64(ts + 0x00E03AB44A676000ll); - if (pkt_type == HCI_COMMAND_PKT || - pkt_type == HCI_EVENT_PKT) - dp->flags |= ntohl(0x02); - } else { - dh->len = htobs(frm.data_len); - dh->in = frm.in; - dh->ts_sec = htobl(frm.ts.tv_sec); - dh->ts_usec = htobl(frm.ts.tv_usec); - } - - if (write_n(fd, buf, frm.data_len + hdr_size) < 0) { - perror("Write error"); - return -1; - } - break; - - default: - /* Parse and print */ - parse(&frm); - break; - } - } - - return 0; -} - -static void read_dump(int fd) -{ - struct hcidump_hdr dh; - struct btsnoop_pkt dp; - struct pktlog_hdr ph; - struct frame frm; - int err; - - frm.data = malloc(HCI_MAX_FRAME_SIZE); - if (!frm.data) { - perror("Can't allocate data buffer"); - exit(1); - } - - while (1) { - if (parser.flags & DUMP_PKTLOG) - err = read_n(fd, (void *) &ph, PKTLOG_HDR_SIZE); - else if (parser.flags & DUMP_BTSNOOP) - err = read_n(fd, (void *) &dp, BTSNOOP_PKT_SIZE); - else - err = read_n(fd, (void *) &dh, HCIDUMP_HDR_SIZE); - - if (err < 0) - goto failed; - if (!err) - return; - - if (parser.flags & DUMP_PKTLOG) { - switch (ph.type) { - case 0x00: - ((uint8_t *) frm.data)[0] = HCI_COMMAND_PKT; - frm.in = 0; - break; - case 0x01: - ((uint8_t *) frm.data)[0] = HCI_EVENT_PKT; - frm.in = 1; - break; - case 0x02: - ((uint8_t *) frm.data)[0] = HCI_ACLDATA_PKT; - frm.in = 0; - break; - case 0x03: - ((uint8_t *) frm.data)[0] = HCI_ACLDATA_PKT; - frm.in = 1; - break; - default: - lseek(fd, ntohl(ph.len) - 9, SEEK_CUR); - continue; - } - - frm.data_len = ntohl(ph.len) - 8; - err = read_n(fd, frm.data + 1, frm.data_len - 1); - } else if (parser.flags & DUMP_BTSNOOP) { - uint32_t opcode; - uint8_t pkt_type; - - switch (btsnoop_type) { - case 1001: - if (ntohl(dp.flags) & 0x02) { - if (ntohl(dp.flags) & 0x01) - pkt_type = HCI_EVENT_PKT; - else - pkt_type = HCI_COMMAND_PKT; - } else - pkt_type = HCI_ACLDATA_PKT; - - ((uint8_t *) frm.data)[0] = pkt_type; - - frm.data_len = ntohl(dp.len) + 1; - err = read_n(fd, frm.data + 1, frm.data_len - 1); - break; - - case 1002: - frm.data_len = ntohl(dp.len); - err = read_n(fd, frm.data, frm.data_len); - break; - - case 2001: - opcode = ntohl(dp.flags) & 0xffff; - - switch (opcode) { - case 2: - pkt_type = HCI_COMMAND_PKT; - frm.in = 0; - break; - case 3: - pkt_type = HCI_EVENT_PKT; - frm.in = 1; - break; - case 4: - pkt_type = HCI_ACLDATA_PKT; - frm.in = 0; - break; - case 5: - pkt_type = HCI_ACLDATA_PKT; - frm.in = 1; - break; - case 6: - pkt_type = HCI_SCODATA_PKT; - frm.in = 0; - break; - case 7: - pkt_type = HCI_SCODATA_PKT; - frm.in = 1; - break; - default: - pkt_type = 0xff; - break; - } - - ((uint8_t *) frm.data)[0] = pkt_type; - - frm.data_len = ntohl(dp.len) + 1; - err = read_n(fd, frm.data + 1, frm.data_len - 1); - } - } else { - frm.data_len = btohs(dh.len); - err = read_n(fd, frm.data, frm.data_len); - } - - if (err < 0) - goto failed; - if (!err) - return; - - frm.ptr = frm.data; - frm.len = frm.data_len; - - if (parser.flags & DUMP_PKTLOG) { - uint64_t ts; - ts = ntoh64(ph.ts); - frm.ts.tv_sec = ts >> 32; - frm.ts.tv_usec = ts & 0xffffffff; - } else if (parser.flags & DUMP_BTSNOOP) { - uint64_t ts; - frm.in = ntohl(dp.flags) & 0x01; - ts = ntoh64(dp.ts) - 0x00E03AB44A676000ll; - frm.ts.tv_sec = (ts / 1000000ll) + 946684800ll; - frm.ts.tv_usec = ts % 1000000ll; - } else { - frm.in = dh.in; - frm.ts.tv_sec = btohl(dh.ts_sec); - frm.ts.tv_usec = btohl(dh.ts_usec); - } - - parse(&frm); - } - -failed: - perror("Read failed"); - exit(1); -} - -static int open_file(char *file, int mode, unsigned long flags) -{ - unsigned char buf[BTSNOOP_HDR_SIZE]; - struct btsnoop_hdr *hdr = (struct btsnoop_hdr *) buf; - int fd, len, open_flags; - - if (mode == WRITE || mode == PPPDUMP || mode == AUDIO) - open_flags = O_WRONLY | O_CREAT | O_TRUNC; - else - open_flags = O_RDONLY; - - fd = open(file, open_flags, S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH); - if (fd < 0) { - perror("Can't open dump file"); - exit(1); - } - - if (mode == READ) { - len = read(fd, buf, BTSNOOP_HDR_SIZE); - if (len != BTSNOOP_HDR_SIZE) { - lseek(fd, 0, SEEK_SET); - return fd; - } - - if (!memcmp(hdr->id, btsnoop_id, sizeof(btsnoop_id))) { - parser.flags |= DUMP_BTSNOOP; - - btsnoop_version = ntohl(hdr->version); - btsnoop_type = ntohl(hdr->type); - - printf("btsnoop version: %d datalink type: %d\n", - btsnoop_version, btsnoop_type); - - if (btsnoop_version != 1) { - fprintf(stderr, "Unsupported BTSnoop version\n"); - exit(1); - } - - if (btsnoop_type != 1001 && btsnoop_type != 1002 && - btsnoop_type != 2001) { - fprintf(stderr, "Unsupported BTSnoop datalink type\n"); - exit(1); - } - } else { - if (buf[0] == 0x00 && buf[1] == 0x00) { - parser.flags |= DUMP_PKTLOG; - printf("packet logger data format\n"); - } - - parser.flags &= ~DUMP_BTSNOOP; - lseek(fd, 0, SEEK_SET); - return fd; - } - } else { - if (flags & DUMP_BTSNOOP) { - btsnoop_version = 1; - btsnoop_type = 1002; - - memcpy(hdr->id, btsnoop_id, sizeof(btsnoop_id)); - hdr->version = htonl(btsnoop_version); - hdr->type = htonl(btsnoop_type); - - printf("btsnoop version: %d datalink type: %d\n", - btsnoop_version, btsnoop_type); - - len = write(fd, buf, BTSNOOP_HDR_SIZE); - if (len < 0) { - perror("Can't create dump header"); - exit(1); - } - - if (len != BTSNOOP_HDR_SIZE) { - fprintf(stderr, "Header size mismatch\n"); - exit(1); - } - } - } - - return fd; -} - -static int open_socket(int dev, unsigned long flags) -{ - struct sockaddr_hci addr; - struct hci_filter flt; - struct hci_dev_info di; - int sk, dd, opt; - - if (permcheck && dev != HCI_DEV_NONE) { - dd = hci_open_dev(dev); - if (dd < 0) { - perror("Can't open device"); - return -1; - } - - if (hci_devinfo(dev, &di) < 0) { - perror("Can't get device info"); - return -1; - } - - opt = hci_test_bit(HCI_RAW, &di.flags); - if (ioctl(dd, HCISETRAW, opt) < 0) { - if (errno == EACCES) { - perror("Can't access device"); - return -1; - } - } - - hci_close_dev(dd); - } - - /* Create HCI socket */ - sk = socket(AF_BLUETOOTH, SOCK_RAW, BTPROTO_HCI); - if (sk < 0) { - perror("Can't create raw socket"); - return -1; - } - - opt = 1; - if (setsockopt(sk, SOL_HCI, HCI_DATA_DIR, &opt, sizeof(opt)) < 0) { - perror("Can't enable data direction info"); - return -1; - } - - opt = 1; - if (setsockopt(sk, SOL_HCI, HCI_TIME_STAMP, &opt, sizeof(opt)) < 0) { - perror("Can't enable time stamp"); - return -1; - } - - /* Setup filter */ - hci_filter_clear(&flt); - hci_filter_all_ptypes(&flt); - hci_filter_all_events(&flt); - if (setsockopt(sk, SOL_HCI, HCI_FILTER, &flt, sizeof(flt)) < 0) { - perror("Can't set filter"); - return -1; - } - - /* Bind socket to the HCI device */ - memset(&addr, 0, sizeof(addr)); - addr.hci_family = AF_BLUETOOTH; - addr.hci_dev = dev; - if (bind(sk, (struct sockaddr *) &addr, sizeof(addr)) < 0) { - printf("Can't attach to device hci%d. %s(%d)\n", - dev, strerror(errno), errno); - return -1; - } - - return sk; -} - -static struct { - char *name; - int flag; -} filters[] = { - { "lmp", FILT_LMP }, - { "hci", FILT_HCI }, - { "sco", FILT_SCO }, - { "l2cap", FILT_L2CAP }, - { "a2mp", FILT_A2MP }, - { "rfcomm", FILT_RFCOMM }, - { "sdp", FILT_SDP }, - { "bnep", FILT_BNEP }, - { "cmtp", FILT_CMTP }, - { "hidp", FILT_HIDP }, - { "hcrp", FILT_HCRP }, - { "att", FILT_ATT }, - { "smp", FILT_SMP }, - { "avdtp", FILT_AVDTP }, - { "avctp", FILT_AVCTP }, - { "obex", FILT_OBEX }, - { "capi", FILT_CAPI }, - { "ppp", FILT_PPP }, - { "sap", FILT_SAP }, - { "csr", FILT_CSR }, - { "dga", FILT_DGA }, - { 0 } -}; - -static unsigned long parse_filter(int argc, char **argv) -{ - unsigned long filter = 0; - int i,n; - - for (i = 0; i < argc; i++) { - for (n = 0; filters[n].name; n++) { - if (!strcasecmp(filters[n].name, argv[i])) { - filter |= filters[n].flag; - break; - } - } - } - - return filter; -} - -static void usage(void) -{ - printf( - "Usage: hcidump [OPTION...] [filter]\n" - " -i, --device=hci_dev HCI device\n" - " -l, --snap-len=len Snap len (in bytes)\n" - " -p, --psm=psm Default PSM\n" - " -m, --manufacturer=compid Default manufacturer\n" - " -w, --save-dump=file Save dump to a file\n" - " -r, --read-dump=file Read dump from a file\n" - " -t, --ts Display time stamps\n" - " -a, --ascii Dump data in ascii\n" - " -x, --hex Dump data in hex\n" - " -X, --ext Dump data in hex and ascii\n" - " -R, --raw Dump raw data\n" - " -C, --cmtp=psm PSM for CMTP\n" - " -H, --hcrp=psm PSM for HCRP\n" - " -O, --obex=port Channel/PSM for OBEX\n" - " -P, --ppp=channel Channel for PPP\n" - " -S, --sap=channel Channel for SAP\n" - " -D, --pppdump=file Extract PPP traffic\n" - " -A, --audio=file Extract SCO audio data\n" - " -Y, --novendor No vendor commands or events\n" - " -h, --help Give this help list\n" - " -v, --version Give version information\n" - " --usage Give a short usage message\n" - ); -} - -static struct option main_options[] = { - { "device", 1, 0, 'i' }, - { "snap-len", 1, 0, 'l' }, - { "psm", 1, 0, 'p' }, - { "manufacturer", 1, 0, 'm' }, - { "save-dump", 1, 0, 'w' }, - { "read-dump", 1, 0, 'r' }, - { "timestamp", 0, 0, 't' }, - { "ascii", 0, 0, 'a' }, - { "hex", 0, 0, 'x' }, - { "ext", 0, 0, 'X' }, - { "raw", 0, 0, 'R' }, - { "cmtp", 1, 0, 'C' }, - { "hcrp", 1, 0, 'H' }, - { "obex", 1, 0, 'O' }, - { "ppp", 1, 0, 'P' }, - { "sap", 1, 0, 'S' }, - { "pppdump", 1, 0, 'D' }, - { "audio", 1, 0, 'A' }, - { "novendor", 0, 0, 'Y' }, - { "nopermcheck", 0, 0, 'Z' }, - { "help", 0, 0, 'h' }, - { "version", 0, 0, 'v' }, - { 0 } -}; - -int main(int argc, char *argv[]) -{ - unsigned long flags = 0; - unsigned long filter = 0; - int device = 0; - int defpsm = 0; - int defcompid = DEFAULT_COMPID; - int opt, pppdump_fd = -1, audio_fd = -1; - uint16_t obex_port; - - while ((opt = getopt_long(argc, argv, - "i:l:p:m:w:r:taxXRC:H:O:P:S:D:A:YZhv", - main_options, NULL)) != -1) { - switch(opt) { - case 'i': - if (strcasecmp(optarg, "none") && strcasecmp(optarg, "system")) - device = atoi(optarg + 3); - else - device = HCI_DEV_NONE; - break; - - case 'l': - snap_len = atoi(optarg); - break; - - case 'p': - defpsm = atoi(optarg); - break; - - case 'm': - defcompid = atoi(optarg); - break; - - case 'w': - mode = WRITE; - dump_file = strdup(optarg); - break; - - case 'r': - mode = READ; - dump_file = strdup(optarg); - break; - - case 't': - flags |= DUMP_TSTAMP; - break; - - case 'a': - flags |= DUMP_ASCII; - break; - - case 'x': - flags |= DUMP_HEX; - break; - - case 'X': - flags |= DUMP_EXT; - break; - - case 'R': - flags |= DUMP_RAW; - break; - - case 'C': - set_proto(0, atoi(optarg), 0, SDP_UUID_CMTP); - break; - - case 'H': - set_proto(0, atoi(optarg), 0, SDP_UUID_HARDCOPY_CONTROL_CHANNEL); - break; - - case 'O': - obex_port = atoi(optarg); - if (obex_port > 31) - set_proto(0, obex_port, 0, SDP_UUID_OBEX); - else - set_proto(0, 0, obex_port, SDP_UUID_OBEX); - break; - - case 'P': - set_proto(0, 0, atoi(optarg), SDP_UUID_LAN_ACCESS_PPP); - break; - - case 'S': - set_proto(0, 0, atoi(optarg), SDP_UUID_SIM_ACCESS); - break; - - case 'D': - pppdump_file = strdup(optarg); - break; - - case 'A': - audio_file = strdup(optarg); - break; - - case 'Y': - flags |= DUMP_NOVENDOR; - break; - - case 'Z': - permcheck = 0; - break; - - case 'v': - printf("%s\n", VERSION); - exit(0); - - case 'h': - default: - usage(); - exit(0); - } - } - - argc -= optind; - argv += optind; - optind = 0; - - printf("HCI sniffer - Bluetooth packet analyzer ver %s\n", VERSION); - - if (argc > 0) - filter = parse_filter(argc, argv); - - /* Default settings */ - if (!filter) - filter = ~0L; - - if (pppdump_file) - pppdump_fd = open_file(pppdump_file, PPPDUMP, flags); - - if (audio_file) - audio_fd = open_file(audio_file, AUDIO, flags); - - switch (mode) { - case PARSE: - flags |= DUMP_VERBOSE; - init_parser(flags, filter, defpsm, defcompid, - pppdump_fd, audio_fd); - process_frames(device, open_socket(device, flags), -1, flags); - break; - - case READ: - flags |= DUMP_VERBOSE; - init_parser(flags, filter, defpsm, defcompid, - pppdump_fd, audio_fd); - read_dump(open_file(dump_file, mode, flags)); - break; - - case WRITE: - flags |= DUMP_BTSNOOP; - process_frames(device, open_socket(device, flags), - open_file(dump_file, mode, flags), flags); - break; - } - - return 0; -} diff --git a/GRIB_BLE_HUB/libs/ble_extend/tools/hcieventmask.c b/GRIB_BLE_HUB/libs/ble_extend/tools/hcieventmask.c deleted file mode 100644 index 87beac9..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/tools/hcieventmask.c +++ /dev/null @@ -1,130 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2002-2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include -#include -#include -#include - -#include -#include -#include - -static struct option main_options[] = { - { "device", 1, 0, 'i' }, - { 0, 0, 0, 0 } -}; - -int main(int argc, char *argv[]) -{ - uint8_t events[8] = { 0xff, 0xff, 0xff, 0xff, 0xff, 0x1f, 0x00, 0x00 }; - struct hci_dev_info di; - struct hci_version ver; - int dd, opt, dev = 0; - - while ((opt=getopt_long(argc, argv, "+i:", main_options, NULL)) != -1) { - switch (opt) { - case 'i': - dev = hci_devid(optarg); - if (dev < 0) { - perror("Invalid device"); - exit(1); - } - break; - } - } - - dd = hci_open_dev(dev); - if (dd < 0) { - fprintf(stderr, "Can't open device hci%d: %s (%d)\n", - dev, strerror(errno), errno); - exit(1); - } - - if (hci_devinfo(dev, &di) < 0) { - fprintf(stderr, "Can't get device info for hci%d: %s (%d)\n", - dev, strerror(errno), errno); - hci_close_dev(dd); - exit(1); - } - - if (hci_read_local_version(dd, &ver, 1000) < 0) { - fprintf(stderr, "Can't read version info for hci%d: %s (%d)\n", - dev, strerror(errno), errno); - hci_close_dev(dd); - exit(1); - } - - hci_close_dev(dd); - - if (ver.hci_ver > 1) { - if (di.features[5] & LMP_SNIFF_SUBR) - events[5] |= 0x20; - - if (di.features[5] & LMP_PAUSE_ENC) - events[5] |= 0x80; - - if (di.features[6] & LMP_EXT_INQ) - events[5] |= 0x40; - - if (di.features[6] & LMP_NFLUSH_PKTS) - events[7] |= 0x01; - - if (di.features[7] & LMP_LSTO) - events[6] |= 0x80; - - if (di.features[6] & LMP_SIMPLE_PAIR) { - events[6] |= 0x01; /* IO Capability Request */ - events[6] |= 0x02; /* IO Capability Response */ - events[6] |= 0x04; /* User Confirmation Request */ - events[6] |= 0x08; /* User Passkey Request */ - events[6] |= 0x10; /* Remote OOB Data Request */ - events[6] |= 0x20; /* Simple Pairing Complete */ - events[7] |= 0x04; /* User Passkey Notification */ - events[7] |= 0x08; /* Keypress Notification */ - events[7] |= 0x10; /* Remote Host Supported - * Features Notification */ - } - - if (di.features[4] & LMP_LE) - events[7] |= 0x20; - - if (di.features[6] & LMP_LE_BREDR) - events[7] |= 0x20; - } - - printf("Setting event mask:\n"); - printf("\thcitool cmd 0x%02x 0x%04x " - "0x%02x 0x%02x 0x%02x 0x%02x " - "0x%02x 0x%02x 0x%02x 0x%02x\n", - OGF_HOST_CTL, OCF_SET_EVENT_MASK, - events[0], events[1], events[2], events[3], - events[4], events[5], events[6], events[7]); - - return 0; -} diff --git a/GRIB_BLE_HUB/libs/ble_extend/tools/hcisecfilter.c b/GRIB_BLE_HUB/libs/ble_extend/tools/hcisecfilter.c deleted file mode 100644 index 9ad4ce0..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/tools/hcisecfilter.c +++ /dev/null @@ -1,155 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2002-2003 Maxim Krasnyansky - * Copyright (C) 2002-2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include - -#include -#include -#include - -int main(void) -{ - uint32_t type_mask; - uint32_t event_mask[2]; - uint32_t ocf_mask[4]; - - /* Packet types */ - memset(&type_mask, 0, sizeof(type_mask)); - hci_set_bit(HCI_EVENT_PKT, &type_mask); - - printf("Type mask: { 0x%02x }\n", type_mask); - - /* Events */ - memset(event_mask, 0, sizeof(event_mask)); - hci_set_bit(EVT_INQUIRY_COMPLETE, event_mask); - hci_set_bit(EVT_INQUIRY_RESULT, event_mask); - hci_set_bit(EVT_CONN_COMPLETE, event_mask); - hci_set_bit(EVT_CONN_REQUEST, event_mask); - hci_set_bit(EVT_DISCONN_COMPLETE, event_mask); - hci_set_bit(EVT_AUTH_COMPLETE, event_mask); - hci_set_bit(EVT_REMOTE_NAME_REQ_COMPLETE, event_mask); - hci_set_bit(EVT_ENCRYPT_CHANGE, event_mask); - hci_set_bit(EVT_READ_REMOTE_FEATURES_COMPLETE, event_mask); - hci_set_bit(EVT_READ_REMOTE_VERSION_COMPLETE, event_mask); - hci_set_bit(EVT_CMD_COMPLETE, event_mask); - hci_set_bit(EVT_CMD_STATUS, event_mask); - hci_set_bit(EVT_READ_CLOCK_OFFSET_COMPLETE, event_mask); - hci_set_bit(EVT_INQUIRY_RESULT_WITH_RSSI, event_mask); - hci_set_bit(EVT_READ_REMOTE_EXT_FEATURES_COMPLETE, event_mask); - hci_set_bit(EVT_SYNC_CONN_COMPLETE, event_mask); - hci_set_bit(EVT_SYNC_CONN_CHANGED, event_mask); - hci_set_bit(EVT_EXTENDED_INQUIRY_RESULT, event_mask); - - printf("Event mask: { 0x%08x, 0x%08x }\n", - event_mask[0], event_mask[1]); - - /* OGF_LINK_CTL */ - memset(ocf_mask, 0, sizeof(ocf_mask)); - hci_set_bit(OCF_INQUIRY, ocf_mask); - hci_set_bit(OCF_INQUIRY_CANCEL, ocf_mask); - hci_set_bit(OCF_REMOTE_NAME_REQ, ocf_mask); - hci_set_bit(OCF_REMOTE_NAME_REQ_CANCEL, ocf_mask); - hci_set_bit(OCF_READ_REMOTE_FEATURES, ocf_mask); - hci_set_bit(OCF_READ_REMOTE_EXT_FEATURES, ocf_mask); - hci_set_bit(OCF_READ_REMOTE_VERSION, ocf_mask); - hci_set_bit(OCF_READ_CLOCK_OFFSET, ocf_mask); - hci_set_bit(OCF_READ_LMP_HANDLE, ocf_mask); - - printf("OGF_LINK_CTL: { 0x%08x, 0x%08x, 0x%08x, 0x%02x }\n", - ocf_mask[0], ocf_mask[1], ocf_mask[2], ocf_mask[3]); - - /* OGF_LINK_POLICY */ - memset(ocf_mask, 0, sizeof(ocf_mask)); - hci_set_bit(OCF_ROLE_DISCOVERY, ocf_mask); - hci_set_bit(OCF_READ_LINK_POLICY, ocf_mask); - hci_set_bit(OCF_READ_DEFAULT_LINK_POLICY, ocf_mask); - - printf("OGF_LINK_POLICY: { 0x%08x, 0x%08x, 0x%08x, 0x%02x }\n", - ocf_mask[0], ocf_mask[1], ocf_mask[2], ocf_mask[3]); - - /* OGF_HOST_CTL */ - memset(ocf_mask, 0, sizeof(ocf_mask)); - hci_set_bit(OCF_READ_PIN_TYPE, ocf_mask); - hci_set_bit(OCF_READ_LOCAL_NAME, ocf_mask); - hci_set_bit(OCF_READ_CONN_ACCEPT_TIMEOUT, ocf_mask); - hci_set_bit(OCF_READ_PAGE_TIMEOUT, ocf_mask); - hci_set_bit(OCF_READ_SCAN_ENABLE, ocf_mask); - hci_set_bit(OCF_READ_PAGE_ACTIVITY, ocf_mask); - hci_set_bit(OCF_READ_INQ_ACTIVITY, ocf_mask); - hci_set_bit(OCF_READ_AUTH_ENABLE, ocf_mask); - hci_set_bit(OCF_READ_ENCRYPT_MODE, ocf_mask); - hci_set_bit(OCF_READ_CLASS_OF_DEV, ocf_mask); - hci_set_bit(OCF_READ_VOICE_SETTING, ocf_mask); - hci_set_bit(OCF_READ_AUTOMATIC_FLUSH_TIMEOUT, ocf_mask); - hci_set_bit(OCF_READ_NUM_BROADCAST_RETRANS, ocf_mask); - hci_set_bit(OCF_READ_HOLD_MODE_ACTIVITY, ocf_mask); - hci_set_bit(OCF_READ_TRANSMIT_POWER_LEVEL, ocf_mask); - hci_set_bit(OCF_READ_LINK_SUPERVISION_TIMEOUT, ocf_mask); - hci_set_bit(OCF_READ_NUM_SUPPORTED_IAC, ocf_mask); - hci_set_bit(OCF_READ_CURRENT_IAC_LAP, ocf_mask); - hci_set_bit(OCF_READ_PAGE_SCAN_PERIOD_MODE, ocf_mask); - hci_set_bit(OCF_READ_PAGE_SCAN_MODE, ocf_mask); - hci_set_bit(OCF_READ_INQUIRY_SCAN_TYPE, ocf_mask); - hci_set_bit(OCF_READ_INQUIRY_MODE, ocf_mask); - hci_set_bit(OCF_READ_PAGE_SCAN_TYPE, ocf_mask); - hci_set_bit(OCF_READ_AFH_MODE, ocf_mask); - hci_set_bit(OCF_READ_EXT_INQUIRY_RESPONSE, ocf_mask); - hci_set_bit(OCF_READ_SIMPLE_PAIRING_MODE, ocf_mask); - hci_set_bit(OCF_READ_INQ_RESPONSE_TX_POWER_LEVEL, ocf_mask); - hci_set_bit(OCF_READ_DEFAULT_ERROR_DATA_REPORTING, ocf_mask); - - printf("OGF_HOST_CTL: { 0x%08x, 0x%08x, 0x%08x, 0x%02x }\n", - ocf_mask[0], ocf_mask[1], ocf_mask[2], ocf_mask[3]); - - /* OGF_INFO_PARAM */ - memset(ocf_mask, 0, sizeof(ocf_mask)); - hci_set_bit(OCF_READ_LOCAL_VERSION, ocf_mask); - hci_set_bit(OCF_READ_LOCAL_COMMANDS, ocf_mask); - hci_set_bit(OCF_READ_LOCAL_FEATURES, ocf_mask); - hci_set_bit(OCF_READ_LOCAL_EXT_FEATURES, ocf_mask); - hci_set_bit(OCF_READ_BUFFER_SIZE, ocf_mask); - hci_set_bit(OCF_READ_COUNTRY_CODE, ocf_mask); - hci_set_bit(OCF_READ_BD_ADDR, ocf_mask); - - printf("OGF_INFO_PARAM: { 0x%08x, 0x%08x, 0x%08x, 0x%02x }\n", - ocf_mask[0], ocf_mask[1], ocf_mask[2], ocf_mask[3]); - - /* OGF_STATUS_PARAM */ - memset(ocf_mask, 0, sizeof(ocf_mask)); - hci_set_bit(OCF_READ_FAILED_CONTACT_COUNTER, ocf_mask); - hci_set_bit(OCF_READ_LINK_QUALITY, ocf_mask); - hci_set_bit(OCF_READ_RSSI, ocf_mask); - hci_set_bit(OCF_READ_AFH_MAP, ocf_mask); - hci_set_bit(OCF_READ_CLOCK, ocf_mask); - - printf("OGF_STATUS_PARAM: { 0x%08x, 0x%08x, 0x%08x, 0x%02x }\n", - ocf_mask[0], ocf_mask[1], ocf_mask[2], ocf_mask[3]); - - return 0; -} diff --git a/GRIB_BLE_HUB/libs/ble_extend/tools/hcitool b/GRIB_BLE_HUB/libs/ble_extend/tools/hcitool deleted file mode 100644 index cea6289..0000000 Binary files a/GRIB_BLE_HUB/libs/ble_extend/tools/hcitool and /dev/null differ diff --git a/GRIB_BLE_HUB/libs/ble_extend/tools/hcitool.1 b/GRIB_BLE_HUB/libs/ble_extend/tools/hcitool.1 deleted file mode 100644 index 85498dc..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/tools/hcitool.1 +++ /dev/null @@ -1,209 +0,0 @@ -.TH HCITOOL 1 "Nov 12 2002" BlueZ "Linux System Administration" -.SH NAME -hcitool \- configure Bluetooth connections -.SH SYNOPSIS -.B hcitool [-h] -.br -.B hcitool [-i ] [command [command parameters]] - -.SH DESCRIPTION -.LP -.B -hcitool -is used to configure Bluetooth connections and send some special command to -Bluetooth devices. If no -.B -command -is given, or if the option -.B --h -is used, -.B -hcitool -prints some usage information and exits. -.SH OPTIONS -.TP -.BI -h -Gives a list of possible commands -.TP -.BI -i " " -The command is applied to device -.I -hciX -, which must be the name of an installed Bluetooth device. If not specified, -the command will be sent to the first available Bluetooth device. -.SH COMMANDS -.TP -.BI dev -Display local devices -.TP -.BI inq -Inquire remote devices. For each discovered device, Bluetooth device address, -clock offset and class are printed. -.TP -.BI scan -Inquire remote devices. For each discovered device, device name are printed. -.TP -.BI name " " -Print device name of remote device with Bluetooth address -.IR bdaddr . -.TP -.BI info " " -Print device name, version and supported features of remote device with -Bluetooth address -.IR bdaddr . -.TP -.BI spinq -Start periodic inquiry process. No inquiry results are printed. -.TP -.BI epinq -Exit periodic inquiry process. -.TP -.BI cmd " [parameters]" -Submit an arbitrary HCI command to local device. -.IR ogf , -.IR ocf -and -.IR parameters -are hexadecimal bytes. -.TP -.BI con -Display active baseband connections -.TP -.BI cc " [--role=m|s] [--pkt-type=] " -Create baseband connection to remote device with Bluetooth address -.IR bdaddr . -Option -.I ---pkt-type -specifies a list of allowed packet types. -.I - -is a comma-separated list of packet types, where the possible packet types are -.BR DM1 , -.BR DM3 , -.BR DM5 , -.BR DH1 , -.BR DH3 , -.BR DH5 , -.BR HV1 , -.BR HV2 , -.BR HV3 . -Default is to allow all packet types. Option -.I ---role -can have value -.I -m -(do not allow role switch, stay master) or -.I -s -(allow role switch, become slave if the peer asks to become master). Default is -.IR m . -.TP -.BI dc " [reason]" -Delete baseband connection from remote device with Bluetooth address -.IR bdaddr . -The reason can be one of the Bluetooth HCI error codes. Default is -.IR 19 -for user ended connections. The value must be given in decimal. -.TP -.BI sr " " -Switch role for the baseband connection from the remote device to -.BR master -or -.BR slave . -.TP -.BI cpt " " -Change packet types for baseband connection to device with Bluetooth address -.IR bdaddr . -.I -packet types -is a comma-separated list of packet types, where the possible packet types are -.BR DM1 , -.BR DM3 , -.BR DM5 , -.BR DH1 , -.BR DH3 , -.BR DH5 , -.BR HV1 , -.BR HV2 , -.BR HV3 . -.TP -.BI rssi " " -Display received signal strength information for the connection to the device -with Bluetooth address -.IR bdaddr . -.TP -.BI lq " " -Display link quality for the connection to the device with Bluetooth address -.IR bdaddr . -.TP -.BI tpl " [type]" -Display transmit power level for the connection to the device with Bluetooth address -.IR bdaddr . -The type can be -.BR 0 -for the current transmit power level (which is default) or -.BR 1 -for the maximum transmit power level. -.TP -.BI afh " " -Display AFH channel map for the connection to the device with Bluetooth address -.IR bdaddr . -.TP -.BI lp " [value]" -With no -.IR value , -displays link policy settings for the connection to the device with Bluetooth address -.IR bdaddr . -If -.IR value -is given, sets the link policy settings for that connection to -.IR value . -Possible values are RSWITCH, HOLD, SNIFF and PARK. -.TP -.BI lst " [value]" -With no -.IR value , -displays link supervision timeout for the connection to the device with Bluetooth address -.IR bdaddr . -If -.I -value -is given, sets the link supervision timeout for that connection to -.I -value -slots, or to infinite if -.I -value -is 0. -.TP -.BI auth " " -Request authentication for the device with Bluetooth address -.IR bdaddr . -.TP -.BI enc " [encrypt enable]" -Enable or disable the encryption for the device with Bluetooth address -.IR bdaddr . -.TP -.BI key " " -Change the connection link key for the device with Bluetooth address -.IR bdaddr . -.TP -.BI clkoff " " -Read the clock offset for the device with Bluetooth address -.IR bdaddr . -.TP -.BI clock " [bdaddr] [which clock]" -Read the clock for the device with Bluetooth address -.IR bdaddr . -The clock can be -.BR 0 -for the local clock or -.BR 1 -for the piconet clock (which is default). -.SH AUTHORS -Written by Maxim Krasnyansky and Marcel Holtmann -.PP -man page by Fabrizio Gennari diff --git a/GRIB_BLE_HUB/libs/ble_extend/tools/hcitool.c b/GRIB_BLE_HUB/libs/ble_extend/tools/hcitool.c deleted file mode 100644 index f2e4fa4..0000000 --- a/GRIB_BLE_HUB/libs/ble_extend/tools/hcitool.c +++ /dev/null @@ -1,3117 +0,0 @@ -/* - * - * BlueZ - Bluetooth protocol stack for Linux - * - * Copyright (C) 2000-2001 Qualcomm Incorporated - * Copyright (C) 2002-2003 Maxim Krasnyansky - * Copyright (C) 2002-2010 Marcel Holtmann - * - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include - -#include -#include -#include - -#include "textfile.h" -#include "oui.h" - -/* Unofficial value, might still change */ -#define LE_LINK 0x03 - -#define FLAGS_AD_TYPE 0x01 -#define FLAGS_LIMITED_MODE_BIT 0x01 -#define FLAGS_GENERAL_MODE_BIT 0x02 - -#define EIR_FLAGS 0x01 /* flags */ -#define EIR_UUID16_SOME 0x02 /* 16-bit UUID, more available */ -#define EIR_UUID16_ALL 0x03 /* 16-bit UUID, all listed */ -#define EIR_UUID32_SOME 0x04 /* 32-bit UUID, more available */ -#define EIR_UUID32_ALL 0x05 /* 32-bit UUID, all listed */ -#define EIR_UUID128_SOME 0x06 /* 128-bit UUID, more available */ -#define EIR_UUID128_ALL 0x07 /* 128-bit UUID, all listed */ -#define EIR_NAME_SHORT 0x08 /* shortened local name */ -#define EIR_NAME_COMPLETE 0x09 /* complete local name */ -#define EIR_TX_POWER 0x0A /* transmit power level */ -#define EIR_DEVICE_ID 0x10 /* device ID */ - -#define for_each_opt(opt, long, short) while ((opt=getopt_long(argc, argv, short ? short:"+", long, NULL)) != -1) - -static volatile int signal_received = 0; - -static void usage(void); - -static int dev_info(int s, int dev_id, long arg) -{ - struct hci_dev_info di = { .dev_id = dev_id }; - char addr[18]; - - if (ioctl(s, HCIGETDEVINFO, (void *) &di)) - return 0; - - ba2str(&di.bdaddr, addr); - printf("\t%s\t%s\n", di.name, addr); - return 0; -} - -static void helper_arg(int min_num_arg, int max_num_arg, int *argc, - char ***argv, const char *usage) -{ - *argc -= optind; - /* too many arguments, but when "max_num_arg < min_num_arg" then no - limiting (prefer "max_num_arg=-1" to gen infinity) - */ - if ( (*argc > max_num_arg) && (max_num_arg >= min_num_arg ) ) { - fprintf(stderr, "%s: too many arguments (maximal: %i)\n", - *argv[0], max_num_arg); - printf("%s", usage); - exit(1); - } - - /* print usage */ - if (*argc < min_num_arg) { - fprintf(stderr, "%s: too few arguments (minimal: %i)\n", - *argv[0], min_num_arg); - printf("%s", usage); - exit(0); - } - - *argv += optind; -} - -static char *type2str(uint8_t type) -{ - switch (type) { - case SCO_LINK: - return "SCO"; - case ACL_LINK: - return "ACL"; - case ESCO_LINK: - return "eSCO"; - case LE_LINK: - return "LE"; - default: - return "Unknown"; - } -} - -static int conn_list(int s, int dev_id, long arg) -{ - struct hci_conn_list_req *cl; - struct hci_conn_info *ci; - int id = arg; - int i; - - if (id != -1 && dev_id != id) - return 0; - - if (!(cl = malloc(10 * sizeof(*ci) + sizeof(*cl)))) { - perror("Can't allocate memory"); - exit(1); - } - cl->dev_id = dev_id; - cl->conn_num = 10; - ci = cl->conn_info; - - if (ioctl(s, HCIGETCONNLIST, (void *) cl)) { - perror("Can't get connection list"); - exit(1); - } - - for (i = 0; i < cl->conn_num; i++, ci++) { - char addr[18]; - char *str; - ba2str(&ci->bdaddr, addr); - str = hci_lmtostr(ci->link_mode); - printf("\t%s %s %s handle %d state %d lm %s\n", - ci->out ? "<" : ">", type2str(ci->type), - addr, ci->handle, ci->state, str); - bt_free(str); - } - - free(cl); - return 0; -} - -static int find_conn(int s, int dev_id, long arg) -{ - struct hci_conn_list_req *cl; - struct hci_conn_info *ci; - int i; - - if (!(cl = malloc(10 * sizeof(*ci) + sizeof(*cl)))) { - perror("Can't allocate memory"); - exit(1); - } - cl->dev_id = dev_id; - cl->conn_num = 10; - ci = cl->conn_info; - - if (ioctl(s, HCIGETCONNLIST, (void *) cl)) { - perror("Can't get connection list"); - exit(1); - } - - for (i = 0; i < cl->conn_num; i++, ci++) - if (!bacmp((bdaddr_t *) arg, &ci->bdaddr)) { - free(cl); - return 1; - } - - free(cl); - return 0; -} - -static void hex_dump(char *pref, int width, unsigned char *buf, int len) -{ - register int i,n; - - for (i = 0, n = 1; i < len; i++, n++) { - if (n == 1) - printf("%s", pref); - printf("%2.2X ", buf[i]); - if (n == width) { - printf("\n"); - n = 0; - } - } - if (i && n!=1) - printf("\n"); -} - -static char *get_minor_device_name(int major, int minor) -{ - switch (major) { - case 0: /* misc */ - return ""; - case 1: /* computer */ - switch (minor) { - case 0: - return "Uncategorized"; - case 1: - return "Desktop workstation"; - case 2: - return "Server"; - case 3: - return "Laptop"; - case 4: - return "Handheld"; - case 5: - return "Palm"; - case 6: - return "Wearable"; - } - break; - case 2: /* phone */ - switch (minor) { - case 0: - return "Uncategorized"; - case 1: - return "Cellular"; - case 2: - return "Cordless"; - case 3: - return "Smart phone"; - case 4: - return "Wired modem or voice gateway"; - case 5: - return "Common ISDN Access"; - case 6: - return "Sim Card Reader"; - } - break; - case 3: /* lan access */ - if (minor == 0) - return "Uncategorized"; - switch (minor / 8) { - case 0: - return "Fully available"; - case 1: - return "1-17% utilized"; - case 2: - return "17-33% utilized"; - case 3: - return "33-50% utilized"; - case 4: - return "50-67% utilized"; - case 5: - return "67-83% utilized"; - case 6: - return "83-99% utilized"; - case 7: - return "No service available"; - } - break; - case 4: /* audio/video */ - switch (minor) { - case 0: - return "Uncategorized"; - case 1: - return "Device conforms to the Headset profile"; - case 2: - return "Hands-free"; - /* 3 is reserved */ - case 4: - return "Microphone"; - case 5: - return "Loudspeaker"; - case 6: - return "Headphones"; - case 7: - return "Portable Audio"; - case 8: - return "Car Audio"; - case 9: - return "Set-top box"; - case 10: - return "HiFi Audio Device"; - case 11: - return "VCR"; - case 12: - return "Video Camera"; - case 13: - return "Camcorder"; - case 14: - return "Video Monitor"; - case 15: - return "Video Display and Loudspeaker"; - case 16: - return "Video Conferencing"; - /* 17 is reserved */ - case 18: - return "Gaming/Toy"; - } - break; - case 5: /* peripheral */ { - static char cls_str[48]; cls_str[0] = 0; - - switch (minor & 48) { - case 16: - strncpy(cls_str, "Keyboard", sizeof(cls_str)); - break; - case 32: - strncpy(cls_str, "Pointing device", sizeof(cls_str)); - break; - case 48: - strncpy(cls_str, "Combo keyboard/pointing device", sizeof(cls_str)); - break; - } - if ((minor & 15) && (strlen(cls_str) > 0)) - strcat(cls_str, "/"); - - switch (minor & 15) { - case 0: - break; - case 1: - strncat(cls_str, "Joystick", sizeof(cls_str) - strlen(cls_str)); - break; - case 2: - strncat(cls_str, "Gamepad", sizeof(cls_str) - strlen(cls_str)); - break; - case 3: - strncat(cls_str, "Remote control", sizeof(cls_str) - strlen(cls_str)); - break; - case 4: - strncat(cls_str, "Sensing device", sizeof(cls_str) - strlen(cls_str)); - break; - case 5: - strncat(cls_str, "Digitizer tablet", sizeof(cls_str) - strlen(cls_str)); - break; - case 6: - strncat(cls_str, "Card reader", sizeof(cls_str) - strlen(cls_str)); - break; - default: - strncat(cls_str, "(reserved)", sizeof(cls_str) - strlen(cls_str)); - break; - } - if (strlen(cls_str) > 0) - return cls_str; - } - case 6: /* imaging */ - if (minor & 4) - return "Display"; - if (minor & 8) - return "Camera"; - if (minor & 16) - return "Scanner"; - if (minor & 32) - return "Printer"; - break; - case 7: /* wearable */ - switch (minor) { - case 1: - return "Wrist Watch"; - case 2: - return "Pager"; - case 3: - return "Jacket"; - case 4: - return "Helmet"; - case 5: - return "Glasses"; - } - break; - case 8: /* toy */ - switch (minor) { - case 1: - return "Robot"; - case 2: - return "Vehicle"; - case 3: - return "Doll / Action Figure"; - case 4: - return "Controller"; - case 5: - return "Game"; - } - break; - case 63: /* uncategorised */ - return ""; - } - return "Unknown (reserved) minor device class"; -} - -static char *major_classes[] = { - "Miscellaneous", "Computer", "Phone", "LAN Access", - "Audio/Video", "Peripheral", "Imaging", "Uncategorized" -}; - -static char *get_device_name(const bdaddr_t *local, const bdaddr_t *peer) -{ - char filename[PATH_MAX + 1]; - char local_addr[18], peer_addr[18]; - GKeyFile *key_file; - char *str = NULL; - int len; - - ba2str(local, local_addr); - ba2str(peer, peer_addr); - - snprintf(filename, PATH_MAX, STORAGEDIR "/%s/cache/%s", local_addr, - peer_addr); - filename[PATH_MAX] = '\0'; - key_file = g_key_file_new(); - - if (g_key_file_load_from_file(key_file, filename, 0, NULL)) { - str = g_key_file_get_string(key_file, "General", "Name", NULL); - if (str) { - len = strlen(str); - if (len > HCI_MAX_NAME_LENGTH) - str[HCI_MAX_NAME_LENGTH] = '\0'; - } - } - - g_key_file_free(key_file); - - return str; -} - -/* Display local devices */ - -static struct option dev_options[] = { - { "help", 0, 0, 'h' }, - {0, 0, 0, 0 } -}; - -static const char *dev_help = - "Usage:\n" - "\tdev\n"; - -static void cmd_dev(int dev_id, int argc, char **argv) -{ - int opt; - - for_each_opt(opt, dev_options, NULL) { - switch (opt) { - default: - printf("%s", dev_help); - return; - } - } - helper_arg(0, 0, &argc, &argv, dev_help); - - printf("Devices:\n"); - - hci_for_each_dev(HCI_UP, dev_info, 0); -} - -/* Inquiry */ - -static struct option inq_options[] = { - { "help", 0, 0, 'h' }, - { "length", 1, 0, 'l' }, - { "numrsp", 1, 0, 'n' }, - { "iac", 1, 0, 'i' }, - { "flush", 0, 0, 'f' }, - { 0, 0, 0, 0 } -}; - -static const char *inq_help = - "Usage:\n" - "\tinq [--length=N] maximum inquiry duration in 1.28 s units\n" - "\t [--numrsp=N] specify maximum number of inquiry responses\n" - "\t [--iac=lap] specify the inquiry access code\n" - "\t [--flush] flush the inquiry cache\n"; - -static void cmd_inq(int dev_id, int argc, char **argv) -{ - inquiry_info *info = NULL; - uint8_t lap[3] = { 0x33, 0x8b, 0x9e }; - int num_rsp, length, flags; - char addr[18]; - int i, l, opt; - - length = 8; /* ~10 seconds */ - num_rsp = 0; - flags = 0; - - for_each_opt(opt, inq_options, NULL) { - switch (opt) { - case 'l': - length = atoi(optarg); - break; - - case 'n': - num_rsp = atoi(optarg); - break; - - case 'i': - l = strtoul(optarg, 0, 16); - if (!strcasecmp(optarg, "giac")) { - l = 0x9e8b33; - } else if (!strcasecmp(optarg, "liac")) { - l = 0x9e8b00; - } if (l < 0x9e8b00 || l > 0x9e8b3f) { - printf("Invalid access code 0x%x\n", l); - exit(1); - } - lap[0] = (l & 0xff); - lap[1] = (l >> 8) & 0xff; - lap[2] = (l >> 16) & 0xff; - break; - - case 'f': - flags |= IREQ_CACHE_FLUSH; - break; - - default: - printf("%s", inq_help); - return; - } - } - helper_arg(0, 0, &argc, &argv, inq_help); - - printf("Inquiring ...\n"); - - num_rsp = hci_inquiry(dev_id, length, num_rsp, lap, &info, flags); - if (num_rsp < 0) { - perror("Inquiry failed."); - exit(1); - } - - for (i = 0; i < num_rsp; i++) { - ba2str(&(info+i)->bdaddr, addr); - printf("\t%s\tclock offset: 0x%4.4x\tclass: 0x%2.2x%2.2x%2.2x\n", - addr, btohs((info+i)->clock_offset), - (info+i)->dev_class[2], - (info+i)->dev_class[1], - (info+i)->dev_class[0]); - } - - bt_free(info); -} - -/* Device scanning */ - -static struct option scan_options[] = { - { "help", 0, 0, 'h' }, - { "length", 1, 0, 'l' }, - { "numrsp", 1, 0, 'n' }, - { "iac", 1, 0, 'i' }, - { "flush", 0, 0, 'f' }, - { "refresh", 0, 0, 'r' }, - { "class", 0, 0, 'C' }, - { "info", 0, 0, 'I' }, - { "oui", 0, 0, 'O' }, - { "all", 0, 0, 'A' }, - { "ext", 0, 0, 'A' }, - { 0, 0, 0, 0 } -}; - -static const char *scan_help = - "Usage:\n" - "\tscan [--length=N] [--numrsp=N] [--iac=lap] [--flush] [--class] [--info] [--oui] [--refresh]\n"; - -static void cmd_scan(int dev_id, int argc, char **argv) -{ - inquiry_info *info = NULL; - uint8_t lap[3] = { 0x33, 0x8b, 0x9e }; - int num_rsp, length, flags; - uint8_t cls[3], features[8]; - char addr[18], name[249], *comp, *tmp; - struct hci_version version; - struct hci_dev_info di; - struct hci_conn_info_req *cr; - int refresh = 0, extcls = 0, extinf = 0, extoui = 0; - int i, n, l, opt, dd, cc, nc; - - length = 8; /* ~10 seconds */ - num_rsp = 0; - flags = 0; - - for_each_opt(opt, scan_options, NULL) { - switch (opt) { - case 'l': - length = atoi(optarg); - break; - - case 'n': - num_rsp = atoi(optarg); - break; - - case 'i': - l = strtoul(optarg, 0, 16); - if (!strcasecmp(optarg, "giac")) { - l = 0x9e8b33; - } else if (!strcasecmp(optarg, "liac")) { - l = 0x9e8b00; - } else if (l < 0x9e8b00 || l > 0x9e8b3f) { - printf("Invalid access code 0x%x\n", l); - exit(1); - } - lap[0] = (l & 0xff); - lap[1] = (l >> 8) & 0xff; - lap[2] = (l >> 16) & 0xff; - break; - - case 'f': - flags |= IREQ_CACHE_FLUSH; - break; - - case 'r': - refresh = 1; - break; - - case 'C': - extcls = 1; - break; - - case 'I': - extinf = 1; - break; - - case 'O': - extoui = 1; - break; - - case 'A': - extcls = 1; - extinf = 1; - extoui = 1; - break; - - default: - printf("%s", scan_help); - return; - } - } - helper_arg(0, 0, &argc, &argv, scan_help); - - if (dev_id < 0) { - dev_id = hci_get_route(NULL); - if (dev_id < 0) { - perror("Device is not available"); - exit(1); - } - } - - if (hci_devinfo(dev_id, &di) < 0) { - perror("Can't get device info"); - exit(1); - } - - printf("Scanning ...\n"); - num_rsp = hci_inquiry(dev_id, length, num_rsp, lap, &info, flags); - if (num_rsp < 0) { - perror("Inquiry failed"); - exit(1); - } - - dd = hci_open_dev(dev_id); - if (dd < 0) { - perror("HCI device open failed"); - free(info); - exit(1); - } - - if (extcls || extinf || extoui) - printf("\n"); - - for (i = 0; i < num_rsp; i++) { - uint16_t handle = 0; - - if (!refresh) { - memset(name, 0, sizeof(name)); - tmp = get_device_name(&di.bdaddr, &(info+i)->bdaddr); - if (tmp) { - strncpy(name, tmp, 249); - free(tmp); - nc = 1; - } else - nc = 0; - } else - nc = 0; - - if (!extcls && !extinf && !extoui) { - ba2str(&(info+i)->bdaddr, addr); - - if (nc) { - printf("\t%s\t%s\n", addr, name); - continue; - } - - if (hci_read_remote_name_with_clock_offset(dd, - &(info+i)->bdaddr, - (info+i)->pscan_rep_mode, - (info+i)->clock_offset | 0x8000, - sizeof(name), name, 100000) < 0) - strcpy(name, "n/a"); - - for (n = 0; n < 248 && name[n]; n++) { - if ((unsigned char) name[i] < 32 || name[i] == 127) - name[i] = '.'; - } - - name[248] = '\0'; - - printf("\t%s\t%s\n", addr, name); - continue; - } - - ba2str(&(info+i)->bdaddr, addr); - printf("BD Address:\t%s [mode %d, clkoffset 0x%4.4x]\n", addr, - (info+i)->pscan_rep_mode, btohs((info+i)->clock_offset)); - - if (extoui) { - comp = batocomp(&(info+i)->bdaddr); - if (comp) { - char oui[9]; - ba2oui(&(info+i)->bdaddr, oui); - printf("OUI company:\t%s (%s)\n", comp, oui); - free(comp); - } - } - - cc = 0; - - if (extinf) { - cr = malloc(sizeof(*cr) + sizeof(struct hci_conn_info)); - if (cr) { - bacpy(&cr->bdaddr, &(info+i)->bdaddr); - cr->type = ACL_LINK; - if (ioctl(dd, HCIGETCONNINFO, (unsigned long) cr) < 0) { - handle = 0; - cc = 1; - } else { - handle = htobs(cr->conn_info->handle); - cc = 0; - } - free(cr); - } - - if (cc) { - if (hci_create_connection(dd, &(info+i)->bdaddr, - htobs(di.pkt_type & ACL_PTYPE_MASK), - (info+i)->clock_offset | 0x8000, - 0x01, &handle, 25000) < 0) { - handle = 0; - cc = 0; - } - } - } - - if (handle > 0 || !nc) { - if (hci_read_remote_name_with_clock_offset(dd, - &(info+i)->bdaddr, - (info+i)->pscan_rep_mode, - (info+i)->clock_offset | 0x8000, - sizeof(name), name, 100000) < 0) { - if (!nc) - strcpy(name, "n/a"); - } else { - for (n = 0; n < 248 && name[n]; n++) { - if ((unsigned char) name[i] < 32 || name[i] == 127) - name[i] = '.'; - } - - name[248] = '\0'; - nc = 0; - } - } - - if (strlen(name) > 0) - printf("Device name:\t%s%s\n", name, nc ? " [cached]" : ""); - - if (extcls) { - memcpy(cls, (info+i)->dev_class, 3); - printf("Device class:\t"); - if ((cls[1] & 0x1f) > sizeof(major_classes) / sizeof(char *)) - printf("Invalid"); - else - printf("%s, %s", major_classes[cls[1] & 0x1f], - get_minor_device_name(cls[1] & 0x1f, cls[0] >> 2)); - printf(" (0x%2.2x%2.2x%2.2x)\n", cls[2], cls[1], cls[0]); - } - - if (extinf && handle > 0) { - if (hci_read_remote_version(dd, handle, &version, 20000) == 0) { - char *ver = lmp_vertostr(version.lmp_ver); - printf("Manufacturer:\t%s (%d)\n", - bt_compidtostr(version.manufacturer), - version.manufacturer); - printf("LMP version:\t%s (0x%x) [subver 0x%x]\n", - ver ? ver : "n/a", - version.lmp_ver, version.lmp_subver); - if (ver) - bt_free(ver); - } - - if (hci_read_remote_features(dd, handle, features, 20000) == 0) { - char *tmp = lmp_featurestostr(features, "\t\t", 63); - printf("LMP features:\t0x%2.2x 0x%2.2x 0x%2.2x 0x%2.2x" - " 0x%2.2x 0x%2.2x 0x%2.2x 0x%2.2x\n", - features[0], features[1], - features[2], features[3], - features[4], features[5], - features[6], features[7]); - printf("%s\n", tmp); - bt_free(tmp); - } - - if (cc) { - usleep(10000); - hci_disconnect(dd, handle, HCI_OE_USER_ENDED_CONNECTION, 10000); - } - } - - printf("\n"); - } - - bt_free(info); - - hci_close_dev(dd); -} - -/* Remote name */ - -static struct option name_options[] = { - { "help", 0, 0, 'h' }, - { 0, 0, 0, 0 } -}; - -static const char *name_help = - "Usage:\n" - "\tname \n"; - -static void cmd_name(int dev_id, int argc, char **argv) -{ - bdaddr_t bdaddr; - char name[248]; - int opt, dd; - - for_each_opt(opt, name_options, NULL) { - switch (opt) { - default: - printf("%s", name_help); - return; - } - } - helper_arg(1, 1, &argc, &argv, name_help); - - str2ba(argv[0], &bdaddr); - - if (dev_id < 0) { - dev_id = hci_get_route(&bdaddr); - if (dev_id < 0) { - fprintf(stderr, "Device is not available.\n"); - exit(1); - } - } - - dd = hci_open_dev(dev_id); - if (dd < 0) { - perror("HCI device open failed"); - exit(1); - } - - if (hci_read_remote_name(dd, &bdaddr, sizeof(name), name, 25000) == 0) - printf("%s\n", name); - - hci_close_dev(dd); -} - -/* Info about remote device */ - -static struct option info_options[] = { - { "help", 0, 0, 'h' }, - { 0, 0, 0, 0 } -}; - -static const char *info_help = - "Usage:\n" - "\tinfo \n"; - -static void cmd_info(int dev_id, int argc, char **argv) -{ - bdaddr_t bdaddr; - uint16_t handle; - uint8_t features[8], max_page = 0; - char name[249], *comp, *tmp; - struct hci_version version; - struct hci_dev_info di; - struct hci_conn_info_req *cr; - int i, opt, dd, cc = 0; - - for_each_opt(opt, info_options, NULL) { - switch (opt) { - default: - printf("%s", info_help); - return; - } - } - helper_arg(1, 1, &argc, &argv, info_help); - - str2ba(argv[0], &bdaddr); - - if (dev_id < 0) - dev_id = hci_for_each_dev(HCI_UP, find_conn, (long) &bdaddr); - - if (dev_id < 0) - dev_id = hci_get_route(&bdaddr); - - if (dev_id < 0) { - fprintf(stderr, "Device is not available or not connected.\n"); - exit(1); - } - - if (hci_devinfo(dev_id, &di) < 0) { - perror("Can't get device info"); - exit(1); - } - - printf("Requesting information ...\n"); - - dd = hci_open_dev(dev_id); - if (dd < 0) { - perror("HCI device open failed"); - exit(1); - } - - cr = malloc(sizeof(*cr) + sizeof(struct hci_conn_info)); - if (!cr) { - perror("Can't get connection info"); - close(dd); - exit(1); - } - - bacpy(&cr->bdaddr, &bdaddr); - cr->type = ACL_LINK; - if (ioctl(dd, HCIGETCONNINFO, (unsigned long) cr) < 0) { - if (hci_create_connection(dd, &bdaddr, - htobs(di.pkt_type & ACL_PTYPE_MASK), - 0, 0x01, &handle, 25000) < 0) { - perror("Can't create connection"); - close(dd); - exit(1); - } - sleep(1); - cc = 1; - } else - handle = htobs(cr->conn_info->handle); - - printf("\tBD Address: %s\n", argv[0]); - - comp = batocomp(&bdaddr); - if (comp) { - char oui[9]; - ba2oui(&bdaddr, oui); - printf("\tOUI Company: %s (%s)\n", comp, oui); - free(comp); - } - - if (hci_read_remote_name(dd, &bdaddr, sizeof(name), name, 25000) == 0) - printf("\tDevice Name: %s\n", name); - - if (hci_read_remote_version(dd, handle, &version, 20000) == 0) { - char *ver = lmp_vertostr(version.lmp_ver); - printf("\tLMP Version: %s (0x%x) LMP Subversion: 0x%x\n" - "\tManufacturer: %s (%d)\n", - ver ? ver : "n/a", - version.lmp_ver, - version.lmp_subver, - bt_compidtostr(version.manufacturer), - version.manufacturer); - if (ver) - bt_free(ver); - } - - memset(features, 0, sizeof(features)); - hci_read_remote_features(dd, handle, features, 20000); - - if ((di.features[7] & LMP_EXT_FEAT) && (features[7] & LMP_EXT_FEAT)) - hci_read_remote_ext_features(dd, handle, 0, &max_page, - features, 20000); - - printf("\tFeatures%s: 0x%2.2x 0x%2.2x 0x%2.2x 0x%2.2x " - "0x%2.2x 0x%2.2x 0x%2.2x 0x%2.2x\n", - (max_page > 0) ? " page 0" : "", - features[0], features[1], features[2], features[3], - features[4], features[5], features[6], features[7]); - - tmp = lmp_featurestostr(features, "\t\t", 63); - printf("%s\n", tmp); - bt_free(tmp); - - for (i = 1; i <= max_page; i++) { - if (hci_read_remote_ext_features(dd, handle, i, NULL, - features, 20000) < 0) - continue; - - printf("\tFeatures page %d: 0x%2.2x 0x%2.2x 0x%2.2x 0x%2.2x " - "0x%2.2x 0x%2.2x 0x%2.2x 0x%2.2x\n", i, - features[0], features[1], features[2], features[3], - features[4], features[5], features[6], features[7]); - } - - if (cc) { - usleep(10000); - hci_disconnect(dd, handle, HCI_OE_USER_ENDED_CONNECTION, 10000); - } - - hci_close_dev(dd); -} - -/* Start periodic inquiry */ - -static struct option spinq_options[] = { - { "help", 0, 0, 'h' }, - { 0, 0, 0, 0 } -}; - -static const char *spinq_help = - "Usage:\n" - "\tspinq\n"; - -static void cmd_spinq(int dev_id, int argc, char **argv) -{ - uint8_t lap[3] = { 0x33, 0x8b, 0x9e }; - struct hci_request rq; - periodic_inquiry_cp cp; - int opt, dd; - - for_each_opt(opt, spinq_options, NULL) { - switch (opt) { - default: - printf("%s", spinq_help); - return; - } - } - helper_arg(0, 0, &argc, &argv, spinq_help); - - if (dev_id < 0) - dev_id = hci_get_route(NULL); - - dd = hci_open_dev(dev_id); - if (dd < 0) { - perror("Device open failed"); - exit(EXIT_FAILURE); - } - - memset(&cp, 0, sizeof(cp)); - memcpy(cp.lap, lap, 3); - cp.max_period = htobs(16); - cp.min_period = htobs(10); - cp.length = 8; - cp.num_rsp = 0; - - memset(&rq, 0, sizeof(rq)); - rq.ogf = OGF_LINK_CTL; - rq.ocf = OCF_PERIODIC_INQUIRY; - rq.cparam = &cp; - rq.clen = PERIODIC_INQUIRY_CP_SIZE; - - if (hci_send_req(dd, &rq, 100) < 0) { - perror("Periodic inquiry failed"); - exit(EXIT_FAILURE); - } - - hci_close_dev(dd); -} - -/* Exit periodic inquiry */ - -static struct option epinq_options[] = { - { "help", 0, 0, 'h' }, - { 0, 0, 0, 0 } -}; - -static const char *epinq_help = - "Usage:\n" - "\tepinq\n"; - -static void cmd_epinq(int dev_id, int argc, char **argv) -{ - int opt, dd; - - for_each_opt(opt, epinq_options, NULL) { - switch (opt) { - default: - printf("%s", epinq_help); - return; - } - } - helper_arg(0, 0, &argc, &argv, epinq_help); - - if (dev_id < 0) - dev_id = hci_get_route(NULL); - - dd = hci_open_dev(dev_id); - if (dd < 0) { - perror("Device open failed"); - exit(EXIT_FAILURE); - } - - if (hci_send_cmd(dd, OGF_LINK_CTL, - OCF_EXIT_PERIODIC_INQUIRY, 0, NULL) < 0) { - perror("Exit periodic inquiry failed"); - exit(EXIT_FAILURE); - } - - hci_close_dev(dd); -} - -/* Send arbitrary HCI commands */ - -static struct option cmd_options[] = { - { "help", 0, 0, 'h' }, - { 0, 0, 0, 0 } -}; - -static const char *cmd_help = - "Usage:\n" - "\tcmd [parameters]\n" - "Example:\n" - "\tcmd 0x03 0x0013 0x41 0x42 0x43 0x44\n"; - -static void cmd_cmd(int dev_id, int argc, char **argv) -{ - unsigned char buf[HCI_MAX_EVENT_SIZE], *ptr = buf; - struct hci_filter flt; - hci_event_hdr *hdr; - int i, opt, len, dd; - uint16_t ocf; - uint8_t ogf; - - for_each_opt(opt, cmd_options, NULL) { - switch (opt) { - default: - printf("%s", cmd_help); - return; - } - } - helper_arg(2, -1, &argc, &argv, cmd_help); - - if (dev_id < 0) - dev_id = hci_get_route(NULL); - - errno = 0; - ogf = strtol(argv[0], NULL, 16); - ocf = strtol(argv[1], NULL, 16); - if (errno == ERANGE || (ogf > 0x3f) || (ocf > 0x3ff)) { - printf("%s", cmd_help); - return; - } - - for (i = 2, len = 0; i < argc && len < (int) sizeof(buf); i++, len++) - *ptr++ = (uint8_t) strtol(argv[i], NULL, 16); - - dd = hci_open_dev(dev_id); - if (dd < 0) { - perror("Device open failed"); - exit(EXIT_FAILURE); - } - - /* Setup filter */ - hci_filter_clear(&flt); - hci_filter_set_ptype(HCI_EVENT_PKT, &flt); - hci_filter_all_events(&flt); - if (setsockopt(dd, SOL_HCI, HCI_FILTER, &flt, sizeof(flt)) < 0) { - perror("HCI filter setup failed"); - exit(EXIT_FAILURE); - } - - printf("< HCI Command: ogf 0x%02x, ocf 0x%04x, plen %d\n", ogf, ocf, len); - hex_dump(" ", 20, buf, len); fflush(stdout); - - if (hci_send_cmd(dd, ogf, ocf, len, buf) < 0) { - perror("Send failed"); - exit(EXIT_FAILURE); - } - - len = read(dd, buf, sizeof(buf)); - if (len < 0) { - perror("Read failed"); - exit(EXIT_FAILURE); - } - - hdr = (void *)(buf + 1); - ptr = buf + (1 + HCI_EVENT_HDR_SIZE); - len -= (1 + HCI_EVENT_HDR_SIZE); - - printf("> HCI Event: 0x%02x plen %d\n", hdr->evt, hdr->plen); - hex_dump(" ", 20, ptr, len); fflush(stdout); - - hci_close_dev(dd); -} - -/* Display active connections */ - -static struct option con_options[] = { - { "help", 0, 0, 'h' }, - { 0, 0, 0, 0 } -}; - -static const char *con_help = - "Usage:\n" - "\tcon\n"; - -static void cmd_con(int dev_id, int argc, char **argv) -{ - int opt; - - for_each_opt(opt, con_options, NULL) { - switch (opt) { - default: - printf("%s", con_help); - return; - } - } - helper_arg(0, 0, &argc, &argv, con_help); - - printf("Connections:\n"); - - hci_for_each_dev(HCI_UP, conn_list, dev_id); -} - -/* Create connection */ - -static struct option cc_options[] = { - { "help", 0, 0, 'h' }, - { "role", 1, 0, 'r' }, - { "ptype", 1, 0, 'p' }, - { 0, 0, 0, 0 } -}; - -static const char *cc_help = - "Usage:\n" - "\tcc [--role=m|s] [--ptype=pkt_types] \n" - "Example:\n" - "\tcc --ptype=dm1,dh3,dh5 01:02:03:04:05:06\n" - "\tcc --role=m 01:02:03:04:05:06\n"; - -static void cmd_cc(int dev_id, int argc, char **argv) -{ - bdaddr_t bdaddr; - uint16_t handle; - uint8_t role; - unsigned int ptype; - int dd, opt; - - role = 0x01; - ptype = HCI_DM1 | HCI_DM3 | HCI_DM5 | HCI_DH1 | HCI_DH3 | HCI_DH5; - - for_each_opt(opt, cc_options, NULL) { - switch (opt) { - case 'p': - hci_strtoptype(optarg, &ptype); - break; - - case 'r': - role = optarg[0] == 'm' ? 0 : 1; - break; - - default: - printf("%s", cc_help); - return; - } - } - helper_arg(1, 1, &argc, &argv, cc_help); - - str2ba(argv[0], &bdaddr); - - if (dev_id < 0) { - dev_id = hci_get_route(&bdaddr); - if (dev_id < 0) { - fprintf(stderr, "Device is not available.\n"); - exit(1); - } - } - - dd = hci_open_dev(dev_id); - if (dd < 0) { - perror("HCI device open failed"); - exit(1); - } - - if (hci_create_connection(dd, &bdaddr, htobs(ptype), - htobs(0x0000), role, &handle, 25000) < 0) - perror("Can't create connection"); - - hci_close_dev(dd); -} - -/* Close connection */ - -static struct option dc_options[] = { - { "help", 0, 0, 'h' }, - { 0, 0, 0, 0 } -}; - -static const char *dc_help = - "Usage:\n" - "\tdc [reason]\n"; - -static void cmd_dc(int dev_id, int argc, char **argv) -{ - struct hci_conn_info_req *cr; - bdaddr_t bdaddr; - uint8_t reason; - int opt, dd; - - for_each_opt(opt, dc_options, NULL) { - switch (opt) { - default: - printf("%s", dc_help); - return; - } - } - helper_arg(1, 2, &argc, &argv, dc_help); - - str2ba(argv[0], &bdaddr); - reason = (argc > 1) ? atoi(argv[1]) : HCI_OE_USER_ENDED_CONNECTION; - - if (dev_id < 0) { - dev_id = hci_for_each_dev(HCI_UP, find_conn, (long) &bdaddr); - if (dev_id < 0) { - fprintf(stderr, "Not connected.\n"); - exit(1); - } - } - - dd = hci_open_dev(dev_id); - if (dd < 0) { - perror("HCI device open failed"); - exit(1); - } - - cr = malloc(sizeof(*cr) + sizeof(struct hci_conn_info)); - if (!cr) { - perror("Can't allocate memory"); - exit(1); - } - - bacpy(&cr->bdaddr, &bdaddr); - cr->type = ACL_LINK; - if (ioctl(dd, HCIGETCONNINFO, (unsigned long) cr) < 0) { - perror("Get connection info failed"); - exit(1); - } - - if (hci_disconnect(dd, htobs(cr->conn_info->handle), - reason, 10000) < 0) - perror("Disconnect failed"); - - free(cr); - - hci_close_dev(dd); -} - -/* Role switch */ - -static struct option sr_options[] = { - { "help", 0, 0, 'h' }, - { 0, 0, 0, 0 } -}; - -static const char *sr_help = - "Usage:\n" - "\tsr \n"; - -static void cmd_sr(int dev_id, int argc, char **argv) -{ - bdaddr_t bdaddr; - uint8_t role; - int opt, dd; - - for_each_opt(opt, sr_options, NULL) { - switch (opt) { - default: - printf("%s", sr_help); - return; - } - } - helper_arg(2, 2, &argc, &argv, sr_help); - - str2ba(argv[0], &bdaddr); - switch (argv[1][0]) { - case 'm': - role = 0; - break; - case 's': - role = 1; - break; - default: - role = atoi(argv[1]); - break; - } - - if (dev_id < 0) { - dev_id = hci_for_each_dev(HCI_UP, find_conn, (long) &bdaddr); - if (dev_id < 0) { - fprintf(stderr, "Not connected.\n"); - exit(1); - } - } - - dd = hci_open_dev(dev_id); - if (dd < 0) { - perror("HCI device open failed"); - exit(1); - } - - if (hci_switch_role(dd, &bdaddr, role, 10000) < 0) { - perror("Switch role request failed"); - exit(1); - } - - hci_close_dev(dd); -} - -/* Read RSSI */ - -static struct option rssi_options[] = { - { "help", 0, 0, 'h' }, - { 0, 0, 0, 0 } -}; - -static const char *rssi_help = - "Usage:\n" - "\trssi \n"; - -static void cmd_rssi(int dev_id, int argc, char **argv) -{ - struct hci_conn_info_req *cr; - bdaddr_t bdaddr; - int8_t rssi; - int opt, dd; - - for_each_opt(opt, rssi_options, NULL) { - switch (opt) { - default: - printf("%s", rssi_help); - return; - } - } - helper_arg(1, 1, &argc, &argv, rssi_help); - - str2ba(argv[0], &bdaddr); - - if (dev_id < 0) { - dev_id = hci_for_each_dev(HCI_UP, find_conn, (long) &bdaddr); - if (dev_id < 0) { - fprintf(stderr, "Not connected.\n"); - exit(1); - } - } - - dd = hci_open_dev(dev_id); - if (dd < 0) { - perror("HCI device open failed"); - exit(1); - } - - cr = malloc(sizeof(*cr) + sizeof(struct hci_conn_info)); - if (!cr) { - perror("Can't allocate memory"); - exit(1); - } - - bacpy(&cr->bdaddr, &bdaddr); - cr->type = ACL_LINK; - if (ioctl(dd, HCIGETCONNINFO, (unsigned long) cr) < 0) { - perror("Get connection info failed"); - exit(1); - } - - if (hci_read_rssi(dd, htobs(cr->conn_info->handle), &rssi, 1000) < 0) { - perror("Read RSSI failed"); - exit(1); - } - - printf("RSSI return value: %d\n", rssi); - - free(cr); - - hci_close_dev(dd); -} - -/* Get link quality */ - -static struct option lq_options[] = { - { "help", 0, 0, 'h' }, - { 0, 0, 0, 0 } -}; - -static const char *lq_help = - "Usage:\n" - "\tlq \n"; - -static void cmd_lq(int dev_id, int argc, char **argv) -{ - struct hci_conn_info_req *cr; - bdaddr_t bdaddr; - uint8_t lq; - int opt, dd; - - for_each_opt(opt, lq_options, NULL) { - switch (opt) { - default: - printf("%s", lq_help); - return; - } - } - helper_arg(1, 1, &argc, &argv, lq_help); - - str2ba(argv[0], &bdaddr); - - if (dev_id < 0) { - dev_id = hci_for_each_dev(HCI_UP, find_conn, (long) &bdaddr); - if (dev_id < 0) { - fprintf(stderr, "Not connected.\n"); - exit(1); - } - } - - dd = hci_open_dev(dev_id); - if (dd < 0) { - perror("HCI device open failed"); - exit(1); - } - - cr = malloc(sizeof(*cr) + sizeof(struct hci_conn_info)); - if (!cr) { - perror("Can't allocate memory"); - exit(1); - } - - bacpy(&cr->bdaddr, &bdaddr); - cr->type = ACL_LINK; - if (ioctl(dd, HCIGETCONNINFO, (unsigned long) cr) < 0) { - perror("Get connection info failed"); - exit(1); - } - - if (hci_read_link_quality(dd, htobs(cr->conn_info->handle), &lq, 1000) < 0) { - perror("HCI read_link_quality request failed"); - exit(1); - } - - printf("Link quality: %d\n", lq); - - free(cr); - - hci_close_dev(dd); -} - -/* Get transmit power level */ - -static struct option tpl_options[] = { - { "help", 0, 0, 'h' }, - { 0, 0, 0, 0 } -}; - -static const char *tpl_help = - "Usage:\n" - "\ttpl [type]\n"; - -static void cmd_tpl(int dev_id, int argc, char **argv) -{ - struct hci_conn_info_req *cr; - bdaddr_t bdaddr; - uint8_t type; - int8_t level; - int opt, dd; - - for_each_opt(opt, tpl_options, NULL) { - switch (opt) { - default: - printf("%s", tpl_help); - return; - } - } - helper_arg(1, 2, &argc, &argv, tpl_help); - - str2ba(argv[0], &bdaddr); - type = (argc > 1) ? atoi(argv[1]) : 0; - - if (dev_id < 0) { - dev_id = hci_for_each_dev(HCI_UP, find_conn, (long) &bdaddr); - if (dev_id < 0) { - fprintf(stderr, "Not connected.\n"); - exit(1); - } - } - - dd = hci_open_dev(dev_id); - if (dd < 0) { - perror("HCI device open failed"); - exit(1); - } - - cr = malloc(sizeof(*cr) + sizeof(struct hci_conn_info)); - if (!cr) { - perror("Can't allocate memory"); - exit(1); - } - - bacpy(&cr->bdaddr, &bdaddr); - cr->type = ACL_LINK; - if (ioctl(dd, HCIGETCONNINFO, (unsigned long) cr) < 0) { - perror("Get connection info failed"); - exit(1); - } - - if (hci_read_transmit_power_level(dd, htobs(cr->conn_info->handle), type, &level, 1000) < 0) { - perror("HCI read transmit power level request failed"); - exit(1); - } - - printf("%s transmit power level: %d\n", - (type == 0) ? "Current" : "Maximum", level); - - free(cr); - - hci_close_dev(dd); -} - -/* Get AFH channel map */ - -static struct option afh_options[] = { - { "help", 0, 0, 'h' }, - { 0, 0, 0, 0 } -}; - -static const char *afh_help = - "Usage:\n" - "\tafh \n"; - -static void cmd_afh(int dev_id, int argc, char **argv) -{ - struct hci_conn_info_req *cr; - bdaddr_t bdaddr; - uint16_t handle; - uint8_t mode, map[10]; - int opt, dd; - - for_each_opt(opt, afh_options, NULL) { - switch (opt) { - default: - printf("%s", afh_help); - return; - } - } - helper_arg(1, 1, &argc, &argv, afh_help); - - str2ba(argv[0], &bdaddr); - - if (dev_id < 0) { - dev_id = hci_for_each_dev(HCI_UP, find_conn, (long) &bdaddr); - if (dev_id < 0) { - fprintf(stderr, "Not connected.\n"); - exit(1); - } - } - - dd = hci_open_dev(dev_id); - if (dd < 0) { - perror("HCI device open failed"); - exit(1); - } - - cr = malloc(sizeof(*cr) + sizeof(struct hci_conn_info)); - if (!cr) { - perror("Can't allocate memory"); - exit(1); - } - - bacpy(&cr->bdaddr, &bdaddr); - cr->type = ACL_LINK; - if (ioctl(dd, HCIGETCONNINFO, (unsigned long) cr) < 0) { - perror("Get connection info failed"); - exit(1); - } - - handle = htobs(cr->conn_info->handle); - - if (hci_read_afh_map(dd, handle, &mode, map, 1000) < 0) { - perror("HCI read AFH map request failed"); - exit(1); - } - - if (mode == 0x01) { - int i; - printf("AFH map: 0x"); - for (i = 0; i < 10; i++) - printf("%02x", map[i]); - printf("\n"); - } else - printf("AFH disabled\n"); - - free(cr); - - hci_close_dev(dd); -} - -/* Set connection packet type */ - -static struct option cpt_options[] = { - { "help", 0, 0, 'h' }, - { 0, 0, 0, 0 } -}; - -static const char *cpt_help = - "Usage:\n" - "\tcpt \n"; - -static void cmd_cpt(int dev_id, int argc, char **argv) -{ - struct hci_conn_info_req *cr; - struct hci_request rq; - set_conn_ptype_cp cp; - evt_conn_ptype_changed rp; - bdaddr_t bdaddr; - unsigned int ptype; - int dd, opt; - - for_each_opt(opt, cpt_options, NULL) { - switch (opt) { - default: - printf("%s", cpt_help); - return; - } - } - helper_arg(2, 2, &argc, &argv, cpt_help); - - str2ba(argv[0], &bdaddr); - hci_strtoptype(argv[1], &ptype); - - if (dev_id < 0) { - dev_id = hci_for_each_dev(HCI_UP, find_conn, (long) &bdaddr); - if (dev_id < 0) { - fprintf(stderr, "Not connected.\n"); - exit(1); - } - } - - dd = hci_open_dev(dev_id); - if (dd < 0) { - perror("HCI device open failed"); - exit(1); - } - - cr = malloc(sizeof(*cr) + sizeof(struct hci_conn_info)); - if (!cr) { - perror("Can't allocate memory"); - exit(1); - } - - bacpy(&cr->bdaddr, &bdaddr); - cr->type = ACL_LINK; - if (ioctl(dd, HCIGETCONNINFO, (unsigned long) cr) < 0) { - perror("Get connection info failed"); - exit(1); - } - - cp.handle = htobs(cr->conn_info->handle); - cp.pkt_type = ptype; - - memset(&rq, 0, sizeof(rq)); - rq.ogf = OGF_LINK_CTL; - rq.ocf = OCF_SET_CONN_PTYPE; - rq.cparam = &cp; - rq.clen = SET_CONN_PTYPE_CP_SIZE; - rq.rparam = &rp; - rq.rlen = EVT_CONN_PTYPE_CHANGED_SIZE; - rq.event = EVT_CONN_PTYPE_CHANGED; - - if (hci_send_req(dd, &rq, 100) < 0) { - perror("Packet type change failed"); - exit(1); - } - - free(cr); - - hci_close_dev(dd); -} - -/* Get/Set link policy settings */ - -static struct option lp_options[] = { - { "help", 0, 0, 'h' }, - { 0, 0, 0, 0 } -}; - -static const char *lp_help = - "Usage:\n" - "\tlp [link policy]\n"; - -static void cmd_lp(int dev_id, int argc, char **argv) -{ - struct hci_conn_info_req *cr; - bdaddr_t bdaddr; - uint16_t policy; - int opt, dd; - - for_each_opt(opt, lp_options, NULL) { - switch (opt) { - default: - printf("%s", lp_help); - return; - } - } - helper_arg(1, 2, &argc, &argv, lp_help); - - str2ba(argv[0], &bdaddr); - - if (dev_id < 0) { - dev_id = hci_for_each_dev(HCI_UP, find_conn, (long) &bdaddr); - if (dev_id < 0) { - fprintf(stderr, "Not connected.\n"); - exit(1); - } - } - - dd = hci_open_dev(dev_id); - if (dd < 0) { - perror("HCI device open failed"); - exit(1); - } - - cr = malloc(sizeof(*cr) + sizeof(struct hci_conn_info)); - if (!cr) { - perror("Can't allocate memory"); - exit(1); - } - - bacpy(&cr->bdaddr, &bdaddr); - cr->type = ACL_LINK; - if (ioctl(dd, HCIGETCONNINFO, (unsigned long) cr) < 0) { - perror("Get connection info failed"); - exit(1); - } - - if (argc == 1) { - char *str; - if (hci_read_link_policy(dd, htobs(cr->conn_info->handle), - &policy, 1000) < 0) { - perror("HCI read_link_policy_settings request failed"); - exit(1); - } - - policy = btohs(policy); - str = hci_lptostr(policy); - if (str) { - printf("Link policy settings: %s\n", str); - bt_free(str); - } else { - fprintf(stderr, "Invalig settings\n"); - exit(1); - } - } else { - unsigned int val; - if (hci_strtolp(argv[1], &val) < 0) { - fprintf(stderr, "Invalig arguments\n"); - exit(1); - } - policy = val; - - if (hci_write_link_policy(dd, htobs(cr->conn_info->handle), - htobs(policy), 1000) < 0) { - perror("HCI write_link_policy_settings request failed"); - exit(1); - } - } - - free(cr); - - hci_close_dev(dd); -} - -/* Get/Set link supervision timeout */ - -static struct option lst_options[] = { - { "help", 0, 0, 'h' }, - { 0, 0, 0, 0 } -}; - -static const char *lst_help = - "Usage:\n" - "\tlst [new value in slots]\n"; - -static void cmd_lst(int dev_id, int argc, char **argv) -{ - struct hci_conn_info_req *cr; - bdaddr_t bdaddr; - uint16_t timeout; - int opt, dd; - - for_each_opt(opt, lst_options, NULL) { - switch (opt) { - default: - printf("%s", lst_help); - return; - } - } - helper_arg(1, 2, &argc, &argv, lst_help); - - str2ba(argv[0], &bdaddr); - - if (dev_id < 0) { - dev_id = hci_for_each_dev(HCI_UP, find_conn, (long) &bdaddr); - if (dev_id < 0) { - fprintf(stderr, "Not connected.\n"); - exit(1); - } - } - - dd = hci_open_dev(dev_id); - if (dd < 0) { - perror("HCI device open failed"); - exit(1); - } - - cr = malloc(sizeof(*cr) + sizeof(struct hci_conn_info)); - if (!cr) { - perror("Can't allocate memory"); - exit(1); - } - - bacpy(&cr->bdaddr, &bdaddr); - cr->type = ACL_LINK; - if (ioctl(dd, HCIGETCONNINFO, (unsigned long) cr) < 0) { - perror("Get connection info failed"); - exit(1); - } - - if (argc == 1) { - if (hci_read_link_supervision_timeout(dd, htobs(cr->conn_info->handle), - &timeout, 1000) < 0) { - perror("HCI read_link_supervision_timeout request failed"); - exit(1); - } - - timeout = btohs(timeout); - - if (timeout) - printf("Link supervision timeout: %u slots (%.2f msec)\n", - timeout, (float) timeout * 0.625); - else - printf("Link supervision timeout never expires\n"); - } else { - timeout = strtol(argv[1], NULL, 10); - - if (hci_write_link_supervision_timeout(dd, htobs(cr->conn_info->handle), - htobs(timeout), 1000) < 0) { - perror("HCI write_link_supervision_timeout request failed"); - exit(1); - } - } - - free(cr); - - hci_close_dev(dd); -} - -/* Request authentication */ - -static struct option auth_options[] = { - { "help", 0, 0, 'h' }, - { 0, 0, 0, 0 } -}; - -static const char *auth_help = - "Usage:\n" - "\tauth \n"; - -static void cmd_auth(int dev_id, int argc, char **argv) -{ - struct hci_conn_info_req *cr; - bdaddr_t bdaddr; - int opt, dd; - - for_each_opt(opt, auth_options, NULL) { - switch (opt) { - default: - printf("%s", auth_help); - return; - } - } - helper_arg(1, 1, &argc, &argv, auth_help); - - str2ba(argv[0], &bdaddr); - - if (dev_id < 0) { - dev_id = hci_for_each_dev(HCI_UP, find_conn, (long) &bdaddr); - if (dev_id < 0) { - fprintf(stderr, "Not connected.\n"); - exit(1); - } - } - - dd = hci_open_dev(dev_id); - if (dd < 0) { - perror("HCI device open failed"); - exit(1); - } - - cr = malloc(sizeof(*cr) + sizeof(struct hci_conn_info)); - if (!cr) { - perror("Can't allocate memory"); - exit(1); - } - - bacpy(&cr->bdaddr, &bdaddr); - cr->type = ACL_LINK; - if (ioctl(dd, HCIGETCONNINFO, (unsigned long) cr) < 0) { - perror("Get connection info failed"); - exit(1); - } - - if (hci_authenticate_link(dd, htobs(cr->conn_info->handle), 25000) < 0) { - perror("HCI authentication request failed"); - exit(1); - } - - free(cr); - - hci_close_dev(dd); -} - -/* Activate encryption */ - -static struct option enc_options[] = { - { "help", 0, 0, 'h' }, - { 0, 0, 0, 0 } -}; - -static const char *enc_help = - "Usage:\n" - "\tenc [encrypt enable]\n"; - -static void cmd_enc(int dev_id, int argc, char **argv) -{ - struct hci_conn_info_req *cr; - bdaddr_t bdaddr; - uint8_t encrypt; - int opt, dd; - - for_each_opt(opt, enc_options, NULL) { - switch (opt) { - default: - printf("%s", enc_help); - return; - } - } - helper_arg(1, 2, &argc, &argv, enc_help); - - str2ba(argv[0], &bdaddr); - - if (dev_id < 0) { - dev_id = hci_for_each_dev(HCI_UP, find_conn, (long) &bdaddr); - if (dev_id < 0) { - fprintf(stderr, "Not connected.\n"); - exit(1); - } - } - - dd = hci_open_dev(dev_id); - if (dd < 0) { - perror("HCI device open failed"); - exit(1); - } - - cr = malloc(sizeof(*cr) + sizeof(struct hci_conn_info)); - if (!cr) { - perror("Can't allocate memory"); - exit(1); - } - - bacpy(&cr->bdaddr, &bdaddr); - cr->type = ACL_LINK; - if (ioctl(dd, HCIGETCONNINFO, (unsigned long) cr) < 0) { - perror("Get connection info failed"); - exit(1); - } - - encrypt = (argc > 1) ? atoi(argv[1]) : 1; - - if (hci_encrypt_link(dd, htobs(cr->conn_info->handle), encrypt, 25000) < 0) { - perror("HCI set encryption request failed"); - exit(1); - } - - free(cr); - - hci_close_dev(dd); -} - -/* Change connection link key */ - -static struct option key_options[] = { - { "help", 0, 0, 'h' }, - { 0, 0, 0, 0 } -}; - -static const char *key_help = - "Usage:\n" - "\tkey \n"; - -static void cmd_key(int dev_id, int argc, char **argv) -{ - struct hci_conn_info_req *cr; - bdaddr_t bdaddr; - int opt, dd; - - for_each_opt(opt, key_options, NULL) { - switch (opt) { - default: - printf("%s", key_help); - return; - } - } - helper_arg(1, 1, &argc, &argv, key_help); - - str2ba(argv[0], &bdaddr); - - if (dev_id < 0) { - dev_id = hci_for_each_dev(HCI_UP, find_conn, (long) &bdaddr); - if (dev_id < 0) { - fprintf(stderr, "Not connected.\n"); - exit(1); - } - } - - dd = hci_open_dev(dev_id); - if (dd < 0) { - perror("HCI device open failed"); - exit(1); - } - - cr = malloc(sizeof(*cr) + sizeof(struct hci_conn_info)); - if (!cr) { - perror("Can't allocate memory"); - exit(1); - } - - bacpy(&cr->bdaddr, &bdaddr); - cr->type = ACL_LINK; - if (ioctl(dd, HCIGETCONNINFO, (unsigned long) cr) < 0) { - perror("Get connection info failed"); - exit(1); - } - - if (hci_change_link_key(dd, htobs(cr->conn_info->handle), 25000) < 0) { - perror("Changing link key failed"); - exit(1); - } - - free(cr); - - hci_close_dev(dd); -} - -/* Read clock offset */ - -static struct option clkoff_options[] = { - { "help", 0, 0, 'h' }, - { 0, 0, 0, 0 } -}; - -static const char *clkoff_help = - "Usage:\n" - "\tclkoff \n"; - -static void cmd_clkoff(int dev_id, int argc, char **argv) -{ - struct hci_conn_info_req *cr; - bdaddr_t bdaddr; - uint16_t offset; - int opt, dd; - - for_each_opt(opt, clkoff_options, NULL) { - switch (opt) { - default: - printf("%s", clkoff_help); - return; - } - } - helper_arg(1, 1, &argc, &argv, clkoff_help); - - str2ba(argv[0], &bdaddr); - - if (dev_id < 0) { - dev_id = hci_for_each_dev(HCI_UP, find_conn, (long) &bdaddr); - if (dev_id < 0) { - fprintf(stderr, "Not connected.\n"); - exit(1); - } - } - - dd = hci_open_dev(dev_id); - if (dd < 0) { - perror("HCI device open failed"); - exit(1); - } - - cr = malloc(sizeof(*cr) + sizeof(struct hci_conn_info)); - if (!cr) { - perror("Can't allocate memory"); - exit(1); - } - - bacpy(&cr->bdaddr, &bdaddr); - cr->type = ACL_LINK; - if (ioctl(dd, HCIGETCONNINFO, (unsigned long) cr) < 0) { - perror("Get connection info failed"); - exit(1); - } - - if (hci_read_clock_offset(dd, htobs(cr->conn_info->handle), &offset, 1000) < 0) { - perror("Reading clock offset failed"); - exit(1); - } - - printf("Clock offset: 0x%4.4x\n", btohs(offset)); - - free(cr); - - hci_close_dev(dd); -} - -/* Read clock */ - -static struct option clock_options[] = { - { "help", 0, 0, 'h' }, - { 0, 0, 0, 0 } -}; - -static const char *clock_help = - "Usage:\n" - "\tclock [bdaddr] [which clock]\n"; - -static void cmd_clock(int dev_id, int argc, char **argv) -{ - struct hci_conn_info_req *cr; - bdaddr_t bdaddr; - uint8_t which; - uint32_t handle, clock; - uint16_t accuracy; - int opt, dd; - - for_each_opt(opt, clock_options, NULL) { - switch (opt) { - default: - printf("%s", clock_help); - return; - } - } - helper_arg(0, 2, &argc, &argv, clock_help); - - if (argc > 0) - str2ba(argv[0], &bdaddr); - else - bacpy(&bdaddr, BDADDR_ANY); - - if (dev_id < 0 && !bacmp(&bdaddr, BDADDR_ANY)) - dev_id = hci_get_route(NULL); - - if (dev_id < 0) { - dev_id = hci_for_each_dev(HCI_UP, find_conn, (long) &bdaddr); - if (dev_id < 0) { - fprintf(stderr, "Not connected.\n"); - exit(1); - } - } - - dd = hci_open_dev(dev_id); - if (dd < 0) { - perror("HCI device open failed"); - exit(1); - } - - if (bacmp(&bdaddr, BDADDR_ANY)) { - cr = malloc(sizeof(*cr) + sizeof(struct hci_conn_info)); - if (!cr) { - perror("Can't allocate memory"); - exit(1); - } - - bacpy(&cr->bdaddr, &bdaddr); - cr->type = ACL_LINK; - if (ioctl(dd, HCIGETCONNINFO, (unsigned long) cr) < 0) { - perror("Get connection info failed"); - free(cr); - exit(1); - } - - handle = htobs(cr->conn_info->handle); - which = (argc > 1) ? atoi(argv[1]) : 0x01; - - free(cr); - } else { - handle = 0x00; - which = 0x00; - } - - if (hci_read_clock(dd, handle, which, &clock, &accuracy, 1000) < 0) { - perror("Reading clock failed"); - exit(1); - } - - accuracy = btohs(accuracy); - - printf("Clock: 0x%4.4x\n", btohl(clock)); - printf("Accuracy: %.2f msec\n", (float) accuracy * 0.3125); - - hci_close_dev(dd); -} - -static int read_flags(uint8_t *flags, const uint8_t *data, size_t size) -{ - size_t offset; - - if (!flags || !data) - return -EINVAL; - - offset = 0; - while (offset < size) { - uint8_t len = data[offset]; - uint8_t type; - - /* Check if it is the end of the significant part */ - if (len == 0) - break; - - if (len + offset > size) - break; - - type = data[offset + 1]; - - if (type == FLAGS_AD_TYPE) { - *flags = data[offset + 2]; - return 0; - } - - offset += 1 + len; - } - - return -ENOENT; -} - -static int check_report_filter(uint8_t procedure, le_advertising_info *info) -{ - uint8_t flags; - - /* If no discovery procedure is set, all reports are treat as valid */ - if (procedure == 0) - return 1; - - /* Read flags AD type value from the advertising report if it exists */ - if (read_flags(&flags, info->data, info->length)) - return 0; - - switch (procedure) { - case 'l': /* Limited Discovery Procedure */ - if (flags & FLAGS_LIMITED_MODE_BIT) - return 1; - break; - case 'g': /* General Discovery Procedure */ - if (flags & (FLAGS_LIMITED_MODE_BIT | FLAGS_GENERAL_MODE_BIT)) - return 1; - break; - default: - fprintf(stderr, "Unknown discovery procedure\n"); - } - - return 0; -} - -static void sigint_handler(int sig) -{ - signal_received = sig; -} - -static void eir_parse_name(uint8_t *eir, size_t eir_len, - char *buf, size_t buf_len) -{ - size_t offset; - - offset = 0; - while (offset < eir_len) { - uint8_t field_len = eir[0]; - size_t name_len; - - /* Check for the end of EIR */ - if (field_len == 0) - break; - - if (offset + field_len > eir_len) - goto failed; - - switch (eir[1]) { - case EIR_NAME_SHORT: - case EIR_NAME_COMPLETE: - name_len = field_len - 1; - if (name_len > buf_len) - goto failed; - - memcpy(buf, &eir[2], name_len); - return; - } - - offset += field_len + 1; - eir += field_len + 1; - } - -failed: - snprintf(buf, buf_len, "(unknown)"); -} - -static int print_advertising_devices(int dd, uint8_t filter_type) -{ - unsigned char buf[HCI_MAX_EVENT_SIZE], *ptr; - struct hci_filter nf, of; - struct sigaction sa; - socklen_t olen; - int len; - - olen = sizeof(of); - if (getsockopt(dd, SOL_HCI, HCI_FILTER, &of, &olen) < 0) { - printf("Could not get socket options\n"); - return -1; - } - - hci_filter_clear(&nf); - hci_filter_set_ptype(HCI_EVENT_PKT, &nf); - hci_filter_set_event(EVT_LE_META_EVENT, &nf); - - if (setsockopt(dd, SOL_HCI, HCI_FILTER, &nf, sizeof(nf)) < 0) { - printf("Could not set socket options\n"); - return -1; - } - - memset(&sa, 0, sizeof(sa)); - sa.sa_flags = SA_NOCLDSTOP; - sa.sa_handler = sigint_handler; - sigaction(SIGINT, &sa, NULL); - - while (1) { - evt_le_meta_event *meta; - le_advertising_info *info; - char addr[18]; - - while ((len = read(dd, buf, sizeof(buf))) < 0) { - if (errno == EINTR && signal_received == SIGINT) { - len = 0; - goto done; - } - - if (errno == EAGAIN || errno == EINTR) - continue; - goto done; - } - - ptr = buf + (1 + HCI_EVENT_HDR_SIZE); - len -= (1 + HCI_EVENT_HDR_SIZE); - - meta = (void *) ptr; - - if (meta->subevent != 0x02) - goto done; - - /* Ignoring multiple reports */ - info = (le_advertising_info *) (meta->data + 1); - if (check_report_filter(filter_type, info)) { - char name[30]; - - memset(name, 0, sizeof(name)); - - ba2str(&info->bdaddr, addr); - eir_parse_name(info->data, info->length, - name, sizeof(name) - 1); - - printf("%s %s\n", addr, name); - } - } - -done: - setsockopt(dd, SOL_HCI, HCI_FILTER, &of, sizeof(of)); - - if (len < 0) - return -1; - - return 0; -} - -static struct option lescan_options[] = { - { "help", 0, 0, 'h' }, - { "privacy", 0, 0, 'p' }, - { "passive", 0, 0, 'P' }, - { "whitelist", 0, 0, 'w' }, - { "discovery", 1, 0, 'd' }, - { "duplicates", 0, 0, 'D' }, - { 0, 0, 0, 0 } -}; - -static const char *lescan_help = - "Usage:\n" - "\tlescan [--privacy] enable privacy\n" - "\tlescan [--passive] set scan type passive (default active)\n" - "\tlescan [--whitelist] scan for address in the whitelist only\n" - "\tlescan [--discovery=g|l] enable general or limited discovery" - "procedure\n" - "\tlescan [--duplicates] don't filter duplicates\n"; - -static void cmd_lescan(int dev_id, int argc, char **argv) -{ - int err, opt, dd; - uint8_t own_type = 0x00; - uint8_t scan_type = 0x01; - uint8_t filter_type = 0; - uint8_t filter_policy = 0x00; - uint16_t interval = htobs(0x0010); - uint16_t window = htobs(0x0010); - uint8_t filter_dup = 1; - - for_each_opt(opt, lescan_options, NULL) { - switch (opt) { - case 'p': - own_type = 0x01; /* Random */ - break; - case 'P': - scan_type = 0x00; /* Passive */ - break; - case 'w': - filter_policy = 0x01; /* Whitelist */ - break; - case 'd': - filter_type = optarg[0]; - if (filter_type != 'g' && filter_type != 'l') { - fprintf(stderr, "Unknown discovery procedure\n"); - exit(1); - } - - interval = htobs(0x0012); - window = htobs(0x0012); - break; - case 'D': - filter_dup = 0x00; - break; - default: - printf("%s", lescan_help); - return; - } - } - helper_arg(0, 1, &argc, &argv, lescan_help); - - if (dev_id < 0) - dev_id = hci_get_route(NULL); - - dd = hci_open_dev(dev_id); - if (dd < 0) { - perror("Could not open device"); - exit(1); - } - - err = hci_le_set_scan_parameters(dd, scan_type, interval, window, - own_type, filter_policy, 1000); - if (err < 0) { - perror("Set scan parameters failed"); - exit(1); - } - - err = hci_le_set_scan_enable(dd, 0x01, filter_dup, 1000); - if (err < 0) { - perror("Enable scan failed"); - exit(1); - } - - printf("LE Scan ...\n"); - - err = print_advertising_devices(dd, filter_type); - if (err < 0) { - perror("Could not receive advertising events"); - exit(1); - } - - err = hci_le_set_scan_enable(dd, 0x00, filter_dup, 1000); - if (err < 0) { - perror("Disable scan failed"); - exit(1); - } - - hci_close_dev(dd); -} - -static struct option lecc_options[] = { - { "help", 0, 0, 'h' }, - { "random", 0, 0, 'r' }, - { "whitelist", 0, 0, 'w' }, - { 0, 0, 0, 0 } -}; - -static const char *lecc_help = - "Usage:\n" - "\tlecc [--random] \n" - "\tlecc --whitelist\n"; - -static void cmd_lecc(int dev_id, int argc, char **argv) -{ - int err, opt, dd; - bdaddr_t bdaddr; - uint16_t interval, latency, max_ce_length, max_interval, min_ce_length; - uint16_t min_interval, supervision_timeout, window, handle; - uint8_t initiator_filter, own_bdaddr_type, peer_bdaddr_type; - - peer_bdaddr_type = LE_PUBLIC_ADDRESS; - initiator_filter = 0; /* Use peer address */ - - for_each_opt(opt, lecc_options, NULL) { - switch (opt) { - case 'r': - peer_bdaddr_type = LE_RANDOM_ADDRESS; - break; - case 'w': - initiator_filter = 0x01; /* Use white list */ - break; - default: - printf("%s", lecc_help); - return; - } - } - helper_arg(0, 1, &argc, &argv, lecc_help); - - if (dev_id < 0) - dev_id = hci_get_route(NULL); - - dd = hci_open_dev(dev_id); - if (dd < 0) { - perror("Could not open device"); - exit(1); - } - - memset(&bdaddr, 0, sizeof(bdaddr_t)); - if (argv[0]) - str2ba(argv[0], &bdaddr); - - interval = htobs(0x0004); - window = htobs(0x0004); - own_bdaddr_type = 0x00; - min_interval = htobs(0x000F); - max_interval = htobs(0x000F); - latency = htobs(0x0000); - supervision_timeout = htobs(0x0C80); - min_ce_length = htobs(0x0001); - max_ce_length = htobs(0x0001); - - err = hci_le_create_conn(dd, interval, window, initiator_filter, - peer_bdaddr_type, bdaddr, own_bdaddr_type, min_interval, - max_interval, latency, supervision_timeout, - min_ce_length, max_ce_length, &handle, 25000); - if (err < 0) { - perror("Could not create connection"); - exit(1); - } - - printf("Connection handle %d\n", handle); - - hci_close_dev(dd); -} - -static struct option lewladd_options[] = { - { "help", 0, 0, 'h' }, - { "random", 0, 0, 'r' }, - { 0, 0, 0, 0 } -}; - -static const char *lewladd_help = - "Usage:\n" - "\tlewladd [--random] \n"; - -static void cmd_lewladd(int dev_id, int argc, char **argv) -{ - int err, opt, dd; - bdaddr_t bdaddr; - uint8_t bdaddr_type = LE_PUBLIC_ADDRESS; - - for_each_opt(opt, lewladd_options, NULL) { - switch (opt) { - case 'r': - bdaddr_type = LE_RANDOM_ADDRESS; - break; - default: - printf("%s", lewladd_help); - return; - } - } - - helper_arg(1, 1, &argc, &argv, lewladd_help); - - if (dev_id < 0) - dev_id = hci_get_route(NULL); - - dd = hci_open_dev(dev_id); - if (dd < 0) { - perror("Could not open device"); - exit(1); - } - - str2ba(argv[0], &bdaddr); - - err = hci_le_add_white_list(dd, &bdaddr, bdaddr_type, 1000); - hci_close_dev(dd); - - if (err < 0) { - err = -errno; - fprintf(stderr, "Can't add to white list: %s(%d)\n", - strerror(-err), -err); - exit(1); - } -} - -static struct option lewlrm_options[] = { - { "help", 0, 0, 'h' }, - { 0, 0, 0, 0 } -}; - -static const char *lewlrm_help = - "Usage:\n" - "\tlewlrm \n"; - -static void cmd_lewlrm(int dev_id, int argc, char **argv) -{ - int err, opt, dd; - bdaddr_t bdaddr; - - for_each_opt(opt, lewlrm_options, NULL) { - switch (opt) { - default: - printf("%s", lewlrm_help); - return; - } - } - - helper_arg(1, 1, &argc, &argv, lewlrm_help); - - if (dev_id < 0) - dev_id = hci_get_route(NULL); - - dd = hci_open_dev(dev_id); - if (dd < 0) { - perror("Could not open device"); - exit(1); - } - - str2ba(argv[0], &bdaddr); - - err = hci_le_rm_white_list(dd, &bdaddr, LE_PUBLIC_ADDRESS, 1000); - hci_close_dev(dd); - - if (err < 0) { - err = errno; - fprintf(stderr, "Can't remove from white list: %s(%d)\n", - strerror(err), err); - exit(1); - } -} - -static struct option lewlsz_options[] = { - { "help", 0, 0, 'h' }, - { 0, 0, 0, 0 } -}; - -static const char *lewlsz_help = - "Usage:\n" - "\tlewlsz\n"; - -static void cmd_lewlsz(int dev_id, int argc, char **argv) -{ - int err, dd, opt; - uint8_t size; - - for_each_opt(opt, lewlsz_options, NULL) { - switch (opt) { - default: - printf("%s", lewlsz_help); - return; - } - } - - helper_arg(0, 0, &argc, &argv, lewlsz_help); - - if (dev_id < 0) - dev_id = hci_get_route(NULL); - - dd = hci_open_dev(dev_id); - if (dd < 0) { - perror("Could not open device"); - exit(1); - } - - err = hci_le_read_white_list_size(dd, &size, 1000); - hci_close_dev(dd); - - if (err < 0) { - err = -errno; - fprintf(stderr, "Can't read white list size: %s(%d)\n", - strerror(-err), -err); - exit(1); - } - - printf("White list size: %d\n", size); -} - -static struct option lewlclr_options[] = { - { "help", 0, 0, 'h' }, - { 0, 0, 0, 0 } -}; - -static const char *lewlclr_help = - "Usage:\n" - "\tlewlclr\n"; - -static void cmd_lewlclr(int dev_id, int argc, char **argv) -{ - int err, dd, opt; - - for_each_opt(opt, lewlclr_options, NULL) { - switch (opt) { - default: - printf("%s", lewlclr_help); - return; - } - } - - helper_arg(0, 0, &argc, &argv, lewlclr_help); - - if (dev_id < 0) - dev_id = hci_get_route(NULL); - - dd = hci_open_dev(dev_id); - if (dd < 0) { - perror("Could not open device"); - exit(1); - } - - err = hci_le_clear_white_list(dd, 1000); - hci_close_dev(dd); - - if (err < 0) { - err = -errno; - fprintf(stderr, "Can't clear white list: %s(%d)\n", - strerror(-err), -err); - exit(1); - } -} - -static struct option ledc_options[] = { - { "help", 0, 0, 'h' }, - { 0, 0, 0, 0 } -}; - -static const char *ledc_help = - "Usage:\n" - "\tledc [reason]\n"; - -static void cmd_ledc(int dev_id, int argc, char **argv) -{ - int err, opt, dd; - uint16_t handle; - uint8_t reason; - - for_each_opt(opt, ledc_options, NULL) { - switch (opt) { - default: - printf("%s", ledc_help); - return; - } - } - helper_arg(1, 2, &argc, &argv, ledc_help); - - if (dev_id < 0) - dev_id = hci_get_route(NULL); - - dd = hci_open_dev(dev_id); - if (dd < 0) { - perror("Could not open device"); - exit(1); - } - - handle = atoi(argv[0]); - - reason = (argc > 1) ? atoi(argv[1]) : HCI_OE_USER_ENDED_CONNECTION; - - err = hci_disconnect(dd, handle, reason, 10000); - if (err < 0) { - perror("Could not disconnect"); - exit(1); - } - - hci_close_dev(dd); -} - -static struct option lecup_options[] = { - { "help", 0, 0, 'h' }, - { "handle", 1, 0, 'H' }, - { "min", 1, 0, 'm' }, - { "max", 1, 0, 'M' }, - { "latency", 1, 0, 'l' }, - { "timeout", 1, 0, 't' }, - { 0, 0, 0, 0 } -}; - -static const char *lecup_help = - "Usage:\n" - "\tlecup \n" - "\tOptions:\n" - "\t -H, --handle <0xXXXX> LE connection handle\n" - "\t -m, --min Range: 0x0006 to 0x0C80\n" - "\t -M, --max Range: 0x0006 to 0x0C80\n" - "\t -l, --latency Slave latency. Range: 0x0000 to 0x03E8\n" - "\t -t, --timeout